commit 5127fd5866635a199a895214e8aa76ce8494deb2 from: jrmu date: Fri Dec 17 16:26:51 2021 UTC Import sources commit - /dev/null commit + 5127fd5866635a199a895214e8aa76ce8494deb2 blob - /dev/null blob + 3e84a31ee7ee6d92626fd8c07440e037e843aaa5 (mode 644) --- /dev/null +++ README.txt @@ -0,0 +1,48 @@ +This is the README.txt file for PmWiki, a wiki-based system for +collaborative creation and maintenance of websites. + +PmWiki is distributed with the following directories: + + docs/ Brief documentation, sample configuration scripts + local/ Configuration scripts + cookbook/ Recipes (add-ons) from the PmWiki Cookbook + pub/skins/ Layout templates ("skins" for custom look and feel) + pub/css/ Extra CSS stylesheet files + pub/guiedit/ Files for the Edit Form's GUIEdit module + scripts/ Scripts that are part of PmWiki + wikilib.d/ Bundled wiki pages, including + * a default Home Page + * PmWiki documentation pages + * some Site-oriented pages + +After PmWiki is installed the following directories may also exist: + + wiki.d/ Wiki pages + uploads/ Uploaded files (page attachments) + +For quick installation advice, see docs/INSTALL.txt. + +For more extensive information about installing PmWiki, visit + http://pmwiki.org/wiki/PmWiki/Installation + +For information about running PmWiki in standalone mode without +requiring a webserver, visit + http://pmwiki.org/wiki/Cookbook/Standalone + +PmWiki is Copyright 2001-2006 Patrick R. Michaud +pmichaud@pobox.com +http://www.pmichaud.com/ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +The GNU General Public License is distributed with this program +(see docs/COPYING.txt) and it is also available online at +http://www.fsf.org/licensing/licenses/gpl.txt . blob - /dev/null blob + d04c086134e22fcef1d63ef3f37ffdb95702ddf0 (mode 644) --- /dev/null +++ cookbook/.htaccess @@ -0,0 +1,19 @@ +# This file is cookbook/.htaccess -- the default distribution contains this +# file to prevent cookbook/ scripts from being accessed directly by browsers +# (this is a potential, albeit very unlikely, security hole). +# +# If you alter or replace this file, it will likely be overwritten when +# you upgrade from one version of PmWiki to another. Be sure to save +# a copy of your alterations in another location so you can restore them, +# and you might try changing this file to be read-only to prevent a PmWiki +# upgrade from overwriting your altered version. + + + Order Deny,Allow + Deny from all + + + + Require all denied + + blob - /dev/null blob + 3b349eebddd2a45aeac6d06e00fef79640107ecd (mode 644) --- /dev/null +++ docs/.htaccess @@ -0,0 +1 @@ +AddType text/plain .php blob - /dev/null blob + 881874c04988387f3c9b02cfa03a13c202605ade (mode 644) --- /dev/null +++ docs/COPYING.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. blob - /dev/null blob + bc37dceaf3e969016b15d37c9e153b4d389f2c66 (mode 644) --- /dev/null +++ docs/DOCUMENTATION.txt @@ -0,0 +1,10 @@ +Where is the documentation? + +PmWiki maintains its documentation as wiki pages. +If you already have PmWiki installed, then a local copy of +the documentation is available through PmWiki itself -- +see the "PmWiki.DocumentationIndex" page on your site. + +The documentation is also available online at +http://www.pmwiki.org/wiki/PmWiki/DocumentationIndex . + blob - /dev/null blob + 41dd12e608a87258a0df253631739e0d89c8f72b (mode 644) --- /dev/null +++ docs/INSTALL.txt @@ -0,0 +1,39 @@ +This is the INSTALL.txt file for PmWiki. This document provides +convenient steps so an administrator can have a PmWiki site up and +running quickly. More extensive information about installing PmWiki +is available at http://www.pmwiki.org/wiki/PmWiki/Installation . + +Once your site is up and running you will be able to read the bundled +documentation pages. + +Here are some quick steps to start you on your path toward a complete, +customized installation: + +1a) Put the software in a location accessible by your webserver. + +1b) PmWiki can also be run if no webserver is installed. See + http://pmwiki.org/wiki/Cookbook/Standalone + +2) Point your browser to pmwiki.php. + +3) You may see an error message saying that PmWiki needs to have + a writable wiki.d/ directory. If so, follow the directions to + establish one. This directory will hold your wiki page files. + +4) If you want a directory index file, create a file called index.php + in the main directory that contains the following single line of + text, purposefully without a closing "?>": + + $Now); + +## PmWiki allows a great deal of flexibility for creating custom markup. +## To add support for '*bold*' and '~italic~' markup (the single quotes +## are part of the markup), uncomment the following lines. +## (See PmWiki.CustomMarkup and the Cookbook for details and examples.) +# Markup("'~", "<'''''", "/'~(.*?)~'/", "$1"); # '~italic~' +# Markup("'*", "<'''''", "/'\\*(.*?)\\*'/", "$1"); # '*bold*' + +## If you want to have to approve links to external sites before they +## are turned into links, uncomment the line below. See PmWiki.UrlApprovals. +## Also, setting $UnapprovedLinkCountMax limits the number of unapproved +## links that are allowed in a page (useful to control wikispam). +# $UnapprovedLinkCountMax = 10; +# include_once("scripts/urlapprove.php"); + +## The following lines make additional editing buttons appear in the +## edit page for subheadings, lists, tables, etc. +# $GUIButtons['h2'] = array(400, '\\n!! ', '\\n', '$[Heading]', +# '$GUIButtonDirUrlFmt/h2.gif"$[Heading]"'); +# $GUIButtons['h3'] = array(402, '\\n!!! ', '\\n', '$[Subheading]', +# '$GUIButtonDirUrlFmt/h3.gif"$[Subheading]"'); +# $GUIButtons['indent'] = array(500, '\\n->', '\\n', '$[Indented text]', +# '$GUIButtonDirUrlFmt/indent.gif"$[Indented text]"'); +# $GUIButtons['outdent'] = array(510, '\\n-<', '\\n', '$[Hanging indent]', +# '$GUIButtonDirUrlFmt/outdent.gif"$[Hanging indent]"'); +# $GUIButtons['ol'] = array(520, '\\n# ', '\\n', '$[Ordered list]', +# '$GUIButtonDirUrlFmt/ol.gif"$[Ordered (numbered) list]"'); +# $GUIButtons['ul'] = array(530, '\\n* ', '\\n', '$[Unordered list]', +# '$GUIButtonDirUrlFmt/ul.gif"$[Unordered (bullet) list]"'); +# $GUIButtons['hr'] = array(540, '\\n----\\n', '', '', +# '$GUIButtonDirUrlFmt/hr.gif"$[Horizontal rule]"'); +# $GUIButtons['table'] = array(600, +# '||border=1 width=80%\\n||!Hdr ||!Hdr ||!Hdr ||\\n|| || || ||\\n|| || || ||\\n', '', '', +# '$GUIButtonDirUrlFmt/table.gif"$[Table]"'); blob - /dev/null blob + 9eb37fd0f6da0f04a68e70e82572e27f6266ff70 (mode 755) --- /dev/null +++ index.php @@ -0,0 +1 @@ + + Order Deny,Allow + Deny from all + + + + Require all denied + + blob - /dev/null blob + e1bd1be03a5e3da05ac22f3cb8005599d8f3572f (mode 644) --- /dev/null +++ local/localmap.txt @@ -0,0 +1,6 @@ +irc: irc: +ircs: ircs: +nntp: nntp: +xmpp: xmpp: +telnet: telnet: +ssh: ssh: blob - /dev/null blob + d7c96c3167ac06ce19aa1359c424cc50c99f0a59 (mode 755) --- /dev/null +++ pmwiki.php @@ -0,0 +1,2501 @@ + with your question(s) and I'll + provide explanations (and add comments) that answer them. + + Script maintained by Petko YOTOV www.pmwiki.org/petko + $Id: pmwiki.php 3643 2020-05-21 14:25:47Z petko $ +*/ +error_reporting(E_ALL ^ E_NOTICE); +StopWatch('PmWiki'); +@ini_set('magic_quotes_runtime', 0); +@ini_set('magic_quotes_sybase', 0); +if (@ini_get('pcre.backtrack_limit') < 1000000) + @ini_set('pcre.backtrack_limit', 1000000); +if (ini_get('register_globals')) + foreach($_REQUEST as $k=>$v) { + if (preg_match('/^(GLOBALS|_SERVER|_GET|_POST|_COOKIE|_FILES|_ENV|_REQUEST|_SESSION|FarmD|WikiDir)$/i', $k)) exit(); + ${$k}=''; unset(${$k}); + } +$UnsafeGlobals = array_keys($GLOBALS); $GCount=0; $FmtV=array(); +SDV($FarmD,dirname(__FILE__)); +SDV($WorkDir,'wiki.d'); +define('PmWiki',1); +if (preg_match('/\\w\\w:/', $FarmD)) exit(); +@include_once("$FarmD/scripts/version.php"); +$GroupPattern = '[[:upper:]][\\w]*(?:-\\w+)*'; +$NamePattern = '[[:upper:]\\d][\\w]*(?:-\\w+)*'; +$BlockPattern = 'form|div|table|t[rdh]|p|[uo]l|d[ltd]|h[1-6r]|pre|blockquote'; +$WikiWordPattern = '[[:upper:]][[:alnum:]]*(?:[[:upper:]][[:lower:]0-9]|[[:lower:]0-9][[:upper:]])[[:alnum:]]*'; +$WikiDir = new PageStore('wiki.d/{$FullName}'); +$WikiLibDirs = array(&$WikiDir,new PageStore('$FarmD/wikilib.d/{$FullName}')); +$PageFileEncodeFunction = 'PUE'; # only used if $WikiDir->encodefilenames is set +$PageFileDecodeFunction = 'urldecode'; +$LocalDir = 'local'; +$InterMapFiles = array("$FarmD/scripts/intermap.txt", + "$FarmD/local/farmmap.txt", '$SiteGroup.InterMap', 'local/localmap.txt'); +$Newline = "\263"; # deprecated, 2.0.0 +$KeepToken = "\034\034"; +$Now=time(); +define('READPAGE_CURRENT', $Now+604800); +$TimeFmt = '%B %d, %Y, at %I:%M %p'; +$TimeISOFmt = '%Y-%m-%dT%H:%M:%S'; +$TimeISOZFmt = '%Y-%m-%dT%H:%M:%SZ'; +$MessagesFmt = array(); +$BlockMessageFmt = "

$[This post has been blocked by the administrator]

"; +$EditFields = array('text'); +$EditFunctions = array('EditTemplate', 'RestorePage', 'ReplaceOnSave', + 'SaveAttributes', 'PostPage', 'PostRecentChanges', 'AutoCreateTargets', + 'PreviewPage'); +$EnablePost = 1; +$ChangeSummary = substr(preg_replace('/[\\x00-\\x1f]|=\\]/', '', + stripmagic(@$_REQUEST['csum'])), 0, 100); +$AsSpacedFunction = 'AsSpaced'; +$SpaceWikiWords = 0; +$RCDelimPattern = ' '; +$RecentChangesFmt = array( + '$SiteGroup.AllRecentChanges' => + '* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]', + '$Group.RecentChanges' => + '* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]'); +$UrlScheme = (@$_SERVER['HTTPS']=='on' || @$_SERVER['SERVER_PORT']==443) + ? 'https' : 'http'; +$ScriptUrl = $UrlScheme.'://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']; +$PubDirUrl = preg_replace('#/[^/]*$#', '/pub', $ScriptUrl, 1); +$HTMLVSpace = ""; +$HTMLPNewline = ''; +$MarkupFrame = array(); +$MarkupFrameBase = array('cs' => array(), 'vs' => '', 'ref' => 0, + 'closeall' => array(), 'is' => array(), + 'escape' => 1); +$WikiWordCountMax = 1000000; +$WikiWordCount['PmWiki'] = 1; +$TableRowIndexMax = 1; +$UrlExcludeChars = '<>"{}|\\\\^`()[\\]\''; +$QueryFragPattern = "[?#][^\\s$UrlExcludeChars]*"; +$SuffixPattern = '(?:-?[[:alnum:]]+)*'; +$LinkPageSelfFmt = "\$LinkText"; +$LinkPageExistsFmt = "\$LinkText"; +$LinkPageCreateFmt = + "\$LinkText?"; +$UrlLinkFmt = + "\$LinkText"; +umask(002); +$CookiePrefix = ''; +$SiteGroup = 'Site'; +$SiteAdminGroup = 'SiteAdmin'; +$DefaultGroup = 'Main'; +$DefaultName = 'HomePage'; +$GroupHeaderFmt = '(:include {$Group}.GroupHeader self=0 basepage={*$FullName}:)(:nl:)'; +$GroupFooterFmt = '(:nl:)(:include {$Group}.GroupFooter self=0 basepage={*$FullName}:)'; +$PagePathFmt = array('{$Group}.$1','$1.$1','$1.{$DefaultName}'); +$PageAttributes = array( + 'passwdread' => '$[Set new read password:]', + 'passwdedit' => '$[Set new edit password:]', + 'passwdattr' => '$[Set new attribute password:]'); +$XLLangs = array('en'); +if (preg_match('/^C$|\.UTF-?8/i',setlocale(LC_ALL,0))) + setlocale(LC_ALL,'en_US'); +$FmtP = array(); +$FmtPV = array( + # '$ScriptUrl' => 'PUE($ScriptUrl)', ## $ScriptUrl is special + '$PageUrl' => + 'PUE(($EnablePathInfo) + ? "$ScriptUrl/$group/$name" + : "$ScriptUrl?n=$group.$name")', + '$FullName' => '"$group.$name"', + '$Groupspaced' => '$AsSpacedFunction($group)', + '$Namespaced' => '$AsSpacedFunction($name)', + '$Group' => '$group', + '$Name' => '$name', + '$Titlespaced' => 'FmtPageTitle(@$page["title"], $name, 1)', + '$Title' => 'FmtPageTitle(@$page["title"], $name, 0)', + '$LastModifiedBy' => '@$page["author"]', + '$LastModifiedHost' => '@$page["host"]', + '$LastModified' => 'strftime($GLOBALS["TimeFmt"], $page["time"])', + '$LastModifiedSummary' => '@$page["csum"]', + '$LastModifiedTime' => '$page["time"]', + '$Description' => '@$page["description"]', + '$SiteGroup' => '$GLOBALS["SiteGroup"]', + '$SiteAdminGroup' => '$GLOBALS["SiteAdminGroup"]', + '$VersionNum' => '$GLOBALS["VersionNum"]', + '$Version' => '$GLOBALS["Version"]', + '$WikiTitle' => '$GLOBALS["WikiTitle"]', + '$Author' => 'NoCache($GLOBALS["Author"])', + '$AuthId' => 'NoCache($GLOBALS["AuthId"])', + '$DefaultGroup' => '$GLOBALS["DefaultGroup"]', + '$DefaultName' => '$GLOBALS["DefaultName"]', + '$BaseName' => 'MakeBaseName($pn)', + '$Action' => '$GLOBALS["action"]', + '$PasswdRead' => 'PasswdVar($pn, "read")', + '$PasswdEdit' => 'PasswdVar($pn, "edit")', + '$PasswdAttr' => 'PasswdVar($pn, "attr")', + ); +$SaveProperties = array('title', 'description', 'keywords'); +$PageTextVarPatterns = array( + 'var:' => '/^(:*[ \\t]*(\\w[-\\w]*)[ \\t]*:[ \\t]?)(.*)($)/m', + '(:var:...:)' => '/(\\(: *(\\w[-\\w]*) *:(?!\\))\\s?)(.*?)(:\\))/s' + ); + + +$WikiTitle = 'PmWiki'; +$Charset = 'ISO-8859-1'; +$HTTPHeaders = array( + "Expires: Tue, 01 Jan 2002 00:00:00 GMT", + "Cache-Control: no-store, no-cache, must-revalidate", + "Content-type: text/html; charset=ISO-8859-1;"); +$CacheActions = array('browse','diff','print'); +$EnableHTMLCache = 0; +$NoHTMLCache = 0; +$HTMLTagAttr = ''; +$HTMLDoctypeFmt = + " + \n"; +$HTMLStylesFmt['pmwiki'] = " + ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } + code.escaped { white-space: pre; } + .vspace { margin-top:1.33em; } + .indent { margin-left:40px; } + .outdent { margin-left:40px; text-indent:-40px; } + a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } + a.createlink { text-decoration:none; position:relative; top:-0.5em; + font-weight:bold; font-size:smaller; border-bottom:none; } + img { border:0px; } + "; +$HTMLHeaderFmt['styles'] = array( + ""); +$HTMLBodyFmt = "\n"; +$HTMLStartFmt = array('headers:',&$HTMLDoctypeFmt,&$HTMLHeaderFmt, + &$HTMLBodyFmt); +$HTMLEndFmt = "\n\n"; +$PageStartFmt = array(&$HTMLStartFmt,"\n
\n"); +$PageEndFmt = array('
',&$HTMLEndFmt); + +$HandleActions = array( + 'browse' => 'HandleBrowse', 'print' => 'HandleBrowse', + 'edit' => 'HandleEdit', 'source' => 'HandleSource', + 'attr' => 'HandleAttr', 'postattr' => 'HandlePostAttr', + 'logout' => 'HandleLogoutA', 'login' => 'HandleLoginA'); +$HandleAuth = array( + 'browse' => 'read', 'source' => 'read', 'print' => 'read', + 'edit' => 'edit', 'attr' => 'attr', 'postattr' => 'attr', + 'logout' => 'read', 'login' => 'login'); +$ActionTitleFmt = array( + 'edit' => '| $[Edit]', + 'attr' => '| $[Attributes]', + 'login' => '| $[Login]'); +$DefaultPasswords = array('admin'=>'@lock','read'=>'','edit'=>'','attr'=>''); +$AuthCascade = array('edit'=>'read', 'attr'=>'edit'); +$AuthList = array('' => 1, 'nopass:' => 1, '@nopass' => 1); +$SessionEncode = 'base64_encode'; +$SessionDecode = 'base64_decode'; + +$CallbackFnTemplates = array( + 'default' => '%s', + 'return' => 'return %s;', + 'markup_e' => 'extract($GLOBALS["MarkupToHTML"]); return %s;', + 'qualify' => 'extract($GLOBALS["tmp_qualify"]); return %s;', +); + +$Conditions['enabled'] = '(boolean)@$GLOBALS[$condparm]'; +$Conditions['false'] = 'false'; +$Conditions['true'] = 'true'; +$Conditions['group'] = + "(boolean)MatchPageNames(\$pagename, FixGlob(\$condparm, '$1$2.*'))"; +$Conditions['name'] = + "(boolean)MatchPageNames(\$pagename, FixGlob(\$condparm, '$1*.$2'))"; +$Conditions['match'] = 'preg_match("!$condparm!",$pagename)'; +$Conditions['authid'] = 'NoCache(@$GLOBALS["AuthId"] > "")'; +$Conditions['exists'] = "(boolean)ListPages(FixGlob( + str_replace(array('[[',']]'), array('', ''), \$condparm) , '$1*.$2'))"; +$Conditions['equal'] = 'CompareArgs($condparm) == 0'; +function CompareArgs($arg) + { $arg = ParseArgs($arg); return strcmp(@$arg[''][0], @$arg[''][1]); } + +$Conditions['auth'] = 'NoCache(CondAuth($pagename, $condparm))'; +function CondAuth($pagename, $condparm) { + global $HandleAuth; + @list($level, $pn) = explode(' ', $condparm, 2); + $pn = ($pn > '') ? MakePageName($pagename, $pn) : $pagename; + if (@$HandleAuth[$level]>'') $level = $HandleAuth[$level]; + return (boolean)RetrieveAuthPage($pn, $level, false, READPAGE_CURRENT); +} + +## CondExpr handles complex conditions (expressions) +## Portions Copyright 2005 by D. Faure (dfaure@cpan.org) +function CondExpr($pagename, $condname, $condparm) { + global $CondExprOps; + SDV($CondExprOps, 'and|x?or|&&|\\|\\||[!()]'); + if ($condname == '(' || $condname == '[') + $condparm = preg_replace('/[\\]\\)]\\s*$/', '', $condparm); + $condparm = str_replace('&&', '&&', $condparm); + $terms = preg_split("/(? $t) { + $t = trim($t); + if (preg_match("/^($CondExprOps)$/i", $t)) continue; + if ($t) $terms[$i] = CondText($pagename, "if $t", 'TRUE') ? '1' : '0'; + } + return @eval('return(' . implode(' ', $terms) . ');'); +} +$Conditions['expr'] = 'CondExpr($pagename, $condname, $condparm)'; +$Conditions['('] = 'CondExpr($pagename, $condname, $condparm)'; +$Conditions['['] = 'CondExpr($pagename, $condname, $condparm)'; + +$MarkupTable['_begin']['seq'] = 'B'; +$MarkupTable['_end']['seq'] = 'E'; +Markup('fulltext','>_begin'); +Markup('split','>fulltext',"\n", + '$RedoMarkupLine=1; return explode("\n",$x);'); +Markup('directives','>split'); +Markup('inline','>directives'); +Markup('links','>inline'); +Markup('block','>links'); +Markup('style','>block'); +Markup('closeall', '_begin', + '/^\\(:closeall:\\)$/', "MarkupMarkupClose"); +function MarkupMarkupClose() { return '<:block>' . MarkupClose(); } + +$ImgExtPattern="\\.(?:gif|jpg|jpeg|png|svgz?|GIF|JPG|JPEG|PNG|SVGZ?)"; +$ImgTagFmt="\$LinkAlt"; + +$BlockMarkups = array( + 'block' => array('','','',0), + 'ul' => array('
  • ','
  • ','
',1), + 'dl' => array('
','','
',1), + 'ol' => array('
  1. ','
  2. ','
',1), + 'p' => array('

','','

',0), + 'indent' => + array("
","
",'
',1), + 'outdent' => + array("
","
",'
',1), + 'pre' => array('
','','
',0), + 'table' => array("",'','
',0)); + +foreach(array('http:','https:','mailto:','ftp:','news:','gopher:','nap:', + 'file:', 'tel:', 'geo:') as $m) + { $LinkFunctions[$m] = 'LinkIMap'; $IMap[$m]="$m$1"; } +$LinkFunctions['<:page>'] = 'LinkPage'; + +$q = preg_replace('/(\\?|%3f)([-\\w]+=)/i', '&$2', @$_SERVER['QUERY_STRING']); +if ($q != @$_SERVER['QUERY_STRING']) { + unset($_GET); + parse_str($q, $_GET); + $_REQUEST = array_merge($_REQUEST, $_GET, $_POST); +} + +if (isset($_GET['action'])) $action = $_GET['action']; +elseif (isset($_POST['action'])) $action = $_POST['action']; +else $action = 'browse'; + +$pagename = @$_REQUEST['n']; +if (!$pagename) $pagename = @$_REQUEST['pagename']; +if (!$pagename && + preg_match('!^'.preg_quote($_SERVER['SCRIPT_NAME'],'!').'/?([^?]*)!', + $_SERVER['REQUEST_URI'],$match)) + $pagename = urldecode($match[1]); +if (preg_match('/[\\x80-\\xbf]/',$pagename)) + $pagename=utf8_decode($pagename); +$pagename = preg_replace('![^[:alnum:]\\x80-\\xff]+$!','',$pagename); +$pagename_unfiltered = $pagename; +$pagename = preg_replace('![${}\'"\\\\]+!', '', $pagename); +$FmtPV['$RequestedPage'] = 'PHSC($GLOBALS["pagename_unfiltered"], ENT_QUOTES)'; +$Cursor['*'] = &$pagename; +if (function_exists("date_default_timezone_get") ) { # fix PHP5.3 warnings + @date_default_timezone_set(@date_default_timezone_get()); +} + +$DenyHtaccessContent = << + Order Deny,Allow + Deny from all + + + + Require all denied + + +EOF; + +if (file_exists("$FarmD/local/farmconfig.php")) + include_once("$FarmD/local/farmconfig.php"); +if (IsEnabled($EnableLocalConfig,1)) { + if (file_exists("$LocalDir/config.php")) + include_once("$LocalDir/config.php"); + elseif (file_exists('config.php')) + include_once('config.php'); +} + +SDV($CurrentTime, strftime($TimeFmt, $Now)); +SDV($CurrentTimeISO, strftime($TimeISOFmt, $Now)); + +if (IsEnabled($EnableStdConfig,1)) + include_once("$FarmD/scripts/stdconfig.php"); + +if (isset($PostConfig) && is_array($PostConfig)) { + asort($PostConfig, SORT_NUMERIC); + foreach ($PostConfig as $k=>$v) { + if (!$k || !$v || $v<50) continue; + if (function_exists($k)) $k($pagename); + elseif (file_exists($k)) include_once($k); + } +} + +function pmsetcookie($name, $val="", $exp=0, $path="", $dom="", $secure=null, $httponly=null) { + global $EnableCookieSecure, $EnableCookieHTTPOnly, $SetCookieFunction; + if(IsEnabled($SetCookieFunction)) + return $SetCookieFunction($name, $val, $exp, $path, $dom, $secure, $httponly); + if (is_null($secure)) $secure = IsEnabled($EnableCookieSecure, false); + if (is_null($httponly)) $httponly = IsEnabled($EnableCookieHTTPOnly, false); + setcookie($name, $val, $exp, $path, $dom, $secure, $httponly); +} +if (IsEnabled($EnableCookieSecure, false)) + @ini_set('session.cookie_secure', $EnableCookieSecure); +if (IsEnabled($EnableCookieHTTPOnly, false)) + @ini_set('session.cookie_httponly', $EnableCookieHTTPOnly); + +foreach((array)$InterMapFiles as $f) { + $f = FmtPageName($f, $pagename); + if (($v = @file($f))) + $v = preg_replace('/^\\s*(?>\\w[-\\w]*)(?!:)/m', '$0:', implode('', $v)); + else if (@PageExists($f)) { + $p = ReadPage($f, READPAGE_CURRENT); + $v = @$p['text']; + } else continue; + if (!preg_match_all("/^\\s*(\\w[-\\w]*:)[^\\S\n]+(\\S*)/m", $v, + $match, PREG_SET_ORDER)) continue; + foreach($match as $m) { + if (strpos($m[2], '$1') === false) $m[2] .= '$1'; + $LinkFunctions[$m[1]] = 'LinkIMap'; + $IMap[$m[1]] = FmtPageName($m[2], $pagename); + } +} + +$keys = array_keys($AuthCascade); +while ($keys) { + $k = array_shift($keys); $t = $AuthCascade[$k]; + if (in_array($t, $keys)) + { unset($AuthCascade[$k]); $AuthCascade[$k] = $t; array_push($keys, $k); } +} + +$LinkPattern = implode('|',array_keys($LinkFunctions)); # after InterMaps +SDV($LinkPageCreateSpaceFmt,$LinkPageCreateFmt); +$ActionTitle = FmtPageName(@$ActionTitleFmt[$action], $pagename); + + +if (!@$HandleActions[$action] || !function_exists($HandleActions[$action])) + $action='browse'; +if (IsEnabled($EnableActions, 1)) HandleDispatch($pagename, $action); +Lock(0); +return; + +## HandleDispatch() is used to dispatch control to the appropriate +## action handler with the appropriate permissions. +## If a message is supplied, it is added to $MessagesFmt. +function HandleDispatch($pagename, $action, $msg=NULL) { + global $MessagesFmt, $HandleActions, $HandleAuth; + if ($msg) $MessagesFmt[] = "
$msg
"; + $fn = $HandleActions[$action]; + $auth = @$HandleAuth[$action]; + if (!$auth) $auth = 'read'; + return $fn($pagename, $auth); +} + +## helper functions +function stripmagic($x) { + $fn = 'get_magic_quotes_gpc'; + if (!function_exists($fn)) return $x; + if (is_array($x)) { + foreach($x as $k=>$v) $x[$k] = stripmagic($v); + return $x; + } + return @$fn() ? stripslashes($x) : $x; +} +function pre_r(&$x) + { return '
'.PHSC(print_r($x, true)).'
'; } +function PSS($x) + { return str_replace('\\"','"',$x); } +function PVS($x) + { return preg_replace("/\n[^\\S\n]*(?=\n)/", "\n<:vspace>", $x); } +function PVSE($x) { return PVS(PHSC($x, ENT_NOQUOTES)); } +function PZZ($x,$y='') { return ''; } +function PRR($x=NULL) + { if ($x || is_null($x)) $GLOBALS['RedoMarkupLine']++; return $x; } +function PUE($x) + { return preg_replace_callback('/[\\x80-\\xff \'"<>]/', "cb_pue", $x); } +function cb_pue($m) { return '%'.dechex(ord($m[0])); } +function PQA($x) { + $out = ''; + if (preg_match_all('/([a-zA-Z][-\\w]*)\\s*=\\s*("[^"]*"|\'[^\']*\'|\\S*)/', + $x, $attr, PREG_SET_ORDER)) { + foreach($attr as $a) { + if (preg_match('/^on/i', $a[1])) continue; + $val = preg_replace('/^([\'"]?)(.*)\\1$/', '$2', $a[2]); + $val = str_replace("'", ''', $val); + $out .= "{$a[1]}='$val' "; + } + } + return $out; +} +function SDV(&$v,$x) { if (!isset($v)) $v=$x; } +function SDVA(&$var,$val) + { foreach($val as $k=>$v) if (!isset($var[$k])) $var[$k]=$v; } +function IsEnabled(&$var,$f=0) + { return (isset($var)) ? $var : $f; } +function SetTmplDisplay($var, $val) + { NoCache(); $GLOBALS['TmplDisplay'][$var] = $val; } +function NoCache($x = '') { $GLOBALS['NoHTMLCache'] |= 1; return $x; } +function ParseArgs($x, $optpat = '(?>(\\w+)[:=])') { + $z = array(); + preg_match_all("/($optpat|[-+])?(\"[^\"]*\"|'[^']*'|\\S+)/", + $x, $terms, PREG_SET_ORDER); + foreach($terms as $t) { + $v = preg_replace('/^([\'"])?(.*)\\1$/', '$2', $t[3]); + if ($t[2]) { $z['#'][] = $t[2]; $z[$t[2]] = $v; } + else { $z['#'][] = $t[1]; $z[$t[1]][] = $v; } + $z['#'][] = $v; + } + return $z; +} +function PHSC($x, $flags=ENT_COMPAT, $enc=null, $dbl_enc=true) { # for PHP 5.4 + if (is_null($enc)) $enc = "ISO-8859-1"; # single-byte charset + if (! is_array($x)) return @htmlspecialchars($x, $flags, $enc, $dbl_enc); + foreach($x as $k=>$v) $x[$k] = PHSC($v, $flags, $enc, $dbl_enc); + return $x; +} +function PCCF($code, $template = 'default', $args = '$m') { + global $CallbackFnTemplates, $CallbackFunctions, $PCCFOverrideFunction; + if ($PCCFOverrideFunction && is_callable($PCCFOverrideFunction)) + return $PCCFOverrideFunction($code, $template, $args); + + if (!isset($CallbackFnTemplates[$template])) + Abort("No \$CallbackFnTemplates[$template])."); + $code = sprintf($CallbackFnTemplates[$template], $code); + if (!isset($CallbackFunctions[$code])) { + $fn = create_function($args, $code); # called by old addon|skin|recipe needing update, see pmwiki.org/Troubleshooting + if ($fn) $CallbackFunctions[$code] = $fn; + else StopWatch("Failed to create callback function: ".PHSC($code)); + } + return $CallbackFunctions[$code]; +} +function PPRE($pat, $rep, $x) { + $lambda = PCCF("return $rep;"); + return preg_replace_callback($pat, $lambda, $x); +} +function PPRA($array, $x) { + foreach((array)$array as $pat => $rep) { + $fmt = $x; # for $FmtP + if (is_callable($rep) && $rep != '_') $x = preg_replace_callback($pat,$rep,$x); + else $x = preg_replace($pat,$rep,$x);# simple text OR called by old addon|skin|recipe needing update, see pmwiki.org/Troubleshooting + } + return $x; +} +## callback functions +class PPRC { # PmWiki preg replace callbacks + pass local vars + var $vars; + function __construct($vars = false) { + if ($vars && !is_null($vars)) $this->vars = $vars; + } + function pagevar($m) { # called from FmtPageName + $pagename = $this->vars; + return PageVar($pagename, $m[1]); + } +} + +# restores kept/protected strings +function cb_expandkpv($m) { return $GLOBALS['KPV'][$m[1]]; } + +# make a string upper or lower case in various patterns +function cb_toupper($m) { return strtoupper($m[1]); } +function cb_tolower($m) { return strtolower($m[1]); } + +function pmcrypt($str, $salt=null) { + if ($salt && preg_match('/^(-?@|\\*$)/', $salt)) return false; + if (!is_null($salt)) return crypt($str, $salt); + + if (function_exists('password_hash')) + return password_hash($str, PASSWORD_DEFAULT); + return crypt($str); +} + +function StopWatch($x) { + global $StopWatch, $EnableStopWatch; + if (!$EnableStopWatch) return; + static $wstart = 0, $ustart = 0; + list($usec,$sec) = explode(' ',microtime()); + $wtime = ($sec+$usec); + if (!$wstart) $wstart = $wtime; + if ($EnableStopWatch != 2) + { $StopWatch[] = sprintf("%05.2f %s", $wtime-$wstart, $x); return; } + $dat = getrusage(); + $utime = ($dat['ru_utime.tv_sec']+$dat['ru_utime.tv_usec']/1000000); + if (!$ustart) $ustart=$utime; + $StopWatch[] = + sprintf("%05.2f %05.2f %s", $wtime-$wstart, $utime-$ustart, $x); +} + + +## DRange converts a variety of string formats into date (ranges). +## It returns the start and end timestamps (+1 second) of the specified date. +function DRange($when) { + global $Now; + ## unix/posix @timestamp dates + if (preg_match('/^\\s*@(\\d+)\\s*(.*)$/', $when, $m)) { + $t0 = $m[2] ? strtotime($m[2], $m[1]) : $m[1]; + return array($t0, $t0+1); + } + ## ISO-8601 dates + $dpat = '/ + (?'' && @$m[5] == '') { @$n[4]++; } + ## if no day given, assume 1st of month and full month range + if (@$m[4] == '') { $m[4] = 1; $n[4] = 1; $n[3]++; } + ## if no seconds given, assume range of 1 minute (except when full day) + if (@$m[7]>'' && @$m[8] == '') { @$n[7]++; } + $t0 = @mktime($m[5], $m[7], $m[8], $m[3], $m[4], $m[1]); + $t1 = @mktime($n[5], $n[7], $n[8], $n[3], $n[4], $n[1]); + return array($t0, $t1); + } + ## now, today, tomorrow, yesterday + NoCache(); + if ($when == 'now') return array($Now, $Now+1); + $m = localtime(time()); + if ($when == 'tomorrow') { $m[3]++; $when = 'today'; } + if ($when == 'yesterday') { $m[3]--; $when = 'today'; } + if ($when == 'today') + return array(mktime(0, 0, 0, $m[4]+1, $m[3] , $m[5]+1900), + mktime(0, 0, 0, $m[4]+1, $m[3]+1, $m[5]+1900)); + if (preg_match('/^\\s*$/', $when)) return array(-1, -1); + $t0 = strtotime($when); + $t1 = strtotime("+1 day", $t0); + return array($t0, $t1); +} + +## DiffTimeCompact subtracts 2 timestamps and outputs a compact +## human-readable delay in hours, days, weeks, months or years +function DiffTimeCompact($time, $time2=null, $precision=1) { + if(is_null($time2)) $time2 = $GLOBALS['Now']; + $suffix = explode(',', XL('h,d,w,m,y')); + $x = $hours = abs($time2 - $time)/3600; + if($x<24) return round($x,$precision).$suffix[0]; + $x /= 24; if($x<14) return round($x,$precision).$suffix[1]; + $x /= 7; if($x< 9) return round($x,$precision).$suffix[2]; + $x = $hours/2/365.2425; if($x<24) return round($x,$precision).$suffix[3]; + return round($hours/24/365.2425,$precision).$suffix[4]; +} + +## FileSizeCompact outputs a human readable file size +## with an appropriate suffix. +## Note: unreliable filemtime()/stat() over 2GB @ 32bit +function FileSizeCompact($n, $precision=1) { + if(!(float)$n) return 0; + $units = 'bkMGTPEZY'; + $b = log((float)$n, 1024); + $fb = floor($b); + return round(pow(1024,$b-$fb),$precision).@$units[$fb]; +} + +## AsSpaced converts a string with WikiWords into a spaced version +## of that string. (It can be overridden via $AsSpacedFunction.) +function AsSpaced($text) { + $text = preg_replace("/([[:lower:]\\d])([[:upper:]])/", '$1 $2', $text); + $text = preg_replace('/([^-\\d])(\\d[-\\d]*( |$))/','$1 $2',$text); + return preg_replace("/([[:upper:]])([[:upper:]][[:lower:]\\d])/", + '$1 $2', $text); +} + +## Lock is used to make sure only one instance of PmWiki is running when +## files are being written. It does not "lock pages" for editing. +function Lock($op) { + global $WorkDir, $LockFile, $EnableReadOnly; + if ($op > 0 && IsEnabled($EnableReadOnly, 0)) + Abort('Cannot modify site -- $EnableReadOnly is set', 'readonly'); + SDV($LockFile, "$WorkDir/.flock"); + mkdirp(dirname($LockFile)); + static $lockfp,$curop; + if (!$lockfp) $lockfp = @fopen($LockFile, "w"); + if (!$lockfp) { + if ($op <= 0) return; + @unlink($LockFile); + $lockfp = fopen($LockFile,"w") or + Abort('Cannot acquire lockfile', 'flock'); + fixperms($LockFile); + } + if ($op<0) { flock($lockfp,LOCK_UN); fclose($lockfp); $lockfp=0; $curop=0; } + elseif ($op==0) { flock($lockfp,LOCK_UN); $curop=0; } + elseif ($op==1 && $curop<1) + { session_write_close(); flock($lockfp,LOCK_SH); $curop=1; } + elseif ($op==2 && $curop<2) + { session_write_close(); flock($lockfp,LOCK_EX); $curop=2; } +} + +## mkdirp creates a directory and its parents as needed, and sets +## permissions accordingly. +function mkdirp($dir) { + global $ScriptUrl; + if (file_exists($dir)) return; + if (!file_exists(dirname($dir))) mkdirp(dirname($dir)); + if (mkdir($dir, 0777)) { + fixperms($dir); + if (@touch("$dir/xxx")) { unlink("$dir/xxx"); return; } + rmdir($dir); + } + $parent = realpath(dirname($dir)); + $bdir = basename($dir); + $perms = decoct(fileperms($parent) & 03777); + $msg = "PmWiki needs to have a writable $dir/ directory + before it can continue. You can create the directory manually + by executing the following commands on your server: +
    mkdir $parent/$bdir\n    chmod 777 $parent/$bdir
+ Then, reload this page."; + $safemode = ini_get('safe_mode'); + if (!$safemode) $msg .= "

Or, for a slightly more + secure installation, try executing
    chmod 2777 $parent
+ on your server and following + this link. Afterwards you can restore the permissions to + their current setting by executing
    chmod $perms $parent
."; + Abort($msg); +} + +## fixperms attempts to correct permissions on a file or directory +## so that both PmWiki and the account (current dir) owner can manipulate it +function fixperms($fname, $add = 0, $set = 0) { + clearstatcache(); + if (!file_exists($fname)) Abort('?no such file'); + if ($set) { # advanced admins, $UploadPermSet + if (fileperms($fname) != $set) @chmod($fname,$set); + } + else { + $bp = 0; + if (fileowner($fname)!=@fileowner('.') && @fileowner('.')!==0) + $bp = (is_dir($fname)) ? 007 : 006; + if (filegroup($fname)==@filegroup('.')) $bp <<= 3; + $bp |= $add; + if ($bp && (fileperms($fname) & $bp) != $bp) + @chmod($fname,fileperms($fname)|$bp); + } +} + +## GlobToPCRE converts wildcard patterns into pcre patterns for +## inclusion and exclusion. Wildcards beginning with '-' or '!' +## are treated as things to be excluded. +function GlobToPCRE($pat) { + $pat = preg_quote($pat, '/'); + $pat = str_replace(array('\\*', '\\?', '\\[', '\\]', '\\^', '\\-', '\\!'), + array('.*', '.', '[', ']', '^', '-', '!'), $pat); + $excl = array(); $incl = array(); + foreach(preg_split('/,+\s?/', $pat, -1, PREG_SPLIT_NO_EMPTY) as $p) { + if ($p[0] == '-' || $p[0] == '!') $excl[] = '^'.substr($p, 1).'$'; + else $incl[] = "^$p$"; + } + return array(implode('|', $incl), implode('|', $excl)); +} + +## FixGlob changes wildcard patterns without '.' to things like +## '*.foo' (name matches) or 'foo.*' (group matches). +function FixGlob($x, $rep = '$1*.$2') { + return preg_replace('/([\\s,][-!]?)([^\\/.\\s,]+)(?=[\\s,])/', $rep, ",$x,"); +} + +## MatchPageNames reduces $pagelist to those pages with names +## matching the pattern(s) in $pat. Patterns can be either +## regexes to include ('/'), regexes to exclude ('!'), or +## wildcard patterns (all others). +function MatchPageNames($pagelist, $pat) { + # Note: MatchNames() is the generic function matching patterns, + # works for attachments and other arrays. We can commit to + # keep it generic, even if we someday change MatchPageNames(). + return MatchNames($pagelist, $pat); +} +function MatchNames($list, $pat) { + global $Charset, $EnableRangeMatchUTF8; + # allow range matches in utf8; doesn't work on pmwiki.org and possibly elsewhere + $pcre8 = (IsEnabled($EnableRangeMatchUTF8,0) && $Charset=='UTF-8')? 'u' : ''; + $list = (array)$list; + foreach((array)$pat as $p) { + if (count($list) < 1) break; + if (!$p) continue; + switch ($p[0]) { + case '/': + $list = preg_grep($p, $list); + break; + case '!': + $list = array_diff($list, preg_grep($p, $list)); + break; + default: + list($inclp, $exclp) = GlobToPCRE(str_replace('/', '.', $p)); + if ($exclp) + $list = array_diff($list, preg_grep("/$exclp/i$pcre8", $list)); + if ($inclp) + $list = preg_grep("/$inclp/i$pcre8", $list); + } + } + return $list; +} + +## ResolvePageName "normalizes" a pagename based on the current +## settings of $DefaultPage and $PagePathFmt. It's normally used +## during initialization to fix up any missing or partial pagenames. +function ResolvePageName($pagename) { + global $DefaultPage, $DefaultGroup, $DefaultName, + $GroupPattern, $NamePattern, $EnableFixedUrlRedirect; + SDV($DefaultPage, "$DefaultGroup.$DefaultName"); + $pagename = preg_replace('!([./][^./]+)\\.html?$!', '$1', $pagename); + if ($pagename == '') return $DefaultPage; + $p = MakePageName($DefaultPage, $pagename); + if (!preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $p)) { + header('HTTP/1.1 404 Not Found'); + Abort("\$[?invalid page name] \"$p\""); + } + if (preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $pagename)) + return $p; + if (IsEnabled($EnableFixedUrlRedirect, 1) + && $p && (PageExists($p) || preg_match('/[\\/.]/', $pagename))) + { Redirect($p); exit(); } + return MakePageName($DefaultPage, "$pagename.$pagename"); +} + +## MakePageName is used to convert a string $str into a fully-qualified +## pagename. If $str doesn't contain a group qualifier, then +## MakePageName uses $basepage and $PagePathFmt to determine the +## group of the returned pagename. +function MakePageName($basepage, $str) { + global $MakePageNameFunction, $PageNameChars, $PagePathFmt, + $MakePageNamePatterns, $MakePageNameSplitPattern; + if (@$MakePageNameFunction) return $MakePageNameFunction($basepage, $str); + SDV($PageNameChars,'-[:alnum:]'); + SDV($MakePageNamePatterns, array( + "/'/" => '', # strip single-quotes + "/[^$PageNameChars]+/" => ' ', # convert everything else to space + '/((^|[^-\\w])\\w)/' => 'cb_toupper', # CamelCase + '/ /' => '')); + SDV($MakePageNameSplitPattern, '/[.\\/]/'); + $str = preg_replace('/[#?].*$/', '', $str); + $m = preg_split($MakePageNameSplitPattern, $str); + if (count($m)<1 || count($m)>2 || $m[0]=='') return ''; + ## handle "Group.Name" conversions + if (@$m[1] > '') { + $group = PPRA($MakePageNamePatterns, $m[0]); + $name = PPRA($MakePageNamePatterns, $m[1]); + return "$group.$name"; + } + $name = PPRA($MakePageNamePatterns, $m[0]); + $isgrouphome = count($m) > 1; + foreach((array)$PagePathFmt as $pg) { + if ($isgrouphome && strncmp($pg, '$1.', 3) !== 0) continue; + $pn = FmtPageName(str_replace('$1', $name, $pg), $basepage); + if (PageExists($pn)) return $pn; + } + if ($isgrouphome) { + foreach((array)$PagePathFmt as $pg) + if (strncmp($pg, '$1.', 3) == 0) + return FmtPageName(str_replace('$1', $name, $pg), $basepage); + return "$name.$name"; + } + return preg_replace('/[^\\/.]+$/', $name, $basepage); +} + + +## MakeBaseName uses $BaseNamePatterns to return the "base" form +## of a given pagename -- i.e., stripping any recipe-defined +## prefixes or suffixes from the page. +function MakeBaseName($pagename, $patlist = NULL) { + global $BaseNamePatterns; + if (is_null($patlist)) $patlist = (array)@$BaseNamePatterns; + foreach($patlist as $pat => $rep) + $pagename = preg_replace($pat, $rep, $pagename); # TODO + return $pagename; +} + + +## PCache caches basic information about a page and its attributes-- +## usually everything except page text and page history. This makes +## for quicker access to certain values in PageVar below. +function PCache($pagename, $page) { + global $PCache; + foreach($page as $k=>$v) + if ($k!='text' && strpos($k,':')===false) $PCache[$pagename][$k]=$v; +} + +## SetProperty saves a page property into $PCache. For convenience +## it returns the $value of the property just set. If $sep is supplied, +## then $value is appended to the current property (with $sep as +## as separator) instead of replacing it. If $keep is suplied and the +## property already exists, then $value will be ignored. +function SetProperty($pagename, $prop, $value, $sep=NULL, $keep=NULL) { + global $PCache, $KeepToken; + NoCache(); + $prop = "=p_$prop"; + $value = preg_replace_callback("/$KeepToken(\\d.*?)$KeepToken/", + "cb_expandkpv", $value); + if (!is_null($sep) && isset($PCache[$pagename][$prop])) + $value = $PCache[$pagename][$prop] . $sep . $value; + if (is_null($keep) || !isset($PCache[$pagename][$prop])) + $PCache[$pagename][$prop] = $value; + return $PCache[$pagename][$prop]; +} + + +## PageTextVar loads a page's text variables (defined by +## $PageTextVarPatterns) into a page's $PCache entry, and returns +## the property associated with $var. +function PageTextVar($pagename, $var) { + global $PCache, $PageTextVarPatterns, $MaxPageTextVars, $DefaultUnsetPageTextVars, $DefaultEmptyPageTextVars; + SDV($MaxPageTextVars, 500); + static $status; + if (@$status["$pagename:$var"]++ > $MaxPageTextVars) return ''; + if (!@$PCache[$pagename]['=pagetextvars']) { + $pc = &$PCache[$pagename]; + $pc['=pagetextvars'] = 1; + $page = RetrieveAuthPage($pagename, 'read', false, READPAGE_CURRENT); + if ($page) { + foreach((array)$PageTextVarPatterns as $pat) + if (preg_match_all($pat, IsEnabled($pc['=preview'],@$page['text']), + $match, PREG_SET_ORDER)) + foreach($match as $m) { + $t = preg_replace("/\\{\\$:{$m[2]}\\}/", '', $m[3]); + $pc["=p_{$m[2]}"] = Qualify($pagename, $t); + } + } + } + if (! isset($PCache[$pagename]["=p_$var"]) && is_array($DefaultUnsetPageTextVars)) { + foreach($DefaultUnsetPageTextVars as $k=>$v) { + if (count(MatchNames($var, $k))) { + $PCache[$pagename]["=p_$var"] = $v; + break; + } + } + SDV($PCache[$pagename]["=p_$var"], ''); # to avoid re-loop + } + elseif (@$PCache[$pagename]["=p_$var"] == '' && is_array($DefaultEmptyPageTextVars)) { + foreach($DefaultEmptyPageTextVars as $k=>$v) { + if (count(MatchNames($var, $k))) { + $PCache[$pagename]["=p_$var"] = $v; + break; + } + } + SDV($PCache[$pagename]["=p_$var"], ''); # to avoid re-loop + } + return @$PCache[$pagename]["=p_$var"]; +} + + +function PageVar($pagename, $var, $pn = '') { + global $Cursor, $PCache, $FmtPV, $AsSpacedFunction, $ScriptUrl, + $EnablePathInfo; + if ($var == '$ScriptUrl') return PUE($ScriptUrl); + if ($pn) { + $pn = isset($Cursor[$pn]) ? $Cursor[$pn] : MakePageName($pagename, $pn); + } else $pn = $pagename; + if ($pn) { + if (preg_match('/^(.+)[.\\/]([^.\\/]+)$/', $pn, $match) + && !isset($PCache[$pn]['time']) + && (!@$FmtPV[$var] || strpos($FmtPV[$var], '$page') !== false)) { + $page = ReadPage($pn, READPAGE_CURRENT); + PCache($pn, $page); + } + @list($d, $group, $name) = $match; + $page = &$PCache[$pn]; + if (strpos(@$FmtPV[$var], '$authpage') !== false) { + if (!isset($page['=auth']['read'])) { + $x = RetrieveAuthPage($pn, 'read', false, READPAGE_CURRENT); + if ($x) PCache($pn, $x); + } + if (@$page['=auth']['read']) $authpage = &$page; + } + } else { $group = ''; $name = ''; } + if (@$FmtPV[$var]) return eval("return ({$FmtPV[$var]});"); + if (strncmp($var, '$:', 2)==0) return PageTextVar($pn, substr($var, 2)); + return ''; +} + + +## FmtPageName handles $[internationalization] and $Variable +## substitutions in strings based on the $pagename argument. +function FmtPageName($fmt, $pagename) { + # Perform $-substitutions on $fmt relative to page given by $pagename + global $GroupPattern, $NamePattern, $EnablePathInfo, $ScriptUrl, + $GCount, $UnsafeGlobals, $FmtV, $FmtP, $FmtPV, $PCache, $AsSpacedFunction; + if (strpos($fmt,'$')===false) return $fmt; + $fmt = preg_replace_callback('/\\$([A-Z]\\w*Fmt)\\b/','cb_expandglobal',$fmt); + $fmt = preg_replace_callback('/\\$\\[(?>([^\\]]+))\\]/',"cb_expandxlang",$fmt); + $fmt = str_replace('{$ScriptUrl}', '$ScriptUrl', $fmt); + $pprc = new PPRC($pagename); + $fmt = preg_replace_callback('/\\{\\*?(\\$[A-Z]\\w+)\\}/', + array($pprc, 'pagevar'), $fmt); + if (strpos($fmt,'$')===false) return $fmt; + if ($FmtP) $fmt = PPRA($FmtP, $fmt); # FIXME + static $pv, $pvpat; + if ($pv != count($FmtPV)) { + $pvpat = str_replace('$', '\\$', implode('|', array_keys($FmtPV))); + $pv = count($FmtPV); + } + $fmt = preg_replace_callback("/($pvpat)\\b/", array($pprc, 'pagevar'), $fmt); + $fmt = preg_replace_callback('!\\$ScriptUrl/([^?#\'"\\s<>]+)!', + 'cb_expandscripturl', $fmt); + if (strpos($fmt,'$')===false) return $fmt; + static $g; + if ($GCount != count($GLOBALS)+count($FmtV)) { + $g = array(); + foreach($GLOBALS as $n=>$v) { + if (is_array($v) || is_object($v) || + isset($FmtV["\$$n"]) || in_array($n,$UnsafeGlobals)) continue; + $g["\$$n"] = $v; + } + $GCount = count($GLOBALS)+count($FmtV); + krsort($g); reset($g); + } + $fmt = str_replace(array_keys($g),array_values($g),$fmt); + $fmt = preg_replace_callback('/(?>(\\$[[:alpha:]]\\w+))/', + "cb_expandfmtv", $fmt); + return $fmt; +} +function cb_expandglobal($m){ return @$GLOBALS[$m[1]]; } +function cb_expandxlang ($m){ return NoCache(XL($m[1])); } +function cb_expandfmtv ($m){ + return isset($GLOBALS['FmtV'][$m[1]]) ? $GLOBALS['FmtV'][$m[1]] : $m[1]; +} +function cb_expandscripturl($m) { + global $EnablePathInfo, $ScriptUrl; + return (@$EnablePathInfo) ? "$ScriptUrl/" . PUE($m[1]) + : "$ScriptUrl?n=".str_replace('/','.',PUE($m[1])); +} + + +## FmtPageTitle returns the page title, or the page name. +## It localizes standard technical pages (RecentChanges...) +function FmtPageTitle($title, $name, $spaced=0) { + if ($title>'') return str_replace("$", "$", $title); + global $SpaceWikiWords, $AsSpacedFunction; + if (preg_match("/^(Site(Admin)? + |(All)?(Site|Group)(Header|Footer|Attributes) + |(Side|Left|Right)Bar + |(Wiki)?Sand[Bb]ox + |(All)?Recent(Changes|Uploads)|(Auth|Edit)Form + |InterMap|PageActions|\\w+QuickReference|\\w+Templates + |NotifyList|AuthUser|ApprovedUrls|(Block|Auth)List + )$/x", $name) && $name != XL($name)) + return XL($name); + return ($spaced || $SpaceWikiWords) ? $AsSpacedFunction($name) : $name; +} + +## FmtTemplateVars uses $vars to replace all occurrences of +## {$$key} in $text with $vars['key']. +function FmtTemplateVars($text, $vars, $pagename = NULL) { + global $FmtPV, $EnableUndefinedTemplateVars; + if ($pagename) { + $pat = implode('|', array_map('preg_quote', array_keys($FmtPV))); + $pprc = new PPRC($pagename); + $text = preg_replace_callback("/\\{\\$($pat)\\}/", + array($pprc, 'pagevar'), $text); + } + foreach(preg_grep('/^[\\w$]/', array_keys($vars)) as $k) + if (!is_array($vars[$k])) + $text = str_replace("{\$\$$k}", @$vars[$k], $text); + if (! IsEnabled($EnableUndefinedTemplateVars, 0)) + $text = preg_replace("/\\{\\$\\$\\w+\\}/", '', $text); + return $text; +} + +## The XL functions provide translation tables for $[i18n] strings +## in FmtPageName(). +function XL($key) { + global $XL,$XLLangs; + foreach($XLLangs as $l) if (isset($XL[$l][$key])) return $XL[$l][$key]; + return $key; +} +function XLSDV($lang,$a) { + global $XL; + foreach($a as $k=>$v) { + if (!isset($XL[$lang][$k])) { + if (preg_match('/^e_(rows|cols)$/', $k)) $v = intval($v); + elseif (preg_match('/^ak_/', $k)) $v = @$v[0]; + $XL[$lang][$k]=$v; + } + } +} +function XLPage($lang,$p,$nohtml=false) { + global $TimeFmt,$XLLangs,$FarmD, $EnableXLPageScriptLoad; + $page = ReadPage($p, READPAGE_CURRENT); + if (!$page) return; + $text = preg_replace("/=>\\s*\n/",'=> ',@$page['text']); + foreach(explode("\n",$text) as $l) + if (preg_match('/^\\s*[\'"](.+?)[\'"]\\s*=>\\s*[\'"](.+)[\'"]/',$l,$m)) + $xl[stripslashes($m[1])] = stripslashes($nohtml? PHSC($m[2]): $m[2]); + if (isset($xl)) { + if (IsEnabled($EnableXLPageScriptLoad, 0) && @$xl['xlpage-i18n']) { + $i18n = preg_replace('/[^-\\w]/','',$xl['xlpage-i18n']); + include_once("$FarmD/scripts/xlpage-$i18n.php"); + } + if (@$xl['Locale']) setlocale(LC_ALL,$xl['Locale']); + if (@$xl['TimeFmt']) $TimeFmt=$xl['TimeFmt']; + if (!in_array($lang, $XLLangs)) array_unshift($XLLangs, $lang); + XLSDV($lang,$xl); + } +} + +## CmpPageAttr is used with uksort to order a page's elements with +## the latest items first. This can make some operations more efficient. +function CmpPageAttr($a, $b) { + @list($x, $agmt) = explode(':', $a); + @list($x, $bgmt) = explode(':', $b); + if ($agmt != $bgmt) + return ($agmt==0 || $bgmt==0) ? $agmt - $bgmt : $bgmt - $agmt; + return strcmp($a, $b); +} + +## class PageStore holds objects that store pages via the native +## filesystem. +class PageStore { + var $dirfmt; + var $iswrite; + var $encodefilenames; + var $attr; + function __construct($d='$WorkDir/$FullName', $w=0, $a=NULL) { + $this->dirfmt = $d; $this->iswrite = $w; $this->attr = (array)$a; + $GLOBALS['PageExistsCache'] = array(); + } + function recodefn($s,$from,$to) { + static $able; + if(is_null($able)) { + # can we rely on iconv() or on mb_convert_encoding() ? + if (function_exists('iconv') && @iconv("UTF-8", "WINDOWS-1252//IGNORE", "te\xd0\xafst")=='test' ) + $able = 'iconv'; + elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("te\xd0\xafst", "WINDOWS-1252", "UTF-8")=="te?st") + $able = 'mb'; + } + switch ($able) { + case "iconv": + return @iconv($from,"$to//IGNORE",$s); + case "mb": + return @mb_convert_encoding($s,$to,$from); + } + if ($to=='UTF-8' && $from=='WINDOWS-1252') return utf8_decode($s); + if ($from=='UTF-8' && $to=='WINDOWS-1252') return utf8_encode($s); + return $s; + } + function pagefile($pagename) { + global $FarmD; + $dfmt = $this->dirfmt; + if ($pagename > '') { + $pagename = str_replace('/', '.', $pagename); + if ($dfmt == 'wiki.d/{$FullName}') # optimizations for + return $this->PFE("wiki.d/$pagename"); # standard locations + if ($dfmt == '$FarmD/wikilib.d/{$FullName}') # + return $this->PFE("$FarmD/wikilib.d/$pagename"); + if ($dfmt == 'wiki.d/{$Group}/{$FullName}') + return $this->PFE(preg_replace('/([^.]+).*/', 'wiki.d/$1/$0', $pagename)); + } + return $this->PFE(FmtPageName($dfmt, $pagename)); + } + function PFE($f) { # pagefile_encode + if (!$this->encodefilenames) return $f; + global $PageFileEncodeFunction; + return $PageFileEncodeFunction($f); + } + function PFD($f) { # pagefile_decode + if (!$this->encodefilenames) return $f; + global $PageFileDecodeFunction; + return $PageFileDecodeFunction($f); + } + function read($pagename, $since=0) { + $newline = ''; + $urlencoded = false; + $pagefile = $this->pagefile($pagename); + if ($pagefile && ($fp=@fopen($pagefile, "r"))) { + $page = $this->attr; + while (!feof($fp)) { + $line = @fgets($fp, 4096); + while (substr($line, -1, 1) != "\n" && !feof($fp)) + { $line .= fgets($fp, 4096); } + $line = rtrim($line); + if ($urlencoded) $line = urldecode(str_replace('+', '%2b', $line)); + @list($k,$v) = explode('=', $line, 2); + if (!$k) continue; + if ($k == 'version') { + $ordered = (strpos($v, 'ordered=1') !== false); + $urlencoded = (strpos($v, 'urlencoded=1') !== false); + if (strpos($v, 'pmwiki-0.')!==false) $newline="\262"; + } + if ($k == 'newline') { $newline = $v; continue; } + if ($since > 0 && preg_match('/:(\\d+)/', $k, $m) && $m[1] < $since) { + if ($ordered) break; + continue; + } + if ($newline) $v = str_replace($newline, "\n", $v); + $page[$k] = $v; + } + fclose($fp); + } + return $this->recode($pagename, @$page); + } + function write($pagename,$page) { + global $Now, $Version, $Charset, $EnableRevUserAgent, $PageExistsCache, $DenyHtaccessContent; + $page['charset'] = $Charset; + $page['name'] = $pagename; + $page['time'] = $Now; + $page['host'] = $_SERVER['REMOTE_ADDR']; + $page['agent'] = @$_SERVER['HTTP_USER_AGENT']; + if(IsEnabled($EnableRevUserAgent, 0)) $page["agent:$Now"] = $page['agent']; + $page['rev'] = @$page['rev']+1; + unset($page['version']); unset($page['newline']); + uksort($page, 'CmpPageAttr'); + $s = false; + $pagefile = $this->pagefile($pagename); + $dir = dirname($pagefile); mkdirp($dir); + if (!file_exists("$dir/.htaccess") && $fp = @fopen("$dir/.htaccess", "w")) + { fwrite($fp, $DenyHtaccessContent); fclose($fp); } + if ($pagefile && ($fp=fopen("$pagefile,new","w"))) { + $r0 = array('%', "\n", '<'); + $r1 = array('%25', '%0a', '%3c'); + $x = "version=$Version ordered=1 urlencoded=1\n"; + $s = true && fputs($fp, $x); $sz = strlen($x); + foreach($page as $k=>$v) + if ($k > '' && $k[0] != '=') { + $x = str_replace($r0, $r1, "$k=$v") . "\n"; + $s = $s && fputs($fp, $x); $sz += strlen($x); + } + $s = fclose($fp) && $s; + $s = $s && (filesize("$pagefile,new") > $sz * 0.95); + if (file_exists($pagefile)) $s = $s && unlink($pagefile); + $s = $s && rename("$pagefile,new", $pagefile); + } + $s && fixperms($pagefile); + if (!$s) + Abort("Cannot write page to $pagename ($pagefile)...changes not saved"); + PCache($pagename, $page); + unset($PageExistsCache[$pagename]); # PITS:01401 + } + function exists($pagename) { + if (!$pagename) return false; + $pagefile = $this->pagefile($pagename); + return ($pagefile && file_exists($pagefile)); + } + function delete($pagename) { + global $Now, $PageExistsCache; + $pagefile = $this->pagefile($pagename); + @rename($pagefile,"$pagefile,del-$Now"); + unset($PageExistsCache[$pagename]); # PITS:01401 + } + function ls($pats=NULL) { + global $GroupPattern, $NamePattern; + StopWatch("PageStore::ls begin {$this->dirfmt}"); + $pats=(array)$pats; + array_push($pats, "/^$GroupPattern\.$NamePattern$/"); + $dir = $this->pagefile('$Group.$Name'); + $maxslash = substr_count($dir, '/'); + $dirlist = array(preg_replace('!/*[^/]*\\$.*$!','',$dir)); + $out = array(); + while (count($dirlist)>0) { + $dir = array_shift($dirlist); + $dfp = @opendir($dir); if (!$dfp) { continue; } + $dirslash = substr_count($dir, '/') + 1; + $o = array(); + while ( ($pagefile = readdir($dfp)) !== false) { + if ($pagefile[0] == '.') continue; + if ($dirslash < $maxslash && is_dir("$dir/$pagefile")) + { array_push($dirlist,"$dir/$pagefile"); continue; } + if ($dirslash == $maxslash) $o[] = $this->PFD($pagefile); + } + closedir($dfp); + StopWatch("PageStore::ls merge {$this->dirfmt}"); + $out = array_merge($out, MatchPageNames($o, $pats)); + } + StopWatch("PageStore::ls end {$this->dirfmt}"); + return $out; + } + function recode($pagename, $a) { + if (!$a) return false; + global $Charset, $PageRecodeFunction, $DefaultPageCharset, $EnableOldCharset; + if (function_exists($PageRecodeFunction)) return $PageRecodeFunction($a); + if (IsEnabled($EnableOldCharset)) $a['=oldcharset'] = @$a['charset']; + SDVA($DefaultPageCharset, array(''=>@$Charset)); # pre-2.2.31 RecentChanges + if (@$DefaultPageCharset[$a['charset']]>'') # wrong pre-2.2.30 encs. *-2, *-9, *-13 + $a['charset'] = $DefaultPageCharset[@$a['charset']]; + if (!$a['charset'] || $Charset==$a['charset']) return $a; + $from = ($a['charset']=='ISO-8859-1') ? 'WINDOWS-1252' : $a['charset']; + $to = ($Charset=='ISO-8859-1') ? 'WINDOWS-1252' : $Charset; + if($from != $to) { + foreach($a as $k=>$v) $a[$k] = $this->recodefn($v,$from,$to); + } + $a['charset'] = $Charset; + return $a; + } +} + +function ReadPage($pagename, $since=0) { + # read a page from the appropriate directories given by $WikiReadDirsFmt. + global $WikiLibDirs,$Now; + foreach ($WikiLibDirs as $dir) { + $page = $dir->read($pagename, $since); + if ($page) break; + } + if (@!$page) $page['ctime'] = $Now; + if (@!$page['time']) $page['time'] = $Now; + return $page; +} + +function WritePage($pagename,$page) { + global $WikiLibDirs,$WikiDir,$LastModFile; + $WikiDir->iswrite = 1; + for($i=0; $iiswrite && $wd->exists($pagename)) break; + } + if ($i >= count($WikiLibDirs)) $wd = &$WikiDir; + $wd->write($pagename,$page); + if ($LastModFile && !@touch($LastModFile)) + { unlink($LastModFile); touch($LastModFile); fixperms($LastModFile); } +} + +function PageExists($pagename) { + ## note: $PageExistsCache might change or disappear someday + global $WikiLibDirs, $PageExistsCache; + if (!isset($PageExistsCache[$pagename])) { + foreach((array)$WikiLibDirs as $dir) + if ($PageExistsCache[$pagename] = $dir->exists($pagename)) break; + } + return $PageExistsCache[$pagename]; +} + +function ListPages($pat=NULL) { + global $WikiLibDirs; + foreach((array)$WikiLibDirs as $dir) + $out = array_unique(array_merge($dir->ls($pat),(array)@$out)); + return $out; +} + +function RetrieveAuthPage($pagename, $level, $authprompt=true, $since=0) { + global $AuthFunction; + SDV($AuthFunction,'PmWikiAuth'); + if (!function_exists($AuthFunction)) return ReadPage($pagename, $since); + return $AuthFunction($pagename, $level, $authprompt, $since); +} + +function Abort($msg, $info='') { + # exit pmwiki with an abort message + global $ScriptUrl, $Charset, $AbortFunction; + if (@$AbortFunction) return $AbortFunction($msg, $info); + if ($info) + $info = "

$[More information]

"; + $msg = "

$[PmWiki can't process your request]

+

$msg

+

$[We are sorry for any inconvenience].

+ $info +

$[Return to] $ScriptUrl

"; + @header("Content-type: text/html; charset=$Charset"); + echo preg_replace_callback('/\\$\\[([^\\]]+)\\]/', "cb_expandxlang", $msg); + exit; +} + +function Redirect($pagename, $urlfmt='$PageUrl', $redirecturl=null) { + # redirect the browser to $pagename + global $EnableRedirect, $RedirectDelay, $EnableStopWatch; + SDV($RedirectDelay, 0); + clearstatcache(); + if (is_null($redirecturl)) $redirecturl = FmtPageName($urlfmt,$pagename); + if (IsEnabled($EnableRedirect,1) && + (!isset($_REQUEST['redirect']) || $_REQUEST['redirect'])) { + header("Location: $redirecturl"); + header("Content-type: text/html"); + echo " + + Redirect"; + exit; + } + echo "Redirect to $redirecturl"; + if (@$EnableStopWatch && function_exists('StopWatchHTML')) + StopWatchHTML($pagename, 1); + exit; +} + +function PrintFmt($pagename,$fmt) { + global $HTTPHeaders,$FmtV; + if (is_array($fmt)) + { foreach($fmt as $f) PrintFmt($pagename,$f); return; } + if ($fmt == 'headers:') { + foreach($HTTPHeaders as $h) (@$sent++) ? @header($h) : header($h); + return; + } + $x = FmtPageName($fmt,$pagename); + if (strncmp($fmt, 'function:', 9) == 0 && + preg_match('/^function:(\S+)\s*(.*)$/s', $x, $match) && + function_exists($match[1])) + { $match[1]($pagename,$match[2]); return; } + if (strncmp($fmt, 'file:', 5) == 0 && preg_match("/^file:(.+)/s",$x,$match)) { + $filelist = preg_split('/[\\s]+/',$match[1],-1,PREG_SPLIT_NO_EMPTY); + foreach($filelist as $f) { + if (file_exists($f)) { include($f); return; } + } + return; + } + if (substr($x, 0, 7) == 'markup:') + { print MarkupToHTML($pagename, substr($x, 7)); return; } + if (substr($x, 0, 5) == 'wiki:') + { PrintWikiPage($pagename, substr($x, 5), 'read'); return; } + if (substr($x, 0, 5) == 'page:') + { PrintWikiPage($pagename, substr($x, 5), ''); return; } + echo $x; +} + +function PrintWikiPage($pagename, $wikilist=NULL, $auth='read') { + if (is_null($wikilist)) $wikilist=$pagename; + $pagelist = preg_split('/\s+/',$wikilist,-1,PREG_SPLIT_NO_EMPTY); + foreach($pagelist as $p) { + if (PageExists($p)) { + $page = ($auth) ? RetrieveAuthPage($p, $auth, false, READPAGE_CURRENT) + : ReadPage($p, READPAGE_CURRENT); + if ($page['text']) + echo MarkupToHTML($pagename,Qualify($p, $page['text'])); + return; + } + } +} + +function Keep($x, $pool=NULL) { + if(is_array($x)) $x = $x[0]; # used in many callbacks + # Keep preserves a string from being processed by wiki markups + global $BlockPattern, $KeepToken, $KPV, $KPCount; + $x = preg_replace_callback("/$KeepToken(\\d.*?)$KeepToken/", 'cb_expandkpv', $x); + if (is_null($pool) && preg_match("! 0 && $text[$pos-1] != "\n") $pos--; + else $pos += strlen("[[#$aa]]"); + $text = substr($text, $pos); + } + if ($bb) + $text = preg_replace("/(\n)[^\n]*\\[\\[#$bb\\]\\].*$/s", '$1', $text, 1); + return $text; +} + + +## RetrieveAuthSection extracts a section of text from a page. +## If $pagesection starts with anything other than '#', it identifies +## the page to extract text from. Otherwise RetrieveAuthSection looks +## in the pages given by $list, or in $pagename if $list is not specified. +## The selected page is placed in the global $RASPageName variable. +## The caller is responsible for calling Qualify() as needed. +function RetrieveAuthSection($pagename, $pagesection, $list=NULL, $auth='read') { + global $RASPageName, $PCache; + if ($pagesection[0] != '#') + $list = array(MakePageName($pagename, $pagesection)); + else if (is_null($list)) $list = array($pagename); + foreach((array)$list as $t) { + $t = FmtPageName($t, $pagename); + if (!PageExists($t)) continue; + $tpage = RetrieveAuthPage($t, $auth, false, READPAGE_CURRENT); + if (!$tpage) continue; + $text = TextSection(IsEnabled($PCache[$t]['=preview'],$tpage['text']),$pagesection); + if ($text !== false) { $RASPageName = $t; return $text; } + } + $RASPageName = ''; + return false; +} + +function IncludeText($pagename, $inclspec) { + global $MaxIncludes, $IncludeOpt, $InclCount, $PCache; + SDV($MaxIncludes,50); + SDVA($IncludeOpt, array('self'=>1)); + if (@$InclCount[$pagename]++>=$MaxIncludes) return Keep($inclspec); + $args = array_merge($IncludeOpt, ParseArgs($inclspec)); + while (count($args['#'])>0) { + $k = array_shift($args['#']); $v = array_shift($args['#']); + if ($k=='') { + if ($v[0] != '#') { + if (isset($itext)) continue; + $iname = MakePageName($pagename, $v); + if (!$args['self'] && $iname == $pagename) continue; + $ipage = RetrieveAuthPage($iname, 'read', false, READPAGE_CURRENT); + $itext = IsEnabled($PCache[$iname]['=preview'], @$ipage['text']); + } + $itext = TextSection(@$itext, $v, array('anchors' => 1)); + continue; + } + if (preg_match('/^(?:line|para)s?$/', $k)) { + preg_match('/^(\\d*)(\\.\\.(\\d*))?$/', $v, $match); + @list($x, $a, $dots, $b) = $match; + $upat = ($k[0] == 'p') ? ".*?(\n\\s*\n|$)" : "[^\n]*(?:\n|$)"; + if (!$dots) { $b=$a; $a=0; } + if ($a>0) $a--; + $itext=preg_replace("/^(($upat){0,$b}).*$/s",'$1',$itext,1); + $itext=preg_replace("/^($upat){0,$a}/s",'',$itext,1); + continue; + } + } + $basepage = isset($args['basepage']) + ? MakePageName($pagename, $args['basepage']) + : @$iname; + if ($basepage) $itext = Qualify(@$basepage, @$itext); + return FmtTemplateVars(PVSE(@$itext), $args); +} + + +function RedirectMarkup($pagename, $opt) { + $k = Keep("(:redirect $opt:)"); + global $MarkupFrame, $EnableRedirectQuiet; + if (!@$MarkupFrame[0]['redirect']) return $k; + $opt = ParseArgs($opt); + $to = @$opt['to']; if (!$to) $to = @$opt[''][0]; + if (!$to) return $k; + if (preg_match('/^([^#]+)(#[A-Za-z][-\\w]*)$/', $to, $match)) + { $to = $match[1]; $anchor = @$match[2]; } + $to = MakePageName($pagename, $to); + if (!PageExists($to)) return $k; + if ($to == $pagename) return ''; + if (@$opt['from'] + && !MatchPageNames($pagename, FixGlob($opt['from'], '$1*.$2'))) + return ''; + if (preg_match('/^30[1237]$/', @$opt['status'])) + header("HTTP/1.1 {$opt['status']}"); + Redirect($to, "{\$PageUrl}" + . (IsEnabled($EnableRedirectQuiet, 0) && IsEnabled($opt['quiet'], 0) + ? '' : "?from=$pagename") + . $anchor); + exit(); +} + + +function Block($b) { + global $BlockMarkups,$HTMLVSpace,$HTMLPNewline,$MarkupFrame; + $mf = &$MarkupFrame[0]; $cs = &$mf['cs']; $vspaces = &$mf['vs']; + $out = ''; + if ($b == 'vspace') { + $vspaces .= "\n"; + while (count($cs)>0 && @end($cs)!='pre' && @$BlockMarkups[@end($cs)][3]==0) + { $c = array_pop($cs); $out .= $BlockMarkups[$c][2]; } + return $out; + } + @list($code, $depth, $icol) = explode(',', $b); + if (!$code) $depth = 1; + if ($depth == 0) $depth = strlen($depth); + if ($icol == 0) $icol = strlen($icol); + if ($depth > 0) $depth += @$mf['idep']; + if ($icol > 0) $mf['is'][$depth] = $icol + @$mf['icol']; + @$mf['idep'] = @$mf['icol'] = 0; + while (count($cs)>$depth) + { $c = array_pop($cs); $out .= $BlockMarkups[$c][2]; } + if (!$code) { + if (@end($cs) == 'p') { $out .= $HTMLPNewline; $code = 'p'; } + else if ($depth < 2) { $code = 'p'; $mf['is'][$depth] = 0; } + else { $out .= $HTMLPNewline; $code = 'block'; } + } + if ($depth>0 && $depth==count($cs) && $cs[$depth-1]!=$code) + { $c = array_pop($cs); $out .= $BlockMarkups[$c][2]; } + while (count($cs)>0 && @end($cs)!=$code && + @$BlockMarkups[@end($cs)][3]==0) + { $c = array_pop($cs); $out .= $BlockMarkups[$c][2]; } + if ($vspaces) { + $out .= (@end($cs) == 'pre') ? $vspaces : $HTMLVSpace; + $vspaces=''; + } + if ($depth==0) { return $out; } + if ($depth==count($cs)) { return $out.$BlockMarkups[$code][1]; } + while (count($cs)<$depth-1) { + array_push($cs, 'dl'); $mf['is'][count($cs)] = 0; + $out .= $BlockMarkups['dl'][0].'
'; + } + if (count($cs)<$depth) { + array_push($cs,$code); + $out .= $BlockMarkups[$code][0]; + } + return $out; +} + + +function MarkupClose($key = '') { + global $MarkupFrame; + $cf = & $MarkupFrame[0]['closeall']; + $out = ''; + if ($key == '' || isset($cf[$key])) { + $k = array_keys((array)$cf); + while ($k) { + $x = array_pop($k); $out .= $cf[$x]; unset($cf[$x]); + if ($x == $key) break; + } + } + return $out; +} + + +function FormatTableRow($x, $sep = '\\|\\|') { + global $TableCellAttrFmt, $TableCellAlignFmt, $TableRowAttrFmt, + $TableRowIndexMax, $MarkupFrame, $FmtV, $EnableSimpleTableRowspan; + static $rowcount; + SDV($TableCellAlignFmt, " align='%s'"); + + if (IsEnabled($EnableSimpleTableRowspan, 0)) { + $x = preg_replace("/\\|\\|__+(?=\\|\\|)/", '||', $x); + $x = preg_replace("/\\|\\|\\^\\^+(?=\\|\\|)/", '', $x); + } + $x = preg_replace("/$sep\\s*$/",'',$x); + $td = preg_split("/$sep/", $x); $y = ''; + for($i=0;$i1) { $attr .= " colspan='$colspan'"; } + $y .= "<$t $attr>".trim($td[$i]).""; + } + if ($t=='caption') return "<:table,1>$y"; + if (@$MarkupFrame[0]['cs'][0] != 'table') $rowcount = 0; else $rowcount++; + $FmtV['$TableRowCount'] = $rowcount + 1; + $FmtV['$TableRowIndex'] = ($rowcount % $TableRowIndexMax) + 1; + $trattr = FmtPageName(@$TableRowAttrFmt, ''); + return "<:table,1>$y"; +} + +function LinkIMap($pagename,$imap,$path,$alt,$txt,$fmt=NULL) { + global $FmtV, $IMap, $IMapLinkFmt, $UrlLinkFmt, $IMapLocalPath, $ScriptUrl, $AddLinkCSS; + SDVA($IMapLocalPath, array('Path:'=>1)); + if (@$IMapLocalPath[$imap]) { + $path = preg_replace('/^(\\w+):/', "$1%3a", $path); # PITS:01260 + } + $FmtV['$LinkUrl'] = PUE(str_replace('$1',$path,$IMap[$imap])); + $FmtV['$LinkText'] = $txt; + $FmtV['$LinkAlt'] = str_replace(array('"',"'"),array('"','''),$alt); + if (!$fmt) + $fmt = (isset($IMapLinkFmt[$imap])) ? $IMapLinkFmt[$imap] : $UrlLinkFmt; + if(IsEnabled($AddLinkCSS['samedomain'])) { + $parsed_url = parse_url($FmtV['$LinkUrl']); + $parsed_wiki = parse_url($ScriptUrl); + if(! @$parsed_url['host'] || $parsed_url['host'] == $parsed_wiki['host']) { + $fmt = preg_replace('/(]*class=["\'])/', "$1{$AddLinkCSS['samedomain']} ", $fmt); + } + } + return str_replace(array_keys($FmtV),array_values($FmtV),$fmt); +} + +## These 2 functions hide e-mail addresses from spam bot harvesters +## recover them for most users with a javascript utility, +## while keeping them readable for users with JS disabled. +## Based on Cookbook:DeObMail by Petko Yotov +## To enable, set $LinkFunctions['mailto:'] = 'ObfuscateLinkIMap'; +function ObfuscateLinkIMap($pagename,$imap,$path,$title,$txt,$fmt=NULL) { + global $FmtV, $IMap, $IMapLinkFmt; + SDVA($IMapLinkFmt, array('obfuscate-mailto:' => + "\$LinkText\$LinkUrl")); + $FmtV['$LinkUrl'] = cb_obfuscate_mail(str_replace('$1',$path,$IMap[$imap])); + $FmtV['$LinkText'] = cb_obfuscate_mail(preg_replace('/^mailto:/i', '', $txt)); + if($FmtV['$LinkText'] == preg_replace('/^mailto:/i', '', $FmtV['$LinkUrl'])) $FmtV['$LinkUrl'] = ''; + else $FmtV['$LinkUrl'] = " -> ".$FmtV['$LinkUrl']; + $FmtV['$LinkAlt'] = str_replace(array('"',"'"),array('"','''),cb_obfuscate_mail($title, 0)); + return str_replace(array_keys($FmtV),array_values($FmtV), $IMapLinkFmt['obfuscate-mailto:']); +} + +function cb_obfuscate_mail($x, $wrap=1) { + $classes = array('.' => '_d', '@' => '_a'); + $texts = array( '.' => XL(' [period] '), '@' => XL(' [snail] ')); + foreach($classes as $k=>$v) + $x = preg_replace("/(\\w)".preg_quote($k)."(\\w)/", + ($wrap? + "$1{$texts[$k]}$2" + : "$1{$texts[$k]}$2") + , $x); + return $x; +} + +function LinkPage($pagename,$imap,$path,$alt,$txt,$fmt=NULL) { + global $QueryFragPattern, $LinkPageExistsFmt, $LinkPageSelfFmt, + $LinkPageCreateSpaceFmt, $LinkPageCreateFmt, $LinkTargets, + $EnableLinkPageRelative, $EnableLinkPlusTitlespaced, $AddLinkCSS; + $alt = str_replace(array('"',"'"),array('"','''),$alt); + $path = preg_replace('/(#[-.:\\w]*)#.*$/', '$1', $path); # PITS:01388 + if (is_array($txt)) { # PITS:01392 + $suffix = $txt[1]; + $txt = $txt[0]; + } + if (!$fmt && @$path[0] == '#') { + $path = preg_replace("/[^-.:\\w]/", '', $path); + if (trim($txt) == '+') $txt = PageVar($pagename, '$Title') . @$suffix; + if ($alt) $alt = " title='$alt'"; + return ($path) ? "".str_replace("$", "$", $txt)."" : ''; + } + if (!preg_match("/^\\s*([^#?]+)($QueryFragPattern)?$/",$path,$match)) + return ''; + $tgtname = MakePageName($pagename, $match[1]); + if (!$tgtname) return ''; + $qf = @$match[2]; + @$LinkTargets[$tgtname]++; + if (!$fmt) { + if (!PageExists($tgtname) && !preg_match('/[&?]action=/', $qf)) + $fmt = preg_match('/\\s/', $txt) + ? $LinkPageCreateSpaceFmt : $LinkPageCreateFmt; + else + $fmt = ($tgtname == $pagename && $qf == '') + ? $LinkPageSelfFmt : $LinkPageExistsFmt; + } + $url = PageVar($tgtname, '$PageUrl'); + if (trim($txt) == '+') $txt = PageVar($tgtname, + IsEnabled($EnableLinkPlusTitlespaced, 0) ? '$Titlespaced' : '$Title') . @$suffix; + $txt = str_replace("$", "$", $txt); + if (@$EnableLinkPageRelative) + $url = preg_replace('!^[a-z]+://[^/]*!i', '', $url); + $fmt = str_replace(array('$LinkUrl', '$LinkText', '$LinkAlt'), + array($url.PUE($qf), $txt, $alt), $fmt); + if(IsEnabled($AddLinkCSS['othergroup'])) { + list($cgroup, ) = explode('.', $pagename); + list($tgroup, ) = explode('.', $tgtname); + if($cgroup != $tgroup) + $fmt = preg_replace('/(]*class=["\'])/', "$1{$AddLinkCSS['othergroup']} ", $fmt); + } + return FmtPageName($fmt,$tgtname); +} + +function MakeLink($pagename,$tgt,$txt=NULL,$suffix=NULL,$fmt=NULL) { + global $LinkPattern,$LinkFunctions,$UrlExcludeChars,$ImgExtPattern,$ImgTagFmt, + $LinkTitleFunction; + if(preg_match("/^(.*)(?:\"(.*)\")\\s*$/",$tgt,$x)) list(,$tgt,$title) = $x; + $t = preg_replace('/[()]/','',trim($tgt)); + $t = preg_replace('/<[^>]*>/','',$t); + $t = trim(MarkupRestore($t)); + $txtr = trim(MarkupRestore($txt)); + + preg_match("/^($LinkPattern)?(.+)$/",$t,$m); + if (!@$m[1]) $m[1]='<:page>'; + if (preg_match("/(($LinkPattern)([^$UrlExcludeChars]+$ImgExtPattern))(\"(.*)\")?$/",$txtr,$tm)) + $txt = $LinkFunctions[$tm[2]]($pagename,$tm[2],$tm[3],@$tm[5], + $tm[1],$ImgTagFmt); + else { + if (is_null($txt)) { + $txt = preg_replace('/\\([^)]*\\)/','',$tgt); + if ($m[1]=='<:page>') { + $txt = preg_replace('!/\\s*$!', '', $txt); + $txt = preg_replace('!^.*[^<]/!', '', $txt); + } + } + if ($m[1]=='<:page>' && trim($txt) == '+' && $suffix>'') { # PITS:01392 + $txt = array(trim($txt), $suffix); + } + else $txt .= $suffix; + } + if (@$LinkTitleFunction) $title = $LinkTitleFunction($pagename,$m,$txt); + else $title = PHSC(MarkupRestore(@$title), ENT_QUOTES); + $out = $LinkFunctions[$m[1]]($pagename,$m[1],@$m[2],@$title,$txt,$fmt); + return preg_replace('/(<[^>]+)\\stitle=(""|\'\')/', '$1', $out); +} + +function Markup($id, $when, $pat=NULL, $rep=NULL, $tracelev=0) { + global $MarkupTable, $EnableMarkupDiag; + unset($GLOBALS['MarkupRules']); + if (preg_match('/^([<>])?(.+)$/', $when, $m)) { + $MarkupTable[$id]['cmd'] = $when; + $MarkupTable[$m[2]]['dep'][$id] = $m[1]; + if (!$m[1]) $m[1] = '='; + if (@$MarkupTable[$m[2]]['seq']) { + $MarkupTable[$id]['seq'] = $MarkupTable[$m[2]]['seq'].$m[1]; + foreach((array)@$MarkupTable[$id]['dep'] as $i=>$m) + Markup($i,"$m$id"); + unset($GLOBALS['MarkupTable'][$id]['dep']); + } + } + if ($pat && !isset($MarkupTable[$id]['pat'])) { + $MarkupTable[$id]['pat'] = $pat; + $MarkupTable[$id]['rep'] = $rep; + + $oldpat = preg_match('!/[^/]*e[^/]*$!', $pat); + if (IsEnabled($EnableMarkupDiag, 0) || $oldpat) { + $exmark = $oldpat ? '!' : ' '; + if (function_exists('debug_backtrace')) { + $dbg = debug_backtrace(); + $dbginfo = $dbg[$tracelev]; + $MarkupTable[$id]['dbg'] = "$exmark file: {$dbginfo['file']}, " + . "line: {$dbginfo['line']}, pat: {$dbginfo['args'][2]}"; + } + else + $MarkupTable[$id]['dbg'] = "$exmark id: '$id', pat: '$pat'"; + } + } +} + +function Markup_e($id, $when, $pat, $rep, $template = 'markup_e') { + if (!is_callable($rep)) $rep = PCCF($rep, $template); + Markup($id, $when, $pat, $rep, 1); +} + +function DisableMarkup() { + global $MarkupTable; + $idlist = func_get_args(); + unset($GLOBALS['MarkupRules']); + while (count($idlist)>0) { + $id = array_shift($idlist); + if (is_array($id)) { $idlist = array_merge($idlist, $id); continue; } + $MarkupTable[$id] = array('cmd' => 'none', 'pat'=>''); + } +} + +function mpcmp($a,$b) { return @strcmp($a['seq'].'=',$b['seq'].'='); } +function BuildMarkupRules() { + global $MarkupTable,$MarkupRules,$LinkPattern; + if (!$MarkupRules) { + uasort($MarkupTable,'mpcmp'); + foreach($MarkupTable as $id=>$m) + if (@$m['pat'] && @$m['seq']) { + $MarkupRules[str_replace('\\L',$LinkPattern,$m['pat'])] + = array($m['rep'], $id); + } + } + return $MarkupRules; +} + + +function MarkupToHTML($pagename, $text, $opt = NULL) { + # convert wiki markup text to HTML output + global $MarkupRules, $MarkupFrame, $MarkupFrameBase, $WikiWordCount, + $K0, $K1, $RedoMarkupLine, $MarkupToHTML; + $MarkupToHTML['pagename'] = $pagename; + + StopWatch('MarkupToHTML begin'); + array_unshift($MarkupFrame, array_merge($MarkupFrameBase, (array)$opt)); + $MarkupFrame[0]['wwcount'] = $WikiWordCount; + foreach((array)$text as $l) + $lines[] = $MarkupFrame[0]['escape'] ? PVSE($l) : $l; + $lines[] = '(:closeall:)'; + $out = ''; + while (count($lines)>0) { + $x = array_shift($lines); + $RedoMarkupLine=0; + $markrules = BuildMarkupRules(); + foreach($markrules as $p=>$r) { + list($r, $id) = (array)$r; + $MarkupToHTML['markupid'] = $id; + if ($p[0] == '/') { + if (is_callable($r)) $x = preg_replace_callback($p,$r,$x); + else $x=preg_replace($p,$r,$x); # simple text OR called by old addon|skin|recipe needing update, see pmwiki.org/Troubleshooting + } + elseif (strstr($x,$p)!==false) $x=eval($r); + if (isset($php_errormsg)) + { echo "ERROR: pat=$p $php_errormsg"; unset($php_errormsg); } + if ($RedoMarkupLine) { $lines=array_merge((array)$x,$lines); continue 2; } + } + if ($x>'') $out .= "$x\n"; + } + foreach((array)(@$MarkupFrame[0]['posteval']) as $v) eval($v); + array_shift($MarkupFrame); + StopWatch('MarkupToHTML end'); + return $out; +} + +function HandleBrowse($pagename, $auth = 'read') { + # handle display of a page + global $DefaultPageTextFmt, $PageNotFoundHeaderFmt, $HTTPHeaders, + $EnableHTMLCache, $NoHTMLCache, $PageCacheFile, $LastModTime, $IsHTMLCached, + $FmtV, $HandleBrowseFmt, $PageStartFmt, $PageEndFmt, $PageRedirectFmt; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) Abort("?cannot read $pagename"); + PCache($pagename,$page); + if (PageExists($pagename)) $text = @$page['text']; + else { + SDV($DefaultPageTextFmt,'(:include $[{$SiteGroup}.PageNotFound]:)'); + $text = FmtPageName($DefaultPageTextFmt, $pagename); + SDV($PageNotFoundHeaderFmt, 'HTTP/1.1 404 Not Found'); + SDV($HTTPHeaders['status'], $PageNotFoundHeaderFmt); + } + $opt = array(); + SDV($PageRedirectFmt,"

($[redirected from] {\$FullName})

\n"); + if (@!$_GET['from']) { $opt['redirect'] = 1; $PageRedirectFmt = ''; } + else { + $frompage = MakePageName($pagename, $_GET['from']); + $PageRedirectFmt = (!$frompage) ? '' + : FmtPageName($PageRedirectFmt, $frompage); + } + if (@$EnableHTMLCache && !$NoHTMLCache && $PageCacheFile && + @filemtime($PageCacheFile) > $LastModTime) { + list($ctext) = unserialize(file_get_contents($PageCacheFile)); + $FmtV['$PageText'] = "$ctext"; + $IsHTMLCached = 1; + StopWatch("HandleBrowse: using cached copy"); + } else { + $IsHTMLCached = 0; + $text = '(:groupheader:)'.@$text.'(:groupfooter:)'; + $t1 = time(); + $FmtV['$PageText'] = MarkupToHTML($pagename, $text, $opt); + if (@$EnableHTMLCache > 0 && !$NoHTMLCache && $PageCacheFile + && (time() - $t1 + 1) >= $EnableHTMLCache) { + $fp = @fopen("$PageCacheFile,new", "x"); + if ($fp) { + StopWatch("HandleBrowse: caching page"); + fwrite($fp, serialize(array($FmtV['$PageText']))); fclose($fp); + rename("$PageCacheFile,new", $PageCacheFile); + } + } + } + SDV($HandleBrowseFmt,array(&$PageStartFmt, &$PageRedirectFmt, '$PageText', + &$PageEndFmt)); + PrintFmt($pagename,$HandleBrowseFmt); +} + + +## UpdatePage goes through all of the steps needed to update a page, +## preserving page history, computing link targets, page titles, +## and other page attributes. It does this by calling each entry +## in $EditFunctions. $pagename is the name of the page to be updated, +## $page is the old version of the page (used for page history), +## $new is the new version of the page to be saved, and $fnlist is +## an optional list of functions to use instead of $EditFunctions. +function UpdatePage(&$pagename, &$page, &$new, $fnlist = NULL) { + global $EditFunctions, $IsPagePosted; + StopWatch("UpdatePage: begin $pagename"); + if (is_null($fnlist)) $fnlist = $EditFunctions; + $IsPagePosted = false; + foreach((array)$fnlist as $fn) { + StopWatch("UpdatePage: $fn ($pagename)"); + $fn($pagename, $page, $new); + } + StopWatch("UpdatePage: end $pagename"); + return $IsPagePosted; +} + + +# EditTemplate allows a site administrator to pre-populate new pages +# with the contents of another page. +function EditTemplate($pagename, &$page, &$new) { + global $EditTemplatesFmt; + if (@$new['text'] > '') return; + if (@$_REQUEST['template'] && PageExists($_REQUEST['template'])) { + $p = RetrieveAuthPage($_REQUEST['template'], 'read', false, + READPAGE_CURRENT); + if ($p['text'] > '') $new['text'] = $p['text']; + return; + } + foreach((array)$EditTemplatesFmt as $t) { + $p = RetrieveAuthPage(FmtPageName($t,$pagename), 'read', false, + READPAGE_CURRENT); + if (@$p['text'] > '') { $new['text'] = $p['text']; return; } + } +} + +# RestorePage handles returning to the version of text as of +# the version given by $restore or $_REQUEST['restore']. +function RestorePage($pagename,&$page,&$new,$restore=NULL) { + if (is_null($restore)) $restore=@$_REQUEST['restore']; + if (!$restore) return; + $t = $page['text']; + $nl = (substr($t,-1)=="\n"); + $t = explode("\n",$t); + if ($nl) array_pop($t); + krsort($page); reset($page); + foreach($page as $k=>$v) { + if ($k<$restore) break; + if (strncmp($k, 'diff:', 5) != 0) continue; + foreach(explode("\n",$v) as $x) { + if (preg_match('/^(\\d+)(,(\\d+))?([adc])(\\d+)/',$x,$match)) { + $a1 = $a2 = $match[1]; + if ($match[3]) $a2=$match[3]; + $b1 = $match[5]; + if ($match[4]=='d') array_splice($t,$b1,$a2-$a1+1); + if ($match[4]=='c') array_splice($t,$b1-1,$a2-$a1+1); + continue; + } + if (strncmp($x,'< ',2) == 0) { $nlflag=true; continue; } + if (preg_match('/^> (.*)$/',$x,$match)) { + $nlflag=false; + array_splice($t,$b1-1,0,$match[1]); $b1++; + } + if ($x=='\\ No newline at end of file') $nl=$nlflag; + } + } + if ($nl) $t[]=''; + $new['text']=implode("\n",$t); + $new['=preview'] = $new['text']; + PCache($pagename, $new); + return $new['text']; +} + +## ReplaceOnSave performs text replacements on the text being posted. +## Patterns held in $ROEPatterns are replaced on every edit request, +## patterns held in $ROSPatterns are replaced only when the page +## is being posted (as signaled by $EnablePost). +function ReplaceOnSave($pagename,&$page,&$new) { + global $EnablePost, $ROSPatterns, $ROEPatterns; + $new['text'] = ProcessROESPatterns(@$new['text'], $ROEPatterns); + if ($EnablePost) { + $new['text'] = ProcessROESPatterns($new['text'], $ROSPatterns); + } + $new['=preview'] = $new['text']; + PCache($pagename, $new); +} +function ProcessROESPatterns($text, $patterns) { + global $EnableROSEscape; + if (IsEnabled($EnableROSEscape, 0)) $text = MarkupEscape($text); + $text = PPRA((array)@$patterns, $text); + if (IsEnabled($EnableROSEscape, 0)) $text = MarkupRestore($text); + return $text; +} + +function SaveAttributes($pagename,&$page,&$new) { + global $EnablePost, $LinkTargets, $SaveAttrPatterns, $PCache, + $SaveProperties; + if (!$EnablePost) return; + $text = PPRA($SaveAttrPatterns, $new['text']); + $LinkTargets = array(); + $new['=html'] = MarkupToHTML($pagename,$text); + $new['targets'] = implode(',',array_keys((array)$LinkTargets)); + $p = & $PCache[$pagename]; + foreach((array)$SaveProperties as $k) { + if (@$p["=p_$k"]) $new[$k] = $p["=p_$k"]; + else unset($new[$k]); + } + unset($new['excerpt']); +} + +function PostPage($pagename, &$page, &$new) { + global $DiffKeepDays, $DiffFunction, $DeleteKeyPattern, $EnablePost, + $Now, $Charset, $Author, $WikiDir, $IsPagePosted, $DiffKeepNum; + SDV($DiffKeepDays,3650); + SDV($DiffKeepNum,20); + SDV($DeleteKeyPattern,"^\\s*delete\\s*$"); + $IsPagePosted = false; + if ($EnablePost) { + $new['charset'] = $Charset; # kept for now, may be needed if custom PageStore + $new['author'] = @$Author; + $new["author:$Now"] = @$Author; + $new["host:$Now"] = $_SERVER['REMOTE_ADDR']; + $diffclass = preg_replace('/\\W/','',@$_POST['diffclass']); + if ($page['time']>0 && function_exists(@$DiffFunction)) + $new["diff:$Now:{$page['time']}:$diffclass"] = + $DiffFunction($new['text'],@$page['text']); + $keepgmt = $Now-$DiffKeepDays * 86400; + $keepnum = array(); + $keys = array_keys($new); + foreach($keys as $k) + if (preg_match("/^\\w+:(\\d+)/",$k,$match)) { + $keepnum[$match[1]] = 1; + if (count($keepnum)>$DiffKeepNum && $match[1]<$keepgmt) + unset($new[$k]); + } + if (preg_match("/$DeleteKeyPattern/",$new['text'])){ + if (@$new['passwdattr']>'' && !CondAuth($pagename, 'attr')) + Abort('$[The page has an "attr" attribute and cannot be deleted.]'); + else $WikiDir->delete($pagename); + } + else WritePage($pagename,$new); + $IsPagePosted = true; + } +} + +function PostRecentChanges($pagename,$page,$new,$Fmt=null) { + global $IsPagePosted, $RecentChangesFmt, $RCDelimPattern, $RCLinesMax, + $EnableRCDiffBytes; + if (!$IsPagePosted && $Fmt==null) return; + if ($Fmt==null) $Fmt = $RecentChangesFmt; + foreach($Fmt as $rcfmt=>$pgfmt) { + $rcname = FmtPageName($rcfmt,$pagename); if (!$rcname) continue; + $pgtext = FmtPageName($pgfmt,$pagename); if (!$pgtext) continue; + if (@$seen[$rcname]++) continue; + + if (IsEnabled($EnableRCDiffBytes, 0)) { + $pgtext = PPRA(array( + '/\\(([+-])(\\d+)\\)(\\s*=\\]\\s*)$/'=>'$3%diffmarkup%{$1($1$2)$1}%%', + '/\\(\\+(0\\)\\+\\}%%)$/'=>'(±$1'), $pgtext); + } + $rcpage = ReadPage($rcname); + $rcelim = preg_quote(preg_replace("/$RCDelimPattern.*$/",' ',$pgtext),'/'); + $rcpage['text'] = preg_replace("/^.*$rcelim.*\n/m", '', @$rcpage['text']); + if (!preg_match("/$RCDelimPattern/",$rcpage['text'])) + $rcpage['text'] .= "$pgtext\n"; + else + $rcpage['text'] = preg_replace("/([^\n]*$RCDelimPattern.*\n)/", + str_replace("$", "\\$", $pgtext) . "\n$1", $rcpage['text'], 1); + if (@$RCLinesMax > 0) + $rcpage['text'] = implode("\n", array_slice( + explode("\n", $rcpage['text'], $RCLinesMax + 1), 0, $RCLinesMax)); + WritePage($rcname, $rcpage); + } +} + +function AutoCreateTargets($pagename, &$page, &$new) { + global $IsPagePosted, $AutoCreate, $LinkTargets; + if (!$IsPagePosted) return; + foreach((array)@$AutoCreate as $pat => $init) { + if (is_null($init)) continue; + foreach(preg_grep($pat, array_keys((array)@$LinkTargets)) as $aname) { + if (PageExists($aname)) continue; + $x = RetrieveAuthPage($aname, 'edit', false, READPAGE_CURRENT); + if (!$x) continue; + WritePage($aname, $init); + } + } +} + +function PreviewPage($pagename,&$page,&$new) { + global $IsPageSaved, $FmtV, $ROSPatterns; + if (@$_REQUEST['preview']) { + $text = ProcessROESPatterns($new['text'], $ROSPatterns); + $text = '(:groupheader:)'.$text.'(:groupfooter:)'; + $FmtV['$PreviewText'] = MarkupToHTML($pagename,$text); + } +} + +function HandleEdit($pagename, $auth = 'edit') { + global $IsPagePosted, $EditFields, $ChangeSummary, $EditFunctions, + $EnablePost, $FmtV, $Now, $EditRedirectFmt, $EnableRCDiffBytes, + $PageEditForm, $HandleEditFmt, $PageStartFmt, $PageEditFmt, $PageEndFmt; + SDV($EditRedirectFmt, '$FullName'); + if (@$_POST['cancel']) + { Redirect(FmtPageName($EditRedirectFmt, $pagename)); return; } + Lock(2); + $page = RetrieveAuthPage($pagename, $auth, true); + if (!$page) Abort("?cannot edit $pagename"); + $new = $page; + foreach((array)$EditFields as $k) + if (isset($_POST[$k])) $new[$k]=str_replace("\r",'',stripmagic($_POST[$k])); + + if (IsEnabled($EnableRCDiffBytes, 0) && isset($new['text'])) { + $bytes = strlen($new['text']) - strlen(@$page['text']); + if ($bytes>=0) $bytes = "+$bytes"; + $ChangeSummary = rtrim($ChangeSummary) . " ($bytes)"; + } + $new['csum'] = $ChangeSummary; + if ($ChangeSummary) $new["csum:$Now"] = $ChangeSummary; + $EnablePost &= preg_grep('/^post/', array_keys(@$_POST)); + $new['=preview'] = @$new['text']; + PCache($pagename, $new); + UpdatePage($pagename, $page, $new); + Lock(0); + if ($IsPagePosted && !@$_POST['postedit']) + { Redirect(FmtPageName($EditRedirectFmt, $pagename)); return; } + $FmtV['$DiffClassMinor'] = + (@$_POST['diffclass']=='minor') ? "checked='checked'" : ''; + $FmtV['$EditText'] = + str_replace('$','$',PHSC(@$new['text'],ENT_NOQUOTES)); + $FmtV['$EditBaseTime'] = $Now; + if (@$PageEditForm) { + $efpage = FmtPageName($PageEditForm, $pagename); + $form = RetrieveAuthPage($efpage, 'read', false, READPAGE_CURRENT); + if (!$form || !@$form['text']) + Abort("?unable to retrieve edit form $efpage", 'editform'); + $FmtV['$EditForm'] = MarkupToHTML($pagename, $form['text']); + } + SDV($PageEditFmt, "
+

$[Editing {\$FullName}]

+
+ + + + \$EditMessageFmt +
+ "); + SDV($HandleEditFmt, array(&$PageStartFmt, &$PageEditFmt, &$PageEndFmt)); + PrintFmt($pagename, $HandleEditFmt); +} + +function HandleSource($pagename, $auth = 'read') { + global $HTTPHeaders; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) Abort("?cannot source $pagename"); + foreach ($HTTPHeaders as $h) { + $h = preg_replace('!^Content-type:\\s+text/html!i', + 'Content-type: text/plain', $h); + header($h); + } + echo @$page['text']; +} + +## PmWikiAuth provides password-protection of pages using PHP sessions. +## It is normally called from RetrieveAuthPage. Since RetrieveAuthPage +## can be called a lot within a single page execution (i.e., for every +## page accessed), we cache the results of site passwords and +## GroupAttribute pages to be able to speed up subsequent calls. +function PmWikiAuth($pagename, $level, $authprompt=true, $since=0) { + global $DefaultPasswords, $GroupAttributesFmt, $AllowPassword, + $AuthCascade, $FmtV, $AuthPromptFmt, $PageStartFmt, $PageEndFmt, + $AuthId, $AuthList, $NoHTMLCache; + static $acache; + SDV($GroupAttributesFmt,'$Group/GroupAttributes'); + SDV($AllowPassword,'nopass'); + $page = ReadPage($pagename, $since); + if (!$page) { return false; } + if (!isset($acache)) + SessionAuth($pagename, (@$_POST['authpw']) + ? array('authpw' => array($_POST['authpw'] => 1)) + : ''); + if (@$AuthId) { + $AuthList["id:$AuthId"] = 1; + $AuthList["id:-$AuthId"] = -1; + $AuthList["id:*"] = 1; + } + ## To allow @_site_edit in GroupAttributes, we cache it first + if (!isset($acache['@site'])) { + foreach($DefaultPasswords as $k => $v) { + $x = array(2, array(), ''); + $acache['@site'][$k] = IsAuthorized($v, 'site', $x); + $AuthList["@_site_$k"] = $acache['@site'][$k][0] ? 1 : 0; + } + } + $gn = FmtPageName($GroupAttributesFmt, $pagename); + if (!isset($acache[$gn])) { + $gp = ReadPage($gn, READPAGE_CURRENT); + foreach($DefaultPasswords as $k => $v) { + $acache[$gn][$k] = IsAuthorized(@$gp["passwd$k"], 'group', + $acache['@site'][$k]); + } + } + foreach($DefaultPasswords as $k => $v) + list($page['=auth'][$k], $page['=passwd'][$k], $page['=pwsource'][$k]) = + IsAuthorized(@$page["passwd$k"], 'page', $acache[$gn][$k]); + foreach($AuthCascade as $k => $t) { + if ($page['=auth'][$k]+0 == 2) { + $page['=auth'][$k] = $page['=auth'][$t]; + if ($page['=passwd'][$k] = $page['=passwd'][$t]) # assign + $page['=pwsource'][$k] = "cascade:$t"; + } + } + if (@$page['=auth']['admin']) + foreach($page['=auth'] as $lv=>$a) @$page['=auth'][$lv] = 3; + if (@$page['=passwd']['read']) $NoHTMLCache |= 2; + if ($level=='ALWAYS' || @$page['=auth'][$level]) return $page; + if (!$authprompt) return false; + $GLOBALS['AuthNeeded'] = (@$_POST['authpw']) + ? $page['=pwsource'][$level] . ' ' . $level : ''; + PCache($pagename, $page); + $postvars = ''; + foreach($_POST as $k=>$v) { + if ($k == 'authpw' || $k == 'authid') continue; + $k = PHSC(stripmagic($k), ENT_QUOTES); + if (is_array($v)) { + foreach($v as $vk=>$vv) { + $vk = PHSC(stripmagic($vk), ENT_QUOTES); + $vv = str_replace('$', '$', + PHSC(stripmagic($vv), ENT_COMPAT)); + $postvars .= "\n"; + } + } + else { + $v = str_replace('$', '$', + PHSC(stripmagic($v), ENT_COMPAT)); + $postvars .= "\n"; + } + } + $FmtV['$PostVars'] = $postvars; + $r = str_replace("'", '%37', stripmagic($_SERVER['REQUEST_URI'])); + SDV($AuthPromptFmt,array(&$PageStartFmt, + "

$[Password required]

+ + $[Password]: + \$PostVars
+ ", &$PageEndFmt)); + PrintFmt($pagename,$AuthPromptFmt); + exit; +} + +function IsAuthorized($chal, $source, &$from) { + global $AuthList, $AuthPw, $AllowPassword; + if (!$chal) return $from; + $auth = 0; + $passwd = array(); + foreach((array)$chal as $c) { + $x = ''; + $pwchal = preg_split('/([, ]|\\w+:)/', $c, -1, PREG_SPLIT_DELIM_CAPTURE); + foreach($pwchal as $pw) { + if ($pw == ',' || $pw == '') continue; + else if ($pw == ' ') { $x = ''; continue; } + else if (substr($pw, -1, 1) == ':') { $x = $pw; continue; } + else if ($pw[0] != '@' && $x > '') $pw = $x . $pw; + if (!$pw) continue; + $passwd[] = $pw; + if ($auth < 0) continue; + if ($x || $pw[0] == '@') { + if (@$AuthList[$pw]) $auth = $AuthList[$pw]; + continue; + } + if ($AllowPassword && pmcrypt($AllowPassword, $pw) == $pw) # nopass + { $auth=1; continue; } + foreach((array)$AuthPw as $pwresp) # password + if (pmcrypt($pwresp, $pw) == $pw) { $auth=1; continue; } + } + } + if (!$passwd) return $from; + if ($auth < 0) $auth = 0; + return array($auth, $passwd, $source); +} + + +## SessionAuth works with PmWikiAuth to manage authorizations +## as stored in sessions. First, it can be used to set session +## variables by calling it with an $auth argument. It then +## uses the authid, authpw, and authlist session variables +## to set the corresponding values of $AuthId, $AuthPw, and $AuthList +## as needed. +function SessionAuth($pagename, $auth = NULL) { + global $AuthId, $AuthList, $AuthPw, $SessionEncode, $SessionDecode, + $EnableSessionPasswords; + static $called; + + @$called++; + $sn = session_name(); # in PHP5.3, $_REQUEST doesn't contain $_COOKIE + if (!$auth && ($called > 1 || (!@$_REQUEST[$sn] && !@$_COOKIE[$sn]))) return; + + $sid = session_id(); + @session_start(); + foreach((array)$auth as $k => $v) { + if ($k == 'authpw') { + foreach((array)$v as $pw => $pv) { + if ($SessionEncode) $pw = $SessionEncode($pw); + $_SESSION[$k][$pw] = $pv; + } + } + else if ($k) $_SESSION[$k] = (array)$v + (array)@$_SESSION[$k]; + } + + if (!isset($AuthId)) $AuthId = @end($_SESSION['authid']); + $AuthPw = array_map($SessionDecode, array_keys((array)@$_SESSION['authpw'])); + if (!IsEnabled($EnableSessionPasswords, 1)) $_SESSION['authpw'] = array(); + $AuthList = array_merge($AuthList, (array)@$_SESSION['authlist']); + + if (!$sid) @session_write_close(); +} + + +function PasswdVar($pagename, $level) { + global $PCache, $PasswdVarAuth, $FmtV; + $page = $PCache[$pagename]; + if (!isset($page['=passwd'][$level])) { + $page = RetrieveAuthPage($pagename, 'ALWAYS', false, READPAGE_CURRENT); + if ($page) PCache($pagename, $page); + } + SDV($PasswdVarAuth, 'attr'); + if ($PasswdVarAuth && !@$page['=auth'][$PasswdVarAuth]) return XL('(protected)'); + $pwsource = $page['=pwsource'][$level]; + if (strncmp($pwsource, 'cascade:', 8) == 0) { + $FmtV['$PWCascade'] = substr($pwsource, 8); + return FmtPageName('$[(using $PWCascade password)]', $pagename); + } + $setting = PHSC(implode(' ', preg_replace('/^(?!@|\\w+:).+$/', '****', + (array)$page['=passwd'][$level]))); + if ($pwsource == 'group' || $pwsource == 'site') { + $FmtV['$PWSource'] = $pwsource; + $setting = FmtPageName('$[(set by $PWSource)] ', $pagename) + . PHSC($setting); + } + return $setting; +} + + +function PrintAttrForm($pagename) { + global $PageAttributes, $PCache, $FmtV; + echo FmtPageName("
+ + + ",$pagename); + $page = $PCache[$pagename]; + foreach($PageAttributes as $attr=>$p) { + if (!$p) continue; + if (strncmp($attr, 'passwd', 6) == 0) { + $setting = PageVar($pagename, '$Passwd'.ucfirst(substr($attr, 6))); + $value = ''; + } else { $setting = $value = PHSC(@$page[$attr]); } + $prompt = FmtPageName($p,$pagename); + echo " + + "; + } + echo FmtPageName("
$prompt$setting
", + $pagename); +} + +function HandleAttr($pagename, $auth = 'attr') { + global $HandleAttrFmt,$PageAttrFmt,$PageStartFmt,$PageEndFmt; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) { Abort("?unable to read $pagename"); } + PCache($pagename,$page); + XLSDV('en', array('EnterAttributes' => + "Enter new attributes for this page below. Leaving a field blank + will leave the attribute unchanged. To clear an attribute, enter + 'clear'.")); + SDV($PageAttrFmt,"
+

$[{\$FullName} Attributes]

+

$[EnterAttributes]

"); + SDV($HandleAttrFmt,array(&$PageStartFmt,&$PageAttrFmt, + 'function:PrintAttrForm',&$PageEndFmt)); + PrintFmt($pagename,$HandleAttrFmt); +} + +function HandlePostAttr($pagename, $auth = 'attr') { + global $PageAttributes, $EnablePostAttrClearSession; + Lock(2); + $page = RetrieveAuthPage($pagename, $auth, true); + if (!$page) { Abort("?unable to read $pagename"); } + foreach($PageAttributes as $attr=>$p) { + $v = stripmagic(@$_POST[$attr]); + if ($v == '') continue; + if ($v=='clear') unset($page[$attr]); + else if (strncmp($attr, 'passwd', 6) != 0) $page[$attr] = $v; + else { + $a = array(); + preg_match_all('/"[^"]*"|\'[^\']*\'|\\S+/', $v, $match); + foreach($match[0] as $pw) + $a[] = preg_match('/^(@|\\w+:)/', $pw) ? $pw + : pmcrypt(preg_replace('/^([\'"])(.*)\\1$/', '$2', $pw)); + if ($a) $page[$attr] = implode(' ',$a); + } + } + WritePage($pagename,$page); + Lock(0); + if (IsEnabled($EnablePostAttrClearSession, 1)) { + @session_start(); + unset($_SESSION['authid']); + unset($_SESSION['authlist']); + $_SESSION['authpw'] = array(); + } + Redirect($pagename); + exit; +} + + +function HandleLogoutA($pagename, $auth = 'read') { + global $LogoutRedirectFmt, $LogoutCookies; + SDV($LogoutRedirectFmt, '$FullName'); + SDV($LogoutCookies, array()); + @session_start(); + $_SESSION = array(); + if ( session_id() != '' || isset($_COOKIE[session_name()]) ) + pmsetcookie(session_name(), '', time()-43200, '/'); + foreach ($LogoutCookies as $c) + if (isset($_COOKIE[$c])) pmsetcookie($c, '', time()-43200, '/'); + session_destroy(); + Redirect(FmtPageName($LogoutRedirectFmt, $pagename)); +} + + +function HandleLoginA($pagename, $auth = 'login') { + global $AuthId, $DefaultPasswords; + unset($DefaultPasswords['admin']); + $prompt = @(!$_POST['authpw'] || ($AuthId != $_POST['authid'])); + $page = RetrieveAuthPage($pagename, $auth, $prompt, READPAGE_CURRENT); + Redirect($pagename); +} + blob - /dev/null blob + dbadaf2770a5dd66153332d894818c63ff9e92be (mode 644) --- /dev/null +++ pub/guiedit/README @@ -0,0 +1,6 @@ +The images in this directory are part of the GUIEdit module +for PmWiki, Copyright 2005-2006 Patrick R. Michaud (pmichaud@pobox.com) +These images are part of PmWiki; you can redistribute it and/or modify +them under the terms of the GNU General Public License as published +by the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. See pmwiki.php for full details. blob - /dev/null blob + 720d0b6f5d80956508226aed0b50ee006be4c894 (mode 644) Binary files /dev/null and pub/guiedit/attach.gif differ blob - /dev/null blob + d0d3d0d6146cffb549c06f8f53dbbffae75b6d46 (mode 644) Binary files /dev/null and pub/guiedit/big.gif differ blob - /dev/null blob + a3b8d18f05690f63301309c59e91656ddb9c5960 (mode 644) Binary files /dev/null and pub/guiedit/blank.gif differ blob - /dev/null blob + 64e354b0bf000c09809f8150855df574e01d34fd (mode 644) Binary files /dev/null and pub/guiedit/center.gif differ blob - /dev/null blob + 58e65b065f5e8f4247b9f87fad8b34aced6cc67f (mode 644) Binary files /dev/null and pub/guiedit/em.gif differ blob - /dev/null blob + 1eacc921106a3ea5c4c9d2c2fa8de55b0e413d24 (mode 644) Binary files /dev/null and pub/guiedit/extlink.gif differ blob - /dev/null blob + 2213583eb1e4ddd83926697db5cfe868ae07aa34 (mode 644) Binary files /dev/null and pub/guiedit/fixurl.png differ blob - /dev/null blob + 0902cdd9f1cb15d768fcb02106b17d3991517a91 (mode 644) --- /dev/null +++ pub/guiedit/guiedit.js @@ -0,0 +1,181 @@ +/* Copyright 2004-2019 Patrick R. Michaud (pmichaud@pobox.com) + This file is part of PmWiki; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. See pmwiki.php for full details. + + This file provides Javascript functions to support WYSIWYG-style + editing. The concepts are borrowed from the editor used in Wikipedia, + but the code has been rewritten from scratch to integrate better with + PHP and PmWiki's codebase. + + Script maintained by Petko Yotov www.pmwiki.org/petko +*/ + +function insButton(mopen, mclose, mtext, mlabel, mkey) { + if (mkey > '') { mkey = 'accesskey="' + mkey + '" ' } + document.write("" + + mlabel + ""); +} + +function insMarkup() { + var func = false, tid='text', mopen = '', mclose = '', mtext = ''; + if (arguments[0] == 'FixSelectedURL') { + func = FixSelectedURL; + } + else if (typeof arguments[0] == 'function') { + var func = arguments[0]; + if(arguments.length > 1) tid = arguments[1]; + mtext = func(''); + } + else if (arguments.length >= 3) { + var mopen = arguments[0], mclose = arguments[1], mtext = arguments[2]; + if(arguments.length > 3) tid = arguments[3]; + } + + var tarea = document.getElementById(tid); + if (tarea.setSelectionRange > '') { + var p0 = tarea.selectionStart; + var p1 = tarea.selectionEnd; + var top = tarea.scrollTop; + var str = mtext; + var cur0 = p0 + mopen.length; + var cur1 = p0 + mopen.length + str.length; + while (p1 > p0 && tarea.value.substring(p1-1, p1) == ' ') p1--; + if (p1 > p0) { + str = tarea.value.substring(p0, p1); + if(func) str = func(str); + cur0 = p0 + mopen.length + str.length + mclose.length; + cur1 = cur0; + } + tarea.value = tarea.value.substring(0,p0) + + mopen + str + mclose + + tarea.value.substring(p1); + tarea.focus(); + tarea.selectionStart = cur0; + tarea.selectionEnd = cur1; + tarea.scrollTop = top; + } else if (document.selection) { + var str = document.selection.createRange().text; + tarea.focus(); + range = document.selection.createRange(); + if (str == '') { + range.text = mopen + mtext + mclose; + range.moveStart('character', -mclose.length - mtext.length ); + range.moveEnd('character', -mclose.length ); + } else { + if (str.charAt(str.length - 1) == " ") { + mclose = mclose + " "; + str = str.substr(0, str.length - 1); + if(func) str = func(str); + } + range.text = mopen + str + mclose; + } + range.select(); + } else { tarea.value += mopen + mtext + mclose; } + return; +} + +// Helper functions below by Petko Yotov, www.pmwiki.org/petko +function aE(el, ev, fn) { + if(typeof el == 'string') el = dqsa(el); + for(var i=0; i\"{}|\\\\^`()\\[\\]']", 'g'); + str = str.replace(rx, function(a){ + return '%'+a.charCodeAt(0).toString(16); }); + return str; +} + +window.addEventListener('DOMContentLoaded', function(){ + var NsForm = false; + + var sTop = dqs("#textScrollTop"); + var tarea = dqs('#text'); + if(sTop && tarea) { + if(sTop.value) tarea.scrollTop = sTop.value; + sTop.form.addEventListener('submit', function(){ + sTop.value = tarea.scrollTop; + }); + } + + var ensw = dqs('#EnableNotSavedWarning'); + if(ensw) { + var NsMessage = ensw.value; + NsForm = ensw.form; + if(NsForm) { + NsForm.addEventListener('submit', function(e){ + NsMessage=""; + }); + window.onbeforeunload = function(ev) { + if(NsMessage=="") {return;} + if (typeof ev == "undefined") {ev = window.event;} + if (tarea && tarea.codemirror) {tarea.codemirror.save();} + + var tx = NsForm.querySelectorAll('textarea, input[type="text"]'); + for(var i=0; i]|:+|\|\|| ) *)/); + if(!m) return true; + var insert = "\n"+m[1]; + } + e.preventDefault(); + + content = before.join("\n") + insert + after; + this.value = content; + this.selectionStart = caret + insert.length; + this.selectionEnd = caret + insert.length; + return false; + }); +}; + blob - /dev/null blob + 76e062b8e5fd996275d71c9ffe4347c909dee28a (mode 644) Binary files /dev/null and pub/guiedit/h.gif differ blob - /dev/null blob + 4a358da1e4e8452abca302b9f1e20c73f909863e (mode 644) Binary files /dev/null and pub/guiedit/h1.gif differ blob - /dev/null blob + a6aca2cc940711866955107dbee735f0c8945b6b (mode 644) Binary files /dev/null and pub/guiedit/h2.gif differ blob - /dev/null blob + 0459f89ae2379316ac0c0bf334e9eb121e721a2e (mode 644) Binary files /dev/null and pub/guiedit/h3.gif differ blob - /dev/null blob + 486d47ca53d94f3fef552b7301e2420805cac638 (mode 644) Binary files /dev/null and pub/guiedit/hr.gif differ blob - /dev/null blob + e158e40ccdc8e8cfbcdd272d862f02b718ba5677 (mode 644) Binary files /dev/null and pub/guiedit/indent.gif differ blob - /dev/null blob + d78986d87d4560b4d0225bac1fef4ce231825355 (mode 644) Binary files /dev/null and pub/guiedit/left.gif differ blob - /dev/null blob + 33fb51a9785027e32a095b5288347303a61a9015 (mode 644) Binary files /dev/null and pub/guiedit/math.gif differ blob - /dev/null blob + 0368a46e1411228e8f656465aaf08afddaefe027 (mode 644) Binary files /dev/null and pub/guiedit/ol.gif differ blob - /dev/null blob + 68aace1df0ee76736133b0af7c304ff732fcf9b7 (mode 644) Binary files /dev/null and pub/guiedit/outdent.gif differ blob - /dev/null blob + 21039ffcca7875854b622111c03097e0879ae1e1 (mode 644) Binary files /dev/null and pub/guiedit/pagelink.gif differ blob - /dev/null blob + baefe3fac66bad6eb9ad3f4d46f0db4c3a4fe17d (mode 644) Binary files /dev/null and pub/guiedit/preview.gif differ blob - /dev/null blob + 689a22a64b145942fe9c25b2a0ff4e1975e57435 (mode 644) Binary files /dev/null and pub/guiedit/right.gif differ blob - /dev/null blob + 1e734b698f2ff419e0acd8f1775c4c6456563a0e (mode 644) Binary files /dev/null and pub/guiedit/save.gif differ blob - /dev/null blob + add9870a9ab1a7ec7f0511b4640fe0b2b33dc9d0 (mode 644) Binary files /dev/null and pub/guiedit/small.gif differ blob - /dev/null blob + b1ab46afbd2c01d3293d2ef543449508605d9ee5 (mode 644) Binary files /dev/null and pub/guiedit/spellcheck.gif differ blob - /dev/null blob + 47fd9a2f0ac4fd35142918dd1e69b4363190e22b (mode 644) Binary files /dev/null and pub/guiedit/strong.gif differ blob - /dev/null blob + c5acc181ac6ecb69a37616987ec4a9a24b34a682 (mode 644) Binary files /dev/null and pub/guiedit/sub.gif differ blob - /dev/null blob + a14c7662f092bc9e4db087c3534e8e6fafaf2029 (mode 644) Binary files /dev/null and pub/guiedit/sup.gif differ blob - /dev/null blob + d0bad0f374f569fd640206715bc859eaa97dbfcc (mode 644) Binary files /dev/null and pub/guiedit/table.gif differ blob - /dev/null blob + 6c31b5c1d8c8e3b792133f4f1934f13152eaa874 (mode 644) Binary files /dev/null and pub/guiedit/ul.gif differ blob - /dev/null blob + 1399a413a6b8cc810304ef617648dc8eaaadb2c8 (mode 644) Binary files /dev/null and pub/guiedit/underline.gif differ blob - /dev/null blob + 60facf6cc040c1dc859e0cd9d527344e5d6ef653 (mode 644) --- /dev/null +++ pub/pmwiki-utils.js @@ -0,0 +1,407 @@ +/* + JavaScript utilities for PmWiki + (c) 2009-2020 Petko Yotov www.pmwiki.org/petko + based on PmWiki addons DeObMail, AutoTOC and Ape + licensed GNU GPLv2 or any more recent version. + + libsortable() "Sortable tables" adapted for PmWiki from + a Public Domain event listener by github.com/tofsjonas +*/ + +(function(){ + function aE(el, ev, fn) { + if(typeof el == 'string') el = dqsa(el); + for(var i=0; i[^<]+<\/span>/ig, '.') + .replace( /[^<]+<\/span>/ig, '@'); + } + + function is_toc_heading(el) { + if(el.offsetParent === null) {return false;} // hidden + if(el.className.match(/\bnotoc\b/)) {return false;} // %notoc% + var p = el.parentNode; + while(p && p !== wikitext) { // >>notoc<<, (:markup:) + if(p.className.match(/\b(notoc|markup2)\b/)) {return false;} + if(p.parentNode) p = p.parentNode; + } + return true; + } + function posy(el) { + var top = 0; + if (el.offsetParent) { + do { + top += el.offsetTop; + } while (el = el.offsetParent); + } + return top; + } + + function any_id(h) { + if(h.id) {return h.id;} // %id=anchor% + var a = h.querySelector('a[id]'); // inline [[#anchor]] + if(a && a.id) {return a.id;} + var prev = h.previousElementSibling; + if(prev) { // [[#anchor]] before !!heading + var a = prev.querySelectorAll('a[id]'); + if(a.length) { + last = a[a.length-1]; + if(last.id && ! last.nextElementSibling) { + var atop = posy(last) + last.offsetHeight; + var htop = posy(h); + if( Math.abs(htop-atop)<20 ) { + h.appendChild(last); + return last.id; + } + } + } + } + return false; + } + + function repeat(x, times) { + var y = ''; + for(var i=0; i= dtoc.MinNumber && dtoc.MinNumber != -1)) ? 1:0; + if(!dtoc.NumberedHeadings && !shouldmaketoc) return; + + for(var i=0; iprevlevel+1) actual_level = prevlevel+1; +// prevlevel = actual_level; + + var currnb = numberheadings(actual_level); + if(! hc[2]) { + hc[2] = 'toc-'+currnb.replace(/\.+$/g, ''); + hc[0].id = hc[2]; + } + if(dtoc.NumberedHeadings && currnb.length) hc[0].insertAdjacentHTML('afterbegin', currnb+' '); + + if(! shouldmaketoc) { continue; } + var txt = hc[0].textContent.replace(/^\s+|\s+$/g, '').replace(/' + txt + '
\n'; + if(dtoc.EnableBacklinks) hc[0].insertAdjacentHTML('beforeend', ' '); + + } + + if(! shouldmaketoc) return; + + html = ""+dtoc.contents+" " + +"[]" + +"
" + html + "
"; + + if(!tocdiv) { + var wrap = "
"; + if(dtoc.ParentElement && dqs(dtoc.ParentElement)) { + dqs(dtoc.ParentElement).insertAdjacentHTML('afterbegin', wrap); + } + else { + hcache[0][0].insertAdjacentHTML('beforebegin', wrap); + } + tocdiv = dqs('.PmTOCdiv'); + + } + if(!tocdiv) return; // error? + tocdiv.className += " frame"; + tocdiv.id = '_toc'; + + tocdiv.innerHTML = html; + + if(window.localStorage.getItem('closeTOC')) { dqs('#PmTOCchk').checked = true; } + aE('#PmTOCchk', 'change', function(e){ + window.localStorage.setItem('closeTOC', this.checked ? "close" : ''); + }); + + var hh = location.hash; + if(hh.length>1) { + var cc = document.getElementById(hh.substring(1)); + if(cc) cc.scrollIntoView(); + } + } + + var numhead = [0, 0, 0, 0, 0, 0, 0]; + var numheadspec = '1 1 1 1 1 1 1'.split(/ /g); + function numhead_alpha(n, upper) { + if(!n) return '_'; + var alpha = '', mod, start = upper=='A' ? 65 : 97; + while (n>0) { + mod = (n-1)%26; + alpha = String.fromCharCode(start + mod) + '' + alpha; + n = (n-mod)/26 | 0; + } + return alpha; + } + function numhead_roman(n, upper) { + if(!n) return '_'; + // partially based on http://blog.stevenlevithan.com/?p=65#comment-16107 + var lst = [ [1000,'M'], [900,'CM'], [500,'D'], [400,'CD'], [100,'C'], [90,'XC'], + [50,'L'], [40,'XL'], [10,'X'], [9,'IX'], [5,'V'], [4,'IV'], [1,'I'] ]; + var roman = ''; + for(var i=0; i=lst[i][0]) { + roman += lst[i][1]; + n -= lst[i][0]; + } + } + return (upper == 'I') ? roman : roman.toLowerCase(); + } + + function numberheadings(n) { + if(nn; j--) numhead[j]=0; + numhead[6]=n; + numhead[n]++; + var qq = ''; + for (var j=0; j<=n; j++) { + var curr = numhead[j]; + var currspec = numheadspec[j]; + if(currspec.match(/a/i)) { curr = numhead_alpha(curr, currspec); } + else if(currspec.match(/i/i)) { curr = numhead_roman(curr, currspec); } + + qq+=curr+"."; + } + return qq; + } + + function makesortable() { + if(! pf(adata(__script__, 'sortable'))) return; + var tables = dqsa('table.sortable,table.sortable-footer'); + for(var i=0; iDon't edit these files directly, as you may lose your edits the +next time you upgrade PmWiki! + +Instead, copy the files to another directory in pub/skins/ and edit +them there. You can then configure PmWiki to use your modified layout +files by setting the $Skin variable in your local/config.php. For +example, if you copy your custom skin to pub/skins/custom, then you +would set + $Skin = 'custom'; +in local/config.php. + +The files in this directory: + skin.tmpl -- the default template for page layouts + skin.css -- PmWiki's default css + skin.php -- some template functions + skin.js -- some template functions (browser) + *.svg -- icons + +Note, the default PmWiki logo is in the "pmwiki" template directory. +If you just want to change the logo, you can do it by setting $PageLogoUrl +to the url location of your logo. + blob - /dev/null blob + 399b473332d9f376c2daecb81b404332fc5ca921 (mode 644) --- /dev/null +++ pub/skins/ircnow/skin.css @@ -0,0 +1,557 @@ +/*********************************************************************** +** skin.css +** Copyright 2016-2020 Petko Yotov www.pmwiki.org/petko +** +** Partially based on pmwiki.css: +** Copyright 2004-2006 Patrick R. Michaud pmichaud@pobox.com +** Copyright 2006 Hagan Fox +** +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +** +** This skin was implemented with a mobile-first approach. +** It should work reasonably well with browsers released since 2009. +** This CSS uses relative "Reference pixel" dimensions. +***********************************************************************/ + +html, body, #bodywrap { + padding: 0; + margin: 0; + font-family: 'Arial', 'Helvetica', Sans-serif; + font-size:15px; + line-height: 25px; + background-color: #f7f7f7; + color: black; + min-height: 100%; + position: relative; +} + +#wikibody { + position: relative; + background-color: white; + padding: 3px; + margin: 0; +} + +#wikileft, #wikihead-searchform, #wikicmds { + background-color: #fff; + opacity: 0.1; + display: none; + position: absolute; + border: 1px solid #ccc; + max-width: 90%; + max-width: 90vw; + height: auto; + overflow: auto; + top: 8px; + -webkit-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); + -moz-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); + box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); +} + +#wikihead { + border-bottom:1px solid #ccc; + padding: 0; + margin: 0; + line-height: 13px; + min-height: 33px; +} + +#wikihead-searchform { + text-align: center; + padding: 10px; + z-index: 5; + right: 30px; + width: 16em; + max-width: 80%; + line-height: 167%; +} +#wikihead-searchquery { + max-width: 12em; +} +#wikimid { + margin: 0; + padding: 0; + max-width: 100%; +} + +#wikileft { + left: 30px; + padding: 6px; + z-index: 4; +} + +#wikicmds { + padding:0px; + z-index: 6; + white-space:nowrap; + right: 30px; +} + +#wikitext { + margin-top: 12px; +} + +#wikifoot { + border-top: 1px solid #ccc; + padding: 3px; + font-size: 13.5px; +} + +#wikifoot.nosidebar { + padding-left:3px; +} + +#wikihead-search-toggle, #wikileft-toggle, #wikicmds-toggle { + display: none; +} + +#wikihead-search-toggle-label { background-image: url(xsearch.svg); } +#wikileft-toggle-label { background-image: url(xmenu.svg); } +#wikicmds-toggle-label { background-image: url(xwrench.svg); } + +#wikihead-search-toggle-label, #wikileft-toggle-label, #wikicmds-toggle-label { + position: relative; + display: block; + width: 22px; + height: 22px; + background-size: cover; + background-repeat: no-repeat; + float:right; + margin: 6px 6px 0 6px; + z-index: 3; +} + +#wikileft-toggle-label { + float: left; +} +#wikicmds-toggle-label { + margin: 3px; +} + +#wikihead-search-toggle:checked + label, +#wikileft-toggle:checked + label, +#wikicmds-toggle:checked ~ #wikimid #wikicmds-toggle-label { + background-image: url(xclose.svg); +} + +#wikileft-toggle:checked ~ * #wikileft, +#wikihead-search-toggle:checked ~ * #wikihead-searchform, +#wikicmds-toggle:checked ~ * #wikicmds { + display: block; + opacity: 1; + +-webkit-animation: fadein 1s; + -moz-animation: fadein 1s; + -ms-animation: fadein 1s; + -o-animation: fadein 1s; + animation: fadein 1s; +} + +#wikioverlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + overflow: hidden; + background-color: rgba(0, 0, 0, .2); + z-index: 2; + display: none; +} +#wikileft-toggle:checked ~ #wikioverlay, +#wikihead-search-toggle:checked ~ #wikioverlay, +#wikicmds-toggle:checked ~ #wikioverlay { + display: block; +} + + + +/* These are for the left-sidebar. */ +#wikileft .vspace { margin-top:20px; } +#wikileft ul { list-style:none; padding:0px; margin:0px; } +#wikileft li { margin:8px 0px; padding-left: 6px; } +.sidehead { + margin:0px; padding:4px 2px 2px 2px; + font-weight:bold; font-style:normal; +} +.sidehead a + { color:#505050; font-weight:bold; font-style:normal; } +#wikileft a { text-decoration:none; color:black; padding: 8px 0; } +#wikileft a:hover { text-decoration:underline; color:blue; } + +#wikicmds ul { list-style:none; margin:0px; padding:0px; } +#wikicmds li { padding: 8px; border-top:1px solid #ccc;} +#wikicmds li:first-child {border-top:none;} +#wikicmds li a { text-decoration:none; color:black; border: none; } +#wikicmds li a.createlink { display:none; } +#wikicmds li a:hover { text-decoration:underline; color:blue; } + + +/* These primarily adjust the size and spacing of heading elements, +** most browsers have atrocious defaults for these. */ +h1, h2, h3, h4, h5, h6 { margin-top:15px; margin-bottom:9px; } +h1, h2, h3, h6 { font-weight:normal; } +h4, h5 { font-weight:bold; } +h1 code, h2 code, h3 code, h4 code { font-size:15px; } +h1 { font-size:27px; } +h2 { font-size:22px; } +h3 { font-size:18px; } +h4 { font-size:16px; } +h5 { font-size:15px; } +h6 { font-size:15px; } + +.pagegroup { line-height:30px; } +.pagetitle { line-height:24px; margin:0px; font-size:24px; font-weight:normal; } +.wikiaction { margin-top:4px; margin-bottom:4px; } + +/* These control the fixed-width text elements of the page */ +pre, code { font-size:14px; } +pre, code, .diffmarkup { font-family:'Lucida Console','Andale Mono','Courier New',Courier,monospace; } +pre { line-height: 18px; } +pre code, code code, pre pre { font-size:100%; } +pre, code.escaped { max-width: 100%; overflow: auto; } + +/* Large tables can scroll */ +div.scrollable { max-width: 100%; overflow: auto; border: 1px dotted red;} + +#wikiedit form { margin:0px; width:100%; max-width:100%; } +#wikiedit textarea { width:99.5%; max-width:99.5%; max-height: 60vh; } +#wikiedit input { max-width:99.5%; } +.wikimessage { margin-top:4px; margin-bottom:4px; font-style:italic; } + +input, img, iframe { + max-width: 100%; +} +dd { + margin-left: 15px; +} +ul, ol { + margin: 0; + padding: 0 0 0 20px; +} + +select, textarea, input { + font-size: 16px; /*disable zoom-in on some phones*/ +} + +/* xlpage-utf-8.php */ +.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} +.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} +.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { + margin-left:0; margin-right: 15px; +} + +/* pmwiki.php */ +ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } +code.escaped { + white-space: pre; + display: inline-block; + vertical-align: bottom; + text-indent: 0; +} +.vspace { margin-top:25px; } +.indent { margin-left:15px; } +.outdent { margin-left:15px; text-indent:-15px; } +a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } +a.createlink { text-decoration:none; position:relative; top:-7px; + font-weight:bold; font-size:smaller; border-bottom:none; } +img { border:0px; } + +/* Prevent white space below vertically stacked images */ +div.imgonly img, div.imgcaption img:first-child { vertical-align: bottom; } + +/* wikistyles.php */ +.frame { border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } +.lfloat { float:left; margin-right:7px; } +.rfloat { float:right; margin-left:7px; } + +/* stdmarkup.php */ +table.markup { border:2px dotted #ccf; width:100%; } +/* td.markup1, td.markup2 { padding-left:0px; padding-right:0px; } */ +table.horiz td.markup1, table.vert td.markup1 { + border-bottom:1px solid #ccf; border-right: none; width: auto; } +table.horiz td.markup1, table.horiz td.markup2 { + /* horizontal markup tables to vertical */ + display: block; } +table.markup caption { text-align:left; } +div.faq p, div.faq pre { margin-left:15px; } +div.faq p.question { margin: 0; font-weight:bold; } +div.faqtoc div.faq * { display:none; } +div.faqtoc div.faq p.question + { display:block; font-weight:normal; margin:7px 0 7px 15px; line-height:normal; } +div.faqtoc div.faq p.question * { display:inline; } + +/* simuledit.php */ +.editconflict { color:green; + font-style:italic; margin-top:20px; margin-bottom:20px; } + +/* pagerev.php */ +.diffbox { border-left:1px #999 solid; margin-top:20px; font-size:12px; } +.diffauthor { font-weight:bold; } +.diffchangesum { font-weight:bold; } +.difftime { background-color:#ddd; } +.difftype { font-weight:bold; } +.diffadd { border-left:5px #9f9 solid; padding-left:5px; } +.diffdel { border-left:5px #ff9 solid; padding-left:5px; } +.diffrestore { margin:20px 0px; } +.diffmarkup { font-size:14px; } +.diffmarkup del { background:#ff9; text-decoration: none; } +.diffmarkup ins { background:#9f9; text-decoration: none; } + +/* urlapprove.php */ +.apprlink { font-size:smaller; } + +/* vardoc.php */ +a.varlink { text-decoration:none; } + +#wikiedit-minoredit { + white-space: nowrap; +} + +/* In HTML5 only styles are valid for alignment */ +td.left, th.left { text-align: left;} +td.center, th.center { text-align: center;} +td.right, th.right { text-align: right;} +td.top, th.top { vertical-align: top;} +td.bottom, th.bottom { vertical-align: bottom;} +td.middle, th.middle { vertical-align: middle;} + +.noPmTOC {display:none;} +.PmTOCdiv { display: inline-block; font-size: 13px; overflow: auto; max-height: 500px;} +.PmTOCdiv a { text-decoration: none;} +.back-arrow {font-size: .9em; text-decoration: none;} +#PmTOCchk + label {cursor: pointer;} +#PmTOCchk {display: none;} +#PmTOCchk:not(:checked) + label > .pmtoc-show {display: none;} +#PmTOCchk:checked + label > .pmtoc-hide {display: none;} +#PmTOCchk:checked + label + div {display: none;} + +table.simpletable { + border-collapse: collapse; +} +table.simpletable tr:nth-child(odd) { + background-color: #eee; +} +table.simpletable th { + background-color: #ccc; +} +table.simpletable th, table.simpletable td { + border: 1px solid #888; +} + +table.sortable th { + cursor: pointer; +} + +table.sortable th:hover::after { + color: inherit; + content: "\00A0\025B8"; +} + +table.sortable th::after { + color: transparent; + content: "\00A0\025B8"; +} + +table.sortable th.dir-u::after { + color: inherit; + content: "\00A0\025BE"; +} + +table.sortable th.dir-d::after { + color: inherit; + content: "\00A0\025B4"; +} + +*[data-pmtoggle], .pmtoggleall { + cursor: pointer; + font-weight: bold; +} +*[data-pmtoggle]::before { + content: "\025BE\00A0"; + float: left; +} +*[data-pmtoggle="closed"]::before { + content: "\025B8\00A0"; +} + +*[data-pmtoggle] + * { + margin-left: .8em; +} +*[data-pmtoggle="closed"] + * { + display: none; +} + +@media screen and (min-width:50em) { + html, body, #bodywrap { + line-height: 20px; + width: 100%; + margin: 0 auto; + background-color: #f7f7f7; + } + + #wikileft, #wikihead-searchform, #wikicmds { + background-color: #f7f7f7; + opacity: 1; + display: block; + position: relative; + border: none; + max-width: none; + height: auto; + max-height: none; + overflow: auto; + top: 0px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + #wikicmds-toggle-label, #wikileft-toggle-label, #wikihead-search-toggle-label { + display: none; + } + #wikihead-searchform { + background-color: transparent; + float: right; + padding: 4px; + right: 6px; + top: 6px; + width: auto; + max-width: none; + line-height: inherit; + overflow: hidden; + } + #wikilogo { + display: inline-block; + margin-top: 4px; + padding: 6px; + } + #wikihead, #wikihead input { + font-size: 85%; + } + + #wikihead-recent-changes-link, #wikihead-searchlink{ + display: inline; + } + + #wikimid { + display: table; + table-layout:fixed; + width: 100%; + } + #wikisidebar, #wikibody { + display: table-cell; + } + + #wikisidebar { + position: relative; + border-right:1px solid #ccc; + width:167px; + vertical-align: top; + padding: 0; margin: 0; + overflow: auto; + } + #wikileft { + padding:6px; + left: 0; + margin: 0 1px 0 0; + background: transparent; + font-size: 13px; + line-height: 17px; + } + #wikileft a { padding: 0px; } + #wikileft li {margin:0px; } + + #wikibody { + padding-left: 10px; + vertical-align: top; + } + + #wikicmds { + right: 0px; + background-color: transparent; + float:right; + white-space:nowrap; + font-size:13px; + } + #wikicmds li { display:inline; margin:0px 5px; padding: 0; border: none; } + + #wikifoot { + padding-left:178px; + } + + #wikifoot.nosidebar { + padding-left:10px; + } + .vspace { margin-top: 20px; } + .indent { margin-left:40px; } + .outdent { margin-left:40px; text-indent:-40px; } + + .rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { + margin-left:0; margin-right: 40px; + } + + ul, ol { padding: 0 0 0 40px; } + dd { margin-left: 40px; } + + table.horiz td.markup1, table.horiz td.markup2 { + display: table-cell; } + + td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } + table.vert td.markup1 { border-bottom:1px solid #ccf; } + table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; border-bottom:none; } + td.markup1 pre { white-space: pre-wrap; } + + div.faq p, div.faq pre { margin-left:40px; } + div.faq p.question { margin:15px 0 12px 0; } + div.faqtoc div.faq p.question + { margin:8px 0 8px 20px; } + + + select, textarea, input { + font-size: 14px; + } + + #wikileft-toggle:checked ~ #wikioverlay, + #wikihead-search-toggle:checked ~ #wikioverlay, + #wikicmds-toggle:checked ~ #wikioverlay { + display: none; + } + +} + +/* These affect the printed appearance of the web view (not the separate +** print view) of pages. The sidebar and action links aren't printed. */ +@media print { + body { width:auto; margin:0px; padding:8px; } + #wikihead, #wikileft, #wikicmds, .footnav { display:none; } + #wikifoot { padding:2px; } + *[data-pmtoggle="closed"] + * { display: inherit; } + *[data-pmtoggle="closed"]::before { content: "\025BE\00A0"; } +} + +/* Fade-in animation */ +@keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-moz-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-ms-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-o-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + blob - /dev/null blob + 53d2d3fb437082a594700f0fb185a79520ed7163 (mode 644) --- /dev/null +++ pub/skins/ircnow/skin.js @@ -0,0 +1,78 @@ +/*********************************************************************** +** skin.js +** Copyright 2016-2017 Petko Yotov www.pmwiki.org/petko +** +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +** +** This script fixes the styles of some elements when some directives +** like (:noleft:) are used in a page. +***********************************************************************/ +(function(){ + var W = window, D = document; + function $(x) { // returns element from id + return D.getElementById(x); + } + function hide(id) { // hides element + var el = $(id); + if(el) el.style.display = 'none'; + } + function cname(id, c) { // set element className + var el = $(id); + if(el) el.className = c; + } + var wsb = $('wikisidebar'); + if(! wsb) { // (:noleft:) + hide('wikileft-toggle-label') + cname('wikifoot', 'nosidebar'); + } + else { + var sbcontent = wsb.textContent || wsb.innerText; + if(! sbcontent.replace(/\s+/, '').length) // empty sidebar, eg. protected + hide('wikileft-toggle-label'); + } + var wcmd = $('wikicmds'); + if(wcmd) { // page actions + var pacontent = wcmd.textContent || wcmd.innerText; + if(! pacontent.replace(/\s+/, '').length) // empty, eg. protected + hide('wikicmds-toggle-label'); + } + if(! $('wikihead-searchform')) // no search form, eg. custom header + hide('wikihead-search-toggle-label'); + var overlay = $('wikioverlay'); + if(overlay) { + overlay.addEventListener('click', function(){ + $('wikicmds-toggle').checked = false; + $('wikihead-search-toggle').checked = false; + $('wikileft-toggle').checked = false; + }); + } + var scrolltables = function() { + // This function "wraps" large tables in a scrollable div + // and "unwraps" narrow tables from the scrollable div + // allowing table alignement + var tables = D.getElementsByTagName('table'); + for(var i=0; i pn.offsetWidth) { + var nn = D.createElement('div'); + pn.insertBefore(nn, t).className = 'scrollable'; + nn.appendChild(t); + } + } + } + } + W.addEventListener('resize', scrolltables, false); + D.addEventListener('DOMContentLoaded', scrolltables, false); +})(); blob - /dev/null blob + bdb388b809c945ff1cbebe47baf372060d09bf5c (mode 644) --- /dev/null +++ pub/skins/ircnow/skin.php @@ -0,0 +1,89 @@ +\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/e', + "Keep(TrackAnchors('$1') ? '' : \"\", 'L')"); +} +else { + Markup('[[#','<[[','/(?>\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/', + "MarkupKeepTrackAnchors"); +} +function MarkupKeepTrackAnchors($m) { + return Keep(TrackAnchors($m[1]) ? '' : "", 'L'); +} + +# in HTML5 "clear" is a style not an attribute +Markup('[[<<]]','inline','/\\[\\[<<\\]\\]/',"
"); + +# Allow skin header and footer to be written +# in a wiki page, and use defaults otherwise +SDVA($WrapSkinSections, array( + '#skinheader' => '
+
+ %s +
+
', + '#skinfooter' => '
+ %s +
', +)); +SDVA($HideTemplateSections, array( + '#skinheader' => 'PageHeaderFmt', + '#skinfooter' => 'PageFooterFmt', +)); + +# This function prints a skin element which is written +# inside a [[#header]]...[[#headerend]] section in Site.SkinElements +# overriding the existing section from the template file + +function SkinFmt($pagename, $args) { + global $WrapSkinSections, $HideTemplateSections, $TmplDisplay; + + $args = preg_split('!\\s+!', $args, null, PREG_SPLIT_NO_EMPTY); + + $section = array_shift($args); + $hidesection = $HideTemplateSections[$section]; + + if(isset($TmplDisplay[$hidesection]) && $TmplDisplay[$hidesection] == 0) { + return; # Section was disabled by (:noheader:) or (:nofooter:) + } + + foreach($args as $p) { + $pn = FmtPageName($p, $pagename); + $elm = RetrieveAuthSection($pn, "$section{$section}end"); + if(!$elm) continue; + + $html = MarkupToHTML($pagename, Qualify($pn, $elm)); + echo sprintf($WrapSkinSections[$section], $html); + SetTmplDisplay($hidesection,0); + return; + } + if(@$DefaultSkinElements[$section]) + echo FmtPageName($DefaultSkinElements[$section], $pagename); +} + blob - /dev/null blob + 27018324e44da9231a64a2c76ec58677ced9f6b8 (mode 644) --- /dev/null +++ pub/skins/ircnow/skin.tmpl @@ -0,0 +1,89 @@ + + + + $WikiTitle | {$Group} / {$Title} $ActionTitle + + + + + + +
+ + + + + + + + + +
+
+ +
+ + $[Recent Changes] - + + $[Search]: + + + + +
+
+
+ + +
+ + + + +
+
+ + +
+ + +
+ +

{$Title}

+
+ + + +
+ +
+ +
+ + + + + +
+
+ + + + + + + + blob - /dev/null blob + b972d12a8cdad477a90b61bd1e1610158a8816a9 (mode 644) --- /dev/null +++ pub/skins/ircnow/xclose.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + c7ead3df5fd8fa3b694f2b6b1f884d8693132b13 (mode 644) --- /dev/null +++ pub/skins/ircnow/xmenu.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 4495dcc8d3eaaf54d3271cc3d3da44e873ad80ba (mode 644) --- /dev/null +++ pub/skins/ircnow/xsearch.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 6b4d840aaffc2586556118f46e9d14d8aefc0567 (mode 644) --- /dev/null +++ pub/skins/ircnow/xwrench.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 2374d41a54d7d76a956409ee5670bc73555032f4 (mode 644) --- /dev/null +++ pub/skins/pmwiki/README @@ -0,0 +1,22 @@ +This directory contains the files to display pages in PmWiki according +to the default layout. + +==>Don't edit these files directly, as you may lose your edits the +next time you upgrade PmWiki! + +Instead, copy the files to another directory in pub/skins/ and edit +them there. You can then configure PmWiki to use your modified layout +files by setting the $Skin variable in your local/config.php. For +example, if you copy your custom skin to pub/skins/custom, then you +would set + $Skin = 'custom'; +in local/config.php. + +The files in this directory: + pmwiki.tmpl -- the default template for page layouts + pmwiki.css -- PmWiki's default css + pmwiki-32.gif -- the PmWiki logo + +If you just want to change the logo, you can do it by setting $PageLogoUrl +to the url location of your logo. + blob - /dev/null blob + 6f74964c78661c1962e1612285b87489e56ad597 (mode 644) Binary files /dev/null and pub/skins/pmwiki/pmwiki-32.gif differ blob - /dev/null blob + 0c51298398520f627ffb26756a1416694e9ce133 (mode 644) --- /dev/null +++ pub/skins/pmwiki/pmwiki.css @@ -0,0 +1,118 @@ +/*********************************************************************** +** pmwiki.css +** Copyright 2004-2017 Patrick R. Michaud (pmichaud@pobox.com) +** Copyright 2006 Hagan Fox +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +** +** File maintained by Petko Yotov www.pmwiki.org/petko +***********************************************************************/ + +/* This sets the overall frame for the site */ +body { + margin:0px; background-color:#f7f7f7; color: black; + font-family:Arial,Helvetica,sans-serif; font-size:11pt; +} + +/* These control the fixed-width text elements of the page */ +textarea, pre, code { font-size:0.9em; } +pre, code { font-family:'Lucida Console','Andale Mono','Courier New',Courier,monospace; } +pre { line-height:1.2em; } +pre code, code code, pre pre { font-size:100%; } + +/* These primarily adjust the size and spacing of heading elements, +** most browsers have atrocious defaults for these. */ +h1, h2, h3, h4, h5, h6 { margin-top:1.0em; margin-bottom:0.6em; } +h1, h2, h3, h6 { font-weight:normal; } +h4, h5 { font-weight:bold; } +h1 code, h2 code, h3 code, h4 code { font-size:1em; } +h1 { font-size:1.8em; } +h2 { font-size:1.44em; } +h3 { font-size:1.22em; } +h4 { font-size:1.07em; } +h5 { font-size:1.0em; } +h6 { font-size:1.0em; } + +/* The #wikilogo element is the logo from $PageLogoFmt */ +#wikilogo { margin-top:4px; padding:6px; border-bottom:1px #cccccc solid; } + +/* This controls the rest of the heading (primarily the search box) */ +#wikihead { + position:absolute; right:10px; top:10px; + font-family:Verdana,sans-serif; font-size:85%; +} +#wikihead input { font-size:85%; } + +/* These are for the left-sidebar. */ +#wikileft { + width:155px; + padding:6px; border-right:1px #cccccc solid; + line-height:1.33em; + font-size:9.4pt; font-family:Verdana,sans-serif; +} +#wikileft .vspace { margin-top:1.125em; } +#wikileft a { text-decoration:none; color:black; } +#wikileft a:hover { text-decoration:underline; color:blue; } +#wikileft ul { list-style:none; padding:0px; margin:0px; } +#wikileft li { margin:0px; padding-left: 6px; } +.sidehead { + margin:0px; padding:4px 2px 2px 2px; + font-size:11pt; font-weight:bold; font-style:normal; +} +.sidehead a + { color:#505050; font-weight:bold; font-style:normal; } + +/* These affect the main content area. */ +#wikibody { + padding:0px 10px 10px 10px; background-color:white; + font-size:11pt; +} +#wikicmds { + float:right; white-space:nowrap; + font-family:Verdana,sans-serif; font-size:80%; +} +#wikicmds ul { list-style:none; margin:0px; padding:0px; } +#wikicmds li { display:inline; margin:0px 5px; } +#wikicmds li a { text-decoration:none; color:black; border:none; } +#wikicmds li a.createlink { display:none; } +#wikicmds li a:hover { text-decoration:underline; color:blue; } +.pagegroup { margin-top:8px; margin-bottom:2px; } +.pagetitle { line-height:1em; margin:0px; font-size:1.6em; font-weight:normal; } +.wikiaction { margin-top:4px; margin-bottom:4px; } +#wikitext { margin-top:12px; line-height:1.33em; } +#wikitext table { font-size:100%; line-height:1.33em; } /* For MSIE 5.5 */ + +/* These are for the edit form. */ +#wikiedit form { margin:0px; width:100%; } +#wikiedit textarea { width:100%; } +.wikimessage { margin-top:4px; margin-bottom:4px; font-style:italic; } + +/* These affect the lines at the very bottom. */ +#wikifoot { + padding-left:178px; padding-bottom:4px; border-top:1px #cccccc solid; + font-family:Verdana,sans-serif; font-size:80%; +} + +/* table class=simpletable from pmwiki-responsive.css */ +table.simpletable { + border-collapse: collapse; +} +table.simpletable tr:nth-child(odd) { + background-color: #eee; +} +table.simpletable th { + background-color: #ccc; +} +table.simpletable th, table.simpletable td { + border: 1px solid #888; +} + +/* These affect the printed appearance of the web view (not the separate +** print view) of pages. The sidebar and action links aren't printed. */ +@media print { + body { width:auto; margin:0px; padding:0.5em; } + #wikihead, #wikileft, #wikicmds, .footnav { display:none; } + #wikifoot { padding:2px; } +} blob - /dev/null blob + 3f761276718f129d9672b9b1263908f594a02cb2 (mode 644) --- /dev/null +++ pub/skins/pmwiki/pmwiki.tmpl @@ -0,0 +1,52 @@ + + + + $WikiTitle | {$Group} / {$Title} $ActionTitle + + + + + + + +
+
+ $[Recent Changes] - + + + $[Search]: + +
+ + + + + + +
+ + +
+ +
+ +

{$Title}

+ +
+ +
+ +
All content is under the IRCNow License. $[Page last modified on {$LastModified}]
+ + + blob - /dev/null blob + c64c1ca3af62bc773f4e2417850be9b8c66476dd (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/README @@ -0,0 +1,28 @@ +This directory contains the files to display pages in PmWiki according +to the default "responsive" layout, adaptive for large and small screens. + +Note that currently this layout is "beta". It requires relatively recent +mobile and desktop browsers (post-2010). + +==>Don't edit these files directly, as you may lose your edits the +next time you upgrade PmWiki! + +Instead, copy the files to another directory in pub/skins/ and edit +them there. You can then configure PmWiki to use your modified layout +files by setting the $Skin variable in your local/config.php. For +example, if you copy your custom skin to pub/skins/custom, then you +would set + $Skin = 'custom'; +in local/config.php. + +The files in this directory: + skin.tmpl -- the default template for page layouts + skin.css -- PmWiki's default css + skin.php -- some template functions + skin.js -- some template functions (browser) + *.svg -- icons + +Note, the default PmWiki logo is in the "pmwiki" template directory. +If you just want to change the logo, you can do it by setting $PageLogoUrl +to the url location of your logo. + blob - /dev/null blob + 399b473332d9f376c2daecb81b404332fc5ca921 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/skin.css @@ -0,0 +1,557 @@ +/*********************************************************************** +** skin.css +** Copyright 2016-2020 Petko Yotov www.pmwiki.org/petko +** +** Partially based on pmwiki.css: +** Copyright 2004-2006 Patrick R. Michaud pmichaud@pobox.com +** Copyright 2006 Hagan Fox +** +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +** +** This skin was implemented with a mobile-first approach. +** It should work reasonably well with browsers released since 2009. +** This CSS uses relative "Reference pixel" dimensions. +***********************************************************************/ + +html, body, #bodywrap { + padding: 0; + margin: 0; + font-family: 'Arial', 'Helvetica', Sans-serif; + font-size:15px; + line-height: 25px; + background-color: #f7f7f7; + color: black; + min-height: 100%; + position: relative; +} + +#wikibody { + position: relative; + background-color: white; + padding: 3px; + margin: 0; +} + +#wikileft, #wikihead-searchform, #wikicmds { + background-color: #fff; + opacity: 0.1; + display: none; + position: absolute; + border: 1px solid #ccc; + max-width: 90%; + max-width: 90vw; + height: auto; + overflow: auto; + top: 8px; + -webkit-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); + -moz-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); + box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.75); +} + +#wikihead { + border-bottom:1px solid #ccc; + padding: 0; + margin: 0; + line-height: 13px; + min-height: 33px; +} + +#wikihead-searchform { + text-align: center; + padding: 10px; + z-index: 5; + right: 30px; + width: 16em; + max-width: 80%; + line-height: 167%; +} +#wikihead-searchquery { + max-width: 12em; +} +#wikimid { + margin: 0; + padding: 0; + max-width: 100%; +} + +#wikileft { + left: 30px; + padding: 6px; + z-index: 4; +} + +#wikicmds { + padding:0px; + z-index: 6; + white-space:nowrap; + right: 30px; +} + +#wikitext { + margin-top: 12px; +} + +#wikifoot { + border-top: 1px solid #ccc; + padding: 3px; + font-size: 13.5px; +} + +#wikifoot.nosidebar { + padding-left:3px; +} + +#wikihead-search-toggle, #wikileft-toggle, #wikicmds-toggle { + display: none; +} + +#wikihead-search-toggle-label { background-image: url(xsearch.svg); } +#wikileft-toggle-label { background-image: url(xmenu.svg); } +#wikicmds-toggle-label { background-image: url(xwrench.svg); } + +#wikihead-search-toggle-label, #wikileft-toggle-label, #wikicmds-toggle-label { + position: relative; + display: block; + width: 22px; + height: 22px; + background-size: cover; + background-repeat: no-repeat; + float:right; + margin: 6px 6px 0 6px; + z-index: 3; +} + +#wikileft-toggle-label { + float: left; +} +#wikicmds-toggle-label { + margin: 3px; +} + +#wikihead-search-toggle:checked + label, +#wikileft-toggle:checked + label, +#wikicmds-toggle:checked ~ #wikimid #wikicmds-toggle-label { + background-image: url(xclose.svg); +} + +#wikileft-toggle:checked ~ * #wikileft, +#wikihead-search-toggle:checked ~ * #wikihead-searchform, +#wikicmds-toggle:checked ~ * #wikicmds { + display: block; + opacity: 1; + +-webkit-animation: fadein 1s; + -moz-animation: fadein 1s; + -ms-animation: fadein 1s; + -o-animation: fadein 1s; + animation: fadein 1s; +} + +#wikioverlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + overflow: hidden; + background-color: rgba(0, 0, 0, .2); + z-index: 2; + display: none; +} +#wikileft-toggle:checked ~ #wikioverlay, +#wikihead-search-toggle:checked ~ #wikioverlay, +#wikicmds-toggle:checked ~ #wikioverlay { + display: block; +} + + + +/* These are for the left-sidebar. */ +#wikileft .vspace { margin-top:20px; } +#wikileft ul { list-style:none; padding:0px; margin:0px; } +#wikileft li { margin:8px 0px; padding-left: 6px; } +.sidehead { + margin:0px; padding:4px 2px 2px 2px; + font-weight:bold; font-style:normal; +} +.sidehead a + { color:#505050; font-weight:bold; font-style:normal; } +#wikileft a { text-decoration:none; color:black; padding: 8px 0; } +#wikileft a:hover { text-decoration:underline; color:blue; } + +#wikicmds ul { list-style:none; margin:0px; padding:0px; } +#wikicmds li { padding: 8px; border-top:1px solid #ccc;} +#wikicmds li:first-child {border-top:none;} +#wikicmds li a { text-decoration:none; color:black; border: none; } +#wikicmds li a.createlink { display:none; } +#wikicmds li a:hover { text-decoration:underline; color:blue; } + + +/* These primarily adjust the size and spacing of heading elements, +** most browsers have atrocious defaults for these. */ +h1, h2, h3, h4, h5, h6 { margin-top:15px; margin-bottom:9px; } +h1, h2, h3, h6 { font-weight:normal; } +h4, h5 { font-weight:bold; } +h1 code, h2 code, h3 code, h4 code { font-size:15px; } +h1 { font-size:27px; } +h2 { font-size:22px; } +h3 { font-size:18px; } +h4 { font-size:16px; } +h5 { font-size:15px; } +h6 { font-size:15px; } + +.pagegroup { line-height:30px; } +.pagetitle { line-height:24px; margin:0px; font-size:24px; font-weight:normal; } +.wikiaction { margin-top:4px; margin-bottom:4px; } + +/* These control the fixed-width text elements of the page */ +pre, code { font-size:14px; } +pre, code, .diffmarkup { font-family:'Lucida Console','Andale Mono','Courier New',Courier,monospace; } +pre { line-height: 18px; } +pre code, code code, pre pre { font-size:100%; } +pre, code.escaped { max-width: 100%; overflow: auto; } + +/* Large tables can scroll */ +div.scrollable { max-width: 100%; overflow: auto; border: 1px dotted red;} + +#wikiedit form { margin:0px; width:100%; max-width:100%; } +#wikiedit textarea { width:99.5%; max-width:99.5%; max-height: 60vh; } +#wikiedit input { max-width:99.5%; } +.wikimessage { margin-top:4px; margin-bottom:4px; font-style:italic; } + +input, img, iframe { + max-width: 100%; +} +dd { + margin-left: 15px; +} +ul, ol { + margin: 0; + padding: 0 0 0 20px; +} + +select, textarea, input { + font-size: 16px; /*disable zoom-in on some phones*/ +} + +/* xlpage-utf-8.php */ +.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} +.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} +.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { + margin-left:0; margin-right: 15px; +} + +/* pmwiki.php */ +ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } +code.escaped { + white-space: pre; + display: inline-block; + vertical-align: bottom; + text-indent: 0; +} +.vspace { margin-top:25px; } +.indent { margin-left:15px; } +.outdent { margin-left:15px; text-indent:-15px; } +a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } +a.createlink { text-decoration:none; position:relative; top:-7px; + font-weight:bold; font-size:smaller; border-bottom:none; } +img { border:0px; } + +/* Prevent white space below vertically stacked images */ +div.imgonly img, div.imgcaption img:first-child { vertical-align: bottom; } + +/* wikistyles.php */ +.frame { border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } +.lfloat { float:left; margin-right:7px; } +.rfloat { float:right; margin-left:7px; } + +/* stdmarkup.php */ +table.markup { border:2px dotted #ccf; width:100%; } +/* td.markup1, td.markup2 { padding-left:0px; padding-right:0px; } */ +table.horiz td.markup1, table.vert td.markup1 { + border-bottom:1px solid #ccf; border-right: none; width: auto; } +table.horiz td.markup1, table.horiz td.markup2 { + /* horizontal markup tables to vertical */ + display: block; } +table.markup caption { text-align:left; } +div.faq p, div.faq pre { margin-left:15px; } +div.faq p.question { margin: 0; font-weight:bold; } +div.faqtoc div.faq * { display:none; } +div.faqtoc div.faq p.question + { display:block; font-weight:normal; margin:7px 0 7px 15px; line-height:normal; } +div.faqtoc div.faq p.question * { display:inline; } + +/* simuledit.php */ +.editconflict { color:green; + font-style:italic; margin-top:20px; margin-bottom:20px; } + +/* pagerev.php */ +.diffbox { border-left:1px #999 solid; margin-top:20px; font-size:12px; } +.diffauthor { font-weight:bold; } +.diffchangesum { font-weight:bold; } +.difftime { background-color:#ddd; } +.difftype { font-weight:bold; } +.diffadd { border-left:5px #9f9 solid; padding-left:5px; } +.diffdel { border-left:5px #ff9 solid; padding-left:5px; } +.diffrestore { margin:20px 0px; } +.diffmarkup { font-size:14px; } +.diffmarkup del { background:#ff9; text-decoration: none; } +.diffmarkup ins { background:#9f9; text-decoration: none; } + +/* urlapprove.php */ +.apprlink { font-size:smaller; } + +/* vardoc.php */ +a.varlink { text-decoration:none; } + +#wikiedit-minoredit { + white-space: nowrap; +} + +/* In HTML5 only styles are valid for alignment */ +td.left, th.left { text-align: left;} +td.center, th.center { text-align: center;} +td.right, th.right { text-align: right;} +td.top, th.top { vertical-align: top;} +td.bottom, th.bottom { vertical-align: bottom;} +td.middle, th.middle { vertical-align: middle;} + +.noPmTOC {display:none;} +.PmTOCdiv { display: inline-block; font-size: 13px; overflow: auto; max-height: 500px;} +.PmTOCdiv a { text-decoration: none;} +.back-arrow {font-size: .9em; text-decoration: none;} +#PmTOCchk + label {cursor: pointer;} +#PmTOCchk {display: none;} +#PmTOCchk:not(:checked) + label > .pmtoc-show {display: none;} +#PmTOCchk:checked + label > .pmtoc-hide {display: none;} +#PmTOCchk:checked + label + div {display: none;} + +table.simpletable { + border-collapse: collapse; +} +table.simpletable tr:nth-child(odd) { + background-color: #eee; +} +table.simpletable th { + background-color: #ccc; +} +table.simpletable th, table.simpletable td { + border: 1px solid #888; +} + +table.sortable th { + cursor: pointer; +} + +table.sortable th:hover::after { + color: inherit; + content: "\00A0\025B8"; +} + +table.sortable th::after { + color: transparent; + content: "\00A0\025B8"; +} + +table.sortable th.dir-u::after { + color: inherit; + content: "\00A0\025BE"; +} + +table.sortable th.dir-d::after { + color: inherit; + content: "\00A0\025B4"; +} + +*[data-pmtoggle], .pmtoggleall { + cursor: pointer; + font-weight: bold; +} +*[data-pmtoggle]::before { + content: "\025BE\00A0"; + float: left; +} +*[data-pmtoggle="closed"]::before { + content: "\025B8\00A0"; +} + +*[data-pmtoggle] + * { + margin-left: .8em; +} +*[data-pmtoggle="closed"] + * { + display: none; +} + +@media screen and (min-width:50em) { + html, body, #bodywrap { + line-height: 20px; + width: 100%; + margin: 0 auto; + background-color: #f7f7f7; + } + + #wikileft, #wikihead-searchform, #wikicmds { + background-color: #f7f7f7; + opacity: 1; + display: block; + position: relative; + border: none; + max-width: none; + height: auto; + max-height: none; + overflow: auto; + top: 0px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + #wikicmds-toggle-label, #wikileft-toggle-label, #wikihead-search-toggle-label { + display: none; + } + #wikihead-searchform { + background-color: transparent; + float: right; + padding: 4px; + right: 6px; + top: 6px; + width: auto; + max-width: none; + line-height: inherit; + overflow: hidden; + } + #wikilogo { + display: inline-block; + margin-top: 4px; + padding: 6px; + } + #wikihead, #wikihead input { + font-size: 85%; + } + + #wikihead-recent-changes-link, #wikihead-searchlink{ + display: inline; + } + + #wikimid { + display: table; + table-layout:fixed; + width: 100%; + } + #wikisidebar, #wikibody { + display: table-cell; + } + + #wikisidebar { + position: relative; + border-right:1px solid #ccc; + width:167px; + vertical-align: top; + padding: 0; margin: 0; + overflow: auto; + } + #wikileft { + padding:6px; + left: 0; + margin: 0 1px 0 0; + background: transparent; + font-size: 13px; + line-height: 17px; + } + #wikileft a { padding: 0px; } + #wikileft li {margin:0px; } + + #wikibody { + padding-left: 10px; + vertical-align: top; + } + + #wikicmds { + right: 0px; + background-color: transparent; + float:right; + white-space:nowrap; + font-size:13px; + } + #wikicmds li { display:inline; margin:0px 5px; padding: 0; border: none; } + + #wikifoot { + padding-left:178px; + } + + #wikifoot.nosidebar { + padding-left:10px; + } + .vspace { margin-top: 20px; } + .indent { margin-left:40px; } + .outdent { margin-left:40px; text-indent:-40px; } + + .rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { + margin-left:0; margin-right: 40px; + } + + ul, ol { padding: 0 0 0 40px; } + dd { margin-left: 40px; } + + table.horiz td.markup1, table.horiz td.markup2 { + display: table-cell; } + + td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } + table.vert td.markup1 { border-bottom:1px solid #ccf; } + table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; border-bottom:none; } + td.markup1 pre { white-space: pre-wrap; } + + div.faq p, div.faq pre { margin-left:40px; } + div.faq p.question { margin:15px 0 12px 0; } + div.faqtoc div.faq p.question + { margin:8px 0 8px 20px; } + + + select, textarea, input { + font-size: 14px; + } + + #wikileft-toggle:checked ~ #wikioverlay, + #wikihead-search-toggle:checked ~ #wikioverlay, + #wikicmds-toggle:checked ~ #wikioverlay { + display: none; + } + +} + +/* These affect the printed appearance of the web view (not the separate +** print view) of pages. The sidebar and action links aren't printed. */ +@media print { + body { width:auto; margin:0px; padding:8px; } + #wikihead, #wikileft, #wikicmds, .footnav { display:none; } + #wikifoot { padding:2px; } + *[data-pmtoggle="closed"] + * { display: inherit; } + *[data-pmtoggle="closed"]::before { content: "\025BE\00A0"; } +} + +/* Fade-in animation */ +@keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-moz-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-ms-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} +@-o-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + blob - /dev/null blob + 53d2d3fb437082a594700f0fb185a79520ed7163 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/skin.js @@ -0,0 +1,78 @@ +/*********************************************************************** +** skin.js +** Copyright 2016-2017 Petko Yotov www.pmwiki.org/petko +** +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +** +** This script fixes the styles of some elements when some directives +** like (:noleft:) are used in a page. +***********************************************************************/ +(function(){ + var W = window, D = document; + function $(x) { // returns element from id + return D.getElementById(x); + } + function hide(id) { // hides element + var el = $(id); + if(el) el.style.display = 'none'; + } + function cname(id, c) { // set element className + var el = $(id); + if(el) el.className = c; + } + var wsb = $('wikisidebar'); + if(! wsb) { // (:noleft:) + hide('wikileft-toggle-label') + cname('wikifoot', 'nosidebar'); + } + else { + var sbcontent = wsb.textContent || wsb.innerText; + if(! sbcontent.replace(/\s+/, '').length) // empty sidebar, eg. protected + hide('wikileft-toggle-label'); + } + var wcmd = $('wikicmds'); + if(wcmd) { // page actions + var pacontent = wcmd.textContent || wcmd.innerText; + if(! pacontent.replace(/\s+/, '').length) // empty, eg. protected + hide('wikicmds-toggle-label'); + } + if(! $('wikihead-searchform')) // no search form, eg. custom header + hide('wikihead-search-toggle-label'); + var overlay = $('wikioverlay'); + if(overlay) { + overlay.addEventListener('click', function(){ + $('wikicmds-toggle').checked = false; + $('wikihead-search-toggle').checked = false; + $('wikileft-toggle').checked = false; + }); + } + var scrolltables = function() { + // This function "wraps" large tables in a scrollable div + // and "unwraps" narrow tables from the scrollable div + // allowing table alignement + var tables = D.getElementsByTagName('table'); + for(var i=0; i pn.offsetWidth) { + var nn = D.createElement('div'); + pn.insertBefore(nn, t).className = 'scrollable'; + nn.appendChild(t); + } + } + } + } + W.addEventListener('resize', scrolltables, false); + D.addEventListener('DOMContentLoaded', scrolltables, false); +})(); blob - /dev/null blob + bdb388b809c945ff1cbebe47baf372060d09bf5c (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/skin.php @@ -0,0 +1,89 @@ +\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/e', + "Keep(TrackAnchors('$1') ? '' : \"\", 'L')"); +} +else { + Markup('[[#','<[[','/(?>\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/', + "MarkupKeepTrackAnchors"); +} +function MarkupKeepTrackAnchors($m) { + return Keep(TrackAnchors($m[1]) ? '' : "", 'L'); +} + +# in HTML5 "clear" is a style not an attribute +Markup('[[<<]]','inline','/\\[\\[<<\\]\\]/',"
"); + +# Allow skin header and footer to be written +# in a wiki page, and use defaults otherwise +SDVA($WrapSkinSections, array( + '#skinheader' => '
+
+ %s +
+
', + '#skinfooter' => '
+ %s +
', +)); +SDVA($HideTemplateSections, array( + '#skinheader' => 'PageHeaderFmt', + '#skinfooter' => 'PageFooterFmt', +)); + +# This function prints a skin element which is written +# inside a [[#header]]...[[#headerend]] section in Site.SkinElements +# overriding the existing section from the template file + +function SkinFmt($pagename, $args) { + global $WrapSkinSections, $HideTemplateSections, $TmplDisplay; + + $args = preg_split('!\\s+!', $args, null, PREG_SPLIT_NO_EMPTY); + + $section = array_shift($args); + $hidesection = $HideTemplateSections[$section]; + + if(isset($TmplDisplay[$hidesection]) && $TmplDisplay[$hidesection] == 0) { + return; # Section was disabled by (:noheader:) or (:nofooter:) + } + + foreach($args as $p) { + $pn = FmtPageName($p, $pagename); + $elm = RetrieveAuthSection($pn, "$section{$section}end"); + if(!$elm) continue; + + $html = MarkupToHTML($pagename, Qualify($pn, $elm)); + echo sprintf($WrapSkinSections[$section], $html); + SetTmplDisplay($hidesection,0); + return; + } + if(@$DefaultSkinElements[$section]) + echo FmtPageName($DefaultSkinElements[$section], $pagename); +} + blob - /dev/null blob + 27018324e44da9231a64a2c76ec58677ced9f6b8 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/skin.tmpl @@ -0,0 +1,89 @@ + + + + $WikiTitle | {$Group} / {$Title} $ActionTitle + + + + + + +
+ + + + + + + + + +
+
+ +
+ + $[Recent Changes] - + + $[Search]: + + + + +
+
+
+ + +
+ + + + +
+
+ + +
+ + +
+ +

{$Title}

+
+ + + +
+ +
+ +
+ + + + + +
+
+ + + + + + + + blob - /dev/null blob + b972d12a8cdad477a90b61bd1e1610158a8816a9 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/xclose.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + c7ead3df5fd8fa3b694f2b6b1f884d8693132b13 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/xmenu.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 4495dcc8d3eaaf54d3271cc3d3da44e873ad80ba (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/xsearch.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 6b4d840aaffc2586556118f46e9d14d8aefc0567 (mode 644) --- /dev/null +++ pub/skins/pmwiki-responsive/xwrench.svg @@ -0,0 +1 @@ + \ No newline at end of file blob - /dev/null blob + 7dadea1ab6cdb18bb1668213ae4430b329bb232c (mode 644) --- /dev/null +++ pub/skins/print/README @@ -0,0 +1,20 @@ +This directory contains the files to print pages in PmWiki for ?action=print. +This is a template just like any other layout skin, except that for +?action=print PmWiki looks for print.tmpl instead of screen.tmpl. + +==>Don't edit these files directly, as you may lose your edits the +next time you upgrade PmWiki! + +Instead, copy the files to another directory in pub/skins/ and edit +them there. You can then configure PmWiki to use your modified layout +files by setting $ActionSkin['print'] to the name of your new skin. +For example, if you copy your custom print skin to pub/skins/custom, +then you would set + $ActionSkin['print'] = 'custom'; +in local/config.php. + +The files in this directory: + print.tmpl -- the default template for ?action=print + print.css -- the print template's css + print.php -- loaded when the skin is loaded, it redefines the link + formats to a form better suited for printing blob - /dev/null blob + 5244ff5e6d57064d6e8f4f2d3e1591301251d6db (mode 644) --- /dev/null +++ pub/skins/print/print.css @@ -0,0 +1,50 @@ +/*********************************************************************** +** print.css +** Copyright 2004 Patrick R. Michaud (pmichaud@pobox.com) +** This file is part of PmWiki; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published +** by the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. See pmwiki.php for full details. +***********************************************************************/ + +/*********************************************************************** +** These settings are part of the ?action=print skin. If you want +** to change these settings, create a new print template and set +** $PrintTemplateFmt in the config.php file to point to your new +** printing skin. +***********************************************************************/ + +body { + width:auto; + background-color:white; + color:black; + font-family:serif; +} + +#printhead { + font-family:sans-serif; + border-top:3px solid #a0a0a0; + border-bottom:5px solid #a0a0a0; + margin-bottom:1em; +} +#printhead h3 { margin-top:0px; } +#printhead h1 { margin-bottom:0px; } + +#printtitle { +} + +#printfoot { + clear:both; + margin-top:1em; + border-top:5px solid #a0a0a0; + font-size:smaller; +} + + +a:link { color:#444444; font-weight:bold; text-decoration:none; } +a:visited { color:#444444; font-weight:bold; text-decoration:none; } +a.wikilink:hover { color: #444444; text-decoration:underline; } +a.createlink { color:#444444; } +a.createlink:visited { color:#444444; } +a.createlink:hover { color:#ff2222; } + blob - /dev/null blob + 4d30dd0471eac1c1c83aaa31e18874f3b441d770 (mode 644) --- /dev/null +++ pub/skins/print/print.php @@ -0,0 +1,29 @@ +\$LinkText"; +SDV($GroupPrintHeaderFmt,'(:include $Group.GroupPrintHeader basepage={*$FullName}:)(:nl:)'); +SDV($GroupPrintFooterFmt,'(:nl:)(:include $Group.GroupPrintFooter basepage={*$FullName}:)'); +$GroupHeaderFmt = $GroupPrintHeaderFmt; +$GroupFooterFmt = $GroupPrintFooterFmt; + blob - /dev/null blob + e4eee0b6dbcf299b1e4c09935107b3a2e85d254c (mode 644) --- /dev/null +++ pub/skins/print/print.tmpl @@ -0,0 +1,20 @@ + + + $WikiTitle | {$Group} / {$Title} + + + + +
+

$[From $WikiTitle]

+

{$Group}: {$Title}

+
+ +
+
$[Retrieved from {$PageUrl}]
+
All content is under the IRCNow License. $[Page last modified on {$LastModified}]
+ + + blob - /dev/null blob + e9fd498fca44223d7bc7b243e676a79c88ec6f8e (mode 644) --- /dev/null +++ scripts/.htaccess @@ -0,0 +1,19 @@ +# This file is script/.htaccess -- the default distribution contains this +# file to prevent script/ files from being accessed directly by browsers +# (this is a potential, albeit very unlikely, security hole). +# +# If you alter or replace this file, it will likely be overwritten when +# you upgrade from one version of PmWiki to another. Be sure to save +# a copy of your alterations in another location so you can restore them, +# and you might try changing this file to be read-only to prevent a PmWiki +# upgrade from overwriting your altered version. + + + Order Deny,Allow + Deny from all + + + + Require all denied + + blob - /dev/null blob + 28d9eb8f984d3104af4d4055e89c4173b3150c4e (mode 644) --- /dev/null +++ scripts/author.php @@ -0,0 +1,54 @@ +$[An author name is required.]"); +Markup('[[~',' "[[~$Author]] $CurrentTime", + '/(? "[[~$Author]]", + )); +} +if (IsEnabled($EnablePostAuthorRequired,0)) + array_unshift($EditFunctions,'RequireAuthor'); + +## RequireAuthor forces an author to enter a name before posting. +function RequireAuthor($pagename, &$page, &$new) { + global $Author, $MessagesFmt, $AuthorRequiredFmt, $EnablePost; + if (!$Author) { + $MessagesFmt[] = $AuthorRequiredFmt; + $EnablePost = 0; + } +} blob - /dev/null blob + 8f03bd05fa4c988ef00149f8d33abc07f1cc6ede (mode 644) --- /dev/null +++ scripts/authuser.php @@ -0,0 +1,219 @@ +. + + This script enables simple authentication based on username and + password combinations. At present this script can authenticate + from passwords held in arrays or in .htpasswd-formatted files, + but eventually it will support authentication via sources such + as LDAP and Active Directory. + + To configure a .htpasswd-formatted file for authentication, do + $AuthUser['htpasswd'] = '/path/to/.htpasswd'; + prior to including this script. + + Individual username/password combinations can also be placed + directly in the $AuthUser array, such as: + $AuthUser['pmichaud'] = pmcrypt('secret'); + + To authenticate against an LDAP server, put the url for + the server in $AuthUser['ldap'], as in: + $AuthUser['ldap'] = 'ldap://ldap.example.com/ou=People,o=example?uid'; + + Script maintained by Petko YOTOV www.pmwiki.org/petko +*/ + +# let Site.AuthForm know that we're doing user-based authorization +$EnableAuthUser = 1; + +if (@$_POST['authid']) + AuthUserId($pagename, stripmagic(@$_POST['authid']), + stripmagic(@$_POST['authpw'])); +else SessionAuth($pagename); + +function AuthUserId($pagename, $id, $pw=NULL) { + global $AuthUser, $AuthUserPageFmt, $AuthUserFunctions, + $AuthId, $MessagesFmt, $AuthUserPat; + + $auth = array(); + foreach((array)$AuthUser as $k=>$v) $auth[$k] = (array)$v; + $authid = ''; + + # load information from SiteAdmin.AuthUser (or page in $AuthUserPageFmt) + SDV($AuthUserPageFmt, '$SiteAdminGroup.AuthUser'); + SDVA($AuthUserFunctions, array( + 'htpasswd' => 'AuthUserHtPasswd', + 'ldap' => 'AuthUserLDAP', +# 'mysql' => 'AuthUserMySQL', + $id => 'AuthUserConfig')); + + SDV($AuthUserPat, "/^\\s*([@\\w][^\\s:]*):(.*)/m"); + foreach ( (array)$AuthUserPageFmt as $aupn) { + $pn = FmtPageName($aupn, $pagename); + $apage = ReadPage($pn, READPAGE_CURRENT); + if ($apage && preg_match_all($AuthUserPat, + $apage['text'], $matches, PREG_SET_ORDER)) { + foreach($matches as $m) { + if (!preg_match_all('/\\bldaps?:\\S+|[^\\s,]+/', $m[2], $v)) + continue; + if ($m[1][0] == '@') + foreach($v[0] as $g) $auth[$g][] = $m[1]; + else $auth[$m[1]] = array_merge((array)@$auth[$m[1]], $v[0]); + } + } + } + + if (func_num_args()==2) $authid = $id; + else + foreach($AuthUserFunctions as $k => $fn) + if (@$auth[$k] && $fn($pagename, $id, $pw, $auth[$k], $authlist)) + { $authid = $id; break; } + + if (!$authid) { $GLOBALS['InvalidLogin'] = 1; return; } + if (!isset($AuthId)) $AuthId = $authid; + $authlist["id:$authid"] = 1; + $authlist["id:-$authid"] = -1; + foreach(preg_grep('/^@/', (array)@$auth[$authid]) as $g) + $authlist[$g] = 1; + foreach(preg_grep('/^@/', (array)@$auth['*']) as $g) + $authlist[$g] = 1; + foreach(preg_grep('/^@/', array_keys($auth)) as $g) # useless? PITS:01201 + if (in_array($authid, $auth[$g])) $authlist[$g] = 1; + if ($auth['htgroup']) { + foreach(AuthUserHtGroup($pagename, $id, $pw, $auth['htgroup']) as $g) + $authlist["@$g"] = 1; + } + foreach(preg_grep('/^@/', (array)@$auth["-$authid"]) as $g) + unset($authlist[$g]); + SessionAuth($pagename, array('authid' => $authid, 'authlist' => $authlist)); +} + + +function AuthUserConfig($pagename, $id, $pw, $pwlist) { + foreach ((array)$pwlist as $chal) + if (_crypt($pw, $chal) == $chal) return true; + return false; +} + + +function AuthUserHtPasswd($pagename, $id, $pw, $pwlist) { + foreach ((array)$pwlist as $f) { + $fp = fopen($f, "r"); if (!$fp) continue; + while ($x = fgets($fp, 1024)) { + $x = rtrim($x); + @list($i, $c, $r) = explode(':', $x, 3); + if ($i == $id && _crypt($pw, $c) == $c) { fclose($fp); return true; } + } + fclose($fp); + } + return false; +} + + +function AuthUserHtGroup($pagename, $id, $pw, $pwlist) { + $groups = array(); + foreach ((array)$pwlist as $f) { + $fp = fopen($f, 'r'); if (!$fp) continue; + while ($x = fgets($fp, 4096)) { + if (preg_match('/^(\\w[^\\s:]+)\\s*:(.*)$/', trim($x), $match)) { + $glist = preg_split('/[\\s,]+/', $match[2], -1, PREG_SPLIT_NO_EMPTY); + if (in_array($id, $glist)) $groups[$match[1]] = 1; + } + } + fclose($fp); + } + return array_keys($groups); +} + + +function AuthUserLDAP($pagename, $id, $pw, $pwlist) { + global $AuthLDAPBindDN, $AuthLDAPBindPassword, $AuthLDAPReferrals; + if (!$pw) return false; + if (!function_exists('ldap_connect')) + Abort('authuser: LDAP authentication requires PHP ldap functions','ldapfn'); + foreach ((array)$pwlist as $ldap) { + if (!preg_match('!(ldaps?://[^/]+)/(.*)$!', $ldap, $match)) + continue; + ## connect to the LDAP server + list($z, $url, $path) = $match; + $ds = ldap_connect($url); + ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); + if(isset($AuthLDAPReferrals)) # *NOT* IsEnabled + ldap_set_option($ds, LDAP_OPT_REFERRALS, $AuthLDAPReferrals); + ## For Active Directory, don't specify a path and we simply + ## attempt to bind with the username and password directly + if (!$path && @ldap_bind($ds, $id, $pw)) { ldap_close($ds); return true; } + ## Otherwise, we use Apache-style urls for LDAP authentication + ## Split the path into its search components + list($basedn, $attr, $sub, $filter) = explode('?', $path); + if (!$attr) $attr = 'uid'; + if (!$sub) $sub = 'one'; + if (!$filter) $filter = '(objectClass=*)'; + $binddn = @$AuthLDAPBindDN; + $bindpw = @$AuthLDAPBindPassword; + if (ldap_bind($ds, $binddn, $bindpw)) { + ## Search for the appropriate uid + $fn = ($sub == 'sub') ? 'ldap_search' : 'ldap_list'; + $sr = $fn($ds, $basedn, "(&$filter($attr=$id))", array($attr)); + $x = ldap_get_entries($ds, $sr); + ## If we find a unique id, bind to it for success + if ($x['count'] == 1) { + $dn = $x[0]['dn']; + if (@ldap_bind($ds, $dn, $pw)) { ldap_close($ds); return true; } + } + } + ldap_close($ds); + } + return false; +} + + +# The _crypt function provides support for SHA1 encrypted passwords +# (keyed by '{SHA}') and Apache MD5 encrypted passwords (keyed by +# '$apr1$'); otherwise it just calls PHP's crypt() for the rest. +# The APR MD5 encryption code was contributed by D. Faure. + +function _crypt($plain, $salt=null) { + if (strncmp($salt, '{SHA}', 5) == 0) + return '{SHA}'.base64_encode(pack('H*', sha1($plain))); + if (strncmp($salt, '$apr1$', 6) == 0) { + preg_match('/^\\$apr1\\$([^$]+)/', $salt, $match); + $salt = $match[1]; + $length = strlen($plain); + $context = $plain . '$apr1$' . $salt; + $binary = pack('H32', md5($plain . $salt . $plain)); + for($i = $length; $i > 0; $i -= 16) + $context .= substr($binary, 0, min(16, $i)); + for($i = $length; $i > 0; $i >>= 1) + $context .= ($i & 1) ? chr(0) : $plain[0]; + $binary = pack('H32', md5($context)); + for($i = 0; $i < 1000; $i++) { + $new = ($i & 1) ? $plain : $binary; + if ($i % 3) $new .= $salt; + if ($i % 7) $new .= $plain; + $new .= ($i & 1) ? $binary : $plain; + $binary = pack('H32', md5($new)); + } + $q = ''; + for ($i = 0; $i < 5; $i++) { + $k = $i + 6; + $j = $i + 12; + if ($j == 16) $j = 5; + $q = $binary[$i].$binary[$k].$binary[$j] . $q; + } + $q = chr(0).chr(0).$binary[11] . $q; + $q = strtr(strrev(substr(base64_encode($q), 2)), + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'); + return "\$apr1\$$salt\$$q"; + } + if (md5($plain) == $salt) return $salt; + return pmcrypt($plain, $salt); +} blob - /dev/null blob + ef0c9904ccb018e484d5cbd985a89b44c76d28e4 (mode 644) --- /dev/null +++ scripts/blocklist.php @@ -0,0 +1,242 @@ + 1)); + $ptext = implode(' ', @$_POST); + if ($ptext && @$BlocklistActions[$action]) { + Blocklist($pagename, $ptext); + if (!$EnablePost) { + unset($_POST['post']); + unset($_POST['postattr']); + unset($_POST['postedit']); + } + } +} + + +## If $EnableBlocklist is set to 10 or higher, then arrange to +## periodically download the "chongqed" and "moinmaster" blacklists. +if ($EnableBlocklist >= 10) { +# SDVA($BlocklistDownload['SiteAdmin.Blocklist-Chongqed'], array( +# 'url' => 'http://blacklist.chongqed.org/', +# 'format' => 'regex')); + SDVA($BlocklistDownload['SiteAdmin.Blocklist-MoinMaster'], array( + 'url' => 'http://moinmo.in/BadContent?action=raw', + 'format' => 'regex')); +} + + +## CheckBlocklist is inserted into $EditFunctions, to automatically +## check for blocks on anything being posted through the normal +## "update a page cycle" +array_unshift($EditFunctions, 'CheckBlocklist'); +function CheckBlocklist($pagename, &$page, &$new) { + StopWatch("CheckBlocklist: begin $pagename"); + $ptext = implode(' ', @$_POST); + if (@$ptext) Blocklist($pagename, $ptext); + StopWatch("CheckBlocklist: end $pagename"); +} + + +## Blocklist is the function that does all of the work of +## checking for reasons to block a posting. It reads +## the available blocklist pages ($BlocklistPages) and +## builds an array of strings and regular expressiongs to +## be checked against the page; if any are found, then +## posting is blocked (via $EnablePost=0). The function +## also checks the REMOTE_ADDR against any blocked IP addresses. +function Blocklist($pagename, $text) { + global $BlocklistPages, $BlockedMessagesFmt, $BlocklistDownload, + $BlocklistDownloadRefresh, $Now, $EnablePost, $WhyBlockedFmt, + $MessagesFmt, $BlocklistMessageFmt, $EnableWhyBlocked, $IsBlocked; + + StopWatch("Blocklist: begin $pagename"); + + $BlocklistDownload = (array)@$BlocklistDownload; + SDV($BlocklistPages, + array_merge(array('$SiteAdminGroup.Blocklist', + '$SiteAdminGroup.Blocklist-Farm'), + array_keys($BlocklistDownload))); + SDV($BlocklistMessageFmt, "

$[This post has been blocked by the administrator]

"); + SDVA($BlockedMessagesFmt, array( + 'ip' => '$[Address blocked from posting]: ', + 'text' => '$[Text blocked from posting]: ')); + SDV($BlocklistDownloadRefresh, 86400); + + ## Loop over all blocklist pages + foreach((array)$BlocklistPages as $b) { + + ## load the current blocklist page + $pn = FmtPageName($b, $pagename); + $page = ReadPage($pn, READPAGE_CURRENT); + if (!$page) continue; + + ## if the page being checked is a blocklist page, stop blocking + if ($pagename == $pn) return; + + ## If the blocklist page is managed by automatic download, + ## schedule any new downloads here + if (@$BlocklistDownload[$pn]) { + $bd = &$BlocklistDownload[$pn]; + SDVA($bd, array( + 'refresh' => $BlocklistDownloadRefresh, + 'url' => "http://www.pmwiki.org/blocklists/$pn" )); + if (!@$page['text'] || $page['time'] < $Now - $bd['refresh']) + register_shutdown_function('BlocklistDownload', $pn, getcwd()); + } + + ## If the blocklist is simply a list of regexes to be matched, load + ## them into $terms['block'] and continue to the next blocklist page. + ## Some regexes from remote sites aren't well-formed, so we have + ## to escape any slashes that aren't already escaped. + if (strpos(@$page['text'], 'blocklist-format: regex') !==false) { + if (preg_match_all('/^([^\\s#].+)/m', $page['text'], $match)) + foreach($match[0] as $m) { + $m = preg_replace('#(?$why\n"; + } + StopWatch("Blocklist: end $pagename"); +} + + +## BlocklistDownload() handles retrieving blocklists from +## external sources into PmWiki pages. If it's able to +## download an updated list, it uses that; otherwise it leaves +## any existing list alone. +function BlocklistDownload($pagename, $dir = '') { + global $BlocklistDownloadFmt, $BlocklistDownload, $FmtV; + + if ($dir) { flush(); chdir($dir); } + SDV($BlocklistDownloadFmt, " + [@ +## blocklist-note: NOTE: This page is automatically generated by blocklist.php +## blocklist-note: NOTE: Any edits to this page may be lost! +## blocklist-url: \$BlocklistDownloadUrl +## blocklist-when: \$CurrentTimeISO +# blocklist-format: \$BlocklistFormat +\$BlocklistData + @] +"); + + ## get the existing blocklist page + $bd = &$BlocklistDownload[$pagename]; + $page = ReadPage($pagename, READPAGE_CURRENT); + + ## try to retrieve the remote data + $blocklistdata = @file($bd['url']); + + ## if we didn't get it, and we don't already have text, save a + ## note in the page so we know what happened + if (!$blocklistdata && !@$page['text']) { + $auf = ini_get('allow_url_fopen'); + $blocklistdata = "#### Unable to download blocklist (allow_url_fopen=$auf)"; + } + + ## if we have some new text to save, let's format it and save it + if ($blocklistdata) { + $blocklistdata = implode('', (array)$blocklistdata); + $blocklistdata = preg_replace('/^##blocklist.*/m', '', $blocklistdata); + $FmtV['$BlocklistData'] = $blocklistdata; + $FmtV['$BlocklistDownloadUrl'] = $bd['url']; + $FmtV['$BlocklistFormat'] = $bd['format']; + $page['text'] = FmtPageName($BlocklistDownloadFmt, $pagename); + SDV($page['passwdread'], '@lock'); + } + + ## save our updated(?) blocklist page + WritePage($pagename, $page); +} blob - /dev/null blob + 1e3b4820a94fbd9625ddf6df964af29a3b87f17f (mode 644) --- /dev/null +++ scripts/caches.php @@ -0,0 +1,67 @@ + $LastModTime) $LastModTime = $v; } + +if (@$EnableIMSCaching) { + SDV($IMSCookie, $CookiePrefix.'imstime'); + SDV($IMSCookieExpires, $Now + 60*60*24*30); + SDV($IMSInvalidators, array('authpw', 'author')); + $LogoutCookies[] = $IMSCookie; + + if ($IMSCookie) { + $IMSTime = @$_COOKIE[$IMSCookie]; + if ($IMSTime < $LastModTime + || array_intersect($IMSInvalidators, array_keys($_POST))) { + $IMSTime = $Now; + pmsetcookie($IMSCookie, $IMSTime, $IMSCookieExpires, '/'); + } + } else $IMSTime = $LastModTime; + + if (in_array($action, (array)$CacheActions)) { + $HTTPLastMod = gmdate('D, d M Y H:i:s \G\M\T',$IMSTime); + $HTTPHeaders[] = "Cache-Control: no-cache"; + $HTTPHeaders[] = "Last-Modified: $HTTPLastMod"; + if (@$_SERVER['HTTP_IF_MODIFIED_SINCE']==$HTTPLastMod) { + header("HTTP/1.0 304 Not Modified"); + header("Cache-Control: no-cache"); + header("Expires: "); + header("Last-Modified: $HTTPLastMod"); + exit(); + } + } +} + +if ($NoHTMLCache + || !@$PageCacheDir + || count($_POST) > 0 + || count($_GET) > 1 + || (count($_GET) == 1 && !@$_GET['n'])) { $NoHTMLCache |= 1; return; } + +mkdirp($PageCacheDir); +if (!file_exists("$PageCacheDir/.htaccess") + && $fp = @fopen("$PageCacheDir/.htaccess", "w")) + { fwrite($fp, $DenyHtaccessContent); fclose($fp); } + +SDV($PageCacheFileFmt, "%s/%s,cache"); +SDV($PageCacheFile, sprintf($PageCacheFileFmt, $PageCacheDir, $pagename)); + +if (file_exists($PageCacheFile) && @filemtime($PageCacheFile) < $LastModTime) + @unlink($PageCacheFile); + blob - /dev/null blob + 50539ae8ebb78d39eaded84923246d721354cfa1 (mode 644) --- /dev/null +++ scripts/creole.php @@ -0,0 +1,82 @@ +(.+?)\\*\\*)(?!\\S)|(?$1$2'); + +## //emphasized// +Markup('//', 'inline', + '/(?$1'); + +## == Headings == +Markup('^=', 'block', + '/^(={1,6})\\s?(.*?)(\\s*=*\\s*)$/', + "MarkupCreole"); + +## Line breaks +Markup('\\\\', 'inline', '/\\\\\\\\/', '
'); + +## Preformatted +Markup('^{{{', '[=', + "/^\\{\\{\\{\n(.*?\n)\\}\\}\\}[^\\S\n]*\n/sm", + "MarkupCreole"); +Markup('{{{', '>{{{', + '/\\{\\{\\{(.*?)\\}\\}\\}/s', + "MarkupCreole"); + +## Tables +Markup('|-table', '>^||', + '/^\\|(.*)$/', + "MarkupCreole"); + +## Images +Markup('{{', 'inline', + '/\\{\\{(?>(\\L))([^|\\]]*)(?:\\|\\s*(.*?)\\s*)?\\}\\}/', + "MarkupCreole"); + +function MarkupCreole($m) { + extract($GLOBALS["MarkupToHTML"]); # get $pagename, $markupid + switch ($markupid) { + case '^=': + return '<:block,1>'.$m[2].''; + case '^{{{': + return Keep('
'.$m[1].'
'); + case '{{{': + return Keep(''.$m[1].''); + case '|-table': + return FormatTableRow($m[0], '\\|'); + case '{{': + return Keep($GLOBALS['LinkFunctions'][$m[1]]($pagename, $m[1], $m[2], $m[3], + $m[1].$m[2], $GLOBALS['ImgTagFmt']),'L'); + } +} + +## GUIButtons +SDVA($GUIButtons, array( + 'em' => array(100, "//", "//", '$[Emphasized]', + '$GUIButtonDirUrlFmt/em.gif"$[Emphasized (italic)]"', + '$[ak_em]'), + 'strong' => array(110, "**", "**", '$[Strong]', + '$GUIButtonDirUrlFmt/strong.gif"$[Strong (bold)]"', + '$[ak_strong]'), + 'h2' => array(400, '\\n== ', ' ==\\n', '$[Heading]', + '$GUIButtonDirUrlFmt/h.gif"$[Heading]"'), + + )); + blob - /dev/null blob + c3af7f0808c0d1cd6cde48becbb4aa67e3d97572 (mode 644) --- /dev/null +++ scripts/crypt.php @@ -0,0 +1,43 @@ +

+ Enter password to encrypt: + + + +

", + $pagename); + if ($passwd) { + $crypt = pmcrypt($passwd); + echo "

Encrypted password = $crypt

"; + echo "

To set a site-wide password, insert the line below + in your config.php file,
replacing 'type' with + one of 'admin', 'read', 'edit', + or 'attr'.
See PasswordsAdmin for more + details.

+
  \$DefaultPasswords['type']='$crypt';
"; + } + PrintFmt($pagename,$HTMLEndFmt); +} + blob - /dev/null blob + 314bb4f708d3f8abc3fea40c657516ceaa649018 (mode 644) --- /dev/null +++ scripts/diag.php @@ -0,0 +1,172 @@ +$m) { + $out .= sprintf("%-16s %-16s %-16s %s\n",$id,@$m['cmd'],@$m['seq'], @$m['dbg']); + if (@$m['dbg']) $dbg++; + } + if ($dbg) $out .= " +[!] Markup rules possibly incompatible with PHP 5.5 or newer. + Please contact the recipe maintainer for update + or see www.pmwiki.org/wiki/PmWiki/CustomMarkup"; + return $out; +} + +$HandleActions['ruleset'] = 'HandleRuleset'; + +function HandleRuleset($pagename) { + header("Content-type: text/plain"); + print Ruleset(); +} + +function StopWatchHTML($pagename, $print = 0) { + global $StopWatch; + StopWatch('now'); + $l = strlen(count($StopWatch)); + $out = '
';
+  foreach((array)$StopWatch as $i => $x)
+    $out .= sprintf("%{$l}d: %s\n", $i, $x);
+  $out .= '
'; + if (is_array($StopWatch)) array_pop($StopWatch); + if ($print) print $out; + return $out; +} + +### From Cookbook:RecipeCheck +/* Copyright 2007-2019 Patrick R. Michaud (pmichaud@pobox.com) + + This recipe adds ?action=recipecheck to a site. When activated, + ?action=recipecheck fetches the current list of Cookbook recipes + and their versions from pmwiki.org. It then compares this list + with the versions of any installed recipes on the local site + and reports any differences. + + By default the recipe restricts ?action=recipecheck to admins. + + Note that not all recipes currently follow PmWiki's + recipecheck standard (feel free to report these to the pmwiki-users + mailing list). + + * 2007-04-17: Added suggestions by Feral + - explicit black text + - skip non-php files and directories + * 2019-11-28: Added to scripts/diag.php by Petko +*/ +SDV($HandleActions['recipecheck'], 'HandleRecipeCheckCore'); +SDV($HandleAuth['recipecheck'], 'admin'); +SDV($ActionTitleFmt['recipecheck'], '| $[Recipe Check]'); + +SDV($WikiStyleApply['tr'], 'tr'); +SDV($HTMLStylesFmt['recipecheck'], ' + table.recipecheck tr.ok { color:black; background-color:#ccffcc; } + table.recipecheck tr.check { color:black; background-color:#ffffcc; } + table.recipecheck { border:1px solid #cccccc; padding:4px; } +'); + +SDV($RecipeListUrl, 'http://www.pmwiki.org/pmwiki/recipelist'); + +function HandleRecipeCheckCore($pagename, $auth = 'admin') { + global $RecipeListUrl, $Version, $RecipeInfo, + $RecipeCheckFmt, $PageStartFmt, $PageEndFmt; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) Abort('?admin access required'); + $cvinfo = GetRecipeListCore($RecipeListUrl); + if (!$cvinfo) { + $msg = "Unable to retrieve cookbook data from $RecipeListUrl\n"; + $allow_url_fopen = ini_get('allow_url_fopen'); + if (!$allow_url_fopen) $msg .= " +

It appears that your PHP environment isn't allowing + the recipelist to be downloaded from pmwiki.org + (allow_url_fopen = $allow_url_fopen)."; + Abort($msg); + } + $rinfo['PmWiki:Upgrades'] = $Version; + ScanRecipeInfoCore('cookbook', $cvinfo); + foreach((array)$RecipeInfo as $r => $v) { + if (!@$v['Version']) continue; + $r = preg_replace('/^(?!PmWiki:)(Cookbook[.:])?/', 'Cookbook:', $r); + $rinfo[$r] = $v['Version']; + } + $markup = "!!Recipe status for {\$PageUrl}\n".RecipeTableCore($rinfo, $cvinfo); + $html = MarkupToHTML($pagename, $markup); + SDV($RecipeCheckFmt, array(&$PageStartFmt, $html, &$PageEndFmt)); + PrintFmt($pagename, $RecipeCheckFmt); +} + + +function GetRecipeListCore($list) { + $cvinfo = array(); + $fp = fopen($list, 'r'); + while ($fp && !feof($fp)) { + $line = fgets($fp, 1024); + if ($line[0] == '#') continue; + if (preg_match('/(\\S+) +(.*)/', $line, $match)) + $cvinfo[$match[1]] = trim($match[2]); + } + fclose($fp); + return $cvinfo; +} + + +function ScanRecipeInfoCore($dlistfmt, $cvinfo = NULL) { + global $RecipeInfo; + foreach((array)$dlistfmt as $dir) { + $dfp = @opendir($dir); if (!$dfp) continue; + while ( ($name = readdir($dfp)) !== false) { + if ($name[0] == '.') continue; + if (!preg_match('/\\.php/i', $name)) continue; + $text = implode('', @file("$dir/$name")); + if (preg_match("/^\\s*\\\$RecipeInfo\\['(.*?)'\\]\\['Version'\\]\\s*=\\s*'(.*?)'\\s*;/m", $text, $match)) + SDV($RecipeInfo[$match[1]]['Version'], $match[2]); + if (preg_match("/^\\s*SDV\\(\\s*\\\$RecipeInfo\\['(.*?)'\\]\\['Version'\\]\\s*,\\s*'(.*?)'\\s*\\)\\s*\\;/m", $text, $match)) + SDV($RecipeInfo[$match[1]]['Version'], $match[2]); + if (@$cvinfo[$name]) { + $r = preg_replace('/^.*:/', '', $cvinfo[$name]); + SDV($RecipeInfo[$r]['Version'], "unknown ($name)"); + } + } + closedir($dfp); + } +} + + +function RecipeTableCore($rinfo, $cvinfo) { + $fmt = "||%-40s ||%-20s ||%-20s ||\n"; + $out = "||class=recipecheck cellpadding=0 cellspacing=0 width=600\n"; + $out .= sprintf($fmt, '!Recipe', '!local', '!pmwiki.org'); + foreach($rinfo as $r => $lv) { + $cv = @$cvinfo[$r]; + $style = ($lv == $cv) ? 'ok' : 'check'; + $out .= sprintf($fmt, "%apply=tr $style%[[$r]]", $lv, $cv); + } + return $out; +} + blob - /dev/null blob + 0bd388210745817a462ce302b34509f4d79f5a42 (mode 644) --- /dev/null +++ scripts/draft.php @@ -0,0 +1,75 @@ + ' '.XL('Publish').' ')); +SDVA($InputTags['e_saveeditbutton'], array('value' => ' '.XL('Save draft and edit').' ')); +SDVA($InputTags['e_savedraftbutton'], array( + ':html' => "", + 'name' => 'postdraft', 'value' => ' '.XL('Save draft').' ', + 'accesskey' => XL('ak_savedraft'))); + +## with drafts enabled, the 'post' operation requires 'publish' permissions +if ($_POST['post'] && $HandleAuth['edit'] == 'edit') + $HandleAuth['edit'] = 'publish'; + +## disable the 'publish' button if not authorized to publish +if (!CondAuth($basename, 'publish')) + SDVA($InputTags['e_savebutton'], array('disabled' => 'disabled')); + +## add the draft handler into $EditFunctions +array_unshift($EditFunctions, 'EditDraft'); +function EditDraft(&$pagename, &$page, &$new) { + global $WikiDir, $DraftSuffix, $DeleteKeyPattern, $EnableDraftAtomicDiff, + $DraftRecentChangesFmt, $RecentChangesFmt, $Now; + SDV($DeleteKeyPattern, "^\\s*delete\\s*$"); + $basename = preg_replace("/$DraftSuffix\$/", '', $pagename); + $draftname = $basename . $DraftSuffix; + if ($_POST['postdraft'] || $_POST['postedit']) $pagename = $draftname; + else if ($_POST['post'] && !preg_match("/$DeleteKeyPattern/", $new['text'])) { + $pagename = $basename; + if (IsEnabled($EnableDraftAtomicDiff, 0)) { + $page = ReadPage($basename); + foreach($new as $k=>$v) # delete draft history + if (preg_match('/:\\d+(:\\d+:)?$/', $k) && ! preg_match("/:$Now(:\\d+:)?$/", $k)) unset($new[$k]); + unset($new['rev']); + SDVA($new, $page); + } + $WikiDir->delete($draftname); + } + else if (PageExists($draftname) && $pagename != $draftname) + { Redirect($draftname, '$PageUrl?action=edit'); exit(); } + if ($pagename == $draftname && isset($DraftRecentChangesFmt)) + $RecentChangesFmt = $DraftRecentChangesFmt; +} blob - /dev/null blob + 67b43c3b9e9bbea976810ad0161ee4a55e87f11c (mode 644) --- /dev/null +++ scripts/feeds.php @@ -0,0 +1,546 @@ +All Rights Reserved" in the feed for + ?action=atom. If the value of an entry begins with a '<', + then feeds.php doesn't automatically add the tag around it. + Elements can also be callable functions which are called to + generate the appropriate output. + + For example, to set the RSS 2.0 element to the + value of the last author to modify a page, one can set + (in local/config.php): + + $FeedFmt['rss']['item']['author'] = '$LastModifiedBy'; + + To use the RSS 2.0 element to contain the + change summary of the most recent edit, set + + $FeedFmt['rss']['item']['description'] = '$LastModifiedSummary'; + + Feeds.php can also be combined with attachments to support + podcasting via ?action=rss. Any page such as "PageName" + that has an mp3 attachment with the same name as the page + ("PageName.mp3") will have an appropriate element + in the feed output. The set of allowed attachments can be + extended using the $RSSEnclosureFmt array: + + $RSSEnclosureFmt = array('{$Name}.mp3', '{$Name}.mp4'); + + References: + http://www.atomenabled.org/developers/syndication/ + http://dublincore.org/documents/dcmes-xml/ + http://en.wikipedia.org/wiki/Podcasting + + Script maintained by Petko YOTOV www.pmwiki.org/petko +*/ + +## Settings for ?action=atom +SDVA($FeedFmt['atom']['feed'], array( + '_header' => 'Content-type: text/xml; charset="$Charset"', + '_start' => ' +'."\n", + '_end' => "\n", + 'title' => '$WikiTitle', + 'link' => '', + 'id' => '{$PageUrl}?action=atom', + 'updated' => '$FeedISOTime', + 'author' => "$WikiTitle\n", + 'generator' => '$Version', + 'logo' => '$PageLogoUrl')); +SDVA($FeedFmt['atom']['item'], array( + '_start' => "\n", + 'id' => '{$PageUrl}', + 'title' => '{$Title}', + 'updated' => '$ItemISOTime', + 'link' => "\n", + 'author' => "{\$LastModifiedBy}\n", + 'summary' => '{$Description}', + 'category' => "\n", + '_end' => "\n")); + +## Settings for ?action=dc +SDVA($FeedFmt['dc']['feed'], array( + '_header' => 'Content-type: text/xml; charset="$Charset"', + '_start' => ' + +'."\n", + '_end' => "\n")); +SDVA($FeedFmt['dc']['item'], array( + '_start' => "\n", + 'dc:title' => '{$Title}', + 'dc:identifier' => '{$PageUrl}', + 'dc:date' => '$ItemISOTime', + 'dc:type' => 'Text', + 'dc:format' => 'text/html', + 'dc:description' => '{$Description}', + 'dc:subject' => "\$Category\n", + 'dc:publisher' => '$WikiTitle', + 'dc:author' => '{$LastModifiedBy}', + '_end' => "\n")); + +## RSS 2.0 settings for ?action=rss +SDVA($FeedFmt['rss']['feed'], array( + '_header' => 'Content-type: text/xml; charset="$Charset"', + '_start' => ' + +'."\n", + '_end' => "\n\n", + 'title' => '$WikiTitle | {$Group} / {$Title}', + 'link' => '{$PageUrl}?action=rss', + 'description' => '{$Group}.{$Title}', + 'lastBuildDate' => '$FeedRSSTime')); +SDVA($FeedFmt['rss']['item'], array( + '_start' => "\n", + '_end' => "\n", + 'title' => '{$Group} / {$Title}', + 'link' => '{$PageUrl}', + 'description' => '{$Description}', + 'dc:contributor' => '{$LastModifiedBy}', + 'dc:date' => '$ItemISOTime', + 'pubDate' => '$ItemRSSTime', + 'enclosure' => 'RSSEnclosure')); + +## RDF 1.0, for ?action=rdf +SDVA($FeedFmt['rdf']['feed'], array( + '_header' => 'Content-type: text/xml; charset="$Charset"', + '_start' => ' + + '."\n", + 'title' => '$WikiTitle | {$Group} / {$Title}', + 'link' => '{$PageUrl}?action=rdf', + 'description' => '{$Group}.{$Title}', + 'dc:date' => '$FeedISOTime', + 'items' => "\n\n\$FeedRDFSeq\n\n", + '_items' => "\n", + '_end' => "\n")); +SDVA($FeedFmt['rdf']['item'], array( + '_start' => "\n", + '_end' => "\n", + 'title' => '$WikiTitle | {$Group} / {$Title}', + 'link' => '{$PageUrl}', + 'description' => '{$Description}', + 'dc:date' => '$ItemISOTime')); + +foreach(array_keys($FeedFmt) as $k) { + SDV($HandleActions[$k], 'HandleFeed'); + SDV($HandleAuth[$k], 'read'); +} + +function HandleFeed($pagename, $auth = 'read') { + global $FeedFmt, $action, $PCache, $FmtV, $TimeISOZFmt, $RSSTimeFmt, + $FeedPageListOpt, $FeedCategoryOpt, $FeedTrailOpt, + $FeedDescPatterns, $CategoryGroup, $EntitiesTable; + SDV($RSSTimeFmt, 'D, d M Y H:i:s \G\M\T'); + SDV($FeedDescPatterns, + array('/<[^>]*$/' => ' ', '/\\w+$/' => '', '/<[^>]+>/' => '')); + $FeedPageListOpt = (array)@$FeedPageListOpt; + SDVA($FeedCategoryOpt, array('link' => $pagename)); + SDVA($FeedTrailOpt, array('trail' => $pagename, 'count' => 10)); + + $f = $FeedFmt[$action]; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) Abort("?cannot generate feed"); + $feedtime = $page['time']; + + # determine list of pages to display + if (@($_REQUEST['trail'] || $_REQUEST['group'] || $_REQUEST['link'] + || $_REQUEST['name'])) + $opt = $FeedPageListOpt; + else if (preg_match("/^$CategoryGroup\\./", $pagename)) + $opt = $FeedCategoryOpt; + else if ($action != 'dc') $opt = $FeedTrailOpt; + else { + PCache($pagename, $page); + $pagelist = array($pagename); + } + if (!@$pagelist) { + $opt = array_merge($opt, @$_REQUEST); + $pagelist = MakePageList($pagename, $opt, 0); + } + + # process list of pages in feed + $rdfseq = ''; + $pl = array(); + foreach($pagelist as $pn) { + if (!PageExists($pn)) continue; + if (!isset($PCache[$pn]['time'])) + { $page = ReadPage($pn, READPAGE_CURRENT); PCache($pn, $page); } + $pc = & $PCache[$pn]; + $pl[] = $pn; + $rdfseq .= FmtPageName("\n", $pn); + if ($pc['time'] > $feedtime) $feedtime = $pc['time']; + if (@$opt['count'] && count($pl) >= $opt['count']) break; + } + $pagelist = $pl; + + $FmtV['$FeedRDFSeq'] = $rdfseq; + $FmtV['$FeedISOTime'] = gmstrftime($TimeISOZFmt, $feedtime); + $FmtV['$FeedRSSTime'] = gmdate($RSSTimeFmt, $feedtime); + # format start of feed + $out = FmtPageName($f['feed']['_start'], $pagename); + + # format feed elements + foreach($f['feed'] as $k => $v) { + if ($k[0] == '_' || !$v) continue; + $x = FmtPageName($v, $pagename); + if (!$x) continue; + $out .= ($v[0] == '<') ? $x : "<$k>$x\n"; + } + + # format items in feed + if (@$f['feed']['_items']) + $out .= FmtPageName($f['feed']['_items'], $pagename); + foreach($pagelist as $pn) { + $page = &$PCache[$pn]; + $FmtV['$ItemDesc'] = @$page['description']; + $FmtV['$ItemISOTime'] = gmstrftime($TimeISOZFmt, $page['time']); + $FmtV['$ItemRSSTime'] = gmdate($RSSTimeFmt, $page['time']); + + $out .= FmtPageName($f['item']['_start'], $pn); + foreach((array)@$f['item'] as $k => $v) { + if ($k[0] == '_' || !$v) continue; + if (is_callable($v)) { $out .= $v($pn, $page, $k); continue; } + if (strpos($v, '$LastModifiedBy') !== false && !@$page['author']) + continue; + if (strpos($v, '$Category') !== false) { + if (preg_match_all("/(?<=^|,)$CategoryGroup\\.([^,]+)/", + @$page['targets'], $match)) { + foreach($match[1] as $c) { + $FmtV['$Category'] = $c; + $out .= FmtPageName($v, $pn); + } + } + continue; + } + $x = FmtPageName($v, $pn); + if (!$x) continue; + $out .= ($v[0] == '<') ? $x : "<$k>$x\n"; + } + $out .= FmtPageName($f['item']['_end'], $pn); + } + $out .= FmtPageName($f['feed']['_end'], $pagename); + foreach((array)@$f['feed']['_header'] as $fmt) + header(FmtPageName($fmt, $pagename)); + print str_replace(array_keys($EntitiesTable), + array_values($EntitiesTable), $out); +} + +## RSSEnclosure is called in ?action=rss to generate +## tags for any pages that have an attached "PageName.mp3" file. +## The set of attachments to enclose is given by $RSSEnclosureFmt. +function RSSEnclosure($pagename, &$page, $k) { + global $RSSEnclosureFmt, $UploadFileFmt, $UploadExts; + if (!function_exists('MakeUploadName')) return ''; + SDV($RSSEnclosureFmt, array('{$Name}.mp3')); + $encl = ''; + foreach((array)$RSSEnclosureFmt as $fmt) { + $path = FmtPageName($fmt, $pagename); + $upname = MakeUploadName($pagename, $path); + $filepath = FmtPageName("$UploadFileFmt/$upname", $pagename); + if (file_exists($filepath)) { + $length = filesize($filepath); + $type = @$UploadExts[preg_replace('/.*\\./', '', $filepath)]; + $url = LinkUpload($pagename, 'Attach:', $path, '', '', '$LinkUrl'); + $encl .= "<$k url='$url' length='$length' type='$type' />"; + } + } + return $encl; +} + +## Since most feeds don't understand html character entities, we +## convert the common ones to their numeric form here. +SDVA($EntitiesTable, array( + # entities defined in "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent" + ' ' => ' ', + '¡' => '¡', + '¢' => '¢', + '£' => '£', + '¤' => '¤', + '¥' => '¥', + '¦' => '¦', + '§' => '§', + '¨' => '¨', + '©' => '©', + 'ª' => 'ª', + '«' => '«', + '¬' => '¬', + '­' => '­', + '®' => '®', + '¯' => '¯', + '°' => '°', + '±' => '±', + '²' => '²', + '³' => '³', + '´' => '´', + 'µ' => 'µ', + '¶' => '¶', + '·' => '·', + '¸' => '¸', + '¹' => '¹', + 'º' => 'º', + '»' => '»', + '¼' => '¼', + '½' => '½', + '¾' => '¾', + '¿' => '¿', + 'À' => 'À', + 'Á' => 'Á', + 'Â' => 'Â', + 'Ã' => 'Ã', + 'Ä' => 'Ä', + 'Å' => 'Å', + 'Æ' => 'Æ', + 'Ç' => 'Ç', + 'È' => 'È', + 'É' => 'É', + 'Ê' => 'Ê', + 'Ë' => 'Ë', + 'Ì' => 'Ì', + 'Í' => 'Í', + 'Î' => 'Î', + 'Ï' => 'Ï', + 'Ð' => 'Ð', + 'Ñ' => 'Ñ', + 'Ò' => 'Ò', + 'Ó' => 'Ó', + 'Ô' => 'Ô', + 'Õ' => 'Õ', + 'Ö' => 'Ö', + '×' => '×', + 'Ø' => 'Ø', + 'Ù' => 'Ù', + 'Ú' => 'Ú', + 'Û' => 'Û', + 'Ü' => 'Ü', + 'Ý' => 'Ý', + 'Þ' => 'Þ', + 'ß' => 'ß', + 'à' => 'à', + 'á' => 'á', + 'â' => 'â', + 'ã' => 'ã', + 'ä' => 'ä', + 'å' => 'å', + 'æ' => 'æ', + 'ç' => 'ç', + 'è' => 'è', + 'é' => 'é', + 'ê' => 'ê', + 'ë' => 'ë', + 'ì' => 'ì', + 'í' => 'í', + 'î' => 'î', + 'ï' => 'ï', + 'ð' => 'ð', + 'ñ' => 'ñ', + 'ò' => 'ò', + 'ó' => 'ó', + 'ô' => 'ô', + 'õ' => 'õ', + 'ö' => 'ö', + '÷' => '÷', + 'ø' => 'ø', + 'ù' => 'ù', + 'ú' => 'ú', + 'û' => 'û', + 'ü' => 'ü', + 'ý' => 'ý', + 'þ' => 'þ', + 'ÿ' => 'ÿ', + # entities defined in "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent" + '"' => '"', + #'&' => '&#38;', + #'<' => '&#60;', + #'>' => '>', + ''' => ''', + 'Œ' => 'Œ', + 'œ' => 'œ', + 'Š' => 'Š', + 'š' => 'š', + 'Ÿ' => 'Ÿ', + 'ˆ' => 'ˆ', + '˜' => '˜', + ' ' => ' ', + ' ' => ' ', + ' ' => ' ', + '‌' => '‌', + '‍' => '‍', + '‎' => '‎', + '‏' => '‏', + '–' => '–', + '—' => '—', + '‘' => '‘', + '’' => '’', + '‚' => '‚', + '“' => '“', + '”' => '”', + '„' => '„', + '†' => '†', + '‡' => '‡', + '‰' => '‰', + '‹' => '‹', + '›' => '›', + '€' => '€', + # entities defined in "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent" + 'ƒ' => 'ƒ', + 'Α' => 'Α', + 'Β' => 'Β', + 'Γ' => 'Γ', + 'Δ' => 'Δ', + 'Ε' => 'Ε', + 'Ζ' => 'Ζ', + 'Η' => 'Η', + 'Θ' => 'Θ', + 'Ι' => 'Ι', + 'Κ' => 'Κ', + 'Λ' => 'Λ', + 'Μ' => 'Μ', + 'Ν' => 'Ν', + 'Ξ' => 'Ξ', + 'Ο' => 'Ο', + 'Π' => 'Π', + 'Ρ' => 'Ρ', + 'Σ' => 'Σ', + 'Τ' => 'Τ', + 'Υ' => 'Υ', + 'Φ' => 'Φ', + 'Χ' => 'Χ', + 'Ψ' => 'Ψ', + 'Ω' => 'Ω', + 'α' => 'α', + 'β' => 'β', + 'γ' => 'γ', + 'δ' => 'δ', + 'ε' => 'ε', + 'ζ' => 'ζ', + 'η' => 'η', + 'θ' => 'θ', + 'ι' => 'ι', + 'κ' => 'κ', + 'λ' => 'λ', + 'μ' => 'μ', + 'ν' => 'ν', + 'ξ' => 'ξ', + 'ο' => 'ο', + 'π' => 'π', + 'ρ' => 'ρ', + 'ς' => 'ς', + 'σ' => 'σ', + 'τ' => 'τ', + 'υ' => 'υ', + 'φ' => 'φ', + 'χ' => 'χ', + 'ψ' => 'ψ', + 'ω' => 'ω', + 'ϑ' => 'ϑ', + 'ϒ' => 'ϒ', + 'ϖ' => 'ϖ', + '•' => '•', + '…' => '…', + '′' => '′', + '″' => '″', + '‾' => '‾', + '⁄' => '⁄', + '℘' => '℘', + 'ℑ' => 'ℑ', + 'ℜ' => 'ℜ', + '™' => '™', + 'ℵ' => 'ℵ', + '←' => '←', + '↑' => '↑', + '→' => '→', + '↓' => '↓', + '↔' => '↔', + '↵' => '↵', + '⇐' => '⇐', + '⇑' => '⇑', + '⇒' => '⇒', + '⇓' => '⇓', + '⇔' => '⇔', + '∀' => '∀', + '∂' => '∂', + '∃' => '∃', + '∅' => '∅', + '∇' => '∇', + '∈' => '∈', + '∉' => '∉', + '∋' => '∋', + '∏' => '∏', + '∑' => '∑', + '−' => '−', + '∗' => '∗', + '√' => '√', + '∝' => '∝', + '∞' => '∞', + '∠' => '∠', + '∧' => '∧', + '∨' => '∨', + '∩' => '∩', + '∪' => '∪', + '∫' => '∫', + '∴' => '∴', + '∼' => '∼', + '≅' => '≅', + '≈' => '≈', + '≠' => '≠', + '≡' => '≡', + '≤' => '≤', + '≥' => '≥', + '⊂' => '⊂', + '⊃' => '⊃', + '⊄' => '⊄', + '⊆' => '⊆', + '⊇' => '⊇', + '⊕' => '⊕', + '⊗' => '⊗', + '⊥' => '⊥', + '⋅' => '⋅', + '⌈' => '⌈', + '⌉' => '⌉', + '⌊' => '⌊', + '⌋' => '⌋', + '⟨' => '〈', + '⟩' => '〉', + '◊' => '◊', + '♠' => '♠', + '♣' => '♣', + '♥' => '♥', + '♦' => '♦')); + blob - /dev/null blob + 78a26ffad2bdfafa60e7ee79b316c7f8c23b03a2 (mode 644) --- /dev/null +++ scripts/forms.php @@ -0,0 +1,423 @@ +"); + +foreach(array('text', 'email', 'url', 'tel', 'number', 'search', 'date') as $t) + SDV($InputTags[$t]['class'], "inputbox"); + +foreach(array('submit', 'button', 'reset') as $t) + SDV($InputTags[$t]['class'], "inputbutton"); + +foreach(array('radio', 'checkbox') as $t) + SDVA($InputTags[$t], array( + ':html' => "\$InputFormLabel", + ':args' => array('name', 'value', 'label'), + ':checked' => 'checked')); + +# (:input form:) +SDVA($InputTags['form'], array( + ':args' => array('action', 'method'), + ':html' => "
", + 'method' => 'post')); + +# (:input end:) +SDV($InputTags['end'][':html'], '
'); + +# (:input textarea:) +SDVA($InputTags['textarea'], array( + ':content' => array('value'), + ':attr' => array_diff($InputAttrs, array('value')), + ':html' => "")); + +# (:input image:) +SDV($InputTags['image'][':args'], array('name', 'src', 'alt')); + +# (:input select:) +SDVA($InputTags['select-option'], array( + ':args' => array('name', 'value', 'label'), + ':content' => array('label', 'value', 'name'), + ':attr' => array('value', 'selected'), + ':checked' => 'selected', + ':html' => "")); +SDVA($InputTags['select'], array( + 'class' => 'inputbox', + ':html' => "")); + +# (:input datalist:) +SDVA($InputTags['datalist-option'], array( + ':args' => array('id', 'value'), + ':attr' => array('value'), + ':html' => "
"; + } + $Cursor = $savecursor; + $output .= $out; +} +## This function moves repeated code blocks out of FPLTemplateFormat() +function FPLExpandItemVars($item, $matches, $idx, $psvars) { + global $Cursor, $EnableUndefinedTemplateVars; + $Cursor['<'] = $Cursor['<'] = (string)@$matches[$idx-1]; + $Cursor['='] = $pn = (string)@$matches[$idx]; + $Cursor['>'] = $Cursor['>'] = (string)@$matches[$idx+1]; + $item = str_replace(array_keys($psvars), array_values($psvars), $item); + $cb = new cb_pl_expandvars($pn); + $item = preg_replace_callback('/\\{(=|&[lg]t;)(\\$:?\\w[-\\w]*)\\}/', + array($cb, 'pl_expandvars'), $item); + if (! IsEnabled($EnableUndefinedTemplateVars, 0)) + $item = preg_replace("/\\{\\$\\$\\w+\\}/", '', $item); + return $item; +} + +######################################################################## +## The functions below optimize searches by maintaining a file of +## words and link cross references (the "page index"). +######################################################################## + +## PageIndexTerms($terms) takes an array of strings and returns a +## normalized list of associated search terms. This reduces the +## size of the index and speeds up searches. +function PageIndexTerms($terms) { + global $StrFoldFunction; + $w = array(); + foreach((array)$terms as $t) { + $w = array_merge($w, preg_split('/[^\\w\\x80-\\xff]+/', + $StrFoldFunction($t), -1, PREG_SPLIT_NO_EMPTY)); + } + return $w; +} + +## The PageIndexUpdate($pagelist) function updates the page index +## file with terms and target links for the pages in $pagelist. +## The optional $dir parameter allows this function to be called +## via register_shutdown_function (which sometimes changes directories +## on us). +function PageIndexUpdate($pagelist = NULL, $dir = '') { + global $EnableReadOnly, $PageIndexUpdateList, $PageIndexFile, + $PageIndexTime, $Now; + if (IsEnabled($EnableReadOnly, 0)) return; + $abort = ignore_user_abort(true); + if ($dir) { flush(); chdir($dir); } + if (is_null($pagelist)) + { $pagelist = (array)$PageIndexUpdateList; $PageIndexUpdateList = array(); } + if (!$pagelist || !$PageIndexFile) return; + SDV($PageIndexTime, 10); + $c = count($pagelist); $updatecount = 0; + StopWatch("PageIndexUpdate begin ($c pages to update)"); + $pagelist = (array)$pagelist; + $timeout = time() + $PageIndexTime; + $cmpfn = 'PageIndexUpdateSort'; + Lock(2); + $ofp = fopen("$PageIndexFile,new", 'w'); + foreach($pagelist as $pn) { + if (@$updated[$pn]) continue; + @$updated[$pn]++; + if (time() > $timeout) continue; + $page = ReadPage($pn, READPAGE_CURRENT); + if ($page) { + $targets = str_replace(',', ' ', @$page['targets']); + $terms = PageIndexTerms(array(@$page['text'], $targets, $pn)); + usort($terms, $cmpfn); + $x = ''; + foreach($terms as $t) { if (strpos($x, $t) === false) $x .= " $t"; } + fputs($ofp, "$pn:$Now: $targets :$x\n"); + } + $updatecount++; + } + $ifp = @fopen($PageIndexFile, 'r'); + if ($ifp) { + while (!feof($ifp)) { + $line = fgets($ifp, 4096); + while (substr($line, -1, 1) != "\n" && !feof($ifp)) + $line .= fgets($ifp, 4096); + $i = strpos($line, ':'); + if ($i === false) continue; + $n = substr($line, 0, $i); + if (@$updated[$n]) continue; + fputs($ofp, $line); + } + fclose($ifp); + } + fclose($ofp); + if (file_exists($PageIndexFile)) unlink($PageIndexFile); + rename("$PageIndexFile,new", $PageIndexFile); + fixperms($PageIndexFile); + StopWatch("PageIndexUpdate end ($updatecount updated)"); + ignore_user_abort($abort); +} +function PageIndexUpdateSort($a,$b) {return strlen($b)-strlen($a);} + +## PageIndexQueueUpdate specifies pages to be updated in +## the index upon shutdown (via register_shutdown function). +function PageIndexQueueUpdate($pagelist) { + global $PageIndexUpdateList; + if (!@$PageIndexUpdateList) + register_shutdown_function('PageIndexUpdate', NULL, getcwd()); + $PageIndexUpdateList = array_merge((array)@$PageIndexUpdateList, + (array)$pagelist); + $c1 = @count($pagelist); $c2 = count($PageIndexUpdateList); + StopWatch("PageIndexQueueUpdate: queued $c1 pages ($c2 total)"); +} + +## PageIndexGrep returns a list of pages that match the strings +## provided. Note that some search terms may need to be normalized +## in order to get the desired results (see PageIndexTerms above). +## Also note that this just works for the index; if the index is +## incomplete, then so are the results returned by this list. +## (MakePageList above already knows how to deal with this.) +function PageIndexGrep($terms, $invert = false) { + global $PageIndexFile; + if (!$PageIndexFile) return array(); + StopWatch('PageIndexGrep begin'); + $pagelist = array(); + $fp = @fopen($PageIndexFile, 'r'); + if ($fp) { + $terms = (array)$terms; + while (!feof($fp)) { + $line = fgets($fp, 4096); + while (substr($line, -1, 1) != "\n" && !feof($fp)) + $line .= fgets($fp, 4096); + $i = strpos($line, ':'); + if (!$i) continue; + $add = true; + foreach($terms as $t) + if (strpos($line, $t) === false) { $add = false; break; } + if ($add xor $invert) $pagelist[] = substr($line, 0, $i); + } + fclose($fp); + } + StopWatch('PageIndexGrep end'); + return $pagelist; +} + +## PostPageIndex is inserted into $EditFunctions to update +## the linkindex whenever a page is saved. +function PostPageIndex($pagename, &$page, &$new) { + global $IsPagePosted; + if ($IsPagePosted) PageIndexQueueUpdate($pagename); +} blob - /dev/null blob + dafca5e7b6fb51312c501d6e51e072141c3e91b6 (mode 644) --- /dev/null +++ scripts/pagerev.php @@ -0,0 +1,242 @@ +$[Hide minor edits]" : + "$[Show minor edits]" ); +SDV($DiffSourceFmt, ($DiffShow['source']=='y') ? + "$[Show changes to output]" : + "$[Show changes to markup]"); +SDV($PageDiffFmt,"

$[{\$FullName} History]

+

$DiffMinorFmt - $DiffSourceFmt

+ "); +SDV($DiffStartFmt," +
\$DiffTime + \$[by] \$DiffAuthor - \$DiffChangeSum
"); +SDV($DiffDelFmt['a']," +
\$[Deleted line \$DiffLines:]
+
"); +SDV($DiffDelFmt['c']," +
\$[Changed line \$DiffLines from:]
+
"); +SDV($DiffAddFmt['d']," +
\$[Added line \$DiffLines:]
+
"); +SDV($DiffAddFmt['c'],"
+
$[to:]
+
"); +SDV($DiffEndDelAddFmt,"
"); +SDV($DiffEndFmt,"
"); +SDV($DiffRestoreFmt," + "); + +SDV($HandleActions['diff'], 'HandleDiff'); +SDV($HandleAuth['diff'], 'read'); +SDV($ActionTitleFmt['diff'], '| $[History]'); +SDV($HTMLStylesFmt['diff'], " + .diffbox { width:570px; border-left:1px #999999 solid; margin-top:1.33em; } + .diffauthor { font-weight:bold; } + .diffchangesum { font-weight:bold; } + .difftime { font-family:verdana,sans-serif; font-size:66%; + background-color:#dddddd; } + .difftype { clear:both; font-family:verdana,sans-serif; + font-size:66%; font-weight:bold; } + .diffadd { border-left:5px #99ff99 solid; padding-left:5px; } + .diffdel { border-left:5px #ffff99 solid; padding-left:5px; } + .diffrestore { clear:both; font-family:verdana,sans-serif; + font-size:66%; margin:1.5em 0px; } + .diffmarkup { font-family:monospace; } + .diffmarkup del { background:#ffff99; text-decoration: none; } + .diffmarkup ins { background:#99ff99; text-decoration: none; }"); + +function PrintDiff($pagename) { + global $DiffHTMLFunction,$DiffShow,$DiffStartFmt,$TimeFmt, + $DiffEndFmt,$DiffRestoreFmt,$FmtV, $LinkFunctions; + $page = ReadPage($pagename); + if (!$page) return; + krsort($page); reset($page); + $lf = $LinkFunctions; + $LinkFunctions['http:'] = 'LinkSuppress'; + $LinkFunctions['https:'] = 'LinkSuppress'; + SDV($DiffHTMLFunction, 'DiffHTML'); + foreach($page as $k=>$v) { + if (!preg_match("/^diff:(\d+):(\d+):?([^:]*)/",$k,$match)) continue; + $diffclass = $match[3]; + if ($diffclass=='minor' && $DiffShow['minor']!='y') continue; + $diffgmt = $FmtV['$DiffGMT'] = $match[1]; + $FmtV['$DiffTime'] = strftime($TimeFmt,$diffgmt); + $diffauthor = @$page["author:$diffgmt"]; + if (!$diffauthor) @$diffauthor=$page["host:$diffgmt"]; + if (!$diffauthor) $diffauthor="unknown"; + $FmtV['$DiffChangeSum'] = PHSC(@$page["csum:$diffgmt"]); + $FmtV['$DiffHost'] = @$page["host:$diffgmt"]; + $FmtV['$DiffUserAgent'] = PHSC(@$page["agent:$diffgmt"], ENT_QUOTES); + $FmtV['$DiffAuthor'] = $diffauthor; + $FmtV['$DiffId'] = $k; + $html = $DiffHTMLFunction($pagename, $v); + if ($html===false) continue; + echo FmtPageName($DiffStartFmt,$pagename); + echo $html; + echo FmtPageName($DiffEndFmt,$pagename); + echo FmtPageName($DiffRestoreFmt,$pagename); + } + $LinkFunctions = $lf; +} + +# This function converts a single diff entry from the wikipage file +# into HTML, ready for display. +function DiffHTML($pagename, $diff) { + if (@$_REQUEST['nodiff']>'') return ''; + global $FmtV, $DiffShow, $DiffAddFmt, $DiffDelFmt, $DiffEndDelAddFmt, + $DiffRenderSourceFunction; + SDV($DiffRenderSourceFunction, 'DiffRenderSource'); + $difflines = explode("\n",$diff."\n"); + $in=array(); $out=array(); $dtype=''; $html = ''; + foreach($difflines as $d) { + if ($d>'') { + if ($d[0]=='-' || $d[0]=='\\') continue; + if ($d[0]=='<') { $out[]=substr($d,2); continue; } + if ($d[0]=='>') { $in[]=substr($d,2); continue; } + } + if (preg_match("/^(\\d+)(,(\\d+))?([adc])(\\d+)(,(\\d+))?/", + $dtype,$match)) { + if (@$match[7]>'') { + $lines='lines'; + $count=$match[1].'-'.($match[1]+$match[7]-$match[5]); + } elseif ($match[3]>'') { + $lines='lines'; $count=$match[1].'-'.$match[3]; + } else { $lines='line'; $count=$match[1]; } + if ($match[4]=='a' || $match[4]=='c') { + $txt = str_replace('line',$lines,$DiffDelFmt[$match[4]]); + $FmtV['$DiffLines'] = $count; + $html .= FmtPageName($txt,$pagename); + if ($DiffShow['source']=='y') + $html .= "
" + .$DiffRenderSourceFunction($in, $out, 0) + ."
"; + else $html .= MarkupToHTML($pagename, + preg_replace_callback('/\\(:.*?:\\)/',"cb_diffhtml", join("\n",$in))); + } + if ($match[4]=='d' || $match[4]=='c') { + $txt = str_replace('line',$lines,$DiffAddFmt[$match[4]]); + $FmtV['$DiffLines'] = $count; + $html .= FmtPageName($txt,$pagename); + if ($DiffShow['source']=='y') + $html .= "
" + .$DiffRenderSourceFunction($in, $out, 1) + ."
"; + else $html .= MarkupToHTML($pagename, + preg_replace_callback('/\\(:.*?:\\)/',"cb_diffhtml",join("\n",$out))); + } + $html .= FmtPageName($DiffEndDelAddFmt,$pagename); + } + $in=array(); $out=array(); $dtype=$d; + } + return $html; +} +function cb_diffhtml($m) { return Keep(PHSC($m[0])); } + +function HandleDiff($pagename, $auth='read') { + global $HandleDiffFmt, $PageStartFmt, $PageDiffFmt, $PageEndFmt; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) { Abort("?cannot diff $pagename"); } + PCache($pagename, $page); + SDV($HandleDiffFmt,array(&$PageStartFmt, + &$PageDiffFmt,"
", 'function:PrintDiff', '
', + &$PageEndFmt)); + PrintFmt($pagename,$HandleDiffFmt); +} +## Functions for simple word-diff (written by Petko Yotov) +function DiffRenderSource($in, $out, $which) { + global $WordDiffFunction, $EnableDiffInline; + if (!IsEnabled($EnableDiffInline, 1)) { + $a = $which? $out : $in; + return str_replace("\n","
",PHSC(join("\n",$a))); + } + $countdifflines = abs(count($in)-count($out)); + $lines = $cnt = $x2 = $y2 = array(); + foreach($in as $line) { + $tmp = $countdifflines>20 ? array($line) : DiffPrepareInline($line); + if (!$which) $cnt[] = array(count($x2), count($tmp)); + $x2 = array_merge($x2, $tmp); + } + foreach($out as $line) { + $tmp = $countdifflines>20 ? array($line) : DiffPrepareInline($line); + if ($which) $cnt[] = array(count($y2), count($tmp)); + $y2 = array_merge($y2, $tmp); + } + $z = $WordDiffFunction(implode("\n", $x2), implode("\n", $y2)); + + $z2 = array_map('PHSC', ($which? $y2 : $x2)); + array_unshift($z2, ''); + foreach (explode("\n", $z) as $zz) { + if (preg_match('/^(\\d+)(,(\\d+))?([adc])(\\d+)(,(\\d+))?/',$zz,$m)) { + $a1 = $a2 = $m[1]; + if (@$m[3]) $a2=$m[3]; + $b1 = $b2 = $m[5]; + if (@$m[7]) $b2=$m[7]; + + if (!$which && ($m[4]=='c'||$m[4]=='d')) { + $z2[$a1] = ''. $z2[$a1]; + $z2[$a2] .= ''; + } + if ($which && ($m[4]=='c'||$m[4]=='a')) { + $z2[$b1] = ''.$z2[$b1]; + $z2[$b2] .= ''; + } + } + } + $line = array_shift($z2); + $z2[0] = $line.$z2[0]; + foreach ($cnt as $a) $lines[] = implode('', array_slice($z2, $a[0], $a[1])); + $ret = implode("\n", $lines); + $ret = str_replace(array(' ', ' '), ' ', $ret); + $ret = preg_replace('/(<(ins|del)>|^) /', '$1 ', $ret); + return str_replace(array(" ", "\n ", "\n"),array("  ", "
 ", "
"),$ret); +} +## Split a line into pieces before passing it through `diff` +function DiffPrepareInline($x) { + global $DiffSplitInlineDelims; + SDV($DiffSplitInlineDelims, "-@!?#$%^&*()=+[]{}.'\"\\:|,<>_/;~"); + return preg_split("/([".preg_quote($DiffSplitInlineDelims, '/')."\\s])/", + $x, -1, PREG_SPLIT_DELIM_CAPTURE); +} + +SDV($WordDiffFunction, 'PHPDiff'); # faster than sysdiff for many calls +if (IsEnabled($EnableDiffInline, 1) && $DiffShow['source'] == 'y' + && $WordDiffFunction == 'PHPDiff' && !function_exists('PHPDiff')) + include_once("$FarmD/scripts/phpdiff.php"); + +## Show diff before the preview Cookbook:PreviewChanges +function PreviewDiff($pagename,&$page,&$new) { + global $FmtV, $DiffFunction, $DiffHTMLFunction, $EnableDiffInline, $DiffShow; + if (@$_REQUEST['preview']>'' && @$page['text']>'' && $page['text']!=$new['text']) { + $d = IsEnabled($DiffShow['source'], 'y'); + $e = IsEnabled($EnableDiffInline, 1); + $DiffShow['source'] = 'y'; + $EnableDiffInline = 1; + SDV($DiffHTMLFunction, 'DiffHTML'); + $diff = $DiffFunction($new['text'], $page['text']);# reverse the diff + $FmtV['$PreviewText'] = $DiffHTMLFunction($pagename, $diff).'
'.@$FmtV['$PreviewText']; + $DiffShow['source'] = $d; + $EnableDiffInline = $e; + } +} +if (IsEnabled($EnablePreviewChanges, 0) && @$_REQUEST['preview']>'') { + $EditFunctions[] = 'PreviewDiff'; +} blob - /dev/null blob + 4b1c42e0f9c1dde844a3b2f8160c10492db05b13 (mode 644) --- /dev/null +++ scripts/pgcust.php @@ -0,0 +1,39 @@ + '') $t1[] = "$x\n\\ No newline at end of file"; + $t2 = explode("\n", $new); + $x = array_pop($t2); + if ($x > '') $t2[] = "$x\n\\ No newline at end of file"; + + $t1_start = 0; $t1_end = count($t1); + $t2_start = 0; $t2_end = count($t2); + + # stop with a common ending + while ($t1_start < $t1_end && $t2_start < $t2_end + && $t1[$t1_end-1] == $t2[$t2_end-1]) { $t1_end--; $t2_end--; } + + # skip over any common beginning + while ($t1_start < $t1_end && $t2_start < $t2_end + && $t1[$t1_start] == $t2[$t2_start]) { $t1_start++; $t2_start++; } + + # build a reverse-index array using the line as key and line number as value + # don't store blank lines, so they won't be targets of the shortest distance + # search + for($i = $t1_start; $i < $t1_end; $i++) if ($t1[$i]>'') $r1[$t1[$i]][] = $i; + for($i = $t2_start; $i < $t2_end; $i++) if ($t2[$i]>'') $r2[$t2[$i]][] = $i; + + $a1 = $t1_start; $a2 = $t2_start; # start at beginning of each list + $actions = array(); + + # walk this loop until we reach the end of one of the lists + while ($a1 < $t1_end && $a2 < $t2_end) { + # if we have a common element, save it and go to the next + if ($t1[$a1] == $t2[$a2]) { $actions[] = 4; $a1++; $a2++; continue; } + + # otherwise, find the shortest move (Manhattan-distance) from the + # current location + $best1 = $t1_end; $best2 = $t2_end; + $s1 = $a1; $s2 = $a2; + while(($s1 + $s2 - $a1 - $a2) < ($best1 + $best2 - $a1 - $a2)) { + $d = -1; + foreach((array)@$r1[$t2[$s2]] as $n) + if ($n >= $s1) { $d = $n; break; } + if ($d >= $s1 && ($d + $s2 - $a1 - $a2) < ($best1 + $best2 - $a1 - $a2)) + { $best1 = $d; $best2 = $s2; } + $d = -1; + foreach((array)@$r2[$t1[$s1]] as $n) + if ($n >= $s2) { $d = $n; break; } + if ($d >= $s2 && ($s1 + $d - $a1 - $a2) < ($best1 + $best2 - $a1 - $a2)) + { $best1 = $s1; $best2 = $d; } + $s1++; $s2++; + } + while ($a1 < $best1) { $actions[] = 1; $a1++; } # deleted elements + while ($a2 < $best2) { $actions[] = 2; $a2++; } # added elements + } + + # we've reached the end of one list, now walk to the end of the other + while($a1 < $t1_end) { $actions[] = 1; $a1++; } # deleted elements + while($a2 < $t2_end) { $actions[] = 2; $a2++; } # added elements + + # and this marks our ending point + $actions[] = 8; + + # now, let's follow the path we just took and report the added/deleted + # elements into $out. + $op = 0; + $x0 = $x1 = $t1_start; $y0 = $y1 = $t2_start; + $out = array(); + foreach($actions as $act) { + if ($act == 1) { $op |= $act; $x1++; continue; } + if ($act == 2) { $op |= $act; $y1++; continue; } + if ($op > 0) { + $xstr = ($x1 == ($x0+1)) ? $x1 : ($x0+1) . ",$x1"; + $ystr = ($y1 == ($y0+1)) ? $y1 : ($y0+1) . ",$y1"; + if ($op == 1) $out[] = "{$xstr}d{$y1}"; + elseif ($op == 3) $out[] = "{$xstr}c{$ystr}"; + while ($x0 < $x1) { $out[] = '< ' . $t1[$x0]; $x0++; } # deleted elems + if ($op == 2) $out[] = "{$x1}a{$ystr}"; + elseif ($op == 3) $out[] = '---'; + while ($y0 < $y1) { $out[] = '> '.$t2[$y0]; $y0++; } # added elems + } + $x1++; $x0 = $x1; + $y1++; $y0 = $y1; + $op = 0; + } + $out[] = ''; + StopWatch("PHPDiff: end"); + return join("\n",$out); +} + +if (!function_exists(@$DiffFunction)) + $DiffFunction = 'PHPDiff'; + blob - /dev/null blob + 375d841e649a3ee348e9d6eee342266815977657 (mode 644) --- /dev/null +++ scripts/prefs.php @@ -0,0 +1,59 @@ +$v) { + if(! preg_match('/^(e_rows|e_cols|TimeFmt|Locale|Site\\.EditForm)$|^ak_/', $k)) + unset($XL['prefs'][$k]); + } +} + +XLSDV('en', array( + 'ak_view' => '', + 'ak_edit' => 'e', + 'ak_history' => 'h', + 'ak_attach' => '', + 'ak_backlinks' => '', + 'ak_logout' => '', + 'ak_print' => '', + 'ak_recentchanges' => 'c', + 'ak_save' => 's', + 'ak_saveedit' => 'u', + 'ak_savedraft' => 'd', + 'ak_preview' => 'p', + 'ak_em' => '', + 'ak_strong' => '', + )); + blob - /dev/null blob + 6d1224533bb39944f35e7f4f8b7c977d4cd4bfaa (mode 644) --- /dev/null +++ scripts/refcount.php @@ -0,0 +1,123 @@ +Reference Count Results"); +SDV($RefCountTimeFmt," %Y-%b-%d %H:%M"); +SDV($HandleActions['refcount'], 'HandleRefCount'); + +function PrintRefCount($pagename) { + global $GroupPattern,$NamePattern,$PageRefCountFmt,$RefCountTimeFmt, $ScriptUrl; + $pagelist = ListPages(); + $grouplist = array(); + foreach($pagelist as $pname) { + if (!preg_match("/^($GroupPattern)[\\/.]($NamePattern)$/",$pname,$m)) + continue; + $grouplist[$m[1]]=$m[1]; + } + asort($grouplist); + $grouplist = array_merge(array('all' => 'all groups'),$grouplist); + + $wlist = array('all','missing','existing','orphaned'); + $tlist = isset($_REQUEST['tlist']) ? $_REQUEST['tlist'] : array('all'); + $flist = isset($_REQUEST['flist']) ? $_REQUEST['flist'] : array('all'); + $whichrefs = @$_REQUEST['whichrefs']; + $showrefs = (@$_REQUEST['showrefs']=='checked')? "checked='checked'" : ''; + $submit = @$_REQUEST['submit']; + + echo FmtPageName($PageRefCountFmt,$pagename); + echo FmtPageName(" +
Show +
page names in group
+
referenced from pages in
+
+

+ +


"; + + if ($submit) { + foreach($pagelist as $pname) { + $ref = array(); + $page = ReadPage($pname, READPAGE_CURRENT); + if (!$page) continue; + $tref[$pname]['time'] = $page['time']; + if (!in_array('all',$flist) && + !in_array(FmtPageName('$Group',$pname),$flist)) continue; + $rc = preg_match('/RecentChanges$/',$pname); + foreach(explode(',',@$page['targets']) as $r) { + if ($r=='') continue; + if ($rc) @$tref[$r]['rc']++; + else { @$tref[$r]['page']++; @$pref[$r][$pname]++; } + } + } + uasort($tref,'RefCountCmp'); + echo " + + "; + reset($tref); + foreach($tref as $p=>$c) { + if (!in_array('all',$tlist) && + !in_array(FmtPageName('$Group',$p),$tlist)) continue; + if ($whichrefs=='missing' && PageExists($p)) continue; + elseif ($whichrefs=='existing' && !PageExists($p)) continue; + elseif ($whichrefs=='orphaned' && + (@$tref[$p]['page']>0 || !PageExists($p))) continue; + echo ""; + echo ""; + echo ""; + echo ""; + } + echo "
Referring pages
Name / TimeAllR.C.
",LinkPage($pagename, '', $p, '', $p); + if (@$tref[$p]['time']) echo strftime($RefCountTimeFmt,$tref[$p]['time']); + if ($showrefs && is_array(@$pref[$p])) { + foreach($pref[$p] as $pr=>$pc) + echo "
", LinkPage($pagename, '', $pr, '', $pr); + } + echo "
",@$tref[$p]['page']+0,"",@$tref[$p]['rc']+0,"
"; + } +} + + +function RefCountCmp($ua,$ub) { + if (@($ua['page']!=$ub['page'])) return @($ub['page']-$ua['page']); + if (@($ua['rc']!=$ub['rc'])) return @($ub['rc']-$ua['rc']); + return @($ub['time']-$ua['time']); +} + + + +function HandleRefCount($pagename, $auth='read') { + global $HandleRefCountFmt,$PageStartFmt,$PageEndFmt; + $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); + if (!$page) Abort('?unauthorized'); + PCache($pagename, $page); + SDV($HandleRefCountFmt,array(&$PageStartFmt, + 'function:PrintRefCount',&$PageEndFmt)); + PrintFmt($pagename,$HandleRefCountFmt); +} + blob - /dev/null blob + 40bc603703d0eadc14f7f440fdeac8672998caae (mode 644) --- /dev/null +++ scripts/robots.php @@ -0,0 +1,81 @@ + tag in the head of the HTML document. + By default $MetaRobots is set so that robots do not index pages in + the Site, SiteAdmin, and PmWiki groups. + + The $RobotPattern variable is used to determine if the user agent + accessing the site is a robot, and $IsRobotAgent is set accordingly. + By default this pattern identifies Googlebot, Yahoo! Slurp, msnbot, + BecomeBot, and HTTrack as robots. + + If the agent is deemed a robot, then the $RobotActions array is + checked to see if robots are allowed to perform the given action, + and if not the robot is immediately sent an HTTP 403 Forbidden + response. + + If $EnableRobotCloakActions is set, then a pattern is added to + $FmtP to hide any "?action=" url parameters in page urls + generated by PmWiki for actions that robots aren't allowed to + access. This can greatly reduce the load on the server by + not providing the robot with links to pages that it will be + forbidden to index anyway. + + Script maintained by Petko YOTOV www.pmwiki.org/petko +*/ + +## $MetaRobots provides the value for the tag. +SDV($MetaRobots, + ($action!='browse' || !PageExists($pagename) + || preg_match('#^PmWiki[./](?!PmWiki$)|^Site(Admin)?[./]#', $pagename)) + ? 'noindex,nofollow' : 'index,follow'); +if ($MetaRobots) + $HTMLHeaderFmt['robots'] = + " \n"; + +## $RobotPattern is used to identify robots. +SDV($RobotPattern,'\\w+[-_ ]?(bot|spider|crawler)' + .'|Slurp|Teoma|ia_archiver|HTTrack|XML Sitemaps|Jabse|Yandex|PageAnalyzer|Yeti|Riddler|Aboundex|ADmantX|WikiDo' + .'|Pinterest|Qwantify|worldwebheritage|coccoc|HostWallker|Add Catalog|idmarch|MegaIndex|heritrix|SEOdiver'); +SDV($IsRobotAgent, + $RobotPattern && preg_match("!$RobotPattern!i", @$_SERVER['HTTP_USER_AGENT'])); +if (!$IsRobotAgent) return; + +## $RobotActions indicates which actions a robot is allowed to perform. +SDVA($RobotActions, array('browse' => 1, 'rss' => 1, 'dc' => 1)); +if (!@$RobotActions[$action]) { + $pagename = ResolvePageName($pagename); + if (!PageExists($pagename)) { + header("HTTP/1.1 404 Not Found"); + print("

Not Found

"); + exit(); + } + header("HTTP/1.1 403 Forbidden"); + print("

Forbidden

"); + exit(); +} + +## The following removes any ?action= parameters that robots aren't +## allowed to access. +function cb_bool($a) { return (boolean)$a; } +if (IsEnabled($EnableRobotCloakActions, 0)) { + $p = join('|', array_keys(array_filter($RobotActions, 'cb_bool'))); + $FmtPV['$PageUrl'] = + 'PUE(($EnablePathInfo) + ? "\\$ScriptUrl/$group/$name" + : "\\$ScriptUrl?n=$group.$name")'; + $FmtP["/(\\\$ScriptUrl[^#\"'\\s<>]+)\\?action=(?!$p)\\w+/"] = '$1'; +} + blob - /dev/null blob + c5fda5ea25b53173b4d80730d05393da0c2c0e49 (mode 644) --- /dev/null +++ scripts/simuledit.php @@ -0,0 +1,76 @@ += $Now + || $_POST['basetime']>=$page['time'] + || $page['text'] == $new['text']) return; + $EnablePost = 0; + $old = array(); + RestorePage($pagename,$page,$old,"diff:{$_POST['basetime']}"); + $text = Merge($new['text'],$old['text'],$page['text']); + if ($text > '') { $new['text'] = $text; $ec = '$[EditConflict]'; } + else $ec = '$[EditWarning]'; + XLSDV('en', array( + 'EditConflict' => "The page you are + editing has been modified since you started editing it. + The modifications have been merged into the text below, + you may want to verify the results of the merge before + pressing save. Conflicts the system couldn't resolve are + bracketed by <<<<<<< and + >>>>>>>.", + 'EditWarning' => "The page you are editing has been modified + since you started editing it. If you continue, your + changes will overwrite any changes that others have made.")); + $MessagesFmt[] = "

$ec + ($[View changes]) +

\n"; +} + blob - /dev/null blob + ad3de162a11498d40e33ac744469483dda66f21c (mode 644) --- /dev/null +++ scripts/skins.php @@ -0,0 +1,234 @@ + 0)); + +## from skinchange.php +if (IsEnabled($EnableAutoSkinList, 0) || isset($PageSkinList)) { + SDV($SkinCookie, $CookiePrefix.'setskin'); + SDV($SkinCookieExpires, $Now+60*60*24*365); + + if (isset($_COOKIE[$SkinCookie])) $sk = $_COOKIE[$SkinCookie]; + if (isset($_GET['setskin'])) { + $sk = $_GET['setskin']; + pmsetcookie($SkinCookie, $sk, $SkinCookieExpires, '/'); + if(@$EnableIMSCaching) { + SDV($IMSCookie, $CookiePrefix.'imstime'); + pmsetcookie($IMSCookie, '', $Now -3600, '/'); + $EnableIMSCaching = 0; + } + } + if (isset($_GET['skin'])) $sk = $_GET['skin']; + + ## If $EnableAutoSkinList is set, then we accept any skin that + ## exists in pub/skins/ or $FarmD/pub/skins/ . + if (IsEnabled($EnableAutoSkinList, 0) + && @$sk && preg_match('/^[-\\w]+$/', $sk) + && (is_dir("pub/skins/$sk") || is_dir("$FarmD/pub/skins/$sk"))) + $Skin = $sk; + + ## If there's a specific mapping in $PageSkinList, we use it no + ## matter what. + if (@$PageSkinList[$sk]) $Skin = $PageSkinList[$sk]; +} + +# $PageTemplateFmt is deprecated +if (isset($PageTemplateFmt)) LoadPageTemplate($pagename,$PageTemplateFmt); +else { + $x = array_merge((array)@$ActionSkin[$action], (array)$Skin); + SetSkin($pagename, $x); +} + +SDV($PageCSSListFmt,array( + 'pub/css/local.css' => '$PubDirUrl/css/local.css', + 'pub/css/{$Group}.css' => '$PubDirUrl/css/{$Group}.css', + 'pub/css/{$FullName}.css' => '$PubDirUrl/css/{$FullName}.css')); + +foreach((array)$PageCSSListFmt as $k=>$v) + if (file_exists(FmtPageName($k,$pagename))) + $HTMLHeaderFmt[] = "\n"; + +if(IsEnabled($WikiPageCSSFmt, false)) + InsertWikiPageCSS($pagename, $WikiPageCSSFmt); + +# SetSkin changes the current skin to the first available skin from +# the $skin array. +function SetSkin($pagename, $skin) { + global $Skin, $SkinLibDirs, $SkinDir, $SkinDirUrl, + $IsTemplateLoaded, $PubDirUrl, $FarmPubDirUrl, $FarmD, $GCount; + SDV($SkinLibDirs, array( + "./pub/skins/\$Skin" => "$PubDirUrl/skins/\$Skin", + "$FarmD/pub/skins/\$Skin" => "$FarmPubDirUrl/skins/\$Skin")); + foreach((array)$skin as $sfmt) { + $Skin = FmtPageName($sfmt, $pagename); $GCount = 0; + foreach($SkinLibDirs as $dirfmt => $urlfmt) { + $SkinDir = FmtPageName($dirfmt, $pagename); + if (is_dir($SkinDir)) + { $SkinDirUrl = FmtPageName($urlfmt, $pagename); break 2; } + } + } + if (!is_dir($SkinDir)) { + unset($Skin); + Abort("?unable to find skin from list ".implode(' ',(array)$skin)); + } + $IsTemplateLoaded = 0; + if (file_exists("$SkinDir/$Skin.php")) + include_once("$SkinDir/$Skin.php"); + else if (file_exists("$SkinDir/skin.php")) + include_once("$SkinDir/skin.php"); + if ($IsTemplateLoaded) return; + if (file_exists("$SkinDir/$Skin.tmpl")) + LoadPageTemplate($pagename, "$SkinDir/$Skin.tmpl"); + else if (file_exists("$SkinDir/skin.tmpl")) + LoadPageTemplate($pagename, "$SkinDir/skin.tmpl"); + else if (($dh = opendir($SkinDir))) { + while (($fname = readdir($dh)) !== false) { + if ($fname[0] == '.') continue; + if (substr($fname, -5) != '.tmpl') continue; + if ($IsTemplateLoaded) + Abort("?unable to find unique template in $SkinDir"); + LoadPageTemplate($pagename, "$SkinDir/$fname"); + } + closedir($dh); + } + if (!$IsTemplateLoaded) Abort("Unable to load $Skin template", 'skin'); +} + +function cb_includeskintemplate($m) { + global $SkinDir, $pagename; + $x = preg_split('/\\s+/', $m[1], -1, PREG_SPLIT_NO_EMPTY); + for ($i=0; $i\n"); + SDV($PageTextEndFmt, "
\n"); + SDV($SkinDirectivesPattern, + "[[<]!--((?:wiki|file|function|markup):.*?)--[]>]"); + + $sddef = array('PageEditFmt' => 0); + $k = implode('', file(FmtPageName($tfilefmt, $pagename))); + + for ($i=0; $i]/i', + 'cb_includeskintemplate', $k); + } + + if (IsEnabled($EnableSkinDiag, 0)) { + if (!preg_match('//i', $k)) + Abort("Skin template missing <!--HTMLHeader-->", 'htmlheader'); + if (!preg_match('//i', $k)) + Abort("Skin template missing <!--HTMLFooter-->", 'htmlheader'); + } + + $sect = preg_split( + '#[[<]!--(/?(?:Page[A-Za-z]+Fmt|(?:HT|X)ML(?:Head|Foot)er|HeaderText|PageText).*?)--[]>]#', + $k, 0, PREG_SPLIT_DELIM_CAPTURE); + $TmplFmt['Start'] = array_merge(array('headers:'), + preg_split("/$SkinDirectivesPattern/s", + array_shift($sect),0,PREG_SPLIT_DELIM_CAPTURE)); + $TmplFmt['End'] = array($PageTextEndFmt); + $ps = 'Start'; + while (count($sect)>0) { + $k = array_shift($sect); + $v = preg_split("/$SkinDirectivesPattern/s", + array_shift($sect),0,PREG_SPLIT_DELIM_CAPTURE); + $TmplFmt[$ps][] = ""; + if ($k[0] == '/') + { $TmplFmt[$ps][] = (count($v) > 1) ? $v : $v[0]; continue; } + @list($var, $sd) = explode(' ', $k, 2); + $GLOBALS[$var] = (count($v) > 1) ? $v : $v[0]; + if ($sd > '') $sddef[$var] = $sd; + if ($var == 'PageText') { $ps = 'End'; } + if ($var == 'HTMLHeader' || $var == 'XMLHeader') + $TmplFmt[$ps][] = &$HTMLHeaderFmt; + if ($var == 'HTMLFooter' || $var == 'XMLFooter') + $TmplFmt[$ps][] = &$HTMLFooterFmt; + ## deprecated, 2.1.16 + if ($var == 'HeaderText') { $TmplFmt[$ps][] = &$HTMLHeaderFmt; } + $TmplFmt[$ps][$var] =& $GLOBALS[$var]; + } + array_push($TmplFmt['Start'], $PageTextStartFmt); + $PageStartFmt = 'function:PrintSkin Start'; + $PageEndFmt = 'function:PrintSkin End'; + $IsTemplateLoaded = 1; + SDVA($TmplDisplay, $sddef); +} + +# This function is called to print a portion of the skin template +# according to the settings in $TmplDisplay. +function PrintSkin($pagename, $arg) { + global $TmplFmt, $TmplDisplay; + foreach ($TmplFmt[$arg] as $k => $v) + if (!isset($TmplDisplay[$k]) || $TmplDisplay[$k]) + PrintFmt($pagename, $v); +} + +# This function parses a wiki page like Site.LocalCSS +# and inserts CSS rules specific to the current page. +# Based on Cookbook:LocalCSS by Petko Yotov +function InsertWikiPageCSS($pagename, $fmt) { + global $HTMLStylesFmt, $EnableSelfWikiPageCSS, $WikiPageCSSVars; + SDV($WikiPageCSSVars,array('FarmPubDirUrl','PubDirUrl','Skin','action','SkinDirUrl')); + + $stylepagename = FmtPageName($fmt, $pagename); + if ($stylepagename == $pagename && + !IsEnabled($EnableSelfWikiPageCSS, 0)) return; + + if ($stylepagename == $pagename && @$_POST['text']) + $text = stripmagic($_POST['text']); + else { + $p = ReadPage($stylepagename, READPAGE_CURRENT); + $text = @$p['text']; + } + if (!$text) return; + + $text = str_replace(array("\r",'$','<','$='),array('','$','<','$='), $text); + $varray = array(); + + # global PHP variables as @variables + foreach($WikiPageCSSVars as $var) $varray["@$var"] = $GLOBALS[$var]; + + # get @variables from page + if (preg_match_all("/^\\s*(@\\w+):\\s*(.*?)\\s*$/m", $text, $vars) ) + foreach($vars[1] as $k=>$varname) $varray[$varname] = trim($vars[2][$k]); + + # expand nested @variables + for ($i=0; $i<10; $i++) $text = strtr($text, $varray); + + # process snippets + if (preg_match_all("/\\[@\\s*([^\\/!\\s]+)\n(.*?)\\s*@\\]/s", $text, $matches, PREG_SET_ORDER) ) + foreach($matches as $a) + if (count(MatchPageNames($pagename, trim($a[1])))) + @$HTMLStylesFmt['WikiPageCSS'] .= trim($a[2]); +} + blob - /dev/null blob + 926fe7d40705b26f504c84750bc19b7735241e3f (mode 644) --- /dev/null +++ scripts/stdconfig.php @@ -0,0 +1,118 @@ +$v) { + if (!$k || !$v || $v<0 || $v>=50) continue; + if (function_exists($k)) $k($pagename); + elseif (file_exists($k)) include_once($k); + } +} + +if (IsEnabled($EnableRobotControl,1)) + include_once("$FarmD/scripts/robots.php"); + +if (IsEnabled($EnableCaches, 1)) + include_once("$FarmD/scripts/caches.php"); + +## Scripts that are part of a standard PmWiki distribution. +if (IsEnabled($EnableAuthorTracking,1)) + include_once("$FarmD/scripts/author.php"); +if (IsEnabled($EnablePrefs, 1)) + include_once("$FarmD/scripts/prefs.php"); +if (IsEnabled($EnableSimulEdit, 1)) + include_once("$FarmD/scripts/simuledit.php"); +if (IsEnabled($EnableDrafts, 0)) + include_once("$FarmD/scripts/draft.php"); # after simuledit + prefs +if (IsEnabled($EnableSkinLayout,1)) + include_once("$FarmD/scripts/skins.php"); # must come after prefs +if (@$Transition || IsEnabled($EnableTransitions, 0)) + include_once("$FarmD/scripts/transition.php"); # must come after skins +if (@$LinkWikiWords || IsEnabled($EnableWikiWords, 0)) + include_once("$FarmD/scripts/wikiwords.php"); # must come before stdmarkup +if (IsEnabled($EnableStdMarkup,1)) + include_once("$FarmD/scripts/stdmarkup.php"); # must come after transition +if (($action=='diff' && @!$HandleActions['diff']) + || (IsEnabled($EnablePreviewChanges, 0) && @$_REQUEST['preview']>'')) + include_once("$FarmD/scripts/pagerev.php"); +if (IsEnabled($EnableWikiTrails,1)) + include_once("$FarmD/scripts/trails.php"); +if (IsEnabled($EnableWikiStyles,1)) + include_once("$FarmD/scripts/wikistyles.php"); +if (IsEnabled($EnableMarkupExpressions, 1) + && !function_exists('MarkupExpression')) + include_once("$FarmD/scripts/markupexpr.php"); +if (IsEnabled($EnablePageList,1)) + include_once("$FarmD/scripts/pagelist.php"); +if (IsEnabled($EnableVarMarkup,1)) + include_once("$FarmD/scripts/vardoc.php"); +if (!function_exists(@$DiffFunction)) + include_once("$FarmD/scripts/phpdiff.php"); +if ($action=='crypt') + include_once("$FarmD/scripts/crypt.php"); +if ($action=='edit') + include_once("$FarmD/scripts/guiedit.php"); +if (IsEnabled($EnableForms,1)) + include_once("$FarmD/scripts/forms.php"); # must come after prefs +if (IsEnabled($EnableUpload,0)) + include_once("$FarmD/scripts/upload.php"); # must come after forms +if (IsEnabled($EnableBlocklist, 0)) + include_once("$FarmD/scripts/blocklist.php"); +if (IsEnabled($EnableNotify,0)) + include_once("$FarmD/scripts/notify.php"); +if (IsEnabled($EnableDiag,0) || $action == 'recipecheck') + include_once("$FarmD/scripts/diag.php"); + +if (IsEnabled($PmTOC['Enable'],0) || IsEnabled($PmEmbed,0) || IsEnabled($EnableSortable,0) + || $LinkFunctions['mailto:'] == 'ObfuscateLinkIMap' || IsEnabled($EnableHighlight, 0) + || IsEnabled($ToggleNextSelector, 0) + ) { + $utils = "$FarmD/pub/pmwiki-utils.js"; + if(file_exists($utils)) { + $mtime = filemtime($utils); + $HTMLFooterFmt['pmwiki-utils'] = + ""; + } +} + +if (IsEnabled($EnableUpgradeCheck,1)) { + SDV($StatusPageName, "$SiteAdminGroup.Status"); + $page = ReadPage($StatusPageName, READPAGE_CURRENT); + if (@$page['updatedto'] != $VersionNum) + { $action = 'upgrade'; include_once("$FarmD/scripts/upgrades.php"); } +} blob - /dev/null blob + 07498b01983619aec5f60afd875f8632e9fe9fa4 (mode 644) --- /dev/null +++ scripts/stdmarkup.php @@ -0,0 +1,681 @@ +".Keep($text).""; + $text = preg_replace("/\n[^\\S\n]+$/", "\n", $text); + if ($lead == "" || $lead == "\n") + return "$lead
".Keep($text)."
"; + return "$lead<:pre,1>".Keep($text); +} + +Markup('[=','_begin',"/(\n[^\\S\n]*)?\\[([=@])(.*?)\\2\\]/s", + "MarkupPreserveText"); +function MarkupPreserveText($m) {return PreserveText($m[2], $m[3], $m[1]);} + +Markup('restore','<_end',"/$KeepToken(\\d.*?)$KeepToken/", 'cb_expandkpv'); +Markup('<:', '>restore', '/<:[^>]*>/', ''); +Markup('', '/', + "
"); +Markup('

', '<', + "/]*)(\\s)class=(['\"])([^>]*?)\\4)?/", + "[=', + '/\\$\\[(?>([^\\]]+))\\]/', "cb_expandxlang"); + +# {$var} substitutions +Markup('{$var}', '>$[phrase]', + '/\\{(\\*|!?[-\\w.\\/\\x80-\\xff]*)(\\$:?\\w[-\\w]*)\\}/', + "MarkupPageVar"); +function MarkupPageVar($m){ + extract($GLOBALS["MarkupToHTML"]); + return PRR(PVSE(PageVar($pagename, $m[2], $m[1]))); +} + +# invisible (:textvar:...:) definition +Markup('textvar:', '([A-Za-z0-9]+|#\\d+|#[xX][A-Fa-f0-9]+));/', + '&$1;'); +Markup('&amp;', '<&', '/&amp;/', Keep('&')); + + +## (:if:)/(:elseif:)/(:else:) +SDV($CondTextPattern, + "/ \\(:if (\d*) (?:end)? \\b[^\n]*?:\\) + .*? + (?: \\(: (?:if\\1|if\\1end) \\s* :\\) + | (?=\\(:(?:if\\1|if\\1end)\\b[^\n]*?:\\) | $) + ) + /six"); +// SDV($CondTextReplacement, "CondText2(\$pagename, \$m[0], \$m[1])"); +SDV($CondTextReplacement, "MarkupCondText2"); +Markup('if', 'fulltext', $CondTextPattern, $CondTextReplacement); + +function MarkupCondText2($m) { + extract($GLOBALS["MarkupToHTML"]); + return CondText2($pagename, $m[0], $m[1]); +} +function CondText2($pagename, $text, $code = '') { + global $Conditions, $CondTextPattern, $CondTextReplacement; + $if = "if$code"; + $repl = str_replace('$pagename', "'$pagename'", $CondTextReplacement); + + $parts = preg_split("/\\(:(?:{$if}end|$if|else *$if|else$code)\\b\\s*(.*?)\\s*:\\)/", + $text, -1, PREG_SPLIT_DELIM_CAPTURE); + $x = array_shift($parts); + while ($parts) { + list($condspec, $condtext) = array_splice($parts, 0, 2); + if (!preg_match("/^\\s*(!?)\\s*(\\S*)\\s*(.*?)\\s*$/", $condspec, $match)) continue; + list($x, $not, $condname, $condparm) = $match; + + if (!isset($Conditions[$condname])) + return preg_replace_callback($CondTextPattern, $repl, $condtext); + $tf = @eval("return ({$Conditions[$condname]});"); + if ($tf xor $not) + return preg_replace_callback($CondTextPattern, $repl, $condtext); + } + return ''; +} + + +## (:include:) +Markup('include', '>if', + '/\\(:include\\s+(\\S.*?):\\)/i', + "MarkupRedirectInclude"); + +## (:redirect:) +Markup('redirect', 'include', + '/\\(:nogroupheader:\\)/i', + "MarkupGroupHeaderFooter"); +Markup('nogroupfooter', '>include', + '/\\(:nogroupfooter:\\)/i', + "MarkupGroupHeaderFooter"); +Markup('groupheader', '>nogroupheader', + '/\\(:groupheader:\\)/i', + "MarkupGroupHeaderFooter"); +Markup('groupfooter','>nogroupfooter', + '/\\(:groupfooter:\\)/i', + "MarkupGroupHeaderFooter"); + +function MarkupGroupHeaderFooter($m) { + extract($GLOBALS["MarkupToHTML"]); + global $GroupHeaderFmt, $GroupFooterFmt; + switch ($markupid) { + case 'nogroupheader': return PZZ($GroupHeaderFmt=''); + case 'nogroupfooter': return PZZ($GroupFooterFmt=''); + case 'groupheader': return PRR(FmtPageName($GroupHeaderFmt,$pagename)); + case 'groupfooter': return PRR(FmtPageName($GroupFooterFmt,$pagename)); + } +} +## (:nl:) +Markup('nl0','(?:\\(:nl:\\))+)([^\n])/i","$1\n$2"); +Markup('nl1','>nl0',"/\\(:nl:\\)/i",''); + +## \\$ (end of line joins) +Markup('\\$','>nl1',"/\\\\(?>(\\\\*))\n/", "MarkupEndLineJoin"); +function MarkupEndLineJoin($m) { return str_repeat('
',strlen($m[1])); } + +## Remove one <:vspace> after !headings +Markup('!vspace', '>\\$', "/^(!(?>[^\n]+)\n)<:vspace>/m", '$1'); + +## (:noheader:),(:nofooter:),(:notitle:)... +Markup('noheader', 'directives', '/\\(:noheader:\\)/i', "MarkupTmplDisplay"); +Markup('nofooter', 'directives', '/\\(:nofooter:\\)/i', "MarkupTmplDisplay"); +Markup('notitle', 'directives', '/\\(:notitle:\\)/i', "MarkupTmplDisplay"); +Markup('noleft', 'directives', '/\\(:noleft:\\)/i', "MarkupTmplDisplay"); +Markup('noright', 'directives', '/\\(:noright:\\)/i', "MarkupTmplDisplay"); +Markup('noaction', 'directives', '/\\(:noaction:\\)/i', "MarkupTmplDisplay"); + +function MarkupTmplDisplay($m) { + extract($GLOBALS["MarkupToHTML"]); + switch ($markupid) { + case 'noheader': return SetTmplDisplay('PageHeaderFmt',0); + case 'nofooter': return SetTmplDisplay('PageFooterFmt',0); + case 'notitle': return SetTmplDisplay('PageTitleFmt',0); + case 'noleft': return SetTmplDisplay('PageLeftFmt',0); + case 'noright': return SetTmplDisplay('PageRightFmt',0); + case 'noaction': return SetTmplDisplay('PageActionFmt',0); + } +} + +## (:spacewikiwords:) +Markup('spacewikiwords', 'directives', + '/\\(:(no)?spacewikiwords:\\)/i', + "MarkupDirectives"); + +## (:linkwikiwords:) +Markup('linkwikiwords', 'directives', + '/\\(:(no)?linkwikiwords:\\)/i', + "MarkupDirectives"); + +## (:linebreaks:) +Markup('linebreaks', 'directives', + '/\\(:(no)?linebreaks:\\)/i', + "MarkupDirectives"); + +## (:messages:) +Markup('messages', 'directives', + '/^\\(:messages:\\)/i', + "MarkupDirectives"); + +function MarkupDirectives($m) { + extract($GLOBALS["MarkupToHTML"]); + switch ($markupid) { + case 'linkwikiwords': return PZZ($GLOBALS['LinkWikiWords']=($m[1]!='no')); + case 'spacewikiwords': return PZZ($GLOBALS['SpaceWikiWords']=($m[1]!='no')); + case 'linebreaks': + return PZZ($GLOBALS['HTMLPNewline'] = (@$m[1]!='no') ? '
' : ''); + case 'messages': + return '<:block>'.Keep(FmtPageName( + implode('',(array)$GLOBALS['MessagesFmt']), $pagename)); + } +} + + +## (:comment:) +Markup('comment', 'directives', '/\\(:comment .*?:\\)/i', ''); + +## (:title:) +fix for PITS:00266, 00779 +$tmpwhen = IsEnabled($EnablePageTitlePriority, 0) ? ' + SetProperty($pagename, 'title', $m[1], NULL, $EnablePageTitlePriority)))); + case 'keywords': + return PZZ(SetProperty($pagename, 'keywords', $m[1], ', ')); + case 'description': + return PZZ(SetProperty($pagename, 'description', $m[1], '\n')); + } +} + +## (:keywords:), (:description:) +Markup('keywords', 'directives', "/\\(:keywords?\\s+(.+?):\\)/i", "MarkupSetProperty"); +Markup('description', 'directives', "/\\(:description\\s+(.+?):\\)/i", "MarkupSetProperty"); +$HTMLHeaderFmt['meta'] = 'function:PrintMetaTags'; +function PrintMetaTags($pagename, $args) { + global $PCache; + foreach(array('keywords', 'description') as $n) { + foreach((array)@$PCache[$pagename]["=p_$n"] as $v) { + $v = str_replace("'", ''', $v); + print "\n"; + } + } +} + +#### inline markups #### +## ''emphasis'' +Markup("''",'inline',"/''(.*?)''/",'$1'); + +## '''strong''' +Markup("'''","<''","/'''(.*?)'''/",'$1'); + +## '''''strong emphasis''''' +Markup("'''''","<'''","/'''''(.*?)'''''/",'$1'); + +## @@code@@ +Markup('@@','inline','/@@(.*?)@@/','$1'); + +## '+big+', '-small-' +Markup("'+","<'''''","/'\\+(.*?)\\+'/",'$1'); +Markup("'-","<'''''","/'\\-(.*?)\\-'/",'$1'); + +## '^superscript^', '_subscript_' +Markup("'^","<'''''","/'\\^(.*?)\\^'/",'$1'); +Markup("'_","<'''''","/'_(.*?)_'/",'$1'); + +## [+big+], [-small-] +Markup('[+','inline','/\\[(([-+])+)(.*?)\\1\\]/', + "MarkupBigSmall"); + +function MarkupBigSmall($m) { + return ''. $m[3].''; +} + +## {+ins+}, {-del-} +Markup('{+','inline','/\\{\\+(.*?)\\+\\}/','$1'); +Markup('{-','inline','/\\{-(.*?)-\\}/','$1'); + +## [[<<]] (break) +Markup('[[<<]]','inline','/\\[\\[<<\\]\\]/',"
"); + +###### Links ###### +function MarkupLinks($m){ + extract($GLOBALS["MarkupToHTML"]); + switch ($markupid) { + case '[[': + return Keep(MakeLink($pagename,$m[1],NULL,$m[2]),'L'); + case '[[!': + global $CategoryGroup, $LinkCategoryFmt; + return Keep(MakeLink($pagename,"$CategoryGroup/{$m[1]}",NULL,'', + $LinkCategoryFmt),'L'); + case '[[|': + return Keep(MakeLink($pagename,$m[1],$m[2],$m[3]),'L'); + case '[[->': + return Keep(MakeLink($pagename,$m[2],$m[1],$m[3]),'L'); + case '[[|#': + return Keep(MakeLink($pagename,$m[1], + '['.++$GLOBALS['MarkupFrame'][0]['ref'].']'),'L'); + case '[[#': + return Keep(TrackAnchors($m[1]) ? '' : "", 'L'); + case 'urllink': + return Keep(MakeLink($pagename,$m[0],$m[0]),'L'); + case 'mailto': + return Keep(MakeLink($pagename,$m[0],$m[1]),'L'); + case 'img': + global $LinkFunctions, $ImgTagFmt; + return Keep($LinkFunctions[$m[1]]($pagename,$m[1],$m[2],@$m[4],$m[1].$m[2], + $ImgTagFmt),'L'); + } +} + +## [[free links]] +Markup('[[','links',"/(?>\\[\\[\\s*(.*?)\\]\\])($SuffixPattern)/", "MarkupLinks"); + +## [[!Category]] +SDV($CategoryGroup,'Category'); +SDV($LinkCategoryFmt,"\$LinkText"); +Markup('[[!','<[[','/\\[\\[!(.*?)\\]\\]/', "MarkupLinks"); +# This is a temporary workaround for blank category pages. +# It may be removed in a future release (Pm, 2006-01-24) +if (preg_match("/^$CategoryGroup\\./", $pagename)) { + SDV($DefaultPageTextFmt, ''); + SDV($PageNotFoundHeaderFmt, 'HTTP/1.1 200 Ok'); +} + +## [[target | text]] +Markup('[[|','<[[', + "/(?>\\[\\[([^|\\]]*)\\|\\s*)(.*?)\\s*\\]\\]($SuffixPattern)/", + "MarkupLinks"); + +## [[text -> target ]] +Markup('[[->','>[[|', + "/(?>\\[\\[([^\\]]+?)\\s*-+>\\s*)(.*?)\\]\\]($SuffixPattern)/", + "MarkupLinks"); + +## [[#anchor]] +Markup('[[#','<[[','/(?>\\[\\[#([A-Za-z][-.:\\w]*))\\]\\]/', "MarkupLinks"); +function TrackAnchors($x) { global $SeenAnchor; return @$SeenAnchor[$x]++; } + +## [[target |#]] reference links +Markup('[[|#', '<[[|', + "/(?>\\[\\[([^|\\]]+))\\|\\s*#\\s*\\]\\]/", + "MarkupLinks"); + +## [[target |+]] title links moved inside LinkPage() + +## bare urllinks +Markup('urllink','>[[', + "/\\b(?>(\\L))[^\\s$UrlExcludeChars]*[^\\s.,?!$UrlExcludeChars]/", + "MarkupLinks"); + +## mailto: links +Markup('mailto','(\\L))([^\\s$UrlExcludeChars]+$ImgExtPattern)(\"([^\"]*)\")?/", + "MarkupLinks"); + +if (IsEnabled($EnableRelativePageLinks, 1)) + SDV($QualifyPatterns['/(\\[\\[(?>[^\\]]+?->)?\\s*)([-\\w\\x80-\\xfe\\s\'()]+([|#?].*?)?\\]\\])/'], + 'cb_qualifylinks'); + +function cb_qualifylinks($m) { + extract($GLOBALS['tmp_qualify']); + return "{$m[1]}$group/{$m[2]}"; +} + +## bare wikilinks +## v2.2: markup rule moved to scripts/wikiwords.php) +Markup('wikilink', '>urllink'); + +## escaped `WikiWords +## v2.2: rule kept here for markup compatibility with 2.1 and earlier +Markup('`wikiword', ' markup (after all other block markups) +Markup('^<:','>block','/^(?=\\s*\\S)(<:([^>]+)>)?/',"MarkupBlock"); +function MarkupBlock($m) {return Block(@$m[2]);} + +## unblocked lines w/block markup become anonymous <:block> +Markup('^!<:', '<^<:', + "/^(?!<:)(?=.*(<\\/?($BlockPattern)\\b)|$KeepToken\\d+B$KeepToken)/", + '<:block>'); + +## Lines that begin with displayed images receive their own block. A +## pipe following the image indicates a "caption" (generates a linebreak). +Markup('^img', 'block', + "/^((?>(\\s+|%%|%[A-Za-z][-,=:#\\w\\s'\".]*%)*)$KeepToken(\\d+L)$KeepToken)(\\s*\\|\\s?)?(.*)$/", + "ImgCaptionDiv"); +function ImgCaptionDiv($m) { + global $KPV; + if (strpos($KPV[$m[3]], '

$ret
"; +} + +## Whitespace at the beginning of lines can be used to maintain the +## indent level of a previous list item, or a preformatted text block. +Markup('^ws', '<^img', '/^\\s+ #1/x', "WSIndent"); +function WSIndent($i) { + if(is_array($i)) $i = $i[0]; + global $MarkupFrame; + $icol = strlen($i); + for($depth = count(@$MarkupFrame[0]['cs']); $depth > 0; $depth--) + if (@$MarkupFrame[0]['is'][$depth] == $icol) { + $MarkupFrame[0]['idep'] = $depth; + $MarkupFrame[0]['icol'] = $icol; + return ''; + } + return $i; +} + +## The $EnableWSPre setting uses leading spaces on markup lines to indicate +## blocks of preformatted text. +SDV($EnableWSPre, 1); +Markup('^ ', 'block', + '/^\\s+ #2/x', + "MarkupWSPre"); +function MarkupWSPre($m) { + global $EnableWSPre; + return ($EnableWSPre > 0 && strlen($m[0]) >= $EnableWSPre) + ? '<:pre,1>'.$m[0] : $m[0]; +} +## bullet lists +Markup('^*','block','/^(\\*+)\\s?(\\s*)/','<:ul,$1,$0>$2'); + +## numbered lists +Markup('^#','block','/^(#+)\\s?(\\s*)/','<:ol,$1,$0>$2'); + +## indented (->) /hanging indent (-<) text +Markup('^->','block','/^(?>(-+))>\\s?(\\s*)/','<:indent,$1,$1 $2>$2'); +Markup('^-<','block','/^(?>(-+))<\\s?(\\s*)/','<:outdent,$1,$1 $2>$2'); + +## definition lists +Markup('^::','block','/^(:+)(\s*)([^:]+):/','<:dl,$1,$1$2>
$2$3
'); + +## Q: and A: +Markup('^Q:', 'block', '/^Q:(.*)$/', "<:block,1>

$1

"); +Markup('^A:', 'block', '/^A:/', Keep('')); + +## tables +function MarkupTables($m) { + extract($GLOBALS["MarkupToHTML"]); + switch ($markupid) { + case 'table': return Cells(@$m[1],@$m[2]); + case '^||||': return FormatTableRow($m[0]); + case '^||': + $GLOBALS['BlockMarkups']['table'][0] = ''; + return '<:block,1>'; + } +} + +## ||cell||, ||!header cell||, ||!caption!|| +Markup('^||||', 'block', + '/^\\|\\|.*\\|\\|.*$/', + "MarkupTables"); +## ||table attributes +Markup('^||','>^||||','/^\\|\\|(.*)$/', + "MarkupTables"); + +#### (:table:) markup (AdvancedTables) +Markup('table', '>', '><<', '<^>>', + '/^>><</', + '(:divend:)'); + +function SimpleTableAttr($attr) { + global $SimpleTableDefaultClassName; + $qattr = PQA($attr); + if(IsEnabled($SimpleTableDefaultClassName) && !preg_match("/(^| )class='.*?' /", $qattr)) + $qattr .= "class='$SimpleTableDefaultClassName'"; + return $qattr; +} + +#### (:table:) markup (AdvancedTables) +function Cells($name,$attr) { + global $MarkupFrame, $EnableTableAutoValignTop; + $attr = PQA($attr); + $tattr = @$MarkupFrame[0]['tattr']; + $name = strtolower($name); + $key = preg_replace('/end$/', '', $name); + if (preg_match("/^(?:head|cell)(nr)?$/", $name)) $key = 'cell'; + $out = '<:block>'.MarkupClose($key); + if (substr($name, -3) == 'end') return $out; + $cf = & $MarkupFrame[0]['closeall']; + if ($name == 'table') $MarkupFrame[0]['tattr'] = $attr; + else if ($key == 'cell') { + if (IsEnabled($EnableTableAutoValignTop, 1) && strpos($attr, "valign=")===false) + $attr .= " valign='top'"; + $t = (strpos($name, 'head')===0 ) ? 'th' : 'td'; + if (!@$cf['table']) { + $tattr = @$MarkupFrame[0]['tattr']; + $out .= "
<$t $attr>"; + $cf['table'] = '
'; + } else if ( preg_match("/nr$/", $name)) $out .= "<$t $attr>"; + else $out .= "<$t $attr>"; + $cf['cell'] = ""; + } else { + $tag = preg_replace('/\\d+$/', '', $key); + $tmp = "<$tag $attr>"; + if ($tag == 'details') { + $tmp = preg_replace("#($2', $tmp); + } + $out .= $tmp; + $cf[$key] = ""; + } + return $out; +} + + +## headings +Markup('^!', 'block', '/^(!{1,6})\\s?(.*)$/', "MarkupHeadings"); +function MarkupHeadings($m) { + $len = strlen($m[1]); + return "<:block,1>$m[2]"; +} + +## horiz rule +Markup('^----','>^->','/^----+/','<:block,1>
'); + +#### special stuff #### +## (:markup:) for displaying markup examples +function MarkupMarkup($pagename, $text, $opt = '') { + global $MarkupWordwrapFunction, $MarkupWrapTag; + SDV($MarkupWordwrapFunction, 'IsEnabled'); + SDV($MarkupWrapTag, 'pre'); + $MarkupMarkupOpt = array('class' => 'vert'); + $opt = array_merge($MarkupMarkupOpt, ParseArgs($opt)); + $html = MarkupToHTML($pagename, $text, array('escape' => 0)); + if (@$opt['caption']) + $caption = str_replace("'", ''', + "{$opt['caption']}"); + $class = preg_replace('/[^-\\s\\w]+/', ' ', @$opt['class']); + if (strpos($class, 'horiz') !== false) + { $sep = ''; $pretext = $MarkupWordwrapFunction($text, 40); } + else + { $sep = ''; $pretext = $MarkupWordwrapFunction($text, 75); } + return Keep(@"$caption + $sep
<$MarkupWrapTag>$pretext$html
"); +} + +Markup('markup', '<[=', + "/\\(:markup(\\s+([^\n]*?))?:\\)[^\\S\n]*\\[([=@])(.*?)\\3\\]/si", + "MarkupMarkupMarkup"); +Markup('markupend', '>markup', # $1 only shifts the other matches + "/\\(:(markup)(\\s+([^\n]*?))?:\\)[^\\S\n]*\n(.*?)\\(:markupend:\\)/si", + "MarkupMarkupMarkup"); +function MarkupMarkupMarkup($m) { # cannot be joined, $markupid resets + extract($GLOBALS["MarkupToHTML"]); global $MarkupMarkupLevel; + @$MarkupMarkupLevel++; + $x = MarkupMarkup($pagename, $m[4], $m[2]); + $MarkupMarkupLevel--; + return $x; +} + +SDV($HTMLStylesFmt['markup'], " + table.markup { border:2px dotted #ccf; width:90%; } + td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } + table.vert td.markup1 { border-bottom:1px solid #ccf; } + table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } + table.markup caption { text-align:left; } + div.faq p, div.faq pre { margin-left:2em; } + div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } + div.faqtoc div.faq * { display:none; } + div.faqtoc div.faq p.question + { display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } + div.faqtoc div.faq p.question * { display:inline; } + td.markup1 pre { white-space: pre-wrap; } + "); + +#### Special conditions #### +## The code below adds (:if date:) conditions to the markup. +$Conditions['date'] = "CondDate(\$condparm)"; + +function CondDate($condparm) { + global $Now; + if (!preg_match('/^(\\S*?)(\\.\\.(\\S*))?(\\s+\\S.*)?$/', + trim($condparm), $match)) + return false; + if ($match[4] == '') { $x0 = $Now; NoCache(); } + else { list($x0, $x1) = DRange($match[4]); } + if ($match[1] > '') { + list($t0, $t1) = DRange($match[1]); + if ($x0 < $t0) return false; + if ($match[2] == '' && $x0 >= $t1) return false; + } + if ($match[3] > '') { + list($t0, $t1) = DRange($match[3]); + if ($x0 >= $t1) return false; + } + return true; +} + +# This pattern enables the (:encrypt :) markup/replace-on-save +# pattern. +SDV($ROSPatterns['/\\(:encrypt\\s+([^\\s:=]+).*?:\\)/'], 'cb_encrypt'); +function cb_encrypt($m) { return pmcrypt($m[1]);} + +# Table of contents, based on Cookbook:AutoTOC by Petko Yotov +SDVA($PmTOC, array( + 'Enable' => 0, + 'MaxLevel' => 6, + 'MinNumber' => 3, + 'ParentElement'=>'', + 'NumberedHeadings'=>'', + 'EnableBacklinks'=>0, + 'EnableQMarkup' => 0, + 'contents' => XL('Contents'), + 'hide' => XL('hide'), + 'show' => XL('show'), +)); + +if ($action!='browse') $PmTOC['Enable'] = 0; + +Markup("PmTOC", 'directives', '/^\\(:[#*]?(?:toc|tdm).*?:\\)\\s*$/im', 'FmtPmTOC'); +Markup("noPmTOC", 'directives', '/\\(:(no)(?:toc|tdm).*?:\\)/im', 'FmtPmTOC'); +function FmtPmTOC($m) { + if (@$m[1]) return Keep(''); + return "<:block,1>".Keep("
"); +} +SDV($HTMLStylesFmt['PmTOC'], '.noPmTOC, .PmTOCdiv:empty {display:none;} +.PmTOCdiv { display: inline-block; font-size: 13px; overflow: auto; max-height: 500px;} +.PmTOCdiv a { text-decoration: none;} +.back-arrow {font-size: .9em; text-decoration: none;} +#PmTOCchk + label {cursor: pointer;} +#PmTOCchk {display: none;} +#PmTOCchk:not(:checked) + label > .pmtoc-show {display: none;} +#PmTOCchk:checked + label > .pmtoc-hide {display: none;} +#PmTOCchk:checked + label + div {display: none;}'); + +SDV($HTMLStylesFmt['PmSortable'], 'table.sortable th { cursor: pointer; } +table.sortable th::after { color: transparent; content: "\00A0\025B8"; } +table.sortable th:hover::after { color: inherit; content: "\00A0\025B8"; } +table.sortable th.dir-u::after { color: inherit; content: "\00A0\025BE"; } +table.sortable th.dir-d::after { color: inherit; content: "\00A0\025B4"; }'); + blob - /dev/null blob + bfd0159161934ac150b9bb1165b2a0bc4dbc3f83 (mode 644) --- /dev/null +++ scripts/trails.php @@ -0,0 +1,140 @@ +> to be + used to build "trails" through wiki documents. + + This feature is automatically included from stdconfig.php unless + disabled by $EnableWikiTrails = 0; . To explicitly include this feature, + execute + include_once("scripts/trails.php"); + from config.php somewhere. + + Once enabled, the <<|TrailPage|>> markup is replaced with + << PrevPage | TrailPage | NextPage >> on output. TrailPage should + contain either a bullet or number list defining the sequence of pages + in the "trail". + + The ^|TrailPage|^ markup uses the depth of the bullets to display + the ancestry of the TrailPage to the current one. The <|TrailPage|> + markup is like <<|TrailPage|>> except that "< PrevPage |" and + "| NextPage >" are omitted if at the beginning or end of the + trail respectively. Thanks to John Rankin for contributing these + markups and the original suggestion for WikiTrails. + + Script maintained by Petko YOTOV www.pmwiki.org/petko +*/ + +Markup('<<|','<<|','/<\\|([^|]+|\\[\\[(.+?)\\]\\])\\|>/', + "MarkupMakeTrail"); +Markup('^|','>/' => '$1', + '/<\\|([^|]+|\\[\\[(.+?)\\]\\])\\|>/' => '$1', + '/\\^\\|([^|]+|\\[\\[(.+?)\\]\\])\\|\\^/' => '$1')); + +$Conditions['ontrail'] = 'CondOnTrail($pagename, $condparm)'; + +function CondOnTrail($pagename, $condparm) { + @list($trailname, $pn) = preg_split('/\\s+/', $condparm, 2); + $trail = ReadTrail($pagename, $trailname); + if (!$trail) return false; + $pn = ($pn > '') ? MakePageName($pagename, $pn) : $pagename; + foreach($trail as $t) + if ($t['pagename'] == $pn) return true; + return false; +} + +function ReadTrail($pagename, $trailname) { + global $RASPageName, $SuffixPattern, $GroupPattern, $WikiWordPattern, + $LinkWikiWords; + if (preg_match('/^\\[\\[(.+?)(->|\\|)(.+?)\\]\\]$/', $trailname, $m)) + $trailname = ($m[2] == '|') ? $m[1] : $m[3]; + $trailtext = RetrieveAuthSection($pagename, $trailname); + $trailname = $RASPageName; + $trailtext = Qualify($trailname, $trailtext); + $t = array(); + $n = 0; + foreach(explode("\n", PHSC(@$trailtext, ENT_NOQUOTES)) + as $x) { + $x = preg_replace("/\\[\\[([^\\]]*)->([^\\]]*)\\]\\]/",'[[$2|$1]]',$x); + if (!preg_match("/^([#*:]+) \\s* + (\\[\\[([^:#!|][^|:]*?)(?:\".*?\")?(\\|.*?)?\\]\\]($SuffixPattern) + | (($GroupPattern([\\/.]))?$WikiWordPattern)) (.*)/x",$x,$match)) + continue; + if (@$match[6]) { + if (!$LinkWikiWords) continue; + $tgt = MakePageName($trailname, $match[6]); + } else $tgt = MakePageName($trailname, $match[3]); + $t[$n]['depth'] = $depth = strlen($match[1]); + $t[$n]['pagename'] = $tgt; + $t[$n]['markup'] = $match[2]; + $t[$n]['detail'] = $match[9]; + for($i=$depth;$i<10;$i++) $d[$i]=$n; + if ($depth>1) $t[$n]['parent']=@$d[$depth-1]; + $n++; + } + return $t; +} + +function MakeTrailStop($pagename,$trailname) { + $t = ReadTrail($pagename,$trailname); + $prev=''; $next=''; + for($i=0;$i0) $prev = $t[$i-1]['markup']; + if ($i+1<< $prev | $trailname | $next >>"; +} + +function MakeTrailStopB($pagename,$trailname) { + $t = ReadTrail($pagename,$trailname); + $prev = ''; $next = ''; + for($i=0;$i0) $prev = '< '.$t[$i-1]['markup'].' | '; + if ($i+1$prev$trailname$next"; +} + +function MakeTrailPath($pagename,$trailname) { + global $TrailPathSep; + SDV($TrailPathSep,' | '); + $t = ReadTrail($pagename,$trailname); + $crumbs = ''; + for($i=0;$i0) { + $crumbs = $TrailPathSep.$t[$i]['markup'].$crumbs; + $i = @$t[$i]['parent']; + } + return "$trailname$crumbs"; + } + } + return "$trailname"; +} + blob - /dev/null blob + 763d2b74075efbe8047eb2cfcbdfefd414c2c3c7 (mode 644) --- /dev/null +++ scripts/transition.php @@ -0,0 +1,279 @@ +

+ + $Transition['version'] < 2001006 - all transitions listed above + + $Transition['fplbygroup'] - restore FPLByGroup function + + $Transition['version'] < 2000915 - all transitions listed above + + $Transition['mainrc'] - keep using Main.AllRecentChanges + $Transition['mainapprovedurls'] - keep using Main.ApprovedUrls + $Transition['pageeditfmt'] - default $PageEditFmt value + $Transition['mainpages'] - other default pages in Main + + $Transition['version'] < 1999944 - all transitions listed above + + To get all of the transitions for compatibility with a previous + version of PmWiki, simply set $Transition['version'] in a local + configuration file to the version number you want compatibility + with. All of the transitions associated with that version will + then be enabled. Example: + + # Keep compatibility with PmWiki version 2.0.13 + $Transition['version'] = 2000013; + + To explicitly enable or disable specific transitions, set + the corresponding $Transition[] element to 1 or 0. This will + override the $Transition['version'] item listed above. For + example, to enable just the 'pageeditfmt' transition, use + + $Transition['pageeditfmt'] = 1; + + Script maintained by Petko YOTOV www.pmwiki.org/petko +*/ + +## if ?trans=0 is specified, then we don't do any fixups. +if (@$_REQUEST['trans']==='0') return; + +## set a default Transition version if we don't have one +SDV($Transition['version'], $VersionNum); + +## Transitions from 2.2.0-beta67 +if (@$Transition['version'] < 2001967) + SDVA($Transition, array('nosessionencode' => 1)); + +if (@$Transition['nosessionencode']) { + $SessionEncode = NULL; + $SessionDecode = NULL; +} + +## Transitions from 2.2.0-beta41 +if (@$Transition['version'] < 2001941) + SDVA($Transition, array('wspre' => 1)); + +if (@$Transition['wspre']) SDV($EnableWSPre, 1); + +## Transitions from 2.2.0-beta24 +if (@$Transition['version'] < 2001924) + SDVA($Transition, array('wikiwords' => 1)); + +## wikiwords: +## This restores the PmWiki 2.1 behavior for WikiWord processing. +## WikiWords aren't linked by default, but appear with +## ... tags around them. +if (@$Transition['wikiwords']) { + SDV($EnableWikiWords, 1); + SDV($LinkWikiWords, 0); +} + +## Transitions from 2.2.0-beta1 +if (@$Transition['version'] < 2001901) + SDVA($Transition, array('abslinks' => 1)); + +## abslinks: +## This restores settings so that PmWiki treats all links +## as absolute (following the 2.1.x and earlier interpretation). +if (@$Transition['abslinks']) { + SDV($EnableRelativePageLinks, 0); + SDV($EnableRelativePageVars, 0); +} + +## Transitions from 2.1.12 + +if (@$Transition['version'] < 2001012) + SDVA($Transition, array('nodivnest' => 1)); + +## nodivnest: +## This restores the PmWiki 2.1.11 behavior that doesn't +## allow nesting of divs and tables. +if (@$Transition['nodivnest']) { + function TCells($m) { + list($x, $name, $attr) = $m; + global $MarkupFrame; + $attr = preg_replace('/([a-zA-Z]=)([^\'"]\\S*)/',"\$1'\$2'",$attr); + $tattr = @$MarkupFrame[0]['tattr']; + $name = strtolower($name); + $out = '<:block>'; + if (strncmp($name, 'cell', 4) != 0 || @$MarkupFrame[0]['closeall']['div']) { + $out .= @$MarkupFrame[0]['closeall']['div']; + unset($MarkupFrame[0]['closeall']['div']); + $out .= @$MarkupFrame[0]['closeall']['table']; + unset($MarkupFrame[0]['closeall']['table']); + } + if ($name == 'div') { + $MarkupFrame[0]['closeall']['div'] = ""; + $out .= "
"; + } + if ($name == 'table') $MarkupFrame[0]['tattr'] = $attr; + if (strncmp($name, 'cell', 4) == 0) { + if (strpos($attr, "valign=")===false) $attr .= " valign='top'"; + if (!@$MarkupFrame[0]['closeall']['table']) { + $MarkupFrame[0]['closeall']['table'] = ""; + $out .= "\n", $pagename); + foreach($VarIndex as $v=>$a) + $out .= FmtPageName("\n",$a['pagename']); + $out .= "
"; + } else if ($name == 'cellnr') $out .= "
"; + else $out .= ""; + } + return $out; + } + + Markup('table', ' 1)); + +## vspace: +## This restores PmWiki's use of

to mark +## vertical space in the output. +if (@$Transition['vspace']) $HTMLVSpace = "

"; + + +## Transitions from 2.1.beta15 + +if (@$Transition['version'] < 2000915) + SDVA($Transition, array('fplbygroup' => 1)); + +## fplbygroup: +## The FPLByGroup function was removed in 2.1.beta15, this restores it. +if (@$Transition['fplbygroup'] && !function_exists('FPLByGroup')) { + SDV($FPLFormatOpt['bygroup'], array('fn' => 'FPLByGroup')); + function FPLByGroup($pagename, &$matches, $opt) { + global $FPLByGroupStartFmt, $FPLByGroupEndFmt, $FPLByGroupGFmt, + $FPLByGroupIFmt, $FPLByGroupOpt; + SDV($FPLByGroupStartFmt,"
"); + SDV($FPLByGroupEndFmt,'
'); + SDV($FPLByGroupGFmt,"
\$Group /
\n"); + SDV($FPLByGroupIFmt,"
\$Name
\n"); + SDVA($FPLByGroupOpt, array('readf' => 0, 'order' => 'name')); + $matches = MakePageList($pagename, + array_merge((array)$FPLByGroupOpt, $opt), 0); + if (@$opt['count']) array_splice($matches, $opt['count']); + if (count($matches)<1) return ''; + $out = ''; + foreach($matches as $pn) { + $pgroup = FmtPageName($FPLByGroupGFmt, $pn); + if ($pgroup != @$lgroup) { $out .= $pgroup; $lgroup = $pgroup; } + $out .= FmtPageName($FPLByGroupIFmt, $pn); + } + return FmtPageName($FPLByGroupStartFmt, $pagename) . $out . + FmtPageName($FPLByGroupEndFmt, $pagename); + } +} + +## Transitions from 2.0.beta44 + +if (@$Transition['version'] < 1999944) + SDVA($Transition, array('mainrc' => 1, 'mainapprovedurls' => 1, + 'pageeditfmt' => 1, 'mainpages' => 1)); + +## mainrc: +## 2.0.beta44 switched Main.AllRecentChanges to be +## $SiteGroup.AllRecentChanges. This setting keeps Main.AllRecentChanges +## if it exists. +if (@$Transition['mainrc'] && PageExists('Main.AllRecentChanges')) { + SDV($RecentChangesFmt['Main.AllRecentChanges'], + '* [[$Group.$Name]] . . . $CurrentTime $[by] $AuthorLink'); +} + +## siteapprovedurls: +## 2.0.beta44 switched Main.ApprovedUrls to be $SiteGroup.ApprovedUrls . +## This setting keeps using Main.ApprovedUrls if it exists. +if (@$Transition['mainapprovedurls'] && PageExists('Main.ApprovedUrls')) { + $ApprovedUrlPagesFmt = (array)$ApprovedUrlPagesFmt; + if (PageExists(FmtPageName($ApprovedUrlPagesFmt[0], $pagename))) + $ApprovedUrlPagesFmt[] = 'Main.ApprovedUrls'; + else array_unshift($ApprovedUrlPagesFmt, 'Main.ApprovedUrls'); +} + +## pageeditfmt: +## 2.0.beta44 switched to using wiki markup forms for page editing. +## However, some sites and skins have customized values of $PageEdit. +## This setting restores the default values. +if (@$Transition['pageeditfmt']) { + SDV($PageEditFmt, "
+ +

$[Editing \$FullName]

+
+ + + + \$EditMessageFmt +
+ $[Author]: + + $[This is a minor edit]
+ + +
"); + if (@$_POST['preview']) + SDV($PagePreviewFmt, "
+

$[Preview \$FullName]

+

$[Page is unsaved]

+ \$PreviewText +

$[End of preview -- remember to save]
+ $[Top]

"); + SDV($HandleEditFmt, array(&$PageStartFmt, + &$PageEditFmt, 'wiki:$[PmWiki.EditQuickReference]', &$PagePreviewFmt, + &$PageEndFmt)); + $EditMessageFmt = implode('', $MessagesFmt) . $EditMessageFmt; + if ($action=='edit' && IsEnabled($EnableGUIButtons, 0)) + array_push($EditFunctions, 'GUIEdit'); +} else $MessagesFmt[] = @$EditMessageFmt; + + +function GUIEdit($pagename, &$page, &$new) { + global $EditMessageFmt; + $EditMessageFmt .= GUIButtonCode($pagename); +} + +## mainpages: +## In 2.0.beta44 several utility pages change location to the new Site +## group. These settings cause some skins (that use translations) +## to know to link to the new locations. +if (@$Transition['mainpages']) { + XLSDV('en', array( + 'Main/SearchWiki' => XL('Site/Search'), + 'PmWiki.EditQuickReference' => XL('Site/EditQuickReference'), + 'PmWiki.UploadQuickReference' => XL('Site/UploadQuickReference'), + )); +} + blob - /dev/null blob + 18db1156c49cf9dd205d194ff7bc6bddb3120aa8 (mode 644) --- /dev/null +++ scripts/upgrades.php @@ -0,0 +1,100 @@ + SiteAdmin.* + foreach(array('AuthUser', 'NotifyList', 'Blocklist', 'ApprovedUrls') as $n) { + $n0 = "$SiteGroup.$n"; $n1 = "$SiteAdminGroup.$n"; + StopWatch("HandleUpgrade: checking $n0 -> $n1"); + ## checking AuthUser is special, because Site.AuthUser comes with the + ## distribution. + if ($n == 'AuthUser') { + ## if we already have a user-modified SiteAdmin.AuthUser, we can skip + SDV($AuthUserPageFmt, '$SiteAdminGroup.AuthUser'); + $n1 = FmtPageName($AuthUserPageFmt, $pagename); + $page = ReadPage($n1, READPAGE_CURRENT); + if (@$page['time'] > 1000000000) continue; + ## if there's not a user-modified Site.AuthUser, we can skip + $page = ReadPage($n0, READPAGE_CURRENT); + if (@$page['time'] == 1000000000) continue; + } else if (!PageExists($n0) || PageExists($n1)) continue; + + if (@$_REQUEST['migrate'] == 'yes') { + ## if the admin wants PmWiki to migrate, do it. + $page = RetrieveAuthPage($n0, 'admin', true); + StopWatch("HandleUpgrade: copying $n0 -> $n1"); + if ($page) { + WritePage($n1, $page); + $done .= "
  • Copied $n0 to $n1
  • "; + continue; + } + } + $message .= "
  • $n0 -> $n1
  • "; + } + + if ($message) { + $migrateurl = "$ScriptUrl?action=upgrade&migrate=yes"; + $infourl = 'http://www.pmwiki.org/wiki/PmWiki/UpgradeToSiteAdmin'; + $message = + "

    Upgrade notice -- SiteAdmin group

    +

    This version of PmWiki expects several administrative pages + from the Site group to be found in a new SiteAdmin group. + On this site, the following pages appear to need to be relocated:

    +
      $message
    + +

    For more information about this change, including the various + options for proceeding, see

    +
    $infourl
    + +
    +

    If you would like PmWiki to attempt to automatically copy + these pages into their new
    locations for you, try + + + + (admin password required)

    +
    + +

    If you want to configure PmWiki so that it continues to + look for the above pages in $SiteGroup, add the + following line near the top of local/config.php:

    + +
    \$SiteAdminGroup = \$SiteGroup;
    + + $Version + "; + print $message; + exit; + } + + StopWatch("UpgradeCheck: writing $StatusPageName"); + Lock(2); + SDV($StatusPageName, "$SiteAdminGroup.Status"); + $page = ReadPage($StatusPageName); + $page['updatedto'] = $VersionNum; + WritePage($StatusPageName, $page); + + if ($done) { + $done .= "
  • Updated $StatusPageName
  • "; + echo "

    Upgrade to $Version ... ok

      $done
    "; + $GLOBALS['EnableRedirect'] = 0; + } + Redirect($pagename); +} blob - /dev/null blob + 773836d5107e24781d3e343085ae20dae077ddf4 (mode 644) --- /dev/null +++ scripts/upload.php @@ -0,0 +1,437 @@ + 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', + 'png' => 'image/png', 'bmp' => 'image/bmp', 'ico' => 'image/x-icon', + 'wbmp'=> 'image/vnd.wap.wbmp', 'xcf' => 'image/x-xcf', 'webp' => 'image/webp', + 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', + 'mp3' => 'audio/mpeg', 'au' => 'audio/basic', 'wav' => 'audio/x-wav', + 'ogg' => 'audio/ogg', 'flac' => 'audio/x-flac', 'opus' => 'audio/opus', + 'ogv' => 'video/ogg', 'mp4' => 'video/mp4', 'webm' => 'video/webm', + 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mkv' => 'video/x-matroska', + 'm4v' => 'video/x-m4v', '3gp' => 'video/3gpp', + 'mov' => 'video/quicktime', 'qt' => 'video/quicktime', + 'wmf' => 'text/plain', 'avi' => 'video/x-msvideo', + 'zip' => 'application/zip', '7z' => 'application/x-7z-compressed', + 'gz' => 'application/x-gzip', 'tgz' => 'application/x-gzip', + 'rpm' => 'application/x-rpm', + 'hqx' => 'application/mac-binhex40', 'sit' => 'application/x-stuffit', + 'doc' => 'application/msword', 'ppt' => 'application/vnd.ms-powerpoint', + 'xls' => 'application/vnd.ms-excel', 'mdb' => 'text/plain', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'exe' => 'application/octet-stream', + 'pdf' => 'application/pdf', 'psd' => 'text/plain', + 'ps' => 'application/postscript', 'ai' => 'application/postscript', + 'eps' => 'application/postscript', + 'htm' => 'text/html', 'html' => 'text/html', 'css' => 'text/css', + 'fla' => 'application/x-shockwave-flash', + 'swf' => 'application/x-shockwave-flash', + 'txt' => 'text/plain', 'rtf' => 'application/rtf', + 'tex' => 'application/x-tex', 'dvi' => 'application/x-dvi', + 'odt' => 'application/vnd.oasis.opendocument.text', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'epub'=> 'application/epub+zip', + 'kml' => 'application/vnd.google-earth.kml+xml', + 'kmz' => 'application/vnd.google-earth.kmz', + 'vtt' => 'text/vtt', + '' => 'text/plain')); + +# Array containing forbidden strings in a filename, array('.php', '.cgi') +SDV($UploadBlacklist, array()); + +SDV($UploadMaxSize,50000); +SDV($UploadPrefixQuota,0); +SDV($UploadDirQuota,0); +foreach($UploadExts as $k=>$v) + if (!isset($UploadExtSize[$k])) $UploadExtSize[$k]=$UploadMaxSize; + +SDV($UploadDir,'uploads'); +SDV($UploadPermAdd,0444); +SDV($UploadPermSet,0); +SDV($UploadPrefixFmt,'/$Group'); +SDV($UploadFileFmt,"$UploadDir$UploadPrefixFmt"); +$v = preg_replace('#^/(.*/)#', '', $UploadDir); +SDV($UploadUrlFmt,preg_replace('#/[^/]*$#', "/$v", $PubDirUrl, 1)); +SDV($LinkUploadCreateFmt, "\$LinkText Δ"); +SDVA($ActionTitleFmt, array('upload' => '| $[Attach]')); + + +if ($EnablePostAuthorRequired) + SDV($EnableUploadAuthorRequired, $EnablePostAuthorRequired); + +SDV($PageUploadFmt,array(" +
    +

    $[Attachments for] {\$FullName}

    +

    \$UploadResult

    +
    + + + + + + + +
    $[File to upload:]
    $[Name attachment as:] +
    $[Uploader]: + +
    ", + 'wiki:$[{$SiteGroup}/UploadQuickReference]')); +XLSDV('en',array( + 'ULsuccess' => 'successfully uploaded', + 'ULauthorrequired' => 'An author name is required.', + 'ULbadname' => 'invalid attachment name', + 'ULbadtype' => '\'$upext\' is not an allowed file extension', + 'ULtoobig' => 'file is larger than maximum allowed by webserver', + 'ULtoobigext' => 'file is larger than allowed maximum of $upmax + bytes for \'$upext\' files', + 'ULpartial' => 'incomplete file received', + 'ULnofile' => 'no file uploaded', + 'ULexists' => 'file with that name already exists', + 'ULpquota' => 'group quota exceeded', + 'ULtquota' => 'upload quota exceeded')); +SDV($PageAttributes['passwdupload'],'$[Set new upload password:]'); +SDV($DefaultPasswords['upload'],'@lock'); +SDV($AuthCascade['upload'], 'read'); +SDV($FmtPV['$PasswdUpload'], 'PasswdVar($pn, "upload")'); + +Markup('attachlist', 'directives', + '/\\(:attachlist\\s*(.*?):\\)/i', + "MarkupFmtUploadList"); +function MarkupFmtUploadList($m) { + extract($GLOBALS["MarkupToHTML"]); # get $pagename + return Keep('
      '.FmtUploadList($pagename,$m[1]).'
    '); +} +SDV($GUIButtons['attach'], array(220, 'Attach:', '', '$[file.ext]', + '$GUIButtonDirUrlFmt/attach.gif"$[Attach file]"')); +SDV($LinkFunctions['Attach:'], 'LinkUpload'); +SDV($IMap['Attach:'], '$1'); +SDVA($HandleActions, array('upload' => 'HandleUpload', + 'postupload' => 'HandlePostUpload', + 'download' => 'HandleDownload')); +SDVA($HandleAuth, array('upload' => 'upload', + 'download' => 'read')); +SDV($HandleAuth['postupload'], $HandleAuth['upload']); +SDV($UploadVerifyFunction, 'UploadVerifyBasic'); + +function MakeUploadName($pagename,$x) { + global $UploadNameChars, $MakeUploadNamePatterns; + SDV($UploadNameChars, "-\\w. "); + SDV($MakeUploadNamePatterns, array( + "/[^$UploadNameChars]/" => '', + '/(\\.[^.]*)$/' => 'cb_tolower', + '/^[^[:alnum:]_]+/' => '', + '/[^[:alnum:]_]+$/' => '')); + return PPRA($MakeUploadNamePatterns, $x); +} + +function LinkUpload($pagename, $imap, $path, $alt, $txt, $fmt=NULL) { + global $FmtV, $UploadFileFmt, $LinkUploadCreateFmt, + $UploadUrlFmt, $UploadPrefixFmt, $EnableDirectDownload; + if (preg_match('!^(.*)/([^/]+)$!', $path, $match)) { + $pagename = MakePageName($pagename, $match[1]); + $path = $match[2]; + } + $upname = MakeUploadName($pagename, $path); + $encname = rawurlencode($upname); + $filepath = FmtPageName("$UploadFileFmt/$upname", $pagename); + $FmtV['$LinkUpload'] = + FmtPageName("\$PageUrl?action=upload&upname=$encname", $pagename); + $FmtV['$LinkText'] = $txt; + if (!file_exists($filepath)) + return FmtPageName($LinkUploadCreateFmt, $pagename); + $path = PUE(FmtPageName(IsEnabled($EnableDirectDownload, 1) + ? "$UploadUrlFmt$UploadPrefixFmt/$encname" + : "{\$PageUrl}?action=download&upname=$encname", + $pagename)); + return LinkIMap($pagename, $imap, $path, $alt, $txt, $fmt); +} + +# Authenticate group downloads with the group password +function UploadAuth($pagename, $auth, $cache=0){ + global $GroupAttributesFmt, $EnableUploadGroupAuth; + if (IsEnabled($EnableUploadGroupAuth,0)){ + SDV($GroupAttributesFmt,'$Group/GroupAttributes'); + $pn_upload = FmtPageName($GroupAttributesFmt, $pagename); + } else $pn_upload = $pagename; + $page = RetrieveAuthPage($pn_upload, $auth, true, READPAGE_CURRENT); + if (!$page) Abort("?No '$auth' permissions for $pagename"); + if ($cache) PCache($pn_upload,$page); + return true; +} + +function UploadSetVars($pagename) { + global $Author, $FmtV, $UploadExtMax, $EnableReadOnly, + $EnablePostAuthorRequired, $EnableUploadAuthorRequired; + $FmtV['$UploadName'] = MakeUploadName($pagename,@$_REQUEST['upname']); + $FmtV['$UploadAuthor'] = PHSC($Author, ENT_QUOTES); + $upresult = PHSC(@$_REQUEST['upresult']); + $uprname = PHSC(@$_REQUEST['uprname']); + $FmtV['$upext'] = PHSC(@$_REQUEST['upext']); + $FmtV['$upmax'] = PHSC(@$_REQUEST['upmax']); + $FmtV['$UploadResult'] = ($upresult) ? + FmtPageName("$uprname: $[UL$upresult]",$pagename) : + (@$EnableReadOnly ? XL('Cannot modify site -- $EnableReadOnly is set'): ''); + $FmtV['$UploadAuthorRequired'] = @$EnableUploadAuthorRequired ? + 'required="required"' : ''; +} + +function HandleUpload($pagename, $auth = 'upload') { + global $HandleUploadFmt,$PageStartFmt,$PageEndFmt,$PageUploadFmt; + UploadAuth($pagename, $auth, 1); + UploadSetVars($pagename); + SDV($HandleUploadFmt,array(&$PageStartFmt,&$PageUploadFmt,&$PageEndFmt)); + PrintFmt($pagename,$HandleUploadFmt); +} + +function HandleDownload($pagename, $auth = 'read') { + global $UploadFileFmt, $UploadExts, $DownloadDisposition, $EnableIMSCaching; + SDV($DownloadDisposition, "inline"); + UploadAuth($pagename, $auth); + $upname = MakeUploadName($pagename, @$_REQUEST['upname']); + $filepath = FmtPageName("$UploadFileFmt/$upname", $pagename); + if (!$upname || !file_exists($filepath)) { + header("HTTP/1.0 404 Not Found"); + Abort("?requested file not found"); + exit(); + } + if (IsEnabled($EnableIMSCaching, 0)) { + header('Cache-Control: private'); + header('Expires: '); + $filelastmod = gmdate('D, d M Y H:i:s \G\M\T', filemtime($filepath)); + if (@$_SERVER['HTTP_IF_MODIFIED_SINCE'] == $filelastmod) + { header("HTTP/1.0 304 Not Modified"); exit(); } + header("Last-Modified: $filelastmod"); + } + preg_match('/\\.([^.]+)$/',$filepath,$match); + if ($UploadExts[@$match[1]]) + header("Content-Type: {$UploadExts[@$match[1]]}"); + $fsize = $length = filesize($filepath); + $end = $fsize-1; + header("Accept-Ranges: bytes"); + if (@$_SERVER['HTTP_RANGE']) { + if(! preg_match('/^\\s*bytes\\s*=\\s*(\\d*)\\s*-\\s*(\\d*)\\s*$/i', $_SERVER['HTTP_RANGE'], $r) + || intval($r[1])>$end + || intval($r[2])>$end + || ($r[2] && intval($r[1])>intval($r[2])) + ) { + header('HTTP/1.1 416 Requested Range Not Satisfiable'); + header("Content-Range: bytes 0-$end/$fsize"); + exit; + } + if ($r[2]=='') $r[2] = $end; + if ($r[1]=='') $r[1] = $end - $r[2]; + $length = $r[2] - $r[1] + 1; + header('HTTP/1.1 206 Partial Content'); + header("Content-Range: bytes $r[1]-$r[2]/$fsize"); + } + else { + $r = array( null, 0, $end); + } + header("Content-Length: $length"); + header("Content-Disposition: $DownloadDisposition; filename=\"$upname\""); + $fp = fopen($filepath, "rb"); + if ($fp) { + $bf = 8192; + fseek($fp, $r[1]); + while (!feof($fp) && ($pos = ftell($fp)) <= $r[2]) { + $bf = max($bf, $r[2] - $pos + 1); + echo fread($fp, $bf); + flush(); + } + fclose($fp); + } + exit(); +} + +function HandlePostUpload($pagename, $auth = 'upload') { + global $UploadVerifyFunction, $UploadFileFmt, $LastModFile, + $EnableUploadVersions, $Now, $RecentUploadsFmt, $FmtV, + $NotifyItemUploadFmt, $NotifyItemFmt, $IsUploadPosted, + $UploadRedirectFunction, $UploadPermAdd, $UploadPermSet, + $EnableReadOnly; + + if (IsEnabled($EnableReadOnly, 0)) + Abort('Cannot modify site -- $EnableReadOnly is set', 'readonly'); + + UploadAuth($pagename, $auth); + $uploadfile = $_FILES['uploadfile']; + $upname = @$_REQUEST['upname']; + if ($upname=='') $upname=$uploadfile['name']; + $upname = MakeUploadName($pagename,$upname); + if (!function_exists($UploadVerifyFunction)) + Abort('?no UploadVerifyFunction available'); + $filepath = FmtPageName("$UploadFileFmt/$upname",$pagename); + $result = $UploadVerifyFunction($pagename,$uploadfile,$filepath); + if ($result=='') { + $filedir = preg_replace('#/[^/]*$#','',$filepath); + mkdirp($filedir); + if (IsEnabled($EnableUploadVersions, 0)) + @rename($filepath, "$filepath,$Now"); + if (!move_uploaded_file($uploadfile['tmp_name'],$filepath)) + { Abort("?cannot move uploaded file to $filepath"); return; } + fixperms($filepath, $UploadPermAdd, $UploadPermSet); + if ($LastModFile) { touch($LastModFile); fixperms($LastModFile); } + $result = "upresult=success"; + $FmtV['$upname'] = $upname; + $FmtV['$upsize'] = $uploadfile['size']; + if (IsEnabled($RecentUploadsFmt, 0)) { + PostRecentChanges($pagename, '', '', $RecentUploadsFmt); + } + if (IsEnabled($NotifyItemUploadFmt, 0) && function_exists('NotifyUpdate')) { + $NotifyItemFmt = $NotifyItemUploadFmt; + $IsUploadPosted = 1; + register_shutdown_function('NotifyUpdate', $pagename, getcwd()); + } + } + $FmtV['$upresult'] = $result; + SDV($UploadRedirectFunction, 'Redirect'); + $UploadRedirectFunction($pagename,"{\$PageUrl}?action=upload&uprname=$upname&$result"); +} + +function UploadVerifyBasic($pagename,$uploadfile,$filepath) { + global $EnableUploadOverwrite,$UploadExtSize,$UploadPrefixQuota, + $UploadDirQuota,$UploadDir, $UploadBlacklist, + $Author, $EnablePostAuthorRequired, $EnableUploadAuthorRequired; + + if (IsEnabled($EnableUploadAuthorRequired,0) && !$Author) + return 'upresult=authorrequired'; + + if (count($UploadBlacklist)) { + $tmp = explode("/", $filepath); + $upname = strtolower(end($tmp)); + foreach($UploadBlacklist as $needle) { + if (strpos($upname, $needle)!==false) return 'upresult=badname'; + } + } + if (!$EnableUploadOverwrite && file_exists($filepath)) + return 'upresult=exists'; + preg_match('/\\.([^.\\/]+)$/',$filepath,$match); $ext=@$match[1]; + $maxsize = $UploadExtSize[$ext]; + if ($maxsize<=0) return "upresult=badtype&upext=$ext"; + if ($uploadfile['size']>$maxsize) + return "upresult=toobigext&upext=$ext&upmax=$maxsize"; + switch (@$uploadfile['error']) { + case 1: return 'upresult=toobig'; + case 2: return 'upresult=toobig'; + case 3: return 'upresult=partial'; + case 4: return 'upresult=nofile'; + } + if (!is_uploaded_file($uploadfile['tmp_name'])) return 'upresult=nofile'; + $filedir = preg_replace('#/[^/]*$#','',$filepath); + if ($UploadPrefixQuota && + (dirsize($filedir)-@filesize($filepath)+$uploadfile['size']) > + $UploadPrefixQuota) return 'upresult=pquota'; + if ($UploadDirQuota && + (dirsize($UploadDir)-@filesize($filepath)+$uploadfile['size']) > + $UploadDirQuota) return 'upresult=tquota'; + return ''; +} + +function dirsize($dir) { + $size = 0; + $dirp = @opendir($dir); + if (!$dirp) return 0; + while (($file=readdir($dirp)) !== false) { + if ($file[0]=='.') continue; + if (is_dir("$dir/$file")) $size+=dirsize("$dir/$file"); + else $size+=filesize("$dir/$file"); + } + closedir($dirp); + return $size; +} + +function FmtUploadList($pagename, $args) { + global $UploadDir, $UploadPrefixFmt, $UploadUrlFmt, $EnableUploadOverwrite, + $TimeFmt, $EnableDirectDownload, $IMapLinkFmt, $UrlLinkFmt, $FmtV; + + $opt = ParseArgs($args); + if (@$opt[''][0]) $pagename = MakePageName($pagename, $opt[''][0]); + + $matchfnames = ''; + if (@$opt['names'] ) $matchfnames = $opt['names']; + if (@$opt['ext']) + $matchfnames .= FixGlob($opt['ext'], '$1*.$2'); + + $uploaddir = FmtPageName("$UploadDir$UploadPrefixFmt", $pagename); + $uploadurl = FmtPageName(IsEnabled($EnableDirectDownload, 1) + ? "$UploadUrlFmt$UploadPrefixFmt/" + : "\$PageUrl?action=download&upname=", + $pagename); + + $dirp = @opendir($uploaddir); + if (!$dirp) return ''; + $filelist = array(); + while (($file=readdir($dirp)) !== false) { + if ($file[0] == '.') continue; + if ($matchfnames && ! MatchNames($file, $matchfnames)) continue; + $filelist[$file] = rawurlencode($file); + } + closedir($dirp); + $out = array(); + natcasesort($filelist); + $overwrite = ''; + $fmt = IsEnabled($IMapLinkFmt['Attach:'], $UrlLinkFmt); + foreach($filelist as $file=>$encfile) { + $FmtV['$LinkUrl'] = PUE("$uploadurl$encfile"); + $FmtV['$LinkText'] = $file; + $FmtV['$LinkUpload'] = + FmtPageName("\$PageUrl?action=upload&upname=$encfile", $pagename); + $stat = stat("$uploaddir/$file"); + if ($EnableUploadOverwrite) + $overwrite = FmtPageName(" Δ", + $pagename); + $lnk = FmtPageName($fmt, $pagename); + $out[] = "
  • $lnk$overwrite ... ". + number_format($stat['size']) . " bytes ... " . + strftime($TimeFmt, $stat['mtime']) . "
  • "; + } + return implode("\n",$out); +} + +# this adds (:if [!]attachments filepattern pagename:) to the markup +$Conditions['attachments'] = "AttachExist(\$pagename, \$condparm)"; +function AttachExist($pagename, $condparm='*') { + global $UploadFileFmt; + @list($fpat, $pn) = explode(' ', $condparm, 2); + $pn = ($pn > '') ? MakePageName($pagename, $pn) : $pagename; + + $uploaddir = FmtPageName($UploadFileFmt, $pn); + $flist = array(); + $dirp = @opendir($uploaddir); + if ($dirp) { + while (($file = readdir($dirp)) !== false) + if ($file[0] != '.') $flist[] = $file; + closedir($dirp); + $flist = MatchNames($flist, $fpat); + } + return count($flist); +} blob - /dev/null blob + a3acfb0dd792a20a09b513bd2e36abc8cb05b429 (mode 644) --- /dev/null +++ scripts/urlapprove.php @@ -0,0 +1,128 @@ +$[(approve sites)]"); +SDVA($HTMLStylesFmt, array('urlapprove' => '.apprlink { font-size:smaller; }')); +SDV($ApproveUrlPattern, + "\\bhttps?:[^\\s$UrlExcludeChars]*[^\\s.,?!$UrlExcludeChars]"); +$WhiteUrlPatterns = (array)$WhiteUrlPatterns; +SDV($HandleActions['approveurls'], 'HandleApprove'); +SDV($HandleAuth['approveurls'], 'edit'); +SDV($HandleActions['approvesites'], 'HandleApprove'); +SDV($HandleAuth['approvesites'], 'edit'); +SDV($UnapprovedLinkCountMax, 1000000); +array_splice($EditFunctions, array_search('PostPage', $EditFunctions), + 0, 'BlockUnapprovedPosts'); + +function LinkHTTP($pagename,$imap,$path,$alt,$txt,$fmt=NULL) { + global $EnableUrlApprovalRequired, $IMap, $WhiteUrlPatterns, $FmtV, + $UnapprovedLink, $UnapprovedLinkCount, $UnapprovedLinkFmt; + if (!IsEnabled($EnableUrlApprovalRequired,1)) + return LinkIMap($pagename,$imap,$path,$alt,$txt,$fmt); + static $havereadpages; + if (!$havereadpages) { ReadApprovedUrls($pagename); $havereadpages=true; } + $p = str_replace(' ','%20',$path); + $url = str_replace('$1',$p,$IMap[$imap]); + if (!isset($UnapprovedLink)) $UnapprovedLink = array(); + foreach((array)$WhiteUrlPatterns as $pat) { + if (preg_match("!^$pat(/|$)!i",$url)) + return LinkIMap($pagename,$imap,$path,$alt,$txt,$fmt); + } + $FmtV['$LinkUrl'] = PUE(str_replace('$1',$path,$IMap[$imap])); + $FmtV['$LinkText'] = $txt; + $FmtV['$LinkAlt'] = str_replace(array('"',"'"),array('"','''),$alt); + $UnapprovedLink[] = $url; + @$UnapprovedLinkCount++; + return FmtPageName($UnapprovedLinkFmt,$pagename); +} + +function ReadApprovedUrls($pagename) { + global $ApprovedUrlPagesFmt,$ApproveUrlPattern,$WhiteUrlPatterns; + foreach((array)$ApprovedUrlPagesFmt as $p) { + $pn = FmtPageName($p, $pagename); + StopWatch("ReadApprovedUrls $pn begin"); + $apage = ReadPage($pn, READPAGE_CURRENT); + preg_match_all("/$ApproveUrlPattern/",@$apage['text'],$match); + foreach($match[0] as $a) + $WhiteUrlPatterns[] = preg_quote($a,'!'); + StopWatch("ReadApprovedUrls $pn end"); + } +} + +function HandleApprove($pagename, $auth='edit') { + global $ApproveUrlPattern,$WhiteUrlPatterns,$ApprovedUrlPagesFmt,$action; + Lock(2); + $page = ReadPage($pagename); + $text = preg_replace('/[()]/','',$page['text']); + preg_match_all("/$ApproveUrlPattern/",$text,$match); + ReadApprovedUrls($pagename); + $addpat = array(); + foreach($match[0] as $a) { + if ($action=='approvesites') + $a=preg_replace("!^([^:]+://[^/]+).*$!",'$1',$a); + $addpat[] = $a; + } + if (count($addpat)>0) { + $aname = FmtPageName($ApprovedUrlPagesFmt[0],$pagename); + $apage = RetrieveAuthPage($aname, $auth); + if (!$apage) Abort("?cannot edit $aname"); + $new = $apage; + if (substr($new['text'],-1,1)!="\n") $new['text'].="\n"; + foreach($addpat as $a) { + foreach((array)$WhiteUrlPatterns as $pat) + if (preg_match("!^$pat(/|$)!i",$a)) continue 2; + $urlp = preg_quote($a,'!'); + $WhiteUrlPatterns[] = $urlp; + $new['text'].=" $a\n"; + } + $_POST['post'] = 'y'; + PostPage($aname,$apage,$new); + } + Redirect($pagename); +} + +function BlockUnapprovedPosts($pagename, &$page, &$new) { + global $EnableUrlApprovalRequired, $UnapprovedLinkCount, + $UnapprovedLinkCountMax, $EnablePost, $MessagesFmt, $BlockMessageFmt; + if (!IsEnabled($EnableUrlApprovalRequired, 1)) return; + if ($UnapprovedLinkCount <= $UnapprovedLinkCountMax) return; + if ($page['=auth']['admin']) return; + $EnablePost = 0; + $MessagesFmt[] = $BlockMessageFmt; + $MessagesFmt[] = XL('Too many unapproved external links.'); +} + blob - /dev/null blob + 0a5119de21386c0b76c7701b7688eca33df3df6d (mode 644) --- /dev/null +++ scripts/vardoc.php @@ -0,0 +1,93 @@ + "a.varlink { text-decoration:none;}\n")); + +function VarLink($pagename,$tgt,$txt) { + global $VarIndex,$FmtV,$VarLinkMissingFmt,$VarLinkExistsFmt; + SDV($VarLinkMissingFmt,'$LinkText'); + SDV($VarLinkExistsFmt,"\$LinkText"); + VarIndexLoad($pagename); + $FmtV['$LinkText'] = str_replace('$', '$', $txt); + if (@!$VarIndex[$tgt]['pagename']) + return FmtPageName($VarLinkMissingFmt,$pagename); + return MakeLink($pagename,"{$VarIndex[$tgt]['pagename']}#$tgt",$txt,null,$VarLinkExistsFmt); +} + +function VarIndexLoad($pagename) { + global $VarPagesFmt,$VarIndex,$WikiWordPattern; + static $loaded; + $VarIndex = (array)@$VarIndex; + if ($loaded) return; + $tmp = array(); + foreach($VarPagesFmt as $vf) { + $v = FmtPageName($vf, $pagename); + if (@$loaded[$v]) continue; + $vlist = array($v); + $t = ReadTrail($pagename,$v); + if ($t) + for($i=0;$i
    $[Variable]$[Documented in]
    $$v{\$Title}
    "; + return $out; +} + blob - /dev/null blob + 90a04ddae9494a2b5e74257c7e5d81257ccd3e26 (mode 644) --- /dev/null +++ scripts/version.php @@ -0,0 +1 @@ +split', + "/^(?=%define=)((?:$WikiStylePattern)\\s*)+$/", + "MarkupApplyStyles"); + +function MarkupApplyStyles($m) { + ApplyStyles($m[0]); + return ''; +} + +# define PmWiki's standard/default wikistyles +if (IsEnabled($EnableStdWikiStyles,1)) { + ## standard colors + foreach(array('black','white','red','yellow','blue','gray', + 'silver','maroon','green','navy','purple', + 'fuchsia','olive','lime','teal','aqua','orange') as $c) + SDV($WikiStyle[$c]['color'],$c); + SDV($WikiStyle['grey']['color'],'gray'); + ## %newwin% style opens links in a new window + SDV($WikiStyle['newwin']['target'],'_blank'); + ## %comment% style turns markup into a comment via display:none css + SDV($WikiStyle['comment']['display'],'none'); + ## display, margin, padding, and border css properties + $WikiStyleCSS[] = + 'float|clear|display|(margin|padding|border)(-(left|right|top|bottom))?'; + $WikiStyleCSS[] = 'white-space'; + $WikiStyleCSS[] = '((min|max)-)?(width|height)'; + ## list-styles + $WikiStyleCSS[] = 'list-style'; + foreach(array('decimal'=>'decimal', 'roman'=>'lower-roman', + 'ROMAN'=>'upper-roman', 'alpha'=>'lower-alpha', 'ALPHA'=>'upper-alpha') + as $k=>$v) + SDV($WikiStyle[$k],array('apply'=>'list','list-style'=>$v)); + ## apply ranges + SDVA($WikiStyleApply,array( + 'item' => 'li|dt', + 'list' => 'ul|ol|dl', + 'div' => 'div', + 'article' => 'article', + 'section' => 'section', + 'nav' => 'nav', + 'aside' => 'aside', + 'header' => 'header', + 'footer' => 'footer', + 'address' => 'address', + 'pre' => 'pre', + 'img' => 'img', + 'block' => 'p(?!\\s+class=)|div|ul|ol|dl|li|dt|pre|h[1-6]|article|section|nav|aside|address|header|footer', + 'p' => 'p(?!\\s+class=)')); + foreach(array('item', 'list', 'block', 'p', 'div') as $c) + SDV($WikiStyle[$c],array('apply'=>$c)); + ## block justifications + foreach(array('left','right','center','justify') as $c) + SDV($WikiStyle[$c],array('apply'=>'block','text-align'=>$c)); + ## frames, floating frames, and floats + SDV($HTMLStylesFmt['wikistyles'], " + .frame + { border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } + .lfloat { float:left; margin-right:0.5em; } + .rfloat { float:right; margin-left:0.5em; }\n"); + SDV($WikiStyle['thumb'], array('width' => '100px')); + SDV($WikiStyle['frame'], array('class' => 'frame')); + SDV($WikiStyle['lframe'], array('class' => 'frame lfloat')); + SDV($WikiStyle['rframe'], array('class' => 'frame rfloat')); + SDV($WikiStyle['cframe'], array( + 'class' => 'frame', 'margin-left' => 'auto', 'margin-right' => 'auto', + 'width' => '200px', 'apply' => 'block', 'text-align' => 'center')); + ## preformatted text sections + SDV($WikiStyle['pre'], array('apply' => 'block', 'white-space' => 'pre')); + SDV($WikiStyle['sidehead'], array('apply' => 'block', 'class' => 'sidehead')); + SDV($WikiStyle['reversed'], array('apply' => 'list', 'reversed' => 'reversed')); +} + +SDVA($WikiStyleAttr,array( + 'vspace' => 'img', + 'hspace' => 'img', + 'align' => 'img', + 'value' => 'li', + 'reversed' => 'ol', + 'target' => 'a', + 'accesskey' => 'a', + 'rel' => 'a')); + +SDVA($WikiStyleRepl,array( + '/^%(.*)%$/' => '$1', + '/\\bbgcolor([:=])/' => 'background-color$1', + '/\\b((? '$1%', + )); + +$WikiStyleCSS[] = 'color|background-color'; +$WikiStyleCSS[] = 'text-align|text-decoration'; +$WikiStyleCSS[] = 'font-size|font-family|font-weight|font-style'; + +SDV($imgTag, '(?:img|object|embed)'); SDV($aTag, 'a'); SDV($spanTag, 'span'); + +function ApplyStyles($x) { + global $UrlExcludeChars, $WikiStylePattern, $WikiStyleRepl, $WikiStyle, + $WikiStyleAttr, $WikiStyleCSS, $WikiStyleApply, $BlockPattern, + $WikiStyleTag, $imgTag, $aTag, $spanTag, $WikiStyleAttrPrefix; + $wt = @$WikiStyleTag; $ns = $WikiStyleAttrPrefix; $ws = ''; + $x = preg_replace_callback("/\\b(href|src)=(['\"]?)[^$UrlExcludeChars]+\\2/", + "Keep", $x); + $x = preg_replace_callback("/\\bhttps?:[^$UrlExcludeChars]+/", "Keep", $x); + $parts = preg_split("/($WikiStylePattern)/",$x,-1,PREG_SPLIT_DELIM_CAPTURE); + $parts[] = NULL; + $out = ''; + $style = array(); + $wikicsspat = '/^('.implode('|',(array)$WikiStyleCSS).')$/'; + while ($parts) { + $p = array_shift($parts); + if (preg_match("/^$WikiStylePattern\$/",$p)) { + $WikiStyle['curr']=$style; $style=array(); + foreach((array)$WikiStyleRepl as $pat=>$rep) + $p=preg_replace($pat,$rep,$p); + preg_match_all( + '/\\b([a-zA-Z][-\\w]*)([:=]([-#,\\w.()%]+|([\'"]).*?\\4))?/', + $p, $match, PREG_SET_ORDER); + while ($match) { + $m = array_shift($match); + if (@$m[2]) $style[$m[1]]=preg_replace('/^([\'"])(.*?)\\1$/','$2',$m[3]); + else if (!isset($WikiStyle[$m[1]])) @$style['class'] .= ' ' . $m[1]; + else { + $c = @$style['class']; + $style=array_merge($style,(array)$WikiStyle[$m[1]]); + if ($c && !preg_match("/(^| )$c( |$)/", $style['class']) ) + $style['class'] = $c . ' ' . $style['class']; + } + } + if (@$style['define']) { + $d = $style['define']; unset($style['define']); + $WikiStyle[$d] = $style; + } + if (@$WikiStyleApply[$style['apply']]) { + $apply[$style['apply']] = + array_merge((array)@$apply[$style['apply']],$style); + $style=array(); + } + continue; + } + if (is_null($p)) + { $alist=@$apply; unset($alist['']); $p=$out; $out=''; } + elseif ($p=='') continue; + else { $alist=array(''=>$style); } + foreach((array)$alist as $a=>$s) { + $spanattr = ''; $stylev = array(); $id = ''; + foreach((array)$s as $k=>$v) { + $v = trim($v); + if ($wt) $ws = str_replace('$1', "$ns$k='$v'", $wt); + if ($k == 'class' && $v) $spanattr = "{$ns}class='$v'"; + elseif ($k=='id') $id = preg_replace('/[^-A-Za-z0-9:_.]+/', '_', $v); + elseif (($k=='width' || $k=='height') && !@$WikiStyleApply[$a] + && preg_match("/\\s*<$imgTag\\b/", $p)) + $p = preg_replace("/<($imgTag)\\b(?![^>]*\\s$k=)/", + "$ws<$1 $ns$k='$v'", $p); + elseif (@$WikiStyleAttr[$k]) + $p = preg_replace( + "/<({$WikiStyleAttr[$k]}(?![^>]*\\s(?:$ns)?$k=))([^>]*)>/s", + "$ws<$1 $ns$k='$v' $2>", $p); + elseif (preg_match($wikicsspat,$k)) $stylev[]="$k: $v;"; + } + if ($stylev) $spanattr .= " {$ns}style='".implode(' ',$stylev)."'"; + if ($id) $spanattr .= " {$ns}id='$id'"; + if ($spanattr) { + if ($wt) $ws = str_replace('$1', $spanattr, $wt); + if (!@$WikiStyleApply[$a]) { + $p = preg_replace("!^(.*?)($|$1$2", $p, 1); +} + elseif (!preg_match('/^(\\s*<[^>]+>)*$/s',$p) || + preg_match("/<$imgTag\\b/", $p)) { + $p = preg_replace("/<({$WikiStyleApply[$a]})\\b/", + "$ws<$1 $spanattr", $p); + } + } + if (@$s['color']) { + $colorattr = "{$ns}style='color: {$s['color']}'"; + if ($wt) $ws = str_replace('$1', $colorattr, $wt); + $p = preg_replace("/<$aTag\\b/", "$ws<$aTag $colorattr", $p); + } + } + $out .= $p; + } + return $out; +} + blob - /dev/null blob + a50aed10a4bea8cea61f6b7090fb87080474ae5b (mode 644) --- /dev/null +++ scripts/wikiwords.php @@ -0,0 +1,75 @@ +urllink', + "/\\b(?'.WikiLink($pagename,$m[0]).'', 'L'); +} + +function WikiLink($pagename, $word) { + global $LinkWikiWords, $WikiWordCount, $SpaceWikiWords, $AsSpacedFunction, + $MarkupFrame, $WikiWordCountMax; + if (!$LinkWikiWords || ($WikiWordCount[$word] < 0)) return $word; + $text = ($SpaceWikiWords) ? $AsSpacedFunction($word) : $word; + $text = preg_replace('!.*/!', '', $text); + if (!isset($MarkupFrame[0]['wwcount'][$word])) + $MarkupFrame[0]['wwcount'][$word] = $WikiWordCountMax; + if ($MarkupFrame[0]['wwcount'][$word]-- < 1) return $text; + return MakeLink($pagename, $word, $text); +} + + blob - /dev/null blob + 8abea3ea90dff3366e59621a8b0ce31897c9a1d3 (mode 644) --- /dev/null +++ scripts/xlpage-iso-8859-13.php @@ -0,0 +1,15 @@ +$Charset)); blob - /dev/null blob + d7ef0e698b88dc15fdeea47598d5692fcf253d73 (mode 644) --- /dev/null +++ scripts/xlpage-iso-8859-2.php @@ -0,0 +1,67 @@ +$Charset)); + + $KeepToken = "\263\263\263"; + + $pagename = $_REQUEST['n']; + if (!$pagename) $pagename = @$_GET['pagename']; + if ($pagename=='' && $EnablePathInfo) + $pagename = @substr($_SERVER['PATH_INFO'],1); + if (!$pagename && + preg_match('!^'.preg_quote($_SERVER['SCRIPT_NAME'],'!').'/?([^?]*)!', + $_SERVER['REQUEST_URI'],$match)) + $pagename = urldecode($match[1]); + $pagename = preg_replace('!/+$!','',$pagename); + + if (!preg_match('/[\\x80-\\x9f]/', $pagename)) return; + + if (function_exists('iconv')) + $pagename = iconv('UTF-8','ISO-8859-2',$pagename); + else { + $conv = array( + ' '=>'', 'Ą'=>'', '˘'=>'', 'Ł'=>'', + '¤'=>'', 'Ľ'=>'', 'Ś'=>'', '§'=>'', + '¨'=>'', 'Š'=>'', 'Ş'=>'', 'Ť'=>'', + 'Ź'=>'', '­'=>'', 'Ž'=>'', 'Ż'=>'', + '°'=>'', 'ą'=>'', '˛'=>'', 'ł'=>'', + '´'=>'', 'ľ'=>'', 'ś'=>'', 'ˇ'=>'', + '¸'=>'', 'š'=>'', 'ş'=>'', 'ť'=>'', + 'ź'=>'', '˝'=>'', 'ž'=>'', 'ż'=>'', + 'Ŕ'=>'', 'Á'=>'', 'Â'=>'', 'Ă'=>'', + 'Ä'=>'', 'Ĺ'=>'', 'Ć'=>'', 'Ç'=>'', + 'Č'=>'', 'É'=>'', 'Ę'=>'', 'Ë'=>'', + 'Ě'=>'', 'Í'=>'', 'Î'=>'', 'Ď'=>'', + 'Đ'=>'', 'Ń'=>'', 'Ň'=>'', 'Ó'=>'', + 'Ô'=>'', 'Ő'=>'', 'Ö'=>'', '×'=>'', + 'Ř'=>'', 'Ů'=>'', 'Ú'=>'', 'Ű'=>'', + 'Ü'=>'', 'Ý'=>'', 'Ţ'=>'', 'ß'=>'', + 'ŕ'=>'', 'á'=>'', 'â'=>'', 'ă'=>'', + 'ä'=>'', 'ĺ'=>'', 'ć'=>'', 'ç'=>'', + 'č'=>'', 'é'=>'', 'ę'=>'', 'ë'=>'', + 'ě'=>'', 'í'=>'', 'î'=>'', 'ď'=>'', + 'đ'=>'', 'ń'=>'', 'ň'=>'', 'ó'=>'', + 'ô'=>'', 'ő'=>'', 'ö'=>'', '÷'=>'', + 'ř'=>'', 'ů'=>'', 'ú'=>'', 'ű'=>'', + 'ü'=>'', 'ý'=>'', 'ţ'=>'', '˙'=>'', + ); + $pagename = str_replace(array_keys($conv),array_values($conv),$pagename); + } + blob - /dev/null blob + e823db1b26695992325dff986826bb97faa1d595 (mode 644) --- /dev/null +++ scripts/xlpage-iso-8859-9.php @@ -0,0 +1,16 @@ +$Charset)); + blob - /dev/null blob + 5c69aaa5adca9bbeb1b4ce2639160eb62ca6d7e6 (mode 644) --- /dev/null +++ scripts/xlpage-utf-8.php @@ -0,0 +1,647 @@ +"; +SDVA($HTMLStylesFmt, array('rtl-ltr' => " + .rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} + .ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} + .rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { + margin-left:0; margin-right: 40px; + } + ")); +$pagename = @$_REQUEST['n']; +if (!$pagename) $pagename = @$_REQUEST['pagename']; +if (!$pagename && + preg_match('!^'.preg_quote($_SERVER['SCRIPT_NAME'],'!').'/?([^?]*)!', + $_SERVER['REQUEST_URI'],$match)) + $pagename = urldecode($match[1]); +$pagename_unfiltered = $pagename; +$pagename = preg_replace('![${}\'"\\\\]+!', '', $pagename); +$FmtPV['$RequestedPage'] = 'PHSC($GLOBALS["pagename_unfiltered"], ENT_QUOTES)'; + +$GroupPattern = '[\\w\\x80-\\xfe]+(?:-[\\w\\x80-\\xfe]+)*'; +$NamePattern = '[\\w\\x80-\\xfe]+(?:-[\\w\\x80-\\xfe]+)*'; +$WikiWordPattern = + '[A-Z][A-Za-z0-9]*(?:[A-Z][a-z0-9]|[a-z0-9][A-Z])[A-Za-z0-9]*'; +$SuffixPattern = '(?:-?[A-Za-z0-9\\x80-\\xd6]+)*'; + +SDV($PageNameChars, '-[:alnum:]\\x80-\\xfe'); +SDV($MakePageNamePatterns, array( + '/[?#].*$/' => '', # strip everything after ? or # + "/'/" => '', # strip single-quotes + "/[^$PageNameChars]+/" => ' ', # convert everything else to space + '/(?<=^| )([a-z])/' => 'cb_toupper', + '/(?<=^| )([\\xc0-\\xdf].)/' => 'utf8toupper', + '/ /' => '')); +SDV($StrFoldFunction, 'utf8fold'); + +$AsSpacedFunction = 'AsSpacedUTF8'; + +function utf8toupper($x) { + if(is_array($x)) $x = $x[1]; + global $CaseConversions; + if (strlen($x) <= 2 && @$CaseConversions[$x]) + return $CaseConversions[$x]; + static $lower, $upper; + if (!@$lower) { + $lower = array_keys($CaseConversions); + $upper = array_values($CaseConversions); + } + return str_replace($lower, $upper, $x); +} + + +function utf8fold($x) { + global $StringFolding; + static $source, $target; + if (!@$source) { + $source = array_keys($StringFolding); + $target = array_values($StringFolding); + } + return str_replace($source, $target, $x); +} + + +function AsSpacedUTF8($text) { + global $CaseConversions; + static $lower, $upper; + if (!@$CaseConversions) return AsSpaced($text); + if (!@$lower) { + $lower = implode('|', array_keys($CaseConversions)); + $upper = implode('|', array_values($CaseConversions)); + } + $text = preg_replace("/($lower|\\d)($upper)/", '$1 $2', $text); + $text = preg_replace('/([^-\\d])(\\d[-\\d]*( |$))/', '$1 $2', $text); + return preg_replace("/($upper)(($upper)($lower|\\d))/", '$1 $2', $text); +} + + +SDVA($MarkupExpr, array( + 'substr' => 'call_user_func_array("utf8string", $args)', + 'strlen' => 'utf8string($args[0], "strlen")', + 'ucfirst' => 'utf8string($args[0], "ucfirst")', + 'ucwords' => 'utf8string($args[0], "ucwords")', + 'tolower' => 'utf8string($args[0], "tolower")', + 'toupper' => 'utf8string($args[0], "toupper")', +)); + +function utf8string($str, $start=false, $len=false) { # strlen+substr++ combo for UTF-8 + global $CaseConversions; + static $lower; + if (!@$lower) $lower = implode('|', array_keys($CaseConversions)); + $ascii = preg_match('/[\\x80-\\xFF]/', $str)? 0:1; + switch ((string)$start) { + case 'ucfirst': return $ascii ? ucfirst($str) : + preg_replace_callback("/(^)($lower)/", 'cb_uc_first_words', $str); + case 'ucwords': return $ascii ? ucwords($str) : + preg_replace_callback("/(^|\\s+)($lower)/", 'cb_uc_first_words', $str); + case 'tolower': return $ascii ? strtolower($str) : utf8fold($str); + case 'toupper': return $ascii ? strtoupper($str) : utf8toupper($str); + } + if ($ascii) { + if ($start==='strlen') return strlen($str); + if ($len===false) return substr($str, intval($start)); + return substr($str, intval($start), intval($len)); + } + $letters = preg_split("/([\\x00-\\x7f]|[\\xc2-\\xdf].|[\\xe0-\\xef]..|[\\xf0-\\xf4]...)/", + $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); + if ($start==='strlen') return count($letters); + if ($len===false) return implode('', array_slice($letters, $start)); + return implode('', array_slice($letters, $start, $len)); +} +function cb_uc_first_words($m){ + return $m[1].$GLOBALS["CaseConversions"][$m[2]]; +} +## Conversion tables. +## $CaseConversion maps lowercase utf8 sequences to +## their uppercase equivalents. The table was derived from [1]. +## $StringFolding normalizes strings so that "equivalent" +## forms will match using a binary comparison (derived from [2]). +## [1] http://unicode.org/Public/UNIDATA/UnicodeData.txt +## [2] http://unicode.org/Public/UNIDATA/CaseFolding.txt + +SDV($CaseConversions, array( + ## U+0060 + "a" => "A", "b" => "B", "c" => "C", "d" => "D", "e" => "E", "f" => "F", + "g" => "G", "h" => "H", "i" => "I", "j" => "J", "k" => "K", "l" => "L", + "m" => "M", "n" => "N", "o" => "O", "p" => "P", "q" => "Q", "r" => "R", + "s" => "S", "t" => "T", "u" => "U", "v" => "V", "w" => "W", "x" => "X", + "y" => "Y", "z" => "Z", + ## U+00b5 + "\xc2\xb5" => "\xce\x9c", + ## U+00E0 to U+00FF + "\xc3\xa0" => "\xc3\x80", "\xc3\xa1" => "\xc3\x81", + "\xc3\xa2" => "\xc3\x82", "\xc3\xa3" => "\xc3\x83", + "\xc3\xa4" => "\xc3\x84", "\xc3\xa5" => "\xc3\x85", + "\xc3\xa6" => "\xc3\x86", "\xc3\xa7" => "\xc3\x87", + "\xc3\xa8" => "\xc3\x88", "\xc3\xa9" => "\xc3\x89", + "\xc3\xaa" => "\xc3\x8a", "\xc3\xab" => "\xc3\x8b", + "\xc3\xac" => "\xc3\x8c", "\xc3\xad" => "\xc3\x8d", + "\xc3\xae" => "\xc3\x8e", "\xc3\xaf" => "\xc3\x8f", + "\xc3\xb0" => "\xc3\x90", "\xc3\xb1" => "\xc3\x91", + "\xc3\xb2" => "\xc3\x92", "\xc3\xb3" => "\xc3\x93", + "\xc3\xb4" => "\xc3\x94", "\xc3\xb5" => "\xc3\x95", + "\xc3\xb6" => "\xc3\x96", "\xc3\xb8" => "\xc3\x98", + "\xc3\xb9" => "\xc3\x99", "\xc3\xba" => "\xc3\x9a", + "\xc3\xbb" => "\xc3\x9b", "\xc3\xbc" => "\xc3\x9c", + "\xc3\xbd" => "\xc3\x9d", "\xc3\xbe" => "\xc3\x9e", + "\xc3\xbf" => "\xc5\xb8", + ## U+0100 + "\xc4\x81" => "\xc4\x80", "\xc4\x83" => "\xc4\x82", + "\xc4\x85" => "\xc4\x84", "\xc4\x87" => "\xc4\x86", + "\xc4\x89" => "\xc4\x88", "\xc4\x8b" => "\xc4\x8a", + "\xc4\x8d" => "\xc4\x8c", "\xc4\x8f" => "\xc4\x8e", + "\xc4\x91" => "\xc4\x90", "\xc4\x93" => "\xc4\x92", + "\xc4\x95" => "\xc4\x94", "\xc4\x97" => "\xc4\x96", + "\xc4\x99" => "\xc4\x98", "\xc4\x9b" => "\xc4\x9a", + "\xc4\x9d" => "\xc4\x9c", "\xc4\x9f" => "\xc4\x9e", + "\xc4\xa1" => "\xc4\xa0", "\xc4\xa3" => "\xc4\xa2", + "\xc4\xa5" => "\xc4\xa4", "\xc4\xa7" => "\xc4\xa6", + "\xc4\xa9" => "\xc4\xa8", "\xc4\xab" => "\xc4\xaa", + "\xc4\xad" => "\xc4\xac", "\xc4\xaf" => "\xc4\xae", + "\xc4\xb1" => "I", "\xc4\xb3" => "\xc4\xb2", + "\xc4\xb5" => "\xc4\xb4", "\xc4\xb7" => "\xc4\xb6", + "\xc4\xba" => "\xc4\xb9", "\xc4\xbc" => "\xc4\xbb", + "\xc4\xbe" => "\xc4\xbd", + ## U+0140 + "\xc5\x80" => "\xc4\xbf", "\xc5\x82" => "\xc5\x81", + "\xc5\x84" => "\xc5\x83", "\xc5\x86" => "\xc5\x85", + "\xc5\x88" => "\xc5\x87", "\xc5\x8b" => "\xc5\x8a", + "\xc5\x8d" => "\xc5\x8c", "\xc5\x8f" => "\xc5\x8e", + "\xc5\x91" => "\xc5\x90", "\xc5\x93" => "\xc5\x92", + "\xc5\x95" => "\xc5\x94", "\xc5\x97" => "\xc5\x96", + "\xc5\x99" => "\xc5\x98", "\xc5\x9b" => "\xc5\x9a", + "\xc5\x9d" => "\xc5\x9c", "\xc5\x9f" => "\xc5\x9e", + "\xc5\xa1" => "\xc5\xa0", "\xc5\xa3" => "\xc5\xa2", + "\xc5\xa5" => "\xc5\xa4", "\xc5\xa7" => "\xc5\xa6", + "\xc5\xa9" => "\xc5\xa8", "\xc5\xab" => "\xc5\xaa", + "\xc5\xad" => "\xc5\xac", "\xc5\xaf" => "\xc5\xae", + "\xc5\xb1" => "\xc5\xb0", "\xc5\xb3" => "\xc5\xb2", + "\xc5\xb5" => "\xc5\xb4", "\xc5\xb7" => "\xc5\xb6", + "\xc5\xba" => "\xc5\xb9", "\xc5\xbc" => "\xc5\xbb", + "\xc5\xbe" => "\xc5\xbd", "\xc5\xbf" => "S", + ## U+0180 + "\xc6\x80" => "\xc9\x83", "\xc6\x83" => "\xc6\x82", + "\xc6\x85" => "\xc6\x84", "\xc6\x88" => "\xc6\x87", + "\xc6\x8c" => "\xc6\x8b", "\xc6\x92" => "\xc6\x91", + "\xc6\x95" => "\xc7\xb6", "\xc6\x99" => "\xc6\x98", + "\xc6\x9a" => "\xc8\xbd", "\xc6\x9e" => "\xc8\xa0", + "\xc6\xa1" => "\xc6\xa0", "\xc6\xa3" => "\xc6\xa2", + "\xc6\xa5" => "\xc6\xa4", "\xc6\xa8" => "\xc6\xa7", + "\xc6\xad" => "\xc6\xac", "\xc6\xb0" => "\xc6\xaf", + "\xc6\xb4" => "\xc6\xb3", "\xc6\xb6" => "\xc6\xb5", + "\xc6\xb9" => "\xc6\xb8", "\xc6\xbd" => "\xc6\xbc", + "\xc6\xbf" => "\xc7\xb7", + ## U+01c0 + "\xc7\x85" => "\xc7\x84", "\xc7\x86" => "\xc7\x84", + "\xc7\x88" => "\xc7\x87", "\xc7\x89" => "\xc7\x87", + "\xc7\x8b" => "\xc7\x8a", "\xc7\x8c" => "\xc7\x8a", + "\xc7\x8e" => "\xc7\x8d", "\xc7\x90" => "\xc7\x8f", + "\xc7\x92" => "\xc7\x91", "\xc7\x94" => "\xc7\x93", + "\xc7\x96" => "\xc7\x95", "\xc7\x98" => "\xc7\x97", + "\xc7\x9a" => "\xc7\x99", "\xc7\x9c" => "\xc7\x9b", + "\xc7\x9d" => "\xc6\x8e", "\xc7\x9f" => "\xc7\x9e", + "\xc7\xa1" => "\xc7\xa0", "\xc7\xa3" => "\xc7\xa2", + "\xc7\xa5" => "\xc7\xa4", "\xc7\xa7" => "\xc7\xa6", + "\xc7\xa9" => "\xc7\xa8", "\xc7\xab" => "\xc7\xaa", + "\xc7\xad" => "\xc7\xac", "\xc7\xaf" => "\xc7\xae", + "\xc7\xb2" => "\xc7\xb1", "\xc7\xb3" => "\xc7\xb1", + "\xc7\xb5" => "\xc7\xb4", "\xc7\xb9" => "\xc7\xb8", + "\xc7\xbb" => "\xc7\xba", "\xc7\xbd" => "\xc7\xbc", + "\xc7\xbf" => "\xc7\xbe", + ## U+0200 + "\xc8\x81" => "\xc8\x80", "\xc8\x83" => "\xc8\x82", + "\xc8\x85" => "\xc8\x84", "\xc8\x87" => "\xc8\x86", + "\xc8\x89" => "\xc8\x88", "\xc8\x8b" => "\xc8\x8a", + "\xc8\x8d" => "\xc8\x8c", "\xc8\x8f" => "\xc8\x8e", + "\xc8\x91" => "\xc8\x90", "\xc8\x93" => "\xc8\x92", + "\xc8\x95" => "\xc8\x94", "\xc8\x97" => "\xc8\x96", + "\xc8\x99" => "\xc8\x98", "\xc8\x9b" => "\xc8\x9a", + "\xc8\x9d" => "\xc8\x9c", "\xc8\x9f" => "\xc8\x9e", + "\xc8\xa3" => "\xc8\xa2", "\xc8\xa5" => "\xc8\xa4", + "\xc8\xa7" => "\xc8\xa6", "\xc8\xa9" => "\xc8\xa8", + "\xc8\xab" => "\xc8\xaa", "\xc8\xad" => "\xc8\xac", + "\xc8\xaf" => "\xc8\xae", "\xc8\xb1" => "\xc8\xb0", + "\xc8\xb3" => "\xc8\xb2", "\xc8\xbc" => "\xc8\xbb", + ## U+0240 + "\xc9\x82" => "\xc9\x81", "\xc9\x87" => "\xc9\x86", + "\xc9\x89" => "\xc9\x88", "\xc9\x8b" => "\xc9\x8a", + "\xc9\x8d" => "\xc9\x8c", "\xc9\x8f" => "\xc9\x8e", + "\xc9\x93" => "\xc6\x81", "\xc9\x94" => "\xc6\x86", + "\xc9\x96" => "\xc6\x89", "\xc9\x97" => "\xc6\x8a", + "\xc9\x99" => "\xc6\x8f", "\xc9\x9b" => "\xc6\x90", + "\xc9\xa0" => "\xc6\x93", "\xc9\xa3" => "\xc6\x94", + "\xc9\xa8" => "\xc6\x97", "\xc9\xa9" => "\xc6\x96", + "\xc9\xab" => "\xe2\xb1\xa2", "\xc9\xaf" => "\xc6\x9c", + "\xc9\xb2" => "\xc6\x9d", "\xc9\xb5" => "\xc6\x9f", + "\xc9\xbd" => "\xe2\xb1\xa4", + ## U+0280 + "\xca\x80" => "\xc6\xa6", "\xca\x83" => "\xc6\xa9", + "\xca\x88" => "\xc6\xae", "\xca\x89" => "\xc9\x84", + "\xca\x8a" => "\xc6\xb1", "\xca\x8b" => "\xc6\xb2", + "\xca\x8c" => "\xc9\x85", "\xca\x92" => "\xc6\xb7", + ## U+0340 + "\xcd\x85" => "\xce\x99", "\xcd\xbb" => "\xcf\xbd", + "\xcd\xbc" => "\xcf\xbe", "\xcd\xbd" => "\xcf\xbf", + ## U+0380 + "\xce\xac" => "\xce\x86", "\xce\xad" => "\xce\x88", + "\xce\xae" => "\xce\x89", "\xce\xaf" => "\xce\x8a", + "\xce\xb1" => "\xce\x91", "\xce\xb2" => "\xce\x92", + "\xce\xb3" => "\xce\x93", "\xce\xb4" => "\xce\x94", + "\xce\xb5" => "\xce\x95", "\xce\xb6" => "\xce\x96", + "\xce\xb7" => "\xce\x97", "\xce\xb8" => "\xce\x98", + "\xce\xb9" => "\xce\x99", "\xce\xba" => "\xce\x9a", + "\xce\xbb" => "\xce\x9b", "\xce\xbc" => "\xce\x9c", + "\xce\xbd" => "\xce\x9d", "\xce\xbe" => "\xce\x9e", + "\xce\xbf" => "\xce\x9f", + ## U+03c0 + "\xcf\x80" => "\xce\xa0", "\xcf\x81" => "\xce\xa1", + "\xcf\x82" => "\xce\xa3", "\xcf\x83" => "\xce\xa3", + "\xcf\x84" => "\xce\xa4", "\xcf\x85" => "\xce\xa5", + "\xcf\x86" => "\xce\xa6", "\xcf\x87" => "\xce\xa7", + "\xcf\x88" => "\xce\xa8", "\xcf\x89" => "\xce\xa9", + "\xcf\x8a" => "\xce\xaa", "\xcf\x8b" => "\xce\xab", + "\xcf\x8c" => "\xce\x8c", "\xcf\x8d" => "\xce\x8e", + "\xcf\x8e" => "\xce\x8f", "\xcf\x90" => "\xce\x92", + "\xcf\x91" => "\xce\x98", "\xcf\x95" => "\xce\xa6", + "\xcf\x96" => "\xce\xa0", "\xcf\x99" => "\xcf\x98", + "\xcf\x9b" => "\xcf\x9a", "\xcf\x9d" => "\xcf\x9c", + "\xcf\x9f" => "\xcf\x9e", "\xcf\xa1" => "\xcf\xa0", + "\xcf\xa3" => "\xcf\xa2", "\xcf\xa5" => "\xcf\xa4", + "\xcf\xa7" => "\xcf\xa6", "\xcf\xa9" => "\xcf\xa8", + "\xcf\xab" => "\xcf\xaa", "\xcf\xad" => "\xcf\xac", + "\xcf\xaf" => "\xcf\xae", "\xcf\xb0" => "\xce\x9a", + "\xcf\xb1" => "\xce\xa1", "\xcf\xb2" => "\xcf\xb9", + "\xcf\xb5" => "\xce\x95", "\xcf\xb8" => "\xcf\xb7", + "\xcf\xbb" => "\xcf\xba", + ## U+0400 + "\xd0\xb0" => "\xd0\x90", "\xd0\xb1" => "\xd0\x91", + "\xd0\xb2" => "\xd0\x92", "\xd0\xb3" => "\xd0\x93", + "\xd0\xb4" => "\xd0\x94", "\xd0\xb5" => "\xd0\x95", + "\xd0\xb6" => "\xd0\x96", "\xd0\xb7" => "\xd0\x97", + "\xd0\xb8" => "\xd0\x98", "\xd0\xb9" => "\xd0\x99", + "\xd0\xba" => "\xd0\x9a", "\xd0\xbb" => "\xd0\x9b", + "\xd0\xbc" => "\xd0\x9c", "\xd0\xbd" => "\xd0\x9d", + "\xd0\xbe" => "\xd0\x9e", "\xd0\xbf" => "\xd0\x9f", + ## U+0440 + "\xd1\x80" => "\xd0\xa0", "\xd1\x81" => "\xd0\xa1", + "\xd1\x82" => "\xd0\xa2", "\xd1\x83" => "\xd0\xa3", + "\xd1\x84" => "\xd0\xa4", "\xd1\x85" => "\xd0\xa5", + "\xd1\x86" => "\xd0\xa6", "\xd1\x87" => "\xd0\xa7", + "\xd1\x88" => "\xd0\xa8", "\xd1\x89" => "\xd0\xa9", + "\xd1\x8a" => "\xd0\xaa", "\xd1\x8b" => "\xd0\xab", + "\xd1\x8c" => "\xd0\xac", "\xd1\x8d" => "\xd0\xad", + "\xd1\x8e" => "\xd0\xae", "\xd1\x8f" => "\xd0\xaf", + "\xd1\x90" => "\xd0\x80", "\xd1\x91" => "\xd0\x81", + "\xd1\x92" => "\xd0\x82", "\xd1\x93" => "\xd0\x83", + "\xd1\x94" => "\xd0\x84", "\xd1\x95" => "\xd0\x85", + "\xd1\x96" => "\xd0\x86", "\xd1\x97" => "\xd0\x87", + "\xd1\x98" => "\xd0\x88", "\xd1\x99" => "\xd0\x89", + "\xd1\x9a" => "\xd0\x8a", "\xd1\x9b" => "\xd0\x8b", + "\xd1\x9c" => "\xd0\x8c", "\xd1\x9d" => "\xd0\x8d", + "\xd1\x9e" => "\xd0\x8e", "\xd1\x9f" => "\xd0\x8f", + "\xd1\xa1" => "\xd1\xa0", "\xd1\xa3" => "\xd1\xa2", + "\xd1\xa5" => "\xd1\xa4", "\xd1\xa7" => "\xd1\xa6", + "\xd1\xa9" => "\xd1\xa8", "\xd1\xab" => "\xd1\xaa", + "\xd1\xad" => "\xd1\xac", "\xd1\xaf" => "\xd1\xae", + "\xd1\xb1" => "\xd1\xb0", "\xd1\xb3" => "\xd1\xb2", + "\xd1\xb5" => "\xd1\xb4", "\xd1\xb7" => "\xd1\xb6", + "\xd1\xb9" => "\xd1\xb8", "\xd1\xbb" => "\xd1\xba", + "\xd1\xbd" => "\xd1\xbc", "\xd1\xbf" => "\xd1\xbe", + ## U+0480 + "\xd2\x81" => "\xd2\x80", "\xd2\x8b" => "\xd2\x8a", + "\xd2\x8d" => "\xd2\x8c", "\xd2\x8f" => "\xd2\x8e", + "\xd2\x91" => "\xd2\x90", "\xd2\x93" => "\xd2\x92", + "\xd2\x95" => "\xd2\x94", "\xd2\x97" => "\xd2\x96", + "\xd2\x99" => "\xd2\x98", "\xd2\x9b" => "\xd2\x9a", + "\xd2\x9d" => "\xd2\x9c", "\xd2\x9f" => "\xd2\x9e", + "\xd2\xa1" => "\xd2\xa0", "\xd2\xa3" => "\xd2\xa2", + "\xd2\xa5" => "\xd2\xa4", "\xd2\xa7" => "\xd2\xa6", + "\xd2\xa9" => "\xd2\xa8", "\xd2\xab" => "\xd2\xaa", + "\xd2\xad" => "\xd2\xac", "\xd2\xaf" => "\xd2\xae", + "\xd2\xb1" => "\xd2\xb0", "\xd2\xb3" => "\xd2\xb2", + "\xd2\xb5" => "\xd2\xb4", "\xd2\xb7" => "\xd2\xb6", + "\xd2\xb9" => "\xd2\xb8", "\xd2\xbb" => "\xd2\xba", + "\xd2\xbd" => "\xd2\xbc", "\xd2\xbf" => "\xd2\xbe", + ## U+04c0 + "\xd3\x82" => "\xd3\x81", "\xd3\x84" => "\xd3\x83", + "\xd3\x86" => "\xd3\x85", "\xd3\x88" => "\xd3\x87", + "\xd3\x8a" => "\xd3\x89", "\xd3\x8c" => "\xd3\x8b", + "\xd3\x8e" => "\xd3\x8d", "\xd3\x8f" => "\xd3\x80", + "\xd3\x91" => "\xd3\x90", "\xd3\x93" => "\xd3\x92", + "\xd3\x95" => "\xd3\x94", "\xd3\x97" => "\xd3\x96", + "\xd3\x99" => "\xd3\x98", "\xd3\x9b" => "\xd3\x9a", + "\xd3\x9d" => "\xd3\x9c", "\xd3\x9f" => "\xd3\x9e", + "\xd3\xa1" => "\xd3\xa0", "\xd3\xa3" => "\xd3\xa2", + "\xd3\xa5" => "\xd3\xa4", "\xd3\xa7" => "\xd3\xa6", + "\xd3\xa9" => "\xd3\xa8", "\xd3\xab" => "\xd3\xaa", + "\xd3\xad" => "\xd3\xac", "\xd3\xaf" => "\xd3\xae", + "\xd3\xb1" => "\xd3\xb0", "\xd3\xb3" => "\xd3\xb2", + "\xd3\xb5" => "\xd3\xb4", "\xd3\xb7" => "\xd3\xb6", + "\xd3\xb9" => "\xd3\xb8", "\xd3\xbb" => "\xd3\xba", + "\xd3\xbd" => "\xd3\xbc", "\xd3\xbf" => "\xd3\xbe", + ## U+0500 + "\xd4\x81" => "\xd4\x80", "\xd4\x83" => "\xd4\x82", + "\xd4\x85" => "\xd4\x84", "\xd4\x87" => "\xd4\x86", + "\xd4\x89" => "\xd4\x88", "\xd4\x8b" => "\xd4\x8a", + "\xd4\x8d" => "\xd4\x8c", "\xd4\x8f" => "\xd4\x8e", + "\xd4\x91" => "\xd4\x90", "\xd4\x93" => "\xd4\x92", + ## U+0560 + "\xd5\xa1" => "\xd4\xb1", "\xd5\xa2" => "\xd4\xb2", + "\xd5\xa3" => "\xd4\xb3", "\xd5\xa4" => "\xd4\xb4", + "\xd5\xa5" => "\xd4\xb5", "\xd5\xa6" => "\xd4\xb6", + "\xd5\xa7" => "\xd4\xb7", "\xd5\xa8" => "\xd4\xb8", + "\xd5\xa9" => "\xd4\xb9", "\xd5\xaa" => "\xd4\xba", + "\xd5\xab" => "\xd4\xbb", "\xd5\xac" => "\xd4\xbc", + "\xd5\xad" => "\xd4\xbd", "\xd5\xae" => "\xd4\xbe", + "\xd5\xaf" => "\xd4\xbf", "\xd5\xb0" => "\xd5\x80", + "\xd5\xb1" => "\xd5\x81", "\xd5\xb2" => "\xd5\x82", + "\xd5\xb3" => "\xd5\x83", "\xd5\xb4" => "\xd5\x84", + "\xd5\xb5" => "\xd5\x85", "\xd5\xb6" => "\xd5\x86", + "\xd5\xb7" => "\xd5\x87", "\xd5\xb8" => "\xd5\x88", + "\xd5\xb9" => "\xd5\x89", "\xd5\xba" => "\xd5\x8a", + "\xd5\xbb" => "\xd5\x8b", "\xd5\xbc" => "\xd5\x8c", + "\xd5\xbd" => "\xd5\x8d", "\xd5\xbe" => "\xd5\x8e", + "\xd5\xbf" => "\xd5\x8f", + ## U+0580 + "\xd6\x80" => "\xd5\x90", "\xd6\x81" => "\xd5\x91", + "\xd6\x82" => "\xd5\x92", "\xd6\x83" => "\xd5\x93", + "\xd6\x84" => "\xd5\x94", "\xd6\x85" => "\xd5\x95", + "\xd6\x86" => "\xd5\x96" + )); + +SDV($StringFolding, array( + ## U+0040 + "A" => "a", "B" => "b", "C" => "c", "D" => "d", "E" => "e", "F" => "f", + "G" => "g", "H" => "h", "I" => "i", "J" => "j", "K" => "k", "L" => "l", + "M" => "m", "N" => "n", "O" => "o", "P" => "p", "Q" => "q", "R" => "r", + "S" => "s", "T" => "t", "U" => "u", "V" => "v", "W" => "w", "X" => "x", + "Y" => "y", "Z" => "z", + ## U+00B5 + "\xc2\xb5" => "\xce\xbc", + ## U+00C0 + "\xc3\x80" => "\xc3\xa0", "\xc3\x81" => "\xc3\xa1", + "\xc3\x82" => "\xc3\xa2", "\xc3\x83" => "\xc3\xa3", + "\xc3\x84" => "\xc3\xa4", "\xc3\x85" => "\xc3\xa5", + "\xc3\x86" => "\xc3\xa6", "\xc3\x87" => "\xc3\xa7", + "\xc3\x88" => "\xc3\xa8", "\xc3\x89" => "\xc3\xa9", + "\xc3\x8a" => "\xc3\xaa", "\xc3\x8b" => "\xc3\xab", + "\xc3\x8c" => "\xc3\xac", "\xc3\x8d" => "\xc3\xad", + "\xc3\x8e" => "\xc3\xae", "\xc3\x8f" => "\xc3\xaf", + "\xc3\x90" => "\xc3\xb0", "\xc3\x91" => "\xc3\xb1", + "\xc3\x92" => "\xc3\xb2", "\xc3\x93" => "\xc3\xb3", + "\xc3\x94" => "\xc3\xb4", "\xc3\x95" => "\xc3\xb5", + "\xc3\x96" => "\xc3\xb6", "\xc3\x98" => "\xc3\xb8", + "\xc3\x99" => "\xc3\xb9", "\xc3\x9a" => "\xc3\xba", + "\xc3\x9b" => "\xc3\xbb", "\xc3\x9c" => "\xc3\xbc", + "\xc3\x9d" => "\xc3\xbd", "\xc3\x9e" => "\xc3\xbe", + "\xc3\x9f" => "ss", + ## U+0100 + "\xc4\x80" => "\xc4\x81", "\xc4\x82" => "\xc4\x83", + "\xc4\x84" => "\xc4\x85", "\xc4\x86" => "\xc4\x87", + "\xc4\x88" => "\xc4\x89", "\xc4\x8a" => "\xc4\x8b", + "\xc4\x8c" => "\xc4\x8d", "\xc4\x8e" => "\xc4\x8f", + "\xc4\x90" => "\xc4\x91", "\xc4\x92" => "\xc4\x93", + "\xc4\x94" => "\xc4\x95", "\xc4\x96" => "\xc4\x97", + "\xc4\x98" => "\xc4\x99", "\xc4\x9a" => "\xc4\x9b", + "\xc4\x9c" => "\xc4\x9d", "\xc4\x9e" => "\xc4\x9f", + "\xc4\xa0" => "\xc4\xa1", "\xc4\xa2" => "\xc4\xa3", + "\xc4\xa4" => "\xc4\xa5", "\xc4\xa6" => "\xc4\xa7", + "\xc4\xa8" => "\xc4\xa9", "\xc4\xaa" => "\xc4\xab", + "\xc4\xac" => "\xc4\xad", "\xc4\xae" => "\xc4\xaf", + "\xc4\xb0" => "i\xcc\x87", "\xc4\xb2" => "\xc4\xb3", + "\xc4\xb4" => "\xc4\xb5", "\xc4\xb6" => "\xc4\xb7", + "\xc4\xb9" => "\xc4\xba", "\xc4\xbb" => "\xc4\xbc", + "\xc4\xbd" => "\xc4\xbe", "\xc4\xbf" => "\xc5\x80", + ## U+0140 + "\xc5\x81" => "\xc5\x82", "\xc5\x83" => "\xc5\x84", + "\xc5\x85" => "\xc5\x86", "\xc5\x87" => "\xc5\x88", + "\xc5\x89" => "\xca\xbcn", "\xc5\x8a" => "\xc5\x8b", + "\xc5\x8c" => "\xc5\x8d", "\xc5\x8e" => "\xc5\x8f", + "\xc5\x90" => "\xc5\x91", "\xc5\x92" => "\xc5\x93", + "\xc5\x94" => "\xc5\x95", "\xc5\x96" => "\xc5\x97", + "\xc5\x98" => "\xc5\x99", "\xc5\x9a" => "\xc5\x9b", + "\xc5\x9c" => "\xc5\x9d", "\xc5\x9e" => "\xc5\x9f", + "\xc5\xa0" => "\xc5\xa1", "\xc5\xa2" => "\xc5\xa3", + "\xc5\xa4" => "\xc5\xa5", "\xc5\xa6" => "\xc5\xa7", + "\xc5\xa8" => "\xc5\xa9", "\xc5\xaa" => "\xc5\xab", + "\xc5\xac" => "\xc5\xad", "\xc5\xae" => "\xc5\xaf", + "\xc5\xb0" => "\xc5\xb1", "\xc5\xb2" => "\xc5\xb3", + "\xc5\xb4" => "\xc5\xb5", "\xc5\xb6" => "\xc5\xb7", + "\xc5\xb8" => "\xc3\xbf", "\xc5\xb9" => "\xc5\xba", + "\xc5\xbb" => "\xc5\xbc", "\xc5\xbd" => "\xc5\xbe", + "\xc5\xbf" => "s", + ## U+0180 + "\xc6\x81" => "\xc9\x93", "\xc6\x82" => "\xc6\x83", + "\xc6\x84" => "\xc6\x85", "\xc6\x86" => "\xc9\x94", + "\xc6\x87" => "\xc6\x88", "\xc6\x89" => "\xc9\x96", + "\xc6\x8a" => "\xc9\x97", "\xc6\x8b" => "\xc6\x8c", + "\xc6\x8e" => "\xc7\x9d", "\xc6\x8f" => "\xc9\x99", + "\xc6\x90" => "\xc9\x9b", "\xc6\x91" => "\xc6\x92", + "\xc6\x93" => "\xc9\xa0", "\xc6\x94" => "\xc9\xa3", + "\xc6\x96" => "\xc9\xa9", "\xc6\x97" => "\xc9\xa8", + "\xc6\x98" => "\xc6\x99", "\xc6\x9c" => "\xc9\xaf", + "\xc6\x9d" => "\xc9\xb2", "\xc6\x9f" => "\xc9\xb5", + "\xc6\xa0" => "\xc6\xa1", "\xc6\xa2" => "\xc6\xa3", + "\xc6\xa4" => "\xc6\xa5", "\xc6\xa6" => "\xca\x80", + "\xc6\xa7" => "\xc6\xa8", "\xc6\xa9" => "\xca\x83", + "\xc6\xac" => "\xc6\xad", "\xc6\xae" => "\xca\x88", + "\xc6\xaf" => "\xc6\xb0", "\xc6\xb1" => "\xca\x8a", + "\xc6\xb2" => "\xca\x8b", "\xc6\xb3" => "\xc6\xb4", + "\xc6\xb5" => "\xc6\xb6", "\xc6\xb7" => "\xca\x92", + "\xc6\xb8" => "\xc6\xb9", "\xc6\xbc" => "\xc6\xbd", + ## U+01c0 + "\xc7\x84" => "\xc7\x86", "\xc7\x85" => "\xc7\x86", + "\xc7\x87" => "\xc7\x89", "\xc7\x88" => "\xc7\x89", + "\xc7\x8a" => "\xc7\x8c", "\xc7\x8b" => "\xc7\x8c", + "\xc7\x8d" => "\xc7\x8e", "\xc7\x8f" => "\xc7\x90", + "\xc7\x91" => "\xc7\x92", "\xc7\x93" => "\xc7\x94", + "\xc7\x95" => "\xc7\x96", "\xc7\x97" => "\xc7\x98", + "\xc7\x99" => "\xc7\x9a", "\xc7\x9b" => "\xc7\x9c", + "\xc7\x9e" => "\xc7\x9f", "\xc7\xa0" => "\xc7\xa1", + "\xc7\xa2" => "\xc7\xa3", "\xc7\xa4" => "\xc7\xa5", + "\xc7\xa6" => "\xc7\xa7", "\xc7\xa8" => "\xc7\xa9", + "\xc7\xaa" => "\xc7\xab", "\xc7\xac" => "\xc7\xad", + "\xc7\xae" => "\xc7\xaf", "\xc7\xb0" => "j\xcc\x8c", + "\xc7\xb1" => "\xc7\xb3", "\xc7\xb2" => "\xc7\xb3", + "\xc7\xb4" => "\xc7\xb5", "\xc7\xb6" => "\xc6\x95", + "\xc7\xb7" => "\xc6\xbf", "\xc7\xb8" => "\xc7\xb9", + "\xc7\xba" => "\xc7\xbb", "\xc7\xbc" => "\xc7\xbd", + "\xc7\xbe" => "\xc7\xbf", + ## U+0200 + "\xc8\x80" => "\xc8\x81", "\xc8\x82" => "\xc8\x83", + "\xc8\x84" => "\xc8\x85", "\xc8\x86" => "\xc8\x87", + "\xc8\x88" => "\xc8\x89", "\xc8\x8a" => "\xc8\x8b", + "\xc8\x8c" => "\xc8\x8d", "\xc8\x8e" => "\xc8\x8f", + "\xc8\x90" => "\xc8\x91", "\xc8\x92" => "\xc8\x93", + "\xc8\x94" => "\xc8\x95", "\xc8\x96" => "\xc8\x97", + "\xc8\x98" => "\xc8\x99", "\xc8\x9a" => "\xc8\x9b", + "\xc8\x9c" => "\xc8\x9d", "\xc8\x9e" => "\xc8\x9f", + "\xc8\xa0" => "\xc6\x9e", "\xc8\xa2" => "\xc8\xa3", + "\xc8\xa4" => "\xc8\xa5", "\xc8\xa6" => "\xc8\xa7", + "\xc8\xa8" => "\xc8\xa9", "\xc8\xaa" => "\xc8\xab", + "\xc8\xac" => "\xc8\xad", "\xc8\xae" => "\xc8\xaf", + "\xc8\xb0" => "\xc8\xb1", "\xc8\xb2" => "\xc8\xb3", + "\xc8\xba" => "\xe2\xb1\xa5", "\xc8\xbb" => "\xc8\xbc", + "\xc8\xbd" => "\xc6\x9a", "\xc8\xbe" => "\xe2\xb1\xa6", + ## U+0240 + "\xc9\x81" => "\xc9\x82", "\xc9\x83" => "\xc6\x80", + "\xc9\x84" => "\xca\x89", "\xc9\x85" => "\xca\x8c", + "\xc9\x86" => "\xc9\x87", "\xc9\x88" => "\xc9\x89", + "\xc9\x8a" => "\xc9\x8b", "\xc9\x8c" => "\xc9\x8d", + "\xc9\x8e" => "\xc9\x8f", + ## U+0345 + "\xcd\x85" => "\xce\xb9", + ## U+0380 + "\xce\x86" => "\xce\xac", "\xce\x88" => "\xce\xad", + "\xce\x89" => "\xce\xae", "\xce\x8a" => "\xce\xaf", + "\xce\x8c" => "\xcf\x8c", "\xce\x8e" => "\xcf\x8d", + "\xce\x8f" => "\xcf\x8e", "\xce\x90" => "\xce\xb9\xcc\x88\xcc\x81", + "\xce\x91" => "\xce\xb1", "\xce\x92" => "\xce\xb2", + "\xce\x93" => "\xce\xb3", "\xce\x94" => "\xce\xb4", + "\xce\x95" => "\xce\xb5", "\xce\x96" => "\xce\xb6", + "\xce\x97" => "\xce\xb7", "\xce\x98" => "\xce\xb8", + "\xce\x99" => "\xce\xb9", "\xce\x9a" => "\xce\xba", + "\xce\x9b" => "\xce\xbb", "\xce\x9c" => "\xce\xbc", + "\xce\x9d" => "\xce\xbd", "\xce\x9e" => "\xce\xbe", + "\xce\x9f" => "\xce\xbf", "\xce\xa0" => "\xcf\x80", + "\xce\xa1" => "\xcf\x81", "\xce\xa3" => "\xcf\x83", + "\xce\xa4" => "\xcf\x84", "\xce\xa5" => "\xcf\x85", + "\xce\xa6" => "\xcf\x86", "\xce\xa7" => "\xcf\x87", + "\xce\xa8" => "\xcf\x88", "\xce\xa9" => "\xcf\x89", + "\xce\xaa" => "\xcf\x8a", "\xce\xab" => "\xcf\x8b", + "\xce\xb0" => "\xcf\x85\xcc\x88\xcc\x81", + ## U+03c0 + "\xcf\x82" => "\xcf\x83", "\xcf\x90" => "\xce\xb2", + "\xcf\x91" => "\xce\xb8", "\xcf\x95" => "\xcf\x86", + "\xcf\x96" => "\xcf\x80", "\xcf\x98" => "\xcf\x99", + "\xcf\x9a" => "\xcf\x9b", "\xcf\x9c" => "\xcf\x9d", + "\xcf\x9e" => "\xcf\x9f", "\xcf\xa0" => "\xcf\xa1", + "\xcf\xa2" => "\xcf\xa3", "\xcf\xa4" => "\xcf\xa5", + "\xcf\xa6" => "\xcf\xa7", "\xcf\xa8" => "\xcf\xa9", + "\xcf\xaa" => "\xcf\xab", "\xcf\xac" => "\xcf\xad", + "\xcf\xae" => "\xcf\xaf", "\xcf\xb0" => "\xce\xba", + "\xcf\xb1" => "\xcf\x81", "\xcf\xb4" => "\xce\xb8", + "\xcf\xb5" => "\xce\xb5", "\xcf\xb7" => "\xcf\xb8", + "\xcf\xb9" => "\xcf\xb2", "\xcf\xba" => "\xcf\xbb", + "\xcf\xbd" => "\xcd\xbb", "\xcf\xbe" => "\xcd\xbc", + "\xcf\xbf" => "\xcd\xbd", + ## U+0400 + "\xd0\x80" => "\xd1\x90", "\xd0\x81" => "\xd1\x91", + "\xd0\x82" => "\xd1\x92", "\xd0\x83" => "\xd1\x93", + "\xd0\x84" => "\xd1\x94", "\xd0\x85" => "\xd1\x95", + "\xd0\x86" => "\xd1\x96", "\xd0\x87" => "\xd1\x97", + "\xd0\x88" => "\xd1\x98", "\xd0\x89" => "\xd1\x99", + "\xd0\x8a" => "\xd1\x9a", "\xd0\x8b" => "\xd1\x9b", + "\xd0\x8c" => "\xd1\x9c", "\xd0\x8d" => "\xd1\x9d", + "\xd0\x8e" => "\xd1\x9e", "\xd0\x8f" => "\xd1\x9f", + "\xd0\x90" => "\xd0\xb0", "\xd0\x91" => "\xd0\xb1", + "\xd0\x92" => "\xd0\xb2", "\xd0\x93" => "\xd0\xb3", + "\xd0\x94" => "\xd0\xb4", "\xd0\x95" => "\xd0\xb5", + "\xd0\x96" => "\xd0\xb6", "\xd0\x97" => "\xd0\xb7", + "\xd0\x98" => "\xd0\xb8", "\xd0\x99" => "\xd0\xb9", + "\xd0\x9a" => "\xd0\xba", "\xd0\x9b" => "\xd0\xbb", + "\xd0\x9c" => "\xd0\xbc", "\xd0\x9d" => "\xd0\xbd", + "\xd0\x9e" => "\xd0\xbe", "\xd0\x9f" => "\xd0\xbf", + "\xd0\xa0" => "\xd1\x80", "\xd0\xa1" => "\xd1\x81", + "\xd0\xa2" => "\xd1\x82", "\xd0\xa3" => "\xd1\x83", + "\xd0\xa4" => "\xd1\x84", "\xd0\xa5" => "\xd1\x85", + "\xd0\xa6" => "\xd1\x86", "\xd0\xa7" => "\xd1\x87", + "\xd0\xa8" => "\xd1\x88", "\xd0\xa9" => "\xd1\x89", + "\xd0\xaa" => "\xd1\x8a", "\xd0\xab" => "\xd1\x8b", + "\xd0\xac" => "\xd1\x8c", "\xd0\xad" => "\xd1\x8d", + "\xd0\xae" => "\xd1\x8e", "\xd0\xaf" => "\xd1\x8f", + ## U+0460 + "\xd1\xa0" => "\xd1\xa1", "\xd1\xa2" => "\xd1\xa3", + "\xd1\xa4" => "\xd1\xa5", "\xd1\xa6" => "\xd1\xa7", + "\xd1\xa8" => "\xd1\xa9", "\xd1\xaa" => "\xd1\xab", + "\xd1\xac" => "\xd1\xad", "\xd1\xae" => "\xd1\xaf", + "\xd1\xb0" => "\xd1\xb1", "\xd1\xb2" => "\xd1\xb3", + "\xd1\xb4" => "\xd1\xb5", "\xd1\xb6" => "\xd1\xb7", + "\xd1\xb8" => "\xd1\xb9", "\xd1\xba" => "\xd1\xbb", + "\xd1\xbc" => "\xd1\xbd", "\xd1\xbe" => "\xd1\xbf", + ## U+0480 + "\xd2\x80" => "\xd2\x81", "\xd2\x8a" => "\xd2\x8b", + "\xd2\x8c" => "\xd2\x8d", "\xd2\x8e" => "\xd2\x8f", + "\xd2\x90" => "\xd2\x91", "\xd2\x92" => "\xd2\x93", + "\xd2\x94" => "\xd2\x95", "\xd2\x96" => "\xd2\x97", + "\xd2\x98" => "\xd2\x99", "\xd2\x9a" => "\xd2\x9b", + "\xd2\x9c" => "\xd2\x9d", "\xd2\x9e" => "\xd2\x9f", + "\xd2\xa0" => "\xd2\xa1", "\xd2\xa2" => "\xd2\xa3", + "\xd2\xa4" => "\xd2\xa5", "\xd2\xa6" => "\xd2\xa7", + "\xd2\xa8" => "\xd2\xa9", "\xd2\xaa" => "\xd2\xab", + "\xd2\xac" => "\xd2\xad", "\xd2\xae" => "\xd2\xaf", + "\xd2\xb0" => "\xd2\xb1", "\xd2\xb2" => "\xd2\xb3", + "\xd2\xb4" => "\xd2\xb5", "\xd2\xb6" => "\xd2\xb7", + "\xd2\xb8" => "\xd2\xb9", "\xd2\xba" => "\xd2\xbb", + "\xd2\xbc" => "\xd2\xbd", "\xd2\xbe" => "\xd2\xbf", + ## U+04c0 + "\xd3\x80" => "\xd3\x8f", "\xd3\x81" => "\xd3\x82", + "\xd3\x83" => "\xd3\x84", "\xd3\x85" => "\xd3\x86", + "\xd3\x87" => "\xd3\x88", "\xd3\x89" => "\xd3\x8a", + "\xd3\x8b" => "\xd3\x8c", "\xd3\x8d" => "\xd3\x8e", + "\xd3\x90" => "\xd3\x91", "\xd3\x92" => "\xd3\x93", + "\xd3\x94" => "\xd3\x95", "\xd3\x96" => "\xd3\x97", + "\xd3\x98" => "\xd3\x99", "\xd3\x9a" => "\xd3\x9b", + "\xd3\x9c" => "\xd3\x9d", "\xd3\x9e" => "\xd3\x9f", + "\xd3\xa0" => "\xd3\xa1", "\xd3\xa2" => "\xd3\xa3", + "\xd3\xa4" => "\xd3\xa5", "\xd3\xa6" => "\xd3\xa7", + "\xd3\xa8" => "\xd3\xa9", "\xd3\xaa" => "\xd3\xab", + "\xd3\xac" => "\xd3\xad", "\xd3\xae" => "\xd3\xaf", + "\xd3\xb0" => "\xd3\xb1", "\xd3\xb2" => "\xd3\xb3", + "\xd3\xb4" => "\xd3\xb5", "\xd3\xb6" => "\xd3\xb7", + "\xd3\xb8" => "\xd3\xb9", "\xd3\xba" => "\xd3\xbb", + "\xd3\xbc" => "\xd3\xbd", "\xd3\xbe" => "\xd3\xbf", + ## U+0500 + "\xd4\x80" => "\xd4\x81", "\xd4\x82" => "\xd4\x83", + "\xd4\x84" => "\xd4\x85", "\xd4\x86" => "\xd4\x87", + "\xd4\x88" => "\xd4\x89", "\xd4\x8a" => "\xd4\x8b", + "\xd4\x8c" => "\xd4\x8d", "\xd4\x8e" => "\xd4\x8f", + "\xd4\x90" => "\xd4\x91", "\xd4\x92" => "\xd4\x93", + "\xd4\xb1" => "\xd5\xa1", "\xd4\xb2" => "\xd5\xa2", + "\xd4\xb3" => "\xd5\xa3", "\xd4\xb4" => "\xd5\xa4", + "\xd4\xb5" => "\xd5\xa5", "\xd4\xb6" => "\xd5\xa6", + "\xd4\xb7" => "\xd5\xa7", "\xd4\xb8" => "\xd5\xa8", + "\xd4\xb9" => "\xd5\xa9", "\xd4\xba" => "\xd5\xaa", + "\xd4\xbb" => "\xd5\xab", "\xd4\xbc" => "\xd5\xac", + "\xd4\xbd" => "\xd5\xad", "\xd4\xbe" => "\xd5\xae", + "\xd4\xbf" => "\xd5\xaf", + ## U+0540 + "\xd5\x80" => "\xd5\xb0", "\xd5\x81" => "\xd5\xb1", + "\xd5\x82" => "\xd5\xb2", "\xd5\x83" => "\xd5\xb3", + "\xd5\x84" => "\xd5\xb4", "\xd5\x85" => "\xd5\xb5", + "\xd5\x86" => "\xd5\xb6", "\xd5\x87" => "\xd5\xb7", + "\xd5\x88" => "\xd5\xb8", "\xd5\x89" => "\xd5\xb9", + "\xd5\x8a" => "\xd5\xba", "\xd5\x8b" => "\xd5\xbb", + "\xd5\x8c" => "\xd5\xbc", "\xd5\x8d" => "\xd5\xbd", + "\xd5\x8e" => "\xd5\xbe", "\xd5\x8f" => "\xd5\xbf", + "\xd5\x90" => "\xd6\x80", "\xd5\x91" => "\xd6\x81", + "\xd5\x92" => "\xd6\x82", "\xd5\x93" => "\xd6\x83", + "\xd5\x94" => "\xd6\x84", "\xd5\x95" => "\xd6\x85", + "\xd5\x96" => "\xd6\x86", "\xd6\x87" => "\xd5\xa5\xd6\x82" + )); blob - /dev/null blob + 2431a63295de440f830eff254ff1203cc11b44ae (mode 644) Binary files /dev/null and uploads/9/JSDrawterm.png differ blob - /dev/null blob + 32935c718c48b62720ab781ca6f491778a184f95 (mode 644) Binary files /dev/null and uploads/9/plan9-desktop.png differ blob - /dev/null blob + ee85f95a14c976f08682882e6e4796c3b99faa4d (mode 644) Binary files /dev/null and uploads/Adium/adium-assistant.png differ blob - /dev/null blob + ca3cc518588fc209aacb95d6e77f3fe862c9aea2 (mode 644) Binary files /dev/null and uploads/Adium/adium-available.png differ blob - /dev/null blob + a45d944e58e0d0b86aca13968596df86d84e6ae8 (mode 644) Binary files /dev/null and uploads/Adium/adium-congrats.png differ blob - /dev/null blob + 47d04a3ca18860b1cfb14c30883dfd872784efaf (mode 644) Binary files /dev/null and uploads/Adium/adium-createnewaccount.png differ blob - /dev/null blob + 852593398c1e28ba1175fb0560a1a357e255b050 (mode 644) Binary files /dev/null and uploads/Adium/adium-editaccount.png differ blob - /dev/null blob + 25c04ad95f8978a314b099655f63df164d01e41c (mode 644) Binary files /dev/null and uploads/Adium/adium-menu.png differ blob - /dev/null blob + fe3f93891e192182d278485eb281ab93e884f9c9 (mode 644) Binary files /dev/null and uploads/Adium/adium-registrationsuccessful.png differ blob - /dev/null blob + 1350bc39eec87588815d5bdf0dd2d3f096e7ad4f (mode 644) Binary files /dev/null and uploads/Adium/adium-server.png differ blob - /dev/null blob + 95ad493dfa0cb1352adf12dfbad495036fc354f7 (mode 644) Binary files /dev/null and uploads/Adium/adium-welcome.png differ blob - /dev/null blob + 3f1ad66d1b8d0f79477b3e45f0e94ec4e6aa2334 (mode 644) Binary files /dev/null and uploads/Adium/adium-zerobyte.png differ blob - /dev/null blob + fe3f93891e192182d278485eb281ab93e884f9c9 (mode 644) Binary files /dev/null and uploads/Adium/registrationsuccessful.png differ blob - /dev/null blob + 0c8648e96aaf868f07e39caf1255266d456e49c8 (mode 644) Binary files /dev/null and uploads/AncientWisdom/AncientCabin differ blob - /dev/null blob + 0c8648e96aaf868f07e39caf1255266d456e49c8 (mode 644) Binary files /dev/null and uploads/AncientWisdom/AncientCabin.png differ blob - /dev/null blob + f166dd6c9c2f0a1ede14ab3fb6ef504ececdf51d (mode 644) Binary files /dev/null and uploads/AndroidEmail/android-mail-account.png differ blob - /dev/null blob + fc1e52470feee69c3ecb2739739b6484a2cbd64e (mode 644) Binary files /dev/null and uploads/AndroidEmail/android-mail-imap.png differ blob - /dev/null blob + ce2e80a3cf2ba673cff0f90969a335026b6a57bf (mode 644) Binary files /dev/null and uploads/AndroidEmail/android-mail-smtp.png differ blob - /dev/null blob + f389b1ccbf02ff0c2bb017b6393e82e7a1ca7bbf (mode 644) Binary files /dev/null and uploads/AndroidEmail/android-mail-type.png differ blob - /dev/null blob + f7a81d983e3ccf30815d1db23ee0685a6e4e0f6f (mode 644) Binary files /dev/null and uploads/AppleMail/applemail-addaccount01.png differ blob - /dev/null blob + f969c43c84b704dcfbc0e1ba471c9e382365f814 (mode 644) Binary files /dev/null and uploads/AppleMail/applemail-addaccount02.png differ blob - /dev/null blob + 5f1297f9e190ff0996ff8041408c641b76311702 (mode 644) Binary files /dev/null and uploads/AppleMail/applemail-chooseprovider.png differ blob - /dev/null blob + 7bc500b41641be2b5556e3cd8c3bb22267dbbff0 (mode 644) Binary files /dev/null and uploads/AppleMail/applemail-inbox.png differ blob - /dev/null blob + d8909e811b19ee69fe935b93c188de20d2304340 (mode 644) Binary files /dev/null and uploads/AppleMail/applemail-selectapps.png differ blob - /dev/null blob + ad17f198c651ebe6190330999e16495aaf5bc73d (mode 644) Binary files /dev/null and uploads/Bouncer/WinIRC-connect differ blob - /dev/null blob + ad17f198c651ebe6190330999e16495aaf5bc73d (mode 644) Binary files /dev/null and uploads/Bouncer/WinIRC-connect.png differ blob - /dev/null blob + d8125e033d15ebba26538717578304e7acf9beea (mode 644) Binary files /dev/null and uploads/Bouncer/adium-account.png differ blob - /dev/null blob + 4f0c408f559dcc6edb8fdd4d29b4579ab9ca9d75 (mode 644) Binary files /dev/null and uploads/Bouncer/adium-accounts.png differ blob - /dev/null blob + f74f437f561af9e5a14409d334620d7975c1ae36 (mode 644) Binary files /dev/null and uploads/Bouncer/adium-add.png differ blob - /dev/null blob + ec91debe7314850890276f6b638184ef65ea0d7a (mode 644) Binary files /dev/null and uploads/Bouncer/adium-options.png differ blob - /dev/null blob + 470aef68c447d90f73bb8e32d8d9b39196fd4dad (mode 644) Binary files /dev/null and uploads/Bouncer/adium-personal.png differ blob - /dev/null blob + 6466bc27bc41a2a4d692084013272b45a0dde15e (mode 644) Binary files /dev/null and uploads/Bouncer/adium-preferences.png differ blob - /dev/null blob + 8646a751d32547493e7b3d9af7d30f25d7ed4911 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-dots1.png differ blob - /dev/null blob + 7e4b2b05ce7b169de278661b86335382e38f6166 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-dots1.png,1597488386 differ blob - /dev/null blob + f50906f4fbb903e9c4acab6162ea79c90c028811 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-dots2.png differ blob - /dev/null blob + cc4b61084b34c98d875c892fe0c09a16f109a363 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-newserver.png differ blob - /dev/null blob + 76a4e81fc2296fab5a896fce68035679650844e0 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-select.png differ blob - /dev/null blob + 7f96e012470339caf109bd7efb8bee5b742f333b (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-select.png,1597488834 differ blob - /dev/null blob + a0f4b8354b76394f94321475734e4af1a73250ba (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-server.png differ blob - /dev/null blob + 9651eb260d7f8accd7498dde0ad1f53b569e629b (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-server1.png differ blob - /dev/null blob + f46d24d6b2b8016032d5c0e1c1c1ccb9c522e092 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-server1.png,1597488687 differ blob - /dev/null blob + 6ecac9b5c88f33433c4bc170ff9562dddcd2d0c8 (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-server2.png differ blob - /dev/null blob + 28545f8c1f0438e1804fba67232bd74cd3eff89a (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-settings.png differ blob - /dev/null blob + fdd7dcfd758127ecc21f9f91cb60e137adf9bfaa (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-settings.png,1597488459 differ blob - /dev/null blob + 9032c9fdee93bfe7aef13f2dee013f51f7911d0e (mode 644) Binary files /dev/null and uploads/Bouncer/androIRC-settings2.png differ blob - /dev/null blob + e2d9ac9a4966a4c80f463ac2d3a1c23e99cbc787 (mode 644) Binary files /dev/null and uploads/Bouncer/atomic-home.png differ blob - /dev/null blob + a88d9d34f13e2e06a5c3193a2d79b94179ceb146 (mode 644) Binary files /dev/null and uploads/Bouncer/atomic-home2.png differ blob - /dev/null blob + c9119c89ffce8e93931eaf7c6a033ae34a56cc01 (mode 644) Binary files /dev/null and uploads/Bouncer/atomic-server.png differ blob - /dev/null blob + 38d8ab5abe9efbf1370a97ecc7541a5cb374e09e (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-add.png differ blob - /dev/null blob + af25a9374e1745dc69420e038612ad901198cbe6 (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-add.png,1597125109 differ blob - /dev/null blob + 4fa863f49a94e97a8b28725ce82db29af76d796e (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-add.png,1597125172 differ blob - /dev/null blob + 4fa863f49a94e97a8b28725ce82db29af76d796e (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-add.png,1597577590 differ blob - /dev/null blob + 4fa863f49a94e97a8b28725ce82db29af76d796e (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-add.png,1597577972 differ blob - /dev/null blob + 0dd4a6818e3e62a7eda8c2c10c15a7146d8fdf56 (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-edit.png differ blob - /dev/null blob + 8d7f5a1aea0dde34cf7741ff7c4d38e3b2794aa1 (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-edit.png,1597125126 differ blob - /dev/null blob + 0dd4a6818e3e62a7eda8c2c10c15a7146d8fdf56 (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat-edit.png,1597577607 differ blob - /dev/null blob + 5cd0a6c63be056857428d45f33a08699a7085649 (mode 644) Binary files /dev/null and uploads/Bouncer/hexchat2.png differ blob - /dev/null blob + da0754f55181eb226d7913ed161dc1c207f056c9 (mode 644) Binary files /dev/null and uploads/Bouncer/icechat-newservernossl.png differ blob - /dev/null blob + 384dfc89342f478bf5b9252b8dd67c55a06f0c46 (mode 644) Binary files /dev/null and uploads/Bouncer/icechat-newserverssl.png differ blob - /dev/null blob + 6bded10c5170d5efa8d0e8d46f371fa1aec81441 (mode 644) Binary files /dev/null and uploads/Bouncer/icechat-settings.png differ blob - /dev/null blob + ce95981fb9f87b49514b8a7e08fec33317fe6948 (mode 644) Binary files /dev/null and uploads/Bouncer/iglooirc-add1.png differ blob - /dev/null blob + a10c323b09c5313d66db70ca9738f833e07499c2 (mode 644) Binary files /dev/null and uploads/Bouncer/iglooirc-add2.png differ blob - /dev/null blob + d78cd53a1a6189566229b8a84383da0ff2176a37 (mode 644) Binary files /dev/null and uploads/Bouncer/iglooirc-home.png differ blob - /dev/null blob + e3c02ae37139048f039877226645e386cb3268c4 (mode 644) Binary files /dev/null and uploads/Bouncer/iglooirc-home.png,1607937463 differ blob - /dev/null blob + 0d280b7ca574df9c4dbf21cb9862120045f073ec (mode 644) Binary files /dev/null and uploads/Bouncer/iglooirc-home.png,1607937627 differ blob - /dev/null blob + 0918ca406f78e03fea5b3370d3c244e990a74728 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloud-join.png differ blob - /dev/null blob + 36a7edc8faa27c321bec840c5f11bab4aa8ee846 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloud-join.png,1597126628 differ blob - /dev/null blob + 296d4fb5dc3ceaa8fc43ac00f93fac886de12650 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloud-join.png,1597126979 differ blob - /dev/null blob + 6fee71e635c506d1380d2d460c0e8c0c07eb49a2 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloud-join2.png differ blob - /dev/null blob + 3548f1706b17c0dcdf10718ecd79e077633f4203 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloud-pass.png differ blob - /dev/null blob + b2638ec142c22133e8f9602e922d0ac9fe60a0e1 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-add.png differ blob - /dev/null blob + f44bb2012eeb551b3bb075ce4dd3bea0e07aa16c (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-modal.png differ blob - /dev/null blob + 1bc66021f8f19769579cef12dd08c4e800cc7b15 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-pass.png differ blob - /dev/null blob + a638d0fba2bdb47487b6dff419608cbcf8fee73d (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-pass1.png differ blob - /dev/null blob + 1bc66021f8f19769579cef12dd08c4e800cc7b15 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-pass2.png differ blob - /dev/null blob + fdd9450d0a625bb2ecde54baa08f14da71179f73 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-register.png differ blob - /dev/null blob + 955ffde693c34d0130672218bc87503145d4f75f (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-register.png,1597494404 differ blob - /dev/null blob + e744b57fb42f98b431726df8585c9be326fb6beb (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudandroid-sidebar.png differ blob - /dev/null blob + 84ecb0f49d1266b372b1f7f6513726dd6d0c1346 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudiod-sidebar.png differ blob - /dev/null blob + a27c6c6702a3375312736063c1930633a84c8c94 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-add.png differ blob - /dev/null blob + 66d2cfcbbb9aa0e507251dbeab188c11f2cecc69 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-modal.png differ blob - /dev/null blob + 0af0a09a18d6fc890ac96fb137f015a157b7b006 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-pass.png differ blob - /dev/null blob + 1b0518d1f5064e4445887cc5db7c18de268032f0 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-register.png differ blob - /dev/null blob + 1b0518d1f5064e4445887cc5db7c18de268032f0 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-register.png,1597493873 differ blob - /dev/null blob + 84ecb0f49d1266b372b1f7f6513726dd6d0c1346 (mode 644) Binary files /dev/null and uploads/Bouncer/irccloudios-sidebar.png differ blob - /dev/null blob + 20726180723aeb45d4e331300b44fc0426843405 (mode 644) Binary files /dev/null and uploads/Bouncer/ircforandroid.png differ blob - /dev/null blob + 9e3c6b171bcaf6a5a9c6e6f0e75c92aae8b3ad02 (mode 644) Binary files /dev/null and uploads/Bouncer/ircforandroid.png,1597490913 differ blob - /dev/null blob + 2112ee25e9e7bbcbd1c03b32bc3113f580b97523 (mode 644) Binary files /dev/null and uploads/Bouncer/irssi.png differ blob - /dev/null blob + aa930814603730f77295312a9341bbc2479229af (mode 644) Binary files /dev/null and uploads/Bouncer/kiwiirc-add.png differ blob - /dev/null blob + 7c123ea81c79b6a4dd6161dd22444c6b00c994a3 (mode 644) Binary files /dev/null and uploads/Bouncer/kiwiirc-znc.png differ blob - /dev/null blob + 42de4416e1f8200ed9ffc981dff1b9365ff6a7da (mode 644) Binary files /dev/null and uploads/Bouncer/kiwiirc-znc.png,1597638552 differ blob - /dev/null blob + f8b827504106626d570ea0243a81b5060d760e3b (mode 644) Binary files /dev/null and uploads/Bouncer/kvirc-config.png differ blob - /dev/null blob + 42e6958d699cfca43ef3a09c7d12effbe486d197 (mode 644) Binary files /dev/null and uploads/Bouncer/kvirc-network.png differ blob - /dev/null blob + f61975fb6ec6e0ce73faae17c31dfcf73dc6f2a8 (mode 644) Binary files /dev/null and uploads/Bouncer/limechat-general.png differ blob - /dev/null blob + 9f7cb96289612560ffd38ff0c19cfc1dedb2bbf8 (mode 644) Binary files /dev/null and uploads/Bouncer/limechat-menu.png differ blob - /dev/null blob + ea08764ec2f47a882c056cc40df36f4c96788043 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-add.png differ blob - /dev/null blob + 9b65f86d4ec1dc3010ab5892d38c918b93673efb (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-addserver.png differ blob - /dev/null blob + 22a7cbb646c25089aa6c84173baa6dc65a5f9541 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-commandssl.png differ blob - /dev/null blob + bd2d100fca46815b3d5c5f9d9f8bcdbad44f5471 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-commandssl2.png differ blob - /dev/null blob + ea08764ec2f47a882c056cc40df36f4c96788043 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-connect.png differ blob - /dev/null blob + dbc8cf3bb8e9ab7fb2a5f5add2185dc278686341 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-options.png differ blob - /dev/null blob + e9437b877b6dc22e57511ce3a24760a2c1233d82 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-remotescripts.png differ blob - /dev/null blob + 9546e2ffa9b4fb40c879cc8e760709d9dbdda843 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-ssl1.png differ blob - /dev/null blob + 91cfc61c6c5d78d1ef32a6a4e13906289c5aa97c (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-ssl2.png differ blob - /dev/null blob + 4267b19c421fe1d711f796505c5be06bee6d4ca2 (mode 644) Binary files /dev/null and uploads/Bouncer/mIRC-ssl3.png differ blob - /dev/null blob + 004fca13381454d862542c1110483b5e123210b1 (mode 644) Binary files /dev/null and uploads/Bouncer/mibbit.png differ blob - /dev/null blob + 3b282d71a59b78c68382a5d0297ab5360553a233 (mode 644) Binary files /dev/null and uploads/Bouncer/mirc-multiple.png differ blob - /dev/null blob + 0360a1ce1062a4239af60de1a4cf3b41d14248f2 (mode 644) Binary files /dev/null and uploads/Bouncer/pidgin-accounts.png differ blob - /dev/null blob + d547188c220ef1e65855a4d7fcbdc47f44bc0f07 (mode 644) Binary files /dev/null and uploads/Bouncer/pidgin-advanced.png differ blob - /dev/null blob + e5fcc6a90a99769c760303e1c104cf181fe19541 (mode 644) Binary files /dev/null and uploads/Bouncer/pidgin-basic.png differ blob - /dev/null blob + 0f6ffabb1637b41c534abaf1af83f0a55f431d2a (mode 644) Binary files /dev/null and uploads/Bouncer/pidgin-menu.png differ blob - /dev/null blob + 96dc2173af7c79fb05342758130e64082d324aa0 (mode 644) Binary files /dev/null and uploads/Bouncer/pidgin-protocol.png differ blob - /dev/null blob + 8343d2684ec9d1ec2bb74b54544ecb78cfdf76a3 (mode 644) Binary files /dev/null and uploads/Bouncer/quassel-configure.png differ blob - /dev/null blob + e2550ea5a2edf74f6d94cbaa58db6a254db148f9 (mode 644) Binary files /dev/null and uploads/Bouncer/quassel-configure2.png differ blob - /dev/null blob + 6b56fcfe96d3383ce72ff7e8316be211316d7640 (mode 644) Binary files /dev/null and uploads/Bouncer/quassel-identities.png differ blob - /dev/null blob + de33ba7576f4ebac9b29b7d0e8a6455590f840b2 (mode 644) Binary files /dev/null and uploads/Bouncer/quassel-menu.png differ blob - /dev/null blob + ec92cfc170fa2d7edc03d1b2cf350eebb065817b (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-edit.png differ blob - /dev/null blob + 8c11d632b852f71ab8bab14f40006ae3b950261b (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-edit.png,1597636101 differ blob - /dev/null blob + 02c3478de5f22be3482c084f38564ba667efc610 (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-edit.png,1597636547 differ blob - /dev/null blob + abb99c4b24d4ea5d222d1922de94c5ae952f0cd3 (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-home.png differ blob - /dev/null blob + 86298390031fc0b9baf23639c2b32df275447008 (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-home.png,1597406703 differ blob - /dev/null blob + e2f1ca1053f4221a69958835d2e218f936bcd8a5 (mode 644) Binary files /dev/null and uploads/Bouncer/revolutionirc-home2.png differ blob - /dev/null blob + 9651eb260d7f8accd7498dde0ad1f53b569e629b (mode 644) Binary files /dev/null and uploads/Bouncer/screen7_resize.png differ blob - /dev/null blob + 5b218996e912ce6814beeefc19cbee6d93d24be8 (mode 644) Binary files /dev/null and uploads/Bouncer/simpleirc-home.png differ blob - /dev/null blob + 28bdf1d44201837b00471cdf25f84f5487d9a2cf (mode 644) Binary files /dev/null and uploads/Bouncer/simpleirc-home2.png differ blob - /dev/null blob + 48200b6f91a12530c16d264bf5a8c8c63a5e1fd9 (mode 644) Binary files /dev/null and uploads/Bouncer/simpleirc-server.png differ blob - /dev/null blob + 7c357023ce347c3d0da61d1b66d3b3e1c428e73b (mode 644) Binary files /dev/null and uploads/Bouncer/smuxi-connect.png differ blob - /dev/null blob + 1df099e089fa3e6695a6bb1620a804c14350a903 (mode 644) Binary files /dev/null and uploads/Bouncer/smuxi-menu.png differ blob - /dev/null blob + edc2a3328cfcb92a3f71d070ef973d4db0bab548 (mode 644) Binary files /dev/null and uploads/Bouncer/smuxi-menu2.png differ blob - /dev/null blob + 048ee4cbdd1f4e83a9613e6444f691588e996810 (mode 644) Binary files /dev/null and uploads/Bouncer/smuxi-server.png differ blob - /dev/null blob + c6164f6e21b8bb6612d13ed08c90b571069ae55e (mode 644) Binary files /dev/null and uploads/Bouncer/textual-addserver.png differ blob - /dev/null blob + 826a945ec016a5e3f11dcc8a2cd119613c36a48f (mode 644) Binary files /dev/null and uploads/Bouncer/textual-menu.png differ blob - /dev/null blob + ecaa22905e5470c6c21a58996c980608c76689e1 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-chat.png differ blob - /dev/null blob + 3603809b0303863781f52c1c4530309f9af7acf6 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-chat.png,1597319386 differ blob - /dev/null blob + cb491a1d5efe5a0ebe3ce62015710e222f338a41 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-config.png differ blob - /dev/null blob + 1f6fa013f44f6bd2519286ce34e7e6e92ca25daf (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-config.png,1597320107 differ blob - /dev/null blob + d35eadac9cdaca43c307f59873db4513dc58fad0 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-config.png,1597320246 differ blob - /dev/null blob + d35eadac9cdaca43c307f59873db4513dc58fad0 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-config.png,1597320574 differ blob - /dev/null blob + 3174f4aa8eab9c9166822d68837de0500908058e (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-menu.png differ blob - /dev/null blob + cfe0ab91803d966103cbf0cbef0efec8522ef4f1 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-menu.png,1597319274 differ blob - /dev/null blob + 3174f4aa8eab9c9166822d68837de0500908058e (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-new.png differ blob - /dev/null blob + a99ed4f8f43fdd850a8eb83ac6835ceebef44167 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-new.png,1597319328 differ blob - /dev/null blob + 6a8491c9c83b6c3ef3f4751e3363f470b3f8c1e1 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-options.png differ blob - /dev/null blob + c300c6748f33a1e7d96e5198c023c0c0727fbf92 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-options.png,1597319494 differ blob - /dev/null blob + 6a8491c9c83b6c3ef3f4751e3363f470b3f8c1e1 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-options.png,1597320042 differ blob - /dev/null blob + 299bfc2445702db08eeabb1273320d28ba88f15e (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-options2.png differ blob - /dev/null blob + f499bd899e7e6c555aa3209b296d2dd0b97ec732 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-password.png differ blob - /dev/null blob + 7ce4f011adcedf1235a6488207102f89dd05f93e (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-password.png,1597319467 differ blob - /dev/null blob + f0d8908566a390a0ad52564a390a188a8e0557a5 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-preferences.png differ blob - /dev/null blob + 82b52827c50b76182cd611ea4abef5faa7d98409 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-protocol.png differ blob - /dev/null blob + ed0e7e8c0b52d30961e90eb64f29113991e334c0 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-protocol.png,1597319411 differ blob - /dev/null blob + dac96266eccf70936b21f7cb0fb2f3ac02982443 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-server.png differ blob - /dev/null blob + 2930012a6c2da1708059fdec515ee97d8b6baf42 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-server.png,1597319439 differ blob - /dev/null blob + ac85afd908760ad255d70c3671887ca66ccba497 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string.png differ blob - /dev/null blob + bcfe58cf86ea251292b37ef3247303e510915c66 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string.png,1597320267 differ blob - /dev/null blob + 89429addec097f7091d1642bec052b740129a5ef (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string2.png differ blob - /dev/null blob + a85aef9c4cc948dd3d1c04677eea35f930cf5f5c (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string2.png,1597320295 differ blob - /dev/null blob + 9c7ac3509b7c329aedb2290edd80a0c43ddb1061 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string2.png,1597321327 differ blob - /dev/null blob + 5672df75e16607bd6c5b38a074325f882ae3c86a (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string3.png differ blob - /dev/null blob + 4eb21ed71aa68bc8aabfa836630f15092985c7f6 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string3.png,1597321337 differ blob - /dev/null blob + 9c7ac3509b7c329aedb2290edd80a0c43ddb1061 (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-string3.png,1597321944 differ blob - /dev/null blob + bc7274bbebd1b80384dfae3f7534baf6b6325f2d (mode 644) Binary files /dev/null and uploads/Bouncer/thunderbird-summary.png differ blob - /dev/null blob + e69276135eacab238cb8b9fef7dcba72f0da4f98 (mode 644) Binary files /dev/null and uploads/Bouncer/turboirc-home.png differ blob - /dev/null blob + 67d71543eea806313fb1904462effbacf6328054 (mode 644) Binary files /dev/null and uploads/Bouncer/turboirc-serverlist.png differ blob - /dev/null blob + 5a2e15992506a759abe6e4b4d8fb5ccd17498203 (mode 644) Binary files /dev/null and uploads/Bouncer/turboirc-servers.png differ blob - /dev/null blob + 2f38e9d84a6f0298bcc5734f50f5a455ef2db818 (mode 644) Binary files /dev/null and uploads/Bouncer/turboirc-servers2.png differ blob - /dev/null blob + 67d71543eea806313fb1904462effbacf6328054 (mode 644) Binary files /dev/null and uploads/Bouncer/turboirc-servers2.png,1597482535 differ blob - /dev/null blob + 2d54bc827dd2da2bdc937a74801d2625206adf45 (mode 644) Binary files /dev/null and uploads/Bouncer/vision-add.png differ blob - /dev/null blob + 376766e11f5eb0b38aeb69750bd6cee8c8778b70 (mode 644) Binary files /dev/null and uploads/Bouncer/vision-home.png differ blob - /dev/null blob + 8311282106a62d4115a43d17fec5c4064f847e2d (mode 644) Binary files /dev/null and uploads/Bouncer/vision-nick.png differ blob - /dev/null blob + 0810fdc75e2368f626377fcc64a2110c6251e2f4 (mode 644) Binary files /dev/null and uploads/Bouncer/vision-server.png differ blob - /dev/null blob + 8d7d20275825d583c777f43821cc3e911dac4e18 (mode 644) Binary files /dev/null and uploads/Bouncer/weechat.png differ blob - /dev/null blob + 5349f016dc1a6bb874325a95c68bd6e799320b0b (mode 644) Binary files /dev/null and uploads/Bouncer/xchat-connecting.png differ blob - /dev/null blob + a8df6c28befd19ded02740bb21b9eb9b45d2737d (mode 644) Binary files /dev/null and uploads/Bouncer/xchat-menu.png differ blob - /dev/null blob + 16c45fae004ce239946fded0c048b826593a782d (mode 644) Binary files /dev/null and uploads/Bouncer/xchat-networklist.png differ blob - /dev/null blob + 1038af7c328b14eeac36a11e75ffd87965309d31 (mode 644) Binary files /dev/null and uploads/Bouncer/xchat-showdetails.png differ blob - /dev/null blob + 41cb4364d61908edb5c3e706b50aec596e58df98 (mode 644) Binary files /dev/null and uploads/Bouncer/yaaic-home.png differ blob - /dev/null blob + 9c895a9c31296eccc66c39764188dcc431230304 (mode 644) Binary files /dev/null and uploads/Bouncer/yaaic-home2.png differ blob - /dev/null blob + 5011d560b04fbb2db7d26d46690e82255143daa1 (mode 644) Binary files /dev/null and uploads/Bouncer/yaaic-server.png differ blob - /dev/null blob + 48292d472d89694f5bb3dac8c6f4a4b77d8f5eed (mode 644) Binary files /dev/null and uploads/Bouncer/yaaic-server.png,1597414280 differ blob - /dev/null blob + 48292d472d89694f5bb3dac8c6f4a4b77d8f5eed (mode 644) Binary files /dev/null and uploads/Bouncer/yaaic-server2.png differ blob - /dev/null blob + 63a9ed37b4a865a6b7a5c2c16f578a398630e2e1 (mode 644) --- /dev/null +++ uploads/Bouncer/znc.mrc @@ -0,0 +1,13 @@ +; ZNC 1.7.0 added support for server-time. +; mIRC 7.38 - 7.41 will stall/hang during the connection. +; by KindOne +; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc +; Remove support for server-time and finish the CAP so +; mirc can connect. +raw *:*:{ + if (($version < 7.33) || ($version > 7.41)) { return } + if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) { + cap req -server-time + cap end + } +} blob - /dev/null blob + 5953d81f735b85f6be8181429695a1c09166696d (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-accesscamera.png differ blob - /dev/null blob + b50a953aa28c440bc744f2fd49940331da07aa19 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-appstore.png differ blob - /dev/null blob + 6bfabf80dc9ae8060f9b07cdbd785345d2a8f0c8 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-createnewaccount.png differ blob - /dev/null blob + acba6f7c5817eaf4572cd5a505ad7540c37a9bb4 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-enablepush.png differ blob - /dev/null blob + 57a4daeb946c917ba7a2f4e361102f47a7f14e2f (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-inbox.png differ blob - /dev/null blob + 67cc7e0cf40ad36b4986eaa53017acb59f7c35c8 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-moreways.png differ blob - /dev/null blob + 9087f6511607448066e10bc32ac890fa055daa8a (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-newssl.png differ blob - /dev/null blob + fca16a0919dd4ea9e468232ad4bb4312bf6e1dfb (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-sendnotifications.png differ blob - /dev/null blob + 12560173c7f9fa54460ca45a15de3483fa830e53 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-settings.png differ blob - /dev/null blob + f0933156c4b1fefdc1c89b827ece3c18d7301d95 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-shareinvite.png differ blob - /dev/null blob + 3d8d0b58d4fe78b068626ae08839ebb4421636d0 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-signup-password.png differ blob - /dev/null blob + 95f927fd19a15c0766b87cf61df1b93f35ed3a3a (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-signup.png differ blob - /dev/null blob + 4a01c31b2732bb81a6769b655d2e01757220def4 (mode 644) Binary files /dev/null and uploads/ChatSecure/chatsecure-thankyou.png differ blob - /dev/null blob + c1a15cfa7cbcd486be7bc96b867ad6cce3ac3423 (mode 644) Binary files /dev/null and uploads/ClawsMail/AcceptSSL.png differ blob - /dev/null blob + bb93084b0be20ea9c2668dae7403907c130f0a1b (mode 644) Binary files /dev/null and uploads/ClawsMail/Preferences.png differ blob - /dev/null blob + 65841a93ec5482dcff33f361024dbb089d7699ce (mode 644) Binary files /dev/null and uploads/ClawsMail/SendSettings.png differ blob - /dev/null blob + 32a99e281fb107108db3357c8e7a9db50de4ffe5 (mode 644) Binary files /dev/null and uploads/ClawsMail/ServerSetting.png differ blob - /dev/null blob + 202e04b165261dc559b3d77c57e631cc3fcc2efe (mode 644) Binary files /dev/null and uploads/ClawsMail/YourInfo differ blob - /dev/null blob + 202e04b165261dc559b3d77c57e631cc3fcc2efe (mode 644) Binary files /dev/null and uploads/ClawsMail/YourInfo.png differ blob - /dev/null blob + 1056de27985c01c649a7308d7f867f97c13d0ca1 (mode 644) Binary files /dev/null and uploads/ClawsMail/portssettings.png differ blob - /dev/null blob + a93b49ca406d5a4aabc3117397f21e95f3d08a5f (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-authorized-keys.png differ blob - /dev/null blob + 6391a8a84f7ac6975b0a6ec39246a8ddecc3e983 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-check-fingerprints.png differ blob - /dev/null blob + 21dae8042942c823c9a309f0bf705b9c873cfb3d (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-edit-host-username.png differ blob - /dev/null blob + b84de3b9ed7f2a5f7c80aa1c338ee6fab00e5616 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-generate-ed25519.png differ blob - /dev/null blob + be463fade85d4232ebfffa833a92100f96ec0e3b (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-generate-random.png differ blob - /dev/null blob + 854b044d28891e3c7ec1ab2c032264a805fa4d46 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-hosts-never-connected.png differ blob - /dev/null blob + c2d7178a543e965aafe754ab217cc85fc34e3f65 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-login-success.png differ blob - /dev/null blob + 7fb5548b8993df3d25d221cd9c031029390e5f7c (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-manage-pubkeys.png differ blob - /dev/null blob + c54cdf0d9757f1d7de32e6c3c81fdc1f6d826a2a (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-no-hosts.png differ blob - /dev/null blob + b4abaead2bbe6cfffb254c653989cc7b0c12d49f (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-password.png differ blob - /dev/null blob + 5d7a5f48fa94d7d00f1a3e113e80b2a6668fb494 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-pubkey-none.png differ blob - /dev/null blob + 5d7a5f48fa94d7d00f1a3e113e80b2a6668fb494 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-pubkey-none.png,1628662237 differ blob - /dev/null blob + 693ece919568394c299afc5869bb473515b5daf5 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-pubkey-password.png differ blob - /dev/null blob + fc224dea7314919b36038fedc523f8e59d8c2e60 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-pubkeys-copy-public-key.png differ blob - /dev/null blob + 3c915a803b19c29176282f35387adc9d20988213 (mode 644) Binary files /dev/null and uploads/ConnectBot/connectbot-stay-connected.png differ blob - /dev/null blob + 72565bc44c6c4ef0bfcee89fde9b33b6775bb18a (mode 644) Binary files /dev/null and uploads/Conversations/conversations-createnewaccount.png differ blob - /dev/null blob + 7e3a0acb0dac32f2bb14cc613a47fe5392db9455 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-createnewaccount.png,1637214698 differ blob - /dev/null blob + 0dd2238a5949368f402f961b1ca181f055687fdd (mode 644) Binary files /dev/null and uploads/Conversations/conversations-fdroid.png differ blob - /dev/null blob + db06da2fc5c526f1404fae2b505c57e0cff4aa30 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-fdroid.png,1637214712 differ blob - /dev/null blob + c6f5f3275ed0a7918d550947de1070b0928c8e25 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-install.png differ blob - /dev/null blob + 1b79d3d234488ff6a5c0e44dd8b55ee0b4630446 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-install.png,1637214730 differ blob - /dev/null blob + a2f3b6674f71aa6820af03c0655e0196837395a3 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-publishavatar.png differ blob - /dev/null blob + c5a41229184b1f961b82a2353a9be08fdfc69846 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-publishavatar.png,1637214748 differ blob - /dev/null blob + 9c0a93623c4af7fa8989f6070928a47eb875a875 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-publishavatar.png,1637214760 differ blob - /dev/null blob + a2f3b6674f71aa6820af03c0655e0196837395a3 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-registernewaccount.png differ blob - /dev/null blob + aa9df3fb5cde0cb8dff6f09f2b8fb4c6404a5302 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-registernewaccount.png,1637214774 differ blob - /dev/null blob + 665472171d01b256c3b14bd11834e411089d50ec (mode 644) Binary files /dev/null and uploads/Conversations/conversations-startconversation.png differ blob - /dev/null blob + a24005d54a1cf34b12439a5dd19d73a91669d6e3 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-startconversation.png,1637214791 differ blob - /dev/null blob + 8915358e6ee5d552f3fb561b103052dd853c6dfa (mode 644) Binary files /dev/null and uploads/Conversations/conversations-welcome.png differ blob - /dev/null blob + c04b77fa5457dc2e9bdbc36623f4325aafb35129 (mode 644) Binary files /dev/null and uploads/Conversations/conversations-welcome.png,1637214802 differ blob - /dev/null blob + 4cd7b9ae150534272c9cea15a98606a7de9f75e6 (mode 644) --- /dev/null +++ uploads/Cvs/cvsweb-readme @@ -0,0 +1,109 @@ +# $OpenBSD: README,v 1.19 2019/11/10 08:23:35 schwarze Exp $ +# +# +----------------------------------------------------------------------- +# | Running cvsweb on OpenBSD +# +----------------------------------------------------------------------- +# +# Original author: Jolan Luff +# +# In order to make CVSweb operate in a chroot environment, it is +# necessary to copy all of the relevant tools, libraries, and perl modules +# that CVSweb employs into /var/www. +# +# NOTE: You can run this README directly with sh(1). +# +# First, create the basic directory structure: + +cd /var/www +mkdir -p tmp usr dev +chown www:www tmp # needs to be writeable for the www user + +cd /var/www/usr +mkdir -p bin lib libdata/perl5 libexec + +cd /var/www/usr/libdata/perl5 +mkdir -p File IPC Time warnings `arch -s`-openbsd/auto/{Cwd,Fcntl} unicore + +# The "annotate" function requires this empty file: +# +# NOTE: You can create an actual null device instead, but that will +# not work if the filesystem is mounted with the nodev option, and +# it is not required for cvsweb. + +cd /var/www/dev +touch null + +# Now, the required binaries: + +cd /var/www/usr/bin +cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} . + +# Next, the libraries that the binaries are linked to: +# +# NOTE: Wildcards will, of course, copy any old, unused libraries that are +# lurking around (for example, from an upgrade): + +cd /var/www/usr/lib +cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* . + +# Now, the run-time link-editor: + +cd /var/www/usr/libexec +cp -p /usr/libexec/ld.so . + +# And finally, the perl modules: + +cd /var/www/usr/libdata/perl5 +cp -p /usr/libdata/perl5/{Carp,Exporter,Symbol,base,integer,parent}.pm . +cp -p /usr/libdata/perl5/{strict,warnings,vars,constant,utf8}.pm . +cp -p /usr/libdata/perl5/utf8_heavy.pl . +cp -p /usr/libdata/perl5/unicore/Heavy.pl ./unicore/ +cp -p /usr/libdata/perl5/File/Basename.pm ./File/ +cp -p /usr/libdata/perl5/IPC/Open{2,3}.pm ./IPC/ +cp -p /usr/libdata/perl5/Time/Local.pm ./Time/ +cp -p /usr/libdata/perl5/warnings/register.pm ./warnings/ +cp -p /usr/libdata/perl5/XSLoader.pm . + +cd /var/www/usr/libdata/perl5/`arch -s`-openbsd +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config_{git,heavy}.pl . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Cwd.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Cwd/Cwd.so ./auto/Cwd/ +cp -p /usr/libdata/perl5/`arch -s`-openbsd/DynaLoader.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Fcntl.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Fcntl/Fcntl.so ./auto/Fcntl/ + +# You also need to enable slowcgi(8): + +rcctl enable slowcgi +rcctl start slowcgi + +# Editing cvsweb and cvsweb.conf +# ------------------------------ +# The cvsweb program already assumes that it is running chrooted, +# and the location of the configuration file is hardcoded to +# /conf/cvsweb/cvsweb.conf, so usually there is no need to edit +# the cvsweb program itself. + +# By default, /var/www/conf/cvsweb/cvsweb.conf configures one +# repository to be served: /var/www/cvs/, which should contain +# the subdirectory CVSROOT and one or more module directories. +# Additional repositories, each containing their own CVSROOT +# subdirectory, can be added to the @CVSrepositories array. + +# Example httpd.conf(5) for cvsweb +# -------------------------------- +# server "domain.tld" { +# listen on * port 80 +# #listen on egress tls port 443 +# +# #tls { +# #certificate "/etc/ssl/domain.tld_fullchain.pem" +# #key "/etc/ssl/private/domain.tld_private.pem" +# #} +# +# location "/cgi-bin/*" { +# fastcgi +# root "/" +# } +# } blob - /dev/null blob + 4cd7b9ae150534272c9cea15a98606a7de9f75e6 (mode 644) --- /dev/null +++ uploads/Cvs/cvsweb-readme.txt @@ -0,0 +1,109 @@ +# $OpenBSD: README,v 1.19 2019/11/10 08:23:35 schwarze Exp $ +# +# +----------------------------------------------------------------------- +# | Running cvsweb on OpenBSD +# +----------------------------------------------------------------------- +# +# Original author: Jolan Luff +# +# In order to make CVSweb operate in a chroot environment, it is +# necessary to copy all of the relevant tools, libraries, and perl modules +# that CVSweb employs into /var/www. +# +# NOTE: You can run this README directly with sh(1). +# +# First, create the basic directory structure: + +cd /var/www +mkdir -p tmp usr dev +chown www:www tmp # needs to be writeable for the www user + +cd /var/www/usr +mkdir -p bin lib libdata/perl5 libexec + +cd /var/www/usr/libdata/perl5 +mkdir -p File IPC Time warnings `arch -s`-openbsd/auto/{Cwd,Fcntl} unicore + +# The "annotate" function requires this empty file: +# +# NOTE: You can create an actual null device instead, but that will +# not work if the filesystem is mounted with the nodev option, and +# it is not required for cvsweb. + +cd /var/www/dev +touch null + +# Now, the required binaries: + +cd /var/www/usr/bin +cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} . + +# Next, the libraries that the binaries are linked to: +# +# NOTE: Wildcards will, of course, copy any old, unused libraries that are +# lurking around (for example, from an upgrade): + +cd /var/www/usr/lib +cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* . + +# Now, the run-time link-editor: + +cd /var/www/usr/libexec +cp -p /usr/libexec/ld.so . + +# And finally, the perl modules: + +cd /var/www/usr/libdata/perl5 +cp -p /usr/libdata/perl5/{Carp,Exporter,Symbol,base,integer,parent}.pm . +cp -p /usr/libdata/perl5/{strict,warnings,vars,constant,utf8}.pm . +cp -p /usr/libdata/perl5/utf8_heavy.pl . +cp -p /usr/libdata/perl5/unicore/Heavy.pl ./unicore/ +cp -p /usr/libdata/perl5/File/Basename.pm ./File/ +cp -p /usr/libdata/perl5/IPC/Open{2,3}.pm ./IPC/ +cp -p /usr/libdata/perl5/Time/Local.pm ./Time/ +cp -p /usr/libdata/perl5/warnings/register.pm ./warnings/ +cp -p /usr/libdata/perl5/XSLoader.pm . + +cd /var/www/usr/libdata/perl5/`arch -s`-openbsd +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config_{git,heavy}.pl . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Cwd.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Cwd/Cwd.so ./auto/Cwd/ +cp -p /usr/libdata/perl5/`arch -s`-openbsd/DynaLoader.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/Fcntl.pm . +cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Fcntl/Fcntl.so ./auto/Fcntl/ + +# You also need to enable slowcgi(8): + +rcctl enable slowcgi +rcctl start slowcgi + +# Editing cvsweb and cvsweb.conf +# ------------------------------ +# The cvsweb program already assumes that it is running chrooted, +# and the location of the configuration file is hardcoded to +# /conf/cvsweb/cvsweb.conf, so usually there is no need to edit +# the cvsweb program itself. + +# By default, /var/www/conf/cvsweb/cvsweb.conf configures one +# repository to be served: /var/www/cvs/, which should contain +# the subdirectory CVSROOT and one or more module directories. +# Additional repositories, each containing their own CVSROOT +# subdirectory, can be added to the @CVSrepositories array. + +# Example httpd.conf(5) for cvsweb +# -------------------------------- +# server "domain.tld" { +# listen on * port 80 +# #listen on egress tls port 443 +# +# #tls { +# #certificate "/etc/ssl/domain.tld_fullchain.pem" +# #key "/etc/ssl/private/domain.tld_private.pem" +# #} +# +# location "/cgi-bin/*" { +# fastcgi +# root "/" +# } +# } blob - /dev/null blob + bebf00f24ba2417775b1fe7a0f88b68a828ca57f (mode 644) Binary files /dev/null and uploads/Dino/dino-1.png differ blob - /dev/null blob + 8643e4f40388741034594433fd497d63e3ff91d1 (mode 644) Binary files /dev/null and uploads/Dino/dino-2.png differ blob - /dev/null blob + 24d65b62c1f7b93f3c5f175ca8d9b62b771145dc (mode 644) Binary files /dev/null and uploads/Dino/dino-3.png differ blob - /dev/null blob + f394b3edbd3f8c60788d0db61214d959673ac574 (mode 644) --- /dev/null +++ uploads/Eggdrop/eggdrop-simple.conf.txt @@ -0,0 +1,239 @@ +(:title Configure simple eggdrop.conf:) + +Eggdrop has a very complex configuration file which can overwhelm new users. To make things simpler, we focus on just the most essential settings you must change. + +Create a new file inside ~// called examplebot.conf: + +[@ +set username "botusername" +set admin "username " +set nick "botnick" +set altnick "botn?ck" +set realname "/msg botnick hello" +set network "Your Network" +set userfile "botusername.user" +set chanfile "botusername.chan" +@] + +Replace with your own settings. For network, use a short simple name instead of theactual server address. For example, the network name might be IRCNow instead of irc.ircnow.org. + +[@ +set prefer-ipv6 1 +@] + +We set prefer-ipv6 to 1, meaning eggdrop will attempt to use IPv6 wherever possible. Among other benefits, this will allow our eggdrop to have a unique vhost. + +[@ +loadmodule server +set net-type "Other" +set default-port 6667 +server add irc6.example.com +6697 +@] + +Here, we configure the network we want to connect to. There are several network types: EFnet, IRCnet, Undernet, DALnet, Libera, freenode, QuakeNet, Rizon, Twitch, and Other. If you're not sure, choose Other. + +You'll want to replace irc6.example.com +6697 with your actual server and port. It's best to use an IPv6-only server address. If you're using SSL, make sure to add a + plus sign. If you're using a plaintext port like port 6667, leave out the + plus sign. + +'''WARNING''': Don't [[tls/intro|confuse plaintext with SSL]]! If you're connecting to port 6667, do '''not''' put a + plus sign in front. If you're connecting to port +6697, '''do''' put a + sign in front. + +Below, we set the [[dns/vhost|vhosts]] assigned to us when we created the shell account: + +[@ +set vhost4 "username.example.com" +set vhost6 "username.example.com" +@] + +You cannot pick any vhost you want; you must use the vhost given to you when you created the shell account. This is because your vhost must have [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] entries configured in order to work correctly. + +If you'd like to pick a different vhost, contact your sysadmin. + +Finally, we just copy the rest of these lines unchanged into the conf file: + +[@ +bind evnt - init-server evnt:init_server + +proc evnt:init_server {type} { + global botnick + putquick "MODE $botnick +i-ws" +} + + +if {[info exists net-type]} { + switch -- ${net-type} { + "EFnet" { + source scripts/quotepong.tcl + } + "0" { + source scripts/quotepong.tcl + } + } +} +@] + +[@ +set timezone "EST" +set offset "5" +set max-logs 20 +set max-logsize 0 +set quick-logs 0 +set raw-log 0 +logfile mco * "logs/eggdrop.log" +set log-time 1 +set timestamp-format {[%H:%M:%S]} +set keep-all-logs 0 +set logfile-suffix ".%d%b%Y" +set switch-logfiles-at 300 +set quiet-save 0 +set console "mkcoblxs" +set help-path "help/" +set text-path "text/" +set motd "text/motd" +set telnet-banner "text/banner" +set userfile-perm 0600 +set remote-boots 2 +set share-unlinks 1 +set protect-telnet 0 +set dcc-sanitycheck 0 +set ident-timeout 5 +set require-p 1 +set open-telnets 0 +set stealth-telnets 0 +set stealth-prompt "\n\nNickname.\n" +set use-telnet-banner 0 +set connect-timeout 15 +set dcc-flood-thr 3 +set telnet-flood 5:60 +set paranoid-telnet-flood 1 +set ssl-capath "/etc/ssl/" +set ignore-time 15 +set hourly-updates 00 +set notify-newusers "$owner" +set default-flags "hp" +set whois-fields "url birthday" +set must-be-owner 1 +unbind dcc n simul *dcc:simul +set max-socks 100 +set allow-dk-cmds 1 +set dupwait-timeout 5 +set cidr-support 0 +set show-uname 1 + +set mod-path "modules/" +loadmodule pbkdf2 +loadmodule blowfish +set blowfish-use-mode cbc +loadmodule dns +set dns-cache 86400 +set dns-negcache 600 +set dns-maxsends 4 +set dns-retrydelay 3 +loadmodule channels +set force-expire 0 +set share-greet 0 +set use-info 1 +set allow-ps 0 + +set default-flood-chan 15:60 +set default-flood-deop 3:10 +set default-flood-kick 3:10 +set default-flood-join 5:60 +set default-flood-ctcp 3:60 +set default-flood-nick 5:60 +set default-aop-delay 5:30 +set default-idle-kick 0 +set default-chanmode "nt" +set default-stopnethack-mode 0 +set default-revenge-mode 0 +set default-ban-type 3 +set default-ban-time 120 +set default-exempt-time 60 +set default-invite-time 60 + +set default-chanset { + -autoop -autovoice + -bitch +cycle + +dontkickops +dynamicbans + +dynamicexempts +dynamicinvites + -enforcebans +greet + -inactive -nodesynch + -protectfriends +protectops + -revenge -revengebot + -secret -seen + +shared -statuslog + +userbans +userexempts + +userinvites -protecthalfops + -autohalfop -static +} + + +set msg-rate 2 +set keep-nick 1 +set quiet-reject 1 +set lowercase-ctcp 0 +set answer-ctcp 3 +set flood-msg 5:60 +set flood-ctcp 3:60 +set server-cycle-wait 60 +set server-timeout 60 +set check-stoned 1 +set serverror-quit 1 +set max-queue-msg 300 +set trigger-on-ignore 0 +set exclusive-binds 0 +set double-mode 1 +set double-server 1 +set double-help 1 +set optimize-kicks 1 +set stack-limit 4 + +loadmodule ctcp +set ctcp-mode 0 +loadmodule irc +set bounce-bans 0 +set bounce-exempts 0 +set bounce-invites 0 +set bounce-modes 0 +set learn-users 0 +set wait-split 600 +set wait-info 180 +set mode-buf-length 200 + +unbind msg - ident *msg:ident +unbind msg - addhost *msg:addhost + +set opchars "@" +set no-chanrec-info 0 +set prevent-mixing 1 +set max-dloads 3 +set dcc-block 0 +set copy-to-tmp 1 +set xfer-timeout 30 +set share-compressed 1 +set files-path "/home/mydir/filesys" +set incoming-path "/home/mydir/filesys/incoming" +set upload-to-pwd 0 +set filedb-path "" +set max-file-users 20 +set max-filesize 1024 +loadmodule notes +set notefile "LamestBot.notes" +set max-notes 50 +set note-life 60 +set allow-fwd 0 +set notify-users 0 +set notify-onjoin 1 + +if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} } + +loadmodule console +set console-autosave 1 +set force-channel 0 +set info-party 0 +loadmodule uptime + +source scripts/alltools.tcl +source scripts/action.fix.tcl +source scripts/dccwhois.tcl +source scripts/userinfo.tcl +loadhelp userinfo.help +@] blob - /dev/null blob + dec085d7b0e94c46434d2ca6d94effa13c01f746 (mode 644) Binary files /dev/null and uploads/Email/1 - add account.png differ blob - /dev/null blob + 239ff46b1d7a09f7214ab894668c5a01628db7cf (mode 644) Binary files /dev/null and uploads/Email/2 - Advanced setup.png differ blob - /dev/null blob + ec043fc7d928a754cec548e075e0c7b9330a4d2f (mode 644) Binary files /dev/null and uploads/Email/3 - Internet email.png differ blob - /dev/null blob + e40cc73b952974c2065442f570d22aabdd67701b (mode 644) Binary files /dev/null and uploads/Email/4 - setup.png differ blob - /dev/null blob + 7fdc1ceb1489dfe9d6678d6380dcc43f7ef0c463 (mode 644) Binary files /dev/null and uploads/Email/5 - Setup.png differ blob - /dev/null blob + 2484a2ba8c01200b17ea5129835c97429b8cdd1d (mode 644) Binary files /dev/null and uploads/Email/6 - Check and Sign in.png differ blob - /dev/null blob + e40cc73b952974c2065442f570d22aabdd67701b (mode 644) Binary files /dev/null and uploads/Email/Setup.png differ blob - /dev/null blob + dec085d7b0e94c46434d2ca6d94effa13c01f746 (mode 644) Binary files /dev/null and uploads/Email/addAccount.png differ blob - /dev/null blob + 239ff46b1d7a09f7214ab894668c5a01628db7cf (mode 644) Binary files /dev/null and uploads/Email/advancedSetup.png differ blob - /dev/null blob + 2484a2ba8c01200b17ea5129835c97429b8cdd1d (mode 644) Binary files /dev/null and uploads/Email/checkandSignIn.png differ blob - /dev/null blob + ec043fc7d928a754cec548e075e0c7b9330a4d2f (mode 644) Binary files /dev/null and uploads/Email/internetEmail.png differ blob - /dev/null blob + 7fdc1ceb1489dfe9d6678d6380dcc43f7ef0c463 (mode 644) Binary files /dev/null and uploads/Email/setupServers.png differ blob - /dev/null blob + e562c3c38b425b59bf626f07fdcc736b6171fe04 (mode 644) Binary files /dev/null and uploads/EmailTray/EmailTray-account-login differ blob - /dev/null blob + e562c3c38b425b59bf626f07fdcc736b6171fe04 (mode 644) Binary files /dev/null and uploads/EmailTray/EmailTray-account-login.png differ blob - /dev/null blob + ffdecc6edf2fc4e4c4553ca759f8adcbfb9626f0 (mode 644) Binary files /dev/null and uploads/EthicalSource/kinggeorge.jpg differ blob - /dev/null blob + 4d5b9484aaa33302e19fc3ef8f2a06c6cbdcde98 (mode 644) Binary files /dev/null and uploads/Fdroid/f-droid-chrome-unknown.png differ blob - /dev/null blob + 63652ed8f7a420b87e11aa7aa1470c8859d7cba2 (mode 644) Binary files /dev/null and uploads/Fdroid/f-droid-install.png differ blob - /dev/null blob + c386332364ed18d560272985a8c2d0bb66a0e20b (mode 644) Binary files /dev/null and uploads/Fdroid/f-droid-main.png differ blob - /dev/null blob + 289e2b06ad4343a0c63b82b08d73c02b690a288c (mode 644) Binary files /dev/null and uploads/Fdroid/f-droid-update-repos.png differ blob - /dev/null blob + 1b8853f6e7b9ea3cad2b56831791e68009dcd7dd (mode 644) Binary files /dev/null and uploads/Fdroid/f-droid-web.png differ blob - /dev/null blob + 24baa81c847c20e10a1eaecf18d54b1c43ce54e0 (mode 644) Binary files /dev/null and uploads/Freedom/techs-should-factor differ blob - /dev/null blob + 24baa81c847c20e10a1eaecf18d54b1c43ce54e0 (mode 644) Binary files /dev/null and uploads/Freedom/techs-should-factor.png differ blob - /dev/null blob + b367e015cd32d68586e5ada68998f2c165f4402f (mode 644) Binary files /dev/null and uploads/Freedom/torch.png differ blob - /dev/null blob + 9a9b724e51546b1d9360f1abacac835f7247ff80 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-accountadded.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + d319a6a2385050d11a8fa33f68afbcb1e88950ec (mode 644) Binary files /dev/null and uploads/Gajim/gajim-channel.png differ blob - /dev/null blob + 70407b8fd887713354ac156e8b1af612ff00bc57 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-createaccount.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 70407b8fd887713354ac156e8b1af612ff00bc57 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-createaccount.png,1637134159 differ blob - /dev/null blob + 314b675d99166f6dcebb7970e5d1d761b087f673 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-menu.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 1b9792c70eca74684833bf55189b97c36c4fd3dd (mode 644) Binary files /dev/null and uploads/Gajim/gajim-muc.png differ blob - /dev/null blob + e1923037f919bc980debb2b903b2776af36daf1b (mode 644) Binary files /dev/null and uploads/Gajim/gajim-signup.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 5cdf69f691d05258b9734819803356093c2d6965 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-startjoinchat.png differ blob - /dev/null blob + 9528c8b2aaf00dc9ba3011468a845b6a0c940592 (mode 644) Binary files /dev/null and uploads/Gajim/gajim-welcome.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 314b675d99166f6dcebb7970e5d1d761b087f673 (mode 644) Binary files /dev/null and uploads/Gajim/gajim_menu.png differ blob - /dev/null blob + 034be8e35cf3dfabb3487b96108544f397507dd6 (mode 644) Binary files /dev/null and uploads/IPv4/IPV4-Subnets differ blob - /dev/null blob + 034be8e35cf3dfabb3487b96108544f397507dd6 (mode 644) Binary files /dev/null and uploads/IPv4/IPV4.gif differ blob - /dev/null blob + 329e0c3d767c6425c624a0fe47dfa6356cb835a1 (mode 644) Binary files /dev/null and uploads/Iked/cero.jpg differ blob - /dev/null blob + 943c5d0a8c8b1efe6405c1fcd870ecc22f60cf86 (mode 644) Binary files /dev/null and uploads/Iked/cuarto differ blob - /dev/null blob + a031e001629c12ba586efef16b0265f798766fc9 (mode 644) Binary files /dev/null and uploads/Iked/cuarto.jpg differ blob - /dev/null blob + 943c5d0a8c8b1efe6405c1fcd870ecc22f60cf86 (mode 644) Binary files /dev/null and uploads/Iked/cuarto4.jpg differ blob - /dev/null blob + 159daa36970335532831e7aa3018b5f57a0ed60a (mode 644) Binary files /dev/null and uploads/Iked/primero differ blob - /dev/null blob + b55c8b24a34907591a6152380ad80b26810ab886 (mode 644) Binary files /dev/null and uploads/Iked/primero.jpg differ blob - /dev/null blob + 159daa36970335532831e7aa3018b5f57a0ed60a (mode 644) Binary files /dev/null and uploads/Iked/primero1.jpg differ blob - /dev/null blob + 8078c3b00119f96bd634613be6ad1631e3d0dff1 (mode 644) Binary files /dev/null and uploads/Iked/quinto differ blob - /dev/null blob + 91d849eb51c525ff148a33a06e5fac82ba4fba44 (mode 644) Binary files /dev/null and uploads/Iked/quinto.jpg differ blob - /dev/null blob + 8078c3b00119f96bd634613be6ad1631e3d0dff1 (mode 644) Binary files /dev/null and uploads/Iked/quinto5.jpg differ blob - /dev/null blob + 0c8e7c98361738c62320e448d3759a03cf744e57 (mode 644) Binary files /dev/null and uploads/Iked/segundo differ blob - /dev/null blob + 0fa43f489d76fea0bb39cb2f934bf27eaf31fca9 (mode 644) Binary files /dev/null and uploads/Iked/segundo.jpg differ blob - /dev/null blob + 0c8e7c98361738c62320e448d3759a03cf744e57 (mode 644) Binary files /dev/null and uploads/Iked/segundo2.jpg differ blob - /dev/null blob + 270e8baef64f7618db5c4c29ad8d2627e11ede24 (mode 644) Binary files /dev/null and uploads/Iked/septimo differ blob - /dev/null blob + 270e8baef64f7618db5c4c29ad8d2627e11ede24 (mode 644) Binary files /dev/null and uploads/Iked/septimo7.jpg differ blob - /dev/null blob + f0d9fa114ee63ea2b968add1fd2e1ddd578021c6 (mode 644) Binary files /dev/null and uploads/Iked/sexto differ blob - /dev/null blob + 5b6351e7cec6f9d76afad037bc6915cbd918bc95 (mode 644) Binary files /dev/null and uploads/Iked/sexto.jpg differ blob - /dev/null blob + f0d9fa114ee63ea2b968add1fd2e1ddd578021c6 (mode 644) Binary files /dev/null and uploads/Iked/sexto6.jpg differ blob - /dev/null blob + 4580f03e66f1094f63b0c5ac57b5e5f36fe9c057 (mode 644) Binary files /dev/null and uploads/Iked/tercero differ blob - /dev/null blob + 2657815492fd9732414198a5846aa06046ef92a2 (mode 644) Binary files /dev/null and uploads/Iked/tercero.jpg differ blob - /dev/null blob + 4580f03e66f1094f63b0c5ac57b5e5f36fe9c057 (mode 644) Binary files /dev/null and uploads/Iked/tercero3.jpg differ blob - /dev/null blob + bccafdeaab7bc484542f3ffb1b297c8064be2291 (mode 644) Binary files /dev/null and uploads/Ircnow/irc-network-map.png differ blob - /dev/null blob + 751e5003364f8d5342b1bed63006c9cca36b0227 (mode 644) Binary files /dev/null and uploads/Ircnow/ircnow-wants-you.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 5c7cbfdeadb1670986a768741af407763eb87227 (mode 644) Binary files /dev/null and uploads/Ircnow/rosie-1.png differ blob - /dev/null blob + a1ff42e7d00407737dfcaeaf7ff20455df7a27f9 (mode 644) Binary files /dev/null and uploads/Ircweb/ircweb-brutalist.png differ blob - /dev/null blob + 4bca8bddd64601f911a460c0aff2d3a805811e42 (mode 644) Binary files /dev/null and uploads/Jrmu/aaronlin.png differ blob - /dev/null blob + 02910e4e2af8202bbf2726a09aa910bc8715327d (mode 644) --- /dev/null +++ uploads/Jrmu/jrmu.pub.txt @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBF/vWpoBEADEkbe0MwWiXiniXLTLaAUZ2AbRPD07S5BAhAthrwej54zZROUw +zWSpcKa0+T6U5gILi+nDev+ID1kcLWM3YoQFcY8LAfaFWKsI25qlKPi/sNDHE0p/ +QgyMIh/g5CHFLE1B1AXFyPcxL+jCG6VGwDkPOrzhayJnwJafnosxjtCV70k/AVen +MjpZfllniF0LCLSrcCx7503ck3AIU76AtbsDaz60SBSA81jczuXQs1FF762OVIW/ +2Ov4wjm2CgXWD46bSGMbzgx6xjcuMTpCIE8t+2Vxu1+3VasjoTRreSFHpVUtnJnR +i3KvTRCOk6aiwKnVhlFba961/v8yoVh8kFl1s6Y+xp+V44rxewJxtesUDjwqIz8X +CGZxq8zv+zUWlLyoLH0uJNnZ2ObprG/WQjfrDZDl/M+5nQBTJI38yPsdGF6GiYS4 +aJ8qrT/aEEVwUSIHIRBz0X8md+iUoAsmji/AyRo5LNYFEksCKDjKo9QcMby8ML3D +jNvbOp+q9JXUdU+10q5EtoV1+E5kjTVU4szqVs3sC4aPbEgXIlHDLoiZpxrIeFJF +TCDEitvSFzCVbvvn8a194LwozNMvLdB7heXpQf7uHrbMXuS1lsgSdmk84m/S+GIy +F8FsDaCEIjC89Irq7W0NEGk0puX8TMK+D46862gcO1V0ZqLdu6s4x/baOQARAQAB +tDZqcm11QGlyY25vdy5vcmcgKGh0dHBzOi8vaXJjbm93Lm9yZykgPGpybXVAaXJj +bm93Lm9yZz6JAj4EEwECACgFAl/vWpoCGwMFCQPCZwAGCwkIBwMCBhUIAgkKCwQW +AgMBAh4BAheAAAoJEEpW2y2/jcGG7ScP+gL6ompLwMRGAQ+uo0GiHaR7opKZTVpU +ywbB0leoq6Qim8vW6QW6RDzbQ5rP03TnyF5FJIhZx7OS6GwE6dUD24na/uk6S9Ip +FyAkNlWMQfbyT6zW6UQJVVsQ7Pg59nP0XjqSJhCgND8Te/JTeTwqeMOjged0mHE2 +0dYuNXsIQFXmtaZ0oUNkPkVm3Gl7JExFyahrn9EfvkaYfMlB1XPCkwB6cnnYHIhJ +z42u8xSCQiR25hq0Mp+u6mIteMt2fIB1O8V+7GXR/AOuPfrE1UFsV+7pEy8kykil +EeVmhLainBZD13BmMAJiD6tYLKoRx2r4UY4UJukUa46tH0xR3J+jXj2y6Ncx/8bv +pV7qf5KgtdCM8SkL9MUXTxvdWq1mj2unSJ1i7nNxEujpCfAI6be0k6lxt8fzBG87 +e4ADMCJsFpgmF8YKPRKQZf6zigFmElg5lKUw/jPJJww/L26Bkk/7MnB7bpnxU2/K +TX5AGZ6ic5LSAnyTg45dzQdCebHiyo8OzD3gQm8kly4g7NeUZkC6/+QeVeJKFXkP +sw7VNHZmOoaLswQU95hER878DXLALLo+JwBXiE8I+x3ryZcCIgvsNduzpEFR32iK +BE8p2mhZ8xQdA6d3/uqiVz3DZYhca+pADEUnukL1EaolP+HxFms5Pv/Rv6wc+llr +RvNfLJnvhSl8tDxzdXBwb3J0QGlyY25vdy5vcmcgKGh0dHBzOi8vaXJjbm93Lm9y +ZykgPHN1cHBvcnRAaXJjbm93Lm9yZz6JAj4EEwECACgFAmAvNvgCGwMFCQPCZwAG +CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEpW2y2/jcGGQFsQAL3RcMW+7CTO +Z/ANrBKdpkkADNQzsEltnpAsLGfHsLS0kmxmzAIumxg+87i4uHApV/RMu2gSdv7J +hJDxICnpp8lHcppsSx7s7SeBXgJytGzHjPZ7uETw/ngTed/do5RGfYYXky6AvMTj +ew0dskxxTkhxtzluZLnOjbUdMRUsWAXrIijCZ+dHYFfGlibXF15BkNmH/lZybk63 +0GsQTGlDGyVg2znbcg6Q+WCCyNi1yn02MgppnZTztL2nKtr8vk74VVOYENTOiA+o +pUfLr/ekT43zM+5HXDeLuzH8jPQ6hnOLpr6pkPw9tg09g0G6bmgT2eyq0QoIkKrq +GAUGlT+vrSTCnJPX86gbB1YwYAioPyNFbJR4jdN9EIqWavGEmMODTDTVKKVr2gEn +17U4/2yOMrlPKNXBEEQNWIfb3aNOStA7y95CNLDmgZnH6AFFYyQgLnaFa+ON3sQ9 +Cs01GlAfIA0UHdYcNS7Rd+mTAvc1SZ1VL/oFfFWGMrB71q4pnr/edQGxWWJyYS3P +b68BLvEXbECDlAj2l0Y1jg9XpNC8pr4pZlybjLwB19JWNyFaJT++ByqKzasgPmuW +j+EGKGkZ5tgHBoCZY00XUStcORKOfbSkCrrO9vhLHHoMO3LXMWABKCHDjtd60qlK +YJlV/ejYrWZxNlJzGcjTbC+Cteyj5QbHtDhhZG1pbkBpcmNub3cub3JnIChodHRw +czovL2lyY25vdy5vcmcpIDxhZG1pbkBpcmNub3cub3JnPokCPgQTAQIAKAUCYC83 +GAIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQSlbbLb+NwYZy +EBAAs9cCEtqaE/Q/DFHieyWl+PkzywYuPPcVSILPzZqCtVW0XCdwGvKO2FQvdyYy +14g/itszVZmg/++Lok99n02Uo1tlrAsFpdhep91fjNukbrVCbAflU/sfeN9EIYPx +RmMBeQLkOK4YbnxNJuyNh68D5SsscjS+0wZKBtwGQj9br/HZmiPXUFuZ5L6XSQ1V +Ythhm6Jx8Q+8vjWvsJXzN0fwuv1tCZt9U1B2RARep4TULSMB1lR1HMjz6CV2ygf5 +vS79+0cDc6wIWszpQt4/G6RCd8jxBOj44j6k8zpSn990sYKmD7iPZrI+3+ly9nxt +IThqjB9jr7jkFSQT0ELJwp/bpmKrE0YYSJ5Td/EbE5tY2Ql2qmAs6A5PuUq+77cH +W5z2ljJ+Rx9+M2fWbCKyDMaIliG/hD5ytkoc8eq64JwHFTcZ2uneVoux2MVuFW9S +TwiiLCaDwsVqKZzTcSnXPwIAe4sVymPGF1MMKgApr2SNrzTm5yf3SLowzX4lTl92 +hbvuF7BkPDT6RNWhXcpB90oIYB1aFHTQmsZG6F3UcVK9DM7gq06+de9x01TcueOc ++55N5XK1HDA9jjQ4wDMzTqrtCP7pAlts5cQ0HabX8VaGiFQk4rNlHHdZQ2T6PHzW +WLNEzc1mkzlH+9Mb9v0GiD3NlhUived7cB/w7ULtTfO7D7O5Ag0EX+9amgEQALuG +4vKxj7aUCDLvoA2o7xzWaTOPnObSh1ORvyDkhII0niofuAQniScqT5UMAHBeUNtO +tGMy8mMvGf7zx7Z+BcPIavcxBlEqfvvre9v8clKm4NFoyTTk/clB+BtVhhBsLqcV +Liv/0e0EBtBd/7jz32OGLiz/gxwRkRmjavT2TpLBt7jox5otUIjEtD4JISWf9bGT +TbFY4i8/5EZaEBqSPG90K1GQ/SiG1D1paG4HodS9Vpah07pY/P3nqGovBg/lpJHJ +53MgscNlwfAnpMupxEEF+dABPtmVcQOFzVE9npP93p9RKLwYVI9vigr4OZT7uVLA +YeMmBqx93hRZRy9lsndveD2eE8oM9bLzC50cS0ntjIhtL6Rj6fmg4/cielmT2nxK +8VUxRjg8BMxCSvblCZsUiastQesTk+tzsZTMBR8Z5TmNtfA7iEdV9aBG0aX5GaeS +0NXS6k9Wtb0hmU3tV4Tudab+fZmoHBk9adLcI4LbKtut5zS9LBXvouvBHHZ7qotd +/f7+hA+jg2E2fVOi29A+vJK4oC9DHTI0J1d6ZK9RUZMljU8mrzWicOMb9/FA5wd0 +RDGuijJcEVhtMOKTRp0huJhLA0uv/kbOW6CqundIcadymUKIGi/5JhY+QsznxO1u +iXAJyZB38dEway66sOfhHdfFaXhYBzfhaEKCmfJTABEBAAGJAiUEGAECAA8FAl/v +WpoCGwwFCQPCZwAACgkQSlbbLb+NwYauxQ//V2ObMHjHV9wXrFH9awyH06QAhN0O +9xMp8ConCZUQc6Dw3HxJfLcippSO/Hh309Q5WX9LHcpGwRX9C8UYV1k1087lO0Mc +RJ2RnUOiIuxz1YkwAHMkLETKIIK2VVoXKfOpNGCaZCcL75k0sT+kTHD/pN7vFsX+ +/xmFfmKNHbejTfKh2rGJGeEdVKM5DvvDpQ3VFyVt9j1Ujyn0jZZAkWD0vO1wj1GY +BGrcDJ7jWkHJhu50Ine+ddpfAFN0Uy+lXM/zHT1r5wEnoC6+KucrKo5KcY9jcQkz +dIvzcEOuEp4w+nvAPXvipYw03q76uo6NEU3U89a5sAnYtU582K/32CqERPi2hqtJ +1tMj/uPju1QESmN6LFwUumvX+XncXvNcrUdy59V2MBCXA3+Jo7mwypBZTTD4+e+F +uoG9W3ZI1OOZ+mi1SBJc516AE+UjtYDAsOnYxgPsMdk+WaBGAGXsntRZePBCkenq +/ar/S5nT2S+zhFtU9w19B0H/WRwJaH/h7dCyqBNHYbaSZxohbPZkhs9O4pjN+0ML +1sdUAJUwCUTn8w/v1H5XbA9DgGexZwkG4Ikt6P+OJBg9Y5cMsFdtY/O4MyrrsMj+ +MoPd8DkHAG/BQtlOwGrWOZKy1RX074YM0cbmN8wRDtj/6kp9zDjtZ3wgmwUyF637 +DSXQ67Ys3O17e/8= +=4jV3 +-----END PGP PUBLIC KEY BLOCK----- blob - /dev/null blob + 6473996b47942ac96fb149acd5a42877e5469f98 (mode 644) Binary files /dev/null and uploads/Jrmu/libertyordeath.jpg differ blob - /dev/null blob + e6f6c203c4fb2c9e92214b0d15f161a1f8ea29f2 (mode 644) Binary files /dev/null and uploads/MacTerminal/macterm1.png differ blob - /dev/null blob + 0bb4fad24e6424e6e34c2d77739c9fc1a909de1c (mode 644) Binary files /dev/null and uploads/MacTerminal/macterm2.png differ blob - /dev/null blob + 74c85bfa2d1ad27a0465b590d92705a525b4d1d8 (mode 644) Binary files /dev/null and uploads/MacTerminal/macterm3.png differ blob - /dev/null blob + 7eb9de47ad773f55537b169262af051e604103a1 (mode 644) Binary files /dev/null and uploads/MacTerminal/macterm4.png differ blob - /dev/null blob + e2970bfd3bd2cb67dfd4bd21873992c9d35108b9 (mode 644) Binary files /dev/null and uploads/MacTerminal/macterm5.png differ blob - /dev/null blob + fb7187055861257715415b70a24732cabb4ac8a6 (mode 644) Binary files /dev/null and uploads/MailWindows/WindowsMail-account-info.png differ blob - /dev/null blob + f74bcd3e1ffcc417483fd9582e7ef976816faacc (mode 644) Binary files /dev/null and uploads/MailWindows/WindowsMail-account-server.png differ blob - /dev/null blob + 25c031b3598ead4ad9f93e4950989770190f0c0d (mode 644) Binary files /dev/null and uploads/MailWindows/WindowsMail-account-type.png differ blob - /dev/null blob + 6325cfe86ec3d07990f6642222290a35b2904c70 (mode 644) Binary files /dev/null and uploads/Main/1.jpg differ blob - /dev/null blob + 94cb95ee42978e607a56167313df08f74a3d3238 (mode 644) Binary files /dev/null and uploads/Main/10.jpg differ blob - /dev/null blob + 94cb95ee42978e607a56167313df08f74a3d3238 (mode 644) Binary files /dev/null and uploads/Main/10.jpg,1637005059 differ blob - /dev/null blob + 94cb95ee42978e607a56167313df08f74a3d3238 (mode 644) Binary files /dev/null and uploads/Main/10a.png differ blob - /dev/null blob + 94cb95ee42978e607a56167313df08f74a3d3238 (mode 644) Binary files /dev/null and uploads/Main/10b.png differ blob - /dev/null blob + e13dd1f5cabb285184a2ce24855eaabb9cf77033 (mode 644) Binary files /dev/null and uploads/Main/3a.jpg differ blob - /dev/null blob + e13dd1f5cabb285184a2ce24855eaabb9cf77033 (mode 644) Binary files /dev/null and uploads/Main/4.jpg differ blob - /dev/null blob + 70d78001521f385f69cd6a36dac3149da6364800 (mode 644) Binary files /dev/null and uploads/Main/5.jpg differ blob - /dev/null blob + 89ec72916caa7993f1238ee7cdbab67417037800 (mode 644) Binary files /dev/null and uploads/Main/6.jpg differ blob - /dev/null blob + 5ab86892ce47ddc830408050648efdde15dbf31e (mode 644) Binary files /dev/null and uploads/Main/Opera_Mail_screenshot.png differ blob - /dev/null blob + 60b042b88785c8747ddd6273df3c15318bd09f30 (mode 644) Binary files /dev/null and uploads/Main/kb-opera-new-account-wizard-1.png differ blob - /dev/null blob + 53ee289b730149761fb985c24176e0dcd2d97d57 (mode 644) Binary files /dev/null and uploads/Main/new-account-wiz-2.jpg differ blob - /dev/null blob + e13dd1f5cabb285184a2ce24855eaabb9cf77033 (mode 644) Binary files /dev/null and uploads/Main/new-account-wiz-3.jpg differ blob - /dev/null blob + 89ec72916caa7993f1238ee7cdbab67417037800 (mode 644) Binary files /dev/null and uploads/Main/new-account-wiz-4.jpg differ blob - /dev/null blob + 99609d69e9c08feebafcf612c8862cdf7700de70 (mode 644) Binary files /dev/null and uploads/Main/new-account-wiz.jpg differ blob - /dev/null blob + 99609d69e9c08feebafcf612c8862cdf7700de70 (mode 644) Binary files /dev/null and uploads/Main/new1.png differ blob - /dev/null blob + b6ad5e7abf3b4530a75e1bb71b31eff4102f1a3c (mode 644) Binary files /dev/null and uploads/Marketing/HerdQuit.jpg differ blob - /dev/null blob + 21f451977a90093cc6f97f956381589a38096c74 (mode 644) Binary files /dev/null and uploads/Marketing/abecabin.jpg differ blob - /dev/null blob + 846241850a1a39d4c8f3a2b083352530d8384fa1 (mode 644) Binary files /dev/null and uploads/Marketing/assembly.jpg differ blob - /dev/null blob + 0ba605287de7dd32b287a65de70f771a3cb086ab (mode 644) Binary files /dev/null and uploads/Marketing/choptree.jpg differ blob - /dev/null blob + 1f21db7ab0051ebe23c5b627cfa3ae7036aa47e9 (mode 644) Binary files /dev/null and uploads/Marketing/comeandtakeit.png differ blob - /dev/null blob + 5796216ccb04f2a25099d2cd56fccd96d8d3c6fc (mode 644) Binary files /dev/null and uploads/Marketing/congress.jpg differ blob - /dev/null blob + 55e89fb89e654cf5d0411c001669652076bb9b4c (mode 644) Binary files /dev/null and uploads/Marketing/ferriswheel.jpg differ blob - /dev/null blob + 9b1a4bbc7888bd987a18a170e4278f49aa283b6d (mode 644) Binary files /dev/null and uploads/Marketing/firstflight.jpg differ blob - /dev/null blob + 6c44137c9e2c05b12990ec6549e74c541f48c291 (mode 644) Binary files /dev/null and uploads/Marketing/fordt.jpg differ blob - /dev/null blob + 4a2b010c93f0236d879e5bceb75b045d0069a625 (mode 644) Binary files /dev/null and uploads/Marketing/freepress.png differ blob - /dev/null blob + 5c318bdb979f323f78b837aa4195495a3c1d3a02 (mode 644) Binary files /dev/null and uploads/Marketing/gazette.jpg differ blob - /dev/null blob + b6ad5e7abf3b4530a75e1bb71b31eff4102f1a3c (mode 644) Binary files /dev/null and uploads/Marketing/herdquit.jpg differ blob - /dev/null blob + 61d0805bb221e7af6971f54ec29698152f13f2e3 (mode 644) Binary files /dev/null and uploads/Marketing/iwojima.png differ blob - /dev/null blob + 94c17828e28a4fea0c8d910e94d8f808e93e3086 (mode 644) Binary files /dev/null and uploads/Marketing/jenny.jpg differ blob - /dev/null blob + 9c3a36d893c8993d595236dab6231faa9660761b (mode 644) Binary files /dev/null and uploads/Marketing/learntoread.jpg differ blob - /dev/null blob + 6473996b47942ac96fb149acd5a42877e5469f98 (mode 644) Binary files /dev/null and uploads/Marketing/libertyordeath.jpg differ blob - /dev/null blob + f56e3ee9ed7013703bd559350a59b295f1f6dea6 (mode 644) Binary files /dev/null and uploads/Marketing/lightbulb.jpg differ blob - /dev/null blob + f4041d9508e92d869a995611014853c498d6627d (mode 644) Binary files /dev/null and uploads/Marketing/livefreeordie.jpg differ blob - /dev/null blob + aa25fcd0981030cbf04b50a56ef806c8b3c406ba (mode 644) Binary files /dev/null and uploads/Marketing/logcabin.jpg differ blob - /dev/null blob + dcfed8c524699cf66f81e916ea3e25cd8688a51c (mode 644) Binary files /dev/null and uploads/Marketing/madeonirc.jpg differ blob - /dev/null blob + fdd9bc543529f4d3eb07ae02910a257442933068 (mode 644) Binary files /dev/null and uploads/Marketing/madeonirc.png differ blob - /dev/null blob + 9179b99003aabd8b4380a3c6d2e021c4ffc9b7bb (mode 644) Binary files /dev/null and uploads/Marketing/madeonirc.png,1616851992 differ blob - /dev/null blob + 426f2f31defc8af9d8b0a7a3c39c0a07be06bf9e (mode 644) Binary files /dev/null and uploads/Marketing/madeonirc.png,1616859172 differ blob - /dev/null blob + ea050aedf81e3ab526dfd25a9741f64a8b004fd6 (mode 644) Binary files /dev/null and uploads/Marketing/madeonirc128x128.png differ blob - /dev/null blob + 84a2ec3893fc074679ad3759b1d1703a4a941f5c (mode 644) Binary files /dev/null and uploads/Marketing/minutemin.png differ blob - /dev/null blob + 6c44137c9e2c05b12990ec6549e74c541f48c291 (mode 644) Binary files /dev/null and uploads/Marketing/modelt.jpg differ blob - /dev/null blob + 8270bd67bae246a0003758d8bae1a227fe6356f0 (mode 644) Binary files /dev/null and uploads/Marketing/morse.jpg differ blob - /dev/null blob + 2815b3d9ea39638d7f1a331784c85740035bac7d (mode 644) Binary files /dev/null and uploads/Marketing/nasa.jpg differ blob - /dev/null blob + d107bc8eff55beb7bc6dbf3c7e364ae5676e1f45 (mode 644) Binary files /dev/null and uploads/Marketing/oregontrail.png differ blob - /dev/null blob + f5b8b603365ec47b0318eb59677de1ad1433256d (mode 644) Binary files /dev/null and uploads/Marketing/phonograph.jpg differ blob - /dev/null blob + e0acfb94647f86a9ceae41af89c269fda876b5a0 (mode 644) Binary files /dev/null and uploads/Marketing/ponyexpress.jpg differ blob - /dev/null blob + 5943dab250a3fd92cffbeae5bc43d414f90ba22b (mode 644) Binary files /dev/null and uploads/Marketing/popcorn.jpg differ blob - /dev/null blob + dc900bbeca9ea47294d981aaaab9d8fb4523472e (mode 644) Binary files /dev/null and uploads/Marketing/press.png differ blob - /dev/null blob + 2451b8e560b2f97fdfa66e17c804173cd75cab82 (mode 644) Binary files /dev/null and uploads/Marketing/rosie.png differ blob - /dev/null blob + 5c7cbfdeadb1670986a768741af407763eb87227 (mode 644) Binary files /dev/null and uploads/Marketing/rosie.png,1612448884 differ blob - /dev/null blob + eb11117a291f0692ecf2f6cbe877a86820cf0a09 (mode 644) Binary files /dev/null and uploads/Marketing/sacagawea.jpg differ blob - /dev/null blob + eb11117a291f0692ecf2f6cbe877a86820cf0a09 (mode 644) Binary files /dev/null and uploads/Marketing/sacagawea.png differ blob - /dev/null blob + 9fce3ada56a31e42f1708c75e9748c8d1a043f59 (mode 644) Binary files /dev/null and uploads/Marketing/thanksgiving.jpg differ blob - /dev/null blob + 28e0cb993bac5b2e1dccea85a776240756e5b5b5 (mode 644) Binary files /dev/null and uploads/Marketing/tread.jpg differ blob - /dev/null blob + 28e0cb993bac5b2e1dccea85a776240756e5b5b5 (mode 644) Binary files /dev/null and uploads/Marketing/tread.png differ blob - /dev/null blob + 30663a83483c8b34a338d17f420166bf4ede7d16 (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.jpg differ blob - /dev/null blob + 30663a83483c8b34a338d17f420166bf4ede7d16 (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.jpg,1613910514 differ blob - /dev/null blob + 2b1215012f1e779a4d1a9479c5df9f55ea6d4e0b (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.jpg,1613910641 differ blob - /dev/null blob + 2b1215012f1e779a4d1a9479c5df9f55ea6d4e0b (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.png differ blob - /dev/null blob + 8e80955f5192a1dddb182b0399fc7500b2b7ba4d (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.png,1612505074 differ blob - /dev/null blob + 30663a83483c8b34a338d17f420166bf4ede7d16 (mode 644) Binary files /dev/null and uploads/Marketing/unclesam.png,1613910487 differ blob - /dev/null blob + 12cbde57e22a1646b0a9a5f464dce46da4024319 (mode 644) Binary files /dev/null and uploads/Marketing/unionpacific.jpg differ blob - /dev/null blob + 3aa2122b45c826a3a872eca1ec2411a6253cbac5 (mode 644) Binary files /dev/null and uploads/Marketing/unitedweserve.jpg differ blob - /dev/null blob + 51b6e94d0b9ac174df680dcdf0f5e78deb768518 (mode 644) Binary files /dev/null and uploads/Marketing/unitedwestand.png differ blob - /dev/null blob + d61ffeb6adb2e72727786c276cbb8c29ea379ed4 (mode 644) Binary files /dev/null and uploads/Marketing/wanted.jpg differ blob - /dev/null blob + 6684276dea286e122d85ff491fa1dd40793645da (mode 644) Binary files /dev/null and uploads/Marketing/wetheusers.png differ blob - /dev/null blob + b2eda78147ec21c17d82df4ecff3f0bca84ce5e3 (mode 644) Binary files /dev/null and uploads/Marketing/willamette.png differ blob - /dev/null blob + 58570e9eeb859fc93055bf7b817079fac6ccf05f (mode 644) Binary files /dev/null and uploads/Mcabber/mcabber.png differ blob - /dev/null blob + 64bfea9f3ff51aa011ad0509c57a9ed77147f264 (mode 644) Binary files /dev/null and uploads/Mcabber/mcabber.png,1637934473 differ blob - /dev/null blob + da965578020a602af0ef431d8e08df9bb85637bd (mode 644) Binary files /dev/null and uploads/Monal/monal-allownotifications.png differ blob - /dev/null blob + 2155d82e9ceafb0ee51f1dfb395076d8428927cb (mode 644) Binary files /dev/null and uploads/Monal/monal-appstore.png differ blob - /dev/null blob + 42cb40be12918cd53cd6ff111b2589e2d2d117e9 (mode 644) Binary files /dev/null and uploads/Monal/monal-chats.png differ blob - /dev/null blob + 95561af02f613b0a8050017e58a20678364bc819 (mode 644) Binary files /dev/null and uploads/Monal/monal-contacts.png differ blob - /dev/null blob + b5a0f59ad3f5b20e1ff0fb84b93d0cc90fc62773 (mode 644) Binary files /dev/null and uploads/Monal/monal-login.png differ blob - /dev/null blob + cc1ac0954f7c147fef0d2ad8d363b29475e37894 (mode 644) Binary files /dev/null and uploads/Monal/monal-settings.png differ blob - /dev/null blob + 4fb8d420d25d526a6288b9c148871d39fd87084f (mode 644) Binary files /dev/null and uploads/Monal/monal-welcome.png differ blob - /dev/null blob + 308b12f2b9fe77a0624b4f255a4751639a43c495 (mode 644) Binary files /dev/null and uploads/Openbsd/bsdrd-1.png differ blob - /dev/null blob + 7b49bfc6a8d3cbee4f0ca6b1e307906e8a4f1995 (mode 644) Binary files /dev/null and uploads/Openbsd/config.php.zip differ blob - /dev/null blob + 602ad9df755c15a53d3de8294c0646701b0f9198 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-01.png differ blob - /dev/null blob + 4ee655efb674f2ccf29d6d564f04beb7caecd90b (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-02.png differ blob - /dev/null blob + 9b445ddd4c5ba910aac72b9aef2a2921469d5203 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-03.png differ blob - /dev/null blob + 8d683723b4468da5004ed75e5b9f9b1608b641b3 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-04.png differ blob - /dev/null blob + 8d683723b4468da5004ed75e5b9f9b1608b641b3 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-04.png,1607077269 differ blob - /dev/null blob + 6a95b247b30af6c19804445335f576b3d9f961b8 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-05.png differ blob - /dev/null blob + 4a2f28494ef4eb26fcfd72294c9404a3192c629a (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-06.png differ blob - /dev/null blob + 8b46a134dd1d204dfa2da3b7e55cfd230787cf9f (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-07.png differ blob - /dev/null blob + 897693787941d77ac30cf105f9ce52631c6cee03 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-08.png differ blob - /dev/null blob + 4ff12875abe7e32ec0aa87dbd26beb3ba6d7778b (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-09.png differ blob - /dev/null blob + 4ff12875abe7e32ec0aa87dbd26beb3ba6d7778b (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-09.png,1607079978 differ blob - /dev/null blob + f0ca5ec509cf2915ee2a6f76d5b948d692674832 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-10.png differ blob - /dev/null blob + 84ba401509ab56fe06a704b6cecf8c54c9c899be (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-11.png differ blob - /dev/null blob + 1b431091b79ca9f806461bbdb5908c3ba514a378 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-12.png differ blob - /dev/null blob + 81efb16f7ea92cc4573351f364c1e88b400b2777 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-13.png differ blob - /dev/null blob + ae0eebfcc931bf4e935a90ef94b36784a07eaf42 (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-13b.png differ blob - /dev/null blob + 2a68106032a5021854890393e4cfa195246e32ac (mode 644) Binary files /dev/null and uploads/Openbsd/install-panel-14.png differ blob - /dev/null blob + 37473af0a7cfffb32225bcb108c7fbebf31704fd (mode 644) Binary files /dev/null and uploads/Openbsd/install67-1.png differ blob - /dev/null blob + 91f56db13436ec6af18680568470a6d05128fd58 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-1.png,1607088029 differ blob - /dev/null blob + b3472720e3e701650d0ec496f2b61e2dac811fc4 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-1.png,1607088195 differ blob - /dev/null blob + 91f56db13436ec6af18680568470a6d05128fd58 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-1.png,1607096208 differ blob - /dev/null blob + cdab67820d74813b98f73d4bac3493a6b8a25f6d (mode 644) Binary files /dev/null and uploads/Openbsd/install67-2.png differ blob - /dev/null blob + 91f56db13436ec6af18680568470a6d05128fd58 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-2.png,1607096319 differ blob - /dev/null blob + 24cf9ed1e07712cea06f0b6bf9f3163e22340382 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-3.png differ blob - /dev/null blob + b94c679e80ff1716e2dc4b64e69731eed6f88866 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-4.png differ blob - /dev/null blob + 956b5f6d69296dd4e8efb9a47530779362dfbd0d (mode 644) Binary files /dev/null and uploads/Openbsd/install67-4.png,1607093672 differ blob - /dev/null blob + 726154c8030abd30c5817c0d8861bcb58e812342 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-5.png differ blob - /dev/null blob + e8b0a21d512447fe2c98c46c66ba20e1455873f2 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-5.png,1607090579 differ blob - /dev/null blob + f85be3d024f37fa714e1d31d38a591d57b7bfa9a (mode 644) Binary files /dev/null and uploads/Openbsd/install67-6.png differ blob - /dev/null blob + c1e8566da456b92317bd7c721c44c3c343bf0fda (mode 644) Binary files /dev/null and uploads/Openbsd/install67-6b.png differ blob - /dev/null blob + d6637dc41f95a0fcda7539f3535de8fb74bb29c2 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-6c.png differ blob - /dev/null blob + 6dc1963a42e09b5b692f2c45241ef35a99c0e9ff (mode 644) Binary files /dev/null and uploads/Openbsd/install67-6d.png differ blob - /dev/null blob + 2d996a6b4e463e3bbd807aa9102246fb4ecf27e7 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-6e.png differ blob - /dev/null blob + 8e23f712847714279438f355de4f94d6468095d7 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-7.png differ blob - /dev/null blob + 75fa10112531f9b5640b4c63c17cfe41215a3d18 (mode 644) Binary files /dev/null and uploads/Openbsd/install67-8.png differ blob - /dev/null blob + 3a6578d8db9e006309c56dfdc9ea5b7c99d6e15d (mode 644) Binary files /dev/null and uploads/Openbsd/install68-1.png differ blob - /dev/null blob + 308b12f2b9fe77a0624b4f255a4751639a43c495 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-1.png,1607251858 differ blob - /dev/null blob + 3a6578d8db9e006309c56dfdc9ea5b7c99d6e15d (mode 644) Binary files /dev/null and uploads/Openbsd/install68-1.png,1607251928 differ blob - /dev/null blob + 9e609a5426bac6bc72e2f8b380b72ec4c474d737 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-10.png differ blob - /dev/null blob + c1e8566da456b92317bd7c721c44c3c343bf0fda (mode 644) Binary files /dev/null and uploads/Openbsd/install68-11.png differ blob - /dev/null blob + d6637dc41f95a0fcda7539f3535de8fb74bb29c2 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-12.png differ blob - /dev/null blob + d932244e18f147faeb8dd074afc5cb0a9ced6481 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-13.png differ blob - /dev/null blob + f639741e48eab303c14883608f811a262d65ea50 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-14.png differ blob - /dev/null blob + aa560f0d442962820dc71c700e1c50c621740231 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-15.png differ blob - /dev/null blob + b5b0d2d1134122afcbe7b13a504f1065de070b76 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-15.png,1607254387 differ blob - /dev/null blob + aa560f0d442962820dc71c700e1c50c621740231 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-16.png differ blob - /dev/null blob + 41ea207a8f8c41460f1cb8eec853d0d5e0ef701f (mode 644) Binary files /dev/null and uploads/Openbsd/install68-2.png differ blob - /dev/null blob + a83e7a047520e7643d23d4e71f4921b89521e9b9 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-3.png differ blob - /dev/null blob + b6895be05a6993b32c324813c9b6cb552323bcef (mode 644) Binary files /dev/null and uploads/Openbsd/install68-4.png differ blob - /dev/null blob + 4f42464218063736284862bb71c142f05ecc84a7 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-5.png differ blob - /dev/null blob + ea965e84a9ebc7d91ba698790e76a3e0555cef66 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-6.png differ blob - /dev/null blob + 85a90df8e416f915b4615d5a8468a212df3209e4 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-7.png differ blob - /dev/null blob + c66762a310921430e87c4364bf64653d7b7b70b5 (mode 644) Binary files /dev/null and uploads/Openbsd/install68-8.png differ blob - /dev/null blob + 702ca4f1f68043f53231c7a4da2cba8f3ad8d91e (mode 644) Binary files /dev/null and uploads/Openbsd/install68-9.png differ blob - /dev/null blob + 14a5634c7f059d2e99b7dd28df4b2057dbef4d78 (mode 644) Binary files /dev/null and uploads/Openbsd/slrn1.png differ blob - /dev/null blob + aeb85e0abdf757907c2e0755627a845bf6dc5c89 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-1.png differ blob - /dev/null blob + 22cd4d35ce0cc8294fa2acf5972c8226f4234dcb (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-1.png,1607740300 differ blob - /dev/null blob + aeb85e0abdf757907c2e0755627a845bf6dc5c89 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-2.png differ blob - /dev/null blob + 34273e2b99caf7e0672580fda645f80c3075c458 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-2a.png differ blob - /dev/null blob + ad8ee613a27f611902dc2b5163927a8f25341535 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-2b.png differ blob - /dev/null blob + 6afef133af52b025dfd5734fb2f0b6f99b351d8a (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-3.png differ blob - /dev/null blob + f942a0896cd2868d8c13704684c1c529dd3844fc (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-3.png,1607690730 differ blob - /dev/null blob + 8da0dc501cab56ef1539fb1ad02a0315f341cd0c (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-4.png differ blob - /dev/null blob + 144e1c34b9ebd6481c21358c0a2cc163efb096eb (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-5.png differ blob - /dev/null blob + 18a6e7e7e43b563e6841165ff005548ba3ce0035 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-6.png differ blob - /dev/null blob + 1ad98e272953ab53353cfa9d512273d904853ec0 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-7.png differ blob - /dev/null blob + 3d64f6c5335266c9729efd27ef9325d5b7841ab3 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade67-8.png differ blob - /dev/null blob + 671eabcf377e45bf313e33add297d6c5f60deafa (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-1.png differ blob - /dev/null blob + 3a6578d8db9e006309c56dfdc9ea5b7c99d6e15d (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-1.png,1607790323 differ blob - /dev/null blob + 0bbfd5ea6b4396a9c5b82cfe8377da7b906dc66f (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-2.png differ blob - /dev/null blob + 75b9bbe4ca88fcdf524ec644d4d5bafef27e1413 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-2.png,1607790354 differ blob - /dev/null blob + 257e076c7b94178e7a1c0fc74d7997baf9c07777 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-2.png,1607790371 differ blob - /dev/null blob + e3f9fc7c88a736a0851ae2e4c9bbb21c84df606c (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-2b.png differ blob - /dev/null blob + 02f240ce16211fb3e165a51576d9350dfccca82e (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-3.png differ blob - /dev/null blob + 10750576d6a9b9129e168a70f5c15fefa967c6d5 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-3.png,1607790388 differ blob - /dev/null blob + dd41e79ac4309f546f8ed659b121fdb1cd10bb98 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-3b.png differ blob - /dev/null blob + f2a32f73992e5e19d683638d4811003be7f3e994 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-4.png differ blob - /dev/null blob + 3b1e57ef19df5fd092aafbf6d99693fe835313e9 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-4.png,1607790726 differ blob - /dev/null blob + 8ed01aca0fe42ff25e4f23551b4552ce9dd0bd0d (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-4.png,1607790797 differ blob - /dev/null blob + f6291f8d146358647bb11d973070edb4dcbd3722 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-5.png differ blob - /dev/null blob + 311911662d204b5bc1b72f91201196ea5fceacc8 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-5.png,1607790826 differ blob - /dev/null blob + 972da6c0b09725183f42602123af4c3432f49737 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-6.png differ blob - /dev/null blob + 0f8b8063a0c50969b3287175d8290ca1494354d0 (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-6.png,1607857683 differ blob - /dev/null blob + 1defefb7f9544b7b65631363d91a9bd72406034a (mode 644) Binary files /dev/null and uploads/Openbsd/upgrade68-7.png differ blob - /dev/null blob + 91d49a6ab35d17943e9b8704cd05d46fa1ac9404 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-1.png differ blob - /dev/null blob + b9800afc444fb8ad166a839c62f6e2c28e4dea8e (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-1.png,1607332274 differ blob - /dev/null blob + 145461b90965276ecd5080cf7273d70e624d0bac (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-2.png differ blob - /dev/null blob + 7af0b0bcb0c21fb72dfa00f6dff4007abe201026 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-2.png,1607333279 differ blob - /dev/null blob + 145461b90965276ecd5080cf7273d70e624d0bac (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-2.png,1607333524 differ blob - /dev/null blob + 7af0b0bcb0c21fb72dfa00f6dff4007abe201026 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-2.png,1607333636 differ blob - /dev/null blob + 7af0b0bcb0c21fb72dfa00f6dff4007abe201026 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-3.png differ blob - /dev/null blob + fb370824fe630e522550ee4c5d3aa29fe57417a6 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-3.png,1607333651 differ blob - /dev/null blob + e8ad86845957fc8c39b8492d13f3f306fb136247 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-4.png differ blob - /dev/null blob + f1192c4a16bcf55544219dae124934b57e987c34 (mode 644) Binary files /dev/null and uploads/Openbsd/vmminstall-5.png differ blob - /dev/null blob + d9f86c0474ab1527b0486070c1689e8ed2d00ddf (mode 644) Binary files /dev/null and uploads/Openbsd/znc.png differ blob - /dev/null blob + d9f86c0474ab1527b0486070c1689e8ed2d00ddf (mode 644) Binary files /dev/null and uploads/Openbsd/znc1.png differ blob - /dev/null blob + 83e2089e3805629b40b7ec3934bdd1bf565bd683 (mode 644) Binary files /dev/null and uploads/Openbsd/znc2.png differ blob - /dev/null blob + 5e418f79f4246616211d567a56981f71e598cafe (mode 644) Binary files /dev/null and uploads/Openbsd/znc3.png differ blob - /dev/null blob + eb3278194f7a351b59060b4688f84e7096155dee (mode 644) Binary files /dev/null and uploads/Openbsd/znc3.png,1611547081 differ blob - /dev/null blob + a3cae9a58795781c55cf347ada225cba586eaf3f (mode 644) Binary files /dev/null and uploads/Openbsd/znc4.png differ blob - /dev/null blob + 0a85b497b899bd8ece733f5320714ed6d611839e (mode 644) Binary files /dev/null and uploads/Openbsd/znc4.png,1611547397 differ blob - /dev/null blob + 938f67cd9a2e069abe75d914f3bdf32d04fed154 (mode 644) Binary files /dev/null and uploads/Openbsd/znc5.png differ blob - /dev/null blob + 7efb308f659c1aa15f3fafb615cfc54ac2b0bf91 (mode 644) Binary files /dev/null and uploads/Openbsd/znc6.png differ blob - /dev/null blob + 6a0ee1df1ef04c5123891f128ac861d5eb209505 (mode 644) Binary files /dev/null and uploads/Openhttpd/ssl-cert.png differ blob - /dev/null blob + 60b042b88785c8747ddd6273df3c15318bd09f30 (mode 644) Binary files /dev/null and uploads/Opera/1.jpg differ blob - /dev/null blob + e357e438d0b4359748d0ff4d6b3d06a33330f58e (mode 644) Binary files /dev/null and uploads/Opera/10.png differ blob - /dev/null blob + 94cb95ee42978e607a56167313df08f74a3d3238 (mode 644) Binary files /dev/null and uploads/Opera/10b.png differ blob - /dev/null blob + b6b7e6c538858119033ea90ae794c67b0fc6edf5 (mode 644) Binary files /dev/null and uploads/Opera/12.png differ blob - /dev/null blob + 89ec72916caa7993f1238ee7cdbab67417037800 (mode 644) Binary files /dev/null and uploads/Opera/2.jpg differ blob - /dev/null blob + 53ee289b730149761fb985c24176e0dcd2d97d57 (mode 644) Binary files /dev/null and uploads/Opera/3a.jpg differ blob - /dev/null blob + e13dd1f5cabb285184a2ce24855eaabb9cf77033 (mode 644) Binary files /dev/null and uploads/Opera/4a.jpg differ blob - /dev/null blob + 89ec72916caa7993f1238ee7cdbab67417037800 (mode 644) Binary files /dev/null and uploads/Opera/6.jpg differ blob - /dev/null blob + 89ec72916caa7993f1238ee7cdbab67417037800 (mode 644) Binary files /dev/null and uploads/Opera/6a.jpg differ blob - /dev/null blob + 70d78001521f385f69cd6a36dac3149da6364800 (mode 644) Binary files /dev/null and uploads/Opera/7.jpg differ blob - /dev/null blob + 4c73696d4576eca1fbd80a0b9cad4503d755665b (mode 644) Binary files /dev/null and uploads/Opera/8.jpg differ blob - /dev/null blob + e357e438d0b4359748d0ff4d6b3d06a33330f58e (mode 644) Binary files /dev/null and uploads/Opera/9.jpg differ blob - /dev/null blob + f0f70b99a175fe193af5f64e22280a4232bd2321 (mode 644) Binary files /dev/null and uploads/Opera/o3.jpg differ blob - /dev/null blob + 6325cfe86ec3d07990f6642222290a35b2904c70 (mode 644) Binary files /dev/null and uploads/Opera/operamail-setup1.jpg differ blob - /dev/null blob + 6325cfe86ec3d07990f6642222290a35b2904c70 (mode 644) Binary files /dev/null and uploads/Opera/opmain differ blob - /dev/null blob + a751e36ca6141a707f3c4a36f4ae4465453820ef (mode 644) Binary files /dev/null and uploads/Outlook/outlook01.jpg differ blob - /dev/null blob + 0a8314ae8850ef318b24bd22430eab171095f245 (mode 644) Binary files /dev/null and uploads/Outlook/outlook02.jpg differ blob - /dev/null blob + 683db50d91c1590834dc57a4a8256e1549201b14 (mode 644) Binary files /dev/null and uploads/Outlook/outlook03.jpg differ blob - /dev/null blob + 3e13491c340bb8c739d1d56a6d85dd086c0e48b3 (mode 644) Binary files /dev/null and uploads/PSFTP/PSFTP01.png differ blob - /dev/null blob + 8c87a2ec96800187c49b7def6edb66960094b4b0 (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-accounts.png differ blob - /dev/null blob + cc6fbb10ba30d2ec0bee329deb3db4542e8a68ad (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-createaccount.png differ blob - /dev/null blob + fd29f2648e882670d49a8e964aa606bc400f5e76 (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-modifyaccount.png differ blob - /dev/null blob + d4a0663762b6d4d57eb7034b65cdce4875cf69bb (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-registrationsuccessful.png differ blob - /dev/null blob + 453fae13bb027925559b7dd80238d8db3f076579 (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-registrationsuccessful.png,1637141593 differ blob - /dev/null blob + f98136079c23ffd533c9b212d6c1dbda8db854e9 (mode 644) Binary files /dev/null and uploads/Pidgin/pidgin-welcome.png differ blob - /dev/null blob + e906426e7fac1cf735907e181d1ecfc6d9e71d10 (mode 644) Binary files /dev/null and uploads/PowerShell/win10-ssh2.png differ blob - /dev/null blob + 59ca9f3861416d047853170c4bb7cd6315aaf13a (mode 644) Binary files /dev/null and uploads/Psi/psi-accountsetup.png differ blob - /dev/null blob + cc4042e19ef9bb49c0aab4619266670ee193784f (mode 644) Binary files /dev/null and uploads/Psi/psi-chooseusername.png differ blob - /dev/null blob + 84063a15bd98bfbb5bef4781703362771b7e68cf (mode 644) Binary files /dev/null and uploads/Psi/psi-contacts.png differ blob - /dev/null blob + d409953d0d1f602bec391b2eef8ccbce77c3b544 (mode 644) Binary files /dev/null and uploads/Psi/psi-registeraccount.png differ blob - /dev/null blob + 9fc21d0dbfe709b303522676979a1571b48123d6 (mode 644) Binary files /dev/null and uploads/Psi/psi-success.png differ blob - /dev/null blob + d409953d0d1f602bec391b2eef8ccbce77c3b544 (mode 644) Binary files /dev/null and uploads/Psi/psi-success.png,1637162572 differ blob - /dev/null blob + 5477bf0831a851884ff7539c727aa66e8632bc3f (mode 644) Binary files /dev/null and uploads/PuTTY/putty-authorized.png differ blob - /dev/null blob + fd2853ab51554165542dffa0652f698ed42bc662 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-config.png differ blob - /dev/null blob + 5477bf0831a851884ff7539c727aa66e8632bc3f (mode 644) Binary files /dev/null and uploads/PuTTY/putty-copyauthorized.png differ blob - /dev/null blob + 85bd8a46ae37e0c8cd4953391576b0b595047355 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-editauthorized.png differ blob - /dev/null blob + 1afd1224b4afff71818bdd4ea614f0301d7cc834 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-fpr.png differ blob - /dev/null blob + 53912bd8566ead452a5d9f6c789162f5f970d7c9 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-keyboard.png differ blob - /dev/null blob + 85bd8a46ae37e0c8cd4953391576b0b595047355 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-keylogin.png differ blob - /dev/null blob + b7e8a1b7d65b180de7dd955254c2bf04e271e197 (mode 644) Binary files /dev/null and uploads/PuTTY/putty-keypassphrase.png differ blob - /dev/null blob + 2dd70bfc25c6b684e1b0b5777a27de70c063aa4b (mode 644) Binary files /dev/null and uploads/PuTTY/putty-login.png differ blob - /dev/null blob + 7a2c0b7e6d2cfffd53000107c733e0e38cd85e67 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen-ed25519.png differ blob - /dev/null blob + 137729823b7e0b86cd642f871fd52c2dd376b3eb (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen-exportssh.png differ blob - /dev/null blob + 6935bad4ebad871bac0baefe7873af2bff1e1a80 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen-random.png differ blob - /dev/null blob + 40693d6646e3fb33c4a5d0c083af4e572ce1e276 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen.gif differ blob - /dev/null blob + 5469006ee2dc6a5bc6a8d53706b36abcb4bd2a7b (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen01.png differ blob - /dev/null blob + 3cc028095f76273b4e19b608736bacc52de22f3b (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen1.mp4 differ blob - /dev/null blob + f30be04af30cbb47a3104df12f40ad1f2d20d7e4 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen2.mp4 differ blob - /dev/null blob + 6fb4a6e807ad0f01f3b49925bd5cc41ecf96ca70 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen3.mp4 differ blob - /dev/null blob + 21b5a342f7155bbbf8577a8d4906e795a9cdbf02 (mode 644) Binary files /dev/null and uploads/PuTTY/puttygen4.mp4 differ blob - /dev/null blob + ca1d40c6b13114c16a235dabc073198031ea3d59 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-account.png differ blob - /dev/null blob + ca1d40c6b13114c16a235dabc073198031ea3d59 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-account.png,1630151934 differ blob - /dev/null blob + 6440c013fc238ffc1f59dd5c7d31be48a4efbb48 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-id.png differ blob - /dev/null blob + f0a293172c8134b0578f5f1ac8edf2de68c56395 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-IMAP-TLS.png differ blob - /dev/null blob + f0a293172c8134b0578f5f1ac8edf2de68c56395 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-IMAP-TLS.png,1630151977 differ blob - /dev/null blob + 737a43aae2ae660eda6aa4787fac8f5e8fe36eac (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-IMAP.png differ blob - /dev/null blob + 737a43aae2ae660eda6aa4787fac8f5e8fe36eac (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-IMAP.png,1630151968 differ blob - /dev/null blob + 64a2506f518e79446b2965205ceaa83a19c97f88 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-SMTP-TLS.png differ blob - /dev/null blob + 64a2506f518e79446b2965205ceaa83a19c97f88 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-SMTP-TLS.png,1630151997 differ blob - /dev/null blob + f4ea6e596b7a8d93e89610a7b657ee26370c8d13 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-SMTP-TLS2.png differ blob - /dev/null blob + 76a94b64cf79038811440e2d2a6205a4206d47d5 (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-SMTP.png differ blob - /dev/null blob + 0df4435f6b29b2e9e86effe5914e66979eb60cba (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-server-TLS.png differ blob - /dev/null blob + f5887f41eb6eae90dbdb38d2ebf675b73ff5f19c (mode 644) Binary files /dev/null and uploads/Seamonkey/SeaMonkey-welcome.png differ blob - /dev/null blob + 9285924233363a6186d147ef62b72ab137e52fe4 (mode 644) Binary files /dev/null and uploads/Shell/libertybell.png differ blob - /dev/null blob + e6f6c203c4fb2c9e92214b0d15f161a1f8ea29f2 (mode 644) Binary files /dev/null and uploads/Shell/macterm1.png differ blob - /dev/null blob + 0bb4fad24e6424e6e34c2d77739c9fc1a909de1c (mode 644) Binary files /dev/null and uploads/Shell/macterm2.png differ blob - /dev/null blob + 74c85bfa2d1ad27a0465b590d92705a525b4d1d8 (mode 644) Binary files /dev/null and uploads/Shell/macterm3.png differ blob - /dev/null blob + 7eb9de47ad773f55537b169262af051e604103a1 (mode 644) Binary files /dev/null and uploads/Shell/macterm4.png differ blob - /dev/null blob + e2970bfd3bd2cb67dfd4bd21873992c9d35108b9 (mode 644) Binary files /dev/null and uploads/Shell/macterm5.png differ blob - /dev/null blob + fd2853ab51554165542dffa0652f698ed42bc662 (mode 644) Binary files /dev/null and uploads/Shell/putty-config.png differ blob - /dev/null blob + 30bfe61ceb051b45f8cbd0ca61d2ecdbf55ae8e6 (mode 644) Binary files /dev/null and uploads/Shell/putty-config.png,1613919893 differ blob - /dev/null blob + 1afd1224b4afff71818bdd4ea614f0301d7cc834 (mode 644) Binary files /dev/null and uploads/Shell/putty-fpr.png differ blob - /dev/null blob + f213feafe5e983efbc4c9ee8153d5a518e52e6b1 (mode 644) Binary files /dev/null and uploads/Shell/putty-fpr.png,1613832054 differ blob - /dev/null blob + 2dd70bfc25c6b684e1b0b5777a27de70c063aa4b (mode 644) Binary files /dev/null and uploads/Shell/putty-login.png differ blob - /dev/null blob + b2074ad9646f5df3a0cb8e8481005d99cfe1bffc (mode 644) Binary files /dev/null and uploads/Shell/putty-login.png,1613919940 differ blob - /dev/null blob + d1f2885a3262198b3fd66093c25790042082c744 (mode 644) Binary files /dev/null and uploads/Shell/putty-pass.png differ blob - /dev/null blob + 1afd1224b4afff71818bdd4ea614f0301d7cc834 (mode 644) Binary files /dev/null and uploads/Shell/putty09.png differ blob - /dev/null blob + 8401b80f3d027a2e23e14726a3499015761cda72 (mode 644) Binary files /dev/null and uploads/Shell/win10-ssh.png differ blob - /dev/null blob + e906426e7fac1cf735907e181d1ecfc6d9e71d10 (mode 644) Binary files /dev/null and uploads/Shell/win10-ssh2.png differ blob - /dev/null blob + 231d5a712ded4a11e947cca6a233ce12b756e5f4 (mode 644) Binary files /dev/null and uploads/Siskin/siskin-appstore.png differ blob - /dev/null blob + c2feb973cb856ac017831090630c2e51c515f67a (mode 644) Binary files /dev/null and uploads/Siskin/siskin-chats.png differ blob - /dev/null blob + 8c3f669b470f4d2166b2d4e91cc5cd143b0e6f5f (mode 644) Binary files /dev/null and uploads/Siskin/siskin-home.png differ blob - /dev/null blob + b0c6c7c4210603c1515207bef2e1a057af4abd2d (mode 644) Binary files /dev/null and uploads/Siskin/siskin-preferreddomain.png differ blob - /dev/null blob + 42648a8d935b0227e3669c0f9a1bcdda16e03a8f (mode 644) Binary files /dev/null and uploads/Siskin/siskin-pushnotifications.png differ blob - /dev/null blob + 516f1150cc2cb1ecd614bb5256982b27d91239a6 (mode 644) Binary files /dev/null and uploads/Siskin/siskin-sendnotifications.png differ blob - /dev/null blob + 3391ed2e5f9b57dff25914332e8c457c37e2bd96 (mode 644) Binary files /dev/null and uploads/Siskin/siskin-usernamepassword.png differ blob - /dev/null blob + a0fc935662f3896fa36026d06dc2573d19dd3c98 (mode 644) Binary files /dev/null and uploads/Squirrelmail/Squirrelmail-account-login differ blob - /dev/null blob + a0fc935662f3896fa36026d06dc2573d19dd3c98 (mode 644) Binary files /dev/null and uploads/Squirrelmail/Squirrelmail-account-login.png differ blob - /dev/null blob + e7084982d5f5e7bd8c18be047bca25d406b9b45c (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-allow.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + fe70233fa378fad531af88bd504cacb15b9e0968 (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-contacts.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 5a208214f3b7bfff3d4c60c5b4943643e905ff08 (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-createnewaccount.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + f66e9291b9a6357fd72560631068c5a7c5ba71cc (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-fdroid.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 385f66468b62bc37928b14ab49a515f8131ca76b (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-home.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + e5fb1dae6c5f470b63a773e7963bc48d8fc2dcf9 (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-install.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + e330ae51484a823490cc246955822b2eb0221f59 (mode 644) Binary files /dev/null and uploads/StorkIM/storkim-usernamepassword.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + c1457016eab9c8cc62749150f217219b3277ae36 (mode 644) Binary files /dev/null and uploads/Sylpheed/Sylpheed-account-done.png differ blob - /dev/null blob + 75368e58c85c4bc0a26a66f527532a90ca159262 (mode 644) Binary files /dev/null and uploads/Sylpheed/Sylpheed-account-name.png differ blob - /dev/null blob + 092c9f1c5875f9e4fb157e9cfbe68e7b4276fb9c (mode 644) Binary files /dev/null and uploads/Sylpheed/Sylpheed-account-password.png differ blob - /dev/null blob + ab481a25cbff995263422df7f6b3702d9346e3af (mode 644) Binary files /dev/null and uploads/Sylpheed/Sylpheed-account-server.png differ blob - /dev/null blob + 9a5b244bb49d25dc565ee7bcb079abae5ca9e9d8 (mode 644) Binary files /dev/null and uploads/Sylpheed/Sylpheed-account-type.png differ blob - /dev/null blob + 87685a81a85532fcb055e84b8d9d98c7f20e5cbc (mode 644) Binary files /dev/null and uploads/Termius/termius-address-port.png differ blob - /dev/null blob + 94c0d533b8bf314c7aedaa1676ab254d0961d5a8 (mode 644) Binary files /dev/null and uploads/Termius/termius-host-verify-fingerprints.png differ blob - /dev/null blob + d072a69d295f12f29322051b353e182e405ce5ae (mode 644) Binary files /dev/null and uploads/Termius/termius-password.png differ blob - /dev/null blob + 73b9dad90a3fd4095d3de05b57873b4afb99428a (mode 644) Binary files /dev/null and uploads/Termius/termius-quick-guide.png differ blob - /dev/null blob + 6629463991a005c8704bdd07945da140a2688aba (mode 644) Binary files /dev/null and uploads/Termius/termius-save-and-connect.png differ blob - /dev/null blob + 4c97519c1b096653e0076ae509ffad64304cf938 (mode 644) Binary files /dev/null and uploads/Termius/termius-trial.png differ blob - /dev/null blob + ce3be791a5c74ee785d1ca56bc878dd096d3ae89 (mode 644) Binary files /dev/null and uploads/Termius/termius-username.png differ blob - /dev/null blob + 05855f98a296a0ddcb2181f04635708902b5a07f (mode 644) Binary files /dev/null and uploads/Termius/termius-welcome-wizard.png differ blob - /dev/null blob + cf876074b1add29a51da3925a00873a551ed0d55 (mode 644) Binary files /dev/null and uploads/Termius/termius-wizard.png differ blob - /dev/null blob + b27b644639617ed98dae0c5997b0f95ba12bc276 (mode 644) Binary files /dev/null and uploads/Termux/termux-logged-in.png differ blob - /dev/null blob + 98f5ead971f25d5b5d3e64a27adde070514a9572 (mode 644) Binary files /dev/null and uploads/Termux/termux-new.png differ blob - /dev/null blob + d2edc4f98a81c8fc420a107b4734278e6760b9af (mode 644) Binary files /dev/null and uploads/Termux/termux-password.png differ blob - /dev/null blob + 21340735d3800ee240f369b735c70b30197650fb (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-01.png differ blob - /dev/null blob + ae9240f16e934201bdcea1a1cff6dc01db01533c (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-02.png differ blob - /dev/null blob + 8b7bbcfeddf2cd390f50405031ba582ffda309ed (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-03.png differ blob - /dev/null blob + 1ee12cb7a38f7a5657211b5b1b135984c17169b5 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-04.png differ blob - /dev/null blob + 4478d46e9332886ae02470409b9ca7dd24522058 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-04.png,1613746129 differ blob - /dev/null blob + 4478d46e9332886ae02470409b9ca7dd24522058 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-05.png differ blob - /dev/null blob + ad7f45242961796e46490426ed46eb4a465db837 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-06.png differ blob - /dev/null blob + be88c7e51abbe657a91498c72423f82fc3a3e297 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-06b.png differ blob - /dev/null blob + 9fc5100d73da715624e7ee557ad22f3d9983f54c (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-07.png differ blob - /dev/null blob + 2cf9eddda7b32204efd547bd47867e7c17d19a10 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-08.png differ blob - /dev/null blob + 06d9effc086d4232ca7ec103373e6c2e6cfe191f (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-09.png differ blob - /dev/null blob + 56085002bf4932d59c25d9784fc009169d770297 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-10.png differ blob - /dev/null blob + 530f54075a77883629a67f5a48874665eb86f614 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-11.png differ blob - /dev/null blob + 71ae4643c026ffa048670f46db94e726de806027 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-12.png differ blob - /dev/null blob + 775173d0f1a0f477b0970f15d5b435b59afbc1c8 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-13.png differ blob - /dev/null blob + 8d9e8d6842e5c58b3b0e85157948d519e2734852 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird-pgp-14.png differ blob - /dev/null blob + ae97a7497dfb4deaa33691849220bc0bb25249b0 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird01.png differ blob - /dev/null blob + 2ce2b598c676bf29c68fc359a8bfb75dfc9b704b (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird01.png,1613726160 differ blob - /dev/null blob + 4f27bba4a9c93e790287060e682f6c1f06a226c9 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird02.png differ blob - /dev/null blob + 5304fb921fc65688a7f0c1cddf98ec5e2b5300e4 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird02.png,1613724716 differ blob - /dev/null blob + 4f27bba4a9c93e790287060e682f6c1f06a226c9 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird03.png differ blob - /dev/null blob + 5304fb921fc65688a7f0c1cddf98ec5e2b5300e4 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird04.png differ blob - /dev/null blob + adb4034af203a51654b70e12480b1b75556dd040 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird05.png differ blob - /dev/null blob + a8d0a333a5669d7cf85a41a33af3bb23cb793c88 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird06.png differ blob - /dev/null blob + f64edf9444e01c64b25db2fc1838afa5addd87d8 (mode 644) Binary files /dev/null and uploads/Thunderbird/thunderbird07.png differ blob - /dev/null blob + 1188044e5312aa5de5cc4cf5eba94e39d6cbccf7 (mode 644) Binary files /dev/null and uploads/TigerVNC/putty_change_settings.png differ blob - /dev/null blob + 538f048ebff2778c3c53eb5f3c49ca8b46c186f1 (mode 644) Binary files /dev/null and uploads/TigerVNC/putty_ssh_tunnels.png differ blob - /dev/null blob + ff223215cf64e60d469e626abf5b46ccc6bb793f (mode 644) --- /dev/null +++ uploads/Unbound/unbound.txt @@ -0,0 +1,21 @@ +get_html_opennic() { + curl -s 'https://servers.opennic.org/' \ + -H 'Connection: keep-alive' \ + -H 'Cache-Control: max-age=0' \ + -H 'sec-ch-ua: "Chromium";v="95", ";Not A Brand";v="99"' \ + -H 'sec-ch-ua-mobile: ?0' \ + -H 'sec-ch-ua-platform: "Linux"' \ + -H 'Upgrade-Insecure-Requests: 1' \ + -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36' \ + -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \ + -H 'Sec-Fetch-Site: cross-site' \ + -H 'Sec-Fetch-Mode: navigate' \ + -H 'Sec-Fetch-User: ?1' \ + -H 'Sec-Fetch-Dest: document' \ + -H 'Referer: https://wiki.ircnow.org/' \ + -H 'Accept-Language: en-US,en;q=0.9' \ + --compressed --insecure +} + +echo "Getting ipv4 addrs from opennic" 1>&2 +get_html_opennic | grep -Eo 'mono ipv4[^>]*>([0-9]+\.){3}[0-9]+' | sed 's/.*>//' blob - /dev/null blob + 74f7cd2aa51b71d623e5c2c411ac4b23d2b68242 (mode 644) Binary files /dev/null and uploads/Unix/blit.mkv differ blob - /dev/null blob + a860c4a5701dcf88a785fee607050800918f81ed (mode 644) Binary files /dev/null and uploads/Unix/mux.png differ blob - /dev/null blob + 5c7cbfdeadb1670986a768741af407763eb87227 (mode 644) Binary files /dev/null and uploads/Users/rosie.png differ blob - /dev/null blob + 24baa81c847c20e10a1eaecf18d54b1c43ce54e0 (mode 644) Binary files /dev/null and uploads/Users/techs-should-factor.png differ blob - /dev/null blob + 56b31e05393dd06c91a768bdbc696c7bf04aff43 (mode 644) Binary files /dev/null and uploads/UsersCategoryMirrory/montana-free-homestead-land.jpg differ blob - /dev/null blob + c7049331f5ce7a437d794c74ba2a3028c95fa74a (mode 644) Binary files /dev/null and uploads/UsersCategoryMirrory/willamette-valley.jpg differ blob - /dev/null blob + a361fc58c52226c4055558d21f909b4e6312fb53 (mode 644) Binary files /dev/null and uploads/Vhost/a.png differ blob - /dev/null blob + cccabc89d53b88c0a4d4b93bd7d20dc2e61833b9 (mode 644) Binary files /dev/null and uploads/Vhost/b.png differ blob - /dev/null blob + 72a6561603e6547f8ef7fb8af656b80b67d1b72e (mode 644) Binary files /dev/null and uploads/Vhost/c.png differ blob - /dev/null blob + ddb721b405885174e025bd70c28934477b394a28 (mode 644) Binary files /dev/null and uploads/Vhost/c.png,1615894819 differ blob - /dev/null blob + 3df7a176ea3b9b124383e543bcc21156b43c1425 (mode 644) Binary files /dev/null and uploads/Vhost/d.png differ blob - /dev/null blob + ddb721b405885174e025bd70c28934477b394a28 (mode 644) Binary files /dev/null and uploads/Vhost/e.png differ blob - /dev/null blob + ddb721b405885174e025bd70c28934477b394a28 (mode 644) Binary files /dev/null and uploads/Vhost/e.png,1615894544 differ blob - /dev/null blob + 38c82b79e3499e077282f551bcd6fe8c905f1479 (mode 644) Binary files /dev/null and uploads/Vhost/f.png differ blob - /dev/null blob + 38c82b79e3499e077282f551bcd6fe8c905f1479 (mode 644) Binary files /dev/null and uploads/Vhost/f.png,1615894240 differ blob - /dev/null blob + 38c82b79e3499e077282f551bcd6fe8c905f1479 (mode 644) Binary files /dev/null and uploads/Vhost/f.png,1615894626 differ blob - /dev/null blob + d6e5f42de388f04a0f21620ebf20348ea829bd51 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-1.jpeg differ blob - /dev/null blob + 2b091bf83ec1353b37a1f8f3a5272c15de3027ac (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-10.jpeg differ blob - /dev/null blob + cf436c8c9e7900a4a1bba23a5d957fd7ebf0bd03 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-11.jpeg differ blob - /dev/null blob + 9cb3b3c5bffdf783a99d6b10588bf6bd8f0100d9 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-12.jpeg differ blob - /dev/null blob + 857fe0578142ced4863d996a809436b065c2de37 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-13.jpeg differ blob - /dev/null blob + 42b3b5ffce42e4d4b5859a52b72cc01284590759 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-14.jpeg differ blob - /dev/null blob + 8d02c726c6fc23be0960bfafec80492526e0ad36 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-15.jpeg differ blob - /dev/null blob + 9896b33cc1b8d89d98b29aec46ab0287957f6f8d (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-16.jpeg differ blob - /dev/null blob + 25c0b8aef0f915bb3eaa9e75edaf2f0689a487d6 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-17.jpeg differ blob - /dev/null blob + 244154aa6ecade86ebc2baa8d1b64d7e9c0b0d1d (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-18.jpeg differ blob - /dev/null blob + 97d9e0fd770d21a617b086a9dc6c544dda1eb0c1 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-19.jpeg differ blob - /dev/null blob + 95190eda2b750f335823188f24a90f62a265c9e0 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-2.jpeg differ blob - /dev/null blob + 102b5312cf7fc928e58ab2a91b3e2559be1bf14b (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-20.jpeg differ blob - /dev/null blob + d335a4a5e9ba5cc1f5dde6b869681625ad9d7e6b (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-21.jpeg differ blob - /dev/null blob + 9a321e5262cd5be4c87a92515875d668810b9383 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-22.jpeg differ blob - /dev/null blob + 16f656ff3eef4efe9bc00a1885ce5ff590e4345d (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-23.jpeg differ blob - /dev/null blob + e75d3597cc2708d020d2966856ed886d7971e37d (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-24.jpeg differ blob - /dev/null blob + 328414090b0ccf8d89287a56abd7d83b89384ede (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-25.jpeg differ blob - /dev/null blob + 75d3b53b7ac811649270b340d79de9cfde39c8e1 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-26.jpeg differ blob - /dev/null blob + 260e046524e93ae43b608f828813c78743dbd3d7 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-27.jpeg differ blob - /dev/null blob + 1812d4647fc28c23e9086dd351d2649a2b28c408 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-28.jpeg differ blob - /dev/null blob + 02f1d8cf94698d6c4e34d463fdc5f74cc477fcca (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-29.jpeg differ blob - /dev/null blob + 6450b5ebe0cff000597c28115384965ff32c1b23 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-3.jpeg differ blob - /dev/null blob + 66cb5690ddf351b29dae919444d884723aa7f980 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-30.jpeg differ blob - /dev/null blob + fcc8dbc3845aaae068f0fbd294dc2c0d0daca4ed (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-31.jpeg differ blob - /dev/null blob + 5edf12500b451891e76ae69034e439dd35de9cd8 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-32.jpeg differ blob - /dev/null blob + 7ed1480643644f4aa66c029d5dbfb312a1a7d998 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-4.jpeg differ blob - /dev/null blob + 83a09cc1446a8e65f815a8ed75e5087950c49a94 (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-5.jpeg differ blob - /dev/null blob + 21705794ee16eddd5e6fc244b2684bd27b9f275a (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-6.jpeg differ blob - /dev/null blob + ba812c88e0656609268f644f6a000c5fa37b05dc (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-7.jpeg differ blob - /dev/null blob + 33494ce048cacd23294a8e73f314d52a7345ce3e (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-8.jpeg differ blob - /dev/null blob + ca32604d9dcf3242108dddc16a8c121c7191f07f (mode 644) Binary files /dev/null and uploads/Vmm/Devuan-9.jpeg differ blob - /dev/null blob + 12ef7977511fae3682b8764dd2b98b65ba8f50da (mode 644) Binary files /dev/null and uploads/Vmm/almasetup1.png differ blob - /dev/null blob + 5bfe8c80bc1d5d1db33176626819ad1952929de4 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup11.png differ blob - /dev/null blob + 11665939687b8723ba1a20b7b4baeed7848bfa71 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup12.png differ blob - /dev/null blob + d9dfa04195f6a070f8af4a92b73968fe8664ccf6 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup2.png differ blob - /dev/null blob + fb3c0bce9040e57c3e16db577eb4a7a34e432f9c (mode 644) Binary files /dev/null and uploads/Vmm/almasetup3.png differ blob - /dev/null blob + 9b3d72599517ae71d1d93bb164f6f458f6d10cd8 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup4.png differ blob - /dev/null blob + a4bac24368abf1f20a9ecafc3ec56785c22e34ce (mode 644) Binary files /dev/null and uploads/Vmm/almasetup5.png differ blob - /dev/null blob + 1dff83fff7916fd360ec4e1475512c4d1fd9d750 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup6.png differ blob - /dev/null blob + 65ebbccb72e8ef8ee07ab3caffe3dbfd7e006788 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup7.png differ blob - /dev/null blob + 9e87c58980d81edc4dacf98a4b99e4dbe757541d (mode 644) Binary files /dev/null and uploads/Vmm/almasetup7.png,1637385980 differ blob - /dev/null blob + 65ebbccb72e8ef8ee07ab3caffe3dbfd7e006788 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup8.png differ blob - /dev/null blob + 7afda024ceff9dd3f481bb26995c2172c0eebb83 (mode 644) Binary files /dev/null and uploads/Vmm/almasetup9.png differ blob - /dev/null blob + 3563ac593f8f650c8ef095c78062594bc1999946 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup1.png differ blob - /dev/null blob + 026617cb86dee461c18cc2fe0692018d08b77056 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup10.png differ blob - /dev/null blob + 5fa9486effb68e2c940559b22ec83507ffe6a6ef (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup11.png differ blob - /dev/null blob + 265ec660a6cb175791ae5c081496634e215a9908 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup12.png differ blob - /dev/null blob + dc7c86369e33c3961d6489b2c61936b4b238d790 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup13.png differ blob - /dev/null blob + 5fed988a44409104241e1e77d234092f08e3d04b (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup14.png differ blob - /dev/null blob + 074c81d7d4b70d797ebda531610d99f0fb63f423 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup15.png differ blob - /dev/null blob + 0edf7a10c2e1f8e87c6b66aee6fc266a32638fb0 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup1png differ blob - /dev/null blob + 6c47a64e2ee7c7370a107259f764bec9d29701cf (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup2.png differ blob - /dev/null blob + 3563ac593f8f650c8ef095c78062594bc1999946 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup2png differ blob - /dev/null blob + 253b633f53ae4be6ca433e943b4f68a1ddef52bf (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup3.png differ blob - /dev/null blob + 931c878688d019c5d6b29a691a4abe9392755b99 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup4.png differ blob - /dev/null blob + 17780daca6fb1a116a05286506858340b88da792 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup5.png differ blob - /dev/null blob + fee86789cd7048132c8e30a42e8737dd295927d4 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup6.png differ blob - /dev/null blob + d25439b0aeab291354adc541a914b4c4c1ad4594 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup7.png differ blob - /dev/null blob + 026617cb86dee461c18cc2fe0692018d08b77056 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup8.png differ blob - /dev/null blob + 9bcd05b8c5611d7794e715fb02faf52d0af5a0d0 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup8.png,1636598252 differ blob - /dev/null blob + 026617cb86dee461c18cc2fe0692018d08b77056 (mode 644) Binary files /dev/null and uploads/Vmm/rockylinux-setup9.png differ blob - /dev/null blob + cc8444654b0e84fe311b5b009c2b2a12ca4ddc6f (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-01.png differ blob - /dev/null blob + 76cbc5855458177775efcca55bddbc416cc6accf (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-02.png differ blob - /dev/null blob + 05a67925041b0f2b659be0d359d1b60c0871a379 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-03.png differ blob - /dev/null blob + 953cb2736997ba4770aa075c477a50657006a835 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-04.png differ blob - /dev/null blob + 704da679d7d7f5b8f43224d743becbc66383f1fe (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-05.png differ blob - /dev/null blob + cfc14f3e02702802a981cd683aca37961c091ec3 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-06.png differ blob - /dev/null blob + e068dd75a57a290b4afb6550d5ca7050888a2263 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-07.png differ blob - /dev/null blob + 1fcd9a87b8d86820d61aed1fabc49e9f5d508696 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-08.png differ blob - /dev/null blob + 7327447d79f17a34546edbddc8102a589b46d0a7 (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-09.png differ blob - /dev/null blob + e8d362a71aa0b2d8b49881357387a1a79cd50c6c (mode 644) Binary files /dev/null and uploads/Vpn/iked-iOS-10.png differ blob - /dev/null blob + 6909de33ac384a969d2d86bfc7c01b9c36f6ccc6 (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-01.png differ blob - /dev/null blob + a0b05ca108e9522a6dc1646b676902a69a8fcf75 (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-02.png differ blob - /dev/null blob + e8c020d5314b4ff0208ce085653982f399c08cd9 (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-03.png differ blob - /dev/null blob + e1a860a10cc1ca869cbc22be339996f645640014 (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-04.png differ blob - /dev/null blob + d6012b70451cd50525f4acc7aed50d57d982b50c (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-05.png differ blob - /dev/null blob + b36c7e9cb718059de617bb0eb1428dc9ef8b070e (mode 644) Binary files /dev/null and uploads/Vpn/iked-mac-06.png differ blob - /dev/null blob + 0bb6af166e48ed14ac2a6ec1593fe753932b4f4b (mode 644) Binary files /dev/null and uploads/Xabber/xabber-contacts.png differ blob - /dev/null blob + 3a9adf97c5395ffd590cfd694042c65d7476ff9e (mode 644) Binary files /dev/null and uploads/Xabber/xabber-contacts.png,1637303907 differ blob - /dev/null blob + 3a9adf97c5395ffd590cfd694042c65d7476ff9e (mode 644) Binary files /dev/null and uploads/Xabber/xabber-contacts.png,1637303926 differ blob - /dev/null blob + ccf9dd296e5dcda35aef4c3629994a3da155003a (mode 644) Binary files /dev/null and uploads/Xabber/xabber-contacts.png,1637304221 differ blob - /dev/null blob + fd1747b9defc0ec3bca62aa9f151929386743253 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-install.png differ blob - /dev/null blob + e5e6e11218003e77d3b5d5116f7cd0ae9358056d (mode 644) Binary files /dev/null and uploads/Xabber/xabber-install.png,1637303939 differ blob - /dev/null blob + 8619dfe0017baf2911f39fca122d1da66bd78cd0 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-signin.png differ blob - /dev/null blob + 3ce5c1c5efa18ee29ed07a14fce4a92e8db149e8 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-signin.png,1637303953 differ blob - /dev/null blob + c2c2cc1ef7a6c0607dc4005b74676c2f3f3c011c (mode 644) Binary files /dev/null and uploads/Xabber/xabber-swipe.png differ blob - /dev/null blob + f46188745994321f4a51a777ed80d41fc44830c1 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-swipe.png,1637303968 differ blob - /dev/null blob + bad031f4ee57e8f3728778344364b53721c7ab84 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-welcome.png differ blob - /dev/null blob + 3b4ae5ecf4a0f07cf1280e78d8e83ca8a7a5c4c8 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-welcome.png,1637303985 differ blob - /dev/null blob + bad031f4ee57e8f3728778344364b53721c7ab84 (mode 644) Binary files /dev/null and uploads/Xabber/xabber-welcome.png,1637304009 differ blob - /dev/null blob + db843880b2e0a47183683914ea883856b54e6310 (mode 644) Binary files /dev/null and uploads/Xfce/xfce-desktop.png differ blob - /dev/null blob + 0d91634bde1d11e6170820fd541dc454845dffa1 (mode 644) Binary files /dev/null and uploads/Yaxim/yaxim-contacts.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 26c14971c27eaa5306cc1b21165ff270111cd778 (mode 644) Binary files /dev/null and uploads/Yaxim/yaxim-install.png differ blob - /dev/null blob + 6e8eb58740b0d2f982d3c1404faa8a87e970b47c (mode 644) Binary files /dev/null and uploads/Yaxim/yaxim-welcome.png differ blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + 2302e14f82351641e0b2d5c11b25221b2c637afa (mode 644) --- /dev/null +++ wiki.d/.htaccess @@ -0,0 +1,8 @@ + + Order Deny,Allow + Deny from all + + + + Require all denied + blob - /dev/null blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 (mode 644) blob - /dev/null blob + cf3cbe90bf572922021f1b2a24c6e4c0cea258ac (mode 644) --- /dev/null +++ wiki.d/.pageindex @@ -0,0 +1,1134 @@ +Pmwiki.Install:1639757956: Nsd.Configure Nsd.Zone Php.Install Relayd.Acceleration Openhttpd.Tls : typeyourpasswordthenpressctrl yc9qehuv0whgu19qqvhonhw1zutmc enablepathinfo kchfdl42rabog automatically configuration documentation accessibility uploadurlfmt acceleration query_string permissions requirement recommended flexibility lightweight configuring nameserver connection javascript mirroring openhttpd directory configure passwords 104857600 siteadmin pubdirurl uploaddir openrsync scripturl installed challenge following necessary requested creating location cookbook authuser evaluate assuming authform creation blowfish esvfdfwa almanack familiar database actually checkout requests required download overview rewrite example include provide uploads limited records receive setting restart default content protect located however chroots fastcgi command browser finally exclude crontab cronjob openbsd sources release support improve syncing working favicon replace instead ircnow htdocs relayd simple pmwiki proper readme daemon stored delete making backup either commit import sample allows latest hashes socket listen domain create before prompt change stable these rules clean local index match daily large files 100mb helps while chown pages https ifend using false rcctl title which lines above begin tells guide strip other known block doesn keep zone when want very they make will sure edit init with only that mind skip body well acme also copy doas says have urls next this ends host xvzf give grab repo text www git tgz php var etc got org can not ftp run 141 nsd new tls its 1mb put any max fpm get are txt web two of cd 13 11 cp by 2b 09 80 mv +Ircnow.Servers:1639757368: AncientWisdom.Bio Ircnow.Testing BugzBunny.Bio Ircnow.Stable Jujube.Jujube Gry.Bio Watermelon.Watermelon Jrmu.Bio Error.Bio Vps.Vps Bsdforall.Hardware MisterE.Bio Freeirc.Hardware ThorOfAngels.Bio Ircforever.Hardware Silence.Bio Oddprotocol.Hardware Lecturify.Hardware Nastycode.Hardware Bogani.Bio Thunderirc.Hardware Ircnow.Hardware : minigamesgalore thor_of_angels ancientwisdom alphabetical thorofangels oddprotocol simpletable ambassadors planetofnix debiankaios chewbakka85 ircforever dodocrypto pyritepyro miniontoby committers luxembourg hydragyrum thunderirc watermelon federation bsdforall different codeforce bugzbunny noisytoot sysadmins lecturify nastycode governing shelltalk fediverse minutemin fosstodon minetest hostname hardware almanack sortable services governor outreach bountyht location internet testing liberty freeirc gandalf mistere servers silence project network provide stable ircnow jujube border bogani ircfun duties europe attach matrix dennis robkle shells wheezy almajd error vegas https vpses email width texas roost loski class miami rohan scara glono jrmu xfnw york team nfld xmpp skar type nick siva self bio gry ops new usa org 100 run its own map who jlj znc nps png quo uk +Almanack.Almanack:1639755749: CodeForce.Bootcamp Minutemin.Code Minutemin.Server Minutemin.Duty Minutemin.Questions Minutemin.Progress Medals.Intro Openbsd.Team Openbsd.Stable Openbsd.Testing Servers.Rights Openbsd.Announce Congress.Procedure Congress.Documents Ircnow.Milestones CodeForce.Deploy Abuse.Code 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 Openbsd.Intro Vmm.Configure Vmm.Install Vmctl.Usage Openbsd.Vmmlinux Vmm.DebianIso Vmm.DebianInstall Vmm.Debian Vmm.Optimize Vmm.Ubuntu Openbsd.Buyvm Vmm.DevuanIso Vmm.Devuan-ISO Vmm.Plan9 Vmm.Router Vmm.Homerouter Openbsd.BBB Openbsd.Upgrade67 Openbsd.Upgrade68 Openbsd.Upgrade69 Openbsd.Sysupgrade68 Openbsd.Sysupgrade69 Openbsd.Install67 Openbsd.Install68 Openbsd.Install69 Openbsd.Install70 Openbsd.Bsdrd 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 Openbsd.Anycast Hostnameif.Static Ifconfig.Change IP.Myaddress Almanack.Ifconfig Almanack.Route Dhcpd.Configure Openbsd.Npppd Openbsd.Pppoe Openbsd.Ntpd Openbsd.Pf Pf.Guide Openbsd.PFStable Openbsd.PFTesting Openbsd.Pfbadhost Openbsd.Ddos Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Openbsd.Ping Netcat.Usage Openbsd.Tcpdump Netcat.Irc Netcat.Http Netcat.SMTP Telnet.Http Openssl.Http Openssl.Imap Openssl.Smtp Openssl.Check 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 Openbsd.Delphinusdnsd DNS.Mail DNS.SPF DNS.DKIM DNS.DMARC DNS.Ipv6rDNS DNS.Ipv4rDNS Openbsd.Unbound Host.Usage Dig.Usage Openbsd.Unboundadblock Openbsd.Dnsbl Rbldnsd.Install Gpg.Verify Openbsd.Iked Iked.Configure Vpn.Vpn Iked.Newconfig Tor.Torsocks Tor.Hidden Tor.Irc Tls.Overview Tls.Intro Tls.CA Acme-client.Configure Relayd.Acceleration Relayd.TLSMulti Letsencrypt.Expired 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.Guide Cvs.Repo Paster.Install Fiche.Install Openbsd.Www Openhttpd.Configure Openhttpd.Hosting Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Openhttpd.Tls Openbsd.Dokuwiki Openbsd.Pmwiki Pmwiki.Simpleurl Squirrelmail.Install Wordpress.Install Roundcube.Install Openbsd.Oscommerce Openbsd.Cumulusclips Openbsd.Fluxbb Openbsd.Question2answer Openbsd.H5ai Openbsd.Easyapp Openbsd.Manna NodeJS.Install Openbsd.Cgit Got.Repo Gotweb.Install Got.Usage Got.Server Got.Mirror Mariadb.Install Irc.Guide Irc.Chanop Ngircd.Oper Irc.Services Irc.Clients HostServ.Rules Unrealircd.Install Znc.Install Znc.Chroot ZNC.Admin ZNC.Support Openbsd.ZNCModules Znc.Usage Znc.Relayd Znc.I18n ZNC.Troubleshoot Znc.Debug Openbsd.Psybnc Openbsd.Ilines Openbsd.Identd Oidentd.Install Oidentd.ZNC Openbsd.Ii Openbsd.Sic Ngircd.Install Ngircd.Link Ngircd.Ssl Openbsd.NgircdLink Hopm.Install Openbsd.Acopm Hopm.Telnet Achurch.Install Anope.Install Pylink.Install Pylink.Chroot Bitlbee.Install Openbsd.Matterbridge Eggdrop191.Install Openbsd.Tcltls Eggdrop184.Install Eggdrop.Nickserv Wraith.Chroot Openbsd.Biblebot Openbsd.Botnow Openbsd.Censord Openbsd.Ircrelayd Openbsd.CPAN Unix101.Unix101 Unix101.Wechall Opensmtpd.Configure Openbsd.Opensmtpd-relay Openbsd.Opensmtpd-2 Openbsd.Mailopenproxy Opensmtpd.Troubleshoot Opensmtpd.Openrelay Openbsd.Dmarc Openbsd.Spf Openbsd.Dkim Opensmtpd.Test Spamd.Configure Dovecot.Install Mlmmj.Install Openbsd.Alpine Openbsd.Mutt Openbsd.Fdm Openbsd.Newdisk Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Pkg Openbsd.Ports 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.Vi Openbsd.Mg Openbsd.Base64 Openbsd.Uim Crontab.Edit Ps.Usage Kill.Usage Openbsd.Vipw Tar.Usage Openbsd.Rcctl Openbsd.Syslogd Ksh.Bash Ksh.Redirection Openbsd.Freeciv Openbsd.Openttd Openbsd.Minetest Minetest.Addingarenas Minetest.Serverlocations Minetest.Texturestyle Minetest.Updating Minetest.Worldbackup Texlive.Install Texlive.Sinhala Openbsd.Asterisk Openbsd.Ffmpeg Leafnode.Install Webnews.Install Gazette.Gazette Openbsd.INN Openbsd.Gopher Openbsd.Gophernicus Openbsd.Geomyidae Bucky.Install Prosody.Install Biboumi.Install Gomuks.Install Openbsd.Misc Hosting.Hosting Hosting.Providers Openbsd.Vmm Openbsd.Security Chroot.Intro Password.Management MITM.Intro Openbsd.Phishing Openbsd.Dos Openbsd.Spam Openbsd.0days Openbsd.Rootkits Openbsd.Pledge Openbsd.Unveil Openbsd.Databaseperms Openbsd.Secureweb Openbsd.Trust Openbsd.Defaultdeny Openbsd.Loginconf Openbsd.Ids Openbsd.Setuid Openbsd.Sa Openbsd.Edquota Openbsd.Shell Openbsd.Police Openbsd.FilePermissions Openbsd.Oath-toolkit Sheriff.Intro Xfce.Install Fvwm.Configure Xdefaults.Configure TigerVNC.Install TigerVNC.SSH Fdroid.Install 9.9 9.Shell 9.Install 9.Partdisk 9.Plan9ini 9.Links 9.Shocase 9.Drawterm 9.JSDrawterm 9.101 9.Bootcamp 9.Sysupdate 9.Packages Rio.Customize 9.Ssh 9.Netcat 9.9gridchan 9.Ideas Unix.History SIMH.Install Openbsd.Dkimproxy Openbsd.Opensmtpd Openbsd.Rbldns : ntpamplification serverlocations troubleshooting question2answer disablepassword openforeveryone filepermissions firstamendment unboundadblock discriminatory delphinusdnsd mailopenproxy resetpassword authoritative httpopenproxy debianinstall announcements configuration databaseperms sysupgrade69 acceleration addingarenas sysupgrade68 cumulusclips fingerprints dragonflybsd startupdream texturestyle independence cryptography squirrelmail matterbridge constitution applications publicdomain netizenship redirection drawtermssh sshbackdoor authorities certificate letsencrypt defaultdeny gophernicus opportunity masterslave illustrated pkglocatedb simpletable imagemagick worldbackup independent declaration beaglebone milestones supermicro management registrars bittorrent oscommerce factorauth dueprocess philosophy deployment eggdrop191 unrealircd federation hostnameif networking zncmodules ngircdlink plan9front themselves homerouter jsdrawterm administer temperance eggdrop184 accounting blacklists signatures historical devuaniso httpflood install70 install69 pfbadhost simpleurl pftesting configure roundcube myaddress debianiso wordpress openhttpd disklabel opensmtpd addresses openrelay newconfig upgrade67 openrsync install67 install68 debugging procedure codeforce documents 9gridchan customize dkimproxy sysupdate minutemin questions selfadmin secureweb frugality xdefaults loginconf intrusion detection geomyidae telephony fediverse providers hardening utilities ircrelayd homestead madeonirc rulebylaw partition challenge languages religious zonefile ipv6rdns security hostserv asterisk ifconfig biblebot services tigervnc ackflood accounts almanack leafnode nickserv binaries identify udpflood overview rootkits policing phishing optimize bouncers webpanel vmmlinux synflood rstflood ipv4rdns iplookup dokuwiki creating bootcamp transfer chrooted tlsmulti software religion progress symbolic syspatch congress pastebin articles minetest updating pfstable partdisk torsocks packages plan9ini showcase netmasks sysadmin training sortable machines balances industry firewall openbsd censord freedom prosody channel bitlbee unix101 wechall privacy central openssh justice biboumi hosting achurch texlive sockets support sinhala license anycast mariadb edquota clients gazette servers virtual webnews lessons oidentd toolkit dovecot desktop icecast openttd shocase freeciv sheriff android mailing adduser liberty history welcome newdisk syslogd sending chinese crontab editing signals backups restore records rbldnsd ramdisk expired freedns openssl bitcoin version routing easyapp signing caching anoncvs signify control proxies tcpdump defense 9paste mirror chanop netcat setuid quotas system fluxbb police botnow rights attack nodejs wraith gotweb filter ircnow pylink ilines netbsd ffmpeg psybnc social fdroid matrix telnet gomuks base64 border sndiod unveil static pledge packet medals tcltls vorbis middle change denial shells vhosts create relays ubuntu united cvsweb paster checks monero keygen guides irc101 pmwiki verify alpine hidden growfs netpgp become civics intro tcpip mlmmj manna usage labor flaws fiche fdisk ideas dhcpd ports npppd pppoe rcctl party 0days bucky dmarc vmctl share xterm dnsbl links books bsdrd spamd union rules anope acopm trust buyvm abuse title using ethic disks coins ifend layer ipsec metal false certs repos class pipes wheel games honor media users young width latex mitm mutt misc fqdn mgmt bgpd imap iked oper tmux ddos ntpd dell bare ssdp with hope perl ping cgit doas h5ai oath acme sshd apps hopm skey ftpd poor fvwm xfce sftp simh keys cpan kill duty call fork good bash korn team sudo vipw bill bncs i18n ircs chat vpns bots room sic ids vps org inn 100 old rio run our fdm spf gpl bbb ksh uim www php sip sox alt 3rd gpg dig 2fa ii +Ircnowd.Ircnowd:1639750110: : automatically permissively customizable dynamically connection administer restricted additional optionally protection exhaustion scriptable understand exemptions platforms open_nsfw developed interface scripting configure obscenity netsplits cloaking portable millions licensed topology proposed ircnowd changes support attempt forever network disable during github ilines issues filter buffer server closed should handle attack defcon ngircd remain enable forked yahoo given until block teams https allow users loops flood title limit which scale build code mode spam part from aims ends with that will join free easy new the can fix are com gpl ssl was be 26 of so 1 +Irc.Federation:1639749807: Relay.Relay Census.Census : subnetworks centralized federation redundancy namespace fediverse together services username complete distinct maximize ensuring approach federate policies channel example control prevent similar freedom relayed affect unique should matrix domain census better these while email title does each will true have also able team bans this that form from take then irc its own now run and not set can of if +Got.Server:1639748738: Cvs.Repo Cvs.Cvsweb Cvs.Intro : _gitdaemon currently possible example replace project verbose pkg_add crontab cvsweb public export domain server guide intro clone lacks with doas repo name your need path base own got and the com its all www var now so is to 5 +Gotweb.Install:1639748533: : got_max_commits_display madeonirc128x128 got_site_owner got_repos_path got_site_name got_site_link got_www_path periodically got_logo_url permissions marketing openrsync directory location cronjobs fastcgi pkg_add install uploads include crontab example running slowcgi public gotweb ircnow delete import daemon htdocs enable listen inside server index types block httpd rcctl https chown needs write these share daily start mkdir conf mime doas root misc have 1000 your this user html wiki var git etc usr tmp org bin set ftp png cd 80 +Main.HomePage:1639733124: Freedom.Federation Freedom.Freedom Ircnow.Goals Ircnow.Servers Minutemin.Bootcamp : bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad 4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd 6sntav3syf2yls5a alphabetical disconnected oddprotocol simpletable planetofnix thunderirc federation interested ircforever lecturify anonymity nastycode excellent minutemin community following improving ecosystem protocols shelltalk bugzbunny currently encrypted bsdforall associate sortable combined bootcamp ircology security whenever hostname homepage download bouncers multiple messages networks examples provides internet telegram services receive storage support account offline servers bridges channel request discord reasons hotspot freeirc parties openbsd reading working covered freedom ensures hosting ircfun topics cloaks others export create source relays guides jujube useful access border client while users total helps goals since hides learn bible sites email third later pages rsync about onion title class plain width irc6 6667 6697 your text more ipv4 from smtp file bots ipv6 news wifi with each such this sftp give chat also here save that will main imap list full sell join data even ircs them once want lets not get can org 1gb aim one and man scp add how git cvs 100 vpn any pop by we +Marketing.Memes:1639717932: : east_and_west_shaking_hands_at_the_laying_of_last_rail_union_pacific_railroad_ california_diamond_jubilee_half_dollar_commemorative_obverse _westward_the_course_of_empire_takes_its_way_ and9gctjrnzpkxfnes2bjdrpn5yzi4b56esqqo78sw spinning_jenny_improved_203_marsden john_wilkes_booth_wanted_poster_new phillis_wheatley_frontpiece_1834 boston_tea_party_currier_colored wright_first_flight_1903dec17_ htb1ww_yosni8kjjsspeq6awipxa1 raising_the_flag_on_iwo_jima declaration_of_independence_ _government_printing_office_ edison_and_phonograph_edit1 poor_richard_almanack_1739 27s_first_view_of_kentucky edison_incandescent_lights international_morse_code apollo_11_lunar_module_ _boston_public_library_ fwpnw026hobokennjsa0266 california_clipper_500 battle_of_new_orleans historyofinformation 28john_gast_painting launch_test_flight_ pearlharborwarbirds 2c_by_john_trumbull allthatsinteresting 26_clark_stamp_2004 cotton_gin_ewm_2007 ford_assembly_line_ american_progress_ improved_no2_wagon 28full_restore_115 warhistoryonline madeonirc128x128 benjaminfranklin edisonphonograph emanuel_leutze_ j38telegraphkey _ten_years_ago_ fallofthealamo d3ao8sz5crj5i0 propoganda_38 unitedweserve propoganda_09 propoganda_42 propoganda_06 liberty_bond_ propoganda_26 propoganda_45 propoganda_22 propoganda_23 propoganda_01 propoganda_36 propoganda_43 propoganda_31 propoganda_39 propoganda_12 propoganda_07 _restoration lincolntrain philadelphia thanksgiving pennsylvania _smithsonian empirecenter firstflight brownscombe learntoread antislavery confederate cloudfront decorative recruiting 2c_larger_ commanding propaganda viking_pre vegetables speckyboy wikipedia wikimedia wordpress 28cropped rationing marketing engraving encrypted overboard infantry regiment 1910ford congress virginia february together software greeting airforce uploads workers network content commons charles company soldier divided victory support gstatic channel eggdrop gazette ringing poster2 silicon against nonfree vintage 211x300 212x300 209x300 200x300 officer 507x640 landing instead 436x640 205x300 lewis_ attach ddoser images should 1188px murals yerkes alicdn flying 1200px 281819 county states coding modelt valley effort burned garden ferris avenge 1182px theyve tread https 179th mills fault comes crier thumb 558px nazis these books floyd memes rtalk 675px 476px 379px _1913 679px 800px efnet throw 749px wheel 504px doxed 00047 alive 480px acres boone ifend false 777px 2017 keep 2003 moon from 28by bill 2011 them 1862 _gpn capt 2019 know 1840 2018 core guts mule save navy 40gb join ae01 town unix wild what have jpeg each your tbn0 usqp copy 2016 hero wall org jpg diy www png svg ask not got win joe 014 him _10 ww2 _13 buy cau b4 29 0d kf f7 e9 fd c9 98 1a b0 5d 9c 5a 6d 35 54 52 a7 f9 cf +Got.Repo:1639715196: Got.Usage Git.Usage Gotweb.Install : permissions repository encryption afterwards committer directory currently checkout groupadd provides existing insecure explains requires project message useradd changes ircnowd sources replace example usermod install assumes already warning without access import create ngircd actual either proper rights gotweb going allow first clone chown guide usage https empty mkdir title chmod will code doas sure path init tree your this work into also need from make name want next have each give urls var git for new are may set can see and log +Gotweb.RecentChanges:1639679502: : recentchanges december install gotweb 2021 jrmu 16 at 03 34 pm by +Openbsd.Dump:1639673802: : irreplaceable filesystems incremental recommended specifying partitions downloaded corruption available elsewhere directory following functions standard continue requests actually capacity complete redirect modified username actively restores remotely created openbsd instead warning mounted garbled already current command dumping example section profile details helpful options special besides written chflags include backing classic perform because require nodump script backed ircnow copied folder simple backup cancel output easily always remove screen primer htdocs entire server md5sum source before enough useful space these newly 1005m crash using makes lower check first other https least local level reads words since forth above dumps order occur title group abort tells wheel drwxr never games enter x11r6 being doas will 1024 have path root some 5632 that last ones 4452 then copy them full 4608 must home call 3072 only date next with idea this take echo type ctrl host over code obey line your size much from need sd0e sd0f they sd0d 153g used 192g note sd0k 844m 111m sd0a view page data tool auto done very sure disk edit mnt vmm dmp ssh var dev pwd org usr run see how add get may any www tmp lib nov dec are bin 29g oct 512 set 18 df 14 22 21 16 7g 4g 28 33 by 47 0g 2m 41 17 +Openbsd.Gotweb:1639668970: : got_site_owner got_site_name got_logo_url got_author directory redirect location software reponame yourname pkg_add slowcgi example install fastcgi openbsd initial include project running ircnow gotweb inside enable htdocs listen server export import httpd email https these mkdir index files rcctl start types share doas mime conf need have misc html root into path org git www etc var usr com bin set up 80 +Vps.RecentChanges:1639594866: : recentchanges dodocrypto december openbsd october august intro 2020 2021 jrmu vps at 03 by pm 26 12 10 35 am 22 08 +Ircnow.Projects:1639594866: Irc.Federation Stopm.Stopm Ircweb.Ircweb Http2irc.Http2irc Botnow.Botnow Bncnow.Bncnow Ircnowd.Ircnowd Census.Census Relay.Relay Usethis.Usethis Coursedown.Coursedown Townhall.Townhall NewsNow.NewsNow : recommendation statistical coursedown courseware federation autonomous versatile networks services software http2irc inspired markdown townhall projects federate newsnow usethis ircnowd blocker monitor bouncer client ircweb expect better engine botnow source others voices bncnow bridge census server right union proxy stopm heard makes where relay panel using whole unite sense unix open free wiki done like spam that into easy you for xml rss and +Php.Install:1639594866: Acme-client.Configure Openhttpd.TLS Relayd.Acceleration : troubleshooting configuration installation acceleration squirrlemail information requesting everything following supported correctly openhttpd challenge configure upgrading extension php80_fpm location document pkg_add phpinfo example fastcgi replace chroots default located browser version purpose minute errors server folder access htdocs placed actual domain client latest relayd pmwiki update should screen listen within enable socket create guides where files check index visit space notes title known block start rcctl lines strip certs tells less real logs your into sure well then will full want acme path have make does says that ends else spam doas left need var any www tls and got are web run com ssl etc new use see set by be if 11 10 of 7 3 2 +Hosting.RecentChanges:1639594866: : recentchanges providers december hosting march jrmu 2021 at 01 06 pm 24 by +Pylink.RecentChanges:1639594866: : recentchanges december install pylink chroot jrmu 2021 by at pm 03 +PuTTY.Connect:1639594866: Shell.Sshfingerprints PuTTY.PuTTYgen : sshfingerprints application connecting invisible alternate greenend username password properly sgtatham terminal keyboard function download puttygen features disable logging private example records consult address install windows version ircnow attach config verify bottom fixing latest change chiark keypad server please https sshfp shell login shift order guide vt100 check paste fruit click title fill host with keys work mode ctrl john page does open then must your type note html port org png and www see for dns esc fpr can get 22 go uk of +Telnet.RecentChanges:1639594866: : recentchanges november telnet http 2021 jrmu 03 at 18 pm by +Unrealircd.RecentChanges:1639594866: : recentchanges unrealircd install october 2021 more mkf and 24 at 06 25 am by +Vhost.Ircnow:1639594866: : oddprotocol planetofnix ircforever thunderirc nastycode following lecturify shelltalk bsdforall ircfree ircnow vhosts offer org com the we +Opensmtpd.Openrelay:1639594866: Openbsd.Dnsbl Openbsd.Dkimproxy Netcat.SMTP Openbsd.Opensmtpd : misconfiguration configurations unintentional blacklisted destination fakedomain otherplace configured improperly censorship relay_dkim pretending recipient opensmtpd rejection dkimproxy addresses openrelay sometimes external crackers internet messages criminal spammers example invalid configs prevent appears openbsd malware viruses trojans running domains similar receive pleased ruleset privacy testing another because provide chances spoofed reading victim sample allows relays either server action netcat beware notice though sender anyone banned abused forged bypass should likely hello using check flood email trash hosts esmtp local comes never dnsbl title these match often being worms above could only that this here make sure when from hide will your helo with says been rcpt want meet user also don 143 163 250 why 550 and fix how get has 220 but put can see to if we 38 81 ok +Dovecot.RecentChanges:1639594866: : recentchanges november dovecot install 2021 hawk 28 at 12 30 pm by +TigerVNC.RecentChanges:1639594866: : recentchanges tigervnc install october 2021 hawk ssh 23 by at pm 11 56 am +MailWindows.Connect:1639594866: : authentication windowsmail mailwindows information otherwise advanced password incoming username outgoing settings creation accounts internet requires address connect section sending desired choose server ircnow enable attach select needed wizard please manage follow bottom point email imap4 setup there title will same left this show icon smtp type pick fill done with your have any and are ssl png put org see if +MailWindows.RecentChanges:1639594866: : recentchanges mailwindows november connect 2021 jrmu 27 at 03 12 pm by +Prosody.Install:1639594866: Mercurial.Usage : mod_auto_accept_subscriptions mod_captcha_registration mod_throttle_unsolicited mod_block_registrations mod_throttle_presence mod_filter_chatstates mod_group_bookmarks mod_support_contact mod_roster_allinall mod_message_logging mod_roster_command mod_support_room mod_cloud_notify mod_http_upload mod_deny_omemo mod_muc_ban_ip mod_muc_limits mod_bookmarks mod_firewall mod_muc_log mod_smacks mercurial _prosody download example mod_csi install modules readmes private pkg_add client extras https clone chown usage using certs mkdir local share doas tabs xmpp echo root cron acme ssl etc the usr lib doc crt var key cp hg +Ircnow.Opsofliberty:1639594866: Vps.Vps Minutemin.Bootcamp Ircnow.Goals Freedom.Freedom Shell.Shell Opsofliberty.Bootcamp Ircnow.Roadmap Ircnow.Finances : administration documentation opsofliberty experience commitment optionally marketing interview minutemin volunteer homestead improving progress bootcamp position finances sysadmin promoted customer training familiar internet support freedom servers minimum account friends improve request network willing roadmap mission trained ircnow become unpaid attach rfloat resume invite finish defend report duties reward hours shell goals learn staff seems after email track title needs users while ready their corps named elite apply 80pct width help with must unix hang real good your week team send sons oper this tech note vps are png and can for new add org out how cv if 5 +Openbsd.Icecast:1639594866: : authentication configuration basedirectory changeowner description playlistlog certificate destination hackmemore background afterwards mountpoint currently configure passoword accesslog following randomize shoutcast fileserve crossfade execution adminroot localhost hostname _icecast password prefered security loglevel passowrd errorlog username supports protocol projects requires channels location versions software browser webroot openbsd example sources address connect include replace bitrate another pidfile logging logfile logsize verbose private builtin written install pkg_add clients timeout chanage modular formats stream status server called values logdir mounts addons 524288 public chroot header enable limits create backup manage should module listen domain socket spaces itself player secure unable normal genre burst repos earth radio guide using xmlns audio music rcctl group enjoy queue 10000 there start debug media 65535 paths alias plist songs ices this that 8000 your doas free http type well 4p12 edit they only note will take with 8443 each have both same bind 8080 ipv4 ipv6 warn info two var 128 xsl tmp etc pem max com now can run mp3 one key www org cp 30 15 my bk +Sandbox.0dev:1639594866: : rockylinux blinking sandbox uploads install ircnow setup1 cursor https until arrow press wiki than 0dev you saw png vmm org at +Sandbox.RecentChanges:1639594866: : recentchanges dodocrypto november sandbox 0dev 2021 11 at 01 45 am by +Opera.Connect:1639594866: : congratulations specification corresponding connection” customisation organization installation newsgroups additional downloaded statement providers extension interface customise completed operamail according accounts software password computer incoming outgoing inmotion address proceed setting section labeled service require select attach follow setup1 secure simply finish “use button ending wizard server window adding action cancel client fields double accept email happy using right image login clean again below check click step3 shows agree start their terms order after open name your icon edit also with stop next this file from that asks into then will left find want type port imap days tabs and jpg see png for – box pop exe 12 4a 3a 10 6a 8 5 7 +Opera.RecentChanges:1639594866: : recentchanges november connect opera 2021 wiz 16 at 12 am by +Conversations.RecentChanges:1639594866: : conversations recentchanges november connect 2021 jrmu 05 37 pm by +Psi.Connect:1639594866: Xmpp.Xmpp : registeraccount chooseusername accountsetup lightweight transfers contacts password existing already servers unicode example created success support connect freedom windows attach ircnow manage linux click https macos works xmpp open from pick next your been chat full this file have fast easy list png psi and has org new can app the if it im of +Psi.RecentChanges:1639594866: : recentchanges november connect 2021 jrmu psi 17 at 03 23 pm by +Conversations.Connect:1639594866: OMEMO.Intro Fdroid.Install Xmpp.Xmpp : registernewaccount startconversation createnewaccount conversations publishavatar encryption password username provider software supports install welcome openpgp history connect include example servers android license created attach fdroid client device images ircnow domain choose omemo intro https files group gplv3 other rooms multi video share first makes also chat your xmpp easy must list next with skip free that sync been this then org tap png can has for own end see my 0 5 +Xabber.RecentChanges:1639594866: : recentchanges november connect xabber 2021 jrmu 23 at 10 am by +StorkIM.RecentChanges:1639594866: : recentchanges november storkim connect 2021 jrmu at 05 03 am by +Adium.Connect:1639594866: Xmpp.Xmpp : registrationsuccessful createnewaccount notification editaccount integrates encryption translated assistant languages different available messaging register password contacts continue username zerobyte jabberid transfer congrats supports message servers example replace instant offline welcome connect service request easily attach center select ircnow domain status click adium error https macos guess setup xmpp open into fill free been much then file your that type with more pick menu from done hard for png and app can log bar see has add otr im ok 27 +Monal.RecentChanges:1639594866: : recentchanges november connect monal 2021 jrmu 23 at 10 32 am by +ChatSecure.Connect:1639594866: Xmpp.Xmpp : sendnotifications createnewaccount conversation registration accesscamera certificate id464200063 shareinvite chatsecure encryption enablepush checkmark sqlcipher including settings nickname download password provides advanced security generate features consider thankyou moreways appstore another options servers example sharing invites privacy connect protect warning locally pinning should attach finish custom signup ircnow choose corner better public itunes source allows newssl omemo after right maybe later https apple inbox using xmpp free list this open band save type then from both your icon want show logs tap png otr com ios org non top for see tls via of ok +ChatSecure.RecentChanges:1639594866: : recentchanges chatsecure november connect 2021 jrmu 26 11 36 am by +Dino.Connect:1639594866: : connect attach dino png 1 2 3 +Mcabber.RecentChanges:1639594866: : recentchanges november mcabber connect 2021 jrmu 26 at 01 38 pm by +SiteAdmin.AuthUser:1639587576: PmWiki.AuthUser PmWiki.LocalCustomizations PmWiki.Passwords PmWiki.SecurityVariables : rgbffhuylfod5gdwiakagosqrfcumusbg0get4yo34cesai3bholm 1pnquver1cxhbyv5lov9lelgygjh6wynimfb3qzhaojtx5xbymelq wag2z1yjfasuaba4mxmbsou2ko3ustjmsl4nd8idl5spozzfhmfjy rg0p6iwkfte09xz0kobylurba9f6coer4ofghsaiduqtr4zl31kxu pzez59xbud1rgqtfz4kjketart6ktxi3ufshb1prgrlipsrlbu0yc ulu1o3dw6ai7kpjei7g8qestxykcd2w3fzyowe5hgq4whuqc7n0ai 66jkjxosix5cosun3pdyqoecdfk8qlgxyft8z9ygxcngwagxd0meq ie9xoswkeovtpinzj4ly7empvmpwzc99ia8jbfhfsorxvynewmame ihauv3tzcsgfn1lwqevtkod52yrw2jtyldkkuvgpb9xaabw4zbfnu lrnsz2vsslj2cqbjpdpyyo5m5va4fxy4tblibvjnqozse7oanipqk pidzksq9esoyqkcytwle0e75z9fz5kewhjrle2f51s74uwkkeelx6 eg0gstvpzzkfdqvcwjhoukjygjheqg5jwipsypgxzfvryuybdyns qmudpox7rienwmktganomgigewmryogzrbba3hzpftednpygfum 6ebwthcykp9i58fb2o6e2vjqpt518kagfktykw6kjsynfvpj8g2 ss8tuxkvkbof96voledbuucyi9ttcike0yybrzo4tyrae32 lvwv9ovfqynfsrp4eumyu2lj74qi9c7id4chuudje7uxd7u r9bi5akhnf95kewd8tgz1uxewhhxxcyxadzvpgq1juwtaho 5bjbfdae4t6p3unc6fno47bopzjwdmhtvmzsun6wbapmg c01gpw8lwjdosppykaj4c4i87yapdztvkazrzaecxnk vfc1fev5rchhweu8zhmvaaa5dh8vh6oylw3xfeiaif umwmoir2cr7niiop2qeaezph2nofkimfrx5f9uhpbm afs8a0w9zccpmytwe4pl0uifydvk5fe9g9roqggb hkca3foog9jjrr0i2ijhfqw0wui5bpoqlnwnrgk 6qnynlbctuprbw4n3ywjgogbhmhpgdctw1umlc ethxrqerfaa354dguosuujotxevxj5g1aa71zc uxv3bpvhyrdshbjqg96jhu0vq6jff4ixyveqm4 z98eph7otcsgsxnknjqy2dae3lwp5n8skas yv2ne76jgp6ptzu8sinytoaai6zx9b4zhw wstnetyibyndhha4tvvotzuep3qo4t1aju mxprwnztv15akg39ugen3e6bwdvils1ny rywyoyngb8a92316xg2hrrbxjmu9dnym ycsfmmxoj1ersj4ie00egabz4tdf5cvj 8ayeqbf2rydjavxaamqaau32fkpvpurg civjwtmqvmsoqtgc1bxugoao1o3kqgov 3oxtsaj8x80dyigvouihe2zjdwfkn22 v0z18o4mwjtqz5jf4wv2doufp1mdubw sxayqknrilypdkf9sn6k4t94prnhhso mwvtdonykwqrvwhenrfbuopgdacaptc drhfmw6raqrxzf3zdvpvntakjorgphq k8f2oxfp4ipbjllclnakeh04qka4bca jsvcw6ejfypdaq5ofim7nohbcrvyrvg ec2hgiszxo1q5xdyyfqozqubk4fhs2 ey00b8w6olostkiyuwestefklwbh1j eklex8ktxrvgzzktc5kpkezpzafsbh agrmydmtrtv5j9ugzohrwduprerl7c gronpdkh2nsoqx4twmefwenfid9b6n jp8or2zol3npv3vqgeu8aemdsvkadh pcztnczypyvyxslw0eha1ow1vgzhgh pdczw1yt7vm2l9k7n3vhjocykxwae 0dsq4eby2pu72cd8brkmkughclpyl z1hgrq8ikpue7k9cmk9sl5xpwfl8c 9hbw193lb03gcnggdkslf1ppclqc binnpzxqolydmhezezeihewrlhvg 7p6mjnlbj5nebyazfgramefu9ee2 hkznqgwolbzgxympawplkhiktiv6 1uajaodrgaoxlyabfuectxulwpf xgp2dx1gezdrnxawf3xlxonb9ps we2yrcw5jtxroskwb9dizesl4r elyldi8zl06rihstx7hwg53u2 pbwxuqywcmjyb8v0evxgah56 y1ooa0x4ddcekgsjpgkpjpmo 0rxlnulrsph4kvcse84djnuq fomakvhwn8kn03sxgksiqryq i0owuedgkabq6gwuoq5v5e2o 0jozbg6xmfccs2cbiykufiw3 a7zaamj7kvwdn9yanfqv20ag lboktrzby6cpcbxvx9i4qni gwcs6rlxghahs5dukoe7mmg xjhd7ohzh7ag08whhcsgcdu cjli0qjweqvtrrahtiafsoq njqmeqej1mvzbhbqzb34guo lrwrdezrbvvnshf4v9qk7ug dpwgproatmm8vfwsa9ugvw qybnuzyu6upsrx6zy9lsvs 3jaodve4mftaqjnrbeqmbr kup1dogmojd45nqsv5uqud hhddyu4r8u08etxbargkbi fiwjo4qobuwjgpvp94qqy0 peht2wtpmlkegdedywddwh yzx2efmjb2tstlbpzjvbyi h1ebwcfkqkscku7srgylfs sj593ercmttjm3fk26hcv1 1t1bzbesymfzmj49sdji3 pltltcxdjnf2vryi43vyh ulkjdqk1izobvkm2j7cz2 hmdvlziy2johd3nnxbbcd ees4l2awdihzqqbgz29bk mkhixzcyrdshlu0fm6ch3 whfqq0jm3vgux5hdbxnt0 xryfdztpptvvjjsrrv37z 4a3ubwzs3sir8r5q1fxp6 b9bpvxaqbve8wxqstbvqr dxdjdqo5m7qxfdglo2qpc ouorr5eqof2paopebvaw1 8qrrymyolfpgjtdkahs5m neqvlwxdft1lds30oqo28 f4zua5eqrchm27oovgkb 6ole59b9mytmzfxfmjv2 inef0edyym7owq38us8b e1u8nykpmimoyfo0fz7h ay1xpkv5lflmqxlf3cgu pmumzjc5phkk0rrkni54 f2cwt7rydsvrf0rpok1g v2cgzesi6wtmrcaucc0a 49eddxffecgs4sp67juk aqoxbsz6tkaq6zbo1tm localcustomizations hmxvx33qkei6j7qd20w ypywz3uernyqwc0oxs4 otx5vcipesddc56y8s ztyudzxyfmctdryepu ceo7yksgn9uwsxwj8l 5itiwlrplpj6ftetsx fp7oiarmjfgalbm3is mm5fkbh3wiibzgojtu kpgmez0ntphxpn6vq securityvariables zrenqeftxooceaawe wmoubc5jmwjtljjkk ji4vxipy1tvhp78xy kjr6tvshk0hhwhdv3 7mlxgsurkmnaelj6 defaultpasswords w20ji3bo8bxz5drw 8haadaxreogkfd9c kynjefuacurq4esg pl8ht02qfvzkgxxg eqlfgml2sfuopuh7 beiclitwodvkuyg nstbbogpojkrnel ailkpigbkmoflkm category_mirror b2sqibohgzgupob vy9hpakkevcrs2f uldshqanxmyo0zo sebovrbswkugraj mbkc8cuskhuqbda 3iokkmeyzcziymy blu0weexcvofpgf nolinkwikiwords 1n3jwaxihhglefo authorisations authorizations enableauthuser smiwzcq5sptw2m huzkhlwnvmvzpa vmibxshkt3dnys b3egsdgj3nijio sn7ivhcolzdmok xuq06t1tpt1fds htdeaxyyyo8hc9 eklzrcmvedpjck ancientwisdom bejelentkezni hiqijvgibsp1j configuration phsartzftbvdc frleiwxjzhzsg f9fgt0srt04be openbsdtai123 ins9xxwb9n4h pjuebgoxw5ge gv0hgxcnq7hn searchsocial include_once instructions pl6mpr4oevmb bvegxfnzpuv gdr3mpykmfl planetofnix ydst9exlfyg gp8sc432fsy debiankaios f4eesyrsb1n otlilpysrm4 miniontoby extensions locustlord pystardust 3mzsz3hyjz summersonw wonderland filesystem qge5dqqnfw dodocrypto pyritepyro irk6sag7aw hydragyrum obtaining fee1d3skl beginning gvlyotbvn fqcz1wfmv astroanax siteadmin fkkvb0omc something rplurfwq3 starewind encrypted outge5fng bugzbunny evfglv95k authorize neonshell ztrdmpvcu noisytoot specified w7cptvctw craziness belonging noxturnix identity username accounts aegilops external examples htpasswd snowcode specific bountyht wwgi6nv9 wsp2r80i 0gcdan1a obv5wmjw theguest 2kllevcx comptech gezwnjqq subline bangcat 3mvnu1n 4ztyavj specify enabled mistera zshnf2g waitman xv30yz1 writers leading zouheir editors ik3apry geekzer present ebhzbn8 ircuser nsturtz builder spookan baytuch fossdev t9iowtc eodrc6x 05fmm2l asdflkj sources appears summary scripts groups pmwiki action arthur zxtv1e caesar shrini sergio result anasko hhgmlh bwfdzd bogani dennis 6knc4w logged fvrbe6 yahsie pirata menche monaco quofan wmzccu people rsxxte either define ui0uos josiah erhard yalbcu koragg admins almajd login ugxga ifend glono st13g nicoz based zlpwd doesn farmd 55vvs saved gpzok alice pages 4h5jw navic sarah carol yydvh chewy moshe d6cu6 w16wa scara jykzl place lepht ldap 0b1f gsnt dave then du5u attr path zfgw from this db4w have look note that will your them like sign siva njpc mean taa2 form with fizi jrmu dima tony xfnw qsg3 hawk kont punk jgtk fear 2fwp skar tool ayam php bob 4y2 see add 2rp gry w3i uid ixg 1xa i3y 7km jlj any mkf wiz usr 2rz ret xcp 10 2b +Irc.Chanop:1639457930: : yourchannelname disconnected description information registering registered something retention registers following chanserv services security channels networks someone founder setting another however usually current options ircnow admins should choose secure signed chanop worked manual manage client taken peace modes kicks topic check allow rules about after first doesn names years this done else even then show last that 2018 like into join nick says case didn yeah will used with 2022 been want lock type org got has isn get ask can ago msg and pdt ban jul my of 39 by if 35 06 21 34 +9.9gridchan:1639456674: : watermelon 9gridchan username replace ircnow guest while write chat 9000 read echo unix from your done with tcp → org 9fs cat sed 1s 9p +Openhttpd.Configure:1639147446: Acme-client.Configure Telnet.Http Pf.Guide Openssl.Http : troubleshooting automatically configuration documentation renegotiation verification certificates cryptography connections information request_uri compression differences configuring requesting separation negotiated 1614233943 references background chalkboard signature challenge supported handshake http_host specifies openhttpd configure directory listening forwarded connected establish directive documents expansion forbidden indicates developed privilege actually blocking location s_client firewall searches overview security incoming instance rulesets normally hostname validity checking plumbing personal username 00000003 requests response examples connects computer starting protocol prefers private similar instead testing listing restart besides working openssl openbsd website replace address browser foreign padlock plugins content because charset doctype putting reasons chroots default encrypt timeout digital consult subject written manpage session virtual specify servers correct enable issuer dashed family bottom border verify secure x25519 should cipher telnet delete attach master weight length public sha384 except aes256 domain scheme bad7ff return reload adding strict change result begins ircnow before strong likely unable needed closed folder eeeff1 1e1f21 havent allows ensure which every files https rcctl after guide match later certs lines other using error while depth trust write chain visit names bytes tlsv1 sslv3 pfctl phone white index basic below found about title style color quick black comic serif media above might there pages strip known fruit tells clean light small your acme look want meta next head html wait that says with well once doas text body neue sans dark were pass then into this font also code 7200 aead good alpn none note must docs more easy team pros such fast 4096 real will used ecdh copy 3730 read bits temp sent edit make else some fine only show idea home date 2021 302 etc dst key see 443 org has ips crt 486 end 403 are two can run png bar new 367 253 gcm but ctx any www 1px tue feb url var get tcp may utf css gmt 01 80 h1 ms 28 pc of r3 x3 +Ngircd.Install:1638884657: IRC.Guide Chroot.Intro Netcat.Irc Hopm.Install Ngircd.Ssl Password.Management Ngircd.Link Openbsd.Rcctl Anope.Install Achurch.Install Acopm.Install : abcdefghijklmnopqrstuvwxyz noticebeforeregistration allowremoteopers defaultusermodes maxconnectionsip troubleshooting operchanpautoop requireauthping syslogfacility implementation cloakhostmodex configuration maxnicklength alternatively documentation cloakhostsalt automatically eavesdropper authenticate instructions installation configuring uncommented maxlistsize pingtimeout pongtimeout infrigement lightweight information recommended minimalist installing restarting production management admininfo1 disconnect connecting references absolutely examplenet understand nullrouted harassment unfiltered compromise maintained advantages adminemail impossible encryption admininfo2 described untouched servergid installed reloading serveruid firewalls developer listening configure identical localhost addresses necessary essential otherwise chrootdir typically debugging different platforms receiving sensitive passwords including invisible suggested copyright hostmask includes operator messages codebase building channels standard security comments rejected existing username probably motdfile portable overview accepted packages properly provided violence template official features chatting services remember intended gambling precedes cracking sysadmin actively software straight spammers multiple compiles maxjoins examples function finished upgraded stalking network correct without desired openbsd working replace outside contact another privacy linking illegal slander threats editing servers warning however command differs prevent options hosting listing symlink heavily _ngircd mistake besides syslogd directs ignored scripts achurch pkg_add appears extract written monitor careful created instead running support filters scratch clients limits ircnow insert barton sample remove resolv stands nobody bypass should entire source modern netcat easily blocks please string random daemon glines unique secure ensure cloaks reduce joined simple policy planet errors public inside global ddosed enable actual single domain verify terms ports linux acopm aware intro using earth above vhost rcctl hangs staff helps speak every index below leave anope whois libel drugs guide users keeps short agree https clean those which check going pkill proxy exact ready match after mkdir 16667 where files share crash setup until order chown begin later needs being avoid three while these title that have used stop hopm this will want from your text make more send into doas sets only next logs when many also like porn test wiki must ipv6 2001 pull note show does each been 1000 ipv4 real runs xvzf easy fork such 6660 6661 bsds free long lead 6668 6669 7000 6663 6662 6664 docs 6665 turn 6666 data 127 db8 can few one usr var ips get via but 192 168 see has php v26 ssl try new was don hup ftp org tgz 300 yes may day tls let cp ln ix +Hopm.Install:1638824319: Stopm.Stopm Rcd.Configure : command_queue_size your_network_name reconnectinterval command_interval negcache_rebuild command_timeout troubleshooting lookup_branded address_family disadvantages configuration automatically uncategorized target_string dropbear_2014 dropbear_2013 dropbear_2012 experimental reconnecting installation issuecomment occasionally spamtrap666 ban_unknown information readtimeout compromised autorooting advertising statistical heuristical connections blacklisted dns_fdlimit target_port dns_timeout foreground ssh_server cacheflows spamtrap50 dropbear_0 privileges determined compatible blacklists particular bcfiioqrsw proxychain dictionary parameter httpspost reference target_ip installed uncomment addresses configure openssh_5 automated indicated 301276082 encodings hopm_user recommend hostmasks connregex openssh_4 detected protocol password template contains operator identify nickserv username supports requires hostname flooding possibly realname efnetrbl resolver analysis messages chanserv howtouse cloaking modified download executed compared previous brackets 16fb7987 torsocks scanning innocent extended autohopm hopmpath max_read httppost dreambox checking toruser replace example warning pattern contact seconds looking dronebl pkg_add scanner channel expects created service specify section missing running appears bottler refused coconut wingate replies default suffice another instead crontab spambot attacks gateway hopmpid checked through cronjob proxies minutes monitor because perform somekey ignored useradd release extract archive scanlog scratch options pidfile prevent ircnow threat change before socks5 client define failed abused socks4 ngircd invite cannot record github listen trying myhopm should broken hybrid folder litmus squery nobody actual readme dronbl master exempt sample script public rosssh router botnet please switch drones result either unique errors needed syntax notice append issues blocks latest kbytes system daemon stored reply again squid visit kline first sdbot 16667 10000 29992 38884 types 18844 class since 17771 owned worms guide title users dnsbl thing 64101 found 31121 every hours match short allow begin 23t09 order which stopm start april fails kills where setup modes ircbl after local chmod using email ifend more note must 3128 8081 8080 will 8001 8000 ipv4 with mass 6588 make 8443 blob sent keep 1080 this from next data home bind then xvzf 2021 0600 bans null exit sure aaaa ipv6 when that come does doas fast pure page bots zone 8148 6552 6561 7464 7810 8130 8520 tags 8814 9100 9186 9447 9578 5634 5262 4480 4914 5113 6826 7198 7366 9036 4438 5104 docs only 3600 2020 been have node want also both team away uses fyle join same ddos org 754 few 255 its dev vpn may var but via has www 5p1 web see tls let 400 put ips due ksh ftp don etc new 180 yes was vps ovh 241 txt 512 59 9a of 22 69 mx 15 gz 32 42 53 +Opensmtpd.Configure:1638775014: Dns.Overview Nsd.Configure DNS.Mail Acme-client.Configure Opensmtpd.Openrelay Dovecot.Install DNS.DKIM Opensmtpd.Troubleshoot : h5itbhzs73t4jshaj9yx6tf63yrataqugbxocx67wyekhch4zqiod6lkh userdb_quota_rule a8d16cd2144222fa 83bd6b3b1669649f misconfiguration troubleshooting authentication automatically authenticated inconsistent alphanumeric check_fcrdns temporarily mtaproxy511 permissions information configuring credentials translated check_rdns connection optionally reputation encryption postmaster interfaces submission characters abnormally california localhost mtaproxy1 forwarded mtaproxy2 confirmed disabling opensmtpd authcheck addresses separated following identical configure important listeners fullchain whitelist specifies connected openrelay assurance recipient sunnyvale available including receiving explained supported firewalls plaintext usernames exploited passwords temporary protocol yahoodns dkimsign transfer hostname digicert complete virtuals overview filtered response starttls contains replaced variable selector s_client provider matching generate properly possible multiple 00000003 requires outgoing sections poolporg tempfail enabling mailname checking fallback starting increase hundreds indicate delivery packages loopback received security receives messages required gigabyte ifconfig _dovecot storage defines labeled records domains dropped finally example entries signing allowed already relayed install private sending default openssl without instead reverse happens trusted because similar warning maillog actions special returns smtpctl specify openbsd servers nothing filters express senders running earlier defined spammer packets written timeout limited suppose related aliases account showing managed useradd nologin maildir folders offline further request dealing blocked symptom working pkg_add passing include network logging _smtpd trying inside emails socket unable create errors egress passwd exited ircnow checks letter delete having finish entire length verify macros actual handle headed should tables signed blocks second handed except answer issues single forced reason adding decide extras public source github marked author please header victim result before hosts users spool using queue depth times first begin phase field smtps which 16h2s rcctl group setup might 39035 route reply vmail chown rules admin evpid being esmtp colon ports entry lines fruit delay third these basic shows known guide tells state valid enter offer pairs value child https whose apply files other often pages store chmod avoid point will your used sent that from ipv4 lmtp root doas free easy test rcpt sbin ctrl hash have type this quit also does same book want when s843 pony need must like note make much data each here sure last pop3 imap sets safe only acme more next goes into 2001 real mta6 good some base part they many stop anti been oath fccf 2602 both what hang ipv6 plus take high sha2 junk mta5 path case mask bind mean unix says vio0 done else lost keys proc exec disk mta7 too may 15s 195 nsd due am0 are get fix 587 way can via pki 395 etc src 168 192 lo0 but jan 104 see ne1 vip gq1 www 143 465 220 228 106 250 163 451 204 bf1 650 vps pem db8 new 127 81 38 rx 29 1g 2b 55 33 47 mx 17 77 +Ircnow.SSHFingerprints:1638756226: Ssh.Fingerprints : clmvqu0q8pix7hv92ocmm5pohxfyvyn33hcxkn0mfrk 0nthlt6mphsrone5e3flpc11v7k8hmalltkbqvyqlmg ddvpjfdfsmp0bttyz84o5ohlxtmwphp8gwdipwc4rvu liewh1okkm1yw3g4r096dpizln8q7gaskg5iqpayhv0 suo14qmmadftez9dzgybhfrnyp9crees5mrvvr6e0t8 tfgntqeynkisu0cphmezrlbkyvuylnnf9quakpijrau b8eg6kph0enoa80gzrsywdpbfittqkcqpa5zllytnso tcfbfmpbmi1pcoxk6o804onoibp1ttyimkvlu8oczlo zuyvmivs4pttgmhutgltygrizrhvugq1av9keqhqw8w teetiunbcvvvbjlkfnygbixhgeugde9j4g776npf4f4 otvy6dm7ulr5x9jzi40328wowpa3arplkxnt65ipy1y qcvqbfidaonla4my8cuipyacb7uwltu3acii22uakra jzx9b2se4ywg4ggz7ra3xxfjoktbbpupa42d5ujfe vgpgna4x0itdsjwpoaet3atmlok3p5wiuw2aren1 mz0kuriqsfwecnnmk0wme8nzqjbimslwjo4jmqol qpsl7ssqvsoarxnngcy5q4sfggfnabynzxzxq6 xxbmizlxi8kzel2souqdituy7c7b4dnzgfgi fnu7cx1gxdjexnnasnr5qw6b3nkwtyrbti mmmmkyjstnpsagvrr4mjsmtryqtmka zkfhl6nsicctw3ialn0rizvhcqwgwz uatquna8fodjrwtvmmxhzuzctfe24 ltfywjtipwidt7rcyehdhoa27bbi razh8bpyvql51zcjfetdj8nzpjdq ffkusymiyoay9atxdulbyeeewxlt wdlnjmegxyc48v17w2jwgsbe72n m6sd5iyyj5m1g7zdcfvhbrzceq ohv2fwpi2slhmx7utwgztphvcm p7xioqivc9yzcjjtbbxhv0jik cq3bwexnzb0jvp2d81ap5g6w4 lhgu5f5ricf0zkpxjfn0d35q j2oamwh2cijoytmzmm8lrzk8 1agi3m2ylukchgmq3smx8ro josyydyqrdi73orklzzhsq4 yvkispem7vkus5qfosqaeu eoijonzghehehebuz2rh5 5c56w2nemoqpuo2ylpf dlivmtx59tkwk2vkrl zyfgglplswjxqrciro vhhkuqlvglxmthejw4 xsypllxosrbz5oud4 ouasfdx7zs1z0a3gf ipou7txy1ze7nwi2 sshfingerprints xa3bli6dg8gfjc gfvleh6ia9vsm rl2kxocobj66 planetofnix 6yrmnjlqzxx 3n5gv2a4k0w xdijhgra3n npwmt4hzq1 mgpvxoebmt brzkpyqmho shelltalk bsdforall nastycode tzx3l4wu syoualj8 eigwxhwf v6gs4o9j ircology qkxov5n ed25519 connect servers freeirc cboskt4 hx5f8yn warning before sha256 ircnow verify ircfun unique ecdsa match a0lir title every 1024 3072 root 7cd3 need from host iqwc evpp p3sa here md5 rsa com org 9ye 2ac not 5b 26 54 2e d9 af 52 6c fa 1f 13 94 79 d7 20 d6 39 a7 c2 5d 6f f1 37 01 b1 7a 00 53 06 67 4e d1 18 ba 68 fc c0 90 46 f2 4b c8 4c 86 44 2b d0 b6 b9 45 64 0f do 98 63 c6 85 3c 87 36 41 05 f6 78 15 3d 8d 08 b5 97 31 1d 34 82 71 c3 e1 60 43 93 6a 1e 1c 3e 9e ea 7f db a1 95 69 61 12 74 75 8a aa f3 23 58 4a a6 16 88 91 89 62 99 bd 7d 5a 70 +Relayd.Acceleration:1638694042: Pf.Guide Leafnode.Install Tcpip.Sockets Znc.Relayd Openhttpd.Configure Dns.Records Host.Usage Openhttpd.Hosting Znc.Chroot Telnet.Http Netcat.Http Acme-client.Configure Ln.Intro Ip.Myaddress Openbsd.Ddos Openbsd.Loginconf Openbsd.Rcctl Openssl.Http Openbsd.Syslogd : acknowledgments troubleshooting configuration eavesdropping acceleration introduction configuring remote_addr simpletable server_addr integration server_port permissions connections certificate transparent recommended application encryption commentary configured webhosting convention indication forwarding foreground forwarded openhttpd following listening challenge directory fullchain verbosity afterward plaintext resolving hostnames myaddress loginconf necessary indicates newsyslog openfiles stacksize selective splitting different localhost correctly extension debugging instances available sometimes service1 properly service2 complete protocol requests services template increase sortable searches priority bouncers leafnode location filtered mistakes messages listener optional addition replaced rotation symbolic starting possible straight normally features balancer examples plumbing disabled database exposing produces enormous domains default already headers running provide maximum reverse openbsd android keypair devices install backlog content instead however forgery private present sockets happens simpler directs gateway td76656 archive syslogd quickly setting openssl enabled warning changes prevent haproxy restart records labeled missing another www6tls section stunnel without applied listens usually servers respond protect create public client relayd common either should wwwtls border please daemon insert before ircnow blocks packet update define handle useful errors syntax netcat guides detect nabble telnet actual typing secure chroot highly attach entire assume turned notice append failed relays number cannot bottom serves sample value three rcctl touch these entry lacks match https close using check above begin class large certs tight usage queue avoid pfctl which width based lines share below setup would title where there doesn being shows fails tcpip while first users those links layer strip wrong allow index known still panel about bind next what make same sure uses your ones this icmp than 4096 have doas both look that will stop used work only also from like when acme must need 2001 auto sack well want ddos test ipv6 them ipv4 html real they 1338 logs wish mail load into edit keys 7691 ends then send pros case last fill such var 443 znc ip6 say see ip4 dns any sni its 96m dvv may two bnc db8 127 crt man put 168 192 128 100 pem ios has won of by 80 go n7 +Eggdrop.Install:1638694042: Gnupg.Signature Eggdrop.Simple Openbsd.Tcltls : e01c240484de7dbe190fe141e7667de1d1a39aff allrecentchanges troubleshooting configuration fingerprint development examplebot indication afterwards downloaded eggdrop191 keyservers configure signature continues certified eggheads libtcl86 redirect optional filename securely obsolete messages signing belongs showing similar openbsd compile primary release warning unknown trusted reports botname tarball install replace extract problem tcltls action latest simple source should folder create verify import delete ircnow tcllib repeat error steps check owner files above there using gnupg https issue local state might title group make want next dest into with will this your xvzf recv pool then nano edit from need site wiki brss logs that good stop made 2021 gpg org pub for see due cst rsa net sks run ftp asc not mon and was bad www usr may rm gz 31 23 45 58 cd vi 16 36 +9.Todo:1638561149: : todo 9 +Vps.Vps:1638534944: Ircnow.Minutemin Openbsd.Vmm Openbsd.Vmminstall Openbsd.Vmmuser Vmm.Install Vmm.DebianIso Vmm.AlmaLinux Vmm.RockyLinux Vmm.CentOSIso Vmm.UbuntuIso Vmm.FedoraIso Vmm.AlpineIso Vmm.DevuanIso Vmm.GentooIso Vmm.NixOSIso Vmm.ArchIso Vmm.SlackwareIso Vmm.GuixIso Vmm.VoidIso Vmm.Plan9 : slackwareiso independence simpletable vmminstall rockylinux networking plan9front controlled gentooiso corporate almalinux debianiso centosiso marketing ubuntuiso teammates alpineiso minutemin fedoraiso devuaniso homestead bandwidth sortable business untested nixosiso platform monopoly internet herdquit purchase openbsd address guixiso against archiso vmmuser details pioneer virtual private support digital consult voidiso running taking ircnow border prefer attach server status distro 50mbps subnet future system rigged rfloat works guide class title there claim build 400px burst 60usd cloud today disk life full ipv4 ipv6 20gb year free your more join with solo vps don jpg ssd ram 1gb 100 can own 64 be we by +Cloud9p.RecentChanges:1638529367: : recentchanges hydragyrum december cloud9p roadmap 2021 03 at 05 04 am by +AncientWisdom.Bio:1638517381: : cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓 𝒶𝓅𝓅𝓇𝑒𝒸𝒾𝒶𝓉𝑒 𝓁𝓊𝓍𝓊𝓇𝒾𝑜𝓊𝓈 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉 𝒦𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝓅𝓁𝑒𝓃𝓉𝒾𝒻𝓊𝓁 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 𝓀𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘 𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼 𝐿𝒾𝓀𝑒𝓌𝒾𝓈𝑒 𝓉𝒽𝒶𝓃𝓀𝒻𝓊𝓁 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝒸𝑒𝓇𝓉𝒶𝒾𝓃 𝓂𝒶𝓉𝓉𝑒𝓇𝓈 𝒞𝑒𝓇𝓉𝒶𝒾𝓃 𝓋𝒶𝓇𝒾𝑜𝓊𝓈 𝓦𝓮𝓫𝓒𝓱𝓪𝓽 𝓐𝓷𝓬𝓲𝓮𝓷𝓽 𝒷𝒾𝓈𝒸𝓊𝒾𝓉 𝒸𝑜𝓃𝓈𝓊𝓂𝑒 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝖒𝖆𝖓𝖓𝖊𝖗𝖘 𝓦𝓲𝓼𝓭𝓸𝓶 𝓊𝓈𝑒𝒻𝓊𝓁 𝑜𝓉𝒽𝑒𝓇𝓈 𝓌𝒶𝓈𝓉𝑒𝒹 𝒸𝒽𝑜𝑜𝓈𝑒 𝖈𝖔𝖓𝖛𝖊𝖞 𝖂𝖎𝖘𝖉𝖔𝖒 𝒫𝑒𝑜𝓅𝓁𝑒 𝓺𝓾𝓸𝓽𝓮𝓭 𝓐𝓾𝓰𝓾𝓼𝓽 𝒶𝓁𝒷𝑒𝒾𝓉 𝓁𝑒𝒶𝓇𝓃 𝔀𝓱𝓮𝓻𝓮 𝒻𝑜𝑜𝒹𝓈 𝓨𝓸𝓾𝓻𝓼 𝓌𝒽𝒾𝓁𝑒 𝓅𝒾𝑒𝒸𝑒 𝓸𝔀𝓷𝓮𝓭 𝓣𝓻𝓾𝓵𝔂 𝓦𝓱𝓮𝓻𝓮 𝕾𝖍𝖔𝖗𝖙 𝖜𝖍𝖎𝖈𝖍 𝓒𝓪𝓫𝓲𝓷 𝓔𝓜𝓪𝓲𝓵 𝓦𝓱𝓸𝓜𝓮 𝓈𝒾𝓏𝑒𝓈 𝓉𝒽𝑒𝓃 𝔀𝓲𝓵𝓵 𝓯𝓻𝓸𝓶 𝖜𝖊𝖗𝖊 𝓦𝓱𝓪𝓽 𝓓𝓮𝓼𝓴 𝓕𝓻𝓸𝓶 𝓁𝒾𝓀𝑒 𝑒𝓋𝑒𝓃 𝒲𝒽𝒶𝓉 𝒹𝒶𝓎𝓈 𝓀𝑒𝓅𝓉 𝓂𝑒𝒶𝓁 𝓉𝒾𝓃𝓎 𝖑𝖎𝖋𝖊 𝓉𝒽𝑒𝓎 𝑔𝑒𝓉𝓈 𝒮𝑜𝓂𝑒 livesystemstatus 𝓈𝑜𝓂𝑒 𝓹𝓸𝓸𝓻 𝔀𝓲𝓼𝓮 𝓸𝓷𝓬𝓮 𝓌𝒽𝒶𝓉 𝖒𝖔𝖉𝖊 𝒿𝓊𝓈𝓉 𝓶𝓾𝓬𝓱 2cancientwisdom δňćɨ€ňŧ channelstatus 𝒸𝒶𝓃 fingerprints 𝓘𝓡𝓒 𝖎𝖙𝖘 𝒻𝑜𝓇 𝒷𝑒𝑔 𝒽𝒶𝒹 𝖋𝖔𝖗 𝒶𝓃𝒹 𝖙𝖍𝖊 ancientcabin 𝓱𝓸𝔀 𝓑𝓲𝓸 𝖆𝖓𝖉 𝒷𝓊𝓉 𝔀𝓱𝓸 𝓣𝓱𝓮 ŵɨşđøμ 𝓶𝓪𝓷 𝓃𝑜𝓉 𝒾𝓉𝓈 𝓷𝓸𝓽 𝑜𝓃𝑒 𝒽𝑜𝓌 oddprotocol uptimerobot generations ircstatsgrp cellspacing transparent xy3wjtlq6v background monitoring mysterious torproject throughout themselves liveupdate commenced bsdforall creations knowledge unlimited continues creatures associate different providing universe download acquired 𝓐𝓜 stopping offtopic 𝖙𝖔 𝑜𝒻 clearnet nofollow 𝖎𝖓 𝓸𝓯 𝖔𝖋 𝓉𝑜 tableend likewise browser podcast install contact div2end another justify network getting eggdrop openbsd gateway council div5end current webchat bgcolor evolves decades div1end provide target _blank cellnr people ircnow gained passed matter stuffs mirror anyone 000000 should upload portal around client wealth better mailto ff3300 pmwiki ff7f00 border access divend rfloat others attach https duels wheel onion shell sites admin email title users apply those there today group class style image think width align inter 300px means right hopm help nbsp team 9090 2021 note root have they flow from over many days come eyes font size 21px what ways text word org and 174 may rel url png 100 god our bio uio ssh pgp www 46 by v3 05 d4 su +Cloud9p.Roadmap:1638507885: Ircnow.Servers : possibilities configuration documentation concurrently prototyping components production additional interested discussion prototype determine implement necessary separate openbgpd starting physical software resource involved existing priority testing network joining overall members openbsd roadmap clients suggest capable cloud9p servers compile warrior sharing various refine ground should filter packet detail update ircnow create above other where setup first vpses goals teams plan9 added items iked site side oses free with feel ones done will vpns list for you and run etc low as pf +Pylink.Chroot:1638453790: Oidentd.Install : zl0xnpepqimax2wabkn5gcowomyei1pu5jqyyqnulazr4bxqmscz0mgbhqbccke 9epkgnfslszhjk9yjy16mkqtekcvzohdt1myabxqtjq fylnwwxsvxc2gpn3am994fmitd abcdefghijklmnopqrstuvwxyz aebckwwa0hqvnuyigbbwqg allow_free_oper_links accept_weird_senders allow_clientbot_pms whois_show_accounts 3u5eotbszwl3wwvf0 whois_show_server clientbot_styles wlvlzycgbnjpmvqy textfilter_globs relay_clientbot troubleshooting pylink_altnicks spawn_services forcetag_nicks show_netsplits disadvantages administering throttle_time masshighlight notifications pylink_ident accidentally dependencies installation peerpassword require_oper pylink_nick autoconnect permissions servprotect time_format prohibited afterwards represents highlights shibboleth punishment libpthread sslconnect maxnicklen serverdesc libpython3 changehost min_length cachetools setuptools mypassword connecting eventually frequently watch_pms shortened localhost encrypted pkgconfig unchanged profanity uncomment generated configure unidecode separator following joinmodes recommend passwords min_nicks something sometimes hostmask recvpass username libiconv channels security properly commands sendpass mkpasswd protocol antispam automode multiple networks partquit together hostname sidrange whatever reliable f6e1cdd3 automake aborting realname botident requires defenses loglevel replaced messages reserved insecure bindhost unstable hideoper running depends servers letters yournet netname warning example botnick libexec console logging include libutil libintl plugins because someone specify pnotice aclocal attempt useradd prevent finally already display restart pkg_add passlib bloated oidentd simpler process quickly crashes written related joining trusted passive section enabled address chroot rounds pyyaml harder should resolv ngircd prefix remain sha256 psutil pbkdf2 phrase github reason opping adjust floods exists export global delete status remote create appear inside reload remove errors domain across simply action please prefer order ifend false other 22986 claim again users stuck 81447 noisy files lines named those going 16667 ports block 16697 below leave check extra login 29000 above rcctl group hosts steal sjoin squit games stats opers vhost match lists names share owner buggy mkdir embed first hints title clone https shows guide home team upon jlu5 true pip3 oftc this libc each then like want must note need doas here pick pure more 2021 done from that when keep says man1 28tu less used kick with info next libm ctcp will have test very does edit also cert hash kill only grep gets full lets help yml usr can doc msg 143 163 var 127 pid etc 123 now pem bad ksh may 0py vps py3 495 raw new 38 19 39 15 03 p7 08 by pc 10 96 11 m4 30 50 26 +Pylink.Install:1638453762: Oidentd.Install : zl0xnpepqimax2wabkn5gcowomyei1pu5jqyyqnulazr4bxqmscz0mgbhqbccke 9epkgnfslszhjk9yjy16mkqtekcvzohdt1myabxqtjq fylnwwxsvxc2gpn3am994fmitd abcdefghijklmnopqrstuvwxyz aebckwwa0hqvnuyigbbwqg allow_free_oper_links accept_weird_senders allow_clientbot_pms whois_show_accounts whois_show_server 3u5eotbszwl3wwvf0 textfilter_globs clientbot_styles wlvlzycgbnjpmvqy pylink_altnicks relay_clientbot troubleshooting spawn_services show_netsplits forcetag_nicks administering masshighlight disadvantages notifications throttle_time pylink_ident installation peerpassword accidentally require_oper dependencies time_format autoconnect servprotect pylink_nick permissions highlights sslconnect mypassword prohibited shibboleth cachetools changehost punishment connecting libpython3 setuptools maxnicklen min_length libpthread represents frequently eventually serverdesc afterwards joinmodes configure following pkgconfig watch_pms unchanged unidecode something min_nicks shortened passwords localhost uncomment generated encrypted recommend separator profanity sometimes together username loglevel recvpass networks sendpass commands channels multiple partquit automode hostname sidrange libiconv antispam protocol botident whatever reliable reserved requires security hostmask mkpasswd properly f6e1cdd3 aborting defenses replaced realname automake messages unstable bindhost insecure hideoper console libintl warning specify someone trusted section aclocal oidentd servers display botnick example passlib running netname logging libexec libutil plugins depends yournet because include pnotice letters joining simpler address passive attempt crashes bloated written related pkg_add already restart useradd prevent quickly finally process enabled opping chroot global harder prefix github pyyaml adjust please floods ngircd remote exists should simply remove sha256 pbkdf2 action export delete rounds resolv status inside reload prefer reason errors psutil across remain create phrase appear domain order ifend 22986 false stuck files 16667 group rcctl those going block below leave lines sjoin squit games stats noisy lists login 29000 opers steal vhost match hosts extra 81447 above claim 16697 named other ports check users again names share owner buggy mkdir embed first hints title clone https shows guide home team upon jlu5 true pip3 oftc this libc each then like want must note need doas here pick pure more 2021 done from that when keep says man1 28tu less used kick with info next libm ctcp will have test very does edit also cert hash kill only grep gets full lets help yml usr can doc msg 143 163 var 127 pid etc 123 now pem bad ksh may 0py vps py3 495 raw new 38 19 39 15 03 p7 08 by pc 10 96 11 m4 30 50 26 +Openrsync.Usage:1638445945: : synchronizes lightweight simpletable destination recursively corruption filesystem everything ermissions shorthand directory openrsync imestamps available transfers functions verbosity following username sortable capacity explains multiple symbolic increase continue complete designed actively current folders example options specify special however warning purpose rewrite mounted backing profile written openbsd require dgloprt remote copies copied source backup md5sum second htdocs common primer little server cancel border enough before rchive ifend false local space least abort 1005m enter using check quick title usage https match needs buggy class being occur width evice home make your sure have disk most will ctrl mode root dump with doas path sets take much sd0a sd0f sd0d 153g 192g sd0k 844m 111m sd0e used size date this from both then call data read echo type wner each copy roup next into turn also inks pwd dmp var dev ssh vmm tmp may mnt usr put see org man www run 9g df 12 28 7g 16 22 4g 63 14 41 2m 0g +Jrmu.Marriage:1638425380: : discrimination homosexuality specifically extortioners pornography ideological corinthians homosexuals prostitutes environment unrighteous slanderers censorship adulterers experiment accusation principles christians welcoming religious religions drunkards providers prejudice idolaters statement guarantee covetous children sexually anything politics deceived maintain marriage entirely evidence internet exercise repeated towards labeled hostile beliefs thieves welcome network inherit freedom immoral neither support holding kingdom without against require healthy speech others quoted claims unfair invite please policy ircnow spread topics anyone accept groups adults bible verse press there tests about these staff title never false users https this will does lgbt that wiki join know were done harm ages have also open male both jrmu bans when been safe wide they core long hate goes race not due our was has god znc can but nor ago you let of my 10 9 6 +Openrsync.RecentChanges:1638411241: : recentchanges openrsync december usage 2021 jrmu 01 at 36 pm by +Hosting.Hosting:1638367278: Rsync.Usage Openrsync.Usage Hosting.Ssh Fireftp.Connect ChromesFTP.Connect WinSCP.Connect CoreFTP.Connect FreeFTP.Connect Gftp.Connect CyberDuck.Connect ClassicFTP.Connect AndFTP.Connect FileZilla.Connect PSFTP.Connect Fetch.Connect : expressiveness professionals simpletable expandrive classicftp interarchy chromesftp commander filezilla cyberduck uploadftp openrsync marketing forklift software transmit sortable webdrive abecabin acrosync fireftp freeftp coreftp connect license android windows hosting website support request started account create winscp ircnow border charge rclone anyone andftp rfloat attach castle psftp fetch putty sshfs usage title setup wants bring width linux live lftp fugu with chat gftp home from crax data real over time your code php8 back that just name help will join ircs then own ads get jpg his 2gb via can org ios mac 100 log not to +Mc.RecentChanges:1638289496: : recentchanges november usage 2021 mkf mc 29 at 07 53 pm by +Mc.Usage:1638215633: : unimplemented unfortunately manipulation operations convenient subsequent commander customize directory otherwise troubles mitigate midnight subshell powerful flexible provides affected browsing possible account openbsd issuing profile program create double logins ticket please order alias purge usage https still under this your with free make note that will type 3658 cat how use org bug set mc by 1 +Biboumi.Install:1638189868: Openbsd.Ddos Prosody.Install : require_cert_revocation_info use_ecc_point_compression realname_customization dwithout_postgresql realname_from_jid component_secret fixed_irc_server identification xmpp_server_ip configuration outgoing_bind dependencies configuring participate sourceforge discussions connections invitations installing management persistent phoenixnap configure compiling installed e2fsprogs unlimited automatic biboumbi supports download snapshot embedded hostname filtered requires password programs pervious log_file building nickserv favorite features biboumi tarball libuuid extract prosody openbsd pkg_add sqlite3 example replace address running project however ca_file channel notices private bouncer listing servers version gateway colors actual public policy identd libidn update botan2 method ircnow sample client number methid adding using false admin doesn louiz users cmake https their basic mkdir chats above unzip first only this like doas then also need udns ping ddos sure your unxz will here true next goal ctcp 5347 and etc cfg git ftp xvf its let tls can net pem ssl var 127 192 txt gz cd dl of by 0 +Email.Email:1638159591: Squirrelmail.Connect AppleMail.Connect Alpine.Connect AndroidEmail.AndroidEmail Balsa.Connect Becky.Connect BlitzMail.Connect ClawsMail.Connect EM.Connect EmailTray.Connect Evolution.Connect Fdm.Connect FirstClass.Connect ForteAgent.Connect Geary.Connect Gmail.Connect K9Mail.Connect Mutt.Connect Opera.Connect Outlook.Connect Tencent.Connect Thunderbird.Connect GNUMail.Connect Gnus.Connect GroupWise.Connect IScribe.Connect HCLNotes.Connect IMP.Connect KMail.Connect MailWindows.Connect Mailbird.Connect Mailpile.Connect MailSpring.Connect Seamonkey.Connect Nmh.Connect Pegasus.Connect Spark.Connect Spicebird.Connect Sylpheed.Connect TheBat.Connect Trojitá.Connect Turnpike.Connect Pgp.Create Pgp.Upload : configuration squirrelmail androidemail transnetwork thunderbird simpletable ponyexpress mailwindows firstclass mailspring forteagent delivering completion evolution clawsmail groupwise blitzmail emailtray appointed following protocols seamonkey applemail marketing spicebird sysadmins mailbird register mailpile hclnotes couriers trojitá turnpike sylpheed supports software creating sortable connect pegasus gnumail tencent outlook iscribe clients license unified started bouncer neither account mounted storage webmail create upload alpine thebat border lfloat lgplv2 margin relays attach k9mail server ircnow apache agplv3 rounds spark opera geary becky mplv2 kmail balsa guide gmail title width offer these their swift gloom night linux since 300px right horse stays using mutt free from name with chat ircs your join then gnus june imap open 2019 smtp 30px ddos spam snow ask non pgp ✓ org pop nmh nor 100 fdm ios mac jpg get bsd 1g +Dovecot.Install:1638102641: Openbsd.Loginconf Openbsd.Rcctl : auth_verbose_passwords auth_debug_passwords troubleshooting _rc_rm_runfile _rc_parse_conf configuration dovecot_flags mail_location instructions installation oddprotocol verbose_ssl permissions dovecotcert _rc_quirks mail_debug submission loginconf openfiles debugging directory euhb95xlq protocols suggested ownership indicates fullchain following addresses ssl_cert rc_check _dovecot cap_mkdb explains readable starttls s_client prevents username required replaced rc_start consider _rc_wait starting doveconf blowfish database settings allowing receives example defines support openbsd changes folders comment finally service encrypt missing maildir include nologin warning virtual rebuild useradd coconut connect openssl maillog pkg_add happens managed readmes default ssl_key private please aiyngk domain enable system remove passwd script userdb spaces failed daemon static second bottom driver exists turned scheme ircnow passdb forgot adding denied listen single secure public _smtpd doing vmail which fails _mail rcctl users https group owned store error write block tells lines chown chmod fatal these using class empty world local share again first order since where doas your need that mode must real with imap sure 0750 from make this 1003 when will sbin work note more than help find have 4096 just best euid many lmtp 8192 egid tabs used says path want pop3 jrmu also args home then last host case 2001 sha1 such 518 etc 125 231 jun var pem can see may 143 let via blf ext out yes and aid ips don db8 168 but usr doc max by we if rx 80 of 41 37 35 my +Texlive.Sinhala:1638081303: Texlive.Install : ප්‍රයෝජනවත් මෘදුකාංගය සායක්කාර සිංහලෙන් පාවිච්චි මෙවලමක් මාතෘකාව ලිපියක් කිරිඉමට ලියන්න ලේටෙක් documentclass fontsnetwork ඉතාම සකස් මෙතන අසංක setmainfont usepackage italicfont extension මෙය කලා maketitle installed xunicode language fontspec geometry download boldfont blogspot filename textlive building iskoola sinhala texlive section recolog writing xltxtra english article xelatex a4paper එය output follow මම මේ source author bottom begin https there right potha using pota some 12pt left 2017 need date have html com pdf ftp end ttf 5cm top you and 07 cd bf mv 16 +Gajim.Biboumi:1638018145: Gajim.Connect Irc.Guide Biboumi.Install : startjoinchat connected hostname provided checkbox username already replace biboumi channel example servers another install bridge attach format ircnow search unable bottom corner gajim taken click guide right group title using with menu clck nick that next been will then type pick want your xmpp this has bar muc are png and com org can by if +Xmpp.Xmpp:1638016412: Adium.Connect Aparte.Connect Astrachat.Connect Ayttm.Connect Barnowl.Connect BeagleIM.Connect Bitlbee.Connect CenterIM.Connect ChatSecure.Connect Conversations.Connect Coccinella.Connect Dino.Connect Freetalk.Connect Finch.Connect Gajim.Connect Gajim.Biboumi Instantbird.Connect Kaidan.Connect Kopete.Connect Kontalk.Connect Mcabber.Connect MirandaIM.Connect Monal.Connect Movim.Connect OneTeam.Connect Pade.Connect Pandion.Connect Pidgin.Connect Poezio.Connect Profanity.Connect Psi.Connect Siskin.Connect Spark.Connect StorkIM.Connect Swift.Connect UWPX.Connect Wime.Connect Xabber.Connect Yaxim.Connect : conversations instantbird simpletable coccinella chatsecure astrachat mirandaim messaging profanity emulation freetalk standard provides accounts sortable centerim beagleim software platform connect kontalk biboumi storkim pandion barnowl mcabber oneteam bitlbee android windows support running devices syncing message license poezio xabber agplv3 siskin across cygwin kaidan kopete aparte pidgin almost bridge ircnow border charge spark yaxim gplv2 monal movim gajim ayttm adium swift finch title class linux width staff works every name wime uwpx xmpp dino open that from time with pade real wine ✓ psi 100 mit web ios mac +Squirrelmail.Install:1637967048: Opensmtpd.Configure Dovecot.Install Opensmtpd.Test Php74.Install Relayd.TLSMulti Openhttpd.Intro Unbound.Configure : sqsession_is_active php_session_active sqsession_start troubleshooting squirrelmailing session_status config_default webmail_access authentication compatibility unfortunately accessibility configuration administrator modifications webmail_error default_pref organization acceleration permissions interactive replacement sourceforge information preferences letsencrypt certificate disposition alternative development configuring javascript attempting connection afterwards configured compatible configtest additional extracting nameserver installing supported essential complains recommend localhost databases openhttpd functions opensmtpd following fusername debugging subdomain documents delimiter addresses languages necessary installed directory receiving challenge services location sendmail browsing continue smtphost settings provides normally defaults specific software tlsmulti chrooted listener 26214400 writable remember required projects licensed properly drawback optional messages brackets security original instance browsers sending already example unbound records request another dovecot defines tarball fastcgi initial misused command release folders contact control unusual mt_rand foxtrot baytuch opening general private contrib because nologin disable exiting keypair written openbsd include uploads restart servers appears however changes defined instead resolve plugins charset warning strings without charlie content subject options version femail public htdocs return client relayd attach create rather errors secure longer making trying detect switch delete inline needed across locale actual ircnow myname themes logout daemon braces typing syntax before invert socket cannot should report latest master update system serial number please reload offset issues frames readme stable lookup global false books color mkdir delta ascii bravo alpha works setup curly there check above hosts rcctl using chmod intro php74 https chown touch notes every array fatal saved which files write shell happy might enter press means exist could where query since title strip block class zones ifend based chain index first lines known needs does your sure make type exec were made find imap 2001 doas want will ipv6 like ipv4 real this that ctrl sbin must chsh have when both xvzf body bind well acme page aaaa logs than some copy runs help into move echo sign easy wiki motd once done pop3 time full edit mime html uses give menu text many next quit hide nsd var www db8 127 etc net see has ftp way bad usr its 143 via fix src few 451 zip ksh ssl gpl crt day 403 max 644 634 dns fpm 755 gz 22 cd 80 by 10 rx mv 9 +Mcabber.Connect:1637933884: Cygwin.Install Xmpp.Xmpp : iq_version_hide_version clear_unread_on_carbon ignore_self_presence iq_version_hide_os max_history_blocks message_autoaway cmdhistory_lines beep_on_message toggle_offline load_muc_logs configuration iq_time_hide registration log_muc_conf unread_next logging_dir registered installing completion encryption load_logs mcabberrc currently otrpolicy alternate possible password examples username licensed escdelay notavail includes replace support account servers carbons running another console contact connect openpgp pkg_add openbsd default otr_dir windows command change attach create sample jabber cygwin folder ircnow roster status tested online manual client buffer record mkdir alias local share https linux small admin multi order using login only real bind have with your more once xmpp need idle been note will chat doas down sasl here band able file set 514 ssl 521 tls 276 269 say dnd gpl has gnu mac for can 250 org two png jid put usr top 24 17 cp 8 +Acme-client.RecentChanges:1637850477: : recentchanges configure november theguest client acme 2021 14 at 04 33 pm by +Vhost.RecentChanges:1637850477: : recentchanges ancientwisdom november freedns ircnow vhost march 2021 wiz 15 by am at 13 12 22 pm 11 16 +Doas.RecentChanges:1637850477: : recentchanges starewind configure overwrite november changed append 2021 doas then at to 11 by pm 30 01 +Php.RecentChanges:1637850477: : recentchanges bugzbunny november install 2021 php 24 at 11 44 pm by +Squirrelmail.RecentChanges:1637850477: : recentchanges squirrelmail bugzbunny november webmail install connect usually server your 2021 org 55 by pm 11 at 24 to it +Biboumi.RecentChanges:1637850477: : recentchanges november biboumi install 2021 mkf 24 at 12 17 pm by +Ircnow.Explorer:1637767019: Ircnow.Servers 9.Bootcamp 9.Account Vps.Vps Ircnow.Goals Ircnow.Codeforce : contributors development innovations filesystems distributed namespacing independent integrated supporting stroustrup completely interfaces nameserver everything philosophy technology windowing operating landscape dominated computing influence protocols community explorers resources codeforce uncharted volunteer marketing sacagawea kernighan portfolio anonymous language replaced possible berkeley services keyboard internet original included designed clusters thompson invented offering personal accepted tutorial software purchase proceeds computer bootcamp chording frontier verified network process servers creates upgrade payment provide extends account website towards adopted sockets lasting project chroots special removes compile elegant follows wayland ritchie desktop created forever course attach custom ircnow resume unique dennis thirty clones twenty global change before chance method impact finish option easily future thanks domain appear simply simple should procfs itself ioctls friend rfloat social mutual client easier bjarne charge watch plan9 below https using media write train refer learn admin about staff photo email build title sound takes mouse today brian 50pct width first years goals month never weeks apply space linux union grids like been with make help have unix were what free next your open that will join want over team send need mind 5usd live demo four give jrmu host pike tour more idea card each keep sees webm come from blog this labs bell same find star cent set the how vps can org rio who get any own new 101 jpg all ssh ftp x11 was ken rob utf by 8 4 +9.9pfs:1637762441: : installation mount_point somewhere ftrvxmtrx supports portable mounting openbsd servers caching working github 9pfuse allows client https clone known usage might cause using which will bugs 9pfs stop that else host make than doas more did you don for and can com if cd is +Vmm.DebianInstall:1637754286: : debian_frontend authorized_keys debianinstall corresponding configuration installation environments instructions permissions previously installing necessary graphical important interface recommend debianiso following priority username diskname provided namepckg password unsigned packages sudoers command options advance machine console virtual upgrade updates connect vmlinuz correct minimal network adduser require already switch0 entered 115200 create enable kernel remove memory initrd lladdr during remind server advise locked simple expert ircnow image email linux press amd64 other close ttys0 after 1024m there egrep qcow2 users write media later cdrom https owner start index times vmctl those your then edit file with root have exit from even them will grub give data they soon list home just stop hand menu ctrl text come line wiki via apt vps let ask bpo for run try vmm etc log ssh 16g not are org set car php but tab out new get mbr we if by lh aa gz bb cc ee ff go 14 ls +Siskin.RecentChanges:1637713267: : recentchanges november connect siskin 2021 jrmu 23 at 04 38 pm by +Siskin.Connect:1637685538: Xmpp.Xmpp : pushnotifications sendnotifications usernamepassword preferreddomain registration lightweight encryption security licensed download consider multiple prompted appstore powerful complete another warning example account protect privacy connect servers calling install ircnow attach siskin better offers themes create enable photos device should first allow apple chats https video color gplv3 share omemo using xmpp with home then free next sync from easy your this fill tap and png ios for org way non new one im +Dino.RecentChanges:1637676651: : recentchanges november connect dino 2021 mkf 23 at 10 pm by +PmWiki.FmtPageName:1637664352: PmWiki.Functions PmWiki.Variables PmWiki.Internationalizations PmWiki.PageVariables Cookbook.Functions : internationalizations internationalisation internationalized lastmodifiedhost lastmodifiedby groupfooterfmt enablepathinfo substitutions corresponding 28programming pagevariables automatically documentation interpolation availability substituting alphabetical replacements fmtpagename corresponds centralizes substitions translation pagetextvar groupspaced titlespaced myvariable namespaced processing assumption subroutine incomplete substitute formatting frequently referenced converting performing attributes generating rebuilding convention beginning according sequences expensive typically something formatted scripturl modifying instances different regarding describes functions character filtering currently available extremely displayed performed arbitrary variable_ wikipedia path_info remaining basically internal specific followed whatever advanced contents explains anything audience security replaced fullname multiple repeated standard readpage probably template defining normally cookbook performs intended instead reverse caching actions globals special however browser because dynamic trusted produce happens limited pageurl through variety related general calling strings exposes perhaps shouldn finally pauthor pattern somehow appears summary phrases notably applies require follows returns values newwin things cannot exists simple become change unsafe needed suffix markup output better arrays tables loaded pmwiki xyzfmt letter coming unwise handle people cached admins ptitle rather obtain pcache robots called syntax moment engine viewed their these calls heart which order usual sites those using upper green under other being based wrote avoid least needs defer along items doing phase there going means often aware since done also else over that with this fmtv next such they hold very like will just have used only rule than must been urls list work into file tmpl weak uris more case then note ways from word exit hide aren same when see php pvs pre its may set etc isn why 29 +PmWiki.PageListTemplates:1637664352: PmWiki.PageLists Site.PageListTemplates Site.LocalTemplates PmWiki.PagelistVariables Cookbook.PagelistTemplateSamples PmWiki.PageVariables PmWiki.PageTextVariables Cookbook.DictIndex Cookbook.SimpleForum Cookbook.Cookbook : pagelisttemplatesamples additionalpagevariables specialreferencesend fpltemplatepagefmt pagelistvariables pagetextvariables mytemplatepage localtemplates grouppagecount administrators automatically configuration functionality traditionally supplemented distribution alphabetical simpleforum referencing templateend generating maintainer bytitleend groupcount deprecated structures overridden parameters conditions attributes particular directives involving iteration increases eachcount available displayed separated arguments pagelists signifies beginning generated dictindex following specified including enclosing locations advisable cookbook upgrades identify examples defaults fullname creating reaching contains standard iterates returned directly previous replaced repeated displays sections tableend postings versions simplest improved intended included indicate complete inserted property redirect together searches multiple actually database without desired command current options entered returns grouped purpose ordered specify changed however enclose opposed control formats recipes summary benefit closure signify writing content instead variety changes sidebar denoted updated defined meaning anchors several preview markup during within custom appear entire having before sorted useful column output resets values easily script except titles pmwiki author quotes double tables modify cellnr starts second closed stored header syntax common enable breaks footer inside first equal could write every which their pages might these ifend found using where words other those being trail saved doesn looks still usage alone would there total allow after class width tests based frame match whose last from ways uses most same this next only loop used that have then none site will just also help when body into item many your make must than need show work like acts divs open jump some once were thus upon such been are see can new has own its etc may was now of 2 5 1 3 +PmWiki.Drafts:1637664352: PmWiki.EditVariables PmWiki.Passwords PmWiki.SecurityVariables PmWiki.LayoutVariables PmWiki.Drafts : draftrecentchangesfmt enabledraftatomicdiff securityvariables enablepublishattr allrecentchanges layoutvariables administrator changesummary contributions editvariables alternatively configuration customization authorization individually enabledrafts intermediate unpublished draftsuffix currenttime permissions distinguish temporarily capability authorlink publishing subsequent postdraft passwords otherwise summarize available pagelists sitegroup original requests previous becoming versions separate postedit recorded orphaned moderate included required multiple postings enabling searches provides removing official however leaving default further history editing created handled depends whether between entries similar disable instead example interim buttons setting changed defined module should ignore remain delete latest single pmwiki saving appear causes either intact anyone _post enter unset bring local array dates names saves usage saved using after edits these since entry final split could feeds pages start level which prior stage order clear ready until with have then both this adds will them from only also into file sets used thus copy when kept show that back note most been for can has rss may see non faq hlt php are by do 1 +Category.GroupFooter:1637664352: : groupfooter generated fullname category pagelist summary content request normal pages link for 1 +PmWiki.RefCount:1637664352: PmWiki.WikiAdministrator PmWiki.LocalCustomizations PmWiki.RefCount : refcountcontrolsend localcustomizations wikiadministrator recentchanges include_once referencing referenced references following contains fullname existing includes performs searched orphaned database display selects example missing summary scripts placing between enabled output unless newwin action appear number groups browse pmwiki before counts where pages shows table there limit names using which links bring farmd file make long with very that from this only line each will have must them non can you and use don but all any way url add php by of +PmWiki.WikiFarms:1637664352: Cookbook.FarmSetupByExample Cookbook.WikiFarmAlternative PmWiki.WikiFarms PmWiki.WikiGroup PmWiki.Installation Cookbook.CookbookBasics PmWiki.LocalCustomizations PmWiki.WikiFarmTerminology PmWiki.WikiFarmsAdvanced : localcustomizations wikifarmterminology wikifarmalternative farmsetupbyexample wikifarmsadvanced administrative administrators authentication cookbookbasics installations automatically configuration farmpubdirurl authorization independently prerequisites instructions particularly consistently session_name intermediate alphanumeric interactions include_once cs559sessid definitions configuring recommended responsible subdividing information considered individual identifier wikigroups farmconfig components categories completely collection scriptfile motivation background inclusions additional impossible accessible difference directory subdivide installed wikititle generally processed difficult contained knowledge structure different upgrading procedure completes unrelated following mynewwiki pagelists reference regularly statement xyzsessid describes important computing described configure existing organize creating location variable separate provides contains password starting sessions audience managing involved remember authuser writable anywhere probably relative username choosing slightly absolute directly contents commands inherits settings versions category multiple assuming updating portions services included requires examples function choices working recipes decided between running windows apache2 browser summary another totally testing upgrade because sharing several domains primary minimal defined appears written buttons amazing changes address scripts default comment execute largely calling message attempt discuss pmwiki single shared within search create server reader better choose points become common before unique switch stored farmed simply quotes second double matter prefix normal things across affect effort little secure option tested rather repeat called adding cookie allows simple enough phrase assign reduce amount should there wikis might farmd index files pages place error under doesn badly which ready apply would wiki1 track wiki2 least about could whole loads links holds still notes first these while order sound using steps sense makes based gives click their skins every need turn home into your this self edit near that have path like each sure just must only ways many used will most code keep look http exit pick live line want when wide more they data than such much idea both easy view sets same time rule from open uses good feel been news also them some urls fact move copy web php can why two how see www own has may per gui top don get try of 3 +PmWiki.DocumentationIndex:1637664352: PmWiki.DocumentationIndex PmWiki.DocumentationGuidelines PmWiki.Introduction PmWiki.BasicEditing PmWiki.CreatingNewPages PmWiki.Links PmWiki.Images PmWiki.TextFormattingRules PmWiki.MarkupMasterIndex PmWiki.Uploads PmWiki.Tables PmWiki.TableDirectives PmWiki.TableOfContents PmWiki.WikiStyles PmWiki.WikiStyleExamples PmWiki.AccessKeys PmWiki.PageDirectives PmWiki.IncludeOtherPages PmWiki.InterMap PmWiki.ConditionalMarkup PmWiki.PageVariables PmWiki.PageTextVariables PmWiki.MarkupExpressions PmWiki.Forms PmWiki.SimultaneousEdits PmWiki.WikiStructure PmWiki.WikiGroup PmWiki.GroupHeaders PmWiki.WikiTrails PmWiki.PageHistory PmWiki.Passwords PmWiki.Categories PmWiki.PageLists PmWiki.DeletingPages PmWiki.WikiElements PmWiki.SpecialPages PmWiki.Installation PmWiki.InitialSetupTasks PmWiki.Upgrades PmWiki.BackupAndRestore PmWiki.UploadsAdmin PmWiki.Security PmWiki.CustomMarkup PmWiki.CustomWikiStyles PmWiki.Internationalizations PmWiki.LocalCustomizations PmWiki.GroupCustomizations PmWiki.Skins PmWiki.SkinTemplates PmWiki.SitePreferences PmWiki.WebFeeds PmWiki.WikiFarms PmWiki.FAQ PmWiki.AQ PmWiki.FAQCandidate PmWiki.Questions PmWiki.HowToGetAssistance PmWiki.Troubleshooting PmWiki.AvailableActions PmWiki.AuthUser PmWiki.Blocklist PmWiki.Notify PmWiki.PasswordsAdmin PmWiki.RefCount PmWiki.UrlApprovals Cookbook.ModuleGuidelines PmWiki.Variables PmWiki.Functions PmWiki.PageFileFormat PmWiki.Audiences PmWiki.Contributors PmWiki.MailingLists PmWiki.PmWikiPhilosophy PmWiki.DesignNotes PmWiki.ReleaseNotes PmWiki.ChangeLog PmWiki.References PmWiki.Glossary PmWiki.BasicVariables PmWiki.EditVariables PmWiki.FilePermissions PmWiki.FmtPageName PmWiki.I18nVariables PmWiki.LayoutVariables PmWiki.LinkVariables PmWiki.OtherVariables PmWiki.PagelistVariables PmWiki.PageListTemplates PmWiki.PathVariables PmWiki.Requirements PmWiki.SpecialCharacters PmWiki.UploadVariables PmWiki.WikiAdministrator PmWiki.WikiPage PmWiki.WikiWikiWeb PmWiki.WikiWord : documentationguidelines internationalizations textformattingrules localcustomizations groupcustomizations documentationindex howtogetassistance wikistyleexamples conditionalmarkup specialcharacters initialsetuptasks pagelisttemplates pagelistvariables markupmasterindex wikiadministrator simultaneousedits includeotherpages markupexpressions pagetextvariables pmwikiphilosophy backupandrestore customwikistyles availableactions moduleguidelines creatingnewpages uploadvariables tabledirectives tableofcontents troubleshooting sitepreferences filepermissions layoutvariables pagedirectives administration passwordsadmin pagefileformat basicvariables othervariables customisation pagevariables skintemplates editvariables administering i18nvariables linkvariables wikistructure deletingpages pathvariables releasenotes urlapprovals contributors mailinglists groupheaders installation introduction custommarkup uploadsadmin requirements specialpages wikielements distributing intermediate faqcandidate basicediting contributing pagehistory development maintaining designnotes maintenance fmtpagename wikiwikiweb developers frequently protecting organizing accesskeys attachlist contribute incomplete wikitrails categories trailstart customise wikifarms pagelists following questions audiences wikigroup functions blocklist changelog community security intermap upgrades beginner answered glossary cookbook webfeeds refcount authuser yourself attached uploaded describe trailend wikipage coverage wikiword summary problem answers comment section various aspects topics tables images notify always others newwin become listed appear recipe using forms about might links skins files below title these well some know they more that help free feel misc have just want loop item part here are by +Site.SideBar:1637664352: Ircnow.Servers Bouncer.Bouncer Xmpp.Xmpp Shell.Shell Email.Email Vpn.Vpn Vps.Vps Minetest.Minetest Relays.Relays Bots.Bots Hosting.Hosting Gazette.Gazette Code.Code Podcast.Podcast Debate.Debate Ircnow.Goals Freedom.Freedom Ircnow.Team Minutemin.Bootcamp Opsofliberty.Bootcamp Almanack.Almanack Netizen.Become Terms.Terms License.License Ircnow.Ally Ircnow.Projects Donations.Donations Ircnow.Contact Site.SideBar : opsofliberty netizenship minutemin donations homestead bootcamp almanack minetest projects software bouncers networks licenses fireside sidebar servers debated contact freedom podcast gazette clients express patriot hosting service ircnow become relays armory shells policy goals vpses email union terms cabin bots site ally team vpns pony xmpp code user edit join chat news the log +PmWiki.FAQ:1637664352: Site.Search PmWiki.DocumentationIndex PmWiki.Questions : documentationindex corresponding includefaq frequently respective questions according summarize collated answered pagelist fullname facility commonly changes comment answers summary attempt pmwiki rather making search faqtoc please asked which below found those class using leave their pages trail this held will then make more link here your site some have than fmt can for are see isn and of if +Site.EditForm:1637664352: : editquickreference e_savedraftbutton e_saveeditbutton e_minorcheckbox e_changesummary e_previewbutton e_cancelbutton e_savebutton e_guibuttons wikiaction e_textarea sitegroup messages e_author wikiedit fullname contains remember editform include unsaved editing e_form layout divend input ifend block class page this top the of id +PmWiki.PerGroupCustomizations:1637664352: : pergroupcustomizations redirects summary pmwiki +SiteAdmin.GroupAttributes:1637664352: : groupattributes siteadmin +PmWiki.Introduction:1637664352: PmWiki.WikiWikiWeb PmWiki.PmWiki Main.WikiSandbox PmWiki.BasicEditing PmWiki.TextFormattingRules PmWiki.Requirements PmWiki.DocumentationIndex PmWiki.Download PmWiki.Installation PmWiki.MailingLists PmWiki.HowToGetAssistance : textformattingrules howtogetassistance documentationindex collaborative introduction requirements instructions installation basicediting mailinglists wikisandbox maintenance wikiwikiweb restricted experiment maintained installing pronounced currently questions existing download websites creation trailing frequent authors michaud viewing summary pmwiki silent french system public groups except action normal modify before pages where makes built small based using what show look with help find easy know need free html feel they that have into link open like left use any are css see mee can you add new faq not of +PmWiki.DesignNotes:1637664352: PmWiki.PmWikiPhilosophy PmWiki.MailingLists PmWiki.FlatFileAdvantages PmWiki.HierarchicalGroups PmWiki.PageLocking PmWiki.SimultaneousEdits PmWiki.PageFileFormat PmWiki.SearchImprovements PmWiki.FilePermissions PmWiki.WikiGroupMotivation PmWiki.WYSIWYG PmWiki.DesignNotes Category.PmWikiDeveloper : wikigroupmotivation hierarchicalgroups flatfileadvantages searchimprovements simultaneousedits pmwikiphilosophy pmwikideveloper filepermissions pagefileformat mailinglists essentially information instruction designnotes pagelocking separation wikigroups categories discussion character otherwise something unnoticed intuitive decisions protocols plausible fckeditor required figuring database settings features category problems transfer language directly provides reasons wysiwyg editing markups toolbar buttons someone between newline obvious authors support scripts closing summary instead without manual nested handle answer syntax derive common avoids figure spaces change engine native become store basic cause which lines pages blank files these about doesn works comes links short uses here also http many have from like lots that omit then down how gui can why way see has are faq php now end don net sql may of if +PmWiki.PathVariables:1637664352: PmWiki.WhySeeIfCSSExists Cookbook.SharedPages Cookbook.CleanUrls PmWiki.SkinTemplates Cookbook.PerGroupSubDirectories PmWiki.LocalCustomizations PmWiki.PerGroupCustomizations PmWiki.WikiFarms PmWiki.LayoutVariables PmWiki.LinkVariables PmWiki.EditVariables PmWiki.UploadVariables : pergroupcustomizations pergroupsubdirectories localcustomizations whyseeifcssexists custompagestore uploadvariables layoutvariables pagecsslistfmt configurations corresponding administrator pathvariables farmpubdirurl skintemplates automatically manipulations editvariables linkvariables modification subdirectory distribution coresponding sharedpages distinguish wikilibdirs associative mod_rewrite attachments containing connecting instructed determined regardless farmconfig filesystem associated skindirurl explicitly difference statements multiviews accessible scripturl http_host cleanurls webserver sometimes available prominent following accessing secondary including regarding temporary described mailposts reference typically something wikifarms recognize currently locations cookbook advanced fullname security consists requires possible localdir features building simplify defaults wikilib2 guessing contains generate whenever directly browsers category specify options wikidir workdir _server another setting backend confuse getting version various dealing caching scripts similar bizarre editing example include graphic uploads provide between enables keeping correct entries execute running usually control variety display working because program summary located holding objects bundled exclude neither certain changed refers places reason pmwiki merely entire within manner always having search string engine create images things inside merged tested people allows rfloat action beta26 stored simple fairly needs array farmd skins value which above field where about paths while edits green below mysql wikis track makes lines cache types these links pairs start point named gives occur look that want good used your also such this more both note base them copy does tmpl site last will disk they same adds find uses keys only runs each turn from most data wish into html must tell thus and for can new how dbm com any php one has via may org www put etc own of by 1 +PmWiki.WikiWikiWeb:1637664352: PmWiki.Links PmWiki.TextFormattingRules PmWiki.WikiWord Site.AllRecentChanges PmWiki.BasicEditing Main.WikiSandbox : why_wikipedia_is_so_great documentationguidelines authoringphilosophy textformattingrules howtogetassistance documentationindex pmwikiphilosophy allrecentchanges characteristics comprehensive communitywiki configuration collaboration communication introduction categorywiki wikifeatures softsecurity whywikiworks titlesummary encyclopedia surprisingly basicediting wikiwikiweb wikisandbox capitalized communities designnotes everything mechanisms relatively wikivoyage consisting destroyed developed reference depending sitegroup rewarding necessary audiences including exemplary documents original creating existing involves brackets wikiword standard complete pmichaud entering hawaiian emphasis possible together pagelist meatball reformat browsing defaced content biggest browser restore putting process already another created patrick concept systems sitemap anarchy viewing someone meaning complex target square double inside phrase simply newwin simple almost person online result anyone things adding posted others rather joined sounds recipe happen mailto sites point about these often where using super serve after based while words built learn doesn first truth quick email pages pobox links world then like main them more this than have want seem that many come will http fast free easy your info made make open name send also term good been rich org www can try use but yes fmt two cw by +PmWiki.WikiTrails:1637664352: PmWiki.PageLists PmWiki.GroupHeader PmWiki.Links PmWiki.ListStyles Cookbook.CSSInWikiPages PmWiki.Installation PmWiki.LocalCustomizations PmWiki.PmWiki PmWiki.PmWikiPhilosophy PmWiki.WikiStyles PmWiki.Uploads PmWiki.InterMap Cookbook.Cookbook PmWiki.TextFormattingRules PmWiki.DesignNotes PmWiki.Security PmWiki.Troubleshooting PmWiki.GroupHeaders PmWiki.ConditionalMarkup PmWiki.FullName PmWiki.WebFeeds : localcustomizations textformattingrules conditionalmarkup pmwikiphilosophy troubleshooting definitionlists trailindexpage administrators cssinwikipages trailpagelists pagelisttrail customisation mytrailpage1 mytrailpage3 mytrailpage2 encapsulates trailpathsep previouspage traillistend observations groupheaders installation indentation dynamically groupspaced appropriate immediately description designnotes trailstart implicitly customised wikistyles liststyles trailstyle wikitrails individual crossgroup breadcrumb containing trailpage4 delineated linksyntax trailpagen restricted namespaced navigating difference displaying predefined navigation specifying directive invisible including sequences typically following repeating separator markupend specified described different pathtrail currently hierarchy displayed generates parameter important beginning explained audience cookbook webfeeds intermap creating trailend security purposes numbered fullname location specific preceded separate bulleted multiple allowing displays excluded circular template optional variable provides standard instance defining intended contains supports criteria nextpage contrast anywhere consider existing summary uploads because ontrail example include follows comment between however markups anchors general setting instead content default creates through version omitted authors defines animals feature confuse levels source appear output before config listed change center should entire except allows simply adding footer others random itself simple linear second matter single hidden newwin placed within things italic treats useful inside latter block false using often added ifend there above would reach every first items makes means build built match types green small count order front basic might their serve below query which arrow class horiz most this just from that same many your tour have font they what will only last size made does then file ways some than like http part more work want non won can don fmt are org faq php has one two via yet by +PmWiki.WikiStructure:1637664352: PmWiki.WikiPage PmWiki.WikiWord PmWiki.Links PmWiki.WikiGroup PmWiki.WikiTrails PmWiki.Categories PmWiki.PageTextVariables PmWiki.PageLists Site.PageListTemplates PmWiki.IncludeOtherPages PmWiki.Search : pagelisttemplates pagetextvariables includeotherpages configuration automatically wikistructure organization customizable presentation distinguish combination requirement declaration fundamental flexibility shortcoming organizing designated categories collection mywikiword othergroup navigation containing attributes presenting individual wikitrails structural navigating capability selection shorthand wikigroup principle pagelists effective providing important wikipage clicking requires security multiple previous instance controls searched category optimize powerful flexible provides relevant without between grouped website becomes another content current sharing concept default defined primary summary visitor returns options aspects authors network support groups markup enough either pmwiki inside within member across highly choose choice common points having images names their these refer store links newer place clear where parts means being every range words guide right based same have most into when that like both from give will used data more also uses stop next look aids move only need tags any you for can see one are its own lot say of by do +PmWiki.TableOfContents:1637664352: PmWiki.LayoutVariables Cookbook.AutoTOC PmWiki.PathVariables : internationalization numberedheadings tableofcontents enablebacklinks layoutvariables configuration automatically parentelement specification pathvariables localstorage identifiers remembered subsection structural translated directives previously minnumber following remaining lowercase generated uppercase wikistyle preceding different numbering pubdirurl structure otherwise revisited included visitors settings features suppress position inserted browsers meantime disabled maxlevel sections afficher wikitext selector selected override sommaire cookbook pmtocdiv enabling audience numerals somewhat creating numbers default minimum biggest usually masquer letters example autotoc anchors 9999999 control numeric ignored linking without strings pageurl markups cleared summary enabled comment display simpler authors levels xlpage second pmwiki french prefer appear before inline choice arrows create recipe margin hidden rather blocks title class basic above there where notoc their pages exist after first still based later third query right roman usage short float close will only uarr also form then blue used like open more need this have last that even note hide show i18n long from side want they none when than left file your less wish html hash see 5px css and can may php any 119 top but add new few by do nh h3 h6 h1 ii 2 +PmWiki.CreatingNewPages:1637664352: PmWiki.Links PmWiki.MyNewPage Site.SideBar PmWiki.WikiGroup : creatingnewpages capitalization characters especially wikigroup different mynewpage beginning directive dutifully unlinked drawback location question normally whatever clicking describe brackets surround remember everyone existing organize wikiword audience override contents entered written sidebar between unloved because default finally another browser related replace current however address summary authors choose simply cannot person double create pmwiki stored groups second useful method typing spaces exists better easily others unread orphan adding order basic title using would doesn first which could write there links where names after knows learn marks some also with only want site wish that will more have tell into edit this your save then like when them hasn best well type used been must form step take and end why way faq are lot but see yet url hit who of by go +SiteAdmin.Status:1637664352: : versionnum siteadmin summary running comment status pmwiki edits local lost this page may any be to +PmWiki.UTF-8:1637664352: PmWiki.Internationalizations PmWiki.Upgrades PmWiki.I18nVariables PmWiki.LayoutVariables Skins.Amber PmWiki.LocalCustomizations Cookbook.UTF-8 : internationalizations localcustomizations defaultpagecharset layoutvariables modifications i18nvariables htmlstylesfmt independently automatically installation include_once اليسار اليمين recommended explanation characters يتدفق attributes direction pageindex languages correctly alphabets beginning migration currently pagelists supported inclusion hungarian markupend generally including encoding instance function contains searches النص possible concerns flexible settings htaccess upgrades supports versions enabling displays cookbook existing european persian scripts encoded rebuild already classes enabled missing created instead flowing turkish written summary example actions complex without unicode specify xlpage pmwiki editor handle recent should sample adding config before simple double useful upload others hebrew arabic rename latest served widely fairly likely delete future change إلى هذا within highly allows wrong names pages files array doesn order right skins amber wikis czech farsi notes group first could flows below older there lines these cache links check words which offer depth their entry later asian start this text 8859 left they body will that ansi some them full have side docs make most swap need your sure come urdu from near used save من also byte root tips easy case only thus disk well utf any can rtl php ltr are new bom may box etc see iso non fix way yet don got has 2 +PmWiki.WikiFarmTerminology:1637664352: PmWiki.Glossary Category.WikiFarms : wikifarmterminology suggested_terms customizations infrastructure administrators documentation listofbundles consideration installation agricultural intermediate particularly individually subdirectory definitions directories configured collection farmconfig deprecated components describing categories difficulty standalone something wikifarms desirable locations therefore computing operation available necessary analogous affecting preferred typically sometimes revisions different ambiguous confusing modifying alternate installed multiple category glossary tempting contents original software contains cookbook packaged complete specific possible servable indicate accessed probably standard audience attempts describe archive servers forever pending explain related process instead located provide authors because special scripts various writing readers opposed however wikilib outside origins becomes complex tractor nothing similar pmwiki single shared setups engine shares recipe itself called simply farmer refers stored things phrase common should others needed except wikis based where their start which local users lives field still place added ideas exist means cases these makes avoid about began needs often holds same used ones this that home file only docs less tree with move more will wide have what from came into goes find most such page been work mind uses keep barn they site than many made ways coin crop copy like php who you see has but why can may url own pub web new run by +PmWiki.WikiGroups:1637664352: : wikigroups redirects summary pmwiki to +PmWiki.WikiAdministrator:1637664352: PmWiki.Installation PmWiki.InitialSetupTasks PmWiki.DocumentationIndex PmWiki.Security PmWiki.Audiences : documentationindex wikiadministrator initialsetuptasks administration administering installation administers configures audiences knowledge customize admintask security specific visitors software possible installs designed flexible persons someone details authors enough pmwiki little target server system people about needs pages their html make more site been just with that easy time same have even and who for lot php not see bit can has web +PmWiki.GroupHeader:1637664352: : concatenated groupheader groupfooter definitions linebreaks configured trailstart important trailend audience includes multiple enabled padding comment bgcolor smaller summary styles divend appear define pmwiki output please ffffcc italic border thanks rfloat single clear solid right black ifend class frame equal leave block green when with size font note the and 1px 5px is do +Site.GroupAttributes:1637664352: : groupattributes site +Site.AuthForm:1637664352: : enableauthuser contributions invalidlogin recognized requesting displayed auth_form authform password required messages username enabled license summary logging release submit authpw authid pmwiki ircnow agree input ifend value under when site text all the not you by ok to +PmWiki.WikiPage:1637664352: PmWiki.WikiStructure PmWiki.WikiWikiWeb PmWiki.PageFileFormat : pagefileformat wikistructure edittemplates information wikiwikiweb advantages individual predefine cookbook wikipage building contains summary content initial pmwiki stored simply images pages files block basic flat text have that more see and can are the of +Site.AuthUser:1637664352: : siteadmin redirect authuser +PmWiki.CustomInterMap:1637664352: PmWiki.InterMap : customintermap redirects summary pmwiki +PmWiki.Skins:1637664352: Skins.Skins PmWiki.Skins Cookbook.Cookbook PmWiki.BasicVariables PmWiki.SkinTemplates Cookbook.Standalone Cookbook.InstallOnIIS Site.EditQuickReference : editquickreference beeblebroxnetgila skinguidelines basicvariables administrators documentation substitutions possibilities customization yourprintskin skintemplates intimidating installation highlighting titlesummary installoniis distribution capabilities application information contributed suggestions directories skinchange extensible webservers background subfolders collection standalone compatible statements appearance responsive programmer decorating intimately configured especially stylesheet directives actionskin particular substitute difference different whichever archiving installed graphical determine describes platforms typically available advantage displayed selection wikititle hypertext recommend customize following wikigroup extremely regularly cascading tutorials including probably visitors features packages palettes skeleton wreaking transfer creating contents contains software fullname cookbook pagelist machines skinname standard download designed versions together computer provided explorer examples optional language directly provides internet included contrast monobook browsers existing relevant programs starting audience whatever specific mistakes changing elements explains usually default current another writing instead overall already control results setting mygroup editors testing wysiwyg windows novices because sidebar preview firefox without editing updated helpful complex caution needing further variety ideally minimum running markers changes changed bgcolor through specify written section recipes inside chrome reload useful source pmwiki safari should during common resize choose forget things better others insert values unpack corner coding create sample syntax footer header places entire number layout matter simple modify reason repeat spacer jhskin adding chosen sheets markup beyond detail either cannot images readme client picker stored saving owners files amber block skins local hints there three adapt avoid xhtml write newer since about those these stuff mysql above names blink kinds linux gila2 years quite setup scope point match first might named where could steps until happy extra check below pages while links being using wrong nifty upper embed types order their havoc right after often learn users tools opera frame macos does real main font site goes when that data http suit live find many than more much have want left tmpl such then gifs them skip also free same this good tags hand into ride most like says work code will bugs spot less docs runs used look know make give ways copy tell feel been demo each from well some open move show even just they best were must ones see may php has did its pub don won zip tgz www css had ftp faq fmt try txt lot two bit by 8 3 4 +PmWiki.PageVariables:1637664352: PmWiki.PageVariables PmWiki.Variables Cookbook.Functions PmWiki.FmtPageName PmWiki.BasicVariables PmWiki.MarkupExpressions Site.PageNotFound PmWiki.IncludeOtherPages PmWiki.PageLists PmWiki.PageTextVariables PmWiki.PageListTemplates PmWiki.OtherVariables PmWiki.ConditionalMarkup Cookbook.HttpVariables Cookbook.MoreCustomPageVariables PmWiki.MarkupMasterIndex Category.PmWikiDeveloper : morecustompagevariables enablerelativepagevars specialreferencesend lastmodifiedsummary pagetextvariables includeotherpages markupmasterindex markupexpressions pagelisttemplates conditionalmarkup pagecreationdate pagevariablename lastmodifiedtime lastmodifiedhost basenamepatterns authentications pmwikideveloper lastmodifiedby administrators basicvariables siteadmingroup administrative othervariables httpvariables automatically authenticated requestedpage customization configuration documentation defaultgroup intermediate pagenotfound permissions fmtpagename description definitions currentskin groupspaced str_replace necessarily destination interacting titlespaced defaultname protections information pagepathfmt inexistent referenced preg_match regardless critically versionnum addslashes categories originates passwdattr passwdedit manipulate passwdread namespaced developers associated determined formatting markupend urlscheme available pagelists following http_host necessary sensitive functions scripturl protected injection describes timestamp invariant preferred stripping currently prefixing sitegroup wikititle interface blocklist undefined cookbook fullname sanitize _request instance complete authuser security authpage explicit prefixed provided elements insecure asterisk strftime reflects preceded included homepage internal specific displays starting audience custompv redefine argument possibly prefixes suffixes category normally password addition rewrite varname snippet browsed context website specify sidebar however through strings another foreach example returns defines related baseurl without globals natural confuse _server certain comment authors sourced contain visitor renders timefmt pageurl retains instead markups setting respect because created better authid usable number recipe target inside quotes values single nested quoted double module unlike adding header footer allows always please anchor action within either differ editor person edited appear those ctime which frame fmtpv above input mdash these shown print could class style horiz first array comes there while shows using added ifend empty equal local lower about means forms also file from some ones they that will note this have main yyyy take code most them used make test same eval only even made into body very when case part unix php new see can faq you but and any are may was via has of +PmWiki.PatrickMichaud:1637664352: : patrickmichaud information pmichaud author pmwiki found about more http com www him can the of is be +SiteAdmin.SiteAdmin:1637664352: : administration siteadmin include summary title +Site.PageNotFound:1637664352: Site.PageNotFound : nolinkwikiwords administrators requestedpage pagenotfound sitegroup displayed contains nofollow fullname category message summary italic unable pmwiki create locate action change ifend doesn exist style green auth edit find when text font this the can rel be +Site.PageActions:1637664352: Site.PageActions : availableactions sitepageactions ak_backlinks ak_history documented accesskey ak_logout ak_attach siteadmin fullname nofollow contains contents cookbook profiles ak_print somewhat summary enabled ak_view comment ak_edit complex browse upload authpw delete pmwiki search placed figure group class first ifend time this item diff like need help the rel etc can its you see top are and be q +PmWiki.Variables:1637664352: PmWiki.LocalCustomizations PmWiki.BasicVariables PmWiki.DebugVariables PmWiki.EditVariables PmWiki.I18nVariables PmWiki.LayoutVariables PmWiki.LinkVariables PmWiki.OtherVariables PmWiki.PagelistVariables PmWiki.PageLists PmWiki.PathVariables PmWiki.SecurityVariables PmWiki.UploadVariables PmWiki.Blocklist PmWiki.Notify PmWiki.PageVariables PmWiki.PageTextVariables PmWiki.Functions PmWiki.MarkupExpressions Category.PmWikiDeveloper : localcustomizations pagelistvariables pagetextvariables securityvariables markupexpressions layoutvariables wikiwordpattern uploadvariables pmwikideveloper debugvariables basicvariables othervariables administrators documentation pagevariables pagelayoutfmt substitutions pathvariables editvariables i18nvariables linkvariables customisation placeholders varpagesfmt discrepancy generation documented oliverbetz categories controlled incomplete containing functions following blocklist pagelists uppercase automatic processed wikiwords therefore correctly elsewhere documents available indexend replaced category starting followed varindex preceded contrast pagename audience circular summary general smaller removed strings comment pageurl printed scripts between working handled version provide several divided notify output author vardoc trails slight people ending rframe values below using shown still given works colon lines prior being their finds could names size with this sign much only font also skin free have note such thus does want item know used what done when into feel php but are imo non why add see of by xl +PmWiki.WikiWords:1637664352: : wikiwords redirects summary pmwiki to +PmWiki.GroupHeaders:1637664352: PmWiki.WikiGroup PmWiki.WikiStyles PmWiki.PageDirectives PmWiki.WikiAdministrator PmWiki.IncludeOtherPages PmWiki.LayoutVariables Cookbook.AllGroupHeader Cookbook.WikiFooter : groupprintheaderfmt groupprintfooterfmt includeotherpages wikiadministrator layoutvariables groupheaderfmt allgroupheader groupfooterfmt pagedirectives nogroupfooter nogroupheader groupheaders intermediate groupfooters sitefooter suppressed controlled siteheader wikistyles coordinate wikifooter additional duplicated individual disclaimer wikigroup yourgroup beginning sitegroup replacing cookbook basepage included fullname homepage defining audience nofooter noheader summary default instead example markups generic message heading contain authors feature without custom called groups having easily create global simply action adding appear recipe pmwiki within useful change should single quotes config lines order above using every title allow usage could wide this used when also each that same fill have want just here text code then such note must for can and php see end set any may say faq new one way are how by nl do +PmWiki.Glossary:1637664352: PmWiki.WikiFarmTerminology : wikifarmterminology enablepathinfo simultaneously customizations configuration farmpubdirurl automatically capitalizing subdirectory wikisandbox titlespaced capitalizes synonymous collection attributes associated namespaced whitespace deprecated considered farmconfig characters configures individual privileges precedence stripping specially deviation something including installed directive path_info component customize following parameter generated rewriting describes generally similarly available disabled likewise settings pagename variable fullname consists glossary normally aliasing controls accessed browsing inserted directly example several expects various besides usually version default differs related browser element existed appears specify context however summary content formats defines pmwiki person markup groups script simply string loaded stores phrase window latter people handle either locate tricks entire modify called author chosen shared obtain spaces would which pages named local built above files could these where shown place using cause given refer their found write terms admin takes click valid there acted each word that note uses aren case link from this also used uris tell upon http main with both over user have been such will what data wide code more only php can any see may who www two way has etc of by +PmWiki.WikiSandbox:1637664352: : wikisandbox redirect pmwiki main +PmWiki.SitePreferences:1637664352: Site.Preferences PmWiki.AccessKeys Site.EditForm : custompreferences sitepreferences customisable customising customised accesskeys different following sitegroup shortcuts somegroup editform settings setprefs contains keyboard textarea comments browser through default parsing summary history include actions certain chosen enable making xlpage pmwiki cookie height config notes needs under being added local which point width order these used that name this like will well than copy line php and new can of as by +PmWiki.WikiWord:1637664352: PmWiki.WikiWikiWeb PmWiki.Links : enablewikiwords nolinkwikiwords spacewikiwords createlinktext htmlstylesfmt configuration wikiwordcount installations descriptions highlighting wikiwikiweb capitalized information definition decoration conversion background surrounded following backquote sometimes disabling wikipedia depending available existent enabling disabled likethis compared preceded standard together upgraded referred variable controls certain without forming convert earlier finding inherit default display writing summary created syntax titles pmwiki letter markup yellow system turned easier bottom border color beta2 based links local since lines first mixed place other pages usage those camel wikis basis valid rules about where such into also want none case from span need them help will even used each more per php run set two you css see not can pub of by if 1 +PmWiki.Audiences:1637664352: PmWiki.WikiAdministrator PmWiki.InitialSetupTasks PmWiki.PmWikiPhilosophy PmWiki.LocalCustomizations : localcustomizations initialsetuptasks wikiadministrator pmwikiphilosophy administrators implementation consideration understanding participating collaboration contributors installation backgrounds experienced stylesheets continually discouraged collaborate themselves generating customized eventually difficulty frustrated regarding audiences something sequences histories documents knowledge sometimes installed configure available designing authoring reluctant requested statement developer describes maintain generate features revision comments creating designed separate proposed restrict opinions software contains authors cryptic through content barrier because complex someone nothing colored symbols diverse instead include already problem usually careful minimal patrick linking exclude summary updates thought michaud claimed primary things markup easily people tables should useful senses chosen server become modify groups latter expert behind allows target fairly usable adding within really funny would naive could doesn makes needs terms which their write these truth about build quite often using goals folks think other thank after there doing html they want must ugly keep mind have what page lots site both from that most away text went into turn seem wade very used once will base like next much less ways find only this ease many such tool then okay don new for was let php put who may him its web etc has can two why by my +PmWiki.SimultaneousEdits:1637664352: Main.WikiSandbox : simultaneousedits simultaneously notification environments adjustments wikisandbox highlighted distributed appropriate furthermore previewing experiment capability potential conflicts different safe_mode finishes solution attempts cookbook multiple whenever requests receives handling scenario presents changes feature process detects someone instead message working editing version changed browser updated running windows results invoked summary systems handled authors support edited before second server saving pmwiki unable loaded things nearly occurs action starts merged notice select alice again press there leave after saves since while where basic those these wipes prior same page gets also from with made thus then make hits main each open this form test else copy case into such that text time lazy has are you see php can any was fix bob out try two had how of ll by +Main.Ircnow:1637664352: : ircnow main +Irc.Servers:1637664352: : servers irc +Openbsd.Guides:1637664352: OpenBSDHardware.Hardware OpenBSDNet.Net OpenBSDWww.Www OpenBSDIRC.IRC Openbsd.OpenbsdXmpp Openbsd.OpenbsdMatrix Openbsd.OpenbsdDns Openbsd.OpenbsdCrypto Openbsd.OpenbsdMedia Openbsd.OpenbsdMail Openbsd.OpenbsdVcs Openbsd.OpenbsdTelephony Openbsd.OpenbsdDesktop Openbsd.OpenbsdUtilities Openbsd.OpenbsdLdap Openbsd.OpenbsdFile Openbsd.OpenbsdNews Openbsd.OpenbsdRss Openbsd.OpenbsdLangs Openbsd.OpenbsdUpgrade Openbsd.OpenbsdShell Openbsd.OpenbsdVmm : openbsdtelephony openbsdutilities openbsdhardware openbsdupgrade openbsddesktop virtualization openbsdmatrix configuration openbsdcrypto conveniently openbsdlangs openbsdmedia openbsdshell cryptography openbsdldap information openbsdxmpp programming newsreaders openbsdfile openbsdmail openbsdnews openbsdnet unofficial openbsddns openbsdirc openbsdvcs openbsdwww themselves developers openbsdvmm multimedia openbsdrss networking configure opensmtpd searching questions upgrading languages reference examples plumbing answered accounts template archived mailing version control through channel project suppose bundled daemons sample ircnow system source guides server relayd title lists httpd files start using these https often pages which final chat that doas want room like then have base come many here also find misc ircs marc help your org cgi can and etc web faq by cp +Freedom.Source:1637664352: : freedom source +Freedom.Network:1637664352: Freedom.Software Freedom.Privacy Ircnow.Federation : constitutional corporations information alternative constantly government federation accomplish completely monopolies permission arbitrary guarantee impeached community oppressed dependent requiring services software maintain thriving powerful internet freedoms balances morality becoming property majority provided however privacy without servers purpose respect network prevent allowed protect healthy useless private handful society reclaim should itself modern ensure public enough create ircnow anyone voting system losing checks modify chosen rights abuse takes means staff money users order study being forks share under these world given that must have join code upon time goes vast this more just than rule bill has our god but can not fee to by +Freedom.Militia:1637664352: Freedom.Unix : professionals corporations concentrate proprietary themselves philosophy moderation understand administer controlled distribute configure strongest sysadmins corporate investors knowledge decisions dangerous teammates hobbyists networks maintain recruits freedoms educated software hardware training powerful designed platform selected liberty quickly sharing militia defense trained install without outside govern depend single vendor follow ircnow strive unlike entire system always simple rather little these hands users elite class never other guard which among about their learn title cloud fork easy unix well that than will good best have used were made when rest your code only does hire need from make even they own not can any don fit +Freedom.Privacy:1637664352: : unreasonable cryptography anonymously cryptocoins information anonymity described supports searched warrants services security personal features searches probable register privacy network provide connect collect freedom prevent secure number server policy access ircnow ensure seized extra local users staff right their abuse phone allow title cause where given have data real each upon only name sets best from with such they like pick turn and its can own has vpn not tor tls are pgp ssh our we of +Main.Terms:1637664352: Terms.Privacy Terms.Shell Terms.Vps License.Ircnow : cryptocurrency contributions infringement responsible connections additional permission activities malicious copyright passwords promotion profanity activity torrents gambling services accounts scanning warranty downtime everyone provided cracking violence allowed damages offered servers network privacy running without illegal license project slander ircnow person dalnet allows policy miners follow mining terms users shell agree title share libel these rules which drugs using make spam port ddos bots only porn that hold loss main must sign data vps not for you our usa any ask max up if by 2 5 4 +Terms.Privacy:1637664352: : identifiable information investigate anonymously permanently maliciously exceptions personally libellous described addresses interview metadata response channels archived services networks reserves material violated supports allowing continue required messages members however privacy contact bouncer welcome prevent private another mailing account request consent without publish storage illegal reports parties cookies special proxies connect joined delete ircnow proven mailto number access public emails should policy stored combat users above abuse third vpses files staff right using often agree their agent phone rules about chats after needs terms which those name some sell open uses make does have your will this spam real most used scan such that also via and may who log any are org own by ip as +Debate.Debate:1637664352: Debate.Ircv3defense Debate.Zncdefense Debate.Zncflaws Debate.Bncnow Debate.Linuxflaws Debate.Ethicalflaws EthicalSource.HolierThanThou Debate.Bsd Debate.WhyC Debate.WhyNotC Debate.Nodejstrap Debate.Python Debate.Webirc Debate.Matrixflaws Debate.Fediverseflaws Debate.Wikistyle Debate.Accessibility Debate.DCC Debate.Outreachkids Debate.Monero Debate.Hatespeech Debate.Freespeech Debate.Firstamendment Debate.Oldsoftware Debate.Xmlflaws Debate.Openweb Debate.Controlcomputer Debate.Providers Debate.Ipsec Debate.Dogfooding Debate.Servicewithasmiley Jrmu.Marriage Jrmu.Rmsboycott Freedom.Union Spam.Statistical Freedom.Independence Freedom.Bearcode Freenode.Takeover Freenode.Money Freenode.Power Freedom.Destiny Debate.Monopolydanger Debate.Googledanger Debate.Appledanger Debate.Microsoftdanger Debate.Facebookdanger Debate.Amazondanger Debate.Mozilladanger Debate.Zoomdanger Debate.Uberdanger Debate.Discorddanger Debate.Youtubedanger Debate.Wikipediadanger Debate.Slackdanger Debate.Debiandanger Debate.Dohdanger CloudFlare.Cons Debate.Cash Third.Third Debate.Privacy Debate.Partners : servicewithasmiley microsoftdanger controlcomputer wikipediadanger holierthanthou facebookdanger firstamendment fediverseflaws monopolydanger mozilladanger discorddanger ethicalsource accessibility youtubedanger outreachkids ethicalflaws googledanger amazondanger independence debiandanger ircv3defense statistical oldsoftware matrixflaws slackdanger programming appledanger freespeech zncdefense rmsboycott censorship cloudflare dogfooding linuxflaws hatespeech monopolies uberdanger zoomdanger nodejstrap wikistyle providers arbitrary dohdanger statement wireguard protocol freenode takeover partners bearcode networks marriage xmlflaws zncflaws increase language licenses obsolete freedom openweb privacy mankind whynotc bouncer obscure destiny debated liberty monero bncnow webirc python reject design method flawed ircnow within issues right third trust power guide money rules death union space party unity rocks ipsec fight totul safe some must whyc jrmu spam last hope user true done cons cash here your list need will the too bsd for can dcc by +License.License:1637664352: License.Ircnow : discouraged permissive preferred copyright licenses preserve freedoms copyleft software simplest accepts project network ircnow which needs basic means here must that four bsd the mit gpl +Code.Code:1637664352: : subdomain consider software hosting account request support started connect ircnow gotweb custom charge https needs setup will your code help with then repo join ircs over free real time from live chat org get cgi bin can for and git +Freedom.Checks:1637664352: : accumulation democracies afterwards difficulty government definition character possessed decisions directly balances threaten creating network anarchy control ancient violent liberty feature tyranny freedom checks always deaths itself powers scenes public danger enough slogan member ought chaos short their lives abuse there hands users trust never staff admin which title allow been same have they must only with from good made very pure one you are was to of +Shell.Tutorial:1637664352: : tutorial shell +Freedom.Union:1637664352: : decentralization established community essential networks together defended strength attached friends liberty history servers enemies against compete teaches tyranny freedom divided working result rather effort poorly united golden rivals broken remain likely pride their users there greed fault title other would joint union steal fight much from have that will love then evil same turn into more with than one our non and age not we of if by +Freedom.Christian:1637664352: : righteousness constitution conviction observance restrained guarantees community greatness religious therefore essential necessary christian occasion religion continue regulate precepts morality exercise disgrace directed violence virtual liberty neglect without network freedom teaches creator society support pillars decline pieces ircnow virtue reason exalts people which since level bible books happy world force title cause under users trust word have evil next must best life that your fall made only fear this read duty its and can are not owe was any run god one way but of by +Vpn.Vpn:1637664352: Vpn.VpnMac Iked.Windows Iked.Android Vpn.VpnIos Iked.Linux : configuration residential protection includes software provided android windows channel support patriot receive running conceal ircnow vpnmac please access vpnios charge linux steps macos title free chat iked vpns your work ddos real ircs time from over join live get org to ip +Freedom.Software:1637664352: License.License License.Ircnow : themselves birthright restricted permission requiring effective guarantee necessary software projects possible internet enslave trained defense freedom license control liberty without purpose network closest because source ircnow modify domain coders create public access users hands alone order means study share staff title shall power their every this have need that most room must your take away make live they made open best well for not new own ask fee but any set to up by +File.File:1637664352: File.Rsync File.Ssh Fireftp.Connect ChromesFTP.Connect WinSCP.Connect CoreFTP.Connect FreeFTP.Connect Gftp.Connect CyberDuck.Connect ClassicFTP.Connect AndFTP.Connect FileZilla.Connect PSFTP.Connect Fetch.Connect : expressiveness professionals development interarchy classicftp chromesftp expandrive filezilla cyberduck commander uploadftp marketing software transfer webdrive transmit acrosync forklift abecabin connect fireftp manager request account hosting support started coreftp freeftp website anyone winscp create ircnow andftp rfloat attach castle charge rclone access sshfs rsync fetch psftp putty title bring setup files wants lftp code ircs fugu with then crax will tool live chat home gftp data coda real time from over your join help that back php7 just can not via get log 2gb his jpg own org ads +Debate.Privacy:1637664352: : fingerprinting improvement residential participate enforcement advertisers statistics completely tremendous impossible repeatedly harassment techniques providers including voluntary wikipedia anonymity proposal affected examples browsing software identity networks accounts language internet activity metadata entities services reported dangers selling without private parties ethical consent illegal testing allowed privacy excuses address history collect profile loveint ircnow result photos useful social online agreed abuses reward access amount debate people rules power share about three there their users break clear using while being https based email could theft array other media cause cases only they used when name this have your many wide just most that from law and who org etc few 3rd can may opt how not gry +Freedom.Refuge:1637664352: : compatibility shadowbanned participate accountless regardless boundaries persecuted privileges guaranteed sanctions religious different political illegally backwards expensive neglected purchase services internet language national hundreds virtuous intranet regional breaking whatever software platform everyone hardware outdated clueless yearning dollars network culture provide english welcome newbies country connect another accepts freedom windows outside ensures because subject require russia belief source closed ircnow status people global across common create income anyone refuge access become always rights walled might while hoped truly savvy often store steal tools spend money basic those older users tired title small china blocs this open done send also tech poor whom with from they copy need have best only does that rich into your race join chat give safe unix and nor ios day buy can get usa but run app pay up +Freedom.Denomination:1637664352: : denomination observation subversion conviction stability political confusion directly directed congress official violence religion discord require members anarchy freedom network enforce leading creator should reason belief ircnow result worst users title would which duty hold does must any owe not the law our and by +Debate.Partners:1637664352: : infringement copyright partners bouncers defenses criminal activity scamming phishing channels provide network contact carding illegal clearly ilines debate clones marked proper block abuse ages info ddos spam must with deal them nsfw for can our no 18 to so +Bouncer.Znc:1637664352: : jumpnetwork addnetwork plaintext addserver connect example correct browser replace bouncer newnet status ircnow using panel paste with your 6697 copy 6667 view port such then into type name com are znc and web url org msg if of +Bouncer.Irccloud:1637664352: Freedom.Freedom Bouncer.Bouncer : proprietary registered abcde12345 connected software irccloud hostname password username consider features requires nickname details sidebar address network account example bouncer message minutes freedom without appears clients however protect premium server attach unlike should ircnow source mobile secure saying quote other click 31337 check using fully https right login offer email which asked after open wait type join want good john your then real will port fill most look paid apps and png com not new see few znc yet for org to if be +Bouncer.AndroIRC:1637664352: Bouncer.Bouncer : proprietary certificate connecting connection registered abcde12345 settings2 connected password androirc nickname consider username software network details minutes example address message bouncer server1 server2 servers freedom secured privacy protect source should corner select client attach ircnow google saying check title 31337 right three using store dots1 https list from your back then fill john left open icon want auto type with play look like port apps wait new png see com ← top tap znc not few yet ssl for → org +Bouncer.Weechat:1637664352: : autoconnect abcde12345 connecting connected username password replace user123 network pass123 example weechat bouncer command message windows ircnow source saying attach server client 31337 title https input linux your save want line open john type real with the mac for not bnc get znc yet org png ssl bar add is if +Bouncer.Irssi:1637664352: : verification autoconnect abcde12345 tls_verify tls_cafile connecting additional connected password username multiple networks openbsd windows message use_tls editing servers command example chatnet address suppose bouncer replace another located saying ircnow inside config attach notice issues client blocks folder irssi certs mkdir would right first 31337 might title quote https linux port your john with have like look want that what real here then save must type make this line runs sure cas ssl org pem bnc etc mac png yes get znc yet for be cp +Fig.Todo:1637664352: Openbsd.Newdisk Openbsd.Backup : attempting donations practice familiar collect perhaps patreon changes openbsd newdisk country coconut before backup ircnow please stable server stripe paypal skrill files payza title first money these setup major note your with done todo list need add fig how and way any org etc of +Fig.Fig:1637664352: Ircnow.Servers Shell.Shell Ircnow.Team Fig.Todo : ░░░█████████████▀▀░░░░▀▀███▀▀░░░░██▀▀░░░░░░░ ▐████░░░░░░░░░░░░░░░░░▄█░░░░░░█▌░█▀▀▀██░░░░░ ░▄████▀░░░░░░░░░░░░░░░░██░░░░░░█▀░░░▄▄▄▄░░░░ ░░░░████▄▄▄▄██████░░░░▄▄▄▄█████░░░░░▄▄▄██░░ ░░░░░░░░░░░░░░▀▀▀▀░░░░░░░░▀▀░░░░░░░▄▄████▀ ██▀░░░░░░░░░░░░░░▄▄▄██████░░▐█▄▄▄███▀░░░░░ ░░░░████▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░███████████████░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░▄▄▄▄██████▀▀ ░░▄█████████████▄░░░░░░░░░░░░░ ▄▄███▀▀▀▀░░░░░░░░░░░░░░░░░ ▄▄██████████▀▀▀▀▀▀▀▀▀▀▀ ░░█████████████████▀▀▀ ▄▄▄▄██████████▄▄ ▀█████▀▀▀ hosted_button_id ▄██▀▀ ▄▄██▀ bn63pn32y3ffj instruction environment willingness chewbakka85 appreciate noxturnix resources donations ▄█▀ available connected upgrading finished spending training services sysadmin networks support another joining account getting allowed request bouncer already channel servers explore members welcome ircnow choose newest admins donate rabbit listed paypal right keeps shell place named order learn users apply first after https allen below every here only team that note give todo help send from have sami cool want more your need used unix ircs with 6667 hang also hole 6697 down chat fig can org and www are one for day ssl bnc bot out ksh by of go if z +Bouncer.Thunderbird:1637664352: : serverpassword thunderbird preferences connecting abcde12345 messenger connected otherwise nickname accountn nickserv username settings protocol options summary minutes example bouncer string2 message network string3 attach accept client number format button config ircnow select search review choose source saying right field press might click again empty enter where title 31337 blank leave check https fill this then case your want area john have chat type menu like look will find used risk from same open port wait mail that note done also with png znc few www and new can see yet org bar ssl if of +Www.Www:1637664352: : expressiveness professionals hosting website support create anyone access upload ircnow title bring files wants php7 back with free sftp that your just and www get not can the ads own to +Bouncer.Kvirc:1637664352: : configuration connection connecting nicknames connected advanced identity username protocol password servers running network section example windows address message bouncer ircnow should attach change client source saying click write might email 31337 check title kvirc after linux https like with will john runs your that port this open look type give sent for yet and the mac not znc set get ssl new org png see by if go be +Bouncer.Kiwiirc:1637664352: : registered nextclient connecting abcde12345 connected password username example bouncer network details kiwiirc padlock address message minutes browser should ircnow server attach enable saying source check click 31337 title https then your runs that john look open like fill type want wait icon port with web see znc not yet few com and png for ssl org to if +Bouncer.Adium:1637664352: : preferences connection abcde12345 registered connecting connected username internet realname personal password accounts hostname nickname bouncer details example network options minutes encrypt message source client ircnow saying corner server bottom select attach button click 31337 right adium check using ident title relay https type open from john wait port look like chat with fill menu left your will want for the png ssl mac tab see znc not yet few add and org if im +Bouncer.Pidgin:1637664352: : registered connecting abcde12345 connected accounts received password remember protocol username advanced platform bouncer example minutes message network windows suppose attach bottom pidgin corner saying server ircnow client manage select source cross check click 31337 basic works right would ident linux title email fill then john port real your have that chat open type wait http with menu want → ssl png add and see znc not yet few put bar mac by im go if +Bouncer.Limechat:1637664352: : abcde12345 connection connecting registered connected limechat nickname username password received network general bouncer example message should source ircnow server saying select attach client corner bottom right click login check 31337 title email start john menu your from type want real open fill with look like http port and znc the → ios yet mac not for get add ssl png tab org up if +Bouncer.Mibbit:1637664352: Bouncer.Bouncer : proprietary abcde12345 registered connecting connected received settings nickserv username password consider software freedom privacy example address bouncer instead minutes network message protect replace saying ircnow select server mibbit source client should attach click field using fille https title extra 31337 email with chat wait type john then open want your auth show few org and com znc see yet for but png not to by if +Bouncer.Quassel:1637664352: : abcde12345 identities connection connecting configure2 registered encrypted nicknames connected networks security identity username manually settings platform password default example bouncer address quassel minutes message specify should attach select ircnow saying server source square corner client verify bottom button check combo match right where there click title which https cross 31337 john from want they that menu real edit fill file says your look type like then wait port open with znc → org few and png yet not see box of +Bouncer.Xchat:1637664352: Freedom.Freedom Bouncer.Bouncer : showdetails information networklist proprietary connecting abcde12345 registered connected username password consider software hostname servers bouncer uncheck example address general startup windows freedom protect message minutes button bottom corner attach select ircnow should client source saying global xchat click 31337 title blank linux using this nick john your fill then with open file auto from menu want http wait type left like look port new tab yet → few znc not and org mac see png ssl bnc all if +Bouncer.Icechat:1637664352: : newservernossl newserverssl abcde12345 registered connecting connected username password settings icechat network example bouncer minutes message startup display without uncheck details address windows corner ircnow bottom attach issues report client source should saying users click extra title 31337 where left john your fill look open note want some nick http wait type like tls for and png the few znc www tab see bnc yet org if v9 +Bouncer.Textual:1637664352: Freedom.Freedom Bouncer.Bouncer : proprietary disconnect connecting abcde12345 connection reconnect addserver connected password consider username securely software bouncer textual details address network example perform message freedom protect source should ircnow codeux select attach client waking saying quote check opens 31337 sleep title https using john from want when your menu fill then like type port with look znc → com www yet not get png org and to if +Bouncer.Smuxi:1637664352: : automatically certificate encryption connecting abcde12345 connected username password hostname validate nickname address details network startup windows bouncer example message minutes attach bottom ircnow source should select server client corner saying right check smuxi click menu2 title https linux 31337 your with from look like john fill then type port that want wait runs open bar → and png znc mac few org see yet for not is im of +Bouncer.Revolutionirc:1637664352: : revolutionirc abcde12345 registered connecting nicknames connected password username network android example bouncer address details message server should ircnow attach corner bottom button client source saying check 31337 home2 quote title https right mrarm then fill your want edit john open type with look like port for png znc tap not get yet tls ssl org of if +Bouncer.Simpleirc:1637664352: : jordynsmediagroup incompatible negotiation abcde12345 connecting registered simpleirc connected username userhost password nickname received packages unknown details network bouncer address example message version minutes startup attach corner server should prefix ircnow saying fdroid bottom check 31337 title right home2 ircv3 names https multi fails like john want line your then fill auto sees time when save with type wait note look port iso tap znc png org yet few ssl cap and for if tk of v1 9 +Bouncer.Yaaic:1637664352: : abcde12345 connecting registered connected password username nickname bouncer details example server2 network address android minutes message attach corner should ircnow bottom saying source client home2 yaaic 31337 check title https want fine john port fill look real save then left open host type wait like with your see tap for png org znc not yet www few ssl any if of +Bouncer.Atomic:1637664352: : zaibatsutel abcde12345 registered connecting papertape connected username password possible versions nickname network another example details android startup address bouncer warning minutes message server atomic ircnow should bottom corner attach saying recent please client source using check 31337 https ircv3 title home2 right fill then your real fine save want john auto type with host look port like open wait znc see for any png ssl few org yet due if of 14 v1 +Bouncer.Irccloudios:1637664352: Freedom.Freedom Bouncer.Bouncer : irccloudios proprietary abcde12345 registered connecting connected password requires username features nickname hostname software consider bouncer address example details network account sidebar without message freedom minutes protect premium attach ircnow server should corner secure select unlike client source saying right modal quote 31337 title login https after using asked press other email fill wait want will full john your then type open paid save port most hold left apps menu look for and yet znc not png tap top com org see few new be if +Bouncer.Irccloudandroid:1637664352: Freedom.Freedom Bouncer.Bouncer : irccloudandroid proprietary abcde12345 registered connecting connected password requires username nickname features hostname consider software network details freedom bouncer sidebar address minutes message example without account premium protect should corner ircnow attach server saying select secure unlike source client modal other pass1 using quote right after 31337 email title press login pass2 asked https paid menu type real john wait your open done most apps want port look fill then will left hold znc yet png com few see not for top tap org new be if +Bouncer.IrcEX:1637664352: : unfortunately connecting changing possible bouncer client title ports ircex allow this with time does use not and to so +Bouncer.IRCForAndroid:1637664352: Freedom.Freedom : countercultured ircforandroid proprietary irc4android homescreen abcde12345 registered connecting connected consider username password software network example address bouncer message minutes freedom details protect server should ircnow client source bottom saying google attach check store https using 31337 title then your like fill john look nick save want back apps type play wait with port desc open org tap new not see com znc yet png few ssl if +Relays.Relays:1637664352: Irc.Guide : simultaneously administrators different displayed marketing interests together protocol networks possible services friendly channels between connect artists message another similar several someday perhaps working linked robust ircnow expect relays system client rfloat attach please easier people access guide union title morse allow chat also sent meet that this will help live from plan have make with user over lets view jpg our you one don for and via ten are +Openbsd.Gopher:1637664352: : protocols tutorials different developed community tomorrow codevoid spartan openbsd history having please gopher gemini alive night sdfeu https kept this note will very that good what web old the org and due are do +Bouncer.XChatAzure:1637664352: : networklist information showdetails id447521961 xchatazure connecting registered abcde12345 connected password username hostname nickname message example bouncer uncheck minutes servers startup replace general ircnow corner select button bottom attach should window client source saying global click 31337 title blank https apple want with menu your from then fill this file auto john open left wait apps type look like port few put png mac znc com yet not new see tab and org add bnc all ssl if mt be of +Openbsd.Oidentd:1637664352: Openbsd.Znc : disconnection successfully reconnection disconnected individually directories permissions alternative identified afterwards installing restarting different providing spoof_all requested reference solutions setformat everytime temporary disallows identfile following necessary confirmed suggested alternate tampering displayed symlinked enforces username ensuring requests settings networks required contents whatever automate manually commands shutdown themself identbox uniquely displays checking oidentd replies setfile loadmod through account leading changed openbsd process advised control desired ensures spoofed changes without default prevent warning pkg_add consult _identd bouncer module rights global untill inside single method server client status bootup starts admins recent easily latter result issues pretty tricky making easier chroot theirs folder should always public idents create random rather kindly placed loaded reply hence clone reads above which cause helps there users whole wants local would https first other where abuse voila alone while least chown write using group touch chmod home wiki gets sbin send must will from note runs used this doas that move make also echo have case then upon uses whom know turn goto less over your need sets than ipv4 made much more said fact well some each been 664 but new znc can any see has fix irc msg ban via may etc 755 rwx are won put usr don by ln +Openbsd.Identd:1637664352: Openbsd.Znc Openbsd.Oidentd : instructions bouncers provided getting openbsd started replies oidentd follow caveat enable simple rcctl spoof very like base doas that will with want the for znc you one set can is to by +Openbsd.Fdm:1637664352: : ‘received’ certificates commented password download username computer accounts maildir keyword user123 locally another request openbsd __fetch deliver pass123 fetches replace format action server ircnow simply stands delete mail__ verify insert client header inbox using catch lines match tells imaps extra your real sure only with keep make from pop3 have mbox each into will conf else like read fdm org new run can set don ssl two var out but add so +Openbsd.Pkg:1637664352: : repositories dependencies pkg_delete unfamiliar packages pkg_info openbsd install pkg_add unused system please title faq15 first https doas find read html like from with nvi are you the org www if +Openbsd.Uim:1637664352: : forcepackedfont libchewing bitmapfont arphicttf following libpinyin facename cjkwidth facesize packages includes terminal settings lc_ctype download chinese english profile desired current mkwidth command firefox toolbar openbsd pkg_add between export toggle inside zhuyin engine dejavu window change ubuntu zenhei en_us fonts xterm false lines input match packs these space gtk3 when true doas need ctrl mono this sans your will also want that new see uim wqy utf run fep kc 25 8 +Openbsd.Ports:1637664352: : installation successful privileges installing provides download software practice building requires openbsd mirrors returns signify package without sha256 folder uname ports being valid since https root from then this that done html base copy tree step last make doas only page find tar tmp xzf bad can you for usr pub run org cut cdn ftp www etc and faq was cp to gz ok 3 1 +Openbsd.Doas:1637664352: Openbsd.Security : configuration whitelisting replacement tedunangst permission absolutely precaution configure necessary somewhere malicious passwords literally redirect security provides complete yourself required specific programs insecure downside normally provided relaxed logging command mastery openbsd running persist without reasons utility keyword coconut instead default changes allows needed access nopass permit anyone system whoami either ircnow easier should unless simple called stolen others means using goals small after group sense users makes https order check fixed chmod needs avoid wheel again login first title that when doas more this gets flak root post echo also read lead data find have else them over will type next edit sign sudo life line time want note come does file org etc can for don see bug are lot ask be we by of +Debate.WhyC:1637664352: : configuration installation implemented streamline everything accomplish confusing learnbchs ecosystem necessary software properly language limnoria training teaching enormous learning majority requires support militia trivial citizen weechat forking eggdrop modules because process scripts current premade library novices smaller openbsd enough almost moment demand debate python depend forked either custom nodejs phased pylink sopel users offer allow which would https relay since write built class first shell touch plans they rust code just well only that much less bots ruby time this have want goal korn like upon true also tiny such whyc will find cpan from with many uses full help than org one sic can not but our way out lot oop eat irc run old now do if my ii +Openbsd.Bchs:1637664352: Openbsd.Openbsd Debate.WhyC Openbsd.Openhttpd Openbsd.Sqlite : programming learnbchs openhttpd preferred language software openbsd sqlite debate https stack whyc apps web for the org on is +Ircnow.Course:1637664352: : ircnow course +Ircnow.Howtoask:1637664352: Almanack.Almanack : reproduce questions howtoask software archives pastebin almanack examples remember homework readmes consult exactly project located mailing openbsd problem ircnow sample search config assume https error first files debug found using solve title pages local share what have your this show time logs misc marc info tell list must good cgi the org don beg etc and usr web pkg doc use all if +Openbsd.Dnszones:1637664352: : redirect dnszones openbsd nsd +Seamonkey.Connect:1637664352: : authentication connections seamonkey encrypted navigator settings security starttls incoming outgoing internet contains instead default address account welcome project program opening select server ircnow attach enable choose better insert client reader email after click under suite plain https imap name your user smtp edit tls2 news this that need uses note text see and png www org web for as ll of by +GrapeTeam.Tracker:1637664352: : grapeteam account tracker august world added error gry for wiz aka vps hi 24 in +GrapeTeam.GrapeTeam:1637664352: : grapeteam vinekind small giant step leap one for +GrapeTeam.GroupAttributes:1637664352: : groupattributes grapeteam +Debate.DCC:1637664352: : essential advantage signaling irccloud solution strategy building pastebin initiate browser ancient weechat clients elegant single folder testah upload figure debate seems there thank would every shove other could sorts irssi ircii might data jrmu then file your this code also well plan lieu need will work that band dump with mirc more much into use dcc web all bot url has for can lot how via out 21 24 26 of do my 25 ok me no +Openbsd.Checklist:1637664352: Ircnow.Team Openbsd.Doas Openbsd.Nsd Openbsd.Unbound Openbsd.Openhttpd Openbsd.Acme-client Openbsd.Ngircd Openbsd.Hopm Openbsd.Oidentd Openbsd.Znc Openbsd.Eggdrop Openbsd.Vhost Openbsd.Relayd Openbsd.Dovecot Openbsd.Opensmtpd Openbsd.Pf Tutorial.Tutorial : successfully interactive preferences programming production compliance encryption tutorials highlight subdomain openhttpd opensmtpd configure overrides checklist training optional yourself required personal requires commands username complete sftponly progress hostname address connect message bouncer openbsd defense account related tcpdump without dovecot someone oidentd detects hosting install absence unbound unblock eggdrop publish website receive channel others create ircnow plugin orange custom common relayd follow gotweb access ngircd client mytest finish server things editor netcat errors ensure second coding vhost inbox gmail added tasks email https panel about which shell basic users plain hello world part iked team send from ping acme hopm doas ddos work 1337 text port then jrmu core this code when stay have nick bncs that know skip like nano else once link page make join cert kcgi file will show root line bans give for non znc run nsd vps any dig php has tcl get log be pf vi +Orange.Id:1637664352: : ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ████░░▒▒██▒▒▒▒▒▒████ ████▒▒▒▒▒▒▒▒▒▒▒▒████ ████████████ ████▓▓▓▓▓▓██ ██▒▒▒▒▒▒▓▓██ ██░░▒▒▒▒▒▒██ gebruiksvriendelijker systeembeheerders internetmonopolie opslagcapaciteit bestandshosting gecentraliseerd gestructureerde zoekopdrachten programmering ondersteuning documentatie ontwikkelen onderhouden beschikbare vrijwillige verbeteren inbegrepen nederlands chatserver onstabiele applicatie overwinnen verbinding innoveren cursussen vergroten verbonden aanmelden schrijven opleiding favoriete apparaten meerdere functies gebruikt nuttiger chatbots feedback russisch arabisch livechat platform services toezicht training diensten netwerk stellen gericht support bestaat bouncer burgers spreken welcome openbsd verzoek nieuwe orange ircnow aantal engels worden welkom eerste zoals maken games houdt hindi bèta frans lezen prijs talen tekst vrije omvat sftp deze mail hebt http onze test team perl zijn voor erop tijd goed kunt via een uit hun met org 1gb bij van het zal php of na +Pear.Pear:1637664352: Pear.Todo : ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ ▓▓▒▒░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░▓▓ ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ ▓▓▒▒░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ ▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓ ▓▓░░░░░░░░░░░░░░░░░░▓▓ ▒▒░░░░░░░░░░░░░░▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓░░░░░░░░░░██ ▒▒▓▓▓▓▓▓▒▒ ▓▓▓▓██░░ ▓▓▓▓▓▓██ ██▓▓██ hosted_button_id documentations administrators xjbh9xmxgnskg configuration collaborative registration effectively application chewbakka85 connections teamleader federation maintained successful interested experiment favourite supported recruiter donations governing available unlimited languages volunteer community connected currently services together software platform unstable friendly innovate sysadmin provided upgrades changing remember networks protocol features feedback thriving multiple favorite clicking windows welcome spanish details improve located english include android bouncer develop receive account devices openbsd special benefit punjabi quality without contact members channel servers shortly totally request consist easier ircnow useful source kindly assist common please famous access client unites making donate create paypal guided dennis german better number system greetz mobile people learn chats group great truly users build today staff which wants ready added topic linux dutch hindi could https terms again keeps agree their speak swiss make pear todo them name list also more they time self fizi free that made well urdu your will used this york good from help easy sign upon type part goal have real text live than once how www can new usa fan mac ios run org who not fun ask may any quo say by if 15 +Orange.Nl:1637664352: : ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ████░░▒▒██▒▒▒▒▒▒████ ████▒▒▒▒▒▒▒▒▒▒▒▒████ ████████████ ████▓▓▓▓▓▓██ ██▒▒▒▒▒▒▓▓██ ██░░▒▒▒▒▒▒██ gebruiksvriendelijker systeembeheerders internetmonopolie opslagcapaciteit bestandshosting gecentraliseerd gestructureerde zoekopdrachten programmering ondersteuning documentatie ontwikkelen onderhouden beschikbare vrijwillige verbeteren inbegrepen nederlands chatserver onstabiele applicatie overwinnen verbinding innoveren cursussen vergroten verbonden aanmelden schrijven opleiding favoriete apparaten meerdere functies gebruikt nuttiger chatbots feedback russisch arabisch livechat platform services toezicht training diensten netwerk stellen gericht support bestaat bouncer burgers spreken welcome openbsd verzoek nieuwe orange ircnow aantal engels worden welkom eerste zoals maken games houdt hindi bèta frans lezen prijs talen tekst vrije omvat sftp deze mail hebt http onze test team perl zijn voor erop tijd goed kunt via een uit hun met org 1gb bij van het zal php of na nl +Openbsd.Easyapp:1637664352: : rewriting location schedule request rewrite openbsd easyapp httpd needs match conf url php 1 2 +Ircweb.Ircweb:1637664352: : xmlhttprequest websockets javascript brutalist requires browsers courtesy embedded existing http2irc handles firefox easily bridge client safari chrome ircweb expect attach which pages works calls makes opera logic major only like side that into inex the you use can png ie9 of no +Http2irc.Http2irc:1637664352: : xmlhttprequest masquerading javascript developers firewalls interface http2irc compiled replaced password username touching bouncer through clients sockets privmsg without network traffic written bncnow server solely actual bridge tunnel allows ircnow ports block makes using hello world build https later curl pure chat chan lets like 6697 side 6667 that easy apps code znc web any can the and org cmd you bsd by be ii on +Ircnow.Helpers:1637664352: Third.Third Ircnow.Goals Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Ircnow.Roadmap Marketing.Marketing : documentation programming commitment interested experience philosophy optionally marketing questions sysadmins improving volunteer stations familiar howtoask software internet customer minimum roadmap friends helpers project servers freedom improve connect hosting support ircnow skills become purely resume gaming reward mentor invite coding duties source goals smart third using tasks their other hours party title wikis blogs learn apply would radio while will some your they with work chat team bots must much more hang week unix like role paid lack join user this apps open and set non can but for own one new add out if cv 5 +Openbsd.Vi:1637664352: : unfamiliar vimtutor pkg_add openbsd with doas you are if +Openbsd.Chroot:1637664352: : sandboxes directory redirect apparent normally benefits insecure outside process include openbsd chroot cannot modify access unable inside refers change anging files stuck intro view that when runs jail any new the you is so of +Openbsd.Achurch:1637664352: : services achurch version openbsd forked ircnow title http uses org of +Openbsd.Acopm:1637664352: : alphachat projects packages openbsd monitor readme acopm proxy https plain git net md +Bouncer.IRCCloudWeb:1637664352: Freedom.Freedom Bouncer.Bouncer : irccloudweb proprietary registered abcde12345 connected username consider password hostname software features requires nickname details sidebar address network account example bouncer message minutes freedom without appears clients however protect premium server attach unlike should ircnow source mobile secure saying quote other click 31337 check using fully https right login offer email which asked after open wait type join want good john your then real will port fill most look paid apps and png com not new see few znc yet for org to if be +Bouncer.IRCCloudAndroid:1637664352: Freedom.Freedom Bouncer.Bouncer : irccloudandroid proprietary abcde12345 registered connecting connected password requires username nickname features hostname consider software network details freedom bouncer sidebar address minutes message example without account premium protect should corner ircnow attach server saying select secure unlike source client modal other pass1 using quote right after 31337 email title press login pass2 asked https paid menu type real john wait your open done most apps want port look fill then will left hold znc yet png com few see not for top tap org new be if +Bouncer.IRCCloudiOS:1637664352: Freedom.Freedom Bouncer.Bouncer : irccloudios proprietary abcde12345 registered connecting connected password requires username features nickname hostname software consider bouncer address example details network account sidebar without message freedom minutes protect premium attach ircnow server should corner secure select unlike client source saying right modal quote 31337 title login https after using asked press other email fill wait want will full john your then type open paid save port most hold left apps menu look for and yet znc not png tap top com org see few new be if +Bouncer.IceChat:1637664352: : newservernossl newserverssl abcde12345 registered connecting connected username password settings icechat network example bouncer minutes message startup display without uncheck details address windows corner ircnow bottom attach issues report client source should saying users click extra title 31337 where left john your fill look open note want some nick http wait type like tls for and png the few znc www tab see bnc yet org if v9 +Bouncer.KVIrc:1637664352: : configuration connection connecting nicknames connected advanced identity username protocol password servers running network section example windows address message bouncer ircnow should attach change client source saying click write might email 31337 check title kvirc after linux https like with will john runs your that port this open look type give sent for yet and the mac not znc set get ssl new org png see by if go be +Bouncer.KiwiIRC:1637664352: : registered nextclient connecting abcde12345 connected password username example bouncer network details kiwiirc padlock address message minutes browser should ircnow server attach enable saying source check click 31337 title https then your runs that john look open like fill type want wait icon port with web see znc not yet few com and png for ssl org to if +Bouncer.RevolutionIRC:1637664352: : revolutionirc abcde12345 registered connecting nicknames connected password username network android example bouncer address details message server should ircnow attach corner bottom button client source saying check 31337 home2 quote title https right mrarm then fill your want edit john open type with look like port for png znc tap not get yet tls ssl org of if +Bouncer.XChat:1637664352: Freedom.Freedom Bouncer.Bouncer : showdetails information networklist proprietary connecting abcde12345 registered connected username password consider software hostname servers bouncer uncheck example address general startup windows freedom protect message minutes button bottom corner attach select ircnow should client source saying global xchat click 31337 title blank linux using this nick john your fill then with open file auto from menu want http wait type left like look port new tab yet → few znc not and org mac see png ssl bnc all if +Bouncer.AdiIRC:1637664352: Bouncer.Bouncer : proprietary connection abcde12345 consider password username software network replace example bouncer include freedom privacy protect ircnow actual server adiirc should source client inside window 31337 title using https with your john this want open then sign plus that sure make real type org and com for to if +Bouncer.IRCCloud:1637664352: Freedom.Freedom Bouncer.Bouncer : proprietary registered abcde12345 connected software irccloud hostname password username consider features requires nickname details sidebar address network account example bouncer message minutes freedom without appears clients however protect premium server attach unlike should ircnow source mobile secure saying quote other click 31337 check using fully https right login offer email which asked after open wait type join want good john your then real will port fill most look paid apps and png com not new see few znc yet for org to if be +Marketing.Marketing:1637664352: Marketing.Memes Marketing.Recruit Marketing.Freedom Marketing.Opportunity Marketing.Independence Marketing.Republic Marketing.Enterprise Marketing.Religion Marketing.Founders : independence opportunity enterprise marketing targeted republic religion founders recruit freedom memes ideas spam ads tax but ban +Bouncer.SimpleIRC:1637664352: : jordynsmediagroup incompatible negotiation abcde12345 connecting registered simpleirc connected username userhost password nickname received packages unknown details network bouncer address example message version minutes startup attach corner server should prefix ircnow saying fdroid bottom check 31337 title right home2 ircv3 names https multi fails like john want line your then fill auto sees time when save with type wait note look port iso tap znc png org yet few ssl cap and for if tk of v1 9 +Bouncer.WeeChat:1637664352: : autoconnect abcde12345 connecting connected username password replace user123 network pass123 example weechat bouncer command message windows ircnow source saying attach server client 31337 title https input linux your save want line open john type real with the mac for not bnc get znc yet org png ssl bar add is if +Openbsd.Botnow:1637664352: : software download openbsd botnow ircnow https here org can tgz you +Openbsd.Bsdrd:1637664352: Openbsd.Install68 : installation particular installing substitute install68 automatic upgrading sometimes existing fastest openbsd finally quickly upgrade reading booting damaged process options mistake repair cancel system during bootup follow should attach rescue bsdrd press https guide avoid bring using enter title cases stick other files these might note ctrl type want html faq4 then this make back from must rest lack your and for may usb png any org www way of cd do if 1 +Openbsd.Vmmuser:1637664352: Shell.ShellPutty Openbsd.Vmminstall : combination vmminstall shellputty hypervisor sometimes dedicated keyboards following username hostname redirect terminal personal commands shutdown followed multiple physical machines connect windows coconut virtual control upgrade openbsd console unpause vmmuser ircnow server single create inside repair attach allows tildes period before manage serial system likely escape press vmctl order guest which works linux first https enter lives guide usage title using start check that type note once view your boot want most stop must have runs need this will also ctrl the see org out any may few two can ssh log png by if cu 8 1 4 +Freedom.Finances:1637664352: : cryptocurrency infrastructure transparency organization transactions voluntarily development financially independent networking accounting providing registers donations processor authorize finances expenses controls directly revenues salaries software business collects instead handled provide freedom patreon payment country paypal server enough spends common ledger skrill profit income wallet needs about money teams earns later vote bank fund sets like that each when have much semi goes some form pays own ask its how the non not we up by +Freedom.Serverrights:1637664352: Ircnow.Constitution : cryptocurrency infrastructure serverrights contributing constitution transparency transactions organization independent development voluntarily financially federation experiment permission principles government networking accounting governance governing available registers community donations authorize providing processor together software policies expenses business services directly collects revenues controls interest salaries without purpose manages however instead unified payment patreon handled protect country modeled defense provide benefit servers freedom ledger income enough unites source common profit charge future public ircnow skrill paypal create writes divide wallet strong asking spends almost person users staff power earns money about among trust after truly other teams later bound needs vote each that bank many open fund like fair self pays have semi goes will when form much code help some sets its own not can run has you non by up +Openbsd.Sysupgrade68:1637664352: Openbsd.Dump Openbsd.Restore Openbsd.Cu VPS.Intro Openbsd.Buyvm Openbsd.Top Openbsd.Syspatch : automatically configuration sysupgrade68 installation substitute particular succeeded operating sysmerge syspatch shutdown packages messages openbsd generic restore console version patches reading pkg_add amount attach serial domain proper ircnow should reboot recent system number begin intro files buyvm https check amd64 uname after error cores title quick fruit guide using first note sure doas says then this your html have type want need will pear find make back next dump view most that some and png vps top run www org ram for faq man any may see fix are vnc vmm can use if 98 of my 7 3 2 5 1 +Bouncer.Igloo:1637664352: Freedom.Freedom Bouncer.Bouncer : proprietary registered connecting connected password iglooirc consider username software bouncer network details address example minutes freedom protect message ircnow should server attach select client source saying 31337 right title https where using your add1 nick with fill type home want open add2 save wait port host look like znc com the ios org not top bnc see few tap png ssl tls for yet if +Third.Basilisk:1637664352: : basilisk browser https third pros cons org +Third.Dillo:1637664352: : lightweight statically javascript relatively footprint available supports software default windows license written general browser simple linked secure public dillo based terms gplv3 third under https linux small speed known free made cons code dilo pros fltk org mac its for the gnu bsd and has www is by +Bouncer.ZNC:1637664352: : jumpnetwork addnetwork plaintext addserver connect example correct browser replace bouncer newnet status ircnow using panel paste with your 6697 copy 6667 view port such then into type name com are znc and web url org msg if of +Debate.Accessibility:1637664352: : adaptivewebdesign accessibility edition debate https info read 1st +Debate.WhyNotC:1637664352: : themselves absolutely rebuttal programs response commands written someone hogging whynotc python advise debate which space drive write that your full will they sort want hard perl are see all use my if du to +Debate.Monero:1637664352: : localbitcoins localmonero debate deeply looked https since said into this you not com too and ve +Openbsd.Tcltls:1637664352: : configure provider openbsd install running eggdrop tcltls build https title shell make need will core xvzf lang doas are you tar org ftp for if cd 22 to gz uv 1 7 +Ircnow.Partners2:1637664352: : partners2 networks channels training bouncers website provide support filters suggest abusers banning content options ircnow report wikis iline title known share adult spam tech mark with help will nsfw your auto for and log +Openbsd.Sshbackdoor:1637664352: : sshbackdoor unfiltered receiving outbound services address packets sending openbsd hidden public should server allow title used icmp each ipv4 have ddos only dns and ntp for the be +Ircnow.Testing:1637664352: : drawbacks benefits sysadmin features accounts software downtime testing buggier servers private control stable secure ircnow newest become crash store title write shell learn work less bots more your data here unix and may way don any set up +Ircnow.Sysadmins:1637664352: Vps.Vps Openbsd.Openbsd Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Training Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation immediately commitment references experience optionally themselves sysadmins tutorials following interview improving questions training finances customer progress internet software projects websites salaries howtoask familiar applying recruits freedom minimum roadmap friends openbsd network request improve promote require someday account include chatter willing respond threats support servers please ircnow resume defend number afford minute notice system become finish before cannot worked report coding duties invite reward weeks learn third shell seems smart goals after basic email staff hours track phone party legal title write users ready being would while their help with must real good unix code like hang your team have time full oper name this they take got who add new vps out and but org pay cv by if 6 5 +Ircnow.Stable:1637664352: : drawbacks sysadmin benefits accounts downtime software features compile servers ability support stable secure ircnow learn write title fewer older shell long have more less term your code and can to is +Grape.Tasks:1637664352: : grape tasks +Openbsd.Backups:1637664352: : essential openrsync backups openbsd routine losing making avoid title data will use on to we is +Openbsd.Backup:1637664352: Openbsd.Dump Openbsd.Restore Openbsd.Openrsync Openbsd.Tar Openbsd.Scp Openbsd.Sftp : openrsync transfer followed possible openbsd backing restore minimum backups should policy native title daily there habit sftp ways make dump week file once over tar scp are you if by of 3 +Orange.Todo:1637664352: Openbsd.Install68 Openbsd.Vmminstall Openbsd.Vmmuser Openbsd.Bsdrd Openbsd.Newdisk Openbsd.Backup Openbsd.ZNCAdmin Openbsd.ZNCUser Openbsd.Upgrade68 Openbsd.Buyvm Openbsd.Znc Openbsd.PFStable Openbsd.Httpopenproxy : multiprocessor httpopenproxy attempting vmminstall installing configured install68 donations upgrade68 firewall upgraded familiar pfstable practice zncadmin vmmuser openbsd zncuser version because newdisk support country coconut changes collect perhaps patreon proxies stripe before backup orange please server paypal skrill ircnow guide buyvm added bsdrd title money first these major setup files payza took jrmu long todo also need with team read your done note list and how way fix etc any org of 1 2 +Mango.Todo:1637664352: Openbsd.PFStable Openbsd.Newdisk Openbsd.Backup : attempting configure donations firewall pfstable practice country perhaps openbsd newdisk changes patreon collect coconut stripe skrill server backup before ircnow please paypal files payza mango title first these money major setup todo list note done your need way etc org any add and of +Jujube.Team:1637664352: Openbsd.PFStable Openbsd.Backup Openbsd.Newdisk Openbsd.Znc : attempting configure donations firewall pfstable practice changes collect backing country openbsd newdisk perhaps patreon upgrade migrate coconut paypal skrill stripe backup server adding before ircnow please jujube files check title money first major setup payza these todo done team data your note list need org any znc are way etc and by of if 2 8 1 +Banana.Banana:1637664352: Banana.Todo : breadofgod webserver welcome channel second banana ircnow member become domain 16667 https bible holy todo page have join want list here name and you www our the org if +Banana.Todo:1637664352: Openbsd.Upgrade68 Openbsd.PFStable Openbsd.Newdisk Openbsd.Backup Openbsd.Znc : multiprocessor attempting configure upgrade68 pfstable practice familiar firewall openbsd install eggdrop newdisk support version changes coconut banana backup please ircnow before follow server files check title major these first guide done bots host todo your note list with any znc org see how add and of if 2 1 +Ircnow.Netizen:1637664352: Third.Third Ircnow.Goals Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Ircnow.Roadmap Marketing.Marketing : documentation netizenship programming commitment interested optionally experience philosophy marketing improving sysadmins technical questions training policies stations software internet familiar howtoask freedom friends servers connect support roadmap project improve minimum hosting network ircnow duties become invite mentor reward rights gaming resume coding source other goals tasks using users party their third hours title learn blogs smart wikis apply radio while enjoy your team with read bots week help unix much more hang chat some they join apps open must will and set non can out for own add one new cv if 5 +Pear.Todo:1637664352: Openbsd.Upgrade68 Openbsd.Install68 Openbsd.Newdisk Openbsd.Backup Openbsd.Znc Openbsd.PFStable : multiprocessor attempting configure install68 donations upgrade68 practice firewall pfstable version backing openbsd collect migrate perhaps country patreon newdisk support coconut changes guides please server follow skrill ircnow before upgade backup adding paypal stripe title files check payza money setup major these first your done pear data todo list need note znc way vps etc and any org of by if 1 2 +Plum.Plum:1637664352: Irc.Guide Freedom.Software Plum.Todo : underdevelopment entertainment suggestions interesting application conditions portuguese completely appearance available knowledge different computing languages connected customise sponsored recommend including introduce according unlimited interests operating character training software networks services provides nickname oriented identity internet platform anything favorite valuable channels require chatter android freedom looking windows bouncer onboard forward contact project enhance support located believe english spanish trained members openbsd control bengali circle ircnow hebrew server french europe arabic create please issues number offers aiming vhosts future shared medium system school ethics speech st13g match error topic users guide based power which heart solve linux terms their using agree would hindi keeps group range also more your plum well will team seek help nine urdu long todo list text this must have part with find here most cost face miss aims that room make root vast get can not ask mac ios few set may old who by 24 7 +Plum.Todo:1637664352: Openbsd.Upgrade68 Openbsd.PFStable Openbsd.Newdisk Openbsd.Backup Plum.Plum : background attempting upgrade68 donations configure tableend practice familiar firewall pfstable openbsd patreon perhaps country newdisk collect changes coconut f5f6fa cellnr backup b33939 server 44bd32 stripe please skrill paypal ircnow before style color setup guide files title payza first money these major plum done with your page todo wiki note need list org any how way and etc add of +Grape.Todo:1637664352: Openbsd.Znc Openbsd.Newdisk Openbsd.Backup : attempting donations practice familiar openbsd perhaps country collect version upgrade newdisk changes patreon coconut ircnow stable server skrill please before stripe backup paypal files check grape payza title setup first money these major your todo list note done with need add how way znc any see org etc and of if 2 8 1 +Cherry.Todo:1637664352: Openbsd.Znc Openbsd.PFStable Openbsd.Newdisk Openbsd.Backup : planetofnix advertising postmaster collecting attempting donations configure completed teammates frantech practice probably services register pfstable firewall familiar openbsd newdisk kekanda website contact patreon version support changes perhaps country coconut portals upgrade records pylink cherry ircnow server backup please before create paypal stripe update skrill files certs title abuse setup first these major https every money email admin check payza ipv6 info done with sure make your know them want irc6 todo need list note znc has pic see way get etc org any how buy ssl add ip6 dns my ca oz if 8 1 2 +Category.Users:1637664352: : category users +Users.CategoryMirrory:1637664352: Ircnow.Partners Ircnow.Sysadmins Ircnow.Roadmap Ircnow.Helpers Category.Users Users.CategoryMirrory UsersCategoryMirrory.Test : users_category_mirrory userscategorymirrory unixphilosophy disagreements corporations internetwork interactive activities government interfaces convenient themselves principle sysadmins equipping citizenry projects software together stations programs training minetest comments educated specific partners hosting methods already related ddosing illegal roadmap another welcome started feature happens example culprit helpers servers please ircnow apathy factor should revise domain combat attach choice center though design action debate coding lfloat stands rfloat output footer blame wants techs align every armed rosie their dying means xargs 25pct https radio index click links width offer floss wikis might input types block comes thing along creep avoid blogs only more much well self bots with spam code have they your real this both find text edit here name what easy gzip also when list know try pet one new vps png for dir but has org php own add can all toc up xz be +UsersCategoryMirrory.Test:1637664352: Users.CategoryMirrory : userscategorymirrory category_mirrory pagelist test +Ircnow.Pentesters:1637664352: Ircnow.Goals Vps.Vps Openbsd.Openbsd Freedom.Freedom Shell.Shell Ircnow.Howtoask Ircnow.Roadmap Third.Third : documentation pentesters completely applicants commitment references appreciate optionally experience tutorials questions following improving interview anonymous security software customer patching websites projects applying howtoask sysadmin internet learning exploits familiar training salaries support require request roadmap someday freedom improve account provide openbsd contact minimum network willing conduct against friends please before finish defend system server ircnow invite remain prefer reward become worked number resume access duties afford cannot issues would third smart goals while shell staff phone legal about title party hours first well your send team love hole with full know have week join goes help find then like must name user unix hang this time code root real take new and pay vps but see add org if cv by 5 +Ircnow.Coders:1637664352: Ircnow.Goals Vps.Vps Openbsd.Openbsd Freedom.Freedom Shell.Shell Ircnow.Howtoask Ircnow.Servers Ircnow.Roadmap Third.Third : documentation application experience commitment references optionally questions following tutorials improving procedure interview including sysadmin recruits internet familiar howtoask applying websites training salaries learning software customer freedom servers openbsd request friends improve require roadmap account someday address minimum conduct willing support ircnow afford system cannot social finish duties before number resume become coding coders skills reward third smart would party phone while goals title users write email hours media which staff legal shell tasks other have unix help want team name your each like full they week work send with must hang take time real love join oper this and vps non out new but may pay own by if cv 5 +Ircnow.Censorship:1637664352: Ircnow.Networks : infringement pornography censorship meaningful impossible individual decisions peaceably guarantee copyright establish connected countries networks religion sysadmin congress petition censored friendly behavior official exercise services channels include example control however legally violent freedom another illegal claimed threats without becomes debates digital gather ircnow speech server policy united rights states system ensure family cannot power users wants there types title staff rules order press shall wide team each make also stop bill have this even that must some form zero many are its our set has ban one +Jujube.Todo:1637664352: Openbsd.PFStable Openbsd.Backup Openbsd.Newdisk Openbsd.Znc : configured attempting donations firewall pfstable upgraded practice patreon newdisk country openbsd collect testing migrate perhaps coconut changes backing jujube please stripe ircnow skrill paypal backup before adding server title check payza files still fully setup major these first money done todo your data list note need znc etc way any org and are if of by 1 8 2 +Email.Outlook:1637664352: : checkandsignin internetemail advancedsetup setupservers addaccount signature password incoming outgoing username provide outlook further finally checked attach ircnow select click below image shows imap4 steps feel free four join last easy sure make with help your here type for any are png to on 1 6 5 3 2 +UsersCategoryMirrory.Statement:1637664352: : userscategorymirrory responsibility dishonorably pornography environment themselves moderation individual determined cheerfully advantages constraint belonging motivated willingly statement specific policies coercion software children servers example network profits healthy welcome eagerly exposed benefit nurture should policy ircnow colors making creeds always office ensure global flock peter guide title guard drugs their thing right write fold ampc safe that free tend made help your duty code and for not all ask but own run who god by to do up 5 1 2 +Ircnow.Ambassador:1637664352: Ircnow.Goals Freedom.Freedom Vps.Vps Almanack.Almanack Shell.Shell Ircnow.Ilines Ircnow.Ally Ircnow.Networks Marketing.Marketing Ircnow.Roadmap Ircnow.Finances : administration organizations transactions sponsorships partnerships application interacting socializing ambassadors negotiating diplomatic businesses experience exemptions connection commitment technology understand marketing qualified negotiate alliances anonymous interview improving software immunity networks accounts services promoted familiar almanack internet salaries finances progress friends freedom improve someday private minimum roadmap contact openbsd involve foreign request receive become duties ircnow ilines remain donors afford source resume report admins needed cannot reward other track email shell staff hours limit goals users money title would while apply extra deals opers enjoy help with week that this your ally gain time know like hang from out get vps job see add how may new pay but to cv 5 +Openbsd.Ongoing:1637664352: Ircnow.Networks Openbsd.Botnow Openbsd.ZNCUser Openbsd.ZNCAdmin Openbsd.Wraith Openbsd.FilePermissions Openbsd.Got Openbsd.Gotweb Openbsd.Sftp Openbsd.Sshkeys Openbsd.Sshbackdoor Openbsd.Vmmuser Openbsd.Install68 Openbsd.Vmminstall Openbsd.Upgrade68 Openbsd.Sysupgrade68 Openbsd.Bsdrd Openbsd.Fdisk Openbsd.Disklabel Openbsd.Newdisk Openbsd.Growfs Openbsd.Tcpdump Openbsd.Staticnet Openbsd.Pf Openbsd.PFStable Openbsd.PFTesting Openbsd.Ddos Openbsd.RDNS Openbsd.Iked Openbsd.Police : filepermissions administrating sysupgrade68 filesharing sshbackdoor networking vmminstall minimalist practicing installing partition disklabel install68 reinstall configure minutemin simulated pftesting utilities staticnet zncadmin chrooted practice policing security firewall pfstable networks training claiming customer protocol newdisk openbsd tcpdump packets ongoing vmmuser zncuser abusive sshkeys servers defense account provide support service botnets storage control system offers growfs detect filter police viewer gotweb claims follow wraith botnow source ircnow using guide clone which about learn setup ipsec users where title fdisk bsdrd your rdns team have zone iked vpns with repo ddos read sftp home for the and fix git add how vps nsd as if +Openbsd.Rbldns:1637664352: : openbsd rbldnsd djbdns quartz https blue html www com to yp cr io +MIF.Test:1637664352: : testing this page mif my 1 2 3 +Openbsd.Phishing:1637664352: Openbsd.Pgp Openbsd.Vhost Openbsd.Znc Openbsd.Dkimproxy : transactions trustworthy signatures vulnerable pretending important phreaking dkimproxy passwords usernames different messaging telephone phishing original commonly identify channels messages nickserv defenses attacker openbsd website attempt confirm typical joining systems prevent fishing headers bouncer matches protect appears someone company ircnow verify always detect emails custom occurs unless forged beware credit inside vhost comes basic calls known other opers cards there check steal users using tries your team mode data fake with when from send real them well hard look used that work and log non pgp znc set try sms by of up +Debate.Firstamendment:1637664352: Ircnow.Networks : firstamendment criticizing environment permanently distributed independent disagreeing censorship meaningful mainstream individual ostracized establish believing recognize peaceably connected necessary networks religion limiting services congress maintain official friendly exercise channels petition sysadmin internet children accounts debates digital claimed however another product control limited freedom company social review policy banned family should effect server rights states comply health gather speech simply ensure ircnow around people power world being raise order worse rules local shall staff users press bible media wants allow today each your type team what need time have rise with also same stop even bill this that wide does make for has run set can get its law and are one own +Openbsd.Abuse:1637664352: Ircnow.Networks Openbsd.Ngircd Openbsd.Znc Openbsd.Opensmtpd : permission opensmtpd official channels networks teammate services claimed running another without openbsd someone process privacy applies censor server ngircd ircnow policy email abuse terms their right prior each such your this due and own set znc has ban web any can to +Openbsd.Delphinusdnsd:1637664352: : delphinusdnsd openbsd server title https org is a +Openbsd.Pfbadhost:1637664352: : geoghegan pfbadhost download openbsd https html www ca +Openbsd.Unboundadblock:1637664352: : unboundadblock geoghegan openbsd https html www ca +Openbsd.Base64:1637664352: : cmfuzg9tc3ryaw5n encode_base64 randomstring randomname b64decode b64encode encoding openbsd mmime liner https print title begin there test ways this perl easy use can you org two are man 644 one to +Shell.Mac:1637664352: Shell.Sshfingerprints : sshfingerprints connecting launchpad username macterm2 macterm4 macterm3 macterm1 password macterm5 terminal replace matches ircnow attach verify server shell fruit title press enter click other type done your with real png app org and yes +Dns.Providers:1637664352: : registering subdomains registrar providers services freedns afraid annual https offer there also from need like name that your fee are org pay own to +Team.Policy:1637664352: Freedom.Federation Ircnow.Team Openbsd.Training Third.Third Ircnow.Constitution : cryptocurrency constitution organization transparency participates development trustworthy federation encouraged censorship eventually teammates registers donations president elections interview trainees business collects expenses revenues policies congress software salaries services bouncers training together manages network decides provide whether openbsd privacy chooses freedom gateway governs modeled recruit patreon payment account create skrill paypal policy server ircnow wallet strong common profit future spends please resume number itself should money third allow bound users needs about which earns after unite phone terms wants party picks staff legal games much that each sets they your vote like name them will must know host mail bots own and web how for ban ask can non has see if up by +Freedom.Lanofopportunity:1637664352: : lanofopportunity compatibility participate regardless boundaries guaranteed illegally sanctions backwards political expensive different national software hardware language outdated services internet hundreds breaking purchase regional intranet subject english country provide culture require freedom another connect network welcome ensures because dollars windows common global ircnow anyone income status people russia source closed across create while blocs money steal users truly often spend small older basic tools china into need open done from this join copy does with also have that best usa and can for nor you ios pay run get day new buy up +Freedom.Serversrights:1637664352: Ircnow.Constitution : infrastructure cryptocurrency serversrights constitution contributing transactions transparency organization voluntarily development independent financially federation experiment permission governance networking accounting principles government authorize providing available registers community processor governing donations controls collects expenses together revenues services salaries business software policies interest directly provide protect manages defense purpose payment unified without however country modeled benefit patreon instead handled freedom enough common ircnow create asking divide charge person ledger source future spends public skrill wallet paypal unites income writes profit almost strong users later earns about money needs after teams title staff among other trust truly power bound semi each much fair that have vote self many sets bank some form open goes code like pays when help fund will run its own not you can has non by up +Servers.Rights:1637664352: Freedom.Federation Ircnow.Team Openbsd.Training Third.Third Ircnow.Networks Ircnow.Constitution : cryptocurrency participates constitution transparency organization responsible trustworthy development federation eventually encouraged president interview donations teammates separable registers elections networks official software expenses revenues trainees policies services salaries collects channels business bouncers congress together training freedom whether handles liberty forever decides patreon gateway payment manages servers openbsd governs provide recruit privacy claimed chooses account abusive modeled defines ircnow policy create please claims spends future common strong profit wallet skrill paypal rights resume number should itself phone games third which other money wants party needs allow after picks staff union unite legal bound users earns about their title abuse terms each your will vote them sets much they like name must know host what owns from that bots mail how has see ask can non web ban up by if +Freedom.Opportunity:1637664352: : opportunity oregontrail marketing freedom attach title png +Ircnow.Ally:1637664352: Openbsd.Ilines Ircnow.Networks : requirements harassment supported advertise permanent recommend criminals together activity properly channels phishing bouncers scamming networks evidence benefits illegal provide openbsd reports labeled respond carding contact filters content advice ilines allies ircnow combat shells needed select relays reduce obtain either adult users title admin needs abuse share bring email ally ddos with list here nsfw spam many must stop logs deal link help site over will your set how can and org for if of we +Freedom.Dueprocess:1637664352: : accusations dueprocess punishment confronted excessive witnesses deprived punished informed required himself accused against account without freedom defend reason banned during except danger abuse cruel right trial shall users title great times twice will fair jury they have same must able fast fit can and get nor not to be of by +Ircnow.Allies:1637664352: Openbsd.Ilines Ircnow.Networks : requirements harassment supported criminals advertise recommend permanent activity benefits phishing together evidence scamming bouncers channels networks properly openbsd labeled provide respond content reports illegal filters carding contact needed advice shells allies ilines obtain combat relays either ircnow select reduce adult abuse users needs title share email admin bring will over stop many ally link must nsfw with ddos logs spam here list your help site deal can and for org set how of we if +Openbsd.Pylink:1637664352: : archive openbsd pylink github master https unzip jlu5 ftp com cd +Ngircd.Oper:1637664352: : volunteering commands ngircd github master thanks https modes title guide oper blob help for txt doc the to us +Ngircd.Link:1637664352: Openbsd.Dns Openbsd.Hopm Openbsd.Passwords : password_that_is_to_be_received_from_owner_of_ircfooorg password_that_is_to_be_received_from_owner_of_ircbarorg password_to_be_set_on_ircfooorg password_to_be_set_on_ircbarorg hpnsbcdbrtvq3lkkqsfq jp5meaikmiraksbby6g6 s_peerpassword checker_ngircd configurations password12345 automatically unexpectedly s_mypassword service_name service_user service_pid terminated illustrate management configure passwords specified plaintext following therefore sysadmins autostart connects operator likewise hostname symbolic solution related linking example servers openbsd address project libexec section reverse applies summing pidfile crontab cronjob nothing restart changes inside should notice ircnow global proper better stored create script enable files ports logic other their whose above block rcctl local chmod under pgrep touch which makes prior with 6667 need then when your know them they have same keep mind will used also work null this less doas sure hopm each want mean what and end dns how but see has can its say var dev let run usr etc bin was two nor don up +Achurch.Install:1637664352: : services install version achurch forked ircnow title http uses org of +Marketing.Religion:1637664352: : marketing religion +Tmux.Config:1637664352: : configuring status source right title echo tmux file set +Oidentd.ZNC:1637664352: Openbsd.Znc : disconnection disconnected successfully individually reconnection permissions configuring alternative directories afterwards installing restarting identified identfile disallows requested everytime setformat following tampering spoof_all reference different suggested temporary alternate providing symlinked solutions necessary confirmed displayed username settings contents whatever requests commands checking enforces ensuring shutdown required identbox networks manually displays uniquely automate themself changed oidentd openbsd account _identd default replies bouncer setfile desired prevent consult process changes spoofed ensures loadmod advised warning control leading without pkg_add through global recent making placed client easier status admins public module chroot rights should kindly random idents always latter tricky inside bootup theirs pretty easily create loaded method rather single starts folder server untill issues result hence would there reply while reads using users voila least where which above wants other alone clone title local write chown chmod group cause touch abuse helps https whole first gets have upon this doas said will make sbin that need from move home used your also wiki over than note less whom echo then goto runs ipv4 well case much sets know each must turn uses send made more fact been some msg znc can irc see new any but via fix has put etc usr won 664 are 755 rwx may ban don ln by +Oidentd.Install:1637664352: Oidentd.ZNC : afterwards installing suggested providing following necessary spoof_all identify uniquely optional username spoofing oidentd ensures pkg_add _identd warning desired botnick replace prevent replies default example bouncer changes account provide starts inside bootup easier system public figure allow shell title local group helps needs force based makes abuse first which reply users will with your runs work echo this then doas want sbin that wiki ipv4 conf znc etc put usr can not out now was and irc to we +Oidentd.Pylink:1637664352: Oidentd.Install : installation configuring spoofing oidentd default replies botnick pylink please inside force reply title guide this user need put etc you the see to if +Congress.Procedure:1637664352: : congressional transactions punishment determine subscribe procedure president majority presides policies journal ircnow member simple absent public quorum rules being sign kept over vice must made for any and org can see at 51 up to +Ircnow.IRCitizen:1637664352: Third.Third Ircnow.Goals Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Ircnow.Roadmap Marketing.Marketing : documentation programming philosophy commitment interested optionally experience improving sysadmins questions technical marketing ircitizen internet training software howtoask policies familiar stations freedom friends netizen connect servers support improve minimum roadmap hosting project network ircnow become mentor duties invite rights gaming source coding resume reward using goals third their tasks other hours party users title learn blogs smart wikis apply radio while enjoy your team with read bots week help unix much more hang some they join chat apps open must will and set non can out for own add one new cv if 5 +Openssl.Http:1637664352: : certificate replacing s_client example openssl website command connect begin below http type from get the pem end sed 443 to 1 2 +Minutemin.Creed:1637664352: : documentation weaknesses configure minutemin correctly defenders workings commands strength conflict daemons brother without useless against victory network masters friend server myself ircnow counts manual better before damage trying users learn types pages first enemy creed admin clean there peace until ready heart inner guard abuse them will code bots legs keep know that eyes arms this what mine than must life best many like but its are one our pwn not nor who get set of up so +Minutemin.Duty:1637664352: Freedom.Selfadmin Freedom.Independence Freedom.Freedom Freedom.Openforeveryone Ircnow.Constitution : openforeveryone independence constitution established inseparable principles sacrificed selfadmin minutemin networked patriots internal humanity equality external freedom perform derived against justice support perfect consent enemies ircnow defend powers duties those users union agree which whose their money duty time upon from will and all are of as by my to +Minutemin.Server:1637664352: : documentation weaknesses defenders minutemin configure correctly strength workings commands conflict against masters network victory useless daemons brother without better manual server myself before counts trying damage ircnow friend until enemy types peace first there clean ready learn users heart guard abuse inner title admin pages will mine code life this many know what eyes that bots must than arms legs best keep them like are one its who get our set but pwn not nor of so up +Netizen.Become:1637664352: Third.Third Ircnow.Goals Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Ircnow.Roadmap Marketing.Marketing : documentation emancipation netizenship programming philosophy interested experience optionally commitment domination oppressed marketing sysadmins questions technical improving howtoask internet familiar policies training stations software support friends servers connect roadmap hosting project freedom minimum without network improve ircnow mentor invite resume duties become reward symbol coding rights source beacon gaming goals third hours other using users party their tasks title smart apply learn wikis blogs radio enjoy while dream share your unix team must hang more much week help bots read hope apps open will some they join chat can own and non new for who day add one set if cv 5 +Termux.Connect:1637664352: Fdroid.Install MITM.Intro : misconfiguration sshfingerprints installation immediately available software outdated sysadmin followed username password although finishes continue example instead upgrade openssh connect package command warning replace respect success details dollar attach termux google update fdroid attack server should report ircnow double domain match known intro first error login there enter repos cases check rarer after title store below https find type your play want with sign free mitm time does will show data that safe also then from used note must apps this new png nor may pkg but if hl by +Netizen.Rights:1637664352: Ircnow.Constitution : responsibilities constitution transaction participate netizenship membership protection including honestly policies connects equality services freedom network respect support worship digital liberty rights ircnow defend values admins called shared prompt bound other users serve title under trial staff press fees jury obey when upon vote fair full bill our and for run get pay of by we to +Openbsd.Intro:1637664352: Ircnow.Howtoask : configuration introduction conveniently instructions information unofficial developers themselves reference questions opensmtpd searching configure examples properly answered plumbing howtoask archived template mailing package openbsd daemons readmes bundled suppose special through project channel ircnow before server sample system relayd source there lists httpd using which often https learn files these local share title pages final first start that come many base find your work doas marc also misc chat room help ircs have with take look want then etc web can org faq and cgi but pkg doc get usr www by cp +Minutemin.Questions:1637664352: Almanack.Almanack : questions minutemin reproduce software archives pastebin almanack examples homework remember openbsd consult mailing project readmes exactly located problem config sample assume search ircnow https error debug solve found first using files title pages local share what have your this show time logs misc marc info tell list must good ask cgi the org don beg etc and usr web pkg doc use all if to +Mail.Test:1637664352: : personal practice message sending address outlook server email gmail your also such from test an or to as +Bsd.Hope:1637664352: : applications advancement inspiration understand contribute advocates ecosystem ownership encourage incentive surrender permanent yesterday software studying provides tomorrow powerful property scolding prospect features install himself because promise demands writing replace declare freedom natural license society newbies learns writes little rights forced equals offers source better number users happy their today title class which there those twice hours years spent among about have give hope with them make will they work need code many more than mere did you pay get gpl how bsd can has ago ten was who no up if +Bsd.Labor:1637664352: : encouragement consideration organization intellectual contributing independent flourishing encouraged experience diligently percentage productive enterprise ecosystems contribute proportion community condition important something configure whatever software property continue positive majority installs industry happened argument building features requests deserves improves newbies without network healthy destroy labored another existed himself assured wanting enjoyed survive profits whether silicon society enjoys fruits should coding valley begins perish higher learns ensure before entire source around others users small finds which place seize never ifend first built could great world their theft comes merit shall trick while large would opens coded force years after gives false hires coder wrong must eras than same that idle have this free when from soon more much will time stop turn each good only hard toil then fair safe rest help base bugs rare upon part sell hope just can and has way who bsd you own old few rot had let one any don +License.Discriminatory:1637664352: : discriminatory understanding republicanism independence preservation conclusively plausibility institutions inalienable declaration governments criticising fundamental constitutes familiarize disciplined battlements especially instituted principles accustomed yourselves everywhere resumption hypocrites prescribes altogether injustice violation sincerity despotism liberties different insisting preparing therefore happiness bristling according elevation influence monstrous superior question whatever governed interest relation property heritage yourself subjects deprives argument american deriving frowning steamers strength reliance stronger struggle liberty without consent however license planted cunning trample governs destroy gallant bondage against defense tyranny another himself opposed bulwark degrade equally because amongst leading derived evident friends created endowed creator certain ancient pursuit freedom slavery exactly example morally enables enemies around become tyrant itself truths rights coasts secure spirit powers quoted turned anchor prizes causes forces really master chains spread action bosoms enough weaker making merely genius people wealth poorer snatch richer having these first doors their world those false seeds sheet taunt which doubt lands taken civil prove users rules voice rises total tanto allow tends faith limbs ifend whose mean than many meet into open good from have this care them that much time show life same only will lost then says hold they guns wear love well make army fair but may god has sea set why now aim — fit of by +Third.Devs:1637664352: : marketing madeonirc attach third devs png +ClawsMail.Connect:1637664352: : serversetting portssettings sendsettings configurate preferences raspberry clawsmail acceptssl yourinfo account current connect before attach change click comes steps imap used edit with open this else wont work done didn smtp the are png and up pi if to go 5 6 4 1 7 3 2 +Iked.Linux:1637664352: : distribution certificate connections disconnect libcharon connected following identity password username starting command plugins require setting finally program server import second ircnow issue extra press linux named ikev2 guide ipsec using enter first that your when host iked will ctrl path sudo this just line from are the org cmd for vpn has crt we up to +Iked.Windows:1637664352: : configuration certification certificates destination description authorities connections management connected workplace computer segundo2 septimo7 selected password username internet primero1 tercero3 console trusted windows control network sharing quinto5 finally seconds cuarto4 options account import launch dialog domain should finish remove appear browse attach expand ensure action center client sexto6 panel click inthe after under field local tasks file menu then done your snap fill icon need next root that some iked open tree jpg vpn are now bar box new set add of up my +Iked.Android:1637664352: : automatically certificates application previously strongswan cellphone imported options finally profile uncheck created tercero storage connect segundo setting android install button screen change client attach select second quinto cuarto before appear press third sexto files first will dont your then type open save have many show fill info that menu must over main just come back page iked with from jpg vpn add box new up +Bgpd.Configure:1637664352: : configure document please thanks sarah help bgpd can you us +Minetest.Serverlocations:1637664352: : arcadeemulationserver pineapple_server_3 serverlocations minetestserver executable minetest4 important terminals commited aes_game directly updating command changes stored screen gitlab should worlds pulled https files found games other home edit they repo that from conf must have tmux all pwd are you see can run bin use not be do of is +Census.Census:1637664352: : command—akick—which verification—channel successor—making channel—rather accountability authentication administrator automatically configuration functionality pseudoclients authenticated disconnecting combinations disconnected registration unregistered considerably intermediate notification particularly unauthorized conveniences information statistical maintenance furthermore centralized immediately terminology controlling privileged altogether privileges management conversely prohibited difference registrant preventing discussion associated controlled explicitly individual sufficient configured expiration broadcasts experience implements alleviates disastrous restarting adjustment exceptions monitoring statistics definitive strictness frequently additional nicknames ownership following recognize tradition operators requiring including explained functions moderated forwarded mentioned designate contacted regarding difficult addresses malicious described passwords hungarian languages recipient supported recording specifies restoring available autokills pasteserv different questions registers presented maintains prohibits multiple received disallow ordinary messages services possible chanserv chatting features dataserv founders previous operserv channels deleting entirely spamserv realtime memoserv dropping enforced autokick limiting simplify japanese security programs verified nickserv commands creation settings policies detailed overview complete accident provides networks username fileserv deletion memeserv hostname disabled remember problems absolute inviting controls probably referred whenever includes separate statserv checking monitors prevents tendency selected allowing entering sessions internet shutting specific changing notified dropped aliases english spanish russian managed primary between certain options complex removal example default request through storage handles turkish whether greater allowed letting actions entered sending changes require restore effects notices editing changed misused servers banning cloning offline defined waiting someone various respect defines smaller listing briefly reading getting botserv thought section leisure without achurch system invite allows access normal forked remove having leaves rename giving listed levels census period online degree always useful little mirror called status andrew direct either offers obtain global subset itself french groups cancel german humans single beasts notify number splits ensure secret casual hidden happen expire should active remain simply others verify limits juping easily switch loses basic stage keeps short while about major users usage value above known means where lists would cases after avoid built worth below those using super masks often joins again since could whose given lines modes might these wants their named voice topic gives links title along match order valid point arise large share relay dutch sense sends until areas every have last well from stay that mail they next will this root also thus unix come four gone down many been them each same such does type like true back code help what show news than sets upon bans only turn wide full http make into most role much play deny note irc has see but few web org was url may by 1 3 6 2 4 +Relay.Relay:1637664352: : configuration permissively connections interpreted eventually permission federation namespace languages requiring scripting inspired supports messages suckless networks username sensible operator features together bringing licensed defaults special relayed filters inspect channel without number server appear create relays unique should unites modify ircnow simple client title allow yahoo union https tools that pure core only nsfw each will open form sic org any com and c9x of by +Botnow.Botnow:1637664352: : configuration registration interpreted replacement simplified compatible javascript versatile databases including accounts networks multiple language metadata assemble features bouncers password designed existing messages modules eggdrop prevent request provide connect entries storage written assign botnow change client across easily python botnet title files track shell using email relay abuse reset login store info easy vpns into help flat user perl tcls with load rdns www irc web and for any bnc be +Openbsd.Sysupgrade69:1637664352: Openbsd.Dump Openbsd.Restore Openbsd.Cu VPS.Intro Openbsd.Buyvm Openbsd.Top Openbsd.Syspatch : automatically configuration sysupgrade69 installation substitute particular upgrade68 succeeded operating sysmerge syspatch shutdown packages messages openbsd generic restore console version patches reading pkg_add amount attach serial domain proper ircnow should reboot recent system number begin intro files buyvm https check amd64 uname after error cores title quick fruit guide using first note sure doas says then this your html have type want need will pear find make back next dump view most that some and png vps top run www org ram for faq man any may see fix are vnc vmm can use if 98 uu of my 7 3 2 5 1 +Minetest.Texturestyle:1637664352: : skins_collectible texturestyle typically zughy_32 humaniod possible minetest default palette palate server lospec making colors should found these start needs https with your edit when only make list for and use com are we to if +Minetest.Updating:1637664352: : arcadeemulationserver path_to_aes_game occasionally repository submodules downloaded recursive arena_lib mirroring different directory ourselves typically minetest4 terminal existing checkout location checkbox username password settings updating computer uploaded command project changes checked editing message without someone because instead already modname example address locally correct cloning commit adding remove should gitlab folder online master copied linked public update option better branch import always latest click ahead games label first files https group yours after paste upper moves using under clone them make have copy into pull made that sure push here will want open stop this mods else just main then also last home back like run not its can for web now ask new url cd of go by 7 6 2 8 5 9 3 1 +Minetest.Worldbackup:1637664352: : pineapple_server_3_backup_1 pineapple_server_3_backup_2 occasionally worldbackup minetest4 following shutdown occurred commands program changes worlds should unless every files often week home once have also off the run are cd cp rf rm no +Bouncer.Vision:1637664352: : applications registered abcde12345 connected userguide username defaults personal prefered password network example opening bouncer address details primary message servers disable replace change vision select attach should ircnow saying source client enable secure 31337 state check quote which https haiku setup after click your like then with look beos port home menu want john nick fill have type docs html for znc not and get org yet png www new top if +Openbsd.Fdisk:1637664352: : partitioning differently optionally installing disklabel familiar because openbsd consult utility default little layout change fdisk https title fstab linux these twice pages usage used when with read they work man org are and for to of 8 5 +Syspatch.Syspatch:1637664352: : immediately production automated syspatch machines prevents patching updates release feature include patches crontab cronjob openbsd servers provide running setting should bottom system binary random ensure stable starts unique brings added would which exact sleep title these https apply helps this same been from time sbin line your that safe slow down doas all can has not usr org man by +Openbsd.Disklabel:1637664352: : disklabel redirect openbsd fdisk +Pf.Guide:1637664352: : environments production examples relevant firewall pfstable openbsd consult servers ircnow packet filter sample index https usage title guide built conf well page used wiki the for org php man one how to as be is 5 4 +Ircnow.VicePresident:1637664352: Ircnow.Constitution : vicepresident congressional constitution decisions jefferson moderate debates council mailing ircnow duties report voting manual thomas based title lists help your over and log the +Marketing.Rules:1637664352: : advertising disagreeing suggestions respectful recipients harassment strangers marketing retaliate automated software channel private message educate ethical doxing polite people random title rules evade cease stop tell once don ops job our for you ban no be +HostServ.Rules:1637664352: : pornographic infringement copyright involving freenode anything cracking rejected existing gambling hostmask hostserv illegal slander mention related example request revoked follow domain vhosts rules above speak opers libel drugs level have like ddos spam that time with join help does top the can for com net not org don +Fdisk.Usage:1637664352: : partitioning differently optionally installing disklabel familiar openbsd because default utility consult change layout little https fdisk title fstab linux these twice pages usage used when with read they work man org are and for to of 8 5 +DNS.Dnswl:1637664352: : listing title white https dnswl www org +MacTerminal.Connect:1637664352: Ircnow.SSHFingerprints : sshfingerprints macterminal connecting launchpad username macterm5 macterm4 password macterm3 macterm1 macterm2 replace matches attach verify ircnow server press enter title fruit click other type done your real with yes app org png and +Freedom.Destiny:1637664352: : exceptionalism opportunity government ourselves equality yourself internet attitude birthday everyone educated destiny limited liberty network freedom netizen startup worship welcome before exiles mother global source beacon highly begin proud power again dream first users press rules right code have last best land hand hope new own all of to +Znc.I18n:1637664352: : clearbufferonmsg notify_connect modules_online stripcontrols route_replies controlpanel clientnotify samplewebapi lc_messages missingmotd flooddetach simple_away listsockets directories disconkick buffextras autoattach kickrejoin block_motd admindebug stickychan afterwards configured autoreply awaystore modpython identfile chansaver autovoice ctcpflood following cyrusauth recompile blockuser autocycle bouncedcc fail2ban certauth send_raw savebuff perleval nickserv keepnick adminlog webadmin imapauth lastseen creating required perform modperl gettext support runtime pkg_add locale pyeval autoop create chroot source should bg_bg share notes pt_br es_es nl_nl ru_ru crypt fr_fr el_gr pl_pl it_it id_id de_de shell watch mkdir while cmake build tools alias home sasl i18n sure then with doas path usr znc say you cd +TigerVNC.Install:1637664352: TigerVNC.SSH : everything incomplete including passwords keylogged vncpasswd vncserver security tigervnc warning connect install pkg_add tunnel xenodm viewer enable start rcctl ssvnc setup type doas zero this like want has ssh you for ssl how can use to be +Openbsd.Spf:1637664352: : redirect openbsd dns spf +Ps.Usage:1637664352: : usage ps +Ksh.Redirection:1637664352: : stackoverflow redirection permissions questions location current config output doesn using https would shell 82256 write link sudo this file have more info dont note done your just doas echo line that work user root ksh for non com etc see how if by to so +Sshwifty.Connect:1637664352: : herokuapp sshwifty connect github https nirui com +SerFISH.Connect:1637664352: : serfish console connect https www com +Fdroid.Install:1637664352: : automatically repositories respects internet software download settings licensed contains browser install warning allowed unknown require privacy android corner attach source toggle unlike update chrome access agplv3 search bottom fdroid google store arrow first right warns loads phone title under visit https will this when from then your note left back open icon apps that user only main play free png tap its org web see apk for top ok if +Sylpheed.Connect:1637664352: : configuration information following sylpheed password personal connect display address replace account install windows confirm systems attach before choose server create enable update sraoss ircnow please client email enter https first from both imap time smtp pack cert news your user make need like done unix free sure html open name with type will made this have org png can are and put ssl see the jp to if id 4 +ConnectBot.Connect:1637664352: Fdroid.Install Ircnow.SSHFingerprints ConnectBot.Keys : sshfingerprints automatically convenience connectbot connection registered connected reconnect available username although protocol software followed password sysadmin outdated security hostname created correct warning install success details example contact respect attach server toggle ircnow corner fields please screen bottom google better fdroid double login learn first arrow match check hosts never fruit title en_us store https right three play edit they when will port type data made fill just help your icon plus free then does open keys from with stay also this back left sign apps note tap and nor for org how png com top ask yes if by hl +JuiceSSH.Connect:1637664352: Shell.Shell : connections alternative consider juicessh software sonelli details google please source attach manage store shell using https title note play main with open free apps png tap com is +Bouncer.Konversation:1637664352: : konversation connection following password username network bouncer replace example written account ircnow abc123 server create enable secure stated would email 31337 your john port with want what for and set bnc org if is be to +Asterisk.Install:1637664352: : tor_enjoyer asterisk install +EmailTray.Connect:1637664352: : emailtary emailtray password creating address account section already welcome greeted connect windows screen select choose please client attach first login click mouse your then free menu main done left have will move here time new are and png non put for not top is if of be by it +Tls.CA:1637664352: : letsencrypt support zerossl buypass free that acme cas com tls +Debate.Wikistyle:1637664352: : replaceable_text misrepresenting abbreviations consequences successfully disagreement opinionated indentation subheadings potentially unnecessary codeblocks difficulty personally horizontal formatting described elsewhere parameter uncomment paragraph character beginning repeating excessive structure wikistyle category sentence maintain emphasis material removing lawsuits indicate disabled defaults academic multiple cosmetic uncommon separate sections evidence specific replaced install content feature meaning without servers instead command condone clients already example someone options passive another package pkg_add writing article english concise talking falsely running belong topics quotes purely begins notion active defend markup debate easier strong remove should domain create public tables define guides jargon better simple update actual either convey ngircd turned right spend avoid write based about model makes level there never voice pages track those start value rules ports wrong colon using front going slang named first line that task this want when show semi link tell same will doas keep each case have than from what into time much used need tags like mind user does 6697 type sort 6667 just fqdn nice look them only word are 192 but 168 you him own any set can put new was too tcl tcp now of by +ZNC.Skins:1637664352: : extracting uploading _default_ finishing directory download webskins smartftp terminal folders modules account program favicon archive master github client daemon eggoez change inside first wheel local share files after chown login merge under these there heads https boots doas your with like sftp this home that find will them root type able refs used need want user znc now usr and new zip can com pub ssh two be so if 17 2 6 4 3 5 +9.Stone:1637664352: : trampoline changeuser sysupdate disklabel dnsquery timesync syspatch tcpdump eggdrop shithub dovecot client passwd wircrc chatfs gotweb wikifs xxiivv fossil pmwiki telnet ngircd relayd ubound wrkey httpd snoop smtpd acmed ircfs stone venti emacs irssi ipmux git9 cwfs werc host ircs irc7 hopm prep sftp ftps hjfs ping auth upas hold ntpd doas znc bnc sic aux con vmm sam rsa ffs ndb dig nsd vmx mg vi pf 8 1 +9.JSDrawterm:1637664352: : jsdrawterm browser github attach https aiju your com for web png 9 +Cvs.Intro:1637664352: Ircnow.SSHFingerprints : sshfingerprints troubleshooting automatically permissions interactive releasetag repository committing containing eventually afterwards connection directory vendortag committed transform somewhere publishes passwords described writeable necessary checkout reponame filename replaced existing username shortcut argument checking provided commands specific received yyyymmdd hostname properly consider imported original download folders located cvsroot aborted working waiting setting message because running warning project checked already changes happens example current anoncvs ircnowd specify version profile tracked becomes related updates produce usually however simply remove source inside delete should enough author bottom export simple create module server broken signal cannot denied either chroot result safely verify editor adding single month first helps files group saved named owned doesn error needs added since start works shell known given local might intro input until using avoid above wrong means leave code with from will must into make note your path real have once this init that like type then copy want text long goes pipe took take send keys find ways also else list them when year been time echo omit just only more used none each home new any are day has var its was may see try but don org fix by cd +KISSmo.Download:1637664352: : repository developer maintaned download official gitlab kissmo monaco hedho https paste com the at by +Fvwm.Configure:1637664352: : desktopsize configure depending increase virtual restart number xenodm larger change fvwmrc rcctl x11r6 needs upon doas your edit the 5x5 4x4 lib usr or of +9.Ssh:1637664352: : typeunicode lucidasans username domain large fonts will this rxbf nice have lib ssh com 16 vt 9 +Rio.Customize:1637664352: : typeunicode lucidasans customize riostart profile replace glenda large fonts have with nice lib bit usr in 16 +Lua.Minetest-1:1637664352: : troubleshooting charachters installing beginning following different installed important variables questions functions prologue minetest expected versions contents complete beginner tutorial intenger possible argument programm separate without similar progamm command pkg_add openbsd systems console working correct deleted decimal integer depends numbers because strings already debian spaces output basics ircnow define choose forgot create folder floats should values coding source engine forums newbie print index learn maybe other named first meant which think https found world hello table types there thema names write where stand thats start voxel linux based never need have this will lets game must then more lua5 like near main both your part wiki save data path want bash same only nice most they make show such easy file html info know can are one but not get two php set yes fix www sea why mod don run try met who ask say apt api we 12 34 ok of +Gpg.Verify:1637664352: : pkg_add verify gnupg doas gpg2 file sig +Openbsd.Drawtermssh:1637664352: : allowagentforwarding allowtcpforwarding x11forwarding forcecommand drawtermssh sshd_config connecting currently following username insecure example sshdraw openbsd install emulate however conterm pkg_add easily append create glenda likely duser empty match local doesn into then else this read doas echo etc bin cat var can you ask usr no be if it +Opsofliberty.Bootcamp:1637664352: : announcements opsofliberty minutemin procedure handling bootcamp support servers openbsd channel chanop ircnow police ngircd rights guide https abuse index admin wiki code team oper duty php znc org +Got.Mirror:1637664352: : repository discarded warning changes fetches example mirror cloned create custom cause title with will git got get any com new of +Gajim.Connect:1637664352: OMEMO.Intro PGP.Intro Xmpp.Xmpp : createaccount accountadded encryption includes password username profiles history openpgp updates welcome support friends connect servers example ircnow please signup offers attach button choose videos client source photos status allows click gajim where share https omemo intro this that then xmpp fill your also free with asks type chat list png and for org +StorkIM.Connect:1637664352: Fdroid.Install Xmpp.Xmpp : createnewaccount usernamepassword registration lightweight encryption preferred contacts complete download register supports powerful example install servers storkim connect android sending domain attach fdroid ircnow client photos group omemo first https allow your xmpp next with then this chat fill free home list tap png for org see of +Monal.Connect:1637663543: Fdroid.Install : allownotifications registration encryption registered currently landscape username features supports password licensed possible portrait contacts properly appstore include example another account install servers connect welcome airdrop ircnow attach fdroid client offers corner native strong domain monal login first right chats after start using https split macos order admin omemo works note band xmpp your must with this icon then mode dark push view will fill once need have able tap png org ios for top bsd im be so +Xabber.Connect:1637662815: Fdroid.Install : registration encryption registered currently features contacts complete password possible supports download provides servers another connect account install welcome sending license android xabber fdroid client attach source signin images allows ircnow device order files login swipe gplv3 first https admin multi xmpp able sync with note next band will then need fill easy have many once open png tap use got you xep web www for to of +DNS.DMARC:1637621543: : misconfiguration troubleshooting configurations authentication authenticated simpletable quarantines configuring information conformance recommended strictness postmaster scientists configured subdomains everything whatsoever suspicious simplified semicolons pretending understand specified detecting requested forwarded indicates sometimes aggregate improving filtering uppercase positives quotation reporting receivers gradually perfectly separated delivery sortable phishing spammers rejected properly feedback software validate forensic provides optional resource accepted increase official overview required stopping mistakes messages address example upgrade headers meaning warning records version relaxed current matches reports default replace between special support percent website enforce senders testing however helpful because prevent subject reading mailing rejects applies zytrax issues emails inside failed policy mailto checks dmarc1 errors better rocket slowly should handle reduce border advice server useful either _dmarc marked having permit adkim above given value title width makes entry loose allow spoof class first where there lists store fails avoid types marks which pairs share works other helps being doesn rates fraud based howto extra false using quick https books guide want your from both that none tell aspf zone real lose used made just uses note user many need fake also html this sent good much will with only more must come name else same sure smtp when may rua but bad has out new way get txt 100 dns ch9 www pct ruf org why put key two tag lot by 20 +Minutemin.Bootcamp:1637574971: Irc.Guide Shell.Shell Unix101.Unix101 Bouncer.Bouncer Irc.Services Irc.Chanop User.Welcome Ircnow.Goals Congress.Procedure Unix101.Vi Unix101.Mg Unix101.Filesystem Unix101.Files Unix101.Commands Eggdrop.Install Eggdrop.Rss Eggdrop.Trivia Eggdrop.Duckhunt Eggdrop.Biblebot Znc.Install Psybnc.Install Ngircd.Shell Hopm.Install Mutt.Shell Web101.Web101 Perl101.Perl101 Shell101.Shell101 Openbsd.Intro Doas.Configure Syspatch.Syspatch Tcpip.Overview IPv4.Overview IPv6.Overview Tcpip.Sockets Openbsd.Netmask Openbsd.Anycast Openbsd.Staticnet Minutemin.Ifconfig Minutemin.Route Openbsd.Dhcpd Openbsd.Ntpd Openbsd.Pf Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Ircnow.Roadmap Minutemin.Code Minutemin.Server Minutemin.Duty Minutemin.Questions Servers.Rights Openbsd.Announce 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 Ngircd.Oper Ngircd.Install Netcat.Irc Netcat.Smtp Netcat.Imap Netcat.Http Openbsd.Ping Openbsd.Dig Telnet.Http Openssl.Http Chroot.Intro Openhttpd.Configure Openhttpd.Hosting Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Squirrelmail.Install Openbsd.Manna Acme-client.Configure Openbsd.Pmwiki Znc.Chroot Relayd.Acceleration Oidentd.Install Oidentd.ZNC Openbsd.Ilines Openbsd.Identd Dns.Overview Dns.Records Dns.Registrars Openbsd.Vhost Dns.FQDN Nsd.Configure Nsd.Masterslave Nsd.Troubleshoot Openbsd.RDNS Dns.Zonefile Openbsd.Delphinusdnsd Unbound.Configure Dig.Usage Host.Usage Openbsd.Unboundadblock Openbsd.Dnsbl Openbsd.Rbldns Opensmtpd.Configure DNS.Mail Openbsd.Spf Openbsd.Dkimproxy Openbsd.Dmarc Mail.Test Mail.Openrelay Openbsd.Dovecot Openbsd.Team Openbsd.Stable Openbsd.Testing Ircnow.Networks Openbsd.Botnow ZNC.User ZNC.Admin ZNC.Support ZNC.Modules Openbsd.Wraith Openbsd.FilePermissions Cvs.Intro Cvs.Commit Cvs.Anoncvs Cvs.Cvsweb Got.Usage Openbsd.Gotweb Openbsd.Sftp Openbsd.Sshkeys Openbsd.Sshbackdoor Openbsd.Vmmuser Openbsd.Install69 Openbsd.Upgrade69 Openbsd.Bsdrd Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Newdisk Openbsd.Tcpdump Openbsd.Buyvm Openbsd.Vmminstall Openbsd.Vmmlinux Openbsd.Upgrade67 Openbsd.Sysupgrade68 Pf.Guide Openbsd.PFStable Openbsd.PFTesting Openbsd.Ddos DNS.Ipv6rDNS Openbsd.Iked Openbsd.Police Gnupg.Create Gnupg.Verify Gnupg.Signature Netpgp.Create Signify.Verify Vpn.Vpn Tor.Torsocks Tor.Hidden Tor.Irc Openbsd.Sshd Ssh.Client Openbsd.Ii Openbsd.Sic Ngircd.Link Ngircd.Ssl Openbsd.Acopm Achurch.Install Anope.Install Pylink.Install Openbsd.Bitlbee Openbsd.Matterbridge Openbsd.Eggdrop Openbsd.Tcltls Openbsd.Biblebot Openbsd.Censord Openbsd.Ircrelayd Openbsd.CPAN : ntpamplification openforeveryone filepermissions unboundadblock firstamendment announcements httpopenproxy investigation authoritative delphinusdnsd independence troubleshoot startupdream constitution matterbridge squirrelmail sysupgrade68 acceleration possiblities masterslave sshbackdoor description simpletable blacklisted declaration netizenship filesystem networking protection techniques understand vmminstall dueprocess connection registrars federation webhosting exceptions nameserver blacklists signatures everything staticnet selfadmin configure knowledge openrelay dkimproxy opensmtpd questions minutemin procedure ircrelayd rulebylaw languages openhttpd homestead madeonirc religious guarantee httpflood anonymity upgrade67 abilities addresses pftesting partition immigrant downloads scripting upgrade69 install69 disklabel promotion shell101 ackflood balances rstflood ifconfig preserve zonefile yourself pfstable syspatch netmasks overview software ipv6rdns vmmlinux torsocks biblebot udpflood religion networks synflood spammers security practice firewall securely insecure chrooted openiked services bootcamp purchase multiple congress personal promoted phishing commands duckhunt register tutorial channels sortable username records prereqs openbsd unlocks unix101 sockets perl101 bouncer freedom eggdrop caching welcome monitor packets tcpdump privacy roadmap servers liberty newdisk support anycast sshkeys request domains private provide webmail abusers oidentd clients project signify encrypt traffic defense chroots reverse against bitlbee attacks censord openssl proxies getting website achurch modules vmmuser anoncvs version dovecot control account prevent sending signing create botnow choose growfs folder wraith netpgp lesson verify voting shells civics repair botnet cvsweb gotweb viewer vhosts custom access defend filter follow delete ircnow commit origin police letter detect manage rbldns crypto rights telnet checks ngircd ilines united speech netcat irc101 basics trivia status psybnc web101 chanop pmwiki recite become hidden during border tcltls pylink inside others powers relays bsdrd guide repos fdisk learn dmarc gnupg gives force width usage topic class dnsbl intro buyvm anope bonus offer acopm using title ipsec setup login ideas goals cloak about manna space needs union emacs clone voice tcpip route dhcpd limit avoid reset where press ethic claim email local types honor fqdn fork stop read plan vpns code duty with imap chat ping call good path help make oper acme from bill hopm game bots apps auto mutt korn cpan sshd news nice zncs feed logs sftp doas ddos ipv4 cert ntpd ssdp more hard team edit only move find 100 ban rss vps dig how php spf can fix run ii mg 24 +Yaxim.Connect:1637428160: Fdroid.Install Xmpp.Xmpp : registration afterwards available messenger contacts complete password supports security overhead private install friends android include connect servers welcome another instant receive attach manage usable fdroid choose easily jabber images client yaxim first needs files https chats group from xmpp with name aims your fill then open lean send list can one org tap for png yet low www to of ok 4 0 +Adium.RecentChanges:1637405038: : recentchanges november connect adium 2021 jrmu at 07 32 am by +Vmm.AlmaLinux:1637390861: : administrator installation instruction almasetup12 almasetup11 destination installing screenshot almasetup5 almasetup4 almasetup6 almasetup3 dodocrypto almasetup2 almasetup7 almasetup8 almasetup9 configure installer almalinux different selecting highlight localhost presented pressing finished blinking continue standard software password hostname include editing numbers console through proceed options default vmlinuz network gateway netmask example minimal booting attach reboot lastly forget initrd 115200 cursor remove stage2 prefix follow myself insert should length appear enable change x86_64 choose shrink system please serial after ttys0 enter label enjoy later which crash quiet space below first based entry arrow rocky until need 1188 ipv4 wait fccf disk 2602 ipv6 than have that will want note case lets this root menu user main next grow with fill good back your once when line just full text like read till end the png vmm add don saw new tab can iso dvd img key hit 255 now 162 lvm 38 87 hd 48 we 24 by +Vmm.DebianIso:1637357747: : 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801 df9b9c49eaa9298432589d76da87e80d6294be9b partition_offset installation fingerprint sha512sums indication isofloppy checksums debianiso signature perfectly libraries copyright automated keyserver installed certified interface isolinux generate vesamenu libcom32 mkhybrid 115200n8 critical vnconfig priority username download netinst warning unknown console vmlinuz signing libutil changes belongs support include default trusted version primary current already pkg_add cdimage switch0 attempt provide notrunc mkisofs giocher xorriso openbsd memory create append verify initrd normal serial locked kernel ubuntu umount expert lladdr should modify update follow joliet inodes ircnow search others words diffs adtxt ideas label taken quiet false https ifend ttys0 cache qcow2 cdrom amd64 aaron owner 1024m rqtxt count below tried table title there guide match lists vnd0c these gnupg mkdir steps using must made conv this else stop 2021 1997 root boot info then emul doas true work grep recv zero 2880 path disk that home grub into from 2018 make with size jrmu good sat cfg rsa cdt aug gpg vga bin org vmm new etc ftp and you dev vda for did don 000 220 spi are two old c32 41 gz we cp 56 09 ee 36 bb 05 04 mv +Yaxim.RecentChanges:1637319686: : recentchanges november connect yaxim 2021 jrmu 19 at 06 58 am by +Unix.History:1637244488: : unix_history developments interactive generation milestones wikipedia software compiles machines freedom exhibit network virtual through diagram present solaris simple attach future https minix linux fifty about learn title major years file blit past this plan the for mkv png mux gnu org joy new all bsd our svg v8 v6 9 +NodeJS.Install:1637236923: : node_modules contributors successfully pkglocatedb dependency eopenssl30 configure directory completed assembler ambiguous november packages outdated install version updated pkg_add upgrade removed compile openbsd python3 latest choose quirks stable signed choice nodejs libmpc failed switch normal typing gmake local using found 16t18 added sshpk shell https first built which 2021 want wget user bash 0dev next your port lets last zxvf dist egcc none sure that wish 18p3 mpfr more will give info libs need 1lp0 2up4 this 467s done step from for usr man 0p0 bin 0p9 and npm 6p0 can 1p0 etc may 34z gmp old cli npx the 290 v12 org 148 v16 tar now gas 8p0 per lts ok ln by mv 22 52 11 53 we 17 13 33 so gz 15 70 +PuTTY.PuTTYgen:1637216010: Sshd.Disablepassword PuTTY.Connect : aaaac3nzac1lzdi1nte5aaaaincb6gpcoqpg4byflwqhya2smytv7rjfvw authorized_keys disablepassword authentication copyauthorized editauthorized keypassphrase alternatively conversions parameters connection additional privatekey publickey worthless described bqo3hftdf generated creating puttygen optional securely pressing 20210809 hostname security together session becomes warning confirm another copying notepad comment openssh pasting ed25519 earlier logging created provide adding export should shared anyone select bottom random attach client ignore browse forget guide click using lines field paste shift setup front login begin title write never again like into with save type your load give ctrl from file look more sshd ssh2 this only will join pair keep have used down menu uses safe hint ends fill png ppk can mp4 gif top now ins go of +Znc.Install:1637191693: Libressl.Intro Ftp.Usage Tar.Usage Gpg.Verify Tcpip.Ports Tls.Overview IPv4.Overview IPv6.Overview Acme-client.Configure Dns.Vhost Dns.Overview DNS.RDNS Dns.Records Host.Usage Kill.Usage Ps.Usage Tcpip.Sockets Bouncer.Bouncer Cronjob.Intro : e92813234318635639dba0168c7ef5568757449b d5823cacb477191cac0075555ae420cc0209989e libressl_version_number openssl_version_number dcmake_install_prefix protectwebsessions authonlyviamodule pthread_attr_init configwritedelay troubleshooting pthread_attr_t serverthrottle ssldhparamfile configuration maxbuffersize automatically znc_server_ip environmental registration connectdelay controlpanel instructions alphanumeric accidentally certificates successfully hideversion anoniplimit simple_away ssl_session 0x3040000fl combination explanation sslcertfile recommended encryption sslkeyfile loadmodule validating optionally networking afterwards ircnetwork 0x10100007 especially background connection connecting protection specifies listeners chansaver duplicate configure something available signature arbitrary addresses alternate username_ connected following launching bindhosts sysadmins firewalls undefined untrusted debugging selecting uriprefix listening listener3 compiling installed threading listener2 reconnect verifying multicore listener0 listener1 segfaults probably password settings channels prevents overview upstream hostname freenode creating checking provides software webadmin networks makeconf generate download properly supplied favorite directly releases yourself blocking messages becoming protocol separate programs reserved provided building accounts randomly launched allowirc allowweb variable patching adminlog certauth security attacker computer sdatadir whatever recreate symbolic crashes example request warning modules sockets replace confirm bouncer specify consult cronjob looking pidfile process default between instead openbsd appears support correct popular invalid however enabled servers writing running devices records configs initial crontab forking loading browser command binding opening copying missing portion minutes restart reverse forward changes extract patched replays applied pkg_add cstring sconfig include patches options client refuse nicely please during unable signed ircnow unique secure stored mobile custom prefer source locate online global choose breach folder cannot manage supply reason erbose should actual stable latest opaque delete cipher signal before causes public adding guides editor double errors visual export intro first certs tcpip vhost https schat stays files shell these 65534 needs right users title hence lines paths ports using every false asked phone which gnupg enter saves local login still usage 12345 point there 65535 stage apply empty being stand leave above 86542 blank added weeks acces rerun again visit avoid 31337 often shown helps mkdir where fails other tells offer given words later unzip must home will this stop with were 2001 turn kill term want also true from real into ddos runs type then that keep c001 6697 d00d fe80 wiki ipv6 xvzf irc6 like used ipv4 find info rdns next acme have send when main diff 2020 logs case argv char argc else them note time made dies 8542 know grep 2048 orig both link once more sent kept gpg2 does pick doas nick been recv aaaa code 1025 its cpp pem ftp src new don dec thu 292 see was crt mon tls yes has 192 db8 may 198 due org bd8 any sor but get try out gz by 51 cd 2a 60 17 24 ln v1 50 +NodeJS.RecentChanges:1637162143: : recentchanges dodocrypto november install nodejs 2021 17 at 03 13 pm by +Pidgin.Connect:1637144335: Xmpp.Xmpp : registrationsuccessful modifyaccount createaccount password networks checkbox remember accounts username multiple existing protocol already servers example connect details bonjour logging welcome enabled created program attach pidgin choose ircnow select domain manage allows simple click https same much xmpp this gadu save silc your time fill more chat into that been free have list open can the has and org png see add new for of +Gajim.RecentChanges:1637143713: : recentchanges november connect gajim 2021 jrmu 17 at 08 01 am by +Pidgin.RecentChanges:1637143713: : recentchanges november connect pidgin 2021 jrmu 17 at 08 28 am by +Openbsd.Training:1637076647: Shell.Shell Unix101.Unix101 Unix201.Unix201 Unix301.Unix301 Unix401.Unix401 Perl.101 Unix601.Unix601 Ircnow.Goals Ircnow.Roadmap Freedom.Freedom Ircnow.Constitution Minutemin.Code Minutemin.Creed Minutemin.Duty Openbsd.Doas Openbsd.Syspatch Tcpip.Overview IPv4.Overview IPv6.Overview Ngircd.Install Hopm.Install Openbsd.Netcat Openbsd.Ping Openbsd.Dig Openhttpd.Configure Acme-client.Configure Openbsd.Php Openbsd.Pmwiki Znc.Chroot Openbsd.Relayd Oidentd.Install Openbsd.Dns Openbsd.Vhost Openbsd.Host Openbsd.Unbound Nsd.Configure Openbsd.Staticnet Openbsd.Opensmtpd Openbsd.Spf Openbsd.Dkimproxy Openbsd.Dmarc Opensmtpd.Openrelay Openbsd.Dovecot Openbsd.Team Openbsd.Stable Openbsd.Testing Openbsd.Ongoing : congratulations troubleshooting authoritative fundamentals connectivity constitution applications configuring customizing certificate networking commitment nameserver understand installing scripting minutemin configure procedure utilities openhttpd opensmtpd openrelay addresses staticnet dkimproxy marketing webserver syspatch overview training learning yourself continue protocol personal practice spammers required bootcamp familiar sending openbsd unix301 message unix201 outlook setting unix601 perl101 dovecot unbound unix401 servers records command oidentd testing welcome caching prevent ongoing bouncer reverse liberty unix101 private provide freedom detects culture roadmap program monitor please relayd ircnow client stable before attach netcat ngircd rfloat needed issues civics chroot system double pmwiki ensure powers gmail basic email vhost goals tcpip dmarc local shell using creed check title users about honor panel setup ethic apply 300px abuse width which with ipv4 read sign ipv6 team imap ping bans that hopm join doas acme code duty have call line give also will such from ssl the znc dig php nsd dns new spf how own get png not of +Xmpp.RecentChanges:1637074083: : recentchanges november xmpp 2021 jrmu 16 at 01 56 pm by +Acme-client.Configure:1636907615: Openhttpd.Configure Dns.Overview Host.Usage Netcat.Http Nsd.Troubleshoot Telnet.Http Crontab.Configure Openssl.Http : uwhzmqhx6nepcv25levodmaeymb1gutfvtyktvzkjgs 03f7fd846802cb0689c2bbd7b6f5e89eb66b troubleshooting configurations misconfigured certificates letsencrypt configuring alternative accordingly authorities functioning 11133258838 environment directories permissions information simpletable blacklisted requesting management forgetting automation appearance 8112730231 connection recognized encryption commenting authority generated dochngreq challenge directory 113861127 important currently directive recommend vegetable encounter beginning something following listening otherwise openhttpd replacing transport automatic addresses incorrect remember browsers template response properly provider nxdomain provided reliable requests finished obtained automate visiting official location examples security complain provides purposes clicking overview username rejected products accessed computer possible training hostname practice although monopoly solution sortable mistakes deleting includes wherever finalize tutorial staging private openssl privkey forward crontab account replace contact buypass renewed cronjob defines openbsd default testing working process missing records command created exactly several success coconut changed similar warning already another subject unknown content putting nothing keeping failure running invalid special message defined domains zerossl trusted sockets article measure website enables meaning started padlock analyze client exists should remove public before telnet server length chance errors daemon secure unable please blocks expire double ircnow inside having number higher modern limits common safely result folder status netcat causes likely rather either output cannot delete mailto border reload random signed bottom reason strict censor issues https would chain using check tells needs which short names under first index below close found certs there rcctl versa speak token title usage authz again wheel wants added fails after point wrong email width these class guide match above test4 might drwxr avoid fruit every hours layer while this with acme note must both your only ipv4 25c8 1946 root ipv6 less _ui3 that full such will file have then doas back line else also vice copy 1893 2800 says last 3272 time jrmu same than 4797 path been days case 2606 real free make fake many html well text what type each goes once most more date 2021 from icon docs does skip look next stop www tue feb var gmt are 512 tls aka oct nsd dns bak 486 crt was url but one 100 few won don see has two 443 bar 180 184 216 ips 248 220 pem too api v02 set san fix try vps 172 90 07 by cp up v3 34 mv 65 01 14 +Got.Usage:1636906130: Ksh.Profile Openbsd.Ed Ksh.Editor OpenSSH.Connect Git.Usage : f4ade537d550b872b7e86e6ffce940dfbad4c60c daa88b765111b14047c97256bd2a9a2daabe123b 02850008f4a4e8fff5799157d21ee7924345b3e1 c8b12af1d2d155ec79dc2044a4ff177cf07de4fe 3c627dd70d032fa2c5087617da27586cf85e899a ab0eb099e9c0ed60d25fb50dd78d2a638d3b49b8 71ae2b7d7f9ae7bc02ed072c07100de0027373d6 complete_got_1 have_stdint_h modification inconsistent hinzugefuegt configuring simpletable development gameoftrees unversioned branchename environment requirement expressions respository recommended got_author repository branchname afterwards completion additional debopenssl encryption compatible references substitute alexander recursion directory conflicts different branching currently reverting christoph re_format committed checkout sortable provides provided branches existing specific pointing insecure deletion reverted required possible modified manchmal starting building protocol revision requires worktree variable restored tracking username occurred pathname ancestor compared multiple removing filename reusable response metadata contains commands expected changes between history replace tagname meaning updated message object1 object2 example creates objects another newcode merging openbsd produce ircnowd commits display initial sources deleted missing blocked regular tracked limited already forever release unstage suppose fetched profile openssh rebases staging pkg_add install connect without rebased warning default ignores because running specify license control folders ngircd border recent status enable remove import editor visual hashes system column second staged single result remote export script merged during freely adding allows before common manual inside switch github become barton exists debian remain gnutls number actual called master origin local above usage those avoid files blame these about codes width class there print mkdir biedl first match https using regex added paths title ahead world clone hello under today guide still begin empty every sure will send this only note from most sha1 tags made make show used sent they must into uses need your 2001 test been also then blob undo list that junk some info item 2021 echo step safe once asks 2016 anoy urls next text doas tell them past html just line give view news aims easy onto want when part can way ksh org try may any set see but src log tue dec utc auf non sat jan two due via fix ulm by 26 22 13 48 +Relayd.TLSMulti:1636773591: Relayd.Acceleration Openhttpd.Hosting Acme-client.Configure Ln.Intro Ip.Myaddress Openbsd.Ddos Openbsd.Loginconf : acknowledgments configuration acceleration server_addr remote_addr permissions recommended server_port simpletable connections forwarding commentary configure different available openhttpd extension openfiles forwarded stacksize fullchain loginconf hostnames myaddress selective localhost listening following webserver matching services requests symbolic service2 protocol wildcard service1 filtered priority template complete increase database searches sortable replaced optional tlsmulti multiple example however hosting another default headers inspect private present www6tls keypair maximum openbsd backlog without provide domains listens already applied prevent changes instead relayd append relays border before should bottom define handle create assume public actual client proper wwwtls update daemon please number highly detect second entire lines links guide https which would value check certs using still intro users allow title third class width those queue being close block there based where first below shows ports above three begin large your last ipv6 both 8080 icmp ipv4 they them want 8000 acme doas sack have need will from this ends real ddos 2001 send that edit make uses sure says such mail 4096 rule what also keys time turn then note does must can etc see ssl man org ip4 are sub 128 tcp set two 443 ip6 one 96m 192 127 db8 168 cur put crt its any bnc 100 pem ln of by +0dev.0dev:1636686042: : 0dev +Doas.Configure:1636637418: Ksh.Redirection : configuration whitelisting replacement permissions redirection afterwards tedunangst precaution absolutely necessary malicious passwords configure somewhere literally required operator specific drawback argument security programs complete provided insecure probably yourself normally provides keyword mastery changes command appends persist logging utility reasons openbsd without already running instead reached default creates coconut current because nopass whoami permit ircnow needed simple called unless should allows access stolen easier others https using wheel chmod needs below shell means fixed write avoid could again login users order first group title small exist doas exit this that gets root echo will time life when next then also have else want flak post sudo does lead come data find ctrl test type file note tell done sign work org are can etc bug non for lot see any ask ksh by we of +0dev.RecentChanges:1636634840: : recentchanges dodocrypto november 0dev 2021 11 at 12 14 pm by +Vmm.RockyLinux:1636627877: File.Ext : 0de5f12eba93e00fefc06cdb0aa4389a0972a4212977362ea18bde46a1a1aa4f administrator configuration installation instruction installaton destination example0dev rockylinux everything installing remembered highlight installer perfectly configure selecting different presented checksums download language continue password hostname timezone messages username blinking setup14 minimal booting setting setup13 include console vmlinuz x86_x64 editing desired verbose options proceed through numbers netmask gateway setup11 support default setup15 network provide disable address command setup12 115200 forgot attach access remove choose should serial initrd stage2 locked bootup setup5 setup7 length prefix myself device change follow setup6 setup4 second marked cursor reboot setup2 insert x86_64 sha256 enable verify modify setup3 press image final worry arrow later guide based https title enter until ttys0 first quiet right space wheel after match login again apply label begin entry will ipv4 fccf 2602 once this your like look lets isos than grep line have next main ipv6 back note part text that 1188 from done seup then full what whch root when file stop sudo with last free feel menu wait till want read case else must png vmm ftp pub can lvm 162 now new ntp end out tab saw dvd hit key 255 img see of hd we 48 87 24 by +Dns.Records:1636546601: Dns.Zonefile DNS.RDNS DNS.SPF DNS.DKIM : description discovering preference 2003080800 hostmaster available redirects addresses hostnames authority canonical services provides exchange creating provided includes zonefile resource pointer reverse example written refresh default records minimum another contain format 172800 center border origin serial server number update expiry alias value cname email which class title helps start retry lists align with ipv4 such each dkim type this data secs many rdns text ldap used aaaa xmpp ipv6 http 168 map joe com www soa ns1 254 192 ptr 12h 15m ttl net sip spf srv and txt to 10 mx 2d of 3w 3h +Nsd.Configure:1636545509: Openbsd.Delphinusdnsd Openbsd.Tcpip IPv4.Overview IPv6.Overview Openbsd.Dns Dns.Records Openbsd.Dnszones Openbsd.Sockets IP.Myaddress Openbsd.Ifconfig Openbsd.Hostnameif0 Openbsd.Buyvm Openbsd.Vmminstall Openbsd.Domains Openbsd.Host Openbsd.Dig Openbsd.FQDN : troubleshooting understanding delphinusdnsd authoritative configuration disadvantages introduction installation configuring explanation hostnameif0 registered substitute networking nameserver addressing 2021020301 yyyymmddnn foreground vmminstall configured verbosity checkconf transfers uncomment subdomain elsewhere checkzone authority confirmed correctly addresses standards interface myaddress necessary interpret specified difficult encounter database internet resource normally sections delegate dnszones zonefile sysadmin username ifconfig specific warnings requires overview compared whenever example refresh service openbsd simpler minimum refuses invalid aliases assumes control quickly domains servers specify audited records sockets provide binding version disable logfile perhaps helpful results getting through outside further defined deleted suppose message points ircnow master before notify always serial please expire output return syntax should errors failed origin enable proper charge forgot finish system notice public forget change guides remote write could slave fruit buyvm might which about https quits leave using blank works again files after every first nokey retry 86400 there these found above pages title 32265 tools comes rcctl allow start 93210 least exist query tcpip basic 37575 denic doas this 3600 aaaa line 2001 test 5678 read hide once want mail drop _nsd ipv6 will your step glue that with make need port ipv4 logs also same done than fqdn part team have nast more fork does info news smtp good edit look move case sure real into such like note only both imap 1800 just yes own var 100 any man 198 etc soa db8 921 ns1 898 see tip had dig off www can run 261 192 xfr has ask ns2 how was ttl mx we 51 50 33 53 34 43 by 07 31 49 14 +Got.RecentChanges:1636328065: : recentchanges november mirror usage 2021 jrmu got by 07 at pm 05 22 58 06 +Vpn.OpenIKED:1636299929: : vpn_user_password vpn_user_name configuration certificates client_pool client_dns remote_gw interface installed parameter different something hostname external ifconfig whatever resolves user_vpn provides openiked probably username passive enabled depends packets caching example clients connect replace address dynamic writing running openbsd command ruleset machine virtual create ircnow public should verify picked vpn_id allows ikectl server tagged filter ext_if isakmp reload mschap domain value ikev2 proto pfctl point local where roadw quick match valid ipsec these being first macro srcid into inet enc0 with this port doas sure line need will crls that your from vio0 make find type must have peer like note upon new etc org any one off esp 203 113 for can 509 pki crt eap nat out get tcp udp rsa key 127 rdr 10 53 24 we +Openbsd.Got:1636298193: : openbsd got +Emacs.RecentChanges:1636251100: : recentchanges november lohang emacs 2021 06 at 04 39 pm by +Opsofliberty.RecentChanges:1636251100: : recentchanges opsofliberty bootcamp november 2021 jrmu 06 at 05 16 pm by +Emacs.Emacs:1636216746: : distributions comprehensive repositories customizable positioning terminology replacement application interactive understand extensible navigation occurrence character oldstring newstring operating functions including workspace keyboards currently backwards beginning progress filename accessed pressing document bindings followed familiar confirms location remember tutorial continue included quitting starting selected probably recently powerful popular however pasting control cutting located install command correct variant regions another advance editing solaris freebsd pkg_add openbsd forward loading display systems several windows become repeat screen cursor killed refers middle search within number editor aborts resave naming netbsd clears create saving starts prompt unique copied enter saved emacs topic about right files thing write based above given after paste first cycle skips dance lines where moves which cheat linux there macos comes built cases words means later sheet click ctrl page copy text yank meta last down help left most time next type thru once easy goto same exit when mark then this each that undo real many been have will also some doas keys runs you end alt esc are ‍ use one spc gnu set can its see yet 999 up of nw if 20 by +ZNC.Support:1636214032: Bouncer.Bouncer Ircnow.Networks Ircnow.Servers Bouncer.MIRC Debate.Zncflaws Openbsd.Police Openbsd.Ilines Openbsd.Phishing : misconfiguration notify_connect possibilities intentionally automatically instructions controlpanel successfully troubleshoot listnetworks disconnected information understands punctuation jumpnetwork permanently alternative registering immediately advertising registered connecting abcde12345 incredibly guest58404 personally downloaded connection addnetwork configured requesting addserver correctly reconnect carefully different available replacing satisfied important following passwords verifying incorrect currently confusing blockuser extremely mechanism messages username possible settings deleting zncflaws webpanel undernet identify nickname yourself nickserv specific remember shortest accounts problems connects security chatting terrible channels everyone chanserv properly quakenet phishing retrieve familiar services freenode official teammate secondly sysadmin mistakes ysername bindhost approach requires whenever probably example because bouncer replace clients friends altnick himself welcome prevent version support botname already captcha newnick happens spelled loadmod include default helping jumping closing perform follows newpass claimed privmsg started getting address history servers actions openbsd besides warning confirm without changes sending logging private snoonet forever signed emails debate ircnow number caught status admins flawed thanks ilines folder logged delete tested unless nobody police reason either typing should double please itself single powers module better simply simple likely forgot actual before guides anyway record glined cannot ircnet notice libera cserve smiley dalnet entire vhosts errors cherry assume squery always around ensure create common banned method ngircd report glines caused unable accept wants check tried mango which saves chats unban first store users could plain ircds field fruit https exist there wrong space other rizon waste abuse would doesn reset sorry staff after where share these login extra tries again later typed right efnet title reply pages mouth about until major tells known taken types index they make real just hold then hard have also will need time puts must from same into sent this each copy wiki what note plum best pear some mirc 1337 that more link been easy keep mode over love auth tons them part most oftc code done idea upon logs join give sasl look ctcp disk says many else didn turn true try but how see 235 why dns php bnc ask day has bcc thx yes may yet job bye fix 21 22 54 28 27 29 24 20 ip 30 25 57 01 41 my 50 31 +Vmm.Configure:1636148691: : forwarding sufficient interfaces networking install69 signature install70 configure broadcast machines increase verified vmdusers groupadd download software firmware hostname openbsd virtual however switch0 address bridge0 signify user123 nologin routing useradd warning prevent devices console appears default tcpdump makedev crontab because proceed pkg_add packets timing issues debian sysctl sha256 create lladdr number longer choose random reboot verify enable socket maxlen access serial memory permit locked result wrong owner using while cdrom qcow2 chown entry start rcctl amd64 https first image vmctl octet title inet6 which there where will echo each doas need next done they root arpq disk four such only ipv6 home 1024 same many sbin have does ipv4 html want base tmux from with your sure must true ping some free 512m edit this show flag pick iso pub vmm may ips can run not var jot tap 20g 162 new usr etc uid ftp org ip6 odd if0 cdn to xx by f1 pl 87 aa bb 01 38 i5 50 mv ok f3 +Vmm.Plan9:1636147865: : australia_yancowinna australia_queensland canada_newfoundland 0x00000000000a0000 0x000000000009f800 0x0000000000000000 0x000000003ff00000 0x00000000000f0000 0x00000000fffc0000 australia_victoria 0x0000000000100000 0x000000003fffc000 0x000000003fefc000 0x0000000040000000 0x0000000100000000 australia_tasmania chile_easterisland chile_continental australia_broken mexico_bajanorte brazil_denoronha canada_mountain congratulations australia_sturt australia_south australia_north canada_atlantic ccoonnssoollee canada_pacific mexico_general canada_eastern canada_central mexico_bajasur australia_west configuration australia_act australia_lhi automatically australia_nsw distribution de4baa668fb2 genuineintel asia_bahrain installation initializing canada_yukon saskatchewan de4baa668f07 experimental 21363090432 1024x768x16 traditional brazil_west brazil_east configuring brazil_acre initdisplay us_michigan us_mountain cwfs64xthe configdist unfinished containing preference processing us_eastern us_central 0x0001a000 us_pacific asia_india us_arizona 0x0060a000 partitions subdivided successful filesystem 0x0009f000 0x0ffff000 0x00530000 completely connection configure mountdist following bsdforall preparing confignet sysconfig mouseport bootsetup argentina 262991872 263536640 640x480x8 cylinders suggested distmedia directory interface multicast dialicmp6 translate connected completed 262643712 starteady 262098944 singapore us_hawaii us_alaska requested rebooting configfs resolver bootargs starting 9bootfat partdisk bootia32 contains detected ethernet probably location ndbsetup prepdisk bootfile archives bboooott copydist scanning download allproto 1000mbps continue selected ipconfig xeon5000 000206d7 96982203 079ba97f mounting sensible 41929587 stopping hongkong shutdown bootable received 41724786 us_yukon internet freebsd ticking devices sectors mountfs licking tzsetup network openbsd storage console address iso9660 average monitor suffice vgasize current windows bootx64 unmount exiting bootmgr reaming 8225280 support default 4612mhz specify gateway halting newuser perhaps records uruguay started 4604mhz serving systems indiana hjfsthe nz_chat sysname iceland jamaica failed choose tables 115200 glenda kernel source memory cdboot create locate 204800 please 204801 server upload israel navajo poland turkey ending 0x2000 virtio series status layout 544768 dossrv master 9front tracks cached format rather active manual method buffer enough marked ether0 chmod ready which going plan9 tasks cdrom keeps newfs mkdir bytes vmctl japan libya image heads order reset takes using local write count cirno slaac egypt clone total 1023m i8042 empty 1391m speed ttypf 74917 74236 16332 nvram spent holes dload frame ttypr exist types 1392m 1024m first fdisk blank shall xferd there sd00 9fat fe80 edit aaff root menu dc4b worm done ipv6 data 2021 zone time fe66 into than does sdf0 hubs 767m usbd were unix from lilo nusb will swap that draw wait 256m safe term cuba hill eire iran left e820 cpu0 hard bind text elcr 4096 used made 02e8 766m host jrmu 2019 1680 your just have then this room dhcp doas mask 2610 7887 7850 upas echo not adm 255 usr yet org are 775 off mkf 386 tcp pbs vmm tls cet 512 wet oct prc cmd hst 217 rio 345 sat gmt yes 9pc tmp bak 126 irq kbd eet dns gpt now efi any its mbr try 469 468 has esp 354 223 bz2 l0 be dx cx ax cs p1 gb rw +Vmm.Vmm:1636147576: Vmm.DebianIso Vmm.DragonflyBSD Vmm.FreeBSD Vmm.NetBSD Vmm.Haiku Vmm.9legacy Vmm.Guix Vmm.Void Vmm.FreeDOS 9.Install Vmm.Fedora Vmm.Arch Vmm.Slackware Vmm.Alpine Vmm.Minix3 Vmm.Devuan-ISO Vmm.UbuntuIso Vmm.Devuan4Iso Vmm.RockyLinux : dragonflybsd simpletable devuan4iso rockylinux configured workaround debianiso installed slackware ubuntuiso problems sortable openbsd freebsd console network 9legacy freedos module 9front output varies livecd likely kernel netbsd alpine fedora crashs normal guests minix3 border status brings serial before works setup doesn after needs about width haiku shuts loads speed clock class fails here this guix void arch used half same down init disk they boot oses list vmm and fix btx can 100 why kdl due if to db 8 +9.Ideas:1636112800: : discrimination accessibility compatibility activitypubfs delphinusdnsd contributions applications filesystems ghostscript impossible repository hypervisor protection searchable downloaded operating plan9port different wikipedia including gutenberg licenses firewall platform freedoms obsolete drawterm gopherfs tolerant geminifs opensuse keyboard priority binaries existing prebuilt separate software librivox licensed matrixfs survival android console default openbsd reactos provide instead perhaps support servers against drivers package plan101 manager openssh whether working freebsd version already respect replace aladdin install inferno beliefs course bitrot freely 9front uptime nntpfs levels debian serial pirata netbsd xmppfs create placed psybnc bridge every check rssfs linux books ircfs ideas write goals https allow basic avoid based skill haiku blind users guide niche slows after crawl with apps most fork just unix done bsds make wifi smtp imap easy four only must from long rfcs vncs tech sure keep date gpl web non x11 dev any get not ios org may 9fs pop bug fix by +9.Drawterm:1636041813: : drawterm 9 +9.Zuke:1636041668: : zuke 9 +Terms.RecentChanges:1636041317: : recentchanges october privacy august terms shell jrmu 2020 2021 june vps by at 11 am 31 03 06 08 pm 40 12 30 48 01 +Email.RecentChanges:1636041317: : emailandroidemailapp recentchanges hydragyrum october zouheir january outlook august 2021 mkf 16 30 by pm 13 05 at 01 18 37 am 27 +Telnet.Http:1636041317: : background chalkboard connection response location charset openbsd content example similar address prefers doctype foreign border telnet family length bottom dashed eeeff1 scheme closed should bad7ff 1e1f21 media httpd found style color title white black comic serif index below twice https enter press font body sans head neue then date host 2021 dark html meta text key 302 you get gmt one 486 1px utf feb css tue 01 28 hr 80 by 14 h1 23 ms +Ambassador.Markets:1636041317: : sufficiently successfully disabilities demographics underserved immediately developers mainstream pseudonyms appreciate dissidents accessible ambassador community marketing currently sysadmins slackware neglected anonymity advocates interface technical fediverse religious political education available bandwidth satellite unwilling continue computer software hardware involves mastodon designed american millions movement requires properly strategy internet tracking clients neither network western african eastern markets outside recycle however invaded english upgrade android because openbsd windows latency parents feature limited readers focused example hearing illegal compete quickly grounds hangout privacy element connect europe middle strict social ircnow policy better matrix easily matter vision speech behind refuse google others unable issues easier screen censor dialup poorer target minded gentoo netbsd should harder cannot where users email world parts niche haiku rural often money still habit these china think there 1mbps skill young south adopt safer speak learn drugs total shine allow with hate best foss this vpns that have text slow home fine very more find they free make kids help half porn know rich live asia some save fast high year many our for has dsl key few set who old but nor run usa far org tor by if 20 xp 10 4 +Xfce.Install:1636041317: : startxfce4 underneath programs geometry xsession xconsole command pkg_add systems restart xinitrc install editing comment desktop attach xenodm xclock iconic launch local 50x50 ifend rcctl xterm lines false 80x24 these does doas then seem work echo this some nice fvwm with note etc png x11 out for usr but bin +Vmctl.RecentChanges:1636041317: : recentchanges october vmctl usage 2021 jrmu 17 at 06 14 am by +Letsencrypt.RecentChanges:1636041317: : recentchanges letsencrypt miniontoby expired october added 2021 pem 05 at 46 pm +Lua.RecentChanges:1636041317: : recentchanges debiankaios minetest october 2021 lua 24 at 10 30 am by +Openbsd.Vipw:1636041317: : different changed openbsd nologin zncthat example should which class right butit check there looks vipw 1001 this from home sbin find doas line with like sure make uid bea not has may you to +Netcat.Http:1636041317: : troubleshooting background connection networking chalkboard indicates openhttpd responses nhostname possible diagnose location redirect valuable content example charset prefers openbsd doctype address foreign dashed family length errors border closed bottom bad7ff server netcat scheme 1e1f21 eeeff1 https found title index style media color serif comic black white occur print moved swiss knife help will text body this been that page font sans your neue html 2021 head dark tool port with date army meta tue www feb the 302 get can web 486 gmt utf css has few 443 may 1px of 23 28 01 14 80 h1 hr by ms nc +Znc.Chroot:1635951006: Openbsd.Ddos Chroot.Intro Znc.Install Openbsd.Buyvm Openbsd.Syspatch Libressl.Intro Ftp.Usage Tar.Usage Gpg.Verify Openbsd.Adduser Openbsd.Loginconf Openbsd.Vipw Grep.Usage Tls.Overview Openhttpd.Configure Acme-client.Configure Dns.Vhost Dns.Overview DNS.RDNS Dns.Records Host.Usage Relayd.Acceleration IP.Myaddress Localhost.Intro Openbsd.Relayd Oidentd.ZNC Pf.Intro Bouncer.Bouncer Znc.Webpanel Openbsd.Cron Netcat.Irc Znc.Relayd Znc.Usage Openbsd.Nsd Nsd.Zone : 014eab533f25fe65621963f712ecaf3b86fe840859ab6f4c675200c73d02e6d1 e92813234318635639dba0168c7ef5568757449b d5823cacb477191cac0075555ae420cc0209989e libressl_version_number openssl_version_number protectwebsessions pthread_attr_init authonlyviamodule configwritedelay troubleshooting daemon_pidfile pthread_attr_t serverthrottle ssldhparamfile configuration misconfigured znc_server_ip automatically maxbuffersize understanding controlpanel installation service_stop segmentation acceleration unprivileged dependencies project_name alphanumeric disconnected service_name service_user mtz5cmce5ijx connectdelay introduction checker_znc configuring sslcertfile descriptors simple_away incorrectly anoniplimit established lc_messages 0x3040000fl temporarily connections service_pid certificate recommended ssl_session hideversion dccbindhost mistakenly saveconfig 0x10100007 convention loadmodule frequently nameserver completely attributes individual installing connecting ircnetwork sslkeyfile protection restarting processes bindhosts fullchain username_ chansaver plaintext listeners reconnect identfile listener2 resembles alternate untrusted localhost addresses uriprefix myaddress available supported following otherwise listener3 something loginconf hostnames necessary described openfiles stacksize listener1 openhttpd compiling threading mentioned signature sometimes specifies segfaults pkgconfig resources responses verifying generated indicates duplicate arbitrary libboost_ selecting listener5 listener0 lockedmem unlimited multicore beginning important listener4 libraries rc_reload listening commands properly sdatadir insecure password overview download releases multiple networks security upstream coredump provides 33554432 probably software yourself displays shutting directly webpanel freenode solution patching normally formerly searches s_client incoming flexible connects settings visitors channels requests instance whatever programs although explains filtered syspatch separate allowirc provider makeconf allowweb checking addreses symbolic controls internet webadmin adminlog nxdomain followed familiar requires certauth lastseen chrooted problems offering creating packages confused nickserv buildmod supplied optional services infinity defaults mismatch altering applying computer offline changes instead maximum browser example minutes configs pkg_add current maxproc finally bouncer openbsd oidentd forfeit without useradd changed nologin meaning warning created running replace logging editing creates altnick usermod however extract adduser servers private confirm ruleset account gettext runtime generic patched working returns entries encrypt urandom invalid happens getting specify applied belongs libexec contain records prevent certain assumes earlier modules upgrade compile _identd replays include library appears reached complex because attempt chroots missing concept exactly writing enabled looking crashes nofiles options seconds initial testing consult usually patches suppose forward reverse cstring defined keeping global passwd locale supply export ulimit single manage cannot values system chrono logout blocks signed rehash limits public begins edited 985092 kbytes delete resolv unable locate exists signal editor memory relayd viewed ircnow 329478 crypto launch amount rc_cmd powers access choose better before netcat erbose custom vhosts shared afford errors status unique should stable latest causes actual reason method needed likely lookup easier allows cipher opaque update subnet tested inside either glines packet result detail libicu notice please sha256 folder easily spaces online person plenty xargs helps every usage icu4c versa needs there users hence using fixed quick nl_nl pt_br wheel 31337 ports found going chown _host could chmod buyvm first again wrong 65534 bg_bg pl_pl de_de el_gr es_es guide later shown fr_fr id_id it_it ru_ru where mkdir timed means wants https pfctl state proto order above point fails avoid which pkill loads false might while binds risky enter party their types fruit these leave blank still asked blame cheap empty touch ifend 65535 rcctl pgrep title weeks schat hints field least below gnupg added class cmake amd64 mknod uname tools after unzip 32768 stays shell press saves phone tells 1001 next home cron same that 2020 also echo 2048 ipv6 6667 sbin tabs from wiki been 4096 doas 6697 1310 xvzf aaaa vipw will man5 just this then null hand feel real when note made have ipv4 back fall chsh more rdns orig info sure must 2605 6400 case acme done argv copy char argc true 8182 both 1338 gpg2 recv live safe send best 3000 says deny many room give 2001 code much subr esac come sets ytz8 zero lang such pick man1 does zone libc ddos 1025 zncs bans ircd them ctrl they good diff most none runs i18n typo nice var usr nsd bnc bug may abi ftp did tls job msg sor was 2v0 org cpp src new thu dec 292 3rd due env rpe ksh 224 192 db8 cpu yes won try pem 5th cut 644 127 48m tcp rx gz 45 v1 2a pc mv 17 uu +Znc.Relayd:1635934692: Relayd.Acceleration Openhttpd.Configure Acme-client.Configure IP.Myaddress Localhost.Intro Openbsd.Relayd Pf.Intro Znc.Usage : troubleshooting configuration acceleration controlpanel recommended request_uri configuring certificate convention understand listeners plaintext localhost myaddress configure uriprefix openhttpd challenge listener5 http_host followed incoming connects location hostname allowweb requests webpanel allowirc redirect servers provide replace openbsd without meaning example setting instead restart changed default ruleset bouncer option public actual relayd client reboot return ircnow filter packet please viewed false intro rcctl quick order while first later ahead https ports block 31337 strip binds known usage proto state pfctl avoid rate keep this 3000 1338 pass that note true acme wiki deny load want must will help doas ipv6 your 2001 need read each ipv4 root well can use bnc src max the znc tcp ssl how are 443 any see etc for new 302 log 192 168 tls db8 127 go be so of up 60 80 +ZNC.Admin:1635875074: Debate.Dogfooding Bouncer.Bouncer Openbsd.Less Openbsd.Ilines Openbsd.Irssi Ircnow.Networks Openbsd.Vhost Openbsd.Ddos : 21_how_do_i_reset_my_znc_password i_forgot_my_password configuration disconnection reconnections certificates disconnected instructions controlpanel successfully troubleshoot investigate exclusively fingerprint maintenance connecting oftentimes validation improperly configured attempting vl0gy6rv79 dogfooding authorized globalirc following recommend plaintext encrypted sometimes hostnames important indicates repeating solutions addresses innocent networks possible throttle whenever wherever continue everyone trusting messages manually disallow stopping adminlog provides benefits clicking consult warning openbsd returns forcing example problem because through disable trusted servers expired closing slowing similar section reasons correct bouncer moddata command 2600net dealing without failing include usually evasion attacks request sharing ircnow should prefer fixing unique ilines please glined either switch attach likely banned scroll manage admins dalnet reduce abuser common forced offers typing bottom errors client debate ensure rather adding caused search secure above https fruit using users which quick user4 user3 certs vhost irssi there user1 enjoy daily tries helps lacks front user2 check being major below these title write means issue shows will your have test that less ipv6 from been 2021 more ipv4 grep doas 6697 scan this save irc6 only most want both page ddos must than find soon znc6 down znc5 link gets 6667 same list they pick case hope need home spot znc4 wiki then over next znc2 edit znc1 znc3 each does team uses make lost sign but day png not see faq won are way may run has ssl web 256 let bad msg bnc 01 03 06 by 29 09 51 50 24 33 3f 14 28 12 23 08 15 55 52 19 +Znc.Debug:1635866627: : libboost_chrono libboost_thread libboost_system libboost_locale libicui18n libicudata libpthread pkgconfig configure debugging libcrypto buildmod releases libicuuc install libexec urandom include running usermod openbsd _identd libssl resolv enable chroot hints chown chmod wheel mknod mkdir share title https gmake home man1 libz null libm xvzf cert doas mode bin znc usr var cxx tar ftp gdb etc dev sig pem abi 644 666 cp gz mt 13 96 19 rx 45 cd 46 26 pc 48 10 7 +Znc.Usage:1635865799: Bouncer.Bouncer Ircnow.Networks Ircnow.Servers Bouncer.MIRC Debate.Zncflaws Openbsd.Police Openbsd.Ilines Openbsd.Phishing : mysuperadminpassqwerty passwordsgenerator misconfiguration notify_connect automatically possibilities intentionally controlpanel instructions listnetworks successfully disconnected troubleshoot immediately information permanently registering understands alternative jumpnetwork punctuation advertising connecting registered addnetwork connection setnetwork downloaded characters personally loadmodule configured guest58404 incredibly abcde12345 delnetwork requesting saveconfig currently satisfied verifying confusing reconnect different addserver blockuser important extremely carefully replacing correctly available mechanism following incorrect chatting nickserv nickname 12345678 familiar services deleting identify entities yourself zncflaws username phishing webpanel sysadmin chanserv possible shortest requires approach remember everyone settings freenode terrible security undernet properly connects bindhost generate ysername secondly messages probably quakenet official channels specific whenever accounts teammate retrieve problems mistakes botname perform captcha jumping himself bouncer privmsg openbsd replace already closing support example prevent altnick newnick welcome because snoonet friends helping disable include symbols between numbers letters derived contain adduser claimed getting address history logging forever clients spelled console servers deluser changes started addchan default command actions happens warning confirm version private without besides follows sending newpass debate ircnow delete before create likely should method around flawed status forgot simple nobody please double tested reason ensure admins actual smiley entire signed report logged unless record vhosts cannot assume emails simply better saving single guides typing police ilines thanks folder either anyway caught suffix powers itself ircnet common ngircd unable dalnet always glined banned notice caused glines accept cserve squery errors cherry space mango there check wants plain waste would unban tried store quote extra fruit which later after saves typed first wrong offer https vasya ircds login ifend doesn exist could click these chats share sorry where field rizon tries reset users staff efnet again right other abuse usage mouth tells until index major taken pages reply title about known types need must will disk that done time from more been link this mirc wiki each mode auth 1337 oftc them upon keep just also they have tons idea then what says sent join plum some pear same over sasl site long turn copy make logs hard hold code part most give best real love true 6697 easy didn ctcp note many into else look puts bnc day has how yet php but try 235 thx why bcc ask see bob run yes bye job may dns 16 41 21 29 30 57 01 24 27 25 28 54 ip 50 20 31 22 +Almanack.Rewrite:1635719449: Almanack.Almanack CodeForce.Bootcamp Minutemin.Code Minutemin.Server Minutemin.Progress Medals.Intro Openbsd.Team Openbsd.Stable Openbsd.Testing : troubleshooting authoratative cryptography information networking minutemin codeforce languages security sysadmin progress transfer services bouncers almanack firewall bootcamp training signing caching testing desktop openbsd version control clients servers rewrite improve medals access stable issues civics relays guides honor intro solve other games ident team vpns file plan mail bots ssh tls web irc dns and tor of my 9 +9.Sysupdate:1635718896: : sysupdate drawterm updating install system kernel images amd64 webfs after i386 this done over nuke pc64 your src can be cd mk to 9 +Debian.Debian:1635683674: Debian.Debian Debian.Nginx Debian.Nginxphpfpm : distributions documentation constitution organization introduction foundational financially development distributed established continually sponsorship coordinated nginxphpfpm ˈdɛbiən guidelines principles supporting volunteers nonprofit sponsored operating according documents developed september computers wikipedia candidate community supported released software internet personal founding contract november composed continue interest popular edition project servers install notably systems further updated version murdock because leader debian kernel source formed guided social public action freely freeze openly ubuntu stable oldest branch august first ended since based which short linux setup known after three other basis june many 1994 over 1996 this 1993 also most when 1995 from been time next feed team rss gnu was one its has new by to 01 16 17 15 8 +Unbound.Configure:1635606718: Openbsd.Znc : queryselectorall configuration intercepting nameservers forwarding childnodes javascript aggressive everything originates localhost interface listening configure available addresses generated providing specified segfaults innertext commented regularly innerhtml something document randomly multiple override dhclient hostname resolver computer internal provided indicate spoofing priority outgoing identity console contain running another section unbound instead example opennic browser foreach quickly command srvlist invalid queries however working problem records enabled openbsd causing machine default network include caching counter control locally version remote domain option lookup attach safely should master dnssec blocks inside access anchor change update refuse except secure google sample 604800 nobody answer ignore static faster public window giving bottom button allow zones 10800 there comes about hosts click users entry check https start which rcctl lines ipsec these files store tells frame ipv6s clear title dhcpd again cause found stale false ipv4s first trust cache ifend 2001 bind your sure make this age0 edit tail does from that also port used want send they will uses sock turn logs kept data have both nsec root auto then find part view base need hide 3600 doas like well aaaa runs more test 1200 can znc 127 are etc 111 old got may vps 193 172 192 yet 244 off 171 251 175 118 org 217 142 254 115 key var 101 183 112 185 don dig see 163 248 170 141 103 208 236 162 119 soa yes any 168 132 get 144 169 top 212 237 227 165 web set txt 117 154 div ip6 db8 53 by 43 40 be 29 87 98 86 45 31 46 99 67 89 35 39 64 +Openbsd.Adduser:1635589778: : encryption questions passwords partition username warnings fullname dotfiles mistakes blowfish creating message default nologin welcome disable unbound adduser uration another goodbye openbsd reading prompt invite authpf daemon couldn pbuild method chance groups config logins shells option xenodm master passwd silent input later enter check there rrect about staff added class worry guest 1001 jrmu will home skel from bgpd copy into want send your path auto find doas znc ksh for bin 999 etc don uid csh new any all see let gid ok if be +Gnus.RecentChanges:1635588647: : recentchanges hydragyrum connect october gnus 2021 30 at 01 32 am by +Gpg.RecentChanges:1635588647: : recentchanges october verify 2021 jrmu gpg 30 at 46 am by +Donations.Donations:1635586766: Freedom.Freedom Freedom.Software Ircnow.Victorycores : hosted_button_id bananaircnoworg bn63pn32y3ffj xjbh9xmxgnskg documentation victorycores oddprotocol simpletable cryptocoin thunderirc developing ircforever donations teammates nastycode standards providing liberapay lecturify essential community released software produced training services internet improved sortable building grateful hardware freedom working content protect welcome towards support patreon serving control paypal donate modify border freely online anyone https learn title users grape would class share staff width teams copy very with will like also that help they link open unix can our 100 you new all www by is go +Ircnow.Victorycpus:1635581866: : victorycpus attach ircnow +Ircnow.Team:1635560736: Ircnow.Goals Ircnow.Pioneer Ircnow.Opsofliberty Ircnow.Minutemin Ircnow.Codeforce Ircnow.Sheriff Ircnow.Ally Ircnow.Settler Ircnow.Explorer Ircnow.Ranger Ircnow.Roadmap Ircnow.Finances : administration opsofliberty simpletable innovation volunteer minutemin codeforce positions marketing criminals different sortable finances software progress explorer document sysadmin unclesam security cutting settler pioneer roadmap sheriff network improve ircnow report ranger border attach rfloat track goals title users width apply class 500px about 200px write need your want ally host help more self team edge have join not and png own but the see to we my 1 +Ircnow.Sonsofliberty:1635560212: : sonsofliberty announcements procedure minutemin handling training servers openbsd unix101 support channel finish ircnow rights police chanop ngircd admin index https abuse guide wiki code team oper must duty php org znc +Gnus.Connect:1635557527: : gnusencryptedauthinfo automatically gnusauthinfo appropriate application quickstart newsgroups ‘auth’ following gnusgmail emacswiki replacing password specific brackets smtpmail machine address gnus’ content derived license ignored service connect better select method server domain manual nnimap stream email gnupg angle login which items enjoy imaps https under using found your user text with setq file port from used page this some ‘m well will name full node put was org the ssl www may 587 and yet ret com see gpg run cc 9 0 +Ircnow.Settler:1635523415: Freedom.Freedom Vps.Vps Shell.Shell Ircnow.Servers Openbsd.Vmmuser Vmm.Configure Vmm.DebianIso Vmm.DevuanIso Vmm.UbuntuIso Minutemin.Bootcamp Ircnow.Goals Ircnow.Minutemin : responsibilities configuration installation experimental recommended billionaire participate oregontrail hypervisor supporting guarantees occasional contribute configured monopolies controlled debianiso ubuntuiso operating minutemin anonymous corporate volunteer community supported devuaniso homestead portfolio marketing personal bootcamp favorite verified training monopoly platform machines tutorial document purchase business accepted proceeds familiar planning offering software warning website openbsd provide freedom digital against network created welcome startup account unix101 servers payment settler vmmuser towards virtual upgrade running through private ircnow option finish ensure charge answer center rfloat future system rigged attach elites resume social claims guides friend mutual inside method purely source staff users shell month media weeks goals there learn using photo equal refer apply dream below email today admin title guest trial agree width build usage 50pct send test that help blog with tech this keep able your find must will 5usd over make code join read love ceos four made life need add can who any one get how and vps see new was don png org by 4 +Ircnow.Milestones:1635512764: : representatives transferring constitution declaration planetofnix recruitment oddprotocol alternative registered ircforever thunderirc milestones sustaining publishing shelltalk bsdforall welcoming operating ownership september lecturify nastycode creating research training ircology archives accounts networks netizens domains october systems mailing finance freeirc drafted future formed ircnow ircfun course issued define number public jujube march repos begin teams break elect 2021 into fork list even self june july yyyy 2019 open 2018 2020 mmm org and set nov cvs up +Debian.Nginxphpfpm:1635510376: : implementation configurations technologies repositories fastcgi_pass performance alternative server_name nginxphpfpm extensions successful processing configured additional following copyright available systemctl installed necessary finished features snippets location packages upstream phpinfo contain related restart running include service command enabled example changes virtual version finally default opcache verify better should debian create output modify useful engine loaded listen reboot easily stored syntax built heavy sites error apply files other mysql group ships index point close lines host once php7 sock save just with need html will root next test then nano does some when zend this json curl time unix 2020 code its are you get etc any can apt var www oct cli not nts new v7 v3 80 56 by ok 47 15 ln +Debian.RecentChanges:1635509919: : recentchanges october monaco debian nginx 2021 pm by 18 12 at 29 11 50 am +Debian.Nginx:1635509880: : master_process configuration documentation documentacion successfully execstartpre server_name performance commercial ├─3816 ├─3817 └─3818 systemctl try_files installed available location specific required reverse enabled similar default further service example systemd verdana welcome support working running address helpful doctype debian active preset cgroup should memory domain daemon listen please online output vendor status reboot worker tahoma family margin loaded slice arial nginx serif width tasks title limit style index sites refer check names there loged after would first setup proxy thank using since html href root body head curl init http sans will font auto 35em page find copy edit this that give path 2021 sbin cest 49ms 1min docs 3813 2201 3815 sudo high user need usr 22s ago you ssh org uri 404 and apt how ● etc web vim www 127 lib fri var cpu see pid 80 cd ls be 10 ip of br 29 2m 14 24 h1 +Openbsd.Install70:1635268321: : at2jrcwcvdc9wirs7ccwvctml2zlb9hw08dbcs4ocaq nvgokgfwn39hspmugsd2pypwreheqsd9qxu0dfl14u ggcjn9qejgxfa6rm9ewyqkmytwclj0xbv3g1xz 6q8ifonypagikh1uba7e24blvlwy8b okireau1ptetgd2ttini6tuyi ixmajaidzc86j0r9qje34xd ornptemm6yvz4qephw30zl ssh_host_ed25519_key ssh_host_ecdsa_key 0xffffffff81001000 mqlx5q3ovtmwukbe8 s90wbyaddrrxki3if ssh_host_rsa_key ssh_host_dsa_key b8a4714aab650659 congratulations ffyz8lcrkp0euza configuration notifications asynchronous successfully inconsistent uniprocessor 7nsiaxc6wqlk securelevel maintenance information nameservers proactively installing extracting prepending workaround configured bootblocks 1009053696 1056948224 california university interfaces generating reordering thunderirc zkpwu8ncgs preserving utoinstall awvzmpvjye powerdown fragments allocated relinking directory partition loginname 0x15b1738 softraid0 automatic libraries copyright firsttime cstarting operating rebooting reporting reproduce necessary newsyslog switching available install70 passwords imagefile connected 33877984 vioscsi0 function mainbus0 scsibus2 firmware qumranet 41943040 scsibus1 cylinder progress 22598304 clearing username selected pressing creating checking scsibus3 savecore 13082752 14464608 19538944 scsibus4 xshare70 autoconf 11279680 continue location pathname terminal pvclock0 md_clear scsibus0 reserved hostname 14746904 enclosed entering bbzybwf5 guessing icmp_seq modified prohibit complete timezone targeted detached openbsd mpleted 1381856 enlarge loading attacks sectors probing console command syncing 1065252 3367952 generic package page1gb account version seabios 1833600 gateway entries 0xf3f40 targets reduced deraadt 5056800 address regents 3106616 1163832 1167360 compile xbase70 3059360 network default 2744064 xfont70 example xserv70 dnlzjdc 5074336 warning netmask program enabled 1299648 control sendbug utility created isakmpd isadma0 session reports virtio4 monthly openssl 3448288 daemons libexec running contain 5281888 setting without runtime crontab 8025952 welcome syslogd virtio3 details virtio2 virtio1 vioblk0 storage 1299584 include eastern virtio0 prompts 8051648 answers problem viornd0 pattern 20480mb game70 belled comp70 router sha256 verifi domain change typing device system checks vscsi0 probes ns8250 vmmci0 keygen except pvbus0 pclmul vendor pgrade weekly minute exists enough ensure please before client sndiod editor return quotas escape pflogd smbios length mpath0 random 1007mb rights 115200 symbol 876369 348800 prefix rotate kernel unique making saving groups unused inodes nosuid number pubkey layout speeds should fstype offset local 12960 write files clean bytes nodev 1022m 25920 16384 again cache whole setup intel amd64 man70 which 962mb smtpd match since https while x11r6 early using vmctl 30ghz valid rsd0g bios0 rsd0d 19200 85680 disks rsd0e pchb0 drive 38400 vlan0 10710 21440 qcow2 56249 abort rsd0h rsd0k remov table 256kb flags rsd0i every known rsd0a bsize xsave fsize ustom lower 20352 qsize rsd0j shell vt220 ssse3 shown 10153 0x3f8 24545 57600 daily newfs ttypm spamd safer allow leave rsd0f point tg100 tty00 pse36 short entry 2252 wish itsc none test cpu0 code lahf ipv4 keys 1753 2021 1339 2296 home 2bsd 2508 2469 50mb dump 1049 2188 swap like line unix bugs melt root 1177 1984 584k ntpd done 1715 sshd verw vio0 2764 fifo your 3931 5507 com0 1408 1493 isa0 1766 0x00 pci0 this sd0b 2602 2124 4531 4774 5068 5299 5440 xetc 4313 3289 2457 each 3046 ipv6 3558 3788 64mb 4032 5145 4889 1472 4582 5478 5785 2477 3353 iked exit 4249 3609 3916 6118 7257 7300 7091 1179 6643 6348 1113 6515 6796 6950 long 2521 2816 3148 from 3456 baud what elfa 3072 real y4zc 2227 1433 echo hd0a 1958 will 4147 good 6272 6617 6937 last 7449 7769 8128 4467 1024 seed 4684 4915 list 5260 638k 5593 sets case 1995 gjdg hag6 doas true 1868 tmux 2109 tabs sbin arch 1241 does 1993 1991 1989 1986 1982 fccf rpki 1965 cmov data 8460 1817 have cx16 mail sse4 sse2 well that pcnt lush 1536 hour wday mday 1203 fxsr 34mb 9574 9600 date 9369 when acpi 2011 9792 read 9113 2630 xeon 2301 been 8793 512 rev www avx 0p3 aes org 158 nxe 3mb irq 895 pge sep 5mb src vme rng fpu mem mhz usr mdt mmx 64b 1mb mds cx8 pae msr md5 6mb the any 162 ttl 103 628 can mbr oct 599 gpt 692 var yes but tmp rpc 674 cd0 lun 445 obj tue ove edt cpg tgz 601 780 8mb mnt 268 758 707 dns 217 435 665 9mb sig 908 410 foo alt 332 806 863 a20 pc0 640 nfs has i5 5a 4e a8 6b 1e c1 3e c4 f2 f7 6d f1 b5 fb 8e 9f 5d e6 5e 4c f9 fd a9 2f e9 2c bd 1b a1 d3 7b 9a 1f 7f 4f 2e hv e5 2d 1d c7 f0 +Vmm.Homerouter:1635268100: Vmm.Configure : cc504c319a4b4188479cfa602e40cb6851c0528 configuration loginterface description workstation 0xffffff00 autoselect homerouter ifpriority 0xff000000 forwarding broadcast antispoof autoconf4 providing filtering connected downloads hellotime 1000baset multicast prefixlen install70 configure 100basetx username fwddelay discover learning hostname ifconfig loopback machines allmulti software ethernet vmdusers connects assigned martians provides firewall example1 referred internet computer bridge0 running switch1 netmask switch0 network address devices virtual bridged openbsd promisc packets because default assumes simplex scopeid gateway memory lladdr policy groups egress 9front duplex random status vmmnet return active locked 808b43 llprio ifcost server sysctl maxage record itself pflog0 maxlen socket second placed flags 33136 index proto quick inet6 block audio wired table media match scrub https rules 32768 athn0 holdc title later owner qcow2 amd64 cdrom guide faq16 other acces which setup below tap0 from dhcp port doas uses read 8943 1500 rstp have pass enc0 this wifi that full html skip drop 1440 card fe80 with them kern 8049 arpq 1024 will rest come 512m 8843 8593 disk 127 etc vm1 if0 168 www 192 re0 org lo0 mss 172 re1 255 mtu 254 169 cat any nat ip6 0x4 iso get 128 via 113 203 you ssh 224 141 tcp 198 see 91 no 38 df 3a 7d we d5 3f by 0f 01 b0 d0 0e fd +9.Netcat:1635176443: : connection netcat ircnow telnet upload create paste path file 7777 tcp use org to 9 +Ircnow.Networks:1635118493: Ircnow.Ilines : onlinegamesnet communications chatlatinoscl aerospacechat allnightcafe organization hackthissite explosionirc linuxconsole unviersochat universochat universalnet insomnia247 darkscience environment roleplaying chatjunkies overthewire chatsystems trendsohbet discouraged simpletable description umbrellanet germanelite performance forumcerdas kampungchat chatplezier chathispano responsible communities twistednet digitalirc technology spiderchat quoservers nationchat allz4masti amorlatino shadowfire irchighway chatlounge tildeverse allnetwork zwergenirc appointing redhispano friendsirc superhosts coolserver liberachat virtualife characters chatsansar banglacafe viciochat malaysian malikania zandronum desirenet alphachat chatspike quartznet canternet minecraft redlatina chewbakka robothive chateamos rootworld chatgentr swisschat amicachat mindforge enjoychat streaming community freeunibg dejatoons siamnarak puntochat darkfasel lecturify hybridirc shelltalk ircfreakz ircsource providing successor globalirc nastycode gamesurge volunteer passwords pineapple freshchat confirmed services undernet europnet tweakers chatzona greekirc sortable oltreirc irchaven spigotmc provides platform networks trsohbet zeronode friendly swissirc quakenet darkmyst swiftirc svipchat stormbit software irccloud buenchat openjoke recycled spotchat protocol scenep2p accounts geeknode librairc bouncers smurfnet afternet telegram slashnet afterall geekshed skychatz frantech simosnap absoluty freenode handling romanian chatopia chatasia chat4all allrednc icqchat chathub discord reports rezosup scratch sorcery halogen chating hazinem brasirc bolchat bsdunix hackint cavenet dealing roircop perhaps snoonet gz4m3m2 support channel writing deepest english italian ircfree epiknet evilnet webchat closely browser geyiktr partner ircgate netchat gigairc austnet irczone juggler etnies6 address xertion 2600net azzurra technet thaiirc eggdrop bitlbee darkirc without irc4fun ayochat blitzed exchat gotham exolia orange banana jujube glined kalbim ircpal dalnet rusnet efnext ekolay geveze mibbit hacker ircnet luatic ircnow column ilines border barton should secure stable synirc matrix bsdnet twitch sturtz afterx zonebg tested relays apropo please chateo invite master cherry modern euirc mango lemon users anzub esper nfnet grape myirc zurna anope abuse https evolu irctl zenet amici zairc 42net zemra ewnix uugrn lucky zoite wenet title chaat email rizon today width based ptnet class bgirc edgy1 efnet where atrum city nfld 6697 from 6667 xmpp room pear ipv6 plum ircd irc6 7000 safe pirc perl 6660 6670 fast wnet best link easy oftc used bncs your 6668 9090 lego axon text irc2 ipv4 want name gimp when many lost ally does note down that they will noxt time wip yes tbd fig ask 127 may get znc non 100 but tv jp pw uk gt tk w3 xi +9.Plan9ini:1635093029: : 1280x800x32 1024x768x16 resolution customize plan9ini thinkpad vgasize monitor default replace value then x200 edit 9fat with for 9fs of +Iked.Newconfig:1635090581: IP.Myaddress Openhttpd.Configure : githubusercontent troubleshooting 4skinskywalker malwaredomains username_here interoperable password_here configuration certificates gazellegames installation stevenblack justdomains client_pool information destination permissions configuring blacklists forwarding client_dns connecting configured alternates nameserver remote_gw blocklist newconfig openhttpd interface installed correctly malformed addresses something different parameter newhosts2 newhosts3 myaddress daemonize necessary verbosely processes hostname included user_vpn manually networks security external reformat gambling valuable unwanted outgoing download probably whatever resolver resolves provided provides solution capitole index_en ifconfig openiked consider depends running caching unified unbound example easiest replace command openbsd servers enabled torrent packets entries mirror1 control clients privacy writing tighten ruleset passive dynamic machine warrior virtual freedom lookup mmotti sysctl vpn_id access picked static ircnow ipcomp pihole ext_if needed ignore tagged isakmp device htdocs piracy system rather reload filter censor allows create errors should native secure master banned simple report ikectl mschap public verify obtain point pfctl value users https cause chmod check their inet6 regex final start rcctl taken using files local debug chown lines first about title proto ipsec quick these clean roadw setup where wants valid match macro ikev2 srcid being that used into porn from this like then peer must your zone have upon dhcp make sure will doas bind only note tail with mode nzbs pros site blob turn than base grep stop once anti 0600 crls enc0 over vio0 type find etc tcp put 203 eap var org any 113 may ftp raw key rsa app esp awk udp php ip6 txt pki 509 crt dsi p2p web get 127 way can www off rdr 202 185 121 239 169 177 dl 53 dv ax 10 ah 24 +9.Links:1635056976: : covingtoninnovations plan9_desktop stanleylieber pspodcasting franjballest mirtchovski namespaces complexity unix2plan9 wordpress simplicty research helpful shithub postnix inferno entries awesome felloff michael github henesy s9book 9front newbie papers readme https s9fes books index links swtch guide 2019 html blog 2020 acme wiki orib debu part pdf www org t3x fqa cat dan net dev p9 pw 9p us gs 36 +Unrealircd.Install:1635056747: : dependencies ares_process libcares_la unrealircd downloads questions recommend settings makefile writeing changing versions examples tarball extract openbsd install default pkg_add command storage makeing useradd config whoami folder source called delete latest inside should people verify knowen errors switch acures useing recent basic newer https sauce build might gmake fixed clean rerun bunch guide issue click start enter sadly doas exit then soon most this lets fine 1084 have will from them also gets hope just that curl here find want edit time when done code home need over same copy for you too low has can org www dir ask but xzf go be up cp of gz 5 9 +9.Keybindings:1635056121: : keybindings backspace character directory returning begining deletes running program current clears insert window moving border kills files whole moves width first line ctrl hold mode list unix what last home esc end one tab of 80 9 1 +Terms.Vps:1635012362: : cryptocurrency responsibility cancellation infringement specifically intellectual pornographic information responsible warranties absolutely authorized permission whatsoever complying copyright terminate violation malicious trademark passwords customers guarantee excessive resources technical software received property required identity activity scanning insecure gambling complete breaking harmless accurate illegal content without backups threats network actions whether damages slander support prevent subject account payment service partial refunds anytime billing contact ircnow before amount please agrees report relays cannot miners except result limits stated under above makes email rules sites local occur death plans terms where theft usage fraud their month abuse nodes drugs using libel from fine fair that must spam exit week date give data loss paid does your hold used law own vps org one tor may set by 50 +Xdefaults.RecentChanges:1635011544: : recentchanges xdefaults configure october 2021 jrmu 23 at 40 pm by +Xdefaults.Configure:1635000032: : forcepackedfont metasendsescape scaleheight underscore background foreground visualbell loginshell configure xdefaults scrollbar geometry facename facesize cjkwidth openbsd hanging provide support chinese spacing courier mkwidth dejavu screen jasper false xterm adobe vt100 88x27 black djvsm white line true adds sans mono this 2014 with text bold will low dot exp fix 59 22 34 07 +TigerVNC.SSH:1634990210: : number_after_the_colon putty_change_settings port_of_your_choosing putty_ssh_tunnels applications remote_port destination local_port connection connecting represents xauthority localhost uncrypted specified vncserver selected starting xstartup creating tigervnc example warning default program buttons desktop create attach source client saying config script using radio first since exist click aware would still user here this file 5900 will home when does type 5901 then case auto show icon keep left may png isn add and bar log com new not +Rio.RecentChanges:1634895431: : recentchanges customize october 2021 jrmu rio 22 at 09 am by +Vmm.Devuan4Iso:1634833741: : 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b e93d7167a4f5fa9e9fed497770285ba5cf280ba4 0_amd64_netinstall devuan_chimaera_4 partition_offset installation fingerprint sha256sums indication devuan4iso installer signature installed interface processed keyserver ronnquist libraries certified checksums perfectly isolinux mt86plus generate vnconfig 115200n8 imported username vesamenu libcom32 download version console support vmlinuz primary libutil unknown warning belongs include trusted changes default provide memtest already openbsd xorriso mkisofs giocher switch0 pkg_add serial joliet initrd inodes ubuntu number umount create lladdr locked modify memory verify update search kernel append public casper normal should vnd0c steps words mkdir https taken ideas cache diffs label quiet ttys0 qcow2 table cdrom image owner 1024m these title guide total gnupg files there ralph gmail using match boot path 2021 size good emul from this live made with that recv doas info disk make grep home grub into must 2018 else root stop jrmu hwe fri gpg asc vmm new rsa vga vda cdt for ftp and org not rrq bin you etc run are c32 old cfg txt mon sun aug two feb cp aa cc 22 57 35 50 12 +9.101:1634748818: : virtualization independence introduction connections redirection grandfather description disappeared replacement namespaces networking navigating filesystem describing components installing challenges navigation everything knowledge scavenger obsoleted introduce operators obsoletes protocols hierarchy emphasize dinosaurs utilities scripting software drawterm commands describe features advanced explorer concepts download linuxemu berkeley database factotum replaces explain unix101 through 9legacy inferno porting service servers lessons courses systems actions perform execute discuss machine process sockets message welcome telnet scroll island create editor civics 9front beyond finish inside native window either commit cannot access folder during chatfs mailfs gitfs ports pipes other there usage these party ramfs where level sshfs basic users mount start clues title using learn force also send read with list demo cwfs have upas that been text show plan next from what open repo your imap pop3 find give home hjfs will like rcpu acme auth hunt make used hold vncs halt must each turn into vncv some goes wsys line vmx rio set rdp who ndb smb nfs sam ctl new add him cat 3rd bsd 9p +9.Install:1634654219: : af6dfae894dcb1e43f1e7e3d085b50f6d1dcf396e09a37d23c174ea94d8bf244 acc504c319a4b4188479cfa602e40cb6851c0528 australia_queensland australia_yancowinn canada_newfoundland 0x000000000009f800 0x0000000040000000 0x000000003fffc000 0x0000000000100000 0x00000000000f0000 0x0000000100000000 0x0000000000000000 0x00000000fffc0000 australia_victoria australia_tasmania chile_easterisland 0x00000000000a0000 chile_continental australia_broken brazil_denoronha australia_south canada_atlantic australia_north congratulations canada_mountain australia_west canada_pacific ccoonnssoollee mexico_bajasur mexico_general canada_eastern authentication configuration automatically australia_act australia_nsw distribution canada_yukon f2b2b3daeb05 installation mexico_bajan genuineintel experimental initializing saskatchewan asia_bahrain de4baa668f07 brazil_acre 21363090432 1024x768x16 configuring traditional ralia_sturt us_michigan initdisplay brazil_east stralia_lhi brazil_west us_mountain us_eastern containing 0x19cc8000 us_central 0x005dd000 0x00100000 unfinished 0x00110000 asia_india partitions filesystem configdist successful preference 0x0009f000 0x0ffff000 0x0060a000 0x0001a000 0x00021000 webcookies completely subdivided connection us_arizona processing us_pacific following configure interrupt mountdist confignet 640x480x8 sysconfig preparing bootsetup suggested cylinders distmedia directory interface multicast dialicmp6 translate 262643712 argentina 262098944 rebooting us_alaska us_hawaii 426684416 427266048 requested connected mouseport completed prepdisk partdisk selected ipconfig continue configfs resolver username ethernet ndbsetup starting copydist internet 41724786 41929587 probably sensible secstore password stopping shutdown scanning optional download 000206d7 bootfile bootargs bboooott xeon5000 mounting 96982203 1000mbps archives location hongkong bootable detected 079ba97f us_yukon allproto contains 9bootfat bootia32 indiana tzsetup network example mountfs support authdom openbsd reaming sectors jamaica address iceland nz_chat console sysname service windows newuser specify storage gateway devices iso9660 serving records freebsd bootmgr bootx64 default vgasize unmount monitor uruguay 4623mhz suffice halting exiting licking ticking cwfs64x 4600mhz 8225280 started perhaps account switch0 desktop systems reload choose tracks master create source attach cdboot locate method please failed tables 115200 dossrv format glenda folder server 9front halted gunzip unable active rather marked manual status buffer cached series israel 0x2000 ether0 navajo poland singap turkey virtio 516096 memory kernel enough 204800 544768 sha256 204801 authid domain serial escape locked fshalt lladdr layout empty tasks egypt holes i8042 japan libya write 65536 bytes nvram plan9 slaac vmctl first newfs 1392m heads ttypr local ready speed owner sleep while image cpurc order 1024m which types 1212m frame qcow2 cdrom cirno exist wrkey amd64 blank fdisk using clone admin mkdir point reset there keeps takes ttyph chown chmod shall going group wheel sdf0 doas zone menu home bind swap 9fat sure done into time hard text does edit data sd00 8593 nusb make this host made cpu0 vncs 4096 used echo 2021 767m null e820 draw hjfs from that fe80 02e8 elcr safe with unix lilo dc4b hubs usbd hill 256m http cuba eire iran 413m than orte fe66 aaff ipv6 587m f0b2 b3ff feda dhcp were mask 2610 will your wait just upas room have root worm are efi tmp 386 gpt 9pc its irq kbd bak pbs bz2 512 126 ftp 255 org 775 thu cmd off rio usr etc mbr jul yes 20g png now log has 215 9fs cet vmm yet not eet wet any gmt prc 330 hst try 260 dns bad tcp tls 162 486 485 125 esp ax cx gb dx 49 l0 gz be p1 rw 99 mv rx +Ssh.RecentChanges:1634602839: : recentchanges fingerprints october table xfnw head make 2021 top the row ssh 41 pm by 10 at of 09 +Fvwm.RecentChanges:1634556043: : recentchanges configure october fvwm 2021 jrmu 18 at 10 am by +KISSmo.RecentChanges:1634551279: : recentchanges download october install monaco kissmo about 2021 18 at 09 by am 44 53 58 52 +KISSmo.KISSmo:1634551108: KISSmo.About KISSmo.Install KISSmo.Download KISSmo.KISSmo : repositories copyright download requires database flatfile released install anykind kissmo system stupid monaco source gitlab simple about paste click visit based keep home here 2021 init page wiki may 1st 17 no of +KISSmo.About:1634550740: : configuration repositories instructions recommended oddprotocol public_html contribute autoindex documents explained openhttpd following sensitive copyright directory referring revision extended features previews included terminal browsers download software flatfile location specific aexplain released requires database install archive confing openbsd running support anykind systems version upgrade partial painful replace another needed kissmo domain search monaco gitlab trying pieces please should stupid simple source mobile device nobody simply apache aswell added under nginx alias visit howto links based would click above files paste about guide setup works admin sites using init 2021 that name make been test this home with code keep such lynx here help will soon list what and org new you txt duo for web 1st php has why may css 17 +KISSmo.Install:1634550256: : websiteyouwant oddprotocol public_html autoindex directory openhttpd specific location actually commands youreweb sitename running replace yourweb archive install looking desired follow kissmo ncsite simple gitlab paste nginx https about using steps where hedho admin unzip under alias conf that this test will need know home 7777 find main then edit wget line with php for how org txt put any can www var etc add tld be cd go 60 +Cvs.Repo:1634459530: Cvs.Anoncvs Cvs.Cvsweb Cvs.Intro : allowstreamlocalforwarding allowagentforwarding allowtcpforwarding disableforwarding administrators automatically x11forwarding forcecommand permituserrc permittunnel permitlisten sshd_config immediately permissions recommended directories permitopen executable releasetag containing repository maintainer committers afterwards directory vendortag permittty ownership transform following committed therefore somewhere replaced imported specific checkout existing reponame explains shortcut drwxrwxr granting properly optional original accounts groupadd argument profile cvsroot connect provide prevent working ircnowd tracked useradd changes restart setting suppose example usermod located anoncvs current create folder sample should module source author access delete inside result cannot safely bottom script rights server export admins decide simple having before brogue cvsweb called actual botnow wheel begin login chmod works files match title never intro guide first rcctl apply shell mkdir users acopm write total named chown since code doas 512b jrmu then make them look this like also only time will that none used edit next from logs want they your have with path just note does into init type when omit once echo each give else need see who via new are usr may don aug bin etc get yes any lha put oct fix apr cd 06 57 46 27 10 16 by 48 42 29 0k 26 04 17 19 rf 28 3 +Vmctl.Usage:1634451284: Shell.ShellPutty Openbsd.Vmminstall : combination vmminstall hypervisor shellputty following dedicated keyboards sometimes terminal hostname shutdown commands followed username multiple personal machines physical example upgrade control console windows virtual openbsd unpause connect inside attach ircnow create server single allows repair manage likely system period serial tildes before escape vmctl https start guide using guest check works first enter order press lives title usage linux which most stop note that view your boot once runs must this also want will need type ctrl have few may ssh any the org can see two out log png if cu by 4 8 1 +Cvs.Anoncvs:1634443248: Cvs.Repo Cvs.Intro Cvs.Cvsweb : allowagentforwarding permitemptypasswords allowtcpforwarding x11forwarding fingerprints repositories instructions transported information sshd_config recommended potentially unnecessary maintaining committers cvsyncuser maintainer anoncvssh openrsync protocols hushlogin directory permittty drwxrwxr securely username services imported makefile commands profile openbsd replace archive restart another changed publish crontab results cvsroot ircnowd certain working reading cronjob libexec syncing perhaps example because already assumes whereas useradd writing created export chroot system should source delete inside stable passwd synced readme bottom logged domain resolv cvsweb mirror botnow except person brogue needed access hosts below guide intro index touch wheel chmod leave mknod mkdir https users total acopm chown ifend first guest found while leaks value match group rcctl false daily looks jrmu from want your ttys with 512b this only path shar like line libz libc will edit zero test also doas code 1001 then html have 4111 sure jail that real null vipw wiki runs org see www set php oct lha apr may aug can usr are bin new was etc dev 444 666 tmp var pwd cat but has gid ftp yes 46 57 16 27 06 0k by 19 29 96 28 cd 26 db 48 04 42 17 ln 3 +Cvs.Commit:1634443091: Cvs.Anoncvs Cvs.Cvsweb Cvs.Intro : automatically recommended directories permissions repository releasetag committers maintainer containing afterwards directory somewhere ownership committed transform vendortag shortcut checkout existing reponame imported original argument replaced specific redirect drwxrwxr granting explains groupadd properly ircnowd working cvsroot provide profile example anoncvs changes tracked usermod suppose located setting current cvsweb should source delete access folder module inside safely cannot author brogue result botnow create sample before actual rights export decide bottom mkdir files named works chown first write acopm since total shell wheel start chmod intro guide begin want will code your each need else this doas then with make that path them from have type just give jrmu omit when 512b also like init once note into time echo look does and lha oct one apr may aug new see fix any don put 06 0k 27 10 16 cd 29 57 17 04 42 11 46 26 48 19 rf by 28 3 +Cvs.Cvsweb:1634441301: Openhttpd.Perl : cvsrepositories configuration installation directories afterwards repository containing openrsync openhttpd challenge location chrooted example cvsroot fastcgi rcsdiff modules assumes request rewrite pkg_add crontab readmes running cvsweb delete commit should server listen attach inside strip daily local share coded known added array match other mkdir which first chown uname acme this path each perl port file hard will well doas then need user rlog make sure bin etc end can usr and txt doc set for var www you of up be cp 80 2 +9.Cvsfs:1634302731: : fingerprint sshthumbs anoncvs openbsd connect cvsopen install cvspipe mounted strcmp method 9front return cvsfs apply patch extra then host this 2021 want home gets sess org nil bin src add you lib 9fs fri 229 oct tgz tar ca 13 to 16 15 it xf 40 09 cd 12 mk of if rx 7 +Openbsd.Sysupgrade70:1634295720: Openbsd.Dump Openbsd.Restore Openbsd.Cu VPS.Intro Openbsd.Buyvm Openbsd.Top Openbsd.Syspatch : configuration automatically installation sysupgrade70 substitute particular succeeded upgrade68 operating sysmerge openbsd6 syspatch packages shutdown messages version generic restore console pkg_add patches reading serial reboot should attach recent system number amount proper domain begin files cores buyvm after intro check amd64 https uname error title guide first quick using next this doas note then sure says your type find want need will pear have html make view beta dump some most back that faq for org top www vps run png any and fix may see man now vnc ram vmm can use are uu if of 98 my 1 2 3 5 +Openbsd.Ilines:1634265392: Openbsd.TeamIrcIlines : teamircilines registering connections ambassador configured addresses pineapple providing greetings exception providers authorize currently bouncers possible redirect business taichung accounts contact details website network openbsd request mailing ircnow jujube banana cherry orange around unique needed adding listed relays public should lemon users reach https grape phone mango 40699 guava peach shell other admin ident limit 6400 0020 ipv6 soon 00b4 will 2605 0030 plum 0434 fc15 05cc free pear have they name wiki page case bots seem week f633 faa1 ipv4 00fe 0010 f8de 069d 05bf 1290 0bb8 2063 071b like you can org 119 per are our 251 173 and 133 znc 141 209 198 137 130 800 700 any 229 240 for 228 box 184 new 458 183 158 888 81 35 to 48 if at 44 by 50 39 38 89 91 +Openhttpd.Perl:1634227713: : 000002285bdc7000 0000022622dc8000 000002282f00d000 000002285c133000 00000228c7e16000 00000228c7de6000 000002282f101000 0000022914fb2000 0000022622dcd000 interesting permissions shibboleth definitely challenge following libraries directory gibberish openhttpd location internal properly creating command libdata slowcgi example libperl libexec content missing scripts execute pthread request fastcgi initial running htdocs chroot server strict daemon echoes create enable listen random figure search copied update inside grpref folder escape rcctl mkdir print start since loads works index guess build chmod perl5 iname these files means which error strip point touch known chown then need null sure make doas some test util this text type just ctrl curl hold next html find libm well port libc into rlib acme turn what conf with www var usr out set bin for one not 500 get use ldd try dev tmp end etc see web put cp my 96 if z +Openbsd.Minetest:1634221131: : denable_postgresql server_description dbuild_shared_libs dcmake_prefix_path denable_leveldb server_announce denable_gettext denable_spatial minetestserver denable_curses server_address serverlist_url denable_redis drun_in_place creative_mode enable_damage dbuild_client dbuild_server denable_sound bind_address dependencies server_name ipv6_server instruction server_url irrlichtmt installing miniontoby worldname something max_users multiple software required optional nickname anything default running created servers welcome openbsd pkg_add github easier ircnow folder ingame config sqlite luajit worlds false clone https check usage mtctl there port true your motd edit full doas wiki host page way org for and off let vps cd be my +Openbsd.Pmwiki:1634220888: : password_bcrypt enablepathinfo password_hash uploadurlfmt query_string connection miniontoby pubdirurl mirroring 104857600 automatic scripturl following directory siteadmin challenge uploaddir cookbook location authuser homepage official authform enabling request uploads rewrite example install written openbsd favicon command fastcgi replace firstly socket htdocs pmwiki config delete listen change server prompt create match https local index clean block httpd there strip looks exist known make body want that much real your with echo edit this need step port well acme like root sure when plz not php www var run fpm max 80 if 2 +Vmm.Devuan-ISO:1634205031: Profiles.Siva : 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b e93d7167a4f5fa9e9fed497770285ba5cf280ba4 grub_serial_command 1_amd64_netinstall devuan_beowulf_3 distributions configuration grub_terminal installation environments connectivity confirmation partitioning nameservers downloading requirement appropriate fingerprint comfortable information participate resolution interfaces sha256sums privileges configured bootloader configures fullscreen connection partitions installing pfifo_fast generating indication networking understand modifying following ronnquist superuser directory processed beginning signature correctly perfectly important installed certified carefully lecturify installer checksums uncomment different verifying mentioned rendering utilities keyserver multicast broadcast passwords reference reloading 115200n8 internet installs continue username displays seperate followed whatever language keyboard timezone prompted standard provided glitches dialogue complete commands directly tutorial sysvinit original selected manually modified filename hostname profiles lower_up loopback imported leaseweb previous contents favorite detached cropped archive default unknown noqueue earlier monitor virtual setting showing options address gateway switch0 netmask changes console whether methods another glitchy package manager without editing replace reloads restart machine already warning follows pkg_add service pakcage cronjob october sudoers crontab instead trusted fingers cancels desired easiest desktop primary columns belongs updated vmlinuz session openbsd picture support attach finish mirror reboot choose system others guided entire static values effect scheme quotes repeat before buffer router scroll should bashrc editor launch export opened chance typing cursor window stable initrd marked survey ignore bottom starts device record master domain second memory locked ubuntu number public unless images lladdr covers topics gmail press setup enter proxy while after shown login write shell until ttys0 entry using usage later vmctl owner there above shows going might works pings ralph error scans found below where texts cdrom needs gonna still qcow2 1024m yours which match linux lines stuck tasks again since video gnupg inet6 small group state qdisc iface https clock 65536 total every guest make must note that path sbin this sure only just have step ipv4 want ipv6 jpeg done type 2021 xxxx root save nano siva then ctrl exit take doas unit from eth0 home also find same disk stop like look 1500 mode next ends qlen 1000 link recv tmux true upon good made dhcp fine kill quit dive some into tiny case grep else once used list will give when base menu more than wait size okay 255 gpg vim iso usr see get ftp var run apt 162 mtu dns won tmp rrq new rsa was etc asc ssh brd dvd vda bit cdt any yes fri via vmm isn yet too few vps img 09 by 87 38 12 b3 b2 07 19 i5 22 27 30 29 32 31 aa cc wq +Vmm.Devuan-Simple:1634204917: Profiles.Siva : 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b e93d7167a4f5fa9e9fed497770285ba5cf280ba4 grub_serial_command 1_amd64_netinstall devuan_beowulf_3 configuration grub_terminal distributions installation confirmation environments connectivity partitioning participate downloading appropriate information comfortable nameservers requirement fingerprint sha256sums pfifo_fast networking interfaces configured connection privileges bootloader partitions understand fullscreen installing generating configures indication resolution signature certified modifying following processed superuser carefully ronnquist directory lecturify checksums beginning uncomment important perfectly installed correctly installer rendering mentioned different verifying utilities reloading keyserver reference passwords broadcast multicast 115200n8 continue installs internet username displays seperate whatever language keyboard prompted followed timezone standard glitches dialogue complete commands directly tutorial sysvinit original selected manually modified provided filename hostname imported favorite leaseweb detached profiles loopback lower_up previous contents default follows changes console pkg_add already replace address machine reloads gateway monitor earlier pakcage showing noqueue unknown restart editing picture netmask without support desktop setting archive whether glitchy package manager cronjob another methods warning switch0 trusted fingers desired instead updated vmlinuz crontab openbsd easiest primary sudoers columns belongs october cancels service virtual session cropped options attach choose scheme finish effect mirror others system static guided values entire reboot router repeat before buffer quotes scroll bashrc should editor launch export opened chance simple typing cursor window stable initrd survey marked ignore bottom starts device record master second memory lladdr unless number public ubuntu images locked domain covers topics until proxy enter there shell while after press shown write using login ttys0 entry usage later setup owner might gmail ralph shows going works pings above scans error found below match needs vmctl gonna cdrom texts still qcow2 yours 1024m which tasks again stuck linux lines video since where https gnupg clock small group state qdisc guest inet6 iface total every 65536 siva note path sbin sure only make have ipv4 done want ipv6 this type must jpeg root xxxx 2021 into save nano step then that just from stop take unit doas exit find ctrl eth0 home same also disk like look dhcp mode next qlen 1000 link ends recv 1500 tmux true good made upon fine kill dive some quit tiny case else grep once list more than will menu wait used when okay give base size 162 dns see 255 brd asc vim iso gpg run ftp usr new bit rrq yes dvd etc ssh was cdt via fri rsa vda any get apt won mtu vmm isn yet too img var vps tmp few b3 b2 07 by 09 38 12 87 19 i5 22 27 30 29 32 31 aa cc wq +Ngircd.RecentChanges:1634152980: : recentchanges bejelentkezni february install october ngircd link 2021 jrmu oper may ssl 10 am 03 11 by 09 at 05 26 pm 16 04 37 44 +Synapse.RecentChanges:1634053195: : recentchanges miniontoby synapse install october created 2021 12 49 pm +Synapse.Install:1634050187: : start_synapse recommended homeserver setuptools activate generate firewall executed firstly python3 command adduser install upgrade options pkg_add profile because account element connect synctl export matrix config domain report create likely fields passwd groups called change expire share place alias certs going there login https right stats using never works class mvenv mkdir shell local which gecos sure make edit yaml such also open fail 8448 your then path have 1010 name only pip3 when just test host want into need this doas fill app try usr don bin yes uid ksh ssh ssl tls cd if no by my 2 +Ircnow.Oper:1634007745: : minutemin training announce unix101 openbsd servers support ircnow rights ngircd finish chanop index https abuse admin wiki team code must duty oper php org znc +Ircnow.Roadmap:1633854882: Ircnow.Servers Bouncer.Bouncer Ircnow.Team Minutemin.Training Openbsd.Openbsd Openbsd.Bitlbee Shell.Shell Www.Www Openbsd.Sftp Openbsd.Pmwiki Openbsd.Php Openbsd.Bchs Openbsd.Gotweb Openbsd.Eggdrop Openbsd.Openrsync Openbsd.Scp Openbsd.Iked Openbsd.Opensmtpd Openbsd.Dovecot Openbsd.Spamd Openbsd.Pf Openbsd.FilePermissions Third.Third Openbsd.Botnow Openbsd.Opensnmpd Openbsd.Identd Openbsd.Asterisk Ircnow.Todo : filepermissions configuration alternatively functionality subscriptions registration centroidblog compilation interactive advertisers transaction marketplace registering programming proprietary blacklists thoroughly connection developers experiment monitoring determined cryptocoin businesses marketing exhausted donations suggested pasteserv telephony automated processes sysadmins tutorials opensnmpd encourage searching automatic teammates minutemin honeyserv configure opensmtpd openrsync firewalls implement analytics software internet accounts asterisk almanack undeadly chrooted disaster fileserv solution services trapserv teammtes nickserv training recovery memeserv possibly playback security features networks platform december netsplit spoofing eggdrops monitors physical directly irccloud androirc backups provide bitlbee hosting openbsd restore testing dovecot support control version aliases improve instant website servers roadmap parties require consent bouncer content storage collect payment ongoing achurch history instead request malware abusive install recruit modules friends keyserv buffer botnow harden switch identd listed ircnow future psybnc gotweb client toggle ilines errors ngircd banned across cannot update issues create defcon pmwiki mibbit quotas source charge finish easily access annual invite profit write https proxy extra since shell elist offer users title email stack other major theme learn blogs using acopm setup yahoo false spamd patch allow party third ipsec build check plans anope based goods ifend these could alert games show page from 2021 hopm what fork free bchs sell bots sftp sale todo each fees iked ipv6 your with that just zncs scan dids turn stun mirc nsfw tree mode path code apps 2022 unix this view vpns find add org fix bin get jan dns 3rd scp buy php www ads cgi vps old sip new src by pf eu +Ssh.Fingerprints:1633819313: MITM.Intro Openssh.Intro Dns.FQDN Nsd.Zone : a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409 4dc3d59ef28733c89f83e0e078b10a4a816e2a04 7251d06cf5cf9312b502388edd93ff924c52a73a 22ccda0cafee42f3e2cc53d5f695244677a1a88f c9a19b42a7165596f0d0e5bfa947232978901dcb ssh_host_ed25519_key ssh_host_ecdsa_key ssh_host_rsa_key ssh_host_dsa_key fingerprints simpletable hexadecimal convenient nameserver algorithm installed qualified reserved protocol requires internet generate openssh hashing publish records example seconds meaning keyword replace include prevent quickly connect keygen making follow stores domain border script period attack format sha256 middle sshfp first which intro using final check fully class added files width putty mitm used time type zone this keys live when uses your then fqdn will four sure with last com ttl can its 100 dns etc md5 nsd run man get of lf by be +Ircnow.Diversity:1633748187: Freedom.Freedom Vps.Vps Shell.Shell Ircnow.Servers Openbsd.Vmmuser Vmm.Configure Vmm.DebianIso Vmm.DevuanIso Vmm.UbuntuIso Minutemin.Bootcamp Ircnow.Goals Ircnow.Minutemin : responsibilities configuration installation experimental oregontrail billionaire recommended participate controlled hypervisor configured guarantees supporting monopolies contribute occasional community operating marketing minutemin corporate devuaniso ubuntuiso debianiso homestead portfolio anonymous diversity volunteer supported business monopoly favorite platform bootcamp planning familiar software offering training machines purchase verified accepted tutorial document proceeds personal welcome freedom payment website warning account provide startup openbsd unix101 virtual private servers vmmuser network towards digital against upgrade running through created ircnow inside elites future system center rigged finish rfloat attach answer mutual resume option ensure guides social claims charge friend method purely source there month shell users goals equal weeks learn apply admin using below staff dream refer photo media today email title guest trial agree width build usage 50pct send test that help blog with tech this keep able your find must will 5usd over make code join read love ceos four made life need add can who any one get how and set vps see new was don png org by 4 +Ircnow.Linux:1633668714: Freedom.Freedom Vps.Vps Shell.Shell Ircnow.Servers Ircnow.Goals Ircnow.Minutemin : configuration installation documenting billionaire participate oregontrail supporting controlled contribute hypervisor occasional monopolies homestead operating portfolio community corporate minutemin volunteer anonymous marketing supported planning business offering verified favorite purchase proceeds platform software accepted machines personal monopoly tutorial provide servers network unix101 account startup against welcome digital freedom openbsd created private running towards payment website virtual upgrade rigged ircnow attach elites future inside system charge ensure answer rfloat center option method source resume mutual friend finish social refer there goals staff build 50pct below shell media photo admin using today dream apply claim equal users email weeks month title width guest trial usage linux your help find send over join test need call with blog made that keep able love 5usd four this ceos tech code life one vps was any can get org who add and png new how vmm don set by 4 +Opensmtpd.Test:1633615189: Email.Email Netcat.SMTP Opensmtpd.Openrelay Openbsd.Opensmtpd : enhancedstatuscodes unlocktheinbox deliverability managedomains dkimvalidator disposition destination senderscore blacklisted fakedomain otherplace postmaster samplemail afterwards deployment validation pretending googleapps improperly configured opensmtpd recipient autoreply rejection dmarctest following glockapps localhost resources openrelay spamscore addresses mailtest e57f9a36 verifier fromname accepted criminal delivery followed sendmail external 36700160 complete multirbl 8bitmime 379ec228 testing example pleased sending message running similar appears invalid receive another working spoofed charlie foxtrot replace content subject charset ruleset openbsd process version toolbox checkmx client victim server letter netcat should likely itself create anyone port25 tester forged tested output though inline passes notice alpha hello enter hotel delta esmtp bravo using title https press tools flags valli gmass basic first hosts allow never plain ascii known comes sure with some make meet your helo want data rcpt will also when here only what auth look this echo golf time says even quit type next then ehlo ctrl were able help text size file 354 url 250 get fix don use 220 see 163 new bye 221 www how and ssh log try dsn spf can 143 550 are 81 38 +Opensmtpd.Troubleshoot:1633598936: : 2fee16ca81516ba5 366fb2a5ce9a0764 366fb2a7e3bb9d4b troubleshoot oddprotocol permissions abnormally delivered processor opensmtpd envelope delivery dkimsign private exited denied issues result 63168 71633 delay evpid 50276 host jrmu stat root rcpt user from this mail lost file warn key etc org can jun due mda 04 ok 0s 08 01 30 +OpenBSD.ResetPassword:1633578967: : resetpassword automatically recommended immediately hypervisor lecturify following passwords bsdforall operation finished username existing hostname progress shutting accessed machine without already virtual openbsd reading probing replace example loading command booting console message usually because perhaps ircnow retype failed minute reboot vmname forgot lostpw cdboot serial select passwd unable escape should easily again mount start vmctl shell amd64 means delay 1022m https error title first using your com0 this disk 638k real then from fsck want stop root were need time have wait down once same html faq8 get see any vmm www tmp usr var can etc has not net two urw cd0 hd0 ssh a20 mem pc0 e0 53 9 +Letsencrypt.Expired:1633445210: : letsencryptrootcertexpire implementations 20211001073034 certificates intermediate authorities recommended permissions complained validation preferably authority fullchain different operating unpatched signature switching includes deleting versions normally errata69 validate browsers solution properly undeadly syspatch patching provided services openbsd running variety example _ngircd however expired clients website bouncer trigger private buypass deleted missing another testing command present trusted systems firefox openssl article windows release problem because server serves chroot single repeat public debian stored inside should copied daemon reject signal offers errors verify reason reload before issued action first chown https might irssi older would every fixed certs their print still while extra users seems where lines about third email pkill place after make work home doas best your that sure copy into well send wide edit mutt also this will they have used mirc help html exit with from lynx blog last then znc are org cgi but try w3m www can one pem etc awk key had dst tls has sep set hup its by 09 13 x3 cp mv go +Mutt.RecentChanges:1633306320: : recentchanges september connect mutt 2021 mkf at 06 01 by 10 am 8 9 +Hopm.RecentChanges:1633306320: : recentchanges miniontoby september install telnet hopm 2021 mkf at 27 10 06 13 am 07 +Pmwiki.RecentChanges:1633306320: : recentchanges miniontoby september simpleurl install updated pmwiki april 2021 punk bit 22 46 24 29 +Openbsd.RecentChanges:1632894841: : troubleshooting filepermissions unboundadblock bejelentkezni tcpresetflood amplification delphinusdnsd mailopenproxy recentchanges httpopenproxy matterbridge sysupgrade68 squirrelmail sysupgrade69 sshbackdoor recommended tcpackflood gophernicus vmminstall oscommerce zncsupport miniontoby factorauth ngircdlink zncmodules opensmtpd openhttpd september loginconf passwords install67 checklist craziness noxturnix compiling install68 upgrade67 copyright install69 dkimproxy pfbadhost disklabel openrsync staticnet pftesting wordpress february december dokuwiki netadmin syspatch leafnode november security zncdaily announce zncadmin phishing vmmlinux rstflood dnszones udpflood pfstable training minetest openbsd january smarter tcpdump vmmuser censord backups anycast ongoing dovecot newdisk sockets eggdrop updated baytuch sshkeys easyapp bitlbee achurch oidentd arthur netcat client pmwiki august wraith caesar gotweb base64 growfs relayd police setuid blocks botnow pylink rbldns longer psybnc guides delete tcltls ilines chroot first pppoe added dmarc irssi audit clean npppd vhost anope chewy shell tcpip doesn buyvm xterm still march ports fdisk fixed mlmmj navic books intro acopm links mtctl abuse rcctl bsdrd 2021 jrmu ddos 2020 june hopm sudo cgit bchs ssdp sftp ipv6 ntpd team code perl acme ping dima slrn july rdns nate work edit iked doas mkf may php spf fmt inn dig bbb fdm uim gry sic pfa pkg fgm wiz two 09 42 04 31 58 11 56 06 47 05 03 15 19 10 39 18 12 13 26 33 17 34 59 32 27 48 23 07 36 25 08 22 00 55 53 24 46 28 16 51 01 38 29 44 30 43 54 40 14 37 49 41 57 50 52 45 35 +9.Fonts:1632849183: : dejavusansbd recommended terminal unicode located virtual bigger lucida night fonts mode pelm make find all for lib the rio bit are 28 18 to bf ls vt 9 +Openbsd.Install69:1632765554: Openbsd.Buyvm Vps.Intro Openbsd.Bsdrd Openbsd.Staticnet Openbsd.Netmask Openbsd.Unbound Openbsd.Fdisk Openbsd.Disklabel : automatically installation verification dynamically information nameservers reconfigure cloudflare substitute unverified guaranteed particular installing formatting networking eventually megabytes available sometimes install68 addresses described allocates installed interface hopefully selecting staticnet install69 disklabel specified otherwise purchased username enabling manually packages timezone location password internet physical headless hostname properly replaced pathname matching security download keyboard probably software continue disabled autoconf accident possible includes careful correct warning openbsd drivers forever without instead default netmask gateway subnets connect coconut example causing benefit windows routers unbound opennic special hundred process reading present mistake seconds nothing consult concept options because before change layout reboot please attach ircnow verify domain number length prefix inside manage either unable google during should bootup guides cancel virtio simple always though needed system panel which press buyvm email enter disks intro wrong erase would bsdrd fdisk https below given amd64 right after waste start later twice often power flash about trick there login allow needs title first worry check bring chose users quick fruit short leave note ftp4 will make else sets ipv4 want like type sshd they your that skip then dhcp root wait ctrl just very data have done vio0 lack hole base risk from used each back huge faq4 2605 6400 0010 over html when safe ipv6 this same last hard sure must long only may png org few run vps and www vmm web off iso dns usa its 111 any cd0 but 255 ips 127 em0 168 192 had see 48 15 14 66 37 +PmWiki.PageTextVariables:1632736037: PmWiki.Name PmWiki.FullName Cookbook.InternationalPTVs PmWiki.PageTextVariables-Talk PmWiki.TextFormattingRules PmWiki.PageDirectives PmWiki.PageVariables PmWiki.PageListTemplates PmWiki.IncludeOtherPages PmWiki.PageLists Site.PageListTemplates Site.LocalTemplates PmWiki.ConditionalMarkup PmWiki.BasicVariables : defaultunsetpagetextvars defaultemptypagetextvars textformattingrules specialreferences pagetextvariables includeotherpages usageincludedpage internationalptvs pagelisttemplates conditionalmarkup specificvariable nametoyearmonth definitionlists usageotherpage localtemplates pagedirectives basicvariables automatically administrator usagesamepage singlelineend pagevariables byaudienceend conditionals partialmatch transylvania installation new_patterns experimental groupheader groupfooter information mockingbird replacement permissions alternative cellpadding effectively calculated selections khandallah regardless pagetolink documented namespaced characters explicitly specifying developers withincode containing underscore limitation expression evaluated markupend delimited pagelists available processed undefined following displayed requested delimiter yyyymonth automated inclusion strtotime mountain asterisk cookbook defining pagename fullname examples function standard matching assigned remember monthnum multiple surround ordering accessed contents strftime followed opposed without written matches assigns caption summary declare printed another strings varname command ruapehu returns version caching formats testing address follows writing resolve simpler through headers footers comment sidebar becomes defines country creates visitor current letters created natural crisses linkme always before output suburb values pmwiki config digits pcache cannot render having custom around braces hidden spaces quotes dollar source normal option cached border recipe needed arrays horiz class three there their above first found false never using paris curly addis ababa equal those colon store forms doesn works taupo latin point below finds roman shown ascii cases ifend fmtpv wikis being apply means more lane this dash will from that else when even then talk 1313 thus only seen also have want html them sort slow what read city lake pull like data some user site made main such must one won you etc 121 don but has php any non yet 10 of 07 6 4 8 +PmWiki.LinkVariables:1632736037: PmWiki.LinkVariables PmWiki.Links PmWiki.PageVariables Cookbook.PagePaths PmWiki.BasicVariables PmWiki.InterMap Cookbook.DotsInLinks PmWiki.PageDirectives Category.PmWikiDeveloper : enablelinkplustitlespaced makepagenamesplitpattern enablelinkpagerelative linkpagecreatespacefmt makepagenamefunction makepagenamepatterns enableredirectquiet linkpagecreatefmt linkpageexistsfmt wikiwordcountmax pmwikideveloper linkcategoryfmt qualifypatterns linkpageselffmt pagedirectives createlinktext basicvariables intermapfiles pagenamechars pagevariables linkvariables documentation categorylink replacements dotsinlinks fmtpagename referencing imaplinkfmt pagepathfmt conversions currentsite encountered defaultname crossgroup cb_toupper characters expression containing consisting samedomain addlinkcss wikigroups othergroup urllinkfmt additional pmwikilink occurrence capitalize categories attempting different including currently following wikilinks pagepaths parameter redirects advisable resources httpslink cookbook examples elements existent absolute httplink sequence standard settings converts defaults advanced selflink publicly audience nofollow included shortcut existing various linkurl control linkalt display formats schemes styling classes applied disable instead linking enabled maximum entries rewrite strings regular another allowed written summary pageurl already itself number output custom action allows listed change remove likely letter secure unless spaces quotes single admins loaded title_ causes common edited limit array which valid words below times wikis ideas strip lines added after begin first lists order looks value fixed basis local break each this keep html used that zero with from note href sets urls when free only into such most work they have some will way are don one phd two you may can 1st see etc ftp has via 000 non php but by 5 2 +Site.Site:1632736037: PmWiki.Skins Site.Site SiteAdmin.SiteAdmin Site.SideBar PmWiki.PasswordsAdmin PmWiki.GroupHeaders PmWiki.Forms : administration passwordsadmin administrators administrative configurations includefailed titlesummary groupheaders pagenotfound information pageactions preferences individual directives protection attributes sitegroup siteadmin templates displayed necessary pagelist intermap contains localcss included changing tableend reading editing sidebar default control version content footers certain website pmwiki access except locked assist entire change cellnr output border search across common create pages width entry style forms apply links skins other quick those name only used some here note then wide need with find menu your and one all are fmt may add new set any 100 php see can by of if +PmWiki.Installation:1632736037: PmWiki.Requirements PmWiki.Upgrades PmWiki.WikiFarms PmWiki.ChangeLog PmWiki.ReleaseNotes PITS.PITS PmWiki.MailingLists PmWiki.Subversion Cookbook.Cookbook PmWiki.Skins PmWiki.FilePermissions PmWiki.InitialSetupTasks PmWiki.Internationalizations Group.Name Cookbook.SimultaneousEdits PmWiki.SimultaneousEdits PmWiki.Troubleshooting Cookbook.PHP Cookbook.InstallOnIIS Cookbook.CleanUrls Cookbook.Standalone Cookbook.WikiOnAStick : internationalizations initialsetuptasks simultaneousedits troubleshooting filepermissions listlanguageend administrators configuration documentation distribution deliberately requirements introductory instructions include_once subdirectory releasenotes installation mailinglists installoniis improvements wikionastick respectively establishing localization decompressed directories dirsetupend customizing temporarily information recommended public_html appreciated overwritten translation accessible containing standalone subversion explicitly installing manipulate temptation sufficient additional stylesheet initialize templates unpacking changelog filezilla activated different wikifarms difficult cleanurls generally languages available installer pubdirurl described webserver ownership obtaining contained executing otherwise important encounter following structure changing upgrades commonly cookbook pagelist contains creating pmwikifr preserve writable instance tracking renaming programs location publicly variable audience explains download pagename portable computer accessed problems software manually platform accounts indexphp wrapper command summary closing because archive created methods windows project usually achieve missing browser systems instead default analyze bundled extract wikilib example current besides opening country scripts shorter website tarball perform machine gzipped offline further recipes provide related guiedit single newwin french report called needed peruse rename should resist always xlpage enable adding manner choice normal winscp easily folder stable layout sample please readme placed latest number rather appear before simply typing during ensure check there files order brief ifend works false pages group first named after unzip above cases again paths umask skins chdir needs chmod issue begin using these about write title found loads reset users might doesn which i18n will with want that also from step look http like have your text unix than this copy runs when make take must pits same then more tips them into each main root data most mode safe just full give zxvf docs some 2777 done sort part feel many hold been well beta home can see tag ftp faq job 002 how tgz org why css www txt fmt two let dot red 755 may eng net my 3b by 3a mv 4 +Site.Search:1632736037: : searchinfostart searchinfoend searchresults configuration cellpadding punctuation cellspacing insensitive characters containing including beginning sitegroup searchbox quotation contains searches examples omitting enclosed followed special content default summary pmwiki string border phrase double single equals quotes groups accent apple words those width slash enter pages marks whose limit colon tasty sign with than less food that find more need will some case name text list also your both same the all pie and for but one use not 100 are to of ù by +PmWiki.MarkupMasterIndex:1632736037: PmWiki.WikiStyles PmWiki.ListStyles PmWiki.Links PmWiki.WikiWord PmWiki.Categories PmWiki.InterMap PmWiki.Uploads PmWiki.LinkSchemes PmWiki.Images PmWiki.TextFormattingRules Cookbook.OutlineLists PmWiki.BlockMarkup PmWiki.PageDirectives PmWiki.Tables PmWiki.TableDirectives PmWiki.GroupHeaders PmWiki.CommentMarkup PmWiki.PageVariables PmWiki.IncludeOtherPages PmWiki.PageTextVariables PmWiki.ConditionalMarkup PmWiki.PageLists PmWiki.TableOfContents PmWiki.Forms PmWiki.WikiTrails PmWiki.PageListTemplates PmWiki.MarkupExpressions : textformattingrules markupmasterindex includeotherpages pagetextvariables specialreferences pagelisttemplates conditionalmarkup markupexpressions pageeditcontrols tableofcontents tabledirectives otherdirectives local_document pagedirectives divisionblocks imagesasimages spacewikiwords postingmarkups wikigrouplinks intermaplinks nogroupfooter strikethrough commentmarkup inlinemarkups externallinks tablesanddivs pagevariables bulletedlists functionality nogroupheader imagesaslinks searchresults linkwikiwords internallinks preformatted blockmarkups introduction groupheaders outlinelists alternative plaintables _subscript_ superscript conventions backslashes startofline linkschemes uploadlinks wikiwikiweb parenthesis parentheses linkmarkups description horizontal emaillinks wikitrails categories monospaced wikistyles liststyles characters frequently tabulation emphasized definition paragraphs attributes attachlist structured underscore linebreaks groupname pagelists searchbox numerical anonymous including markupend multipart accesskey trailpage signature wikipedia arbitrary unordered encrypted important signified delimited pagename metadata noheader nofooter included concepts keywords includes separate noaction provides vertical contains headings category indented password wikitext inserted question emphasis produces checkbox floating replaced addition redirect tableend cookbook textarea supports messages multiple centered display example process applied uploads default another someone enctype caption general hanging decimal aligned columns applies escaped deleted smaller broadly follows noright notitle spanned newline briefly section summary address checked pmwiki spaces quotes cellnr enable titled anchor though mailto create deeper noleft rframe bigger strong divend within clears author number phrase answer single gopher method select authpw hidden submit rfloat lframe elseif lfloat value input first page2 known forms page3 lines radio paras page1 class below reset ifend param label learn blank pipes thumb joins colon https roman 200px width could alpha also time tool used most from file path rows this read html cols excl val1 val2 save news more item next date code only args each that will even see xyz abc how any can org www src geo gif png viz url toc tel nap ftp pdf odt bob fmt by 80 my +PmWiki.Search:1632736037: PmWiki.WikiTrails PmWiki.PageLists Site.PageListTemplates Site.LocalTemplates Cookbook.PagelistTemplateSamples Cookbook.Cookbook PmWiki.PagelistVariables PmWiki.Search Site.AllRecentChanges PITS.PITS Group.Name : pagelisttemplatesamples enablepagelistprotect searchboxinputtype pagelistvariables allrecentchanges pagelistrequest onegroupdescend searchpatterns pagesearchform localtemplates documentation automatically searchresults incorporating searchboxopt permissions description customizing customized parameters directives summaryend restricted determines wikitrails specifying documented targeting pagelists according different predefine backlinks available reordered generates clusters cookbook searches ordering specific returned filtered disables advanced examples searched function required anywhere criteria targeted relevant elements together tracking directly tableend instance provides addition readers certain authors recipes numeric instead message neither another regular smaller powered strings entered italics default formats tweaked content produce options appears display visitor exclude maximum defined control whether editing pmwiki action reveal 3dname exists typing simply border anyone create remove styles layout select number capped normal groups sorted engine 300pcx rframe allows if2end equal until title width based while false shown basic about these above using issue their count boxes below cases ifend value names pits expr that this from cell size also each only used sets site will text font uses view such many more than data with ptvs note into work are and fmt can 100 see has try etc but run top by of 20 35 +PmWiki.Uploads:1632736037: PmWiki.PmWiki PmWiki.Images PmWiki.UploadsAdmin PmWiki.WikiGroup PmWiki.UploadVariables PmWiki.PageDirectives PmWiki.WikiAdministrator PmWiki.Passwords PmWiki.PasswordsAdmin Cookbook.Attachtable Cookbook.AttachLinks Site.PageActions PmWiki.AvailableActions Cookbook.UploadTypes Cookbook.PreventHotlinking Cookbook.LinkIcons : enableuploadversions preventhotlinking wikiadministrator availableactions uploadnamechars uploadvariables pagedirectives passwordsadmin uploadmaxsize configuration imagetypesend automatically international uploadsadmin unexpectedly restrictions intermediate downloading attachlinks recommended distributed attachments parentheses attachtable uploadtypes replacement pageactions executables information unsupported characters webservers sufficient incomplete individual attachlist workaround authorized extensions restricted determines unsuitable configured displaying referenced identifier uploading replacing attaching directory appending file_name groupname installed linkicons following beginning kilobytes displayed otherwise wikigroup accessing depending currently customize embedding behaviour commented eliminate organised filetype security uploaded filename disabled possible instance original includes modified pagename brackets directly notation cookbook followed location megabyte increase existing addition received deletion fragment audience organize displays archives enabled missing without correct summary example desired require strings another against further browser present removal default deleted renamed removed reasons feature someone scratch running listing 1000000 whether instead control viewing whereby specify already becomes authors details markup limits allows pmwiki either appear spaces images listed symbol office resume system common change simply recipe offers syntax double itself others should letter groups mouse shown mydoc files stuff their cache adobe query after video false edits known local there newly write store pages still newer clear check names click audio blank delta sizes note2 about using panel first wants lacks epub when misc mpeg also jpeg flac docx opus webm webp wbmp that text user site over html only same pptx svgz http make free have area hide does this such like been from wide each blue used host them than look 50kb exit then both fake your more just will sure tool part can php box url abc gif see and per any why has jpg png 1mb nix txt old tmp may yet css psd eps pdf rtf mdb xls swf dox kmz kml dvi odg tip wav mp3 xcf ogg odp ods odt hqx rpm tgz zip ogv mkv wmf mpg mp4 via ftp faq dot put go 7z qt +PmWiki.Forms:1632736037: Cookbook.InputDefault PmWiki.OtherVariables Cookbook.FormValidation Cookbook.FormExtensions Cookbook.InputFormsAndJavaScript PmWiki.PageLists Cookbook.PmForm Cookbook.Fox Cookbook.Input Cookbook.WikiForms Cookbook.ProcessForm : inputformsandjavascript standardinputcontrols enableinputdataattr id_of_the_datalist field_attributes othervariables formvalidation formextensions formnovalidate accessibility autocomplete inputdefault positionally enhancements counterparts description suggestions alternative processform placeholder immediately unsupported describedby definitions convenience processing characters parameters specifying compatible explicitly additional directives labelledby formatting checkboxes different reference invisible libraries displayed specified separator lowercase arguments markupend pagelists following wikiforms maxlength accesskey searchbox suggested selection including dlist_id contains fullname expanded browsers password previous selected wrapping sequence attached franklin anywhere disabled included existing multiple textarea cookbook allowing newlines tabindex optional readonly supplied required advanced explains username actually creation clicking authorid formname pagename detailed directly elements enclose example current setting pressed checked general between receive letters enctype options initial 0beta45 onwards pattern uncheck written creates summary firefox replace caniuse omitted assumes assumed notably accepts another recipes applied correct appears feature filters shouldn output action ensure chrome quotes starts custom typing safari having inline method spaces simply recent hidden values usable pmwiki pmform opened inside submit allows causes handle prompt inputs fields common second dashes config button number tables syntax little terms focus title first later class their alpha basic needs latin typed opera https types radio html5 named after these gamma links using begin doing state below group fully reset knows image doesn pages email login often block found embed note when that size this will with your post menu most ends addr also have give them down like drop nbsp even null step file what fill ones item cols then must dl_2 used jane same bold dl_1 more into from site some lynx edge msie role see two url tag how via bit get abc 808 src has w3c its css php min org www yes 30 +PmWiki.UploadVariables:1632736037: PmWiki.Uploads PmWiki.UploadsAdmin PmWiki.UploadVariables Cookbook.Attachtable PmWiki.PathVariables PmWiki.LinkVariables PmWiki.AvailableActions PmWiki.BasicVariables : makeuploadnamepatterns uploadredirectfunction enableuploadoverwrite enableuploadgroupauth enabledirectdownload enableuploadversions linkuploadcreatefmt uploadprefixquota imaplinkfmtattach availableactions uploadnamechars uploadblacklist uploadvariables unconditionally uploadprefixfmt uploaddirquota createlinktext administrators basicvariables pathvariables configuration uploadpermadd alphanumerics linkvariables uploadmaxsize uploadpermset uploadextsize automatically installations replacements uploadsadmin authenticate uploadurlfmt attachtable attachments permissions overwritten recommended overwriting information underscores limitations insensitive characters additional impossible attachlink everything containing downloaded previously wikigroups successful expression determines overriding definition cb_tolower uploading displayed extension downloads wikipedia timestamp directory forbidden stdconfig depending pubdirurl webserver increases different organized normalize currently lowercase arguments groupname protocols operating converted addresses otherwise password defaults sitewide uploaded together htaccess location attached directly cookbook obtained requests writable conflict meanings disallow strongly filename stripped override executed sequence pagename callback trailing contains software included charater overall linkurl because changed 1000kib instead present usually browser renamed derived already maximum process initial various systems unicode setting special defined letters markups regular hyphens example allowed protect summary applied website account mistake strings should custom bypass causes apache delete pmwiki unless spaces called dashes values exists posted allows stored common 100kib script before unable forget octets danger digits cannot return which doing newly files 25mib using links array local order means error names first those these where could alnum being style needs since class still after bytes 50000 delta given users pages occur such line this when 2004 wasn 0444 with full test unix href sets true move dots note your 0604 nbsp last part same have will also only some from 2013 know used save must else that ajax what 1024 2mib 1mib 2gib edit come deny than even copy may php see one cgi and txt zip try but why old ssh ftp via don 403 any xff x80 +PmWiki.SitePageActions:1632736037: Site.PageActions Cookbook.Cookbook PmWiki.AvailableActions PmWiki.BasicEditing PmWiki.Skins PmWiki.WikiStyles PmWiki.LayoutVariables PmWiki.AccessKeys Site.Preferences PmWiki.Internationalizations PmWiki.Links PmWiki.PageVariables PmWiki.SitePageActions PmWiki.ConditionalMarkup PmWiki.DocumentationIndex PmWiki.MailingLists PmWiki.PageDirectives : internationalizations documentationindex conditionalmarkup markupmasterindex availableactions layoutvariables sitepageactions settmpldisplay pagedirectives defaultactions administrator corresponding conditionally htmlstylesfmt pagevariables pageactionfmt ak_backlinks translations druckansicht translatable basicediting mailinglists information diagnostics essentially differently preferences permissions explanation corresponds bearbeiten authorized ak_history overridden particular substitute conditions properties wikistyles difference accesskeys controlled background unindented convenient displayed including languages explained unordered depending ak_attach whichever following ak_logout siteadmin generally currently statement otherwise questions hopefully locations attribute formatted shortcuts fullname noaction historie defaults commands replaced cookbook explains actually elements together wikicmds nofollow attached succeeds multiple browsing generate bulleted pmwikide property sections contains brackets audience pointers normally security displays keyboard profiles ak_print answered applied complex example ak_view already feature context require defined defines because opposed artikel browser closing loading working between follows locally instead summary phrases prompts setting support scripts markups perform shipped targets ak_edit sidebar include enabled version helpful consult viewing comment english allowed unusual expands authors xlpage upload notice entire appear easily inside starts rights people source places causes hiding sooner number exists divend allows viewed either tables leaves others inline second simply recipe handle simple marked enough itself things delete search output authpw should tells tasks first would above since pages later about mouse block skins shows found model drawn makes given being ifend noted using names group lines prefs empty finds named build items color class float apply where apart shown below there brief gives enter with they that this both will been used like http from them size says wish your more what easy very some lets only look test ends just take many thus user true next also good most each have lots even much span word case blue then see css are org top rel can has www way php bit may by 0 2 +PmWiki.OtherVariables:1632736037: PmWiki.OtherVariables PmWiki.FmtPageName PmWiki.SecurityVariables PmWiki.PageVariables Cookbook.HttpVariables Cookbook.MoreCustomPageVariables PmWiki.PageTextVariables PmWiki.PagelistVariables PmWiki.Forms : defaultunsetpagetextvars defaultemptypagetextvars enablerobotcloakactions morecustompagevariables enableinputdataattr somecomplexfunction pagetextvariables securityvariables markupmarkuplevel pagelistvariables pagelistcachedir maxpagetextvars formattablerow othervariables substitutions corresponding httpvariables implications pagecachedir conditionals handlebrowse fmtpagename replacement permissions previewpage interpreted pmwikiauth apparently accidental particular critically attributes processing classified handleedit addslashes parameters frequently expression subsequent definition evaluation injection recursive passwdvar providing otherwise generated reference efficient directory beginning determine depending evaluated different following something displayed functions forbidden internal possibly explicit cookbook instance contents defining actually accessed rendered replaced positive sanitize avoiding prevents linkimap elements controls changing contains intended writable displays disables examples thousand _request strftime insecure problem warning effects formats varname produce created defined execute nothing caching integer enables endless whether correct finally several setting capture globals summary pattern allowed greatly current rebuild quotes should single mytext inside server escape values places robots system during string output either stored config making faster simple passed change engine accept reduce allows simply having anyway always please better recipe which doesn today myvar fmtpv there again frame added folks array 10000 entry could above means pages cases where loops these green being times block valid speed would forms index extra links work this that than from each fmtv need when note used code with they make like stop zero down null have then must load near html many thus blue same very will once user also most hide gets urls date read what yyyy yet php one see key can how 500 you won don its may has was had new due of by +PmWiki.EditVariables:1632736037: Cookbook.NotSavedWarning PmWiki.EditVariables Cookbook.EditHelp Cookbook.EditTemplates PmWiki.SecurityVariables PmWiki.Drafts Cookbook.FixURL Cookbook.PreviewChanges PmWiki.BasicVariables Cookbook.ROSPatterns Category.PmWikiDeveloper : enableuploadauthorrequired enablepostauthorrequired enablenotsavedwarning enabledraftatomicdiff enablepreviewchanges enableguieditfixurl draftactionspattern enablerevuseragent enableeditautotext defaultpagetextfmt autocreatetargets securityvariables postrecentchanges enablepublishattr deletekeypattern edittemplatesfmt enableguibuttons editredirectfmt page_parameters newpagetemplate pmwikideveloper handlebrowsefmt enablerosescape saveattributes basicvariables automatically editfunctions handleeditfmt editvariables array_unshift customization authorization configuration replaceonsave contributions functionality applications diffkeepdays enabledrafts ispageposted pagenotfound replacements array_splice pageeditform specifically intermediate preg_replace highlighted conjunction rospatterns pageeditfmt draftsuffix unpublished diffkeepnum flexibility roepatterns information recommended previewpage distinguish autocreated restorepage subsequent selections expression publishing characters manipulate array_push redefining categories surrounded javascript customized predictive additional definition specifies revisions displayed translate sitegroup otherwise determine graphical specified something uploading examining homepage optional defaults pagename suppress existent handling versions contains possible contents existing sequence pressing standard fullname postpage cookbook prevents complete attempts handlers actually disabled inserted edithelp replaced browsing uploader requires rendered examples category whenever signaled tracking creation previous encoding identify history 0beta45 removed between request elapsed initial escaped enables deleted editing minimum defined related authors instead browser entered whether toolbar provide feature without changed specify another current posting recipes element process setting scripts special leaving notably bullets regular similar missing summary visible editors records smaller include addons loaded writer called edited latest pmform useful please saving little rather spaces update single allows output exists entire should causes length string cancel appear number before inside regexp markup happen syntax those which sends pages every blank files older using empty edits after below value built first since until level saves still newly where years based least unset links about turns above dates their leave names added ctime diffs limit clear will them than need just from used more sets that this adds near 2000 bugs html show disk like list they code icon area note done kept part 3650 main into many lost only less want have skip your thus word true tell sent next such 117 php top see gif 5th may nor isn now non has few by of 30 +PmWiki.InterMap:1632736037: PmWiki.WikiWikiWeb Site.InterMap PmWiki.Variables Cookbook.RelativeUrls Cookbook.RelativeLinks PmWiki.LinkSchemes PmWiki.WikiFarms PmWiki.Upgrades PmWiki.LinkVariables PmWiki.BasicVariables PmWiki.PathVariables : customincludeend startingpoints basicvariables administrator relativelinks intermapfiles linkfunctions linkvariables pathvariables installation substitution localization relativeurls intermediate wikiwikiweb linkschemes definitions performance substituted distributed pmwikihome stonehenge somepathto precedence controlled considered following sitegroup converted markupend mapprefix directory wikipedia reference shortcuts different wikifarms frontpage interwiki developed megaliths currently scripturl supported sensitive localmap meatball official prefixes includes produces cookbook document anything matching pagepath linkimap audience upgrades defining possible directly thiswiki thispage bracket achieve england entries scripts article mapping changes feature partial defined example farmmap penalty however pageurl various sources checked highest follows special summary default becomes between usemod format syntax stands lowest called jargon system create eadmin pml10n common tricks ensure effect actual method exists within double author middle modify period famous based https takes there place above entry colon doing names order which break farmd cause extra where aware would first wikis ifend about usage other horiz class sites creep after these space like will that into text also just your ones want html when catb edit tips lose line more pics what says over then word main note than else thus pits have host case used txt org can esr see yes php was nor faq cgi bin www via set own get by c2 mb +PmWiki.Blocklist:1632736037: Category.Spam PmWiki.Security PmWiki.Passwords PmWiki.PasswordsAdmin SiteAdmin.Blocklist PmWiki.PageHistory PmWiki.WikiAdministrator Cookbook.SharedPages PmWiki.PageVariables : blocklistdownloadrefresh enableblocklistimmediate blocklistdownloadfmt blocklistmessagefmt automaticblocklists blockedmessagesfmt wikiadministrator blocklistactions enablewhyblocked blockbyipaddress blocklistpages siteadmingroup countermeasure administrators passwordsadmin automatically inappropriate customization wikivandalism pagevariables configuration unfortunately intermediate difficulties blocklisting distributed expressions sharedpages information passwording interpreted downloading pagehistory permissions insensitive editability maintaining downloaded counteract controlled compatible badcontent moinmaster containing specialist attractive ultimately determined recognized experience capability relatively particular legitimate specifying unblocking explicitly impediment configure following addresses downloads sometimes operation directory arbitrary character overeager refreshed offending available protected installed described formatted filtering processed offensive performed unwelcome effective currently automated generally developed prevented replacing cookbook external spammers routines existing category response provides interval contains elements specific followed wikispam managing security original toughref unwanted features boundary nonsense hovering publicly standard location rankings multiple ignoring possibly postings anywhere retrieve excluded restrict whenever simplest measures detailed postdata defaults chongqed increase updating audience incoming regular entries phrases created against problem neither instead usually various changes editing through checked follows systems traffic setting targets comment tedious several reasons exactly pattern letting authors attempt another recipes example visitor viewing assumed enabled omitted summary applied however helpful website seconds defines updated sources causing version looking request leading pmwiki engine basics search longer ranges listed effort allows checks simply number become groups common copies should string adding higher really moinmo matter itself except values blocks twelve others manual entire nature saving harder widely markup larger anyway delete middle stored ignore locate accept tells 86400 regex might being array built every above 43200 local hurry entry terms which their given these after below force input sites known hours since saved moved order links added doesn there cases mouse often posts plain match flood shown drive taken slash occur bcial makes been text farm also ends that only into from with type each work must find keys same they will line perl http told tend pcre zero then like uses says this wish scan plus most more read name many such have well used once upon just your note made them open easy next deal file else pose week past best 2013 php org new too see won day don has raw url may one isn net via 10 7 +PmWiki.BackupAndRestore:1632736037: Cookbook.Cookbook PmWiki.Uploads Cookbook.BackupWithRsync Cookbook.TwoWayMirroringWithRsync Cookbook.BackupPages Cookbook.BackupHTMLZip : twowaymirroringwithrsync backupandrestore backupwithrsync your_user_name customisations backuphtmlzip configuration pmwikiuploads alternatively your_password miscellaneous introduction installation distribution periodically directories attachments sourceforge permissions limitations information public_html accordingly backuppages everything accessible attributes procedures background myp4ssw0rd directory following archiving snapshots filezilla appending ownership restoring explained your_host installed download separate cookbook packages normally restored executed complete gnuwin32 yourhost megabyte simplest probably software archives slightly dictates filename writable obtained contains uploaded december commands explains automate publicly practice yyyymmdd connect project details minimum created address letting monthly mylogin running seconds account enabled keeping simpler summary systems include replace machine backups verbose windows mailing scripts recipes similar folder 200512 secure method called assume thread proper client either easily select before making parent unique server finish myhost supply better visit named doesn chmod local group build whole other using where large users space daily gmane stamp 20317 skins title start above under files about small since world mdash basic along xargs comes avoid these both each data site will want from like http find type zxvf move home tahi date zcvf that them just only bare plan good also this list some 7zip wget hard disc line have when lftp path uses give once test made 2777 more wary cron css nix 755 can see net via was www put 123 234 now php had has web usr gz rf if 30 np nv 56 67 +PmWiki.ContactUs:1632736037: PmWiki.Download PmWiki.Installation PmWiki.MailingLists PmWiki.HowToGetAssistance PITS.PITS PmWiki.Petko PmWiki.PmWiki : howtogetassistance collaborative mailinglists 20disclosure defaultgroup installation disclosures information downloaded developers objections publishing 20security management questions installed wikititle contacted webmaster community contactus scripturl contains software tracking starting reported pmichaud directed website current patrick someone powered primary content summary editors subject please pmwiki public mailto system author should around owners source server petko https pobox visit about yotov their asked which other pages equal issue reach pits than path talk look only that them open need with this else read core have nbsp also expr bugs ways www org and not you can who see via 5ko if be dr cc fr by +PmWiki.AvailableActions:1632736037: PmWiki.Security PmWiki.Passwords PmWiki.ChangeLog PmWiki.SitePageActions PmWiki.SecurityVariables PmWiki.PageHistory PmWiki.UploadVariables PmWiki.BasicEditing Site.AuthForm PmWiki.LayoutVariables PmWiki.RefCount PmWiki.Search PmWiki.WebFeeds PmWiki.Uploads PmWiki.SitePreferences PmWiki.DebugVariables PmWiki.CustomMarkup Cookbook.MarkupRulesetDebugging PmWiki.SiteAnalyzer PmWiki.AnalyzeResults PmWiki.UrlApprovals PmWiki.CustomActions Cookbook.UserAuth2 Cookbook.Attachman Cookbook.BackupPages Cookbook.SearchCloud Cookbook.CodeMirror Cookbook.CommentBox Cookbook.Comments Cookbook.CommentDb Cookbook.ROEPatterns Cookbook.ConvertTable Cookbook.MovePage Cookbook.CSVAction Cookbook.Attachtable Cookbook.DeleteAction Cookbook.DiscussionTab Cookbook.DownloadManager Cookbook.ExpireDiff Cookbook.ImportText Cookbook.MultiLanguageViews Cookbook.RenamePage Cookbook.ListCategories Cookbook.CommentBoxPlus Cookbook.GeneratePDF Cookbook.PmWiki2PDF Cookbook.UploadForm Cookbook.PPDonate Cookbook.PublishPDF Cookbook.ASCIIMath Cookbook.ThumbList Cookbook.Mini Cookbook.RecipeCheck Cookbook.PageRegenerate Cookbook.Reindex Cookbook.SharedPages PmWiki.WikiFarms Cookbook.Sitemapper Cookbook.TotalCounter Cookbook.Trash Cookbook.WebAdmin Cookbook.ZAP Cookbook.ChoiceColorChanger : enablepostattrclearsession uniform_resource_locator markuprulesetdebugging enabledirectdownload multilanguageviews choicecolorchanger cookbookqueryskins custompreferences securityvariables defaultactionsend availableactions sitemapaddgroups sitepageactions sitepreferences downloadmanager uploadvariables downloaddeleted layoutvariables analyzeresults pageregenerate listcategories debugvariables customizations commentboxplus discussiontab sitemapupdate automatically authorization customactions endenablediag scriptactions enableactions configuration administrator begenablediag deleteaction urlapprovals converttable custommarkup incompatible siteanalyzer approvesites distribution deldelattach setskintheme basicediting totalcounter query_string dependencies querystrings purgethumbs colorscheme environment createthumb searchcloud sharedpages generatepdf recipecheck syndication backuppages information cookbookend pagehistory postupload2 roepatterns undelattach attachtable replacement potentially searchterm mechanisms pmwiki2pdf uploadform documented publishpdf parameters skinchange attachment generating analyseend validating actionskin sitemapper renamepage codemirror redirected expirediff production importtext initialize commentdb specified thumbnail csvaction backtrace processed pageindex asciimath userauth2 following somegroup thumblist backlinks attachman searchbox passwords functions wikipedia changelog wikifarms exception provided displays contents webfeeds performs pagename disabled ppdonate internal changing pwchange purgeqns comments movepage refcount actually filename setprefs webadmin clearsky existing orphaned authform username setcolor appended retrieve fileinfo skinname summary desired markups derived columns applied scripts include queries recipes pageurl through phpinfo setlang reindex current missing untrash cleared uploads options visitor unshare returns present setting version browse upname remove logout hashed prompt allows cookie number called caller should beta22 imgtpl dialog global v22022 output exits crypt doesn bring print along using being local login other apply after usage gives named about based which http only your they atom show with used this when from must core part that make made will dump then also copy more vars note than have line sort want what one and zap can won org www any key rss rdf of by cm dc 4 3 1 +PmWiki.PageHistory:1632736037: PmWiki.LayoutVariables PmWiki.WikiAdministrator PmWiki.EditVariables PmWiki.SpecialPages Cookbook.ExpireDiff Cookbook.LimitDiffsPerPage Cookbook.ViewDiff Cookbook.TrackChanges PmWiki.PageFileFormat : restrictpagehistory wikiadministrator limitdiffsperpage removepagehistory enablediffinline layoutvariables pagefileformat administrators recentchanges automatically editvariables diffkeepdays trackchanges specialpages highlighting restriction information diffkeepnum differences corrupting expirediff permission particular handleauth additional individual revisions specified discarded directory histories clipboard exercised contents possible behavior material specific previous cookbook viewdiff displays audience clicking elements preserve required download manually rendered creating opposed disable default elapsed viewing removed minimum editing summary restore deleted changed options authors people config editor action markup values source adding before pasted upload pmwiki select number edited button access during simply called output recipe marked normal after enter shown level until those which older clean using shows avoid first lines added still below there these files given minor final local edits allow basic hides want farm your this with case each read will also when open link from over save them text area into care must that done time such make both note mode word than next site thus some have kept cut php can set any box see faq way isn ftp has two was of by 13 0 2 +PmWiki.GroupCustomizations:1632736037: PmWiki.WikiGroup PmWiki.WikiAdministrator PmWiki.LocalCustomizations PmWiki.GroupHeaders PmWiki.Passwords PmWiki.PasswordsAdmin PmWiki.SecurityVariables PmWiki.WikiCascades PmWiki.GroupName Cookbook.LocalCSS PmWiki.LayoutVariables PmWiki.BasicVariables PmWiki.GroupAttributes PmWiki.WikiFarms PmWiki.HierarchicalGroups : groupcustomizations localcustomizations hierarchicalgroups wikiadministrator securityvariables defaultpasswords resolvepagename layoutvariables processingorder groupattributes configurations passwordsadmin authentication considerations wikipagecssfmt basicvariables recipevariable administrators automatically recipescript include_once wikicascades installation enablepgcust intermediate subdirectory groupheaders wikisandbox information pagelogourl conditional customized particular containing background preventing capability techniques performed processes processed exception important statement wikigroup groupname including beginning istration inclusion displayed wikifarms configphp difficult myimages specific fullname audience cookbook function homepage localcss directly included purposes required question contents commands features somepage followed approach multiple summary instead reading perpage setting tedious effects pagevar certain someone defined because looking shouldn another example scripts current disable enabled strange becomes applied pmwiki valueb before valuea single giving allows loaded nested levels design styles simply create reason advice global method cannot f4c4b4 almost called actual corner placed markup subset change chess later could needs being pages first files upper using rules apply looks loads wants would named there sites after times never given above where basis which these farmd wasn main that have into body also view each this last note true with your same used easy host from only many left will hold more very undo what see why faq are may pub how isn hlt put add gif end etc way own its by of 0 +SiteAdmin.AuthList:1632736037: SiteAdmin.AuthList : groupattributes administrative passwdupload placeholder cellspacing cellpadding permissions authlistend passwdedit passwdread passwdattr characters protected displayed pagecount siteadmin template pagelist fullname defaults password displays settings request signify summary pageurl indent action exists submit method fields pmwiki filter access pages first class login equal order input false nbsp have that each view text this form with last them type need mean all get fmt say any use may you to of go 0 1 +PmWiki.WikiGroup:1632736037: Main.WikiSandbox Main.HomePage PmWiki.MailingLists PmWiki.Links PmWiki.CreatingNewPages PmWiki.PmWiki Site.Site SiteAdmin.SiteAdmin PmWiki.Search PmWiki.WikiGroup PmWiki.SpecialPages PmWiki.RecentChanges Site.AllRecentChanges PmWiki.GroupHeaders PmWiki.Passwords PmWiki.WikiAdministrator PmWiki.LocalCustomizations PmWiki.GroupCustomizations PmWiki.BasicVariables PmWiki.HierarchicalGroups Cookbook.SubgroupMarkup Cookbook.IncludeWithEdit Cookbook.LimitWikiGroups Cookbook.NewGroupWarning Cookbook.GetRidOfMain Cookbook.RecentChangesDeletion : recentchangesdeletion localcustomizations groupcustomizations hierarchicalgroups wikiadministrator stgilesandstjames groupdefaultpage creatingnewpages allrecentchanges includewithedit limitwikigroups newgroupwarning resolvepagename subgroupmarkup basicvariables administrators administration configuration documentation unambiguously functionality automatically grouppattern subdirectory specialpages getridofmain defaultgroup installation groupheaders mailinglists distribution contractions abbreviation approvedurls defaultname definitions wikisandbox pagepathfmt interpreted restricting specialized contributed preferences individual developing consistent attributes considered organising additional identified directive blocklist passwords wikipedia markupend overrides searching prepended groupname precisely siteadmin described important therefore installed protected subgroups including structure templates following solutions separated eliminate pipermail yourgroup organized cookbook pmichaud homepage fullname profiles pointing existing creation contains usefully subpages required followed identify standard simplest pagelist anything assigned requires audience normally although appended possible trailing destroys optional keywords disrupts changed shouldn authors linking forward wikilib omitted located summary current defines without content utility entered setting feature 3dgroup finally related sidebar variety periods removed enables recipes placing another example grammar reasons because provide written display between instead adding format pmwiki appear delete within making method footer server access shared before accept cannot thinks create syntax simply having ensure points inside folder listed script spaces become letter 024838 number called those array horiz saves class where links which shown could found holds makes value named being would often order title doesn occur names start noted above upper slash comes pipes valid these click march their whose cross shows users added allow every basis rule more will 2006 then type only this help want like good into down from have http must look some that rely code text html work post same easy need read also each many used farm when thus most why see has php may try dot was its yes faq by eg 2f uk 1 +PmWiki.Version:1632736037: PmWiki.PageVariables SiteAdmin.Status PmWiki.BasicVariables PmWiki.SiteAnalyzer Cookbook.ModuleGuidelines Cookbook.RecipeCheck : moduleguidelines basicvariables administrator pagevariables installation defaultgroup siteanalyzer defaultname determining declaration recipecheck recommends displaying versionnum recipeinfo recipename siteadmin obtaining sitegroup markupend relative cookbook contains versions prefered located scripts current recipes summary running example pmwiki couple should number status dates first file used also that this 2017 yyyy path and see the you can php for are of if 06 dd 02 +PmWiki.SecurityVariables:1632736037: PmWiki.SecurityVariables PmWiki.PasswordsAdmin PmWiki.AuthUser PmWiki.Functions PmWiki.AvailableActions PmWiki.EditVariables PmWiki.UploadVariables PmWiki.Security PmWiki.PagelistVariables : enablepostattrclearsession settingsitewidepasswords enablerobotcloakactions enablesessionpasswords enablepagelistprotect enabledirectdownload authldapbindpassword enablecookiehttponly denyhtaccesscontent enablecookiesecure enablepagevarauth enablepublishattr authldapreferrals securityvariables pagelistvariables setcookiefunction defaultpasswords availableactions uploadvariables authentications cookie_httponly pageattributes authldapbinddn passwordsadmin authorization cookie_secure editvariables sessionencode allowpassword automatically authenticated distinguished sessiondecode enabledrafts robotactions robotpattern transmitted directories pmsetcookie conjunction controlling information permissions javascript preference connection remembered directives expression publishing handleauth accessible developer specifies arguments eliminate forbidden bandwidth upgrading functions following necessary sensitive beginning respected reachable evaluates forgotten versions authuser changing includes although sessions decoding existing encoding returned cookbook disabled disallow entering required requests identity contains getting ini_set encoded recipes regular headers mozilla strings further instead example usually perform reverse history binding whether follows editing reached defined refused browser summary without special allowed forgets entered changed created crucial nopass should pmwiki config custom longer editor server apache values switch causes groups robots reduce recent accept these loads lines which using level pages leave check order unset shown below https above given saved older never array under sites files still httpd links known agent cache false empty print this name view have docs keys html when diff time feed from will your flag side they true adds that read zero also past even send sets work core null near part note both made need same want rss web are can via any see was php may new run of by 22 23 24 dc 1 0 +PmWiki.Images:1632736037: PmWiki.DocumentationIndex PmWiki.Links PmWiki.Uploads PmWiki.InterMap PmWiki.WikiStyles Cookbook.Images Cookbook.RelativeLinks PmWiki.LinkVariables : enablelinkpagerelative documentationindex redistributed imgextpattern relativelinks disablemarkup linkvariables specification tableandimage exercitation uncompressed immediately adipisicing percentages attachments consectetur information paper_clips definitions surrounding description incididunt immediatly subsequent vertically directives thumbnails background displaying extensions formatting wikistyles identifier acceptable generating unsuitable underlines markupend happening behaviour lightblue following displayed alignment groupname embedding galleries automatic consequat alternate paragraph qualified beginning filesizes formatted specified separated wikipedia continues pmichaud floating resizing location websites external division cookbook uploaded disallow obtained shortcut captions fragment lossless tooltips whatever possible browsers transfer directly creative addition contains attached pagename included filename enclosed centered fiddling multiple headings supports original coloured keywords brackets graphics pictures disabled intermap redefine normally standard replaces wrapping gallery affects resized eiusmod commodo aliquip specify laboris ullamco nostrud example bgcolor defined stacked padding setting failure aligned comment placing helpful margins summary instead already request retains flowing beneath another uploads resizes section putting strings credits commons follows because element default locally license further bolding general opposed without desired correct floated convert address dolore effort forces pmwiki dashes having unlike aliqua border lframe rframe cframe veniam images tempor bottom labore config rather single reduce honour future append itself effect around bubble method should height newwin before window frames ticket within rfloat server client change flickr photos cannot quotes simple double breaks cursor placed inline figure hovers create lfloat either fully https width 10pct while ipsum right lorem below saves 100px horiz magna class wraps above minim being shown pages block title front added using false lacks notes about where query burst 130px 30pct visit after types clear which think hence would match paths apply their times there solid usage basic quite lossy heavy 300px misc wish side that into them left elit have also made well text from svgz thus jpeg amet open rock more test this were work long just find some your same 2003 webp such nisi fake when enim quis 50px 20px does core than want 25px then part used make need both stop only faq www php yes gif jpg are any org try css may url see png pub bar bmp way fun yet why off 3px gem via tux my 32 by 60 fx 4 +PmWiki.GroupFooter:1632736037: PmWiki.DocumentationIndex PmWiki.Variables PmWiki.GroupF : documentationindex localisation groupfooter trailstart background commentout variables pmwikiorg improving trailend fullname included smaller ontrail bgcolor version summary headers footers divend substr recent border links ifend solid black right style clear float have more page http size talk this else font ffe 8em eee top 1px and ddd www may for 0 5 +PmWiki.DebugVariables:1632736037: PmWiki.DebugVariables Cookbook.Stopwatch PmWiki.AvailableActions PmWiki.BasicVariables : enableimscaching availableactions enablemarkupdiag enablestopwatch debugvariables basicvariables stopwatchhtml administrator abortfunction automatically begenablediag endenablediag priviledges recognizes debugging requiring displayed activates including passwords replacing customize permanent generated declaring reloading meanwhile separate multiple internal disabled composes patterns browsers template refcount everyone authuser settings possible condauth pagename modified cookbook default phpinfo without needing locally include timings leaving someone sidebar subpage scripts details windows letting summary numbers ruleset allows normal anyone indent either render easily values config adding before layout recipe pmwiki cached always update useful access format coming header needs total early tools valid files clock their usage since after which shows built takes other equal pages wall will from have that list only help this work them more line when also else long such your near each null sure just note off etc and old can see are get cpu its won faq by 1 2 0 7 +Site.PageListTemplates:1632736037: Group.Group Group.Name Site.FullName Group.Namespaced Site.LocalTemplates PmWiki.PageLists PmWiki.PageListTemplates PmWiki.PageVariables PmWiki.PageTextVariables PmWiki.ConditionalMarkup Cookbook.PagelistTemplateSamples : pagelisttemplatesamples simplenamespacedend pagetextvariables conditionalmarkup titlesummaryend descriptionend localtemplates titlespacedend documentation grouphomesend simplenameend includefaqend pagevariables concatenate defaultend includeend bygroupend especially pagelists markupend specified expensive optimized directive simpleend pagecount operation fullname defaults requires titleend includes countend contains cookbook sections problems creates without outputs between allowed display created spaces bullet number pmwiki normal ridden append groups causes anchor exists adding nested inline pages ifend there false horiz class loops store order first words that site note nbsp from this also each just only will wrap over html self last used dash when have work org can 103 and are fmt for but don isn of 5 6 8 7 2 +PmWiki.PageDirectives:1632736037: PmWiki.Uploads PmWiki.UploadVariables PmWiki.BasicVariables PmWiki.LayoutVariables PmWiki.GroupHeaders PmWiki.Skins PmWiki.Links PmWiki.IncludeOtherPages PmWiki.LinkVariables PmWiki.TableOfContents : enablepagetitlepriority enabledirectdownload enableredirectquiet includeotherpages nospacewikiwords nolinkwikiwords tableofcontents layoutvariables uploadvariables enablewikiwords pagedirectives basicvariables nogroupheader pageactionfmt corresponding linkvariables configuration nogroupfooter automatically nolinebreaks descriptions groupheaders htmlpnewline attachments insensitive descriptive essentially nonexistant redirecting permanently encountered apostrophes messagesfmt wildcarded attachlist identifies components equivalent characters associated redirected separated something directory placement available extension markupend locations filtering redirects important different supported goodgroup otherwise generates parameter displayed depending organised currently anywhere instance noaction keywords displays newlines disables required requires examples noheader pagename badgroup thispage nofooter external security occuring matching original multiple override settings resolves browsing patterns filename listings uploaded various portion noright notitle uploads permits another version without however actions specify default enables showing options helpful instead summary control prevent caption private opening browser entered element anchors engines contain section spacing similar special reasons initial recipes whether editing pmwiki titles appear server having return allows exists locate target marked status number change should bottom output method always within entire search result really limits useful noleft honors along shows links comma word1 turns still files names skins ifend these word2 again using visit moved horiz first there works notoc cause class about being after that used into does urls text from want then sets only than when uses back wins also form type same http code part case last note side such full join upon meta will your thru must adds each very 301 php can faq see and are but top jpg off bit may pdf xxx yyy by +PmWiki.InitialSetupTasks:1632736037: PmWiki.Installation Site.Site SiteAdmin.SiteAdmin Site.SideBar PmWiki.LayoutVariables PmWiki.PathVariables PmWiki.SecurityVariables PmWiki.UploadVariables Cookbook.ChangeTimeFormat PmWiki.BasicVariables PmWiki.Variables PmWiki.PmWikiUsers PmWiki.EditVariables Cookbook.Cookbook Cookbook.CleanUrls PmWiki.UTF-8 Cookbook.UTF-8 PmWiki.Security PmWiki.PasswordsAdmin PmWiki.Upgrades PmWiki.UploadsAdmin Cookbook.PerGroupSubDirectories Cookbook.CookbookBasics PmWiki.LocalCustomizations PmWiki.WikiFarms PmWiki.MailingLists PmWiki.WikiAdministrator : uploaddirectoryconfiguration date_default_timezone_set enablepostauthorrequired pergroupsubdirectories localcustomizations initialsetuptasks securityvariables wikiadministrator changetimeformat defaultpasswords layoutvariables uploadvariables administrators passwordsadmin cookbookbasics basicvariables administrative compatibility recentchanges substantially pathvariables editvariables international enableupload mailinglists uploadsadmin installation uncommenting defaultgroup distribution improvements organisation pagelogourl defaultpage alternative pmwikiusers environment immediately overwritten potentially diacritical identifiers recommended contributed customizing participate discussions operational dontmodify customized characters signatures difficulty particular appearance performed wikifarms siteadmin arguments secrettwo different alphabets sitegroup onesecret beginning wikititle upgrading histories following reachable pubdirurl scripturl timezones installed accepting istration populated operating requested preparing specifies sometimes cleanurls examples audience cyrillic new_york messages prepared download software mismatch contains starting supposed deciding choosing upgrades seamless function designed changing maintain mysecret attached optional defines located enables working browser summary setting timefmt placing strings wrapper include recipes command sharing sidebar version shouldn pmcrypt editing chinese meaning because details without provide closing scripts strange symbols est5edt defined correct america running systems scratch special options already common putenv please french server remove number stamps begins forget manual online others voilà single sample review adjust writes easier simple create always during rename either detect except locked entire mylogo making secure called corner before spaces being could found gives where pages these links index image files skins there goals often value newer lines about large blank sites point fails never first fresh paste store https exist email error after might steps tells needs makes older czech upper track above order greek guess when your done best wide this have that from once many want will upon else text docs must uses more same sets been send made exit save into used most sure only left they such look feel than fear icon well menu aren them note what help join know then also does copy wish php can utf css see may hlt ftp via its www net off try has gif tag by tz 8 1 0 +Site.EditQuickReference:1632736037: PmWiki.BasicEditing PmWiki.TextFormattingRules PmWiki.DocumentationIndex PmWiki.Tables PmWiki.TableDirectives : textformattingrules editquickreference documentationindex tabledirectives basicediting preformatted nolinebreaks _subscript_ cellspacing superscript cellpadding references signatures definition separators horizontal paragraphs monospaced emphasis override numbered bulleted advanced displays headings inserted tableend homepage colspan hanging another italics summary prevent smaller deleted example comment cellnr pmwiki cccccc bigger _blank anchor target family indent groups border define simple tables weight align solid right class style width links arial pages lists nbsp join name size font date term http bold site and use 100 new 2px 1px 80 +Site.Preferences:1632736037: PmWiki.AccessKeys Site.Preferences Cookbook.UserConfigurations : insert_your_name_here userconfigurations ak_recentchanges corresponding ak_backlinks ak_savedraft preferences ak_saveedit enableprefs ak_textedit components containing ak_preview ak_history accesskeys preferably emphasized preferred indicated ak_strong somewhere ak_attach ak_logout customise location editform textarea personal ak_print keyboard fullname cookbook template profiles disabled setprefs settings entirely default editing parsing columns browser created summary control firefox ak_view ak_edit trigger windows select cookie revert pmwiki e_rows italic e_cols xlpage action source unset focus shift green newly below which local ak_em tells about that with note used site find also sets this hold show bold keep make copy the can and see add php tap mac alt end 70 20 by +PmWiki.TextFormattingRules:1632736037: Main.WikiSandbox Cookbook.MarkupTricks PmWiki.ListStyles Cookbook.WikiStylesPlus PmWiki.PageTextVariables PmWiki.PageLists PmWiki.BasicVariables PmWiki.WikiStyles PmWiki.WikiWord PmWiki.Links Cookbook.NumberedHeaders PmWiki.EditVariables PmWiki.Tables PmWiki.TableDirectives PmWiki.MarkupMasterIndex : textformattingrules indentedparagraphs pagetextvariables specialcharacters markupmasterindex tabledirectives whitespacerules enablerosescape interpretations numberedheaders definitionlists basicvariables horizontalline wikistylesplus escapesequence administrators neutralisation changesummary automatically installations strikethrough bulletedlists editvariables preformatted markuptricks definitional apostrophes interpreted complicated information indentation currenttime parentheses exclamation proposition backslashes significant capitalized enablewspre wikisandbox references boundaries underscore unindented subsequent liststyles attributes terminated linebreaks neutralise experiment considered dispatched generating explicitly structures authorlink especially pagelists markupend beginning conceived sequences available asterisks preceding dedicated increases displayed arbitrary multiline monospace recognize inclusion continent indention strikeout mechanism optimized following currently including wikiwords indicated numbering specifies addresses otherwise enclosing cookbook provides inverted modified emphasis aligning starting combined patterns comments advanced previous complete continue headings multiple spanning behavior brackets optional anything possible pmichaud together trailing powerful centered elements floating toaster another version cooking placing example leading feature newline whether between restart numbers prepare include honored already escaped columns aligned neither replace defined authors control strings process message enables styling details enclose usually tripled italics doubled produce triples treated subitem several doubles created phrases targets anchors becomes precede needing without options enabled smaller filling fathers hyphens markups applied liberty hanging indents hidden pmwiki causes should except rframe please adding within lining tables beta41 forced engine search formed joined gopher nation border spaces quotes begins aligns simply normal single remote mailto around colons placed ending margin images deeper blocks middle strong config second insert delete larger arrows cannot across useful needed dashes easier values unwrap folds wraps cells level first right using width years pages which seven times signs where lines super _sub_ below links empty apply clear there three equal dealt least field title input line1 line2 terms stand makes above front pipes shows would xhtml items allow blank color added stops marks this four they left blue turn used also have will font bold code some just like goes more them main urls http bits news save made that case very kind note tick both next well skin does each upon find same only easy when into been then food your good five off too two see one php web big pop ago way ftp www gif jpg png by 50 3 +PmWiki.CustomMarkup:1632736037: PmWiki.PageTextVariables PmWiki.Links PmWiki.CustomMarkup PmWiki.DebugVariables Cookbook.Cookbook PmWiki.LocalCustomizations Cookbook.ParseArgs PmWiki.ReleaseNotes PmWiki.Functions PmWiki.BasicVariables PmWiki.CustomMarkup-Talk PmWiki.MailingLists Cookbook.JavaScript Cookbook.JavaScript-Editable PmWiki.Skins PmWiki.LayoutVariables PmWiki.CustomMarkupAlt : localcustomizations sethidediscussion pagetextvariables myrandomfunction replace_function custommarkupalt markupframebase layoutvariables twosinglequotes debugvariables basicvariables administrators disablemarkup parenthesised htmlheaderfmt configuration understanding compatibility installations nodiscussion releasenotes preg_replace introduction callbackmaxi markuptohtml incompatible relationship translations intermediate accomplished conditionals mailinglists significant parentheses substitutes onetimerule substituted replacement development undesirable expressions mydirective complicated recommended occurrences placeholder pageactions directives deprecated evaluation emphasized specifying extensible surrounded succession javascript conversion processing acceptable historical parameters monospaced definition randomargs additional characters enablediag internally myfunction statements inoperable arguments wikiwords including functions embedding describes something sequences capturing processed questions following arbitrary specified malicious available stdmarkup performed anonymous converted evaluated modifiers beginners parseargs migration alternate providers reference basically dependent beginning contains emphasis although normally newlines cookbook optional possible returned posteval handling creating editable wikitext executed myfooter inserted ordering fulltext followed markup_e upgraded linkmaxi pagename entirely examples continue problems markupid previous versions modified replaced template directly specific displays purposes actually generate security relative audience searched replaces mnemonic searches provides suffice regular produce section overall adsense webring depends general quoting another options pattern happens closing extract matched summary defined divides earlier globals markups current matches instead include wrappen ruleset applied scripts running program appears capture default testing regexes suppose strings anchors handled setting getting looking whereas comment authors removed several editing whether details ongoing treated writing because between bracket without hosting parsing simpler recipes creates careful headers further footers prevent content returns started various require restart pmwiki inline strong before manner second unique wanted itself called should unlike phases needed always format causes latter longer latest answer output double simply result inside passed number reason recent deeper common chosen fourth module manual delete having either _blank target google engine making forced marked easier syntax _begin select during static links pages mykey slash steps along would using cases skins above green wants multi could block right those below after needs fixed php55 still class false about first short terms which being again there stuff third style means newer found since angle might split print value later allow pairs given point array built calls fmtpv names risks usual avoid added your make help says will code work this that used each runs from talk 2013 core once when also keep true part into seem drop have does more than done then away many what very thus http sure read well must perl just file such adds they fact find left pcre okay same _end been href dot was red few now may www but via own how faq pss ask etc sdv try url prr 3rd 100 why 4th of by 58 50 25 12 7 +PmWiki.PmWikiPhilosophy:1632736037: PmWiki.PatrickMichaud PmWiki.Audiences PmWiki.WikiWikiWeb PmWiki.CustomMarkup : collaborativemaintenance avoidfeaturecreep pmwikiphilosophy collaboratively customizations patrickmichaud implementation modifications applications contribution installation favorwriters custommarkup distribution disagreement wikiwikiweb implemented information hyperlinked anonymously furthermore development specialized individual identifies temptation relatively principles gratuitous compressed contribute advisories everything completely displaying additional including audiences effective describes documents arbitrary something obstacles featurism structure authoring reasoning uploading upgrading utilities protected configure operation response contents features anything creeping maintain settings original material security requires avoiding existing specific elements browsers although presence authored password sections provides creation steroids required designed readers reasons upgrade writing attempt biggest replace follows engines complex support obvious version footers quickly clearer windows example headers someone because without finally general running created usually copying another nothtml summary linking written express authors welcome issues groups easier listed around server should speedy formed places source active sheets change pretty couple easily having allows better inside public update became losing people enough poorly admins system useful rather limits behind simple making intent stores matter latest resist might local pages large needs makes ideas based looks below given until could built being added doing doesn using chmod drive funky files there mysql guide claim ended their types heart embed touch above these style this over your that easy have time once just what hard sort many ways used gzip size 400k also site data much wasn will flat soon ugly from good 2000 then edit cert aims http deal risk when lots even stop done than and off try two few php can new dos how see www get org 02 5 3 1 +PmWiki.MailingLists:1632736037: PmWiki.PmWiki : announcements mailinglists disconnected recommended development surrounding discussions momentarily environment information suggestions unsubscribe newsgroups searchable irrelevant accessible interested everything production regarding unnoticed questions pipermail available determine following forgotten probably messages speaking archives archived pmichaud listinfo original requires español releases usuarios changing password settings separate directly resource keywords programs answered possible mailman focuses traffic created options address through request sending various subject finally helpful threads mailbox disable receive replies version logging because summary account several slipped digest google around pmwiki people recipe bottom button remind filter should remove urgent volume highly please before change single member french stands wonder server obtain action mailto method domain german either submit again match reply gmane users https email month about first great where field enter after those later might could there their doesn based input lista lower value week line from take also just html page mode soon post them this core such code 2012 text many lost your 2016 some feel will left comp nntp edit next body with back that both tips need down get via www may are php web can uri who don ask let way was two off if by 04 40 +PmWiki.PagelistVariables:1632736037: PmWiki.PagelistVariables PmWiki.CustomPagelistSortOrder PmWiki.PageLists Cookbook.SearchPatterns PmWiki.PathVariables Site.LocalTemplates Site.PageListTemplates PmWiki.IncludeOtherPages PmWiki.PageListTemplates : enableundefinedtemplatevars custompagelistsortorder pagelistsortcmpfunction enablepagelistprotect fpltemplatepagefmt searchboxinputtype pagelisttemplates pagelistvarfoldfn pagelistvariables includeotherpages pagelistcachedir enablepageindex pagesearchform localtemplates alphabetically searchpatterns searchresults recentchanges international pageindexfile significantly strnatcasecmp insensitively pathvariables authorization defaultgroup searchboxopt considerably exclamation fmtpagename permissions characters directives customized strcasecmp categories historical sourcefrog subsequent displayed attribute according maintains currently including functions backlinks directory otherwise protected sitegroup searching delimited parameter regularly processed specified specific previous behavior searches versions cookbook included fullname required excluded searched disables includes displays defaults controls ordering location writable indexing listing declare example section earlier removed caching workdir prevent summary reasons numbers general sorting compare strings browser checked because setting natural natsort action global points causes pmwiki became unless delete simple target create always itself exists format values relied github strval readme speeds appear sorted empty unset which where needs array html5 html4 valid https first found field write terms print latin sorts match setup until means also well used with same will when look have this from zero that does were text your skin must like keep word note kept how and raw xyz 116 any sdv 115 php see net has 13 by of 2 0 +PmWiki.Upgrades:1632736037: PmWiki.PmWiki PmWiki.UpgradingFromPmWiki1 PmWiki.ReleaseNotes PmWiki.BackupAndRestore PmWiki.Download PmWiki.SiteAnalyzer PmWiki.LocalCustomizations PmWiki.Troubleshooting Site.Site SiteAdmin.SiteAdmin PmWiki.BasicVariables PmWiki.WikiWords PmWiki.EditVariables PmWiki.Links PmWiki.PageLists PmWiki.SkinTemplates PmWiki.AuthUser PmWiki.Upgrades PmWiki.ChangeLog PmWiki.PageVariables Site.PageActions Site.EditForm Site.PageNotFound PmWiki.LayoutVariables PmWiki.Version : enablerelativepagevars upgradingfrompmwiki1 localcustomizations specialreferences backupandrestore troubleshooting enablewikiwords layoutvariables basicvariables grouppagecount groupfooterfmt groupheaderfmt customisations administrators siteadmingroup authentication skintemplates linkwikiwords editvariables international pagevariables configuration automatically instructions releasenotes siteanalyzer environments approvedurls installation modification pagenotfound yourskinname include_once wikilibdirs pageactions established interactive overwriting replacement recommended rospatterns preparation significant fmtpagename comfortable especially commentout explicitly parameters simplified performing htmlfooter htmlheader groupcount downloaded directives customized containing notifylist additional impacting pagelists directory currently protected determine important additions affecting changelog correctly shorthand pmwikiorg pagestore installed blocklist carefully authorize sitegroup fullname asterisk outlined designed physical included localmap upgrades software authuser disabled password continue absolute location authlist separate formerly features versions complete argument existing required wildcard sidebars homepage wikilink behavior pmwikibg starting requires encoding editform previous visitors function changing treated systems details written instead example recipes generic wikidir because command changes between footers content headers reading editing prompts specify bgcolor servers padding freebsd already summary without through strings changed risking default copying extract affects enabled tgzfile updated created scripts browsed heavily earlier request running handled accepts should number v21v22 stable recent option xlpage before latest longer revert refers relies switch needed wishes simply nopass either course passed inside appear always spaces commas f7f7f7 entire border please called copies around unless these where wikis above prior alias areas about loads links array their using tasks files there those since while knows sites could which black solid skins check other image point seems enter just that uses must okay them v220 what make have such good idea some will main ones they done work used when like more safe well this beta made xvzf easy most data tips base path want were lets any php txt etc was may new set 1px 5px old utf how faq pub css bin mac has but dpr rpv by cp my 10 27 35 8 4 +PmWiki.UrlApprovals:1632736037: Category.Spam SiteAdmin.ApprovedUrls PmWiki.IncludeOtherPages Site.AllRecentChanges PmWiki.LinkVariables PmWiki.Blocklist PmWiki.Security : unapprovedlinkcountmax approvedurlpagesfmt unapprovedlinkfmt includeotherpages allrecentchanges whiteurlpatterns administrators configuration automatically linkvariables occasionally approvesites approvedurls include_once urlapprovals permissions appropriate disapproval transcluded previewing urlapprove othergroup authorized preventing discourage googleblog urllinkfmt othername customize displayed siteadmin australia following mechanism including technical activated requiring whiteurls whitelist sometimes blocklist multiples separator attribute described external exceeded password requires handling sidebars apprlink whatever directly included existing limiting sections pagelist original normally spammers browsers probably nofollow linktext followed modified blogspot blocking postings security securing spamming category explains rankings displays internet allowing vertical because default current scripts initial engines example release without authors message defined comment creates created zealand content address setting editing general pageurl linkurl footers headers allowed tooltip totally usefull feature xes_url summary improve against purpose already number forbid search pmwiki beta20 hovers always combat please action adding cursor needed enable before should become reason linked hidden supply cannot links think local order class their which title about click saved large array needs write these works lists added farmd where visit setup after notes green using files based place first your href only were that must also http rare show them when want this omit blue like 2005 long html tips line help hide been they from wish will have code case next see php via try jan may has uuu won end say new org 30 by 01 nz +PmWiki.AccessKeys:1632736037: PmWiki.Drafts PmWiki.Internationalizations PmWiki.SitePreferences Site.Preferences Skins.Lean Site.PageActions : internationalizations ak_recentchanges sitepreferences implementation administrators corresponding installations ak_backlinks ak_savedraft intermediate ak_textedit translation ak_saveedit pageactions declaration customizing combination assignments incorporate accommodate information implemented translators convention identified overridden exceptions ak_history parameters customkeys ak_preview guibuttons characters throughout accesskeys generally shortcuts mechanism typically ak_logout macintosh following including activated operating depending ak_attach influence accessing otherwise currently ak_strong different tutorials konqueror releasing triggered supported languages emphasize wikipedia conflicts undefined browsers template variable assigned replaced sequence visitors optional continue possible audience defaults keyboard versions specific internet netscape explorer clicking requires webpages override mappings generate together contains explains ak_print pressing function standard remember textarea location editing earlier between firefox ak_edit publish phrases ak_view methods instead holding enabled letters mozilla summary systems example pressed enables because created windows nomouse screens omniweb admins config pmwiki adjust ak_xxx border markup easier cancel listed safari viewed itself drafts linked simply saving exists mapped typing chrome appear ak_em value tasks front skins which these using makes works could would start types added table those where local cases under shift enter above below until allow steps built after while taken index same that ctrl with akey word this http only mode when down more uses does lean many note were html also such most some href must each file than like time used name have part exit keep jump been your they see try alt dml way one esc php how faq may two don of by 1 4 2 0 5 +PmWiki.I18nVariables:1632736037: PmWiki.Internationalizations Site.Preferences : enablexlpagescriptload internationalizations defaultpagecharset corresponding i18nvariables documentation dictionaries accidentally identifiers preferences translation definitions varpagesfmt essentially processing performing attributes dictionary containing describes currently pagenames correctly parameter modified contains language encoding changing handling mappings required website scripts include english timefmt xllangs lingual loading summary missing enabled prevent disable editors rfloat pmwiki active handle phrase loaded trails vardoc during config should lookup string markup hashes which value lists finds e_row ifend given where multi array equal pairs named wrong thus into some with used from also that this when only user text maps blue will note each the you php see utf are one can fix key by of eg 0 +PmWiki.BlockMarkup:1632736037: PmWiki.Forms PmWiki.TextFormattingRules PmWiki.Images PmWiki.Tables PmWiki.WikiStyles : textformattingrules automatically bulletedlists titlesummary blockmarkup information article2end sectionend attributes previously addressend paragraphs wikistyles javascript articleend detailsend indicating developer inclusion headerend structure footerend markupend reference resulting divisions compliant htmlhelp headings semantic matching possible addition standard asideend multiple browsers elements pagelist embedded inserted inserts mozilla default content without support current caniuse closing outdent version div2end applied markups opening sources tables number nested class2 closes divend blocks class1 indent html40 pmwiki allows navend images recent bother opened verify needed inner group https html5 outer items click forms since about words have like tags docs full will only show such else user this that note here more type make sure tidy when does same talk name term used also feat you are id1 see fmt org web don few any of by 75 +PmWiki.ConditionalMarkup:1632736037: PmWiki.Passwords PmWiki.Security PITS.01417 PmWiki.AuthUser Cookbook.AuthUser PmWiki.PageTextVariables PmWiki.WikiTrails PmWiki.PageVariables PmWiki.MarkupExpressions Cookbook.ConditionalMarkupSamples : conditionalmarkupsamples concatenatedconditions combiningconditions pagetextvariables specialreferences markupexpressions reg_expression authenticated automatically pagevariables wikitrailpage administrator yyyymmddthhmm unpredictable conditionals invalidlogin recognizable placeholders circumvented attachments cellpadding permissions cellspacing readability condmarkup wikitrails parameters characters groupname1 explicitly authorized groupname2 equivalent previously unbalanced rendering directive passwords displayed requested operators important somegroup currently unlimited filenames described sensitive interface following specified inclusive separated quotation strtotime evaluates beginning evaluated identical represent bracketed building assigned patterns asterisk anything pagename wildcard brackets profiles username expected tableend security authuser cookbook contents multiple examples included audience combined although specific creating thispage required advanced somepage optional function standard trailing contains provides feedback matching silently excluded portions argument comment editors string2 entered regular applies matches string1 without summary exactly secrets ignored negated specify implied colspan omitted appears rowspan opposed testing nesting allowed ontrail meaning bgcolor elseif2 sidebar correct session earlier defined complex leading browser generic authors between assumed results enabled boolean warning neither action format cellnr newwin spaces viewer equals during exists within quotes authpw cannot always closes group1 authid logged nested square errors syntax around allows border indent pmwiki common margin admins logout before group2 middle valign group3 levels tested begins better if2end number recipe manual mostly header useful footer others upload easily commas proven built cond1 where named given later ifend value these doesn date2 using date1 cond2 range class which cases name3 check means being there three shows among forms notes marks false cond3 month times pmcal 01417 meant cause else2 above tests below block dates today fixed added 2005 zero nbsp used that body into work once what like true also next pic1 have ptvs must only beta from more hide were same they will both when 2006 fail just hour than link year attr even list http pits many main tips left need 2em see has top set sub but xor who via pvs one may php you jpg png two viz fcc iso org now net gif was my w3 qa by 66 +Site.RecentChanges:1632736037: : recentchanges sidebar august site 2021 jrmu at 11 50 am by +License.Ircnow:1632736037: : contributors responsible permission whatsoever distribute absolutely copyright following warranty yourname license damages content granted offered without purpose ircnow modify author result submit audio under other agree using video work this that from code text 2021 for and any not org fee use all by as +Team.Vps:1632736037: : eventually additional mentorship sustained operating community proposed filtered address 100mbps support include pricing backups systems openbsd subnet 40mbps 20mbps videos plans linux first burst month wikis 100gb costs email live 20gb free 40gb will only ipv4 ddos 10gb bsds ipv6 each team for 4gb ram and 2gb 1gb but irc ssd vps hdd of 64 we 16 8 5 +Team.RecentChanges:1632736037: : recentchanges february august policy team jrmu 2020 2021 vps by at 04 03 36 01 08 pm 12 +Terms.Terms:1632736037: Terms.Privacy Terms.Shell Terms.Vps License.Ircnow : cryptocurrency contributions infringement connections responsible kampungchat additional permission activities passwords malicious copyright downtime warranty cracking activity scanning accounts gambling torrents provided services everyone privacy network damages without servers allowed running license offered illegal slander violent threats project person ircnow dalnet allows follow policy mining miners relays terms agree shell nodes users title using share libel rules drugs these which exit porn that port spam make only must loss bots ddos data hold sign usa ask for you not our vps max any if by up 20 4 5 +Freedom.Freedom:1632736037: Freedom.Selfadmin Freedom.Federation Freedom.Fork Ircnow.Constitution Freedom.Religion Freedom.Press Freedom.Software Freedom.Privacy Freedom.Homestead Freedom.Madeonirc Freedom.Unix Freedom.Startupdream Freedom.Openforeveryone Freedom.Dueprocess Freedom.Checks Freedom.Rulebylaw Freedom.Independence : openforeveryone startupdream independence constitution opportunity declaration simpletable cellpadding dueprocess federation wetheusers standards rulebylaw selfadmin networked madeonirc religious homestead marketing software balances religion internet deriving networks freedom evident created privacy central liberty consent resolve justice written center ircnow checks rights powers truths attach perish secure border censor highly press ethic title under shall their earth equal birth class width these 40pct brave this with that vain been have unix here from fork hold bill png you was vps 100 not new god to 5 +Freedom.Fork:1632736037: Freedom.Software Freedom.Selfadmin Freedom.Unix Freedom.Educate : interoperability infrastructure comeandtakeit communities proprietary understand philosophy guarantees protocols standards difficult marketing restricts liberties component selfadmin exploits preserve possible software function hardware platform trained educate freedom network follows rejects tyranny require against servers project control quickly focused taking making merely abuses elites ircnow create ensure vendor reason always cannot retain source warned attach access rfloat normal unfair allows online anyone forced users width rests power 200px every hands right rules title staff never their using leave guard open them code with lock unix easy that only this host your fork have when time from data away most duty quit but png new own few by +Freedom.Censorship:1632736037: Freedom.Software Freedom.Militia Freedom.Fork : documentation infringement pornography censorship impossible compliance individual meaningful guarantee decisions safeguard amendment necessary establish copyright peaceably countries arbitrary marketing welcomes congress provides software petition official religion exercise powerful freedom however retains content violent because threats network illegal servers control digital example militia without becomes debates against ircnow speech gather policy rights 100pct rfloat attach ensure source cannot users first their there words other allow title width press order state staff rules shall bill stop also this ages that fork does make have wide each must code many and own png as +Code.RecentChanges:1632736037: : recentchanges formating better code june 2021 mkf 08 05 24 pm by +Bouncer.Hexchat:1632736037: : automatically instructions information registered abcde12345 connecting connected newserver graphical username selected password download anything followed network servers hexchat bouncer example uncheck address windows replace message details command attach ircnow should github source client rename saying global quick click 31337 close might slash title money linux while works https field start once real free open list will nick want fine your this type does menu john cost fill that then edit says 6667 with not znc org ssl get yet app can mac → png bar if by 10 go up +Shell.Shell:1632736037: Vhost.Request Shell.Applications Shell.Tutorial Terms.Terms Terms.Privacy Unix101.Unix101 Unix201.Unix201 Unix301.Unix301 Unix401.Unix401 Unix501.Unix501 Unix601.Unix601 Shell.Faq Shell.Bash PowerShell.Connect PuTTY.Connect PuTTY.PuTTYgen OpenSSH.Connect OpenSSH.Keygen Dropbear.Connect KiTTY.Connect Termius.Connect Terminus.Connect ConnectBot.Connect ConnectBot.Keys Termux.Connect JuiceSSH.Connect GetConsole.Connect Blink.Connect ITerminal.Connect Shelly.Connect WebSSH.Connect MacTerminal.Connect SerFISH.Connect Sshwifty.Connect Shell.Sshfingerprints Shell.Termux : sshfingerprints applications simpletable macterminal libertybell programming connectbot powershell getconsole understand community interview bandwidth processes knowledge currently iterminal tutorials computers requires dropbear sshwifty learning juicessh terminus sortable puttygen creation software proclaim designed offering prepared accounts filtered quickly novices openssh reading command unix201 unix301 unix101 network unix601 unix401 unix501 termius service privacy serfish clients license android windows hosting 100mbps request running through thereof openbsd provide started support script border ircnow termux shelly webssh abused shells shared attach civics keygen useful create please vhosts policy unique charge kitty blink terms linux class users title about setup ethic free with will help sure more make cert bash perl real from time keys then ircs gain very agpl must chat live want over line some have that name join what each ddos disk ipv4 ipv6 32mb you for ✓ png all lan org ssl php one faq see our mit ask ios not but +Terms.Shell:1632736037: : cryptocurrency restrictions connections permission technical malicious torrents scanning allowed running network without person dalnet allows mining ircnow terms shell only bots port ipv4 are one not max up 20 5 +Freedom.Rulebylaw:1632736037: : understands protection marketing confusing rulebylaw innocent congress spammers service without hundred enforce useless network justice freedom choice status escape rfloat banned wealth better attach regard terms their users rules title 400px every equal width right long read them that will than made have they weak one has are all get jpg due own is to if of so +Openbsd.Openbsd:1632736037: Ircnow.Howtoask Minutemin.Bootcamp Openbsd.Ongoing Openbsd.Stable Openbsd.Testing Openbsd.Team Openbsd.Abuse Servers.Rights Minutemin.Code Minutemin.Server Minutemin.Duty Congress.Procedure Minutemin.Game Openbsd.Buyvm Openbsd.Vmminstall Openbsd.Vmmuser Openbsd.Vmmlinux Openbsd.BBB Openbsd.Bsdrd Openbsd.Sysupgrade68 Openbsd.Install67 Openbsd.Install68 Openbsd.Upgrade67 Openbsd.Upgrade68 Openbsd.Newdisk Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Net Tcpip.Overview Openbsd.Staticnet IPv4.Overview IPv6.Overview Tcpip.Sockets Openbsd.Netmask Openbsd.Anycast Openbsd.Pf Openbsd.Ddos Pf.Guide Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Openbsd.Ping Openbsd.Netcat Openbsd.Tcpdump Ln.Intro Telnet.Http Openssl.Http Openbsd.PFStable Openbsd.PFTesting Openbsd.Pfbadhost Relayd.Acceleration Openbsd.Stunnel Openbsd.Npppd Openbsd.Pppoe Openbsd.Dhcpd Dns.Overview Openbsd.Nsd Nsd.Masterslave Nsd.Troubleshoot Dns.Records Openbsd.Unbound Openbsd.Dig Dns.FQDN Openbsd.Unboundadblock Openbsd.Sshkeys Openbsd.Sshbackdoor Dns.Zonefile Openbsd.RDNS Openbsd.Vhost Openbsd.Domains Dns.Registrars Openbsd.Dnsbl Openbsd.Rbldns Openbsd.Delphinusdnsd Openbsd.Iked Openbsd.Wireguard Openbsd.Gopher Openbsd.Gophernicus Openbsd.Geomyidae Bucky.Install Openbsd.Ntpd Openbsd.Sftp Openbsd.Tor Openbsd.Sshd Openbsd.Www Openhttpd.Configure Openhttpd.Hosting Acme-client.Configure Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Openbsd.Dokuwiki Openbsd.Pmwiki Openbsd.Squirrelmail Openbsd.Cgit Openbsd.Gotweb Openbsd.Oscommerce Openbsd.Cumulusclips Openbsd.Fluxbb Openbsd.Question2answer Openbsd.Wordpress Openbsd.H5ai Openbsd.Easyapp Openbsd.Manna Openbsd.Irc Znc.Chroot Openbsd.ZNCAdmin Openbsd.ZNCSupport Openbsd.ZNCModules Openbsd.Psybnc Openbsd.Ilines Openbsd.Bitlbee Openbsd.Botnow Openbsd.Censord Openbsd.Identd Oidentd.Install Oidentd.ZNC Openbsd.Eggdrop Openbsd.Wraith Openbsd.Biblebot Openbsd.Tcltls Pylink.Install Openbsd.Ircrelayd Openbsd.Matterbridge Openbsd.Ii Openbsd.Sic Ngircd.Install Ngircd.Link Ngircd.Ssl Openbsd.Hopm Openbsd.Acopm Ngircd.Oper Achurch.Install Anope.Install Openbsd.CPAN Openbsd.Mail Openbsd.Opensmtpd Openbsd.Opensmtpd-relay Openbsd.Opensmtpd-2 Openbsd.Dkimproxy Openbsd.Dovecot Openbsd.Dmarc Openbsd.Spf Openbsd.Dkim Openbsd.Spamd Openbsd.Mlmmj Openbsd.Mailopenproxy Openbsd.Alpine Openbsd.Mutt Openbsd.Fdm Openbsd.Av Openbsd.Utilities Openbsd.Pkg Openbsd.Ports Openbsd.Doas Openbsd.Oath-toolkit Openbsd.Ssh Openbsd.Syspatch Openbsd.Ffmpeg Openbsd.Dump Openbsd.Restore Openbsd.Backups Openbsd.Openrsync Openbsd.Cron Openbsd.Rcctl Openbsd.XTerm Tmux.Config Openbsd.Iplookup Openbsd.Vi Openbsd.Mg Openbsd.Games Openbsd.Minetest Openbsd.Freeciv Openbsd.Openttd Openbsd.Asterisk Openbsd.INN Leafnode.Install Webnews.Install Openbsd.Misc Openbsd.Prosody Openbsd.Biboumi Openbsd.Matrix Openbsd.Gnupg Openbsd.Slrn Openbsd.Chroot Password.Management Openbsd.Base64 Openbsd.Uim Openbsd.Dev Openbsd.Hosting Hosting.Providers Openbsd.Vmm Openbsd.Announce Openbsd.Security Openbsd.Phishing Openbsd.Dos Openbsd.Spam Openbsd.0days Openbsd.Rootkits Openbsd.Pledge Openbsd.Unveil Openbsd.Databaseperms Openbsd.Two-FactorAuth Openbsd.Secureweb Openbsd.Trust Openbsd.Defaultdeny Openbsd.Loginconf Openbsd.Ids Openbsd.Setuid Openbsd.Sa Openbsd.Edquota Openbsd.Shell Openbsd.Police Openbsd.FilePermissions : ntpamplification filepermissions question2answer unboundadblock announcements databaseperms delphinusdnsd mailopenproxy httpopenproxy configuration squirrelmail troubleshoot matterbridge conveniently acceleration sysupgrade68 cumulusclips instructions pkglocatedb information defaultdeny masterslave gophernicus sshbackdoor development imagemagick beaglebone registrars accounting oscommerce management vmminstall zncsupport developers blacklists zncmodules networking factorauth themselves audiovideo unofficial opensmtpd openrsync minutemin openhttpd install68 pfbadhost configure procedure dkimproxy utilities httpflood questions geomyidae install67 pftesting searching ircrelayd intrusion providers addresses wireguard loginconf upgrade67 secureweb staticnet disklabel wordpress partition detection reference telephony languages bootcamp training netmasks vmmlinux overview zncadmin biblebot ackflood rstflood synflood dokuwiki congress sysadmin answered udpflood leafnode examples zonefile binaries chrooted howtoask password asterisk pfstable minetest template iplookup phishing almanack rootkits security plumbing syspatch symbolic archived accounts properly policing openbsd stunnel hosting openssl tcpdump easyapp proxies bitlbee openttd freeciv edquota webnews restore ongoing backups service prosody icecast biboumi bitcoin chinese toolkit sockets achurch censord oidentd anycast eggdrop newdisk vmmuser servers domains dovecot channel mailing ramdisk through project daemons bundled suppose readmes special package defense records sshkeys police quotas unveil client pledge netcat rbldns sample system base64 sndiod setuid matrix telnet denial source vorbis netpgp pylink psybnc guides wraith tcltls ilines rights botnow fluxbb ngircd border ircnow growfs adding pmwiki alpine ffmpeg attack gotweb filter before packet shell tcpip bucky games dhcpd npppd pppoe trust anope abuse dnsbl acopm vhost xterm bsdrd 0days dmarc gnupg spamd mlmmj intro buyvm ports manna fdisk rcctl title files first start pages honor https these reset often which share using local links there learn final width iked tmux misc mgmt slrn cron ircs then fqdn team that take rdns ping ipv6 your cgit doas ddos ipv4 ssdp apps h5ai mutt oath ntpd hopm sftp sshd acme find cpan with duty many come have sudo code help also want chat name room org spf can fdm ids and faq inn get doc usr www but uim php dig sox sic bbb 100 by ii +Freedom.Federation:1632736037: Servers.Rights Ircnow.Constitution : unitedweserve constitution established independent development government governance federation principles strongest community governing marketing together software thirteen provides services policies internet interest networks outside against freedom servers liberty himself governs manages threats another justice modeled promote rights attach ircnow rfloat public person itself divide future exists writes common desire effort money after 300px bound width among joint staff where every feels power trust their with they will many user each this have fair part but jpg all and own has aid by +Openbsd.BBB:1632736037: : openbsd 115200 cuau0 doas dev bbb l +Vpn.RecentChanges:1632736037: : recentchanges vpnmac vpnios 2021 june jrmu at 04 by am 34 05 52 40 +File.RecentChanges:1632736037: : recentchanges linking file june 2021 mkf 22 at 07 43 pm by +Ircbots.RecentChanges:1632736037: : recentchanges ircbots august 2020 jrmu 03 at 01 15 pm by +Bots.Bots:1632736037: : translations complements restrictive administer moderation blacktools management scriptable interface languages firewalls profanity borrowing blackjack channels multiple features pricebot networks increase security everyone software connects together progress lastseen scrabble passage display working bouncer through support snippet request weather hangman reports clients servers filters scripts quoting ircnow upload create switch easier adding domain public around relays posted better trivia bypass reader quotes longer easily charge order chess feels title feeds these games other verse helps using group since shell ready stats still music greet bible users study poker makes well used that bots curl your spam file http code holy open over this lets chat then like they with them have nick free same real live time from hold each news misc auto room word ircs and org for yet not can web rss own per uno 100 20 +Bots.RecentChanges:1632736037: : recentchanges august bots 2020 jrmu 25 at 12 pm by +Grape.Grape:1632736037: Grape.DonateUs Irc.Guide Terms.Terms Grape.Guide Grape.Todo : administrators infrastructure monopolization documentation configuration communication collaborative registration instructions surveillance connections effectively proprietary application environment development successful maintained generation miniontoby interested additional available computing languages connected comprises volunteer donations unlimited favourite materials services accounts networks provided includes platform innovate feedback register features channels multiple donateus official retrieve minetest training unstable building everyone android website windows openbsd players details contact through request located bouncer control improve eggdrop members hosting english russian bangali welcome shelter devices shortly servers clicked ircnow mobile client custom source number allows access easier crypto please assist reduce create guided accept people system useful grape their terms where block 30003 30002 error agree which vhost doesn exist added 30000 linux links keeps speak dutch 30001 group learn shell opens local index https chats topic coins libre time make free help only also them this more real that team upon port view will your when with have live used text well read sign farm take part good fizi todo list wiki from game next name urdu such too org but are mac can aim who how gry new fun say ios may any run bot ask log php if +SiteAdmin.RecentChanges:1632736037: : recentchanges siteadmin september authuser 2021 jrmu 25 at 24 am by +Orange.Orange:1632736037: Orange.Ru Orange.Nl Orange.Todo : ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ████░░▒▒██▒▒▒▒▒▒████ ████▒▒▒▒▒▒▒▒▒▒▒▒████ ██░░▒▒▒▒▒▒██ ██▒▒▒▒▒▒▓▓██ ████▓▓▓▓▓▓██ ████████████ administration administrators documentation surveillance centralized programming application connection structured maintained languages volunteer connected available favourite comprises education services metacpan feedback innovate features platform training includes capacity unstable included monopoly internet overcome multiple increase initial courses network request support welcome improve storage develop openbsd hosting testing russian english devices bouncer citizen orange server ircnow exists useful easier system number arabic french search lookup plugin speak keeps games their email https dutch write hindi after live them chat used file size list time free make with beta also perl more sign team todo will your that text sftp read bots like have well see org via and who can 1gb php aim new by of nl 20 if +Freedom.Unix:1632736037: Debate.Dogfooding : configuration livefreeordie documentation dependencies unnecessary interactive dogfooding developers philosophy permissive guidelines integrate marketing languages standards learnbchs interface software sensible internet defaults program freedom openbsd written tightly another license audited feature rfloat widely simple follow native choose prefer clause easily forked needed better debate design attach output https stack style title creep thing shell write ethic width input avoid 300px party keep used that with code over unix when korn well text perl work one can mit 3rd our own jpg org web man gpl by to 2 +Openbsd.IPv6:1632736037: : unfortunately hexadecimal increasing compatible everything addresses subdomain available backwards hostnames necessary separated providers designed messages contains internet accepted connect special without servers hosting tunnels becomes openbsd devices correct written shorten between records getting support humans colons digits subnet result single rather planet losing groups unable custom needed unique order stack given price zeros earth takes worth money older costs there match based vhost eight means email often major newer avoid users which 7334 well 0370 0db8 0000 8a2e that from 2001 aaaa rdns each than this ipv6 more ipv4 just have both four will dual must only deal lack work irc you can are was web far now and 128 bit but all two not by so 64 +Bouncer.Bouncer:1632736037: Bouncer.ZNC Bouncer.AdiIRC Bouncer.Adium Bouncer.AndroIRC Bouncer.Atomic Bouncer.Colloquy Bouncer.Hexchat Bouncer.IRCForAndroid Bouncer.IRCCloud Bouncer.IRCCloudWeb Bouncer.IRCCloudAndroid Bouncer.IRCCloudiOS Bouncer.IceChat Bouncer.IrcEX Bouncer.Irssi Bouncer.Igloo Bouncer.KiwiIRC Bouncer.Konversation Bouncer.KVIrc Bouncer.Limechat Bouncer.Mibbit Bouncer.MIRC Bouncer.Pidgin Bouncer.Quassel Bouncer.RevolutionIRC Bouncer.SimpleIRC Bouncer.Smuxi Bouncer.Textual Bouncer.Thunderbird Bouncer.TurboIRC Bouncer.WeeChat Bouncer.WinIRC Bouncer.XChat Bouncer.XChatAzure Bouncer.Yaaic : irccloudandroid revolutionirc ircforandroid konversation thunderbird irccloudweb irccloudios proprietary simpletable xchatazure connected simpleirc protected unlimited emulation turboirc androirc colloquy sortable limechat networks messages software telegram bouncers discord bridges textual weechat hexchat kiwiirc quassel offline icechat support running started windows license ircnow pidgin atomic winirc device access apache border mibbit adiirc missed charge gplv2 yaaic adium kvirc smuxi igloo irssi ircex gplv3 title linux class width staff ircs from mirc with free wine join then type here name time real when stay your play back ddos mac ✓ 100 znc org get bnc how add bsd ip +Bouncer.MIRC:1632736037: Bouncer.Bouncer : alternatively remotescripts description proprietary abcde12345 originally commandssl connection supported installed connected bitbucket graphical addserver password username network3 networks network4 network1 supports software multiple network2 consider sslready example address version replace details kindone include message minutes bouncer protect options privacy freedom ircnow select should attach saying actual window return inside public master source remove method finish client adding during paste 31337 using https later above where press users start click these there false title added that this with your real then want mirc file type john wait save make plus sure sign have does fill load from hang will time must beta ssl2 ssl1 echo open true menu ssl3 copy text yet znc not few for org tab bnc cap req see png ack mrc end etc txt www → bar yes put can raw bug fix src to ok 38 if 41 by 6 0 +Ircnow.Finances:1632736037: : finances ircnow title 2020 fy +Lemon.RecentChanges:1632736037: : recentchanges packages january lemon 2021 july todo mkf nix by pm 12 at 31 06 35 +Shell.ShellPutty:1632736037: : shellputty powershell connecting necessary username sgtatham greenend versions download password windows default example details replace opening address account install button server ircnow recent attach config select bottom latest chiark win10 press built right click start title https after enter your then host type fill with john real port html ssh2 come not org www and png for of is uk 22 by so if +Openbsd.Openhttpd:1632736037: Openbsd.Acme-client : instructions connections request_uri certificate workstation chalkboard background relatively everywhere openhttpd challenge http_host fullchain directory installed certainly authority configure contains rulesets computer incoming response location s_client redirect examples charset openbsd default address putting restart content doctype similar pkg_add besides working copying replace private openssl encrypt subject setting correct enable issuer listen reload server domain simply should allows return simple border follow almost bottom dashed family title https rcctl style color pfctl point reset found serif black equiv local comic proto below white other index known block strip html well head sans into auto font meta must with acme root body file text doas code what port will name want your then test line neue sure make fine curl this some have pass see etc web 302 tls has and let png www tcp use 443 run one 1px utf key css pub off pem x3 cn 80 by ms hr h1 up +Openbsd.Dokuwiki:1632736037: Openbsd.Openhttpd Openbsd.Php : post_max_size certificate connection subdomains fullchain directory 104857600 openhttpd challenge location dokuwiki request fastcgi openbsd example uploads preload private socket larger listen server vendor please htdocs block index match allow first alias known strip well read 100m data file edit hsts port body drop root acme conf etc php ini com bin www 443 and tls pem key ssl run fpm inc kb 2 +Openbsd.Cgit:1632736037: : webinterface certificate unconfirmed request_uri my_project repository challenge snapshots http_host fullchain linecount filecount location nofollow fastcgi openbsd pkg_add renewal favicon virtual noindex slowcgi private robots socket create inside enable ircnow cgitrc listen return server https links chown strip block known certs mkdir title httpd clone desc root dscm logo name doas user home bare init path scan port drop acme need well make sure this like edit also www pem var ssl key etc org 302 tls 443 the run you may png css for bz2 tar zip gz mv 80 ln cd 1 +Openbsd.Oscommerce:1632736037: : cryptocurrency databasename permissions currencies previously privileges identified oscommerce installing localhost following correctly accepting initially function payments settings password command created follows flushed section applies oscuser openbsd listing example default resolv should erased server prices chroot module globee grant which mkdir there after coped first order with your sure make when also only that conf been cert must done into move type said many fiat both for are usd etc www sql ssl var pem can not has 127 up cp by 0 +Openbsd.Pppoe:1632736037: : authproto encounter keepalive hostname syspatch abcd1234 authname pppoedev default example authkey timeout openbsd pppoe0 errors match route scrub 12345 nfe0 sure make none sbin 1440 conf dest inet etc 255 mss com run ifp add you may pap max lcp up pf +Freedom.Experiment:1632736037: : democracies experiments republicans conclusion government democratic community governing different republics political strongest consider everyone studying gathered network history anarchy america largest nations succeed failure digital council freedom because created control exists vision reason ircnow models other aware users quite spent forms those being first where total world chaos will time jrmu this that from many best self rome have make know full and all end not but lot of we my 44 08 43 42 up by +Www.RecentChanges:1632736037: : recentchanges august 2020 jrmu www 16 at 06 07 am by +Relays.RecentChanges:1632736037: : recentchanges february relays 2021 jrmu 22 at 04 pm by +Gazette.Gazette:1632736037: Openbsd.Slrn NNTP.Claws NNTP.Evolution NNTP.Thunderbird NNTP.Seamonkey NNTP.Sylpheed : communicator newsleecher thunderbird newswatcher simpletable newsreader newslazer evolution groupwise seamonkey freepress marketing explorer sortable easynews sylpheed turnpike windows arachne browser newsbin gazette sabnzbd spotnet openbsd bintube network macsoup license newsnow android alpine attach python lgplv2 border groups lfloat google novell grabit usenet unison ircnow nzbget beonex forté mplv2 lotus agora knode claws https arena index notes title class xnews opera agent gplv3 linux width 300px argo mail nntp wire slrn wiki name gnus mutt lynx mode line ✓ 100 png php the – pan web ios org ms mt +Openbsd.Censord:1632736037: : mammaknullare first20hours kuksugare çocuğu japanese spanish chinese turkish sikerim censord english swedish openbsd russian orospu github google arabic banned german jävel slampa words greek fitta 10000 https slyna tamil hindi idiot dutch piç bög hora urdu list com +Openbsd.Php:1632736037: : configuration php74_fpm redirect location install openbsd pkg_add fastcgi example access errors listen socket server enable rcctl start check less doas logs 8080 port var www for run com to +Openbsd.Opensmtpd-relay:1632736037: : imsg_smtp_message_create authentication permissions local_mail relay_dkim opensmtpd necessary temporary directory following fullchain outbound virtuals password probably username secrets support require dovecot getting restart aliases openbsd domains private include holding action inside failed ircnow tables passwd listen egress sender solved error match doing rcctl spool hosts means 10027 10028 queue setup mask pony from conf note lmtp even else when rcpt this stop that file must mbox cert var org any for 587 you etc has lo0 421 tls all can run are len and tag src pki ssl pem 535 may key 127 be it by dv if 25 +Openbsd.Dkimproxy:1632736037: Opensmtpd.Configure DNS.DKIM : min_spare_servers dkimproxy_out min_servers information _dkimproxy historical domainkeys signatures separated lecturify configure opensmtpd processes purpsoses location selector forwards redirect running domains specify private consult address relaxed control openssl perldoc openbsd pkg_add prefork options keyfile genrsa spaces others pubout reject please ircnow listen record public should enable chown start mail1 error comma 10028 these mkdir guide found rcctl nofws relay 10027 uses doas what more many note this 1024 port name kept dns put can and net 127 etc org new by mv be 5 +Openbsd.Syspatch:1632736037: : automated syspatch prevents machines patching crontab cronjob setting running openbsd patches provide bottom system random binary unique starts update ensure exact would sleep added which 43200 title https helps doas down slow time same from this sbin been line that the usr man org has can all by +Openbsd.Squirrelmail:1632736037: : sqsession_is_active php_session_active sqsession_start session_status webmail_access compatibility webmail_error squirrelmail applications challengedir environment configuring certificate sourceforge attachments letsencrypt installing configured generation fullchain directory functions subdomain location creating redirect projects include already fastcgi request restart contrib uploads openbsd virtual example started private service unbound listen return locale htdocs server global client socket create master system readme ircnow hosted stable chown touch index rcctl mkdir httpd zones where chmod again certs block https known files strip class 2605 data doas work exec type find aaaa root faa1 6400 xvzf wget well acme port wiki help sign must with will net zip www the var 644 755 fix nsd 451 bin new ssl tls log etc key crt pem set 403 fpm 443 run and you 700 cd 22 10 be 30 gz rm fv cp 80 +Orange.Notes:1632736037: Openbsd.Ngircd Openbsd.Hopm Openbsd.Openhttpd Openbsd.Acme-client Openbsd.Znc Openbsd.Relayd Openbsd.Oidentd Openbsd.Eggdrop Openbsd.Nsd Openbsd.Opensmtpd Openbsd.Vhost Openbsd.Dovecot : configuration bash_profile troubleshoot directories preferences components configured opensmtpd openhttpd subdomain correctly installed cpanminus overrides services username yourself outcomes hostname personal commands openbsd detects manpath someone assumes connect publish receive dovecot without message address easiest channel oidentd navarro compile bouncer eggdrop manuals account modules plugin second custom course relayd mytest create saying bashrc change ngircd simply export mlocal server client editor orange method errors vhost brian would users email after named perl5 check found notes learn files world panel https which hello names other basic cert make join that them have same acme root imap wget this read send page need such work link once from hopm show like echo chat home bans text eval line will 2010 were juan else lib znc log nsd set web foy may way are can etc for vps tcl any app non far up if by be +Shell.ShellSSHKEYS:1632736037: : authorized_keys authentication shellsshkeys instructions applications passphrase configure important including directory generated clipboard requested procedure otherwise passwords assuming yourname detailed puttygen username starting specific platform creating directly creation discard whether editing looking account changes without command android windows instead program guessed present created having cannot public copied notice should folder __make access unlike keygen second insert ircnow termux during actual prompt begins appear either editor select cursor moment found click users right press might https linux added close paste empty leave again there chmod items shift title since order links which based first those using guide file text into copy sure once many this want ctrl that back were will home data need show mail open time nano from just safe asks unix used pair save part next such more also all git log end see are rsa way lot let row new yes www one mac set who 700 600 of up go pc cd 1 2 +AncientWisdom.RecentChanges:1632736037: : ancientwisdom recentchanges august 2021 bio 30 at 10 51 pm by +GrapeTeam.RecentChanges:1632736037: : recentchanges grapeteam tracker august jrmu 2020 gry 24 by at 10 13 16 +Shell.Putty:1632736037: Shell.Sshfingerprints : openssh_install_firstuse authorized_keys sshfingerprints administration connecting powershell invisible microsoft necessary puttygen download username generate versions password greenend sgtatham replace address example private windows account consult default running records button server select attach latest ircnow chiark public client verify recent config bottom cause after paste https win10 right click ready start title press check sshfp fruit login built your need real with file into host type this pair fill ssh2 john then that have know port page docs here when come html and ppk set fun don one org hit isn www png for can dns are not fpr by 22 be go uk +Grape.Minetest:1632736037: : minetest_join_03 minetest_join_02 minetest_join_01 distribution interesting application instruction afterwards characters executable convenient connecting installing additional registered screenshot downloads available dragonfly subfolder questions operating wonderful official consider password username numbers players website archive channel support further welcome address contain letters playing joining openbsd freebsd windows android server please option center ircnow static images device fields unpack system start grape https least linux latin macos users shown 30000 other there files first click your this will with game good need must fill time long that want have chat find team into next org can are for any gnu png its run bin www if 8 +Openbsd.Netadmin:1632736037: : responsibility technically mindlessly netadmin networks blogspot belongs openbsd repeat howtos https based paste bsdly there heart other users after 2011 mine like will many this none from with code care html just not com but lot for and me my we +Debate.Bncnow:1632736037: : intelligently connections disconnect intuitive multiplex plaintext warnings security verified networks succeeds timeouts greater openbsd instead logging chooses written repeats bouncer minutes psybnc debate client chroot glined glines pledge handle unveil bncnow single future friend access hacker issue users times every using again retry onto like this that only have over does best once unix more then than one don znc can non ssl 200 all for has irc lot of we so 5 +Orange.Ru:1632736037: Orange.Orange : совершенствовать предоставляем производится пользователя подключаться регистрация принимаются французском английском пожаловать обращаться апельсином добавлена индийском друзьями арабском помогает запросы датском хостинг руснете слышать баунсер русском сервере создать прямого языках отзывы сейчас услуги группы режиме погоду разных хотите доступ одного просто пишите можете помочь группу почте будем нашем будет вашей через добро почта эфира позже текст также можно много чату есть свою если сети ника бета рады файл боты игры дают metacpan наши ваши support для или ircnow orange вас нам search веб plugin https 1гб мы sftp эл пк size perl org bot php ru 20 q +Ircweb.RecentChanges:1632736037: : recentchanges october ircweb 2020 jrmu 05 at 01 10 am by +Http2irc.RecentChanges:1632736037: : recentchanges http2irc october 2020 jrmu 05 at 01 04 am by +Stopm.RecentChanges:1632736037: : recentchanges january stopm 2021 jrmu 31 at 12 36 by +Mango.RecentChanges:1632736037: : recentchanges december packages january mango 2021 todo jrmu 2020 nix 31 by am 48 10 at 30 12 pm 04 01 06 +Third.Third:1632736037: Third.Directory : matterbridge marketplace educational advertising courseware oscommerce malikania telephony directory ecosystem pastebins suggested minetest software undeadly projects asterisk centered eggheads telegram play0ad eggdrop icecast openttd bridges discord catalog paster fluxbb pmwiki github python signal botnow mining social imgup third slack media 42wim https using title blogs party games forum user perl nltk book free data bots apps chat www org web irc and +Jujube.RecentChanges:1632736037: : recentchanges february january jujube 2021 todo jrmu fizi team by pm 04 01 at 06 13 11 22 05 +Freedom.Religion:1632736037: : righteousness thanksgiving guarantees religious establish marketing community peaceably religion official congress disgrace petition exercise language liberty freedom welcome network gather attach speech policy ircnow rfloat exalts belief users level press staff title under width 400px trust shall stop make but sin one are any not jpg god +Opernbsd.RecentChanges:1632736037: : recentchanges opernbsd december buyvm 2020 jrmu 04 at 12 06 pm by +Minetest.Minetest:1632736037: : installation multiplayer functional miniontoby available dragonfly unzipping downloads copyright minetest releases nickname features password windows servers openbsd distros joining android pkg_add address freebsd pasword github ircnow ubuntu debian source engine client better mostly folder called double liking enter win32 click later linux first usage about start again grape after https there based intro win64 games macos voxel time list type need from more your make mods port tabs site will some have 2021 sudo doas many one org gnu for run can com www apt bin exe bit we of mt 5 8 +Openbsd.Vmmlinux:1632736037: : yvkispem7vkus5qfosqaeu installation connectivity fingerprint convenience brzkpyqmho networking afterwards statically interfaces background different reinstall configure operating systemctl username loopback shutdown hostname outlined assigned vmmlinux password restart coconut account openbsd running console gateway address execute replace crontab follows primary service netmask machine unpause default reboot ircnow alpine create forget escape debian please ensure serial inside losing access source enp0s2 sha256 mygate vmctl below right while iface there extra usual based qcow2 given guest first found ecdsa a0lir once true sbin your note done ping auto runs that will this inet vio0 stop with away then tmux from case well make type log new 162 ssh 255 usr put 20g any set can vps but how dig tyc and etc xxx key 87 38 i5 rm ip up by +Donations.RecentChanges:1632736037: : recentchanges donations june 2021 jrmu 08 05 23 am by +Debate.Zoomdanger:1632736037: : arstechnica zoomdanger encryption debate policy users years https about lied 2020 says end for ftc com to 11 +Debate.Uberdanger:1632736037: : uberdanger california business nytimes economy workers ballot debate https 2020 lyft html com www gig 11 +Debate.Outreachkids:1632736037: : characteristic outreachkids discriminate unconscious orientation detrimental oppression compassion experience stereotype microsofts minecraft education embracing community activism together villages slashdot uniquely neighbor training genocide comments hnicity through 1426210 doubles against empathy slavery special extreme justice lesson people negati behave debate social gender larger sexual biases bring while cause power https notes makes scale guide based their diver being story other even that lead vely jrmu this both when some hour code year sity push will 2020 news your used help and can now two net for all org 03 44 37 17 52 45 22 05 13 11 +Debate.Matrixflaws:1632736037: : matrixflaws development safeguards wikipedia developer project outside getting process control donors really source ensure debate place money https their users jrmu from that look have they what team but org you put are to 03 36 26 20 24 58 is of 25 54 +Debate.Debiandanger:1632736037: : debiandanger distribution google’s goobuntu itsfoss ubuntu debate glinux choice https house more jrmu the new for com 36 no 28 03 18 +Ircnow.Partners:1632736037: Openbsd.Ilines Ircnow.Networks : requirements harassment marketing advertise recommend supported criminals permanent together phishing channels scamming activity properly benefits partners evidence networks bouncers iwojima openbsd labeled content provide filters carding reports contact respond illegal ircnow shells ilines needed combat reduce attach obtain advice select relays either abuse adult needs users title false width 40pct ifend admin email bring share your nsfw link will with spam must ddos over site stop many logs deal here help list and org can for set png how we of +Tutorial.RecentChanges:1632736037: : recentchanges tutorial january 2021 jrmu 01 at 03 25 am by +Openbsd.Stable:1632736037: Ircnow.Servers : scrollback 2020123100 timestamp procedure collision separate username changes example another sending support members channel editing servers advance openbsd actions number backup entire ircnow emails assign should leader serial stable config report logged notify avoid every check major daily pages tasks taken fruit copy need with work team that each sure doas make your save must read wiki when all org for and day by of to cp +Openbsd.Team:1632736037: Ircnow.Servers Openbsd.Police Openbsd.Ilines : investigate disconnects discussion connection 2020123100 scrollback broadcast timestamp procedure teammates sensitive collision customer training separate downtime assigned username frequent adminlog announce everyone networks channels another editing openbsd example provide support sending moddata actions minutes advance servers present changes members request related serial number notify before notice leader should ircnow status backup either police emails ilines issues glined entire logged config report taken wheel fruit major cause opers abuse avoid users check daily right least there pages claim tasks help with home must that each away them will bugs your same need meet smtp sure doas when save copy read make wiki him msg any see and are day all org fix his znc may ten new of by cp +Cherry.RecentChanges:1632736037: : recentchanges cherry march todo 2021 may oz by pm 23 03 at 01 43 +Openbsd.Announce:1632736037: Openbsd.Wall Ircnow.Servers : announcements maintenance broadcast upgrading procedure important scheduled expected restored patience affected messages downtime upgrade roughly service servers changes channel example support minutes updates mailing openbsd clearly because before ircnow system please thanks around should result repeat status notify notice users email using major write shell fruit every title which place state begin doing will wiki wall when take your list doas 2021 need team motd some plan send what this msg utc and may see znc the any org are jan log etc on of 22 30 we 00 cc 10 8 5 +Guava.Todo:1632736037: Openbsd.Acme-client Openbsd.Botnow Guava.Guava Openbsd.Newdisk Openbsd.Team Openbsd.Stable Openbsd.Znc : background attempting donations procedure tableend practice changes openbsd upgrade version perhaps coconut collect deleted newdisk patreon country correct client botnow please paypal 32ff7e remove skrill stripe 0a3d62 limits cellnr update before ircnow adding stable server ffaf40 color guava style setup money check payza title users major certs files these httpd first todo conf need team rate skip make your sure acme note list test done page any hit znc all org and are ssl way etc out fix if of 8 1 +Fig.RecentChanges:1632736037: : recentchanges january march chewy 2021 jrmu todo test dima fig log at 31 by pm 06 01 10 11 15 am 07 23 +Users.RecentChanges:1632736037: : category_mirrory categorymirrory recentchanges january users wrong caps 2021 12 by pm 01 08 10 03 04 am +Debate.UnixPhilosophy:1632736037: Debate.Debate Users.CategoryMirrory Freedom.Unix Freedom.Software : category_mirrory categorymirrory implementation unixphilosophy centralization implementatoin implementaions significantly documentation modifications understanding coding_style counterpoint dependencies interactive differences familiarity unnecessary integration perspective impossible developers permissive dependency guidelines management technology extraneous habituated interfaces internally networking simplicity openhttpd opensmtpd principal learnbchs naturally languages operating malicious recursion standards proponent combining ecosystem including cognitive otherwise disagree provided databses software reliable suckless programs together original upstream specific opposite approach yourself endorsed platform attitude licences required sources opinion freedom effects complex focuses instead license trivial history problem aspects protect dynamic debates fosters linking centric details audited current project feature another without suppose openbsd achieve changes because written towards unbound similar behind static prefer google easily master branch making native ircnow secure crypto author intent action nature domain design follow things client modify reader rights forked should public better factor output become revise pinata people allows rather stable needed simple itself choice clause avoid https trust input often creep users party techs shell trend being ships types major forks tight makes title going small about stuff build works which worse there calls tools index click linux text well repo does when what from they mean that must back list send this long over edit push copy wiki have apps tmux acme much perl korn wide lack deps apis rest next flow 0bsd fast side than mind upon meta code such fail etc org say but 3rd try any how nsd cc0 don gpl add php run toc mit has web by 2 +UsersCategoryMirrory.RecentChanges:1632736037: : userscategorymirrory ircfreehomesteadvps category_mirrory recentchanges statement pioneer january 2021 test july 17 pm 03 by 26 08 am 44 06 12 22 04 +OpenBSD.Perl:1632736037: : permissions libraries incorrect importan required created default execute s_iwgrp openbsd s_iwoth before access custom result during value wanna write users other owner umask those share usage cause perl will only some dirs cpan with need have man 022 you set if +Openbsd.Loginconf:1632736037: Openbsd.Singleuser : 6dd62d70bdd3bab6 troubleshooting alphanumeric successfully previously singleuser utilities softraid0 following automatic partition loginconf switching connected requested described keyboard username stopping scsibus3 shutdown pathname continue retrieve mounting scsibus4 download revision checkout terminal cap_mkdb openbsd console probing loading quickly content missing suppose coconut started failure letters prevent targets default example deleted return export system cvsweb before bootup vscsi0 115200 access lostpw reboot ircnow https press enter shell order class xterm write title tty00 amd64 usual paste plain might error basic vmctl using speed ttypa drive boots sd0a type text then were com0 link this into sd0b copy dump have swap root from grab edit here only read save disk them mode some want hint faq8 baud html your quit 510m 638k cgi can set dev etc may org 256 src see fix are usr way mem a20 was pc0 www and hd0 18 rw +OpenBSD.CPAN:1632736037: : permissions libraries incorrect importan required created default execute s_iwgrp openbsd s_iwoth before access custom result during value wanna write users other owner umask those share usage cause cpan will only some perl dirs with need have man 022 you set if +Openbsd.Slrn:1632736037: : installation configure compiling download releases connect extract support jedsoft example pkg_add openbsd version latest server ircnow create export attach prefix local usage ports slrn1 first snews user home path make http nntp wget doas with find xjvf from you ssl png the bz2 tar 563 org and can bin to 3a cd 0 +Debate.Ipsec:1632736037: Openbsd.Iked : implementation administrators unnecessarily compatibility configuration certificate censorship impossible wireguard authority companies configure somewhere literally sometimes operating protocol obsolete although paranoid security software business hundreds openbsd systems changes agility clients warrior upgrade connect conduce process laptops imagine matters unable server phones cipher normal middle people ipfire needed reason weaker import bypass native debate deploy months using ipsec https their tried those would doing sales years sized which title world today allow lacks there users force this have many will that like same shut down iked easy from blog post even your very were case road next with out and cut etc off job org why not has vpn 200 who ssl be +Jrmu.RecentChanges:1632736037: : libertyordeath recentchanges rmsboycott marriage february april jrmu 2021 may bio by am 22 05 03 28 14 01 pm 56 12 23 36 +Ircnow.OpsofLiberty:1632736037: Ircnow.Goals Third.Third Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Marketing.Marketing Ircnow.Roadmap : documentation opsofliberty commitment philosophy experience optionally marketing questions sysadmins reporting software networks familiar policies stations customer training internet howtoask roadmap hosting freedom servers improve connect support minimum channel ircnow duties invite rfloat mentor become attach reward resume gaming coding would goals third hours users abuse tasks their other party title using power apply wikis blogs radio learn smart rosie 300px width with help bots much your team week unix such read oper must more chat will they like join and for get one can png new add own non cv if 5 +Openbsd.Audit:1632736037: Openbsd.Ddos Openbsd.Phishing Openbsd.Shellinjection Openbsd.Rootkit Openbsd.Backdoor Openbsd.Dos Openbsd.Spamming Openbsd.0days Openbsd.Rootkits Openbsd.Chroot Openbsd.Pledge Openbsd.Unveil Openbsd.Pf Openbsd.FilePermissions Openbsd.Databaseperms Openbsd.Passwords Openbsd.Ssh Openbsd.Secureweb Openbsd.Ids Openbsd.Trust Openbsd.Defaultdeny Openbsd.Sshkeys : vulnerabilities filepermissions shellinjection untrustworthy databaseperms compromised filesharing impersonate defaultdeny configured constantly mitigation reputation signatures exploiting everything impossible protecting vandalized interested relatively passwords attackers backdoors important thousands determine computers affecting perfectly verifying expressly obscurity secureweb databases operating intrusion improving switching disasters detection difficult teammates discussed extremely rootkits security reducing intruder changing customer services internet firewall phishing personal advanced consider download software hundreds supposed spamming planting yourself sections attacked crackers spammers approach properly standard kiddies sshkeys openbsd require thieves product planted systems because someone logging pretend upgrade version hacking windows towards execute attacks through private similar surface assured offline servers another enabled connect becomes example network illegal defense isolate improve prevent profile website denial pledge unveil public chroot should access manage called number stolen emails ddosed amount stupid simple ircnow moving notice effort simply active script harder credit skills except easier source reduce placed permit latest policy loaded leaked please there small steal could using 0days going hopes block write hosts means known users warez fixes never linux title audit being types doesn might chats spend steps basic taken state harm thus will this that card more fake nick info what them best hand they with safe stop have much from like when aren code make must good high next read used name just each mind tech apps bugs fail try can don may low won has ids out too non add bad lie him who set mac any tls pf by pc +Openbsd.ZNCModules:1632736037: : clientbuffer cybershadow immediately zncmodules specified configure directory fail2ban unbanned download attempts generate makefile blocked minutes allowed timeout because openbsd options install archive command suppose restore output master enable search python daemon failed github number please relayd access source active unload hosts extra panel which their issue count would login after these broke title mkdir https gmake tried party unzip chown this help more jrmu doas your list home want code uses tips like team bans some cpp 127 3rd tcl has for ftp etc one got don web can are of cd 37 mv 20 no 8 +Openbsd.Setuid:1632736037: : login_lchpass login_passwd login_chpass traceroute6 temporarily privileges themselves executable developers lockspool interface essential operating programs normally shutdown security binaries designed packages executed allowing probably libexec network packets example massive exploit command because created keysign openbsd warning serious trusted audited delete setuid allows access server setgid become authpf detect listen system files ping6 would above could these other guess those badly watch title users owner group staff short owned than more send lprm doas have must sbin chsh flag chfn 4000 perm find that pppd part your risk want then with same lets this root noip here will only such when but non usr for any run can are may see ssh bug has to by if of +JuiceSSH.RecentChanges:1632736037: : recentchanges juicessh connect august 2021 jrmu 13 at 04 pm by +Openbsd.Security:1632736037: Openbsd.Ddos Openbsd.Phishing Openbsd.Shellinjection Openbsd.Rootkit Openbsd.Backdoor Openbsd.Dos Openbsd.Spamming Openbsd.0days Openbsd.Rootkits Openbsd.Chroot Openbsd.Pledge Openbsd.Unveil Openbsd.Pf Openbsd.FilePermissions Openbsd.Databaseperms Openbsd.Passwords Openbsd.Ssh Openbsd.Secureweb Openbsd.Ids Openbsd.Trust Openbsd.Defaultdeny : vulnerabilities filepermissions administrators shellinjection databaseperms possibilities configuration additionally defaultdeny responsible filesharing impersonate concentrate protecting absolutely relatively regardless interested constantly accounting exploiting configured vandalized mitigation reputation techniques everything encryption authorized attackers disasters typically discussed hopefully passwords important unsecured teammates firewalls obscurity computers upgrading determine thousands extremely difficult necessary backdoors hardening secureweb detection connected intrusion intruders expressly perfectly databases security phishing software consider hundreds services ensuring properly rootkits internet building personal machines involves securing guessing choosing everyone obscured spamming customer programs planting daunting although advanced possible exploits supposed yourself attacked crackers spammers approach standard sections overview document towards reasons require openbsd defense product network systems because profile execute similar improve perhaps thieves example kiddies targets private through logging enabled offline gaining becomes illegal hacking planted attacks website assured servers records pretend prevent someone keeping single public duties chroot ddosed credit should access ircnow except permit strong loaded unveil leaked pledge policy stolen trying denial called easier things guides moving skills notice active source number larger placed emails effort making simply script hoping using local rogue among known which trust there based steal small sites later their 0days means other those hands avoid being doing hopes users title chats spend steps block types might taken basic doesn state write could bugs this they more much just size must that make only hole time thus code have name with host used most good same fake will card info nick else part also what fail when area from ways show sshd than task best next read mind keys apps harm high many want each rely dial can may low won has ids don out too non who ppp set lot few him lie by pf 5 1 2 4 3 +Freedom.Press:1632736037: : infringement pornography uncensored censorship individual necessary establish copyright marketing amendment decisions peaceably congress religion petition official exercise welcomes illegal freedom servers network applies however content retains service threats example control violent 100pct debate ircnow gather rights policy ensure rfloat attach speech first title allow users their terms local there press staff rules width order shall make stop this only also each ages will that wide with must and own for its set any png not +Dns.FQDN:1632736037: Dns.Registrars Dns.Zonefile Dns.Records Openbsd.Vhost Openbsd.Dig Openbsd.Host Openbsd.Nsd Openbsd.Unbound : automatically nameservers impossible identified completely registrars unexpected qualified shorthand something zonefile remember appended defining probably purchase appends example records because instead current openbsd unbound snippet defines however reason origin period domain anyway easier unless needed points second ircnow simple system files there vhost which means cname level since fully entry still using write every blank these title would comes after lacks other with fqdn will does that mail this look make used when root like also have give what want you dns are ns1 www ns2 ips for but org nsd top dig net dot not don see own why of 10 up 3 +Freedom.Openforeveryone:1632736037: : openforeveryone shadowbanned accountless privileges persecuted religious neglected clueless internet whatever platform language yearning services culture english outside network provide country freedom accepts connect welcome newbies attach walled rights ircnow belief rfloat people refuge common become world might users savvy title store these 50pct torch width linux those tired have they give race this your part from safe goal hard send that rich tech only also poor hope whom chat and png but not app are of +Freedom.Selfadmin:1632736037: Freedom.Unix : administration professionals corporations proprietary administer themselves controlled understand philosophy configure dangerous knowledge investors strongest corporate platforms selfadmin marketing educated networks software recruits maintain hardware training powerful provides install liberty freedom without ensures defense trained quickly vendors sharing depend simple follow coding system insist ircnow entire rfloat attach normal always rather highly govern unlike users learn where after brief 300px width among staff their other rosie hands class elite guard title cloud being never have code only well that unix will this easy fork rest need upon does than from host uses able can own png not our by +Servers.RecentChanges:1632736037: : recentchanges february servers rights 2021 jrmu 28 at 12 37 pm by +Freedom.Firstamendment:1632736037: : firstamendment infringement pornography censorship uncensored individual necessary peaceably marketing decisions establish copyright congress religion petition welcomes exercise official redirect illegal freedom applies network control however example violent servers retains content service threats ensure debate attach ircnow rfloat speech policy gather 100pct rights users rules press local allow terms width shall staff title their order there each make will only stop with that must this also wide ages set not png its own any and for +Freedom.Madeonirc:1632736037: : principles madeonirc ourselves practical marketing solutions attitude internet problems freedom better attach rfloat invent proud build trust world title width 400px with make anew time have rely come real and png the get can god to up +Unix.Ethic:1632736037: Debate.Dogfooding : livefreeordie documentation dependencies unnecessary interactive developers dogfooding philosophy guidelines permissive integrate marketing standards languages interface learnbchs software internet program openbsd tightly license another written audited feature choose follow debate native rfloat attach forked needed design prefer output widely easily better clause https avoid party write style stack title shell input ethic width 300px thing creep with perl unix work korn that well code used text when over gpl mit org our jpg can 3rd one own man web to by 2 +Unix.Workethic:1632736037: Debate.Dogfooding : livefreeordie documentation dependencies unnecessary interactive philosophy permissive dogfooding developers guidelines integrate interface languages learnbchs workethic marketing standards internet software program openbsd audited tightly written license another feature needed choose clause follow native widely prefer better output attach rfloat easily debate design forked party stack thing style https width avoid 300px write title shell input creep well over used code unix with text when that korn perl own jpg our 3rd can one mit org gpl web man to by 2 +Freedom.Startupdream:1632736037: : startupdream oregontrail billionaire opportunity connections monopolies regardless willamette neutrality marketing corporate business special network created country through freedom anybody highest welcome rfloat attach become elites valley online answer center degree build staff title clear users 300px width equal hard back have both rich poor what ceos from need next this new for the you png can are don how of to +Freedom.Homestead:1632736037: Vps.Vps : independence controlled homestead corporate marketing monopoly herdquit platform business frontier servers against freedom digital pioneer future system taking attach rfloat rigged there claim today title 400px build width want your wild west life don vps and are own irc jpg be by is of +Ircnow.Sheriff:1632736037: Vps.Vps Ircnow.Goals Freedom.Freedom Almanack.Almanack Openbsd.Police Ircnow.Networks Ircnow.Roadmap Ircnow.Finances : administration screenshots investigate application technology commitment collecting cutthroats understand experience suspected improving anonymous qualified marketing interview policing almanack internet security software progress deserted sheriffs finances salaries networks familiar stranger services accounts promoted evidence offline kiddies contact openbsd receive freedom friends someday improve reports ddosing roadmap hombres vicious abusers minimum botnets needed ircnow resume police cannot afford wanted rfloat become attach script remain reward duties source hours other staff goals guide apply email track title these extra learn crime while using doxed quick about width 400px howdy billy town your read this take help stop mean week know logs skid file with band isps west time hang all add get vps won new but see was jpg org job may pay cv by 5 +Ircnow.OpofLiberty:1632736037: Ircnow.Goals Third.Third Freedom.Freedom Ircnow.Howtoask Freedom.Unix Ircnow.Servers Marketing.Marketing Ircnow.Roadmap : documentation opofliberty commitment philosophy experience optionally marketing questions sysadmins reporting software networks familiar policies stations customer training internet howtoask roadmap hosting freedom servers improve connect support minimum channel ircnow duties invite rfloat mentor become attach reward resume gaming coding would goals third hours users abuse tasks their other party title using power apply wikis blogs radio learn smart rosie 300px width with help bots much your team week unix such read oper must more chat will they like join and for get one can png new add own non cv if 5 +AndroidEmail.AndroidEmail:1632736037: : androidemail security username password incoming optional starttls outgoing account setting server ircnow attach prefix width 480px enter type smtp imap path port step your open sign org the png tap 587 app new 143 add up 2 +Freedom.Independence:1632736037: : category_mirrory likegrapefruit representation thor_of_angels compatibility independence corporations unreasonable development competitors competition manipulated destructive advertisers independent obstructed themselves protection extremists punishment committees deplatform violations oversight arbitrary submitted networked pretended different establish pretenses lovelyred appealing therefore computers prevented institute platforms excluded declared software networks superior solemnly accounts absolute transfer invasion whenever deriving allowed without process created consent becomes tyrants against supreme evident publish benefit servers protest service silicon threats bgcolor leaving abolish tyranny freedom banned powers rights ircnow admins exists secure ruined locked profit giving stolen across united valley candid attach should factor lfloat center define direct truths sturtz signed yellow black users prove equal facts techs their error alter false death terms these under title taken rules break staff unfit judge world ought trial width 100px alone spied being align based they well that hold jobs self nate data show code have away jrmu text down just sold this from jury ends will any god png new aim our its has let not who by +Anope.RecentChanges:1632736037: : recentchanges installed replaced default anope lines added with nano 2021 may mkf not is vi 06 by at 47 16 am +Achurch.RecentChanges:1632736037: : recentchanges february achurch install 2021 jrmu 10 at 04 33 pm by +Marketing.Republic:1632736037: : constitution_we_the_people united_we_stand constitutionus wikimedia marketing wikipedia republic commons images source upload change serve https users thumb 640px file this org let jpg 0d en to +Marketing.Opportunity:1632736037: : this_land_was_made_for_you_and_me columbiaamericasgreathighway040 bierstadt_albert_oregon_trail new_colossus shadowbanned opportunity accountless wikipedia wikimedia marketing clueless firewall yearning newbies commons upload those ports https users linux tired give open your send from chat free poor door org png jpg the tor net 70 6e my +Tmux.RecentChanges:1632736037: : recentchanges shortcuts february mistera august config share tmux jrmu 2021 may mkf at 27 by am 12 05 15 56 pm +Oidentd.RecentChanges:1632736037: : recentchanges february oidentd install pylink 2021 jrmu znc by 27 pm 25 01 at 12 am 32 08 33 +Congress.RecentChanges:1632736037: : recentchanges procedure documents congress august march jrmu 2021 am by 41 06 07 at 04 50 01 +Minutemin.Training:1632736037: Irc.Irc101 Shell.Shell Unix101.Unix101 Unix201.Unix201 Unix301.Unix301 Unix401.Unix401 Unix501.Unix501 Unix601.Unix601 Ircnow.Goals Ircnow.Roadmap Freedom.Freedom Ircnow.Constitution Minutemin.Code Openbsd.Doas Openbsd.Syspatch Tcpip.Overview IPv4.Overview IPv6.Overview Openbsd.Ngircd Openbsd.Hopm Openbsd.Netcat Openbsd.Ping Openbsd.Dig Openbsd.Openhttpd Openbsd.Acme-client Openbsd.Php Openbsd.Pmwiki Openbsd.Znc Openbsd.Relayd Openbsd.Oidentd Openbsd.Dns Openbsd.Vhost Openbsd.Host Openbsd.Unbound Openbsd.Nsd Openbsd.Staticnet Openbsd.Opensmtpd Openbsd.Spf Openbsd.Dkimproxy Openbsd.Dmarc Openbsd.Mailopenproxy Openbsd.Dovecot Openbsd.Team Openbsd.Stable Openbsd.Testing Openbsd.Ongoing : decentralization troubleshooting congratulations discrimination aliendata_josh vunerabilities deplatforming authoritative investigation mailopenproxy republicanism independence constitution surveillance shadowbanned verification connectivity applications deplatformed indifference fundamentals dependencies independent development advertising description established centralized certificate presumption netizenship customizing configuring declaration simpletable serverwoman arbitrarily integration splinternet opportunity chewbakka85 programming accountless understand networking monopolies nameserver websockets principles blackbeard torrenting cryptobank miniontoby censorship dissidents javascript passionate harassment federation plantation cloudflare immigrants campaigned controlled installing jefferson ecosystem staticnet minutemin modifiers openhttpd advocated anonymity elections publisher arbitrary procedure political dedicated ircitizen configure homestead providers innocence marketing dkimproxy character resistant publicity opensmtpd addresses inventors supporter encourage religious searching exclusion anonymous mayflower abolition fediverse exploring unpatched violation languages copyright interpret webserver referral practice requires backdoor protests security cesspool insecure projects personal minetest frontier suitable governor williams disaster movement software merchant smuggler plymouth sortable dealings spammers brewster telegram religion settling congress licenses defender facebook indecent champion negative benjamin almanack children subpoena diplomat hamilton bullying dictator lawsuits training criminal censored services accounts yourself increase explorer pioneers sysadmin improved overview syspatch declares protocol continue password politics bootcamp unix401 openbsd privacy servers setting discord melting chamber liberty roadmap whitney hancock freedom unix501 unix601 raleigh captain ircians detects monitor bangcat dovecot youtube startup seizure divided orderly harmony sharing ongoing copying testing unlocks blocked purpose limited unix301 oidentd unix201 patriot unbound authors eggdrop command unix101 ethical abusers promote caching sheriff reports outlaws culture process partial silicon founder storage message bonuses outlook sending default systemd senator records madison private bouncer drafted effects warning acquire subline special hosting prevent justice federal reverse firefox virtue cancel border longer matrix strong always policy bridge mostly danger beacon seized faster clones unruly revoke chrome filter remote uptime domain heroes client coding powers police writes valley stable please skills voting attach issues lawyer resume ircnow ensure halfop double rfloat irc101 civics pmwiki relayd ngircd psybnc lesson netcat recite social needed orator nodejs samuel leader signer pirate walter assets native factor argued daniel dennis papers python walled gossip easily united garden rights thomas paypal tyrant accept vhost fewer tcpip staff dmarc reuse local email basic using gmail panel learn which about goals 300px setup shell width check linux title privs dream civil riots proud comes major judge honor fines coppa their voice these press total rtalk party adams libre owner henry smith wrote error first james chief roger reset class decoy boone early posts brave bible topic such fear also fizi nsfw from xmpp acme safe rust some bdfl life imap mass poor type have with fair john seas ipv6 file tech ping nntp dump ally oper folk penn hopm team that bans risk root 0day rush doas echo n00b read give real ipv4 isps fork take code perl gdpr none agpl bill tlds news when join 100 gry dns how znc jay due max dig lvl old php png ops vpn spf vps nsd ssl not bot eye quo pot fan any god who sms 3rd get 2x 3x 25 gb +Minutemin.Code:1632736037: : professional disciplined minutemin integrity marketing teammate selfless guardian loyalty respect service courage abandon warrior network trained freedom accept attach values ircnow rfloat expert defeat member middle system fallen honor tough title users width 300px serve admin code will chat with well quit here duty live the png not job way my +Tcpip.RecentChanges:1632736037: : recentchanges overview february tcpip 2021 jrmu 14 at 11 am by +IPv6.Overview:1632736037: : unfortunately hexadecimal compatible increasing everything necessary addresses providers backwards hostnames separated subdomain available contains messages accepted designed overview internet connect devices records support between servers hosting getting shorten correct becomes written tunnels special without unique unable custom subnet result single humans digits rather colons planet groups needed losing eight users avoid worth stack takes money order costs newer zeros older given title earth often price which email based major match means vhost there well ipv6 7334 8a2e 2001 ipv4 0370 0db8 from that 0000 each rdns than more this lack deal aaaa have just both only will dual must four work are you bit can far irc 128 web not and now was but two all by so 64 +Pgp.Create:1632736037: : simpletable mailvelope keyservers hockeypuck sortable nicknym openpgp surfnet upload design github ubuntu create border https width class docs your nyms leap com sks org 100 mit url edu io nl +AppleMail.RecentChanges:1632736037: : recentchanges applemail february connect 2021 jrmu at 04 38 pm by +Thunderbird.Connect:1632736037: Thunderbird.Pgp : authentication thunderbird02 configuration thunderbird05 thunderbird06 thunderbird07 thunderbird01 customize encourage configure manually starttls password username download settings complete security address account connect actions bottom server switch ircnow attach corner normal select click inbox tools email your once done left menu from open port fill imap smtp for png org ssl 587 → pgp and tab top new can 143 is we +Pgp.Upload:1632736037: : simpletable mailvelope keyservers hockeypuck sortable nicknym openpgp surfnet upload design github ubuntu border https width class docs your nyms leap com sks org 100 mit url edu io nl +AppleMail.Connect:1632736037: Freedom.Freedom Email.Email : chooseprovider addaccount02 addaccount01 proprietary selectapps connecting applemail consider gpgtools outgoing software incoming details specify freedom encrypt protect appears sending server attach ircnow unable client should source charge reason longer click begin using inbox https title login with then this done sign menu fill from your open help need type imap will want for but org can use png and may → +Webnews.RecentChanges:1632736037: : recentchanges webnews install march 2021 jrmu 08 at 05 13 pm by +Outlook.Connect:1632736037: : following outlook01 outlook03 outlook02 anything settings password username options account connect attach please server adress corner change button press steps first check after email ready buggs error open test join send have kind will know this then next left seen file new jpg for you and let too all don of if go +Outlook.RecentChanges:1632736037: : recentchanges february outlook connect 2021 jrmu at 03 23 pm by +PSFTP.Connect:1632736037: : psftp01 connect attach png +PSFTP.RecentChanges:1632736037: : recentchanges february connect psftp 2021 jrmu at 03 57 pm by +User.Welcome:1632736037: : intellectual shadowbanned opportunity accountless oppression oppressed religious corporate blessings preserve dedicted software economic internet business freedoms welcomes assembly language yearning clueless liberty outside worship network variety newbies invites online settle walled openly ircnow nation attach thrive rfloat legacy speech among enjoy store start every users creed title these 150px tired linux torch parts those width four from give your like help home poor will send type hope chat own and png god app for is by +Vim.Vim:1632736037: : whatuwanttoreplace newkeyword experience anything navigate replaces document commands keyboard specific keywoard install without pkg_add console disable bottom syntax insert search change enable saving single escape delete number please triger cheat sheet shift enter first write lines apply whith sents known right save quit jump type just last that show full mode them most exit this undo down left vim you for but set off can use 20 go up gg wq +Openssl.RecentChanges:1632736037: : recentchanges ancientwisdom openssl august check http june jrmu 2021 imap july mkf am 44 04 at by 30 05 pm 27 01 +Relayd.RecentChanges:1632736037: : recentchanges acceleration tlsmulti august relayd jrmu 2021 08 07 am 23 by 38 +Leafnode.RecentChanges:1632736037: : recentchanges leafnode february install 2021 jrmu 25 at 10 56 am by +Ln.Intro:1632736037: : automatically following indicates different symbolic username existing multiple command without python3 creates example appears folders server htdocs allows copies points easier binary places would local title which links lrwxr wheel handy files intro might path long this root list your show will what home that doas very used have such usr but put feb www var any the can now too new for web be so ln 24 25 07 ls of up 13 8 +Ln.RecentChanges:1632736037: : recentchanges february intro 2021 jrmu ln 25 at 12 pm by +Openhttpd.Hosting:1632736037: Openhttpd.Configure Acme-client.Configure Relayd.Acceleration Telnet.Http Pf.Guide : troubleshooting compatibility configuration automatically certificates acceleration verification alternative connections encryption afterwards requesting listening directory documents configure openhttpd forwarded establish challenge requested backwards directive providing browsers username examples modified creating firewall symbolic blocking redirect provided incoming searches location hostname multiple actually connects computer advanced rulesets response requests indicate slightly putting replace virtual address webpage default chroots servers instead hosting because support restart similar openbsd besides content finally testing assumes working blocks length notice delete relayd errors unable client domain adding reload except unlike allows ensure needed custom htdocs create ircnow begins should signed telnet enable folder points wishes daemon debug known guide check strip using rcctl lines files index below users other phone chown mkdir alive above quick proto https pfctl break title setup basic tells alias first reply would fruit might extra names doas this such them your want that home with html note used each link next will does have from some also make acme more then pass into mode goal time read well fine says here must were keep 2021 last date text type look else are sun feb can 302 gmt see sat www var url any new run 200 get tls dvv and etc may org man two ssl tcp has ips 443 by pc 80 27 10 22 55 07 34 28 +Minutemin.Game:1632736037: : decentralization discrimination vunerabilities torrenter2010 republicanism search_social deplatforming investigation shadowbanned independence indifference dependencies verification surveillance deplatformed constitution independent splinternet programming integration description accountless simpletable presumption opportunity arbitrarily established advertising development chewbakka85 centralized declaration campaigned federation immigrants websockets censorship javascript miniontoby monopolies passionate cryptobank cloudflare controlled charitable dissidents harassment unpatched modifiers publicity innocence ecosystem advocated character fediverse dedicated abolition providers anonymity homestead exploring elections ircitizen supporter resistant political minutemin sanctions interpret arbitrary inventors copyright protocols encourage jefferson publisher exclusion searching mayflower anonymous violation languages religious complain indecent projects licenses children sortable security defender personal negative requires software diplomat shooting generous increase religion criminal lawsuits password politics subpoena cesspool congress movement disaster backdoor sysadmin regulars frontier minetest protests brewster censored commerce telegram pioneers referral explorer settling facebook bullying patriots plymouth accounts insecure dictator dealings suitable williams governor smuggler merchant improved champion firefox liberty reports network justice seizure startup divided sheriff raleigh openbsd hosting privacy abusers whitney freedom ircians systemd captain bangcat limited drafted madison warning promote storage partial service purpose youtube founder outlaws copying special sharing netizen bonuses default melting chamber eggdrop orderly process discord culture servers harmony subline attract hancock ethical senator effects blocked bridges authors danger mostly factor domain virtue seized gossip filter policy strong beacon tyrant border unruly walled garden united remote cancel longer revoke easily resume ircnow donors accept orator signer matrix faster dennis pirate paypal skills powers police coding writes voting nodejs python custom assets halfop chrome always papers daniel walter leader samuel thomas native clones uptime rights shell coppa boone dream vhost press reset their linux posts party voice fines total width class brave comes libre staff privs judge adams email first evade owner james bible proud early civil chief error major roger smith these reuse fewer wrote about agpl nsfw risk real tlds with take xmpp when fork name rust game 0day ally news bdfl some fees mass nntp file oper cert life fizi isps fair folk hero john bill unix seas dump penn more safe none code gdpr rush have n00b devs type echo send from data and fan mif eye quo 100 old jay bot bnc gry any vps due max vpn znc ssl odd 3rd pot god sms gb 2x 50 25 3x +Almanack.RecentChanges:1632736037: : recentchanges september almanack august 2021 jrmu alt at by 14 07 52 am 27 08 +Immigrant.Welcome:1632736037: : intellectual shadowbanned accountless opportunity oppression blessings religious corporate immigrant oppressed yearning welcomes economic preserve internet business language software assembly freedoms dedicted clueless liberty newbies worship outside network variety invites walled rfloat attach nation settle thrive ircnow legacy speech online openly among enjoy creed users every store start title tired these width linux 150px torch those parts from your home poor give hope four will chat type help send like own and png god app for is by +Minutemin.Minutemin:1632736037: Vps.Vps Openbsd.Openbsd Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Training Openbsd.Ongoing Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation immediately optionally experience references commitment themselves sysadmins homestead improving interview following tutorials minutemin marketing questions finances howtoask internet training familiar salaries software progress applying recruits customer projects websites openbsd roadmap friends ongoing require joining freedom improve minimum someday promote include request account threats network chatter respond support willing servers number ircnow resume system worked please defend invite finish before attach become rfloat afford report cannot reward coding duties notice basic learn goals track third after weeks email hours shell legal phone staff seems party title 80pct ready their would being while width users smart write oper team your like help unix with real must hang time code good they full name this have take new vps add png out and org but got pay who if by cv 6 5 +Mail.RecentChanges:1632736037: : recentchanges openrelay march jrmu mail 2021 test by pm 03 04 at 07 +EthicalSource.RecentChanges:1632736037: : holierthanthou ethicalsource recentchanges april 2021 jrmu 04 at 01 56 am by +User.RecentChanges:1632736037: : recentchanges welcome march user 2021 jrmu 05 at 07 34 am by +Rbldnsd.Install:1632736037: : documentation portscanning installation lightweight permission researcher zonefiles different debugging shortened providers sometimes combined download globbing remember manually response commonly websites scraping delegate probably assuming realtime infected spammers criteria finding certain rbldnsd naughty example written meeting restart manpage listing account frowned ip6trie service banlist hosting easiest pkg_add reverse verbose section useradd support command listed custom ip4set daemon enable rc_cmd listen record should output normal google octets shodan making linode simple chroot zones rcctl local dnsbl space fails might every https above proxy works lists would names using after socks since title there below email block mkdir based like read bind than with open note that this upon many html sbin 1017 also made ipv4 3600 aaaa 2602 fccf test have from just sure they make your echo home more bots ipv6 used subr pexp doas else idea into does lets edit line give boot turn sent etc 214 142 166 ips www for its run are bit txt ksh usr org 183 how ns1 irc too 102 105 bad dig cd by 76 45 48 41 20 37 15 46 40 q +Ircnow.Chatforce:1632736037: Vps.Vps Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Openbsd Openbsd.Training Openbsd.Ongoing Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation references commitment experience optionally chatforce marketing tutorials questions interview improving homestead minutemin following software howtoask websites salaries projects training customer familiar sysadmin progress applying finances warriors recruits internet ongoing freedom improve include someday roadmap promote openbsd request require account friends willing network minimum support joining ircnow before finish report coding become please number worked system invite duties resume attach cannot afford deploy rfloat reward phone track title legal email elite staff corps seems basic party after third write hours goals while weeks would learn shell proud smart width 80pct help this must that time user your with team code unix hang good have lead name full like take and the png vps way few but out pay org new add by cv if 6 5 +CodeForce.Bootcamp:1632736037: Irc.Irc101 Shell.Shell Unix101.Unix101 Bouncer.Bouncer Irc.Services Irc.Chanop User.Welcome Ircnow.Goals Congress.Procedure Unix101.Vi Unix101.Mg Unix101.Filesystem Unix101.Files Unix101.Commands Eggdrop.Rss Eggdrop.Trivia Eggdrop.Duckhunt Eggdrop.Biblebot Znc.Install Psybnc.Install Doas.Configure Openbsd.Doas Syspatch.Syspatch Tcpip.Overview IPv4.Overview IPv6.Overview Tcpip.Sockets Openbsd.Netmask Openbsd.Anycast Openbsd.Staticnet CodeForce.Ifconfig CodeForce.Route Openbsd.Dhcpd Openbsd.Ntpd Openbsd.Pf Openbsd.SSDP Openbsd.ACKFlood Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.Amplification Ircnow.Roadmap Minutemin.Code Minutemin.Server Minutemin.Duty Minutemin.Questions Servers.Rights Openbsd.Announce 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 Ngircd.Oper Ngircd.Install Hopm.Install Netcat.Irc Netcat.Smtp Netcat.Imap Netcat.Http Openbsd.Ping Telnet.Http Openssl.Http Openhttpd.Configure Openhttpd.Hosting Openbsd.Httpopenproxy Openhttpd.Perl Openbsd.Php Openbsd.Squirrelmail Openbsd.Manna Acme-client.Configure Openbsd.Pmwiki Znc.Chroot Relayd.Acceleration Oidentd.Install Oidentd.ZNC Openbsd.Ilines Openbsd.Identd Dns.Overview Dns.Records Dns.Registrars Openbsd.Vhost Dns.FQDN Nsd.Configure Nsd.Masterslave Nsd.Troubleshoot Openbsd.RDNS Dns.Zonefile Openbsd.Delphinusdnsd Openbsd.Unbound Openbsd.Dig Openbsd.Host Openbsd.Unboundadblock Openbsd.Dnsbl Openbsd.Rbldns Openbsd.Opensmtpd Openbsd.Spf Openbsd.Dkimproxy Openbsd.Dmarc Mail.Test Mail.Openrelay Openbsd.Dovecot Openbsd.Team Openbsd.Stable Openbsd.Testing Ircnow.Networks Openbsd.Botnow Openbsd.ZNCUser Openbsd.ZNCAdmin Openbsd.ZNCSupport Openbsd.ZNCModules Openbsd.Wraith Openbsd.FilePermissions Openbsd.Got Openbsd.Gotweb Openbsd.Sftp Openbsd.Sshkeys Openbsd.Sshbackdoor Openbsd.Vmmuser Openbsd.Install68 Openbsd.Upgrade68 Openbsd.Bsdrd Openbsd.Fdisk Openbsd.Disklabel Openbsd.Growfs Openbsd.Newdisk Openbsd.Tcpdump Openbsd.Intro Openbsd.Buyvm Openbsd.Vmminstall Openbsd.Vmmlinux Openbsd.Upgrade67 Openbsd.Sysupgrade68 Pf.Guide Openbsd.PFStable Openbsd.PFTesting Openbsd.Ddos Openbsd.Iked Openbsd.Police Gnupg.Create Gnupg.Verify Netpgp.Create Signify.Verify Vpn.Vpn Tor.Torsocks Tor.Hidden Tor.Irc Openbsd.Sshd Ssh.Client Openbsd.Ii Openbsd.Sic Ngircd.Link Ngircd.Ssl Openbsd.NgircdLink Openbsd.Acopm Achurch.Install Anope.Install Pylink.Install Openbsd.Bitlbee Openbsd.Matterbridge Openbsd.Eggdrop Openbsd.Tcltls Openbsd.Biblebot Openbsd.Censord Openbsd.Ircrelayd Openbsd.CPAN : ntpamplification filepermissions openforeveryone unboundadblock firstamendment authoritative delphinusdnsd httpopenproxy announcements investigation startupdream constitution matterbridge troubleshoot possiblities sysupgrade68 squirrelmail independence acceleration description sshbackdoor masterslave blacklisted simpletable netizenship declaration understand networking webhosting connection blacklists protection registrars ngircdlink techniques signatures filesystem vmminstall exceptions dueprocess federation everything zncmodules nameserver zncsupport configure questions selfadmin knowledge minutemin codeforce staticnet partition upgrade67 httpflood pftesting procedure downloads addresses languages ircrelayd disklabel promotion install68 abilities rulebylaw openrelay dkimproxy madeonirc homestead opensmtpd openhttpd guarantee religious immigrant anonymity security torsocks netmasks networks syspatch services yourself securely overview software phishing zonefile balances purchase religion spammers multiple promoted ifconfig synflood openiked practice firewall ackflood pfstable rstflood vmmlinux preserve udpflood insecure zncadmin bootcamp commands channels congress biblebot duckhunt register tutorial username chrooted sortable dovecot records openbsd servers caching prereqs unlocks freedom openssl oidentd signing sending prevent provide signify webmail achurch request private encrypt censord website eggdrop bitlbee proxies getting traffic reverse vmmuser sshkeys domains zncuser tcpdump newdisk unix101 welcome bouncer abusers attacks defense against privacy clients roadmap version control anycast packets sockets liberty monitor project folder create voting netcat verify civics letter lesson follow police rights detect ilines telnet powers hidden rbldns netpgp inside speech basics growfs border botnet tcltls wraith become irc101 ircnow crypto recite viewer repair gotweb defend custom others vhosts filter pylink shells access botnow trivia psybnc pmwiki choose origin manage chanop united delete status checks relays during learn intro bonus buyvm guide emacs clone goals fdisk class manna topic login about bsdrd using honor ideas cloak union width dhcpd voice gnupg ipsec needs tcpip dnsbl setup dmarc route space anope reset acopm gives where title avoid press offer ethic local claim types limit game perl fqdn cpan korn doas news hopm sshd more with ipv6 from bots rdns feed sftp ddos ipv4 edit path imap apps logs auto team acme ping stop fork oper move duty chat find help ssdp ntpd cert nice vpns read call bill hard good army plan make how run php spf can dig ban 100 fix vps rss ii 24 mg +CodeForce.RecentChanges:1632736037: : recentchanges miniontoby codeforce bootcamp march 2021 22 at 01 pm +Ircnow.Codeforce:1632736037: Vps.Vps Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Openbsd Openbsd.Training Openbsd.Ongoing Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation references commitment experience optionally codeforce marketing tutorials questions interview improving homestead minutemin following software howtoask websites salaries projects training customer familiar sysadmin progress applying finances warriors recruits internet ongoing freedom improve include someday roadmap promote openbsd request require account friends willing network minimum support joining ircnow before finish report coding become please number worked system invite duties resume attach cannot afford deploy rfloat reward phone track title legal email elite staff corps seems basic party after third write hours goals while weeks would learn shell proud smart width 80pct help this must that time user your with team unix hang good have lead name full like take and the png vps way few but out pay org new add by cv if 6 5 +Ircnow.CodeForce:1632736037: Vps.Vps Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Openbsd Openbsd.Training Openbsd.Ongoing Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation experience optionally commitment codeforce tutorials homestead interview following minutemin marketing improving questions finances training software customer internet progress familiar salaries sysadmin howtoask warriors recruits applying freedom roadmap openbsd promote improve someday ongoing minimum account request joining require network support willing friends duties ircnow finish before invite system reward afford cannot become resume coding deploy report rfloat attach goals third shell weeks party learn basic track after hours email staff seems title 80pct corps elite width while proud write smart would your time this help like team hang with must user send that lead unix take good few add the new vps way and out png org but pay if by cv 5 6 +Psybnc.RecentChanges:1632736037: : recentchanges install psybnc march 2021 jrmu 05 at 03 56 pm by +Tor.RecentChanges:1632736037: : recentchanges torsocks hidden june jrmu 2021 mkf 06 by am 16 56 at pm 04 26 08 +Iked.RecentChanges:1632736037: : recentchanges configure windows android august st13g april linux 2021 jrmu iked mkf pm 06 26 by 38 07 at 18 14 08 05 23 +Abuse.Code:1632736037: : penitentiaries infringement misdemeanors correctional simpletable pornography screenshots punishments accusations reformation monitoring suspension themselves principles community libraries offenders probation copyright sortable evidence provided swatting networks warnings hardened gambling felonies required phishing stalking content minimum account illegal threats obscene service abusers hacking dealing heavier lighter connect evasion periods cloning include allowed months defend prison habits better forced mentor rights should judges attack border doxing minors fiends repeat years penal trial small theft crime death other width weeks teach books class bible first chat then help fine drug code case with pair like time ddos away take spam oath must have jury made logs plus ban are own irc ops and one fee may not fit 100 by 3 2 6 +License.Publicdomain:1632736037: License.Ircnow Gpl.Flaws : unfortunately publicdomain collectively restrictions requirements furthermore responsible development practically shakespeare simpletable information trademarks permissive definition television opensource encourages copycenter innovation permission distribute whatsoever absolutely agreement certainty ownership identical important generally copyright paintings difficult creations countries computers temporary essential preserve licenses millions copyleft software referred formulas whatever purchase sortable official possible yourname writings included creative equation features released attached practice provides leonardo predates printing achieves warranty liberty strings neither purpose recipes offered cooking popular reshare openbsd imagine similar granted without society deserve damages freebsd another combine however pleases covered entered ideally freedom science forbids belong ircnow should author simply harder result policy reason modify freely anyone longer future notice spirit copies common border around rights parody follow newton better credit wanted before asking works users today flaws using which their would place based there these known extra avoid quite close legal width class force https truly piece group reuse title solve build every quote study vinci words radio thing press isaac those less good this lets from fork must halt just slow list they most that have make many them type sell like down life math even give sign take html time hand uses true used into some code than were repo also 2021 case org few www who nor art 100 see gpl far non gnu had mit isc end can don sue fee may add too by +NewsNow.NewsNow:1632736037: NewsNow.Teams NewsNow.Install NewsNow.Browser : news_colors_on documentated miniontoby locations directory extension copyright languages interface introduce yourself multiply discuss newsnow firstly reading install browser network command execute channel checked eggdrop called ircnow wanted reader remove simply leader things signup mostly follow member where using every topic below tasks grape teams shell guide their https panel touch going help with data page perl feed this what need name good 2021 have some that code from give will home file make does join web add org use 100 can put see how own ksh out for xml rss get are plz bot if rm my +NewsNow.Install:1632736037: : newsnow_update_checker miniontoby following copyright download install command ircnow needed unzip https short grape admin only then this doas long curl says make your wget 2021 org vps how can run ksh it cd if +NewsNow.Browser:1632736037: NewsNow.AppName NewsNow.ExtensionName : extensionname simpletable extensions utm_source sortable download webstore launcher newsnow browser example mozilla firefox appname website border addons chrome google https width opera class link apps com 100 ntp org us gb hl +Gpl.RecentChanges:1632736037: : recentchanges flaws april 2021 jrmu gpl 24 at 04 56 pm by +Linux.RecentChanges:1632736037: : recentchanges linux flaws march 2021 jrmu 14 at 05 13 am by +Bsd.RecentChanges:1632736037: : recentchanges march labor jrmu 2021 hope bsd am by 12 06 at 14 11 05 pm 15 +Vhost.Freedns:1632736037: : likegrapefruit configuration chickenkiller personalised destination lovelyred subdomain verifying completed bgcolor support through clicked example address section contact captcha freedns account ircnow chance marked change create attach yellow center please server inform define afraid public picked bellow hosted system online cannot vhost image which after admin found valid black steps visit https email there names doing side will grab need with your fill plum ipv6 2001 easy page link just send open list that them take user save huge find ivp6 3402 type note mind tons rest want this site aaaa keep have and 130 all get org are png got has one its 550 any bnc but put few of my 8 7 +Ifconfig.RecentChanges:1632736037: : recentchanges ifconfig march 2021 jrmu at 11 15 am by +Unbound.RecentChanges:1632736037: : recentchanges configure september unbound 2021 jrmu 24 at 01 31 pm by +IPv4.RecentChanges:1632736037: : recentchanges overview ipv4 june 2021 jrmu 10 at 13 am by +Jrmu.Rmsboycott:1632736037: : representatives reconciliation libertyordeath organizations disagreement archenemies foundation occupation implements submission monopolies signatures rmsboycott dissenters opposition marketing corporate community threatens liberties francisco tolerance licenses preserve attacked blockade software boycotts question stallman almighty features clanking dissents painful digital prepare silicon slavery tyrants nothing methods against freedom hostile retreat richard chains source forged course infamy resort rights attach gained forbid intend valley starve letter always enough resist stands repeat rfloat appeal cancel others github truth meant claim whole price worst sweet these money their there which heard title mercy marks https strip width march 400px they show must this dear live take look code user them will mobs same tech wish 2021 that have been give what uses open eyes less long into know jrmu than love from left work shut any was may but san god day see you say jpg ban big 23 by if +Jrmu.Libertyordeath:1632736037: : representatives libertyordeath reconciliation organizations disagreement archenemies dissenters monopolies submission signatures implements occupation opposition foundation community marketing threatens francisco liberties tolerance corporate blockade attacked boycotts preserve software question dissents licenses stallman clanking almighty features painful nothing silicon tyrants digital prepare methods freedom slavery against hostile retreat richard chains source forged course infamy resort rights attach gained forbid intend valley starve letter always enough resist stands repeat rfloat appeal cancel others github truth meant claim whole price worst sweet these money their there which heard title mercy marks https strip width march 400px they show must this dear live take look code user them will mobs same tech wish 2021 that have been give what uses open eyes less long into know jrmu than love from left work shut any was rms may but san god day see you say jpg ban big 23 by if +EthicalSource.HolierThanThou:1632736037: : holierthanthou discriminatory ethicalsource unenlightened marginalized surveillance slanderously headquarters homelessness interpreted executioner opportunity misogynists demonstrate independent circumvent submission developers homophobes executives laundering exploiting minorities monopolies themselves publishing kinggeorge providing corporate enriching blackmail certainly employees coworkers courtroom criminals including rewarding righteous business licenses vultures software ordinary ableists defining provides unfairly powerful slanders lawmaker yourself designed kangaroo pretend without silicon benefit cronies ensures lawyers denying putting purpose racists sharing freedom silence against bankers stopped boycott tyrants defend ethics access anyone valley attach living voices rfloat trying elites define system sleazy banned donors bigots coders series owners rigged street groups patent trolls always stands demand trial equal these lynch legal their users files small truly label nazis favor trust money gives where title drive twice thank serve basic other https while being width smear about 300px today what that away mean take will same even week like this over care call then open just from they mass fool seek wall jobs earn have jury real sole let why for but not mob may jpg has who can far if my by +Weechat.RecentChanges:1632736037: : recentchanges september weechat relay 2021 mkf 11 05 46 pm by +Vim.RecentChanges:1632736037: : recentchanges monaco april 2021 vim 11 at 14 pm by +Minetest.Economy:1632736037: : professionals improvements constructing experienced technicians unrealistic lumberjacks possessions freesociety blacksmiths practically replenished expeditions underground harvesters amusements purchasing production wilderness government carpenters irrigation publishers terrorists aesthetics simulation resources naturally expensive specialty dangerous unlimited buildings fishermen worldedit processed beautiful politics drinking sleeping everyone requires minetest property valuable teachers required exchange physical explorer crafters consumed planting increase division depleted foragers soldiers scarcity scenario economy refiner coinage quickly markets builder sailors doctors smelter creates driller virtual satisfy hunters diggers farmers instead players ensures sellers promise plowing allowed savings enforce forests ditches factory capital voting guilds scarce admins should miners cannot points policy labour decide assets bakers cattle actual offers buyers rarity barter escrow blocks makers yields novice remain damage owning barren reward hunger thirst energy metals inside little desert tundra order needs great other users which owner labor items grain paper wages where house money their water death based might trade mined wheat using clean risky value mese gold post food paid will land with vote must kill game that they role form like only also rent mint more boat rare easy turn rate time gain this than most 10x bed any rob oil law few fun its 500 by up +Freedom.Libertyordeath:1632736037: : representatives libertyordeath reconciliation organizations disagreement archenemies occupation dissenters submission opposition signatures foundation monopolies implements community francisco liberties threatens corporate marketing tolerance boycotts attacked question stallman blockade preserve licenses dissents software almighty clanking features digital methods slavery silicon retreat prepare freedom painful against nothing tyrants richard hostile rfloat course attach letter others source starve intend valley github resist repeat appeal enough resort rights chains forged cancel forbid stands gained always infamy which heard truth these meant money there claim whole worst sweet price their title marks 400px strip mercy width march https this open user what been have that tech them same will take look mobs dear they code must live wish 2021 work left from know love less shut into long give uses eyes than show day but san was rms may god you any jpg ban big see say 23 by if +Vmm.VoidIso:1632736037: : githubusercontent sha256sum voidlinux 20210218 packages voidiso release signify current srcpkgs x86_64 master alpha https files live repo keys vmm pub raw org com ftp de +Pmwiki.Simpleurl:1632736037: : enablefixedurlredirect resolvepagename initialization configuration grouppattern makepagename preg_replace defaultgroup query_string redirecting defaultpage namepattern request_uri certificate defaultname pagepathfmt preg_match containing pageexists normalizes fullchain reference pagenames http_host redirects challenge condition disabling directory simpleurl isenabled location cookbook requests solution settings ext_addr function variable normally fastcgi disable without private slowcgi rewrite uploads openbsd invalid problem current comment missing partial include working encript leetio listen server htdocs pmwiki ircnow solved return egress header global socket static change during found based files abort httpd setup clean order https block strip known types index share check acme root from html stop used hard well 2018 cgit port reyk exit misc mime loop this fpm dev don ssl run php not 404 key etc pem 443 exp usr tls the 302 bin let any pub and was for css get png sdv 13 06 15 08 of 24 80 +Bgpd.RecentChanges:1632736037: : recentchanges configure bgpd 2021 jrmu may 03 at 06 26 am by +Dig.RecentChanges:1632736037: : recentchanges sarah usage 2021 dig may 04 at 36 am by +Bitlbee.Install:1632736037: Openbsd.Znc : daemoninterface allowaccountadd configuration matrix_no_e2e operpassword installation cypherpunks encryption rocketchat convenient developers installing daemonport undermined myusername mypassword disconnect forkdaemon protocols libpurple generally supported localhost available following messaging connected intercept plaintext sometimes 11234567 optional telegram mastodon compiled checking supports checkout instance nickserv messages register sysadmin settings security directly moreover identify provided accounts _bitlbee packages multiple perfered hostname my_buddy packaged chatting usually namtsui discord version bouncer openbsd example pkg_add replace working runmode because anoncvs besides instead clients matrix2 written matrix3 default flavors another command gateway chating variety require suggest depends however plugins source sm00th server github enable adding jabber create cvsweb ircnow course people record unlike public acting reason itself gmake avoid title types slack fails clone above https after login later bound known buggy often sense first built using gives there write store helps panel named exist chats false query start which rcctl users root will only does want from used your with ones list them join then core this save doas what plan note into next fact that than most they glib json wiki edit have same code 8171 xmpp when org are znc let off can try otr www had msg jid ask 6p1 two see net ssl cgi bin 127 olm via by cd +Bitlbee.RecentChanges:1632736037: : recentchanges bitlbee install july 2021 mkf at 07 12 pm by +Ircnowd.RecentChanges:1632736037: : recentchanges ircnowd 2021 jrmu may 07 at 01 46 pm by +Census.RecentChanges:1632736037: : recentchanges census 2021 jrmu may 07 at 06 pm by +Minetest.Addingarenas:1632736037: : arcadeemulationserver pineapple_server_3 server_manager mtschemcreate tremendously mtschemplace installation addingarenas appropriate unescapable irreparably immediately completely coordinate commercial schematic decorated minetest4 locations worldedit uploading subfolder arena_lib replacing terraform computer practice business anything suitable indicate whatever minigame updating familiar download surround settings license restart careful barrier offline minimum correct backups command corrupt double readme author points gitlab schems player enable either before triple tricky easily access choose should worlds please places reason things making where local first enter nodes wrong thick reset https gives speed other check theme there order worng crash spot pos1 then need name that home sure also make away well find pull near like pos2 have your mess copy with maps very puts some does will when tell area menu easy type from made file just save repo look best want use get can but btw see why now has not non 200 log one to is if cd x z +Tmux.Share:1632736037: : sharedgroup sessionname sharegroup howtoforge lightgrey different accounts sessions assuming terminal shareds running bgcolor members already between sharing border attach please called socket access screen chgrp https width chmod start users tmux note only have that with rwx the tmp new and may you two add com www do 80 is +Gomuks.Install:1632736037: : recommended cgo_enabled encryption installing packages building compile pkg_add support written archive source github gomuks export simple matrix client tulir https from with refs tags doas olm you xzf tar e2e not tui can ftp is cd gz v0 3 +Gomuks.RecentChanges:1632736037: : recentchanges compiling manually packages install compile gomuks better august mster might using than 2021 mkf not zip by am 26 10 is at +Syspatch.RecentChanges:1632736037: : recentchanges syspatch june 2021 jrmu 10 04 23 am by +Pf.RecentChanges:1632736037: : recentchanges bejelentkezni guide 2021 may pf 17 at 03 37 am by +IP.RecentChanges:1632736037: : recentchanges myaddress august 2021 jrmu ip 07 at 05 14 pm by +Freedom.Freenode:1632736037: : everything themselves separation marketing community defending petitions ancestors madeonirc religion exercise imperial freenode messages networks internet protocol arrogant governed property silenced servers monster freedom natural tyranny cruelty pursues embrace royalty mankind silicon suppose enslave records created belong common mother admins refuge tender ircnow rfloat groups others subdue absurd valley prince source honest reigns friend pleads things family secure attach banned users power cause havoc above sense needs tells which cries tries drove crown where right still first title birth these times equal https 500px width quite chat from data does code that same open make upon room fled this like duty even look have been obey born grow soon part not has out tis and you set png org for men few are but who yet day of by if +Openbsd.Wordpress:1632736037: : mysql_secure_installation wp_proxy_bypass_hosts wp_proxy_username wp_proxy_password mysql_install_db configuration wp_proxy_host wp_proxy_port introduction downloading corporation application db_password permissions privileges extensions identified connection directory wordpress forwarded available following recommend statement localhost copyright openfiles dedicated resolving php74_fpm accessing activate database actually required affected chrooted packages commands versions combined although location services software opening openbsd restart example mariadb section initial started daemons browser servers plugins welcome headers archive include fastcgi prepare default db_name db_user db_host current monitor imagick release writing easiest enabled present pkg_add within define sample socket mysqld create values finish client covers themes option change second _mysql should placed folder latest listen append unpack readme choose mysqli assume pecl74 behind oracle egress others index chown grant httpd types mkdir clear fetch which query rcctl enter first https style input flush order needs shows setup login there group pages tells share 1024 2048 home this work that both doas none done want curl find exec help from exit next post your only case into sets busy time make will 2000 last 8080 uses step 0711 sure must mime misc path part 12v1 2018 edit www var can web run net now org ftp new not xzf bye cnf way zip usr may max cd sf ln ok gd cp gz 5 6 3 +Freenode.Takeover:1632736037: : themselves everything separation community corporate takeovers petitions madeonirc marketing defending ourselves ancestors protocol internet imperial exercise religion property messages arrogant networks silenced governed freenode freedom monster cruelty royalty embrace tyranny created mankind records silicon suppose natural enslave pursues servers valley common absurd subdue belong others admins mother refuge groups tender prince source banned honest attach friend reigns ircnow family things rfloat secure pleads cries sense tells power https which drove tries right cause first havoc above crown where still users title needs birth equal times these 500px quite width like code upon make data look chat from part duty that same does room even fled this grow soon obey open been have born set not but you and has out are png for men few org tis day yet who of by if +HostServ.RecentChanges:1632736037: : recentchanges hostserv rules june 2021 jrmu 01 at 08 11 am by +Fiche.Install:1632736037: : troubleshooting certificate challenge directory solusipse fullchain segfaults location pastebin argument cronjob warning install request adduser usermod 1048576 crontab private ircnow htdocs daemon egress github causes server listen known quick proto clone index strip flush block httpd fiche https mkdir chmod chown doas port acme root make pass 7777 well line drop conf this txt www the org key var ssl etc log tcp ip4 ip6 get tls pem 443 for com 20 cd +Fdisk.RecentChanges:1632736037: : recentchanges fdisk usage june 2021 jrmu 04 at 05 am by +Fiche.RecentChanges:1632736037: : recentchanges install august almajd fiche 2021 25 at pm by +Paster.RecentChanges:1632736037: : recentchanges install paster july 2021 jrmu 16 at 45 pm by +Wordpress.Install:1632736037: : mysql_secure_installation wp_proxy_bypass_hosts wp_proxy_username wp_proxy_password mysql_install_db configuration wp_proxy_host wp_proxy_port introduction db_password downloading corporation permissions application extensions privileges connection identified wordpress available following directory localhost forwarded recommend dedicated statement copyright resolving php74_fpm openfiles accessing affected packages database actually activate services required software versions chrooted combined location although commands mariadb section restart servers initial welcome monitor example browser opening started daemons plugins db_host db_user db_name prepare archive headers include fastcgi default current openbsd imagick release writing easiest enabled present pkg_add within define sample socket mysqld create values finish client covers themes option change second _mysql should placed folder latest listen append unpack readme choose mysqli assume pecl74 behind oracle egress others index chown grant httpd types mkdir clear fetch which query rcctl enter first https style input flush order needs shows setup login there group pages tells share 1024 2048 home this work that both doas none done want curl find exec help from exit next post your only case into sets busy time make will 2000 last 8080 uses step 0711 sure must mime misc path part 12v1 2018 edit www var can web run net now org ftp new not xzf bye cnf way zip usr may max cd sf ln ok gd cp gz 5 6 3 +Vpn.VpnMac:1632736037: : authentication administrator certificate preferences underneath available interface password username settings keychain download congrats triangle category connect network address service working opening trusted changes select search should always double bottom button system ircnow window attach access vpnmac mojave legacy engine circle remote unique server please using ikev2 https users close local yours visit click green there ipsec enter where title first macos items right that will side iked turn file from when pane what type left next save this says site png old org put crt for and not see tap app all 03 02 10 14 04 of 06 up be 01 my 05 +Dkim.Dkimsign:1632736037: : _dkimsign groupadd private useradd nologin openssl public pubout genrsa mkdir chmod _mail empty chown doas 1024 sbin etc var key rwx mv +Pipes.RecentChanges:1632736037: : recentchanges redirection august pipes 2021 jrmu 23 at 03 50 am by +Rcd.Configure:1632736037: Irc.Hopm : “services” configuration automatically daemon_flags priviledged reconfigure redirecting pkg_scripts comprising specified following installed directory arguments framework execution mangement restarted debugging contains programs forcibly shutdown variable whatever packages reversed responds “no” continue defaults function creating commands processs running display already actions disable openbsd utility affects options follows setting booting prevent calling control timeout stopped enabled perform explain system second stderr stdout failed editor reload create return called simple should unless rc_cmd launch change during status topic shows value equal first other check group order rcctl lauch usual refer which shell names allow local print tell hopm then doas into here user home they line path subr save this file more also base from code will only used nano with null root give such each now irc etc add can its bin ksh are not dev rcd may be by of we 1 0 +Rcd.RecentChanges:1632736037: : recentchanges configure august 2021 rcd mkf 14 at 04 01 pm by +Unix101.Unix101:1632736037: : password username download unix101 freeirc android connect windows provide server please member ircnow finish termux https staff index putty ircs wiki team with this port like join help org ssh vps you can our out for run ask the php if to 22 we +PowerShell.Connect:1632736037: : openssh_install_firstuse administration powershell microsoft necessary invisible password versions username windows example running replace default account connect ircnow attach select server button recent title https putty press start win10 click right come with your type then ssh2 real here docs org png can and not are if by +MacTerminal.RecentChanges:1632736037: : recentchanges macterminal connect august 2021 jrmu 10 at 33 am by +Termux.RecentChanges:1632736037: : recentchanges connect termux august 2021 jrmu 11 at 05 28 am by +Openbsd.Rcctl:1632736037: : configurations pflogd_timeout functionality pflogd_rtable pflogd_logger pflogd_class sndiod_flags disconnected pflogd_flags information pflogd_user perforamce restarting thankfully following otherwise rebooting enabling disables commands examples services anything disabled managing executed running getting support updated without however enables maximum killing allowed nothing install enabled stopped deamons utility openbsd unless always starts reload xenodm xendom useful happen server instad change failed custom needed called signal action system matter places manage daemon making rcctl force using cases since doesn cause smtpd files which users stops shows thats again first order their check these after might still kinds local them doas then mode apmd this most some when ship list will they such send used next tell have both part well base want from root nsd irc are etc vmd you can try won say two set why don let see 30 ls of if ok 8 +Irc.Clients:1632736037: Bouncer.AdiIRC Bouncer.Adium Bouncer.AndroIRC Bouncer.Atomic Bouncer.Colloquy Bouncer.Hexchat Bouncer.HydraIRC Bouncer.IRCForAndroid Bouncer.IRCCloud Bouncer.IRCCloudWeb Bouncer.IRCCloudAndroid Bouncer.IRCCloudiOS Bouncer.IceChat Bouncer.IrcEX Bouncer.Irssi Bouncer.Igloo Bouncer.KiwiIRC Bouncer.Konversation Bouncer.KVIrc Bouncer.Limechat Bouncer.Mibbit Bouncer.MIRC Bouncer.Nettalk Bouncer.Pidgin Bouncer.Quassel Bouncer.RevolutionIRC Bouncer.SimpleIRC Bouncer.Smuxi Bouncer.Textual Bouncer.Thunderbird Bouncer.TurboIRC Bouncer.Vision Bouncer.WeeChat Bouncer.XChat Bouncer.XChatAzure Bouncer.Yaaic : irccloudandroid revolutionirc ircforandroid konversation proprietary irccloudweb irccloudios thunderbird simpletable xchatazure simpleirc emulation hydrairc limechat turboirc colloquy sortable androirc bouncer weechat quassel nettalk textual clients icechat kiwiirc hexchat windows license atomic adiirc vision apache mibbit pidgin border smuxi gplv2 igloo irssi yaaic linux ircex width gplv3 class kvirc adium name mirc wine ✓ 100 mac bsd +MIF.RecentChanges:1632736037: : recentchanges nsturtz test june 2021 mif 25 at 12 42 pm by +Chroot.RecentChanges:1632736037: : recentchanges chroot intro july 2021 jrmu 31 at 55 pm by +Mlmmj.RecentChanges:1632736037: : recentchanges install mlmmj july 2021 jrmu 08 at 04 pm by +Eggdrop.DuckHunt:1632736037: : modifications fonctionnera correctement beginning suprieure putloglev duck_hunt duckhunt original eggdrops version comment scripts details regsub lindex return erreur 00304 https votre will page line some 1620 html with s228 the que run out for sur les tcl all est to fr la of 45 +Xfce.RecentChanges:1632736037: : recentchanges install august xfce 2021 jrmu 11 at 05 04 am by +Openbsd.Sic:1632736037: : installation community messages suitable examples natively suckless commands setting scripts pkg_add channel support default clients openbsd ircuser joining written leaving sending stdout making prints ircnow unlike common access simple needed target usage doesn which place quick where using stdio lines reads with used than they work nick code from sent into doas most sic are for org ssl tls 250 of by is +UsersCategoryMirrory.IRCFreeHomesteadVPS:1632736037: Freedom.Freedom Vps.Vps Minutemin.Bootcamp Ircnow.Servers Ircnow.Goals Ircnow.Minutemin : userscategorymirrory ircfreehomesteadvps verification applications independence oregontrail billionaire nameserver monopolies willamette supporting controlled minutemin marketing configure webserver corporate volunteer portfolio firewall purchase referral bootcamp services bouncers includes security personal business platform pioneers monopoly sysadmin proceeds offering freedom website network digital towards montana private virtual startup upgrade created servers provide trusted methods sharing welcome require against rigged system ircnow elites answer social charge center course custom domain future resume friend rfloat valley attach learn claim today apply 50pct dream width weeks their staff email month media photo train title build goals there equal notoc help your show want with join blog bots they from file tech four over what ceos keep send 5usd this life made own get who can org run and png tls set jpg vpn new was are don lan by 4 +Ircnow.PioneerTldr:1632736037: Vps.Vps Minutemin.Bootcamp Shell.Shell Ircnow.Servers Ircnow.Goals Ircnow.Minutemin : verification registration anonymously oregontrail independent pioneertldr supporting subdomains minutemin including marketing homestead portfolio volunteer webserver personal referral purchase proceeds included tutorial firewall bootcamp internet sysadmin qualify servers trusted network website provide unix101 upgrade account sharing virtual private openbsd methods towards course ircnow become finish custom browse friend social rfloat create attach resume charge staff goals shell weeks month media photo title apply width today learn claim 50pct price with free must four file bots 5usd show from your mail what join chat over blog keep apps vps the and run own for can png who vpn set not get of by 4 +Host.RecentChanges:1632736037: : recentchanges usage host july 2021 jrmu 28 at 01 57 am by +Syslogd.Remote:1632736037: : fullchain authpriv example private syslogd client daemon notice remote 55106 debug rcctl flags host tls4 none conf doas cron user kern info cert mail set com the lpr ssl etc pem ftp key +Openbsd.Matterbridge:1632736037: : troubleshooting configuartion configuration matterbridge 10012345678 telegateway supergroups matterbrige telebridge afterwards ircchannel ircgateway ircbridge sometimes protocols currently supported botfather telegram messages segfault download disabled programs releases privacy replace example require openbsd botnick connect account chances defined defines running version written another second create server before enable editor author choose github binary inout which newer token first 64bit 42wim lines three guide https their plain chmod needs from chat that note your with then file come many 6667 have send help name true next will toml sets only text last lead used this fire adds make and are ftp won but can due bug 20 if v1 of go +Rcctl.RecentChanges:1632736037: : recentchanges august rcctl 2021 mkf at 03 pm by +Rbldnsd.RecentChanges:1632736037: : recentchanges rbldnsd install august 2021 wiki mkf ish 22 at 07 58 pm by +Texlive.RecentChanges:1632736037: : recentchanges texlive install august 2021 mkf 03 at 01 51 pm by +Medals.RecentChanges:1632736037: : recentchanges medals august intro 2021 jrmu 04 at 08 34 am by +Sshwifty.RecentChanges:1632736037: : recentchanges sshwifty connect august 2021 jrmu 06 at 05 00 pm by +License.IrcnowV2:1632736037: : distribute permission copyright yourname ircnowv2 license without granted purpose modify work this 2021 and use for any fee org to by +SerFISH.RecentChanges:1632736037: : recentchanges serfish connect august 2021 jrmu 06 at 05 pm by +Bouncer.WinIRC:1632736037: : connection rymate1234 password abc1234 network replace section example bouncer picture windows servers create ircnow secure enable button winirc attach client higher github manage would shown click 31337 first user your with http port john then left save like and uwp bnc for top set org png new of is if be 10 +Sylpheed.RecentChanges:1632736037: : recentchanges sylpheed connect forgot august again 2021 that mkf 10 11 50 by eh am +Gazette.RecentChanges:1632736037: : recentchanges polishing gazette august 2021 mkf bit 15 at 01 14 am by +ConnectBot.RecentChanges:1632736037: : recentchanges connectbot august keys jrmu 2021 12 by at am 04 34 pm 58 06 11 +Termius.RecentChanges:1632736037: : recentchanges termius connect august 2021 jrmu 14 at 04 42 am by +Squirrelmail.Connect:1632736037: : squirrelmail connect install august jrmu 2021 mkf 10 by am 22 at 04 14 46 07 +Asterisk.RecentChanges:1632736037: : recentchanges asterisk install august 2021 jrmu 14 at 06 03 pm by +EmailTray.RecentChanges:1632736037: : recentchanges emailtray connect august 2021 mkf 15 at 12 11 am by +Tls.RecentChanges:1632736037: : recentchanges august 2021 jrmu tls ca at 11 10 am by +Mariadb.RecentChanges:1632736037: : recentchanges mariadb install august 2021 wiz 23 at 04 42 pm by +Tmux.Shortcuts:1632736037: : session_name shortcuts sessions length substr attach myname xargs print named start kill with tmux grep list awk new the all to ls f1 0 +Wraith.RecentChanges:1632736037: : recentchanges september wraith chroot 2021 mkf 10 at 06 11 am by +Prosody.RecentChanges:1632736037: : recentchanges september prosody install 2021 jrmu 26 at 36 am by +9.Partdisk:1632730408: : installation c5064m4ssd2 partitions subdivided suggested following something overwrite sensible probably continue partdisk sectors layout really second 50000 where table would plan9 count there found start allow first again sde0 will just type then like time zero wipe want that data term prep were this dev adn try yet and ify see fat can use not of be go dd q +Cvs.RecentChanges:1632687018: : recentchanges miniontoby september guide 2021 cvs 26 at 28 pm +Cvs.Guide:1632666521: : sourcefolder versionname commitmsg reponame checkout remotely yourname username firstly changes allowed checked depends profile execute cvsroot inside needed cannot import localy making export start steps files guide quick move some home note only wait more time then into host make have done once stay will init help that are add lot way and org set if cd +Openbsd.PFStable:1632497293: Openbsd.Netadmin Openbsd.Buyvm Openbsd.Vmmuser Openbsd.Tcpdump Openbsd.SYNFlood Openbsd.Ilines Openbsd.Ntpd Openbsd.Nsd Openbsd.Sshbackdoor Openbsd.Iked Openbsd.Pf Openbsd.Ddos : troubleshooting configuration deliberately loginterface optimization flushstrict whitelisted intelligent connections immediately sshbackdoor explanation commentary afterwards submission disconnect unfiltered substitute optionally bruteforce syncookies particular something authentic commented localhost filtering accepting criminals interfere flushudp adaptive optimize badhosts incoming overload complete loopback external outgoing pfstable needfrag approved services blocking problems diagnose netadmin synflood properly firewall reserved packets profile ruleset against openbsd prevent passing seconds through attacks strange warrior example entries because mangled address warning causing persist without another spoofed default sending section reading traffic present keyword servers tcpdump routing missing provide bouncer enemies applies matches include exceeds monitor reports process defines vmmuser applied working further limits ilines paster follow tested wraith headed subnet please public folder secret tagged states source sample isakmp access hidden create normal should domain gopher icmpv6 failed random issues defend sender system notice tables ircnow single unique refuse global except macros proto 31337 pop3s imaps quick smtps proxy extif 12742 unip4 https 16697 16667 start 13140 29173 wrong scrub sorts guide buyvm aside hours occur users allow ipsec every weeks roadw pfctl apply track nodes might break ident leave added mkdir shell these 10000 makes entry there title known basic based pflog skip your them iked inet doas from will than have ipv4 left ipv6 ddos this keep view vio0 case that enc0 vpns more stop type 1440 urpf code 9999 same 7777 last 7000 6997 2001 6669 6660 2605 0020 05cc 6400 0010 00fe 069d faa1 0bb8 0030 also else each come days note both home time mail sure ntpd when must f8de 00b4 05bf fc15 hard 1290 071b been next 0434 like see ip6 119 faq are mtu any bug etc org www new mss max nsd one vps non pkt src rdr 184 251 198 209 141 228 240 229 183 137 130 can db8 500 192 168 bnc 172 254 169 esp 224 113 203 lo0 but dns two web var yet get has up by 48 80 53 89 39 81 38 +9.RecentChanges:1631938457: : recentchanges september 2021 mkf 18 at am by 9 +9.9:1631931654: : opertations everything networking namespaces mainframes popularity rewritten terminals resources extending interface multiuser samething problems security features expected touching drawback possible whatever platform differnt everyone language bothered dotfiles replaced multiics programs teletype graphics examples userland research protocol advacned versions classic systems besides dynamic systemv streams openbsd instead without sockets aarch64 process showing unified private ignored however created sysctls toolbox another hacking because reasons serious deamons visable started unixes around secret solves trying itself allows really modern folder linked chroot poorly escape thanks happen unveil handle easier needed ported links stuff ideas httpd doesn those plan9 forks which annoy procs magic empty users binds never mkdir about makes usage whole would title still using could linux apply these share alien amd64 audio small worth later years hence want view your have data some copy will like i386 risc this many know gets more uses that fact hard even ways done used time goes each most just such 1970 was ssh etc var www see can nfs x11 has own sub sym got few run pdp fit say key asm by of 9p ui pc 2 +Dhcpd.RecentChanges:1631721856: : recentchanges configure september dhcpd 2021 jrmu 15 at 04 pm by +Dhcpd.Configure:1631721754: : configure hardware username ethernet address servers routers restart netmask option enable domain subnet dhcpd rcctl fixed range flags doas host 254 162 255 em1 set etc aa bb 38 87 ee ff 0 +Dns.Registrars:1631691860: : list_of_top_level_domains 1349070090990465026 nearlyfreespeech discrimination registrations specifically corporations commercially transmitted netherlands phillipines filesharing researching simpletable uniregistry recommended protections reputation censorship cryptcoins registrars protecting guidelines acceptable afterwards breadofgod questions nastycode guarantee therefore providers countries different australia wikipedia diversity localized operating lecturify companies unhelpful sysadmins important religious published political extremist offensive difficult customer criteria services official thailand accurate torrents malaysia continue religion friendly shutting accuracy traficom material increase ideology purchase politics required pakistan contract sortable register possible unfairly commonly location registro focused freedom private include misinfo current privacy support country mixture content warning twitter another certain website servers ten’s through stating already serious israeli pipeten freedns results because network afilias respond legally however nominet revoked payment finland factual options ircnow policy afraid before donuts amazon follow insist better border brazil notify ignore easily spread racism hacked define russia appeal google seized turkey status brokep should owned these press sound court china offer punto thnic https india cctld pknic could where facts doesn safer width class notes nevis right mynic hkdnr cnnic title avoid email words often money abuse reach forth which allow first their check cool case they time epik have been wing them must left your send best what lack when rely with play will such aren find hong many game name isoc want auda vpns give tlds peru kong this good upon long cuba make sidn njal like laws most talk core look chat hate paid www can org who out aup ✓ fun but 100 few usa ask may new dot by sg uk lb +Vmm.Router:1631621478: : forwarding 0xfffffff8 0xffffff00 indicates hostname separate properly function machine virtual warning subnets router sysctl maxlen mygate inet6 1024 2602 fccf conf same echo 3402 1008 arpq 2001 will must mask vio0 the etc em1 and 162 ip6 two are em0 vmm 163 550 not 48 41 87 38 if be 81 42 64 +Weechat.Relay:1631382405: Acme-client.Configure : whatever_password specification certificate interfaces listening configure document generate protocol instance connect clients glowing program network openbsd weechat enabled disable openssl server follow moment ircnow detach before secure mostly plugin allows keyout remote newkey setup nodes relay using start issue binds after would mkdir title means which those steps https need 8001 x509 this 2048 with your ipv6 bear note data only acts used days well acme from will then tmux org and add 365 req are rsa can pem has won own run off web cd +Gry.Bio:1631328571: : administration communication experienced interactive volunteer education software capacity internet champion combines interest servers bouncer system shell title libre since linux time wiki home 2010 user free with real and irc gry bio the +Hopm.Telnet:1631254412: : lookup_branded established information simpletable connection statistics 1786317200 localhost connected character ge954b59d displayed openbsd6 referrer hostname internet download viewport sortable newnick content allowed network newuser example running version dronebl unknown proxies welcome initial minimum doctype address charset newname testing geonode foreign prevent device server telnet myhopm trying escape ngircd x86_64 listed socks4 socks5 notice closed client length policy border hidemy method users https nick5 index abuse proxy class relay width error title visit user5 scale html scan spam your mode more free 2001 6667 meta 3300 lang have line jrmu 2021 text pong ping 1598 date from the 168 192 org 443 190 185 184 www 002 url utf get 396 db8 405 gmt mar sun kb to 50 by of ip 07 nc 32 10 80 26 25 +Wraith.Chroot:1631254291: Openbsd.Dns Openbsd.Backup Openbsd.Netcat : 6e8e5b2448356bb48f642dd18115aaaaca7b6dcb d2312f8fcd9de09574d7370e8de058d91322686c nuulsail2tydzzhwox9paz1l6sbovlvx thtqf8ifeee5ox0i documentation configuration automatically alphanumeric yourpackname abcd3fgh1jk1 instructions networkname yourhubname explanation controlling compromised information packconfig configured recognized officially binarypass afterwards protection administer wraithpath connection additional reference confusing providing dccprefix connected timestamp generated character somewhere something different libcrypto supported channels yournick contains software undernet specific chanmode password terminal accounts matching separate username creating unhashed directly enclosed optional replaced hostname settings continue security choosing updating hostmask services groupdel cherry07 chaninfo stronger yourself versions requires warrning oaijmnop powerful hubnick openbsd reasons botpack written warning urandom complex botnick fruit02 fruit01 nologin several because fruit03 portmin install libstdc comment libexec specify include without updated portmax eggdrop dynamic address homedir cookies private records working disable provide chanset patched command userdel however pkg_add useradd default release joining should ircnow ircnet script libssl delete source stable tested github create resolv ignore chroot fastop ensure secure leaves limits chattr client sample server backup netcat giving before botcmd fruit2 fruit1 manage handle botnet manual access autoop unable values hashes public better stolen entire salted flood nodes shell print three setup mjoin press enter chown users front vhost mkdir user2 means manop 12742 their flags whois efnet there paste 64100 suxsc valid 64000 durt8 owner lines keyed these salt1 salt2 wrote doesn since saved above waste takes voice sends https state opped first build gmake which while twice forth begin track store title guide newer leaf each both bots echo this safe that must more than will much same want data bot3 fill like look then ipv6 pick fold head show free quit have hubs goes bot5 bot4 bot2 such 1025 kick deop mdop help ctcp type find into used last easy cons pros sha1 once need dest copy done read keep wiki html note very them file repo doas xvzf true null been sbin chsh libm uses code gets hung ctrl ops ntk usr dev but org tar 10a awk run ssh hit scp may bad ksh dns can yes mop tmp ftp any won put za by gz 29 43 45 v1 47 z0 30 28 16 pc 46 96 +Mutt.Connect:1631253690: : pgp_encrypt_sign_command pgp_encrypt_only_command pgp_list_pubring_command pgp_list_secring_command pgp_verify_key_command pgp_clearsign_command imap_check_subscribed pgp_decrypt_command 0x4a56db2dbf8dc186 pgp_import_command pgp_verify_command pgp_export_command pgp_decode_command pgp_use_gpg_agent pgp_sign_command message_cachedir pgp_replyencrypt imap_keepalive pgp_good_sign documentation ssl_force_tls pgp_autosign ssl_starttls imap_passive header_cache pgp_sign_as pgp_timeout fingerprint codesorcery passphrase mail_check imap_user installed signature necessary spoolfile textmode pgpewrap hostname smtp_url outgoing realname use_from compiled my_pass my_user verbose user123 pass123 connect replace sending openbsd support manual source howtos output always secret colons detach muttrc ircnow folder editor record batch trust gpgme armor quiet unset gnupg https inbox make sigs want html have also your with sasl work 1800 keys will line sent this sure then like org yes 6v3 add www net 587 see has nvi 300 120 id fd 9 +Ircnow.Minutemin:1631253232: Vps.Vps Openbsd.Openbsd Ircnow.Goals Freedom.Freedom Shell.Shell Ircnow.Howtoask Openbsd.Training Openbsd.Ongoing Ircnow.Roadmap Third.Third Ircnow.Finances : administration documentation immediately commitment experience optionally themselves minutemin sysadmins following tutorials homestead questions interview improving marketing finances internet salaries recruits training applying howtoask familiar progress software customer ongoing freedom roadmap improve openbsd someday request account friends require support joining willing promote minimum network threats respond chatter servers cannot afford ircnow notice finish invite system reward become before duties coding rfloat report resume defend attach seems 80pct basic width third email goals staff shell after learn party their track ready weeks hours being title write would users smart while help team with time unix they your must real name like this good code hang take oper send pay add new and but who png vps got org out cv by if 4 5 +DNS.DKIM:1631203235: PGP.Intro : migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqcmsef9dm8dx1ltmlmd56d628jbnaqus8aecdyyzvbvq4rhetzzv eeu2odwqqgyqgvv0xuk5qjsnsgf5ukkscrxmthspptoaqjt25fxnd3ptvh2zonagkzkntk 8iznifrhjff4dngvx61t9xknkcjrjdc6npo0l4mvtky66saftbccjlm6jihbud5j4uou5i migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqddmzrmjrqxleuyyiymg4sua2sy mzp1ro7kidtks8ttki6z6etrw9e9ddoxzsxnuxmume60cjbu08goyhpg3 gvjebqfjovwtqhvvv3fhh0uqbw0m9untpuaagorfgki 2u1zeqyo7k03kcjbdrvw8ihjtdenggl3p7am1v8wdg gfwdg7qkdn6kr4v75mflw624vy35daxbvnltjtgrg o5o0xmhblyspbfgmw7sw2awlwu95oyhk5tezpze s8ihdcexsr5fr8yk4ivlky8jo5o0xmhblys ss5u39zlqs7ts1m8izo2tpba70t9204na8 ew72o1diyvthkycgpsys8nmeqidaqab unjqq96dt308f2rvxewa6p8hxsjd fldir2u1zeqyo7k03kcjbdrvw8 eot6n78iznifrhjff4dngvx61 u6wn5xxli9hmovxluwidaqab mwr5mghpp9dint1hriwud uylzxfem1ufoty56jbi rkukyru5msqvp01ii canonicalization iwree02clqkwg5c pb7pql4g86lczsf zmafjtef2rlooq 9zpb2ajgoso4 introduction discardable simpletable identified sqri4exnbg nhsjgam5qe guarantees _domainkey signatures domainkeys receiving algorithm integrity indicates opensmtpd _dkimsign otherwise following _dovecot returned receiver selector sortable pretends removing tampered designed together security phishing private useradd headers prevent openssl example message display perform spoofed nologin subject transit signing records letters provide joining version ensures running sending clients command produce _smtpd server public fields create sha256 lookup sender border should genrsa filter checks printf allows access claims taking pubout during detect forged result 86400 prove based comes looks lines above email _adsp notes final below first inbox title chmod chown valid width dmarc class mkdir setup empty doas with this does will into need like name sbin both used that 1024 then last text next sent from body been work here what date spam your help also pass many hash view txt dns pgp etc tip spf awk are see may its tag 100 var rwx bh jv by we +Seamonkey.RecentChanges:1630155336: : recentchanges seamonkey connect august 2021 mkf 28 at 11 56 by +Email.EmailAndroidEmailApp:1630075032: : emailandroidemailapp +Vmm.Haiku:1630068795: : _zl24kernel_debugger_internalpkcs0_p13__va_list_tagi _zl20kernel_debugger_looppkcs0_p13__va_list_tagi kernel_debugger_internal__fpcct0pcl arch_debug_call_with_fault_handler kernel_debugger_loop__fpcct0pcl reserve_io_interrupt_vectors stack_trace_trampoline__fpv vfs_mount_boot_file_system _zl19common_thread_entrypv common_thread_entry__fpv mark_page_range_in_use arch_debug_stack_trace kdiskdevicemanager 0xffffffff81e84000 0xffffffff81e7f000 initialdevicescan ffffffff81e839f0 ffffffff81e83fd0 ffffffff800aad8e ffffffff81e83a40 ffffffff81e83f60 ffffffff81e83fe0 ffffffff81e83b30 ffffffff8010bd0e ffffffff80062799 ffffffff800ab0f7 ffffffff81e83fb0 ffffffff800aaa91 ffffffff8014510c ffffffff81e83990 ffffffff800a9108 ffffffff8008b5b6 ffffffff81e83940 ffffffff81e83928 extended_family extended_model _devicepresent _adddisksystem kernel_x86_64 write_overlay file_systems genuineintel information framebuffer patch_level _zl5main2pv 0x82613000 0x8260f000 devicemask partitions hypervisor controller main2__fpv haikuports 2115485744 available debugging disabling pclmulqdq hrev55181 microcode packagefs selection currently directory connected installed presence repeated 82612f64 features starting reserved stepping 826129a8 returned 8013a3b6 commands topology ignoring bootable 800a89d7 826129e4 826129d8 provided 82612a14 80103af4 revision packages 82612fb4 function 80067cb1 800a8d4a 82612a84 80088d2e 800a6f33 82612ab4 826129c8 800a713f 80148aa2 82612a54 800a74e3 welcome running message pdpe1gb enabled invalid syscall checked iso9660 getting support perhaps however syslog target failed caller offset popcnt sse4_1 sse4_2 before vendor output 115200 server useful number suppot kdebug string paging 0x3ae amd64 speed error panic ttyp5 times _scan pse36 clfsh ssse3 xsave 0x100 image doesn 30ghz since there 0x207 might using fixed basic quite never cmov long name sse2 fxsr free hard core this xeon type done cx16 from 2630 0xb7 some 0x88 0xf1 didn 0x6e 1072 tail them 0x99 i386 0x36 0x16 0xa0 find apic land qemu such last will 0x0b 0x1b only 0x77 1200 0x80 0xad 0x12 logs aes vme vnc smt rdp cpu 240 bfs fpu sep ata tsc pge msr pae cx8 dma are gui not vmm any avx yet mmx v1 98 32 nx os e5 +Openbsd.Mailopenproxy:1629922775: : mailopenproxy openbsd +Openbsd.Two-FactorAuth:1629747572: : ___________________________ authenticationmethods corresponding distributions alternatively youruserhost capitalizing sshd_config traditional capitalized id539922062 interactive configuring passphrase factorauth challenges screenshot initialize characters proceeding whitespace disconnect encrypted functions calculate user12446 otherwise following connected something somewhere user41451 publickey terminal password skeyinit generate directly keyboard sequence defaults properly otpdroid download supports skeyinfo security although standard disabled assuming response without details android sshkeys improve account caution desired combine qb8h6yp entered command openbsd require another include restart follows profile changes already current instead working creates minimum numbers 8bryndv channel however window retype system secret enable server secure rmd160 logged telnet incase should select echoes kindly before iphone ircnow google simple passwd mobile adding random better forced login index using users again https under based setup might their vaild above wrong steps wanna needs rcctl paper words print write press store below shown image first apple after tried when this that doas nano done asks will exit save next went apps ub0r sha1 note only redo want have test fell well find ends eros days cook play both hoof rill bulk heal cowl hash each part edit used once more time must wiki guys make can try six vps md5 get are org two ibb gas see php tap 100 ios tab new any way won etc 97 by pc if +Vmm.DragonflyBSD:1629747113: : meltdown_mitigation 0xffffffff817a4f90 0xffffffff806b91ef 0xffffffff80c2cfb7 0xffffffff8061d9c0 chips_per_package threads_per_core siocninit_fini bboooottiinngg cores_per_chip x86_64_generic shiningsilence initialization cninit_finish i8254_timer2 dragonflybsd ae_not_found genuineintel virtio_pci3 virtio_pci1 performance virtio_pci2 motherboard calibration cryptosoft0 virtio_pci0 macaddress initialize networking california bootloader srat_probe madt_probe structured university 1048164352 negotiated fadt_probe 0x00000000 mi_startup bootprompt 2299750485 0x96982203 interrupts maxsegsize 0x24100800 sdt_probe disabling swi_taskq supported operating automatic copyright returning invariant 980262912 features2 assertion 0x793a97f beginning pclmulqdq features3 cputimer stopping stepping md_clear debugger topology 0xbd14e9 padlock0 20210331 software extended tbxfroot reserved firmware 20971520 disabled watchdog impacted enabled page1gb syscall warning adapter stopped release display vtscsi0 sectors 10240mb spectre entropy rdrand0 kbdmux0 protect machdep 0x206d7 booting against project regents freebsd latency vtblk0 locate pcibus justin aesni0 0x4fff either failed rights serial loaded malloc kernel 0x1000 mplock system mostly device things apicid ioapic memory 0x1fff simple vendor 0x0b5d 0x0777 0x3fff 0x3000 vtnet0 needed 0x2fff 0x2000 0x4000 130378 120208 origin popcnt 186676 bring pse36 cdrom panic twice class valid cpuid ssse3 comms pcib0 frame makes block trace worry clock lapic 30ghz xsave table reset error ticks evdev these using press avail 1986 1983 2630 real 1988 cpus acpi each sse4 1980 1989 cx16 1993 1992 home 1991 2003 1979 byte will host from movb then xeon type sure 0x7c show sse2 null fxsr cmov more logs rsdp 1994 this 0x77 none uses 0x9f lahf cpu0 next fast wdog like disk kbd0 0xa0 freq 3141 find vga edt vmm usr see old vme www irq fpu min 512 999 934 can don rip was mhz but 6_0 obj you amd xts cbc md0 try avx 369 msr fri b20 mmx pge sep vmx mds cx8 may pae esc pat cv db e5 v6 k8 nx 8f 0h 0s +Vmm.NetBSD:1629745281: : pci_msix_count communications rbus_min_start miscellaneous configuration interrupting cmd_per_lun max_target foundation management initialize acpi_probe university 0x40000000 california configured 0x14507d0 somewhere supported copyright selection mainbus0 function 20971520 size_max features 18072260 ethernet reserved firmware selftest vioscsi0 20190405 scsibus0 tbxfroot warning virtio0 regents viornd0 0000030 mkrepro generic invalid running handler already entries 0xf3f40 0xfefc2 missing 1551000 entropy compile 0x206d7 product virtio1 letting package address virtio3 instead virtio2 loading sectors modules seg_max verbose console consdev max_lun network vendor smbios device vioif0 bios32 failed tables remove evmisc colors before netbsd cd9660 522816 849344 892624 prompt systbl pushed itself rights serial exists system loader memory 940937 could 10240 61432 bytes error power intel these stand 17766 30ghz total 1024k debug block boots qsize press needs turns pchb0 avail 0x00 clip pci0 logs 1993 i386 arch 1991 stop 1982 2021 1986 will 1989 2002 2005 2004 kmod 2003 2001 2007 2000 1999 1998 1997 1996 from 2006 2008 5201 2020 head 2018 2017 2009 2016 2015 2014 2013 2012 2011 2010 cpu0 rsdp 0b5d more mode drop prep core isa0 page type xeon path 2630 0666 com0 done 0777 cyl 512 not 312 sci irq ld0 xts vmm rev eof efi 64k set aes 256 was len 261 cgd all inc wed may use far utc org 128 usr src off mac smt you 963 b2 aa 4b e5 8f +Main.RecentChanges:1629737949: : recentchanges wikisandbox december homepage august ircnow shell terms main jrmu july 2020 2021 mkf 31 pm 39 04 at by 07 38 am 23 12 36 03 14 35 06 13 01 +Mariadb.Install:1629736976: : mysql_install_db database_name multithreaded installation initialising initialises replacement mysqld_safe mysqlclient privileges identified initialize dependency user_name localhost directory following uncommnet including configure password1 databases modifying creation commands packages address regular mariadb creates changes execute console connect running mariabd pkg_add openbsd similar servers library headers access socket yourdb syntax remote editor enable system oracle tables grant shows above rcctl after start 94120 lines user1 flush basic error happy other apply there order check 1016 1040 side good with will only pops 40am this root grep doas 3306 curl bind port list save days page need msql very bold new – for are two var see www aux now api cnf one its usr etc we by 02 p0 sp 00 up of ok +Main.WikiSandbox:1629736749: PmWiki.TextFormattingRules : textformattingrules mysql_install_db database_name multithreaded initialising installation mysqld_safe mysqlclient initialises replacement wikisandbox identified dependency privileges initialize experiment directory following password1 uncommnet localhost user_name configure including modifying databases commands packages creation mariadb regular library pkg_add headers console mariabd openbsd connect servers changes running creates similar execute address system tables editor socket access enable bottom yourdb pmwiki syntax oracle remote 94120 user1 grant start check above order other flush apply click basic rcctl shows happy lines error after there main doas days this 40am list with only root good grep 1040 1016 pops will feel port save page bind 3306 curl very need bold msql side free just link – now new one etc cnf api two are var www its usr aux see up ok by of we 02 00 sp p0 +DNS.Ipv6rDNS:1629719716: Nsd.Configure Openbsd.Nsd Openbsd.IPv6 Dns.FQDN Host.Usage Dig.Usage Openbsd.Netcat : t_dnsreversenameresolutionusingtheinaddrarpadomain troubleshooting authoritative configuration installation interpreted configuring terminating 2021082301 configured references yyyymmddnn 2020070701 scientists tcpipguide 2020112906 nameserver delegated checkconf confirmed necessary secondary protocols checkzone resources describes qualified original hostname probably intended reported zonefile appended ipv6rdns properly overview required internet records reading include openbsd example between periods suppose further command helpful forward request without missing coconut project pattern 1209600 working warning connect divided primary replace follows results restart address provide section sprintf consult already assumes service minimum refresh subnet inside create master digits substr actual scalar length should number values enable ircnow cherry issues lookup errors daemon reload before expire 604800 serial rocket netcat orange banana jujube marked zytrax notify would split user2 guava block peach usage nokey mango ifend false about rcctl admin means lemon grape slave user1 write along bring files zones 86400 fully first retry 10800 final tools denic inet6 https debug allow these there ahead title being books zeros pages match email comes vhost avoid 1800 3600 step fccf fill next spam 2602 free 0001 vio0 grep your test then know doas this pear echo part 2001 nast they have must fqdn like docs imap that save will smtp note news need mode base from what good join 032s real both 0db8 into many plum find type been once line www org xfr nsd dot ptr ttl hex can ip6 ask are htm put var soa ns1 04s sed awk had ns2 my of mx by 16 5 +Pipes.Redirection:1629690655: : redirection pipes +DNS.RDNS:1629674413: DNS.Mail Dns.Vhost DNS.Ipv4rDNS : identification unfortunately automatically information residential traceroute performing diagnostic separated dedicated similarly addresses generated configure confirmed generally providers beginning structure sometimes followed original ipv4rdns overview matching records service reverse missing numbers between periods written another example highest suppose because resolve domains pointer finally finding forward sending through dynamic created ircnow points should stored define server lowest coming single normal lookup digits called colons remove system fcdns zeros while found total would which first works title using looks vhost tools order prove entry every often email given allow vpses hosts helps nodes level last most many isps have ipv6 root 2001 d00d c001 spam this fill from then mark your will only does tree also with want rely dots each name arpa same 0000 like wifi 0db8 when four uses need used that what here 192 169 168 was and one may ptr can don top see ip6 way 209 www put 141 173 why org are but hex by 39 32 +Debate.Providers:1629667326: Blazingfast.Io Colohouse.Com Glowhost.Com Debate.Contabo Debate.Flokinet Hostdime.Com Ideastack.Com Hyperfilter.Com Go4hosting.In Leapswitch.Com Crazyhosting.Com Onliveserver.Com Rdsindia.Com Cyfuture.Com Serverbasket.Com Hostingraja.In Resellerclub.Com Everdata.Com Ricohidc.Com Milesweb.Com Nowindiaonline.In Cloudoye.Com Softsyshosting.Com Webji.In Hostkarle.Com Serverscart.Com Vnetindia.Com Superbytehosting.Com Sytes.In Royalclouds.Net : ddoshostingsolutions colocationamerica uncensoredhosting superbytehosting nowindiaonline washingtonpost discrimination softsyshosting torbitcoinvps orangewebsite serverbasket crazyhosting unreasonable onliveserver yourlasthost hkcolocation unresponsive specifically hosthongkong resellerclub filesharing blazingfast spartanhost ariseserver royalclouds alternative hyperfilter hostingraja serverscart recommended sunnyvision researching acceptable datapacket go4hosting leapswitch afterwards reputation delegation use_policy simcentric hostsailor showthread guidelines censorship technology especially cryptcoins additional deplatform luxembourg community important serverrun filtering dedicated australia providers singapore operating unhelpful microsoft potential endoffice threatens questions aliendata lowendbox crackdown sharktech offensive ideastack prohibits currently prometeus political vnetindia expensive quotecolo hostclean sysadmins colohouse countries religious quadranet extremist hostkarle selecting serverhk flokinet theverge glowhost 17671188 reliable budgetvm hostdime required includes untested customer requires anything supports pakistan ideology torrents b4uindia purchase cloudoye milesweb ricohidc criteria defining continue everdata friendly cyfuture rdsindia leaseweb unstable miditech shutting services telegram privacy anynode another hetzner content without reports replied respond openbsd already bigrock lacking certain perhaps digital discord systems centers located options payment spreads tickets contabo running results 1352990 forbids europe allows offers github africa psychz speech choopa subnet notify strong second before scenes define debate racism follow answer host24 longer behind ignore linode really should google amazon credit paypal webji https doesn sytes ocean abuse 10110 forum price azure legal title money reply buyvm email trial cards ideal south where vegas vpses using texas there would check these words often court first order their hate good ipv6 have been they what this find best user slow 2018 over take very send them html game time give didn chat must case such many look vpns want free size rdns aren bans know need list asia will when city york uses irc www new aup and usa but law prq org day faq gab ovh don x4b aws can php few api too pk 08 uk qz +Netcat.Smtp:1629658738: : netcat smtp +Vmm.UbuntuIso:1629614458: : d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423 843938df228d22f7b3742bc0d94aa3f0efe21092 partition_offset installation fingerprint sha256sums indication libraries installed keyserver signature automatic processed checksums certified perfectly ubuntuiso interface presented username mt86plus isolinux 115200n8 generate download releases autoboot imported vnconfig libcom32 vesamenu default support include console vmlinuz openbsd libutil provide unknown version primary belongs giocher trusted warning cdimage signing xorriso changes pkg_add already memtest switch0 mkisofs umount initrd rescue enable create append normal serial verify memory update search inodes kernel casper public joliet modify locked should lladdr number diffs mkdir vnd0c label rqtxt cache words https taken ideas qcow2 amd64 cdrom 1024m owner table ttys0 quiet title guide these total steps using match gnupg there live doas made with 2021 help recv grub 2012 path grep then this true that from good mode must into make size else info type stop root disk home emul 2018 when will vga ftp gpg not and vmm aug sun cfg new hwe bin thu feb rsa etc cst old vda dev c32 are mon for you two run 788 04 cp 57 gz 13 07 58 cc +Vmm.DevuanIso:1629611054: : 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b e93d7167a4f5fa9e9fed497770285ba5cf280ba4 1_amd64_netinstall devuan_beowulf_3 partition_offset installation fingerprint sha256sums indication ronnquist installer signature certified processed keyserver devuaniso libraries interface checksums installed perfectly isolinux 115200n8 username imported generate mt86plus vnconfig vesamenu libcom32 leaseweb download console provide default trusted support mkisofs xorriso warning pkg_add include memtest vmlinuz primary belongs unknown changes openbsd libutil already switch0 version giocher initrd append normal casper should umount mirror verify serial search modify create ubuntu kernel number joliet inodes update memory locked lladdr public https diffs words taken label ideas vnd0c ttys0 guide 1024m qcow2 cdrom gnupg owner image quiet table cache mkdir title ralph gmail match using total these steps there this grep 2021 path boot emul size made from live root that must with good info jrmu stop grub disk into home make recv else 2018 doas hwe not gpg new vda vga ftp vmm rrq asc etc fri for you rsa cdt bin old are c32 cfg mon sun aug two and txt feb run cc cp aa 57 50 22 35 12 +Openbsd.Npppd:1629553422: : authentication authenticated interface keepalive authproto abcd1234 protocol pppoedev interval hostname 12345678 authname timeout default retries openbsd servers authkey tunnel pppoe0 method sysctl listen enable route users npppd local pppx0 cpsw0 eui64 inet6 pipex pktin retry found debug conf sbin dest none dump ipcp type file bind fe80 from ifp isp add pap etc not 255 lcp yes max dns idk 19 up 30 60 40 by +Openssl.Imap:1629518750: : configurations orderedsubject authentication permanentflags hasnochildren authenticate capabilities uidvalidity multiappend 1106186941 capability references successful connection yourserver gracefully responses completed referrals permitted namespace predicted character dependent condstore describes connected imap4rev1 searchres i18nlevel s_client outlined extended catenate unselect starttls username answered password features hostname savedate literal deleted flagged dovecot depends example details uidnext session display uidplus partial snippet openssl section preview mailbox special foreign working correct process logging context qresync esearch logged telnet notify logout escape enable recent closed exists method differ thread syntax status either binary follow trying within inbox draft login check shall fuzzy esort title other below issue write enter logon ready plain secs uids type exit seen list they sasl test fast once have idle from wait note size move ting into refs this 000 and 143 001 any may url bye how ok of ir 5 2 +Openbsd.FilePermissions:1629426028: Openbsd.Setuid : 148089896932537 filepermissions unfortunately login_lchpass unauthorized login_chpass login_passwd sshd_config traceroute6 themselves forwarding unexpected processes recommend disabling installed username1 otherwise lockspool username2 teammates dangerous packages downside commands binaries shutdown security td309339 _dovecot possible checking accounts serious adduser archive openbsd privacy libexec created program mailing warning retired viewing prevent folders usermod _identd related keysign hiding htdocs botnow around nabble others authpf prying kernel daemon setuid client secure helper launch _smtpd delete cannot denied member server groups easily powers uptime logged access remove leaves chmod chown local _dbus those added wheel ping6 allow watch files could these latex users title quite break which ttyp6 there world snoop their https fixed patch ttyp0 shell marc root utmp sbin chfn sure make that 4000 find info with doas tech suid rwxr want chsh list rwsr pppd from this read 0750 lprm 7691 acme only logs eyes home turn then noip they also wtmp your soon html what data like hide risk who var run may etc new are see don get off x11 ips usr apr jan 168 192 any znc www amd way n7 to rx cd 36 12 9k 73 if 03 17 10 lh 35 +Ircnow.Todo:1629189699: Ircnow.TeamSecurity Ircnow.BusinessBusiness Ircnow.VpsVps Ircnow.TeamShell : good_free_ssh_shell_accounts businessbusiness free_irc_bouncer question2answer inconsistencies underprivileged fedoramagazine infrastructure resourcelimits specification delphinusdnsd stackexchange smartmontools documentation livestreaming functionality competitions registration teamsecurity rpl_isupport unregistered cloudmounter blinkenshell commandline permissions masquerades flaviocopes utilization unixporting speech2text registering enterprises controller management competitor freeshells compliance oscommerce learnshell filesystem callwithus discussion lowendtalk suggestion servicectl transcribe protection handicraft restricted anycasting redundancy connection ostechnix tutorials questions ircnowctl available softphone blacklist providers receiving hardening openrsync pasteserv undesired messenger implement specialty configure community interface marketing voicemail automated unlimited reference currently telephone usernames platforms honeyserv searching processes teamspeak advertise parameter teamshell services minetest irccloud creation cronjobs priority software provides asterisk breaking accuracy fileserv netsplit commands memeserv trapserv telegram research everyone products eggdrops comments undeadly aruljohn purchase approval messages natively nickserv chanserv outbound flexible clicking disaster approved honeypot portlane recovery dokuwiki outgoing sysutils globally squirrel properly hosting discord include content records clients malware bitlbee improve twitter install disable organic privmsg suspend servers network keyserv virtual interop daemons egghelp monitor backups premium stopped emailed waiting contact failure android scripts scanbot restore testing bridges numbers tempted privacy foreign replace charset problem achurch pubkeys updated request migrate patches license ircdocs aliases openbsd because details convert cumulus website filters abjects sshfuse packets errors hidden reddit vpsvps identd within cvsweb charge across stagit result ngircd wraith module psybnc finish pylink import access prizes custom upload listed matrix switch juping quotas syslog should signal single ircnet public define resort ilines atheme ffmpeg verify mibbit medium dnssec issues defcon remote censor policy emails create deploy gamers modern enable output locked failed better mumble normal agreed people domain easily typing trough cannot mobile asgaur invoke widely phones gaming chroot played those https write fdisk block elist being times goods setup flood slack again child could check might offer repos wikis money house abuse twice sdfeu build horse audio video plans added apple users index title final clean terms terns fogle lists hosts snmpd opers train basic calls world skype fight after large stays 29511 whole xbjfg using never leave space major 20511 games there their sbin like have into bake join that todo plus make then high want spam secs feel nsfw dids this bnc3 turn stun year send easy ipv4 hopm pstn page ipv6 head sets sent upon ldap info acme bots carp used anti voip shop food more aaaa porn h5ai sftp safe pill find post 8bfx each pipe they sure last cgit doas grex only both swap html vote lysy iops ban fix old atw get way sip new www ads ssl own ips src usr gry see cpu ssd hdd dcc mx2 ios url few ksh nyx php var znc mac ask dev run don pf 50 13 mh 39 10 wp by +Vmm.GuixIso:1629133951: : 27d586a4f8900854329ff09f1260e46482e63562 savoirfairelinux fingerprint keyserver signature cournoyer installed download already pkg_add primary expired guixiso x86_64 ubuntu verify system create maxim gnupg using gmail title https 2021 made note this good from recv doas aka org com vmm gpg and ftp has for tue may rsa cdt 11 18 30 41 +Openbsd.Gophernicus:1628993186: : configureation autogenerated configuration public_gopher installation gopherspaces internet’s gophernicus development description application compatible accessible throttling especially completely connecting conversion university gopherroot gophermaps beginning following gophertag filesizes directory detection localhost minnesota arguments execution numerical available developed attempted conceived debugging selectors protocols extension separated filterdir parameter personal hostname combined transfer filetype directly disabled pointing featured detected expected publicly provides location checking network extract default example logging strings charset options content mapfile tagfile however testing machine openbsd display working locally license ability address changed command userdir haproxy various scripts logfile maximum virtual hosting seconds timeout libexec session pkg_add 4194304 rewrite specify servers filters result output kbytes shared memory status unveil cgidir header footer apache number format syslog parent typing mascot school daemon secure stream nowait nobody modern actual enable client remote create admin which using email later paths under inetd rcctl start users until width cheap colon fixed style query named value wrong after first menus might there dates links title layer build help some caps view page this that 1991 doas data 4096 1800 many only them load text most hits full need list line http lynx home just keep port your will fqdn when from also post have know fire then not can but one txt vps tcp was web run top etc ssl tls usr utf new old of nm 67 up nq np 70 nr nh 2 +Openbsd.Iked:1628989736: : githubusercontent malwaredomains 4skinskywalker certificates justdomains stevenblack alternates nameserver blacklists forwarding blocklist newhosts2 newhosts3 malformed debugging addresses currently installed interface outgoing provides manually index_en resolver provided reformat gambling consider capitole unwanted password username writing clients example connect unbound entries caching server1 running servers packets command unified replace control ruleset passive openbsd updated mirror1 version torrent public tagged filter ircnow verify master ikectl pihole isakmp latest ignore lookup create needed mmotti access static censor reload obtain piracy mschap htdocs config ipcomp enable sysctl allows https point files quick match proto using roadw start rcctl pfctl local which lines ipsec srcid taken regex check these valid added ikev2 dhcp will this iked must bind tail have blob porn site used last then into note does inet here doas turn with from anti step zone only curl enc0 vio0 port that made been your peer crls put dns var etc 127 203 vpn 113 udp esp raw any awk get www app 168 192 key rsa has org may eap crt dsi php txt 509 can rdr pki tcp 10 24 we dl of dv 53 +PmWiki.Links:1628921167: PmWiki.WikiSandbox PmWiki.BasicEditing Main.WikiSandbox Main.HomePage PmWiki.WikiWikiWeb PmWiki.Installation PmWiki.WikiWord PmWiki.LinkVariables PmWiki.Links PmWiki.InterMap PmWiki.NonexistentPages PmWiki.CreatingNewPages PmWiki.WikiGroup PmWiki.Categories Profiles.Author PmWiki.PageSections Cookbook.FixURL Cookbook.DirList PmWiki.Robots Cookbook.PopupWindow Cookbook.DeObMail Cookbook.AddUrlSchemes PmWiki.PageLists PmWiki.LinkSchemes Cookbook.ExternalLinks PmWiki.Images PmWiki.ConditionalMarkup : enablelinkplustitlespaced conditionalmarkup 28disambiguation markupheadersend creatingnewpages nonexistentpages characteristics capitalization international linkvariables linkshortcuts externallinks pagetitlename automatically searchresults addurlschemes rootdirectory 28parenthese basicediting subdirectory installation conditionals localization respectively makepagename capitalizing pagelistlink tooltiptitle pagesections differently wikisandbox wikiwikiweb information punctuation parentheses differences popupwindow incremented linkschemes someoneelse encountered consistent references containing characters reportedly recipients protecting sequential parameters mechanisms formatting subsequent javascript workaround overridden categories incomplete encounters directives identifies particular wikitrails exceptions hyperlinks actionname othergroup occurrence underscore following robotstxt othertext intermaps supported validator markupend addresses displayed something attribute wikipedia somewhere technical specially locations numbering anonymous including resources checklink specified configure redirects pagelists wikistyle camelcase wikilinks backlinks myaddress evaluated recognize wikigroup protocols fullname examples linkname relative document homepage extended cookbook wikiword multiple specific category brackets filename wikipage organize removing includes vertical provides browsers checkers directly uniquely profiles bookmark security appended replaced contains internal position myanchor somepage makelink produces displays entering requires behavior actually linkwith selflink provided tableend audience nofollow followed pmichaud sidebars absolute deobmail spammers internet pictures together explorer projplan intranet versions current summary creates default omitted dirlist created fetched subject anchors written reasons existed between another similar related classes october textual numeric appears specify letters message server1 clients network windows instead website outside several enables urllink somedir pagevar further mailing purpose jumping allowed because brought defined leading formats linking actions details without problem markup1 enclose reverse feature authors markup2 systems servers becomes entered newwin within itself google pmwiki modify xlpage double inside should group1 shared elseif exists group2 called spaces things groups advise adding _blank target simple suffix prefix escape quotes custom simply mostly assets pmform recipe better fixurl encode square option across rather useful change struct hiding attach period digits images syntax cellnr titled mailto center invite others shown works their below align horiz since start field html4 words entry slash found drive email those begin types names photo notes using green brace after based looks order while arrow which users learn first areas added could wiki_ above there sites makes about falls gives plain every ifend among three tilde pipes paths does more will same easy body like both blue http them from lets have they your what also only this then main xmpp ways that open keep each nntp find than want such thus used hide when must dash 2010 were ease into idea kind date icon need four time next can top css via www see key bcc may ssh faq pss dot php jpg won put any why few ftp gif foo by w3 14 12 29 50 48 90 04 +PmWiki.DeletingPages:1628921167: PmWiki.WikiAdministrator Site.AllRecentChanges PmWiki.EditVariables Cookbook.DeleteAction PmWiki.BackupAndRestore Cookbook.CleanUp PmWiki.WikiGroup PmWiki.RecentChanges Cookbook.RecentChangesDeletion PmWiki.Categories Category.Maintenance : recentchangesdeletion wikiadministrator backupandrestore allrecentchanges deletekeypattern editvariables alternatively configuration deletingpages deleteaction periodically maintenance explaining references categories wikigroup different 123456789 timestamp sitegroup extension directory something malicious highlight explained category cookbook retained removing creating separate textarea recorded restored commands possible activity default changed erasing cleanup deleted editing related setting obscure created renamed example uploads suspect summary feature comment replace usually server select unused recipe exists saving danger unique pmwiki access remove number single safety update counts former modify causes which where there fully files added occur since found could these field shell below those purge still lines allow above idea word just into also have from type them good note find that with more look sure aren been were they then same can log may via ftp how has but isn faq see one why you way php ssh of by +Site.AllRecentChanges:1628921167: : userscategorymirrory emailandroidemailapp ircfreehomesteadvps php_session_active category_mirrory allrecentchanges lanofopportunity controlcomputer squirrelmailing filepermissions microsoftdanger openforeveryone wikipediadanger sshfingerprints troubleshooting serverlocations sqsession_start irccloudandroid libertyordeath discriminatory holierthanthou facebookdanger monopolydanger authentication session_status config_default webmail_access firstamendment unixphilosophy unboundadblock webmail_error mozilladanger compatibility accessibility unfortunately tcpresetflood amplification bejelentkezni configuration youtubedanger ethicalsource modifications vicepresident revolutionirc administrator delphinusdnsd httpopenproxy serversrights mailopenproxy ancientwisdom acceleration on_is_active googledanger outreachkids searchsocial sysupgrade69 organization denomination serverrights accidentally opsofliberty startupdream default_pref independence debiandanger ethicalflaws publicdomain ircv3defense run_in_place applications sysupgrade68 texturestyle matterbridge constitution shellsshkeys addingarenas tcpackflood pioneertldr masterslave replacement disposition alternative thunderbird irccloudweb sourceforge certificate interactive oldsoftware configuring preferences letsencrypt development slackdanger matrixflaws information mailwindows planetofnix worldbackup macterminal gophernicus wikisandbox appledanger sshbackdoor opofliberty oddprotocol irccloudios installing hostnameif miniontoby attempting extracting pentesters registrars ambassador factorauth management zncsupport censorship vmminstall unrealircd federation additional afterwards enterprise configured connectbot eggdrop191 thunderirc ngircdlink eggdrop184 zoomdanger linuxflaws uberdanger hyperlinks dueprocess hatespeech dogfooding rmsboycott connection configtest javascript compatible freespeech monospaced zncmodules powershell nodejstrap nameserver minutemin sysadmins pfbadhost september christian providers upgrade67 myaddress opensmtpd openhttpd loginconf copyright pftesting checklist craziness statement wordpress noxturnix install67 grapeteam complains documents siteadmin procedure localhost directory simpleirc bsdforall lecturify functions debugging passwords compiling partners2 installed addresses essential fusername install68 challenge delimiter languages following necessary recommend databases receiving supported subdomain applemail clawsmail codeforce formating donations ircitizen madeonirc marketing simpleurl openrelay install69 chatforce immigrant dkimproxy questions wikistyle openrsync opentoall disklabel workethic staticnet selfadmin rulebylaw hardware ifconfig updating bootcamp nickserv hostserv december november packages overview basilisk commands training udpflood syspatch rstflood minetest networks freenode founders takeover security finances zonefile projects vmmlinux opernbsd chroot69 ipv6rdns optimize dnszones torsocks almanack replaced donateus dkimsign pfstable dokuwiki tutorial february zncflaws announce tigervnc zncadmin republic duckhunt progress phishing bearcode ipv4rdns leafnode congress howtoask religion marriage netadmin homepage xmlflaws zncdaily remember settings http2irc instance listener normally combined puttygen browsers manually expanded sendmail authuser properly specific sylpheed licensed messages brackets juicessh smtphost chrooted optional writable provides browsing tlsmulti required sshwifty defaults drawback continue original 26214400 services release mt_rand freedom disable openbsd sending strings january another subject netizen instead compile misused charset baytuch keypair appears records contact sidebar openssh bouncer exiting content vmmuser syslogd privacy achurch dovecot mistera unix101 oidentd hosting tcpdump openssl repeats roadmap without uploads foxtrot resolve charlie warning tarball openweb version whynotc started gazette written bitlbee nologin example initial defines folders opening outlook zouheir already fastcgi however options private restart helpers because include contrib backups ongoing clients unusual request defined general plugins coconut weechat militia rbldnsd economy created texlive webnews linking newsnow freedns destiny tracker hexchat october sheriff catalog serfish spacing anycast markets termius kiwiirc correct ircnowd easyapp removed icechat newdisk recruit welcome nsturtz debate pylink august global invert readme vpnios update fixing images caesar orange botnow telnet should switch netcat jujube setuid dennis vision please detect secure femail socket atomic forgot number errors trying issues actual inline ilines reload attach termux webirc vpnmac system locale report serial delete relays myname daemon lookup logout relayd needed return banana hidden syntax police longer base64 cherry pmwiki web101 policy psybnc paster making refuge census before themes become frames arthur across quofan chanop checks cannot latest wraith growfs better htdocs allies braces monaco rather offset typing tcltls gotweb winirc course 9front gomuks keygen python medals remote fdroid adiirc monero ircweb bncnow blocks coders terms third march april ifend intro fixed books dillo alpha based chewy index goals rcctl st13g dmarc mlmmj guide chain strip known means class abuse title bsdrd using false there https above write might guava since mkdir php74 added psftp teams query bravo fatal array curly delta happy where ascii notes creed union buyvm saved vhost tcpip about labor avoid files igloo needs which setup chmod exist chown color could memes touch tasks irssi share pppoe mster stopm anope lemon mango ircbl dutch vmctl usage kvirc dnswl money rules xterm again clean ipsec wrong audit fdisk acopm fiche worry navic sarah 2021 jrmu 2020 next ways done iked doas into more this mime have 2001 were imap must bgpd logs edit both give motd ssdp time hide full hope menu pop3 sudo quit fees 2602 1008 many fccf want echo html body find bind xvzf some uses duty sbin chsh does hopm nano your when ctrl todo runs will once like well punk sure that aaaa mirc tmux type acme devs make exec fqdn ntpd fizi fork dima plum slrn cpan caps cgit bots bash game bchs cash july june oops mutt siva kill i18n left ddos xfce xfnw mkf pgp mif vim wiz gry dcc ksh spf bio may see pkg lol has day 127 var dig www zip 162 max fpm gpl sic src 403 usr few via 143 db8 pfa inn its 644 451 755 634 crt 31 36 09 04 06 57 49 59 47 56 05 39 23 15 38 24 46 52 07 22 41 48 28 17 25 50 11 29 42 35 30 53 58 54 32 gz rx 87 mv 80 37 33 +Ircnow.RecentChanges:1628921167: : sshfingerprints recentchanges vicepresident opsofliberty constitution pioneertldr opofliberty pentesters ambassador federation censorship sysadmins partners2 ircitizen chatforce codeforce minutemin howtoask finances training february projects hardware november networks december roadmap january netizen sheriff servers contact removed helpers testing coders ircnow course august allies ilines stable march april goals jrmu 2021 2020 ally self july left team june todo may mkf mif gry by 04 36 17 55 09 05 11 01 06 03 10 35 18 12 48 57 pm 19 16 15 my 30 58 52 28 29 33 49 08 00 42 07 47 50 13 53 37 24 31 32 26 54 14 +Debate.Zncdefense:1628921167: : addtrustedserverfingerprint clearallchannelbuffers multiple_clients module_name_here setuserbindhost troubleshooting distinguishing abovementioned simultaneously specifications idiosyncrasies notifications nonresponsive documentation fingerprinted configuration instructions reconnecting verification controlpanel registration significant proprietary repolishing understands recompiling negotiation development improvement connections explanatory abandonware independent implemented capabilites throttling customized negatively introduces sensitivty acceptable straighten respective duplicates elaborated benchmarks experience developers themselves requesting zncdefense explaining philosophy improperly disconnect impossible restarting unfeasable capability preferring integrated lackluster supporting complained apparently subjective configured documented nontheless objectives critically reference otherwise necessary therefore following different statement secret123 essential connected regarding confusing passwords sensitive available inelegant requiring catlinman resources debugging protocols sysadmins sometimes blockuser partyline willingly difficult throttles providers certainty instantly requested throttled attempted supported knowledge interface chrooting something qualified multiplex practical potential reproduce currently intuitive obtained manually separate programs interest polished webpanel networks services everyone declared channels nickserv identify messages possibly secondly requires designed bouncers pastebin personal operates commonly problems although horrible webadmin clicking examples verified connects security parallel freenode serially register userhost observed solution studying supposed uniquely adapting download citation strongly followed stupidly optional confuses extended updating improved language bypassed labeling assuming fallback memorize username software actually versions terrible perceive absolute yourself category changing stubborn invented usually testing because falsely cleaned forking perhaps modules however greater removed default instead appears without aspects openbsd chooses chghost hosting crashes bundles majorly pirated command insists against matters useless regular spelled nothing working worries options written account realize aliases dropped managed logging strange exploit failing hivecom suspect remains seconds android feature counted chroots depends talking despite startup complex neither reading through several hideous whether changes minutes further address becomes blocked someone upgrade handled bahamut nowhere causing entire access making single debate stores hosted psybnc should closed likely anyone sticks around unable delete unless simply ngircd elapse simple prefix indeed dalnet manner system notify pledge forced always unveil rather ircnow infact needed mobile allows nobody issues almost better shared degree easier fixing friend glined easily cannot relies refuse plenty status suffer typing worded foolow occurs casual devies people stated harder hacker author jargon normal useful themes causes behalf squery course switch repeat loaded enough really exists points wishes github before reason needs users tries which while blame after worse first fixed crowd value badly never error ircv3 chose older would being takes certs fixes sided doesn slows lacks quite ircds fully names weeks adopt still flaws until could phone https wikis setup shows opens alone order guide given gives about buggy often think these today goals makes least going proud shown efnet wants wrong field mercy since their years hours spent weird quote pages shell email fetch offer delay cases more they logs true push than good form that into this edit when ipv6 ipv4 both seen also chat once what lead even many each path thus disk team mold unix best onto mirc have over told used send 0day ugly care join been from keep goes turn easy same upon code then copy bias idea must else well 1000 john such deal just play 5000 much text site wall help adds days apps rely done zero life bugs task was msg yet has may but via too its fit lag 200 him lot far get did ssh due ssl 2nd heh mac few vs 30 70 v7 41 33 v1 2x 15 90 my 60 pc cs 8 +Shell.RecentChanges:1628921167: : sshfingerprints recentchanges shellsshkeys applications permissions shellputty tutorial december february unix101 august march added jrmu 2020 fizi 2021 lynx bash mac gry may 11 06 12 pm 16 by am 24 42 08 55 45 07 19 09 04 05 14 13 00 25 36 +Openbsd.Tcpip:1628921167: : transmission applications architecture subnetworks combination downloading represented information hexadecimal connection identifier physically networking definition connecting interfaces 0xffffff00 delivering acceptable addresses important computers separated expensive configure different depending referring uploading sometimes compactly datagrams protocols necessary calculate basically listening connected openhttpd described identical something software internet specific remotely uniquely identify valuable starting 11111111 hardware 00000000 visiting ethernet loopback indicate messages bitmasks yourself delivers requests responds actually notation 10101000 multiple 00000001 slightly services reliable billions overview reserved 11000000 because current quickly example private however follows numbers machine subnets written periods instead running usually another special desktop control openbsd combine listens specify helpful clients smaller meaning suppose gateway default viewing routing locally routers rewrite install packets becomes quality without include servers common notice entire digits relies binary dotted inside socket divide public reason global easier device result adding itself letter change easily having should always choose center stored refers losing wrong could bound would which these using first tells often place exact means where order short group every three right title phone added might ports there world never least carry those speed their email files pages tcpip range sound hurts 65535 audio later video learn calls about aware helps this chat text when four then quad ipv4 also used have they know word will that find wide make same more send want only much from bind upon part loss smtp bits such into most once each test host like must look rest user type what fast uses home even fact both last need few 168 can 192 255 and 127 web has any pcs irc 443 etc udp ftp but ssh may 24 by 80 89 1s 0s 23 45 67 48 +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 +Debate.Zncflaws:1628921167: : addtrustedserverfingerprint clearallchannelbuffers multiple_clients troubleshooting setuserbindhost discrimination idiosyncrasies simultaneously administrators documentation notifications nonresponsive registration controlpanel reconnecting changesopped connections independent negotiation development unnecessary recompiling proprietary unintuitive documented developers improperly understand experience disconnect throttling introduces requesting integrated explaining networking capability objectives activities configured customized accusation philosophy complaints impossible protocols blockuser sysadmins confusing essential therefore attempted connected supported correctly otherwise available secret123 requested throttles certainty partyline sometimes currently providers practical inelegant different instantly throttled potential implement reproduce serially separate programs software networks password involved designed fallback confuses nickserv requires verified manually optional secondly connects template problems services parallel commands language identify commonly webpanel zncflaws friendly complete inspircd messages username everyone interest observed register memorize security versions declared yourself category features freenode changing download starting supposed channels account removed appears nothing default bouncer without january written usually because another joinetc chooses managed 2020‎ strange blocked example becomes someone suspect dropped matters insists failing causing android accused falsely bundles history exploit happens minutes seconds treated reading instead through logging several complex exposed modules replace forking useful really source glined status unless repeat suffer switch relies forced system action ngircd psybnc rather squery normal should single chroot unique access mobile jargon secure pledge typing unveil dalnet almost causes ircnow prefer easily better likely follow adopts around cannot always stores debate unable fixing casual manner appeal behalf either poorly ddosed dozens people simple entire hiccup being after slows ircv3 error users tries adapt which brief shell first makes older https chose value goals while loses needs certs field weeks worse takes shown often above buggy until could ircds these wikis fetch pages table title index delay would least group words offer setup alias their since trial patch phone short hours shows doesn maybe wants efnet order blame email ipv6 mode ipv4 docs just done chat logs upon them know what must bugs this have easy from that once mirc give been when form code apps also hard will disk both than rely john they hate 1000 help adds send even made wall text days much fair unix deal well team each push open more away lost 0day zero into then keep same else aren msg any too was its due but has bad get ssh php why ssl new few gui him far lot try faq org mac by pc 30 70 2x v1 my v7 33 41 90 15 8 +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.Sftp:1628921167: : passwordauthentication allowagentforwarding allowtcpforwarding chrootdirectory 20080220110039 stackexchange x11forwarding usernamehere forcecommand permittunnel orangeshare credentials sshd_config otherwise permittty questions subsystem internal sftponly personal location undeadly accessed groupadd possible sources openbsd adduser article usermod newuser without hosting action script htdocs adding passwd 503312 server either shell email https mkdir their grant chown users match httpd setup from your team into each this home file time doas edit unix have save make full will they yes org www sid one var bin ksh has pub cgi no if +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 +Openbsd.Install67:1628921167: Openbsd.Buyvm Vps.Intro Openbsd.Staticnet Openbsd.Netmask Openbsd.Unbound Openbsd.Fdisk Openbsd.Disklabel : automatically verification installation dynamically reconfigure information nameservers eventually substitute formatting guaranteed installing networking particular unverified hopefully installed described allocates megabytes addresses install67 staticnet disklabel interface selecting available sometimes purchased password hostname manually headless pathname security enabling autoconf username replaced properly packages download timezone matching physical location internet includes accident software keyboard continue disabled probably possible default special coconut warning openbsd example gateway careful forever drivers routers unbound opennic causing without benefit connect netmask correct windows instead subnets options nothing hundred mistake process consult present seconds reading because concept guides please change attach unable before domain number length prefix inside manage either verify ircnow google should reboot during bootup cancel simple virtio layout needed always though system press which wrong https enter buyvm panel erase intro fdisk would disks flash waste right after given amd64 later twice trick below often start about power there login allow needs title other first check users short fruit leave bring chose worry quick sshd vio0 hole type have then want done your sets base lack root ipv4 dhcp that risk each very will data like else from back over only long html must faq4 safe huge make sure hard this note used ctrl ftp4 skip they wait just 0010 when 3402 2001 6400 2605 last ipv6 same any org its png 111 run few dns usa 255 iso cd0 550 off had and www 192 vps 168 but web may vmm 129 see em0 127 ips 14 48 6c 6d 66 37 6b +Openbsd.Install68:1628921167: Openbsd.Buyvm Vps.Intro Openbsd.Bsdrd Openbsd.Staticnet Openbsd.Netmask Openbsd.Unbound Openbsd.Fdisk Openbsd.Disklabel : automatically installation verification reconfigure information nameservers dynamically networking eventually guaranteed substitute unverified particular formatting installing install68 described interface purchased addresses sometimes selecting allocates staticnet available disklabel megabytes hopefully installed security pathname headless packages hostname disabled possible probably manually keyboard continue accident password location physical timezone username enabling properly includes software download internet replaced autoconf matching concept connect default gateway openbsd instead consult subnets benefit drivers hundred present coconut netmask without windows nothing reading special example correct forever because causing careful warning routers process opennic options unbound mistake seconds either ircnow unable should verify change cancel during always attach inside virtio simple length number bootup layout guides before though manage prefix google reboot domain please system needed press needs enter buyvm disks title start given would twice https below trick right allow wrong intro fdisk erase login about first after waste worry fruit chose later amd64 often other quick panel short check power flash bring users leave bsdrd which there that sets this safe risk must will make from type sshd sure root your else hard done want over ftp4 like hole have note used each ipv4 just faq4 then long only base huge html skip very they data 2605 6400 0010 ipv6 2001 last 3402 when wait lack vio0 same dhcp ctrl back web png iso few vmm usa org but ips and www may 255 cd0 em0 dns 111 run 550 127 any vps 168 192 off had 129 see its 15 14 48 37 66 +Openbsd.Upgrade68:1628921167: Openbsd.Bsdrd Openbsd.Dump Openbsd.Restore Openbsd.Vmmuser Openbsd.Cu Openbsd.Buyvm Openbsd.Pkgadd Openbsd.Ssh Openbsd.Top Openbsd.Syspatch Openbsd.Fwupdate : automatically configuration installation proprietary filesystems downloading bootloader installing particular substitute optionally networking everything ramdisk_cd beginning upgrade68 recommend signature upgrading following reinstall otherwise operating correctly succeeded installer installed fw_update directory something interrupt fwupdate syspatch verified shutdown location possible external probably tutorial messages existing sysmerge downtime skipping firmware required packages continue generic careful openbsd vmmuser pkg_add replace advance default console servers restore process missing details closest patches seconds because however advised running assumes reading signify updated version sha256 should happen attach reboot screen serial bootup repair before either verify normal mirror within during typing ircnow number proper pkgadd notify issues booted amount switch choose buyvm order point bsdrd error after login check uname cores fruit https amd64 guide boots press vt220 which leave enter there proxy force drive clean flash above steps using media allow later title users first sets over make sure that just will back dump done need note from root your base none show list this view such says want doas then used have html hard type find else does must faq and see org www iso png man new can did pub ssh top fix any may ftp out 179 vnc get usb etc way of by 2b cp 98 3b +Openbsd.Upgrade67:1628921167: Openbsd.Bsdrd Openbsd.Sysupgrade68 Openbsd.Upgrade68 Openbsd.Dump Openbsd.Restore Openbsd.Vmmuser Openbsd.Cu Openbsd.Buyvm Openbsd.Pkgadd Openbsd.Ssh Openbsd.Top Openbsd.Syspatch Openbsd.Fwupdate : configuration automatically installation sysupgrade68 downloading filesystems proprietary substitute particular networking installing bootloader optionally everything ramdisk_cd interrupt upgrade67 something succeeded correctly operating signature installed upgrading fw_update recommend installer directory probably messages tutorial shutdown verified existing sysmerge downtime location possible firmware required syspatch skipping fwupdate packages continue external openbsd console assumes servers signify closest pkg_add restore missing advised advance vmmuser replace seconds careful details process version default generic patches updated because reading running however should bootup within serial amount proper during normal repair sha256 attach ircnow either number typing happen reboot before verify mirror pkgadd screen follow guides switch choose notify issues booted buyvm enter press https later drive media using login flash boots other there fruit clean check uname point vt220 which force after amd64 order leave error bsdrd above steps cores proxy allow title first users need sure note that sets doas will your make root from this have done then over html show dump back view want none base just list such must find type does else says used hard and org www can fix faq png any see iso top may 179 out etc did ftp pub ssh new vnc usb man get way by of 2b 2a cp 98 3 +Debate.Oldsoftware:1628921167: : communication flossmanuals oldsoftware interactive technology monitoring originally techniques successors censorship filtering protocols performed monitored messaging messenger community telephone sometimes ch011_get bypassing bulletin internet services consider computer standard creative although download exchange messages windows allowed systems blocked instant current running archive popular applied connect advent modems widely telnet number debate exists before recent allows upload access either these still board users other would using early 1990s their later relay group that such real very text jrmu well only also data read news with call http over used than less html live chat its irc was ssh but not may big bbs aim etc 30 15 05 57 42 33 51 +Openbsd.PFTesting:1628921167: Openbsd.Netadmin Ircnow.Stable Ircnow.Testing Openbsd.Ilines Openbsd.Buyvm Openbsd.Vmmusers Openbsd.Tcpdump Openbsd.SYNFlood Openbsd.Ntpd Openbsd.Nsd Openbsd.Sshbackdoor Openbsd.Iked Openbsd.Pf Openbsd.Ddos : troubleshooting configuration loginterface optimization intelligent connections immediately whitelisted flushstrict sshbackdoor explanation syncookies submission unfiltered disconnect particular bruteforce substitute optionally afterwards something accepting interfere filtering criminals commented localhost pftesting badhosts synflood problems diagnose overload outgoing external flushudp incoming needfrag vmmusers blocking adaptive loopback netadmin optimize comments services firewall approved properly profile openbsd ruleset persist causing packets address through seconds another entries applies reading tcpdump example warning passing mangled against strange because section attacks enemies routing servers traffic monitor reports warrior provide prevent spoofed matches missing keyword default working applied bouncer without sending present process further exceeds defines intip4 unique ilines single notice isakmp domain sample wraith tables please ircnow tested tagged macros source global defend states subnet secret refuse stable gopher folder sender public limits normal except headed access hidden icmpv6 failed follow random system create issues proto quick based ipsec buyvm roadw extif track nodes allow guide apply known 10000 pfctl added mkdir hours aside proxy scrub every weeks break might wrong sorts 16667 16697 makes entry there 13140 pflog these smtps imaps pop3s start https 31337 29173 occur ident title below basic 6997 than more 7000 skip mail 6660 9999 will stop inet ipv6 6669 iked ipv4 rate auth have from keep same them this code then type ntpd ddos like urpf hard time your 1440 that vio0 view else note left enc0 when doas 2001 sure 6400 2605 0020 05cc 0010 00fe home vpns both also been days each 069d only last f8de done must 0030 1290 0bb8 faa1 fc15 071b 0434 00b4 05bf case etc 500 max src get mtu web faq nsd but mss lo0 dns see www org znc ip6 non esp pkt 127 rdr bnc 192 can db8 168 any are new has 141 119 209 198 251 137 229 130 183 184 228 240 bug vps two yet var 80 53 48 81 39 up 89 by 38 +Openbsd.Newdisk:1628921167: Openbsd.Backup Openbsd.Announce Openbsd.Dump Openbsd.Restore Openbsd.Growpartition Openbsd.Vmmuser Openbsd.Buyvm Openbsd.Ed : buyvm_slab_volume 37deb3c1c30cbfbf a0e97b069eed0743 f433d9e11879420f d40a0cfcd4551ac7 troubleshooting growpartition automatically alternatively inconsistency interactively successfully information root_device everything boundaries substitute filesystem partitions initialize identifier attempting 1073741824 parameters unexpected 1073736341 1073736320 performing 1073736405 formatting particular completely wxallowed disklabel installed following signature currently megabytes operating truncated gigabytes cylinders terabytes utilities purchased formatted kilobytes available teammates directory allocated correctly disknames wikipedia permanent elsewhere including recommend checking starting detected possible geometry accident fsck_ffs manually tutorial creating shutdown commands actually announce defaults pathname downtime mounting mistakes bootable extended numbered 524288mb existing scsibus3 suffixes properly indicate 83886080 probably capacity upgrades scsibus2 programs progress boundary whatever replace openbsd logical sectors unmount changes letters creates without instead offline disable options display already putting nearest console vmmuser mounted writing example numbers highest exactly warning running machine certain another restore entries prepare suppose inspect editors reading storage drivers editing backups destroy forever 40960mb section newdisk careful saving called resize checks second nosuid adding copied bootup unused offset lowest prompt ending unique fstype before notice course around choose export modify reinit 0xaa55 virtio unable toggle update expert header serial reboot string umount delete double server longer happen should values wiping entire groups inside sliced typing failed single inodes loaded setpid return manage blocks master record labels 524285 select sysctl trying disks nodev local fstab https using dmesg 66836 write track first print leave cause these x11r6 error fdisk enter small space vt220 clone again 66837 still faq14 range match going those since point setup users guide looks clear there could typos reset abort clean entry shell given 500gb bsize order which fsize forth steps learn spans 32768 wrong newfs rsd0a 26062 stats super press 52224 extra third units means total title basic blank your swap sd1e sd1f duid home like 863m 820m 913m sd1i will than need free want each 318m have next 238m 378m mode ctrl sd1j dump make into sure then doas they lose exit page 600m sd1g more sd1h 2bsd 44mb 648m quit sd1d this save sd1a also 615m help 232m data sd1k from area none show 352m that same just undo last copy find sd0b only safe sd0k sd0d such view sd0f less text targ 4047 when lack hard case said sd0e fine tune must easy task sd0i flag code sd0g sd0j 40gb list sd0h note html once bios term loss 512g good some done upon made grep says foul been wish mnt var etc usr key src obj can now too had org won tmp fd0 old cd0 was any vnc via ssh way mbr get cpg two 255 lba 254 0x0 chs see but lun 814 644 3mb usb www rw a6 01 my oh uh mg iy 3g hw 59 4g 7g df 98 39 9g 6g +Openbsd.XTerm:1628921167: : fxexcxdxbxegedabagacad exgxxxxxcxxxxxcxcxbxbx ksh_history foreground characters attributes executable translated background connection miniontoby following directory originaly ls_colors colorcode copyright different beginning histfile writable commands symbolic multiply language histsize previous standart favorite download lscolors follows default console crontab magenta usually forward colorls program without openbsd execute colored pkg_add special install profile editor export locale exists change lc_all output visual before number custom choose yellow equals others sticky string socket though nearly ircnow setuid setgid bright codes first linux fully check title white where kshrc below light named green xterm there black print brown shows alias looks order block saved chars guide bold case your like want ever esac what rxvt dark even then that 2021 pipe grey blue just find yeah cyan doas line land from grep this link 0006 home 0001 left 0002 next 0020 5000 also gray else used text 0016 work have good best way can ps1 let org 32m 033 sth are __a __b bit env __c see __h odd __d 00m two 34m one not ssh bar get 36 35 31 up 10 93 97 96 95 94 30 92 91 11 90 37 22 39 8 +Jrmu.Bio:1628921167: : ar1jr6ljjt8g7v9onc7usyjnmyurt1ouqercl43cynttopue3hcyggheikdbyq4bdjbozocpu0wq3i3tgctl5ros0dxlbu8ybuyoxuyr0lbjzxlpb5rtbukngdfyzkhkwjcgtphxmsuwyeymv bllyceaubvpkxyvunnum03xvtiiw3mqrfjexc1vaowqfpovtksmow0t4vl4kltbwxygi4q7dnkzikgt7valpbbzwgwvh3qnkdpob vigctooodq5g1neypztop6answ7jxwqibupglts71yakbqqbcui2p8wz8g8n9zrvxjm9gq0fkwxpbdsf tpogcp91hca1eqcpwsneibpittc7sqhorz4wqz2bet6we9hj0brfubeepsjfiwi20agvnv 6awlp0bzzga3uq0arfukgqynidursobeldi3hnf2fpsb6ajoeah4guqeg3wee3c8nsb6eg pznecudbmnlgje40heemfcniouo4hmvaizxfczkbtlzaji3wxhkv1sqahzp13euuk2mec aaaae2vjzhnhlxnoytitbmlzdhayntyaaaaibmlzdhayntyaaabbbei6ckwgiiyaqs91 4qfaibyovkfg44p4udfgfxc9mbqltj5mtpdojeetxb3dloj1vbszk aaaac3nzac1lzdi1nte5aaaail5y1kiw06ac6taegcd ug4rbjlrlmqkuiz7l3y33zhxpcoludkwwguetiiy aaaab3nzac1yc2eaaaadaqabaaacaqcnj k46zow7kxluuwenscby0iuw 0mwrtbcngpjk9lolrpz xvwcuyakqzq1xbjikif 0x4a56db2dbf8dc186 iejddzldhakxmnxn fingerprints breadofgod jz2v7akpqy 0a3nheklh hyyl6iyqn 6yjar8lvw aaronlin nistp256 download projects contact website network primary ed25519 ircnow attach source users https rwwg9 ecdsa yr5ce bible title width email 4096r 300px open jrmu real sha2 name 2021 3f96 5e6f 011a 93b6 2e66 43cc mlgt the org ssh png bio pub rsa key txt pgp gy +Tcpip.Overview:1628921167: : applications architecture transmission represented information subnetworks downloading hexadecimal combination 0xffffff00 physically connection networking identifier acceptable definition interfaces delivering connecting listening basically uploading referring openhttpd addresses depending important protocols different compactly computers something datagrams expensive configure connected calculate sometimes necessary separated described identical starting visiting internet yourself loopback delivers specific requests notation messages indicate 11000000 10101000 00000000 00000001 remotely bitmasks billions software 11111111 valuable hardware actually ethernet responds uniquely identify multiple overview slightly reliable reserved services routing subnets suppose machine example quickly desktop current periods viewing numbers instead packets written another running becomes special clients because usually servers control combine routers meaning gateway quality specify listens default private without locally rewrite smaller install follows include however helpful socket relies device inside public binary losing notice refers common entire dotted reason divide global should itself having easily change stored always letter result center adding choose easier digits using order exact email place first often could tells speed aware which every would where three bound wrong audio video there title phone pages their might never short those right ports group carry helps about added least 65535 calls tcpip files later means world learn these range hurts sound each quad when that used uses they host ipv4 bits will this into once four like only send user bind such find then know make want part need much from smtp same type more have look even chat text wide upon fact fast home test most last rest both word also must loss what 127 168 192 and can web 255 few has any pcs irc 443 etc udp ftp but ssh may 24 by 80 89 1s 0s 23 45 67 48 +Vmm.Debian:1628921167: : dont_get_this_wrong debian_frontend authorized_keys 159028442625596 “targeted” autoconfigure configuration installation “msdos” information downloaded parameters installing controling controlled autodetect references questions “remove something overshoot important backports priority graceful diskname software archives separate advanced unsigned shutdown nopasswd assigned computer password hostname defaults username reminder packages releases media” console network crashes applies virtual openssl don’t vmlinuz matters booting trusted running netmask without sudoers gateway can’t invalid newline timeout logging sources instead ch05s03 guesses address openbsd choices desktop because initial options version ’bout middle protip reason stable expert static kernel enable select server printf binary 99keep latest reboot switch mkswap should swapon verify easier vmname ircnow anyway domain base64 suffix button pastes system called curses devuan initrd create 115200 making status inside messes screen copied lsblk empty vmctl qcow2 start login mouse shift makes power never times fstab hangs enter setup metal avoid clear think exist reset amd64 egrep owner later furit cdrom uname linux image based above still local “10 11” cache final works stuff takes press https video after speed ttys0 good type tips then ctrl edit html 3” long sort 1024 tail have need from when file here find expr text menu like 2020 your list bare will dpkg lock wake xsel skip tech grub kept marc post hold only 4gib uuid copy save stop char hint rand echo root does none fine link apt etc a10 ssh not see may vmm — gpt vmd yes org dns www mbr 163 bpo got 129 mbt cut bad 4gb var vga low 788 us5 idk 16g vdc awk dig du wc ah 18 81 38 my gz b1 lh +Openbsd.Pfa:1628921167: : configuration recommended restricting connections everything connecting sometimes necessary separated basically remember badhosts mistakes whenever examples possible blocking gathered nothing because persist changes allowed trouble default placing located instead certain reading openbsd section someone command protect servers drawing hacking checked prevent advised disable applies specify dropped anyone almost should reload before inside define affect device passes entire marker helper access either really saying common filter loaded packet bottom ilines called folder enable create errors happen tables groups people unless course doers range about cough space quick below would ports words where those place super rules proto https apply makes other wants timmy pfctl might above least occur bulky right after means doesn first upper meany again using that nuts lets then evil your what boot file from like bill whom text list with have this just will also only stop good body know best mind last keep give says skip 9999 6699 deny both type find back loop sure 6697 6669 6667 work tcp udp add boi can put etc pfa but run big new may isn bob lo0 set few ips don irc ssh 443 dns hes get of 22 ok by 53 80 1 _ +Openbsd.Books:1628921167: : tiltedwindmillpress implementation architectures illustrated programming environment 1642350028 quarterman 1593274769 0132317923 0132317924 1484924471 1484924479 nonfiction 1642350029 kernighan intranets operating tanenbaum obenbsd2e doraswamy networks naganand language absolute nostarch securing computer advanced security standard internet mckusick stevens stephen richard edition michael mastery ritchie nazario openbsd brandon cricket harkins private virtual marshal product design secure system karels bostic dnssec albitz volume domain relayd dennis palmer lucas keith ipsec brian lemon april ralph 21193 droms https books tools httpd 54675 jose with isbn rago 2004 2013 name bind andy paul dhcp unix 4bsd kirk john the 589 tcp 978 for 2nd 130 ssh may new pf3 liu dan 520 www 206 3rd mwl 03 of 10 by pp 66 +PmWiki.SpecialCharacters:1628920394: PmWiki.SpecialCharactersList PmWiki.Characters : list_of_unicode_characters specialcharacterslist illustration application information commercial trademarks interested numerical wikipedia keystroke available important copyright therefore standard instance computer keyboard listings supports document creating utility symbols samples another execute holding spec_13 degrees editing desktop numbers system keying folder pmwiki create across online keypad bottom common umlaut markup while means codes paste https input click these table tools pages some 0176 want that note with text your html word when 0169 8482 nice have 0174 ways find alt w3c use non iso 239 are all map yen 188 198 see org 189 168 www 228 181 tes box 182 165 © 32 by +PmWiki.Internationalizations:1628920394: Group.Group Group.XLPage Group.XLPageLocal PmWiki.OtherLanguages PmWiki.UTF-8 PmWikiFr.XLPage PmWiki.PathVariables PmWiki.WikiGroup PmWiki.GroupCustomizations Cookbook.MultiLanguage Cookbook.MultiLanguageViews PmWiki.PmWiki Localization.Localization PmWiki.I18nVariables : loadingtranslationpages creatingnewtranslations internationalizations internationalisation http_accept_language groupcustomizations internationalizing multilanguageviews internationalized languagelistend xlpagetemplate otherlanguages configuration installations languagelist2 distinguishes pathvariables documentation correspondent i18nvariables localization include_once dictionaries local_string abbreviation wikilibdirs effectively information xlpagelocal fmtpagename appropriate alternative recommended identifiers uitdrukking nederlandse expression characters definition rechercher particular translated includeend containing pageexists maintained configured individual internally pmwikifrca displayed directory available parameter beginning operation different otherwise installed microsoft wikilinks necessary wikigroup alphabets following scattered selectors mechanism published intention typically contains accepted starting converts consider versions function addition multiple accented allowing cookbook required supports changing possible pmwikien override provided included pmwikies optional received advanced complete relevant archives specific 39cwe7zf anything download pagelist encoding pmichaud somewhat instance pmwikiru canadian localize enabling entirely existing standard separate commonly english xllangs without setting default another spanish content because changes defined example suppose several umlauts options denoted context printed limited desired special already between letters derived phrases windows servers usually _server headers browser further defines library perhaps depends summary calling charset smaller prompts devoted created specify improve scripts looking wikidir simply before matter should system french adding locale recipe revert within though method nobody almost access called slower enable easier switch substr insert if4end loaded beware placed german please wanted appear ensure proper adjust portal number people canada others unpack rframe allows output search rather normal listed lines de_de usage files there these xlsdv notes dutch linux check break which point using where named array pairs would first loads final trail order while below false since later could names clear tools right latin offer above needs might ifend after doing those tests finds wish sets them that your help type will word like been used have both from ones mijn when uses each into than this fact then many case best were font msdn aspx mark size does even rest utf8 they site code also good 8859 gets work same long exit easy thus copy such user made term asks near says php way how its org got see web tgz www two but was won may iso has deu few due key don yes faq my by 0 +PmWiki.Requirements:1628920394: Cookbook.InstallOnIIS Cookbook.Standalone Cookbook.WikiOnAStick : administrators prerequisites compatibility litespeedtech litespeedweb installoniis wikionastick requirements combinations recommended information application standalone following webserver executing microsoft candidate available correctly passwords reported lighttpd cookbook internet standard provides anything specific audience windows roughly fastcgi release another edition enabled special linksys network storage because summary version current running scripts pmwiki device engine apache appweb places before builds recipe small nginx later linux there where nslu2 drive bones basic some that been with bare used sort unix also from mac org php usb has isn ssl www may 19 47 5 3 0 8 +PmWiki.PasswordsAdmin:1628920394: PmWiki.Passwords PmWiki.WikiGroup PmWiki.Security PmWiki.WikiAdministrator Category.Spam PmWiki.AvailableActions PmWiki.SecurityVariables PmWiki.AuthUser PmWiki.PasswordsAdmin Cookbook.RequireAuthor Cookbook.ProtectEmail PmWiki.ConditionalMarkup Cookbook.HtpasswdForm Cookbook.UserAuth2 PmWiki.GroupCustomizations Cookbook.LimitWikiGroups Cookbook.NewGroupWarning Cookbook.LimitNewPagesInWikiGroups Site.AuthForm Cookbook.CustomAuthForm Site.AttrForm Cookbook.CustomAttrForm : limitnewpagesinwikigroups settingsitewidepasswords groupcustomizations forbiddenpasswords securityvariables youradminpassword conditionalmarkup protectingactions wikiadministrator bjoidmrn4souusi1 defaultpasswords yourattrpassword availableactions groupattributes newgroupwarning limitwikigroups secret_password pageattributes authentication administrative administrators customauthform customattrform _site_mylevel2 passwordsadmin wikivandalism automatically authorization edit_password configuration requireauthor recentchanges independently tlczutrkhovpm authorisation individually modification additionally htpasswdform passwdsource invalidating protectemail wikisandbox _site_level parentheses controlling potentially permissions attachments unencrypted effectively eliminating combination authcascade inadvertent unavailable compromised development encryptions distributed pageattrfmt information unintended handleauth sufficient internally overridden encrypting themselves optionally authorised everything discovered passwddiff respective separately especially impossible completely wikisource recovering discussion regardless invalidate mechanisms explicitly protection following currently protected tanstaafl userauth2 reference solutions malicious something described describes decrypted cleartext different overheads situation remainder otherwise indicates webserver determine specified formatted uploading permitted providing generates character sometimes siteadmin similarly remembers usernames necessary processes carefully authlevel augments creating authuser required accounts creation cookbook prompted identity question function anything removing entirely asterisk maintain defaults editable audience encrypts pwlocked directly contents returned hmmhcdft allowing mysecret versions controls presents override original category defining revoking in_array reliably somebody prevents supports accepted contains handling normally confused somepage homepage drawback mylevel9 requires unlocked overcome perform feature without summary pmcrypt general gg3j60h allowed persons however example scripts authors several removed already looking quickly someone created another uploads editors specify achieve applies systems because mapping details applied opening concern history creates desired include prepare enabled changed against editing viewing section strings happens machine running sidebar entered overall reading various writing session options pmwiki access sample latest adding within occurs should easier anyone prefix inputs course stores during nopass usable allows except things having please future authpw single basics quotes levels placed cannot oldest target harder actual obtain others easily arrays values screen unless logins unlike simply admins either unable loaded reason update _post which there plain field unset doesn still using their wrong about files wants mzsch local could users below based since those given until known would alpha shows whole lines above dealt being often least small steps error saved comes where means avoid holes empty built hosts areas first apply while seems check older makes might that also only just uses what have this spam from else will such disk when help wish http same more code tell work sets into each wasn note they done must case beta jump both need plan lost than many nubv part says php mcc has via 500 may try faq url non won isn too by +PmWiki.Troubleshooting:1628920394: PmWiki.HowToGetAssistance PmWiki.MailingLists PmWiki.Questions PITS.PITS PmWiki.CustomMarkup PmWiki.Functions PmWiki.Upgrades Cookbook.Cookbook PmWiki.CustomPagelistSortOrder Cookbook.PccfToPcfOverride PmWiki.DebugVariables PmWiki.SecurityVariables PmWiki.FilePermissions PmWiki.Installation PmWiki.InitialSetupTasks PmWiki.BasicVariables PmWiki.WikiGroup PmWiki.LocalCustomizations PmWiki.UploadsAdmin PmWiki.Tables PmWiki.LayoutVariables : session_write_close_error custompagelistsortorder foundationpupilsin1958 preg_replace_callback localcustomizations move_uploaded_file howtogetassistance session_save_path pccftopcfoverride multiplepwprompts pagelisttemplates securityvariables initialsetuptasks crashwhenediting defaultpasswords htmlspecialchars tablerowindexmax retrieveauthpage groupattributes default_charset create_function error_reporting filepermissions secfilterengine troubleshooting layoutvariables debugvariables blank_sections siteadmingroup sitewideprefix divisionbyzero basicvariables administrators passwdpublish configuration documentation pmwikiuploads parameterized international alternatively automatically inconvenience custommarkup installation mod_security instructions incompatible insufficient uploadsadmin passwdupload defaultgroup architecture e_deprecated successfully replacements grouppattern additionally environments mailinglists public_html definitions reconfigure recommended modsecurity restriction potentially pagetextvar information my_password windows1252 maintainers directories significant programming enablediag configured characters acceptable explicitly intercepts filesystem farmconfig auto_start unexpected developers particular indication forgetting t_variable altogether reasonable restricted impossible completely passwdattr passwdedit repository categories frequently indirectly cataloging underlying triggering diagnostic themselves passwdread attempting dontmodify forbidding permanent sitegroup directory different sometimes functions providers beginning temporary procedure webserver published requested filenames processed elsewhere otherwise comparing prominent appearing incorrect filezilla something validated directive migration upgrading eliminate virtually community disappear wikigroup qualified prompting currently performed necessary including questions configphp connexion inhibited initiated destroyed concerned forbidden depending following displayed typically accepting reproduce warnings cookbook manually mismatch upgrades encoding switched probably homepage starting versions solution recently upgraded language patterns features rejected followed category whatever register keywords properly transfer htaccess creating onscolre reported audience converts pretends browsers required displays problems modifier progress replaced settings provided supplied behavior e_notice provokes suppress included condauth existing possibly defining authuser consider exceeded response clicking instance specific pointing incoming software lockfile searches friendly reactive messages sessions suddenly indicate writable tracking existent handling persists normally internal requests although includes someuser releases somefile official several recipes leaving notepad created denotes pmcrypt resolve edition becomes similar manager another hosting ruleset flagged summary numbers example already updated cookies various endless phpinfo written finally earlier locking causing mistake certain scripts phrases strange allowed entered invalid acquire missing someone changed happens modules present instead disable wikilib percent placing wrapper renamed returns usually writing headers pagevar nothing sidebar easiest closing without shipped visible letting ini_set project nowhere because affects working stopped capital appears variety heavily reports removed assumes trackig contact however quickly actions seeking comment double errors cp1252 editor either before safest should edited locked remedy addons seeing please cannot spaces binary worked likely caused points exists notify verify failed client source string submit always arises advice equals helper single itself faulty longer stream denied things hidden simply delete relies easily newwin latest copies stored common causes others trying rather allows tables define occurs little chance apache horror robust pretty photos sounds effect riding sizes skins sorry since these pages fixes which might their check needs php72 twice being cases calls still would could doesn quota those again often wrong https seems later after worse sites links known least value about posts sess_ fixed gives colon first added below parse older flock right asked owned users fopen image whose scans leave there issue lines sends signs until tools shows visit php74 array green empty pass1 php55 adapt newer pass2 learn among every e_all that sure they also semi keys been have then will plan your look from than this more were even past many down hack make such bugs away last mode aren best asap salt pits hunt type unix most only left goes into find made plus byte tell done talk bits phsc hasn data core jpeg disk fact gets menu copy curl wget loop idea good tags 1929 two isn may run uid 198 www was why faq 406 403 tmp 777 net won ftp non due utf yet nnn 33 71 56 +PmWiki.ChangeLog:1628920394: Cookbook.RecentChanges PmWiki.MailingLists PmWiki.Skins-Talk Skins.SkinChange PmWiki.LayoutVariables PmWiki.OtherVariables PmWiki.SecurityVariables Cookbook.ToggleNext PmWiki.Forms PmWiki.TableOfContents Cookbook.SectionEdit PITS.01448 Cookbook.RecipeCheck PITS.01145 PmWiki.BasicVariables PmWiki.BlockMarkup PmWiki.EditVariables Cookbook.DeObMail Cookbook.FixURL Cookbook.NotSavedWarning Cookbook.EditHelp Cookbook.AutoTOC Cookbook.DeltaBytesRecentChanges Cookbook.RowspanInSimpleTables Cookbook.LocalCSS PmWiki.LinkVariables Cookbook.PreviewChanges PmWiki.PagelistVariables PmWiki.MarkupExpressions PmWiki.DebugVariables PmWiki.Notify PITS.01425 PITS.01422 PITS.01300 SiteAdmin.AuthList PITS.01408 PITS.01404 Skins.2016 PITS.01406 PITS.01407 PITS.01400 PmWiki.PathVariables Cookbook.HtmlUrls-Talk PITS.01401 PITS.01390 PITS.01392 PITS.00638 PITS.01388 PITS.00951 Site.UploadQuickReference PITS.00197 PITS.00435 PITS.01378 PITS.01379 PITS.01140 PITS.01373 PmWiki.TextFormattingRules-Talk PITS.01087 PITS.00835 PITS.01110 PITS.01367 PITS.01032 PITS.00489 PITS.00497 PmWiki.Functions PITS.01363 PITS.01360 PITS.01359 Site.EditQuickReference PITS.01350 PmWiki.WikiStyles PITS.00860 PITS.01337 PITS.01112 PmWiki.PageListTemplates PITS.01345 PITS.01346 PmWiki.LinkSchemes PITS.01278 PmWiki.Blocklist PmWiki.PageDirectives PITS.01319 PITS.01007 PITS.01259 PmWiki.UploadVariables PITS.01308 PITS.01304 PITS.00978 PITS.01292 PITS.01285 PITS.01282 PITS.01275 PITS.01271 PITS.01266 PmWiki.I18nVariables PITS.01262 PITS.01260 PITS.01263 PITS.01253 PITS.01255 PITS.01242 PITS.01213 PITS.01212 PITS.01188 PITS.01180 PITS.01201 PITS.01217 PITS.01198 PITS.01190 PITS.01192 PITS.01199 PITS.01191 PITS.01132 PITS.01202 PITS.01197 PITS.01184 PITS.01164 PITS.01121 PITS.01127 PITS.01152 PITS.00657 PITS.01157 PITS.00571 PITS.01106 PITS.00796 PITS.00535 PITS.01098 PITS.00266 PITS.00779 PITS.01155 PITS.01156 PITS.01149 PITS.01150 PITS.01141 PmWiki.CustomMarkup PITS.01125 PITS.00703 PITS.00088 PITS.00976 PITS.01146 PITS.00813 PITS.01126 PITS.01131 PITS.01071 PITS.00802 PITS.01102 PITS.00238 PITS.01114 PITS.01062 PITS.01103 PITS.01104 PITS.00915 PITS.01099 PITS.00396 PITS.01037 PITS.00836 PITS.00998 PITS.01073 PITS.00980 Cookbook.UTF-8 PmWiki.ReleaseNotes PITS.00407 PITS.00919 PITS.01081 PITS.01066 PITS.00984 PmWiki.ChangeLogArchive : enableundefinedtemplatevars simpletabledefaultclassname enableuploadauthorrequired enablelinkplustitlespaced enablenotifysubjectencode fpltemplatemarkupfunction enablepostauthorrequired enabletableautovaligntop defaultunsetpagetextvars skintemplateincludelevel makepagenamesplitpattern defaultemptypagetextvars enableblocklistimmediate enablesimpletablerowspan pagelistsortcmpfunction deltabytesrecentchanges enablepagetitlepriority enablexlpagescriptload enablerelativepagevars makeuploadnamepatterns markupwordwrapfunction rowspaninsimpletables enablenotsavedwarning enableuploadgroupauth enabledraftatomicdiff enablepreviewchanges enablecookiehttponly uploadquickreference pccfoverridefunction fpltemplatefunctions enablerangematchutf8 enableredirectquiet denyhtaccesscontent groupprintheaderfmt enableinputdataattr enableguieditfixurl textformattingrules draftactionspattern callbackfntemplates pagename_unfiltered mb_convert_encoding defaultpagecharset enablecookiesecure editquickreference enablerevuseragent searchboxinputtype ldap_opt_referrals enableautoskinlist enableeditautotext togglenextselector obfuscatelinkimap enablepagevarauth setcookiefunction postrecentchanges pagetextvariables markupexpressions enablercdiffbytes linktitlefunction tablecellalignfmt authuserfunctions markupmarkuplevel fplexpanditemvars fpltemplateformat authldapreferrals pagelistvarfoldfn pagelisttemplates pagelistvariables securityvariables enablemarkupdiag htmlspecialchars defaultpasswords enablediffinline buildmarkuprules recentchangesfmt numberedheadings diffrendersource enableoldcharset sysmergepassthru enableimscaching saveattrpatterns diffhtmlfunction recentuploadsfmt multidimensional changelogarchive pagecachefilefmt worddifffunction retrieveauthpage diffrenderinline create_function incompatibility authuserpagefmt filesizecompact uploadblacklist pageexistscache vulnerabilities uploadvariables sitepreferences groupattributes layoutvariables error_reporting difftimecompact maxpagetextvars includetemplate strfoldfunction debug_backtrace enablerosescape enablehighlight tableofcontents pagelistfilters authentications handledownload enablereadonly siteadmingroup pagetraildepth formnovalidate othervariables customizations pseudovariable saveattributes enablepathinfo pagedirectives enablesortable basicvariables formattablerow actiontitlefmt wikipagecssfmt debugvariables documentation fidelioespoir authenticated vulnerability htmlstylesfmt insensitively international pagevariables imaplocalpath uploadpermset uploadpermadd replaceonsave linkvariables installations editvariables allowpassword uploadsetvars i18nvariables markupwraptag uninitialized stringfolding abortfunction handleattrfmt htmlheaderfmt normalization disablemarkup diffuseragent pathvariables double_encode inconsistency notifcations e_deprecated autocomplete experimental conditionals inputdefault markuptohtml custommarkup preg_replace releasenotes robotpattern mailfunction pageskinlist optimization handleupload replacements preformatted localization diffkeepdays manipulation mailinglists highlighting customizable fmtpagetitle inconsistent grouppattern configurable htmltagattr setproperty intercepted apostrophes sessionauth deprecation hermanowicz replicating malfunction submissions authuserpat incorrectly linkschemes disposition diffkeepnum blacklisted breadcrumbs xprerelease pmsetcookie information redirecturl christopher recursively enablewspre placeholder recipecheck __construct previewdiff permissions development redirection backgrounds parentheses applewebkit utf8_encode utf8_decode blockmarkup attachments associative sectionedit alternative attribution pageactions fmtpagename identifiers imaplinkfmt superfluous translation rospatterns declaration overwritten repetition wikistyles processing responsive standalone classnames attachlist definition subversion stripmagic concerning kellermann unrestrict previewing imgcaption incomplete samedomain addlinkcss scrollable extensions javascript characters introduced protective othergroup embeddable strcasecmp simplified detailsend workaround wikitrails grouphomes compatible remembered urlapprove dependency inputattrs translated discovered authuserid postconfig insertions resolution containing 1000000000 timestamps handleauth difference transition whitespace explicitly authorpage skinchange extentions additional developers globtopcre recipeinfo individual handlediff discussion frameworks unapproved pseudovars parameters linkupload grassineau considered inclusions cohabitate revisions requested signature detection passwdvar stdconfig filenames multiline suggested disabling languages replacing dannybpng pagestore automatic technical printdiff migrating arguments yesterday rendering keeptoken wikititle downloads implement restoring insmarkup callbacks makenames protected multibyte safe_mode lowercase available scripturl stdmarkup customize readtrail wikipedia directory auth_form appearing locations recognize important inclcount encodings switching invisible scrolling injection landscape potential wildcards asterisks requiring temporary histories uppercase filtering redundant excluding subtitles accesskey interface including eachcount contained confusing minnumber bengtsson tofsjonas negatives reported intermap tabindex pmtocdiv refcount htmlurls requires prefixes linkpage cookbook external margiani checkbox refactor changing messages absolute reversed uploader possible allowing optimize optional overflow contains defaults sections anchor_1 handling official authlist versions sidebars earendel defining removing checking upgrades reloaded existing makelink editform elements warnings critical disabled wikitext trailing wikiedit textarea returned together features repeated intended included previews wikiword searches _request timezone bugtrack comments protocol entities wikibody previous cosmetic reverted properly captions riebisch markupid upresult accepted negation edithelp deobmail modified browsers ordering attached portrait brackets epiphany adjacent collapse benjamin simplify percents internal shortcut markup_e multiple localcss chongqed moinmoin localize recodefn progress directly semantic deleting launched provided examples shiftkey embedded creation indirect released fixperms printing manifest datalist activity headers respect pmcrypt scripts classes wording mistake slashes recipes summary without display dropped loading missing instead anymore related results restore earlier endings allowed invalid ruleset windows italics anchors prevent various history article similar footers phpdiff explode address exclude returns notices entries keyword spacing posting treated escaped certain imgonly blocked because michael gabriel tooltip justify matches outdent appears expired produce current kothari brijesh created strings deleted already indexed cleanup pmxmail specify generic setting browsed members recover snippet desktop removed updated editors globals fuchsia encoded styling calling applied autotoc shouldn jürgen logging gragert partial buttons onclick engelke variant somehow updates _cookie ctrlkey groups single pmwiki states v22116 v22119 rankin chuckg v22109 inside latest posted extend better allows suffix fields arrays values modify blocks v22123 target broken deltas braces sample eemeli unused labels before severe v22108 oliver v22124 v22125 vardoc offset public nested dashes v22111 v22115 robert indent weiner v22113 pmform breaks usable v22112 v22120 helper v22110 substr height v22114 easier quotes romano egidio points agents orange output colors series github google vspace locale tested called v22105 v22128 v22104 border needed fourth caused either v22118 regexp center parsed second binary holger glover commit greyed addons v22102 engine longer creole robots yandex zurell dfaure v22100 spaces v22103 drange headnr bowers v22101 rename v22127 hidden pml10n v22107 v22122 v22126 mkdirp logout caches v22129 counts dollar hashes failed v22117 randyb v22106 safari likely v22130 _site_ nodiff inputs mobile klonk 00836 01213 01337 01081 v2270 sites speed 01202 01112 00396 01037 image v2263 01145 00497 01132 01199 01359 v2256 v2257 01217 00984 01066 01180 01212 wrong 01363 01350 00980 calls 01190 01242 v2261 01360 01201 01188 terms 01192 01198 00860 01191 v2262 01073 00407 https forms 00919 codec 00998 01255 popen query 01126 01131 v2266 01345 01071 01278 01304 00813 meant 00978 01292 v2267 sizes 00657 01285 01152 01308 00703 v2265 brown 01259 01156 01155 01150 01141 00779 01125 00266 01146 01098 00088 00535 00796 01106 00571 01007 01319 00976 01157 v2259 v2269 01263 01164 01262 01149 v2268 v2258 01114 01062 01260 01184 skins 01103 01104 00915 01197 01253 01099 prefs 01266 01271 fixed 01282 01127 width 00802 clear 01346 owner first 00238 01275 after v2264 01121 v2260 01102 audio html5 v2218 00489 twice flush could parts v2217 v2219 v2215 boeck hanno which v2216 write paths v2222 until v2223 added v2224 v2225 loops today v2220 v2221 v2226 diffs doesn false where maxim about finar avoid v2214 tests 01032 johan v2244 v2245 third v2246 v2247 01425 01422 v2248 means 01300 v2243 01408 v2238 v2239 v2240 v2241 v2242 01448 v2249 01404 v2254 00435 01378 01379 01140 01373 00197 01087 v2255 00835 01110 01367 v2253 00951 01407 v2250 named there 01406 01400 01388 01401 01390 01392 v2251 00638 v2252 v2230 lines v2229 login xmlns v2232 v2227 v2228 cross pipes v2235 entry v2236 fifth iconv v2237 simon while their reset v2233 v2234 daveg minor hansb v2285 v2298 v2293 based v2279 would halts radio v2292 v2288 v2287 glued v2281 video aside close v2295 v2294 v2280 v2275 curly v2274 v2277 peter v2289 types email v2278 godau wolff v2291 v2276 v2299 above v2290 v2286 v2297 e_all v2282 steve v2273 v2284 whole notoc v2283 limit v2272 large 800px v2271 v2296 users mute 2017 pits dots 2009 2013 ptvs svgz 2011 will 2012 when from sdva 2016 than exit kept kirk copy 1252 none that into 8859 rrep fmtv 1min core docs phsc tabs 2020 this 1day role bugs also last menu step 2010 hide didn were lost keys bold feed show done both skip 50em flac webm epub 2019 60vh less 2699 have many half talk 2014 webp tags font 2015 v220 root 2018 opus beta aqua teal lime such php5 betz john well moni _get join made 8601 docx pptx xlsx been salt trim hard ppre ppra eval was pqa pdf 3rd may ios cox can see 3gp jpg org m4v via pct rdf xss vtt zip txt rtl new svn due iso www xcf ogv mp4 odg pss 034 4th ltr nav geo mkv 7z 3f js jl +PmWiki.MarkupExpressions:1628920394: PmWiki.BasicVariables PmWiki.PageListTemplates PmWiki.PageLists PmWiki.WikiStyles PmWiki.ConditionalMarkup PmWiki.PageVariables PmWiki.PageTextVariables Cookbook.MarkupExpressionSamples Cookbook.MarkupExprPlus : markupexpressionsamples conditionalmarkup pagetextvariables pagelisttemplates markupexprplus basicvariables specifications installations pagevariables international understands determining characters 1176304315 1231116927 wikistyles timestamps containing formatting altrowsend processing operations referenced markupend arguments strtotime parameter according html_node yesterday separated different available timezones supported substring described inclusive formatted processed uppercase lowercase pagecount wikiwords multibyte performed pagelists remainder alternate tomorrow examples removing asspaced silently fullname returned properly language cookbook optional division weekdays versions measured whatever ftimefmt 20070411 converts function override relative thursday together produces software pagename strftime addition datetime advanced rand_max position extracts portions audience truncate slashes between printed maximum without hyphens nesting ucfirst integer summary generic current ignored seconds ucwords remains default toupper formats tolower returns entries defined initial locales strings minimum pmwikis bgcolor writing english phrases enabled authors include variety running comment numbers setting random europe braces strlen common nested newwin monday prefix manual length pseudo obtain called builds months labels spaces commas server styled either custom within should adding insert allows listed modulo create recipe likely always horiz class based value today every break since fr_fr dates given table after using weeks names mdash zebra quote group three newer there found older works inner paris order which hello world notes input curly those where weird codes when used last also next item only uses http thus zero from want unix each this must part some utf8 8601 that into none need more omit both else site long yyyy dots line many will 1970 two ff8 bg0 8f8 see you may bg1 f88 bg2 try can php net now ago jan www iso via tar org gnu utc 10 33 tz hh 03 99 +PmWiki.Security:1628920394: Category.Security PmWiki.PageHistory PmWiki.Passwords PmWiki.PasswordsAdmin PmWiki.AuthUser PmWiki.UrlApprovals PmWiki.AnalyzeResults PmWiki.SiteAnalyzer PmWiki.Blocklist PmWiki.Notify PmWiki.SecurityVariables Cookbook.Security Cookbook.HtpasswdForm Cookbook.SecureAttachments Cookbook.WebServerSecurity Cookbook.FarmSecurity Cookbook.DeObMail Cookbook.SpamFilters Cookbook.AuditImages Cookbook.PrivateGroups Cookbook.OnlyOneLogin Cookbook.RecipeCheck Cookbook.SessionGuard Cookbook.TrackChanges Cookbook.SwitchToSSLMode PmWiki.ContactUs PITS.PITS Category.Spam PmWiki.DeletingPages PmWiki.AvailableActions Cookbook.DeleteAction Cookbook.Captchas Cookbook.Captcha Site.AuthForm Cookbook.LimitWikiGroups Cookbook.LimitNewPagesInWikiGroups Cookbook.AuthDNS Cookbook.PersistentLogin PmWiki.Drafts PmWiki.EditVariables PmWiki.Uploads PmWiki.UploadsAdmin PmWiki.UploadVariables : secure_and_httponly_cookies limitnewpagesinwikigroups enablepostauthorrequired anotherpageactionname enablecookiehttponly automaticblocklists enablecookiesecure enablepublishattr securityvariables secureattachments webserversecurity availableactions defaultpasswords register_globals direct_download limitwikigroups persistentlogin uploadblacklist switchtosslmode uploadvariables passwordsadmin analyzeresults differentiates installations diffchangesum vulnerability automatically authorization secure_cookie wikivandalism deletingpages privategroups editvariables urlapprovals enabledrafts uploadsadmin htpasswdform respectively siteanalyzer diffstartfmt instructions trackchanges onlyonelogin deleteaction farmsecurity passwordless sessionguard distributed recipecheck information distinguish pagehistory remote_addr protections auditimages assumptions spamfilters filesystem connection handleauth publishing vulnerable preg_match technician diffauthor management protecting completely addresses whitelist displayed resources directory following determine september preferred upgrading pipermail thousands extremely advantage neighbour mentioned wikipedia developer excellent executing rationals contactus sitegroup possible versions cookbook replaced advisory deletion pmichaud contract provider creation publicly authform captchas addition approach defacers listinfo nutshell template unlikely spambots uploaded deobmail restrict category htaccess filename difftime anywhere blocking authuser evaluate securing username relabels postings moderate protects turning comment deleted authdns invoked ideally devices content someone pmcrypt network _server setting appears example hosting happens through traffic netbook problem editing blocked tooltip mozilla viewing diffgmt diffbox disable summary denying trusted exploit already recipes storyid release forcing against discuss running mailman htgroup details aspects instead adding people cannot pmwiki config notify random 031793 spaces easily unless foobar markup become others secret authpw making phrase single prefix button newwin should cursor admins issues please apache recent report create behind verify resort entire botnet taking router closed detect logged clear these phone known local theft along allow prior level means cases lines proxy which users _post later https being fills mouse there edits above great newer fixed class about wrote empty based inane point after using found title sites world diary that text html hide your nbsp have with will href them more ways this from wife stop wifi 2006 when note also same make sans risk what span been seen test pits used such want 1672 save take turf adds pull feel over docs free may how php org div www try are off bug don old cgi etc faq isn put 127 xxx by my 21 68 90 5 4 +PmWiki.Passwords:1628920394: PmWiki.PasswordsAdmin Category.Spam PmWiki.PmWiki PmWiki.WikiGroup PmWiki.Security PmWiki.AvailableActions PmWiki.SpecialPages PmWiki.GroupAttributes PmWiki.Uploads SiteAdmin.AuthList PmWiki.SecurityVariables PmWiki.AuthUser Cookbook.SessionSecurityAdvice PmWiki.ConditionalMarkup PITS.01417 PmWiki.IncludeOtherPages Cookbook.Cookbook : settingsitewidepasswords sessionsecurityadvice securityvariables includeotherpages password_strength conditionalmarkup availableactions defaultpasswords groupattributes passwordsadmin authentication administrators writerpassword considerations administration recentchanges automatically authorization unfortunately edit_password installation session_name _site_upload capabilities specialpages include_once interactions alphanumeric information permissions flexibility wikisandbox independent convenience description restricting combination cs559sessid apostrophes recommended controlling fmtpagename development condmarkup mechanisms protection considered identifier individual additional circumvent everything protecting _site_read _site_edit characters exhaustive encrypted webserver cleartext situation decrypted following everybody unprotect wikipedia difficult separated groupname described obviously beginning reverting overrides unchanged requiring protected otherwise sometimes siteadmin rendering fragments including related¹ generally different currently injection wikigroup xyzsessid indicate suitable pageattr priority authlist choosing siteattr strategy entering audience category authuser cookbook encrypts versions multiple wikitext slightly possible internal editable visiting function probably required solution normally username preview display systems example scripts history created viewing suppose allowed secrets editing methods options another however janedoe cookies without running entered machine prepare happens uploads opening consist recipes pmcrypt instead browser nothing whereas readily enabled private because calling reading writing usually applied website authors applies details chapter exactly summary various address support replace leaving overall source relies edited secure remove pmwiki colons entire domain spaces allows opened within assign config double except switch quotes nopass ignore reason either stores access simply groups before things longer called shared better really checks traces occurs choose modify oldest obtain rights common easily during latest should future level small their users above parts those great 01417 which gives sites pools hosts using alter named wrong error farmd about local there older lines blank leave files types field might cases these doesn being holes track issue tells value ifend built avoid apply areas could since would order first login this have know your when into each come keep same they must uses only like that more http easy make sure them need sets such idea most even spam good lock back else than pits from used want what just grow also near beta hide wins been says link deal show will stop ways both pick many rely one can who has php see two … raw why isn few put fix url don 500 get bar foo try may faq new net 99 of by my 2 3 +PmWiki.ReleaseNotes:1628920394: PmWiki.Upgrades PmWiki.ChangeLog PmWiki.Download PmWiki.RoadMap Skins.SkinChange PmWiki.LayoutVariables Cookbook.ToggleNext PmWiki.SecurityVariables PmWiki.Forms PmWiki.TableOfContents Cookbook.SectionEdit Cookbook.RecipeCheck PmWiki.OtherVariables PmWiki.BlockMarkup Cookbook.DeObMail Cookbook.FixURL PmWiki.EditVariables Cookbook.NotSavedWarning Cookbook.EditHelp Cookbook.AutoTOC Cookbook.DeltaBytesRecentChanges Cookbook.RowspanInSimpleTables Cookbook.LocalCSS PmWiki.LinkVariables Cookbook.PreviewChanges PmWiki.PagelistVariables PmWiki.MarkupExpressions PmWiki.DebugVariables PmWiki.Notify PmWiki.BasicVariables PmWiki.WikiTrails SiteAdmin.AuthList PmWiki.PathVariables Site.UploadQuickReference Cookbook.PmForm PmWiki.Troubleshooting PmWiki.CustomMarkup PmWiki.PageDirectives PmWiki.UploadVariables PmWiki.I18nVariables PmWiki.PageHistory PmWiki.Uploads PmWiki.Passwords PmWiki.SiteAnalyzer Site.Site SiteAdmin.SiteAdmin PmWiki.Blocklist PITS.00961 Site.PageActions Site.EditForm Site.PageNotFound PmWiki.PageLists PmWiki.Drafts Cookbook.Cookbook Cookbook.DebuggingForCookbookAuthors PmWiki.SkinTemplates PmWiki.ReleaseNotesArchive : debuggingforcookbookauthors enableundefinedtemplatevars enableuploadauthorrequired enablenotifysubjectencode enablelinkplustitlespaced defaultemptypagetextvars skintemplateincludelevel defaultunsetpagetextvars enablepostauthorrequired enablesimpletablerowspan enabletableautovaligntop enablerelativepagelinks enablepagetitlepriority deltabytesrecentchanges pagelistsortcmpfunction enablerelativepagevars enablexlpagescriptload makeuploadnamepatterns enablelinkpagerelative enabledraftatomicdiff enablenotsavedwarning rowspaninsimpletables enableuploadgroupauth enablecookiehttponly enablepreviewchanges enablerangematchutf8 uploadquickreference pccfoverridefunction fpltemplatefunctions lastmodifiedsummary pagename_unfiltered enableinputdataattr draftactionspattern releasenotesarchive denyhtaccesscontent enableguieditfixurl enableredirectquiet enablecookiesecure enablerevuseragent enableeditautotext enablercdiffbytes tablecellalignfmt pagetextvariables obfuscatelinkimap markupmarkuplevel markupexpressions enablepublishattr pagelistvariables setcookiefunction securityvariables enablepagevarauth blocklistdownload authldapreferrals pagelistvarfoldfn htmlspecialchars enablemarkupdiag magic_quotes_gpc enablediffinline enableoldcharset pagelistcachedir recentuploadslog defaultpasswords allrecentchanges requestvariables retrievepagename sysmergepassthru groupattributes uploadvariables debug_backtrace includetemplate pagelistfilters enablewikiwords unconditionally layoutvariables enablerosescape resolvepagename uploadblacklist troubleshooting authentications tableofcontents vulnerabilities enablehighlight authuserpagefmt incompatibility implementation siteadmingroup othervariables administrators groupheaderfmt grouppagecount groupfooterfmt interpretation enableskindiag wikipagecssfmt currenttimeiso enablereadonly spacewikiwords pagedirectives enablepagelist enablesortable inconsistently configurations matchpagenames pseudovariable customizations basicvariables enablepathinfo formnovalidate debugvariables documentation installations pagevariables inconsistency uploadpermadd linkwikiwords vulnerability allowpassword international uploadpermset automatically independently notifications accessibility normalization ramifications wikiwordcount corresponding replaceonsave unfortunately optimizations diffuseragent authorization editvariables functionality uploadsetvars i18nvariables abortfunction pathvariables handleactions linkvariables alternatively skintemplates substitutions appropriately password_hash passwdvarauth conditionals longstanding diffstartfmt applications highlighting touchscreens constructors experimental difficulties distribution calculations preg_replace siteanalyzer instructions incompatible manipulation robotpattern simultaneous pagenotfound accidentally _site_upload include_once capabilities attachements autocomplete configurable enabledrafts preformatted diffkeepdays approvedurls mailfunction handleupload intermediate custommarkup nohtmlheader relativeurls localization nohtmlfooter attachments changements pageactions recommended replacement stylesheets information temporarily translation defaultname diffkeepnum htmltagattr pagepathfmt definitions identifiers roepatterns rospatterns redirection unavailable integration description permissions differences placeholder recursively investigate transparent smartphones substituted immediately insensitive improvement potentially unprotected obfuscation pmsetcookie unnecessary apostrophes replicating understands translators distinguish comparisons suggestions opportunity sectionedit development fmtpagename parenthesis wikisandbox blockmarkup _site_admin recipecheck appreciated nonexistent enablewspre whitespaces parentheses consecutive pagehistory javascripts encouraged eventually _site_read standalone vulnerable translated discussion previously indicating specifying extensible references skinchange embeddable processing performing developers notifylist refactored formatting togglenext extensions _site_edit displaying capability signatures groupcount wikitrails containing redirected classnames imgcaption recognized openoffice othergroup samedomain addlinkcss namespaced especially simplified customized characters grouphomes validation recognizes parameters responsive wikistyles webmasters documented recovering obfuscated introduced pseudovars additional passwdread transition internally regardless downloaded checkboxes considered deprecated background blocklists timestamps integrates relatively understood resolution optimizing passwdedit stripmagic workaround requesting overridden restricted vandalized explicitly inputattrs enablediag elseifelse encrypting inlinediff publishing subversion remembered attachlist disallowed preserving unapproved frameworks diagnostic descending postconfig updatepage introduces incomplete subsequent repository translates timeisofmt previewing scrollable disruption autocreate assistance concerning discovered matchnames authgroups manipulate following mailposts currently correctly stdconfig concerned questions community optimized consensus beginning searchbox configure displayed forbidden rendering wildcards carefully injection additions excluding appearing pagestore pathtrail specified minnumber malicious relabeled histories performed arguments insmarkup newcomers important changelog supported processed pubdirurl scripturl corrected sitegroup downloads filenames migrating directory conflicts processor wikititle indicates sanitized replacing addresses unrelated treatment contained redirects analytics upgrading filtering according wikipedia technical depending published safe_mode including evaluated negatives auth_form generally migration eachcount hardcoded remaining uninstall locations subtitles algorithm separator telephone redundant otherwise encodings insertion summaries inserting adaptable languages keeptoken remainder revisions interface installed asterisks incorrect operators yesterday clickable released specific rendered reported includes produces carrying captions elements displays affected improves condauth improved slightly external division formerly fullname anything diffshow wrapping _request refcount authlist récents continue launched intermap allowing recoding backtick reversed versions protocol embedded clicking margiani defaults semantic editform upgrades possible disabled scalable pictures absolute graphics included basepage multiple sidebars existing websites provides optional wikitext uploaded settings minimize problems somewhat browsers manifest silently entities designed recently earliest comments strongly november ptvstart redefine separate makelink selected requires somepage replaced together excerpts contains markupid managing behavior provided physical modifies inserted accessed entirely homepage enabling handling generate switches official manually requests creation uploader textarea identify authpage anywhere standard executed features pmwikibg controls publicly tracking pointing blocking computed advanced sections visitors metadata wikileft whatever assuming searches compat1x attempts shipping position suppress combined updating datalist restored warnings lockfile category localcss browsing snippets whenever expected callback markup_e percents switched deobmail produced headings edithelp numbered intended tabindex flexible reverted appeared expanded cosmetic restores anchor_1 examples corrects prevents wikicode bugfixes defining writable critical diagnose because updated editing strings message already michael engelke updates blocked styling earlier without running mention several changed certain reading gabriel recipes windows hosting trusted limited deleted created cleared whether removes anchors applied tooltip exclude greater notices classes checked against exploit trigger imgonly affects notably calling clients simpler exactly welcome ruleset removed flagged numbers respect instead wrapped pagerev reflect receive entries pmcrypt article parsing generic extends tracing accepts toolbar invalid reverts matches storing opposed handles another detects trivial shouldn convert browsed schemes devices fuchsia written showing outdent aligned justify minimum defines removal autotoc ignored variant closing appears treated details command markups spacing greatly through escaped leading various causing phpdiff elseif1 smarter footers headers finding smaller ongoing assumed buttons complex happens testing balloon whereby sending usually dropped returns explain reports acquire contact mistake options regular renames 2001900 ontrail however partial desktop results jumping inspect sources roadmap besides ordered undergo maximum rewrite relies pmform vardoc values latest called commas prefix system letter retain please module output editor longer v22115 future modulo couple v22114 nowrap fourth rushed always v22105 phrase starts filled french exists allows labels fields people modern double helper single adding creole v22116 nodiff arrays admins v22104 except broken needed easier cellnr breaks memory others obtain server limits blocks ptvend v22106 subset headnr lowest worked easily target before points agents v22109 v22118 causes orange active faster images colors hashes v22103 posted v22108 nested v22117 cancel v22128 wishes v22107 simply global v22123 either better pml10n cannot digits parsed nopass isidor passed locale second effect unable v22112 mobile height recode dashes v22127 apache moment beta33 modify copies v22124 v22125 romano edited v22126 caches egidio inside v22101 v22130 center highly v22120 v22129 suites issues builds v22111 visits severe indent v22119 cursor listed v22102 vector quoted google branch v22110 ranges substr refers resets v22113 remote tested prompt signal v22100 v22122 still minor fixed forms html5 added v2269 skins files state v2270 width types based v2268 large leads after taken there until v2266 today which else1 meant v2267 users first https speed codec audio built error shown email edits about calls three v2233 hides raise entry pmtoc v2235 makes newer 00961 iconv while cases those could newly since yours doesn pipes mails fmtpv right above owned radio focus would popen video being their xmlns notoc print lines ctime sizes v2283 mouse v2282 named v2281 items wrong v2286 react years v2284 force blank v2285 colon v2277 glued v2278 v2276 texts versa v2280 olive v2279 cells v2299 major later might comes betax v2298 v2293 ships beta6 needs v2294 least v2295 v2292 early v2297 cross v2288 short parts among xhtml v2287 seems hooks v2290 v2291 false v2289 demos often paste tools aside doing wraps v2272 every ftime v2296 v2274 typed v2271 v2273 v2275 from 2009 this must done 2011 also been that sure want five like such more will adds they bugs were 2010 flac have core disk idea into dots used 8859 1252 v220 pits 2012 copy them runs news easy than didn tags many most tous wins huge grab kept give csum upon 2017 hasn rel2 2014 2016 phsc dial 2018 root 1999 2013 both aims loop logs 2019 made font near zone 2015 gray grey salt svgz aqua lime teal 2020 xlsx pptx docx 2004 lost shtm phtm pcgi opus unix 0444 webp farm was www org rtl ltr few may two had ids xss pqa vtt xyz six mkv isn due 121 fly txt geo jpg 3rd png pdf 403 mp4 odg ogv xcf jsp asp svn 3gp m4v odt ods odp tz 31 h5 h1 32 56 55 58 57 54 53 63 64 62 65 60 51 43 45 37 41 38 39 42 36 48 w3 49 50 46 34 47 +PmWiki.PmWiki:1628920394: PmWiki.WikiWikiWeb Main.WikiSandbox PmWiki.BasicEditing PmWiki.Skins PmWiki.PmWikiPhilosophy Cookbook.Cookbook PmWiki.Installation : pmwikiphilosophy administrators customization collaborative applications architecture installation basicediting distributed wikisandbox attachments wikiwikiweb appropriate maintenance conjunction completely protection individual restricted extensions maintained registered management appearance different available customize trademark functions templates principle contained databases oversight essential copyleft features cookbook htaccess controls password existing hundreds creation websites designed pmichaud actively applied authors general servers quickly content include january license written already recipes variety running version patrick entire groups upload create modify system plugin simple public newwin called markup engine easily action normal change except skins using pages makes rules under mysql small since petko based yotov have open that look easy http from core made know they this only 2009 into need link home html like such with find ldap feel work self your also gpl org www can who for add key cms one own gnu any use are css php not net be of by do +PmWiki.TableDirectives:1628920394: PmWiki.Tables PmWiki.TableDirectives PmWiki.LayoutVariables PmWiki.Audiences PmWiki.PmWikiPhilosophy PmWiki.LocalCustomizations PmWiki.IncludeOtherPages Cookbook.AdvancedTableDirectives Cookbook.BackgroundImages PmWiki.WikiStyles PmWiki.TableDirectives-Talk Cookbook.CreateColumns : enabletableautovaligntop advancedtabledirectives localcustomizations includeotherpages backgroundimages pmwikiphilosophy layoutvariables wikistyleapply collaborative createcolumns demonstration administrator automatically professionals intermediate requirements incorrectly cellpadding bordercolor cellspacing captiontext unrealistic attributes navigation indicating wikistyles understand processing simplified impossible structural exception markupend frontpage authoring difficult recognize arbitrary audiences arguments insertion primarily generated paragraph sometimes beginning generates counting cookbook included navigate positive tableend elements previous visually contents browsers purposes property disabled floating ordinary response captions seasoned properly remember original bulleted directly breaking examples provided learning simplest packages interior contains explains standard allowing creating colspan further integer already default authors someone version bgcolor hardest created rowspan honored percent talking average display however specify instead answers certain concept because comment looking writing creates simpler markups headers summary similar between regular without inside handle having cellnr within likely number center nested tables result cccc99 headnr people recipe allows second values msword closes footer course effect posted easily modify surely common little wanted expect always needed notice placed middle bottom define would green empty naive drawn group might since wrong doesn right these tried space those newer valid there below where about width among still above title using write going class bring exist items build links which sense works makes rules could notes opens first uses site this only your used html code will that most they such just each nbsp same also plus nice take then what have find didn name from left even help tool said were case else very next many ugly easy tags thus edit line than must file been etc see can put won css hex yes why ask its are own for set off faq get has web non lot don two fix say six td 11 c1 b1 a1 d1 c2 b2 a2 by 30 5 +PmWiki.Functions:1628920394: Cookbook.Functions PmWiki.CustomMarkup PmWiki.CustomActions PmWiki.SecurityVariables Cookbook.PccfToPcfOverride PmWiki.LinkVariables PmWiki.OtherVariables PmWiki.EditVariables PmWiki.UploadVariables PmWiki.Functions PmWiki.BasicVariables PmWiki.Variables PmWiki.Internationalizations PmWiki.FmtPageName PmWiki.MakeLink PmWiki.ConditionalMarkup PmWiki.Drafts PmWiki.UpdatePage Cookbook.MarkupExpressionSamples Category.PmWikiDeveloper : markupexpressionsamples makeuploadnamepatterns my_global_var_callback preg_replace_callback internationalizations internationalisation pageattributesstring makepagenamepatterns enablecookiehttponly array_search_replace retrieveauthsection callbackfntemplates enablecookiesecure callback_arguments conditionalmarkup linkpageexistsfmt pccftopcfoverride callback_template securityvariables includeotherpages cryptographically linkpagecreatefmt htmlspecialchars retrieveauthpage saveattrpatterns defaultpasswords get_magic_quotes replacement_code readpage_current create_function uploadvariables initializations pmwikideveloper string_or_array qualifypatterns groupattributes specifications authentication othervariables search_pattern basicvariables handleactions authorisation authorization automatically compatibility configuration authenticated parenthesized double_encode administrator substitutions recentchanges notifications correspondent password_hash corresponding linkvariables customactions editvariables conceptually restrictions custommarkup successfully isauthorized markuptohtml accidentally representing enabledrafts include_once conditionals alphanumeric interpreting array_values pmsetcookie manipulated rospatterns recursively information backslashes appropriate roepatterns brackets〛 unqualified responsible equivalents my_callback alternative authcascade raspagename pagesection sessionauth imaplinkfmt translators fmtpagename subpatterns definitions interpreted permissions translation initialized directories strtoupper explaining deprecated accessible updatepage specifying evaluation previously preference especially internally associated containing directives implements historical references categories sufficient fictitious subsequent authprompt stripmagic ff3w34hash ent_compat deprecates processing characters preserving disregards attachment assumption identifies ent_quotes constructs incomplete array_keys conversion regardless extensions urllinkfmt formatting developers occurences functions described beginning performed 〚double quotation following container anonymous auxiliary groupname generally inclusion protected describes searching important including parameter timestamp available specified processed otherwise operation something correctly providing formatted lowercase necessary evaluated technical directory safe_mode stdconfig typically alternate specifies retrieved converted preferred linktext creating assuming selected computed although makelink cookbook instance possible condauth required unwanted contains converts requires removing extracts anything resolved haystack replaced callable intermap commonly probably wikitext original supplied inserted relative imported encoding warnings whatever contents manually browsing displays markup_e authlist modified includes returned checking prompted building absolute elements modifier respects verifies listings combined vaidated sections sessions separate continue updating provided optional intended audience apparent php_code revision workings behavior versions ignoring feedtext existing relevant advanced included messages directly provides overview settings produces category blogend example however scripts defined pmcrypt numbers updated manages invalid created history regular calling usually uploads creates summary sending pulling without suppose loading globals keeping rewrite notices markups refused matched publish returns because checked instead matches applies writers comment article earlier through browser reading several authors omitted escapes recipes snippet editing already causing strings greater expects control prevent context details linkurl applied telling running similar follows ignored migrate imposed attempt linkalt passing smaller results removes happens another object simply inline suffix target passwd source anchor around before needed unlike called mkdirp caller cannot inside enough beta28 should refers simple useful aborts either pulled unable unless supply forces quoted stands passed always writes groups checks having become strong tabula within arrays output assume single authpw reason allows second delete mypage italic admins future engine stages cached entire starts higher faster marker things obtain rframe levels square lambda dollar secret bottom occurs strips major prior pairs named comes names might chain erase wikis since error doesn signs meant front marks curly means first title apply later green where steps rules calls wrong while which would raise shall added these final right looks links style there notoc could parts given table files about flags 12493 gmane user1 empty takes reads saved cdata mimic works notes _post after third local brief three newer farmd every house clear order horse never email limit under blank older going pulls sites tasks will also each this same when that into says more from such have main were much true stop soon they them phsc kind pack 301a 301b null than your just diff uses type rasa been best near said adds chal ppre font many wish wrap ppra most 8859 real salt _get path lots sure now pss was isn web org see net via won two www dom few don may xml rss had txt utf div iso ids foo bit its xyz one of by 56 62 7 +PmWiki.PageFileFormat:1628920394: PmWiki.Passwords SiteAdmin.Status Cookbook.ImportText Cookbook.AdminByShell Cookbook.PageTopStore Category.PmWikiDeveloper : pmwikideveloper pagefileformat chronological adminbyshell pagetopstore distribution passwdupload information potentially assumptions wikisandbox sdecription description differences alternative conversions importtext 1142030000 urlencoded passwdedit attributes passwdread processing groupname1 passwdattr categories groupname2 deprecated collection encrypted somewhere converted delimited necessary uppercase passwords following pagename1 pagename2 character updatedto operation formatted siteadmin pagestore documents parameter processes cookbook creating contents revision required pagelist filename searches possible category security addition sysadmin sequence wikipage previous normally ordering extracts newlines creation encoding wikifile upgrades summary history example appears comment ordered aliased targets another keeping reading current present program browser utility charset reverse address between display percent seconds outside command advance change 0athis values memory recipe markup create edited editor author saving begins status delete entire output simple decode number future render mangle header viewed latest prints writes assist stores actual matter macosx inside tested client letter recent links below title input wtext since saved files makes could about these using times items pmcat track local which ctime sedin doesn would tools added needs signs paste space third endif tells point exist agent kept with sets unix only used copy each skin puts then will open stop from flag most uses been exit grep keys null csum last when that more your help able bulk have long also like sure work ways many echo main tcsh fill 1970 meta host one see may lot 999 isn can cut eof bin php utc via has are jan was two ftp raw fn 3c 25 f2 gp +PmWiki.BasicEditing:1628920394: PmWiki.WikiSandbox Main.WikiSandbox PmWiki.WikiWikiWeb PmWiki.Passwords PmWiki.TextFormattingRules PmWiki.MarkupMasterIndex PmWiki.WikiStyles PmWiki.ListStyles PmWiki.WikiGroup PmWiki.InterMap PmWiki.NonexistentPages PmWiki.Links PmWiki.Tables PmWiki.TableDirectives PmWiki.Images PmWiki.PageLists PmWiki.BasicEditing PmWiki.WikiTrails PmWiki.DocumentationIndex PmWiki.SpecialCharacters PmWiki.LayoutVariables PmWiki.PmWikiPhilosophy PmWiki.Audiences Cookbook.EnableHTML : textformattingrules documentationindex markupmasterindex specialcharacters markupheadersend nonexistentpages pmwikiphilosophy definitionlists tabledirectives layoutvariables automatically bulletedlists administrator strikethrough collaborative navigational preformatted highlighting htmlpnewline basicediting superscripts _subscripts_ contribution demonstrate wikisandbox pagesummary effectively definitions consecutive description indentation apostrophes subheadings environment parentheses backslashes information wikiwikiweb discussions capitalized paragraphs wikistyles exhaustive horizontal generating linebreaks explicitly monospaced structured pagetitles oliverbetz consistent experiment enablehtml liststyles wikitrails protected processed depending audiences beginning markupend justified reference passwords unordered affecting asterisks essential organized copyright trademark displayed important something remaining underline outdented available different pagelists wikigroup separator courteous somewhere interwiki emphasize describes wikipedia indicated including specially potential described following sequence emphasis advanced followed numbered intermap multiple security directly separate cookbook anything keyboard together indented fullname preserve supports inserted brackets normally editable practice elements continue creating tableend examples preceded external policies centered floating enabling rendered provides versions aardvark packages options enclose hanging another someone default comment creates removed produce include further linking exactly escaped leading italics feature borders reverse reading markup2 indents content markup1 endings details without reasons exclude authors results getting however wysiwyg started systems outline address literal engines markups usually created deleted smaller achieve config single deeper output except colons images edited useful design quotes merges appear syntax should inline double thinks source treats making called strong footer square tables within others invite simple exists issues recipe anyway common ff7f00 cellnr arrows mailto action search merged dashes longer column change bigger become bottom recent hashes before blocks class learn lines about ifend parts false still links shows sites color first green wraps being whole cause there width fixed which force cells using types typed minor looks align allow blank empty marks email major boxes write click mixed means field based items signs below after above used kept much more this pipe also want 8482 bold most each code four make your that from such left many blue what sets find talk than must next same http rich they will have help good like when bare open very note well pose font area then hide home only does wide can faq may try two php don 169 174 see its top xyz etc imo www url lot of by my 3 +PmWiki.FilePermissions:1628920394: : directoryandfilepermissions subdirectories configuration administrator installations instructions appropriate public_html encountered temporarily environment definitive drwxrwxrwx everything drwxrwsrwx superusers ownerships manipulate capability webservers configured referenced distribute alternate practical following something safe_mode pubdirurl different depending generally typically therefore according describes questions available situation hierarchy beginning somewhere prompting eliminate cookbook pmichaud browsers settings identity standard absolute whatever manually anything writable features creation creating outlined function solution readable normally specific avoiding attempts detailed complain created account correct already execute example running inherit results scripts uploads briefly instead however mimetex without calling creates groupid section applies ensures letting usually depends summary pmwiki itself things newwin apache frobot recipe should parent needed mkdirp change simple cannot belong nobody holder within placed called remove setgid virtue suexec loaded action cached answer images people solves having modify markup manner matter userid write above needs still which pages often files doesn apply newly rules cause world owned wants doing about those works order issue httpd chmod first chown suphp match 54272 since again below exist allow their based grant means exact them case this also will same then 4096 like from into used that owns runs host unix when just thus have else site only upon even look each lots save 2777 1024 disk they make care take math sets uses okay such home now box css see via was has way may www 755 get two jan feb pwd don non net who you why isn bit go 95 by 29 15 58 11 23 51 12 28 +PmWiki.Notify:1628920394: PmWiki.LocalCustomizations PmWiki.Notify SiteAdmin.NotifyList PmWiki.PageLists PmWiki.WikiTrails PmWiki.PageTextVariables PmWiki.BasicVariables PmWiki.UTF-8 PITS.01159 : controlling_notification_frequency enablenotifysubjectencode enabledirectdownloads localcustomizations lastmodifiedsummary additional_headers notifylistpagefmt pagetextvariables notifyparameters notifysubjectfmt siteadmingroup specifications administrators basicvariables notifytimefmt notifyitemfmt notifications notifysquelch notifyheaders notifybodyfmt configuration international recentchanges installations sendmail_from periodically mailfunction acknowledged notifydelay conditional limitations notifyitems operational notifytrail substituted information notifygroup maintaining individuals assignments watchlists considered controlled particular notifyname configured notifyfrom recipients succession frequently wikitrails electronic notifyfile containing capability unreadable infrequent eliminates relatively protected following specified preferred correctly duplicate arguments specifies important generally webserver mailboxes stdconfig unnoticed otherwise directive encodings diffclass wikipedia pagelists regularly formatted necessary arbitrary addresses malicious concealed evaluated quotation disabling substring execution inactive limiting generate profiles homepage probably resolved flooding messages interval manually receives followed restrict minimums standard possible writable untimely posttime combined fullname defaults subjects replaced anything multiple override mailings silently attached whenever selected contains audience outgoing password solution checkbox example regards changed entries posting scratch prevent workdir editing disable privacy feature instead include charset content version persons blocked against reading process pageurl several library sending initial seconds because running however visited matters ignored periods windows between expired ini_set minutes noreply charles setting another history specify mistake section watched options similar usually placing emailed updates xlpage action longer before listed values elapse except passed others inside pmwiki result adding easier author syntax amount script should useful number single base64 simply hourly groups length access within images simple around spaces cannot rather easily allows return system remain really during queued called 86400 alice above times marks least posts about after equal sites might since issue exist could built tells edgar where under green pages edits 43200 hours lines minor rapid below often first false three small 10800 array would wikis _post mails entry apply added build links using avoid major doesn point being plain short 01159 occur which means track keeps extra whole order views given this will more smtp sent need used pits only same like also make that then have want host fail your some http says must just note best gets 2004 type soon zero case wait them each into such easy fred next most five uses less much than good been 3600 cron are bob net php one day www via way utf yet see has may fix abc isn 300 job 123 put ghi foo by 03 17 44 +PmWiki.WebFeeds:1628920394: PmWiki.WikiTrails Site.AllRecentChanges Cookbook.Backlinks PmWiki.WikiGroup PmWiki.Categories PmWiki.PageLists Cookbook.RssFeedDisplay PmWiki.LocalCustomizations Cookbook.FeedLinks PmWiki.BasicVariables PmWiki.OtherVariables PmWiki.PagelistVariables Cookbook.PageFeed Cookbook.CustomRecentChanges PmWiki.LayoutVariables PITS.01161 : list_of_feed_aggregators enablepagelistprotect adddescriptionsummary lastmodifiedsummary customrecentchanges localcustomizations pagelistvariables allrecentchanges recentchangesfmt retrieveauthpage rssenclosurefmt layoutvariables web_syndication specifications rssfeeddisplay othervariables basicvariables authentication forbiddengroup automatically configuration markupexcerpt changesummary alternatively htmlheaderfmt include_once applications notification configurable intermediate information established effectively technically newsreaders itemisotime currenttime corresponds appropriate lastsummary capability extensions preventing performing considered syndicated equivalent generation podcasting expression categories 28standard characters addsummary enclosures wikitrails similarity convenient repeatedly foundation recognized individual myfeedpage authorlink monitoring wikipedia discovery subscribe feedlinks generates backlinks histories wikigroup connected supplying basically alternate generated qualifier configure describes indicates therefore following condition available functions pagelists dedicated existence otherwise wikititle scripturl protocols confusing including mechanism appearing newsgroup traveling sitegroup cleartext different interface protected replicate potential browsers metadata designed normally cookbook software portions recently computer _request pagefeed internet audience existing homepage addition response episode4 clicking pitfall1 recorded password pagename question downside directly webfeeds possible searches fullname multiple separate elements reserved digested callable nutshell web_feed although visitors notified creating included simplest commonly checking interest category authors default instead feedfmt already ordered options specify content changed enabled formats between example pageurl mailing placing exclude setting certain scripts address combine sidebar harvard section pagevar quickly declare mozilla firefox updates control checked channel updated clients despite provide plugins pmwiki action called around obtain simply edited notice wouldn picked rights anyone substr return either number things easily create linked choice ensure begins dublin groups second newwin single within rather people insert really output orange access limits always allows across adding apache secret attach images desire remote server choose lastly authpw others forget unique height sorted highly locked array lines start index being width above entry these pages atom_ value twice doing third whole added green could false block where first still doesn given count notes reply black built files every since which might blogs named often fmtpv based skins edits farmd email their items 01161 piece terms pits didn http have logo need most that what guid each same this 2007 well know want from mean case your body core like zero also many some work will they them type aren ones user thus such used href more when icon been than made into sdva wrap just show look php but won see xml let can rel end may tag 120 gif has day big top mp3 etc yes wma rdf edu law faq feb ogg run via 29 by 10 13 pn 60 +PmWiki.AuthUser:1628920394: PmWiki.Passwords PmWiki.ThoughtsOnAccessControl Cookbook.QuickStartForAuthUser PmWiki.PathVariables PmWiki.PasswordsAdmin SiteAdmin.AuthUser PmWiki.SecurityVariables PmWiki.AuthUser PmWiki.BasicVariables Cookbook.AuthUserViaMicrosoftLDAP Cookbook.SessionSecurityAdvice Cookbook.AuthUser Cookbook.UserLastAction PITS.00400 Cookbook.HtpasswdForm Cookbook.UserAdmin : authuserviamicrosoftldap thoughtsonaccesscontrol dc8z2vu3uvnixmfocgdon0 quickstartforauthuser sessionsecurityadvice authldapbindpassword internationalization securityvariables defaultpasswords passwordsadmin administrators authentication administration basicvariables authldapbinddn userlastaction authorization configuration vk99sgdv1an6i customization authenticated q1ksenctfwqjs pathvariables mod_auth_ldap recentchanges documentation declarations htpasswdform intermediate include_once session_name restrictions successfully preg_replace interactions intentional comfortably independent maintaining flexibility maintenance wholeoffice memberships description authldapurl controlling information diagnostics individuals auth_groups handleauth identified protection organizing attributes capability configured authorlink restaurant especially filesystem controlled maintained authorized encryption compressed particular moderators definition complexity masterpass approaches registered characters activating farmconfig typically siteadmin performed excluding usernames installed formatted following pagestore xyzsessid sensitive different separated appearing protected directive injection encrypted available wikifarms confusion replacing determine indicated otherwise providing including addresses invisible increased useradmin similarly obtaining specified searching something anonymous activated e_author cknc8zas profiles editform specific accounts multiple settings addition together possible examples htaccess includes provides cookbook sequence creating identity removing external prefixed replaced followed remember creation whatever required relative everyone writable included defaults solution provided graceful directly coexists entering accepted versions actually accessed flexible reminder audience contains commonly overhead managing htgroup history editors simpler sources editing through belongs specify recipes pmcrypt writers summary getting without mailing article phpinfo viewing scripts someone leading feature working closely enables attacks another columns systems against instead follows servers running shouldn calling easiest letters looking treated browser cookies listing command testing inserts matters notably desired entered binding created nothing usually context details correct because apache places adding admins pmwiki newwin number called global define tricks manual barney domain within lookup before unique safest naming please logged except people turned thread secret logins debian caused treats record module rights always saving allows authid anyone simply either assign airius remove choice reason having better linked strstr levels cannot caches edited xlpage merits repeat easily entire equals spaces string beta58 stored sqlite person fields scheme ensure based these carol given still which older users local array farmd alice using prior after makes needs wikis their under signs above false blank entry think would wrong never there valid mysql seems httpd model knows early binds quite class being first value stale force below doesn lines doing could kinds 00400 track match pairs links tools input reset gmane 52420 bring party third about saved colon where debug helps rules might least exact means ifend that urls this same done have when near asks html will each your tell also most they fred keep else from case docs like into i18n more time note tabs tips uses even dave hide self pits type such must made want wide both than clip show load skip left are net has apt web yes bob utf faq why two sub may mix isn top by go 07 cn +PmWiki.UploadsAdmin:1628920394: PmWiki.PmWiki PmWiki.Uploads PmWiki.Security PmWiki.WikiAdministrator PmWiki.PasswordsAdmin PmWiki.UploadVariables PmWiki.SecurityVariables PmWiki.Passwords Cookbook.UploadGroups PmWiki.GroupCustomizations PmWiki.LocalCustomizations Cookbook.UploadTypes Cookbook.SecureAttachments PmWiki.DebugVariables PmWiki.WikiGroup PmWiki.PageDirectives : uploaddirectoryconfiguration restrictinguploadedfiles enableuploadgroupauth newuploadfiletypesend enableuploadoverwrite enableuploadversions enabledirectdownload localcustomizations groupcustomizations upload_max_filesize otherfilesizelimits uploadprefixquota securityvariables wikiadministrator secureattachments defaultpasswords misconfiguration limitrequestbody uploadprefixfmt upload_versions vulnerabilities uploadvariables direct_download uploadblacklist uploadnamechars uploaddirquota subdirectories sitewideprefix upload_tmp_dir pagedirectives passwordsadmin administration debugvariables alternatively verifications uploadextsize uploadmaxsize specification media_mimeref post_max_size installations automatically distributions alphanumerics uploadpermadd file_uploads subdirectory restrictions uploadgroups disallow_ext consequences uploadsadmin uploadurlfmt corresponds assignments recommended uploadtypes alternately public_html anonymously underscores justifiable possibility information individual extensions management simplifies limitation specifying increasing additional determines associated parameters authorized configured pageprefix handleauth protecting wikigroups explicitly filesystem enablediag containing restricted versioning characters variations attachlist accessible altogether organizing uploadable generated important displayed following unlimited necessary mechanism described filenames disabling stdconfig uploading preserved occurring requested modifying defaulted including paragraph describes increased permitted specified otherwise generally different restarted potential executing somewhere galleries w3schools wikipedia specially restoring disables multiple organize postings writable separate settings cookbook normally properly disabled attached location performs changing required existing defaults prompted approved whatever executed contains anything controls rejected 10000000 supplies involved terabyte included previous function unwanted smallest accessed designed possible somewhat fullname paranoid includes htaccess another allowed usually defined content instead already vitally letters feature through whether example summary hyphens periods similar unicode current picture certain numbers maximum provide relaxes process letting desired without attempt 1000kib utility differs however hazards phpinfo dirconf prevent changed message pmcrypt browser details problem overall 10000kb located factors pmwiki server damage create appear script called recent allows others recipe within simply spaces digits markup pushes syntax stance entire stored before remove 100kib easily locked insert 1000kb adding action entail should newwin apache source 670955 larger single length unable values rights posted affect detect foobar moving unless repeat assume amount second 524288 solves itself always prefer secret trying rather reduce pages issue found which total those first there sizes error above these httpd three linux being place noted whole would units bytes turns asize means 100kb check given named 20000 entry their valid array needs below basic image knows about might since added lower 25mib begin doesn notes title users older could aware until steps using takes along comes that this line each find iana part used thus like when docs hold will home jpeg them yyyy adds also most zero then link many have plan only than 20kb must work same such test last lead 1024 your from seem make sure been says bits risk mind keep 1mib exit made look 2gib edit wish next 512k tend deny seen true tree much into well once 10mb case 200k can has may one was two hlt etc 6mb 2mb yet dot meg gig 50k fly web yes usr lib ask 1mb faq zip off png dxf gif www cgi jpg asp isn txt don zzz xxx go +PmWiki.PageLists:1628920394: PmWiki.PageListTemplates PmWiki.DocumentationIndex PmWiki.PageTextVariables PmWiki.MarkupExpressions PmWiki.PageVariables PmWiki.WikiTrails PmWiki.BasicVariables Cookbook.SearchResults PmWiki.PagelistVariables Site.PageListTemplates PmWiki.Categories Cookbook.PageListMultiTargets PmWiki.ConditionalMarkup PmWiki.CustomPagelistSortOrder PmWiki.PathVariables PmWiki.Internationalizations Cookbook.PagelistTemplateSamples Cookbook.Forms Cookbook.CustomPagelistSortOrderFunctions PmWiki.PageLists PmWiki.PageDirectives PmWiki.Search : custompagelistsortorderfunctions enableundefinedtemplatevars fpltemplatemarkupfunction pagelisttemplatesamples enablerelativepagevars internationalizations pagelistmultitargets documentationindex mypagetextvariable searchboxinputtype pagetextvariables markupexpressions pagelistvariables conditionalmarkup pagelistcachedir allrecentchanges searchresultsfmt pagelistrequest includevariable pagetextvarname makepagelistopt groupattributes alphabetically searchpatterns inconsistently customizations basicvariables pagedirectives pagelistpasswd administrators subdirectories pagelistorder pagelistcount pagelistgroup pagelisttrail pagelistclass pagevariables compatibility alternatively configuration accessibility pathvariables matchsearched pagelistwrap searchboxfmt pagelistlist pagelistname apagetextvar pagelistlink markuptohtml fplformatopt intermediate modification implications searchboxopt pagelistarg explicitely placeholder searchfound pagepathfmt defaultname attachments translation contributed information groupfooter groupheader pagevarname surrounding pagelistfmt customizing titlespaced parameters definition explicitly grouphomes predefined indicating subsequent processing capability specifying wikitrails especially overridden implements populating displaying determines generating predefines customized wikigroups additional difference categories wikisearch documented farmconfig optionally formatting matchcount pagelistif separators suppresses represents fplbygroup characters equivalent pagestores associated conditions attachlist wildcards cookbooks specified displayed unordered currently backlinks forbidden resulting groupname beginning performed preserves variable1 statement multiples undesired important continued according selecting therefore variable2 providing localized generally different retrieved fplsimple arguments searching markupend paramname somegroup searchfor directory following templated existence matchlist exception basically thisgroup generates separated generated described selection instance audience criteria anywhere possible produced directly recently indicate starting tableend creation restrict embedded likewise sequence reversed versions bulleted creating supplied defaults ordering anything specific consider pmwikizh question asterisk security choosing matching disallow contains examples behavior requires tabtable brackets enclosed executed omitting _request normally fullname override password bothered provided category homepage negative modified included provides allowing redirect contents existing followed pagename defining language browsers validate attached evaluate excluded disables tvarsend excludes messages differs without mailing formats through queries several website instead absence between summary listing certain section reloads chinese because delimit effects regular linking another portion obtains subsets numbers primary returns changed finding related accepts sorting somehow setting authors banners matches reading greatly objects yourptv appears context treated mygroup applies literal earlier shuffle working phrases written initial details onwards created caching wikilib comment usually wikidir exactly already enabled ignored follows assumes prevent biggest cellnr random adding inside before twenty counts thread exists string entire spaces button should remove vspace adjust needle useful value2 ranges quotes allows rather within quoted mydate sorted likely inline second output posted unless either modify mostly submit needed rights encode checks starts beta15 speeds values across braces refers having things occurs commas letter listed square source syntax simply around cannot expect substr abcdef avalue admins xlsdv chars blank using ftime paths pmcal names taken after enter those three boxes which could finds their first array rules label farmd minus saved aware html4 since would field write based apple below lines being works terms html5 skins above xhtml empty shows users doesn gives needs opens forms given yield level width while every these 60970 focus 60968 about paren gmane means carry ctime 58621 added makes apply today rides words simon horiz comes sally myptv items still curly test also than each same more luck note that once sign when ptvs from only will seen last size week into used they must 2009 gray file thus have then zero part http true nbsp them 10th what skip nine look uses long ways hide such five want 2005 edit tags none may php etc div pie key two bad ask now faq yes isn run 123 has new who don via its org 9th 5th 1st was own 99 of ij uv qr pv xy 01 31 gw 40 30 71 +PmWiki.CustomWikiStyles:1628920394: PmWiki.WikiStyles PmWiki.WikiAdministrator PmWiki.LayoutVariables Cookbook.Functions Cookbook.WikiStylesPlus Cookbook.Callout : wikiadministrator customwikistyles layoutvariables wikistylesplus administrators correspondent customization wikistylecss projectentry intermediate underlining mynewstyle properties background equivalent paragraphs predefined underlined decoration additional farmconfig particular definition attribute overwrite functions following condition important describes combining cookbook tabtable specific warnings audience sidehead concerns friendly colorful decimal callout provide checked padding example defines printer getting display comment disable putting browser special summary setting scripts output ffffcc pmwiki worked author easily hovers border second dotted colors window values rfloat lfloat f9f9f9 markup cccccc margin though newwin lframe rframe cframe _blank target silver 00ffcc sample useful groups maroon global purple within yellow action remove unlike index array thumb block using apply vmenu right local pages class mouse space notes image which valid first white would black roman might lower green upper alpha solid setup prior links turns tried view left into your this them then very list item will didn open none noul blue navy gray xxxx text make icon that same wide site want bold from name done when how and can for php pub are faq etc 1px see tag div may img 4px via own top 5em sdv by of dt 6 +PmWiki.SkinTemplates:1628920394: PmWiki.Skins PmWiki.BasicVariables PmWiki.PathVariables PmWiki.LayoutVariables PmWiki.PageVariables PmWiki.PageDirectives Skins.TestPageDirectives PmWiki.Internationalizations Cookbook.HideSearchBar : skintemplateincludelevel internationalizations testpagedirectives findingprocessing loadpagetemplate layoutvariables includetemplate pagetemplatefmt lastmodifiedby settmpldisplay basicvariables htmlstylesfmt customization substitutions automatically corresponding configuration skintemplates pathvariables pagevariables pagefooterfmt hidesearchbar pageactionfmt farmpubdirurl pageheaderfmt particularly translations capabilities translatable modification combinations somefunction pagerightfmt pagetitlefmt directories permissions pageleftfmt pagelogourl appropriate convenience skinlibdirs substituted information encountered consecutive definitions titlespaced htmlfooter collection filesystem translated htmlheader accessible compatible pagexyzfmt mentioning fileformat parameters predefined skindirurl actionskin generating bearbeiten appearance specifying displaying different processed basically directory wikititle available continues inclusion necessary designate arguments something scripturl construct following indicated typically candidate requested specified instances resources functions sensitive processes somewhere customcss otherwise specifies mentioned selectors currently described customize languages designers important describes displays pagetext required multiple included probably somefile provides contents excluded somepage original specific publicly comments embedded editform homepage contains possible pagename cookbook replaced document consults fullname skeleton encoding replaces optional directly executed whenever security noaction disabled criteria sections noheader nofooter default without consist looking failing instead loading another noright styling attempt belongs recipes special skinned allowed phrases sidebar maximum globals example feature summary pageurl notitle charset browser smaller shouldn address enabled limited treated follows between several bgcolor hidexyz version reflect through outputs assumed gathers passing besides complex markups capital usually however padding pmwiki please always noleft starts marked checks simply choose inside change allows begins loaded either easily edited needed number listed second called manner intact tables editer letter nearly french exists having string better looked folder create myskin values useful things insert before sheets images german spaces levels purist writer points margin server client result stored modify effect rframe issues actual f9f9fc border 666666 making skins farmd group tells found first needs names which while array those noxyz doesn above falls using worth steps error based width final finds their 25pct would looks named often pages login refer exact built these split calls might still pairs prior green local colon there blank loads known solid added print block valid urls only then this that even read have into blue site sent like also thus used uses they main such 10px gets each will them been from move next same done both user i18n goes your help note size font what must args made arg1 arg2 arg3 want http line adds meta most body runs root time back once else php see org www but faq 114 tag has try are any its end 2em sdv who yet two key yes 5px was 1px box txt 58 +PmWiki.WikiStyleExamples:1628920394: PmWiki.WikiStyles Cookbook.WikiStylesPlus PmWiki.WikiStyleColors Cookbook.OutlineLists : wikistyleexamples wikistylecolors wikistylesplus likegrapefruit automatically preformatted outlinelists disheartened stylesheets interpreted decoration background predefines recognized predefined linebreaks properties introduced particular attributes interested specifying capability rediguana lovelyred including shortcuts markupend available basically primarily paragraph something preserved specified indention alternate cookbook centered possible combined property extended includes indented outlines addition borrowed assuming padding bgcolor colored through ordered comment styling develop authors aligned another similar appears follows instead applied summary created mystyle further control dotted permit strike middle fourth remark pmwiki though inline ffffcc access border yellow f0f9ff second silver purple entire number blocks simply within custom before normal colour medium having syntax lfloat almost bullet class means using goofy alpha their right roman horiz black there place third level light first signs green happy fifth upset hello apply would occur width 50pct later world cause solid still after links space white frame this text that sort pair item does uris left also work such note even want teal uses host deny gray wide html from fact more blue will grey same what just pink kind meet css has and was etc how are get way see any 5px can non acl now 1px may top 3px dfd ccc you own new fdf far one by ip 10 2 q +PmWiki.Categories:1628920394: Category.Category Category.GroupFooter PmWiki.PageLists PmWiki.BasicVariables Cookbook.SubgroupMarkup Cookbook.Tagger PITS.00447 PmWiki.EditVariables : categorynesting thecorporation inmyfathersden basicvariables shaunofthedead subgroupmarkup simultaneously administrators disambiguation categorygroup distinguished establishment automatically functionality editvariables appropriately corresponding intermediate categorizing associations alphabetized multilingual documentary development monolingual implemented definitions convenience groupheader requirement instruments description outstanding overwritten groupfooter categories multilevel guidelines mycategory consistent meaningful references autocreate individual folksonomy vocabulary usefulness determined themselves containing particular convention repository interested resulting questions potential described generated belonging hierarchy pagelists backlinks referring directive following mentioned necessary excellent discussed similarly displayed reachable activated breakfast whenever override multiple advanced audience keywords cookbook organize fullname thesauri external releases instance managers creating displays features catering requires choosing changing whatever included contains normally shortcut listings existing breaking singular smoothly problems planets mercury linking summary subject medical without because pageurl showing suppose example greater content phrases default musical creates created authors initial setting tweaked another happens enabled special whether depends current getting related shallow however already wikilib schemes finally generic request instant tourism horror adding comedy emerge things listed movies pmwiki coming tagger before single called rankin appear shared placed ignore should groups number levels strict modify cannot noting unless define rather recipe config effect allows prefer reused though quotes change during member people exists plural edited become class click would voila genre which makes those pages films works think drama about terms empty could right might using looks 00447 seems setup these there being saved named since areas added worth title ctime array after wikis recap known falls every that this they code also span just note will idea most like pits find have tags than year 2003 from 2004 site 1986 2788 such step self good thus guts wish both file kind give hard more 5964 into 1985 text deep then done even been your john turn only many want too per put sdv let iso php may fmt but few top isn has new way who by +PmWiki.Contributors:1628920394: PmWiki.PmWiki PmWiki.Uploads PmWiki.Links PmWiki.WikiGroup Cookbook.EmacsPmWikiMode PmWiki.Petko PmWiki.ChangeLog PITS.PITS PmWiki.MailingLists : internationalization editquickreference emacspmwikimode rssfeeddisplay documentation contributions modifications ridderström ianmacgregor contributors mailinglists contributed suggestions redirection attachments improvement development wikistyles commentbox associated blocklist2 wikitrails forgotten wikigroup printable ittermann continued durchholz christian webmaster debugging donations changelog developer apologies cookbook gorichon security floating isabelle research tishmack kowalski tracking mypmwiki personal monetary uploads reports testing general jessica website powered hacking january heinold recipes crisses michaud profile blalock strozzi michael summary joachim checker journal several having images system worked remove anyone seller topped gnuzoo people charts simple markup janice notify rankin claude voting around weiner sanity found petko links while since other after yotov issue skins these fixes davis james early green scott glenn hacks carlo with core 2009 duff name your some pits 2004 been page free http feel have want dawn pmwe jean html pest todo john many left best here that ross and are all php can aka out boa add rev www ye by +Site.UploadQuickReference:1628920394: Site.RecentUploads PmWiki.Uploads Site.UploadQuickReference : uploadquickreference quickreferenceend recentuploads attachlist attachment different extension uploading wikigroup uploaded filename computer nofollow fullname existing correct bgcolor smaller summary padding source simply cccccc browse action within prefer border yellow family exists button newwin pmwiki rfloat scroll 000000 f9f9f9 after arial solid class files press serif pages enter field local above ifend view 12px this down size your edit text font item sans have sure site same disk that make find been once use the for rel can its 1px has +PmWiki.IncludeOtherPages:1628920394: PmWiki.IncludeOtherPages PmWiki.Links PmWiki.WikiGroup PmWiki.PageTextVariables PmWiki.IncludeOtherPages-Talk Cookbook.IncludeSection PmWiki.LayoutVariables Site.PageListTemplates PmWiki.BasicVariables PmWiki.PagelistVariables PmWiki.WikiStyles PmWiki.ConditionalMarkup PmWiki.PageVariables Cookbook.IncludeUrl PmWiki.WikiAdministrator PmWiki.PageLists : enableundefinedtemplatevars enablepagetitlepriority enablerelativepagevars includeotherpages pagelistvariables specialreferences pagetextvariables pagelisttemplates conditionalmarkup wikiadministrator includebasepage layoutvariables includevariable includefullname groupheaderfmt includesection lastmodifiedby basicvariables includeanchors includefailed pagevariables distinguished someotherpage inadvertently installation templatename errormessage templatepage basepagename intermediate includelines transclusion groupfooter maxincludes firstanchor description interpreted recommended unprotected misbehavior includeself information parameters leftborder everything indication particular whitespace containing accessible guarantees templating generating sectionend displaying specifying definition completely directives farmconfig _site_read situations transclude includeptv wikistyles includeurl passwdread fromanchor character currently displayed markupend paragraph preceding available statement otherwise overrides qualified exploited pagelists variable1 variable2 wikipedia wikigroup inclusion sensitive including delimited according resources evaluated processed delimiter specified datapage designed provided footnote versions possible actually multiple retrieve cookbook separate included contents treating optional approach function toanchor supplied somepage therefor myanchor audience strongly sections straight authuser chapters previous contains achieved infinite keywords outlined ivarsend disabled parallel specific slightly intended comment enabled another default allowed viewing appears earlier prevent ifclass between example without instead sourced whether feature setting anymore several assumes context padding testing already purpose address primary treated maximum styling runaway summary similar details creates newline general options closing missing assumed perform complex authors pmwiki useful syntax engine filled values course single target eerily ignore number insert inside proper should bottom simple things mimics server allows places output abcend starts cannot spaces friend append thread visual group1 group2 though entire inline value2 margin enough screen public nopass refers around stuff makes named ifend newer page1 blank doesn eerie about after still below given page4 maybe betas page3 wraps being page2 ptvar links their loops might these where above would exist using seems notes those green which from1 write extra gmane fails from2 58633 focus 58609 15079 15031 horiz apply solid width quote today usage colon issue taken tells whole exact each same this that then item only have talk into nice grab uses your code also 10px what both ones http them used when like they four hide type want acts stop five will work done such next okay look but two are faq and via was 3px 1px 2px 88f how php say xyz its has org web fix to1 isn to2 of eg 34 48 12 +PmWiki.LocalCustomizations:1628920394: PmWiki.GroupCustomizations PmWiki.WikiAdministrator PmWiki.DocumentationIndex PmWiki.Skins PmWiki.Internationalizations PmWiki.CustomMarkup PmWiki.InterMap PmWiki.PmWikiPhilosophy PmWiki.Variables PmWiki.DebugVariables Cookbook.ControllingWebRobots Cookbook.Cookbook PmWiki.BasicVariables PmWiki.PathVariables Cookbook.SQLite Cookbook.CompressedPageStore Cookbook.PerGroupSubDirectories PmWiki.UTF-8 PmWiki.MailingLists PmWiki.Upgrades Site.PageNotFound PmWiki.LocalCustomizations : collaborativemaintenance pergroupsubdirectories internationalizations controllingwebrobots compressedpagestore groupcustomizations localcustomizations documentationindex wikiadministrator retrieveauthpage pmwikiphilosophy recommendations resolvepagename enablestdconfig basicvariables pagecsslistfmt debugvariables installations customisation arachnophilia configuration contexteditor modifications automatically pathvariables authorization alternatively translations pagenotfound custommarkup additionally mailinglists subdirectory defaultgroup include_once requirements instructions recommended script_name myfunction1 pagetextvar request_uri defaultpage information overwritten defaultname myfunction2 pagepathfmt postconfig scriptfile customizes farmconfig urllinkfmt configured openoffice octothorpe enablediag containing temptation definitive recipefile individual decoration explicitly importance guaranteed underline pubdirurl performed functions attribute important mentioned character configphp operating generally different encodings arachnoid scintilla alphabets languages following scripturl cascading otherwise interface siteadmin pipermail describes according including sequences determine extensive startpage something processed inception linktext cookbook specific releases commonly verbatim authuser external problems nofollow commands compared changing writable required fullname included provided whatever condauth existent accessed download displays pmichaud contains defining freeware probably bluefish intermap homepage notepad2 aquamacs upgrades override localcss possible generate platform whenever behavior strongly designed examples directly simplest software benefit scripts perhaps message editing disable setting recipes certain because symbols already wikidir pagevar removed systems freebsd unicode windows instead editors startup without updated caching explode private snippet wikilib posting follows ordered authors precise summary phpinfo comment greatly another respect feature linkalt through linkurl holding actions should folder almost saving allows values before others change addons rename 058905 called effect bottom result search engine beta21 pgcust sample advice define needed sqlite modify resist single xlpage submit adding simply safely output unless create merely 880000 caches effort levels future styles things titles sheets there files above wikis skins these class which false links their avoid clear linux users early begin after given newer below shown color geany needs makes cross might libre built pound apple scite frame items lines first named about blank parts farmd those could error array then take http that them save also html look your into kate just this than plus even hash used want flos byte true core like will next find from type each more come docs copy time done none dark work href bold many they near 2011 must ansi well 1252 same 8859 been have can yes see may utf lot won try hlt way abc 404 faq its www org vim kde bom 100 iso few gnu via h1 h2 h3 h4 h5 50 26 +PmWiki.WikiStyles:1628920394: PmWiki.WikiWord PmWiki.WikiStyleColors PmWiki.BlockMarkup PmWiki.Tables PmWiki.TableDirectives PmWiki.GroupHeaders PmWiki.WikiAdministrator PmWiki.LocalCustomizations PmWiki.CustomWikiStyles Cookbook.OutlineLists PmWiki.BasicEditing PmWiki.LayoutVariables PmWiki.WikiStyleExamples PmWiki.TextFormattingRules PmWiki.ListStyles Cookbook.WikiStylesPlus : localcustomizations textformattingrules wikistyleexamples wikiadministrator customwikistyles wikistylecolors enablehighlight layoutvariables tabledirectives wikistylesplus wikistyleapply specifications hlt_cdn_prefix justification htmlheaderfmt automatically relationship preformatted outlinelists highlighting wikistylecss groupheaders combinations basicediting consectetuer cellspacing blueberries differently immediately definitions occurrences incorporate blockmarkup cellpadding highlightjs knownissues encountered considered correspond identifies predefined identifier attributes beautifier relatively properties styleclass sadipscing background tangerines everything themselves lightgreen additional decoration liststyles recognized stylesheet shortcuts paragraph mentioned shorthand associate modifying lightblue beginning markupend following asterisks otherwise character divisions considers parameter providing knowledge specially accesskey displayed conflicts justified lowercase isenabled propindex specified blooberry cascading directory whichever correctly undefined thumbnail breaking previous floating contents multiple eggplant cookbook contains vertical newlines suffixed centered required supposed wikiword advanced sentence tabtable audience tableend elements reversed includes indented comments wrapping defining instance enabling changing meanings searches warnings readable document jsdelivr percents function commands anything rendered language indexdot specify applied secrets summary follows fuchsia convert control foreach default release library instead letters version printed bgcolor decimal ordered browser current because applies styling however authors becomes between escaped regular defines request treated heading seealso feature another whether handled exactly classes without columns colspan rowspan several written config latest update orange pmwiki blocks cellnr tables script number italic server border values syntax assign reused quotes ddddff dotted images within ffffcc styled allows height change starts adjust affect bottom return weight effect caveat middle normal margin versus listed family target larger anchor global vspace hspace before second either entire ffeeee framed lframe rframe ff7f00 lfloat called rfloat saying sizing window _blank decide should yellow newwin easier maroon purple silver basket always rrggbb apples create common source shared floats aa3333 appear hidden width horiz black isset first makes white roman among right align pages opens alpha links olive often after later since these items solid above loads https signs build meant being boxes third mambo files until lorem ipsum dolor upper elitr using there scope clear valid still place avoid words limes gray sets name sure then easy aqua next same that this teal they note will into like grey some navy only code work does have sort most uses bots view font hide none more many help wide idea good last much bold site thus left such need part copy your even null take nbsp sdva size both want href tags oops from php can 0em 6em pct 2px src 119 org net two via web may hex pub too its has top try img raw rgb 1px put 50 by fn h1 h2 h3 h6 h4 h5 +PmWiki.Tables:1628920394: PmWiki.TableDirectives Cookbook.RowspanInSimpleTables Cookbook.FormattingTables PmWiki.LayoutVariables PmWiki.WikiStyles : simpletabledefaultclassname rowspaninsimpletables cellcellcellcell2 tablecellattrfmt formattingtables layoutvariables tabledirectives enablesortable tablecellcount wikistyleapply configuration possibilities illustration alternately cellpadding huáscarán gunnbjørn background attributes alignments characters geographic wikistyles specifying individual percentage borderless beginning antarctic markupend following dependent greenland argentina described unchanged different aconcagua indicated temperate cookbook headings centered bordered examples contains commands floating tropical audience absolute contents trailing collapse creating advanced multiple elements expected spanning position requires directly standard distance aligned caption headers present columns leading special spacing borders control closing authors placing feature enabled created complex instead delimit ecuador bgcolor browser firefox cayambe highest summary styling display everest readers reorder country begins either pmwiki define margin double escape detail widths middle custom entire around vinson notice yellow tricky placed obtain vsides extend hsides within denote basics before larger useful appear doesn allow horiz rules right these frame lines first helps scale using wraps works cells there other prior while local space start mount below which after south leave added empty types north fjeld small point 120px value nepal used left pipe this that zone 2009 text only 6960 give cols 5790 peru 4892 6768 8848 3700 sets more none col3 40px lots col1 html next just fact size also page have like such they must when how see two are has css nov via php pub etc can don 100 any way may get faq of my 50 66 by td c1 +PmWiki.UpgradingFromPmWiki1:1628920394: PmWiki.WikiAdministrator PmWiki.Upgrades PmWiki.MailingLists PITS.PITS PmWiki.Installation Cookbook.Cookbook PmWiki.InitialSetupTasks PmWiki.LocalCustomizations PmWiki.CustomMarkup PmWiki.WikiWord PITS.NewIssue : upgradingfrompmwiki1 localcustomizations initialsetuptasks wikiadministrator convertv1wikid customisations configuration miscellaneous htmlstylesfmt linkwikiwords compatibility installation apprehension include_once custommarkup mailinglists configuring discontinue directories comfortable furthermore substantial incorrectly suggestions conversion usev1wikid assistance especially background converting standalone altogether experiment available sonstiges highlight bracketed migration directory following scenarios converted questions corrected templates affecting remaining replacing procedure configure important eliminate previous existing changing problems separate somewhat cookbook standard tracking newissue pmichaud redesign compat1x requires anything software location external manually blogspot disabled properly requests probably upgrades approach working created 0beta42 briefly 0beta43 scripts instead running migrate specify improve replace entries defined nothing uploads through example markups editing without between recipes default setting removed summary because risking methods earlier already either before moving listed enable amount yellow system should easier syntax allows errors couple safely format posted backup layout others edited always normal change intact assume likely making appear decide latest needs farmd pages still saved using above after start links below these enter match ahead lines bring wants forms there those begin going users posed works since beta2 noted howto given files carry uedit gives doing being shall over site well them away into step find just your this such will then that 2011 sure many make same have good 0423 pits call path used bulk span else were aren they idea very copy http uses kept home fair been thus meet disk won php isn can add two had was 221 may see has rid fix etc by my 9 6 7 8 5 +PmWiki.LayoutVariables:1628920394: PmWiki.LayoutVariables PmWiki.BasicVariables PmWiki.PageDirectives PmWiki.PageHistory PmWiki.WikiStyles PmWiki.SkinTemplates PmWiki.WikiGroup PmWiki.Questions Cookbook.RecentUploadsLog PmWiki.CustomWikiStyles Cookbook.LocalCSS PmWiki.TableOfContents Cookbook.ToggleNext PmWiki.PathVariables PmWiki.Tables PITS.00638 Cookbook.RowspanInSimpleTables PmWiki.TableDirectives PmWiki.Skins Skins.SkinChange PmWiki.OtherVariables PmWiki.EditVariables : simpletabledefaultclassname enabletableautovaligntop skintemplateincludelevel enablesimpletablerowspan enablepagetitlepriority enablefixedurlredirect draftrecentchangesfmt enableselfwikipagecss rowspaninsimpletables pagenotfoundheaderfmt groupprintfooterfmt groupprintheaderfmt enableautoskinlist togglenextselector recentdraftchanges enablercdiffbytes tablecellalignfmt customizationfile recentuploadslog allrecentchanges enablediffinline tablecellattrfmt tablerowindexmax recentuploadsfmt customwikistyles pageredirectfmt tabledirectives tablerowattrfmt layoutvariables wikipagecssvars enablehighlight tableofcontents includetemplate wikisimpletable groupheaderfmt wikistyleapply wikipagecssfmt groupfooterfmt enablesortable tablecellcount enablepathinfo basicvariables administrators pagedirectives othervariables htmlheaderfmt compatibility farmpubdirurl tablerowcount changesummary corresponding substitutions pathvariables skintemplates htmlfooterfmt automatically htmlstylesfmt editvariables pageskinlist notification installation htmlpnewline highlighting currenttime pagehistory consecutive skinlibdirs replicating differences htmltagattr pagepathfmt pagelogourl highlightjs messagesfmt information interactive maxincludes application alternating encountered fmtpagename specifying background decoration attempting diffmarkup metarobots explicitly attributes containing processing authorlink inclusions skindirurl additional rclinesmax redirected overridden accessible statements predefined filesystem associated actionskin displaying horizontal skinchange paragraphs performing references htmlvspace regardless superseded linebreaks recursion directory otherwise specifies typically searching configure monospace alignment generated accessing questions reporting stdmarkup sitegroup following available wikigroup overrides displayed wikititle primarily markupend processor repeating alternate scripturl continues insertion somewhere microsoft behaviour something expecting webserver described internal localcss basepage patterns disabled shortcut specific uploaded expected cookbook anything editable familiar internet explorer viewable contains unusable replaced browsers fullname textpage included displays separate document maintain elements applying absolute instance multiple settings advanced intended printing defining existent features publicly provides complete entirely function nofollow toggling packages skinname previous personal preceded commonly normally matching handling prevents defaults adjusted switches controls sections example listing respect allowed changed without editing derived visitor firefox removes matches defines similar because between visible despite notably setskin returns correct scripts several issuing require preview graphic becomes globals details partial address program applied mistake maximum keyword styling options meaning browsed classes indexes usually library version noindex headers closing managed another inside sample images drafts pmwiki center column spaces having output allows number within saving engine logged recipe hidden cannot colors string styled rather edited blocks itself levels refers anchor issues reload bottom others appear spacer before stored single sclass github people family beware either window source sanity unique affect second unless value above skins doesn lists array still every which using scope farmd order given three parts first https along words 00638 xmlns rules xhtml holds point sides there empty below grave extra finds would named looks treat adapt newly added stays could saved pmtoc unset plain valid html5 based right edits about times tells check query limit those shows while never after names built code this sent from have more case easy used when 1999 tmpl many then also that will seen keys lots must they same each left want wins such like pits fmtv most what last work uses make lang than font them your size need none send 1000 mode adds near body note type made href icon zero pose dots item date upon tags php img sdv div 9f9 ff9 9em etc rss 404 123 via 200 faq two way may has off ti1 ti2 tr1 tr2 tr3 png www org gif 50 42 dt w3 +PmWiki.BasicVariables:1628920394: PmWiki.BasicVariables PmWiki.AuthoringPhilosophy PmWiki.EditVariables PmWiki.AuthUser PmWiki.Categories PmWiki.WikiFarms PmWiki.WikiGroup PmWiki.GroupCustomizations PmWiki.LocalCustomizations PmWiki.LinkVariables PmWiki.WikiWord PmWiki.MarkupExpressions Cookbook.LimitWikiGroups Site.Search Site.EditForm Site.PageNotFound SiteAdmin.AuthList SiteAdmin.AuthUser SiteAdmin.ApprovedUrls PmWiki.Skins PmWiki.PageVariables Category.PmWikiDeveloper : enablepostauthorrequired enablerelativepagevars localcustomizations groupcustomizations enableredirectquiet authoringphilosophy logoutredirectfmt markupexpressions enablelocalconfig asspacedfunction basenamepatterns nospacewikiwords resolvepagename nolinkwikiwords wikiwordpattern limitwikigroups enablewikiwords enablestdconfig pmwikideveloper functionalities siteadmingroup basicvariables administrative specifications automatically categorygroup authorization pagevariables configuration documentation linkvariables logoutcookies authenticated editvariables enablepgcust representing grouppattern categoryname preformatted cookieprefix redirections applications defaultgroup approvedurls pagenotfound markuptohtml alphanumeric variablename controlling defaultname sessionauth pagepathfmt information defaultpage replacement authorgroup potentially enablewspre underscores regardless containing versionnum authorname categories components processing precedence individual farmconfig completely directives understood identifies discussion myasspaced population accessible determined characters uppercase sequences following beginning different directory wikifarms currently according specified treatment conflicts anomalies groupname sitegroup including isolating configphp sensitive meanwhile prepended september available debugging describes remaining sometimes redirects permalink performed indicates allowing authuser defaults fullname cookbook provided settings releases included replaced homepage intended controls callback displays affected disables behavior outlined followed physical possible addition probably password standard normally editform profiles implicit authlist sections override strftime asterisk previous separate multiple ftimefmt actually comments __file__ features requires entirely confused versions behaves uploads enabled visitor defined notably history leading mygroup actions prevent treated recipes usually greater minimum convert linking results instead scripts configs strings browser message regular reshape produce utility storing 2001040 pmwiki_ startup 2001000 changed earlier spacing similar browsed without summary entered written hyphens invoked removed 2001001 2001027 whether 2001901 2001902 2001918 globals request 2002000 before rfloat number search revert zeroes digits causes beta18 loaded useful padded allows linked inside switch letter target should please locked spaces always trying become called tracks person within authid domain reader exists substr effect unique unless really authpw cannot pages would array based cross lines users value beta2 dates major field skins gives using valid names might below other minor means gmane wikis sites order three avoid these named alter 30037 draft store isset large theme being issue after where rules shown which pause occur doesn links first login prior still such this that must when each your bare will take note wish hash more want also http been same like once look turn part text last 2005 from next than into need work they many md5 tmp see but may etc 900 999 key net off was who via web by 57 09 08 +SiteAdmin.Blocklist-MoinMaster:1628920394: : allow_url_fopen automatically moinmaster badcontent blocklist siteadmin generated download unable action format moinmo edits 30t09 regex this page note 2020 when http lost raw php any may by 19 38 07 be +Ircnow.Goals:1628920394: Freedom.Freedom Freedom.Unix Freedom.Software : unfortunately compatibility confirmations automatically disconnects physically protection competitor altogether understand harassment tunneling technical transform backwards community firewalls sometimes unlimited resistant different computers ecosystem messages received software frequent supports protocol provides snippets religion innocent problems networks bouncers provider multiple language randomly reliable national register services stalking defenses thriving repeated maintain suitable standard existing changing everyone features freedom browser control laptops uniform without nothing serious clients servers average require country attacks popular elegant located quality results simple better ensure social online access ignore intend bypass vhosts ircnow almost mobile handle source modify number upload mature decent inside recent people rather photos videos phones fixing across users press share above major ircv3 buddy lists older their about break audio calls solve wants earth login nerds block today right goals allow build flaws media years skill using these large still globe sadly apps from need spam home fact does unix dead will soon over they code sent huge lost http hard that sync full band file also open bugs easy fast real give make stay must lack plan ddos into aims this turn just care 000 has way 100 any why non don lot its you can but too web 24 90 7 +Irc.RecentChanges:1628920394: : recentchanges federation clients servers bouncer chanop august first guide 2020 jrmu bots edit july 2021 irc may mkf 04 pm 01 13 by 54 03 31 09 22 am 56 08 06 53 19 +Ircnow.Constitution:1628920394: : cryptocurrencies representatives simultaneously qualifications investigation organizations constitution headquarters transactions periodically disqualifies billofrights unreasonable disciplining impeachments bankruptcies proceedings information cryptocoins netizenship compensated ambassadors accusations exclusively organizing overturned candidates collection permission faithfully absolutely throughout determined businesses disorderly determines amendments penalizing attendance committing punishment government republican proportion guaranteed commercial restricted represents distribute confronted registered preserved minutemin committed president condition honorable competing convicted vacancies mentioned different witnesses excluding remaining according establish elections described excessive forbidden necessary proposals financial standards impeached published peaceably equipping involving decreased religious protocols increased invasions software outreach electors congress approval majority petition officers official services recorded policies hardware behavior multiple external regulate salaries suppress required received proposed breaking punished greatest treasury religion requires networks disputes creative involved senators exercise searched deprived personal searches payments verified approved nominate securing probable bounties salaried informed choosing provided inferior admitted spammers defense article raising archive secrecy between supreme request pirates ddosers members servers promote another uniform removed protect appoint serious without limited foreign boycott attacks welfare against compete revolts recruit bribery treason accused authors subject special elected allowed logging chooses purpose needing private minimum consent granted pardons speaker tempore perfect justice liberty created himself certify fulfill execute recover absence smaller freedom however manages support removes becomes policy courts decide number salary except prefer duties cannot during judges quorum needed thirds senate ballot banned unable active called borrow income status forces charge report within unless direct counts before chosen safety abuses social paying begins defend houses simple joined secure result ircnow effect gather months source compel absent listed modify follow judged speech seized common trials danger groups serves powers handed shall votes least their users times fifth trade issue tried those twice given staff chief years agree these using three money cases where deals taken cause price costs every there flees under split train being while fraud among which debts equal place offer meets after voted gifts cruel still about state above crime world repel parts expel jury will they have most deny must been fair fast them this made 4ths from held same back into that make data when only upon code stop 3rds open copy such five fees once what then days veto both chat mail real hold paid also pass gets sole sign plus more fit yet new any may its has was who ask own six vii non try iii by 10 13 2 9 6 +Freedom.RecentChanges:1628920394: : lanofopportunity openforeveryone firstamendment libertyordeath recentchanges serversrights denomination startupdream independence vendorlockin serverrights equalaccess centralized experiment censorship dueprocess federation rulebylaw madeonirc education selfadmin christian opentoall homestead republic freenode february december software bearcode finances religion selfhost freedom quality license january network privacy militia destiny october august source refuge checks april union march press 2020 jrmu 2021 july unix fork june may wiz 10 13 09 49 52 06 48 23 01 25 14 12 46 03 pm 26 24 07 19 31 27 55 04 18 28 05 47 45 11 08 43 42 44 35 17 29 39 33 16 22 +License.RecentChanges:1628920394: : discriminatory recentchanges publicdomain miniontoby february license ircnow april march 2021 jrmu 19 45 am 09 04 10 12 06 15 00 14 +Debate.RecentChanges:1628920394: : controlcomputer microsoftdanger category_mirror wikipediadanger firstamendment unixphilosophy facebookdanger monopolydanger mozilladanger accessibility youtubedanger recentchanges ethicalflaws searchsocial outreachkids debiandanger ircv3defense googledanger appledanger matrixflaws oldsoftware slackdanger nodejstrap freespeech zncdefense hyperlinks dogfooding uberdanger zoomdanger hatespeech linuxflaws wikistyle september providers december partners zncflaws february xmlflaws openweb january privacy mistera whynotc debate making august bncnow python monero webirc ipsec march 2021 2020 jrmu june july whyc cash mkf dcc 03 16 29 pm 08 by 56 26 06 18 54 27 43 05 10 01 07 11 04 36 15 48 14 45 25 35 12 00 39 13 31 09 49 51 59 57 +Debate.Ircv3defense:1628920394: Debate.OpensoftwareStart : opensoftwarestart specifications confirmations compatibility standardized registration ircv3defense transparent disconnects independent maintaining connections resubmitted elaboration proprietary possibility considered interested background understand frequently supposedly addressing networking incredibly deployable statement community recipient ecosystem processes interface available delivered tunneling integrate committed firewalls backwards necessary existing invented snippets provides messages networks facebook similiar capacity official repeated features properly improved relaying requires changing protocol supports browser without clients outside servers however minutes channel discord because authors writing aspects dialing monitor perhaps uploads session bouncer exactly created average grounds fixable include phones ircnow github likely bypass cannot number mobile please photos simple mature videos handle issues public debate beyond source better reason though beings fixing device people needed still often audio meant calls which wants human might https lists share these their scope today while watch buddy could after apple slack users globe large shuts first since flaws jitsi major free chat your does meet code good apps band file easy only that used much pull what then 1988 team lost 2019 true hard echo sync also make this when over home down from love plan join huge ircs post hasn next into 341 isp 276 non 346 wip gui for 100 any way web why 000 but was did org 95 +Bouncer.RecentChanges:1628920394: : irccloudandroid recentchanges revolutionirc ircforandroid irccloudios irccloudweb thunderbird xchatazure simpleirc september noxturnix november december limechat turboirc androirc bouncer icechat kiwiirc hexchat weechat quassel textual removed spacing august vision winirc adiirc atomic pidgin mibbit adium irssi kvirc added igloo yaaic smuxi ircex jrmu 2020 2021 mirc home july page june mkf all znc may by 06 pm 54 03 23 am 12 17 16 10 56 45 41 25 36 52 26 09 32 31 00 19 13 15 14 11 24 47 35 34 27 33 43 39 42 53 22 04 58 37 08 59 07 +Lemon.Lemon:1628920394: Lemon.Todo : 0x7303a746e98626e7c82b133625eca7a4aff8fb8b 1jay2v7rnfndqmttf6iqk1kcsrsfrr1uoh ωєℓ¢σмє administrators documentations configuration collaborative registration ιя¢ησω willingness effectively chewbakka85 application connections ℓємση federation experiment appreciate interested successful maintained connected governing favourite donations upgrading resources available currently community languages unlimited volunteer supported innovate services friendly changing unstable platform networks protocol provided features software favorite donorbox together thriving etherium feedback remember multiple spending windows channel located bouncer servers shortly contact android members openbsd welcome details without consist quality english totally include bitcoin improve develop devices request benefit ircnow kindly mobile access famous client number dennis donate create useful better crypto wallet bahasa melayu making easier assist please guided unites common system their lemon σяg linux staff speak agree terms added again great which ready https build today keeps wants topic chats group users truly learn have this free well team type name that your help time they york goal self also them make real thru used »» more text here todo part list logo once good from тσ live than upon easy sign can run org how fun ios mac may new who quo say ask any nix not usa fan oz by if 15 +Shell.Applications:1628920394: : applications preinstalled wkhtmltopdf imagemagick simpletable pkglocatedb bitmapfont 20150318p1 libchewing subversion coreutils djvulibre fetchmail geomyidae mercurial arphicttf multitail libpinyin profanity newsboat antiword docx2txt xlsx2csv 20171227 software sortable 9100hp2 openjp2 gettext runtime hicolor jbigkit jsoncpp 9rel1p0 mariadb nghttp2 toolkit mcabber desktop sqlite3 account weechat screen giflib alpine no_x11 common figlet pixbuf zenhei python update 21p7v0 border jasper ledger ngircd quirks client shared server aspell argon2 width rsync boost anthy bzip2 irssi icu4c rhash theme fonts shell class fftw3 cache cmake groff gnupg gmake glib2 elvis emacs 09p20 links cvsps cyrus boehm unzip lcms2 comes pcre nano slrn 12p0 23p3 tcsh 10p5 sasl 00p1 tiff jpeg tree 77p2 bash icon info curl 03p0 lynx oath 41p2 20v1 that 16p1 sacc node pico 1p10 15p0 mime 31p1 mutt 37p0 05p2 with 11p4 26p3 27p6 24p0 your gawk wget 21p3 file 2061 27p1 zstd 0p12 png 3v0 pip znc 0p3 py3 2v3 0p2 6p0 wqy 0p4 nvi 3p2 2p1 lz4 p11 4p2 php 9p0 apr 7p3 gtk 3p8 w3m 2p2 3p1 got vim 5p1 sic 0p0 182 fdm 8p0 uim 0p7 trn git gdk 25 39 62 zh 60 xz 19 kc 29 34 gc ii 38 64 66 14 jq +Ircnow.Contact:1628920394: Ircnow.Servers Irc.Guide : organization plaintext applying customer contact support servers network ircnow please course client profit number admin guide phone email abuse title reach 6667 2063 join 6697 over full list team view have best 458 888 the way you don for and not ssl if 1 +Grape.RecentChanges:1628920394: : recentchanges september minetest donateus baytuch january august grape guide tasks 2020 fizi 2021 june jrmu todo 08 by 06 42 am 41 03 30 16 05 39 01 pm 07 52 11 +Orange.RecentChanges:1628920394: : recentchanges miniontoby september expanded january correct orange august notes dutch 2021 2020 todo page jrmu gry 08 29 pm 11 at 10 27 03 38 am 30 07 17 nl id 43 09 ru 31 51 +OpenbsdNet.RecentChanges:1628920394: : recentchanges openbsdnet august ipv6 2020 jrmu 10 at 11 49 am by +Openbsd.Acme-client:1628920394: Openbsd.Openhttpd Openbsd.Nsd : vxsjmodzoezxwiuyq9bz6jqgorrruak8zq3ob mylklrpxtvdyitbddybky7m 0jyqibr0nog8uxnj0udl troubleshooting certification verification certificate letsencrypt recommended alternative directories permissions generating 3674632835 successful 2815341474 configured generated dochngreq directory fullchain following redirects tls_close openhttpd authority typically challenge properly initiate firewall examples 81817869 finalize outcomes suffixed hostname confused services template account folders browser working running private follows replace comment process connect servers privkey without easiest trusted created request domains openbsd staging provide daemon htdocs notify client errors output common visits change status result option signed issues secure having token would names ascii https drwxr cause click order under 1tuxq wheel cache total authz block seems again howto first check acme will root port 3272 need text your file doas past have line that find copy 3937 didn here sure grep make move into must logs the 248 www v02 api eof url set var mar 172 org own don uri pem etc 512 dns yet web for nsd may ssl and oct bin few now cgi rsa any 65 v3 by up 06 03 29 00 be fv 16 11 05 22 cp so 80 +Openbsd.Police:1628920394: : completelyrandomcloudexample genericregistrarexample ctcp_userinfo_reply ctcp_version_reply autorenewperiod orgabusehandle orgtechhandle orgabuseemail orgabusephone identifiable registration orgtechphone orgtechemail conversation orgabusename organization orgnochandle d1234567890 orgtechname information orgnocemail orgabuseref screenshots orgnocphone registrant disruption orgtechref collecting postalcode expiration infiltrate lno1234567 interested javascript understand passionate las1234567 associated creativity additional operations orgnocname everything connecting registered inaccuracy background personally disposable particular afterwards realistic providers confusion criminals something committed authority stateprov effective attention recommend ln1234567 reporting education suspended important orgnocref nicknames addresses therefore sometimes translate real_name complaint netsplits user_name registry purposes reported evidence accounts bouncers document physical language networks unsigned spamming anything phishing customer printcmd software whatever allowing chatting stealing channels normally question business research feedback province torsocks username possible realname websites preserve creation database noscript reseller dialect someone biggest updated welcome support hosting logging comment however regdate noerror friends clearly proving written grammar section command options servers suppose careful control english clients malware contact daemons country because domains pkg_add umatrix browser autolog besides setting nowhere reasons attacks perhaps disable openbsd offline tickets finally joining company illegal further looking reports suggest contain orgname hobbies willing realize respond global hacker source entity joined before around hosted header should answer notify closes guilty turned status within opcode number botnet inside figure emails expiry dnssec police gather videos useful subtle follow engine things spying unable unless moment double credit stolen reveal crimes enable admins safety strike danger social little verify causes change filing google taking formal ircnow first shell query their icann https about learn tells whois enjoy orgid doing irssi flags check visit still shady while trust until thief lying think order 06t00 15t05 fraud using 39025 start takes share build helps rcctl needs doesn being right comes speak vhost linod avoid calls proof these hosts lno21 basic twice users spent break media rules birth never hours 86400 brain clues filed weeks might found wrong 07t13 spell slang based ahead ircds save took your most that down over else last then bots mask this much made live find went once want case like from team show 8900 arin they have rdap them logs make sure more 6039 owns arpa know 4943 msec sent when 2020 size rcvd used word must just many free 2019 2008 city send feel shut tmux doas tool fill iana 2021 2018 home pick runs mirc card ddos type page wicf stop talk lots hubs hide fun vps ptr fit old few bad may get 168 got 127 192 thu dig etc don but msg 12z him 36z ltd epp via www url law was ns1 ns2 has 58z cld why won 295 300 by 61 04 41 28 57 22 qr 53 24 p2 80 55 14 +Openbsd.Dns:1628920394: Openbsd.IPv4 Openbsd.Ipv6 CloudFlare.Cons Dns.Domain Dns.Zonefile Dns.Providers Dns.Records Openbsd.Nsd Openbsd.Vhost Openbsd.Dig Openbsd.Host Openbsd.Unbound : coolchatclub astronomical registration information distributed nameservers represented cloudflare purchasing subdomains resolution convention addresses hostnames registrar somewhere recommend delegated elsewhere practical providers authority resilient computers resolver networks zonefile requests services possible register internet username referred workload anything multiple millions probably designed contains remember purchase memorize instead openbsd example because records specify usually imagine storage offline working perform achieve browser process control unbound however queries someone setting another billion entire ircnow within system shares create second number unless single depend center charge should called laptop period client actual global robust across typing spread easier makes level which scale would panel after offer forth 20usd owner might zones these title tries knows phone files given needs vhost there could human means using comes every their about your cons also ipv6 data take free base this that look upon want into part like will find tlds such root ipv4 next just have when then from over able mail glue were once many stop more team size them they year only went nsd dns can dig org and ns1 ns2 web see let fee www was pay 192 168 ips too far isp run don non go by +Openbsd.Ping:1628920394: : misconfiguration troubleshooting investigation milliseconds investigated abbreviated transmitted statistics altogether networking equipment continent somewhere important sometimes specific arriving internet icmp_seq anything protocol received messages hardware problems somewhat limiting disabled firewall hostname suffers address packets careful perhaps average results because 2669400 require 2779223 example helpful latency however control getting openbsd command roughly ideally further issues should ircnow option 535545 broken around either server client faulty proper device reply takes title using 300ms block rules ping6 check wrong there still laggy feels quite above 200ms 100ms under 600ms force bytes press ipv6 then very also from high ipv4 both need test when with loss have same were fake sent data find send bind that abcd 5678 1234 trip will this case once your less ctrl rate tool done uses than org std 141 209 510 avg 548 173 687 max 244 min ttl may 958 801 251 636 but run 211 has can 236 252 249 526 250 248 230 836 264 174 out 550 see 227 869 39 of +Openbsd.Netcat:1628920394: Openbsd.Mailopenproxy : troubleshooting mailopenproxy specifically successfully destination configured 1597224404 networking 1597224116 connecting connection afterwards establish recipient opensmtpd displayed debugging something correctly extremely following succeeded complete delivery hostname e57f9a36 identify properly accepted followed nickserv password sysadmin networks diagnose valuable address seconds newnick privmsg example channel message showing newuser sending process pleased foxtrot writing openbsd servers charlie subject because attempt replies warning ircnow should either signon record netcat entire errors relays simple letter domain appear itself client enter hello whois valid alpha shows delta vhost hotel check bravo modes esmtp world using email above title other knife 12345 gline often which means drone swiss reply motd 2001 b8fa 6667 then 9812 like 2562 will ipv6 root jrmu rcpt bind type your from f8fb 0db8 golf ping such pong with data ever idle this quit helo test look next just ctrl here time list join part meet echo when 3a85 11eb 2f18 f117 done rdns help tool that nice aaaa case code army 163 org and 220 web for can day 250 see any bye 221 143 are 354 not 396 311 312 378 318 379 317 has mom 38 b4 nc 86 up +Openbsd.Nsd:1628920394: Openbsd.Delphinusdnsd Openbsd.Tcpip Openbsd.IPv4 Openbsd.IPv6 Openbsd.Dns Openbsd.Resourcerecords Openbsd.Dnszones Openbsd.Sockets Openbsd.Ifconfig Openbsd.Hostnameif0 Openbsd.Buyvm Openbsd.Vmminstall Openbsd.Domains Openbsd.Host Openbsd.Dig Openbsd.FQDN : resourcerecords troubleshooting configuration understanding delphinusdnsd disadvantages authoritative introduction installation hostnameif0 explanation configuring nameserver registered substitute vmminstall networking configured addressing foreground 2021020301 yyyymmddnn uncomment checkzone encounter transfers subdomain elsewhere checkconf addresses authority confirmed interface interpret standards correctly verbosity difficult specified necessary sections warnings database username delegate dnszones normally zonefile internet ifconfig sysadmin requires specific whenever compared openbsd example control aliases results getting defined helpful service assumes quickly provide domains simpler specify servers refresh audited minimum sockets disable logfile outside version message suppose through deleted invalid perhaps further refuses binding master ircnow serial expire syntax please proper failed points system should notify errors forgot origin enable finish remote forget guides charge always change public return before notice output buyvm write works found above denic exist might fruit could 93210 using 32265 tools again start rcctl https these which query first 37575 there retry 86400 tcpip quits title nokey blank basic allow slave every files pages least leave comes about after aaaa your want doas 3600 mail real 2001 also test read ipv6 done logs drop this imap step view will need news that smtp with good have fqdn _nsd hide line once note move edit case look only ipv4 5678 into does info just port like part team than such more fork nast same sure 1800 both glue make etc man 198 var 921 any had 261 dig www see tip 898 yes run can 100 ttl has db8 ns1 ns2 soa how was off ask 192 xfr own 51 34 we 33 mx 07 31 43 50 by 14 49 53 +Openbsd.Unbound:1628920394: Openbsd.Znc : queryselectorall configuration intercepting nameservers originates aggressive everything javascript childnodes forwarding interface localhost generated regularly providing addresses available listening configure innertext innerhtml something specified segfaults commented outgoing computer spoofing randomly identity multiple resolver internal override dhclient indicate priority provided redirect document hostname section unbound running contain working problem instead network openbsd opennic another machine causing example include invalid enabled records control counter queries locally foreach caching srvlist command console browser quickly however default version access 604800 should refuse update button dnssec change safely nobody window google lookup secure ignore domain inside blocks option anchor remote sample except answer faster static public master giving bottom frame users allow check ipsec these lines trust hosts there https again start ipv6s rcctl tells which files title dhcpd comes ipv4s entry clear 10800 stale first zones store found click about cache cause make sure kept your also that 2001 will want logs this from age0 data port bind then used they view edit send aaaa doas have turn runs both nsec root auto part need base 3600 1200 sock uses hide test like well more find tail does 185 znc 101 175 112 183 etc 170 old 244 ip6 248 163 103 236 162 119 192 may 171 251 118 254 115 208 var web can key are div 142 217 172 see 127 dig top 141 don 193 111 got org yet get off 237 any yes db8 soa 117 168 132 165 227 vps set 144 169 154 212 86 29 by be 53 43 40 45 98 46 87 67 64 39 35 89 31 99 +Openbsd.Anycast:1628920394: : instructions anycast_vps anycasting connection configure addresses different currently customers provided hostname provides reducing connects whenever purchase provider multiple closest latency centers benefit servers openbsd request suppose network ircnow follow charge inside normal should allows share first buyvm https which three alias those will then wiki data doku free inet here they make have them with that your uses this user sure same each from if0 put etc for 192 255 and php set vms him by of 10 3 +Openbsd.Tcpdump:1628920394: Openbsd.RSTFlood Openbsd.SYNFlood Openbsd.SYNACKFlood : danielmiessler dramatically troubleshoot synackflood destination parentheses specifying yyyymmddss collection convenient networking permission processed malicious recommend including portrange interface different protocols sensitive wireshark filtering utilities hostname synflood tcpflags standard simplest enormous grouping rstflood keywords problems requires external example traffic tcpdump packets logging certain subnets because verbose include service ability english combine openbsd quickly involve adapted content without finding replace easily option syntax format lookup output coming headed ranges serial number speeds normal should basics server source choose always first https shows bytes ports reset going ascii links using study power guide which title users files month input often doing avoid only doas pcap this will here have into that unix vio0 then data like when from icmp 7000 note used root 6667 year view time also lies ctrl evil type 1500 live much more read than stop very logs tool was can you see man run org ip6 128 udp day irc bit 192 add 168 172 src dst ttl get tos but 13 18 10 22 24 +Openbsd.Ddos:1628920394: Openbsd.SSDP Openbsd.ACKFlood Openbsd.Tcpresetflood Openbsd.Cu Openbsd.Vmmuser Openbsd.Buyvm Openbsd.Tcpdump Openbsd.Scp Openbsd.Sftp Openbsd.SYNFlood Openbsd.HTTPFlood Openbsd.NTPAmplification Openbsd.UDPFlood Openbsd.RSTFlood Openbsd.Police : ntpamplification troubleshooting thekingofbandit tcpresetflood disconnecting investigation inexplicable corporations universities limitations connections certificate identifying simpletable description yyyymmddss determined nationchat responsive iulian7502 electronic networking protection identified confirming collection completely responding cloudflare conversion competitor filtering interface attackers necessary anonymity bandwidth different criminals forensics attacking providers continues reporting interrupt depending specifies certainly desirenet decreases bystander analyzing sometimes httpflood resources addresses financial universal solutions requests arriving physical slightly ackflood attacked sluggish filtered millions udpflood rstflood timeouts hostname receives purchase argument although machines insecure sortable evidence transfer computer innocent starting synflood messages blocking quakenet hardware internet software targeted specific flooding firewall incoming voxility defenses entirely provides lucifer_ s_client analyzes soportes suddenly packets mangled channel openbsd depeche useless contact tcpdump proxies vmmuser counter console attacks traffic openssl seconds tricked daemons another flooded devices johnreb ircuser unknwon suspect because quickly command amplify replace logging reached maximum diverse failure further 500gbps sustain verbose offline process hundred forever acquire cheaper perhaps massive service however clogged servers example desktop happens hosting options noticed encrypt serial ircnow border number random prints actual system itself should during wastes issues rather unable errors common avoids within nature useful either output enough result cannot single strong sooner closed public stolen semut_ accept katrok police detect reason issued afford larger forced origin motive insult unique ddoser ramadi fatfem behind please buyvm being using ports certs https ascii there above known month spend where fails first check bytes users abuse their often point still alone might about spoof guide hints money which blame under class route clues shows catch makes later sends title freak quits starr types input could elafi fruit usage acxjz aejva ssdp pcap stop fake sign will more this than real same your 1500 doas once them many vio0 that loss junk from pipe full read mind also gisa took keep fat1 into have need file ipv6 very logs lots home ping mask plum jrmu upnp true play plug were then much just like wise upon must only risk ctrl when hung bnc1 feel onto adx0 sftp year tune fine been smtp sure cost both long take null mock rate team save org dal lu2 dns see edu ips cpt but eof 100 scp who hit fig may iot due why 172 248 443 few run cpu try vnc low him day 36 45 12 35 52 32 34 07 51 31 23 29 38 19 65 42 30 +Openbsd.Opensmtpd:1628920394: Opensmtpd.Configure Openbsd.Dovecot Openbsd.Dkimproxy Openbsd.Mailopenproxy : h5itbhzs73t4jshaj9yx6tf63yrataqugbxocx67wyekhch4zqiod6lkh userdb_quota_rule 83bd6b3b1669649f misconfiguration a8d16cd2144222fa troubleshooting check_spammers authenticated dkimproxy_out mailopenproxy check_fcrdns alphanumeric inconsistent credentials independent permissions mtaproxy511 temporarily information check_rdns additional abnormally california relay_dkim connection postmaster reputation characters historical connected mtaproxy2 sometimes mtaproxy1 whitelist localhost following opensmtpd firewalls fullchain listeners sunnyvale assurance separated temporary configure passwords exploited addresses available including disabling username enabling checkout newlines _dovecot messages example1 mailname filtered outgoing hostname digicert ifconfig yahoodns starttls virtuals 00000003 starting hundreds redirect delivery tempfail purposes response receives provider possible s_client managed domains folders maildir useradd senders similar aliases storage nologin contain packets warning require returns nothing maillog express happens specify openssl limited openbsd special offline signing smtpctl encrypt symptom dropped because suppose showing timeout section blocked working pkg_add install deleted private version consult letter answer cvsweb blocks hashes socket inside trying passwd reason unable errors action ircnow adding bottom create sample proper _smtpd should marked server victim source result please tables having verify entire exited egress extras tagged single spool depth point reply comes known hosts chown setup issue chmod using queue being ready esmtp match vmail these fruit phase colon admin tries child files route attic users state often 10028 rcctl https there based steps evpid 10027 email blank 39035 16h2s delay store guide which mta6 mta7 easy lmtp test your port mta5 like from rcpt junk doas stop kept page this will note s843 free been date have says that when bind many mask pony lost ipv4 2001 must vio0 make sure mean html want with ipv6 root high also sha2 else good hang plus oath used goes pop3 imap look take 1000 jrmu into safe sbin only each null see etc org src var pki 168 net dev 250 587 due too fix and may dec 192 via pem one 127 cgi db8 jan two rev faq 451 650 www am0 lo0 get 15s 195 204 vip 104 ne1 but way can bf1 gq1 vps 220 228 106 are 395 key 47 55 33 mx by 77 29 my 17 2b rx 1g +Openbsd.Ngircd:1628920394: Openbsd.Netcat Password.Management Openbsd.Chroot Rcctl.Rcctl Ngircd.Ssl Ngircd.Link Anope.Install Achurch.Install Hopm.Install Acopm.Install : abcdefghijklmnopqrstuvwxyz noticebeforeregistration maxconnectionsip defaultusermodes requireauthping operchanpautoop allowremoteoper troubleshooting cloakhostmodex syslogfacility implementation configuration alternatively documentation cloakhostsalt maxnicklength installation eavesdropper authenticate pingtimeout necessarily information maxlistsize description lightweight pongtimeout infrigement configuring disconnect impossible compromise eventually harassment customized admininfo1 absolutely admininfo2 censorship nullrouted restarting advantages generation minimalist production adminemail management unfiltered connecting maintained understand sensitive uncomment reloading replacing developer including commented different addresses localhost promotion necessary copyright plaintext configure otherwise firewalls identical chrootdir debugging passwords listening receiving suggested invisible security software accepted rejected hostmask operator username comments redirect sysadmin includes appoints training standard channels maxjoins probably motdfile cracking gambling violence settings hostname stalking straight anywhere messages location controls template features examples intended remember provided services packages upgraded spammers official chatting portable actively existing network hosting another written filters prevent content reasons warning section contact careful openbsd appears scratch compile coconut privacy mistake achurch illegal slander heavily listing options servers monitor besides command outside ignored symlink pkg_add without _ngircd differs working however correct syslogd running support directs daemons nowhere errors inside system ircnow client please policy netcat create enable insert verify secure ensure unique string random simple source barton single global ddosed modern public reduce manual remove planet sample domain match these https ports going fruit avoid three order crash using block until while files check users leave below lines earth rcctl share their exact pkill every keeps those means touch begin opers after trust hangs being evade staff chown anope libel which paste drugs setup speak terms mkdir index acopm proxy agree fewer 16667 pages short vhost above aware needs title build guide clean team your from else note read next doas xvzf will that sets this logs edit like into make does have want must more long test also 1000 7000 6669 many when nsfw ipv4 ipv6 such fork only easy code jrmu sent 6668 6666 porn stop free runs hopm 6665 6664 6663 6662 6661 6660 help well wiki each send 2001 both lead one has ftp usr can new see tgz php try ssl org may was var hup don v26 get ips 168 db8 127 192 yes let day 300 ux by ln cp +Bouncer.TurboIRC:1628920394: Freedom.Freedom : proprietary screwdriver id978108367 serverlist abcde12345 connecting connected supported password consider username turboirc software servers2 address network details example bouncer message minutes freedom appears protect corner attach should ircnow client source wrench saying using apple https title right open icon does nick your edit then john next fill done left type wait apps with 1337 want home look like tap top png org see and znc not yet few com opt for new ssl be if +Openbsd.Psybnc:1628920394: Openbsd.Rcd : interacting hostallows addnetwork addserver different specific identify nickserv nickname libcares download possible password defaults openbsd crashes example connect useradd attempt command careful startup adduser install privmsg pkg_add system psybnc entry0 ircnow fields filled checks change figure create 4beta2 inside login build quote could hello world host2 21314 port2 query port1 every host1 main jrmu time conf send just made each doas home then ipv6 ipv4 6697 6667 http when wish make must with ksh bin for ssl run rcd uid see you may new zxf www raw ftp out how not org to dk gz so su +Openbsd.Hopm:1628920394: Openbsd.Doas : troubleshooting configuration reconnecting issuecomment installation connections adjustments interfacing jk_chrootsh installing foreground background especially downloaded particular configured workaround decompress requisites usefulness instructed favourite questions directory instances reference recommend compiling encodings necessary extracted 301276082 typically indicated trialling properly mistakes compared username password previous hostname warnings brackets majority navigate fullname familiar releases executed required defaults initial coconut adduser writing nologin testing reading disable getting another goodbye package specify refused correct running pkg_add ideally pulling assumed tarball openbsd missing section archive unbound network however within second asking latest issues hybrid github failed before silent tricky server ngircd invite needed option daemon groups authpf pbuild create ircnow shells master passwd editor listen system trying chance syntax enable errors record readme either logins result class phase which added first gmake after https hints would debug files there right 65532 stops enter input later 23t09 about worry check cover where times guest staff this hopm when doku page your text case doas unix copy aren come will from into home line then that ipv6 mode 2021 many 0600 tips some blob were also does aaaa suit true save exit want wget grab know must nano have bgpd 1002 skel sbin bash path fine etc see let org don ksh was can znc but its may uid and csh via php ran due dos won few vim zxf gid my 22 of gz cp kb 14 59 +Openbsd.Dmarc:1628920394: : enhancedstatuscodes unlocktheinbox dkimvalidator managedomains disposition destination postmaster deployment samplemail googleapps localhost autoreply resources dmarctest recipient opensmtpd 36700160 verifier mailtest 8bitmime sendmail multirbl accepted delivery 66f4c965 example foxtrot message charset content version openbsd subject charlie toolbox checkmx pleased address ircnow inside tester server itself inline port25 plain esmtp enter hello ascii bravo alpha delta https works tools dnswl valli meet size help data quit rcpt with from ehlo that echo auth text type org for 250 354 com 221 www bye 220 you ok tv +Openbsd.Opensmtpd-2:1628920394: : hd17xlkub4doe3bjvn4v1uyvf3 tldqbkvdtccbdta1a6nzna1zue _rc_write_runfile _rc_parse_conf configuration authorization check_fcrdns smtpd_flags configuring check_rdns additional hostmaster relay_dkim _rc_quirks considered local_mail opensmtpd describes operation dkimproxy mailboxes ircnowguy following therefore restrict possible endpoint contents contains creating creation services security rc_check document _rc_wait rc_start includes standard accounts receive mailman example without allowed replace domains dovecot require connect created aliases message private virtual default process openbsd action listen filter passwd vusers server system egress access option remote doing match spool touch chmod hosts 10028 which using empty grape phase regex 10027 abuse admin files table other rcctl first stop used from case must lmtp root rcpt doas this need fill them data step junk will mask port cert also size only next mbox part etc 640 you com pki are var our ssl any pem lo0 tag src tls 127 org 587 but let key max of ok rm 09 2b 5m 25 +Debate.Webirc:1628920394: : encountering misfortune browsers internet explorer graphics handles android backend webchat nothing windows ancient because regular client stupid single market actual phones decade server reason simple itself webirc script debate should sense slick brain write every jrmu does that make more than work form with have want just will what text file then this real cgi 100 but all old bnc of 05 15 04 if 98 02 to 6 +Pear.RecentChanges:1628920394: : recentchanges january dennis pear jrmu 2021 todo by pm 09 06 at 01 05 29 +Stopm.Stopm:1628920394: Openbsd.Rbldns Openbsd.Acopm : authentication fingerprinting inexperienced unfortunately automatically holistically unregistered authenticate fingerprints residential statistical blacklisted combination probability intelligent introducing intuitively unrealircd configured needlessly accidental motivation completely determined administer reputation permission filtering customize chanmodes delayjoin operators different confusing attackers permitted innocent flooding requires inspircd settings memorize assigned recently requests elitists channels fighting networks simosnap noinvite identify examples sculptor services freenode severely chatting bouncers realname prevents username outright problems consider possible designed properly platform struggle unusual kicking purpose defeats reduces believe allowed someone privacy monitor default because connect chanops complex message endless install attempt whether hundred evasion respond dealing combine openbsd address minimal manuals reading without joining updated enabled another banning happens proxies closing ranging factors average express cherryh present forcing notice limits placed person forced server delays almost normal highly access ircnow banned caused speaks before entire social system easily statue clumsy client policy higher shaped behind lookup appear rbldns series ulines exempt nokick people forces should public admins stopm proxy based scans acopm which flags users solve needs build score badly opers until their guess might scale carve rough block basis daily being lined iline error today first often range makes every check also this rdns here ways http spam from that they done sasl smtp must have ends good port does hard will isps ctcp come vpns quit were only over just days 0000 bans lots mirc want aren gave link than fork fair more been how our own and who has non bot won via too you new try may ips znc few ago did but by 16 95 10 45 50 +Mango.Mango:1628920394: Mango.Todo : 0x7303a746e98626e7c82b133625eca7a4aff8fb8b 1jay2v7rnfndqmttf6iqk1kcsrsfrr1uoh ℓσ¢υѕтℓσя∂ ѕιℓєη¢є щσᄂᄃөmσ documentations administrators вαутυ¢н collaborative configuration registration iяᄃпөщ connections effectively application appreciate successful interested experiment federation maintained unlimited resources connected community donations currently supported available languages governing upgrading volunteer features services innovate feedback software favorite friendly together unstable platform provided protocol etherium thriving multiple remember spending networks donorbox mλпgө changing members bouncer request channel servers contact android openbsd windows improve details consist without devices english include bitcoin quality benefit totally located shortly welcome develop number access client unites ircnow donate ηιχ system melayu bahasa wallet crypto making useful easier common assist please kindly famous mobile better create guided truly mango great again linux users https topic agree learn terms staff which ready added group chats their build today gяу keeps wants speak өяg logo time real they that team well will ƭө part free name todo text list your have self them help goal thru »» more also make used here good sign this from than easy upon once type live york may how new run org mac can usa ios not who σz say ask any fun 20 if by +Third.RecentChanges:1628920394: : recentchanges directory december november basilisk catalog third march dillo devs jrmu 2020 2021 01 49 am by 41 11 23 07 52 pm 19 38 27 35 +Openbsd.Passwords:1628920394: : alphanumeric overwrites management afterwards functions generates alnumpass passwords critical encrypts sysadmin savepass through openbsd urandom profile newpass openssl getpass command allpass append length source title pages these first lines chars takes then your them less home with fold type four head role help for out any asc use can aes 256 cbc dev 127 jot cat to 80 33 rm tr dc za is z0 9 +Jujube.Jujube:1628920394: Jujube.Todo : administrators documentation collaborative configuration registration effectively connections application successful interested federation experiment maintained connected available volunteer sysadmins favourite supported unlimited currently governing community languages feedback together innovate services software platform multiple networks provided favorite remember features friendly unstable changing consists protocol thriving contact located bangcat windows channel develop improve android openbsd servers without request details totally bouncer members benefit welcome include turkish punjabi english devices quality shortly jujube client number access ircnow mobile signup famous please easier useful making source common unites system assist leader kindly zindan better guided create users their terms 16667 agree added linux email build wants learn truly staff which 16697 keeps speak ports topic group today again chats ready vegas great your 7000 than more 6669 text 6668 6661 will real well time have that name self 6660 6662 free 6663 6664 9999 6665 team 6666 part make fizi easy also help todo this from live list goal urdu good them type upon once used pear fun run who how new may any org ios mac las usa can say non ssl not ask if 15 by +Openbsd.Buyvm:1628920394: Openbsd.Botnow Openbsd.Dns Openbsd.Vhost Openbsd.Staticnet Openbsd.Install68 : automatically alternatively installation instructions nameservers information configuring corruption networking configured absolutely delegation addresses install68 necessary partition dedicated upgrading staticnet rebooting delegated teammates operating multiple hundreds shutdown remember filtered settings hostname spinning generate bootable hardware software ethernet properly manually password backdoor probably username damaging internal graceful openbsd entries changes console nexthop gateway scripts records subnets virtual volumes matches default without needing buttons because browser instead patches restart contain mounted happens running offline suspect advance warning delete public assign attach stable status ddosed please vhosts enable forced routed should virtio botnow follow values result unless device double driver booted system before notify either better search recent ircnow bottom inside manage upload order panel apply error avoid using files reset click power after check while about enter given later doesn first begin these right state title buyvm share users allow model fruit guide quick https rdns gear make icon then sure note disk size will they copy what most main ipv4 this save also your ipv6 very more want qemu else time case doas must cpus ctrl from data that only have lose when read aaaa each used them api png log see and can ram top ips iso vps 13b may has non get was kvm web one any org new cd go 03 14 08 09 10 48 06 02 07 by 01 04 11 05 12 +Openbsd.SSDP:1628920394: Openbsd.Tcpdump Openbsd.Buyvm Openbsd.Pf Openbsd.Ddos : lanhostconfigmanagement amplification igddevicedesc a94a2ae2af72 94103e83c76b unreachable communicate discovery attackers broadcast beginning whitelist universal advantage amplifies portable messages firewall publicly solution redsonic services location d78a3592 protocol filtered original disabled ebf5a0a0 tcpdump packets traffic schemas openbsd devices sending address network analyze exposed defense attacks control printer content records visible useless example router during coming search master should sample remove 409684 follow server ext_ip 411700 except better simple 411888 411751 source larger floods domain 46465 51372 58810 cksum 60583 16546 shows first block cache phone other 49152 could linux buyvm agent above title would these rules quick reply using offer check ports spoof exist https guide order today zones panel icmp ddos upnp 1900 drop ssdp also 2020 date 1800 pass this 1dd1 want will from them make sure that have 11b2 ae53 user uuid a93f take plug play your some here with much than 0xc0 pcap tell many they org 192 urn see dns usn 168 vtw udp etc nls 251 198 put and sdk for 255 250 are ips not ttl non 146 tos web len 239 nsd var 8lh 119 498 ntp 526 has can few 200 172 xml opt gmt max but sat jul pf 47 ok df qw 01 36 56 vq mx +Openbsd.Amplification:1628920394: : preview_com_shadow_battle_superhero 065f6815140000d8d517335000000001 protonsql1_totohot 5f127601beabd8d5 amplification language_code g5_apms_data bot_command application 3995777189 1400457101 connecting 1400457072 1306862229 1855138974 1605207260 first_name 1203629066 background cloudflare message_id apkdl_bot timestamp ipcountry 731155732 forwarded 731155849 update_id entities 98363691 mirjalol data_set 78810276 database checking services data_10 railgun content sending bgcolor openbsd request visitor data_8 length data_9 center 478357 coming 594535 server packet origin source scheme is_bot layout data_5 data_2 data_q data_3 data_4 data_6 data_7 457417 33912 false agent ivate 29089 shows https thema tmenu above basic mysql 57129 52288 41000 33914 type case 1601 this allm from loop port 1500 know subv both subh 3306 sygp that post host fset chat user json text 1448 1200 subw size 251 108 119 win 168 331 153 719 php 192 nop sum tcp 208 198 243 255 195 199 cdn etc def pw4 nav ray see off ams 54 cf 64 ok uz 80 we by qa +Openbsd.RSTFlood:1628920394: Openbsd.Tcpdump Openbsd.Buyvm Openbsd.Pf Openbsd.Ddos : whitelist beginning rstflood solution publicly firewall disabled filtered content openbsd packets records visible analyze tcpdump exposed sending printer defense should master coming remove device manage router server ext_ip sample follow during attack source domain except better buyvm rules check https quick these panel other could ports would block proto zones using title above phone guide linux shows first sure that 1900 will want ssdp here some this from drop ddos pcap also pass them conf have make upnp udp 192 168 for you few ntp 198 net 251 any see ips are not but and dns web 119 non put two etc var nsd if pf 81 of +Openbsd.ACKFlood:1628920394: Openbsd.Tcpdump Openbsd.Police Openbsd.Buyvm Openbsd.Pf Openbsd.Ddos : acknowledgment periodically acknowledges investigate synchronize established connection difference performed beginning handshake following attacking resources initiates firewall filtered disabled ackflood publicly addition targeted receives received attacker packets tcpdump openbsd replies exposed content analyze sending payload visible contact servers process records traffic defense bad_ip subnet ext_ip device ircnow should cannot 318889 floods police 318888 sample during handle random normal coming manage client master remove accept occurs 16440 56815 panel class these quick using 42028 buyvm block rules first clues zones 65117 10304 61968 guide 15413 17347 could proto being check 22693 https ports above 14808 57643 title sends three there lacks every waste start 2001 2605 hlim f8de will 19c6 1e63 6400 ffd1 conf 5a1d 0x14 ipv6 real only 6820 2b6f c23a 769b 6570 user this that must 8369 want them from fake 6443 797e c8f3 e29d also afa4 565f 994c 1970 over same look sent bb48 with 873f ddos adba 76b0 have pcap data 2940 5fe2 fb93 3fd7 sure 52b8 ea08 time then 305c been they many drop make 7b61 8030 655d 59f3 9312 664d 9005 var db8 nsd len sum 237 how you ips are web see non has dns run dig fig org may who him 236 dcy 246 two put way udp etc 245 lot 0e 1o pf by 32 8e fm of 7t v_ +Openbsd.UDPFlood:1628920394: Openbsd.Tcpdump Openbsd.Buyvm Openbsd.Pf Openbsd.Ddos : application unreachable destination remaining blacklist different whitelist unwanted udpflood firewall publicly filtered fragment disabled discover attacker targeted packets openbsd sending content another similar control exposed tcpdump defense visible records analyze easiest process master manage ext_ip random create server allows should source remove 051373 domain follow during notice 081976 sample 38699 17710 waste these buyvm panel 57760 guide block https first check reply shows title zones using cache would proto quick ports above there ddos drop with also pcap sent time this them from will then sure make icmp rule that good pass have 1935 0x48 0x28 flag 198 way 192 168 see you nsd any dns non 251 119 ips are 200 ntp but can 341 web tos 369 len ttl don var net 389 417 172 set be ok df qw of 50 02 eh +Guava.Packages:1628920394: : internationalized synchronization implementation 20200427211949 authentication multithreaded decompression automatically repositories manipulation continuation manipulating unencumbered customizable multilingual asynchronous libunistring distributed pkglocatedb lightweight intelligent replacement accelerated interactive programming wkhtmltopdf libutf8proc documenting rogrammable downloading interpreted imagemagick enumerating manipulate subversion bitmapfont javascript minimalist compatible compressor components expression typesetter libunbound validating collection strongswan extensions exceptions conversion newsreader installing additional management extensible postscript signatures libchewing 20200120p0 eventually processing libarchive accounting structure directory formatted processor terminals patchsets documents computing scripting algorithm utilities standards responses geomyidae zstandard microsoft converter mercurial profanity providing dkimproxy fetchmail arphicttf retrieval generates multitail opensmtpd djvulibre interface compliant companion mirroring configure bandwidth platforms libpinyin character libraries coreutils generator reference iniparser libcares features internet idna2008 revision compiler extended requests oriented software database advanced retrieve licensed language protocol lossless packages blake2bp 20190117 blake2sp powerful function readline programs resolver japanese embedded notation flexible abstract antiword libiconv routines gnuchess libtasn1 converts libident displays makefile autoconf phonetic docx2txt reviewed portable newsboat automake transfer xlsx2csv berkeley designed security password truetype 20190702 inspired nghttp2 library strings openssl unicode wrapper 9100hp2 generic control various privacy libwebp sqlite3 general purpose utility working pkg_add chinese modules mcabber support foreign libjpeg command outline jsoncpp checker parsing openjp2 unified manager console hashing oidentd toolkit drivers regular sorting 0pre4p2 reading clients servers modular libidn2 rfc1413 threads jbigkit runtime browser nhanced mariadb bouncer elegant extract 9rel1p0 dovecot deliver weechat compact libxslt python editor extras verify domain zenhei record bourne plugin alpine libwww object source jasper jabber apache simple aspell ledger double images gopher window screen webkit no_x11 access update daemon libraw 50p3v0 libffi ispell libxml method argon2 neovim rlwrap useful banner system msword 21p7v0 giflib google quirks figlet decode encode ngircd mobile tcllib tcltls filter create syntax viewer links while https posix mysql shell libb2 names based files 09p20 libuv class rsync rules gnome codec 050p0 rhash ikev2 tools glib2 ascii print gmake input gnupg build cvsps 2p0v0 cmake block guard bzip2 xpath boost again trees groff fonts icu4c clone emacs elvis 2p2v0 epic4 3p0v0 using pager layer unzip cyrus troff ipsec slang ircii relay irssi lcms2 ikev1 anthy xauth entry pkzip iftop color usage guava 19pl0 text big5 pico 27p6 11p4 mutt 37p0 perl fast lzma mosh 11p2 xmpp 86p0 easy pop3 mawk imap 21p5 pkcs with real from sasl bash 2222 hotp deal quan 41p2 totp node pcre peer free 27p0 oath 07p0 adds song wide many 69p3 27p1 zstd nano 2000 curl side atom feed 1p10 05p2 77p2 32p1 0p13 test rust 10p2 tiff more htop tcsh over game tdom 43p0 23p4 sums 23p0 ruby 1805 gawk 34p0 sacc simd wget self 17p5 lynx 12p0 pop2 kpop 03p0 16p0 slrn sic low wqy lwp 8p2 wen dbi 6p3 vpn 641 eap 5p0 dbd znc cjk php py3 w3m 3p8 png ftp 3p3 pip via 440 trn uim fdm 2p5 5v0 7v3 tty otr 2p4 art 1v0 lz4 0p5 lua bsd 6v1 0p4 api 9p0 5p1 apr 8p1 pgp p11 git got 7p3 dns gcc nvi 4p3 xz 30 67 15 62 46 98 jq zh 31 28 gd 60 45 uw v8 26 gb +Guava.RecentChanges:1628920394: : recentchanges february december packages quofan guava st13g 2021 jrmu todo 2020 23 by am 14 06 at 19 10 47 30 03 +Debate.Linuxflaws:1628920394: : 8a104f8b5867c682d994ffa7a74093c54469c11f linux_foundation representatives linuxfoundation characteristics infrastructure firstdonoharm contributions homosexuality standardizing participation corporations contributors introduction exploitative contributing acquisition simpletable development consultants proprietary constitutes electronics intelligent environment communities criticizing disagreeing orientation nationality accountable maintainers affirmative derogatory expression experience appearance developers censorship harassment controlled regardless techrights opposition disability officially understand reasonably repeatedly commitment aggressive contribute linuxflaws protecting currently wikipedia donations insulting political financial microsoft corporate directors collected community nominally violation indicates disclosed canonical dedicated operating influence doesn’t fostering welcoming conflicts ethnicity promoting education blackrock accenture panasonic according supported diversity determine companies sponsors possible networks 18011854 identity programs software landmark theverge facebook annually covenant trolling torvalds comments personal linkedin desotech although pantheon interest conducts contract problems qualcomm acquired interact releases religion everyone trillion benefits explains freedoms activism economic entirely sortable licenses promoted actively millions coraline platinum platform affected received slashdot consider project towards billion however defines nothing website article members because renesas fujitsu through tencent complex samsung ethical secrecy adopted oversee systems hitachi approve playing provide funding alibaba fellows relates amateur extreme company quality process himself include comcast creator hartman changes percent attacks serious implies justice founder lunduke dollars several require silence unknown massive imagine appears 1941256 toshiba interns average border kernel redhat google debate report longer linaro social source people almost modify become oracle arista sprint silver toyota return citrix should huawei vmware closes making author former around status future latter ruling gender decide banned anyone debian donors freesw orange merely action amazon hybrid claims hidden forced itself reject stated cannot donate unfree states before pledge ehmke would linus https these court power width early class using which human total write trust sucks april still bryan story users worth least shown break takes zdnet board socio about while level title money label kroah azure cisco voice posts cloud aarna baidu world being field this ways code veil from like that they page open suse doky dell have 100k gold them 2020 2014 500k fees help here been hide many 2018 blog make lead greg what fact even gets 2015 also such tens give well role uses with five body size oath race poor when into used will pays then 2016 view lost need none made sony uber 582 www 338 too org why 515 619 995 938 has may sue ibm ada bad top nec yet 571 987 384 who was 239 245 000 emc amd usd say git scm pub 34 by 22 06 07 08 30 +Debate.Ethicalflaws:1628920394: : osi_cofounder_resigns contributor_covenant contributorcovenant discrimination” code_of_conduct characteristics representative misinterpreted discriminatory responsibility firstdonoharm participation ethicalsource proliferation discriminated specifically ethicalflaws restrictions disagreement unacceptable copyleftconf presentation unilaterally contributors infringement marginalized constructive technologies introducing essentially immediately hippocratic disagreeing orientation nationality enforcement endeavor” theregister incompetent mentioning punishable regardless activities disability principles harassment experience expression definition monopolies derogatory developers impossible inherently technology weaponized violations deliberate debian’s completely ultimately appearance salesforce depending misguided different restricts copyright licensing prohibits universal political “fields criticize standards supported criticism embodying corporate ostracize insulting doesn’t microsoft enforcing direction witnesses troubling community therefore invisible religious ethnicity education personal software anything creators coherent dictates comments licenses evidence together trolling behavior movement examples sponsors code’s resigned invasion position everyone directly offender remember decision speaking religion schedule approved identity declares violated economic lawsuit pronoun welcome project leaders popular greater can’t frankly systems neutral against trolled freedom version decided handled closely already someone appears sharing offense because dissent beliefs allowed attacks include members aspects equally various serious process pretend demands persons blanket respect issues rights settle headed untrue target courts groups people perens speech google reject unlike ground author latest behind citing kernel fairly status github pledge social almost gender sexual reason called common danger debate eating create might apply users maybe their would those human owner https meant among “no using could worse which truth opens level socio terms trial often wrong quite build needs other these makes power share linux hands words many with made that face this rely 2019 race work html just have each size will puts used stop even into then form idea said want been what past much same time they from them take 2020 your well look main door foss whim upon gone went way www was not org did who how see ban has doc age too faq by 12 10 17 03 +Debate.Googledanger:1628920394: : polemicdigital publisher’s specifically googledanger arbitrarily gatekeepers competition destination publishers department monopolist basically microsoft antitrust potential extremely undermine democracy delusions customers violating articles document optional versions websites congress unlikely webpages building monopoly approach facebook billions invested grandeur dollars secrets started believe default traffic justice amounts prevent testify preview stories evolves without dictate engine people censor source states helped debate united amazon search forego mobile appear forces either create forced 474236 adopt wants being bully about their never share large power https trade steal abuse heads apple court stack video linux azure these jrmu they into also usel them tell sued news will hell have days caro ould that sues time glad laws span code from epic gov opa amp has how org not www top see but own one 26 55 19 56 03 52 vs 22 10 57 21 58 54 25 +Debate.Cash:1628920394: : coronavirus shopping remember weforum nytimes credit debate really agenda https cards money 2016 that what 2020 cash your html org can www com 11 09 is +Debate.Facebookdanger:1628920394: : strategyincluding anticompetitive facebookdanger misinformation monopolization conservatives investigation divestitures facebook’s relationship developersto headquarters maintaining ycombinator competition acquisition alternative advertisers cooperation “facebook conditions technology injunction europe’s agreements imposition california networking systematic commission coalition instagram attorneys messaging something illegally eliminate complaint following permanent corporate francisco consumers personal benefits monopoly avoiding alleging deleting labeling district columbia 25363366 deprives whatsapp millions 25435603 software olitical election you’re migrated removes seeking don’t company federal promote nytimes privacy current kingdom reuters through general started newsmax choices twitter threats pushing engaged conduct alleges require checked lengthy social course debate moving leaves united switch mobile rumble parler coming things muting states bannon linked assets shift users among harms their irish reach court could years other https rival trade today rules every media going sites “if terms pages since sides them apps both html just pick that sued have jrmu sues item 2020 fair with long 2014 like 2012 guam post this feed fact adam said will into laws ftc and ” san has few one gov get www out 52 40 11 55 29 09 58 46 42 37 39 24 04 15 17 uk 21 38 up my mr +Debate.Microsoftdanger:1628920394: : microsoftdanger applications arbitrarily experience regardless enterprise agreement approved anywhere nowadays services announce android connect windows virtual desktop excited joining freedom because laptops acquire device client debate signed censor github future access remote going https i’m cloud based html5 other azure bring 2020 jrmu blog very type also most from oses have uefi your byod with boot only that will this then spy can web com ios own npm has bad for mac 45 16 13 49 53 03 08 32 38 10 44 23 11 09 +Debate.Nodejstrap:1628920394: : nodejstrap absolutely javascript agreement software announce industry response terrible harmful excited joining already painful browser thought boggles acquire enough recent anyone things server debate happen signed github https i’m piece uriel times worst earth hasen 2020 ever good idea jrmu blog judy that this like mind the why npm was use cat org 45 16 03 to 46 04 44 31 38 49 by 13 53 +Debate.Appledanger:1628920394: : search_social everyone’s additionally appledanger “theft” transmitted ycombinator arstechnica possession tremendous identifier gracefully enterprise corporate september dismisses antitrust unsettled apple’s crucially connected processes invisible you’re activity computer portrays versions internet politics exploits arguably 25074959 didn’t 20201112 although released dispute derives bluntly hearing billion percent nothing can’t reality without current program instant working supreme prevent nytimes offline lawsuit inspect realize because rogers motion modern abused people argued should berlin itself little failed snitch debate permit belong it’s gaming stated claims bypass simply stored server reader hobble dollar editor really silent launch apples unique noted hands casey funds rules block level macos yours those ebook sends turns fails being today write power known sneak https still title games value wants multi judge court robin epic slow jrmu when that this each code hash hood text from fast path them will apps vpns news item 2019 apis same html also were they open only isnt but don way big sur run got was hit for www any pay log 03 04 09 16 38 30 05 13 33 27 37 31 22 06 21 26 +Debate.Python:1628920394: : python_purges_master_and_slave_in_political_pogrom discrimination theregister terminology precaution associated issue34605 altogether linguistic difference community defensive diversity recommend avoiding software argument wrestled follower similar slavery couchdb replica primary swapped opinion carried reverse reasons changes pushing project forking debate drupal either little people django traded useful leader pretty really litmus would these which words terms after https group doing redis 2014 jrmu test bent also that call care make want nice they mean some year last this with same bugs 2018 don www but can see out org any try 11 23 03 09 47 50 02 49 48 my 36 +Debate.Hatespeech:1628920394: : unconstitutional homosexuality riks_klagaren pentecostal hatespeech prosecutor overturned prosecuted acquitted sentenced christian ake_green wikipedia appealed decision february november district opinions critical someone because supreme swedish general sermons appeals against hovr_tt prison arrest guilty __re_n sweden debate pastor court ___k_ march month https which under found also this g_ta like 2005 1941 jrmu born june _ke the usa org and who was him law but 11 36 of 10 29 57 13 +Debate.Freespeech:1628920394: : communications reclaimthenet 36684cda0ca8 transparency illumination theguardian _extremist_ censorship freespeech announcing “history technology showthread forgotten describes instacart president wikipedia “i’ve relatives aliendata publishes deeplinks providers suppress suspends requests quagmire that’s shoppers theverge machines jennifer revealed 21070403 received articles election dominion activist facebook problems details process decency friends founder reveals mediums section dependi another uruguay medical silence attempt quickly against report people ruling debate really rights reason police strict voting things public person remove policy strike google swears social revoke quite worst buyvm force https human pages jimmy wales first would fight about never legal forum seems cloud media steps biden abuse 10110 after jrmu 2020 what with tell site five laws been some time kind good bans 2014 zeng said like also too and its can ” www one has eye joe any say new php try ovh irc aug 230 eff … bad 18 51 of 09 52 eu uk 00 06 53 17 +Debate.Xmlflaws:1628920394: : thecontentwrangler constipated constantly compromise paragraphs unreadable structures obviously political dyslexic balances problems standard software ordinary xmlflaws forsyth machine opening “most matthew charles classic harmful verbose essence equally closing wadler better i’ve “xml typing solves editor health debate “the having looks 9fans entry lists i’m think makes needs about being nerds still might write https helps first both jrmu tags much even like your text 2016 suck does have just when time type this well phil popl 2003 unix hard real seen also not cat org raw one why too two ” man 02 35 04 40 25 59 if 18 by 33 27 30 23 +Debate.Youtubedanger:1628920394: : youtubedanger “misleading presidential november’s wednesday suggested election removing uploaded internet labeling politics content 1000777 newsmax remove donald debate claims video begin trump fraud biden voter https would that lost site 2020 said jrmu due ” any www joe com won to 09 as 57 12 01 30 or of 29 +Debate.Wikipediadanger:1628920394: : wikipedia_signpost wikipediadanger representation news_and_notes brainstorming increasingly organization professional controversy discussions considering understand rebranding objections conference governance foundation apparently community elections influence interests wikimedia according summaries expertise position november facebook takeover removing drafting movement strategy control planned holding several greatly biggest problem against changes founder minutes removal trustee inching outside rather reduce values crises weekly future debate review bylaws posted toward google think brief jimmy wales board video https years there clear fbook lack very with talk jrmu this ucoc wait docs they than made 2020 mike peel that have seat amid risk coup etat past been utc was our may who now few its yes but via wmf 53 03 00 21 57 29 11 42 25 06 36 19 +Debate.Mozilladanger:1628920394: : mozilladanger provisioned centralised effectively government techcrunch cloudflare following switching position conclude provider powerdns privacy worsens default firefox beyond states united stands debate after using based https jrmu wser 2019 your blog 2020 that list this have doh com add nsa etc fbi can the for bad bro 03 14 25 to 12 41 09 13 so +Debate.Slackdanger:1628920394: : slackdanger ycombinator slackifying salesforce definitive agreement 25272533 25269934 startup acquire debate email signs https sacra front item news jrmu the 03 42 id 54 41 3b 12 07 +Debate.Openweb:1628920394: : characteristics insightbrowser proponents descending permissive publishing accessible neutrality consuming globally orations websites remixing licenses cheaper content footing derived roughly openweb cheaply others freely anyone faster source debate three works least dying tools https order agree deals jrmu than load some make with same dont care corp ease what code that will blog see can you cut isp why net for com url and 13 of 17 03 16 19 04 38 41 ry +Debate.Controlcomputer:1628920394: : alltechconsidered controlcomputer circumvent assistance autopilot 523024776 features theverge software 21136699 sections restored tractor farmers debate locks https model tesla owner 2020 ways look used 2017 www for org npr 09 04 +Openbsd.Ntpd:1628920394: : important filtered ensuring accurate openbsd address specify server listen query title ntpd from very conf your ipv4 ddos time make sure 192 168 non etc the for to 0 +Mango.Packages:1628920394: : authenticationresults deprecationmanager validationcompiler globaldestruction internationalized strictconstructor implementations contextualfetch administration multiprecision checkconflicts communications compatibility automatically bidirectional multithreaded accessibility decompression specification manipulating representing unencumbered distribution implementing organization programmable spamassassin manipulation constructors overloadinfo preservation computations asynchronous libunistring cryptography notification localization numerically composition accelerated constraints progressive subroutines interactive programming certificate orientation inheritable identifiers information serializing recursively replacement lightweight overridable abstraction compilation integration expressions indentation subprograms interpreted letsencrypt permissions components compatible attributes conversion endofscope additional strictures persistent connection extensions manipulate overloaded pigeonhole signatures stacktrace compressor extensible minimalist domainkeys collection mediatypes libarchive mailfilter structures converting freezethaw arithmetic introspect algorithms parameters robotrules exceptions processing references installing generation phpmyadmin formatting platforms interface singleton someutils modifiers libraries accessing inspector character graphite2 filtering databases negotiate datatypes detection responses rendering oniguruma determine arbitrary generator operators submodule automated moreutils functions compliant configure graphical computing deparsing opensmtpd standards directory validator dkimproxy optimized autoclean namespace libsodium addresses utilities separated emulation zstandard universal providing associate throwable variables efficient privilege coercions lexically naturally statement framework scripting anonymity alternate generates modifying protocol portable libident lossless provides libevent metaauto blake2bp desktops blake2sp multiple language libiconv embedded powerful features finished resource retrieve priority creating torsocks archives advanced floating idna2008 accessor inspired licensed handling aliasing oriented warnings patricia bindings resolver 000005p1 20140330 validate complete 003004p1 000014p1 040001p1 identify checking 001013p0 timedate 200013p0 006006p0 packages exporter steroids af_inet6 relating 001004p0 20200331 triggers datetime encoding subclass timezone newlines decoding closures compiled combines allutils singular 004002p0 messages services 006002p1 sharedir 002002p0 location autoconf contexts harfbuzz password chrooted automake makefile graphics transfer 20190702 fallback symbolic runtime daemons servers display numeral toolkit unknown dovecot mozilla several execute merging offline maxmind mariadb library headers signing unicode modules complex fribidi writing systems lookups utility hicolor nghttp2 entries shaping clients wrapper correct socket6 sockets regular engines caching support netaddr manages subnets compact oidentd stashes defines openssl libjpeg working drivers cleanly special declare classes homedir 17028p0 listing general purpose concise doubles ieee754 printer colored objects methods fetches unified detects integer jsoncpp maybexs inflect utilsby control strings missing colorls require pattern extract privacy gettext emulate cookies variant charset optlist sorting command another reading numbers derived foreign routing hashing libidn2 libwebp rfc1413 scanner algebra imports sqlite3 modular pkg_add bouncer network browser garbage uniform moniker librsvg defined python policy libmpc pixbuf sender libpsl linear choose rspamd select public mysqli higher lingua libwww images quirks suffix simple cpanel handle plural 50p3v0 locale encode argon2 digest expose safely dumper create 52p0v0 update pretty unpack option endian floats geoip2 driven useful tables tagset parser jasper locate libffi random snappy giflib 5001p0 bignum extras ssleay luajit google layout proper femail bundle vector verify params easier robots ngircd editor 2020p0 faster viewer libzip custom libxml memory figlet specio thrown banner reader speedy helper writer common modern 2911p0 gnome devel error 928p0 catch clone plrpc theme magic pairs value files quote times which build mango unzip https gmake cmake dates parts 412p0 117p0 tools pkzip based pager 204p0 marks cblas 428p0 stuff moose 899p1 guess pcre2 redis 016p0 loads 068p1 level basic boehm ascii store mldbm order 009p0 3p0v0 116p0 using onion glib2 079p0 rhash bzip2 style sieve pango fatal block cairo 987p0 110p0 050p0 libuv trees 022p0 libb2 hooks cache icu4c after codec limit about point perl5 guard gnupg irssi 10p2 27p0 36p0 most from 58p1 your 05p0 tied keep turn 29p0 25p0 14p0 08p3 core 35p1 18p1 game with 07p0 html copy 41p0 adds 41p2 like side leak mpfr only acme curl ipv4 88p1 ipv6 pop3 imap wide 12p2 11v1 that 22p1 need 48p1 role pico 30p0 tiny nano 03p0 38p0 46p0 07p2 08p2 76p0 16p3 just 51p0 32p9 11p2 math 21p0 user 62p0 very htop moox 67p0 lzo2 cidr 26p0 into 21p1 blow 2013 eval fake 24p0 10p1 mime 28p2 flag 03p3 used 32p1 dbix 69p3 lzma sums many 23p4 23p0 wget 44p0 simd tiff 01p8 real test 0p13 prng sudo hmac 03p1 21p2 gtk2 1805 72p0 20p2 plus 16p2 40p0 zstd jars fork re2c bsd 641 gmp lz4 dot 0p4 dbd w3m dns try 1v0 vim 3p8 5v0 via 011 0p5 ftp 8v1 znc nvi 4p2 png 0p6 2p4 its gcc pgp sax lwp 440 gdk way 0p7 txt oop spf mro 5p2 5p6 uri atk 37 xz tz 39 +Cherry.Cherry:1628920394: Cherry.Todo : bc1qwz5ekjltadzwf9w468czwz5vrluxkk8d2j9pvm 0xf471819b2046e78709462798742fbff99bd032b6 released freely so protect freedom on administrators users control documentations configuration collaborative ircnowcherry registration effectively application connections experiment successful maintained developing federation interested connected currently community unlimited favourite volunteer supported languages available governing donations providing teammates accepting services favorite protocol provided changing paypalme unstable training networks software friendly ethereum features feedback innovate grateful multiple together remember that we thriving platform internet android shortly openbsd devices windows totally bouncer request channel located servers details members further contact welcome improve quality working towards consist helping content produce without through bitcoin benefit english include modify source anyone access bahasa common client assist number guides please unites melayu system famous making online kindly donate useful easier better create mobile guided chats terms lemon build would group again speak added their topic truly linux staff agree ready learn which great today wants share https keeps copy well todo make time they type your this more easy sign part will also them name live have good once list york from used text upon like goal self real very than new fun who run can how www may not say org usa ask 100 mac ios by oz +Guava.Guava:1628920394: Guava.Todo : 3278bdc14c74dd4e85732b776d0e5b1d guavateamircnow verdadeiramente verdaderamente collaborative correctamente cointelegraph compartilhar padagüenses aprendizagem colaborativa colaborativo disponíveis administrada experimento aprendizaje disponibles actualmente procurando configurar atualmente português portugués benefício portuguese background plataforma ofreciendo oferecendo servicios padaguans esperando operativo languages configure operating interesse usuários currently preferido liberdade gratuitas elección cualquier problemas serviços compartir finalidad available español favorito properly tableend oferecer aprender personal objetivo espanhol servidor orientá accounts grupales offering internet ayudarte garantir qualquer services usuarios contacta nosotros asegurar platform favorite interest learning swedish storage guiarte looking acceder escolha english podemos liberty cliente tópico spanish haverá reading cuentas estamos abierta nuestra visión leyendo esperas idiomas nuestro inglés aparece channel support operada network waiting uploads sistema vontade contato vários openbsd través tenemos conosco inglês obtener ingrese poderá benefit ingresa quieras soporte listado inserir suporte tiempo access 0a3d62 futuro habrá visão podrá system create choice muchas c7ecee equipe creada shells dff9fb ¿qué cellnr muchos pessoa acceso c44569 server guides ed4c67 ea2027 entrar quiero future vision desees queira talvez aceder paypal puedes acesso deseje contas assure center c8d6e5 listed goiaba aberta pmwiki ee5253 desire guías apenas style color habla sobre sueco busca lendo você basta dizer vamos nossa está entre canal posso ajuda https quero ganas criar estas aquí puedo parte apoio texto grupo temos guias obter tempo chats about maybe crear wanna temas staff speak share eager apoyo would there users desde group truly topic ellos free não aqui just many this goal rede your todo para view what with real from live over mais time will that isso rock fala more pelo want vivo hola help más ¿tu esto solo diga azar sino reto só una but lá seu del say meu get sem not uma faz run who hay dos png aim by s3 à ao if +Banana.RecentChanges:1628920394: : recentchanges miniontoby january banana todo 2021 znc 09 at 03 39 pm 41 04 am +Fig.Log:1628920394: : 1610018494 hello world fig log +Plum.RecentChanges:1628920394: : recentchanges january st13g plum 2021 todo wiz by am 09 12 at 03 pm 16 +Openbsd.INN:1628920394: OpenBSD.CPAN : e0491a07cdb21fb9aa82773bbbedaeb7639cbd0e7f96147ab46141e0045db72a autoconf_version ld_library_path troubleshooting installation unavailable build_unix incomplete libraries signature installed gistfile1 configure directory download danieldk variable berkeley execeute previous checksum command without extract openssl archive makedbz history openbsd execute autogen 5700533 verify deb3f6 sha256 export prefix become oracle nobody custom repeat dowoad change source github needed target create atomic clean there dbinc value https patch index issue group touch chmod umask step home news from type hash have your when cpan perl user dist been bdb ■ inn may due 644 set ftp isc org pgp for txt won asc how gz p1 mv 30 69 10 +OpenBSD.RecentChanges:1628920394: : recentchanges openbsd january perl dima 2021 cpan by pm 04 at 01 12 48 09 +Openbsd.Perl:1628920394: : permissions accordance site_perl libraries installed something incorrect xsloader required openbsd libdata changed opinion suspect minimal adjust seemed floods access better result caused always custom encode module think about maybe error umask value perl5 wrong local using amd64 there chmod later buggy write found perms path this task jrmu with dima like bugs able even down dirs user that doas only line need auto cpan what more nntp file have was had for inn not you its log rxw usr how 755 fix did can 59 pm 58 20 if we 19 96 44 42 43 25 12 ok my +Ircnow.Ilines:1628920394: : darkshell network ilines ircnow 3492 2046 c207 2a02 ipv6 zeus 219 185 znc 203 254 212 173 24 64 75 +Openbsd.Anope:1628920394: : peerpassword miniontobypi recommended yourvpsname mypassword serverinfo following something executing copyright commands services comments download question packages nickserv chanserv required install example firstly network anoperc builded contact coconut pkg_add version archive restart openbsd ngircd ircnow source reload config change search uplink github newest things relook press enter ahead value block below think error fails every https cmake other untar later into line then need that wget edit will with lots 6667 save want this port doas 2021 host like dont what nano org bin its for plz can aka out any not dir zxf set but ssl gz cp if of go 9 +Marketing.RecentChanges:1628920394: : recentchanges independence opportunity enterprise marketing february founders republic religion recruit freedom memes rules march 2021 jrmu may 04 at 13 15 by 06 59 26 am 45 11 pm 58 12 37 28 10 39 01 40 09 14 52 30 +Openbsd.Leafnode:1628920394: : alpha20081229a description sourceforge newsserver everything otherwise attention following usergroup configure leafnode elements download dortmund maintain openbsd pkg_add example already technik install restart between program because package instead extract browser finally replace groups should krusty create simple folder ircnow inedtd delete indetd errors spaces nowait scroll stream select domain please havent inetd rcctl youre posts these local added touch title first bzip2 shtml https copy then dont this sbin make sure doas back will what into with done from wget file also nano lynx tabs else save nntp exit here easy able edit nees beta came many etc too are and put tcp usr not see bz2 dir xf cd go tu if of +Openbsd.ZNCDaily:1628920394: Debate.Dogfooding Bouncer.Bouncer Openbsd.Less Openbsd.Ilines Openbsd.Irssi Ircnow.Networks : configuration disconnection reconnections successfully disconnected instructions controlpanel certificates troubleshoot fingerprint investigate maintenance validation improperly configured connecting dogfooding attempting vl0gy6rv79 authorized encrypted addresses solutions plaintext globalirc hostnames repeating following recommend indicates sometimes zncdaily manually networks disallow trusting throttle stopping adminlog messages continue everyone clicking usually failing example bouncer because request openbsd command problem closing slowing servers through correct without warning consult returns expired moddata disable trusted similar dealing section bottom ircnow attach scroll debate secure adding errors should caused client banned search manage likely ilines glined please unique either prefer admins switch typing fixing irssi write issue abuse certs below there using tries which front check user1 users fruit https lacks title means these shows vhost less port 6697 this 6667 will that make sure want from page uses link znc2 edit next znc3 down test znc4 your team sign must 2021 home than case doas znc5 save znc6 soon each been ipv4 when znc1 only ipv6 list find over most then hope does not has web can msg may org see png get but bnc for ssl are 256 run sha its let day bad 52 15 by 01 03 08 12 of 24 06 55 09 14 19 29 23 +Debate.Dogfooding:1628920394: : significantly participated — donald embarassment improvements implementor typewriters immediately dogfooding conclusion considered activities confidence separation components developers announced purchased customers wikipedia microsoft advertise effective important literally providing perceived services everyone internal dogfoods probably benefits hundreds computer designer convince obsolete february garbage provide happens believe example because crashed perform windows thought bouncer running should eating admins forced around system notice builds before inside server ircnow debate manual errors better broken scale pride knuth first https large fully apple using built email proof would 1990s these never gmail fixed often daily title staff other fruit words great shows admit their awful right more your that user what team also chat must when this only unix came than away thus they have four been else will them want were take 1980 work made many hurt over had why own tex day and org new are 200 who try mid was go +Openbsd.Irssi:1628920394: : disconnected connessione autorizzata autorizzed connection vl0gy6rv79 globalirc minutemin extremely valuable problems tusaichi diagnose unknown closing technet network quickly openbsd police questa error lined user3 irssi title abuse tool link from this 2021 251 not 119 198 for and non id su 01 09 03 23 24 26 15 18 81 +Openbsd.Httpopenproxy:1628920394: Openbsd.Openhttpd Openbsd.Pf : misconfiguration httpopenproxy unintentional applications whitelisted information censorship configured prevented openhttpd installed proxyinfo reporting sometimes incoming firewall secondly insecure properly normally blocking messages httppost username networks internet discover proxies usename address allowed running because openbsd example packets receive scanner provide privacy banned double ircnow allows dalnet entire server should except sender abused bypass first fruit there those ports occur kline would check title often using users could have 8080 bans that more make your 2021 been sure this will spam they from quit hide are web but and any has see 192 168 not exp php may org to pf 17 55 if 09 29 01 +Nsd.Masterslave:1628920394: Openbsd.FQDN Openbsd.Base64 : bxbjy3b3alvhadjrytbsrentc01rumnlymlj masterslave yyyymmddnn 2020070701 secondary algorithm describes qualified security zonefile encoding request openbsd example provide records follows primary forward project minimum refresh servers string longer random base64 domain notify create expire config 604800 serial lookup secret period sha256 ircnow nokey admin tsig1 allow block 86400 retry after 10800 final zones about fully first files write your name 3600 idea from good hmac step next with host smtp save this show that more make fqdn must need imap the com net nsd soa 192 www var xfr ttl can add new org put end to mx my of +Nsd.RecentChanges:1628920394: : recentchanges masterslave configure february mistera august 2021 jrmu zone july nsd at 04 by am 42 09 12 27 56 pm 11 +Dns.RecentChanges:1628920394: : recentchanges registrars providers february zonefile overview records august vhost march 2021 jrmu fqdn july dns 13 am 17 04 at 06 31 by 03 10 05 27 28 46 57 07 09 25 32 +Hosting.Providers:1628920394: Blazingfast.Io Colohouse.Com Glowhost.Com Hosting.Flokinet Hostdime.Com Ideastack.Com Hyperfilter.Com Hosting.Contabo Ariseserver.Com Bigrock.Com B4uindia.Com Royalclouds.Net Go4hosting.In Leapswitch.Com Crazyhosting.Com Onliveserver.Com Rdsindia.Com Cyfuture.Com Serverbasket.Com Hostingraja.In Resellerclub.Com Everdata.Com Ricohidc.Com Milesweb.Com Nowindiaonline.In Cloudoye.Com Softsyshosting.Com Webji.In Hostkarle.Com Serverscart.Com Vnetindia.Com Superbytehosting.Com Sytes.In : ddoshostingsolutions uncensoredhosting colocationamerica superbytehosting nowindiaonline softsyshosting discrimination washingtonpost torbitcoinvps orangewebsite resellerclub yourlasthost hkcolocation onliveserver serverbasket crazyhosting unresponsive hosthongkong unreasonable specifically hyperfilter blazingfast royalclouds hostingraja recommended ariseserver alternative serverscart sunnyvision spartanhost researching filesharing complaints luxembourg simcentric delegation showthread acceptable go4hosting reputation leapswitch cryptcoins technology guidelines deplatform hostsailor afterwards use_policy especially censorship datapacket filtering providers questions important operating offensive community singapore ideastack crackdown unhelpful microsoft quadranet threatens religious mentioned sharktech dedicated endoffice prohibits aliendata currently australia serverrun colohouse vnetindia quotecolo countries political potential extremist hostclean prometeus hostkarle selecting expensive sysadmins lowendbox cloudoye telegram theverge purchase customer glowhost includes rdsindia cyfuture ideology b4uindia anything required everdata 17671188 ricohidc serverhk friendly continue torrents criteria reliable milesweb supports hostdime flokinet generate unstable requires shutting pakistan budgetvm untested leaseweb miditech services defining problems without replied content digital spreads perhaps certain respond 1352990 reports another privacy already systems bigrock contabo tickets discord germany openbsd judging hetzner running anynode results lacking forbids centers located towards liberal options payment speech longer offers subnet allows before host24 answer define follow github europe amazon choopa psychz paypal should credit ignore behind scenes prefer africa really google second strong topics linode racism notify guard sytes price https webji legal would abuse ocean azure 10110 forum doesn title words their often these ideal cards check reply court email order money trial first texas using south buyvm there where vpses vegas they take when most will have hate vpns find aren what 2018 game over chat best know slow want bans user free good this been very ipv6 them send rdns size html list look case must didn need asia uses such city give time york and lot too prq but irc aup won law www can gab day php x4b api usa aws ovh new faq don few org see uk pk qz 08 +Dns.Dns:1628920394: Openbsd.IPv4 Openbsd.Ipv6 CloudFlare.Cons Dns.Domain Dns.Zonefile Dns.Providers Dns.Records Openbsd.Nsd Openbsd.Vhost Openbsd.Dig Openbsd.Host Openbsd.Unbound : astronomical coolchatclub registration distributed information nameservers represented purchasing cloudflare subdomains convention resolution registrar recommend hostnames computers somewhere addresses providers practical authority delegated resilient elsewhere username internet requests resolver zonefile services multiple networks register anything referred designed probably millions workload possible contains purchase remember memorize instead openbsd usually example because records specify working storage offline imagine perform achieve browser control unbound process queries someone however setting another billion ircnow within system entire shares second create number unless charge depend single easier should called center spread across typing client actual period robust laptop global level which would these offer might makes scale panel 20usd forth owner zones after title vhost phone given files needs knows there could means human using comes every their about tries take cons this free also into that data base your upon find want part like will look such root next have when just ipv4 tlds ipv6 then from many able over mail glue were stop once year more team size they them went only dns nsd dig can org ns1 and ns2 web see let fee www was pay 192 168 ips too far isp run don non go by +Unix.RecentChanges:1628920394: : recentchanges workethic february unix jrmu 2021 08 by am 48 at 05 49 +AndroidEmail.RecentChanges:1628920394: : recentchanges androidemail june 2021 jrmu 29 at 03 11 pm by +Password.Management:1628920394: : alphanumeric management afterwards overwrites functions generates passwords alnumpass critical sysadmin savepass encrypts openssl newpass allpass getpass profile through urandom command append length source title pages these first lines chars takes then your them less home with fold type four head role help for out any asc use can aes 256 cbc dev 127 jot cat to 80 33 rm tr dc za is z0 9 +Ngircd.Ssl:1628920394: Acme-client.Configure : prerequisites connections certificate additional fullchain uncomment configure encrypted following providing properly dhparams optional certfile hostname example keyfile replace private copying _ngircd openssl change server actual enable client expect before dhfile listen signed course lines 16697 chown ports block title first files check with acme 2048 your that doas have want need will 9999 into then must pem two etc tls can see out and of cp we +Thunderbird.Pgp:1628920394: Pgp.Upload : independently thunderbird fingerprint acceptance encryption generating unverified signature encrypted clipboard importing selecting uploading decrypted keyserver something digitally carefully security continue accepted receiver generate settings existing contents tutorial imported details website certain openpgp require manager correct message scammed account besides signing warning confirm secrecy emails public attach window verify claims method secure better reason bottom forged entire should signed person create typing click comes truly loses photo visit close above phone never again inbox tools paste there panel write check show been view with edit that step from then have chat this your call into like copy user when need will ways send sure read left make want real life youf png → but can not and may url top tab was ⌘ don irc 06b new add two now yes has row get 09 by 11 10 go 12 08 07 14 01 ok 04 05 of 03 13 my 02 +Password.RecentChanges:1628920394: : recentchanges management password february 2021 jrmu 10 at 03 59 pm by +Anope.Install:1628920394: : miniontobypi peerpassword yourvpsname recommended mypassword serverinfo following executing something services nickserv chanserv question download packages required comments commands version install anoperc builded restart coconut contact firstly pkg_add network archive search config reload ngircd source ircnow things uplink change relook github newest untar value block cmake later ahead https below think error other enter right every fails press like want edit then host need save wget what this line 6667 with will port into doas lots dont that for its but plz org ssl zxf dir out can aka set bin not any of if gz go 2 9 0 +Marketing.Recruit:1628920394: Minutemin.Game : oer_the_ramparts_we_watch in_the_face_of_obstacles_ 28american_revolution minuteman_patriot_ _courage_poster unclesamwantyou fineartamerica revolutionary copyrighted criticalhit recruiting wikipedia wikimedia perfectly marketing minutemin similar commons posters however nearest iwojima imitate upload attach source server change better ircnow notice false could https below 292px 680px thumb above 578px would 905px ifend boot shop file 2015 camp text need free game meme look that does png war org jpg one net for bsd svg but wp 04 i0 dc as 1d 39 to ae is +Marketing.Independence:1628920394: : patrick_henry_speaking_before_the_virginia_assembly washington_crossing_the_delaware_by_emanuel_leutze 150th_anniversary_of_the_liberty_bell make_america_great_again_hat_ raising_the_flag_on_iwo_jima barack_obama_hope_poster sic_semper_tyrannis 21_nara_535413_ spangled_banner representation _restoration_2 2827149010964 2c_1926_issue livefreeordie gonzales_flag comeandtakeit installation independence we_can_do_it application 2c_larger_ installing seperately wikipedia wikimedia marketing continent the_star together republic hipsters software taxation british commons without replace divided uploads country 2c_1851 network servers battles attach turkey _edit1 whites 1584px coming change united regret 1182px ircnow 2c_mma 1200px source phone fight these stand thumb began shoot until tread death their amici times suits https libre page1 lossy chans users souls rosie 463px false zurna brave 640px 800px ifend photo fall give this join home have that keep land life code host tiff from eyes jpg org new web png but nyc don sea you see yet not men let fd my b0 29 pc c1 df c7 55 95 +Marketing.Enterprise:1628920394: : enterprise gutenberg marketing dollars iwojima images attach files 16960 https your work tax org www jpg 645 png 558 260 467 tb +Marketing.Freedom:1628920394: : liberty_bell_2017a valley_forge_cabin throughout marketing freepress gutenberg wikipedia wikimedia proclaim gazette commons storage freedom thereof attach shells upload castle source images https thumb 940px files 16960 users 640px beep home png lan jpg 255 www log man his let tb 37 a3 +Minutemin.RecentChanges:1628920394: : recentchanges minutemin questions bootcamp ifconfig february progress training baytuch august server march creed april 2021 jrmu game code july duty mkf 28 by at pm 35 03 06 42 18 29 12 53 04 11 10 08 59 24 33 40 01 26 16 +IPv6.RecentChanges:1628920394: : recentchanges overview february ipv6 2021 jrmu 14 at 11 09 am by +Gry.RecentChanges:1628920394: : recentchanges march 2021 jrmu gry bio 05 at 07 53 am by +Pgp.RecentChanges:1628920394: : recentchanges february upload create jrmu 2021 pgp 04 by am 13 19 pm 26 +Thunderbird.RecentChanges:1628920394: : recentchanges thunderbird february connect jrmu 2021 pgp 19 by at pm 09 36 am 44 04 +Openhttpd.RecentChanges:1628920394: : recentchanges openhttpd configure february hosting mistera march jrmu 2021 perl july am 09 by at 28 01 27 32 03 pm 08 +Webnews.Install:1628920394: Openhttpd.Perl : pack_sockaddr_in troubleshooting oddprotocol quotedprint nntpclient unexpected installdir libraries openhttpd site_perl approach hostname solution conffile webnews example libdata baseurl intspan changes should htdocs base64 create resolv manual normal choose closed newsrc ircnow socket length server daemon local begin wndir sock1 perl5 lines first mkdir dgate chown next cpan want sudo text wrap make then been what tars doas user mime need copy date has usr var cgi eof org www 169 bad arg 102 for two ftp 147 few set etc see you 119 pm gz is mv up cf 3 +PuTTY.RecentChanges:1628920394: : recentchanges puttygen connect august jrmu 2021 05 by pm 23 at 09 24 +Dns.Overview:1628920394: Openbsd.IPv4 Openbsd.Ipv6 CloudFlare.Cons Dns.Domain Dns.Zonefile Dns.Providers Dns.Records Openbsd.Nsd Openbsd.Vhost Openbsd.Dig Openbsd.Host Openbsd.Unbound : registration coolchatclub astronomical distributed information nameservers represented subdomains purchasing cloudflare resolution convention providers addresses recommend hostnames registrar delegated computers elsewhere somewhere practical authority resilient resolver register workload username probably multiple possible requests purchase zonefile internet contains anything millions networks services designed overview memorize remember referred openbsd instead achieve working example records browser offline imagine usually because unbound another control billion storage however queries setting someone specify perform process ircnow charge global should depend system shares unless within laptop across called number center typing create single period second client robust actual entire easier spread level would vhost might offer panel these forth comes using which files 20usd zones scale makes after owner title their could every about knows phone there human tries needs means given root just will only next have were tlds such when find stop glue take your look went that like this year team free once then they more from data them mail ipv6 ipv4 size many able cons also into upon want base part nsd dns and org far run dig too can isp ips ns1 web ns2 192 168 see let don non www was pay fee go by +Leafnode.Install:1628920394: : alpha20081229a description sourceforge newsserver everything otherwise attention following usergroup configure leafnode elements download dortmund maintain example openbsd pkg_add between replace already technik install package instead browser restart program because finally extract folder simple groups create krusty should ircnow inedtd delete indetd errors spaces nowait scroll stream select domain please havent inetd rcctl youre posts these local added touch title first bzip2 shtml https copy then dont this sbin make sure doas back will what into with done from wget file also nano lynx tabs else save nntp exit here easy able edit nees beta came many etc too are and put tcp usr not see bz2 dir xf cd go tu if of +Znc.RecentChanges:1628920394: : recentchanges bejelentkezni troubleshoot chroot69 install august real back 2021 jrmu july i18n znc may mkf see 06 57 at 03 by 36 am 01 to 05 12 09 29 52 pm 28 11 +Immigrant.RecentChanges:1628920394: : recentchanges immigrant welcome march 2021 jrmu 05 at 06 59 am by +Netizen.RecentChanges:1628920394: : recentchanges netizen rights become july jrmu 2021 june 14 by at am 03 pm 47 09 10 +Mail.Openrelay:1628920394: Openbsd.Dnsbl Openbsd.Dkimproxy Openbsd.Netcat Openbsd.Opensmtpd : misconfiguration configurations ircnownetwork unintentional destination blacklisted afterwards configured censorship improperly relay_dkim rejection recipient opensmtpd dkimproxy openrelay addresses sometimes crackers accepted external delivery messages e57f9a36 spammers referred followed complete internet trojans viruses malware receive example foxtrot charlie proxies openbsd domains configs process sending pleased subject spoofed bangcat coconut because testing provide privacy another appears similar reading invalid ruleset chances letter relays netcat sender though notice anyone server forged should itself beware bypass action banned sample either abused allows match hello comes often gmail could these title email worms enter alpha bravo delta hotel dnsbl being esmtp users check using never local hosts trash flood above stop quit your here even will says golf only meet from rcpt jrmu also data with line echo when want helo this been that hide make sure next type then 250 550 143 163 get 220 and how don see fix but can 354 221 has bye why put if ok 81 38 +Shell.Bash:1628920394: : initialization stackoverflow stackexchange recommended environment preferable implement directory kornshell questions character something compliant switching password function username changing hostname variable familiar profile 1171663 command history display replace 8468165 current declare options default however yasuoka logname forward openbsd passwd export actual mkshrc 388258 behave within myname should stored source prompt custom retype reads print alias x11r6 https games arrow posix which right start local pdksh emacs stick once your line home path time edit unix down term echo back this into both show else keys left then what that bash real make like chsh want sure from also very more said than look 2018 bin usr 020 __a now set out not 005 __b pwd __d __h 006 __c __y 001 can etc cat 016 002 new old dot _cd its put ps1 if 29 54 up +Netcat.Irc:1628920394: : troubleshooting specifically successfully connecting configured networking connection 1597224116 1597224404 establish correctly succeeded debugging displayed something following extremely nickserv sysadmin networks properly hostname diagnose valuable password identify because newnick message example seconds address attempt newuser replies channel privmsg writing warning showing server ircnow netcat record should either signon errors entire client appear modes using shows whois above vhost check which means title hello world gline other reply 12345 swiss knife often drone your this 2562 type idle like help motd time look test with from then when ipv6 code ever send part 6667 ping pong join will list root 0db8 2001 tool 9812 3a85 11eb 2f18 f117 army ctrl case just aaaa b8fa done rdns f8fb that bind nice quit 318 mom org 311 378 312 not 379 317 see has can day and any are 396 b4 nc ma up 86 +Netcat.RecentChanges:1628920394: : recentchanges netcat usage march smtp jrmu june 2021 irc 04 am by 58 10 05 47 59 09 +Psybnc.Install:1628920394: Openbsd.Rcd : interacting hostallows addnetwork different addserver nickname identify possible libcares specific nickserv password defaults download example openbsd startup crashes connect attempt careful command privmsg install pkg_add useradd adduser create psybnc entry0 change ircnow system figure 4beta2 fields filled checks inside every could build port2 query login port1 21314 host1 hello host2 world quote each 6697 time 6667 home send doas then just made ipv6 main ipv4 jrmu when make with wish http conf must for www run rcd see ssl may uid you ksh bin new not org out how zxf raw ftp gz to so su dk +Congress.Documents:1628920394: Congress.TreatyOfAllianceWithFrance1778 Congress.NorthwestOrdinance1787 : treatyofalliancewithfrance1778 27s_first_inaugural_address teachingamericanhistory northwestordinance1787 judiciary_act_of_1789 27s_farewell_address george_washington antifederalist confederation constitution independence proclamation emancipation declaration libertyfund simpletable wikisource amendments convention announcing resolution compromise gettysburg expedition department regarding gutenberg louisiana mcculloch religious president documents jefferson surrender abolition agreement homestead guadalupe doctrine virginia sedition founders archives founding writings property original articles purchase northern relating nebraska telegram missouri congress maryland creation sortable removal colored message hidalgo library sanford railway madison general debates morrill pacific freedom lincoln purpose marbury fathers statute gibbons slavery jackson papers crisis common secret titles united cotton patent states monroe troops design andrew indian kansas sumter ebooks border rights speech statue second clark https notes lewis paris ghent ogden great scott davis 22082 width class false sense ifend alien 1857 1861 1819 1796 1814 fort 1803 bill 1863 1865 year 1862 1798 1820 wade acts dred 1854 1850 1848 1864 1788 1823 1830 army 1824 13th 1791 1776 1782 1777 1792 1786 seal 1783 plan 1794 www vol 100 war oll 143 lee gov +Tor.Torsocks:1628920394: : installation connection torsocks internet realname programs newnick example working address network welcome pkg_add newuser replace through enable server actual relay rcctl start nick5 force below tool with 6667 your doas hopm test used 001 the irc 192 168 can if is nc +DNS.SPF:1628920394: : introduction simpletable transition 0123456789 pretending temporary addresses determine framework mechanism qualifier permerror temperror megacorp softfail matching stopping phishing sortable example unknown current matches account meaning neutral useless becomes records between nothing someone servers follows scammer marked accept almost domain border sender subnet result reject cannot action prefix policy others please anyone always proper system class works width given still allow email might check right there tool real mxes spf1 uses what your fake this that does ipv4 ipv6 aaaa none from bank pass 2001 want spam read deny will http open and dns for 192 ips ip4 168 255 ip6 db8 100 how set don but 000 ceo why org www bad my up 24 96 +Abuse.RecentChanges:1628920394: : recentchanges abuse march code 2021 jrmu 09 at 03 44 pm by +NewsNow.RecentChanges:1628920394: : recentchanges miniontoby newsnow browser install banana march teams 2021 ways more may mkf 49 09 18 16 00 08 at 12 47 17 06 pm 04 33 +NewsNow.Teams:1628920394: : simpletable miniontoby ircforever descripted copyright sortable example newsnow between wanted border server tester leader banana ircnow panel width class teams name main page 2021 menu sign your this edit and add 100 109 101 the org up +Gpl.Flaws:1628920394: Freedom.Independence Linux.Flaws License.Ircnow : indemnification proprietariness interpretation unfortunately program—and fundamentally contributions independence permissively corporations organization deliberately restrictions contributing incompatible distributing sponsorships collectively improvements development proprietary practically distinction effectively interesting trustworthy bureaucracy opportunity celebrities enforcement discourages proposition advertisers contradicts merchandise contractual billionaire assumptions restricted developers incentives collateral unsuitable completely reasonable instrument encourages understand foundation distribute oppression rightfully agreements injustices generosity contribute struggling businesses impossible enterprise copyrights berkeleydb conviction themselves associated obligation consulting statically unethical criticize strangers donations financial requiring ownership abandoned essential community mistreats liability expecting necessary influence licensors recipient secondary surrender conflicts increases protocols advocates wikipedia complying something surviving customers exclusive struggled exercises restricts loopholes condition decisions ecosystem licensing companies difficult necessity political revisions contracts computing important subverted providers corporate patronage certainly microsoft declining technical operating projects modified property destroys material document standard licensed humanity actually versions computer software equality services training response majority licenses entitled directly premiums purchase hardware building everyone positive ordinary partners enormous facebook networks employer although controls designed practice goodwill whatever netbeans received internet asterisk magnolia starving choosing examples consider guardian stallman copyleft included replaced economic changing ideology required security moreover factions continue attached yourself compiler programs products flagship instead mozilla however freedom support notably towards healthy general because society sincere funding systems another hostile helping neutral discord popular selling edition branded survive utility through nonfree succeed vibrant several legally silicon believe richard creator without created founder corrupt serious rapidly anymore ignored wolfssl creates classes complex windows running hampers seeking success greater willing promise unhappy phrases talking lawyers closest written reading produce against upright protect primary average dictate violate problem strings sticker authors contact forfeit becomes conveys between working library parties patents refuses pleases impact around access should resort tricks ircnow itself donors source forces affero profit redhat binary thanks others strong proven either during matter double kernel living rather remain credit little public allows plugin course domain valley mostly letter future effort spirit afford client richer cannot longer making sneaky result social entity anyone forced unjust tempts entire claims always drives coffee shirts solely giving impose almost enough ending attack trying escape damage wrongs follow lesser spends simply asking relies agenda became income stores steers really google donate owning ethics doesn these users their voice share those ideal money times where break there truly means today cloud sense linux early power wants often first gives flaws saass makes false offer indie 2000s ought alike small order harms steal avoid apart which price shift model doing trend https caste reuse mysql ifend sworn might would unite safer hands naive never flash taken enemy forms knows third write party labor house earns hobby games using built large bread moved admit court known about takes links email that love must have this poor even they from same rely code apps only fees away bots many yoke fits been look pays hurl used cddl also says bind sure sake html life when feel slap were goal tips dvds zero evil find vast nice mugs live such keep dual agpl suse lots note high both care need lack chat deny huge into weak zfs gnu www who new ibm 3rd ios few faq fsf too isn set due him sue get far buy cms may add was gpg 90s gcc qt 7 +Linux.Flaws:1628920394: : 8a104f8b5867c682d994ffa7a74093c54469c11f linux_foundation linuxfoundation representatives characteristics infrastructure firstdonoharm participation standardizing contributions homosexuality exploitative introduction contributors corporations contributing electronics simpletable disagreeing accountable acquisition nationality criticizing affirmative communities proprietary development intelligent maintainers constitutes environment orientation consultants experience disability expression appearance techrights developers censorship opposition officially derogatory harassment regardless protecting controlled understand reasonably commitment repeatedly contribute aggressive ethnicity corporate directors welcoming violation microsoft nominally influence community wikipedia according donations conflicts fostering canonical financial disclosed education collected operating doesn’t insulting blackrock accenture political panasonic companies currently indicates determine promoting dedicated supported diversity software trillion torvalds interact covenant facebook programs annually qualcomm trolling comments interest personal activism freedoms sponsors platinum desotech linkedin identity benefits economic landmark networks theverge sortable religion everyone entirely releases possible acquired pantheon although 18011854 actively contract licenses platform promoted millions received consider coraline problems affected explains conducts slashdot serious nothing lunduke 1941256 through imagine billion fujitsu members tencent playing secrecy founder defines provide require hitachi adopted systems oversee alibaba funding towards himself samsung project however renesas ethical extreme article relates creator hartman complex several dollars average unknown silence implies percent changes company approve justice because amateur attacks quality appears fellows massive interns include comcast toshiba website process sprint arista silver border social google cannot amazon toyota people kernel report citrix longer reject modify should huawei almost return vmware source oracle itself linaro become latter merely hybrid former status decide gender author closes donate anyone claims future making freesw before stated debian redhat forced action banned hidden pledge donors ruling unfree states orange around takes these would https zdnet which linus break total human width ehmke class power using least write sucks shown trust bryan story april users early board worth still about socio level while court flaws label posts kroah title baidu azure cloud world voice being cisco money field aarna poor many have gold make they that suse with uber sony made used doky will dell pays oath 100k into 2020 code like veil this help from uses open ways hide page them 500k 2014 when race fees role 2018 here been size body five none also even gets blog such tens 2015 2016 well need give fact what lead then lost greg view top nec ibm org sue www who was yet has why ada 239 may 938 say amd bad 995 384 619 338 515 too 582 571 987 scm git pub usd 245 000 emc by 34 22 06 07 08 30 +Ifconfig.Change:1628920394: Openbsd.Staticnet Nsd.Configure Znc.Chroot Ngircd.Install Unbound.Configure Openbsd.Ping Openbsd.Netcat : troubleshoot intercepting description simpletable networking listeners configure addresses checklist staticnet interface hostname sortable ifconfig outgoing username unbound openbsd gateway install machine causing coconut ngircd update mygate netcat chroot giving lookup change action border ircnow topics hosts files entry there stale width class ipv6 2602 read fccf your ping that aaaa ipv4 zone find make ever sure nsd and org may old dig 100 znc if0 129 xxx 163 of 64 81 be 38 +Marketing.Founders:1628920394: : eyjpbwfnzsi6imh0dhbzoi8vyxnzzxrzlnjibc5tcy8xodqxmdy5os9vcmlnaw4uanbniiwizxhwaxjlc19hdci6mty1mta3otu3mx0 eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9 k5fwx8i8yrvdjfjyuzsboamqh3o w83whutknwdrrhw_fr4ydtlkp epiphanycreativeservices atlantic_madison_3 uhghds8dz9i3yemcc washingtonpost theatlantic copyrighted rebelmouse silhoette 1920x1080 marketing untitled original founders hamilton goldstar directly abraham thumbor content uploads 300x300 quality design assets style https blogs files these width media imrs apps 2016 1484 2017 2018 2020 them com www jpg don img png all 980 cdn are php src 85 04 wp 06 03 28 +IPv4.Overview:1628920394: : interconnect information destination simpletable description assignments communicate represented hexadecimal represents occurrence addressing following indicates expressed broadcast therefore remaining addresses important collision multicast benchmark dictates intended notation examples internet identify overview 11000000 sortable reserved networks protocol loopback routable prefixes 00000000 10101000 00000010 00101100 00000011 smallest 10000001 10000000 unsigned carries testing private because limited routers carrier sending traffic belongs convert deliver between special however purpose largest follows device values octets number border thirty binary starts summed within future unique groups digits called right rules first while hosts grade width below needs class local lists above other every valid doted which these where ipv4 size from mask ends cidr case this have that bits both ipv6 ietf when each link name thus hold left same true will used last mind keep some cird can are 123 255 168 192 169 256 254 248 172 and 252 128 127 224 240 435 131 072 864 108 728 217 134 456 432 268 536 912 870 824 741 073 554 648 048 152 524 097 288 304 194 262 144 608 388 216 777 483 113 576 203 198 024 512 147 296 967 294 768 sub 384 096 129 any of 1s 18 65 33 0s +ClawsMail.RecentChanges:1628920394: : recentchanges miniontoby clawsmail connect march 2021 29 at 08 42 am +Coconut.Coconut:1628920394: : constellation 143413344190 st4000nm0023 motherboard integrated supermicro enterprise expansions management controller backplane 1000base ethernet p2349624 storage support onboard chassis 560watt capable coconut seagate _trksid server l49292 drives height m46890 single supply system level 815tq brand rails x9dri https 563cb slots intel ports caddy power 500gb nodes only nics quad full core 64gb 3ghz 2630 xeon bays with will case work ln4f ddr3 hard ebay sata gold ipmi not hex cpu reg for kit itm com bpn sas lff pci pws ecc rev 4tb ram 1gb www any cse 1u 1x v1 1h 16 e5 4x 2x 01 2k x8 v2 7 +Coconut.RecentChanges:1628920394: : recentchanges coconut march 2021 jrmu 29 at 12 28 pm by +Znc.Chroot69:1628920394: Openbsd.Syspatch Oidentd.Znc Openbsd.Relayd Openbsd.Nsd Openbsd.Buyvm : mysuperadminpassqwerty protectwebsessions passwordsgenerator authonlyviamodule configwritedelay libboost_system libboost_locale troubleshooting libboost_chrono libboost_thread daemon_pidfile ssldhparamfile serverthrottle misconfigured maxbuffersize acceleration controlpanel service_name alphanumeric dependencies service_user service_stop instructions installation project_name deliberately connectdelay disconnected request_uri service_pid hideversion checker_znc directories anoniplimit immediately sslcertfile descriptors integration certificate mistakenly loadmodule setnetwork individual saveconfig libicui18n connection libicudata completely delnetwork characters sslkeyfile absolutely libpthread chronology nameserver afterwards addnetwork frequently libcrypto threading listener5 plaintext uriprefix pkgconfig available reconnect different addresses necessary operating listeners identfile http_host following supported listener2 libraries automatic unlimited rc_reload listener1 responses processes fullchain listener0 verifying lockedmem addserver listener4 listener3 otherwise openfiles stacksize chansaver challenge something libicuuc bindhost software location flexible prevents syspatch username networks standard buildmod separate solution requests chroot69 properly creating hostname allowirc allowweb settings symbolic checking makeconf webadmin services mismatch confused nickserv warnings whatever lastseen adminlog certauth encoding releases instance formerly redirect webpanel nxdomain upgraded s_client fullname yourself internet provider deleting infinity database defaults generate coredump identify 12345678 33554432 channels entities continue filtered modules records exactly changed privmsg contain include openbsd getting libexec patched keeping account missing configs library usermod command _identd derived numbers letters maxproc perform restart nologin deleted between example running replace bouncer crontab urandom minutes console openssl earlier pkg_add compile symbols disable without oidentd options working changes adduser specify scripts addchan initial assumes seconds logging happens already belongs nofiles certain suppose generic private writing deluser enabled unable ircnow relayd resolv status likely easier subnet logged should single locate update causes libssl online create rehash suffix global adding errors either export vhosts lookup folder spaces inside unique shared botnow ensure cannot groups before method glines please ignore reason kbytes stable tested 329478 memory blocks 985092 ulimit return better issues reboot rc_cmd custom socket saving needed allows mkdir wheel parse false chown there 31337 fruit using offer 65534 users hints rcctl quick first ifend touch shell cmake chmod still where party state icu4c proto fails 4p0v0 below blame cheap which buyvm these steps ports pfctl 10000 amd64 their https class 32768 crash vasya uname asked begin pgrep mknod strip known added right ahead later httpd click every wants debug leave gmake while quote looks again apply types wrong could loss more will fall home 6697 this true doas must rdns edit ipv4 aaaa 6400 case into 2605 then ipv6 just sbin free help dae2 have disk 2001 feel good same inet that been note 1338 when 2020 from kill well esac once subr back null link site done acme libm libz man1 curl mode bugs made xvzf 4096 8182 tabs vipw 1001 find ddos time 1310 copy 32a2 ircd each rule bans typo 2048 fact such most 3000 6667 both none 1025 zero zone usr org 3rd but etc bob nsd gdb var may 2v0 cxx any 644 was bnc did abi due way pem yes tcp src bit bb8 env rpe uid 302 cpu ksh new 48m gid 127 tls 464 put 168 192 few db8 gz rx mt 72 pc mv 80 07 21 _g +Tor.Hidden:1628920394: : hiddenserviceport hiddenservicedir configuration installation permissions runasdaemon undernet hostname required address pkg_add simply enable runned editor whare using torrc onion links owned start since files rcctl going ports exist user make sure will with more doas just want path then _tor this time same 700 and has now any you cat can get set etc 127 for who of 99 by be +Dig.Usage:1628920394: Openbsd.Unbound : izbhjsub4nrdwbjfoigoofxfgdx4drdflsjymtec0iixpdokvkbyyp1a 4fede294c53f438a158c41d39489cd78a86beb0d8a0aeaff14745c0d bnvfctax1w1oiurbnlbt4usuc2krxwfuxuultcthjei0bdebbnwezz 4qkg9jzlco1h1srg5zuokl13u8uabt378ic6ajyrtfvairk3s1sy 3awzwovpnim0u4rccuz4nz6nprazveeapwk2hxkqml xuc0kelaamwxhlqjy4pe75fgzgpo3wwrqgx4tpev qeps3buvqvl14ttkgltcuuxqooacusuznwbu3xaj cwjnmkinfyf8v9aoxwiddca03xofvshzpcu5zo8 utzafaqh4dc0qal9ufjiuqnepwtalagcnz sjrx7aawp5wpswi5iofzkuot3bv0mzpxov nv31ewhff5t0tiwepsrluipnfc3anphea zunq39daer9pzgakssyhlgxc7wkacrxt 1i870vj5h429vj9pci7ar6e9gki74tr7 1i87r64gaju4o91mhkbu7i9ekbs7k8ut dd5mibgab03im9bnjrjia69igfiona2m dd5nd6btbkeq2d0352tnpa24dskua3du modc09a40cwnfyzaioffp7bkcxfje7 piadxjop4abn6w7l6cplv128wxebf dqvwwvpsmkoir8gmrfljfxxq46hl vb9kjjyimzrryzu3mmbdc0uqiiai igqv2xkjzfmnu3o5cz5z321oab v3airebvv9tjnmyqxtsdvni o4aveplpbu0xvrpmhshweep dh8tx9wwgiqrto6rlnl7p la9t83cnutqkmbzwfnzr jr1wne6pxvrbjpas2ocx 5ewquv1hydmduitnsue dqhlyhfjiu9lham9m6 a7kpppp36dpqiwt7kb kurewcvpge4gbbwrrt xv16tqubgsqhfd3w2 rdl9kus23ps65h6vz 332539ee7f95c32a a3jr31viutgkzuft jxwcrg98xpfsmcga troubleshooting 20210504010414 20210525020414 lv9k4hnlyozz3r 20210503190000 20210516200000 20210522152710 20210501142710 authoritative twbo0rwues0sp pseudosection e3dzg9p63mkq milliseconds xs0zp5wixlqg nameservers reconfigure 3yb7pkjaukt invaluable nsec3param propagated delegation connection 2021032508 especially additional authority completed vjlcpfp7u indicates different succeeded important responses nxdomain received believes computer previous hostname 16e1de32 question tutorial querying username retrieve expected exchange backward example afilias records noerror because request qrcshgo address 544jjki openbsd testing unbound caching tracing helping reached default opennic utility details 1209600 started returns getting version changes answers correct suppose offered options success failure ircnow g9zqga 518400 status lookup hldbqd lkiwza 172800 action synced public errors cherry global header opcode traced useful moving rejkrb exists banana cannot dnskey resolv please jujube longer other there given using shows rrsig works https title 86400 14631 words 30453 timed could might local guava means entry bmm0x value flags fruit which after 15341 bytes admin usage tells asked 3600s 26974 mango valid peach lemon root this info path from part find your have ipv6 plum 1097 wvxu 4860 1r4g q8bz 2001 1800 7200 pear that 8888 many does zone ones rcvd size mail 2020 when aaaa msec like ipv4 want make took what will hour live very edns used with also 4096 text for org and see ttl has dig run own 192 nst 127 168 198 nsd net 485 784 907 500 fri aug soa cst msg ns1 251 130 end udp etc out are but got cmd jhh lxy ns2 txt ptr cxp two mx 55 93 b2 +Openbsd.Hopm-Arthur:1628920394: Openbsd.Doas : troubleshooting configuration installation reconnecting issuecomment jk_chrootsh adjustments connections interfacing immediately installing foreground decompress downloaded workaround configured especially requisites usefulness instructed additional particular background favourite trialling instances compiling directory recommend encodings necessary 301276082 reference indicated typically following questions extracted required mistakes username hostname password familiar fullname commands warnings releases compared navigate properly brackets defaults previous executed majority adduser refused openbsd coconut another nologin assumed correct unbound reading missing disable section however specify goodbye pkg_add running archive testing writing initial ideally getting details network package tarball pulling started pbuild failed groups ircnow invite authpf github master daemon server latest hybrid issues enable editor needed within logins second tricky readme arthur silent shells before trying ngircd passwd rc_cmd chance create asking listen option either system record syntax errors result stops debug where after lines times files would which there phase these https rcctl chmod hints gmake every cover found right added guest enter worry about 23t09 staff later class input 65532 check first case hopm save your that exit from text doas when come suit copy this home many also blob ipv6 2021 0600 does aaaa subr tips mode were doku page some want boot true aren have unix sbin into skel wget grab fine nano 1002 bash will know must bgpd path then etc see vim don ksh but org znc uid via csh may due let its can dos ran was won php zxf gid few kb gz my of 22 14 59 cp +Relay.RecentChanges:1628920394: : recentchanges relay 2021 jrmu may 12 at 09 10 am by +Botnow.RecentChanges:1628920394: : recentchanges botnow 2021 jrmu may 08 at 09 44 am by +Ngircd.Install-bej:1628920394: Netcat.Irc Password.Management Openbsd.Chroot Rcctl.Rcctl Ngircd.Ssl Ngircd.Link Anope.Install Achurch.Install Hopm.Install Acopm.Install : abcdefghijklmnopqrstuvwxyz noticebeforeregistration maxconnectionsip defaultusermodes operchanpautoop troubleshooting allowremoteoper requireauthping implementation syslogfacility configuration maxnicklength cloakhostsalt alternatively documentation installation eavesdropper authenticate configuring pongtimeout description lightweight maxlistsize information necessarily infrigement pingtimeout harassment management absolutely disconnect eventually admininfo2 impossible restarting compromise censorship customized production advantages installing admininfo1 minimalist maintained understand adminemail connecting nullrouted unfiltered different uncomment invisible necessary otherwise copyright replacing localhost reloading addresses commented listening suggested including passwords promotion sensitive debugging receiving configure firewalls chrootdir developer plaintext identical location hostmask stalking channels portable violence standard username settings template gambling maxjoins operator spammers services properly remember intended upgraded packages hostname features software probably security comments includes actively rejected existing messages chatting anywhere official appoints controls training motdfile cracking provided examples accepted sysadmin straight network mistake syslogd nowhere monitor servers daemons outside hosting openbsd differs replace command achurch heavily _ngircd besides symlink listing directs illegal section working content support without warning created written scratch contact another filters running however ignored prevent appears compile pkg_add correct slander careful options reasons privacy please unique public policy ircnow string insert reduce netcat random ddosed system source ensure secure verify client modern errors inside global barton sample remove domain single manual simple planet enable trust acopm ports opers their anope block being proxy users avoid files evade rcctl going while which touch needs match order chown mkdir check leave vhost fruit lines crash using exact keeps means pkill after three until aware below those these share earth drugs https build index short begin staff hangs fewer pages speak title guide paste above terms clean every agree libel 16667 setup make will have read from this want into doas your long also lead note next else nsfw that more ipv4 ipv6 when real must many 2001 edit xvzf send tags only team sets does test like logs sent each 6660 6661 easy 6662 fork hopm 6663 stop 6665 6666 help wiki code porn both well runs 6664 6668 1000 such 7000 free 6669 php org may var v26 one ssl ftp tgz get can 300 don see has try hup yes bej ips new day 168 192 db8 usr 127 let was by ux cp ln +PowerShell.RecentChanges:1628920394: : recentchanges powershell connect june 2021 jrmu 09 at 11 10 am by +Opensmtpd.RecentChanges:1628920394: : recentchanges troubleshoot opensmtpd configure openrelay august 2021 test june jrmu mkf 23 12 by pm 04 05 at am 38 15 11 09 40 +DNS.RecentChanges:1628920394: : recentchanges ipv4rdns ipv6rdns august dmarc dnswl jrmu june 2021 dkim mail july spf by am 04 at 11 07 pm 23 03 24 01 27 15 06 17 28 10 50 +DNS.Mail:1628920394: Nsd.Configure Dns.Overview Dns.FQDN DNS.SOA DNS.SPF DNS.DMARC DNS.DKIM DNS.Dnswl : tb8yiwenh01hz5xh1gjwg1v8oirnerf3482b8xrzykhjqudjcalnz9ggz9cnzahic3tsantdshdgk3c0oqjeilriw0eiakv2 migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqcmsef9dm8dx1ltmlmd56d628jbnaqus8aecdyyzvbvq4rhetzzv eeu2odwqqgyqgvv0xuk5qjsnsgf5ukkscrxmthspptoaqjt25fxnd3ptvh2zonagkzkntk kcohbemvxeotqtqzttdhxm6bkeluo0xbbhlrsq8c3q92oqztwflk 8amiibcgkcaqeaybhtr90v64hqtfw1sutfpg5byxf lmflyzipitm4egw3kadlzslycjutlkhcg5b u6wn5xxli9hmovxluwidaqab ibjdyqpndormr7r4itij6o sxutnmzigjmql81av47dg bsc2rzzszv2gzmrrr 2f4ak7xtamayful pb7pql4g86lczsf zmafjtef2rlooq x1jwlpungjgjt configuration instructions discardable cdepmqw0xn8 functioning _domainkey containing 2021050302 understand postmaster diagnosing yyyymmddnn whitelists s17qidaqab configure _dkimsign following authority qualified exchange together continue interval returned appended overview removing requires _dovecot properly concepts problems groupadd creating multiple normally example produce running records refresh servers serving offline joining minimum deliver private expires reports provide seconds useradd nologin openssl updated another command queries defines replace assumes already uun3kqc perform dmarc1 result public pubout should number serial _dmarc genrsa filter actual charge mailto create _smtpd useful adding handle others before choose printf origin needed sample taking allows simple lowest short there first means value takes sends title chmod retry 86400 start mkdir basic _adsp every fully final chown using 3vhfy empty after dnswl admin begin guide lines this next will like into that aaaa text find fqdn with free look goes doas 3600 1024 none sbin your have last then most want zone spf1 2602 file fccf only when name says what make sure imap 1800 asks time just etc rwx was var day 3rd soa nsd csp set txt cat awk ttl ns1 163 let dig 143 but pop pct any rua can two ruf ns2 mx 38 +Vmm.Optimize:1628920394: : virtio_vmmci continuously conversation improvement interesting interrupts immediate vmm_clock recommend efficient servicing subsystem voutilad checkout research breaking complain whatever cranking solution settings planning optimize anything mlarkin working usually drivers success hallway cheloha rebuild thanks brynet kernel things always allows guests tuning better github right works would think notes later helps still meant misha https since linux leave first param while sorry with lots away 2000 1000 just give your page also talk dave jrmu more that will this take host rate been 2019 idea only bios have make into then word misc hard miss come tech dont had vms try put yes and how for him but has now hit fix 11 ah 57 58 hz my we of 54 53 ok 55 if 56 dv +Freenode.Money:1628920394: : thetrichordist controversial spectacularly subsequently entrepreneur progressive mark_karpel programmer “lost” eventually foundation daydaynews dahlskjaer falsifying collapsed karpelès including estimated companies sentenced teachouts financial promoters suspended wikipedia residence interview anonymous marketing madeonirc district holdings karpeles freenode achieved takeover exchange internet february hackaday acquired relative launched platform advocate bitcoin founder article million defunct privacy founded company website several dollars private trading certain success project history service network angeles distant tracker through haiyuan debacle prompts primary related gox’s inflate leading joined prison access shells andrew ircnow prince months source stolen worked attach before called united states london 840186 exodus course highly former merged guilty zephyr behind resist pirate m7ev8y https after crown april march tokyo later lands which korea media width 500px price court trust years owner staff hires money gnome death other where party worth ties live logo team 2016 this that 2013 time from sold with 2019 open also data long when they were four 2021 html 2010 cnet past grew 2018 both have has job was lee org 450 png cto usd its a8s www ceo 000 460 put 700 vpn pia of 95 36 mt c3 xi by 30 14 up 05 08 33 23 09 +Freenode.RecentChanges:1628920394: : recentchanges freenode takeover money power 2021 jrmu may at 04 05 28 am by 25 26 38 pm 29 03 +Freenode.Power:1628920394: : 20181207230330 20210507003605 contributions sponsorships professional application distributed communities ycombinator partnership danieloaks prawnsalad disclosure expanding mobileapp important launching sponsored introduce alongside marketing ircclient madeonirc europnet founding networks freenode friendly starting holdings who’re 18637152 projects inspircd internet provided 18644090 continue 17375831 monopoly snoonet linking archive notable ircdocs further changes details founder private kiwiirc funding weechat expands clients saberuk through generic sourced danger future worked family github andrew irccom rfloat london google access attach dalnet ircnow en_us https build there nerds multi where ouron owned being sadie stuff lucky years three while media trust sites store horse title power yours today posts truly other width owner 500px spec huge that very been time lets take like name devs will apps play code near have open this soon with they full item news june paid lee pia ltm for may are few dec use run its web org www png 24 hl as up 22 11 my by · e2 80 93 +Ambassador.Networks:1628920394: Ircnow.Ally Ircnow.Networks Ircnow.Ilines : communications onlinegamesnet aerospacechat organization universochat coordinating hackthissite explosionirc establishing unviersochat universalnet allnightcafe simpletable germanelite responsible communities programming trendsohbet advertising discouraged insomnia247 kampungchat description performance umbrellanet overthewire chathispano environment chatplezier forumcerdas roleplaying chatsystems darkscience chatjunkies chatlatinos nationchat zwergenirc friendsirc quoservers allz4masti banglacafe technology digitalirc characters redhispano shadowfire virtualife liberachat twistednet spiderchat ambassador superhosts tildeverse amorlatino allnetwork irchighway coolserver chatlounge pineapple swisschat enjoychat minecraft chewbakka desirenet alphachat dejatoons malaysian amicachat puntochat rootworld globalirc community volunteer hybridirc freeunibg canternet chatgentr freshchat shelltalk gamesurge ircfreakz robothive darkfasel redlatina quartznet chatspike mindforge malikania ircsource teammates nastycode streaming obtaining viciochat siamnarak alliances zandronum lecturify geeknode darkmyst quakenet chatzona irccloud librairc recycled networks freenode software sortable frantech scenep2p greekirc chat4all absoluty zeronode europnet buenchat oltreirc swissirc openjoke internet services provides protocol handling romanian spigotmc tweakers trsohbet irchaven friendly svipchat undernet spotchat geekshed afternet everyone oriented afterall chatopia skychatz smurfnet simosnap slashnet platform chatasia swiftirc telegram allrednc bsdunix reports ircgate hackint irc4fun chathub perhaps chating halogen ircfree example geyiktr gigairc bridges support brasirc contact foreign english hazinem deepest channel cavenet icqchat partner rezosup scratch snoonet closely xertion austnet address gz4m3m2 thaiirc darkirc eggdrop technet sorcery 2600net juggler evilnet bitlbee etnies6 blitzed browser italian bolchat irczone webchat azzurra discord epiknet netchat ayochat orange banana jujube ircnow exolia ilines exchat invite ekolay efnext stable rusnet glined tested zonebg mibbit cherry synirc secure sturtz master twitch matrix gotham hacker border geveze luatic kalbim ircnet chateo future bsdnet relays dalnet barton should column apropo afterx modern nfnet evolu width zairc uugrn esper myirc mango wenet euirc class chaat grape lemon ptnet 42net users ewnix atrum zemra place amici claim edgy1 title bgirc where lucky other anope email based abuse https these irctl today rizon zoite zurna zenet efnet plum 6697 7000 6667 lego pear irc6 6660 your fast easy best link ircd 6668 pirc axon perl oftc many want wnet they with 6670 name will ally from xmpp city nfld also room page note that safe bncs used gimp text ipv6 noxt 9090 ipv4 irc2 non fig ask yes mif 100 may but xyz znc 127 uk pw jp tv w3 tk xi gt +Ambassador.RecentChanges:1628920394: : recentchanges ambassador networks markets ilines 2021 jrmu may 27 at 04 05 by pm 30 29 32 +Ambassador.Ilines:1628920394: : connections oddprotocol planetofnix configured thunderirc exemptions ircforever ambassador nastycode authorize addresses exception greetings shelltalk lecturify bsdforall currently providing sometimes possible outreach bouncers accounts networks freeirc website contact because request details ircnow jujube around unique ilines needed relays called public sample adding coming other grape users email mango opers limit order using these ident https 0010 0030 f8de 2605 1290 0020 6400 have faa1 05bf bots team 069d 05cc spam 00fe 0434 fc15 00b4 f633 071b 0bb8 like ipv6 this must many week ipv4 from case look here 198 251 our 229 org 141 209 too 173 you and are new may 119 can 137 133 ips 800 158 130 ask 228 184 240 183 at 39 89 81 38 44 91 +Wordpress.RecentChanges:1628920394: : recentchanges wordpress install july 2021 mkf at 06 59 pm by +Vpn.VpnIos:1628920394: : authentication configuration description finished username passcode settings verified download password general profile install details browser working connect ircnow attach legacy corner status should bottom toggle return remote server vpnios safari iphone button title close ipsec enter https local allow users again using first right your home when done iked will from vpn3 left such fill icon cert open here org crt web png for old tap see top bar add and app 13 08 03 10 01 02 06 be 07 id 09 05 04 +Dkim.RecentChanges:1628920394: : recentchanges dkimsign june 2021 jrmu 04 at 09 07 am by +Netcat.Usage:1628920394: Openbsd.Mailopenproxy : troubleshooting mailopenproxy specifically successfully destination connection afterwards networking 1597224404 configured 1597224116 connecting correctly displayed opensmtpd recipient something establish debugging succeeded extremely following networks delivery identify nickserv password accepted e57f9a36 hostname properly followed complete diagnose valuable sysadmin message address channel newnick example privmsg seconds showing newuser process pleased writing foxtrot subject openbsd servers charlie warning sending because attempt replies ircnow record should either signon domain client netcat errors relays simple letter appear itself entire alpha whois esmtp hello check valid bravo hotel enter vhost delta email world shows above using modes title usage other knife 12345 gline often which means drone swiss reply motd 2001 b8fa 6667 then 9812 like 2562 will ipv6 root jrmu rcpt bind type your from f8fb 0db8 golf ping such pong with data ever idle this quit helo test look next just ctrl here time list join part meet echo when 3a85 11eb 2f18 f117 done rdns help tool that nice aaaa case code army 163 org and 220 web for can day 250 see any bye 221 143 are 354 not 396 311 312 378 318 379 317 has mom 38 b4 nc 86 up +Netcat.SMTP:1628920394: Netcat.Usage : destination afterwards opensmtpd recipient followed accepted e57f9a36 delivery complete message example address sending pleased subject process charlie foxtrot itself netcat letter domain email valid hotel delta bravo enter alpha title esmtp hello usage using golf echo quit with type line helo data then rcpt from here meet next 250 our 163 143 you 354 and 220 bye 221 how for to nc ok 38 81 +Grape.DonateUs:1628920394: : bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm 0xfbb8e956ab002bb61732501639a06cab6d98e44d bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445 dnntvbo7htfbvjovvph6kavdqyoxqmz3dk tthhd7ckbzge8gx1vdghtmsewrsbuevuy5 permanent donations dogecoin etherium donateus address sending through bitcoin result crypto tether accept erc20 coins other trc20 grape bep20 token usdt only loss busd this may any now we +Unix101.RecentChanges:1628920394: : recentchanges unix101 august 2021 mkf 09 at 06 41 am by +Ksh.Bash:1628920394: : initialization stackexchange stackoverflow recommended environment preferable switching something compliant character directory implement questions kornshell function hostname variable username changing password familiar declare current options command 1171663 profile display replace 8468165 yasuoka logname forward default history openbsd however actual prompt behave export myname mkshrc retype should stored custom source within passwd 388258 title https alias print reads games arrow right which posix start stick users local pdksh x11r6 emacs home your edit time down that echo keys into line this unix term path back else both then left show once bash like said look chsh also make from more sure than want very what real 2018 set bin __a 020 usr not out __b new old can 016 005 __y 001 __h 002 __d 006 __c etc pwd _cd its put now ps1 dot cat if 29 54 up +Ksh.RecentChanges:1628920394: : recentchanges bash june 2021 jrmu ksh 09 at 11 31 am by +Eggdrop.RecentChanges:1628920394: : recentchanges duckhunt nickserv eggdrop install august simple jrmu 2021 july at 05 06 17 34 am by 11 07 27 49 +Police.Intro:1628920394: : completelyrandomcloudexample genericregistrarexample ctcp_userinfo_reply ctcp_version_reply autorenewperiod orgabusehandle orgtechhandle orgabusephone orgabuseemail identifiable organization orgtechemail orgtechphone conversation orgnochandle registration orgabusename orgnocphone information screenshots d1234567890 orgnocemail orgtechname orgabuseref registrant additional disposable background javascript registered associated disruption creativity afterwards collecting expiration connecting infiltrate inaccuracy personally orgnocname postalcode orgtechref understand interested operations particular las1234567 passionate everything lno1234567 user_name real_name nicknames ln1234567 therefore important reporting recommend attention orgnocref effective complaint translate committed something realistic netsplits sometimes education suspended authority criminals addresses stateprov confusion providers noscript feedback language reseller bouncers accounts document printcmd software question business networks whatever chatting channels registry username evidence normally research anything websites purposes customer spamming creation torsocks reported unsigned allowing physical preserve realname phishing database possible stealing province servers section support setting further disable finally suppose company clients noerror daemons options respond grammar illegal written realize pkg_add domains logging because careful hosting however tickets offline someone control command comment friends contact updated orgname nowhere country regdate biggest joining proving contain perhaps browser willing looking clearly besides dialect reports autolog attacks suggest malware hobbies reasons welcome umatrix english around figure inside should emails dnssec answer verify spying global videos taking safety source number guilty crimes double entity follow danger notify strike unless police botnet status unable admins hacker stolen little hosted ircnow filing reveal within turned header opcode credit closes change gather causes engine joined things useful enable google before moment formal social subtle expiry whois shell https being right 06t00 linod doesn weeks comes icann takes their thief using 15t05 visit 39025 07t13 orgid query vhost calls tells needs filed twice based flags until intro build rcctl first fraud trust irssi enjoy start proof basic 86400 learn media still birth shady while wrong might helps spell slang order ahead lying think about avoid doing lno21 users share these found rules never break ircds hosts hours clues speak check brain spent down must your when this bots used many arin last live went save made case once else then took logs from want that mask over much like most owns rcvd size 2020 make sure msec have know 6039 arpa 4943 sent 8900 rdap 2019 2008 city find send free team them more they word show just feel shut tmux doas tool fill iana 2021 2018 home pick runs mirc card ddos type page wicf stop talk lots hubs hide fun vps ptr fit old few bad may get 168 got 127 192 thu dig etc don but msg 12z him 36z ltd epp via www url law was ns1 ns2 has 58z cld why won 295 300 by 61 04 41 28 57 22 qr 53 24 p2 80 55 14 +Police.RecentChanges:1628920394: : recentchanges police intro june 2021 jrmu 19 at 11 42 am by +Openbsd.Ed:1628920394: : replacements explanation afterwards expression containing completely unwritten executing available mentioned switching supported filename commands advanced previous includes telegram document directly features examples suitable terminal switches executes replaces warnings accepted quitting argument reverse regular default scripts current enabled repeats toggles opening without address editing openbsd symbols deletes writing combine artsi0m unsaved explain content editors changes numbers prints length buffer prompt border errors single append insert writes before please visual course adding marked search custom simple cleans second first using opens lines doing until there world noise usage basic hello blank about shown shows means joins finds input other which works modes upper https taken moves where quits stdin start thing below saves stuff while uses that like from this used when only does undo next last read them will same into sets your text note exit back such book most page help done some nthn but all 9th won has any two dot see can mth are org few too nv lc by nj of 14 if wq 9r wc +Vmm.RecentChanges:1628920394: : recentchanges configure optimize install august debian 9front jrmu 2021 june july vmm may lol mkf by 19 29 at 06 10 48 04 am pm 07 09 24 25 11 05 32 16 +Termius.Connect:1628916134: Shell.Shell Ircnow.SSHFingerprints : sshfingerprints alternative id549039908 connection continue respects username password consider software sysadmin terminal termius account instead without replace address welcome console install contact warning correct ircnow server attach corner please cancel verify double create wizard source rights match guide shell quick learn apple first https check using title trial fruit save type port will your open real fill made free when host they that done note help then apps more once tap png and org for ask top is +Openbsd.Growfs:1628815451: Openbsd.Backup Openbsd.Announce Openbsd.Fsck : 50014ee25f5d927d fragmentation growpartition connectivity installation consistency substitute afterwards filesystem parameters 1953520065 boundaries particular partitions represents attempting 1836432768 everything performing 1836513345 1953525168 648839744 650507712 652175680 653843648 655511616 657179584 658847552 660515520 117006720 645503808 available 662183488 104423808 allocated 100229504 647171776 including 630492096 currently 629145600 229564168 disklabel teammates 633828032 635496000 637163968 638831936 recommend 640499904 642167872 643835840 632160064 663851456 otherwise 186430532 formatted unmounted permanent gigabytes pathnames reference readable enlarged starting tutorial capacity 953869mb scsibus1 43606400 19079328 wd10ezex 10690752 58286464 announce commands 56189312 strongly modified geometry actually upgrades 23303813 cylinder boundary mistakes 39512255 growing changes default display 2097216 openbsd sectors corrupt maximum warning machine labeled virtual greater showing drivers backups finally section reading forever destroy careful offset resize entire fstype ensure before blocks delete modify should finish except become single unused counts folder double around unable follow editor prompt toggle groups expert 896695 growfs cannot inodes header clean frags x11r6 12960 local 16384 space again check means human there 26062 total which print first bsize using occur 80576 fsize 52224 super phase order above users their enter sizes point write reset rsd0k title guide https 900gb could faq14 disks these setup dmesg typos 500gb cause 2bsd home 2048 will sd0j busy targ like need make data lose sd0e your grep root then sd0i list note 4096 none swap undo than last sd0f much this exit 295g 151g page 833m 130g free 103m sd0a 986m sd0d unit mode save help auto sd0h hard area quit want sd0g over 234m 702m have with must 1929 made mark fsck that more 155m loss 862g 819g also some html 1101 blks 300g only 44mb org run two dev 7mb did 814 see was yes 2tb new naa src usr cpg out www 21m tmp wdc var lun usb fyn 875 obj may any add 575 log 7g 3g we 8g df 4g 6g +ConnectBot.Keys:1628751535: Sshd.Disablepassword : disablepassword authorized_keys authentication connectbot additional worthless creating generate randomly nickname optional security without ed25519 private pubkeys becomes warning attach longer forget public unlock purple corner around button manage server before finger logout secure should start blank leave login write check title chose setup right arrow paste sshd type need load edit your copy move left back plus here more icon will this pair menu none fill down png tap top use any can don box if we +Debate.Monopolydanger:1628708472: : telecommunication monopolydanger disaffection intimidates censorship government technology represents cloudflare integrity authority targeting coalition pakistan addition internet minister threaten security facebook hearings slashdot linkedin twitter through granted defence expedia alarmed earlier digital content rakuten excites 1849228 booking nytimes remove toward senate called amazon airbnb google debate group yahoo firms scope apple other https harms block imran prime power story leave they that asia were html week this grab jrmu said khan line 2020 hurt ways pose law org new sap and aic www 17 11 45 of by 10 39 +Minetest.RecentChanges:1628684403: : serverlocations recentchanges addingarenas texturestyle worldbackup monospaced minetest updating commands economy april 2021 jrmu mkf aes may am 58 10 24 by 12 32 pm 15 08 56 11 59 00 +Web101.RecentChanges:1628613227: : recentchanges craziness started web101 august 2021 at 04 pm by +Web101.Web101:1628612433: : description oddprotocol currently craziness progress tutorial working welcome website making web101 about html4 first with css2 your host http this org and are the wip +Openbsd.Bitlbee:1628596998: : openbsd bitlbee +Fdroid.RecentChanges:1628596816: : recentchanges install fdroid august 2021 jrmu 10 at 09 05 am by +OpenSSH.Connect:1628590752: Ssh.Fingerprints Ircnow.SSHFingerprints MITM.Intro : verifyhostkeydns sshfingerprints authenticity ulqwp4stgck4 ysc50aziekvi established incorrectly ofe4jf8n0c connecting reconsider configured published matching sysadmin username continue security serverse example records ed25519 another warning replace openssh enabled cmfill better sha256 middle attack method ircnow should dnssec intro alert check might worse there their found using sshfp names known title first trust this does sure want make when mitm even line with will sshd your list are any com and see yes can for man may how ask put set to 10 by +Shell.Sshfingerprints:1628585751: : b8eg6kph0enoa80gzrsywdpbfittqkcqpa5zllytnso ddvpjfdfsmp0bttyz84o5ohlxtmwphp8gwdipwc4rvu zuyvmivs4pttgmhutgltygrizrhvugq1av9keqhqw8w qcvqbfidaonla4my8cuipyacb7uwltu3acii22uakra clmvqu0q8pix7hv92ocmm5pohxfyvyn33hcxkn0mfrk tfgntqeynkisu0cphmezrlbkyvuylnnf9quakpijrau suo14qmmadftez9dzgybhfrnyp9crees5mrvvr6e0t8 tcfbfmpbmi1pcoxk6o804onoibp1ttyimkvlu8oczlo mz0kuriqsfwecnnmk0wme8nzqjbimslwjo4jmqol xxbmizlxi8kzel2souqdituy7c7b4dnzgfgi fnu7cx1gxdjexnnasnr5qw6b3nkwtyrbti zkfhl6nsicctw3ialn0rizvhcqwgwz mmmmkyjstnpsagvrr4mjsmtryqtmka ffkusymiyoay9atxdulbyeeewxlt razh8bpyvql51zcjfetdj8nzpjdq m6sd5iyyj5m1g7zdcfvhbrzceq ohv2fwpi2slhmx7utwgztphvcm 1agi3m2ylukchgmq3smx8ro yvkispem7vkus5qfosqaeu dlivmtx59tkwk2vkrl ipou7txy1ze7nwi2 sshfingerprints rl2kxocobj66 6yrmnjlqzxx npwmt4hzq1 mgpvxoebmt xdijhgra3n brzkpyqmho bsdforall shelltalk eigwxhwf syoualj8 ircology v6gs4o9j tzx3l4wu redirect ed25519 qkxov5n freeirc sha256 ircnow title ecdsa a0lir evpp 1024 7cd3 3072 host rsa tyc md5 org net 9ye com 2ac 20 d9 08 3d 76 90 98 e9 27 35 fa 42 73 13 03 52 63 c6 85 3c 00 87 28 5d 41 af 15 17 64 2c d0 c5 2b 86 45 d7 44 46 b6 09 01 c0 16 6f b1 a9 a7 11 0d f2 bc 39 05 79 9b 2e e3 40 f5 c8 4b 4c b9 68 77 b5 0f 5f 8f b2 94 54 db 8d aa 26 78 88 91 36 3b 32 60 bb 69 0a e5 d4 96 1e 81 74 89 bd 5c 7d be fc 95 5a 37 62 1d 3f 70 6a 5e c2 d6 7a 2d de 1f 75 6d 4f f3 65 b0 e2 34 f8 ba f0 99 31 6c f1 +Ircnow.Pioneer:1628555853: Freedom.Freedom Vps.Vps Minutemin.Bootcamp Shell.Shell Ircnow.Servers Ircnow.Goals Ircnow.Minutemin : independence applications billionaire oregontrail controlled monopolies nameserver supporting portfolio marketing configure anonymous corporate minutemin volunteer webserver homestead purchase personal services accepted tutorial firewall includes pioneers proceeds bootcamp security sysadmin monopoly platform verified business bouncers offering servers account network created provide against startup sharing digital website openbsd welcome virtual freedom private unix101 towards payment upgrade rigged center ircnow elites finish custom answer social domain become mutual system attach course option future resume charge rfloat friend method shell staff learn goals using month weeks media photo refer below apply email dream title there 50pct claim users train today width build equal their tech this send bots they your four file blog ceos find life over join made 5usd want with will keep help what any run vps and can get org don own who png how tls was lan set new vpn are by 4 +OpenSSH.Keygen:1628533670: Sshd.Disablepassword Opensshd.Configure OpenSSH.Connect : aaaac3nzac1lzdi1nte5aaaaiekkjaexpzvheomsc pv1ekn294beug2thggoyjuxqfk disablepassword authorized_keys identification authentication fingerprint generating passphrase id_ed25519 afterwards additional configured generated verifying algorithm worthless username terminal properly securely opensshd security private warning provide connect another example openbsd without article becomes assume public keygen stored server should typing normal prompt client login never ecdsa image later enter usual again write title setup empty saved share https which more next your read will been home 4096 type this make pair sure that ctrl file same copy line lose note have down like ask can for now man org has may any 100 rsa end and of by we +OpenSSH.RecentChanges:1628530460: : recentchanges openssh keygen august 2021 jrmu 09 at 05 03 pm by +Openbsd.Sshkeys:1628527366: : a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49 7251d06cf5cf9312b502388edd93ff924c52a73a 4dc3d59ef28733c89f83e0e078b10a4a816e2a04 c9a19b42a7165596f0d0e5bfa947232978901dcb 22ccda0cafee42f3e2cc53d5f695244677a1a88f ssh_host_ed25519_key ssh_host_ecdsa_key ssh_host_dsa_key ssh_host_rsa_key authorized_keys identification fingerprints alternative passphrase id_ed25519 generating nameserver verifying username redirect generate replace publish process records private example desktop openbsd sshkeys quickly public keygen ircnow hashes online bottom repeat script domain image enter those sshfp files types later empty login added which other again linux first saved putty zone been home this with then 4096 your read that edit will five used last same pair all and org are run can 100 md5 mac for etc get art lf vi by of pc we so +Vmm.9front:1628489769: : 9front vmm +Iked.Configure:1628357021: IP.Myaddress Openhttpd.Configure : githubusercontent troubleshooting malwaredomains 4skinskywalker configuration interoperable certificates gazellegames installation stevenblack permissions destination information configuring justdomains connecting forwarding configured blacklists alternates nameserver addresses newhosts2 openhttpd malformed newhosts3 correctly blocklist interface necessary verbosely installed daemonize myaddress processes external gambling unwanted outgoing password username provides index_en reformat included consider solution capitole provided download openiked manually ifconfig networks probably valuable resolver security unbound machine running entries caching clients example replace unified easiest writing servers control virtual command enabled depends openbsd packets ruleset tighten privacy freedom warrior passive mirror1 torrent static ignore tagged device ext_if report errors rather piracy native public lookup isakmp master access create system allows ikectl banned secure simple actual pihole needed verify mmotti htdocs filter ipcomp sysctl ircnow reload censor obtain mschap check rcctl https pfctl debug regex point local inet6 first cause about taken final files start using users their lines chown chmod title valid proto roadw clean setup where wants srcid match ikev2 quick ipsec these being make doas have peer dhcp must this used porn enc0 will note 0600 that then upon only into from zone sure once bind tail turn with mode nzbs pros crls site your find blob vio0 base grep stop than type over anti vpn 113 any off 203 dsi awk may raw org php etc esp can app ip6 eap txt put var p2p ftp crt dns 127 udp www web way tcp rsa key rdr 169 239 202 pki 509 177 get 121 185 dl dv 53 ax 10 24 ah +IP.Myaddress:1628356442: : information 0xffffff00 myaddress interface addresses broadcast localhost reachable resolver1 determine external followed ifconfig publicly username multiple probably likewise example netmask replace without records machine current opendns virtual openbsd number device typing domain letter google driver refers always system itself which using lines might begin learn check about title setup short least once will tell your this find have look made myip vio0 more that such want inet real also 168 run txt few com the ns1 dig man can are not 192 has 127 one 255 and of to 10 by +Eggdrop.Nickserv:1628148447: : init_server nickserv identify password putquick eggdrop privmsg putserv botnick global type evnt mode proc bind with ws to +Eggdrop.NickServ:1628148425: : nickserv eggdrop +Medals.Intro:1628066087: : simpletable outstanding suffering minutemin finishing lifetime specific benefits criteria sortable training minetest service ribbons serving heroism account veteran general webhost gopher silver medals awards result legion border bronze crypto ircnow purple beyond heart latex shell admin class width merit intro honor above going users valor star duty harm nntp roll mail call year name 100 sip dns the for vps one of +Texlive.Install:1627998686: : texlive_texmf insecure install default libexec creates pkg_add helper daemon launch setuid remove system binary 2020p1 local chmod makes _dbus latex this full root doas 0750 rwxr used rwsr apr usr lha the bit 12 36 19 9k 73 to ls so by we +Dns.Zonefile:1627982517: : subdomains debugging restarted hopefully redirect fallback zonefile servers stories careful records problem updated changed trains ircnow serial causes issues number beaaaa should horror likes doesn heard grape thing check empty faa1 come 2605 wait 24c2 1ee7 2d52 6400 0030 with 390d jrmu also turn want same yeah each have this name some that such gry has the you lot bad nsd log dig org ohh and var but brb did dns 12 ok of 11 08 09 10 +Rcctl.Rcctl:1627916586: : rcctl +Minutemin.Ifconfig:1627909143: : installations information interfaces 0xffffff00 autoselect 0xff000000 multicast broadcast something prefixlen mentioned minutemin referring dependent allmulti priority hardware ethernet changing software ifconfig chagning loopback promisc network simplex address netmask getting usually adderss scopeid options without running changed besides virtual maximum openbsd status active llprio groups pflog0 egress packet lladdr adding utilty stack inet6 index local flags 33136 using other 32768 exist times shows about which media this like fe80 vio0 enc0 used they will size most 1500 8b43 8049 ipv6 fedd them ee06 2002 ccff 1040 mtu can nat em0 mac and you but set lo0 0x1 141 any 127 0x3 128 78 56 34 bb aa 48 64 by +Eggdrop191.RecentChanges:1627900198: : recentchanges eggdrop191 install august 2021 jrmu at 05 07 am by +Almanack.Alt:1627890732: : almanack alt +Eggdrop.Simple:1627890556: Tls.Intro Dns.Vhost Dns.Overview DNS.RDNS : protectfriends dynamicinvites dynamicexempts protecthalfops configuration enforcebans stopnethack init_server sanitycheck dynamicbans dontkickops botusername userexempts userinvites revengebot examplebot loadmodule retrydelay protectops attempting autohalfop compressed connecting configured installing exclusive different nodesynch quotepong autovoice serverror correctly unchanged theactual lowercase plaintext statuslog directory timestamp nnickname lamestbot overwhelm essential inactive timezone alltools blowfish undernet freenode quakenet logfiles overview settings newusers wherever incoming userinfo loadhelp chanmode benefits maxsends negcache birthday putquick possible channels chanfile dccwhois realname notefile optimize userfile sysadmin filesize location paranoid mkcoblxs autosave userbans assigned filesys default console timeout scripts several network entries because chanset created address eggdrop reverse warning account running confuse replace forward aclocal altnick botnick addhost logsize contact opchars instead trigger updates unlinks complex simpler botname require telnets stealth dupwait prevent meaning support modules finally chanrec remote ignore suffix notify source attach offset switch filedb please banner hourly vhosts pbkdf2 exists expire finish fields cannot vhost6 upload vhost4 format unbind prompt onjoin capath global dalnet mixing answer dloads reject static ircnet libera prefer twitch shared action secret choose autoop inside length things bounce called double ircnow stoned uptime unique using queue flood notes binds short intro might kicks shell owner flags leave cycle among other hello allow focus boots split which quiet ident learn modes front below mydir email limit stack efnet block there types rizon order party 86400 greet given bitch uname title these lines socks simul cmds home ctcp life must deop 0600 perm open seen rate show 1024 xfer idle keep copy quit cidr rdns pick rest just from your like 6667 irc6 6697 want into have ipv6 will this evnt proc sure motd when plus make very with best only most ssl and msg tcl 200 tmp 120 300 tls org etc die thr raw has fwd mco buf 180 any aop txt 100 cbc pwd by m4 50 15 hp dk ws +Eggdrop191.Install:1627880871: Gnupg.Signature Eggdrop.Simple Openbsd.Tcltls : e01c240484de7dbe190fe141e7667de1d1a39aff allrecentchanges troubleshooting configuration fingerprint development examplebot downloaded eggdrop191 afterwards keyservers indication continues certified signature configure messages eggheads obsolete optional securely filename libtcl86 install botname tarball replace extract similar primary showing belongs reports trusted problem warning unknown compile signing openbsd release verify import create tcltls delete should source latest simple folder tcllib action ircnow repeat there above gnupg error steps using might files state check local https issue title owner group into 2021 will this that your make want next nano then with good dest brss site logs need from edit made wiki pool stop recv xvzf org due usr pub ftp gpg asc for run www see and not cst sks may was rsa net mon bad gz cd vi rm 58 31 23 45 36 16 +Openbsd.Vhost:1627871572: Openbsd.Openbsd Openbsd.Znc Openbsd.Psybnc : configuring connections associated configured resolution addresses recommend following hostname redirect possible pointing multiple hostmask nickname connects supports cooldude networks fallback creating properly remember specific bindhost yourself normally forward reverse openbsd binding example section confirm bouncer running perform lookups suppose provide however another instead content happens domains records pointed servers logged subnet answer choose ircnow single vhosts assign custom entire unique rescue notice psybnc client either anyone entry words check money since could heart binds title which often using first would users world brown ident means match ipv6 tell each when this that ipv4 d00d have will c001 rely upon john only 2001 with need rdns both then arpa such aaaa from 3600 give take want same must even cost and way 192 org 168 can set znc dig ptr db8 lot out why isp had get 64 48 by +Bsdforall.RecentChanges:1627827283: : recentchanges bsdforall hardware august 2021 jrmu 01 at 45 pm by +Planetofnix.RecentChanges:1627827283: : recentchanges planetofnix hardware august 2021 jrmu 01 at 46 pm by +Thunderirc.RecentChanges:1627827283: : recentchanges thunderirc hardware august 2021 jrmu 01 at 47 pm by +Ircnow.Hardware:1627825705: : constellation 143413344190 st4000nm0023 motherboard integrated supermicro controller management expansions enterprise backplane ethernet 1000base p2349624 hardware seagate support _trksid capable onboard 560watt storage chassis server drives height system single supply l49292 m46890 ircnow level brand nodes rails x9dri 815tq 563cb slots intel ports caddy power 500gb https ddr3 2630 with bays work will case 3ghz core ln4f xeon full quad ipmi sata ebay gold 64gb only nics www cpu bpn sas 4tb pci itm any not com rev pws reg kit ram hex lff ecc 1gb cse for 16 2x e5 4x 01 v2 1u 1h 1x v1 x8 2k 7 +Thunderirc.Hardware:1627825674: : constellation st4000nm0023 143413344190 motherboard integrated supermicro enterprise expansions management controller thunderirc backplane ethernet 1000base p2349624 hardware _trksid 560watt support onboard storage chassis seagate capable single system supply height l49292 drives server m46890 brand level rails nodes 815tq 563cb x9dri slots intel ports caddy power 500gb https ddr3 ln4f with bays work will case 3ghz core full 2630 quad xeon ipmi sata gold only ebay nics 64gb lff cpu hex bpn sas 4tb www pci any ecc itm com rev pws ram kit reg not 1gb cse for 1u v1 01 4x 2k 2x e5 16 1h x8 1x v2 7 +Planetofnix.Hardware:1627825588: : constellation st4000nm0023 143413344190 planetofnix motherboard integrated expansions supermicro enterprise management controller backplane ethernet 1000base p2349624 hardware _trksid 560watt support onboard storage chassis seagate capable single system supply height l49292 drives server m46890 brand level rails nodes 815tq 563cb x9dri slots intel ports caddy power 500gb https ddr3 ln4f with bays work will case 3ghz core full 2630 quad xeon ipmi sata gold only ebay nics 64gb lff cpu hex bpn sas 4tb www pci any ecc itm com rev pws ram kit reg not 1gb cse for 1u v1 01 4x 2k 2x e5 16 1h x8 1x v2 7 +Bsdforall.Hardware:1627825503: : constellation st4000nm0023 143413344190 motherboard integrated controller supermicro management enterprise expansions backplane bsdforall ethernet 1000base p2349624 hardware _trksid 560watt support onboard storage chassis seagate capable single system supply height l49292 drives server m46890 brand level rails nodes 815tq 563cb x9dri slots intel ports caddy power 500gb https ddr3 ln4f with bays work will case 3ghz core full 2630 quad xeon ipmi sata gold only ebay nics 64gb lff cpu hex bpn sas 4tb www pci any ecc itm com rev pws ram kit reg not 1gb cse 1u v1 01 4x 2k 2x e5 16 1h x8 1x v2 7 +Lecturify.RecentChanges:1627825253: : recentchanges lecturify hardware august 2021 jrmu 01 at 27 pm by +Oddprotocol.RecentChanges:1627825253: : recentchanges oddprotocol hardware august 2021 jrmu 01 at 28 pm by +Oddprotocol.Hardware:1627824496: : constellation st4000nm0023 143413344190 oddprotocol motherboard integrated expansions supermicro enterprise management controller backplane ethernet 1000base p2349624 hardware _trksid 560watt support onboard storage chassis seagate capable single system supply height l49292 drives server m46890 brand level rails nodes 815tq 563cb x9dri slots intel ports caddy power 500gb https ddr3 ln4f with bays work will case 3ghz core full 2630 quad xeon ipmi sata gold only ebay nics 64gb lff cpu hex bpn sas 4tb www pci any ecc itm com rev pws ram kit reg not 1gb cse for 1u v1 01 4x 2k 2x e5 16 1h x8 1x v2 7 +Lecturify.Hardware:1627824431: : constellation st4000nm0023 143413344190 motherboard integrated controller supermicro management enterprise expansions backplane lecturify ethernet 1000base p2349624 hardware _trksid 560watt support onboard storage chassis seagate capable single system supply height l49292 drives server m46890 brand level rails nodes 815tq 563cb x9dri slots intel ports caddy power 500gb https ddr3 ln4f with bays work will case 3ghz core full 2630 quad xeon ipmi sata gold only ebay nics 64gb lff cpu hex bpn sas 4tb www pci any ecc itm com rev pws ram kit reg not 1gb cse for 1u v1 01 4x 2k 2x e5 16 1h x8 1x v2 7 +Eggdrop184.RecentChanges:1627810766: : recentchanges eggdrop184 install august 2021 jrmu 01 at 07 am by +Eggdrop184.Install:1627801624: Openbsd.Tcltls : 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e e01c240484de7dbe190fe141e7667de1d1a39aff allrecentchanges “ownernick” troubleshooting protectfriends protecthalfops dynamicexempts dynamicinvites passwordifany configuration shareunlinks demonstrated checkmodule dynamicbans channelname cmd_resolve servernames enforcebans userexempts sanitycheck stopnethack dontkickops userinvites loadmodule altbotnick keyservers additional compressed autohalfop protectops revengebot eggdrop184 listening servlimit signature preferred nodesynch statuslog uncomment mentioned configure autovoice lowercase directory lecturify serverror settings newusers inactive hostname timezone userbans birthday chanfile transfer userfile commands shooter_ logfiles chanmode realname enabling obsolete advanced autosave eggheads comments blowfish undernet channels paranoid scripits libtcl86 alltools messages filename optimize sigterm disable trigger default network example console timeout another install dupwait putserv logsize scripts updates require telnets stealth connect chanset replace mkcobxs pidfile altnick openbsd modules compile release strings chanrec addhost letters capital botname prevent switch owners wisely ircnow should resash length create unbind source simple compat notify onjoin hourly botnet expire banner suffix bounce sha256 fields mixing sighup enable dloads action tcltls folder select remove mcobxs autoop remote ignore others strict hybrid dalnet answer number prefix reject double desire output verify stoned ircnet tcllib offset shared latest static secret format uptime adding greet below notes using admin flood party allow order boots cycle bitch https flags modes after learn shell split vhost leave above stack queue local debug efnet kicks quiet never blank simul block whois delay ident state quick muste these lines ctcp idle then deop type with from your okay info site wiki brss wish keep give help quit made seen need life 1337 1024 port also copy this xfer cmds here motd 6667 only init path 3333 0600 7000 what perm edit sort text nano make temp 6697 recv irc6 xvzf ipv4 just sure core pool any1 dcc max gmt ssl env fwd dns abc 100 org msg 200 buf 180 fun aop sks tmp 300 raw 120 usr tar thr due pub ftp sum die run jkp can gpg gz 50 16 36 15 hp dk my tz +Chroot.Intro:1627743320: Openhttpd.Configure Nsd.Configure Unbound.Configure Ngircd.Install Znc.Chroot Wraith.Chroot Pylink.Chroot Pledge.Intro Unveil.Intro : 00000228c7de6000 00000228c7e16000 0000022622dc8000 0000022914fb2000 0000022622dcd000 000002285bdc7000 000002285c133000 000002282f101000 000002282f00d000 dependencies applications compromised limitations permissions filesystem libprogram dependency openhttpd configure developed directory necessary drawbacks imaginary sometimes replicate processes security syscalls requires enhanced provides chrooted apparent absolute changing multiple normally creating install libexec unbound suppose openbsd daemons attempt whereis tighten however because network pylink wraith moment create binary grpref inside pledge unveil within access thinks change ngircd cannot refers modify become update mkdir intro still their these every until there using users title start first party https third stuck doas home many path uses each copy next must only gets find libm then libc want have need that type them rlib what runs when this make jail name var znc its and ldd nsd usr org may you own for new now www has our cp 96 of by +Syslogd.RecentChanges:1627660871: : recentchanges syslogd remote july 2021 jrmu 30 at 03 pm by +Openbsd.Vmminstall:1627536494: Shell.ShellPutty Openbsd.Install68 Openbsd.Bsdrd Openbsd.Staticnet Openbsd.Vi Openbsd.Vmmuser : automatically instructions installation connectivity combination immediately vmminstall hypervisor shellputty networking background afterwards particular workaround substitute something sometimes keyboards operating dedicated installed install68 reinstall staticnet lowercase install69 username terminal hostname personal followed existing bootable shutdown accident assigned probably redirect physical multiple machines appears coconut openbsd upgrade console gateway windows crontab default scratch virtual restart address booting replace prevent capital message vmmuser execute reading instead unmount inside during typing screen system before bootup delete serial tildes attach create reboot ircnow prompt escape server failed period ignore safely likely normal scroll router editor bottom ensure single allows subnet should values guide alive right https there image vmctl while helps title error qcow2 bsdrd works enter index fixes where hours quick boots press paste colon guest lives linux order which first your have will 1xxx this ipv4 fccf 2602 ipv6 mask with need from type once want then doas must exit stop most save file runs away tmux true sbin done that keep also note wiki lose text line ctrl disk when html hard faq4 org php few any bug png can vms may 255 162 and new man usr see ssh www log 20g are by wq 87 38 i5 if of 64 cd +Vmm.Install:1627536302: Shell.ShellPutty Openbsd.Install68 Openbsd.Bsdrd Openbsd.Staticnet Openbsd.Vi Openbsd.Vmmuser : automatically instructions installation connectivity immediately combination workaround vmminstall afterwards particular networking hypervisor substitute shellputty background keyboards staticnet install68 sometimes reinstall operating installed something dedicated lowercase install69 username accident physical existing hostname shutdown followed multiple terminal bootable machines personal assigned probably default coconut vmmuser message virtual openbsd console address scratch appears gateway replace restart booting instead unmount execute upgrade crontab capital prevent windows reading attach ircnow inside server during values create normal subnet system likely prompt reboot serial delete single typing router allows screen bootup should period ensure failed bottom ignore safely tildes before escape scroll editor image linux error there bsdrd guide which works lives first qcow2 alive press colon enter right while helps https paste vmctl quick guest boots hours index fixes where title order lose will have want your then doas wiki from that type line note most this text fccf faq4 with html 2602 mask must once ipv4 need ipv6 exit 1xxx stop ctrl also tmux hard disk away runs when keep done sbin true file save log org man 162 can 255 and see www new few usr php bug vms png any may ssh are 20g by of 87 38 wq if i5 cd 64 +Openbsd.Vmm:1627536255: : interfaces networking forwarding sufficient install69 broadcast install68 signature configure vmdusers groupadd machines increase redirect software firmware verified download hostname prevent bridge0 crontab switch0 openbsd signify user123 however nologin useradd routing proceed address console warning virtual makedev packets pkg_add appears because tcpdump devices default sysctl result longer socket lladdr issues verify create sha256 number choose serial access enable locked memory appaer reboot random maxlen debian permit timing cdrom start owner using chown while https amd64 inet6 rcctl image qcow2 which there entry vmctl where wrong octet first base they need such each pick will doas sure flag with show home does four sbin want html free next only done root many have echo this must arpq tmux edit from 1024 ping true ipv4 ipv6 same some disk 512m your new run iso usr can var pub etc 162 20g not ips vmm odd may tap jot if0 ip6 org cdn uid ftp to by 50 87 38 i5 pl xx f1 f3 mv ok 01 aa bb +Ps.RecentChanges:1627468246: : recentchanges usage july 2021 jrmu ps 28 at 03 42 am by +Kill.RecentChanges:1627468246: : recentchanges usage kill july 2021 jrmu 28 at 03 42 am by +ZNC.RecentChanges:1627468246: : recentchanges troubleshoot support admin 2021 july jrmu znc at 28 by am 12 06 13 +Openbsd.ZNCAdmin:1627452880: Debate.Dogfooding Bouncer.Bouncer Openbsd.Less Openbsd.Ilines Openbsd.Irssi Ircnow.Networks Openbsd.Vhost Openbsd.Ddos : configuration reconnections disconnection disconnected troubleshoot controlpanel certificates successfully instructions investigate maintenance exclusively fingerprint oftentimes dogfooding improperly configured connecting attempting vl0gy6rv79 validation authorized encrypted repeating important globalirc sometimes plaintext indicates following recommend hostnames solutions addresses throttle everyone messages redirect whenever networks adminlog possible wherever innocent benefits continue trusting manually clicking stopping disallow zncadmin 2600net through servers correct without usually moddata command openbsd example closing because bouncer request forcing include evasion sharing attacks reasons returns consult similar section expired trusted disable failing slowing dealing problem warning banned caused ircnow likely rather unique should attach scroll forced fixing abuser debate dalnet typing bottom reduce switch offers glined manage ilines admins either client prefer ensure errors search common adding please secure user3 which there means title users irssi user1 check front using being certs below user2 these tries fruit https lacks user4 quick issue write vhost major helps shows above enjoy daily your will this ddos ipv6 home down less want that only then from 2021 znc5 gets uses pick 6697 6667 than test irc6 edit ipv4 scan find list case page link more each been team grep doas hope over znc1 make spot znc2 both must need they does next znc3 soon znc6 same znc4 most have sign save are see may ssl png won 256 but day bad not msg org bnc web let has way run 09 23 12 50 29 28 33 01 51 03 52 by 14 24 06 19 15 55 08 +Openbsd.ZNCSupport:1627452847: Bouncer.Bouncer Ircnow.Networks Ircnow.Servers Bouncer.MIRC Debate.Zncflaws Openbsd.Police Openbsd.Ilines Openbsd.Phishing : misconfiguration notify_connect intentionally automatically possibilities controlpanel successfully disconnected listnetworks troubleshoot instructions alternative information punctuation advertising immediately jumpnetwork permanently registering understands guest58404 connecting downloaded abcde12345 connection incredibly configured personally addnetwork registered zncsupport requesting loadmodule reconnect important confusing different blockuser following currently replacing correctly addserver available verifying extremely mechanism carefully passwords incorrect satisfied username ysername security probably phishing mistakes zncflaws secondly settings redirect connects messages retrieve chatting problems remember yourself possible shortest chanserv sysadmin undernet channels properly bindhost nickserv nickname quakenet identify freenode services deleting requires approach terrible webpanel specific everyone accounts teammate official familiar whenever perform privmsg already snoonet captcha botname logging example closing version openbsd newnick bouncer actions address without servers prevent warning friends besides helping jumping replace spelled because default happens getting started altnick confirm clients claimed include himself welcome private newpass follows sending forever history changes ircnow double simple accept unable ngircd unless itself glined cannot emails tested cherry record errors status typing banned around dalnet always number ensure logged better before signed entire ilines delete assume please police either caused glines powers create smiley thanks flawed debate reason nobody likely caught forgot should simply folder anyway method admins ircnet actual common notice vhosts single cserve guides report squery wants users chats there check tells pages store mango until after fruit first would reset about tries saves extra later field staff which https these tried known wrong taken where title right sorry doesn waste space exist plain reply typed ircds index again could types rizon efnet abuse login other unban major share mouth just sasl they give note from must 1337 join each same will need oftc this into that puts them mirc time then upon tons have make keep some true turn idea auth hold what pear also disk mode real more link over logs sent says code most copy else look plum wiki part ctcp best many love done hard didn been easy how day has ask thx try but job see 235 bnc why dns php bye may yet yes fix bcc 21 25 20 22 28 24 27 my 50 29 30 41 ip 31 01 54 57 +ZNC.Troubleshoot:1627452742: : troubleshoot bindhost messages getting records options clear your have znc dns fix two the set not if +Znc.Troubleshoot:1627452707: : troubleshoot znc +Kill.Usage:1627443746: : usage kill +Dns.Vhost:1627441547: Openbsd.Openbsd Openbsd.Znc Openbsd.Psybnc : connections configuring configured resolution associated addresses following recommend possible cooldude hostname creating yourself networks fallback remember properly specific hostmask pointing nickname supports normally connects multiple bindhost example pointed forward perform running instead provide happens another confirm lookups reverse content however suppose section binding bouncer domains servers openbsd records vhosts unique ircnow choose rescue psybnc assign single logged custom answer client entire either notice anyone subnet entry title words binds could which heart using money would world since check match brown users first often means ident both aaaa will ipv4 each must need when from rely upon ipv6 have this that only give rdns such d00d then 2001 c001 tell want 3600 arpa with same john even cost take can set org ptr 192 168 znc and dig way db8 why isp lot get had out by 64 48 +Host.Usage:1627437446: Dns.Overview DNS.SPF Unbound.Configure : troubleshooting significant nameservers recommended information descriptive censorship performing associated configure localhost reversed properly resolves provided specific overview examples default updated happens openbsd records running utility address pointer unbound whereas because restart handled changed privacy freedom prevent include suppose caching instead numbers lookup notice domain option useful simply decide issues google before ircnow first shows digit title query again rcctl cache flush which using tells types least added https usage gives have that your mail also ipv6 bind arpa when four ipv4 will with 2001 file know used make rdns just test last uses sure text spf1 only been then same want doas this find more help pick don old but has man set db8 org isp see own 168 ask 192 put etc 127 ns2 ns1 txt get ip6 all ip4 to by of mx 10 we +Nsd.Zone:1627384900: : 2021072701 yyyymmddnn subdomain authority multiple increase results example refresh updated minimum control records correct written address suppose serial adding number expire reload create digits master origin start after title edits retry files entry month first zones tells admin these lines 86400 here this year that same july 2001 ipv6 host been test sure make 27th doas then made form fccf 3600 will 1800 open aaaa 2602 want 1008 are two 162 nsd run day you com db8 has 168 192 var and ns1 was soa 1st ttl to if us by of 87 38 +UsersCategoryMirrory.Pioneer:1627273366: Freedom.Freedom Vps.Vps Minutemin.Bootcamp Ircnow.Servers Ircnow.Goals Ircnow.Minutemin : userscategorymirrory independence applications verification oregontrail undeveloped billionaire supporting nameserver monopolies controlled webserver minutemin configure homestead volunteer corporate marketing portfolio purchase offering platform firewall sysadmin proceeds business pioneers referral monopoly security services frontier bootcamp personal includes bouncers freedom provide trusted welcome startup methods require network digital virtual sharing against created private servers towards upgrade notitle domains website rigged rfloat social ircnow charge center elites attach course system answer friend resume custom future staff today claim photo weeks dream goals month 50pct apply email learn media width there build acres train notoc equal their four send help will life over your with join they bots blog file tech show from keep ceos what want made this 5usd vps png don get 200 who can own org run set are and was new lan vpn tls by 4 +Openbsd.Dig:1627195831: Openbsd.Unbound : troubleshooting pseudosection milliseconds nameservers reconfigure propagated connection additional invaluable indicates succeeded authority responses different important nxdomain believes exchange hostname question computer redirect answers because opennic getting records suppose example default returns offered request success openbsd unbound reached changes caching failure correct address details noerror testing utility helping options version public ircnow header opcode status lookup synced cannot resolv longer please errors global exists other valid query title could shows 3600s asked after there local value flags usage entry might means which https 15341 timed tells words very that this msec took with make live want will text ipv4 give what hour many have does zone mail when 2020 size like rcvd your ones aaaa 4096 edns dig all for txt org but are two ns2 ns1 and 168 192 etc 485 has udp ttl 127 got msg aug fri out cst cmd run by 21 10 mx p1 ra qr 31 44 55 +DNS.Ipv4rDNS:1627046695: : 2021072300 yyyymmddnn ipv4rdns username zonefile example refresh minimum serial expire master ifend retry 86400 admin zones title arpa 3600 addr conf 192 nsd ttl ns1 etc com ns2 168 var ptr soa +Openbsd.RDNS:1627022661: Openbsd.Nsd Openbsd.IPv6 Openbsd.Host Openbsd.Dig Openbsd.Netcat : troubleshooting configuration authoritative installation configuring 2020112906 configured nameserver yyyymmddnn 2021020105 2020070701 resolution delegated checkconf secondary necessary confirmed describes zonefile redirect hostname ipv6rdns original reported project example command missing service periods refresh minimum coconut reverse between forward connect 1209600 section restart openbsd replace working primary request follows records provide pattern include assumes suppose already ircnow jujube notify master banana digits 604800 lookup subnet domain orange simple serial create notice expire actual enable cherry issues netcat before reload daemon errors title grape print allow user1 nokey slave lemon user2 rcctl using comes false guide block zones about zeros ifend inet6 admin tools 10800 peach retry 86400 guava denic bring https along ahead there write files first mango debug 2001 3402 doas with once have this then your nast 3600 1800 arpa only need test mode news smtp imap plum from pear step next save good both that jrmu sure make real echo been fill 0001 0550 must 0143 find vio0 grep will base part nsd www sed org can add ip6 ttl soa var ns1 awk are xfr any ptr ask put ns2 of mx by my +Bouncer.All:1626892672: : bouncer all +Lemon.Packages:1626892515: : authenticationresults validationcompiler deprecationmanager strictconstructor globaldestruction internationalized synchronization contextualfetch implementations checkconflicts multiprecision communications automatically decompression compatibility libexttextcat 3pl20210102p0 cryptographic multithreaded 5pl20210325p0 manipulating constructors repositories distribution preservation programmable manipulation representing spamassassin overloadinfo localization computations asynchronous libunistring implementing cryptography applications notification libopensmtpd unencumbered organization spatialindex interactive information lightweight distributed permissions accelerated replacement interpreter programming subroutines indentation progressive subprograms constraints numerically composition orientation certificate messagepack identifiers inheritable integration compilation performance enumerating interpreted overridable expressions abstraction recursively serializing processing domainkeys generation components persistent extensible additional mailfilter libtermkey conversion endofscope minimalist pigeonhole libstemmer libunbound shellcheck attributes algorithms connection manipulate collection freezethaw arithmetic structures introspect overloaded stacktrace converting extensions javascript libarchive mediatypes eventually validating structural 20110525p1 passphrase libsigsegv strictures references exceptions ratcheting simplified retrieving compatible compressor parameters installing signatures robotrules libstrophe formatting setuptools profanity transport arbitrary libraries modifiers utilities universal directory inspector interface libnettle libgcrypt databases throwable responses determine datatypes namespace libmesode deparsing assembler accessing zstandard oniguruma associate variables singleton operators commander autoclean platforms plan9port submodule functions efficient userspace negotiate dkimproxy filtering addresses mirroring computing bandwidth statement alternate emulation naturally detection character generator libsodium optimized providing framework validator unibilium packaging configure generates moreutils messaging someutils automated patchsets scripting lexically standards compliant coercions libsecret passwords libassuan libsignal libident protocol dkimsign handling language idna2008 graphics features portable resolver retrieve terminal keyboard notation advanced libtasn1 stemming terminfo analyzer matching inspired floating multiple metaauto powerful lossless licensed grammars libslang 002002p0 patricia 001004p0 checking validate readline warnings bindings af_inet6 20140330 complete analysis 000014p1 040001p1 identify 20200907 relating exporter oriented packages protobuf embedded 20210323 pinentry aliasing resource timedate 200013p0 006006p0 001013p0 steroids indexing 20200824 finished datetime timezone newlines extended encoding decoding triggers provides accessor priority subclass querying compiled combines allutils singular software messages services 006002p1 sharedir location closures 20190702 libiconv guessing blake2bp automake libcares designed dos2unix blake2sp chrooted leafnode security makefile libevent versions transfer debugger creation autoconf display doubles wrapper regular ieee754 9rel1p0 signing optlist scripts library utility mariadb browser headers jsoncpp defined imports libjpeg colored derived colorls printer objects maybexs purpose algebra utilsby pkg_add libwebp scanner inflect working support libusb1 strings unicode garbage general methods ncurses missing modules sorting console control buffers modular moniker openssl gtypist unknown correct privacy execute writing mozilla servers clients integer loading engines compact daemons require lookups dovecot offline pattern netaddr stashes manages subnets charset merging endings uniform classes maxmind nghttp2 drivers fetches concise msgpack entries desktop include socket6 defines sockets runtime numeral several oidentd threads detects sqlite3 libssh2 dynamic caching extract gettext libidn2 foreign secrecy cleanly numbers cookies listing homedir emulate weechat complex network libksba checker forward rfc1413 related secrets variant declare sharing filters toolkit bouncer instant storing hashing simple helper editor custom signer libmpc random writer extras no_x11 specio ngircd reader libotr 004004 locate gnutls parser update create femail bundle system 5001p0 libgpg geoip2 argon2 images ssleay cpanel faster tagset verify 2020p0 libpsl tables useful viewer rspamd bignum 2911p0 aspell modern params typing easier libffi spampd locale encode dialog snappy usenet python tcltls 000006 pretty luajit higher static digest linear select plural google lingua device driven libwww syntax memory bourne window expose screen dumper 004003 quirks libxml giflib tcllib speedy proper norton endian unpack safely sender policy banner robots 50p3v0 ispell common thrown public figlet suffix regexp floats option choose faults moose 016p0 009p0 mysql devel sieve files 068p1 level error pairs parts https style value layer perl5 which marks order mldbm flock gmake stuff 110p0 based guard using glib2 gdiff clone ascii loads gnupg store 17029 cmake pcre2 987p0 4p0v0 rsync unzip basic build irssi cyrus 928p0 204p0 117p0 lua53 rhash icu4c 09p21 fatal redis times gpgme catch 19pl0 dates point magic libb2 tmate links quote cvsps again xpath codec aware plrpc pkzip 079p0 block typed lemon bzip2 codes about boehm pager cblas sites tutor after libuv limit hooks small 53p0 lmtp they 07p0 adds re2c sums used core html bash like 1p10 with jars 12p0 many 2580 20p2 back real zstd 72p0 lzma from wget test 19p4 xslt tdom 08p3 03p0 tcsh 35p1 0p14 very tmux 69p3 tiff 12p2 29p0 role tiny moox 46p0 eval 26p0 into sasl 14p0 need only 27p2 2222 blow 30p0 ipv4 15v1 48p1 88p1 15v0 22p2 pop3 imap ipv6 07p2 2013 fake cidr your that 78p2 pico 05p0 side most turn tied 27p0 qdbm leak xmpp 58p1 keep 21p0 math 62p0 curl 08p2 23p2 28p2 11v1 01p8 10p3 10p1 18p1 nano 54v0 40p0 nasm 36p0 10p2 llvm 11p2 fork mpfr copy flag hmac 03p1 mutt simd objc htop plus 24p0 03p3 1p16 22p0 lpeg pkcs dbix just 32p1 lynx easy 21p1 44p0 21p3 made lzo2 16p3 npth prng 51p0 txt 5p2 lz4 6v0 dbd php bsd gmp 643 0p4 5p3 p11 dot 7p3 414 2v0 1v0 6v3 dns pgp x86 its via 2p5 ftp 4p5 0p6 ipc git 005 905 gcc lwp 118 api znc gdb tre way vim utf vis sam w3m 509 633 png 0p7 py3 mro 5p7 spf oop 430 023 pip 42 37 xz 34 mc 77 uw 45 66 tz 39 pm 31 +Lemon.Todo:1626891676: : lemon todo +Irc.Guide:1626890560: Irc.Clients Ircnow.Servers Bouncer.Bouncer : countermeasure impersonation automatically unfortunately contradictory troublemakers unregistered restrictions accidentally complication occasionally particularly immediately recommended troublesome identifying trustworthy communicate information compromised connection requesting privileges encryption unofficial parameters regardless connecting principles implements improperly disconnect surprising impossible harassment generally anonymous sometimes confusing different selection therefore plaintext something following messaging destroyed indicates beginning ampersand rejoining encourage available incorrect searching important addresses criminals autovoice nickserv allowing nickname hashtags channels messages increase asterisk hostmask networks enabling unvoiced chanmode division services username hostname freenode chatting connects distinct cloaking provider comments entering internet requires bouncers whenever password protocol problems removing actually designed commands contains provides managing maintain commonly operator hundreds referred netsplit software enormous chanserv multiple inviting beginner interact protect privacy discuss benefit signing options created totally instead because clients servers friends uniform replace another however receive private version banning kicking leaving finding removed whether secured prevent snoonet popular whereas usually purpose freedom someone visible support careful setting hosting putting anyone beauty kicked result should abuser really refers attack allows vhosts expect social single choose simply change filled ensure cloaks ircnow whowas target leaves levels libera window typing always double reveal people before giving online become second usable number reason return called irc2go invite stands notice users every might modes check wrong learn often doesn noted about title third built write https added asked index first after large which looks guide their match while being relay claim hello world press topic short means names again phone store could order front whois snail reset forth quick kicks sites empty three still based strip extra joins more from that each they view will your quit them half help want this type with then open edit leak used lose pick have most what list shut like show once many spam lead 6697 6667 well typo send upon huge uses last same alis stop bans both must such lets also made room msg own its ops may new can vpn key see php org ssl try but him don by 74 84 pm pc 0 +Minutemin.Progress:1626855035: : vunerabilities discrimination torrenter2010 deplatforming search_social investigation republicanism independence constitution verification deplatformed dependencies manufacturer shadowbanned surveillance indifference chewbakka85 opportunity independent centralized declaration development simpletable presumption arbitrarily advertising description accountless splinternet integration established programming immigrants miniontoby censorship dissidents federation websockets cloudflare monopolies controlled cryptobank charitable harassment campaigned javascript advocated minutemin elections jefferson ecosystem publisher copyright fediverse innocence represent exclusion languages marketing modifiers character sanctions violation anonymous anonymity exploring encourage developer dedicated mayflower interpret abolition resistant searching supporter political inventors arbitrary religious publicity unpatched ircitizen homestead providers protocols protests security defender diplomat criminal complain increase champion governor software referral minetest improved censored generous plymouth children suitable bullying settling frontier brewster lawsuits williams subpoena congress disaster movement personal sortable dealings religion politics shooting merchant smuggler backdoor cesspool accounts indecent projects dictator negative insecure progress commerce pioneers facebook telegram licenses sysadmin password requires services explorer network liberty limited drafted youtube madison default instill purpose sharing justice invites attract effects special freedom bangcat bridges partial captain discord copying senator raleigh orderly blocked patriot privacy seizure startup divided harmony culture ircians whitney enforce chamber warning outlaws sheriff melting promote abusers founder ethical hosting process firefox servers netizen openbsd hancock eggdrop reduced authors systemd bonuses subline storage halfop python assets powers custom longer paypal leader samuel faster domain report danger policy notice resume border united virtue garden walled uptime skills chrome tyrant unruly beacon matrix factor nodejs accept coding mostly daniel thomas strong ircnow always revoke dennis filter pirate seized gossip donors clones walter papers lawyer cancel rights ensure remote native easily signer bible width fines linux class proud press party their reuse brave these fewer posts total staff major coppa title riots voice adams libre email ifend about shell reset smith chief first false arrgh early wrote roger error cross relay union evade boone vhost month legal trade dream civil james write self none spam xmpp from more penn type when seas duty john devs fizi nsfw ally tlds take code fork cert file risk with nntp unix news agpl rust name real fees some n00b bdfl life isps mass safe fair send echo folk rush hero have dump data gdpr bill 0day ssl max znc pot bnc old vps due gry 100 vpn and 3rd own any ops god odd sms fan quo mif jay aye 50 2x 25 gb 3x +Openssl.Check:1626787667: : certificate fullchain checksum matching example openssl private request public noout again text them will x509 need then have don key you and md5 com not rsa pem to +Rsync.RecentChanges:1626688994: : recentchanges rsync usage july 2021 jrmu 19 at 30 am by +Rsync.Usage:1626661855: : everything filesystem corruption directory verbosity shorthand specifies openrsync functions following available complete username compress includes transfer multiple actively continue capacity remotely commands however archive verbose instead options require backing display mounted current example openbsd profile specify warning written rewrite server ircnow useful source copied before enough backup either second called primer copies cancel htdocs md5sum during local title quick ifend enter abort false tells check space least 1005m usage being samba buggy going seems https occur below date will dump here doas sd0e home sd0f your read root sd0a much have size used 111m 844m sd0k 192g 153g with sd0d dest work show echo more type ctrl data path this copy into take each both from mode turn tool then make disk sure dmp mnt org pwd put ssh own may vmm bit its tmp dev usr var run add avz www 63 7g 16 9g 22 12 4g 14 41 2m 0g 28 df +Openbsd.Openrsync:1626616918: : filesystem everything corruption openrsync directory shorthand verbosity available functions specifies following complete continue commands username multiple capacity includes redirect actively remotely profile however mounted options instead written warning backing specify current require coconut archive verbose display openbsd rewrite example source ircnow htdocs primer second backup copies cancel enough md5sum either useful server before copied called tells local space samba 1005m quick check https least buggy usage seems going below abort being occur title enter sd0f root sd0e home 153g 192g sd0k 844m size 111m date sd0a used will make then have much take doas dump copy into dest path this read more show ctrl type echo jrmu disk sd0d your from with both here mode work each tool data turn sure ssh var dev dmp put org www mnt vmm pwd add end usr run tmp bit may its own 28 14 7g 41 2m 0g 4g 63 12 df 16 9g 22 +Paster.Install:1626446750: : instructions malikania alternate mercurial makefile releases include install pkg_add paster local clone doas http unxz kcgi tar the xvf ftp usr cd hg fr 0 2 1 +Openbsd.Znc:1626432193: Openbsd.Syspatch Oidentd.Znc Openbsd.Relayd Openbsd.Nsd Openbsd.Buyvm : mysuperadminpassqwerty protectwebsessions passwordsgenerator authonlyviamodule configwritedelay troubleshooting libboost_thread libboost_system libboost_chrono libboost_locale daemon_pidfile ssldhparamfile serverthrottle misconfigured maxbuffersize deliberately dependencies controlpanel project_name service_name service_user service_stop connectdelay installation instructions acceleration alphanumeric disconnected hideversion anoniplimit checker_znc immediately certificate request_uri sslcertfile service_pid descriptors directories integration loadmodule libicudata sslkeyfile absolutely mistakenly libpthread setnetwork connection libicui18n nameserver delnetwork frequently completely individual chronology afterwards addnetwork saveconfig characters listener2 addresses necessary unlimited plaintext reconnect threading different uriprefix identfile pkgconfig listener3 listener4 listener5 lockedmem supported libraries libcrypto something following available fullchain obsoleted responses verifying listeners operating openfiles rc_reload addserver processes listener1 challenge automatic listener0 http_host otherwise chansaver stacksize syspatch location buildmod s_client libicuuc nickserv bindhost webpanel username separate confused requests redirect instance flexible nxdomain certauth webadmin adminlog lastseen warnings hostname upgraded encoding allowirc settings creating checking makeconf releases allowweb symbolic software standard networks coredump generate 12345678 fullname cap_mkdb prevents yourself properly whatever identify 33554432 entities deleting infinity mismatch formerly solution channels filtered continue internet provider services already maxproc changes openbsd configs bouncer missing deluser logging getting urandom library perform example records include addchan libexec command exactly privmsg earlier enabled writing modules oidentd adduser _identd usermod running pkg_add options suppose compile restart nologin specify default private openssl patched account generic seconds working certain keeping minutes crontab console replace changed belongs happens assumes scripts nofiles without disable letters numbers between derived symbols contain global create locate unable update method better ircnow reboot export chroot rc_cmd return single unique botnow likely allows causes suffix socket resolv libssl online saving rehash status logged folder relayd ignore custom please errors vhosts delete adding either reason glines tested setups lookup should ensure easier cannot before shared inside groups 985092 blocks subnet kbytes 329478 memory ulimit spaces stable needed touch chmod proto fails quick where blame which cheap chown these ports shell using party added still users crash mkdir rcctl quote below mknod https first types click steps 65534 32768 31337 their pgrep icu4c httpd false there later cmake 10000 hints state apply known strip pfctl ahead again fruit every amd64 wrong uname while could begin wheel wants parse class right leave offer buyvm debug gmake looks vasya each xvzf doas that ipv4 ipv6 have man1 into will 1001 rdns aaaa from then home sbin 6400 such curl must this zone true when fall back been same link 1338 note site edit ddos find free kill case done esac most 2020 vipw subr 399c feel 6184 good faa1 32a2 6401 2703 6697 dae2 loss time 1310 help 4096 6667 2605 acme well bans ircd typo more just none null tabs disk 8182 once inet copy libz 3000 libm rule fact both 1025 2048 made bugs mode 2001 zero etc cxx usr abi nsd org var 644 was pem but gdb any did may due way 3rd bnc bit src tcp 127 tls yes 168 db8 192 few bob uid env ksh rpe 0p0 put new cpu gid 48m 302 pc rx gz mt 46 11 80 _g 07 21 mv +Freedom.Bearcode:1626255760: : emancipation proclaimed domination marketing oppressed remember endeavor standard ethernet bearcode freedom replace forever gateway peoples without hackers hurrah beacon symbol banner attach rfloat mighty unplug width 300px clear their snake cable pings right tread opers shell typed share dream when beep motd they that fray both hope new let day our who all don may its now jpg own lan to by of as +Hostnameif.RecentChanges:1626113421: : recentchanges hostnameif static july 2021 jrmu 12 05 51 pm by +Hostnameif.Static:1626112286: Openbsd.Buyvm Openbsd.Vmmuser Openbsd.Ping Openbsd.Netcat Openbsd.Traceroute : unpredictable automatically abbreviation disconnected configuring immediately connections abbreviated networking traceroute definitely installing attempting unfiltered hostnameif addresses interface following configure important something rebooting preferred ifconfig netstart followed actually practice manually mistakes properly provided separate prepared computer replaced assigned requires training specific reliable console gateway packets creates worried another letters aliased default openbsd specify vmmuser example account bouncer forward running however figures because restart warning without similar number static subnet inside should device normal second virtio server before router netcat delete manner change dozens unique serial mygate making please exact masks allow buyvm inet6 first lines those share shell where doesn makes reset flush being using sense title chose stops about users below steps ipv4 387e 3511 9b1d 2001 0db8 0000 143a ipv6 done this will have same each time need just case your vio0 both them look file that sets ddos doas dhcp when most ping deal they test note real from also down sure more 4a36 11b4 66ff 8daf fed1 1465 2941 d6bd 2b1a 921d 28ad 4729 8d93 89d1 5b99 ad2c were if0 and 192 isp 255 get 168 can fly any its see new ssh vps 48 by of +Openbsd.Staticnet:1626112120: Openbsd.Ping Openbsd.Netcat Openbsd.Traceroute : unpredictable automatically abbreviation disconnected connections abbreviated configuring immediately definitely networking hostnameif unfiltered traceroute attempting installing something preferred addresses interface important configure following staticnet rebooting netstart ifconfig manually actually assigned specific mistakes practice separate prepared requires provided replaced followed properly redirect reliable computer default gateway letters without because however aliased running creates warning figures another restart openbsd packets forward worried similar example account bouncer specify virtio manner device subnet second normal server should change inside dozens unique making delete before netcat please number router mygate first allow title inet6 makes lines exact those where masks sense reset flush using doesn share shell below being users steps about stops chose 0db8 will 2001 ipv6 0000 vio0 9b1d need 3511 have this just 387e time each 143a file sets ddos your ipv4 same them both done look that doas when deal dhcp note they ping sure test most real from also down case more 921d 28ad 4729 8d93 89d1 were 2b1a 66ff 1465 fed1 8daf 5b99 11b4 4a36 2941 d6bd ad2c and if0 255 isp 168 get 192 vnc new can its ssh fly see any of 48 by +Openbsd.Dovecot:1626101930: : ssl_dh_parameters_length auth_verbose_passwords auth_debug_passwords troubleshooting mail_location instructions verbose_ssl mail_debug addresses suggested debugging fullchain openfiles settings required ssl_cert redirect s_client starttls allowing cap_mkdb username changes include openbsd comment coconut dovecot maildir connect readmes openssl rebuild warning ssl_key private pkg_add install service hinted passdb driver userdb static passwd system bottom ircnow scheme spaces daemon vmail login these local forth crypt lines share imap will conf 4096 make very work 8192 here tabs lmtp help must need 2048 sha1 note then doas args many have turn want than more home etc cur max can you 143 org how and var ext blf yes uid gid out new doc usr pem so 10 up is ip if +Openbsd.Relayd:1626101113: : troubleshooting alternatively corresponding configuration acceleration dramatically adjustments information loadbalance accelerator server_port server_addr remote_addr redirected connection especially restarting containing fullchain following according typically forwarded listening splitting newsyslog reloading something different examples indicate whatever contents disabled protocol hostname networks properly rotation addition messages separate increase private request instead various webhost domains warning without reverse another towards records produce enabled devices android openbsd suppose options td76656 tickets ciphers provide syslogd verbose archive session backlog perform relayd packet handle simply nabble create output common errors ircnow filter turned daemon reason should ensure making wwwtls header append sample served match which rcctl fails needs doesn close https tlsv1 howto ports avoid value httpd prior where table based proxy check certs hosts entry this made make also your real have once file 2001 both into that html want 1338 8080 like then edit logs size busy wish case send 7691 test copy show will from line mode sack high else icmp ssl etc key may man 443 168 can top org 192 own crt but run bnc its see db8 pem set nsd ios dns act 127 ip6 znc ip4 tcp 128 via n7 ln by pf be of ok +Mlmmj.Install:1625760144: Opensmtpd.Configure Opensmtpd.Test Crontab.Edit : documentation configuration emailaddress lightweight mailinglist postmaster management directorys installing downloads opensmtpd subscribe configure localhost delimiter virtuals required requires creating spooldir instance external licensed normally replace pkg_add special meaning crontab bangcat someone accepts compile consult handled example request openbsd manager written forward daemons aliases servers default receive initial located domain should create _smtpd maintd emails change modify readme joyful simple simply locals before action enough source mlmmj false entry needs cases ifend sends owner files which table users hosts added title https begin chown small mkdir works first share below sent have edit your line task from each name real with test that only very doas docs note also will like mbox home this made into make most what sign then var org can get etc run usr bin see log 127 by of up 5 0 +Openbsd.Mlmmj:1625737372: : identification modifications documentation periodically accomplished installation suggestions information directories maintenance themselves individual newaliases explicitly following different installed suggested localhost recipient delimiter subscribe modifying directory required handling commands probably seperate normally instance separate requests properly software opensmtp tweaking specific redirect external official slightly manually although smoothly forward default mailing meaning headers someone running initial bangcat located process virtual openbsd however working crontab restart needing without receive present program handled special already covered package pkg_add nothing readme orange should locals action _smtpd covers maintd _smptd emails server mostly enough having simply update ircnow mailto stated actual better things people create needed adding syntax system still other there mlmmj owner spool above entry refer needs which added setup looks lists cases users https files table shows weird found error tools hosts shell order under chown doas that test used will send ways from done this core only very docs make your task when like then keep well edit back fine tune sign have page name must home conf mbox line each logs into wiki more want once says sure what etc few org 127 var can get but bin usr by 0 +Openbsd.Eggdrop:1625196047: Openbsd.Tcltls : 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e e01c240484de7dbe190fe141e7667de1d1a39aff allrecentchanges “ownernick” troubleshooting protecthalfops protectfriends dynamicinvites dynamicexempts configuration passwordifany demonstrated shareunlinks checkmodule enforcebans channelname dynamicbans servernames userinvites dontkickops cmd_resolve stopnethack sanitycheck userexempts loadmodule altbotnick keyservers revengebot protectops autohalfop additional compressed mentioned listening autovoice signature statuslog uncomment directory nodesynch preferred lecturify lowercase serverror configure servlimit scripits comments chanmode settings libtcl86 logfiles paranoid autosave userfile channels blowfish inactive shooter_ realname chanfile alltools userbans obsolete redirect enabling commands transfer birthday timezone newusers undernet messages hostname filename optimize advanced eggheads telnets stealth require modules timeout replace network another pidfile example openbsd default logsize release connect compile console mkcobxs putserv scripts prevent updates sigterm disable dupwait chanrec addhost trigger eggdrop chanset capital strings letters altnick install botname prefix double suffix format number bounce verify length remote remove simple autoop mcobxs hourly should ignore botnet uptime strict banner expire wisely unbind tcllib enable reject answer notify stoned switch output fields sighup owners create select mixing dloads compat source action adding resash folder tcltls ircnet latest dalnet hybrid ircnow others sha256 offset secret onjoin static shared desire simul flood below these allow ident muste delay order bitch using flags whois cycle shell greet lines admin boots quick after learn modes party stack queue https split debug leave notes blank block vhost quiet kicks state never local efnet above life this need your core seen from ctcp made info xfer init wiki brss type idle site then with edit recv port 1337 help quit wish give okay keep make nano copy 1024 xvzf deop cmds pool also motd path 0600 perm sure text just temp sort here 3333 only 6697 7000 6667 ipv4 what any1 irc6 tar jkp max 100 fun msg 200 buf raw 180 org 300 ssl can gmt pub ftp due dcc tmp aop env fwd sum run 120 die thr sks dns usr gpg abc hp 50 gz my tz 15 36 16 dk blob - /dev/null blob + 50eb85ed1c274b140858f80895bf9088cf520740 (mode 644) --- /dev/null +++ wiki.d/0dev.0dev @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1636632859 +host=180.241.135.150 +name=0dev.0dev +rev=3 +targets= +text= +time=1636686042 +author:1636686042=dodocrypto +diff:1636686042:1636635987:=0a1,7%0a> ----%0a> %0a> Welcome To IRCNOW [ 0day (xc) Our ] WhiteHat Hacker Team and Dev. Stay tune for Tutorial on Programming and Any Tech.%0a> %0a> Join Our Support Channel at irc.ircnow.org channel #0dev . %0a> %0a> ----%0a +host:1636686042=180.241.135.150 +author:1636635987=dodocrypto +diff:1636635987:1636632859:=0a1%0a> %0a +host:1636635987=180.241.135.150 +author:1636632859=dodocrypto +diff:1636632859:1636632859:=1,8d0%0a%3c %0a%3c ----%0a%3c %0a%3c Welcome To IRCNOW [ 0day (xc) Our ] WhiteHat Hacker Team and Dev. Stay tune for Tutorial on Programming and Any Tech.%0a%3c %0a%3c Join Our Support Channel at irc.ircnow.org channel #0dev . %0a%3c %0a%3c ----%0a +host:1636632859=180.241.135.150 blob - /dev/null blob + f2a3a49812532c9d46dc23d9d17a62d7f025258e (mode 644) --- /dev/null +++ wiki.d/0dev.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +charset=UTF-8 +ctime=1636632859 +host=180.241.135.150 +name=0dev.RecentChanges +rev=3 +text=* [[0dev/0dev]] . . . November 12, 2021, at 03:00 AM by [[~dodocrypto]]: [==]%0a +time=1636686042 blob - /dev/null blob + a247ca0fd425f36e6d201629a770c2f547d0b625 (mode 644) --- /dev/null +++ wiki.d/9.101 @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634744324 +host=125.224.28.113 +name=9.101 +rev=11 +targets= +text=(:title 9-101: An introduction to Plan 9:)%0a%0a* Describe VNC and drawterm%0a * New users can connect using either VNC or%0a * New users can download and open drawterm%0a* Welcome, Explorer, to Plan 9%0a * Show how to open a window in rio%0a * Show how to use hold, to turn command line into a text editor%0a * Learn how to list files%0a * Show how to scroll, edit commands, execute commands%0a * Show basic commands for navigating filesystem%0a * Cat a text file describing the advanced features of Plan 9%0a* Not Your Grandfather's Unix%0a * Read description of how 9 obsoletes UNIX%0a * Describe old legacy components that have disappeared%0a * Describe new replacement features%0a * Emphasize user independence and knowledge of the system%0a * Describe filesystem hierarchy and do some basic navigation%0a * Introduce text editor acme%0a * Introduce text editor sam%0a * Force users to go through basic civics courses like in unix101 using acme and sam%0a * Add challenges that will force him to use Edit commands and 9 utilities to read through the text; make it a scavenger hunt like unix101%0a* Everything is a file%0a * Introduce the concepts of unix pipes and redirection operators -- these will be used to finish challenges to advance to the next level%0a * Introduce sshfs, NFS, SMB%0a * For each protocol, users must mount the filesystem and perform some actions to find clues for the next level.%0a * During these lessons, explain the protocols, concepts, and also add civics lessons%0a * Introduce to gitfs, chatfs, mailfs, %0a * Send mail with upas ( start with native mail, end with POP3 and IMAP)%0a * Commit to a git repo with gitfs%0a * Send a chat message with chatfs%0a* What's in a name?%0a * Introduce per process namespaces%0a * Give a demo where a process cannot access home folder%0a* Working with files%0a* Networking: No man is an island%0a * Show how to create connections with /net%0a * Discuss how Berkeley sockets have been obsoleted%0a * Discuss how 9p replaces ssh%0a * vncs/vncv, RDP?%0a * ssh, telnet%0a* Halt, who goes there?%0a * Introduction to Auth%0a * Factotum%0a * NDB -- database and network%0a* Unix, Dinosaurs, and other Legacy Software%0a* Virtualization with VMX%0a * Set up Linux, BSD inside a virtual machine%0a * linuxemu%0a* rc scripting%0a * end with basic usage of window%0a* Ports%0a * How to install 3rd party software%0a * Porting from unix to 9%0a* Installing 9%0a * File systems%0a * RAMFS, 9p%0a * cwfs and hjfs%0a * File servers%0a * wsys/ctl ?%0a* CPU server%0a * Explain drawterm, rcpu, and service=cpu%0a* Beyond Plan 9%0a * Inferno%0a * 9front%0a * 9legacy%0a +time=1634748818 +title=9-101: An introduction to Plan 9 +author:1634748818=jrmu +diff:1634748818:1634748646:=33,34c33%0a%3c * Introduce per process namespaces%0a%3c * Give a demo where a process cannot access home folder%0a---%0a> * Introduce per process namespaces -- %0a +host:1634748818=125.224.28.113 +author:1634748646=jrmu +diff:1634748646:1634748371:=20,21c20%0a%3c * Introduce text editor sam%0a%3c * Force users to go through basic civics courses like in unix101 using acme and sam%0a---%0a> * Force users to go through basic civics courses like in unix101 using acme%0a39,40d37%0a%3c * vncs/vncv, RDP?%0a%3c * ssh, telnet%0a47,53c44,45%0a%3c * Set up Linux, BSD inside a virtual machine%0a%3c * linuxemu%0a%3c * rc scripting%0a%3c * end with basic usage of window%0a%3c * Ports%0a%3c * How to install 3rd party software%0a%3c * Porting from unix to 9%0a---%0a> Set up Linux, BSD inside a virtual machine%0a> * Ports ( unix to 9)%0a55,65c47,62%0a%3c * File systems%0a%3c * RAMFS, 9p%0a%3c * cwfs and hjfs%0a%3c * File servers%0a%3c * wsys/ctl ?%0a%3c * CPU server%0a%3c * Explain drawterm, rcpu, and service=cpu%0a%3c * Beyond Plan 9%0a%3c * Inferno%0a%3c * 9front%0a%3c * 9legacy%0a---%0a> %0a> * ssh, telnet, vncv, RDP (alien remote alien)%0a> %0a> * Beyond Plan9?%0a> (start with 'window' go on with acme, sam and end with wsys?)%0a> * rc the shell (end with basic usage of 'window')%0a> * File servers (start with wsys? ctl? ???? slowly end with 9p? and %0a> file systems)%0a> * File systems start with ramfs, 9p and slowly go on CWFS and hjfs. %0a> (no fossil)?%0a> * Users (start with cwfs, end with auth and security)%0a> * service=FS (file sharing, end with alien)%0a> * vncs, ssh?, telnetd? (alien remote 9)%0a> * drawterm, rcpu and service=cpu (9 remote 9/ 9 remote alien)%0a> * linuxemu%0a> but not sure if that fits well%0a +host:1634748646=125.224.28.113 +author:1634748371=jrmu +diff:1634748371:1634748034:=37,49c37,38%0a%3c * Discuss how 9p replaces ssh%0a%3c * Halt, who goes there?%0a%3c * Introduction to Auth%0a%3c * Factotum%0a%3c * NDB -- database and network%0a%3c * Unix, Dinosaurs, and other Legacy Software%0a%3c * Virtualization with VMX%0a%3c Set up Linux, BSD inside a virtual machine%0a%3c * Ports ( unix to 9)%0a%3c * Installing 9%0a%3c %0a%3c * ssh, telnet, vncv, RDP (alien remote alien)%0a%3c %0a---%0a> %0a> %0a57a47,51%0a> * Auth?%0a> * Factotum, end with basis of NDB?%0a> * NDB - Database part%0a> * NDB - Network part%0a> * Networking (native)%0a58a53%0a> * ssh, telnet, vncv, RDP (alien remote alien)%0a60a56%0a> * ports ( unix to 9)%0a61a58,59%0a> * VMX%0a> * dealing UNIX, Windows and other aliens%0a +host:1634748371=125.224.28.113 +author:1634748034=jrmu +diff:1634748034:1634747906:=31,39c31%0a%3c * What's in a name?%0a%3c * Introduce per process namespaces -- %0a%3c * Working with files%0a%3c * Networking: No man is an island%0a%3c * Show how to create connections with /net%0a%3c * Discuss how Berkeley sockets have been obsoleted%0a%3c %0a%3c %0a%3c * Beyond Plan9?%0a---%0a> %0a50a43%0a> * /net (merge with "Networking (native)"?)%0a59a53%0a> * Beyond Plan9?%0a +host:1634748034=125.224.28.113 +author:1634747906=jrmu +diff:1634747906:1634747717:=24c24%0a%3c * Introduce sshfs, NFS, SMB%0a---%0a> * Introduce sshfs, gitfs, chatfs, mailfs%0a27,31c27%0a%3c * Introduce to gitfs, chatfs, mailfs, %0a%3c * Send mail with upas ( start with native mail, end with POP3 and IMAP)%0a%3c * Commit to a git repo with gitfs%0a%3c * Send a chat message with chatfs%0a%3c %0a---%0a> %0a44a41,42%0a> * Mailing with upas ( start with native mail, end with POP3 and %0a> IMAP)%0a45a44%0a> * NFS, SMB, sshfs (start with NFS, end with ssh)%0a +host:1634747906=125.224.28.113 +author:1634747717=jrmu +diff:1634747717:1634747550:=21,26d20%0a%3c * Add challenges that will force him to use Edit commands and 9 utilities to read through the text; make it a scavenger hunt like unix101%0a%3c * Everything is a file%0a%3c * Introduce the concepts of unix pipes and redirection operators -- these will be used to finish challenges to advance to the next level%0a%3c * Introduce sshfs, gitfs, chatfs, mailfs%0a%3c * For each protocol, users must mount the filesystem and perform some actions to find clues for the next level.%0a%3c * During these lessons, explain the protocols, concepts, and also add civics lessons%0a +host:1634747717=125.224.28.113 +author:1634747550=jrmu +diff:1634747550:1634747469:=3,5d2%0a%3c * Describe VNC and drawterm%0a%3c * New users can connect using either VNC or%0a%3c * New users can download and open drawterm%0a +host:1634747550=125.224.28.113 +author:1634747469=jrmu +diff:1634747469:1634747415:=12,14c12,14%0a%3c * Describe old legacy components that have disappeared%0a%3c * Describe new replacement features%0a%3c * Emphasize user independence and knowledge of the system%0a---%0a> -- Describe old legacy components that have disappeared%0a> -- Describe new replacement features%0a> -- Emphasize user independence and knowledge of the system%0a16,19c16,17%0a%3c * Introduce text editor acme%0a%3c * Force users to go through basic civics courses like in unix101 using acme%0a%3c %0a%3c (start with 'window' go on with acme, sam and end with wsys?)%0a---%0a> * Force users to go through basic civics courses like in unix101%0a> %0a20a19,20%0a> * Graphics (start with 'window' go on with acme, sam and end with %0a> wsys?)%0a +host:1634747469=125.224.28.113 +author:1634747415=jrmu +diff:1634747415:1634747094:=2,17c2,3%0a%3c %0a%3c * Welcome, Explorer, to Plan 9%0a%3c * Show how to open a window in rio%0a%3c * Show how to use hold, to turn command line into a text editor%0a%3c * Learn how to list files%0a%3c * Show how to scroll, edit commands, execute commands%0a%3c * Show basic commands for navigating filesystem%0a%3c * Cat a text file describing the advanced features of Plan 9%0a%3c * Not Your Grandfather's Unix%0a%3c * Read description of how 9 obsoletes UNIX%0a%3c -- Describe old legacy components that have disappeared%0a%3c -- Describe new replacement features%0a%3c -- Emphasize user independence and knowledge of the system%0a%3c * Describe filesystem hierarchy and do some basic navigation%0a%3c * Force users to go through basic civics courses like in unix101%0a%3c %0a---%0a> ** Index%0a> * Plan9, beyond UNIX%0a +host:1634747415=125.224.28.113 +author:1634747094=jrmu +diff:1634747094:1634744324:=1c1%0a%3c (:title 9-101: An introduction to Plan 9:)%0a---%0a> __Plan9 guide%0a +host:1634747094=125.224.28.113 +author:1634744324=jrmu +diff:1634744324:1634744324:=1,30d0%0a%3c __Plan9 guide%0a%3c ** Index%0a%3c * Plan9, beyond UNIX%0a%3c * rc the shell (end with basic usage of 'window')%0a%3c * Graphics (start with 'window' go on with acme, sam and end with %0a%3c wsys?)%0a%3c * File servers (start with wsys? ctl? ???? slowly end with 9p? and %0a%3c file systems)%0a%3c * File systems start with ramfs, 9p and slowly go on CWFS and hjfs. %0a%3c (no fossil)?%0a%3c * Users (start with cwfs, end with auth and security)%0a%3c * Auth?%0a%3c * Factotum, end with basis of NDB?%0a%3c * NDB - Database part%0a%3c * NDB - Network part%0a%3c * /net (merge with "Networking (native)"?)%0a%3c * Networking (native)%0a%3c * Mailing with upas ( start with native mail, end with POP3 and %0a%3c IMAP)%0a%3c * service=FS (file sharing, end with alien)%0a%3c * NFS, SMB, sshfs (start with NFS, end with ssh)%0a%3c * ssh, telnet, vncv, RDP (alien remote alien)%0a%3c * vncs, ssh?, telnetd? (alien remote 9)%0a%3c * drawterm, rcpu and service=cpu (9 remote 9/ 9 remote alien)%0a%3c * ports ( unix to 9)%0a%3c * linuxemu%0a%3c * VMX%0a%3c * dealing UNIX, Windows and other aliens%0a%3c * Beyond Plan9?%0a%3c but not sure if that fits well%0a +host:1634744324=125.224.28.113 blob - /dev/null blob + de3b6115a890b1bb9e8f2ced8580dcbcf718aa17 (mode 644) --- /dev/null +++ wiki.d/9.9 @@ -0,0 +1,29 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (compatible; hjdicks) +author=mkf +charset=UTF-8 +csum= +ctime=1631917902 +host=198.251.81.133 +name=9.9 +rev=5 +targets= +text=(:title 9:)%0ain 1970 UNIX was created as a small version of multiics on PDP-11 asm language, few years later it got rewritten on C.%0aone of reasons of UNIX popularity was unified file system view, everything was on files, hence you could use same toolbox.%0aas time goes, it gets replaced by the fact that everyone uses UNIX because everyone uses UNIX.%0aand started to port alien programs, using alien ways and alien interface.%0a%0ahowever, all UNIXes share these problems, even on most modern and advacned versions of *nix-like systems:%0a%0a* UNIX was a multiuser system for mainframes, poorly ported to PC (i386 and amd64) platform and still doesn't fit. and it will be worth on Risc-V/aarch64.%0a%0a* Research UNIX itself was about the showing all resources as files, this is ignored by modern UNIX as there are many examples for it. (on graphics, networking, audio and security)%0a%0a* networking on UNIX is most of time is done using sockets (BSD and Linux) and streams (SystemV) both apply poorly to modern networking.%0a%0aNo version of UNIX was able to solve these problems, as all UNIXes are trying to do samething on differnt ways.%0aPlan9 however, doesn't try to be a UNIX. it doesn many stuff on UNIX such as (sym, hard)links, sockets, X11, sh, chroot, NFS, teletype terminals, sysctls, deamons, ssh, dynamic linked programs, /etc, dotfiles and root.%0a%0aInstead of all of those features on UNIX, Plan9 solves problems with two key ideas:%0a%0a* 9p: a unified protocol for programs to create do file opertations, on userland, which solves many problems about files and makes a unified UI. which makes usage of everything is file possible by *whole* system. %0a* private namespaces: which allows each process has it's own view on file system, which solves many problems about security and makes extending system without touching it possible.%0a%0afor example let's say you have your httpd and you want to do chroot on /var/www for httpd.%0aon OpenBSD it would be like:%0a[@%0a1) copy all files needed to run httpd to /var/www/%0a2) chroot%0a3) httpd%0a@]%0a%0aif you have ever bothered to it, you know how hard it is to do. thanks to magic of dynamic linked programs.%0aon Plan9 it can be done in two ways:%0a[@%0a1) bind /var/www to /%0a2) httpd%0a@]%0a%0athis one will be more like classic chroot, besides that there is no dynamic linked httpd to annoy you it's same.%0aall sub-process will see /var/www as / and there is no way to escape it, all other procs will work as expected.%0ahowever, the magic will happen on other way:%0a%0a1) bind everything you don't need to a empty place.%0a2) httpd%0a%0athis will be more like unveil, OpenBSD used it as easier way for users to handle this problem.%0athe drawback of unveil is it will need some serious hacking around the program, binds don't have this problem.%0a%0aanother example:%0alet's say you don't want to have /secret-data folder to be visable by httpd.%0a%0a[@%0a%25 mkdir empty%0a%25 bind empty/ /secret-data %0a%25 httpd%0a@]%0a%0ahttpd will never know what is really on /secret-data, it just will see whatever is on empty/%0aall other procs (besides httpd forks), will see /secret-data as is. +time=1631931654 +title=9 +author:1631931654=mkf +diff:1631931654:1631927961:minor=25d24%0a%3c [@%0a29,30c28%0a%3c @]%0a%3c %0a---%0a> %0a33d30%0a%3c [@%0a36d32%0a%3c @]%0a +host:1631931654=198.251.81.133 +author:1631927961=mkf +diff:1631927961:1631927404:=45c45%0a%3c let's say you don't want to have /secret-data folder to be visable by httpd.%0a---%0a> let's say you don't want to have /secret-datafolder to be visable by httpd.%0a +host:1631927961=198.251.81.133 +author:1631927404=mkf +diff:1631927404:1631918002:minor=2c2%0a%3c in 1970 UNIX was created as a small version of multiics on PDP-11 asm language, few years later it got rewritten on C.%0a---%0a> in 1970 UNIX was created as a small version of multicis on PDP-11 asm language, few years later it got rewritten on C.%0a45,47c45,46%0a%3c let's say you don't want to have /secret-datafolder to be visable by httpd.%0a%3c %0a%3c [@%0a---%0a> let's say you don't want to have /secret-data folder to be visable by httpd.%0a> %0a51d49%0a%3c @]%0a +host:1631927404=2.178.137.21 +author:1631918002=mkf +diff:1631918002:1631917902:=0a1%0a> %0a42,44c43%0a%3c the drawback of unveil is it will need some serious hacking around the program, binds don't have this problem.%0a%3c %0a%3c another example:%0a---%0a> the drawback is it will need some serious hacking around the program.%0a +host:1631918002=198.251.81.133 +author:1631917902=mkf +csum:1631917902=Hi. :) +diff:1631917902:1631917902:=1,51d0%0a%3c %0a%3c (:title 9:)%0a%3c in 1970 UNIX was created as a small version of multicis on PDP-11 asm language, few years later it got rewritten on C.%0a%3c one of reasons of UNIX popularity was unified file system view, everything was on files, hence you could use same toolbox.%0a%3c as time goes, it gets replaced by the fact that everyone uses UNIX because everyone uses UNIX.%0a%3c and started to port alien programs, using alien ways and alien interface.%0a%3c %0a%3c however, all UNIXes share these problems, even on most modern and advacned versions of *nix-like systems:%0a%3c %0a%3c * UNIX was a multiuser system for mainframes, poorly ported to PC (i386 and amd64) platform and still doesn't fit. and it will be worth on Risc-V/aarch64.%0a%3c %0a%3c * Research UNIX itself was about the showing all resources as files, this is ignored by modern UNIX as there are many examples for it. (on graphics, networking, audio and security)%0a%3c %0a%3c * networking on UNIX is most of time is done using sockets (BSD and Linux) and streams (SystemV) both apply poorly to modern networking.%0a%3c %0a%3c No version of UNIX was able to solve these problems, as all UNIXes are trying to do samething on differnt ways.%0a%3c Plan9 however, doesn't try to be a UNIX. it doesn many stuff on UNIX such as (sym, hard)links, sockets, X11, sh, chroot, NFS, teletype terminals, sysctls, deamons, ssh, dynamic linked programs, /etc, dotfiles and root.%0a%3c %0a%3c Instead of all of those features on UNIX, Plan9 solves problems with two key ideas:%0a%3c %0a%3c * 9p: a unified protocol for programs to create do file opertations, on userland, which solves many problems about files and makes a unified UI. which makes usage of everything is file possible by *whole* system. %0a%3c * private namespaces: which allows each process has it's own view on file system, which solves many problems about security and makes extending system without touching it possible.%0a%3c %0a%3c for example let's say you have your httpd and you want to do chroot on /var/www for httpd.%0a%3c on OpenBSD it would be like:%0a%3c 1) copy all files needed to run httpd to /var/www/%0a%3c 2) chroot%0a%3c 3) httpd%0a%3c %0a%3c if you have ever bothered to it, you know how hard it is to do. thanks to magic of dynamic linked programs.%0a%3c on Plan9 it can be done in two ways:%0a%3c 1) bind /var/www to /%0a%3c 2) httpd%0a%3c %0a%3c this one will be more like classic chroot, besides that there is no dynamic linked httpd to annoy you it's same.%0a%3c all sub-process will see /var/www as / and there is no way to escape it, all other procs will work as expected.%0a%3c however, the magic will happen on other way:%0a%3c %0a%3c 1) bind everything you don't need to a empty place.%0a%3c 2) httpd%0a%3c %0a%3c this will be more like unveil, OpenBSD used it as easier way for users to handle this problem.%0a%3c the drawback is it will need some serious hacking around the program.%0a%3c let's say you don't want to have /secret-data folder to be visable by httpd.%0a%3c %0a%3c %25 mkdir empty%0a%3c %25 bind empty/ /secret-data %0a%3c %25 httpd%0a%3c %0a%3c httpd will never know what is really on /secret-data, it just will see whatever is on empty/%0a%3c all other procs (besides httpd forks), will see /secret-data as is.%0a\ No newline at end of file%0a +host:1631917902=198.251.81.133 blob - /dev/null blob + f2d7edafa1622e6f2ac14fafaf583fdb8a383008 (mode 644) --- /dev/null +++ wiki.d/9.9gridchan @@ -0,0 +1,44 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko +author=mkf +charset=UTF-8 +csum= +ctime=1635241613 +host=80.210.50.203 +name=9.9gridchan +rev=10 +targets= +text=Replace Guest with your username.%0a%0a[@%0a; 9fs tcp!watermelon.ircnow.org!9000 /n/chat%0a; cat /n/chat/chat &%0a; while() read | sed '1s/^/Guest → /' >>/n/chat/chat%0a@]%0a%0aFrom UNIX:%0a%0a[@%0a$ 9 9p -a 'tcp!watermelon.ircnow.org!9000' read chat &%0awhile read l; do echo $USER → "$l"%0adone | 9 9p -a 'tcp!watermelon.ircnow.org!9000' write chat%0a@]%0a +time=1639456674 +author:1639456674=mkf +diff:1639456674:1639241684:=13c13%0a%3c while read l; do echo $USER → "$l"%0a---%0a> while read l; do echo $USER _ "$l"%0a +host:1639456674=80.210.50.203 +author:1639241684=jrmu +diff:1639241684:1639241374:=13,14c13,14%0a%3c while read l; do echo $USER _ "$l"%0a%3c done | 9 9p -a 'tcp!watermelon.ircnow.org!9000' write chat%0a---%0a> $ while read l; do echo $USER _ "$l"%0a> $ done | 9 9p -a 'tcp!watermelon.ircnow.org!9000' write chat%0a +host:1639241684=38.87.162.8 +author:1639241374=jrmu +diff:1639241374:1636722175:=7,14d6%0a%3c @]%0a%3c %0a%3c From UNIX:%0a%3c %0a%3c [@%0a%3c $ 9 9p -a 'tcp!watermelon.ircnow.org!9000' read chat &%0a%3c $ while read l; do echo $USER _ "$l"%0a%3c $ done | 9 9p -a 'tcp!watermelon.ircnow.org!9000' write chat%0a +host:1639241374=38.87.162.8 +author:1636722175=mkf +csum:1636722175=wheee +diff:1636722175:1636041961:=0a1%0a> %0a4c5%0a%3c ; 9fs tcp!watermelon.ircnow.org!9000 /n/chat%0a---%0a> ; 9fs tcp!mkf.host.bsdforall.org!9667 /n/chat%0a +host:1636722175=190.2.138.14 +author:1636041961=meeekeeef +csum:1636041961=less confusing now +diff:1636041961:1635418778:=2,3d1%0a%3c Replace Guest with your username.%0a%3c %0a5c3%0a%3c ; 9fs tcp!mkf.host.bsdforall.org!9667 /n/chat%0a---%0a> ; srv tcp!mkf.host.bsdforall.org!9667 gridchat /n/chat%0a7c5,15%0a%3c ; while() read | sed '1s/^/Guest → /' >>/n/chat/chat%0a---%0a> ; while() read | sed '1s/^/Guest → /' >> /n/chat/chat%0a> @]%0a> %0a> Replace Guest with your username.%0a> %0a> Alternative:%0a> %0a> [@%0a> ; 9fs tcp!mkf.host.bsdforall.org!9667%0a> ; cat /n/mkf.host.bsdforall.org!9667/chat &%0a> ; while() read | sed '1s/^/Guest → /' >>/n/mkf.host.bsdforall.org!9667/chat%0a +host:1636041961=198.251.81.133 +author:1635418778=mkf +diff:1635418778:1635418760:=0a1%0a> To chat on 9gridchan:%0a +host:1635418778=91.185.147.106 +author:1635418760=mkf +diff:1635418760:1635417157:=4c4%0a%3c ; srv tcp!mkf.host.bsdforall.org!9667 gridchat /n/chat%0a---%0a> ; srv tcp!chat.9p.zone!9990 gridchat /n/chat%0a14,16c14,16%0a%3c ; 9fs tcp!mkf.host.bsdforall.org!9667%0a%3c ; cat /n/mkf.host.bsdforall.org!9667/chat &%0a%3c ; while() read | sed '1s/^/Guest → /' >>/n/mkf.host.bsdforall.org!9667/chat%0a---%0a> ; 9fs tcp!chat.9p.zone!9990%0a> ; cat /n/chat.9p.zone!9990/chat &%0a> ; while() read | sed '1s/^/Guest → /' >>/n/chat.9p.zone!9990/chat%0a +host:1635418760=91.185.147.106 +author:1635417157=mkf +diff:1635417157:1635244493:=6c6%0a%3c ; while() read | sed '1s/^/Guest → /' >> /n/chat/chat%0a---%0a> ; while() read | sed '1s/^/USERNAME _ /' >> /n/chat/chat%0a9,10c9,10%0a%3c Replace Guest with your username.%0a%3c %0a---%0a> Replace USERNAME with your username.%0a> %0a16c16%0a%3c ; while() read | sed '1s/^/Guest → /' >>/n/chat.9p.zone!9990/chat%0a---%0a> ; while() read | sed '1s/^/USERNAME _ /' >>/n/chat.9p.zone!9990/chat%0a +host:1635417157=91.185.147.106 +author:1635244493=jrmu +diff:1635244493:1635241613:=4,6c4,6%0a%3c ; srv tcp!chat.9p.zone!9990 gridchat /n/chat%0a%3c ; cat /n/chat/chat &%0a%3c ; while() read | sed '1s/^/USERNAME _ /' >> /n/chat/chat%0a---%0a> ; 9fs tcp!chat.9p.zone!9990%0a> ; cat /n/chat.9p.zone!9990/chat &%0a> ; while() read | sed '1s/^/USERNAME _ /' >>/n/chat.9p.zone!9990/chat%0a10,17d9%0a%3c %0a%3c Alternative:%0a%3c %0a%3c [@%0a%3c ; 9fs tcp!chat.9p.zone!9990%0a%3c ; cat /n/chat.9p.zone!9990/chat &%0a%3c ; while() read | sed '1s/^/USERNAME _ /' >>/n/chat.9p.zone!9990/chat%0a%3c @]%0a +host:1635244493=38.87.162.8 +author:1635241613=jrmu +diff:1635241613:1635241613:=1,9d0%0a%3c To chat on 9gridchan:%0a%3c %0a%3c [@%0a%3c ; 9fs tcp!chat.9p.zone!9990%0a%3c ; cat /n/chat.9p.zone!9990/chat &%0a%3c ; while() read | sed '1s/^/USERNAME _ /' >>/n/chat.9p.zone!9990/chat%0a%3c @]%0a%3c %0a%3c Replace USERNAME with your username.%0a +host:1635241613=38.87.162.8 blob - /dev/null blob + 27426adef919da2ac8bc50533510c0542fae7673 (mode 644) --- /dev/null +++ wiki.d/9.9pfs @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:91.0) Gecko/20100101 Firefox/91.0 +author=mkf +charset=UTF-8 +csum= +ctime=1637761225 +host=198.251.81.133 +name=9.9pfs +rev=3 +targets= +text=9pfs is a 9p client which allows mounting 9p servers using fuse. it supports for caching and more portable than 9pfuse%0a! OpenBSD%0a!! Installation%0a[@%0a$ git clone https://github.com/ftrvxmtrx/9pfs/%0a$ cd 9pfs%0a$ make%0a$ doas make install%0a%0a@]%0a!! Usage%0a[@%0a$ 9pfs [-p port] host mount_point%0a@]%0a!! Known bugs?%0a%0acd-ing to a can (will?) might cause 9pfs stop working, don't do that.%0a%0aif you did. cd to somewhere else. +time=1637762441 +author:1637762441=mkf +diff:1637762441:1637761968:=1c1%0a%3c 9pfs is a 9p client which allows mounting 9p servers using fuse. it supports for caching and more portable than 9pfuse%0a---%0a> 9pfs is a 9p client which allows mounting 9p servers using fuse%0a16,18c16%0a%3c %0a%3c cd-ing to a can (will?) might cause 9pfs stop working, don't do that.%0a%3c %0a---%0a> cd-ing to a dir might cause 9pfs stop working, don't do that.%0a +host:1637762441=198.251.81.133 +author:1637761968=mkf +diff:1637761968:1637761225:=1,3d0%0a%3c 9pfs is a 9p client which allows mounting 9p servers using fuse%0a%3c ! OpenBSD%0a%3c !! Installation%0a5,9c2%0a%3c $ git clone https://github.com/ftrvxmtrx/9pfs/%0a%3c $ cd 9pfs%0a%3c $ make%0a%3c $ doas make install%0a%3c %0a---%0a> $ 9pfs [-p port] host mount_point%0a11,17d3%0a%3c !! Usage%0a%3c [@%0a%3c $ 9pfs [-p port] host mount_point%0a%3c @]%0a%3c !! Known bugs?%0a%3c cd-ing to a dir might cause 9pfs stop working, don't do that.%0a%3c if you did. cd to somewhere else.%0a\ No newline at end of file%0a +host:1637761968=198.251.81.133 +author:1637761225=mkf +diff:1637761225:1637761225:=1,3d0%0a%3c [@%0a%3c $ 9pfs [-p port] host mount_point%0a%3c @]%0a +host:1637761225=198.251.81.133 blob - /dev/null blob + f8a7b1224db346bd545d6cfae1bcd3f99fc6d68f (mode 644) --- /dev/null +++ wiki.d/9.Cvsfs @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47 +author=mkf +charset=UTF-8 +csum= +ctime=1634302198 +host=188.210.99.18 +name=9.Cvsfs +rev=4 +targets= +text=[@%0a; 9fs 9front%0a; tar -xf /n/extra/cvsfs.tgz%0a; cd cvsfs%0a@]%0athen, apply this patch.%0a[@%0a--- cvs.c Fri Oct 15 16:09:40 2021%0a+++ cvs.c Fri Oct 15 16:13:12 2021%0a@@ -229,7 +229,7 @@%0a cvsopen(Sess *s)%0a {%0a if (strcmp(s->method, "ext") == 0){%0a+ if (cvspipe(s, "/bin/ssh", "-u") == 0)%0a- if (cvspipe(s, "/bin/ssh", "-l") == 0)%0a return nil;%0a if (cvspipe(s, "/bin/rx", "-l") == 0)%0a return nil;%0a@]%0athen @@mk@@ it.%0a[@%0a; mk all%0a; mk install%0a@]%0athen, add the ssh fingerprint of the host you want to connect to @@$home/lib/sshthumbs@@%0a[@%0a; ssh anoncvs@anoncvs.ca.openbsd.org%0a@]%0a[@%0a; cvsfs :ext:anoncvs@anoncvs.ca.openbsd.org:/cvs src%0a@]%0ait gets mounted on /n/cvs +time=1634302731 +author:1634302731=mkf +diff:1634302731:1634302706:=31,32c31%0a%3c @]%0a%3c it gets mounted on /n/cvs%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1634302731=188.210.99.18 +author:1634302706=mkf +diff:1634302706:1634302550:=27c27%0a%3c ; ssh anoncvs@anoncvs.ca.openbsd.org%0a---%0a> ; ssh anoncvs@planetofnix.com%0a30c30%0a%3c ; cvsfs :ext:anoncvs@anoncvs.ca.openbsd.org:/cvs src%0a---%0a> ; cvsfs :ext:anoncvs@planetofnix.com:/cvs ircnowd%0a +host:1634302706=188.210.99.18 +author:1634302550=mkf +csum:1634302550=:~ +diff:1634302550:1634302198:=2,7d1%0a%3c ; 9fs 9front%0a%3c ; tar -xf /n/extra/cvsfs.tgz%0a%3c ; cd cvsfs%0a%3c @]%0a%3c then, apply this patch.%0a%3c [@%0a19,30d12%0a%3c @]%0a%3c then @@mk@@ it.%0a%3c [@%0a%3c ; mk all%0a%3c ; mk install%0a%3c @]%0a%3c then, add the ssh fingerprint of the host you want to connect to @@$home/lib/sshthumbs@@%0a%3c [@%0a%3c ; ssh anoncvs@planetofnix.com%0a%3c @]%0a%3c [@%0a%3c ; cvsfs :ext:anoncvs@planetofnix.com:/cvs ircnowd%0a +host:1634302550=188.210.99.18 +author:1634302198=mkf +csum:1634302198=patchpatchpatch +diff:1634302198:1634302198:=1,13d0%0a%3c [@%0a%3c --- cvs.c Fri Oct 15 16:09:40 2021%0a%3c +++ cvs.c Fri Oct 15 16:13:12 2021%0a%3c @@ -229,7 +229,7 @@%0a%3c cvsopen(Sess *s)%0a%3c {%0a%3c if (strcmp(s->method, "ext") == 0){%0a%3c + if (cvspipe(s, "/bin/ssh", "-u") == 0)%0a%3c - if (cvspipe(s, "/bin/ssh", "-l") == 0)%0a%3c return nil;%0a%3c if (cvspipe(s, "/bin/rx", "-l") == 0)%0a%3c return nil;%0a%3c @]%0a\ No newline at end of file%0a +host:1634302198=188.210.99.18 blob - /dev/null blob + 4bd4b1fb638d76b18bdda637c94a9eaedb78ee9f (mode 644) --- /dev/null +++ wiki.d/9.Drawterm,del-1636041813 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Links (2.21; OpenBSD 6.9 amd64; LLVM/Clang 10.0.1; text) +author=mkf +charset=UTF-8 +csum= +ctime=1632259141 +host=198.251.81.133 +name=9.Drawterm +rev=1 +targets= +text=[@%0afor connecting to Plan9 you need drawterm. since debian/ubuntu packaged version of drawterm is too old and doesn't support encrypted connections, you will compiling it:%0a%0a$ git clone git://git.9front.org/plan9front/drawterm%0a$ cd drawterm%0a$ CONF=unix make%0a%0athen you can connect to your server using:%0a%0a$ ./drawterm -u glenda -h $VPS_IP -a $VPS_IP # graphical%0a$ ./drawterm -G -u glenda -h $VPS_IP -a $VPS_IP # CLI%0a%0aafterwards, it will ask for password.%0a%0ait's $VPS_PASSWORD.%0a%0aif everything went correctly, you will be greeted by a prompt%0a%0acpu%25%0a%0aif you are running on GUI mode, you could start window system or GUI applications, for window system, run the following:%0a%0a%25 rio%0a%0aif it's first time you are using plan9, this document might be useful for a quick start:%0a%0ahttp://www.covingtoninnovations.com/michael/newbie-guide.pdf%0a%0agoodluck!%0a%0a@] +time=1632259141 +author:1632259141=mkf +diff:1632259141:1632259141:=1,31d0%0a%3c [@%0a%3c for connecting to Plan9 you need drawterm. since debian/ubuntu packaged version of drawterm is too old and doesn't support encrypted connections, you will compiling it:%0a%3c %0a%3c $ git clone git://git.9front.org/plan9front/drawterm%0a%3c $ cd drawterm%0a%3c $ CONF=unix make%0a%3c %0a%3c then you can connect to your server using:%0a%3c %0a%3c $ ./drawterm -u glenda -h $VPS_IP -a $VPS_IP # graphical%0a%3c $ ./drawterm -G -u glenda -h $VPS_IP -a $VPS_IP # CLI%0a%3c %0a%3c afterwards, it will ask for password.%0a%3c %0a%3c it's $VPS_PASSWORD.%0a%3c %0a%3c if everything went correctly, you will be greeted by a prompt%0a%3c %0a%3c cpu%25%0a%3c %0a%3c if you are running on GUI mode, you could start window system or GUI applications, for window system, run the following:%0a%3c %0a%3c %25 rio%0a%3c %0a%3c if it's first time you are using plan9, this document might be useful for a quick start:%0a%3c %0a%3c http://www.covingtoninnovations.com/michael/newbie-guide.pdf%0a%3c %0a%3c goodluck!%0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1632259141=198.251.81.133 blob - /dev/null blob + 5ee937852612a4560bb69060bd050701b69d3a99 (mode 644) --- /dev/null +++ wiki.d/9.Fonts @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632752924 +host=125.231.18.235 +name=9.Fonts +rev=7 +targets= +text=All the fonts are located in /lib/font/bit%0a%0aRecommended @@%25 ls */*unicode*@@ to find unicode fonts.%0a%0aTo make the font bigger for rio:%0a%0a[@%0a%25 rio -f /lib/font/bit/dejavusansbd/unicode.18.font%0a%25 rio -f /lib/font/bit/lucida/unicode.28.font%0a@]%0a%0aFor night mode:%0a%0a[@%0a%25 rio -bf /lib/font/bit/dejavusansbd/unicode.18.font%0a%25 rio -bf /lib/font/bit/lucida/unicode.28.font%0a@]%0a%0aTo make the font bigger for virtual terminal:%0a%0a[@%0a%25 vt -f /lib/font/bit/pelm/unicode.9.font%0a@]%0a +time=1632849183 +author:1632849183=jrmu +diff:1632849183:1632848333:=9c9%0a%3c %25 rio -f /lib/font/bit/lucida/unicode.28.font%0a---%0a> %25 rio -f /lib/font/bit/lucida/unicode.20.font%0a16c16%0a%3c %25 rio -bf /lib/font/bit/lucida/unicode.28.font%0a---%0a> %25 rio -bf /lib/font/bit/lucida/unicode.20.font%0a +host:1632849183=125.231.18.235 +author:1632848333=jrmu +diff:1632848333:1632847360:=8c8%0a%3c %25 rio -f /lib/font/bit/dejavusansbd/unicode.18.font%0a---%0a> %25 rio -f /lib/font/bit/dejavubd/unicode.18.font%0a15c15%0a%3c %25 rio -bf /lib/font/bit/dejavusansbd/unicode.18.font%0a---%0a> %25 rio -bf /lib/font/bit/dejavubd/unicode.18.font%0a +host:1632848333=125.231.18.235 +author:1632847360=jrmu +diff:1632847360:1632845815:=8d7%0a%3c %25 rio -f /lib/font/bit/dejavubd/unicode.18.font%0a15d13%0a%3c %25 rio -bf /lib/font/bit/dejavubd/unicode.18.font%0a +host:1632847360=125.231.18.235 +author:1632845815=jrmu +diff:1632845815:1632845604:=8c8%0a%3c %25 rio -f /lib/font/bit/lucida/unicode.20.font%0a---%0a> %25 rio -f /lib/font/bit/pelm/lucida/unicode.20.font%0a14c14%0a%3c %25 rio -bf /lib/font/bit/lucida/unicode.20.font%0a---%0a> %25 rio -bf /lib/font/bit/pelm/lucida/unicode.20.font%0a +host:1632845815=125.231.18.235 +author:1632845604=jrmu +diff:1632845604:1632842784:=9,14d8%0a%3c @]%0a%3c %0a%3c For night mode:%0a%3c %0a%3c [@%0a%3c %25 rio -bf /lib/font/bit/pelm/lucida/unicode.20.font%0a +host:1632845604=125.231.18.235 +author:1632842784=Miniontoby +diff:1632842784:1632752924:=1,10d0%0a%3c All the fonts are located in /lib/font/bit%0a%3c %0a%3c Recommended @@%25 ls */*unicode*@@ to find unicode fonts.%0a%3c %0a%3c To make the font bigger for rio:%0a%3c %0a%3c [@%0a%3c %25 rio -f /lib/font/bit/pelm/lucida/unicode.20.font%0a%3c @]%0a%3c %0a +host:1632842784=125.231.18.235 +author:1632752924=jrmu +diff:1632752924:1632752924:=1,5d0%0a%3c To make the font bigger for virtual terminal:%0a%3c %0a%3c [@%0a%3c %25 vt -f /lib/font/bit/pelm/unicode.9.font%0a%3c @]%0a +host:1632752924=125.231.18.235 blob - /dev/null blob + 91ebf5f4b3ed13c4e7f84ea70af1bcce4910f2a5 (mode 644) --- /dev/null +++ wiki.d/9.Ideas @@ -0,0 +1,87 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632882316 +host=38.87.162.8 +name=9.Ideas +rev=25 +targets= +text=Fork of 9Front:%0a%0aGoals:%0a%0a* Separate non-free software from free software. Make sure non-free software is not downloaded by default but instead placed in a separate repository.%0a * Replace Aladdin Ghostscript with freely licensed version%0a* Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs and skill levels.%0a* Provide OpenSSH access -- Done with OpenBSD->drawterm bridge%0a* Accessibility for blind, Keyboard-only access: -- Write Serial Console Guide%0a* Fix VNC server bug; slows to a crawl after long uptime%0a* Add protection against bitrot in file system%0a* Write Plan101 course%0a* Support all Linux and BSDs%0a* Provide 9fs for every operating system%0a* Port Drawterm to every platform:%0a * iOS -- may be impossible, use vncs instead%0a * Android%0a * Linux%0a * Debian%0a * OpenSuSE%0a * FreeBSD, NetBSD?%0a* Keep plan9port up to date for every platform%0a* Inferno?%0a* Host files -- tech books, gutenberg.org, RFCs, librivox, wikipedia, survival books%0a* Add filesystems: ircfs, xmppfs, matrixfs, check nntpfs, activitypubfs, check gopherfs, geminifs, check rssfs%0a%0aLow Priority%0a* Perhaps: searchable package manager with prebuilt binaries%0a* Write free drivers for wifi%0a* SMTP/IMAP/POP servers%0a* Add support for niche operating systems in the hypervisor, including Haiku, ReactOS, (all BSDs and Linux if not already done)%0a* Write a working firewall%0a%0aObsolete:%0a* Make it easy to port existing UNIX applications%0a* X11 -- just use unix and install plan9port%0a* Get working servers for:%0a * IRC%0a * psybnc fork%0a * DNS ([[https://pirata.dev/delphinusdnsd/|delphinusdnsd]])%0a* HTTP server: provide compatibility with most web apps%0a +time=1636112800 +author:1636112800=jrmu +diff:1636112800:1636103875:=25d24%0a%3c * Add filesystems: ircfs, xmppfs, matrixfs, check nntpfs, activitypubfs, check gopherfs, geminifs, check rssfs%0a +host:1636112800=38.87.162.8 +author:1636103875=jrmu +diff:1636103875:1636102050:=8,10c8,24%0a%3c * Provide OpenSSH access -- Done with OpenBSD->drawterm bridge%0a%3c * Accessibility for blind, Keyboard-only access: -- Write Serial Console Guide%0a%3c * Fix VNC server bug; slows to a crawl after long uptime%0a---%0a> * Provide support for legacy applications including:%0a> * X11%0a> * Teletype Terminals -- Write Serial Console Guide%0a> * OpenSSH server -- Done with OpenBSD->drawterm bridge%0a> * Make it easy to port existing UNIX applications%0a> * Write free drivers for wifi%0a> * Write a working firewall%0a> * Get working servers for:%0a> * IRC%0a> * psybnc fork%0a> * DNS ([[https://pirata.dev/delphinusdnsd/|delphinusdnsd]])%0a> * Improve reliability and quality of:%0a> * VNC server%0a> * SMTP/IMAP/POP servers%0a> * HTTP server: provide compatibility with most web apps%0a> * Perhaps: searchable package manager with prebuilt binaries%0a> * Add support for niche operating systems in the hypervisor, including Haiku, ReactOS, (all BSDs and Linux if not already done)%0a13,16c27,33%0a%3c * Support all Linux and BSDs%0a%3c * Provide 9fs for every operating system%0a%3c * Port Drawterm to every platform:%0a%3c * iOS -- may be impossible, use vncs instead%0a---%0a> * In addition to creating /mnt/term on 9, also create filesystem on drawterm's host operating system, so the user can use his own file manager and apps%0a> %0a> Drawterm:%0a> %0a> Cons: %0a> * Missing on:%0a> * iOS%0a21,40c38,47%0a%3c * FreeBSD, NetBSD?%0a%3c * Keep plan9port up to date for every platform%0a%3c * Inferno?%0a%3c * Host files -- tech books, gutenberg.org, RFCs, librivox, wikipedia, survival books%0a%3c %0a%3c Low Priority%0a%3c * Perhaps: searchable package manager with prebuilt binaries%0a%3c * Write free drivers for wifi%0a%3c * SMTP/IMAP/POP servers%0a%3c * Add support for niche operating systems in the hypervisor, including Haiku, ReactOS, (all BSDs and Linux if not already done)%0a%3c * Write a working firewall%0a%3c %0a%3c Obsolete:%0a%3c * Make it easy to port existing UNIX applications%0a%3c * X11 -- just use unix and install plan9port%0a%3c * Get working servers for:%0a%3c * IRC%0a%3c * psybnc fork%0a%3c * DNS ([[https://pirata.dev/delphinusdnsd/|delphinusdnsd]])%0a%3c * HTTP server: provide compatibility with most web apps%0a---%0a> * BSDs?%0a> %0a> Pros:%0a> * Can share audio%0a> * Better security with namespaces%0a> * Uses 9P%0a> * Can access filesystem%0a> * TLS Encryption (vncs supports it, but what about vnc clients?)%0a> %0a> %0a +host:1636103875=38.87.162.8 +author:1636102050=jrmu +diff:1636102050:1636102008:=27d26%0a%3c * In addition to creating /mnt/term on 9, also create filesystem on drawterm's host operating system, so the user can use his own file manager and apps%0a +host:1636102050=38.87.162.8 +author:1636102008=jrmu +diff:1636102008:1634546968:=10,11c10,11%0a%3c * Teletype Terminals -- Write Serial Console Guide%0a%3c * OpenSSH server -- Done with OpenBSD->drawterm bridge%0a---%0a> * Teletype Terminals%0a> * OpenSSH server%0a +host:1636102008=38.87.162.8 +author:1634546968=mkf +diff:1634546968:1633357382:=44,46d43%0a%3c * TLS Encryption (vncs supports it, but what about vnc clients?)%0a%3c %0a%3c %0a +host:1634546968=86.106.193.126 +author:1633357382=jrmu +diff:1633357382:1633357229:=23c23%0a%3c * Perhaps: searchable package manager with prebuilt binaries%0a---%0a> * Searchable package manager with prebuilt binaries%0a +host:1633357382=125.231.16.47 +author:1633357229=jrmu +diff:1633357229:1632899859:=23d22%0a%3c * Searchable package manager with prebuilt binaries%0a +host:1633357229=125.231.16.47 +author:1632899859=jrmu +diff:1632899859:1632898952:=20d19%0a%3c * VNC server%0a25d23%0a%3c * Write Plan101 course%0a +host:1632899859=125.231.16.216 +author:1632898952=jrmu +diff:1632898952:1632896935:=24,40d23%0a%3c %0a%3c Drawterm:%0a%3c %0a%3c Cons: %0a%3c * Missing on:%0a%3c * iOS%0a%3c * Android%0a%3c * Linux%0a%3c * Debian%0a%3c * OpenSuSE%0a%3c * BSDs?%0a%3c %0a%3c Pros:%0a%3c * Can share audio%0a%3c * Better security with namespaces%0a%3c * Uses 9P%0a%3c * Can access filesystem%0a +host:1632898952=125.231.16.216 +author:1632896935=jrmu +diff:1632896935:1632893415:=17d16%0a%3c * psybnc fork%0a +host:1632896935=125.231.16.216 +author:1632893415=jrmu +diff:1632893415:1632884074:=17d16%0a%3c * DNS ([[https://pirata.dev/delphinusdnsd/|delphinusdnsd]])%0a +host:1632893415=125.231.16.216 +author:1632884074=jrmu +diff:1632884074:1632883864:=21d20%0a%3c * Add protection against bitrot in file system%0a +host:1632884074=125.231.16.216 +author:1632883864=jrmu +diff:1632883864:1632883844:=7c7%0a%3c * Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs and skill levels.%0a---%0a> * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs and skill levels.%0a +host:1632883864=125.231.16.216 +author:1632883844=jrmu +diff:1632883844:1632883648:=6d5%0a%3c * Replace Aladdin Ghostscript with freely licensed version%0a +host:1632883844=125.231.16.216 +author:1632883648=jrmu +diff:1632883648:1632883630:=6c6%0a%3c * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs and skill levels.%0a---%0a> * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs.%0a +host:1632883648=125.231.16.216 +author:1632883630=jrmu +diff:1632883630:1632883600:=6c6%0a%3c * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant base for users with different beliefs.%0a---%0a> * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant OS for users of different beliefs.%0a +host:1632883630=125.231.16.216 +author:1632883600=jrmu +diff:1632883600:1632883120:=6c6%0a%3c * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses. Create a tolerant OS for users of different beliefs.%0a---%0a> * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses.%0a +host:1632883600=125.231.16.216 +author:1632883120=jrmu +diff:1632883120:1632883085:=18c18%0a%3c * HTTP server: provide compatibility with most web apps%0a---%0a> * HTTP server%0a +host:1632883120=125.231.16.216 +author:1632883085=jrmu +diff:1632883085:1632883018:=16,18c16%0a%3c * Improve reliability and quality of:%0a%3c * SMTP/IMAP/POP servers%0a%3c * HTTP server%0a---%0a> * SMTP/IMAP/POP%0a +host:1632883085=125.231.16.216 +author:1632883018=jrmu +diff:1632883018:1632882621:=6c6,7%0a%3c * Perhaps: Allow contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses.%0a---%0a> * Accept contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses.%0a> * %0a +host:1632883018=125.231.16.216 +author:1632882621=jrmu +diff:1632882621:1632882479:=18d17%0a%3c * Add support for niche operating systems in the hypervisor, including Haiku, ReactOS, (all BSDs and Linux if not already done)%0a +host:1632882621=125.231.16.216 +author:1632882479=jrmu +diff:1632882479:1632882431:=14,17d13%0a%3c * Write a working firewall%0a%3c * Get working servers for:%0a%3c * IRC%0a%3c * SMTP/IMAP/POP%0a +host:1632882479=125.231.16.216 +author:1632882431=jrmu +diff:1632882431:1632882381:=13d12%0a%3c * Write free drivers for wifi%0a +host:1632882431=125.231.16.216 +author:1632882381=jrmu +diff:1632882381:1632882316:=8,12d7%0a%3c * Provide support for legacy applications including:%0a%3c * X11%0a%3c * Teletype Terminals%0a%3c * OpenSSH server%0a%3c * Make it easy to port existing UNIX applications%0a +host:1632882381=125.231.16.216 +author:1632882316=jrmu +diff:1632882316:1632882316:=1,7d0%0a%3c Fork of 9Front:%0a%3c %0a%3c Goals:%0a%3c %0a%3c * Separate non-free software from free software. Make sure non-free software is not downloaded by default but instead placed in a separate repository.%0a%3c * Accept contributions from any free license, whether it is GPL or BSD. All licenses must respect the four basic freedoms. Avoid discrimination based on licenses.%0a%3c * %0a +host:1632882316=125.231.16.216 blob - /dev/null blob + cfbe25f50ea5ca89b1ef72b6a698f2e1943b5d7b (mode 644) --- /dev/null +++ wiki.d/9.Install @@ -0,0 +1,90 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632371332 +host=125.224.28.113 +name=9.Install +rev=26 +targets= +text=Attach:plan9-desktop.png%0a%0aIn /etc/vm.conf:%0a%0a[@%0avm "username-plan9" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso"%0a disk /home/username/username-plan9.qcow2 %0a interface {%0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0aDownload the plan9 ISO:%0a%0a[@%0a$ ftp http://9front.org/iso/9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0a$ doas mv 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz /home/iso/%0a$ doas chown -R iso:iso /home/iso/%0a$ cd /home/iso%0a$ sha256 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0aSHA256 (9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz) = af6dfae894dcb1e43f1e7e3d085b50f6d1dcf396e09a37d23c174ea94d8bf244%0a$ gunzip 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0a@]%0a%0aCreate a user account and make sure to set the folder as go-rx:%0a%0a[@%0a$ doas chmod -R go-rx ~/%0a$ doas su username%0a@]%0a%0aIn the home folder:%0a%0a[@%0a$ vmctl create -s 20G ~/username-plan9.qcow2%0a@]%0a%0aThen log out of the user with ^D, then as admin user in group wheel:%0a%0a[@%0a$ doas vmctl reload%0a$ doas vmctl start -c username-plan9%0aConnected to /dev/ttypr (speed 115200) %0aBoot failed: not a bootable disk %0a %0a*e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0acdboot=yes %0amouseport=ask %0amonitor=ask %0avgasize=ask %0abootfile=/386/9pc %0a>console=0 %0accoonnssoollee==00%0a%0a>>bboooott%0a%0abboooott%0a %0a %0aPlan 9%0a125 holes free%0a0x00021000 0x0009f000 516096%0a0x00100000 0x00110000 65536%0a0x005dd000 0x19cc8000 426684416%0a427266048 bytes free%0acpu0: 4600MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0aELCR: 02E8%0a#l0: virtio: 1000Mbps port 0x2000 irq 5 ea f2b2b3daeb05%0ai8042: kbd init failed%0a1000M memory: 413M kernel data, 587M user, 1212M swap%0anusb/usbd: no hubs%0a%0a/dev/sd00: OpenBSD VMM CD-ROM 001%0a/dev/sd00/data 9660%0a/dev/sdF0:%0a/dev/sdF0/data%0abootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data] %0auser[glenda]: %0a%0ainit: starting /bin/rc%0acirno Sep 23 06:50:25 starting dns resolver on /net%0avgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0abind: #i: no frame buffer%0ainit: rc exit status: rc 215: webcookies 330: interrupt%0a%0ainit: starting /bin/rc%0a%25 inst/start%0aThu Sep 23 04:51:42 CET 2021 Installation process started%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following unfinished tasks are ready to be done:%0a configfs - choose the type of file system to install%0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [configfs]: %0a%0a--------------------------------------%0aYou can install the following types of file systems:%0a%0a cwfs64x the cached-worm file server%0a hjfs the new 9front file server (experimental!)%0a%0aFile system (cwfs64x, hjfs)[cwfs64x]: hjfs%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a%0aThe following unfinished tasks are ready to be done:%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a mountfs - choose and mount file system partition%0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [partdisk]: %0a%0a--------------------------------------%0aThe following disk devices were found.%0a%0asd00 - OpenBSD VMM CD-ROM 001%0a empty 0 485 (485 cylinders, 1.89 GB) %0a * p1 485 486 (1 cylinders, 4.00 MB) ESP%0a%0asdF0 -%0a%0aDisk to partition (sd00, sdF0)[no default]: sdF0%0aThe disk you selected HAS NO master boot record on its first sector.%0a(Perhaps it is a completely blank disk.)%0aShall we create a blank EFI partition table (GPT)%0aor install traditional DOS partition table (MBR)?%0a%0aInstall mbr or gpt (mbr, gpt)[no default]: mbr%0a%0aThis is disk/fdisk; use it to create a Plan 9 partition.%0aIf there is enough room, a Plan 9 partition will be%0asuggested; you can probably just type 'w' and then 'q'.%0a%0acylinder = 8225280 bytes%0a'* p1 0 2610 (2610 cylinders, 19.99 GB) PLAN9%0a>>> w%0a>>> q %0a %0a--------------------------------------%0a %0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%0aThe following unfinished tasks are ready to be done: %0a prepdisk - subdivide plan 9 disk partition %0a mountfs - choose and mount file system partition %0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [prepdisk]: %0a%0a--------------------------------------%0aThe following Plan 9 disk partitions were found.%0a%0a/dev/sdF0/plan9%0a empty 0 41929587 (41929587 sectors, 19.99 GB)%0a%0aPlan 9 partition to subdivide (/dev/sdF0/plan9)[/dev/sdF0/plan9]: %0aThis is disk/prep; use it to subdivide the Plan 9 partition.%0aIf it is not yet subdivided, a sensible layout will be suggested;%0ayou can probably just type 'w' and then 'q'.%0a%0ano plan9 partition table found%0a9fat 204800%0anvram 1%0afs 41724786%0a' 9fat 0 204800 (204800 sectors, 100.00 MB)%0a' nvram 204800 204801 (1 sectors, 512 B )%0a' fs 204801 41929587 (41724786 sectors, 19.89 GB)%0a>>> w%0a>>> q%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a%0aThe following unfinished tasks are ready to be done:%0a mountfs - choose and mount file system partition%0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [mountfs]: %0a%0a--------------------------------------%0a%0aPlease choose your hjfs partition%0a%0a--rw-r----- S 0 glenda glenda 21363090432 Jul 18 17:25 /dev/sdF0/fs%0a%0aHjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0aSize of RAM filesystem cache (MB)? [192]: %0aReam the filesystem? (yes, no)[yes]: %0aStarting hjfs file server for /dev/sdF0/fs %0ahjfs: reaming /dev/sdF0/fs %0ahjfs: ream successful %0ahjfs: fs is /dev/sdF0/fs %0aConfiguring hjfs file server for /dev/sdF0/fs%0ahjfs: >create /dist sys sys 775 d%0ahjfs: >create /usr sys sys 775 d%0ahjfs: >newuser glenda%0ahjfs: >newuser adm +glenda%0ahjfs: >newuser sys +glenda%0ahjfs: >newuser upas +glenda%0ahjfs: >echo off%0aMounting hjfs file server for /dev/sdF0/fs%0a%25 mount -c /srv/hjfs.newfs /n/newfs%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a mountfs - choose and mount file system partition%0a%0aThe following unfinished tasks are ready to be done:%0a configdist - choose the source of the distribution archive%0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [configdist]: %0a%0a--------------------------------------%0aAre you going to download the distribution%0afrom the internet or do you have it on local media?%0a%0aDistribution is from (local, net)[local]: %0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a mountfs - choose and mount file system partition%0a configdist - choose the source of the distribution archive%0a%0aThe following unfinished tasks are ready to be done:%0a confignet - configure the network%0a mountdist - locate and mount the distribution%0a tzsetup - choose time zone%0a%0aTask to do [confignet]: %0a%0a--------------------------------------%0a%0aWe will configure the ethernet.%0a%0a%0aPlease choose a method for configuring your ethernet connection.%0a%0a manual - specify IP address, network mask, gateway IP address%0a automatic - use DHCP and SLAAC to automatically configure%0a%0aConfiguration method (manual, automatic)[automatic]: %0astarting ethernet automatic config %0aipconfig: write(try fe80::f0b2:b3ff:feda:eb05 /64): interface does not support multicast%0aipconfig: can't start IPv6 on /net/ether0, address fe80::f0b2:b3ff:feda:eb05%0aipconfig: dialicmp6: cs: can't translate address %0a %0a-------------------------------------- %0a %0aPreparing menu... %0aThe following tasks are done: %0a configfs - choose the type of file system to install %0a partdisk - edit partition tables (e.g., to create a plan 9 partition) %0a prepdisk - subdivide plan 9 disk partition %0a mountfs - choose and mount file system partition %0a configdist - choose the source of the distribution archive %0a confignet - configure the network %0a %0aThe following unfinished tasks are ready to be done: %0a mountdist - locate and mount the distribution %0a download - download or continue to download the distribution archives %0a tzsetup - choose time zone %0a %0aTask to do [mountdist]: %0a%0a--------------------------------------%0aPlease wait... Scanning storage devices...%0a /dev/sd00/data%0a /dev/sdF0/9fat%0a /dev/sdF0/data%0a /dev/sdF0/fs%0a%0aThe following storage media were detected.%0aChoose the one containing the distribution.%0a%0a /dev/sd00/data (iso9660 cdrom)%0a%0aDistribution disk (/dev/sd00/data, /dev/sdF0/fs, /)[/]: %0a%25 mount /srv/boot /n/distmedia %0a %0aWhich directory contains the distribution? %0aAny of the following will suffice (in order of preference): %0a - the root directory of the cd image %0a - the directory containing 9front.iso %0a - the directory containing 9front.iso.bz2 %0a %0aLocation of archives [/]: %0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a mountfs - choose and mount file system partition%0a configdist - choose the source of the distribution archive%0a confignet - configure the network%0a mountdist - locate and mount the distribution%0a%0aThe following unfinished tasks are ready to be done:%0a copydist - copy the distribution into the file system%0a tzsetup - choose time zone%0a%0aTask to do [copydist]: %0a%0a-------------------------------------- %0aprocessing /sys/lib/sysconfig/proto/allproto %0afile system made %0a %0a--------------------------------------%0a %0aPreparing menu... %0aThe following tasks are done: %0a configfs - choose the type of file system to install %0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition %0a mountfs - choose and mount file system partition %0a configdist - choose the source of the distribution archive%0a confignet - configure the network %0a mountdist - locate and mount the distribution %0a copydist - copy the distribution into the file system%0a %0aThe following unfinished tasks are ready to be done: %0a ndbsetup - setup network configuration %0a tzsetup - choose time zone %0a bootsetup - configure hard disk to boot plan 9%0a %0aTask to do [ndbsetup]: %0a%0a--------------------------------------%0a%0aSetup network configuration%0a%0asysname [cirno]: username.example.com%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a mountfs - choose and mount file system partition%0a configdist - choose the source of the distribution archive%0a confignet - configure the network%0a mountdist - locate and mount the distribution%0a copydist - copy the distribution into the file system%0a ndbsetup - setup network configuration%0a %0aThe following unfinished tasks are ready to be done:%0a tzsetup - choose time zone %0a bootsetup - configure hard disk to boot plan 9 %0a %0aTask to do [tzsetup]: %0a%0a-------------------------------------- %0a %0aSetup Time Zone %0a %0aTime Zone (Argentina, Asia_Bahrain, Asia_India, Australia_ACT, Australia_Broken-Hill, Au%0astralia_LHI, Australia_NSW, Australia_North, Australia_Queensland, Australia_South, Aust%0aralia_Sturt, Australia_Tasmania, Australia_Victoria, Australia_West, Australia_Yancowinn%0aa, Brazil_Acre, Brazil_DeNoronha, Brazil_East, Brazil_West, CET, Canada_Atlantic, Canada%0a_Central, Canada_East-Saskatchewan, Canada_Eastern, Canada_Mountain, Canada_Newfoundland%0a, Canada_Pacific, Canada_Yukon, Chile_Continental, Chile_EasterIsland, Cuba, EET, Egypt,%0a GB-Eire, GMT, HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Libya, Mexico_BajaN%0aorte, Mexico_BajaSur, Mexico_General, NZ, NZ_CHAT, Navajo, PRC, Poland, ROC, ROK, Singap%0aore, Turkey, US_Alaska, US_Arizona, US_Central, US_East-Indiana, US_Eastern, US_Hawaii, %0aUS_Michigan, US_Mountain, US_Pacific, US_Yukon, Uruguay, W-SU, WET)[US_Eastern]: US_Central%0a%0a-------------------------------------- %0a %0aPreparing menu... %0aThe following tasks are done: %0a configfs - choose the type of file system to install %0a partdisk - edit partition tables (e.g., to create a plan 9 partition) %0a prepdisk - subdivide plan 9 disk partition %0a mountfs - choose and mount file system partition %0a configdist - choose the source of the distribution archive %0a confignet - configure the network%0a mountdist - locate and mount the distribution%0a copydist - copy the distribution into the file system%0a ndbsetup - setup network configuration%0a tzsetup - choose time zone%0a %0aThe following unfinished tasks are ready to be done: %0a bootsetup - configure hard disk to boot plan 9%0a %0aTask to do [bootsetup]: %0a%0a--------------------------------------%0a%0aSetup Plan 9 FAT boot partition (9fat) %0a%0aPlan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0adossrv: serving #s/dos %0a%25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak%0a1+0 records in %0a1+0 records out%0aInitializing Plan 9 FAT partition. %0a%25 disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 /dev/sdF0/9fat%0aInitializing FAT file system%0atype hard, 12 tracks, 255 heads, 63 sectors/track, 512 bytes/sec%0aused 4096 bytes%0a%25 mount -c /srv/dos /n/9fat /dev/sdF0/9fat%0a%25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc%0a%25 cp /n/newfs/386/9bootfat /n/9fat/9bootfat%0a%25 chmod +al /n/9fat/9bootfat%0a%25 cp /tmp/plan9.ini /n/9fat/plan9.ini%0a%25 cp /n/newfs/386/9pc /n/9fat/%0a%25 mkdir -p /n/9fat/efi/boot%0a%25 cp /386/bootia32.efi /386/bootx64.efi /n/9fat/efi/boot%0a%25 cp /tmp/pbs.bak /n/9fat%0a%25 unmount /n/9fat%0a%0aIf you use the Windows NT/2000/XP master boot record%0aor a master boot record from a Unix clone (e.g., LILO or%0aFreeBSD bootmgr), it is probably safe to continue using%0athat boot record rather than install the Plan 9 boot record.%0a%0aInstall the Plan 9 master boot record (yes, no)[no default]: yes%0aMark the Plan 9 partition active (yes, no)[no default]: yes%0a%0aThe Plan 9 partition is now marked as active.%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk - subdivide plan 9 disk partition%0a mountfs - choose and mount file system partition%0a configdist - choose the source of the distribution archive%0a confignet - configure the network%0a mountdist - locate and mount the distribution%0a copydist - copy the distribution into the file system%0a ndbsetup - setup network configuration%0a tzsetup - choose time zone%0a bootsetup - configure hard disk to boot plan 9%0a%0aThe following unfinished tasks are ready to be done:%0a finish - finish the installation and reboot%0a%0aTask to do [finish]: %0a%0a--------------------------------------%0aCongratulations; you've completed the install.%0a%0a%0ahalting...halted at Thu Sep 23 05:46:49 2021.%0a/srv/cwfs.newfs.cmd...%0adone halting%0arebooting...%0acpu0: exiting%0aTakes a licking and keeps on ticking...%0acan't reset%0a@]%0a%0aAt this point, plan9 is unable to reboot on its own, so type @@~~.@@ then:%0a%0a[@%0a$ doas vmctl stop username-plan9%0a$ doas vmctl start -c username-plan9%0a@]%0a%0a[@%0aConnected to /dev/ttyph (speed 115200)%0aMBR...pbs.................ok%0a*e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x000000000%0a00a0000 2 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x0000000%0a03fffc000 2 0x000000003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x00000%0a00100000000 %0abootfile=9pc%0abootargs=local!/dev/sdF0/fs -m 192%0amouseport=ask%0amonitor=ask%0avgasize=text%0accoonnssoollee==00%0a%0abboooott%0a%0a%0aPlan 9%0a126 holes free%0a0x0001a000 0x0009f000 544768%0a0x0060a000 0x0ffff000 262098944%0a262643712 bytes free%0acpu0: 4623MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97%0aF)%0aELCR: 02E8%0a#l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668f07%0ai8042: kbd init failed%0a1024M memory: 256M kernel data, 767M user, 1392M swap%0anusb/usbd: no hubs%0a%0a/dev/sd00: OpenBSD VMM CD-ROM 001%0a/dev/sd00/data 9660%0a/dev/sdF0:%0a/dev/sdF0/9fat dos%0a/dev/sdF0/data%0a/dev/sdF0/fs hjfs%0a/dev/sdF0/nvram%0a/dev/sdF0/plan9%0abootargs is (tcp, tls, il, local!device)[local!/dev/sdF0/fs -m 192] %0auser[glenda]: %0ahjfs: fs is /dev/sdF0/fs%0a%0ainit: starting /bin/rc%0aipconfig: write(try fe80::dc4b:aaff:fe66:8f07 /64): interface does not support multicast%0aipconfig: can't start IPv6 on /net/ether0, address fe80::dc4b:aaff:fe66:8f07%0aipconfig: dialicmp6: cs: can't translate address%0abind: #i: no frame buffer%0ario: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0ainit: rc exit status: rc 260: rio 396: display open%0a%0ainit: starting /bin/rc%0a%25 auth/wrkey%0abad nvram des key%0abad authentication id%0abad authentication domain%0aauthid: glenda%0aauthdom: username.example.com%0asecstore key: %0apassword: %0a%25 9fs 9fat%0a%25 echo 'service=cpu' >> /n/9fat/plan9.ini%0a%25 echo 'while() { sleep 5; ip/ping 38.87.162.1 > /dev/null } &' >> /bin/cpurc%0a%25 fshalt -r%0a@]%0a%0a@@~~.@@ to escape serial console, then:%0a%0a[@%0ahost# vmctl stop username-plan9 %0astopping vm username-plan9: requested to shutdown vm 6%0ahost# vmctl start -c username-plan9 %0a@]%0a%0aTo start VNC (optional):%0a%0a[@%0a# vncs -A /bin/rio -s%0a@]%0a +time=1634654219 +author:1634654219=jrmu +diff:1634654219:1634528204:=566c566%0a%3c %25 echo 'while() { sleep 5; ip/ping 38.87.162.1 > /dev/null } &' >> /bin/cpurc%0a---%0a> %25 echo 'while() { sleep 5; ip/ping 138.87.162.1 > /dev/null } &' >> /bin/cpurc%0a +host:1634654219=125.224.28.113 +author:1634528204=jrmu +diff:1634528204:1633007047:=581c581%0a%3c # vncs -A /bin/rio -s%0a---%0a> # vncs -A /bin/rio%0a +host:1634528204=38.87.162.8 +author:1633007047=jrmu +diff:1633007047:1632643899:=1,2d0%0a%3c Attach:plan9-desktop.png%0a%3c %0a +host:1633007047=125.231.16.216 +author:1632643899=jrmu +diff:1632643899:1632642478:=574,579d573%0a%3c @]%0a%3c %0a%3c To start VNC (optional):%0a%3c %0a%3c [@%0a%3c # vncs -A /bin/rio%0a +host:1632643899=125.231.18.235 +author:1632642478=jrmu +diff:1632642478:1632642278:=564c564%0a%3c %25 echo 'while() { sleep 5; ip/ping 138.87.162.1 > /dev/null } &' >> /bin/cpurc%0a---%0a> %25 echo 'while() { sleep 5; ip/ping -n 138.87.162.1 > /dev/null } &' >> /bin/cpurc%0a +host:1632642478=125.231.18.235 +author:1632642278=jrmu +diff:1632642278:1632557533:=564d563%0a%3c %25 echo 'while() { sleep 5; ip/ping -n 138.87.162.1 > /dev/null } &' >> /bin/cpurc%0a +host:1632642278=125.231.18.235 +author:1632557533=jrmu +diff:1632557533:1632557235:=370,371c370,371%0a%3c sysname [cirno]: username.example.com%0a%3c %0a---%0a> sysname [cirno]: jrmu.host.bsdforall.org%0a> %0a503a504%0a> host# vmctl start -c jrmu %0a506,509c507,509%0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x000000000%0a%3c 00a0000 2 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x0000000%0a%3c 03fffc000 2 0x000000003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x00000%0a%3c 00100000000 %0a---%0a> *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a> 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a> 003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0a525,526c525%0a%3c cpu0: 4623MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97%0a%3c F)%0a---%0a> cpu0: 4609MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a550,552c549,551%0a%3c rio: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0a%3c init: rc exit status: rc 260: rio 396: display open%0a%3c %0a---%0a> Can't cd /usr/glenda: '/usr/glenda' does not exist%0a> init: rc exit status: rc 260: can't cd%0a> %0a558c557%0a%3c authid: glenda%0a---%0a> authid: glenda %0a +host:1632557533=125.231.18.235 +author:1632557235=jrmu +diff:1632557235:1632544472:=344d343%0a%3c file system made %0a370,371c369,370%0a%3c sysname [cirno]: jrmu.host.bsdforall.org%0a%3c %0a---%0a> sysname [cirno]: %0a> %0a429,434c428,433%0a%3c Setup Plan 9 FAT boot partition (9fat) %0a%3c %0a%3c Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a%3c dossrv: serving #s/dos %0a%3c %25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak%0a%3c 1+0 records in %0a---%0a> Setup Plan 9 FAT boot partition (9fat) %0a> %0a> Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a> dossrv: serving #s/dos%0a> %25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak %0a> 1+0 records in%0a436c435%0a%3c Initializing Plan 9 FAT partition. %0a---%0a> Initializing Plan 9 FAT partition.%0a456c455%0a%3c %0a---%0a> %0a +host:1632557235=125.231.18.235 +author:1632544472=jrmu +diff:1632544472:1632544342:=570a571,630%0a> @]%0a> %0a> [@%0a> Connected to /dev/ttyp4 (speed 115200)%0a> MBR...pbs.................ok %0a> *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a> 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a> 003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0a> bootfile=9pc64 %0a> bootargs=local!/dev/sdF0/fscache%0a> mouseport=ask%0a> monitor=ask %0a> vgasize=text %0a> ccoonnssoollee==00%0a> %0a> sseerrvviiccee==ccppuu%0a> %0a> bboooott %0a> %0a> bboooott %0a> %0a> %0a> Plan 9%0a> 125 holes free%0a> 0x00021000 0x0009f000 516096%0a> 0x00100000 0x00110000 65536%0a> 0x005dd000 0x136ea000 319868928%0a> 320450560 bytes free%0a> cpu0: 4602MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a> ELCR: 02E8%0a> #l0: virtio: 1000Mbps port 0x2000 irq 5 ea f2b2b3daeb05%0a> i8042: kbd init failed%0a> 998M memory: 311M kernel data, 687M user, 1312M swap%0a> nusb/usbd: no hubs%0a> %0a> /dev/sd00: OpenBSD VMM CD-ROM 001%0a> /dev/sd00/data 9660%0a> /dev/sdF0:%0a> /dev/sdF0/9fat dos%0a> /dev/sdF0/data%0a> /dev/sdF0/fscache cwfs64x%0a> /dev/sdF0/fsworm%0a> /dev/sdF0/nvram%0a> /dev/sdF0/other%0a> /dev/sdF0/plan9%0a> bootargs is (tcp, tls, il, local!device)[local!/dev/sdF0/fscache] local!/dev/sdF0/fscache -c%0a> config: noauth%0a> auth disabled%0a> config: noauth%0a> auth enabled%0a> config: end%0a> current fs is "main"%0a> 10 uids read, 3 groups used%0a> 63-bit cwfs as of Sun Jul 18 11:21:58 2021%0a> last boot Thu Sep 23 11:36:17 2021%0a> ipconfig: write(try fe80::f0b2:b3ff:feda:eb05 /64): interface does not support multicast%0a> ipconfig: can't start IPv6 on /net/ether0, address fe80::f0b2:b3ff:feda:eb05%0a> ipconfig: dialicmp6: cs: can't translate address%0a> %0a> init: starting /bin/rc%0a +host:1632544472=125.231.18.235 +author:1632544342=jrmu +diff:1632544342:1632544204:= +host:1632544342=125.231.18.235 +author:1632544204=jrmu +diff:1632544204:1632541484:=503,552c503%0a%3c host# vmctl start -c jrmu %0a%3c Connected to /dev/ttyph (speed 115200)%0a%3c MBR...pbs.................ok%0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a%3c 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a%3c 003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0a%3c bootfile=9pc%0a%3c bootargs=local!/dev/sdF0/fs -m 192%0a%3c mouseport=ask%0a%3c monitor=ask%0a%3c vgasize=text%0a%3c ccoonnssoollee==00%0a%3c %0a%3c bboooott%0a%3c %0a%3c %0a%3c Plan 9%0a%3c 126 holes free%0a%3c 0x0001a000 0x0009f000 544768%0a%3c 0x0060a000 0x0ffff000 262098944%0a%3c 262643712 bytes free%0a%3c cpu0: 4609MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a%3c ELCR: 02E8%0a%3c #l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668f07%0a%3c i8042: kbd init failed%0a%3c 1024M memory: 256M kernel data, 767M user, 1392M swap%0a%3c nusb/usbd: no hubs%0a%3c %0a%3c /dev/sd00: OpenBSD VMM CD-ROM 001%0a%3c /dev/sd00/data 9660%0a%3c /dev/sdF0:%0a%3c /dev/sdF0/9fat dos%0a%3c /dev/sdF0/data%0a%3c /dev/sdF0/fs hjfs%0a%3c /dev/sdF0/nvram%0a%3c /dev/sdF0/plan9%0a%3c bootargs is (tcp, tls, il, local!device)[local!/dev/sdF0/fs -m 192] %0a%3c user[glenda]: %0a%3c hjfs: fs is /dev/sdF0/fs%0a%3c %0a%3c init: starting /bin/rc%0a%3c ipconfig: write(try fe80::dc4b:aaff:fe66:8f07 /64): interface does not support multicast%0a%3c ipconfig: can't start IPv6 on /net/ether0, address fe80::dc4b:aaff:fe66:8f07%0a%3c ipconfig: dialicmp6: cs: can't translate address%0a%3c bind: #i: no frame buffer%0a%3c Can't cd /usr/glenda: '/usr/glenda' does not exist%0a%3c init: rc exit status: rc 260: can't cd%0a%3c %0a%3c init: starting /bin/rc%0a%3c %25 auth/wrkey%0a---%0a> term%25 auth/wrkey%0a556c507,512%0a%3c authid: glenda %0a---%0a> authid: glenda%0a> authdom: username.term%25 auth/wrkey%0a> bad nvram des key%0a> bad authentication id%0a> bad authentication domain%0a> authid: glenda%0a558c514%0a%3c secstore key: %0a---%0a> secstore key: %0a560,562c516,519%0a%3c %25 9fs 9fat%0a%3c %25 echo 'service=cpu' >> /n/9fat/plan9.ini%0a%3c %25 fshalt -r%0a---%0a> %0a> term%25 9fs 9fat%0a> term%25 echo 'service=cpu' >> /n/9fat/plan9.ini%0a> term%25 fshalt -r%0a +host:1632544204=125.231.18.235 +author:1632541484=jrmu +diff:1632541484:1632536615:=343a344%0a> file system made%0a428,430c429,431%0a%3c Setup Plan 9 FAT boot partition (9fat) %0a%3c %0a%3c Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a---%0a> Setup Plan 9 FAT boot partition (9fat)%0a> %0a> Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a441c442%0a%3c %25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc%0a---%0a> %25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc64%0a445c446%0a%3c %25 cp /n/newfs/386/9pc /n/9fat/%0a---%0a> %25 cp /n/newfs/amd64/9pc64 /n/9fat/%0a508c509%0a%3c authdom: username.term%25 auth/wrkey%0a---%0a> authdom: gry.term%25 auth/wrkey%0a525,527c526,528%0a%3c host# vmctl stop username-plan9 %0a%3c stopping vm username-plan9: requested to shutdown vm 6%0a%3c host# vmctl start -c username-plan9 %0a---%0a> host# vmctl stop gry-plan9 %0a> stopping vm gry-plan9: requested to shutdown vm 6%0a> host# vmctl start -c gry-plan9 %0a +host:1632541484=125.231.18.235 +author:1632536615=jrmu +diff:1632536615:1632411562:=111,112c111,112%0a%3c File system (cwfs64x, hjfs)[cwfs64x]: hjfs%0a%3c %0a---%0a> File system (cwfs64x, hjfs)[cwfs64x]: %0a> %0a131,133c131,133%0a%3c empty 0 485 (485 cylinders, 1.89 GB) %0a%3c * p1 485 486 (1 cylinders, 4.00 MB) ESP%0a%3c %0a---%0a> empty 0 494 (494 cylinders, 1.92 GB) %0a> * p1 494 495 (1 cylinders, 4.00 MB) ESP%0a> %0a147,148c147,148%0a%3c %0a%3c cylinder = 8225280 bytes%0a---%0a> %0a> cylinder = 8225280 bytes %0a166,167c166,167%0a%3c Task to do [prepdisk]: %0a%3c %0a---%0a> Task to do [prepdisk]:%0a> %0a182c182,184%0a%3c fs 41724786%0a---%0a> other 5960683%0a> fscache 5960683%0a> fsworm 29803420%0a185c187,190%0a%3c ' fs 204801 41929587 (41724786 sectors, 19.89 GB)%0a---%0a> ' other 204801 6165484 (5960683 sectors, 2.84 GB)%0a> ' fscache 6165484 12126167 (5960683 sectors, 2.84 GB)%0a> ' fsworm 12126167 41929587 (29803420 sectors, 14.21 GB)%0a> >>> %0a206,211c211,221%0a%3c Please choose your hjfs partition%0a%3c %0a%3c --rw-r----- S 0 glenda glenda 21363090432 Jul 18 17:25 /dev/sdF0/fs%0a%3c %0a%3c Hjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0a%3c Size of RAM filesystem cache (MB)? [192]: %0a---%0a> Please choose your cwfs64x partitions%0a> %0a> --rw-r----- S 0 glenda glenda 3051869696 Jul 18 17:22 /dev/sdF0/fscache%0a> %0a> Cwfs cache partition (/dev/sdF0/fscache)[/dev/sdF0/fscache]: %0a> --rw-r----- S 0 glenda glenda 15259351040 Jul 18 17:22 /dev/sdF0/fsworm%0a> %0a> Cwfs worm partition (/dev/sdF0/fsworm)[/dev/sdF0/fsworm]: %0a> --rw-r----- S 0 glenda glenda 3051869696 Jul 18 17:22 /dev/sdF0/other%0a> %0a> Cwfs other partition (/dev/sdF0/other)[/dev/sdF0/other]: %0a213,227c223,235%0a%3c Starting hjfs file server for /dev/sdF0/fs %0a%3c hjfs: reaming /dev/sdF0/fs %0a%3c hjfs: ream successful %0a%3c hjfs: fs is /dev/sdF0/fs %0a%3c Configuring hjfs file server for /dev/sdF0/fs%0a%3c hjfs: >create /dist sys sys 775 d%0a%3c hjfs: >create /usr sys sys 775 d%0a%3c hjfs: >newuser glenda%0a%3c hjfs: >newuser adm +glenda%0a%3c hjfs: >newuser sys +glenda%0a%3c hjfs: >newuser upas +glenda%0a%3c hjfs: >echo off%0a%3c Mounting hjfs file server for /dev/sdF0/fs%0a%3c %25 mount -c /srv/hjfs.newfs /n/newfs%0a%3c %0a---%0a> Starting cwfs64x file server for /dev/sdF0/fscache%0a> Reaming filesystem %0a> config: config: config: auth disabled%0a> config: config: config: config: config: config: current fs is "main"%0a> cmd_users: cannot access /adm/users%0a> 63-bit cwfs as of Sun Jul 18 17:21:58 2021%0a> last boot Thu Sep 23 04:55:59 2021%0a> Configuring cwfs64x file server for /dev/sdF0/fscache%0a> Mounting cwfs64x file server for /dev/sdF0/fscache%0a> %25 mount -c /srv/cwfs.newfs /n/newfs%0a> Mounting cwfs64x file server for /dev/sdF0/other%0a> %25 mount -c /srv/cwfs.newfs /n/other other%0a> %0a236c244%0a%3c %0a---%0a> %0a239,241c247,249%0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a---%0a> confignet - configure the network %0a> tzsetup - choose time zone %0a> %0a299,313c307,323%0a%3c Task to do [mountdist]: %0a%3c %0a%3c --------------------------------------%0a%3c Please wait... Scanning storage devices...%0a%3c /dev/sd00/data%0a%3c /dev/sdF0/9fat%0a%3c /dev/sdF0/data%0a%3c /dev/sdF0/fs%0a%3c %0a%3c The following storage media were detected.%0a%3c Choose the one containing the distribution.%0a%3c %0a%3c /dev/sd00/data (iso9660 cdrom)%0a%3c %0a%3c Distribution disk (/dev/sd00/data, /dev/sdF0/fs, /)[/]: %0a---%0a> Task to do [mountdist]: %0a> %0a> -------------------------------------- %0a> Please wait... Scanning storage devices... %0a> /dev/sd00/data %0a> /dev/sdF0/9fat %0a> /dev/sdF0/data %0a> /dev/sdF0/fscache %0a> /dev/sdF0/fsworm %0a> /dev/sdF0/other %0a> %0a> The following storage media were detected. %0a> Choose the one containing the distribution. %0a> %0a> /dev/sd00/data (iso9660 cdrom) %0a> %0a> Distribution disk (/dev/sd00/data, /dev/sdF0/fscache, /)[/]: %0a +host:1632536615=125.231.18.235 +author:1632411562=jrmu +diff:1632411562:1632411340:=513a514,517%0a> >>bboooott%0a> @]%0a> %0a> [@%0a539,598d542%0a%3c @]%0a%3c %0a%3c [@%0a%3c Connected to /dev/ttyp4 (speed 115200)%0a%3c MBR...pbs.................ok %0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a%3c 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a%3c 003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0a%3c bootfile=9pc64 %0a%3c bootargs=local!/dev/sdF0/fscache%0a%3c mouseport=ask%0a%3c monitor=ask %0a%3c vgasize=text %0a%3c ccoonnssoollee==00%0a%3c %0a%3c sseerrvviiccee==ccppuu%0a%3c %0a%3c bboooott %0a%3c %0a%3c bboooott %0a%3c %0a%3c %0a%3c Plan 9%0a%3c 125 holes free%0a%3c 0x00021000 0x0009f000 516096%0a%3c 0x00100000 0x00110000 65536%0a%3c 0x005dd000 0x136ea000 319868928%0a%3c 320450560 bytes free%0a%3c cpu0: 4602MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a%3c ELCR: 02E8%0a%3c #l0: virtio: 1000Mbps port 0x2000 irq 5 ea f2b2b3daeb05%0a%3c i8042: kbd init failed%0a%3c 998M memory: 311M kernel data, 687M user, 1312M swap%0a%3c nusb/usbd: no hubs%0a%3c %0a%3c /dev/sd00: OpenBSD VMM CD-ROM 001%0a%3c /dev/sd00/data 9660%0a%3c /dev/sdF0:%0a%3c /dev/sdF0/9fat dos%0a%3c /dev/sdF0/data%0a%3c /dev/sdF0/fscache cwfs64x%0a%3c /dev/sdF0/fsworm%0a%3c /dev/sdF0/nvram%0a%3c /dev/sdF0/other%0a%3c /dev/sdF0/plan9%0a%3c bootargs is (tcp, tls, il, local!device)[local!/dev/sdF0/fscache] local!/dev/sdF0/fscache -c%0a%3c config: noauth%0a%3c auth disabled%0a%3c config: noauth%0a%3c auth enabled%0a%3c config: end%0a%3c current fs is "main"%0a%3c 10 uids read, 3 groups used%0a%3c 63-bit cwfs as of Sun Jul 18 11:21:58 2021%0a%3c last boot Thu Sep 23 11:36:17 2021%0a%3c ipconfig: write(try fe80::f0b2:b3ff:feda:eb05 /64): interface does not support multicast%0a%3c ipconfig: can't start IPv6 on /net/ether0, address fe80::f0b2:b3ff:feda:eb05%0a%3c ipconfig: dialicmp6: cs: can't translate address%0a%3c %0a%3c init: starting /bin/rc%0a +host:1632411562=38.87.162.8 +author:1632411340=jrmu +diff:1632411340:1632410437:=511,514d510%0a%3c @]%0a%3c %0a%3c [@%0a%3c >>bboooott%0a +host:1632411340=38.87.162.8 +author:1632410437=jrmu +diff:1632410437:1632382263:=528d527%0a%3c term%25 9fs 9fat%0a +host:1632410437=38.87.162.8 +author:1632382263=jrmu +diff:1632382263:1632382075:=529,537d528%0a%3c term%25 fshalt -r%0a%3c @]%0a%3c %0a%3c @@~~.@@ to escape serial console, then:%0a%3c %0a%3c [@%0a%3c host# vmctl stop gry-plan9 %0a%3c stopping vm gry-plan9: requested to shutdown vm 6%0a%3c host# vmctl start -c gry-plan9 %0a +host:1632382263=38.87.162.8 +author:1632382075=jrmu +diff:1632382075:1632381315:=527,528d526%0a%3c %0a%3c term%25 echo 'service=cpu' >> /n/9fat/plan9.ini%0a +host:1632382075=38.87.162.8 +author:1632381315=jrmu +diff:1632381315:1632376599:=511,526d510%0a%3c @]%0a%3c %0a%3c [@%0a%3c term%25 auth/wrkey%0a%3c bad nvram des key%0a%3c bad authentication id%0a%3c bad authentication domain%0a%3c authid: glenda%0a%3c authdom: gry.term%25 auth/wrkey%0a%3c bad nvram des key%0a%3c bad authentication id%0a%3c bad authentication domain%0a%3c authid: glenda%0a%3c authdom: username.example.com%0a%3c secstore key: %0a%3c password: %0a +host:1632381315=38.87.162.8 +author:1632376599=jrmu +diff:1632376599:1632376109:=504,510d503%0a%3c @]%0a%3c %0a%3c At this point, plan9 is unable to reboot on its own, so type @@~~.@@ then:%0a%3c %0a%3c [@%0a%3c $ doas vmctl stop username-plan9%0a%3c $ doas vmctl start -c username-plan9%0a +host:1632376599=38.87.162.8 +author:1632376109=jrmu +diff:1632376109:1632375496:=352,503d351%0a%3c -------------------------------------- %0a%3c processing /sys/lib/sysconfig/proto/allproto %0a%3c file system made%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu... %0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install %0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition %0a%3c mountfs - choose and mount file system partition %0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network %0a%3c mountdist - locate and mount the distribution %0a%3c copydist - copy the distribution into the file system%0a%3c %0a%3c The following unfinished tasks are ready to be done: %0a%3c ndbsetup - setup network configuration %0a%3c tzsetup - choose time zone %0a%3c bootsetup - configure hard disk to boot plan 9%0a%3c %0a%3c Task to do [ndbsetup]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Setup network configuration%0a%3c %0a%3c sysname [cirno]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c mountfs - choose and mount file system partition%0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network%0a%3c mountdist - locate and mount the distribution%0a%3c copydist - copy the distribution into the file system%0a%3c ndbsetup - setup network configuration%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c tzsetup - choose time zone %0a%3c bootsetup - configure hard disk to boot plan 9 %0a%3c %0a%3c Task to do [tzsetup]: %0a%3c %0a%3c -------------------------------------- %0a%3c %0a%3c Setup Time Zone %0a%3c %0a%3c Time Zone (Argentina, Asia_Bahrain, Asia_India, Australia_ACT, Australia_Broken-Hill, Au%0a%3c stralia_LHI, Australia_NSW, Australia_North, Australia_Queensland, Australia_South, Aust%0a%3c ralia_Sturt, Australia_Tasmania, Australia_Victoria, Australia_West, Australia_Yancowinn%0a%3c a, Brazil_Acre, Brazil_DeNoronha, Brazil_East, Brazil_West, CET, Canada_Atlantic, Canada%0a%3c _Central, Canada_East-Saskatchewan, Canada_Eastern, Canada_Mountain, Canada_Newfoundland%0a%3c , Canada_Pacific, Canada_Yukon, Chile_Continental, Chile_EasterIsland, Cuba, EET, Egypt,%0a%3c GB-Eire, GMT, HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Libya, Mexico_BajaN%0a%3c orte, Mexico_BajaSur, Mexico_General, NZ, NZ_CHAT, Navajo, PRC, Poland, ROC, ROK, Singap%0a%3c ore, Turkey, US_Alaska, US_Arizona, US_Central, US_East-Indiana, US_Eastern, US_Hawaii, %0a%3c US_Michigan, US_Mountain, US_Pacific, US_Yukon, Uruguay, W-SU, WET)[US_Eastern]: US_Central%0a%3c %0a%3c -------------------------------------- %0a%3c %0a%3c Preparing menu... %0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install %0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition) %0a%3c prepdisk - subdivide plan 9 disk partition %0a%3c mountfs - choose and mount file system partition %0a%3c configdist - choose the source of the distribution archive %0a%3c confignet - configure the network%0a%3c mountdist - locate and mount the distribution%0a%3c copydist - copy the distribution into the file system%0a%3c ndbsetup - setup network configuration%0a%3c tzsetup - choose time zone%0a%3c %0a%3c The following unfinished tasks are ready to be done: %0a%3c bootsetup - configure hard disk to boot plan 9%0a%3c %0a%3c Task to do [bootsetup]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Setup Plan 9 FAT boot partition (9fat)%0a%3c %0a%3c Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a%3c dossrv: serving #s/dos%0a%3c %25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak %0a%3c 1+0 records in%0a%3c 1+0 records out%0a%3c Initializing Plan 9 FAT partition.%0a%3c %25 disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 /dev/sdF0/9fat%0a%3c Initializing FAT file system%0a%3c type hard, 12 tracks, 255 heads, 63 sectors/track, 512 bytes/sec%0a%3c used 4096 bytes%0a%3c %25 mount -c /srv/dos /n/9fat /dev/sdF0/9fat%0a%3c %25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc64%0a%3c %25 cp /n/newfs/386/9bootfat /n/9fat/9bootfat%0a%3c %25 chmod +al /n/9fat/9bootfat%0a%3c %25 cp /tmp/plan9.ini /n/9fat/plan9.ini%0a%3c %25 cp /n/newfs/amd64/9pc64 /n/9fat/%0a%3c %25 mkdir -p /n/9fat/efi/boot%0a%3c %25 cp /386/bootia32.efi /386/bootx64.efi /n/9fat/efi/boot%0a%3c %25 cp /tmp/pbs.bak /n/9fat%0a%3c %25 unmount /n/9fat%0a%3c %0a%3c If you use the Windows NT/2000/XP master boot record%0a%3c or a master boot record from a Unix clone (e.g., LILO or%0a%3c FreeBSD bootmgr), it is probably safe to continue using%0a%3c that boot record rather than install the Plan 9 boot record.%0a%3c %0a%3c Install the Plan 9 master boot record (yes, no)[no default]: yes%0a%3c Mark the Plan 9 partition active (yes, no)[no default]: yes%0a%3c %0a%3c The Plan 9 partition is now marked as active.%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c mountfs - choose and mount file system partition%0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network%0a%3c mountdist - locate and mount the distribution%0a%3c copydist - copy the distribution into the file system%0a%3c ndbsetup - setup network configuration%0a%3c tzsetup - choose time zone%0a%3c bootsetup - configure hard disk to boot plan 9%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c finish - finish the installation and reboot%0a%3c %0a%3c Task to do [finish]: %0a%3c %0a%3c --------------------------------------%0a%3c Congratulations; you've completed the install.%0a%3c %0a%3c %0a%3c halting...halted at Thu Sep 23 05:46:49 2021.%0a%3c /srv/cwfs.newfs.cmd...%0a%3c done halting%0a%3c rebooting...%0a%3c cpu0: exiting%0a%3c Takes a licking and keeps on ticking...%0a%3c can't reset%0a +host:1632376109=38.87.162.8 +author:1632375496=jrmu +diff:1632375496:1632372743:=105,352d104%0a%3c --------------------------------------%0a%3c You can install the following types of file systems:%0a%3c %0a%3c cwfs64x the cached-worm file server%0a%3c hjfs the new 9front file server (experimental!)%0a%3c %0a%3c File system (cwfs64x, hjfs)[cwfs64x]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c mountfs - choose and mount file system partition%0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [partdisk]: %0a%3c %0a%3c --------------------------------------%0a%3c The following disk devices were found.%0a%3c %0a%3c sd00 - OpenBSD VMM CD-ROM 001%0a%3c empty 0 494 (494 cylinders, 1.92 GB) %0a%3c * p1 494 495 (1 cylinders, 4.00 MB) ESP%0a%3c %0a%3c sdF0 -%0a%3c %0a%3c Disk to partition (sd00, sdF0)[no default]: sdF0%0a%3c The disk you selected HAS NO master boot record on its first sector.%0a%3c (Perhaps it is a completely blank disk.)%0a%3c Shall we create a blank EFI partition table (GPT)%0a%3c or install traditional DOS partition table (MBR)?%0a%3c %0a%3c Install mbr or gpt (mbr, gpt)[no default]: mbr%0a%3c %0a%3c This is disk/fdisk; use it to create a Plan 9 partition.%0a%3c If there is enough room, a Plan 9 partition will be%0a%3c suggested; you can probably just type 'w' and then 'q'.%0a%3c %0a%3c cylinder = 8225280 bytes %0a%3c '* p1 0 2610 (2610 cylinders, 19.99 GB) PLAN9%0a%3c >>> w%0a%3c >>> q %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c %0a%3c The following unfinished tasks are ready to be done: %0a%3c prepdisk - subdivide plan 9 disk partition %0a%3c mountfs - choose and mount file system partition %0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [prepdisk]:%0a%3c %0a%3c --------------------------------------%0a%3c The following Plan 9 disk partitions were found.%0a%3c %0a%3c /dev/sdF0/plan9%0a%3c empty 0 41929587 (41929587 sectors, 19.99 GB)%0a%3c %0a%3c Plan 9 partition to subdivide (/dev/sdF0/plan9)[/dev/sdF0/plan9]: %0a%3c This is disk/prep; use it to subdivide the Plan 9 partition.%0a%3c If it is not yet subdivided, a sensible layout will be suggested;%0a%3c you can probably just type 'w' and then 'q'.%0a%3c %0a%3c no plan9 partition table found%0a%3c 9fat 204800%0a%3c nvram 1%0a%3c other 5960683%0a%3c fscache 5960683%0a%3c fsworm 29803420%0a%3c ' 9fat 0 204800 (204800 sectors, 100.00 MB)%0a%3c ' nvram 204800 204801 (1 sectors, 512 B )%0a%3c ' other 204801 6165484 (5960683 sectors, 2.84 GB)%0a%3c ' fscache 6165484 12126167 (5960683 sectors, 2.84 GB)%0a%3c ' fsworm 12126167 41929587 (29803420 sectors, 14.21 GB)%0a%3c >>> %0a%3c >>> w%0a%3c >>> q%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c mountfs - choose and mount file system partition%0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [mountfs]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Please choose your cwfs64x partitions%0a%3c %0a%3c --rw-r----- S 0 glenda glenda 3051869696 Jul 18 17:22 /dev/sdF0/fscache%0a%3c %0a%3c Cwfs cache partition (/dev/sdF0/fscache)[/dev/sdF0/fscache]: %0a%3c --rw-r----- S 0 glenda glenda 15259351040 Jul 18 17:22 /dev/sdF0/fsworm%0a%3c %0a%3c Cwfs worm partition (/dev/sdF0/fsworm)[/dev/sdF0/fsworm]: %0a%3c --rw-r----- S 0 glenda glenda 3051869696 Jul 18 17:22 /dev/sdF0/other%0a%3c %0a%3c Cwfs other partition (/dev/sdF0/other)[/dev/sdF0/other]: %0a%3c Ream the filesystem? (yes, no)[yes]: %0a%3c Starting cwfs64x file server for /dev/sdF0/fscache%0a%3c Reaming filesystem %0a%3c config: config: config: auth disabled%0a%3c config: config: config: config: config: config: current fs is "main"%0a%3c cmd_users: cannot access /adm/users%0a%3c 63-bit cwfs as of Sun Jul 18 17:21:58 2021%0a%3c last boot Thu Sep 23 04:55:59 2021%0a%3c Configuring cwfs64x file server for /dev/sdF0/fscache%0a%3c Mounting cwfs64x file server for /dev/sdF0/fscache%0a%3c %25 mount -c /srv/cwfs.newfs /n/newfs%0a%3c Mounting cwfs64x file server for /dev/sdF0/other%0a%3c %25 mount -c /srv/cwfs.newfs /n/other other%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c mountfs - choose and mount file system partition%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network %0a%3c tzsetup - choose time zone %0a%3c %0a%3c Task to do [configdist]: %0a%3c %0a%3c --------------------------------------%0a%3c Are you going to download the distribution%0a%3c from the internet or do you have it on local media?%0a%3c %0a%3c Distribution is from (local, net)[local]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c mountfs - choose and mount file system partition%0a%3c configdist - choose the source of the distribution archive%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c confignet - configure the network%0a%3c mountdist - locate and mount the distribution%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [confignet]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c We will configure the ethernet.%0a%3c %0a%3c %0a%3c Please choose a method for configuring your ethernet connection.%0a%3c %0a%3c manual - specify IP address, network mask, gateway IP address%0a%3c automatic - use DHCP and SLAAC to automatically configure%0a%3c %0a%3c Configuration method (manual, automatic)[automatic]: %0a%3c starting ethernet automatic config %0a%3c ipconfig: write(try fe80::f0b2:b3ff:feda:eb05 /64): interface does not support multicast%0a%3c ipconfig: can't start IPv6 on /net/ether0, address fe80::f0b2:b3ff:feda:eb05%0a%3c ipconfig: dialicmp6: cs: can't translate address %0a%3c %0a%3c -------------------------------------- %0a%3c %0a%3c Preparing menu... %0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install %0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition) %0a%3c prepdisk - subdivide plan 9 disk partition %0a%3c mountfs - choose and mount file system partition %0a%3c configdist - choose the source of the distribution archive %0a%3c confignet - configure the network %0a%3c %0a%3c The following unfinished tasks are ready to be done: %0a%3c mountdist - locate and mount the distribution %0a%3c download - download or continue to download the distribution archives %0a%3c tzsetup - choose time zone %0a%3c %0a%3c Task to do [mountdist]: %0a%3c %0a%3c -------------------------------------- %0a%3c Please wait... Scanning storage devices... %0a%3c /dev/sd00/data %0a%3c /dev/sdF0/9fat %0a%3c /dev/sdF0/data %0a%3c /dev/sdF0/fscache %0a%3c /dev/sdF0/fsworm %0a%3c /dev/sdF0/other %0a%3c %0a%3c The following storage media were detected. %0a%3c Choose the one containing the distribution. %0a%3c %0a%3c /dev/sd00/data (iso9660 cdrom) %0a%3c %0a%3c Distribution disk (/dev/sd00/data, /dev/sdF0/fscache, /)[/]: %0a%3c %25 mount /srv/boot /n/distmedia %0a%3c %0a%3c Which directory contains the distribution? %0a%3c Any of the following will suffice (in order of preference): %0a%3c - the root directory of the cd image %0a%3c - the directory containing 9front.iso %0a%3c - the directory containing 9front.iso.bz2 %0a%3c %0a%3c Location of archives [/]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk - subdivide plan 9 disk partition%0a%3c mountfs - choose and mount file system partition%0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network%0a%3c mountdist - locate and mount the distribution%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c copydist - copy the distribution into the file system%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [copydist]: %0a%3c %0a%3c @]%0a +host:1632375496=38.87.162.8 +author:1632372743=jrmu +diff:1632372743:1632372116:=40,103d39%0a%3c %0a%3c Then log out of the user with ^D, then as admin user in group wheel:%0a%3c %0a%3c [@%0a%3c $ doas vmctl reload%0a%3c $ doas vmctl start -c username-plan9%0a%3c Connected to /dev/ttypr (speed 115200) %0a%3c Boot failed: not a bootable disk %0a%3c %0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 %0a%3c 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000%0a%3c 003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000 %0a%3c cdboot=yes %0a%3c mouseport=ask %0a%3c monitor=ask %0a%3c vgasize=ask %0a%3c bootfile=/386/9pc %0a%3c >console=0 %0a%3c ccoonnssoollee==00%0a%3c %0a%3c >>bboooott%0a%3c %0a%3c bboooott%0a%3c %0a%3c %0a%3c Plan 9%0a%3c 125 holes free%0a%3c 0x00021000 0x0009f000 516096%0a%3c 0x00100000 0x00110000 65536%0a%3c 0x005dd000 0x19cc8000 426684416%0a%3c 427266048 bytes free%0a%3c cpu0: 4600MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a%3c ELCR: 02E8%0a%3c #l0: virtio: 1000Mbps port 0x2000 irq 5 ea f2b2b3daeb05%0a%3c i8042: kbd init failed%0a%3c 1000M memory: 413M kernel data, 587M user, 1212M swap%0a%3c nusb/usbd: no hubs%0a%3c %0a%3c /dev/sd00: OpenBSD VMM CD-ROM 001%0a%3c /dev/sd00/data 9660%0a%3c /dev/sdF0:%0a%3c /dev/sdF0/data%0a%3c bootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data] %0a%3c user[glenda]: %0a%3c %0a%3c init: starting /bin/rc%0a%3c cirno Sep 23 06:50:25 starting dns resolver on /net%0a%3c vgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0a%3c bind: #i: no frame buffer%0a%3c init: rc exit status: rc 215: webcookies 330: interrupt%0a%3c %0a%3c init: starting /bin/rc%0a%3c %25 inst/start%0a%3c Thu Sep 23 04:51:42 CET 2021 Installation process started%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following unfinished tasks are ready to be done:%0a%3c configfs - choose the type of file system to install%0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [configfs]: %0a +host:1632372743=38.87.162.8 +author:1632372116=jrmu +diff:1632372116:1632371417:=7c7%0a%3c cdrom "/home/iso/9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso"%0a---%0a> cdrom "/home/iso/install69.iso"%0a24d23%0a%3c SHA256 (9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz) = af6dfae894dcb1e43f1e7e3d085b50f6d1dcf396e09a37d23c174ea94d8bf244%0a +host:1632372116=38.87.162.8 +author:1632371417=jrmu +diff:1632371417:1632371332:=3d2%0a%3c [@%0a14,15c13%0a%3c @]%0a%3c %0a---%0a> %0a18d15%0a%3c [@%0a25,26c22%0a%3c @]%0a%3c %0a---%0a> %0a29d24%0a%3c [@%0a32,33c27%0a%3c @]%0a%3c %0a---%0a> %0a36d29%0a%3c [@%0a38d30%0a%3c @]%0a +host:1632371417=38.87.162.8 +author:1632371332=jrmu +diff:1632371332:1632371332:=1,31d0%0a%3c In /etc/vm.conf:%0a%3c %0a%3c vm "username-plan9" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/install69.iso"%0a%3c disk /home/username/username-plan9.qcow2 %0a%3c interface {%0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c %0a%3c Download the plan9 ISO:%0a%3c %0a%3c $ ftp http://9front.org/iso/9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0a%3c $ doas mv 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz /home/iso/%0a%3c $ doas chown -R iso:iso /home/iso/%0a%3c $ cd /home/iso%0a%3c $ sha256 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0a%3c $ gunzip 9front-8593.acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso.gz%0a%3c %0a%3c Create a user account and make sure to set the folder as go-rx:%0a%3c %0a%3c $ doas chmod -R go-rx ~/%0a%3c $ doas su username%0a%3c %0a%3c In the home folder:%0a%3c %0a%3c $ vmctl create -s 20G ~/username-plan9.qcow2%0a%3c %0a +host:1632371332=38.87.162.8 blob - /dev/null blob + a0298235cc90d5435f61ca97a233b2799df56db2 (mode 644) --- /dev/null +++ wiki.d/9.JSDrawterm @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1633025015 +host=125.231.16.216 +name=9.JSDrawterm +rev=2 +targets= +text=[[https://github.com/aiju/jsdrawterm|JSDrawterm]]: Drawterm for your web browser.%0a%0a%0aAttach:JSDrawterm.png%0a +time=1633025189 +author:1633025189=jrmu +diff:1633025189:1633025015:=1,4c1%0a%3c [[https://github.com/aiju/jsdrawterm|JSDrawterm]]: Drawterm for your web browser.%0a%3c %0a%3c %0a%3c Attach:JSDrawterm.png%0a---%0a> Attach:JSDrawterm.png%0a\ No newline at end of file%0a +host:1633025189=125.231.16.216 +author:1633025015=jrmu +diff:1633025015:1633025015:=1d0%0a%3c Attach:JSDrawterm.png%0a\ No newline at end of file%0a +host:1633025015=125.231.16.216 blob - /dev/null blob + 8333758ed1a74c784bfa1c0c78d131cbf5bfd546 (mode 644) --- /dev/null +++ wiki.d/9.Keybindings @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) +author=mkf +charset=UTF-8 +csum=heheheheheh +ctime=1635056013 +host=2.178.211.174 +name=9.Keybindings +rev=4 +targets= +text=||border=1 width=80%25%0a||!What||!Unix||!9||%0a|| Kills running program || ctrl-c || delete ||%0a|| Moves to end of line || ctrl-e/end || ctrl-e ||%0a|| Moves to begining of line || ctrl-a/home || ctrl-a ||%0a|| Returning to first line of window || N/A || home ||%0a|| Moving to last line of window || N/A || end ||%0a|| Hold mode || N/A || esc ||%0a|| List files in current directory || tab || ctrl-f/insert ||%0a|| Deletes one character || ctrl-h/backspace || ctrl-h/backspace ||%0a|| Clears whole line || ctrl-u || ctrl-u || +time=1635056121 +author:1635056121=mkf +csum:1635056121=heheheheheh +diff:1635056121:1635056075:=9,10c9,10%0a%3c || List files in current directory || tab || ctrl-f/insert ||%0a%3c || Deletes one character || ctrl-h/backspace || ctrl-h/backspace ||%0a---%0a> || Lists files || tab || ctrl-f/insert ||%0a> || Deletes one character || ctrl-h/Backspace || ctrl-h/backspace ||%0a +host:1635056121=2.178.211.174 +author:1635056075=mkf +csum:1635056075=heheheh +diff:1635056075:1635056057:=6c6%0a%3c || Returning to first line of window || N/A || home ||%0a---%0a> || Returning to first line of window || N/A|| home ||%0a +host:1635056075=2.178.211.174 +author:1635056057=mkf +diff:1635056057:1635056013:=2c2%0a%3c ||!What||!Unix||!9||%0a---%0a> ||!What||!Unix||!9 ||%0a6,8c6,8%0a%3c || Returning to first line of window || N/A|| home ||%0a%3c || Moving to last line of window || N/A || end ||%0a%3c || Hold mode || N/A || esc ||%0a---%0a> || Returning to first line of window || || home ||%0a> || Moving to last line of window || || end ||%0a> || Hold mode || || esc ||%0a +host:1635056057=2.178.211.174 +author:1635056013=mkf +diff:1635056013:1635056013:=1,11d0%0a%3c ||border=1 width=80%25%0a%3c ||!What||!Unix||!9 ||%0a%3c || Kills running program || ctrl-c || delete ||%0a%3c || Moves to end of line || ctrl-e/end || ctrl-e ||%0a%3c || Moves to begining of line || ctrl-a/home || ctrl-a ||%0a%3c || Returning to first line of window || || home ||%0a%3c || Moving to last line of window || || end ||%0a%3c || Hold mode || || esc ||%0a%3c || Lists files || tab || ctrl-f/insert ||%0a%3c || Deletes one character || ctrl-h/Backspace || ctrl-h/backspace ||%0a%3c || Clears whole line || ctrl-u || ctrl-u ||%0a\ No newline at end of file%0a +host:1635056013=2.178.211.174 blob - /dev/null blob + e39e0cc3db7b338f3918bba655752e2d649acc5e (mode 644) --- /dev/null +++ wiki.d/9.Links @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) +author=mkf +charset=UTF-8 +csum= +ctime=1634011416 +host=2.178.211.174 +name=9.Links +rev=3 +targets= +text=# https://pspodcasting.net/dan/blog/2019/plan9_desktop.html%0a# http://www.covingtoninnovations.com/michael/newbie-guide.pdf%0a# http://felloff.net%0a# https://t3x.org/s9book/index.html%0a# http://plan9.stanleylieber.com%0a# http://debu.gs/entries/inferno-part-0-namespaces%0a# https://research.swtch.com%0a# https://wiki.9front.org/unix2plan9%0a# http://fqa.9front.org/%0a# https://t3x.org/s9fes/index.html%0a# https://r-36.net/9front%0a# https://orib.dev/simplicty%0a# http://acme.cat-v.org/readme%0a# https://shithub.us%0a# https://9p.io/%0a# https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a# https://github.com/henesy/awesome-plan9%0a# https://franjballest.wordpress.com/books-papers/%0a# http://helpful.cat-v.org%0a# http://mirtchovski.postnix.pw/p9/ +time=1635056976 +author:1635056976=mkf +diff:1635056976:1634875379:=20c20%0a%3c # http://mirtchovski.postnix.pw/p9/%0a\ No newline at end of file%0a---%0a> # https://harmful.neocities.org%0a +host:1635056976=2.178.211.174 +author:1634875379=jrmu +diff:1634875379:1634011416:=1,20c1,37%0a%3c # https://pspodcasting.net/dan/blog/2019/plan9_desktop.html%0a%3c # http://www.covingtoninnovations.com/michael/newbie-guide.pdf%0a%3c # http://felloff.net%0a%3c # https://t3x.org/s9book/index.html%0a%3c # http://plan9.stanleylieber.com%0a%3c # http://debu.gs/entries/inferno-part-0-namespaces%0a%3c # https://research.swtch.com%0a%3c # https://wiki.9front.org/unix2plan9%0a%3c # http://fqa.9front.org/%0a%3c # https://t3x.org/s9fes/index.html%0a%3c # https://r-36.net/9front%0a%3c # https://orib.dev/simplicty%0a%3c # http://acme.cat-v.org/readme%0a%3c # https://shithub.us%0a%3c # https://9p.io/%0a%3c # https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a%3c # https://github.com/henesy/awesome-plan9%0a%3c # https://franjballest.wordpress.com/books-papers/%0a%3c # http://helpful.cat-v.org%0a%3c # https://harmful.neocities.org%0a---%0a> http://felloff.net%0a> %0a> https://t3x.org/s9book/index.html%0a> %0a> http://plan9.stanleylieber.com%0a> %0a> http://debu.gs/entries/inferno-part-0-namespaces%0a> https://research.swtch.com%0a> https://wiki.9front.org/unix2plan9%0a> http://fqa.9front.org/%0a> https://t3x.org/s9fes/index.html%0a> %0a> https://r-36.net/9front%0a> %0a> %0a> https://r-36.net/9front%0a> %0a> %0a> https://orib.dev/simplicty%0a> %0a> https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a> %0a> %0a> http://acme.cat-v.org/readme%0a> %0a> https://shithub.us%0a> %0a> https://9p.io/%0a> %0a> https://pspodcasting.net/dan/blog/2019/plan9_desktop.html%0a> https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a> %0a> https://github.com/henesy/awesome-plan9%0a> https://franjballest.wordpress.com/books-papers/%0a> %0a> http://helpful.cat-v.org%0a> https://harmful.neocities.org%0a +host:1634875379=38.87.162.8 +author:1634011416=jrmu +diff:1634011416:1634011416:=1,37d0%0a%3c http://felloff.net%0a%3c %0a%3c https://t3x.org/s9book/index.html%0a%3c %0a%3c http://plan9.stanleylieber.com%0a%3c %0a%3c http://debu.gs/entries/inferno-part-0-namespaces%0a%3c https://research.swtch.com%0a%3c https://wiki.9front.org/unix2plan9%0a%3c http://fqa.9front.org/%0a%3c https://t3x.org/s9fes/index.html%0a%3c %0a%3c https://r-36.net/9front%0a%3c %0a%3c %0a%3c https://r-36.net/9front%0a%3c %0a%3c %0a%3c https://orib.dev/simplicty%0a%3c %0a%3c https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a%3c %0a%3c %0a%3c http://acme.cat-v.org/readme%0a%3c %0a%3c https://shithub.us%0a%3c %0a%3c https://9p.io/%0a%3c %0a%3c https://pspodcasting.net/dan/blog/2019/plan9_desktop.html%0a%3c https://pspodcasting.net/dan/blog/2020/complexity.pdf%0a%3c %0a%3c https://github.com/henesy/awesome-plan9%0a%3c https://franjballest.wordpress.com/books-papers/%0a%3c %0a%3c http://helpful.cat-v.org%0a%3c https://harmful.neocities.org%0a +host:1634011416=125.231.64.245 blob - /dev/null blob + ef5139957daa3d4a0dff6f242482e4448ada9c50 (mode 644) --- /dev/null +++ wiki.d/9.Netcat @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635168561 +host=38.87.162.8 +name=9.Netcat +rev=2 +targets= +text=To create a netcat connection to use paste.ircnow.org:%0a%0a[@%0atelnet -n tcp!paste.ircnow.org!7777 %3c /path/to/file%0a@]%0a%0aTo upload a file to tcp.st:%0a%0a[@%0atelnet -n tcp!tcp.st!7777 %3c /path/to/file%0a@]%0a +time=1635176443 +author:1635176443=jrmu +diff:1635176443:1635168561:=3d2%0a%3c [@%0a5,11d3%0a%3c @]%0a%3c %0a%3c To upload a file to tcp.st:%0a%3c %0a%3c [@%0a%3c telnet -n tcp!tcp.st!7777 %3c /path/to/file%0a%3c @]%0a +host:1635176443=38.87.162.8 +author:1635168561=jrmu +diff:1635168561:1635168561:=1,3d0%0a%3c To create a netcat connection to use paste.ircnow.org:%0a%3c %0a%3c telnet -n tcp!paste.ircnow.org!7777 %3c /path/to/file%0a +host:1635168561=38.87.162.8 blob - /dev/null blob + d2cbf32f7106063b6360663f19046d4a17a3ae58 (mode 644) --- /dev/null +++ wiki.d/9.Partdisk @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632730404 +host=125.231.18.235 +name=9.Partdisk +rev=2 +targets= +text=At installation time ify ou see something like the following:%0a%0a[@%0a/dev/sdE0: M4-C5064M4SSD2%0a/dev/sdE0/data%0a/dev/sdE0/plan9%0a%0aterm%25 inst/start%0a%0a...%0a%0aThe following Plan 9 disk partitions were found.%0a%0a/dev/sdE0/plan9%0a%0aPlan 9 partition to subdivide (/dev/sdE0/plan9)[/dev/sdE0/plan9]:%0a%0a%0aThis is disk/prep; use it to subdivide the PLan 9 partition.%0aIf it is not yet subdivided, a sensible layout will be suggested;%0ayou can probably just type 'w' and then 'q'.%0a%0athere's a fat partition where the%0aplan 9 partition table would go.%0aIf you really want to overwrite it, zero%0athe second sector of the disk adn try again%0a@]%0a%0a%25 dd -if /dev/zero -of /dev/sdE0/data -count 50000%0a%0aThat will wipe out the first sectors of the disk and allow Plan 9 to%0acontinue installation.%0a +time=1632730408 +author:1632730408=jrmu +diff:1632730408:1632730404:= +host:1632730408=125.231.18.235 +author:1632730404=Miniontoby +diff:1632730404:1632730404:=1,32d0%0a%3c At installation time ify ou see something like the following:%0a%3c %0a%3c [@%0a%3c /dev/sdE0: M4-C5064M4SSD2%0a%3c /dev/sdE0/data%0a%3c /dev/sdE0/plan9%0a%3c %0a%3c term%25 inst/start%0a%3c %0a%3c ...%0a%3c %0a%3c The following Plan 9 disk partitions were found.%0a%3c %0a%3c /dev/sdE0/plan9%0a%3c %0a%3c Plan 9 partition to subdivide (/dev/sdE0/plan9)[/dev/sdE0/plan9]:%0a%3c %0a%3c %0a%3c This is disk/prep; use it to subdivide the PLan 9 partition.%0a%3c If it is not yet subdivided, a sensible layout will be suggested;%0a%3c you can probably just type 'w' and then 'q'.%0a%3c %0a%3c there's a fat partition where the%0a%3c plan 9 partition table would go.%0a%3c If you really want to overwrite it, zero%0a%3c the second sector of the disk adn try again%0a%3c @]%0a%3c %0a%3c %25 dd -if /dev/zero -of /dev/sdE0/data -count 50000%0a%3c %0a%3c That will wipe out the first sectors of the disk and allow Plan 9 to%0a%3c continue installation.%0a +host:1632730404=125.231.18.235 blob - /dev/null blob + a274fe6c730dc92da9e14c86b9cb8c49876e67c8 (mode 644) --- /dev/null +++ wiki.d/9.Plan9ini @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632913919 +host=38.87.162.8 +name=9.Plan9ini +rev=2 +targets= +text=To customize resolution for thinkpad x200:%0a%0a[@%0a%25 9fs 9fat%0a@]%0a%0aThen edit /n/9/plan9.ini. Replace the default value of:%0a%0a[@%0avgasize=1024x768x16%0a@]%0a%0awith:%0a%0a[@%0amonitor=x200%0avgasize=1280x800x32%0a@]%0a%0a +time=1635093029 +author:1635093029=jrmu +diff:1635093029:1632913919:=7,8c7,8%0a%3c Then edit /n/9/plan9.ini. Replace the default value of:%0a%3c %0a---%0a> Then edit /n/9/plan9.ini:%0a> %0a10c10,11%0a%3c vgasize=1024x768x16%0a---%0a> monitor=x200%0a> vgasize=1280x800x32%0a12,19d12%0a%3c %0a%3c with:%0a%3c %0a%3c [@%0a%3c monitor=x200%0a%3c vgasize=1280x800x32%0a%3c @]%0a%3c %0a +host:1635093029=38.87.162.8 +author:1632913919=Miniontoby +diff:1632913919:1632913919:=1,12d0%0a%3c To customize resolution for thinkpad x200:%0a%3c %0a%3c [@%0a%3c %25 9fs 9fat%0a%3c @]%0a%3c %0a%3c Then edit /n/9/plan9.ini:%0a%3c %0a%3c [@%0a%3c monitor=x200%0a%3c vgasize=1280x800x32%0a%3c @]%0a +host:1632913919=125.231.16.216 blob - /dev/null blob + bb0b28eef0952f92b0a2b8283357e5a1353b0e1e (mode 644) --- /dev/null +++ wiki.d/9.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko +charset=UTF-8 +ctime=1631917902 +host=80.210.50.203 +name=9.RecentChanges +rev=128 +text=* [[9/9gridchan]] . . . December 14, 2021, at 04:37 AM by [[~mkf]]: [==]%0a* [[9/Todo]] . . . December 03, 2021, at 07:52 PM by [[~mkf]]: [==]%0a* [[9/9pfs]] . . . November 24, 2021, at 02:00 PM by [[~mkf]]: [==]%0a* [[9/Ideas]] . . . November 05, 2021, at 11:46 AM by [[~jrmu]]: [==]%0a* [[9/Stone]] . . . November 04, 2021, at 04:09 PM by [[~meeekeeef]]: [==]%0a* [[9/Drawterm]] . . . November 04, 2021, at 04:03 PM by [[~meeekeeef]]: [==]%0a* [[9/Zuke]] . . . November 04, 2021, at 04:01 PM by [[~meeekeeef]]: [==]%0a* [[9/Sysupdate]] . . . October 31, 2021, at 10:21 PM by [[~meeekeeef]]: [==]%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* [[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* [[9/Ssh]] . . . October 22, 2021, at 12:54 AM by [[~jrmu]]: [==]%0a* [[9/101]] . . . October 20, 2021, at 04:53 PM by [[~jrmu]]: [==]%0a* [[9/Install]] . . . October 19, 2021, at 02:36 PM by [[~jrmu]]: [==]%0a* [[9/Cvsfs]] . . . October 15, 2021, at 12:58 PM by [[~mkf]]: [==]%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* [[9/Partdisk]] . . . September 27, 2021, at 08:13 AM by [[~jrmu]]: [==]%0a* [[9/9]] . . . September 18, 2021, at 02:20 AM by [[~mkf]]: [==]%0a +time=1639456674 blob - /dev/null blob + f3f23a904acbcc68806fe3de916a653253c0c022 (mode 644) --- /dev/null +++ wiki.d/9.Ssh @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634863472 +host=38.87.162.8 +name=9.Ssh +rev=2 +targets= +text=This will have nice large fonts:%0a%0a[@%0a; vt -rxbf /lib/font/lucidasans/typeunicode.16.font ssh username@domain.com%0a@]%0a +time=1634864077 +author:1634864077=jrmu +diff:1634864077:1634863472:=4c4%0a%3c ; vt -rxbf /lib/font/lucidasans/typeunicode.16.font ssh username@domain.com%0a---%0a> ; vt -rxbf typeunicode.16.font ssh username@domain.com%0a +host:1634864077=38.87.162.8 +author:1634863472=jrmu +diff:1634863472:1634863472:=1,5d0%0a%3c This will have nice large fonts:%0a%3c %0a%3c [@%0a%3c ; vt -rxbf typeunicode.16.font ssh username@domain.com%0a%3c @]%0a +host:1634863472=38.87.162.8 blob - /dev/null blob + 4d7bb0f8695075e66bc102f500bdd9381cf87c5a (mode 644) --- /dev/null +++ wiki.d/9.Stone @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36 +author=meeekeeef +charset=UTF-8 +csum= +ctime=1632312963 +host=198.251.81.133 +name=9.Stone +rev=6 +targets= +text=h[@%0avi/mg -> hold, ed, sam%0aemacs -> acme%0aZNC/BNC -> irc7, ircs%0airssi -> wircrc, irc7, ircs, ircrc%0aFFS -> hjfs, cwfs, fossil(+venti)%0aEggdrop -> ?%0angIRCd -> ?%0ahopm -> ?%0adoas -> auth/as%0asyspatch -> sysupdate%0antpd -> aux/timesync%0apf -> ipmux (NO)%0ahttpd -> rc-httpd, ip/httpd%0anc -> con, telnet%0aping -> ip/ping%0asmtpd, dovecot -> upas%0aubound, nsd -> ndb%0arelayd -> aux/trampoline?%0aPmWiki -> XXIIVV, werc, wikifs%0ahost, dig -> ndb/dnsquery%0agotweb -> shithub%0agot -> git9%0avmm -> vmx?%0adisklabel -> disk/prep?%0atcpdump -> snoop%0asftp/ftps -> ?%0asic -> ircrc%0aii -> ircfs, chatfs%0aacme-client -> acmed, rsa(8)%0apasswd -> passwd(1)?, auth/wrkey?, auth/changeuser%0a@] +time=1636042159 +author:1636042159=meeekeeef +diff:1636042159:1636042134:=31c31%0a%3c passwd -> passwd(1)?, auth/wrkey?, auth/changeuser%0a---%0a> passwd -> passwd(1)?, auth/wrkey?%0a +host:1636042159=198.251.81.133 +author:1636042134=meeekeeef +diff:1636042134:1632340480:=1,3c1,2%0a%3c h[@%0a%3c vi/mg -> hold, ed, sam%0a%3c emacs -> acme%0a---%0a> [@%0a> vi/mg -> hold, ed, sam, acme%0a8c7%0a%3c ngIRCd -> ?%0a---%0a> ngIRCd -> ircd???%0a13c12%0a%3c pf -> ipmux (NO)%0a---%0a> pf -> ?%0a15c14%0a%3c nc -> con, telnet%0a---%0a> nc -> con%0a19c18%0a%3c relayd -> aux/trampoline?%0a---%0a> relayd -> ?%0a21c20%0a%3c host, dig -> ndb/dnsquery%0a---%0a> host, dig -> ?%0a27a27%0a> tor -> ?(ported old version?)%0a +host:1636042134=198.251.81.133 +author:1632340480=mkf +diff:1632340480:1632313095:=31d30%0a%3c passwd -> passwd(1)?, auth/wrkey?%0a +host:1632340480=198.251.81.133 +author:1632313095=mkf +diff:1632313095:1632313030:=8,9c8%0a%3c hopm -> ?%0a%3c doas -> auth/as%0a---%0a> hopm -> ?doas -> auth/as%0a +host:1632313095=198.251.81.133 +author:1632313030=mkf +diff:1632313030:1632312963:minor=1d0%0a%3c [@%0a8c7,8%0a%3c hopm -> ?doas -> auth/as%0a---%0a> hopm -> ?%0a> doas -> auth/as%0a29,30c29%0a%3c acme-client -> acmed, rsa(8)%0a%3c @]%0a\ No newline at end of file%0a---%0a> acme-client -> acmed, rsa(8)%0a\ No newline at end of file%0a +host:1632313030=198.251.81.133 +author:1632312963=mkf +diff:1632312963:1632312963:=1,29d0%0a%3c vi/mg -> hold, ed, sam, acme%0a%3c ZNC/BNC -> irc7, ircs%0a%3c irssi -> wircrc, irc7, ircs, ircrc%0a%3c FFS -> hjfs, cwfs, fossil(+venti)%0a%3c Eggdrop -> ?%0a%3c ngIRCd -> ircd???%0a%3c hopm -> ?%0a%3c doas -> auth/as%0a%3c syspatch -> sysupdate%0a%3c ntpd -> aux/timesync%0a%3c pf -> ?%0a%3c httpd -> rc-httpd, ip/httpd%0a%3c nc -> con%0a%3c ping -> ip/ping%0a%3c smtpd, dovecot -> upas%0a%3c ubound, nsd -> ndb%0a%3c relayd -> ?%0a%3c PmWiki -> XXIIVV, werc, wikifs%0a%3c host, dig -> ?%0a%3c gotweb -> shithub%0a%3c got -> git9%0a%3c vmm -> vmx?%0a%3c disklabel -> disk/prep?%0a%3c tcpdump -> snoop%0a%3c sftp/ftps -> ?%0a%3c tor -> ?(ported old version?)%0a%3c sic -> ircrc%0a%3c ii -> ircfs, chatfs%0a%3c acme-client -> acmed, rsa(8)%0a\ No newline at end of file%0a +host:1632312963=198.251.81.133 blob - /dev/null blob + 63aec3c5a27c38035a7fd062600cb10b5b6278ec (mode 644) --- /dev/null +++ wiki.d/9.Sysupdate @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36 +author=meeekeeef +charset=UTF-8 +csum= +ctime=1634809662 +host=188.211.44.214 +name=9.Sysupdate +rev=3 +targets= +text=To update your system:%0a%0a[@%0a; webfs ; sysupdate ; cd /sys/src ; mk nuke ; mk all ; mk install%0a@]%0a%0aTo update kernel images after updating system:%0athis can't be done over drawterm.%0a%0a!! i386%0a[@%0a; cd /sys/src/9/pc ; mk install%0a@]%0a%0a!! amd64%0a[@%0a; cd /sys/src/9/pc64 ; mk install%0a@]%0a%0a +time=1635718896 +author:1635718896=meeekeeef +diff:1635718896:1635703478:=6,19d5%0a%3c %0a%3c To update kernel images after updating system:%0a%3c this can't be done over drawterm.%0a%3c %0a%3c !! i386%0a%3c [@%0a%3c ; cd /sys/src/9/pc ; mk install%0a%3c @]%0a%3c %0a%3c !! amd64%0a%3c [@%0a%3c ; cd /sys/src/9/pc64 ; mk install%0a%3c @]%0a%3c %0a +host:1635718896=188.211.44.214 +author:1635703478=meeekeeef +diff:1635703478:1634809662:=4c4%0a%3c ; webfs ; sysupdate ; cd /sys/src ; mk nuke ; mk all ; mk install%0a---%0a> ; sysupdate ; cd /sys/src ; mk nuke ; mk all ; mk install%0a +host:1635703478=2.178.147.217 +author:1634809662=jrmu +diff:1634809662:1634809662:=1,5d0%0a%3c To update your system:%0a%3c %0a%3c [@%0a%3c ; sysupdate ; cd /sys/src ; mk nuke ; mk all ; mk install%0a%3c @]%0a +host:1634809662=38.87.162.8 blob - /dev/null blob + 468a63fbb839accb8f65e463912e8b9c10cd17ca (mode 644) --- /dev/null +++ wiki.d/9.Todo,del-1638561149 @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:91.0) Gecko/20100101 Firefox/91.0 +author=mkf +charset=UTF-8 +csum= +ctime=1634547224 +host=2.178.175.74 +name=9.Todo +rev=4 +targets= +text= +time=1638561136 +author:1638561136=mkf +diff:1638561136:1634547395:=0a1,3%0a> * {- create 9.Cvsfs - mkf -}%0a> * find a way to send logs to fiche. - mkf%0a> * find out why tlssrv doesn't work on some ISPs - mkf%0a +host:1638561136=2.178.175.74 +author:1634547395=mkf +csum:1634547395=:((( +diff:1634547395:1634547309:=1c1%0a%3c * {- create 9.Cvsfs - mkf -}%0a---%0a> { * create 9.Cvsfs }%0a +host:1634547395=86.106.193.126 +author:1634547309=mkf +csum:1634547309=:(( +diff:1634547309:1634547224:=1d0%0a%3c { * create 9.Cvsfs }%0a +host:1634547309=86.106.193.126 +author:1634547224=mkf +csum:1634547224=:( +diff:1634547224:1634547224:=1,2d0%0a%3c * find a way to send logs to fiche. - mkf%0a%3c * find out why tlssrv doesn't work on some ISPs - mkf%0a +host:1634547224=86.106.193.126 blob - /dev/null blob + 56413505150b449f343b0687ac53ff7b27deb9fb (mode 644) --- /dev/null +++ wiki.d/9.Zuke,del-1636041668 @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36 +author=meeekeeef +charset=UTF-8 +csum=zuke is installed by default +ctime=1635131635 +host=198.251.81.133 +name=9.Zuke +rev=3 +targets= +text='+Zuke is installed by default+'%0aFirst we need to install libtags:%0a%0a[@%0a; git/clone https://git.sr.ht/~ft/libtags%0a@]%0a%0a[@%0a; cd libtags/%0a; mk install%0a; cd ../%0a; 9fs 9front;%0a; cp /n/extra/zuke.tgz ./%0a; tar xvzf zuke.tgz%0a; cd zuke%0a; mk install%0a@]%0a%0a[@%0a%0a@]%0a +time=1636041459 +author:1636041459=meeekeeef +csum:1636041459=zuke is installed by default +diff:1636041459:1635132774:=1d0%0a%3c '+Zuke is installed by default+'%0a +host:1636041459=198.251.81.133 +author:1635132774=jrmu +diff:1635132774:1635131635:=11,15d10%0a%3c ; 9fs 9front;%0a%3c ; cp /n/extra/zuke.tgz ./%0a%3c ; tar xvzf zuke.tgz%0a%3c ; cd zuke%0a%3c ; mk install%0a +host:1635132774=38.87.162.8 +author:1635131635=jrmu +diff:1635131635:1635131635:=1,15d0%0a%3c First we need to install libtags:%0a%3c %0a%3c [@%0a%3c ; git/clone https://git.sr.ht/~ft/libtags%0a%3c @]%0a%3c %0a%3c [@%0a%3c ; cd libtags/%0a%3c ; mk install%0a%3c ; cd ../%0a%3c @]%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a +host:1635131635=38.87.162.8 blob - /dev/null blob + 1a5b5665cb91a0355ef4aa7857497f083a266f7f (mode 644) --- /dev/null +++ wiki.d/Abuse.Code @@ -0,0 +1,99 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615289353 +host=198.251.81.119 +name=Abuse.Code +rev=29 +targets= +text=Chat Penal Code%0a%0a# Users are allowed to have a trial by jury%0a# Accusations must be made and evidence provided in the form of logs, screenshots%0a# Users have a right to defend themselves%0a# No one should judge his own case%0a# Ops should not be judges%0a# No oath required%0a%0aPunishment must fit the crime%0a%0aPunishment may include:%0a%0a# probation periods,%0a# forced community service%0a# take away abusers' rights to connect to other networks%0a%0aPrinciples:%0a%0a# lighter punishments for first time offenders%0a# heavier punishments for repeat offenders%0a# provide libraries of correctional books like the Bible%0a# provide reformation work in chat prison%0a# pair them with a mentor%0a%0aForce abusers to work to teach them better habits.%0a%0aChat Felonies%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Abuse ||! Punishment ||! Minimum Probation ||%0a|| Death Threats || Ban || 3 months community service ||%0a|| Swatting || Ban || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a|| Doxing || Ban || 6 months community service ||%0a|| DDoS || Ban || 3 months community service ||%0a|| Hacking || Ban || 6 months community service ||%0a|| Spam attack || Ban || 3 months community service ||%0a|| Phishing || Ban || 6 months community service ||%0a|| Stalking || Ban || 6 months community service ||%0a|| Theft || Ban || 3 months community service plus fee ||%0a|| Pornography (minors) || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a|| Obscene content (minors) || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a|| Illegal drug dealing || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a%0aChat Misdemeanors%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Abuse ||! Punishment ||! Probation ||%0a|| Pornography (no minors) || Warning, then Ban || 2 weeks community service ||%0a|| Obscene content (no minors) || Warning, then Ban || 2 weeks community service ||%0a|| Illegal drug use || Warning, then Ban || 2 weeks community service ||%0a|| Cloning || 2 Warnings, then Ban || 1 week community service or small fine ||%0a|| Ban evasion || 2 Warnings, then Ban || 1 week community service or small fine ||%0a|| Copyright Infringement || 2 Warnings, then Ban || 1 week community service or small fine ||%0a|| Gambling || 2 Warnings, then Ban || 1 week community service ||%0a|| Fee Evasion || 2 Warnings, then Ban || Small fine ||%0a%0aIRC penitentiaries to help reform hardened chat fiends +time=1615304699 +author:1615304699=jrmu +diff:1615304699:1615299288:=24d23%0a%3c # pair them with a mentor%0a +host:1615304699=198.251.81.119 +author:1615299288=jrmu +diff:1615299288:1615298415:=1,2d0%0a%3c Chat Penal Code%0a%3c %0a +host:1615299288=198.251.81.119 +author:1615298415=jrmu +diff:1615298415:1615298353:=20,21d19%0a%3c # provide libraries of correctional books like the Bible%0a%3c # provide reformation work in chat prison%0a +host:1615298415=198.251.81.119 +author:1615298353=jrmu +diff:1615298353:1615296214:=15,19d14%0a%3c %0a%3c Principles:%0a%3c %0a%3c # lighter punishments for first time offenders%0a%3c # heavier punishments for repeat offenders%0a +host:1615298353=198.251.81.119 +author:1615296214=jrmu +diff:1615296214:1615295935:= +host:1615296214=125.231.66.28 +author:1615295935=jrmu +diff:1615295935:1615295728:=3,7c3%0a%3c # Users have a right to defend themselves%0a%3c # No one should judge his own case%0a%3c # Ops should not be judges%0a%3c # No oath required%0a%3c %0a---%0a> %0a14a11%0a> #%0a +host:1615295935=125.231.66.28 +author:1615295728=jrmu +diff:1615295728:1615295707:=10c10%0a%3c # take away abusers' rights to connect to other networks%0a---%0a> # take away abusers' rights to visit other networks%0a +host:1615295728=125.231.66.28 +author:1615295707=jrmu +diff:1615295707:1615295284:=10,11d9%0a%3c # take away abusers' rights to visit other networks%0a%3c #%0a +host:1615295707=125.231.66.28 +author:1615295284=jrmu +diff:1615295284:1615295262:=11,14c11,14%0a%3c Force abusers to work to teach them better habits.%0a%3c %0a%3c Chat Felonies%0a%3c %0a---%0a> Force criminals to work to teach them better habits.%0a> %0a> Felonies%0a> %0a30c30%0a%3c Chat Misdemeanors%0a---%0a> Misdemeanors%0a +host:1615295284=125.231.66.28 +author:1615295262=jrmu +diff:1615295262:1615294590:=5d4%0a%3c %0a10,11d8%0a%3c %0a%3c Force criminals to work to teach them better habits.%0a +host:1615295262=125.231.66.28 +author:1615294590=jrmu +diff:1615294590:1615294122:=16,22c16,22%0a%3c || Doxing || Ban || 6 months community service ||%0a%3c || DDoS || Ban || 3 months community service ||%0a%3c || Hacking || Ban || 6 months community service ||%0a%3c || Spam attack || Ban || 3 months community service ||%0a%3c || Phishing || Ban || 6 months community service ||%0a%3c || Stalking || Ban || 6 months community service ||%0a%3c || Theft || Ban || 3 months community service plus fee ||%0a---%0a> || Doxing || || ||%0a> || DDoS || || ||%0a> || Hacking || || ||%0a> || Spam attack || || ||%0a> || Phishing || || ||%0a> || Stalking || || ||%0a> || Theft || || ||%0a24,25c24,25%0a%3c || Obscene content (minors) || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a%3c || Illegal drug dealing || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a---%0a> || Obscene content (minors) || || ||%0a> || Illegal drug dealing || || ||%0a +host:1615294590=125.231.66.28 +author:1615294122=jrmu +diff:1615294122:1615293813:=13,15c13,15%0a%3c ||! Abuse ||! Punishment ||! Minimum Probation ||%0a%3c || Death Threats || Ban || 3 months community service ||%0a%3c || Swatting || Ban || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a---%0a> ||! Abuse ||! Punishment ||! Probation ||%0a> || Death Threats || || ||%0a> || Swatting || || ||%0a31,38c31,38%0a%3c || Pornography (no minors) || Warning, then Ban || 2 weeks community service ||%0a%3c || Obscene content (no minors) || Warning, then Ban || 2 weeks community service ||%0a%3c || Illegal drug use || Warning, then Ban || 2 weeks community service ||%0a%3c || Cloning || 2 Warnings, then Ban || 1 week community service or small fine ||%0a%3c || Ban evasion || 2 Warnings, then Ban || 1 week community service or small fine ||%0a%3c || Copyright Infringement || 2 Warnings, then Ban || 1 week community service or small fine ||%0a%3c || Gambling || 2 Warnings, then Ban || 1 week community service ||%0a%3c || Fee Evasion || 2 Warnings, then Ban || Small fine ||%0a---%0a> || Pornography (no minors) || || ||%0a> || Obscene content (no minors) || || ||%0a> || Illegal drug use || || ||%0a> || Cloning || || ||%0a> || Ban evasion || || ||%0a> || Copyright Infringement || || ||%0a> || Gambling || || ||%0a> || Fee Evasion || || ||%0a +host:1615294122=125.231.66.28 +author:1615293813=jrmu +diff:1615293813:1615292775:=23c23%0a%3c || Pornography (minors) || Ban and Account Suspension || Account Monitoring, Legal ID for Minimum of 2 Years ||%0a---%0a> || Pornography (minors) || || ||%0a +host:1615293813=125.231.66.28 +author:1615292775=jrmu +diff:1615292775:1615291051:=24d23%0a%3c || Obscene content (minors) || || ||%0a32c31%0a%3c || Obscene content (no minors) || || ||%0a---%0a> || Obscene content || || ||%0a +host:1615292775=125.231.66.28 +author:1615291051=jrmu +diff:1615291051:1615290987:=29d28%0a%3c ||! Abuse ||! Punishment ||! Probation ||%0a +host:1615291051=198.251.81.119 +author:1615290987=jrmu +diff:1615290987:1615290896:=36,38c36%0a%3c || Fee Evasion || || ||%0a%3c %0a%3c IRC penitentiaries to help reform hardened chat fiends%0a\ No newline at end of file%0a---%0a> || Fee Evasion || || ||%0a\ No newline at end of file%0a +host:1615290987=198.251.81.119 +author:1615290896=jrmu +diff:1615290896:1615290858:=28d27%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1615290896=198.251.81.119 +author:1615290858=jrmu +diff:1615290858:1615290587:=21d20%0a%3c || Stalking || || ||%0a29d27%0a%3c || Obscene content || || ||%0a35d32%0a%3c || Fee Evasion || || ||%0a\ No newline at end of file%0a +host:1615290858=198.251.81.119 +author:1615290587=jrmu +diff:1615290587:1615290522:=20d19%0a%3c || Phishing || || ||%0a +host:1615290587=198.251.81.119 +author:1615290522=jrmu +diff:1615290522:1615290407:=21c21%0a%3c || Pornography (minors) || || ||%0a---%0a> || Pornography (minors present) || || ||%0a +host:1615290522=198.251.81.119 +author:1615290407=jrmu +diff:1615290407:1615290141:=21c21%0a%3c || Pornography (minors present) || || ||%0a---%0a> || Pornography || || ||%0a26d25%0a%3c || Pornography (no minors) || || ||%0a31c30%0a%3c || Gambling || || ||%0a---%0a> || Gambling || || ||%0a\ No newline at end of file%0a +host:1615290407=198.251.81.119 +author:1615290141=jrmu +diff:1615290141:1615290075:=21c21%0a%3c || Pornography || || ||%0a---%0a> || Child pornography || || ||%0a25a26%0a> || Pornography || || ||%0a +host:1615290141=198.251.81.119 +author:1615290075=jrmu +diff:1615290075:1615290060:=10,11c10,11%0a%3c Felonies%0a%3c %0a---%0a> IRC penitentiary%0a> %0a24c24%0a%3c Misdemeanors%0a---%0a> Misdemeanor%0a +host:1615290075=198.251.81.119 +author:1615290060=jrmu +diff:1615290060:1615289860:=17a18%0a> || Ban evasion || || ||%0a19d19%0a%3c || Spam attack || || ||%0a22,31c22%0a%3c || Illegal drug dealing || || ||%0a%3c %0a%3c Misdemeanor%0a%3c %0a%3c || Pornography || || ||%0a%3c || Illegal drug use || || ||%0a%3c || Cloning || || ||%0a%3c || Ban evasion || || ||%0a%3c || Copyright Infringement || || ||%0a%3c || Gambling || || ||%0a\ No newline at end of file%0a---%0a> || Pornography || || ||%0a\ No newline at end of file%0a +host:1615290060=198.251.81.119 +author:1615289860=jrmu +diff:1615289860:1615289817:=12,13c12%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Abuse ||! Punishment ||! Probation ||%0a---%0a> || Abuse || Punishment || Probation ||%0a +host:1615289860=198.251.81.119 +author:1615289817=jrmu +diff:1615289817:1615289656:=17,21c17%0a%3c || Ban evasion || || ||%0a%3c || Hacking || || ||%0a%3c || Theft || || ||%0a%3c || Child pornography || || ||%0a%3c || Pornography || || ||%0a\ No newline at end of file%0a---%0a> || Theft || || ||%0a\ No newline at end of file%0a +host:1615289817=198.251.81.119 +author:1615289656=jrmu +diff:1615289656:1615289377:=11,17d10%0a%3c %0a%3c || Abuse || Punishment || Probation ||%0a%3c || Death Threats || || ||%0a%3c || Swatting || || ||%0a%3c || Doxing || || ||%0a%3c || DDoS || || ||%0a%3c || Theft || || ||%0a\ No newline at end of file%0a +host:1615289656=198.251.81.119 +author:1615289377=jrmu +diff:1615289377:1615289353:=1,2c1,2%0a%3c # Users are allowed to have a trial by jury%0a%3c # Accusations must be made and evidence provided in the form of logs, screenshots%0a---%0a> Users are allowed to have a trial by jury%0a> Accusations must be made and evidence provided in the form of logs, screenshots%0a +host:1615289377=198.251.81.119 +author:1615289353=jrmu +diff:1615289353:1615289353:=1,10d0%0a%3c Users are allowed to have a trial by jury%0a%3c Accusations must be made and evidence provided in the form of logs, screenshots%0a%3c %0a%3c Punishment must fit the crime%0a%3c Punishment may include:%0a%3c %0a%3c # probation periods,%0a%3c # forced community service%0a%3c %0a%3c IRC penitentiary%0a +host:1615289353=198.251.81.119 blob - /dev/null blob + a7df8f05f8163c3708d9356f47ddeb3524e92bfa (mode 644) --- /dev/null +++ wiki.d/Abuse.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1615289353 +host=198.251.81.119 +name=Abuse.RecentChanges +rev=29 +text=* [[Abuse/Code]] . . . March 09, 2021, at 03:44 PM by [[~jrmu]]: [==]%0a +time=1615304699 blob - /dev/null blob + ee98ca8cd3233db00fcb7489ece6cdcdf25c83d9 (mode 644) --- /dev/null +++ wiki.d/Achurch.Install @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612974833 +host=198.251.81.119 +name=Achurch.Install +rev=1 +targets= +text=(:title IRC Services:)%0a%0aFor IRC services, IRCNow uses a forked version of [[http://achurch.org/services|achurch]]. +time=1612974833 +title=IRC Services +author:1612974833=jrmu +diff:1612974833:1612974833:=1,3d0%0a%3c (:title IRC Services:)%0a%3c %0a%3c For IRC services, IRCNow uses a forked version of [[http://achurch.org/services|achurch]].%0a\ No newline at end of file%0a +host:1612974833=198.251.81.119 blob - /dev/null blob + a98cdd0ac6e82e78de2293b75579f34fb8296c50 (mode 644) --- /dev/null +++ wiki.d/Achurch.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1612974833 +host=198.251.81.119 +name=Achurch.RecentChanges +rev=1 +text=* [[Achurch/Install]] . . . February 10, 2021, at 04:33 PM by [[~jrmu]]: [==]%0a +time=1612974833 blob - /dev/null blob + 5bbfb4f75d224ff5b0f58a3a175309bf4b1ae987 (mode 644) --- /dev/null +++ wiki.d/Acme-client.Configure @@ -0,0 +1,156 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=theguest +charset=UTF-8 +csum= +ctime=1614076701 +host=38.87.162.129 +name=Acme-client.Configure +rev=47 +targets=Openhttpd.Configure,Dns.Overview,Host.Usage,Netcat.Http,Nsd.Troubleshoot,Telnet.Http,Crontab.Configure,Openssl.Http +text=(:title Configuring Acme-client:)%0a%0aTo enable TLS, you will want a certificate signed by a trusted certificate authority (CA). In this guide, we'll use OpenBSD's [[https://man.openbsd.org/acme-client|acme-client]] with Let's Encrypt.%0a%0a!! Overview%0a%0aTLS (Transport Layer Security) aka SSL (Secure Sockets Layer) is the encryption security measure that enables browsers to recognize a website as "secure". In modern browsers the SSL information can be accessed by clicking the padlock icon in the address bar. %0a%0aSSL certificates are obtained from CAs (Certificate Authorities). Currently, the only free CAs are [[https://letsencrypt.org/getting-started/ | Lets Encrypt]], [[https://www.buypass.com/ssl/products/acme | Buypass]] and [[https://zerossl.com/ | ZeroSSL]]. You can request an SSL cert for your web domain using an Automatic Certificate Management Environment (ACME) client such as OpenBSD's Acme-client, which we will configure in this article.%0a%0a!!! Before You Begin %0a%0aYou will first need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need properly functioning [[dns/overview|DNS records]] for your hostname (@@username.example.com@@). If you are using a training vps, it is likely that DNS records for your hostname have already been set up for you.%0a%0aYou can and should test the two configurations using [[host/usage|host]] and [[netcat/http|netcat]].%0a%0aNote: You must have a server block in [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]] listening on port 80. Do not delete this block or else acme-client will not work.%0a%0a!! Configuration%0a%0aFirst, copy the [[https://man.openbsd.org/acme-client.conf|acme-client.conf]] template:%0a%0a[@%0a$ doas cp /etc/examples/acme-client.conf /etc/acme-client.conf%0a@]%0a%0aWe'll open up [@ /etc/acme-client.conf @] and analyze the meaning of each block:%0a%0a!!! Authority blocks%0a%0a[@%0aauthority letsencrypt {%0a api url "https://acme-v02.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-privkey.pem"%0a}%0a@]%0a%0aThis defines the Certificate Authority [[https://letsencrypt.org/|letsencrypt]]. It provides the API URL and the location of the account key.%0a%0a'''Note''': Let's Encrypt [[https://letsencrypt.org/docs/rate-limits/|rate-limits]] the number of SSL certs you can request. If you encounter an error and are unable to request an SSL cert, please fix all errors before requesting again. If you request too many certs in a short time, your domain will get blacklisted for a few hours or days. To avoid issues, use letsencrypt-staging first and make sure you get success with that before using letsencrypt.%0a%0aAlthough we are using Let's Encrypt for this tutorial, it is important to note that Let's Encrypt currently has a monopoly on free SSL certs. For this reason, IRCNow wants to run its own Certificate Authority in case Let's Encrypt should try to censor our domains.%0a%0a[@%0aauthority letsencrypt-staging {%0a api url "https://acme-staging.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a}%0a@]%0a%0aletsencrypt-staging is a staging server which you can use to practice requesting fake certificates. The rate limits for the staging server are less strict, so you should practice first with this CA.%0a%0aTo both of these blocks, we will want to add our contact email, so we add [@contact "mailto:me@example.com" @] inside both blocks. (make sure to have the @@mailto:@@):%0a%0a[@%0aauthority letsencrypt {%0a api url "https://acme-v02.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-privkey.pem"%0a contact "mailto:me@example.com"%0a}%0a%0aauthority letsencrypt-staging {%0a api url "https://acme-staging-v02.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a contact "mailto:me@example.com"%0a}%0a@]%0a%0aNext, the default [[https://man.openbsd.org/acme-client.conf|acme-client.conf]] defines two more authorities:%0a%0a[@%0aauthority buypass {%0a api url "https://api.buypass.com/acme/directory"%0a account key "/etc/acme/buypass-privkey.pem"%0a contact "mailto:me@example.com"%0a}%0a%0aauthority buypass-test {%0a api url "https://api.test4.buypass.no/acme/directory"%0a account key "/etc/acme/buypass-test-privkey.pem"%0a contact "mailto:me@example.com"%0a}%0a@]%0a%0aThese two blocks are the same as for letsencrypt, but with the alternative provider [[https://buypass.com/|buypass]]. Make sure to replace the contact email with your own email.%0a%0a!!! Domain Block%0a%0a[@%0adomain example.com {%0a alternative names { secure.example.com }%0a domain key "/etc/ssl/private/example.com.key"%0a domain full chain certificate "/etc/ssl/example.com.crt"%0a sign with letsencrypt%0a}%0a@]%0a%0adomain: This would configure acme-client for the domain @@ example.com @@. Replace every appearance of @@ example.com @@ with your own domain, which might look like @@ username.fruit.ircnow.org @@.%0a%0aalternative names: Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@ example.ircnow.org @@ and the alternative names @@ fruit.ircnow.org @@ and @@ vegetable.ircnow.org @@. You can safely skip this by commenting out this line (see warning below)%0a%0aIf you use too many alternative names, an acme-client certificate request has a higher chance of failure. So, I recommend keeping the number of alternative names to under 5.%0a%0a'''Warning''': Having the @@alternative names@@ directive with nothing inside will cause errors. The below will cause errors:%0a%0a[@%0aalternative names { }%0a@]%0a%0aIf you don't need any alternative names, you should comment this line out by putting a # at the beginning of the line, like so:%0a%0a[@%0a# alternative names { }%0a@]%0a%0a%0a'''Note''': If you add an alternative name to the conf file, but the cert already exists, you must remove the old public cert first before requesting a new one. Otherwise, you will get @@unknown SAN error@@ -- acme-client will complain there is an unknown Subject Alternative Name.%0a%0adomain key, domain full chain certificate:%0a%0aThe @@domain key@@ and @@domain full chain certificate@@ tell acme-client where to put the private key and certificate:%0a%0a[@%0a domain key "/etc/ssl/private/example.com.key"%0a domain full chain certificate "/etc/ssl/example.com.crt"%0a@]%0a%0aReplace @@example.com@@ with your real domain. The public key goes inside the folder @@/etc/ssl@@ and the private key goes inside @@/etc/ssl/private@@.%0a%0a%0asign with: %0a%0athis line tells Acme-client which CA (that you defined in the Authority Blocks) to use.%0a%0a[@%0a sign with letsencrypt%0a@]%0a%0awould cause it to use the CA @@ letsencrypt @@. For testing purposes, change it to @@ letsencrypt-staging @@. If you want to use @@ buypass @@ or it's testing CA @@ buypass-test @@, then change it accordingly.%0a%0a'''Note''': staging or testing certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, change this line back to an official authority (@@sign with letsencrypt@@).%0a%0a!! Requesting Certificates%0a%0aAfter you have finished configuring the conf file, we can request certificates:%0a%0a[@%0a$ doas acme-client -Fv example.com%0a@]%0a%0areplace @@ example.com @@ with your domain.%0a%0aIf there are no errors, you should see something similar to the following output:%0a%0a[@%0a$ doas acme-client -Fv example.com%0aacme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0aacme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0aacme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0aacme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0aacme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/11133258838%0aacme-client: challenge, token: uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A, status: 0%0aacme-client: /var/www/acme/uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs: created%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A: challenge%0aacme-client: order.status 0%0aacme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/11133258838%0aacme-client: challenge, token: uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A, status: 2%0aacme-client: order.status 1%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/113861127/8112730231: certificate%0aacme-client: order.status 3%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/cert/03f7fd846802cb0689c2bbd7b6f5e89eb66b: certificate%0aacme-client: /etc/ssl/example.com.crt: created%0a@]%0a%0aNote the last line: it says that the public certificate was generated. If you see that, it's a success!%0a%0aYou now have two certificates, the public key inside @@/etc/ssl/example.com.crt@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to):%0a%0a[@%0a$ doas ls -l /etc/ssl/example.com.crt /etc/ssl/private/example.com.key%0a-r--r--r-- 1 root wheel 4797 Feb 25 02:11 /etc/ssl/jrmu.coconut.ircnow.org.crt%0a-r-------- 1 root wheel 3272 Feb 25 02:10 /etc/ssl/private/jrmu.coconut.ircnow.org.key%0a@]%0a%0a!! Troubleshooting%0a%0aIf acme-client fails, there are several possible causes:%0a%0a!!! Domain Not Listed%0a%0aIf you add a new alternative name inside your domain block in [[https://man.openbsd.org/acme-client.conf|/etc/acme-client.conf]], you will see this error:%0a %0a[@%0aacme-client: /etc/ssl/example.com.crt: domain not listed: new.example.com%0a@]%0a%0aHere, @@new.example.com@@ was a new alternative name I added. The solution is to move your old public cert and private key to a new location (rather than deleting it, back it up!)%0a%0aExample (using example.com):%0a%0a[@%0a$ doas mv /etc/ssl/example.com.crt /etc/ssl/example.com.crt.bak%0a$ doas mv /etc/ssl/private/example.com.key /etc/ssl/private/example.com.key.bak%0a@]%0a%0aThen request the cert again:%0a%0a[@%0a$ doas acme-client -Fv example.com%0a@]%0a%0a%0a!!! Missing Domain Records%0a%0aIt's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a%0a[@%0a$ host example.com%0a@]%0a%0aYou should see one or two records like the following:%0a%0a[@%0aexample.com has address 93.184.216.34%0aexample.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a@]%0a%0aThe IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on.%0a%0a'''Note''': You '''cannot''' request a domain you don't own! The domain must point to an IP you own.%0a%0a There are a few possible mistakes:%0a%0a# Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a# You have the wrong IP addresses.%0a# DNS records are missing.%0a%0aIf you have missing records, you will see this response:%0a%0a[@%0aHost example.com not found: 3(NXDOMAIN)%0a@]%0a%0aYou will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a%0a!!! OpenHTTPd Misconfigured%0a%0aIf [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a%0a(acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. )%0a%0aTo test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain) from another computer:%0a%0a[@%0a$ telnet example.com 80%0aGET /index.html HTTP/1.1%0aHost: example.com%0a@]%0a%0aYou should a response similar to the one below:%0a%0a[@%0aHTTP/1.0 302 Found%0aDate: Tue, 23 Feb 2021 14:01:28 GMT%0aOpenBSD httpd%0aConnection: close%0aContent-Type: text/html%0aContent-Length: 486%0aLocation: https://example.com/index.html%0a...%0a@]%0a%0aIf you do not get this response, double check your openhttpd configuration.%0a%0a'''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests for port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a%0a%0a!!! Incorrect File Permissions%0a%0aDouble check the file permissions for /var/www and /var/www/acme:%0a%0a[@%0a$ ls -ld /var/www /var/www/acme%0adrwxr-xr-x 10 root daemon 512 Oct 5 07:47 /var/www%0adrwxr-xr-x 2 root daemon 512 Oct 5 07:47 /var/www/acme%0a@]%0a%0a!! Automation%0a%0aLet's Encrypt TLS certs expire after 90 days, while Buypass certs expire after 180. For both, you must remember to request the TLS cert or TLS will stop working. To avoid forgetting, we can automate the request process using [[crontab/configure|crontab]].%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAdd this line at the bottom:%0a%0a[@%0a~ * * * * acme-client example.com && rcctl reload httpd%0a@]%0a%0aThis cronjob will check the certificate once each day, at a random time of day, to see if it needs to be renewed. If it does, it will renew the cert, then reload openhttpd to use it.%0a%0aSee Also:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| [[openhttpd/configure|Configure OpenHTTPd]] || Configure HTTPd ||%0a|| [[telnet/http|Telnet HTTP]] || Use Telnet to Troubleshoot HTTP ||%0a|| [[openssl/http|OpenSSL HTTP]] || Use OpenSSL to Troubleshoot HTTPS ||%0a +time=1636907615 +title=Configuring Acme-client +author:1636907615=theguest +diff:1636907615:1635981333:minor=9c9%0a%3c SSL certificates are obtained from CAs (Certificate Authorities). Currently, the only free CAs are [[https://letsencrypt.org/getting-started/ | Lets Encrypt]], [[https://www.buypass.com/ssl/products/acme | Buypass]] and [[https://zerossl.com/ | ZeroSSL]]. You can request an SSL cert for your web domain using an Automatic Certificate Management Environment (ACME) client such as OpenBSD's Acme-client, which we will configure in this article.%0a---%0a> SSL certificates are obtained from CA's (Certificate Authorities). Currently, the only free CA is Lets Encrypt. You can request an SSL cert for your web domain using an Automatic Certificate Management Environment (ACME) client such as OpenBSD's Acme-client, which we will configure in this article.%0a +host:1636907615=38.87.162.129 +author:1635981333=jrmu +diff:1635981333:1635936085:=93c93%0a%3c domain full chain certificate "/etc/ssl/example.com.crt"%0a---%0a> domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a125c125%0a%3c domain full chain certificate "/etc/ssl/example.com.crt"%0a---%0a> domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a172c172%0a%3c acme-client: /etc/ssl/example.com.crt: created%0a---%0a> acme-client: /etc/ssl/example.com.fullchain.pem: created%0a177,178c177,178%0a%3c You now have two certificates, the public key inside @@/etc/ssl/example.com.crt@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to):%0a%3c %0a---%0a> You now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to):%0a> %0a180,181c180,181%0a%3c $ doas ls -l /etc/ssl/example.com.crt /etc/ssl/private/example.com.key%0a%3c -r--r--r-- 1 root wheel 4797 Feb 25 02:11 /etc/ssl/jrmu.coconut.ircnow.org.crt%0a---%0a> $ doas ls -l /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key%0a> -r--r--r-- 1 root wheel 4797 Feb 25 02:11 /etc/ssl/jrmu.coconut.ircnow.org.fullchain.pem%0a194c194%0a%3c acme-client: /etc/ssl/example.com.crt: domain not listed: new.example.com%0a---%0a> acme-client: /etc/ssl/example.com.fullchain.pem: domain not listed: new.example.com%0a202c202%0a%3c $ doas mv /etc/ssl/example.com.crt /etc/ssl/example.com.crt.bak%0a---%0a> $ doas mv /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.fullchain.pem.bak%0a +host:1635981333=38.87.162.47 +author:1635936085=jrmu +diff:1635936085:1629257098:=11,15c11,15%0a%3c !!! Before You Begin %0a%3c %0a%3c You will first need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need properly functioning [[dns/overview|DNS records]] for your hostname (@@username.example.com@@). If you are using a training vps, it is likely that DNS records for your hostname have already been set up for you.%0a%3c %0a%3c You can and should test the two configurations using [[host/usage|host]] and [[netcat/http|netcat]].%0a---%0a> !!! Prerequisites %0a> %0a> Openhttpd:%0a> %0a> Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS records]] for your hostname, which might look like @@username.fruit.ircnow.org@@. If you are using a training vps, it is likely that your DNS record (your domain) is already set up for now, and will have the form @@username.host.ircnow.org@@%0a +host:1635936085=38.87.162.47 +author:1629257098=craziness +csum:1629257098=fixed a misspelling +diff:1629257098:1626873311:=128c128%0a%3c Replace @@example.com@@ with your real domain. The public key goes inside the folder @@/etc/ssl@@ and the private key goes inside @@/etc/ssl/private@@.%0a---%0a> Replace @@example.com@@ with your real domain. The public key goes inside the forlder @@/etc/ssl@@ and the private key goes inside @@/etc/ssl/private@@.%0a +host:1629257098=2601:546:8200:3710::66f4 +author:1626873311=mistera +diff:1626873311:1626873281:=141c141%0a%3c '''Note''': staging or testing certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, change this line back to an official authority (@@sign with letsencrypt@@).%0a---%0a> '''Note''': staging or testing certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, change this line back to an official authority.%0a +host:1626873311=204.111.39.57 +author:1626873281=mistera +diff:1626873281:1626871882:= +host:1626873281=204.111.39.57 +author:1626871882=mistera +diff:1626871882:1626871865:=55c55%0a%3c [@%0a---%0a> @@%0a67c67%0a%3c @]%0a---%0a> @@%0a +host:1626871882=204.111.39.57 +author:1626871865=mistera +diff:1626871865:1626871816:=55c55%0a%3c @@%0a---%0a> [@%0a67c67%0a%3c @@%0a---%0a> @]%0a +host:1626871865=204.111.39.57 +author:1626871816=mistera +diff:1626871816:1626871739:=53c53%0a%3c To both of these blocks, we will want to add our contact email, so we add [@contact "mailto:me@example.com" @] inside both blocks. (make sure to have the @@mailto:@@):%0a---%0a> To both of these blocks, we will want to add our contact email, so we add @@contact mailto:me@example.com @@ inside both blocks:%0a +host:1626871816=204.111.39.57 +author:1626871739=mistera +diff:1626871739:1626871579:=53c53%0a%3c To both of these blocks, we will want to add our contact email, so we add @@contact mailto:me@example.com @@ inside both blocks:%0a---%0a> To both of these blocks, we will want to add our contact email, so we add @@contact "mailto:me@example.com"@@ inside both blocks:%0a +host:1626871739=204.111.39.57 +author:1626871579=mistera +diff:1626871579:1626788685:=27c27%0a%3c We'll open up [@ /etc/acme-client.conf @] and analyze the meaning of each block:%0a---%0a> We'll open up /etc/acme-client.conf and analyze the meaning of each block:%0a +host:1626871579=204.111.39.57 +author:1626788685=mistera +diff:1626788685:1626786887:=5c5%0a%3c !! Overview%0a---%0a> !! Theory%0a +host:1626788685=204.111.39.57 +author:1626786887=mistera +diff:1626786887:1619180493:=5,16c5,8%0a%3c !! Theory%0a%3c %0a%3c TLS (Transport Layer Security) aka SSL (Secure Sockets Layer) is the encryption security measure that enables browsers to recognize a website as "secure". In modern browsers the SSL information can be accessed by clicking the padlock icon in the address bar. %0a%3c %0a%3c SSL certificates are obtained from CA's (Certificate Authorities). Currently, the only free CA is Lets Encrypt. You can request an SSL cert for your web domain using an Automatic Certificate Management Environment (ACME) client such as OpenBSD's Acme-client, which we will configure in this article.%0a%3c %0a%3c !!! Prerequisites %0a%3c %0a%3c Openhttpd:%0a%3c %0a%3c Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS records]] for your hostname, which might look like @@username.fruit.ircnow.org@@. If you are using a training vps, it is likely that your DNS record (your domain) is already set up for now, and will have the form @@username.host.ircnow.org@@%0a%3c %0a---%0a> !! Setting up OpenHTTPd%0a> %0a> Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS records]] for your hostname, which might look like @@username.fruit.ircnow.org@@.%0a> %0a29,30d20%0a%3c !!! Authority blocks%0a%3c %0a40,41c30,31%0a%3c '''Note''': Let's Encrypt [[https://letsencrypt.org/docs/rate-limits/|rate-limits]] the number of SSL certs you can request. If you encounter an error and are unable to request an SSL cert, please fix all errors before requesting again. If you request too many certs in a short time, your domain will get blacklisted for a few hours or days. To avoid issues, use letsencrypt-staging first and make sure you get success with that before using letsencrypt.%0a%3c %0a---%0a> '''Note''': Let's Encrypt [[https://letsencrypt.org/docs/rate-limits/|rate-limits]] the number of SSL certs you can request. If you encounter an error and are unable to request an SSL cert, please fix all errors before requesting again. If you request too many certs in a short time, your domain will get blacklisted for a few hours or days.%0a> %0a87,88d76%0a%3c !!! Domain Block%0a%3c %0a98,101c86,89%0a%3c domain: This would configure acme-client for the domain @@ example.com @@. Replace every appearance of @@ example.com @@ with your own domain, which might look like @@ username.fruit.ircnow.org @@.%0a%3c %0a%3c alternative names: Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@ example.ircnow.org @@ and the alternative names @@ fruit.ircnow.org @@ and @@ vegetable.ircnow.org @@. You can safely skip this by commenting out this line (see warning below)%0a%3c %0a---%0a> This configures acme-client for the domain example.com. You'll want to replace every appearance of @@example.com@@ with your own domain, which might look like @@username.fruit.ircnow.org@@.%0a> %0a> Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@example.ircnow.org@@ and the alternative names @@fruit.ircnow.org@@ and @@vegetable.ircnow.org@@.%0a> %0a119,120d106%0a%3c domain key, domain full chain certificate:%0a%3c %0a128,134c114,117%0a%3c Replace @@example.com@@ with your real domain. The public key goes inside the forlder @@/etc/ssl@@ and the private key goes inside @@/etc/ssl/private@@.%0a%3c %0a%3c %0a%3c sign with: %0a%3c %0a%3c this line tells Acme-client which CA (that you defined in the Authority Blocks) to use.%0a%3c %0a---%0a> You will want to replace @@example.com@@ with your real domain. The public key should go inside @@/etc/ssl@@ and the private key should go inside @@/etc/ssl/private@@.%0a> %0a> If you want to sign with buypass, test a staging certificate (to avoid using up your rate-limit), or switch to another authority, then edit this line:%0a> %0a139,142c122,128%0a%3c would cause it to use the CA @@ letsencrypt @@. For testing purposes, change it to @@ letsencrypt-staging @@. If you want to use @@ buypass @@ or it's testing CA @@ buypass-test @@, then change it accordingly.%0a%3c %0a%3c '''Note''': staging or testing certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, change this line back to an official authority.%0a%3c %0a---%0a> Change it to match one of your defined authorities. For example:%0a> %0a> # To test with letsencrypt-staging, replace it with @@sign with letsencrypt-staging@@.%0a> # To sign with buypass, replace it with @@sign with buypass@@.%0a> %0a> '''Note''': staging certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, you will want to get a properly signed one.%0a> %0a151,152d136%0a%3c replace @@ example.com @@ with your domain.%0a%3c %0a175,176c159,160%0a%3c Note the last line: it says that the public certificate was generated. If you see that, it's a success!%0a%3c %0a---%0a> Pay attention to the last line: it says that the public certificate was generated. If you see that, it's a success!%0a> %0a189,192c173,176%0a%3c !!! Domain Not Listed%0a%3c %0a%3c If you add a new alternative name inside your domain block in [[https://man.openbsd.org/acme-client.conf|/etc/acme-client.conf]], you will see this error:%0a%3c %0a---%0a> !!! Missing Domain Records%0a> %0a> It's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a> %0a194c178%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: domain not listed: new.example.com%0a---%0a> $ host example.com%0a197,200c181,182%0a%3c Here, @@new.example.com@@ was a new alternative name I added. The solution is to move your old public cert and private key to a new location (rather than deleting it, back it up!)%0a%3c %0a%3c Example (using example.com):%0a%3c %0a---%0a> You should see one or two records like the following:%0a> %0a202,203c184,185%0a%3c $ doas mv /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.fullchain.pem.bak%0a%3c $ doas mv /etc/ssl/private/example.com.key /etc/ssl/private/example.com.key.bak%0a---%0a> example.com has address 93.184.216.34%0a> example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a206,207c188,199%0a%3c Then request the cert again:%0a%3c %0a---%0a> The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on.%0a> %0a> '''Note''': You '''cannot''' request a domain you don't own! The domain must point to an IP you own.%0a> %0a> There are a few possible mistakes:%0a> %0a> # Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a> # You have the wrong IP addresses.%0a> # DNS records are missing.%0a> %0a> If you have missing records, you will see this response:%0a> %0a209c201%0a%3c $ doas acme-client -Fv example.com%0a---%0a> Host example.com not found: 3(NXDOMAIN)%0a212,216c204,211%0a%3c %0a%3c !!! Missing Domain Records%0a%3c %0a%3c It's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a%3c %0a---%0a> You will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a> %0a> !!! OpenHTTPd Misconfigured%0a> %0a> acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a> %0a> To test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain):%0a> %0a218c213,215%0a%3c $ host example.com%0a---%0a> $ telnet example.com 80%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a221,222c218,219%0a%3c You should see one or two records like the following:%0a%3c %0a---%0a> You should a response similar to the one below:%0a> %0a224,225c221,228%0a%3c example.com has address 93.184.216.34%0a%3c example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a---%0a> HTTP/1.0 302 Found%0a> Date: Tue, 23 Feb 2021 14:01:28 GMT%0a> OpenBSD httpd%0a> Connection: close%0a> Content-Type: text/html%0a> Content-Length: 486%0a> Location: https://example.com/index.html%0a> ...%0a228,239c231,238%0a%3c The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on.%0a%3c %0a%3c '''Note''': You '''cannot''' request a domain you don't own! The domain must point to an IP you own.%0a%3c %0a%3c There are a few possible mistakes:%0a%3c %0a%3c # Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a%3c # You have the wrong IP addresses.%0a%3c # DNS records are missing.%0a%3c %0a%3c If you have missing records, you will see this response:%0a%3c %0a---%0a> If you do not get this response, double check your openhttpd configuration.%0a> %0a> '''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests for port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a> %0a> !!! Domain Not Listed%0a> %0a> If you add a new alternative name inside your domain block in [[https://man.openbsd.org/acme-client.conf|/etc/acme-client.conf]], you will see this error:%0a> %0a241c240%0a%3c Host example.com not found: 3(NXDOMAIN)%0a---%0a> acme-client: /etc/ssl/example.com.fullchain.pem: domain not listed: new.example.com%0a244,253c243,244%0a%3c You will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a%3c %0a%3c !!! OpenHTTPd Misconfigured%0a%3c %0a%3c If [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a%3c %0a%3c (acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. )%0a%3c %0a%3c To test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain) from another computer:%0a%3c %0a---%0a> Here, @@new.example.com@@ was a new alternative name I added. The solution is to move your old public cert and private key to a new location, then request the cert again:%0a> %0a255,257c246,247%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a---%0a> $ doas mv /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.fullchain.pem.bak%0a> $ doas mv /etc/ssl/private/example.com.key /etc/ssl/private/example.com.key.bak%0a260,261c250,251%0a%3c You should a response similar to the one below:%0a%3c %0a---%0a> Again, you must replace @@example.com@@ with your actual domain. Then:%0a> %0a263,270c253%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://example.com/index.html%0a%3c ...%0a---%0a> $ doas acme-client -Fv example.com%0a272,276d254%0a%3c %0a%3c If you do not get this response, double check your openhttpd configuration.%0a%3c %0a%3c '''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests for port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a%3c %0a +host:1626786887=204.111.39.57 +author:1619180493=jrmu +diff:1619180493:1619176983:=105c105,106%0a%3c '''Note''': If you add an alternative name to the conf file, but the cert already exists, you must remove the old public cert first before requesting a new one. Otherwise, you will get @@unknown SAN error@@ -- acme-client will complain there is an unknown Subject Alternative Name.%0a---%0a> '+'''Please note that if you add an alternative name while there is already an existing cert, that you have to remove the old certs and then use continue.'''+'%0a> %0a +host:1619180493=198.251.81.119 +author:1619176983=miniontoby +csum:1619176983=cert +diff:1619176983:1619176919:=104,107d103%0a%3c %0a%3c '+'''Please note that if you add an alternative name while there is already an existing cert, that you have to remove the old certs and then use continue.'''+'%0a%3c %0a%3c %0a281a278,282%0a> %0a> %0a> '+'''Please note that if you add an alternative name, that you have to remove the old certs and then use acme-client.'''+'%0a> %0a> %0a +host:1619176983=77.168.188.164 +author:1619176919=miniontoby +diff:1619176919:1614320419:=278,282d277%0a%3c %0a%3c %0a%3c '+'''Please note that if you add an alternative name, that you have to remove the old certs and then use acme-client.'''+'%0a%3c %0a%3c %0a +host:1619176919=77.168.188.164 +author:1614320419=jrmu +diff:1614320419:1614254423:=265c265%0a%3c Let's Encrypt TLS certs expire after 90 days, while Buypass certs expire after 180. For both, you must remember to request the TLS cert or TLS will stop working. To avoid forgetting, we can automate the request process using [[crontab/configure|crontab]].%0a---%0a> ACME TLS certs expire after 90 days. So, you must remember to request the TLS cert or TLS will stop working. To avoid forgetting, we can automate the request process using [[crontab/configure|crontab]].%0a +host:1614320419=198.251.81.119 +author:1614254423=jrmu +diff:1614254423:1614254344:=277c277%0a%3c This cronjob will check the certificate once each day, at a random time of day, to see if it needs to be renewed. If it does, it will renew the cert, then reload openhttpd to use it.%0a---%0a> This cronjob will check the certificate once a day to see if it needs to be renewed. If it does, it will renew the cert, then reload openhttpd to use it.%0a +host:1614254423=198.251.81.119 +author:1614254344=jrmu +diff:1614254344:1614248928:=262,277d261%0a%3c %0a%3c !! Automation%0a%3c %0a%3c ACME TLS certs expire after 90 days. So, you must remember to request the TLS cert or TLS will stop working. To avoid forgetting, we can automate the request process using [[crontab/configure|crontab]].%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c Add this line at the bottom:%0a%3c %0a%3c [@%0a%3c ~ * * * * acme-client example.com && rcctl reload httpd%0a%3c @]%0a%3c %0a%3c This cronjob will check the certificate once a day to see if it needs to be renewed. If it does, it will renew the cert, then reload openhttpd to use it.%0a +host:1614254344=198.251.81.119 +author:1614248928=jrmu +diff:1614248928:1614248764:=265,268c265,267%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || [[openhttpd/configure|Configure OpenHTTPd]] || Configure HTTPd ||%0a%3c || [[telnet/http|Telnet HTTP]] || Use Telnet to Troubleshoot HTTP ||%0a%3c || [[openssl/http|OpenSSL HTTP]] || Use OpenSSL to Troubleshoot HTTPS ||%0a---%0a> [[openhttpd/configure|Configure OpenHTTPd]]%0a> [[telnet/HTTP|Telnet HTTP]]%0a> [[openssl/HTTP|OpenSSL HTTP]]%0a +host:1614248928=198.251.81.119 +author:1614248764=jrmu +diff:1614248764:1614248201:=247,252d246%0a%3c Again, you must replace @@example.com@@ with your actual domain. Then:%0a%3c %0a%3c [@%0a%3c $ doas acme-client -Fv example.com%0a%3c @]%0a%3c %0a261,267c255%0a%3c @]%0a%3c %0a%3c See Also:%0a%3c %0a%3c [[openhttpd/configure|Configure OpenHTTPd]]%0a%3c [[telnet/HTTP|Telnet HTTP]]%0a%3c [[openssl/HTTP|OpenSSL HTTP]]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1614248764=198.251.81.119 +author:1614248201=jrmu +diff:1614248201:1614247880:=231,245d230%0a%3c %0a%3c !!! Domain Not Listed%0a%3c %0a%3c If you add a new alternative name inside your domain block in [[https://man.openbsd.org/acme-client.conf|/etc/acme-client.conf]], you will see this error:%0a%3c %0a%3c [@%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: domain not listed: new.example.com%0a%3c @]%0a%3c %0a%3c Here, @@new.example.com@@ was a new alternative name I added. The solution is to move your old public cert and private key to a new location, then request the cert again:%0a%3c %0a%3c [@%0a%3c $ doas mv /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.fullchain.pem.bak%0a%3c $ doas mv /etc/ssl/private/example.com.key /etc/ssl/private/example.com.key.bak%0a%3c @]%0a +host:1614248201=198.251.81.119 +author:1614247880=jrmu +diff:1614247880:1614247705:=185,190c185,186%0a%3c The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on.%0a%3c %0a%3c '''Note''': You '''cannot''' request a domain you don't own! The domain must point to an IP you own.%0a%3c %0a%3c There are a few possible mistakes:%0a%3c %0a---%0a> The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on. There are a few possible mistakes:%0a> %0a240c236,241%0a%3c @]%0a\ No newline at end of file%0a---%0a> @]%0a> %0a> !! Common errors%0a> %0a> # Do not request domains you don't own%0a> # If you change the domains, you need to move the cert and request again%0a\ No newline at end of file%0a +host:1614247880=198.251.81.119 +author:1614247705=jrmu +diff:1614247705:1614247508:= +host:1614247705=198.251.81.119 +author:1614247508=jrmu +diff:1614247508:1614247487:= +host:1614247508=198.251.81.119 +author:1614247487=jrmu +diff:1614247487:1614245123:=134,135c134,135%0a%3c If there are no errors, you should see something similar to the following output:%0a%3c %0a---%0a> If all goes well, you should see something similar to the following output:%0a> %0a156,159c156%0a%3c Pay attention to the last line: it says that the public certificate was generated. If you see that, it's a success!%0a%3c %0a%3c You now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to):%0a%3c %0a---%0a> %0a161,163c158%0a%3c $ doas ls -l /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key%0a%3c -r--r--r-- 1 root wheel 4797 Feb 25 02:11 /etc/ssl/jrmu.coconut.ircnow.org.fullchain.pem%0a%3c -r-------- 1 root wheel 3272 Feb 25 02:10 /etc/ssl/private/jrmu.coconut.ircnow.org.key%0a---%0a> acme-client: /etc/ssl/example.com.fullchain.pem: created%0a164a160,174%0a> %0a> %0a> [@%0a> $ doas ls -l /etc/ssl/private%0a> -r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a> @]%0a> # A PEM certificate under /etc/ssl e.g.%0a> [@%0a> $ ls -l /etc/ssl/*.pem%0a> -r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a> @]%0a> %0a> It would have the following output of running acme-client, generating a certificate for example.com%0a> %0a> You should now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to).%0a +host:1614247487=198.251.81.119 +author:1614245123=jrmu +diff:1614245123:1614242993:=134,135c134,135%0a%3c If all goes well, you should see something similar to the following output:%0a%3c %0a---%0a> If all goes well, you should see the following line at the very bottom:%0a> %0a137,152d136%0a%3c $ doas acme-client -Fv example.com%0a%3c acme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0a%3c acme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0a%3c acme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/11133258838%0a%3c acme-client: challenge, token: uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A, status: 0%0a%3c acme-client: /var/www/acme/uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs: created%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A: challenge%0a%3c acme-client: order.status 0%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/11133258838%0a%3c acme-client: challenge, token: uWHZmqhx6NEpcv25LEvodMAeymB1guTFVtyktVzkJgs, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/11133258838/_UI3-A, status: 2%0a%3c acme-client: order.status 1%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/113861127/8112730231: certificate%0a%3c acme-client: order.status 3%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/cert/03f7fd846802cb0689c2bbd7b6f5e89eb66b: certificate%0a156c140,149%0a%3c %0a---%0a> You should now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to).%0a> %0a> !! Troubleshooting%0a> %0a> If acme-client fails, there are several possible causes:%0a> %0a> !!! Missing Domain Records%0a> %0a> It's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a> %0a158c151%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: created%0a---%0a> $ host example.com%0a161c154,155%0a%3c %0a---%0a> You should see one or two records like the following:%0a> %0a163,164c157,158%0a%3c $ doas ls -l /etc/ssl/private%0a%3c -r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a---%0a> example.com has address 93.184.216.34%0a> example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a166c160,168%0a%3c # A PEM certificate under /etc/ssl e.g.%0a---%0a> %0a> The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on. There are a few possible mistakes:%0a> %0a> # Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a> # You have the wrong IP addresses.%0a> # DNS records are missing.%0a> %0a> If you have missing records, you will see this response:%0a> %0a168,169c170%0a%3c $ ls -l /etc/ssl/*.pem%0a%3c -r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a---%0a> Host example.com not found: 3(NXDOMAIN)%0a172,183c173,180%0a%3c It would have the following output of running acme-client, generating a certificate for example.com%0a%3c %0a%3c You should now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to).%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If acme-client fails, there are several possible causes:%0a%3c %0a%3c !!! Missing Domain Records%0a%3c %0a%3c It's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a%3c %0a---%0a> You will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a> %0a> !!! OpenHTTPd Misconfigured%0a> %0a> acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a> %0a> To test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain):%0a> %0a185c182,184%0a%3c $ host example.com%0a---%0a> $ telnet example.com 80%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a188,189c187,188%0a%3c You should see one or two records like the following:%0a%3c %0a---%0a> You should a response similar to the one below:%0a> %0a191,192c190,197%0a%3c example.com has address 93.184.216.34%0a%3c example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a---%0a> HTTP/1.0 302 Found%0a> Date: Tue, 23 Feb 2021 14:01:28 GMT%0a> OpenBSD httpd%0a> Connection: close%0a> Content-Type: text/html%0a> Content-Length: 486%0a> Location: https://example.com/index.html%0a> ...%0a195,202c200,205%0a%3c The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on. There are a few possible mistakes:%0a%3c %0a%3c # Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a%3c # You have the wrong IP addresses.%0a%3c # DNS records are missing.%0a%3c %0a%3c If you have missing records, you will see this response:%0a%3c %0a---%0a> If you do not get this response, double check your openhttpd configuration.%0a> %0a> '''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests to port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a> %0a> # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a> %0a204c207,218%0a%3c Host example.com not found: 3(NXDOMAIN)%0a---%0a> $ ls -l /var | grep www%0a> drwxr-xr-x 11 root daemon 512 Mar 28 05:28 www%0a> $ ls -l /var/www%0a> total 36%0a> drwxr-xr-x 2 root daemon 512 Mar 28 22:16 acme%0a> drwxr-xr-x 2 root daemon 512 Mar 14 06:12 bin%0a> drwx-----T 2 www daemon 512 Oct 12 12:34 cache%0a> drwxr-xr-x 2 root daemon 512 Mar 14 06:12 cgi-bin%0a> drwxr-xr-x 2 root daemon 512 Mar 14 06:03 conf%0a> drwxr-xr-x 3 root daemon 512 Oct 12 12:34 htdocs%0a> drwxr-xr-x 2 root daemon 512 Mar 29 00:00 logs%0a> drwxr-xr-x 2 root daemon 512 Oct 12 12:34 run%0a206,214c220,224%0a%3c %0a%3c You will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a%3c %0a%3c !!! OpenHTTPd Misconfigured%0a%3c %0a%3c acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a%3c %0a%3c To test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain):%0a%3c %0a---%0a> # Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a> %0a> !! Successful outcomes%0a> A successful outcome would result in:%0a> # A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a216,218c226,227%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a---%0a> $ doas ls -l /etc/ssl/private%0a> -r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a220,222c229%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a---%0a> # A PEM certificate under /etc/ssl e.g.%0a224,231c231,232%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://example.com/index.html%0a%3c ...%0a---%0a> $ ls -l /etc/ssl/*.pem%0a> -r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a234,241c235,236%0a%3c If you do not get this response, double check your openhttpd configuration.%0a%3c %0a%3c '''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests for port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a%3c %0a%3c !!! Incorrect File Permissions%0a%3c %0a%3c Double check the file permissions for /var/www and /var/www/acme:%0a%3c %0a---%0a> It would have the following output of running acme-client, generating a certificate for example.com%0a> %0a243,245c238,263%0a%3c $ ls -ld /var/www /var/www/acme%0a%3c drwxr-xr-x 10 root daemon 512 Oct 5 07:47 /var/www%0a%3c drwxr-xr-x 2 root daemon 512 Oct 5 07:47 /var/www/acme%0a---%0a> acme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0a> acme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0a> acme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0a> acme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 0%0a> acme-client: /var/www/acme/mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL: created%0a> acme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ: challenge%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: order.status 0%0a> acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 2%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: order.status 1%0a> acme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/81817869/2815341474: certificate%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: order.status 3%0a> acme-client: https://acme-v02.api.letsencrypt.org/acme/cert/vxsJMODZOeZxwiuyq9Bz6jqgoRRRUak8ZQ3ob: certificate%0a> acme-client: 172.65.32.248: tls_close: EOF without close notify%0a> acme-client: /etc/ssl/example.com.fullchain.pem: created%0a +host:1614245123=198.251.81.119 +author:1614242993=jrmu +diff:1614242993:1614242757:=177,203c177,181%0a%3c acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If [[openhttpd/configure|openhttpd]] is not configured and running properly, acme-client won't work.%0a%3c %0a%3c To test if your web server is running properly, use [[telnet/http|telnet]] (replacing @@example.com@@ with your domain):%0a%3c %0a%3c [@%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a%3c @]%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c [@%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://example.com/index.html%0a%3c ...%0a%3c @]%0a%3c %0a%3c If you do not get this response, double check your openhttpd configuration.%0a%3c %0a%3c '''Note''': Using the telnet command above is more reliable than visiting the URL in a web browser. By default, httpd.conf (and most web browsers) will forward all requests to port 80 to port 443. As a result, your web browser will see what is listening on port 443, but the certificate authority will test port 80 only.%0a%3c %0a---%0a> acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If openhttpd is not configured and running properly, acme-client won't work.%0a> %0a> You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a> # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a> %0a +host:1614242993=198.251.81.119 +author:1614242757=jrmu +diff:1614242757:1614242252:=175,179c175%0a%3c !!! OpenHTTPd Misconfigured%0a%3c %0a%3c acme-client uses the "http-01" challenge. A file is created with a special message in @@/var/www/acme/@@, and the certificate authority requests that file using the URL @@http://example.com/.well-known/acme-challenge/*@@. If openhttpd is not configured and running properly, acme-client won't work.%0a%3c %0a%3c You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a---%0a> # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a +host:1614242757=198.251.81.119 +author:1614242252=jrmu +diff:1614242252:1614242101:=164,174c164,171%0a%3c # You have the wrong IP addresses.%0a%3c # DNS records are missing.%0a%3c %0a%3c If you have missing records, you will see this response:%0a%3c %0a%3c [@%0a%3c Host example.com not found: 3(NXDOMAIN)%0a%3c @]%0a%3c %0a%3c You will either need to speak with your DNS provider or you will need to troubleshoot [[nsd/troubleshoot|nsd]].%0a%3c %0a---%0a> # %0a> %0a> %0a> Host blahblah.coconut.ircnow.org not found: 3(NXDOMAIN)%0a> %0a> If you %0a> %0a> [[nsd|DNS]] is configured properly%0a +host:1614242252=198.251.81.119 +author:1614242101=jrmu +diff:1614242101:1614241008:=144,173c144,149%0a%3c If acme-client fails, there are several possible causes:%0a%3c %0a%3c !!! Missing Domain Records%0a%3c %0a%3c It's possible that your domain records are missing. Run this command, replacing @@example.com@@ with your real hostname:%0a%3c %0a%3c [@%0a%3c $ host example.com%0a%3c @]%0a%3c %0a%3c You should see one or two records like the following:%0a%3c %0a%3c [@%0a%3c example.com has address 93.184.216.34%0a%3c example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946%0a%3c @]%0a%3c %0a%3c The IPv4 and IPv6 address must exactly match the IPs that [[openhttpd/configure|OpenHTTPd]] is listening on. There are a few possible mistakes:%0a%3c %0a%3c # Your web server is listening only one IPv4 but your DNS record includes IPv6; or vice versa.%0a%3c # %0a%3c %0a%3c %0a%3c Host blahblah.coconut.ircnow.org not found: 3(NXDOMAIN)%0a%3c %0a%3c If you %0a%3c %0a%3c [[nsd|DNS]] is configured properly%0a%3c # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a%3c # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a---%0a> If you run into errors, check to make sure:%0a> %0a> # [[nsd|DNS]] is configured properly. %0a> # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a> # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a> %0a +host:1614242101=198.251.81.119 +author:1614241008=jrmu +diff:1614241008:1614240851:=134,141d133%0a%3c If all goes well, you should see the following line at the very bottom:%0a%3c %0a%3c [@%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: created%0a%3c @]%0a%3c %0a%3c You should now have two certificates, the public key inside @@/etc/ssl/example.com.fullchain.pem@@, and the private key inside @@/etc/ssl/private/example.com.key@@ (or wherever you changed the path to).%0a%3c %0a143d134%0a%3c %0a +host:1614241008=198.251.81.119 +author:1614240851=jrmu +diff:1614240851:1614240518:=113,114c113,114%0a%3c If you want to sign with buypass, test a staging certificate (to avoid using up your rate-limit), or switch to another authority, then edit this line:%0a%3c %0a---%0a> If you want to sign with buypass or another authority instead of Let's Encrypt, then edit this line:%0a> %0a119,124c119%0a%3c Change it to match one of your defined authorities. For example:%0a%3c %0a%3c # To test with letsencrypt-staging, replace it with @@sign with letsencrypt-staging@@.%0a%3c # To sign with buypass, replace it with @@sign with buypass@@.%0a%3c %0a%3c '''Note''': staging certificates are not recognized by most browsers and will be rejected as an invalid certificate. After you finish testing with a staging certificate, you will want to get a properly signed one.%0a---%0a> Change it to match one of your defined authorities.%0a +host:1614240851=198.251.81.119 +author:1614240518=jrmu +diff:1614240518:1614239909:=43,44d42%0a%3c To both of these blocks, we will want to add our contact email, so we add @@contact "mailto:me@example.com"@@ inside both blocks:%0a%3c %0a46,49c44,48%0a%3c authority letsencrypt {%0a%3c api url "https://acme-v02.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-privkey.pem"%0a%3c contact "mailto:me@example.com"%0a---%0a> domain example.com {%0a> alternative names { secure.example.com }%0a> domain key "/etc/ssl/private/example.com.key"%0a> domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a> sign with letsencrypt%0a51,56d49%0a%3c %0a%3c authority letsencrypt-staging {%0a%3c api url "https://acme-staging-v02.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a%3c contact "mailto:me@example.com"%0a%3c }%0a59,60c52,59%0a%3c Next, the default [[https://man.openbsd.org/acme-client.conf|acme-client.conf]] defines two more authorities:%0a%3c %0a---%0a> This configures acme-client for the domain example.com. You'll want to replace every appearance of @@example.com@@ with your own domain, which might look like @@username.fruit.ircnow.org@@.%0a> %0a> Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@example.ircnow.org@@ and the alternative names @@fruit.ircnow.org@@ and @@vegetable.ircnow.org@@.%0a> %0a> If you use too many alternative names, an acme-client certificate request has a higher chance of failure. So, I recommend keeping the number of alternative names to under 5.%0a> %0a> '''Warning''': Having the @@alternative names@@ directive with nothing inside will cause errors. The below will cause errors:%0a> %0a62,72c61%0a%3c authority buypass {%0a%3c api url "https://api.buypass.com/acme/directory"%0a%3c account key "/etc/acme/buypass-privkey.pem"%0a%3c contact "mailto:me@example.com"%0a%3c }%0a%3c %0a%3c authority buypass-test {%0a%3c api url "https://api.test4.buypass.no/acme/directory"%0a%3c account key "/etc/acme/buypass-test-privkey.pem"%0a%3c contact "mailto:me@example.com"%0a%3c }%0a---%0a> alternative names { }%0a75,76c64,65%0a%3c These two blocks are the same as for letsencrypt, but with the alternative provider [[https://buypass.com/|buypass]]. Make sure to replace the contact email with your own email.%0a%3c %0a---%0a> If you don't need any alternative names, you should comment this line out by putting a # at the beginning of the line, like so:%0a> %0a78,83c67%0a%3c domain example.com {%0a%3c alternative names { secure.example.com }%0a%3c domain key "/etc/ssl/private/example.com.key"%0a%3c domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c sign with letsencrypt%0a%3c }%0a---%0a> # alternative names { }%0a86,93c70,71%0a%3c This configures acme-client for the domain example.com. You'll want to replace every appearance of @@example.com@@ with your own domain, which might look like @@username.fruit.ircnow.org@@.%0a%3c %0a%3c Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@example.ircnow.org@@ and the alternative names @@fruit.ircnow.org@@ and @@vegetable.ircnow.org@@.%0a%3c %0a%3c If you use too many alternative names, an acme-client certificate request has a higher chance of failure. So, I recommend keeping the number of alternative names to under 5.%0a%3c %0a%3c '''Warning''': Having the @@alternative names@@ directive with nothing inside will cause errors. The below will cause errors:%0a%3c %0a---%0a> The @@domain key@@ and @@domain full chain certificate@@ tell acme-client where to put the private key and certificate:%0a> %0a95c73,74%0a%3c alternative names { }%0a---%0a> domain key "/etc/ssl/private/example.com.key"%0a> domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a98,123c77,80%0a%3c If you don't need any alternative names, you should comment this line out by putting a # at the beginning of the line, like so:%0a%3c %0a%3c [@%0a%3c # alternative names { }%0a%3c @]%0a%3c %0a%3c The @@domain key@@ and @@domain full chain certificate@@ tell acme-client where to put the private key and certificate:%0a%3c %0a%3c [@%0a%3c domain key "/etc/ssl/private/example.com.key"%0a%3c domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c @]%0a%3c %0a%3c You will want to replace @@example.com@@ with your real domain. The public key should go inside @@/etc/ssl@@ and the private key should go inside @@/etc/ssl/private@@.%0a%3c %0a%3c If you want to sign with buypass or another authority instead of Let's Encrypt, then edit this line:%0a%3c %0a%3c [@%0a%3c sign with letsencrypt%0a%3c @]%0a%3c %0a%3c Change it to match one of your defined authorities.%0a%3c %0a%3c !! Requesting Certificates%0a%3c %0a%3c After you have finished configuring the conf file, we can request certificates:%0a---%0a> You will want to replace @@example.com@@ with your real domain. The public key should go inside @@/etc/ssl@@ and the private key should go inside @@/etc/ssl/private@@.%0a> %0a> Now, run acme-client:%0a> %0a +host:1614240518=198.251.81.119 +author:1614239909=jrmu +diff:1614239909:1614239863:=9c9%0a%3c Note: You must have a server block in [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]] listening on port 80. Do not delete this block or else acme-client will not work.%0a---%0a> Note: You must have a server block listening on port 80. Do not delete this block or else acme-client will not work.%0a +host:1614239909=198.251.81.119 +author:1614239863=jrmu +diff:1614239863:1614239297:=7c7%0a%3c Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS records]] for your hostname, which might look like @@username.fruit.ircnow.org@@.%0a---%0a> Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS record]], such as @@username.fruit.ircnow.org@@.%0a +host:1614239863=198.251.81.119 +author:1614239297=jrmu +diff:1614239297:1614238842:=54,59c54,57%0a%3c Each SSL cert is valid only for a '''common name''' and a set of '''alternative names''' that are provided on the certificate. For example, an SSL certificate might have the common name @@example.ircnow.org@@ and the alternative names @@fruit.ircnow.org@@ and @@vegetable.ircnow.org@@.%0a%3c %0a%3c If you use too many alternative names, an acme-client certificate request has a higher chance of failure. So, I recommend keeping the number of alternative names to under 5.%0a%3c %0a%3c '''Warning''': Having the @@alternative names@@ directive with nothing inside will cause errors. The below will cause errors:%0a%3c %0a---%0a> SSL certs%0a> %0a> Replace example.com with your domain. If you didn't use any alternative names, in the past, having:%0a> %0a64,65c62,63%0a%3c If you don't need any alternative names, you should comment this line out by putting a # at the beginning of the line, like so:%0a%3c %0a---%0a> would cause issues. So, if you have no alternative names, I recommend you comment that line out as follows:%0a> %0a67c65%0a%3c # alternative names { }%0a---%0a> # alternative names { secure.example.com }%0a69,77d66%0a%3c %0a%3c The @@domain key@@ and @@domain full chain certificate@@ tell acme-client where to put the private key and certificate:%0a%3c %0a%3c [@%0a%3c domain key "/etc/ssl/private/example.com.key"%0a%3c domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c @]%0a%3c %0a%3c You will want to replace @@example.com@@ with your real domain. The public key should go inside @@/etc/ssl@@ and the private key should go inside @@/etc/ssl/private@@.%0a +host:1614239297=198.251.81.119 +author:1614238842=jrmu +diff:1614238842:1614238762:=51,54d50%0a%3c %0a%3c This configures acme-client for the domain example.com. You'll want to replace every appearance of @@example.com@@ with your own domain, which might look like @@username.fruit.ircnow.org@@.%0a%3c %0a%3c SSL certs%0a +host:1614238842=198.251.81.119 +author:1614238762=jrmu +diff:1614238762:1614238543:=30,33c30,33%0a%3c '''Note''': Let's Encrypt [[https://letsencrypt.org/docs/rate-limits/|rate-limits]] the number of SSL certs you can request. If you encounter an error and are unable to request an SSL cert, please fix all errors before requesting again. If you request too many certs in a short time, your domain will get blacklisted for a few hours or days.%0a%3c %0a%3c Although we are using Let's Encrypt for this tutorial, it is important to note that Let's Encrypt currently has a monopoly on free SSL certs. For this reason, IRCNow wants to run its own Certificate Authority in case Let's Encrypt should try to censor our domains.%0a%3c %0a---%0a> '''Note''': Let's Encrypt rate-limits the number of SSL certs you can request.%0a> %0a> Although we are using Let's Encrypt for this tutorial, it is important to note that Let's Encrypt currently has a monopoly on free SSL certs. For this reason, IRCNow is considering running its own Certificate Authority in case Let's Encrypt should try to censor our domains.%0a> %0a41c41%0a%3c letsencrypt-staging is a staging server which you can use to practice requesting fake certificates. The rate limits for the staging server are less strict, so you should practice first with this CA.%0a---%0a> letsencrypt-staging is a staging server which you can use to practice requesting fake certificates.%0a +host:1614238762=198.251.81.119 +author:1614238543=jrmu +diff:1614238543:1614238364:=30,33d29%0a%3c '''Note''': Let's Encrypt rate-limits the number of SSL certs you can request.%0a%3c %0a%3c Although we are using Let's Encrypt for this tutorial, it is important to note that Let's Encrypt currently has a monopoly on free SSL certs. For this reason, IRCNow is considering running its own Certificate Authority in case Let's Encrypt should try to censor our domains.%0a%3c %0a39,43c35%0a%3c @]%0a%3c %0a%3c letsencrypt-staging is a staging server which you can use to practice requesting fake certificates.%0a%3c %0a%3c [@%0a---%0a> %0a +host:1614238543=198.251.81.119 +author:1614238364=jrmu +diff:1614238364:1614237906:=19,20d18%0a%3c We'll open up /etc/acme-client.conf and analyze the meaning of each block:%0a%3c %0a26,30c24%0a%3c @]%0a%3c %0a%3c This defines the Certificate Authority [[https://letsencrypt.org/|letsencrypt]]. It provides the API URL and the location of the account key.%0a%3c %0a%3c [@%0a---%0a> %0a +host:1614238364=198.251.81.119 +author:1614237906=jrmu +diff:1614237906:1614237321:=1,4c1,4%0a%3c (:title Configuring Acme-client:)%0a%3c %0a%3c To enable TLS, you will want a certificate signed by a trusted certificate authority (CA). In this guide, we'll use OpenBSD's [[https://man.openbsd.org/acme-client|acme-client]] with Let's Encrypt.%0a%3c %0a---%0a> (:title Configuring Acme-client)%0a> %0a> To have TLS, you will want a certificate signed by a trusted certificate authority (CA). In this guide, we'll use OpenBSD's [[https://man.openbsd.org/acme-client|acme-client]] with Let's Encrypt.%0a> %0a13c13%0a%3c First, copy the [[https://man.openbsd.org/acme-client.conf|acme-client.conf]] template:%0a---%0a> First, copy the /etc/examples/acme-client.conf template:%0a +host:1614237906=198.251.81.119 +author:1614237321=jrmu +diff:1614237321:1614236903:=11c11%0a%3c !! Configuration%0a---%0a> %0a +host:1614237321=198.251.81.119 +author:1614236903=jrmu +diff:1614236903:1614236691:=7,8c7,8%0a%3c Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning [[dns/overview|DNS record]], such as @@username.fruit.ircnow.org@@.%0a%3c %0a---%0a> Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning hostname%0a> %0a11c11%0a%3c %0a---%0a> %0a +host:1614236903=198.251.81.119 +author:1614236691=jrmu +diff:1614236691:1614236390:= +host:1614236691=198.251.81.119 +author:1614236390=jrmu +diff:1614236390:1614076701:=1,11c1,4%0a%3c (:title Configuring Acme-client)%0a%3c %0a%3c To have TLS, you will want a certificate signed by a trusted certificate authority (CA). In this guide, we'll use OpenBSD's [[https://man.openbsd.org/acme-client|acme-client]] with Let's Encrypt.%0a%3c %0a%3c !! Setting up OpenHTTPd%0a%3c %0a%3c Before you begin, you will need to properly configure and start [[openhttpd/configure|openhttpd]]. You will also need a properly functioning hostname%0a%3c %0a%3c Note: You must have a server block listening on port 80. Do not delete this block or else acme-client will not work.%0a%3c %0a%3c %0a---%0a> In order to provide proper TLS for your services, you will need a certificate signed by a trusted certificate authority (CA). The easiest option for now is to use the Let's Encrypt client by acme-client.%0a> %0a> !! Howto%0a> You will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[Openbsd/Openhttpd|here]] to find out how to set up openhttpd.%0a +host:1614236390=198.251.81.119 +author:1614076701=jrmu +diff:1614076701:1614076701:=1,119d0%0a%3c In order to provide proper TLS for your services, you will need a certificate signed by a trusted certificate authority (CA). The easiest option for now is to use the Let's Encrypt client by acme-client.%0a%3c %0a%3c !! Howto%0a%3c You will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[Openbsd/Openhttpd|here]] to find out how to set up openhttpd.%0a%3c %0a%3c First, copy the /etc/examples/acme-client.conf template:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/acme-client.conf /etc/acme-client.conf%0a%3c @]%0a%3c %0a%3c [@%0a%3c authority letsencrypt {%0a%3c api url "https://acme-v02.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-privkey.pem"%0a%3c }%0a%3c %0a%3c authority letsencrypt-staging {%0a%3c api url "https://acme-staging.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a%3c }%0a%3c %0a%3c domain example.com {%0a%3c alternative names { secure.example.com }%0a%3c domain key "/etc/ssl/private/example.com.key"%0a%3c domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c sign with letsencrypt%0a%3c }%0a%3c @]%0a%3c %0a%3c Replace example.com with your domain. If you didn't use any alternative names, in the past, having:%0a%3c %0a%3c [@%0a%3c alternative names { }%0a%3c @]%0a%3c %0a%3c would cause issues. So, if you have no alternative names, I recommend you comment that line out as follows:%0a%3c %0a%3c [@%0a%3c # alternative names { secure.example.com }%0a%3c @]%0a%3c %0a%3c Now, run acme-client:%0a%3c %0a%3c [@%0a%3c $ doas acme-client -Fv example.com%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c If you run into errors, check to make sure:%0a%3c %0a%3c # [[nsd|DNS]] is configured properly. %0a%3c # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a%3c # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a%3c %0a%3c [@%0a%3c $ ls -l /var | grep www%0a%3c drwxr-xr-x 11 root daemon 512 Mar 28 05:28 www%0a%3c $ ls -l /var/www%0a%3c total 36%0a%3c drwxr-xr-x 2 root daemon 512 Mar 28 22:16 acme%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:12 bin%0a%3c drwx-----T 2 www daemon 512 Oct 12 12:34 cache%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:12 cgi-bin%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:03 conf%0a%3c drwxr-xr-x 3 root daemon 512 Oct 12 12:34 htdocs%0a%3c drwxr-xr-x 2 root daemon 512 Mar 29 00:00 logs%0a%3c drwxr-xr-x 2 root daemon 512 Oct 12 12:34 run%0a%3c @]%0a%3c # Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a%3c %0a%3c !! Successful outcomes%0a%3c A successful outcome would result in:%0a%3c # A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a%3c [@%0a%3c $ doas ls -l /etc/ssl/private%0a%3c -r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a%3c @]%0a%3c # A PEM certificate under /etc/ssl e.g.%0a%3c [@%0a%3c $ ls -l /etc/ssl/*.pem%0a%3c -r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a%3c @]%0a%3c %0a%3c It would have the following output of running acme-client, generating a certificate for example.com%0a%3c %0a%3c [@%0a%3c acme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0a%3c acme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0a%3c acme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 0%0a%3c acme-client: /var/www/acme/mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL: created%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ: challenge%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 0%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 2%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 1%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/81817869/2815341474: certificate%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 3%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/cert/vxsJMODZOeZxwiuyq9Bz6jqgoRRRUak8ZQ3ob: certificate%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: created%0a%3c @]%0a%3c %0a%3c !! Common errors%0a%3c %0a%3c # Do not request domains you don't own%0a%3c # If you change the domains, you need to move the cert and request again%0a\ No newline at end of file%0a +host:1614076701=198.251.81.119 blob - /dev/null blob + e9ae7b2366086057c7c71d8cf277df0c41180cc7 (mode 644) --- /dev/null +++ wiki.d/Acme-client.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1614076701 +host=38.87.162.129 +name=Acme-client.RecentChanges +rev=47 +text=* [[Acme-client/Configure]] . . . November 14, 2021, at 04:33 PM by [[~theguest]]: [==]%0a +time=1636907615 blob - /dev/null blob + 8a9f26c1a46bc68262d43f0051caf25b226ee490 (mode 644) --- /dev/null +++ wiki.d/Adium.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637391251 +host=38.87.162.8 +name=Adium.Connect +rev=4 +targets=Xmpp.Xmpp +text=[[https://adium.im|Adium]] is a free instant messaging app for macOS that can connect to XMPP, IRC, and much more. It easily integrates with macOS' Contacts app, supports macOS Notification Center, OTR encryption, file transfer, and has been translated into 27 different languages.%0a%0a# Open Adium.%0a# Click @@Continue@@:\\%0aAttach:adium-welcome.png%0a# Setup Assistant:%0a # For Service, select XMPP (Jabber)%0a # For Jabber ID, pick @@username@example.com@@. Replace example.com with one of [[xmpp/xmpp|IRCNow's free servers]].%0a # Pick a hard to guess password.%0a # Click @@Continue@@.\\%0aAttach:adium-assistant.png%0a# Click @@Done@@:\\%0aAttach:adium-congrats.png%0a# From the menu bar, select @@File@@->@@Add Account@@->@@XMPP (Jabber)@@:\\%0aAttach:adium-menu.png%0a# Fill in JabberID and Password, then click @@Register New Account@@:\\%0aAttach:adium-editaccount.png%0a# If you see an error message, click @@OK@@:\\%0aAttach:adium-zerobyte.png%0a# Fill in your [[xmpp/xmpp|server]], then click @@Request New Account@@:\\%0aAttach:adium-server.png%0a# Fill in your username (don't type the domain) and password.\\%0aAttach:adium-createnewaccount.png%0a# Click @@OK@@.\\%0aAttach:adium-registrationsuccessful.png%0a# To log in, click on the @@Offline@@ status and select @@Available@@:%0aAttach:adium-available.png%0a +time=1637393544 +author:1637393544=jrmu +diff:1637393544:1637393119:=25,27c25%0a%3c Attach:adium-registrationsuccessful.png%0a%3c # To log in, click on the @@Offline@@ status and select @@Available@@:%0a%3c Attach:adium-available.png%0a---%0a> Attach:registrationsuccessful.png%0a +host:1637393544=38.87.162.8 +author:1637393119=jrmu +diff:1637393119:1637391803:=22c22%0a%3c # Fill in your username (don't type the domain) and password.\\%0a---%0a> # Fill in your username (don't type the domain) and password.%0a24c24%0a%3c # Click @@OK@@.\\%0a---%0a> # Click @@OK@@.%0a +host:1637393119=38.87.162.8 +author:1637391803=jrmu +diff:1637391803:1637391251:=3,10c3%0a%3c # Open Adium.%0a%3c # Click @@Continue@@:\\%0a%3c Attach:adium-welcome.png%0a%3c # Setup Assistant:%0a%3c # For Service, select XMPP (Jabber)%0a%3c # For Jabber ID, pick @@username@example.com@@. Replace example.com with one of [[xmpp/xmpp|IRCNow's free servers]].%0a%3c # Pick a hard to guess password.%0a%3c # Click @@Continue@@.\\%0a---%0a> Attach:adium-welcome.png\\%0a12c5,6%0a%3c # Click @@Done@@:\\%0a---%0a> # Open Conversations.%0a> # Tap @@Create new account@@:\\%0a14c8%0a%3c # From the menu bar, select @@File@@->@@Add Account@@->@@XMPP (Jabber)@@:\\%0a---%0a> # Tap @@Use my own provider@@:\\%0a16c10%0a%3c # Fill in JabberID and Password, then click @@Register New Account@@:\\%0a---%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a18c12%0a%3c # If you see an error message, click @@OK@@:\\%0a---%0a> # You can tap the avatar, or tap @@Skip@@.\\%0a20c14%0a%3c # Fill in your [[xmpp/xmpp|server]], then click @@Request New Account@@:\\%0a---%0a> # Your account has been created!\\%0a22d15%0a%3c # Fill in your username (don't type the domain) and password.%0a24d16%0a%3c # Click @@OK@@.%0a +host:1637391803=38.87.162.8 +author:1637391251=jrmu +diff:1637391251:1637391251:=1,17d0%0a%3c [[https://adium.im|Adium]] is a free instant messaging app for macOS that can connect to XMPP, IRC, and much more. It easily integrates with macOS' Contacts app, supports macOS Notification Center, OTR encryption, file transfer, and has been translated into 27 different languages.%0a%3c %0a%3c Attach:adium-welcome.png\\%0a%3c Attach:adium-assistant.png%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a%3c Attach:adium-congrats.png%0a%3c # Tap @@Use my own provider@@:\\%0a%3c Attach:adium-menu.png%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a%3c Attach:adium-editaccount.png%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a%3c Attach:adium-zerobyte.png%0a%3c # Your account has been created!\\%0a%3c Attach:adium-server.png%0a%3c Attach:adium-createnewaccount.png%0a%3c Attach:registrationsuccessful.png%0a +host:1637391251=38.87.162.8 blob - /dev/null blob + 4967c77567ee994e91a6a9e6de484d8bd0c2f242 (mode 644) --- /dev/null +++ wiki.d/Adium.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637391251 +host=38.87.162.8 +name=Adium.RecentChanges +rev=4 +text=* [[Adium/Connect]] . . . November 20, 2021, at 07:32 AM by [[~jrmu]]: [==]%0a +time=1637393544 blob - /dev/null blob + 2363b6307a36d6b1f34be086f8efbba4258f9861 (mode 644) --- /dev/null +++ wiki.d/Almanack.Almanack @@ -0,0 +1,961 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614490687 +host=198.251.82.194 +name=Almanack.Almanack +rev=316 +targets=CodeForce.Bootcamp,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Minutemin.Questions,Minutemin.Progress,Medals.Intro,Openbsd.Team,Openbsd.Stable,Openbsd.Testing,Servers.Rights,Openbsd.Announce,Congress.Procedure,Congress.Documents,Ircnow.Milestones,CodeForce.Deploy,Abuse.Code,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,Openbsd.Intro,Vmm.Configure,Vmm.Install,Vmctl.Usage,Openbsd.Vmmlinux,Vmm.DebianIso,Vmm.DebianInstall,Vmm.Debian,Vmm.Optimize,Vmm.Ubuntu,Openbsd.Buyvm,Vmm.DevuanIso,Vmm.Devuan-ISO,Vmm.Plan9,Vmm.Router,Vmm.Homerouter,Openbsd.BBB,Openbsd.Upgrade67,Openbsd.Upgrade68,Openbsd.Upgrade69,Openbsd.Sysupgrade68,Openbsd.Sysupgrade69,Openbsd.Install67,Openbsd.Install68,Openbsd.Install69,Openbsd.Install70,Openbsd.Bsdrd,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,Openbsd.Anycast,Hostnameif.Static,Ifconfig.Change,IP.Myaddress,Almanack.Ifconfig,Almanack.Route,Dhcpd.Configure,Openbsd.Npppd,Openbsd.Pppoe,Openbsd.Ntpd,Openbsd.Pf,Pf.Guide,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Pfbadhost,Openbsd.Ddos,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Openbsd.Ping,Netcat.Usage,Openbsd.Tcpdump,Netcat.Irc,Netcat.Http,Netcat.SMTP,Telnet.Http,Openssl.Http,Openssl.Imap,Openssl.Smtp,Openssl.Check,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,Openbsd.Delphinusdnsd,DNS.Mail,DNS.SPF,DNS.DKIM,DNS.DMARC,DNS.Ipv6rDNS,DNS.Ipv4rDNS,Openbsd.Unbound,Host.Usage,Dig.Usage,Openbsd.Unboundadblock,Openbsd.Dnsbl,Rbldnsd.Install,Gpg.Verify,Openbsd.Iked,Iked.Configure,Vpn.Vpn,Iked.Newconfig,Tor.Torsocks,Tor.Hidden,Tor.Irc,Tls.Overview,Tls.Intro,Tls.CA,Acme-client.Configure,Relayd.Acceleration,Relayd.TLSMulti,Letsencrypt.Expired,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.Guide,Cvs.Repo,Paster.Install,Fiche.Install,Openbsd.Www,Openhttpd.Configure,Openhttpd.Hosting,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Openhttpd.Tls,Openbsd.Dokuwiki,Openbsd.Pmwiki,Pmwiki.Simpleurl,Squirrelmail.Install,Wordpress.Install,Roundcube.Install,Openbsd.Oscommerce,Openbsd.Cumulusclips,Openbsd.Fluxbb,Openbsd.Question2answer,Openbsd.H5ai,Openbsd.Easyapp,Openbsd.Manna,NodeJS.Install,Openbsd.Cgit,Got.Repo,Gotweb.Install,Got.Usage,Got.Server,Got.Mirror,Mariadb.Install,Irc.Guide,Irc.Chanop,Ngircd.Oper,Irc.Services,Irc.Clients,HostServ.Rules,Unrealircd.Install,Znc.Install,Znc.Chroot,ZNC.Admin,ZNC.Support,Openbsd.ZNCModules,Znc.Usage,Znc.Relayd,Znc.I18n,ZNC.Troubleshoot,Znc.Debug,Openbsd.Psybnc,Openbsd.Ilines,Openbsd.Identd,Oidentd.Install,Oidentd.ZNC,Openbsd.Ii,Openbsd.Sic,Ngircd.Install,Ngircd.Link,Ngircd.Ssl,Openbsd.NgircdLink,Hopm.Install,Openbsd.Acopm,Hopm.Telnet,Achurch.Install,Anope.Install,Pylink.Install,Pylink.Chroot,Bitlbee.Install,Openbsd.Matterbridge,Eggdrop191.Install,Openbsd.Tcltls,Eggdrop184.Install,Eggdrop.Nickserv,Wraith.Chroot,Openbsd.Biblebot,Openbsd.Botnow,Openbsd.Censord,Openbsd.Ircrelayd,Openbsd.CPAN,Unix101.Unix101,Unix101.Wechall,Opensmtpd.Configure,Openbsd.Opensmtpd-relay,Openbsd.Opensmtpd-2,Openbsd.Mailopenproxy,Opensmtpd.Troubleshoot,Opensmtpd.Openrelay,Openbsd.Dmarc,Openbsd.Spf,Openbsd.Dkim,Opensmtpd.Test,Spamd.Configure,Dovecot.Install,Mlmmj.Install,Openbsd.Alpine,Openbsd.Mutt,Openbsd.Fdm,Openbsd.Newdisk,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Pkg,Openbsd.Ports,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.Vi,Openbsd.Mg,Openbsd.Base64,Openbsd.Uim,Crontab.Edit,Ps.Usage,Kill.Usage,Openbsd.Vipw,Tar.Usage,Openbsd.Rcctl,Openbsd.Syslogd,Ksh.Bash,Ksh.Redirection,Openbsd.Freeciv,Openbsd.Openttd,Openbsd.Minetest,Minetest.Addingarenas,Minetest.Serverlocations,Minetest.Texturestyle,Minetest.Updating,Minetest.Worldbackup,Texlive.Install,Texlive.Sinhala,Openbsd.Asterisk,Openbsd.Ffmpeg,Leafnode.Install,Webnews.Install,Gazette.Gazette,Openbsd.INN,Openbsd.Gopher,Openbsd.Gophernicus,Openbsd.Geomyidae,Bucky.Install,Prosody.Install,Biboumi.Install,Gomuks.Install,Openbsd.Misc,Hosting.Hosting,Hosting.Providers,Openbsd.Vmm,Openbsd.Security,Chroot.Intro,Password.Management,MITM.Intro,Openbsd.Phishing,Openbsd.Dos,Openbsd.Spam,Openbsd.0days,Openbsd.Rootkits,Openbsd.Pledge,Openbsd.Unveil,Openbsd.Databaseperms,Openbsd.Secureweb,Openbsd.Trust,Openbsd.Defaultdeny,Openbsd.Loginconf,Openbsd.Ids,Openbsd.Setuid,Openbsd.Sa,Openbsd.Edquota,Openbsd.Shell,Openbsd.Police,Openbsd.FilePermissions,Openbsd.Oath-toolkit,Sheriff.Intro,Xfce.Install,Fvwm.Configure,Xdefaults.Configure,TigerVNC.Install,TigerVNC.SSH,Fdroid.Install,9.9,9.Shell,9.Install,9.Partdisk,9.Plan9ini,9.Links,9.Shocase,9.Drawterm,9.JSDrawterm,9.101,9.Bootcamp,9.Sysupdate,9.Packages,Rio.Customize,9.Ssh,9.Netcat,9.9gridchan,9.Ideas,Unix.History,SIMH.Install,Openbsd.Dkimproxy,Openbsd.Opensmtpd,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!! Network News%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Training ||||||||||%0a|| [[CodeForce/Bootcamp|Code Force Bootcamp]] || [[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|| [[openbsd/team|Team]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] || [[openbsd/announce|Announcements]] ||%0a|| [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || [[ircnow/milestones|Milestones]] || || ||%0a|| [[CodeForce/Deploy|Deployment Procedure]] || || || || ||%0a|| [[abuse/code|Abuse Code]] || || || || ||%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]] || || ||%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]] || [[openbsd/vmmlinux|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/plan9|VMM Plan 9]] || || || ||%0a|| [[vmm/router|vmm router]] || [[vmm/homerouter|VMM home router]] || || ||%0a|| Bare Metal || Dell || Supermicro || [[openbsd/BBB|BeagleBone Black]] || ||%0a|| Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/upgrade69|OpenBSD 6.9 Upgrade]] || ||%0a|| Sysupgrade || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/sysupgrade69|OpenBSD 6.9 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/bsdrd|OpenBSD Ramdisk Install]] ||%0a|| || [[OpenBSD/ResetPassword]] || [[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]] || || || || ||%0a|| || [[openbsd/anycast|Anycast Addresses]] || || || ||%0a|| Configure || [[hostnameif/static|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] || || %0a|| [[ifconfig|ifconfig]] || [[route|route]] ||%0a|| || [[dhcpd/configure|dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%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|| [[openbsd/ddos|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]] || [[netcat/usage|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a|| || [[netcat/irc|netcat IRC]] || [[netcat/http|netcat HTTP]] || || ||%0a|| [[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]] || || || ||%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]] || || ||%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|| [[openbsd/unbound|unbound]] || [[host/usage|Using host]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a|| [[openbsd/dnsbl|DNS Blacklists]] || [[rbldnsd/install|rbldns]] || || || ||%0a%0a||! Cryptography ||||||||||%0a||! Signing ||||||||||%0a|| [[gpg/verify|Verify GPG signatures]] || netpgp || signify || || ||%0a||! VPNs ||||||||||%0a|| IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]]||%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]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || [[letsencrypt/expired|Let's Encrypt Expired Cert]] ||%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]] || ||%0a|| || [[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||! Coins ||||||||||%0a|| bitcoin || monero || || || ||%0a%0a||! Version Control ||||||||||%0a|| CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || || [[cvs/guide|CVS Guide]] ||%0a|| || [[cvs/repo|Create CVS Repos]] || || ||%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]] || || || || ||%0a|| Applications ||||||||||%0a|| PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[squirrelmail/install|SquirrelMail]] || [[wordpress/install|Wordpress]] ||%0a|| || [[roundcube/install|Install RoundCube]] || || || ||%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]] || ||%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||! 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]] || || || ||%0a|| [[HostServ/Rules|HostServ Rules]] || || || || ||%0a|| || [[unrealircd/install|unrealircd]] || || || ||%0a||! Bouncers ||||||||||%0a|| [[Znc/Install|Install znc (no chroot)]] || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a|| [[znc/usage|Using ZNC]] || [[znc/relayd|ZNC webpanel (relayd)]] ||%0a|| || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || [[znc/debug|Debugging ZNC]] ||%0a|| PsyBNC || [[openbsd/psybnc|psybnc]] || || || ||%0a|| BNCs || [[openbsd/ilines|ilines]] || || || ||%0a||! Ident ||||||||||%0a|| Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || ||%0a||! Clients ||||||||||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a||! Servers ||||||||||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a|| [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm]] ||%0a||! Services ||||||||||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a||! Relays ||||||||||%0a|| [[pylink/install|pylink]] || [[pylink/chroot|chroot pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a||! Bots ||||||||||%0a|| Eggdrop || [[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]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a%0a||! Languages ||||||||||%0a|| Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a|| Korn || [[unix101/unix101|unix101]] || [[unix101/wechall|unix101 challenge]] || || ||%0a|| C || || || || ||%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]] || || || || ||%0a|| [[opensmtpd/openrelay|Open Mail Relay]] ||%0a|| Spam || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a|| [[opensmtpd/test|Test opensmtpd]] || || || || ||%0a|| || [[spamd/configure|spamd]] || [[DNS/DKIM|DKIM]] || || ||%0a|| Mail || [[dovecot/install|dovecot]] || [[mlmmj/install|mlmmj]] || || ||%0a|| Clients || [[openbsd/alpine|alpine]] || [[openbsd/mutt|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]] || || ||%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/vi|vi]] || [[openbsd/mg|mg]] || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a|| [[crontab/edit|Editing crontab]] || [[ps/usage|ps process]] || [[kill/usage|Sending signals with kill]] || || ||%0a|| [[openbsd/vipw|vipw]] || [[tar/usage|tar usage]] ||%0a|| [[openbsd/rcctl|rcctl]] || [[openbsd/syslogd|syslogd]] ||%0a%0a||! Shell || ||%0a|| [[ksh/bash|ksh for bash users]] || [[ksh/redirection|Redirection with Pipes]] || || ||%0a%0a||! Games ||||||||||%0a|| Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || ||%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||! Telephony ||||||||||%0a|| SIP || [[openbsd/asterisk|asterisk]] || || || ||%0a|| Media || ImageMagick || vorbis || sndiod || sox ||%0a|| || icecast || [[openbsd/ffmpeg|ffmpeg]] || || || ||%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 || ||%0a|| [[gomuks/install|gomuks]] || || || ||%0a||! [[openbsd/misc|Misc]] ||||||||||%0a%0a||! [[hosting/hosting|Hosting]] ||||||||%0a|| [[hosting/providers|Hosting Providers]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/vmm|vmm]] ||%0a%0a||! [[openbsd/security|Security]] ||||||||%0a|| Hardening || [[chroot/intro|chroot]] || [[Password/Management|Password Mgmt]] || || ||%0a|| [[MITM/intro|MITM: Man in the Middle]] ||%0a|| [[openbsd/phishing|Phishing]] || [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] ||%0a|| [[openbsd/rootkits|Rootkits]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a|| [[openbsd/databaseperms|Database Permissions]] ||%0a|| [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a|| [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] ||%0a|| [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/edquota|file quotas]] ||%0a|| [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a|| [[openbsd/oath-toolkit|oath-toolkit]] ||%0a%0a||! Sheriff ||||||||%0a|| [[sheriff/intro]] || [[openbsd/police|Policing Guide]] ||%0a%0a||! Desktop ||||||||||%0a|| XFCE || [[xfce/install|Install XFCE]] || || || ||%0a|| FVWM || [[fvwm/configure|Configure FVWM]] || [[Xdefaults/Configure|Configure XDefaults]] || || ||%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]] ||%0a|| [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] || [9/9paste|9paste] ||%0a|| [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] || [[rio/customize|Customize rio]] ||%0a|| [[9/netcat|netcat]] || [[9/9gridchan|9gridchan]] ||%0a|| [[9/ideas|9 Ideas]] ||%0a%0a||! Linux ||||||||||%0a|| || || || || || ||%0a%0a||! [[unix/history|History of UNIX]] ||||||||||||%0a|| [[SIMH/install]] || || || || || ||%0a%0a||! Historical Articles ||%0a|| [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldns]] ||%0a +time=1639755749 +title=Poor User's Almanack +author:1639755749=jrmu +diff:1639755749:1639715622:=123c123%0a%3c || [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Using Got]] || [[got/server|got server]] || [[got/mirror|Got mirror]] ||%0a---%0a> || [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Got]] || [[got/server|got server]] || [[got/mirror|Got mirror]] ||%0a +host:1639755749=198.251.82.194 +author:1639715622=jrmu +diff:1639715622:1639669028:=123c123%0a%3c || [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Got]] || [[got/server|got server]] || [[got/mirror|Got mirror]] ||%0a---%0a> || [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a +host:1639715622=38.87.162.47 +author:1639669028=jrmu +diff:1639669028:1638367321:=122,123c122%0a%3c || C || [[openbsd/cgit|cgit]] || ||%0a%3c || [[got/repo|Got repo]] || [[gotweb/install|gotweb]] || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a +host:1639669028=38.87.162.47 +author:1638367321=jrmu +diff:1638367321:1638080358:=175c175%0a%3c || [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openrsync/usage|openrsync]] || [[rsync/usage|rsync usage]] ||%0a---%0a> || [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openbsd/openrsync|openrsync]] || [[rsync/usage|rsync usage]] ||%0a +host:1638367321=38.87.162.8 +author:1638080358=jrmu +diff:1638080358:1637719345:=193c193%0a%3c || LaTeX || [[texlive/install|TexLive]] || [[texlive/sinhala|Sinhala]] || || || ||%0a---%0a> || LaTeX || [[texlive/install|TexLive]] || || || || ||%0a +host:1638080358=38.87.162.8 +author:1637719345=jrmu +diff:1637719345:1637575746:=205c205%0a%3c || [[prosody/install|prosody]] || [[biboumi/install|biboumi]] || matrix || fediverse || ||%0a---%0a> || [[prosody/install|prosody]] || biboumi || matrix || fediverse || ||%0a +host:1637719345=198.251.82.194 +author:1637575746=jrmu +diff:1637575746:1637161319:=34c34%0a%3c || [[vmm/DebianIso|Debian ISO]] || [[Vmm/DebianInstall|Debian Install]] || || ||%0a---%0a> || [[vmm/DebianIso|Debian ISO]] || || || ||%0a36d35%0a%3c || || [[vmm/DevuanIso|Devuan Iso]] || [[vmm/Devuan-ISO|Devuan install]] || || ||%0a +host:1637575746=38.87.162.8 +author:1637161319=jrmu +diff:1637161319:1637145068:=120d119%0a%3c || [[NodeJS/Install|NodeJS]] || || || || ||%0a +host:1637161319=38.87.162.8 +author:1637145068=jrmu +diff:1637145068:1637145046:=251c251%0a%3c ||! [[unix/history|History of UNIX]] ||||||||||||%0a---%0a> ||! [[unix/history|History of UNIX]] ||||||||%0a +host:1637145068=38.87.162.8 +author:1637145046=jrmu +diff:1637145046:1637145022:=251c251%0a%3c ||! [[unix/history|History of UNIX]] ||||||||%0a---%0a> ||! [[unix/history|History of UNIX]] ||||||||||%0a +host:1637145046=38.87.162.8 +author:1637145022=jrmu +diff:1637145022:1636553442:=250,252d249%0a%3c %0a%3c ||! [[unix/history|History of UNIX]] ||||||||||%0a%3c || [[SIMH/install]] || || || || || ||%0a +host:1637145022=38.87.162.8 +author:1636553442=jrmu +diff:1636553442:1636423506:=247,249d246%0a%3c %0a%3c ||! Linux ||||||||||%0a%3c || || || || || || ||%0a +host:1636553442=38.87.162.8 +author:1636423506=mkf +diff:1636423506:1636418829:=89c89%0a%3c || IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]]||%0a---%0a> || IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]]|| ||%0a120c120%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a +host:1636423506=5.238.160.208 +author:1636418829=mkf +diff:1636418829:1636418640:=243c243%0a%3c || [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] || [9/9paste|9paste] ||%0a---%0a> || [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] ||%0a +host:1636418829=5.238.160.208 +author:1636418640=mkf +diff:1636418640:1636305688:=180c180%0a%3c ||! Shell || ||%0a---%0a> ||! Shell ||%0a +host:1636418640=5.238.160.208 +author:1636305688=jrmu +diff:1636305688:1636298008:=120c120%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || [[got/usage|Got]] || [[got/mirror|Got mirror]] ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || [[got/usage|Got]] ||%0a +host:1636305688=38.87.162.47 +author:1636298008=jrmu +diff:1636298008:1636132213:=120c120%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || [[got/usage|Got]] ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || ||%0a +host:1636298008=38.87.162.47 +author:1636132213=jrmu +diff:1636132213:1636103987:=154c154%0a%3c || Korn || [[unix101/unix101|unix101]] || [[unix101/wechall|unix101 challenge]] || || ||%0a---%0a> || Korn || [[unix101/unix101|unix101]] || || || ||%0a +host:1636132213=38.87.162.8 +author:1636103987=jrmu +diff:1636103987:1636042247:=246d245%0a%3c || [[9/ideas|9 Ideas]] ||%0a +host:1636103987=38.87.162.8 +author:1636042247=meeekeeef +diff:1636042247:1636041772:=233c233%0a%3c ||! VMM ||%0a---%0a> ||! VMM || ||| %0a244a245%0a> || [[9/zuke]] ||%0a +host:1636042247=198.251.81.133 +author:1636041772=jrmu +diff:1636041772:1636032993:=99c99%0a%3c || [[openbsd/Two-FactorAuth]] || [[openbsd/drawtermssh|SSH Drawterm]] ||%0a---%0a> || [[openbsd/Two-FactorAuth]] ||%0a +host:1636041772=38.87.162.47 +author:1636032993=jrmu +diff:1636032993:1636019850:=178c178%0a%3c || [[openbsd/rcctl|rcctl]] || [[openbsd/syslogd|syslogd]] ||%0a---%0a> || [[openbsd/rcctl|rcctl]] ||%0a +host:1636032993=38.87.162.47 +author:1636019850=jrmu +diff:1636019850:1635936109:=178d177%0a%3c || [[openbsd/rcctl|rcctl]] ||%0a +host:1636019850=38.87.162.47 +author:1635936109=jrmu +diff:1635936109:1635933993:=64c64%0a%3c || || [[netcat/irc|netcat IRC]] || [[netcat/http|netcat HTTP]] || || ||%0a---%0a> || || [[netcat/irc|netcat IRC]] || || || ||%0a +host:1635936109=38.87.162.47 +author:1635933993=jrmu +diff:1635933993:1635866593:=131c131%0a%3c || [[znc/usage|Using ZNC]] || [[znc/relayd|ZNC webpanel (relayd)]] ||%0a---%0a> || [[znc/usage|Using ZNC]] ||%0a +host:1635933993=38.87.162.47 +author:1635866593=jrmu +diff:1635866593:1635865073:=132c132%0a%3c || || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || [[znc/debug|Debugging ZNC]] ||%0a---%0a> || || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || ||%0a +host:1635866593=38.87.162.47 +author:1635865073=jrmu +diff:1635865073:1635865002:=132c132%0a%3c || || [[Znc/I18n|ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || ||%0a---%0a> || || [[Znc.I18n/ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || ||%0a +host:1635865073=38.87.162.47 +author:1635865002=jrmu +diff:1635865002:1635850332:=131d130%0a%3c || [[znc/usage|Using ZNC]] ||%0a +host:1635865002=38.87.162.47 +author:1635850332=jrmu +diff:1635850332:1635849625:=176c176%0a%3c || [[openbsd/vipw|vipw]] || [[tar/usage|tar usage]] ||%0a---%0a> || [[openbsd/vipw|vipw]] ||%0a +host:1635850332=38.87.162.47 +author:1635849625=jrmu +diff:1635849625:1635849594:=59a60%0a> || [[ddos/intro|DDoS Defense]] || || || ||%0a +host:1635849625=38.87.162.47 +author:1635849594=jrmu +diff:1635849594:1635839042:=60d59%0a%3c || [[ddos/intro|DDoS Defense]] || || || ||%0a +host:1635849594=38.87.162.47 +author:1635839042=jrmu +diff:1635839042:1635693893:=64d63%0a%3c || || [[netcat/irc|netcat IRC]] || || || ||%0a +host:1635839042=38.87.162.47 +author:1635693893=jrmu +diff:1635693893:1635588974:=175d174%0a%3c || [[openbsd/vipw|vipw]] ||%0a +host:1635693893=38.87.162.47 +author:1635588974=jrmu +diff:1635588974:1635562326:=169d168%0a%3c || || [[openbsd/adduser|adduser]] || || || ||%0a +host:1635588974=38.87.162.47 +author:1635562326=jrmu +diff:1635562326:1635562310:=129c129%0a%3c || [[Znc/Install|Install znc (no chroot)]] || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a---%0a> || [[ZNC/Install|Install znc (no chroot)]] || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a +host:1635562326=38.87.162.47 +author:1635562310=jrmu +diff:1635562310:1635562049:=129c129%0a%3c || [[ZNC/Install|Install znc (no chroot)]] || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a---%0a> || ZNC || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a +host:1635562310=38.87.162.47 +author:1635562049=jrmu +diff:1635562049:1635562027:=86c86%0a%3c || [[gpg/verify|Verify GPG signatures]] || netpgp || signify || || ||%0a---%0a> || [[gnupg/verify|Verify GPG signatures]] || netpgp || signify || || ||%0a +host:1635562049=38.87.162.47 +author:1635562027=jrmu +diff:1635562027:1635268292:=86c86%0a%3c || [[gnupg/verify|Verify GPG signatures]] || netpgp || signify || || ||%0a---%0a> || gnupg || netpgp || signify || || ||%0a +host:1635562027=38.87.162.47 +author:1635268292=jrmu +diff:1635268292:1635268069:=41,42c41%0a%3c || 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%3c || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a---%0a> || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/install69|OpenBSD 6.9 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a +host:1635268292=38.87.162.8 +author:1635268069=jrmu +diff:1635268069:1635241536:=37c37%0a%3c || [[vmm/router|vmm router]] || [[vmm/homerouter|VMM home router]] || || ||%0a---%0a> || [[vmm/router|vmm router]] || || || ||%0a +host:1635268069=38.87.162.8 +author:1635241536=jrmu +diff:1635241536:1635168463:=240c240%0a%3c || [[9/netcat|netcat]] || [[9/9gridchan|9gridchan]] ||%0a---%0a> || [[9/netcat|netcat]] ||%0a +host:1635241536=38.87.162.8 +author:1635168463=jrmu +diff:1635168463:1635131534:=240d239%0a%3c || [[9/netcat|netcat]] ||%0a +host:1635168463=38.87.162.8 +author:1635131534=jrmu +diff:1635131534:1635091355:=239d238%0a%3c || [[9/zuke]] ||%0a +host:1635131534=38.87.162.8 +author:1635091355=jrmu +diff:1635091355:1634999975:=87c87%0a%3c || IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || [[iked/newconfig|iked new config]]|| ||%0a---%0a> || IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || || ||%0a +host:1635091355=38.87.162.8 +author:1634999975=jrmu +diff:1634999975:1634987859:=221c221%0a%3c || FVWM || [[fvwm/configure|Configure FVWM]] || [[Xdefaults/Configure|Configure XDefaults]] || || ||%0a---%0a> || FVWM || [[fvwm/configure|Configure FVWM]] || || || ||%0a +host:1634999975=125.224.28.113 +author:1634987859=jrmu +diff:1634987859:1634894466:=222c222%0a%3c || VNC || [[TigerVNC/install|Install TigerVNC]] || [[TigerVNC/SSH|TigerVNC with SSH]] || || ||%0a---%0a> || VNC || [[TigerVNC/install|Install TigerVNC]] || || || ||%0a +host:1634987859=38.87.162.8 +author:1634894466=jrmu +diff:1634894466:1634863438:=238c238%0a%3c || [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] || [[rio/customize|Customize rio]] ||%0a---%0a> || [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] ||%0a +host:1634894466=38.87.162.8 +author:1634863438=jrmu +diff:1634863438:1634809595:=238c238%0a%3c || [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] || [[9/ssh]] ||%0a---%0a> || [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] ||%0a +host:1634863438=38.87.162.8 +author:1634809595=jrmu +diff:1634809595:1634744217:=238d237%0a%3c || [[9/sysupdate|sysupdate]] || [[9/packages|3rd party packages]] ||%0a +host:1634809595=38.87.162.8 +author:1634744217=jrmu +diff:1634744217:1634638803:=237d236%0a%3c || [[9/101|9 101]] || [[9/bootcamp|9 bootcamp]] ||%0a +host:1634744217=125.224.28.113 +author:1634638803=jrmu +diff:1634638803:1634443045:=236c236%0a%3c || [[9/Drawterm]] || [[9/JSDrawterm]] || [[9/Links|9 Links]] || [[9/shocase|9 Showcase]] ||%0a---%0a> || [[9/Drawterm]] || [[9/JSDrawterm]] || [[9/Links|9 Links]] ||%0a +host:1634638803=38.87.162.8 +author:1634443045=jrmu +diff:1634443045:1634295577:=107c107%0a%3c || || [[cvs/repo|Create CVS Repos]] || || ||%0a---%0a> || || [[cvs/commit|CVS Repos for Commits]] || || ||%0a +host:1634443045=38.87.162.47 +author:1634295577=jrmu +diff:1634295577:1634143169:=20c20%0a%3c || [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || [[ircnow/milestones|Milestones]] || || ||%0a---%0a> || [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || || || ||%0a +host:1634295577=125.224.28.113 +author:1634143169=jrmu +diff:1634143169:1633948061:=107d106%0a%3c || || [[cvs/commit|CVS Repos for Commits]] || || ||%0a +host:1634143169=38.87.162.47 +author:1633948061=jrmu +diff:1633948061:1633575274:=235c235%0a%3c || [[9/Drawterm]] || [[9/JSDrawterm]] || [[9/Links|9 Links]] ||%0a---%0a> || [[9/Drawterm]] || [[9/JSDrawterm]] || %0a +host:1633948061=125.224.28.132 +author:1633575274=jrmu +diff:1633575274:1633575251:=42c42%0a%3c || || [[OpenBSD/ResetPassword]] || [[openbsd/books|OpenBSD Books]] || || || ||%0a---%0a> || [[OpenBSD/ResetPassword]] || [[openbsd/books|OpenBSD Books]] || || || ||%0a +host:1633575274=125.231.16.237 +author:1633575251=jrmu +diff:1633575251:1633575208:=42c42%0a%3c || [[OpenBSD/ResetPassword]] || [[openbsd/books|OpenBSD Books]] || || || ||%0a---%0a> || || [[openbsd/books|OpenBSD Books]] || || || ||%0a +host:1633575251=125.231.16.237 +author:1633575208=jrmu +diff:1633575208:1633093897:=41a42,43%0a> || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] || ||%0a> || || [[license/Discriminatory]] || || || ||%0a44,47d45%0a%3c (:if false:)%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] || ||%0a%3c || || [[license/Discriminatory]] || || || ||%0a%3c (:ifend:)%0a +host:1633575208=125.231.16.237 +author:1633093897=jrmu +diff:1633093897:1633024971:=90c90%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || [[letsencrypt/expired|Let's Encrypt Expired Cert]] ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || ||%0a +host:1633093897=125.231.16.216 +author:1633024971=jrmu +diff:1633024971:1633023507:=233c233%0a%3c || [[9/Drawterm]] || [[9/JSDrawterm]] || %0a---%0a> || [[9/Drawterm]] ||%0a +host:1633024971=125.231.16.216 +author:1633023507=jrmu +diff:1633023507:1632913972:=233d232%0a%3c || [[9/Drawterm]] ||%0a +host:1633023507=125.231.16.216 +author:1632913972=jrmu +diff:1632913972:1632730458:=232c232%0a%3c || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || [[9/partdisk|partdisk]] || [[9/Plan9ini|Plan 9 ini]] ||%0a---%0a> || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || [[9/partdisk|partdisk]] || ||%0a +host:1632913972=125.231.16.216 +author:1632730458=jrmu +diff:1632730458:1632666461:=232c232%0a%3c || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || [[9/partdisk|partdisk]] || ||%0a---%0a> || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || || ||%0a +host:1632730458=125.231.18.235 +author:1632666461=jrmu +diff:1632666461:1632623464:=104c104%0a%3c || CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || || [[cvs/guide|CVS Guide]] ||%0a---%0a> || CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || || ||%0a +host:1632666461=125.231.18.235 +author:1632623464=jrmu +diff:1632623464:1632370960:=194c194%0a%3c || [[prosody/install|prosody]] || biboumi || matrix || fediverse || ||%0a---%0a> || prosody || biboumi || matrix || fediverse || ||%0a +host:1632623464=125.231.18.235 +author:1632370960=jrmu +diff:1632370960:1632241372:=232c232%0a%3c || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || [[9/install|9 Install]] || || ||%0a---%0a> || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || || || ||%0a +host:1632370960=38.87.162.8 +author:1632241372=jrmu +diff:1632241372:1632241332:=229,230c229,230%0a%3c || DragonflyBSD ||%0a%3c %0a---%0a> || DragonflyBSD%0a> %0a232c232%0a%3c || [[9/9|9 intro]] || [[9/Shell|Plan9 Shells]] || || || ||%0a---%0a> || [[9.9|9 intro]] || [[9.Shell|Plan9 Shells]] || || || ||%0a +host:1632241372=38.87.162.8 +author:1632241332=jrmu +diff:1632241332:1632237170:=213c213%0a%3c ||! Sheriff ||||||||%0a---%0a> || Sheriff ||||||||%0a +host:1632241332=38.87.162.8 +author:1632237170=jrmu +diff:1632237170:1632237151:=232c232%0a%3c || [[9.9|9 intro]] || [[9.Shell|Plan9 Shells]] || || || ||%0a---%0a> || [9.9|9 intro]] || [[9.Shell|Plan9 Shells]] || || || ||%0a +host:1632237170=38.87.162.8 +author:1632237151=jrmu +diff:1632237151:1631951614:=231,232d230%0a%3c ||! Plan 9 ||||||||||%0a%3c || [9.9|9 intro]] || [[9.Shell|Plan9 Shells]] || || || ||%0a +host:1632237151=38.87.162.8 +author:1631951614=jrmu +diff:1631951614:1631719728:=36d35%0a%3c || [[vmm/plan9|VMM Plan 9]] || || || ||%0a +host:1631951614=38.87.162.8 +author:1631719728=jrmu +diff:1631719728:1629736356:=53c53%0a%3c || || [[dhcpd/configure|dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%0a---%0a> || || [[openbsd/dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%0a +host:1631719728=38.87.162.8 +author:1629736356=wiz +diff:1629736356:1629736299:=116c116%0a%3c || [[Mariadb/install|Mariadb]] ||||||||||%0a---%0a> || [[Mariadb/install|Mariaadb]] ||||||||||%0a +host:1629736356=77.100.13.190 +author:1629736299=wiz +diff:1629736299:1629736243:=116c116%0a%3c || [[Mariadb/install|Mariaadb]] ||||||||||%0a---%0a> || [[Maria/install|Mariaadb]] ||||||||||%0a +host:1629736299=77.100.13.190 +author:1629736243=wiz +diff:1629736243:1629731673:=116c116%0a%3c || [[Maria/install|Mariaadb]] ||||||||||%0a---%0a> || [[bgpd/configure|Mariaadb]] ||||||||||%0a +host:1629736243=77.100.13.190 +author:1629731673=wiz +diff:1629731673:1629690606:=115,116c115%0a%3c ||! Database ||||||||||%0a%3c || [[bgpd/configure|Mariaadb]] ||||||||||%0a---%0a> %0a +host:1629731673=77.100.13.190 +author:1629690606=jrmu +diff:1629690606:1629690567:=170c170%0a%3c || [[ksh/bash|ksh for bash users]] || [[ksh/redirection|Redirection with Pipes]] || || ||%0a---%0a> || [[ksh/bash|ksh for bash users]] || [[pipes/redirection|Redirection with Pipes]] || || ||%0a +host:1629690606=198.251.81.119 +author:1629690567=jrmu +diff:1629690567:1629640732:=170c170%0a%3c || [[ksh/bash|ksh for bash users]] || [[pipes/redirection|Redirection with Pipes]] || || ||%0a---%0a> || [[ksh/bash|ksh for bash users]] || || || ||%0a +host:1629690567=198.251.81.119 +author:1629640732=mkf +diff:1629640732:1629639042:=222,229c222%0a%3c ||! VMM || ||| %0a%3c || OpenBSD ||%0a%3c || Linux ||%0a%3c || Plan9front ||%0a%3c || NetBSD ||%0a%3c || DragonflyBSD%0a%3c %0a%3c %0a---%0a> ||! VMM ||%0a +host:1629640732=198.251.81.133 +author:1629639042=mkf +diff:1629639042:1629544005:=222d221%0a%3c ||! VMM ||%0a +host:1629639042=198.251.81.133 +author:1629544005=jrmu +diff:1629544005:1629475446:=88c88%0a%3c || [[tls/overview|TLS Overview]] || [[tls/intro|TLS Intro]] || [[tls/CA|Certificate Authorities]] || || ||%0a---%0a> || [[tls/overview|TLS Overview]] || [[tls/intro|TLS Intro]] || || || ||%0a +host:1629544005=38.87.162.8 +author:1629475446=jrmu +diff:1629475446:1629051325:=36d35%0a%3c || [[vmm/router|vmm router]] || || || ||%0a +host:1629475446=38.87.162.8 +author:1629051325=fgm +diff:1629051325:1628655194:=34d33%0a%3c || [[vmm/DebianIso|Debian ISO]] || || || ||%0a +host:1629051325=38.87.162.8 +author:1628655194=jrmu +diff:1628655194:1628655155:=215c215%0a%3c || VNC || [[TigerVNC/install|Install TigerVNC]] || || || ||%0a---%0a> || VNC || [[tigervnc/install|Install TigerVNC]] || || || ||%0a +host:1628655194=125.224.19.156 +author:1628655155=jrmu +diff:1628655155:1628572236:=215d214%0a%3c || VNC || [[tigervnc/install|Install TigerVNC]] || || || ||%0a +host:1628655155=125.224.19.156 +author:1628572236=jrmu +diff:1628572236:1628528644:=215,217d214%0a%3c %0a%3c ||! Android ||||||||||%0a%3c || [[Fdroid/Install|Install F-Droid]] ||%0a +host:1628572236=38.87.162.8 +author:1628528644=jrmu +diff:1628528644:1628527015:=90c90%0a%3c || [[sshd/disablepassword|Disable Password]] || [[OpenSSH/keygen|Creating ssh keys]] || ||%0a---%0a> || [[sshd/disablepassword|Disable Password]] ||%0a +host:1628528644=38.87.162.8 +author:1628527015=baytuch +diff:1628527015:1628526876:=199c199%0a%3c || [[MITM/intro|MITM: Man in the Middle]] ||%0a---%0a> || [[MITM/intro|Man in the Middle]] ||%0a +host:1628527015=38.87.162.8 +author:1628526876=baytuch +diff:1628526876:1628505999:=89c89%0a%3c || || [[sshd/configure|sshd]] || [[ssh/client|ssh]] || [[ssh/fingerprints|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a---%0a> || || [[sshd/configure|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a199d198%0a%3c || [[MITM/intro|Man in the Middle]] ||%0a +host:1628526876=38.87.162.8 +author:1628505999=jrmu +diff:1628505999:1628479860:=90d89%0a%3c || [[sshd/disablepassword|Disable Password]] ||%0a +host:1628505999=38.87.162.8 +author:1628479860=jrmu +diff:1628479860:1628403878:=21d20%0a%3c || [[CodeForce/Deploy|Deployment Procedure]] || || || || ||%0a +host:1628479860=38.87.162.8 +author:1628403878=jrmu +diff:1628403878:1628403835:=38c38%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] || ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || || || ||%0a42c42,44%0a%3c %0a---%0a> (:if false:)%0a> || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] ||%0a> (:ifend:)%0a +host:1628403878=38.87.162.8 +author:1628403835=jrmu +diff:1628403835:1628324772:=38c38%0a%3c || Philosophy || [[license/publicdomain|License]] || || || ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] ||%0a41,44d40%0a%3c %0a%3c (:if false:)%0a%3c || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] ||%0a%3c (:ifend:)%0a +host:1628403835=38.87.162.8 +author:1628324772=jrmu +diff:1628324772:1628246193:=84c84%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || [[relayd/TLSMulti|relayd TLS Acceleration Multi]] || ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a +host:1628324772=38.87.162.8 +author:1628246193=baytuch +diff:1628246193:1628246174:=212c212%0a%3c || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldns]] ||%0a---%0a> || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldnsd]] ||%0a +host:1628246193=38.87.162.8 +author:1628246174=baytuch +diff:1628246174:1628245712:=212c212%0a%3c || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] || [[openbsd/rbldnsd]] ||%0a---%0a> || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] ||%0a +host:1628246174=38.87.162.8 +author:1628245712=jrmu +diff:1628245712:1628148520:=104,105c104%0a%3c || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[squirrelmail/install|SquirrelMail]] || [[wordpress/install|Wordpress]] ||%0a%3c || || [[roundcube/install|Install RoundCube]] || || || ||%0a---%0a> || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[wordpress/install|Wordpress]] ||%0a +host:1628245712=38.87.162.8 +author:1628148520=jrmu +diff:1628148520:1628148392:=202,204d201%0a%3c %0a%3c || Sheriff ||||||||%0a%3c || [[sheriff/intro]] || [[openbsd/police|Policing Guide]] ||%0a +host:1628148520=38.87.162.8 +author:1628148392=jrmu +diff:1628148392:1628087529:=133d132%0a%3c || || [[eggdrop/nickserv|Identify with NickServ]] || || || ||%0a +host:1628148392=38.87.162.8 +author:1628087529=jrmu +diff:1628087529:1628059541:=98d97%0a%3c || pastebin || [[paster/install|Install paster]] || [[fiche/install|Install fiche]] || || ||%0a +host:1628087529=38.87.162.8 +author:1628059541=jrmu +diff:1628059541:1627998069:=18c18%0a%3c || || [[Minutemin/Progress|Progress]] || [[medals/intro|Medals]] || || ||%0a---%0a> || || [[Minutemin/Progress|Progress]] || || || ||%0a +host:1628059541=38.87.162.8 +author:1627998069=jrmu +diff:1627998069:1627955894:=169,171d168%0a%3c %0a%3c || Documents ||%0a%3c || LaTeX || [[texlive/install|TexLive]] || || || || ||%0a +host:1627998069=38.87.162.8 +author:1627955894=jrmu +diff:1627955894:1627955821:=73c73%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[rbldnsd/install|rbldns]] || || || ||%0a---%0a> || [[openbsd/dnsbl|DNS Blacklists]] || [[rbldns/install|rbldns]] || || || ||%0a +host:1627955894=38.87.162.8 +author:1627955821=jrmu +diff:1627955821:1627918745:=73c73%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[rbldns/install|rbldns]] || || || ||%0a---%0a> || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || ||%0a +host:1627955821=38.87.162.8 +author:1627918745=jrmu +diff:1627918745:1627913640:=146c146%0a%3c || || [[spamd/configure|spamd]] || [[DNS/DKIM|DKIM]] || || ||%0a---%0a> || || [[openbsd/spamd|spamd]] || [[DNS/DKIM|DKIM]] || || ||%0a +host:1627918745=38.87.162.8 +author:1627913640=jrmu +diff:1627913640:1627910581:=95,97d94%0a%3c %0a%3c ||! Version Control ||||||||||%0a%3c || CVS || [[cvs/anoncvs|anoncvs]] || [[cvs/intro|CVS intro]] || [[cvs/cvsweb|cvsweb]] || || ||%0a +host:1627913640=38.87.162.8 +author:1627910581=mkf +diff:1627910581:1627895359:=33c33%0a%3c || || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || [[vmm/ubuntu|VMM Ubuntu]] || [[openbsd/buyvm|Buyvm Guide]] ||%0a---%0a> || || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || [[vmm/ubuntu|VMM Ubuntu]] || ||[[openbsd/buyvm|Buyvm Guide]] ||%0a +host:1627910581=198.251.81.133 +author:1627895359=jrmu +diff:1627895359:1627880822:=113c113%0a%3c || || [[Znc.I18n/ZNC I18n]] || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || ||%0a---%0a> || || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || || ||%0a +host:1627895359=38.87.162.8 +author:1627880822=jrmu +diff:1627880822:1627872208:= +host:1627880822=38.87.162.8 +author:1627872208=jrmu +diff:1627872208:1627871475:=83c83%0a%3c || [[tls/overview|TLS Overview]] || [[tls/intro|TLS Intro]] || || || ||%0a---%0a> || [[tls/overview|TLS]] || || || || ||%0a +host:1627872208=38.87.162.8 +author:1627871475=jrmu +diff:1627871475:1627801692:=63c63%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[dns/vhost|vhost]] ||%0a---%0a> || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] ||%0a +host:1627871475=38.87.162.8 +author:1627801692=jrmu +diff:1627801692:1627710202:=128c128%0a%3c || Eggdrop || [[eggdrop191/install|Install eggdrop 1.9.1]] || [[openbsd/tcltls|tcltls]] || [[eggdrop184/install|Install eggdrop 1.8.4]] || ||%0a---%0a> || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a +host:1627801692=38.87.162.8 +author:1627710202=jrmu +diff:1627710202:1627699637:=126c126%0a%3c || [[pylink/install|pylink]] || [[pylink/chroot|chroot pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a---%0a> || [[pylink/install|pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a129c129%0a%3c || Channel || [[wraith.chroot|chroot wraith]] || [[wraith.install/install wraith]] || || ||%0a---%0a> || Channel || [[openbsd/wraith|wraith]] || || || ||%0a +host:1627710202=38.87.162.8 +author:1627699637=jrmu +diff:1627699637:1627536760:=185c185%0a%3c || Hardening || [[chroot/intro|chroot]] || [[Password/Management|Password Mgmt]] || || ||%0a---%0a> || Hardening || [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || || ||%0a187c187%0a%3c || [[openbsd/rootkits|Rootkits]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a---%0a> || [[openbsd/rootkits|Rootkits]] || [[openbsd/chroot|Chroot]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a +host:1627699637=38.87.162.8 +author:1627536760=jrmu +diff:1627536760:1627536191:=32c32%0a%3c || Virtual Machines || [[vmm/configure|Configure VMM]] || [[vmm/install|VMM Install Guide]] || [[vmctl/usage|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a---%0a> || Virtual Machines || [[vmm/configure|Configure VMM]] || [[vmm/install|VMM Install Guide]] || [[vmm/user|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a +host:1627536760=38.87.162.8 +author:1627536191=jrmu +diff:1627536191:1627452650:=32,33c32,33%0a%3c || Virtual Machines || [[vmm/configure|Configure VMM]] || [[vmm/install|VMM Install Guide]] || [[vmm/user|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a%3c || || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || [[vmm/ubuntu|VMM Ubuntu]] || ||[[openbsd/buyvm|Buyvm Guide]] ||%0a---%0a> || Virtual Machines || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a> || || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || || ||%0a +host:1627536191=38.87.162.8 +author:1627452650=jrmu +diff:1627452650:1627447858:=112,113c112%0a%3c || ZNC || [[znc/chroot|chroot znc]] || [[ZNC/Admin|ZNC admin]] || [[ZNC/Support|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a%3c || || [[ZNC/Troubleshoot|Troubleshoot ZNC]] || || || ||%0a---%0a> || ZNC || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a +host:1627452650=38.87.162.8 +author:1627447858=jrmu +diff:1627447858:1627447013:=91,92d90%0a%3c || ftpd || [[ftpd/configure|FTP server]] || || || ||%0a%3c || torrent || [[torrent/configure|bittorrent server]] || || || ||%0a103c101%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || [[fwobac/install|fwobac blog]] || ||%0a +host:1627447858=38.87.162.8 +author:1627447013=jrmu +diff:1627447013:1627443799:=101c101%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || [[fwobac/install|fwobac blog]] || ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || ||%0a +host:1627447013=38.87.162.8 +author:1627443799=jrmu +diff:1627443799:1627441993:=152c152%0a%3c || [[crontab/edit|Editing crontab]] || [[ps/usage|ps process]] || [[kill/usage|Sending signals with kill]] || || ||%0a---%0a> || [[crontab/edit|Editing crontab]] || || || || ||%0a +host:1627443799=38.87.162.8 +author:1627441993=jrmu +diff:1627441993:1627441005:=66c66%0a%3c || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[DNS/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a---%0a> || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a +host:1627441993=38.87.162.8 +author:1627441005=jrmu +diff:1627441005:1627440886:=83d82%0a%3c || [[tls/overview|TLS]] || || || || ||%0a +host:1627441005=38.87.162.8 +author:1627440886=jrmu +diff:1627440886:1627394505:=44d43%0a%3c || [[tcpip/ports|TCP/IP ports]] || || || || ||%0a +host:1627440886=38.87.162.8 +author:1627394505=jrmu +diff:1627394505:1627381947:=94d93%0a%3c || [[openhttpd/tls|OpenHTTPd TLS]] || || || || ||%0a +host:1627394505=38.87.162.8 +author:1627381947=jrmu +diff:1627381947:1627195934:=66d65%0a%3c || || [[nsd/zone|NSD Zone file]] || || ||%0a +host:1627381947=38.87.162.8 +author:1627195934=jrmu +diff:1627195934:1627022554:=70c70%0a%3c || [[openbsd/unbound|unbound]] || [[host/usage|Using host]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a---%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a +host:1627195934=38.87.162.8 +author:1627022554=jrmu +diff:1627022554:1626787598:=68d67%0a%3c || [[DNS/ipv6rDNS|ipv6 rDNS]] || [[DNS/ipv4rDNS|ipv4 rDNS]] || || || ||%0a +host:1627022554=38.87.162.8 +author:1626787598=jrmu +diff:1626787598:1626616861:=56d55%0a%3c || || [[openssl/check|Check OpenSSL certs]] || || || ||%0a +host:1626787598=38.87.162.8 +author:1626616861=jrmu +diff:1626616861:1626112065:=143c143%0a%3c || [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openbsd/openrsync|openrsync]] || [[rsync/usage|rsync usage]] ||%0a---%0a> || [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openbsd/openrsync|openrsync]] || ||%0a +host:1626616861=38.87.162.8 +author:1626112065=jrmu +diff:1626112065:1625967995:=45c45%0a%3c || Configure || [[hostnameif/static|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] || || %0a---%0a> || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] || || %0a +host:1626112065=38.87.162.8 +author:1625967995=jrmu +diff:1625967995:1625799059:=185,188d184%0a%3c %0a%3c ||! Desktop ||||||||||%0a%3c || XFCE || [[xfce/install|Install XFCE]] || || || ||%0a%3c || FVWM || [[fvwm/configure|Configure FVWM]] || || || ||%0a +host:1625967995=38.81.163.143 +author:1625799059=jrmu +diff:1625799059:1625737354:=146d145%0a%3c || [[crontab/edit|Editing crontab]] || || || || ||%0a +host:1625799059=38.81.163.143 +author:1625737354=bangcat +diff:1625737354:1623317538:=135c135%0a%3c || Mail || [[dovecot/install|dovecot]] || [[mlmmj/install|mlmmj]] || || ||%0a---%0a> || Mail || [[dovecot/install|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || ||%0a +host:1625737354=38.81.163.143 +author:1623317538=jrmu +diff:1623317538:1623238245:=100d99%0a%3c || || [[irc/clients|IRC Clients]] || || || ||%0a +host:1623317538=125.231.25.80 +author:1623238245=jrmu +diff:1623238245:1623231296:=145,147d144%0a%3c %0a%3c ||! Shell ||%0a%3c || [[ksh/bash|ksh for bash users]] || || || ||%0a +host:1623238245=125.231.25.80 +author:1623231296=jrmu +diff:1623231296:1623231138:=83c83%0a%3c || [[openbsd/Two-FactorAuth]] ||%0a---%0a> || [[openbsd/Two-FactorAuth]]%0a +host:1623231296=125.231.25.80 +author:1623231138=jrmu +diff:1623231138:1623219491:=83d82%0a%3c || [[openbsd/Two-FactorAuth]]%0a +host:1623231138=125.231.25.80 +author:1623219491=jrmu +diff:1623219491:1622985898:=128d127%0a%3c || [[opensmtpd/troubleshoot|Troubleshooting OpenSMTPd]] || || || || ||%0a +host:1623219491=38.81.163.143 +author:1622985898=jrmu +diff:1622985898:1622985709:=131c131%0a%3c || || [[openbsd/spamd|spamd]] || [[DNS/DKIM|DKIM]] || || ||%0a---%0a> || || [[openbsd/spamd|spamd]] || [[dkim/dkimsign]] || || ||%0a +host:1622985898=38.81.163.143 +author:1622985709=jrmu +diff:1622985709:1622983312:=129c129%0a%3c || Spam || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a---%0a> || Spam || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a178,180d177%0a%3c %0a%3c ||! Historical Articles ||%0a%3c || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/opensmtpd|OpenSMTPd]] ||%0a +host:1622985709=38.81.163.143 +author:1622983312=jrmu +diff:1622983312:1622964343:=40d39%0a%3c || || [[openbsd/books|OpenBSD Books]] || || || ||%0a +host:1622983312=38.81.163.143 +author:1622964343=jrmu +diff:1622964343:1622847199:=81d80%0a%3c || || [[openssh/skey|OpenSSH 2FA with S/key]] || || ||%0a +host:1622964343=38.81.163.143 +author:1622847199=jrmu +diff:1622847199:1622800813:=126d125%0a%3c || [[opensmtpd/openrelay|Open Mail Relay]] ||%0a +host:1622847199=38.81.163.143 +author:1622800813=jrmu +diff:1622800813:1622800238:=53d52%0a%3c || [[netcat/SMTP|send mail with netcat]] || || || ||%0a +host:1622800813=38.81.163.143 +author:1622800238=jrmu +diff:1622800238:1622793936:=52c52%0a%3c || Network Layer || [[openbsd/ping|ping]] || [[netcat/usage|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a---%0a> || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a +host:1622800238=38.81.163.143 +author:1622793936=jrmu +diff:1622793936:1622788285:=126d125%0a%3c || [[opensmtpd/test|Test opensmtpd]] || || || || ||%0a +host:1622793936=38.81.163.143 +author:1622788285=jrmu +diff:1622788285:1622787675:=112c112%0a%3c || [[pylink/install|pylink]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a---%0a> || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a +host:1622788285=125.231.28.9 +author:1622787675=jrmu +diff:1622787675:1622783037:=112c112%0a%3c || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[bitlbee/install|bitlbee install]] || [[openbsd/matterbridge|matterbridge]] ||%0a---%0a> || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a +host:1622787675=125.231.28.9 +author:1622783037=jrmu +diff:1622783037:1622782950:=136d135%0a%3c || [[fdisk/usage|fdisk]] || || || || ||%0a +host:1622783037=125.231.28.9 +author:1622782950=jrmu +diff:1622782950:1622782629:=133c133%0a%3c || Utilities || [[doas/configure|sudo, doas]] || [[syspatch/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a---%0a> || Utilities || [[doas/configure|sudo, doas]] || [[openbsd/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a +host:1622782950=125.231.28.9 +author:1622782629=jrmu +diff:1622782629:1622535184:=88c88%0a%3c || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[wordpress/install|Wordpress]] ||%0a---%0a> || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a +host:1622782629=125.231.28.9 +author:1622535184=jrmu +diff:1622535184:1621396795:=96d95%0a%3c || [[HostServ/Rules|HostServ Rules]] || || || || ||%0a +host:1622535184=125.231.17.115 +author:1621396795=jrmu +diff:1621396795:1621339650:=33c33%0a%3c || || [[vmm/debian|VMM Debian Guide]] || [[vmm/optimize|Optimize VMM]] || || ||%0a---%0a> || || [[vmm/debian|VMM Debian Guide]] || || || ||%0a +host:1621396795=125.231.29.99 +author:1621339650=jrmu +diff:1621339650:1621339604:=125c125%0a%3c || || [[openbsd/spamd|spamd]] || [[dkim/dkimsign]] || || ||%0a---%0a> || || [[openbsd/spamd|spamd]] || || || ||%0a +host:1621339650=38.81.163.143 +author:1621339604=jrmu +diff:1621339604:1621339504:=126c126%0a%3c || Mail || [[dovecot/install|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || ||%0a---%0a> || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || ||%0a +host:1621339604=38.81.163.143 +author:1621339504=jrmu +diff:1621339504:1621339356:=64c64%0a%3c || [[DNS/Mail|DNS for Mail]] || [[DNS/SPF|SPF Records]] || [[DNS/DKIM|DKIM Records]] || [[DNS/DMARC|DMARC Records]] || ||%0a---%0a> || [[DNS/Mail|DNS for Mail]] || || || || ||%0a +host:1621339504=38.81.163.143 +author:1621339356=jrmu +diff:1621339356:1621253862:=64d63%0a%3c || [[DNS/Mail|DNS for Mail]] || || || || ||%0a +host:1621339356=38.81.163.143 +author:1621253862=jrmu +diff:1621253862:1621252349:=122c122%0a%3c || OpenSMTPd || [[opensmtpd/configure|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a---%0a> || OpenSMTPd || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a +host:1621253862=38.81.163.143 +author:1621252349=jrmu +diff:1621252349:1621167484:=44,45c44%0a%3c || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[IP/myaddress|My IP address]] || || %0a%3c || [[ifconfig|ifconfig]] || [[route|route]] ||%0a---%0a> || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[ifconfig|ifconfig]] || [[route|route]] ||%0a +host:1621252349=198.251.81.119 +author:1621167484=jrmu +diff:1621167484:1621043525:=153d152%0a%3c || [[gomuks/install|gomuks]] || || || ||%0a +host:1621167484=38.81.163.143 +author:1621043525=jrmu +diff:1621043525:1620961157:=131c131%0a%3c || || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || [[tmux/share|tmux share]] || [[openbsd/XTerm|XTerm]] ||%0a---%0a> || || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || [[openbsd/XTerm|XTerm]] || ||%0a167c167%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a---%0a> || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a\ No newline at end of file%0a +host:1621043525=38.81.163.143 +author:1620961157=jrmu +diff:1620961157:1620816469:=77c77%0a%3c || || [[sshd/configure|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a---%0a> || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a +host:1620961157=198.251.81.119 +author:1620816469=jrmu +diff:1620816469:1620816320:=140c140%0a%3c || [[minetest/addingarenas|Adding Arenas]] || [[minetest/serverlocations|Server Locations]] || [[minetest/texturestyle|Texture Style Guide]] || [[minetest/updating|Updating the Game]] || [[minetest/worldbackup|World Backup]] ||%0a---%0a> [[minetest/addingarenas|Adding Arenas]] || [[minetest/serverlocations|Server Locations]] || [[minetest/texturestyle|Texture Style Guide]] || [[minetest/updating|Updating the Game]] || [[minetest/worldbackup|World Backup]] ||%0a +host:1620816469=198.251.81.119 +author:1620816320=jrmu +diff:1620816320:1620734926:=135a136%0a> || [[openbsd/minetest|Minetest]] || || || || ||%0a137,140d137%0a%3c %0a%3c ||! Minetest ||||||||||%0a%3c || [[openbsd/minetest|Minetest]] || || || || ||%0a%3c [[minetest/addingarenas|Adding Arenas]] || [[minetest/serverlocations|Server Locations]] || [[minetest/texturestyle|Texture Style Guide]] || [[minetest/updating|Updating the Game]] || [[minetest/worldbackup|World Backup]] ||%0a +host:1620816320=198.251.81.119 +author:1620734926=jrmu +diff:1620734926:1620091765:=35,37c35,36%0a%3c || Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/upgrade69|OpenBSD 6.9 Upgrade]] || ||%0a%3c || Sysupgrade || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/sysupgrade69|OpenBSD 6.9 Sysupgrade]] || ||%0a%3c || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/install69|OpenBSD 6.9 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a---%0a> || Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || ||%0a> || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || ||%0a +host:1620734926=198.251.81.119 +author:1620091765=jrmu +diff:1620091765:1620023284:=63c63%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[dig/usage|Using dig]] || [[openbsd/unboundadblock|unbound adblock]] || ||%0a---%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || ||%0a +host:1620091765=198.251.81.119 +author:1620023284=jrmu +diff:1620023284:1619702870:=52,54d51%0a%3c %0a%3c ||! Routing ||||||||||%0a%3c || [[bgpd/configure|bgpd configuration]] ||||||||||%0a +host:1620023284=198.251.81.119 +author:1619702870=jrmu +diff:1619702870:1619702848:=82c82%0a%3c || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl|simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a---%0a> || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a +host:1619702870=198.251.81.119 +author:1619702848=jrmu +diff:1619702848:1619228515:=82c82%0a%3c || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[pmwiki/simpleurl]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a---%0a> || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a +host:1619702848=198.251.81.119 +author:1619228515=jrmu +diff:1619228515:1618024907:=55c55%0a%3c || || [[vhost/freedns|FreeDNS vhosts]] || [[vhost/ircnow|IRCNow vhosts]] ||%0a---%0a> || || [[vhost/freedns|FreeDNS vhosts]] ||%0a +host:1619228515=198.251.81.119 +author:1618024907=jrmu +diff:1618024907:1617882819:=90d89%0a%3c || || [[unrealircd/install|unrealircd]] || || || ||%0a +host:1618024907=198.251.81.44 +author:1617882819=jrmu +diff:1617882819:1617866316:=125c125%0a%3c || Utilities || [[doas/configure|sudo, doas]] || [[openbsd/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a---%0a> || Utilities || [[openbsd/doas|sudo]] || [[openbsd/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a +host:1617882819=198.251.81.44 +author:1617866316=jrmu +diff:1617866316:1616121427:=33d32%0a%3c || || [[vmm/debian|VMM Debian Guide]] || || || ||%0a +host:1617866316=198.251.81.44 +author:1616121427=jrmu +diff:1616121427:1615893747:=42c42%0a%3c || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig/change|Change Static Network]] || [[ifconfig|ifconfig]] || [[route|route]] ||%0a---%0a> || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || ||%0a +host:1616121427=198.251.81.119 +author:1615893747=jrmu +diff:1615893747:1615893712:=53,54c53%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] ||%0a%3c || || [[vhost/freedns|FreeDNS vhosts]] ||%0a---%0a> || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] || [[vhost/freedns|FreeDNS vhosts]] ||%0a +host:1615893747=198.251.81.119 +author:1615893712=jrmu +diff:1615893712:1615801323:=53c53%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] || [[vhost/freedns|FreeDNS vhosts]] ||%0a---%0a> || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] ||%0a +host:1615893712=198.251.81.119 +author:1615801323=jrmu +diff:1615801323:1615787518:=37c37%0a%3c || || [[license/Discriminatory]] || || || ||%0a---%0a> || || [[license/discriminatory]] || || || ||%0a +host:1615801323=198.251.81.119 +author:1615787518=jrmu +diff:1615787518:1615732198:=37d36%0a%3c || || [[license/discriminatory]] || || || ||%0a +host:1615787518=198.251.81.119 +author:1615732198=jrmu +diff:1615732198:1615727811:=36c36%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || [[bsd/labor|BSD Labor]] ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || ||%0a +host:1615732198=198.251.81.119 +author:1615727811=jrmu +diff:1615727811:1615727771:=36c36%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || [[bsd/hope|BSD Hope]] || ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || || || [[bsd/hope|BSD Hope]] ||%0a +host:1615727811=198.251.81.119 +author:1615727771=jrmu +diff:1615727771:1615692194:=36c36%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || || || [[bsd/hope|BSD Hope]] ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || || || ||%0a +host:1615727771=198.251.81.119 +author:1615692194=jrmu +diff:1615692194:1615355793:=36c36%0a%3c || Philosophy || [[license/publicdomain|License]] || [[gpl/flaws|GPL flaws]] || || || ||%0a---%0a> || Philosophy || [[license/publicdomain|License]] || || || || ||%0a +host:1615692194=125.224.29.248 +author:1615355793=jrmu +diff:1615355793:1615289223:=30c30%0a%3c ||! OpenBSD ||||||||||%0a---%0a> ||! OpenBSD Installation ||||||||||%0a36d35%0a%3c || Philosophy || [[license/publicdomain|License]] || || || || ||%0a +host:1615355793=198.251.81.119 +author:1615289223=jrmu +diff:1615289223:1615256562:=21d20%0a%3c || [[abuse/code|Abuse Code]] || || || || ||%0a +host:1615289223=198.251.81.119 +author:1615256562=jrmu +diff:1615256562:1615217186:=62c62%0a%3c || IPSec || [[openbsd/iked|iked]] || [[iked/configure|Configure iked]] || [[vpn/vpn|VPN clients]] || || ||%0a---%0a> || IPSec || [[openbsd/iked|iked]] || [[vpn/vpn|VPN clients]] || || ||%0a +host:1615256562=198.251.81.119 +author:1615217186=jrmu +diff:1615217186:1615099950:=47c47%0a%3c || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || [[openssl/imap|OpenSSL IMAP]] || [[openssl/smtp|OpenSSL SMTP]] ||%0a---%0a> || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || || ||%0a +host:1615217186=198.251.81.119 +author:1615099950=jrmu +diff:1615099950:1615099931:=95c95%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm]] ||%0a---%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm] ||%0a +host:1615099950=198.251.81.119 +author:1615099931=jrmu +diff:1615099931:1615000395:=95c95%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || [[hopm/telnet|Test hopm] ||%0a---%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a +host:1615099931=198.251.81.119 +author:1615000395=jrmu +diff:1615000395:1614954173:=20c20%0a%3c || [[congress/procedure|Congress Procedure]] || [[congress/documents|Historic Documents]] || || || ||%0a---%0a> || [[congress/procedure|Congress Procedure]] || || || || ||%0a +host:1615000395=198.251.81.119 +author:1614954173=jrmu +diff:1614954173:1614954160:=17c17%0a%3c || [[CodeForce/Bootcamp|Code Force Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] ||%0a---%0a> || [[CodeForce/Bootcamp|CodeForce Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] ||%0a +host:1614954173=198.251.81.119 +author:1614954160=jrmu +diff:1614954160:1614929635:=17c17%0a%3c || [[CodeForce/Bootcamp|CodeForce Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] ||%0a +host:1614954160=198.251.81.119 +author:1614929635=jrmu +diff:1614929635:1614927438:=22c22%0a%3c || Netizenship || [[user/welcome|New User's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a---%0a> || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a +host:1614929635=198.251.81.119 +author:1614927438=jrmu +diff:1614927438:1614925790:= +host:1614927438=198.251.81.119 +author:1614925790=jrmu +diff:1614925790:1614853223:=27c27%0a%3c || Union || [[freedom/federation|Federation]] || [[freedom/union|United We Serve]] || || ||%0a---%0a> || Union || [[freedom/federation|Federation]] || || || ||%0a +host:1614925790=198.251.81.119 +author:1614853223=jrmu +diff:1614853223:1614850722:=18d17%0a%3c || || [[Minutemin/Progress|Progress]] || || || ||%0a +host:1614853223=198.251.81.119 +author:1614850722=jrmu +diff:1614850722:1614850701:=153c153,157%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a\ No newline at end of file%0a---%0a> || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a> %0a> (:if false:)%0a> [[Minutemin/Game|Minutemin Game]] ||%0a> (:ifend :)%0a\ No newline at end of file%0a +host:1614850722=198.251.81.119 +author:1614850701=jrmu +diff:1614850701:1614850609:=155d154%0a%3c (:if false:)%0a157d155%0a%3c (:ifend :)%0a\ No newline at end of file%0a +host:1614850701=198.251.81.119 +author:1614850609=jrmu +diff:1614850609:1614850395:=122,123c122,123%0a%3c || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a%3c %0a---%0a> || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] %0a> %0a139a140,141%0a> %0a> || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a +host:1614850609=198.251.81.119 +author:1614850395=jrmu +diff:1614850395:1614850334:=51c51%0a%3c || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a---%0a> || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || ||%0a155,156c155,156%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a%3c %0a---%0a> || [[openbsd/oath-toolkit|oath-toolkit]] %0a> %0a157a158%0a> || [[dns/zonefile|Zone File]] %0a +host:1614850395=198.251.81.119 +author:1614850334=jrmu +diff:1614850334:1614850284:=131,132c131,132%0a%3c || || icecast || [[openbsd/ffmpeg|ffmpeg]] || || || ||%0a%3c %0a---%0a> || || icecast ||%0a> %0a141,142c141,142%0a%3c || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a%3c %0a---%0a> || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a> %0a155d154%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] %0a +host:1614850334=198.251.81.119 +author:1614850284=jrmu +diff:1614850284:1614787688:=129c129%0a%3c || SIP || [[openbsd/asterisk|asterisk]] || || || ||%0a---%0a> || [[openbsd/asterisk|asterisk]] || || || || ||%0a +host:1614850284=198.251.81.119 +author:1614787688=jrmu +diff:1614787688:1614787654:=59c59%0a%3c || gnupg || netpgp || signify || || ||%0a---%0a> || gnupg || netpgp || signify ||%0a +host:1614787688=198.251.81.119 +author:1614787654=jrmu +diff:1614787654:1614787622:=3c3%0a%3c Poor User's illustrated, lessons for the young and old on industry, temperance, frugality, IRC & UNIX.%0a---%0a> Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality, IRC & UNIX.%0a +host:1614787654=198.251.81.119 +author:1614787622=jrmu +diff:1614787622:1614787591:=1c1%0a%3c (:title Poor User's Almanack:)%0a---%0a> (:title Poor Admin's Almanack:)%0a +host:1614787622=198.251.81.119 +author:1614787591=jrmu +diff:1614787591:1614777543:=3c3%0a%3c Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality, IRC & UNIX.%0a---%0a> Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality & UNIX.%0a +host:1614787591=198.251.81.119 +author:1614777543=jrmu +diff:1614777543:1614777284:=57,59d56%0a%3c ||! Cryptography ||||||||||%0a%3c ||! Signing ||||||||||%0a%3c || gnupg || netpgp || signify ||%0a70,72c67%0a%3c ||! Coins ||||||||||%0a%3c || bitcoin || monero || || || ||%0a%3c %0a---%0a> %0a127d121%0a%3c %0a130,132d123%0a%3c || Media || ImageMagick || vorbis || sndiod || sox ||%0a%3c || || icecast ||%0a%3c %0a139a131,135%0a> || gnupg || netpgp ||%0a> || bitcoin || %0a> || Media || ImageMagick || vorbis || sndiod || sox ||%0a> || [[openbsd/slrn|slrn]] || icecast ||%0a> %0a +host:1614777543=198.251.81.119 +author:1614777284=jrmu +diff:1614777284:1614777240:=125c125,126%0a%3c || [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] || [[openbsd/INN|INN]] || ||%0a---%0a> || [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] || || ||%0a> || [[openbsd/INN|INN]] || || || || ||%0a +host:1614777284=198.251.81.119 +author:1614777240=jrmu +diff:1614777240:1614777175:=115c115%0a%3c || || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || [[openbsd/XTerm|XTerm]] || ||%0a---%0a> || || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || || ||%0a116a117%0a> || [[openbsd/XTerm|XTerm]] ||%0a +host:1614777240=198.251.81.119 +author:1614777175=jrmu +diff:1614777175:1614777133:=108c108%0a%3c || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || ||%0a---%0a> || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || || ||%0a +host:1614777175=198.251.81.119 +author:1614777133=jrmu +diff:1614777133:1614776787:=113c113%0a%3c || [[openbsd/pkg|pkg]] || pkglocatedb || [[openbsd/ports|ports]] || || ||%0a---%0a> || [[openbsd/pkg|pkg]] || pkglocatedb || [[openbsd/ports|ports]] || %0a +host:1614777133=198.251.81.119 +author:1614776787=jrmu +diff:1614776787:1614776751:=104c104%0a%3c ||! Mail ||||||||||%0a---%0a> ||! Mail ||||||||||||%0a106,107c106%0a%3c || Spam || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a%3c || || [[openbsd/spamd|spamd]] || || || ||%0a---%0a> || Spam || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] || [[openbsd/spamd|spamd]] ||%0a +host:1614776787=198.251.81.119 +author:1614776751=jrmu +diff:1614776751:1614776621:=104c104%0a%3c ||! Mail ||||||||||||%0a---%0a> ||! Mail ||||||||||%0a +host:1614776751=198.251.81.119 +author:1614776621=jrmu +diff:1614776621:1614776491:=73c73%0a%3c || || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/easyapp|EasyApp]] ||%0a---%0a> || || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a104c104%0a%3c ||! Mail ||||||||||%0a---%0a> ||! Mail ||||||||%0a107,108c107,108%0a%3c || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || || || ||%0a%3c || Clients || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] || ||%0a---%0a> || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a> || Clients || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a +host:1614776621=198.251.81.119 +author:1614776491=jrmu +diff:1614776491:1614776333:=105,108c105,108%0a%3c || OpenSMTPd || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a%3c || Spam || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] || [[openbsd/spamd|spamd]] ||%0a%3c || Mail || [[openbsd/dovecot|dovecot]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c || Clients || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a---%0a> || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a> || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] || ||%0a> || [[openbsd/dovecot|dovecot]] || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a> || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a +host:1614776491=198.251.81.119 +author:1614776333=jrmu +diff:1614776333:1614776149:=104,107c104,109%0a%3c ||! Mail ||||||||%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a%3c || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] || ||%0a%3c || [[openbsd/dovecot|dovecot]] || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a---%0a> ||! [[openbsd/mail|Mail]] ||||||||%0a> || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/dkimproxy|dkimproxy]] ||%0a> || [[openbsd/dovecot|dovecot]] ||%0a> || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a> || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a> || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a108a111,112%0a> ||! [[openbsd/av|Audiovideo]] ||||||||%0a> %0a +host:1614776333=198.251.81.119 +author:1614776149=jrmu +diff:1614776149:1614776107:=99c99%0a%3c ||! Languages ||||||||||%0a---%0a> ||! Languages ||||||||%0a +host:1614776149=198.251.81.119 +author:1614776107=jrmu +diff:1614776107:1614776021:=100,101c100,101%0a%3c || Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a%3c || Korn || [[unix101/unix101|unix101]] || || || ||%0a---%0a> || Perl || [[openbsd/CPAN|CPAN]] ||%0a> || Korn || [[unix101/unix101|unix101]] || || ||%0a +host:1614776107=198.251.81.119 +author:1614776021=jrmu +diff:1614776021:1614775937:=5c5%0a%3c To administer a free and independent network run by the users themselves.%0a---%0a> To teach users how to administer a free and independent network run by the users themselves.%0a +host:1614776021=198.251.81.119 +author:1614775937=jrmu +diff:1614775937:1614775913:=5c5%0a%3c To teach users how to administer a free and independent network run by the users themselves.%0a---%0a> To teach users how to administer a free, independent network run by the users themselves.%0a +host:1614775937=198.251.81.119 +author:1614775913=jrmu +diff:1614775913:1614775883:=3c3%0a%3c Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality & UNIX.%0a---%0a> Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality &c.%0a +host:1614775913=198.251.81.119 +author:1614775883=jrmu +diff:1614775883:1614775359:=3,5c3,5%0a%3c Poor Admin's illustrated, lessons for the young and old on industry, temperance, frugality &c.%0a%3c %0a%3c To teach users how to administer a free, independent network run by the users themselves.%0a---%0a> Genius without education is like silver in the mine. -- ''Poor Admin''%0a> %0a> Poor Admin's Almanack aims to teach users everything they need to administer a free, independent network run by the users themselves.%0a +host:1614775883=198.251.81.119 +author:1614775359=jrmu +diff:1614775359:1614775181:=1,2c1,2%0a%3c (:title Poor Admin's Almanack:)%0a%3c %0a---%0a> (:title The Admin's Almanack:)%0a> %0a4,5d3%0a%3c %0a%3c Poor Admin's Almanack aims to teach users everything they need to administer a free, independent network run by the users themselves.%0a +host:1614775359=198.251.81.119 +author:1614775181=jrmu +diff:1614775181:1614775081:=5,8d4%0a%3c !! IRC Chat Room%0a%3c %0a%3c Hang out with us on our IRC training channel at [[ircs://irc.ircnow.org/#wheel|irc.ircnow.org/#wheel]].%0a%3c %0a11c7,11%0a%3c !! Network News%0a---%0a> You can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a> %0a> !! IRC Chat Room%0a> %0a> You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]].%0a +host:1614775181=198.251.81.119 +author:1614775081=jrmu +diff:1614775081:1614775053:=15c15%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|Good Questions]] ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|How to Ask Questions]] ||%0a +host:1614775081=198.251.81.119 +author:1614775053=jrmu +diff:1614775053:1614774267:=15c15%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || [[minutemin/questions|How to Ask Questions]] ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || ||%0a +host:1614775053=198.251.81.119 +author:1614774267=jrmu +diff:1614774267:1614774215:=3a4,19%0a> %0a> The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a> %0a> !! Sample Config Files%0a> %0a> Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a> %0a> [@%0a> $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a> @]%0a> %0a> Then work using that configuration file as a template.%0a> %0a> !! Package READMEs%0a> %0a> Take a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a +host:1614774267=198.251.81.119 +author:1614774215=jrmu +diff:1614774215:1614774186:=3c3,4%0a%3c Genius without education is like silver in the mine. -- ''Poor Admin''%0a---%0a> Genius without education is like silver in the mine.%0a> ->''Poor Admin''%0a +host:1614774215=198.251.81.119 +author:1614774186=jrmu +diff:1614774186:1614774004:=4c4%0a%3c ->''Poor Admin''%0a---%0a> ->'''Poor Admin'''%0a +host:1614774186=198.251.81.119 +author:1614774004=jrmu +diff:1614774004:1614773951:=4c4%0a%3c ->'''Poor Admin'''%0a---%0a> ->Poor Admin%0a +host:1614774004=198.251.81.119 +author:1614773951=jrmu +diff:1614773951:1614773747:=3,4c3%0a%3c Genius without education is like silver in the mine.%0a%3c ->Poor Admin%0a---%0a> --> Genius without education is like silver in the mine. -- Poor Admin%0a +host:1614773951=198.251.81.119 +author:1614773747=jrmu +diff:1614773747:1614772836:=2,3d1%0a%3c %0a%3c --> Genius without education is like silver in the mine. -- Poor Admin%0a +host:1614773747=198.251.81.119 +author:1614772836=jrmu +diff:1614772836:1614772807:=41c41%0a%3c || OpenBSD || [[openbsd/intro|Intro]] || || || ||%0a---%0a> || [[openbsd/intro|OpenBSD]] || || || || ||%0a +host:1614772836=198.251.81.119 +author:1614772807=jrmu +diff:1614772807:1614772708:=41c41%0a%3c || [[openbsd/intro|OpenBSD]] || || || || ||%0a---%0a> || [[openbsd/overview|OpenBSD]] || || || || ||%0a +host:1614772807=198.251.81.119 +author:1614772708=jrmu +diff:1614772708:1614772654:=41d40%0a%3c || [[openbsd/overview|OpenBSD]] || || || || ||%0a +host:1614772708=198.251.81.119 +author:1614772654=jrmu +diff:1614772654:1614764169:=40c40%0a%3c ||! OpenBSD Installation ||||||||||%0a---%0a> ||! Installation ||||||||||%0a45c45,46%0a%3c %0a---%0a> || Disks || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a> %0a126d126%0a%3c || Disks || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a +host:1614772654=198.251.81.119 +author:1614764169=jrmu +diff:1614764169:1614764063:=149,150c149,150%0a%3c || Media || ImageMagick || vorbis || sndiod || sox ||%0a%3c || [[openbsd/slrn|slrn]] || icecast ||%0a---%0a> || Media || ImageMagick || vorbis || sndiod || sox || icecast ||%0a> || [[openbsd/slrn|slrn]] ||%0a +host:1614764169=198.251.81.119 +author:1614764063=jrmu +diff:1614764063:1614764025:=137c137%0a%3c ||! Telephony ||||||||||%0a---%0a> ||! Telephony ||||||||||||%0a141,142c141,142%0a%3c || [[openbsd/INN|INN]] || || || || ||%0a%3c ||! Gopher ||||||||||%0a---%0a> || [[openbsd/INN|INN]] || || || || || ||%0a> ||! Gopher ||||||||||||%0a144c144%0a%3c ||! Alt Social Media ||||||||||%0a---%0a> ||! Alt Social Media ||||||||%0a146c146%0a%3c ||! [[openbsd/misc|Misc]] ||||||||||%0a---%0a> ||! [[openbsd/misc|Misc]] ||||||||%0a +host:1614764063=198.251.81.119 +author:1614764025=jrmu +diff:1614764025:1614763888:=134,136c134,136%0a%3c ||! Games ||||||||||%0a%3c || [[openbsd/minetest|Minetest]] || || || || ||%0a%3c || Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || ||%0a---%0a> ||! Games ||||||||||||%0a> || [[openbsd/minetest|Minetest]] || || || || || ||%0a> || Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || || ||%0a +host:1614764025=198.251.81.119 +author:1614763888=jrmu +diff:1614763888:1614763872:=138c138%0a%3c || [[openbsd/asterisk|asterisk]] || || || || ||%0a---%0a> || [[openbsd/asterisk|asterisk]] || || || || || ||%0a +host:1614763888=198.251.81.119 +author:1614763872=jrmu +diff:1614763872:1614763820:=138c138%0a%3c || [[openbsd/asterisk|asterisk]] || || || || || ||%0a---%0a> || [[openbsd/asterisk|asterisk]] || || || || || || ||%0a +host:1614763872=198.251.81.119 +author:1614763820=jrmu +diff:1614763820:1614763790:=141,142c141%0a%3c || [[openbsd/INN|INN]] || || || || || ||%0a%3c ||! Gopher ||||||||||||%0a---%0a> ||! Gopher ||||||||||%0a143a143%0a> || [[openbsd/INN|INN]] || || || || || || ||%0a +host:1614763820=198.251.81.119 +author:1614763790=jrmu +diff:1614763790:1614760604:=134,135c134,135%0a%3c ||! Games ||||||||||||%0a%3c || [[openbsd/minetest|Minetest]] || || || || || ||%0a---%0a> ||! Games ||||||||||%0a> || [[openbsd/minetest|Minetest]] || || || || ||%0a137,143c137,141%0a%3c ||! Telephony ||||||||||||%0a%3c || [[openbsd/asterisk|asterisk]] || || || || || || ||%0a%3c ||! News ||||||||||%0a%3c || [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] || || ||%0a%3c ||! Gopher ||||||||||%0a%3c || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] || [[bucky/install|Bucky Install]] || ||%0a%3c || [[openbsd/INN|INN]] || || || || || || ||%0a---%0a> ||! Telephony ||||||||%0a> || [[openbsd/asterisk|asterisk]] ||%0a> ||! News ||||||||%0a> || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] ||%0a> || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] || [[bucky/install|Bucky Install]] ||%0a +host:1614763790=198.251.81.119 +author:1614760604=jrmu +diff:1614760604:1614759775:= +host:1614760604=198.251.81.119 +author:1614759775=jrmu +diff:1614759775:1614759730:=35c35%0a%3c || Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a---%0a> || Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|Free Press]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a +host:1614759775=198.251.81.119 +author:1614759730=jrmu +diff:1614759730:1614759676:=35c35%0a%3c || Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|Free Press]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a---%0a> || Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a +host:1614759730=198.251.81.119 +author:1614759676=jrmu +diff:1614759676:1614759360:=134,136c134,138%0a%3c ||! Games ||||||||||%0a%3c || [[openbsd/minetest|Minetest]] || || || || ||%0a%3c || Misc || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] || || || ||%0a---%0a> %0a> || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a> || [[openbsd/ffmpeg|ffmpeg]] ||%0a> ||! [[openbsd/games]] ||%0a> || [[openbsd/minetest|Minetest]] || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] ||%0a145,152c147,151%0a%3c || gnupg || netpgp ||%0a%3c || bitcoin || %0a%3c || Media || ImageMagick || vorbis || sndiod || sox || icecast ||%0a%3c || [[openbsd/slrn|slrn]] ||%0a%3c %0a%3c %0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/base64|base64]] || [[openbsd/uim|Chinese]] ||%0a%3c %0a---%0a> || gnupg || netpgp || bitcoin || ImageMagick || vorbis ||%0a> || sndiod || sox || icecast || [[openbsd/slrn|slrn]] ||%0a> || [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a> || [[openbsd/uim|Chinese]] ||%0a> ||! [[openbsd/dev|Development]] ||||||||%0a155a155%0a> %0a157d156%0a%3c || Hardening || [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || || ||%0a +host:1614759676=198.251.81.119 +author:1614759360=jrmu +diff:1614759360:1614759224:=145c145%0a%3c || prosody || biboumi || matrix || fediverse || ||%0a---%0a> || prosody || biboumi || matrix ||%0a +host:1614759360=198.251.81.119 +author:1614759224=jrmu +diff:1614759224:1614759149:=105c105%0a%3c || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a---%0a> || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] ||%0a109c109%0a%3c || Custom || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a---%0a> || || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a +host:1614759224=198.251.81.119 +author:1614759149=jrmu +diff:1614759149:1614758972:=107,109c107,110%0a%3c || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a%3c || Channel || [[openbsd/wraith|wraith]] || || || ||%0a%3c || || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a---%0a> || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] ||%0a> || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a> || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a> || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a +host:1614759149=198.251.81.119 +author:1614758972=jrmu +diff:1614758972:1614758648:=90c90%0a%3c || IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[ngircd/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a---%0a> || IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a96,97c96,97%0a%3c || Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || ||%0a%3c ||! Clients ||||||||||%0a---%0a> || Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a> ||! Clients ||||||||%0a99,101c99,102%0a%3c ||! Servers ||||||||||%0a%3c || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a---%0a> ||! Servers ||%0a> || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] ||%0a> || [[ngircd/oper|Oper's Guide]] ||%0a +host:1614758972=198.251.81.119 +author:1614758648=jrmu +diff:1614758648:1614758276:=126,138c126,134%0a%3c %0a%3c %0a%3c ||! System Admin ||||||||||%0a%3c || [[openbsd/pkg|pkg]] || pkglocatedb || [[openbsd/ports|ports]] || %0a%3c || Utilities || [[openbsd/doas|sudo]] || [[openbsd/syspatch|syspatch]] || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] ||%0a%3c || || [[ln/intro|symbolic links]] || [[tmux/config|tmux Config]] || || ||%0a%3c || [[openbsd/backups|Backups]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] || [[openbsd/openrsync|openrsync]] || ||%0a%3c || [[openbsd/XTerm|XTerm]] ||%0a%3c || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] %0a%3c %0a%3c %0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] ||%0a%3c || [[openbsd/ffmpeg|ffmpeg]] ||%0a---%0a> ||! [[openbsd/utilities|Utilities]] ||||||||%0a> || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/doas|sudo]] ||%0a> || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/syspatch|syspatch]] ||%0a> || [[ln/intro|symbolic links]] ||%0a> || [[openbsd/doas|doas]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a> || [[openbsd/backups|Backups]] || [[openbsd/openrsync|openrsync]] ||%0a> || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a> || [[tmux/config|tmux Config]] ||%0a> || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] ||%0a +host:1614758648=198.251.81.119 +author:1614758276=jrmu +diff:1614758276:1614758142:=70c70%0a%3c || IPSec || [[openbsd/iked|iked]] || [[vpn/vpn|VPN clients]] || || ||%0a---%0a> || IPSec || [[openbsd/iked|iked]] || || || || ||%0a72c72%0a%3c || Tor || [[tor/torsocks|torsocks]] || [[tor/hidden|Hidden Services]] || [[tor/irc|IRC with Tor]] || ||%0a---%0a> || Tor || [[openbsd/tor|tor]] || || || || ||%0a74c74%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a +host:1614758276=198.251.81.119 +author:1614758142=jrmu +diff:1614758142:1614758022:=86a87,88%0a> %0a> %0a +host:1614758142=198.251.81.119 +author:1614758022=jrmu +diff:1614758022:1614757941:=59a60,65%0a> ||! TLS ||||||||||||%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a> %0a> ||! SSH ||||||||||%0a> || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a> %0a70c76%0a%3c || IPSec || [[openbsd/iked|iked]] || || || || ||%0a---%0a> || IPSec || [[openbsd/iked|iked]] ||||||||||%0a72,79c78,79%0a%3c || Tor || [[openbsd/tor|tor]] || || || || ||%0a%3c ||! TLS ||||||||||||%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a%3c ||! SSH ||||||||||%0a%3c || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a%3c ||! File Transfer ||||||||||%0a%3c || sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a%3c %0a---%0a> || Tor || [[openbsd/tor|tor]] ||||||||||%0a> %0a88c88,89%0a%3c %0a---%0a> ||! File Transfer ||||||||||%0a> || sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a +host:1614758022=198.251.81.119 +author:1614757941=jrmu +diff:1614757941:1614757874:=69,70c69,70%0a%3c || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || ||%0a---%0a> || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] ||%0a> || [[openbsd/delphinusdnsd|delphinusdnsd]] || ||%0a +host:1614757941=198.251.81.119 +author:1614757874=jrmu +diff:1614757874:1614757727:=72,73c72,73%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || ||%0a---%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] ||%0a> || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] ||%0a +host:1614757874=198.251.81.119 +author:1614757727=jrmu +diff:1614757727:1614757700:=89,90c89,90%0a%3c || sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a%3c %0a---%0a> || sftp || [[openbsd/sftp|chrooted sftp]] ||%0a> %0a98c98%0a%3c ||! Ident ||||||||||%0a---%0a> ||! Ident ||||||||%0a +host:1614757727=198.251.81.119 +author:1614757700=jrmu +diff:1614757700:1614757654:=94c94%0a%3c ||! Bouncers ||||||||||%0a---%0a> ||! Bouncers ||||||||%0a +host:1614757700=198.251.81.119 +author:1614757654=jrmu +diff:1614757654:1614757616:=91c91%0a%3c ||! IRC ||||||||||%0a---%0a> ||! IRC ||||||||%0a +host:1614757654=198.251.81.119 +author:1614757616=jrmu +diff:1614757616:1614757597:=89a90%0a> || %0a +host:1614757616=198.251.81.119 +author:1614757597=jrmu +diff:1614757597:1614757554:=88c88%0a%3c ||! File Transfer ||||||||||%0a---%0a> ||! File Transfer ||%0a +host:1614757597=198.251.81.119 +author:1614757554=jrmu +diff:1614757554:1614757540:=86c86%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] || || ||%0a---%0a> || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||||||%0a +host:1614757554=198.251.81.119 +author:1614757540=jrmu +diff:1614757540:1614757464:=81c81,84%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/httpopenproxy|HTTP open proxies]] || [[openhttpd/perl|Perl for OpenHTTPd]] || [[openbsd/php|php]] ||%0a---%0a> || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a> || [[openhttpd/perl|Perl for OpenHTTPd]] ||%0a> || [[openbsd/php|php]] ||%0a> || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||%0a86c89%0a%3c || C || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||||||%0a---%0a> || C ||||||||||%0a +host:1614757540=198.251.81.119 +author:1614757464=jrmu +diff:1614757464:1614757219:=70c70%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] || ||%0a---%0a> || [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a122c122%0a%3c || Korn || [[unix101/unix101|unix101]] || || ||%0a---%0a> || Korn || || || ||%0a +host:1614757464=198.251.81.119 +author:1614757219=jrmu +diff:1614757219:1614698288:=61c61%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || || ||%0a +host:1614757219=198.251.81.119 +author:1614698288=jrmu +diff:1614698288:1614602798:=108c108%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] ||%0a---%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a +host:1614698288=198.251.81.119 +author:1614602798=jrmu +diff:1614602798:1614559499:=69c69%0a%3c || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] ||%0a---%0a> || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] ||%0a +host:1614602798=198.251.81.119 +author:1614559499=jrmu +diff:1614559499:1614559472:=50c50%0a%3c || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || ||%0a---%0a> || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || || ||%0a60,61c60,61%0a%3c ||! TLS ||||||||||||%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || || ||%0a---%0a> ||! TLS ||||||||||%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || || || ||%0a +host:1614559499=198.251.81.119 +author:1614559472=jrmu +diff:1614559472:1614532109:=61c61%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || || || ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a +host:1614559472=198.251.81.119 +author:1614532109=jrmu +diff:1614532109:1614532040:=110c110,111%0a%3c ||! Services ||||||||||%0a---%0a> %0a> || Services ||%0a112c113,114%0a%3c ||! Relays ||||||||||%0a---%0a> || Bouncers ||%0a> || Relays ||%0a114,116c116%0a%3c ||! Bots ||||||||||%0a%3c || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] ||%0a%3c || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a---%0a> || Bots ||%0a117a118,120%0a> %0a> || [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a> || [[openbsd/tcltls|tcltls]] ||%0a +host:1614532109=198.251.81.119 +author:1614532040=jrmu +diff:1614532040:1614531853:=77d76%0a%3c ||! Tor ||||||||||%0a80c79%0a%3c ||! [[openbsd/www|Web]] ||||||||||%0a---%0a> ||! [[openbsd/www|Web]] ||||||||%0a83c82%0a%3c || [[openbsd/php|php]] ||%0a---%0a> || [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] ||%0a85,89c84,88%0a%3c || Applications ||||||||||%0a%3c || PHP || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] || [[openbsd/wordpress|Wordpress]] ||%0a%3c || || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a%3c || || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a%3c || C ||||||||||%0a---%0a> %0a> %0a> || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a> || [[openbsd/wordpress|Wordpress]] ||%0a> || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a +host:1614532040=198.251.81.119 +author:1614531853=jrmu +diff:1614531853:1614531147:=51d50%0a%3c || || [[openbsd/dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%0a67c66,68%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/FQDN|FQDN]] || [[dns/registrars|Name Registrars]] || [[openbsd/vhost|vhost]] ||%0a---%0a> || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[dns/registrars|Name Registrars]] ||%0a> || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a> || [[dns/FQDN|FQDN]] ||%0a69c70%0a%3c || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] ||%0a---%0a> || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a74a76,80%0a> %0a> || [[openbsd/ntpd|ntpd]] ||%0a> || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a> %0a> %0a76,78c82,87%0a%3c || IPSec || [[openbsd/iked|iked]] ||||||||||%0a%3c || Tor || [[openbsd/tor|tor]] ||||||||||%0a%3c %0a---%0a> || IPSec || [[openbsd/iked|iked]] ||%0a> %0a> %0a> %0a> || [[openbsd/tor|tor]] ||%0a> %0a172,173c181%0a%3c [[Minutemin/Game|Minutemin Game]] ||%0a%3c || [[dns/zonefile|Zone File]] %0a---%0a> [[Minutemin/Game|Minutemin Game]] ||%0a\ No newline at end of file%0a +host:1614531853=198.251.81.119 +author:1614531147=jrmu +diff:1614531147:1614531083:=66,67c66,68%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[dns/registrars|Name Registrars]] ||%0a%3c || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a---%0a> || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[openbsd/domains|domains]] ||%0a> || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] %0a> || [[dns/registrars|Name Registrars]] ||%0a +host:1614531147=198.251.81.119 +author:1614531083=jrmu +diff:1614531083:1614531043:=59c59%0a%3c ||! TLS ||||||||||%0a---%0a> ||! TLS ||||||||%0a62c62%0a%3c ||! SSH ||||||||||%0a---%0a> ||! SSH ||||||||%0a65c65%0a%3c ||! DNS ||||||||||%0a---%0a> ||! DNS ||||||||%0a70c70%0a%3c ||! Authoritative ||||||||||%0a---%0a> ||! Authoritative ||||||||%0a73c73%0a%3c ||! Caching ||||||||||%0a---%0a> ||! Caching ||||||||%0a +host:1614531083=198.251.81.119 +author:1614531043=jrmu +diff:1614531043:1614530939:=60c60%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || || ||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a +host:1614531043=198.251.81.119 +author:1614530939=jrmu +diff:1614530939:1614530669:=66,67c66,68%0a%3c || [[dns/overview|DNS Overview]] || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[openbsd/domains|domains]] ||%0a%3c || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] %0a---%0a> || [[dns/overview|DNS Overview]] || [[openbsd/domains|domains]] ||%0a> %0a> || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] %0a78c79,82%0a%3c || [[openbsd/ntpd|ntpd]] ||%0a---%0a> %0a> %0a> %0a> %0a85a90%0a> || [[openbsd/ntpd|ntpd]] ||%0a +host:1614530939=198.251.81.119 +author:1614530669=jrmu +diff:1614530669:1614530554:=60,61c60,61%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a%3c %0a---%0a> || [[relayd/acceleration|relayd TLS Acceleration]] ||%0a> %0a95c95%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a---%0a> || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a139,140c139,140%0a%3c || Korn || || || ||%0a%3c || C || || || || ||%0a---%0a> || Korn || ||%0a> || C || ||%0a +host:1614530669=198.251.81.119 +author:1614530554=jrmu +diff:1614530554:1614530507:=59c59%0a%3c ||! TLS ||||||||%0a---%0a> ||! TLS ||%0a62c62%0a%3c ||! SSH ||||||||%0a---%0a> ||! SSH ||%0a65c65%0a%3c ||! DNS ||||||||%0a---%0a> ||! DNS ||%0a71c71%0a%3c ||! Authoritative ||||||||%0a---%0a> ||! Authoritative ||%0a74c74%0a%3c ||! Caching ||||||||%0a---%0a> ||! Caching ||%0a86c86%0a%3c ||! VPNs ||||||||||%0a---%0a> ||! VPNs ||%0a +host:1614530554=198.251.81.119 +author:1614530507=jrmu +diff:1614530507:1614530432:= +host:1614530507=198.251.81.119 +author:1614530432=jrmu +diff:1614530432:1614529169:=31a32,33%0a> ||! IRC Guides ||||||||||%0a> || IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a56,58c58,60%0a%3c || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a%3c || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || || ||%0a%3c %0a---%0a> || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a> || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] ||%0a> %0a86,89c88,91%0a%3c ||! VPNs ||%0a%3c || IPSec || [[openbsd/iked|iked]] ||%0a%3c %0a%3c %0a---%0a> %0a> || [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] || %0a> %0a> %0a109,120c111,126%0a%3c ||! IRC ||||||||%0a%3c ||! IRC Guides ||||||||||%0a%3c || IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a%3c ||! Bouncers ||||||||%0a%3c || ZNC || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a%3c || PsyBNC || [[openbsd/psybnc|psybnc]] || || || ||%0a%3c || BNCs || [[openbsd/ilines|ilines]] || || || ||%0a%3c ||! Ident ||||||||%0a%3c || Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a%3c ||! Clients ||||||||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a%3c ||! Servers ||%0a---%0a> ||! [[openbsd/irc|IRC]] ||||||||%0a> || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a> || [[openbsd/ZNCModules|ZNC modules]] ||%0a> || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a> %0a> %0a> || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a> || [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a> || [[openbsd/tcltls|tcltls]] || %0a> %0a> || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a> %0a> || Clients ||%0a> || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] ||%0a> %0a> || Servers ||%0a132,136d137%0a%3c %0a%3c || [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a%3c || [[openbsd/tcltls|tcltls]] ||%0a%3c || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a%3c %0a138,141c139%0a%3c || Perl || [[openbsd/CPAN|CPAN]] ||%0a%3c || Korn || ||%0a%3c || C || ||%0a%3c %0a---%0a> || [[openbsd/CPAN|CPAN]] ||%0a +host:1614530432=198.251.81.119 +author:1614529169=jrmu +diff:1614529169:1614528646:=29c29%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] || ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||||%0a +host:1614529169=198.251.81.119 +author:1614528646=jrmu +diff:1614528646:1614528151:=58c58%0a%3c || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a---%0a> || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a61,70c61,67%0a%3c ||! TLS ||%0a%3c || [[relayd/acceleration|relayd TLS Acceleration]] ||%0a%3c %0a%3c ||! SSH ||%0a%3c || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a%3c %0a%3c ||! DNS ||%0a%3c || [[dns/overview|DNS Overview]] || [[openbsd/domains|domains]] ||%0a%3c %0a%3c || [[dns/records|DNS Records]] || [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] %0a---%0a> || [[relayd/acceleration|relayd TLS Acceleration]] || [[openbsd/stunnel|stunnel]] ||%0a> || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a> %0a> || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a> || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || %0a> %0a> || [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a73,77d69%0a%3c ||! Authoritative ||%0a%3c || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a%3c ||! Caching ||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] ||%0a79,86c71,76%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a%3c %0a---%0a> || [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a> || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a> || [[dns/records|DNS Records]] ||%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a> || [[openbsd/unboundadblock|unbound adblock]] ||%0a> || [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a +host:1614528646=198.251.81.119 +author:1614528151=jrmu +diff:1614528151:1614527935:=50,51c50,51%0a%3c || [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[tcpip/sockets|sockets]] || [[openbsd/netmask|Netmasks]] ||%0a%3c || || [[openbsd/anycast|Anycast Addresses]] || || || ||%0a---%0a> || [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[tcpip/sockets|sockets]] ||%0a> || || [[openbsd/netmask|Netmasks]] || [[openbsd/anycast|Anycast Addresses]] %0a75a76%0a> %0a77,78d77%0a%3c %0a%3c %0a83c82%0a%3c %0a---%0a> || [[openbsd/sftp|chrooted sftp]] ||%0a91,92d89%0a%3c %0a%3c %0a96,100d92%0a%3c %0a%3c ||! File Transfer ||%0a%3c || sftp || [[openbsd/sftp|chrooted sftp]] ||%0a%3c || %0a%3c %0a +host:1614528151=198.251.81.119 +author:1614527935=jrmu +diff:1614527935:1614527111:=50c50%0a%3c || [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[tcpip/sockets|sockets]] ||%0a---%0a> || [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[openbsd/staticnet|Static Networking]] || [[tcpip/sockets|sockets]] ||%0a52d51%0a%3c || Configure || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || || ||%0a +host:1614527935=198.251.81.119 +author:1614527111=jrmu +diff:1614527111:1614527085:=46c46%0a%3c || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || ||%0a---%0a> || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a +host:1614527111=198.251.81.119 +author:1614527085=jrmu +diff:1614527085:1614527001:=53c53%0a%3c || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pfbadhost|pfbadhost]] ||%0a---%0a> || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing] || [[openbsd/pfbadhost|pfbadhost]] ||%0a +host:1614527085=198.251.81.119 +author:1614527001=jrmu +diff:1614527001:1614526765:=41d40%0a%3c %0a49c48%0a%3c ||! Networking ||||||||||%0a---%0a> ||! [[openbsd/net|Networking]] ||||||||||%0a52,56c51,56%0a%3c ||! Firewall ||||||||||%0a%3c || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing] || [[openbsd/pfbadhost|pfbadhost]] ||%0a%3c || [[openbsd/ddos|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] || [[openbsd/SYNFlood|SYN Flood]] ||%0a%3c || || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] || [[openbsd/amplification|amplification attack]] ||%0a%3c ||! Troubleshooting ||||||||||%0a---%0a> %0a> || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a> || [[openbsd/ddos|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a> || [[openbsd/SYNFlood|SYN Flood]] || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] ||%0a> || [[openbsd/amplification|amplification attack]] ||%0a> %0a58,59c58,60%0a%3c || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] ||%0a%3c %0a---%0a> || [[telnet/http|Telnet HTTP]] ||%0a> || [[openssl/http|OpenSSL HTTP]] ||%0a> || [[openbsd/pfbadhost|pfbadhost]] ||%0a +host:1614527001=198.251.81.119 +author:1614526765=jrmu +diff:1614526765:1614526240:=41,46c41,46%0a%3c ||! Installation ||||||||||%0a%3c || Virtual Machines || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a%3c || Bare Metal || Dell || Supermicro || [[openbsd/BBB|BeagleBone Black]] || ||%0a%3c || Upgrade || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || ||%0a%3c || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a%3c || Disks || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a---%0a> ||! Install Guides ||||||||||%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a> || [[openbsd/BBB|BeagleBone Black]] ||%0a> || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] ||%0a> || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a> || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a +host:1614526765=198.251.81.119 +author:1614526240=jrmu +diff:1614526240:1614526220:=40c40%0a%3c || Union || [[freedom/federation|Federation]] || || || ||%0a---%0a> || Union || [[freedom/federation|Federation]] || || || || ||%0a +host:1614526240=198.251.81.119 +author:1614526220=jrmu +diff:1614526220:1614526204:=35c35%0a%3c || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a---%0a> || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || || ||%0a +host:1614526220=198.251.81.119 +author:1614526204=jrmu +diff:1614526204:1614526082:=35c35%0a%3c || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || || ||%0a---%0a> || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a +host:1614526204=198.251.81.119 +author:1614526082=jrmu +diff:1614526082:1614525783:=36c36%0a%3c || Independence || [[freedom/selfadmin|Self-Admin]] || [[Freedom/Independence|Declaration]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a---%0a> || Independence || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a40c40%0a%3c || Union || [[freedom/federation|Federation]] || || || || ||%0a---%0a> || || [[Freedom/Independence|Declaration]] || || || || ||%0a +host:1614526082=198.251.81.119 +author:1614525783=jrmu +diff:1614525783:1614525631:=40c40%0a%3c || || [[Freedom/Independence|Declaration]] || || || || ||%0a---%0a> ||! [[Freedom/Independence|Declaration of Network Independence]] ||||||||||||%0a +host:1614525783=198.251.81.119 +author:1614525631=jrmu +diff:1614525631:1614525339:=35c35%0a%3c || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a---%0a> || IRCitizenship || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a +host:1614525631=198.251.81.119 +author:1614525339=jrmu +diff:1614525339:1614525220:=35c35%0a%3c || IRCitizenship || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a---%0a> || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a +host:1614525339=198.251.81.119 +author:1614525220=jrmu +diff:1614525220:1614525128:=36,40d35%0a%3c || Independence || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a%3c || Liberty || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a%3c || Opportunity || [[freedom/homestead|Free Homestead VPS]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a%3c || Justice || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a%3c ||! [[Freedom/Independence|Declaration of Network Independence]] ||||||||||||%0a +host:1614525220=198.251.81.119 +author:1614525128=jrmu +diff:1614525128:1614525035:=31c31%0a%3c || [[congress/procedure|Congress Procedure]] || || || || ||%0a---%0a> || [[congress/procedure|Congress Procedure]] ||||||||||%0a34,35c34,35%0a%3c ||! Civics ||||||||||%0a%3c || [[immigrant/welcome|Immigrant's Welcome]] || || || || ||%0a---%0a> ||! Civics ||%0a> || [[immigrant/welcome|Immigrant's Welcome]] ||%0a +host:1614525128=198.251.81.119 +author:1614525035=jrmu +diff:1614525035:1614524775:=33,34c33%0a%3c || IRC || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a%3c ||! Civics ||%0a---%0a> || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a +host:1614525035=198.251.81.119 +author:1614524775=jrmu +diff:1614524775:1614524522:=33c33%0a%3c || [[irc/guide|IRC101]] || [[irc/chanop|Channel Op Guide]] || [[irc/oper|Oper Guide]] || [[irc/services|Services Guide]] ||%0a---%0a> || [[irc/guide|IRC101]] ||%0a +host:1614524775=198.251.81.119 +author:1614524522=jrmu +diff:1614524522:1614524491:=29c29%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||%0a31c31%0a%3c || [[congress/procedure|Congress Procedure]] ||||||||||%0a---%0a> || [[congress/procedure|Congress Procedure]] ||%0a +host:1614524522=198.251.81.119 +author:1614524491=jrmu +diff:1614524491:1614524423:=29,31c29,32%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||%0a%3c || [[openbsd/team|Team]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] || [[openbsd/announce|Announcements]] ||%0a%3c || [[congress/procedure|Congress Procedure]] ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] ||%0a> || Ethics || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||%0a> || Teamwork || [[openbsd/stable|Stable sysadmin]] || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] ||%0a> || [[openbsd/announce|Announcements]] || [[congress/procedure|Congress Procedure]] ||%0a +host:1614524491=198.251.81.119 +author:1614524423=jrmu +diff:1614524423:1614516506:=32c32,33%0a%3c || [[openbsd/announce|Announcements]] || [[congress/procedure|Congress Procedure]] ||%0a---%0a> || [[congress/procedure|Congress Procedure]] || [[Minutemin/Game|Minutemin Game]] ||%0a> || [[openbsd/announce|Announcements]] ||%0a42d42%0a%3c %0a44,46c44,48%0a%3c || [[tcpip/overview|TCP/IP]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] || [[openbsd/staticnet|Static Networking]] || [[tcpip/sockets|sockets]] ||%0a%3c || || [[openbsd/netmask|Netmasks]] || [[openbsd/anycast|Anycast Addresses]] %0a%3c %0a---%0a> || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] ||%0a> || [[tcpip/sockets|sockets]] || [[openbsd/netmask|Netmasks]] ||%0a> %0a> || [[openbsd/anycast|Anycast Addresses]] %0a> %0a160,162c162%0a%3c || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a%3c %0a%3c [[Minutemin/Game|Minutemin Game]] || %0a\ No newline at end of file%0a---%0a> || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a\ No newline at end of file%0a +host:1614524423=198.251.81.119 +author:1614516506=jrmu +diff:1614516506:1614515367:=28c28%0a%3c ||! Training ||||||||||%0a---%0a> ||! Training ||||||||%0a34c34%0a%3c ||! IRC Guides ||||||||||%0a---%0a> ||! IRC Guides ||||||||%0a37c37%0a%3c ||! Install Guides ||||||||||%0a---%0a> ||! Install Guides ||||||||%0a43c43%0a%3c ||! [[openbsd/net|Networking]] ||||||||||%0a---%0a> ||! [[openbsd/net|Networking]] ||||||||%0a +host:1614516506=125.224.26.27 +author:1614515367=jrmu +diff:1614515367:1614513285:=31c31,32%0a%3c || Teamwork || [[openbsd/stable|Stable sysadmin]] || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] || [[servers/rights|Servers' Rights]] ||%0a---%0a> || Teamwork || [[openbsd/stable|Stable sysadmin]] || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] ||%0a> || || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a +host:1614515367=198.251.81.119 +author:1614513285=jrmu +diff:1614513285:1614502710:=30,32c30,33%0a%3c || Ethics || [[minutemin/code|Code of Honor]] || [[minutemin/server|My Server]] || [[minutemin/duty|Call of Duty]] ||%0a%3c || Teamwork || [[openbsd/stable|Stable sysadmin]] || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] ||%0a%3c || || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a---%0a> || [[minutemin/code|Code of Honor]] || [[minutemin/server|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a> || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || %0a> || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] ||%0a> || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a +host:1614513285=198.251.81.119 +author:1614502710=jrmu +diff:1614502710:1614502539:=64,65c64,66%0a%3c || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || %0a%3c %0a---%0a> || [[openbsd/sshd|sshd]] || [[openbsd/ssh|ssh]] || %0a> [[openbsd/ssh|ssh keys]] ||%0a> %0a78,79c79,80%0a%3c %0a%3c %0a---%0a> || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] ||%0a> || [[bucky/install|Bucky Install]] ||%0a96,97c97,98%0a%3c %0a%3c %0a---%0a> || [[openbsd/bitlbee|bitlbee]] ||%0a> || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a101c102%0a%3c %0a---%0a> || [[pylink/install|pylink]] ||%0a103,104d103%0a%3c %0a%3c || Clients ||%0a106,107d104%0a%3c %0a%3c || Servers ||%0a111,112d107%0a%3c %0a%3c || Services ||%0a114,118d108%0a%3c || Bouncers ||%0a%3c || Relays ||%0a%3c || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] ||%0a%3c || Bots ||%0a%3c || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a144d133%0a%3c || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] || [[bucky/install|Bucky Install]] ||%0a +host:1614502710=198.251.81.119 +author:1614502539=jrmu +diff:1614502539:1614502378:=62c62,67%0a%3c %0a---%0a> || [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a> || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a> || [[dns/records|DNS Records]] ||%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a> || [[dns/FQDN|FQDN]] ||%0a> || [[openbsd/unboundadblock|unbound adblock]] ||%0a64,66d68%0a%3c || [[openbsd/sshd|sshd]] || [[openbsd/ssh|ssh]] || %0a%3c [[openbsd/ssh|ssh keys]] ||%0a%3c %0a69d70%0a%3c || [[dns/FQDN|FQDN]] ||%0a71,76d71%0a%3c || [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a%3c || [[dns/records|DNS Records]] ||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a%3c || [[openbsd/unboundadblock|unbound adblock]] ||%0a%3c %0a84c79%0a%3c %0a---%0a> || [[openbsd/sshd|sshd]] ||%0a121c116%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/syspatch|syspatch]] ||%0a---%0a> || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ssh|ssh]] || [[openbsd/syspatch|syspatch]] ||%0a149c144%0a%3c || [[openbsd/databaseperms|Database Permissions]] ||%0a---%0a> || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] ||%0a +host:1614502539=198.251.81.119 +author:1614502378=jrmu +diff:1614502378:1614501684:=47,52c47,51%0a%3c || [[tcpip/sockets|sockets]] || [[openbsd/netmask|Netmasks]] ||%0a%3c %0a%3c || [[openbsd/anycast|Anycast Addresses]] %0a%3c %0a%3c || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a%3c || [[openbsd/ddos|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a---%0a> || [[tcpip/sockets|sockets]] ||%0a> || [[openbsd/netmask|Netmasks]] ||%0a> || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/pf|Packet Filter]] || [[openbsd/ddos|DDoS Defense]] ||%0a> || [[pf/guide|PF Guide]] ||%0a> || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a55d53%0a%3c %0a56a55%0a> || [[ln/intro|symbolic links]] ||%0a58a58%0a> || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a117d116%0a%3c || [[ln/intro|symbolic links]] ||%0a +host:1614502378=198.251.81.119 +author:1614501684=jrmu +diff:1614501684:1614501645:=27c27%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25 %0a +host:1614501684=198.251.81.119 +author:1614501645=jrmu +diff:1614501645:1614501638:= +host:1614501645=198.251.81.119 +author:1614501638=jrmu +diff:1614501638:1614501544:=29c29,30%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] ||%0a---%0a> || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a> || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a31,33d31%0a%3c || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || %0a%3c || [[openbsd/team|Team procedure]] || [[openbsd/testing|Testing sysadmin]] ||%0a%3c || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a +host:1614501638=198.251.81.119 +author:1614501544=jrmu +diff:1614501544:1614501354:=33d32%0a%3c || [[openbsd/announce|Announcements]] ||%0a125,127c124,127%0a%3c || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] || [[webnews/install|Web News Install]] || [[Gazette/Gazette|News clients]] ||%0a%3c ||! Alt Social Media ||||||||%0a%3c || prosody || biboumi || matrix ||%0a---%0a> ||! Type || || || ||%0a> || Servers || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a> || Web apps || [[webnews/install|Web News Install]] ||%0a> || Clients || [[Gazette/Gazette|News clients]] ||%0a129c129,130%0a%3c || gnupg || netpgp || bitcoin || ImageMagick || vorbis ||%0a---%0a> || prosody || biboumi || matrix || gnupg ||%0a> || netpgp || bitcoin || ImageMagick || vorbis ||%0a134,135c135,140%0a%3c ||! [[hosting/hosting|Hosting]] ||||||||%0a%3c || [[hosting/providers|Hosting Providers]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[openbsd/vmm|vmm]] ||%0a---%0a> %0a> %0a> ||! [[openbsd/hosting|Hosting]] ||||||||%0a> || [[hosting/providers|Hosting Providers]] ||%0a> || [[openbsd/vmm|vmm]] ||%0a> || [[openbsd/announce|Announcements]] ||%0a +host:1614501544=198.251.81.119 +author:1614501354=jrmu +diff:1614501354:1614492129:=124,127c124,125%0a%3c ||! Type || || || ||%0a%3c || Servers || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a%3c || Web apps || [[webnews/install|Web News Install]] ||%0a%3c || Clients || [[Gazette/Gazette|News clients]] ||%0a---%0a> || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a> || [[webnews/install|Web News Install]] ||%0a135,136d132%0a%3c %0a%3c %0a141,142d136%0a%3c %0a%3c %0a +host:1614501354=198.251.81.119 +author:1614492129=jrmu +diff:1614492129:1614490790:=35d34%0a%3c || [[immigrant/welcome|Immigrant's Welcome]] ||%0a +host:1614492129=198.251.81.119 +author:1614490790=jrmu +diff:1614490790:1614490687:=33,34d32%0a%3c ||! IRC Guides ||||||||%0a%3c || [[irc/guide|IRC101]] ||%0a +host:1614490790=198.251.81.119 +author:1614490687=jrmu +diff:1614490687:1614490687:=1,141d0%0a%3c (:title The Admin's Almanack:)%0a%3c %0a%3c The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%3c %0a%3c !! Sample Config Files%0a%3c %0a%3c Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c Then work using that configuration file as a template.%0a%3c %0a%3c !! Package READMEs%0a%3c %0a%3c Take a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a%3c %0a%3c !! Mailing Lists%0a%3c %0a%3c You can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%3c %0a%3c !! IRC Chat Room%0a%3c %0a%3c You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]].%0a%3c %0a%3c || border=1 width=100%25 %0a%3c ||! Training ||||||||%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a%3c || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a%3c || [[minutemin/code|Code of Honor]] || [[minutemin/server|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a%3c || [[congress/procedure|Congress Procedure]] || [[Minutemin/Game|Minutemin Game]] ||%0a%3c ||! Install Guides ||||||||%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a%3c || [[openbsd/BBB|BeagleBone Black]] ||%0a%3c || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] ||%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a%3c || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a%3c ||! [[openbsd/net|Networking]] ||||||||%0a%3c || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] ||%0a%3c || [[tcpip/sockets|sockets]] ||%0a%3c || [[openbsd/netmask|Netmasks]] ||%0a%3c || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/pf|Packet Filter]] || [[openbsd/ddos|DDoS Defense]] ||%0a%3c || [[pf/guide|PF Guide]] ||%0a%3c || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] ||%0a%3c || [[openbsd/amplification|amplification attack]] ||%0a%3c || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a%3c || [[ln/intro|symbolic links]] ||%0a%3c || [[telnet/http|Telnet HTTP]] ||%0a%3c || [[openssl/http|OpenSSL HTTP]] ||%0a%3c || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a%3c || [[openbsd/pfbadhost|pfbadhost]] ||%0a%3c || [[relayd/acceleration|relayd TLS Acceleration]] || [[openbsd/stunnel|stunnel]] ||%0a%3c || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a%3c || [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a%3c || [[dns/records|DNS Records]] ||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a%3c || [[dns/FQDN|FQDN]] ||%0a%3c || [[openbsd/unboundadblock|unbound adblock]] ||%0a%3c || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a%3c || [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a%3c || [[dns/registrars|Name Registrars]] ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a%3c || [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] || %0a%3c || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] ||%0a%3c || [[bucky/install|Bucky Install]] ||%0a%3c || [[openbsd/ntpd|ntpd]] ||%0a%3c || [[openbsd/sftp|chrooted sftp]] ||%0a%3c || [[openbsd/tor|tor]] ||%0a%3c || [[openbsd/sshd|sshd]] ||%0a%3c ||! [[openbsd/www|Web]] ||||||||%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a%3c || [[openhttpd/perl|Perl for OpenHTTPd]] ||%0a%3c || [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] ||%0a%3c || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||%0a%3c || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a%3c || [[openbsd/wordpress|Wordpress]] ||%0a%3c || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a%3c ||! [[openbsd/irc|IRC]] ||||||||%0a%3c || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a%3c || [[openbsd/ZNCModules|ZNC modules]] ||%0a%3c || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a%3c || [[openbsd/bitlbee|bitlbee]] ||%0a%3c || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a%3c || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a%3c || [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a%3c || [[openbsd/tcltls|tcltls]] || %0a%3c || [[pylink/install|pylink]] ||%0a%3c || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] ||%0a%3c || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a%3c || [[ngircd/oper|Oper's Guide]] ||%0a%3c || [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a%3c ||! Languages ||||||||%0a%3c || [[openbsd/CPAN|CPAN]] ||%0a%3c ||! [[openbsd/mail|Mail]] ||||||||%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/dkimproxy|dkimproxy]] ||%0a%3c || [[openbsd/dovecot|dovecot]] ||%0a%3c || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a%3c || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a%3c || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a%3c ||! [[openbsd/av|Audiovideo]] ||||||||%0a%3c ||! [[openbsd/utilities|Utilities]] ||||||||%0a%3c || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/doas|sudo]] ||%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ssh|ssh]] || [[openbsd/syspatch|syspatch]] ||%0a%3c || [[openbsd/doas|doas]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a%3c || [[openbsd/backups|Backups]] || [[openbsd/openrsync|openrsync]] ||%0a%3c || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a%3c || [[tmux/config|tmux Config]] ||%0a%3c || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] ||%0a%3c ||! [[openbsd/games]] ||%0a%3c || [[openbsd/minetest|Minetest]] || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] ||%0a%3c ||! Telephony ||||||||%0a%3c || [[openbsd/asterisk|asterisk]] ||%0a%3c ||! News ||||||||%0a%3c || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a%3c || [[webnews/install|Web News Install]] ||%0a%3c ||! [[openbsd/misc|Misc]] ||||||||%0a%3c || prosody || biboumi || matrix || gnupg ||%0a%3c || netpgp || bitcoin || ImageMagick || vorbis ||%0a%3c || sndiod || sox || icecast || [[openbsd/slrn|slrn]] ||%0a%3c || [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a%3c || [[openbsd/uim|Chinese]] ||%0a%3c ||! [[openbsd/dev|Development]] ||||||||%0a%3c ||! [[openbsd/hosting|Hosting]] ||||||||%0a%3c || [[hosting/providers|Hosting Providers]] ||%0a%3c || [[openbsd/vmm|vmm]] ||%0a%3c || [[openbsd/announce|Announcements]] ||%0a%3c ||! [[openbsd/security|Security]] ||||||||%0a%3c || [[openbsd/phishing|Phishing]] || [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] ||%0a%3c || [[openbsd/rootkits|Rootkits]] || [[openbsd/chroot|Chroot]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a%3c || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] ||%0a%3c || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a%3c || [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] ||%0a%3c || [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/edquota|file quotas]] ||%0a%3c || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a\ No newline at end of file%0a +host:1614490687=198.251.81.119 blob - /dev/null blob + ae078b6030f34f17b87bb70742933e5580df4a02 (mode 644) --- /dev/null +++ wiki.d/Almanack.Alt,del-1627890732 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614688062 +host=198.251.81.119 +name=Almanack.Alt +rev=1 +targets= +text=|| border=1 width=100%25 class="sortable simpletable"%0a||! Training |||||||||| +time=1614688062 +author:1614688062=jrmu +diff:1614688062:1614688062:=1,2d0%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Training ||||||||||%0a\ No newline at end of file%0a +host:1614688062=198.251.81.119 blob - /dev/null blob + 44f3e94fdbbbe92fbc6944cefad12c702794e2d0 (mode 644) --- /dev/null +++ wiki.d/Almanack.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1614490687 +host=198.251.82.194 +name=Almanack.RecentChanges +rev=322 +text=* [[Almanack/Almanack]] . . . December 17, 2021, at 03:42 PM 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=1639755749 blob - /dev/null blob + dfc7ed965faaa8a58ae9e254224878c4afc91b83 (mode 644) --- /dev/null +++ wiki.d/Almanack.Rewrite @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 +author=hydragyrum +charset=UTF-8 +csum= +ctime=1635571741 +host=76.178.24.7 +name=Almanack.Rewrite +rev=4 +targets=Almanack.Almanack,CodeForce.Bootcamp,Minutemin.Code,Minutemin.Server,Minutemin.Progress,Medals.Intro,Openbsd.Team,Openbsd.Stable,Openbsd.Testing +text=[+rewrite of [[Almanack.Almanack]] to improve access to information and solve the other issues+]%0a%0a* Training%0a * [[CodeForce.Bootcamp|CodeForce Bootcamp]]%0a * [[minutemin/code|Code of Honor]]%0a * [[minutemin/server|My Server]]%0a * [[Minutemin/Progress|Progress]]%0a * [[medals/intro|Medals]]%0a * [[openbsd/team|Team]]%0a * [[openbsd/stable|Stable sysadmin]]%0a * [[openbsd/testing|Testing sysadmin]]%0a* Civics%0a* OpenBSD%0a* Networking%0a* Firewall%0a* Troubleshooting%0a* DNS%0a * Authoratative%0a * Caching%0a* Cryptography%0a * Signing%0a * VPNs%0a * Tor%0a * TLS%0a * SSH%0a* File Transfer%0a* Version Control%0a* Web%0a* IRC%0a * IRC Guides%0a * Bouncers%0a * Ident%0a * Clients%0a * Servers%0a * Services%0a * Relays%0a * Bots%0a* Languages%0a* Mail%0a* Sysadmin%0a* Security%0a* Games%0a* Desktop%0a* Plan 9%0a +time=1635719449 +author:1635719449=hydragyrum +diff:1635719449:1635719403:=11a12%0a> %0a12a14%0a> %0a13a16%0a> %0a14a18%0a> %0a15a20%0a> %0a16a22%0a> %0a19a26%0a> %0a25a33%0a> %0a26a35%0a> %0a27a37%0a> %0a28a39%0a> %0a37a49%0a> %0a38a51%0a> %0a39a53%0a> %0a40a55%0a> %0a41a57%0a> %0a42a59%0a> %0a43a61%0a> %0a +host:1635719449=76.178.24.7 +author:1635719403=hydragyrum +csum:1635719403=Outline some basic structure +diff:1635719403:1635625578:=1,62c1%0a%3c [+rewrite of [[Almanack.Almanack]] to improve access to information and solve the other issues+]%0a%3c %0a%3c * Training%0a%3c * [[CodeForce.Bootcamp|CodeForce Bootcamp]]%0a%3c * [[minutemin/code|Code of Honor]]%0a%3c * [[minutemin/server|My Server]]%0a%3c * [[Minutemin/Progress|Progress]]%0a%3c * [[medals/intro|Medals]]%0a%3c * [[openbsd/team|Team]]%0a%3c * [[openbsd/stable|Stable sysadmin]]%0a%3c * [[openbsd/testing|Testing sysadmin]]%0a%3c %0a%3c * Civics%0a%3c %0a%3c * OpenBSD%0a%3c %0a%3c * Networking%0a%3c %0a%3c * Firewall%0a%3c %0a%3c * Troubleshooting%0a%3c %0a%3c * DNS%0a%3c * Authoratative%0a%3c * Caching%0a%3c %0a%3c * Cryptography%0a%3c * Signing%0a%3c * VPNs%0a%3c * Tor%0a%3c * TLS%0a%3c * SSH%0a%3c %0a%3c * File Transfer%0a%3c %0a%3c * Version Control%0a%3c %0a%3c * Web%0a%3c %0a%3c * IRC%0a%3c * IRC Guides%0a%3c * Bouncers%0a%3c * Ident%0a%3c * Clients%0a%3c * Servers%0a%3c * Services%0a%3c * Relays%0a%3c * Bots%0a%3c %0a%3c * Languages%0a%3c %0a%3c * Mail%0a%3c %0a%3c * Sysadmin%0a%3c %0a%3c * Security%0a%3c %0a%3c * Games%0a%3c %0a%3c * Desktop%0a%3c %0a%3c * Plan 9%0a---%0a> [+rewrite of [[Almanack.Almanack]] to improve access to information and solve the other issues+]%0a\ No newline at end of file%0a +host:1635719403=76.178.24.7 +author:1635625578=hydragyrum +diff:1635625578:1635571741:=1c1%0a%3c [+rewrite of [[Almanack.Almanack]] to improve access to information and solve the other issues+]%0a\ No newline at end of file%0a---%0a> [+rewrite of [Almanack.Almanack] to improve access to information and solve the other issues+]%0a\ No newline at end of file%0a +host:1635625578=76.178.24.7 +author:1635571741=hydragyrum +diff:1635571741:1635571741:=1d0%0a%3c [+rewrite of [Almanack.Almanack] to improve access to information and solve the other issues+]%0a\ No newline at end of file%0a +host:1635571741=76.178.24.7 blob - /dev/null blob + a866655828c91b079f6763f6ca9fad8b54cd68e1 (mode 644) --- /dev/null +++ wiki.d/Ambassador.Ilines @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1622132968 +host=125.231.17.115 +name=Ambassador.Ilines +rev=1 +targets= +text=In order for our bouncer and shell account users to connect to other networks using our IPs, we must ask IRC opers for connection limit exemptions. This is because too many connections coming from the IP may look like spam. These exemptions are sometimes called '''ilines'''.%0a%0aHere is a sample email:%0a%0a-> Greetings,%0a%0a-> I'd like to request an connection limit exception for:%0a%0a-> IPv4 addresses: %0a-> 1. 198.251.81.44 (planetofnix.com)%0a-> 2. 198.251.81.119 (nastycode.com)%0a-> 3. 198.251.80.229 (mango.ircnow.org)%0a-> 4. 209.141.39.173 (ircnow.org)%0a-> 5. 198.251.83.183 (ircforever.org)%0a-> 6. 209.141.39.228 (shelltalk.net)%0a-> 7. 209.141.39.184 (jujube.ircnow.org)%0a-> 8. 198.251.84.240 (oddprotocol.org)%0a-> 9. 198.251.89.130 (thunderirc.net)%0a-> 10. 209.141.38.137 (lecturify.com)%0a-> 11. 198.251.81.133 (bsdforall.com)%0a-> 12. 198.251.89.91 (grape.ircnow.org)%0a-> 13. 198.251.84.158 (freeirc.org)%0a%0a-> IPv6 addresses:%0a-> 1. 2605:6400:0010:069d::/64 (planetofnix.com)%0a-> 2. 2605:6400:0010:05bf::/64 (nastycode.com)%0a-> 3. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a-> 4. 2605:6400:0020:0bb8::/64 (ircnow.org)%0a-> 5. 2605:6400:0010:071b::/64 (ircforever.org)%0a-> 6. 2605:6400:0020:00b4::/64 (shelltalk.net)%0a-> 7. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a-> 8. 2605:6400:0030:fc15::/64 (oddprotocol.org)%0a-> 9. 2605:6400:0030:f8de::/64 (thunderirc.net)%0a-> 10. 2605:6400:0020:05cc::/64 (lecturify.com)%0a-> 11. 2605:6400:0010:00fe::/64 (bsdforall.com)%0a-> 12. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a-> 13. 2605:6400:30:f633::/64 (freeirc.org)%0a%0a-> IRCNow is providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org.%0a%0a-> You can contact our team at outreach@ircnow.org if you need any other details. We currently have around 800 users. Bouncer users have a unique IPv6 addresses and ident configured. Shell users have ident configured. If possible, can you authorize 20 connections per IP in case it is needed? We are adding around 10 new users each week.%0a%0a-> IRCNow +time=1622132968 +author:1622132968=jrmu +diff:1622132968:1622132968:=1,43d0%0a%3c In order for our bouncer and shell account users to connect to other networks using our IPs, we must ask IRC opers for connection limit exemptions. This is because too many connections coming from the IP may look like spam. These exemptions are sometimes called '''ilines'''.%0a%3c %0a%3c Here is a sample email:%0a%3c %0a%3c -> Greetings,%0a%3c %0a%3c -> I'd like to request an connection limit exception for:%0a%3c %0a%3c -> IPv4 addresses: %0a%3c -> 1. 198.251.81.44 (planetofnix.com)%0a%3c -> 2. 198.251.81.119 (nastycode.com)%0a%3c -> 3. 198.251.80.229 (mango.ircnow.org)%0a%3c -> 4. 209.141.39.173 (ircnow.org)%0a%3c -> 5. 198.251.83.183 (ircforever.org)%0a%3c -> 6. 209.141.39.228 (shelltalk.net)%0a%3c -> 7. 209.141.39.184 (jujube.ircnow.org)%0a%3c -> 8. 198.251.84.240 (oddprotocol.org)%0a%3c -> 9. 198.251.89.130 (thunderirc.net)%0a%3c -> 10. 209.141.38.137 (lecturify.com)%0a%3c -> 11. 198.251.81.133 (bsdforall.com)%0a%3c -> 12. 198.251.89.91 (grape.ircnow.org)%0a%3c -> 13. 198.251.84.158 (freeirc.org)%0a%3c %0a%3c -> IPv6 addresses:%0a%3c -> 1. 2605:6400:0010:069d::/64 (planetofnix.com)%0a%3c -> 2. 2605:6400:0010:05bf::/64 (nastycode.com)%0a%3c -> 3. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a%3c -> 4. 2605:6400:0020:0bb8::/64 (ircnow.org)%0a%3c -> 5. 2605:6400:0010:071b::/64 (ircforever.org)%0a%3c -> 6. 2605:6400:0020:00b4::/64 (shelltalk.net)%0a%3c -> 7. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a%3c -> 8. 2605:6400:0030:fc15::/64 (oddprotocol.org)%0a%3c -> 9. 2605:6400:0030:f8de::/64 (thunderirc.net)%0a%3c -> 10. 2605:6400:0020:05cc::/64 (lecturify.com)%0a%3c -> 11. 2605:6400:0010:00fe::/64 (bsdforall.com)%0a%3c -> 12. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a%3c -> 13. 2605:6400:30:f633::/64 (freeirc.org)%0a%3c %0a%3c -> IRCNow is providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org.%0a%3c %0a%3c -> You can contact our team at outreach@ircnow.org if you need any other details. We currently have around 800 users. Bouncer users have a unique IPv6 addresses and ident configured. Shell users have ident configured. If possible, can you authorize 20 connections per IP in case it is needed? We are adding around 10 new users each week.%0a%3c %0a%3c -> IRCNow%0a\ No newline at end of file%0a +host:1622132968=125.231.17.115 blob - /dev/null blob + 60fe918fc4b249717f5f6ab6c99cd5797154abf6 (mode 644) --- /dev/null +++ wiki.d/Ambassador.Markets @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622341169 +host=38.87.162.8 +name=Ambassador.Markets +rev=7 +targets= +text=Target Markets%0a%0aIRCNow cannot compete with Matrix/Fediverse in the mainstream user demographics%0acurrently because of our limited feature set. As you know, IRC is harder to use%0aand requires more technical skill.%0a%0aHowever, there are a few key markets where IRCNow can shine. Our strategy should%0afocus on marketing to these underserved users who will quickly adopt IRCNow:%0a%0a# FOSS sysadmins/developers -- IRC is by far the best social hangout for technical minded, free software users. IRC is the home of the free software community -- neither Matrix nor Fediverse have successfully invaded this niche.%0a# Niche OS users -- think OpenBSD, NetBSD, Slackware, Gentoo, Haiku ... because they are sufficiently non-mainstream, matrix / fediverse clients often don't work properly%0a# Non-western users -- half of the world's computer users live outside of the USA and Western Europe. Matrix/Fediverse have neglected Eastern Europe, Asia, Middle East, South American, and African markets. However, it's better if they either know how to speak English or are willing to learn English. Users that are unwilling to learn English are unable to help our network.%0a# Poorer users -- Some users continue to use 10-20 year old computer hardware. Some do it to recycle old hardware. Others do it to save money. Still others do it out of habit. In China, millions continue to use Windows XP and Android 4. These users will refuse to upgrade to hardware/software that can run Matrix/Fediverse, but they can immediately use IRC and email.%0a# Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech on the grounds of "hate speech"%0a# Privacy advocates -- IRC can allow total anonymity; users can connect with pseudonyms behind VPNs and tor. Element (matrix's main client) currently involves Google tracking.%0a# Users with Disabilities -- Users with vision, hearing, or fine movement issues will find IRC easier to use because it is more accessible. For example, screen readers work very easily with IRC's text interface%0a# Rural users with slow internet -- Users with dialup, 1Mbps dsl, or high-latency satellite will appreciate IRC's low latency and bandwidth. In many parts of the world, fast bandwidth is not available no matter how rich you are.%0a# Young kids and parents -- Our network is education-focused. IRCNow has a strict no porn, no illegal drugs policy designed to make it safer for kids to hang out on this social network.%0a +time=1635859749 +author:1635859749=jrmu +diff:1635859749:1622341968:=12c12%0a%3c # Non-western users -- half of the world's computer users live outside of the USA and Western Europe. Matrix/Fediverse have neglected Eastern Europe, Asia, Middle East, South American, and African markets. However, it's better if they either know how to speak English or are willing to learn English. Users that are unwilling to learn English are unable to help our network.%0a---%0a> # Non-western users -- half of the world's computer users live outside of the USA and Western Europe. Matrix/Fediverse have neglected Eastern Europe, Asia, Middle East, South American, and African markets.%0a +host:1635859749=38.87.162.8 +author:1622341968=jrmu +diff:1622341968:1622341465:=14c14%0a%3c # Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech on the grounds of "hate speech"%0a---%0a> # Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech under the pretense of hate speech%0a +host:1622341968=125.231.17.115 +author:1622341465=jrmu +diff:1622341465:1622341433:=18c18%0a%3c # Young kids and parents -- Our network is education-focused. IRCNow has a strict no porn, no illegal drugs policy designed to make it safer for kids to hang out on this social network.%0a---%0a> # Young kids and parents -- IRCNow has a strict no porn, no illegal drugs policy designed to make it safer for kids to hang out on this social network.%0a +host:1622341465=38.81.163.143 +author:1622341433=jrmu +diff:1622341433:1622341322:=18d17%0a%3c # Young kids and parents -- IRCNow has a strict no porn, no illegal drugs policy designed to make it safer for kids to hang out on this social network.%0a +host:1622341433=38.81.163.143 +author:1622341322=jrmu +diff:1622341322:1622341287:=14c14%0a%3c # Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech under the pretense of hate speech%0a---%0a> # Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech they consider hate speech%0a +host:1622341322=38.81.163.143 +author:1622341287=jrmu +diff:1622341287:1622341169:=13c13%0a%3c # Poorer users -- Some users continue to use 10-20 year old computer hardware. Some do it to recycle old hardware. Others do it to save money. Still others do it out of habit. In China, millions continue to use Windows XP and Android 4. These users will refuse to upgrade to hardware/software that can run Matrix/Fediverse, but they can immediately use IRC and email.%0a---%0a> # Poorer users -- Some users continue to use 10-20 year old computer hardware. Some do it to recycle old hardware. Others do it to save money. Still others do it out of habit. In China, millions continue to use Windows XP. These users will refuse to upgrade to hardware/software that can run Matrix/Fediverse, but they can immediately use IRC and email.%0a +host:1622341287=38.81.163.143 +author:1622341169=jrmu +diff:1622341169:1622341169:=1,17d0%0a%3c Target Markets%0a%3c %0a%3c IRCNow cannot compete with Matrix/Fediverse in the mainstream user demographics%0a%3c currently because of our limited feature set. As you know, IRC is harder to use%0a%3c and requires more technical skill.%0a%3c %0a%3c However, there are a few key markets where IRCNow can shine. Our strategy should%0a%3c focus on marketing to these underserved users who will quickly adopt IRCNow:%0a%3c %0a%3c # FOSS sysadmins/developers -- IRC is by far the best social hangout for technical minded, free software users. IRC is the home of the free software community -- neither Matrix nor Fediverse have successfully invaded this niche.%0a%3c # Niche OS users -- think OpenBSD, NetBSD, Slackware, Gentoo, Haiku ... because they are sufficiently non-mainstream, matrix / fediverse clients often don't work properly%0a%3c # Non-western users -- half of the world's computer users live outside of the USA and Western Europe. Matrix/Fediverse have neglected Eastern Europe, Asia, Middle East, South American, and African markets.%0a%3c # Poorer users -- Some users continue to use 10-20 year old computer hardware. Some do it to recycle old hardware. Others do it to save money. Still others do it out of habit. In China, millions continue to use Windows XP. These users will refuse to upgrade to hardware/software that can run Matrix/Fediverse, but they can immediately use IRC and email.%0a%3c # Religious / political dissidents -- matrix.org and mastodon will censor political / religious speech they consider hate speech%0a%3c # Privacy advocates -- IRC can allow total anonymity; users can connect with pseudonyms behind VPNs and tor. Element (matrix's main client) currently involves Google tracking.%0a%3c # Users with Disabilities -- Users with vision, hearing, or fine movement issues will find IRC easier to use because it is more accessible. For example, screen readers work very easily with IRC's text interface%0a%3c # Rural users with slow internet -- Users with dialup, 1Mbps dsl, or high-latency satellite will appreciate IRC's low latency and bandwidth. In many parts of the world, fast bandwidth is not available no matter how rich you are.%0a +host:1622341169=38.81.163.143 blob - /dev/null blob + a4706de917e4d902aedf651a91d25349d685a1c7 (mode 644) --- /dev/null +++ wiki.d/Ambassador.Networks @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1622131541 +host=125.231.17.115 +name=Ambassador.Networks +rev=1 +targets=Ircnow.Ally,Ircnow.Networks,Ircnow.Ilines +text=(:title Foreign Networks:)%0a%0aAs an ambassador, you will be responsible for:%0a%0a# Handling communications with other networks%0a# Obtaining ilines from these networks%0a# Establishing [[Ircnow/Ally|alliances]] with partner networks%0a# Handling abuse reports from other networks (Contact teammates or email support@example.com)%0a%0aPerhaps in the future, you may also be responsible for:%0a%0a# Coordinating bridges and relays with foreign networks%0a# Advertising other networks in our [[ircnow/networks|networks]] page%0a%0aNote:%0a%0a# Ally networks are friendly! They are the best to claim%0a# Networks that have 'No' in the Ally column should be discouraged. They may have many users today but do not want to work closely with us.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays ||! Iline ||! Ally ||%0a|| ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || || Yes || ||%0a|| 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Grape || Yes || ||%0a|| 42net || irc.42net.org || 6667 || || Fig || || || || ||%0a|| absoluty || irc.absoluty-irc.fr || 6667 || || || || || || ||%0a|| aerospacechat || irc.aerospacechat.com || +6697 || || Fig || || || || Yes ||%0a|| afterall || irc.after-all.org || 6667 || || || || || || no ||%0a|| afternet || irc.afternet.org || +6697 || || Orange || || || || ||%0a|| afterx || irc.afterx.net || +6697 || || Fig || || || || ||%0a|| allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || || ||%0a|| allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || || ||%0a|| allrednc || irc.allrednc.org || ~6697 || || Fig || || || || ||%0a|| allz4masti || irc.allz4masti.com || 6667 || || || || || || no ||%0a|| alphachat || irc.alphachat.net || +6697 || || Plum || || || || ||%0a|| amicachat || irc.amicachat.net || ~6697 || || || || || || no ||%0a|| amorlatino || irc.amorlatino.org || 6667 || || Plum || || || || ||%0a|| anope || irc.anope.org || 6667 || || Banana || || || || ||%0a|| apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || Jujube || || ||%0a|| atrum || irc.atrum.org || ~6697 || || || || || || ||%0a|| austnet || lego.jp.austnet.org || ~6697 || || Orange || || || || ||%0a|| axon || irc.axon.pw || +6697 || || || || || || no ||%0a|| ayochat || irc.ayochat.or.id || 6667 || || Fig || || || || Ask ||%0a|| azzurra || irc.azzurra.org || +6697 || || Fig || || || || ||%0a|| banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || yes ||%0a|| barton || irc.barton.de || 6667 || || Fig || || || || Ask ||%0a|| bgirc || irc.bgirc.com || ~6697 || || Fig || || || || ||%0a|| bitlbee || 127.0.0.1 || 6668 || || || || || || ||%0a|| blitzed || irc.blitzed.org || +6697 || || Fig || || || || ||%0a|| bolchat || irc.bolchat.com || 6667 || || || || || || no ||%0a|| brasirc || irc.brasirc.com.br || ~6697 || || Fig || || || || ||%0a|| bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || || ||%0a|| bsdunix || irc.bsdunix.us || +6697 || || Fig || || || || ||%0a|| buenchat || irc.buenchat.org || ~6697 || || Banana || || Banana || || Yes ||%0a|| canternet || irc.canternet.org || +6697 || || Fig || || || || ||%0a|| cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a|| chaat || irc.chaat.fr || 6667 || || || || || || ||%0a|| chat4all || irc.chat4all.org || ~6697 || || Fig || || || || ||%0a|| chatasia || irc.chatasia.net || ~6697 || || || || || || ||%0a|| chateo || irc.chateo.org || ~6697 || || Fig || || || || ||%0a|| chatgentr || chat.gen.tr || 6667 || || || || || || ||%0a|| chathispano || irc.chathispano.com || +6697 || || Plum || || || || ||%0a|| chathub || irc.chathub.org || +6697 || || Mango || - || || || ||%0a|| chating || irc.chating.id || 6667 || || Fig || - || || || Ask ||%0a|| chatjunkies || irc.chatjunkies.org || +6697 || || || || || || Ask ||%0a|| chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a|| chatlounge || irc.chatlounge.net || +6697 || || Lemon || Lemon || || || Ask ||%0a|| chatopia || irc.chatopia.net || +6697 || || || || || || Ask ||%0a|| chatplezier || irc.chatplezier.com || ~6697 || || || || || || ||%0a|| chatspike || irc.chatspike.net || ~6697 || || || || || || ||%0a|| chatsystems || irc.chatsystems.net || +6697 || || || || || || Yes ||%0a|| chatzona || irc.chatzona.org || 6667 || || Plum || || || || Ask ||%0a|| chewbakka || irc.chewbakka.ch || +6697 || || Fig || || || || Yes ||%0a|| dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || Grape || || No ||%0a|| darkfasel || irc.darkfasel.net || +6697 || || || || || || ||%0a|| darkirc || ipv4.eggdrop.uk || +6697 || || Pear || Lemon || || || Yes ||%0a|| darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || || Yes || || ||%0a|| darkscience || irc.darkscience.net || +6697 || || Plum || || || || ? ||%0a|| dejatoons || irc.dejatoons.net || ~6697 || || || || || || ||%0a|| desirenet || irc.desirenet.org || 6667 || || Pear || || || Yes || ||%0a|| digitalirc || irc.digitalirc.org || +6697 || || || || || || ||%0a|| edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || Banana || || ||%0a|| efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || || No ||%0a|| efnext || irc.work || ~6697 || || Mango || || || || Yes ||%0a|| ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a|| enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || Yes || ||%0a|| epiknet || irc.epiknet.org || +6697 || || || || || || ||%0a|| esper || irc.esper.net || +6697 || || || || || || ||%0a|| euirc || irc.euirc.net || 6667 || || || || || || ||%0a|| europnet || irc.europnet.org || 6667 || || Pear || || || Yes || ||%0a|| evilnet || irc.evilnet.org || ~6697 || || Fig || || || - || Ask ||%0a|| evolu || irc.evolu.net || ~6697 || || Fig || || || || ||%0a|| ewnix || irc.ewnix.net || +6697 || || || || || || Ask ||%0a|| exchat || irc.exchat.net || ~6697 || || || || || || ||%0a|| exolia || irc.exolia.net || 6667 || || || || || || ||%0a|| explosionirc || irc.explosionirc.net || 6667 || || || || || || ||%0a|| forumcerdas || irc.forumcerdas.net || ~6697 || || || || || || Ask ||%0a|| frantech || irc.frantech.ca || +6697 || || Mango || || || - || Ask ||%0a|| freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a|| freeunibg || irc.freeunibg.eu || 6667 || || || || || || Ask ||%0a|| freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || Banana || || ||%0a|| friendsirc || irc.friendsirc.com || ~6697 || || || || || || ||%0a|| gamesurge || irc.gamesurge.net || 6667 || || Pear || || || Yes || ||%0a|| geeknode || irc.geeknode.org || +6697 || || || || || || ||%0a|| geekshed || irc.geekshed.net || +6697 || || Pear || || || Yes || ||%0a|| germanelite || irc.german-elite.net || ~6697 || || || || || || ||%0a|| geveze || irc.geveze.org || 6667 || || || || || || No ||%0a|| geyiktr || irc.geyiktr.net || 6667 || || || || || || ||%0a|| gigairc || irc.gigairc.net || ~6697 || || || || || || ||%0a|| gimp || irc.gimp.org || +6697 || || || || || || ||%0a|| globalirc || irc.global-irc.org || 6667 || || Pear || || || Yes || ||%0a|| globalirc-it || irc.globalirc.it || ~6697 || || || || || || ||%0a|| gotham || irc.gotham.chat || 6667 || || Plum || || || || ||%0a|| greekirc || irc.greekirc.net || 6667 || || || || || || ||%0a|| hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || || ||%0a|| hackthissite || irc.hackthissite.org || +7000 || || || || || || ||%0a|| hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a|| hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Orange || || || Yes || ||%0a|| icqchat || irc.icq-chat.com || +6697 || || || || || || ||%0a|| insomnia || irc.insomnia247.nl || 6667 || || || || || || ||%0a|| irc4fun || irc.irc4fun.net || 6667 || || || || || || Ask ||%0a|| irccloud || irc.irccloud.com || +6697 || || Banana || || Banana || || No ||%0a|| ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || || No ||%0a|| ircfreakz || irc.ircfreakz.net || ~6697 || || || || || || ||%0a|| ircgate || irc.ircgate.it || 6667 || || || || || || No ||%0a|| irchaven || irc.irchaven.org || 6667 || || || || || || Ask ||%0a|| irchighway || irc.irchighway.net || ~6697 || || Pear || || || Yes || Ask ||%0a|| ircnet || open.ircnet.net || 6667 || || Banana || || Banana || || Ask ||%0a|| ircsource || irc.coolserver.org || ~6697 || || || || || || ||%0a|| irctl || chat.irc.tl || ~6697 || || || || || || ||%0a|| irczone || irc6.irczone.net || ~6697 || || || || || || Yes ||%0a|| italian-amici || irc.italian-amici.org || 6667 || || || || || || ||%0a|| juggler || irc.juggler.jp || 6667 || || || || || || ||%0a|| kalbim || irc.kalbim.net || 6667 || || || || || || ||%0a|| kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || Grape || - || No ||%0a|| liberachat || irc.libera.chat || ~6697 || || || || || || No ||%0a|| librairc || irc.librairc.net || ~6697 || || Plum || || || || No ||%0a|| luatic || irc.luatic.net || 6667 || || || || || || ||%0a|| malikania || malikania.fr || ~6697 || || || || || || Ask ||%0a|| mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || || ||%0a|| mindforge || irc.mindforge.org || 6667 || || || || || || ||%0a|| myirc || chat.myirc.net || +6697 || || || || || || ||%0a|| nationchat || irc.nationchat.org || 6667 || || Pear || || || Yes || Ask ||%0a|| netchat || irc.netchat.cl || 6667 || || plum || || || || ||%0a|| nfnet || irc.nfnet.org || 6667 || || || || || || ||%0a|| oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || || No ||%0a|| oltreirc || irc.oltreirc.net || +6697 || || || || || || ||%0a|| onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || || ||%0a|| openjoke || irc.openjoke.org || ~6697 || || || || || || ||%0a|| overthewire || ircs.overthewire.org || +6697 || || Plum || || || || Ask ||%0a|| p2p-net || irc.p2p-network.net || +6697 || || || || || || ||%0a|| perl || irc.perl.org || 6667 || || Banana || || Banana || || Ask ||%0a|| pirc-pl || irc.pirc.pl || +6697 || || || || || || Ask ||%0a|| ptnet || irc.ptnet.org || +6697 || || || || || || Ask ||%0a|| puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No, Glined us ||%0a|| quake || irc6.quakenet.org || 6667 || || Pear || Grape || Banana || Yes || No ||%0a|| quartznet || irc.quartznet.org || 6667 || || || || || || ||%0a|| recycled-irc || irc.recycled-irc.net || 6667 || || || || || || ||%0a|| redhispano || irc.redhispano.org || ~6697 || || || || || || Yes ||%0a|| redlatina || irc.red-latina.net || ~6697 || || || || || || Yes ||%0a|| rezosup || irc.rezosup.org || ~6697 || || || || || || ||%0a|| rizon || irc6.rizon.net || ~6697 || || PLUM || Grape || Grape || Yes || Ask ||%0a|| robothive || irc.robothive.org || ~6697 || || || || || || Ask ||%0a|| rootworld || irc.rootworld.net || 6667 || || || || || || ||%0a|| rusnet || irc.lucky.net || 6660 || || Orange || || || || Ask ||%0a|| scenep2p || irc.scenep2p.net || ~6697 || || || || || || ||%0a|| scratch-network || irc.scratch-network.net || +7000 || || || || || || ||%0a|| shadowfire || irc.shadowfire.org || +7000 || || || || || || ||%0a|| simosnap || irc.simosnap.com || +6697 || || || || || || No ||%0a|| skychatz || irc.skychatz.org || ~6697 || || || || || || Ask ||%0a|| slashnet || irc.slashnet.org || +6697 || || || || || || ||%0a|| smurfnet || irc.smurfnet.ch || ~6697 || || || || || || ||%0a|| snoonet || irc.snoonet.org || +6697 || || Plum || || || || No ||%0a|| sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || Jujube || - || No ||%0a|| sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || || - || ||%0a|| spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || || - || ||%0a|| spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || || Yes ||%0a|| spotchat || irc.spotchat.org || +6697 || || || || || || ||%0a|| sturtz || irc.sturtz.xyz || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a|| superhosts || irc.superhosts.net || 6667 || || || || || || ||%0a|| svipchat || irc.svipchat.org || ~6697 || || || || || || ||%0a|| swiftirc || irc.swiftirc.net || 6667 || || Plum || || || || ||%0a|| swissirc || irc.swissirc.net || ~6697 || || || || || || ||%0a|| swisschat || irc.swisschat.tk || 6667 || || || || || || ||%0a|| synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || || - || ||%0a|| technet || irc.technet.xi.ht || +6697 || || Pear || Lemon || || Yes || Yes ||%0a|| thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || || - || No ||%0a|| tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || || - || Ask ||%0a|| trendsohbet || irc.trendsohbet.com || 6667 || || || || || || ||%0a|| trsohbet || irc.trsohbet.com || 6667 || || || || || || No ||%0a|| tweakers || irc.tweakers.net || 6667 || || Banana || || Banana || || ||%0a|| twistednet || irc.twistednet.org || ~6697 || || || || || || ||%0a|| twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || || NO || || No ||%0a|| umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes || Yes ||%0a|| undernet || irc6.undernet.org || 6667 || || Plum || Grape || || || No ||%0a|| universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || || No ||%0a|| universochat || irc.unviersochat.com || || || || || || || ||%0a|| uugrn || irc.uugrn.org || +6670 || || || || || || Ask ||%0a|| viciochat || irc.viciochat.org || 6667 || || || || || Ask ||%0a|| virtualife || irc.virtualife.org || ~6697 || || || || || || ||%0a|| w3 || irc.w3.org || 6667 || || || || || || ||%0a|| wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || || - || ||%0a|| wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || || - || ||%0a|| xertion || irc.xertion.org || +6697 || || || || || || ||%0a|| zairc || irc.zairc.net || ~6697 || || || || || || No ||%0a|| zandronum || irc.zandronum.com || ~6697 || || || || || || ||%0a|| zemra || irc.zemra.org || +6697 || || Jujube || Grape || Jujube || || ||%0a|| zenet || irc.zenet.org || +6697 || || || || || || ||%0a|| zeronode || irc.zeronode.net || +6697 || || || || || || ||%0a|| zoite || irc.zoite.net || +6697 || || || || || || ||%0a|| zonebg || irc.zonebg.eu || ~6697 || || || || || || ||%0a|| zurna || irc.zurna.net || 6667 || || Jujube || Grape || Jujube || || ||%0a|| zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || || ||%0a|| ircsource || ircsource.quoservers.net || ~6697 || || Nastycode || ShellTalk || || Yes || Yes ||%0a|| libera || irc.libera.chat || ~6697 || || PLUM || || || || ||%0a[[Ircnow/Ilines|Partner Network Ilines]]%0a%0aNon-IRC Networks%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! From Protocol ||! From Room ||! To IRCNow Channel ||! Team ||! Software ||%0a|| Matrix || #ircnow:matrix.org || #ircfree || Pineapple || ||%0a|| Matrix || #ircnow:nfld.uk || #nastycode || Nastycode || ||%0a|| Matrix || #ircnow:halogen.city || #nastycode || Nastycode || ||%0a|| XMPP || #ircnow:ircnow.org || || || ||%0a|| XMPP || #lecturify:ircnow.org || #lecturify || || ||%0a|| Discord || https://discord.com/invite/gZ4M3m2 || || || ||%0a|| Telegram || https://t.me/ircnow || || || ||%0a +time=1622131541 +title=Foreign Networks +author:1622131541=jrmu +diff:1622131541:1622131541:=1,227d0%0a%3c (:title Foreign Networks:)%0a%3c %0a%3c As an ambassador, you will be responsible for:%0a%3c %0a%3c # Handling communications with other networks%0a%3c # Obtaining ilines from these networks%0a%3c # Establishing [[Ircnow/Ally|alliances]] with partner networks%0a%3c # Handling abuse reports from other networks (Contact teammates or email support@example.com)%0a%3c %0a%3c Perhaps in the future, you may also be responsible for:%0a%3c %0a%3c # Coordinating bridges and relays with foreign networks%0a%3c # Advertising other networks in our [[ircnow/networks|networks]] page%0a%3c %0a%3c Note:%0a%3c %0a%3c # Ally networks are friendly! They are the best to claim%0a%3c # Networks that have 'No' in the Ally column should be discouraged. They may have many users today but do not want to work closely with us.%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays ||! Iline ||! Ally ||%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || || Yes || ||%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Grape || Yes || ||%0a%3c || 42net || irc.42net.org || 6667 || || Fig || || || || ||%0a%3c || absoluty || irc.absoluty-irc.fr || 6667 || || || || || || ||%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || Fig || || || || Yes ||%0a%3c || afterall || irc.after-all.org || 6667 || || || || || || no ||%0a%3c || afternet || irc.afternet.org || +6697 || || Orange || || || || ||%0a%3c || afterx || irc.afterx.net || +6697 || || Fig || || || || ||%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || || ||%0a%3c || allrednc || irc.allrednc.org || ~6697 || || Fig || || || || ||%0a%3c || allz4masti || irc.allz4masti.com || 6667 || || || || || || no ||%0a%3c || alphachat || irc.alphachat.net || +6697 || || Plum || || || || ||%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || || || no ||%0a%3c || amorlatino || irc.amorlatino.org || 6667 || || Plum || || || || ||%0a%3c || anope || irc.anope.org || 6667 || || Banana || || || || ||%0a%3c || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || Jujube || || ||%0a%3c || atrum || irc.atrum.org || ~6697 || || || || || || ||%0a%3c || austnet || lego.jp.austnet.org || ~6697 || || Orange || || || || ||%0a%3c || axon || irc.axon.pw || +6697 || || || || || || no ||%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || Fig || || || || Ask ||%0a%3c || azzurra || irc.azzurra.org || +6697 || || Fig || || || || ||%0a%3c || banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || yes ||%0a%3c || barton || irc.barton.de || 6667 || || Fig || || || || Ask ||%0a%3c || bgirc || irc.bgirc.com || ~6697 || || Fig || || || || ||%0a%3c || bitlbee || 127.0.0.1 || 6668 || || || || || || ||%0a%3c || blitzed || irc.blitzed.org || +6697 || || Fig || || || || ||%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || || || no ||%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || Fig || || || || ||%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || || ||%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || Fig || || || || ||%0a%3c || buenchat || irc.buenchat.org || ~6697 || || Banana || || Banana || || Yes ||%0a%3c || canternet || irc.canternet.org || +6697 || || Fig || || || || ||%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a%3c || chaat || irc.chaat.fr || 6667 || || || || || || ||%0a%3c || chat4all || irc.chat4all.org || ~6697 || || Fig || || || || ||%0a%3c || chatasia || irc.chatasia.net || ~6697 || || || || || || ||%0a%3c || chateo || irc.chateo.org || ~6697 || || Fig || || || || ||%0a%3c || chatgentr || chat.gen.tr || 6667 || || || || || || ||%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || || || || ||%0a%3c || chathub || irc.chathub.org || +6697 || || Mango || - || || || ||%0a%3c || chating || irc.chating.id || 6667 || || Fig || - || || || Ask ||%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || || || || Ask ||%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || Lemon || Lemon || || || Ask ||%0a%3c || chatopia || irc.chatopia.net || +6697 || || || || || || Ask ||%0a%3c || chatplezier || irc.chatplezier.com || ~6697 || || || || || || ||%0a%3c || chatspike || irc.chatspike.net || ~6697 || || || || || || ||%0a%3c || chatsystems || irc.chatsystems.net || +6697 || || || || || || Yes ||%0a%3c || chatzona || irc.chatzona.org || 6667 || || Plum || || || || Ask ||%0a%3c || chewbakka || irc.chewbakka.ch || +6697 || || Fig || || || || Yes ||%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || Grape || || No ||%0a%3c || darkfasel || irc.darkfasel.net || +6697 || || || || || || ||%0a%3c || darkirc || ipv4.eggdrop.uk || +6697 || || Pear || Lemon || || || Yes ||%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || || Yes || || ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || || || || ? ||%0a%3c || dejatoons || irc.dejatoons.net || ~6697 || || || || || || ||%0a%3c || desirenet || irc.desirenet.org || 6667 || || Pear || || || Yes || ||%0a%3c || digitalirc || irc.digitalirc.org || +6697 || || || || || || ||%0a%3c || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || Banana || || ||%0a%3c || efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || || No ||%0a%3c || efnext || irc.work || ~6697 || || Mango || || || || Yes ||%0a%3c || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a%3c || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || Yes || ||%0a%3c || epiknet || irc.epiknet.org || +6697 || || || || || || ||%0a%3c || esper || irc.esper.net || +6697 || || || || || || ||%0a%3c || euirc || irc.euirc.net || 6667 || || || || || || ||%0a%3c || europnet || irc.europnet.org || 6667 || || Pear || || || Yes || ||%0a%3c || evilnet || irc.evilnet.org || ~6697 || || Fig || || || - || Ask ||%0a%3c || evolu || irc.evolu.net || ~6697 || || Fig || || || || ||%0a%3c || ewnix || irc.ewnix.net || +6697 || || || || || || Ask ||%0a%3c || exchat || irc.exchat.net || ~6697 || || || || || || ||%0a%3c || exolia || irc.exolia.net || 6667 || || || || || || ||%0a%3c || explosionirc || irc.explosionirc.net || 6667 || || || || || || ||%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || || Ask ||%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || || || - || Ask ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || || || || Ask ||%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || Banana || || ||%0a%3c || friendsirc || irc.friendsirc.com || ~6697 || || || || || || ||%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || Pear || || || Yes || ||%0a%3c || geeknode || irc.geeknode.org || +6697 || || || || || || ||%0a%3c || geekshed || irc.geekshed.net || +6697 || || Pear || || || Yes || ||%0a%3c || germanelite || irc.german-elite.net || ~6697 || || || || || || ||%0a%3c || geveze || irc.geveze.org || 6667 || || || || || || No ||%0a%3c || geyiktr || irc.geyiktr.net || 6667 || || || || || || ||%0a%3c || gigairc || irc.gigairc.net || ~6697 || || || || || || ||%0a%3c || gimp || irc.gimp.org || +6697 || || || || || || ||%0a%3c || globalirc || irc.global-irc.org || 6667 || || Pear || || || Yes || ||%0a%3c || globalirc-it || irc.globalirc.it || ~6697 || || || || || || ||%0a%3c || gotham || irc.gotham.chat || 6667 || || Plum || || || || ||%0a%3c || greekirc || irc.greekirc.net || 6667 || || || || || || ||%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || || ||%0a%3c || hackthissite || irc.hackthissite.org || +7000 || || || || || || ||%0a%3c || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Orange || || || Yes || ||%0a%3c || icqchat || irc.icq-chat.com || +6697 || || || || || || ||%0a%3c || insomnia || irc.insomnia247.nl || 6667 || || || || || || ||%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || || || || Ask ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || Banana || || Banana || || No ||%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || || No ||%0a%3c || ircfreakz || irc.ircfreakz.net || ~6697 || || || || || || ||%0a%3c || ircgate || irc.ircgate.it || 6667 || || || || || || No ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || || || || Ask ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || || || Yes || Ask ||%0a%3c || ircnet || open.ircnet.net || 6667 || || Banana || || Banana || || Ask ||%0a%3c || ircsource || irc.coolserver.org || ~6697 || || || || || || ||%0a%3c || irctl || chat.irc.tl || ~6697 || || || || || || ||%0a%3c || irczone || irc6.irczone.net || ~6697 || || || || || || Yes ||%0a%3c || italian-amici || irc.italian-amici.org || 6667 || || || || || || ||%0a%3c || juggler || irc.juggler.jp || 6667 || || || || || || ||%0a%3c || kalbim || irc.kalbim.net || 6667 || || || || || || ||%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || Grape || - || No ||%0a%3c || liberachat || irc.libera.chat || ~6697 || || || || || || No ||%0a%3c || librairc || irc.librairc.net || ~6697 || || Plum || || || || No ||%0a%3c || luatic || irc.luatic.net || 6667 || || || || || || ||%0a%3c || malikania || malikania.fr || ~6697 || || || || || || Ask ||%0a%3c || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || || ||%0a%3c || mindforge || irc.mindforge.org || 6667 || || || || || || ||%0a%3c || myirc || chat.myirc.net || +6697 || || || || || || ||%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || || || Yes || Ask ||%0a%3c || netchat || irc.netchat.cl || 6667 || || plum || || || || ||%0a%3c || nfnet || irc.nfnet.org || 6667 || || || || || || ||%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || || No ||%0a%3c || oltreirc || irc.oltreirc.net || +6697 || || || || || || ||%0a%3c || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || || ||%0a%3c || openjoke || irc.openjoke.org || ~6697 || || || || || || ||%0a%3c || overthewire || ircs.overthewire.org || +6697 || || Plum || || || || Ask ||%0a%3c || p2p-net || irc.p2p-network.net || +6697 || || || || || || ||%0a%3c || perl || irc.perl.org || 6667 || || Banana || || Banana || || Ask ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || || || || Ask ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || || || || Ask ||%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No, Glined us ||%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Banana || Yes || No ||%0a%3c || quartznet || irc.quartznet.org || 6667 || || || || || || ||%0a%3c || recycled-irc || irc.recycled-irc.net || 6667 || || || || || || ||%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || || || Yes ||%0a%3c || redlatina || irc.red-latina.net || ~6697 || || || || || || Yes ||%0a%3c || rezosup || irc.rezosup.org || ~6697 || || || || || || ||%0a%3c || rizon || irc6.rizon.net || ~6697 || || PLUM || Grape || Grape || Yes || Ask ||%0a%3c || robothive || irc.robothive.org || ~6697 || || || || || || Ask ||%0a%3c || rootworld || irc.rootworld.net || 6667 || || || || || || ||%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || || || || Ask ||%0a%3c || scenep2p || irc.scenep2p.net || ~6697 || || || || || || ||%0a%3c || scratch-network || irc.scratch-network.net || +7000 || || || || || || ||%0a%3c || shadowfire || irc.shadowfire.org || +7000 || || || || || || ||%0a%3c || simosnap || irc.simosnap.com || +6697 || || || || || || No ||%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || || || Ask ||%0a%3c || slashnet || irc.slashnet.org || +6697 || || || || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || || || || No ||%0a%3c || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || Jujube || - || No ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || || - || ||%0a%3c || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || || - || ||%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || || Yes ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || || || || ||%0a%3c || sturtz || irc.sturtz.xyz || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a%3c || superhosts || irc.superhosts.net || 6667 || || || || || || ||%0a%3c || svipchat || irc.svipchat.org || ~6697 || || || || || || ||%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || Plum || || || || ||%0a%3c || swissirc || irc.swissirc.net || ~6697 || || || || || || ||%0a%3c || swisschat || irc.swisschat.tk || 6667 || || || || || || ||%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || || - || ||%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || Lemon || || Yes || Yes ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || || - || No ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || || - || Ask ||%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || || || || No ||%0a%3c || tweakers || irc.tweakers.net || 6667 || || Banana || || Banana || || ||%0a%3c || twistednet || irc.twistednet.org || ~6697 || || || || || || ||%0a%3c || twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || || NO || || No ||%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes || Yes ||%0a%3c || undernet || irc6.undernet.org || 6667 || || Plum || Grape || || || No ||%0a%3c || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || || No ||%0a%3c || universochat || irc.unviersochat.com || || || || || || || ||%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || || || Ask ||%0a%3c || viciochat || irc.viciochat.org || 6667 || || || || || Ask ||%0a%3c || virtualife || irc.virtualife.org || ~6697 || || || || || || ||%0a%3c || w3 || irc.w3.org || 6667 || || || || || || ||%0a%3c || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || || - || ||%0a%3c || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || || - || ||%0a%3c || xertion || irc.xertion.org || +6697 || || || || || || ||%0a%3c || zairc || irc.zairc.net || ~6697 || || || || || || No ||%0a%3c || zandronum || irc.zandronum.com || ~6697 || || || || || || ||%0a%3c || zemra || irc.zemra.org || +6697 || || Jujube || Grape || Jujube || || ||%0a%3c || zenet || irc.zenet.org || +6697 || || || || || || ||%0a%3c || zeronode || irc.zeronode.net || +6697 || || || || || || ||%0a%3c || zoite || irc.zoite.net || +6697 || || || || || || ||%0a%3c || zonebg || irc.zonebg.eu || ~6697 || || || || || || ||%0a%3c || zurna || irc.zurna.net || 6667 || || Jujube || Grape || Jujube || || ||%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || || ||%0a%3c || ircsource || ircsource.quoservers.net || ~6697 || || Nastycode || ShellTalk || || Yes || Yes ||%0a%3c || libera || irc.libera.chat || ~6697 || || PLUM || || || || ||%0a%3c [[Ircnow/Ilines|Partner Network Ilines]]%0a%3c %0a%3c Non-IRC Networks%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! From Protocol ||! From Room ||! To IRCNow Channel ||! Team ||! Software ||%0a%3c || Matrix || #ircnow:matrix.org || #ircfree || Pineapple || ||%0a%3c || Matrix || #ircnow:nfld.uk || #nastycode || Nastycode || ||%0a%3c || Matrix || #ircnow:halogen.city || #nastycode || Nastycode || ||%0a%3c || XMPP || #ircnow:ircnow.org || || || ||%0a%3c || XMPP || #lecturify:ircnow.org || #lecturify || || ||%0a%3c || Discord || https://discord.com/invite/gZ4M3m2 || || || ||%0a%3c || Telegram || https://t.me/ircnow || || || ||%0a +host:1622131541=125.231.17.115 blob - /dev/null blob + 8fefabd69fd89467e4c1636a40249b56d58bdbc3 (mode 644) --- /dev/null +++ wiki.d/Ambassador.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1622131541 +host=38.87.162.8 +name=Ambassador.RecentChanges +rev=9 +text=* [[Ambassador/Markets]] . . . November 02, 2021, at 01:29 PM by [[~jrmu]]: [==]%0a* [[Ambassador/Ilines]] . . . May 27, 2021, at 04:29 PM by [[~jrmu]]: [==]%0a* [[Ambassador/Networks]] . . . May 27, 2021, at 04:05 PM by [[~jrmu]]: [==]%0a +time=1635859749 blob - /dev/null blob + ed7c4b7d6c7263fb96beb3c623e9ab7a637f570e (mode 644) --- /dev/null +++ wiki.d/AncientWisdom.Bio @@ -0,0 +1,844 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +ctime=1629517676 +host=2a03:e600:100::30 +name=AncientWisdom.Bio +rev=277 +targets= +text=(:title Ancient.Wisdom 𝓑𝓲𝓸:)%0a%0a(:div5 class="" style="background-color:transparent; text-align=justify text-justify=inter-word":)%0a%0a%25width=300px rfloat%25 Attach:AncientCabin.png%0a%0aFrom the Ancient Days, the Universe evolves in many ways - providing an unlimited means to God's creations' and creatures' to acquire unlimited wealth of knowledge for them to continue to better themselves and to provide for others - in many mysterious different ways.%0a%0aThroughout the decades, knowledge are acquired, gained and passed-over from one generation to another.%0a%0aKnowledge is 𝓷𝓸𝓽-𝓸𝔀𝓷𝓮𝓭 by anyone:%0a%0a* no matter 𝓱𝓸𝔀 𝓶𝓾𝓬𝓱 people may think they have acquired them,%0a* no matter 𝓱𝓸𝔀 they have acquired them,%0a* no matter 𝓯𝓻𝓸𝓶 𝔀𝓱𝓸 or 𝓯𝓻𝓸𝓶 𝔀𝓱𝓮𝓻𝓮 they have acquired them,%0a* no matter 𝔀𝓱𝓮𝓻𝓮 people think they should apply those knowledge%0a%0aKnowledge continues to flow and there's no stopping it from getting pass-over to another generations - and likewise, God's creations' and creatures' 𝔀𝓲𝓵𝓵 continue to evolve around them, no matter 𝔀𝓱𝓮𝓻𝓮 they are.%0a%0aToday, our current knowledge is what we live on and we live in. In the many days to come, those knowledge 𝔀𝓲𝓵𝓵 be Ancient in the eyes of another generations.%0a%0a𝓐 𝓹𝓸𝓸𝓻 𝔀𝓲𝓼𝓮 𝓶𝓪𝓷 𝓸𝓷𝓬𝓮 𝓺𝓾𝓸𝓽𝓮𝓭: "𝒦𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝒾𝓈 𝒿𝓊𝓈𝓉 𝓁𝒾𝓀𝑒 𝒻𝑜𝑜𝒹𝓈. 𝒫𝑒𝑜𝓅𝓁𝑒 𝑔𝑒𝓉 𝓉𝑜 𝒸𝒽𝑜𝑜𝓈𝑒 𝓌𝒽𝒶𝓉 𝓉𝑜 𝓁𝑒𝒶𝓇𝓃 𝒶𝓃𝒹 𝒸𝑜𝓃𝓈𝓊𝓂𝑒; 𝒶𝓁𝒷𝑒𝒾𝓉 𝒾𝓃 𝓋𝒶𝓇𝒾𝑜𝓊𝓈 𝓈𝒾𝓏𝑒𝓈. 𝒞𝑒𝓇𝓉𝒶𝒾𝓃 𝓀𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝒸𝒶𝓃 𝒷𝑒 𝓊𝓈𝑒𝒻𝓊𝓁 𝓉𝑜 𝓈𝑜𝓂𝑒 𝒶𝓃𝒹 𝓃𝑜𝓉 𝓉𝑜 𝑜𝓉𝒽𝑒𝓇𝓈. 𝐿𝒾𝓀𝑒𝓌𝒾𝓈𝑒, 𝒸𝑒𝓇𝓉𝒶𝒾𝓃 𝒻𝑜𝑜𝒹 𝒸𝒶𝓃 𝒷𝑒 𝓅𝓁𝑒𝓃𝓉𝒾𝒻𝓊𝓁 𝓉𝑜 𝓈𝑜𝓂𝑒 𝒷𝓊𝓉 𝓃𝑜𝓉 𝓉𝑜 𝑜𝓉𝒽𝑒𝓇𝓈. 𝒮𝑜𝓂𝑒 𝑔𝑒𝓉𝓈 𝓁𝓊𝓍𝓊𝓇𝒾𝑜𝓊𝓈 𝓂𝑒𝒶𝓁 𝒻𝑜𝓇 𝓉𝒽𝑒 𝒹𝒶𝓎 𝓉𝒽𝑒𝓃 𝓉𝒽𝑒𝓎 𝓌𝒶𝓈𝓉𝑒𝒹 𝒾𝓉, 𝓌𝒽𝒾𝓁𝑒 𝑜𝓉𝒽𝑒𝓇𝓈 𝒽𝒶𝒹 𝓉𝑜 𝒷𝑒𝑔 𝒻𝑜𝓇 𝓉𝒾𝓃𝓎 𝓅𝒾𝑒𝒸𝑒 𝑜𝒻 𝓂𝑒𝒶𝓁 𝒶𝓃𝒹 𝓀𝑒𝓅𝓉 𝒾𝓉 𝒻𝑜𝓇 𝒹𝒶𝓎𝓈. 𝒲𝒽𝒶𝓉 𝓂𝒶𝓉𝓉𝑒𝓇𝓈 𝒾𝓈 𝒽𝑜𝓌 𝑜𝓃𝑒 𝒸𝒶𝓃 𝒶𝓅𝓅𝓇𝑒𝒸𝒾𝒶𝓉𝑒 𝒶𝓃𝒹 𝒷𝑒 𝓉𝒽𝒶𝓃𝓀𝒻𝓊𝓁 𝑒𝓋𝑒𝓃 𝒾𝓉𝓈 𝓉𝒽𝑒 𝓈𝒾𝓏𝑒 𝑜𝒻 𝒶 𝒷𝒾𝓈𝒸𝓊𝒾𝓉."%0a%0a𝓨𝓸𝓾𝓻𝓼 𝓣𝓻𝓾𝓵𝔂 - 𝓕𝓻𝓸𝓶 𝓣𝓱𝓮 𝓓𝓮𝓼𝓴 𝓸𝓯:[[%3c%3c]] 𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶%0a%0a(:div5end:)%0a%0a(:div1 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a|| border=1 width=100%25 %0a|| '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘." [[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a(:div1end:)%0a%0a(:div2 class="" style="color:#000000;":)%0a(:table border=1 width=30%25 align=right bgcolor=#ff7f00 cellspacing=0 :)%0a(:cellnr:)%0a'''𝓣𝓱𝓮.𝓒𝓪𝓫𝓲𝓷.𝓸𝓯.𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶'''%0a(:cellnr:)%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom® @OddProtocol]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom® @BSDForAll]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom® @Onion.V3]]%0a(:tableend:)%0a%0a!! Contact%0a%0a* '''𝓦𝓱𝓸𝓜𝓮'''                               : Ancient.Wisdom%0a* '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|EMail @ admin@ancientwisdom.oddprotocol.org]] %0a* '''𝓘𝓡𝓒'''                                        : Ancient.Wisdom on %25rel=nofollow%25 %25target=_blank%25 [[https://ircnow.org|IRCNow]]%0a* '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Eggdrop, #Help, #Hopm, #OffTopic, #OpenBSD, #PMWiki, #PodCast, #Root, #Shell, #Su, #Team, #Wheel%0a* '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a* '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use %25rel=nofollow%25 %25target=_blank%25 [[https://www.torproject.org/download/|Tor Browser]].%0a%0a!! PGP Fingerprints%0a%0a!! SSH Fingerprints%0a%0a!! Stuffs%0a%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom® @OddProtocol]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ancientwisdom.oddprotocol.org]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom® @BSDForAll]]        : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom® @Onion.V3]]          : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom® @ChannelStatus]] : AncientWisdom Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstats/]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://bsdforall.org/ircstatsgrp/|BSDForAll® @ChannelStatus]]          : BSDForAll Channel (Group) Status @ [[https://bsdforall.org/ircstatsgrp/|LiveUpdate]] -- [[https://bsdforall.org/ircstatsgrp/]]%0a* %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom® @SystemStatus]]  : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a%0a(:div2end:)%0a%0a'^[Commenced Upload]^': %25color=#ff3300%25𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%25%25%0a(:divend:)%0a +time=1638517381 +title=Ancient.Wisdom 𝓑𝓲𝓸 +author:1638517381=AncientWisdom +diff:1638517381:1636666839:=38,40c38,40%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom® @OddProtocol]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom® @BSDForAll]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom® @Onion.V3]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a48c48%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Eggdrop, #Help, #Hopm, #OffTopic, #OpenBSD, #PMWiki, #PodCast, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #OpenBSD, #PMWiki, #PodCast, #Root, #Shell, #Su, #Team, #Wheel%0a58,63c58,63%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom® @OddProtocol]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ancientwisdom.oddprotocol.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom® @BSDForAll]]        : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom® @Onion.V3]]          : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom® @ChannelStatus]] : AncientWisdom Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstats/]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://bsdforall.org/ircstatsgrp/|BSDForAll® @ChannelStatus]]          : BSDForAll Channel (Group) Status @ [[https://bsdforall.org/ircstatsgrp/|LiveUpdate]] -- [[https://bsdforall.org/ircstatsgrp/]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom® @SystemStatus]]  : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ancientwisdom.oddprotocol.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]        : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]          : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstats/]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/|AncientWisdom @ChannelStatus®]] : The IRC Channel (Group) Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom @SystemStatus®]]  : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a +host:1638517381=2a03:e600:100::30 +author:1636666839=AncientWisdom +diff:1636666839:1636666712:=63c63%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom @SystemStatus®]]  : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom @SystemStatus®]] : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a +host:1636666839=2a03:e600:100::24 +author:1636666712=AncientWisdom +diff:1636666712:1635237404:=48c48%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #OpenBSD, #PMWiki, #PodCast, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #Perl101, #Perl102, #PMWiki, #Root, #Shell, #Su, #Team, #Wheel%0a63d62%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://stats.uptimerobot.com/xy3WJtLQ6V/|AncientWisdom @SystemStatus®]] : UptimeRobot Monitoring @ [[https://stats.uptimerobot.com/xy3WJtLQ6V|LiveSystemStatus]] -- [[https://stats.uptimerobot.com/xy3WJtLQ6V]]%0a +host:1636666712=2a03:e600:100::24 +author:1635237404=AncientWisdom +diff:1635237404:1630363882:=21,22d20%0a%3c %0a%3c 𝓐 𝓹𝓸𝓸𝓻 𝔀𝓲𝓼𝓮 𝓶𝓪𝓷 𝓸𝓷𝓬𝓮 𝓺𝓾𝓸𝓽𝓮𝓭: "𝒦𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝒾𝓈 𝒿𝓊𝓈𝓉 𝓁𝒾𝓀𝑒 𝒻𝑜𝑜𝒹𝓈. 𝒫𝑒𝑜𝓅𝓁𝑒 𝑔𝑒𝓉 𝓉𝑜 𝒸𝒽𝑜𝑜𝓈𝑒 𝓌𝒽𝒶𝓉 𝓉𝑜 𝓁𝑒𝒶𝓇𝓃 𝒶𝓃𝒹 𝒸𝑜𝓃𝓈𝓊𝓂𝑒; 𝒶𝓁𝒷𝑒𝒾𝓉 𝒾𝓃 𝓋𝒶𝓇𝒾𝑜𝓊𝓈 𝓈𝒾𝓏𝑒𝓈. 𝒞𝑒𝓇𝓉𝒶𝒾𝓃 𝓀𝓃𝑜𝓌𝓁𝑒𝒹𝑔𝑒 𝒸𝒶𝓃 𝒷𝑒 𝓊𝓈𝑒𝒻𝓊𝓁 𝓉𝑜 𝓈𝑜𝓂𝑒 𝒶𝓃𝒹 𝓃𝑜𝓉 𝓉𝑜 𝑜𝓉𝒽𝑒𝓇𝓈. 𝐿𝒾𝓀𝑒𝓌𝒾𝓈𝑒, 𝒸𝑒𝓇𝓉𝒶𝒾𝓃 𝒻𝑜𝑜𝒹 𝒸𝒶𝓃 𝒷𝑒 𝓅𝓁𝑒𝓃𝓉𝒾𝒻𝓊𝓁 𝓉𝑜 𝓈𝑜𝓂𝑒 𝒷𝓊𝓉 𝓃𝑜𝓉 𝓉𝑜 𝑜𝓉𝒽𝑒𝓇𝓈. 𝒮𝑜𝓂𝑒 𝑔𝑒𝓉𝓈 𝓁𝓊𝓍𝓊𝓇𝒾𝑜𝓊𝓈 𝓂𝑒𝒶𝓁 𝒻𝑜𝓇 𝓉𝒽𝑒 𝒹𝒶𝓎 𝓉𝒽𝑒𝓃 𝓉𝒽𝑒𝓎 𝓌𝒶𝓈𝓉𝑒𝒹 𝒾𝓉, 𝓌𝒽𝒾𝓁𝑒 𝑜𝓉𝒽𝑒𝓇𝓈 𝒽𝒶𝒹 𝓉𝑜 𝒷𝑒𝑔 𝒻𝑜𝓇 𝓉𝒾𝓃𝓎 𝓅𝒾𝑒𝒸𝑒 𝑜𝒻 𝓂𝑒𝒶𝓁 𝒶𝓃𝒹 𝓀𝑒𝓅𝓉 𝒾𝓉 𝒻𝑜𝓇 𝒹𝒶𝓎𝓈. 𝒲𝒽𝒶𝓉 𝓂𝒶𝓉𝓉𝑒𝓇𝓈 𝒾𝓈 𝒽𝑜𝓌 𝑜𝓃𝑒 𝒸𝒶𝓃 𝒶𝓅𝓅𝓇𝑒𝒸𝒾𝒶𝓉𝑒 𝒶𝓃𝒹 𝒷𝑒 𝓉𝒽𝒶𝓃𝓀𝒻𝓊𝓁 𝑒𝓋𝑒𝓃 𝒾𝓉𝓈 𝓉𝒽𝑒 𝓈𝒾𝓏𝑒 𝑜𝒻 𝒶 𝒷𝒾𝓈𝒸𝓊𝒾𝓉."%0a +host:1635237404=185.112.146.85 +author:1630363882=AncientWisdom +diff:1630363882:1630363736:=56c56%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ancientwisdom.oddprotocol.org]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a +host:1630363882=2a03:e600:100::31 +author:1630363736=AncientWisdom +diff:1630363736:1630361068:=46c46%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #Perl101, #Perl102, #PMWiki, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #Perl102, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1630363736=2a03:e600:100::31 +author:1630361068=AncientWisdom +diff:1630361068:1630360939:=44c44%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|EMail @ admin@ancientwisdom.oddprotocol.org]] %0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|EMail Me @ admin@ancientwisdom.oddprotocol.org]] %0a +host:1630361068=2a03:e600:100::27 +author:1630360939=AncientWisdom +diff:1630360939:1630356055:=60d59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/|AncientWisdom @ChannelStatus®]] : The IRC Channel (Group) Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstatsgrp/]]%0a +host:1630360939=2a03:e600:100::27 +author:1630356055=AncientWisdom +diff:1630356055:1630355891:=59c59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/ircstats/]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a +host:1630356055=2a03:e600:100::29 +author:1630355891=AncientWisdom +diff:1630355891:1630328346:=59c59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/ircstats/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/irc/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a +host:1630355891=2a03:e600:100::29 +author:1630328346=AncientWisdom +diff:1630328346:1630328091:=59c59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org/portal/irc/|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a +host:1630328346=2a03:e600:100::34 +author:1630328091=AncientWisdom +diff:1630328091:1630328007:=63c63%0a%3c '^[Commenced Upload]^': %25color=#ff3300%25𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%25%25%0a---%0a> '^[Uploaded]^': %25color=#ff3300%25𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%25%25%0a +host:1630328091=2a03:e600:100::34 +author:1630328007=AncientWisdom +diff:1630328007:1630327971:=56,58c56,58%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]     : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]        : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]          : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]       : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]         : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a +host:1630328007=2a03:e600:100::34 +author:1630327971=AncientWisdom +diff:1630327971:1630327787:=56,59c56,59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]       : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]         : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @ChannelStatus®]] : The IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @ChannelStatus®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a +host:1630327971=2a03:e600:100::34 +author:1630327787=AncientWisdom +diff:1630327787:1630327675:=59c59%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @ChannelStatus®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc/|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc/]]%0a---%0a> * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc]]%0a +host:1630327787=2a03:e600:100::34 +author:1630327675=AncientWisdom +diff:1630327675:1630327597:=59c59,60%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc]]%0a---%0a> %0a> [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc]]%0a +host:1630327675=2a03:e600:100::34 +author:1630327597=AncientWisdom +diff:1630327597:1629636959:=46c46%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Council, #Duels, #Help, #OffTopic, #Perl102, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a59,60d58%0a%3c %0a%3c [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]    : IRC Channel Status @ [[https://ancientwisdom.oddprotocol.org/portal/irc|LiveUpdate]] -- [[https://ancientwisdom.oddprotocol.org/portal/irc]]%0a +host:1630327597=2a03:e600:100::34 +author:1629636959=AncientWisdom +diff:1629636959:1629636836:=22c22,23%0a%3c 𝓨𝓸𝓾𝓻𝓼 𝓣𝓻𝓾𝓵𝔂 - 𝓕𝓻𝓸𝓶 𝓣𝓱𝓮 𝓓𝓮𝓼𝓴 𝓸𝓯:[[%3c%3c]] 𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶%0a---%0a> Yours Trully - From the Desk of:%0a> 𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶%0a +host:1629636959=2a03:e600:100::19 +author:1629636836=AncientWisdom +diff:1629636836:1629581197:=21,23d20%0a%3c %0a%3c Yours Trully - From the Desk of:%0a%3c 𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶%0a +host:1629636836=2a03:e600:100::19 +author:1629581197=AncientWisdom +diff:1629581197:1629581096:=7c7%0a%3c From the Ancient Days, the Universe evolves in many ways - providing an unlimited means to God's creations' and creatures' to acquire unlimited wealth of knowledge for them to continue to better themselves and to provide for others - in many mysterious different ways.%0a---%0a> From the Ancient Days, the Universe evolves in many ways - providing an unlimited means to God's creations' and creatures' to acquire unlimited wealth of knowledge for them to continue to better themselves in many different ways.%0a +host:1629581197=2a03:e600:100::26 +author:1629581096=AncientWisdom +diff:1629581096:1629580926:=11,12d10%0a%3c Knowledge is 𝓷𝓸𝓽-𝓸𝔀𝓷𝓮𝓭 by anyone:%0a%3c %0a15c13%0a%3c * no matter 𝓯𝓻𝓸𝓶 𝔀𝓱𝓸 or 𝓯𝓻𝓸𝓶 𝔀𝓱𝓮𝓻𝓮 they have acquired them,%0a---%0a> * no matter 𝓯𝓻𝓸𝓶 𝔀𝓱𝓸 they have acquired them,%0a +host:1629581096=2a03:e600:100::26 +author:1629580926=AncientWisdom +diff:1629580926:1629580833:=24c24%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘." [[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 "𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘." ||%0a +host:1629580926=2a03:e600:100::26 +author:1629580833=AncientWisdom +diff:1629580833:1629580775:=21a22,24%0a> 𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓%0a> 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘.%0a> %0a24c27%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 "𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘." ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a +host:1629580833=2a03:e600:100::26 +author:1629580775=AncientWisdom +diff:1629580775:1629580706:=22c22,26%0a%3c 𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘[[%3c%3c]] 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍[[%3c%3c]] 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉[[%3c%3c]] 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,[[%3c%3c]] 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓%0a---%0a> 𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘%0a> 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍%0a> 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉%0a> 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,%0a> 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓%0a +host:1629580775=2a03:e600:100::26 +author:1629580706=AncientWisdom +diff:1629580706:1629580632:=22,27c22,27%0a%3c 𝕾𝖍𝖔𝖗𝖙 𝖎𝖘𝖔𝖑𝖆𝖙𝖊𝖉 𝖘𝖊𝖓𝖙𝖊𝖓𝖈𝖊𝖘%0a%3c 𝖜𝖊𝖗𝖊 𝖙𝖍𝖊 𝖒𝖔𝖉𝖊 𝖎𝖓 𝖜𝖍𝖎𝖈𝖍%0a%3c 𝕬𝖓𝖈𝖎𝖊𝖓𝖙 𝖂𝖎𝖘𝖉𝖔𝖒 𝖉𝖊𝖑𝖎𝖌𝖍𝖙𝖊𝖉%0a%3c 𝖙𝖔 𝖈𝖔𝖓𝖛𝖊𝖞 𝖎𝖙𝖘 𝖕𝖗𝖊𝖈𝖊𝖕𝖙𝖘,%0a%3c 𝖋𝖔𝖗 𝖙𝖍𝖊 𝖗𝖊𝖌𝖚𝖑𝖆𝖙𝖎𝖔𝖓%0a%3c 𝖔𝖋 𝖑𝖎𝖋𝖊 𝖆𝖓𝖉 𝖒𝖆𝖓𝖓𝖊𝖗𝖘.%0a---%0a> 𝔖𝔥𝔬𝔯𝔱 𝔦𝔰𝔬𝔩𝔞𝔱𝔢𝔡 𝔰𝔢𝔫𝔱𝔢𝔫𝔠𝔢𝔰%0a> 𝔴𝔢𝔯𝔢 𝔱𝔥𝔢 𝔪𝔬𝔡𝔢 𝔦𝔫 𝔴𝔥𝔦𝔠𝔥%0a> 𝔄𝔫𝔠𝔦𝔢𝔫𝔱 𝔚𝔦𝔰𝔡𝔬𝔪 𝔡𝔢𝔩𝔦𝔤𝔥𝔱𝔢𝔡%0a> 𝔱𝔬 𝔠𝔬𝔫𝔳𝔢𝔶 𝔦𝔱𝔰 𝔭𝔯𝔢𝔠𝔢𝔭𝔱𝔰,%0a> 𝔣𝔬𝔯 𝔱𝔥𝔢 𝔯𝔢𝔤𝔲𝔩𝔞𝔱𝔦𝔬𝔫%0a> 𝔬𝔣 𝔩𝔦𝔣𝔢 𝔞𝔫𝔡 𝔪𝔞𝔫𝔫𝔢𝔯𝔰.%0a +host:1629580706=2a03:e600:100::26 +author:1629580632=AncientWisdom +diff:1629580632:1629579874:=21,27d20%0a%3c %0a%3c 𝔖𝔥𝔬𝔯𝔱 𝔦𝔰𝔬𝔩𝔞𝔱𝔢𝔡 𝔰𝔢𝔫𝔱𝔢𝔫𝔠𝔢𝔰%0a%3c 𝔴𝔢𝔯𝔢 𝔱𝔥𝔢 𝔪𝔬𝔡𝔢 𝔦𝔫 𝔴𝔥𝔦𝔠𝔥%0a%3c 𝔄𝔫𝔠𝔦𝔢𝔫𝔱 𝔚𝔦𝔰𝔡𝔬𝔪 𝔡𝔢𝔩𝔦𝔤𝔥𝔱𝔢𝔡%0a%3c 𝔱𝔬 𝔠𝔬𝔫𝔳𝔢𝔶 𝔦𝔱𝔰 𝔭𝔯𝔢𝔠𝔢𝔭𝔱𝔰,%0a%3c 𝔣𝔬𝔯 𝔱𝔥𝔢 𝔯𝔢𝔤𝔲𝔩𝔞𝔱𝔦𝔬𝔫%0a%3c 𝔬𝔣 𝔩𝔦𝔣𝔢 𝔞𝔫𝔡 𝔪𝔞𝔫𝔫𝔢𝔯𝔰.%0a +host:1629580632=2a03:e600:100::26 +author:1629579874=AncientWisdom +diff:1629579874:1629579825:=18c18%0a%3c Today, our current knowledge is what we live on and we live in. In the many days to come, those knowledge 𝔀𝓲𝓵𝓵 be Ancient in the eyes of another generations.%0a---%0a> Today, our current knowledge is what we live on and we live in. In the many days to come, those knowledge 𝔀𝓲𝓵𝓵 be Ancient to the eyes of another generations.%0a +host:1629579874=2a03:e600:100::35 +author:1629579825=AncientWisdom +diff:1629579825:1629579417:=17,18d16%0a%3c %0a%3c Today, our current knowledge is what we live on and we live in. In the many days to come, those knowledge 𝔀𝓲𝓵𝓵 be Ancient to the eyes of another generations.%0a +host:1629579825=2a03:e600:100::35 +author:1629579417=AncientWisdom +diff:1629579417:1629578604:=11,16c11,18%0a%3c * no matter 𝓱𝓸𝔀 𝓶𝓾𝓬𝓱 people may think they have acquired them,%0a%3c * no matter 𝓱𝓸𝔀 they have acquired them,%0a%3c * no matter 𝓯𝓻𝓸𝓶 𝔀𝓱𝓸 they have acquired them,%0a%3c * no matter 𝔀𝓱𝓮𝓻𝓮 people think they should apply those knowledge%0a%3c %0a%3c Knowledge continues to flow and there's no stopping it from getting pass-over to another generations - and likewise, God's creations' and creatures' 𝔀𝓲𝓵𝓵 continue to evolve around them, no matter 𝔀𝓱𝓮𝓻𝓮 they are.%0a---%0a> Knowledge are 𝓷𝓸𝓽 owned by anyone:%0a> %0a> * no matter how much people may think they have acquired them,%0a> * no matter how they have acquired them,%0a> * no matter from who they have acquired them,%0a> * no matter where people think they should apply those knowledge%0a> %0a> Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a +host:1629579417=2a03:e600:100::35 +author:1629578604=AncientWisdom +diff:1629578604:1629578391:=11,16c11,15%0a%3c Knowledge are 𝓷𝓸𝓽 owned by anyone:%0a%3c %0a%3c * no matter how much people may think they have acquired them,%0a%3c * no matter how they have acquired them,%0a%3c * no matter from who they have acquired them,%0a%3c * no matter where people think they should apply those knowledge%0a---%0a> Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.%0a> %0a> * no matter how much people may think they have acquired them%0a> * how they acquired them%0a> * where they think they should apply those knowledge%0a +host:1629578604=2a03:e600:100::35 +author:1629578391=AncientWisdom +diff:1629578391:1629578294:=12,15d11%0a%3c %0a%3c * no matter how much people may think they have acquired them%0a%3c * how they acquired them%0a%3c * where they think they should apply those knowledge%0a +host:1629578391=2a03:e600:100::35 +author:1629578294=AncientWisdom +diff:1629578294:1629578258:=19c19%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a +host:1629578294=2a03:e600:100::35 +author:1629578258=AncientWisdom +diff:1629578258:1629578090:=19c19%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629578258=2a03:e600:100::35 +author:1629578090=AncientWisdom +diff:1629578090:1629577718:=7c7%0a%3c From the Ancient Days, the Universe evolves in many ways - providing an unlimited means to God's creations' and creatures' to acquire unlimited wealth of knowledge for them to continue to better themselves in many different ways.%0a---%0a> From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.%0a +host:1629578090=2a03:e600:100::35 +author:1629577718=AncientWisdom +diff:1629577718:1629577518:=3c3%0a%3c (:div5 class="" style="background-color:transparent; text-align=justify text-justify=inter-word":)%0a---%0a> (:div5 class="" style="background-color:transparent; color:#ff3300; text-align=justify":)%0a +host:1629577718=2a03:e600:100::35 +author:1629577518=AncientWisdom +diff:1629577518:1629577335:=3,4c3%0a%3c (:div5 class="" style="background-color:transparent; color:#ff3300; text-align=justify":)%0a%3c %0a---%0a> %0a14,15d12%0a%3c %0a%3c (:div5end:)%0a +host:1629577518=2a03:e600:100::35 +author:1629577335=AncientWisdom +diff:1629577335:1629577311:=4c4%0a%3c %25width=300px rfloat%25 Attach:AncientCabin.png%0a---%0a> %25width=400px rfloat%25 Attach:AncientCabin.png%0a +host:1629577335=2a03:e600:100::35 +author:1629577311=AncientWisdom +diff:1629577311:1629577263:=6,12c6%0a%3c From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.%0a%3c %0a%3c Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another.%0a%3c %0a%3c Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.%0a%3c %0a%3c Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a---%0a> From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.[[%3c%3c]] Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another.[[%3c%3c]] Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.[[%3c%3c]] Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a +host:1629577311=2a03:e600:100::35 +author:1629577263=AncientWisdom +diff:1629577263:1629577229:=6c6%0a%3c From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.[[%3c%3c]] Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another.[[%3c%3c]] Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.[[%3c%3c]] Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a---%0a> From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.[[%3c%3c]][[%3c%3c]] Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another.[[%3c%3c]][[%3c%3c]] Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.[[%3c%3c]][[%3c%3c]] Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a +host:1629577263=2a03:e600:100::35 +author:1629577229=AncientWisdom +diff:1629577229:1629577053:=6c6%0a%3c From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways.[[%3c%3c]][[%3c%3c]] Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another.[[%3c%3c]][[%3c%3c]] Knowledge are not owned by anyone - no matter how much people may think they have acquired them, how they acquired them and where they think they should apply those knowledge.[[%3c%3c]][[%3c%3c]] Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a---%0a> From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways. Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another. Knowledge are not owned by anyone no matter how much people may think they have acquired them, how they acquired them and where should they want to apply those knowledge. Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a +host:1629577229=2a03:e600:100::35 +author:1629577053=AncientWisdom +diff:1629577053:1629543056:=2,6d1%0a%3c %0a%3c %0a%3c %25width=400px rfloat%25 Attach:AncientCabin.png%0a%3c %0a%3c From the Ancient Days, God's creations' and creatures continue to better themselves in many different ways. Throughout the decades, knowledge are acquired, gained and passed-over from one generation to another. Knowledge are not owned by anyone no matter how much people may think they have acquired them, how they acquired them and where should they want to apply those knowledge. Knowledge continues to flow and there's no stopping it from getting passed over to another generations.%0a +host:1629577053=2a03:e600:100::35 +author:1629543056=AncientWisdom +diff:1629543056:1629542809:=21c21%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|EMail Me @ admin@ancientwisdom.oddprotocol.org]] %0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|admin@ancientwisdom.oddprotocol.org]] %0a +host:1629543056=81.16.33.31 +author:1629542809=AncientWisdom +diff:1629542809:1629542782:=25c25%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use %25rel=nofollow%25 %25target=_blank%25 [[https://www.torproject.org/download/|Tor Browser]].%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a +host:1629542809=81.16.33.31 +author:1629542782=AncientWisdom +diff:1629542782:1629542649:=25c25%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a +host:1629542782=81.16.33.31 +author:1629542649=AncientWisdom +diff:1629542649:1629542613:=22c22%0a%3c * '''𝓘𝓡𝓒'''                                        : Ancient.Wisdom on %25rel=nofollow%25 %25target=_blank%25 [[https://ircnow.org|IRCNow]]%0a---%0a> * '''𝓘𝓡𝓒'''                                        : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a +host:1629542649=81.16.33.31 +author:1629542613=AncientWisdom +diff:1629542613:1629542581:=23c23%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629542613=81.16.33.31 +author:1629542581=AncientWisdom +diff:1629542581:1629542493:=13,15c13,15%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a---%0a> *[[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a> *[[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a> *[[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a24,25c24,25%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''          : %25rel=nofollow%25 %25target=_blank%25 [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''          : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a +host:1629542581=81.16.33.31 +author:1629542493=AncientWisdom +diff:1629542493:1629541975:=33,35c33,35%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * %25rel=nofollow%25 %25target=_blank%25 [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a +host:1629542493=81.16.33.31 +author:1629541975=AncientWisdom +diff:1629541975:1629541933:=1a2,7%0a> %0a> %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a> '''The image is left-aligned, with margins set; the caption is centered; the text wraps on the right side of the image.'''%0a> %0a> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. %0a> %0a +host:1629541975=81.16.33.31 +author:1629541933=AncientWisdom +diff:1629541933:1629541900:=3c3%0a%3c %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a---%0a> %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 %25height=75%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a +host:1629541933=81.16.33.31 +author:1629541900=AncientWisdom +diff:1629541900:1629541883:=3c3%0a%3c %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 %25height=75%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a---%0a> %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 %25height=25%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a +host:1629541900=81.16.33.31 +author:1629541883=AncientWisdom +diff:1629541883:1629541817:=3c3%0a%3c %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 %25height=25%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a---%0a> %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a7a8%0a> %25newwin%25%25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%25%25 \%0a +host:1629541883=81.16.33.31 +author:1629541817=AncientWisdom +diff:1629541817:1629541595:=3,6c3,5%0a%3c %25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png | '''The.Cabin!'''%0a%3c '''The image is left-aligned, with margins set; the caption is centered; the text wraps on the right side of the image.'''%0a%3c %0a%3c Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. %0a---%0a> %25lfloat%25%25width=17pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a> [[%3c%3c]]%0a> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.%0a +host:1629541817=81.16.33.31 +author:1629541595=AncientWisdom +diff:1629541595:1629541574:=3c3%0a%3c %25lfloat%25%25width=17pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a---%0a> %25lfloat%25%25width=3pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a +host:1629541595=81.16.33.31 +author:1629541574=AncientWisdom +diff:1629541574:1629541537:=3c3,4%0a%3c %25lfloat%25%25width=3pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a---%0a> %25lfloat%25 %25width=11pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a> '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a +host:1629541574=81.16.33.31 +author:1629541537=AncientWisdom +diff:1629541537:1629541514:=3c3%0a%3c %25lfloat%25 %25width=11pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a---%0a> %25lfloat%25\ %25width=25pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a +host:1629541537=81.16.33.31 +author:1629541514=AncientWisdom +diff:1629541514:1629541493:=3c3%0a%3c %25lfloat%25\ %25width=25pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a---%0a> %25lfloat%25\ %25width=75pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a +host:1629541514=81.16.33.31 +author:1629541493=AncientWisdom +diff:1629541493:1629541436:=3c3%0a%3c %25lfloat%25\ %25width=75pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a---%0a> %25lfloat%25 %25width=75pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a +host:1629541493=81.16.33.31 +author:1629541436=AncientWisdom +diff:1629541436:1629541367:=3c3%0a%3c %25lfloat%25 %25width=75pct%25https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a---%0a> %25lfloat%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a +host:1629541436=81.16.33.31 +author:1629541367=AncientWisdom +diff:1629541367:1629541087:=3,7d2%0a%3c %25lfloat%25 https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png%0a%3c '''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a%3c [[%3c%3c]]%0a%3c Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.%0a%3c %0a8a4,6%0a> %0a> %25height=75%25\%25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25\%25%25%0a> (:div:)%0a +host:1629541367=81.16.33.31 +author:1629541087=AncientWisdom +diff:1629541087:1629541060:=5c5%0a%3c %25height=75%25\%25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25\%25%25%0a---%0a> %25height=75%25 %25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 %25%25%0a +host:1629541087=81.16.33.31 +author:1629541060=AncientWisdom +diff:1629541060:1629541035:=5c5%0a%3c %25height=75%25 %25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 %25%25%0a---%0a> %25height=75%25%25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%0a +host:1629541060=81.16.33.31 +author:1629541035=AncientWisdom +diff:1629541035:1629541009:=5c5%0a%3c %25height=75%25%25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%0a---%0a> %25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%0a +host:1629541035=81.16.33.31 +author:1629541009=AncientWisdom +diff:1629541009:1629540961:=5d4%0a%3c %25newwin%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%0a +host:1629541009=81.16.33.31 +author:1629540961=AncientWisdom +diff:1629540961:1629540894:=3c3%0a%3c %25newwin%25%25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25%25%25 \%0a---%0a> %25newwin%25 %25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%25%25%0a +host:1629540961=81.16.33.31 +author:1629540894=AncientWisdom +diff:1629540894:1629540843:=3c3%0a%3c %25newwin%25 %25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%25%25%0a---%0a> %25newwin%25%25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%0a +host:1629540894=81.16.33.31 +author:1629540843=AncientWisdom +diff:1629540843:1629540659:=3c3%0a%3c %25newwin%25%25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%0a---%0a> %25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%0a +host:1629540843=81.16.33.31 +author:1629540659=AncientWisdom +diff:1629540659:1629540515:=3c3%0a%3c %25height=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/favicon-cabin.png"The.Cabin"]]%25%25 \%0a---%0a> %25width=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/favicon-cabin.png"]]%25%25 \%0a +host:1629540659=81.16.33.31 +author:1629540515=AncientWisdom +diff:1629540515:1629540456:=3c3,5%0a%3c %25width=75%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/favicon-cabin.png"]]%25%25 \%0a---%0a> %25width=50px%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%0a> %0a> %25width=60%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%25%25 \%0a +host:1629540515=81.16.33.31 +author:1629540456=AncientWisdom +diff:1629540456:1629540364:=4,5d3%0a%3c %0a%3c %25width=60%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%25%25 \%0a +host:1629540456=81.16.33.31 +author:1629540364=AncientWisdom +diff:1629540364:1629540249:=3c3%0a%3c %25width=50px%25[[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%0a---%0a> [[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%0a +host:1629540364=81.16.33.31 +author:1629540249=AncientWisdom +diff:1629540249:1629539880:=2,3d1%0a%3c %0a%3c [[https://ancientwisdom.oddprotocol.org/ | https://ancientwisdom.oddprotocol.org//portal/assets/img/742059_450x450-cabin-sepia.png"The.Cabin"]]%0a +host:1629540249=81.16.33.31 +author:1629539880=AncientWisdom +diff:1629539880:1629539834:=27c27%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] ***Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a +host:1629539880=81.16.33.31 +author:1629539834=AncientWisdom +diff:1629539834:1629537422:=27c27%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]] Note: To access Tor Onion sites, download, install and use [[https://www.torproject.org/download/|Tor Browser]].%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629539834=81.16.33.31 +author:1629537422=AncientWisdom +diff:1629537422:1629537385:=23c23%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|admin@ancientwisdom.oddprotocol.org]] %0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|admin@ancientwisdom.oddprotocol.org]] : MailTo @ [[mailto://://admin@ancientwisdom.oddprotocol.org|MailTo]]%0a +host:1629537422=45.128.133.242 +author:1629537385=AncientWisdom +diff:1629537385:1629537313:=23c23%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|admin@ancientwisdom.oddprotocol.org]] : MailTo @ [[mailto://://admin@ancientwisdom.oddprotocol.org|MailTo]]%0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : MailTo @ [[mailto://://admin@ancientwisdom.oddprotocol.org|MailTo]] Network of the Users -- [[admin@ancientwisdom.oddprotocol.org]]%0a +host:1629537385=45.128.133.242 +author:1629537313=AncientWisdom +diff:1629537313:1629537147:=23c23%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : MailTo @ [[mailto://://admin@ancientwisdom.oddprotocol.org|MailTo]] Network of the Users -- [[admin@ancientwisdom.oddprotocol.org]]%0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : MailTo: -- [[mailto://admin@ancientwisdom.oddprotocol.org]]%0a +host:1629537313=45.128.133.242 +author:1629537147=AncientWisdom +diff:1629537147:1629537079:=23c23%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : MailTo: -- [[mailto://admin@ancientwisdom.oddprotocol.org]]%0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : MailTo: -- [[mailto://admin@ancientwisdom.oddprotocol.org]]%0a +host:1629537147=45.128.133.242 +author:1629537079=AncientWisdom +diff:1629537079:1629536905:=23c23%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : [[mailto://admin@ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : MailTo: -- [[mailto://admin@ancientwisdom.oddprotocol.org]]%0a---%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                                  : admin@ancientwisdom.oddprotocol.org%0a +host:1629537079=45.128.133.242 +author:1629536905=AncientWisdom +diff:1629536905:1629536874:=26,27c26,27%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''          : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''  : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''         : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''   : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629536905=45.128.133.242 +author:1629536874=AncientWisdom +diff:1629536874:1629536851:=26c26%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''         : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''        : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629536874=45.128.133.242 +author:1629536851=AncientWisdom +diff:1629536851:1629536811:=26,27c26,27%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''        : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''   : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''       : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''    : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629536851=45.128.133.242 +author:1629536811=AncientWisdom +diff:1629536811:1629536758:=22,26c22,26%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''                               : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                                  : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''                                        : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                          : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''       : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓱𝓸𝓜𝓮'''                        : Ancient.Wisdom%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                           : admin@ancientwisdom.oddprotocol.org%0a> * '''𝓘𝓡𝓒'''                                 : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629536811=45.128.133.242 +author:1629536758=AncientWisdom +diff:1629536758:1629536726:=22,25c22,25%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''                        : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                           : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''                                 : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''                   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓦𝓱𝓸𝓜𝓮'''                   : Ancient.Wisdom%0a> * '''𝓔𝓜𝓪𝓲𝓵'''                      : admin@ancientwisdom.oddprotocol.org%0a> * '''𝓘𝓡𝓒'''                            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''              : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629536758=45.128.133.242 +author:1629536726=AncientWisdom +diff:1629536726:1629536672:=22,25c22,25%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''                   : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''                      : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''                            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''              : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓦𝓱𝓸𝓜𝓮'''            : Ancient.Wisdom%0a> * '''𝓔𝓜𝓪𝓲𝓵'''               : admin@ancientwisdom.oddprotocol.org%0a> * '''𝓘𝓡𝓒'''                     : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''       : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629536726=45.128.133.242 +author:1629536672=AncientWisdom +diff:1629536672:1629536622:=22,25c22,25%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''            : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''               : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''                     : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''       : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓦𝓱𝓸𝓜𝓮'''       : Ancient.Wisdom%0a> * '''𝓔𝓜𝓪𝓲𝓵'''          : admin@ancientwisdom.oddprotocol.org%0a> * '''𝓘𝓡𝓒'''                : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629536672=45.128.133.242 +author:1629536622=AncientWisdom +diff:1629536622:1629536259:=13c13%0a%3c '''𝓣𝓱𝓮.𝓒𝓪𝓫𝓲𝓷.𝓸𝓯.𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶'''%0a---%0a> '''𝓣𝓱𝓮.𝓒𝓪𝓫𝓲𝓷.𝓸𝓯.𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶'''%0a15,17c15,17%0a%3c *[[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a%3c *[[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a%3c *[[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a---%0a> *[[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a> *[[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a> *[[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a24c24%0a%3c * '''𝓘𝓡𝓒'''                : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a---%0a> * '''𝓘𝓡𝓒'''                : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a26,28c26,27%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Clearnet]'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽 [Tor.Onion.v3]'''    : [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a%3c %0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a> %0a35,37c34,36%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a +host:1629536622=45.128.133.242 +author:1629536259=AncientWisdom +diff:1629536259:1629536133:=17c17%0a%3c *[[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a---%0a> *[[https://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a +host:1629536259=45.128.133.242 +author:1629536133=AncientWisdom +diff:1629536133:1629536061:=40c40%0a%3c '^[Uploaded]^': %25color=#ff3300%25𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%25%25%0a---%0a> '^[Uploaded]^': 𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%0a +host:1629536133=45.128.133.242 +author:1629536061=AncientWisdom +diff:1629536061:1629536001:=40c40%0a%3c '^[Uploaded]^': 𝓐𝓾𝓰𝓾𝓼𝓽 21, 2021, 𝓪𝓽 05:21 𝓐𝓜%0a---%0a> '^[Uploaded]^': August 21, 2021, at 05:21 AM%0a +host:1629536061=45.128.133.242 +author:1629536001=AncientWisdom +diff:1629536001:1629535890:=40c40%0a%3c '^[Uploaded]^': August 21, 2021, at 05:21 AM%0a---%0a> '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a +host:1629536001=45.128.133.242 +author:1629535890=AncientWisdom +diff:1629535890:1629535858:=34c34%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network of the Users -- [[https://ircnow.org]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a +host:1629535890=45.128.133.242 +author:1629535858=AncientWisdom +diff:1629535858:1629535828:=34c34%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ at [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a +host:1629535858=45.128.133.242 +author:1629535828=AncientWisdom +diff:1629535828:1629535784:=34c34%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associate @ at [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associates of [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a +host:1629535828=45.128.133.242 +author:1629535784=AncientWisdom +diff:1629535784:1629535726:=35c35%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ [[https://bsdforall.org|BSDForAll]] -- [[https://ancientwisdom.bsdforall.org]]%0a---%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a +host:1629535784=45.128.133.242 +author:1629535726=AncientWisdom +diff:1629535726:1629535638:=34c34%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associates of [[https://ircnow.org|IRCNow]] Network Of the Users -- [[https://ircnow.org]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a +host:1629535726=45.128.133.242 +author:1629535638=AncientWisdom +diff:1629535638:1629535567:=13c13%0a%3c '''𝓣𝓱𝓮.𝓒𝓪𝓫𝓲𝓷.𝓸𝓯.𝓐𝓷𝓬𝓲𝓮𝓷𝓽.𝓦𝓲𝓼𝓭𝓸𝓶'''%0a---%0a> '''The.Cabin.Of.Ancient.Wisdom'''%0a +host:1629535638=45.128.133.242 +author:1629535567=AncientWisdom +diff:1629535567:1629533197:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25𝓦𝓱𝓸?[[%3c%3c]] 𝓦𝓱𝓪𝓽?[[%3c%3c]] 𝓦𝓱𝓮𝓻𝓮?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629535567=45.128.133.242 +author:1629533197=AncientWisdom +diff:1629533197:1629533159:=25c25%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSDforAll, #BSDforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629533197=185.83.214.69 +author:1629533159=AncientWisdom +diff:1629533159:1629533110:=26c26%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''     : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629533159=185.83.214.69 +author:1629533110=AncientWisdom +diff:1629533110:1629533071:=24c24%0a%3c * '''𝓘𝓡𝓒'''                : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a---%0a> * '''𝓘𝓡𝓒'''               : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a26c26%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''     : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629533110=185.83.214.69 +author:1629533071=AncientWisdom +diff:1629533071:1629533045:=22,24c22,24%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''       : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''          : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''               : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a---%0a> * '''𝓦𝓱𝓸𝓜𝓮'''     : Ancient.Wisdom%0a> * '''𝓔𝓜𝓪𝓲𝓵'''         : admin@ancientwisdom.oddprotocol.org%0a> * '''𝓘𝓡𝓒'''              : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a +host:1629533071=185.83.214.69 +author:1629533045=AncientWisdom +diff:1629533045:1629532994:=24c24%0a%3c * '''𝓘𝓡𝓒'''              : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a---%0a> * '''𝓘𝓡𝓒'''            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a26c26%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''    : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629533045=185.83.214.69 +author:1629532994=AncientWisdom +diff:1629532994:1629532857:=1,2c1,2%0a%3c (:title Ancient.Wisdom 𝓑𝓲𝓸:)%0a%3c %0a---%0a> (:title Ancient.Wisdom Bio:)%0a> %0a22,26c22,26%0a%3c * '''𝓦𝓱𝓸𝓜𝓮'''     : Ancient.Wisdom%0a%3c * '''𝓔𝓜𝓪𝓲𝓵'''         : admin@ancientwisdom.oddprotocol.org%0a%3c * '''𝓘𝓡𝓒'''            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a%3c * '''𝓗𝓪𝓷𝓰𝓸𝓾𝓽𝓼'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a%3c * '''𝓦𝓮𝓫𝓒𝓱𝓪𝓽'''   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a---%0a> * '''WhoMe'''     : Ancient.Wisdom%0a> * '''Email'''         : admin@ancientwisdom.oddprotocol.org%0a> * '''IRC'''            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a> * '''Hangouts'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a> * '''WebChat'''   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629532994=185.83.214.69 +author:1629532857=AncientWisdom +diff:1629532857:1629532831:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners."[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷" '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629532857=185.83.214.69 +author:1629532831=AncientWisdom +diff:1629532831:1629532797:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] "Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷" '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629532831=185.83.214.69 +author:1629532797=AncientWisdom +diff:1629532797:1629532745:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted[[%3c%3c]] to convey its precepts,[[%3c%3c]] for the regulation[[%3c%3c]] of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629532797=185.83.214.69 +author:1629532745=AncientWisdom +diff:1629532745:1629532660:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences[[%3c%3c]] were the mode in which[[%3c%3c]] Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a8a9,22%0a> %0a> (:div7 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a> || border=1 width=100%25 %0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block font-style=italic font-weight=bold text-align=center%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a> (:div7end:)%0a> %0a> (:div8 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a> || border=1 width=100%25 %0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a> (:div8end:)%0a> %0a> %0a> %0a> %0a +host:1629532745=185.83.214.69 +author:1629532660=AncientWisdom +diff:1629532660:1629532616:=12c12%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block font-style=italic font-weight=bold text-align=center%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block font-style=italic font-weight=bold text-align=center [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629532660=185.83.214.69 +author:1629532616=AncientWisdom +diff:1629532616:1629532476:=10c10%0a%3c (:div7 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a---%0a> (:div1 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a12,16d11%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block font-style=italic font-weight=bold text-align=center [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a%3c (:div7end:)%0a%3c %0a%3c (:div8 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a%3c || border=1 width=100%25 %0a18c13%0a%3c (:div8end:)%0a---%0a> (:div1end:)%0a +host:1629532616=185.83.214.69 +author:1629532476=AncientWisdom +diff:1629532476:1629532428:=12c12%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a16c16%0a%3c %0a---%0a> Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷%0a +host:1629532476=185.83.214.69 +author:1629532428=AncientWisdom +diff:1629532428:1629532334:=9,17d8%0a%3c %0a%3c (:div1 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a%3c || border=1 width=100%25 %0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a%3c (:div1end:)%0a%3c %0a%3c %0a%3c Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners.[[%3c%3c]] ~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷%0a%3c %0a +host:1629532428=185.83.214.69 +author:1629532334=AncientWisdom +diff:1629532334:1629532292:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a8a9,14%0a> %0a> (:div5 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a> || border=1 width=100%25 %0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a> (:div5end:)%0a> %0a +host:1629532334=185.83.214.69 +author:1629532292=AncientWisdom +diff:1629532292:1629532205:= +host:1629532292=185.83.214.69 +author:1629532205=AncientWisdom +diff:1629532205:1629532149:=10,13c10%0a%3c (:div5 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a%3c || border=1 width=100%25 %0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@] '' || %25width=300px%25Attach:AncientCabin.png ||%0a%3c (:div5end:)%0a---%0a> %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629532205=185.83.214.69 +author:1629532149=AncientWisdom +diff:1629532149:1629532101:=10c10,12%0a%3c %25box block bgcolor=#ff7f00 color=#000000 font-style=italic font-weight=bold text-align=center border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25define=box block bgcolor=#ff7f00 color:#ffffff font-style=italic border="1px dotted blue"%25%0a> %0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=111vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629532149=185.83.214.69 +author:1629532101=AncientWisdom +diff:1629532101:1629532071:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=111vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=75vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629532101=185.83.214.69 +author:1629532071=AncientWisdom +diff:1629532071:1629532043:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=75vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=150vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629532071=185.83.214.69 +author:1629532043=AncientWisdom +diff:1629532043:1629531998:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=150vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners@][[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=300vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629532043=185.83.214.69 +author:1629531998=AncientWisdom +diff:1629531998:1629531968:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=300vh border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=250px border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629531998=185.83.214.69 +author:1629531968=AncientWisdom +diff:1629531968:1629531942:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=250px border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=250%25%25 border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629531968=185.83.214.69 +author:1629531942=AncientWisdom +diff:1629531942:1629531892:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=250%25%25 border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=25%25 border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629531942=185.83.214.69 +author:1629531892=AncientWisdom +diff:1629531892:1629531855:=12c12%0a%3c %25box block bgcolor=#ff7f00 color=#ffffff font-style=italic font-weight=bold text-align=center width=25%25 border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box block bgcolor=#ff7f00 color:#ffffff font-style=italic font-weight=bold text-align:center; width:25%25; border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629531892=185.83.214.69 +author:1629531855=AncientWisdom +diff:1629531855:1629531771:=12c12,16%0a%3c %25box block bgcolor=#ff7f00 color:#ffffff font-style=italic font-weight=bold text-align:center; width:25%25; border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] [@~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a---%0a> %25box%25 [@ Short isolated sentences were the mode @]%0a> %25box%25 [@ in which Ancient Wisdom delighted to convey its precepts @]%0a> %25box%25 [@ for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 @]%0a> %0a> %25box block bgcolor=#ff7f00 color:#ffffff font-style=italic font-weight=bold border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a +host:1629531855=185.83.214.69 +author:1629531771=AncientWisdom +diff:1629531771:1629531599:=15,17d14%0a%3c %0a%3c %25box block bgcolor=#ff7f00 color:#ffffff font-style=italic font-weight=bold border="1px dotted blue"%25 [@Short isolated sentences were the mode@][[%3c%3c]] [@in which Ancient Wisdom delighted to convey its precepts,@][[%3c%3c]] [@for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷@]%0a%3c %0a +host:1629531771=185.83.214.69 +author:1629531599=AncientWisdom +diff:1629531599:1629531541:=11,12c11%0a%3c %0a%3c %25box%25 [@ Short isolated sentences were the mode @]%0a---%0a> %25box%25 [@ "Short isolated sentences were the mode @]%0a14c13%0a%3c %25box%25 [@ for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷 @]%0a---%0a> %25box%25 [@ for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷" @]%0a +host:1629531599=185.83.214.69 +author:1629531541=AncientWisdom +diff:1629531541:1629531472:=11,13c11,16%0a%3c %25box%25 [@ "Short isolated sentences were the mode @]%0a%3c %25box%25 [@ in which Ancient Wisdom delighted to convey its precepts @]%0a%3c %25box%25 [@ for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷" @]%0a---%0a> %0a> %25box%25 [@"Short isolated sentences were the mode@]%0a> %25box%25 [@in which Ancient Wisdom delighted to convey its precepts@]%0a> %25box%25 [@for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a> %0a> %25box bgcolor=#ff7f00 color=green font-style=italic font-weight=bold %25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a +host:1629531541=185.83.214.69 +author:1629531472=AncientWisdom +diff:1629531472:1629531368:=10,16c10,14%0a%3c %25define=box block bgcolor=#ff7f00 color:#ffffff font-style=italic border="1px dotted blue"%25%0a%3c %0a%3c %25box%25 [@"Short isolated sentences were the mode@]%0a%3c %25box%25 [@in which Ancient Wisdom delighted to convey its precepts@]%0a%3c %25box%25 [@for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a%3c %0a%3c %25box bgcolor=#ff7f00 color=green font-style=italic font-weight=bold %25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a---%0a> %25define=box block bgcolor=#ff7f00 color:#ffffff border="2px dotted blue"%25%0a> %0a> %25box%25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a> %0a> %25box bgcolor=#ff7f00 color=green font-weight=bold %25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a +host:1629531472=185.83.214.69 +author:1629531368=AncientWisdom +diff:1629531368:1629531321:=10c10%0a%3c %25define=box block bgcolor=#ff7f00 color:#ffffff border="2px dotted blue"%25%0a---%0a> %25define=box block bgcolor=#ff7f00 color:#ffffff; border="2px dotted blue"%25%0a +host:1629531368=185.83.214.69 +author:1629531321=AncientWisdom +diff:1629531321:1629531180:=10,14c10,18%0a%3c %25define=box block bgcolor=#ff7f00 color:#ffffff; border="2px dotted blue"%25%0a%3c %0a%3c %25box%25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a%3c %0a%3c %25box bgcolor=#ff7f00 color=green font-weight=bold %25 [@"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"@]%0a---%0a> %25define=box block bgcolor=#ddddff border="2px dotted blue"%25%0a> %0a> %25box%25 [@some sort of text@]%0a> %0a> %25box font-weight=bold color=green%25 [@some sort of text@]%0a> %0a> %25box%25"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a> %0a> %25box%25"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a +host:1629531321=185.83.214.69 +author:1629531180=AncientWisdom +diff:1629531180:1629531021:=10,18c10,21%0a%3c %25define=box block bgcolor=#ddddff border="2px dotted blue"%25%0a%3c %0a%3c %25box%25 [@some sort of text@]%0a%3c %0a%3c %25box font-weight=bold color=green%25 [@some sort of text@]%0a%3c %0a%3c %25box%25"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a%3c %0a%3c %25box%25"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a---%0a> %3cp>%0a> "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a> %3c/p>%0a> %0a> %3ccode>%0a> "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a> %3c/code>%0a> %0a> %3cpre>%0a> "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a> %3c/pre>%0a> %0a +host:1629531180=185.83.214.69 +author:1629531021=AncientWisdom +diff:1629531021:1629530743:=9,21d8%0a%3c %0a%3c %3cp>%0a%3c "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a%3c %3c/p>%0a%3c %0a%3c %3ccode>%0a%3c "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a%3c %3c/code>%0a%3c %0a%3c %3cpre>%0a%3c "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"%0a%3c %3c/pre>%0a%3c %0a +host:1629531021=185.83.214.69 +author:1629530743=AncientWisdom +diff:1629530743:1629530722:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530743=185.83.214.69 +author:1629530722=AncientWisdom +diff:1629530722:1629530642:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a8a9,10%0a> %0a> "𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"%0a +host:1629530722=185.83.214.69 +author:1629530642=AncientWisdom +diff:1629530642:1629530599:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530642=185.83.214.69 +author:1629530599=AncientWisdom +diff:1629530599:1629530548:=10c10%0a%3c "𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"%0a---%0a> 𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈, 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈 - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃%0a +host:1629530599=185.83.214.69 +author:1629530548=AncientWisdom +diff:1629530548:1629530475:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ William Warburton 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a9,10d8%0a%3c %0a%3c 𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈, 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈 - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂.𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃%0a +host:1629530548=185.83.214.69 +author:1629530475=AncientWisdom +diff:1629530475:1629530395:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners[[%3c%3c]] ~ William Warburton 𝓦𝓲𝓵𝓵𝓲𝓪𝓶 𝓦𝓪𝓻𝓫𝓾𝓻𝓽𝓸𝓷"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners ~ William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530475=185.83.214.69 +author:1629530395=AncientWisdom +diff:1629530395:1629530189:=5c5%0a%3c (:div1 class="" style="background-image:url('AncientCabin.png'); background-color:transparent; color:#ff3300; font-size:21px;":)%0a---%0a> (:div1 class="" style="background-color:#ff7f00; color:#ff3300; font-size:21px;":)%0a7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] ---- '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners ~ William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners ~ William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530395=185.83.214.69 +author:1629530189=AncientWisdom +diff:1629530189:1629530119:=5c5%0a%3c (:div1 class="" style="background-color:#ff7f00; color:#ff3300; font-size:21px;":)%0a---%0a> (:div1 class="" style="color:#ff3300; font-size:21px;":)%0a +host:1629530189=185.83.214.69 +author:1629530119=AncientWisdom +diff:1629530119:1629530085:= +host:1629530119=185.83.214.69 +author:1629530085=AncientWisdom +diff:1629530085:1629530046:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners ~ William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-- "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton" --' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530085=185.83.214.69 +author:1629530046=AncientWisdom +diff:1629530046:1629529995:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-- "Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton" --' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-- "𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]]𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃" --' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629530046=185.83.214.69 +author:1629529995=AncientWisdom +diff:1629529995:1629529948:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-- "𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]]𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃" --' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] -𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529995=185.83.214.69 +author:1629529948=AncientWisdom +diff:1629529948:1629529908:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈[[%3c%3c]] -𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈 - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529948=185.83.214.69 +author:1629529908=AncientWisdom +diff:1629529908:1629529783:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"𝒮𝒽𝑜𝓇𝓉 𝒾𝓈𝑜𝓁𝒶𝓉𝑒𝒹 𝓈𝑒𝓃𝓉𝑒𝓃𝒸𝑒𝓈 𝓌𝑒𝓇𝑒 𝓉𝒽𝑒 𝓂𝑜𝒹𝑒[[%3c%3c]] 𝒾𝓃 𝓌𝒽𝒾𝒸𝒽 𝒜𝓃𝒸𝒾𝑒𝓃𝓉 𝒲𝒾𝓈𝒹𝑜𝓂 𝒹𝑒𝓁𝒾𝑔𝒽𝓉𝑒𝒹 𝓉𝑜 𝒸𝑜𝓃𝓋𝑒𝓎 𝒾𝓉𝓈 𝓅𝓇𝑒𝒸𝑒𝓅𝓉𝓈,[[%3c%3c]] 𝒻𝑜𝓇 𝓉𝒽𝑒 𝓇𝑒𝑔𝓊𝓁𝒶𝓉𝒾𝑜𝓃 𝑜𝒻 𝓁𝒾𝒻𝑒 𝒶𝓃𝒹 𝓂𝒶𝓃𝓃𝑒𝓇𝓈 - 𝒲𝒾𝓁𝓁𝒾𝒶𝓂 𝒲𝒶𝓇𝒷𝓊𝓇𝓉𝑜𝓃"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529908=185.83.214.69 +author:1629529783=AncientWisdom +diff:1629529783:1629529753:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] --"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"-- '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529783=185.83.214.69 +author:1629529753=AncientWisdom +diff:1629529753:1629529716:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] --"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"-- '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529753=185.83.214.69 +author:1629529716=AncientWisdom +diff:1629529716:1629529684:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--"Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton"--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529716=185.83.214.69 +author:1629529684=AncientWisdom +diff:1629529684:1629529661:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts,[[%3c%3c]] for the regulation of life and manners - William Warburton--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts, for the regulation of life and manners - William Warburton--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529684=185.83.214.69 +author:1629529661=AncientWisdom +diff:1629529661:1629529524:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '--Short isolated sentences were the mode[[%3c%3c]] in which Ancient Wisdom delighted to convey its precepts, for the regulation of life and manners - William Warburton--' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-Short isolated sentences were the mode in which ancient Wisdom delighted to convey its precepts, for the regulation of life and manners-' '' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529661=185.83.214.69 +author:1629529524=AncientWisdom +diff:1629529524:1629529435:=7c7,15%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' ''[[%3c%3c]][[%3c%3c]] '-Short isolated sentences were the mode in which ancient Wisdom delighted to convey its precepts, for the regulation of life and manners-' '' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +'%0a> %0a> Short isolated sentences were the mode in which ancient Wisdom delighted to convey its precepts, for the regulation of life and manners%0a> %0a> '+big+'%0a> '' '-small-' ''%0a> %0a> %0a> || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529524=185.83.214.69 +author:1629529435=AncientWisdom +diff:1629529435:1629528849:=7,15c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +'%0a%3c %0a%3c Short isolated sentences were the mode in which ancient Wisdom delighted to convey its precepts, for the regulation of life and manners%0a%3c %0a%3c '+big+'%0a%3c '' '-small-' ''%0a%3c %0a%3c %0a%3c || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629529435=185.83.214.69 +author:1629528849=AncientWisdom +diff:1629528849:1629528823:=7c7%0a%3c || '+ '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 +' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || +' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 '+ || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629528849=185.83.214.69 +author:1629528823=AncientWisdom +diff:1629528823:1629528769:=7c7%0a%3c || +' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 '+ || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 '+' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629528823=185.83.214.69 +author:1629528769=AncientWisdom +diff:1629528769:1629528594:=5c5%0a%3c (:div1 class="" style="color:#ff3300; font-size:21px;":)%0a---%0a> (:div1 class="" style="color:#FF3300; font-size:21px;":)%0a7c7%0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' %25color=#000000%25Who?[[%3c%3c]] What?[[%3c%3c]] Where?'''''%25%25 '+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a11c11%0a%3c (:table border=1 width=30%25 align=right bgcolor=#ff7f00 cellspacing=0 :)%0a---%0a> (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a +host:1629528769=185.83.214.69 +author:1629528594=AncientWisdom +diff:1629528594:1629528525:=4,7c4,5%0a%3c %0a%3c (:div1 class="" style="color:#FF3300; font-size:21px;":)%0a%3c || border=1 width=100%25 %0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> (:div1 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a> %25width=300px%25Attach:AncientCabin.png%0a10c8,14%0a%3c (:div2 class="" style="color:#000000;":)%0a---%0a> (:div2:)%0a> (:div5 class="" style="color:#FF3300; font-size:21px;":)%0a> || border=1 width=100%25 %0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a> (:div2end:)%0a> %0a> (:div3 class="" style="color:#000000;":)%0a38c42%0a%3c (:div2end:)%0a---%0a> (:div3end:)%0a +host:1629528594=185.83.214.69 +author:1629528525=AncientWisdom +diff:1629528525:1629528445:=3,4c3,17%0a%3c (:div:)%0a%3c (:div1 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div3 class="" style="display:inline-block; color:#FF3300; left:50px; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a> %0a> >>highlight css%3c%3c%0a> [@%0a> /* These adjust the size and spacing of heading elements */%0a> h1, h2, h3, h4, h5, h6 { margin:1.0em 0 .6em 0; }%0a> h1, h2, h3, h6 { font-weight:normal; }%0a> h4, h5 { font-weight:bold; }%0a> @]%0a> >>%3c%3c%0a> %0a> '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+'%0a> (:div3end:)%0a> %0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a6,8c19,21%0a%3c (:div1end:)%0a%3c %0a%3c (:div2:)%0a---%0a> (:div4end:)%0a> %0a> (:div:)%0a12,14c25,27%0a%3c (:div2end:)%0a%3c %0a%3c (:div3 class="" style="color:#000000;":)%0a---%0a> (:div5end:)%0a> %0a> (:div6 class="" style="color:#000000;":)%0a42c55%0a%3c (:div3end:)%0a---%0a> (:div6end:)%0a +host:1629528525=185.83.214.69 +author:1629528445=AncientWisdom +diff:1629528445:1629528250:=4,13d3%0a%3c %0a%3c >>highlight css%3c%3c%0a%3c [@%0a%3c /* These adjust the size and spacing of heading elements */%0a%3c h1, h2, h3, h4, h5, h6 { margin:1.0em 0 .6em 0; }%0a%3c h1, h2, h3, h6 { font-weight:normal; }%0a%3c h4, h5 { font-weight:bold; }%0a%3c @]%0a%3c >>%3c%3c%0a%3c %0a21a12%0a> (:comment %0a25a17%0a> :)%0a +host:1629528445=185.83.214.69 +author:1629528250=AncientWisdom +diff:1629528250:1629528201:=3c3%0a%3c (:div3 class="" style="display:inline-block; color:#FF3300; left:50px; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:absolute; color:#FF3300; left:50px; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a7c7%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a +host:1629528250=185.83.214.69 +author:1629528201=AncientWisdom +diff:1629528201:1629527908:=3c3%0a%3c (:div3 class="" style="display:block; position:absolute; color:#FF3300; left:50px; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:absolute; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a +host:1629528201=185.83.214.69 +author:1629527908=AncientWisdom +diff:1629527908:1629527818:=12c12%0a%3c (:comment %0a---%0a> %0a17d16%0a%3c :)%0a +host:1629527908=185.83.214.69 +author:1629527818=AncientWisdom +diff:1629527818:1629527797:=8c8%0a%3c %25width=300px%25Attach:AncientCabin.png%0a---%0a> %25width=300px%25%25height=250px%25Attach:AncientCabin.png%0a9a10,11%0a> %0a> %0a +host:1629527818=185.83.214.69 +author:1629527797=AncientWisdom +diff:1629527797:1629527776:=8c8%0a%3c %25width=300px%25%25height=250px%25Attach:AncientCabin.png%0a---%0a> %25width=300px%25%25height=150px%25Attach:AncientCabin.png%0a +host:1629527797=185.83.214.69 +author:1629527776=AncientWisdom +diff:1629527776:1629527752:=7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; width:400px; height:250px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a +host:1629527776=185.83.214.69 +author:1629527752=AncientWisdom +diff:1629527752:1629527690:=8c8%0a%3c %25width=300px%25%25height=150px%25Attach:AncientCabin.png%0a---%0a> Attach:AncientCabin.png%0a +host:1629527752=185.83.214.69 +author:1629527690=AncientWisdom +diff:1629527690:1629527655:=7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; width:400px; height:250px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a +host:1629527690=185.83.214.69 +author:1629527655=AncientWisdom +diff:1629527655:1629527631:=7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; width:500px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a +host:1629527655=185.83.214.69 +author:1629527631=AncientWisdom +diff:1629527631:1629527600:=8c8%0a%3c Attach:AncientCabin.png%0a---%0a> %25Attach:AncientCabin.png%0a +host:1629527631=185.83.214.69 +author:1629527600=AncientWisdom +diff:1629527600:1629527577:=8c8%0a%3c %25Attach:AncientCabin.png%0a---%0a> %25width=500px%25Attach:AncientCabin.png%0a +host:1629527600=185.83.214.69 +author:1629527577=AncientWisdom +diff:1629527577:1629527530:=7,8c7,8%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; width:500px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a%3c %25width=500px%25Attach:AncientCabin.png%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a> %25width=300px%25Attach:AncientCabin.png%0a +host:1629527577=185.83.214.69 +author:1629527530=AncientWisdom +diff:1629527530:1629527503:=7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:right;":)%0a +host:1629527530=185.83.214.69 +author:1629527503=AncientWisdom +diff:1629527503:1629527453:=7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a +host:1629527503=185.83.214.69 +author:1629527453=AncientWisdom +diff:1629527453:1629527397:=3c3%0a%3c (:div3 class="" style="display:block; position:absolute; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:absolute; color:#FF3300; font-size:21px; text-align:center;":)%0a7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center; vertical-align:middle; horizontal-align:center;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629527453=185.83.214.69 +author:1629527397=AncientWisdom +diff:1629527397:1629527367:=3c3%0a%3c (:div3 class="" style="display:block; position:absolute; color:#FF3300; font-size:21px; text-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a7c7%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629527397=185.83.214.69 +author:1629527367=AncientWisdom +diff:1629527367:1629527345:=2a3%0a> %0a5,6c6%0a%3c (:div3end:)%0a%3c %0a---%0a> %0a9a10,12%0a> %0a> (:div3end:)%0a> %0a +host:1629527367=185.83.214.69 +author:1629527345=AncientWisdom +diff:1629527345:1629527329:=4c4%0a%3c (:div3 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a---%0a> (:div3 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a +host:1629527345=185.83.214.69 +author:1629527329=AncientWisdom +diff:1629527329:1629527276:=4c4%0a%3c (:div3 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a +host:1629527329=185.83.214.69 +author:1629527276=AncientWisdom +diff:1629527276:1629527243:=7c7%0a%3c (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629527276=185.83.214.69 +author:1629527243=AncientWisdom +diff:1629527243:1629527188:=6c6,7%0a%3c %0a---%0a> (:div3end:)%0a> %0a10,13d10%0a%3c %0a%3c (:div3end:)%0a%3c %0a%3c %0a +host:1629527243=185.83.214.69 +author:1629527188=AncientWisdom +diff:1629527188:1629527136:=8c8%0a%3c (:div4 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629527188=185.83.214.69 +author:1629527136=AncientWisdom +diff:1629527136:1629527075:=4c4%0a%3c (:div3 class="" style="display:block; position:relative; color:#FF3300; font-size:21px; text-align:center;":)%0a---%0a> (:div3 class="" style="display:block; color:#FF3300; font-size:21px; text-align:left;":)%0a8c8%0a%3c (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629527136=185.83.214.69 +author:1629527075=AncientWisdom +diff:1629527075:1629526999:=4c4%0a%3c (:div3 class="" style="display:block; color:#FF3300; font-size:21px; text-align:left;":)%0a---%0a> (:div3 class="" style="display:block; color:#FF3300; font-size:21px; text-align:center;":)%0a8c8%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; vertical-align:middle; horizontal-elign:right;":)%0a +host:1629527075=185.83.214.69 +author:1629526999=AncientWisdom +diff:1629526999:1629526934:=8c8%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; vertical-align:middle; horizontal-elign:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right;":)%0a +host:1629526999=185.83.214.69 +author:1629526934=AncientWisdom +diff:1629526934:1629526868:=4c4%0a%3c (:div3 class="" style="display:block; color:#FF3300; font-size:21px; text-align:center;":)%0a---%0a> (:div3 class="" style="display:block; position:fixed; color:#FF3300; font-size:21px;":)%0a8c8%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px; text-align:right;":)%0a---%0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a +host:1629526934=185.83.214.69 +author:1629526868=AncientWisdom +diff:1629526868:1629526836:=4c4%0a%3c (:div3 class="" style="display:block; position:fixed; color:#FF3300; font-size:21px;":)%0a---%0a> (:div3 class="" style="display:block; color:#FF3300; font-size:21px;":)%0a +host:1629526868=185.83.214.69 +author:1629526836=AncientWisdom +diff:1629526836:1629526760:=3c3%0a%3c %0a---%0a> (:div2:)%0a11c11%0a%3c %0a---%0a> (:div2end:)%0a +host:1629526836=185.83.214.69 +author:1629526760=AncientWisdom +diff:1629526760:1629526722:=2a3,4%0a> (:div:)%0a> %0a13c15%0a%3c (:div:)%0a---%0a> %0a +host:1629526760=185.83.214.69 +author:1629526722=AncientWisdom +diff:1629526722:1629526657:=6c6%0a%3c (:div3 class="" style="display:block; color:#FF3300; font-size:21px;":)%0a---%0a> (:div3 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a10c10%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a---%0a> (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px;":)%0a +host:1629526722=185.83.214.69 +author:1629526657=AncientWisdom +diff:1629526657:1629526632:=6c6%0a%3c (:div3 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a---%0a> (:div3 class="" style="display:inline-block; position:absolute; color:#FF3300; font-size:21px;":)%0a +host:1629526657=185.83.214.69 +author:1629526632=AncientWisdom +diff:1629526632:1629526575:=10c10%0a%3c (:div4 class="" style="display:inline-block; position:relative; color:#FF3300; font-size:21px;":)%0a---%0a> (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a12c12%0a%3c (:div4end:)%0a---%0a> (:div4bend:)%0a +host:1629526632=185.83.214.69 +author:1629526575=AncientWisdom +diff:1629526575:1629526509:=6c6%0a%3c (:div3 class="" style="display:inline-block; position:absolute; color:#FF3300; font-size:21px;":)%0a---%0a> (:div3 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a10c10%0a%3c (:div4 class="" style="display:inline-block; color:#FF3300; font-size:21px;":)%0a---%0a> (:div4 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a +host:1629526575=185.83.214.69 +author:1629526509=AncientWisdom +diff:1629526509:1629526459:=6c6%0a%3c (:div3 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div2a class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a8,10c8,10%0a%3c (:div3end:)%0a%3c %0a%3c (:div4 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div2aend:)%0a> %0a> (:div2b class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a12c12%0a%3c (:div4bend:)%0a---%0a> (:div2bend:)%0a17c17%0a%3c (:div5 class="" style="color:#FF3300; font-size:21px;":)%0a---%0a> (:div4 class="" style="color:#FF3300; font-size:21px;":)%0a20,22c20,22%0a%3c (:div5end:)%0a%3c %0a%3c (:div6 class="" style="color:#000000;":)%0a---%0a> (:div4end:)%0a> %0a> (:div5 class="" style="color:#000000;":)%0a50c50%0a%3c (:div6end:)%0a---%0a> (:div5end:)%0a +host:1629526509=185.83.214.69 +author:1629526459=AncientWisdom +diff:1629526459:1629526378:=4,6c4%0a%3c %0a%3c (:div2:)%0a%3c (:div2a class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div2 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a8,10c6,8%0a%3c (:div2aend:)%0a%3c %0a%3c (:div2b class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> %0a> %0a> (:div3 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a12c10%0a%3c (:div2bend:)%0a---%0a> (:div3end:)%0a14d11%0a%3c %0a +host:1629526459=185.83.214.69 +author:1629526378=AncientWisdom +diff:1629526378:1629526288:=6,7c6,7%0a%3c %0a%3c %0a---%0a> (:div2end:)%0a> %0a11d10%0a%3c (:div2end:)%0a +host:1629526378=185.83.214.69 +author:1629526288=AncientWisdom +diff:1629526288:1629526179:=4c4%0a%3c (:div2 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div2 class="" style="color:#FF3300; font-size:21px; width:50%25;":)%0a8c8%0a%3c (:div3 class="" style="display:inline-block; vertical-align:middle; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div3 class="" style="block:relative; color:#FF3300; font-size:21px; width:50%25;":)%0a +host:1629526288=185.83.214.69 +author:1629526179=AncientWisdom +diff:1629526179:1629526079:=4c4%0a%3c (:div2 class="" style="color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div2 class="" style="color:#FF3300; font-size:21px;":)%0a8c8%0a%3c (:div3 class="" style="block:relative; color:#FF3300; font-size:21px; width:50%25;":)%0a---%0a> (:div3 class="" style="color:#FF3300; font-size:21px;":)%0a +host:1629526179=185.83.214.69 +author:1629526079=AncientWisdom +diff:1629526079:1629525686:=5c5,6%0a%3c '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+'%0a---%0a> || border=1 width=100%25 %0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a8,18c9%0a%3c (:div3 class="" style="color:#FF3300; font-size:21px;":)%0a%3c %25width=300px%25Attach:AncientCabin.png%0a%3c (:div3end:)%0a%3c %0a%3c %0a%3c (:div4 class="" style="color:#FF3300; font-size:21px;":)%0a%3c || border=1 width=100%25 %0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a%3c (:div4end:)%0a%3c %0a%3c (:div5 class="" style="color:#000000;":)%0a---%0a> (:div3 class="" style="color:#000000;":)%0a46c37%0a%3c (:div5end:)%0a---%0a> (:div3end:)%0a +host:1629526079=185.83.214.69 +author:1629525686=AncientWisdom +diff:1629525686:1629525668:=21c21%0a%3c * '''WhoMe'''     : Ancient.Wisdom%0a---%0a> * '''WhoMe'''      : Ancient.Wisdom%0a +host:1629525686=185.83.214.69 +author:1629525668=AncientWisdom +diff:1629525668:1629525649:=21c21%0a%3c * '''WhoMe'''      : Ancient.Wisdom%0a---%0a> * '''WhoAmMe'''      : Ancient.Wisdom%0a +host:1629525668=185.83.214.69 +author:1629525649=AncientWisdom +diff:1629525649:1629525626:=21c21%0a%3c * '''WhoAmMe'''      : Ancient.Wisdom%0a---%0a> * '''WhoAmI'''        : Ancient.Wisdom%0a +host:1629525649=185.83.214.69 +author:1629525626=AncientWisdom +diff:1629525626:1629525442:=21c21%0a%3c * '''WhoAmI'''        : Ancient.Wisdom%0a---%0a> * '''Identity'''      : Ancient.Wisdom%0a +host:1629525626=185.83.214.69 +author:1629525442=AncientWisdom +diff:1629525442:1629525404:=24c24%0a%3c * '''Hangouts'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom,#IRCNow,]] #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''Hangouts'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom]], #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629525442=185.83.214.69 +author:1629525404=AncientWisdom +diff:1629525404:1629525322:= +host:1629525404=185.83.214.69 +author:1629525322=AncientWisdom +diff:1629525322:1629525121:=24c24%0a%3c * '''Hangouts'''  : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|#AncientWisdom]], #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''Hangouts'''  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629525322=185.83.214.69 +author:1629525121=AncientWisdom +diff:1629525121:1629525033:=4c4,5%0a%3c (:div2 class="" style="color:#FF3300; font-size:21px;":)%0a---%0a> %0a> (:div2 class="" style="color:#FF3300; font-size:17px;":)%0a +host:1629525121=185.83.214.69 +author:1629525033=AncientWisdom +diff:1629525033:1629524898:=3,5c3,8%0a%3c (:div:)%0a%3c %0a%3c (:div2 class="" style="color:#FF3300; font-size:17px;":)%0a---%0a> (:div class="" style="color:#FF3300; font-size:17px;":)%0a> ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ %0a> %0a> (:div2 class="" style="color:#000000; font-size:11px;":)%0a> %0a> %0a8,10c11%0a%3c (:div2end:)%0a%3c %0a%3c (:div3 class="" style="color:#000000;":)%0a---%0a> %0a38,40c39%0a%3c (:div3end:)%0a%3c %0a%3c '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a---%0a> (:div2end:)%0a41a41,42%0a> '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a> %0a +host:1629525033=185.83.214.69 +author:1629524898=AncientWisdom +diff:1629524898:1629524812:=5,6c5,6%0a%3c %0a%3c (:div2 class="" style="color:#000000; font-size:11px;":)%0a---%0a> (:div2:)%0a> %0a +host:1629524898=185.83.214.69 +author:1629524812=AncientWisdom +diff:1629524812:1629524604:=2a3%0a> >>%3c%3c%0a5,8c6,8%0a%3c (:div2:)%0a%3c %0a%3c %0a%3c %0a---%0a> %0a> %0a> %0a10,11c10,15%0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] ''''' Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a%3c %0a---%0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] '''''%0a> (:divend:) %0a> >>comment%3c%3c%0a> %0a> Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a> %0a39,40d42%0a%3c (:div2end:)%0a%3c (:divend:)%0a42a45,46%0a> (:divend:) %0a> >>comment%3c%3c%0a\ No newline at end of file%0a +host:1629524812=185.83.214.69 +author:1629524604=AncientWisdom +diff:1629524604:1629524482:=10,14c10%0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] '''''%0a%3c (:divend:) %0a%3c >>comment%3c%3c%0a%3c %0a%3c Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] '''''Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629524604=185.83.214.69 +author:1629524482=AncientWisdom +diff:1629524482:1629524400:=6,8c6,9%0a%3c %0a%3c %0a%3c %0a---%0a> (:divend:) %0a> >>comment%3c%3c %0a> %0a> %0a39,42c40%0a%3c '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a%3c %0a%3c (:divend:) %0a%3c >>comment%3c%3c %0a\ No newline at end of file%0a---%0a> '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a +host:1629524482=185.83.214.69 +author:1629524400=AncientWisdom +diff:1629524400:1629524258:=2,8d1%0a%3c %0a%3c >>%3c%3c%0a%3c (:div class="" style="color:#FF3300; font-size:17px;":)%0a%3c ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ %0a%3c (:divend:) %0a%3c >>comment%3c%3c %0a%3c %0a +host:1629524400=185.83.214.69 +author:1629524258=AncientWisdom +diff:1629524258:1629524222:=33c33%0a%3c '^[Last Updated]^': August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a---%0a> [[~AncientWisdom]] '^Last Updated^': August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a +host:1629524258=185.83.214.69 +author:1629524222=AncientWisdom +diff:1629524222:1629523819:=33c33%0a%3c [[~AncientWisdom]] '^Last Updated^': August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a---%0a> [[~AncientWisdom]] August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a +host:1629524222=185.83.214.69 +author:1629523819=AncientWisdom +diff:1629523819:1629523772:=4c4%0a%3c || '+' '''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''[[%3c%3c]][[%3c%3c]] '''''Who?[[%3c%3c]] What?[[%3c%3c]] Where?''''' '+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+' '''''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''''[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629523819=185.83.214.69 +author:1629523772=AncientWisdom +diff:1629523772:1629523651:=4c4%0a%3c || '+' '''''ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ'''''[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=300px%25Attach:AncientCabin.png ||%0a +host:1629523772=185.83.214.69 +author:1629523651=AncientWisdom +diff:1629523651:1629523631:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=300px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25height=250px%25Attach:AncientCabin.png ||%0a +host:1629523651=185.83.214.69 +author:1629523631=AncientWisdom +diff:1629523631:1629523570:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25height=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25height=150px%25Attach:AncientCabin.png ||%0a +host:1629523631=185.83.214.69 +author:1629523570=AncientWisdom +diff:1629523570:1629523527:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]][[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25height=150px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523570=185.83.214.69 +author:1629523527=AncientWisdom +diff:1629523527:1629523495:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?[[%3c%3c]] What?[[%3c%3c]] Where?'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?[[%3c%3c]]\\\ What?\\ Where?'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523527=185.83.214.69 +author:1629523495=AncientWisdom +diff:1629523495:1629523454:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?[[%3c%3c]]\\\ What?\\ Where?'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?\\\ What? \\ Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523495=185.83.214.69 +author:1629523454=AncientWisdom +diff:1629523454:1629523360:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ[[%3c%3c]] Who?\\\ What? \\ Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ \\ Who? \\ What? \\ Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523454=185.83.214.69 +author:1629523360=AncientWisdom +diff:1629523360:1629523322:=4c4%0a%3c || '+'ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ \\ Who? \\ What? \\ Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ \\Who?\\What?\\Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523360=185.83.214.69 +author:1629523322=AncientWisdom +diff:1629523322:1629523260:=3,4c3,4%0a%3c || border=1 width=100%25 %0a%3c || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ \\Who?\\What?\\Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || border=0.5 width=100%25 %0a> || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ - Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523322=185.83.214.69 +author:1629523260=AncientWisdom +diff:1629523260:1629523135:=32,33d31%0a%3c %0a%3c [[~AncientWisdom]] August 21, 2021, at 05:21 AM%0a\ No newline at end of file%0a +host:1629523260=185.83.214.69 +author:1629523135=AncientWisdom +diff:1629523135:1629523088:=4c4%0a%3c || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ - Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ%3cbr />Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523135=185.83.214.69 +author:1629523088=AncientWisdom +diff:1629523088:1629523037:=4c4%0a%3c || '+'+ΔŇĆƗ€ŇŦ.ŴƗŞĐØΜ%3cbr />Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || '+'+Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523088=185.83.214.69 +author:1629523037=AncientWisdom +diff:1629523037:1629522964:=4c4%0a%3c || '+'+Who? What? Where?+'+' || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || Who? What? Where? || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629523037=185.83.214.69 +author:1629522964=AncientWisdom +diff:1629522964:1629522927:=3,4c3,5%0a%3c || border=0.5 width=100%25 %0a%3c || Who? What? Where? || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || border=1 width=100%25 %0a> || cell 1 || cell 2 || cell 3 ||%0a> || Who? What? Where? || cellcellcellcell2 || %25width=250px%25Attach:AncientCabin.png ||%0a +host:1629522964=185.83.214.69 +author:1629522927=AncientWisdom +diff:1629522927:1629522853:=3,5c3,4%0a%3c || border=1 width=100%25 %0a%3c || cell 1 || cell 2 || cell 3 ||%0a%3c || Who? What? Where? || cellcellcellcell2 || %25width=250px%25Attach:AncientCabin.png ||%0a---%0a> || border=1 width=100%25%0a> ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a +host:1629522927=185.83.214.69 +author:1629522853=AncientWisdom +diff:1629522853:1629522803:=4c4,5%0a%3c ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a---%0a> ||!cell 1 ||! cell 2 ||! cell 3||%0a> ||Who? What? Where? || centered || %25width=250px%25Attach:AncientCabin.png||%0a +host:1629522853=185.83.214.69 +author:1629522803=AncientWisdom +diff:1629522803:1629522594:=3,5c3,4%0a%3c || border=1 width=100%25%0a%3c ||!cell 1 ||! cell 2 ||! cell 3||%0a%3c ||Who? What? Where? || centered || %25width=250px%25Attach:AncientCabin.png||%0a---%0a> || border=1 align=center width=50%25%0a> ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a +host:1629522803=185.83.214.69 +author:1629522594=AncientWisdom +diff:1629522594:1629522462:=3,4c3,4%0a%3c || border=1 align=center width=50%25%0a%3c ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a---%0a> || border=1 width=100%25%0a> ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a +host:1629522594=185.83.214.69 +author:1629522462=AncientWisdom +diff:1629522462:1629522390:=4,6c4%0a%3c ||!Who? What? Where? ||! %25width=250px%25Attach:AncientCabin.png||%0a%3c %0a%3c (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a---%0a> ||!Who? What? Where?||! (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a13c11,13%0a%3c (:tableend:)%0a---%0a> (:tableend:)||! %25width=250px%25Attach:AncientCabin.png||%0a> %0a> %0a +host:1629522462=185.83.214.69 +author:1629522390=AncientWisdom +diff:1629522390:1629522322:=4c4,7%0a%3c ||!Who? What? Where?||! (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a---%0a> ||!Who? What? Where?||! %25width=250px%25Attach:AncientCabin.png||%0a> ||!Who? What? Where?||%0a> %0a> (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a11,13c14%0a%3c (:tableend:)||! %25width=250px%25Attach:AncientCabin.png||%0a%3c %0a%3c %0a---%0a> (:tableend:)%0a +host:1629522390=185.83.214.69 +author:1629522322=AncientWisdom +diff:1629522322:1629522224:=4,5c4,6%0a%3c ||!Who? What? Where?||! %25width=250px%25Attach:AncientCabin.png||%0a%3c ||!Who? What? Where?||%0a---%0a> ||!Who? What? Where?||! %25width=150px%25Attach:AncientCabin.png||%0a> ||Who? What? Where? || %25width=150px%25Attach:AncientCabin.png||%0a> %0a +host:1629522322=185.83.214.69 +author:1629522224=AncientWisdom +diff:1629522224:1629522161:=4c4%0a%3c ||!Who? What? Where?||! %25width=150px%25Attach:AncientCabin.png||%0a---%0a> ||!Ref ||! ???||%0a +host:1629522224=185.83.214.69 +author:1629522161=AncientWisdom +diff:1629522161:1629522033:=2a3,4%0a> Attach:AncientCabin.png%0a> %0a5c7,8%0a%3c ||Who? What? Where? || %25width=150px%25Attach:AncientCabin.png||%0a---%0a> ||Who? What? Where? || %25width=300px%25Attach:ancientwisdom.png||%0a> ||Who? What? Where? || %25width=300px%25Attach:AncientCabin.png||%0a +host:1629522161=185.83.214.69 +author:1629522033=AncientWisdom +diff:1629522033:1629522000:=2,3d1%0a%3c %0a%3c Attach:AncientCabin.png%0a +host:1629522033=185.83.214.69 +author:1629522000=AncientWisdom +diff:1629522000:1629521699:=6c6,7%0a%3c ||Who? What? Where? || %25width=300px%25Attach:AncientCabin.png||%0a---%0a> ||Who? What? Where? || [[https://ancientwisdom.oddprotocol.org/portal/assets/img/ | Attach:742059_450x450-cabin-sepia.png"alt text"]] ||%0a> %0a +host:1629522000=185.83.214.69 +author:1629521699=AncientWisdom +diff:1629521699:1629521656:=6c6%0a%3c ||Who? What? Where? || [[https://ancientwisdom.oddprotocol.org/portal/assets/img/ | Attach:742059_450x450-cabin-sepia.png"alt text"]] ||%0a---%0a> ||Who? What? Where? || [[https://ancientwisdom.oddprotocol.org/ | Attach:https://ancientwisdom.oddprotocol.org/portal/assets/img/742059_450x450-cabin-sepia.png"alt text"]] ||%0a +host:1629521699=185.83.214.69 +author:1629521656=AncientWisdom +diff:1629521656:1629521520:=6c6%0a%3c ||Who? What? Where? || [[https://ancientwisdom.oddprotocol.org/ | Attach:https://ancientwisdom.oddprotocol.org/portal/assets/img/742059_450x450-cabin-sepia.png"alt text"]] ||%0a---%0a> ||Who? What? Where? || [[http://example.com/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/742059_450x450-cabin-sepia.png "alt Cabin"]] | Caption ||%0a +host:1629521656=185.83.214.69 +author:1629521520=AncientWisdom +diff:1629521520:1629521045:=6,8d5%0a%3c ||Who? What? Where? || [[http://example.com/ | https://ancientwisdom.oddprotocol.org/portal/assets/img/742059_450x450-cabin-sepia.png "alt Cabin"]] | Caption ||%0a%3c %0a%3c %0a +host:1629521520=185.83.214.69 +author:1629521045=AncientWisdom +diff:1629521045:1629520996:= +host:1629521045=185.83.214.69 +author:1629520996=AncientWisdom +diff:1629520996:1629520857:=22d21%0a%3c * '''WebChat'''   : [[http://ancientwisdom.oddprotocol.org:9090/?channels=IRCNow%252CAncientWisdom&uio=d4|WebChat Client Gateway to IRCNow]]%0a +host:1629520996=185.83.214.69 +author:1629520857=AncientWisdom +diff:1629520857:1629520780:=20c20%0a%3c * '''IRC'''            : Ancient.Wisdom on [[https://ircnow.org|IRCNow]]%0a---%0a> * '''IRC'''            : Ancient.Wisdom on IRCNow [[https://ircnow.org|IRCNow]]%0a31c31%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a---%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629520857=185.83.214.69 +author:1629520780=AncientWisdom +diff:1629520780:1629520704:=20c20%0a%3c * '''IRC'''            : Ancient.Wisdom on IRCNow [[https://ircnow.org|IRCNow]]%0a---%0a> * '''IRC'''            : Ancient.Wisdom on IRCNow%0a +host:1629520780=185.83.214.69 +author:1629520704=AncientWisdom +diff:1629520704:1629520655:=21c21%0a%3c * '''Hangouts'''  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''Channels'''  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629520704=185.83.214.69 +author:1629520655=AncientWisdom +diff:1629520655:1629520611:=6c6%0a%3c %0a---%0a> table.firstrow tr.row1 { background-color:#ccccff; }%0a +host:1629520655=185.83.214.69 +author:1629520611=AncientWisdom +diff:1629520611:1629520198:=6c6%0a%3c table.firstrow tr.row1 { background-color:#ccccff; }%0a---%0a> %0a +host:1629520611=185.83.214.69 +author:1629520198=AncientWisdom +diff:1629520198:1629520108:=4c4%0a%3c ||!Ref ||! ???||%0a---%0a> ||!Ident ||! ???||%0a +host:1629520198=185.83.214.69 +author:1629520108=AncientWisdom +diff:1629520108:1629519973:=4,5c4,5%0a%3c ||!Ident ||! ???||%0a%3c ||Who? What? Where? || %25width=300px%25Attach:ancientwisdom.png||%0a---%0a> ||!Cell 1 ||! Cell 2||%0a> ||left-aligned || %25width=300px%25Attach:ancientwisdom.png||%0a +host:1629520108=185.83.214.69 +author:1629519973=AncientWisdom +diff:1629519973:1629519930:=11,13c11,13%0a%3c *[[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]]%0a%3c *[[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]%0a%3c *[[https://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]%0a---%0a> *[[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol®]]%0a> *[[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll®]]%0a> *[[https://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3®]]%0a29,31c29,31%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom @OddProtocol®]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom @BSDForAll®]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom @Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol®]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll®]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629519973=185.83.214.69 +author:1629519930=AncientWisdom +diff:1629519930:1629519814:=9c9%0a%3c '''The.Cabin.Of.Ancient.Wisdom'''%0a---%0a> '''Navigation Links'''%0a27c27%0a%3c !! Stuffs%0a---%0a> !! The.Cabin.Of.Ancient.Wisdom%0a +host:1629519930=185.83.214.69 +author:1629519814=AncientWisdom +diff:1629519814:1629519618:=7c7%0a%3c (:table border=1 width=30%25 align=right bgcolor=#FF3300 cellspacing=0 :)%0a---%0a> (:table border=1 width=30%25 align=right bgcolor=#cccc99 cellspacing=0 :)%0a11,13c11,12%0a%3c *[[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol®]]%0a%3c *[[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll®]]%0a%3c *[[https://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3®]]%0a---%0a> *[[Tables]]%0a> *[[Table directives]]%0a +host:1629519814=185.83.214.69 +author:1629519618=AncientWisdom +diff:1629519618:1629519494:=6,13d5%0a%3c %0a%3c (:table border=1 width=30%25 align=right bgcolor=#cccc99 cellspacing=0 :)%0a%3c (:cellnr:)%0a%3c '''Navigation Links'''%0a%3c (:cellnr:)%0a%3c *[[Tables]]%0a%3c *[[Table directives]]%0a%3c (:tableend:)%0a +host:1629519618=185.83.214.69 +author:1629519494=AncientWisdom +diff:1629519494:1629519417:=20,22c20,22%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol®]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll®]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3®]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629519494=185.83.214.69 +author:1629519417=AncientWisdom +diff:1629519417:1629519378:=5,6c5,6%0a%3c ||left-aligned || %25width=300px%25Attach:ancientwisdom.png||%0a%3c %0a---%0a> ||left-aligned || right-aligned||%0a> %0a7a8,11%0a> %0a> %25width=300px%25Attach:ancientwisdom.png%0a> %0a> %0a +host:1629519417=185.83.214.69 +author:1629519378=AncientWisdom +diff:1629519378:1629519302:=4,5c4,5%0a%3c ||!Cell 1 ||! Cell 2||%0a%3c ||left-aligned || right-aligned||%0a---%0a> ||!cell 1 ||! cell 2 ||! cell 3||%0a> ||left-aligned || centered || right-aligned||%0a +host:1629519378=185.83.214.69 +author:1629519302=AncientWisdom +diff:1629519302:1629518923:=3,6d2%0a%3c || border=1 width=100%25%0a%3c ||!cell 1 ||! cell 2 ||! cell 3||%0a%3c ||left-aligned || centered || right-aligned||%0a%3c %0a10,11d5%0a%3c %0a%3c %0a +host:1629519302=185.83.214.69 +author:1629518923=AncientWisdom +diff:1629518923:1629518908:=7c7%0a%3c * '''Identity'''      : Ancient.Wisdom%0a---%0a> * '''Identity'''       : Ancient.Wisdom%0a +host:1629518923=185.83.214.69 +author:1629518908=AncientWisdom +diff:1629518908:1629518889:=10c10%0a%3c * '''Channels'''  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * '''Channels'''   : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629518908=185.83.214.69 +author:1629518889=AncientWisdom +diff:1629518889:1629518635:=7,10c7,10%0a%3c * '''Identity'''       : Ancient.Wisdom%0a%3c * '''Email'''         : admin@ancientwisdom.oddprotocol.org%0a%3c * '''IRC'''            : Ancient.Wisdom on IRCNow%0a%3c * '''Channels'''   : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * Identity      : Ancient.Wisdom%0a> * Email        : admin@ancientwisdom.oddprotocol.org%0a> * IRC           : Ancient.Wisdom on IRCNow%0a> * Channels  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a +host:1629518889=185.83.214.69 +author:1629518635=AncientWisdom +diff:1629518635:1629518547:=16c16%0a%3c !! The.Cabin.Of.Ancient.Wisdom%0a---%0a> !! Projects%0a +host:1629518635=185.83.214.69 +author:1629518547=AncientWisdom +diff:1629518547:1629518523:=18c18%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol]] : The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol]]: The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a +host:1629518547=185.83.214.69 +author:1629518523=AncientWisdom +diff:1629518523:1629518499:=19,20c19,20%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]    : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]      : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]   : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]    : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629518523=185.83.214.69 +author:1629518499=AncientWisdom +diff:1629518499:1629518476:=19,20c19,20%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]   : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]    : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]  : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]   : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629518499=185.83.214.69 +author:1629518476=AncientWisdom +diff:1629518476:1629518353:=19,20c19,20%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]  : The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]   : The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]: The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]: The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629518476=185.83.214.69 +author:1629518353=AncientWisdom +diff:1629518353:1629517957:=10c10%0a%3c * Channels  : #AncientWisdom, #IRCNow, #BSFforAll, #BSFforAll-Team, #Duels, #Council, #Root, #Shell, #Su, #Team, #Wheel%0a---%0a> * Channels  : #AncientWisdom, #IRCNow, #Duels%0a +host:1629518353=185.83.214.69 +author:1629517957=AncientWisdom +diff:1629517957:1629517906:=18,20c18,20%0a%3c * [[https://ancientwisdom.oddprotocol.org|AncientWisdom@OddProtocol]]: The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a%3c * [[https://ancientwisdom.bsdforall.org|AncientWisdom@BSDForAll]]: The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|AncientWisdom@Onion.V3]]: The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a---%0a> * [[https://ancientwisdom.oddprotocol.org|OddProtocol]]: The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a> * [[https://ancientwisdom.bsdforall.org|BSDForAll]]: The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a> * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|Onion.V3]]: The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629517957=185.83.214.69 +author:1629517906=AncientWisdom +diff:1629517906:1629517888:=8,9c8,9%0a%3c * Email        : admin@ancientwisdom.oddprotocol.org%0a%3c * IRC           : Ancient.Wisdom on IRCNow%0a---%0a> * Email       : admin@ancientwisdom.oddprotocol.org%0a> * IRC          : Ancient.Wisdom on IRCNow%0a +host:1629517906=185.83.214.69 +author:1629517888=AncientWisdom +diff:1629517888:1629517866:=8,9c8,9%0a%3c * Email       : admin@ancientwisdom.oddprotocol.org%0a%3c * IRC          : Ancient.Wisdom on IRCNow%0a---%0a> * Email      : admin@ancientwisdom.oddprotocol.org%0a> * IRC        : Ancient.Wisdom on IRCNow%0a +host:1629517888=185.83.214.69 +author:1629517866=AncientWisdom +diff:1629517866:1629517817:=7,9c7,9%0a%3c * Identity      : Ancient.Wisdom%0a%3c * Email      : admin@ancientwisdom.oddprotocol.org%0a%3c * IRC        : Ancient.Wisdom on IRCNow%0a---%0a> * Identity    : Ancient.Wisdom%0a> * email     : admin@ancientwisdom.oddprotocol.org%0a> * IRC       : Ancient.Wisdom on IRCNow%0a +host:1629517866=185.83.214.69 +author:1629517817=AncientWisdom +diff:1629517817:1629517798:=7c7%0a%3c * Identity    : Ancient.Wisdom%0a---%0a> * Identity  : Ancient.Wisdom%0a +host:1629517817=185.83.214.69 +author:1629517798=AncientWisdom +diff:1629517798:1629517712:=1,2c1,2%0a%3c (:title Ancient.Wisdom Bio:)%0a%3c %0a---%0a> (:title AncientWisdom Bio:)%0a> %0a7,10c7,10%0a%3c * Identity  : Ancient.Wisdom%0a%3c * email     : admin@ancientwisdom.oddprotocol.org%0a%3c * IRC       : Ancient.Wisdom on IRCNow%0a%3c * Channels  : #AncientWisdom, #IRCNow, #Duels%0a---%0a> * Identity : Ancient.Wisdom%0a> * email : admin@ancientwisdom.oddprotocol.org%0a> * IRC : Ancient.Wisdom on IRCNow%0a> * Channels : #AncientWisdom, #IRCNow, #Duels%0a +host:1629517798=185.83.214.69 +author:1629517712=AncientWisdom +diff:1629517712:1629517676:=1c1%0a%3c (:title AncientWisdom Bio:)%0a---%0a> (:title Jrmu Bio:)%0a +host:1629517712=185.83.214.69 +author:1629517676=AncientWisdom +diff:1629517676:1629517676:=1,20d0%0a%3c (:title Jrmu Bio:)%0a%3c %0a%3c !! Contact%0a%3c %0a%3c %25width=300px%25Attach:ancientwisdom.png%0a%3c %0a%3c * Identity : Ancient.Wisdom%0a%3c * email : admin@ancientwisdom.oddprotocol.org%0a%3c * IRC : Ancient.Wisdom on IRCNow%0a%3c * Channels : #AncientWisdom, #IRCNow, #Duels%0a%3c %0a%3c !! PGP Fingerprints%0a%3c %0a%3c !! SSH Fingerprints%0a%3c %0a%3c !! Projects%0a%3c %0a%3c * [[https://ancientwisdom.oddprotocol.org|OddProtocol]]: The Associates of IRCNow Network Of the Users -- [[https://ircnow.org]]%0a%3c * [[https://ancientwisdom.bsdforall.org|BSDForAll]]: The Mirror @ BSDForAll -- [[https://ancientwisdom.bsdforall.org]]%0a%3c * [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion|Onion.V3]]: The.Cabin.of.Ancient.Wisdom -- [[http://cabinwrwnrqj3brtn5whhgzc3iowrmyoq7cb3t2dw5ffdmvlq2li6zyd.onion]]%0a\ No newline at end of file%0a +host:1629517676=185.83.214.69 blob - /dev/null blob + d39175566222b5b0bb8bf8f0d757d9cf7566aece (mode 644) --- /dev/null +++ wiki.d/AncientWisdom.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1629517676 +host=2a03:e600:100::30 +name=AncientWisdom.RecentChanges +rev=277 +text=* [[AncientWisdom/Bio]] . . . December 03, 2021, at 07:43 AM by [[~AncientWisdom]]: [==]%0a +time=1638517381 blob - /dev/null blob + e06af8b092504264bfa540449a790d952282eba5 (mode 644) --- /dev/null +++ wiki.d/AndroidEmail.AndroidEmail @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612665601 +host=198.251.81.119 +name=AndroidEmail.AndroidEmail +rev=4 +targets= +text=Setting up email in the email app on Android%0a%0aStep 1 - Open the email app%0a%0aStep 2 - Tap Add new account%0a%0aStep 3 - Enter your email and password (sign in)%0a Username: username@ircnow.org%0a Password: your password%0a %0a '''incoming mail server'''%0a[@%0a IMAP server : imap.ircnow.org%0a Port : 143%0a Security type : STARTTLS%0a IMAP path prefix: Optional%0a@]%0a%25width=480px%25 Attach:android-mail-imap.png%0a%0a '''Outgoing mail server'''%0a[@%0a SMTP server : smtp.ircnow.org%0a Port : 587%0a Security type : STARTTLS%0a@]%0a%25width=480px%25 Attach:android-mail-smtp.png +time=1624979508 +author:1624979508=jrmu +diff:1624979508:1624979479:=18,19c18,19%0a%3c %25width=480px%25 Attach:android-mail-imap.png%0a%3c %0a---%0a> %25width=300px%25 Attach:android-mail-imap.png%0a> %0a26c26%0a%3c %25width=480px%25 Attach:android-mail-smtp.png%0a\ No newline at end of file%0a---%0a> %25width=300px%25 Attach:android-mail-smtp.png%0a\ No newline at end of file%0a +host:1624979508=198.251.81.119 +author:1624979479=jrmu +diff:1624979479:1623269125:=18,19c18,19%0a%3c %25width=300px%25 Attach:android-mail-imap.png%0a%3c %0a---%0a> Attach:android-mail-imap.png%0a> %0a26c26%0a%3c %25width=300px%25 Attach:android-mail-smtp.png%0a\ No newline at end of file%0a---%0a> Attach:android-mail-smtp.png%0a\ No newline at end of file%0a +host:1624979479=198.251.81.119 +author:1623269125=mkf +csum:1623269125=added screenshots +diff:1623269125:1612665601:=1,2c1,4%0a%3c Setting up email in the email app on Android%0a%3c %0a---%0a> %0a> [@%0a> example: Setting up email in the email app on Android%0a> %0a8,9c10,11%0a%3c Username: username@ircnow.org%0a%3c Password: your password%0a---%0a> Username: nickname@ircnow.org%0a> Password: ********%0a12d13%0a%3c [@%0a17,19c18%0a%3c @]%0a%3c Attach:android-mail-imap.png%0a%3c %0a---%0a> %0a21,22c20%0a%3c [@%0a%3c SMTP server : smtp.ircnow.org%0a---%0a> SMTP server : mail.ircnow.org%0a25,26c23,25%0a%3c @]%0a%3c Attach:android-mail-smtp.png%0a\ No newline at end of file%0a---%0a> %0a> Step 4 - Done!%0a> @]%0a\ No newline at end of file%0a +host:1623269125=198.251.81.133 +author:1612665601=jrmu +diff:1612665601:1612665601:=1,25d0%0a%3c %0a%3c [@%0a%3c example: Setting up email in the email app on Android%0a%3c %0a%3c Step 1 - Open the email app%0a%3c %0a%3c Step 2 - Tap Add new account%0a%3c %0a%3c Step 3 - Enter your email and password (sign in)%0a%3c Username: nickname@ircnow.org%0a%3c Password: ********%0a%3c %0a%3c '''incoming mail server'''%0a%3c IMAP server : imap.ircnow.org%0a%3c Port : 143%0a%3c Security type : STARTTLS%0a%3c IMAP path prefix: Optional%0a%3c %0a%3c '''Outgoing mail server'''%0a%3c SMTP server : mail.ircnow.org%0a%3c Port : 587%0a%3c Security type : STARTTLS%0a%3c %0a%3c Step 4 - Done!%0a%3c @]%0a\ No newline at end of file%0a +host:1612665601=198.251.81.119 blob - /dev/null blob + 315cd87e909ade958cb5d6870366bf3eb6647481 (mode 644) --- /dev/null +++ wiki.d/AndroidEmail.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1612665601 +host=198.251.81.119 +name=AndroidEmail.RecentChanges +rev=4 +text=* [[AndroidEmail/AndroidEmail]] . . . June 29, 2021, at 03:11 PM by [[~jrmu]]: [==]%0a +time=1624979508 blob - /dev/null blob + 309640e34f888ef371bc364752d60aebb03192d8 (mode 644) --- /dev/null +++ wiki.d/Anope.Install @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=replaced nano with vi, nano is not installed by default. added "$" in lines +ctime=1612974751 +host=198.251.81.133 +name=Anope.Install +rev=2 +targets= +text=If you want the NickServ, ChanServ and all other *Serv you need to install anope%0a%0aTo do so you need to firstly install the required packages:%0a%0a[@%0a$ doas pkg_add wget cmake%0a@]%0a%0a%0aThen download Anope,%0a%0aDo that by executing the following commands:%0a%0a[@%0a$ wget https://github.com/anope/anope/archive/2.0.9.tar.gz%0a$ tar zxf 2.0.9.tar.gz%0a$ cd anope-2.0.9%0a@]%0a%0aThis will download the newest version of anope, untar it and it will cd into the dir.%0a%0a%0aThen what you want to do is the following:%0a%0a[@%0a$ ./Config%0a@]%0a%0aand at every question you can press enter, its not recommended to edit any value%0a%0a%0aThen you need to do the following to build it:%0a[@ %0a$ make%0a$ doas make install%0a@]%0a%0aThen the source is builded and you can go ahead edit the conf,%0a[@%0a$ cd ~/services/conf%0a$ vi services.conf%0a@]%0a%0aedit at the services.conf the following things:%0a%0a# At [@name = "services.host"@] you need to set the 'value =' (below the "name =" line) to: [@services.YOURVPSNAME.coconut.ircnow.org@]%0a# At uplink block you need to change it to something like this: [@uplink%0a{%0a host = "%3cYOURVPSNAME>.coconut.ircnow.org"%0a ssl = no%0a port = 6667%0a password = "%3cTHINK OF THIS BUT PLZ SAVE IT FOR NOW, YOU NEED IT LATER>"%0a}@]%0a#and edit the 'serverinfo' block.%0a%0a%0aNow go to your ngircd conf and if its right then %0a%0aSearch for the [Server] block (with a lots of comments) and edit the following things:%0a# Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a# Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a# MyPassword and PeerPassword to the password at the uplink block in services.conf%0a%0a%0athen restart (or reload) your ngircd %0a%0athen do the following to start the services:%0a%0a[@%0a$ cd ~/services/bin%0a$ ./anoperc start%0a@] %0a%0aif './anoperc start' fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network +time=1621147622 +author:1621147622=mkf +csum:1621147622=replaced nano with vi, nano is not installed by default. added "$" in lines +diff:1621147622:1612974751:minor=6c6%0a%3c $ doas pkg_add wget cmake%0a---%0a> doas pkg_add wget cmake%0a15,17c15,17%0a%3c $ wget https://github.com/anope/anope/archive/2.0.9.tar.gz%0a%3c $ tar zxf 2.0.9.tar.gz%0a%3c $ cd anope-2.0.9%0a---%0a> wget https://github.com/anope/anope/archive/2.0.9.tar.gz%0a> tar zxf 2.0.9.tar.gz%0a> cd anope-2.0.9%0a26c26%0a%3c $ ./Config%0a---%0a> ./Config%0a34,35c34,35%0a%3c $ make%0a%3c $ doas make install%0a---%0a> make%0a> make install%0a40,41c40,41%0a%3c $ cd ~/services/conf%0a%3c $ vi services.conf%0a---%0a> cd ~/services/conf%0a> nano services.conf%0a70,71c70,71%0a%3c $ cd ~/services/bin%0a%3c $ ./anoperc start%0a---%0a> cd ~/services/bin%0a> ./anoperc start%0a +host:1621147622=198.251.81.133 +author:1612974751=jrmu +diff:1612974751:1612974751:=1,74d0%0a%3c If you want the NickServ, ChanServ and all other *Serv you need to install anope%0a%3c %0a%3c To do so you need to firstly install the required packages:%0a%3c %0a%3c [@%0a%3c doas pkg_add wget cmake%0a%3c @]%0a%3c %0a%3c %0a%3c Then download Anope,%0a%3c %0a%3c Do that by executing the following commands:%0a%3c %0a%3c [@%0a%3c wget https://github.com/anope/anope/archive/2.0.9.tar.gz%0a%3c tar zxf 2.0.9.tar.gz%0a%3c cd anope-2.0.9%0a%3c @]%0a%3c %0a%3c This will download the newest version of anope, untar it and it will cd into the dir.%0a%3c %0a%3c %0a%3c Then what you want to do is the following:%0a%3c %0a%3c [@%0a%3c ./Config%0a%3c @]%0a%3c %0a%3c and at every question you can press enter, its not recommended to edit any value%0a%3c %0a%3c %0a%3c Then you need to do the following to build it:%0a%3c [@ %0a%3c make%0a%3c make install%0a%3c @]%0a%3c %0a%3c Then the source is builded and you can go ahead edit the conf,%0a%3c [@%0a%3c cd ~/services/conf%0a%3c nano services.conf%0a%3c @]%0a%3c %0a%3c edit at the services.conf the following things:%0a%3c %0a%3c # At [@name = "services.host"@] you need to set the 'value =' (below the "name =" line) to: [@services.YOURVPSNAME.coconut.ircnow.org@]%0a%3c # At uplink block you need to change it to something like this: [@uplink%0a%3c {%0a%3c host = "%3cYOURVPSNAME>.coconut.ircnow.org"%0a%3c ssl = no%0a%3c port = 6667%0a%3c password = "%3cTHINK OF THIS BUT PLZ SAVE IT FOR NOW, YOU NEED IT LATER>"%0a%3c }@]%0a%3c #and edit the 'serverinfo' block.%0a%3c %0a%3c %0a%3c Now go to your ngircd conf and if its right then %0a%3c %0a%3c Search for the [Server] block (with a lots of comments) and edit the following things:%0a%3c # Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a%3c # Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a%3c # MyPassword and PeerPassword to the password at the uplink block in services.conf%0a%3c %0a%3c %0a%3c then restart (or reload) your ngircd %0a%3c %0a%3c then do the following to start the services:%0a%3c %0a%3c [@%0a%3c cd ~/services/bin%0a%3c ./anoperc start%0a%3c @] %0a%3c %0a%3c if './anoperc start' fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network%0a\ No newline at end of file%0a +host:1612974751=198.251.81.119 blob - /dev/null blob + 0265527afebd4e26f8bbf528a0838abaa7ef6a43 (mode 644) --- /dev/null +++ wiki.d/Anope.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1612974751 +host=198.251.81.133 +name=Anope.RecentChanges +rev=2 +text=* [[Anope/Install]] . . . May 16, 2021, at 06:47 AM by [[~mkf]]: [=replaced nano with vi, nano is not installed by default. added "$" in lines=]%0a +time=1621147622 blob - /dev/null blob + 35c8739a00fbec489b838c38825af23ea6ef0249 (mode 644) --- /dev/null +++ wiki.d/AppleMail.Connect @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1613834129 +host=198.251.81.119 +name=AppleMail.Connect +rev=2 +targets=Freedom.Freedom,Email.Email +text=(:title Connecting with Apple Mail:)%0a%0aApple Mail is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[email/email|email client]].%0a%0a# Open Apple Mail. From the menu, select @@Mail@@ → @@Add Account...@@\\%0aAttach:applemail-chooseprovider.png%0a# Fill in the details and click @@Sign In@@.\\%0aAttach:applemail-addaccount01.png%0a# Apple Mail may be unable to login, so you will need to specify details:\\%0aAttach:applemail-addaccount02.png%0a # @@Account Type@@: @@IMAP@@%0a # @@Incoming Mail Server@@: @@imap.ircnow.org@@%0a # @@Outgoing Mail Server@@: @@mail.ircnow.org@@%0a # Click @@Sign In@@.%0a# Select the apps you want to use the account with, then click @@Done@@.\\%0aAttach:applemail-selectapps.png%0a# You can begin sending mail.\\%0aAttach:applemail-inbox.png%0a%0a[[https://gpgtools.org/|GPG Tools]] can help encrypt your email for Apple Mail, but it no longer appears to be free of charge. For this reason, you should consider using an open source [[email/email|email client]]. +time=1613839111 +title=Connecting with Apple Mail +author:1613839111=jrmu +diff:1613839111:1613834129:=1,5d0%0a%3c (:title Connecting with Apple Mail:)%0a%3c %0a%3c Apple Mail is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[email/email|email client]].%0a%3c %0a%3c # Open Apple Mail. From the menu, select @@Mail@@ → @@Add Account...@@\\%0a7d1%0a%3c # Fill in the details and click @@Sign In@@.\\%0a9d2%0a%3c # Apple Mail may be unable to login, so you will need to specify details:\\%0a11,15d3%0a%3c # @@Account Type@@: @@IMAP@@%0a%3c # @@Incoming Mail Server@@: @@imap.ircnow.org@@%0a%3c # @@Outgoing Mail Server@@: @@mail.ircnow.org@@%0a%3c # Click @@Sign In@@.%0a%3c # Select the apps you want to use the account with, then click @@Done@@.\\%0a17,20c5%0a%3c # You can begin sending mail.\\%0a%3c Attach:applemail-inbox.png%0a%3c %0a%3c [[https://gpgtools.org/|GPG Tools]] can help encrypt your email for Apple Mail, but it no longer appears to be free of charge. For this reason, you should consider using an open source [[email/email|email client]].%0a\ No newline at end of file%0a---%0a> Attach:applemail-inbox.png%0a\ No newline at end of file%0a +host:1613839111=198.251.81.119 +author:1613834129=jrmu +diff:1613834129:1613834129:=1,5d0%0a%3c Attach:applemail-chooseprovider.png%0a%3c Attach:applemail-addaccount01.png%0a%3c Attach:applemail-addaccount02.png%0a%3c Attach:applemail-selectapps.png%0a%3c Attach:applemail-inbox.png%0a\ No newline at end of file%0a +host:1613834129=198.251.81.119 blob - /dev/null blob + 53e51f22157c041d2f1b6521f53565b1191feab3 (mode 644) --- /dev/null +++ wiki.d/AppleMail.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613834129 +host=198.251.81.119 +name=AppleMail.RecentChanges +rev=2 +text=* [[AppleMail/Connect]] . . . February 20, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a +time=1613839111 blob - /dev/null blob + 67cb45b9cf0a2c21d07f804ca908e90ca74ebf37 (mode 644) --- /dev/null +++ wiki.d/Asterisk.Install @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628964193 +host=38.87.162.8 +name=Asterisk.Install +rev=1 +targets= +text=tor_enjoyer%0a +time=1628964193 +author:1628964193=jrmu +diff:1628964193:1628964193:=1d0%0a%3c tor_enjoyer%0a +host:1628964193=38.87.162.8 blob - /dev/null blob + a5dbc1118422a5753507645ef7bb3ae6683f96f8 (mode 644) --- /dev/null +++ wiki.d/Asterisk.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628964193 +host=38.87.162.8 +name=Asterisk.RecentChanges +rev=1 +text=* [[Asterisk/Install]] . . . August 14, 2021, at 06:03 PM by [[~jrmu]]: [==]%0a +time=1628964193 blob - /dev/null blob + 351183f4bae4305bb87bc5621c56e79a15f5ebdf (mode 644) --- /dev/null +++ wiki.d/Banana.Banana @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1609683748 +host=145.132.146.30 +name=Banana.Banana +rev=6 +targets=Banana.Todo +text=Welcome to Banana's page:%0a%0aWe have on our webserver ([[https://www.banana.ircnow.org]]) the Holy Bible%0a%0aOur second domain name is breadofgod (.org, .com)%0a%0aHere is our todo list:%0a[[Banana/Todo | Banana Todo]]%0a%0aIf you want to become an member, join the irc (irc.banana.ircnow.org:16667) and go to #banana channel%0a +time=1609684757 +author:1609684757=miniontoby +diff:1609684757:1609684582:=1,10c1,3%0a%3c Welcome to Banana's page:%0a%3c %0a%3c We have on our webserver ([[https://www.banana.ircnow.org]]) the Holy Bible%0a%3c %0a%3c Our second domain name is breadofgod (.org, .com)%0a%3c %0a%3c Here is our todo list:%0a%3c [[Banana/Todo | Banana Todo]]%0a%3c %0a%3c If you want to become an member, join the irc (irc.banana.ircnow.org:16667) and go to #banana channel%0a---%0a> Check our own wiki:%0a> %0a> [[Banana/Todo | Banana Todo]]%0a\ No newline at end of file%0a +host:1609684757=145.132.146.30 +author:1609684582=miniontoby +diff:1609684582:1609684562:=3c3%0a%3c [[Banana/Todo | Banana Todo]]%0a\ No newline at end of file%0a---%0a> [[Banana/TODO | Banana Todo]]%0a\ No newline at end of file%0a +host:1609684582=145.132.146.30 +author:1609684562=miniontoby +diff:1609684562:1609684291:=3c3%0a%3c [[Banana/TODO | Banana Todo]]%0a\ No newline at end of file%0a---%0a> [[https://wiki.banana.ircnow.org | Banana Wiki]]%0a\ No newline at end of file%0a +host:1609684562=145.132.146.30 +author:1609684291=miniontoby +csum:1609684291=edited +diff:1609684291:1609684019:=1,3c1,3%0a%3c Check our own wiki:%0a%3c %0a%3c [[https://wiki.banana.ircnow.org | Banana Wiki]]%0a\ No newline at end of file%0a---%0a> !! Setup your page!%0a> %0a> [[banana/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609684291=145.132.146.30 +author:1609684019=jrmu +diff:1609684019:1609683748:=1,2d0%0a%3c !! Setup your page!%0a%3c %0a +host:1609684019=125.231.63.134 +author:1609683748=jrmu +diff:1609683748:1609683748:=1d0%0a%3c [[banana/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609683748=125.231.63.134 blob - /dev/null blob + ba91746d1aa06c7daee0b3f73889c91e27bbcb5a (mode 644) --- /dev/null +++ wiki.d/Banana.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +charset=UTF-8 +ctime=1609683748 +host=141.138.217.186 +name=Banana.RecentChanges +rev=11 +text=* [[Banana/Todo]] . . . January 04, 2021, at 09:41 AM by [[~miniontoby]]: [=znc=]%0a* [[Banana/Banana]] . . . January 03, 2021, at 02:39 PM by [[~miniontoby]]: [==]%0a +time=1609753284 blob - /dev/null blob + a8ee44419aa5e7061a583f5e4171d8e0c5b9904d (mode 644) --- /dev/null +++ wiki.d/Banana.Todo @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=znc +ctime=1609683775 +host=141.138.217.186 +name=Banana.Todo +rev=5 +targets=Openbsd.Upgrade68,Openbsd.PFStable,Openbsd.Newdisk,Openbsd.Backup,Openbsd.Znc +text=(:title Banana Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a %0a# Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a# [[openbsd/PFStable|Configure the firewall]]%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a# Host Eggdrop bots%0a%0aDone:%0a%0a# Check your ZNC to see if it is on version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a +time=1609753284 +title=Banana Todo list +author:1609753284=miniontoby +csum:1609753284=znc +diff:1609753284:1609684625:=7a8%0a> # Check your ZNC to see if it is on version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a12,14c13%0a%3c Done:%0a%3c %0a%3c # Check your ZNC to see if it is on version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a---%0a> Done:%0a\ No newline at end of file%0a +host:1609753284=141.138.217.186 +author:1609684625=miniontoby +csum:1609684625=eggdrop +diff:1609684625:1609684524:=11d10%0a%3c # Host Eggdrop bots%0a +host:1609684625=145.132.146.30 +author:1609684524=jrmu +diff:1609684524:1609683805:=6,10c6,7%0a%3c %0a%3c # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a%3c # Check your ZNC to see if it is on version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a---%0a> %0a> # Setup the [[banana/banana|banana team page]]%0a +host:1609684524=125.231.63.134 +author:1609683805=jrmu +diff:1609683805:1609683775:=2,3d1%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a +host:1609683805=125.231.63.134 +author:1609683775=jrmu +diff:1609683775:1609683775:=1,7d0%0a%3c (:title Banana Todo list:)%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Setup the [[banana/banana|banana team page]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609683775=125.231.63.134 blob - /dev/null blob + 018c4336d489216b753a55d668a4838376481e62 (mode 644) --- /dev/null +++ wiki.d/Bgpd.Configure @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1620023203 +host=198.251.81.119 +name=Bgpd.Configure +rev=1 +targets= +text=sarah, can you please help us document bgpd?%0a%0athanks! +time=1620023203 +author:1620023203=jrmu +diff:1620023203:1620023203:=1,3d0%0a%3c sarah, can you please help us document bgpd?%0a%3c %0a%3c thanks!%0a\ No newline at end of file%0a +host:1620023203=198.251.81.119 blob - /dev/null blob + 1ffbecc156701cebafac31c7bb89969f22a927d1 (mode 644) --- /dev/null +++ wiki.d/Bgpd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1620023203 +host=198.251.81.119 +name=Bgpd.RecentChanges +rev=1 +text=* [[Bgpd/Configure]] . . . May 03, 2021, at 06:26 AM by [[~jrmu]]: [==]%0a +time=1620023203 blob - /dev/null blob + d352c43d12622006e62a1bd3703595e2fcfbeea2 (mode 644) --- /dev/null +++ wiki.d/Biboumi.Install @@ -0,0 +1,100 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +author=mkf +charset=UTF-8 +csum= +ctime=1637719383 +host=188.210.114.32 +name=Biboumi.Install +rev=29 +targets=Openbsd.Ddos,Prosody.Install +text=[[https://biboumi.louiz.org/|Biboumi]] is an XMPP gateway to IRC. Its goal is to let XMPP users use their favorite client to participate in IRC discussions.%0a%0aFeatures:%0a* Unlimited number of XMPP users can connect to an unlimited number of IRC servers%0a* Persistent connections like an IRC bouncer%0a* Basic channel management features%0a* Private chats, notices, CTCP version and ping, IRC colors, and invitations%0a* Channel listing and automatic nickserv identification%0a* Supports TLS to IRC servers%0a* Embedded identd server%0a%0a! Installing with libuuid%0a%0aThis method requires compiling libuuid. however it doesn't require extra programs like git or e2fsprogs.%0aif you installed biboumbi using pervious method '+no need+' to install it using this method%0a%0a!! Installing Dependencies%0a[@%0a$ doas pkg_add cmake botan2 sqlite3 udns%0a@]%0a%0a!! compiling%0a[@%0a$ ftp https://phoenixnap.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz%0a$ cd libuuid%0a$ ./configure%0a$ make%0a$ doas make install%0a@]%0aand install biboumbi%0a[@%0a$ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a$ unxz biboumi-9.0.tar.xz%0a$ tar xvf biboumi-9.0.tar%0a$ cd biboumi-9.0%0a$ cmake .. && make%0a$ ./biboumbi%0a@]%0a%0a! Installing without libuuid%0a!! Installing Dependencies%0a%0aFirst we install the dependencies:%0a%0a[@%0a$ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan2 git%0a@]%0a%0a!! Building%0a%0aNext, we download, unzip, and extract the tarball; then we build biboumi:%0a%0a[@%0a$ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a$ unxz biboumi-9.0.tar.xz%0a$ tar xvf biboumi-9.0.tar%0a$ cd biboumi-9.0%0a$ cmake . -DWITHOUT_POSTGRESQL=1 && make%0a@]%0a%0a!! Configuring Biboumi%0a%0aHere is a sample configuration:%0a%0a[@%0ahostname=irc.example.com%0apassword=PASSWORD%0axmpp_server_ip=127.0.0.1%0aport=5347%0aadmin=admin@example.com%0arealname_customization=true%0arealname_from_jid=false%0alog_file=/var/log/biboumi.log%0aca_file=/etc/ssl/cert.pem%0aoutgoing_bind=192.0.2.1%0a@]%0ayou can also make biboumbi to connect to *only one* server, by adding:%0a[@%0afixed_irc_server=irc.ircnow.org%0a@]%0a%0aMake sure to replace @@irc.example.com@@ with your actual hostname, and replace @@admin@example.com@@ with the admin's actual jid. Replace @@192.0.2.1@@ with your public ([[openbsd/ddos|ddos-filtered]]) IP address.%0a%0apolicy.txt:%0a%0a[@%0arequire_cert_revocation_info = false%0ause_ecc_point_compression = true%0a@]%0a%0a!! Configuring XMPP Server%0a%0a!!! Prosody%0a%0aFor [[prosody/install]], you will need to update @@/etc/prosody/prosody.cfg@@:%0a%0a[@%0aComponent "irc.example.com"%0a component_secret = "PASSWORD"%0a@]%0a%0aReplace @@irc.example.com@@ with the hostname above.%0a%0a!! Running Biboumi%0a%0a[@%0a$ mkdir -p ~/.config/biboumi%0a$ ./biboumi%0a@]%0a%0a! biboumbi with libuuid%0aThis method requires compiling libuuid. however it doesn't require extra programs git or e2fsprogs%0aif you installed biboumbi using pervious method '+no need+' to install it using this methid%0a%0a!! Installing Dependencies%0a[@%0a$ doas pkg_add cmake botan2 sqlite3 udns%0a@]%0a%0a!! compiling%0a[@%0a$ ftp https://phoenixnap.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz%0a$ cd libuuid%0a$ ./configure%0a$ make%0a$ doas make install%0a@]%0aand install biboumbi%0a[@%0a$ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a$ unxz biboumi-9.0.tar.xz%0a$ tar xvf biboumi-9.0.tar%0a$ cd biboumi-9.0%0a$ cmake .. && make%0a$ ./biboumbi%0a@]%0a%0a +time=1638189868 +author:1638189868=mkf +diff:1638189868:1638189762:=12,40d11%0a%3c ! Installing with libuuid%0a%3c %0a%3c This method requires compiling libuuid. however it doesn't require extra programs like git or e2fsprogs.%0a%3c if you installed biboumbi using pervious method '+no need+' to install it using this method%0a%3c %0a%3c !! Installing Dependencies%0a%3c [@%0a%3c $ doas pkg_add cmake botan2 sqlite3 udns%0a%3c @]%0a%3c %0a%3c !! compiling%0a%3c [@%0a%3c $ ftp https://phoenixnap.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz%0a%3c $ cd libuuid%0a%3c $ ./configure%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c and install biboumbi%0a%3c [@%0a%3c $ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a%3c $ unxz biboumi-9.0.tar.xz%0a%3c $ tar xvf biboumi-9.0.tar%0a%3c $ cd biboumi-9.0%0a%3c $ cmake .. && make%0a%3c $ ./biboumbi%0a%3c @]%0a%3c %0a%3c ! Installing without libuuid%0a +host:1638189868=188.210.114.32 +author:1638189762=mkf +csum:1638189762=small changes +diff:1638189762:1637937266:=44c44%0a%3c log_file=/var/log/biboumi.log%0a---%0a> log_file=%0a47,50d46%0a%3c @]%0a%3c you can also make biboumbi to connect to *only one* server, by adding:%0a%3c [@%0a%3c fixed_irc_server=irc.ircnow.org%0a +host:1638189762=188.210.114.32 +author:1637937266=jrmu +diff:1637937266:1637936531:= +host:1637937266=198.251.82.194 +author:1637936531=jrmu +diff:1637936531:1637935983:=65c65%0a%3c Component "irc.example.com"%0a---%0a> Component "irc.ircnow.org"%0a68,69d67%0a%3c %0a%3c Replace @@irc.example.com@@ with the hostname above.%0a +host:1637936531=198.251.82.194 +author:1637935983=jrmu +diff:1637935983:1637935858:=37c37%0a%3c hostname=irc.example.com%0a---%0a> hostname=irc.ircnow.org%0a41c41%0a%3c admin=admin@example.com%0a---%0a> admin=admin@ircnow.org%0a49c49%0a%3c Make sure to replace @@irc.example.com@@ with your actual hostname, and replace @@admin@example.com@@ with the admin's actual jid. Replace @@192.0.2.1@@ with your public ([[openbsd/ddos|ddos-filtered]]) IP address.%0a---%0a> Replace @@192.0.2.1@@ with your public ([[openbsd/ddos|ddos-filtered]]) IP address.%0a +host:1637935983=198.251.82.194 +author:1637935858=jrmu +diff:1637935858:1637934770:=50,56d49%0a%3c %0a%3c policy.txt:%0a%3c %0a%3c [@%0a%3c require_cert_revocation_info = false%0a%3c use_ecc_point_compression = true%0a%3c @]%0a +host:1637935858=198.251.82.194 +author:1637934770=jrmu +diff:1637934770:1637934697:=50,60d49%0a%3c %0a%3c !! Configuring XMPP Server%0a%3c %0a%3c !!! Prosody%0a%3c %0a%3c For [[prosody/install]], you will need to update @@/etc/prosody/prosody.cfg@@:%0a%3c %0a%3c [@%0a%3c Component "irc.ircnow.org"%0a%3c component_secret = "PASSWORD"%0a%3c @]%0a +host:1637934770=198.251.82.194 +author:1637934697=jrmu +diff:1637934697:1637933116:= +host:1637934697=198.251.82.194 +author:1637933116=jrmu +diff:1637933116:1637931964:=46c46%0a%3c outgoing_bind=192.0.2.1%0a---%0a> outgoing_bind=198.251.82.194%0a48,49d47%0a%3c %0a%3c Replace @@192.0.2.1@@ with your public ([[openbsd/ddos|ddos-filtered]]) IP address.%0a +host:1637933116=198.251.82.194 +author:1637931964=jrmu +diff:1637931964:1637910617:=5c5%0a%3c * Persistent connections like an IRC bouncer%0a---%0a> * Persistent connections, so it behave like an IRC bouncer%0a7c7%0a%3c * Private chats, notices, CTCP version and ping, IRC colors, and invitations%0a---%0a> * Private chats, notices, CTCP version and ping, IRC colors, invitations%0a14,15d13%0a%3c First we install the dependencies:%0a%3c %0a22,23d19%0a%3c Next, we download, unzip, and extract the tarball; then we build biboumi:%0a%3c %0a34,35c30,31%0a%3c Here is a sample configuration:%0a%3c %0a---%0a> !! Running Biboumi%0a> %0a37,52c33,36%0a%3c hostname=irc.ircnow.org%0a%3c password=PASSWORD%0a%3c xmpp_server_ip=127.0.0.1%0a%3c port=5347%0a%3c admin=admin@ircnow.org%0a%3c realname_customization=true%0a%3c realname_from_jid=false%0a%3c log_file=%0a%3c ca_file=/etc/ssl/cert.pem%0a%3c outgoing_bind=198.251.82.194%0a%3c @]%0a%3c %0a%3c !! Running Biboumi%0a%3c %0a%3c [@%0a%3c $ mkdir -p ~/.config/biboumi%0a---%0a> $ doas mkdir /etc/ssl/certs/%0a> $ doas ln -s /etc/ssl/cert.pem /etc/ssl/certs/ca-bundle.crt%0a> $ mkdir -p .config/biboumi%0a> $ ./biboumi%0a +host:1637931964=198.251.82.194 +author:1637910617=jrmu +diff:1637910617:1637909375:=33,34d32%0a%3c $ doas mkdir /etc/ssl/certs/%0a%3c $ doas ln -s /etc/ssl/cert.pem /etc/ssl/certs/ca-bundle.crt%0a +host:1637910617=38.87.162.8 +author:1637909375=jrmu +diff:1637909375:1637756267:=33d32%0a%3c $ mkdir -p .config/biboumi%0a +host:1637909375=38.87.162.8 +author:1637756267=mkf +diff:1637756267:1637756049:=42c42%0a%3c $ doas pkg_add cmake botan2 sqlite3 udns%0a---%0a> $ doas pkg_add cmake botan2 %0a +host:1637756267=198.251.81.133 +author:1637756049=mkf +diff:1637756049:1637754910:=35,62d34%0a%3c %0a%3c ! biboumbi with libuuid%0a%3c This method requires compiling libuuid. however it doesn't require extra programs git or e2fsprogs%0a%3c if you installed biboumbi using pervious method '+no need+' to install it using this methid%0a%3c %0a%3c !! Installing Dependencies%0a%3c [@%0a%3c $ doas pkg_add cmake botan2 %0a%3c @]%0a%3c %0a%3c !! compiling%0a%3c [@%0a%3c $ ftp https://phoenixnap.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz%0a%3c $ cd libuuid%0a%3c $ ./configure%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c and install biboumbi%0a%3c [@%0a%3c $ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a%3c $ unxz biboumi-9.0.tar.xz%0a%3c $ tar xvf biboumi-9.0.tar%0a%3c $ cd biboumi-9.0%0a%3c $ cmake .. && make%0a%3c $ ./biboumbi%0a%3c @]%0a%3c %0a +host:1637756049=198.251.81.133 +author:1637754910=jrmu +diff:1637754910:1637754608:=25,33c25%0a%3c $ cmake . -DWITHOUT_POSTGRESQL=1 && make%0a%3c @]%0a%3c %0a%3c !! Configuring Biboumi%0a%3c %0a%3c !! Running Biboumi%0a%3c %0a%3c [@%0a%3c $ ./biboumi%0a---%0a> $ cmake . -DWITHOUT_POSTGRESQL=1 && make && ./biboumi%0a +host:1637754910=38.87.162.8 +author:1637754608=jrmu +diff:1637754608:1637754365:=25c25,27%0a%3c $ cmake . -DWITHOUT_POSTGRESQL=1 && make && ./biboumi%0a---%0a> $ mkdir build && cd build/%0a> $ cmake .. -DWITHOUT_POSTGRESQL=1%0a> $ make && ./biboumi%0a +host:1637754608=198.251.82.194 +author:1637754365=jrmu +diff:1637754365:1637754049:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan2 git%0a---%0a> $ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan2%0a +host:1637754365=198.251.82.194 +author:1637754049=jrmu +diff:1637754049:1637753659:=25,27c25%0a%3c $ mkdir build && cd build/%0a%3c $ cmake .. -DWITHOUT_POSTGRESQL=1%0a%3c $ make && ./biboumi%0a---%0a> $ cmake . && make && ./biboumi%0a +host:1637754049=198.251.82.194 +author:1637753659=jrmu +diff:1637753659:1637752539:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan2%0a---%0a> $ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan%0a +host:1637753659=198.251.82.194 +author:1637752539=jrmu +diff:1637752539:1637752491:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan%0a---%0a> $ doas pkg_add cmake e2fsprogs sqlite3 libidn botan%0a +host:1637752539=198.251.82.194 +author:1637752491=jrmu +diff:1637752491:1637752419:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3 libidn botan%0a---%0a> $ doas pkg_add cmake e2fsprogs sqlite3 libidn%0a +host:1637752491=198.251.82.194 +author:1637752419=jrmu +diff:1637752419:1637752351:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3 libidn%0a---%0a> $ doas pkg_add cmake e2fsprogs sqlite3%0a +host:1637752419=198.251.82.194 +author:1637752351=jrmu +diff:1637752351:1637751576:=15c15%0a%3c $ doas pkg_add cmake e2fsprogs sqlite3%0a---%0a> $ doas pkg_add cmake e2fsprogs%0a +host:1637752351=198.251.82.194 +author:1637751576=jrmu +diff:1637751576:1637751567:=12,13d11%0a%3c !! Installing Dependencies%0a%3c %0a15,20d12%0a%3c $ doas pkg_add cmake e2fsprogs%0a%3c @]%0a%3c %0a%3c !! Building%0a%3c %0a%3c [@%0a24,25d15%0a%3c $ cd biboumi-9.0%0a%3c $ cmake . && make && ./biboumi%0a +host:1637751576=198.251.82.194 +author:1637751567=jrmu +diff:1637751567:1637719770:= +host:1637751567=198.251.82.194 +author:1637719770=jrmu +diff:1637719770:1637719755:=4,10c4,10%0a%3c * Unlimited number of XMPP users can connect to an unlimited number of IRC servers%0a%3c * Persistent connections, so it behave like an IRC bouncer%0a%3c * Basic channel management features%0a%3c * Private chats, notices, CTCP version and ping, IRC colors, invitations%0a%3c * Channel listing and automatic nickserv identification%0a%3c * Supports TLS to IRC servers%0a%3c * Embedded identd server%0a---%0a> # Unlimited number of XMPP users can connect to an unlimited number of IRC servers%0a> # Persistent connections, so it behave like an IRC bouncer%0a> # Basic channel management features%0a> # Private chats, notices, CTCP version and ping, IRC colors, invitations%0a> # Channel listing and automatic nickserv identification%0a> # Supports TLS to IRC servers%0a> # Embedded identd server%0a +host:1637719770=198.251.82.194 +author:1637719755=jrmu +diff:1637719755:1637719457:=1,11d0%0a%3c [[https://biboumi.louiz.org/|Biboumi]] is an XMPP gateway to IRC. Its goal is to let XMPP users use their favorite client to participate in IRC discussions.%0a%3c %0a%3c Features:%0a%3c # Unlimited number of XMPP users can connect to an unlimited number of IRC servers%0a%3c # Persistent connections, so it behave like an IRC bouncer%0a%3c # Basic channel management features%0a%3c # Private chats, notices, CTCP version and ping, IRC colors, invitations%0a%3c # Channel listing and automatic nickserv identification%0a%3c # Supports TLS to IRC servers%0a%3c # Embedded identd server%0a%3c %0a +host:1637719755=198.251.82.194 +author:1637719457=jrmu +diff:1637719457:1637719383:=3,4d2%0a%3c $ unxz biboumi-9.0.tar.xz%0a%3c $ tar xvf biboumi-9.0.tar%0a +host:1637719457=198.251.82.194 +author:1637719383=jrmu +diff:1637719383:1637719383:=1,3d0%0a%3c [@%0a%3c $ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz%0a%3c @]%0a +host:1637719383=198.251.82.194 blob - /dev/null blob + 2773f50f59a699e5dc13c28e06d37481f9330fcf (mode 644) --- /dev/null +++ wiki.d/Biboumi.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +charset=UTF-8 +ctime=1637719383 +host=188.210.114.32 +name=Biboumi.RecentChanges +rev=29 +text=* [[Biboumi/Install]] . . . November 29, 2021, at 12:44 PM by [[~mkf]]: [==]%0a +time=1638189868 blob - /dev/null blob + b4d17febc4e9065d6e28d40c54344b4831d333c1 (mode 644) --- /dev/null +++ wiki.d/Bitlbee.Install @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1620357579 +host=188.210.102.116 +name=Bitlbee.Install +rev=5 +targets=Openbsd.Znc +text=(:title Install Bitlbee:)%0a%0a[[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for other protocols. For example, you can use Bitlbee to connect your perfered IRC client to Telegram, Discord, or Slack.%0a%0aThe core of bitlbee itself is written in C.%0a%0a!! Installation and configuration%0aFirst, let's install the package:%0a[@%0a$ doas pkg_add bitlbee-3.6p1-libpurple%0a@]%0a%0a'''Note''': There are multiple flavors of bitlbee:%0a%0a'''bitlbee-libpurple''' is bitlbee compiled with libpurple support. This is what we want because it supports the most protocols.%0a%0a'''bitlbee-otr''' is bitlbee compiled with Off The Record ('''OTR''') encryption support. However, the developers suggest not installing OTR version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often fails when the same account is used with other XMPP clients besides bitlbee.%0a%0abitlbee-libpurple-otr is bitlbee with OTR and libpurple support. We avoid it for the same reason as above.%0a%0aAfter installation edit /etc/bitlbee/bitlbee.conf:%0a%0a[@%0aRunMode = ForkDaemon%0aUser = _bitlbee%0a# Bitlbee will only be bound to localhost on port 8171%0aDaemonInterface = 127.0.0.1%0aDaemonPort = 8171%0aOperPassword = password%0aAllowAccountAdd 1%0aHostName = example.com%0a@]%0a%0aReplace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because there is no SSL support in bitlbee (unlike ZNC).%0a%0aTo start bitlbee:%0a%0a[@%0a$ doas rcctl enable bitlbee%0a$ doas rcctl start bitlbee%0a@]%0a%0a!! Discord Support%0a%0aUse [[https://github.com/sm00th/bitlbee-discord|sm00th's bitlbee-discord]] plugin. Here is a [[https://www.namtsui.com/cgi-bin/cvsweb/ports/net/bitlbee-discord/|convenient port]] provided by namtsui:%0a%0a[@%0a$ cvs -d anoncvs@namtsui.com:/cvs checkout -P ports/net/bitlbee-discord/%0a@]%0a%0a!! Telegram Support%0a%0a$ doas pkg_add telegram-purple%0a%0a!! Matrix Support%0a%0aFrom packages:%0a%0aNote: packaged version of purple-matrix is not working with bitlbee, so we have to install it from source instead.%0a%0a[@%0a$ doas pkg_add purple-matrix%0a@]%0a%0aFrom source:%0a%0a[@%0a$ doas pkg_add olm glib json-glib%0a$ cd ~/%0a$ git clone https://github.com/matrix-org/purple-matrix.git%0a$ cd purple-matrix%0a$ gmake MATRIX_NO_E2E=1%0a$ doas gmake install%0a@]%0a%0a!! RocketChat support%0a[@%0a$ doas pkg_add purple-rocketchat%0a@]%0a%0a!! Mastodon support%0a[@%0a$ doas pkg_add bitlbee-mastodon%0a@]%0a!! Adding accounts%0aconnect with your IRC client to your bitlbee server, this usually will be localhost, then join &bitlbee (not #bitlbee), you can see your buddy list or generally your chats with people in there. by default only 'root' user exist in there. root can used as a configuration panel to bitlbee.%0a%0afirst let's register your account, this will helps to store your settings.%0a[@%0aregister %3cpassword>%0a@]%0athen save it.%0a[@%0asave%0a@]%0a%0anext time you connected into bitlbee, you can login via NickServ or write directly in &bitlbee%0a[@%0aidentify %3cpassword>%0a@]%0a%0acreate your account using following command:%0a[@%0aaccount add %3cprotocol> %3cusername> [password] [server]%0a@]%0apassword and server are optional and depends on the protocol, for example, telegram does not require them by default.%0afor protocol, there are two types of protocols, ones are supported by bitlbee and ones are supported by libpurple.%0afor checking bitlbee built-in protocols:%0a[@%0ahelp plugins%0a@]%0a%0aand for checking available protocols supported by libpurple:%0a[@%0ahelp purple%0a@]%0a%0athe @@add@@ command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a%0ayou can check your accounts using %0a[@%0aaccount list%0a@] %0a%0alet's add a jabber account:%0a[@%0aaccount add jabber myusername@ircnow.org MyPassword%0a@]%0aof course, replace myusername@ircnow.org with your JID and @@MyPassword@@ with your password%0a%0aanother example for telegram:%0a[@%0aaccount add telegram +11234567%0a@]%0ait will ask for login code later.%0a%0aNote: telegram-purple is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a%0a[@%0aaccount %3cid> off%0aaccount %3cid> on%0a@]%0a!! chatting%0aafter adding your accounts, you can start chating using msg or query command, for example%0a[@%0a/query my_buddy%0a@]%0awill open a query with my_buddy user. if you want to message your buddy in jabber, do following%0a[@%0a/query JID%0a@] +time=1626894721 +title=Install Bitlbee +author:1626894721=mkf +diff:1626894721:1622788251:minor=3,4c3,4%0a%3c [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for other protocols. For example, you can use Bitlbee to connect your perfered IRC client to Telegram, Discord, or Slack.%0a%3c %0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for those other networks. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a> %0a13,14c13,14%0a%3c '''Note''': There are multiple flavors of bitlbee:%0a%3c %0a---%0a> '''Note''': There are multiple versions of bitlbee:%0a> %0a34,35c34,35%0a%3c Replace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because there is no SSL support in bitlbee (unlike ZNC).%0a%3c %0a---%0a> Replace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a> %0a102c102%0a%3c create your account using following command:%0a---%0a> create your account using following command%0a113c113%0a%3c and for checking available protocols supported by libpurple:%0a---%0a> and for checking avaliable protocols supported by libpurple:%0a127c127%0a%3c account add jabber myusername@ircnow.org MyPassword%0a---%0a> account add jabber myusername@ircnow.org MyVerySecurePassword%0a129c129%0a%3c of course, replace myusername@ircnow.org with your JID and @@MyPassword@@ with your password%0a---%0a> of course, replace myusername@ircnow.org with your JID and @@MyVerySecurePassword@@ with your password (maybe YourVerySecurePassword? :] )%0a +host:1626894721=188.210.102.116 +author:1622788251=jrmu +diff:1622788251:1621147724:=1,8c1,4%0a%3c (:title Install Bitlbee:)%0a%3c %0a%3c [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for those other networks. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a%3c %0a%3c The core of bitlbee itself is written in C.%0a%3c %0a%3c !! Installation and configuration%0a%3c First, let's install the package:%0a---%0a> bitlbee is a custom irc server that can act a IM (and libpurple) client, you can use it for connecting to XMPP, twitter, discord, Matrix and telegram.%0a> %0a> for installing%0a> %0a10c6,14%0a%3c $ doas pkg_add bitlbee-3.6p1-libpurple%0a---%0a> $ doas pkg_add bitlbee%0a> quirks-3.442 signed on 2021-04-25T17:01:22Z%0a> Ambiguous: choose package for bitlbee%0a> a 0: %3cNone>%0a> 1: bitlbee-3.6p1%0a> 2: bitlbee-3.6p1-libpurple%0a> 3: bitlbee-3.6p1-libpurple-otr%0a> 4: bitlbee-3.6p1-otr%0a> Your choice: 2%0a12,151c16,20%0a%3c %0a%3c '''Note''': There are multiple versions of bitlbee:%0a%3c %0a%3c '''bitlbee-libpurple''' is bitlbee compiled with libpurple support. This is what we want because it supports the most protocols.%0a%3c %0a%3c '''bitlbee-otr''' is bitlbee compiled with Off The Record ('''OTR''') encryption support. However, the developers suggest not installing OTR version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often fails when the same account is used with other XMPP clients besides bitlbee.%0a%3c %0a%3c bitlbee-libpurple-otr is bitlbee with OTR and libpurple support. We avoid it for the same reason as above.%0a%3c %0a%3c After installation edit /etc/bitlbee/bitlbee.conf:%0a%3c %0a%3c [@%0a%3c RunMode = ForkDaemon%0a%3c User = _bitlbee%0a%3c # Bitlbee will only be bound to localhost on port 8171%0a%3c DaemonInterface = 127.0.0.1%0a%3c DaemonPort = 8171%0a%3c OperPassword = password%0a%3c AllowAccountAdd 1%0a%3c HostName = example.com%0a%3c @]%0a%3c %0a%3c Replace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a%3c %0a%3c To start bitlbee:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable bitlbee%0a%3c $ doas rcctl start bitlbee%0a%3c @]%0a%3c %0a%3c !! Discord Support%0a%3c %0a%3c Use [[https://github.com/sm00th/bitlbee-discord|sm00th's bitlbee-discord]] plugin. Here is a [[https://www.namtsui.com/cgi-bin/cvsweb/ports/net/bitlbee-discord/|convenient port]] provided by namtsui:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@namtsui.com:/cvs checkout -P ports/net/bitlbee-discord/%0a%3c @]%0a%3c %0a%3c !! Telegram Support%0a%3c %0a%3c $ doas pkg_add telegram-purple%0a%3c %0a%3c !! Matrix Support%0a%3c %0a%3c From packages:%0a%3c %0a%3c Note: packaged version of purple-matrix is not working with bitlbee, so we have to install it from source instead.%0a%3c %0a%3c [@%0a%3c $ doas pkg_add purple-matrix%0a%3c @]%0a%3c %0a%3c From source:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add olm glib json-glib%0a%3c $ cd ~/%0a%3c $ git clone https://github.com/matrix-org/purple-matrix.git%0a%3c $ cd purple-matrix%0a%3c $ gmake MATRIX_NO_E2E=1%0a%3c $ doas gmake install%0a%3c @]%0a%3c %0a%3c !! RocketChat support%0a%3c [@%0a%3c $ doas pkg_add purple-rocketchat%0a%3c @]%0a%3c %0a%3c !! Mastodon support%0a%3c [@%0a%3c $ doas pkg_add bitlbee-mastodon%0a%3c @]%0a%3c !! Adding accounts%0a%3c connect with your IRC client to your bitlbee server, this usually will be localhost, then join &bitlbee (not #bitlbee), you can see your buddy list or generally your chats with people in there. by default only 'root' user exist in there. root can used as a configuration panel to bitlbee.%0a%3c %0a%3c first let's register your account, this will helps to store your settings.%0a%3c [@%0a%3c register %3cpassword>%0a%3c @]%0a%3c then save it.%0a%3c [@%0a%3c save%0a%3c @]%0a%3c %0a%3c next time you connected into bitlbee, you can login via NickServ or write directly in &bitlbee%0a%3c [@%0a%3c identify %3cpassword>%0a%3c @]%0a%3c %0a%3c create your account using following command%0a%3c [@%0a%3c account add %3cprotocol> %3cusername> [password] [server]%0a%3c @]%0a%3c password and server are optional and depends on the protocol, for example, telegram does not require them by default.%0a%3c for protocol, there are two types of protocols, ones are supported by bitlbee and ones are supported by libpurple.%0a%3c for checking bitlbee built-in protocols:%0a%3c [@%0a%3c help plugins%0a%3c @]%0a%3c %0a%3c and for checking avaliable protocols supported by libpurple:%0a%3c [@%0a%3c help purple%0a%3c @]%0a%3c %0a%3c the @@add@@ command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a%3c %0a%3c you can check your accounts using %0a%3c [@%0a%3c account list%0a%3c @] %0a%3c %0a%3c let's add a jabber account:%0a%3c [@%0a%3c account add jabber myusername@ircnow.org MyVerySecurePassword%0a%3c @]%0a%3c of course, replace myusername@ircnow.org with your JID and @@MyVerySecurePassword@@ with your password (maybe YourVerySecurePassword? :] )%0a%3c %0a%3c another example for telegram:%0a%3c [@%0a%3c account add telegram +11234567%0a%3c @]%0a%3c it will ask for login code later.%0a%3c %0a%3c Note: telegram-purple is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a%3c %0a%3c [@%0a%3c account %3cid> off%0a%3c account %3cid> on%0a%3c @]%0a%3c !! chatting%0a%3c after adding your accounts, you can start chating using msg or query command, for example%0a%3c [@%0a%3c /query my_buddy%0a%3c @]%0a%3c will open a query with my_buddy user. if you want to message your buddy in jabber, do following%0a%3c [@%0a%3c /query JID%0a%3c @]%0a\ No newline at end of file%0a---%0a> bitlbee-libpurple is the bitlbee compiled with libpurple support, this is what you likely want, supports more protocols in cost of more ram/cpu usage and less stablity.%0a> %0a> bitlbee-otr is the bitlbee compiled with Off the Road encryption support, it was quite popular on XMPP. however it's now replaced with OMEMO in most clients, you may not want this.%0a> %0a> bitlbee-libpurple-otr is bitlbee with otr and libpurple support%0a +host:1622788251=125.231.28.9 +author:1621147724=mkf +diff:1621147724:1620357603:minor=5,15c5,14%0a%3c [@%0a%3c $ doas pkg_add bitlbee%0a%3c quirks-3.442 signed on 2021-04-25T17:01:22Z%0a%3c Ambiguous: choose package for bitlbee%0a%3c a 0: %3cNone>%0a%3c 1: bitlbee-3.6p1%0a%3c 2: bitlbee-3.6p1-libpurple%0a%3c 3: bitlbee-3.6p1-libpurple-otr%0a%3c 4: bitlbee-3.6p1-otr%0a%3c Your choice: 2%0a%3c @]%0a---%0a> @@# pkg_add bitlbee@@%0a> @@quirks-3.442 signed on 2021-04-25T17:01:22Z @@%0a> @@Ambiguous: choose package for bitlbee @@%0a> @@a 0: %3cNone> @@%0a> @@ 1: bitlbee-3.6p1 @@%0a> @@ 2: bitlbee-3.6p1-libpurple @@%0a> @@ 3: bitlbee-3.6p1-libpurple-otr @@%0a> @@ 4: bitlbee-3.6p1-otr @@%0a> @@Your choice: 2@@%0a> %0a +host:1621147724=198.251.81.133 +author:1620357603=mkf +csum:1620357603=made the page +diff:1620357603:1620357579:= +host:1620357603=2.178.139.253 +author:1620357579=mkf +csum:1620357579=made the page +diff:1620357579:1620357579:=1,19d0%0a%3c bitlbee is a custom irc server that can act a IM (and libpurple) client, you can use it for connecting to XMPP, twitter, discord, Matrix and telegram.%0a%3c %0a%3c for installing%0a%3c %0a%3c @@# pkg_add bitlbee@@%0a%3c @@quirks-3.442 signed on 2021-04-25T17:01:22Z @@%0a%3c @@Ambiguous: choose package for bitlbee @@%0a%3c @@a 0: %3cNone> @@%0a%3c @@ 1: bitlbee-3.6p1 @@%0a%3c @@ 2: bitlbee-3.6p1-libpurple @@%0a%3c @@ 3: bitlbee-3.6p1-libpurple-otr @@%0a%3c @@ 4: bitlbee-3.6p1-otr @@%0a%3c @@Your choice: 2@@%0a%3c %0a%3c bitlbee-libpurple is the bitlbee compiled with libpurple support, this is what you likely want, supports more protocols in cost of more ram/cpu usage and less stablity.%0a%3c %0a%3c bitlbee-otr is the bitlbee compiled with Off the Road encryption support, it was quite popular on XMPP. however it's now replaced with OMEMO in most clients, you may not want this.%0a%3c %0a%3c bitlbee-libpurple-otr is bitlbee with otr and libpurple support%0a +host:1620357579=2.178.139.253 blob - /dev/null blob + 1bfbfdbbd6fa889d5228451ac336e489cda858a7 (mode 644) --- /dev/null +++ wiki.d/Bitlbee.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1620357579 +host=188.210.102.116 +name=Bitlbee.RecentChanges +rev=5 +text=* [[Bitlbee/Install]] . . . July 21, 2021, at 07:12 PM by [[~mkf]]: [==]%0a +time=1626894721 blob - /dev/null blob + 393b8db5177e88d910269d357c702730c59de9b3 (mode 644) --- /dev/null +++ wiki.d/Botnow.Botnow @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1620435572 +host=198.251.81.119 +name=Botnow.Botnow +rev=15 +targets= +text=(:title BotNow: A versatile IRC bot:)%0a%0aA versatile IRC bot written in C, designed to be a replacement for eggdrop.%0a%0aFeatures:%0a%0a# Easy to assemble into a botnet%0a# Easy to connect to multiple networks%0a# Easily script using any interpreted language (python, perl, shell, javascript, tcl)%0a# Compatible with existing eggdrop tcls%0a# Simplified configuration%0a# Track user metadata to prevent abuse, including IRC, email, and www metadata%0a# Easily load modules%0a%0aModules:%0a%0a# BNC -- Request bouncers%0a# Shell -- Request shell accounts%0a# DNS -- Assign DNS and rDNS entries%0a# Storage -- Store user data in flat files or databases%0a# Help -- Provide help info%0a# VPN -- Request VPNs%0a# Email -- Request email accounts and track email metadata%0a# Login -- Reset password and change registration info%0a# WWW -- Track web client metadata%0a# Log -- Log messages%0a# Relay -- relay messages across multiple networks +time=1620467092 +title=BotNow: A versatile IRC bot +author:1620467092=jrmu +diff:1620467092:1620466843:=17,27c17,30%0a%3c # BNC -- Request bouncers%0a%3c # Shell -- Request shell accounts%0a%3c # DNS -- Assign DNS and rDNS entries%0a%3c # Storage -- Store user data in flat files or databases%0a%3c # Help -- Provide help info%0a%3c # VPN -- Request VPNs%0a%3c # Email -- Request email accounts and track email metadata%0a%3c # Login -- Reset password and change registration info%0a%3c # WWW -- Track web client metadata%0a%3c # Log -- Log messages%0a%3c # Relay -- relay messages across multiple networks%0a\ No newline at end of file%0a---%0a> # BNC%0a> # Shell%0a> # DNS%0a> # Allow%0a> # Storage%0a> User data can be stored in flat files or databases%0a> # Help%0a> # VPN%0a> # Email%0a> # WWW%0a> # Login%0a> # Log%0a> # Relay%0a> # Relay messages across multiple networks%0a\ No newline at end of file%0a +host:1620467092=198.251.81.119 +author:1620466843=jrmu +diff:1620466843:1620464242:=7,14c7,14%0a%3c # Easy to assemble into a botnet%0a%3c # Easy to connect to multiple networks%0a%3c # Easily script using any interpreted language (python, perl, shell, javascript, tcl)%0a%3c # Compatible with existing eggdrop tcls%0a%3c # Simplified configuration%0a%3c # Track user metadata to prevent abuse, including IRC, email, and www metadata%0a%3c # Easily load modules%0a%3c %0a---%0a> * Easy to assemble into a botnet%0a> * Easy to connect to multiple networks%0a> * Easily script using any interpreted language (python, perl, shell, javascript, tcl)%0a> * Compatible with existing eggdrop tcls%0a> * Simplified configuration%0a> * Track user metadata to prevent abuse, including IRC, email, and www metadata%0a> * Easily load modules%0a> %0a17,30c17,30%0a%3c # BNC%0a%3c # Shell%0a%3c # DNS%0a%3c # Allow%0a%3c # Storage%0a%3c User data can be stored in flat files or databases%0a%3c # Help%0a%3c # VPN%0a%3c # Email%0a%3c # WWW%0a%3c # Login%0a%3c # Log%0a%3c # Relay%0a%3c # Relay messages across multiple networks%0a\ No newline at end of file%0a---%0a> BNC%0a> %0a> Shell%0a> DNS%0a> Storage%0a> * User data can be stored in flat files or databases%0a> Help%0a> VPN%0a> Email%0a> WWW%0a> Login%0a> Log%0a> Relay%0a> * Relay messages across multiple networks%0a\ No newline at end of file%0a +host:1620466843=198.251.81.119 +author:1620464242=jrmu +diff:1620464242:1620463577:= +host:1620464242=198.251.81.119 +author:1620463577=jrmu +diff:1620463577:1620463453:= +host:1620463577=198.251.81.119 +author:1620463453=jrmu +diff:1620463453:1620463349:=18d17%0a%3c %0a +host:1620463453=198.251.81.119 +author:1620463349=jrmu +diff:1620463349:1620463293:=12,14c12,26%0a%3c * Track user metadata to prevent abuse, including IRC, email, and www metadata%0a%3c * Easily load modules%0a%3c %0a---%0a> %0a> Track user metadata to prevent abuse:%0a> %0a> * Username%0a> * Email%0a> * Mail client metadata%0a> * Password hash%0a> * IP address%0a> * Hostmask%0a> * CTCP Version%0a> * CTCP Date%0a> * Registration Date%0a> * Channels%0a> * Network%0a> %0a17a30%0a> %0a18a32%0a> %0a19a34%0a> %0a21a37%0a> %0a22a39%0a> %0a23a41%0a> %0a24a43%0a> %0a25a45%0a> %0a26a47%0a> %0a27a49%0a> %0a +host:1620463349=198.251.81.119 +author:1620463293=jrmu +diff:1620463293:1620463198:=50,51c50%0a%3c Relay%0a%3c * Relay messages across multiple networks%0a\ No newline at end of file%0a---%0a> Relay%0a\ No newline at end of file%0a +host:1620463293=198.251.81.119 +author:1620463198=jrmu +diff:1620463198:1620462856:=1,4c1,2%0a%3c (:title BotNow: A versatile IRC bot:)%0a%3c %0a%3c A versatile IRC bot written in C, designed to be a replacement for eggdrop.%0a%3c %0a---%0a> An eggdrop replacement that is written in C.%0a> %0a7,9c5,6%0a%3c * Easy to assemble into a botnet%0a%3c * Easy to connect to multiple networks%0a%3c * Easily script using any interpreted language (python, perl, shell, javascript, tcl)%0a---%0a> * Designed to easily assemble into a botnet%0a> * Easily scriptable using any interpreter of your choice (python, perl, shell, javascript, tcl)%0a11,12c8,10%0a%3c * Simplified configuration%0a%3c %0a---%0a> * Simple configuration%0a> * Supports logging, relaying of channels%0a> %0a46,50c44%0a%3c Login%0a%3c %0a%3c Log%0a%3c %0a%3c Relay%0a\ No newline at end of file%0a---%0a> Login%0a\ No newline at end of file%0a +host:1620463198=198.251.81.119 +author:1620462856=jrmu +diff:1620462856:1620462726:=11,24c11,24%0a%3c Track user metadata to prevent abuse:%0a%3c %0a%3c * Username%0a%3c * Email%0a%3c * Mail client metadata%0a%3c * Password hash%0a%3c * IP address%0a%3c * Hostmask%0a%3c * CTCP Version%0a%3c * CTCP Date%0a%3c * Registration Date%0a%3c * Channels%0a%3c * Network%0a%3c %0a---%0a> Tracks user metadata to prevent abuse:%0a> %0a> Username%0a> Email%0a> Mail client metadata%0a> Password hash%0a> IP address%0a> Hostmask%0a> CTCP Version%0a> CTCP Date%0a> Registration Date%0a> Channels%0a> Network%0a> %0a34d33%0a%3c * User data can be stored in flat files or databases%0a +host:1620462856=198.251.81.119 +author:1620462726=jrmu +diff:1620462726:1620446871:= +host:1620462726=198.251.81.119 +author:1620446871=jrmu +diff:1620446871:1620446750:=10,23d9%0a%3c %0a%3c Tracks user metadata to prevent abuse:%0a%3c %0a%3c Username%0a%3c Email%0a%3c Mail client metadata%0a%3c Password hash%0a%3c IP address%0a%3c Hostmask%0a%3c CTCP Version%0a%3c CTCP Date%0a%3c Registration Date%0a%3c Channels%0a%3c Network%0a +host:1620446871=125.224.26.7 +author:1620446750=jrmu +diff:1620446750:1620435670:=9,29c9%0a%3c * Supports logging, relaying of channels%0a%3c %0a%3c Modules:%0a%3c %0a%3c BNC%0a%3c %0a%3c Shell%0a%3c %0a%3c DNS%0a%3c %0a%3c Storage%0a%3c %0a%3c Help%0a%3c %0a%3c VPN%0a%3c %0a%3c Email%0a%3c %0a%3c WWW%0a%3c %0a%3c Login%0a\ No newline at end of file%0a---%0a> * Supports logging, relaying of channels%0a\ No newline at end of file%0a +host:1620446750=125.224.26.7 +author:1620435670=jrmu +diff:1620435670:1620435614:=8,9c8%0a%3c * Simple configuration%0a%3c * Supports logging, relaying of channels%0a\ No newline at end of file%0a---%0a> * Simple configuration%0a\ No newline at end of file%0a +host:1620435670=198.251.81.119 +author:1620435614=jrmu +diff:1620435614:1620435572:=7,8c7%0a%3c * Compatible with existing eggdrop tcls%0a%3c * Simple configuration%0a\ No newline at end of file%0a---%0a> * Compatible with existing eggdrop tcls%0a\ No newline at end of file%0a +host:1620435614=198.251.81.119 +author:1620435572=jrmu +diff:1620435572:1620435572:=1,7d0%0a%3c An eggdrop replacement that is written in C.%0a%3c %0a%3c Features:%0a%3c %0a%3c * Designed to easily assemble into a botnet%0a%3c * Easily scriptable using any interpreter of your choice (python, perl, shell, javascript, tcl)%0a%3c * Compatible with existing eggdrop tcls%0a\ No newline at end of file%0a +host:1620435572=198.251.81.119 blob - /dev/null blob + 18038f5381c4a2c7527a0a39c32bf404c359eec0 (mode 644) --- /dev/null +++ wiki.d/Botnow.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1620435572 +host=198.251.81.119 +name=Botnow.RecentChanges +rev=15 +text=* [[Botnow/Botnow]] . . . May 08, 2021, at 09:44 AM by [[~jrmu]]: [==]%0a +time=1620467092 blob - /dev/null blob + 6f0e6388a1f40998f61674fa2f9f78049bec4ddd (mode 644) --- /dev/null +++ wiki.d/Bots.Bots @@ -0,0 +1,35 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596460519 +host=38.81.163.143 +name=Bots.Bots +rev=7 +targets= +text=# Games%0a # Uno, Scrabble, Word Game, Hangman, Trivia Game, Poker, Blackjack, Hold'em%0a# News%0a # RSS reader%0a # Weather reports%0a# Channel Management%0a # BlackTools%0a# Chat bots%0a # Auto Greet%0a #Quotes%0a# Bible bot%0a# Misc%0a # URL reader%0a # Channel Stats%0a # Lastseen%0a # Pricebot%0a%0a* complements your chat group (IRC channel) with weather, music, and games%0a* helps you manage and administer the IRC channel%0a* free of charge, with free software%0a* real time support from IRCNow over live chat%0a%0aRequest a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%0a!!! Relay bot%0a%0aYou can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%0a!!! Features:%0a%0a# Relay multiple channels on multiple networks%0a# On servers you own, each channel can see 1 nick per user on other networks%0a%0aWe are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%0a!!! Chat bot%0a%0a - Display the title of a posted URL%0a - Read RSS feeds%0a%0aWe are working on adding these features:%0a%0a# Play chess on IRC%0a# Code snippet upload%0a# File upload%0a%0a!!! Bible bot%0a%0aStudy the Holy Bible.%0a%0a# Around 100 open/public domain translations in over 20 languages%0a# Passage and verse quoting%0a%0a!!! HTTP bot%0a%0aThis is still a work in progress (not yet ready for borrowing).%0a%0aA scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%0a# Easily create your own bots using shell scripts and curl%0a# Can be used to create IRC clients that can bypass restrictive firewalls%0a# Can be used to create a web IRC client +time=1598356978 +author:1598356978=jrmu +diff:1598356978:1598356367:= +host:1598356978=38.81.163.143 +author:1598356367=jrmu +diff:1598356367:1598356347:= +host:1598356367=38.81.163.143 +author:1598356347=jrmu +diff:1598356347:1597900268:=1,17d0%0a%3c # Games%0a%3c # Uno, Scrabble, Word Game, Hangman, Trivia Game, Poker, Blackjack, Hold'em%0a%3c # News%0a%3c # RSS reader%0a%3c # Weather reports%0a%3c # Channel Management%0a%3c # BlackTools%0a%3c # Chat bots%0a%3c # Auto Greet%0a%3c #Quotes%0a%3c # Bible bot%0a%3c # Misc%0a%3c # URL reader%0a%3c # Channel Stats%0a%3c # Lastseen%0a%3c # Pricebot%0a%3c %0a23a7,11%0a> %0a> # [[bots/relay|Relay bots]]%0a> # [[bots/eggdrop|Eggdrop bots]]%0a> # [[bots/biblebot|Bible bot]]%0a> # [[bots/http2irc|HTTP bot]]%0a +host:1598356347=38.81.163.143 +author:1597900268=gry +csum:1597900268=clarified +diff:1597900268:1597899651:=4a5,6%0a> %0a> !! Free bots%0a +host:1597900268=203.129.25.247 +author:1597899651=gry +csum:1597899651=clarified +diff:1597899651:1597836219:=1,5d0%0a%3c * complements your chat group (IRC channel) with weather, music, and games%0a%3c * helps you manage and administer the IRC channel%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a +host:1597899651=203.129.25.247 +author:1597836219=jrmu +diff:1597836219:1596460519:=1,2c1,2%0a%3c !! Free bots%0a%3c %0a---%0a> ====== Free bots ======%0a> %0a5,11c5,12%0a%3c # [[bots/relay|Relay bots]]%0a%3c # [[bots/eggdrop|Eggdrop bots]]%0a%3c # [[bots/biblebot|Bible bot]]%0a%3c # [[bots/http2irc|HTTP bot]]%0a%3c %0a%3c !!! Relay bot%0a%3c %0a---%0a> - [[irc:bots:relay|Relay bots]]%0a> - [[irc:bots:chatbots|Chat bots]]%0a> - [[irc:bots:chanbot|Channel bots]]%0a> - [[irc:bots:biblebot|Bible bot]]%0a> - [[irc:bots:http2irc|HTTP bot]]%0a> %0a> ===== Relay bot =====%0a> %0a14,18c15,19%0a%3c !!! Features:%0a%3c %0a%3c # Relay multiple channels on multiple networks%0a%3c # On servers you own, each channel can see 1 nick per user on other networks%0a%3c %0a---%0a> ==== Features: ====%0a> %0a> - Relay multiple channels on multiple networks%0a> - On servers you own, each channel can see 1 nick per user on other networks%0a> %0a21,22c22,23%0a%3c !!! Chat bot%0a%3c %0a---%0a> ===== Chat bot =====%0a> %0a28,33c29,34%0a%3c # Play chess on IRC%0a%3c # Code snippet upload%0a%3c # File upload%0a%3c %0a%3c !!! Bible bot%0a%3c %0a---%0a> - Play chess on IRC%0a> - Code snippet upload%0a> - File upload%0a> %0a> ===== Bible bot =====%0a> %0a36,40c37,41%0a%3c # Around 100 open/public domain translations in over 20 languages%0a%3c # Passage and verse quoting%0a%3c %0a%3c !!! HTTP bot%0a%3c %0a---%0a> - Around 100 open/public domain translations in over 20 languages%0a> - Passage and verse quoting%0a> %0a> ===== HTTP bot =====%0a> %0a45,47c46,48%0a%3c # Easily create your own bots using shell scripts and curl%0a%3c # Can be used to create IRC clients that can bypass restrictive firewalls%0a%3c # Can be used to create a web IRC client%0a\ No newline at end of file%0a---%0a> - Easily create your own bots using shell scripts and curl%0a> - Can be used to create IRC clients that can bypass restrictive firewalls%0a> - Can be used to create a web IRC client%0a +host:1597836219=38.81.163.143 +author:1596460519=jrmu +diff:1596460519:1596460519:=1,48d0%0a%3c ====== Free bots ======%0a%3c %0a%3c Request a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%3c %0a%3c - [[irc:bots:relay|Relay bots]]%0a%3c - [[irc:bots:chatbots|Chat bots]]%0a%3c - [[irc:bots:chanbot|Channel bots]]%0a%3c - [[irc:bots:biblebot|Bible bot]]%0a%3c - [[irc:bots:http2irc|HTTP bot]]%0a%3c %0a%3c ===== Relay bot =====%0a%3c %0a%3c You can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%3c %0a%3c ==== Features: ====%0a%3c %0a%3c - Relay multiple channels on multiple networks%0a%3c - On servers you own, each channel can see 1 nick per user on other networks%0a%3c %0a%3c We are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%3c %0a%3c ===== Chat bot =====%0a%3c %0a%3c - Display the title of a posted URL%0a%3c - Read RSS feeds%0a%3c %0a%3c We are working on adding these features:%0a%3c %0a%3c - Play chess on IRC%0a%3c - Code snippet upload%0a%3c - File upload%0a%3c %0a%3c ===== Bible bot =====%0a%3c %0a%3c Study the Holy Bible.%0a%3c %0a%3c - Around 100 open/public domain translations in over 20 languages%0a%3c - Passage and verse quoting%0a%3c %0a%3c ===== HTTP bot =====%0a%3c %0a%3c This is still a work in progress (not yet ready for borrowing).%0a%3c %0a%3c A scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%3c %0a%3c - Easily create your own bots using shell scripts and curl%0a%3c - Can be used to create IRC clients that can bypass restrictive firewalls%0a%3c - Can be used to create a web IRC client%0a +host:1596460519=38.81.163.143 blob - /dev/null blob + 2f57570e8f3789f953a53cd72162dce59eed07a3 (mode 644) --- /dev/null +++ wiki.d/Bots.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1596460519 +host=38.81.163.143 +name=Bots.RecentChanges +rev=7 +text=* [[Bots/Bots]] . . . August 25, 2020, at 12:02 PM by [[~jrmu]]: [==]%0a +time=1598356978 blob - /dev/null blob + 33dbc8246687d87794b9678312f6840bf2aa7648 (mode 644) --- /dev/null +++ wiki.d/Bouncer.AdiIRC @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217839 +host=198.251.81.119 +name=Bouncer.AdiIRC +rev=2 +targets=Bouncer.Bouncer +text=(:title Connection with AdiIRC:)%0a%0a[[https://adiirc.com/|AdiIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%0aType this inside an AdiIRC window:%0a%0a[@%0a/server -m example.ircnow.org +31337 username/network:password%0a@]%0a%0aReplace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%0aFor example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%0a[@%0a/server -m example.ircnow.org +31337 john/ircnow:abcde12345%0a@] +time=1606218140 +title=Connection with AdiIRC +author:1606218140=jrmu +diff:1606218140:1606217839:=3,17c3%0a%3c [[https://adiirc.com/|AdiIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c Type this inside an AdiIRC window:%0a%3c %0a%3c [@%0a%3c /server -m example.ircnow.org +31337 username/network:password%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a%3c [@%0a%3c /server -m example.ircnow.org +31337 john/ircnow:abcde12345%0a%3c @]%0a\ No newline at end of file%0a---%0a> [[https://adiirc.com/|AdiIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a\ No newline at end of file%0a +host:1606218140=198.251.81.119 +author:1606217839=jrmu +diff:1606217839:1606217839:=1,3d0%0a%3c (:title Connection with AdiIRC:)%0a%3c %0a%3c [[https://adiirc.com/|AdiIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a\ No newline at end of file%0a +host:1606217839=198.251.81.119 blob - /dev/null blob + 0e1cffdb8c21c4af1ac72c89597ca0da74d035af (mode 644) --- /dev/null +++ wiki.d/Bouncer.Adium @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597323214 +host=38.81.163.143 +name=Bouncer.Adium +rev=7 +targets= +text=(:title Connecting with Adium:)%0a%0a[[https://adium.im/|Adium]] is an open-source IRC client for Mac.%0a%0a# From the menu, select Preferences.\\%0aAttach:adium-preferences.png%0a# Look for the @@+@@ button at the bottom-left corner.\\%0aAttach:adium-accounts.png%0a# Add an account for @@IRC (Internet Relay Chat)@@.\\%0aAttach:adium-add.png%0a# Fill in the details:\\%0aAttach:adium-account.png%0a # @@Nickname@@: the bouncer username you registered%0a # @@Hostname@@: the bouncer server (it will look like example.ircnow.org)%0a # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.%0a# Click on the @@Personal@@ tab\\%0aAttach:adium-personal.png%0a # @@Realname@@: the bouncer username you registered%0a # @@Username (ident)@@: the bouncer username you registered%0a# Click on the @@Options@@ tab\\%0aAttach:adium-options.png%0a # @@Port@@: 31337%0a # Check @@Encrypt connection using SSL@@%0a # Click OK at the bottom-right corner.%0a# If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597582362 +title=Connecting with Adium +author:1597582362=jrmu +diff:1597582362:1597582318:=2,3d1%0a%3c %0a%3c [[https://adium.im/|Adium]] is an open-source IRC client for Mac.%0a +host:1597582362=38.81.163.143 +author:1597582318=jrmu +diff:1597582318:1597582148:= +host:1597582318=38.81.163.143 +author:1597582148=jrmu +diff:1597582148:1597581966:=13c13%0a%3c # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.%0a---%0a> # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, your password will be @@john/ircnow:abcde12345@@.%0a +host:1597582148=38.81.163.143 +author:1597581966=jrmu +diff:1597581966:1597581936:=13c13%0a%3c # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, your password will be @@john/ircnow:abcde12345@@.%0a---%0a> # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, your password will be @@john/ircnow:abcde12345@@.\\%0a22c22%0a%3c # Click OK at the bottom-right corner.%0a---%0a> # Click OK at the bottom-right corner.\\%0a +host:1597581966=38.81.163.143 +author:1597581936=jrmu +diff:1597581936:1597323608:=9c9%0a%3c # Fill in the details:\\%0a---%0a> # Fill in the nickname with the same username you registered for the bouncer. The hostname is the bouncer server you received by email (it will look like example.ircnow.org). For the password, it should have the form @@username/network:password@@. If your username is john, the network you want to connect to is ircnow, and the password is abcde12345, your password will be @@john/ircnow:abcde12345@@.\\%0a11,14c11%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # @@Hostname@@: the bouncer server (it will look like example.ircnow.org)%0a%3c # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and the password is @@abcde12345@@, your password will be @@john/ircnow:abcde12345@@.\\%0a%3c # Click on the @@Personal@@ tab\\%0a---%0a> # For realname and username, use the nickname you registered with.\\%0a16,23c13,14%0a%3c # @@Realname@@: the bouncer username you registered%0a%3c # @@Username (ident)@@: the bouncer username you registered%0a%3c # Click on the @@Options@@ tab\\%0a%3c Attach:adium-options.png%0a%3c # @@Port@@: 31337%0a%3c # Check @@Encrypt connection using SSL@@%0a%3c # Click OK at the bottom-right corner.\\%0a%3c # If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> # The port is 31337. Check @@Encrypt connection using SSL@@. Click OK at the bottom-right corner.\\%0a> Attach:adium-options.png%0a\ No newline at end of file%0a +host:1597581936=38.81.163.143 +author:1597323608=jrmu +diff:1597323608:1597323214:=3,14c3%0a%3c # From the menu, select Preferences.\\%0a%3c Attach:adium-preferences.png%0a%3c # Look for the @@+@@ button at the bottom-left corner.\\%0a%3c Attach:adium-accounts.png%0a%3c # Add an account for @@IRC (Internet Relay Chat)@@.\\%0a%3c Attach:adium-add.png%0a%3c # Fill in the nickname with the same username you registered for the bouncer. The hostname is the bouncer server you received by email (it will look like example.ircnow.org). For the password, it should have the form @@username/network:password@@. If your username is john, the network you want to connect to is ircnow, and the password is abcde12345, your password will be @@john/ircnow:abcde12345@@.\\%0a%3c Attach:adium-account.png%0a%3c # For realname and username, use the nickname you registered with.\\%0a%3c Attach:adium-personal.png%0a%3c # The port is 31337. Check @@Encrypt connection using SSL@@. Click OK at the bottom-right corner.\\%0a%3c Attach:adium-options.png%0a\ No newline at end of file%0a---%0a> # From the menu, select Preferences.%0a +host:1597323608=38.81.163.143 +author:1597323214=jrmu +diff:1597323214:1597323214:=1,3d0%0a%3c (:title Connecting with Adium:)%0a%3c %0a%3c # From the menu, select Preferences.%0a +host:1597323214=38.81.163.143 blob - /dev/null blob + 93588c153db3d849e50c18e7f53bdeb12ca1ed2f (mode 644) --- /dev/null +++ wiki.d/Bouncer.All,del-1626892672 @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621071547 +host=198.251.81.119 +name=Bouncer.All +rev=4 +targets=Bouncer.ZNC,Bouncer.AdiIRC,Bouncer.Adium,Bouncer.AndroIRC,Bouncer.Atomic,Bouncer.Colloquy,Bouncer.Hexchat,Bouncer.HydraIRC,Bouncer.IRCForAndroid,Bouncer.IRCCloud,Bouncer.IRCCloudWeb,Bouncer.IRCCloudAndroid,Bouncer.IRCCloudiOS,Bouncer.IceChat,Bouncer.IrcEX,Bouncer.Irssi,Bouncer.Igloo,Bouncer.KVIrc,Bouncer.KiwiIRC,Bouncer.Limechat,Bouncer.Mibbit,Bouncer.MIRC,Bouncer.Nettalk,Bouncer.Pidgin,Bouncer.Quassel,Bouncer.Qwebirc,Bouncer.RevolutionIRC,Bouncer.SimpleIRC,Bouncer.Smuxi,Bouncer.Textual,Bouncer.Thunderbird,Bouncer.TurboIRC,Bouncer.Vision,Bouncer.WeeChat,Bouncer.XChat,Bouncer.XChatAzure,Bouncer.Yaaic +text=(:Title IRC Bouncers :)%0a%0a* helps you stay connected to IRC chat when your device are offline%0a* plays back missed messages when you connect%0a* access to unlimited IRC chat networks available (and also Telegram or Discord)%0a* provides a DDoS protected IP for your IRC chat needs, with high uptime%0a* free of charge, with free software%0a* real time support from IRCNow over live chat%0a%0aWe currently offer ZNC and psyBNC.%0a%0aTo get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a%0aHere's how to [[bouncer/ZNC|add a network on ZNC]].%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Haiku ||! Android ||! iOS ||! Web ||! License ||%0a|| [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a|| [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPLv2 ||%0a|| [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a|| [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a|| [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a|| [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a|| [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a|| [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a|| [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a|| [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a|| [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a|| [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a|| [[bouncer.Limechat|Limechat]] || || ✓ || || || || ✓ || || GPLv2 ||%0a|| [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a|| [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a|| [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a|| [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a|| [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a|| [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a|| [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a|| [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a|| [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a|| [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a|| [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a|| [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a%0a# W = Wine emulation +time=1621074298 +title=IRC Bouncers +author:1621074298=jrmu +diff:1621074298:1621074097:=19,50c19,50%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPLv2 ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2||%0a> || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a> || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a> || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a> || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a> || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a> || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a> || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a> || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a> || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a> || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a> || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a> || [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a> || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a> || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a +host:1621074298=198.251.81.119 +author:1621074097=jrmu +diff:1621074097:1621072165:=19,52c19,51%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c %0a%3c # W = Wine emulation%0a\ No newline at end of file%0a---%0a> || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPL ||%0a> || [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a> || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a> || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a> || [[bouncer.ircrc|ircrc]] || Plan9, 9front || MIT ||%0a> || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a> || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a> || [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a> || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a> || [[bouncer.Limechat|Limechat]] || || || ✓ || || || ✓ || || GPLv2 ||%0a> || [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a> || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.Quassel|Quassel]] || Windows, Mac, Linux, Haiku, Android, IOS || GPLv2 ||%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a> || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a> || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a> || [[bouncer.Vision|Vision]] || Haiku || MPL 1.1 ||%0a> || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a> || [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a +host:1621074097=198.251.81.119 +author:1621072165=mkf +csum:1621072165=added ircrc +diff:1621072165:1621071547:=29d28%0a%3c || [[bouncer.ircrc|ircrc]] || Plan9, 9front || MIT ||%0a40c39%0a%3c || [[bouncer.Quassel|Quassel]] || Windows, Mac, Linux, Haiku, Android, IOS || GPLv2 ||%0a---%0a> || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a48c47%0a%3c || [[bouncer.Vision|Vision]] || Haiku || MPL 1.1 ||%0a---%0a> || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a +host:1621072165=198.251.81.133 +author:1621071547=jrmu +diff:1621071547:1621071547:=1,50d0%0a%3c (:Title IRC Bouncers :)%0a%3c %0a%3c * helps you stay connected to IRC chat when your device are offline%0a%3c * plays back missed messages when you connect%0a%3c * access to unlimited IRC chat networks available (and also Telegram or Discord)%0a%3c * provides a DDoS protected IP for your IRC chat needs, with high uptime%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c We currently offer ZNC and psyBNC.%0a%3c %0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a%3c %0a%3c Here's how to [[bouncer/ZNC|add a network on ZNC]].%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC Clients !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Haiku ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPL ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a +host:1621071547=198.251.81.119 blob - /dev/null blob + 4ec4c8f99f295e06bd31857f7b7c388abc1a030c (mode 644) --- /dev/null +++ wiki.d/Bouncer.AndroIRC @@ -0,0 +1,64 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597142782 +host=38.81.163.143 +name=Bouncer.AndroIRC +rev=17 +targets=Bouncer.Bouncer +text=(:title Connecting with AndroIRC:)%0a%0a[[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%0a# Tap the three dots at the top right, then tap @@Settings@@.\\%0aAttach:androIRC-dots1.png%0a# Tap @@Servers@@ → (three dots) → @@New Server@@\\%0aAttach:androIRC-settings.png\\%0aAttach:androIRC-settings2.png%0a# Fill in the details:\\%0aAttach:androIRC-server1.png\\%0aAttach:androIRC-server2.png%0a # @@Name@@: the name of the network you want to connect to%0a # @@Address@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # @@Nickname@@: the bouncer username you registered%0a # Check @@Secured Connection@@%0a # Check @@Use SSL certificate@@%0a # Check @@Auto-connect@@%0a # Tap @@←@@ (back) icon at the top-left corner%0a# Tap on the @@+@@ icon to connect to your server. Select the new server from the list:\\%0aAttach:androIRC-select.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597631519 +title=Connecting with AndroIRC +author:1597631519=jrmu +diff:1597631519:1597574626:=21c21%0a%3c # Tap @@←@@ (back) icon at the top-left corner%0a---%0a> # Tap @@%3c-@@ (back) icon at the top-left corner%0a +host:1597631519=38.81.163.143 +author:1597574626=jrmu +diff:1597574626:1597488928:=24c24%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597574626=38.81.163.143 +author:1597488928=jrmu +diff:1597488928:1597488794:=22c22%0a%3c # Tap on the @@+@@ icon to connect to your server. Select the new server from the list:\\%0a---%0a> # Tap on the @@+@@ icon to add your server. Select the new server from the list:\\%0a +host:1597488928=38.81.163.143 +author:1597488794=jrmu +diff:1597488794:1597488634:=22c22,27%0a%3c # Tap on the @@+@@ icon to add your server. Select the new server from the list:\\%0a---%0a> # Tap on the @@+@@ icon to add your server. Select the new server from the list:%0a> Attach:androIRC-dots2.png%0a> Attach:androIRC-newserver.png%0a> %0a> %0a> %0a24c29,30%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597488794=38.81.163.143 +author:1597488634=jrmu +diff:1597488634:1597488589:=8c8%0a%3c Attach:androIRC-settings.png\\%0a---%0a> Attach:androIRC-settings.png%0a +host:1597488634=38.81.163.143 +author:1597488589=jrmu +diff:1597488589:1597488202:=9d8%0a%3c Attach:androIRC-settings2.png%0a +host:1597488589=38.81.163.143 +author:1597488202=jrmu +diff:1597488202:1597288364:=5c5,6%0a%3c # Tap the three dots at the top right, then tap @@Settings@@.\\%0a---%0a> # Tap the three dots at the top right, then tap @@Settings@@:%0a> %0a7d7%0a%3c # Tap @@Servers@@ → (three dots) → @@New Server@@\\%0a9,21c9,12%0a%3c # Fill in the details:\\%0a%3c Attach:androIRC-server1.png\\%0a%3c Attach:androIRC-server2.png%0a%3c # @@Name@@: the name of the network you want to connect to%0a%3c # @@Address@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # Check @@Secured Connection@@%0a%3c # Check @@Use SSL certificate@@%0a%3c # Check @@Auto-connect@@%0a%3c # Tap @@%3c-@@ (back) icon at the top-left corner%0a%3c # Tap on the @@+@@ icon to add your server. Select the new server from the list:%0a---%0a> %0a> # Tap @@Servers@@ → (three dots) → @@New Server@@%0a> %0a> Attach:androIRC-server.png%0a25c16,23%0a%3c %0a---%0a> # Name: name (such as IRCNow)%0a> # Address: server (such as example.ircnow.org)%0a> # Port: 31337%0a> # Password: username/network:password (for example, user123/ircnow:password)%0a> # Nickname: username%0a> # Check @@Secured Connection@@%0a> # Tap @@Back@@ icon%0a> # Tap on the @@+@@ icon to add your server. Select the new server from the list:%0a +host:1597488202=38.81.163.143 +author:1597288364=jrmu +diff:1597288364:1597144398:=25,27c25%0a%3c Attach:androIRC-select.png%0a%3c %0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Attach:androIRC-select.png%0a\ No newline at end of file%0a +host:1597288364=38.81.163.143 +author:1597144398=jrmu +diff:1597144398:1597144321:=22a23%0a> %0a +host:1597144398=38.81.163.143 +author:1597144321=jrmu +diff:1597144321:1597144266:=16,17c16,17%0a%3c # Name: name (such as IRCNow)%0a%3c # Address: server (such as example.ircnow.org)%0a---%0a> # Name: Network Name%0a> # Address: Server (such as example.ircnow.org)%0a +host:1597144321=38.81.163.143 +author:1597144266=jrmu +diff:1597144266:1597144121:=10c10%0a%3c # Tap @@Servers@@ → (three dots) → @@New Server@@%0a---%0a> # Tap @@Servers@@ → @@Settings@@ → @@New Server@@%0a +host:1597144266=38.81.163.143 +author:1597144121=jrmu +diff:1597144121:1597144112:=26c26,27%0a%3c Attach:androIRC-select.png%0a\ No newline at end of file%0a---%0a> Attach:androIRC-select.png%0a> %0a +host:1597144121=38.81.163.143 +author:1597144112=jrmu +diff:1597144112:1597143979:=3,4c3,4%0a%3c [[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a---%0a> AndroIRC is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a> %0a24,25c24,25%0a%3c # Tap on the @@+@@ icon to add your server. Select the new server from the list:%0a%3c %0a---%0a> # Click on the **+** sign to add your server and select the server from the list **(e.g: Ircnow)** \\%0a> %0a27a28,31%0a> Voila, that's it. You'll automatically connected to the server and you can join channels from here using **/J #Channel name or /Join #Channel name**.%0a> Hope the tutorial helps you to connect ZNC using AndroIRC without hassles. \\%0a> %0a> [[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]]%0a\ No newline at end of file%0a +host:1597144112=38.81.163.143 +author:1597143979=jrmu +diff:1597143979:1597143787:=26c26%0a%3c Attach:androIRC-select.png%0a---%0a> {{ :playground:androirc_007.jpg?nolink&400 |}} \\%0a +host:1597143979=38.81.163.143 +author:1597143787=jrmu +diff:1597143787:1597142811:=3,4d2%0a%3c AndroIRC is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a16,22c14,26%0a%3c # Name: Network Name%0a%3c # Address: Server (such as example.ircnow.org)%0a%3c # Port: 31337%0a%3c # Password: username/network:password (for example, user123/ircnow:password)%0a%3c # Nickname: username%0a%3c # Check @@Secured Connection@@%0a%3c # Tap @@Back@@ icon%0a---%0a> Here we'll fill out the connection and authentication settings with our ZNC credentials \\%0a> %0a> **__Step 4:__** \\%0a> %0a> - You Can Set the **Name** to whatever you want **(e.g: Ircnow)** \\%0a> - The **Address** is the host name from the credentials **(e.g: us9.ircnow.org)** \\%0a> - The **Port** is the port from credentials **(e.g: 31337)** \\%0a> - The **Password** is the server password **(e.g: Username/Network:Password | Siva/Ircnow:Password)** \\%0a> - You can set your preferred **Nickname (e.g Siva)** \\%0a> - You can set your **Alternative** Nickname or Leave it blank **(e.g: Siva-)** \\%0a> - **Ident** is usually **Username** from credentials, you can change them in your ZNC web panel \\%0a> - Make sure that **Secured Connection** is Checked \\%0a> - Ignore the rest and select **Back** Icon \\%0a24,25c28,31%0a%3c # Click on the **+** sign to add your server and select the server from the list **(e.g: Ircnow)** \\%0a%3c %0a---%0a> **__Step 5:__** \\%0a> %0a> Click on the **+** sign to add your server and select the server from the list **(e.g: Ircnow)** \\%0a> %0a31c37,44%0a%3c [[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]]%0a\ No newline at end of file%0a---%0a> %0a> You can download: \\%0a> %0a> [[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]] \\%0a> %0a> [[https://play.google.com/store/apps/details?id=com.androirc.premium|AndroIRC Premium (Paid Version) ]]%0a> %0a> --- //[[the.official.st4lker@gmail.com|Siva]] 2019/11/08 04:31//%0a +host:1597143787=38.81.163.143 +author:1597142811=jrmu +diff:1597142811:1597142782:=4d3%0a%3c %0a7d5%0a%3c %0a9d6%0a%3c %0a +host:1597142811=38.81.163.143 +author:1597142782=jrmu +diff:1597142782:1597142782:=1,41d0%0a%3c (:title Connecting with AndroIRC:)%0a%3c %0a%3c # Tap the three dots at the top right, then tap @@Settings@@:%0a%3c Attach:androIRC-dots1.png%0a%3c Attach:androIRC-settings.png%0a%3c # Tap @@Servers@@ → @@Settings@@ → @@New Server@@%0a%3c Attach:androIRC-server.png%0a%3c Attach:androIRC-dots2.png%0a%3c Attach:androIRC-newserver.png%0a%3c %0a%3c Here we'll fill out the connection and authentication settings with our ZNC credentials \\%0a%3c %0a%3c **__Step 4:__** \\%0a%3c %0a%3c - You Can Set the **Name** to whatever you want **(e.g: Ircnow)** \\%0a%3c - The **Address** is the host name from the credentials **(e.g: us9.ircnow.org)** \\%0a%3c - The **Port** is the port from credentials **(e.g: 31337)** \\%0a%3c - The **Password** is the server password **(e.g: Username/Network:Password | Siva/Ircnow:Password)** \\%0a%3c - You can set your preferred **Nickname (e.g Siva)** \\%0a%3c - You can set your **Alternative** Nickname or Leave it blank **(e.g: Siva-)** \\%0a%3c - **Ident** is usually **Username** from credentials, you can change them in your ZNC web panel \\%0a%3c - Make sure that **Secured Connection** is Checked \\%0a%3c - Ignore the rest and select **Back** Icon \\%0a%3c %0a%3c **__Step 5:__** \\%0a%3c %0a%3c Click on the **+** sign to add your server and select the server from the list **(e.g: Ircnow)** \\%0a%3c %0a%3c {{ :playground:androirc_007.jpg?nolink&400 |}} \\%0a%3c %0a%3c Voila, that's it. You'll automatically connected to the server and you can join channels from here using **/J #Channel name or /Join #Channel name**.%0a%3c Hope the tutorial helps you to connect ZNC using AndroIRC without hassles. \\%0a%3c %0a%3c %0a%3c You can download: \\%0a%3c %0a%3c [[https://play.google.com/store/apps/details?id=com.androirc|AndroIRC]] \\%0a%3c %0a%3c [[https://play.google.com/store/apps/details?id=com.androirc.premium|AndroIRC Premium (Paid Version) ]]%0a%3c %0a%3c --- //[[the.official.st4lker@gmail.com|Siva]] 2019/11/08 04:31//%0a +host:1597142782=38.81.163.143 blob - /dev/null blob + a8e1927393cae2bc9522ce8fe8a9770c88a9fce6 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Atomic @@ -0,0 +1,45 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko +author=mkf +charset=UTF-8 +csum=spacing +ctime=1597457698 +host=88.208.209.208 +name=Bouncer.Atomic +rev=10 +targets= +text=(:title Connecting with Atomic:)%0a'''Warning: due to using IRCv3 in ZNC, it's not possible to connect to ZNC using recent versions of atomic. please use v1.14, or another irc client.'''%0a%0a[[https://papertape.zaibatsutel.net/Atomic/|Atomic]] is an open-source IRC client for Android.%0a%0a# Tap @@Add server@@.\\%0aAttach:atomic-home.png%0a# Fill in the details:\\%0aAttach:atomic-server.png%0a # @@Title@@: the name of the network you want to connect to.%0a # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Check @@Use SSL@@%0a # Check @@Auto connect on startup@@%0a # @@Nickname@@: the bouncer username you registered%0a # @@Real Name@@: any name is fine.%0a # Tap on @@Save@@ at the bottom-right corner%0a# Tap on the network to connect.\\%0aAttach:atomic-home2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1621869775 +title=Connecting with Atomic +author:1621869775=mkf +csum:1621869775=spacing +diff:1621869775:1621869758:=3d2%0a%3c %0a +host:1621869775=88.208.209.208 +author:1621869758=mkf +csum:1621869758=mentioned last good version(?) which works. +diff:1621869758:1597631721:=2c2%0a%3c '''Warning: due to using IRCv3 in ZNC, it's not possible to connect to ZNC using recent versions of atomic. please use v1.14, or another irc client.'''%0a---%0a> %0a +host:1621869758=88.208.209.208 +author:1597631721=jrmu +diff:1597631721:1597575739:=16c16%0a%3c # @@Real Name@@: any name is fine.%0a---%0a> # @@Real name@@: any name is fine.%0a +host:1597631721=38.81.163.143 +author:1597575739=jrmu +diff:1597575739:1597575712:= +host:1597575739=38.81.163.143 +author:1597575712=jrmu +diff:1597575712:1597574804:=2,3d1%0a%3c %0a%3c [[https://papertape.zaibatsutel.net/Atomic/|Atomic]] is an open-source IRC client for Android.%0a +host:1597575712=38.81.163.143 +author:1597574804=jrmu +diff:1597574804:1597574780:=15c15%0a%3c # Tap on @@Save@@ at the bottom-right corner%0a---%0a> # Tap on @@Save@@ at the bottom-left corner%0a +host:1597574804=38.81.163.143 +author:1597574780=jrmu +diff:1597574780:1597458784:=17,18c17%0a%3c Attach:atomic-home2.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Attach:atomic-home2.png%0a\ No newline at end of file%0a +host:1597574780=38.81.163.143 +author:1597458784=jrmu +diff:1597458784:1597457757:=10c10%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a---%0a> # @@ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a +host:1597458784=38.81.163.143 +author:1597457757=jrmu +diff:1597457757:1597457698:=6c6%0a%3c Attach:atomic-server.png%0a---%0a> Attach:atomic-server.png\\%0a +host:1597457757=38.81.163.143 +author:1597457698=jrmu +diff:1597457698:1597457698:=1,17d0%0a%3c (:title Connecting with Atomic:)%0a%3c %0a%3c # Tap @@Add server@@.\\%0a%3c Attach:atomic-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:atomic-server.png\\%0a%3c # @@Title@@: the name of the network you want to connect to.%0a%3c # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # @@ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Check @@Use SSL@@%0a%3c # Check @@Auto connect on startup@@%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # @@Real name@@: any name is fine.%0a%3c # Tap on @@Save@@ at the bottom-left corner%0a%3c # Tap on the network to connect.\\%0a%3c Attach:atomic-home2.png%0a\ No newline at end of file%0a +host:1597457698=38.81.163.143 blob - /dev/null blob + f74999f5ec330d73ffd4fbe4b2ed42c2809023f0 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Bouncer @@ -0,0 +1,375 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +author=mkf +charset=UTF-8 +csum=Hydra IRC is too old. +ctime=1596460594 +host=2.178.173.183 +name=Bouncer.Bouncer +rev=116 +targets=Bouncer.ZNC,Bouncer.AdiIRC,Bouncer.Adium,Bouncer.AndroIRC,Bouncer.Atomic,Bouncer.Colloquy,Bouncer.Hexchat,Bouncer.IRCForAndroid,Bouncer.IRCCloud,Bouncer.IRCCloudWeb,Bouncer.IRCCloudAndroid,Bouncer.IRCCloudiOS,Bouncer.IceChat,Bouncer.IrcEX,Bouncer.Irssi,Bouncer.Igloo,Bouncer.KiwiIRC,Bouncer.Konversation,Bouncer.KVIrc,Bouncer.Limechat,Bouncer.Mibbit,Bouncer.MIRC,Bouncer.Pidgin,Bouncer.Quassel,Bouncer.RevolutionIRC,Bouncer.SimpleIRC,Bouncer.Smuxi,Bouncer.Textual,Bouncer.Thunderbird,Bouncer.TurboIRC,Bouncer.WeeChat,Bouncer.WinIRC,Bouncer.XChat,Bouncer.XChatAzure,Bouncer.Yaaic +text=(:Title IRC Bouncers :)%0a%0a* Stay connected to IRC chat when your device is offline%0a* Play back missed messages when you connect%0a* Access unlimited IRC chat networks (with bridges to Telegram or Discord)%0a* Get a DDoS-protected IP%0a%0aIt's free of charge running free software with real time support from IRCNow staff.%0a%0aTo get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. Then, type [@!bnc@] for a free bouncer.%0a%0aHere's how to [[bouncer/ZNC|add a network on ZNC]].%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a|| [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a|| [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a|| [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a|| [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a|| [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a|| [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a|| [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a|| [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a|| [[bouncer.Konversation|Konversation]] || ✓ || || ✓ || || || || GPLv2 ||%0a|| [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a|| [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a|| [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a|| [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a|| [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a|| [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a|| [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a|| [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a|| [[bouncer.WinIRC|WinIRC]] || ✓ || || || || || || MIT ||%0a|| [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPLv2 ||%0a|| [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a%0a# W = Wine emulation +time=1628952085 +title=IRC Bouncers +author:1628952085=mkf +csum:1628952085=Hydra IRC is too old. +diff:1628952085:1628952007:=21a22%0a> || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a +host:1628952085=2.178.173.183 +author:1628952007=mkf +csum:1628952007=nettalk can't use ssl/tls. +diff:1628952007:1628597215:=34a35%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || Apache 2.0 ||%0a +host:1628952007=2.178.173.183 +author:1628597215=mkf +diff:1628597215:1628488456:=14a15%0a> ||! IRC Clients !||%0a43a45%0a> || [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a +host:1628597215=198.251.81.133 +author:1628488456=mkf +csum:1628488456=WinIRC +diff:1628488456:1626893302:=47d46%0a%3c || [[bouncer.WinIRC|WinIRC]] || ✓ || || || || || || MIT ||%0a +host:1628488456=103.208.220.198 +author:1626893302=mkf +csum:1626893302=removed qwebirc: doesn't support adding server by user +diff:1626893302:1626892720:=15c15%0a%3c ||! IRC Clients !||%0a---%0a> ||! IRC Clients ([[bouncer/all|Complete List]]) !||%0a38a39%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || GPLv2 ||%0a +host:1626893302=188.210.102.116 +author:1626892720=mkf +diff:1626892720:1622784586:=6c6%0a%3c * Get a DDoS-protected IP%0a---%0a> * Get a DDoS protected IP%0a +host:1626892720=188.210.102.116 +author:1622784586=jrmu +diff:1622784586:1622179157:=3,8c3,10%0a%3c * Stay connected to IRC chat when your device is offline%0a%3c * Play back missed messages when you connect%0a%3c * Access unlimited IRC chat networks (with bridges to Telegram or Discord)%0a%3c * Get a DDoS protected IP%0a%3c %0a%3c It's free of charge running free software with real time support from IRCNow staff.%0a---%0a> * helps you stay connected to IRC chat when your device are offline%0a> * plays back missed messages when you connect%0a> * access to unlimited IRC chat networks available (and also Telegram or Discord)%0a> * provides a DDoS protected IP for your IRC chat needs, with high uptime%0a> * free of charge, with free software%0a> * real time support from IRCNow over live chat%0a> %0a> We currently offer ZNC and psyBNC.%0a +host:1622784586=125.231.28.9 +author:1622179157=mkf +csum:1622179157=added Konverstion +diff:1622179157:1621336681:=31a32%0a> || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a33,34d33%0a%3c || [[bouncer.Konversation|Konversation]] || ✓ || || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a +host:1622179157=5.238.176.17 +author:1621336681=mkf +diff:1621336681:1621333942:=37c37%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || Apache 2.0 ||%0a---%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a40c40%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || GPLv2 ||%0a---%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a +host:1621336681=80.210.48.116 +author:1621333942=mkf +diff:1621333942:1621333719:minor=12c12%0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. Then, type [@!bnc@] for a free bouncer.%0a---%0a> To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. . Then, type !bnc for a free bouncer.%0a +host:1621333942=80.210.48.116 +author:1621333719=mkf +diff:1621333719:1621071900:=12c12%0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. . Then, type !bnc for a free bouncer.%0a---%0a> To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a +host:1621333719=80.210.48.116 +author:1621071900=jrmu +diff:1621071900:1621071883:=17c17%0a%3c ||! IRC Clients ([[bouncer/all|Complete List]]) !||%0a---%0a> ||! IRC Clients ([[bouncer/all|Complete List]] !||%0a +host:1621071900=198.251.81.119 +author:1621071883=jrmu +diff:1621071883:1621071187:=17c17%0a%3c ||! IRC Clients ([[bouncer/all|Complete List]] !||%0a---%0a> ||! IRC Clients !||%0a +host:1621071883=198.251.81.119 +author:1621071187=mkf +diff:1621071187:1621071106:=18c18%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a---%0a> ||! Name ||! Windows ||! Mac ||! Linux ||! Haiku ||! Android ||! iOS ||! Web ||! License ||%0a20c20%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a---%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2||%0a49c49%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPLv2 ||%0a---%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a +host:1621071187=198.251.81.133 +author:1621071106=mkf +csum:1621071106=removed haiku +diff:1621071106:1620896828:=19,52c19,52%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c %0a%3c # W = Wine emulation%0a\ No newline at end of file%0a---%0a> || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPLv2 ||%0a> || [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a> || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a> || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a> || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a> || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a> || [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a> || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a> || [[bouncer.Limechat|Limechat]] || || ✓ || || || || ✓ || || GPLv2 ||%0a> || [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a> || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a> || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a> || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a> || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a> || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a> || [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a> %0a> # W = Wine emulation %0a\ No newline at end of file%0a +host:1621071106=198.251.81.133 +author:1620896828=mkf +csum:1620896828=corrected limechat, added license to adium +diff:1620896828:1620896723:=20c20%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPLv2 ||%0a---%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPL ||%0a34c34%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || || ✓ || || GPLv2 ||%0a---%0a> || [[bouncer.Limechat|Limechat]] || || || ✓ || || || ✓ || || GPLv2 ||%0a +host:1620896828=2.178.143.250 +author:1620896723=mkf +csum:1620896723=added vision client +diff:1620896723:1620896638:=46,47c46,47%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a---%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓|| || ? ||%0a> || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a +host:1620896723=2.178.143.250 +author:1620896638=mkf +csum:1620896638=added vision client +diff:1620896638:1620896448:=46,47c46%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓|| || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || ✓ || || || || MPL 1.1 ||%0a---%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a +host:1620896638=2.178.143.250 +author:1620896448=mkf +csum:1620896448=added Haiku OS +diff:1620896448:1620895722:=19,51c19,51%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || || GPL ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || ✓ || ✓ || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || || ? ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || || ✓ || ? ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || ✓ || || ? ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || || Proprietary/GPL ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || || ✓ || || || GPLv3 ||%0a%3c %0a%3c # W = Wine emulation %0a\ No newline at end of file%0a---%0a> || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPL ||%0a> || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a> || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a> || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a> || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a> || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a> || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a> || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a> || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a> || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a> || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a> || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a> || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a> || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a> %0a> # W = Wine emulation%0a\ No newline at end of file%0a +host:1620896448=2.178.143.250 +author:1620895722=mkf +csum:1620895722=moved Yaaic under the Xchat +diff:1620895722:1620895390:minor= +host:1620895722=2.178.143.250 +author:1620895390=mkf +csum:1620895390=moved Yaaic under the Xchat +diff:1620895390:1608474857:minor=18c18%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Haiku ||! Android ||! iOS ||! Web ||! License ||%0a---%0a> ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a48d47%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a50c49%0a%3c %0a---%0a> || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a +host:1620895390=2.178.143.250 +author:1608474857=jrmu +diff:1608474857:1606913067:=14c14%0a%3c Here's how to [[bouncer/ZNC|add a network on ZNC]].%0a---%0a> Here's how to [[bouncer/znc|add a network on ZNC]].%0a +host:1608474857=38.81.163.7 +author:1606913067=jrmu +diff:1606913067:1606913039:=48c48%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a +host:1606913067=198.251.81.119 +author:1606913039=jrmu +diff:1606913039:1606912290:=47c47%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a---%0a> || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a +host:1606913039=198.251.81.119 +author:1606912290=jrmu +diff:1606912290:1606912189:=42c42%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a +host:1606912290=198.251.81.119 +author:1606912189=jrmu +diff:1606912189:1606218721:=35c35%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a---%0a> || [[bouncer.mibbit|mibbit]] || || || || || || ✓ || Proprietary ||%0a +host:1606912189=198.251.81.119 +author:1606218721=jrmu +diff:1606218721:1606217078:=27c27%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a---%0a> || [[bouncer.IRCCloudWeb|IRCCloud Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a +host:1606218721=198.251.81.119 +author:1606217078=jrmu +diff:1606217078:1606216753:=28c28%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a---%0a> || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a31,34c31,34%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a---%0a> || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a> || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a> || [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a38,39c38,39%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a---%0a> || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a41c41%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a44,45c44,45%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a---%0a> || [[bouncer.textual|Textual]] || || ✓ || || || || || Proprietary ||%0a> || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a49c49%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a---%0a> || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a +host:1606217078=198.251.81.119 +author:1606216753=jrmu +diff:1606216753:1606216631:=27c27%0a%3c || [[bouncer.IRCCloudWeb|IRCCloud Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Apache 2.0 / Proprietary ||%0a +host:1606216753=198.251.81.119 +author:1606216631=jrmu +diff:1606216631:1598271366:=19,25c19,25%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPL ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a---%0a> || [[bouncer.adiirc|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a> || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.hydrairc|HydraIRC]] || || || || || || || ? ||%0a +host:1606216631=198.251.81.119 +author:1598271366=jrmu +diff:1598271366:1597899666:=27c27%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Apache 2.0 / Proprietary ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Proprietary ||%0a +host:1598271366=38.81.163.143 +author:1597899666=gry +csum:1597899666=+ +diff:1597899666:1597899548:=7,8d6%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a +host:1597899666=203.129.25.247 +author:1597899548=gry +csum:1597899548=clarified +diff:1597899548:1597648322:=3,6c3%0a%3c * helps you stay connected to IRC chat when your device are offline%0a%3c * plays back missed messages when you connect%0a%3c * access to unlimited IRC chat networks available (and also Telegram or Discord)%0a%3c * provides a DDoS protected IP for your IRC chat needs, with high uptime%0a---%0a> An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on '''unlimited IRC networks''' and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a +host:1597899548=203.129.25.247 +author:1597648322=jrmu +diff:1597648322:1597638914:=14,15c14,15%0a%3c || [[bouncer.adiirc|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Proprietary ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a16a17%0a> || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a18c19,20%0a%3c || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a> || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a20,24c22%0a%3c || [[bouncer.hydrairc|HydraIRC]] || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Proprietary ||%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a---%0a> || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a26,27c24%0a%3c || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a29a27,30%0a> || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.textual|Textual]] || || ✓ || || || || || Proprietary ||%0a> || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a31,33d31%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a%3c || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a34a33,40%0a> || [[bouncer.adiirc|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a> || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a> || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a> || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a> || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a36,40c42%0a%3c || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.textual|Textual]] || || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a---%0a> || [[bouncer.hydrairc|HydraIRC]] || || || || || || || ? ||%0a42,44c44%0a%3c || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a---%0a> || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a +host:1597648322=38.81.163.143 +author:1597638914=jrmu +diff:1597638914:1597580775:=15c15%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a---%0a> || [[bouncer.mIRC|mIRC]] || ✓ || || || || || || Proprietary ||%0a +host:1597638914=38.81.163.143 +author:1597580775=jrmu +diff:1597580775:1597572728:=37c37%0a%3c || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a---%0a> || [[bouncer.xchat|XChat]] || ✓ || [[bouncer.xchat|✓]] || ✓ || || || || Proprietary/GPL ||%0a +host:1597580775=38.81.163.143 +author:1597572728=jrmu +diff:1597572728:1597572717:= +host:1597572728=38.81.163.143 +author:1597572717=jrmu +diff:1597572717:1597572680:=44c44%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a---%0a> || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || ? ||%0a +host:1597572717=38.81.163.143 +author:1597572680=jrmu +diff:1597572680:1597572507:=43,44c43,44%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || ✓ || ? ||%0a---%0a> || [[bouncer.turboIRC|turboIRC]] || || || || || || || ? ||%0a> || [[bouncer.ircEX|ircEX]] || || || || || || || ? ||%0a +host:1597572680=38.81.163.143 +author:1597572507=jrmu +diff:1597572507:1597572285:=39c39%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || ? ||%0a +host:1597572507=38.81.163.143 +author:1597572285=jrmu +diff:1597572285:1597571268:=39c39%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || ? ||%0a---%0a> || [[bouncer.simpleirc|simpleirc]] || || || || || || || ? ||%0a +host:1597572285=38.81.163.143 +author:1597571268=jrmu +diff:1597571268:1597570984:=38c38%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.smuxi|smuxi]] || || || || || || || ? ||%0a +host:1597571268=38.81.163.143 +author:1597570984=jrmu +diff:1597570984:1597570609:=37c37%0a%3c || [[bouncer.xchat|XChat]] || ✓ || [[bouncer.xchat|✓]] || ✓ || || || || Proprietary/GPL ||%0a---%0a> || [[bouncer.xchat|XChat Azure]] || ✓ || ✓ || ✓ || || || || Proprietary/GPL ||%0a +host:1597570984=38.81.163.143 +author:1597570609=jrmu +diff:1597570609:1597570531:=35c35%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a---%0a> || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPL ||%0a45c45,46%0a%3c # W = Wine emulation%0a\ No newline at end of file%0a---%0a> %0a> * W = Wine emulation%0a\ No newline at end of file%0a +host:1597570609=38.81.163.143 +author:1597570531=jrmu +diff:1597570531:1597570106:=35c35%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPL ||%0a---%0a> || [[bouncer.icechat|IceChat]] || ✓ || || || || || || GPL ||%0a44,46c44%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || || ? ||%0a%3c %0a%3c * W = Wine emulation%0a\ No newline at end of file%0a---%0a> || [[bouncer.ircEX|ircEX]] || || || || || || || ? ||%0a\ No newline at end of file%0a +host:1597570531=38.81.163.143 +author:1597570106=jrmu +diff:1597570106:1597569873:=14,16c14,16%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || || || || || || Proprietary ||%0a%3c || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a> || [[bouncer.mIRC|mIRC]] || ✓ || || || || || || Not free ||%0a> || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || || Not free ||%0a28c28%0a%3c || [[bouncer.textual|Textual]] || || ✓ || || || || || Proprietary ||%0a---%0a> || [[bouncer.textual|Textual]] || || ✓ || || || || || Not free ||%0a30,31c30,31%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.mibbit|mibbit]] || || || || || || ✓ || Proprietary ||%0a---%0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || Not free ||%0a> || [[bouncer.mibbit|mibbit]] || || || || || || ✓ || No ||%0a33c33%0a%3c || [[bouncer.adiirc|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a---%0a> || [[bouncer.adiirc|AdiIRC]] || ✓ || || || || || || Not free ||%0a36,37c36,37%0a%3c || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.xchat|XChat Azure]] || ✓ || ✓ || ✓ || || || || Proprietary/GPL ||%0a---%0a> || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Not free ||%0a> || [[bouncer.xchat|XChat Azure]] || ✓ || ✓ || ✓ || || || || Not free/GPL ||%0a +host:1597570106=38.81.163.143 +author:1597569873=jrmu +diff:1597569873:1597569476:=30c30,31%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || Not free ||%0a---%0a> %0a> || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a +host:1597569873=38.81.163.143 +author:1597569476=jrmu +diff:1597569476:1597569078:=26a27%0a> %0a30d30%0a%3c %0a38c38%0a%3c || [[bouncer.xchat|XChat Azure]] || ✓ || ✓ || ✓ || || || || Not free/GPL ||%0a---%0a> || [[bouncer.xchat|XChat Azure]] || ✓ || || || || || || Not free/GPL ||%0a +host:1597569476=38.81.163.143 +author:1597569078=jrmu +diff:1597569078:1597568985:=38c38%0a%3c || [[bouncer.xchat|XChat Azure]] || ✓ || || || || || || Not free/GPL ||%0a---%0a> || [[bouncer.xchat|XChat Azure]] || ✓ || || || || || || Not free ||%0a +host:1597569078=38.81.163.143 +author:1597568985=jrmu +diff:1597568985:1597568806:=25,27c25,26%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c %0a---%0a> || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache ||%0a> || [[bouncer.limechat|Limechat]] || || ✓ || || || || || GPLv2 ||%0a +host:1597568985=38.81.163.143 +author:1597568806=jrmu +diff:1597568806:1597568785:= +host:1597568806=38.81.163.143 +author:1597568785=jrmu +diff:1597568785:1597568068:= +host:1597568785=38.81.163.143 +author:1597568068=jrmu +diff:1597568068:1597568026:=17,18c17,18%0a%3c || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[bouncer.yaaic|yaaic]] || || || || || || || GPLv3 ||%0a> || [[bouncer.atomic|Atomic]] || || || || || || || ? ||%0a +host:1597568068=38.81.163.143 +author:1597568026=jrmu +diff:1597568026:1597566791:=17c17%0a%3c || [[bouncer.yaaic|yaaic]] || || || || || || || GPLv3 ||%0a---%0a> || [[bouncer.yaaic|yaaic]] || || || || || || || ? ||%0a +host:1597568026=38.81.163.143 +author:1597566791=jrmu +diff:1597566791:1597490106:=11c11%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25%0a +host:1597566791=38.81.163.143 +author:1597490106=jrmu +diff:1597490106:1597468895:=16a17%0a> || [[bouncer.andchat|AndChat]] || || || || ✓ || || || Not free ||%0a30c31%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a---%0a> || [[bouncer.irc4android|irc4android]] || || || || ✓ || || || ? ||%0a +host:1597490106=38.81.163.143 +author:1597468895=jrmu +diff:1597468895:1597468838:=14c14%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudios|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudiod|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a +host:1597468895=38.81.163.143 +author:1597468838=jrmu +diff:1597468838:1597468760:=14c14%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloudandroid|Android]] [[bouncer.irccloudiod|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloud|Android]] [[bouncer.irccloud|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a +host:1597468838=38.81.163.143 +author:1597468760=jrmu +diff:1597468760:1597468045:= +host:1597468760=38.81.163.143 +author:1597468045=jrmu +diff:1597468045:1597467998:=14c14%0a%3c || [[bouncer.irccloud|IRCCloud Web]] [[bouncer.irccloud|Android]] [[bouncer.irccloud|iOS]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a +host:1597468045=38.81.163.143 +author:1597467998=jrmu +diff:1597467998:1597462092:=14c14%0a%3c || [[bouncer.irccloud|IRCCloud]] || || || || [[bouncer.irccloudandroid|✓]] || [[bouncer.irccloudios|✓]] || [[bouncer.irccloud|✓]] || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] [[bouncer.irccloudios|IRCCloud iOS]] [[bouncer.irccloudandroid|IRCCloud Android]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597467998=38.81.163.143 +author:1597462092=jrmu +diff:1597462092:1597457585:=14c14%0a%3c || [[bouncer.irccloud|IRCCloud]] [[bouncer.irccloudios|IRCCloud iOS]] [[bouncer.irccloudandroid|IRCCloud Android]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597462092=38.81.163.143 +author:1597457585=jrmu +diff:1597457585:1597415195:=19d18%0a%3c || [[bouncer.atomic|Atomic]] || || || || || || || ? ||%0a +host:1597457585=38.81.163.143 +author:1597415195=jrmu +diff:1597415195:1597413402:=43,44d42%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || || || ? ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || || || ? ||%0a\ No newline at end of file%0a +host:1597415195=38.81.163.143 +author:1597413402=jrmu +diff:1597413402:1597412260:=18d17%0a%3c || [[bouncer.yaaic|yaaic]] || || || || || || || ? ||%0a +host:1597413402=38.81.163.143 +author:1597412260=jrmu +diff:1597412260:1597412159:=41c41%0a%3c || [[bouncer.hydrairc|HydraIRC]] || || || || || || || ? ||%0a---%0a> %0a +host:1597412260=38.81.163.143 +author:1597412159=jrmu +diff:1597412159:1597411521:=36c36%0a%3c || [[bouncer.xchat|XChat Azure]] || ✓ || || || || || || Not free ||%0a---%0a> || [[bouncer.xchat|XChat]] || ✓ || || || || || || Not free ||%0a39d38%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || ? ||%0a +host:1597412159=38.81.163.143 +author:1597411521=jrmu +diff:1597411521:1597407032:=17d16%0a%3c || [[bouncer.andchat|AndChat]] || || || || ✓ || || || Not free ||%0a +host:1597411521=38.81.163.143 +author:1597407032=jrmu +diff:1597407032:1597401849:=37d36%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || || || || ? ||%0a +host:1597407032=38.81.163.143 +author:1597401849=jrmu +diff:1597401849:1597389868:=36d35%0a%3c || [[bouncer.smuxi|smuxi]] || || || || || || || ? ||%0a +host:1597401849=38.81.163.143 +author:1597389868=jrmu +diff:1597389868:1597389037:=33c33%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || || || || || || GPL ||%0a---%0a> || [[bouncer.icechat|IceChat]] || || || || || || || ? ||%0a +host:1597389868=38.81.163.143 +author:1597389037=jrmu +diff:1597389037:1597371285:=32a33%0a> || [[bouncer.chatzilla|ChatZilla]] || ✓ || ✓ || ✓ || || || || ? ||%0a +host:1597389037=38.81.163.143 +author:1597371285=jrmu +diff:1597371285:1597331569:=30c30%0a%3c || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a---%0a> || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || Yes ||%0a +host:1597371285=38.81.163.143 +author:1597331569=jrmu +diff:1597331569:1597328358:=3c3%0a%3c An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on '''unlimited IRC networks''' and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a---%0a> An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on unlimited IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a +host:1597331569=38.81.163.143 +author:1597328358=jrmu +diff:1597328358:1597315251:=29c29%0a%3c || [[bouncer.mibbit|mibbit]] || || || || || || ✓ || No ||%0a---%0a> || [[bouncer.mibbit|Mibbit]] || || || || || || ✓ || No ||%0a +host:1597328358=38.81.163.143 +author:1597315251=jrmu +diff:1597315251:1597299341:=7,10c7,8%0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a%3c %0a%3c Here's how to [[bouncer/znc|add a network on ZNC]].%0a%3c %0a---%0a> To get started with a free bouncer, connect to irc.ircnow.org and /join #ircnow. Then, type !bnc for a free bouncer.%0a> %0a38a37%0a> || [[bouncer/znc|Add Network]] ||%0a\ No newline at end of file%0a +host:1597315251=38.81.163.143 +author:1597299341=jrmu +diff:1597299341:1597299316:=9c9%0a%3c || border=1 width=100%25%0a---%0a> || border=1 width=80%25%0a32c32%0a%3c || [[bouncer.icechat|IceChat]] || || || || || || || ? ||%0a---%0a> || [[bouncer.icechat|IceChat]] || || || || || || || || Yes ||%0a +host:1597299341=38.81.163.143 +author:1597299316=jrmu +diff:1597299316:1597299189:=32c32%0a%3c || [[bouncer.icechat|IceChat]] || || || || || || || || Yes ||%0a---%0a> || [[bouncer.icechat|IceChat]] || || || || || Yes ||%0a34c34%0a%3c || [[bouncer.xchat|XChat]] || ✓ || || || || || || Not free ||%0a---%0a> || [[bouncer.xchat|XChat]] || ✓ || || || || || Not free ||%0a +host:1597299316=38.81.163.143 +author:1597299189=jrmu +diff:1597299189:1597297415:=20c20%0a%3c || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a---%0a> || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a26,31c26,31%0a%3c || [[bouncer.irc4android|irc4android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.mibbit|Mibbit]] || || || || || || ✓ || No ||%0a%3c || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || Yes ||%0a%3c || [[bouncer.adiirc|AdiIRC]] || ✓ || || || || || || Not free ||%0a%3c || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a%3c || [[bouncer.chatzilla|ChatZilla]] || ✓ || ✓ || ✓ || || || || ? ||%0a---%0a> || [[bouncer.irc4android|irc4android]] || || || || ||%0a> || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || No ||%0a> || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || Yes ||%0a> || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || || No ||%0a> || [[bouncer.adium|Adium]] || || || || || Yes ||%0a> || [[bouncer.chatzilla|ChatZilla]] || || || || || Yes ||%0a33,35c33,38%0a%3c || [[bouncer.igloo|Igloo]] || || ✓ || || || ✓ || || Not free ||%0a%3c || [[bouncer.xchat|XChat]] || ✓ || || || || || Not free ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || ? ||%0a---%0a> || [[bouncer.igloo|Igloo]] || || || || || No ||%0a> || [[bouncer.igloo|Igloo]] || || || || || No ||%0a> || [[bouncer.xchat|XChat]] ||%0a> || [[bouncer.limechat||LimeChat]] ||%0a> || [[bouncer.quassel|Quassel]] ||%0a> || [[bouncer.qwebirc|qwebirc]] ||%0a +host:1597299189=38.81.163.143 +author:1597297415=jrmu +diff:1597297415:1597297269:=25,26c25,26%0a%3c || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.irc4android|irc4android]] || || || || ||%0a---%0a> || [[bouncer.revolutionirc|Revolution IRC]] || || ||%0a> || || || || [[bouncer.irc4android|irc4android]] || || ||%0a +host:1597297415=38.81.163.143 +author:1597297269=jrmu +diff:1597297269:1597296797:=24,25c24,25%0a%3c || [[bouncer.textual|Textual]] || || ✓ || || || || || Not free ||%0a%3c || [[bouncer.revolutionirc|Revolution IRC]] || || ||%0a---%0a> || [[bouncer.textual|Textual]] || || || || ||%0a> || || || || [[bouncer.revolutionirc|Revolution IRC]] || || ||%0a +host:1597297269=38.81.163.143 +author:1597296797=jrmu +diff:1597296797:1597296567:=23,24c23,24%0a%3c || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.textual|Textual]] || || || || ||%0a---%0a> || || [[bouncer.colloquy|Colloquy]] || || || || ||%0a> || || [[bouncer.textual|Textual]] || || || || ||%0a +host:1597296797=38.81.163.143 +author:1597296567=jrmu +diff:1597296567:1597296439:=22c22%0a%3c || [[bouncer.limechat|Limechat]] || || ✓ || || || || || GPLv2 ||%0a---%0a> || [[bouncer.limechat|Limechat]] || || || || ||%0a +host:1597296567=38.81.163.143 +author:1597296439=jrmu +diff:1597296439:1597295638:=16c16%0a%3c || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2+ ||%0a18,19c18,19%0a%3c || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || Modified GPL ||%0a> || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2+ ||%0a21,22c21,22%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache ||%0a%3c || [[bouncer.limechat|Limechat]] || || || || ||%0a---%0a> || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Yes ||%0a> || || [[bouncer.limechat|Limechat]] || || || || ||%0a +host:1597296439=38.81.163.143 +author:1597295638=jrmu +diff:1597295638:1597295541:=21c21%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Yes ||%0a---%0a> || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || Yes ||%0a +host:1597295638=38.81.163.143 +author:1597295541=jrmu +diff:1597295541:1597295519:=17c17%0a%3c || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || GPLv2 ||%0a +host:1597295541=38.81.163.143 +author:1597295519=jrmu +diff:1597295519:1597294513:=17,20c17,20%0a%3c || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || GPLv2 ||%0a%3c || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || Modified GPL ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2+ ||%0a%3c || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a---%0a> || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || || || Yes ||%0a> || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || || Yes ||%0a> || || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || || Yes ||%0a> || || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || || Yes ||%0a +host:1597295519=38.81.163.143 +author:1597294513=jrmu +diff:1597294513:1597294436:=15,16c15,16%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2+ ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || Yes ||%0a> || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || || Yes ||%0a +host:1597294513=38.81.163.143 +author:1597294436=jrmu +diff:1597294436:1597294420:=15c15%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || Yes ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || Yes ||%0a +host:1597294436=38.81.163.143 +author:1597294420=jrmu +diff:1597294420:1597294189:=15c15%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || Yes ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || || Yes ||%0a +host:1597294420=38.81.163.143 +author:1597294189=jrmu +diff:1597294189:1597294158:=14c14%0a%3c || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || || Not free ||%0a---%0a> || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || Not free ||%0a +host:1597294189=38.81.163.143 +author:1597294158=jrmu +diff:1597294158:1597294051:=14c14%0a%3c || [[bouncer.androIRC|AndroIRC]] || || || || ✓ || || Not free ||%0a---%0a> || || || || [[bouncer.androIRC|AndroIRC]] || || No ||%0a +host:1597294158=38.81.163.143 +author:1597294051=jrmu +diff:1597294051:1597292928:=12,13c12,13%0a%3c || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || || || || || || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || %25bgcolor=green%25 ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a> || [[bouncer.mIRC|mIRC]] || || || || || No ||%0a +host:1597294051=38.81.163.143 +author:1597292928=jrmu +diff:1597292928:1597292911:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] || %25bgcolor=green%25 ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || %25bgcolor=...%25 ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597292928=38.81.163.143 +author:1597292911=jrmu +diff:1597292911:1597292816:=8a9,17%0a> (:table:)%0a> (:cellnr:)%0a> (:cell bgcolor=#77ff77:)hi there%0a> (:cell bgcolor=#000:)yoo hoo%0a> (:cellnr:)%0a> (:cell bgcolor=#77ff77:)howdy%0a> (:cell bgcolor=#000:)how do you do%0a> (:tableend:)%0a> %0a12c21%0a%3c || [[bouncer.irccloud|IRCCloud]] || %25bgcolor=...%25 ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597292911=38.81.163.143 +author:1597292816=jrmu +diff:1597292816:1597292803:=11,12c11%0a%3c (:cell bgcolor=#77ff77:)hi there%0a%3c (:cell bgcolor=#000:)yoo hoo%0a---%0a> (:cell bgcolor=#77ff77:)hi there (:cell bgcolor=#000:)yoo hoo%0a +host:1597292816=38.81.163.143 +author:1597292803=jrmu +diff:1597292803:1597292632:=11c11,12%0a%3c (:cell bgcolor=#77ff77:)hi there (:cell bgcolor=#000:)yoo hoo%0a---%0a> (:cell bgcolor=#77ff77:)hi there%0a> (:cell bgcolor=#000:)yoo hoo%0a +host:1597292803=38.81.163.143 +author:1597292632=jrmu +diff:1597292632:1597292564:=11,12c11,12%0a%3c (:cell bgcolor=#77ff77:)hi there%0a%3c (:cell bgcolor=#000:)yoo hoo%0a---%0a> (:cell bgcolor=#77ff77:)%0a> (:cell bgcolor=#000:)%0a14,15c14,15%0a%3c (:cell bgcolor=#77ff77:)howdy%0a%3c (:cell bgcolor=#000:)how do you do%0a---%0a> (:cell bgcolor=#77ff77:)%0a> (:cell bgcolor=#000:)%0a +host:1597292632=38.81.163.143 +author:1597292564=jrmu +diff:1597292564:1597292417:=16c16%0a%3c (:tableend:)%0a---%0a> %0a +host:1597292564=38.81.163.143 +author:1597292417=jrmu +diff:1597292417:1597291348:=9,17d8%0a%3c (:table:)%0a%3c (:cellnr:)%0a%3c (:cell bgcolor=#77ff77:)%0a%3c (:cell bgcolor=#000:)%0a%3c (:cellnr:)%0a%3c (:cell bgcolor=#77ff77:)%0a%3c (:cell bgcolor=#000:)%0a%3c %0a%3c %0a21c12,13%0a%3c || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] ||%0a> (:cell bgcolor=#77ff77:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597292417=38.81.163.143 +author:1597291348=jrmu +diff:1597291348:1597291336:=13c13%0a%3c (:cell bgcolor=#77ff77:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> (:cell bgcolor=#ccffcc:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597291348=38.81.163.143 +author:1597291336=jrmu +diff:1597291336:1597291304:=13c13%0a%3c (:cell bgcolor=#ccffcc:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> (:cell bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597291336=38.81.163.143 +author:1597291304=jrmu +diff:1597291304:1597291265:=12,13c12%0a%3c || [[bouncer.irccloud|IRCCloud]] ||%0a%3c (:cell bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] ||(:cell bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597291304=38.81.163.143 +author:1597291265=jrmu +diff:1597291265:1597291210:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] ||(:cell bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] ||(:bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597291265=38.81.163.143 +author:1597291210=jrmu +diff:1597291210:1597291089:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] ||(:bgcolor=#cccc99:) ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a +host:1597291210=38.81.163.143 +author:1597291089=jrmu +diff:1597291089:1597291078:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Not free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Non-free ||%0a +host:1597291089=38.81.163.143 +author:1597291078=jrmu +diff:1597291078:1597291009:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] || ✓ || ✓ || ✓ || ✓ || ✓ || ✓ || Non-free ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || ✓ || ||%0a +host:1597291078=38.81.163.143 +author:1597291009=jrmu +diff:1597291009:1597290721:=11,12c11,12%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.irccloud|IRCCloud]] || ✓ || ||%0a---%0a> ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Open Source? ||%0a> || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || No ||%0a +host:1597291009=38.81.163.143 +author:1597290721=jrmu +diff:1597290721:1597290357:=30,38c30,31%0a%3c || [[bouncer.adium|Adium]] || || || || || Yes ||%0a%3c || [[bouncer.chatzilla|ChatZilla]] || || || || || Yes ||%0a%3c || [[bouncer.icechat|IceChat]] || || || || || Yes ||%0a%3c || [[bouncer.igloo|Igloo]] || || || || || No ||%0a%3c || [[bouncer.igloo|Igloo]] || || || || || No ||%0a%3c || [[bouncer.xchat|XChat]] ||%0a%3c || [[bouncer.limechat||LimeChat]] ||%0a%3c || [[bouncer.quassel|Quassel]] ||%0a%3c || [[bouncer.qwebirc|qwebirc]] ||%0a---%0a> %0a> Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), Trillian%0a +host:1597290721=38.81.163.143 +author:1597290357=jrmu +diff:1597290357:1597150578:=29c29%0a%3c || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || || No ||%0a---%0a> || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || || Yes ||%0a +host:1597290357=38.81.163.143 +author:1597150578=jrmu +diff:1597150578:1597150477:=3c3%0a%3c An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on unlimited IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a---%0a> An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on up to 200 IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a +host:1597150578=38.81.163.143 +author:1597150477=jrmu +diff:1597150477:1597143693:=33c33,34%0a%3c || [[bouncer/znc|Add Network]] ||%0a\ No newline at end of file%0a---%0a> || [[bouncer.znc|ZNC Web Panel]] ||||||||||%0a> || [[irc:znc:commands|ZNC commands]] ||%0a\ No newline at end of file%0a +host:1597150477=38.81.163.143 +author:1597143693=jrmu +diff:1597143693:1597125508:=14c14%0a%3c || || || || [[bouncer.androIRC|AndroIRC]] || || No ||%0a---%0a> || || || || [[bouncer.androIRC|AndroIRC]] || || Yes ||%0a +host:1597143693=38.81.163.143 +author:1597125508=jrmu +diff:1597125508:1597125485:=17c17%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || || || Yes ||%0a---%0a> || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || || Yes ||%0a +host:1597125508=38.81.163.143 +author:1597125485=jrmu +diff:1597125485:1596460594:=11,29c11,29%0a%3c ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Open Source? ||%0a%3c || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || No ||%0a%3c || [[bouncer.mIRC|mIRC]] || || || || || No ||%0a%3c || || || || [[bouncer.androIRC|AndroIRC]] || || Yes ||%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || || Yes ||%0a%3c || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || || Yes ||%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || || Yes ||%0a%3c || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || || Yes ||%0a%3c || || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || || Yes ||%0a%3c || || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || || Yes ||%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || Yes ||%0a%3c || || [[bouncer.limechat|Limechat]] || || || || ||%0a%3c || || [[bouncer.colloquy|Colloquy]] || || || || ||%0a%3c || || [[bouncer.textual|Textual]] || || || || ||%0a%3c || || || || [[bouncer.revolutionirc|Revolution IRC]] || || ||%0a%3c || || || || [[bouncer.irc4android|irc4android]] || || ||%0a%3c || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || No ||%0a%3c || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || Yes ||%0a%3c || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || || Yes ||%0a---%0a> ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||%0a> || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a> || [[bouncer.mIRC|mIRC]] || || || || ||%0a> || || || || [[bouncer.androIRC|AndroIRC]] || ||%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a> || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a> || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a> || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a> || || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || ||%0a> || || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || ||%0a> || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] ||%0a> || || [[bouncer.limechat|Limechat]] || || || ||%0a> || || [[bouncer.colloquy|Colloquy]] || || || ||%0a> || || [[bouncer.textual|Textual]] || || || ||%0a> || || || || [[bouncer.revolutionirc|Revolution IRC]] || ||%0a> || || || || [[bouncer.irc4android|irc4android]] || ||%0a> || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a> || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a> || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a +host:1597125485=38.81.163.143 +author:1596460594=jrmu +diff:1596460594:1596460594:=1,34d0%0a%3c (:Title IRC Bouncers :)%0a%3c %0a%3c An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on up to 200 IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a%3c %0a%3c We currently offer ZNC and psyBNC.%0a%3c %0a%3c To get started with a free bouncer, connect to irc.ircnow.org and /join #ircnow. Then, type !bnc for a free bouncer.%0a%3c %0a%3c || border=1 width=80%25%0a%3c ||! IRC Clients !||%0a%3c ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||%0a%3c || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a%3c || [[bouncer.mIRC|mIRC]] || || || || ||%0a%3c || || || || [[bouncer.androIRC|AndroIRC]] || ||%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a%3c || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a%3c || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a%3c || || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || ||%0a%3c || || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || ||%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] ||%0a%3c || || [[bouncer.limechat|Limechat]] || || || ||%0a%3c || || [[bouncer.colloquy|Colloquy]] || || || ||%0a%3c || || [[bouncer.textual|Textual]] || || || ||%0a%3c || || || || [[bouncer.revolutionirc|Revolution IRC]] || ||%0a%3c || || || || [[bouncer.irc4android|irc4android]] || ||%0a%3c || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a%3c || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a%3c || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a%3c %0a%3c Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), Trillian%0a%3c %0a%3c || [[bouncer.znc|ZNC Web Panel]] ||||||||||%0a%3c || [[irc:znc:commands|ZNC commands]] ||%0a\ No newline at end of file%0a +host:1596460594=38.81.163.143 blob - /dev/null blob + 81013de7374370d6a0af1c0e23839ffde1cacc75 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Hexchat @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596329672 +host=198.251.81.119 +name=Bouncer.Hexchat +rev=18 +targets= +text=(:title Connecting with Hexchat:)%0a%0a[[https://hexchat.github.io/|Hexchat]] is an open-source IRC client that works on Windows, Mac, and Linux. You can download the Windows 7 app for free. The Windows 7 app works fine for Windows 10 and does not cost money.%0a%0a!! Graphical Instructions%0a%0a# Once you start Hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on @@Hexchat@@ → @@Network List@@.%0a# Click @@Add@@\\%0aAttach:hexchat-add.png%0a# Rename @@New Network@@.%0a# Click @@Edit@@ while the new network is selected.%0a# Fill in the details:\\%0aAttach:hexchat-edit.png%0a # Click on the field that says @@newserver/6667@@. Fill in the bouncer server address, followed by a slash /, followed by 31337. For example, if your bouncer server address is @@example.ircnow.org@@, then you should fill in @@example.ircnow.org/31337@@.%0a # Check @@Connect to this network automatically@@.%0a # Check @@Use SSL for all servers on this network@@.%0a # Uncheck @@Use global user information@@.%0a # @@Nick name@@: the username you registered for the bouncer%0a # @@Real name@@: anything is fine%0a # @@User name@@: the username you registered for the bouncer%0a # @@Password@@: username/network:password -- for example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.%0a # Click @@Close@@%0a# Click @@Connect@@%0a# If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a%0a!! Quick Command%0a%0aType this command:%0a%0a[@%0a/server -ssl example.ircnow.org 31337 username/network:password%0a@]%0a%0aReplace username, network, and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type:%0a%0a[@%0a/server -ssl example.ircnow.org 31337 john/ircnow:abcde12345%0a@] +time=1606481522 +title=Connecting with Hexchat +author:1606481522=jrmu +diff:1606481522:1597633526:=31c31%0a%3c /server -ssl example.ircnow.org 31337 username/network:password%0a---%0a> /server -ssl us9.ircnow.org 31337 username/network:password%0a37c37%0a%3c /server -ssl example.ircnow.org 31337 john/ircnow:abcde12345%0a---%0a> /server -ssl us9.ircnow.org 31337 john/ircnow:abcde12345%0a +host:1606481522=198.251.81.119 +author:1597633526=jrmu +diff:1597633526:1597577174:=7c7%0a%3c # Once you start Hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on @@Hexchat@@ → @@Network List@@.%0a---%0a> # Once you start Hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on @@Hexchat@@ -> @@Network List@@.%0a +host:1597633526=38.81.163.143 +author:1597577174=jrmu +diff:1597577174:1597576349:=12c12,14%0a%3c # Fill in the details:\\%0a---%0a> # Set the server to the one you registered with (for example, us9.ircnow.org). Set the port to 31337 check the button @@Use SSL for all servers on this network@@.%0a> # For username, type username/network. For example, if you want to connect to ircnow, type username/ircnow.%0a> # Type in the password you received by email. Hit enter or click @@Close@@.\\%0a14,23c16%0a%3c # Click on the field that says @@newserver/6667@@. Fill in the bouncer server address, followed by a slash /, followed by 31337. For example, if your bouncer server address is @@example.ircnow.org@@, then you should fill in @@example.ircnow.org/31337@@.%0a%3c # Check @@Connect to this network automatically@@.%0a%3c # Check @@Use SSL for all servers on this network@@.%0a%3c # Uncheck @@Use global user information@@.%0a%3c # @@Nick name@@: the username you registered for the bouncer%0a%3c # @@Real name@@: anything is fine%0a%3c # @@User name@@: the username you registered for the bouncer%0a%3c # @@Password@@: username/network:password -- for example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.%0a%3c # Click @@Close@@%0a%3c # Click @@Connect@@%0a---%0a> # Click @@Connect@@.%0a +host:1597577174=38.81.163.143 +author:1597576349=jrmu +diff:1597576349:1597576257:=4a5,18%0a> !! Simplest Instructions%0a> %0a> Type this command:%0a> %0a> [@%0a> /server -ssl us9.ircnow.org 31337 username/network:password%0a> @]%0a> %0a> Replace username, network, and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type:%0a> %0a> [@%0a> /server -ssl us9.ircnow.org 31337 john/ircnow:abcde12345%0a> @]%0a> %0a10,11c24,25%0a%3c # Rename @@New Network@@.%0a%3c # Click @@Edit@@ while the new network is selected.%0a---%0a> # Click on the new network and rename it.%0a> # Click @@Edit@@ while the new network is selected%0a17,31c31%0a%3c # If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a%3c %0a%3c !! Quick Command%0a%3c %0a%3c Type this command:%0a%3c %0a%3c [@%0a%3c /server -ssl us9.ircnow.org 31337 username/network:password%0a%3c @]%0a%3c %0a%3c Replace username, network, and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type:%0a%3c %0a%3c [@%0a%3c /server -ssl us9.ircnow.org 31337 john/ircnow:abcde12345%0a%3c @]%0a\ No newline at end of file%0a---%0a> # If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a\ No newline at end of file%0a +host:1597576349=38.81.163.143 +author:1597576257=jrmu +diff:1597576257:1597576255:= +host:1597576257=38.81.163.143 +author:1597576255=jrmu +diff:1597576255:1597576136:=28,29c28,29%0a%3c # Type in the password you received by email. Hit enter or click @@Close@@.\\%0a%3c Attach:hexchat-edit.png%0a---%0a> # Type in the password you received by email. Hit enter or click @@Close@@.%0a> # Attach:hexchat-edit.png%0a +host:1597576255=38.81.163.143 +author:1597576136=jrmu +diff:1597576136:1597576124:=24c24%0a%3c # Click on the new network and rename it.%0a---%0a> # Click on new network and rename it.%0a +host:1597576136=38.81.163.143 +author:1597576124=jrmu +diff:1597576124:1597576093:=25c25%0a%3c # Click @@Edit@@ while the new network is selected%0a---%0a> # Click @@Edit@@ button while new network is selected%0a +host:1597576124=38.81.163.143 +author:1597576093=jrmu +diff:1597576093:1597575899:=3,8c3,6%0a%3c [[https://hexchat.github.io/|Hexchat]] is an open-source IRC client that works on Windows, Mac, and Linux. You can download the Windows 7 app for free. The Windows 7 app works fine for Windows 10 and does not cost money.%0a%3c %0a%3c !! Simplest Instructions%0a%3c %0a%3c Type this command:%0a%3c %0a---%0a> [[https://hexchat.github.io/|Hexchat]] is an open-source IRC client that works on Windows, Mac, and Linux.%0a> %0a> The fastest way to connect is to type this command:%0a> %0a13,14c11,12%0a%3c Replace username, network, and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type:%0a%3c %0a---%0a> Replace username, network, and password. For example:%0a> %0a16c14%0a%3c /server -ssl us9.ircnow.org 31337 john/ircnow:abcde12345%0a---%0a> /server -ssl us9.ircnow.org 31337 johnbrown/ircnow:abcde12345%0a19,23c17,25%0a%3c !! Graphical Instructions%0a%3c %0a%3c # Once you start Hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on @@Hexchat@@ -> @@Network List@@.%0a%3c # Click @@Add@@\\%0a%3c Attach:hexchat-add.png%0a---%0a> This connects username johnbrown to the network ircnow with the password abcde12345.%0a> %0a> ----%0a> %0a> You can download [[https://hexchat.github.io/downloads.html|Hexchat]] for Windows 7 for free. The Windows 7 app works fine for Windows 10 and does not cost money.%0a> %0a> # Once you start hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on Hexchat -> Network List.%0a> # Click @@Add@@. It will create a new network for you%0a> # Attach:hexchat-add.png%0a31c33%0a%3c # If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a\ No newline at end of file%0a---%0a> # If you get a message saying you are not yet connected, type @@/znc connect@@.%0a\ No newline at end of file%0a +host:1597576093=38.81.163.143 +author:1597575899=jrmu +diff:1597575899:1597128105:=2,3d1%0a%3c %0a%3c [[https://hexchat.github.io/|Hexchat]] is an open-source IRC client that works on Windows, Mac, and Linux.%0a +host:1597575899=38.81.163.143 +author:1597128105=jrmu +diff:1597128105:1597125226:=31d30%0a%3c # If you get a message saying you are not yet connected, type @@/znc connect@@.%0a\ No newline at end of file%0a +host:1597128105=38.81.163.143 +author:1597125226=jrmu +diff:1597125226:1597124847:=23c23,25%0a%3c # Attach:hexchat-add.png%0a---%0a> %0a> Attach:hexchat-add.png%0a> %0a24a27%0a> %0a25a29%0a> %0a26a31%0a> %0a27a33%0a> %0a29c35,37%0a%3c # Attach:hexchat-edit.png%0a---%0a> %0a> Attach:hexchat-edit.png%0a> %0a30a39%0a> %0a +host:1597125226=38.81.163.143 +author:1597124847=jrmu +diff:1597124847:1597123087:=9,10c9,10%0a%3c Replace username, network, and password. For example:%0a%3c %0a---%0a> Replace username with your username, network with your network, and password with your password. For example:%0a> %0a19,23c19,26%0a%3c You can download [[https://hexchat.github.io/downloads.html|Hexchat]] for Windows 7 for free. The Windows 7 app works fine for Windows 10 and does not cost money.%0a%3c %0a%3c # Once you start hexchat, it will open up the network list automatically. If it does not, go to the menu bar and click on Hexchat -> Network List.%0a%3c # Click @@Add@@. It will create a new network for you%0a%3c %0a---%0a> To setup your bouncer on hexchat first you need to run hexchat%0a> %0a> Once you run hexchat it will open with network list automatically%0a> %0a> Next follow the following instructions to setup your bouncer:%0a> %0a> 1. Click "add" button. It will create a new network for you%0a> %0a25,39c28,50%0a%3c %0a%3c # Click on new network and rename it.%0a%3c %0a%3c # Click @@Edit@@ button while new network is selected%0a%3c %0a%3c # Set the server to the one you registered with (for example, us9.ircnow.org). Set the port to 31337 check the button @@Use SSL for all servers on this network@@.%0a%3c %0a%3c # For username, type username/network. For example, if you want to connect to ircnow, type username/ircnow.%0a%3c %0a%3c # Type in the password you received by email. Hit enter or click @@Close@@.%0a%3c %0a%3c Attach:hexchat-edit.png%0a%3c %0a%3c # Click @@Connect@@.%0a%3c %0a---%0a> {{:hexchat1.png?direct&400|}}%0a> %0a> 2. Clicking on new network and you can rename it to a name of your choice%0a> %0a> 3. Now click "Edit" button while new network is selected%0a> %0a> 4. Next you need to set some settings. %0a> %0a> On top set server and port to us9.ircnow.org, bnc1.ircnow.org or whatever your server is, use 31337 for ssl port then hit enter%0a> %0a> Check "Use SSL for all the servers on this network"%0a> %0a> Type your username in the format username/networkName%0a> %0a> Enter your password and hit enter or click "close"%0a> %0a> {{:hexchat2.png?direct&400|}}%0a> %0a> **Remember to use ''us9.ircnow.org'' instead of what is in the screenshot above.**%0a> %0a> That is all you are done setting up your bouncer!%0a> %0a> https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a\ No newline at end of file%0a +host:1597124847=38.81.163.143 +author:1597123087=jrmu +diff:1597123087:1597122146:=27d26%0a%3c Attach:hexchat-add.png%0a +host:1597123087=38.81.163.143 +author:1597122146=jrmu +diff:1597122146:1597122052:=1,2d0%0a%3c (:title Connecting with Hexchat:)%0a%3c %0a +host:1597122146=38.81.163.143 +author:1597122052=jrmu +diff:1597122052:1597122022:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a5,6c5,6%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a9c9%0a%3c [@%0a---%0a> %3ccode>%0a11c11%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597122052=38.81.163.143 +author:1597122022=jrmu +diff:1597122022:1596329672:=1,46d0%0a%3c The fastest way to connect is to type this command:%0a%3c %0a%3c %3ccode>%0a%3c /server -ssl us9.ircnow.org 31337 username/network:password%0a%3c %3c/code>%0a%3c %0a%3c Replace username with your username, network with your network, and password with your password. For example:%0a%3c %0a%3c %3ccode>%0a%3c /server -ssl us9.ircnow.org 31337 johnbrown/ircnow:abcde12345%0a%3c %3c/code>%0a%3c %0a%3c This connects username johnbrown to the network ircnow with the password abcde12345.%0a%3c %0a%3c ----%0a%3c %0a%3c To setup your bouncer on hexchat first you need to run hexchat%0a%3c %0a%3c Once you run hexchat it will open with network list automatically%0a%3c %0a%3c Next follow the following instructions to setup your bouncer:%0a%3c %0a%3c 1. Click "add" button. It will create a new network for you%0a%3c %0a%3c {{:hexchat1.png?direct&400|}}%0a%3c %0a%3c 2. Clicking on new network and you can rename it to a name of your choice%0a%3c %0a%3c 3. Now click "Edit" button while new network is selected%0a%3c %0a%3c 4. Next you need to set some settings. %0a%3c %0a%3c On top set server and port to us9.ircnow.org, bnc1.ircnow.org or whatever your server is, use 31337 for ssl port then hit enter%0a%3c %0a%3c Check "Use SSL for all the servers on this network"%0a%3c %0a%3c Type your username in the format username/networkName%0a%3c %0a%3c Enter your password and hit enter or click "close"%0a%3c %0a%3c {{:hexchat2.png?direct&400|}}%0a%3c %0a%3c **Remember to use ''us9.ircnow.org'' instead of what is in the screenshot above.**%0a%3c %0a%3c That is all you are done setting up your bouncer!%0a%3c %0a +host:1597122022=38.81.163.143 +author:1596329672=jrmu +diff:1596329672:1596329672:=1d0%0a%3c https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a\ No newline at end of file%0a +host:1596329672=38.81.163.143 blob - /dev/null blob + 1f02f26d8ef507181681d2a9fdb5e52de975553b (mode 644) --- /dev/null +++ wiki.d/Bouncer.IRCCloud @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606218822 +host=198.251.81.119 +name=Bouncer.IRCCloud +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=[[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# [[https://irccloud.com|Register with IRCCloud]] and login.%0a# After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a# Fill in the details:\\%0aAttach:irccloud-join.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Check @@Secure Port@@%0a # @@nickname@@: Use the username you registered with IRCNow%0a # @@real name@@: Use the username you registered with IRCNow.%0a# Click @@Join network@@.%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloud-pass.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606218822 +author:1606218822=jrmu +diff:1606218822:1606218822:=1,17d0%0a%3c [[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # [[https://irccloud.com|Register with IRCCloud]] and login.%0a%3c # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a%3c # Fill in the details:\\%0a%3c Attach:irccloud-join.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@Secure Port@@%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow.%0a%3c # Click @@Join network@@.%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a%3c Attach:irccloud-pass.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606218822=198.251.81.119 blob - /dev/null blob + 5eb25061e1d929af50a33eb0f844c43ef98e6352 (mode 644) --- /dev/null +++ wiki.d/Bouncer.IRCCloudAndroid @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606216805 +host=198.251.81.119 +name=Bouncer.IRCCloudAndroid +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with IRCCloud Android:)%0a%0a[[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# Register with IRCCloud or login\\%0aAttach:irccloudandroid-register.png%0a# After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0aAttach:irccloudandroid-sidebar.png\\%0aAttach:irccloudandroid-modal.png%0a# Fill in the details:\\%0aAttach:irccloudandroid-add.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Select @@Secure Port@@.%0a # @@nickname@@: Use the username you registered with IRCNow%0a # @@real name@@: Use the username you registered with IRCNow%0a# At the top-right, tap @@Done@@%0a# Tap @@OK@@\\%0aAttach:irccloudandroid-pass1.png%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloudandroid-pass2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606216805 +title=Connecting with IRCCloud Android +author:1606216805=jrmu +diff:1606216805:1606216805:=1,24d0%0a%3c (:title Connecting with IRCCloud Android:)%0a%3c %0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # Register with IRCCloud or login\\%0a%3c Attach:irccloudandroid-register.png%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0a%3c Attach:irccloudandroid-sidebar.png\\%0a%3c Attach:irccloudandroid-modal.png%0a%3c # Fill in the details:\\%0a%3c Attach:irccloudandroid-add.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Select @@Secure Port@@.%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow%0a%3c # At the top-right, tap @@Done@@%0a%3c # Tap @@OK@@\\%0a%3c Attach:irccloudandroid-pass1.png%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a%3c Attach:irccloudandroid-pass2.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606216805=198.251.81.119 blob - /dev/null blob + ea0d1e2793e48120470d7466a5a420377d305af5 (mode 644) --- /dev/null +++ wiki.d/Bouncer.IRCCloudWeb @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606216787 +host=198.251.81.119 +name=Bouncer.IRCCloudWeb +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=[[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# [[https://irccloud.com|Register with IRCCloud]] and login.%0a# After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a# Fill in the details:\\%0aAttach:irccloud-join.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Check @@Secure Port@@%0a # @@nickname@@: Use the username you registered with IRCNow%0a # @@real name@@: Use the username you registered with IRCNow.%0a# Click @@Join network@@.%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloud-pass.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606216787 +author:1606216787=jrmu +diff:1606216787:1606216787:=1,17d0%0a%3c [[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # [[https://irccloud.com|Register with IRCCloud]] and login.%0a%3c # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a%3c # Fill in the details:\\%0a%3c Attach:irccloud-join.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@Secure Port@@%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow.%0a%3c # Click @@Join network@@.%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a%3c Attach:irccloud-pass.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606216787=198.251.81.119 blob - /dev/null blob + 7bff1b61f5af3ca3e0ef0f42595ebe661359dc9f (mode 644) --- /dev/null +++ wiki.d/Bouncer.IRCCloudiOS @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606216818 +host=198.251.81.119 +name=Bouncer.IRCCloudiOS +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with IRCCloud iOS:)%0a%0a[[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# Register with IRCCloud or login.\\%0aAttach:irccloudios-register.png%0a# After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0aAttach:irccloudios-sidebar.png\\%0aAttach:irccloudios-modal.png%0a# Fill in the details:\\%0aAttach:irccloudios-add.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Select @@Secure Port@@.%0a # @@Nickname@@: Use the username you registered with IRCNow%0a # @@Full name@@: Use the username you registered with IRCNow.%0a# At the top-right corner, tap @@Save@@.%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloudios-pass.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606216818 +title=Connecting with IRCCloud iOS +author:1606216818=jrmu +diff:1606216818:1606216818:=1,22d0%0a%3c (:title Connecting with IRCCloud iOS:)%0a%3c %0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # Register with IRCCloud or login.\\%0a%3c Attach:irccloudios-register.png%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0a%3c Attach:irccloudios-sidebar.png\\%0a%3c Attach:irccloudios-modal.png%0a%3c # Fill in the details:\\%0a%3c Attach:irccloudios-add.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Select @@Secure Port@@.%0a%3c # @@Nickname@@: Use the username you registered with IRCNow%0a%3c # @@Full name@@: Use the username you registered with IRCNow.%0a%3c # At the top-right corner, tap @@Save@@.%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a%3c Attach:irccloudios-pass.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606216818=198.251.81.119 blob - /dev/null blob + b6fef6c24c4b66c21f372c6f189efcd5c158a6fb (mode 644) --- /dev/null +++ wiki.d/Bouncer.IRCForAndroid @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597490662 +host=38.81.163.143 +name=Bouncer.IRCForAndroid +rev=4 +targets=Freedom.Freedom +text=(:title Connecting with IRC for Android:)%0a%0a[[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a%0a# Tap on @@New Server@@ at the bottom.\\%0aAttach:ircforandroid.png%0a# Fill in the details:%0a # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Desc@@: the name of the network you want to connect to%0a # @@Port@@: 31337%0a # @@Pass@@: @@username/network:password@@ -- for example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345, then fill in @@john/ircnow:abcde12345@@%0a # Check @@SSL@@%0a # @@Nick@@: the bouncer username you registered%0a # @@User@@: the bouncer username you registered%0a # Tap @@Save@@ at the bottom.%0a# Back at the app's homescreen, tap on the new server to connect.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597637286 +title=Connecting with IRC for Android +author:1597637286=jrmu +diff:1597637286:1597635811:=3c3%0a%3c [[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a---%0a> [[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android (paid)]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a +host:1597637286=38.81.163.143 +author:1597635811=jrmu +diff:1597635811:1597572863:=16,17c16%0a%3c # Back at the app's homescreen, tap on the new server to connect.%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> # Back at the app's homescreen, tap on the new server to connect.%0a\ No newline at end of file%0a +host:1597635811=38.81.163.143 +author:1597572863=jrmu +diff:1597572863:1597490662:=3c3%0a%3c [[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android (paid)]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a---%0a> [[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android (paid)]] is proprietary software. To protect your privacy and freedom, you should consider using an open source IRC client. %0a +host:1597572863=38.81.163.143 +author:1597490662=jrmu +diff:1597490662:1597490662:=1,16d0%0a%3c (:title Connecting with IRC for Android:)%0a%3c %0a%3c [[https://play.google.com/store/apps/details?id=com.countercultured.irc4android|IRC for Android (paid)]] is proprietary software. To protect your privacy and freedom, you should consider using an open source IRC client. %0a%3c %0a%3c # Tap on @@New Server@@ at the bottom.\\%0a%3c Attach:ircforandroid.png%0a%3c # Fill in the details:%0a%3c # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Desc@@: the name of the network you want to connect to%0a%3c # @@Port@@: 31337%0a%3c # @@Pass@@: @@username/network:password@@ -- for example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345, then fill in @@john/ircnow:abcde12345@@%0a%3c # Check @@SSL@@%0a%3c # @@Nick@@: the bouncer username you registered%0a%3c # @@User@@: the bouncer username you registered%0a%3c # Tap @@Save@@ at the bottom.%0a%3c # Back at the app's homescreen, tap on the new server to connect.%0a\ No newline at end of file%0a +host:1597490662=38.81.163.143 blob - /dev/null blob + 1dbf30aa359a7b2fe0f48f8343146a12c9c428ff (mode 644) --- /dev/null +++ wiki.d/Bouncer.IceChat @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217239 +host=198.251.81.119 +name=Bouncer.IceChat +rev=1 +targets= +text=(:title Connecting with IceChat:)%0a%0a[[http://www.icechat.net/|IceChat]] v9 is an open-source IRC client for Windows.%0a%0a# At the bottom-left corner, click @@Add@@.%0a# Fill in the details:\\%0aAttach:icechat-newserverssl.png%0a # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Display name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to @@ircnow@@, fill in @@ircnow-bnc@@%0a # @@Server Port@@: 31337%0a # @@Nick@@: the bouncer username you registered%0a # Check @@Connect with SSL/TLS@@%0a # @@Server password@@: @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a'''NOTE''': Some users report issues connecting with SSL. To connect without SSL, set @@Server port@@ to 1337 and uncheck @@Connect with SSL/TLS@@.\\%0aAttach:icechat-newservernossl.png%0a# Click on the @@Extra Settings@@ tab. Check @@Connect on startup@@.\\%0aAttach:icechat-settings.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606217239 +title=Connecting with IceChat +author:1606217239=jrmu +diff:1606217239:1606217239:=1,18d0%0a%3c (:title Connecting with IceChat:)%0a%3c %0a%3c [[http://www.icechat.net/|IceChat]] v9 is an open-source IRC client for Windows.%0a%3c %0a%3c # At the bottom-left corner, click @@Add@@.%0a%3c # Fill in the details:\\%0a%3c Attach:icechat-newserverssl.png%0a%3c # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Display name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to @@ircnow@@, fill in @@ircnow-bnc@@%0a%3c # @@Server Port@@: 31337%0a%3c # @@Nick@@: the bouncer username you registered%0a%3c # Check @@Connect with SSL/TLS@@%0a%3c # @@Server password@@: @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a%3c '''NOTE''': Some users report issues connecting with SSL. To connect without SSL, set @@Server port@@ to 1337 and uncheck @@Connect with SSL/TLS@@.\\%0a%3c Attach:icechat-newservernossl.png%0a%3c # Click on the @@Extra Settings@@ tab. Check @@Connect on startup@@.\\%0a%3c Attach:icechat-settings.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606217239=198.251.81.119 blob - /dev/null blob + 711b43a212ae3db3948d2b7b7edc9fe70e7a2927 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Icechat @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597391665 +host=38.81.163.143 +name=Bouncer.Icechat +rev=6 +targets= +text=(:title Connecting with IceChat:)%0a%0a[[http://www.icechat.net/|IceChat]] v9 is an open-source IRC client for Windows.%0a%0a# At the bottom-left corner, click @@Add@@.%0a# Fill in the details:\\%0aAttach:icechat-newserverssl.png%0a # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Display name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to @@ircnow@@, fill in @@ircnow-bnc@@%0a # @@Server Port@@: 31337%0a # @@Nick@@: the bouncer username you registered%0a # Check @@Connect with SSL/TLS@@%0a # @@Server password@@: @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a'''NOTE''': Some users report issues connecting with SSL. To connect without SSL, set @@Server port@@ to 1337 and uncheck @@Connect with SSL/TLS@@.\\%0aAttach:icechat-newservernossl.png%0a# Click on the @@Extra Settings@@ tab. Check @@Connect on startup@@.\\%0aAttach:icechat-settings.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597644432 +title=Connecting with IceChat +author:1597644432=jrmu +diff:1597644432:1597643715:=3,4d2%0a%3c [[http://www.icechat.net/|IceChat]] v9 is an open-source IRC client for Windows.%0a%3c %0a17,18c15%0a%3c Attach:icechat-settings.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> Attach:icechat-settings.png%0a\ No newline at end of file%0a +host:1597644432=38.81.163.143 +author:1597643715=jrmu +diff:1597643715:1597391770:=3,11c3,5%0a%3c # At the bottom-left corner, click @@Add@@.%0a%3c # Fill in the details:\\%0a%3c Attach:icechat-newserverssl.png%0a%3c # @@Server@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Display name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to @@ircnow@@, fill in @@ircnow-bnc@@%0a%3c # @@Server Port@@: 31337%0a%3c # @@Nick@@: the bouncer username you registered%0a%3c # Check @@Connect with SSL/TLS@@%0a%3c # @@Server password@@: @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a---%0a> # At the bottom-left corner, click on @@Add@@.%0a> # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org@@. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a> Attach:icechat-newserverssl.png\\%0a +host:1597643715=38.81.163.143 +author:1597391770=jrmu +diff:1597391770:1597391750:=4c4%0a%3c # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org@@. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a---%0a> # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a +host:1597391770=38.81.163.143 +author:1597391750=jrmu +diff:1597391750:1597391673:=4c4%0a%3c # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a---%0a> # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a +host:1597391750=38.81.163.143 +author:1597391673=jrmu +diff:1597391673:1597391665:=7c7%0a%3c Attach:icechat-newservernossl.png%0a---%0a> Attach:icechat-newservernossl.png\\%0a +host:1597391673=38.81.163.143 +author:1597391665=jrmu +diff:1597391665:1597391665:=1,9d0%0a%3c (:title Connecting with IceChat:)%0a%3c %0a%3c # At the bottom-left corner, click on @@Add@@.%0a%3c # For @@Server@@, fill in your bouncer server. It should look like @@example.ircnow.org. For @@Display name@@, put in network-bnc, where network is the network you want to connect to. For @@Server Port@@, fill in 31337. For @@Nick@@, fill in the bouncer username you registered. Check @@Connect with SSL/TLS@@. For @@Server password@@, fill in username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.\\%0a%3c Attach:icechat-newserverssl.png\\%0a%3c '''NOTE''': Some users report issues connecting with SSL. To connect without SSL, set @@Server port@@ to 1337 and uncheck @@Connect with SSL/TLS@@.\\%0a%3c Attach:icechat-newservernossl.png\\%0a%3c # Click on the @@Extra Settings@@ tab. Check @@Connect on startup@@.\\%0a%3c Attach:icechat-settings.png%0a\ No newline at end of file%0a +host:1597391665=38.81.163.143 blob - /dev/null blob + 4fab5e33775f2e76f3b5c61e43e5a42cabd0eddc (mode 644) --- /dev/null +++ wiki.d/Bouncer.Igloo @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=Noxturnix +charset=UTF-8 +csum= +ctime=1607938759 +host=2601:646:8600:1a20::f550 +name=Bouncer.Igloo +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with Igloo IRC iOS:)%0a%0a[[https://iglooirc.com|Igloo IRC]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%0a# Tap @@Add Network@@. \\%0aAttach:iglooirc-home.png%0a# Fill in the details:\\%0aAttach:iglooirc-add1.png\\%0aAttach:iglooirc-add2.png%0a # @@Name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to ircnow, fill in ircnow-bnc%0a # @@Host@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Select @@SSL/TLS@@.%0a # @@Nick@@: Use the username you registered with IRCNow%0a # @@Type@@: ZNC%0a # @@Username@@: Use the username you registered with IRCNow%0a # @@Password@@: Use your BNC password%0a # @@Name@@: The network you want to connect to%0a# At the top-right, tap @@Save@@%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1607938759 +title=Connecting with Igloo IRC iOS +author:1607938759=Noxturnix +diff:1607938759:1607938759:=1,20d0%0a%3c (:title Connecting with Igloo IRC iOS:)%0a%3c %0a%3c [[https://iglooirc.com|Igloo IRC]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c # Tap @@Add Network@@. \\%0a%3c Attach:iglooirc-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:iglooirc-add1.png\\%0a%3c Attach:iglooirc-add2.png%0a%3c # @@Name@@: @@network-bnc@@, where network is the network you want to connect to. For example, if you want to connect to ircnow, fill in ircnow-bnc%0a%3c # @@Host@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Select @@SSL/TLS@@.%0a%3c # @@Nick@@: Use the username you registered with IRCNow%0a%3c # @@Type@@: ZNC%0a%3c # @@Username@@: Use the username you registered with IRCNow%0a%3c # @@Password@@: Use your BNC password%0a%3c # @@Name@@: The network you want to connect to%0a%3c # At the top-right, tap @@Save@@%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1607938759=2601:646:8600:1a20::f550 blob - /dev/null blob + f88e953ec64fa0da9d5e83a885ad058f19a23793 (mode 644) --- /dev/null +++ wiki.d/Bouncer.IrcEX @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597483063 +host=38.81.163.143 +name=Bouncer.IrcEX +rev=1 +targets= +text=(:title Connecting with ircEX:)%0a%0aUnfortunately, ircEX does not allow changing ports, and so it is not possible to use this IRC client at this time. +time=1597483063 +title=Connecting with ircEX +author:1597483063=jrmu +diff:1597483063:1597483063:=1,3d0%0a%3c (:title Connecting with ircEX:)%0a%3c %0a%3c Unfortunately, ircEX does not allow changing ports, and so it is not possible to use this IRC client at this time.%0a\ No newline at end of file%0a +host:1597483063=38.81.163.143 blob - /dev/null blob + 9d0ff197353f96f53edeacb7cc25230b1451456d (mode 644) --- /dev/null +++ wiki.d/Bouncer.Irccloud @@ -0,0 +1,63 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597125640 +host=38.81.163.143 +name=Bouncer.Irccloud +rev=17 +targets=Freedom.Freedom,Bouncer.Bouncer +text=[[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# [[https://irccloud.com|Register with IRCCloud]] and login.%0a# After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a# Fill in the details:\\%0aAttach:irccloud-join.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Check @@Secure Port@@%0a # @@nickname@@: Use the username you registered with IRCNow%0a # @@real name@@: Use the username you registered with IRCNow.%0a# Click @@Join network@@.%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloud-pass.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1598271642 +author:1598271642=jrmu +diff:1598271642:1597574434:=1c1%0a%3c [[https://irccloud.com|IRCCloud]] appears to offer open source mobile clients, which is good. However, the server software appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using a fully open source [[bouncer|IRC client]].%0a---%0a> [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a +host:1598271642=38.81.163.143 +author:1597574434=jrmu +diff:1597574434:1597556599:=17c17%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597574434=38.81.163.143 +author:1597556599=jrmu +diff:1597556599:1597556529:=1c1%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a---%0a> [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a +host:1597556599=38.81.163.143 +author:1597556529=jrmu +diff:1597556529:1597464806:=14c14%0a%3c # Click @@Join network@@.%0a---%0a> # Click @@Join network@@.\\%0a +host:1597556529=38.81.163.143 +author:1597464806=jrmu +diff:1597464806:1597464614:=15c15%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a---%0a> # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.%0a +host:1597464806=38.81.163.143 +author:1597464614=jrmu +diff:1597464614:1597464527:=7,14c7,10%0a%3c # Fill in the details:\\%0a%3c Attach:irccloud-join.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@Secure Port@@%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow.%0a%3c # Click @@Join network@@.\\%0a---%0a> # Set the @@Hostname@@ to your bouncer server address (it should look like @@example.ircnow.org@@); set @@Port@@ to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the username you registered with IRCNow.%0a> # Attach:irccloud-join.png%0a> # Click @@Join network@@.%0a> # Attach:irccloud-pass.png%0a16d11%0a%3c Attach:irccloud-pass.png%0a +host:1597464614=38.81.163.143 +author:1597464527=jrmu +diff:1597464527:1597289163:=7c7%0a%3c # Set the @@Hostname@@ to your bouncer server address (it should look like @@example.ircnow.org@@); set @@Port@@ to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the username you registered with IRCNow.%0a---%0a> # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a11c11%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.%0a---%0a> # Type @@/quote PASS nickname/network:password@@%0a +host:1597464527=38.81.163.143 +author:1597289163=jrmu +diff:1597289163:1597144436:=12c12%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597289163=38.81.163.143 +author:1597144436=jrmu +diff:1597144436:1597128974:=1c1,3%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a---%0a> IRCCloud is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a> %0a> You can use either the IRCCloud app or the IRCCloud website. Both steps are the same.%0a +host:1597144436=38.81.163.143 +author:1597128974=jrmu +diff:1597128974:1597128886:=10c10,12%0a%3c # Attach:irccloud-join.png%0a---%0a> %0a> Attach:irccloud-join.png%0a> %0a12d13%0a%3c # Attach:irccloud-pass.png%0a14c15,17%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a> %0a> Attach:irccloud-pass.png%0a\ No newline at end of file%0a +host:1597128974=38.81.163.143 +author:1597128886=jrmu +diff:1597128886:1597128060:=15,17c15%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a%3c %0a%3c Attach:irccloud-pass.png%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597128886=38.81.163.143 +author:1597128060=jrmu +diff:1597128060:1597126939:=7,10c7,13%0a%3c # [[https://irccloud.com|Register with IRCCloud]] and login.%0a%3c # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a%3c # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a%3c %0a---%0a> # Register with IRCCloud and login%0a> # After login, it directs to **Settings** page, where you can setup your ZNC account as below: \\%0a> - **Hostname** is the Host from your credentials **(e.g : us9.ircnow.org)** \\%0a> - **Port** is the Port from your credentials **(e.g: 31337)** \\%0a> - Under **Your Identity** you fill your preferred **Nickname** for the network and your preferred **Real Name** \\%0a> - Under **Advanced Options** there's **Nickserv Password** where you can provide your **Nick's Password** for the Network (This feature is free for all) || And there's **Server Password** where you can provide your Server Password as **(Username/Network:Password)** **__NOTE: This is a Premium Feature__ (Only for Paid Users)** \\%0a> %0a13,15c16,19%0a%3c # Click @@Join network@@.%0a%3c # Type @@/quote PASS nickname/network:password@@%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@. Wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Cheers, once all set, click on **✔Done** at the top right corner.%0a> %0a> %0a> Now you can connect by clicking on the Network shown.%0a\ No newline at end of file%0a +host:1597128060=38.81.163.143 +author:1597126939=jrmu +diff:1597126939:1597126782:=13c13%0a%3c %0a---%0a> Attach:irccloud-join2.png%0a +host:1597126939=38.81.163.143 +author:1597126782=jrmu +diff:1597126782:1597126200:=13c13%0a%3c Attach:irccloud-join2.png%0a---%0a> %0a +host:1597126782=38.81.163.143 +author:1597126200=jrmu +diff:1597126200:1597125867:=13,14d12%0a%3c %0a%3c Attach:irccloud-join.png%0a +host:1597126200=38.81.163.143 +author:1597125867=jrmu +diff:1597125867:1597125640:=4,8c4,12%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # Register with IRCCloud and login%0a%3c # After login, it directs to **Settings** page, where you can setup your ZNC account as below: \\%0a---%0a> Now, unlike other apps, IRCCloud wants you to register your email to use their services, and also there are some premium features that only works with a paid account. %0a> %0a> **__Step 1:__**%0a> %0a> Register Your E-mail address with IRCCloud and Login%0a> %0a> **__Step 2:__**%0a> %0a> After login, it directs to **Settings** page, where you can setup your ZNC account as below: \\%0a17c21,26%0a%3c Now you can connect by clicking on the Network shown. %0a\ No newline at end of file%0a---%0a> Now you can connect by clicking on the Network shown. %0a> %0a> That's all. Happy Irc'ing :D%0a> %0a> --- //[[the.official.st4lker@gmail.com|Siva]] 2019/11/15 16:16//%0a> %0a +host:1597125867=38.81.163.143 +author:1597125640=jrmu +diff:1597125640:1597125640:=1,26d0%0a%3c IRCCloud is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c You can use either the IRCCloud app or the IRCCloud website. Both steps are the same.%0a%3c Now, unlike other apps, IRCCloud wants you to register your email to use their services, and also there are some premium features that only works with a paid account. %0a%3c %0a%3c **__Step 1:__**%0a%3c %0a%3c Register Your E-mail address with IRCCloud and Login%0a%3c %0a%3c **__Step 2:__**%0a%3c %0a%3c After login, it directs to **Settings** page, where you can setup your ZNC account as below: \\%0a%3c - **Hostname** is the Host from your credentials **(e.g : us9.ircnow.org)** \\%0a%3c - **Port** is the Port from your credentials **(e.g: 31337)** \\%0a%3c - Under **Your Identity** you fill your preferred **Nickname** for the network and your preferred **Real Name** \\%0a%3c - Under **Advanced Options** there's **Nickserv Password** where you can provide your **Nick's Password** for the Network (This feature is free for all) || And there's **Server Password** where you can provide your Server Password as **(Username/Network:Password)** **__NOTE: This is a Premium Feature__ (Only for Paid Users)** \\%0a%3c %0a%3c Cheers, once all set, click on **✔Done** at the top right corner.%0a%3c %0a%3c %0a%3c Now you can connect by clicking on the Network shown. %0a%3c %0a%3c That's all. Happy Irc'ing :D%0a%3c %0a%3c --- //[[the.official.st4lker@gmail.com|Siva]] 2019/11/15 16:16//%0a%3c %0a +host:1597125640=38.81.163.143 blob - /dev/null blob + d54fcebe8d692a60126d10c224b13609ba7538f5 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Irccloudandroid @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597462123 +host=38.81.163.143 +name=Bouncer.Irccloudandroid +rev=11 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with IRCCloud Android:)%0a%0a[[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# Register with IRCCloud or login\\%0aAttach:irccloudandroid-register.png%0a# After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0aAttach:irccloudandroid-sidebar.png\\%0aAttach:irccloudandroid-modal.png%0a# Fill in the details:\\%0aAttach:irccloudandroid-add.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Select @@Secure Port@@.%0a # @@nickname@@: Use the username you registered with IRCNow%0a # @@real name@@: Use the username you registered with IRCNow%0a# At the top-right, tap @@Done@@%0a# Tap @@OK@@\\%0aAttach:irccloudandroid-pass1.png%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloudandroid-pass2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597630983 +title=Connecting with IRCCloud Android +author:1597630983=jrmu +diff:1597630983:1597630963:=19c19%0a%3c # At the top-right, tap @@Done@@%0a---%0a> # At the top-right, tap @@Done@@\\%0a +host:1597630983=38.81.163.143 +author:1597630963=jrmu +diff:1597630963:1597630906:= +host:1597630963=38.81.163.143 +author:1597630906=jrmu +diff:1597630906:1597574455:=7c7%0a%3c # Register with IRCCloud or login\\%0a---%0a> # Register with IRCCloud or login.\\%0a18,20c18,19%0a%3c # @@real name@@: Use the username you registered with IRCNow%0a%3c # At the top-right, tap @@Done@@\\%0a%3c # Tap @@OK@@\\%0a---%0a> # @@real name@@: Use the username you registered with IRCNow.%0a> # At the top-right, tap @@Done@@.\\%0a +host:1597630906=38.81.163.143 +author:1597574455=jrmu +diff:1597574455:1597556616:=23c23%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597574455=38.81.163.143 +author:1597556616=jrmu +diff:1597556616:1597494855:=3c3%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a---%0a> [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a +host:1597556616=38.81.163.143 +author:1597494855=jrmu +diff:1597494855:1597494697:=19c19%0a%3c # At the top-right, tap @@Done@@.\\%0a---%0a> # At the top-right, tap @@Done@@.%0a +host:1597494855=38.81.163.143 +author:1597494697=jrmu +diff:1597494697:1597494297:=19,20c19%0a%3c # At the top-right, tap @@Done@@.%0a%3c Attach:irccloudandroid-pass1.png%0a---%0a> # At the top-right corner, tap @@Save@@.%0a22c21%0a%3c Attach:irccloudandroid-pass2.png%0a---%0a> Attach:irccloudandroid-pass.png%0a +host:1597494697=38.81.163.143 +author:1597494297=jrmu +diff:1597494297:1597494209:=8c8%0a%3c Attach:irccloudandroid-register.png%0a---%0a> Attach:irccloudios-register.png%0a10,11c10,11%0a%3c Attach:irccloudandroid-sidebar.png\\%0a%3c Attach:irccloudandroid-modal.png%0a---%0a> Attach:irccloudiod-sidebar.png\\%0a> Attach:irccloudios-modal.png%0a13c13%0a%3c Attach:irccloudandroid-add.png%0a---%0a> Attach:irccloudios-add.png%0a21c21%0a%3c Attach:irccloudandroid-pass.png%0a---%0a> Attach:irccloudios-pass.png%0a +host:1597494297=38.81.163.143 +author:1597494209=jrmu +diff:1597494209:1597493639:=1c1%0a%3c (:title Connecting with IRCCloud Android:)%0a---%0a> (:title Connecting with IRCCloud iOS:)%0a +host:1597494209=38.81.163.143 +author:1597493639=jrmu +diff:1597493639:1597462123:=1,2d0%0a%3c (:title Connecting with IRCCloud iOS:)%0a%3c %0a7,21c5,11%0a%3c # Register with IRCCloud or login.\\%0a%3c Attach:irccloudios-register.png%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0a%3c Attach:irccloudiod-sidebar.png\\%0a%3c Attach:irccloudios-modal.png%0a%3c # Fill in the details:\\%0a%3c Attach:irccloudios-add.png%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Select @@Secure Port@@.%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow.%0a%3c # At the top-right corner, tap @@Save@@.%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a%3c Attach:irccloudios-pass.png%0a---%0a> # [[https://irccloud.com|Register with IRCCloud]] and login.%0a> # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a> # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a> # Attach:irccloud-join.png%0a> # Click @@Join network@@.%0a> # Attach:irccloud-pass.png%0a> # Type @@/quote PASS nickname/network:password@@%0a +host:1597493639=38.81.163.143 +author:1597462123=jrmu +diff:1597462123:1597462123:=1,12d0%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # [[https://irccloud.com|Register with IRCCloud]] and login.%0a%3c # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a%3c # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a%3c # Attach:irccloud-join.png%0a%3c # Click @@Join network@@.%0a%3c # Attach:irccloud-pass.png%0a%3c # Type @@/quote PASS nickname/network:password@@%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597462123=38.81.163.143 blob - /dev/null blob + 48b9d87ee148a38e98c20d471e2ce217771be865 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Irccloudios @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597462120 +host=38.81.163.143 +name=Bouncer.Irccloudios +rev=16 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with IRCCloud iOS:)%0a%0a[[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a%0aUnlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%0a# Register with IRCCloud or login.\\%0aAttach:irccloudios-register.png%0a# After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0aAttach:irccloudios-sidebar.png\\%0aAttach:irccloudios-modal.png%0a# Fill in the details:\\%0aAttach:irccloudios-add.png%0a # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Select @@Secure Port@@.%0a # @@Nickname@@: Use the username you registered with IRCNow%0a # @@Full name@@: Use the username you registered with IRCNow.%0a# At the top-right corner, tap @@Save@@.%0a# Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0aAttach:irccloudios-pass.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597631218 +title=Connecting with IRCCloud iOS +author:1597631218=jrmu +diff:1597631218:1597631203:=18c18%0a%3c # @@Full name@@: Use the username you registered with IRCNow.%0a---%0a> # @@Full Name@@: Use the username you registered with IRCNow.%0a +host:1597631218=38.81.163.143 +author:1597631203=jrmu +diff:1597631203:1597574488:=17,18c17,18%0a%3c # @@Nickname@@: Use the username you registered with IRCNow%0a%3c # @@Full Name@@: Use the username you registered with IRCNow.%0a---%0a> # @@nickname@@: Use the username you registered with IRCNow%0a> # @@real name@@: Use the username you registered with IRCNow.%0a +host:1597631203=38.81.163.143 +author:1597574488=jrmu +diff:1597574488:1597556645:=22c22%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597574488=38.81.163.143 +author:1597556645=jrmu +diff:1597556645:1597493837:=3c3%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]].%0a---%0a> [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a +host:1597556645=38.81.163.143 +author:1597493837=jrmu +diff:1597493837:1597493597:=10c10%0a%3c Attach:irccloudios-sidebar.png\\%0a---%0a> Attach:irccloudiod-sidebar.png\\%0a +host:1597493837=38.81.163.143 +author:1597493597=jrmu +diff:1597493597:1597465698:=1,2d0%0a%3c (:title Connecting with IRCCloud iOS:)%0a%3c %0a +host:1597493597=38.81.163.143 +author:1597465698=jrmu +diff:1597465698:1597465665:=17c17%0a%3c # At the top-right corner, tap @@Save@@.%0a---%0a> # At the top-right corner, tap @@Save@@.\\%0a +host:1597465698=38.81.163.143 +author:1597465665=jrmu +diff:1597465665:1597465591:=14c14%0a%3c # Select @@Secure Port@@.%0a---%0a> # Check @@Secure Port@@%0a18d17%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a19a19%0a> # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a +host:1597465665=38.81.163.143 +author:1597465591=jrmu +diff:1597465591:1597465044:=17c17%0a%3c # At the top-right corner, tap @@Save@@.\\%0a---%0a> # Tap @@Join network@@.\\%0a +host:1597465591=38.81.163.143 +author:1597465044=jrmu +diff:1597465044:1597464934:=11c11%0a%3c Attach:irccloudios-add.png%0a---%0a> Attach:irccloudios-add.png\\%0a +host:1597465044=38.81.163.143 +author:1597464934=jrmu +diff:1597464934:1597464407:=5c5%0a%3c # Register with IRCCloud or login.\\%0a---%0a> # [[https://irccloud.com|Register with IRCCloud]] or login.\\%0a10,16c10,11%0a%3c # Fill in the details:\\%0a%3c Attach:irccloudios-add.png\\%0a%3c # @@Hostname@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@Secure Port@@%0a%3c # @@nickname@@: Use the username you registered with IRCNow%0a%3c # @@real name@@: Use the username you registered with IRCNow.%0a---%0a> # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.\\%0a> Attach:irccloudios-add.png%0a19c14%0a%3c # Type @@/quote PASS username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then type @@/quote PASS john/ircnow:abcde12345@@.\\%0a---%0a> # Type @@/quote PASS nickname/network:password@@%0a +host:1597464934=38.81.163.143 +author:1597464407=jrmu +diff:1597464407:1597464358:=7c7%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network, then tap @@Add a network@@.\\%0a---%0a> # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network to @@Add a network@@.\\%0a +host:1597464407=38.81.163.143 +author:1597464358=jrmu +diff:1597464358:1597464117:=5c5%0a%3c # [[https://irccloud.com|Register with IRCCloud]] or login.\\%0a---%0a> # [[https://irccloud.com|Register with IRCCloud]] or login.%0a7c7%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network to @@Add a network@@.\\%0a---%0a> # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network to @@Add a network@@.%0a10,13c10,13%0a%3c # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.\\%0a%3c Attach:irccloudios-add.png%0a%3c # Tap @@Join network@@.\\%0a%3c Attach:irccloudios-pass.png%0a---%0a> # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a> # Attach:irccloudios-add.png%0a> # Tap @@Join network@@.%0a> # Attach:irccloudios-pass.png%0a +host:1597464358=38.81.163.143 +author:1597464117=jrmu +diff:1597464117:1597464087:=6c6%0a%3c Attach:irccloudios-register.png%0a---%0a> Attach:irccloudandroid-register.png%0a8,9c8,9%0a%3c Attach:irccloudiod-sidebar.png\\%0a%3c Attach:irccloudios-modal.png%0a---%0a> Attach:irccloudandroid-sidebar.png\\%0a> Attach:irccloudandroid-modal.png%0a11c11%0a%3c # Attach:irccloudios-add.png%0a---%0a> # Attach:irccloud-add.png%0a13c13%0a%3c # Attach:irccloudios-pass.png%0a---%0a> # Attach:irccloud-pass.png%0a +host:1597464117=38.81.163.143 +author:1597464087=jrmu +diff:1597464087:1597462120:=5,9c5,6%0a%3c # [[https://irccloud.com|Register with IRCCloud]] or login.%0a%3c Attach:irccloudandroid-register.png%0a%3c # After login, you should be asked to add a new network. If not, tap at the menu bar at the top-left corner. Press and hold on a network to @@Add a network@@.%0a%3c Attach:irccloudandroid-sidebar.png\\%0a%3c Attach:irccloudandroid-modal.png%0a---%0a> # [[https://irccloud.com|Register with IRCCloud]] and login.%0a> # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a11,12c8,9%0a%3c # Attach:irccloud-add.png%0a%3c # Tap @@Join network@@.%0a---%0a> # Attach:irccloud-join.png%0a> # Click @@Join network@@.%0a +host:1597464087=38.81.163.143 +author:1597462120=jrmu +diff:1597462120:1597462120:=1,12d0%0a%3c [[https://irccloud.com|IRCCloud]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a%3c Unlike most other apps, IRCCloud requires you register with an email, and premium features will not work without a paid account.%0a%3c %0a%3c # [[https://irccloud.com|Register with IRCCloud]] and login.%0a%3c # After login, you should be asked to add a new network. If not, click on @@Add a network@@ on the right sidebar.%0a%3c # Set the Hostname to your server (such as us9.ircnow.org); set Port to 31337; check @@Secure Port@@; fill in your nickname and real name. Use the nickname you registered with IRCNow.%0a%3c # Attach:irccloud-join.png%0a%3c # Click @@Join network@@.%0a%3c # Attach:irccloud-pass.png%0a%3c # Type @@/quote PASS nickname/network:password@@%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597462120=38.81.163.143 blob - /dev/null blob + f785c902b90f3d693582900c65e59b60a9837752 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Irssi @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597144899 +host=125.231.28.9 +name=Bouncer.Irssi +rev=11 +targets= +text=(:title Connecting with Irssi:)%0a%0a[[https://irssi.org/|Irssi]] is a command-line IRC client that runs on Windows, Mac, and Linux.%0a%0aInside irssi, type:%0a%0a[@%0a/network add network-bnc%0a/server add -network network-bnc -auto -tls_verify example.ircnow.org 31337 username/network:password%0a/save%0a/connect network-bnc%0a@]%0a%0aReplace @@example.ircnow.org@@ with your bouncer server address; replace network with your real network, username with your real username, password with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%0a[@%0a/network add ircnow-bnc%0a/server add -network ircnow-bnc -auto -tls_verify bnc.ircnow.org 31337 john/ircnow:abcde12345%0a/save%0a/connect ircnow-bnc%0a@]%0a%0aIf you get a message saying ZNC is not yet connected, type @@/quote znc connect@@.%0a%0aAttach:irssi.png%0a%0a----%0a%0a!! Editing .irssi/config%0a%0aIn ~/.irssi/config, inside servers, add this block:%0a%0a[@%0aservers = (%0a {%0a address = "example.ircnow.org";%0a chatnet = "network-bnc";%0a port = "31337";%0a password = "username/network:password";%0a use_tls = "yes";%0a tls_verify = "yes";%0a tls_cafile = "~/.irssi/certs/CAs.pem";%0a autoconnect = "yes";%0a },%0a)%0a@]%0a%0aSuppose you want to connect to ircnow. Here is what that block might look like:%0a%0a[@%0aservers = (%0a {%0a address = "bnc.ircnow.org";%0a chatnet = "ircnow-bnc";%0a port = "31337";%0a password = "john/ircnow:abcde12345";%0a use_tls = "yes";%0a tls_verify = "yes";%0a tls_cafile = "~/.irssi/certs/CAs.pem";%0a autoconnect = "yes";%0a },%0a)%0a@]%0a%0aNotice that the address must be example.ircnow.org; you want to connect first to the bouncer, then have the bouncer connect to another network.%0a%0aIf you have issues with SSL verification, make sure you have CAs.pem located in the right folder. On OpenBSD, you would do this:%0a%0a[@%0a$ mkdir -p ~/.irssi/certs%0a$ cp /etc/ssl/cert.pem ~/.irssi/certs/CAs.pem%0a@]%0a%0aTo connect to multiple networks, use additional server blocks. +time=1622786964 +title=Connecting with Irssi +author:1622786964=jrmu +diff:1622786964:1622786942:=5c5%0a%3c Inside irssi, type:%0a---%0a> Open irssi, then type:%0a +host:1622786964=125.231.28.9 +author:1622786942=jrmu +diff:1622786942:1622195833:=5c5%0a%3c Open irssi, then type:%0a---%0a> Upon launching irssi within a terminal, type:%0a +host:1622786942=125.231.28.9 +author:1622195833=bountyht +diff:1622195833:1597634903:minor=5c5%0a%3c Upon launching irssi within a terminal, type:%0a---%0a> Type:%0a +host:1622195833=209.127.17.242 +author:1597634903=jrmu +diff:1597634903:1597578865:=2,3d1%0a%3c %0a%3c [[https://irssi.org/|Irssi]] is a command-line IRC client that runs on Windows, Mac, and Linux.%0a +host:1597634903=38.81.163.143 +author:1597578865=jrmu +diff:1597578865:1597578605:=21c21%0a%3c If you get a message saying ZNC is not yet connected, type @@/quote znc connect@@.%0a---%0a> If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a +host:1597578865=38.81.163.143 +author:1597578605=jrmu +diff:1597578605:1597578348:=20,21d19%0a%3c %0a%3c If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a +host:1597578605=38.81.163.143 +author:1597578348=jrmu +diff:1597578348:1597400239:=12,13c12,15%0a%3c Replace @@example.ircnow.org@@ with your bouncer server address; replace network with your real network, username with your real username, password with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%3c %0a---%0a> Attach:irssi.png%0a> %0a> Replace example.ircnow.org with your actual server; replace network with your real network, username with your real username, password with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a> %0a20,21d21%0a%3c %0a%3c Attach:irssi.png%0a +host:1597578348=38.81.163.143 +author:1597400239=jrmu +diff:1597400239:1597145147:=3,4d2%0a%3c Type:%0a%3c %0a12,14c10%0a%3c Attach:irssi.png%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace network with your real network, username with your real username, password with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a---%0a> Replace example.ircnow.org with your actual server; replace network with your real network, username with your real username, password with your real password. For example:%0a +host:1597400239=38.81.163.143 +author:1597145147=jrmu +diff:1597145147:1597145121:=42c42%0a%3c [@%0a---%0a> %3ccode>%0a55,56c55,56%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a61c61%0a%3c [@%0a---%0a> %3ccode>%0a64c64%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597145147=38.81.163.143 +author:1597145121=jrmu +diff:1597145121:1597144899:=19,22c19,21%0a%3c ----%0a%3c %0a%3c !! Editing .irssi/config%0a%3c %0a---%0a> %0a> ====== Editing config directly ======%0a> %0a25c24%0a%3c [@%0a---%0a> %3ccode>%0a28,29c27,28%0a%3c address = "example.ircnow.org";%0a%3c chatnet = "network-bnc";%0a---%0a> address = "us9.ircnow.org";%0a> chatnet = "yournetwork";%0a31c30%0a%3c password = "username/network:password";%0a---%0a> password = "username/yournetwork:password";%0a38,41c37,40%0a%3c @]%0a%3c %0a%3c Suppose you want to connect to ircnow. Here is what that block might look like:%0a%3c %0a---%0a> %3c/code>%0a> %0a> Suppose you want to connect to freenode. Here is what that block would look like:%0a> %0a45,46c44,45%0a%3c address = "bnc.ircnow.org";%0a%3c chatnet = "ircnow-bnc";%0a---%0a> address = "us9.ircnow.org";%0a> chatnet = "freenode";%0a48c47%0a%3c password = "john/ircnow:abcde12345";%0a---%0a> password = "username/freenode:password";%0a57,60c56,59%0a%3c Notice that the address must be example.ircnow.org; you want to connect first to the bouncer, then have the bouncer connect to another network.%0a%3c %0a%3c If you have issues with SSL verification, make sure you have CAs.pem located in the right folder. On OpenBSD, you would do this:%0a%3c %0a---%0a> Notice that the address should still be us9.ircnow.org, because you want to connect first to the bouncer, then have the bouncer connect to freenode.%0a> %0a> If you have issues with SSL verification, make sure you have CAs.pem located in the right folder. On OpenBSD 6.6, you would do this:%0a> %0a66c65,102%0a%3c To connect to multiple networks, use additional server blocks.%0a\ No newline at end of file%0a---%0a> To connect to multiple networks, add more blocks:%0a> %0a> %3ccode>%0a> servers = (%0a> {%0a> address = "us9.ircnow.org";%0a> chatnet = "freenode";%0a> port = "31337";%0a> password = "username/freenode:password";%0a> use_tls = "yes";%0a> tls_verify = "yes";%0a> tls_cafile = "~/.irssi/certs/CAs.pem";%0a> autoconnect = "yes";%0a> },%0a> {%0a> address = "us9.ircnow.org";%0a> chatnet = "ircnow";%0a> port = "31337";%0a> password = "username/ircnow:password";%0a> use_tls = "yes";%0a> tls_verify = "yes";%0a> tls_cafile = "~/.irssi/certs/CAs.pem";%0a> autoconnect = "yes";%0a> },%0a> {%0a> address = "us9.ircnow.org";%0a> chatnet = "oftc";%0a> port = "31337";%0a> password = "username/oftc:password";%0a> use_tls = "yes";%0a> tls_verify = "yes";%0a> tls_cafile = "~/.irssi/certs/CAs.pem";%0a> autoconnect = "yes";%0a> },%0a> )%0a> %3c/code>%0a> %0a> You will want to add the networks also in the [[irc:znc:webpanel|znc webpanel]]. Please see [[irc:znc:webpanel|the instructions]] for how to do that.%0a\ No newline at end of file%0a +host:1597145121=38.81.163.143 +author:1597144899=jrmu +diff:1597144899:1597144899:=1,102d0%0a%3c (:title Connecting with Irssi:)%0a%3c %0a%3c [@%0a%3c /network add network-bnc%0a%3c /server add -network network-bnc -auto -tls_verify example.ircnow.org 31337 username/network:password%0a%3c /save%0a%3c /connect network-bnc%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace network with your real network, username with your real username, password with your real password. For example:%0a%3c %0a%3c [@%0a%3c /network add ircnow-bnc%0a%3c /server add -network ircnow-bnc -auto -tls_verify bnc.ircnow.org 31337 john/ircnow:abcde12345%0a%3c /save%0a%3c /connect ircnow-bnc%0a%3c @]%0a%3c %0a%3c %0a%3c ====== Editing config directly ======%0a%3c %0a%3c In ~/.irssi/config, inside servers, add this block:%0a%3c %0a%3c %3ccode>%0a%3c servers = (%0a%3c {%0a%3c address = "us9.ircnow.org";%0a%3c chatnet = "yournetwork";%0a%3c port = "31337";%0a%3c password = "username/yournetwork:password";%0a%3c use_tls = "yes";%0a%3c tls_verify = "yes";%0a%3c tls_cafile = "~/.irssi/certs/CAs.pem";%0a%3c autoconnect = "yes";%0a%3c },%0a%3c )%0a%3c %3c/code>%0a%3c %0a%3c Suppose you want to connect to freenode. Here is what that block would look like:%0a%3c %0a%3c %3ccode>%0a%3c servers = (%0a%3c {%0a%3c address = "us9.ircnow.org";%0a%3c chatnet = "freenode";%0a%3c port = "31337";%0a%3c password = "username/freenode:password";%0a%3c use_tls = "yes";%0a%3c tls_verify = "yes";%0a%3c tls_cafile = "~/.irssi/certs/CAs.pem";%0a%3c autoconnect = "yes";%0a%3c },%0a%3c )%0a%3c %3c/code>%0a%3c %0a%3c Notice that the address should still be us9.ircnow.org, because you want to connect first to the bouncer, then have the bouncer connect to freenode.%0a%3c %0a%3c If you have issues with SSL verification, make sure you have CAs.pem located in the right folder. On OpenBSD 6.6, you would do this:%0a%3c %0a%3c %3ccode>%0a%3c $ mkdir -p ~/.irssi/certs%0a%3c $ cp /etc/ssl/cert.pem ~/.irssi/certs/CAs.pem%0a%3c %3c/code>%0a%3c %0a%3c To connect to multiple networks, add more blocks:%0a%3c %0a%3c %3ccode>%0a%3c servers = (%0a%3c {%0a%3c address = "us9.ircnow.org";%0a%3c chatnet = "freenode";%0a%3c port = "31337";%0a%3c password = "username/freenode:password";%0a%3c use_tls = "yes";%0a%3c tls_verify = "yes";%0a%3c tls_cafile = "~/.irssi/certs/CAs.pem";%0a%3c autoconnect = "yes";%0a%3c },%0a%3c {%0a%3c address = "us9.ircnow.org";%0a%3c chatnet = "ircnow";%0a%3c port = "31337";%0a%3c password = "username/ircnow:password";%0a%3c use_tls = "yes";%0a%3c tls_verify = "yes";%0a%3c tls_cafile = "~/.irssi/certs/CAs.pem";%0a%3c autoconnect = "yes";%0a%3c },%0a%3c {%0a%3c address = "us9.ircnow.org";%0a%3c chatnet = "oftc";%0a%3c port = "31337";%0a%3c password = "username/oftc:password";%0a%3c use_tls = "yes";%0a%3c tls_verify = "yes";%0a%3c tls_cafile = "~/.irssi/certs/CAs.pem";%0a%3c autoconnect = "yes";%0a%3c },%0a%3c )%0a%3c %3c/code>%0a%3c %0a%3c You will want to add the networks also in the [[irc:znc:webpanel|znc webpanel]]. Please see [[irc:znc:webpanel|the instructions]] for how to do that.%0a\ No newline at end of file%0a +host:1597144899=38.81.163.143 blob - /dev/null blob + e808e8caa9c52263222729b40339e05f09ee3e52 (mode 644) --- /dev/null +++ wiki.d/Bouncer.KVIrc @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217625 +host=198.251.81.119 +name=Bouncer.KVIrc +rev=1 +targets= +text=(:title Connecting with KVIrc:)%0a%0a[[https://kvirc.net/|KVIrc]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a%0a# After running KVIrc, you will see @@Servers and Configuration@@.%0a# Click on @@New Network@@:%0a# Attach:kvirc-config.png%0a# In @@Network@@, give the network a name.%0a# Attach:kvirc-network.png%0a# Click on @@New Server@@ and change it to the bouncer address. This is the server IRCNow sent by email, and it should look like example.ircnow.org.%0a# Click on @@Advanced...@@ and in the @@Identity@@ section, set your password and nicknames. For the username, write in username/network. For example, the username might be john/ircnow.%0a# Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a# If you get a message saying ZNC is not yet connected, type @@/znc connect@@. +time=1606217625 +title=Connecting with KVIrc +author:1606217625=jrmu +diff:1606217625:1606217625:=1,13d0%0a%3c (:title Connecting with KVIrc:)%0a%3c %0a%3c [[https://kvirc.net/|KVIrc]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a%3c %0a%3c # After running KVIrc, you will see @@Servers and Configuration@@.%0a%3c # Click on @@New Network@@:%0a%3c # Attach:kvirc-config.png%0a%3c # In @@Network@@, give the network a name.%0a%3c # Attach:kvirc-network.png%0a%3c # Click on @@New Server@@ and change it to the bouncer address. This is the server IRCNow sent by email, and it should look like example.ircnow.org.%0a%3c # Click on @@Advanced...@@ and in the @@Identity@@ section, set your password and nicknames. For the username, write in username/network. For example, the username might be john/ircnow.%0a%3c # Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a%3c # If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a\ No newline at end of file%0a +host:1606217625=198.251.81.119 blob - /dev/null blob + d7927a7533f00f31a597d9c18296aada1e295f37 (mode 644) --- /dev/null +++ wiki.d/Bouncer.KiwiIRC @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217675 +host=198.251.81.119 +name=Bouncer.KiwiIRC +rev=1 +targets= +text=(:title Connecting with KiwiIRC:)%0a%0a[[https://kiwiirc.com/nextclient/|KiwiIRC]] is an open-source IRC client that runs in your web browser.%0a%0a# Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.\\%0aAttach:kiwiirc-add.png%0a# Click on @@ZNC@@, then fill in the details:\\%0aAttach:kiwiirc-znc.png%0a # @@Server@@: your bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # Check the padlock icon to enable SSL%0a # @@Username@@: the bouncer username you registered%0a # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Click on @@Connect to Network@@.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606217675 +title=Connecting with KiwiIRC +author:1606217675=jrmu +diff:1606217675:1606217675:=1,15d0%0a%3c (:title Connecting with KiwiIRC:)%0a%3c %0a%3c [[https://kiwiirc.com/nextclient/|KiwiIRC]] is an open-source IRC client that runs in your web browser.%0a%3c %0a%3c # Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.\\%0a%3c Attach:kiwiirc-add.png%0a%3c # Click on @@ZNC@@, then fill in the details:\\%0a%3c Attach:kiwiirc-znc.png%0a%3c # @@Server@@: your bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # Check the padlock icon to enable SSL%0a%3c # @@Username@@: the bouncer username you registered%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Click on @@Connect to Network@@.%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606217675=198.251.81.119 blob - /dev/null blob + 5768fd8068a1eb7ce10af7ffee6720c8b011fe01 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Kiwiirc @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597289753 +host=38.81.163.143 +name=Bouncer.Kiwiirc +rev=8 +targets= +text=(:title Connecting with KiwiIRC:)%0a%0a[[https://kiwiirc.com/nextclient/|KiwiIRC]] is an open-source IRC client that runs in your web browser.%0a%0a# Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.\\%0aAttach:kiwiirc-add.png%0a# Click on @@ZNC@@, then fill in the details:\\%0aAttach:kiwiirc-znc.png%0a # @@Server@@: your bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # Check the padlock icon to enable SSL%0a # @@Username@@: the bouncer username you registered%0a # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Click on @@Connect to Network@@.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597640302 +title=Connecting with KiwiIRC +author:1597640302=jrmu +diff:1597640302:1597638857:=13c13%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a---%0a> # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@\%0a +host:1597640302=38.81.163.143 +author:1597638857=jrmu +diff:1597638857:1597638838:=8c8%0a%3c Attach:kiwiirc-znc.png%0a---%0a> Attach:kiwiirc-znc.png\\%0a +host:1597638857=38.81.163.143 +author:1597638838=jrmu +diff:1597638838:1597638737:= +host:1597638838=38.81.163.143 +author:1597638737=jrmu +diff:1597638737:1597638000:=7,14c7,10%0a%3c # Click on @@ZNC@@, then fill in the details:\\%0a%3c Attach:kiwiirc-znc.png\\%0a%3c # @@Server@@: your bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # Check the padlock icon to enable SSL%0a%3c # @@Username@@: the bouncer username you registered%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if you registered the username @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@\%0a%3c # Click on @@Connect to Network@@.%0a---%0a> # Click on @@ZNC@@.\\%0a> Attach:kiwiirc-znc.png%0a> # The username, password, bouncer server, and port should be what you received by email. The server should look like bnc.ircnow.org, and the port 31337. Click on the padlock icon to have a secure connection (to enable SSL).%0a> # Click on @@Connect to Network@@.%0a +host:1597638737=38.81.163.143 +author:1597638000=jrmu +diff:1597638000:1597637659:=10,11c10%0a%3c # Click on @@Connect to Network@@.%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> # Click on @@Connect to Network@@.%0a\ No newline at end of file%0a +host:1597638000=38.81.163.143 +author:1597637659=jrmu +diff:1597637659:1597290054:=3,8c3,6%0a%3c [[https://kiwiirc.com/nextclient/|KiwiIRC]] is an open-source IRC client that runs in your web browser.%0a%3c %0a%3c # Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.\\%0a%3c Attach:kiwiirc-add.png%0a%3c # Click on @@ZNC@@.\\%0a%3c Attach:kiwiirc-znc.png%0a---%0a> # Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.%0a> # Attach:kiwiirc-add.png%0a> # Click on @@ZNC@@.%0a> # Attach:kiwiirc-znc.png%0a +host:1597637659=38.81.163.143 +author:1597290054=jrmu +diff:1597290054:1597289753:=1,8c1,21%0a%3c (:title Connecting with KiwiIRC:)%0a%3c %0a%3c # Open [[https://kiwiirc.com/nextclient/|KiwiIRC]], then click on @@Add a Network@@.%0a%3c # Attach:kiwiirc-add.png%0a%3c # Click on @@ZNC@@.%0a%3c # Attach:kiwiirc-znc.png%0a%3c # The username, password, bouncer server, and port should be what you received by email. The server should look like bnc.ircnow.org, and the port 31337. Click on the padlock icon to have a secure connection (to enable SSL).%0a%3c # Click on @@Connect to Network@@.%0a\ No newline at end of file%0a---%0a> To connect to your bouncer using kiwiirc first launch kiwiirc web client then click on "Add a Network"%0a> %0a> {{:irc:kiwiirc1.png?direct&400|}}%0a> %0a> then click on "ZNC"%0a> %0a> {{:irc:kiwiirc2.png?direct&400|}}%0a> %0a> fill in the fields%0a> %0a> server: with whatever your server for bouncer is e.g us9.ircnow.org%0a> %0a> Username: whatever your username is%0a> %0a> Network: ircnow%0a> %0a> Password: your password for bouncer account%0a> %0a> Port: 31337 for SSL%0a> %0a> click on "connect to network" and you are done!%0a\ No newline at end of file%0a +host:1597290054=38.81.163.143 +author:1597289753=jrmu +diff:1597289753:1597289753:=1,21d0%0a%3c To connect to your bouncer using kiwiirc first launch kiwiirc web client then click on "Add a Network"%0a%3c %0a%3c {{:irc:kiwiirc1.png?direct&400|}}%0a%3c %0a%3c then click on "ZNC"%0a%3c %0a%3c {{:irc:kiwiirc2.png?direct&400|}}%0a%3c %0a%3c fill in the fields%0a%3c %0a%3c server: with whatever your server for bouncer is e.g us9.ircnow.org%0a%3c %0a%3c Username: whatever your username is%0a%3c %0a%3c Network: ircnow%0a%3c %0a%3c Password: your password for bouncer account%0a%3c %0a%3c Port: 31337 for SSL%0a%3c %0a%3c click on "connect to network" and you are done!%0a\ No newline at end of file%0a +host:1597289753=38.81.163.143 blob - /dev/null blob + 7695fb9afc4ffd3fd408624b1a71d399187be04b (mode 644) --- /dev/null +++ wiki.d/Bouncer.Konversation @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +author=mkf +charset=UTF-8 +csum= +ctime=1628952372 +host=2.178.173.183 +name=Bouncer.Konversation +rev=1 +targets= +text=create an server, and set following as written:%0a[@%0aserver: bnc.example.org%0aport: 31337%0aenable Secure connection%0aserver password: User/Network:Password%0a@]%0areplace @@bnc.example.org@@ with what stated on your email, replace "User" on password with your username replace Network as Network you want to connect, for example if your username is john, your network is ircnow and your account password is abc123 your server password would be:%0a@@john/ircnow:abc123@@ +time=1628952372 +author:1628952372=mkf +diff:1628952372:1628952372:=1,9d0%0a%3c create an server, and set following as written:%0a%3c [@%0a%3c server: bnc.example.org%0a%3c port: 31337%0a%3c enable Secure connection%0a%3c server password: User/Network:Password%0a%3c @]%0a%3c replace @@bnc.example.org@@ with what stated on your email, replace "User" on password with your username replace Network as Network you want to connect, for example if your username is john, your network is ircnow and your account password is abc123 your server password would be:%0a%3c @@john/ircnow:abc123@@%0a\ No newline at end of file%0a +host:1628952372=2.178.173.183 blob - /dev/null blob + 87cb637844d2c0121731aa488dc632e6b0b653a9 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Kvirc @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597289205 +host=38.81.163.143 +name=Bouncer.Kvirc +rev=4 +targets= +text=(:title Connecting with KVIrc:)%0a%0a[[https://kvirc.net/|KVIrc]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a%0a# After running KVIrc, you will see @@Servers and Configuration@@.%0a# Click on @@New Network@@:%0a# Attach:kvirc-config.png%0a# In @@Network@@, give the network a name.%0a# Attach:kvirc-network.png%0a# Click on @@New Server@@ and change it to the bouncer address. This is the server IRCNow sent by email, and it should look like example.ircnow.org.%0a# Click on @@Advanced...@@ and in the @@Identity@@ section, set your password and nicknames. For the username, write in username/network. For example, the username might be john/ircnow.%0a# Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a# If you get a message saying ZNC is not yet connected, type @@/znc connect@@. +time=1597634581 +title=Connecting with KVIrc +author:1597634581=jrmu +diff:1597634581:1597578284:=12,13c12%0a%3c # Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a%3c # If you get a message saying ZNC is not yet connected, type @@/znc connect@@. %0a\ No newline at end of file%0a---%0a> # Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a\ No newline at end of file%0a +host:1597634581=38.81.163.143 +author:1597578284=jrmu +diff:1597578284:1597289631:=2,3d1%0a%3c %0a%3c [[https://kvirc.net/|KVIrc]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a +host:1597578284=38.81.163.143 +author:1597289631=jrmu +diff:1597289631:1597289205:=1,10c1,21%0a%3c (:title Connecting with KVIrc:)%0a%3c %0a%3c # After running KVIrc, you will see @@Servers and Configuration@@.%0a%3c # Click on @@New Network@@:%0a%3c # Attach:kvirc-config.png%0a%3c # In @@Network@@, give the network a name.%0a%3c # Attach:kvirc-network.png%0a%3c # Click on @@New Server@@ and change it to the bouncer address. This is the server IRCNow sent by email, and it should look like example.ircnow.org.%0a%3c # Click on @@Advanced...@@ and in the @@Identity@@ section, set your password and nicknames. For the username, write in username/network. For example, the username might be john/ircnow.%0a%3c # Go to @@Connection@@ section and set the port to 31337. Check @@Use SSL Protocol@@. Click @@OK@@.%0a\ No newline at end of file%0a---%0a> To setup bouncer on kvirc first run kvirc %0a> %0a> on running kvirc you will get "servers and configuration"%0a> %0a> click on "new network" as shown in the picture%0a> %0a> {{:kvirc1.png?direct&400|}}%0a> %0a> Next from "Network:" you can give this newly created network a name of your choice. For example we have given it the name "ircnow"%0a> %0a> {{:kvirc2.png?direct&400|}}%0a> %0a> Next while your newly created network is selected, click on "new server" and change its address to your server for bnc. e.g us9.ircnow.org%0a> %0a> Now next click on "advanced..." button and set settings in "Identity" section for your username, password and nicknames%0a> %0a> username should be in the format username/networkName%0a> %0a> Once you are done in "Identity" section go to "Connection" section and make sure port is set to 31337 and "Use SSL protocol" is checked%0a> %0a> Click "Ok" and you are done setting up your bouncer!%0a\ No newline at end of file%0a +host:1597289631=38.81.163.143 +author:1597289205=jrmu +diff:1597289205:1597289205:=1,21d0%0a%3c To setup bouncer on kvirc first run kvirc %0a%3c %0a%3c on running kvirc you will get "servers and configuration"%0a%3c %0a%3c click on "new network" as shown in the picture%0a%3c %0a%3c {{:kvirc1.png?direct&400|}}%0a%3c %0a%3c Next from "Network:" you can give this newly created network a name of your choice. For example we have given it the name "ircnow"%0a%3c %0a%3c {{:kvirc2.png?direct&400|}}%0a%3c %0a%3c Next while your newly created network is selected, click on "new server" and change its address to your server for bnc. e.g us9.ircnow.org%0a%3c %0a%3c Now next click on "advanced..." button and set settings in "Identity" section for your username, password and nicknames%0a%3c %0a%3c username should be in the format username/networkName%0a%3c %0a%3c Once you are done in "Identity" section go to "Connection" section and make sure port is set to 31337 and "Use SSL protocol" is checked%0a%3c %0a%3c Click "Ok" and you are done setting up your bouncer!%0a\ No newline at end of file%0a +host:1597289205=38.81.163.143 blob - /dev/null blob + 890d4d64674df5b68e205b196b31030fd1629871 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Limechat @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597327022 +host=38.81.163.143 +name=Bouncer.Limechat +rev=6 +targets= +text=(:title Connecting with LimeChat:)%0a%0a[[http://limechat.net/mac/|LimeChat]] is an open-source IRC client for Mac and iOS.%0a%0a# From the menu, select @@Server@@ → @@Add Server@@.\\%0aAttach:limechat-menu.png%0a# In the General tab:\\%0aAttach:limechat-general.png%0a # For network name, type in your network name.%0a # Check @@Connect on start up@@.%0a # For server, fill in the server you received in the email (it should look like @@example.ircnow.org@@).%0a # For port, fill in 31337. Check @@SSL connection@@.%0a # For server password, type in username/network:password. For example, if you registered the bouncer username @@john@@, you want to connect to the network @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.%0a # For nickname, login name, and real name, fill in the bouncer username you registered.%0a # Click @@OK@@ at the bottom-right corner.%0a# From the menu, select @@Server@@ → @@Connect@@.%0a# If you get a message saying ZNC is not yet connected, type @@/znc connect@@. +time=1597637415 +title=Connecting with LimeChat +author:1597637415=jrmu +diff:1597637415:1597637245:=2,3d1%0a%3c %0a%3c [[http://limechat.net/mac/|LimeChat]] is an open-source IRC client for Mac and iOS.%0a +host:1597637415=38.81.163.143 +author:1597637245=jrmu +diff:1597637245:1597637115:=14,15c14%0a%3c # From the menu, select @@Server@@ → @@Connect@@.%0a%3c # If you get a message saying ZNC is not yet connected, type @@/znc connect@@. %0a\ No newline at end of file%0a---%0a> # From the menu, select @@Server@@ → @@Connect@@.%0a\ No newline at end of file%0a +host:1597637245=38.81.163.143 +author:1597637115=jrmu +diff:1597637115:1597328242:=3c3%0a%3c # From the menu, select @@Server@@ → @@Add Server@@.\\%0a---%0a> # From the menu, select @@Server@@ --> @@Add Server@@.\\%0a14c14%0a%3c # From the menu, select @@Server@@ → @@Connect@@.%0a\ No newline at end of file%0a---%0a> # From the menu, select @@Server@@ --> @@Connect@@.%0a\ No newline at end of file%0a +host:1597637115=38.81.163.143 +author:1597328242=jrmu +diff:1597328242:1597327313:=13,14c13%0a%3c # Click @@OK@@ at the bottom-right corner.%0a%3c # From the menu, select @@Server@@ --> @@Connect@@.%0a\ No newline at end of file%0a---%0a> # Click @@OK@@ at the bottom-right corner.%0a\ No newline at end of file%0a +host:1597328242=38.81.163.143 +author:1597327313=jrmu +diff:1597327313:1597327022:=6c6%0a%3c Attach:limechat-general.png%0a---%0a> Attach:limechat-general.png\\%0a +host:1597327313=38.81.163.143 +author:1597327022=jrmu +diff:1597327022:1597327022:=1,13d0%0a%3c (:title Connecting with LimeChat:)%0a%3c %0a%3c # From the menu, select @@Server@@ --> @@Add Server@@.\\%0a%3c Attach:limechat-menu.png%0a%3c # In the General tab:\\%0a%3c Attach:limechat-general.png\\%0a%3c # For network name, type in your network name.%0a%3c # Check @@Connect on start up@@.%0a%3c # For server, fill in the server you received in the email (it should look like @@example.ircnow.org@@).%0a%3c # For port, fill in 31337. Check @@SSL connection@@.%0a%3c # For server password, type in username/network:password. For example, if you registered the bouncer username @@john@@, you want to connect to the network @@ircnow@@, and your password is @@abcde12345@@, fill in @@john/ircnow:abcde12345@@.%0a%3c # For nickname, login name, and real name, fill in the bouncer username you registered.%0a%3c # Click @@OK@@ at the bottom-right corner.%0a\ No newline at end of file%0a +host:1597327022=38.81.163.143 blob - /dev/null blob + 4711d26ab0ee5e48fb47d3912dcd5c2cf04f642c (mode 644) --- /dev/null +++ wiki.d/Bouncer.MIRC @@ -0,0 +1,133 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597133764 +host=38.81.163.143 +name=Bouncer.MIRC +rev=40 +targets=Bouncer.Bouncer +text=(:title Connection with mIRC:)%0a%0a[[https://www.mirc.com/|mIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%0a!! Graphical Method%0a%0a# To see if SSL is supported, type this inside an mIRC window:\\%0a[@%0a//echo -ag $sslready%0a@]\\%0aAttach:mIRC-ssl1.png%0a# Click @@Yes@@.\\%0aAttach:mIRC-ssl2.png%0a# If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.\\%0aAttach:mIRC-ssl3.png%0a# From the menu bar, select @@File@@ → @@Select Server@@ or type @@Alt+E@@.\\%0aAttach:mIRC-options.png%0a# Click on @@Add@@.\\%0aAttach:mIRC-addserver.png\\%0aIf your mIRC supports SSL, fill in these details:\\%0a[@%0aDescription: network-bnc%0aAddress: example.ircnow.org%0aPorts: +31337%0aPassword: username/network:password%0a@]\\%0aReplace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a[@%0aDescription: ircnow-bnc%0aAddress: example.ircnow.org%0aPorts: +31337%0aPassword: john/ircnow:abcde12345%0a@]\\%0a# If your mIRC does '''not''' support SSL, fill in these details:\\%0a[@%0aDescription: network-bnc%0aAddress: example.ircnow.org%0aPorts: 1337%0aPassword: username/network:password%0a@]\\%0aReplace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a[@%0aDescription: ircnow-bnc%0aAddress: example.ircnow.org%0aPorts: 1337%0aPassword: john/ircnow:abcde12345%0a@]%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%0a!! mIRC 7.33 (beta) to 7.41 users%0a%0aThere is a bug in mIRC. You must load this script (Attach:znc.mrc):%0a%0a[@%0a; ZNC 1.7.0 added support for server-time.%0a; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a; by KindOne%0a; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a; Remove support for server-time and finish the CAP so%0a; mirc can connect.%0araw *:*:{%0a if (($version %3c 7.33) || ($version > 7.41)) { return }%0a if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a cap req -server-time%0a cap end%0a }%0a}%0a@]%0a%0aPress @@Alt+R@@ to load Remote Scripts, then copy the text above and paste it inside, then press @@OK@@.%0a%0aAttach:mIRC-remotescripts.png\\%0a%0aAlternatively, save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a%0a!! mIRC version 7.41 or later%0a%0aType this inside an mIRC window:%0a%0a[@%0a/server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a/server network-bnc%0a@]%0a%0aReplace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%0aFor example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%0a[@%0a/server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a/server ircnow-bnc%0a@]%0a%0aAttach:mIRC-commandssl.png\\%0a%0aIf you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%0a!! mIRC version 6.x%0a%0aType this inside an mIRC window:%0a%0a[@%0a/server -a example.ircnow.org -p 1337 -g network-bnc -w username/network:password -d network-bnc%0a/server network-bnc%0a@]%0a%0aReplace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a%0aFor example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%0a[@%0a/server -a example.ircnow.org -p 1337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a/server ircnow-bnc%0a@]%0a%0aIf you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%0a!! Adding Multiple Networks%0a%0aPress @@Alt+R@@ and click on the tab @@Remote@@:%0a%0a[@%0aon *:start: {%0a server example.ircnow.org +31337 username/network1:password%0a server -m example.ircnow.org +31337 username/network2:password%0a server -m example.ircnow.org +31337 username/network3:password%0a server -m example.ircnow.org +31337 username/network4:password%0a}%0a@]%0a%0aAttach:mirc-multiple.png%0a%0aReplace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you do not have SSL, replace +31337 with 1337 (no plus sign). If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1599364787 +title=Connection with mIRC +author:1599364787=jrmu +diff:1599364787:1597631383:=112a113,130%0a> /server ircnow-bnc%0a> @]%0a> %0a> If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a> Then type this into an mIRC window:%0a> %0a> [@%0a> /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a> /server network-bnc%0a> @]%0a> %0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a> For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a> %0a> [@%0a> /server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a +host:1599364787=38.81.163.143 +author:1597631383=jrmu +diff:1597631383:1597574610:=16c16%0a%3c # From the menu bar, select @@File@@ → @@Select Server@@ or type @@Alt+E@@.\\%0a---%0a> # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@Alt+E@@.\\%0a +host:1597631383=38.81.163.143 +author:1597574610=jrmu +diff:1597574610:1597385327:=48,49c48,49%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a96,97c96,97%0a%3c If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a116,117c116,117%0a%3c If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a134,135c134,135%0a%3c If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a151c151%0a%3c Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you do not have SSL, replace +31337 with 1337 (no plus sign). If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you do not have SSL, replace +31337 with 1337 (no plus sign). If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597574610=38.81.163.143 +author:1597385327=jrmu +diff:1597385327:1597384738:=138,139c138%0a%3c Press @@Alt+R@@ and click on the tab @@Remote@@:%0a%3c %0a---%0a> # Press @@Alt+R@@ and click on the tab @@Remote@@:%0a148,149d146%0a%3c %0a%3c Attach:mirc-multiple.png%0a +host:1597385327=38.81.163.143 +author:1597384738=jrmu +diff:1597384738:1597384183:=136,138c136,141%0a%3c !! Adding Multiple Networks%0a%3c %0a%3c # Press @@Alt+R@@ and click on the tab @@Remote@@:%0a---%0a> ----%0a> %0a> %0a> ----%0a> %0a> # If you want to have multiple networks, type Alt+R and choose the tab Remote:%0a148c151%0a%3c Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you do not have SSL, replace +31337 with 1337 (no plus sign). If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597384738=38.81.163.143 +author:1597384183=jrmu +diff:1597384183:1597382858:=70,74c70%0a%3c Press @@Alt+R@@ to load Remote Scripts, then copy the text above and paste it inside, then press @@OK@@.%0a%3c %0a%3c Attach:mIRC-remotescripts.png\\%0a%3c %0a%3c Alternatively, save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a---%0a> Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a +host:1597384183=38.81.163.143 +author:1597382858=jrmu +diff:1597382858:1597382423:=5,7c5,8%0a%3c !! Graphical Method%0a%3c %0a%3c # To see if SSL is supported, type this inside an mIRC window:\\%0a---%0a> !! mIRC version 7.41 or later%0a> %0a> Type this inside an mIRC window:%0a> %0a9,20c10,17%0a%3c //echo -ag $sslready%0a%3c @]\\%0a%3c Attach:mIRC-ssl1.png%0a%3c # Click @@Yes@@.\\%0a%3c Attach:mIRC-ssl2.png%0a%3c # If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.\\%0a%3c Attach:mIRC-ssl3.png%0a%3c # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@Alt+E@@.\\%0a%3c Attach:mIRC-options.png%0a%3c # Click on @@Add@@.\\%0a%3c Attach:mIRC-addserver.png\\%0a%3c If your mIRC supports SSL, fill in these details:\\%0a---%0a> /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a> /server network-bnc%0a> @]%0a> %0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a> For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a> %0a22,27c19,30%0a%3c Description: network-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: +31337%0a%3c Password: username/network:password%0a%3c @]\\%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a---%0a> /server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a> /server ircnow-bnc%0a> @]%0a> %0a> Attach:mIRC-commandssl.png\\%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a> !! mIRC version 6.x%0a> %0a> Type this inside an mIRC window:%0a> %0a29,34c32,39%0a%3c Description: ircnow-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: +31337%0a%3c Password: john/ircnow:abcde12345%0a%3c @]\\%0a%3c # If your mIRC does '''not''' support SSL, fill in these details:\\%0a---%0a> /server -a example.ircnow.org -p 1337 -g network-bnc -w username/network:password -d network-bnc%0a> /server network-bnc%0a> @]%0a> %0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a> %0a> For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a> %0a36,46c41,42%0a%3c Description: network-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: 1337%0a%3c Password: username/network:password%0a%3c @]\\%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a%3c [@%0a%3c Description: ircnow-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: 1337%0a%3c Password: john/ircnow:abcde12345%0a---%0a> /server -a example.ircnow.org -p 1337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a> /server ircnow-bnc%0a48,49c44,46%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a52,53c49,52%0a%3c There is a bug in mIRC. You must load this script (Attach:znc.mrc):%0a%3c %0a---%0a> There is a bug in mIRC.%0a> %0a> You must load this script (Attach:znc.mrc):%0a> %0a70,75c69,70%0a%3c Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a%3c %0a%3c !! mIRC version 7.41 or later%0a%3c %0a%3c Type this inside an mIRC window:%0a%3c %0a---%0a> Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC. Then type this into an mIRC window:%0a> %0a90,91d84%0a%3c Attach:mIRC-commandssl.png\\%0a%3c %0a94,97c87,91%0a%3c !! mIRC version 6.x%0a%3c %0a%3c Type this inside an mIRC window:%0a%3c %0a---%0a> ----%0a> %0a> !! Graphical Method%0a> %0a> # To see if SSL is supported, type this inside an mIRC window:\\%0a99,106c93,104%0a%3c /server -a example.ircnow.org -p 1337 -g network-bnc -w username/network:password -d network-bnc%0a%3c /server network-bnc%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a---%0a> //echo -ag $sslready%0a> @]\\%0a> Attach:mIRC-ssl1.png%0a> # Click @@Yes@@.\\%0a> Attach:mIRC-ssl2.png%0a> # If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.\\%0a> Attach:mIRC-ssl3.png%0a> # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@Alt+E@@.\\%0a> Attach:mIRC-options.png%0a> # Click on @@Add@@.\\%0a> Attach:mIRC-addserver.png\\%0a> If your mIRC supports SSL, fill in these details:\\%0a108,115c106,111%0a%3c /server -a example.ircnow.org -p 1337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a%3c /server ircnow-bnc%0a%3c @]%0a%3c %0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c Then type this into an mIRC window:%0a%3c %0a---%0a> Description: network-bnc%0a> Address: example.ircnow.org%0a> Ports: +31337%0a> Password: username/network:password%0a> @]\\%0a> Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a117,124c113,118%0a%3c /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a%3c /server network-bnc%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a---%0a> Description: ircnow-bnc%0a> Address: example.ircnow.org%0a> Ports: +31337%0a> Password: john/ircnow:abcde12345%0a> @]\\%0a> # If your mIRC does '''not''' support SSL, fill in these details:\\%0a126,127c120,130%0a%3c /server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a%3c /server ircnow-bnc%0a---%0a> Description: network-bnc%0a> Address: example.ircnow.org%0a> Ports: 1337%0a> Password: username/network:password%0a> @]\\%0a> Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a> [@%0a> Description: ircnow-bnc%0a> Address: example.ircnow.org%0a> Ports: 1337%0a> Password: john/ircnow:abcde12345%0a129,133c132,133%0a%3c %0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c ----%0a%3c %0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a +host:1597382858=38.81.163.143 +author:1597382423=jrmu +diff:1597382423:1597382302:=23a24%0a> Attach:mIRC-commandssl2.png%0a +host:1597382423=38.81.163.143 +author:1597382302=jrmu +diff:1597382302:1597382170:=23,24c23%0a%3c Attach:mIRC-commandssl.png\\%0a%3c Attach:mIRC-commandssl2.png%0a---%0a> Attach:mIRC-commandssl.png%0a +host:1597382302=38.81.163.143 +author:1597382170=jrmu +diff:1597382170:1597382093:=111c111%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a---%0a> Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345:\\%0a125c125%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:\\%0a---%0a> Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345:\\%0a134d133%0a%3c ----%0a +host:1597382170=38.81.163.143 +author:1597382093=jrmu +diff:1597382093:1597382047:=104c104%0a%3c If your mIRC supports SSL, fill in these details:\\%0a---%0a> If the output is $true, fill in these details:\\%0a118c118%0a%3c # If your mIRC does '''not''' support SSL, fill in these details:\\%0a---%0a> # If the output is $false:\\%0a +host:1597382093=38.81.163.143 +author:1597382047=jrmu +diff:1597382047:1597381989:= +host:1597382047=38.81.163.143 +author:1597381989=jrmu +diff:1597381989:1597381030:=103,104c103,104%0a%3c Attach:mIRC-addserver.png\\%0a%3c If the output is $true, fill in these details:\\%0a---%0a> Attach:mIRC-addserver.png%0a> # If the output is $true:\\%0a111c111,112%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345:\\%0a---%0a> Replace example.ircnow.org with your server's address; replace network, username and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> # If the output is $false:\\%0a113c114%0a%3c Description: ircnow-bnc%0a---%0a> Description: network-bnc%0a116c117%0a%3c Password: john/ircnow:abcde12345%0a---%0a> Password: username/network:password%0a118,134d118%0a%3c # If the output is $false:\\%0a%3c [@%0a%3c Description: network-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: 1337%0a%3c Password: username/network:password%0a%3c @]\\%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. For example, if your username is john, the network you want to connect to is ircnow, and your password is abcde12345:\\%0a%3c [@%0a%3c Description: ircnow-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: 1337%0a%3c Password: john/ircnow:abcde12345%0a%3c @]%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c %0a +host:1597381989=38.81.163.143 +author:1597381030=jrmu +diff:1597381030:1597381007:=100c100%0a%3c # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@Alt+E@@.\\%0a---%0a> # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@alt+e@@.\\%0a +host:1597381030=38.81.163.143 +author:1597381007=jrmu +diff:1597381007:1597380957:=100c100%0a%3c # From the menu bar, select @@File@@ --> @@Select Server@@ or type @@alt+e@@.\\%0a---%0a> # From the menu bar, select @@File@@ --> @@Select Server@@ or type ALT+E.\\%0a +host:1597381007=38.81.163.143 +author:1597380957=jrmu +diff:1597380957:1597380842:=91c91,92%0a%3c # To see if SSL is supported, type this inside an mIRC window:\\%0a---%0a> To see if SSL is supported, type this inside an mIRC window:%0a> %0a94c95,96%0a%3c @]\\%0a---%0a> @]%0a> %0a96c98,100%0a%3c # Click @@Yes@@.\\%0a---%0a> %0a> Click @@Yes@@.%0a> %0a98c102,104%0a%3c # If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.\\%0a---%0a> %0a> If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.%0a> %0a99a106%0a> %0a104c111,112%0a%3c # If the output is $true:\\%0a---%0a> # If the output is $true:%0a> %0a110c118,119%0a%3c @]\\%0a---%0a> @]%0a> %0a112c121,123%0a%3c # If the output is $false:\\%0a---%0a> %0a> # If the output is $false:%0a> %0a118,119c129,132%0a%3c @]\\%0a%3c # If you want to have multiple networks, type Alt+R and choose the tab Remote:%0a---%0a> @]%0a> %0a> If you want to have multiple networks, type Alt+R and choose the tab Remote:%0a> %0a +host:1597380957=38.81.163.143 +author:1597380842=jrmu +diff:1597380842:1597379721:=107,110c107,109%0a%3c # From the menu bar, select @@File@@ --> @@Select Server@@ or type ALT+E.\\%0a%3c Attach:mIRC-options.png%0a%3c # Click on @@Add@@.\\%0a%3c Attach:mIRC-addserver.png%0a---%0a> # Select server.%0a> # Edit your ZNC server.%0a> # Attach:mIRC-connect.png%0a +host:1597380842=38.81.163.143 +author:1597379721=jrmu +diff:1597379721:1597379532:=97,100c97%0a%3c Attach:mIRC-ssl1.png%0a%3c %0a%3c Click @@Yes@@.%0a%3c %0a---%0a> Attach:mIRC-ssl1.png\\%0a102,105d98%0a%3c %0a%3c If $true, then your mIRC supports SSL. If $false, then your mIRC does '''not''' support SSL.%0a%3c %0a%3c Attach:mIRC-ssl3.png%0a +host:1597379721=38.81.163.143 +author:1597379532=jrmu +diff:1597379532:1597378966:=96,98d95%0a%3c %0a%3c Attach:mIRC-ssl1.png\\%0a%3c Attach:mIRC-ssl2.png%0a +host:1597379532=38.81.163.143 +author:1597378966=jrmu +diff:1597378966:1597378218:=29,30d28%0a%3c Type this inside an mIRC window:%0a%3c %0a89,96c87,90%0a%3c !! Graphical Method%0a%3c %0a%3c To see if SSL is supported, type this inside an mIRC window:%0a%3c %0a%3c [@%0a%3c //echo -ag $sslready%0a%3c @]%0a%3c %0a---%0a> # To see if SSL is supported, type this inside an mIRC window:%0a> [@%0a> //echo -ag $sslready%0a> @]%0a +host:1597378966=38.81.163.143 +author:1597378218=jrmu +diff:1597378218:1597378198:=7c7%0a%3c Type this inside an mIRC window:%0a---%0a> # Type this inside an mIRC window:\\%0a +host:1597378218=38.81.163.143 +author:1597378198=jrmu +diff:1597378198:1597377993:=7,8d6%0a%3c # Type this inside an mIRC window:\\%0a%3c %0a22,23d19%0a%3c %0a%3c Attach:mIRC-commandssl.png%0a +host:1597378198=38.81.163.143 +author:1597377993=jrmu +diff:1597377993:1597326074:=8,9c8%0a%3c /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a%3c /server network-bnc%0a---%0a> /server example.ircnow.org -p +31337 username/network:password%0a12,15c11,14%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a> !! mIRC version 6.x%0a> %0a17,18c16%0a%3c /server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a%3c /server ircnow-bnc%0a---%0a> /server example.ircnow.org -p 1337 username/network:password%0a21,24c19,26%0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c !! mIRC version 6.x%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a> !! mIRC 7.33 (beta) to 7.41 users%0a> %0a> There is a bug in mIRC.%0a> %0a> You must load this script (Attach:znc.mrc):%0a> %0a26,27c28,40%0a%3c /server -a example.ircnow.org -p 1337 -g network-bnc -w username/network:password -d network-bnc%0a%3c /server network-bnc%0a---%0a> ; ZNC 1.7.0 added support for server-time.%0a> ; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a> ; by KindOne%0a> ; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a> ; Remove support for server-time and finish the CAP so%0a> ; mirc can connect.%0a> raw *:*:{%0a> if (($version %3c 7.33) || ($version > 7.41)) { return }%0a> if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a> cap req -server-time%0a> cap end%0a> }%0a> }%0a30,33c43,44%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a---%0a> Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC. Then type this into an mIRC window:%0a> %0a35,36c46%0a%3c /server -a example.ircnow.org -p 1337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a%3c /server ircnow-bnc%0a---%0a> /server example.ircnow.org -p +31337 username/network:password%0a39,79c49,61%0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c !! mIRC 7.33 (beta) to 7.41 users%0a%3c %0a%3c There is a bug in mIRC.%0a%3c %0a%3c You must load this script (Attach:znc.mrc):%0a%3c %0a%3c [@%0a%3c ; ZNC 1.7.0 added support for server-time.%0a%3c ; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a%3c ; by KindOne%0a%3c ; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a%3c ; Remove support for server-time and finish the CAP so%0a%3c ; mirc can connect.%0a%3c raw *:*:{%0a%3c if (($version %3c 7.33) || ($version > 7.41)) { return }%0a%3c if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a%3c cap req -server-time%0a%3c cap end%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC. Then type this into an mIRC window:%0a%3c %0a%3c [@%0a%3c /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d network-bnc%0a%3c /server network-bnc%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a%3c For example, if the network you want to connect to is @@ircnow@@, your username is @@john@@, and your password is @@abcde12345@@, then:%0a%3c %0a%3c [@%0a%3c /server -a example.ircnow.org -p +31337 -g ircnow-bnc -w john/ircnow:abcde12345 -d ircnow-bnc%0a%3c /server ircnow-bnc%0a%3c @]%0a%3c %0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a> ----%0a> %0a> # To see if SSL is supported, type this inside an mIRC window:%0a> [@%0a> //echo -ag $sslready%0a> @]%0a> # Select server.%0a> # Edit your ZNC server.%0a> # Attach:mIRC-connect.png%0a> # If the output is $true:%0a> %0a +host:1597377993=38.81.163.143 +author:1597326074=jrmu +diff:1597326074:1597288341:=11a12,13%0a> %0a> /server example.ircnow.org -p +31337 username/network:password%0a +host:1597326074=38.81.163.143 +author:1597288341=jrmu +diff:1597288341:1597288260:=11,12c11,14%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a21,22c23,26%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a51,52c55,58%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a> If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a> %0a71,72c77,78%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. Make sure that you include the plus sign @@+@@ for @@+31337@@. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a---%0a> Replace example.ircnow.org with your server's address; replace network, username and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a93c99%0a%3c Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks. If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks.%0a\ No newline at end of file%0a +host:1597288341=38.81.163.143 +author:1597288260=jrmu +diff:1597288260:1597144472:=13,16d12%0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a%3c /server example.ircnow.org -p +31337 username/network:password%0a%3c %0a25,26d20%0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a%3c %0a56,57d49%0a%3c %0a%3c If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a +host:1597288260=38.81.163.143 +author:1597144472=jrmu +diff:1597144472:1597141610:=3c3%0a%3c [[https://www.mirc.com/|mIRC]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a---%0a> mIRC is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a +host:1597144472=38.81.163.143 +author:1597141610=jrmu +diff:1597141610:1597140377:=11,12c11,12%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a> %0a19,20c19,20%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password.%0a> %0a43,50c43,44%0a%3c Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC. Then type this into an mIRC window:%0a%3c %0a%3c [@%0a%3c /server example.ircnow.org -p +31337 username/network:password%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password with your real username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a---%0a> Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a> %0a84,87c78,81%0a%3c server example.ircnow.org +31337 username/network1:password%0a%3c server -m example.ircnow.org +31337 username/network2:password%0a%3c server -m example.ircnow.org +31337 username/network3:password%0a%3c server -m example.ircnow.org +31337 username/network4:password%0a---%0a> server example.ircnow.org +31337 username/network:password%0a> server -m example.ircnow.org +31337 username/network:password%0a> server -m example.ircnow.org +31337 username/network:password%0a> server -m example.ircnow.org +31337 username/network:password%0a91c85%0a%3c Replace example.ircnow.org with your server; replace username and password with your real username and password, and replace network1, network2, etc with your real networks.%0a\ No newline at end of file%0a---%0a> Replace example.ircnow.org with your server; replace username, network, and password with your real username, network, and password.%0a\ No newline at end of file%0a +host:1597141610=38.81.163.143 +author:1597140377=jrmu +diff:1597140377:1597140117:=78,81c78,81%0a%3c server example.ircnow.org +31337 username/network:password%0a%3c server -m example.ircnow.org +31337 username/network:password%0a%3c server -m example.ircnow.org +31337 username/network:password%0a%3c server -m example.ircnow.org +31337 username/network:password%0a---%0a> server us9.ircnow.org +31337 user123/freenode:pass123%0a> server -m us9.ircnow.org +31337 user124/freenode:pass123%0a> server -m us9.ircnow.org +31337 user125/freenode:pass123%0a> server -m us9.ircnow.org +31337 user126/freenode:pass123%0a85c85%0a%3c Replace example.ircnow.org with your server; replace username, network, and password with your real username, network, and password.%0a\ No newline at end of file%0a---%0a> Replace user123 with your real username, and pass123 with your real password.%0a\ No newline at end of file%0a +host:1597140377=38.81.163.143 +author:1597140117=jrmu +diff:1597140117:1597140018:= +host:1597140117=38.81.163.143 +author:1597140018=jrmu +diff:1597140018:1597139529:=11,12c11,12%0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a---%0a> Replace example.ircnow.org with your actual server; replace username, network, and password.%0a> %0a44a45,53%0a> !! mIRC version 7.41 or later%0a> %0a> [@%0a> /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d IRCNow%0a> /server IRCNow%0a> @]%0a> %0a> Replace example.ircnow.org with your server, network with your network, username%0a> %0a47,55c56,57%0a%3c # To see if SSL is supported, type this inside an mIRC window:%0a%3c [@%0a%3c //echo -ag $sslready%0a%3c @]%0a%3c # Select server.%0a%3c # Edit your ZNC server.%0a%3c # Attach:mIRC-connect.png%0a%3c # If the output is $true:%0a%3c %0a---%0a> To see if SSL is supported, type this inside an mIRC window:%0a> %0a57,60c59%0a%3c Description: network-bnc%0a%3c Address: example.ircnow.org%0a%3c Ports: +31337%0a%3c Password: username/network:password%0a---%0a> //echo -ag $sslready%0a63,69c62,75%0a%3c Replace example.ircnow.org with your server's address; replace network, username and password. Make sure that you include the plus sign @@+@@ for @@+31337@@.%0a%3c %0a%3c # If the output is $false:%0a%3c %0a%3c [@%0a%3c Description: network-bnc%0a%3c Address: example.ircnow.org%0a---%0a> If the output is $true, you should follow the steps below for a **secure** connection.%0a> %0a> %0a> %0a> Select server.%0a> Edit your ZNC server.%0a> %0a> Attach:mIRC-connect.png%0a> %0a> Here is a sample configuration for freenode:%0a> %0a> %3ccode>%0a> Description: freenode-bnc%0a> For Address: use your server for bnc here, for example us9.ircnow.org%0a71,76c77,85%0a%3c Password: username/network:password%0a%3c @]%0a%3c %0a%3c If you want to have multiple networks, type Alt+R and choose the tab Remote:%0a%3c %0a%3c [@%0a---%0a> Password: user123/freenode:pass123%0a> %3c/code>%0a> %0a> Replace user123 with your real username, and pass123 with your real password. Make sure that you include the plus sign '+' for port 31337 to ensure your chat messages are encrypted.%0a> %0a> %0a> When you use more then one bouncer go to Alt+R choose tab Remote%0a> %0a> %3ccode>%0a83,85c92,95%0a%3c @]%0a%3c %0a%3c Replace user123 with your real username, and pass123 with your real password.%0a\ No newline at end of file%0a---%0a> %3c/code>%0a> %0a> Replace user123 with your real username, and pass123 with your real password.%0a> %0a +host:1597140018=38.81.163.143 +author:1597139529=jrmu +diff:1597139529:1597139483:=25c25,27%0a%3c You must load this script (Attach:znc.mrc):%0a---%0a> You must load this script:%0a> %0a> Attach:znc.mrc%0a +host:1597139529=38.81.163.143 +author:1597139483=jrmu +diff:1597139483:1597139427:=26d25%0a%3c %0a28d26%0a%3c %0a +host:1597139483=38.81.163.143 +author:1597139427=jrmu +diff:1597139427:1597138765:=6a7,8%0a> %0a> %0a26c28%0a%3c Attach:znc.mrc%0a---%0a> %0a43c45%0a%3c Save this file as "znc.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a---%0a> Save this file as "znc-fix.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a +host:1597139427=38.81.163.143 +author:1597138765=jrmu +diff:1597138765:1597138670:=7,8c7,8%0a%3c %0a%3c %0a---%0a> Attach:mIRC-connect.png%0a> %0a66,67c66,67%0a%3c %0a%3c %0a---%0a> {{ :irc:mirc2.png?direct&400 |}}%0a> %0a71c71%0a%3c Attach:mIRC-connect.png%0a---%0a> {{ :irc:mirc3.png?direct&400 |}}%0a +host:1597138765=38.81.163.143 +author:1597138670=jrmu +diff:1597138670:1597138499:=6,7d5%0a%3c %0a%3c Attach:mIRC-connect.png%0a +host:1597138670=38.81.163.143 +author:1597138499=jrmu +diff:1597138499:1597138194:=3,4d2%0a%3c mIRC is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]].%0a%3c %0a54,58c52,55%0a%3c ----%0a%3c %0a%3c To see if SSL is supported, type this inside an mIRC window:%0a%3c %0a%3c [@%0a---%0a> First, you must check to see if SSL is supported. Enter the following command inside any mIRC window:%0a> %0a> {{ :irc:mirc1.png?direct&400 |}}%0a> %3ccode>%0a60c57,75%0a%3c @]%0a---%0a> %3c/code>%0a> %0a> If the output is $false, run these commands:%0a> %0a> %3ccode>%0a> %0a> %3c/code>%0a> %0a> If the output is $true, run these commands:%0a> %0a> %0a> %3ccode>%0a> /server -a us9.ircnow.org -p +31337 -g IRCNow -w username/network:password -d IRCNow%0a> /server IRCNow%0a> %3c/code>%0a> %0a> Replace username with your username, network with your desired network (for example dal or oftc), and password with your password. This connection is **very** insecure.%0a> %0a> It is better if you [[https://www.mirc.com/get.html|upgrade mIRC to support SSL]], or download [[https://hexchat.github.io/|Hexchat]], which is free of charge and open source.%0a +host:1597138499=38.81.163.143 +author:1597138194=jrmu +diff:1597138194:1597137514:=3,51c3%0a%3c !! mIRC version 7.41 or later%0a%3c %0a%3c [@%0a%3c /server example.ircnow.org -p +31337 username/network:password%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password.%0a%3c %0a%3c !! mIRC version 6.x%0a%3c %0a%3c [@%0a%3c /server example.ircnow.org -p 1337 username/network:password%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your actual server; replace username, network, and password.%0a%3c %0a%3c !! mIRC 7.33 (beta) to 7.41 users%0a%3c %0a%3c There is a bug in mIRC.%0a%3c %0a%3c You must load this script:%0a%3c %0a%3c [@%0a%3c ; ZNC 1.7.0 added support for server-time.%0a%3c ; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a%3c ; by KindOne%0a%3c ; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a%3c ; Remove support for server-time and finish the CAP so%0a%3c ; mirc can connect.%0a%3c raw *:*:{%0a%3c if (($version %3c 7.33) || ($version > 7.41)) { return }%0a%3c if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a%3c cap req -server-time%0a%3c cap end%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Save this file as "znc-fix.mrc" (do '''not''' save as znc.mrc.txt) and put it where you installed mIRC.%0a%3c %0a%3c !! mIRC version 7.41 or later%0a%3c %0a%3c [@%0a%3c /server -a example.ircnow.org -p +31337 -g network-bnc -w username/network:password -d IRCNow%0a%3c /server IRCNow%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your server, network with your network, username%0a%3c %0a---%0a> === For latest mIRC versions, at least >7.41 but not including 7.41 ===%0a62c14,15%0a%3c %0a---%0a> /server -a us9.ircnow.org -p 1337 -g IRCNow -w username/network:password -d IRCNow%0a> /server IRCNow%0a110a64,90%0a> === For mIRC 7.33 (beta) to 7.41 users ===%0a> There has been reports of mIRC 7.33 (beta) to 7.41 with inability to connect to ZNC bouncers. You will need to load this patch by KindOne, [[https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc|ZNC server time fix.mrc - BitBucket.org]].%0a> %0a> To load this script, you will need to do%0a> %3ccode>/load -rs filename%3c/code>%0a> Where filename is the name of the file you downloaded from BitBucket, and if it is placed outside of where your mIRC is installed, you will need to specify the full path to file. For more information see [[https://forums.mirc.com/ubbthreads.php/topics/163149/how_to_install_snippets,_add-o|here]].%0a> %0a> In case of KindOne's BitBucket site is inaccessible for any reason, here is the contents of the file,%0a> %3ccode>%0a> ; ZNC 1.7.0 added support for server-time.%0a> ; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a> ; by KindOne%0a> ; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a> ; Remove support for server-time and finish the CAP so%0a> ; mirc can connect.%0a> raw *:*:{%0a> if (($version %3c 7.33) || ($version > 7.41)) { return }%0a> if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a> cap req -server-time%0a> cap end%0a> }%0a> }%0a> %3c/code>%0a> Copy and paste the contents of that code snippet using a text editor like notepad, or notepad++ for instance, save it as the filename "znc-server-time-fix.mrc" or whatever filename you wish to use, provided that the extension is in .mrc format. E.g. "znc.mrc", not "znc.mrc.txt" for example. Place the file ideally into your installed mIRC location.%0a> %0a> === For mIRC users with version 6.x ===%0a> Your mIRC version may not have support for SSL, it is recommended that you should update to the latest version of mIRC. Follow the guide on top, see the section titled "For latest mIRC versions, at least >7.41 but not including 7.41". If your mIRC client does not have SSL support, you won't have a secure connection.%0a\ No newline at end of file%0a +host:1597138194=38.81.163.143 +author:1597137514=jrmu +diff:1597137514:1597133764:=1,2d0%0a%3c (:title Connection with mIRC:)%0a%3c %0a +host:1597137514=38.81.163.143 +author:1597133764=jrmu +diff:1597133764:1597133764:=1,88d0%0a%3c === For latest mIRC versions, at least >7.41 but not including 7.41 ===%0a%3c First, you must check to see if SSL is supported. Enter the following command inside any mIRC window:%0a%3c %0a%3c {{ :irc:mirc1.png?direct&400 |}}%0a%3c %3ccode>%0a%3c //echo -ag $sslready%0a%3c %3c/code>%0a%3c %0a%3c If the output is $false, run these commands:%0a%3c %0a%3c %3ccode>%0a%3c /server -a us9.ircnow.org -p 1337 -g IRCNow -w username/network:password -d IRCNow%0a%3c /server IRCNow%0a%3c %3c/code>%0a%3c %0a%3c If the output is $true, run these commands:%0a%3c %0a%3c %0a%3c %3ccode>%0a%3c /server -a us9.ircnow.org -p +31337 -g IRCNow -w username/network:password -d IRCNow%0a%3c /server IRCNow%0a%3c %3c/code>%0a%3c %0a%3c Replace username with your username, network with your desired network (for example dal or oftc), and password with your password. This connection is **very** insecure.%0a%3c %0a%3c It is better if you [[https://www.mirc.com/get.html|upgrade mIRC to support SSL]], or download [[https://hexchat.github.io/|Hexchat]], which is free of charge and open source.%0a%3c %0a%3c If the output is $true, you should follow the steps below for a **secure** connection.%0a%3c %0a%3c {{ :irc:mirc2.png?direct&400 |}}%0a%3c %0a%3c Select server.%0a%3c Edit your ZNC server.%0a%3c %0a%3c {{ :irc:mirc3.png?direct&400 |}}%0a%3c %0a%3c Here is a sample configuration for freenode:%0a%3c %0a%3c %3ccode>%0a%3c Description: freenode-bnc%0a%3c For Address: use your server for bnc here, for example us9.ircnow.org%0a%3c Ports: +31337%0a%3c Password: user123/freenode:pass123%0a%3c %3c/code>%0a%3c %0a%3c Replace user123 with your real username, and pass123 with your real password. Make sure that you include the plus sign '+' for port 31337 to ensure your chat messages are encrypted.%0a%3c %0a%3c %0a%3c When you use more then one bouncer go to Alt+R choose tab Remote%0a%3c %0a%3c %3ccode>%0a%3c on *:start: {%0a%3c server us9.ircnow.org +31337 user123/freenode:pass123%0a%3c server -m us9.ircnow.org +31337 user124/freenode:pass123%0a%3c server -m us9.ircnow.org +31337 user125/freenode:pass123%0a%3c server -m us9.ircnow.org +31337 user126/freenode:pass123%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Replace user123 with your real username, and pass123 with your real password.%0a%3c %0a%3c === For mIRC 7.33 (beta) to 7.41 users ===%0a%3c There has been reports of mIRC 7.33 (beta) to 7.41 with inability to connect to ZNC bouncers. You will need to load this patch by KindOne, [[https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc|ZNC server time fix.mrc - BitBucket.org]].%0a%3c %0a%3c To load this script, you will need to do%0a%3c %3ccode>/load -rs filename%3c/code>%0a%3c Where filename is the name of the file you downloaded from BitBucket, and if it is placed outside of where your mIRC is installed, you will need to specify the full path to file. For more information see [[https://forums.mirc.com/ubbthreads.php/topics/163149/how_to_install_snippets,_add-o|here]].%0a%3c %0a%3c In case of KindOne's BitBucket site is inaccessible for any reason, here is the contents of the file,%0a%3c %3ccode>%0a%3c ; ZNC 1.7.0 added support for server-time.%0a%3c ; mIRC 7.38 - 7.41 will stall/hang during the connection.%0a%3c ; by KindOne%0a%3c ; originally from https://bitbucket.org/KindOne/mirc-scripts-public/src/master/znc-server-time-fix.mrc%0a%3c ; Remove support for server-time and finish the CAP so%0a%3c ; mirc can connect.%0a%3c raw *:*:{%0a%3c if (($version %3c 7.33) || ($version > 7.41)) { return }%0a%3c if (($1 == irc.znc.in) && ($4-5 == ACK :server-time)) {%0a%3c cap req -server-time%0a%3c cap end%0a%3c }%0a%3c }%0a%3c %3c/code>%0a%3c Copy and paste the contents of that code snippet using a text editor like notepad, or notepad++ for instance, save it as the filename "znc-server-time-fix.mrc" or whatever filename you wish to use, provided that the extension is in .mrc format. E.g. "znc.mrc", not "znc.mrc.txt" for example. Place the file ideally into your installed mIRC location.%0a%3c %0a%3c === For mIRC users with version 6.x ===%0a%3c Your mIRC version may not have support for SSL, it is recommended that you should update to the latest version of mIRC. Follow the guide on top, see the section titled "For latest mIRC versions, at least >7.41 but not including 7.41". If your mIRC client does not have SSL support, you won't have a secure connection.%0a\ No newline at end of file%0a +host:1597133764=38.81.163.143 blob - /dev/null blob + 45dbdacf7b3639cca1f56df0d09159d054f3594c (mode 644) --- /dev/null +++ wiki.d/Bouncer.Mibbit @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597328510 +host=38.81.163.143 +name=Bouncer.Mibbit +rev=3 +targets=Bouncer.Bouncer +text=(:title Connecting with Mibbit:)%0a%0a[[https://chat.mibbit.com/|Mibbit]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]]. %0a%0a# Click on @@Server@@ and then @@Auth@@ to show the extra settings.\\%0aAttach:mibbit.png%0a# For server, type in @@example.ircnow.org:+31337@@, but replace @@example.ircnow.org@@ with the server address you received by email.%0a# Instead of @@NickServ@@, select @@Pass@@. In the password field, type in username/network:password. For example, if you registered the username @@john@@, you want to connect to the network @@ircnow@@, and your password is @@abcde12345@@, then you fille in @@john/ircnow:abcde12345@@.%0a# For @@Nick@@, fill in the bouncer username you registered,.%0a# Click on @@Connect@@.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597635713 +title=Connecting with Mibbit +author:1597635713=jrmu +diff:1597635713:1597328875:=10,11c10%0a%3c # Click on @@Connect@@.%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> # Click on @@Connect@@.%0a\ No newline at end of file%0a +host:1597635713=38.81.163.143 +author:1597328875=jrmu +diff:1597328875:1597328510:=1,10c1,4%0a%3c (:title Connecting with Mibbit:)%0a%3c %0a%3c [[https://chat.mibbit.com/|Mibbit]] is proprietary software. To protect your privacy and freedom, you should consider using an open source [[bouncer|IRC client]]. %0a%3c %0a%3c # Click on @@Server@@ and then @@Auth@@ to show the extra settings.\\%0a%3c Attach:mibbit.png%0a%3c # For server, type in @@example.ircnow.org:+31337@@, but replace @@example.ircnow.org@@ with the server address you received by email.%0a%3c # Instead of @@NickServ@@, select @@Pass@@. In the password field, type in username/network:password. For example, if you registered the username @@john@@, you want to connect to the network @@ircnow@@, and your password is @@abcde12345@@, then you fille in @@john/ircnow:abcde12345@@.%0a%3c # For @@Nick@@, fill in the bouncer username you registered,.%0a%3c # Click on @@Connect@@.%0a\ No newline at end of file%0a---%0a> (:title Connecting with mibbit:)%0a> %0a> [[mibbit]] is proprietary software. To protect your privacy and freedom, you should consider using an open source IRC client. %0a> #%0a\ No newline at end of file%0a +host:1597328875=38.81.163.143 +author:1597328510=jrmu +diff:1597328510:1597328510:=1,4d0%0a%3c (:title Connecting with mibbit:)%0a%3c %0a%3c [[mibbit]] is proprietary software. To protect your privacy and freedom, you should consider using an open source IRC client. %0a%3c #%0a\ No newline at end of file%0a +host:1597328510=38.81.163.143 blob - /dev/null blob + 0c6222f21c304180fd2a1d04af5e8276066b9ad7 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Pidgin @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597325853 +host=38.81.163.143 +name=Bouncer.Pidgin +rev=7 +targets= +text=(:title Connecting with Pidgin:)%0a%0a[[http://pidgin.im/|Pidgin]] is an open-source cross-platform chat client that works on Windows, Mac, and Linux.%0a%0a# Go to the menu bar and select @@Accounts@@ → @@Manage Accounts@@.\\%0aAttach:pidgin-menu.png%0a# Click on @@Add@@.\\%0aAttach:pidgin-accounts.png%0a# For @@Protocol@@, select @@IRC@@.\\%0aAttach:pidgin-protocol.png%0a# For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in @@username/network:password@@. For example, suppose you registered the username @@john@@, want to connect to the network @@ircnow@@, and have the password @@abcde12345@@. Then for password, you would put in @@john/ircnow:abcde12345@@. Check @@Remember password@@.\\%0aAttach:pidgin-basic.png%0a# For port, fill in 31337. For ident name and real name, fill in your bouncer username. Check @@Use SSL@@. \\%0aAttach:pidgin-advanced.png%0a# Click @@Add@@ at the bottom-right corner.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597633247 +title=Connecting with Pidgin +author:1597633247=jrmu +diff:1597633247:1597575851:=5c5%0a%3c # Go to the menu bar and select @@Accounts@@ → @@Manage Accounts@@.\\%0a---%0a> # Go to the menu bar and select @@Accounts@@ --> @@Manage Accounts@@.\\%0a11c11%0a%3c # For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in @@username/network:password@@. For example, suppose you registered the username @@john@@, want to connect to the network @@ircnow@@, and have the password @@abcde12345@@. Then for password, you would put in @@john/ircnow:abcde12345@@. Check @@Remember password@@.\\%0a---%0a> # For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in username/network:password. For example, suppose you registered the username john, want to connect to the network ircnow, and have the password abcde12345. Then for password, you would put in john/ircnow:abcde12345. Check @@Remember password@@.\\%0a +host:1597633247=38.81.163.143 +author:1597575851=jrmu +diff:1597575851:1597575827:=16c16%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597575851=38.81.163.143 +author:1597575827=jrmu +diff:1597575827:1597326016:=2,3d1%0a%3c %0a%3c [[http://pidgin.im/|Pidgin]] is an open-source cross-platform chat client that works on Windows, Mac, and Linux.%0a +host:1597575827=38.81.163.143 +author:1597326016=jrmu +diff:1597326016:1597325931:=13,14c13%0a%3c # Click @@Add@@ at the bottom-right corner.%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # Click @@Add@@ at the bottom-right corner.%0a\ No newline at end of file%0a +host:1597326016=38.81.163.143 +author:1597325931=jrmu +diff:1597325931:1597325866:=5c5%0a%3c # Click on @@Add@@.\\%0a---%0a> # Click on @Add@@.\\%0a +host:1597325931=38.81.163.143 +author:1597325866=jrmu +diff:1597325866:1597325853:=9c9%0a%3c # For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in username/network:password. For example, suppose you registered the username john, want to connect to the network ircnow, and have the password abcde12345. Then for password, you would put in john/ircnow:abcde12345. Check @@Remember password@@.\\%0a---%0a> # For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in username/network:password. For example, suppose you registered the username john, want to connect to the network ircnow, and have the password abcde12345. Then for password, you would put in john/ircnow:abcde12345. Check @@Remember password@@.%0a +host:1597325866=38.81.163.143 +author:1597325853=jrmu +diff:1597325853:1597325853:=1,13d0%0a%3c (:title Connecting with Pidgin:)%0a%3c %0a%3c # Go to the menu bar and select @@Accounts@@ --> @@Manage Accounts@@.\\%0a%3c Attach:pidgin-menu.png%0a%3c # Click on @Add@@.\\%0a%3c Attach:pidgin-accounts.png%0a%3c # For @@Protocol@@, select @@IRC@@.\\%0a%3c Attach:pidgin-protocol.png%0a%3c # For username, put in the username you registered for the bouncer. For server, put in the server you received by email. For password, type in username/network:password. For example, suppose you registered the username john, want to connect to the network ircnow, and have the password abcde12345. Then for password, you would put in john/ircnow:abcde12345. Check @@Remember password@@.%0a%3c Attach:pidgin-basic.png%0a%3c # For port, fill in 31337. For ident name and real name, fill in your bouncer username. Check @@Use SSL@@. \\%0a%3c Attach:pidgin-advanced.png%0a%3c # Click @@Add@@ at the bottom-right corner.%0a\ No newline at end of file%0a +host:1597325853=38.81.163.143 blob - /dev/null blob + 170d5a89ee75cf88f6df7fa23ced10a5c158b9f8 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Quassel @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597332059 +host=38.81.163.143 +name=Bouncer.Quassel +rev=7 +targets= +text=(:title Connecting with Quassel:)%0a%0a[[https://quassel-irc.org/|Quassel]] is an open-source, cross-platform IRC client.%0a%0a# From the menu, select @@File@@ → @@Networks@@ → @@Configure Networks...@@.\\%0aAttach:quassel-menu.png%0a# Click on @@Add@@.\\%0aAttach:quassel-configure.png%0a# Select @@Manually specify network settings@@.\\%0aAttach:quassel-configure2.png%0a # @@Network name@@: fill in the network name you want to connect to.%0a # @@Server address@@: fill in your bouncer server address, which should look like example.ircnow.org.%0a # @@Port@@: 31337%0a # @@Server password@@: fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # Check @@Use encrypted connection@@.%0a # Check @@Verify connection security@@.%0a # Click @@OK@@ at the bottom-right corner.%0a# To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.\\%0aAttach:quassel-identities.png%0a# Edit @@Real Name@@ and @@Nicknames@@ so that they match the bouncer username you registered.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597630777 +title=Connecting with Quassel +author:1597630777=jrmu +diff:1597630777:1597630724:=18c18,19%0a%3c # To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.\\%0a---%0a> # To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.%0a> # Edit @@Real Name@@ and @@Nicknames@@ so that they match the bouncer username you registered.\\%0a20d20%0a%3c # Edit @@Real Name@@ and @@Nicknames@@ so that they match the bouncer username you registered.%0a +host:1597630777=38.81.163.143 +author:1597630724=jrmu +diff:1597630724:1597630560:=14c14%0a%3c # @@Server password@@: fill in @@username/network:password@@. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a---%0a> # @@Server password@@: fill in username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a +host:1597630724=38.81.163.143 +author:1597630560=jrmu +diff:1597630560:1597582309:=5c5%0a%3c # From the menu, select @@File@@ → @@Networks@@ → @@Configure Networks...@@.\\%0a---%0a> # From the menu, select @@File@@ --> @@Networks@@ --> @@Configure Networks...@@.\\%0a20,21c20%0a%3c Attach:quassel-identities.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> Attach:quassel-identities.png%0a\ No newline at end of file%0a +host:1597630560=38.81.163.143 +author:1597582309=jrmu +diff:1597582309:1597582282:=18c18%0a%3c # To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.%0a---%0a> # To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.\\%0a +host:1597582309=38.81.163.143 +author:1597582282=jrmu +diff:1597582282:1597582236:=9,10c9%0a%3c # Select @@Manually specify network settings@@.\\%0a%3c Attach:quassel-configure2.png%0a---%0a> # Select @@Manually specify network settings@@.%0a18a18%0a> Attach:quassel-configure2.png%0a +host:1597582282=38.81.163.143 +author:1597582236=jrmu +diff:1597582236:1597332059:=3c3%0a%3c [[https://quassel-irc.org/|Quassel]] is an open-source, cross-platform IRC client.%0a---%0a> [[https://quassel-irc.org/|Quassel]]%0a +host:1597582236=38.81.163.143 +author:1597332059=jrmu +diff:1597332059:1597332059:=1,20d0%0a%3c (:title Connecting with Quassel:)%0a%3c %0a%3c [[https://quassel-irc.org/|Quassel]]%0a%3c %0a%3c # From the menu, select @@File@@ --> @@Networks@@ --> @@Configure Networks...@@.\\%0a%3c Attach:quassel-menu.png%0a%3c # Click on @@Add@@.\\%0a%3c Attach:quassel-configure.png%0a%3c # Select @@Manually specify network settings@@.%0a%3c # @@Network name@@: fill in the network name you want to connect to.%0a%3c # @@Server address@@: fill in your bouncer server address, which should look like example.ircnow.org.%0a%3c # @@Port@@: 31337%0a%3c # @@Server password@@: fill in username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Check @@Use encrypted connection@@.%0a%3c # Check @@Verify connection security@@.%0a%3c # Click @@OK@@ at the bottom-right corner.%0a%3c # To the right of the @@Identity@@ combo box, to the right of where it says @@Default Identity@@, there is a square button. Click on that to edit your identity.\\%0a%3c Attach:quassel-configure2.png%0a%3c # Edit @@Real Name@@ and @@Nicknames@@ so that they match the bouncer username you registered.\\%0a%3c Attach:quassel-identities.png%0a\ No newline at end of file%0a +host:1597332059=38.81.163.143 blob - /dev/null blob + 3f1f7aab7075a79c23cc936dd5cf1c7e036ef741 (mode 644) --- /dev/null +++ wiki.d/Bouncer.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +charset=UTF-8 +ctime=1596329672 +host=2.178.173.183 +name=Bouncer.RecentChanges +rev=417 +text=* [[Bouncer/Konversation]] . . . August 14, 2021, at 02:46 PM by [[~mkf]]: [==]%0a* [[Bouncer/Bouncer]] . . . August 14, 2021, at 02:41 PM by [[~mkf]]: [=Hydra IRC is too old.=]%0a* [[Bouncer/WinIRC]] . . . August 09, 2021, at 06:03 AM by [[~mkf]]: [==]%0a* [[Bouncer/All]] . . . July 21, 2021, at 06:37 PM by [[~mkf]]: [==]%0a* [[Bouncer/Irssi]] . . . June 04, 2021, at 06:09 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Atomic]] . . . May 24, 2021, at 03:22 PM by [[~mkf]]: [=spacing=]%0a* [[Bouncer/Vision]] . . . May 13, 2021, at 09:47 AM by [[~mkf]]: [=added home page, removed "..."s=]%0a* [[Bouncer/ZNC]] . . . December 20, 2020, at 02:34 PM by [[~jrmu]]: [==]%0a* [[Bouncer/Igloo]] . . . December 14, 2020, at 09:39 AM by [[~Noxturnix]]: [==]%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* [[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/XChat]] . . . November 24, 2020, at 11:35 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* [[Bouncer/MIRC]] . . . September 06, 2020, at 03:59 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Irccloud]] . . . August 24, 2020, at 12:20 PM by [[~jrmu]]: [==]%0a* [[Bouncer/Xchat]] . . . August 17, 2020, at 06:59 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Icechat]] . . . August 17, 2020, at 06:07 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Kiwiirc]] . . . August 17, 2020, at 04:58 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Smuxi]] . . . August 17, 2020, at 04:17 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Limechat]] . . . August 17, 2020, at 04:10 AM by [[~jrmu]]: [==]%0a* [[Bouncer/IRCForAndroid]] . . . August 17, 2020, at 04:08 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Textual]] . . . August 17, 2020, at 04:06 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Revolutionirc]] . . . August 17, 2020, at 03:58 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Mibbit]] . . . August 17, 2020, at 03:41 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Weechat]] . . . August 17, 2020, at 03:36 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Kvirc]] . . . August 17, 2020, at 03:23 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Pidgin]] . . . August 17, 2020, at 03:00 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Thunderbird]] . . . August 17, 2020, at 02:54 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Yaaic]] . . . August 17, 2020, at 02:32 AM by [[~jrmu]]: [==]%0a* [[Bouncer/AndroIRC]] . . . August 17, 2020, at 02:31 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Irccloudios]] . . . August 17, 2020, at 02:26 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Irccloudandroid]] . . . August 17, 2020, at 02:23 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Quassel]] . . . August 17, 2020, at 02:19 AM by [[~jrmu]]: [==]%0a* [[Bouncer/TurboIRC]] . . . August 16, 2020, at 12:56 PM by [[~jrmu]]: [==]%0a* [[Bouncer/Simpleirc]] . . . August 16, 2020, at 12:54 PM by [[~jrmu]]: [==]%0a* [[Bouncer/Adium]] . . . August 16, 2020, at 12:52 PM by [[~jrmu]]: [==]%0a* [[Bouncer/XChatAzure]] . . . August 16, 2020, at 12:25 PM by [[~jrmu]]: [==]%0a* [[Bouncer/IrcEX]] . . . August 15, 2020, at 09:17 AM by [[~jrmu]]: [==]%0a* [[Bouncer/Znc]] . . . August 13, 2020, at 10:45 AM by [[~jrmu]]: [==]%0a +time=1628952372 blob - /dev/null blob + 4c522e32af5f767e1d691d1dd46cc6fe382cfe08 (mode 644) --- /dev/null +++ wiki.d/Bouncer.RevolutionIRC @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217700 +host=198.251.81.119 +name=Bouncer.RevolutionIRC +rev=1 +targets= +text=(:title Connecting with RevolutionIRC:)%0a%0a[[https://mrarm.io/|Revolution IRC]] is an open-source IRC client for Android.%0a%0a# Tap on the @@+@@ button at the bottom-right corner.\\%0aAttach:revolutionirc-home.png%0a# Fill in the details:\\%0aAttach:revolutionirc-edit.png%0a # @@Name@@: fill in the name of the network you want to connect to.%0a # @@Server address@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a # @@Port@@: 31337%0a # Check @@Use SSL/TLS@@%0a # @@Server password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # @@Nicknames@@: fill in the bouncer username you registered.%0a# Tap on the network to connect.\\%0aAttach:revolutionirc-home2.png%0a# If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect. +time=1606217700 +title=Connecting with RevolutionIRC +author:1606217700=jrmu +diff:1606217700:1606217700:=1,17d0%0a%3c (:title Connecting with RevolutionIRC:)%0a%3c %0a%3c [[https://mrarm.io/|Revolution IRC]] is an open-source IRC client for Android.%0a%3c %0a%3c # Tap on the @@+@@ button at the bottom-right corner.\\%0a%3c Attach:revolutionirc-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:revolutionirc-edit.png%0a%3c # @@Name@@: fill in the name of the network you want to connect to.%0a%3c # @@Server address@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a%3c # @@Port@@: 31337%0a%3c # Check @@Use SSL/TLS@@%0a%3c # @@Server password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # @@Nicknames@@: fill in the bouncer username you registered.%0a%3c # Tap on the network to connect.\\%0a%3c Attach:revolutionirc-home2.png%0a%3c # If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect.%0a\ No newline at end of file%0a +host:1606217700=198.251.81.119 blob - /dev/null blob + 29dc8108f46b230e74f95b42db98740d17010d37 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Revolutionirc @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597406276 +host=38.81.163.143 +name=Bouncer.Revolutionirc +rev=5 +targets= +text=(:title Connecting with RevolutionIRC:)%0a%0a[[https://mrarm.io/|Revolution IRC]] is an open-source IRC client for Android.%0a%0a# Tap on the @@+@@ button at the bottom-right corner.\\%0aAttach:revolutionirc-home.png%0a# Fill in the details:\\%0aAttach:revolutionirc-edit.png%0a # @@Name@@: fill in the name of the network you want to connect to.%0a # @@Server address@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a # @@Port@@: 31337%0a # Check @@Use SSL/TLS@@%0a # @@Server password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # @@Nicknames@@: fill in the bouncer username you registered.%0a# Tap on the network to connect.\\%0aAttach:revolutionirc-home2.png%0a# If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect. +time=1597636706 +title=Connecting with RevolutionIRC +author:1597636706=jrmu +diff:1597636706:1597636623:=3c3%0a%3c [[https://mrarm.io/|Revolution IRC]] is an open-source IRC client for Android.%0a---%0a> [[https://mrarm.io/|Revolution IRC]]%0a +host:1597636706=38.81.163.143 +author:1597636623=jrmu +diff:1597636623:1597569652:=15c15%0a%3c # Tap on the network to connect.\\%0a---%0a> # Tap on the network to connect:\\%0a17c17%0a%3c # If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect. %0a\ No newline at end of file%0a---%0a> %0a +host:1597636623=38.81.163.143 +author:1597569652=jrmu +diff:1597569652:1597406431:=2,3d1%0a%3c %0a%3c [[https://mrarm.io/|Revolution IRC]]%0a +host:1597569652=38.81.163.143 +author:1597406431=jrmu +diff:1597406431:1597406276:=11,15c11%0a%3c # @@Server password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # @@Nicknames@@: fill in the bouncer username you registered.%0a%3c # Tap on the network to connect:\\%0a%3c Attach:revolutionirc-home2.png%0a%3c %0a---%0a> # %0a +host:1597406431=38.81.163.143 +author:1597406276=jrmu +diff:1597406276:1597406276:=1,11d0%0a%3c (:title Connecting with RevolutionIRC:)%0a%3c %0a%3c # Tap on the @@+@@ button at the bottom-right corner.\\%0a%3c Attach:revolutionirc-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:revolutionirc-edit.png%0a%3c # @@Name@@: fill in the name of the network you want to connect to.%0a%3c # @@Server address@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a%3c # @@Port@@: 31337%0a%3c # Check @@Use SSL/TLS@@%0a%3c # %0a +host:1597406276=38.81.163.143 blob - /dev/null blob + 2042f3af389a42c32fdab5257218e477711ae917 (mode 644) --- /dev/null +++ wiki.d/Bouncer.SimpleIRC @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606912270 +host=198.251.81.119 +name=Bouncer.SimpleIRC +rev=1 +targets= +text=(:title Connecting with Simple IRC:)%0a%0a'''NOTE''': [[https://f-droid.org/en/packages/tk.jordynsmediagroup.simpleirc.fdroid/|Simple IRC]] version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a%0a# Tap @@Add server@@.\\%0aAttach:simpleirc-home.png%0a# Fill in the details:\\%0aAttach:simpleirc-server.png%0a # @@Title@@: the name of the network you want to connect to.%0a # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Check @@Use SSL@@%0a # Check @@Auto connect on startup@@%0a # @@Nickname@@: the bouncer username you registered%0a # Tap on @@Save@@ at the bottom-right corner%0a# Tap on the network to connect.\\%0aAttach:simpleirc-home2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606912270 +title=Connecting with Simple IRC +author:1606912270=jrmu +diff:1606912270:1606912270:=1,19d0%0a%3c (:title Connecting with Simple IRC:)%0a%3c %0a%3c '''NOTE''': [[https://f-droid.org/en/packages/tk.jordynsmediagroup.simpleirc.fdroid/|Simple IRC]] version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a%3c %0a%3c # Tap @@Add server@@.\\%0a%3c Attach:simpleirc-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:simpleirc-server.png%0a%3c # @@Title@@: the name of the network you want to connect to.%0a%3c # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Check @@Use SSL@@%0a%3c # Check @@Auto connect on startup@@%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # Tap on @@Save@@ at the bottom-right corner%0a%3c # Tap on the network to connect.\\%0a%3c Attach:simpleirc-home2.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606912270=198.251.81.119 blob - /dev/null blob + 921a324dadde51bf732bfe27d0d8f49a8767700c (mode 644) --- /dev/null +++ wiki.d/Bouncer.Simpleirc @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597407180 +host=38.81.163.143 +name=Bouncer.Simpleirc +rev=5 +targets= +text=(:title Connecting with Simple IRC:)%0a%0a'''NOTE''': [[https://f-droid.org/en/packages/tk.jordynsmediagroup.simpleirc.fdroid/|Simple IRC]] version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a%0a# Tap @@Add server@@.\\%0aAttach:simpleirc-home.png%0a# Fill in the details:\\%0aAttach:simpleirc-server.png%0a # @@Title@@: the name of the network you want to connect to.%0a # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Check @@Use SSL@@%0a # Check @@Auto connect on startup@@%0a # @@Nickname@@: the bouncer username you registered%0a # Tap on @@Save@@ at the bottom-right corner%0a# Tap on the network to connect.\\%0aAttach:simpleirc-home2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597582496 +title=Connecting with Simple IRC +author:1597582496=jrmu +diff:1597582496:1597572335:=18,19c18%0a%3c Attach:simpleirc-home2.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> Attach:simpleirc-home2.png%0a\ No newline at end of file%0a +host:1597582496=38.81.163.143 +author:1597572335=jrmu +diff:1597572335:1597409492:=3c3%0a%3c '''NOTE''': [[https://f-droid.org/en/packages/tk.jordynsmediagroup.simpleirc.fdroid/|Simple IRC]] version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a---%0a> '''NOTE''': Simple IRC version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a +host:1597572335=38.81.163.143 +author:1597409492=jrmu +diff:1597409492:1597407911:=3,18c3,5%0a%3c '''NOTE''': Simple IRC version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line. Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a%3c %0a%3c # Tap @@Add server@@.\\%0a%3c Attach:simpleirc-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:simpleirc-server.png%0a%3c # @@Title@@: the name of the network you want to connect to.%0a%3c # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Check @@Use SSL@@%0a%3c # Check @@Auto connect on startup@@%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # Tap on @@Save@@ at the bottom-right corner%0a%3c # Tap on the network to connect.\\%0a%3c Attach:simpleirc-home2.png%0a\ No newline at end of file%0a---%0a> '''NOTE''': Simple IRC version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line.%0a> %0a> Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a +host:1597409492=38.81.163.143 +author:1597407911=jrmu +diff:1597407911:1597407180:=4,5d3%0a%3c %0a%3c Received a unknown line: :irc.znc.in CAP nickname ACK :znc.in/server-time-iso userhost-in-names multi-prefix%0a +host:1597407911=38.81.163.143 +author:1597407180=jrmu +diff:1597407180:1597407180:=1,3d0%0a%3c (:title Connecting with Simple IRC:)%0a%3c %0a%3c '''NOTE''': Simple IRC version 1.9 is incompatible with ZNC v1.7.5. Simple IRC fails when it sees the IRCv3 cap negotiation line.%0a +host:1597407180=38.81.163.143 blob - /dev/null blob + 0622e928094a0ed80ef8175e6975796282ca9361 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Smuxi @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597402297 +host=38.81.163.143 +name=Bouncer.Smuxi +rev=5 +targets= +text=(:title Connecting with Smuxi:)%0a%0a[[https://smuxi.im/|Smuxi]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a%0a# From the menu bar, select @@Server@@ → @@Add@@.\\%0aAttach:smuxi-menu.png%0a# Fill in the details:\\%0aAttach:smuxi-server.png%0a # @@Hostname@@: fill in the bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # @@Network@@: fill in the name of the network you want to connect to%0a # @@Nickname@@: fill in the bouncer username%0a # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # Check @@Automatically connect to server at startup@@%0a # Check @@Use Encryption@@%0a # Check @@Validate Server Certificate@@%0a # Click @@OK@@.%0a# From the menu bar, select @@Server@@ → @@Connect@@.\\%0aAttach:smuxi-menu2.png%0a# Click @@Connect@@ at the bottom-right corner.\\%0aAttach:smuxi-connect.png%0a# If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597637832 +title=Connecting with Smuxi +author:1597637832=jrmu +diff:1597637832:1597635656:=2,3d1%0a%3c %0a%3c [[https://smuxi.im/|Smuxi]] is an open-source IRC client that runs on Windows, Mac, and Linux.%0a +host:1597637832=38.81.163.143 +author:1597635656=jrmu +diff:1597635656:1597402877:=3c3%0a%3c # From the menu bar, select @@Server@@ → @@Add@@.\\%0a---%0a> # From the menu bar, select @@Server@@ --> @@Add@@.\\%0a16c16%0a%3c # From the menu bar, select @@Server@@ → @@Connect@@.\\%0a---%0a> # From the menu bar, select @@Server@@ --> @@Connect@@.\\%0a +host:1597635656=38.81.163.143 +author:1597402877=jrmu +diff:1597402877:1597402728:=20c20%0a%3c # If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597402877=38.81.163.143 +author:1597402728=jrmu +diff:1597402728:1597402297:=19,20c19%0a%3c Attach:smuxi-connect.png%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> Attach:smuxi-connect.png%0a\ No newline at end of file%0a +host:1597402728=38.81.163.143 +author:1597402297=jrmu +diff:1597402297:1597402297:=1,19d0%0a%3c (:title Connecting with Smuxi:)%0a%3c %0a%3c # From the menu bar, select @@Server@@ --> @@Add@@.\\%0a%3c Attach:smuxi-menu.png%0a%3c # Fill in the details:\\%0a%3c Attach:smuxi-server.png%0a%3c # @@Hostname@@: fill in the bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # @@Network@@: fill in the name of the network you want to connect to%0a%3c # @@Nickname@@: fill in the bouncer username%0a%3c # @@Password@@: @@username/network:password@@ -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Check @@Automatically connect to server at startup@@%0a%3c # Check @@Use Encryption@@%0a%3c # Check @@Validate Server Certificate@@%0a%3c # Click @@OK@@.%0a%3c # From the menu bar, select @@Server@@ --> @@Connect@@.\\%0a%3c Attach:smuxi-menu2.png%0a%3c # Click @@Connect@@ at the bottom-right corner.\\%0a%3c Attach:smuxi-connect.png%0a\ No newline at end of file%0a +host:1597402297=38.81.163.143 blob - /dev/null blob + 06e7b1b80ff503be56045c3d75d3529c7dea4f72 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Textual @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597398471 +host=38.81.163.143 +name=Bouncer.Textual +rev=7 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with Textual:)%0a%0a[[https://www.codeux.com/textual/|Textual]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. %0a%0a# From the menu, select @@Server@@ → @@Add Server...@@\\%0aAttach:textual-menu.png%0a# Fill in the details:\\%0aAttach:textual-addserver.png%0a # For @@Connection Name@@, fill in the name of the network you want to connect to.%0a # For @@Server Address@@, fill in the bouncer server address (it should look like @@example.ircnow.org@@).%0a # For @@Port@@, fill in 31337. Check @@Connect Securely@@.%0a # For @@Server Password@@, type username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # Check @@Connect when Textual opens@@%0a # Check @@Perform reconnect on disconnect@@%0a # Check @@Perform reconnect when waking from sleep@@%0a# If you get a message saying ZNC is not yet connected, type @@/quote znc connect@@ +time=1597637192 +title=Connecting with Textual +author:1597637192=jrmu +diff:1597637192:1597637091:=15c15%0a%3c # Check @@Perform reconnect when waking from sleep@@%0a---%0a> # Check @@Perform reconnect when waking from sleep@@\\%0a +host:1597637192=38.81.163.143 +author:1597637091=jrmu +diff:1597637091:1597637018:=5c5%0a%3c # From the menu, select @@Server@@ → @@Add Server...@@\\%0a---%0a> # From the menu, select @@Server@@ --> @@Add Server...@@\\%0a +host:1597637091=38.81.163.143 +author:1597637018=jrmu +diff:1597637018:1597398855:=3,4d2%0a%3c [[https://www.codeux.com/textual/|Textual]] is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. %0a%3c %0a15,16c13%0a%3c # Check @@Perform reconnect when waking from sleep@@\\%0a%3c # If you get a message saying ZNC is not yet connected, type @@/quote znc connect@@ %0a\ No newline at end of file%0a---%0a> # Check @@Perform reconnect when waking from sleep@@\\%0a\ No newline at end of file%0a +host:1597637018=38.81.163.143 +author:1597398855=jrmu +diff:1597398855:1597398493:=3c3%0a%3c # From the menu, select @@Server@@ --> @@Add Server...@@\\%0a---%0a> # From the menu, select @@Server@@ --> @@Add Server...@@%0a +host:1597398855=38.81.163.143 +author:1597398493=jrmu +diff:1597398493:1597398485:=6c6%0a%3c Attach:textual-addserver.png%0a---%0a> Attach:textual-addserver.png\\%0a +host:1597398493=38.81.163.143 +author:1597398485=jrmu +diff:1597398485:1597398471:=5,6c5%0a%3c # Fill in the details:\\%0a%3c Attach:textual-addserver.png\\%0a---%0a> # Fill in the details:%0a13c12,13%0a%3c # Check @@Perform reconnect when waking from sleep@@\\%0a\ No newline at end of file%0a---%0a> # Check @@Perform reconnect when waking from sleep@@\\%0a> Attach:textual-addserver.png%0a\ No newline at end of file%0a +host:1597398485=38.81.163.143 +author:1597398471=jrmu +diff:1597398471:1597398471:=1,13d0%0a%3c (:title Connecting with Textual:)%0a%3c %0a%3c # From the menu, select @@Server@@ --> @@Add Server...@@%0a%3c Attach:textual-menu.png%0a%3c # Fill in the details:%0a%3c # For @@Connection Name@@, fill in the name of the network you want to connect to.%0a%3c # For @@Server Address@@, fill in the bouncer server address (it should look like @@example.ircnow.org@@).%0a%3c # For @@Port@@, fill in 31337. Check @@Connect Securely@@.%0a%3c # For @@Server Password@@, type username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Check @@Connect when Textual opens@@%0a%3c # Check @@Perform reconnect on disconnect@@%0a%3c # Check @@Perform reconnect when waking from sleep@@\\%0a%3c Attach:textual-addserver.png%0a\ No newline at end of file%0a +host:1597398471=38.81.163.143 blob - /dev/null blob + 574af69f446c5512f024961cfce97b061f24b8cc (mode 644) --- /dev/null +++ wiki.d/Bouncer.Thunderbird @@ -0,0 +1,88 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597148978 +host=38.81.163.143 +name=Bouncer.Thunderbird +rev=25 +targets= +text=(:title Connecting with Thunderbird:)%0a%0a[[https://www.thunderbird.net|Thunderbird]] is an open-source mail client that can also be used for IRC.%0a%0a# Click on the menu button, then click on @@New@@.\\%0aAttach:thunderbird-new.png%0a# Click on @@Chat Account@@\\%0aAttach:thunderbird-chat.png%0a# Choose @@IRC@@\\%0aAttach:thunderbird-protocol.png%0a# Fill in your nickname and server (it will look like @@example.ircnow.org@@).\\%0aAttach:thunderbird-server.png%0a# If you have a NickServ password, you can enter it here. Otherwise, leave this blank. '''NOTE''': This is not the same as the bouncer password from IRCNow.\\%0aAttach:thunderbird-password.png%0a# Set port to 31337 and check @@SSL@@.\\%0aAttach:thunderbird-options.png%0a# Review the settings and click @@Done@@.\\%0aAttach:thunderbird-summary.png%0a# Click on the menu button again, then select @@Preferences@@.\\%0aAttach:thunderbird-preferences.png%0a# Click @@I accept the risk!@@\\%0aAttach:thunderbird-config.png%0a# In the search bar, type your username. Find your account number (in this case 1). Then, right-click on the empty area and click @@New@@, then @@String@@.\\%0aAttach:thunderbird-string.png%0a# Type @@messenger.account.accountN.options.serverPassword@@ in the field, where N is the number of the account. In this case, it is 1.\\%0aAttach:thunderbird-string2.png%0a# Press @@OK@@, then enter your bouncer username, the network you want, and bouncer password in the format @@username/network:password@@ -- for example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.\\%0aAttach:thunderbird-string3.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597632859 +title=Connecting with Thunderbird +author:1597632859=jrmu +diff:1597632859:1597632842:=28c28%0a%3c Attach:thunderbird-string3.png%0a---%0a> Attach:thunderbird-string3.png\\%0a +host:1597632859=38.81.163.143 +author:1597632842=jrmu +diff:1597632842:1597631895:=27c27%0a%3c # Press @@OK@@, then enter your bouncer username, the network you want, and bouncer password in the format @@username/network:password@@ -- for example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.\\%0a---%0a> # Press @@OK@@, then enter your bouncer username, the network you want, and bouncer password in the format username/network:password:\\%0a28a29%0a> For example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.%0a +host:1597632842=38.81.163.143 +author:1597631895=jrmu +diff:1597631895:1597577139:=11c11%0a%3c # Fill in your nickname and server (it will look like @@example.ircnow.org@@).\\%0a---%0a> # Fill in your nickname and server (it will look like example.ircnow.org).\\%0a +host:1597631895=38.81.163.143 +author:1597577139=jrmu +diff:1597577139:1597575513:=29c29%0a%3c For example, if your username is @@john@@ and you want to connect to @@ircnow@@, you might fill in @@john/ircnow:abcde12345@@.%0a---%0a> For example, if your username is john and you want to connect to ircnow, you might fill in @@john/ircnow:abcde12345@@.%0a +host:1597577139=38.81.163.143 +author:1597575513=jrmu +diff:1597575513:1597575292:=1,3c1%0a%3c (:title Connecting with Thunderbird:)%0a%3c %0a%3c [[https://www.thunderbird.net|Thunderbird]] is an open-source mail client that can also be used for IRC.%0a---%0a> [[https://www.thunderbird.net|Thunderbird]] can be used for IRC!%0a +host:1597575513=38.81.163.143 +author:1597575292=jrmu +diff:1597575292:1597322014:=28c28%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597575292=38.81.163.143 +author:1597322014=jrmu +diff:1597322014:1597320329:=25,27c25,26%0a%3c # Press @@OK@@, then enter your bouncer username, the network you want, and bouncer password in the format username/network:password:\\%0a%3c Attach:thunderbird-string3.png\\%0a%3c For example, if your username is john and you want to connect to ircnow, you might fill in @@john/ircnow:abcde12345@@.%0a---%0a> # Press @@OK@@, then enter your bouncer's username and password in the format username/password:\\%0a> Attach:thunderbird-string3.png%0a +host:1597322014=38.81.163.143 +author:1597320329=jrmu +diff:1597320329:1597320218:=21,26c21,26%0a%3c # In the search bar, type your username. Find your account number (in this case 1). Then, right-click on the empty area and click @@New@@, then @@String@@.\\%0a%3c Attach:thunderbird-string.png%0a%3c # Type @@messenger.account.accountN.options.serverPassword@@ in the field, where N is the number of the account. In this case, it is 1.\\%0a%3c Attach:thunderbird-string2.png%0a%3c # Press @@OK@@, then enter your bouncer's username and password in the format username/password:\\%0a%3c Attach:thunderbird-string3.png%0a---%0a> # In the search bar, type your username. Find your account number (in this case 1). Then, right-click on the empty area and click @@New@@, then @@String@@.%0a> # Attach:thunderbird-string.png%0a> # Type @@messenger.account.accountN.options.serverPassword@@ in the field, where N is the number of the account. In this case, it is 6.%0a> # Attach:thunderbird-string2.png%0a> # Press @@OK@@, then enter your bouncer's username and password in the format username/password:%0a> # Attach:thunderbird-string3.png%0a +host:1597320329=38.81.163.143 +author:1597320218=jrmu +diff:1597320218:1597320189:=15c15%0a%3c # Review the settings and click @@Done@@.\\%0a---%0a> # Review the settings and click @@Done@@.%0a +host:1597320218=38.81.163.143 +author:1597320189=jrmu +diff:1597320189:1597320002:=15c15%0a%3c # Review the settings and click @@Done@@.%0a---%0a> # Review the settings and click @@Done@@.\\%0a19,21c19,21%0a%3c # Click @@I accept the risk!@@\\%0a%3c Attach:thunderbird-config.png%0a%3c # In the search bar, type your username. Find your account number (in this case 1). Then, right-click on the empty area and click @@New@@, then @@String@@.%0a---%0a> # In the search bar, type your username.%0a> # Attach:thunderbird-config.png%0a> # Right click on the empty area and left-click @@New@@, then left-click @@String@@.%0a +host:1597320189=38.81.163.143 +author:1597320002=jrmu +diff:1597320002:1597319898:=15c15%0a%3c # Review the settings and click @@Done@@.\\%0a---%0a> # Review the settings and click @@Done@@.%0a19a20%0a> # From here, you can find your account number (in this case 6).%0a21c22%0a%3c # Right click on the empty area and left-click @@New@@, then left-click @@String@@.%0a---%0a> # Right click on the empty area and click @@New@@, then @@String@@.%0a +host:1597320002=38.81.163.143 +author:1597319898=jrmu +diff:1597319898:1597319807:=15,16d14%0a%3c # Review the settings and click @@Done@@.%0a%3c Attach:thunderbird-summary.png%0a +host:1597319898=38.81.163.143 +author:1597319807=jrmu +diff:1597319807:1597319737:=3c3%0a%3c # Click on the menu button, then click on @@New@@.\\%0a---%0a> # Click on the Thunderbird menu button, then click on @@New@@.\\%0a13c13,14%0a%3c # Set port to 31337 and check @@SSL@@.\\%0a---%0a> # Set port to 31337 and check @@SSL@@.%0a> # Click on the Thunderbird menu and click on @@Options@@:\\%0a15,16c16,17%0a%3c # Click on the menu button again, then select @@Preferences@@.\\%0a%3c Attach:thunderbird-preferences.png%0a---%0a> # Click @@Options@@ again.%0a> # Attach:thunderbird-options2.png%0a +host:1597319807=38.81.163.143 +author:1597319737=jrmu +diff:1597319737:1597319702:=8c8%0a%3c Attach:thunderbird-protocol.png%0a---%0a> Attach:thunderbird-protocol.png\\%0a +host:1597319737=38.81.163.143 +author:1597319702=jrmu +diff:1597319702:1597319360:=3,12c3,12%0a%3c # Click on the Thunderbird menu button, then click on @@New@@.\\%0a%3c Attach:thunderbird-new.png%0a%3c # Click on @@Chat Account@@\\%0a%3c Attach:thunderbird-chat.png%0a%3c # Choose @@IRC@@\\%0a%3c Attach:thunderbird-protocol.png\\%0a%3c # Fill in your nickname and server (it will look like example.ircnow.org).\\%0a%3c Attach:thunderbird-server.png%0a%3c # If you have a NickServ password, you can enter it here. Otherwise, leave this blank. '''NOTE''': This is not the same as the bouncer password from IRCNow.\\%0a%3c Attach:thunderbird-password.png%0a---%0a> # Click on the Thunderbird menu button, then click on @@New@@.%0a> # Attach:thunderbird-new.png%0a> # Click on @@Chat Account@@%0a> # Attach:thunderbird-chat.png%0a> # Choose @@IRC@@%0a> # Attach:thunderbird-protocol.png%0a> # Fill in your nickname and server (it will look like example.ircnow.org).%0a> # Attach:thunderbird-server.png%0a> # If you have a NickServ password, you can enter it here. Otherwise, leave this blank. '''NOTE''': This is not the same as the bouncer password from IRCNow.%0a> # Attach:thunderbird-password.png%0a14,15c14,15%0a%3c # Click on the Thunderbird menu and click on @@Options@@:\\%0a%3c Attach:thunderbird-options.png%0a---%0a> # Click on the Thunderbird menu and click on @@Options@@:%0a> # Attach:thunderbird-options.png%0a +host:1597319702=38.81.163.143 +author:1597319360=jrmu +diff:1597319360:1597289169:=3c3,5%0a%3c # Click on the Thunderbird menu button, then click on @@New@@.%0a---%0a> # Click on the Thunderbird menu button%0a> # Attach:thunderbird-menu.png%0a> # Click on @@New@@%0a +host:1597319360=38.81.163.143 +author:1597289169=jrmu +diff:1597289169:1597289124:=28,29c28%0a%3c # Attach:thunderbird-string3.png%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # Attach:thunderbird-string3.png%0a\ No newline at end of file%0a +host:1597289169=38.81.163.143 +author:1597289124=jrmu +diff:1597289124:1597289109:=28c28,30%0a%3c # Attach:thunderbird-string3.png%0a\ No newline at end of file%0a---%0a> # Attach:thunderbird-string3.png%0a> %0a> That's all you are done!%0a\ No newline at end of file%0a +host:1597289124=38.81.163.143 +author:1597289109=jrmu +diff:1597289109:1597289028:=25c25%0a%3c # Type @@messenger.account.accountN.options.serverPassword@@ in the field, where N is the number of the account. In this case, it is 6.%0a---%0a> # Type @@messenger.account.accountN.options.serverPassword@ in the field, where N is the number of the account. In this case, it is 6.%0a +host:1597289109=38.81.163.143 +author:1597289028=jrmu +diff:1597289028:1597288751:=25,28c25,32%0a%3c # Type @@messenger.account.accountN.options.serverPassword@ in the field, where N is the number of the account. In this case, it is 6.%0a%3c # Attach:thunderbird-string2.png%0a%3c # Press @@OK@@, then enter your bouncer's username and password in the format username/password:%0a%3c # Attach:thunderbird-string3.png%0a---%0a> %0a> type messenger.account.accountN.options.serverPassword in the field, N is the number of account. In our case it was 6%0a> %0a> {{ :irc:thunderbird10.png?direct&400 |}}%0a> %0a> press ok and then enter your bouncer's username and password in the format username/password%0a> %0a> {{ :irc:thunderbird11.png?direct&400 |}}%0a +host:1597289028=38.81.163.143 +author:1597288751=jrmu +diff:1597288751:1597150049:=16,24c16,33%0a%3c # Click on the Thunderbird menu and click on @@Options@@:%0a%3c # Attach:thunderbird-options.png%0a%3c # Click @@Options@@ again.%0a%3c # Attach:thunderbird-options2.png%0a%3c # In the search bar, type your username.%0a%3c # From here, you can find your account number (in this case 6).%0a%3c # Attach:thunderbird-config.png%0a%3c # Right click on the empty area and click @@New@@, then @@String@@.%0a%3c # Attach:thunderbird-string.png%0a---%0a> %0a> once done click on Thunderbird menu again and from there click on "options"%0a> %0a> {{ :irc:thunderbird6.png?direct&400 |}}%0a> %0a> next click on "options" again%0a> %0a> {{ :irc:thunderbird7.png?direct&400 |}}%0a> %0a> in the search bar type your username/nick that you had set previously%0a> %0a> from here we find our account number which is 6 in our case%0a> %0a> {{ :irc:thunderbird8.png?direct&400 |}}%0a> %0a> next right click on empty area and click "New" and then "String"%0a> %0a> {{ :irc:thunderbird9.png?direct&400 |}}%0a +host:1597288751=38.81.163.143 +author:1597150049=jrmu +diff:1597150049:1597149417:=11,15c11,20%0a%3c # Fill in your nickname and server (it will look like example.ircnow.org).%0a%3c # Attach:thunderbird-server.png%0a%3c # If you have a NickServ password, you can enter it here. Otherwise, leave this blank. '''NOTE''': This is not the same as the bouncer password from IRCNow.%0a%3c # Attach:thunderbird-password.png%0a%3c # Set port to 31337 and check @@SSL@@.%0a---%0a> %0a> enter your nick and server e.g us9.ircnow.org or bnc1.ircnow.org or whatever your server is In this tutorial we are using bnc1. **You should set it to ''us9.ircnow.org'' as opposed to ''bnc1.ircnow.org''.%0a> %0a> {{ :irc:thunderbird3.png?direct&400 |}}%0a> %0a> enter your nickserv password%0a> %0a> {{ :irc:thunderbird4.png?direct&400 |}}%0a> %0a> next make sure your port is set to 31337 and "ssl" is checked%0a +host:1597150049=38.81.163.143 +author:1597149417=jrmu +diff:1597149417:1597149108:=4,10c4,17%0a%3c # Attach:thunderbird-menu.png%0a%3c # Click on @@New@@%0a%3c # Attach:thunderbird-new.png%0a%3c # Click on @@Chat Account@@%0a%3c # Attach:thunderbird-chat.png%0a%3c # Choose @@IRC@@%0a%3c # Attach:thunderbird-protocol.png%0a---%0a> %0a> {{ :irc:thunderbird1.png?direct&400 |}}%0a> %0a> then click on "New"%0a> %0a> {{ :irc:thunderbird1-1.png?direct&400 |}}%0a> %0a> afterwards click on "chat account"%0a> %0a> {{ :irc:thunderbird1-2.png?direct&400 |}}%0a> %0a> choose "irc" option%0a> %0a> {{ :irc:thunderbird2.png?direct&400 |}}%0a +host:1597149417=38.81.163.143 +author:1597149108=jrmu +diff:1597149108:1597148978:=1,3c1%0a%3c [[https://www.thunderbird.net|Thunderbird]] can be used for IRC!%0a%3c %0a%3c # Click on the Thunderbird menu button%0a---%0a> To setup bouncer on Thunderbird first click on the Thunderbird menu button%0a +host:1597149108=38.81.163.143 +author:1597148978=jrmu +diff:1597148978:1597148978:=1,53d0%0a%3c To setup bouncer on Thunderbird first click on the Thunderbird menu button%0a%3c %0a%3c {{ :irc:thunderbird1.png?direct&400 |}}%0a%3c %0a%3c then click on "New"%0a%3c %0a%3c {{ :irc:thunderbird1-1.png?direct&400 |}}%0a%3c %0a%3c afterwards click on "chat account"%0a%3c %0a%3c {{ :irc:thunderbird1-2.png?direct&400 |}}%0a%3c %0a%3c choose "irc" option%0a%3c %0a%3c {{ :irc:thunderbird2.png?direct&400 |}}%0a%3c %0a%3c enter your nick and server e.g us9.ircnow.org or bnc1.ircnow.org or whatever your server is In this tutorial we are using bnc1. **You should set it to ''us9.ircnow.org'' as opposed to ''bnc1.ircnow.org''.%0a%3c %0a%3c {{ :irc:thunderbird3.png?direct&400 |}}%0a%3c %0a%3c enter your nickserv password%0a%3c %0a%3c {{ :irc:thunderbird4.png?direct&400 |}}%0a%3c %0a%3c next make sure your port is set to 31337 and "ssl" is checked%0a%3c %0a%3c once done click on Thunderbird menu again and from there click on "options"%0a%3c %0a%3c {{ :irc:thunderbird6.png?direct&400 |}}%0a%3c %0a%3c next click on "options" again%0a%3c %0a%3c {{ :irc:thunderbird7.png?direct&400 |}}%0a%3c %0a%3c in the search bar type your username/nick that you had set previously%0a%3c %0a%3c from here we find our account number which is 6 in our case%0a%3c %0a%3c {{ :irc:thunderbird8.png?direct&400 |}}%0a%3c %0a%3c next right click on empty area and click "New" and then "String"%0a%3c %0a%3c {{ :irc:thunderbird9.png?direct&400 |}}%0a%3c %0a%3c type messenger.account.accountN.options.serverPassword in the field, N is the number of account. In our case it was 6%0a%3c %0a%3c {{ :irc:thunderbird10.png?direct&400 |}}%0a%3c %0a%3c press ok and then enter your bouncer's username and password in the format username/password%0a%3c %0a%3c {{ :irc:thunderbird11.png?direct&400 |}}%0a%3c %0a%3c That's all you are done!%0a\ No newline at end of file%0a +host:1597148978=38.81.163.143 blob - /dev/null blob + c7cd6ddcc7909583808002f728958f57dbd17cfd (mode 644) --- /dev/null +++ wiki.d/Bouncer.TurboIRC @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597469540 +host=38.81.163.143 +name=Bouncer.TurboIRC +rev=6 +targets=Freedom.Freedom +text=(:title Connecting with TurboIRC:)%0a%0a[[https://apps.apple.com/us/app/turboirc-3/id978108367|TurboIRC]] appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a%0a# Tap on @@Connect@@.\\%0aAttach:turboirc-home.png%0a# Tap on @@New Server@@ at the top-right corner.\\%0aAttach:turboirc-servers.png%0a# Tap on the wrench/screwdriver icon next to the new server, then tap @@Edit@@.\\%0aAttach:turboirc-servers2.png%0a# Fill in the details:\\%0aAttach:turboirc-serverlist.png%0a # @@Name@@: the name of the network you want to connect to%0a # @@Address@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 1337 (SSL does not appear to be supported)%0a # @@Nick@@: your bouncer username%0a # @@Opt. Password@@: @@username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Tap @@Done@@ at the top-left corner.%0a# Tap on the server to connect.%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597582594 +title=Connecting with TurboIRC +author:1597582594=jrmu +diff:1597582594:1597482658:=3,4d2%0a%3c [[https://apps.apple.com/us/app/turboirc-3/id978108367|TurboIRC]] appears to be proprietary software. To protect your [[freedom|freedom]], you should consider using an open source IRC client. %0a%3c %0a20c18%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597582594=38.81.163.143 +author:1597482658=jrmu +diff:1597482658:1597482619:=16d15%0a%3c # Tap @@Done@@ at the top-left corner.%0a +host:1597482658=38.81.163.143 +author:1597482619=jrmu +diff:1597482619:1597482594:=3c3%0a%3c # Tap on @@Connect@@.\\%0a---%0a> # Tap on @@Connect@@.%0a7c7%0a%3c # Tap on the wrench/screwdriver icon next to the new server, then tap @@Edit@@.\\%0a---%0a> # Tap on the wrench/screwdriver icon next to the new server, then tap @@Edit@@.%0a +host:1597482619=38.81.163.143 +author:1597482594=jrmu +diff:1597482594:1597469717:=7c7%0a%3c # Tap on the wrench/screwdriver icon next to the new server, then tap @@Edit@@.%0a---%0a> # Tap on the wrench/screwdriver icon next to the new server to edit settings.%0a +host:1597482594=38.81.163.143 +author:1597469717=jrmu +diff:1597469717:1597469540:=7,8d6%0a%3c # Tap on the wrench/screwdriver icon next to the new server to edit settings.%0a%3c Attach:turboirc-servers2.png%0a15,16c13%0a%3c # @@Opt. Password@@: @@username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Tap on the server to connect.%0a---%0a> # @@Opt. Password@@: @@username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@\\%0a +host:1597469717=38.81.163.143 +author:1597469540=jrmu +diff:1597469540:1597469540:=1,14d0%0a%3c (:title Connecting with TurboIRC:)%0a%3c %0a%3c # Tap on @@Connect@@.%0a%3c Attach:turboirc-home.png%0a%3c # Tap on @@New Server@@ at the top-right corner.\\%0a%3c Attach:turboirc-servers.png%0a%3c # Fill in the details:\\%0a%3c Attach:turboirc-serverlist.png%0a%3c # @@Name@@: the name of the network you want to connect to%0a%3c # @@Address@@: your bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 1337 (SSL does not appear to be supported)%0a%3c # @@Nick@@: your bouncer username%0a%3c # @@Opt. Password@@: @@username/network:password@@ -- for example, if your bouncer username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@\\%0a%3c # If you see a message saying you are not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597469540=38.81.163.143 blob - /dev/null blob + 4ede89bce0f57adf4d97ed4170bb071267680569 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Vision @@ -0,0 +1,20 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Haiku R1 x86) AppleWebKit/602.1 (KHTML, like Gecko) Qt/5.15.2 Version/10.0 Safari/602.1 +author=mkf +charset=UTF-8 +csum=added home page, removed "..."s +ctime=1620898707 +host=2.178.143.250 +name=Bouncer.Vision +rev=2 +targets= +text= [[https://www.haiku-os.org/docs/userguide/en/applications/vision.html|Vision]] is a open-source IRC client for BeOS and Haiku.%0a %0a# After Opening Vision select "Network setup".\\%0aAttach:vision-home.png%0a# On the top menu, select "Add new"%0aAttach:vision-add.png%0a# Replace Name with your prefered name%0aAttach:vision-nick.png%0a # On the "Personal details", check @@Use defaults@@ to disable it.%0a # click on @@+@@ and add your username which you have registered your bouncer.%0a# Then, select "Change servers" and "Add"%0a# Fill in the details:\\%0aAttach:vision-server.png%0a # @@Server@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a # @@Port@@: 31337%0a # Check @@Secure port@@ to enable it.%0a # @@Use password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a # Set @@State@@ to Primary%0a# If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect. +time=1620899264 +author:1620899264=mkf +csum:1620899264=added home page, removed "..."s +diff:1620899264:1620898707:=1c1%0a%3c [[https://www.haiku-os.org/docs/userguide/en/applications/vision.html|Vision]] is a open-source IRC client for BeOS and Haiku.%0a---%0a> Vision is a open-source IRC client for BeOS and Haiku.%0a3c3%0a%3c # After Opening Vision select "Network setup".\\%0a---%0a> # After Opening Vision select "Network setup...".\\%0a5c5%0a%3c # On the top menu, select "Add new"%0a---%0a> # On the top menu, select "Add new..."%0a11c11%0a%3c # Then, select "Change servers" and "Add"%0a---%0a> # Then, select "Change Servers..." and "Add..."%0a +host:1620899264=2.178.143.250 +author:1620898707=mkf +csum:1620898707=created the page +diff:1620898707:1620898707:=1,19d0%0a%3c Vision is a open-source IRC client for BeOS and Haiku.%0a%3c %0a%3c # After Opening Vision select "Network setup...".\\%0a%3c Attach:vision-home.png%0a%3c # On the top menu, select "Add new..."%0a%3c Attach:vision-add.png%0a%3c # Replace Name with your prefered name%0a%3c Attach:vision-nick.png%0a%3c # On the "Personal details", check @@Use defaults@@ to disable it.%0a%3c # click on @@+@@ and add your username which you have registered your bouncer.%0a%3c # Then, select "Change Servers..." and "Add..."%0a%3c # Fill in the details:\\%0a%3c Attach:vision-server.png%0a%3c # @@Server@@: fill in the bouncer server address (it should look like example.ircnow.org).%0a%3c # @@Port@@: 31337%0a%3c # Check @@Secure port@@ to enable it.%0a%3c # @@Use password@@: username/network:password -- For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Set @@State@@ to Primary%0a%3c # If you get a message saying ZNC is not yet connected, type @@/quote znc@@ connect.%0a\ No newline at end of file%0a +host:1620898707=2.178.143.250 blob - /dev/null blob + 930d79d3f727d302f4e962ed0b3737a0066d7e1b (mode 644) --- /dev/null +++ wiki.d/Bouncer.WeeChat @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606913030 +host=198.251.81.119 +name=Bouncer.WeeChat +rev=1 +targets= +text=(:title Connecting with WeeChat:)%0a%0a[[https://weechat.org/|WeeChat]] is an open-source command-line IRC client for Windows, Mac, and Linux.%0a%0aIn the input bar, type:%0a%0a[@%0a/server add network-bnc example.ircnow.org/31337 -ssl -username=user123/network -password=pass123 -autoconnect%0a/connect network-bnc%0a/save%0a@]%0a%0aReplace @@example.ircnow.org@@ with your real server; replace network with the real network you want to connect to, user123 with your real username, and pass123 with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%0a[@%0a/server add ircnow-bnc bnc.ircnow.org/31337 -ssl -username=john/ircnow -password=abcde12345 -autoconnect%0a/connect ircnow-bnc%0a/save%0a@]%0a%0aIf you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a%0aAttach:weechat.png +time=1606913030 +title=Connecting with WeeChat +author:1606913030=jrmu +diff:1606913030:1606913030:=1,23d0%0a%3c (:title Connecting with WeeChat:)%0a%3c %0a%3c [[https://weechat.org/|WeeChat]] is an open-source command-line IRC client for Windows, Mac, and Linux.%0a%3c %0a%3c In the input bar, type:%0a%3c %0a%3c [@%0a%3c /server add network-bnc example.ircnow.org/31337 -ssl -username=user123/network -password=pass123 -autoconnect%0a%3c /connect network-bnc%0a%3c /save%0a%3c @]%0a%3c %0a%3c Replace @@example.ircnow.org@@ with your real server; replace network with the real network you want to connect to, user123 with your real username, and pass123 with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%3c %0a%3c [@%0a%3c /server add ircnow-bnc bnc.ircnow.org/31337 -ssl -username=john/ircnow -password=abcde12345 -autoconnect%0a%3c /connect ircnow-bnc%0a%3c /save%0a%3c @]%0a%3c %0a%3c If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a%3c %0a%3c Attach:weechat.png%0a\ No newline at end of file%0a +host:1606913030=198.251.81.119 blob - /dev/null blob + 1e6d183ead85c5a046923cb54107fd227fbd77ef (mode 644) --- /dev/null +++ wiki.d/Bouncer.Weechat @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597144666 +host=38.81.163.143 +name=Bouncer.Weechat +rev=5 +targets= +text=(:title Connecting with Weechat:)%0a%0a[[https://weechat.org/|Weechat]] is an open-source command-line IRC client for Windows, Mac, and Linux.%0a%0aIn the input bar, type:%0a%0a[@%0a/server add network-bnc example.ircnow.org/31337 -ssl -username=user123/network -password=pass123 -autoconnect%0a/connect network-bnc%0a/save%0a@]%0a%0aReplace @@example.ircnow.org@@ with your real server; replace network with the real network you want to connect to, user123 with your real username, and pass123 with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%0a[@%0a/server add ircnow-bnc bnc.ircnow.org/31337 -ssl -username=john/ircnow -password=abcde12345 -autoconnect%0a/connect ircnow-bnc%0a/save%0a@]%0a%0aIf you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a%0aAttach:weechat.png +time=1597635419 +title=Connecting with Weechat +author:1597635419=jrmu +diff:1597635419:1597578612:=2,3d1%0a%3c %0a%3c [[https://weechat.org/|Weechat]] is an open-source command-line IRC client for Windows, Mac, and Linux.%0a +host:1597635419=38.81.163.143 +author:1597578612=jrmu +diff:1597578612:1597578428:=18,19d17%0a%3c %0a%3c If you get a message saying ZNC is not yet connected, type @@/znc connect@@.%0a +host:1597578612=38.81.163.143 +author:1597578428=jrmu +diff:1597578428:1597400404:=11,12c11,14%0a%3c Replace @@example.ircnow.org@@ with your real server; replace network with the real network you want to connect to, user123 with your real username, and pass123 with your real password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@:%0a%3c %0a---%0a> Attach:weechat.png%0a> %0a> Replace example.ircnow.org with your real server; replace network with your real network, user123 with your real username, and pass123 with your real password. For example:%0a> %0a18,19d19%0a%3c %0a%3c Attach:weechat.png%0a\ No newline at end of file%0a +host:1597578428=38.81.163.143 +author:1597400404=jrmu +diff:1597400404:1597144666:=3,4d2%0a%3c In the input bar, type:%0a%3c %0a10,11d7%0a%3c %0a%3c Attach:weechat.png%0a +host:1597400404=38.81.163.143 +author:1597144666=jrmu +diff:1597144666:1597144666:=1,15d0%0a%3c (:title Connecting with Weechat:)%0a%3c %0a%3c [@%0a%3c /server add network-bnc example.ircnow.org/31337 -ssl -username=user123/network -password=pass123 -autoconnect%0a%3c /connect network-bnc%0a%3c /save%0a%3c @]%0a%3c %0a%3c Replace example.ircnow.org with your real server; replace network with your real network, user123 with your real username, and pass123 with your real password. For example:%0a%3c %0a%3c [@%0a%3c /server add ircnow-bnc bnc.ircnow.org/31337 -ssl -username=john/ircnow -password=abcde12345 -autoconnect%0a%3c /connect ircnow-bnc%0a%3c /save%0a%3c @]%0a +host:1597144666=38.81.163.143 blob - /dev/null blob + 5ec2bd839df79f96d24c372178b26496a81dfea4 (mode 644) --- /dev/null +++ wiki.d/Bouncer.WinIRC @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67 +author=mkf +charset=UTF-8 +csum= +ctime=1628488619 +host=103.208.220.198 +name=Bouncer.WinIRC +rev=2 +targets= +text=[[http://rymate1234.github.io/WinIRC/|WinIRC]] is a UWP IRC client for windows 10 and higher.%0a%0aFirst, click on WinIRC on top left section of window.%0aclick on Manage servers and create a new server%0a%0aAttach:WinIRC-connect.png%0a%0areplace @@bnc.example.org@@ with your server, enable Secure connection and set port to 31337 as shown on picture and replace password with @@User/Network:Password@@, for example if your network if ircnow, your password is abc1234 and your user is john it would be like%0a[@john/ircnow:abc1234@]%0athen, click on save button and connect +time=1628488981 +author:1628488981=mkf +diff:1628488981:1628488619:=5,10d4%0a%3c %0a%3c Attach:WinIRC-connect.png%0a%3c %0a%3c replace @@bnc.example.org@@ with your server, enable Secure connection and set port to 31337 as shown on picture and replace password with @@User/Network:Password@@, for example if your network if ircnow, your password is abc1234 and your user is john it would be like%0a%3c [@john/ircnow:abc1234@]%0a%3c then, click on save button and connect%0a\ No newline at end of file%0a +host:1628488981=103.208.220.198 +author:1628488619=mkf +diff:1628488619:1628488619:=1,4d0%0a%3c [[http://rymate1234.github.io/WinIRC/|WinIRC]] is a UWP IRC client for windows 10 and higher.%0a%3c %0a%3c First, click on WinIRC on top left section of window.%0a%3c click on Manage servers and create a new server%0a +host:1628488619=103.208.220.198 blob - /dev/null blob + 735a35c5d51062f4bcf0bc13d9304b1015894fff (mode 644) --- /dev/null +++ wiki.d/Bouncer.XChat @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606217731 +host=198.251.81.119 +name=Bouncer.XChat +rev=1 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with XChat:)%0a%0a[[http://xchat.org/|XChat]] for Windows is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. XChat for Linux and Mac are open source.%0a%0a# From the menu, select @@File@@ → @@Network List...@@.\\%0aAttach:xchat-menu.png%0a# If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a# At the bottom-left corner, click on the @@+@@ button to add a new network.\\%0aAttach:xchat-networklist.png\\%0aName the network @@network-bnc@@; for example, if you want to connect to @@ircnow@@, name it @@ircnow-bnc@@. Then, click on @@Show details@@.%0a# Select the @@General@@ tab.\\%0aAttach:xchat-showdetails.png%0a # @@Hostname@@: the bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Check @@SSL@@%0a # Uncheck @@Use global user information@@%0a # @@Nick name@@: the bouncer username you registered%0a # @@User name@@: the bouncer username you registered.%0a# Select the @@Connecting@@ tab\\%0aAttach:xchat-connecting.png%0a # Check @@Auto connect to this network at startup@@%0a # Check @@Use SSL for all the servers on this network@@%0a # @@Server password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a# Click @@Connect in a new tab@@ at the bottom of the left window.%0a# If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. +time=1606217731 +title=Connecting with XChat +author:1606217731=jrmu +diff:1606217731:1606217731:=1,25d0%0a%3c (:title Connecting with XChat:)%0a%3c %0a%3c [[http://xchat.org/|XChat]] for Windows is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. XChat for Linux and Mac are open source.%0a%3c %0a%3c # From the menu, select @@File@@ → @@Network List...@@.\\%0a%3c Attach:xchat-menu.png%0a%3c # If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a%3c # At the bottom-left corner, click on the @@+@@ button to add a new network.\\%0a%3c Attach:xchat-networklist.png\\%0a%3c Name the network @@network-bnc@@; for example, if you want to connect to @@ircnow@@, name it @@ircnow-bnc@@. Then, click on @@Show details@@.%0a%3c # Select the @@General@@ tab.\\%0a%3c Attach:xchat-showdetails.png%0a%3c # @@Hostname@@: the bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@SSL@@%0a%3c # Uncheck @@Use global user information@@%0a%3c # @@Nick name@@: the bouncer username you registered%0a%3c # @@User name@@: the bouncer username you registered.%0a%3c # Select the @@Connecting@@ tab\\%0a%3c Attach:xchat-connecting.png%0a%3c # Check @@Auto connect to this network at startup@@%0a%3c # Check @@Use SSL for all the servers on this network@@%0a%3c # @@Server password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Click @@Connect in a new tab@@ at the bottom of the left window.%0a%3c # If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1606217731=198.251.81.119 blob - /dev/null blob + 99e44034191ea43cc379c2ef2a2ca2cae6da617f (mode 644) --- /dev/null +++ wiki.d/Bouncer.XChatAzure @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597580752 +host=38.81.163.143 +name=Bouncer.XChatAzure +rev=1 +targets= +text=(:title Connecting with XChat:)%0a%0a[[https://apps.apple.com/us/app/xchat-azure/id447521961?mt=12|XChat Azure]] is an open-source IRC client for Mac.%0a%0a# From the menu, select @@File@@ --> @@Network List...@@.\\%0aAttach:xchat-menu.png%0a# If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a# At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0aAttach:xchat-networklist.png%0a# Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.\\%0aAttach:xchat-showdetails.png%0a# Select the @@Connecting@@ tab. Check @@Auto connect to this network at startup@@. Check @@Use SSL for all the servers on this network@@. For the @@Server password@@, put username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then @@Server password@@ should be @@john/ircnow:abcde12345@@.\\%0aAttach:xchat-connecting.png%0a# Click on @@Connect in a new tab@@ at the bottom of the left window.%0a# If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597580752 +title=Connecting with XChat +author:1597580752=jrmu +diff:1597580752:1597580752:=1,15d0%0a%3c (:title Connecting with XChat:)%0a%3c %0a%3c [[https://apps.apple.com/us/app/xchat-azure/id447521961?mt=12|XChat Azure]] is an open-source IRC client for Mac.%0a%3c %0a%3c # From the menu, select @@File@@ --> @@Network List...@@.\\%0a%3c Attach:xchat-menu.png%0a%3c # If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a%3c # At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0a%3c Attach:xchat-networklist.png%0a%3c # Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.\\%0a%3c Attach:xchat-showdetails.png%0a%3c # Select the @@Connecting@@ tab. Check @@Auto connect to this network at startup@@. Check @@Use SSL for all the servers on this network@@. For the @@Server password@@, put username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then @@Server password@@ should be @@john/ircnow:abcde12345@@.\\%0a%3c Attach:xchat-connecting.png%0a%3c # Click on @@Connect in a new tab@@ at the bottom of the left window.%0a%3c # If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a +host:1597580752=38.81.163.143 blob - /dev/null blob + fe970fe1909f912d340de9c69d7dba39870a1473 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Xchat @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597388039 +host=38.81.163.143 +name=Bouncer.Xchat +rev=9 +targets=Freedom.Freedom,Bouncer.Bouncer +text=(:title Connecting with XChat:)%0a%0a[[http://xchat.org/|XChat]] for Windows is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. XChat for Linux and Mac are open source.%0a%0a# From the menu, select @@File@@ → @@Network List...@@.\\%0aAttach:xchat-menu.png%0a# If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a# At the bottom-left corner, click on the @@+@@ button to add a new network.\\%0aAttach:xchat-networklist.png\\%0aName the network @@network-bnc@@; for example, if you want to connect to @@ircnow@@, name it @@ircnow-bnc@@. Then, click on @@Show details@@.%0a# Select the @@General@@ tab.\\%0aAttach:xchat-showdetails.png%0a # @@Hostname@@: the bouncer server address (it should look like @@example.ircnow.org@@)%0a # @@Port@@: 31337%0a # Check @@SSL@@%0a # Uncheck @@Use global user information@@%0a # @@Nick name@@: the bouncer username you registered%0a # @@User name@@: the bouncer username you registered.%0a# Select the @@Connecting@@ tab\\%0aAttach:xchat-connecting.png%0a # Check @@Auto connect to this network at startup@@%0a # Check @@Use SSL for all the servers on this network@@%0a # @@Server password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a# Click @@Connect in a new tab@@ at the bottom of the left window.%0a# If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597647558 +title=Connecting with XChat +author:1597647558=jrmu +diff:1597647558:1597645856:=9,11c9,11%0a%3c Attach:xchat-networklist.png\\%0a%3c Name the network @@network-bnc@@; for example, if you want to connect to @@ircnow@@, name it @@ircnow-bnc@@. Then, click on @@Show details@@.%0a%3c # Select the @@General@@ tab.\\%0a---%0a> Attach:xchat-networklist.png%0a> # Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0a> # Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.\\%0a13,19c13%0a%3c # @@Hostname@@: the bouncer server address (it should look like @@example.ircnow.org@@)%0a%3c # @@Port@@: 31337%0a%3c # Check @@SSL@@%0a%3c # Uncheck @@Use global user information@@%0a%3c # @@Nick name@@: the bouncer username you registered%0a%3c # @@User name@@: the bouncer username you registered.%0a%3c # Select the @@Connecting@@ tab\\%0a---%0a> # Select the @@Connecting@@ tab. Check @@Auto connect to this network at startup@@. Check @@Use SSL for all the servers on this network@@. For the @@Server password@@, put username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then @@Server password@@ should be @@john/ircnow:abcde12345@@.\\%0a21,24c15%0a%3c # Check @@Auto connect to this network at startup@@%0a%3c # Check @@Use SSL for all the servers on this network@@%0a%3c # @@Server password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@.%0a%3c # Click @@Connect in a new tab@@ at the bottom of the left window.%0a---%0a> # Click on @@Connect in a new tab@@ at the bottom of the left window.%0a +host:1597647558=38.81.163.143 +author:1597645856=jrmu +diff:1597645856:1597645785:=8c8%0a%3c # At the bottom-left corner, click on the @@+@@ button to add a new network.\\%0a---%0a> # At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0a10d9%0a%3c # Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0a +host:1597645856=38.81.163.143 +author:1597645785=jrmu +diff:1597645785:1597645666:= +host:1597645785=38.81.163.143 +author:1597645666=jrmu +diff:1597645666:1597644529:=2,3d1%0a%3c %0a%3c [[http://xchat.org/|XChat]] for Windows is proprietary software. To protect your [[freedom|freedom]], you should consider using an open source [[bouncer|IRC client]]. XChat for Linux and Mac are open source.%0a +host:1597645666=38.81.163.143 +author:1597644529=jrmu +diff:1597644529:1597402845:=3c3%0a%3c # From the menu, select @@File@@ → @@Network List...@@.\\%0a---%0a> # From the menu, select @@File@@ --> @@Network List...@@.\\%0a +host:1597644529=38.81.163.143 +author:1597402845=jrmu +diff:1597402845:1597402775:= +host:1597402845=38.81.163.143 +author:1597402775=jrmu +diff:1597402775:1597388679:=12,13c12%0a%3c # Click on @@Connect in a new tab@@ at the bottom of the left window.%0a%3c # If you see a message saying ZNC is not yet connected to the network, type @@/znc connect@@ -- wait a few minutes to connect. %0a\ No newline at end of file%0a---%0a> # Click on @@Connect in a new tab@@ at the bottom of the left window.%0a\ No newline at end of file%0a +host:1597402775=38.81.163.143 +author:1597388679=jrmu +diff:1597388679:1597388039:=6c6%0a%3c # At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.\\%0a---%0a> # At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.%0a8c8%0a%3c # Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.\\%0a---%0a> # Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.%0a +host:1597388679=38.81.163.143 +author:1597388039=jrmu +diff:1597388039:1597388039:=1,12d0%0a%3c (:title Connecting with XChat:)%0a%3c %0a%3c # From the menu, select @@File@@ --> @@Network List...@@.\\%0a%3c Attach:xchat-menu.png%0a%3c # If your nick name is blank, fill in your nick name with the bouncer username you registered. If your user name is blank, fill in your user name with the bouncer username you registered.%0a%3c # At the bottom-left corner, click on the @@+@@ button to add a new network. Name the network network-bnc; replace @@network@@ with the network you want to connect to. Then, click on @@Show details@@.%0a%3c Attach:xchat-networklist.png%0a%3c # Select the @@General@@ tab. For @@hostname@@, use your bouncer server (it should look like @@example.ircnow.org@@). The port should be 31337, and check @@SSL@@. Uncheck @@Use global user information@@ and fill in the Nickname with the bouncer username you registered, and the user name with the bouncer username you registered.%0a%3c Attach:xchat-showdetails.png%0a%3c # Select the @@Connecting@@ tab. Check @@Auto connect to this network at startup@@. Check @@Use SSL for all the servers on this network@@. For the @@Server password@@, put username/network:password. For example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then @@Server password@@ should be @@john/ircnow:abcde12345@@.\\%0a%3c Attach:xchat-connecting.png%0a%3c # Click on @@Connect in a new tab@@ at the bottom of the left window.%0a\ No newline at end of file%0a +host:1597388039=38.81.163.143 blob - /dev/null blob + 87364a823d41233d6d23e6d79edcc45c1f0c575d (mode 644) --- /dev/null +++ wiki.d/Bouncer.Yaaic @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597413705 +host=38.81.163.143 +name=Bouncer.Yaaic +rev=12 +targets= +text=(:title Connecting with Yaaic:)%0a%0a[[https://www.yaaic.org/|Yaaic]] is an open source IRC client for Android.%0a%0a# Tap @@Add server@@.\\%0aAttach:yaaic-home.png%0a# Fill in the details:\\%0aAttach:yaaic-server.png\\%0aAttach:yaaic-server2.png%0a # @@Title@@: the name of the network you want to connect to.%0a # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a # @@Port@@: 31337%0a # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a # Check @@Use SSL@@%0a # @@Nickname@@: the bouncer username you registered%0a # @@Real Name@@: any name is fine.%0a # Tap on @@Save@@ at the bottom-left corner%0a# Tap on the network to connect.\\%0aAttach:yaaic-home2.png%0a# If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect. +time=1597631558 +title=Connecting with Yaaic +author:1597631558=jrmu +diff:1597631558:1597575486:=16c16%0a%3c # @@Real Name@@: any name is fine.%0a---%0a> # @@Real name@@: any name is fine.%0a +host:1597631558=38.81.163.143 +author:1597575486=jrmu +diff:1597575486:1597575473:=3c3%0a%3c [[https://www.yaaic.org/|Yaaic]] is an open source IRC client for Android.%0a---%0a> [[https://www.yaaic.org/|yaaic]] is an open source IRC client for Android.%0a +host:1597575486=38.81.163.143 +author:1597575473=jrmu +diff:1597575473:1597574403:=2,3d1%0a%3c %0a%3c [[https://www.yaaic.org/|yaaic]] is an open source IRC client for Android.%0a +host:1597575473=38.81.163.143 +author:1597574403=jrmu +diff:1597574403:1597573886:=17,18c17%0a%3c Attach:yaaic-home2.png%0a%3c # If you see a message saying ZNC is not yet connected, type @@/znc connect@@ -- wait a few minutes to connect.%0a\ No newline at end of file%0a---%0a> Attach:yaaic-home2.png%0a\ No newline at end of file%0a +host:1597574403=38.81.163.143 +author:1597573886=jrmu +diff:1597573886:1597573283:=12a13%0a> # Check @@Auto connect on startup@@%0a +host:1597573886=38.81.163.143 +author:1597573283=jrmu +diff:1597573283:1597414702:=11c11%0a%3c # @@Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a---%0a> # @@ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a +host:1597573283=38.81.163.143 +author:1597414702=jrmu +diff:1597414702:1597414620:=16c16%0a%3c # Tap on @@Save@@ at the bottom-left corner%0a---%0a> # Tap on @@Save@@ at the bottom-right corner%0a +host:1597414702=38.81.163.143 +author:1597414620=jrmu +diff:1597414620:1597414575:=11c11%0a%3c # @@ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a---%0a> # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a +host:1597414620=38.81.163.143 +author:1597414575=jrmu +diff:1597414575:1597414563:=6c6%0a%3c Attach:yaaic-server.png\\%0a---%0a> Attach:yaaic-server.png%0a +host:1597414575=38.81.163.143 +author:1597414563=jrmu +diff:1597414563:1597414249:=7d6%0a%3c Attach:yaaic-server2.png%0a13c12,13%0a%3c # Check @@Auto connect on startup@@%0a---%0a> # Check @@Auto connect on startup@@\\%0a> Attach:yaaic-server2.png%0a +host:1597414563=38.81.163.143 +author:1597414249=jrmu +diff:1597414249:1597413705:=12,13c12%0a%3c # Check @@Auto connect on startup@@\\%0a%3c Attach:yaaic-server2.png%0a---%0a> # Check @@Auto connect on startup@@%0a15d13%0a%3c # @@Real name@@: any name is fine.%0a +host:1597414249=38.81.163.143 +author:1597413705=jrmu +diff:1597413705:1597413705:=1,16d0%0a%3c (:title Connecting with Yaaic:)%0a%3c %0a%3c # Tap @@Add server@@.\\%0a%3c Attach:yaaic-home.png%0a%3c # Fill in the details:\\%0a%3c Attach:yaaic-server.png%0a%3c # @@Title@@: the name of the network you want to connect to.%0a%3c # @@Host@@: the bouncer server address (it should look like example.ircnow.org)%0a%3c # @@Port@@: 31337%0a%3c # @@Server/ZNC Password@@: @@username/network:password@@ -- for example, if your username is @@john@@, the network you want to connect to is @@ircnow@@, and your password is @@abcde12345@@, then fill in @@john/ircnow:abcde12345@@%0a%3c # Check @@Use SSL@@%0a%3c # Check @@Auto connect on startup@@%0a%3c # @@Nickname@@: the bouncer username you registered%0a%3c # Tap on @@Save@@ at the bottom-right corner%0a%3c # Tap on the network to connect.\\%0a%3c Attach:yaaic-home2.png%0a\ No newline at end of file%0a +host:1597413705=38.81.163.143 blob - /dev/null blob + e6dc15c3c38d9d921c609c814ccc829e5b70ebc4 (mode 644) --- /dev/null +++ wiki.d/Bouncer.ZNC @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608474806 +host=38.81.163.7 +name=Bouncer.ZNC +rev=2 +targets= +text=To view your web panel, copy and paste the URL of your server (such as example.ircnow.org) into your web browser.%0a%0aTo add a new network, type:%0a%0a[@%0a/msg *status addnetwork newnet%0a/msg *status jumpnetwork newnet%0a/msg *status addserver irc.example.com +6697%0a/msg *status connect%0a@]%0a%0aReplace newnet with your net name and irc.example.com with the correct server. If you are using port 6667 (plaintext), then replace +6697 with 6667. +time=1608474843 +author:1608474843=jrmu +diff:1608474843:1608474806:=1,12c1%0a%3c To view your web panel, copy and paste the URL of your server (such as example.ircnow.org) into your web browser.%0a%3c %0a%3c To add a new network, type:%0a%3c %0a%3c [@%0a%3c /msg *status addnetwork newnet%0a%3c /msg *status jumpnetwork newnet%0a%3c /msg *status addserver irc.example.com +6697%0a%3c /msg *status connect%0a%3c @]%0a%3c %0a%3c Replace newnet with your net name and irc.example.com with the correct server. If you are using port 6667 (plaintext), then replace +6697 with 6667.%0a\ No newline at end of file%0a---%0a> znc info goes here%0a\ No newline at end of file%0a +host:1608474843=38.81.163.7 +author:1608474806=jrmu +diff:1608474806:1608474806:=1d0%0a%3c znc info goes here%0a\ No newline at end of file%0a +host:1608474806=38.81.163.7 blob - /dev/null blob + 6a9b3f4c08d8dc1cfea9370ff10a4ab52f98ff47 (mode 644) --- /dev/null +++ wiki.d/Bouncer.Znc @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597150541 +host=38.81.163.143 +name=Bouncer.Znc +rev=2 +targets= +text=To view your web panel, copy and paste the URL of your server (such as example.ircnow.org) into your web browser.%0a%0aTo add a new network, type:%0a%0a[@%0a/msg *status addnetwork newnet%0a/msg *status jumpnetwork newnet%0a/msg *status addserver irc.example.com +6697%0a/msg *status connect%0a@]%0a%0aReplace newnet with your net name and irc.example.com with the correct server. If you are using port 6667 (plaintext), then replace +6697 with 6667. +time=1597315557 +author:1597315557=jrmu +diff:1597315557:1597150541:=1,4c1,6%0a%3c To view your web panel, copy and paste the URL of your server (such as example.ircnow.org) into your web browser.%0a%3c %0a%3c To add a new network, type:%0a%3c %0a---%0a> To view your web panel:%0a> %0a> Visit [[https://example.ircnow.org|https://example.ircnow.org]] where example.ircnow.org is the server you connect to.%0a> %0a> To add a new network:%0a> %0a6,12c8,12%0a%3c /msg *status addnetwork newnet%0a%3c /msg *status jumpnetwork newnet%0a%3c /msg *status addserver irc.example.com +6697%0a%3c /msg *status connect%0a%3c @]%0a%3c %0a%3c Replace newnet with your net name and irc.example.com with the correct server. If you are using port 6667 (plaintext), then replace +6697 with 6667.%0a\ No newline at end of file%0a---%0a> addnetwork freenode%0a> jumpnetwork freenode%0a> addserver irc.freenode.net +6697%0a> connect%0a> @]%0a\ No newline at end of file%0a +host:1597315557=38.81.163.143 +author:1597150541=jrmu +diff:1597150541:1597150541:=1,12d0%0a%3c To view your web panel:%0a%3c %0a%3c Visit [[https://example.ircnow.org|https://example.ircnow.org]] where example.ircnow.org is the server you connect to.%0a%3c %0a%3c To add a new network:%0a%3c %0a%3c [@%0a%3c addnetwork freenode%0a%3c jumpnetwork freenode%0a%3c addserver irc.freenode.net +6697%0a%3c connect%0a%3c @]%0a\ No newline at end of file%0a +host:1597150541=38.81.163.143 blob - /dev/null blob + 7f1a1fef3a6f5b0c2920dbe532a9d8a19997cc3a (mode 644) --- /dev/null +++ wiki.d/Bsd.Hope @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615727844 +host=198.251.81.119 +name=Bsd.Hope +rev=8 +targets= +text=(:title BSD Provides Hope:)%0a%0aGPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! GPL users are forced to surrender all ownership rights to their code. With BSD users, there is hope -- there is the prospect of ownership.%0a%0aThere is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is natural in a society of equals.%0a%0aFree users who can own property have the inspiration of hope. The GPL license, which demands users to surrender all their property rights, offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful.%0a%0aHow many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. We can replace scolding with hope. We can give up the GPL license and advocate free software. +time=1615763157 +title=BSD Provides Hope +author:1615763157=jrmu +diff:1615763157:1615762935:=9c9%0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. We can replace scolding with hope. We can give up the GPL license and advocate free software.%0a\ No newline at end of file%0a---%0a> How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. They will give up the GPL license and adopt free software.%0a\ No newline at end of file%0a +host:1615763157=198.251.81.119 +author:1615762935=jrmu +diff:1615762935:1615733382:=7,9c7,9%0a%3c Free users who can own property have the inspiration of hope. The GPL license, which demands users to surrender all their property rights, offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful.%0a%3c %0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. They will give up the GPL license and adopt free software.%0a\ No newline at end of file%0a---%0a> Free users who can own property have the inspiration of hope. The GPL license, which demands users to surrender all their property rights, offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a> %0a> How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL license and adopted free software.%0a\ No newline at end of file%0a +host:1615762935=198.251.81.119 +author:1615733382=jrmu +diff:1615733382:1615730555:= +host:1615733382=198.251.81.119 +author:1615730555=jrmu +diff:1615730555:1615729152:=7c7%0a%3c Free users who can own property have the inspiration of hope. The GPL license, which demands users to surrender all their property rights, offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a---%0a> Free users who can own property have the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a +host:1615730555=198.251.81.119 +author:1615729152=jrmu +diff:1615729152:1615728340:=5,7c5,7%0a%3c There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is natural in a society of equals.%0a%3c %0a%3c Free users who can own property have the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a---%0a> There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals.%0a> %0a> Free labor and the ownership of property provides the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a +host:1615729152=198.251.81.119 +author:1615728340=jrmu +diff:1615728340:1615728264:=9c9%0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL license and adopted free software.%0a\ No newline at end of file%0a---%0a> How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a\ No newline at end of file%0a +host:1615728340=198.251.81.119 +author:1615728264=jrmu +diff:1615728264:1615727844:=3,5c3%0a%3c GPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! GPL users are forced to surrender all ownership rights to their code. With BSD users, there is hope -- there is the prospect of ownership.%0a%3c %0a%3c There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals.%0a---%0a> GPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! With BSD users, there is hope -- there is the prospect of ownership. There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals. %0a +host:1615728264=198.251.81.119 +author:1615727844=jrmu +diff:1615727844:1615727844:=1,7d0%0a%3c (:title BSD Provides Hope:)%0a%3c %0a%3c GPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! With BSD users, there is hope -- there is the prospect of ownership. There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals. %0a%3c %0a%3c Free labor and the ownership of property provides the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a%3c %0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a\ No newline at end of file%0a +host:1615727844=198.251.81.119 blob - /dev/null blob + 8b7469d58facd732fb4081072bb5e2e68530f33e (mode 644) --- /dev/null +++ wiki.d/Bsd.Labor @@ -0,0 +1,45 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615732208 +host=198.251.81.119 +name=Bsd.Labor +rev=11 +targets= +text=!! BSD Free Labor%0a%0aThe newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around our free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair ecosystem which opens the way for all, gives hope to all, and improves the condition of all.%0a%0aProperty is the fruit of labor. Property has a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own work shall be safe from theft when built. Wanting to code is so rare a merit that it should be encouraged.%0a%0aUsers contributing code is the great source from which all software ecosystems are built upon. No network can survive when more than a small percentage of its users are idle. The great majority of users must work at something productive. %0a%0aFree users and their labor comes before, and is independent of, intellectual property. Property is only the fruit of the users' labor, and could never have existed if users had not labored in the first place. Users are more important than property, and deserve the much higher consideration. If at any time our users should stop coding, our entire network would soon perish from code rot.%0a%0aHealthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own labor.%0a%0a(:if false:)%0aIt is the same old argument: You code, and I own; you toil, and I will enjoy the fruits of it. Turn in whatever way you will, whether it come from Silicon Valley or from an organization, it is all the same trick.%0a(:ifend:) +time=1615788778 +author:1615788778=jrmu +diff:1615788778:1615787309:=13,15c13%0a%3c (:if false:)%0a%3c It is the same old argument: You code, and I own; you toil, and I will enjoy the fruits of it. Turn in whatever way you will, whether it come from Silicon Valley or from an organization, it is all the same trick.%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> It is the same old argument: You code, and I own; you toil, and I will enjoy the fruits of it. Turn in whatever way you will, whether it come from Silicon Valley or from an organization, it is all the same trick.%0a\ No newline at end of file%0a +host:1615788778=198.251.81.119 +author:1615787309=jrmu +diff:1615787309:1615784043:=11,13c11%0a%3c Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own labor.%0a%3c %0a%3c It is the same old argument: You code, and I own; you toil, and I will enjoy the fruits of it. Turn in whatever way you will, whether it come from Silicon Valley or from an organization, it is all the same trick.%0a\ No newline at end of file%0a---%0a> Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own labor.%0a\ No newline at end of file%0a +host:1615787309=198.251.81.119 +author:1615784043=jrmu +diff:1615784043:1615776894:=3c3%0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around our free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair ecosystem which opens the way for all, gives hope to all, and improves the condition of all.%0a---%0a> The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around our free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair system which opens the way for all, gives hope to all, and improves the condition of all.%0a +host:1615784043=125.231.16.136 +author:1615776894=jrmu +diff:1615776894:1615776334:=9,11c9,11%0a%3c Free users and their labor comes before, and is independent of, intellectual property. Property is only the fruit of the users' labor, and could never have existed if users had not labored in the first place. Users are more important than property, and deserve the much higher consideration. If at any time our users should stop coding, our entire network would soon perish from code rot.%0a%3c %0a%3c Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own labor.%0a\ No newline at end of file%0a---%0a> If at any time all labour should cease, and all existing provisions be equally divided among the people, at the end of a single year there could scarcely be one human being left alive---all would have perished by want of subsistence.%0a> %0a> Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own work.%0a\ No newline at end of file%0a +host:1615776894=198.251.81.119 +author:1615776334=jrmu +diff:1615776334:1615775424:=5,8c5,8%0a%3c Property is the fruit of labor. Property has a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own work shall be safe from theft when built. Wanting to code is so rare a merit that it should be encouraged.%0a%3c %0a%3c Users contributing code is the great source from which all software ecosystems are built upon. No network can survive when more than a small percentage of its users are idle. The great majority of users must work at something productive. %0a%3c %0a---%0a> Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from theft when built. Wanting to code is so rare a merit that it should be encouraged.%0a> %0a> Users contributing code is the great source from which all software ecosystems are built upon. No network can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive. We wish to allow the humblest user an equal chance to succeed along with everybody else.%0a> %0a9a10,11%0a> %0a> Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration.%0a +host:1615776334=198.251.81.119 +author:1615775424=jrmu +diff:1615775424:1615770469:=3c3%0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around our free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair system which opens the way for all, gives hope to all, and improves the condition of all.%0a---%0a> The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair system which opens the way for all, gives hope to all, and improves the condition of all.%0a +host:1615775424=198.251.81.119 +author:1615770469=jrmu +diff:1615770469:1615736337:=3c3%0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor which comes from free users---a fair system which opens the way for all, gives hope to all, and improves the condition of all.%0a---%0a> The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor which comes from free users---the just, generous, and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a +host:1615770469=198.251.81.119 +author:1615736337=jrmu +diff:1615736337:1615735789:=13c13%0a%3c Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his own work.%0a\ No newline at end of file%0a---%0a> Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his work.%0a\ No newline at end of file%0a +host:1615736337=198.251.81.119 +author:1615735789=jrmu +diff:1615735789:1615735536:=3,4c3,4%0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor which comes from free users---the just, generous, and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a%3c %0a---%0a> The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor from free users---the just and generous and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a> %0a13c13,18%0a%3c Healthy ecosystems come from users who code, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his work.%0a\ No newline at end of file%0a---%0a> Work, work, work, is the main thing.%0a> %0a> I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, %0a> ...half finished work generally proves to be labor lost." The Collected Works of Abraham Lincoln edited by Roy P. Basler, Volume I, "Communication to the People of Sangamon County" (March 9, 1832), p. 5.%0a> %0a> Good works come from working users, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his work.%0a\ No newline at end of file%0a +host:1615735789=198.251.81.119 +author:1615735536=jrmu +diff:1615735536:1615732208:=5,8c5,9%0a%3c Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from theft when built. Wanting to code is so rare a merit that it should be encouraged.%0a%3c %0a%3c Users contributing code is the great source from which all software ecosystems are built upon. No network can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive. We wish to allow the humblest user an equal chance to succeed along with everybody else.%0a%3c %0a---%0a> Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without intellectual property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from violence when built. Wanting to code is so rare a merit that it should be encouraged.%0a> %0a> Users contributing code is the great source from which all software ecosystems are built upon.%0a> No society can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive.%0a> %0a10a12,17%0a> %0a> %0a> %0a> Man is not the only animal who labors; but he is the only one who improves his workmanship.%0a> %0a> %0a12a20,21%0a> Upon this subject, the habits of our whole species fall into three great classes---useful labour, useless labour and idleness. Of these the first only is meritorious; and to it all the products of labour rightfully belong; but the two latter, while they exist, are heavy pensioners upon the first, robbing it of a large portion of it's just rights. The only remedy for this is to, as far as possible, drive useless labour and idleness out of existence.%0a> %0a15c24,25%0a%3c I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, %0a---%0a> I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, we do wish to allow the humblest man an equal chance to get rich with everybody else.%0a> %0a18c28,30%0a%3c Good works come from working users, and so the coder deserves his property. But it has so happened in all eras of software, that some have coded, and others have, without coding, enjoyed a large proportion of the profits. This is wrong, and should not continue. A good society should work hard to ensure that each user enjoys the product of his work.%0a\ No newline at end of file%0a---%0a> And, inasmuch [as] most good things are produced by labour, it follows that [all] such things of right belong to those whose labour has produced them. But it has so happened in all ages of the world, that some have laboured, and others have, without labour, enjoyed a large proportion of the fruits. This is wrong, and should not continue. To [secure] to each labourer the whole product of his labour, or as nearly as possible, is a most worthy object of any good government.%0a> %0a> ...the working men are the basis of all governments, for the plain reason that they are the most numerous...%0a\ No newline at end of file%0a +host:1615735536=198.251.81.119 +author:1615732208=jrmu +diff:1615732208:1615732208:=1,30d0%0a%3c !! BSD Free Labor%0a%3c %0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor from free users---the just and generous and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a%3c %0a%3c Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without intellectual property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from violence when built. Wanting to code is so rare a merit that it should be encouraged.%0a%3c %0a%3c Users contributing code is the great source from which all software ecosystems are built upon.%0a%3c No society can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive.%0a%3c %0a%3c If at any time all labour should cease, and all existing provisions be equally divided among the people, at the end of a single year there could scarcely be one human being left alive---all would have perished by want of subsistence.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Man is not the only animal who labors; but he is the only one who improves his workmanship.%0a%3c %0a%3c %0a%3c Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration.%0a%3c %0a%3c Upon this subject, the habits of our whole species fall into three great classes---useful labour, useless labour and idleness. Of these the first only is meritorious; and to it all the products of labour rightfully belong; but the two latter, while they exist, are heavy pensioners upon the first, robbing it of a large portion of it's just rights. The only remedy for this is to, as far as possible, drive useless labour and idleness out of existence.%0a%3c %0a%3c Work, work, work, is the main thing.%0a%3c %0a%3c I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, we do wish to allow the humblest man an equal chance to get rich with everybody else.%0a%3c %0a%3c ...half finished work generally proves to be labor lost." The Collected Works of Abraham Lincoln edited by Roy P. Basler, Volume I, "Communication to the People of Sangamon County" (March 9, 1832), p. 5.%0a%3c %0a%3c And, inasmuch [as] most good things are produced by labour, it follows that [all] such things of right belong to those whose labour has produced them. But it has so happened in all ages of the world, that some have laboured, and others have, without labour, enjoyed a large proportion of the fruits. This is wrong, and should not continue. To [secure] to each labourer the whole product of his labour, or as nearly as possible, is a most worthy object of any good government.%0a%3c %0a%3c ...the working men are the basis of all governments, for the plain reason that they are the most numerous...%0a\ No newline at end of file%0a +host:1615732208=198.251.81.119 blob - /dev/null blob + 753e5164c87789f4ac02f86366eaf23a0399257f (mode 644) --- /dev/null +++ wiki.d/Bsd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1615727844 +host=198.251.81.119 +name=Bsd.RecentChanges +rev=19 +text=* [[Bsd/Labor]] . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[Bsd/Hope]] . . . March 14, 2021, at 11:05 PM by [[~jrmu]]: [==]%0a +time=1615788778 blob - /dev/null blob + 8e99404a85cc9c6c8e3001b04130959fd30e5240 (mode 644) --- /dev/null +++ wiki.d/Bsdforall.Hardware @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627825503 +host=38.87.162.8 +name=Bsdforall.Hardware +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627825503 +author:1627825503=jrmu +diff:1627825503:1627825503:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a +host:1627825503=38.87.162.8 blob - /dev/null blob + 54e8557cfe14a53c2296665e79e2a9ecacf2d427 (mode 644) --- /dev/null +++ wiki.d/Bsdforall.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627825503 +host=38.87.162.8 +name=Bsdforall.RecentChanges +rev=1 +text=* [[Bsdforall/Hardware]] . . . August 01, 2021, at 01:45 PM by [[~jrmu]]: [==]%0a +time=1627825503 blob - /dev/null blob + bdccf3348e1c2a65a52292a165b956a3ecee3c30 (mode 644) --- /dev/null +++ wiki.d/Category.Users @@ -0,0 +1,8 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +charset=UTF-8 +ctime=1609704532 +host=99.112.18.250 +name=Category.Users +rev=1 +time=1609704532 blob - /dev/null blob + a61b2920015195a76f739b0499ee7de994bfbf0d (mode 644) --- /dev/null +++ wiki.d/Census.Census @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1620396369 +host=198.251.81.119 +name=Census.Census +rev=1 +targets= +text=(:title Census: IRC Services that Make Sense:)%0a%0aCensus is an IRC Services forked from [[http://achurch.org/services/|Andrew Church's IRC Services]].%0a%0aIt provides the basic NickServ, ChanServ, and OperServ, but offers the following:%0a%0aMemoServ%0aMemeServ%0aFileServ%0aPasteServ%0aSpamServ%0aBotServ%0aDataServ%0a%0aIRC Services (also called just "Services" for short) is a system of services to be used with Internet Relay Chat networks. Services provides for definitive nickname and channel ownership, as well as the ability to send messages ("memos") to offline users, and gives IRC operators considerably more control over the network.%0a%0aIn particular, Services provides the following features to an IRC network:%0a%0a Nickname management. Services allows users to "register" nicknames, and will prevent users other than the registrant from using them. Services also maintains information about each registered nickname, including the last time the nick's owner was online as well as a URL and E-mail address that can be set by the user.%0a Channel management. Like nicknames, Services allows users to register channels as well. A channel's owner can give privileges to other users of the channel, such as auto-opping or the ability to set various channel options, or conversely deny other users the ability to obtain channel operator privileges or even enter the channel altogether. Services will remember the topic on the channel even after the last user leaves, and can automatically set modes on the channel whenever a user joins it.%0a Messages to offline users. Probably every IRC user has gone through the experience of waiting and waiting for someone to come online in order to pass a message along or ask a question. Services alleviates this with a "memo" system, allowing users to leave messages for other users even if the recipient is not online at the time; the recipient will be notified of the memo the next time they log on.%0a Centralized network control. Services includes features which allow IRC operators greater control over the IRC network through a single point, and also defines multiple privilege levels for IRC operators with respect to Services itself. For example, IRC operators with sufficient privileges can use Services to set modes on any channel; it is also possible to ban users or groups of users from connecting to the network entirely, and such bans ("autokills" in Services terminology) will remain active even if a server, or Services itself, splits from the network. %0a%0aFurthermore, each of these sets of features can be configured or disabled to match individual networks' policies.%0a%0aBack to top%0a%0a1-2. Overview of Services clients%0a%0aEach of the major feature groups mentioned in section 1-1 above is controlled through a Services client, a nickname associated with that particular set of features. (These are often called "pseudoclients", since they are not true clients, like IRC programs used by humans, but conveniences to simplify access to Services' features.) These clients, as well as others which handle smaller areas of network control, are briefly described below; a more detailed discussion of each feature is presented in section 3, while complete information on each of the commands used to control each client can be found in section 4.%0a%0aNickServ handles registration and maintenance of nicknames. Its primary functions include:%0a%0a registration and de-registration (dropping) of nicknames;%0a verification of nickname users, including password authentication, and removal (either automatically or upon request) of unauthorized users;%0a creation and deletion of nickname aliases (links), which allow a single user to own and switch between multiple nicknames which share settings;%0a control of nickname options, including security level (whether to require a password or simply check the user's username and hostname), associated URL and E-mail address, and what information to show or not show to other users;%0a recording of nickname usage information, including the nickname's last used time and the username and hostname of the nickname's last user; and%0a expiration of nicknames that have not been used in a certain period of time.%0a%0aServices has the ability to send messages to users in multiple languages; a user who has registered their nickname can select from any of the supported languages (English, Dutch, French, German, Hungarian, Japanese, Russian, Spanish, and Turkish). A default language can also be configured for users who have not registered their nicknames or have not selected a specific language.%0a%0aFurthermore, NickServ has the ability to verify E-mail addresses associated with nicknames, by sending an "authentication code" to the E-mail address and not allowing the owner any privileges associated with the nickname until the owner sends that authentication code back to NickServ. This feature can help maintain accountability of users for their actions on IRC by requiring a valid E-mail address at which the user of a nickname can be contacted if problems arise.%0a%0aChanServ is to channels what NickServ is to nicknames; it handles registration and maintenance of channels on the IRC network. Its functions in large part mirror those of NickServ, and include:%0a%0a registration and dropping of channels (a user who registers a channel is known as the channel's founder);%0a verification of channel users, through either direct password authentication or NickServ verification;%0a control of channel access and autokick lists (see below);%0a monitoring and adjustment of channel modes, including automatically giving channel-operator or voice privileges or "inviting" authorized users into invite-only channels;%0a control of channel options, such as preventing users from changing the topic or controlling the strictness with which channel modes and privileges are enforced, and setting a URL or E-mail address for the channel;%0a recording of channel usage information, including the last time a verified user was in the channel; and%0a expiration of channels that have not been used in a certain period of time. %0a%0aOne major difference between nicknames and channels is the access list. While nicknames may have an "access list" that lists addresses which NickServ will recognize as "allowed to use the nickname"—a feature that has little value if passwords are used as the primary means of verification—channel access lists play a much greater role, in that they control which users (nicknames) have what degree of access to (privileges in) the channel. The founder of a channel will always have full access to the channel, but the founder can, via the access list, designate other users who will receive a certain subset of channel privileges. For example, the founder might give privileges to some users to automatically receive channel operator (+o) status when they enter the channel; those users might then, in turn, designate other users to automatically receive voice (+v) status if the channel is moderated. Certain levels of access also allow users to use privileged ChanServ features, such as management of the "autokick list", explained below, or commands which remove channel bans on a user or invite the user into a channel.%0a%0aConversely, the autokick list (often referred to as the "AKICK list", from the name of the command—AKICK—which controls it) specifies users which are not to be allowed access to the channel at all. If a user joins a channel whose autokick list they are listed on, ChanServ will kick them out of the channel and set a channel ban which prevents them from entering again. Since a malicious user could easily enter using an unregistered nickname, channel founders (or other privileged users) can enter username/hostname masks as well as nicknames in the autokick list.%0a%0aAs channels are complex beasts, ChanServ features many options which control how the channel is managed; for example, ChanServ can be set to disallow any changes to the channel topic (if a user changes the topic, ChanServ will cancel the change by restoring the previous topic), or to prevent any users not explicitly entered in the access list from using the channel. ChanServ can also enforce a certain set of modes on a channel; for example, a channel which wants to stay hidden from casual users could use ChanServ to ensure that the +s (secret) mode is always set on the channel.%0a%0aIf the founder of a channel loses his nickname, whether by explicitly dropping it or by letting it expire, the channel will be dropped as well. If this should happen by accident, it can be difficult to restore all of the channel settings. To help avoid this problem, ChanServ allows channel founders to designate a successor for the channel. If the founder's nickname should ever be dropped or expire, then ChanServ will give the channel to the successor—making them the new founder of the channel—rather than dropping the channel.%0a%0aMemoServ handles storage and notification of memos, short messages between IRC users. Memos can be thought of as an intermediate stage between realtime chat and E-mail; they are sent and read in the same way as ordinary chatting, but can be sent even if the recipient is not online at the time, and the recipient can read the memos at his or her leisure. Memos are particularly useful for short messages for which it would not be worth the time to start up an E-mail client and type out a complete message, or for cases where the nickname of the recipient is known but the recipient's E-mail address is not (or the recipient does not have an E-mail address at all).%0a%0aMemoServ's four main functions are sending memos, listing memos which have been received, reading memos, and deleting memos after they have been read. Users can also set memo options, which include whether to notify them of new memos when they log on and whether they should be able to receive memos at all, and can have memos automatically forwarded to an authenticated E-mail address.%0a%0aIn addition to memos between users, memos can also be sent to channels; such memos will be sent to all users with sufficient privileges on the channel. This type of memo can be used, for example, to inform channel operators about a problem user, or as a way for users to ask questions about the channel.%0a%0aOperServ provides access to the "network control" functionality of Services. Available only to IRC operators, OperServ allows:%0a%0a broadcasts of messages to the entire network (global notices), as well as recording of news messages to be sent to users when they connect to the network;%0a control of modes in any channel, as well as the ability to kick any user from any channel;%0a banning certain users from the entire network (autokill list and S-lines, described below);%0a limiting the number of users which can connect from a single IP address, useful for preventing "cloning" (sessions), as well as making exceptions to those limits;%0a disconnecting all users from a given IP address;%0a preventing certain servers from connecting to the network ("juping");%0a setting global Services options; and%0a restarting or shutting down Services itself. %0a%0aMany of these functions can, if misused, have disastrous effects for the entire network; thus, OperServ implements a privilege system to limit which IRC operators can use which functions. Four different privilege levels are defined: normal IRC operator, Services operator, Services administrator, and Services super-user (also known as "Services root", from the Unix tradition of using the username "root" for the system super-user). Normal IRC operators can use very few of the functions above, while the Services super-user has absolute control over Services and the IRC network.%0a%0aOf particular note are the autokill list and S-line features, which are to the network as autokick lists are to channels; users in these lists will be prohibited from connecting to any server on the network, and will be disconnected immediately if they do connect. The difference between the two is what they prohibit; the autokill list prohibits certain combinations of username and hostname, much like autokick lists do, while S-lines, named after the commands used by a certain IRC server to implement them, prohibit nicknames, "real names", or IP addresses (IP address checking is only available with a few IRC servers).%0a%0aOperServ also includes a separate client, by default called Global, which is used to send global (network-wide) notices and news messages to users. Many networks rename this client to the same name as their network; the name of the client (as well as all other Services clients) can be changed by editing the configuration file, as described in section 2-4.%0a%0aStatServ is an additional client which monitors and keeps basic statistical information regarding network usage. It can be useful to check, for example, which servers are getting the most use, or whether certain servers have a tendency to split from the network frequently.%0a%0aIn addition to the clients above, Services also has a built-in HTTP (web) server, which allows access to Services information (such as registered nickname and channel information and network statistics) without having to connect to the IRC network. See section 3-6 for more information about the HTTP server.%0a%0a +time=1620396369 +title=Census: IRC Services that Make Sense +author:1620396369=jrmu +diff:1620396369:1620396369:=1,89d0%0a%3c (:title Census: IRC Services that Make Sense:)%0a%3c %0a%3c Census is an IRC Services forked from [[http://achurch.org/services/|Andrew Church's IRC Services]].%0a%3c %0a%3c It provides the basic NickServ, ChanServ, and OperServ, but offers the following:%0a%3c %0a%3c MemoServ%0a%3c MemeServ%0a%3c FileServ%0a%3c PasteServ%0a%3c SpamServ%0a%3c BotServ%0a%3c DataServ%0a%3c %0a%3c IRC Services (also called just "Services" for short) is a system of services to be used with Internet Relay Chat networks. Services provides for definitive nickname and channel ownership, as well as the ability to send messages ("memos") to offline users, and gives IRC operators considerably more control over the network.%0a%3c %0a%3c In particular, Services provides the following features to an IRC network:%0a%3c %0a%3c Nickname management. Services allows users to "register" nicknames, and will prevent users other than the registrant from using them. Services also maintains information about each registered nickname, including the last time the nick's owner was online as well as a URL and E-mail address that can be set by the user.%0a%3c Channel management. Like nicknames, Services allows users to register channels as well. A channel's owner can give privileges to other users of the channel, such as auto-opping or the ability to set various channel options, or conversely deny other users the ability to obtain channel operator privileges or even enter the channel altogether. Services will remember the topic on the channel even after the last user leaves, and can automatically set modes on the channel whenever a user joins it.%0a%3c Messages to offline users. Probably every IRC user has gone through the experience of waiting and waiting for someone to come online in order to pass a message along or ask a question. Services alleviates this with a "memo" system, allowing users to leave messages for other users even if the recipient is not online at the time; the recipient will be notified of the memo the next time they log on.%0a%3c Centralized network control. Services includes features which allow IRC operators greater control over the IRC network through a single point, and also defines multiple privilege levels for IRC operators with respect to Services itself. For example, IRC operators with sufficient privileges can use Services to set modes on any channel; it is also possible to ban users or groups of users from connecting to the network entirely, and such bans ("autokills" in Services terminology) will remain active even if a server, or Services itself, splits from the network. %0a%3c %0a%3c Furthermore, each of these sets of features can be configured or disabled to match individual networks' policies.%0a%3c %0a%3c Back to top%0a%3c %0a%3c 1-2. Overview of Services clients%0a%3c %0a%3c Each of the major feature groups mentioned in section 1-1 above is controlled through a Services client, a nickname associated with that particular set of features. (These are often called "pseudoclients", since they are not true clients, like IRC programs used by humans, but conveniences to simplify access to Services' features.) These clients, as well as others which handle smaller areas of network control, are briefly described below; a more detailed discussion of each feature is presented in section 3, while complete information on each of the commands used to control each client can be found in section 4.%0a%3c %0a%3c NickServ handles registration and maintenance of nicknames. Its primary functions include:%0a%3c %0a%3c registration and de-registration (dropping) of nicknames;%0a%3c verification of nickname users, including password authentication, and removal (either automatically or upon request) of unauthorized users;%0a%3c creation and deletion of nickname aliases (links), which allow a single user to own and switch between multiple nicknames which share settings;%0a%3c control of nickname options, including security level (whether to require a password or simply check the user's username and hostname), associated URL and E-mail address, and what information to show or not show to other users;%0a%3c recording of nickname usage information, including the nickname's last used time and the username and hostname of the nickname's last user; and%0a%3c expiration of nicknames that have not been used in a certain period of time.%0a%3c %0a%3c Services has the ability to send messages to users in multiple languages; a user who has registered their nickname can select from any of the supported languages (English, Dutch, French, German, Hungarian, Japanese, Russian, Spanish, and Turkish). A default language can also be configured for users who have not registered their nicknames or have not selected a specific language.%0a%3c %0a%3c Furthermore, NickServ has the ability to verify E-mail addresses associated with nicknames, by sending an "authentication code" to the E-mail address and not allowing the owner any privileges associated with the nickname until the owner sends that authentication code back to NickServ. This feature can help maintain accountability of users for their actions on IRC by requiring a valid E-mail address at which the user of a nickname can be contacted if problems arise.%0a%3c %0a%3c ChanServ is to channels what NickServ is to nicknames; it handles registration and maintenance of channels on the IRC network. Its functions in large part mirror those of NickServ, and include:%0a%3c %0a%3c registration and dropping of channels (a user who registers a channel is known as the channel's founder);%0a%3c verification of channel users, through either direct password authentication or NickServ verification;%0a%3c control of channel access and autokick lists (see below);%0a%3c monitoring and adjustment of channel modes, including automatically giving channel-operator or voice privileges or "inviting" authorized users into invite-only channels;%0a%3c control of channel options, such as preventing users from changing the topic or controlling the strictness with which channel modes and privileges are enforced, and setting a URL or E-mail address for the channel;%0a%3c recording of channel usage information, including the last time a verified user was in the channel; and%0a%3c expiration of channels that have not been used in a certain period of time. %0a%3c %0a%3c One major difference between nicknames and channels is the access list. While nicknames may have an "access list" that lists addresses which NickServ will recognize as "allowed to use the nickname"—a feature that has little value if passwords are used as the primary means of verification—channel access lists play a much greater role, in that they control which users (nicknames) have what degree of access to (privileges in) the channel. The founder of a channel will always have full access to the channel, but the founder can, via the access list, designate other users who will receive a certain subset of channel privileges. For example, the founder might give privileges to some users to automatically receive channel operator (+o) status when they enter the channel; those users might then, in turn, designate other users to automatically receive voice (+v) status if the channel is moderated. Certain levels of access also allow users to use privileged ChanServ features, such as management of the "autokick list", explained below, or commands which remove channel bans on a user or invite the user into a channel.%0a%3c %0a%3c Conversely, the autokick list (often referred to as the "AKICK list", from the name of the command—AKICK—which controls it) specifies users which are not to be allowed access to the channel at all. If a user joins a channel whose autokick list they are listed on, ChanServ will kick them out of the channel and set a channel ban which prevents them from entering again. Since a malicious user could easily enter using an unregistered nickname, channel founders (or other privileged users) can enter username/hostname masks as well as nicknames in the autokick list.%0a%3c %0a%3c As channels are complex beasts, ChanServ features many options which control how the channel is managed; for example, ChanServ can be set to disallow any changes to the channel topic (if a user changes the topic, ChanServ will cancel the change by restoring the previous topic), or to prevent any users not explicitly entered in the access list from using the channel. ChanServ can also enforce a certain set of modes on a channel; for example, a channel which wants to stay hidden from casual users could use ChanServ to ensure that the +s (secret) mode is always set on the channel.%0a%3c %0a%3c If the founder of a channel loses his nickname, whether by explicitly dropping it or by letting it expire, the channel will be dropped as well. If this should happen by accident, it can be difficult to restore all of the channel settings. To help avoid this problem, ChanServ allows channel founders to designate a successor for the channel. If the founder's nickname should ever be dropped or expire, then ChanServ will give the channel to the successor—making them the new founder of the channel—rather than dropping the channel.%0a%3c %0a%3c MemoServ handles storage and notification of memos, short messages between IRC users. Memos can be thought of as an intermediate stage between realtime chat and E-mail; they are sent and read in the same way as ordinary chatting, but can be sent even if the recipient is not online at the time, and the recipient can read the memos at his or her leisure. Memos are particularly useful for short messages for which it would not be worth the time to start up an E-mail client and type out a complete message, or for cases where the nickname of the recipient is known but the recipient's E-mail address is not (or the recipient does not have an E-mail address at all).%0a%3c %0a%3c MemoServ's four main functions are sending memos, listing memos which have been received, reading memos, and deleting memos after they have been read. Users can also set memo options, which include whether to notify them of new memos when they log on and whether they should be able to receive memos at all, and can have memos automatically forwarded to an authenticated E-mail address.%0a%3c %0a%3c In addition to memos between users, memos can also be sent to channels; such memos will be sent to all users with sufficient privileges on the channel. This type of memo can be used, for example, to inform channel operators about a problem user, or as a way for users to ask questions about the channel.%0a%3c %0a%3c OperServ provides access to the "network control" functionality of Services. Available only to IRC operators, OperServ allows:%0a%3c %0a%3c broadcasts of messages to the entire network (global notices), as well as recording of news messages to be sent to users when they connect to the network;%0a%3c control of modes in any channel, as well as the ability to kick any user from any channel;%0a%3c banning certain users from the entire network (autokill list and S-lines, described below);%0a%3c limiting the number of users which can connect from a single IP address, useful for preventing "cloning" (sessions), as well as making exceptions to those limits;%0a%3c disconnecting all users from a given IP address;%0a%3c preventing certain servers from connecting to the network ("juping");%0a%3c setting global Services options; and%0a%3c restarting or shutting down Services itself. %0a%3c %0a%3c Many of these functions can, if misused, have disastrous effects for the entire network; thus, OperServ implements a privilege system to limit which IRC operators can use which functions. Four different privilege levels are defined: normal IRC operator, Services operator, Services administrator, and Services super-user (also known as "Services root", from the Unix tradition of using the username "root" for the system super-user). Normal IRC operators can use very few of the functions above, while the Services super-user has absolute control over Services and the IRC network.%0a%3c %0a%3c Of particular note are the autokill list and S-line features, which are to the network as autokick lists are to channels; users in these lists will be prohibited from connecting to any server on the network, and will be disconnected immediately if they do connect. The difference between the two is what they prohibit; the autokill list prohibits certain combinations of username and hostname, much like autokick lists do, while S-lines, named after the commands used by a certain IRC server to implement them, prohibit nicknames, "real names", or IP addresses (IP address checking is only available with a few IRC servers).%0a%3c %0a%3c OperServ also includes a separate client, by default called Global, which is used to send global (network-wide) notices and news messages to users. Many networks rename this client to the same name as their network; the name of the client (as well as all other Services clients) can be changed by editing the configuration file, as described in section 2-4.%0a%3c %0a%3c StatServ is an additional client which monitors and keeps basic statistical information regarding network usage. It can be useful to check, for example, which servers are getting the most use, or whether certain servers have a tendency to split from the network frequently.%0a%3c %0a%3c In addition to the clients above, Services also has a built-in HTTP (web) server, which allows access to Services information (such as registered nickname and channel information and network statistics) without having to connect to the IRC network. See section 3-6 for more information about the HTTP server.%0a%3c %0a +host:1620396369=198.251.81.119 blob - /dev/null blob + ac189c207e6a5ce906ff8c2fab317541964e7940 (mode 644) --- /dev/null +++ wiki.d/Census.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1620396369 +host=198.251.81.119 +name=Census.RecentChanges +rev=1 +text=* [[Census/Census]] . . . May 07, 2021, at 02:06 PM by [[~jrmu]]: [==]%0a +time=1620396369 blob - /dev/null blob + 320bbd2acf36ee8787b29b1df0e718e8546446d8 (mode 644) --- /dev/null +++ wiki.d/ChatSecure.Connect @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637669361 +host=38.87.162.8 +name=ChatSecure.Connect +rev=10 +targets=Xmpp.Xmpp +text=[[https://chatsecure.org|Chat Secure]] is a free and open source XMPP app for iOS. It features both OMEMO and OTR encryption. It allows in-band registration to public XMPP servers (including via Tor). It provides TLS certificate pinning and SQLCipher to locally encrypt conversation logs.%0a%0a'''WARNING''': Apple's App store and iOS are non-free. To better protect your security and privacy, you should consider using another OS.%0a%0a# [[https://itunes.apple.com/us/app/chatsecure/id464200063|Download ChatSecure]] from the Apple App store and open it:\\%0aAttach:chatsecure-appstore.png%0a# Tap on the settings icon at the top-right corner:\\%0aAttach:chatsecure-inbox.png%0a# Tap @@New Account@@:\\%0aAttach:chatsecure-settings.png%0a# Tap @@Create New Account@@:\\%0aAttach:chatsecure-createnewaccount.png%0a# Choose a @@Nickname@@, and for @@Server@@, see our list of [[xmpp/xmpp|free XMPP servers]]. In this example, our server is @@ircnow.org@@.\\%0aAttach:chatsecure-signup.png%0a# If you want to set a custom password, tap @@Show Advanced Options@@. Then, tap @@Generate Secure Password@@, and type in a password:\\%0aAttach:chatsecure-signup-password.png%0a# Tap @@Save@@ to save the new SSL certificate:\\%0aAttach:chatsecure-newssl.png%0a# Tap @@Enable Push@@:\\%0aAttach:chatsecure-enablepush.png%0a# Tap @@Allow@@:\\%0aAttach:chatsecure-sendnotifications.png%0a# Tap @@OK@@:\\%0aAttach:chatsecure-accesscamera.png%0a# After sharing invites, tap the checkmark at the top-right corner:\\%0aAttach:chatsecure-shareinvite.png%0a# Tap @@Maybe Later@@:\\%0aAttach:chatsecure-thankyou.png%0a# Tap @@Finish@@:\\%0aAttach:chatsecure-moreways.png%0a +time=1637926584 +author:1637926584=jrmu +diff:1637926584:1637926224:=30a31%0a> # Tap @@Finish@@:\\%0a +host:1637926584=38.87.162.8 +author:1637926224=jrmu +diff:1637926224:1637926189:=13c13%0a%3c # Choose a @@Nickname@@, and for @@Server@@, see our list of [[xmpp/xmpp|free XMPP servers]]. In this example, our server is @@ircnow.org@@.\\%0a---%0a> # Choose a @@Nickname@@, and for @@Server@@, see our list of [[xmpp/xmpp|free XMPP servers]]. In this example, our server is @@ircnow.org@@.%0a17c17%0a%3c # Tap @@Save@@ to save the new SSL certificate:\\%0a---%0a> # Tap @@Save@@ to save the new SSL certificate:%0a +host:1637926224=38.87.162.8 +author:1637926189=jrmu +diff:1637926189:1637925946:= +host:1637926189=38.87.162.8 +author:1637925946=jrmu +diff:1637925946:1637671965:=5c5%0a%3c # [[https://itunes.apple.com/us/app/chatsecure/id464200063|Download ChatSecure]] from the Apple App store and open it:\\%0a---%0a> # Download ChatSecure from the Apple App store and open it:\\%0a +host:1637925946=38.87.162.8 +author:1637671965=jrmu +diff:1637671965:1637671680:=17,18d16%0a%3c # Tap @@Save@@ to save the new SSL certificate:%0a%3c Attach:chatsecure-newssl.png%0a31a30%0a> Attach:chatsecure-newssl.png%0a +host:1637671965=38.87.162.8 +author:1637671680=jrmu +diff:1637671680:1637671274:=15c15%0a%3c # If you want to set a custom password, tap @@Show Advanced Options@@. Then, tap @@Generate Secure Password@@, and type in a password:\\%0a---%0a> # If you want to set a custom password, tap @@Show Advanced Options@@.\\%0a17c17%0a%3c # Tap @@Enable Push@@:\\%0a---%0a> Attach:chatsecure-accesscamera.png%0a19c19,20%0a%3c # Tap @@Allow@@:\\%0a---%0a> Attach:chatsecure-moreways.png%0a> Attach:chatsecure-newssl.png%0a21,23d21%0a%3c # Tap @@OK@@:\\%0a%3c Attach:chatsecure-accesscamera.png%0a%3c # After sharing invites, tap the checkmark at the top-right corner:\\%0a25d22%0a%3c # Tap @@Maybe Later@@:\\%0a27,30c24,28%0a%3c # Tap @@Finish@@:\\%0a%3c Attach:chatsecure-moreways.png%0a%3c # Tap @@Finish@@:\\%0a%3c Attach:chatsecure-newssl.png%0a---%0a> %0a> # Tap @@Allow@@:\\%0a> # Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0a> # After login, tap @@ChatSecure@@:\\%0a> # Tap the contacts icon at the top-right corner:\\%0a +host:1637671680=38.87.162.8 +author:1637671274=jrmu +diff:1637671274:1637671120:=13c13%0a%3c # Choose a @@Nickname@@, and for @@Server@@, see our list of [[xmpp/xmpp|free XMPP servers]]. In this example, our server is @@ircnow.org@@.%0a---%0a> # Choose a @@Nickname@@, and for @@Server@@:%0a15,16d14%0a%3c # If you want to set a custom password, tap @@Show Advanced Options@@.\\%0a%3c Attach:chatsecure-signup-password.png%0a22a21%0a> Attach:chatsecure-signup-password.png%0a +host:1637671274=38.87.162.8 +author:1637671120=jrmu +diff:1637671120:1637669499:=3,5c3%0a%3c '''WARNING''': Apple's App store and iOS are non-free. To better protect your security and privacy, you should consider using another OS.%0a%3c %0a%3c # Download ChatSecure from the Apple App store and open it:\\%0a---%0a> Attach:chatsecure-accesscamera.png%0a7c5,6%0a%3c # Tap on the settings icon at the top-right corner:\\%0a---%0a> Attach:chatsecure-createnewaccount.png%0a> Attach:chatsecure-enablepush.png%0a9c8,10%0a%3c # Tap @@New Account@@:\\%0a---%0a> Attach:chatsecure-moreways.png%0a> Attach:chatsecure-newssl.png%0a> Attach:chatsecure-sendnotifications.png%0a11,13c12,13%0a%3c # Tap @@Create New Account@@:\\%0a%3c Attach:chatsecure-createnewaccount.png%0a%3c # Choose a @@Nickname@@, and for @@Server@@:%0a---%0a> Attach:chatsecure-shareinvite.png%0a> Attach:chatsecure-signup-password.png%0a15,21d14%0a%3c Attach:chatsecure-accesscamera.png%0a%3c Attach:chatsecure-enablepush.png%0a%3c Attach:chatsecure-moreways.png%0a%3c Attach:chatsecure-newssl.png%0a%3c Attach:chatsecure-sendnotifications.png%0a%3c Attach:chatsecure-shareinvite.png%0a%3c Attach:chatsecure-signup-password.png%0a23a17%0a> # To install ChatSecure, first install [[Fdroid/Install|F-droid]]:\\%0a +host:1637671120=38.87.162.8 +author:1637669499=jrmu +diff:1637669499:1637669361:=3,17c3,17%0a%3c Attach:chatsecure-accesscamera.png%0a%3c Attach:chatsecure-appstore.png%0a%3c Attach:chatsecure-createnewaccount.png%0a%3c Attach:chatsecure-enablepush.png%0a%3c Attach:chatsecure-inbox.png%0a%3c Attach:chatsecure-moreways.png%0a%3c Attach:chatsecure-newssl.png%0a%3c Attach:chatsecure-sendnotifications.png%0a%3c Attach:chatsecure-settings.png%0a%3c Attach:chatsecure-shareinvite.png%0a%3c Attach:chatsecure-signup-password.png%0a%3c Attach:chatsecure-signup.png%0a%3c Attach:chatsecure-thankyou.png%0a%3c %0a%3c # To install ChatSecure, first install [[Fdroid/Install|F-droid]]:\\%0a---%0a> chatsecure-accesscamera.png%0a> chatsecure-appstore.png%0a> chatsecure-createnewaccount.png%0a> chatsecure-enablepush.png%0a> chatsecure-inbox.png%0a> chatsecure-moreways.png%0a> chatsecure-newssl.png%0a> chatsecure-sendnotifications.png%0a> chatsecure-settings.png%0a> chatsecure-shareinvite.png%0a> chatsecure-signup-password.png%0a> chatsecure-signup.png%0a> chatsecure-thankyou.png%0a> %0a> # To install Monal, first install [[Fdroid/Install|F-droid]]:\\%0a20c20%0a%3c # After login, tap @@ChatSecure@@:\\%0a---%0a> # After login, tap @@Start Using Monal@@:\\%0a +host:1637669499=38.87.162.8 +author:1637669361=jrmu +diff:1637669361:1637669361:=1,21d0%0a%3c [[https://chatsecure.org|Chat Secure]] is a free and open source XMPP app for iOS. It features both OMEMO and OTR encryption. It allows in-band registration to public XMPP servers (including via Tor). It provides TLS certificate pinning and SQLCipher to locally encrypt conversation logs.%0a%3c %0a%3c chatsecure-accesscamera.png%0a%3c chatsecure-appstore.png%0a%3c chatsecure-createnewaccount.png%0a%3c chatsecure-enablepush.png%0a%3c chatsecure-inbox.png%0a%3c chatsecure-moreways.png%0a%3c chatsecure-newssl.png%0a%3c chatsecure-sendnotifications.png%0a%3c chatsecure-settings.png%0a%3c chatsecure-shareinvite.png%0a%3c chatsecure-signup-password.png%0a%3c chatsecure-signup.png%0a%3c chatsecure-thankyou.png%0a%3c %0a%3c # To install Monal, first install [[Fdroid/Install|F-droid]]:\\%0a%3c # Tap @@Allow@@:\\%0a%3c # Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0a%3c # After login, tap @@Start Using Monal@@:\\%0a%3c # Tap the contacts icon at the top-right corner:\\%0a +host:1637669361=38.87.162.8 blob - /dev/null blob + 8c5246ddccff9b9816e2e517fd4df6dc8603c357 (mode 644) --- /dev/null +++ wiki.d/ChatSecure.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637669361 +host=38.87.162.8 +name=ChatSecure.RecentChanges +rev=10 +text=* [[ChatSecure/Connect]] . . . November 26, 2021, at 11:36 AM by [[~jrmu]]: [==]%0a +time=1637926584 blob - /dev/null blob + 724e20332f1f05cc04eb696054e311e63c589f56 (mode 644) --- /dev/null +++ wiki.d/Cherry.Cherry @@ -0,0 +1,48 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 +author=Oz +charset=UTF-8 +csum= +ctime=1609511459 +host=2402:1980:8294:275:ac68:8055:f063:7657 +name=Cherry.Cherry +rev=12 +targets=Cherry.Todo +text=Welcome to Cherry!%0aIRCNow Cherry is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aCome and learn how services work and have fun with us, guided in real time, effectively!%0a%0aAvailable services at IRCNow Cherry:%0a%0aIRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at '''irc.cherry.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%0aIRCNow Cherry IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. %0aRemember that our bouncer service is totally free!%0a%0aProvided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 100 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members at #Cherry as we are ready to assist you further. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%0aLanguages we speak include English and Bahasa Melayu. %0aOur team consist of volunteer System Administrators, who maintain the IRCNow Cherry services in their free time. %0aThey are Oz%0a%0aWe are working to help protect freedom on the Internet. We are working to build an online community that WE THE USERS control.%0aWould you like to donate to IRCNow Cherry to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released freely so anyone can copy, share, modify, and use.%0a%0aWe now accepting donations through Paypal, Bitcoin and Ethereum.%0a%0ahttps://www.paypal.com/paypalme/ircnowcherry%0a%0a'''Bitcoin'''%0abc1qwz5ekjltadzwf9w468czwz5vrluxkk8d2j9pvm%0a%0a'''Ethereum'''%0a0xf471819b2046e78709462798742fbFf99bD032B6%0a%0a%0a[[cherry/todo|Todo list]] +time=1619963013 +author:1619963013=Oz +diff:1619963013:1611156599:= +host:1619963013=2402:1980:8294:275:ac68:8055:f063:7657 +author:1611156599=Oz +diff:1611156599:1611156491:=24c24%0a%3c https://www.paypal.com/paypalme/ircnowcherry%0a---%0a> [[paypal.me/ircnowcherry]]%0a +host:1611156599=2402:1980:82e6:e723:711d:6da5:6c9e:dc76 +author:1611156491=Oz +diff:1611156491:1611156485:= +host:1611156491=2402:1980:82e6:e723:711d:6da5:6c9e:dc76 +author:1611156485=Oz +diff:1611156485:1611156438:= +host:1611156485=2402:1980:82e6:e723:711d:6da5:6c9e:dc76 +author:1611156438=Oz +diff:1611156438:1610975217:=22,24c22%0a%3c We now accepting donations through Paypal, Bitcoin and Ethereum.%0a%3c %0a%3c [[paypal.me/ircnowcherry]]%0a---%0a> We now accepting donations through Bitcoin and Ethereum.%0a +host:1611156438=2402:1980:82e6:e723:711d:6da5:6c9e:dc76 +author:1610975217=Oz +diff:1610975217:1610975211:= +host:1610975217=2402:1980:314:c20a:c59d:d1ff:c1a2:c4cc +author:1610975211=Oz +diff:1610975211:1609684803:=18,29d17%0a%3c %0a%3c We are working to help protect freedom on the Internet. We are working to build an online community that WE THE USERS control.%0a%3c Would you like to donate to IRCNow Cherry to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released freely so anyone can copy, share, modify, and use.%0a%3c %0a%3c We now accepting donations through Bitcoin and Ethereum.%0a%3c %0a%3c '''Bitcoin'''%0a%3c bc1qwz5ekjltadzwf9w468czwz5vrluxkk8d2j9pvm%0a%3c %0a%3c '''Ethereum'''%0a%3c 0xf471819b2046e78709462798742fbFf99bD032B6%0a%3c %0a +host:1610975211=2402:1980:314:c20a:c59d:d1ff:c1a2:c4cc +author:1609684803=jrmu +diff:1609684803:1609512090:=17,19c17%0a%3c They are Oz%0a%3c %0a%3c [[cherry/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> They are Oz%0a\ No newline at end of file%0a +host:1609684803=125.231.63.134 +author:1609512090=Oz +diff:1609512090:1609511650:=13c13%0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 100 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members at #Cherry as we are ready to assist you further. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a---%0a> Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 100 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a +host:1609512090=2402:1980:29f:ce17:fd64:341:78f7:5e5e +author:1609511650=Oz +diff:1609511650:1609511542:=10,14c10,13%0a%3c IRCNow Cherry IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. %0a%3c Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 100 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a---%0a> IRCNow Cherry IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a> %0a> Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a> %0a16c15%0a%3c Our team consist of volunteer System Administrators, who maintain the IRCNow Cherry services in their free time. %0a---%0a> Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. %0a +host:1609511650=2402:1980:29f:ce17:fd64:341:78f7:5e5e +author:1609511542=Oz +diff:1609511542:1609511459:=8c8%0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at '''irc.cherry.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a---%0a> IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a +host:1609511542=2402:1980:29f:ce17:fd64:341:78f7:5e5e +author:1609511459=Oz +diff:1609511459:1609511459:=1,16d0%0a%3c Welcome to Cherry!%0a%3c IRCNow Cherry is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c Available services at IRCNow Cherry:%0a%3c %0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Cherry IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a%3c Languages we speak include English and Bahasa Melayu. %0a%3c Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. %0a%3c They are Oz%0a\ No newline at end of file%0a +host:1609511459=2402:1980:29f:ce17:fd64:341:78f7:5e5e blob - /dev/null blob + ab1b1c06fea8afc23b91136b7581aa42cc24190b (mode 644) --- /dev/null +++ wiki.d/Cherry.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 +charset=UTF-8 +ctime=1609511459 +host=2402:1980:8294:275:ac68:8055:f063:7657 +name=Cherry.RecentChanges +rev=24 +text=* [[Cherry/Cherry]] . . . May 02, 2021, at 01:43 PM by [[~Oz]]: [==]%0a* [[Cherry/Todo]] . . . March 23, 2021, at 03:23 PM by [[~Oz]]: [==]%0a +time=1619963013 blob - /dev/null blob + 605cd0a3a7355c4c866cf6aab8dc64daea383c8e (mode 644) --- /dev/null +++ wiki.d/Cherry.Todo @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=Oz +charset=UTF-8 +csum= +ctime=1609684888 +host=2402:1980:322:68b:b872:eecd:695a:67 +name=Cherry.Todo +rev=12 +targets=Openbsd.Znc,Openbsd.PFStable,Openbsd.Newdisk,Openbsd.Backup +text=(:title Cherry Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a %0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Check to see if your ZNC is on version 1.8.2. If it is not, upgrade [[openbsd/znc|znc]]%0a# [[openbsd/PFStable|Configure the firewall]] PIC: Oz%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]] %0a# Add new dns records for irc6.cherry.ircnow.org, ipv6.cherry.ircnow.org, ip6.cherry.ircnow.org PIC: KeKanda%0a# Update ssl certs PIC: KeKanda%0a# Buy planetofnix.com/org/net PIC: Oz%0a# Set up team website advertising your services + contact info for all teammates PIC: con%0a# Get in contact with con and kekanda, to let them know the plan%0a# Practice pylink%0a# Make sure every teammate has support @ email PIC: Oz%0a# Probably want to create an admin@ , abuse@, and postmaster@ email PIC: Oz%0a%0aDone:%0a# Completed setup collecting donation portals.%0a# Completed register at https://my.frantech.ca/%0a +time=1616513036 +title=Cherry Todo list +author:1616513036=Oz +diff:1616513036:1616512995:=9,11c9,11%0a%3c # [[openbsd/PFStable|Configure the firewall]] PIC: Oz%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]] %0a%3c # Add new dns records for irc6.cherry.ircnow.org, ipv6.cherry.ircnow.org, ip6.cherry.ircnow.org PIC: KeKanda%0a---%0a> # [[openbsd/PFStable|Configure the firewall]]%0a> # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a> # Add new dns records for irc6.cherry.ircnow.org, ipv6.cherry.ircnow.org, ip6.cherry.ircnow.org%0a +host:1616513036=2402:1980:322:68b:b872:eecd:695a:67 +author:1616512995=Oz +diff:1616512995:1616252416:=12,15c12,15%0a%3c # Update ssl certs PIC: KeKanda%0a%3c # Buy planetofnix.com/org/net PIC: Oz%0a%3c # Set up team website advertising your services + contact info for all teammates PIC: con%0a%3c # Get in contact with con and kekanda, to let them know the plan%0a---%0a> # Update ssl certs%0a> # Buy planetofnix.com/org/net%0a> # Set up team website advertising your services + contact info for all teammates%0a> # Get in contact with con and kekanda, to let them know your plans%0a17,18c17,18%0a%3c # Make sure every teammate has support @ email PIC: Oz%0a%3c # Probably want to create an admin@ , abuse@, and postmaster@ email PIC: Oz%0a---%0a> # Make sure every teammate has support @ email%0a> # Probably want to create an admin@ , abuse@, and postmaster@ email%0a +host:1616512995=2402:1980:322:68b:b872:eecd:695a:67 +author:1616252416=Oz +diff:1616252416:1616252411:= +host:1616252416=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616252411=Oz +diff:1616252411:1616251911:=7c7%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a---%0a> # {Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.}%0a +host:1616252411=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251911=Oz +diff:1616251911:1616251908:= +host:1616251911=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251908=Oz +diff:1616251908:1616251633:=7c7%0a%3c # {Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.}%0a---%0a> # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1616251908=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251633=Oz +diff:1616251633:1616251591:=21,22c21,22%0a%3c # Completed setup collecting donation portals.%0a%3c # Completed register at https://my.frantech.ca/%0a---%0a> 1. Completed setup collecting donation portals.%0a> 2. Completed register at https://my.frantech.ca/%0a +host:1616251633=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251591=Oz +diff:1616251591:1616251587:= +host:1616251591=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251587=Oz +diff:1616251587:1616251460:=16,19c16%0a%3c # Practice pylink%0a%3c # Make sure every teammate has support @ email%0a%3c # Probably want to create an admin@ , abuse@, and postmaster@ email%0a%3c %0a---%0a> %0a22d18%0a%3c 2. Completed register at https://my.frantech.ca/%0a +host:1616251587=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1616251460=Oz +diff:1616251460:1609938332:=11,18c11,12%0a%3c # Add new dns records for irc6.cherry.ircnow.org, ipv6.cherry.ircnow.org, ip6.cherry.ircnow.org%0a%3c # Update ssl certs%0a%3c # Buy planetofnix.com/org/net%0a%3c # Set up team website advertising your services + contact info for all teammates%0a%3c # Get in contact with con and kekanda, to let them know your plans%0a%3c %0a%3c Done:%0a%3c 1. Completed setup collecting donation portals.%0a---%0a> %0a> Done:%0a\ No newline at end of file%0a +host:1616251460=2402:1980:324:bbf:f8ca:3733:f4a8:8351 +author:1609938332=jrmu +diff:1609938332:1609684888:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938332=125.231.63.134 +author:1609684888=jrmu +diff:1609684888:1609684888:=1,11d0%0a%3c (:title Cherry Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Check to see if your ZNC is on version 1.8.2. If it is not, upgrade [[openbsd/znc|znc]]%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609684888=125.231.63.134 blob - /dev/null blob + 91026835d17e499640a6dd9a88e73fdb154e5e8a (mode 644) --- /dev/null +++ wiki.d/Chroot.Intro @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1625055014 +host=38.87.162.8 +name=Chroot.Intro +rev=15 +targets=Openhttpd.Configure,Nsd.Configure,Unbound.Configure,Ngircd.Install,Znc.Chroot,Wraith.Chroot,Pylink.Chroot,Pledge.Intro,Unveil.Intro +text=(:title Chroot: Intro:)%0a%0a[[https://man.openbsd.org/chroot|Chroot]] refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change what the process thinks is its root directory.%0a%0aNormally, a process can access any file within the root filesystem it has permissions for. By changing what the process thinks is its root directory, however, the process is now stuck in a chroot "jail."%0a%0aThis provides enhanced security: if a program gets compromised, it can only access and modify files within the new root.%0a%0a!! Uses%0a%0aMany OpenBSD daemons and third-party applications can be chrooted:%0a%0a|| Application || Chroot path ||%0a|| [[openhttpd/configure|openhttpd]] || /var/www/ ||%0a|| [[nsd/configure|nsd]] || /var/nsd/ ||%0a|| [[unbound/configure|unbound]] || /var/unbound/ ||%0a|| [[ngircd/install|ngircd]] || /var/ngircd/ ||%0a|| [[znc/chroot|znc]] || /home/znc/ ||%0a|| [[wraith/chroot|wraith]] || /home/wraith/ ||%0a|| [[pylink/chroot|pylink]] || /home/pylink/ ||%0a%0a!! Creating a Chroot%0a%0aSuppose for a moment we want to chroot an imaginary program. We first call [[https://man.openbsd.org/whereis|whereis]] on the binary to find its absolute path:%0a%0a[@%0a$ whereis program%0a/usr/bin/program%0a@]%0a%0aNext, we call [[https://man.openbsd.org/ldd|ldd]] on the absolute path to find its dependencies:%0a%0a[@%0a$ ldd /usr/bin/program%0a/usr/bin/program%0a Start End Type Open Ref GrpRef Name%0a 0000022622dc8000 0000022622dcd000 exe 1 0 0 /usr/bin/program%0a 000002285bdc7000 000002285c133000 rlib 0 1 0 /usr/lib/libprogram.so.20.0%0a 00000228c7de6000 00000228c7e16000 rlib 0 2 0 /usr/lib/libm.so.10.1%0a 000002282f00d000 000002282f101000 rlib 0 2 0 /usr/lib/libc.so.96.0%0a 0000022914fb2000 0000022914fb2000 ld.so 0 1 0 /usr/libexec/ld.so%0a@]%0a%0aWe must re-create the filesystem in our chroot, /home/program, and copy all necessary dependencies:%0a%0a[@%0a$ doas mkdir -p /home/program/usr/bin/%0a$ doas mkdir -p /home/program/usr/lib/%0a$ doas mkdir -p /home/program/usr/libexec/%0a$ doas cp /usr/bin/program /home/program/usr/bin/%0a$ doas cp /usr/lib/libprogram.so.20.0 /home/program/usr/lib/%0a$ doas cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a$ doas cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a$ doas cp /usr/libexec/ld.so /var/www/usr/libexec/%0a@]%0a%0aThen, to run the chroot:%0a%0a[@%0a$ doas chroot -u daemon -g daemon /home/program program%0a@]%0a%0aSometimes, these dependencies have their own dependencies, so you may need to run ldd and copy files multiple times. Some of these dependencies do not become apparent until you attempt to run the program.%0a%0a!! Drawbacks%0a%0aThere are many drawbacks to using a chroot:%0a%0a# It requires you replicate each dependency inside the chroot every time you install or update the program%0a# It cannot limit the type of syscalls that the process can make%0a# It requires you call it as root, so normal users cannot run them%0a# Chrooted processes still have access to the network%0a%0aBecause of these limitations of a chroot, OpenBSD developed [[pledge/intro|pledge]] and [[unveil/intro|unveil]] to tighten the security of a process.%0a +time=1627743320 +title=Chroot: Intro +author:1627743320=jrmu +diff:1627743320:1627743094:=3,4c3,4%0a%3c [[https://man.openbsd.org/chroot|Chroot]] refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change what the process thinks is its root directory.%0a%3c %0a---%0a> Chroot refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change what the process thinks is its root directory.%0a> %0a24,25c24,25%0a%3c Suppose for a moment we want to chroot an imaginary program. We first call [[https://man.openbsd.org/whereis|whereis]] on the binary to find its absolute path:%0a%3c %0a---%0a> Suppose for a moment we want to chroot an imaginary program. To create a chroot, we copy all the files a program depends on. We first call ldd on the binary:%0a> %0a31,32c31,32%0a%3c Next, we call [[https://man.openbsd.org/ldd|ldd]] on the absolute path to find its dependencies:%0a%3c %0a---%0a> Next, we call ldd on the absolute path:%0a> %0a63c63%0a%3c Sometimes, these dependencies have their own dependencies, so you may need to run ldd and copy files multiple times. Some of these dependencies do not become apparent until you attempt to run the program.%0a---%0a> Sometimes, these files in turn have their dependencies, so you may need to run ldd and copy files multiple times. Also, some dependencies do not become apparent until you attempt to run the program.%0a +host:1627743320=38.87.162.8 +author:1627743094=jrmu +diff:1627743094:1627742650:=11,12c11,12%0a%3c Many OpenBSD daemons and third-party applications can be chrooted:%0a%3c %0a---%0a> Many services are designed to be run in a chroot on OpenBSD:%0a> %0a16a17,19%0a> %0a> Other third-party applications can also be chrooted:%0a> %0a +host:1627743094=38.87.162.8 +author:1627742650=jrmu +diff:1627742650:1627742364:=66,67d65%0a%3c Sometimes, these files in turn have their dependencies, so you may need to run ldd and copy files multiple times. Also, some dependencies do not become apparent until you attempt to run the program.%0a%3c %0a72,77c70,75%0a%3c # It requires you replicate each dependency inside the chroot every time you install or update the program%0a%3c # It cannot limit the type of syscalls that the process can make%0a%3c # It requires you call it as root, so normal users cannot run them%0a%3c # Chrooted processes still have access to the network%0a%3c %0a%3c Because of these limitations of a chroot, OpenBSD developed [[pledge/intro|pledge]] and [[unveil/intro|unveil]] to tighten the security of a process.%0a---%0a> # It requires you replicate each dependency inside the chroot%0a> # It cannot limit the type of syscalls that a process can call%0a> # It requires you call it as root%0a> # It chrooted processes can still access the network%0a> %0a> This is designed to prevent a user from crafting a setuid root program inside a chroot jail to escalate privileges%0a +host:1627742650=38.87.162.8 +author:1627742364=jrmu +diff:1627742364:1627740074:=34,35d33%0a%3c Next, we call ldd on the absolute path:%0a%3c %0a47,48c45,46%0a%3c We must re-create the filesystem in our chroot, /home/program, and copy all necessary dependencies:%0a%3c %0a---%0a> So we re-create the filesystem in our chroot, /home/program, and copy all necessary dependencies:%0a> %0a60,61c58,59%0a%3c Then, to run the chroot:%0a%3c %0a---%0a> We need to turn on slowcgi:%0a> %0a63c61,62%0a%3c $ doas chroot -u daemon -g daemon /home/program program%0a---%0a> $ doas rcctl enable slowcgi%0a> $ doas rcctl start slowcgi%0a65a65,120%0a> Then we run:%0a> %0a> $ doas chroot -u www -g daemon /var/www perl%0a> %0a> I test some random gibberish to make sure perl works inside the chroot:%0a> %0a> [@%0a> print "shibboleth";%0a> @]%0a> %0a> Then ctrl+d to escape; and since it echoes @@shibboleth@@, it works.%0a> %0a> Now I put an index.pl in /var/www/htdocs/perl/ just to see if the web server loads it:%0a> %0a> [@%0a> #!/usr/bin/perl -w%0a> use strict;%0a> print "Content-Type:text/html\n\n";%0a> print "This is the index file for perl.oddprotocol.cf\n";%0a> @]%0a> %0a> Make sure to set the proper permissions:%0a> %0a> [@%0a> $ doas chown -R www:daemon /var/www/htdocs/perl/%0a> $ doas chmod +x /var/www/htdocs/perl/index.pl%0a> @]%0a> %0a> At this point I try running this command:%0a> %0a> [@%0a> $ curl example.ircnow.org:8080/index.pl%0a> @]%0a> %0a> I get a 500 Internal Error, which means perl is not able to execute properly.%0a> %0a> So I search for missing perl libraries:%0a> %0a> [@%0a> $ doas find / -iname '*perl*'%0a> @]%0a> %0a> The interesting one is the folder /usr/libdata/perl5 . We definitely need these libraries, so I update my script for creating the chroot:%0a> %0a> [@%0a> mkdir -p /var/www/usr/bin/%0a> mkdir -p /var/www/usr/lib/%0a> mkdir -p /var/www/usr/libexec/%0a> mkdir -p /var/www/usr/libdata/%0a> cp /usr/bin/perl /var/www/usr/bin/%0a> cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a> cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a> cp /usr/libexec/ld.so /var/www/usr/libexec/%0a> cp -R /usr/libdata/perl5 /var/www/usr/libdata/%0a> @]%0a +host:1627742364=38.87.162.8 +author:1627740074=jrmu +diff:1627740074:1627717174:=27,120c27,28%0a%3c Suppose for a moment we want to chroot an imaginary program. To create a chroot, we copy all the files a program depends on. We first call ldd on the binary:%0a%3c %0a%3c [@%0a%3c $ whereis program%0a%3c /usr/bin/program%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ ldd /usr/bin/program%0a%3c /usr/bin/program%0a%3c Start End Type Open Ref GrpRef Name%0a%3c 0000022622dc8000 0000022622dcd000 exe 1 0 0 /usr/bin/program%0a%3c 000002285bdc7000 000002285c133000 rlib 0 1 0 /usr/lib/libprogram.so.20.0%0a%3c 00000228c7de6000 00000228c7e16000 rlib 0 2 0 /usr/lib/libm.so.10.1%0a%3c 000002282f00d000 000002282f101000 rlib 0 2 0 /usr/lib/libc.so.96.0%0a%3c 0000022914fb2000 0000022914fb2000 ld.so 0 1 0 /usr/libexec/ld.so%0a%3c @]%0a%3c %0a%3c So we re-create the filesystem in our chroot, /home/program, and copy all necessary dependencies:%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /home/program/usr/bin/%0a%3c $ doas mkdir -p /home/program/usr/lib/%0a%3c $ doas mkdir -p /home/program/usr/libexec/%0a%3c $ doas cp /usr/bin/program /home/program/usr/bin/%0a%3c $ doas cp /usr/lib/libprogram.so.20.0 /home/program/usr/lib/%0a%3c $ doas cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a%3c $ doas cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a%3c $ doas cp /usr/libexec/ld.so /var/www/usr/libexec/%0a%3c @]%0a%3c %0a%3c We need to turn on slowcgi:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable slowcgi%0a%3c $ doas rcctl start slowcgi%0a%3c @]%0a%3c %0a%3c Then we run:%0a%3c %0a%3c $ doas chroot -u www -g daemon /var/www perl%0a%3c %0a%3c I test some random gibberish to make sure perl works inside the chroot:%0a%3c %0a%3c [@%0a%3c print "shibboleth";%0a%3c @]%0a%3c %0a%3c Then ctrl+d to escape; and since it echoes @@shibboleth@@, it works.%0a%3c %0a%3c Now I put an index.pl in /var/www/htdocs/perl/ just to see if the web server loads it:%0a%3c %0a%3c [@%0a%3c #!/usr/bin/perl -w%0a%3c use strict;%0a%3c print "Content-Type:text/html\n\n";%0a%3c print "This is the index file for perl.oddprotocol.cf\n";%0a%3c @]%0a%3c %0a%3c Make sure to set the proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R www:daemon /var/www/htdocs/perl/%0a%3c $ doas chmod +x /var/www/htdocs/perl/index.pl%0a%3c @]%0a%3c %0a%3c At this point I try running this command:%0a%3c %0a%3c [@%0a%3c $ curl example.ircnow.org:8080/index.pl%0a%3c @]%0a%3c %0a%3c I get a 500 Internal Error, which means perl is not able to execute properly.%0a%3c %0a%3c So I search for missing perl libraries:%0a%3c %0a%3c [@%0a%3c $ doas find / -iname '*perl*'%0a%3c @]%0a%3c %0a%3c The interesting one is the folder /usr/libdata/perl5 . We definitely need these libraries, so I update my script for creating the chroot:%0a%3c %0a%3c [@%0a%3c mkdir -p /var/www/usr/bin/%0a%3c mkdir -p /var/www/usr/lib/%0a%3c mkdir -p /var/www/usr/libexec/%0a%3c mkdir -p /var/www/usr/libdata/%0a%3c cp /usr/bin/perl /var/www/usr/bin/%0a%3c cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a%3c cp /usr/libexec/ld.so /var/www/usr/libexec/%0a%3c cp -R /usr/libdata/perl5 /var/www/usr/libdata/%0a%3c @]%0a---%0a> When you create a chroot, you must copy%0a> %0a +host:1627740074=38.87.162.8 +author:1627717174=jrmu +diff:1627717174:1627710587:=27,28d26%0a%3c When you create a chroot, you must copy%0a%3c %0a38a37%0a> %0a +host:1627717174=38.87.162.8 +author:1627710587=jrmu +diff:1627710587:1627710047:=20c20%0a%3c || [[ngircd/install|ngircd]] || /var/ngircd/ ||%0a---%0a> || [[ngircd/configure|ngircd]] || /var/ngircd/ ||%0a +host:1627710587=38.87.162.8 +author:1627710047=jrmu +diff:1627710047:1627709983:=21c21%0a%3c || [[znc/chroot|znc]] || /home/znc/ ||%0a---%0a> || [[znc/chroot|ngircd]] || /home/znc/ ||%0a23d22%0a%3c || [[pylink/chroot|pylink]] || /home/pylink/ ||%0a +host:1627710047=38.87.162.8 +author:1627709983=jrmu +diff:1627709983:1627700250:=5,25c5,8%0a%3c Normally, a process can access any file within the root filesystem it has permissions for. By changing what the process thinks is its root directory, however, the process is now stuck in a chroot "jail."%0a%3c %0a%3c This provides enhanced security: if a program gets compromised, it can only access and modify files within the new root.%0a%3c %0a%3c !! Uses%0a%3c %0a%3c Many services are designed to be run in a chroot on OpenBSD:%0a%3c %0a%3c || Application || Chroot path ||%0a%3c || [[openhttpd/configure|openhttpd]] || /var/www/ ||%0a%3c || [[nsd/configure|nsd]] || /var/nsd/ ||%0a%3c || [[unbound/configure|unbound]] || /var/unbound/ ||%0a%3c %0a%3c Other third-party applications can also be chrooted:%0a%3c %0a%3c || [[ngircd/configure|ngircd]] || /var/ngircd/ ||%0a%3c || [[znc/chroot|ngircd]] || /home/znc/ ||%0a%3c || [[wraith/chroot|wraith]] || /home/wraith/ ||%0a%3c %0a%3c !! Creating a Chroot%0a%3c %0a---%0a> Normally, a process can access any file within the root filesystem it has permissions for. By changing what the process thinks is its root directory, however, the process is now stuck in a chroot "jail." It is now unable to access any files outside of the new root and is stuck in a '''chroot jail'''.%0a> %0a> This provides enhanced security: if a program gets compromised, it can only access and modify files within the chroot.%0a> %0a28,34c11,17%0a%3c There are many drawbacks to using a chroot:%0a%3c %0a%3c # It requires you replicate each dependency inside the chroot%0a%3c # It cannot limit the type of syscalls that a process can call%0a%3c # It requires you call it as root%0a%3c # It chrooted processes can still access the network%0a%3c %0a---%0a> A chroot jail%0a> %0a> requires you replicate each dependency inside the chroot%0a> cannot limit the type of syscalls that a process can call%0a> requires you call it as root%0a> chrooted processes can still access the network%0a> %0a36a20,26%0a> Many daemons run a chroot by default:%0a> %0a> openhttpd%0a> ngircd%0a> smtpd%0a> %0a> !! Creating a Chroot%0a +host:1627709983=38.87.162.8 +author:1627700250=jrmu +diff:1627700250:1625055142:=1,26c1,11%0a%3c (:title Chroot: Intro:)%0a%3c %0a%3c Chroot refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change what the process thinks is its root directory.%0a%3c %0a%3c Normally, a process can access any file within the root filesystem it has permissions for. By changing what the process thinks is its root directory, however, the process is now stuck in a chroot "jail." It is now unable to access any files outside of the new root and is stuck in a '''chroot jail'''.%0a%3c %0a%3c This provides enhanced security: if a program gets compromised, it can only access and modify files within the chroot.%0a%3c %0a%3c !! Drawbacks%0a%3c %0a%3c A chroot jail%0a%3c %0a%3c requires you replicate each dependency inside the chroot%0a%3c cannot limit the type of syscalls that a process can call%0a%3c requires you call it as root%0a%3c chrooted processes can still access the network%0a%3c %0a%3c This is designed to prevent a user from crafting a setuid root program inside a chroot jail to escalate privileges%0a%3c %0a%3c Many daemons run a chroot by default:%0a%3c %0a%3c openhttpd%0a%3c ngircd%0a%3c smtpd%0a%3c %0a%3c !! Creating a Chroot%0a---%0a> (:title Intro to Chroot:)%0a> %0a> %0a> ----%0a> %0a> %0a> %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot change files and execute commands outside of its chroot directory%0a> %0a> ----%0a> %0a> TODO: ADD MORE INFO HERE%0a\ No newline at end of file%0a +host:1627700250=38.87.162.8 +author:1625055142=mistera +diff:1625055142:1625055122:=7c7%0a%3c %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot change files and execute commands outside of its chroot directory%0a---%0a> %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot change files and commands outside of its chroot directory%0a +host:1625055142=204.111.39.57 +author:1625055122=mistera +diff:1625055122:1625055055:=7c7%0a%3c %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot change files and commands outside of its chroot directory%0a---%0a> %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot execute commands outside of its chroot directory%0a +host:1625055122=204.111.39.57 +author:1625055055=mistera +diff:1625055055:1625055053:= +host:1625055055=204.111.39.57 +author:1625055053=mistera +diff:1625055053:1625055014:=9,11c9%0a%3c ----%0a%3c %0a%3c TODO: ADD MORE INFO HERE%0a\ No newline at end of file%0a---%0a> ----%0a\ No newline at end of file%0a +host:1625055053=204.111.39.57 +author:1625055014=mistera +diff:1625055014:1625055014:=1,9d0%0a%3c (:title Intro to Chroot:)%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c %25center%25Chroot is literally changing the root directory of a program, so it runs in a isolated environment. This is useful for security reasons, a program running in chroot cannot execute commands outside of its chroot directory%0a%3c %0a%3c ----%0a\ No newline at end of file%0a +host:1625055014=204.111.39.57 blob - /dev/null blob + 980b8c057606957541c1759303f39f5f0837d570 (mode 644) --- /dev/null +++ wiki.d/Chroot.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1625055014 +host=38.87.162.8 +name=Chroot.RecentChanges +rev=15 +text=* [[Chroot/Intro]] . . . July 31, 2021, at 02:55 PM by [[~jrmu]]: [==]%0a +time=1627743320 blob - /dev/null blob + c5dd7ce24c5c8719487dd6637493909fe919c51e (mode 644) --- /dev/null +++ wiki.d/ClawsMail.Connect @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1617006899 +host=145.132.146.30 +name=ClawsMail.Connect +rev=4 +targets= +text=Raspberry Pi Configurate steps:%0a%0a1. Open ClawsMail%0a%0a2. Edit your info (if you didn't used it before it comes up with this)%0a%0aAttach:YourInfo.png%0a%0a3. Imap Settings%0a%0aAttach:ServerSetting.png%0a%0a4. Smtp Settings%0a%0aAttach:SendSettings.png%0a%0a5. Accept SSL%0a%0aAttach:AcceptSSL.png%0a%0a6. Go to preferences and click on current account%0a%0aAttach:Preferences.png%0a%0a7. Change the port settings else it wont work%0a%0aAttach:portssettings.png%0a%0aAnd you are done%0a +time=1617007379 +author:1617007379=miniontoby +diff:1617007379:1617007333:=11,12c11,12%0a%3c Attach:ServerSetting.png%0a%3c %0a---%0a> Attach:ServerSettings.png%0a> %0a27c27%0a%3c Attach:portssettings.png%0a---%0a> Attach:portsettings.png%0a +host:1617007379=145.132.146.30 +author:1617007333=miniontoby +csum:1617007333=pictures +diff:1617007333:1617007201:=4,29c4,9%0a%3c %0a%3c 2. Edit your info (if you didn't used it before it comes up with this)%0a%3c %0a%3c Attach:YourInfo.png%0a%3c %0a%3c 3. Imap Settings%0a%3c %0a%3c Attach:ServerSettings.png%0a%3c %0a%3c 4. Smtp Settings%0a%3c %0a%3c Attach:SendSettings.png%0a%3c %0a%3c 5. Accept SSL%0a%3c %0a%3c Attach:AcceptSSL.png%0a%3c %0a%3c 6. Go to preferences and click on current account%0a%3c %0a%3c Attach:Preferences.png%0a%3c %0a%3c 7. Change the port settings else it wont work%0a%3c %0a%3c Attach:portsettings.png%0a%3c %0a%3c And you are done%0a---%0a> 2. Attach:YourInfo.png%0a> 3. Attach:ServerSettings.png%0a> 4. Attach:SendSettings.png%0a> 5. Attach:AcceptSSL.png%0a> 6. Attach:Preferences.png%0a> 7. Attach:portsettings.png%0a +host:1617007333=145.132.146.30 +author:1617007201=miniontoby +csum:1617007201=pictures +diff:1617007201:1617006899:=4,9c4%0a%3c 2. Attach:YourInfo.png%0a%3c 3. Attach:ServerSettings.png%0a%3c 4. Attach:SendSettings.png%0a%3c 5. Attach:AcceptSSL.png%0a%3c 6. Attach:Preferences.png%0a%3c 7. Attach:portsettings.png%0a---%0a> 2. %0a +host:1617007201=145.132.146.30 +author:1617006899=miniontoby +csum:1617006899=created +diff:1617006899:1617006899:=1,4d0%0a%3c Raspberry Pi Configurate steps:%0a%3c %0a%3c 1. Open ClawsMail%0a%3c 2. %0a +host:1617006899=145.132.146.30 blob - /dev/null blob + db09ae1639bef9c539cb32b8661ca7d984f91fbb (mode 644) --- /dev/null +++ wiki.d/ClawsMail.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +charset=UTF-8 +ctime=1617006899 +host=145.132.146.30 +name=ClawsMail.RecentChanges +rev=4 +text=* [[ClawsMail/Connect]] . . . March 29, 2021, at 08:42 AM by [[~miniontoby]]: [==]%0a +time=1617007379 blob - /dev/null blob + 29ba2c131b8299cdccf790006641be71ad252b07 (mode 644) --- /dev/null +++ wiki.d/Cloud9p.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +charset=UTF-8 +ctime=1638505196 +host=76.178.24.7 +name=Cloud9p.RecentChanges +rev=3 +text=* [[Cloud9p/Roadmap]] . . . December 03, 2021, at 05:04 AM by [[~hydragyrum]]: [==]%0a +time=1638507885 blob - /dev/null blob + 5bde76c5d137b3872f00b8a1fb46ec6a1d2fe3c8 (mode 644) --- /dev/null +++ wiki.d/Cloud9p.Roadmap @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +author=hydragyrum +charset=UTF-8 +csum= +ctime=1638505196 +host=76.178.24.7 +name=Cloud9p.Roadmap +rev=3 +targets=Ircnow.Servers +text=[++Cloud9p Roadmap and Goals++]%0a* Create and update documentation for the various components involved (plan9 resource sharing, iked, etc.)%0a * site-to-site iked%0a * road warrior vpns%0a * openBGPd%0a * pf (packet filter)%0a* Determine where the necessary components will run (Physical servers, VPSes, added to existing servers or as separate ones, etc.)%0a* Compile a list of teams/team members interested in joining first test network%0a* Set up a testing ground to prototype, test, and refine the overall configuration%0a* Document the server-side configuration (should be done concurrently with prototyping etc. above)%0a* Refine client-side configuration and document it, starting with OpenBSD clients%0a* Test and document client-side possibilities on other OSes and with other software (low priority)%0a* Implement the server-side setup in production%0a%0aFeel free to add or suggest additional items, add detail where you are capable, etc.%0aDiscussion in #cloud9p on the IRCNow network [[Ircnow.Servers]] +time=1638507885 +author:1638507885=hydragyrum +diff:1638507885:1638507792:=8d7%0a%3c * Compile a list of teams/team members interested in joining first test network%0a +host:1638507885=76.178.24.7 +author:1638507792=hydragyrum +diff:1638507792:1638505196:=3,6d2%0a%3c * site-to-site iked%0a%3c * road warrior vpns%0a%3c * openBGPd%0a%3c * pf (packet filter)%0a +host:1638507792=76.178.24.7 +author:1638505196=hydragyrum +diff:1638505196:1638505196:=1,11d0%0a%3c [++Cloud9p Roadmap and Goals++]%0a%3c * Create and update documentation for the various components involved (plan9 resource sharing, iked, etc.)%0a%3c * Determine where the necessary components will run (Physical servers, VPSes, added to existing servers or as separate ones, etc.)%0a%3c * Set up a testing ground to prototype, test, and refine the overall configuration%0a%3c * Document the server-side configuration (should be done concurrently with prototyping etc. above)%0a%3c * Refine client-side configuration and document it, starting with OpenBSD clients%0a%3c * Test and document client-side possibilities on other OSes and with other software (low priority)%0a%3c * Implement the server-side setup in production%0a%3c %0a%3c Feel free to add or suggest additional items, add detail where you are capable, etc.%0a%3c Discussion in #cloud9p on the IRCNow network [[Ircnow.Servers]]%0a\ No newline at end of file%0a +host:1638505196=76.178.24.7 blob - /dev/null blob + 002ae0e0da4bfa1b8ecfa82c0400e2578caefade (mode 644) --- /dev/null +++ wiki.d/Coconut.Coconut @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1617020929 +host=198.251.81.44 +name=Coconut.Coconut +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@] +time=1617020929 +author:1617020929=jrmu +diff:1617020929:1617020929:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a\ No newline at end of file%0a +host:1617020929=198.251.81.44 blob - /dev/null blob + 8522573395e7923399f8827abce4f09ce647b630 (mode 644) --- /dev/null +++ wiki.d/Coconut.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1617020929 +host=198.251.81.44 +name=Coconut.RecentChanges +rev=1 +text=* [[Coconut/Coconut]] . . . March 29, 2021, at 12:28 PM by [[~jrmu]]: [==]%0a +time=1617020929 blob - /dev/null blob + 6557532549ac966523aa18c59bc804643b67a76a (mode 644) --- /dev/null +++ wiki.d/Code.Code @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=better formating +ctime=1596459266 +host=38.81.163.198 +name=Code.Code +rev=4 +targets= +text=* [[ https://git.ircnow.org/cgi-bin/gotweb/gotweb | our gotweb ]]%0a* can consider custom subdomain for your code hosting needs%0a* free of charge, with free software%0a* real time support from IRCNow over live chat%0a%0aTo get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request code hosting and we will set up your account and help you with the setup.%0a%0aGot Repo Hosting with Gotweb +time=1623173084 +author:1623173084=mkf +csum:1623173084=better formating +diff:1623173084:1597899900:minor=1c1%0a%3c * [[ https://git.ircnow.org/cgi-bin/gotweb/gotweb | our gotweb ]]%0a---%0a> * like https://git.ircnow.org/cgi-bin/gotweb/gotweb%0a +host:1623173084=38.81.163.198 +author:1597899900=gry +csum:1597899900=clarified +diff:1597899900:1597899877:=2d1%0a%3c * can consider custom subdomain for your code hosting needs%0a +host:1597899900=203.129.25.247 +author:1597899877=gry +csum:1597899877=clarified +diff:1597899877:1596459266:=1,6d0%0a%3c * like https://git.ircnow.org/cgi-bin/gotweb/gotweb%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c To get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request code hosting and we will set up your account and help you with the setup.%0a%3c %0a +host:1597899877=203.129.25.247 +author:1596459266=jrmu +diff:1596459266:1596459266:=1d0%0a%3c Got Repo Hosting with Gotweb%0a\ No newline at end of file%0a +host:1596459266=38.81.163.143 blob - /dev/null blob + ab902feb663507e5a3ec6e1d06c55c9fb1a7f4c8 (mode 644) --- /dev/null +++ wiki.d/Code.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1596459266 +host=38.81.163.198 +name=Code.RecentChanges +rev=4 +text=* [[Code/Code]] . . . June 08, 2021, at 05:24 PM by [[~mkf]]: [=better formating=]%0a +time=1623173084 blob - /dev/null blob + 977bb38dd37a13fa6e4c915cdf824b2602f96056 (mode 644) --- /dev/null +++ wiki.d/CodeForce.Bootcamp @@ -0,0 +1,59 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1614952870 +host=145.132.146.30 +name=CodeForce.Bootcamp +rev=15 +targets=Irc.Irc101,Shell.Shell,Unix101.Unix101,Bouncer.Bouncer,Irc.Services,Irc.Chanop,User.Welcome,Ircnow.Goals,Congress.Procedure,Unix101.Vi,Unix101.Mg,Unix101.Filesystem,Unix101.Files,Unix101.Commands,Eggdrop.Rss,Eggdrop.Trivia,Eggdrop.Duckhunt,Eggdrop.Biblebot,Znc.Install,Psybnc.Install,Doas.Configure,Openbsd.Doas,Syspatch.Syspatch,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Tcpip.Sockets,Openbsd.Netmask,Openbsd.Anycast,Openbsd.Staticnet,CodeForce.Ifconfig,CodeForce.Route,Openbsd.Dhcpd,Openbsd.Ntpd,Openbsd.Pf,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Ircnow.Roadmap,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Minutemin.Questions,Servers.Rights,Openbsd.Announce,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,Ngircd.Oper,Ngircd.Install,Hopm.Install,Netcat.Irc,Netcat.Smtp,Netcat.Imap,Netcat.Http,Openbsd.Ping,Telnet.Http,Openssl.Http,Openhttpd.Configure,Openhttpd.Hosting,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Openbsd.Squirrelmail,Openbsd.Manna,Acme-client.Configure,Openbsd.Pmwiki,Znc.Chroot,Relayd.Acceleration,Oidentd.Install,Oidentd.ZNC,Openbsd.Ilines,Openbsd.Identd,Dns.Overview,Dns.Records,Dns.Registrars,Openbsd.Vhost,Dns.FQDN,Nsd.Configure,Nsd.Masterslave,Nsd.Troubleshoot,Openbsd.RDNS,Dns.Zonefile,Openbsd.Delphinusdnsd,Openbsd.Unbound,Openbsd.Dig,Openbsd.Host,Openbsd.Unboundadblock,Openbsd.Dnsbl,Openbsd.Rbldns,Openbsd.Opensmtpd,Openbsd.Spf,Openbsd.Dkimproxy,Openbsd.Dmarc,Mail.Test,Mail.Openrelay,Openbsd.Dovecot,Openbsd.Team,Openbsd.Stable,Openbsd.Testing,Ircnow.Networks,Openbsd.Botnow,Openbsd.ZNCUser,Openbsd.ZNCAdmin,Openbsd.ZNCSupport,Openbsd.ZNCModules,Openbsd.Wraith,Openbsd.FilePermissions,Openbsd.Got,Openbsd.Gotweb,Openbsd.Sftp,Openbsd.Sshkeys,Openbsd.Sshbackdoor,Openbsd.Vmmuser,Openbsd.Install68,Openbsd.Upgrade68,Openbsd.Bsdrd,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Newdisk,Openbsd.Tcpdump,Openbsd.Intro,Openbsd.Buyvm,Openbsd.Vmminstall,Openbsd.Vmmlinux,Openbsd.Upgrade67,Openbsd.Sysupgrade68,Pf.Guide,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Ddos,Openbsd.Iked,Openbsd.Police,Gnupg.Create,Gnupg.Verify,Netpgp.Create,Signify.Verify,Vpn.Vpn,Tor.Torsocks,Tor.Hidden,Tor.Irc,Openbsd.Sshd,Ssh.Client,Openbsd.Ii,Openbsd.Sic,Ngircd.Link,Ngircd.Ssl,Openbsd.NgircdLink,Openbsd.Acopm,Achurch.Install,Anope.Install,Pylink.Install,Openbsd.Bitlbee,Openbsd.Matterbridge,Openbsd.Eggdrop,Openbsd.Tcltls,Openbsd.Biblebot,Openbsd.Censord,Openbsd.Ircrelayd,Openbsd.CPAN +text=(:title Code Force Bootcamp:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[irc/irc101|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a|| [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || free space to host your needs || Free Liberty Shell ||%0a|| [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || knowledge about how everything works || Unlock Minutemin Path ||%0a|| [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || 24/7 logs of the IRC || Free Bouncer ||%0a|| [[irc/services|Services]] || IRC || IRC Services || || Auto Voice/Op || Register Username and Channel ||%0a|| [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Your own channels || Unlock Op of Liberty Path ||%0a|| [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || nice users || ||%0a|| [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || ideas to help || Unlocks Netizenship Path ||%0a|| [[congress/procedure|Congress Procedure]] || Civics || Learn about procedure in Congress || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[unix101/vi|Learn vi]] || Shell || Learn vi || Files || File abilities || Create and Edit Files ||%0a|| [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || Files || More file abilities || Create and Edit Files ||%0a|| [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || SSH connection || Knowledge about our system || ||%0a|| [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || SSH connection || Knowledge about files || ||%0a|| [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || SSH connection || Knowledge about all commands || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || Eggdrop || || Create IRC News Channel ||%0a|| [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || Eggdrop || || Create IRC Trivia Game ||%0a|| [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || Eggdrop || || Create IRC Duck Hunt ||%0a|| [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || Eggdrop || || Create IRC Bible Channel ||%0a|| [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a|| [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || Your own vps || Your own Bouncer || Create your own ZNC ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || Your own vps || Root Powers || More possiblities ||%0a|| [[syspatch/syspatch|syspatch]] || Unix || Patch your system || || || Upgrade to Stable ||%0a|| [[tcpip/overview|TCP/IP Networking]] || Network || Learn Basics of TCP/IP || || || ||%0a|| [[IPv4/overview|IPv4 Networking]] || Network || Learn IPv4 Networking || || || ||%0a|| [[IPv6/overview|IPv6 Networking]] || Network || Learn IPv6 Networking || || || ||%0a|| [[tcpip/sockets|sockets]] || Network || || || || ||%0a|| [[openbsd/netmask|Netmasks]] || Network || || || || ||%0a|| [[openbsd/anycast|Anycast Addresses]] || Network || || || || ||%0a|| [[openbsd/staticnet|Static Networking]] || || || || ||%0a|| [[ifconfig|ifconfig]] || Network || || || || ||%0a|| [[route|route]] || Network || || || || ||%0a|| [[openbsd/dhcpd]] || Network || || || || ||%0a|| [[openbsd/ntpd|ntpd]] || Network || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/pf|Packet Filter]] || Network || || || || ||%0a|| [[openbsd/SSDP|SSDP attack]] || Network || || || || ||%0a|| [[openbsd/ACKFlood|TCP ack flood]] || Network || || || || ||%0a|| [[openbsd/RSTFlood|TCP reset flood]] || Network || || || || ||%0a|| [[openbsd/SYNFlood|SYN Flood]] || Network || || || || ||%0a|| [[openbsd/HTTPFlood|HTTP Flood]] || Network || || || || ||%0a|| [[openbsd/NTPAmplification|NTP Amplification]] || Network || || || || ||%0a|| [[openbsd/UDPFlood|UDP Flood]] || Network || || || || ||%0a|| [[openbsd/amplification|amplification attack]] || Network || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[Ircnow/Roadmap|IRCNow Roadmap]] || Civics || Plan the IRCNow Roadmap || || || ||%0a|| [[Minutemin/Code|Minutemin's Code]] || Civics || Recite the Code of Honor || || || ||%0a|| [[Minutemin/Server|Minutemin's Server]] || Civics || The Minutemin's Server || || || ||%0a|| [[Minutemin/Duty|Call of Duty]] || Civics || The Call of Duty || || || Promotion to Minutemin ||%0a|| [[Minutemin/Questions|Good Questions]] || Civics || How to Ask Good Questions || || || ||%0a|| [[Servers/Rights|Servers' Rights]] || Civics || Servers' Rights || || || ||%0a|| [[Openbsd/Announce|Announcements]] || Civics || How to Make Announcements || || || ||%0a|| [[netizen/become|Become a Netizen]] || Civics || || || || ||%0a|| [[netizen/rights|Netizen Rights]] || Civics || || || || ||%0a|| [[freedom/selfadmin|Self-Admin]] || Civics || Understand Self Admin || || || ||%0a|| [[Freedom/Independence|Independence]] || Civics || Declaration of Network Independence || || || ||%0a|| [[freedom/fork|Freedom to Fork]] || Civics || Preserve the Freedom to Fork || || || ||%0a|| [[ircnow/constitution|Constitution]] || Civics || Read the Constitution and Bill of Rights || || || Unlock Netizenship Path ||%0a|| [[freedom/religion|Religious Liberty]] || Civics || Freedom of Religion Guarantee || || || ||%0a|| [[freedom/firstamendment|Free Press]] || Civics || Freedom of Speech and of the Press || || || ||%0a|| [[freedom/software|Software Freedom]] || Civics || Software Freedom || || || ||%0a|| [[freedom/privacy|Privacy]] || Civics || Right to Privacy || || || ||%0a|| [[freedom/homestead|Free Homestead VPS]] || Civics || || || || ||%0a|| [[freedom/madeonirc|Made on IRC]] || Civics || || || || ||%0a|| [[freedom/unix|Unix Work Ethic]] || Civics || || || || || ||%0a|| [[freedom/startupdream|The Startup Dream]] || Civics || || || || ||%0a|| [[freedom/openforeveryone|Open For Everyone]] || Civics || || || || ||%0a|| [[freedom/dueprocess|Due Process]] || Civics || || || || ||%0a|| [[freedom/checks|Checks and Balances]] || Civics || || || || ||%0a|| [[freedom/rulebylaw|Rule by Law]] || Civics || || || || ||%0a|| [[freedom/federation|Federation]] || Civics || || || || ||%0a|| [[freedom/union|United We Serve]] || Civics || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[ngircd/oper|Oper Guide]] || IRC || Learn to Oper an IRC Server || || || Unlock Oper Status ||%0a|| [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || || ||%0a|| [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || || ||%0a|| [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || ||%0a|| [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || ||%0a|| [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || ||%0a|| [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || ||%0a|| [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || ||%0a|| [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a|| [[telnet/http|Telnet HTTP]] || Network || || || ||%0a|| [[openssl/http|OpenSSL HTTP]] || Network || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[Openhttpd/Configure|Simple OpenHTTPd]] || Web || Configure a Simple Web Server || || || Host your own Website ||%0a|| [[Openhttpd/Hosting|Multi-user OpenHTTPd]] || Web || Configure Multi-user Web Hosting || || || Webhosting for Others ||%0a|| [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a|| [[Openhttpd/Perl|OpenHTTPd Perl]] || Web || Run Perl inside OpenHTTPd chroot || || || Install Perl Web Apps ||%0a|| [[Openbsd/Php|OpenHTTPd PHP]] || Web || Configure PHP for OpenHTTPd chroot || || || Install PHP Web Apps ||%0a|| [[openbsd/squirrelmail|SquirrelMail]] || Web || || || || Host your own webmail ||%0a|| [[openbsd/manna]] || Web || || || || Host your own web Bible ||%0a|| [[acme-client/configure|acme-client]] || Security || Request an SSL cert || || || Get SSL protection ||%0a|| [[openbsd/pmwiki|PMWiki]] || Web || Setup your own private wiki || || || Setup your own private wiki ||%0a|| [[znc/chroot|Chroot ZNC]] || IRC || Securely install ZNC || || || Offer users secure ZNCs ||%0a|| [[relayd/acceleration|TLS Acceleration]] || Security || Encrypt traffic with TLS || || || Host multiple services securely ||%0a|| [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on ZNC and shell servers ||%0a|| [[Oidentd/ZNC|Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a|| [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on IRC and shell servers ||%0a|| [[openbsd/ilines|ilines]] || IRC || Request connection limit exceptions from IRC networks || || || ZNC users can chat on other networks ||%0a|| [[openbsd/identd|identd]] ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[dns/overview|DNS Overview]] || DNS || Learn the Domain Name System || || || ||%0a|| [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || ||%0a|| [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || || Purchase Custom Domains ||%0a|| [[openbsd/vhost|vhost]] || Configure vhost || || || || Unlock Custom Vhost ||%0a|| [[dns/FQDN|FQDN]] || DNS || Understand FQDN and $ORIGIN || || || ||%0a|| [[nsd/configure|nsd]] || DNS || Configure Authoritative Name Server || || || Support custom domains ||%0a|| [[nsd/masterslave|nsd master slave]] || DNS || || || || ||%0a|| [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || || || ||%0a|| [[openbsd/rDNS|rDNS]] || DNS || Configure reverse DNS || || || Provide custom vhosts ||%0a|| [[dns/zonefile|Zone File]] || DNS || || || || ||%0a|| [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/unbound|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a|| [[openbsd/dig|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a|| [[openbsd/host|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a|| [[openbsd/unboundadblock|unbound adblock]] || || || || || ||%0a|| [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || || ||%0a|| [[openbsd/rbldns|rbldns]] || DNS || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/staticnet|Static IPs]] || Network || Configure Static Networking || || || Add IPv6 Support ||%0a|| [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a|| [[openbsd/spf|SPF]] || Mail || Configure SPF records || || || Avoid Spam Folder ||%0a|| [[openbsd/dkimproxy|DKIM]] || Mail || Set up DKIM signing || || || Avoid Spam Folder ||%0a|| [[openbsd/dmarc|DMARC]] || Mail || Set up DMARC || || || Block Phishing and Spam ||%0a|| [[mail/test]] || Mail || Test sending mail || || || Send test letter ||%0a|| [[mail/openrelay]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a|| [[openbsd/Dovecot|Dovecot]] || Mail || Install POP and IMAP server || || || Read from your own mail server ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/Team|Team Procedure]] || Civics || Follow Team Procedure || || || ||%0a|| [[Openbsd/Stable|Stable Procedure]] || Civics || Follow Team Procedure for Stable Servers || || || Promoted to Minutemin ||%0a|| [[Openbsd/Testing|Testing Procedure]] || Civics || Follow Team Procedure for Testing Servers || || || Promoted to Minutemin ||%0a|| [[ircnow/networks|Claim Networks]] || Civics || Understand Network Procedure || || || Claim Team Networks ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/botnow|botnow]] || IRC || Install botnow || || || Provide bnc, mail, vpn, and shells over IRC ||%0a|| [[Openbsd/ZNCUser|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a|| [[Openbsd/ZNCAdmin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a|| [[openbsd/ZNCSupport|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a|| [[openbsd/ZNCModules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a|| [[Openbsd/Wraith|Wraith]] || IRC || Set up a botnet || || || Offer channel protection ||%0a|| [[openbsd/FilePermissions|File Permissions]] || Security || Fix insecure file permissions || || || Secure your server ||%0a|| [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Army Path ||%0a|| [[openbsd/gotweb|gotweb]] || Code || Set up web viewer for version control || || || ||%0a|| [[openbsd/sftp|chroot sftp]] || File || Set up a secure sftp server || || || Provide file hosting for users ||%0a|| [[openbsd/sshkeys|ssh keys]] || Crypto || || || || ||%0a|| [[Openbsd/Sshbackdoor|ssh backdoor]] || Crypto || || || || ||%0a|| [[openbsd/vmmuser|VMM User Guide]] || BSD || || || || Control your VPS ||%0a|| [[openbsd/install68|Install OpenBSD 6.8]] || BSD || || || || Install OpenBSD 6.8 ||%0a|| [[openbsd/upgrade68|Upgrade OpenBSD 6.8]] || BSD || || || || Upgrade OpenBSD 6.8 ||%0a|| [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD 6.8 ||%0a|| [[openbsd/fdisk|fdisk]] || BSD || || || || Partition Hard Disk ||%0a|| [[openbsd/disklabel|disklabel]] || BSD || || || || Partition Hard Disk ||%0a|| [[openbsd/growfs|growfs]] || BSD || || || || Grow a Disk Partition ||%0a|| [[openbsd/newdisk|newdisk]] || BSD || || || || Add a New Hard Disk ||%0a|| [[openbsd/tcpdump|tcpdump]] || Network || Read network packets || || || ||%0a|| [[openbsd/intro|Intro]] || BSD || || || || ||%0a|| [[openbsd/buyvm|Buyvm Guide]] || BSD || || || || ||%0a|| [[openbsd/vmminstall|VMM Install]] || BSD || || || || ||%0a|| [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || || ||%0a|| [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || || ||%0a|| [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[pf/guide|Packet Filter]] || Network || Learn Packet Filter || || || Set up firewall ||%0a|| [[openbsd/PFStable|PF Stable]] || Network || Configure Packet Filter for Stable Server || || || Set up firewall ||%0a|| [[openbsd/PFTesting|PF Testing]] || Network || Configure Packet Filter for Testing Server || || || Set up firewall ||%0a|| [[openbsd/ddos|DDoS Defense]] || Network || Practice DDoS Defense || || || Defend against DDoS Attacks ||%0a|| [[openbsd/RDNS|rDNS zone]] || Network || Setup rDNS zone || || || Unlock custom vhosts ||%0a|| [[openbsd/iked|iked]] || Network || Provide IPSec using openIKED || || || Provide VPNs to users ||%0a|| [[openbsd/police|Police Guide]] || Security || Learn police investigation techniques || || || Detect and ban abusers ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[gnupg/create|Create PGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a|| [[gnupg/verify|Verify signature]] || Security || Verify PGP signature || || || Verify signatures and downloads ||%0a|| [[netpgp/create|Create netPGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a|| [[signify/verify|signify]] || Security || Verify software download || || || Verify software download ||%0a|| [[openbsd/iked|iked]] || Security || IPSec VPN with iked || || || Provide VPN service ||%0a|| [[vpn/vpn|VPN clients]] || Security || Configure IPSec VPN client || || || Use VPN ||%0a|| [[tor/torsocks|torsocks]] || Security || Connect to networks with tor || || || Cloak IP address for privacy ||%0a|| [[tor/hidden|Hidden Services]] || Security || Provide tor hidden services || || || Provide anonymity for users ||%0a|| [[tor/irc|IRC with Tor]] || Security || Connect to IRC with tor || || || Cloak IP address for privacy ||%0a|| [[openbsd/sshd|sshd]] || Security || Configure and start sshd || || || Login to server securely ||%0a|| [[ssh/client|ssh]] || Security || Configure and connect using ssh || || || Login to server securely ||%0a|| [[openbsd/sshkeys|SSH keys]] || Security || Verify ssh keys || || || Connect to server securely ||%0a|| [[openbsd/sshbackdoor|SSH backdoor]] || Security || Configure backdoor to connect to server during a DDoS Attack || || || ||%0a|| [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%0a||! Clients ||||||||||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a||! Servers ||||||||||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a|| [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a||! Services ||||||||||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a||! Relays ||||||||||%0a|| [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a||! Bots ||||||||||%0a|| Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a|| Channel || [[openbsd/wraith|wraith]] || || || ||%0a|| Custom || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a%0a||! Languages ||||||||||%0a|| Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a|| Korn || [[unix101/unix101|unix101]] || || || ||%0a|| C || || || || || +time=1616419259 +title=Code Force Bootcamp +author:1616419259=miniontoby +diff:1616419259:1616418975:=15,19c15,19%0a%3c || [[unix101/vi|Learn vi]] || Shell || Learn vi || Files || File abilities || Create and Edit Files ||%0a%3c || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || Files || More file abilities || Create and Edit Files ||%0a%3c || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || SSH connection || Knowledge about our system || ||%0a%3c || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || SSH connection || Knowledge about files || ||%0a%3c || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || SSH connection || Knowledge about all commands || ||%0a---%0a> || [[unix101/vi|Learn vi]] || Shell || Learn vi || || edit abilities || Create and Edit Files ||%0a> || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || more edit abilities || Create and Edit Files ||%0a> || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || knowledge about our system || ||%0a> || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || knowledge about files || ||%0a> || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || knowledge about all commands || ||%0a21,26c21,26%0a%3c || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || Eggdrop || || Create IRC News Channel ||%0a%3c || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || Eggdrop || || Create IRC Trivia Game ||%0a%3c || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || Eggdrop || || Create IRC Duck Hunt ||%0a%3c || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || Eggdrop || || Create IRC Bible Channel ||%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a%3c || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || Your own vps || Your own Bouncer || Create your own ZNC ||%0a---%0a> || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || || || Create IRC News Channel ||%0a> || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || || || Create IRC Trivia Game ||%0a> || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || || || Create IRC Duck Hunt ||%0a> || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || || || Create IRC Bible Channel ||%0a> || [[znc/install|Install ZNC]] || IRC || Install ZNC || || || Create your own ZNC ||%0a> || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || || || Create your own ZNC ||%0a28c28%0a%3c || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || Your own vps || Root Powers || More possiblities ||%0a---%0a> || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || || || Unlock Root Powers ||%0a +host:1616419259=145.132.146.30 +author:1616418975=miniontoby +csum:1616418975=unlocks +diff:1616418975:1614960033:=5,12c5,12%0a%3c || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || free space to host your needs || Free Liberty Shell ||%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || knowledge about how everything works || Unlock Minutemin Path ||%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || 24/7 logs of the IRC || Free Bouncer ||%0a%3c || [[irc/services|Services]] || IRC || IRC Services || || Auto Voice/Op || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Your own channels || Unlock Op of Liberty Path ||%0a%3c || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || nice users || ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || ideas to help || Unlocks Netizenship Path ||%0a---%0a> || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || || Free Tech Support and Services ||%0a> || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Free Liberty Shell ||%0a> || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || Unlock Minutemin Path ||%0a> || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || Free Bouncer ||%0a> || [[irc/services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || Unlock Op of Liberty Path ||%0a> || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a> || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a15,19c15,19%0a%3c || [[unix101/vi|Learn vi]] || Shell || Learn vi || || edit abilities || Create and Edit Files ||%0a%3c || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || more edit abilities || Create and Edit Files ||%0a%3c || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || knowledge about our system || ||%0a%3c || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || knowledge about files || ||%0a%3c || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || knowledge about all commands || ||%0a---%0a> || [[unix101/vi|Learn vi]] || Shell || Learn vi || || || Create and Edit Files ||%0a> || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || || Create and Edit Files ||%0a> || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || || ||%0a> || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || || ||%0a> || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || || ||%0a +host:1616418975=145.132.146.30 +author:1614960033=jrmu +diff:1614960033:1614959565:=106,107d105%0a%3c || [[openbsd/ilines|ilines]] || IRC || Request connection limit exceptions from IRC networks || || || ZNC users can chat on other networks ||%0a%3c || [[openbsd/identd|identd]] ||%0a193a192,194%0a> || BNCs || [[openbsd/ilines|ilines]] || || || ||%0a> ||! Ident ||||||||||%0a> || Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || ||%0a +host:1614960033=198.251.81.119 +author:1614959565=jrmu +diff:1614959565:1614959089:=143,144d142%0a%3c || [[openbsd/ZNCSupport|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a%3c || [[openbsd/ZNCModules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a190,191c188,192%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c %0a---%0a> %0a> %0a> ||! Bouncers ||||||||||%0a> || ZNC || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a> || PsyBNC || [[openbsd/psybnc|psybnc]] || || || ||%0a +host:1614959565=198.251.81.119 +author:1614959089=jrmu +diff:1614959089:1614958584:=80d79%0a%3c || [[ngircd/oper|Oper Guide]] || IRC || Learn to Oper an IRC Server || || || Unlock Oper Status ||%0a187,213c186%0a%3c || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a%3c %0a%3c %0a%3c ||! Bouncers ||||||||||%0a%3c || ZNC || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a%3c || PsyBNC || [[openbsd/psybnc|psybnc]] || || || ||%0a%3c || BNCs || [[openbsd/ilines|ilines]] || || || ||%0a%3c ||! Ident ||||||||||%0a%3c || Ident || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] || ||%0a%3c ||! Clients ||||||||||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a%3c ||! Servers ||||||||||%0a%3c || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a%3c ||! Services ||||||||||%0a%3c || [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a%3c ||! Relays ||||||||||%0a%3c || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a%3c ||! Bots ||||||||||%0a%3c || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a%3c || Channel || [[openbsd/wraith|wraith]] || || || ||%0a%3c || Custom || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a%3c %0a%3c ||! Languages ||||||||||%0a%3c || Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a%3c || Korn || [[unix101/unix101|unix101]] || || || ||%0a%3c || C || || || || ||%0a\ No newline at end of file%0a---%0a> || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a\ No newline at end of file%0a +host:1614959089=198.251.81.119 +author:1614958584=jrmu +diff:1614958584:1614958414:=96,97c96,101%0a%3c || [[openbsd/squirrelmail|SquirrelMail]] || Web || || || || Host your own webmail ||%0a%3c || [[openbsd/manna]] || Web || || || || Host your own web Bible ||%0a---%0a> || [[openbsd/pmwiki|pmwiki]] ||%0a> || [[openbsd/squirrelmail|SquirrelMail]] ||%0a> || [[openbsd/manna]] ||%0a> || [[openbsd/gotweb|gotweb]] ||%0a> %0a> %0a +host:1614958584=198.251.81.119 +author:1614958414=jrmu +diff:1614958414:1614956115:=96,101d95%0a%3c || [[openbsd/pmwiki|pmwiki]] ||%0a%3c || [[openbsd/squirrelmail|SquirrelMail]] ||%0a%3c || [[openbsd/manna]] ||%0a%3c || [[openbsd/gotweb|gotweb]] ||%0a%3c %0a%3c %0a +host:1614958414=198.251.81.119 +author:1614956115=jrmu +diff:1614956115:1614956092:=184c184%0a%3c || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a\ No newline at end of file%0a---%0a> || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting||%0a\ No newline at end of file%0a +host:1614956115=198.251.81.119 +author:1614956092=jrmu +diff:1614956092:1614955777:=182,183c182,183%0a%3c || [[openbsd/sshkeys|SSH keys]] || Security || Verify ssh keys || || || Connect to server securely ||%0a%3c || [[openbsd/sshbackdoor|SSH backdoor]] || Security || Configure backdoor to connect to server during a DDoS Attack || || || ||%0a---%0a> || [[openbsd/sshkeys|SSH keys]] || Security || Configure || || ||%0a> || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a +host:1614956092=198.251.81.119 +author:1614955777=jrmu +diff:1614955777:1614955475:=184c184,192%0a%3c || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting||%0a\ No newline at end of file%0a---%0a> || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting||%0a> %0a> (:if false:)%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a> || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a> || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a> || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a> (:ifend:)%0a\ No newline at end of file%0a +host:1614955777=198.251.81.119 +author:1614955475=jrmu +diff:1614955475:1614954839:=180,184c180,186%0a%3c || [[openbsd/sshd|sshd]] || Security || Configure and start sshd || || || Login to server securely ||%0a%3c || [[ssh/client|ssh]] || Security || Configure and connect using ssh || || || Login to server securely ||%0a%3c || [[openbsd/sshkeys|SSH keys]] || Security || Configure || || ||%0a%3c || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a%3c || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting||%0a---%0a> || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a> ||! SSH ||||||||||%0a> || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a> ||! File Transfer ||||||||||%0a> || sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a> ||! Coins ||||||||||%0a> || bitcoin || monero || || || ||%0a +host:1614955475=198.251.81.119 +author:1614954839=jrmu +diff:1614954839:1614954831:= +host:1614954839=198.251.81.119 +author:1614954831=jrmu +diff:1614954831:1614953404:=170,186d169%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[gnupg/create|Create PGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a%3c || [[gnupg/verify|Verify signature]] || Security || Verify PGP signature || || || Verify signatures and downloads ||%0a%3c || [[netpgp/create|Create netPGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a%3c || [[signify/verify|signify]] || Security || Verify software download || || || Verify software download ||%0a%3c || [[openbsd/iked|iked]] || Security || IPSec VPN with iked || || || Provide VPN service ||%0a%3c || [[vpn/vpn|VPN clients]] || Security || Configure IPSec VPN client || || || Use VPN ||%0a%3c || [[tor/torsocks|torsocks]] || Security || Connect to networks with tor || || || Cloak IP address for privacy ||%0a%3c || [[tor/hidden|Hidden Services]] || Security || Provide tor hidden services || || || Provide anonymity for users ||%0a%3c || [[tor/irc|IRC with Tor]] || Security || Connect to IRC with tor || || || Cloak IP address for privacy ||%0a%3c || [[acme-client/configure|acme-client]] || [[relayd/acceleration|relayd TLS Acceleration]] || || ||%0a%3c ||! SSH ||||||||||%0a%3c || || [[openbsd/sshd|sshd]] || [[ssh/client|ssh]] || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a%3c ||! File Transfer ||||||||||%0a%3c || sftp || [[openbsd/sftp|chrooted sftp]] || || || ||%0a%3c ||! Coins ||||||||||%0a%3c || bitcoin || monero || || || ||%0a +host:1614954831=198.251.81.119 +author:1614953404=jrmu +diff:1614953404:1614952870:=1c1%0a%3c (:title Code Force Bootcamp:)%0a---%0a> (:title Minutemin Bootcamp:)%0a +host:1614953404=198.251.81.119 +author:1614952870=jrmu +diff:1614952870:1614952870:=1,177d0%0a%3c (:title Minutemin Bootcamp:)%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Free Liberty Shell ||%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || Unlock Minutemin Path ||%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || Free Bouncer ||%0a%3c || [[irc/services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || Unlock Op of Liberty Path ||%0a%3c || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a%3c || [[congress/procedure|Congress Procedure]] || Civics || Learn about procedure in Congress || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[unix101/vi|Learn vi]] || Shell || Learn vi || || || Create and Edit Files ||%0a%3c || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || || Create and Edit Files ||%0a%3c || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || || ||%0a%3c || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || || ||%0a%3c || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || || || Create IRC News Channel ||%0a%3c || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || || || Create IRC Trivia Game ||%0a%3c || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || || || Create IRC Duck Hunt ||%0a%3c || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || || || Create IRC Bible Channel ||%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || || || Create your own ZNC ||%0a%3c || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || || || Create your own ZNC ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || || || Unlock Root Powers ||%0a%3c || [[syspatch/syspatch|syspatch]] || Unix || Patch your system || || || Upgrade to Stable ||%0a%3c || [[tcpip/overview|TCP/IP Networking]] || Network || Learn Basics of TCP/IP || || || ||%0a%3c || [[IPv4/overview|IPv4 Networking]] || Network || Learn IPv4 Networking || || || ||%0a%3c || [[IPv6/overview|IPv6 Networking]] || Network || Learn IPv6 Networking || || || ||%0a%3c || [[tcpip/sockets|sockets]] || Network || || || || ||%0a%3c || [[openbsd/netmask|Netmasks]] || Network || || || || ||%0a%3c || [[openbsd/anycast|Anycast Addresses]] || Network || || || || ||%0a%3c || [[openbsd/staticnet|Static Networking]] || || || || ||%0a%3c || [[ifconfig|ifconfig]] || Network || || || || ||%0a%3c || [[route|route]] || Network || || || || ||%0a%3c || [[openbsd/dhcpd]] || Network || || || || ||%0a%3c || [[openbsd/ntpd|ntpd]] || Network || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/pf|Packet Filter]] || Network || || || || ||%0a%3c || [[openbsd/SSDP|SSDP attack]] || Network || || || || ||%0a%3c || [[openbsd/ACKFlood|TCP ack flood]] || Network || || || || ||%0a%3c || [[openbsd/RSTFlood|TCP reset flood]] || Network || || || || ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || Network || || || || ||%0a%3c || [[openbsd/HTTPFlood|HTTP Flood]] || Network || || || || ||%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || Network || || || || ||%0a%3c || [[openbsd/UDPFlood|UDP Flood]] || Network || || || || ||%0a%3c || [[openbsd/amplification|amplification attack]] || Network || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Civics || Plan the IRCNow Roadmap || || || ||%0a%3c || [[Minutemin/Code|Minutemin's Code]] || Civics || Recite the Code of Honor || || || ||%0a%3c || [[Minutemin/Server|Minutemin's Server]] || Civics || The Minutemin's Server || || || ||%0a%3c || [[Minutemin/Duty|Call of Duty]] || Civics || The Call of Duty || || || Promotion to Minutemin ||%0a%3c || [[Minutemin/Questions|Good Questions]] || Civics || How to Ask Good Questions || || || ||%0a%3c || [[Servers/Rights|Servers' Rights]] || Civics || Servers' Rights || || || ||%0a%3c || [[Openbsd/Announce|Announcements]] || Civics || How to Make Announcements || || || ||%0a%3c || [[netizen/become|Become a Netizen]] || Civics || || || || ||%0a%3c || [[netizen/rights|Netizen Rights]] || Civics || || || || ||%0a%3c || [[freedom/selfadmin|Self-Admin]] || Civics || Understand Self Admin || || || ||%0a%3c || [[Freedom/Independence|Independence]] || Civics || Declaration of Network Independence || || || ||%0a%3c || [[freedom/fork|Freedom to Fork]] || Civics || Preserve the Freedom to Fork || || || ||%0a%3c || [[ircnow/constitution|Constitution]] || Civics || Read the Constitution and Bill of Rights || || || Unlock Netizenship Path ||%0a%3c || [[freedom/religion|Religious Liberty]] || Civics || Freedom of Religion Guarantee || || || ||%0a%3c || [[freedom/firstamendment|Free Press]] || Civics || Freedom of Speech and of the Press || || || ||%0a%3c || [[freedom/software|Software Freedom]] || Civics || Software Freedom || || || ||%0a%3c || [[freedom/privacy|Privacy]] || Civics || Right to Privacy || || || ||%0a%3c || [[freedom/homestead|Free Homestead VPS]] || Civics || || || || ||%0a%3c || [[freedom/madeonirc|Made on IRC]] || Civics || || || || ||%0a%3c || [[freedom/unix|Unix Work Ethic]] || Civics || || || || || ||%0a%3c || [[freedom/startupdream|The Startup Dream]] || Civics || || || || ||%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || Civics || || || || ||%0a%3c || [[freedom/dueprocess|Due Process]] || Civics || || || || ||%0a%3c || [[freedom/checks|Checks and Balances]] || Civics || || || || ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || Civics || || || || ||%0a%3c || [[freedom/federation|Federation]] || Civics || || || || ||%0a%3c || [[freedom/union|United We Serve]] || Civics || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || || ||%0a%3c || [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || || ||%0a%3c || [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || ||%0a%3c || [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || ||%0a%3c || [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || ||%0a%3c || [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || ||%0a%3c || [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || ||%0a%3c || [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a%3c || [[telnet/http|Telnet HTTP]] || Network || || || ||%0a%3c || [[openssl/http|OpenSSL HTTP]] || Network || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[Openhttpd/Configure|Simple OpenHTTPd]] || Web || Configure a Simple Web Server || || || Host your own Website ||%0a%3c || [[Openhttpd/Hosting|Multi-user OpenHTTPd]] || Web || Configure Multi-user Web Hosting || || || Webhosting for Others ||%0a%3c || [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a%3c || [[Openhttpd/Perl|OpenHTTPd Perl]] || Web || Run Perl inside OpenHTTPd chroot || || || Install Perl Web Apps ||%0a%3c || [[Openbsd/Php|OpenHTTPd PHP]] || Web || Configure PHP for OpenHTTPd chroot || || || Install PHP Web Apps ||%0a%3c || [[acme-client/configure|acme-client]] || Security || Request an SSL cert || || || Get SSL protection ||%0a%3c || [[openbsd/pmwiki|PMWiki]] || Web || Setup your own private wiki || || || Setup your own private wiki ||%0a%3c || [[znc/chroot|Chroot ZNC]] || IRC || Securely install ZNC || || || Offer users secure ZNCs ||%0a%3c || [[relayd/acceleration|TLS Acceleration]] || Security || Encrypt traffic with TLS || || || Host multiple services securely ||%0a%3c || [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on ZNC and shell servers ||%0a%3c || [[Oidentd/ZNC|Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a%3c || [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on IRC and shell servers ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[dns/overview|DNS Overview]] || DNS || Learn the Domain Name System || || || ||%0a%3c || [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || ||%0a%3c || [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || || Purchase Custom Domains ||%0a%3c || [[openbsd/vhost|vhost]] || Configure vhost || || || || Unlock Custom Vhost ||%0a%3c || [[dns/FQDN|FQDN]] || DNS || Understand FQDN and $ORIGIN || || || ||%0a%3c || [[nsd/configure|nsd]] || DNS || Configure Authoritative Name Server || || || Support custom domains ||%0a%3c || [[nsd/masterslave|nsd master slave]] || DNS || || || || ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || || || ||%0a%3c || [[openbsd/rDNS|rDNS]] || DNS || Configure reverse DNS || || || Provide custom vhosts ||%0a%3c || [[dns/zonefile|Zone File]] || DNS || || || || ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/unbound|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a%3c || [[openbsd/dig|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a%3c || [[openbsd/host|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a%3c || [[openbsd/unboundadblock|unbound adblock]] || || || || || ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || || ||%0a%3c || [[openbsd/rbldns|rbldns]] || DNS || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/staticnet|Static IPs]] || Network || Configure Static Networking || || || Add IPv6 Support ||%0a%3c || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a%3c || [[openbsd/spf|SPF]] || Mail || Configure SPF records || || || Avoid Spam Folder ||%0a%3c || [[openbsd/dkimproxy|DKIM]] || Mail || Set up DKIM signing || || || Avoid Spam Folder ||%0a%3c || [[openbsd/dmarc|DMARC]] || Mail || Set up DMARC || || || Block Phishing and Spam ||%0a%3c || [[mail/test]] || Mail || Test sending mail || || || Send test letter ||%0a%3c || [[mail/openrelay]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a%3c || [[openbsd/Dovecot|Dovecot]] || Mail || Install POP and IMAP server || || || Read from your own mail server ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/Team|Team Procedure]] || Civics || Follow Team Procedure || || || ||%0a%3c || [[Openbsd/Stable|Stable Procedure]] || Civics || Follow Team Procedure for Stable Servers || || || Promoted to Minutemin ||%0a%3c || [[Openbsd/Testing|Testing Procedure]] || Civics || Follow Team Procedure for Testing Servers || || || Promoted to Minutemin ||%0a%3c || [[ircnow/networks|Claim Networks]] || Civics || Understand Network Procedure || || || Claim Team Networks ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/botnow|botnow]] || IRC || Install botnow || || || Provide bnc, mail, vpn, and shells over IRC ||%0a%3c || [[Openbsd/ZNCUser|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a%3c || [[Openbsd/ZNCAdmin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a%3c || [[Openbsd/Wraith|Wraith]] || IRC || Set up a botnet || || || Offer channel protection ||%0a%3c || [[openbsd/FilePermissions|File Permissions]] || Security || Fix insecure file permissions || || || Secure your server ||%0a%3c || [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Army Path ||%0a%3c || [[openbsd/gotweb|gotweb]] || Code || Set up web viewer for version control || || || ||%0a%3c || [[openbsd/sftp|chroot sftp]] || File || Set up a secure sftp server || || || Provide file hosting for users ||%0a%3c || [[openbsd/sshkeys|ssh keys]] || Crypto || || || || ||%0a%3c || [[Openbsd/Sshbackdoor|ssh backdoor]] || Crypto || || || || ||%0a%3c || [[openbsd/vmmuser|VMM User Guide]] || BSD || || || || Control your VPS ||%0a%3c || [[openbsd/install68|Install OpenBSD 6.8]] || BSD || || || || Install OpenBSD 6.8 ||%0a%3c || [[openbsd/upgrade68|Upgrade OpenBSD 6.8]] || BSD || || || || Upgrade OpenBSD 6.8 ||%0a%3c || [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD 6.8 ||%0a%3c || [[openbsd/fdisk|fdisk]] || BSD || || || || Partition Hard Disk ||%0a%3c || [[openbsd/disklabel|disklabel]] || BSD || || || || Partition Hard Disk ||%0a%3c || [[openbsd/growfs|growfs]] || BSD || || || || Grow a Disk Partition ||%0a%3c || [[openbsd/newdisk|newdisk]] || BSD || || || || Add a New Hard Disk ||%0a%3c || [[openbsd/tcpdump|tcpdump]] || Network || Read network packets || || || ||%0a%3c || [[openbsd/intro|Intro]] || BSD || || || || ||%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || BSD || || || || ||%0a%3c || [[openbsd/vmminstall|VMM Install]] || BSD || || || || ||%0a%3c || [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || || ||%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || || ||%0a%3c || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[pf/guide|Packet Filter]] || Network || Learn Packet Filter || || || Set up firewall ||%0a%3c || [[openbsd/PFStable|PF Stable]] || Network || Configure Packet Filter for Stable Server || || || Set up firewall ||%0a%3c || [[openbsd/PFTesting|PF Testing]] || Network || Configure Packet Filter for Testing Server || || || Set up firewall ||%0a%3c || [[openbsd/ddos|DDoS Defense]] || Network || Practice DDoS Defense || || || Defend against DDoS Attacks ||%0a%3c || [[openbsd/RDNS|rDNS zone]] || Network || Setup rDNS zone || || || Unlock custom vhosts ||%0a%3c || [[openbsd/iked|iked]] || Network || Provide IPSec using openIKED || || || Provide VPNs to users ||%0a%3c || [[openbsd/police|Police Guide]] || Security || Learn police investigation techniques || || || Detect and ban abusers ||%0a%3c %0a%3c (:if false:)%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c (:ifend:)%0a\ No newline at end of file%0a +host:1614952870=198.251.81.119 blob - /dev/null blob + d02e0ef730276504f33c5b92771799400e2462ac (mode 644) --- /dev/null +++ wiki.d/CodeForce.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +charset=UTF-8 +ctime=1614952870 +host=145.132.146.30 +name=CodeForce.RecentChanges +rev=15 +text=* [[CodeForce/Bootcamp]] . . . March 22, 2021, at 01:20 PM by [[~miniontoby]]: [==]%0a +time=1616419259 blob - /dev/null blob + 9106fbb59cf871c66678ac2b33c7faec47244c64 (mode 644) --- /dev/null +++ wiki.d/Congress.Documents @@ -0,0 +1,78 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615000427 +host=198.251.81.119 +name=Congress.Documents +rev=22 +targets=Congress.TreatyOfAllianceWithFrance1778,Congress.NorthwestOrdinance1787 +text=|| border=1 width=100%25 class="sortable simpletable"%0a||! Document ||! Year ||! Purpose ||%0a|| [[http://www.gutenberg.org/ebooks/1|Declaration of Independence]] || 1776 || ||%0a|| [[https://www.gutenberg.org/ebooks/5|US Constitution]] || 1787 || ||%0a|| [[http://www.gutenberg.org/ebooks/2|Bill of Rights]] || 1791 || ||%0a|| [[http://www.gutenberg.org/ebooks/18|Federalist Papers]] || 1787-1788 || ||%0a|| [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|Washington's First Inaugural]] || 1789 || ||%0a|| [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|Washington's Farewell Address]] || 1796 || ||%0a|| [[http://gutenberg.org/ebooks/4|Gettysburg Address]] || 1863 || ||%0a|| [[http://www.gutenberg.org/ebooks/8|Lincoln's Second Inaugural]] || 1865 || ||%0a||! Document ||! Year ||! Purpose ||%0a|| [[https://www.founders.archives.gov/|Founding Fathers]] || || ||%0a|| [[https://teachingamericanhistory.org/library/document/virginia-statute-for-religious-freedom/|Virginia Statue for Religious Freedom]] || 1786 || ||%0a|| [[https://teachingamericanhistory.org/library/document/speech-on-amendments-to-the-constitution/|Speech on Amendments]] || 1789 || ||%0a|| [[https://teachingamericanhistory.org/library/document/property/|Property]] || 1792 || ||%0a|| [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act]] || 1789 || ||%0a|| [[https://teachingamericanhistory.org/library/document/monroe-doctrine/|Monroe Doctrine]] || 1823 || ||%0a|| [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation]] || 1863 || ||%0a(:if false:)%0a Common Sense%0a The American Crisis%0a Antifederalist Papers%0a [[https://oll.libertyfund.org/titles/madison-the-writings-vol-3-1787|Part 1]] and [[https://oll.libertyfund.org/titles/madison-the-writings-vol-4-1787|Part 2]] of Notes of Debates in the Federal Convention of 1787%0a Articles of Confederation (1777)%0a|| [[Treaty of Alliance with France (1778)]] || || ||%0a|| [[Northwest Ordinance (1787)]] || || ||%0a Lee Resolution (1776)%0a Original Design of the Great Seal of the United States (1782)%0a Treaty of Paris (1783)%0a Virginia Plan (1787)%0a Patent for Cotton Gin (1794)%0a Alien and Sedition Acts (1798)%0a Jefferson's Secret Message to Congress Regarding the Lewis & Clark Expedition (1803)%0a Louisiana Purchase Treaty (1803)%0a Marbury v. Madison (1803)%0a Treaty of Ghent (1814)%0a McCulloch v. Maryland (1819)%0a Missouri Compromise (1820)%0a Monroe Doctrine (1823)%0a Gibbons v. Ogden (1824)%0a President Andrew Jackson's Message to Congress 'On Indian Removal' (1830)%0a Treaty of Guadalupe Hidalgo (1848)%0a Compromise of 1850 (1850)%0a Kansas-Nebraska Act (1854)%0a Dred Scott v. Sanford (1857)%0a Telegram Announcing the Surrender of Fort Sumter (1861)%0a Homestead Act (1862)%0a Pacific Railway Act (1862)%0a Morrill Act (1862)%0a War Department General Order 143: Creation of the U.S. Colored Troops (1863)%0a Wade-Davis Bill (1864)%0a Articles of Agreement Relating to the Surrender of the Army of Northern Virginia (1865)%0a 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a(:ifend:) +time=1615092656 +author:1615092656=jrmu +diff:1615092656:1615092640:=10a11%0a> || border=1 width=100%25 class="sortable simpletable"%0a +host:1615092656=198.251.81.119 +author:1615092640=jrmu +diff:1615092640:1615086063:=10a11%0a> %0a +host:1615092640=198.251.81.119 +author:1615086063=jrmu +diff:1615086063:1615086045:=13d12%0a%3c ||! Document ||! Year ||! Purpose ||%0a +host:1615086063=198.251.81.119 +author:1615086045=jrmu +diff:1615086045:1615085707:=2a3,5%0a> || [[https://teachingamericanhistory.org/library/document/virginia-statute-for-religious-freedom/|Virginia Statue for Religious Freedom]] || 1786 || ||%0a> || [[https://teachingamericanhistory.org/library/document/speech-on-amendments-to-the-constitution/|Speech on Amendments]] || 1789 || ||%0a> || [[https://teachingamericanhistory.org/library/document/property/|Property]] || 1792 || ||%0a7a11%0a> || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act]] || 1789 || ||%0a8a13,14%0a> || [[https://teachingamericanhistory.org/library/document/monroe-doctrine/|Monroe Doctrine]] || 1823 || ||%0a> || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation]] || 1863 || ||%0a11,12d16%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a14,19d17%0a%3c || [[https://teachingamericanhistory.org/library/document/virginia-statute-for-religious-freedom/|Virginia Statue for Religious Freedom]] || 1786 || ||%0a%3c || [[https://teachingamericanhistory.org/library/document/speech-on-amendments-to-the-constitution/|Speech on Amendments]] || 1789 || ||%0a%3c || [[https://teachingamericanhistory.org/library/document/property/|Property]] || 1792 || ||%0a%3c || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act]] || 1789 || ||%0a%3c || [[https://teachingamericanhistory.org/library/document/monroe-doctrine/|Monroe Doctrine]] || 1823 || ||%0a%3c || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation]] || 1863 || ||%0a +host:1615086045=198.251.81.119 +author:1615085707=jrmu +diff:1615085707:1615085226:=17d16%0a%3c || [[https://www.founders.archives.gov/|Founding Fathers]] || || ||%0a +host:1615085707=198.251.81.119 +author:1615085226=jrmu +diff:1615085226:1615085190:=13d12%0a%3c || [[https://teachingamericanhistory.org/library/document/monroe-doctrine/|Monroe Doctrine]] || 1823 || ||%0a +host:1615085226=198.251.81.119 +author:1615085190=jrmu +diff:1615085190:1615085136:=5d4%0a%3c || [[https://teachingamericanhistory.org/library/document/property/|Property]] || 1792 || ||%0a +host:1615085190=198.251.81.119 +author:1615085136=jrmu +diff:1615085136:1615084949:=4d3%0a%3c || [[https://teachingamericanhistory.org/library/document/speech-on-amendments-to-the-constitution/|Speech on Amendments]] || 1789 || ||%0a +host:1615085136=198.251.81.119 +author:1615084949=jrmu +diff:1615084949:1615081775:=3d2%0a%3c || [[https://teachingamericanhistory.org/library/document/virginia-statute-for-religious-freedom/|Virginia Statue for Religious Freedom]] || 1786 || ||%0a +host:1615084949=198.251.81.119 +author:1615081775=jrmu +diff:1615081775:1615023577:=9a10%0a> (:if false:)%0a13c14%0a%3c (:if false:)%0a---%0a> %0a +host:1615081775=198.251.81.119 +author:1615023577=jrmu +diff:1615023577:1615023555:= +host:1615023577=198.251.81.119 +author:1615023555=jrmu +diff:1615023555:1615014025:=10d9%0a%3c (:if false:)%0a14a14%0a> (:if false:)%0a +host:1615023555=198.251.81.119 +author:1615014025=jrmu +diff:1615014025:1615013372:=12c12%0a%3c || [[http://www.gutenberg.org/ebooks/8|Lincoln's Second Inaugural]] || 1865 || ||%0a---%0a> || [[http://www.gutenberg.org/ebooks/8|Lincoln's Second Inaugural]] || 1865 || || ||%0a +host:1615014025=198.251.81.119 +author:1615013372=jrmu +diff:1615013372:1615009765:=18c18%0a%3c [[https://oll.libertyfund.org/titles/madison-the-writings-vol-3-1787|Part 1]] and [[https://oll.libertyfund.org/titles/madison-the-writings-vol-4-1787|Part 2]] of Notes of Debates in the Federal Convention of 1787%0a---%0a> Notes of Debates in the Federal Convention of 1787%0a +host:1615013372=198.251.81.119 +author:1615009765=jrmu +diff:1615009765:1615001631:=15,18d14%0a%3c Common Sense%0a%3c The American Crisis%0a%3c Antifederalist Papers%0a%3c Notes of Debates in the Federal Convention of 1787%0a +host:1615009765=125.231.24.85 +author:1615001631=jrmu +diff:1615001631:1615001485:=3,15c3,4%0a%3c || [[http://www.gutenberg.org/ebooks/1|Declaration of Independence]] || 1776 || ||%0a%3c || [[https://www.gutenberg.org/ebooks/5|US Constitution]] || 1787 || ||%0a%3c || [[http://www.gutenberg.org/ebooks/2|Bill of Rights]] || 1791 || ||%0a%3c || [[http://www.gutenberg.org/ebooks/18|Federalist Papers]] || 1787-1788 || ||%0a%3c || [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|Washington's First Inaugural]] || 1789 || ||%0a%3c || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act]] || 1789 || ||%0a%3c || [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|Washington's Farewell Address]] || 1796 || ||%0a%3c || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation]] || 1863 || ||%0a%3c || [[http://gutenberg.org/ebooks/4|Gettysburg Address]] || 1863 || ||%0a%3c || [[http://www.gutenberg.org/ebooks/8|Lincoln's Second Inaugural]] || 1865 || || ||%0a%3c %0a%3c (:if false:)%0a%3c Articles of Confederation (1777)%0a---%0a> || [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]] || || ||%0a> || [[Articles of Confederation (1777)]] || || ||%0a17a7,17%0a> || [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]] || || ||%0a> || [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]] || || ||%0a> || [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]] || || ||%0a> || [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President || George Washington's First Inaugural Speech (1789)]] || || ||%0a> || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]] || || ||%0a> || [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]] || || ||%0a> || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]] || || ||%0a> || [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]] || || ||%0a> || [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address || (1865)]] || || ||%0a> %0a> (:if false:)%0a +host:1615001631=198.251.81.119 +author:1615001485=jrmu +diff:1615001485:1615001426:=1,15c1,13%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Document ||! Year ||! Purpose ||%0a%3c || [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]] || || ||%0a%3c || [[Articles of Confederation (1777)]] || || ||%0a%3c || [[Treaty of Alliance with France (1778)]] || || ||%0a%3c || [[Northwest Ordinance (1787)]] || || ||%0a%3c || [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]] || || ||%0a%3c || [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]] || || ||%0a%3c || [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]] || || ||%0a%3c || [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President || George Washington's First Inaugural Speech (1789)]] || || ||%0a%3c || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]] || || ||%0a%3c || [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]] || || ||%0a%3c || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]] || || ||%0a%3c || [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]] || || ||%0a%3c || [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address || (1865)]] || || ||%0a---%0a> || [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]] || ||%0a> || [[Articles of Confederation (1777)]] || ||%0a> || [[Treaty of Alliance with France (1778)]] || ||%0a> || [[Northwest Ordinance (1787)]] || ||%0a> || [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]] || ||%0a> || [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]] || ||%0a> || [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]] || ||%0a> || [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President || George Washington's First Inaugural Speech (1789)]] || ||%0a> || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]] || ||%0a> || [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]] || ||%0a> || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]] || ||%0a> || [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]] || ||%0a> || [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address || (1865)]] || ||%0a +host:1615001485=198.251.81.119 +author:1615001426=jrmu +diff:1615001426:1615001359:=1,15d0%0a%3c || [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]] || ||%0a%3c || [[Articles of Confederation (1777)]] || ||%0a%3c || [[Treaty of Alliance with France (1778)]] || ||%0a%3c || [[Northwest Ordinance (1787)]] || ||%0a%3c || [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]] || ||%0a%3c || [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]] || ||%0a%3c || [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]] || ||%0a%3c || [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President || George Washington's First Inaugural Speech (1789)]] || ||%0a%3c || [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]] || ||%0a%3c || [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]] || ||%0a%3c || [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]] || ||%0a%3c || [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]] || ||%0a%3c || [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address || (1865)]] || ||%0a%3c %0a%3c (:if false:)%0a16a2,16%0a> [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]]%0a> [[Articles of Confederation (1777)]]%0a> [[Treaty of Alliance with France (1778)]]%0a> [[Northwest Ordinance (1787)]]%0a> [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]]%0a> [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]]%0a> [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]]%0a> [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President George Washington's First Inaugural Speech (1789)]]%0a> [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]]%0a> [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]]%0a> [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]]%0a> [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]]%0a> [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address (1865)]]%0a> %0a> (:if false:)%0a +host:1615001426=198.251.81.119 +author:1615001359=jrmu +diff:1615001359:1615001084:=10d9%0a%3c [[https://en.wikisource.org/wiki/Judiciary_Act_of_1789|Federal Judiciary Act (1789)]]%0a12,16c11,13%0a%3c [[https://www.gutenberg.org/ebooks/22082|Emancipation Proclamation (1863)]]%0a%3c [[http://gutenberg.org/ebooks/4|Gettysburg Address (1863)]]%0a%3c [[http://www.gutenberg.org/ebooks/8|President Abraham Lincoln's Second Inaugural Address (1865)]]%0a%3c %0a%3c (:if false:)%0a---%0a> %0a> %0a> %0a19a17,19%0a> %0a> Federal Judiciary Act (1789)%0a> %0a38a39%0a> Emancipation Proclamation (1863)%0a39a41%0a> Gettysburg Address (1863)%0a40a43%0a> President Abraham Lincoln's Second Inaugural Address (1865)%0a42,43c45%0a%3c 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a\ No newline at end of file%0a +host:1615001359=198.251.81.119 +author:1615001084=jrmu +diff:1615001084:1615000508:=2,13c2,4%0a%3c [[http://www.gutenberg.org/ebooks/1|Declaration of Independence (1776)]]%0a%3c [[Articles of Confederation (1777)]]%0a%3c [[Treaty of Alliance with France (1778)]]%0a%3c [[Northwest Ordinance (1787)]]%0a%3c [[https://www.gutenberg.org/ebooks/5|Constitution of the United States (1787)]]%0a%3c [[http://www.gutenberg.org/ebooks/2|Bill of Rights (1791)]]%0a%3c [[http://www.gutenberg.org/ebooks/18|Federalist Papers (1787-1788)]]%0a%3c [[https://en.wikisource.org/wiki/George_Washington%2527s_First_Inaugural_Address|President George Washington's First Inaugural Speech (1789)]]%0a%3c [[https://en.wikisource.org/wiki/Washington%2527s_Farewell_Address|President George Washington's Farewell Address (1796)]]%0a%3c %0a%3c %0a%3c %0a---%0a> Declaration of Independence (1776)%0a> Articles of Confederation (1777)%0a> Treaty of Alliance with France (1778)%0a17c8,11%0a%3c %0a---%0a> Northwest Ordinance (1787)%0a> Constitution of the United States (1787)%0a> Federalist Papers, No. 10 & No. 51 (1787-1788)%0a> President George Washington's First Inaugural Speech (1789)%0a19c13%0a%3c %0a---%0a> Bill of Rights (1791)%0a20a15%0a> President George Washington's Farewell Address (1796)%0a +host:1615001084=198.251.81.119 +author:1615000508=jrmu +diff:1615000508:1615000427:=40c40,44%0a%3c 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a\ No newline at end of file%0a---%0a> 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a> Check for the Purchase of Alaska (1868)%0a> Treaty of Fort Laramie (1868)%0a> 14th Amendment to the U.S. Constitution: Civil Rights (1868)%0a> 15th Amendment to the U.S. Constitution: Voting Rights (1870)%0a\ No newline at end of file%0a +host:1615000508=198.251.81.119 +author:1615000427=jrmu +diff:1615000427:1615000427:=1,44d0%0a%3c Lee Resolution (1776)%0a%3c Declaration of Independence (1776)%0a%3c Articles of Confederation (1777)%0a%3c Treaty of Alliance with France (1778)%0a%3c Original Design of the Great Seal of the United States (1782)%0a%3c Treaty of Paris (1783)%0a%3c Virginia Plan (1787)%0a%3c Northwest Ordinance (1787)%0a%3c Constitution of the United States (1787)%0a%3c Federalist Papers, No. 10 & No. 51 (1787-1788)%0a%3c President George Washington's First Inaugural Speech (1789)%0a%3c Federal Judiciary Act (1789)%0a%3c Bill of Rights (1791)%0a%3c Patent for Cotton Gin (1794)%0a%3c President George Washington's Farewell Address (1796)%0a%3c Alien and Sedition Acts (1798)%0a%3c Jefferson's Secret Message to Congress Regarding the Lewis & Clark Expedition (1803)%0a%3c Louisiana Purchase Treaty (1803)%0a%3c Marbury v. Madison (1803)%0a%3c Treaty of Ghent (1814)%0a%3c McCulloch v. Maryland (1819)%0a%3c Missouri Compromise (1820)%0a%3c Monroe Doctrine (1823)%0a%3c Gibbons v. Ogden (1824)%0a%3c President Andrew Jackson's Message to Congress 'On Indian Removal' (1830)%0a%3c Treaty of Guadalupe Hidalgo (1848)%0a%3c Compromise of 1850 (1850)%0a%3c Kansas-Nebraska Act (1854)%0a%3c Dred Scott v. Sanford (1857)%0a%3c Telegram Announcing the Surrender of Fort Sumter (1861)%0a%3c Homestead Act (1862)%0a%3c Pacific Railway Act (1862)%0a%3c Morrill Act (1862)%0a%3c Emancipation Proclamation (1863)%0a%3c War Department General Order 143: Creation of the U.S. Colored Troops (1863)%0a%3c Gettysburg Address (1863)%0a%3c Wade-Davis Bill (1864)%0a%3c President Abraham Lincoln's Second Inaugural Address (1865)%0a%3c Articles of Agreement Relating to the Surrender of the Army of Northern Virginia (1865)%0a%3c 13th Amendment to the U.S. Constitution: Abolition of Slavery (1865)%0a%3c Check for the Purchase of Alaska (1868)%0a%3c Treaty of Fort Laramie (1868)%0a%3c 14th Amendment to the U.S. Constitution: Civil Rights (1868)%0a%3c 15th Amendment to the U.S. Constitution: Voting Rights (1870)%0a\ No newline at end of file%0a +host:1615000427=198.251.81.119 blob - /dev/null blob + 571b7d3878f16e55cb209b59cc558e06e48f3e95 (mode 644) --- /dev/null +++ wiki.d/Congress.Procedure @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1613276782 +host=38.87.162.8 +name=Congress.Procedure +rev=10 +targets= +text=!! Congressional Procedure%0a%0a# A quorum is a simple majority (51%25)%0a# Congress can determine punishment for being absent%0a# Vice president presides over Congress%0a%0a# rules or policies and major transactions kept in journal%0a# journal must be made public for any member to see%0a%0aSign up at congress+subscribe@ircnow.org%0a +time=1627800062 +author:1627800062=jrmu +diff:1627800062:1613280812:=8,10c8%0a%3c # journal must be made public for any member to see%0a%3c %0a%3c Sign up at congress+subscribe@ircnow.org%0a---%0a> # journal must be made public for any member to see%0a\ No newline at end of file%0a +host:1627800062=38.87.162.8 +author:1613280812=jrmu +diff:1613280812:1613279348:=5,8c5%0a%3c # Vice president presides over Congress%0a%3c %0a%3c # rules or policies and major transactions kept in journal%0a%3c # journal must be made public for any member to see%0a\ No newline at end of file%0a---%0a> # Vice president presides over Congress%0a\ No newline at end of file%0a +host:1613280812=198.251.81.119 +author:1613279348=jrmu +diff:1613279348:1613278174:= +host:1613279348=198.251.81.119 +author:1613278174=jrmu +diff:1613278174:1613278163:=3,5c3,5%0a%3c # A quorum is a simple majority (51%25)%0a%3c # Congress can determine punishment for being absent%0a%3c # Vice president presides over Congress%0a\ No newline at end of file%0a---%0a> A quorum is a simple majority (51%25)%0a> Congress can determine punishment for being absent%0a> Vice president presides over Congress%0a\ No newline at end of file%0a +host:1613278174=198.251.81.119 +author:1613278163=jrmu +diff:1613278163:1613278159:= +host:1613278163=198.251.81.119 +author:1613278159=jrmu +diff:1613278159:1613277948:= +host:1613278159=198.251.81.119 +author:1613277948=jrmu +diff:1613277948:1613277846:=5c5%0a%3c Vice president presides over Congress%0a\ No newline at end of file%0a---%0a> THE Vice-President of the United States shall be President of the Senate%0a\ No newline at end of file%0a +host:1613277948=198.251.81.119 +author:1613277846=jrmu +diff:1613277846:1613277796:=4,5c4%0a%3c Congress can determine punishment for being absent%0a%3c THE Vice-President of the United States shall be President of the Senate%0a\ No newline at end of file%0a---%0a> Congress can determine punishment for being absent%0a\ No newline at end of file%0a +host:1613277846=198.251.81.119 +author:1613277796=jrmu +diff:1613277796:1613276782:=3,4c3%0a%3c A quorum is a simple majority (51%25)%0a%3c Congress can determine punishment for being absent%0a\ No newline at end of file%0a---%0a> A quorum is a simple majority (51%25)%0a\ No newline at end of file%0a +host:1613277796=198.251.81.119 +author:1613276782=jrmu +diff:1613276782:1613276782:=1,3d0%0a%3c !! Congressional Procedure%0a%3c %0a%3c A quorum is a simple majority (51%25)%0a\ No newline at end of file%0a +host:1613276782=125.224.24.204 blob - /dev/null blob + 431d60158f2b83fcd656614fcf2d5b5d493c93a3 (mode 644) --- /dev/null +++ wiki.d/Congress.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1613276782 +host=38.87.162.8 +name=Congress.RecentChanges +rev=32 +text=* [[Congress/Procedure]] . . . August 01, 2021, at 06:41 AM by [[~jrmu]]: [==]%0a* [[Congress/Documents]] . . . March 07, 2021, at 04:50 AM by [[~jrmu]]: [==]%0a +time=1627800062 blob - /dev/null blob + 50a878a8ca7aecef7393b0a79bcfc4b1290e50bd (mode 644) --- /dev/null +++ wiki.d/ConnectBot.Connect @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628659608 +host=38.87.162.8 +name=ConnectBot.Connect +rev=9 +targets=Fdroid.Install,Ircnow.SSHFingerprints,ConnectBot.Keys +text=(:title Connect with Connectbot:)%0a%0aFirst, install Connectbot from [[Fdroid/Install|F-droid]].%0a%0a'''NOTE''': Although Connectbot is also available on [[https://play.google.com/store/apps/details?id=org.connectbot&hl=en_US&gl=US|Google Play]], it is outdated. Google Play is not free software nor does it respect user data.%0a%0aOpen Connectbot:%0a%0aAttach:connectbot-no-hosts.png%0a%0aTap the + plus icon at the bottom right corner.%0a%0aAttach:connectbot-edit-host-username.png%0a%0aEdit three fields:%0a%0a# @@Protocol@@: @@ssh@@%0a# @@username@hostname port@@: Type in your username, followed by the @ sign, then your server name. For example, if you registered @@username@@ and your server is @@fruit.ircnow.org@@, type in @@username@fruit.ircnow.org@@.%0a# @@Stay connected@@: Toggle this on to reconnect automatically%0a%0aAttach:connectbot-stay-connected.png%0a%0aTap on the back arrow at the top left corner.%0a%0aTo connect, tap on the row you just created:%0a%0aAttach:connectbot-hosts-never-connected.png%0a%0aWhen a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check [[Ircnow.SSHFingerprints/the SSH fingerprints]], then tap @@Yes@@ if they match.%0a%0aAttach:connectbot-check-fingerprints.png%0a%0a'''WARNING''': If the fingerprints do not match, tap @@No@@ and do '''not''' connect. Please contact your sysadmin for help.%0a%0aFill in the password field at the bottom of the screen.%0a%0aAttach:connectbot-password.png%0a%0aYou are now connected.%0a%0aAttach:connectbot-login-success.png%0a%0aFor better security and convenience, learn [[ConnectBot/keys|how to connect with SSH keys]].%0a +time=1628699653 +title=Connect with Connectbot +author:1628699653=jrmu +diff:1628699653:1628699545:=42,43d41%0a%3c %0a%3c For better security and convenience, learn [[ConnectBot/keys|how to connect with SSH keys]].%0a +host:1628699653=38.87.162.8 +author:1628699545=jrmu +diff:1628699545:1628699364:=34,35d33%0a%3c %0a%3c Fill in the password field at the bottom of the screen.%0a +host:1628699545=38.87.162.8 +author:1628699364=jrmu +diff:1628699364:1628699236:=29,30c29,30%0a%3c When a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check [[Ircnow.SSHFingerprints/the SSH fingerprints]], then tap @@Yes@@ if they match.%0a%3c %0a---%0a> When a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check to make sure [[Ircnow.SSHFingerprints/the SSH fingerprints]] match.%0a> %0a33c33%0a%3c '''WARNING''': If the fingerprints do not match, tap @@No@@ and do '''not''' connect. Please contact your sysadmin for help.%0a---%0a> '''WARNING''': If the fingerprints do not match, do '''not''' connect. Please contact your sysadmin for help.%0a +host:1628699364=38.87.162.8 +author:1628699236=jrmu +diff:1628699236:1628660310:=22,23d21%0a%3c %0a%3c Tap on the back arrow at the top left corner.%0a +host:1628699236=38.87.162.8 +author:1628660310=jrmu +diff:1628660310:1628660107:=34,37d33%0a%3c %0a%3c You are now connected.%0a%3c %0a%3c Attach:connectbot-login-success.png%0a +host:1628660310=38.87.162.8 +author:1628660107=jrmu +diff:1628660107:1628660070:=27c27%0a%3c When a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check to make sure [[Ircnow.SSHFingerprints/the SSH fingerprints]] match.%0a---%0a> When a connection is first made, Connectbot will ask if the SSH fingerprints are correct. Double check to make sure [[Ircnow.SSHFingerprints/the SSH fingerprints]] match.%0a +host:1628660107=38.87.162.8 +author:1628660070=jrmu +diff:1628660070:1628659748:=14,15d13%0a%3c %0a%3c Edit three fields:%0a +host:1628660070=38.87.162.8 +author:1628659748=jrmu +diff:1628659748:1628659608:= +host:1628659748=38.87.162.8 +author:1628659608=jrmu +diff:1628659608:1628659608:=1,31d0%0a%3c (:title Connect with Connectbot:)%0a%3c %0a%3c First, install Connectbot from [[Fdroid/Install|F-droid]].%0a%3c %0a%3c '''NOTE''': Although Connectbot is also available on [[https://play.google.com/store/apps/details?id=org.connectbot&hl=en_US&gl=US|Google Play]], it is outdated. Google Play is not free software nor does it respect user data.%0a%3c %0a%3c Open Connectbot:%0a%3c %0a%3c Attach:connectbot-no-hosts.png%0a%3c %0a%3c Tap the + plus icon at the bottom right corner.%0a%3c %0a%3c Attach:connectbot-edit-host-username.png%0a%3c %0a%3c # @@Protocol@@: @@ssh@@%0a%3c # @@username@hostname port@@: Type in your username, followed by the @ sign, then your server name. For example, if you registered @@username@@ and your server is @@fruit.ircnow.org@@, type in @@username@fruit.ircnow.org@@.%0a%3c # @@Stay connected@@: Toggle this on to reconnect automatically%0a%3c %0a%3c Attach:connectbot-stay-connected.png%0a%3c %0a%3c To connect, tap on the row you just created:%0a%3c %0a%3c Attach:connectbot-hosts-never-connected.png%0a%3c %0a%3c When a connection is first made, Connectbot will ask if the SSH fingerprints are correct. Double check to make sure [[Ircnow.SSHFingerprints/the SSH fingerprints]] match.%0a%3c %0a%3c Attach:connectbot-check-fingerprints.png%0a%3c %0a%3c '''WARNING''': If the fingerprints do not match, do '''not''' connect. Please contact your sysadmin for help.%0a%3c %0a%3c Attach:connectbot-password.png%0a +host:1628659608=38.87.162.8 blob - /dev/null blob + 5582930c99990b21d715a7218cb807aff8b080cd (mode 644) --- /dev/null +++ wiki.d/ConnectBot.Keys @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628661964 +host=38.87.162.8 +name=ConnectBot.Keys +rev=2 +targets=Sshd.Disablepassword +text=(:title Creating SSH keys with Connectbot:)%0a%0a!! Generate Public/Private Key%0a%0aFor additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure. %0a%0aTap on the : menu at the top right corner, then tap @@Manage Pubkeys@@.%0a%0aAttach:connectbot-manage-pubkeys.png%0a%0aTap the + plus icon at the top right corner.%0a%0aAttach:connectbot-pubkey-none.png%0a%0a# @@Nickname@@: Fill in a nickname for the key.%0a# @@Type@@: Here we chose Ed25519.%0a# @@Password@@: '''Optional''': If you leave this blank, you can login without a password. '''WARNING''': If you use a password, write it down and don't forget it. The key becomes worthless if you forget the password!%0a# Check @@Load key on start@@%0a%0aTap @@Generate@@.%0a%0aAttach:connectbot-generate-ed25519.png%0a%0aMove your finger around the purple box randomly.%0a%0aAttach:connectbot-generate-random.png%0a%0aTap on the public key and unlock it.%0a%0aAttach:connectbot-pubkey-password.png%0a%0aTap @@Copy public key@@.%0a%0aAttach:connectbot-pubkeys-copy-public-key.png%0a%0aTap the back arrow button at the top left, then login to your server as before and type in the password.%0a%0aEdit ~/.ssh/authorized_keys and paste in your public key:%0a%0aAttach:connectbot-authorized-keys.png%0a%0aLogout and then login. You should no longer need to type in any password.%0a +time=1628751535 +title=Creating SSH keys with Connectbot +author:1628751535=jrmu +diff:1628751535:1628661964:=23,24d22%0a%3c %0a%3c Move your finger around the purple box randomly.%0a +host:1628751535=38.87.162.8 +author:1628661964=jrmu +diff:1628661964:1628661964:=1,40d0%0a%3c (:title Creating SSH keys with Connectbot:)%0a%3c %0a%3c !! Generate Public/Private Key%0a%3c %0a%3c For additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure. %0a%3c %0a%3c Tap on the : menu at the top right corner, then tap @@Manage Pubkeys@@.%0a%3c %0a%3c Attach:connectbot-manage-pubkeys.png%0a%3c %0a%3c Tap the + plus icon at the top right corner.%0a%3c %0a%3c Attach:connectbot-pubkey-none.png%0a%3c %0a%3c # @@Nickname@@: Fill in a nickname for the key.%0a%3c # @@Type@@: Here we chose Ed25519.%0a%3c # @@Password@@: '''Optional''': If you leave this blank, you can login without a password. '''WARNING''': If you use a password, write it down and don't forget it. The key becomes worthless if you forget the password!%0a%3c # Check @@Load key on start@@%0a%3c %0a%3c Tap @@Generate@@.%0a%3c %0a%3c Attach:connectbot-generate-ed25519.png%0a%3c %0a%3c Attach:connectbot-generate-random.png%0a%3c %0a%3c Tap on the public key and unlock it.%0a%3c %0a%3c Attach:connectbot-pubkey-password.png%0a%3c %0a%3c Tap @@Copy public key@@.%0a%3c %0a%3c Attach:connectbot-pubkeys-copy-public-key.png%0a%3c %0a%3c Tap the back arrow button at the top left, then login to your server as before and type in the password.%0a%3c %0a%3c Edit ~/.ssh/authorized_keys and paste in your public key:%0a%3c %0a%3c Attach:connectbot-authorized-keys.png%0a%3c %0a%3c Logout and then login. You should no longer need to type in any password.%0a +host:1628661964=38.87.162.8 blob - /dev/null blob + 465c126f7eb90d6eecf3979cb6793cd3cd39da06 (mode 644) --- /dev/null +++ wiki.d/ConnectBot.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628659608 +host=38.87.162.8 +name=ConnectBot.RecentChanges +rev=11 +text=* [[ConnectBot/Keys]] . . . August 12, 2021, at 06:58 AM by [[~jrmu]]: [==]%0a* [[ConnectBot/Connect]] . . . August 11, 2021, at 04:34 PM by [[~jrmu]]: [==]%0a +time=1628751535 blob - /dev/null blob + 5f26a8b25304f31f2bcc76e4ad7a3fd759f0add4 (mode 644) --- /dev/null +++ wiki.d/Conversations.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637209459 +host=38.87.162.8 +name=Conversations.Connect +rev=4 +targets=OMEMO.Intro,Fdroid.Install,Xmpp.Xmpp +text=[[https://conversations.im/|Conversations]] is an XMPP client for Android 5.0+. that is free software (GPLv3 license). It makes it easy share images, video, and other files in your chat. It also supports group chat rooms, end-to-end encryption with [[OMEMO/Intro|OMEMO]] and OpenPGP, multi-device sync, and chat history.%0a%0a# To install Conversations, first install [[Fdroid/Install|F-droid]]:\\%0aAttach:conversations-fdroid.png\\%0aAttach:conversations-install.png%0a# Open Conversations.%0a# Tap @@Create new account@@:\\%0aAttach:conversations-welcome.png%0a# Tap @@Use my own provider@@:\\%0aAttach:conversations-createnewaccount.png%0a# Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0aAttach:conversations-registernewaccount.png%0a# You can tap the avatar, or tap @@Skip@@.\\%0aAttach:conversations-publishavatar.png%0a# Your account has been created!\\%0aAttach:conversations-startconversation.png%0a +time=1637429849 +author:1637429849=jrmu +diff:1637429849:1637214574:=11c11%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0a---%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a +host:1637429849=38.87.162.8 +author:1637214574=jrmu +diff:1637214574:1637211817:=3,4c3,9%0a%3c # To install Conversations, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:conversations-fdroid.png\\%0a---%0a> To install Conversations, first install [[Fdroid/Install|F-droid]].%0a> %0a> # Open pidgin:%0a> # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a> # Click on @@Add@@.\\%0a> Attach:conversations-fdroid.png%0a> # Fill in details:\\%0a6,7c11,18%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a---%0a> # Protocol: XMPP%0a> # Username: Fill in your username%0a> # Domain: See the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a> # Password: Fill in your password.%0a> # Check @@Remember password@@.%0a> # Check @@Create this new account on the server@@.%0a> # Click @@Save@@.%0a> # Select the @@Enabled@@ checkbox for your new account.\\%0a9c20%0a%3c # Tap @@Use my own provider@@:\\%0a---%0a> # Choose your username and password:\\%0a11c22%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a---%0a> # Your account has been created!\\%0a13d23%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a15d24%0a%3c # Your account has been created!\\%0a +host:1637214574=38.87.162.8 +author:1637211817=jrmu +diff:1637211817:1637209459:=8c8%0a%3c Attach:conversations-fdroid.png%0a---%0a> Attach:pidgin-welcome.png%0a10c10%0a%3c Attach:conversations-install.png%0a---%0a> Attach:pidgin-modifyaccount.png%0a19c19%0a%3c Attach:conversations-welcome.png%0a---%0a> Attach:pidgin-accounts.png%0a21c21%0a%3c Attach:conversations-createnewaccount.png%0a---%0a> Attach:pidgin-createaccount.png%0a23,25c23%0a%3c Attach:conversations-registernewaccount.png%0a%3c Attach:conversations-publishavatar.png%0a%3c Attach:conversations-startconversation.png%0a---%0a> Attach:pidgin-registrationsuccessful.png%0a +host:1637211817=38.87.162.8 +author:1637209459=jrmu +diff:1637209459:1637209459:=1,23d0%0a%3c [[https://conversations.im/|Conversations]] is an XMPP client for Android 5.0+. that is free software (GPLv3 license). It makes it easy share images, video, and other files in your chat. It also supports group chat rooms, end-to-end encryption with [[OMEMO/Intro|OMEMO]] and OpenPGP, multi-device sync, and chat history.%0a%3c %0a%3c To install Conversations, first install [[Fdroid/Install|F-droid]].%0a%3c %0a%3c # Open pidgin:%0a%3c # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a%3c # Click on @@Add@@.\\%0a%3c Attach:pidgin-welcome.png%0a%3c # Fill in details:\\%0a%3c Attach:pidgin-modifyaccount.png%0a%3c # Protocol: XMPP%0a%3c # Username: Fill in your username%0a%3c # Domain: See the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a%3c # Password: Fill in your password.%0a%3c # Check @@Remember password@@.%0a%3c # Check @@Create this new account on the server@@.%0a%3c # Click @@Save@@.%0a%3c # Select the @@Enabled@@ checkbox for your new account.\\%0a%3c Attach:pidgin-accounts.png%0a%3c # Choose your username and password:\\%0a%3c Attach:pidgin-createaccount.png%0a%3c # Your account has been created!\\%0a%3c Attach:pidgin-registrationsuccessful.png%0a +host:1637209459=38.87.162.8 blob - /dev/null blob + 15933a5a37f2952febf79a5912d6c7dfa8b47b71 (mode 644) --- /dev/null +++ wiki.d/Conversations.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637209459 +host=38.87.162.8 +name=Conversations.RecentChanges +rev=4 +text=* [[Conversations/Connect]] . . . November 20, 2021, at 05:37 PM by [[~jrmu]]: [==]%0a +time=1637429849 blob - /dev/null blob + c4dcb635f7d2fe0855c727f9ee9feed44705d7c4 (mode 644) --- /dev/null +++ wiki.d/Cvs.Anoncvs @@ -0,0 +1,165 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632993970 +host=38.87.162.47 +name=Cvs.Anoncvs +rev=51 +targets=Cvs.Repo,Cvs.Intro,Cvs.Cvsweb +text=This guide assumes you have already [[cvs/repo|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a%0a[@%0a$ mkdir ~/anoncvs%0a$ cd ~/anoncvs%0a$ ftp https://www.openbsd.org/anoncvs.shar%0a$ sh anoncvs.shar%0a@]%0a%0aEdit the first line of ~/Makefile:%0a%0a[@%0aCVSROOT=anoncvs@anoncvs.example.com:/cvs%0a@]%0a%0aReplace anoncvs.example.com with your domain. You want to leave /cvs as-is%0abecause CVS runs inside a chroot jail.%0a%0a[@%0a$ make%0a$ doas useradd -m -d /open/anoncvs -s /open/anoncvssh anoncvs%0a$ doas cp anoncvssh /open/anoncvssh%0a$ doas chmod 4111 /open/anoncvssh%0a@]%0a%0aYou will need to set anoncvs so it has no password. Run @@doas vipw@@%0aand edit the line so it looks like this (except with the uid and gid 1001%0aperhaps changed to another value):%0a%0a[@%0aanoncvs::1001:1001::0:0::/open/anoncvs:/open/anoncvssh%0a@]%0a%0aAdd this to the bottom of /etc/ssh/sshd_config:%0a%0a[@%0aMatch User anoncvs%0a PermitEmptyPasswords yes%0a AllowTcpForwarding no%0a AllowAgentForwarding no%0a X11Forwarding no%0a PermitTTY no%0a@]%0a%0aThen restart sshd:%0a%0a[@%0a$ doas rcctl restart sshd%0a@]%0a%0aRun as root to create the chroot jail:%0a%0a[@%0aexport CVSYNCUSER=$USER%0amkdir /open/anoncvs/cvs%0achown -R $CVSYNCUSER:commit /open/anoncvs/cvs%0achmod -R g+w /open/anoncvs/cvs%0a@]%0a%0aThe person maintaining the cvs archive is $CVSYNCUSER . Replace $USER with the maintainer's username.%0a%0aThe commands below are needed for OpenBSD 6.9 stable:%0a%0a[@%0atouch /open/anoncvs/.hushlogin%0atouch /open/anoncvs/.profile%0amkdir /open/anoncvs/{bin,dev,tmp,usr,var,etc}%0acp /bin/{cat,pwd,rm,sh} /open/anoncvs/bin/%0amknod -m 666 /open/anoncvs/dev/null c 2 2%0amknod -m 666 /open/anoncvs/dev/zero c 2 12%0acp /etc/{hosts,protocols,resolv.conf,services,ttys} /open/anoncvs/etc/%0achmod 444 /open/anoncvs/etc/{hosts,protocols,resolv.conf,services,ttys}%0aln -s /open/anoncvs/tmp /open/anoncvs/var/tmp%0achmod a+rwx /open/anoncvs/tmp%0amkdir /open/anoncvs/usr/{bin,lib}%0acp /usr/bin/cvs /open/anoncvs/usr/bin/%0amkdir /open/anoncvs/usr/libexec%0acp /usr/libexec/ld.so /open/anoncvs/usr/libexec/%0acp /usr/lib/libz.so.5.0 /open/anoncvs/usr/lib/%0acp /usr/lib/libc.so.96.0 /open/anoncvs/usr/lib/%0achown -R root:wheel /open/anoncvs%0a@]%0a%0a(:if false:)%0aThis was recommended by the README in the shar file from OpenBSD's anoncvs instructions, but I found it was unnecessary and potentially leaks system information:%0a%0acp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0acp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a(:ifend:)%0a%0a!! Syncing repos%0a%0aYou now want to sync repos from the committers' CVSROOT to the anoncvs CVSROOT. You want to run this command while logged in as the CVS maintainer:%0a%0a[@%0a$ openrsync -a --delete --rsync-path=openrsync /CVS/ /open/anoncvs/cvs/%0a@]%0a%0aWe will set up a cronjob so the repos are synced daily:%0a%0a[@%0a$ crontab -e%0a@]%0a%0a[@%0a@daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a@]%0a%0a!! Results%0a%0aThe /open/anoncvs/cvs/ directory should look like this:%0a%0a[@%0a# ls -lha /open/anoncvs/cvs%0atotal 28%0adrwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0adrwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0adrwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0adrwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0adrwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0adrwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0adrwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a@]%0a%0a!! Publish SSH fingerprints%0a%0aMake sure to publish your [[https://wiki.ircnow.org/index.php?n=Ssh.Fingerprints|SSH fingerprints]] so users can be certain that the source code was transported securely.%0a%0a!! Test anoncvs%0a%0aYou'll want to [[cvs/intro|test anoncvs]] to make sure it's working.%0a%0aRecommended Reading:%0a%0ahttps://www.openbsd.org/anoncvs.html%0a%0ahttps://www.openbsd.org/anoncvs.shar%0a%0aSee Also:%0a%0a[[Cvs/repo|CVS repo Guide]]%0a[[Cvs/Cvsweb|Cvsweb Guide]]%0a[[Cvs/Intro|CVS Intro]]%0a +time=1634443248 +author:1634443248=jrmu +diff:1634443248:1634192621:=1,2c1,2%0a%3c This guide assumes you have already [[cvs/repo|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a%3c %0a---%0a> This guide assumes you have already [[cvs/commit|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a> %0a141c141%0a%3c [[Cvs/repo|CVS repo Guide]]%0a---%0a> [[Cvs/commit|CVS repo Guide]]%0a +host:1634443248=38.87.162.47 +author:1634192621=jrmu +diff:1634192621:1634192564:=141c141%0a%3c [[Cvs/commit|CVS repo Guide]]%0a---%0a> [[Cvs/Anoncvs|Anoncvs Guide]]%0a +host:1634192621=38.87.162.47 +author:1634192564=jrmu +diff:1634192564:1634192501:=138,143d137%0a%3c %0a%3c See Also:%0a%3c %0a%3c [[Cvs/Anoncvs|Anoncvs Guide]]%0a%3c [[Cvs/Cvsweb|Cvsweb Guide]]%0a%3c [[Cvs/Intro|CVS Intro]]%0a +host:1634192564=38.87.162.47 +author:1634192501=jrmu +diff:1634192501:1634192300:=96c96%0a%3c $ openrsync -a --delete --rsync-path=openrsync /CVS/ /open/anoncvs/cvs/%0a---%0a> $ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a +host:1634192501=38.87.162.47 +author:1634192300=jrmu +diff:1634192300:1634192142:=111c111%0a%3c The /open/anoncvs/cvs/ directory should look like this:%0a---%0a> A sample directory should look like this:%0a +host:1634192300=38.87.162.47 +author:1634192142=jrmu +diff:1634192142:1634191887:=57d56%0a%3c chmod -R g+w /open/anoncvs/cvs%0a109,112c108,113%0a%3c !! Results%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a---%0a> !! Adding Repos%0a> %0a> To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a> %0a> If you have not already done so [[CVS/commit|when creating the CVS repo]] may want to create a new group with commit rights:%0a> %0a114,122c115%0a%3c # ls -lha /open/anoncvs/cvs%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a---%0a> # groupadd commit%0a124a118,146%0a> For each user you want to give commit rights to:%0a> %0a> [@%0a> # usermod -G commit USERNAME%0a> @]%0a> %0a> Replace USERNAME with the committer's user's name.%0a> %0a> You will then want to change group ownership and provide group write permissions:%0a> %0a> [@%0a> # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a> # chmod -R g+w /open/anoncvs/cvs%0a> @]%0a> %0a> A sample directory should look like this:%0a> %0a> [@%0a> # ls -lha /open/anoncvs/cvs%0a> total 28%0a> drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a> drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a> drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a> drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a> drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a> drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a> drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a> @]%0a> %0a128,131d149%0a%3c %0a%3c !! Test anoncvs%0a%3c %0a%3c You'll want to [[cvs/intro|test anoncvs]] to make sure it's working.%0a +host:1634192142=38.87.162.47 +author:1634191887=jrmu +diff:1634191887:1634191709:=95a96%0a> $ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a105a107%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a +host:1634191887=38.87.162.47 +author:1634191709=jrmu +diff:1634191709:1634191633:= +host:1634191709=38.87.162.47 +author:1634191633=jrmu +diff:1634191633:1634190900:=56c56%0a%3c chown -R $CVSYNCUSER:commit /open/anoncvs/cvs%0a---%0a> chown -R $CVSYNCUSER /open/anoncvs/cvs%0a +host:1634191633=38.87.162.47 +author:1634190900=jrmu +diff:1634190900:1634190121:=90,93c90,95%0a%3c !! Syncing repos%0a%3c %0a%3c You now want to sync repos from the committers' CVSROOT to the anoncvs CVSROOT. You want to run this command while logged in as the CVS maintainer:%0a%3c %0a---%0a> !! Adding Repos%0a> %0a> To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a> %0a> If you have not already done so [[CVS/commit|when creating the CVS repo]] may want to create a new group with commit rights:%0a> %0a95,96c97%0a%3c $ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a%3c $ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a---%0a> # groupadd commit%0a99,100c100,101%0a%3c We will set up a cronjob so the repos are synced daily:%0a%3c %0a---%0a> For each user you want to give commit rights to:%0a> %0a102c103%0a%3c $ crontab -e%0a---%0a> # usermod -G commit USERNAME%0a104a106,109%0a> Replace USERNAME with the committer's user's name.%0a> %0a> You will then want to change group ownership and provide group write permissions:%0a> %0a106,107c111,112%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a---%0a> # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a> # chmod -R g+w /open/anoncvs/cvs%0a110,115c115,116%0a%3c !! Adding Repos%0a%3c %0a%3c To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a%3c %0a%3c If you have not already done so [[CVS/commit|when creating the CVS repo]] may want to create a new group with commit rights:%0a%3c %0a---%0a> A sample directory should look like this:%0a> %0a117c118,126%0a%3c # groupadd commit%0a---%0a> # ls -lha /open/anoncvs/cvs%0a> total 28%0a> drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a> drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a> drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a> drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a> drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a> drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a> drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a120,121c129,132%0a%3c For each user you want to give commit rights to:%0a%3c %0a---%0a> !! Syncing repos%0a> %0a> You will want to set up a cronjob:%0a> %0a123c134%0a%3c # usermod -G commit USERNAME%0a---%0a> $ crontab -e%0a126,129d136%0a%3c Replace USERNAME with the committer's user's name.%0a%3c %0a%3c You will then want to change group ownership and provide group write permissions:%0a%3c %0a131,146c138,139%0a%3c # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a%3c # chmod -R g+w /open/anoncvs/cvs%0a%3c @]%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a%3c # ls -lha /open/anoncvs/cvs%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a---%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a +host:1634190900=38.87.162.47 +author:1634190121=jrmu +diff:1634190121:1634190105:=1c1%0a%3c This guide assumes you have already [[cvs/commit|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a---%0a> This guide assumes you have already [[CVS/commit|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a +host:1634190121=38.87.162.47 +author:1634190105=jrmu +diff:1634190105:1634189588:=1,2c1,2%0a%3c This guide assumes you have already [[CVS/commit|created a new CVS root]] and imported repositories. Committers will use the real CVS repo for reading and writing, whereas in this guide, we create an anoncvs mirror for guest read-only access.%0a%3c %0a---%0a> On OpenBSD 6.9 Stable:%0a> %0a61,62d60%0a%3c The commands below are needed for OpenBSD 6.9 stable:%0a%3c %0a94c92%0a%3c If you have not already done so [[CVS/commit|when creating the CVS repo]] may want to create a new group with commit rights:%0a---%0a> You may want to create a new group with commit rights:%0a +host:1634190105=38.87.162.47 +author:1634189588=jrmu +diff:1634189588:1634189402:=54c54%0a%3c export CVSYNCUSER=$USER%0a---%0a> export CVSYNCUSER=USERNAME%0a59c59%0a%3c The person maintaining the cvs archive is $CVSYNCUSER . Replace $USER with the maintainer's username.%0a---%0a> The person maintaining the cvs archive is $CVSYNCUSER . Replace USERNAME with the maintainer's username.%0a +host:1634189588=38.87.162.47 +author:1634189402=jrmu +diff:1634189402:1634186300:=4,5c4,5%0a%3c $ mkdir ~/anoncvs%0a%3c $ cd ~/anoncvs%0a---%0a> $ mkdir ~/cvs%0a> $ cd ~/cvs%0a +host:1634189402=38.87.162.47 +author:1634186300=jrmu +diff:1634186300:1634050252:=127,136c127,128%0a%3c !! Syncing repos%0a%3c %0a%3c You will want to set up a cronjob:%0a%3c %0a%3c [@%0a%3c $ crontab -e%0a%3c @]%0a%3c %0a%3c [@%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /open/anoncvs/cvs/%0a---%0a> !! Cronjob%0a> %0a138c130,132%0a%3c @]%0a---%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /anoncvs/anoncvs/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /var/www/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /anoncvs/anoncvs/cvs/%0a +host:1634186300=38.87.162.47 +author:1634050252=jrmu +diff:1634050252:1634024714:=126,132d125%0a%3c %0a%3c !! Cronjob%0a%3c %0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /anoncvs/anoncvs/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /var/www/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /anoncvs/anoncvs/cvs/%0a +host:1634050252=38.87.162.47 +author:1634024714=jrmu +diff:1634024714:1634024004:=126,129d125%0a%3c %0a%3c !! Publish SSH fingerprints%0a%3c %0a%3c Make sure to publish your [[https://wiki.ircnow.org/index.php?n=Ssh.Fingerprints|SSH fingerprints]] so users can be certain that the source code was transported securely.%0a +host:1634024714=38.87.162.47 +author:1634024004=jrmu +diff:1634024004:1634023610:=110c110%0a%3c # chmod -R g+w /open/anoncvs/cvs%0a---%0a> # chmod g+w /open/anoncvs/cvs%0a +host:1634024004=38.87.162.47 +author:1634023610=jrmu +diff:1634023610:1634022756:=109c109%0a%3c # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a---%0a> # chown -R CVSYNCUSER:USERNAME /open/anoncvs/cvs%0a +host:1634023610=38.87.162.47 +author:1634022756=jrmu +diff:1634022756:1634022658:=110d109%0a%3c # chmod g+w /open/anoncvs/cvs%0a120,124c119,123%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a---%0a> drwxr-xr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a> drwxr-xr-x 9 jrmu commit 512B May 8 11:42 acopm%0a> drwxr-xr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a> drwxr-xr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a> drwxr-xr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a +host:1634022756=38.87.162.47 +author:1634022658=jrmu +diff:1634022658:1634021871:=104,105c104,105%0a%3c Replace USERNAME with the committer's user's name.%0a%3c %0a---%0a> Replace USERNAME with the user's name.%0a> %0a109c109%0a%3c # chown -R CVSYNCUSER:USERNAME /open/anoncvs/cvs%0a---%0a> %0a119,123c119,123%0a%3c drwxr-xr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxr-xr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxr-xr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxr-xr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxr-xr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a---%0a> drwxr-xr-x 3 jrmu jrmu 1.0K Apr 29 06:48 CVSROOT%0a> drwxr-xr-x 9 jrmu jrmu 512B May 8 11:42 acopm%0a> drwxr-xr-x 2 jrmu jrmu 1.0K Aug 26 04:17 botnow%0a> drwxr-xr-x 8 jrmu jrmu 512B May 27 16:57 brogue-ce%0a> drwxr-xr-x 6 jrmu jrmu 512B May 7 06:46 ircnowd%0a +host:1634022658=38.87.162.47 +author:1634021871=jrmu +diff:1634021871:1634020774:=106,107c106,107%0a%3c You will then want to change group ownership and provide group write permissions:%0a%3c %0a---%0a> A sample directory should look like this:%0a> %0a109,114d108%0a%3c %0a%3c @]%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a124a119%0a> %0a +host:1634021871=38.87.162.47 +author:1634020774=jrmu +diff:1634020774:1633797899:=94,104c94,97%0a%3c [@%0a%3c # groupadd commit%0a%3c @]%0a%3c %0a%3c For each user you want to give commit rights to:%0a%3c %0a%3c [@%0a%3c # usermod -G commit USERNAME%0a%3c @]%0a%3c %0a%3c Replace USERNAME with the user's name.%0a---%0a> doas groupadd commit%0a> %0a> A sample directory should look like this:%0a> %0a +host:1634020774=38.87.162.47 +author:1633797899=jrmu +diff:1633797899:1633777408:=93,94d92%0a%3c %0a%3c doas groupadd commit%0a +host:1633797899=38.87.162.47 +author:1633777408=jrmu +diff:1633777408:1633776940:=92,93d91%0a%3c You may want to create a new group with commit rights:%0a%3c %0a107d104%0a%3c %0a +host:1633777408=38.87.162.47 +author:1633776940=jrmu +diff:1633776940:1633776424:=81,83d80%0a%3c (:if false:)%0a%3c This was recommended by the README in the shar file from OpenBSD's anoncvs instructions, but I found it was unnecessary and potentially leaks system information:%0a%3c %0a86d82%0a%3c (:ifend:)%0a +host:1633776940=38.87.162.47 +author:1633776424=jrmu +diff:1633776424:1633775789:=68,69c68,70%0a%3c cp /etc/{hosts,protocols,resolv.conf,services,ttys} /open/anoncvs/etc/%0a%3c chmod 444 /open/anoncvs/etc/{hosts,protocols,resolv.conf,services,ttys}%0a---%0a> cp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0a> cp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a> chmod 444 /open/anoncvs/etc/{group,hosts,passwd,protocols,pwd.db,resolv.conf,services,ttys}%0a80,82d80%0a%3c %0a%3c cp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0a%3c cp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a +host:1633776424=38.87.162.47 +author:1633775789=jrmu +diff:1633775789:1633775117:=55a56%0a> chown $CVSYNCUSER /open/anoncvs%0a +host:1633775789=38.87.162.47 +author:1633775117=jrmu +diff:1633775117:1633663751:=81,98d80%0a%3c @]%0a%3c %0a%3c !! Adding Repos%0a%3c %0a%3c To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a%3c # ls -lha /open/anoncvs/cvs%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxr-xr-x 3 jrmu jrmu 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxr-xr-x 9 jrmu jrmu 512B May 8 11:42 acopm%0a%3c drwxr-xr-x 2 jrmu jrmu 1.0K Aug 26 04:17 botnow%0a%3c drwxr-xr-x 8 jrmu jrmu 512B May 27 16:57 brogue-ce%0a%3c drwxr-xr-x 6 jrmu jrmu 512B May 7 06:46 ircnowd%0a +host:1633775117=38.87.162.47 +author:1633663751=jrmu +diff:1633663751:1633663635:=1,2d0%0a%3c On OpenBSD 6.9 Stable:%0a%3c %0a +host:1633663751=38.87.162.47 +author:1633663635=jrmu +diff:1633663635:1633623510:=20c20%0a%3c $ doas cp anoncvssh /open/anoncvssh%0a---%0a> $ doas cp anoncvssh.o /open/anoncvssh%0a +host:1633663635=38.87.162.47 +author:1633623510=jrmu +diff:1633623510:1633621148:=22,29d21%0a%3c @]%0a%3c %0a%3c You will need to set anoncvs so it has no password. Run @@doas vipw@@%0a%3c and edit the line so it looks like this (except with the uid and gid 1001%0a%3c perhaps changed to another value):%0a%3c %0a%3c [@%0a%3c anoncvs::1001:1001::0:0::/open/anoncvs:/open/anoncvssh%0a +host:1633623510=38.87.162.47 +author:1633621148=jrmu +diff:1633621148:1633621007:=44d43%0a%3c export CVSYNCUSER=USERNAME%0a50c49%0a%3c The person maintaining the cvs archive is $CVSYNCUSER . Replace USERNAME with the maintainer's username.%0a---%0a> The person maintaining the cvs archive is $CVSYNCUSER%0a +host:1633621148=38.87.162.47 +author:1633621007=jrmu +diff:1633621007:1633620633:=71,76d70%0a%3c %0a%3c Recommended Reading:%0a%3c %0a%3c https://www.openbsd.org/anoncvs.html%0a%3c %0a%3c https://www.openbsd.org/anoncvs.shar%0a +host:1633621007=38.87.162.47 +author:1633620633=jrmu +diff:1633620633:1633534701:=19c19%0a%3c $ doas useradd -m -d /open/anoncvs -s /open/anoncvssh anoncvs%0a---%0a> $ doas useradd -m -d /open/anoncvs -s /open/anoncvssh cvs%0a +host:1633620633=38.87.162.47 +author:1633534701=jrmu +diff:1633534701:1633530796:=60d59%0a%3c chmod 444 /open/anoncvs/etc/{group,hosts,passwd,protocols,pwd.db,resolv.conf,services,ttys}%0a +host:1633534701=38.87.162.47 +author:1633530796=jrmu +diff:1633530796:1633530533:=45,46c45%0a%3c chown $CVSYNCUSER /open/anoncvs%0a%3c chown -R $CVSYNCUSER /open/anoncvs/cvs%0a---%0a> chown -R $CVSYNCUSER /open/anoncvs/cvs /open/anoncvs%0a +host:1633530796=38.87.162.47 +author:1633530533=jrmu +diff:1633530533:1633529715:=67d66%0a%3c chown -R root:wheel /open/anoncvs%0a +host:1633530533=38.87.162.47 +author:1633529715=jrmu +diff:1633529715:1633527466:=21d20%0a%3c $ doas chmod 4111 /open/anoncvssh%0a +host:1633529715=38.87.162.47 +author:1633527466=jrmu +diff:1633527466:1633445988:=58,65d57%0a%3c ln -s /open/anoncvs/tmp /open/anoncvs/var/tmp%0a%3c chmod a+rwx /open/anoncvs/tmp%0a%3c mkdir /open/anoncvs/usr/{bin,lib}%0a%3c cp /usr/bin/cvs /open/anoncvs/usr/bin/%0a%3c mkdir /open/anoncvs/usr/libexec%0a%3c cp /usr/libexec/ld.so /open/anoncvs/usr/libexec/%0a%3c cp /usr/lib/libz.so.5.0 /open/anoncvs/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /open/anoncvs/usr/lib/%0a +host:1633527466=38.87.162.47 +author:1633445988=jrmu +diff:1633445988:1633445863:=56,57c56,57%0a%3c cp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0a%3c cp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a---%0a> cp /etc/{group,hosts,passwd,protocols} etc/%0a> cp /etc/{pwd.db,resolv.conf,services,ttys} etc/%0a +host:1633445988=38.87.162.47 +author:1633445863=jrmu +diff:1633445863:1633418034:=54,57d53%0a%3c mknod -m 666 /open/anoncvs/dev/null c 2 2%0a%3c mknod -m 666 /open/anoncvs/dev/zero c 2 12%0a%3c cp /etc/{group,hosts,passwd,protocols} etc/%0a%3c cp /etc/{pwd.db,resolv.conf,services,ttys} etc/%0a58a55,65%0a> %0a> Using mknod, make a dev/null that has the same major/minor numbers as%0a> your /dev/null, and make it mode 666.%0a> %0a> Some shared library systems require a dev/zero created in the same way.%0a> %0a> Fill etc space for the account%0a> cp /etc/{group,hosts,passwd,protocols} etc/%0a> cp /etc/{pwd.db,resolv.conf,services,ttys} etc/%0a> modify these files to suit your idea of system security%0a> %0a +host:1633445863=38.87.162.47 +author:1633418034=jrmu +diff:1633418034:1633417835:=49,54c49,53%0a%3c [@%0a%3c touch /open/anoncvs/.hushlogin%0a%3c touch /open/anoncvs/.profile%0a%3c mkdir /open/anoncvs/{bin,dev,tmp,usr,var,etc}%0a%3c cp /bin/{cat,pwd,rm,sh} /open/anoncvs/bin/%0a%3c @]%0a---%0a> cd /open/anoncvs%0a> touch .hushlogin%0a> touch .profile%0a> mkdir bin dev tmp usr var etc%0a> cp /bin/{cat,pwd,rm,sh} bin/%0a +host:1633418034=38.87.162.47 +author:1633417835=jrmu +diff:1633417835:1633417072:=39,64d38%0a%3c %0a%3c Run as root to create the chroot jail:%0a%3c %0a%3c [@%0a%3c mkdir /open/anoncvs/cvs%0a%3c chown -R $CVSYNCUSER /open/anoncvs/cvs /open/anoncvs%0a%3c @]%0a%3c %0a%3c The person maintaining the cvs archive is $CVSYNCUSER%0a%3c %0a%3c cd /open/anoncvs%0a%3c touch .hushlogin%0a%3c touch .profile%0a%3c mkdir bin dev tmp usr var etc%0a%3c cp /bin/{cat,pwd,rm,sh} bin/%0a%3c %0a%3c Using mknod, make a dev/null that has the same major/minor numbers as%0a%3c your /dev/null, and make it mode 666.%0a%3c %0a%3c Some shared library systems require a dev/zero created in the same way.%0a%3c %0a%3c Fill etc space for the account%0a%3c cp /etc/{group,hosts,passwd,protocols} etc/%0a%3c cp /etc/{pwd.db,resolv.conf,services,ttys} etc/%0a%3c modify these files to suit your idea of system security%0a%3c %0a +host:1633417835=38.87.162.47 +author:1633417072=jrmu +diff:1633417072:1633417002:=13,15d12%0a%3c %0a%3c Replace anoncvs.example.com with your domain. You want to leave /cvs as-is%0a%3c because CVS runs inside a chroot jail.%0a +host:1633417072=38.87.162.47 +author:1633417002=jrmu +diff:1633417002:1633416515:=16,17c16,17%0a%3c $ doas useradd -m -d /open/anoncvs -s /open/anoncvssh cvs%0a%3c $ doas cp anoncvssh.o /open/anoncvssh%0a---%0a> $ doas useradd -m -d /home/cvs -s /home/cvs/anoncvssh cvs%0a> $ doas cp anoncvssh.o /home/cvs/anoncvssh%0a +host:1633417002=38.87.162.47 +author:1633416515=jrmu +diff:1633416515:1633415486:=18,34d17%0a%3c @]%0a%3c %0a%3c Add this to the bottom of /etc/ssh/sshd_config:%0a%3c %0a%3c [@%0a%3c Match User anoncvs%0a%3c PermitEmptyPasswords yes%0a%3c AllowTcpForwarding no%0a%3c AllowAgentForwarding no%0a%3c X11Forwarding no%0a%3c PermitTTY no%0a%3c @]%0a%3c %0a%3c Then restart sshd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart sshd%0a +host:1633416515=38.87.162.47 +author:1633415486=jrmu +diff:1633415486:1633414292:=6,14d5%0a%3c @]%0a%3c %0a%3c Edit the first line of ~/Makefile:%0a%3c %0a%3c [@%0a%3c CVSROOT=anoncvs@anoncvs.example.com:/cvs%0a%3c @]%0a%3c %0a%3c [@%0a17a9,12%0a> %0a> In /home/jrmu/Makefile:%0a> %0a> CVSROOT=anoncvs@anoncvs.ircnow.org:/cvs%0a +host:1633415486=38.87.162.47 +author:1633414292=jrmu +diff:1633414292:1633005758:=0a1,2%0a> In ~/%0a> %0a2,3d3%0a%3c $ mkdir ~/cvs%0a%3c $ cd ~/cvs%0a7,12c7,8%0a%3c $ doas useradd -m -d /home/cvs -s /home/cvs/anoncvssh cvs%0a%3c $ doas cp anoncvssh.o /home/cvs/anoncvssh%0a%3c %0a%3c In /home/jrmu/Makefile:%0a%3c %0a%3c CVSROOT=anoncvs@anoncvs.ircnow.org:/cvs%0a---%0a> $ doas cp anoncvssh.o /usr/local/bin/anoncvssh%0a> $ doas useradd -m -d /home/cvs -s /usr/local/bin/anoncvssh cvs%0a +host:1633414292=38.87.162.47 +author:1633005758=jrmu +diff:1633005758:1632993970:=8d7%0a%3c $ doas useradd -m -d /home/cvs -s /usr/local/bin/anoncvssh cvs%0a +host:1633005758=38.87.162.47 +author:1632993970=jrmu +diff:1632993970:1632993970:=1,8d0%0a%3c In ~/%0a%3c %0a%3c [@%0a%3c $ ftp https://www.openbsd.org/anoncvs.shar%0a%3c $ sh anoncvs.shar%0a%3c $ make%0a%3c $ doas cp anoncvssh.o /usr/local/bin/anoncvssh%0a%3c @]%0a +host:1632993970=38.87.162.47 blob - /dev/null blob + ac07a4703da154be43a45fd4865d8ca79bba2563 (mode 644) --- /dev/null +++ wiki.d/Cvs.Commit @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634143265 +host=38.87.162.47 +name=Cvs.Commit +rev=10 +targets=Cvs.Anoncvs,Cvs.Cvsweb,Cvs.Intro +text=(:redirect cvs.repo:)%0aThis guide explains how to create a CVS repository for committers.%0a%0a!! Create commit group%0a%0aFirst, you may want to create a new group with commit rights:%0a%0a[@%0a$ doas groupadd commit%0a@]%0a%0aFor each user you want to give commit rights to:%0a%0a[@%0a$ doas usermod -G commit $USER%0a@]%0a%0aReplace $USER with the committer's user's name.%0a%0a!! Setting CVSROOT%0a%0aBefore we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a%0aYou can set it for just the current shell:%0a%0a[@%0a$ export CVSROOT=/path/to/CVS%0a@]%0a%0aReplace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a%0a[@%0a$ export CVSROOT=/CVS%0a@]%0a%0aAs a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%0a[@%0a$ echo 'CVSROOT="/CVS"' >> ~/.profile%0a@]%0a%0aOnce CVSROOT is set, you can then omit the -d argument when working with cvs.%0a%0a!! Create new repo%0a%0aTo create a new CVS repository, type:%0a%0a[@%0a$ doas mkdir $CVSROOT%0a$ doas chown $USER:commit $CVSROOT%0a$ cvs init%0a@]%0a%0aReplace @@$USER@@ with the maintainer of CVSROOT.%0a%0a!! Import New Module%0a%0aIf you have existing code that you'd like to import to a CVS repository, first change%0ato the folder containing the source code, then type:%0a%0a[@%0a$ cvs import reponame vendortag releasetag%0a@]%0a%0aReplace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%0aFor example:%0a%0a[@%0a$ cd ~/ircnowd/%0a$ cvs import ircnowd ircnow start%0a@]%0a%0a'''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%0aTo fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%0a[@%0a$ cd /path/to/new/directory/%0a$ cvs checkout -P reponame%0a@]%0a%0aReplace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a%0aChange directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a%0a[@%0a$ cd reponame%0a... work on code ...%0a$ cvs commit%0a@]%0a%0aFor example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a%0a[@%0a$ mkdir ~/code/%0a$ cd ~/code/%0a$ cvs checkout -P ircnowd%0a$ cd ~/code/ircnowd/%0a... work on code ...%0a$ cvs commit%0a@]%0a%0aNow, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a%0aIf checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%0a[@%0a$ rm -rf ~/ircnowd/%0a@]%0a%0a!! Granting commit access%0a%0aYou will want to change group ownership and provide group write permissions:%0a%0a[@%0a$ doas chown -R $USER:commit $CVSROOT%0a$ doas chmod -R g+w $CVSROOT%0a@]%0a%0aA sample directory should look like this:%0a%0a[@%0a# ls -lha /CVS%0atotal 28%0adrwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0adrwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0adrwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0adrwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0adrwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0adrwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0adrwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a@]%0a%0aSee Also:%0a%0a[[Cvs/Anoncvs|Anoncvs Guide]]%0a[[Cvs/Cvsweb|Cvsweb Guide]]%0a[[Cvs/Intro|CVS Intro]]%0a +time=1634443091 +author:1634443091=jrmu +diff:1634443091:1634189235:=1d0%0a%3c (:redirect cvs.repo:)%0a +host:1634443091=38.87.162.47 +author:1634189235=jrmu +diff:1634189235:1634188046:=91,103d90%0a%3c %0a%3c For example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a%3c %0a%3c [@%0a%3c $ mkdir ~/code/%0a%3c $ cd ~/code/%0a%3c $ cvs checkout -P ircnowd%0a%3c $ cd ~/code/ircnowd/%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c Now, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a +host:1634189235=38.87.162.47 +author:1634188046=jrmu +diff:1634188046:1634186675:=14c14%0a%3c $ doas usermod -G commit $USER%0a---%0a> $ doas usermod -G commit USERNAME%0a17,18c17,18%0a%3c Replace $USER with the committer's user's name.%0a%3c %0a---%0a> Replace USERNAME with the committer's user's name.%0a> %0a49c49%0a%3c $ doas chown $USER:commit $CVSROOT%0a---%0a> $ doas chown $USERNAME:commit $CVSROOT%0a52,53d51%0a%3c %0a%3c Replace @@$USER@@ with the maintainer of CVSROOT.%0a +host:1634188046=38.87.162.47 +author:1634186675=jrmu +diff:1634186675:1634185528:=117a118,126%0a> %0a> !! Syncing repos with anoncvs%0a> %0a> You'll want%0a> %0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /anoncvs/anoncvs/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /var/www/cvs/%0a> @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /anoncvs/anoncvs/cvs/%0a +host:1634186675=38.87.162.47 +author:1634185528=jrmu +diff:1634185528:1634185234:= +host:1634185528=38.87.162.47 +author:1634185234=jrmu +diff:1634185234:1634184595:=96,99c96,99%0a%3c !! Granting commit access%0a%3c %0a%3c You will want to change group ownership and provide group write permissions:%0a%3c %0a---%0a> !! Checkout code%0a> %0a> In CVS, you '''check out''' a repo to download its files:%0a> %0a101,102c101%0a%3c $ doas chown -R $USER:commit $CVSROOT%0a%3c $ doas chmod -R g+w $CVSROOT%0a---%0a> $ cvs -d anoncvs@example.com:/cvs checkout -P module%0a105,106c104,109%0a%3c A sample directory should look like this:%0a%3c %0a---%0a> You want to replace anoncvs@example.com with the username and hostname for the repo.%0a> %0a> You'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a> %0a> For example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a> %0a108,116c111%0a%3c # ls -lha /CVS%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a---%0a> $ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a119,122c114,362%0a%3c !! Syncing repos with anoncvs%0a%3c %0a%3c You'll want%0a%3c %0a---%0a> The checkout commands produce a copy of the code in the '''working directory'''.%0a> %0a> !! Commit new code%0a> %0a> Once you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a> %0a> When you are ready to commit your code, type:%0a> %0a> [@%0a> $ cvs commit%0a> @]%0a> %0a> You will be given a text editor (usually vi) to leave a commit message.%0a> %0a> To commit and also write the message in a single command, type:%0a> %0a> [@%0a> $ cvs commit -m "Your commit message goes here"%0a> @]%0a> %0a> !! Update code%0a> %0a> To update your working directory with new code from the repository, type:%0a> %0a> [@%0a> $ cvs update%0a> @]%0a> %0a> !! Add new files%0a> %0a> '''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a> %0a> [@%0a> $ cvs add filename%0a> @]%0a> %0a> Replace @@filename@@ with your real filename.%0a> %0a> Then, you must commit your changes with:%0a> %0a> [@%0a> $ cvs commit%0a> @]%0a> %0a> Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a> %0a> !! Remove files%0a> %0a> To remove files from the CVS repo, it is not enough to simply delete them%0a> from the working directory. You will also want to remove them from the CVS repository:%0a> %0a> [@%0a> $ cvs remove filename%0a> @]%0a> %0a> Afterwards, you must commit this change to delete it from the repository:%0a> %0a> [@%0a> $ cvs commit%0a> @]%0a> %0a> !! Setting CVSROOT%0a> %0a> When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a> %0a> You can set it for just the current shell:%0a> %0a> [@%0a> $ export CVSROOT="anoncvs@example.com:/cvs"%0a> @]%0a> %0a> If CVS is local, you can use a file path:%0a> %0a> [@%0a> $ export CVSROOT="/home/username/CVS"%0a> @]%0a> %0a> As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a> %0a> [@%0a> $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a> @]%0a> %0a> Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a> %0a> So the checkout code above becomes more simple:%0a> %0a> [@%0a> $ cvs checkout -P module%0a> @]%0a> %0a> Any time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a> %0a> !! Export code%0a> %0a> Eventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a> %0a> [@%0a> $ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a> @]%0a> %0a> Replace @@YYYYMMDD@@ with the year, month, and day of the version of the repository you want to export. Replace @@module@@ with the module name.%0a> %0a> !! Troubleshooting%0a> %0a> If you see this error message:%0a> %0a> [@%0a> cvs [commit aborted]: received broken pipe signal%0a> @]%0a> %0a> It may be because CVS was waiting for you to connect but your connection took too long. This can happen if you take too long to send a commit message or you take too long to provide passwords for your ssh keys. If this happens, try to find ways to avoid interactive input. For example, you might consider using the -m argument with cvs commit.%0a> %0a> [@%0a> cvs [server aborted]: cannot make directory /var/cvs/module: Permission denied%0a> @]%0a> %0a> This error message means that /var/cvs either doesn't exist or has the wrong permissions. If you're running cvs inside a chroot, check var/cvs inside the chroot. It needs to exist and be owned by the group commit and set to group writeable.%0a> %0a> %0a> %0a> On OpenBSD 6.9 Stable:%0a> %0a> [@%0a> $ mkdir ~/cvs%0a> $ cd ~/cvs%0a> $ ftp https://www.openbsd.org/anoncvs.shar%0a> $ sh anoncvs.shar%0a> @]%0a> %0a> Edit the first line of ~/Makefile:%0a> %0a> [@%0a> CVSROOT=anoncvs@anoncvs.example.com:/cvs%0a> @]%0a> %0a> Replace anoncvs.example.com with your domain. You want to leave /cvs as-is%0a> because CVS runs inside a chroot jail.%0a> %0a> [@%0a> $ make%0a> $ doas useradd -m -d /open/anoncvs -s /open/anoncvssh anoncvs%0a> $ doas cp anoncvssh /open/anoncvssh%0a> $ doas chmod 4111 /open/anoncvssh%0a> @]%0a> %0a> You will need to set anoncvs so it has no password. Run @@doas vipw@@%0a> and edit the line so it looks like this (except with the uid and gid 1001%0a> perhaps changed to another value):%0a> %0a> [@%0a> anoncvs::1001:1001::0:0::/open/anoncvs:/open/anoncvssh%0a> @]%0a> %0a> Add this to the bottom of /etc/ssh/sshd_config:%0a> %0a> [@%0a> Match User anoncvs%0a> PermitEmptyPasswords yes%0a> AllowTcpForwarding no%0a> AllowAgentForwarding no%0a> X11Forwarding no%0a> PermitTTY no%0a> @]%0a> %0a> Then restart sshd:%0a> %0a> [@%0a> $ doas rcctl restart sshd%0a> @]%0a> %0a> Run as root to create the chroot jail:%0a> %0a> [@%0a> export CVSYNCUSER=USERNAME%0a> mkdir /open/anoncvs/cvs%0a> chown -R $CVSYNCUSER /open/anoncvs/cvs%0a> @]%0a> %0a> The person maintaining the cvs archive is $CVSYNCUSER . Replace USERNAME with the maintainer's username.%0a> %0a> [@%0a> touch /open/anoncvs/.hushlogin%0a> touch /open/anoncvs/.profile%0a> mkdir /open/anoncvs/{bin,dev,tmp,usr,var,etc}%0a> cp /bin/{cat,pwd,rm,sh} /open/anoncvs/bin/%0a> mknod -m 666 /open/anoncvs/dev/null c 2 2%0a> mknod -m 666 /open/anoncvs/dev/zero c 2 12%0a> cp /etc/{hosts,protocols,resolv.conf,services,ttys} /open/anoncvs/etc/%0a> chmod 444 /open/anoncvs/etc/{hosts,protocols,resolv.conf,services,ttys}%0a> ln -s /open/anoncvs/tmp /open/anoncvs/var/tmp%0a> chmod a+rwx /open/anoncvs/tmp%0a> mkdir /open/anoncvs/usr/{bin,lib}%0a> cp /usr/bin/cvs /open/anoncvs/usr/bin/%0a> mkdir /open/anoncvs/usr/libexec%0a> cp /usr/libexec/ld.so /open/anoncvs/usr/libexec/%0a> cp /usr/lib/libz.so.5.0 /open/anoncvs/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /open/anoncvs/usr/lib/%0a> chown -R root:wheel /open/anoncvs%0a> @]%0a> %0a> (:if false:)%0a> This was recommended by the README in the shar file from OpenBSD's anoncvs instructions, but I found it was unnecessary and potentially leaks system information:%0a> %0a> cp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0a> cp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a> (:ifend:)%0a> %0a> !! Adding Repos%0a> %0a> To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a> %0a> You may want to create a new group with commit rights:%0a> %0a> [@%0a> # groupadd commit%0a> @]%0a> %0a> For each user you want to give commit rights to:%0a> %0a> [@%0a> # usermod -G commit USERNAME%0a> @]%0a> %0a> Replace USERNAME with the committer's user's name.%0a> %0a> You will then want to change group ownership and provide group write permissions:%0a> %0a> [@%0a> # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a> # chmod -R g+w /open/anoncvs/cvs%0a> @]%0a> %0a> A sample directory should look like this:%0a> %0a> [@%0a> # ls -lha /open/anoncvs/cvs%0a> total 28%0a> drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a> drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a> drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a> drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a> drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a> drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a> drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a> @]%0a> %0a> !! Cronjob%0a> %0a128,132c368,376%0a%3c See Also:%0a%3c %0a%3c [[Cvs/Anoncvs|Anoncvs Guide]]%0a%3c [[Cvs/Cvsweb|Cvsweb Guide]]%0a%3c [[Cvs/Intro|CVS Intro]]%0a---%0a> !! Publish SSH fingerprints%0a> %0a> Make sure to publish your [[https://wiki.ircnow.org/index.php?n=Ssh.Fingerprints|SSH fingerprints]] so users can be certain that the source code was transported securely.%0a> %0a> Recommended Reading:%0a> %0a> https://www.openbsd.org/anoncvs.html%0a> %0a> https://www.openbsd.org/anoncvs.shar%0a +host:1634185234=38.87.162.47 +author:1634184595=jrmu +diff:1634184595:1634177069:=8c8%0a%3c $ doas groupadd commit%0a---%0a> # groupadd commit%0a14c14%0a%3c $ doas usermod -G commit USERNAME%0a---%0a> # usermod -G commit USERNAME%0a19,24c19,22%0a%3c !! Setting CVSROOT%0a%3c %0a%3c Before we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a---%0a> !! Create new repo%0a> %0a> To create a new CVS repository, type:%0a> %0a26c24%0a%3c $ export CVSROOT=/path/to/CVS%0a---%0a> $ cvs -d /path/to/CVS/ init%0a29,30c27,28%0a%3c Replace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a%3c %0a---%0a> Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@/CVS@@. For example:%0a> %0a32c30,32%0a%3c $ export CVSROOT=/CVS%0a---%0a> $ doas mkdir /CVS%0a> $ doas chown $USERNAME:commit /CVS%0a> $ cvs -d /CVS%0a35,36c35,39%0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a---%0a> !! Import New Module%0a> %0a> If you have existing code that you'd like to import to a CVS repository, first change%0a> to the folder containing the source code, then type:%0a> %0a38c41%0a%3c $ echo 'CVSROOT="/CVS"' >> ~/.profile%0a---%0a> $ cvs import reponame vendortag releasetag%0a41,46c44,47%0a%3c Once CVSROOT is set, you can then omit the -d argument when working with cvs.%0a%3c %0a%3c !! Create new repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a---%0a> Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a> %0a> For example:%0a> %0a48,50c49,50%0a%3c $ doas mkdir $CVSROOT%0a%3c $ doas chown $USERNAME:commit $CVSROOT%0a%3c $ cvs init%0a---%0a> $ cd ~/ircnowd/%0a> $ cvs import ircnowd ircnow start%0a53,57c53,56%0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a---%0a> '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a> %0a> To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a> %0a59c58%0a%3c $ cvs import reponame vendortag releasetag%0a---%0a> $ cvs -d /path/to/CVS/ checkout -P reponame%0a62,94c61,69%0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a%3c @]%0a%3c %0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a%3c [@%0a%3c $ cd /path/to/new/directory/%0a%3c $ cvs checkout -P reponame%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a%3c %0a%3c Change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a%3c %0a%3c [@%0a%3c $ cd reponame%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%3c %0a%3c [@%0a%3c $ rm -rf ~/ircnowd/%0a%3c @]%0a---%0a> Replace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a> %0a> If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a> %0a> %0a> !! Checkout code%0a> %0a> In CVS, you '''check out''' a repo to download its files:%0a> %0a +host:1634184595=38.87.162.47 +author:1634177069=jrmu +diff:1634177069:1634176941:=3,6c3,6%0a%3c !! Create commit group%0a%3c %0a%3c First, you may want to create a new group with commit rights:%0a%3c %0a---%0a> !! Create New Repo%0a> %0a> To create a new CVS repository, type:%0a> %0a8c8%0a%3c # groupadd commit%0a---%0a> $ cvs -d /path/to/CVS/ init%0a11,12c11,12%0a%3c For each user you want to give commit rights to:%0a%3c %0a---%0a> Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@/CVS@@. For example:%0a> %0a14,31c14,16%0a%3c # usermod -G commit USERNAME%0a%3c @]%0a%3c %0a%3c Replace USERNAME with the committer's user's name.%0a%3c %0a%3c !! Create new repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a%3c [@%0a%3c $ cvs -d /path/to/CVS/ init%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@/CVS@@. For example:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /CVS%0a%3c $ doas chown $USERNAME:commit /CVS%0a---%0a> $ doas mkdir /CVS%0a> $ doas chown %0a> $ cvs -d /CVS%0a +host:1634177069=38.87.162.47 +author:1634176941=jrmu +diff:1634176941:1634143265:=3,6c3,6%0a%3c !! Create New Repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a---%0a> !! Checkout code%0a> %0a> In CVS, you '''check out''' a repo to download its files:%0a> %0a8c8%0a%3c $ cvs -d /path/to/CVS/ init%0a---%0a> $ cvs -d anoncvs@example.com:/cvs checkout -P module%0a11,12c11,16%0a%3c Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@/CVS@@. For example:%0a%3c %0a---%0a> You want to replace anoncvs@example.com with the username and hostname for the repo.%0a> %0a> You'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a> %0a> For example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a> %0a14,16c18%0a%3c $ doas mkdir /CVS%0a%3c $ doas chown %0a%3c $ cvs -d /CVS%0a---%0a> $ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a19,23c21,28%0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a---%0a> The checkout commands produce a copy of the code in the '''working directory'''.%0a> %0a> !! Commit new code%0a> %0a> Once you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a> %0a> When you are ready to commit your code, type:%0a> %0a25c30%0a%3c $ cvs import reponame vendortag releasetag%0a---%0a> $ cvs commit%0a28,31c33,36%0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> You will be given a text editor (usually vi) to leave a commit message.%0a> %0a> To commit and also write the message in a single command, type:%0a> %0a33,34c38%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a---%0a> $ cvs commit -m "Your commit message goes here"%0a37,40c41,44%0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a---%0a> !! Update code%0a> %0a> To update your working directory with new code from the repository, type:%0a> %0a42c46%0a%3c $ cvs -d /path/to/CVS/ checkout -P reponame%0a---%0a> $ cvs update%0a45,53c49,52%0a%3c Replace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%3c %0a%3c %0a%3c !! Checkout code%0a%3c %0a%3c In CVS, you '''check out''' a repo to download its files:%0a%3c %0a---%0a> !! Add new files%0a> %0a> '''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a> %0a55c54%0a%3c $ cvs -d anoncvs@example.com:/cvs checkout -P module%0a---%0a> $ cvs add filename%0a58,63c57,60%0a%3c You want to replace anoncvs@example.com with the username and hostname for the repo.%0a%3c %0a%3c You'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a%3c %0a%3c For example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a%3c %0a---%0a> Replace @@filename@@ with your real filename.%0a> %0a> Then, you must commit your changes with:%0a> %0a65c62%0a%3c $ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a---%0a> $ cvs commit%0a68,75c65,71%0a%3c The checkout commands produce a copy of the code in the '''working directory'''.%0a%3c %0a%3c !! Commit new code%0a%3c %0a%3c Once you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a%3c %0a%3c When you are ready to commit your code, type:%0a%3c %0a---%0a> Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a> %0a> !! Remove files%0a> %0a> To remove files from the CVS repo, it is not enough to simply delete them%0a> from the working directory. You will also want to remove them from the CVS repository:%0a> %0a77c73%0a%3c $ cvs commit%0a---%0a> $ cvs remove filename%0a80,83c76,77%0a%3c You will be given a text editor (usually vi) to leave a commit message.%0a%3c %0a%3c To commit and also write the message in a single command, type:%0a%3c %0a---%0a> Afterwards, you must commit this change to delete it from the repository:%0a> %0a85c79%0a%3c $ cvs commit -m "Your commit message goes here"%0a---%0a> $ cvs commit%0a88,91c82,87%0a%3c !! Update code%0a%3c %0a%3c To update your working directory with new code from the repository, type:%0a%3c %0a---%0a> !! Setting CVSROOT%0a> %0a> When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a> %0a> You can set it for just the current shell:%0a> %0a93c89%0a%3c $ cvs update%0a---%0a> $ export CVSROOT="anoncvs@example.com:/cvs"%0a96,99c92,93%0a%3c !! Add new files%0a%3c %0a%3c '''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a%3c %0a---%0a> If CVS is local, you can use a file path:%0a> %0a101c95%0a%3c $ cvs add filename%0a---%0a> $ export CVSROOT="/home/username/CVS"%0a104,107c98,99%0a%3c Replace @@filename@@ with your real filename.%0a%3c %0a%3c Then, you must commit your changes with:%0a%3c %0a---%0a> As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a> %0a109c101%0a%3c $ cvs commit%0a---%0a> $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a112,118c104,107%0a%3c Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a%3c %0a%3c !! Remove files%0a%3c %0a%3c To remove files from the CVS repo, it is not enough to simply delete them%0a%3c from the working directory. You will also want to remove them from the CVS repository:%0a%3c %0a---%0a> Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a> %0a> So the checkout code above becomes more simple:%0a> %0a120c109%0a%3c $ cvs remove filename%0a---%0a> $ cvs checkout -P module%0a123,124c112,117%0a%3c Afterwards, you must commit this change to delete it from the repository:%0a%3c %0a---%0a> Any time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a> %0a> !! Create New Repo%0a> %0a> To create a new CVS repository, type:%0a> %0a126c119%0a%3c $ cvs commit%0a---%0a> $ cvs -d /path/to/CVS/ init%0a129,134c122,128%0a%3c !! Setting CVSROOT%0a%3c %0a%3c When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a---%0a> Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a> %0a> !! Import New Module%0a> %0a> If you have existing code that you'd like to import to a CVS repository, first change%0a> to the folder containing the source code, then type:%0a> %0a136c130%0a%3c $ export CVSROOT="anoncvs@example.com:/cvs"%0a---%0a> $ cvs import reponame vendortag releasetag%0a139,140c133,136%0a%3c If CVS is local, you can use a file path:%0a%3c %0a---%0a> Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a> %0a> For example:%0a> %0a142c138,139%0a%3c $ export CVSROOT="/home/username/CVS"%0a---%0a> $ cd ~/ircnowd/%0a> $ cvs import ircnowd ircnow start%0a145,146c142,145%0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a---%0a> '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a> %0a> To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a> %0a148c147%0a%3c $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a---%0a> $ cvs -d /path/to/CVS/ checkout -P reponame%0a151,154c150,157%0a%3c Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a%3c %0a%3c So the checkout code above becomes more simple:%0a%3c %0a---%0a> Replace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a> %0a> If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a> %0a> !! Export code%0a> %0a> Eventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a> %0a156c159%0a%3c $ cvs checkout -P module%0a---%0a> $ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a159,168d161%0a%3c Any time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a%3c %0a%3c !! Export code%0a%3c %0a%3c Eventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a%3c @]%0a%3c %0a186,330d178%0a%3c %0a%3c %0a%3c %0a%3c On OpenBSD 6.9 Stable:%0a%3c %0a%3c [@%0a%3c $ mkdir ~/cvs%0a%3c $ cd ~/cvs%0a%3c $ ftp https://www.openbsd.org/anoncvs.shar%0a%3c $ sh anoncvs.shar%0a%3c @]%0a%3c %0a%3c Edit the first line of ~/Makefile:%0a%3c %0a%3c [@%0a%3c CVSROOT=anoncvs@anoncvs.example.com:/cvs%0a%3c @]%0a%3c %0a%3c Replace anoncvs.example.com with your domain. You want to leave /cvs as-is%0a%3c because CVS runs inside a chroot jail.%0a%3c %0a%3c [@%0a%3c $ make%0a%3c $ doas useradd -m -d /open/anoncvs -s /open/anoncvssh anoncvs%0a%3c $ doas cp anoncvssh /open/anoncvssh%0a%3c $ doas chmod 4111 /open/anoncvssh%0a%3c @]%0a%3c %0a%3c You will need to set anoncvs so it has no password. Run @@doas vipw@@%0a%3c and edit the line so it looks like this (except with the uid and gid 1001%0a%3c perhaps changed to another value):%0a%3c %0a%3c [@%0a%3c anoncvs::1001:1001::0:0::/open/anoncvs:/open/anoncvssh%0a%3c @]%0a%3c %0a%3c Add this to the bottom of /etc/ssh/sshd_config:%0a%3c %0a%3c [@%0a%3c Match User anoncvs%0a%3c PermitEmptyPasswords yes%0a%3c AllowTcpForwarding no%0a%3c AllowAgentForwarding no%0a%3c X11Forwarding no%0a%3c PermitTTY no%0a%3c @]%0a%3c %0a%3c Then restart sshd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart sshd%0a%3c @]%0a%3c %0a%3c Run as root to create the chroot jail:%0a%3c %0a%3c [@%0a%3c export CVSYNCUSER=USERNAME%0a%3c mkdir /open/anoncvs/cvs%0a%3c chown -R $CVSYNCUSER /open/anoncvs/cvs%0a%3c @]%0a%3c %0a%3c The person maintaining the cvs archive is $CVSYNCUSER . Replace USERNAME with the maintainer's username.%0a%3c %0a%3c [@%0a%3c touch /open/anoncvs/.hushlogin%0a%3c touch /open/anoncvs/.profile%0a%3c mkdir /open/anoncvs/{bin,dev,tmp,usr,var,etc}%0a%3c cp /bin/{cat,pwd,rm,sh} /open/anoncvs/bin/%0a%3c mknod -m 666 /open/anoncvs/dev/null c 2 2%0a%3c mknod -m 666 /open/anoncvs/dev/zero c 2 12%0a%3c cp /etc/{hosts,protocols,resolv.conf,services,ttys} /open/anoncvs/etc/%0a%3c chmod 444 /open/anoncvs/etc/{hosts,protocols,resolv.conf,services,ttys}%0a%3c ln -s /open/anoncvs/tmp /open/anoncvs/var/tmp%0a%3c chmod a+rwx /open/anoncvs/tmp%0a%3c mkdir /open/anoncvs/usr/{bin,lib}%0a%3c cp /usr/bin/cvs /open/anoncvs/usr/bin/%0a%3c mkdir /open/anoncvs/usr/libexec%0a%3c cp /usr/libexec/ld.so /open/anoncvs/usr/libexec/%0a%3c cp /usr/lib/libz.so.5.0 /open/anoncvs/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /open/anoncvs/usr/lib/%0a%3c chown -R root:wheel /open/anoncvs%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c This was recommended by the README in the shar file from OpenBSD's anoncvs instructions, but I found it was unnecessary and potentially leaks system information:%0a%3c %0a%3c cp /etc/{group,hosts,passwd,protocols} /open/anoncvs/etc/%0a%3c cp /etc/{pwd.db,resolv.conf,services,ttys} /open/anoncvs/etc/%0a%3c (:ifend:)%0a%3c %0a%3c !! Adding Repos%0a%3c %0a%3c To add your repo to anoncvs, copy the folders into /open/anoncvs/cvs.%0a%3c %0a%3c You may want to create a new group with commit rights:%0a%3c %0a%3c [@%0a%3c # groupadd commit%0a%3c @]%0a%3c %0a%3c For each user you want to give commit rights to:%0a%3c %0a%3c [@%0a%3c # usermod -G commit USERNAME%0a%3c @]%0a%3c %0a%3c Replace USERNAME with the committer's user's name.%0a%3c %0a%3c You will then want to change group ownership and provide group write permissions:%0a%3c %0a%3c [@%0a%3c # chown -R CVSYNCUSER:commit /open/anoncvs/cvs%0a%3c # chmod -R g+w /open/anoncvs/cvs%0a%3c @]%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a%3c # ls -lha /open/anoncvs/cvs%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a%3c @]%0a%3c %0a%3c !! Cronjob%0a%3c %0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /anoncvs/anoncvs/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /var/www/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /home/username/CVS/mtctl /anoncvs/anoncvs/cvs/%0a%3c %0a%3c !! Publish SSH fingerprints%0a%3c %0a%3c Make sure to publish your [[https://wiki.ircnow.org/index.php?n=Ssh.Fingerprints|SSH fingerprints]] so users can be certain that the source code was transported securely.%0a%3c %0a%3c Recommended Reading:%0a%3c %0a%3c https://www.openbsd.org/anoncvs.html%0a%3c %0a%3c https://www.openbsd.org/anoncvs.shar%0a +host:1634176941=38.87.162.47 +author:1634143265=jrmu +diff:1634143265:1634143265:=1,178d0%0a%3c This guide explains how to create a CVS repository for committers.%0a%3c %0a%3c !! Checkout code%0a%3c %0a%3c In CVS, you '''check out''' a repo to download its files:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@example.com:/cvs checkout -P module%0a%3c @]%0a%3c %0a%3c You want to replace anoncvs@example.com with the username and hostname for the repo.%0a%3c %0a%3c You'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a%3c %0a%3c For example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a%3c @]%0a%3c %0a%3c The checkout commands produce a copy of the code in the '''working directory'''.%0a%3c %0a%3c !! Commit new code%0a%3c %0a%3c Once you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a%3c %0a%3c When you are ready to commit your code, type:%0a%3c %0a%3c [@%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c You will be given a text editor (usually vi) to leave a commit message.%0a%3c %0a%3c To commit and also write the message in a single command, type:%0a%3c %0a%3c [@%0a%3c $ cvs commit -m "Your commit message goes here"%0a%3c @]%0a%3c %0a%3c !! Update code%0a%3c %0a%3c To update your working directory with new code from the repository, type:%0a%3c %0a%3c [@%0a%3c $ cvs update%0a%3c @]%0a%3c %0a%3c !! Add new files%0a%3c %0a%3c '''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a%3c %0a%3c [@%0a%3c $ cvs add filename%0a%3c @]%0a%3c %0a%3c Replace @@filename@@ with your real filename.%0a%3c %0a%3c Then, you must commit your changes with:%0a%3c %0a%3c [@%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a%3c %0a%3c !! Remove files%0a%3c %0a%3c To remove files from the CVS repo, it is not enough to simply delete them%0a%3c from the working directory. You will also want to remove them from the CVS repository:%0a%3c %0a%3c [@%0a%3c $ cvs remove filename%0a%3c @]%0a%3c %0a%3c Afterwards, you must commit this change to delete it from the repository:%0a%3c %0a%3c [@%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c !! Setting CVSROOT%0a%3c %0a%3c When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="anoncvs@example.com:/cvs"%0a%3c @]%0a%3c %0a%3c If CVS is local, you can use a file path:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="/home/username/CVS"%0a%3c @]%0a%3c %0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a%3c [@%0a%3c $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a%3c @]%0a%3c %0a%3c Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a%3c %0a%3c So the checkout code above becomes more simple:%0a%3c %0a%3c [@%0a%3c $ cvs checkout -P module%0a%3c @]%0a%3c %0a%3c Any time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a%3c %0a%3c !! Create New Repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a%3c [@%0a%3c $ cvs -d /path/to/CVS/ init%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a%3c %0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a%3c [@%0a%3c $ cvs import reponame vendortag releasetag%0a%3c @]%0a%3c %0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a%3c @]%0a%3c %0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a%3c [@%0a%3c $ cvs -d /path/to/CVS/ checkout -P reponame%0a%3c @]%0a%3c %0a%3c Replace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%3c %0a%3c !! Export code%0a%3c %0a%3c Eventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a%3c @]%0a%3c %0a%3c Replace @@YYYYMMDD@@ with the year, month, and day of the version of the repository you want to export. Replace @@module@@ with the module name.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you see this error message:%0a%3c %0a%3c [@%0a%3c cvs [commit aborted]: received broken pipe signal%0a%3c @]%0a%3c %0a%3c It may be because CVS was waiting for you to connect but your connection took too long. This can happen if you take too long to send a commit message or you take too long to provide passwords for your ssh keys. If this happens, try to find ways to avoid interactive input. For example, you might consider using the -m argument with cvs commit.%0a%3c %0a%3c [@%0a%3c cvs [server aborted]: cannot make directory /var/cvs/module: Permission denied%0a%3c @]%0a%3c %0a%3c This error message means that /var/cvs either doesn't exist or has the wrong permissions. If you're running cvs inside a chroot, check var/cvs inside the chroot. It needs to exist and be owned by the group commit and set to group writeable.%0a +host:1634143265=38.87.162.47 blob - /dev/null blob + 079a1861c309dec19ba4691abcdd53aa99b85ba5 (mode 644) --- /dev/null +++ wiki.d/Cvs.Cvsweb @@ -0,0 +1,72 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634191933 +host=38.87.162.47 +name=Cvs.Cvsweb +rev=20 +targets=Openhttpd.Perl +text=[@%0a$ doas pkg_add cvsweb%0a@]%0a%0aAfter installation, make sure to read [[Attach:cvsweb-readme.txt|/usr/local/share/doc/pkg-readmes/cvsweb]]%0a%0aThen we need to set up a chroot for CVSweb in /var/www. You will%0afirst need to install [[openhttpd/perl|perl inside the chroot]]. Afterwards,%0awe run:%0a%0a[@%0acp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} /var/www/usr/bin/%0amkdir -p /var/www/cvs%0achown $USER:commit /var/www/cvs%0a@]%0a%0a!! Sync the repos%0a%0a[@%0a$ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a@]%0a%0aIn crontab -e:%0a%0a[@%0a@daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a@]%0a%0a!! Configuration%0a%0acvsweb assumes it is running chrooted and the configuration file is %0ahard-coded to use /conf/cvsweb/cvsweb.conf. /var/www/conf/cvsweb/cvsweb.conf%0awill serve the repository /var/www/cvs/, which should contain CVSROOT%0aand the module directories.%0a%0aOther repositories, each containing CVSROOT and modules, can%0abe added to the @CVSrepositories array.%0a%0aAdd this to the end of /etc/httpd.conf:%0a%0aserver "example.com" {%0a listen on * port 80%0a location "/cgi-bin/*" {%0a fastcgi%0a root "/"%0a }%0a location match "/" {%0a request rewrite "/cgi-bin/cvsweb"%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a +time=1634441301 +author:1634441301=jrmu +diff:1634441301:1634440762:=46,48d45%0a%3c }%0a%3c location match "/" {%0a%3c request rewrite "/cgi-bin/cvsweb"%0a +host:1634441301=38.87.162.47 +author:1634440762=jrmu +diff:1634440762:1634440376:=43c43%0a%3c location "/cgi-bin/*" {%0a---%0a> location "*" {%0a45c45%0a%3c root "/"%0a---%0a> root "/cgi-bin/cvsweb"%0a +host:1634440762=38.87.162.47 +author:1634440376=jrmu +diff:1634440376:1634433111:=43c43%0a%3c location "*" {%0a---%0a> location "/cgi-bin/*" {%0a45c45%0a%3c root "/cgi-bin/cvsweb"%0a---%0a> root "/"%0a +host:1634440376=38.87.162.47 +author:1634433111=jrmu +diff:1634433111:1634228065:= +host:1634433111=38.87.162.47 +author:1634228065=jrmu +diff:1634228065:1634227908:=21,25c21%0a%3c @]%0a%3c %0a%3c In crontab -e:%0a%3c %0a%3c [@%0a---%0a> %0a +host:1634228065=38.87.162.47 +author:1634227908=jrmu +diff:1634227908:1634226689:=13,14d12%0a%3c mkdir -p /var/www/cvs%0a%3c chown $USER:commit /var/www/cvs%0a +host:1634227908=38.87.162.47 +author:1634226689=jrmu +diff:1634226689:1634226104:=11a12,14%0a> mkdir -p /var/www/{tmp,dev}%0a> chown www:daemon /var/www/tmp%0a> touch /var/www/dev/null%0a12a16%0a> cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* /var/www/usr/lib/%0a +host:1634226689=38.87.162.47 +author:1634226104=jrmu +diff:1634226104:1634224398:=49a50%0a> %0a +host:1634226104=38.87.162.47 +author:1634224398=jrmu +diff:1634224398:1634224139:=16a17,24%0a> cp -p /usr/libexec/ld.so /var/www/usr/libexec/%0a> @]%0a> %0a> Enable slowcgi:%0a> %0a> [@%0a> rcctl enable slowcgi%0a> rcctl start slowcgi%0a +host:1634224398=38.87.162.47 +author:1634224139=jrmu +diff:1634224139:1634223274:=12c12%0a%3c mkdir -p /var/www/{tmp,dev}%0a---%0a> mkdir -p /var/www/{tmp,usr,dev}%0a13a14,17%0a> mkdir -p /var/www/usr/libdata/perl5%0a> cd /var/www/usr/libdata/perl5%0a> mkdir -p File IPC Time warnings `arch -s`-openbsd/auto/{Cwd,Fcntl} unicore%0a> %0a14a19%0a> %0a +host:1634224139=38.87.162.47 +author:1634223274=jrmu +diff:1634223274:1634223202:=5c5%0a%3c After installation, make sure to read [[Attach:cvsweb-readme.txt|/usr/local/share/doc/pkg-readmes/cvsweb]]%0a---%0a> After installation, make sure to read [[Attach:cvsweb-readme|/usr/local/share/doc/pkg-readmes/cvsweb]]%0a +host:1634223274=38.87.162.47 +author:1634223202=jrmu +diff:1634223202:1634222803:=5c5%0a%3c After installation, make sure to read [[Attach:cvsweb-readme|/usr/local/share/doc/pkg-readmes/cvsweb]]%0a---%0a> After installation, make sure to read /usr/local/share/doc/pkg-readmes/cvsweb%0a +host:1634223202=38.87.162.47 +author:1634222803=jrmu +diff:1634222803:1634222037:=32,33c32,62%0a%3c !! Sync the repos%0a%3c %0a---%0a> %0a> # Editing cvsweb and cvsweb.conf%0a> # ------------------------------%0a> # The cvsweb program already assumes that it is running chrooted,%0a> # and the location of the configuration file is hardcoded to%0a> # /conf/cvsweb/cvsweb.conf, so usually there is no need to edit%0a> # the cvsweb program itself.%0a> %0a> # By default, /var/www/conf/cvsweb/cvsweb.conf configures one%0a> # repository to be served: /var/www/cvs/, which should contain%0a> # the subdirectory CVSROOT and one or more module directories.%0a> # Additional repositories, each containing their own CVSROOT%0a> # subdirectory, can be added to the @CVSrepositories array.%0a> %0a> # Example httpd.conf(5) for cvsweb%0a> # --------------------------------%0a> # server "domain.tld" {%0a> # listen on * port 80%0a> # #listen on egress tls port 443%0a> #%0a> # #tls {%0a> # #certificate "/etc/ssl/domain.tld_fullchain.pem"%0a> # #key "/etc/ssl/private/domain.tld_private.pem"%0a> # #}%0a> #%0a> # location "/cgi-bin/*" {%0a> # fastcgi%0a> # root "/"%0a> # }%0a> # }%0a> %0a39,63d67%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c cvsweb assumes it is running chrooted and the configuration file is %0a%3c hard-coded to use /conf/cvsweb/cvsweb.conf. /var/www/conf/cvsweb/cvsweb.conf%0a%3c will serve the repository /var/www/cvs/, which should contain CVSROOT%0a%3c and the module directories.%0a%3c %0a%3c Other repositories, each containing CVSROOT and modules, can%0a%3c be added to the @CVSrepositories array.%0a%3c %0a%3c Add this to the end of /etc/httpd.conf:%0a%3c %0a%3c server "example.com" {%0a%3c listen on * port 80%0a%3c location "/cgi-bin/*" {%0a%3c fastcgi%0a%3c root "/"%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c %0a +host:1634222803=38.87.162.47 +author:1634222037=jrmu +diff:1634222037:1634221886:=11a12%0a> cd /var/www%0a14c15,16%0a%3c mkdir -p /var/www/usr/libdata/perl5%0a---%0a> cd /var/www/usr%0a> mkdir -p /var/www/usr/{bin,lib,libdata/perl5,libexec}%0a +host:1634222037=38.87.162.47 +author:1634221886=jrmu +diff:1634221886:1634221568:=24a25,45%0a> %0a> cd /var/www/usr/libdata/perl5%0a> cp -p /usr/libdata/perl5/{Carp,Exporter,Symbol,base,integer,parent}.pm .%0a> cp -p /usr/libdata/perl5/{strict,warnings,vars,constant,utf8}.pm .%0a> cp -p /usr/libdata/perl5/utf8_heavy.pl .%0a> cp -p /usr/libdata/perl5/unicore/Heavy.pl ./unicore/%0a> cp -p /usr/libdata/perl5/File/Basename.pm ./File/%0a> cp -p /usr/libdata/perl5/IPC/Open{2,3}.pm ./IPC/%0a> cp -p /usr/libdata/perl5/Time/Local.pm ./Time/%0a> cp -p /usr/libdata/perl5/warnings/register.pm ./warnings/%0a> cp -p /usr/libdata/perl5/XSLoader.pm .%0a> %0a> %0a> cd /var/www/usr/libdata/perl5/`arch -s`-openbsd%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config.pm .%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config_{git,heavy}.pl .%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/Cwd.pm .%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Cwd/Cwd.so ./auto/Cwd/%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/DynaLoader.pm .%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/Fcntl.pm .%0a> cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Fcntl/Fcntl.so ./auto/Fcntl/%0a +host:1634221886=38.87.162.47 +author:1634221568=jrmu +diff:1634221568:1634221379:=7,9c7%0a%3c Then we need to set up a chroot for CVSweb in /var/www. You will%0a%3c first need to install [[openhttpd/perl|perl inside the chroot]]. Afterwards,%0a%3c we run:%0a---%0a> Then we need to set up a chroot for CVSweb in /var/www. We run this as root:%0a +host:1634221568=38.87.162.47 +author:1634221379=jrmu +diff:1634221379:1634193193:=7,9c7,17%0a%3c Then we need to set up a chroot for CVSweb in /var/www. We run this as root:%0a%3c %0a%3c [@%0a---%0a> Then%0a> %0a> %0a> # In order to make CVSweb operate in a chroot environment, it is%0a> # necessary to copy all of the relevant tools, libraries, and perl modules%0a> # that CVSweb employs into /var/www.%0a> #%0a> # NOTE: You can run this README directly with sh(1).%0a> #%0a> # First, create the basic directory structure:%0a> %0a11,12c19,21%0a%3c mkdir -p /var/www/{tmp,usr,dev}%0a%3c chown www:daemon /var/www/tmp%0a---%0a> mkdir -p tmp usr dev%0a> chown www:www tmp # needs to be writeable for the www user%0a> %0a14c23,25%0a%3c mkdir -p /var/www/usr/{bin,lib,libdata/perl5,libexec}%0a---%0a> mkdir -p bin lib libdata/perl5 libexec%0a> %0a> %0a18,23c29,58%0a%3c touch /var/www/dev/null%0a%3c %0a%3c cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} /var/www/usr/bin/%0a%3c cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* /var/www/usr/lib/%0a%3c cp -p /usr/libexec/ld.so /var/www/usr/libexec/%0a%3c %0a---%0a> # The "annotate" function requires this empty file:%0a> #%0a> # NOTE: You can create an actual null device instead, but that will%0a> # not work if the filesystem is mounted with the nodev option, and%0a> # it is not required for cvsweb.%0a> %0a> cd /var/www/dev%0a> touch null%0a> %0a> # Now, the required binaries:%0a> %0a> cd /var/www/usr/bin%0a> cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} .%0a> %0a> # Next, the libraries that the binaries are linked to:%0a> #%0a> # NOTE: Wildcards will, of course, copy any old, unused libraries that are%0a> # lurking around (for example, from an upgrade):%0a> %0a> %0a> cd /var/www/usr/lib%0a> cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* .%0a> %0a> # Now, the run-time link-editor:%0a> %0a> cd /var/www/usr/libexec%0a> cp -p /usr/libexec/ld.so .%0a> %0a> # And finally, the perl modules:%0a> %0a44,48c79,81%0a%3c @]%0a%3c %0a%3c Enable slowcgi:%0a%3c %0a%3c [@%0a---%0a> %0a> # You also need to enable slowcgi(8):%0a> %0a51d83%0a%3c @]%0a +host:1634221379=38.87.162.47 +author:1634193193=jrmu +diff:1634193193:1634191954:=1,115d0%0a%3c [@%0a%3c $ doas pkg_add cvsweb%0a%3c @]%0a%3c %0a%3c After installation, make sure to read /usr/local/share/doc/pkg-readmes/cvsweb%0a%3c %0a%3c Then%0a%3c %0a%3c %0a%3c # In order to make CVSweb operate in a chroot environment, it is%0a%3c # necessary to copy all of the relevant tools, libraries, and perl modules%0a%3c # that CVSweb employs into /var/www.%0a%3c #%0a%3c # NOTE: You can run this README directly with sh(1).%0a%3c #%0a%3c # First, create the basic directory structure:%0a%3c %0a%3c cd /var/www%0a%3c mkdir -p tmp usr dev%0a%3c chown www:www tmp # needs to be writeable for the www user%0a%3c %0a%3c cd /var/www/usr%0a%3c mkdir -p bin lib libdata/perl5 libexec%0a%3c %0a%3c %0a%3c cd /var/www/usr/libdata/perl5%0a%3c mkdir -p File IPC Time warnings `arch -s`-openbsd/auto/{Cwd,Fcntl} unicore%0a%3c %0a%3c # The "annotate" function requires this empty file:%0a%3c #%0a%3c # NOTE: You can create an actual null device instead, but that will%0a%3c # not work if the filesystem is mounted with the nodev option, and%0a%3c # it is not required for cvsweb.%0a%3c %0a%3c cd /var/www/dev%0a%3c touch null%0a%3c %0a%3c # Now, the required binaries:%0a%3c %0a%3c cd /var/www/usr/bin%0a%3c cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} .%0a%3c %0a%3c # Next, the libraries that the binaries are linked to:%0a%3c #%0a%3c # NOTE: Wildcards will, of course, copy any old, unused libraries that are%0a%3c # lurking around (for example, from an upgrade):%0a%3c %0a%3c %0a%3c cd /var/www/usr/lib%0a%3c cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* .%0a%3c %0a%3c # Now, the run-time link-editor:%0a%3c %0a%3c cd /var/www/usr/libexec%0a%3c cp -p /usr/libexec/ld.so .%0a%3c %0a%3c # And finally, the perl modules:%0a%3c %0a%3c cd /var/www/usr/libdata/perl5%0a%3c cp -p /usr/libdata/perl5/{Carp,Exporter,Symbol,base,integer,parent}.pm .%0a%3c cp -p /usr/libdata/perl5/{strict,warnings,vars,constant,utf8}.pm .%0a%3c cp -p /usr/libdata/perl5/utf8_heavy.pl .%0a%3c cp -p /usr/libdata/perl5/unicore/Heavy.pl ./unicore/%0a%3c cp -p /usr/libdata/perl5/File/Basename.pm ./File/%0a%3c cp -p /usr/libdata/perl5/IPC/Open{2,3}.pm ./IPC/%0a%3c cp -p /usr/libdata/perl5/Time/Local.pm ./Time/%0a%3c cp -p /usr/libdata/perl5/warnings/register.pm ./warnings/%0a%3c cp -p /usr/libdata/perl5/XSLoader.pm .%0a%3c %0a%3c %0a%3c cd /var/www/usr/libdata/perl5/`arch -s`-openbsd%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config.pm .%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/Config_{git,heavy}.pl .%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/Cwd.pm .%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Cwd/Cwd.so ./auto/Cwd/%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/DynaLoader.pm .%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/Fcntl.pm .%0a%3c cp -p /usr/libdata/perl5/`arch -s`-openbsd/auto/Fcntl/Fcntl.so ./auto/Fcntl/%0a%3c %0a%3c # You also need to enable slowcgi(8):%0a%3c %0a%3c rcctl enable slowcgi%0a%3c rcctl start slowcgi%0a%3c %0a%3c %0a%3c # Editing cvsweb and cvsweb.conf%0a%3c # ------------------------------%0a%3c # The cvsweb program already assumes that it is running chrooted,%0a%3c # and the location of the configuration file is hardcoded to%0a%3c # /conf/cvsweb/cvsweb.conf, so usually there is no need to edit%0a%3c # the cvsweb program itself.%0a%3c %0a%3c # By default, /var/www/conf/cvsweb/cvsweb.conf configures one%0a%3c # repository to be served: /var/www/cvs/, which should contain%0a%3c # the subdirectory CVSROOT and one or more module directories.%0a%3c # Additional repositories, each containing their own CVSROOT%0a%3c # subdirectory, can be added to the @CVSrepositories array.%0a%3c %0a%3c # Example httpd.conf(5) for cvsweb%0a%3c # --------------------------------%0a%3c # server "domain.tld" {%0a%3c # listen on * port 80%0a%3c # #listen on egress tls port 443%0a%3c #%0a%3c # #tls {%0a%3c # #certificate "/etc/ssl/domain.tld_fullchain.pem"%0a%3c # #key "/etc/ssl/private/domain.tld_private.pem"%0a%3c # #}%0a%3c #%0a%3c # location "/cgi-bin/*" {%0a%3c # fastcgi%0a%3c # root "/"%0a%3c # }%0a%3c # }%0a%3c %0a +host:1634193193=38.87.162.47 +author:1634191954=jrmu +diff:1634191954:1634191933:=1d0%0a%3c [@%0a3d1%0a%3c %0a5d2%0a%3c @]%0a +host:1634191954=38.87.162.47 +author:1634191933=jrmu +diff:1634191933:1634191933:=1,2d0%0a%3c $ openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a%3c @daily -s /usr/bin/openrsync -a --delete --rsync-path=/usr/bin/openrsync /CVS/ /var/www/cvs/%0a +host:1634191933=38.87.162.47 blob - /dev/null blob + 423a2dc1832789a7b61ac00fe1171b7a468871bd (mode 644) --- /dev/null +++ wiki.d/Cvs.Guide @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=Miniontoby +charset=UTF-8 +csum= +ctime=1632666521 +host=125.231.18.235 +name=Cvs.Guide +rev=1 +targets= +text=Firstly set CVSROOT:%0a%0aif you have the CVS remotely: [@$ export CVSROOT="username@host.org:/home/username/CVS"@]%0a%0aif you have the CVS localy: [@$ export CVSROOT="/home/username/CVS"@]%0a%0aNote: Add that to your .profile, it will help you a lot%0a%0a%0aThen init the CVS: [@$ cvs init@]%0a%0aThen import your files: [@$ cd SOURCEFOLDER; cvs import REPONAME YOURNAME VERSIONNAME@]%0a%0aNote: The VERSIONNAME cannot have a '$.,:;#' in it%0a%0a%0aThen to start, stay inside the SOURCEFOLDER and execute: [@$ cvs checkout REPONAME@]%0a%0aNote: checkout only needed on first time%0a%0a%0aThen cd into REPONAME and make your changes%0a%0aNote: You are allowed to move the checked out folder%0a%0a%0aOnce you are done making changes:%0a%0aCommit the changes: [@$ cvs commit@] (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a%0a%0aThen it depends on if you have it remotely if you need to do some more steps%0a +time=1632666521 +author:1632666521=Miniontoby +diff:1632666521:1632666521:=1,32d0%0a%3c Firstly set CVSROOT:%0a%3c %0a%3c if you have the CVS remotely: [@$ export CVSROOT="username@host.org:/home/username/CVS"@]%0a%3c %0a%3c if you have the CVS localy: [@$ export CVSROOT="/home/username/CVS"@]%0a%3c %0a%3c Note: Add that to your .profile, it will help you a lot%0a%3c %0a%3c %0a%3c Then init the CVS: [@$ cvs init@]%0a%3c %0a%3c Then import your files: [@$ cd SOURCEFOLDER; cvs import REPONAME YOURNAME VERSIONNAME@]%0a%3c %0a%3c Note: The VERSIONNAME cannot have a '$.,:;#' in it%0a%3c %0a%3c %0a%3c Then to start, stay inside the SOURCEFOLDER and execute: [@$ cvs checkout REPONAME@]%0a%3c %0a%3c Note: checkout only needed on first time%0a%3c %0a%3c %0a%3c Then cd into REPONAME and make your changes%0a%3c %0a%3c Note: You are allowed to move the checked out folder%0a%3c %0a%3c %0a%3c Once you are done making changes:%0a%3c %0a%3c Commit the changes: [@$ cvs commit@] (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a%3c %0a%3c %0a%3c Then it depends on if you have it remotely if you need to do some more steps%0a +host:1632666521=125.231.18.235 blob - /dev/null blob + 9ea04629f9b49ba3aade09efcf9a1df23e74faae (mode 644) --- /dev/null +++ wiki.d/Cvs.Intro @@ -0,0 +1,63 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1633619228 +host=38.87.162.47 +name=Cvs.Intro +rev=17 +targets=Ircnow.SSHFingerprints +text=!! Checkout code%0a%0aIn CVS, you '''check out''' a repo to download its files:%0a%0a[@%0a$ cvs -d anoncvs@example.com:/cvs checkout -P module%0a@]%0a%0aYou want to replace anoncvs@example.com with the username and hostname for the repo.%0a%0aYou'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a%0aFor example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a%0a[@%0a$ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a@]%0a%0aThe checkout commands produce a copy of the code in the '''working directory'''.%0a%0a!! Commit new code%0a%0aOnce you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a%0aWhen you are ready to commit your code, type:%0a%0a[@%0a$ cvs commit%0a@]%0a%0aYou will be given a text editor (usually vi) to leave a commit message.%0a%0aTo commit and also write the message in a single command, type:%0a%0a[@%0a$ cvs commit -m "Your commit message goes here"%0a@]%0a%0a!! Update code%0a%0aTo update your working directory with new code from the repository, type:%0a%0a[@%0a$ cvs update%0a@]%0a%0a!! Add new files%0a%0a'''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a%0a[@%0a$ cvs add filename%0a@]%0a%0aReplace @@filename@@ with your real filename.%0a%0aThen, you must commit your changes with:%0a%0a[@%0a$ cvs commit%0a@]%0a%0aNote: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a%0a!! Remove files%0a%0aTo remove files from the CVS repo, it is not enough to simply delete them%0afrom the working directory. You will also want to remove them from the CVS repository:%0a%0a[@%0a$ cvs remove filename%0a@]%0a%0aAfterwards, you must commit this change to delete it from the repository:%0a%0a[@%0a$ cvs commit%0a@]%0a%0a!! Setting CVSROOT%0a%0aWhen working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a%0aYou can set it for just the current shell:%0a%0a[@%0a$ export CVSROOT="anoncvs@example.com:/cvs"%0a@]%0a%0aIf CVS is local, you can use a file path:%0a%0a[@%0a$ export CVSROOT="/home/username/CVS"%0a@]%0a%0aAs a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%0a[@%0a$ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a@]%0a%0aOnce CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a%0aSo the checkout code above becomes more simple:%0a%0a[@%0a$ cvs checkout -P module%0a@]%0a%0aAny time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a%0a!! Create New Repo%0a%0aTo create a new CVS repository, type:%0a%0a[@%0a$ cvs -d /path/to/CVS/ init%0a@]%0a%0aReplace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a%0a!! Import New Module%0a%0aIf you have existing code that you'd like to import to a CVS repository, first change%0ato the folder containing the source code, then type:%0a%0a[@%0a$ cvs import reponame vendortag releasetag%0a@]%0a%0aReplace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%0aFor example:%0a%0a[@%0a$ cd ~/ircnowd/%0a$ cvs import ircnowd ircnow start%0a@]%0a%0a'''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%0aTo fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%0a[@%0a$ cvs -d /path/to/CVS/ checkout -P reponame%0a@]%0a%0aReplace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a%0aIf checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%0a!! Export code%0a%0aEventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a%0a[@%0a$ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a@]%0a%0aReplace @@YYYYMMDD@@ with the year, month, and day of the version of the repository you want to export. Replace @@module@@ with the module name.%0a%0a!! Troubleshooting%0a%0aIf you see this error message:%0a%0a[@%0acvs [commit aborted]: received broken pipe signal%0a@]%0a%0aIt may be because CVS was waiting for you to connect but your connection took too long. This can happen if you take too long to send a commit message or you take too long to provide passwords for your ssh keys. If this happens, try to find ways to avoid interactive input. For example, you might consider using the -m argument with cvs commit.%0a%0a[@%0acvs [server aborted]: cannot make directory /var/cvs/module: Permission denied%0a@]%0a%0aThis error message means that /var/cvs either doesn't exist or has the wrong permissions. If you're running cvs inside a chroot, check var/cvs inside the chroot. It needs to exist and be owned by the group commit and set to group writeable.%0a +time=1634140189 +author:1634140189=jrmu +diff:1634140189:1634136984:=154,160d153%0a%3c Eventually, when you are ready to use the code, you want to remove all the CVS-related files. To export code for use:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@example.com:/cvs export -D YYYYMMDD module%0a%3c @]%0a%3c %0a%3c Replace @@YYYYMMDD@@ with the year, month, and day of the version of the repository you want to export. Replace @@module@@ with the module name.%0a +host:1634140189=38.87.162.47 +author:1634136984=jrmu +diff:1634136984:1634102164:=131c131%0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a---%0a> Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the symbolic name of the branch. @@releasetag@@.%0a +host:1634136984=38.87.162.47 +author:1634102164=jrmu +diff:1634102164:1634101789:=140,150c140,147%0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a%3c [@%0a%3c $ cvs -d /path/to/CVS/ checkout -P reponame%0a%3c @]%0a%3c %0a%3c Replace @@reponame@@ with the repository name. Then, change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them.%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a---%0a> '''Note''': that CVS does not automatically convert this directory into %0a> %0a> Then to start, stay inside the SOURCEFOLDER and execute: [@$ cvs checkout REPONAME@]%0a> %0a> Then cd into REPONAME and make your changes%0a> %0a> Note: You are allowed to move the checked out folder%0a> %0a +host:1634102164=38.87.162.47 +author:1634101789=jrmu +diff:1634101789:1634099786:=112,115c112,116%0a%3c !! Create New Repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a---%0a> !! Import New Module%0a> %0a> If you have existing code that you'd like to import to a CVS repository, first change%0a> to the folder containing the source code, then type:%0a> %0a117c118%0a%3c $ cvs -d /path/to/CVS/ init%0a---%0a> $ cvs import reponame vendortag releasetag%0a120,126c121,124%0a%3c Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a%3c %0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a---%0a> Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the tag of the branch (such as 1.1.1). @@releasetag@@.%0a> %0a> For example:%0a> %0a128c126%0a%3c $ cvs import reponame vendortag releasetag%0a---%0a> $ cvs import ircnowd 1.1.1 1.1.1%0a131,134c129,134%0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the symbolic name of the branch. @@releasetag@@.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> Note: versionname cannot have a '$.,:;#' in it%0a> %0a> !! Import New Repo%0a> %0a> To create a new CVS repository, type:%0a> %0a136,137c136%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a---%0a> $ cvs -d /path/to/CVS/ init%0a140,141c139,146%0a%3c '''Note''': that CVS does not automatically convert this directory into %0a%3c %0a---%0a> Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a> %0a> Then, change your directory to the folder with source code you want to import:%0a> %0a> [@%0a> $ cvs import reponame yourname versionname%0a> @]%0a> %0a147d151%0a%3c %0a +host:1634101789=38.87.162.47 +author:1634099786=jrmu +diff:1634099786:1634098969:=118c118%0a%3c $ cvs import reponame vendortag releasetag%0a---%0a> $ cvs import reponame yourname versionname%0a121,127c121%0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the tag of the branch (such as 1.1.1). @@releasetag@@.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cvs import ircnowd 1.1.1 1.1.1%0a%3c @]%0a---%0a> Replace reponame, yourname, and versionname.%0a +host:1634099786=38.87.162.47 +author:1634098969=jrmu +diff:1634098969:1634050145:=130c130%0a%3c $ cvs -d /path/to/CVS/ init%0a---%0a> $ cvs init%0a133,136c133,134%0a%3c Replace @@/path/to/CVS/@@ with where you want the CVS repository to be located. For example, you might put it in @@~/CVS@@.%0a%3c %0a%3c Then, change your directory to the folder with source code you want to import:%0a%3c %0a---%0a> Then, change your directory to the folder with source code and run:%0a> %0a146,147d143%0a%3c %0a%3c !! Export code%0a +host:1634098969=38.87.162.47 +author:1634050145=jrmu +diff:1634050145:1634047728:= +host:1634050145=38.87.162.47 +author:1634047728=jrmu +diff:1634047728:1634028691:=144,160d143%0a%3c %0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you see this error message:%0a%3c %0a%3c [@%0a%3c cvs [commit aborted]: received broken pipe signal%0a%3c @]%0a%3c %0a%3c It may be because CVS was waiting for you to connect but your connection took too long. This can happen if you take too long to send a commit message or you take too long to provide passwords for your ssh keys. If this happens, try to find ways to avoid interactive input. For example, you might consider using the -m argument with cvs commit.%0a%3c %0a%3c [@%0a%3c cvs [server aborted]: cannot make directory /var/cvs/module: Permission denied%0a%3c @]%0a%3c %0a%3c This error message means that /var/cvs either doesn't exist or has the wrong permissions. If you're running cvs inside a chroot, check var/cvs inside the chroot. It needs to exist and be owned by the group commit and set to group writeable.%0a +host:1634047728=38.87.162.47 +author:1634028691=jrmu +diff:1634028691:1634028245:=16c16%0a%3c $ cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a---%0a> cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a112,116c112,115%0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a---%0a> !! Import New Repo%0a> %0a> Then init the CVS:%0a> %0a118c117%0a%3c $ cvs import reponame yourname versionname%0a---%0a> $ cvs init%0a121,138c120,124%0a%3c Replace reponame, yourname, and versionname.%0a%3c %0a%3c Note: versionname cannot have a '$.,:;#' in it%0a%3c %0a%3c !! Import New Repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a%3c [@%0a%3c $ cvs init%0a%3c @]%0a%3c %0a%3c Then, change your directory to the folder with source code and run:%0a%3c %0a%3c [@%0a%3c $ cvs import reponame yourname versionname%0a%3c @]%0a%3c %0a---%0a> Then import your files: [@$ cd SOURCEFOLDER; cvs import REPONAME YOURNAME VERSIONNAME@]%0a> %0a> Note: The VERSIONNAME cannot have a '$.,:;#' in it%0a> %0a> %0a140a127,128%0a> %0a> %0a143a132%0a> %0a +host:1634028691=38.87.162.47 +author:1634028245=jrmu +diff:1634028245:1634028073:=63c63%0a%3c Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ as described in '''Import New Repo'''.%0a---%0a> Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ described below.%0a +host:1634028245=38.87.162.47 +author:1634028073=jrmu +diff:1634028073:1634027029:=39,42c39,44%0a%3c !! Update code%0a%3c %0a%3c To update your working directory with new code from the repository, type:%0a%3c %0a---%0a> !! Setting CVSROOT%0a> %0a> When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a> %0a> You can set it for just the current shell:%0a> %0a44c46%0a%3c $ cvs update%0a---%0a> $ export CVSROOT="anoncvs@example.com:/cvs"%0a47,50c49,50%0a%3c !! Add new files%0a%3c %0a%3c '''WARNING''': If you create a new file in your working directory, it will '''not''' automatically be added to the CVS repository. You must first run:%0a%3c %0a---%0a> If CVS is local, you can use a file path:%0a> %0a52c52%0a%3c $ cvs add filename%0a---%0a> $ export CVSROOT="/home/username/CVS"%0a55,58c55,56%0a%3c Replace @@filename@@ with your real filename.%0a%3c %0a%3c Then, you must commit your changes with:%0a%3c %0a---%0a> As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a> %0a60c58%0a%3c $ cvs commit%0a---%0a> $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a63,69c61,64%0a%3c Note: @@cvs add@@ is only used for adding new files to a module that has already been checked out. If you want to add a new project to the repository, use @@cvs import@@ described below.%0a%3c %0a%3c !! Remove files%0a%3c %0a%3c To remove files from the CVS repo, it is not enough to simply delete them%0a%3c from the working directory. You will also want to remove them from the CVS repository:%0a%3c %0a---%0a> Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a> %0a> So the checkout code above becomes more simple:%0a> %0a71c66%0a%3c $ cvs remove filename%0a---%0a> $ cvs checkout -P module%0a73,110d67%0a%3c %0a%3c Afterwards, you must commit this change to delete it from the repository:%0a%3c %0a%3c [@%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c !! Setting CVSROOT%0a%3c %0a%3c When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="anoncvs@example.com:/cvs"%0a%3c @]%0a%3c %0a%3c If CVS is local, you can use a file path:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="/home/username/CVS"%0a%3c @]%0a%3c %0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a%3c [@%0a%3c $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a%3c @]%0a%3c %0a%3c Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a%3c %0a%3c So the checkout code above becomes more simple:%0a%3c %0a%3c [@%0a%3c $ cvs checkout -P module%0a%3c @]%0a%3c %0a%3c Any time you check out code, the CVSROOT is automatically provided for the code in the working directory. So, it was not necessary to specify the CVSROOT for the commit command.%0a +host:1634028073=38.87.162.47 +author:1634027029=jrmu +diff:1634027029:1634026574:=6c6%0a%3c $ cvs -d anoncvs@example.com:/cvs checkout -P module%0a---%0a> cvs -d anoncvs@example.com:/cvs checkout -P module%0a23,26c23,26%0a%3c Once you checkout a CVS repo, you can edit the code and save your changes. Until you commit your code, however, none of the updates will be saved in the CVS repository. '''WARNING''': Any code that is not committed will not be saved in the CVS repo.%0a%3c %0a%3c When you are ready to commit your code, type:%0a%3c %0a---%0a> Once you checkout a CVS repo, you can edit the code and save your changes. However, until you commit your code, none of the updates will be saved in the CVS repository. Any code that is not committed will be lost if the checkout directory is deleted.%0a> %0a> When you are ready to commit your code (to store it in the repository).%0a> %0a31,38c31,32%0a%3c You will be given a text editor (usually vi) to leave a commit message.%0a%3c %0a%3c To commit and also write the message in a single command, type:%0a%3c %0a%3c [@%0a%3c $ cvs commit -m "Your commit message goes here"%0a%3c @]%0a%3c %0a---%0a> (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a> %0a66c60%0a%3c $ cvs checkout -P module%0a---%0a> cvs checkout -P module%0a +host:1634027029=38.87.162.47 +author:1634026574=jrmu +diff:1634026574:1634026273:=2d1%0a%3c %0a19,20d17%0a%3c The checkout commands produce a copy of the code in the '''working directory'''.%0a%3c %0a27,32d23%0a%3c [@%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a%3c %0a63,70c54,57%0a%3c !! Import New Repo%0a%3c %0a%3c Then init the CVS:%0a%3c %0a%3c [@%0a%3c $ cvs init%0a%3c @]%0a%3c %0a---%0a> !! Import a new CVS repo%0a> %0a> Then init the CVS: [@$ cvs init@]%0a> %0a78,79c65,67%0a%3c %0a%3c %0a---%0a> Note: checkout only needed on first time%0a> %0a> %0a83a72,78%0a> %0a> Once you are done making changes:%0a> %0a> Commit the changes: [@$ cvs commit@] (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a> %0a> %0a> Then it depends on if you have it remotely if you need to do some more steps%0a +host:1634026574=38.87.162.47 +author:1634026273=jrmu +diff:1634026273:1634025492:=1d0%0a%3c !! Checkout code%0a18,19c17,18%0a%3c !! Commit new code%0a%3c %0a---%0a> !! Committing new code%0a> %0a24,25c23,24%0a%3c !! Setting CVSROOT%0a%3c %0a---%0a> !! Settings CVSROOT%0a> %0a44,51d42%0a%3c @]%0a%3c %0a%3c Once CVSROOT is set, you can then omit the -d argument for checking out and committing code.%0a%3c %0a%3c So the checkout code above becomes more simple:%0a%3c %0a%3c [@%0a%3c cvs checkout -P module%0a +host:1634026273=38.87.162.47 +author:1634025492=jrmu +diff:1634025492:1634024206:=9,10c9,10%0a%3c You'll also want to verify the SSH fingerprints. IRCNow publishes a list of known [[ircnow/SSHFingerprints|SSH fingerprints]].%0a%3c %0a---%0a> You'll also want to verify the SSH fingerprints.%0a> %0a17,45c17,25%0a%3c !! Committing new code%0a%3c %0a%3c Once you checkout a CVS repo, you can edit the code and save your changes. However, until you commit your code, none of the updates will be saved in the CVS repository. Any code that is not committed will be lost if the checkout directory is deleted.%0a%3c %0a%3c When you are ready to commit your code (to store it in the repository).%0a%3c %0a%3c !! Settings CVSROOT%0a%3c %0a%3c When working with CVS, it helps to set the CVSROOT, the path where the cvs folders are located:%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="anoncvs@example.com:/cvs"%0a%3c @]%0a%3c %0a%3c If CVS is local, you can use a file path:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT="/home/username/CVS"%0a%3c @]%0a%3c %0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a%3c [@%0a%3c $ echo 'CVSROOT="anoncvs@example.com:/cvs"' >> ~/.profile%0a%3c @]%0a%3c %0a%3c !! Import a new CVS repo%0a---%0a> %0a> Firstly set CVSROOT:%0a> %0a> if you have the CVS remotely: [@$ export CVSROOT="username@host.org:/home/username/CVS"@]%0a> %0a> if you have the CVS localy: [@$ export CVSROOT="/home/username/CVS"@]%0a> %0a> Note: Add that to your .profile, it will help you a lot%0a> %0a +host:1634025492=38.87.162.47 +author:1634024206=jrmu +diff:1634024206:1633619228:=1,2c1%0a%3c In CVS, you '''check out''' a repo to download its files:%0a%3c %0a---%0a> %0a7,10d5%0a%3c You want to replace anoncvs@example.com with the username and hostname for the repo.%0a%3c %0a%3c You'll also want to verify the SSH fingerprints.%0a%3c %0a16,49d10%0a%3c %0a%3c %0a%3c Firstly set CVSROOT:%0a%3c %0a%3c if you have the CVS remotely: [@$ export CVSROOT="username@host.org:/home/username/CVS"@]%0a%3c %0a%3c if you have the CVS localy: [@$ export CVSROOT="/home/username/CVS"@]%0a%3c %0a%3c Note: Add that to your .profile, it will help you a lot%0a%3c %0a%3c %0a%3c Then init the CVS: [@$ cvs init@]%0a%3c %0a%3c Then import your files: [@$ cd SOURCEFOLDER; cvs import REPONAME YOURNAME VERSIONNAME@]%0a%3c %0a%3c Note: The VERSIONNAME cannot have a '$.,:;#' in it%0a%3c %0a%3c %0a%3c Then to start, stay inside the SOURCEFOLDER and execute: [@$ cvs checkout REPONAME@]%0a%3c %0a%3c Note: checkout only needed on first time%0a%3c %0a%3c %0a%3c Then cd into REPONAME and make your changes%0a%3c %0a%3c Note: You are allowed to move the checked out folder%0a%3c %0a%3c %0a%3c Once you are done making changes:%0a%3c %0a%3c Commit the changes: [@$ cvs commit@] (Or if you wait to do it the quick way: [@$ cvs commit -m "COMMITMSG"@])%0a%3c %0a%3c %0a%3c Then it depends on if you have it remotely if you need to do some more steps%0a +host:1634024206=38.87.162.47 +author:1633619228=jrmu +diff:1633619228:1633619228:=1,10d0%0a%3c %0a%3c [@%0a%3c cvs -d anoncvs@example.com:/cvs checkout -P module%0a%3c @]%0a%3c %0a%3c For example, to check out code for ircnowd from anoncvs@anoncvs.ircnow.org, you'd run:%0a%3c %0a%3c [@%0a%3c cvs -d anoncvs@anoncvs.ircnow.org checkout -P ircnowd%0a%3c @]%0a +host:1633619228=125.231.16.237 blob - /dev/null blob + eeafc34a19b16154ddc7cfef433cb5619590b174 (mode 644) --- /dev/null +++ wiki.d/Cvs.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1632666521 +host=38.87.162.47 +name=Cvs.RecentChanges +rev=108 +text=* [[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* [[Cvs/Intro]] . . . October 13, 2021, at 03:49 PM by [[~jrmu]]: [==]%0a* [[Cvs/Guide]] . . . September 26, 2021, at 02:28 PM by [[~Miniontoby]]: [==]%0a +time=1634459530 blob - /dev/null blob + b04d756a93ca91b6202678a450711004e0bc9ada (mode 644) --- /dev/null +++ wiki.d/Cvs.Repo @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634443082 +host=38.87.162.47 +name=Cvs.Repo +rev=9 +targets=Cvs.Anoncvs,Cvs.Cvsweb,Cvs.Intro +text=(:title Create CVS Repo:)%0a%0aThis guide explains how to create a CVS repository.%0a%0a!! Create commit group%0a%0aFirst, you may want to create a new group with commit rights:%0a%0a[@%0a$ doas groupadd commit%0a@]%0a%0aFor each existing user you want to give commit rights to:%0a%0a[@%0a$ doas usermod -G commit $USER%0a@]%0a%0aFor each new user you want to create with commit rights:%0a%0a[@%0a$ doas useradd -G commit $USER%0a@]%0a%0aReplace $USER with the committer's user's name.%0a%0a!! Setting CVSROOT%0a%0aBefore we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a%0aYou can set it for just the current shell:%0a%0a[@%0a$ export CVSROOT=/path/to/CVS%0a@]%0a%0aReplace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a%0a[@%0a$ export CVSROOT=/CVS%0a@]%0a%0aAs a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%0a[@%0a$ echo 'CVSROOT="/CVS"' >> ~/.profile%0a@]%0a%0aOnce CVSROOT is set, log out and log in. From now on, you can omit the -d argument when working with cvs.%0a%0a!! Create new repo%0a%0aTo create a new CVS repository, type:%0a%0a[@%0a$ doas mkdir $CVSROOT%0a$ doas chown $USER:commit $CVSROOT%0a$ cvs init%0a@]%0a%0aReplace @@$USER@@ with the maintainer of CVSROOT.%0a%0a!! Import New Module%0a%0aIf you have existing code that you'd like to import to a CVS repository, first change%0ato the folder containing the source code, then type:%0a%0a[@%0a$ cvs import reponame vendortag releasetag%0a@]%0a%0aReplace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%0aFor example:%0a%0a[@%0a$ cd ~/ircnowd/%0a$ cvs import ircnowd ircnow start%0a@]%0a%0a'''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%0aTo fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%0a[@%0a$ cd /path/to/new/directory/%0a$ cvs checkout -P reponame%0a@]%0a%0aReplace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a%0aChange directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a%0a[@%0a$ cd reponame%0a... work on code ...%0a$ cvs commit%0a@]%0a%0aFor example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a%0a[@%0a$ mkdir ~/code/%0a$ cd ~/code/%0a$ cvs checkout -P ircnowd%0a$ cd ~/code/ircnowd/%0a... work on code ...%0a$ cvs commit%0a@]%0a%0aNow, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a%0aIf checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%0a[@%0a$ rm -rf ~/ircnowd/%0a@]%0a%0a!! Granting commit access%0a%0aYou will want to change group ownership and provide group write permissions:%0a%0a[@%0a$ doas chown -R $USER:commit $CVSROOT%0a$ doas chmod -R g+w $CVSROOT%0a@]%0a%0aA sample directory should look like this:%0a%0a[@%0a# ls -lha /CVS%0atotal 28%0adrwxr-xr-x 7 jrmu commit 512B Oct 9 06:19 .%0adrwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0adrwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0adrwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0adrwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0adrwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0adrwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a@]%0a%0a!! Optional: Prevent Shell Access%0a%0a'''Optional''': If your server is not used to provide shell accounts,%0aand all users who connect via ssh are admins, you can add the following to%0aprevent committers from having shell access:%0a%0aFirst, we create @@/usr/bin/cvs-login.sh@@:%0a%0a[@%0a#!/bin/sh%0a%0aexec /usr/bin/cvs server%0a@]%0a%0aThis simple shell script will be used as the login shell. Any time a committer%0alogs in, cvs will immediately be called.%0a%0aWe set it to be executable:%0a%0a[@%0a$ doas chown root:wheel /usr/bin/cvs-login.sh%0a$ doas chmod +x /usr/bin/cvs-login.sh%0a@]%0a%0aNext, edit @@/etc/ssh/sshd_config@@:%0a%0a[@%0aMatch Group commit,!wheel%0a AllowAgentForwarding no%0a AllowStreamLocalForwarding no%0a DisableForwarding yes%0a PermitListen none%0a PermitOpen none%0a PermitTunnel no%0a PermitUserRC no%0a X11Forwarding no%0a AllowTcpForwarding no%0a PermitTTY no%0a ForceCommand "/usr/bin/cvs-login.sh"%0a@]%0a%0aThis will force all users in the commit group who are not in wheel (not%0aadministrators) to use /usr/bin/cvs-login.sh. Committers therefore never%0aget shell access; they only get cvs access%0a%0aRestart sshd to apply changes:%0a%0a[@%0a$ doas rcctl restart sshd%0a@]%0a%0aSee Also:%0a%0a[[Cvs/Anoncvs|Anoncvs Guide]]%0a[[Cvs/Cvsweb|Cvsweb Guide]]%0a[[Cvs/Intro|CVS Intro]]%0a +time=1634459530 +title=Create CVS Repo +author:1634459530=jrmu +diff:1634459530:1634459459:=162d161%0a%3c $ doas chown root:wheel /usr/bin/cvs-login.sh%0a +host:1634459530=38.87.162.47 +author:1634459459=jrmu +diff:1634459459:1634459339:=155a156,159%0a> [@%0a> $ doas chmod +x /usr/bin/cvs-login.sh%0a> @]%0a> %0a158,163d161%0a%3c %0a%3c We set it to be executable:%0a%3c %0a%3c [@%0a%3c $ doas chmod +x /usr/bin/cvs-login.sh%0a%3c @]%0a +host:1634459459=38.87.162.47 +author:1634459339=jrmu +diff:1634459339:1634459295:=154,157d153%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas chmod +x /usr/bin/cvs-login.sh%0a +host:1634459339=38.87.162.47 +author:1634459295=jrmu +diff:1634459295:1634458599:=142,149c142,143%0a%3c !! Optional: Prevent Shell Access%0a%3c %0a%3c '''Optional''': If your server is not used to provide shell accounts,%0a%3c and all users who connect via ssh are admins, you can add the following to%0a%3c prevent committers from having shell access:%0a%3c %0a%3c First, we create @@/usr/bin/cvs-login.sh@@:%0a%3c %0a---%0a> Edit @@/etc/ssh/sshd_config@@:%0a> %0a151,161d144%0a%3c #!/bin/sh%0a%3c %0a%3c exec /usr/bin/cvs server%0a%3c @]%0a%3c %0a%3c This simple shell script will be used as the login shell. Any time a committer%0a%3c logs in, cvs will immediately be called.%0a%3c %0a%3c Next, edit @@/etc/ssh/sshd_config@@:%0a%3c %0a%3c [@%0a176,181c159,160%0a%3c This will force all users in the commit group who are not in wheel (not%0a%3c administrators) to use /usr/bin/cvs-login.sh. Committers therefore never%0a%3c get shell access; they only get cvs access%0a%3c %0a%3c Restart sshd to apply changes:%0a%3c %0a---%0a> Create @@/usr/bin/cvs-login.sh@@:%0a> %0a183c162,164%0a%3c $ doas rcctl restart sshd%0a---%0a> #!/bin/sh%0a> %0a> exec /usr/bin/cvs server%0a +host:1634459295=38.87.162.47 +author:1634458599=jrmu +diff:1634458599:1634444560:=142,165c142,154%0a%3c Edit @@/etc/ssh/sshd_config@@:%0a%3c %0a%3c [@%0a%3c Match Group commit,!wheel%0a%3c AllowAgentForwarding no%0a%3c AllowStreamLocalForwarding no%0a%3c DisableForwarding yes%0a%3c PermitListen none%0a%3c PermitOpen none%0a%3c PermitTunnel no%0a%3c PermitUserRC no%0a%3c X11Forwarding no%0a%3c AllowTcpForwarding no%0a%3c PermitTTY no%0a%3c ForceCommand "/usr/bin/cvs-login.sh"%0a%3c @]%0a%3c %0a%3c Create @@/usr/bin/cvs-login.sh@@:%0a%3c %0a%3c [@%0a%3c #!/bin/sh%0a%3c %0a%3c exec /usr/bin/cvs server%0a%3c @]%0a---%0a> Match Group cvscommit,!wheel%0a> AllowAgentForwarding no%0a> AllowStreamLocalForwarding no%0a> DisableForwarding yes%0a> PermitListen none%0a> PermitOpen none%0a> PermitTunnel no%0a> PermitUserRC no%0a> X11Forwarding no%0a> AllowTcpForwarding no%0a> PermitTTY no%0a> ForceCommand "/usr/bin/cvs-login.sh"%0a> %0a +host:1634458599=38.87.162.47 +author:1634444560=jrmu +diff:1634444560:1634444286:=13,14c13,14%0a%3c For each existing user you want to give commit rights to:%0a%3c %0a---%0a> For each user you want to give commit rights to:%0a> %0a19,24d18%0a%3c For each new user you want to create with commit rights:%0a%3c %0a%3c [@%0a%3c $ doas useradd -G commit $USER%0a%3c @]%0a%3c %0a141,154d134%0a%3c %0a%3c Match Group cvscommit,!wheel%0a%3c AllowAgentForwarding no%0a%3c AllowStreamLocalForwarding no%0a%3c DisableForwarding yes%0a%3c PermitListen none%0a%3c PermitOpen none%0a%3c PermitTunnel no%0a%3c PermitUserRC no%0a%3c X11Forwarding no%0a%3c AllowTcpForwarding no%0a%3c PermitTTY no%0a%3c ForceCommand "/usr/bin/cvs-login.sh"%0a%3c %0a +host:1634444560=38.87.162.47 +author:1634444286=jrmu +diff:1634444286:1634443872:=127c127%0a%3c drwxr-xr-x 7 jrmu commit 512B Oct 9 06:19 .%0a---%0a> drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a +host:1634444286=38.87.162.47 +author:1634443872=jrmu +diff:1634443872:1634443082:=43c43%0a%3c Once CVSROOT is set, log out and log in. From now on, you can omit the -d argument when working with cvs.%0a---%0a> Once CVSROOT is set, you can then omit the -d argument when working with cvs.%0a +host:1634443872=38.87.162.47 +author:1634443082=jrmu +diff:1634443082:1634443082:=1,140d0%0a%3c (:title Create CVS Repo:)%0a%3c %0a%3c This guide explains how to create a CVS repository.%0a%3c %0a%3c !! Create commit group%0a%3c %0a%3c First, you may want to create a new group with commit rights:%0a%3c %0a%3c [@%0a%3c $ doas groupadd commit%0a%3c @]%0a%3c %0a%3c For each user you want to give commit rights to:%0a%3c %0a%3c [@%0a%3c $ doas usermod -G commit $USER%0a%3c @]%0a%3c %0a%3c Replace $USER with the committer's user's name.%0a%3c %0a%3c !! Setting CVSROOT%0a%3c %0a%3c Before we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT=/path/to/CVS%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT=/CVS%0a%3c @]%0a%3c %0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a%3c [@%0a%3c $ echo 'CVSROOT="/CVS"' >> ~/.profile%0a%3c @]%0a%3c %0a%3c Once CVSROOT is set, you can then omit the -d argument when working with cvs.%0a%3c %0a%3c !! Create new repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a%3c [@%0a%3c $ doas mkdir $CVSROOT%0a%3c $ doas chown $USER:commit $CVSROOT%0a%3c $ cvs init%0a%3c @]%0a%3c %0a%3c Replace @@$USER@@ with the maintainer of CVSROOT.%0a%3c %0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a%3c [@%0a%3c $ cvs import reponame vendortag releasetag%0a%3c @]%0a%3c %0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a%3c @]%0a%3c %0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a%3c [@%0a%3c $ cd /path/to/new/directory/%0a%3c $ cvs checkout -P reponame%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a%3c %0a%3c Change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a%3c %0a%3c [@%0a%3c $ cd reponame%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c For example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a%3c %0a%3c [@%0a%3c $ mkdir ~/code/%0a%3c $ cd ~/code/%0a%3c $ cvs checkout -P ircnowd%0a%3c $ cd ~/code/ircnowd/%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c Now, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%3c %0a%3c [@%0a%3c $ rm -rf ~/ircnowd/%0a%3c @]%0a%3c %0a%3c !! Granting commit access%0a%3c %0a%3c You will want to change group ownership and provide group write permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R $USER:commit $CVSROOT%0a%3c $ doas chmod -R g+w $CVSROOT%0a%3c @]%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a%3c # ls -lha /CVS%0a%3c total 28%0a%3c drwxr-xr-x 7 root wheel 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a%3c @]%0a%3c %0a%3c See Also:%0a%3c %0a%3c [[Cvs/Anoncvs|Anoncvs Guide]]%0a%3c [[Cvs/Cvsweb|Cvsweb Guide]]%0a%3c [[Cvs/Intro|CVS Intro]]%0a +host:1634443082=38.87.162.47 blob - /dev/null blob + 1bc442aa8c254d1f14b2395ebe82e3ce21f3a432 (mode 644) --- /dev/null +++ wiki.d/DNS.DKIM @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622985562 +host=125.231.60.101 +name=DNS.DKIM +rev=14 +targets=PGP.Intro +text=(:title DomainKeys Identified Mail:)%0a%0a!! Introduction%0a%0aDomainKeys Identified Mail (DKIM) is used to detect if an e-mail is spoofed (forged).%0aIt's used to prevent spam and phishing. Signing your mail with DKIM will help%0adetect spam that pretends to come from your domain. It also ensures that your%0aletters pass spam filter checks. Otherwise, letters you send may not end up in the%0ainbox.%0a%0aAn email is signed with a private key. This allows the receiver to check if the email%0acomes from the domain it claims to be from. The receiver looks up the sender's%0apublic key in the domain's DNS record. A valid signature guarantees that the sending%0amail server has access to the private key and that the email body has not been%0atampered with during transit.%0a%0aDKIM, SPF, and DMARC are designed to work together.%0a%0a!! DKIM Header%0a%0aIn our setup, the mail server will sign the message with its private key. Here%0ais what the DKIM header looks like:%0a%0a[@%0aDKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=mail; bh=gVJEBqfjoVwtQhV%0a vV3FHh0UQBW0m9unTpuaaGORFGKI=; h=subject:date:from;%0a d=example.com; b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjg%0a Am5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8jO5O0xMhblyS%0a PbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2tPBa70t9204na8/eOT6N7%0a 8IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5I%0a WREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw8%0a IHJTdENGGL3p7aM1v8wdg==%0a@]%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Tag ||! Indicates ||! Example ||%0a|| v || version || v=1 ||%0a|| a || algorithm || a=rsa-sha256 ||%0a|| d || domain || d=example.com ||%0a|| s || selector || s=mail ||%0a|| c || canonicalization algorithm || c=simple/simple ||%0a|| h || header fields || h=subject:date:from ||%0a|| bh || body hash || bh=gVJEBqfjoVwtQhVvV3FHh0UQBW0m9unTpuaaGORFGKI= ||%0a|| b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rku\\%0aKYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8j\\%0aO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs\\%0a7tS1m8iZo2tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61\\%0at9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5\\%0aIWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR\\%0a2U1ZEQyo7k03KCJbdRVw8IHJTdENGGL3p7aM1v8wdg== ||%0a%0a''Tip'': Many mail clients let you view the mail headers in the email you receive. If you%0adisplay all headers, you can see the DKIM header.%0a%0aA receiving SMTP server will perform a DNS lookup based on the domain name and selector. In the example above, it will look up the TXT record of mail._domainkey.example.com.%0aThis TXT record returned should look like below:%0a%0a[@%0a"k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDmzRmJRQxLEuyYiyMg4suA2Sy%0aMwR5MGHpP9diNT1hRiwUd/mZp1ro7kIDTKS8ttkI6z6eTRW9e9dDOxzSxNuXmume60Cjbu08gOyhPG3%0aGfWdg7QkdN6kR4V75MFlw624VY35DaXBvnlTJTgRg/EW72O1DiYVThkyCgpSYS8nmEQIDAQAB"%0a@]%0a%0a!! Security Notes%0a%0aDKIM-signatures can be used to prove that a mail server sent a letter.%0a%0aNote that DKIM does not provide end-to-end integrity. For this, both sender and receiver will need to use [[PGP/intro|PGP]].%0a%0a!! OpenSMTPd and DKIM%0a%0aFor OpenSMTPd to sign its mail with DKIM, you will need to create a public and private%0aDKIM key:%0a%0a[@%0a$ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a$ openssl genrsa -out private.key 1024%0a$ openssl rsa -in private.key -pubout -out public.key%0a$ chmod og-rwx private.key%0a$ chmod og-wx public.key%0a$ chmod u-w public.key private.key%0a$ doas mkdir /etc/mail/dkim%0a$ doas mv private.key public.key /etc/mail/dkim/%0a$ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a@]%0a%0aWe then create a DKIM record by taking the public key, removing the first and last%0aline, then joining all the lines together:%0a%0a[@%0a$ doas cat /etc/mail/dkim/public.key | awk '/-----/{if (NR!=1)print "";next}{printf $0}' -%0a@]%0a%0aRunning this command on public.key should produce text like the following:%0a%0a[@%0aMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB%0a@]%0a%0aThis key should go into the DKIM DNS records:%0a%0a[@%0a_adsp._domainkey 86400 IN TXT "dkim=discardable;"%0amail._domainkey 86400 IN TXT "k=rsa; t=s; p=%3cpublic key>"%0a@]%0a%0aThe final result should look like this:%0a%0a[@%0a_adsp._domainkey 86400 IN TXT "dkim=discardable;"%0amail._domainkey 86400 IN TXT "k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB"%0a@]%0a +time=1631203235 +title=DomainKeys Identified Mail +author:1631203235=jrmu +diff:1631203235:1624860938:=75a76%0a> $ doas groupadd -v _dkimsign%0a +host:1631203235=125.231.60.101 +author:1624860938=jrmu +diff:1624860938:1623139699:=77c77%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a---%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a85c85%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a---%0a> $ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a +host:1624860938=38.81.163.143 +author:1623139699=jrmu +diff:1623139699:1623139647:=44,50c44,48%0a%3c || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rku\\%0a%3c KYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8j\\%0a%3c O5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs\\%0a%3c 7tS1m8iZo2tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61\\%0a%3c t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5\\%0a%3c IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR\\%0a%3c 2U1ZEQyo7k03KCJbdRVw8IHJTdENGGL3p7aM1v8wdg== ||%0a---%0a> || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ih\\%0a> dcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2\\%0a> tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6Jih\\%0a> bUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw\\%0a> 8IHJTdENGGL3p7aM1v8wdg== ||%0a +host:1623139699=38.81.163.143 +author:1623139647=jrmu +diff:1623139647:1623139560:=44,47c44,47%0a%3c || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ih\\%0a%3c dcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2\\%0a%3c tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6Jih\\%0a%3c bUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw\\%0a---%0a> || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ih%0a> dcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2%0a> tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6Jih%0a> bUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw%0a +host:1623139647=38.81.163.143 +author:1623139560=jrmu +diff:1623139560:1623139495:=44,48c44%0a%3c || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ih%0a%3c dcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2%0a%3c tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6Jih%0a%3c bUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw%0a%3c 8IHJTdENGGL3p7aM1v8wdg== ||%0a---%0a> || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw8IHJTdENGGL3p7aM1v8wdg== ||%0a +host:1623139560=38.81.163.143 +author:1623139495=jrmu +diff:1623139495:1623139427:=36c36%0a%3c ||! Tag ||! Indicates ||! Example ||%0a---%0a> ||! Tag ||! Indicates ||! Example ||! Meaning ||%0a +host:1623139495=38.81.163.143 +author:1623139427=jrmu +diff:1623139427:1623139341:=24d23%0a%3c [@%0a33,36c32,33%0a%3c @]%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Tag ||! Indicates ||! Example ||! Meaning ||%0a---%0a> %0a> || Tag || Indicates || Example || Meaning ||%0a52d48%0a%3c [@%0a56d51%0a%3c @]%0a +host:1623139427=38.81.163.143 +author:1623139341=jrmu +diff:1623139341:1622989300:=1,61c1%0a%3c (:title DomainKeys Identified Mail:)%0a%3c %0a%3c !! Introduction%0a%3c %0a%3c DomainKeys Identified Mail (DKIM) is used to detect if an e-mail is spoofed (forged).%0a%3c It's used to prevent spam and phishing. Signing your mail with DKIM will help%0a%3c detect spam that pretends to come from your domain. It also ensures that your%0a%3c letters pass spam filter checks. Otherwise, letters you send may not end up in the%0a%3c inbox.%0a%3c %0a%3c An email is signed with a private key. This allows the receiver to check if the email%0a%3c comes from the domain it claims to be from. The receiver looks up the sender's%0a%3c public key in the domain's DNS record. A valid signature guarantees that the sending%0a%3c mail server has access to the private key and that the email body has not been%0a%3c tampered with during transit.%0a%3c %0a%3c DKIM, SPF, and DMARC are designed to work together.%0a%3c %0a%3c !! DKIM Header%0a%3c %0a%3c In our setup, the mail server will sign the message with its private key. Here%0a%3c is what the DKIM header looks like:%0a%3c %0a%3c DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=mail; bh=gVJEBqfjoVwtQhV%0a%3c vV3FHh0UQBW0m9unTpuaaGORFGKI=; h=subject:date:from;%0a%3c d=example.com; b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjg%0a%3c Am5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8jO5O0xMhblyS%0a%3c PbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2tPBa70t9204na8/eOT6N7%0a%3c 8IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5I%0a%3c WREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw8%0a%3c IHJTdENGGL3p7aM1v8wdg==%0a%3c %0a%3c || Tag || Indicates || Example || Meaning ||%0a%3c || v || version || v=1 ||%0a%3c || a || algorithm || a=rsa-sha256 ||%0a%3c || d || domain || d=example.com ||%0a%3c || s || selector || s=mail ||%0a%3c || c || canonicalization algorithm || c=simple/simple ||%0a%3c || h || header fields || h=subject:date:from ||%0a%3c || bh || body hash || bh=gVJEBqfjoVwtQhVvV3FHh0UQBW0m9unTpuaaGORFGKI= ||%0a%3c || b || signature || b=Jv/9zpB2AJGosO4/uYlZxFEm1UFOTy56JBi/nhsjgAm5Qe+rkuKYru5mSqvP01ii/sQRI4exNbG/S8ihdcEXsr5fr8yK4IvLkY8jO5O0xMhblySPbFGMw7SW2AwLWu95OyHK5teZPzE/SS5U39Zlqs7tS1m8iZo2tPBa70t9204na8/eOT6N78IzNIfRHJfF4dNGVX61t9xknkcJrJdC6npO0l4MVTky66safTbcCjlM6JihbUd5j4uOU5IWREE02CLQKWg5c/UnjQQ96Dt308f2RvxeWA6P8hxsjD/FLDIR2U1ZEQyo7k03KCJbdRVw8IHJTdENGGL3p7aM1v8wdg== ||%0a%3c %0a%3c ''Tip'': Many mail clients let you view the mail headers in the email you receive. If you%0a%3c display all headers, you can see the DKIM header.%0a%3c %0a%3c A receiving SMTP server will perform a DNS lookup based on the domain name and selector. In the example above, it will look up the TXT record of mail._domainkey.example.com.%0a%3c This TXT record returned should look like below:%0a%3c %0a%3c "k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDmzRmJRQxLEuyYiyMg4suA2Sy%0a%3c MwR5MGHpP9diNT1hRiwUd/mZp1ro7kIDTKS8ttkI6z6eTRW9e9dDOxzSxNuXmume60Cjbu08gOyhPG3%0a%3c GfWdg7QkdN6kR4V75MFlw624VY35DaXBvnlTJTgRg/EW72O1DiYVThkyCgpSYS8nmEQIDAQAB"%0a%3c %0a%3c !! Security Notes%0a%3c %0a%3c DKIM-signatures can be used to prove that a mail server sent a letter.%0a%3c %0a%3c Note that DKIM does not provide end-to-end integrity. For this, both sender and receiver will need to use [[PGP/intro|PGP]].%0a%3c %0a%3c !! OpenSMTPd and DKIM%0a%3c %0a%3c For OpenSMTPd to sign its mail with DKIM, you will need to create a public and private%0a---%0a> For OpenSMTP to sign its mail with DKIM, you will need to create a public and private%0a +host:1623139341=38.81.163.143 +author:1622989300=jrmu +diff:1622989300:1622988973:=39a40%0a> $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a +host:1622989300=38.81.163.143 +author:1622988973=jrmu +diff:1622988973:1622988596:=30,37c30,31%0a%3c This key should go into the DKIM DNS records:%0a%3c %0a%3c [@%0a%3c _adsp._domainkey 86400 IN TXT "dkim=discardable;"%0a%3c mail._domainkey 86400 IN TXT "k=rsa; t=s; p=%3cpublic key>"%0a%3c @]%0a%3c %0a%3c The final result should look like this:%0a---%0a> Put this in the DKIM DNS record:%0a> %0a +host:1622988973=38.81.163.143 +author:1622988596=jrmu +diff:1622988596:1622987041:=21,35c21%0a%3c $ doas cat /etc/mail/dkim/public.key | awk '/-----/{if (NR!=1)print "";next}{printf $0}' -%0a%3c @]%0a%3c %0a%3c Running this command on public.key should produce text like the following:%0a%3c %0a%3c [@%0a%3c MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB%0a%3c @]%0a%3c %0a%3c Put this in the DKIM DNS record:%0a%3c %0a%3c [@%0a%3c $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a%3c _adsp._domainkey 86400 IN TXT "dkim=discardable;"%0a%3c mail._domainkey 86400 IN TXT "k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB"%0a---%0a> %0a +host:1622988596=38.81.163.143 +author:1622987041=jrmu +diff:1622987041:1622985957:=17,22c17%0a%3c We then create a DKIM record by taking the public key, removing the first and last%0a%3c line, then joining all the lines together:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a---%0a> We then create a DKIM record using that public key:%0a +host:1622987041=38.81.163.143 +author:1622985957=jrmu +diff:1622985957:1622985562:=1,3d0%0a%3c For OpenSMTP to sign its mail with DKIM, you will need to create a public and private%0a%3c DKIM key:%0a%3c %0a16,17d12%0a%3c %0a%3c We then create a DKIM record using that public key:%0a +host:1622985957=38.81.163.143 +author:1622985562=jrmu +diff:1622985562:1622985562:=1,12d0%0a%3c [@%0a%3c $ doas groupadd -v _dkimsign%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a%3c $ openssl genrsa -out private.key 1024%0a%3c $ openssl rsa -in private.key -pubout -out public.key%0a%3c $ chmod og-rwx private.key%0a%3c $ chmod og-wx public.key%0a%3c $ chmod u-w public.key private.key%0a%3c $ doas mkdir /etc/mail/dkim%0a%3c $ doas mv private.key public.key /etc/mail/dkim/%0a%3c $ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a%3c @]%0a +host:1622985562=38.81.163.143 blob - /dev/null blob + 04b1e3c5113603feaf155b513d6359aa4599be2e (mode 644) --- /dev/null +++ wiki.d/DNS.DMARC @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1622890179 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=DNS.DMARC +rev=10 +targets= +text=(:title DMARC:)%0a%0a!! Recommended Reading%0a%0aThis guide only provides a quick simplified overview of DMARC and a howto for%0aconfiguring your DNS resource records. To better understand the subject, you%0ashould check out [[https://dmarc.org/overview/|the official DMARC website]].%0a[[http://www.zytrax.com/books/dns/ch9/dmarc.html|DNS for Rocket Scientists]] is%0aalso helpful.%0a%0a!! Why DMARC%0a%0aTo prevent phishing emails and spam, we use SPF and DKIM. However, sometimes real%0amessages may not authenticate properly, and other times fake messages may get%0aaccepted. Senders need some way to get feedback on how many emails are being%0asent and marked as fake. This helps with troubleshooting, improving delivery%0arates, and detecting fraud.%0a%0aThe Domain-based Message Authentication, Reporting and Conformance ('''DMARC''')%0aprovides a way for mail senders and receivers to share this information.%0a%0aDMARC helps:%0a%0a# reduce false positives%0a# report on how much mail has authenticated%0a# tell the receiver the sender's policy%0a# reduce phishing%0a%0aInside a DMARC record, you tell the mail server:%0a%0a# if you are using DKIM, SPF, or both.%0a# how to handle mail that doesn't validate.%0a# if you want a feedback report, and how to report.%0a%0aNote that DMARC uses DKIM and SPF; it does not replace either.%0a%0aTo use DMARC, you just add a TXT record in your DNS zone:%0a%0a!! How it works%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Tag ||! Indicates ||! Example ||! Meaning ||%0a|| v || DMARC version || v=DMARC1 || First DMARC version; DMARC must be all uppercase; required ||%0a|| pct || Percent of mail to filter || pct=20 || Filter 20%25 of mails; increase slowly over time to detect configurations mistakes gradually ||%0a|| ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a|| rua || Reporting URI of aggregate reports || rua=mailto:postmaster@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a|| p || Policy for domain || p=%3cvalue> || Required; applies to domain (and subdomains if sp= not specified) ||%0a|| || || p=none || No advice given ||%0a|| || || p=quarantine || If checks fail, mail is suspicious ||%0a|| || || p=reject || If checks fail, reject mail ||%0a|| sp || Policy for subdomains || sp=%3cvalue> || Same as above, but for subdomains only ||%0a|| adkim || Strictness of DKIM headers|| adkim=%3cvalue> || (Optional; default adkim=r) Checks if d=name matches ||%0a|| || || adkim=r || Relaxed; subdomains of d=name are accepted ||%0a|| || || adkim=s || Strict; subdomains of d=name not accepted ||%0a|| aspf || Strictness of From headers || aspf=%3cvalue> || (Optional; default aspf=r) Checks MAIL FROM (SMTP) and From: header in message ||%0a|| || || aspf=r || Relaxed; subdomains of d=name are accepted ||%0a|| || || aspf=s || Strict; subdomains of d=name not accepted ||%0a|| fo || When to Report || fo=%3cvalue> || (Optional; default fo=0) ||%0a|| || || fo=0 || Send only if all requested checks fail ||%0a|| || || fo=1 || Send if any requested checks fail ||%0a|| || || fo=d || Send if DKIM fails ||%0a|| || || fo=s || Send if SPF fails ||%0a%0a!! Example Records%0a%0aTXT records are used to store DMARC information to avoid having to upgrade DNS%0asoftware to support special resource record types.%0a%0a!!! Permit and Report Everything%0a%0a[@%0a_dmarc IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a@]%0a%0aBetween the two quotation marks "", we put in our DMARC information, which is made up%0aof key=value pairs separated by semicolons ;.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Pair ||! Meaning ||%0a|| v=DMARC1 || First DMARC version ||%0a|| p=none || No advice is given ||%0a|| pct=0 || Filter 0%25 of mails ||%0a|| fo=1 || Report all errors from DKIM and SPF ||%0a|| rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com ||%0a|| ruf=mailto:postmaster@example.com || Send forensic reports to postmaster@example.com ||%0a%0aThis record will provide you with reports for both DKIM/SPF, but will not%0aenforce any filtering whatsoever. This makes this entry very useful for testing%0aout if a new mail server is configured properly. However, this loose configuration%0amay allow more spammers to spoof your domain because bad email is not rejected.%0a%0a!!! Reject and Quarantine All Failed Mail%0a%0a[@%0a_dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine;pct=100;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a@]%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Pair ||! Meaning ||%0a|| v=DMARC1 || First DMARC version ||%0a|| p=reject || Reject failed mail from example.com ||%0a|| sp=quarantine || Quarantine failed mail from %3csubdomain>.example.com ||%0a|| pct=100 || Filter 100%25 of mails ||%0a|| fo=1 || Report all errors from DKIM and SPF ||%0a|| rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com ||%0a|| ruf=mailto:postmaster@example.com || Send forensic reports to postmaster@example.com ||%0a%0aThis rejects and quarantines all mail where DKIM and SPF are not perfectly configured.%0aThis is very good at stopping spam and phishing pretending to come from your domain.%0a%0a'''Warning''': you may lose a lot of real mail if there is a misconfiguration. May%0acause issues when mail is forwarded by mailing lists.%0a +time=1637621543 +title=DMARC +author:1637621543=Hawk +diff:1637621543:1622976647:minor=46c46%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmaster@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a---%0a> || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a76,77c76,77%0a%3c of key=value pairs separated by semicolons ;.%0a%3c %0a---%0a> of key=value pairs separated by semicolors ;.%0a> %0a84c84%0a%3c || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com ||%0a---%0a> || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com||%0a105c105%0a%3c || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com ||%0a---%0a> || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com||%0a +host:1637621543=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1622976647=jrmu +diff:1622976647:1622976019:=108,109c108,109%0a%3c This rejects and quarantines all mail where DKIM and SPF are not perfectly configured.%0a%3c This is very good at stopping spam and phishing pretending to come from your domain.%0a---%0a> This rejects all mail where DKIM and SPF are not perfectly configured. This%0a> is very good at stopping spam and phishing pretending to come from your domain.%0a +host:1622976647=38.81.163.143 +author:1622976019=jrmu +diff:1622976019:1622971234:=64,65d63%0a%3c !! Example Records%0a%3c %0a69,70d66%0a%3c !!! Permit and Report Everything%0a%3c %0a92,93c88,89%0a%3c !!! Reject and Quarantine All Failed Mail%0a%3c %0a---%0a> Here's a different record:%0a> %0a101,103c97,98%0a%3c || p=reject || Reject failed mail from example.com ||%0a%3c || sp=quarantine || Quarantine failed mail from %3csubdomain>.example.com ||%0a%3c || pct=100 || Filter 100%25 of mails ||%0a---%0a> || p=none || No advice is given ||%0a> || pct=0 || Filter 0%25 of mails ||%0a108,112c103,167%0a%3c This rejects all mail where DKIM and SPF are not perfectly configured. This%0a%3c is very good at stopping spam and phishing pretending to come from your domain.%0a%3c %0a%3c '''Warning''': you may lose a lot of real mail if there is a misconfiguration. May%0a%3c cause issues when mail is forwarded by mailing lists.%0a---%0a> _dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine"%0a> %0a> Failed mail from user@example.com would be rejected but failed mail from user@subdomain.example.com would be quarantined.%0a> %0a> %0a> %0a> _dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine"%0a> %0a> Examples%0a> Example 1: Single Domain Name using DKIM and SPF - Aggressive%0a> %0a> This is an aggressive policy and should only be adopted where the sender is certain that both DKIM and SPF are correctly configured. Not for the faint-hearted. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that both DKIM and SPF are used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.com if either SPF or DKIM fails, suggests that mail failing any checks should be rejected and that 100%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a> %0a> # example.net zone file fragment%0a> $ORIGIN example.net.%0a> ...%0a> _dmarc TXT ( "v=DMARC1;p=reject;sp=reject;pct=100;"%0a> "adkim=r;aspf=r;fo=1;ri=86400;rua=mailto:dmarc-admin@example.com")%0a> %0a> # NOTE: since the required email address is out-of-zone the %0a> # following change to the zone file for example.com must be made%0a> # example.com zone file fragment%0a> $ORIGIN example.com.%0a> ...%0a> example.net._report._dmarc TXT "v=DMARC1"%0a> # functionally identical%0a> example.net._report._dmarc.example.com. TXT "v=DMARC1"%0a> ...%0a> %0a> Strictly, the adkim=, aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy, and can prevent catastrophic errors in the event that a default is subsequently changed. The use of an out-of-zone email address requires an additional change in the report receivers zone file (example.com in this case) to authorize the reports from the example.net organizational name (see rua/ruf parameters.%0a> Example 2: Single Domain Name using DKIM and SPF - Timid%0a> %0a> This is a timid (or cautious if you prefer) policy where the sender is discovering the real pathology of their mail service and is unsure (or has no idea) if either DKIM and SPF are correctly configured. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that both DKIM and SPF are used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.net if either SPF or DKIM fails, does not want the receiver to reject any failing mail and suggests that only 10%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a> %0a> # example.net zone file fragment%0a> $ORIGIN example.net.%0a> ...%0a> _dmarc TXT ( "v=DMARC1;p=none;sp=reject;pct=10;"%0a> "adkim=r;aspf=r;fo=1;ri=86400;rua=mailto:dmarc-admin@example.net")%0a> %0a> Strictly, the adkim=, aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy.%0a> Example 3: Single Domain Name using SPF only - Aggressive%0a> %0a> This is an aggressive policy and should only be adopted where the sender is certain that SPF is correctly configured. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that only SPF is used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.net if SPF checks fail, suggests that all mail failing the SPF checks should be rejected and that 100%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a> %0a> # example.net zone file fragment%0a> $ORIGIN example.net.%0a> ...%0a> _dmarc TXT ( "v=DMARC1;p=reject;sp=reject;pct=100;"%0a> "aspf=r;fo=0;ri=86400;rua=mailto:dmarc-admin@example.net")%0a> %0a> Strictly, the aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy. It is the presence or absence of either DKIM headers or an SPF RR tested when the mail arrives at the receiver that determine which mail security method is in use rather than the configuration of the DMARC RR. In this case we have eliminated the adkim= to make the actual policy explicit and, since only SPF is in operation, fo=0. The same functional result would have ocurred if adkim=r had been retained and fo=1 as in Example 1 above. If only DKIM was being used adkim=r would have been added and aspf=r removed - but again the previous comment also applies - it is the received mail that determines which checks are invoked not the DMARC RR.%0a> Example 4: No mail%0a> %0a> This is a supreme act of good neighborliness. Assume the domain never sends email. The presence of a DMARC is good practice since mail could be forged with the domain's name. There is, however, no way to explictly configure a DMARC RR to indicate that mail will never be sent from this domain. Again, this emphasizes the point that DMARC processing is only invoked once the incoming mail protection mechanisms have been discovered. To indicate that a domain will never send mail must be done with a DMARC RR AND a dummy SPF TXT RR as shown:%0a> %0a> # example.net zone file fragment%0a> $ORIGIN example.net.%0a> ...%0a> # negative (or dummy) SPF RR%0a> example.net. TXT "v=spf1 -all"%0a> ...%0a> _dmarc TXT "v=DMARC1;p=reject;sp=reject;pct=100;aspf=s"%0a> %0a> In this case the DMARC is simply saying reject any mail from this domain that fails the SPF check and the SPF TXT RR, by use of the -all ensures that all mail fails the SPF test. Net result - no mail is allowed to be sent from this domain name.%0a +host:1622976019=38.81.163.143 +author:1622971234=jrmu +diff:1622971234:1622971155:=45,46c45,46%0a%3c || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com[[%3c%3c]]'''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a---%0a> || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com\\ '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a> || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com\\ '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a +host:1622971234=38.81.163.143 +author:1622971155=jrmu +diff:1622971155:1622970920:=45,46c45,46%0a%3c || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com\\ '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com\\ '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a---%0a> || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com; '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a> || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com; '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a55c55%0a%3c || aspf || Strictness of From headers || aspf=%3cvalue> || (Optional; default aspf=r) Checks MAIL FROM (SMTP) and From: header in message ||%0a---%0a> || aspf || Strictness of From headers|| aspf=%3cvalue> || (Optional; default aspf=r) Checks MAIL FROM (SMTP) and From: header in message ||%0a103,167d102%0a%3c _dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine"%0a%3c %0a%3c Failed mail from user@example.com would be rejected but failed mail from user@subdomain.example.com would be quarantined.%0a%3c %0a%3c %0a%3c %0a%3c _dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine"%0a%3c %0a%3c Examples%0a%3c Example 1: Single Domain Name using DKIM and SPF - Aggressive%0a%3c %0a%3c This is an aggressive policy and should only be adopted where the sender is certain that both DKIM and SPF are correctly configured. Not for the faint-hearted. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that both DKIM and SPF are used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.com if either SPF or DKIM fails, suggests that mail failing any checks should be rejected and that 100%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a%3c %0a%3c # example.net zone file fragment%0a%3c $ORIGIN example.net.%0a%3c ...%0a%3c _dmarc TXT ( "v=DMARC1;p=reject;sp=reject;pct=100;"%0a%3c "adkim=r;aspf=r;fo=1;ri=86400;rua=mailto:dmarc-admin@example.com")%0a%3c %0a%3c # NOTE: since the required email address is out-of-zone the %0a%3c # following change to the zone file for example.com must be made%0a%3c # example.com zone file fragment%0a%3c $ORIGIN example.com.%0a%3c ...%0a%3c example.net._report._dmarc TXT "v=DMARC1"%0a%3c # functionally identical%0a%3c example.net._report._dmarc.example.com. TXT "v=DMARC1"%0a%3c ...%0a%3c %0a%3c Strictly, the adkim=, aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy, and can prevent catastrophic errors in the event that a default is subsequently changed. The use of an out-of-zone email address requires an additional change in the report receivers zone file (example.com in this case) to authorize the reports from the example.net organizational name (see rua/ruf parameters.%0a%3c Example 2: Single Domain Name using DKIM and SPF - Timid%0a%3c %0a%3c This is a timid (or cautious if you prefer) policy where the sender is discovering the real pathology of their mail service and is unsure (or has no idea) if either DKIM and SPF are correctly configured. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that both DKIM and SPF are used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.net if either SPF or DKIM fails, does not want the receiver to reject any failing mail and suggests that only 10%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a%3c %0a%3c # example.net zone file fragment%0a%3c $ORIGIN example.net.%0a%3c ...%0a%3c _dmarc TXT ( "v=DMARC1;p=none;sp=reject;pct=10;"%0a%3c "adkim=r;aspf=r;fo=1;ri=86400;rua=mailto:dmarc-admin@example.net")%0a%3c %0a%3c Strictly, the adkim=, aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy.%0a%3c Example 3: Single Domain Name using SPF only - Aggressive%0a%3c %0a%3c This is an aggressive policy and should only be adopted where the sender is certain that SPF is correctly configured. Assume the domain example.net only sends mail in the form user@example.net (mail is not sent from any subdomain) and that only SPF is used in relaxed format. The domain owner wishes to have a daily aggregate report from mail receivers (in Abuse Report format - RFC 5965) of any problems at the address dmarc-admin@example.net if SPF checks fail, suggests that all mail failing the SPF checks should be rejected and that 100%25 of mail should be checked. The following addition to example.net's zone file implements such a policy:%0a%3c %0a%3c # example.net zone file fragment%0a%3c $ORIGIN example.net.%0a%3c ...%0a%3c _dmarc TXT ( "v=DMARC1;p=reject;sp=reject;pct=100;"%0a%3c "aspf=r;fo=0;ri=86400;rua=mailto:dmarc-admin@example.net")%0a%3c %0a%3c Strictly, the aspf=, ri= and pct= are not necessary since their defaults are used. However, explicit use of defaults is good defensive configuration policy. It is the presence or absence of either DKIM headers or an SPF RR tested when the mail arrives at the receiver that determine which mail security method is in use rather than the configuration of the DMARC RR. In this case we have eliminated the adkim= to make the actual policy explicit and, since only SPF is in operation, fo=0. The same functional result would have ocurred if adkim=r had been retained and fo=1 as in Example 1 above. If only DKIM was being used adkim=r would have been added and aspf=r removed - but again the previous comment also applies - it is the received mail that determines which checks are invoked not the DMARC RR.%0a%3c Example 4: No mail%0a%3c %0a%3c This is a supreme act of good neighborliness. Assume the domain never sends email. The presence of a DMARC is good practice since mail could be forged with the domain's name. There is, however, no way to explictly configure a DMARC RR to indicate that mail will never be sent from this domain. Again, this emphasizes the point that DMARC processing is only invoked once the incoming mail protection mechanisms have been discovered. To indicate that a domain will never send mail must be done with a DMARC RR AND a dummy SPF TXT RR as shown:%0a%3c %0a%3c # example.net zone file fragment%0a%3c $ORIGIN example.net.%0a%3c ...%0a%3c # negative (or dummy) SPF RR%0a%3c example.net. TXT "v=spf1 -all"%0a%3c ...%0a%3c _dmarc TXT "v=DMARC1;p=reject;sp=reject;pct=100;aspf=s"%0a%3c %0a%3c In this case the DMARC is simply saying reject any mail from this domain that fails the SPF check and the SPF TXT RR, by use of the -all ensures that all mail fails the SPF test. Net result - no mail is allowed to be sent from this domain name.%0a +host:1622971155=38.81.163.143 +author:1622970920=jrmu +diff:1622970920:1622968167:=41,46c41,45%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Tag ||! Indicates ||! Example ||! Meaning ||%0a%3c || v || DMARC version || v=DMARC1 || First DMARC version; DMARC must be all uppercase; required ||%0a%3c || pct || Percent of mail to filter || pct=20 || Filter 20%25 of mails; increase slowly over time to detect configurations mistakes gradually ||%0a%3c || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com; '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com; '''Warning''': make sure the address is inside the current zone or else you need an extra DMARC record ||%0a---%0a> || Tag || Indicates || Example || Meaning ||%0a> || v || DMARC version || v=DMARC1 || First DMARC version; required ||%0a> || pct || Percent of mail to filter || pct=20 || Filter 20%25 of mails ||%0a> || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com ||%0a> || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com ||%0a52,63c51%0a%3c || adkim || Strictness of DKIM headers|| adkim=%3cvalue> || (Optional; default adkim=r) Checks if d=name matches ||%0a%3c || || || adkim=r || Relaxed; subdomains of d=name are accepted ||%0a%3c || || || adkim=s || Strict; subdomains of d=name not accepted ||%0a%3c || aspf || Strictness of From headers|| aspf=%3cvalue> || (Optional; default aspf=r) Checks MAIL FROM (SMTP) and From: header in message ||%0a%3c || || || aspf=r || Relaxed; subdomains of d=name are accepted ||%0a%3c || || || aspf=s || Strict; subdomains of d=name not accepted ||%0a%3c || fo || When to Report || fo=%3cvalue> || (Optional; default fo=0) ||%0a%3c || || || fo=0 || Send only if all requested checks fail ||%0a%3c || || || fo=1 || Send if any requested checks fail ||%0a%3c || || || fo=d || Send if DKIM fails ||%0a%3c || || || fo=s || Send if SPF fails ||%0a%3c %0a---%0a> %0a82,102d69%0a%3c %0a%3c This record will provide you with reports for both DKIM/SPF, but will not%0a%3c enforce any filtering whatsoever. This makes this entry very useful for testing%0a%3c out if a new mail server is configured properly. However, this loose configuration%0a%3c may allow more spammers to spoof your domain because bad email is not rejected.%0a%3c %0a%3c Here's a different record:%0a%3c %0a%3c [@%0a%3c _dmarc IN TXT "v=DMARC1;p=reject;sp=quarantine;pct=100;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a%3c @]%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Pair ||! Meaning ||%0a%3c || v=DMARC1 || First DMARC version ||%0a%3c || p=none || No advice is given ||%0a%3c || pct=0 || Filter 0%25 of mails ||%0a%3c || fo=1 || Report all errors from DKIM and SPF ||%0a%3c || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com||%0a%3c || ruf=mailto:postmaster@example.com || Send forensic reports to postmaster@example.com ||%0a%3c %0a +host:1622970920=38.81.163.143 +author:1622968167=jrmu +diff:1622968167:1622891649:=40a41,46%0a> || border=1 width=100%25 class="sortable simpletable"%0a> ||! Record ||! Meaning ||%0a> || "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@dmarcdomain.com" || ||%0a> %0a> In this example, the sender requests that the receiver outright reject all non-aligned messages and send a report, in a specified aggregate format, about the rejections to a specified address. If the sender was testing its configuration, it could replace reject with quarantine which would tell the receiver they shouldnt necessarily reject the message, but consider quarantining it.%0a> %0a52,54c58,60%0a%3c TXT records are used to store DMARC information to avoid having to upgrade DNS%0a%3c software to support special resource record types.%0a%3c %0a---%0a> TXT records are used to avoid having to upgrade DNS software to support special%0a> resource record types.%0a> %0a56c62%0a%3c _dmarc IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a---%0a> _dmarc IN TXT "%3cdmarc text>"%0a59,69c65%0a%3c Between the two quotation marks "", we put in our DMARC information, which is made up%0a%3c of key=value pairs separated by semicolors ;.%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Pair ||! Meaning ||%0a%3c || v=DMARC1 || First DMARC version ||%0a%3c || p=none || No advice is given ||%0a%3c || pct=0 || Filter 0%25 of mails ||%0a%3c || fo=1 || Report all errors from DKIM and SPF ||%0a%3c || rua=mailto:postmaster@example.com || Send user aggregate reports to postmaster@example.com||%0a%3c || ruf=mailto:postmaster@example.com || Send forensic reports to postmaster@example.com ||%0a---%0a> We replace @@%3cdmarc text>@@ with our actual text.%0a +host:1622968167=38.81.163.143 +author:1622891649=jrmu +diff:1622891649:1622891564:=51c51%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com || Report to postmaster@example.com ||%0a---%0a> || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com | Report to postmaster@example.com|%0a +host:1622891649=38.81.163.143 +author:1622891564=jrmu +diff:1622891564:1622890179:=0a1%0a> %0a52c53%0a%3c || p || Policy for domain || p=%3cvalue> || Required; applies to domain (and subdomains if sp= not specified) ||%0a---%0a> || p || Policy for domain || p=%3cvalue> || Required ||%0a56c57%0a%3c || sp || Policy for subdomains || sp=%3cvalue> || Same as above, but for subdomains only ||%0a---%0a> || sp || Policy for subdomains || sp=reject || Reject mail from subdomain ||%0a +host:1622891564=38.81.163.143 +author:1622890179=jrmu +diff:1622890179:1622890179:=1,66d0%0a%3c %0a%3c (:title DMARC:)%0a%3c %0a%3c !! Recommended Reading%0a%3c %0a%3c This guide only provides a quick simplified overview of DMARC and a howto for%0a%3c configuring your DNS resource records. To better understand the subject, you%0a%3c should check out [[https://dmarc.org/overview/|the official DMARC website]].%0a%3c [[http://www.zytrax.com/books/dns/ch9/dmarc.html|DNS for Rocket Scientists]] is%0a%3c also helpful.%0a%3c %0a%3c !! Why DMARC%0a%3c %0a%3c To prevent phishing emails and spam, we use SPF and DKIM. However, sometimes real%0a%3c messages may not authenticate properly, and other times fake messages may get%0a%3c accepted. Senders need some way to get feedback on how many emails are being%0a%3c sent and marked as fake. This helps with troubleshooting, improving delivery%0a%3c rates, and detecting fraud.%0a%3c %0a%3c The Domain-based Message Authentication, Reporting and Conformance ('''DMARC''')%0a%3c provides a way for mail senders and receivers to share this information.%0a%3c %0a%3c DMARC helps:%0a%3c %0a%3c # reduce false positives%0a%3c # report on how much mail has authenticated%0a%3c # tell the receiver the sender's policy%0a%3c # reduce phishing%0a%3c %0a%3c Inside a DMARC record, you tell the mail server:%0a%3c %0a%3c # if you are using DKIM, SPF, or both.%0a%3c # how to handle mail that doesn't validate.%0a%3c # if you want a feedback report, and how to report.%0a%3c %0a%3c Note that DMARC uses DKIM and SPF; it does not replace either.%0a%3c %0a%3c To use DMARC, you just add a TXT record in your DNS zone:%0a%3c %0a%3c !! How it works%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Record ||! Meaning ||%0a%3c || "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@dmarcdomain.com" || ||%0a%3c %0a%3c In this example, the sender requests that the receiver outright reject all non-aligned messages and send a report, in a specified aggregate format, about the rejections to a specified address. If the sender was testing its configuration, it could replace reject with quarantine which would tell the receiver they shouldnt necessarily reject the message, but consider quarantining it.%0a%3c %0a%3c || Tag || Indicates || Example || Meaning ||%0a%3c || v || DMARC version || v=DMARC1 || First DMARC version; required ||%0a%3c || pct || Percent of mail to filter || pct=20 || Filter 20%25 of mails ||%0a%3c || ruf || Reporting URI for forensic reports || ruf=mailto:postmaster@example.com || Report to postmaster@example.com ||%0a%3c || rua || Reporting URI of aggregate reports || rua=mailto:postmasters@example.com | Report to postmaster@example.com|%0a%3c || p || Policy for domain || p=%3cvalue> || Required ||%0a%3c || || || p=none || No advice given ||%0a%3c || || || p=quarantine || If checks fail, mail is suspicious ||%0a%3c || || || p=reject || If checks fail, reject mail ||%0a%3c || sp || Policy for subdomains || sp=reject || Reject mail from subdomain ||%0a%3c %0a%3c TXT records are used to avoid having to upgrade DNS software to support special%0a%3c resource record types.%0a%3c %0a%3c [@%0a%3c _dmarc IN TXT "%3cdmarc text>"%0a%3c @]%0a%3c %0a%3c We replace @@%3cdmarc text>@@ with our actual text.%0a +host:1622890179=38.81.163.143 blob - /dev/null blob + 32829a3b0a9661db256f0ce61d35038591142fcf (mode 644) --- /dev/null +++ wiki.d/DNS.Dnswl @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622805068 +host=38.81.163.143 +name=DNS.Dnswl +rev=1 +targets= +text=(:title DNS White Listing:)%0a%0ahttps://www.dnswl.org%0a +time=1622805068 +title=DNS White Listing +author:1622805068=jrmu +diff:1622805068:1622805068:=1,3d0%0a%3c (:title DNS White Listing:)%0a%3c %0a%3c https://www.dnswl.org%0a +host:1622805068=38.81.163.143 blob - /dev/null blob + bf1acfdba5b3632cc02a54ce1bf5ce0abd643303 (mode 644) --- /dev/null +++ wiki.d/DNS.Ipv4rDNS @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627023001 +host=38.87.162.8 +name=DNS.Ipv4rDNS +rev=4 +targets= +text=(:title IPv4 rDNS:)%0a%0aIn /var/nsd/etc/nsd.conf:%0a%0a[@%0azone:%0a name: "1.1.168.192.in-addr.arpa"%0a zonefile: "master/1.1.168.192.in-addr.arpa"%0a@]%0a(:ifend:)%0a%0aIn /var/nsd/zones/master/1.1.168.192.in-addr.arpa:%0a%0a[@%0a1.1.168.192.in-addr.arpa. 3600 IN SOA ns1.username.example.com. admin.username.example.com. (%0a 2021072300 ; serial YYYYMMDDnn%0a 3600 ; refresh%0a 3600 ; retry%0a 86400 ; expire%0a 3600 ) ; minimum TTL%0a 3600 IN NS ns1.username.example.com.%0a 3600 IN NS ns2.username.example.com.%0a@ 3600 IN PTR username.example.com.%0a@]%0a +time=1627046695 +title=IPv4 rDNS +author:1627046695=jrmu +diff:1627046695:1627023109:=3,4c3,10%0a%3c In /var/nsd/etc/nsd.conf:%0a%3c %0a---%0a> We can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a> %0a> '''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a> %0a> !! IPv6 Subnet%0a> %0a> Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a> %0a6,8c12,16%0a%3c zone:%0a%3c name: "1.1.168.192.in-addr.arpa"%0a%3c zonefile: "master/1.1.168.192.in-addr.arpa"%0a---%0a> 2001:550:3402:1:143:: # original subnet%0a> 2001:0550:3402:0001:0143:: # fill in the missing zeros%0a> 2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a> 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a> 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a9a18,26%0a> %0a> Here is a simple command to do this:%0a> %0a> [@%0a> echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a> @]%0a> %0a> (:if false:)%0a> grep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a12,13c29,183%0a%3c In /var/nsd/zones/master/1.1.168.192.in-addr.arpa:%0a%3c %0a---%0a> Replace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a> %0a> For example:%0a> %0a> [@%0a> echo "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a> @]%0a> %0a> !! Zone File%0a> %0a> Now we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a> %0a> [@%0a> $ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a> @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a> 2021020105 1800 3600 1209600 3600 )%0a> 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a> 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a> 0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a> 1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a> @]%0a> %0a> !! /var/nsd/etc/nsd.conf%0a> %0a> Now we only need to add this section to /var/nsd/etc/nsd.conf:%0a> %0a> [@%0a> zone:%0a> name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> @]%0a> %0a> !! Restart nsd and test%0a> %0a> [@%0a> $ doas rcctl restart nsd%0a> @]%0a> %0a> We can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a> %0a> [@%0a> host 2001:550:3402:1:143::1 %3cnameserver-ip>%0a> @]%0a> %0a> Replace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a> %0a> You can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a> %0a> (:if false:)%0a> !! Troubleshooting%0a> %0a> !! Primary and secondary server%0a> %0a> If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a> %0a> [@%0a> zone:%0a> name: "example.net"%0a> zonefile: "master/example.net"%0a> notify: 20.20.20.20 NOKEY%0a> provide-xfr: 20.20.20.20 NOKEY%0a> @]%0a> %0a> Create a new block in the secondary server config file, as in the example:%0a> %0a> [@%0a> zone:%0a> name: "example.net"%0a> zonefile: "slave/example.net"%0a> allow-notify: 10.10.10.10 NOKEY%0a> request-xfr: 10.10.10.10 NOKEY%0a> @]%0a> %0a> !! The zone file for NSD%0a> %0a> The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a> %0a> [@%0a> ; Domain file from My project%0a> %0a> example.net. 3600 SOA ns.example.net. admin.example.net. (%0a> 2020070701 ; serial YYYYMMDDnn%0a> 10800 ; refresh%0a> 3600 ; retry%0a> 604800 ; expire%0a> 86400 ) ; minimum TTL%0a> %0a> example.net. NS ns.example.net.%0a> example.net. NS ns.secondary.net.%0a> ns A 10.10.10.10%0a> example.net. A 10.10.10.10%0a> www A 10.10.10.10%0a> irc A 10.10.10.10%0a> imap A 10.10.10.10%0a> smtp A 10.10.10.10%0a> example.net. mx 10 smtp.example.net.%0a> @]%0a> %0a> Save this zone file as /var/nsd/zones/master/example.net%0a> %0a> !! Configuration check and start%0a> %0a> NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a> %0a> [@%0a> $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a> @]%0a> %0a> Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a> %0a> [@%0a> $ doas rcctl enable nsd%0a> $ doas rcctl start nsd%0a> @]%0a> %0a> If there are issues you can start nsd in debug mode%0a> %0a> [@%0a> doas nsd -d -V 3%0a> @]%0a> %0a> https://www.denic.de/en/service/tools/nast/%0a> %0a> %0a> %0a> [@%0a> $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a> @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a> 2020112906 1800 3600 1209600 3600 )%0a> 3600 IN NS cherry.ircnow.org.%0a> 3600 IN NS pear.ircnow.org.%0a> 3600 IN NS mango.ircnow.org.%0a> 3600 IN NS peach.ircnow.org.%0a> 3600 IN NS banana.ircnow.org.%0a> 3600 IN NS guava.ircnow.org.%0a> 3600 IN NS jujube.ircnow.org.%0a> 3600 IN NS plum.ircnow.org.%0a> 3600 IN NS fig.ircnow.org.%0a> 3600 IN NS orange.ircnow.org.%0a> 3600 IN NS lemon.ircnow.org.%0a> 3600 IN NS grape.ircnow.org.%0a> 3600 IN NS coconut.ircnow.org.%0a> 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a> @]%0a> %0a> In /var/nsd/etc/nsd.conf:%0a> %0a> [@%0a> zone:%0a> name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> include-pattern: "ircnow.org"%0a> @]%0a> (:ifend:)%0a +host:1627046695=38.87.162.8 +author:1627023109=jrmu +diff:1627023109:1627023020:=2,185d1%0a%3c %0a%3c We can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c '''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%3c %0a%3c !! IPv6 Subnet%0a%3c %0a%3c Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%3c %0a%3c [@%0a%3c 2001:550:3402:1:143:: # original subnet%0a%3c 2001:0550:3402:0001:0143:: # fill in the missing zeros%0a%3c 2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a%3c @]%0a%3c %0a%3c Here is a simple command to do this:%0a%3c %0a%3c [@%0a%3c echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c grep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c (:ifend:)%0a%3c %0a%3c Replace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c echo "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c @]%0a%3c %0a%3c !! Zone File%0a%3c %0a%3c Now we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a%3c %0a%3c [@%0a%3c $ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2021020105 1800 3600 1209600 3600 )%0a%3c 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a%3c 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a%3c @]%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf%0a%3c %0a%3c Now we only need to add this section to /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c @]%0a%3c %0a%3c !! Restart nsd and test%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart nsd%0a%3c @]%0a%3c %0a%3c We can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a%3c [@%0a%3c host 2001:550:3402:1:143::1 %3cnameserver-ip>%0a%3c @]%0a%3c %0a%3c Replace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a%3c %0a%3c You can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a%3c %0a%3c (:if false:)%0a%3c !! Troubleshooting%0a%3c %0a%3c !! Primary and secondary server%0a%3c %0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a%3c @]%0a%3c %0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "slave/example.net"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a%3c @]%0a%3c %0a%3c !! The zone file for NSD%0a%3c %0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a%3c [@%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c @]%0a%3c %0a%3c Save this zone file as /var/nsd/zones/master/example.net%0a%3c %0a%3c !! Configuration check and start%0a%3c %0a%3c NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a%3c @]%0a%3c %0a%3c Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c @]%0a%3c %0a%3c If there are issues you can start nsd in debug mode%0a%3c %0a%3c [@%0a%3c doas nsd -d -V 3%0a%3c @]%0a%3c %0a%3c https://www.denic.de/en/service/tools/nast/%0a%3c %0a%3c %0a%3c %0a%3c [@%0a%3c $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2020112906 1800 3600 1209600 3600 )%0a%3c 3600 IN NS cherry.ircnow.org.%0a%3c 3600 IN NS pear.ircnow.org.%0a%3c 3600 IN NS mango.ircnow.org.%0a%3c 3600 IN NS peach.ircnow.org.%0a%3c 3600 IN NS banana.ircnow.org.%0a%3c 3600 IN NS guava.ircnow.org.%0a%3c 3600 IN NS jujube.ircnow.org.%0a%3c 3600 IN NS plum.ircnow.org.%0a%3c 3600 IN NS fig.ircnow.org.%0a%3c 3600 IN NS orange.ircnow.org.%0a%3c 3600 IN NS lemon.ircnow.org.%0a%3c 3600 IN NS grape.ircnow.org.%0a%3c 3600 IN NS coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a%3c @]%0a%3c %0a%3c In /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c include-pattern: "ircnow.org"%0a%3c @]%0a%3c (:ifend:)%0a%3c %0a%3c [@%0a195d10%0a%3c @]%0a +host:1627023109=38.87.162.8 +author:1627023020=jrmu +diff:1627023020:1627023001:=1d0%0a%3c (:title IPv4 rDNS:)%0a +host:1627023020=38.87.162.8 +author:1627023001=jrmu +diff:1627023001:1627023001:=1,9d0%0a%3c 1.1.168.192.in-addr.arpa. 3600 IN SOA ns1.username.example.com. admin.username.example.com. (%0a%3c 2021072300 ; serial YYYYMMDDnn%0a%3c 3600 ; refresh%0a%3c 3600 ; retry%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c 3600 IN NS ns1.username.example.com.%0a%3c 3600 IN NS ns2.username.example.com.%0a%3c @ 3600 IN PTR username.example.com.%0a +host:1627023001=38.87.162.8 blob - /dev/null blob + f88debf19e00f5838fb4f8266aee27f5a2cbf633 (mode 644) --- /dev/null +++ wiki.d/DNS.Ipv6rDNS @@ -0,0 +1,62 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627022617 +host=38.87.162.8 +name=DNS.Ipv6rDNS +rev=16 +targets=Nsd.Configure,Openbsd.Nsd,Openbsd.IPv6,Dns.FQDN,Host.Usage,Dig.Usage,Openbsd.Netcat +text=(:title Configuring IPv6 rDNS using NSD:)%0a%0a!! Overview%0a%0aMany internet protocols require your address' rDNS to match forward DNS to work properly. For IRC, proper rDNS is required for your vhost to load properly. For email, proper rDNS is required to avoid being marked as spam. In this guide, we use [[nsd/configure|nsd]], an authoritative name server, to provide rDNS.%0a%0a!! Installation%0a%0ansd comes as part of openbsd base so no installation will be necessary.%0a%0a'''NOTE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%0a!! Docs and references%0a%0aConsult the man pages for [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-checkzone|nsd-checkzone]].%0a%0a[[http://www.zytrax.com/books/dns|DNS for Rocket Scientists]] and [[http://tcpipguide.com/free/t_DNSReverseNameResolutionUsingtheINADDRARPADomain.htm|The TCP/IP Guide]] are helpful resources for further reading.%0a%0a!! Configuration%0a%0a!!! IPv6 Subnet%0a%0aSuppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:db8:1::/48. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%0aWARNING: You must fill in all missing zeros!%0a%0a[@%0a2001:db8:1:: # original subnet is /48%0a2001:0db8:0001:: # fill in the missing zeros up to the /48 subnet%0a2.0.0.1.0.d.b.8.0.0.0.1 # add periods between each digit%0a1.0.0.0.8.b.d.0.1.0.0.2 # reverse the digits%0a1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a@]%0a%0aHere's a second example with the subnet 2602:fccf:1:1::/64:%0a%0a[@%0a2602:fccf:1:1:: # original subnet%0a2602:fccf:0001:0001:: # fill in the missing zeros up to the /64 subnet%0a2.6.0.2.f.c.c.f.0.0.0.1.0.0.0.1 # add periods between each digit%0a1.0.0.0.1.0.0.0.f.c.c.f.2.0.6.2 # reverse the digits%0a1.0.0.0.1.0.0.0.f.c.c.f.2.0.6.2.ip6.arpa # add ip6.arpa%0a@]%0a%0a'''NOTE''': Your zone must have subnet divided by 4 number of hex digits. If you have a /48 subnet, this means you will have 48/4 = 12 hex digits. If you have a /64 subnet, you will have 64/4 = 16 hex digits.%0a%0aHere is a command to do this:%0a%0a[@%0a$ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "%3cIP6>"))))))),(64-%3cSUBNET>/2)).".ip6.arpa.\n";'%0a@]%0a%0aYou need to replace %3cIP6> with your real IP address and %3cSUBNET> with your subnet length. For example, if you had the IPv6 address 2001:db8:1:: with a /48 subnet, you would type this into the command line:%0a%0a[@%0a$ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "2001:db8:1::"))))))),(64-48/2)).".ip6.arpa\n";'%0a1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a@]%0a%0aSo, you know the name of your zone file is /var/nsd/zones/master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a%0a(:if false:)%0aecho "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0agrep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a(:ifend:)%0a%0a!!! Zone File%0a%0aInside the zone file /var/nsd/zones/master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa, we create these records:%0a%0a[@%0a$ORIGIN 1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.%0a@ 3600 IN SOA ns1.example.com. admin.example.com. (%0a 2021082301 1800 3600 1209600 3600 )%0a 3600 IN NS ns1.example.com.%0a 3600 IN NS ns2.example.com.%0a0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.example.com.%0a1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.example.com.%0a@]%0a%0aThe records must have 32 - $SUBNET/4 hex digits. For example, if your subnet is length 48, then your records will have 32 - 48/4 = 20 hex digits. If you subnet length is 64, then your records will have 32 - 64/4 = 16 hex digits.%0a%0a'''NOTE''': All of the PTR records should have values that end with a final dot . -- they should be [[Dns/FQDN|fully qualified domain names]]. Without a terminating dot, a record like:%0a%0a[@%0a1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2%0a@]%0a%0awould have $ORIGIN appended to it, so it would be interpreted as user2.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. This is probably not what you intended!%0a%0a!!! /var/nsd/etc/nsd.conf%0a%0aNow we need to add this section to /var/nsd/etc/nsd.conf:%0a%0a[@%0azone:%0a name: "1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa"%0a zonefile: "master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa"%0a@]%0a%0a!!! Restart nsd and test%0a%0a[@%0a$ doas rcctl restart nsd%0a@]%0a%0a!! Results%0a%0aWe now test using [[host/usage|host]] or [[dig/usage|dig]]:%0a%0a[@%0ahost 2001:db8:1:: %3cnameserver-ip>%0a@]%0a%0aReplace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a%0aYou can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a%0a(:if false:)%0a%0a!! Troubleshooting%0a%0a!!! Primary and secondary server%0a%0aIf you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "master/example.net"%0a notify: 20.20.20.20 NOKEY%0a provide-xfr: 20.20.20.20 NOKEY%0a@]%0a%0aCreate a new block in the secondary server config file, as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "slave/example.net"%0a allow-notify: 10.10.10.10 NOKEY%0a request-xfr: 10.10.10.10 NOKEY%0a@]%0a%0a!! The zone file for NSD%0a%0aThe next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%0a[@%0a; Domain file from My project%0a%0aexample.net. 3600 SOA ns.example.net. admin.example.net. (%0a 2020070701 ; serial YYYYMMDDnn%0a 10800 ; refresh%0a 3600 ; retry%0a 604800 ; expire%0a 86400 ) ; minimum TTL%0a%0aexample.net. NS ns.example.net.%0aexample.net. NS ns.secondary.net.%0ans A 10.10.10.10%0aexample.net. A 10.10.10.10%0awww A 10.10.10.10%0airc A 10.10.10.10%0aimap A 10.10.10.10%0asmtp A 10.10.10.10%0aexample.net. mx 10 smtp.example.net.%0a@]%0a%0aSave this zone file as /var/nsd/zones/master/example.net%0a%0a!! Configuration check and start%0a%0aNSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%0a[@%0a$ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a@]%0a%0aAny errors are reported, so no news are good news. You can go ahead and start NSD:%0a%0a[@%0a$ doas rcctl enable nsd%0a$ doas rcctl start nsd%0a@]%0a%0aIf there are issues you can start nsd in debug mode%0a%0a[@%0adoas nsd -d -V 3%0a@]%0a%0ahttps://www.denic.de/en/service/tools/nast/%0a%0a%0a%0a[@%0a$ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a@ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a 2020112906 1800 3600 1209600 3600 )%0a 3600 IN NS cherry.ircnow.org.%0a 3600 IN NS pear.ircnow.org.%0a 3600 IN NS mango.ircnow.org.%0a 3600 IN NS peach.ircnow.org.%0a 3600 IN NS banana.ircnow.org.%0a 3600 IN NS guava.ircnow.org.%0a 3600 IN NS jujube.ircnow.org.%0a 3600 IN NS plum.ircnow.org.%0a 3600 IN NS fig.ircnow.org.%0a 3600 IN NS orange.ircnow.org.%0a 3600 IN NS lemon.ircnow.org.%0a 3600 IN NS grape.ircnow.org.%0a 3600 IN NS coconut.ircnow.org.%0a0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a@]%0a%0aIn /var/nsd/etc/nsd.conf:%0a%0a[@%0azone:%0a name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a include-pattern: "ircnow.org"%0a@]%0a(:ifend:)%0a +time=1629719716 +title=Configuring IPv6 rDNS using NSD +author:1629719716=jrmu +diff:1629719716:1629667104:=73c73%0a%3c @ 3600 IN SOA ns1.example.com. admin.example.com. (%0a---%0a> @ 3600 IN SOA ns1.example.com admin.example.com (%0a +host:1629719716=38.87.162.8 +author:1629667104=mkf +csum:1629667104=day update. +diff:1629667104:1627887693:minor=74c74%0a%3c 2021082301 1800 3600 1209600 3600 )%0a---%0a> 2021072201 1800 3600 1209600 3600 )%0a +host:1629667104=198.251.81.133 +author:1627887693=jrmu +diff:1627887693:1627219784:=82,89d81%0a%3c %0a%3c '''NOTE''': All of the PTR records should have values that end with a final dot . -- they should be [[Dns/FQDN|fully qualified domain names]]. Without a terminating dot, a record like:%0a%3c %0a%3c [@%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2%0a%3c @]%0a%3c %0a%3c would have $ORIGIN appended to it, so it would be interpreted as user2.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. This is probably not what you intended!%0a +host:1627887693=38.87.162.8 +author:1627219784=jrmu +diff:1627219784:1627195484:= +host:1627219784=38.87.162.8 +author:1627195484=jrmu +diff:1627195484:1627195081:=81,82c81,82%0a%3c The records must have 32 - $SUBNET/4 hex digits. For example, if your subnet is length 48, then your records will have 32 - 48/4 = 20 hex digits. If you subnet length is 64, then your records will have 32 - 64/4 = 16 hex digits.%0a%3c %0a---%0a> The records must have $SUBNET/4 hex digits. For example, if your subnet is length 48, then your records will have 48/4 = 12 hex digits.%0a> %0a85,86c85,86%0a%3c Now we need to add this section to /var/nsd/etc/nsd.conf:%0a%3c %0a---%0a> Now we only need to add this section to /var/nsd/etc/nsd.conf:%0a> %0a99,102c99,100%0a%3c !! Results%0a%3c %0a%3c We now test using [[host/usage|host]] or [[dig/usage|dig]]:%0a%3c %0a---%0a> We can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a> %0a112d109%0a%3c %0a +host:1627195484=38.87.162.8 +author:1627195081=jrmu +diff:1627195081:1627195028:= +host:1627195081=38.87.162.8 +author:1627195028=jrmu +diff:1627195028:1627051664:=50c50%0a%3c $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "%3cIP6>"))))))),(64-%3cSUBNET>/2)).".ip6.arpa.\n";'%0a---%0a> $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", $IP6))))))),(64-$SUBNET/2)).".ip6.arpa.\n";'%0a53,54c53,55%0a%3c You need to replace %3cIP6> with your real IP address and %3cSUBNET> with your subnet length. For example, if you had the IPv6 address 2001:db8:1:: with a /48 subnet, you would type this into the command line:%0a%3c %0a---%0a> You need to replace $IP6 with your real IP address and $SUBNET with your subnet length.%0a> For example, if you had the IPv6 address 2001:db8:1:: with a /48 subnet, you would type this into the command line:%0a> %0a65a67%0a> %0a +host:1627195028=38.87.162.8 +author:1627051664=jrmu +diff:1627051664:1627051504:=51a52%0a> 64 - subnet/2%0a +host:1627051664=38.87.162.8 +author:1627051504=jrmu +diff:1627051504:1627051475:=47c47%0a%3c Here is a command to do this:%0a---%0a> Here is a simple command to do this:%0a +host:1627051504=38.87.162.8 +author:1627051475=jrmu +diff:1627051475:1627049672:=50c50%0a%3c $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", $IP6))))))),(64-$SUBNET/2)).".ip6.arpa.\n";'%0a---%0a> $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", $IP6))))))),($SUBNET/2)).".ip6.arpa.\n";'%0a52,53c52%0a%3c 64 - subnet/2%0a%3c %0a---%0a> %0a58,59c57,58%0a%3c $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "2001:db8:1::"))))))),(64-48/2)).".ip6.arpa\n";'%0a%3c 1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a---%0a> $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "2001:db8:1::"))))))),(48/2)).".ip6.arpa\n";'%0a> 0.0.0.0.0.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a62,63c61,62%0a%3c So, you know the name of your zone file is /var/nsd/zones/master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a%3c %0a---%0a> This gives you the name of your zone file.%0a> %0a72,73c71,72%0a%3c Inside the zone file /var/nsd/zones/master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa, we create these records:%0a%3c %0a---%0a> Now we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a> %0a75,81c74,80%0a%3c $ORIGIN 1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.example.com admin.example.com (%0a%3c 2021072201 1800 3600 1209600 3600 )%0a%3c 3600 IN NS ns1.example.com.%0a%3c 3600 IN NS ns2.example.com.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.example.com.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.example.com.%0a---%0a> $ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a> @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a> 2021020105 1800 3600 1209600 3600 )%0a> 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a> 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a> 0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a> 1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a84,85d82%0a%3c The records must have $SUBNET/4 hex digits. For example, if your subnet is length 48, then your records will have 48/4 = 12 hex digits.%0a%3c %0a92,93c89,90%0a%3c name: "1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa"%0a---%0a> name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a105c102%0a%3c host 2001:db8:1:: %3cnameserver-ip>%0a---%0a> host 2001:550:3402:1:143::1 %3cnameserver-ip>%0a +host:1627051475=38.87.162.8 +author:1627049672=jrmu +diff:1627049672:1627032926:=50c50%0a%3c $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", $IP6))))))),($SUBNET/2)).".ip6.arpa.\n";'%0a---%0a> echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a53,62d52%0a%3c You need to replace $IP6 with your real IP address and $SUBNET with your subnet length.%0a%3c For example, if you had the IPv6 address 2001:db8:1:: with a /48 subnet, you would type this into the command line:%0a%3c %0a%3c [@%0a%3c $ perl -e 'print substr(join(".",(split//,sprintf("%25032s", scalar reverse(join("", map(sprintf("%2504s", $_), split(":", "2001:db8:1::"))))))),(48/2)).".ip6.arpa\n";'%0a%3c 0.0.0.0.0.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa%0a%3c @]%0a%3c %0a%3c This gives you the name of your zone file.%0a%3c %0a64d53%0a%3c echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a67a57,63%0a> Replace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a> %0a> For example:%0a> %0a> [@%0a> echo "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a> @]%0a +host:1627049672=38.87.162.8 +author:1627032926=jrmu +diff:1627032926:1627031761:=23,26c23,24%0a%3c Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:db8:1::/48. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%3c %0a%3c WARNING: You must fill in all missing zeros!%0a%3c %0a---%0a> Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a> %0a28,32c26,30%0a%3c 2001:db8:1:: # original subnet is /48%0a%3c 2001:0db8:0001:: # fill in the missing zeros up to the /48 subnet%0a%3c 2.0.0.1.0.d.b.8.0.0.0.1 # add periods between each digit%0a%3c 1.0.0.0.8.b.d.0.1.0.0.2 # reverse the digits%0a%3c 1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a---%0a> 2001:550:3402:1:143:: # original subnet%0a> 2001:0550:3402:0001:0143:: # fill in the missing zeros%0a> 2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a> 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a> 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a34,45d31%0a%3c %0a%3c Here's a second example with the subnet 2602:fccf:1:1::/64:%0a%3c %0a%3c [@%0a%3c 2602:fccf:1:1:: # original subnet%0a%3c 2602:fccf:0001:0001:: # fill in the missing zeros up to the /64 subnet%0a%3c 2.6.0.2.f.c.c.f.0.0.0.1.0.0.0.1 # add periods between each digit%0a%3c 1.0.0.0.1.0.0.0.f.c.c.f.2.0.6.2 # reverse the digits%0a%3c 1.0.0.0.1.0.0.0.f.c.c.f.2.0.6.2.ip6.arpa # add ip6.arpa%0a%3c @]%0a%3c %0a%3c '''NOTE''': Your zone must have subnet divided by 4 number of hex digits. If you have a /48 subnet, this means you will have 48/4 = 12 hex digits. If you have a /64 subnet, you will have 64/4 = 16 hex digits.%0a +host:1627032926=38.87.162.8 +author:1627031761=jrmu +diff:1627031761:1627031197:=14,17d13%0a%3c %0a%3c Consult the man pages for [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-checkzone|nsd-checkzone]].%0a%3c %0a%3c [[http://www.zytrax.com/books/dns|DNS for Rocket Scientists]] and [[http://tcpipguide.com/free/t_DNSReverseNameResolutionUsingtheINADDRARPADomain.htm|The TCP/IP Guide]] are helpful resources for further reading.%0a +host:1627031761=38.87.162.8 +author:1627031197=jrmu +diff:1627031197:1627023215:=1,18c1,8%0a%3c (:title Configuring IPv6 rDNS using NSD:)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c Many internet protocols require your address' rDNS to match forward DNS to work properly. For IRC, proper rDNS is required for your vhost to load properly. For email, proper rDNS is required to avoid being marked as spam. In this guide, we use [[nsd/configure|nsd]], an authoritative name server, to provide rDNS.%0a%3c %0a%3c !! Installation%0a%3c %0a%3c nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c '''NOTE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%3c %0a%3c !! Docs and references%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c !!! IPv6 Subnet%0a%3c %0a---%0a> (:title Configuring rDNS using NSD:)%0a> %0a> We can configure our rDNS using [[nsd/configure|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a> %0a> '''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a> %0a> !! IPv6 Subnet%0a> %0a47,48c37,38%0a%3c !!! Zone File%0a%3c %0a---%0a> !! Zone File%0a> %0a61,62c51,52%0a%3c !!! /var/nsd/etc/nsd.conf%0a%3c %0a---%0a> !! /var/nsd/etc/nsd.conf%0a> %0a71,72c61,62%0a%3c !!! Restart nsd and test%0a%3c %0a---%0a> !! Restart nsd and test%0a> %0a90c80%0a%3c !!! Primary and secondary server%0a---%0a> !! Primary and secondary server%0a +host:1627031197=38.87.162.8 +author:1627023215=jrmu +diff:1627023215:1627022617:=3c3%0a%3c We can configure our rDNS using [[nsd/configure|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a---%0a> We can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a +host:1627023215=38.87.162.8 +author:1627022617=jrmu +diff:1627022617:1627022617:=1,183d0%0a%3c (:title Configuring rDNS using NSD:)%0a%3c %0a%3c We can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c '''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%3c %0a%3c !! IPv6 Subnet%0a%3c %0a%3c Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%3c %0a%3c [@%0a%3c 2001:550:3402:1:143:: # original subnet%0a%3c 2001:0550:3402:0001:0143:: # fill in the missing zeros%0a%3c 2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a%3c @]%0a%3c %0a%3c Here is a simple command to do this:%0a%3c %0a%3c [@%0a%3c echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c grep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c (:ifend:)%0a%3c %0a%3c Replace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c echo "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c @]%0a%3c %0a%3c !! Zone File%0a%3c %0a%3c Now we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a%3c %0a%3c [@%0a%3c $ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2021020105 1800 3600 1209600 3600 )%0a%3c 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a%3c 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a%3c @]%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf%0a%3c %0a%3c Now we only need to add this section to /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c @]%0a%3c %0a%3c !! Restart nsd and test%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart nsd%0a%3c @]%0a%3c %0a%3c We can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a%3c [@%0a%3c host 2001:550:3402:1:143::1 %3cnameserver-ip>%0a%3c @]%0a%3c %0a%3c Replace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a%3c %0a%3c You can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a%3c %0a%3c (:if false:)%0a%3c !! Troubleshooting%0a%3c %0a%3c !! Primary and secondary server%0a%3c %0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a%3c @]%0a%3c %0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "slave/example.net"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a%3c @]%0a%3c %0a%3c !! The zone file for NSD%0a%3c %0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a%3c [@%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c @]%0a%3c %0a%3c Save this zone file as /var/nsd/zones/master/example.net%0a%3c %0a%3c !! Configuration check and start%0a%3c %0a%3c NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a%3c @]%0a%3c %0a%3c Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c @]%0a%3c %0a%3c If there are issues you can start nsd in debug mode%0a%3c %0a%3c [@%0a%3c doas nsd -d -V 3%0a%3c @]%0a%3c %0a%3c https://www.denic.de/en/service/tools/nast/%0a%3c %0a%3c %0a%3c %0a%3c [@%0a%3c $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2020112906 1800 3600 1209600 3600 )%0a%3c 3600 IN NS cherry.ircnow.org.%0a%3c 3600 IN NS pear.ircnow.org.%0a%3c 3600 IN NS mango.ircnow.org.%0a%3c 3600 IN NS peach.ircnow.org.%0a%3c 3600 IN NS banana.ircnow.org.%0a%3c 3600 IN NS guava.ircnow.org.%0a%3c 3600 IN NS jujube.ircnow.org.%0a%3c 3600 IN NS plum.ircnow.org.%0a%3c 3600 IN NS fig.ircnow.org.%0a%3c 3600 IN NS orange.ircnow.org.%0a%3c 3600 IN NS lemon.ircnow.org.%0a%3c 3600 IN NS grape.ircnow.org.%0a%3c 3600 IN NS coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a%3c @]%0a%3c %0a%3c In /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c include-pattern: "ircnow.org"%0a%3c @]%0a%3c (:ifend:)%0a +host:1627022617=38.87.162.8 blob - /dev/null blob + 77318bbf696d97cd62cdb709d51e6ff17ec4d497 (mode 644) --- /dev/null +++ wiki.d/DNS.Mail @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1621335466 +host=38.81.163.143 +name=DNS.Mail +rev=14 +targets=Nsd.Configure,Dns.Overview,Dns.FQDN,DNS.SOA,DNS.SPF,DNS.DMARC,DNS.DKIM,DNS.Dnswl +text=(:title DNS for Mail:)%0a%0aRunning a mail server requires a proper DNS records. %0a%0a!! Before you begin%0a%0aThis guide assumes that you have already set up a properly functioning name server using%0a[[nsd/configure|nsd]]. If you have not already, you will want to read up on [[dns/overview|basic DNS concepts]] and [[nsd/configure|set up your name server]].%0a%0a!! Adding to the zone file%0a%0aFor mail, you will need to add DNS records. Let's take a look at a sample zone file%0acontaining only what is needed to handle mail:%0a%0a$ORIGIN and Start of Authority (SOA) record:%0a%0a[@%0a$ORIGIN example.com.%0aexample.com. 3600 SOA ns1.example.com. admin.example.com. (%0a 2021050302 ; serial YYYYMMDDnn%0a 1800 ; refresh%0a 3600 ; retry%0a 86400 ; expire%0a 3600 ) ; minimum TTL%0a@]%0a%0aHere we define the $ORIGIN to be example.com. The $ORIGIN will be appended to every record to produce a [[Dns/FQDN|fully qualified domain name]]. Make sure to read up on [[Dns/FQDN|FQDN]] if you do not understand what that means.%0a%0aThe [[DNS/SOA|Start of Authority record]] says that the serial number was last updated on May 3rd, 2021; that the refresh interval is 1800 seconds, the retry interval is 3600 seconds, the record expires after 1 day, and the minimum time to live is 3600 seconds.%0a%0a[@%0a 3600 IN MX 10 mail%0a 3600 IN A 38.81.163.143%0a 3600 IN AAAA 2602:fccf:1:143::%0a 3600 IN NS ns1%0a 3600 IN NS ns2%0amail 3600 IN A 38.81.163.143%0a 3600 IN AAAA 2602:fccf:1:143::%0apop 3600 IN A 38.81.163.143%0a 3600 IN AAAA 2602:fccf:1:143::%0aimap 3600 IN A 38.81.163.143%0a 3600 IN AAAA 2602:fccf:1:143::%0asmtp 3600 IN A 38.81.163.143%0a 3600 IN AAAA 2602:fccf:1:143::%0a@]%0a%0aWhen there is no name for the record, it just takes on the value of $ORIGIN: example.com.%0a%0aLine 1 defines the mail exchange (MX) record for example.com. When another mail server sends your server mail, it will perform two DNS queries. First, it asks what your MX record is for example.com:%0a%0a[@%0a$ dig +short -t mx example.com%0a10 mail.example.com.%0a@]%0a%0aHere, the MX record for example.com is mail.example.com with a value of 10. This means%0athat mail.example.com is the actual mail server that will handle mail.%0a%0aOnce an MX record is returned, the mail server will find the A/AAAA record for that mail server:%0a%0a[@%0a$ dig +short -t a mail.example.com%0a38.81.163.143%0a@]%0a%0aNormally, a domain will have multiple MX records so that if one mail server goes offline, another can continue serving mail. Most mail servers will choose the MX record with the lowest value to deliver to first.%0a%0a!! [[DNS/SPF|SPF record]]%0a%0aYou'll want to add a TXT record in your domain's [[DNS/SPF|DNS zone for SPF]]:%0a%0a[@%0a 3600 IN TXT "v=spf1 mx -all"%0a@]%0a%0aThis simple SPF record allows any mail exchange (MX) server for the domain to send mail, but no others.%0a%0a!! [[DNS/DMARC|DMARC records]]%0a%0a[@%0a_dmarc 3600 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a@]%0a%0aThis record will provide you with reports for DKIM/SPF but will not filter any mail. It's useful for diagnosing problems with your configuration.%0a%0a!! DKIM records%0a%0aYou will need to follow the instructions for creating a proper [[DNS/DKIM|DKIM record]]:%0a%0aFirst, you will need to create a public and private DKIM key:%0a%0a[@%0a$ doas groupadd -v _dkimsign%0a$ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a$ openssl genrsa -out private.key 1024%0a$ openssl rsa -in private.key -pubout -out public.key%0a$ chmod og-rwx private.key%0a$ chmod og-wx public.key%0a$ chmod u-w public.key private.key%0a$ doas mkdir /etc/mail/dkim%0a$ doas mv private.key public.key /etc/mail/dkim/%0a$ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a@]%0a%0aWe then create a DKIM record by taking the public key, removing the first and last%0aline, then joining all the lines together:%0a%0a[@%0a$ doas cat /etc/mail/dkim/public.key | awk '/-----/{if (NR!=1)print "";next}{printf $0}' -%0a@]%0a%0aRunning this command on public.key should produce text like the following:%0a%0a[@%0aMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB%0a@]%0a%0aThis key should go into the DKIM DNS records to replace %3cpublic key>:%0a%0a[@%0a_adsp._domainkey 86400 IN TXT "dkim=discardable;"%0amail._domainkey 86400 IN TXT "k=rsa; t=s; p=%3cpublic key>"%0a@]%0a%0aThe final result should look like this:%0a%0a[@%0a_adsp._domainkey 86400 IN TXT "dkim=discardable;"%0amail._domainkey 86400 IN TXT "k=rsa; t=s; p=8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a@]%0a%0a!! Whitelists%0a%0a[[DNS/dnswl|dnswl]] is a DNS whitelist that is free of charge, so you should sign up for it.%0a +time=1623943290 +title=DNS for Mail +author:1623943290=jrmu +diff:1623943290:1622989290:=94c94%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a---%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a102c102%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a---%0a> $ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a +host:1623943290=38.81.163.143 +author:1622989290=jrmu +diff:1622989290:1622989183:=88,125c88,89%0a%3c You will need to follow the instructions for creating a proper [[DNS/DKIM|DKIM record]]:%0a%3c %0a%3c First, you will need to create a public and private DKIM key:%0a%3c %0a%3c [@%0a%3c $ doas groupadd -v _dkimsign%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a%3c $ openssl genrsa -out private.key 1024%0a%3c $ openssl rsa -in private.key -pubout -out public.key%0a%3c $ chmod og-rwx private.key%0a%3c $ chmod og-wx public.key%0a%3c $ chmod u-w public.key private.key%0a%3c $ doas mkdir /etc/mail/dkim%0a%3c $ doas mv private.key public.key /etc/mail/dkim/%0a%3c $ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a%3c @]%0a%3c %0a%3c We then create a DKIM record by taking the public key, removing the first and last%0a%3c line, then joining all the lines together:%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/mail/dkim/public.key | awk '/-----/{if (NR!=1)print "";next}{printf $0}' -%0a%3c @]%0a%3c %0a%3c Running this command on public.key should produce text like the following:%0a%3c %0a%3c [@%0a%3c MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmseF9Dm8Dx1LtmLMD56d628JBNaQus8aEcdYYzvBVQ4rhetZzv/ZMafjTEf2RLoOQ+pb7pqL4G86lCZSF+Eeu2ODWQQGYqGVV0xUK5QJSnsGF5UKKscrxmTHSPPtoAQJt25fxNd3PtvH2ZonAGkZkntk+u6Wn5xxlI9hMOVxLUwIDAQAB%0a%3c @]%0a%3c %0a%3c This key should go into the DKIM DNS records to replace %3cpublic key>:%0a%3c %0a%3c [@%0a%3c _adsp._domainkey 86400 IN TXT "dkim=discardable;"%0a%3c mail._domainkey 86400 IN TXT "k=rsa; t=s; p=%3cpublic key>"%0a%3c @]%0a%3c %0a%3c The final result should look like this:%0a---%0a> You will need to follow the instructions for creating a proper [[DNS/DKIM|DKIM record]].%0a> %0a +host:1622989290=38.81.163.143 +author:1622989183=jrmu +diff:1622989183:1622984571:=88,89c88,89%0a%3c You will need to follow the instructions for creating a proper [[DNS/DKIM|DKIM record]].%0a%3c %0a---%0a> [[DNS/DKIM|DKIM]]%0a> %0a91,92c91,94%0a%3c _adsp._domainkey 86400 IN TXT "dkim=discardable;"%0a%3c mail._domainkey 86400 IN TXT "k=rsa; t=s; p=8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a---%0a> $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a> _adsp 86400 IN TXT "dkim=discardable;"%0a> ;mail 86400 IN TXT "k=rsa; t=s; p=v=DKIM1;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ%0a> 8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a +host:1622989183=38.81.163.143 +author:1622984571=jrmu +diff:1622984571:1622805023:=81c81%0a%3c _dmarc 3600 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a---%0a> _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a83,84d82%0a%3c %0a%3c This record will provide you with reports for DKIM/SPF but will not filter any mail. It's useful for diagnosing problems with your configuration.%0a +host:1622984571=38.81.163.143 +author:1622805023=jrmu +diff:1622805023:1622793515:=94,97d93%0a%3c %0a%3c !! Whitelists%0a%3c %0a%3c [[DNS/dnswl|dnswl]] is a DNS whitelist that is free of charge, so you should sign up for it.%0a +host:1622805023=38.81.163.143 +author:1622793515=jrmu +diff:1622793515:1622721008:=68,71c68,71%0a%3c !! [[DNS/SPF|SPF record]]%0a%3c %0a%3c You'll want to add a TXT record in your domain's [[DNS/SPF|DNS zone for SPF]]:%0a%3c %0a---%0a> !! SPF record%0a> %0a> [[DNS/SPF|Sender Policy Framework]]%0a> %0a73c73%0a%3c 3600 IN TXT "v=spf1 mx -all"%0a---%0a> 3600 IN TXT "v=spf1 ip4:38.81.163.143 ip6:2602:fccf:1:143::/64 mx -all"%0a76,79c76,79%0a%3c This simple SPF record allows any mail exchange (MX) server for the domain to send mail, but no others.%0a%3c %0a%3c !! [[DNS/DMARC|DMARC records]]%0a%3c %0a---%0a> !! DMARC records%0a> %0a> [[DNS/DMARC|DMARC]]%0a> %0a81c81%0a%3c _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@example.com;ruf=mailto:postmaster@example.com"%0a---%0a> _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@jrmu.coconut.ircnow.org;ruf=mailto:postmaster@jrmu.coconut.ircnow.org"%0a +host:1622793515=38.81.163.143 +author:1622721008=jrmu +diff:1622721008:1621339554:=53c53%0a%3c 10 mail.example.com.%0a---%0a> 38.81.163.143%0a63c63%0a%3c 38.81.163.143%0a---%0a> 10 mail.example.com.%0a +host:1622721008=38.81.163.143 +author:1621339554=jrmu +diff:1621339554:1621339245:=70,71c70,71%0a%3c [[DNS/SPF|Sender Policy Framework]]%0a%3c %0a---%0a> [[dns/spf|Sender Policy Framework]]%0a> %0a78,79c78,79%0a%3c [[DNS/DMARC|DMARC]]%0a%3c %0a---%0a> [[dns/dmarc|DMARC]]%0a> %0a86c86%0a%3c [[DNS/DKIM|DKIM]]%0a---%0a> [[dns/dkim|DKIM]]%0a +host:1621339554=38.81.163.143 +author:1621339245=jrmu +diff:1621339245:1621338881:=70,71d69%0a%3c [[dns/spf|Sender Policy Framework]]%0a%3c %0a78,79d75%0a%3c [[dns/dmarc|DMARC]]%0a%3c %0a85,86d80%0a%3c %0a%3c [[dns/dkim|DKIM]]%0a +host:1621339245=38.81.163.143 +author:1621338881=jrmu +diff:1621338881:1621338217:=27c27%0a%3c Here we define the $ORIGIN to be example.com. The $ORIGIN will be appended to every record to produce a [[Dns/FQDN|fully qualified domain name]]. Make sure to read up on [[Dns/FQDN|FQDN]] if you do not understand what that means.%0a---%0a> Here we define the $ORIGIN to be example.com. The $ORIGIN will be appended to every record to produce a [[DNS/fqdn|fully qualified domain name]]. Make sure to read up on [[DNS/fqdn|FQDN]] if you do not understand what that means.%0a +host:1621338881=38.81.163.143 +author:1621338217=jrmu +diff:1621338217:1621336000:=29,30c29,30%0a%3c The [[DNS/SOA|Start of Authority record]] says that the serial number was last updated on May 3rd, 2021; that the refresh interval is 1800 seconds, the retry interval is 3600 seconds, the record expires after 1 day, and the minimum time to live is 3600 seconds.%0a%3c %0a---%0a> %0a> %0a36a37,42%0a> 3600 IN TXT "v=spf1 ip4:38.81.163.143 ip6:2602:fccf:1:143::/64 mx -all"%0a> _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@jrmu.coconut.ircnow.org;ruf=mailto:postmaster@jrmu.coconut.ircnow.org"%0a> $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a> _adsp 86400 IN TXT "dkim=discardable;"%0a> ;mail 86400 IN TXT "k=rsa; t=s; p=v=DKIM1;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ%0a> 8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a46,50d51%0a%3c %0a%3c When there is no name for the record, it just takes on the value of $ORIGIN: example.com.%0a%3c %0a%3c Line 1 defines the mail exchange (MX) record for example.com. When another mail server sends your server mail, it will perform two DNS queries. First, it asks what your MX record is for example.com:%0a%3c %0a52,70c53,64%0a%3c $ dig +short -t mx example.com%0a%3c 38.81.163.143%0a%3c @]%0a%3c %0a%3c Here, the MX record for example.com is mail.example.com with a value of 10. This means%0a%3c that mail.example.com is the actual mail server that will handle mail.%0a%3c %0a%3c Once an MX record is returned, the mail server will find the A/AAAA record for that mail server:%0a%3c %0a%3c [@%0a%3c $ dig +short -t a mail.example.com%0a%3c 10 mail.example.com.%0a%3c @]%0a%3c %0a%3c Normally, a domain will have multiple MX records so that if one mail server goes offline, another can continue serving mail. Most mail servers will choose the MX record with the lowest value to deliver to first.%0a%3c %0a%3c !! SPF record%0a%3c %0a%3c [@%0a---%0a> $ORIGIN jrmu.coconut.ircnow.org.%0a> jrmu.coconut.ircnow.org. 3600 SOA ns1.jrmu.coconut.ircnow.org. admin.jrmu.coconut.ircnow.org. (%0a> 2021050302 ; serial YYYYMMDDnn%0a> 1800 ; refresh%0a> 3600 ; retry%0a> 86400 ; expire%0a> 3600 ) ; minimum TTL%0a> 3600 IN MX 10 mail%0a> 3600 IN A 38.81.163.143%0a> 3600 IN AAAA 2602:fccf:1:143::%0a> 3600 IN NS ns1%0a> 3600 IN NS ns2%0a72,76d65%0a%3c @]%0a%3c %0a%3c !! DMARC records%0a%3c %0a%3c [@%0a78,82d66%0a%3c @]%0a%3c %0a%3c !! DKIM records%0a%3c %0a%3c [@%0a86a71,78%0a> mail 3600 IN A 38.81.163.143%0a> 3600 IN AAAA 2602:fccf:1:143::%0a> pop 3600 IN A 38.81.163.143%0a> 3600 IN AAAA 2602:fccf:1:143::%0a> imap 3600 IN A 38.81.163.143%0a> 3600 IN AAAA 2602:fccf:1:143::%0a> smtp 3600 IN A 38.81.163.143%0a> 3600 IN AAAA 2602:fccf:1:143::%0a +host:1621338217=38.81.163.143 +author:1621336000=jrmu +diff:1621336000:1621335616:=1,19c1,11%0a%3c (:title DNS for Mail:)%0a%3c %0a%3c Running a mail server requires a proper DNS records. %0a%3c %0a%3c !! Before you begin%0a%3c %0a%3c This guide assumes that you have already set up a properly functioning name server using%0a%3c [[nsd/configure|nsd]]. If you have not already, you will want to read up on [[dns/overview|basic DNS concepts]] and [[nsd/configure|set up your name server]].%0a%3c %0a%3c !! Adding to the zone file%0a%3c %0a%3c For mail, you will need to add DNS records. Let's take a look at a sample zone file%0a%3c containing only what is needed to handle mail:%0a%3c %0a%3c $ORIGIN and Start of Authority (SOA) record:%0a%3c %0a%3c [@%0a%3c $ORIGIN example.com.%0a%3c example.com. 3600 SOA ns1.example.com. admin.example.com. (%0a---%0a> !! DNS%0a> %0a> Running a mail server requires a proper DNS records. If you have not already, you will%0a> want to read up on [[dns/overview|DNS]] and [[nsd/configure|set up your name server]].%0a> %0a> You will need to [[DNS/Mail|add proper DNS records]] to your domain and make sure they work.%0a> %0a> For mail, you will need to add DNS records.%0a> %0a> $ORIGIN jrmu.coconut.ircnow.org.%0a> jrmu.coconut.ircnow.org. 3600 SOA ns1.jrmu.coconut.ircnow.org. admin.jrmu.coconut.ircnow.org. (%0a25,31d16%0a%3c @]%0a%3c %0a%3c Here we define the $ORIGIN to be example.com. The $ORIGIN will be appended to every record to produce a [[DNS/fqdn|fully qualified domain name]]. Make sure to read up on [[DNS/fqdn|FQDN]] if you do not understand what that means.%0a%3c %0a%3c %0a%3c %0a%3c [@%0a51,79d35%0a%3c @]%0a%3c [@%0a%3c $ORIGIN jrmu.coconut.ircnow.org.%0a%3c jrmu.coconut.ircnow.org. 3600 SOA ns1.jrmu.coconut.ircnow.org. admin.jrmu.coconut.ircnow.org. (%0a%3c 2021050302 ; serial YYYYMMDDnn%0a%3c 1800 ; refresh%0a%3c 3600 ; retry%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c 3600 IN MX 10 mail%0a%3c 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c 3600 IN NS ns1%0a%3c 3600 IN NS ns2%0a%3c 3600 IN TXT "v=spf1 ip4:38.81.163.143 ip6:2602:fccf:1:143::/64 mx -all"%0a%3c _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@jrmu.coconut.ircnow.org;ruf=mailto:postmaster@jrmu.coconut.ircnow.org"%0a%3c $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a%3c _adsp 86400 IN TXT "dkim=discardable;"%0a%3c ;mail 86400 IN TXT "k=rsa; t=s; p=v=DKIM1;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ%0a%3c 8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a%3c mail 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c pop 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c imap 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c smtp 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c @]%0a +host:1621336000=38.81.163.143 +author:1621335616=jrmu +diff:1621335616:1621335466:=1,7d0%0a%3c !! DNS%0a%3c %0a%3c Running a mail server requires a proper DNS records. If you have not already, you will%0a%3c want to read up on [[dns/overview|DNS]] and [[nsd/configure|set up your name server]].%0a%3c %0a%3c You will need to [[DNS/Mail|add proper DNS records]] to your domain and make sure they work.%0a%3c %0a +host:1621335616=38.81.163.143 +author:1621335466=jrmu +diff:1621335466:1621335466:=1,28d0%0a%3c For mail, you will need to add DNS records.%0a%3c %0a%3c $ORIGIN jrmu.coconut.ircnow.org.%0a%3c jrmu.coconut.ircnow.org. 3600 SOA ns1.jrmu.coconut.ircnow.org. admin.jrmu.coconut.ircnow.org. (%0a%3c 2021050302 ; serial YYYYMMDDnn%0a%3c 1800 ; refresh%0a%3c 3600 ; retry%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c 3600 IN MX 10 mail%0a%3c 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c 3600 IN NS ns1%0a%3c 3600 IN NS ns2%0a%3c 3600 IN TXT "v=spf1 ip4:38.81.163.143 ip6:2602:fccf:1:143::/64 mx -all"%0a%3c _dmarc 86400 IN TXT "v=DMARC1;p=none;pct=0;fo=1;rua=mailto:postmaster@jrmu.coconut.ircnow.org;ruf=mailto:postmaster@jrmu.coconut.ircnow.org"%0a%3c $ORIGIN _domainkey.jrmu.coconut.ircnow.org.%0a%3c _adsp 86400 IN TXT "dkim=discardable;"%0a%3c ;mail 86400 IN TXT "k=rsa; t=s; p=v=DKIM1;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ%0a%3c 8AMIIBCgKCAQEAyBhtr90v64hQTfw1sUtFPg5bYXF/SxUTNMziGJMql81av47DG+cDEPmQW0XN8+Tb8yIwenh01hZ5Xh1gjWg1v8OIrnErf3482B8XRZykHJQUdjcALnZ9gGZ9CnzAhIC3TsAnTDSHdgk3c0oqJeilriW0EIAkV2+x1jWlPunGJgJT/bSc2rzZsZv2gZmrrR+2f4aK7xTamAyFUl+cSP/kcoHbEmvXEOtqTQZTTDhxM6BKELUO0xBBhlrsq8C3q92OqZtwflK+IbJDyQPndORMR7R4itIj6O+LMFlYziPitM4egw3KADLZSlycJuTLkhCG5b/3VHFy+uUn3kQc+/s17QIDAQAB"%0a%3c mail 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c pop 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c imap 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a%3c smtp 3600 IN A 38.81.163.143%0a%3c 3600 IN AAAA 2602:fccf:1:143::%0a +host:1621335466=38.81.163.143 blob - /dev/null blob + 25aa6c839d9611eb839af9d29d04a305c65f56ec (mode 644) --- /dev/null +++ wiki.d/DNS.RDNS @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627886613 +host=38.87.162.8 +name=DNS.RDNS +rev=6 +targets=DNS.Mail,Dns.Vhost,DNS.Ipv4rDNS +text=(:title Reverse DNS:)%0a%0a!! Overview%0a%0aDNS helps us lookup the IP address of a name like @@example.com@@. But sometimes, we need to do the reverse: we need to figure out the name of an IP address.%0a%0aFor example, suppose we are given the IP address 192.0.2.1. What is the domain of that IP address?%0a%0aFinding the domain of an IP address is called reverse DNS (rDNS) lookup, and a system was created to help match every IP address with a domain name through the use of PTR (pointer) records.%0a%0a!! Uses%0a%0arDNS is used:%0a%0a# to prove that your mail server is [[DNS/mail|not spam]]%0a# in diagnostic tools like traceroute%0a# to provide a [[dns/vhost|vhost]] for identification on IRC%0a%0aEvery IP address should have a matching rDNS entry.%0a%0a!! IPv4 rDNS%0a%0aInformation for rDNS lookup is stored in the .arpa top-level domain. For IPv4 addresses, the information is stored in in-addr.arpa.%0ausing this format:%0a[@%0a%3cip address>%0a%3creverse of ip address>%0a%3creverse of ip address>.in-addr.arpa.%0a@]%0a%0aHere is an example:%0a%0a[@%0a192.0.2.1 # Original four numbers, separated by dots%0a1.2.0.192 # Reverse the four numbers%0a1.2.0.192.in-addr.arpa. # Add .in-addr.arpa.%0a@]%0a%0aSo the domain for 192.0.2.1 would be found in the PTR record for 1.2.0.192.in-addr.arpa.%0a%0aAs another example, suppose we want to do a reverse lookup of the IP address 209.141.39.173:%0a%0a[@%0a209.141.39.173 # Original four numbers, separated by dots%0a173.39.141.209 # Reverse the four numbers%0a173.39.141.209.in-addr.arpa. # Add .in-addr.arpa.%0a@]%0a%0aWe lookup the PTR record for 173.39.141.209.in-addr.arpa, which is ircnow.org.%0a%0a!! Forward confirmed DNS (fcDNS)%0a%0aThe normal DNS and reverse DNS should match. If the A record for ircnow.org points to 209.141.39.173 (which it does), then the IP address is also forward-confirmed.%0a%0a!! IPv6 rDNS%0a%0arDNS works similarly for IPv6 addresses. For example, suppose you have the IPv6 address 2001:db8::c001:d00d. To find the domain, we first fill in all the missing zeros, remove the colons, put dots between each digit, then reverse the digits, then add .ip6.arpa.:%0a%0a[@%0a2001:db8::c001:d00d # Original IPv6 Address%0a2001:0db8:0000:0000:0000:0000:c001:d00d # Fill in missing zeros (32 hex digits total)%0a2.0.0.1.0.d.b.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.0.0.1.d.0.0.d # Remove colons : and put periods between digits%0ad.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2 # Reverse digits%0ad.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. # Add .ip6.arpa.%0a@]%0a%0aFinally, we look up the PTR record for d.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. to find the domain.%0a%0aGenerally, an IP address should only have one PTR record. So, while many domains may resolve to a single IP address, an IP address can only resolve to one domain.%0a%0a!! Why Reverse?%0a%0aWe reverse the digits when performing reverse DNS lookup because DNS is like a tree, with the highest nodes coming at the end, and the lowest nodes in the beginning.%0a%0aFor example, for the domain @@www.example.com@@, the highest node is root ., followed by com, then example, then www%0a%0a[@%0a. # Highest node%0acom%0aexample%0awww # Lowest node%0a@]%0a%0aSo you see, for a domain name, the lowest node is written first and the highest node written last.%0a%0aFor a reverse lookup, we want to structure the PTR records in the same way, with the lowest node written first and the highest node written last. So we reverse the order of the numbers in the IP address.%0a%0aIf you don't define a reverse DNS entry, your ISP or service provider may define one for you:%0a%0a[@%0a$ host 192.168.0.1%0a1.0.169.192.in-addr.arpa domain name pointer 1-0-168-192.wifi.dynamic.isp.com.%0a@]%0a%0aThis reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[DNS/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS|IPv4]] and [[DNS.Ipv4rDNS|IPv6 rDNS]].%0a +time=1629674413 +title=Reverse DNS +author:1629674413=jrmu +diff:1629674413:1629670011:=95c95%0a%3c This reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[DNS/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS|IPv4]] and [[DNS.Ipv4rDNS|IPv6 rDNS]].%0a---%0a> This reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[DNS/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS/IPv4]] and [[DNS.Ipv4rDNS/IPv6 rDNS]].%0a +host:1629674413=38.87.162.8 +author:1629670011=mkf +diff:1629670011:1629667001:=24,31c24,25%0a%3c using this format:%0a%3c [@%0a%3c %3cip address>%0a%3c %3creverse of ip address>%0a%3c %3creverse of ip address>.in-addr.arpa.%0a%3c @]%0a%3c %0a%3c Here is an example:%0a---%0a> %0a> If you recall, an IPv4 address is made up of four numbers separated by dots. To find the domain, write the numbers in reverse order, then add .in-addr.arpa.:%0a +host:1629670011=198.251.81.133 +author:1629667001=mkf +diff:1629667001:1629666963:=89c89%0a%3c This reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[DNS/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS/IPv4]] and [[DNS.Ipv4rDNS/IPv6 rDNS]].%0a---%0a> This reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[dns/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS/IPv4]] and [[DNS.Ipv4rDNS/IPv6 rDNS]].%0a +host:1629667001=198.251.81.133 +author:1629666963=mkf +diff:1629666963:1627888870:=15c15%0a%3c # to prove that your mail server is [[DNS/mail|not spam]]%0a---%0a> # to prove that your mail server is [[dns/mail|not spam]]%0a +host:1629666963=198.251.81.133 +author:1627888870=jrmu +diff:1627888870:1627886613:=64,89d63%0a%3c %0a%3c !! Why Reverse?%0a%3c %0a%3c We reverse the digits when performing reverse DNS lookup because DNS is like a tree, with the highest nodes coming at the end, and the lowest nodes in the beginning.%0a%3c %0a%3c For example, for the domain @@www.example.com@@, the highest node is root ., followed by com, then example, then www%0a%3c %0a%3c [@%0a%3c . # Highest node%0a%3c com%0a%3c example%0a%3c www # Lowest node%0a%3c @]%0a%3c %0a%3c So you see, for a domain name, the lowest node is written first and the highest node written last.%0a%3c %0a%3c For a reverse lookup, we want to structure the PTR records in the same way, with the lowest node written first and the highest node written last. So we reverse the order of the numbers in the IP address.%0a%3c %0a%3c If you don't define a reverse DNS entry, your ISP or service provider may define one for you:%0a%3c %0a%3c [@%0a%3c $ host 192.168.0.1%0a%3c 1.0.169.192.in-addr.arpa domain name pointer 1-0-168-192.wifi.dynamic.isp.com.%0a%3c @]%0a%3c %0a%3c This reverse DNS entry looks like it was automatically generated for a residential ISP. Mail providers often rely on this to mark email coming from this IP as [[dns/mail|spam]]. Unfortunately, most residential ISPs do not allow you to configure your rDNS, which is why you will want to use a VPS or dedicated server for sending mail. VPSes and server hosts will generally allow you to configure your [[DNS.Ipv4rDNS/IPv4]] and [[DNS.Ipv4rDNS/IPv6 rDNS]].%0a +host:1627888870=38.87.162.8 +author:1627886613=jrmu +diff:1627886613:1627886613:=1,63d0%0a%3c (:title Reverse DNS:)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c DNS helps us lookup the IP address of a name like @@example.com@@. But sometimes, we need to do the reverse: we need to figure out the name of an IP address.%0a%3c %0a%3c For example, suppose we are given the IP address 192.0.2.1. What is the domain of that IP address?%0a%3c %0a%3c Finding the domain of an IP address is called reverse DNS (rDNS) lookup, and a system was created to help match every IP address with a domain name through the use of PTR (pointer) records.%0a%3c %0a%3c !! Uses%0a%3c %0a%3c rDNS is used:%0a%3c %0a%3c # to prove that your mail server is [[dns/mail|not spam]]%0a%3c # in diagnostic tools like traceroute%0a%3c # to provide a [[dns/vhost|vhost]] for identification on IRC%0a%3c %0a%3c Every IP address should have a matching rDNS entry.%0a%3c %0a%3c !! IPv4 rDNS%0a%3c %0a%3c Information for rDNS lookup is stored in the .arpa top-level domain. For IPv4 addresses, the information is stored in in-addr.arpa.%0a%3c %0a%3c If you recall, an IPv4 address is made up of four numbers separated by dots. To find the domain, write the numbers in reverse order, then add .in-addr.arpa.:%0a%3c %0a%3c [@%0a%3c 192.0.2.1 # Original four numbers, separated by dots%0a%3c 1.2.0.192 # Reverse the four numbers%0a%3c 1.2.0.192.in-addr.arpa. # Add .in-addr.arpa.%0a%3c @]%0a%3c %0a%3c So the domain for 192.0.2.1 would be found in the PTR record for 1.2.0.192.in-addr.arpa.%0a%3c %0a%3c As another example, suppose we want to do a reverse lookup of the IP address 209.141.39.173:%0a%3c %0a%3c [@%0a%3c 209.141.39.173 # Original four numbers, separated by dots%0a%3c 173.39.141.209 # Reverse the four numbers%0a%3c 173.39.141.209.in-addr.arpa. # Add .in-addr.arpa.%0a%3c @]%0a%3c %0a%3c We lookup the PTR record for 173.39.141.209.in-addr.arpa, which is ircnow.org.%0a%3c %0a%3c !! Forward confirmed DNS (fcDNS)%0a%3c %0a%3c The normal DNS and reverse DNS should match. If the A record for ircnow.org points to 209.141.39.173 (which it does), then the IP address is also forward-confirmed.%0a%3c %0a%3c !! IPv6 rDNS%0a%3c %0a%3c rDNS works similarly for IPv6 addresses. For example, suppose you have the IPv6 address 2001:db8::c001:d00d. To find the domain, we first fill in all the missing zeros, remove the colons, put dots between each digit, then reverse the digits, then add .ip6.arpa.:%0a%3c %0a%3c [@%0a%3c 2001:db8::c001:d00d # Original IPv6 Address%0a%3c 2001:0db8:0000:0000:0000:0000:c001:d00d # Fill in missing zeros (32 hex digits total)%0a%3c 2.0.0.1.0.d.b.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.0.0.1.d.0.0.d # Remove colons : and put periods between digits%0a%3c d.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2 # Reverse digits%0a%3c d.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. # Add .ip6.arpa.%0a%3c @]%0a%3c %0a%3c Finally, we look up the PTR record for d.0.0.d.1.0.0.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. to find the domain.%0a%3c %0a%3c Generally, an IP address should only have one PTR record. So, while many domains may resolve to a single IP address, an IP address can only resolve to one domain.%0a +host:1627886613=38.87.162.8 blob - /dev/null blob + 8d44021d3527edf27682585e072cdc1da54797ca (mode 644) --- /dev/null +++ wiki.d/DNS.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +charset=UTF-8 +ctime=1621335466 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=DNS.RecentChanges +rev=73 +text=* [[DNS/DMARC]] . . . November 22, 2021, at 10:52 PM by [[~Hawk]]: [==]%0a* [[DNS/DKIM]] . . . September 09, 2021, at 04:00 PM by [[~jrmu]]: [==]%0a* [[DNS/Ipv6rDNS]] . . . August 23, 2021, at 11:55 AM by [[~jrmu]]: [==]%0a* [[DNS/RDNS]] . . . August 22, 2021, at 11:20 PM by [[~jrmu]]: [==]%0a* [[DNS/Ipv4rDNS]] . . . July 23, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[DNS/Mail]] . . . June 17, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a* [[DNS/Dnswl]] . . . June 04, 2021, at 11:11 AM by [[~jrmu]]: [==]%0a* [[DNS/SPF]] . . . June 03, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a +time=1637621543 blob - /dev/null blob + 954ccd9a957dd2d2e72ea1bf1d2f0b40d10a8218 (mode 644) --- /dev/null +++ wiki.d/DNS.SPF @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1621339728 +host=38.81.163.143 +name=DNS.SPF +rev=8 +targets= +text=The Sender Policy Framework%0a%0aRead up on the [[http://www.open-spf.org/Introduction/|Sender Policy Framework]].%0a%0a!! Why?%0a%0aThere's nothing stopping someone from pretending to send mail from a fake address.%0aA scammer might send an from ceo@megacorp.com as follows:%0a%0a[@%0aPlease send me $10,000 to my temporary bank account 0123456789.%0a@]%0a%0aHow can we determine if sender's email address is fake or real? Sender Policy%0aFramework (SPF) is one tool.%0a%0a!! What it does%0a%0aSPF is a system that your mail server uses to check if the sender of the email%0acomes from the right server.%0a%0aAlmost all mail servers will check for SPF records. So, if you don't want your mail%0ato be marked as spam or phishing, you will want to set up proper DNS records.%0a%0a!! How it works%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Qualifier ||! Result ||! Meaning ||! Action ||%0a|| + || Pass || Can send || Accept ||%0a|| - || Fail || Cannot send || Reject ||%0a|| ~ || SoftFail || Cannot send but still in transition || Accept but mark ||%0a|| ? || Neutral || Neutral || Accept ||%0a|| || None || No matching SPF record || Accept ||%0a|| || PermError || Error (bad SPF record) || Unknown ||%0a|| || TempError || Temporary Error || ? ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Mechanism ||! Meaning ||%0a|| all || Always matches ||%0a|| ip4:%3caddress>/%3cprefix> || Matches IPv4 address/subnet ||%0a|| ip6:%3caddress>/%3cprefix> || Matches IPv6 address/subnet ||%0a|| a:%3cdomain> || Matches IPv4 address from A record (or AAAA record if IPv6); uses current domain if none given ||%0a|| mx:%3cdomain> || Matches IP addresses of MX records; uses current domain MX if none given ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Record ||! Meaning ||%0a|| @@"v=spf1 mx -all"@@ || Allow MXes to send mail, deny all others. ||%0a|| @@"v=spf1 -all"@@ || The domain cannot send any mail. ||%0a|| @@"v=spf1 +all"@@ || Anyone can send mail for this domain (SPF becomes useless) ||%0a|| @@"v=spf1 ip4:192.168.0.1/24 -all"@@ || IPs between 192.168.0.1 and 192.168.0.255 can send ||%0a|| @@"v=spf1 ip6:2001:db8::/96 -all"@@ || The IPv6 subnet 2001:db8::/96 can send ||%0a|| @@"v=spf1 a -all"@@ || IPs from current domain can send mail ||%0a|| @@"v=spf1 a:example.com -all"@@ || IPs from example.com can send mail ||%0a|| @@"v=spf1 mx mx:mail.example.com -all"@@ || IPs from MX servers for current domain and mail.example.com can send ||%0a +time=1622726858 +author:1622726858=jrmu +diff:1622726858:1622725877:=40,44c40,44%0a%3c || ip4:%3caddress>/%3cprefix> || Matches IPv4 address/subnet ||%0a%3c || ip6:%3caddress>/%3cprefix> || Matches IPv6 address/subnet ||%0a%3c || a:%3cdomain> || Matches IPv4 address from A record (or AAAA record if IPv6); uses current domain if none given ||%0a%3c || mx:%3cdomain> || Matches IP addresses of MX records; uses current domain MX if none given ||%0a%3c %0a---%0a> || ip4:%3caddress> || Matches single IPv4 address ||%0a> || ip4:%3caddress>/%3cprefix> || Match IPv4 subnet ||%0a> || ip6:%3caddress> || Matches single IPv6 address ||%0a> || ip6:%3caddress>/%3cprefix> || Match IPv6 subnet ||%0a> %0a52,54d51%0a%3c || @@"v=spf1 a -all"@@ || IPs from current domain can send mail ||%0a%3c || @@"v=spf1 a:example.com -all"@@ || IPs from example.com can send mail ||%0a%3c || @@"v=spf1 mx mx:mail.example.com -all"@@ || IPs from MX servers for current domain and mail.example.com can send ||%0a +host:1622726858=38.81.163.143 +author:1622725877=jrmu +diff:1622725877:1622725762:=28c28%0a%3c ||! Qualifier ||! Result ||! Meaning ||! Action ||%0a---%0a> || Qualifier || Result || Meaning || Action ||%0a38c38%0a%3c ||! Mechanism ||! Meaning ||%0a---%0a> || Mechanism || Meaning ||%0a46c46%0a%3c ||! Record ||! Meaning ||%0a---%0a> || Record || Meaning ||%0a +host:1622725877=125.231.28.9 +author:1622725762=jrmu +diff:1622725762:1622725339:=27d26%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a37d35%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a45d42%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1622725762=125.231.28.9 +author:1622725339=jrmu +diff:1622725339:1622724079:=36,48c36,43%0a%3c || Mechanism || Meaning ||%0a%3c || all || Always matches ||%0a%3c || ip4:%3caddress> || Matches single IPv4 address ||%0a%3c || ip4:%3caddress>/%3cprefix> || Match IPv4 subnet ||%0a%3c || ip6:%3caddress> || Matches single IPv6 address ||%0a%3c || ip6:%3caddress>/%3cprefix> || Match IPv6 subnet ||%0a%3c %0a%3c || Record || Meaning ||%0a%3c || @@"v=spf1 mx -all"@@ || Allow MXes to send mail, deny all others. ||%0a%3c || @@"v=spf1 -all"@@ || The domain cannot send any mail. ||%0a%3c || @@"v=spf1 +all"@@ || Anyone can send mail for this domain (SPF becomes useless) ||%0a%3c || @@"v=spf1 ip4:192.168.0.1/24 -all"@@ || IPs between 192.168.0.1 and 192.168.0.255 can send ||%0a%3c || @@"v=spf1 ip6:2001:db8::/96 -all"@@ || The IPv6 subnet 2001:db8::/96 can send ||%0a---%0a> Here are some example records:%0a> %0a> [@%0a> "v=spf1 -all"%0a> "v=spf1 a -all"%0a> "v=spf1 a mx -all"%0a> "v=spf1 +a +mx -all"%0a> @]%0a +host:1622725339=38.81.163.143 +author:1622724079=jrmu +diff:1622724079:1622722128:=26a27,33%0a> There are four qualifiers:%0a> %0a> # + Pass%0a> # - Fail%0a> # ~ SoftFail%0a> # ? Neutral%0a> %0a38d44%0a%3c [@%0a43c49%0a%3c @]%0a---%0a> %0a +host:1622724079=38.81.163.143 +author:1622722128=jrmu +diff:1622722128:1622721570:=26,49d25%0a%3c %0a%3c There are four qualifiers:%0a%3c %0a%3c # + Pass%0a%3c # - Fail%0a%3c # ~ SoftFail%0a%3c # ? Neutral%0a%3c %0a%3c || Qualifier || Result || Meaning || Action ||%0a%3c || + || Pass || Can send || Accept ||%0a%3c || - || Fail || Cannot send || Reject ||%0a%3c || ~ || SoftFail || Cannot send but still in transition || Accept but mark ||%0a%3c || ? || Neutral || Neutral || Accept ||%0a%3c || || None || No matching SPF record || Accept ||%0a%3c || || PermError || Error (bad SPF record) || Unknown ||%0a%3c || || TempError || Temporary Error || ? ||%0a%3c %0a%3c Here are some example records:%0a%3c %0a%3c "v=spf1 -all"%0a%3c "v=spf1 a -all"%0a%3c "v=spf1 a mx -all"%0a%3c "v=spf1 +a +mx -all"%0a%3c %0a +host:1622722128=38.81.163.143 +author:1622721570=jrmu +diff:1622721570:1621339728:=4,25d3%0a%3c %0a%3c !! Why?%0a%3c %0a%3c There's nothing stopping someone from pretending to send mail from a fake address.%0a%3c A scammer might send an from ceo@megacorp.com as follows:%0a%3c %0a%3c [@%0a%3c Please send me $10,000 to my temporary bank account 0123456789.%0a%3c @]%0a%3c %0a%3c How can we determine if sender's email address is fake or real? Sender Policy%0a%3c Framework (SPF) is one tool.%0a%3c %0a%3c !! What it does%0a%3c %0a%3c SPF is a system that your mail server uses to check if the sender of the email%0a%3c comes from the right server.%0a%3c %0a%3c Almost all mail servers will check for SPF records. So, if you don't want your mail%0a%3c to be marked as spam or phishing, you will want to set up proper DNS records.%0a%3c %0a%3c !! How it works%0a +host:1622721570=38.81.163.143 +author:1621339728=jrmu +diff:1621339728:1621339728:=1,3d0%0a%3c The Sender Policy Framework%0a%3c %0a%3c Read up on the [[http://www.open-spf.org/Introduction/|Sender Policy Framework]].%0a +host:1621339728=38.81.163.143 blob - /dev/null blob + 658b79565dae0720a6e8eb034ff4343c735499ab (mode 644) --- /dev/null +++ wiki.d/Debate.Accessibility @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006445 +host=198.251.81.119 +name=Debate.Accessibility +rev=1 +targets= +text=https://adaptivewebdesign.info/1st-edition/read +time=1609006445 +author:1609006445=jrmu +diff:1609006445:1609006445:=1d0%0a%3c https://adaptivewebdesign.info/1st-edition/read%0a\ No newline at end of file%0a +host:1609006445=198.251.81.119 blob - /dev/null blob + 110112966ffdcfdea8bdb26fbf47d91e02753c1c (mode 644) --- /dev/null +++ wiki.d/Debate.Appledanger @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006648 +host=198.251.81.119 +name=Debate.Appledanger +rev=7 +targets= +text=(:title Apple Exploits You:)%0a%0a!! search_social write it for me%0a%0ahttps://news.ycombinator.com/item?id=25074959%0ahttps://www.nytimes.com/2019/05/13/us/politics/supreme-court-antitrust-apple.html%0a[04:03:16] %3cjrmu> https://arstechnica.com/gaming/2020/11/judge-dismisses-apples-theft-claims-in-epic-games-lawsuit/%0a[04:03:21] %3cjrmu> Judge dismisses Apple’s “theft” claims in Epic Games lawsuit%0a[04:03:26] %3cjrmu> "Although Epic portrays itself as a modern corporate Robin Hood, in reality it is a multi-billion dollar enterprise that simply wants to pay nothing for the tremendous value it derives from the App Store," Apple stated bluntly in its September motion.%0a[04:03:31] %3cjrmu> Casey argued at the hearing that Epic "has funds that should be in Apple’s possession... Epic has abused funds that should be in Apple’s hands." But Rogers noted that only 30 percent of those funds arguably belong to Apple, and, crucially, that "the 30 percent is in dispute" in the still unsettled case. %0a[04:04:06] %3cjrmu> Casey argued at the hearing that Epic "has funds that should be in Apple’s possession... Epic has abused funds that should be in Apple’s hands." But Rogers noted that only 30 percent of those funds arguably belong to Apple, and, crucially, that "the 30 percent is in dispute" in the still unsettled case. %0a%0a[09:37:13] %3cjrmu> https://sneak.berlin/20201112/your-computer-isnt-yours/%0a[09:37:19] %3cjrmu> Your Computer Isn't Yours %0a[09:37:22] %3cjrmu> On modern versions of macOS, you simply can’t power on your computer, launch a text editor or eBook reader, and write or read, without a log of your activity being transmitted and stored.%0a[09:37:27] %3cjrmu> It turns out that in the current version of the macOS, the OS sends to%0a Apple a hash (unique identifier) of each and every program you run, when you run it. Lo%0ats of people didn’t realize this, because it’s silent and invisible and it fails instant%0aly and gracefully when you’re offline, but today the server got really slow and it didn’%0at hit the fail-fast code path, and everyone’s apps failed to open %0a[09:37:33] %3cjrmu> if they were connected to the internet.%0a[09:38:01] %3cjrmu> The version of macOS that was released today, 11.0, also known as Big %0aSur, has new APIs that prevent Little Snitch from working the same way. The new APIs don%0a’t permit Little Snitch to inspect or block any OS level processes. Additionally, the ne%0aw rules in macOS 11 even hobble VPNs so that Apple apps will simply bypass them.%0a +time=1609551331 +title=Apple Exploits You +author:1609551331=jrmu +diff:1609551331:1609551304:=1,2d0%0a%3c (:title Apple Exploits You:)%0a%3c %0a +host:1609551331=198.251.81.119 +author:1609551304=jrmu +diff:1609551304:1609551288:=1c1%0a%3c !! search_social write it for me%0a---%0a> !! search_social%0a +host:1609551304=198.251.81.119 +author:1609551288=jrmu +diff:1609551288:1609006747:=1,2d0%0a%3c !! search_social%0a%3c %0a +host:1609551288=198.251.81.119 +author:1609006747=jrmu +diff:1609006747:1609006687:=8,21d7%0a%3c %0a%3c [09:37:13] %3cjrmu> https://sneak.berlin/20201112/your-computer-isnt-yours/%0a%3c [09:37:19] %3cjrmu> Your Computer Isn't Yours %0a%3c [09:37:22] %3cjrmu> On modern versions of macOS, you simply can’t power on your computer, launch a text editor or eBook reader, and write or read, without a log of your activity being transmitted and stored.%0a%3c [09:37:27] %3cjrmu> It turns out that in the current version of the macOS, the OS sends to%0a%3c Apple a hash (unique identifier) of each and every program you run, when you run it. Lo%0a%3c ts of people didn’t realize this, because it’s silent and invisible and it fails instant%0a%3c ly and gracefully when you’re offline, but today the server got really slow and it didn’%0a%3c t hit the fail-fast code path, and everyone’s apps failed to open %0a%3c [09:37:33] %3cjrmu> if they were connected to the internet.%0a%3c [09:38:01] %3cjrmu> The version of macOS that was released today, 11.0, also known as Big %0a%3c Sur, has new APIs that prevent Little Snitch from working the same way. The new APIs don%0a%3c ’t permit Little Snitch to inspect or block any OS level processes. Additionally, the ne%0a%3c w rules in macOS 11 even hobble VPNs so that Apple apps will simply bypass them.%0a +host:1609006747=198.251.81.119 +author:1609006687=jrmu +diff:1609006687:1609006656:=2,7c2%0a%3c https://www.nytimes.com/2019/05/13/us/politics/supreme-court-antitrust-apple.html%0a%3c [04:03:16] %3cjrmu> https://arstechnica.com/gaming/2020/11/judge-dismisses-apples-theft-claims-in-epic-games-lawsuit/%0a%3c [04:03:21] %3cjrmu> Judge dismisses Apple’s “theft” claims in Epic Games lawsuit%0a%3c [04:03:26] %3cjrmu> "Although Epic portrays itself as a modern corporate Robin Hood, in reality it is a multi-billion dollar enterprise that simply wants to pay nothing for the tremendous value it derives from the App Store," Apple stated bluntly in its September motion.%0a%3c [04:03:31] %3cjrmu> Casey argued at the hearing that Epic "has funds that should be in Apple’s possession... Epic has abused funds that should be in Apple’s hands." But Rogers noted that only 30 percent of those funds arguably belong to Apple, and, crucially, that "the 30 percent is in dispute" in the still unsettled case. %0a%3c [04:04:06] %3cjrmu> Casey argued at the hearing that Epic "has funds that should be in Apple’s possession... Epic has abused funds that should be in Apple’s hands." But Rogers noted that only 30 percent of those funds arguably belong to Apple, and, crucially, that "the 30 percent is in dispute" in the still unsettled case. %0a---%0a> https://www.nytimes.com/2019/05/13/us/politics/supreme-court-antitrust-apple.html%0a\ No newline at end of file%0a +host:1609006687=198.251.81.119 +author:1609006656=jrmu +diff:1609006656:1609006648:=1,2c1%0a%3c https://news.ycombinator.com/item?id=25074959%0a%3c https://www.nytimes.com/2019/05/13/us/politics/supreme-court-antitrust-apple.html%0a\ No newline at end of file%0a---%0a> https://news.ycombinator.com/item?id=25074959%0a\ No newline at end of file%0a +host:1609006656=198.251.81.119 +author:1609006648=jrmu +diff:1609006648:1609006648:=1d0%0a%3c https://news.ycombinator.com/item?id=25074959%0a\ No newline at end of file%0a +host:1609006648=198.251.81.119 blob - /dev/null blob + 5087d07dd7b9a93d12161a32a53b07e96bb72e33 (mode 644) --- /dev/null +++ wiki.d/Debate.Bncnow @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1599194145 +host=38.81.163.143 +name=Debate.Bncnow +rev=2 +targets= +text=!! psyBNC is the bouncer of the future%0a%0a# Written in C, a UNIX hacker's best friend.%0a# psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a# Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a%0a!! Handle SSL Intelligently%0a%0aTry:%0a%0a# verified SSL -- if this succeeds, no warnings%0a# non-verified SSL -- if this works, issue one warning (don't repeat over and over like znc does)%0a# plaintext -- issue one warning (no repeats)%0a%0a!! Handle GLINEs and timeouts intelligently%0a%0a# If glined, issue a warning and then disconnect, retry again every 5 minutes%0a +time=1599194188 +author:1599194188=jrmu +diff:1599194188:1599194145:=1,6d0%0a%3c !! psyBNC is the bouncer of the future%0a%3c %0a%3c # Written in C, a UNIX hacker's best friend.%0a%3c # psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a%3c # Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a%3c %0a +host:1599194188=38.81.163.143 +author:1599194145=jrmu +diff:1599194145:1599194145:=1,11d0%0a%3c !! Handle SSL Intelligently%0a%3c %0a%3c Try:%0a%3c %0a%3c # verified SSL -- if this succeeds, no warnings%0a%3c # non-verified SSL -- if this works, issue one warning (don't repeat over and over like znc does)%0a%3c # plaintext -- issue one warning (no repeats)%0a%3c %0a%3c !! Handle GLINEs and timeouts intelligently%0a%3c %0a%3c # If glined, issue a warning and then disconnect, retry again every 5 minutes%0a +host:1599194145=38.81.163.143 blob - /dev/null blob + 1ef503e93ea0cdd97fb68eaee58dc139d109c043 (mode 644) --- /dev/null +++ wiki.d/Debate.Cash @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006250 +host=198.251.81.119 +name=Debate.Cash +rev=2 +targets= +text=https://www.nytimes.com/2020/09/11/your-money/cash-credit-cards-coronavirus.html%0ahttps://www.weforum.org/agenda/2016/11/shopping-i-can-t-really-remember-what-that-is +time=1609006710 +author:1609006710=jrmu +diff:1609006710:1609006250:=1,2c1%0a%3c https://www.nytimes.com/2020/09/11/your-money/cash-credit-cards-coronavirus.html%0a%3c https://www.weforum.org/agenda/2016/11/shopping-i-can-t-really-remember-what-that-is%0a\ No newline at end of file%0a---%0a> https://www.nytimes.com/2020/09/11/your-money/cash-credit-cards-coronavirus.html%0a\ No newline at end of file%0a +host:1609006710=198.251.81.119 +author:1609006250=jrmu +diff:1609006250:1609006250:=1d0%0a%3c https://www.nytimes.com/2020/09/11/your-money/cash-credit-cards-coronavirus.html%0a\ No newline at end of file%0a +host:1609006250=198.251.81.119 blob - /dev/null blob + 53718dee00f037b2d0de672932f49efe2ec0fd0e (mode 644) --- /dev/null +++ wiki.d/Debate.Controlcomputer @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609038179 +host=198.251.81.119 +name=Debate.Controlcomputer +rev=1 +targets= +text=https://www.theverge.com/2020/2/13/21136699/tesla-autopilot-used-model-s-owner-restored-assistance-features%0a%0ahttps://www.npr.org/sections/alltechconsidered/2017/04/09/523024776/farmers-look-for-ways-to-circumvent-tractor-software-locks +time=1609038179 +author:1609038179=jrmu +diff:1609038179:1609038179:=1,3d0%0a%3c https://www.theverge.com/2020/2/13/21136699/tesla-autopilot-used-model-s-owner-restored-assistance-features%0a%3c %0a%3c https://www.npr.org/sections/alltechconsidered/2017/04/09/523024776/farmers-look-for-ways-to-circumvent-tractor-software-locks%0a\ No newline at end of file%0a +host:1609038179=198.251.81.119 blob - /dev/null blob + c9a37266f5aac6c83a7395d62f8cfdb9615cb86d (mode 644) --- /dev/null +++ wiki.d/Debate.DCC @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1598275691 +host=198.251.81.133 +name=Debate.DCC +rev=2 +targets= +text=[@%0a21:24 %3c~jrmu> I plan to use dcc for file upload%0a21:24 %3c~jrmu> you would dcc your file to a bot%0a21:24 %3c~jrmu> the bot would dump it to a web folder%0a21:24 %3c~jrmu> and paste the URL%0a21:24 %3c~jrmu> that is how i plan to do in-band file upload%0a21:24 %3c~jrmu> this will work with every single irc client out there%0a21:24 %3c~jrmu> no need to use irccloud%0a21:25 %3c~jrmu> so dcc is essential to my strategy for file upload%0a21:25 %3c~jrmu> i figure i can also shove a lot of signaling and other data via dcc%0a21:25 %3c~jrmu> you could dcc chat in lieu of pastebin%0a21:25 %3c~jrmu> initiate a dcc chat to upload your code%0a21:25 %3c~jrmu> the bot would then paste a url%0a21:25 %3c~jrmu> ok thank you Testah %0a21:25 %3c~jrmu> this to me seems a much more elegant solution%0a21:26 %3c~jrmu> than building a web browser into every single irc client%0a21:26 %3c~jrmu> it has the advantage that it will work on irssi, ircII, weechat, mirc 6, and all sorts of ancient irc clients%0a21:26 %3c~jrmu> DCC is there, we might as well use it%0a@] +time=1624981790 +author:1624981790=mkf +diff:1624981790:1598275691:minor=1d0%0a%3c [@%0a17c16,17%0a%3c 21:26 %3c~jrmu> it has the advantage that it will work on irssi, ircII, weechat, mirc 6, and all sorts of ancient irc clients%0a---%0a> 21:26 %3c~jrmu> it has the advantage that it will work on irssi, ircII, weechat, mirc 6, %0a> and all sorts of ancient irc clients%0a19d18%0a%3c @]%0a\ No newline at end of file%0a +host:1624981790=198.251.81.133 +author:1598275691=jrmu +diff:1598275691:1598275691:=1,18d0%0a%3c 21:24 %3c~jrmu> I plan to use dcc for file upload%0a%3c 21:24 %3c~jrmu> you would dcc your file to a bot%0a%3c 21:24 %3c~jrmu> the bot would dump it to a web folder%0a%3c 21:24 %3c~jrmu> and paste the URL%0a%3c 21:24 %3c~jrmu> that is how i plan to do in-band file upload%0a%3c 21:24 %3c~jrmu> this will work with every single irc client out there%0a%3c 21:24 %3c~jrmu> no need to use irccloud%0a%3c 21:25 %3c~jrmu> so dcc is essential to my strategy for file upload%0a%3c 21:25 %3c~jrmu> i figure i can also shove a lot of signaling and other data via dcc%0a%3c 21:25 %3c~jrmu> you could dcc chat in lieu of pastebin%0a%3c 21:25 %3c~jrmu> initiate a dcc chat to upload your code%0a%3c 21:25 %3c~jrmu> the bot would then paste a url%0a%3c 21:25 %3c~jrmu> ok thank you Testah %0a%3c 21:25 %3c~jrmu> this to me seems a much more elegant solution%0a%3c 21:26 %3c~jrmu> than building a web browser into every single irc client%0a%3c 21:26 %3c~jrmu> it has the advantage that it will work on irssi, ircII, weechat, mirc 6, %0a%3c and all sorts of ancient irc clients%0a%3c 21:26 %3c~jrmu> DCC is there, we might as well use it%0a +host:1598275691=38.81.163.143 blob - /dev/null blob + af14d307008769dd02ff6a79210fb122c080ecee (mode 644) --- /dev/null +++ wiki.d/Debate.Debate @@ -0,0 +1,204 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596257397 +host=198.251.81.119 +name=Debate.Debate +rev=64 +targets=Debate.Ircv3defense,Debate.Zncdefense,Debate.Zncflaws,Debate.Bncnow,Debate.Linuxflaws,Debate.Ethicalflaws,EthicalSource.HolierThanThou,Debate.Bsd,Debate.WhyC,Debate.WhyNotC,Debate.Nodejstrap,Debate.Python,Debate.Webirc,Debate.Matrixflaws,Debate.Fediverseflaws,Debate.Wikistyle,Debate.Accessibility,Debate.DCC,Debate.Outreachkids,Debate.Monero,Debate.Hatespeech,Debate.Freespeech,Debate.Firstamendment,Debate.Oldsoftware,Debate.Xmlflaws,Debate.Openweb,Debate.Controlcomputer,Debate.Providers,Debate.Ipsec,Debate.Dogfooding,Debate.Servicewithasmiley,Jrmu.Marriage,Jrmu.Rmsboycott,Freedom.Union,Spam.Statistical,Freedom.Independence,Freedom.Bearcode,Freenode.Takeover,Freenode.Money,Freenode.Power,Freedom.Destiny,Debate.Monopolydanger,Debate.Googledanger,Debate.Appledanger,Debate.Microsoftdanger,Debate.Facebookdanger,Debate.Amazondanger,Debate.Mozilladanger,Debate.Zoomdanger,Debate.Uberdanger,Debate.Discorddanger,Debate.Youtubedanger,Debate.Wikipediadanger,Debate.Slackdanger,Debate.Debiandanger,Debate.Dohdanger,CloudFlare.Cons,Debate.Cash,Third.Third,Debate.Privacy,Debate.Partners +text=Here are some issues debated within IRCNow:%0a%0a# [[debate/ircv3defense|IRCv3 Defense]]%0a# [[debate/zncdefense|ZNC Defense]]%0a%0a----%0a%0a# [[debate/zncflaws|Flawed by Design: Why ZNC Is Obsolete]]%0a# [[debate/bncnow|bncnow: the user's bouncer]]%0a# [[debate/linuxflaws|Why We Can't Trust Linux]]%0a# [[debate/ethicalflaws|Why We Must Reject Ethical Licenses]]%0a# [[EthicalSource/HolierThanThou|Ethical Licenses: Holier Than Thou]]%0a# [[debate/bsd|Why We Must Use BSD]]%0a# C%0a## [[debate/whyC|C: Mankind's Last Hope]]%0a## [[debate/whyNotC|C Programming is too Obscure to be The One True User Language (TOTUL)]]%0a# [[debate/nodejstrap|Node JS Trap]]%0a# [[debate/python|Python]]%0a# [[debate/webirc|WebIRC Done Right]]%0a# [[debate/matrixflaws|Why We Can't Trust Matrix]]%0a# [[debate/fediverseflaws|Why We Can't Trust Fediverse]]%0a# [[debate/wikistyle|Wiki Style Guide]]%0a# [[debate/accessibility|Accessibility]]%0a# [[debate/DCC|DCC]]%0a# [[debate/outreachkids|Outreach for Kids]]%0a# [[debate/monero|Why Monero]]%0a# [[debate/hatespeech|Safe Space = Arbitrary Censorship]]%0a# [[debate/freespeech|Free Speech Providers]]%0a# [[debate/firstamendment|First Amendment]]%0a# [[debate/oldsoftware|Why Old Software Rocks]]%0a# [[debate/xmlflaws|Don't use XML]]%0a# [[debate/openweb|We need an open web]]%0a# [[debate/controlcomputer|Do you control your computer?]]%0a# [[debate/providers|List of Free Speech Providers]]%0a# [[debate/ipsec|IPSec, not WireGuard]]%0a# [[debate/dogfooding|You must dogfood]]%0a# [[debate/servicewithasmiley|Service with a Smiley]]%0a# [[jrmu/marriage|jrmu's Statement on Marriage]]%0a# [[jrmu/rmsboycott|Liberty or Death]]%0a# [[freedom/union|Freedom: Unity]]%0a# [[Spam/Statistical|Statistical Method to Fight IRC Spam]]%0a# [[freedom/independence|Network Independence]]%0a# [[freedom/bearcode|The Right to Bear Code]]%0a# [[freenode/takeover|Freenode Takeover]]%0a# [[freenode/money|Freenode Money]]%0a# [[freenode/power|Freenode Power]]%0a# [[freedom/destiny|Protocol Destiny]]%0a%0a----%0a%0a# [[debate/monopolydanger|The danger of monopolies]]%0a# [[debate/googledanger|The danger of Google]]%0a# [[debate/appledanger|The danger of Apple]]%0a# [[debate/microsoftdanger|The danger of Microsoft]]%0a# [[debate/facebookdanger|The danger of Facebook]]%0a# [[debate/amazondanger|The danger of Amazon]]%0a# [[debate/mozilladanger|The danger of Mozilla]]%0a# [[debate/zoomdanger|The danger of Zoom]]%0a# [[debate/uberdanger|The danger of Uber]]%0a# [[debate/discorddanger|The danger of Discord]]%0a# [[debate/youtubedanger|The danger of YouTube]]%0a# [[debate/wikipediadanger|The danger of Wikipedia]]%0a# [[debate/slackdanger|The danger of Slack]]%0a# [[debate/debiandanger|The danger of Debian]]%0a# [[debate/dohdanger|DoH will increase censorship]]%0a# [[CloudFlare/Cons|CloudFlare]]%0a%0a----%0a%0a# [[debate/cash|Why we need cash]]%0a%0a----%0a%0a# [[third/third|Third Party]]%0a# [[debate/privacy|Privacy]]%0a# [[debate/partners|Rules for Partner Networks]] +time=1624979777 +author:1624979777=jrmu +diff:1624979777:1624979727:=25d24%0a%3c # [[debate/outreachkids|Outreach for Kids]]%0a +host:1624979777=198.251.81.119 +author:1624979727=jrmu +diff:1624979727:1623991023:=24a25%0a> # [[debate/outreachkids|Outreach for Kids]]%0a +host:1624979727=198.251.81.119 +author:1623991023=jrmu +diff:1623991023:1622788658:=47d46%0a%3c # [[freedom/destiny|Protocol Destiny]]%0a +host:1623991023=198.251.81.119 +author:1622788658=jrmu +diff:1622788658:1617454799:=44,46d43%0a%3c # [[freenode/takeover|Freenode Takeover]]%0a%3c # [[freenode/money|Freenode Money]]%0a%3c # [[freenode/power|Freenode Power]]%0a +host:1622788658=125.231.28.9 +author:1617454799=jrmu +diff:1617454799:1617161693:=12d11%0a%3c # [[EthicalSource/HolierThanThou|Ethical Licenses: Holier Than Thou]]%0a +host:1617454799=198.251.81.44 +author:1617161693=jrmu +diff:1617161693:1612762815:=38d37%0a%3c # [[jrmu/rmsboycott|Liberty or Death]]%0a +host:1617161693=198.251.81.44 +author:1612762815=jrmu +diff:1612762815:1612675000:=41d40%0a%3c # [[freedom/bearcode|The Right to Bear Code]]%0a +host:1612762815=198.251.81.119 +author:1612675000=jrmu +diff:1612675000:1612672796:=40c40%0a%3c # [[freedom/independence|Network Independence]]%0a---%0a> # [[freedom/independence|Declaration of Independence]]%0a +host:1612675000=198.251.81.119 +author:1612672796=jrmu +diff:1612672796:1612611232:=40d39%0a%3c # [[freedom/independence|Declaration of Independence]]%0a +host:1612672796=198.251.81.119 +author:1612611232=jrmu +diff:1612611232:1612611209:=38c38%0a%3c # [[freedom/union|Freedom: Unity]]%0a---%0a> # [[freedom/unity|Freedom: Unity]]%0a +host:1612611232=198.251.81.119 +author:1612611209=jrmu +diff:1612611209:1612412395:=38d37%0a%3c # [[freedom/unity|Freedom: Unity]]%0a +host:1612611209=198.251.81.119 +author:1612412395=jrmu +diff:1612412395:1612095600:=57d56%0a%3c # [[CloudFlare/Cons|CloudFlare]]%0a +host:1612412395=198.251.81.119 +author:1612095600=jrmu +diff:1612095600:1611837769:=38d37%0a%3c # [[Spam/Statistical|Statistical Method to Fight IRC Spam]]%0a +host:1612095600=125.224.24.163 +author:1611837769=jrmu +diff:1611837769:1611574681:=28d27%0a%3c # [[debate/firstamendment|First Amendment]]%0a +host:1611837769=125.231.24.226 +author:1611574681=jrmu +diff:1611574681:1611543232:=35d34%0a%3c # [[debate/servicewithasmiley|Service with a Smiley]]%0a +host:1611574681=125.231.20.163 +author:1611543232=jrmu +diff:1611543232:1610838205:=34d33%0a%3c # [[debate/dogfooding|You must dogfood]]%0a +host:1611543232=125.231.20.163 +author:1610838205=jrmu +diff:1610838205:1610534065:=34d33%0a%3c # [[jrmu/marriage|jrmu's Statement on Marriage]]%0a +host:1610838205=125.231.29.130 +author:1610534065=jrmu +diff:1610534065:1609846957:=33d32%0a%3c # [[debate/ipsec|IPSec, not WireGuard]]%0a +host:1610534065=125.224.27.48 +author:1609846957=jrmu +diff:1609846957:1609475461:=14c14%0a%3c ## [[debate/whyC|C: Mankind's Last Hope]]%0a---%0a> ## [[debate/whyC|Education in C Programming is the Users' Defense]]%0a +host:1609846957=125.231.63.134 +author:1609475461=jrmu +diff:1609475461:1609322096:=58d57%0a%3c # [[third/third|Third Party]]%0a +host:1609475461=198.251.81.119 +author:1609322096=jrmu +diff:1609322096:1609038378:=32d31%0a%3c # [[debate/providers|List of Free Speech Providers]]%0a +host:1609322096=198.251.81.119 +author:1609038378=jrmu +diff:1609038378:1609038162:=49d48%0a%3c # [[debate/dohdanger|DoH will increase censorship]]%0a +host:1609038378=198.251.81.119 +author:1609038162=jrmu +diff:1609038162:1609037933:=31d30%0a%3c # [[debate/controlcomputer|Do you control your computer?]]%0a +host:1609038162=198.251.81.119 +author:1609037933=jrmu +diff:1609037933:1609037835:=30d29%0a%3c # [[debate/openweb|We need an open web]]%0a +host:1609037933=198.251.81.119 +author:1609037835=jrmu +diff:1609037835:1609037750:=46d45%0a%3c # [[debate/debiandanger|The danger of Debian]]%0a +host:1609037835=198.251.81.119 +author:1609037750=jrmu +diff:1609037750:1609037455:=45d44%0a%3c # [[debate/slackdanger|The danger of Slack]]%0a +host:1609037750=198.251.81.119 +author:1609037455=jrmu +diff:1609037455:1609037371:=44d43%0a%3c # [[debate/wikipediadanger|The danger of Wikipedia]]%0a +host:1609037455=198.251.81.119 +author:1609037371=jrmu +diff:1609037371:1609037114:=43d42%0a%3c # [[debate/youtubedanger|The danger of YouTube]]%0a +host:1609037371=198.251.81.119 +author:1609037114=jrmu +diff:1609037114:1609036963:=29d28%0a%3c # [[debate/xmlflaws|Don't use XML]]%0a +host:1609037114=198.251.81.119 +author:1609036963=jrmu +diff:1609036963:1609035728:=28d27%0a%3c # [[debate/oldsoftware|Why Old Software Rocks]]%0a +host:1609036963=198.251.81.119 +author:1609035728=jrmu +diff:1609035728:1609035681:=31d30%0a%3c # [[debate/monopolydanger|The danger of monopolies]]%0a +host:1609035728=198.251.81.119 +author:1609035681=jrmu +diff:1609035681:1609035461:=27d26%0a%3c # [[debate/freespeech|Free Speech Providers]]%0a +host:1609035681=198.251.81.119 +author:1609035461=jrmu +diff:1609035461:1609035416:=26c26%0a%3c # [[debate/hatespeech|Safe Space = Arbitrary Censorship]]%0a---%0a> # [[debate/hatespeech|Safe Space = Tyrannical Censorship]]%0a +host:1609035461=198.251.81.119 +author:1609035416=jrmu +diff:1609035416:1609035383:=26c26%0a%3c # [[debate/hatespeech|Safe Space = Tyrannical Censorship]]%0a---%0a> # [[debate/hatespeech|Stop censorship of speech you hate]]%0a +host:1609035416=198.251.81.119 +author:1609035383=jrmu +diff:1609035383:1609034520:=26d25%0a%3c # [[debate/hatespeech|Stop censorship of speech you hate]]%0a +host:1609035383=198.251.81.119 +author:1609034520=jrmu +diff:1609034520:1609007522:=25d24%0a%3c # [[debate/monero|Why Monero]]%0a +host:1609034520=198.251.81.119 +author:1609007522=searchsocial +diff:1609007522:1609006968:=13,15c13%0a%3c # C%0a%3c ## [[debate/whyC|Education in C Programming is the Users' Defense]]%0a%3c ## [[debate/whyNotC|C Programming is too Obscure to be The One True User Language (TOTUL)]]%0a---%0a> # [[debate/whyC|Education in C Programming is the Users' Defense]]%0a +host:1609007522=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609006968=jrmu +diff:1609006968:1609006897:=17,18d16%0a%3c # [[debate/matrixflaws|Why We Can't Trust Matrix]]%0a%3c # [[debate/fediverseflaws|Why We Can't Trust Fediverse]]%0a +host:1609006968=198.251.81.119 +author:1609006897=jrmu +diff:1609006897:1609006837:=15d14%0a%3c # [[debate/python|Python]]%0a +host:1609006897=198.251.81.119 +author:1609006837=jrmu +diff:1609006837:1609006788:=19d18%0a%3c # [[debate/outreachkids|Outreach for Kids]]%0a +host:1609006837=198.251.81.119 +author:1609006788=jrmu +diff:1609006788:1609006524:= +host:1609006788=198.251.81.119 +author:1609006524=jrmu +diff:1609006524:1609006439:=14d13%0a%3c # [[debate/nodejstrap|Node JS Trap]]%0a +host:1609006524=198.251.81.119 +author:1609006439=jrmu +diff:1609006439:1609006288:=16d15%0a%3c # [[debate/accessibility|Accessibility]]%0a +host:1609006439=198.251.81.119 +author:1609006288=jrmu +diff:1609006288:1609006206:=23d22%0a%3c # [[debate/facebookdanger|The danger of Facebook]]%0a28d26%0a%3c # [[debate/discorddanger|The danger of Discord]]%0a +host:1609006288=198.251.81.119 +author:1609006206=jrmu +diff:1609006206:1609006104:=27,30d26%0a%3c %0a%3c ----%0a%3c %0a%3c # [[debate/cash|Why we need cash]]%0a +host:1609006206=198.251.81.119 +author:1609006104=jrmu +diff:1609006104:1609002342:=25,26d24%0a%3c # [[debate/zoomdanger|The danger of Zoom]]%0a%3c # [[debate/uberdanger|The danger of Uber]]%0a +host:1609006104=198.251.81.119 +author:1609002342=jrmu +diff:1609002342:1609001994:=19a20%0a> # [[debate/ethicallicense|The Cancer of Ethical Licenses]]%0a +host:1609002342=198.251.81.119 +author:1609001994=jrmu +diff:1609001994:1608999538:=20d19%0a%3c # [[debate/ethicallicense|The Cancer of Ethical Licenses]]%0a +host:1609001994=198.251.81.119 +author:1608999538=jrmu +diff:1608999538:1608985640:=17,24d16%0a%3c %0a%3c ----%0a%3c %0a%3c # [[debate/googledanger|The danger of Google]]%0a%3c # [[debate/appledanger|The danger of Apple]]%0a%3c # [[debate/microsoftdanger|The danger of Microsoft]]%0a%3c # [[debate/amazondanger|The danger of Amazon]]%0a%3c # [[debate/mozilladanger|The danger of Mozilla]]%0a +host:1608999538=198.251.81.119 +author:1608985640=jrmu +diff:1608985640:1608985604:=11c11%0a%3c # [[debate/ethicalflaws|Why We Must Reject Ethical Licenses]]%0a---%0a> # [[debate/freesoftwaresubversion|Free Software Subversion]]%0a +host:1608985640=125.231.24.179 +author:1608985604=jrmu +diff:1608985604:1608983942:=11d10%0a%3c # [[debate/freesoftwaresubversion|Free Software Subversion]]%0a +host:1608985604=125.231.24.179 +author:1608983942=jrmu +diff:1608983942:1599193579:=10,11d9%0a%3c # [[debate/linuxflaws|Why We Can't Trust Linux]]%0a%3c # [[debate/bsd|Why We Must Use BSD]]%0a +host:1608983942=198.251.81.119 +author:1599193579=jrmu +diff:1599193579:1598275663:=9d8%0a%3c # [[debate/bncnow|bncnow: the user's bouncer]]%0a +host:1599193579=38.81.163.143 +author:1598275663=jrmu +diff:1598275663:1597969916:=12d11%0a%3c # [[debate/DCC|DCC]]%0a +host:1598275663=38.81.163.143 +author:1597969916=jrmu +diff:1597969916:1597907193:=11d10%0a%3c # [[debate/wikistyle|Wiki Style Guide]]%0a +host:1597969916=38.81.163.143 +author:1597907193=jrmu +diff:1597907193:1597897717:=10d9%0a%3c # [[debate/webirc|WebIRC Done Right]]%0a +host:1597907193=38.81.163.143 +author:1597897717=jrmu +diff:1597897717:1597897565:=9c9%0a%3c # [[debate/whyC|Education in C Programming is the Users' Defense]]%0a---%0a> # [[debate/whyC|Why C: A Citizen Militia]]%0a +host:1597897717=38.81.163.143 +author:1597897565=jrmu +diff:1597897565:1597119410:=9d8%0a%3c # [[debate/whyC|Why C: A Citizen Militia]]%0a +host:1597897565=38.81.163.143 +author:1597119410=jrmu +diff:1597119410:1597118101:=12,13c12%0a%3c # [[debate/privacy|Privacy]]%0a%3c # [[debate/partners|Rules for Partner Networks]]%0a\ No newline at end of file%0a---%0a> # [[debate/privacy|Privacy]]%0a\ No newline at end of file%0a +host:1597119410=38.81.163.143 +author:1597118101=jrmu +diff:1597118101:1596336396:=8,12c8%0a%3c # [[debate/zncflaws|Flawed by Design: Why ZNC Is Obsolete]]%0a%3c %0a%3c ----%0a%3c %0a%3c # [[debate/privacy|Privacy]]%0a\ No newline at end of file%0a---%0a> # [[debate/zncflaws|Flawed by Design: Why ZNC Is Obsolete]]%0a\ No newline at end of file%0a +host:1597118101=38.81.163.143 +author:1596336396=jrmu +diff:1596336396:1596259075:=4,8c4%0a%3c # [[debate/zncdefense|ZNC Defense]]%0a%3c %0a%3c ----%0a%3c %0a%3c # [[debate/zncflaws|Flawed by Design: Why ZNC Is Obsolete]]%0a\ No newline at end of file%0a---%0a> # [[debate/zncdefense|ZNC Defense]]%0a\ No newline at end of file%0a +host:1596336396=38.81.163.143 +author:1596259075=jrmu +diff:1596259075:1596257455:=3,4c3%0a%3c # [[debate/ircv3defense|IRCv3 Defense]]%0a%3c # [[debate/zncdefense|ZNC Defense]]%0a\ No newline at end of file%0a---%0a> [[debate/ircv3defense|IRCv3 Defense]]%0a\ No newline at end of file%0a +host:1596259075=38.81.163.143 +author:1596257455=jrmu +diff:1596257455:1596257397:=3d2%0a%3c [[debate/ircv3defense|IRCv3 Defense]]%0a\ No newline at end of file%0a +host:1596257455=38.81.163.143 +author:1596257397=jrmu +diff:1596257397:1596257397:=1,2d0%0a%3c Here are some issues debated within IRCNow:%0a%3c %0a +host:1596257397=38.81.163.143 blob - /dev/null blob + 4678a4968279005b31749c8b029a9141c3b082a4 (mode 644) --- /dev/null +++ wiki.d/Debate.Debiandanger @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609037843 +host=198.251.81.133 +name=Debate.Debiandanger +rev=2 +targets= +text=[@%0a[03:36:18] %3cjrmu> https://itsfoss.com/goobuntu-glinux-google/%0a[03:36:28] %3cjrmu> ``No More Ubuntu! Debian is the New Choice For Google’s In-house Linux Distribution''%0a@] +time=1629737305 +author:1629737305=mkf +diff:1629737305:1609037843:=1d0%0a%3c [@%0a4d2%0a%3c @]%0a\ No newline at end of file%0a +host:1629737305=198.251.81.133 +author:1609037843=jrmu +diff:1609037843:1609037843:=1,2d0%0a%3c [03:36:18] %3cjrmu> https://itsfoss.com/goobuntu-glinux-google/%0a%3c [03:36:28] %3cjrmu> ``No More Ubuntu! Debian is the New Choice For Google’s In-house Linux Distribution''%0a +host:1609037843=198.251.81.119 blob - /dev/null blob + b856142665875b34ec33c2d8bca052df63c15f43 (mode 644) --- /dev/null +++ wiki.d/Debate.Dogfooding @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611544309 +host=125.231.20.163 +name=Debate.Dogfooding +rev=3 +targets= +text=(:title Eat Your Own Dog Food:)%0a%0aAs staff, you must use the services you are providing. For example, if you provide a bouncer on fruit.ircnow.org, you should use that bouncer every day for all your IRC chat. In other words, eat your own dog food.%0a%0aEating your own dog food has many benefits:%0a%0a# You notice right away when your service is broken%0a# It shows you have confidence in your own services%0a# It's a great way to advertise%0a%0aIf you're not dogfooding, this is probably because your service is awful. So go and fix it. If you don't want to use your own service, who else will?%0a%0a'''Admins who don't dogfood admit their own service is garbage.'''%0a%0aIn February 1980, Apple Computer announced "Effective Immediately!! No more typewriters are to be purchased... We believe the typewriter is obsolete. Let's prove it inside before we try and convince our customers." ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Apple Computer dogfoods.%0a%0aMicrosoft forced over 200 developers to use Windows NT daily to perform daily builds. It crashed often. They fixed it. ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Microsoft dogfoods.%0a%0a!! What happens when you don't dogfood?%0a%0aIn the mid-1990s, Microsoft's internal email system was built around Unix. What an embarassment for Microsoft. Everyone considered it proof that Unix is better than Windows.%0a%0aIf you are running an @ircnow.org mail server, are you using GMail every day? What an embarassment for your team. That's proof GMail is better than your mail server.%0a%0a--> Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TeX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.%0a--> — Donald E. Knuth, "The Errors Of TeX"%0a%0a'''Take pride in your work: Dogfood.''' +time=1611544374 +title=Eat Your Own Dog Food +author:1611544374=jrmu +diff:1611544374:1611544334:=28c28%0a%3c '''Take pride in your work: Dogfood.'''%0a\ No newline at end of file%0a---%0a> Take pride in your work: Dogfood.%0a\ No newline at end of file%0a +host:1611544374=125.231.20.163 +author:1611544334=jrmu +diff:1611544334:1611544309:=13c13%0a%3c '''Admins who don't dogfood admit their own service is garbage.'''%0a---%0a> ''Admins who don't dogfood admit their own service is garbage.''%0a +host:1611544334=125.231.20.163 +author:1611544309=jrmu +diff:1611544309:1611544309:=1,28d0%0a%3c (:title Eat Your Own Dog Food:)%0a%3c %0a%3c As staff, you must use the services you are providing. For example, if you provide a bouncer on fruit.ircnow.org, you should use that bouncer every day for all your IRC chat. In other words, eat your own dog food.%0a%3c %0a%3c Eating your own dog food has many benefits:%0a%3c %0a%3c # You notice right away when your service is broken%0a%3c # It shows you have confidence in your own services%0a%3c # It's a great way to advertise%0a%3c %0a%3c If you're not dogfooding, this is probably because your service is awful. So go and fix it. If you don't want to use your own service, who else will?%0a%3c %0a%3c ''Admins who don't dogfood admit their own service is garbage.''%0a%3c %0a%3c In February 1980, Apple Computer announced "Effective Immediately!! No more typewriters are to be purchased... We believe the typewriter is obsolete. Let's prove it inside before we try and convince our customers." ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Apple Computer dogfoods.%0a%3c %0a%3c Microsoft forced over 200 developers to use Windows NT daily to perform daily builds. It crashed often. They fixed it. ([[https://en.wikipedia.org/wiki/Dogfooding|Wikipedia]]) Microsoft dogfoods.%0a%3c %0a%3c !! What happens when you don't dogfood?%0a%3c %0a%3c In the mid-1990s, Microsoft's internal email system was built around Unix. What an embarassment for Microsoft. Everyone considered it proof that Unix is better than Windows.%0a%3c %0a%3c If you are running an @ircnow.org mail server, are you using GMail every day? What an embarassment for your team. That's proof GMail is better than your mail server.%0a%3c %0a%3c --> Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TeX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.%0a%3c --> — Donald E. Knuth, "The Errors Of TeX"%0a%3c %0a%3c Take pride in your work: Dogfood.%0a\ No newline at end of file%0a +host:1611544309=125.231.20.163 blob - /dev/null blob + 1bcd17e077f21977b0a5eb277d212a1d0cea80c3 (mode 644) --- /dev/null +++ wiki.d/Debate.Ethicalflaws @@ -0,0 +1,69 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608985650 +host=198.251.81.119 +name=Debate.Ethicalflaws +rev=19 +targets= +text=One serious danger to the free software community is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into [[https://github.com/ContributorCovenant/contributor_covenant|Github]] and even [[https://www.kernel.org/doc/html/latest/process/code-of-conduct.html|the Linux kernel]].%0a%0aHere are some troubling aspects of the code of conduct:%0a%0a-> We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%0aThis would make it a punishable offense to disagree with someone for eating too much, for using a pronoun they disagree with, for mentioning their race, or for disagreeing with their religion. In truth, it opens up the door to ban and ostracize developers and users for almost any and every reason, depending upon the whim of the person enforcing the code of conduct.%0a%0a-> Examples of unacceptable behavior include:%0a%0a--> Trolling, insulting or derogatory comments, and personal or political attacks%0a%0aThis has been interpreted in the past to make it a punishable offense to criticize a project leader for any reason. It can be interpreted as a blanket ban on any form of disagreement or dissent. Remember, constructive criticism is often misinterpreted as a personal attack.%0a%0aQuite frankly, maybe an incompetent project leader needs to be trolled from time to time.%0a%0aThis code of conduct is impossible to enforce fairly because it makes everyone an offender.%0a%0aThe author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguided [[https://ethicalsource.dev/|Ethical Source movement]]. Take a look closely and you will see how this software restricts your freedom of speech as well as your freedom to use the software.%0a%0a-> All of these technologies are inherently political. There is no neutral political position in technology. You can’t build systems that can be weaponized against marginalized people and take no responsibility for them.%0a%0aIn other words, the Hippocratic License '''demands''' you share the same political beliefs or you are not allowed to use the software. It '''dictates''' how you can use the software. This software is '''not''' free!%0a%0a-> Introducing the Hippocratic License: an Ethical Source license that specifically prohibits the use of software to violate universal standards of human rights, and embodying the principles of Ethical Source Software.%0a%0aThe [[https://firstdonoharm.dev/faq.html|FAQ]] is even worse:%0a%0a-> Doesn’t the Hippocratic License violate the “No Discrimination” and “Fields of Endeavor” terms of the Open Source Definition?%0a%0a--> No Groups or Fields are discriminated against by the Hippocratic License. People in the Groups are welcome to use software under the Hippocratic License in their Fields. The restrictions in the Hippocratic License target specific activities, not groups of people or fields of work. The restrictions apply equally to all people and all groups, in all fields of endeavor. Therefore, the restrictions are not discriminatory in any way.%0a%0aThis is completely untrue. It will be used specifically to target political and religious groups that do not agree with the copyright owner's definition of human rights. This is because enforcement is not handled by courts but by the developer:%0a%0a-> Unlike many other licenses, which rely on courts to settle issues of license violations, the Hippocratic License puts the power of enforcement directly in the hands of the code’s creators.%0a%0aYou get no trial, no evidence, no witnesses. If the copyright owner unilaterally declares that you have violated human rights, you need to stop using the software immediately or face a copyright infringement lawsuit. No code for you!%0a%0a!! Supported by corporate monopolies, not by the users%0a%0aLook how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to be speaking for freedom?%0a%0a!! FOSS Leaders Reject Ethical Licenses%0a%0a-> Perens said he resigned because the OSI appears to have already decided to accept the license. He said he's headed in a different direction, which he called "coherent open source." "We've gone the wrong way with licensing," he said, citing the proliferation of software licenses. [[https://www.theregister.com/2020/01/03/osi_cofounder_resigns]]%0a%0a-> It was a deliberate decision that Debian’s definition of Free software would not discriminate against persons, groups, or fields of endeavor (essentially anything someone might want to do).%0a-> The idea behind this was that Freedom meant Freedom for everyone, not just Freedom for people we approved of...It meant that the Debian system could be a common ground for the sharing of software among people who did not agree on social issues, and just maybe that it would be a way for those various people to work together and gain respect for each other, and ultimately come to greater agreement [[https://perens.com/2019/10/12/invasion-of-the-ethical-licenses]] +time=1609036316 +author:1609036316=jrmu +diff:1609036316:1609036211:=46,48d45%0a%3c %0a%3c -> It was a deliberate decision that Debian’s definition of Free software would not discriminate against persons, groups, or fields of endeavor (essentially anything someone might want to do).%0a%3c -> The idea behind this was that Freedom meant Freedom for everyone, not just Freedom for people we approved of...It meant that the Debian system could be a common ground for the sharing of software among people who did not agree on social issues, and just maybe that it would be a way for those various people to work together and gain respect for each other, and ultimately come to greater agreement [[https://perens.com/2019/10/12/invasion-of-the-ethical-licenses]]%0a\ No newline at end of file%0a +host:1609036316=198.251.81.119 +author:1609036211=jrmu +diff:1609036211:1609005489:=41,45c41%0a%3c Look how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to be speaking for freedom?%0a%3c %0a%3c !! FOSS Leaders Reject Ethical Licenses%0a%3c %0a%3c -> Perens said he resigned because the OSI appears to have already decided to accept the license. He said he's headed in a different direction, which he called "coherent open source." "We've gone the wrong way with licensing," he said, citing the proliferation of software licenses. [[https://www.theregister.com/2020/01/03/osi_cofounder_resigns]]%0a---%0a> Look how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to be speaking for freedom?%0a\ No newline at end of file%0a +host:1609036211=198.251.81.119 +author:1609005489=jrmu +diff:1609005489:1609005330:=19c19%0a%3c The author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguided [[https://ethicalsource.dev/|Ethical Source movement]]. Take a look closely and you will see how this software restricts your freedom of speech as well as your freedom to use the software.%0a---%0a> The author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguided [[Ethical Source movement]]. Take a look closely and you will see how this software restricts your freedom of speech as well as your freedom to use the software.%0a +host:1609005489=198.251.81.119 +author:1609005330=jrmu +diff:1609005330:1609005161:=1c1%0a%3c One serious danger to the free software community is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into [[https://github.com/ContributorCovenant/contributor_covenant|Github]] and even [[https://www.kernel.org/doc/html/latest/process/code-of-conduct.html|the Linux kernel]].%0a---%0a> One of the serious dangers to the free software movement is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a +host:1609005330=198.251.81.119 +author:1609005161=jrmu +diff:1609005161:1609005144:=41c41%0a%3c Look how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to be speaking for freedom?%0a\ No newline at end of file%0a---%0a> Look how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to speak for our freedom?%0a\ No newline at end of file%0a +host:1609005161=198.251.81.119 +author:1609005144=jrmu +diff:1609005144:1609004942:=39,41c39,43%0a%3c !! Supported by corporate monopolies, not by the users%0a%3c %0a%3c Look how [[https://2020.copyleftconf.org/schedule/presentation/17/|Copyleftconf's]] main sponsors are Microsoft, Google, and Salesforce. How can this be representative of what the users want? How can they pretend to speak for our freedom?%0a\ No newline at end of file%0a---%0a> https://2020.copyleftconf.org/schedule/presentation/17/%0a> %0a> %0a> %0a> https://2020.copyleftconf.org/%0a\ No newline at end of file%0a +host:1609005144=198.251.81.119 +author:1609004942=jrmu +diff:1609004942:1609004806:=33,37c33,35%0a%3c This is completely untrue. It will be used specifically to target political and religious groups that do not agree with the copyright owner's definition of human rights. This is because enforcement is not handled by courts but by the developer:%0a%3c %0a%3c -> Unlike many other licenses, which rely on courts to settle issues of license violations, the Hippocratic License puts the power of enforcement directly in the hands of the code’s creators.%0a%3c %0a%3c You get no trial, no evidence, no witnesses. If the copyright owner unilaterally declares that you have violated human rights, you need to stop using the software immediately or face a copyright infringement lawsuit. No code for you!%0a---%0a> This is completely untrue.%0a> %0a> created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source.%0a +host:1609004942=198.251.81.119 +author:1609004806=jrmu +diff:1609004806:1609004620:=26,33d25%0a%3c %0a%3c The [[https://firstdonoharm.dev/faq.html|FAQ]] is even worse:%0a%3c %0a%3c -> Doesn’t the Hippocratic License violate the “No Discrimination” and “Fields of Endeavor” terms of the Open Source Definition?%0a%3c %0a%3c --> No Groups or Fields are discriminated against by the Hippocratic License. People in the Groups are welcome to use software under the Hippocratic License in their Fields. The restrictions in the Hippocratic License target specific activities, not groups of people or fields of work. The restrictions apply equally to all people and all groups, in all fields of endeavor. Therefore, the restrictions are not discriminatory in any way.%0a%3c %0a%3c This is completely untrue.%0a +host:1609004806=198.251.81.119 +author:1609004620=jrmu +diff:1609004620:1609004337:=11,12c11,12%0a%3c --> Trolling, insulting or derogatory comments, and personal or political attacks%0a%3c %0a---%0a> ---> Trolling, insulting or derogatory comments, and personal or political attacks%0a> %0a19,25c19%0a%3c The author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguided [[Ethical Source movement]]. Take a look closely and you will see how this software restricts your freedom of speech as well as your freedom to use the software.%0a%3c %0a%3c -> All of these technologies are inherently political. There is no neutral political position in technology. You can’t build systems that can be weaponized against marginalized people and take no responsibility for them.%0a%3c %0a%3c In other words, the Hippocratic License '''demands''' you share the same political beliefs or you are not allowed to use the software. It '''dictates''' how you can use the software. This software is '''not''' free!%0a%3c %0a%3c -> Introducing the Hippocratic License: an Ethical Source license that specifically prohibits the use of software to violate universal standards of human rights, and embodying the principles of Ethical Source Software.%0a---%0a> The author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguide [[Ethical Source movement]].%0a +host:1609004620=198.251.81.119 +author:1609004337=jrmu +diff:1609004337:1609004302:=14,15d13%0a%3c %0a%3c Quite frankly, maybe an incompetent project leader needs to be trolled from time to time.%0a +host:1609004337=198.251.81.119 +author:1609004302=jrmu +diff:1609004302:1609004215:=19c19,20%0a%3c created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source.%0a---%0a> created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source. Coraline is co-authoring a book on practicing empathy in software development, and writes and records music in her home studio. Find her on Twitter at @CoralineAda or on the web at where.coraline.codes.%0a> %0a +host:1609004302=198.251.81.119 +author:1609004215=jrmu +diff:1609004215:1609004171:=1c1,3%0a%3c One of the serious dangers to the free software movement is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a---%0a> One %0a> %0a> of Ehmke's misguided efforts is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a +host:1609004215=198.251.81.119 +author:1609004171=jrmu +diff:1609004171:1609004112:=1,3c1%0a%3c One %0a%3c %0a%3c of Ehmke's misguided efforts is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a---%0a> [[https://where.coraline.codes/|Coraline Ada Ehmke]] is working to subvert and undermine software freedom. One of Ehmke's misguided efforts is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a +host:1609004171=198.251.81.119 +author:1609004112=jrmu +diff:1609004112:1609004056:=17,18c17,18%0a%3c The author of the code of conduct then went on to create the [[https://firstdonoharm.dev/|Hippocratic License]] as part of the misguide [[Ethical Source movement]].%0a%3c %0a---%0a> %0a> %0a24c24%0a%3c %0a---%0a> https://firstdonoharm.dev/%0a +host:1609004112=198.251.81.119 +author:1609004056=jrmu +diff:1609004056:1609003934:=14,17d13%0a%3c %0a%3c This code of conduct is impossible to enforce fairly because it makes everyone an offender.%0a%3c %0a%3c %0a +host:1609004056=198.251.81.119 +author:1609003934=jrmu +diff:1609003934:1609003295:=3,15c3,5%0a%3c Here are some troubling aspects of the code of conduct:%0a%3c %0a%3c -> We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%3c %0a%3c This would make it a punishable offense to disagree with someone for eating too much, for using a pronoun they disagree with, for mentioning their race, or for disagreeing with their religion. In truth, it opens up the door to ban and ostracize developers and users for almost any and every reason, depending upon the whim of the person enforcing the code of conduct.%0a%3c %0a%3c -> Examples of unacceptable behavior include:%0a%3c %0a%3c ---> Trolling, insulting or derogatory comments, and personal or political attacks%0a%3c %0a%3c This has been interpreted in the past to make it a punishable offense to criticize a project leader for any reason. It can be interpreted as a blanket ban on any form of disagreement or dissent. Remember, constructive criticism is often misinterpreted as a personal attack.%0a%3c %0a%3c created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source. Coraline is co-authoring a book on practicing empathy in software development, and writes and records music in her home studio. Find her on Twitter at @CoralineAda or on the web at where.coraline.codes.%0a---%0a> %0a> %0a> In 2019 she created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source. Coraline is co-authoring a book on practicing empathy in software development, and writes and records music in her home studio. Find her on Twitter at @CoralineAda or on the web at where.coraline.codes.%0a +host:1609003934=198.251.81.119 +author:1609003295=jrmu +diff:1609003295:1609002333:=1,9d0%0a%3c [[https://where.coraline.codes/|Coraline Ada Ehmke]] is working to subvert and undermine software freedom. One of Ehmke's misguided efforts is [[https://www.contributor-covenant.org/version/2/0/code_of_conduct/|the Contributor Covenant]], a popular code of conduct that has made its way into Github and even the Linux kernel.%0a%3c %0a%3c %0a%3c %0a%3c In 2019 she created the Hippocratic License and the Ethical Source Definition, part of an overall movement to bring about an ethical revolution in open source. Coraline is co-authoring a book on practicing empathy in software development, and writes and records music in her home studio. Find her on Twitter at @CoralineAda or on the web at where.coraline.codes.%0a%3c %0a%3c %0a%3c https://2020.copyleftconf.org/schedule/presentation/17/%0a%3c %0a +host:1609003295=198.251.81.119 +author:1609002333=jrmu +diff:1609002333:1608985650:=1,2d0%0a%3c https://firstdonoharm.dev/%0a%3c %0a +host:1609002333=198.251.81.119 +author:1608985650=jrmu +diff:1608985650:1608985650:=1d0%0a%3c https://2020.copyleftconf.org/%0a\ No newline at end of file%0a +host:1608985650=125.231.24.179 blob - /dev/null blob + 9f26a9a1420d6fa3b1fc4d610410f5edba71c9cd (mode 644) --- /dev/null +++ wiki.d/Debate.Facebookdanger @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006320 +host=198.251.81.119 +name=Debate.Facebookdanger +rev=5 +targets= +text=https://www.nytimes.com/2020/11/09/technology/facebook-removes-pages-linked-to-bannon-for-pushing-misinformation.html%0a%0a[01:55:46] %3cjrmu> https://www.nytimes.com/2020/11/11/technology/facebook-twitter-parler-rumble-newsmax-conservatives-apps.html%0a[01:55:52] %3cjrmu> ``Fact-Checked on Facebook and Twitter, Conservatives Switch Their App%0as''%0a[01:55:58] %3cjrmu> ``Since the election, millions have migrated to alternative social med%0aia and media sites like Parler, Rumble and Newsmax.''%0a[01:56:15] %3cjrmu> ``“Facebook started muting, deleting and labeling every conservative p%0aolitical post in my feed,” Mr. Adam said. “If you’re going to do something, you have to %0abe fair to both sides. You don’t just get to pick one side to promote.”''%0a%0ahttps://www.nytimes.com/2020/11/24/technology/facebook-election-misinformation.html%0a%0a[04:43:12] %3cjrmu> https://news.ycombinator.com/item?id=25435603%0a[04:43:17] %3cjrmu> Facebook to move UK users to California terms, avoiding EU privacy rules (reuters.com)%0a[04:43:21] %3cjrmu> SAN FRANCISCO (Reuters) - Facebook Inc will shift all its users in the United Kingdom into user agreements with the corporate headquarters in California, moving them out of their current relationship with Facebook’s Irish unit and out of reach of Europe’s privacy laws.%0a%0a[11:37:39] %3cjrmu> https://news.ycombinator.com/item?id=25363366%0a[11:37:42] %3cjrmu> FTC Sues Facebook for Illegal Monopolization (ftc.gov)%0a[11:38:15] %3cjrmu> The Federal Trade Commission today sued Facebook, alleging that the company is illegally maintaining its personal social networking monopoly through a years-long course of anticompetitive conduct. Following a lengthy investigation in cooperation with a coalition of attorneys general of 46 states, the District of Columbia, and Guam, the complaint alleges that Facebook has engaged in a systematic %0a[11:38:21] %3cjrmu> strategyincluding its 2012 acquisition of up-and-coming rival Instagram, its 2014 acquisition of the mobile messaging app WhatsApp, and the imposition of anticompetitive conditions on software developersto eliminate threats to its monopoly. This course of conduct harms competition, leaves consumers with few choices for personal social networking, and deprives advertisers of the benefits of competition.%0a[11:40:29] %3cjrmu> The FTC is seeking a permanent injunction in federal court that could, among other things: require divestitures of assets, including Instagram and WhatsApp%0a +time=1609038102 +author:1609038102=jrmu +diff:1609038102:1609037307:=12d11%0a%3c https://www.nytimes.com/2020/11/24/technology/facebook-election-misinformation.html%0a +host:1609038102=198.251.81.119 +author:1609037307=jrmu +diff:1609037307:1609036744:=16,21d15%0a%3c %0a%3c [11:37:39] %3cjrmu> https://news.ycombinator.com/item?id=25363366%0a%3c [11:37:42] %3cjrmu> FTC Sues Facebook for Illegal Monopolization (ftc.gov)%0a%3c [11:38:15] %3cjrmu> The Federal Trade Commission today sued Facebook, alleging that the company is illegally maintaining its personal social networking monopoly through a years-long course of anticompetitive conduct. Following a lengthy investigation in cooperation with a coalition of attorneys general of 46 states, the District of Columbia, and Guam, the complaint alleges that Facebook has engaged in a systematic %0a%3c [11:38:21] %3cjrmu> strategyincluding its 2012 acquisition of up-and-coming rival Instagram, its 2014 acquisition of the mobile messaging app WhatsApp, and the imposition of anticompetitive conditions on software developersto eliminate threats to its monopoly. This course of conduct harms competition, leaves consumers with few choices for personal social networking, and deprives advertisers of the benefits of competition.%0a%3c [11:40:29] %3cjrmu> The FTC is seeking a permanent injunction in federal court that could, among other things: require divestitures of assets, including Instagram and WhatsApp%0a +host:1609037307=198.251.81.119 +author:1609036744=jrmu +diff:1609036744:1609006603:=11,15d10%0a%3c %0a%3c %0a%3c [04:43:12] %3cjrmu> https://news.ycombinator.com/item?id=25435603%0a%3c [04:43:17] %3cjrmu> Facebook to move UK users to California terms, avoiding EU privacy rules (reuters.com)%0a%3c [04:43:21] %3cjrmu> SAN FRANCISCO (Reuters) - Facebook Inc will shift all its users in the United Kingdom into user agreements with the corporate headquarters in California, moving them out of their current relationship with Facebook’s Irish unit and out of reach of Europe’s privacy laws.%0a +host:1609036744=198.251.81.119 +author:1609006603=jrmu +diff:1609006603:1609006320:=1,10c1%0a%3c https://www.nytimes.com/2020/11/09/technology/facebook-removes-pages-linked-to-bannon-for-pushing-misinformation.html%0a%3c %0a%3c [01:55:46] %3cjrmu> https://www.nytimes.com/2020/11/11/technology/facebook-twitter-parler-rumble-newsmax-conservatives-apps.html%0a%3c [01:55:52] %3cjrmu> ``Fact-Checked on Facebook and Twitter, Conservatives Switch Their App%0a%3c s''%0a%3c [01:55:58] %3cjrmu> ``Since the election, millions have migrated to alternative social med%0a%3c ia and media sites like Parler, Rumble and Newsmax.''%0a%3c [01:56:15] %3cjrmu> ``“Facebook started muting, deleting and labeling every conservative p%0a%3c olitical post in my feed,” Mr. Adam said. “If you’re going to do something, you have to %0a%3c be fair to both sides. You don’t just get to pick one side to promote.”''%0a---%0a> https://www.nytimes.com/2020/11/09/technology/facebook-removes-pages-linked-to-bannon-for-pushing-misinformation.html%0a\ No newline at end of file%0a +host:1609006603=198.251.81.119 +author:1609006320=jrmu +diff:1609006320:1609006320:=1d0%0a%3c https://www.nytimes.com/2020/11/09/technology/facebook-removes-pages-linked-to-bannon-for-pushing-misinformation.html%0a\ No newline at end of file%0a +host:1609006320=198.251.81.119 blob - /dev/null blob + 9e31d59ce542cd19b9e51707b1e2fd5f24c7b027 (mode 644) --- /dev/null +++ wiki.d/Debate.Firstamendment @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612070371 +host=125.224.24.163 +name=Debate.Firstamendment +rev=2 +targets=Ircnow.Networks +text=Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a%0aIRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a%0aOur digital bill of rights states:%0a%0a-> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aAt the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a%0aEach team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network. +time=1612070449 +author:1612070449=jrmu +diff:1612070449:1612070371:=10,11d9%0a%3c %0a%3c Each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a\ No newline at end of file%0a +host:1612070449=125.224.24.163 +author:1612070371=jrmu +diff:1612070371:1612070371:=1,9d0%0a%3c Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a%3c %0a%3c IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a%3c %0a%3c Our digital bill of rights states:%0a%3c %0a%3c -> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c At the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a +host:1612070371=125.224.24.163 blob - /dev/null blob + 8fc22eb45384da1ca8c2b64d6093a1fcf8cf0f9d (mode 644) --- /dev/null +++ wiki.d/Debate.Freespeech @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609035691 +host=198.251.81.119 +name=Debate.Freespeech +rev=8 +targets= +text=[07:51:00] %3cjrmu> https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy%0a[07:51:18] %3cjrmu> Seems OVH is really strict against IRC; another reason for not dependi%0ang on cloud providers%0a%0ahttps://medium.com/illumination/mediums-censorship-problems-with-medical-articles-social-media-and-facebook-bans-36684cda0ca8%0a%0ahttps://www.eff.org/deeplinks/2020/02/uruguay-steps-too-quickly-right-be-forgotten-quagmire%0a%0ahttps://reclaimthenet.org/medium-censorship-instacart-shoppers-strike%0a%0ahttps://www.theverge.com/2020/1/17/21070403/joe-biden-president-election-section-230-communications-decency-act-revoke%0a%0ahttps://reclaimthenet.org/uk-police-tell-people-to-report-extremist-friends-and-relatives/%0aUK Police tell people to report _extremist_ friends and relatives%0a%0ahttps://reclaimthenet.org/medium-suspends-jennifer-zeng/%0aMedium suspends human rights activist Jennifer Zeng after she publishes article about Dominion Voting machines%0a%0aBuyVM https://buyvm.net and also aliendata%0a%0a[01:51:53] %3cjrmu> https://www.theguardian.com/technology/2014/aug/06/wikipedia-censorship-right-to-be-forgotten-ruling%0a[01:52:00] %3cjrmu> Wikipedia's founder Jimmy Wales has revealed new details about what he describes as the site's "censorship" under the EU's "right to be forgotten" laws. %0a[01:52:09] %3cjrmu> Wikipedia swears to fight 'censorship' of 'right to be forgotten'%0a[01:52:23] %3cjrmu> Announcing its first transparency report, Wikipedia reveals that Google has received five requests to remove links to its pages%0a[01:52:36] %3cjrmu> “History is a human right and one of the worst things that a person can do is attempt to use force to silence another,” he said. “I’ve been in the public eye for quite some time. Some people say good things, some people say bad things … that’s history, and I would never use any kind of legal process like to try to suppress it.”%0a +time=1609036564 +author:1609036564=jrmu +diff:1609036564:1609036494:=19,25c19%0a%3c BuyVM https://buyvm.net and also aliendata%0a%3c %0a%3c [01:51:53] %3cjrmu> https://www.theguardian.com/technology/2014/aug/06/wikipedia-censorship-right-to-be-forgotten-ruling%0a%3c [01:52:00] %3cjrmu> Wikipedia's founder Jimmy Wales has revealed new details about what he describes as the site's "censorship" under the EU's "right to be forgotten" laws. %0a%3c [01:52:09] %3cjrmu> Wikipedia swears to fight 'censorship' of 'right to be forgotten'%0a%3c [01:52:23] %3cjrmu> Announcing its first transparency report, Wikipedia reveals that Google has received five requests to remove links to its pages%0a%3c [01:52:36] %3cjrmu> “History is a human right and one of the worst things that a person can do is attempt to use force to silence another,” he said. “I’ve been in the public eye for quite some time. Some people say good things, some people say bad things … that’s history, and I would never use any kind of legal process like to try to suppress it.”%0a---%0a> BuyVM https://buyvm.net and also aliendata%0a\ No newline at end of file%0a +host:1609036564=198.251.81.119 +author:1609036494=jrmu +diff:1609036494:1609036112:=12,17d11%0a%3c %0a%3c https://reclaimthenet.org/uk-police-tell-people-to-report-extremist-friends-and-relatives/%0a%3c UK Police tell people to report _extremist_ friends and relatives%0a%3c %0a%3c https://reclaimthenet.org/medium-suspends-jennifer-zeng/%0a%3c Medium suspends human rights activist Jennifer Zeng after she publishes article about Dominion Voting machines%0a +host:1609036494=198.251.81.119 +author:1609036112=jrmu +diff:1609036112:1609036097:=10,11d9%0a%3c %0a%3c https://www.theverge.com/2020/1/17/21070403/joe-biden-president-election-section-230-communications-decency-act-revoke%0a +host:1609036112=198.251.81.119 +author:1609036097=jrmu +diff:1609036097:1609036080:=8,9d7%0a%3c %0a%3c https://reclaimthenet.org/medium-censorship-instacart-shoppers-strike%0a +host:1609036097=198.251.81.119 +author:1609036080=jrmu +diff:1609036080:1609036060:=7d6%0a%3c https://www.eff.org/deeplinks/2020/02/uruguay-steps-too-quickly-right-be-forgotten-quagmire%0a +host:1609036080=198.251.81.119 +author:1609036060=jrmu +diff:1609036060:1609035925:=4,6d3%0a%3c %0a%3c https://medium.com/illumination/mediums-censorship-problems-with-medical-articles-social-media-and-facebook-bans-36684cda0ca8%0a%3c %0a +host:1609036060=198.251.81.119 +author:1609035925=jrmu +diff:1609035925:1609035691:=4,5d3%0a%3c %0a%3c BuyVM https://buyvm.net and also aliendata%0a\ No newline at end of file%0a +host:1609035925=198.251.81.119 +author:1609035691=jrmu +diff:1609035691:1609035691:=1,3d0%0a%3c [07:51:00] %3cjrmu> https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy%0a%3c [07:51:18] %3cjrmu> Seems OVH is really strict against IRC; another reason for not dependi%0a%3c ng on cloud providers%0a +host:1609035691=198.251.81.119 blob - /dev/null blob + f011ebb0a4afac1e8e034fc4c9493271c376c4f9 (mode 644) --- /dev/null +++ wiki.d/Debate.Googledanger @@ -0,0 +1,35 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1608999574 +host=198.251.81.133 +name=Debate.Googledanger +rev=7 +targets= +text=[[https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws]]%0a%0a[[https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law]]%0a%0a%0a[@%0a19:52 %3c~jrmu> Microsoft has invested billions of dollars into their Azure linux stack%0a19:52 %3c~jrmu> and so have Google and Amazon%0a@]%0a[@%0a19:54 %3c~jrmu> the US congress has sued them in court for abuse of monopoly power%0a19:54 %3c~jrmu> one of these days I will document it but see United States vs Google %0a19:55 %3c~jrmu> for a preview%0a19:55 %3c~jrmu> :)%0a19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of power for me%0a19:55 %3c~jrmu> Facebook and Amazon are being sued also%0a19:55 %3c~jrmu> it's about time%0a19:56 %3c~jrmu> basically they 1) never share their source code, 2) censor people %0a arbitrarily, 3) steal trade secrets from their own customers%0a19:56 %3c~jrmu> 4) prevent competition%0a19:57 %3c~jrmu> they bully the competition%0a19:58 %3c~jrmu> they also undermine democracy%0a@]%0a[@%0a[03:21:52] %3cjrmu> https://www.polemicdigital.com/google-amp-go-to-hell/%0a[03:21:58] %3cjrmu> Google wants websites to adopt AMP as the default approach to building%0a webpages. Tell them no.%0a[03:22:10] %3cjrmu> Basically, Google has forced websites specifically news publishers %0a to create AMP versions of their articles. For publishers, AMP is not optional; without %0aAMP, a publisher’s articles will be extremely unlikely to appear in the Top Stories caro%0ausel on mobile search in Google.%0a[03:22:25] %3cjrmu> Google forces websites to either adopt AMP or forego large amounts of %0apotential traffic.%0a[03:23:26] %3cjrmu> ``The search engine has epic delusions of grandeur and has started to %0abelieve they are the destination, that they are the gatekeepers of the web, that they sh%0aould dictate how the web evolves.''%0a@] +time=1624176300 +author:1624176300=mkf +diff:1624176300:1624176278:minor=2d1%0a%3c %0a +host:1624176300=198.251.81.133 +author:1624176278=mkf +csum:1624176278=clean up, more style. +diff:1624176278:1624176138:=1,2c1,2%0a%3c [[https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws]]%0a%3c [[https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law]]%0a---%0a> https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws%0a> https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law%0a +host:1624176278=198.251.81.133 +author:1624176138=mkf +csum:1624176138=a bit clean up. +diff:1624176138:1609037900:=1a2%0a> %0a5d5%0a%3c [@%0a8,9c8%0a%3c @]%0a%3c [@%0a---%0a> %0a14c13,14%0a%3c 19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of power for me%0a---%0a> 19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of %0a> power for me%0a22,23c22%0a%3c @]%0a%3c [@%0a---%0a> %0a36d34%0a%3c @]%0a\ No newline at end of file%0a +host:1624176138=198.251.81.133 +author:1609037900=jrmu +diff:1609037900:1609001081:=22,34d21%0a%3c %0a%3c [03:21:52] %3cjrmu> https://www.polemicdigital.com/google-amp-go-to-hell/%0a%3c [03:21:58] %3cjrmu> Google wants websites to adopt AMP as the default approach to building%0a%3c webpages. Tell them no.%0a%3c [03:22:10] %3cjrmu> Basically, Google has forced websites specifically news publishers %0a%3c to create AMP versions of their articles. For publishers, AMP is not optional; without %0a%3c AMP, a publisher’s articles will be extremely unlikely to appear in the Top Stories caro%0a%3c usel on mobile search in Google.%0a%3c [03:22:25] %3cjrmu> Google forces websites to either adopt AMP or forego large amounts of %0a%3c potential traffic.%0a%3c [03:23:26] %3cjrmu> ``The search engine has epic delusions of grandeur and has started to %0a%3c believe they are the destination, that they are the gatekeepers of the web, that they sh%0a%3c ould dictate how the web evolves.''%0a +host:1609037900=198.251.81.119 +author:1609001081=jrmu +diff:1609001081:1608999684:=3,21c3%0a%3c https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law%0a%3c %0a%3c %0a%3c 19:52 %3c~jrmu> Microsoft has invested billions of dollars into their Azure linux stack%0a%3c 19:52 %3c~jrmu> and so have Google and Amazon%0a%3c %0a%3c 19:54 %3c~jrmu> the US congress has sued them in court for abuse of monopoly power%0a%3c 19:54 %3c~jrmu> one of these days I will document it but see United States vs Google %0a%3c 19:55 %3c~jrmu> for a preview%0a%3c 19:55 %3c~jrmu> :)%0a%3c 19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of %0a%3c power for me%0a%3c 19:55 %3c~jrmu> Facebook and Amazon are being sued also%0a%3c 19:55 %3c~jrmu> it's about time%0a%3c 19:56 %3c~jrmu> basically they 1) never share their source code, 2) censor people %0a%3c arbitrarily, 3) steal trade secrets from their own customers%0a%3c 19:56 %3c~jrmu> 4) prevent competition%0a%3c 19:57 %3c~jrmu> they bully the competition%0a%3c 19:58 %3c~jrmu> they also undermine democracy%0a---%0a> https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law%0a\ No newline at end of file%0a +host:1609001081=198.251.81.119 +author:1608999684=jrmu +diff:1608999684:1608999574:=1,3c1%0a%3c https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws%0a%3c %0a%3c https://www.c-span.org/video/?474236-1/heads-facebook-amazon-apple-google-testify-antitrust-law%0a\ No newline at end of file%0a---%0a> https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws%0a\ No newline at end of file%0a +host:1608999684=198.251.81.119 +author:1608999574=jrmu +diff:1608999574:1608999574:=1d0%0a%3c https://www.justice.gov/opa/pr/justice-department-sues-monopolist-google-violating-antitrust-laws%0a\ No newline at end of file%0a +host:1608999574=198.251.81.119 blob - /dev/null blob + 1dd7270cfa0620f7868ee5ecba61bf82be8287f1 (mode 644) --- /dev/null +++ wiki.d/Debate.Hatespeech @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609035627 +host=198.251.81.119 +name=Debate.Hatespeech +rev=1 +targets= +text=https://en.wikipedia.org/wiki/Ake_Green%0a%0a[10:57:13] %3cjrmu> _ke Green (Swedish: [___k_ __re_n]; born 3 June 1941) is a Swedish Pentecostal Christian pastor who was prosecuted, but acquitted, under Sweden's law against hate speech because of critical opinions on homosexuality in his sermons. The district court found him guilty and sentenced him to one month in prison. The sentence was appealed to the court of appeals (hovr_tt). On 11 February 2005, the G_ta %0a[10:57:20] %3cjrmu> Court of Appeal overturned the decision and acquitted _ke Green. On 9 March, the Prosecutor-General (Riks_klagaren) appealed this decision to the Supreme Court, which on 29 November also acquitted%0a[11:00:36] %3cjrmu> in the USA, it is unconstitutional to arrest someone like this%0a +time=1609035627 +author:1609035627=jrmu +diff:1609035627:1609035627:=1,5d0%0a%3c https://en.wikipedia.org/wiki/Ake_Green%0a%3c %0a%3c [10:57:13] %3cjrmu> _ke Green (Swedish: [___k_ __re_n]; born 3 June 1941) is a Swedish Pentecostal Christian pastor who was prosecuted, but acquitted, under Sweden's law against hate speech because of critical opinions on homosexuality in his sermons. The district court found him guilty and sentenced him to one month in prison. The sentence was appealed to the court of appeals (hovr_tt). On 11 February 2005, the G_ta %0a%3c [10:57:20] %3cjrmu> Court of Appeal overturned the decision and acquitted _ke Green. On 9 March, the Prosecutor-General (Riks_klagaren) appealed this decision to the Supreme Court, which on 29 November also acquitted%0a%3c [11:00:36] %3cjrmu> in the USA, it is unconstitutional to arrest someone like this%0a +host:1609035627=198.251.81.119 blob - /dev/null blob + 881f38b0a72a54e1f5e308f783571d60c664f1ab (mode 644) --- /dev/null +++ wiki.d/Debate.Ipsec @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610534284 +host=125.224.27.48 +name=Debate.Ipsec +rev=3 +targets=Openbsd.Iked +text=(:title IPSec, not WireGuard:)%0a%0a# OpenBSD has a native IPSec implementation: [[openbsd/iked|IKED]]. It's easy to configure%0a# Using iked will allow us to force users to import us as a certificate authority, to bypass SSL censorship%0a# WireGuard "lacks cipher and protocol agility"%0a # Many users/operating systems today lack wireguard%0a # Any users on an obsolete client will be unable to connect%0a # Unnecessarily paranoid security%0a%0a--> Imagine you have a VPN server with 200 road warrior clients somewhere out there in the world - which is a very normal use-case. If you were to change the cipher you are using from one day to the next one, you would need to upgrade your WireGuard software on all those laptops, phones, etc. at the same time. That is literally impossible. Administrators who have tried this needed months to deploy configuration changes. Sometimes even middle-sized companies need years to conduce a process like this.%0a--> Compatibility matters and although you are using some weaker cipher, for many this is no reason to shut down their business and cut off hundreds of sales people from doing their job. -- "[[https://blog.ipfire.org/post/why-not-wireguard|Why Not Wireguard]]" +time=1610534365 +title=IPSec, not WireGuard +author:1610534365=jrmu +diff:1610534365:1610534299:=10,11c10%0a%3c --> Imagine you have a VPN server with 200 road warrior clients somewhere out there in the world - which is a very normal use-case. If you were to change the cipher you are using from one day to the next one, you would need to upgrade your WireGuard software on all those laptops, phones, etc. at the same time. That is literally impossible. Administrators who have tried this needed months to deploy configuration changes. Sometimes even middle-sized companies need years to conduce a process like this.%0a%3c --> Compatibility matters and although you are using some weaker cipher, for many this is no reason to shut down their business and cut off hundreds of sales people from doing their job. -- "[[https://blog.ipfire.org/post/why-not-wireguard|Why Not Wireguard]]"%0a\ No newline at end of file%0a---%0a> --> Imagine you have a VPN server with 200 road warrior clients somewhere out there in the world - which is a very normal use-case. If you were to change the cipher you are using from one day to the next one, you would need to upgrade your WireGuard software on all those laptops, phones, etc. at the same time. That is literally impossible. Administrators who have tried this needed months to deploy configuration changes. Sometimes even middle-sized companies need years to conduce a process like this. -- "[[https://blog.ipfire.org/post/why-not-wireguard|Why Not Wireguard]]"%0a\ No newline at end of file%0a +host:1610534365=125.224.27.48 +author:1610534299=jrmu +diff:1610534299:1610534284:=1,2d0%0a%3c (:title IPSec, not WireGuard:)%0a%3c %0a +host:1610534299=125.224.27.48 +author:1610534284=jrmu +diff:1610534284:1610534284:=1,8d0%0a%3c # OpenBSD has a native IPSec implementation: [[openbsd/iked|IKED]]. It's easy to configure%0a%3c # Using iked will allow us to force users to import us as a certificate authority, to bypass SSL censorship%0a%3c # WireGuard "lacks cipher and protocol agility"%0a%3c # Many users/operating systems today lack wireguard%0a%3c # Any users on an obsolete client will be unable to connect%0a%3c # Unnecessarily paranoid security%0a%3c %0a%3c --> Imagine you have a VPN server with 200 road warrior clients somewhere out there in the world - which is a very normal use-case. If you were to change the cipher you are using from one day to the next one, you would need to upgrade your WireGuard software on all those laptops, phones, etc. at the same time. That is literally impossible. Administrators who have tried this needed months to deploy configuration changes. Sometimes even middle-sized companies need years to conduce a process like this. -- "[[https://blog.ipfire.org/post/why-not-wireguard|Why Not Wireguard]]"%0a\ No newline at end of file%0a +host:1610534284=125.224.27.48 blob - /dev/null blob + 532bfe2dc2e862afc9ea18ace86a05e1ae6673cb (mode 644) --- /dev/null +++ wiki.d/Debate.Ircv3defense @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1596257466 +host=198.251.81.133 +name=Debate.Ircv3defense +rev=2 +targets=Debate.OpensoftwareStart +text=! IRC for Human Beings%0a%0aOur team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a%0aWe are committed to writing [[opensoftware:start|open, transparent software]].%0a%0a! Why IRC? %0a%0aWe all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a%0a! Fixing IRC %0a%0aBut IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a%0aIRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 **still**:%0a%0a - Does **not** provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a - Does **not** sync messages properly on phones (messages are often lost or repeated)%0a - Does **not** provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a - Does **not** provide buddy lists%0a - Does **not** provide HTTP tunneling to bypass firewalls%0a - **Cannot** handle frequent disconnects from mobile clients%0a - **Cannot** handle audio/video calls%0a - Does **not** provide a standardized registration interface%0a%0aWe plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a%0aIf you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a%0a! IRCv3 F.A.Q. %0a%0aAspects of IRC that IRCv3 (supposedly) is not addressing/did not address:%0a %0aDoes not provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0ahttps://github.com/ircv3/ircv3-specifications/pull/341 %3c--- might be able to also include file uploads, WIP%0a %0aDoes not sync messages properly on phones (messages are often lost or repeated)%0aElaboration needed as to what exactly is meant; IRC session on phone A is 100%25 independent of IRC session on device B. Bouncer relaying? if that, then statement is true%0a %0aDoes not provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0ahttps://github.com/ircv3/ircv3-specifications/pull/346 %3c--- WIP%0a %0aDoes not provide buddy lists%0aMONITOR (similiar to WATCH) as possibility?%0a %0aDoes not provide HTTP tunneling to bypass firewalls%0aOutside of their scope likely, networking issues created by ISP's, which IRCv3 does not work with in an official capacity%0a %0aCannot handle frequent disconnects from mobile clients%0aHas to do with mobile connections frequently "dialing into" the next available "post"/source and apple shuts down background processes of non-apple apps after 3 minutes; beyond the scope of IRCv3 and perhaps not fixable at all%0a %0aCannot handle audio/video calls%0ahttps://github.com/ircv3/ircv3-specifications/pull/341 %3c--- could be used with Jitsi Meet%0a %0aDoes not provide a standardized registration interface%0ahttps://github.com/ircv3/ircv3-specifications/pull/276 %3c--- resubmitted and still considered non-deployable; grounds for IRCNow to work and improve (requires client authors to integrate a good GUI though) +time=1624981515 +author:1624981515=mkf +diff:1624981515:1596257466:minor=1,2c1,2%0a%3c ! IRC for Human Beings%0a%3c %0a---%0a> ====== IRC for Human Beings ======%0a> %0a7,8c7,8%0a%3c ! Why IRC? %0a%3c %0a---%0a> ===== Why IRC? =====%0a> %0a11,12c11,12%0a%3c ! Fixing IRC %0a%3c %0a---%0a> ===== Fixing IRC =====%0a> %0a30c30%0a%3c ! IRCv3 F.A.Q. %0a---%0a> ===== IRCv3 F.A.Q. =====%0a +host:1624981515=198.251.81.133 +author:1596257466=jrmu +diff:1596257466:1596257466:=1,56d0%0a%3c ====== IRC for Human Beings ======%0a%3c %0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a%3c %0a%3c We are committed to writing [[opensoftware:start|open, transparent software]].%0a%3c %0a%3c ===== Why IRC? =====%0a%3c %0a%3c We all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a%3c %0a%3c ===== Fixing IRC =====%0a%3c %0a%3c But IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a%3c %0a%3c IRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 **still**:%0a%3c %0a%3c - Does **not** provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a%3c - Does **not** sync messages properly on phones (messages are often lost or repeated)%0a%3c - Does **not** provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a%3c - Does **not** provide buddy lists%0a%3c - Does **not** provide HTTP tunneling to bypass firewalls%0a%3c - **Cannot** handle frequent disconnects from mobile clients%0a%3c - **Cannot** handle audio/video calls%0a%3c - Does **not** provide a standardized registration interface%0a%3c %0a%3c We plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a%3c %0a%3c If you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a%3c %0a%3c ===== IRCv3 F.A.Q. =====%0a%3c %0a%3c Aspects of IRC that IRCv3 (supposedly) is not addressing/did not address:%0a%3c %0a%3c Does not provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a%3c https://github.com/ircv3/ircv3-specifications/pull/341 %3c--- might be able to also include file uploads, WIP%0a%3c %0a%3c Does not sync messages properly on phones (messages are often lost or repeated)%0a%3c Elaboration needed as to what exactly is meant; IRC session on phone A is 100%25 independent of IRC session on device B. Bouncer relaying? if that, then statement is true%0a%3c %0a%3c Does not provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a%3c https://github.com/ircv3/ircv3-specifications/pull/346 %3c--- WIP%0a%3c %0a%3c Does not provide buddy lists%0a%3c MONITOR (similiar to WATCH) as possibility?%0a%3c %0a%3c Does not provide HTTP tunneling to bypass firewalls%0a%3c Outside of their scope likely, networking issues created by ISP's, which IRCv3 does not work with in an official capacity%0a%3c %0a%3c Cannot handle frequent disconnects from mobile clients%0a%3c Has to do with mobile connections frequently "dialing into" the next available "post"/source and apple shuts down background processes of non-apple apps after 3 minutes; beyond the scope of IRCv3 and perhaps not fixable at all%0a%3c %0a%3c Cannot handle audio/video calls%0a%3c https://github.com/ircv3/ircv3-specifications/pull/341 %3c--- could be used with Jitsi Meet%0a%3c %0a%3c Does not provide a standardized registration interface%0a%3c https://github.com/ircv3/ircv3-specifications/pull/276 %3c--- resubmitted and still considered non-deployable; grounds for IRCNow to work and improve (requires client authors to integrate a good GUI though)%0a\ No newline at end of file%0a +host:1596257466=38.81.163.143 blob - /dev/null blob + 4b798451f5e5365d449f571696ff99773a1968e5 (mode 644) --- /dev/null +++ wiki.d/Debate.Linuxflaws @@ -0,0 +1,131 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=making hyperlinks +ctime=1608983996 +host=198.251.81.133 +name=Debate.Linuxflaws +rev=39 +targets= +text=(:title Why Linux is Bad for Freedom:)%0a%0a'''WE THE USERS''' need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a%0a!! Linux is controlled by exploitative corporations%0a%0a# IBM%0a # [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future|IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future]].%0a # [[https://www.redhat.com/en/ibm|Red Hat officially acquired by IBM]].%0a# Microsoft%0a # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a # Microsoft Azure is a proprietary platform and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a# Google%0a # [[http://techrights.org/2020/08/30/censorship-in-freesw/|Google, Money and Censorship in Free Software Communities]], [[https://debian.community/google-money-censorship-free-software/]]%0a -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a%0aHere are the top donors to the Linux Foundation:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Platinum Members (USD $500k annually) ||||||||||||||||%0a|| AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware ||%0a|| Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a||! Gold Members (USD $100k annually) ||||||||||||||||%0a|| Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture ||%0a|| Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a||! Silver Members ||||||||||||||||%0a|| Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn ||%0a|| Desotech || AMD || Fujitsu ||%0a%0aDo '''we the users''' have any voice or say in the development process? It may be nominally free but if we have no control over it, it is almost as bad as proprietary software.%0a%0a!! Source code is too complex, average users can no longer understand it%0a%0aAccording to a report from the [[https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/|Linux Foundation]], these are the top 10 corporate contributors in 2015-2016:%0a%0a|| border=1 width=40%25 class="sortable simpletable"%0a|| Company || Changes || Percent of total ||%0a|| Intel || 14,384 || 12.9%25 ||%0a|| Red Hat || 8,987 || 8.0%25 ||%0a|| None || 8,571 || 7.7%25 ||%0a|| Unknown || 7,582 || 6.8%25 ||%0a|| Linaro || 4,515 || 4.0%25 ||%0a|| Samsung || 4,338 || 3.9%25 ||%0a|| SUSE || 3,619 || 3.2%25 ||%0a|| IBM || 2,995 || 2.7%25 ||%0a|| Consultants || 2,938 || 2.6%25 ||%0a|| Renesas Electronics || 2,239 || 2.0%25 ||%0a%0aCan a reasonably intelligent, amateur software developer be able to understand and modify the code that these corporations write? If not, then linux has become like proprietary software. It's so complex that we have lost the ability to view and modify the source code.%0a%0a!! Linux Foundation Board of Directors are Corporate%0a%0aThe Linux Foundation's [[https://www.linuxfoundation.org/about/board/|board of directors]] are not made up of users but entirely of corporate representatives. These corporations have repeatedly shown that they have no commitment towards user freedom. Why should we trust them to oversee our operating system?%0a%0a-> As of April 2014, the foundation collected annual fees worth at least US$6,245,000. [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%0aLinux's developers are accountable to its corporate sponsors, not to us the users.%0a%0a# https://linux.slashdot.org/story/20/06/07/1941256/bryan-lunduke-explains-why-linux-sucks-in-2020%0a%0a!! Aggressive censorship through code of conducts%0a%0aLinux adopted the [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f|Contributor Covenant Code of Conduct]]%0a%0a-> In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%0aThis would make it possible for developers to be banned for disagreeing with homosexuality, affirmative action programs, or merely just criticizing poor code quality. The Contributor Covenant defines harassment to include:%0a%0a-> Trolling, insulting/derogatory comments, and personal or political attacks%0a%0aThis would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds was forced to take a break]] for his violation.%0a%0aThe author of the Contributor Covenant, Coraline Ada Ehmke, is also the author of several [[https://firstdonoharm.dev|"ethical licenses"]]. These unfree licenses would give software developers the power to sue a user for using software in a way they don't approve of if they consider it a human rights violation. This "ethical license" would not even require a court ruling to determine if it is a violation or not -- the developer gets to decide what constitutes a human rights violation.%0a%0aThis is an extreme form of censorship which will be used to sue opposition into silence.%0a%0a-> Before early 2018, the Linux Foundation's website stated that it "uses [donations] in part to help fund the infrastructure and fellows (like Linus Torvalds) who help develop the Linux kernel." However, the Foundation no longer sponsors kernel development and infrastructure through donations: while the donations page still claims that "The Linux Foundation is dedicated to protecting, promoting, and standardizing Linux", it currently also indicates that "100%25 of donations received go towards funding diversity programs." [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%0aIt even affected the founder Linus Torvalds himself: [[https://www.theverge.com/2018/10/22/18011854/linus-torvalds-linux-kernel-development-return-code-of-conduct]].%0a%0aThis implies censorship of people who disagree with "social justice" activism. +time=1624176215 +title=Why Linux is Bad for Freedom +author:1624176215=mkf +csum:1624176215=making hyperlinks +diff:1624176215:1609005696:minor=8,9c8,9%0a%3c # [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future|IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future]].%0a%3c # [[https://www.redhat.com/en/ibm|Red Hat officially acquired by IBM]].%0a---%0a> # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a> # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a15c15%0a%3c # [[http://techrights.org/2020/08/30/censorship-in-freesw/|Google, Money and Censorship in Free Software Communities]], [[https://debian.community/google-money-censorship-free-software/]]%0a---%0a> # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a +host:1624176215=198.251.81.133 +author:1609005696=jrmu +diff:1609005696:1609005676:=74c74%0a%3c This would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds was forced to take a break]] for his violation.%0a---%0a> This would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds almost got fired]] for his violation.%0a +host:1609005696=198.251.81.119 +author:1609005676=jrmu +diff:1609005676:1609001412:=74c74%0a%3c This would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds almost got fired]] for his violation.%0a---%0a> This would make it possible to ban anyone for almost any reason.%0a +host:1609005676=198.251.81.119 +author:1609001412=jrmu +diff:1609001412:1609001168:=75,78d74%0a%3c %0a%3c The author of the Contributor Covenant, Coraline Ada Ehmke, is also the author of several [[https://firstdonoharm.dev|"ethical licenses"]]. These unfree licenses would give software developers the power to sue a user for using software in a way they don't approve of if they consider it a human rights violation. This "ethical license" would not even require a court ruling to determine if it is a violation or not -- the developer gets to decide what constitutes a human rights violation.%0a%3c %0a%3c This is an extreme form of censorship which will be used to sue opposition into silence.%0a +host:1609001412=198.251.81.119 +author:1609001168=jrmu +diff:1609001168:1609001156:=13c13%0a%3c # Microsoft Azure is a proprietary platform and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a---%0a> # Microsoft Azure is entirely proprietary software and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a +host:1609001168=198.251.81.119 +author:1609001156=jrmu +diff:1609001156:1609001057:=13d12%0a%3c # Microsoft Azure is entirely proprietary software and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a +host:1609001156=198.251.81.119 +author:1609001057=jrmu +diff:1609001057:1609001021:=79c79,96%0a%3c This implies censorship of people who disagree with "social justice" activism.%0a\ No newline at end of file%0a---%0a> This implies censorship of people who disagree with "social justice" activism.%0a> %0a> 19:52 %3c~jrmu> Microsoft has invested billions of dollars into their Azure linux stack%0a> 19:52 %3c~jrmu> and so have Google and Amazon%0a> %0a> 19:54 %3c~jrmu> the US congress has sued them in court for abuse of monopoly power%0a> 19:54 %3c~jrmu> one of these days I will document it but see United States vs Google %0a> 19:55 %3c~jrmu> for a preview%0a> 19:55 %3c~jrmu> :)%0a> 19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of %0a> power for me%0a> 19:55 %3c~jrmu> Facebook and Amazon are being sued also%0a> 19:55 %3c~jrmu> it's about time%0a> 19:56 %3c~jrmu> basically they 1) never share their source code, 2) censor people %0a> arbitrarily, 3) steal trade secrets from their own customers%0a> 19:56 %3c~jrmu> 4) prevent competition%0a> 19:57 %3c~jrmu> they bully the competition%0a> 19:58 %3c~jrmu> they also undermine democracy%0a +host:1609001057=198.251.81.119 +author:1609001021=jrmu +diff:1609001021:1609000216:=65,74d64%0a%3c Linux adopted the [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f|Contributor Covenant Code of Conduct]]%0a%3c %0a%3c -> In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%3c %0a%3c This would make it possible for developers to be banned for disagreeing with homosexuality, affirmative action programs, or merely just criticizing poor code quality. The Contributor Covenant defines harassment to include:%0a%3c %0a%3c -> Trolling, insulting/derogatory comments, and personal or political attacks%0a%3c %0a%3c This would make it possible to ban anyone for almost any reason.%0a%3c %0a76,77d65%0a%3c %0a%3c It even affected the founder Linus Torvalds himself: [[https://www.theverge.com/2018/10/22/18011854/linus-torvalds-linux-kernel-development-return-code-of-conduct]].%0a +host:1609001021=198.251.81.119 +author:1609000216=jrmu +diff:1609000216:1608999894:=57,60d56%0a%3c -> As of April 2014, the foundation collected annual fees worth at least US$6,245,000. [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%3c %0a%3c Linux's developers are accountable to its corporate sponsors, not to us the users.%0a%3c %0a62c58,59%0a%3c %0a---%0a> # %0a> %0a64,67d60%0a%3c %0a%3c -> Before early 2018, the Linux Foundation's website stated that it "uses [donations] in part to help fund the infrastructure and fellows (like Linus Torvalds) who help develop the Linux kernel." However, the Foundation no longer sponsors kernel development and infrastructure through donations: while the donations page still claims that "The Linux Foundation is dedicated to protecting, promoting, and standardizing Linux", it currently also indicates that "100%25 of donations received go towards funding diversity programs." [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%3c %0a%3c This implies censorship of people who disagree with "social justice" activism.%0a +host:1609000216=198.251.81.119 +author:1608999894=jrmu +diff:1608999894:1608999384:=53,56d52%0a%3c !! Linux Foundation Board of Directors are Corporate%0a%3c %0a%3c The Linux Foundation's [[https://www.linuxfoundation.org/about/board/|board of directors]] are not made up of users but entirely of corporate representatives. These corporations have repeatedly shown that they have no commitment towards user freedom. Why should we trust them to oversee our operating system?%0a%3c %0a61a58,61%0a> %0a> %0a> 19:51 %3c~jrmu> and Google actively funds debian%0a> 19:51 %3c~jrmu> IBM Closes Landmark Acquisition of Red Hat for $34 Billion ... %0a +host:1608999894=198.251.81.119 +author:1608999384=jrmu +diff:1608999384:1608999243:=50,51d49%0a%3c %0a%3c Can a reasonably intelligent, amateur software developer be able to understand and modify the code that these corporations write? If not, then linux has become like proprietary software. It's so complex that we have lost the ability to view and modify the source code.%0a +host:1608999384=198.251.81.119 +author:1608999243=jrmu +diff:1608999243:1608998902:=38,49c38,48%0a%3c || border=1 width=40%25 class="sortable simpletable"%0a%3c || Company || Changes || Percent of total ||%0a%3c || Intel || 14,384 || 12.9%25 ||%0a%3c || Red Hat || 8,987 || 8.0%25 ||%0a%3c || None || 8,571 || 7.7%25 ||%0a%3c || Unknown || 7,582 || 6.8%25 ||%0a%3c || Linaro || 4,515 || 4.0%25 ||%0a%3c || Samsung || 4,338 || 3.9%25 ||%0a%3c || SUSE || 3,619 || 3.2%25 ||%0a%3c || IBM || 2,995 || 2.7%25 ||%0a%3c || Consultants || 2,938 || 2.6%25 ||%0a%3c || Renesas Electronics || 2,239 || 2.0%25 ||%0a---%0a> || Company || Changes || Percent of total ||%0a> || Intel || 14,384 || 12.9%25 ||%0a> || Red Hat || 8,987 || 8.0%25 ||%0a> || None || 8,571 || 7.7%25 ||%0a> || Unknown || 7,582 || 6.8%25 ||%0a> || Linaro || 4,515 || 4.0%25 ||%0a> || Samsung || 4,338 || 3.9%25 ||%0a> || SUSE || 3,619 || 3.2%25 ||%0a> || IBM || 2,995 || 2.7%25 ||%0a> || Consultants || 2,938 || 2.6%25 ||%0a> || Renesas Electronics || 2,239 || 2.0%25 ||%0a +host:1608999243=198.251.81.119 +author:1608998902=jrmu +diff:1608998902:1608998855:=5c5%0a%3c !! Linux is controlled by exploitative corporations%0a---%0a> !! Linux is controlled by abusive corporations%0a +host:1608998902=198.251.81.119 +author:1608998855=jrmu +diff:1608998855:1608998827:=22c22%0a%3c ||! Platinum Members (USD $500k annually) ||||||||||||||||%0a---%0a> ||! Platinum Members (USD $500k annually) ||||||||||%0a25c25%0a%3c ||! Gold Members (USD $100k annually) ||||||||||||||||%0a---%0a> ||! Gold Members (USD $100k annually) ||||||||||%0a28c28%0a%3c ||! Silver Members ||||||||||||||||%0a---%0a> ||! Silver Members ||||||||||%0a +host:1608998855=198.251.81.119 +author:1608998827=jrmu +diff:1608998827:1608998780:=22c22%0a%3c ||! Platinum Members (USD $500k annually) ||||||||||%0a---%0a> ||! Platinum Members (USD $500k annually) ||%0a25c25%0a%3c ||! Gold Members (USD $100k annually) ||||||||||%0a---%0a> ||! Gold Members (USD $100k annually) || %0a28c28%0a%3c ||! Silver Members ||||||||||%0a---%0a> ||! Silver Members ||%0a +host:1608998827=198.251.81.119 +author:1608998780=jrmu +diff:1608998780:1608998753:=23,24c23,24%0a%3c || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware ||%0a%3c || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a---%0a> || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook ||%0a> || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a29,30c29,30%0a%3c || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn ||%0a%3c || Desotech || AMD || Fujitsu ||%0a---%0a> || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent ||%0a> || LinkedIn || Desotech || AMD || Fujitsu ||%0a +host:1608998780=198.251.81.119 +author:1608998753=jrmu +diff:1608998753:1608998715:=21,22c21%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Platinum Members (USD $500k annually) ||%0a---%0a> || Platinum Members || (USD $500k annually) ||%0a25c24%0a%3c ||! Gold Members (USD $100k annually) || %0a---%0a> || Gold Members || (USD $100k annually) || %0a28c27%0a%3c ||! Silver Members ||%0a---%0a> || Silver Members || ||%0a +host:1608998753=198.251.81.119 +author:1608998715=jrmu +diff:1608998715:1608994911:=8,9c8,10%0a%3c # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a%3c # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a---%0a> # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a> # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a> %0a11,12c12,14%0a%3c # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a%3c # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a---%0a> # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a> # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a> %0a14,18c16,20%0a%3c # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a%3c -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a%3c -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a%3c -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a%3c %0a---%0a> # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a> -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a> -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a> -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a> %0a31c33%0a%3c Do '''we the users''' have any voice or say in the development process? It may be nominally free but if we have no control over it, it is almost as bad as proprietary software.%0a---%0a> Where do '''we the users''' fit in? Do you have any voice in the decision or development process?%0a +host:1608998715=198.251.81.119 +author:1608994911=jrmu +diff:1608994911:1608994868:=16c16%0a%3c # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a---%0a> # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]]%0a +host:1608994911=125.231.24.179 +author:1608994868=jrmu +diff:1608994868:1608994827:=3,4d2%0a%3c '''WE THE USERS''' need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a%3c %0a33,34c31,32%0a%3c Where do '''we the users''' fit in? Do you have any voice in the decision or development process?%0a%3c %0a---%0a> Where do WE THE USERS fit in? Do you have any voice in the decision or development process?%0a> %0a56c54%0a%3c %0a---%0a> WE THE USERS need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a +host:1608994868=125.231.24.179 +author:1608994827=jrmu +diff:1608994827:1608994761:=19,20c19%0a%3c Here are the top donors to the Linux Foundation:%0a%3c %0a---%0a> %0a30,31d28%0a%3c %0a%3c Where do WE THE USERS fit in? Do you have any voice in the decision or development process?%0a +host:1608994827=125.231.24.179 +author:1608994761=jrmu +diff:1608994761:1608994698:=17d16%0a%3c -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a +host:1608994761=125.231.24.179 +author:1608994698=jrmu +diff:1608994698:1608994663:=15,16c15,16%0a%3c -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a%3c -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a---%0a> > Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a> > Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a +host:1608994698=125.231.24.179 +author:1608994663=jrmu +diff:1608994663:1608994650:=15,16c15,16%0a%3c > Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a%3c > Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a---%0a> >> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a> >> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a +host:1608994663=125.231.24.179 +author:1608994650=jrmu +diff:1608994650:1608994541:=12,17d11%0a%3c %0a%3c # Google%0a%3c # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]]%0a%3c >> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a%3c >> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a%3c %0a +host:1608994650=125.231.24.179 +author:1608994541=jrmu +diff:1608994541:1608994410:=44,45c44,60%0a%3c WE THE USERS need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a%3c %0a---%0a> %0a> 19:48 %3c~jrmu> because linux is owned and controlled by mega corporations like microsoft %0a> and amazon and google%0a> 19:48 %3c~jrmu> I won't argue about that, if your goal is looking to get a job, you'd %0a> probably want linux%0a> 19:49 %3c~jrmu> and you would not want to spend time on openbsd, because it's going to be %0a> much harder to get a job with this%0a> 19:49 %3c~jrmu> however in my opinion linux has sold out%0a> 19:49 %3c~jrmu> and no longer cares about user freedom%0a> 19:50 %3c~jrmu> so when it comes to the kind of free network that we want for IRCNow, %0a> linux is not going to get us there%0a> 19:50 %3c~jrmu> there's about 30-50%25 overlap between the two OSes so learning openbsd %0a> will help a bit with linux, but I really don't care at all about linux%0a> 19:51 %3c how-hiGh> is it some kind of conspiracy theory about linux and %0a> microsoft/amazon/google?%0a> 19:51 %3c~jrmu> not a conspiracy theory%0a> 19:51 %3c~jrmu> for example IBM literally owns Red Hat Linux%0a46a62%0a> 19:51 %3c~jrmu> https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future%0a50c66,75%0a%3c %0a---%0a> 19:52 %3c~jrmu> I'll try to document this later on our wiki%0a> 19:53 %3c~jrmu> The Linux Foundation sponsors the work of Linux creator Linus Torvalds %0a> and lead maintainer Greg Kroah-Hartman and is supported by members such %0a> as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, %0a> Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] %0a> Tencent, and VMware, as well as developers from around the world. %0a> 19:53 %3c~jrmu> so many companies I hate have financial control over Linux%0a> 19:53 %3c~jrmu> https://en.wikipedia.org/wiki/Linux_foundation%0a> 19:54 %3c how-hiGh> Why do hate those corporations? I only neglect google for privacy %0a> reasons%0a +host:1608994541=125.231.24.179 +author:1608994410=jrmu +diff:1608994410:1608994327:=14,15c14%0a%3c || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook ||%0a%3c || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a---%0a> || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a17,18c16%0a%3c || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture ||%0a%3c || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a---%0a> || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a20,21c18%0a%3c || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent ||%0a%3c || LinkedIn || Desotech || AMD || Fujitsu ||%0a---%0a> || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn || Desotech || AMD || Fujitsu ||%0a +host:1608994410=125.231.24.179 +author:1608994327=jrmu +diff:1608994327:1608994308:=39c39%0a%3c !! Aggressive censorship through code of conducts%0a---%0a> !! Aggressively religious/political censorship through code of conducts%0a +host:1608994327=125.231.24.179 +author:1608994308=jrmu +diff:1608994308:1608993898:=38,41d37%0a%3c %0a%3c !! Aggressively religious/political censorship through code of conducts%0a%3c %0a%3c %0a +host:1608994308=125.231.24.179 +author:1608993898=jrmu +diff:1608993898:1608993635:=12a13,14%0a> # https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/%0a> %0a21,34d22%0a%3c %0a%3c According to a report from the [[https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/|Linux Foundation]], these are the top 10 corporate contributors in 2015-2016:%0a%3c %0a%3c || Company || Changes || Percent of total ||%0a%3c || Intel || 14,384 || 12.9%25 ||%0a%3c || Red Hat || 8,987 || 8.0%25 ||%0a%3c || None || 8,571 || 7.7%25 ||%0a%3c || Unknown || 7,582 || 6.8%25 ||%0a%3c || Linaro || 4,515 || 4.0%25 ||%0a%3c || Samsung || 4,338 || 3.9%25 ||%0a%3c || SUSE || 3,619 || 3.2%25 ||%0a%3c || IBM || 2,995 || 2.7%25 ||%0a%3c || Consultants || 2,938 || 2.6%25 ||%0a%3c || Renesas Electronics || 2,239 || 2.0%25 ||%0a +host:1608993898=125.231.24.179 +author:1608993635=jrmu +diff:1608993635:1608993581:=15,20c15,19%0a%3c || Platinum Members || (USD $500k annually) ||%0a%3c || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a%3c || Gold Members || (USD $100k annually) || %0a%3c || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a%3c || Silver Members || ||%0a%3c || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn || Desotech || AMD || Fujitsu ||%0a---%0a> || Platinum Members || (USD $500k annually) || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a> %0a> || Gold Members || (USD $100k annually) || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a> %0a> || Silver Members || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn || Desotech || AMD || Fujitsu ||%0a +host:1608993635=125.231.24.179 +author:1608993581=jrmu +diff:1608993581:1608993448:= +host:1608993581=125.231.24.179 +author:1608993448=jrmu +diff:1608993448:1608992728:=15,24d14%0a%3c || Platinum Members || (USD $500k annually) || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a%3c %0a%3c || Gold Members || (USD $100k annually) || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a%3c %0a%3c || Silver Members || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn || Desotech || AMD || Fujitsu ||%0a%3c %0a%3c !! Source code is too complex, average users can no longer understand it%0a%3c %0a%3c # https://linux.slashdot.org/story/20/06/07/1941256/bryan-lunduke-explains-why-linux-sucks-in-2020%0a%3c # %0a +host:1608993448=125.231.24.179 +author:1608992728=jrmu +diff:1608992728:1608992481:=11,13c11,13%0a%3c # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a%3c %0a%3c # https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/%0a---%0a> # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a> %0a> https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/%0a +host:1608992728=125.231.24.179 +author:1608992481=jrmu +diff:1608992481:1608992421:=10,11c10,11%0a%3c # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a%3c # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a---%0a> # # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a> # # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a +host:1608992481=125.231.24.179 +author:1608992421=jrmu +diff:1608992421:1608992152:=11,13d10%0a%3c # # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a%3c %0a%3c https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/%0a +host:1608992421=125.231.24.179 +author:1608992152=jrmu +diff:1608992152:1608985366:=5d4%0a%3c # IBM%0a9,10d7%0a%3c # Microsoft%0a%3c # # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a +host:1608992152=125.231.24.179 +author:1608985366=jrmu +diff:1608985366:1608983996:=1,8c1,7%0a%3c (:title Why Linux is Bad for Freedom:)%0a%3c %0a%3c !! Linux is controlled by abusive corporations%0a%3c %0a%3c # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a%3c # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a%3c %0a%3c %0a---%0a> 19:47 %3c~jrmu> would it make sense for a person to try to learn four separate %0a> disciplines: engineering and medicine and accounting and music theory%0a> 19:47 %3c how-hiGh> for instance a guy that only knows Linux can still get a job, right?%0a> 19:48 %3c~jrmu> most likely the answer is no, he will probably just want to learn one and %0a> learn it well%0a> 19:48 %3c~jrmu> instead of trying to learn 4 and doing each badly%0a> 19:48 %3c~jrmu> so for the linux one -- linux is going to be easier to get a job with%0a +host:1608985366=125.231.24.179 +author:1608983996=jrmu +diff:1608983996:1608983996:=1,51d0%0a%3c 19:47 %3c~jrmu> would it make sense for a person to try to learn four separate %0a%3c disciplines: engineering and medicine and accounting and music theory%0a%3c 19:47 %3c how-hiGh> for instance a guy that only knows Linux can still get a job, right?%0a%3c 19:48 %3c~jrmu> most likely the answer is no, he will probably just want to learn one and %0a%3c learn it well%0a%3c 19:48 %3c~jrmu> instead of trying to learn 4 and doing each badly%0a%3c 19:48 %3c~jrmu> so for the linux one -- linux is going to be easier to get a job with%0a%3c 19:48 %3c~jrmu> because linux is owned and controlled by mega corporations like microsoft %0a%3c and amazon and google%0a%3c 19:48 %3c~jrmu> I won't argue about that, if your goal is looking to get a job, you'd %0a%3c probably want linux%0a%3c 19:49 %3c~jrmu> and you would not want to spend time on openbsd, because it's going to be %0a%3c much harder to get a job with this%0a%3c 19:49 %3c~jrmu> however in my opinion linux has sold out%0a%3c 19:49 %3c~jrmu> and no longer cares about user freedom%0a%3c 19:50 %3c~jrmu> so when it comes to the kind of free network that we want for IRCNow, %0a%3c linux is not going to get us there%0a%3c 19:50 %3c~jrmu> there's about 30-50%25 overlap between the two OSes so learning openbsd %0a%3c will help a bit with linux, but I really don't care at all about linux%0a%3c 19:51 %3c how-hiGh> is it some kind of conspiracy theory about linux and %0a%3c microsoft/amazon/google?%0a%3c 19:51 %3c~jrmu> not a conspiracy theory%0a%3c 19:51 %3c~jrmu> for example IBM literally owns Red Hat Linux%0a%3c 19:51 %3c~jrmu> and Google actively funds debian%0a%3c 19:51 %3c~jrmu> https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future%0a%3c 19:51 %3c~jrmu> IBM Closes Landmark Acquisition of Red Hat for $34 Billion ... %0a%3c 19:52 %3c~jrmu> Microsoft has invested billions of dollars into their Azure linux stack%0a%3c 19:52 %3c~jrmu> and so have Google and Amazon%0a%3c 19:52 %3c~jrmu> I'll try to document this later on our wiki%0a%3c 19:53 %3c~jrmu> The Linux Foundation sponsors the work of Linux creator Linus Torvalds %0a%3c and lead maintainer Greg Kroah-Hartman and is supported by members such %0a%3c as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, %0a%3c Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] %0a%3c Tencent, and VMware, as well as developers from around the world. %0a%3c 19:53 %3c~jrmu> so many companies I hate have financial control over Linux%0a%3c 19:53 %3c~jrmu> https://en.wikipedia.org/wiki/Linux_foundation%0a%3c 19:54 %3c how-hiGh> Why do hate those corporations? I only neglect google for privacy %0a%3c reasons%0a%3c 19:54 %3c~jrmu> the US congress has sued them in court for abuse of monopoly power%0a%3c 19:54 %3c~jrmu> one of these days I will document it but see United States vs Google %0a%3c 19:55 %3c~jrmu> for a preview%0a%3c 19:55 %3c~jrmu> :)%0a%3c 19:55 %3c~jrmu> I'm glad the Department of Justice has helped document their abuse of %0a%3c power for me%0a%3c 19:55 %3c~jrmu> Facebook and Amazon are being sued also%0a%3c 19:55 %3c~jrmu> it's about time%0a%3c 19:56 %3c~jrmu> basically they 1) never share their source code, 2) censor people %0a%3c arbitrarily, 3) steal trade secrets from their own customers%0a%3c 19:56 %3c~jrmu> 4) prevent competition%0a%3c 19:57 %3c~jrmu> they bully the competition%0a%3c 19:58 %3c~jrmu> they also undermine democracy%0a +host:1608983996=198.251.81.119 blob - /dev/null blob + 5caa2e215750236738ea7a04ef8e46bec264e1cd (mode 644) --- /dev/null +++ wiki.d/Debate.Matrixflaws @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609034486 +host=198.251.81.133 +name=Debate.Matrixflaws +rev=2 +targets= +text=[@%0a[03:24:20] %3cjrmu> https://en.wikipedia.org/wiki/Matrix.org%0a[03:24:58] %3cjrmu> you really have to look at a project's source of money%0a[03:25:54] %3cjrmu> so what you really have is the developer team of matrix getting money from outside donors%0a[03:26:36] %3cjrmu> donors are OK but what safeguards do they put in place to ensure that their *users* control the development process%0a@] +time=1624981737 +author:1624981737=mkf +diff:1624981737:1609034486:minor=1d0%0a%3c [@%0a6d4%0a%3c @]%0a\ No newline at end of file%0a +host:1624981737=198.251.81.133 +author:1609034486=jrmu +diff:1609034486:1609034486:=1,4d0%0a%3c [03:24:20] %3cjrmu> https://en.wikipedia.org/wiki/Matrix.org%0a%3c [03:24:58] %3cjrmu> you really have to look at a project's source of money%0a%3c [03:25:54] %3cjrmu> so what you really have is the developer team of matrix getting money from outside donors%0a%3c [03:26:36] %3cjrmu> donors are OK but what safeguards do they put in place to ensure that their *users* control the development process%0a +host:1609034486=198.251.81.119 blob - /dev/null blob + 16a5dfb1e73b7d215860729194b53831e8281ed6 (mode 644) --- /dev/null +++ wiki.d/Debate.Microsoftdanger @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006366 +host=198.251.81.119 +name=Debate.Microsoftdanger +rev=2 +targets= +text=[13:08:32] %3cjrmu> https://azure.microsoft.com/en-us/services/virtual-desktop/%0a[13:08:38] %3cjrmu> Access Windows 10 desktop and applications from anywhere, on any device. Regardless of your device type (Windows, Mac, iOS, Android or any other device with an HTML5 web client) bring-your-own-device (BYOD) and remote connect to your enterprise experience with Windows Virtual Desktop.%0a[13:08:44] %3cjrmu> This is going to be the future of Windows%0a[13:09:02] %3cjrmu> cloud-based windows%0a[13:10:10] %3cjrmu> it's very bad for freedom because Microsoft can then arbitrarily spy and censor%0a[13:11:23] %3cjrmu> also nowadays most laptops have UEFI that will only boot from signed and approved OSes%0a%0a[13:49:45] %3cjrmu> https://github.blog/2020-03-16-npm-is-joining-github/%0a[13:49:53] %3cjrmu> I’m excited to announce that GitHub has signed an agreement to acquire npm.%0a +time=1609006502 +author:1609006502=jrmu +diff:1609006502:1609006366:=7,9d6%0a%3c %0a%3c [13:49:45] %3cjrmu> https://github.blog/2020-03-16-npm-is-joining-github/%0a%3c [13:49:53] %3cjrmu> I’m excited to announce that GitHub has signed an agreement to acquire npm.%0a +host:1609006502=198.251.81.119 +author:1609006366=jrmu +diff:1609006366:1609006366:=1,6d0%0a%3c [13:08:32] %3cjrmu> https://azure.microsoft.com/en-us/services/virtual-desktop/%0a%3c [13:08:38] %3cjrmu> Access Windows 10 desktop and applications from anywhere, on any device. Regardless of your device type (Windows, Mac, iOS, Android or any other device with an HTML5 web client) bring-your-own-device (BYOD) and remote connect to your enterprise experience with Windows Virtual Desktop.%0a%3c [13:08:44] %3cjrmu> This is going to be the future of Windows%0a%3c [13:09:02] %3cjrmu> cloud-based windows%0a%3c [13:10:10] %3cjrmu> it's very bad for freedom because Microsoft can then arbitrarily spy and censor%0a%3c [13:11:23] %3cjrmu> also nowadays most laptops have UEFI that will only boot from signed and approved OSes%0a +host:1609006366=198.251.81.119 blob - /dev/null blob + 2358922a302b28d6af51e6e560d1df6e55dc541c (mode 644) --- /dev/null +++ wiki.d/Debate.Monero @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609034549 +host=198.251.81.119 +name=Debate.Monero +rev=1 +targets= +text=https://localmonero.co/ and localbitcoins.com since you said you've not looked too deeply into this +time=1609034549 +author:1609034549=jrmu +diff:1609034549:1609034549:=1d0%0a%3c https://localmonero.co/ and localbitcoins.com since you said you've not looked too deeply into this%0a\ No newline at end of file%0a +host:1609034549=198.251.81.119 blob - /dev/null blob + 8505b65e4eaf5812ce09e5236e02416b4f161bc2 (mode 644) --- /dev/null +++ wiki.d/Debate.Monopolydanger @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609035738 +host=91.185.128.133 +name=Debate.Monopolydanger +rev=4 +targets= +text=https://www.nytimes.com/2020/11/17/technology/twitter-facebook-senate-hearings.html%0a%0ahttps://tech.slashdot.org/story/20/11/20/1849228/google-facebook-and-twitter-threaten-to-leave-pakistan-over-censorship-law%0a[@%0a[10:20:39] %3cjrmu> Earlier this week, Pakistan Prime Minister Imran Khan granted the Pakistan Telecommunication Authority the power to remove and block digital content that pose "harms, intimidates or excites disaffection" toward the government or in other ways hurt the "integrity, security, and defence of Pakistan." Through a group called the Asia Internet Coalition (AIC), the tech firms said that they were "alarmed" by the %0a[10:20:45] %3cjrmu> scope of Pakistan's new law targeting internet firms." In addition to Facebook, Google, and Twitter, AIC represents Apple, Amazon, LinkedIn, SAP, Expedia Group, Yahoo, Airbnb, Grab, Rakuten, Booking.com, Line, and Cloudflare.%0a@] +time=1628708472 +author:1628708472=mkf +diff:1628708472:1609038126:=4c4%0a%3c [@%0a---%0a> %0a7d6%0a%3c @]%0a\ No newline at end of file%0a +host:1628708472=91.185.128.133 +author:1609038126=jrmu +diff:1609038126:1609038118:=3,6c3%0a%3c https://tech.slashdot.org/story/20/11/20/1849228/google-facebook-and-twitter-threaten-to-leave-pakistan-over-censorship-law%0a%3c %0a%3c [10:20:39] %3cjrmu> Earlier this week, Pakistan Prime Minister Imran Khan granted the Pakistan Telecommunication Authority the power to remove and block digital content that pose "harms, intimidates or excites disaffection" toward the government or in other ways hurt the "integrity, security, and defence of Pakistan." Through a group called the Asia Internet Coalition (AIC), the tech firms said that they were "alarmed" by the %0a%3c [10:20:45] %3cjrmu> scope of Pakistan's new law targeting internet firms." In addition to Facebook, Google, and Twitter, AIC represents Apple, Amazon, LinkedIn, SAP, Expedia Group, Yahoo, Airbnb, Grab, Rakuten, Booking.com, Line, and Cloudflare.%0a---%0a> https://tech.slashdot.org/story/20/11/20/1849228/google-facebook-and-twitter-threaten-to-leave-pakistan-over-censorship-law%0a\ No newline at end of file%0a +host:1609038126=198.251.81.119 +author:1609038118=jrmu +diff:1609038118:1609035738:=1,3c1%0a%3c https://www.nytimes.com/2020/11/17/technology/twitter-facebook-senate-hearings.html%0a%3c %0a%3c https://tech.slashdot.org/story/20/11/20/1849228/google-facebook-and-twitter-threaten-to-leave-pakistan-over-censorship-law%0a\ No newline at end of file%0a---%0a> https://www.nytimes.com/2020/11/17/technology/twitter-facebook-senate-hearings.html%0a\ No newline at end of file%0a +host:1609038118=198.251.81.119 +author:1609035738=jrmu +diff:1609035738:1609035738:=1d0%0a%3c https://www.nytimes.com/2020/11/17/technology/twitter-facebook-senate-hearings.html%0a\ No newline at end of file%0a +host:1609035738=198.251.81.119 blob - /dev/null blob + e915883939bffd94a6b89626276bb7a4577b0d34 (mode 644) --- /dev/null +++ wiki.d/Debate.Mozilladanger @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609037547 +host=198.251.81.119 +name=Debate.Mozilladanger +rev=2 +targets= +text=https://techcrunch.com/2020/02/25/firefox-dns-https-default-united-states/%0a%0ahttps://blog.powerdns.com/2019/09/25/centralised-doh-is-bad-for-privacy-in-2019-and-beyond%0a%0a[12:13:41] %3cjrmu> ``Based on this, we can conclude that as it stands, using DoH to a bro%0awser-provisioned cloud provider effectively worsens your privacy position.''%0a[12:14:02] %3cjrmu> ``So after switching to DoH, we have to add the following to our list:%0a[12:14:03] %3cjrmu> Cloudflare / your DoH provider The US Government, NSA, FBI etc%0a +time=1609038349 +author:1609038349=jrmu +diff:1609038349:1609037547:=1,8c1%0a%3c https://techcrunch.com/2020/02/25/firefox-dns-https-default-united-states/%0a%3c %0a%3c https://blog.powerdns.com/2019/09/25/centralised-doh-is-bad-for-privacy-in-2019-and-beyond%0a%3c %0a%3c [12:13:41] %3cjrmu> ``Based on this, we can conclude that as it stands, using DoH to a bro%0a%3c wser-provisioned cloud provider effectively worsens your privacy position.''%0a%3c [12:14:02] %3cjrmu> ``So after switching to DoH, we have to add the following to our list:%0a%3c [12:14:03] %3cjrmu> Cloudflare / your DoH provider The US Government, NSA, FBI etc%0a---%0a> https://techcrunch.com/2020/02/25/firefox-dns-https-default-united-states/%0a\ No newline at end of file%0a +host:1609038349=198.251.81.119 +author:1609037547=jrmu +diff:1609037547:1609037547:=1d0%0a%3c https://techcrunch.com/2020/02/25/firefox-dns-https-default-united-states/%0a\ No newline at end of file%0a +host:1609037547=198.251.81.119 blob - /dev/null blob + cb0a25ee969bcd39f7dc5fcabad5a7450bd91203 (mode 644) --- /dev/null +++ wiki.d/Debate.Nodejstrap @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609006533 +host=198.251.81.133 +name=Debate.Nodejstrap +rev=3 +targets= +text=[@%0a[13:49:45] %3cjrmu> https://github.blog/2020-03-16-npm-is-joining-github/%0a[13:49:53] %3cjrmu> I’m excited to announce that GitHub has signed an agreement to acquire npm.%0a%0a[04:44:31] %3cjrmu> I like this piece: http://harmful.cat-v.org/software/node.js%0a[04:44:38] %3cjrmu> Node.js is one of the worst things to happen to the software industry %0ain recent times%0a[04:44:53] %3cjrmu> uriel, in response to Why Node.JS is absolutely terrible, by Hasen el Judy%0a[04:46:46] %3cjrmu> JavaScript was already painful enough in the browser, why on earth anyone ever thought it was a good idea to use it on the server boggles the mind.%0a@] +time=1624981684 +author:1624981684=mkf +diff:1624981684:1609036998:=1d0%0a%3c [@%0a10d8%0a%3c @]%0a\ No newline at end of file%0a +host:1624981684=198.251.81.133 +author:1609036998=jrmu +diff:1609036998:1609006533:=3,8d2%0a%3c %0a%3c [04:44:31] %3cjrmu> I like this piece: http://harmful.cat-v.org/software/node.js%0a%3c [04:44:38] %3cjrmu> Node.js is one of the worst things to happen to the software industry %0a%3c in recent times%0a%3c [04:44:53] %3cjrmu> uriel, in response to Why Node.JS is absolutely terrible, by Hasen el Judy%0a%3c [04:46:46] %3cjrmu> JavaScript was already painful enough in the browser, why on earth anyone ever thought it was a good idea to use it on the server boggles the mind.%0a +host:1609036998=198.251.81.119 +author:1609006533=jrmu +diff:1609006533:1609006533:=1,2d0%0a%3c [13:49:45] %3cjrmu> https://github.blog/2020-03-16-npm-is-joining-github/%0a%3c [13:49:53] %3cjrmu> I’m excited to announce that GitHub has signed an agreement to acquire npm.%0a +host:1609006533=198.251.81.119 blob - /dev/null blob + 726c97c637aa03c1b6f34fff5627985cf0965fe5 (mode 644) --- /dev/null +++ wiki.d/Debate.Oldsoftware @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609036974 +host=198.251.81.133 +name=Debate.Oldsoftware +rev=3 +targets= +text=[@%0a[05:15:30] %3cjrmu> http://archive.flossmanuals.net/bypassing-censorship/ch011_get-creative.html%0a[05:15:33] %3cjrmu> Use either very old or very new technology%0a[05:15:42] %3cjrmu> Sometimes a censor's filtering and monitoring techniques are only applied to current standard Internet protocols and services, so consider using very old or very recent technology that may not be blocked or monitored. Before the advent of instant messaging (IM) software (Windows Live Messenger, AIM, etc.) group communication was performed using Internet Relay Chat (IRC), a protocol that allows real-time %0a[05:15:51] %3cjrmu> Internet text messaging. Although less popular than its successors, IRC still exists and is still widely used by a big community of Internet users. A bulletin board system (BBS) is a computer running software that allows users to connect, upload and download software as well as other data, read news, and exchange messages with other users. Originally users would call a telephone number using their modems to %0a[05:15:57] %3cjrmu> access these systems, but by the early 1990s some bulletin board systems also allowed access over Internet interactive text protocols, such as Telnet and, later, SSH.%0a@] +time=1624982217 +author:1624982217=mkf +diff:1624982217:1624982141:=7d6%0a%3c @]%0a\ No newline at end of file%0a +host:1624982217=198.251.81.133 +author:1624982141=mkf +diff:1624982141:1609036974:minor=1d0%0a%3c [@%0a +host:1624982141=198.251.81.133 +author:1609036974=jrmu +diff:1609036974:1609036974:=1,5d0%0a%3c [05:15:30] %3cjrmu> http://archive.flossmanuals.net/bypassing-censorship/ch011_get-creative.html%0a%3c [05:15:33] %3cjrmu> Use either very old or very new technology%0a%3c [05:15:42] %3cjrmu> Sometimes a censor's filtering and monitoring techniques are only applied to current standard Internet protocols and services, so consider using very old or very recent technology that may not be blocked or monitored. Before the advent of instant messaging (IM) software (Windows Live Messenger, AIM, etc.) group communication was performed using Internet Relay Chat (IRC), a protocol that allows real-time %0a%3c [05:15:51] %3cjrmu> Internet text messaging. Although less popular than its successors, IRC still exists and is still widely used by a big community of Internet users. A bulletin board system (BBS) is a computer running software that allows users to connect, upload and download software as well as other data, read news, and exchange messages with other users. Originally users would call a telephone number using their modems to %0a%3c [05:15:57] %3cjrmu> access these systems, but by the early 1990s some bulletin board systems also allowed access over Internet interactive text protocols, such as Telnet and, later, SSH.%0a +host:1609036974=198.251.81.119 blob - /dev/null blob + 718a1a3914b9d428d92ac76b7c42d9401f249149 (mode 644) --- /dev/null +++ wiki.d/Debate.Openweb @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609037940 +host=198.251.81.119 +name=Debate.Openweb +rev=1 +targets= +text=[03:16:38] %3cjrmu> https://insightbrowser.com/blog/open-web-dying-why-care%0a[03:16:41] %3cjrmu> What do I care the open web is dying?%0a[03:17:04] %3cjrmu> Three characteristics that proponents of the open web will agree to in%0a roughly descending order are:%0a[03:17:13] %3cjrmu> Ease of publishing: anyone can publish to it freely or at least ve%0ary cheaply, and is on the same footing with a globally accessible URL%0a[03:17:16] %3cjrmu> Ease of consuming: Net neutrality ISP's dont cut deals with corp%0aorations to make some websites load faster or cheaper than others.%0a[03:17:19] %3cjrmu> Ease of remixing. You can see the source code. Content licenses an%0ad tools are permissive for derived works.%0a +time=1609037940 +author:1609037940=jrmu +diff:1609037940:1609037940:=1,10d0%0a%3c [03:16:38] %3cjrmu> https://insightbrowser.com/blog/open-web-dying-why-care%0a%3c [03:16:41] %3cjrmu> What do I care the open web is dying?%0a%3c [03:17:04] %3cjrmu> Three characteristics that proponents of the open web will agree to in%0a%3c roughly descending order are:%0a%3c [03:17:13] %3cjrmu> Ease of publishing: anyone can publish to it freely or at least ve%0a%3c ry cheaply, and is on the same footing with a globally accessible URL%0a%3c [03:17:16] %3cjrmu> Ease of consuming: Net neutrality ISP's dont cut deals with corp%0a%3c orations to make some websites load faster or cheaper than others.%0a%3c [03:17:19] %3cjrmu> Ease of remixing. You can see the source code. Content licenses an%0a%3c d tools are permissive for derived works.%0a +host:1609037940=198.251.81.119 blob - /dev/null blob + d00bb9b80546feb45a1352ce7f340b40ea872016 (mode 644) --- /dev/null +++ wiki.d/Debate.Outreachkids @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609006846 +host=198.251.81.133 +name=Debate.Outreachkids +rev=2 +targets= +text=[@%0a[03:44:17] %3cjrmu> https://education.minecraft.net/hour-of-code-2020%0a[03:44:37] %3cjrmu> minecraft is now being used to push social justice activism%0a[03:44:52] %3cjrmu> https://news.slashdot.org/story/20/11/13/1426210/microsofts-2020-hour-%0aof-code-lesson-doubles-as-unconscious-bias-training#comments%0a[03:45:05] %3cjrmu> ``"Help us bring two villages together through the power of code! [...%0a] You will experience empathy and compassion for your neighbor while embracing the diver%0asity that makes us all uniquely special."''%0a[03:45:22] %3cjrmu> ``"Both conscious and unconscious biases can cause us to behave negati%0avely or discriminate against people. When we stereotype people based on their gender, et%0ahnicity, sexual orientation, or some other characteristic, it can be detrimental to us a%0and our community. On a larger and extreme scale, bias can lead to oppression, genocide, %0aand even slavery." The Guide notes that this year's Hour of Code lesson %0a@] +time=1624175640 +author:1624175640=mkf +diff:1624175640:1609006846:minor=1d0%0a%3c [@%0a14d12%0a%3c @]%0a\ No newline at end of file%0a +host:1624175640=198.251.81.133 +author:1609006846=jrmu +diff:1609006846:1609006846:=1,12d0%0a%3c [03:44:17] %3cjrmu> https://education.minecraft.net/hour-of-code-2020%0a%3c [03:44:37] %3cjrmu> minecraft is now being used to push social justice activism%0a%3c [03:44:52] %3cjrmu> https://news.slashdot.org/story/20/11/13/1426210/microsofts-2020-hour-%0a%3c of-code-lesson-doubles-as-unconscious-bias-training#comments%0a%3c [03:45:05] %3cjrmu> ``"Help us bring two villages together through the power of code! [...%0a%3c ] You will experience empathy and compassion for your neighbor while embracing the diver%0a%3c sity that makes us all uniquely special."''%0a%3c [03:45:22] %3cjrmu> ``"Both conscious and unconscious biases can cause us to behave negati%0a%3c vely or discriminate against people. When we stereotype people based on their gender, et%0a%3c hnicity, sexual orientation, or some other characteristic, it can be detrimental to us a%0a%3c nd our community. On a larger and extreme scale, bias can lead to oppression, genocide, %0a%3c and even slavery." The Guide notes that this year's Hour of Code lesson %0a +host:1609006846=198.251.81.119 blob - /dev/null blob + 4974cb27eb9cf01cc2df5a8280abe5c869efe0b7 (mode 644) --- /dev/null +++ wiki.d/Debate.Partners @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597119418 +host=38.81.163.143 +name=Debate.Partners +rev=1 +targets= +text= - No clones%0a - No illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a - No copyright infringement%0a - Proper spam defenses%0a - NSFW Ages 18+ channels clearly marked so our bouncers can block them%0a - Provide ilines for our network%0a - Must provide contact info to deal with abuse +time=1597119418 +author:1597119418=jrmu +diff:1597119418:1597119418:=1,7d0%0a%3c - No clones%0a%3c - No illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a%3c - No copyright infringement%0a%3c - Proper spam defenses%0a%3c - NSFW Ages 18+ channels clearly marked so our bouncers can block them%0a%3c - Provide ilines for our network%0a%3c - Must provide contact info to deal with abuse%0a\ No newline at end of file%0a +host:1597119418=38.81.163.143 blob - /dev/null blob + bc1aa9ff9033b0112a554bb80d207bc9c5a49615 (mode 644) --- /dev/null +++ wiki.d/Debate.Privacy @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597118117 +host=198.251.81.119 +name=Debate.Privacy +rev=4 +targets= +text=https://en.wikipedia.org/wiki/Loveint%0a%0aInternet service providers have the power to collect a tremendous amount of metadata: your legal name, age, email, social media accounts, photos, residential address, and browsing history. They have the power to profile you based on a wide array of fingerprinting techniques. On most networks, anonymity is impossible.%0a%0aThere are many dangers that could result from an abuse of this data. Identity theft, online harassment, selling data to advertisers are just a few of the many possible abuses of private data.%0a%0a%0a!! gry's Proposal%0a%0aDo not share data, with or without a reward, to 3rd parties. Three excuses to break this rule:%0a%0a# Can share as an opt-in, with the ethical cause, and with clear completely voluntary consent of the affected users (examples A/B testing, data about how the software is being used, statistics about language etc - only in cases when this is useful for improvement of the service, and only with users who agreed to participate).%0a# It is allowed to report illegal activity to 3rd parties, including law enforcement.%0a# People who repeatedly break the rules of IRCNow while using IRCNow services may be reported to their Internet Service Provider or other entities who provide repeated access.%0a%0a +time=1612508738 +author:1612508738=jrmu +diff:1612508738:1609036789:=2,6d1%0a%3c %0a%3c Internet service providers have the power to collect a tremendous amount of metadata: your legal name, age, email, social media accounts, photos, residential address, and browsing history. They have the power to profile you based on a wide array of fingerprinting techniques. On most networks, anonymity is impossible.%0a%3c %0a%3c There are many dangers that could result from an abuse of this data. Identity theft, online harassment, selling data to advertisers are just a few of the many possible abuses of private data.%0a%3c %0a +host:1612508738=198.251.81.119 +author:1609036789=jrmu +diff:1609036789:1597118154:=1,2d0%0a%3c https://en.wikipedia.org/wiki/Loveint%0a%3c %0a +host:1609036789=198.251.81.119 +author:1597118154=jrmu +diff:1597118154:1597118117:=2,7c2,5%0a%3c %0a%3c Do not share data, with or without a reward, to 3rd parties. Three excuses to break this rule:%0a%3c %0a%3c # Can share as an opt-in, with the ethical cause, and with clear completely voluntary consent of the affected users (examples A/B testing, data about how the software is being used, statistics about language etc - only in cases when this is useful for improvement of the service, and only with users who agreed to participate).%0a%3c # It is allowed to report illegal activity to 3rd parties, including law enforcement.%0a%3c # People who repeatedly break the rules of IRCNow while using IRCNow services may be reported to their Internet Service Provider or other entities who provide repeated access.%0a---%0a> Do not share data, with or without a reward, to 3rd parties. Three excuses to break this rule:%0a> Can share as an opt-in, with the ethical cause, and with clear completely voluntary consent of the affected users (examples A/B testing, data about how the software is being used, statistics about language etc - only in cases when this is useful for improvement of the service, and only with users who agreed to participate).%0a> It is allowed to report illegal activity to 3rd parties, including law enforcement.%0a> People who repeatedly break the rules of IRCNow while using IRCNow services may be reported to their Internet Service Provider or other entities who provide repeated access.%0a +host:1597118154=38.81.163.143 +author:1597118117=jrmu +diff:1597118117:1597118117:=1,6d0%0a%3c !! gry's Proposal%0a%3c Do not share data, with or without a reward, to 3rd parties. Three excuses to break this rule:%0a%3c Can share as an opt-in, with the ethical cause, and with clear completely voluntary consent of the affected users (examples A/B testing, data about how the software is being used, statistics about language etc - only in cases when this is useful for improvement of the service, and only with users who agreed to participate).%0a%3c It is allowed to report illegal activity to 3rd parties, including law enforcement.%0a%3c People who repeatedly break the rules of IRCNow while using IRCNow services may be reported to their Internet Service Provider or other entities who provide repeated access.%0a%3c %0a +host:1597118117=38.81.163.143 blob - /dev/null blob + 40582c2ed6b6885b2ee1267f0a8443af77caa1ca (mode 644) --- /dev/null +++ wiki.d/Debate.Providers @@ -0,0 +1,241 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609322123 +host=198.251.81.133 +name=Debate.Providers +rev=76 +targets=Blazingfast.Io,Colohouse.Com,Glowhost.Com,Debate.Contabo,Debate.Flokinet,Hostdime.Com,Ideastack.Com,Hyperfilter.Com,Go4hosting.In,Leapswitch.Com,Crazyhosting.Com,Onliveserver.Com,Rdsindia.Com,Cyfuture.Com,Serverbasket.Com,Hostingraja.In,Resellerclub.Com,Everdata.Com,Ricohidc.Com,Milesweb.Com,Nowindiaonline.In,Cloudoye.Com,Softsyshosting.Com,Webji.In,Hostkarle.Com,Serverscart.Com,Vnetindia.Com,Superbytehosting.Com,Sytes.In,Royalclouds.Net +text=(:title Searching for Additional Providers:)%0a%0a!! Guidelines for Selecting Providers%0a%0aCheck the Acceptable Use Policy:%0a%0a# Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship.%0a# In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a# What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a# Does it allow IRC?%0a# Does it allow email?%0a# Does it allow tor?%0a# Does it allow game servers?%0a# Does it allow VPNs?%0a# Does it allow running DNS servers?%0a# Does it allow torrents and filesharing?%0a%0aOther Important Criteria:%0a%0a# Does it support OpenBSD or other alternative operating systems?%0a# Does it provide DDoS filtering? IPv6? rDNS delegation? What size of an IPv6 subnet do we get?%0a# Do they offer colocation, or dedicated servers? We no longer want VPSes, they are too unstable.%0a# Where are the data centers located?%0a# How long has this provider been operating?%0a# Do they have a good reputation? Is there a strong user community?%0a# How do they provide customer support? IRC is best, second would be email. Discord and Telegram are not ideal. Support tickets can be very slow.%0a# What payment options do they accept? Paypal is not reliable. Credit cards are acceptable but cryptcoins would be best.%0a%0aSend an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another provider. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have our money.%0a%0aWe especially need providers in Asia (Hong Kong, Singapore), Australia, Africa, and South America.%0a%0a!! Currently Using%0a%0a# [[https://buyvm.net]] -- Las Vegas, New York City, Luxembourg%0a# [[https://aliendata.com]] -- Texas%0a%0a!! Recommended%0a%0aUSA%0a%0a# [[https://endoffice.com/|EndOffice]] -- Supports free speech, (DDoS filtering?)%0a# [[https://ColocationAmerica.com|Colocation America]] -- includes DDoS filtering%0a# [[https://us.leaseweb.com]] -- fast reply, allows anything legal%0a%0aEurope%0a%0a%0a%0aHong Kong%0a%0a# [[https://simcentric.com]] -- fast customer support, 3 day trial%0a# [[https://hosthongkong.net]] -- allows anything legal%0a# [[https://serverrun.com]] -- replied no colo%0a# [[https://sunnyvision.com]] -- allows anything legal%0a# [[https://serverhk.org]] -- allows anything legal%0a# [[https://hkcolocation.net]] -- allows anything legal%0a%0a%0a!! Untested%0a%0aUSA%0a%0a# [[https://www.budgetvm.com/|BudgetVM]]%0a# [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a# [[blazingfast.io]]%0a# [[colohouse.com]] -- replied%0a# [[glowhost.com]]%0a# [[http://ddoshostingsolutions.com/]]%0a# [[https://www.hostclean.net/]]%0a# [[https://www.datapacket.com]] -- very expensive%0a# [[https://www.quadranet.com/]]%0a# [[https://spartanhost.org/dedicated]] -- uses psychz%0a# [[https://www.prometeus.net/]]%0a%0aEurope%0a%0a# [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a# [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a# [[contabo]]%0a# [[flokinet]]%0a%0aHong Kong%0a%0a# [[hostdime.com|Host Dime]] -- unreasonable price, allows anything legal%0a%0a!! Potential%0a%0a# [[https://lowendbox.com/|LowEndBox]]%0a# [[https://www.bitcoin-vps.com/|List #1 of Bitcoin VPS providers]]%0a# [[https://uncensoredhosting.com/best-bitcoin-vps/|List #2 of Bitcoin VPS providers]] %0a# [[https://torbitcoinvps.github.io/|List #3 of Bitcoin VPS providers]]%0a%0aDDos Filtering Providers:%0a%0a# [[https://www.x4b.net/|x4b]]%0a%0a!! Don't use%0a%0a# OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|perhaps prohibits IRC?]]%0a# Amazon AWS -- [[https://aws.amazon.com/aup/|AUP]] censors offensive content without really defining what offensive is%0a# Google Cloud -- censors hate speech%0a# Digital Ocean -- censors hate speech%0a# Linode -- censors hate speech%0a# Microsoft Azure -- [[https://qz.com/1352990/microsoft-threatens-to-take-down-gab-ai-over-hate-speech/|censors]] [[https://www.theverge.com/2018/8/9/17671188/microsoft-gab-hate-speech-hosting-ban-deplatform|hate]] [[https://www.washingtonpost.com/technology/2018/08/10/hate-speech-crackdown-spreads-behind-the-scenes-tech/|speech]]%0a# HostSailor -- [[https://hostsailor.com/acceptable-use-policy/|censors hate speech]]%0a# [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS API%0a# [[ideastack.com]]%0a# [[hyperfilter.com|HyperFilter]] -- forbids IRC%0a# [[https://www.psychz.net/|Psychz]] -- DDoS filtering, censors [[https://www.psychz.net/aup.html|hate speech]]%0a# [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering, censors [[https://www.choopa.com/legal/use_policy/|hate speech]]%0a# [[https://hetzner.com|hetzner]]%0a# [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?); but no IRC and slow customer support%0a%0aIndia%0a%0a# Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a# [[https://ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a# [[https://bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a# [[https://b4uindia.com|b4u india]] -- doesn't allow chat servers%0a# [[https://royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a# [[go4hosting.in]]%0a# [[leapswitch.com]]%0a# [[crazyhosting.com]]%0a# [[onliveserver.com]]%0a# [[rdsindia.com]]%0a# [[cyfuture.com]]%0a# [[serverbasket.com]]%0a# [[hostingraja.in]]%0a# [[resellerclub.com]]%0a# [[everdata.com]]%0a# [[vps.net.in]]%0a# [[ricohidc.com]]%0a# [[milesweb.com]]%0a# [[nowindiaonline.in]]%0a# [[cloudoye.com]]%0a# [[miditech.co.in]]%0a# [[softsyshosting.com]]%0a# [[nowindiaonline.in]]%0a# [[cloudoye.com]]%0a# [[webji.in]]%0a# [[hostkarle.com]]%0a# [[serverscart.com]]%0a# [[vnetindia.com]]%0a# [[superbytehosting.com]]%0a# [[sytes.in]]%0a# [[royalclouds.net]]%0a# [[nowindiaonline.in]]%0a%0aPakistan%0a%0a# [[host24.com.pk]]%0a%0aHong Kong%0a%0a# quotecolo.com -- replied but didn't answer questions%0a# hkcolo.com -- replied but didn't answer questions%0a +time=1629667326 +title=Searching for Additional Providers +author:1629667326=mkf +diff:1629667326:1611241251:=52,59c52,59%0a%3c # [[https://simcentric.com]] -- fast customer support, 3 day trial%0a%3c # [[https://hosthongkong.net]] -- allows anything legal%0a%3c # [[https://serverrun.com]] -- replied no colo%0a%3c # [[https://sunnyvision.com]] -- allows anything legal%0a%3c # [[https://serverhk.org]] -- allows anything legal%0a%3c # [[https://hkcolocation.net]] -- allows anything legal%0a%3c %0a%3c %0a---%0a> # simcentric.com -- fast customer support, 3 day trial%0a> # hosthongkong.net -- allows anything legal%0a> # serverrun.com -- replied no colo%0a> # sunnyvision.com -- allows anything legal%0a> # serverhk.org -- allows anything legal%0a> # hkcolocation.net -- allows anything legal%0a> %0a> %0a118,121c118,121%0a%3c # [[https://ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a%3c # [[https://bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a%3c # [[https://b4uindia.com|b4u india]] -- doesn't allow chat servers%0a%3c # [[https://royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a---%0a> # [[ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a> # [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a> # [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a> # [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a +host:1629667326=198.251.81.133 +author:1611241251=jrmu +diff:1611241251:1610860394:=48,49c48,49%0a%3c %0a%3c %0a---%0a> # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?)%0a> %0a113d112%0a%3c # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?); but no IRC and slow customer support%0a +host:1611241251=125.224.21.52 +author:1610860394=jrmu +diff:1610860394:1610859967:=74d73%0a%3c # [[https://www.prometeus.net/]]%0a +host:1610860394=125.231.29.130 +author:1610859967=jrmu +diff:1610859967:1610687815:=73d72%0a%3c # [[https://spartanhost.org/dedicated]] -- uses psychz%0a +host:1610859967=125.231.29.130 +author:1610687815=jrmu +diff:1610687815:1610328664:=7c7%0a%3c # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship.%0a---%0a> # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship. IRCNow has a family-friendly policy so we censor sexual content but we do not censor political or religious speech.%0a +host:1610687815=125.231.29.130 +author:1610328664=jrmu +diff:1610328664:1610276631:=79d78%0a%3c # [[flokinet]]%0a +host:1610328664=125.224.19.86 +author:1610276631=jrmu +diff:1610276631:1610276297:=72d71%0a%3c # [[https://www.quadranet.com/]]%0a +host:1610276631=125.224.19.86 +author:1610276297=jrmu +diff:1610276297:1609920118:=71c71%0a%3c # [[https://www.datapacket.com]] -- very expensive%0a---%0a> %0a +host:1610276297=125.224.19.86 +author:1609920118=jrmu +diff:1609920118:1609918518:=96c96%0a%3c # OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|perhaps prohibits IRC?]]%0a---%0a> # OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|prohibits IRC]]%0a +host:1609920118=125.231.63.134 +author:1609918518=jrmu +diff:1609918518:1609807931:=77,78c77%0a%3c # [[contabo]]%0a%3c %0a---%0a> %0a108d106%0a%3c # [[https://hetzner.com|hetzner]]%0a +host:1609918518=125.231.63.134 +author:1609807931=jrmu +diff:1609807931:1609642876:=69,71d68%0a%3c # [[http://ddoshostingsolutions.com/]]%0a%3c # [[https://www.hostclean.net/]]%0a%3c %0a +host:1609807931=125.231.63.134 +author:1609642876=jrmu +diff:1609642876:1609642476:=44c44%0a%3c # [[https://us.leaseweb.com]] -- fast reply, allows anything legal%0a---%0a> # [[us.leaseweb.com]] -- fast reply, allows anything legal%0a +host:1609642876=125.231.63.134 +author:1609642476=jrmu +diff:1609642476:1609642163:=33,34c33,34%0a%3c !! Currently Using%0a%3c %0a---%0a> !! Recommended%0a> %0a38,39c38,39%0a%3c !! Recommended%0a%3c %0a---%0a> !! Untested%0a> %0a41a42%0a> # [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering%0a42a44,45%0a> # [[https://www.budgetvm.com/|BudgetVM]]%0a> # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a43a47,49%0a> # [[blazingfast.io]]%0a> # [[colohouse.com]] -- replied%0a> # [[glowhost.com]]%0a49c55,57%0a%3c %0a---%0a> # [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a> # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a> %0a60,76c68,69%0a%3c !! Untested%0a%3c %0a%3c USA%0a%3c %0a%3c # [[https://www.budgetvm.com/|BudgetVM]]%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c # [[blazingfast.io]]%0a%3c # [[colohouse.com]] -- replied%0a%3c # [[glowhost.com]]%0a%3c %0a%3c Europe%0a%3c %0a%3c # [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c %0a%3c Hong Kong%0a%3c %0a---%0a> %0a> %0a89c82,83%0a%3c %0a---%0a> # [[psychz.net]] -- did not answer questions%0a> %0a103d96%0a%3c # [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering, censors [[https://www.choopa.com/legal/use_policy/|hate speech]]%0a +host:1609642476=125.231.63.134 +author:1609642163=jrmu +diff:1609642163:1609587736:=42a43%0a> # [[https://www.psychz.net/|Psychz]] -- includes DDoS filtering%0a96d96%0a%3c # [[https://www.psychz.net/|Psychz]] -- DDoS filtering, censors [[https://www.psychz.net/aup.html|hate speech]]%0a +host:1609642163=125.231.63.134 +author:1609587736=Kont +diff:1609587736:1609587552:=43d42%0a%3c # [[https://www.psychz.net/|Psychz]] -- includes DDoS filtering%0a +host:1609587736=157.230.15.4 +author:1609587552=Kont +diff:1609587552:1609587358:=42c42%0a%3c # [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering%0a---%0a> # [[https://www.choopa.com/|Choopa]]%0a +host:1609587552=157.230.15.4 +author:1609587358=jrmu +diff:1609587358:1609587279:=93c93%0a%3c # [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS API%0a---%0a> # [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS%0a +host:1609587358=125.231.63.134 +author:1609587279=Kont +diff:1609587279:1609587202:=42c42%0a%3c # [[https://www.choopa.com/|Choopa]]%0a---%0a> # https://www.choopa.com/%0a +host:1609587279=157.230.15.4 +author:1609587202=Kont +diff:1609587202:1609587151:=42c42%0a%3c # https://www.choopa.com/%0a---%0a> # [[https://www.choopa.com/%0a +host:1609587202=157.230.15.4 +author:1609587151=Kont +diff:1609587151:1609587121:=42c42%0a%3c # [[https://www.choopa.com/%0a---%0a> # [[[https://endoffice.com/%0a +host:1609587151=157.230.15.4 +author:1609587121=Kont +diff:1609587121:1609585044:=42d41%0a%3c # [[[https://endoffice.com/%0a +host:1609587121=157.230.15.4 +author:1609585044=jrmu +diff:1609585044:1609582721:=46,50c46%0a%3c # [[blazingfast.io]]%0a%3c # [[colohouse.com]] -- replied%0a%3c # [[glowhost.com]]%0a%3c # [[us.leaseweb.com]] -- fast reply, allows anything legal%0a%3c %0a---%0a> %0a59c55%0a%3c # simcentric.com -- fast customer support, 3 day trial%0a---%0a> # simcentric.com -- fast customer support%0a +host:1609585044=125.231.63.134 +author:1609582721=jrmu +diff:1609582721:1609582668:=45d44%0a%3c # [[https://ColocationAmerica.com|Colocation America]] -- includes DDoS filtering%0a +host:1609582721=125.231.63.134 +author:1609582668=jrmu +diff:1609582668:1609582307:=75,77c75,76%0a%3c # [[https://www.x4b.net/|x4b]]%0a%3c # [[psychz.net]] -- did not answer questions%0a%3c %0a---%0a> # https://www.x4b.net/%0a> %0a89d87%0a%3c # [[hyperfilter.com|HyperFilter]] -- forbids IRC%0a +host:1609582668=125.231.63.134 +author:1609582307=jrmu +diff:1609582307:1609581768:=58,63c58%0a%3c # serverhk.org -- allows anything legal%0a%3c # hkcolocation.net -- allows anything legal%0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> %0a114,123c109%0a%3c # [[cloudoye.com]]%0a%3c # [[webji.in]]%0a%3c # [[hostkarle.com]]%0a%3c # [[serverscart.com]]%0a%3c # [[vnetindia.com]]%0a%3c # [[superbytehosting.com]]%0a%3c # [[sytes.in]]%0a%3c # [[royalclouds.net]]%0a%3c # [[nowindiaonline.in]]%0a%3c %0a---%0a> %0a130,131c116,119%0a%3c # quotecolo.com -- replied but didn't answer questions%0a%3c # hkcolo.com -- replied but didn't answer questions%0a---%0a> # hkcolocation.net%0a> # quotecolo.com%0a> # serverhk.org%0a> # hkcolo.com%0a +host:1609582307=125.231.63.134 +author:1609581768=jrmu +diff:1609581768:1609581456:=108d107%0a%3c # [[nowindiaonline.in]]%0a +host:1609581768=125.231.63.134 +author:1609581456=jrmu +diff:1609581456:1609581400:=43c43%0a%3c # [[https://www.budgetvm.com/|BudgetVM]]%0a---%0a> # [[https://www.budgetvm.com/]]%0a +host:1609581456=125.231.63.134 +author:1609581400=jrmu +diff:1609581400:1609580679:=44,45c44%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c %0a---%0a> %0a50,51c49%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c %0a---%0a> %0a80a79%0a> # SharkNode -- unresponsive tech support, did not respond to abuse reports%0a +host:1609581400=125.231.63.134 +author:1609580679=jrmu +diff:1609580679:1609580631:=80c80%0a%3c # [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS%0a---%0a> # Anynode -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS%0a +host:1609580679=125.231.63.134 +author:1609580631=jrmu +diff:1609580631:1609580179:=43,44c43,44%0a%3c # [[https://www.budgetvm.com/]]%0a%3c %0a---%0a> # https://www.budgetvm.com/%0a> %0a77,80c77,80%0a%3c # Microsoft Azure -- [[https://qz.com/1352990/microsoft-threatens-to-take-down-gab-ai-over-hate-speech/|censors]] [[https://www.theverge.com/2018/8/9/17671188/microsoft-gab-hate-speech-hosting-ban-deplatform|hate]] [[https://www.washingtonpost.com/technology/2018/08/10/hate-speech-crackdown-spreads-behind-the-scenes-tech/|speech]]%0a%3c # HostSailor -- [[https://hostsailor.com/acceptable-use-policy/|censors hate speech]]%0a%3c # SharkNode -- unresponsive tech support, did not respond to abuse reports%0a%3c # Anynode -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS%0a---%0a> # Microsoft Azure -- censors hate speech%0a> # HostSailor -- censors hate speech%0a> # SharkNode -- can't reach tech support%0a> # Anynode -- lacks ddos filtering, unresponsive customer support%0a +host:1609580631=125.231.63.134 +author:1609580179=jrmu +diff:1609580179:1609580073:=101,106d100%0a%3c # [[ricohidc.com]]%0a%3c # [[milesweb.com]]%0a%3c # [[nowindiaonline.in]]%0a%3c # [[cloudoye.com]]%0a%3c # [[miditech.co.in]]%0a%3c # [[softsyshosting.com]]%0a +host:1609580179=125.231.63.134 +author:1609580073=jrmu +diff:1609580073:1609580047:=100d99%0a%3c # [[vps.net.in]]%0a +host:1609580073=125.231.63.134 +author:1609580047=jrmu +diff:1609580047:1609576499:=81,82c81,82%0a%3c # [[ideastack.com]]%0a%3c %0a---%0a> # ideastack.com%0a> %0a95,99d94%0a%3c # [[cyfuture.com]]%0a%3c # [[serverbasket.com]]%0a%3c # [[hostingraja.in]]%0a%3c # [[resellerclub.com]]%0a%3c # [[everdata.com]]%0a +host:1609580047=125.231.63.134 +author:1609576499=jrmu +diff:1609576499:1609576366:=40,41d39%0a%3c USA%0a%3c %0a42a41%0a> # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?)%0a44,47d42%0a%3c %0a%3c Europe%0a%3c %0a%3c # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?)%0a50,58d44%0a%3c Hong Kong%0a%3c %0a%3c # simcentric.com -- fast customer support%0a%3c # hosthongkong.net -- allows anything legal%0a%3c # serverrun.com -- replied no colo%0a%3c # sunnyvision.com -- allows anything legal%0a%3c %0a%3c # [[hostdime.com|Host Dime]] -- unreasonable price, allows anything legal%0a%3c %0a92a79%0a> # [[hostdime.com|Host Dime]] -- unreasonable price%0a94,95c81,82%0a%3c # [[rdsindia.com]]%0a%3c %0a---%0a> rdsindia.com%0a> %0a102a90,91%0a> # simcentric.com -- fast customer support%0a> # hosthongkong.net -- allows anything legal%0a104a94%0a> # serverrun.com -- replied no colo%0a105a96%0a> # sunnyvision.com -- allows anything legal%0a\ No newline at end of file%0a +host:1609576499=125.231.63.134 +author:1609576366=jrmu +diff:1609576366:1609576301:=91c91%0a%3c # hosthongkong.net -- allows anything legal%0a---%0a> # hosthongkong.net%0a +host:1609576366=125.231.63.134 +author:1609576301=jrmu +diff:1609576301:1609576195:=90c90%0a%3c # simcentric.com -- fast customer support%0a---%0a> # simcentric.com%0a94c94%0a%3c # serverrun.com -- replied no colo%0a---%0a> # serverrun.com%0a96c96%0a%3c # sunnyvision.com -- allows anything legal%0a\ No newline at end of file%0a---%0a> # sunnyvision.com%0a\ No newline at end of file%0a +host:1609576301=125.231.63.134 +author:1609576195=jrmu +diff:1609576195:1609576165:=22c22%0a%3c # Do they offer colocation, or dedicated servers? We no longer want VPSes, they are too unstable.%0a---%0a> # Do they offer colocation, or dedicated servers? It's much better to have a real server rather than VPSes.%0a95,96c95%0a%3c # hkcolo.com%0a%3c # sunnyvision.com%0a\ No newline at end of file%0a---%0a> # hkcolo.com%0a\ No newline at end of file%0a +host:1609576195=125.231.63.134 +author:1609576165=jrmu +diff:1609576165:1609576113:=22c22%0a%3c # Do they offer colocation, or dedicated servers? It's much better to have a real server rather than VPSes.%0a---%0a> # Do they offer VPSes, colocation, or dedicated servers? If VPSes, what virtualization technology do they use? It's much better to have a real server rather than VPSes.%0a94,95c94%0a%3c # serverrun.com%0a%3c # hkcolo.com%0a\ No newline at end of file%0a---%0a> # serverrun.com%0a\ No newline at end of file%0a +host:1609576165=125.231.63.134 +author:1609576113=jrmu +diff:1609576113:1609576015:=91,94c91%0a%3c # hosthongkong.net%0a%3c # quotecolo.com%0a%3c # serverhk.org%0a%3c # serverrun.com%0a\ No newline at end of file%0a---%0a> # hosthongkong.net%0a\ No newline at end of file%0a +host:1609576113=125.231.63.134 +author:1609576015=jrmu +diff:1609576015:1609575994:=90,91c90%0a%3c # simcentric.com%0a%3c # hosthongkong.net%0a\ No newline at end of file%0a---%0a> # simcentric.com%0a\ No newline at end of file%0a +host:1609576015=125.231.63.134 +author:1609575994=jrmu +diff:1609575994:1609574705:=67,68c67%0a%3c # ideastack.com%0a%3c %0a---%0a> %0a85,90c84%0a%3c # [[host24.com.pk]]%0a%3c %0a%3c Hong Kong%0a%3c %0a%3c # hkcolocation.net%0a%3c # simcentric.com%0a\ No newline at end of file%0a---%0a> # [[host24.com.pk]]%0a\ No newline at end of file%0a +host:1609575994=125.231.63.134 +author:1609574705=jrmu +diff:1609574705:1609574239:=74,84c74%0a%3c # [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a%3c # [[go4hosting.in]]%0a%3c # [[leapswitch.com]]%0a%3c # [[crazyhosting.com]]%0a%3c # [[hostdime.com|Host Dime]] -- unreasonable price%0a%3c # [[onliveserver.com]]%0a%3c rdsindia.com%0a%3c %0a%3c Pakistan%0a%3c %0a%3c # [[host24.com.pk]]%0a\ No newline at end of file%0a---%0a> # [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a\ No newline at end of file%0a +host:1609574705=125.231.63.134 +author:1609574239=jrmu +diff:1609574239:1609572023:=43d42%0a%3c # [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a +host:1609574239=125.231.63.134 +author:1609572023=jrmu +diff:1609572023:1609571474:=40,41c40%0a%3c # [[https://endoffice.com/|EndOffice]] -- Supports free speech, (DDoS filtering?)%0a%3c # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?)%0a---%0a> # https://prq.se%0a43,45d41%0a%3c %0a%3c !! Potential%0a%3c %0a +host:1609572023=125.231.63.134 +author:1609571474=jrmu +diff:1609571474:1609571313:=68,69c68%0a%3c # [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a%3c # [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a\ No newline at end of file%0a---%0a> # [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a\ No newline at end of file%0a +host:1609571474=125.231.63.134 +author:1609571313=jrmu +diff:1609571313:1609571268:=62,64d61%0a%3c %0a%3c India%0a%3c %0a67,68c64%0a%3c # [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a%3c # [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a\ No newline at end of file%0a---%0a> # [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a\ No newline at end of file%0a +host:1609571313=125.231.63.134 +author:1609571268=jrmu +diff:1609571268:1609571228:=62,64c62%0a%3c # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a%3c # [[ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a%3c # [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a\ No newline at end of file%0a---%0a> # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a\ No newline at end of file%0a +host:1609571268=125.231.63.134 +author:1609571228=jrmu +diff:1609571228:1609571202:= +host:1609571228=125.231.63.134 +author:1609571202=jrmu +diff:1609571202:1609571135:=62c62,63%0a%3c # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a\ No newline at end of file%0a---%0a> # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a> # [[ariseserver.com|Arise Server]] -- doesn't know what IRC is%0a\ No newline at end of file%0a +host:1609571202=125.231.63.134 +author:1609571135=jrmu +diff:1609571135:1609570971:=62,63c62%0a%3c # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a%3c # [[ariseserver.com|Arise Server]] -- doesn't know what IRC is%0a\ No newline at end of file%0a---%0a> # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a\ No newline at end of file%0a +host:1609571135=125.231.63.134 +author:1609570971=jrmu +diff:1609570971:1609384903:=61,62c61%0a%3c # Anynode -- lacks ddos filtering, unresponsive customer support%0a%3c # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a\ No newline at end of file%0a---%0a> # Anynode -- lacks ddos filtering, unresponsive customer support%0a\ No newline at end of file%0a +host:1609570971=125.231.63.134 +author:1609384903=jrmu +diff:1609384903:1609384658:=13,15d12%0a%3c # Does it allow game servers?%0a%3c # Does it allow VPNs?%0a%3c # Does it allow running DNS servers?%0a +host:1609384903=198.251.81.119 +author:1609384658=jrmu +diff:1609384658:1609384430:=24d23%0a%3c # What payment options do they accept? Paypal is not reliable. Credit cards are acceptable but cryptcoins would be best.%0a +host:1609384658=198.251.81.119 +author:1609384430=jrmu +diff:1609384430:1609384404:=8c8%0a%3c # In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a---%0a> # In many countries, censorship is required by law. In such a case, we must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a +host:1609384430=198.251.81.119 +author:1609384404=jrmu +diff:1609384404:1609384148:=20d19%0a%3c # Where are the data centers located?%0a27,28d25%0a%3c We especially need providers in Asia (Hong Kong, Singapore), Australia, Africa, and South America.%0a%3c %0a31,33c28,30%0a%3c # [[https://buyvm.net]] -- Las Vegas, New York City, Luxembourg%0a%3c # [[https://aliendata.com]] -- Texas%0a%3c %0a---%0a> # [[https://buyvm.net]]%0a> # [[https://aliendata.com]]%0a> %0a37c34%0a%3c # https://www.budgetvm.com/%0a---%0a> # [[https://www.bitcoin-vps.com/|List of Bitcoin VPS providers]]%0a39,42c36,38%0a%3c # [[https://www.bitcoin-vps.com/|List #1 of Bitcoin VPS providers]]%0a%3c # [[https://uncensoredhosting.com/best-bitcoin-vps/|List #2 of Bitcoin VPS providers]] %0a%3c # [[https://torbitcoinvps.github.io/|List #3 of Bitcoin VPS providers]]%0a%3c %0a---%0a> %0a> https://www.budgetvm.com/%0a> %0a45c41%0a%3c # https://www.x4b.net/%0a---%0a> https://www.x4b.net/%0a +host:1609384404=198.251.81.119 +author:1609384148=jrmu +diff:1609384148:1609383910:=46c46%0a%3c # Amazon AWS -- [[https://aws.amazon.com/aup/|AUP]] censors offensive content without really defining what offensive is%0a---%0a> # Amazon AWS -- censors hate speech%0a +host:1609384148=198.251.81.119 +author:1609383910=jrmu +diff:1609383910:1609383734:=45c45%0a%3c # OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|prohibits IRC]]%0a---%0a> # OVH -- censors hate speech, [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|prohibits IRC]]%0a +host:1609383910=198.251.81.119 +author:1609383734=jrmu +diff:1609383734:1609383578:=28,29c28,29%0a%3c # [[https://buyvm.net]]%0a%3c # [[https://aliendata.com]]%0a---%0a> # https://buyvm.net%0a> # https://dataideas.com%0a +host:1609383734=198.251.81.119 +author:1609383578=jrmu +diff:1609383578:1609383408:=22,23c22%0a%3c # How do they provide customer support? IRC is best, second would be email. Discord and Telegram are not ideal. Support tickets can be very slow.%0a%3c %0a---%0a> %0a34,35d32%0a%3c # [[https://www.bitcoin-vps.com/|List of Bitcoin VPS providers]]%0a%3c # [[https://lowendbox.com/|LowEndBox]]%0a +host:1609383578=198.251.81.119 +author:1609383408=jrmu +diff:1609383408:1609382968:=19c19%0a%3c # Do they offer VPSes, colocation, or dedicated servers? If VPSes, what virtualization technology do they use? It's much better to have a real server rather than VPSes.%0a---%0a> # Do they offer VPSes, colocation, or dedicated servers? If VPSes, what virtualization technology do they use?%0a +host:1609383408=198.251.81.119 +author:1609382968=jrmu +diff:1609382968:1609382918:=19d18%0a%3c # Do they offer VPSes, colocation, or dedicated servers? If VPSes, what virtualization technology do they use?%0a +host:1609382968=198.251.81.119 +author:1609382918=jrmu +diff:1609382918:1609382660:=14,16d13%0a%3c %0a%3c Other Important Criteria:%0a%3c %0a19,20d15%0a%3c # How long has this provider been operating?%0a%3c # Do they have a good reputation? Is there a strong user community?%0a +host:1609382918=198.251.81.119 +author:1609382660=jrmu +diff:1609382660:1609382351:=8,9d7%0a%3c # In many countries, censorship is required by law. In such a case, we must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a%3c # What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a15a14%0a> # What is their abuse policy? Do they %0a +host:1609382660=198.251.81.119 +author:1609382351=jrmu +diff:1609382351:1609381937:=14,16c14%0a%3c # What is their abuse policy? Do they %0a%3c %0a%3c Send an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another provider. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have our money.%0a---%0a> # Does it p%0a +host:1609382351=198.251.81.119 +author:1609381937=jrmu +diff:1609381937:1609381871:=13,14d12%0a%3c # Does it provide DDoS filtering? IPv6? rDNS delegation? What size of an IPv6 subnet do we get?%0a%3c # Does it p%0a +host:1609381937=198.251.81.119 +author:1609381871=jrmu +diff:1609381871:1609381650:=3c3%0a%3c !! Guidelines for Selecting Providers%0a---%0a> !!Guidelines for Selecting Providers%0a +host:1609381871=198.251.81.119 +author:1609381650=jrmu +diff:1609381650:1609379061:=7c7%0a%3c # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship. IRCNow has a family-friendly policy so we censor sexual content but we do not censor political or religious speech.%0a---%0a> # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? IRCNow has a family-friendly policy so it does censor sexual content but it does not censor political or religious speech.%0a10,11d9%0a%3c # Does it allow tor?%0a%3c # Does it allow torrents and filesharing?%0a +host:1609381650=198.251.81.119 +author:1609379061=jrmu +diff:1609379061:1609378468:=1,11d0%0a%3c (:title Searching for Additional Providers:)%0a%3c %0a%3c !!Guidelines for Selecting Providers%0a%3c %0a%3c Check the Acceptable Use Policy:%0a%3c %0a%3c # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? IRCNow has a family-friendly policy so it does censor sexual content but it does not censor political or religious speech.%0a%3c # Does it allow IRC?%0a%3c # Does it allow email?%0a%3c # Does it support OpenBSD or other alternative operating systems?%0a%3c %0a15a5%0a> %0a +host:1609379061=198.251.81.119 +author:1609378468=jrmu +diff:1609378468:1609378406:=1,9c1,3%0a%3c !! Recommended%0a%3c %0a%3c # https://buyvm.net%0a%3c # https://dataideas.com%0a%3c %0a%3c %0a%3c !! Untested%0a%3c %0a%3c # https://prq.se%0a---%0a> https://buyvm.net%0a> %0a> %0a +host:1609378468=198.251.81.119 +author:1609378406=jrmu +diff:1609378406:1609322762:=1,4d0%0a%3c https://buyvm.net%0a%3c %0a%3c %0a%3c %0a20,21c16%0a%3c # SharkNode -- can't reach tech support%0a%3c # Anynode -- lacks ddos filtering, unresponsive customer support%0a\ No newline at end of file%0a---%0a> # SharkNode -- can't reach tech support%0a\ No newline at end of file%0a +host:1609378406=198.251.81.119 +author:1609322762=jrmu +diff:1609322762:1609322396:=9c9%0a%3c # OVH -- censors hate speech, [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|prohibits IRC]]%0a---%0a> # OVH -- censors hate speech, prohibits IRC%0a +host:1609322762=198.251.81.119 +author:1609322396=jrmu +diff:1609322396:1609322303:=0a1%0a> %0a9c10%0a%3c # OVH -- censors hate speech, prohibits IRC%0a---%0a> # OVH -- censors hate speech%0a14,16c15%0a%3c # Microsoft Azure -- censors hate speech%0a%3c # HostSailor -- censors hate speech%0a%3c # SharkNode -- can't reach tech support%0a\ No newline at end of file%0a---%0a> # Microsoft Azure -- censors hate speech%0a\ No newline at end of file%0a +host:1609322396=198.251.81.119 +author:1609322303=jrmu +diff:1609322303:1609322262:=1a2%0a> %0a10,15c11,12%0a%3c # OVH -- censors hate speech%0a%3c # Amazon AWS -- censors hate speech%0a%3c # Google Cloud -- censors hate speech%0a%3c # Digital Ocean -- censors hate speech%0a%3c # Linode -- censors hate speech%0a%3c # Microsoft Azure -- censors hate speech%0a\ No newline at end of file%0a---%0a> # OVH -- censors 'hate speech'%0a> #%0a\ No newline at end of file%0a +host:1609322303=198.251.81.119 +author:1609322262=jrmu +diff:1609322262:1609322155:=1,2d0%0a%3c %0a%3c %0a5,8d2%0a%3c DDos Filtering Providers:%0a%3c %0a%3c https://www.x4b.net/%0a%3c %0a12c6%0a%3c # %0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1609322262=198.251.81.119 +author:1609322155=jrmu +diff:1609322155:1609322123:=1,6c1%0a%3c https://www.budgetvm.com/%0a%3c %0a%3c !! Don't use%0a%3c %0a%3c # OVH -- censors 'hate speech'%0a%3c # %0a\ No newline at end of file%0a---%0a> https://www.budgetvm.com/%0a\ No newline at end of file%0a +host:1609322155=198.251.81.119 +author:1609322123=jrmu +diff:1609322123:1609322123:=1d0%0a%3c https://www.budgetvm.com/%0a\ No newline at end of file%0a +host:1609322123=198.251.81.119 blob - /dev/null blob + dd00e1b63050499ce187afb3f784076a517330cd (mode 644) --- /dev/null +++ wiki.d/Debate.Python @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006914 +host=198.251.81.119 +name=Debate.Python +rev=1 +targets= +text=[11:47:03] %3cjrmu> https://bugs.python.org/issue34605%0a[11:47:09] %3cjrmu> `` Avoid master/slave terminology ''%0a[11:47:49] %3cjrmu> ``For diversity reasons, it would be nice to try to avoid "master" and%0a "slave" terminology which can be associated to slavery.''%0a[11:48:09] %3cjrmu> https://www.theregister.com/2018/09/11/python_purges_master_and_slave_in_political_pogrom/%0a[11:48:14] %3cjrmu> ``The Redis community wrestled with this last year. In 2014, Drupal, after some argument, swapped the terms "master" and "slave" for "primary" and "replica." The same year, Django traded "master" and "slave" for "leader" and "follower." CouchDB carried out a similar linguistic purge, also in 2014.''%0a[11:49:02] %3cjrmu> I mean these words in my opinion make little difference%0a[11:49:09] %3cjrmu> people can call it primary or replica if they want, I don't really care%0a[11:49:36] %3cjrmu> but it's a pretty useful litmus test to see if the group is bent on doing reverse discrimination%0a[11:50:20] %3cjrmu> I would recommend either forking or altogether avoiding any software project that is pushing these term changes%0a[11:50:23] %3cjrmu> as a defensive precaution%0a +time=1609006914 +author:1609006914=jrmu +diff:1609006914:1609006914:=1,11d0%0a%3c [11:47:03] %3cjrmu> https://bugs.python.org/issue34605%0a%3c [11:47:09] %3cjrmu> `` Avoid master/slave terminology ''%0a%3c [11:47:49] %3cjrmu> ``For diversity reasons, it would be nice to try to avoid "master" and%0a%3c "slave" terminology which can be associated to slavery.''%0a%3c [11:48:09] %3cjrmu> https://www.theregister.com/2018/09/11/python_purges_master_and_slave_in_political_pogrom/%0a%3c [11:48:14] %3cjrmu> ``The Redis community wrestled with this last year. In 2014, Drupal, after some argument, swapped the terms "master" and "slave" for "primary" and "replica." The same year, Django traded "master" and "slave" for "leader" and "follower." CouchDB carried out a similar linguistic purge, also in 2014.''%0a%3c [11:49:02] %3cjrmu> I mean these words in my opinion make little difference%0a%3c [11:49:09] %3cjrmu> people can call it primary or replica if they want, I don't really care%0a%3c [11:49:36] %3cjrmu> but it's a pretty useful litmus test to see if the group is bent on doing reverse discrimination%0a%3c [11:50:20] %3cjrmu> I would recommend either forking or altogether avoiding any software project that is pushing these term changes%0a%3c [11:50:23] %3cjrmu> as a defensive precaution%0a +host:1609006914=198.251.81.119 blob - /dev/null blob + 0a2d6de6c8bf778098c55b24b7893d4784f08f41 (mode 644) --- /dev/null +++ wiki.d/Debate.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +charset=UTF-8 +ctime=1596257397 +host=198.251.81.133 +name=Debate.RecentChanges +rev=358 +text=* [[Debate/Wikistyle]] . . . August 27, 2021, at 03:29 PM by [[~mkf]]: [==]%0a* [[Debate/Debiandanger]] . . . August 23, 2021, at 04:48 PM by [[~mkf]]: [==]%0a* [[Debate/Providers]] . . . August 22, 2021, at 09:22 PM by [[~mkf]]: [==]%0a* [[Debate/Monopolydanger]] . . . August 11, 2021, at 07:01 PM 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* [[Debate/Debate]] . . . June 29, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Debate/Googledanger]] . . . June 20, 2021, at 08:05 AM by [[~mkf]]: [==]%0a* [[Debate/Linuxflaws]] . . . June 20, 2021, at 08:03 AM by [[~mkf]]: [=making hyperlinks=]%0a* [[Debate/Outreachkids]] . . . June 20, 2021, at 07:54 AM by [[~mkf]]: [==]%0a* [[Debate/Zncflaws]] . . . March 09, 2021, at 02:49 AM by [[~jrmu]]: [==]%0a* [[Debate/Privacy]] . . . February 05, 2021, at 07:05 AM by [[~jrmu]]: [==]%0a* [[Debate/Firstamendment]] . . . January 31, 2021, at 05:20 AM by [[~jrmu]]: [==]%0a* [[Debate/Dogfooding]] . . . January 25, 2021, at 03:12 AM by [[~jrmu]]: [==]%0a* [[Debate/UnixPhilosophy]] . . . January 18, 2021, at 05:05 AM by [[~category_mirror]]: [==]%0a* [[Debate/Ipsec]] . . . January 13, 2021, at 10:39 AM by [[~jrmu]]: [==]%0a* [[Debate/Appledanger]] . . . January 02, 2021, at 01:35 AM 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/Openweb]] . . . December 27, 2020, at 02:59 AM by [[~jrmu]]: [==]%0a* [[Debate/Slackdanger]] . . . December 27, 2020, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Debate/Youtubedanger]] . . . December 27, 2020, at 02:49 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* [[Debate/Bncnow]] . . . September 04, 2020, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Debate/WhyC]] . . . August 20, 2020, at 05:10 AM by [[~jrmu]]: [==]%0a* [[Debate/Partners]] . . . August 11, 2020, at 04:16 AM by [[~jrmu]]: [==]%0a* [[Debate/Zncdefense]] . . . August 01, 2020, at 05:18 AM by [[~jrmu]]: [==]%0a +time=1630078158 blob - /dev/null blob + 3256c00a60795da2f5bfe91911bf31aefa49a7c0 (mode 644) --- /dev/null +++ wiki.d/Debate.Slackdanger @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609037765 +host=198.251.81.119 +name=Debate.Slackdanger +rev=1 +targets= +text=[03:41:07] %3cjrmu> https://news.ycombinator.com/item?id=25272533%0a[03:41:12] %3cjrmu> Front: The $1.3B Startup Slackifying Email (sacra.com)%0a[03:41:54] %3cjrmu> https://news.ycombinator.com/item?id=25269934%0a[03:42:03] %3cjrmu> Salesforce Signs Definitive Agreement to Acquire Slack (salesforce.com%0a)%0a +time=1609037765 +author:1609037765=jrmu +diff:1609037765:1609037765:=1,5d0%0a%3c [03:41:07] %3cjrmu> https://news.ycombinator.com/item?id=25272533%0a%3c [03:41:12] %3cjrmu> Front: The $1.3B Startup Slackifying Email (sacra.com)%0a%3c [03:41:54] %3cjrmu> https://news.ycombinator.com/item?id=25269934%0a%3c [03:42:03] %3cjrmu> Salesforce Signs Definitive Agreement to Acquire Slack (salesforce.com%0a%3c )%0a +host:1609037765=198.251.81.119 blob - /dev/null blob + 853863663d8c2a2b72d7de2e333f105071e6350d (mode 644) --- /dev/null +++ wiki.d/Debate.Uberdanger @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006568 +host=198.251.81.119 +name=Debate.Uberdanger +rev=1 +targets= +text=https://www.nytimes.com/2020/11/11/business/economy/california-gig-workers-ballot-uber-lyft.html +time=1609006568 +author:1609006568=jrmu +diff:1609006568:1609006568:=1d0%0a%3c https://www.nytimes.com/2020/11/11/business/economy/california-gig-workers-ballot-uber-lyft.html%0a\ No newline at end of file%0a +host:1609006568=198.251.81.119 blob - /dev/null blob + e643590fb3fbce5e989b10734c68f9c30b59e0f3 (mode 644) --- /dev/null +++ wiki.d/Debate.UnixPhilosophy @@ -0,0 +1,59 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirror +charset=UTF-8 +csum= +ctime=1609706466 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=Debate.UnixPhilosophy +passwdedit=@nopass +rev=18 +targets=Debate.Debate,Users.CategoryMirrory,Freedom.Unix,Freedom.Software +text=(:title Debate on the UNIX Philosophy:)%0a%0a(:toc:)%0a%0a[[debate | List of other debates.]]\\%0a[[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective to this debate.]]%0a%0a!Opinion: Suckless%0a[[http://suckless.org/philosophy/]]%0a%0a!Opinion: Small Technology%0a[[https://small-tech.org/about/#small-technology]]%0a%0a!Opinion: Trivial Technology%0a[[https://trivial.technology/]]%0a%0aDifferences from UNIX Philosophy:%0a* {-Use the original implementation and push any changes upstream-}%0a* {+Modify your copy of the original implementatoin for yourself without combining upstream+}%0a%0aDifferences from Small Technology:%0abut, I'd say the principal difference, from which all other differences come, is the attitude towards centralization%0aTT is public domain as much as possible, there is no master branch, there is no original author, because you don't have to send changes back, the original repo does not become a feature pinata%0a%0aDifferences from Suckless:%0athey use similar language, but the intent is opposite. when they say simple, they mean "that which I am habituated to", they pre-suppose familiarity with C (of all things), and use the "worse is better" approach to simplicity. TT, instead, focuses on the cognitive aspects of simplicity, and is not centric to any language or ecosystem, but rather the tools provided for people to understand what is going on, as well as a design philosophy that allows modifications to flow from that understanding naturally%0a%0aThings the reader must understand:%0a* the code itself%0a* the APIs the code calls (e.g deps), including the possible side-effects of the APIs%0a* the license (making CC0 significantly worse than, say, 0BSD)%0a* any meta-work required (such as how the build system works, the sources of the build stuff, etc)%0a%0aThings the reader does not need to understand:%0a* internal implementation details of the deps%0a* the platform upon which things run (e.g how linux works internally, otherwise we have a recursion problem)%0a%0a!Counterpoint: Trivial Technology%0a[[https://trivial.technology/]]%0a* project upstream is a source of trust, lack of that fosters malicious forks%0a* permissive licences fail to protect user-rights%0a* makes dependency management/dynamic linking next to impossible (mind a major proponent behind the current static linking trend is google)%0a* trivial interfaces often require complex implementaions (eg. secure crypto, fast databses, reliable networking, ... are by nature not trivial)%0a%0a!Opinion: Techs Should Factor: Programs should work well together; but the rest is extraneous%0a[[users.category_mirrory]]%0a* '''Agree''': Programs should work well together.%0a* '''Agree''': Try to design the output of one program to be the input of another %0a* '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a* '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a* '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a* '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%0a!Opinion: The "original" UNIX philosophy%0a[[freedom.unix]]%0a# All software must be [[freedom/software|free software]].%0a# Follow open standards that are in wide use%0a# Follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Try to design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a# Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a# Prefer languages native to OpenBSD: C, korn shell, perl%0a# Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a# Prefer [[https://learnbchs.org|BCHS]] web apps%0a# Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a# Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a# Avoid unnecessary, 3rd-party dependencies%0a# Prefer software that has a long history of being reliable and stable%0a# Prefer permissive, 2-clause BSD or MIT license over the GPL%0a# Prefer software with better documentation%0a# Prefer software that can be easily audited and forked +time=1610946315 +title=Debate on the UNIX Philosophy +author:1610946315=category_mirror +diff:1610946315:1610945868:=16d15%0a%3c %0a +host:1610946315=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1610945868=category_mirror +diff:1610945868:1610944716:=8,14c8,17%0a%3c !Opinion: Suckless%0a%3c [[http://suckless.org/philosophy/]]%0a%3c %0a%3c !Opinion: Small Technology%0a%3c [[https://small-tech.org/about/#small-technology]]%0a%3c %0a%3c !Opinion: Trivial Technology%0a---%0a> !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> !Opinion: Trivial Technology: Programs should work well together; but the rest is extraneous%0a16,45d18%0a%3c Differences from UNIX Philosophy:%0a%3c * {-Use the original implementation and push any changes upstream-}%0a%3c * {+Modify your copy of the original implementatoin for yourself without combining upstream+}%0a%3c %0a%3c Differences from Small Technology:%0a%3c but, I'd say the principal difference, from which all other differences come, is the attitude towards centralization%0a%3c TT is public domain as much as possible, there is no master branch, there is no original author, because you don't have to send changes back, the original repo does not become a feature pinata%0a%3c %0a%3c Differences from Suckless:%0a%3c they use similar language, but the intent is opposite. when they say simple, they mean "that which I am habituated to", they pre-suppose familiarity with C (of all things), and use the "worse is better" approach to simplicity. TT, instead, focuses on the cognitive aspects of simplicity, and is not centric to any language or ecosystem, but rather the tools provided for people to understand what is going on, as well as a design philosophy that allows modifications to flow from that understanding naturally%0a%3c %0a%3c Things the reader must understand:%0a%3c * the code itself%0a%3c * the APIs the code calls (e.g deps), including the possible side-effects of the APIs%0a%3c * the license (making CC0 significantly worse than, say, 0BSD)%0a%3c * any meta-work required (such as how the build system works, the sources of the build stuff, etc)%0a%3c %0a%3c Things the reader does not need to understand:%0a%3c * internal implementation details of the deps%0a%3c * the platform upon which things run (e.g how linux works internally, otherwise we have a recursion problem)%0a%3c %0a%3c !Counterpoint: Trivial Technology%0a%3c [[https://trivial.technology/]]%0a%3c * project upstream is a source of trust, lack of that fosters malicious forks%0a%3c * permissive licences fail to protect user-rights%0a%3c * makes dependency management/dynamic linking next to impossible (mind a major proponent behind the current static linking trend is google)%0a%3c * trivial interfaces often require complex implementaions (eg. secure crypto, fast databses, reliable networking, ... are by nature not trivial)%0a%3c %0a%3c !Opinion: Techs Should Factor: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a53c26,45%0a%3c !Opinion: The "original" UNIX philosophy%0a---%0a> !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> %0a> !Opinion: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> !Opinion: The whole UNIX philosophy%0a +host:1610945868=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1610944716=category_mirror +diff:1610944716:1609725599:=8c8,30%0a%3c !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a---%0a> !Opinion: The whole UNIX philosophy%0a> [[freedom.unix]]%0a> # All software must be [[freedom/software|free software]].%0a> # Follow open standards that are in wide use%0a> # Follow the UNIX philosophy:%0a> # Do one thing and do it well%0a> # Use text as an interface%0a> # Avoid feature creep%0a> # Try to design the output of one program to be the input of another%0a> # Avoid interactive input when not needed%0a> # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a> # Prefer languages native to OpenBSD: C, korn shell, perl%0a> # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a> # Prefer [[https://learnbchs.org|BCHS]] web apps%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> # Avoid unnecessary, 3rd-party dependencies%0a> # Prefer software that has a long history of being reliable and stable%0a> # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a> # Prefer software with better documentation%0a> # Prefer software that can be easily audited and forked%0a> %0a> !Opinion: Programs should work well together; but the rest is extraneous%0a15,65c37%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: Trivial Technology: Programs should work well together; but the rest is extraneous%0a%3c [[https://trivial.technology/]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c %0a%3c !Opinion: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: The whole UNIX philosophy%0a%3c [[freedom.unix]]%0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a%3c # Prefer languages native to OpenBSD: C, korn shell, perl%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer [[https://learnbchs.org|BCHS]] web apps%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a\ No newline at end of file%0a +host:1610944716=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609722365=category_mirror +diff:1609722365:1609722327:=8c8%0a%3c !Opinion: The whole UNIX philosophy%0a---%0a> !The whole UNIX philosophy%0a30c30%0a%3c !Opinion: Programs should work well together; but the rest is extraneous%0a---%0a> !Programs should work well together; but the rest is extraneous%0a +host:1609722365=99.112.18.250 +author:1609722327=category_mirror +diff:1609722327:1609707042:=8c8%0a%3c !The whole UNIX philosophy%0a---%0a> !user: jrmu%0a30c30%0a%3c !Programs should work well together; but the rest is extraneous%0a---%0a> !user: category_mirrory%0a +host:1609722327=99.112.18.250 +author:1609707042=category_mirrory +diff:1609707042:1609706912:=1,2d0%0a%3c (:title Debate on the UNIX Philosophy:)%0a%3c %0a +host:1609707042=99.112.18.250 +author:1609706912=category_mirrory +diff:1609706912:1609706868:=3c3%0a%3c [[debate | List of other debates.]]\\%0a---%0a> [[!debates | List of other debates.]]\\%0a +host:1609706912=99.112.18.250 +author:1609706868=category_mirrory +diff:1609706868:1609706850:=3c3%0a%3c [[!debates | List of other debates.]]\\%0a---%0a> [[!debates | List of other debates.]]%0a +host:1609706868=99.112.18.250 +author:1609706850=category_mirrory +diff:1609706850:1609706799:=3,4c3%0a%3c [[!debates | List of other debates.]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective to this debate.]]%0a---%0a> [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective.]]%0a +host:1609706850=99.112.18.250 +author:1609706799=category_mirrory +diff:1609706799:1609706706:=33,34c33,34%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a\ No newline at end of file%0a +host:1609706799=99.112.18.250 +author:1609706706=category_mirrory +diff:1609706706:1609706655:=33,34c33,34%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a\ No newline at end of file%0a +host:1609706706=99.112.18.250 +author:1609706655=category_mirrory +diff:1609706655:1609706568:=3,4c3,4%0a%3c [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective.]]%0a%3c %0a---%0a> [[debate.unix_philosophy | Click to add your perspective.]]%0a> %0a7,25d6%0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a%3c # Prefer languages native to OpenBSD: C, korn shell, perl%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer [[https://learnbchs.org|BCHS]] web apps%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a +host:1609706655=99.112.18.250 +author:1609706568=category_mirrory +diff:1609706568:1609706478:=3,9c3,8%0a%3c [[debate.unix_philosophy | Click to add your perspective.]]%0a%3c %0a%3c !user: jrmu%0a%3c [[freedom.unix]]%0a%3c %0a%3c !user: category_mirrory%0a%3c [[users.category_mirrory]]%0a---%0a> [[users.category_mirrory | !!category_mirrory]]%0a> %0a> !category_mirrory%0a> !!category_mirrory%0a> !!!category_mirrory%0a> %0a +host:1609706568=99.112.18.250 +author:1609706478=category_mirrory +diff:1609706478:1609706466:=5d4%0a%3c !category_mirrory%0a +host:1609706478=99.112.18.250 +author:1609706466=category_mirrory +diff:1609706466:1609706466:=1,13d0%0a%3c (:toc:)%0a%3c %0a%3c [[users.category_mirrory | !!category_mirrory]]%0a%3c %0a%3c !!category_mirrory%0a%3c !!!category_mirrory%0a%3c %0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a\ No newline at end of file%0a +host:1609706466=99.112.18.250 blob - /dev/null blob + 10aeddc00f66bc267960b73de20df8d9f706334b (mode 644) --- /dev/null +++ wiki.d/Debate.Webirc @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597907200 +host=198.251.81.133 +name=Debate.Webirc +rev=2 +targets= +text=[@%0a15:02 %3c@jrmu> what i want is not a regular webchat but%0a15:02 %3c@jrmu> i want a cgi script%0a15:02 %3c@jrmu> a simple cgi script%0a15:02 %3c@jrmu> all it does is write to a text file%0a15:02 %3c@jrmu> then the server itself handles all of the actual irc chat%0a15:02 %3c@jrmu> the real backend is the bnc%0a15:02 %3c@jrmu> but the webchat is nothing more than a simple cgi form%0a15:02 %3c@jrmu> 100%25 of the brain is on the server%0a15:02 %3c@jrmu> the web client is just a simple cgi form with slick graphics%0a15:04 %3c@jrmu> does that make sense?%0a15:04 %3c@jrmu> the reason I want this is because a stupid cgi form will work on every %0a single stupid browser on the market%0a15:04 %3c@jrmu> it will work on 100%25 of web browsers on ancient windows 98%0a15:04 %3c@jrmu> and decade old android phones%0a15:05 %3c@jrmu> it'll work on internet explorer 6 if we should have the misfortune of %0a encountering it%0a@] +time=1624981710 +author:1624981710=mkf +diff:1624981710:1597907200:minor=1d0%0a%3c [@%0a18d16%0a%3c @]%0a\ No newline at end of file%0a +host:1624981710=198.251.81.133 +author:1597907200=jrmu +diff:1597907200:1597907200:=1,16d0%0a%3c 15:02 %3c@jrmu> what i want is not a regular webchat but%0a%3c 15:02 %3c@jrmu> i want a cgi script%0a%3c 15:02 %3c@jrmu> a simple cgi script%0a%3c 15:02 %3c@jrmu> all it does is write to a text file%0a%3c 15:02 %3c@jrmu> then the server itself handles all of the actual irc chat%0a%3c 15:02 %3c@jrmu> the real backend is the bnc%0a%3c 15:02 %3c@jrmu> but the webchat is nothing more than a simple cgi form%0a%3c 15:02 %3c@jrmu> 100%25 of the brain is on the server%0a%3c 15:02 %3c@jrmu> the web client is just a simple cgi form with slick graphics%0a%3c 15:04 %3c@jrmu> does that make sense?%0a%3c 15:04 %3c@jrmu> the reason I want this is because a stupid cgi form will work on every %0a%3c single stupid browser on the market%0a%3c 15:04 %3c@jrmu> it will work on 100%25 of web browsers on ancient windows 98%0a%3c 15:04 %3c@jrmu> and decade old android phones%0a%3c 15:05 %3c@jrmu> it'll work on internet explorer 6 if we should have the misfortune of %0a%3c encountering it%0a +host:1597907200=38.81.163.143 blob - /dev/null blob + 3c5a45f17520a7464277059dd70ebaaaff93d17b (mode 644) --- /dev/null +++ wiki.d/Debate.WhyC @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597897738 +host=38.81.163.143 +name=Debate.WhyC +rev=2 +targets= +text=[[https://learnbchs.org/|Learn BCHS]]%0a%0aMajority to be implemented in C with help from Perl. Not C++.%0a%0aEggdrop will be a first class citizen with full support because it uses C and has an enormous library of premade scripts%0aOur current relay pylink will be phased out with a custom bot built either by forking eggdrop or forked from ii/sic%0a%0aI have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's and user demand is much less.%0a%0aI plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots. %0a%0aMy goal is to streamline all the software to just use one language -- C -- and if scripts are necessary, just a tiny touch of korn shell and perl. This is so that we can have a true citizen militia. The only way to accomplish this is by training the users in the language so they can write the code and not just use it, and we only have enough time at this moment for one language -- C. But since almost everything on openbsd is C, learning that one language is enough.%0a +time=1597900213 +author:1597900213=jrmu +diff:1597900213:1597897738:=1,2d0%0a%3c [[https://learnbchs.org/|Learn BCHS]]%0a%3c %0a +host:1597900213=38.81.163.143 +author:1597897738=jrmu +diff:1597897738:1597897738:=1,10d0%0a%3c Majority to be implemented in C with help from Perl. Not C++.%0a%3c %0a%3c Eggdrop will be a first class citizen with full support because it uses C and has an enormous library of premade scripts%0a%3c Our current relay pylink will be phased out with a custom bot built either by forking eggdrop or forked from ii/sic%0a%3c %0a%3c I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's and user demand is much less.%0a%3c %0a%3c I plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots. %0a%3c %0a%3c My goal is to streamline all the software to just use one language -- C -- and if scripts are necessary, just a tiny touch of korn shell and perl. This is so that we can have a true citizen militia. The only way to accomplish this is by training the users in the language so they can write the code and not just use it, and we only have enough time at this moment for one language -- C. But since almost everything on openbsd is C, learning that one language is enough.%0a +host:1597897738=38.81.163.143 blob - /dev/null blob + e094f5c6d140ea01d7e218c05ee4d3a5a845bac7 (mode 644) --- /dev/null +++ wiki.d/Debate.WhyNotC @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=searchsocial +charset=UTF-8 +csum= +ctime=1609008101 +host=99.112.18.250 +name=Debate.WhyNotC +rev=2 +targets= +text=If someone's hard drive is full and they want to see which programs are hogging all the space, will you advise them to write a @@C@@ program?\\%0aAbsolutely not.\\%0aYou will advise them to use the @@du@@ and @@sort@@ commands.%0a%0a(If your response is that @@du@@ and @@sort@@ are themselves written in @@C@@, my rebuttal is that @@perl@@ and @@python@@ are themselves written in @@C@@.) +time=1609008209 +author:1609008209=searchsocial +diff:1609008209:1609008101:=1,5c1,5%0a%3c If someone's hard drive is full and they want to see which programs are hogging all the space, will you advise them to write a @@C@@ program?\\%0a%3c Absolutely not.\\%0a%3c You will advise them to use the @@du@@ and @@sort@@ commands.%0a%3c %0a%3c (If your response is that @@du@@ and @@sort@@ are themselves written in @@C@@, my rebuttal is that @@perl@@ and @@python@@ are themselves written in @@C@@.)%0a\ No newline at end of file%0a---%0a> If someone's hard drive is full and they want to see which programs are hogging all the space, will you advise them to write a C program?%0a> Absolutely not.%0a> You will advise them to use the du and sort commands.%0a> %0a> (If your response is that du and sort are themselves written in C, my rebuttal is that perl and python are themselves written in C.)%0a\ No newline at end of file%0a +host:1609008209=99.112.18.250 +author:1609008101=searchsocial +diff:1609008101:1609008101:=1,5d0%0a%3c If someone's hard drive is full and they want to see which programs are hogging all the space, will you advise them to write a C program?%0a%3c Absolutely not.%0a%3c You will advise them to use the du and sort commands.%0a%3c %0a%3c (If your response is that du and sort are themselves written in C, my rebuttal is that perl and python are themselves written in C.)%0a\ No newline at end of file%0a +host:1609008101=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + b1c033a8741c5f15ba5ddfad01fcb448aed9d771 (mode 644) --- /dev/null +++ wiki.d/Debate.Wikipediadanger @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609037463 +host=198.251.81.133 +name=Debate.Wikipediadanger +rev=2 +targets= +text=[@%0a[03:20:53] %3cjrmu> https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2020-11-29/News_and_notes%0a[03:20:57] %3cjrmu> WMF Board considering the removal of Jimmy Wales' trustee position amid controversy over future of community elections%0a[03:21:00] %3cjrmu> The Wikimedia Foundation may be inching toward removing the board seat of its founder Jimmy Wales against his objections, amid a controversy over planned bylaws changes that according to Wales may greatly reduce community influence on the organization and risk "takeover by outside interests who do not understand our values." %0a[03:21:06] %3cjrmu> wikimedia coup d'etat%0a[03:21:20] %3cjrmu> Jimmy Wales: "In the past few years, there have been several crises that have made it increasingly clear to me: the biggest problem on the board is not a lack of professional expertise, but rather a lack of community representation and control. [...] %0a[03:21:25] %3cjrmu> "In this week's discussion on Facebook" - wait, we're holding governance discussions on Facebook now, rather than on-wiki? Mike Peel (talk) 19:42, 29 November 2020 (UTC)%0a[03:21:36] %3cjrmu> Re. "wait, we're holding governance discussions on Facebook now...?" yes, apparently we they are. Rebranding brainstorming was on FBook, Movement Strategy drafting was in Google Docs, and UCoC draft review was via (I think?) weekly video conference with very brief minutes/summaries posted on-wiki%0a@] +time=1624981872 +author:1624981872=mkf +diff:1624981872:1609037463:minor=1d0%0a%3c [@%0a9d7%0a%3c @]%0a\ No newline at end of file%0a +host:1624981872=198.251.81.133 +author:1609037463=jrmu +diff:1609037463:1609037463:=1,7d0%0a%3c [03:20:53] %3cjrmu> https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2020-11-29/News_and_notes%0a%3c [03:20:57] %3cjrmu> WMF Board considering the removal of Jimmy Wales' trustee position amid controversy over future of community elections%0a%3c [03:21:00] %3cjrmu> The Wikimedia Foundation may be inching toward removing the board seat of its founder Jimmy Wales against his objections, amid a controversy over planned bylaws changes that according to Wales may greatly reduce community influence on the organization and risk "takeover by outside interests who do not understand our values." %0a%3c [03:21:06] %3cjrmu> wikimedia coup d'etat%0a%3c [03:21:20] %3cjrmu> Jimmy Wales: "In the past few years, there have been several crises that have made it increasingly clear to me: the biggest problem on the board is not a lack of professional expertise, but rather a lack of community representation and control. [...] %0a%3c [03:21:25] %3cjrmu> "In this week's discussion on Facebook" - wait, we're holding governance discussions on Facebook now, rather than on-wiki? Mike Peel (talk) 19:42, 29 November 2020 (UTC)%0a%3c [03:21:36] %3cjrmu> Re. "wait, we're holding governance discussions on Facebook now...?" yes, apparently we they are. Rebranding brainstorming was on FBook, Movement Strategy drafting was in Google Docs, and UCoC draft review was via (I think?) weekly video conference with very brief minutes/summaries posted on-wiki%0a +host:1609037463=198.251.81.119 blob - /dev/null blob + 5303a9e90c1661d8a8daa889bd783fe96df299d7 (mode 644) --- /dev/null +++ wiki.d/Debate.Wikistyle @@ -0,0 +1,90 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597970360 +host=198.251.81.133 +name=Debate.Wikistyle +rev=26 +targets= +text=# Use simple English.%0a # Don't write like an academic.%0a # Never use the word '''one''' when you mean '''you''':%0a # '''Wrong''': One should install the package by running @@$ doas pkg_add tcl@@%0a # '''Right''': @@$ doas pkg_add tcl@@%0a # Avoid excessive jargon%0a # Define the first use of uncommon abbreviations%0a # Avoid slang%0a# Be concise%0a # '''Wrong''': You have now successfully turned from what was a comment into an actual parameter. You will need to uncomment and set any line that begins with semi-colon (;) character at the beginning of the line for any feature that you want. **Without removing that semi-colon that feature is either disabled or the defaults are used!** %0a # '''Right''': Put a semi-colon (;) in front of a line to comment it out. Remove it to uncomment it.%0a # '''Wrong''': I personally do not condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name. %0a # '''Right''': Don't use a domain you don't own.%0a# Use the active voice, not the passive.%0a# One paragraph for each new topic, and start each paragraph with a topic sentence%0a# One main topic per page. If you have multiple topics, create multiple pages and link to those pages.%0a# Avoid repeating too much unnecessary content that is already better described elsewhere. %0a # If content is described better on another page, link to that page instead of repeating material. This makes it easier to update and maintain content.%0a # For example, an article about ngircd should not spend too much time talking about the TCP/IP client-server model. Instead, link to that page.%0a# Keep track of the difficulty level of each article and keep it in mind when writing.%0a# Avoid markup that is purely cosmetic. Markup should be used to indicate the structure and meaning of content.%0a# Show don't tell. If you want someone to read a man page, just link to it, don't tell him to type $ man %3ccommand>%0a# It is OK to be opinionated, but defend it with evidence%0a # If there is a strong disagreement, create a separate page or a separate category.%0a# In codeblocks, use %3creplaceable_text> to indicate sections of code that should be replaced with a user-specific value [@ ports = 6667,6697%0a IP = %3c192.168.1.1>@]%0a# Avoid formatting options that only make the text look nice; use tags that convey meaning %0a # '''Right''': codeblocks, tables, Emphasis, Headings, Subheadings, indentation for quotes%0a # '''Wrong''': Horizontal rules, indentation other than quotes%0a# In case if there are multiple guides for same task, sort them. (for example sort IRC Clients based on OS) +time=1630078158 +author:1630078158=mkf +diff:1630078158:1625233694:=4c4%0a%3c # '''Wrong''': One should install the package by running @@$ doas pkg_add tcl@@%0a---%0a> # '''Wrong''': One should install the package by running $ doas pkg_add tcl%0a29,30c29%0a%3c # '''Wrong''': Horizontal rules, indentation other than quotes%0a%3c # In case if there are multiple guides for same task, sort them. (for example sort IRC Clients based on OS)%0a\ No newline at end of file%0a---%0a> # '''Wrong''': Horizontal rules, indentation other than quotes%0a\ No newline at end of file%0a +host:1630078158=198.251.81.133 +author:1625233694=mistera +diff:1625233694:1625233207:=28,29c28,29%0a%3c # '''Right''': codeblocks, tables, Emphasis, Headings, Subheadings, indentation for quotes%0a%3c # '''Wrong''': Horizontal rules, indentation other than quotes%0a\ No newline at end of file%0a---%0a> # '''Right''': codeblocks, tables, Emphasis, Headings, Subheadings%0a> # '''Wrong''': Horizontal rules, indentation%0a\ No newline at end of file%0a +host:1625233694=204.111.39.57 +author:1625233207=mistera +diff:1625233207:1625232643:=27,29c27%0a%3c # Avoid formatting options that only make the text look nice; use tags that convey meaning %0a%3c # '''Right''': codeblocks, tables, Emphasis, Headings, Subheadings%0a%3c # '''Wrong''': Horizontal rules, indentation%0a\ No newline at end of file%0a---%0a> # Do not use the formatting options available with PM wiki, except for Empahsis ('''bold''', ''italics''), headings (!!), subheadings (!!!), links, codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a +host:1625233207=204.111.39.57 +author:1625232643=mistera +diff:1625232643:1625232548:=27c27%0a%3c # Do not use the formatting options available with PM wiki, except for Empahsis ('''bold''', ''italics''), headings (!!), subheadings (!!!), links, codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a---%0a> # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a +host:1625232643=204.111.39.57 +author:1625232548=mistera +diff:1625232548:1625232529:=27c27%0a%3c # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a---%0a> # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, and codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a +host:1625232548=204.111.39.57 +author:1625232529=mistera +diff:1625232529:1625232427:=27c27%0a%3c # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, and codeblocks ([@ %3ccode> @]), and tables. If you are unsure of whether to use a formatting option, ask%0a\ No newline at end of file%0a---%0a> # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, and codeblocks ([@ %3ccode> @])%0a\ No newline at end of file%0a +host:1625232529=204.111.39.57 +author:1625232427=mistera +diff:1625232427:1625230105:=25,27c25,28%0a%3c # In codeblocks, use %3creplaceable_text> to indicate sections of code that should be replaced with a user-specific value [@ ports = 6667,6697%0a%3c IP = %3c192.168.1.1>@]%0a%3c # Do not use the formatting options available with PM wiki, except for headings (!!), subheadings (!!!), links, and codeblocks ([@ %3ccode> @])%0a\ No newline at end of file%0a---%0a> # In codeblocks, use %3creplaceable_text> to indicate sections of code that should be replaced with a user-specific value%0a> %0a> --> [@ ports = 6667,6697%0a> IP = %3c192.168.1.1>@]%0a\ No newline at end of file%0a +host:1625232427=204.111.39.57 +author:1625230105=mistera +diff:1625230105:1625060840:=24,28c24%0a%3c # If there is a strong disagreement, create a separate page or a separate category.%0a%3c # In codeblocks, use %3creplaceable_text> to indicate sections of code that should be replaced with a user-specific value%0a%3c %0a%3c --> [@ ports = 6667,6697%0a%3c IP = %3c192.168.1.1>@]%0a\ No newline at end of file%0a---%0a> # If there is a strong disagreement, create a separate page or a separate category.%0a\ No newline at end of file%0a +host:1625230105=204.111.39.57 +author:1625060840=jrmu +diff:1625060840:1625060515:=22d21%0a%3c # Show don't tell. If you want someone to read a man page, just link to it, don't tell him to type $ man %3ccommand>%0a +host:1625060840=198.251.81.119 +author:1625060515=jrmu +diff:1625060515:1625060441:=20c20%0a%3c # Keep track of the difficulty level of each article and keep it in mind when writing.%0a---%0a> # %0a +host:1625060515=198.251.81.119 +author:1625060441=jrmu +diff:1625060441:1625060354:=20c20%0a%3c # %0a---%0a> # %0a +host:1625060441=198.251.81.119 +author:1625060354=jrmu +diff:1625060354:1625058908:=18,20d17%0a%3c # If content is described better on another page, link to that page instead of repeating material. This makes it easier to update and maintain content.%0a%3c # For example, an article about ngircd should not spend too much time talking about the TCP/IP client-server model. Instead, link to that page.%0a%3c # %0a +host:1625060354=198.251.81.119 +author:1625058908=jrmu +diff:1625058908:1625058868:=18d17%0a%3c # Avoid markup that is purely cosmetic. Markup should be used to indicate the structure and meaning of content.%0a +host:1625058908=198.251.81.119 +author:1625058868=jrmu +diff:1625058868:1625058793:=17d16%0a%3c # Avoid repeating too much unnecessary content that is already better described elsewhere. %0a +host:1625058868=198.251.81.119 +author:1625058793=jrmu +diff:1625058793:1625058721:=17c17%0a%3c # It is OK to be opinionated, but defend it with evidence%0a---%0a> # Be opinionated and defend it with evidence%0a +host:1625058793=198.251.81.119 +author:1625058721=jrmu +diff:1625058721:1604504274:=1,8c1,4%0a%3c # Use simple English.%0a%3c # Don't write like an academic.%0a%3c # Never use the word '''one''' when you mean '''you''':%0a%3c # '''Wrong''': One should install the package by running $ doas pkg_add tcl%0a%3c # '''Right''': @@$ doas pkg_add tcl@@%0a%3c # Avoid excessive jargon%0a%3c # Define the first use of uncommon abbreviations%0a%3c # Avoid slang%0a---%0a> # Talk like a normal human being, not an academic.%0a> # Never use the word '''one''' when you mean '''you''':%0a> # '''Wrong''': One should install the package by running $ doas pkg_add tcl%0a> # '''Right''': @@$ doas pkg_add tcl@@%0a +host:1625058721=198.251.81.119 +author:1604504274=jrmu +diff:1604504274:1597973255:=8,9c8,9%0a%3c # '''Wrong''': I personally do not condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name. %0a%3c # '''Right''': Don't use a domain you don't own.%0a---%0a> # '''Wrong''': I personally do not condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name. %0a> # '''Right''': Don't use a domain you don't own.%0a12d11%0a%3c # One main topic per page. If you have multiple topics, create multiple pages and link to those pages.%0a +host:1604504274=38.81.163.7 +author:1597973255=jrmu +diff:1597973255:1597973114:= +host:1597973255=38.81.163.143 +author:1597973114=jrmu +diff:1597973114:1597973097:=13c13%0a%3c # If there is a strong disagreement, create a separate page or a separate category.%0a\ No newline at end of file%0a---%0a> # If there are strong disagreements, create a separate page or even a separate category.%0a\ No newline at end of file%0a +host:1597973114=38.81.163.143 +author:1597973097=jrmu +diff:1597973097:1597971366:=12,13c12%0a%3c # Be opinionated and defend it with evidence%0a%3c # If there are strong disagreements, create a separate page or even a separate category.%0a\ No newline at end of file%0a---%0a> # Be opinionated and defend it with evidence%0a\ No newline at end of file%0a +host:1597973097=38.81.163.143 +author:1597971366=jrmu +diff:1597971366:1597971172:=4c4,5%0a%3c # '''Right''': @@$ doas pkg_add tcl@@%0a---%0a> # @@$ doas pkg_add tcl@@%0a> # Never use a long word where a short one will do.%0a8,9d8%0a%3c # '''Wrong''': I personally do not condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name. %0a%3c # '''Right''': Don't use a domain you don't own.%0a +host:1597971366=38.81.163.143 +author:1597971172=jrmu +diff:1597971172:1597971060:=7,8c7%0a%3c # '''Wrong''': You have now successfully turned from what was a comment into an actual parameter. You will need to uncomment and set any line that begins with semi-colon (;) character at the beginning of the line for any feature that you want. **Without removing that semi-colon that feature is either disabled or the defaults are used!** %0a%3c # '''Right''': Put a semi-colon (;) in front of a line to comment it out. Remove it to uncomment it.%0a---%0a> # '''Wrong''': %0a +host:1597971172=38.81.163.143 +author:1597971060=jrmu +diff:1597971060:1597971040:=10c10%0a%3c # Be opinionated and defend it with evidence%0a\ No newline at end of file%0a---%0a> # Pick an opinion and defend it%0a\ No newline at end of file%0a +host:1597971060=38.81.163.143 +author:1597971040=jrmu +diff:1597971040:1597970894:=9,10c9%0a%3c # One paragraph for each new topic, and start each paragraph with a topic sentence%0a%3c # Pick an opinion and defend it%0a\ No newline at end of file%0a---%0a> # One paragraph for each new topic, and start each paragraph with a topic sentence%0a\ No newline at end of file%0a +host:1597971040=38.81.163.143 +author:1597970894=jrmu +diff:1597970894:1597970360:=6c6%0a%3c # Be concise%0a---%0a> # If it is possible to cut a word out, always cut it out.%0a8,9c8,9%0a%3c # Use the active voice, not the passive.%0a%3c # One paragraph for each new topic, and start each paragraph with a topic sentence%0a\ No newline at end of file%0a---%0a> # Never use the passive where you can use the active.%0a> # Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.%0a\ No newline at end of file%0a +host:1597970894=38.81.163.143 +author:1597970360=jrmu +diff:1597970360:1597970360:=1,9d0%0a%3c # Talk like a normal human being, not an academic.%0a%3c # Never use the word '''one''' when you mean '''you''':%0a%3c # '''Wrong''': One should install the package by running $ doas pkg_add tcl%0a%3c # @@$ doas pkg_add tcl@@%0a%3c # Never use a long word where a short one will do.%0a%3c # If it is possible to cut a word out, always cut it out.%0a%3c # '''Wrong''': %0a%3c # Never use the passive where you can use the active.%0a%3c # Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.%0a\ No newline at end of file%0a +host:1597970360=38.81.163.143 blob - /dev/null blob + ec32485bda9b3d62fabfe03443402bf001976e1c (mode 644) --- /dev/null +++ wiki.d/Debate.Xmlflaws @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609037131 +host=198.251.81.133 +name=Debate.Xmlflaws +rev=4 +targets= +text=[[http://harmful.cat-v.org/software/xml/|cat-v entry for xml]]%0a[@%0a[04:35:18] %3cjrmu> this one is even better%0a[04:35:25] %3cjrmu> by real unix nerds%0a[04:35:30] %3cjrmu> “The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.” Phil Wadler, POPL 2003%0a[04:35:40] %3cjrmu> “Most xml i’ve seen makes me think i’m dyslexic. it also looks constipated, and two health problems in one standard is just too much.” Charles Forsyth on 9fans%0a[04:35:59] %3cjrmu> “XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both.” Matthew Might%0a%0a[04:33:16] %3cjrmu> https://thecontentwrangler.com/2016/02/23/why-does-xml-suck/%0a[04:33:27] %3cjrmu> First and most obviously, XML is verbose. If you write in raw XML you are constantly having to type opening and closing tags, and even if your editor helps you, you still have to think about tags all the time, even when just typing ordinary text structures like paragraphs and lists.%0a@] +time=1624982067 +author:1624982067=mkf +diff:1624982067:1624982000:=5,8c5,12%0a%3c [04:35:30] %3cjrmu> “The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.” Phil Wadler, POPL 2003%0a%3c [04:35:40] %3cjrmu> “Most xml i’ve seen makes me think i’m dyslexic. it also looks constipated, and two health problems in one standard is just too much.” Charles Forsyth on 9fans%0a%3c [04:35:59] %3cjrmu> “XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both.” Matthew Might%0a%3c %0a---%0a> [04:35:30] %3cjrmu> “The essence of XML is this: the problem it solves is not hard, and it%0a> does not solve the problem well.” Phil Wadler, POPL 2003%0a> [04:35:40] %3cjrmu> “Most xml i’ve seen makes me think i’m dyslexic. it also looks constip%0a> ated, and two health problems in one standard is just too much.” Charles Forsyth on 9f%0a> ans%0a> [04:35:59] %3cjrmu> “XML is a classic political compromise: it balances the needs of man a%0a> nd machine by being equally unreadable to both.” Matthew Might%0a> %0a10c14,17%0a%3c [04:33:27] %3cjrmu> First and most obviously, XML is verbose. If you write in raw XML you are constantly having to type opening and closing tags, and even if your editor helps you, you still have to think about tags all the time, even when just typing ordinary text structures like paragraphs and lists.%0a---%0a> [04:33:27] %3cjrmu> First and most obviously, XML is verbose. If you write in raw XML you %0a> are constantly having to type opening and closing tags, and even if your editor helps yo%0a> u, you still have to think about tags all the time, even when just typing ordinary text %0a> structures like paragraphs and lists.%0a +host:1624982067=198.251.81.133 +author:1624982000=mkf +diff:1624982000:1609037154:minor=1,2c1%0a%3c [[http://harmful.cat-v.org/software/xml/|cat-v entry for xml]]%0a%3c [@%0a---%0a> http://harmful.cat-v.org/software/xml/%0a18d16%0a%3c @]%0a\ No newline at end of file%0a +host:1624982000=198.251.81.133 +author:1609037154=jrmu +diff:1609037154:1609037131:=11,16d10%0a%3c %0a%3c [04:33:16] %3cjrmu> https://thecontentwrangler.com/2016/02/23/why-does-xml-suck/%0a%3c [04:33:27] %3cjrmu> First and most obviously, XML is verbose. If you write in raw XML you %0a%3c are constantly having to type opening and closing tags, and even if your editor helps yo%0a%3c u, you still have to think about tags all the time, even when just typing ordinary text %0a%3c structures like paragraphs and lists.%0a +host:1609037154=198.251.81.119 +author:1609037131=jrmu +diff:1609037131:1609037131:=1,10d0%0a%3c http://harmful.cat-v.org/software/xml/%0a%3c [04:35:18] %3cjrmu> this one is even better%0a%3c [04:35:25] %3cjrmu> by real unix nerds%0a%3c [04:35:30] %3cjrmu> “The essence of XML is this: the problem it solves is not hard, and it%0a%3c does not solve the problem well.” Phil Wadler, POPL 2003%0a%3c [04:35:40] %3cjrmu> “Most xml i’ve seen makes me think i’m dyslexic. it also looks constip%0a%3c ated, and two health problems in one standard is just too much.” Charles Forsyth on 9f%0a%3c ans%0a%3c [04:35:59] %3cjrmu> “XML is a classic political compromise: it balances the needs of man a%0a%3c nd machine by being equally unreadable to both.” Matthew Might%0a +host:1609037131=198.251.81.119 blob - /dev/null blob + e15b9767da029c991fa7280324d633fd835a2724 (mode 644) --- /dev/null +++ wiki.d/Debate.Youtubedanger @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609037378 +host=198.251.81.119 +name=Debate.Youtubedanger +rev=1 +targets= +text=[01:29:57] %3cjrmu> https://www.newsmax.com/politics/youtube-election-fraud-remove/2020/12%0a/09/id/1000777/%0a[01:30:01] %3cjrmu> YouTube to Begin Removing Claims of Election Fraud%0a[01:30:12] %3cjrmu> Internet video site YouTube said Wednesday that it would begin to remove any uploaded content that suggested Joe Biden won or President Donald Trump lost November’s presidential election due to voter fraud, labeling it as “misleading.”%0a +time=1609037378 +author:1609037378=jrmu +diff:1609037378:1609037378:=1,4d0%0a%3c [01:29:57] %3cjrmu> https://www.newsmax.com/politics/youtube-election-fraud-remove/2020/12%0a%3c /09/id/1000777/%0a%3c [01:30:01] %3cjrmu> YouTube to Begin Removing Claims of Election Fraud%0a%3c [01:30:12] %3cjrmu> Internet video site YouTube said Wednesday that it would begin to remove any uploaded content that suggested Joe Biden won or President Donald Trump lost November’s presidential election due to voter fraud, labeling it as “misleading.”%0a +host:1609037378=198.251.81.119 blob - /dev/null blob + e0a3cb0d751ece943bf91df19a4ea923cd40b386 (mode 644) --- /dev/null +++ wiki.d/Debate.Zncdefense @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596259083 +host=38.81.163.143 +name=Debate.Zncdefense +rev=1 +targets= +text======= ZNC Bad ======%0a%0a - ZNC requires one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a - EDIT: While this remains true for mobile apps (and at least to a degree for cli) it depends upon the %0a specific client whether the GUI makes this task easier or harder. Source for the "practical %0a experience"? There are PLENTY of people using ZNC today%0a - ZNC has invented the most confusing way of logging in. If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a - EDIT: this system is actually not hard but rather simple as it allows uniquely distinguishing which %0a network(s) to connect to. The fact that also the network name must be spelled in the same case %0a sensitivty (i.e. ircnow vs IRCNow would be seen as different networks) is indeed confusing though. %0a The reason given was that it is part of the server password (PASS) and thus case-sensitive (since %0a passwords are). This aspect could indeed use improvement (also username has the same issue)%0a Nobody is an absolute statement and following the instructions on the ZNC wiki shows in %0a elaborated ways that it is handled this way.%0a - ZNC is not designed for casual users. It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a - EDIT: True when using the IRC /msg *module_name_here version that requires an easier interface. %0a Although most just use the webadmin panel which is very self-explanatory and when clicking a %0a module it opens the respective wiki site with simple instructions and examples on how to use it.%0a - ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a - EDIT: It has themes that can apparently be used without recompiling, example: %0a https://github.com/catlinman/hivecom-znc . True that the UNIX philosophy is not followed, yet in %0a the point above it was stated that the IRC configuration is too difficult for regular users, thus the %0a webpanel exists so that casual users can easily change options as well. In most cases, ZNC is self- %0a hosted making (the only) user also the sysadmin (most bouncer providers closed down).%0a - ZNC is written in C++, an ugly and inelegant language.%0a - EDIT: While it is written in C++ indeed, this appears to be rather subjective language bias, %0a labeling it "ugly" and "inelegant". Real-life benchmarks needed for verification.%0a - ZNC throttles users when you first start up ZNC and connect everyone. However, the throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a - EDIT: True, although when a shared service is in play, most likely many networks will be %0a common/the same, thus a throttle is necessary as otherwise too many users connect to the same %0a network at the same time. 1000 users all connecting to freenode at once from the same address %0a would VERY likely get removed from the network. Improvement necessary though indeed for fully %0a unique networks.%0a - If a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a - EDIT: True. It appears despite making changes to how SSL verification operates, there is still no %0a way to bypass the abovementioned issue which requires significant improvement.%0a - This same error also occurs when our bouncers are GLINEd. Again, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a - EDIT: Lack of own experience due to never self-hosting but true with verified benchmarks.%0a - ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a - EDIT: Personal bias against IRCv3 as it has improved the IRC experience (see account-notify %0a chghost extended-join multi-prefix userhost-in-names for some of the more useful specifications).%0a While the connection issues remain true, this can be bypassed by simply updating clients to a %0a current version, also most mobile clients are lackluster in quite some aspects. If users refuse to %0a upgrade mIRC because they wish to use a pirated version instead, this should infact NOT be %0a supported by IRCNow, as otherwise it is seen as acceptable to use pirated software. Mobile clients %0a infact need a significant repolishing.%0a - ZNC has no way of supporting both IPv4 and IPv6 simultaneously while preferring IPv6 when available. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a - EDIT: First part badly worded as the 2nd part does state one can choose to support both. True %0a that IPv6 should be the default, this is indeed a flaw requiring fixes.%0a - ZNC nickserv module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a - EDIT: Out of the majorly used IRCds, ONLY ngIRCd lacks services aliases due to the developer %0a (FALSELY) assuming they should be implemented client-sided. DALnet's ns cs etc are all server- %0a sided aliases which can be observed by studying Bahamut's reference.conf. Only ngIRCd sticks out %0a of the crowd negatively thus that IRCd should be fixed, uniquely adapting to over 60+ IRCd's in %0a unfeasable for ANYONE. (citation of IRCd's: someone counted them once apparently heh)%0a - ZNC does not offer users any way to download their chat logs. It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a - EDIT: True. This requires a better system indeed.%0a - Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a - EDIT: "First" connect would have to be fingerprinted quite strongly to not get duplicates, %0a something not all providers would have the resources/capabilites etc to do. Good idea nontheless %0a though.%0a - ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a - EDIT: True although not loaded by default, the sysadmin(s) would have to willingly load it. %0a - ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy when users are connected to multiple networks. Often, messages repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a - EDIT: Likely true (lack of self-testing). Perhaps the source could be obtained and cleaned up?%0a - There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a - EDIT Likely true (lack of self-testing). Debug being available via a /msg *status should be available %0a for example%0a - ZNC's blockuser module may be buggy. I have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a - EDIT: Possibly true, requires further testing%0a - Chrooting ZNC is a horrible, ugly hack.%0a - EDIT: Possibly true (lack of knowledge and experience with chroots to give a qualified statement)%0a - A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a - EDIT: Personal bias as the author themselves stated they (alone) cannot foolow the guide. The %0a given pastebin gives simple copy-paste instructions to follow. Also this guide is only needed if %0a both devies are used AT THE SAME TIME.%0a - ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a - EDIT: True it is up to the dev team, but that is the case with any software in the end. Possibly true %0a if they do not perceive the above points as flaws.%0a - ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a - EDIT: True regarding 2) but no quote given for 1) %0a%0aZNC is only 50%25 of the way there to a good bouncer. We chose it because it is more polished than psyBNC currently. psyBNC is only 30%25 of the way to a good bouncer. However, the problem is that znc is going on the wrong path, and will never straighten its course because of the above mentioned design flaws and a stubborn development team. psyBNC, however, is abandonware so we can mold it to fit our own goals.%0a%0a====== psyBNC Good ======%0a%0a - Written in C, a UNIX hacker's best friend.%0a - EDIT: True.%0a - psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a - EDIT: What if the user only wishes to connect to 1,2,3 networks and not all at once? this could %0a also lead to significant client lag or even crashes connecting to 200 networks (with many channels %0a in each) at once.%0a - Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a - EDIT: Most likely true (lack of knowledge/experience to give a qualified statement) +time=1596259083 +author:1596259083=jrmu +diff:1596259083:1596259083:=1,94d0%0a%3c ====== ZNC Bad ======%0a%3c %0a%3c - ZNC requires one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a%3c - EDIT: While this remains true for mobile apps (and at least to a degree for cli) it depends upon the %0a%3c specific client whether the GUI makes this task easier or harder. Source for the "practical %0a%3c experience"? There are PLENTY of people using ZNC today%0a%3c - ZNC has invented the most confusing way of logging in. If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a%3c - EDIT: this system is actually not hard but rather simple as it allows uniquely distinguishing which %0a%3c network(s) to connect to. The fact that also the network name must be spelled in the same case %0a%3c sensitivty (i.e. ircnow vs IRCNow would be seen as different networks) is indeed confusing though. %0a%3c The reason given was that it is part of the server password (PASS) and thus case-sensitive (since %0a%3c passwords are). This aspect could indeed use improvement (also username has the same issue)%0a%3c Nobody is an absolute statement and following the instructions on the ZNC wiki shows in %0a%3c elaborated ways that it is handled this way.%0a%3c - ZNC is not designed for casual users. It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a%3c - EDIT: True when using the IRC /msg *module_name_here version that requires an easier interface. %0a%3c Although most just use the webadmin panel which is very self-explanatory and when clicking a %0a%3c module it opens the respective wiki site with simple instructions and examples on how to use it.%0a%3c - ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a%3c - EDIT: It has themes that can apparently be used without recompiling, example: %0a%3c https://github.com/catlinman/hivecom-znc . True that the UNIX philosophy is not followed, yet in %0a%3c the point above it was stated that the IRC configuration is too difficult for regular users, thus the %0a%3c webpanel exists so that casual users can easily change options as well. In most cases, ZNC is self- %0a%3c hosted making (the only) user also the sysadmin (most bouncer providers closed down).%0a%3c - ZNC is written in C++, an ugly and inelegant language.%0a%3c - EDIT: While it is written in C++ indeed, this appears to be rather subjective language bias, %0a%3c labeling it "ugly" and "inelegant". Real-life benchmarks needed for verification.%0a%3c - ZNC throttles users when you first start up ZNC and connect everyone. However, the throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a%3c - EDIT: True, although when a shared service is in play, most likely many networks will be %0a%3c common/the same, thus a throttle is necessary as otherwise too many users connect to the same %0a%3c network at the same time. 1000 users all connecting to freenode at once from the same address %0a%3c would VERY likely get removed from the network. Improvement necessary though indeed for fully %0a%3c unique networks.%0a%3c - If a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a%3c - EDIT: True. It appears despite making changes to how SSL verification operates, there is still no %0a%3c way to bypass the abovementioned issue which requires significant improvement.%0a%3c - This same error also occurs when our bouncers are GLINEd. Again, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a%3c - EDIT: Lack of own experience due to never self-hosting but true with verified benchmarks.%0a%3c - ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a%3c - EDIT: Personal bias against IRCv3 as it has improved the IRC experience (see account-notify %0a%3c chghost extended-join multi-prefix userhost-in-names for some of the more useful specifications).%0a%3c While the connection issues remain true, this can be bypassed by simply updating clients to a %0a%3c current version, also most mobile clients are lackluster in quite some aspects. If users refuse to %0a%3c upgrade mIRC because they wish to use a pirated version instead, this should infact NOT be %0a%3c supported by IRCNow, as otherwise it is seen as acceptable to use pirated software. Mobile clients %0a%3c infact need a significant repolishing.%0a%3c - ZNC has no way of supporting both IPv4 and IPv6 simultaneously while preferring IPv6 when available. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a%3c - EDIT: First part badly worded as the 2nd part does state one can choose to support both. True %0a%3c that IPv6 should be the default, this is indeed a flaw requiring fixes.%0a%3c - ZNC nickserv module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a%3c - EDIT: Out of the majorly used IRCds, ONLY ngIRCd lacks services aliases due to the developer %0a%3c (FALSELY) assuming they should be implemented client-sided. DALnet's ns cs etc are all server- %0a%3c sided aliases which can be observed by studying Bahamut's reference.conf. Only ngIRCd sticks out %0a%3c of the crowd negatively thus that IRCd should be fixed, uniquely adapting to over 60+ IRCd's in %0a%3c unfeasable for ANYONE. (citation of IRCd's: someone counted them once apparently heh)%0a%3c - ZNC does not offer users any way to download their chat logs. It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a%3c - EDIT: True. This requires a better system indeed.%0a%3c - Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a%3c - EDIT: "First" connect would have to be fingerprinted quite strongly to not get duplicates, %0a%3c something not all providers would have the resources/capabilites etc to do. Good idea nontheless %0a%3c though.%0a%3c - ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a%3c - EDIT: True although not loaded by default, the sysadmin(s) would have to willingly load it. %0a%3c - ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy when users are connected to multiple networks. Often, messages repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a%3c - EDIT: Likely true (lack of self-testing). Perhaps the source could be obtained and cleaned up?%0a%3c - There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a%3c - EDIT Likely true (lack of self-testing). Debug being available via a /msg *status should be available %0a%3c for example%0a%3c - ZNC's blockuser module may be buggy. I have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a%3c - EDIT: Possibly true, requires further testing%0a%3c - Chrooting ZNC is a horrible, ugly hack.%0a%3c - EDIT: Possibly true (lack of knowledge and experience with chroots to give a qualified statement)%0a%3c - A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a%3c - EDIT: Personal bias as the author themselves stated they (alone) cannot foolow the guide. The %0a%3c given pastebin gives simple copy-paste instructions to follow. Also this guide is only needed if %0a%3c both devies are used AT THE SAME TIME.%0a%3c - ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a%3c - EDIT: True it is up to the dev team, but that is the case with any software in the end. Possibly true %0a%3c if they do not perceive the above points as flaws.%0a%3c - ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a%3c - EDIT: True regarding 2) but no quote given for 1) %0a%3c %0a%3c ZNC is only 50%25 of the way there to a good bouncer. We chose it because it is more polished than psyBNC currently. psyBNC is only 30%25 of the way to a good bouncer. However, the problem is that znc is going on the wrong path, and will never straighten its course because of the above mentioned design flaws and a stubborn development team. psyBNC, however, is abandonware so we can mold it to fit our own goals.%0a%3c %0a%3c ====== psyBNC Good ======%0a%3c %0a%3c - Written in C, a UNIX hacker's best friend.%0a%3c - EDIT: True.%0a%3c - psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a%3c - EDIT: What if the user only wishes to connect to 1,2,3 networks and not all at once? this could %0a%3c also lead to significant client lag or even crashes connecting to 200 networks (with many channels %0a%3c in each) at once.%0a%3c - Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a%3c - EDIT: Most likely true (lack of knowledge/experience to give a qualified statement)%0a\ No newline at end of file%0a +host:1596259083=38.81.163.143 blob - /dev/null blob + eb885af2345ec937c3758c231daa53d922352b2c (mode 644) --- /dev/null +++ wiki.d/Debate.Zncflaws @@ -0,0 +1,96 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597415298 +host=198.251.81.119 +name=Debate.Zncflaws +rev=28 +targets= +text=!! Why we must replace ZNC with psyBNC%0a%0a!!! ZNC requires users set up dozens of connections%0a%0aZNC requires your IRC client make one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw.%0a%0a!!! ZNC has a confusing way of logging in%0a%0aIf your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. This is an unintuitive way of changing networks. Users don't understand this without 1-2 hours of troubleshooting.%0a%0a!!! ZNC is not designed for casual users%0a%0aIt requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. Jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost are exposed to users -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a%0a!!! ZNC relies on a web panel%0a%0aThere are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. There is no real need for a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a%0a!!! ZNC is written in C++, an inelegant language.%0a%0a!!! ZNC throttles users so it can take hours to connect%0a%0aThe throttling is done poorly -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users, it can take hours (maybe days) just to connect.%0a%0a!!! ZNC will disconnect users and throttle if SSL certs are not properly signed%0a%0aIf a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a%0a!!! ZNC throttles everyone if someone is glined%0a%0aWhen someone is GLINEd, ZNC tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a%0a!!! Upon disconnect, ZNC loses all messages%0a%0aZNC loses all its messages if you are ddosed while away, or even if there is a simple brief 10 minute hiccup in networking. When this happens, '''every single message is lost'''.%0a%0a!!! ZNC adopts a protocol that introduces new bugs without new features%0a%0aZNC chose to adopt IRCv3, an unnecessary protocol which adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a%0aIn another documented bug with ZNC, [[https://docs.inspircd.org/faq/#why-does-my-client-not-show-mode-changesopped-users-on-joinetc-correctly-when-using-inspircd-v3|mode changes]] don't show up properly on InspIRCd v3.%0a%0a!!! ZNC can't prefer IPv6 by default%0a%0aIf you try to support both IPv4 and IPv6 simultaneously, ZNC will not prefer IPv6 when available, and there is no way to fix this currently short of a custom patch. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a%0a!!! ZNC module relies on commands not supported on all IRCds%0a%0aThe ZNC NickServ module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a%0a!!! ZNC does not offer any easy way to download chat logs%0a%0aIt has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them.%0a%0a!!! ZNC has no way to register instantly upon connection%0a%0aRequesting a ZNC account using a web registration form or a bouncer bot is bad design. Users should be able to register an account instantly upon first connection.%0a%0a!!! ZNC has poor security%0a%0aZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server.%0a%0a!!! ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy%0a%0aWhen users are connected to multiple networks, messages often repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a%0a!!! ZNC's blockuser module may be buggy%0a%0aI have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a%0a!!! ZNC can't be made secure without chroot%0a%0aWith psybnc, we can use pledge and unveil.%0a%0a!!! ZNC treated IRCNow as a hate group%0a%0aIn the [[https://wiki.znc.in/index.php?title=Template:Providers/table&action=history|ZNC Providers]] page, IRCNow was falsely accused of being involved with hate activities. %0a%0a-> 30 January 2020‎ IRCNow removed due to multiple complaints of discrimination and hate activities by its administrators.%0a%0aThis accusation was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, IRCNow should not rely on their software.%0a%0a!!! Confusing mobile support%0a%0aA commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. This setup is too complex and confusing for normal people to follow.%0a%0a!!! No open source push notifications%0a%0aZNC modules often fall into the category of 1) not useful or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a%0a!!! Development team has different goals%0a%0aZNC developers most likely have no interest in fixing any of the above design flaws. You are better off forking the psyBNC code yourself and fixing what needs to be done.%0a%0apsyBNC may not be complete, but at least we can fork it and design it correctly. +time=1615258176 +author:1615258176=jrmu +diff:1615258176:1615258154:=89c89%0a%3c ZNC modules often fall into the category of 1) not useful or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a---%0a> ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a +host:1615258176=198.251.81.119 +author:1615258154=jrmu +diff:1615258154:1615258132:=85c85%0a%3c A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. This setup is too complex and confusing for normal people to follow.%0a---%0a> A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a +host:1615258154=198.251.81.119 +author:1615258132=jrmu +diff:1615258132:1615258104:=93,95c93%0a%3c ZNC developers most likely have no interest in fixing any of the above design flaws. You are better off forking the psyBNC code yourself and fixing what needs to be done.%0a%3c %0a%3c psyBNC may not be complete, but at least we can fork it and design it correctly.%0a\ No newline at end of file%0a---%0a> ZNC developers most likely have no interest in fixing any of the above design flaws. You are better off forking the psyBNC code yourself and fixing what needs to be done.%0a\ No newline at end of file%0a +host:1615258132=198.251.81.119 +author:1615258104=jrmu +diff:1615258104:1615257891:=23,24c23,24%0a%3c The throttling is done poorly -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users, it can take hours (maybe days) just to connect.%0a%3c %0a---%0a> The throttling is done poorly -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a> %0a31,34c31,34%0a%3c When someone is GLINEd, ZNC tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a%3c %0a%3c !!! Upon disconnect, ZNC loses all messages%0a%3c %0a---%0a> When someone is GLINEd, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a> %0a> !!! Upon disconnect, znc loses all messages%0a> %0a39,40c39,40%0a%3c ZNC chose to adopt IRCv3, an unnecessary protocol which adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a%3c %0a---%0a> ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a> %0a53,54c53,54%0a%3c It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them.%0a%3c %0a---%0a> It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a> %0a57,58c57,58%0a%3c Requesting a ZNC account using a web registration form or a bouncer bot is bad design. Users should be able to register an account instantly upon first connection.%0a%3c %0a---%0a> Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a> %0a93c93,95%0a%3c ZNC developers most likely have no interest in fixing any of the above design flaws. You are better off forking the psyBNC code yourself and fixing what needs to be done.%0a\ No newline at end of file%0a---%0a> ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a> %0a> ZNC is only 50%25 of the way there to a good bouncer. We chose it because it is more polished than psyBNC currently. psyBNC is only 30%25 of the way to a good bouncer. However, the problem is that znc is going on the wrong path, and will never straighten its course because of the above mentioned design flaws and a stubborn development team. psyBNC, however, is abandonware so we can mold it to fit our own goals.%0a +host:1615258104=198.251.81.119 +author:1615257891=jrmu +diff:1615257891:1615257765:=59,62c59,62%0a%3c !!! ZNC has poor security%0a%3c %0a%3c ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server.%0a%3c %0a---%0a> !!! ZNC has terrible security%0a> %0a> ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a> %0a66a67,70%0a> !! Debugging is difficult%0a> %0a> There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a> %0a73,74c77,78%0a%3c With psybnc, we can use pledge and unveil.%0a%3c %0a---%0a> And chrooting ZNC is a horrible, ugly hack. With psybnc, we can use pledge and unveil.%0a> %0a81c85%0a%3c This accusation was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, IRCNow should not rely on their software.%0a---%0a> This accusation was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, we should not rely on their software.%0a +host:1615257891=198.251.81.119 +author:1615257765=jrmu +diff:1615257765:1615257631:=5,6c5,6%0a%3c ZNC requires your IRC client make one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw.%0a%3c %0a---%0a> ZNC requires your IRC client make one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a> %0a9,10c9,10%0a%3c If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. This is an unintuitive way of changing networks. Users don't understand this without 1-2 hours of troubleshooting.%0a%3c %0a---%0a> If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a> %0a13,19c13,19%0a%3c It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. Jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost are exposed to users -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a%3c %0a%3c !!! ZNC relies on a web panel%0a%3c %0a%3c There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. There is no real need for a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a%3c %0a%3c !!! ZNC is written in C++, an inelegant language.%0a---%0a> It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a> %0a> !!! ZNC relies on a confusing web panel%0a> %0a> There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a> %0a> !!! ZNC is written in C++, an ugly and inelegant language.%0a +host:1615257765=198.251.81.119 +author:1615257631=jrmu +diff:1615257631:1615257614:=23c23%0a%3c The throttling is done poorly -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a---%0a> The throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a +host:1615257631=198.251.81.119 +author:1615257614=jrmu +diff:1615257614:1609035218:=1,4c1,4%0a%3c !! Why we must replace ZNC with psyBNC%0a%3c %0a%3c !!! ZNC requires users set up dozens of connections%0a%3c %0a---%0a> !! Why ZNC is destined for failure%0a> %0a> !!! ZNC requires users set up dozens of confusing connections%0a> %0a7c7%0a%3c !!! ZNC has a confusing way of logging in%0a---%0a> !!! ZNC has an incredibly confusing way of logging in%0a +host:1615257614=198.251.81.119 +author:1609035218=jrmu +diff:1609035218:1609035197:=83c83%0a%3c -> 30 January 2020‎ IRCNow removed due to multiple complaints of discrimination and hate activities by its administrators.%0a---%0a> -> 30 January 2020‎ IRCNow removed due to multiple complaints of discrimination and hate activities by its administrators. undo%0a +host:1609035218=198.251.81.119 +author:1609035197=jrmu +diff:1609035197:1609035136:=81,85c81%0a%3c In the [[https://wiki.znc.in/index.php?title=Template:Providers/table&action=history|ZNC Providers]] page, IRCNow was falsely accused of being involved with hate activities. %0a%3c %0a%3c -> 30 January 2020‎ IRCNow removed due to multiple complaints of discrimination and hate activities by its administrators. undo%0a%3c %0a%3c This accusation was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, we should not rely on their software.%0a---%0a> In the [[https://wiki.znc.in/index.php?title=Template:Providers/table&action=history|ZNC Providers]] page, IRCNow was falsely accused of being involved with hate activities. This was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, we should not rely on their software.%0a +host:1609035197=198.251.81.119 +author:1609035136=jrmu +diff:1609035136:1609002418:=79,81d78%0a%3c !!! ZNC treated IRCNow as a hate group%0a%3c %0a%3c In the [[https://wiki.znc.in/index.php?title=Template:Providers/table&action=history|ZNC Providers]] page, IRCNow was falsely accused of being involved with hate activities. This was made without a fair trial or ability to appeal. Since the development team is not friendly to our goals, we should not rely on their software.%0a +host:1609035136=198.251.81.119 +author:1609002418=jrmu +diff:1609002418:1608203706:=45a46,54%0a> %0a> !!! ZNC segfaults on OpenBSD when the bindhost is IPv6 but the network is IPv4 only%0a> %0a> If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will segfault: %0a> %0a> TDNS: initiating resolving of [irc.example.net] and bindhost [user.fruit.ircnow.org]%0a> Segmentation fault (core dumped)%0a> %0a> This causes all your users to disconnect!%0a +host:1609002418=198.251.81.119 +author:1608203706=jrmu +diff:1608203706:1608203035:=47,54c47,49%0a%3c !!! ZNC segfaults on OpenBSD when the bindhost is IPv6 but the network is IPv4 only%0a%3c %0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will segfault: %0a%3c %0a%3c TDNS: initiating resolving of [irc.example.net] and bindhost [user.fruit.ircnow.org]%0a%3c Segmentation fault (core dumped)%0a%3c %0a%3c This causes all your users to disconnect!%0a---%0a> !!! ZNC segfaults when the bindhost is IPv6 but the network is IPv4 only%0a> %0a> %0a +host:1608203706=198.251.81.119 +author:1608203035=jrmu +diff:1608203035:1601186671:=46,49d45%0a%3c %0a%3c !!! ZNC segfaults when the bindhost is IPv6 but the network is IPv4 only%0a%3c %0a%3c %0a +host:1608203035=198.251.81.119 +author:1601186671=jrmu +diff:1601186671:1599194194:=40,41d39%0a%3c %0a%3c In another documented bug with ZNC, [[https://docs.inspircd.org/faq/#why-does-my-client-not-show-mode-changesopped-users-on-joinetc-correctly-when-using-inspircd-v3|mode changes]] don't show up properly on InspIRCd v3.%0a +host:1601186671=38.81.163.143 +author:1599194194=jrmu +diff:1599194194:1598784333:=90a91,96%0a> %0a> !! psyBNC is the bouncer of the future%0a> %0a> # Written in C, a UNIX hacker's best friend.%0a> # psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a> # Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a\ No newline at end of file%0a +host:1599194194=38.81.163.143 +author:1598784333=jrmu +diff:1598784333:1598784317:minor=35c35%0a%3c ZNC loses all its messages if you are ddosed while away, or even if there is a simple brief 10 minute hiccup in networking. When this happens, '''every single message is lost'''.%0a---%0a> ZNC loses all its messages if you are ddosed while away, or even if there is a simple brief 10 minute hiccup in networking. When this happens, '''every single message is lost'''. Nothing is cached to disk.%0a +host:1598784333=38.81.163.143 +author:1598784317=jrmu +diff:1598784317:1597806344:=32,35d31%0a%3c %0a%3c !!! Upon disconnect, znc loses all messages%0a%3c %0a%3c ZNC loses all its messages if you are ddosed while away, or even if there is a simple brief 10 minute hiccup in networking. When this happens, '''every single message is lost'''. Nothing is cached to disk.%0a +host:1598784317=38.81.163.143 +author:1597806344=jrmu +diff:1597806344:1597806299:=15,17c15%0a%3c !!! ZNC relies on a confusing web panel%0a%3c %0a%3c There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a---%0a> !!! ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a +host:1597806344=38.81.163.143 +author:1597806299=jrmu +diff:1597806299:1597806078:=58,83c58,64%0a%3c %0a%3c !! Debugging is difficult%0a%3c %0a%3c There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a%3c %0a%3c !!! ZNC's blockuser module may be buggy%0a%3c %0a%3c I have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a%3c %0a%3c !!! ZNC can't be made secure without chroot%0a%3c %0a%3c And chrooting ZNC is a horrible, ugly hack. With psybnc, we can use pledge and unveil.%0a%3c %0a%3c %0a%3c !!! Confusing mobile support%0a%3c %0a%3c A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a%3c %0a%3c !!! No open source push notifications%0a%3c %0a%3c ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a%3c %0a%3c !!! Development team has different goals%0a%3c %0a%3c ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a%3c %0a---%0a> - There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a> - ZNC's blockuser module may be buggy. I have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a> - Chrooting ZNC is a horrible, ugly hack.%0a> - A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a> - ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a> - ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a> %0a86,90c67,71%0a%3c !! psyBNC is the bouncer of the future%0a%3c %0a%3c # Written in C, a UNIX hacker's best friend.%0a%3c # psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a%3c # Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a\ No newline at end of file%0a---%0a> ====== psyBNC is the bouncer of the future ======%0a> %0a> - Written in C, a UNIX hacker's best friend.%0a> - psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a> - Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a\ No newline at end of file%0a +host:1597806299=38.81.163.143 +author:1597806078=jrmu +diff:1597806078:1597806026:=51,57c51,52%0a%3c !!! ZNC has terrible security%0a%3c %0a%3c ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a%3c %0a%3c !!! ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy%0a%3c %0a%3c When users are connected to multiple networks, messages often repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a---%0a> !!! ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a> - ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy when users are connected to multiple networks. Often, messages repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a +host:1597806078=38.81.163.143 +author:1597806026=jrmu +diff:1597806026:1597805834:=38,51c38,41%0a%3c %0a%3c !!! ZNC module relies on commands not supported on all IRCds%0a%3c %0a%3c The ZNC NickServ module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a%3c %0a%3c !!! ZNC does not offer any easy way to download chat logs%0a%3c %0a%3c It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a%3c %0a%3c !!! ZNC has no way to register instantly upon connection%0a%3c %0a%3c Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a%3c %0a%3c !!! ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a---%0a> - ZNC nickserv module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a> - ZNC does not offer users any way to download their chat logs. It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a> - Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a> - ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a +host:1597806026=38.81.163.143 +author:1597805834=jrmu +diff:1597805834:1597805755:=22d21%0a%3c %0a26d24%0a%3c %0a35,37c33%0a%3c !!! ZNC can't prefer IPv6 by default%0a%3c %0a%3c If you try to support both IPv4 and IPv6 simultaneously, ZNC will not prefer IPv6 when available, and there is no way to fix this currently short of a custom patch. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a---%0a> - ZNC has no way of supporting both IPv4 and IPv6 simultaneously while preferring IPv6 when available. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a +host:1597805834=38.81.163.143 +author:1597805755=jrmu +diff:1597805755:1597805722:=29,32c29%0a%3c !!! ZNC adopts a protocol that introduces new bugs without new features%0a%3c %0a%3c ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a%3c %0a---%0a> !!! ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a +host:1597805755=38.81.163.143 +author:1597805722=jrmu +diff:1597805722:1597805651:=22,29c22,24%0a%3c !!! ZNC will disconnect users and throttle if SSL certs are not properly signed%0a%3c %0a%3c If a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a%3c !!! ZNC throttles everyone if someone is glined%0a%3c %0a%3c When someone is GLINEd, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a%3c %0a%3c !!! ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a---%0a> - If a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a> - This same error also occurs when our bouncers are GLINEd. Again, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a> - ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a +host:1597805722=38.81.163.143 +author:1597805651=jrmu +diff:1597805651:1597805603:=16,21c16,17%0a%3c %0a%3c !!! ZNC is written in C++, an ugly and inelegant language.%0a%3c %0a%3c !!! ZNC throttles users so it can take hours to connect%0a%3c %0a%3c The throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a---%0a> - ZNC is written in C++, an ugly and inelegant language.%0a> - ZNC throttles users when you first start up ZNC and connect everyone. However, the throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a +host:1597805651=38.81.163.143 +author:1597805603=jrmu +diff:1597805603:1597415298:=1,15c1,6%0a%3c !! Why ZNC is destined for failure%0a%3c %0a%3c !!! ZNC requires users set up dozens of confusing connections%0a%3c %0a%3c ZNC requires your IRC client make one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a%3c %0a%3c !!! ZNC has an incredibly confusing way of logging in%0a%3c %0a%3c If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a%3c %0a%3c !!! ZNC is not designed for casual users%0a%3c %0a%3c It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a%3c %0a%3c !!! ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a---%0a> ====== Why ZNC is destined for failure ======%0a> %0a> - ZNC requires one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a> - ZNC has invented the most confusing way of logging in. If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a> - ZNC is not designed for casual users. It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a> - ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a +host:1597805603=38.81.163.143 +author:1597415298=jrmu +diff:1597415298:1597415298:=1,31d0%0a%3c ====== Why ZNC is destined for failure ======%0a%3c %0a%3c - ZNC requires one connection per network. If a user wants to connect to 10 networks at once (freenode, ircnow, dal, efnet, etc), it requires him to set up 10 independent connections on his IRC client. This is almost impossible with mobile apps and very confusing for GUI apps. Practical experience has shown that %3c30%25 of bouncer users know how to do this. If you rely on ZNC, you will lose >70%25 of potential users. ZNC developers have declared they have zero interest in fixing this design flaw; in fact, they are proud of it.%0a%3c - ZNC has invented the most confusing way of logging in. If your username is john, your password is secret123, and you want to connect to freenode, your password field needs to be john/freenode:secret123. If you want to connect to dal, your password field needs to be john/dal:secret123. Nowhere have I ever seen such a weird and confusing way of changing networks. Nobody understands this until he has spent 1-2 hours of troubleshooting.%0a%3c - ZNC is not designed for casual users. It requires reading far too much documentation in order to use. For example, typing /msg *status help shows a wall of text that only a sysadmin could understand. You have jargon like AddTrustedServerFingerprint, ClearAllChannelBuffers, and SetUserBindHost -- words that only a sysadmin could understand after reading through several pages of wikis. As sysadmins, we should configure all this for the end-user so the end-user does not have to read a single page of documentation.%0a%3c - ZNC relies on a web panel. There are two problems. First, I suspect this web panel cannot be easily customized without recompiling. Secondly, it does not follow the UNIX philosophy of Do One Thing and Do It Well. There is no need to bundle a web server with a bouncer. These should be two separate programs because they deal with two separate protocols/objectives. If you think about the matter critically, you will realize that users don't need a webpanel at all. There's nothing in the webpanel that could not be configured and managed by sysadmins on behalf of users.%0a%3c - ZNC is written in C++, an ugly and inelegant language.%0a%3c - ZNC throttles users when you first start up ZNC and connect everyone. However, the throttling is done in a very stupid manner -- each connection is attempted and throttled serially, even if the networks being connected to are different. These connections should be done in parallel rather than serially. For example, if you have 30 independent networks to connect to and a 30 second throttling delay, it would take 15 minutes with ZNC, but it should only take 5 seconds with a proper bouncer that connects to all 30 networks simultaneously (no need to throttle because they are all unique). On a ZNC server with 1000 users with 10 networks each, and 30 seconds of throttling, we are talking about a startup time of 5000 minutes; more than 3 days would elapse to get connected!%0a%3c - If a server doesn't have a properly signed SSL cert, ZNC will disconnect until the user adds the SSL fingerprint manually. This confuses >90%25 of users. They always blame our bouncer for not working properly. To make matters worse, ZNC then insists upon reconnecting every minute or so and failing in the same manner. And because ZNC does connection throttling, this slows everyone from being able to connect. You as a sysadmin are forced to manually disconnect networks that have SSL certs that aren't properly signed, or else in a few weeks, your ZNC becomes so slow (due to all the throttling) that it takes >10 mins to connect.%0a%3c - This same error also occurs when our bouncers are GLINEd. Again, ZNC stupidly tries to reconnect every minute, causing everyone to suffer from connection throttling, even if they are not GLINEd.%0a%3c - ZNC chose to adopt IRCv3, a terrible protocol because it adds nothing of value to users but introduces a lot of bugs. We have documented that older versions of mIRC (from around v7.33 to 7.41) are unable to connect because either mIRC or ZNC improperly implement IRCv3 capability negotiation. This bug has also been observed with some other Mac and Android IRC clients. What is worse is that nothing in the system logs or user clients ever show this error; it just appears to be nonresponsive after IRCv3 capability negotiation. We are able to reproduce this bug.%0a%3c - ZNC has no way of supporting both IPv4 and IPv6 simultaneously while preferring IPv6 when available. If you want to prefer IPv6, you are forced to drop support for IPv4 (you are therefore unable to connect to IPv4-only networks). If you choose to support both IPv4 and IPv6, znc usually chooses IPv4 by default, rather than using IPv6 by default. This is a design flaw. The default should be IPv6, then fallback to IPv4.%0a%3c - ZNC nickserv module appears to use the /nickserv alias which is not supported on all IRCds (not supported by ngircd). The proper nickserv module should instead adapt to each IRC network so that users do not have to memorize the idiosyncrasies of every single network's services. For example, for ngircd, the proper command is /squery nickserv identify %3cpassword>; for DALnet, the proper command is /msg nickserv@services.dal.net identify %3cpassword>. This really does not need to be an optional module; it needs to be integrated into the bouncer.%0a%3c - ZNC does not offer users any way to download their chat logs. It has a chat log module which stores the chat logs on the server hard disk -- but how is a user supposed to fetch these logs? Unless you give every single user on your bouncer ssh access, you are forced to manually email them. A hideous solution.%0a%3c - Requesting a ZNC account using a web registration form or a bouncer bot is an ugly hack. Users should be able to register an account instantly upon first connection.%0a%3c - ZNC bundles the [[https://wiki.znc.in/Shell|shell module]] by default, a module which makes it easy to exploit a 0day to get shell access to the entire server. It is impossible to delete this module. I complained about this to #znc on freenode and was told by that this was the least of my worries. This goes to show that znc developers do not care enough about security.%0a%3c - ZNC's [[https://wiki.znc.in/Partyline|Partyline]] module is buggy when users are connected to multiple networks. Often, messages repeat 2x or more, and sometimes it causes the users to join strange channels without requesting it. This otherwise useful module has been dropped starting v1.8, so we will need to switch to psyBNC to keep it.%0a%3c - There is no way to turn debugging on or off without compiling ZNC from source and restarting ZNC.%0a%3c - ZNC's blockuser module may be buggy. I have not verified this with certainty, but I suspect that if you send a reconnect message to the *controlpanel, it may connect sometimes even if a user is blocked.%0a%3c - Chrooting ZNC is a horrible, ugly hack.%0a%3c - A commonly requested feature is to be able to use ZNC for both mobile phone client and PC IRC client. Here's the [[https://wiki.znc.in/Multiple_clients|ZNC wiki]] explaining how you have multiple clients. Did you understand that? Neither did I. This setup is too complex and confusing for normal people to follow.%0a%3c - ZNC developers most likely have no interest in fixing any of the above design flaws. And even if they did, you'd be at the mercy of their development team, which may take years before they fix it. You are better off forking the code yourself.%0a%3c - ZNC modules often fall into the category of 1) useless or 2) proprietary software. For example, the ZNC Push Notifications module is proprietary software. There is no open source push notifications for ZNC, but this feature is essential for a proper mobile IRC client.%0a%3c %0a%3c ZNC is only 50%25 of the way there to a good bouncer. We chose it because it is more polished than psyBNC currently. psyBNC is only 30%25 of the way to a good bouncer. However, the problem is that znc is going on the wrong path, and will never straighten its course because of the above mentioned design flaws and a stubborn development team. psyBNC, however, is abandonware so we can mold it to fit our own goals.%0a%3c %0a%3c ====== psyBNC is the bouncer of the future ======%0a%3c %0a%3c - Written in C, a UNIX hacker's best friend.%0a%3c - psyBNC can multiplex multiple network connections onto a single connection, so that users only have to connect to psyBNC once to access all networks. If a user chooses to connect to 200 networks using psyBNC, his IRC client only has to connect once to psyBNC. This is a lot more intuitive than logging in 200 times.%0a%3c - Instead of chroot, we can use OpenBSD's pledge and unveil for greater security.%0a\ No newline at end of file%0a +host:1597415298=38.81.163.143 blob - /dev/null blob + a39b3162c3e7d313b18b88cc61c1855b7e6c0c8c (mode 644) --- /dev/null +++ wiki.d/Debate.Zoomdanger @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609006121 +host=198.251.81.119 +name=Debate.Zoomdanger +rev=1 +targets= +text=https://arstechnica.com/tech-policy/2020/11/zoom-lied-to-users-about-end-to-end-encryption-for-years-ftc-says +time=1609006121 +author:1609006121=jrmu +diff:1609006121:1609006121:=1d0%0a%3c https://arstechnica.com/tech-policy/2020/11/zoom-lied-to-users-about-end-to-end-encryption-for-years-ftc-says%0a\ No newline at end of file%0a +host:1609006121=198.251.81.119 blob - /dev/null blob + 14b6d1c51fa4308c55cde1ee7f4f9edcba17d396 (mode 644) --- /dev/null +++ wiki.d/Debian.Debian @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=monaco +charset=UTF-8 +csum= +ctime=1635508209 +host=185.173.204.99 +name=Debian.Debian +rev=5 +targets=Debian.Debian,Debian.Nginx,Debian.Nginxphpfpm +text=Debian (/ˈdɛbiən/), also known as Debian GNU/Linux, is a GNU/Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996.[8] The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions, most notably Ubuntu.%0a%0aDebian is one of the oldest operating systems based on the Linux kernel. The project is coordinated over the Internet by a team of volunteers guided by the Debian Project Leader and three foundational documents: the Debian Social Contract, the Debian Constitution, and the Debian Free Software Guidelines. New distributions are updated continually, and the next candidate is released after a time-based freeze.%0a%0aSince its founding, Debian has been developed openly and distributed freely according to the principles of the GNU Project. Because of this, the Free Software Foundation sponsored the project from November 1994 to November 1995. When the sponsorship ended, the Debian Project formed the nonprofit organization Software in the Public Interest to continue financially supporting development. %0a%0aA short introduction of Debian.%0aSource: Wikipedia%0a%0aFurther documentation over Debian:%0a%0a* [[Debian.Debian?action=rss|Debian RSS feed]]%0a%0a* [[Debian.Nginx|Install/Setup Nginx]]%0a* [[Debian.Nginxphpfpm|Install/Setup PHP-FPM for Nginx]] +time=1635683674 +author:1635683674=monaco +diff:1635683674:1635683639:=12c12%0a%3c * [[Debian.Debian?action=rss|Debian RSS feed]]%0a---%0a> * [[Debian.Debian|Debian RSS feed]]%0a +host:1635683674=185.173.204.99 +author:1635683639=monaco +diff:1635683639:1635510448:=11,12d10%0a%3c %0a%3c * [[Debian.Debian|Debian RSS feed]]%0a +host:1635683639=185.173.204.99 +author:1635510448=monaco +diff:1635510448:1635510016:=12,13c12%0a%3c * [[Debian.Nginx|Install/Setup Nginx]]%0a%3c * [[Debian.Nginxphpfpm|Install/Setup PHP-FPM for Nginx]]%0a\ No newline at end of file%0a---%0a> * [[Debian.Nginx|Install/Setup Nginx]]%0a\ No newline at end of file%0a +host:1635510448=185.173.204.99 +author:1635510016=monaco +diff:1635510016:1635508209:=8,12c8%0a%3c Source: Wikipedia%0a%3c %0a%3c Further documentation over Debian:%0a%3c %0a%3c * [[Debian.Nginx|Install/Setup Nginx]]%0a\ No newline at end of file%0a---%0a> Source: Wikipedia%0a\ No newline at end of file%0a +host:1635510016=185.173.204.99 +author:1635508209=monaco +diff:1635508209:1635508209:=1,8d0%0a%3c Debian (/ˈdɛbiən/), also known as Debian GNU/Linux, is a GNU/Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996.[8] The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions, most notably Ubuntu.%0a%3c %0a%3c Debian is one of the oldest operating systems based on the Linux kernel. The project is coordinated over the Internet by a team of volunteers guided by the Debian Project Leader and three foundational documents: the Debian Social Contract, the Debian Constitution, and the Debian Free Software Guidelines. New distributions are updated continually, and the next candidate is released after a time-based freeze.%0a%3c %0a%3c Since its founding, Debian has been developed openly and distributed freely according to the principles of the GNU Project. Because of this, the Free Software Foundation sponsored the project from November 1994 to November 1995. When the sponsorship ended, the Debian Project formed the nonprofit organization Software in the Public Interest to continue financially supporting development. %0a%3c %0a%3c A short introduction of Debian.%0a%3c Source: Wikipedia%0a\ No newline at end of file%0a +host:1635508209=185.173.204.99 blob - /dev/null blob + b10eda14704a9f943e252621071f990fefffbd86 (mode 644) --- /dev/null +++ wiki.d/Debian.Nginx @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=monaco +charset=UTF-8 +csum= +ctime=1635509880 +host=185.173.204.99 +name=Debian.Nginx +rev=1 +targets= +text=# How to setup Nginx on Debian%0a%0aFirst of all you would need to "ssh" to you're server:%0a%0a ssh user@127.0.0.1%0a %0aAfter successfully loged in on you're server:%0a%0a sudo apt install nginx%0a%0aStart Nginx:%0a%0a sudo systemctl start nginx%0a%0aEnable to start at reboot:%0a%0a sudo systemctl enable nginx%0a%0aCheck Nginx status: %0a%0a systemctl status nginx %0a%0a> Output should be similar to: %0a%0a init@init ~ %25 systemctl status nginx%0a ● nginx.service - A high performance web server and a reverse proxy server%0a Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>%0a Active: active (running) since Fri 2021-10-29 14:02:24 CEST; 1min 22s ago%0a Docs: man:nginx(8)%0a Process: 3813 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_proce>%0a Process: 3815 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (c>%0a Main PID: 3816 (nginx)%0a Tasks: 3 (limit: 2201)%0a Memory: 6.2M%0a CPU: 49ms%0a CGroup: /system.slice/nginx.service%0a ├─3816 "nginx: master process /usr/sbin/nginx -g daemon on; master>%0a ├─3817 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "">%0a └─3818 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "">%0a init@init ~ %25 %0a%0aYou're default web root path is:%0a%0a cd /var/www/html/%0a %0a `ls`%0aOutput:%0a%0a init@init /var/www/html %25 ls%0a index.nginx-debian.html%0a init@init /var/www/html %25%0aCurl you're server IP address should give you the output of "Welcome to nginx."%0a%0a curl 127.0.0.1%0aOutput >%0a%0a init@init /var/www/html %25 curl 127.0.0.1%0a %3c!DOCTYPE html>%0a %3chtml>%0a %3chead>%0a %3ctitle>Welcome to nginx!%3c/title>%0a %3cstyle>%0a body {%0a width: 35em;%0a margin: 0 auto;%0a font-family: Tahoma, Verdana, Arial, sans-serif;%0a }%0a %3c/style>%0a %3c/head>%0a %3cbody>%0a %3ch1>Welcome to nginx!%3c/h1>%0a %3cp>If you see this page, the nginx web server is successfully installed and%0a working. Further configuration is required.%3c/p>%0a %0a %3cp>For online documentation and support please refer to%0a %3ca href="http://nginx.org/">nginx.org%3c/a>.%3cbr/>%0a Commercial support is available at%0a %3ca href="http://nginx.com/">nginx.com%3c/a>.%3c/p>%0a %0a %3cp>%3cem>Thank you for using nginx.%3c/em>%3c/p>%0a %3c/body>%0a %3c/html>%0a init@init /var/www/html %25%0a%0aEdit or setup specific domain names on Nginx:%0a%0a cd /etc/nginx/sites-enabled/%0a%0aCopy the default%0a%0a cp default example.domain%0a%0aYou will find there a helpful documentacion how to do that as example:%0a%0avim example.domain%0a%0a server {%0a listen 80;%0a listen [::]:80;%0a %0a server_name example.domain;%0a %0a root /var/www/example.domain;%0a index index.html;%0a %0a location / {%0a try_files $uri $uri/ =404;%0a }%0a }%0a +time=1635509880 +author:1635509880=monaco +diff:1635509880:1635509880:=1,109d0%0a%3c # How to setup Nginx on Debian%0a%3c %0a%3c First of all you would need to "ssh" to you're server:%0a%3c %0a%3c ssh user@127.0.0.1%0a%3c %0a%3c After successfully loged in on you're server:%0a%3c %0a%3c sudo apt install nginx%0a%3c %0a%3c Start Nginx:%0a%3c %0a%3c sudo systemctl start nginx%0a%3c %0a%3c Enable to start at reboot:%0a%3c %0a%3c sudo systemctl enable nginx%0a%3c %0a%3c Check Nginx status: %0a%3c %0a%3c systemctl status nginx %0a%3c %0a%3c > Output should be similar to: %0a%3c %0a%3c init@init ~ %25 systemctl status nginx%0a%3c ● nginx.service - A high performance web server and a reverse proxy server%0a%3c Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>%0a%3c Active: active (running) since Fri 2021-10-29 14:02:24 CEST; 1min 22s ago%0a%3c Docs: man:nginx(8)%0a%3c Process: 3813 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_proce>%0a%3c Process: 3815 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (c>%0a%3c Main PID: 3816 (nginx)%0a%3c Tasks: 3 (limit: 2201)%0a%3c Memory: 6.2M%0a%3c CPU: 49ms%0a%3c CGroup: /system.slice/nginx.service%0a%3c ├─3816 "nginx: master process /usr/sbin/nginx -g daemon on; master>%0a%3c ├─3817 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "">%0a%3c └─3818 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "">%0a%3c init@init ~ %25 %0a%3c %0a%3c You're default web root path is:%0a%3c %0a%3c cd /var/www/html/%0a%3c %0a%3c `ls`%0a%3c Output:%0a%3c %0a%3c init@init /var/www/html %25 ls%0a%3c index.nginx-debian.html%0a%3c init@init /var/www/html %25%0a%3c Curl you're server IP address should give you the output of "Welcome to nginx."%0a%3c %0a%3c curl 127.0.0.1%0a%3c Output >%0a%3c %0a%3c init@init /var/www/html %25 curl 127.0.0.1%0a%3c %3c!DOCTYPE html>%0a%3c %3chtml>%0a%3c %3chead>%0a%3c %3ctitle>Welcome to nginx!%3c/title>%0a%3c %3cstyle>%0a%3c body {%0a%3c width: 35em;%0a%3c margin: 0 auto;%0a%3c font-family: Tahoma, Verdana, Arial, sans-serif;%0a%3c }%0a%3c %3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>Welcome to nginx!%3c/h1>%0a%3c %3cp>If you see this page, the nginx web server is successfully installed and%0a%3c working. Further configuration is required.%3c/p>%0a%3c %0a%3c %3cp>For online documentation and support please refer to%0a%3c %3ca href="http://nginx.org/">nginx.org%3c/a>.%3cbr/>%0a%3c Commercial support is available at%0a%3c %3ca href="http://nginx.com/">nginx.com%3c/a>.%3c/p>%0a%3c %0a%3c %3cp>%3cem>Thank you for using nginx.%3c/em>%3c/p>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c init@init /var/www/html %25%0a%3c %0a%3c Edit or setup specific domain names on Nginx:%0a%3c %0a%3c cd /etc/nginx/sites-enabled/%0a%3c %0a%3c Copy the default%0a%3c %0a%3c cp default example.domain%0a%3c %0a%3c You will find there a helpful documentacion how to do that as example:%0a%3c %0a%3c vim example.domain%0a%3c %0a%3c server {%0a%3c listen 80;%0a%3c listen [::]:80;%0a%3c %0a%3c server_name example.domain;%0a%3c %0a%3c root /var/www/example.domain;%0a%3c index index.html;%0a%3c %0a%3c location / {%0a%3c try_files $uri $uri/ =404;%0a%3c }%0a%3c }%0a +host:1635509880=185.173.204.99 blob - /dev/null blob + 9808bbb870e87125f5a6c70baf7b45ac4394f6f0 (mode 644) --- /dev/null +++ wiki.d/Debian.Nginxphpfpm @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=monaco +charset=UTF-8 +csum= +ctime=1635510376 +host=185.173.204.99 +name=Debian.Nginxphpfpm +rev=1 +targets= +text=Install PHP7.4%0a%0aBy default, Debian ships with PHP 7.4 in its upstream repositories. You can install it easily by just running the following command:%0a%0aapt-get install php7.4 -y%0a%0aOnce the PHP is installed, verify the installed version with the following command:%0a%0aphp --version%0a%0aYou should get the following output:%0a%0aPHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )%0aCopyright (c) The PHP Group%0aZend Engine v3.4.0, Copyright (c) Zend Technologies%0a with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies%0a%0aPHP configurations related to Nginx is stored in /etc/php/7.4/fpm/php.ini file. You can modify it for better performance.%0aInstall PHP7.4-FPM and Other Extensions%0a%0aNginx does not contain native PHP processing. So you will need to install PHP-FPM for processing the PHP files. FPM is an alternative PHP FastCGI implementation with some additional features useful for heavy-loaded sites.%0a%0aYou can install PHP7.4-FPM with other necessary extensions by running the following command:%0a%0aapt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-curl php7.4-json -y%0a%0aOnce all the packages are installed, start the PHP7.4-FPM service and enable it to start at system reboot:%0a%0asystemctl start php7.4-fpm%0asystemctl enable php7.4-fpm%0a%0aConfigure Nginx to Process PHP Files%0a%0aNext, you will need to configure Nginx to process PHP files.%0a%0aTo do so, create a new Nginx virtual host configuration file with the following command:%0a%0anano /etc/nginx/sites-available/example%0a%0aAdd the following lines:%0a%0aserver {%0a listen 80;%0a server_name test.example.com;%0a root /var/www/html;%0a index info.php;%0a%0a location ~ \.php$ {%0a include snippets/fastcgi-php.conf;%0a fastcgi_pass unix:/run/php/php7.4-fpm.sock;%0a }%0a}%0a%0aSave and close the file then enable the Nginx virtual host configuration file with the following command:%0a%0aln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/%0a%0aNext, verify the Nginx for any syntax error with the following command:%0a%0anginx -t%0a%0aYou should get the following output:%0a%0anginx: the configuration file /etc/nginx/nginx.conf syntax is ok%0anginx: configuration file /etc/nginx/nginx.conf test is successful%0a%0aFinally, restart the Nginx service to apply the configuration changes:%0a%0asystemctl restart nginx%0a%0aNext, create a info.php file to verify the PHP version:%0a%0anano /var/www/html/info.php%0a%0aAdd the following code:%0a%0a%3c?php phpinfo();%0a%0aSave and close the file when you are finished.%0aVerify PHP%0a%0aAt this point, Nginx is configured to process PHP files. Its time to test it. +time=1635510376 +author:1635510376=monaco +diff:1635510376:1635510376:=1,82d0%0a%3c Install PHP7.4%0a%3c %0a%3c By default, Debian ships with PHP 7.4 in its upstream repositories. You can install it easily by just running the following command:%0a%3c %0a%3c apt-get install php7.4 -y%0a%3c %0a%3c Once the PHP is installed, verify the installed version with the following command:%0a%3c %0a%3c php --version%0a%3c %0a%3c You should get the following output:%0a%3c %0a%3c PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )%0a%3c Copyright (c) The PHP Group%0a%3c Zend Engine v3.4.0, Copyright (c) Zend Technologies%0a%3c with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies%0a%3c %0a%3c PHP configurations related to Nginx is stored in /etc/php/7.4/fpm/php.ini file. You can modify it for better performance.%0a%3c Install PHP7.4-FPM and Other Extensions%0a%3c %0a%3c Nginx does not contain native PHP processing. So you will need to install PHP-FPM for processing the PHP files. FPM is an alternative PHP FastCGI implementation with some additional features useful for heavy-loaded sites.%0a%3c %0a%3c You can install PHP7.4-FPM with other necessary extensions by running the following command:%0a%3c %0a%3c apt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-curl php7.4-json -y%0a%3c %0a%3c Once all the packages are installed, start the PHP7.4-FPM service and enable it to start at system reboot:%0a%3c %0a%3c systemctl start php7.4-fpm%0a%3c systemctl enable php7.4-fpm%0a%3c %0a%3c Configure Nginx to Process PHP Files%0a%3c %0a%3c Next, you will need to configure Nginx to process PHP files.%0a%3c %0a%3c To do so, create a new Nginx virtual host configuration file with the following command:%0a%3c %0a%3c nano /etc/nginx/sites-available/example%0a%3c %0a%3c Add the following lines:%0a%3c %0a%3c server {%0a%3c listen 80;%0a%3c server_name test.example.com;%0a%3c root /var/www/html;%0a%3c index info.php;%0a%3c %0a%3c location ~ \.php$ {%0a%3c include snippets/fastcgi-php.conf;%0a%3c fastcgi_pass unix:/run/php/php7.4-fpm.sock;%0a%3c }%0a%3c }%0a%3c %0a%3c Save and close the file then enable the Nginx virtual host configuration file with the following command:%0a%3c %0a%3c ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/%0a%3c %0a%3c Next, verify the Nginx for any syntax error with the following command:%0a%3c %0a%3c nginx -t%0a%3c %0a%3c You should get the following output:%0a%3c %0a%3c nginx: the configuration file /etc/nginx/nginx.conf syntax is ok%0a%3c nginx: configuration file /etc/nginx/nginx.conf test is successful%0a%3c %0a%3c Finally, restart the Nginx service to apply the configuration changes:%0a%3c %0a%3c systemctl restart nginx%0a%3c %0a%3c Next, create a info.php file to verify the PHP version:%0a%3c %0a%3c nano /var/www/html/info.php%0a%3c %0a%3c Add the following code:%0a%3c %0a%3c %3c?php phpinfo();%0a%3c %0a%3c Save and close the file when you are finished.%0a%3c Verify PHP%0a%3c %0a%3c At this point, Nginx is configured to process PHP files. Its time to test it.%0a\ No newline at end of file%0a +host:1635510376=185.173.204.99 blob - /dev/null blob + 1174e7702c431746cc010bcfa1f8ca09fd7181cb (mode 644) --- /dev/null +++ wiki.d/Debian.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1635508209 +host=185.173.204.99 +name=Debian.RecentChanges +rev=7 +text=* [[Debian/Debian]] . . . October 31, 2021, at 12:34 PM by [[~monaco]]: [==]%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 +time=1635683674 blob - /dev/null blob + 8aa7de8be64cc78fb04c6675f4a9fdd1e21daa74 (mode 644) --- /dev/null +++ wiki.d/Dhcpd.Configure @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1631721729 +host=38.87.162.8 +name=Dhcpd.Configure +rev=2 +targets= +text=[@%0a$ doas rcctl enable dhcpd%0a$ doas rcctl set dhcpd flags em1%0a%0a/etc/dhcpd.conf%0a%0asubnet 38.87.162.0 netmask 255.255.255.0 {%0a option routers 38.87.162.1;%0a option domain-name-servers 38.87.162.1;%0a range 38.87.162.2 38.87.162.254;%0a host username {%0a fixed-address 38.87.162.2;%0a hardware ethernet aa:bb:cc:dd:ee:ff;%0a }%0a}%0a%0a$ doas rcctl restart dhcpd%0a@]%0a +time=1631721754 +author:1631721754=jrmu +diff:1631721754:1631721729:=1d0%0a%3c [@%0a16,18d14%0a%3c %0a%3c $ doas rcctl restart dhcpd%0a%3c @]%0a +host:1631721754=38.87.162.8 +author:1631721729=jrmu +diff:1631721729:1631721729:=1,14d0%0a%3c $ doas rcctl enable dhcpd%0a%3c $ doas rcctl set dhcpd flags em1%0a%3c %0a%3c /etc/dhcpd.conf%0a%3c %0a%3c subnet 38.87.162.0 netmask 255.255.255.0 {%0a%3c option routers 38.87.162.1;%0a%3c option domain-name-servers 38.87.162.1;%0a%3c range 38.87.162.2 38.87.162.254;%0a%3c host username {%0a%3c fixed-address 38.87.162.2;%0a%3c hardware ethernet aa:bb:cc:dd:ee:ff;%0a%3c }%0a%3c }%0a +host:1631721729=38.87.162.8 blob - /dev/null blob + 63cd70ba637ca4696b34afccde6147a4d2d529df (mode 644) --- /dev/null +++ wiki.d/Dhcpd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1631721729 +host=38.87.162.8 +name=Dhcpd.RecentChanges +rev=2 +text=* [[Dhcpd/Configure]] . . . September 15, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a +time=1631721754 blob - /dev/null blob + 44fdab45bfb5fa0d81be4e3565bbd3a6e8eedefb (mode 644) --- /dev/null +++ wiki.d/Dig.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1620091775 +host=2001:470:ee05:0:9420:450a:63f3:8b5b +name=Dig.RecentChanges +rev=7 +text=* [[Dig/Usage]] . . . May 04, 2021, at 02:36 AM by [[~sarah]]: [==]%0a +time=1620095764 blob - /dev/null blob + f01dce2ee8c954e8c74f7e8e794c01cdd6664190 (mode 644) --- /dev/null +++ wiki.d/Dig.Usage @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=sarah +charset=UTF-8 +csum= +ctime=1620091775 +host=2001:470:ee05:0:9420:450a:63f3:8b5b +name=Dig.Usage +rev=7 +targets=Openbsd.Unbound +text=(:title Troubleshooting DNS with dig:)%0a%0adig is a DNS lookup utility which is invaluable for helping troubleshoot DNS errors.%0a%0aTo lookup the IPv4 address of a hostname, run:%0a%0a[@%0a$ dig example.ircnow.org%0a; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org%0a;; global options: +cmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 15341%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1%0a%0a;; OPT PSEUDOSECTION:%0a; EDNS: version: 0, flags:; udp: 4096%0a;; QUESTION SECTION:%0a;example.ircnow.org. IN A%0a%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a%0a;; Query time: 485 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Fri Aug 21 12:31:44 CST 2020%0a;; MSG SIZE rcvd: 55%0a@]%0a%0a!! Success or Failure%0a%0a# @@status: NOERROR@@\\%0aThis indicates that the name lookup succeeded.%0a# @@status: NXDOMAIN@@\\%0aThis indicates that the name server believes there are no records for the hostname. In other words, the name server for the zone exists, but the record does not.%0a# @@;; connection timed out; no servers could be reached@@\\%0aThis indicates that your computer cannot reach the nameservers in /etc/resolv.conf. Please reconfigure your [[openbsd/unbound|local caching nameservers]].%0a%0a!! Answer Section%0a%0a[@%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a@]%0a%0aThe @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@A@@ means this is an A record (it tells you the IPv4 address), and the IP address 192.168.0.1.%0a%0a!! Other Details%0a%0a[@%0a;; Query time: 485 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a@]%0a%0aThis tells you that it took 485 milliseconds to make the request, and that dig asked the nameserver 127.0.0.1 on port 53 for the answer. The server is very important because different nameservers might give different responses. For example, suppose you want to ask the two nameservers, @@ns1.ircnow.org@@ and @@ns2.ircnow.org@@, what the correct answer is:%0a%0a[@%0a$ dig @ns1.ircnow.org example.ircnow.org%0a$ dig @ns2.ircnow.org example.ircnow.org%0a@]%0a%0aThe two nameservers might give different answers!%0a%0aTo test if your changes have propagated (other nameservers have synced), you can try testing other public nameservers like the ones offered by [[https://servers.opennic.org/|OpenNIC]].%0a%0a!! Getting Other Records%0a%0aBy default, dig returns A records, but there are many other records:%0a%0a[@%0a$ dig -t any example.ircnow.org # shows all records%0a$ dig -t mx example.ircnow.org # shows MX (mail exchange) records%0a$ dig -t ns example.ircnow.org # shows NS (nameserver) records%0a$ dig -t aaaa example.ircnow.org # shows AAAA (IPv4) records%0a$ dig -t txt example.ircnow.org # shows TXT (text) records%0a@]%0a%0a!! Getting PTR Record(s) of an IP address%0a%0aDig can also be used to retrieve PTR record of an given IPv4/IPv6 address.%0a%0a[@%0a$ dig -x 1.1.1.1 # shows PTR record of the IPv4 address%0a$ dig -x 2001:4860:4860::8888 # shows PTR record of the IPv6 address%0a@]%0a%0a!! Tracing of the delegation path of given address%0a%0aDelegation path of given address can be traced using dig, this is especially useful to find out if the delegation works as expected.%0a%0a[@%0a$ dig example.ircnow.org +trace%0a%0a; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org +trace%0a;; global options: +cmd%0a. 518400 IN NS e.root-servers.net.%0a. 518400 IN NS h.root-servers.net.%0a. 518400 IN NS l.root-servers.net.%0a. 518400 IN NS i.root-servers.net.%0a. 518400 IN NS a.root-servers.net.%0a. 518400 IN NS d.root-servers.net.%0a. 518400 IN NS c.root-servers.net.%0a. 518400 IN NS b.root-servers.net.%0a. 518400 IN NS j.root-servers.net.%0a. 518400 IN NS k.root-servers.net.%0a. 518400 IN NS g.root-servers.net.%0a. 518400 IN NS m.root-servers.net.%0a. 518400 IN NS f.root-servers.net.%0a. 518400 IN RRSIG NS 8 0 518400 20210516200000 20210503190000 14631 . bnVFcTaX1W1OiurBnLbT4UsUC2krXwFuxUulTcThjei0bDeBbNweZz/e qeps3buVQVL14TTKglTcuuxQOoacUSuznWbU3xaj+Wvxu+HLdBqD+cXP LXY/4qKG9jZLCo1h1sRg5ZUOkL13u8UaBT378Ic6AJyRTfVAiRk3S1Sy 3aWZWOVpnIM0U4RcCUZ4nZ6NPraZVeEapwk2HxkQml+twBO0rwueS0sP XV16tquBGsQhFD3w2/dQHLYhFjiU9LhaM9M6/+A7kPpPp36DpQiwT7kB dQVwWVPsMKOIr8gmrfLjfxXq46Hl/lV9k4HnLyozz3R/xs0Zp5wIxLQG LKIWZA==%0a;; Received 1097 bytes from 198.41.0.4#53(198.41.0.4) in 9 ms%0a%0aorg. 172800 IN NS a0.org.afilias-nst.info.%0aorg. 172800 IN NS a2.org.afilias-nst.info.%0aorg. 172800 IN NS b0.org.afilias-nst.org.%0aorg. 172800 IN NS b2.org.afilias-nst.org.%0aorg. 172800 IN NS c0.org.afilias-nst.info.%0aorg. 172800 IN NS d0.org.afilias-nst.org.%0aorg. 86400 IN DS 26974 8 2 4FEDE294C53F438A158C41D39489CD78A86BEB0D8A0AEAFF14745C0D 16E1DE32%0aorg. 86400 IN RRSIG DS 8 1 86400 20210516200000 20210503190000 14631 . A3Jr31VIuTGkzUFT/cWJNmkiNFYF8V9aOxwIDdca03xOFVsHzPcU5ZO8 zunq39DAer9PZgaKSSYhlGXC7WkAcrxT/lA9T83cnUTqKmbzWFnzr+wI b7+E3dzg9p63mKq/XuC0keLAAMwXHlqJy4Pe75FgzgPO3wwrqGx4tPev izbhJsUB4nrDWBJfOiGoOFXFGdX4DRdfLsjymteC0IIxPDoKvKByyP1a rDL9kUs23Ps65H6Vz/modC09a40cWNfYZaiOfFp7bkcXFJe7/544Jjki nv31EwHFF5t0TiWEPSrluiPnFC3aNphea/Q8bZ/jxWCrG98xpfSMCGA/ G9zqgA==%0a;; Received 784 bytes from 198.97.190.53#53(h.root-servers.net) in 95 ms%0a%0aircnow.org. 86400 IN NS mango.ircnow.org.%0aircnow.org. 86400 IN NS cherry.ircnow.org.%0aircnow.org. 86400 IN NS pear.ircnow.org.%0aircnow.org. 86400 IN NS lemon.ircnow.org.%0aircnow.org. 86400 IN NS fig.ircnow.org.%0aircnow.org. 86400 IN NS peach.ircnow.org.%0aircnow.org. 86400 IN NS plum.ircnow.org.%0aircnow.org. 86400 IN NS banana.ircnow.org.%0aircnow.org. 86400 IN NS guava.ircnow.org.%0aircnow.org. 86400 IN NS jujube.ircnow.org.%0a1i870vj5h429vj9pci7ar6e9gki74tr7.org. 86400 IN NSEC3 1 1 10 332539EE7F95C32A 1I87R64GAJU4O91MHKBU7I9EKBS7K8UT NS SOA RRSIG DNSKEY NSEC3PARAM%0a1i870vj5h429vj9pci7ar6e9gki74tr7.org. 86400 IN RRSIG NSEC3 8 2 86400 20210525020414 20210504010414 30453 org. Jr1WNE6PxVRBjPaS2ocx+/QrcSHGo/Igqv2xKJZFmnU3o5CZ5Z321Oab o4aVePLpBu0xvRPMhShwEEp/1R4g+jhH/V3aiREbvV9tJNmYQXtsDVNi vB9KJJyimZRRYzu3Mmbdc0UQIiaI+v9/kuREwCvPge4gBbwRRt+BMM0X y+w=%0add5mibgab03im9bnjrjia69igfiona2m.org. 86400 IN NSEC3 1 1 10 332539EE7F95C32A DD5ND6BTBKEQ2D0352TNPA24DSKUA3DU NS DS RRSIG%0add5mibgab03im9bnjrjia69igfiona2m.org. 86400 IN RRSIG NSEC3 8 2 86400 20210522152710 20210501142710 30453 org. vJlCPFP7u+SJRx7aAwP5WPSWI5IoFZkuoT3BV0MzpxOV+3yb7PKJauKT dh8tx9WWgiQRTo6rlnl7p/uTzAfaqH4dc0qal9UfJiUQnEPwTAlAGcnZ 5EwquV1HyDmDUITNSUE/PiadxjOP4Abn6w7L6CPLv128wXebf/ReJkRB kUs=%0a;; Received 907 bytes from 2001:500:f::1#53(d0.org.afilias-nst.org) in 29 ms%0a%0aircnow.org. 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. 2021032508 1800 7200 1209600 3600%0a;; Received 93 bytes from 198.251.89.130#53(fig.ircnow.org) in 127 ms%0a@]%0a%0aHere you can see that we started querying from the end of the address '.' and moving backward.%0aFor each of the name server in the delegation path we query previous part of the address. In this example:%0a# '.' %0a# 'org.' (answer from h.root-servers.net)%0a# 'ircnow.org.' (answer from d0.org.afilias-nst.org)%0a# 'example.ircnow.org' (answer from fig.ircnow.org)%0a%0aTo see your own authoritative name server in action after you have completed nsd tutorial, do:%0a[@%0a$ dig username.fruit.ircnow.org +trace%0a@] +time=1620095764 +title=Troubleshooting DNS with dig +author:1620095764=sarah +diff:1620095764:1620095679:=143,146c143,146%0a%3c # '.' %0a%3c # 'org.' (answer from h.root-servers.net)%0a%3c # 'ircnow.org.' (answer from d0.org.afilias-nst.org)%0a%3c # 'example.ircnow.org' (answer from fig.ircnow.org)%0a---%0a> 1. '.' %0a> 2. 'org.' (answer from h.root-servers.net)%0a> 3. 'ircnow.org.' (answer from d0.org.afilias-nst.org)%0a> 4. 'example.ircnow.org' (answer from fig.ircnow.org)%0a +host:1620095764=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620095679=sarah +diff:1620095679:1620095664:=142c142%0a%3c For each of the name server in the delegation path we query previous part of the address. In this example:%0a---%0a> For each of the name server in the delegation path we query previous part of the address. In this exmaple:%0a +host:1620095679=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620095664=sarah +diff:1620095664:1620094868:=141,147c141%0a%3c Here you can see that we started querying from the end of the address '.' and moving backward.%0a%3c For each of the name server in the delegation path we query previous part of the address. In this exmaple:%0a%3c 1. '.' %0a%3c 2. 'org.' (answer from h.root-servers.net)%0a%3c 3. 'ircnow.org.' (answer from d0.org.afilias-nst.org)%0a%3c 4. 'example.ircnow.org' (answer from fig.ircnow.org)%0a%3c %0a---%0a> Here you can see that we started querying with the root zone '.' and for each of '.' in the address, we query the name server in its delegation path.%0a +host:1620095664=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620094868=sarah +diff:1620094868:1620092029:=79,80c79,80%0a%3c Dig can also be used to retrieve PTR record of an given IPv4/IPv6 address.%0a%3c %0a---%0a> Dig can also be used to retrieve PTR record of an given IPv4/IPv6 address%0a> %0a85,145d84%0a%3c %0a%3c !! Tracing of the delegation path of given address%0a%3c %0a%3c Delegation path of given address can be traced using dig, this is especially useful to find out if the delegation works as expected.%0a%3c %0a%3c [@%0a%3c $ dig example.ircnow.org +trace%0a%3c %0a%3c ; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org +trace%0a%3c ;; global options: +cmd%0a%3c . 518400 IN NS e.root-servers.net.%0a%3c . 518400 IN NS h.root-servers.net.%0a%3c . 518400 IN NS l.root-servers.net.%0a%3c . 518400 IN NS i.root-servers.net.%0a%3c . 518400 IN NS a.root-servers.net.%0a%3c . 518400 IN NS d.root-servers.net.%0a%3c . 518400 IN NS c.root-servers.net.%0a%3c . 518400 IN NS b.root-servers.net.%0a%3c . 518400 IN NS j.root-servers.net.%0a%3c . 518400 IN NS k.root-servers.net.%0a%3c . 518400 IN NS g.root-servers.net.%0a%3c . 518400 IN NS m.root-servers.net.%0a%3c . 518400 IN NS f.root-servers.net.%0a%3c . 518400 IN RRSIG NS 8 0 518400 20210516200000 20210503190000 14631 . bnVFcTaX1W1OiurBnLbT4UsUC2krXwFuxUulTcThjei0bDeBbNweZz/e qeps3buVQVL14TTKglTcuuxQOoacUSuznWbU3xaj+Wvxu+HLdBqD+cXP LXY/4qKG9jZLCo1h1sRg5ZUOkL13u8UaBT378Ic6AJyRTfVAiRk3S1Sy 3aWZWOVpnIM0U4RcCUZ4nZ6NPraZVeEapwk2HxkQml+twBO0rwueS0sP XV16tquBGsQhFD3w2/dQHLYhFjiU9LhaM9M6/+A7kPpPp36DpQiwT7kB dQVwWVPsMKOIr8gmrfLjfxXq46Hl/lV9k4HnLyozz3R/xs0Zp5wIxLQG LKIWZA==%0a%3c ;; Received 1097 bytes from 198.41.0.4#53(198.41.0.4) in 9 ms%0a%3c %0a%3c org. 172800 IN NS a0.org.afilias-nst.info.%0a%3c org. 172800 IN NS a2.org.afilias-nst.info.%0a%3c org. 172800 IN NS b0.org.afilias-nst.org.%0a%3c org. 172800 IN NS b2.org.afilias-nst.org.%0a%3c org. 172800 IN NS c0.org.afilias-nst.info.%0a%3c org. 172800 IN NS d0.org.afilias-nst.org.%0a%3c org. 86400 IN DS 26974 8 2 4FEDE294C53F438A158C41D39489CD78A86BEB0D8A0AEAFF14745C0D 16E1DE32%0a%3c org. 86400 IN RRSIG DS 8 1 86400 20210516200000 20210503190000 14631 . A3Jr31VIuTGkzUFT/cWJNmkiNFYF8V9aOxwIDdca03xOFVsHzPcU5ZO8 zunq39DAer9PZgaKSSYhlGXC7WkAcrxT/lA9T83cnUTqKmbzWFnzr+wI b7+E3dzg9p63mKq/XuC0keLAAMwXHlqJy4Pe75FgzgPO3wwrqGx4tPev izbhJsUB4nrDWBJfOiGoOFXFGdX4DRdfLsjymteC0IIxPDoKvKByyP1a rDL9kUs23Ps65H6Vz/modC09a40cWNfYZaiOfFp7bkcXFJe7/544Jjki nv31EwHFF5t0TiWEPSrluiPnFC3aNphea/Q8bZ/jxWCrG98xpfSMCGA/ G9zqgA==%0a%3c ;; Received 784 bytes from 198.97.190.53#53(h.root-servers.net) in 95 ms%0a%3c %0a%3c ircnow.org. 86400 IN NS mango.ircnow.org.%0a%3c ircnow.org. 86400 IN NS cherry.ircnow.org.%0a%3c ircnow.org. 86400 IN NS pear.ircnow.org.%0a%3c ircnow.org. 86400 IN NS lemon.ircnow.org.%0a%3c ircnow.org. 86400 IN NS fig.ircnow.org.%0a%3c ircnow.org. 86400 IN NS peach.ircnow.org.%0a%3c ircnow.org. 86400 IN NS plum.ircnow.org.%0a%3c ircnow.org. 86400 IN NS banana.ircnow.org.%0a%3c ircnow.org. 86400 IN NS guava.ircnow.org.%0a%3c ircnow.org. 86400 IN NS jujube.ircnow.org.%0a%3c 1i870vj5h429vj9pci7ar6e9gki74tr7.org. 86400 IN NSEC3 1 1 10 332539EE7F95C32A 1I87R64GAJU4O91MHKBU7I9EKBS7K8UT NS SOA RRSIG DNSKEY NSEC3PARAM%0a%3c 1i870vj5h429vj9pci7ar6e9gki74tr7.org. 86400 IN RRSIG NSEC3 8 2 86400 20210525020414 20210504010414 30453 org. Jr1WNE6PxVRBjPaS2ocx+/QrcSHGo/Igqv2xKJZFmnU3o5CZ5Z321Oab o4aVePLpBu0xvRPMhShwEEp/1R4g+jhH/V3aiREbvV9tJNmYQXtsDVNi vB9KJJyimZRRYzu3Mmbdc0UQIiaI+v9/kuREwCvPge4gBbwRRt+BMM0X y+w=%0a%3c dd5mibgab03im9bnjrjia69igfiona2m.org. 86400 IN NSEC3 1 1 10 332539EE7F95C32A DD5ND6BTBKEQ2D0352TNPA24DSKUA3DU NS DS RRSIG%0a%3c dd5mibgab03im9bnjrjia69igfiona2m.org. 86400 IN RRSIG NSEC3 8 2 86400 20210522152710 20210501142710 30453 org. vJlCPFP7u+SJRx7aAwP5WPSWI5IoFZkuoT3BV0MzpxOV+3yb7PKJauKT dh8tx9WWgiQRTo6rlnl7p/uTzAfaqH4dc0qal9UfJiUQnEPwTAlAGcnZ 5EwquV1HyDmDUITNSUE/PiadxjOP4Abn6w7L6CPLv128wXebf/ReJkRB kUs=%0a%3c ;; Received 907 bytes from 2001:500:f::1#53(d0.org.afilias-nst.org) in 29 ms%0a%3c %0a%3c ircnow.org. 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. 2021032508 1800 7200 1209600 3600%0a%3c ;; Received 93 bytes from 198.251.89.130#53(fig.ircnow.org) in 127 ms%0a%3c @]%0a%3c %0a%3c Here you can see that we started querying with the root zone '.' and for each of '.' in the address, we query the name server in its delegation path.%0a%3c To see your own authoritative name server in action after you have completed nsd tutorial, do:%0a%3c [@%0a%3c $ dig username.fruit.ircnow.org +trace%0a%3c @]%0a\ No newline at end of file%0a +host:1620094868=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620092029=sarah +diff:1620092029:1620091995:=80d79%0a%3c %0a +host:1620092029=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620091995=sarah +diff:1620091995:1620091775:=75,82d74%0a%3c @]%0a%3c %0a%3c !! Getting PTR Record(s) of an IP address%0a%3c %0a%3c Dig can also be used to retrieve PTR record of an given IPv4/IPv6 address%0a%3c [@%0a%3c $ dig -x 1.1.1.1 # shows PTR record of the IPv4 address%0a%3c $ dig -x 2001:4860:4860::8888 # shows PTR record of the IPv6 address%0a +host:1620091995=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620091775=sarah +diff:1620091775:1620091775:=1,75d0%0a%3c (:title Troubleshooting DNS with dig:)%0a%3c %0a%3c dig is a DNS lookup utility which is invaluable for helping troubleshoot DNS errors.%0a%3c %0a%3c To lookup the IPv4 address of a hostname, run:%0a%3c %0a%3c [@%0a%3c $ dig example.ircnow.org%0a%3c ; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org%0a%3c ;; global options: +cmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 15341%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1%0a%3c %0a%3c ;; OPT PSEUDOSECTION:%0a%3c ; EDNS: version: 0, flags:; udp: 4096%0a%3c ;; QUESTION SECTION:%0a%3c ;example.ircnow.org. IN A%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c %0a%3c ;; Query time: 485 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Fri Aug 21 12:31:44 CST 2020%0a%3c ;; MSG SIZE rcvd: 55%0a%3c @]%0a%3c %0a%3c !! Success or Failure%0a%3c %0a%3c # @@status: NOERROR@@\\%0a%3c This indicates that the name lookup succeeded.%0a%3c # @@status: NXDOMAIN@@\\%0a%3c This indicates that the name server believes there are no records for the hostname. In other words, the name server for the zone exists, but the record does not.%0a%3c # @@;; connection timed out; no servers could be reached@@\\%0a%3c This indicates that your computer cannot reach the nameservers in /etc/resolv.conf. Please reconfigure your [[openbsd/unbound|local caching nameservers]].%0a%3c %0a%3c !! Answer Section%0a%3c %0a%3c [@%0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c @]%0a%3c %0a%3c The @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@A@@ means this is an A record (it tells you the IPv4 address), and the IP address 192.168.0.1.%0a%3c %0a%3c !! Other Details%0a%3c %0a%3c [@%0a%3c ;; Query time: 485 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c @]%0a%3c %0a%3c This tells you that it took 485 milliseconds to make the request, and that dig asked the nameserver 127.0.0.1 on port 53 for the answer. The server is very important because different nameservers might give different responses. For example, suppose you want to ask the two nameservers, @@ns1.ircnow.org@@ and @@ns2.ircnow.org@@, what the correct answer is:%0a%3c %0a%3c [@%0a%3c $ dig @ns1.ircnow.org example.ircnow.org%0a%3c $ dig @ns2.ircnow.org example.ircnow.org%0a%3c @]%0a%3c %0a%3c The two nameservers might give different answers!%0a%3c %0a%3c To test if your changes have propagated (other nameservers have synced), you can try testing other public nameservers like the ones offered by [[https://servers.opennic.org/|OpenNIC]].%0a%3c %0a%3c !! Getting Other Records%0a%3c %0a%3c By default, dig returns A records, but there are many other records:%0a%3c %0a%3c [@%0a%3c $ dig -t any example.ircnow.org # shows all records%0a%3c $ dig -t mx example.ircnow.org # shows MX (mail exchange) records%0a%3c $ dig -t ns example.ircnow.org # shows NS (nameserver) records%0a%3c $ dig -t aaaa example.ircnow.org # shows AAAA (IPv4) records%0a%3c $ dig -t txt example.ircnow.org # shows TXT (text) records%0a%3c @]%0a +host:1620091775=2001:470:ee05:0:9420:450a:63f3:8b5b blob - /dev/null blob + 9f3a9a35ef624a86e4a471759720126d6daa476b (mode 644) --- /dev/null +++ wiki.d/Dino.Connect @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:91.0) Gecko/20100101 Firefox/91.0 +author=mkf +charset=UTF-8 +csum= +ctime=1637676589 +host=2.178.131.21 +name=Dino.Connect +rev=2 +targets= +text=Attach:dino-1.png%0aAttach:dino-2.png%0aAttach:dino-3.png +time=1637676649 +author:1637676649=mkf +diff:1637676649:1637676589:=1,3c1,3%0a%3c Attach:dino-1.png%0a%3c Attach:dino-2.png%0a%3c Attach:dino-3.png%0a\ No newline at end of file%0a---%0a> Attach:dino-1.ext%0a> Attach:dino-2.ext%0a> Attach:dino-3.ext%0a\ No newline at end of file%0a +host:1637676649=2.178.131.21 +author:1637676589=mkf +diff:1637676589:1637676589:=1,3d0%0a%3c Attach:dino-1.ext%0a%3c Attach:dino-2.ext%0a%3c Attach:dino-3.ext%0a\ No newline at end of file%0a +host:1637676589=2.178.131.21 blob - /dev/null blob + d76201d34221cc778f57ce5f25702654ee2a9f34 (mode 644) --- /dev/null +++ wiki.d/Dino.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:91.0) Gecko/20100101 Firefox/91.0 +charset=UTF-8 +ctime=1637676589 +host=2.178.131.21 +name=Dino.RecentChanges +rev=2 +text=* [[Dino/Connect]] . . . November 23, 2021, at 02:10 PM by [[~mkf]]: [==]%0a +time=1637676649 blob - /dev/null blob + efdcaef279829b7fbf4a99ac3842b56c9fa36e1a (mode 644) --- /dev/null +++ wiki.d/Dkim.Dkimsign @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622795381 +host=38.81.163.143 +name=Dkim.Dkimsign +rev=10 +targets= +text=[@%0a$ doas groupadd -v _dkimsign%0a$ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a$ openssl genrsa -out private.key 1024%0a$ openssl rsa -in private.key -pubout -out public.key%0a$ chmod og-rwx private.key%0a$ chmod og-wx public.key%0a$ chmod u-w public.key private.key%0a$ doas mkdir /etc/mail/dkim%0a$ doas mv private.key public.key /etc/mail/dkim/%0a$ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a@]%0a +time=1622797625 +author:1622797625=jrmu +diff:1622797625:1622797343:=3c3%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _mail _dkimsign%0a---%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a +host:1622797625=38.81.163.143 +author:1622797343=jrmu +diff:1622797343:1622797231:=3c3%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign -G _smtpd _dkimsign%0a---%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign _dkimsign%0a +host:1622797343=38.81.163.143 +author:1622797231=jrmu +diff:1622797231:1622797011:=11c11%0a%3c $ doas chown -R _dkimsign:_dkimsign /etc/mail/dkim/%0a---%0a> $ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a +host:1622797231=38.81.163.143 +author:1622797011=jrmu +diff:1622797011:1622796888:=8d7%0a%3c $ chmod u-w public.key private.key%0a +host:1622797011=38.81.163.143 +author:1622796888=jrmu +diff:1622796888:1622796490:=6,7c6,7%0a%3c $ chmod og-rwx private.key%0a%3c $ chmod og-wx public.key%0a---%0a> $ chmod og-rwx /etc/mail/dkim/private.key%0a> $ chmod og-wx /etc/mail/dkim/public.key%0a +host:1622796888=38.81.163.143 +author:1622796490=jrmu +diff:1622796490:1622796147:=2,3d1%0a%3c $ doas groupadd -v _dkimsign%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign _dkimsign%0a6,10c4,7%0a%3c $ chmod og-rwx /etc/mail/dkim/private.key%0a%3c $ chmod og-wx /etc/mail/dkim/public.key%0a%3c $ doas mkdir /etc/mail/dkim%0a%3c $ doas mv private.key public.key /etc/mail/dkim/%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/dkim/%0a---%0a> $ doas groupadd -v _dkimsign%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign _dkimsign%0a> $ doas -u _dkimsign openssl genrsa -out /etc/mail/dkim/private.key 2048%0a> $ doas chmod o-r /etc/mail/dkim/private.key%0a +host:1622796490=38.81.163.143 +author:1622796147=jrmu +diff:1622796147:1622796026:=5c5%0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g _dkimsign _dkimsign%0a---%0a> $ doas useradd -s /sbin/nologin -d /var/empty -g=_dkimsign _dkimsign%0a +host:1622796147=38.81.163.143 +author:1622796026=jrmu +diff:1622796026:1622795440:=4d3%0a%3c $ doas groupadd -v _dkimsign%0a +host:1622796026=38.81.163.143 +author:1622795440=jrmu +diff:1622795440:1622795381:=1,3c1,5%0a%3c [@%0a%3c $ openssl genrsa -out private.key 1024%0a%3c $ openssl rsa -in private.key -pubout -out public.key%0a---%0a> openssl genrsa -out private.key 1024%0a> openssl rsa -in private.key -pubout -out public.key%0a> %0a> https://www.mail-tester.com%0a> %0a5c7,9%0a%3c $ doas -u _dkimsign openssl genrsa -out /etc/mail/dkim/private.key 2048%0a---%0a> %0a> doas -u _dkimsign openssl genrsa -out /etc/mail/dkim/private.key 2048%0a> %0a7d10%0a%3c @]%0a +host:1622795440=38.81.163.143 +author:1622795381=jrmu +diff:1622795381:1622795381:=1,10d0%0a%3c openssl genrsa -out private.key 1024%0a%3c openssl rsa -in private.key -pubout -out public.key%0a%3c %0a%3c https://www.mail-tester.com%0a%3c %0a%3c $ doas useradd -s /sbin/nologin -d /var/empty -g=_dkimsign _dkimsign%0a%3c %0a%3c doas -u _dkimsign openssl genrsa -out /etc/mail/dkim/private.key 2048%0a%3c %0a%3c $ doas chmod o-r /etc/mail/dkim/private.key%0a +host:1622795381=38.81.163.143 blob - /dev/null blob + e6413cbd656f8e70a81ef034b13d9729e653140c (mode 644) --- /dev/null +++ wiki.d/Dkim.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1622795381 +host=38.81.163.143 +name=Dkim.RecentChanges +rev=10 +text=* [[Dkim/Dkimsign]] . . . June 04, 2021, at 09:07 AM by [[~jrmu]]: [==]%0a +time=1622797625 blob - /dev/null blob + d6ad0e2b23be555becc736f572ddeac69c4201a9 (mode 644) --- /dev/null +++ wiki.d/Dns.Dns @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612420334 +host=198.251.81.119 +name=Dns.Dns +rev=1 +targets=Openbsd.IPv4,Openbsd.Ipv6,CloudFlare.Cons,Dns.Domain,Dns.Zonefile,Dns.Providers,Dns.Records,Openbsd.Nsd,Openbsd.Vhost,Openbsd.Dig,Openbsd.Host,Openbsd.Unbound +text=(:title Domain Name System:)%0a%0a!! Too Many IPs%0a%0aThere are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%0a!! How DNS works%0a%0aTo perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%0aDNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%0aA distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%0aTo achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%0aThis distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%0aBecause DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a%0a!! Domains%0a%0aLet's take a look at a hostname like example.ircnow.org:%0a%0aAt the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%0aUsually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%0aOnce you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a%0a!! Setting up name server%0a%0aIf you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%0aFor the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a%0aSee Also:%0a%0a|| [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a|| [[openbsd/unbound]] || [[openbsd/nsd|NSD]] || +time=1612420334 +title=Domain Name System +author:1612420334=jrmu +diff:1612420334:1612420334:=1,40d0%0a%3c (:title Domain Name System:)%0a%3c %0a%3c !! Too Many IPs%0a%3c %0a%3c There are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%3c %0a%3c !! How DNS works%0a%3c %0a%3c To perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%3c %0a%3c DNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%3c %0a%3c A distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%3c %0a%3c To achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%3c %0a%3c This distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%3c %0a%3c Because DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a%3c %0a%3c !! Domains%0a%3c %0a%3c Let's take a look at a hostname like example.ircnow.org:%0a%3c %0a%3c At the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%3c %0a%3c Usually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%3c %0a%3c Once you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a%3c %0a%3c !! Setting up name server%0a%3c %0a%3c If you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%3c %0a%3c For the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a%3c %0a%3c See Also:%0a%3c %0a%3c || [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a%3c || [[openbsd/unbound]] || [[openbsd/nsd|NSD]] ||%0a\ No newline at end of file%0a +host:1612420334=198.251.81.119 blob - /dev/null blob + d61e1b611d2c7f9e1999472e39ee596530b4c6d2 (mode 644) --- /dev/null +++ wiki.d/Dns.FQDN @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612418196 +host=198.251.81.119 +name=Dns.FQDN +rev=10 +targets=Dns.Registrars,Dns.Zonefile,Dns.Records,Openbsd.Vhost,Openbsd.Dig,Openbsd.Host,Openbsd.Nsd,Openbsd.Unbound +text=(:title Fully Qualified Domain Name:)%0a%0aA Fully Qualified Domain Name (FQDN) is a domain that is identified all the way up to root.%0a%0aRemember, the very top level of the domain name system is root, a simple period: . After that comes the top-level domain like com., net., and org., and after that comes the second-level domain you purchase at a [[dns/registrars|registrar]] like ircnow.org.%0a%0aFor example, example.com. is a FQDN because it has a period at the very end. On the other hand, example.com is not a FQDN because it lacks the period at the very end.%0a%0aIn short: '''Look for the dot at the end!'''%0a%0a!! $ORIGIN%0a%0a[[dns/zonefile|Zone files]] automatically append the $ORIGIN at the end of every name in a zone file unless it is a FQDN. For example, this zone file snippet does something completely unexpected:%0a%0a[@%0a$ORIGIN example.com.%0awww.example.com IN A 10.0.0.1%0a@]%0a%0aThe name server will append example.com to the end of www.example.com to give you www.example.com.example.com. Instead of defining www.example.com's IP to be 10.0.0.1, it defines www.example.com.example.com's IP to be 10.0.0.1. That's probably '''NOT''' what you want.%0a%0aThe reason why the zone file appends $ORIGIN to the end of every name is to make it easier to write the zone file using shorthand:%0a%0a[@%0a$ORIGIN example.com.%0awww IN A 10.0.0.1%0a@]%0a%0aHere, instead of defining www's IP to be 10.0.0.1 (which would be impossible anyway since we don't own the www top level domain), the name server will append $ORIGIN at the end of www. This means that www.example.com's IP is 10.0.0.1.%0a%0aAny name you see in a zone file will automatically be appended with the current $ORIGIN unless it's a FQDN (unless it has a period at the end). For example:%0a%0a[@%0a$ORIGIN example.com.%0a IN NS ns1%0a IN NS ns2%0awww IN A 10.0.0.1%0ans1 IN A 10.0.0.2%0ans2 IN A 10.0.0.3%0airc IN CNAME www%0amail IN CNAME mail.ircnow.org.%0a@]%0a%0aWhen there is no name entry at all but a name is still needed, $ORIGIN is used. So the [[dns/records|NS record]] for the 'blank' name means that example.com.'s nameservers are ns1.example.com. and ns2.example.com. These have IPs 10.0.0.2 and 10.0.0.3.%0a%0awww.example.com. has IP 10.0.0.1, and irc.example.com. has a [[dns/records|CNAME record]] that points to www.example.com. So, irc.example.com. also has IP 10.0.0.1.%0a%0amail.example.com, however, has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a%0a|| [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a|| [[openbsd/unbound]] || [[openbsd/nsd|NSD]] || +time=1612420273 +title=Fully Qualified Domain Name +author:1612420273=jrmu +diff:1612420273:1612420226:=48c48%0a%3c mail.example.com, however, has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a---%0a> mail.example.com however has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a +host:1612420273=198.251.81.119 +author:1612420226=jrmu +diff:1612420226:1612420104:=44c44%0a%3c When there is no name entry at all but a name is still needed, $ORIGIN is used. So the [[dns/records|NS record]] for the 'blank' name means that example.com.'s nameservers are ns1.example.com. and ns2.example.com. These have IPs 10.0.0.2 and 10.0.0.3.%0a---%0a> When there is no name entry at all but a name is still needed, $ORIGIN is used. So the nameserver record for the 'blank' name means that example.com.'s nameservers are ns1.example.com. and ns2.example.com. These have IPs 10.0.0.2 and 10.0.0.3.%0a +host:1612420226=198.251.81.119 +author:1612420104=jrmu +diff:1612420104:1612420014:=5c5%0a%3c Remember, the very top level of the domain name system is root, a simple period: . After that comes the top-level domain like com., net., and org., and after that comes the second-level domain you purchase at a [[dns/registrars|registrar]] like ircnow.org.%0a---%0a> Remember, the very top level of the domain name system is root, a simple period: . After that comes the top-level domain like com., net., and org., and after that comes the second-level domain you purchase at a [[dns/registrar|registrar]] like ircnow.org.%0a +host:1612420104=198.251.81.119 +author:1612420014=jrmu +diff:1612420014:1612419972:=48,51c48%0a%3c mail.example.com however has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a%3c %0a%3c || [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a%3c || [[openbsd/unbound]] || [[openbsd/nsd|NSD]] ||%0a\ No newline at end of file%0a---%0a> mail.example.com however has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a\ No newline at end of file%0a +host:1612420014=198.251.81.119 +author:1612419972=jrmu +diff:1612419972:1612419721:=34,36c34%0a%3c $ORIGIN example.com.%0a%3c IN NS ns1%0a%3c IN NS ns2%0a---%0a> @ORIGIN example.com.%0a39a38,39%0a> IN NS ns1%0a> IN NS ns2%0a41d40%0a%3c mail IN CNAME mail.ircnow.org.%0a44,48d42%0a%3c When there is no name entry at all but a name is still needed, $ORIGIN is used. So the nameserver record for the 'blank' name means that example.com.'s nameservers are ns1.example.com. and ns2.example.com. These have IPs 10.0.0.2 and 10.0.0.3.%0a%3c %0a%3c www.example.com. has IP 10.0.0.1, and irc.example.com. has a [[dns/records|CNAME record]] that points to www.example.com. So, irc.example.com. also has IP 10.0.0.1.%0a%3c %0a%3c mail.example.com however has a CNAME which points to the FQDN mail.ircnow.org. $ORIGIN is not appended here because there is a dot at the very end.%0a\ No newline at end of file%0a +host:1612419972=198.251.81.119 +author:1612419721=jrmu +diff:1612419721:1612419455:= +host:1612419721=198.251.81.119 +author:1612419455=jrmu +diff:1612419455:1612419281:= +host:1612419455=198.251.81.119 +author:1612419281=jrmu +diff:1612419281:1612418860:=9,10c9,10%0a%3c In short: '''Look for the dot at the end!'''%0a%3c %0a---%0a> '''Look for the dot at the end!'''%0a> %0a13,14c13,14%0a%3c [[dns/zonefile|Zone files]] automatically append the $ORIGIN at the end of every name in a zone file unless it is a FQDN. For example, this zone file snippet does something completely unexpected:%0a%3c %0a---%0a> [[dns/zonefile|Zone files]] automatically append the $ORIGIN at the end of a zone file, so:%0a> %0a20,23c20,25%0a%3c The name server will append example.com to the end of www.example.com to give you www.example.com.example.com. Instead of defining www.example.com's IP to be 10.0.0.1, it defines www.example.com.example.com's IP to be 10.0.0.1. That's probably '''NOT''' what you want.%0a%3c %0a%3c The reason why the zone file appends $ORIGIN to the end of every name is to make it easier to write the zone file using shorthand:%0a%3c %0a---%0a> This does something completely unexpected. The name server will append example.com to the end of www.example.com to give you www.example.com.example.com.!%0a> %0a> Instead of defining www.example.com's IP to be 10.0.0.1, it defines www.example.com.example.com's IP to be 10.0.0.1.%0a> %0a> The reason why the zone file appends $ORIGIN to the end of every entry is to make it easier to write the zone file using shorthand:%0a> %0a29,42c31%0a%3c Here, instead of defining www's IP to be 10.0.0.1 (which would be impossible anyway since we don't own the www top level domain), the name server will append $ORIGIN at the end of www. This means that www.example.com's IP is 10.0.0.1.%0a%3c %0a%3c Any name you see in a zone file will automatically be appended with the current $ORIGIN unless it's a FQDN (unless it has a period at the end). For example:%0a%3c %0a%3c [@%0a%3c @ORIGIN example.com.%0a%3c www IN A 10.0.0.1%0a%3c ns1 IN A 10.0.0.2%0a%3c ns2 IN A 10.0.0.3%0a%3c IN NS ns1%0a%3c IN NS ns2%0a%3c irc IN CNAME www%0a%3c @]%0a%3c %0a---%0a> Instead of defining www's IP to be 10.0.0.1 (which would be impossible since you don't own the www top level domain), this will append $ORIGIN at the end of www to define www.example.com's IP to be 10.0.0.1.%0a\ No newline at end of file%0a +host:1612419281=198.251.81.119 +author:1612418860=jrmu +diff:1612418860:1612418196:=3,13c3,8%0a%3c A Fully Qualified Domain Name (FQDN) is a domain that is identified all the way up to root.%0a%3c %0a%3c Remember, the very top level of the domain name system is root, a simple period: . After that comes the top-level domain like com., net., and org., and after that comes the second-level domain you purchase at a [[dns/registrar|registrar]] like ircnow.org.%0a%3c %0a%3c For example, example.com. is a FQDN because it has a period at the very end. On the other hand, example.com is not a FQDN because it lacks the period at the very end.%0a%3c %0a%3c '''Look for the dot at the end!'''%0a%3c %0a%3c !! $ORIGIN%0a%3c %0a%3c [[dns/zonefile|Zone files]] automatically append the $ORIGIN at the end of a zone file, so:%0a---%0a> A Fully Qualified Domain Name (FQDN) is a domain where the domain is identified all the way up to root.%0a> %0a> For example, www.example.com. is a FQDN because it has a period at the very end.%0a> On the other hand, www.example.com is not a FQDN because it lacks the period at the very end.%0a> %0a> Zone files automatically append the $ORIGIN at the end of a zone file, so:%0a +host:1612418860=198.251.81.119 +author:1612418196=jrmu +diff:1612418196:1612418196:=1,26d0%0a%3c (:title Fully Qualified Domain Name:)%0a%3c %0a%3c A Fully Qualified Domain Name (FQDN) is a domain where the domain is identified all the way up to root.%0a%3c %0a%3c For example, www.example.com. is a FQDN because it has a period at the very end.%0a%3c On the other hand, www.example.com is not a FQDN because it lacks the period at the very end.%0a%3c %0a%3c Zone files automatically append the $ORIGIN at the end of a zone file, so:%0a%3c %0a%3c [@%0a%3c $ORIGIN example.com.%0a%3c www.example.com IN A 10.0.0.1%0a%3c @]%0a%3c %0a%3c This does something completely unexpected. The name server will append example.com to the end of www.example.com to give you www.example.com.example.com.!%0a%3c %0a%3c Instead of defining www.example.com's IP to be 10.0.0.1, it defines www.example.com.example.com's IP to be 10.0.0.1.%0a%3c %0a%3c The reason why the zone file appends $ORIGIN to the end of every entry is to make it easier to write the zone file using shorthand:%0a%3c %0a%3c [@%0a%3c $ORIGIN example.com.%0a%3c www IN A 10.0.0.1%0a%3c @]%0a%3c %0a%3c Instead of defining www's IP to be 10.0.0.1 (which would be impossible since you don't own the www top level domain), this will append $ORIGIN at the end of www to define www.example.com's IP to be 10.0.0.1.%0a\ No newline at end of file%0a +host:1612418196=198.251.81.119 blob - /dev/null blob + cc55cb2d7925504f093107a56d38053bc01af9c4 (mode 644) --- /dev/null +++ wiki.d/Dns.Overview @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614237183 +host=198.251.81.119 +name=Dns.Overview +rev=1 +targets=Openbsd.IPv4,Openbsd.Ipv6,CloudFlare.Cons,Dns.Domain,Dns.Zonefile,Dns.Providers,Dns.Records,Openbsd.Nsd,Openbsd.Vhost,Openbsd.Dig,Openbsd.Host,Openbsd.Unbound +text=(:title Domain Name System:)%0a%0a!! Too Many IPs%0a%0aThere are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%0a!! How DNS works%0a%0aTo perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%0aDNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%0aA distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%0aTo achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%0aThis distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%0aBecause DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a%0a!! Domains%0a%0aLet's take a look at a hostname like example.ircnow.org:%0a%0aAt the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%0aUsually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%0aOnce you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a%0a!! Setting up name server%0a%0aIf you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%0aFor the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a%0aSee Also:%0a%0a|| [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a|| [[openbsd/unbound]] || [[openbsd/nsd|NSD]] || +time=1614237183 +title=Domain Name System +author:1614237183=jrmu +diff:1614237183:1614237183:=1,40d0%0a%3c (:title Domain Name System:)%0a%3c %0a%3c !! Too Many IPs%0a%3c %0a%3c There are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%3c %0a%3c !! How DNS works%0a%3c %0a%3c To perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%3c %0a%3c DNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%3c %0a%3c A distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%3c %0a%3c To achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%3c %0a%3c This distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%3c %0a%3c Because DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a%3c %0a%3c !! Domains%0a%3c %0a%3c Let's take a look at a hostname like example.ircnow.org:%0a%3c %0a%3c At the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%3c %0a%3c Usually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%3c %0a%3c Once you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a%3c %0a%3c !! Setting up name server%0a%3c %0a%3c If you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%3c %0a%3c For the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a%3c %0a%3c See Also:%0a%3c %0a%3c || [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a%3c || [[openbsd/unbound]] || [[openbsd/nsd|NSD]] ||%0a\ No newline at end of file%0a +host:1614237183=198.251.81.119 blob - /dev/null blob + e82453e0efd23b5b056b13c18af614935bd53cfa (mode 644) --- /dev/null +++ wiki.d/Dns.Providers @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612412869 +host=198.251.81.119 +name=Dns.Providers +rev=1 +targets= +text=%0a!! Registering a domain%0a%0aTo register your own domain, you need to pay an annual fee from a name registrar. There are also free services that offer free subdomains like [[https://freedns.afraid.org|freedns.afraid.org]].%0a +time=1612412869 +author:1612412869=jrmu +diff:1612412869:1612412869:=1,4d0%0a%3c %0a%3c !! Registering a domain%0a%3c %0a%3c To register your own domain, you need to pay an annual fee from a name registrar. There are also free services that offer free subdomains like [[https://freedns.afraid.org|freedns.afraid.org]].%0a +host:1612412869=198.251.81.119 blob - /dev/null blob + 5119bf4a38daf0a91b95ad773fdab3808dc7fd62 (mode 644) --- /dev/null +++ wiki.d/Dns.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +charset=UTF-8 +ctime=1612412869 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Dns.RecentChanges +rev=62 +text=* [[Dns/Records]] . . . November 10, 2021, at 12:16 PM by [[~Hawk]]: [==]%0a* [[Dns/Registrars]] . . . September 15, 2021, at 07:44 AM by [[~jrmu]]: [==]%0a* [[Dns/Zonefile]] . . . August 03, 2021, at 09:21 AM by [[~jrmu]]: [==]%0a* [[Dns/Vhost]] . . . July 28, 2021, at 03:05 AM by [[~jrmu]]: [==]%0a* [[Dns/Overview]] . . . February 25, 2021, at 07:13 AM by [[~jrmu]]: [==]%0a* [[Dns/Dns]] . . . February 04, 2021, at 06:32 AM by [[~jrmu]]: [==]%0a* [[Dns/FQDN]] . . . February 04, 2021, at 06:31 AM by [[~jrmu]]: [==]%0a* [[Dns/Providers]] . . . February 04, 2021, at 04:27 AM by [[~jrmu]]: [==]%0a +time=1636546601 blob - /dev/null blob + 97a4b8daf24a9d6e52a41ef7db378b592019c65d (mode 644) --- /dev/null +++ wiki.d/Dns.Records @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1612413108 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Dns.Records +rev=11 +targets=Dns.Zonefile,DNS.RDNS,DNS.SPF,DNS.DKIM +text=(:title DNS Resource Records:)%0a%0aEach [[dns/zonefile|zonefile]] can contain many resource records.%0a%0a|| border=1 align=center%0a||! Record Type ||! Description ||%0a|| A||IPv4 Address record || %0a|| AAAA||IPv6 Address record ||%0a|| CNAME||Canonical Name: a name (an alias) which redirects to another a host. ||%0a|| MX||Mail eXchange record: includes a preference value for the mail server. ||%0a|| NS||Name Server ||%0a|| PTR||PoinTeR record: used to [[DNS/RDNS|reverse map]] IP addresses to hostnames. ||%0a|| SOA||Start of Authority: provides the name of the zone, email address, and other data. ||%0a|| SRV||SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a|| TXT||TeXT record: any text can be provided with a name, such as an [[DNS/SPF|SPF record]] or a [[DNS/DKIM|DKIM record]] ||%0a!! Creating DNS records%0a%0aEach record in the zone file is written in this format:%0a%0aName TTL Class Type Data%0a%0a; zone file for example.com%0a$TTL 2d ; 172800 secs default TTL for zone%0a$ORIGIN example.com.%0a@ IN SOA ns1.example.com. hostmaster.example.com. (%0a 2003080800 ; se = serial number%0a 12h ; ref = refresh%0a 15m ; ret = update retry%0a 3w ; ex = expiry%0a 3h ; min = minimum%0a )%0a IN NS ns1.example.com.%0a IN MX 10 mail.example.net.%0ajoe IN A 192.168.254.3%0awww IN CNAME joe %0a%0a%0a%0a +time=1636546601 +title=DNS Resource Records +author:1636546601=Hawk +diff:1636546601:1612421853:minor=12c12%0a%3c || PTR||PoinTeR record: used to [[DNS/RDNS|reverse map]] IP addresses to hostnames. ||%0a---%0a> || PTR||PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a15c15%0a%3c || TXT||TeXT record: any text can be provided with a name, such as an [[DNS/SPF|SPF record]] or a [[DNS/DKIM|DKIM record]] ||%0a---%0a> || TXT||TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a +host:1636546601=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1612421853=jrmu +diff:1612421853:1612421748:=5c5%0a%3c || border=1 align=center%0a---%0a> || border=1 align=center width=70%25%0a18,21c18,25%0a%3c Each record in the zone file is written in this format:%0a%3c %0a%3c Name TTL Class Type Data%0a%3c %0a---%0a> For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a> %0a> || A || IPv4 address || 192.168.0.1 ||%0a> || AAAA || IPv6 address || 2001:0db8:: ||%0a> || NS || Nameserver Hostname || ns1.example.com. ||%0a> || MX || Mailserver Hostname || mail.example.com. ||%0a> || TXT || Extra Information || ||%0a> %0a38c42%0a%3c %0a---%0a> || Name || TTL || Class || Type || Data ||%0a +host:1612421853=198.251.81.119 +author:1612421748=jrmu +diff:1612421748:1612421703:=5c5%0a%3c || border=1 align=center width=70%25%0a---%0a> || border=1 align=center width=70%25 cellpadding=5%0a +host:1612421748=198.251.81.119 +author:1612421703=jrmu +diff:1612421703:1612421661:=5c5%0a%3c || border=1 align=center width=70%25 cellpadding=5%0a---%0a> || border=1 align=center width=70%25%0a +host:1612421703=198.251.81.119 +author:1612421661=jrmu +diff:1612421661:1612421637:=5c5%0a%3c || border=1 align=center width=70%25%0a---%0a> || border=1 width=70%25%0a +host:1612421661=198.251.81.119 +author:1612421637=jrmu +diff:1612421637:1612421556:=5c5%0a%3c || border=1 width=70%25%0a---%0a> || border=1 width=100%25%0a +host:1612421637=198.251.81.119 +author:1612421556=jrmu +diff:1612421556:1612421452:=7,15c7,15%0a%3c || A||IPv4 Address record || %0a%3c || AAAA||IPv6 Address record ||%0a%3c || CNAME||Canonical Name: a name (an alias) which redirects to another a host. ||%0a%3c || MX||Mail eXchange record: includes a preference value for the mail server. ||%0a%3c || NS||Name Server ||%0a%3c || PTR||PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a%3c || SOA||Start of Authority: provides the name of the zone, email address, and other data. ||%0a%3c || SRV||SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a%3c || TXT||TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a---%0a> || A || IPv4 Address record || %0a> || AAAA || IPv6 Address record ||%0a> || CNAME || Canonical Name: a name (an alias) which redirects to another a host. ||%0a> || MX || Mail eXchange record: includes a preference value for the mail server. ||%0a> || NS || Name Server ||%0a> || PTR || PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a> || SOA || Start of Authority: provides the name of the zone, email address, and other data. ||%0a> || SRV || SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a> || TXT || TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a +host:1612421556=198.251.81.119 +author:1612421452=jrmu +diff:1612421452:1612421200:=3,4c3,6%0a%3c Each [[dns/zonefile|zonefile]] can contain many resource records.%0a%3c %0a---%0a> !! Creating DNS records%0a> %0a> For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a> %0a6,19c8%0a%3c ||! Record Type ||! Description ||%0a%3c || A || IPv4 Address record || %0a%3c || AAAA || IPv6 Address record ||%0a%3c || CNAME || Canonical Name: a name (an alias) which redirects to another a host. ||%0a%3c || MX || Mail eXchange record: includes a preference value for the mail server. ||%0a%3c || NS || Name Server ||%0a%3c || PTR || PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a%3c || SOA || Start of Authority: provides the name of the zone, email address, and other data. ||%0a%3c || SRV || SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a%3c || TXT || TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a%3c !! Creating DNS records%0a%3c %0a%3c For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a%3c %0a---%0a> ||! Record Type ||! Provides || Example ||%0a42a32,41%0a> %0a> || A || IPv4 Address record ||%0a> || AAAA || IPv6 Address record ||%0a> || CNAME || Canonical Name: a name (an alias) which redirects to another a host. ||%0a> || MX || Mail eXchange record: includes a preference value for the mail server. ||%0a> || NS || Name Server ||%0a> || PTR || PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a> || SOA || Start of Authority: provides the name of the zone, email address, and other data. ||%0a> || SRV || SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a> || TXT || TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a\ No newline at end of file%0a +host:1612421452=198.251.81.119 +author:1612421200=jrmu +diff:1612421200:1612421174:=32d31%0a%3c %0a +host:1612421200=198.251.81.119 +author:1612421174=jrmu +diff:1612421174:1612413108:=1,2c1%0a%3c (:title DNS Resource Records:)%0a%3c %0a---%0a> %0a13,40c12%0a%3c || TXT || Extra Information || ||%0a%3c %0a%3c ; zone file for example.com%0a%3c $TTL 2d ; 172800 secs default TTL for zone%0a%3c $ORIGIN example.com.%0a%3c @ IN SOA ns1.example.com. hostmaster.example.com. (%0a%3c 2003080800 ; se = serial number%0a%3c 12h ; ref = refresh%0a%3c 15m ; ret = update retry%0a%3c 3w ; ex = expiry%0a%3c 3h ; min = minimum%0a%3c )%0a%3c IN NS ns1.example.com.%0a%3c IN MX 10 mail.example.net.%0a%3c joe IN A 192.168.254.3%0a%3c www IN CNAME joe %0a%3c %0a%3c %0a%3c || Name || TTL || Class || Type || Data ||%0a%3c || A || IPv4 Address record ||%0a%3c || AAAA || IPv6 Address record ||%0a%3c || CNAME || Canonical Name: a name (an alias) which redirects to another a host. ||%0a%3c || MX || Mail eXchange record: includes a preference value for the mail server. ||%0a%3c || NS || Name Server ||%0a%3c || PTR || PoinTeR record: used to [[dns/RDNS|reverse map]] IP addresses to hostnames. ||%0a%3c || SOA || Start of Authority: provides the name of the zone, email address, and other data. ||%0a%3c || SRV || SeRVices record: lists the services available such as SIP, XMPP, LDAP, HTTP. This helps for discovering services. ||%0a%3c || TXT || TeXT record: any text can be provided with a name, such as an [[dns/spf|SPF record]] or a [[dns/dkim|DKIM record]] ||%0a\ No newline at end of file%0a---%0a> || TXT || Extra Information || ||%0a\ No newline at end of file%0a +host:1612421174=198.251.81.119 +author:1612413108=jrmu +diff:1612413108:1612413108:=1,12d0%0a%3c %0a%3c !! Creating DNS records%0a%3c %0a%3c For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a%3c %0a%3c || border=1 width=100%25%0a%3c ||! Record Type ||! Provides || Example ||%0a%3c || A || IPv4 address || 192.168.0.1 ||%0a%3c || AAAA || IPv6 address || 2001:0db8:: ||%0a%3c || NS || Nameserver Hostname || ns1.example.com. ||%0a%3c || MX || Mailserver Hostname || mail.example.com. ||%0a%3c || TXT || Extra Information || ||%0a\ No newline at end of file%0a +host:1612413108=198.251.81.119 blob - /dev/null blob + afcbac9242a4ab35c4d240a15276bcd0064c6fd7 (mode 644) --- /dev/null +++ wiki.d/Dns.Registrars @@ -0,0 +1,118 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612414499 +host=38.87.162.8 +name=Dns.Registrars +rev=35 +targets= +text=(:title Searching for Name Registrars:)%0a%0a!! Guidelines%0a%0a!!! Check the Acceptable Use Policy:%0a%0a# Does this registrar censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political and religious censorship.%0a# In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. However, a better provider will insist upon a legal court order before it censors.%0a# What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a# Does the registrar allow: IRC, email, tor, game servers, VPNs, DNS servers, torrents and filesharing%0a%0a!!! Other Important Criteria:%0a%0a# Which country is this registrar legally operating in?%0a# How long has this registrar been operating?%0a# Does it have a good reputation?%0a# Can you easily reach customer support?%0a# What payment options do they accept? Cryptcoins are best.%0a%0aSend an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another registrar. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have your money.%0a%0a!! Domains%0a%0aWe want a mixture of .com, .net, .org [[https://en.wikipedia.org/wiki/List_of_top_level_domains|top-level domains]] and localized country-code TLDs like .uk, .pk, .in, .cn, .ru, .my, .ph, and so forth. We want to spread out and increase the diversity of our domain registrations in different countries to make our network difficult to censor.%0a%0aWe want to avoid commercially owned TLDs owned by Donuts, Google, Amazon, Afilias, and Uniregistry. New domains such as .network, .chat, and .talk may sound cool, but these are owned by private companies who can censor at any time. Most countries have laws protecting freedom of the press and freedom of religion; if your domain is seized unfairly, you can appeal in a court of law. Private corporations offer no such protections. It is therefore safer to register a .com, .net, or .org, or a country-code TLD.%0a%0aOur current domains include:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Domains ||! com ||! net ||! org ||! ru ||! hk ||! sg ||! my ||! uk ||! nl ||! se ||! il ||! ph ||! th ||! ph ||! lb ||! sa ||! au ||! tr ||%0a|| ircnow || || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a|| breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a|| nastycode || ✓ || x || x || || || || || || || || || || || || || || || ||%0a|| lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a%0a!! Possible Providers%0a%0a|| Website || Location || Notes ||%0a|| [[https://njal.la]] || Nevis || '''WARNING: [[https://twitter.com/brokep/status/1349070090990465026|censors right-wing content]]''' (left-wing privacy focused) ||%0a|| [[https://epik.com]] || USA || '''WARNING: May have been hacked''' right-wing freedom of speech focused ||%0a|| [[https://www.nearlyfreespeech.net/services/domains]] || USA || privacy/free speech focused ||%0a|| [[https://dot.ph]] || Phillipines || Official ||%0a|| [[https://mynic.my]] || Malaysia || Official ||%0a|| [[https://www.hkdnr.hk/]] || Hong Kong || Official ||%0a|| [[http://www.cnnic.cn/]] || China || Official ||%0a|| [[https://www.traficom.fi/]] || Finland || Official ||%0a|| [[https://www.nominet.uk/]] || UK || Official ||%0a|| [[https://cctld.ru/]] || Russia || Official ||%0a|| [[https://www.sidn.nl/]] || Netherlands || Official ||%0a|| [[http://www.isoc.org.il/]] || Israeli || Official ||%0a|| [[http://www.thnic.co.th/]] || Thailand || Official ||%0a|| [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey || Official ||%0a|| [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia || Official ||%0a|| [[https://www.registry.in/]] || India || Official ||%0a|| [[http://registro.br/]] || Brazil || Official ||%0a|| [[https://punto.pe/]] || Peru || Official ||%0a|| [[https://www.pknic.net.pk/]] || Pakistan || Official ||%0a|| [[http://www.nic.cu/]] || Cuba || Official ||%0a%0a!! Free Providers%0a%0aFree providers are not recommended because they lack a contract and service guarantee. Your domains could be revoked at any time.%0a%0aFree providers are fun to play with, but don't rely on them for serious work on IRCNow.%0a%0a# [[https://freedns.afraid.org/|FreeDNS]]: Commonly used on IRC%0a%0a!! Paid Providers%0a%0ahttps://www.pipeten.com/support/policy/core/aup/%0a%0aFactual Accuracy Material published to or transmitted through %0aPipe Ten’s servers must be accurate where stating facts.%0aDoesn't censor politics but does censor misinfo +time=1631691860 +title=Searching for Name Registrars +author:1631691860=jrmu +diff:1631691860:1631691812:=42c42%0a%3c || [[https://www.nearlyfreespeech.net/services/domains]] || USA || privacy/free speech focused ||%0a---%0a> || [[https://https://www.nearlyfreespeech.net/services/domains]] || USA || privacy/free speech focused ||%0a +host:1631691860=38.87.162.8 +author:1631691812=jrmu +diff:1631691812:1615978014:=41,42c41%0a%3c || [[https://epik.com]] || USA || '''WARNING: May have been hacked''' right-wing freedom of speech focused ||%0a%3c || [[https://https://www.nearlyfreespeech.net/services/domains]] || USA || privacy/free speech focused ||%0a---%0a> || [[https://epik.com]] || USA || right-wing freedom of speech focused ||%0a +host:1631691812=38.87.162.8 +author:1615978014=jrmu +diff:1615978014:1612933949:=40c40%0a%3c || [[https://njal.la]] || Nevis || '''WARNING: [[https://twitter.com/brokep/status/1349070090990465026|censors right-wing content]]''' (left-wing privacy focused) ||%0a---%0a> || [[https://njal.la]] || Nevis || left-wing privacy focused ||%0a +host:1615978014=198.251.81.119 +author:1612933949=jrmu +diff:1612933949:1612693681:=66,74c66%0a%3c # [[https://freedns.afraid.org/|FreeDNS]]: Commonly used on IRC%0a%3c %0a%3c !! Paid Providers%0a%3c %0a%3c https://www.pipeten.com/support/policy/core/aup/%0a%3c %0a%3c Factual Accuracy Material published to or transmitted through %0a%3c Pipe Ten’s servers must be accurate where stating facts.%0a%3c Doesn't censor politics but does censor misinfo%0a\ No newline at end of file%0a---%0a> # [[https://freedns.afraid.org/|FreeDNS]]: Commonly used on IRC%0a\ No newline at end of file%0a +host:1612933949=125.231.27.112 +author:1612693681=jrmu +diff:1612693681:1612692825:=42,58c42,57%0a%3c || [[https://dot.ph]] || Phillipines || Official ||%0a%3c || [[https://mynic.my]] || Malaysia || Official ||%0a%3c || [[https://www.hkdnr.hk/]] || Hong Kong || Official ||%0a%3c || [[http://www.cnnic.cn/]] || China || Official ||%0a%3c || [[https://www.traficom.fi/]] || Finland || Official ||%0a%3c || [[https://www.nominet.uk/]] || UK || Official ||%0a%3c || [[https://cctld.ru/]] || Russia || Official ||%0a%3c || [[https://www.sidn.nl/]] || Netherlands || Official ||%0a%3c || [[http://www.isoc.org.il/]] || Israeli || Official ||%0a%3c || [[http://www.thnic.co.th/]] || Thailand || Official ||%0a%3c || [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey || Official ||%0a%3c || [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia || Official ||%0a%3c || [[https://www.registry.in/]] || India || Official ||%0a%3c || [[http://registro.br/]] || Brazil || Official ||%0a%3c || [[https://punto.pe/]] || Peru || Official ||%0a%3c || [[https://www.pknic.net.pk/]] || Pakistan || Official ||%0a%3c || [[http://www.nic.cu/]] || Cuba || Official ||%0a---%0a> || [[https://dot.ph]] || Phillipines || Government ||%0a> || [[https://mynic.my]] || Malaysia || Government ||%0a> || [[https://www.hkdnr.hk/]] || Hong Kong || Government ||%0a> || [[http://www.cnnic.cn/]] || China || Government ||%0a> || [[https://www.traficom.fi/]] || Finland || Government ||%0a> || [[https://www.nominet.uk/]] || UK || Government ||%0a> || [[https://cctld.ru/]] || Russia || Government ||%0a> || [[https://www.sidn.nl/]] || Netherlands || Government ||%0a> || [[http://www.isoc.org.il/]] || Israeli || Government ||%0a> || [[http://www.thnic.co.th/]] || Thailand || Government ||%0a> || [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey || Government ||%0a> || [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia || Government ||%0a> || [[https://www.registry.in/]] || India || Government ||%0a> || [[http://registro.br/]] || Brazil || Government ||%0a> || [[https://punto.pe/]] || Peru || Government ||%0a> || [[https://www.pknic.net.pk/]] || Pakistan || Government ||%0a +host:1612693681=198.251.81.119 +author:1612692825=jrmu +diff:1612692825:1612692774:=52,53c52,53%0a%3c || [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey || Government ||%0a%3c || [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia || Government ||%0a---%0a> || [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey Registrar || Government ||%0a> || [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia Registrar || Government ||%0a +host:1612692825=198.251.81.119 +author:1612692774=jrmu +diff:1612692774:1612691944:=57d56%0a%3c || [[https://www.pknic.net.pk/]] || Pakistan || Government ||%0a +host:1612692774=198.251.81.119 +author:1612691944=jrmu +diff:1612691944:1612691721:=56d55%0a%3c || [[https://punto.pe/]] || Peru || Government ||%0a +host:1612691944=198.251.81.119 +author:1612691721=jrmu +diff:1612691721:1612691512:=55d54%0a%3c || [[http://registro.br/]] || Brazil || Government ||%0a +host:1612691721=198.251.81.119 +author:1612691512=jrmu +diff:1612691512:1612690497:=39,54c39,52%0a%3c || Website || Location || Notes ||%0a%3c || [[https://njal.la]] || Nevis || left-wing privacy focused ||%0a%3c || [[https://epik.com]] || USA || right-wing freedom of speech focused ||%0a%3c || [[https://dot.ph]] || Phillipines || Government ||%0a%3c || [[https://mynic.my]] || Malaysia || Government ||%0a%3c || [[https://www.hkdnr.hk/]] || Hong Kong || Government ||%0a%3c || [[http://www.cnnic.cn/]] || China || Government ||%0a%3c || [[https://www.traficom.fi/]] || Finland || Government ||%0a%3c || [[https://www.nominet.uk/]] || UK || Government ||%0a%3c || [[https://cctld.ru/]] || Russia || Government ||%0a%3c || [[https://www.sidn.nl/]] || Netherlands || Government ||%0a%3c || [[http://www.isoc.org.il/]] || Israeli || Government ||%0a%3c || [[http://www.thnic.co.th/]] || Thailand || Government ||%0a%3c || [[https://www.nic.tr/]], [[http://isoc.org.tr/]] || Turkey Registrar || Government ||%0a%3c || [[https://www.auda.org.au/]], [[https://afilias.com.au/]] || Australia Registrar || Government ||%0a%3c || [[https://www.registry.in/]] || India || Government ||%0a---%0a> || [[https://njal.la|njal.la]] || left-wing privacy focused ||%0a> || [[https://epik.com|epik]] || right-wing freedom of speech focused ||%0a> || [[https://dot.ph|dotPH]] || Phillipino ||%0a> || [[https://mynic.my|mynic.my]] || malaysian registrar ||%0a> || [[https://www.hkdnr.hk/en/|hkdnr]] || hong kong registrar ||%0a> || [[http://www.cnnic.cn/|cnnic]] || china registrar ||%0a> || [[https://www.traficom.fi/|traficom]] || finland registrar ||%0a> || [[https://www.nominet.uk/|nominet]] || UK registrar ||%0a> || [[https://cctld.ru/|cctld.ru]] || Russia registrar ||%0a> || [[https://www.sidn.nl/|sidn.nl]] || netherlands registrar ||%0a> || [[http://www.isoc.org.il/|isoc]] || Israeli registrar ||%0a> || [[http://www.thnic.co.th/|THNIC]] || Thailand Registrar ||%0a> || [[https://www.nic.tr/|nic.tr]], [[http://isoc.org.tr/|isoc.org.tr]] || Turkey Registrar ||%0a> || [[https://www.auda.org.au/|auda.org.au]], [[https://afilias.com.au/||afilias]] || Australia Registrar ||%0a +host:1612691512=198.251.81.119 +author:1612690497=jrmu +diff:1612690497:1612690071:=52,53d51%0a%3c || [[https://www.auda.org.au/|auda.org.au]], [[https://afilias.com.au/||afilias]] || Australia Registrar ||%0a%3c %0a +host:1612690497=198.251.81.119 +author:1612690071=jrmu +diff:1612690071:1612689900:=31c31%0a%3c ||! Domains ||! com ||! net ||! org ||! ru ||! hk ||! sg ||! my ||! uk ||! nl ||! se ||! il ||! ph ||! th ||! ph ||! lb ||! sa ||! au ||! tr ||%0a---%0a> ||! Domains ||! com ||! net ||! org ||! ru ||! hk ||! sg ||! my ||! uk ||! nl ||! se ||! il ||! ph ||! th ||! ph ||! lb ||! sa ||! au ||! tk ||%0a51c51%0a%3c || [[https://www.nic.tr/|nic.tr]], [[http://isoc.org.tr/|isoc.org.tr]] || Turkey Registrar ||%0a---%0a> %0a +host:1612690071=198.251.81.119 +author:1612689900=jrmu +diff:1612689900:1612689843:=50d49%0a%3c || [[http://www.thnic.co.th/|THNIC]] || Thailand Registrar ||%0a +host:1612689900=198.251.81.119 +author:1612689843=jrmu +diff:1612689843:1612689493:=49d48%0a%3c || [[http://www.isoc.org.il/|isoc]] || Israeli registrar ||%0a +host:1612689843=198.251.81.119 +author:1612689493=jrmu +diff:1612689493:1612689183:=48d47%0a%3c || [[https://www.sidn.nl/|sidn.nl]] || netherlands registrar ||%0a +host:1612689493=198.251.81.119 +author:1612689183=jrmu +diff:1612689183:1612688708:=47d46%0a%3c || [[https://cctld.ru/|cctld.ru]] || Russia registrar ||%0a +host:1612689183=198.251.81.119 +author:1612688708=jrmu +diff:1612688708:1612688597:=46d45%0a%3c || [[https://www.nominet.uk/|nominet]] || UK registrar ||%0a +host:1612688708=198.251.81.119 +author:1612688597=jrmu +diff:1612688597:1612688474:=45d44%0a%3c || [[https://www.traficom.fi/|traficom]] || finland registrar ||%0a +host:1612688597=198.251.81.119 +author:1612688474=jrmu +diff:1612688474:1612688040:=43,44d42%0a%3c || [[https://www.hkdnr.hk/en/|hkdnr]] || hong kong registrar ||%0a%3c || [[http://www.cnnic.cn/|cnnic]] || china registrar ||%0a +host:1612688474=198.251.81.119 +author:1612688040=jrmu +diff:1612688040:1612687640:=42d41%0a%3c || [[https://mynic.my|mynic.my]] || malaysian registrar ||%0a +host:1612688040=198.251.81.119 +author:1612687640=jrmu +diff:1612687640:1612654816:=39,41c39,40%0a%3c || [[https://njal.la|njal.la]] || left-wing privacy focused ||%0a%3c || [[https://epik.com|epik]] || right-wing freedom of speech focused ||%0a%3c || [[https://dot.ph|dotPH]] || Phillipino ||%0a---%0a> || [[https://njal.la|njal.la]] ||%0a> || [[https://epik.com|epik]] ||%0a +host:1612687640=198.251.81.119 +author:1612654816=jrmu +diff:1612654816:1612654773:=39,40c39,40%0a%3c || [[https://njal.la|njal.la]] ||%0a%3c || [[https://epik.com|epik]] ||%0a---%0a> # [[https://njal.la|njal.la]]%0a> # [[https://epik.com|epik]] %0a +host:1612654816=198.251.81.119 +author:1612654773=jrmu +diff:1612654773:1612417593:=36,40d35%0a%3c %0a%3c !! Possible Providers%0a%3c %0a%3c # [[https://njal.la|njal.la]]%0a%3c # [[https://epik.com|epik]] %0a +host:1612654773=198.251.81.119 +author:1612417593=jrmu +diff:1612417593:1612417545:=31c31%0a%3c ||! Domains ||! com ||! net ||! org ||! ru ||! hk ||! sg ||! my ||! uk ||! nl ||! se ||! il ||! ph ||! th ||! ph ||! lb ||! sa ||! au ||! tk ||%0a---%0a> ||! Domains ||! com ||! net ||! org || ru || hk || sg || my || uk || nl || se || il || ph || th || om || lb || sa || au || tk ||%0a +host:1612417593=198.251.81.119 +author:1612417545=jrmu +diff:1612417545:1612417513:=32,35c32,35%0a%3c || ircnow || || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a%3c || breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a%3c || nastycode || ✓ || x || x || || || || || || || || || || || || || || || ||%0a%3c || lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || ||%0a---%0a> || ircnow || || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a> || breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a> || nastycode || ✓ || x || x || || || || || || || || || || || || || || || || || || %0a> || lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a +host:1612417545=198.251.81.119 +author:1612417513=jrmu +diff:1612417513:1612417331:=31,35c31,35%0a%3c ||! Domains ||! com ||! net ||! org || ru || hk || sg || my || uk || nl || se || il || ph || th || om || lb || sa || au || tk ||%0a%3c || ircnow || || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a%3c || breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a%3c || nastycode || ✓ || x || x || || || || || || || || || || || || || || || || || || %0a%3c || lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || || || || || %0a---%0a> ||! Domains ||! com ||! net ||! org || ru || cn || hk || sg || my || uk || de || eg || sa || au ||%0a> || ircnow || || ✓ || ✓ || || || || || || || || || || || || || || %0a> || breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || %0a> || nastycode || ✓ || x || x || || || || || || || || || || || || || || %0a> || lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || %0a +host:1612417513=198.251.81.119 +author:1612417331=jrmu +diff:1612417331:1612416976:=31,35c31,35%0a%3c ||! Domains ||! com ||! net ||! org || ru || cn || hk || sg || my || uk || de || eg || sa || au ||%0a%3c || ircnow || || ✓ || ✓ || || || || || || || || || || || || || || %0a%3c || breadofgod || ✓ || ✓ || ✓ || || || || || || || || || || || || || || %0a%3c || nastycode || ✓ || x || x || || || || || || || || || || || || || || %0a%3c || lecturify || ✓ || ✓ || ✓ || || || || || || || || || || || || || || %0a---%0a> ||! Domains || com || net || org ||%0a> || ircnow || || ✓ || ✓ ||%0a> || breadofgod || ✓ || ✓ || ✓ ||%0a> || nastycode || ✓ || x || x || %0a> || lecturify || ✓ || ✓ || ✓ ||%0a +host:1612417331=198.251.81.119 +author:1612416976=jrmu +diff:1612416976:1612416957:=31c31%0a%3c ||! Domains || com || net || org ||%0a---%0a> ||! Domains !|| com || net || org ||%0a +host:1612416976=198.251.81.119 +author:1612416957=jrmu +diff:1612416957:1612416892:=30,31c30%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Domains !|| com || net || org ||%0a---%0a> || || com || net || org ||%0a +host:1612416957=198.251.81.119 +author:1612416892=jrmu +diff:1612416892:1612416596:=26c26%0a%3c We want to avoid commercially owned TLDs owned by Donuts, Google, Amazon, Afilias, and Uniregistry. New domains such as .network, .chat, and .talk may sound cool, but these are owned by private companies who can censor at any time. Most countries have laws protecting freedom of the press and freedom of religion; if your domain is seized unfairly, you can appeal in a court of law. Private corporations offer no such protections. It is therefore safer to register a .com, .net, or .org, or a country-code TLD.%0a---%0a> We want to avoid commercially owned TLDs owned by Donuts, Google, Amazon, Afilias, and Uniregistry. New domains such as .network, .chat, and .talk may sound cool, but these are owned by private companies who can censor at any time. Most countries have laws protecting freedom of the press and freedom of religion, but private corporations do not. It is therefore safer to register a .com, .net, or .org, or a country-code TLD.%0a +host:1612416892=198.251.81.119 +author:1612416596=jrmu +diff:1612416596:1612416508:=24c24%0a%3c We want a mixture of .com, .net, .org [[https://en.wikipedia.org/wiki/List_of_top_level_domains|top-level domains]] and localized country-code TLDs like .uk, .pk, .in, .cn, .ru, .my, .ph, and so forth. We want to spread out and increase the diversity of our domain registrations in different countries to make our network difficult to censor.%0a---%0a> We want a mixture of .com, .net, .org top-level domains and localized country-code TLDs like .uk, .pk, .in, .cn, .ru, .my, .ph, and so forth. We want to spread out and increase the diversity of our domain registrations in different countries to make our network difficult to censor.%0a +host:1612416596=198.251.81.119 +author:1612416508=jrmu +diff:1612416508:1612415695:=14d13%0a%3c # Which country is this registrar legally operating in?%0a24,26c23%0a%3c We want a mixture of .com, .net, .org top-level domains and localized country-code TLDs like .uk, .pk, .in, .cn, .ru, .my, .ph, and so forth. We want to spread out and increase the diversity of our domain registrations in different countries to make our network difficult to censor.%0a%3c %0a%3c We want to avoid commercially owned TLDs owned by Donuts, Google, Amazon, Afilias, and Uniregistry. New domains such as .network, .chat, and .talk may sound cool, but these are owned by private companies who can censor at any time. Most countries have laws protecting freedom of the press and freedom of religion, but private corporations do not. It is therefore safer to register a .com, .net, or .org, or a country-code TLD.%0a---%0a> We want a mixture of .com/.net/.org top-level domains and localized country-code TLDs.%0a +host:1612416508=198.251.81.119 +author:1612415695=jrmu +diff:1612415695:1612415387:=23,31c23%0a%3c We want a mixture of .com/.net/.org top-level domains and localized country-code TLDs.%0a%3c %0a%3c Our current domains include:%0a%3c %0a%3c || || com || net || org ||%0a%3c || ircnow || || ✓ || ✓ ||%0a%3c || breadofgod || ✓ || ✓ || ✓ ||%0a%3c || nastycode || ✓ || x || x || %0a%3c || lecturify || ✓ || ✓ || ✓ ||%0a---%0a> We want a mixture of%0a +host:1612415695=198.251.81.119 +author:1612415387=jrmu +diff:1612415387:1612414499:=23,31c23%0a%3c We want a mixture of%0a%3c %0a%3c !! Free Providers%0a%3c %0a%3c Free providers are not recommended because they lack a contract and service guarantee. Your domains could be revoked at any time.%0a%3c %0a%3c Free providers are fun to play with, but don't rely on them for serious work on IRCNow.%0a%3c %0a%3c # [[https://freedns.afraid.org/|FreeDNS]]: Commonly used on IRC%0a\ No newline at end of file%0a---%0a> We want a mixture of%0a\ No newline at end of file%0a +host:1612415387=198.251.81.119 +author:1612414499=jrmu +diff:1612414499:1612414499:=1,23d0%0a%3c (:title Searching for Name Registrars:)%0a%3c %0a%3c !! Guidelines%0a%3c %0a%3c !!! Check the Acceptable Use Policy:%0a%3c %0a%3c # Does this registrar censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political and religious censorship.%0a%3c # In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. However, a better provider will insist upon a legal court order before it censors.%0a%3c # What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a%3c # Does the registrar allow: IRC, email, tor, game servers, VPNs, DNS servers, torrents and filesharing%0a%3c %0a%3c !!! Other Important Criteria:%0a%3c %0a%3c # How long has this registrar been operating?%0a%3c # Does it have a good reputation?%0a%3c # Can you easily reach customer support?%0a%3c # What payment options do they accept? Cryptcoins are best.%0a%3c %0a%3c Send an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another registrar. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have your money.%0a%3c %0a%3c !! Domains%0a%3c %0a%3c We want a mixture of%0a\ No newline at end of file%0a +host:1612414499=198.251.81.119 blob - /dev/null blob + ed2fd709ca9dfae84202ace9a4ba3b10bed0ce7d (mode 644) --- /dev/null +++ wiki.d/Dns.Vhost @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627441547 +host=38.87.162.8 +name=Dns.Vhost +rev=1 +targets=Openbsd.Openbsd,Openbsd.Znc,Openbsd.Psybnc +text=(:title Configuring unique vhosts:)%0a%0aIRC users often ask for custom vhosts.%0a%0a!! How IRC servers check vhosts%0a%0aWhen an IRC client first connects to an IRC server, the server will take your IP address and perform a [[openbsd|rDNS/reverse lookup]]. For example, suppose your IP address is @@192.168.0.1@@. To perform a reverse lookup, run:%0a%0a[@%0a$ dig -x 192.168.0.1%0a%0a;; ANSWER SECTION:%0a1.0.168.19.in-addr.arpa. 60 IN PTR example.ircnow.org.%0a@]%0a%0aThis means that the IP address 192.168.0.1 is pointed to by the domain example.ircnow.org. Now, the IRC client will perform forward DNS resolution, which you can perform yourself by running:%0a%0a[@%0a$ dig example.ircnow.org%0a%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a@]%0a%0aNotice how the reverse and forward DNS lookups both match and confirm one another. When this happens, anyone IRC connection that connects from this IPv4 address will have the vhost example.ircnow.org. So, if you logged in with nickname @@john@@ and ident @@brown@@, you would have the following hostmask: @@john!brown@example.ircnow.org@@.%0a%0a!! IPv6 to the Rescue%0a%0aNotice however that a single IP address can only have one possible vhost. Even if you have multiple domains pointing to the same IP address, each IP address can only have a single rDNS entry associated with it. In other words, when you run @@$ dig -x 192.168.0.1@@, you only get one possible answer.%0a%0aIf we only had IPv4 addresses, each IPv4 address can only have one possible vhost. Since the world is running out of IPv4 addresses, it would cost a lot of money to assign unique vhosts using IPv4 addresses only.%0a%0aThis is why we rely upon IPv6 addresses to provide unique vhosts. Normally, the ISP will provide an entire /64 or /48 subnet of IPv6 addresses for each server instead of a single IPv4 address.%0a%0aNow you can assign vhosts to your heart's content. All you need is one AAAA record for each hostname and to configure the rDNS entry for the IPv6 address.%0a%0aFor example, suppose you configure cooldude.ircnow.org to point to 2001:db8::c001:d00d, and you configure the rDNS of 2001:db8::c001:d00d to point to cooldude.ircnow.org. Then, when you bind to the IPv6 address 2001:db8::c001:d00d to connect to an IRC network which supports IPv6 connections, the IPv6 server will give you the vhost @@cooldude.ircnow.org@@.%0a%0a!! Binding to an IP address%0a%0aWhen you use a bouncer (such as [[openbsd/znc|znc]] or [[openbsd/psybnc|psybnc]]), you tell the bouncer to set the bindhost of a user to a specific IPv6 address or hostname. That way, the bouncer will use that IP address to connect. If you want a custom vhost, set it to the hostname or IPv6 address that you want to give to the user. And remember -- both the forward and reverse DNS must be configured properly!%0a%0aWhen creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a +time=1627441547 +title=Configuring unique vhosts +author:1627441547=jrmu +diff:1627441547:1627441547:=1,43d0%0a%3c (:title Configuring unique vhosts:)%0a%3c %0a%3c IRC users often ask for custom vhosts.%0a%3c %0a%3c !! How IRC servers check vhosts%0a%3c %0a%3c When an IRC client first connects to an IRC server, the server will take your IP address and perform a [[openbsd|rDNS/reverse lookup]]. For example, suppose your IP address is @@192.168.0.1@@. To perform a reverse lookup, run:%0a%3c %0a%3c [@%0a%3c $ dig -x 192.168.0.1%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c 1.0.168.19.in-addr.arpa. 60 IN PTR example.ircnow.org.%0a%3c @]%0a%3c %0a%3c This means that the IP address 192.168.0.1 is pointed to by the domain example.ircnow.org. Now, the IRC client will perform forward DNS resolution, which you can perform yourself by running:%0a%3c %0a%3c [@%0a%3c $ dig example.ircnow.org%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c @]%0a%3c %0a%3c Notice how the reverse and forward DNS lookups both match and confirm one another. When this happens, anyone IRC connection that connects from this IPv4 address will have the vhost example.ircnow.org. So, if you logged in with nickname @@john@@ and ident @@brown@@, you would have the following hostmask: @@john!brown@example.ircnow.org@@.%0a%3c %0a%3c !! IPv6 to the Rescue%0a%3c %0a%3c Notice however that a single IP address can only have one possible vhost. Even if you have multiple domains pointing to the same IP address, each IP address can only have a single rDNS entry associated with it. In other words, when you run @@$ dig -x 192.168.0.1@@, you only get one possible answer.%0a%3c %0a%3c If we only had IPv4 addresses, each IPv4 address can only have one possible vhost. Since the world is running out of IPv4 addresses, it would cost a lot of money to assign unique vhosts using IPv4 addresses only.%0a%3c %0a%3c This is why we rely upon IPv6 addresses to provide unique vhosts. Normally, the ISP will provide an entire /64 or /48 subnet of IPv6 addresses for each server instead of a single IPv4 address.%0a%3c %0a%3c Now you can assign vhosts to your heart's content. All you need is one AAAA record for each hostname and to configure the rDNS entry for the IPv6 address.%0a%3c %0a%3c For example, suppose you configure cooldude.ircnow.org to point to 2001:db8::c001:d00d, and you configure the rDNS of 2001:db8::c001:d00d to point to cooldude.ircnow.org. Then, when you bind to the IPv6 address 2001:db8::c001:d00d to connect to an IRC network which supports IPv6 connections, the IPv6 server will give you the vhost @@cooldude.ircnow.org@@.%0a%3c %0a%3c !! Binding to an IP address%0a%3c %0a%3c When you use a bouncer (such as [[openbsd/znc|znc]] or [[openbsd/psybnc|psybnc]]), you tell the bouncer to set the bindhost of a user to a specific IPv6 address or hostname. That way, the bouncer will use that IP address to connect. If you want a custom vhost, set it to the hostname or IPv6 address that you want to give to the user. And remember -- both the forward and reverse DNS must be configured properly!%0a%3c %0a%3c When creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a +host:1627441547=38.87.162.8 blob - /dev/null blob + 3945a8ddb0d7a246b8e373847c5c65b1ed87ede1 (mode 644) --- /dev/null +++ wiki.d/Dns.Zonefile @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1612412983 +host=38.87.162.8 +name=Dns.Zonefile +rev=2 +targets= +text=(:redirect Nsd.zone:)%0a12:08 %3c%25jrmu> one thing you want to be careful of gry%0a%0a12:08 %3c%25jrmu> gry.likes.trains.grape.ircnow.org%0a%0a12:08 %3c%25jrmu> has a lot of subdomains that are empty%0a%0a12:09 %3c%25jrmu> such as likes.trains.grape.ircnow.org and trains.grape.ircnow.org%0a%0a12:09 %3c%25jrmu> this causes issues on some bad name servers%0a%0a12:09 %3c%25jrmu> nsd hopefully doesn't have this problem%0a%0a12:09 %3c%25jrmu> but i have heard horror stories%0a%0a12:10 %3c&gry> trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%0a12:10 %3c&gry> likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%0a12:10 %3c&gry> gry.likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%0a12:10 %3c&gry> wait%0a%0a12:10 %3c&gry> it should beAAAA%0a%0a12:10 %3c&gry> brb%0a%0a12:10 %3c%25jrmu> did you update the serial number%0a%0a12:10 %3c%25jrmu> also gry%0a%0a12:10 %3c%25jrmu> yeah aaaa%0a%0a12:11 %3c&gry> changed to AAAA; updated serial number; restarted nsd; same issue%0a%0a12:11 %3c%25jrmu> check /var/log/nsd.log%0a%0a12:11 %3c%25jrmu> or turn on debugging%0a%0a12:11 %3c%25jrmu> also%0a%0a12:11 %3c&gry> ok%0a%0a12:12 %3c%25jrmu> ohh%0a%0a12:12 %3c%25jrmu> also%0a%0a12:12 %3c%25jrmu> $ dig -t aaaa%0a%0a12:12 %3c%25jrmu> you want the aaaa records%0a%0a12:12 %3c%25jrmu> also%0a%0a12:12 %3c%25jrmu> each AAAA record should come with an A record%0a%0a12:12 %3c%25jrmu> as a fallback%0a +time=1627982517 +author:1627982517=jrmu +diff:1627982517:1612412983:=1d0%0a%3c (:redirect Nsd.zone:)%0a +host:1627982517=38.87.162.8 +author:1612412983=jrmu +diff:1612412983:1612412983:=1,55d0%0a%3c 12:08 %3c%25jrmu> one thing you want to be careful of gry%0a%3c %0a%3c 12:08 %3c%25jrmu> gry.likes.trains.grape.ircnow.org%0a%3c %0a%3c 12:08 %3c%25jrmu> has a lot of subdomains that are empty%0a%3c %0a%3c 12:09 %3c%25jrmu> such as likes.trains.grape.ircnow.org and trains.grape.ircnow.org%0a%3c %0a%3c 12:09 %3c%25jrmu> this causes issues on some bad name servers%0a%3c %0a%3c 12:09 %3c%25jrmu> nsd hopefully doesn't have this problem%0a%3c %0a%3c 12:09 %3c%25jrmu> but i have heard horror stories%0a%3c %0a%3c 12:10 %3c&gry> trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c %0a%3c 12:10 %3c&gry> likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c %0a%3c 12:10 %3c&gry> gry.likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c %0a%3c 12:10 %3c&gry> wait%0a%3c %0a%3c 12:10 %3c&gry> it should beAAAA%0a%3c %0a%3c 12:10 %3c&gry> brb%0a%3c %0a%3c 12:10 %3c%25jrmu> did you update the serial number%0a%3c %0a%3c 12:10 %3c%25jrmu> also gry%0a%3c %0a%3c 12:10 %3c%25jrmu> yeah aaaa%0a%3c %0a%3c 12:11 %3c&gry> changed to AAAA; updated serial number; restarted nsd; same issue%0a%3c %0a%3c 12:11 %3c%25jrmu> check /var/log/nsd.log%0a%3c %0a%3c 12:11 %3c%25jrmu> or turn on debugging%0a%3c %0a%3c 12:11 %3c%25jrmu> also%0a%3c %0a%3c 12:11 %3c&gry> ok%0a%3c %0a%3c 12:12 %3c%25jrmu> ohh%0a%3c %0a%3c 12:12 %3c%25jrmu> also%0a%3c %0a%3c 12:12 %3c%25jrmu> $ dig -t aaaa%0a%3c %0a%3c 12:12 %3c%25jrmu> you want the aaaa records%0a%3c %0a%3c 12:12 %3c%25jrmu> also%0a%3c %0a%3c 12:12 %3c%25jrmu> each AAAA record should come with an A record%0a%3c %0a%3c 12:12 %3c%25jrmu> as a fallback%0a +host:1612412983=198.251.81.119 blob - /dev/null blob + 59794fef4e6a42e15d83f69395c6b7c3a95c7ba1 (mode 644) --- /dev/null +++ wiki.d/Doas.Configure @@ -0,0 +1,44 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; DragonFly x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 +author=starewind +charset=UTF-8 +csum=then overwrite doas.conf - changed to then append to doas.conf +ctime=1617882861 +host=159.223.30.236 +name=Doas.Configure +rev=10 +targets=Ksh.Redirection +text=(:title Doas: the Sudo Replacement:)%0a%0a!! Doas for Group Wheel%0a%0aNormally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a%0aFirst, let's use su to log in as root:%0a%0a[@%0a$ su%0aPassword:%0a@]%0a%0aNext, we create [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] using this command:%0a%0a[@%0a# echo "permit persist :wheel" >> /etc/doas.conf%0a@]%0a%0a%0aThis allows any user in the group wheel to run doas. The shell's [[ksh/redirection|redirection operator]] @@>>@@ appends to the end of a file (or creates it if it does not already exist).%0a%0a'''Note''': The # sign means you run this command as root by first logging in using @@su@@. The $ sign means you run the command as your normal user. Do not literally type # or $.%0a%0a'''Note''': redirection with @@>@@ and @@>>@@) is done by your '''shell'''. This means that the command below probably does '''NOT''' work:%0a%0a[@%0a$ doas echo "permit nopass :wheel" >> /etc/doas.conf%0a@]%0a%0aThis is because your current non-root user will probably not have write permissions /etc/doas.conf.%0a%0aAfterwards, exit su:%0a%0a[@%0a# exit%0a@]%0a%0aYou could also type @@ctrl+d@@ to tell the shell you've reached the end-of-file and want to exit.%0a%0aNext, test the configuration:%0a%0a[@%0a$ whoami%0auser%0a$ doas whoami%0adoas (user@user.coconut.ircnow.org) password: %0aroot%0a@]%0a%0aFor this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a%0a!! No password needed%0a%0aLife is a lot easier when you don't require the user password.%0a%0aRun doas with the @@-s@@ argument to get a shell as root, then append to doas.conf:%0a%0a[@%0a$ doas -s%0a# echo "permit nopass :wheel" >> /etc/doas.conf%0a# exit%0a@]%0a%0aThe drawback to this configuration is that any user in the wheel group gets complete root access. No passwords are required.%0a%0a!! Whitelisting users%0a%0aYou can also permit a specific user:%0a%0a[@%0a# echo "permit nopass user" >> /etc/doas.conf%0a@]%0a%0aThis allows user to login as root using @@doas@@ without a password.%0a%0a!! Security%0a%0aYou should avoid logging in as root or running programs as root unless absolutely necessary. Running insecure or malicious programs as root can lead to stolen data. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a%0aAs a precaution, we should not allow others to read doas.conf:%0a%0a[@%0a$ doas chmod o-r /etc/doas.conf%0a@]%0a%0aSee also:%0a%0a[[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a +time=1636637418 +title=Doas: the Sudo Replacement +author:1636637418=starewind +csum:1636637418=then overwrite doas.conf - changed to then append to doas.conf +diff:1636637418:1629704462:minor=57c57%0a%3c Run doas with the @@-s@@ argument to get a shell as root, then append to doas.conf:%0a---%0a> Run doas with the @@-s@@ argument to get a shell as root, then overwrite doas.conf:%0a +host:1636637418=159.223.30.236 +author:1629704462=jrmu +diff:1629704462:1629704374:=28c28%0a%3c $ doas echo "permit nopass :wheel" >> /etc/doas.conf%0a---%0a> $ doas echo "%3cconfig line>" >> /etc/doas.conf%0a +host:1629704462=38.87.162.8 +author:1629704374=jrmu +diff:1629704374:1629690820:=24,31d23%0a%3c %0a%3c '''Note''': redirection with @@>@@ and @@>>@@) is done by your '''shell'''. This means that the command below probably does '''NOT''' work:%0a%3c %0a%3c [@%0a%3c $ doas echo "%3cconfig line>" >> /etc/doas.conf%0a%3c @]%0a%3c %0a%3c This is because your current non-root user will probably not have write permissions /etc/doas.conf.%0a +host:1629704374=38.87.162.8 +author:1629690820=jrmu +diff:1629690820:1629690631:=17c17%0a%3c # echo "permit persist :wheel" >> /etc/doas.conf%0a---%0a> # echo "permit persist :wheel" > /etc/doas.conf%0a53c53%0a%3c # echo "permit nopass :wheel" >> /etc/doas.conf%0a---%0a> # echo "permit nopass :wheel" > /etc/doas.conf%0a +host:1629690820=198.251.81.119 +author:1629690631=jrmu +diff:1629690631:1629690482:=21c21%0a%3c This allows any user in the group wheel to run doas. The shell's [[ksh/redirection|redirection operator]] @@>>@@ appends to the end of a file (or creates it if it does not already exist).%0a---%0a> This allows any user in the group wheel to run doas. The shell's [[pipes/redirection|redirection operator]] @@>>@@ appends to the end of a file (or creates it if it does not already exist).%0a +host:1629690631=198.251.81.119 +author:1629690482=jrmu +diff:1629690482:1629689571:=5,6c5,7%0a%3c Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a%3c %0a---%0a> Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]]. \\%0a> When you haven't used doas yet, such as after a fresh install, then we need to start by configuring it.%0a> %0a21,22c22,24%0a%3c This allows any user in the group wheel to run doas. The shell's [[pipes/redirection|redirection operator]] @@>>@@ appends to the end of a file (or creates it if it does not already exist).%0a%3c %0a---%0a> This line (being echo-ed) allows any user in the group wheel to run doas. \\%0a> Recall that the shell's @@redirection operator@@ @@>@@ overwrites the file (or creates it when it doesn't exist) whereas @@>>@@ would append to the file (or creates it when it doesn't exist).%0a> %0a25,26c27,28%0a%3c Afterwards, exit su:%0a%3c %0a---%0a> After you exit su (using @@exit@@ or using the key-combo @@CTRL+D@@) you can test this configuration:%0a> %0a28a31,35%0a> $ whoami%0a> user%0a> $ doas whoami%0a> doas (user@user.coconut.ircnow.org) password: %0a> root%0a31,34c38,44%0a%3c You could also type @@ctrl+d@@ to tell the shell you've reached the end-of-file and want to exit.%0a%3c %0a%3c Next, test the configuration:%0a%3c %0a---%0a> For this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a> %0a> !! No password needed%0a> %0a> Life is a lot easier when you don't require the user password. \\%0a> This time we will use doas with the @@-s@@ argument to give us a shell as root to overwrite our doas.conf as follows:%0a> %0a36,40c46,48%0a%3c $ whoami%0a%3c user%0a%3c $ doas whoami%0a%3c doas (user@user.coconut.ircnow.org) password: %0a%3c root%0a---%0a> $ doas -s%0a> # echo "permit nopass :wheel" > /etc/doas.conf%0a> # exit%0a43,57c51,58%0a%3c For this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a%3c %0a%3c !! No password needed%0a%3c %0a%3c Life is a lot easier when you don't require the user password.%0a%3c %0a%3c Run doas with the @@-s@@ argument to get a shell as root, then overwrite doas.conf:%0a%3c %0a%3c [@%0a%3c $ doas -s%0a%3c # echo "permit nopass :wheel" > /etc/doas.conf%0a%3c # exit%0a%3c @]%0a%3c %0a%3c The drawback to this configuration is that any user in the wheel group gets complete root access. No passwords are required.%0a---%0a> The downside of this more relaxed permission is that anyone gets access to any user in the wheel group gets complete root access over the system. No passwords required for them either. Check if that makes sense with your [[openbsd/security|security goals]].%0a> %0a> '''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info.%0a> %0a> !! Whitelisting users%0a> %0a> You can also permit a specific user:%0a> %0a +host:1629690482=198.251.81.119 +author:1629689571= +diff:1629689571:1621503119:minor=5,7c5,6%0a%3c Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]]. \\%0a%3c When you haven't used doas yet, such as after a fresh install, then we need to start by configuring it.%0a%3c %0a---%0a> Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a> %0a12d10%0a%3c Password:%0a18c16%0a%3c # echo "permit persist :wheel" > /etc/doas.conf%0a---%0a> # echo "permit persist :wheel" >> /etc/doas.conf%0a21,24c19,20%0a%3c %0a%3c This line (being echo-ed) allows any user in the group wheel to run doas. \\%0a%3c Recall that the shell's @@redirection operator@@ @@>@@ overwrites the file (or creates it when it doesn't exist) whereas @@>>@@ would append to the file (or creates it when it doesn't exist).%0a%3c %0a---%0a> This line allows any user in the group wheel to run doas.%0a> %0a27,28d22%0a%3c After you exit su (using @@exit@@ or using the key-combo @@CTRL+D@@) you can test this configuration:%0a%3c %0a30d23%0a%3c # exit%0a42,44c35,36%0a%3c Life is a lot easier when you don't require the user password. \\%0a%3c This time we will use doas with the @@-s@@ argument to give us a shell as root to overwrite our doas.conf as follows:%0a%3c %0a---%0a> Life is a lot easier when you don't require the user password. We run this command:%0a> %0a46,48c38%0a%3c $ doas -s%0a%3c # echo "permit nopass :wheel" > /etc/doas.conf%0a%3c # exit%0a---%0a> # echo "permit nopass :wheel" >> /etc/doas.conf%0a52,53d41%0a%3c %0a%3c '''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info.%0a +host:1629689571=38.87.162.129 +author:1621503119=jrmu +diff:1621503119:1618754519:=16c16%0a%3c # echo "permit persist :wheel" >> /etc/doas.conf%0a---%0a> # echo "permit persist :wheel as root" >> /etc/doas.conf%0a38c38%0a%3c # echo "permit nopass :wheel" >> /etc/doas.conf%0a---%0a> # echo "permit nopass :wheel as root" >> /etc/doas.conf%0a48c48%0a%3c # echo "permit nopass user" >> /etc/doas.conf%0a---%0a> # echo "permit nopass user as root" >> /etc/doas.conf%0a65c65%0a%3c [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a---%0a> [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a\ No newline at end of file%0a +host:1621503119=38.81.163.143 +author:1618754519=jrmu +diff:1618754519:1617882861:=13,14c13,14%0a%3c Next, we create [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] using this command:%0a%3c %0a---%0a> Next, we will need to edit our [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] file:%0a> %0a35c35%0a%3c Life is a lot easier when you don't require the user password. We run this command:%0a---%0a> Life is a lot easier when you don't require the user password:%0a +host:1618754519=198.251.81.119 +author:1617882861=jrmu +diff:1617882861:1617882861:=1,65d0%0a%3c (:title Doas: the Sudo Replacement:)%0a%3c %0a%3c !! Doas for Group Wheel%0a%3c %0a%3c Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a%3c %0a%3c First, let's use su to log in as root:%0a%3c %0a%3c [@%0a%3c $ su%0a%3c @]%0a%3c %0a%3c Next, we will need to edit our [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] file:%0a%3c %0a%3c [@%0a%3c # echo "permit persist :wheel as root" >> /etc/doas.conf%0a%3c @]%0a%3c %0a%3c This line allows any user in the group wheel to run doas.%0a%3c %0a%3c '''Note''': The # sign means you run this command as root by first logging in using @@su@@. The $ sign means you run the command as your normal user. Do not literally type # or $.%0a%3c %0a%3c [@%0a%3c $ whoami%0a%3c user%0a%3c $ doas whoami%0a%3c doas (user@user.coconut.ircnow.org) password: %0a%3c root%0a%3c @]%0a%3c %0a%3c For this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a%3c %0a%3c !! No password needed%0a%3c %0a%3c Life is a lot easier when you don't require the user password:%0a%3c %0a%3c [@%0a%3c # echo "permit nopass :wheel as root" >> /etc/doas.conf%0a%3c @]%0a%3c %0a%3c The downside of this more relaxed permission is that anyone gets access to any user in the wheel group gets complete root access over the system. No passwords required for them either. Check if that makes sense with your [[openbsd/security|security goals]].%0a%3c %0a%3c !! Whitelisting users%0a%3c %0a%3c You can also permit a specific user:%0a%3c %0a%3c [@%0a%3c # echo "permit nopass user as root" >> /etc/doas.conf%0a%3c @]%0a%3c %0a%3c This allows user to login as root using @@doas@@ without a password.%0a%3c %0a%3c !! Security%0a%3c %0a%3c You should avoid logging in as root or running programs as root unless absolutely necessary. Running insecure or malicious programs as root can lead to stolen data. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a%3c %0a%3c As a precaution, we should not allow others to read doas.conf:%0a%3c %0a%3c [@%0a%3c $ doas chmod o-r /etc/doas.conf%0a%3c @]%0a%3c %0a%3c See also:%0a%3c %0a%3c [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a\ No newline at end of file%0a +host:1617882861=198.251.81.44 blob - /dev/null blob + 78dab4dd068a1eb2b86cff85bd6f256f09fb965a (mode 644) --- /dev/null +++ wiki.d/Doas.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; DragonFly x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 +charset=UTF-8 +ctime=1617882861 +host=159.223.30.236 +name=Doas.RecentChanges +rev=10 +text=* [[Doas/Configure]] . . . November 11, 2021, at 01:30 PM by [[~starewind]]: [=then overwrite doas.conf - changed to then append to doas.conf=]%0a +time=1636637418 blob - /dev/null blob + 1cb8b33c9c1cab85cd01f2ccce8a56d172b2d434 (mode 644) --- /dev/null +++ wiki.d/Donations.Donations @@ -0,0 +1,91 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1608372807 +host=38.87.162.8 +name=Donations.Donations +rev=26 +targets=Freedom.Freedom,Freedom.Software,Ircnow.Victorycores +text=(:title Donations:)%0a%0aWe are working to help protect [[freedom/freedom|freedom]] on the Internet by building an online community that '''WE THE USERS''' control.%0a%0aWould you like to donate to IRCNow to support an online community for user freedom? We'd be very grateful for any donations. They will go towards training new teammates to learn Unix and open internet standards; developing new software; providing improved documentation; and serving users with essential internet services. All content produced by our staff is released [[freedom/software|freely]] so anyone can copy, share, modify, and use.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Teams ||! Donation Link ||%0a|| [[https://lecturify.net|Lecturify]] || [[https://en.liberapay.com/lecturify|Liberapay]] ||%0a|| [[https://oddprotocol.org|OddProtocol]] || [[https://oddprotocol.org|Paypal]] ||%0a|| [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|Patreon]] [[https://paypal.me/bananaircnoworg|Paypal]] ||%0a|| [[https://thunderirc.net|ThunderIRC]] || [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|Paypal]] ||%0a|| [[https://nastycode.com|NastyCode]] || [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG|Paypal]] ||%0a|| [[https://grape.ircnow.org|Grape]] || [[|Cryptocoin]] ||%0a%0aHardware donations are also welcome!%0a%0a|| [[Ircnow/victorycores|Victory Cores - Donate a Core]] ||%0a +time=1635586766 +title=Donations +author:1635586766=jrmu +diff:1635586766:1635581841:=18c18%0a%3c || [[Ircnow/victorycores|Victory Cores - Donate a Core]] ||%0a---%0a> || [[Ircnow/victorycpus|Victory CPUs - Help By Running App]] ||%0a +host:1635586766=38.87.162.8 +author:1635581841=jrmu +diff:1635581841:1635581812:=18c18%0a%3c || [[Ircnow/victorycpus|Victory CPUs - Help By Running App]] ||%0a---%0a> || [[Ircnow/victorycpus|Donate Victory CPUs]] ||%0a +host:1635581841=38.87.162.8 +author:1635581812=jrmu +diff:1635581812:1623129786:=15,18c15%0a%3c %0a%3c Hardware donations are also welcome!%0a%3c %0a%3c || [[Ircnow/victorycpus|Donate Victory CPUs]] ||%0a---%0a> Hardware donations are also welcome!%0a\ No newline at end of file%0a +host:1635581812=38.87.162.8 +author:1623129786=jrmu +diff:1623129786:1622983204:=14c14%0a%3c || [[https://grape.ircnow.org|Grape]] || [[|Cryptocoin]] ||%0a---%0a> || [[https://grape.ircnow.org|Grape]] || [[https://wiki.ircnow.org/index.php?n=Grape.DonateUs|Cryptocoin]] ||%0a +host:1623129786=125.231.25.80 +author:1622983204=jrmu +diff:1622983204:1622979414:=14c14%0a%3c || [[https://grape.ircnow.org|Grape]] || [[https://wiki.ircnow.org/index.php?n=Grape.DonateUs|Cryptocoin]] ||%0a---%0a> || [[https://grape.ircnow.org|Grape]] || [[https://wiki.ircnow.org/index.php?n=Grape.DonateUs]] ||%0a +host:1622983204=125.231.25.80 +author:1622979414=fizi +diff:1622979414:1622979026:=14c14%0a%3c || [[https://grape.ircnow.org|Grape]] || [[https://wiki.ircnow.org/index.php?n=Grape.DonateUs]] ||%0a---%0a> %0a +host:1622979414=39.42.124.102 +author:1622979026=fizi +diff:1622979026:1621240102:= +host:1622979026=39.42.124.102 +author:1621240102=Thor +diff:1621240102:1621239903:=11c11%0a%3c || [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|Patreon]] [[https://paypal.me/bananaircnoworg|Paypal]] ||%0a---%0a> || [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|IRCForever]] [[https://paypal.me/bananaircnoworg|Paypal]] ||%0a +host:1621240102=71.19.251.148 +author:1621239903=Thor +diff:1621239903:1621239898:minor= +host:1621239903=71.19.251.148 +author:1621239898=Thor +diff:1621239898:1620887875:minor=11c11%0a%3c || [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|IRCForever]] [[https://paypal.me/bananaircnoworg|Paypal]] ||%0a---%0a> || [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|IRCForever]] ||%0a +host:1621239898=71.19.251.148 +author:1620887875=jrmu +diff:1620887875:1620887752:=9,15c9,15%0a%3c || [[https://lecturify.net|Lecturify]] || [[https://en.liberapay.com/lecturify|Liberapay]] ||%0a%3c || [[https://oddprotocol.org|OddProtocol]] || [[https://oddprotocol.org|Paypal]] ||%0a%3c || [[https://ircforever.org|IRCForever]] || [[https://www.patreon.com/BananaIrcnow|IRCForever]] ||%0a%3c || [[https://thunderirc.net|ThunderIRC]] || [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|Paypal]] ||%0a%3c || [[https://nastycode.com|NastyCode]] || [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG|Paypal]] ||%0a%3c %0a%3c Hardware donations are also welcome!%0a\ No newline at end of file%0a---%0a> || Lecturify || [[https://en.liberapay.com/lecturify|Liberapay]] ||%0a> || OddProtocol || [[https://oddprotocol.org|Paypal]] ||%0a> || IRCForever || [[https://www.patreon.com/BananaIrcnow|IRCForever]] ||%0a> || ThunderIRC || [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|Paypal]] ||%0a> || NastyCode || [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG|Paypal]] ||%0a> %0a> Hardware Donations are also welcome!%0a\ No newline at end of file%0a +host:1620887875=198.251.81.119 +author:1620887752=jrmu +diff:1620887752:1620887722:=8c8%0a%3c ||! Teams ||! Donation Link ||%0a---%0a> ||! Teams || Donation Link ||%0a +host:1620887752=198.251.81.119 +author:1620887722=jrmu +diff:1620887722:1620887630:=7d6%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1620887722=198.251.81.119 +author:1620887630=jrmu +diff:1620887630:1620887434:=12,14c12,36%0a%3c || NastyCode || [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG|Paypal]] ||%0a%3c %0a%3c Hardware Donations are also welcome!%0a\ No newline at end of file%0a---%0a> %0a> Sponsor a Sysadmin%0a> %0a> %0a> Here is what we need most:%0a> %0a> Servers%0a> %0a> # Supermicro servers%0a> %0a> Hosting Fees%0a> %0a> # [[https://buyvm.net|BuyVM Hosting]]%0a> # [[https://my2.dataideas.com/|Data Ideas Hosting]]%0a> # [[https://endoffice.com/|End Office]]%0a> # [[https://prq.se/|PRQ.se]]%0a> %0a> Books%0a> %0a> # [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]] ISBN-10: 1593274769 ISBN-13: 978-1-59327-476-4 %0a> # [[https://nostarch.com/pf3|Book of PF]] ISBN-10: 1-59327-589-7 ISBN-13: 978-1-59327-589-1 %0a> # [[https://mwl.io/nonfiction/tools#relayd|Httpd and Relayd Mastery]] ISBN-10: 1-54675-206-4 ISBN-13: 978-1-54675-206-6%0a> # [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029%0a> %0a> Sponsor a Sysadmin%0a\ No newline at end of file%0a +host:1620887630=198.251.81.119 +author:1620887434=jrmu +diff:1620887434:1620887339:=10d9%0a%3c || IRCForever || [[https://www.patreon.com/BananaIrcnow|IRCForever]] ||%0a +host:1620887434=198.251.81.119 +author:1620887339=jrmu +diff:1620887339:1611462414:=6,10d5%0a%3c %0a%3c ||! Teams || Donation Link ||%0a%3c || Lecturify || [[https://en.liberapay.com/lecturify|Liberapay]] ||%0a%3c || OddProtocol || [[https://oddprotocol.org|Paypal]] ||%0a%3c || ThunderIRC || [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|Paypal]] ||%0a +host:1620887339=198.251.81.119 +author:1611462414=jrmu +diff:1611462414:1610693979:=3,10c3,5%0a%3c We are working to help protect [[freedom/freedom|freedom]] on the Internet by building an online community that '''WE THE USERS''' control.%0a%3c %0a%3c Would you like to donate to IRCNow to support an online community for user freedom? We'd be very grateful for any donations. They will go towards training new teammates to learn Unix and open internet standards; developing new software; providing improved documentation; and serving users with essential internet services. All content produced by our staff is released [[freedom/software|freely]] so anyone can copy, share, modify, and use.%0a%3c %0a%3c Sponsor a Sysadmin%0a%3c %0a%3c %0a%3c Here is what we need most:%0a---%0a> We are working to help protect [[freedom/freedom|freedom]] on the Internet. We are working to build an online community that '''WE THE USERS''' control.%0a> %0a> Would you like to donate to IRCNow to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released [[freedom/software|freely]] so anyone can copy, share, modify, and use. Here is what we need most:%0a +host:1611462414=125.231.20.163 +author:1610693979=jrmu +diff:1610693979:1608374440:=5c5%0a%3c Would you like to donate to IRCNow to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released [[freedom/software|freely]] so anyone can copy, share, modify, and use. Here is what we need most:%0a---%0a> Would you like to donate to IRCNow to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released [[openbsd/software|freely]] so anyone can copy, share, modify, and use. Here is what we need most:%0a +host:1610693979=125.231.29.130 +author:1608374440=jrmu +diff:1608374440:1608374427:=23,25c23%0a%3c # [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029%0a%3c %0a%3c Sponsor a Sysadmin%0a\ No newline at end of file%0a---%0a> # [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029%0a\ No newline at end of file%0a +host:1608374440=198.251.81.119 +author:1608374427=jrmu +diff:1608374427:1608374405:=9c9%0a%3c # Supermicro servers%0a---%0a> # Sponsor a dedicated server for a sysadmin-in-training%0a +host:1608374427=198.251.81.119 +author:1608374405=jrmu +diff:1608374405:1608373831:=9c9%0a%3c # Sponsor a dedicated server for a sysadmin-in-training%0a---%0a> # Supermicro dedicated servers%0a +host:1608374405=198.251.81.119 +author:1608373831=jrmu +diff:1608373831:1608373612:=3,5c3,5%0a%3c We are working to help protect [[freedom/freedom|freedom]] on the Internet. We are working to build an online community that '''WE THE USERS''' control.%0a%3c %0a%3c Would you like to donate to IRCNow to support an online community for freedom? If so, we'd be very grateful. Your donations will go towards training new teammates, developing new software, providing new guides, and helping users. All of the content we produce is released [[openbsd/software|freely]] so anyone can copy, share, modify, and use. Here is what we need most:%0a---%0a> We are working to help protect [[freedom/freedom|freedom]] on the Internet. We are working to help defend [[freedom/religious|religious liberty]]%0a> %0a> Would you like to donate to IRCNow to support the free software community? If so, we'd be very grateful. Here is what we need most:%0a +host:1608373831=198.251.81.119 +author:1608373612=jrmu +diff:1608373612:1608373449:=3c3%0a%3c We are working to help protect [[freedom/freedom|freedom]] on the Internet. We are working to help defend [[freedom/religious|religious liberty]]%0a---%0a> We are working to help protect [[freedom/freedom|freedom]] on the Internet.%0a +host:1608373612=198.251.81.119 +author:1608373449=jrmu +diff:1608373449:1608372984:=20,23c20,21%0a%3c # [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]] ISBN-10: 1593274769 ISBN-13: 978-1-59327-476-4 %0a%3c # [[https://nostarch.com/pf3|Book of PF]] ISBN-10: 1-59327-589-7 ISBN-13: 978-1-59327-589-1 %0a%3c # [[https://mwl.io/nonfiction/tools#relayd|Httpd and Relayd Mastery]] ISBN-10: 1-54675-206-4 ISBN-13: 978-1-54675-206-6%0a%3c # [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029 %0a\ No newline at end of file%0a---%0a> # [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]]%0a> # [[https://nostarch.com/pf3|Book of PF]]%0a\ No newline at end of file%0a +host:1608373449=198.251.81.119 +author:1608372984=jrmu +diff:1608372984:1608372807:=2,3d1%0a%3c %0a%3c We are working to help protect [[freedom/freedom|freedom]] on the Internet.%0a +host:1608372984=198.251.81.119 +author:1608372807=jrmu +diff:1608372807:1608372807:=1,19d0%0a%3c (:title Donations:)%0a%3c %0a%3c Would you like to donate to IRCNow to support the free software community? If so, we'd be very grateful. Here is what we need most:%0a%3c %0a%3c Servers%0a%3c %0a%3c # Supermicro dedicated servers%0a%3c %0a%3c Hosting Fees%0a%3c %0a%3c # [[https://buyvm.net|BuyVM Hosting]]%0a%3c # [[https://my2.dataideas.com/|Data Ideas Hosting]]%0a%3c # [[https://endoffice.com/|End Office]]%0a%3c # [[https://prq.se/|PRQ.se]]%0a%3c %0a%3c Books%0a%3c %0a%3c # [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]]%0a%3c # [[https://nostarch.com/pf3|Book of PF]]%0a\ No newline at end of file%0a +host:1608372807=198.251.81.119 blob - /dev/null blob + 55027dfeeb755534a3dc692230b7bc18c488bbe4 (mode 644) --- /dev/null +++ wiki.d/Donations.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1608372807 +host=38.87.162.8 +name=Donations.RecentChanges +rev=26 +text=* [[Donations/Donations]] . . . October 30, 2021, at 09:39 AM by [[~jrmu]]: [==]%0a +time=1635586766 blob - /dev/null blob + 77f24f8d556aada9a89c49e80bfd9ba13aec0cb4 (mode 644) --- /dev/null +++ wiki.d/Dovecot.Install @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1621334182 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Dovecot.Install +rev=15 +targets=Openbsd.Loginconf,Openbsd.Rcctl +text=Let's set up dovecot to allow users to read mail with IMAP and POP.%0a%0a!! Installation%0a%0a[@%0a$ doas pkg_add dovecot%0a@]%0a%0a!! Configuration%0a%0aA single user vmail will receive mail for all virtual users:%0a[@%0a$ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a@]%0a%0a/var/vmail will be used to store virtual users' maildir folders. It will be managed by%0adovecot, which receives mail via LMTP.%0a%0aIn order to secure our passwords, we need to remove world readable permissions%0afrom /etc/mail and change file ownership:%0a%0a[@%0a$ doas chmod -R o-rx /etc/mail/%0a$ doas chown -R _smtpd:_dovecot /etc/mail/%0a@]%0a%0aIn /etc/dovecot/dovecot.conf, add the following lines at the bottom of the file:%0a%0a[@%0aprotocols = imap pop3 lmtp%0alisten = 192.168.0.1, 2001:db8::%0aservice lmtp {%0a user = vmail%0a}%0a@]%0a%0aThis tells dovecot to listen to the protocols IMAP, POP3, and LMTP.%0a'''Note''': We don't want to support submission with dovecot.%0a%0aIt also tells dovecot the public IPs you want it to listen on. Finally, the last%0ablock tells dovecot to change to the username vmail to listen for LMTP.%0a%0aTo aid with troubleshooting, you can consider adding these lines:%0a%0a[@%0a#auth_verbose=yes%0a#auth_debug=yes%0a#auth_debug_passwords=yes%0a#mail_debug=yes%0a#auth_verbose_passwords=sha1%0averbose_ssl=yes%0a@]%0a%0aIn /etc/dovecot/conf.d/10-auth.conf, first comment out auth-system.conf.ext %0a%0a[@%0a#!include auth-system.conf.ext%0a@]%0a%0aThis prevents dovecot from using BSD auth.%0a%0aThen at the bottom of the file, add these lines:%0a%0a[@%0apassdb {%0a args = scheme=blf-crypt /etc/mail/passwd%0a driver = passwd-file%0a}%0a%0auserdb {%0a args = uid=vmail gid=vmail home=/var/vmail/%25d/%25n%0a driver = static%0a}%0a@]%0a%0aThe first block defines our password database to use blowfish (see [[https://man.openbsd.org/blowfish|blowfish(3)]] and [[https://man.openbsd.org/encrypt|encrypt(1)]]).%0a%0aThe second block says that the mail must be read by user ID and group ID vmail, and%0athat all mail will be in the folders /var/vmail/%3cdomain>/%3cusername>.%0a%0aIn /etc/dovecot/conf.d/10-mail.conf:%0a%0a[@%0amail_location = maildir:/var/vmail/%25d/%25n/Maildir%0a@]%0a%0aThis again indicates all mail will be in the folders /var/vmail/%3cdomain>/%3cusername>.%0a%0aIn /etc/dovecot/conf.d/10-ssl.conf, make the changes to these lines:%0a%0a[@%0assl = yes%0a...%0assl_cert = %3c/etc/ssl/example.com.fullchain.pem%0assl_key = %3c/etc/ssl/private/example.com.key%0a@]%0a%0aYou will need to replace example.com with your real domain.%0a%0aPlease read the instructions in the dovecot README in @@/usr/local/share/doc/pkg-readmes/dovecot@@. That file explains that you must add this [[openbsd/loginconf|login class]] to /etc/login.conf:%0a%0a[@%0adovecot:\%0a :openfiles-cur=4096:\%0a :openfiles-max=8192:\%0a :tc=daemon:%0a@]%0a%0a'''WARNING''': You must use tabs and not spaces. If you use spaces in /etc/login.conf, the settings will '''not''' work.%0a%0a'''NOTE''': Allowing more open files than suggested in the README can help if you have many IP addresses.%0a%0a'''WARNING''': If login.conf.db exists, you will need to rebuild it:%0a%0a[@%0a# [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf%0a@]%0a%0aBut it is best to just remove /etc/login.conf.db since it is not required:%0a%0a[@%0a$ doas rm /etc/login.conf.db%0a@]%0a%0a!! Starting dovecot%0a%0aTo start dovecot via [[openbsd/rcctl|rcctl]]:%0a%0a[@%0a$ doas rcctl enable dovecot%0a$ doas rcctl start dovecot%0a@]%0a%0a!! Troubleshooting%0a%0aMake sure to check /var/log/maillog:%0a%0a[@%0a$ openssl s_client -starttls imap -connect username.coconut.ircnow.org:143%0a@]%0a%0aWhen starting dovecot, you may find it fails:%0a%0a[@%0a$ doas rcctl start dovecot%0adovecot(failed)%0a@]%0a%0aWhen this happens, run the rc.d script with debugging turned on:%0a%0a[@%0a$ doas /etc/rc.d/dovecot -d start%0adoing _rc_parse_conf%0adoing _rc_quirks%0adovecot_flags empty, using default >%3c%0adoing rc_check%0adovecot%0adoing rc_start%0adoing _rc_wait start%0adoing rc_check%0adoveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 12: ssl_cert: Can't open file /etc/ssl/dovecotcert.pem: No such file or directory%0adoing _rc_rm_runfile%0a(failed)%0a@]%0a%0aIn this case, you can see the error is in line 12 of /etc/dovecot/conf.d/10-ssl.conf . I forgot to write the real path of the cert: @@/etc/ssl/example.com.fullchain.pem@@ (where example.com is replaced with my real domain).%0a%0a[@%0aJun 9 01:37:35 jrmu dovecot: auth: Error: passwd-file(jrmu@jrmu.host.oddprotocol.org,125.231.25.80,%3caiyNgk/EuHB95xlQ>): stat(/etc/mail/passwd) failed: Permission denied (euid=518(_dovecot) egid=518(_dovecot) missing +x perm: /etc/mail, we're not in group 1003(_mail), dir owned by 95:1003 mode=0750)%0aJun 9 01:37:41 jrmu dovecot: auth: Error: passwd-file(jrmu@jrmu.host.oddprotocol.org,125.231.25.80,%3caiyNgk/EuHB95xlQ>): stat(/etc/mail/passwd) failed: Permission denied (euid=518(_dovecot) egid=518(_dovecot) missing +x perm: /etc/mail, we're not in group 1003(_mail), dir owned by 95:1003 mode=0750)%0a@]%0a +time=1638102641 +author:1638102641=Hawk +diff:1638102641:1629674123:=123,131d122%0a%3c @]%0a%3c %0a%3c !! Starting dovecot%0a%3c %0a%3c To start dovecot via [[openbsd/rcctl|rcctl]]:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable dovecot%0a%3c $ doas rcctl start dovecot%0a +host:1638102641=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1629674123=mkf +diff:1629674123:1629671676:=12c12%0a%3c [@%0a---%0a> %0a14d13%0a%3c @]%0a +host:1629674123=198.251.81.133 +author:1629671676=mkf +diff:1629671676:1625144041:=158d157%0a%3c [@%0a161c160%0a%3c @]%0a---%0a> %0a +host:1629671676=198.251.81.133 +author:1625144041=jrmu +diff:1625144041:1624173605:=10,16d9%0a%3c %0a%3c A single user vmail will receive mail for all virtual users:%0a%3c %0a%3c $ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a%3c %0a%3c /var/vmail will be used to store virtual users' maildir folders. It will be managed by%0a%3c dovecot, which receives mail via LMTP.%0a +host:1625144041=125.224.28.174 +author:1624173605=jrmu +diff:1624173605:1623221713:=11,13c11,13%0a%3c In order to secure our passwords, we need to remove world readable permissions%0a%3c from /etc/mail and change file ownership:%0a%3c %0a---%0a> In order to allow dovecot to read /etc/mail/passwd (which is owned by _mail), we need%0a> to add _dovecot to the _mail group:%0a> %0a15,16c15%0a%3c $ doas chmod -R o-rx /etc/mail/%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/%0a---%0a> $ doas usermod -G _mail _dovecot%0a +host:1624173605=38.81.163.143 +author:1623221713=jrmu +diff:1623221713:1623220959:=149,152d148%0a%3c %0a%3c Jun 9 01:37:35 jrmu dovecot: auth: Error: passwd-file(jrmu@jrmu.host.oddprotocol.org,125.231.25.80,%3caiyNgk/EuHB95xlQ>): stat(/etc/mail/passwd) failed: Permission denied (euid=518(_dovecot) egid=518(_dovecot) missing +x perm: /etc/mail, we're not in group 1003(_mail), dir owned by 95:1003 mode=0750)%0a%3c Jun 9 01:37:41 jrmu dovecot: auth: Error: passwd-file(jrmu@jrmu.host.oddprotocol.org,125.231.25.80,%3caiyNgk/EuHB95xlQ>): stat(/etc/mail/passwd) failed: Permission denied (euid=518(_dovecot) egid=518(_dovecot) missing +x perm: /etc/mail, we're not in group 1003(_mail), dir owned by 95:1003 mode=0750)%0a%3c %0a +host:1623221713=38.81.163.143 +author:1623220959=jrmu +diff:1623220959:1623220200:=124,148d123%0a%3c When starting dovecot, you may find it fails:%0a%3c %0a%3c [@%0a%3c $ doas rcctl start dovecot%0a%3c dovecot(failed)%0a%3c @]%0a%3c %0a%3c When this happens, run the rc.d script with debugging turned on:%0a%3c %0a%3c [@%0a%3c $ doas /etc/rc.d/dovecot -d start%0a%3c doing _rc_parse_conf%0a%3c doing _rc_quirks%0a%3c dovecot_flags empty, using default >%3c%0a%3c doing rc_check%0a%3c dovecot%0a%3c doing rc_start%0a%3c doing _rc_wait start%0a%3c doing rc_check%0a%3c doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 12: ssl_cert: Can't open file /etc/ssl/dovecotcert.pem: No such file or directory%0a%3c doing _rc_rm_runfile%0a%3c (failed)%0a%3c @]%0a%3c %0a%3c In this case, you can see the error is in line 12 of /etc/dovecot/conf.d/10-ssl.conf . I forgot to write the real path of the cert: @@/etc/ssl/example.com.fullchain.pem@@ (where example.com is replaced with my real domain).%0a +host:1623220959=38.81.163.143 +author:1623220200=jrmu +diff:1623220200:1623219060:=113c113%0a%3c $ doas rm /etc/login.conf.db%0a---%0a> # rm /etc/login.conf.db%0a118,119d117%0a%3c Make sure to check /var/log/maillog:%0a%3c %0a123d120%0a%3c %0a +host:1623220200=38.81.163.143 +author:1623219060=jrmu +diff:1623219060:1623217016:=67,71c67,68%0a%3c The first block defines our password database to use blowfish (see [[https://man.openbsd.org/blowfish|blowfish(3)]] and [[https://man.openbsd.org/encrypt|encrypt(1)]]).%0a%3c %0a%3c The second block says that the mail must be read by user ID and group ID vmail, and%0a%3c that all mail will be in the folders /var/vmail/%3cdomain>/%3cusername>.%0a%3c %0a---%0a> and add the new passdb/userdb conf settings.%0a> %0a78,81c75,76%0a%3c This again indicates all mail will be in the folders /var/vmail/%3cdomain>/%3cusername>.%0a%3c %0a%3c In /etc/dovecot/conf.d/10-ssl.conf, make the changes to these lines:%0a%3c %0a---%0a> In /etc/dovecot/conf.d/10-ssl.conf, I make these changes:%0a> %0a83c78%0a%3c ssl = yes%0a---%0a> ssl = required %0a85,86c80,82%0a%3c ssl_cert = %3c/etc/ssl/example.com.fullchain.pem%0a%3c ssl_key = %3c/etc/ssl/private/example.com.key%0a---%0a> ssl_cert = %3c/etc/ssl/ircnow.org.fullchain.pem%0a> ssl_key = %3c/etc/ssl/private/ircnow.org.key%0a> %0a89,92c85%0a%3c You will need to replace example.com with your real domain.%0a%3c %0a%3c Please read the instructions in the dovecot README in @@/usr/local/share/doc/pkg-readmes/dovecot@@. That file explains that you must add this [[openbsd/loginconf|login class]] to /etc/login.conf:%0a%3c %0a---%0a> As hinted in the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot, you want to add to /etc/login.conf:%0a104,105c97,98%0a%3c '''WARNING''': If login.conf.db exists, you will need to rebuild it:%0a%3c %0a---%0a> Then rebuild login.conf.db:%0a> %0a108,113d100%0a%3c @]%0a%3c %0a%3c But it is best to just remove /etc/login.conf.db since it is not required:%0a%3c %0a%3c [@%0a%3c # rm /etc/login.conf.db%0a +host:1623219060=38.81.163.143 +author:1623217016=jrmu +diff:1623217016:1622990602:=28,33c28,30%0a%3c This tells dovecot to listen to the protocols IMAP, POP3, and LMTP.%0a%3c '''Note''': We don't want to support submission with dovecot.%0a%3c %0a%3c It also tells dovecot the public IPs you want it to listen on. Finally, the last%0a%3c block tells dovecot to change to the username vmail to listen for LMTP.%0a%3c %0a---%0a> We don't want to support submission with dovecot. We only want to listen on our%0a> public IPv4 and IPv6 addresses. We want to provide lmtp with user vmail.%0a> %0a45,46c42,43%0a%3c In /etc/dovecot/conf.d/10-auth.conf, first comment out auth-system.conf.ext %0a%3c %0a---%0a> In /etc/dovecot/conf.d/10-auth.conf, I make these changes:%0a> %0a49,55d45%0a%3c @]%0a%3c %0a%3c This prevents dovecot from using BSD auth.%0a%3c %0a%3c Then at the bottom of the file, add these lines:%0a%3c %0a%3c [@%0a67c57%0a%3c and add the new passdb/userdb conf settings.%0a---%0a> Comment out auth-system.conf.ext and add the new passdb/userdb conf settings.%0a +host:1623217016=38.81.163.143 +author:1622990602=mkf +csum:1622990602=ssl_dh_parameters_length is not required anymore +diff:1622990602:1622797748:=72c72%0a%3c %0a---%0a> ssl_dh_parameters_length = 2048%0a +host:1622990602=188.226.131.252 +author:1622797748=jrmu +diff:1622797748:1622797722:=12,13c12,13%0a%3c to add _dovecot to the _mail group:%0a%3c %0a---%0a> to add dovecot to the _mail group:%0a> %0a15c15%0a%3c $ doas usermod -G _mail _dovecot%0a---%0a> $ doas usermod -G _mail dovecot%0a +host:1622797748=38.81.163.143 +author:1622797722=jrmu +diff:1622797722:1622719537:=10,16d9%0a%3c %0a%3c In order to allow dovecot to read /etc/mail/passwd (which is owned by _mail), we need%0a%3c to add dovecot to the _mail group:%0a%3c %0a%3c [@%0a%3c $ doas usermod -G _mail dovecot%0a%3c @]%0a +host:1622797722=38.81.163.143 +author:1622719537=jrmu +diff:1622719537:1621334182:=1,4c1,2%0a%3c Let's set up dovecot to allow users to read mail with IMAP and POP.%0a%3c %0a%3c !! Installation%0a%3c %0a---%0a> Here is how I set up dovecot.%0a> %0a9,12c7,8%0a%3c !! Configuration%0a%3c %0a%3c In /etc/dovecot/dovecot.conf, add the following lines at the bottom of the file:%0a%3c %0a---%0a> In /etc/dovecot/dovecot.conf, add these lines at the very bottom:%0a> %0a14,15d9%0a%3c protocols = imap pop3 lmtp%0a%3c listen = 192.168.0.1, 2001:db8::%0a18a13,19%0a> %0a> #auth_verbose=yes%0a> #auth_debug=yes%0a> #auth_debug_passwords=yes%0a> #mail_debug=yes%0a> #auth_verbose_passwords=sha1%0a> verbose_ssl=yes%0a21,33c22,25%0a%3c We don't want to support submission with dovecot. We only want to listen on our%0a%3c public IPv4 and IPv6 addresses. We want to provide lmtp with user vmail.%0a%3c %0a%3c To aid with troubleshooting, you can consider adding these lines:%0a%3c %0a%3c [@%0a%3c #auth_verbose=yes%0a%3c #auth_debug=yes%0a%3c #auth_debug_passwords=yes%0a%3c #mail_debug=yes%0a%3c #auth_verbose_passwords=sha1%0a%3c verbose_ssl=yes%0a%3c @]%0a---%0a> You can turn on debugging, verbose ssl, and so forth as you need to help troubleshoot.%0a> %0a> In /etc/dovecot/conf.d/10-auth.conf, I make these changes:%0a> %0a +host:1622719537=38.81.163.143 +author:1621334182=jrmu +diff:1621334182:1621334182:=1,79d0%0a%3c Here is how I set up dovecot.%0a%3c %0a%3c [@%0a%3c $ doas pkg_add dovecot%0a%3c @]%0a%3c %0a%3c In /etc/dovecot/dovecot.conf, add these lines at the very bottom:%0a%3c %0a%3c [@%0a%3c service lmtp {%0a%3c user = vmail%0a%3c }%0a%3c %0a%3c #auth_verbose=yes%0a%3c #auth_debug=yes%0a%3c #auth_debug_passwords=yes%0a%3c #mail_debug=yes%0a%3c #auth_verbose_passwords=sha1%0a%3c verbose_ssl=yes%0a%3c @]%0a%3c %0a%3c You can turn on debugging, verbose ssl, and so forth as you need to help troubleshoot.%0a%3c %0a%3c In /etc/dovecot/conf.d/10-auth.conf, I make these changes:%0a%3c %0a%3c [@%0a%3c #!include auth-system.conf.ext%0a%3c passdb {%0a%3c args = scheme=blf-crypt /etc/mail/passwd%0a%3c driver = passwd-file%0a%3c }%0a%3c %0a%3c userdb {%0a%3c args = uid=vmail gid=vmail home=/var/vmail/%25d/%25n%0a%3c driver = static%0a%3c }%0a%3c @]%0a%3c %0a%3c Comment out auth-system.conf.ext and add the new passdb/userdb conf settings.%0a%3c %0a%3c In /etc/dovecot/conf.d/10-mail.conf:%0a%3c %0a%3c [@%0a%3c mail_location = maildir:/var/vmail/%25d/%25n/Maildir%0a%3c @]%0a%3c %0a%3c In /etc/dovecot/conf.d/10-ssl.conf, I make these changes:%0a%3c %0a%3c [@%0a%3c ssl = required %0a%3c ...%0a%3c ssl_cert = %3c/etc/ssl/ircnow.org.fullchain.pem%0a%3c ssl_key = %3c/etc/ssl/private/ircnow.org.key%0a%3c ssl_dh_parameters_length = 2048%0a%3c @]%0a%3c %0a%3c As hinted in the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot, you want to add to /etc/login.conf:%0a%3c [@%0a%3c dovecot:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8192:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c '''WARNING''': You must use tabs and not spaces. If you use spaces in /etc/login.conf, the settings will '''not''' work.%0a%3c %0a%3c '''NOTE''': Allowing more open files than suggested in the README can help if you have many IP addresses.%0a%3c %0a%3c Then rebuild login.conf.db:%0a%3c %0a%3c [@%0a%3c # [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c [@%0a%3c $ openssl s_client -starttls imap -connect username.coconut.ircnow.org:143%0a%3c @]%0a +host:1621334182=38.81.163.143 blob - /dev/null blob + fa3ce5776ab3bd932dda18786fba3425bbbd9fc2 (mode 644) --- /dev/null +++ wiki.d/Dovecot.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +charset=UTF-8 +ctime=1621334182 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Dovecot.RecentChanges +rev=15 +text=* [[Dovecot/Install]] . . . November 28, 2021, at 12:30 PM by [[~Hawk]]: [==]%0a +time=1638102641 blob - /dev/null blob + 0fc0e6cdd4565fd5f28dbbee8b3ef99e3879d07f (mode 644) --- /dev/null +++ wiki.d/Eggdrop.DuckHunt @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626503694 +host=38.87.162.8 +name=Eggdrop.DuckHunt +rev=1 +targets= +text=DuckHunt will run on Eggdrop 1.8 with some modifications%0a%0aThe original page for the script:%0a%0ahttps://scripts.eggdrop.fr/details-Duck+Hunt-s228.html%0a%0aline 45 in Duck_Hunt.tcl:%0a%0a[@%0aif { [regsub -all {\.} [lindex $::version 0] ""] %3c 1620 } { putloglev o * "\00304\[Duck Hunt - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Duck Hunt ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou suprieure." ; return }%0a@]%0a%0aPut a # at the beginning of the line to comment it out%0a +time=1626503694 +author:1626503694=jrmu +diff:1626503694:1626503694:=1,13d0%0a%3c DuckHunt will run on Eggdrop 1.8 with some modifications%0a%3c %0a%3c The original page for the script:%0a%3c %0a%3c https://scripts.eggdrop.fr/details-Duck+Hunt-s228.html%0a%3c %0a%3c line 45 in Duck_Hunt.tcl:%0a%3c %0a%3c [@%0a%3c if { [regsub -all {\.} [lindex $::version 0] ""] %3c 1620 } { putloglev o * "\00304\[Duck Hunt - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Duck Hunt ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou suprieure." ; return }%0a%3c @]%0a%3c %0a%3c Put a # at the beginning of the line to comment it out%0a +host:1626503694=38.87.162.8 blob - /dev/null blob + 8a0e01e179a010b4fb8f540e10d34d162254ec76 (mode 644) --- /dev/null +++ wiki.d/Eggdrop.Install @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1623401998 +host=38.87.162.8 +name=Eggdrop.Install +rev=11 +targets=Gnupg.Signature,Eggdrop.Simple,Openbsd.Tcltls +text=(:redirect eggdrop191.install:)%0a(:title Install Eggdrop 1.9.1:)%0a%0aTo install eggdrop:%0a%0a[@%0a$ cd ~%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz%0a@]%0a%0a'''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gnupg/signature|GPG]]:%0a%0a[@%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz.asc%0a$ ftp https://www.eggheads.org/gpg/eggheads.pub%0a$ gpg --import eggheads.pub%0a$ gpg --verify eggdrop-1.9.1.tar.gz.asc eggdrop-1.9.1.tar.gz%0agpg: Signature made Mon May 31 23:45:58 2021 CST%0agpg: using RSA key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0agpg: Good signature from "Eggheads Development Group (Eggdrop Signing Key) %3ceggdrop@eggheads.org>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E01C 2404 84DE 7DBE 190F E141 E766 7DE1 D1A3 9AFF%0a@]%0a%0aYou should see a message similar to above, showing that there is a good signature. If it reports a bad signature, you should stop and repeat the steps above. If the problem continues, report the issue.%0a%0aExtract the tarball then compile.%0a%0a[@%0a$ tar xvzf eggdrop-1.9.1.tar.gz%0a$ cd eggdrop-1.9.1%0a$ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a$ make config%0a$ make%0a@]%0a%0aIn the next step, you want to replace %3cbotname> with your bot's name. This will install eggdrop into that folder:%0a%0a[@%0a$ make install DEST=~/%3cbotname>%0a@]%0a%0aFor example, if your bot is examplebot, you might run:%0a%0a[@%0a$ make install DEST=~/examplebot%0a@]%0a%0a'''OPTIONAL''': Delete the tarball and source files:%0a%0a[@%0a$ cd ~%0a$ rm ~/eggdrop-1.9.1.tar.gz%0a$ rm ~/eggheads.pub%0a$ rm -r ~/eggdrop-1.9.1%0a@]%0a%0aReplace %3cbotname> with your bot's name:%0a%0a[@%0a$ cd ~/%3cbotname>%0a@]%0a%0aAfterwards, you will want to [[eggdrop/simple|configure eggdrop.conf]].%0a%0a!! Troubleshooting%0a%0aCheck logs/ for error messages.%0a%0a# [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0aThis is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a%0aEdit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a[@%0a$ ./eggdrop -m %3cconfiguration filename>.conf%0a@]%0a%0aTo verify the signature:%0a%0a[@%0a$ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a@]%0a +time=1627881060 +title=Install Eggdrop 1.9.1 +author:1627881060=jrmu +diff:1627881060:1627827373:=1d0%0a%3c (:redirect eggdrop191.install:)%0a +host:1627881060=38.87.162.8 +author:1627827373=jrmu +diff:1627827373:1627803234:=64,75c64,341%0a%3c Afterwards, you will want to [[eggdrop/simple|configure eggdrop.conf]].%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Check logs/ for error messages.%0a%3c %0a%3c # [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a---%0a> Edit eggdrop.conf:%0a> %0a> [@%0a> set admin "ABC" %0a> set nick "Shooter" %0a> set altnick "Shooter_" %0a> set realname "Channel Bot"%0a> %0a> AN example of Set Server:%0a> %0a> set network "ircnow" %0a> set net-type "5"%0a> set init-server { putserv "mode Shooter i" }%0a> set default-port 6667%0a> set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a> @]%0a> %0a> %0a> Here is a simple configuration file to use.%0a> Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a> Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a> %0a> %0a> [@%0a> ### Core Settings ### %0a> %0a> set admin "OWNERNICK" %0a> set nick "BOTNICK" %0a> set altnick "ALTBOTNICK" %0a> set realname "CHANNEL BOT"%0a> %0a> #### SERVER MODULE ####%0a> # What is your network?%0a> # Type = Network Name%0a> # 0 = EFnet%0a> # 1 = IRCnet%0a> # 2 = Undernet%0a> # 3 = DALnet%0a> # 4 = +e/+I/max-modes 20 Hybrid%0a> # 5 = Others%0a> %0a> set network "NETWORK NAME" %0a> set net-type "5" %0a> set init-server { putserv "mode BOTNICK i" } %0a> set default-port 6667 %0a> set servers {%0a> YOU.NEED.TO.CHANGE.THIS:6667%0a> ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a> SSL.EXAMPLE.NET:+6697%0a> }%0a> set timezone "GMT" %0a> set offset "0" %0a> set env(TZ) "$timezone $offset" %0a> set my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0a> set my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a> %0a> ### Logfile Settings ### %0a> %0a> set max-logs 5 %0a> set max-logsize 0 %0a> set quick-logs 0 %0a> set raw-log 0%0a> logfile mcobxs * "logs/BOTNICK.log"%0a> logfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0a> set log-time 1 %0a> set keep-all-logs 1 %0a> set logfile-suffix ".%25d%25b%25Y"%0a> set switch-logfiles-at 300 %0a> set quiet-save 0 %0a> %0a> ### Console Settings ### %0a> %0a> set console "mkcobxs" %0a> %0a> ### File & Directory Settings ### %0a> # Replace "BOTNICK" below with your bot nick.%0a> %0a> set userfile "BOTNICK.user" %0a> set pidfile "pid.BOTNICK" %0a> set chanfile "BOTNICK.chan" %0a> set force-expire 0 %0a> set share-greet 0 %0a> set use-info 1 %0a> set sort-users 0 %0a> set help-path "help/" %0a> set text-path "text/" %0a> set temp-path "/tmp" %0a> set motd "text/motd" %0a> set telnet-banner "text/banner" %0a> set userfile-perm 0600 %0a> set mod-path "modules/" %0a> %0a> ##### BOTNET/DCC/TELNET #####%0a> # Replace "BOTNICK" below with your bot nick.%0a> %0a> set botnet-nick "BOTNICK" %0a> %0a> # If you wish to use only one port, use this format:%0a> # listen 3333 all%0a> # change the port number in order to open%0a> # the listen port. You should not keep this set to 3333.%0a> # Put your shell/server listening port below and uncomment it. (remove # )%0a> %0a> #listen 1337 all %0a> set remote-boots 0 %0a> set shareunlinks 0- %0a> set protect-telnet 1 %0a> set dcc-sanitycheck 1 %0a> set ident-timeout 0 %0a> set require-p 1 %0a> set open-telnets 1 %0a> set stealth-telnets 0 %0a> set use-telnet-banner 0 %0a> set connect-timeout 30 %0a> set dcc-flood-thr 3 %0a> set telnet-flood 5:60 %0a> set paranoid-telnet-flood 1 %0a> set resolve-timeout 15 %0a> %0a> ### Channel Settings ### %0a> %0a> loadmodule channels %0a> set default-flood-chan 15:60%0a> set default-flood-deop 3:10%0a> set default-flood-kick 3:10%0a> set default-flood-join 5:60%0a> set default-flood-ctcp 3:60%0a> set default-flood-nick 5:60%0a> set default-aop-delay 0:00%0a> set default-idle-kick 0%0a> set default-chanmode "nt"%0a> set default-stopnethack-mode 0%0a> set default-revenge-mode 0%0a> set default-ban-type 3%0a> set default-ban-time 120%0a> set default-exempt-time 60%0a> set default-invite-time 60%0a> %0a> set default-chanset {%0a> -autoop -autovoice%0a> -bitch +cycle%0a> +dontkickops +dynamicbans%0a> +dynamicexempts +dynamicinvites%0a> -enforcebans +greet%0a> -inactive -nodesynch%0a> -protectfriends +protectops%0a> -revenge -revengebot%0a> -secret -seen%0a> +shared -statuslog%0a> +userbans +userexempts%0a> +userinvites -protecthalfops%0a> -autohalfop -static%0a> }%0a> %0a> # Replace your channel name with below-mentioned CHANNELNAME%0a> %0a> channel add #CHANNELNAME { %0a> chanmode "+tn" %0a> idle-kick 0 %0a> flood-chan 5:4 %0a> flood-join 5:10 %0a> flood-ctcp 3:60 %0a> flood-deop 0:0 %0a> flood-kick 0:0 } %0a> channel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a> %0a> %0a> ### Advanced Settings ### %0a> %0a> set ignore-time 5 %0a> set hourly-updates 00 %0a> %0a> # Replace Your nick name with below mention “OWNERNICK”%0a> %0a> set owner "OWNERNICK" %0a> %0a> # Also replace below mention port no 1337 with your listening port no.%0a> %0a> set notify-newusers "1337" %0a> %0a> set default-flags "hp" %0a> set whois-fields "url birthday" %0a> set die-on-sighup 0 %0a> set die-on-sigterm 1%0a> %0a> %0a> # if you wish to disable the .tcl and .set commands.%0a> # Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a> %0a> #unbind dcc n tcl *dcc:tcl %0a> #unbind dcc n set *dcc:set %0a> set muste-owner 1%0a> unbind dcc n simul *dcc:simul %0a> set max-dcc 50 %0a> set enable-simul 1 %0a> set allow-dk-cmds 1 %0a> set dupwait-timeout 5 %0a> %0a> ### Module Settings ### %0a> loadmodule dns%0a> loadmodule transfer %0a> loadmodule share %0a> loadmodule server %0a> loadmodule ctcp %0a> loadmodule irc %0a> loadmodule notes %0a> loadmodule console %0a> loadmodule blowfish %0a> checkmodule blowfish %0a> loadmodule uptime %0a> loadmodule channels%0a> set keep-nick 1 %0a> set strict-host 0 %0a> set quiet-reject 1 %0a> set lowercase-ctcp 0 %0a> set answer-ctcp 3 %0a> set flood-msg 5:5 %0a> set flood-ctcp 3:60 %0a> set never-give-up 1 %0a> set strict-servernames 0 %0a> set server-cycle-wait 60 %0a> set server-timeout 60 %0a> set servlimit 0 %0a> set check-stoned 1 %0a> set use-console-r 0 %0a> set debug-output 0 %0a> set serverror-quit 1 %0a> set max-queue-msg 300 %0a> set trigger-on-ignore 0 %0a> set double-mode 0 %0a> set double-server 0 %0a> set double-help 0 %0a> set optimize-kicks 1 %0a> set stack-limit 4 %0a> set ctcp-mode 0 %0a> set bounce-bans 1 %0a> set bounce-modes 0 %0a> set max-bans 100 %0a> set max-modes 30 %0a> set kick-fun 0 %0a> set ban-fun 0 %0a> set learn-users 0 %0a> set wait-split 600 %0a> set wait-info 180 %0a> set mode-buf-length 200 %0a> bind msg - ident *msg:ident %0a> bind msg - addhost *msg:addhost %0a> set no-chanrec-info 0 %0a> set bounce-exempts 0 %0a> set bounce-invites 0 %0a> set max-exempts 20 %0a> set max-invites 20 %0a> set prevent-mixing 1 %0a> set max-dloads 3 %0a> set dcc-block 1024 %0a> set copy-to-tmp 1 %0a> set xfer-timeout 30 %0a> set share-compressed 1 %0a> set max-notes 50 %0a> set note-life 60 %0a> set allow-fwd 0 %0a> set notify-users 1 %0a> set notify-onjoin 1 %0a> set console-autosave 1 %0a> set force-channel 0 %0a> set info-party 0 %0a> %0a> ### Script Settings ### %0a> # For additional TCL scripts, addition can be made under Script Settings .%0a> # You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a> # and then can add below line as source scripts/example.tcl%0a> # Resash the eggdrop after adding the scripts to work.%0a> %0a> source scripts/alltools.tcl %0a> source scripts/action.fix.tcl %0a> source scripts/cmd_resolve.tcl %0a> source scripts/compat.tcl%0a> @]%0a +host:1627827373=38.87.162.8 +author:1627803234=jrmu +diff:1627803234:1627802890:=54d53%0a%3c $ rm ~/eggheads.pub%0a58,59d56%0a%3c Replace %3cbotname> with your bot's name:%0a%3c %0a64,65c61%0a%3c Edit eggdrop.conf:%0a%3c %0a---%0a> Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a67,78c63%0a%3c set admin "ABC" %0a%3c set nick "Shooter" %0a%3c set altnick "Shooter_" %0a%3c set realname "Channel Bot"%0a%3c %0a%3c AN example of Set Server:%0a%3c %0a%3c set network "ircnow" %0a%3c set net-type "5"%0a%3c set init-server { putserv "mode Shooter i" }%0a%3c set default-port 6667%0a%3c set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a---%0a> $ ./eggdrop -m %3cconfiguration filename>.conf%0a81,86c66,67%0a%3c %0a%3c Here is a simple configuration file to use.%0a%3c Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a%3c Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%3c %0a%3c %0a---%0a> To verify the signature:%0a> %0a87a69,98%0a> $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a> @]%0a> %0a> %0a> An Example for below configuration file.%0a> %0a> [@%0a> Core Setting Example:%0a> %0a> set admin "ABC" %0a> set nick "Shooter" %0a> set altnick "Shooter_" %0a> set realname "Channel Bot"%0a> %0a> AN example of Set Server:%0a> %0a> set network "ircnow" %0a> set net-type "5"%0a> set init-server { putserv "mode Shooter i" }%0a> set default-port 6667%0a> set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a> @]%0a> %0a> %0a> Here is a simple configuration file to use.%0a> Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a> Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a> %0a> %0a> [@%0a349,359d359%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a%3c @]%0a%3c %0a%3c To verify the signature:%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c @]%0a +host:1627803234=38.87.162.8 +author:1627802890=jrmu +diff:1627802890:1627802337:=43,44c43,44%0a%3c For example, if your bot is examplebot, you might run:%0a%3c %0a---%0a> For example, you might run @@$ make install DEST=~/examplebot@@ if your bot is examplebot.%0a> %0a46c46,47%0a%3c $ make install DEST=~/examplebot%0a---%0a> $ cd ~%0a> $ cd eggdrop%0a49,50c50,51%0a%3c '''OPTIONAL''': Delete the tarball and source files:%0a%3c %0a---%0a> '''OPTIONAL''': Delete the tarball:%0a> %0a52,54c53%0a%3c $ cd ~%0a%3c $ rm ~/eggdrop-1.9.1.tar.gz%0a%3c $ rm -r ~/eggdrop-1.9.1%0a---%0a> $ rm eggdrop-1.9.1.tar.gz%0a56,60d54%0a%3c %0a%3c [@%0a%3c $ cd ~/%3cbotname>%0a%3c @]%0a%3c %0a +host:1627802890=38.87.162.8 +author:1627802337=jrmu +diff:1627802337:1627802070:=27,28c27,28%0a%3c Extract the tarball then compile.%0a%3c %0a---%0a> Extract the tarball then compile:%0a> %0a35,45c35,37%0a%3c @]%0a%3c %0a%3c In the next step, you want to replace %3cbotname> with your bot's name. This will install eggdrop into that folder:%0a%3c %0a%3c [@%0a%3c $ make install DEST=~/%3cbotname>%0a%3c @]%0a%3c %0a%3c For example, you might run @@$ make install DEST=~/examplebot@@ if your bot is examplebot.%0a%3c %0a%3c [@%0a---%0a> $ make install%0a> $ cd ~%0a> $ cd eggdrop%0a +host:1627802337=38.87.162.8 +author:1627802070=jrmu +diff:1627802070:1627801748:=25,28c25,28%0a%3c You should see a message similar to above, showing that there is a good signature. If it reports a bad signature, you should stop and repeat the steps above. If the problem continues, report the issue.%0a%3c %0a%3c Extract the tarball then compile:%0a%3c %0a---%0a> You should see a message similar to above, showing that there is a good signature.%0a> %0a> We then extract the tarball:%0a> %0a30,31c30,32%0a%3c $ tar xvzf eggdrop-1.9.1.tar.gz%0a%3c $ cd eggdrop-1.9.1%0a---%0a> $ tar xvzf eggdrop-1.8.4.tar.gz%0a> $ rm eggdrop-1.8.4.tar.gz%0a> $ cd eggdrop-1.8.4%0a40,44d40%0a%3c '''OPTIONAL''': Delete the tarball:%0a%3c %0a%3c [@%0a%3c $ rm eggdrop-1.9.1.tar.gz%0a%3c @]%0a +host:1627802070=38.87.162.8 +author:1627801748=jrmu +diff:1627801748:1627801572:=1,2d0%0a%3c (:title Install Eggdrop 1.9.1:)%0a%3c %0a +host:1627801748=38.87.162.8 +author:1627801572=jrmu +diff:1627801572:1627801517:=8c8%0a%3c '''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gnupg/signature|GPG]]:%0a---%0a> '''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gpg/signature|GPG]]:%0a +host:1627801572=38.87.162.8 +author:1627801517=jrmu +diff:1627801517:1627801451:=8c8%0a%3c '''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gpg/signature|GPG]]:%0a---%0a> '''OPTIONAL''': to verify that your eggdrop was downloaded securely:%0a +host:1627801517=38.87.162.8 +author:1627801451=jrmu +diff:1627801451:1623401998:=5c5,6%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz%0a---%0a> $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a> $ sha256 eggdrop-1.8.4.tar.gz%0a8,25c9,10%0a%3c '''OPTIONAL''': to verify that your eggdrop was downloaded securely:%0a%3c %0a%3c [@%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz.asc%0a%3c $ ftp https://www.eggheads.org/gpg/eggheads.pub%0a%3c $ gpg --import eggheads.pub%0a%3c $ gpg --verify eggdrop-1.9.1.tar.gz.asc eggdrop-1.9.1.tar.gz%0a%3c gpg: Signature made Mon May 31 23:45:58 2021 CST%0a%3c gpg: using RSA key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c gpg: Good signature from "Eggheads Development Group (Eggdrop Signing Key) %3ceggdrop@eggheads.org>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E01C 2404 84DE 7DBE 190F E141 E766 7DE1 D1A3 9AFF%0a%3c @]%0a%3c %0a%3c You should see a message similar to above, showing that there is a good signature.%0a%3c %0a%3c We then extract the tarball:%0a---%0a> The SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a> %0a +host:1627801451=38.87.162.8 +author:1623401998=jrmu +diff:1623401998:1623401998:=1,321d0%0a%3c To install eggdrop:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a%3c $ sha256 eggdrop-1.8.4.tar.gz%0a%3c @]%0a%3c %0a%3c The SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a%3c %0a%3c [@%0a%3c $ tar xvzf eggdrop-1.8.4.tar.gz%0a%3c $ rm eggdrop-1.8.4.tar.gz%0a%3c $ cd eggdrop-1.8.4%0a%3c $ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a%3c $ make config%0a%3c $ make%0a%3c $ make install%0a%3c $ cd ~%0a%3c $ cd eggdrop%0a%3c @]%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a%3c @]%0a%3c %0a%3c To verify the signature:%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c @]%0a%3c %0a%3c %0a%3c An Example for below configuration file.%0a%3c %0a%3c [@%0a%3c Core Setting Example:%0a%3c %0a%3c set admin "ABC" %0a%3c set nick "Shooter" %0a%3c set altnick "Shooter_" %0a%3c set realname "Channel Bot"%0a%3c %0a%3c AN example of Set Server:%0a%3c %0a%3c set network "ircnow" %0a%3c set net-type "5"%0a%3c set init-server { putserv "mode Shooter i" }%0a%3c set default-port 6667%0a%3c set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a%3c @]%0a%3c %0a%3c %0a%3c Here is a simple configuration file to use.%0a%3c Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a%3c Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%3c %0a%3c %0a%3c [@%0a%3c ### Core Settings ### %0a%3c %0a%3c set admin "OWNERNICK" %0a%3c set nick "BOTNICK" %0a%3c set altnick "ALTBOTNICK" %0a%3c set realname "CHANNEL BOT"%0a%3c %0a%3c #### SERVER MODULE ####%0a%3c # What is your network?%0a%3c # Type = Network Name%0a%3c # 0 = EFnet%0a%3c # 1 = IRCnet%0a%3c # 2 = Undernet%0a%3c # 3 = DALnet%0a%3c # 4 = +e/+I/max-modes 20 Hybrid%0a%3c # 5 = Others%0a%3c %0a%3c set network "NETWORK NAME" %0a%3c set net-type "5" %0a%3c set init-server { putserv "mode BOTNICK i" } %0a%3c set default-port 6667 %0a%3c set servers {%0a%3c YOU.NEED.TO.CHANGE.THIS:6667%0a%3c ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a%3c SSL.EXAMPLE.NET:+6697%0a%3c }%0a%3c set timezone "GMT" %0a%3c set offset "0" %0a%3c set env(TZ) "$timezone $offset" %0a%3c set my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0a%3c set my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a%3c %0a%3c ### Logfile Settings ### %0a%3c %0a%3c set max-logs 5 %0a%3c set max-logsize 0 %0a%3c set quick-logs 0 %0a%3c set raw-log 0%0a%3c logfile mcobxs * "logs/BOTNICK.log"%0a%3c logfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0a%3c set log-time 1 %0a%3c set keep-all-logs 1 %0a%3c set logfile-suffix ".%25d%25b%25Y"%0a%3c set switch-logfiles-at 300 %0a%3c set quiet-save 0 %0a%3c %0a%3c ### Console Settings ### %0a%3c %0a%3c set console "mkcobxs" %0a%3c %0a%3c ### File & Directory Settings ### %0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set userfile "BOTNICK.user" %0a%3c set pidfile "pid.BOTNICK" %0a%3c set chanfile "BOTNICK.chan" %0a%3c set force-expire 0 %0a%3c set share-greet 0 %0a%3c set use-info 1 %0a%3c set sort-users 0 %0a%3c set help-path "help/" %0a%3c set text-path "text/" %0a%3c set temp-path "/tmp" %0a%3c set motd "text/motd" %0a%3c set telnet-banner "text/banner" %0a%3c set userfile-perm 0600 %0a%3c set mod-path "modules/" %0a%3c %0a%3c ##### BOTNET/DCC/TELNET #####%0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set botnet-nick "BOTNICK" %0a%3c %0a%3c # If you wish to use only one port, use this format:%0a%3c # listen 3333 all%0a%3c # change the port number in order to open%0a%3c # the listen port. You should not keep this set to 3333.%0a%3c # Put your shell/server listening port below and uncomment it. (remove # )%0a%3c %0a%3c #listen 1337 all %0a%3c set remote-boots 0 %0a%3c set shareunlinks 0- %0a%3c set protect-telnet 1 %0a%3c set dcc-sanitycheck 1 %0a%3c set ident-timeout 0 %0a%3c set require-p 1 %0a%3c set open-telnets 1 %0a%3c set stealth-telnets 0 %0a%3c set use-telnet-banner 0 %0a%3c set connect-timeout 30 %0a%3c set dcc-flood-thr 3 %0a%3c set telnet-flood 5:60 %0a%3c set paranoid-telnet-flood 1 %0a%3c set resolve-timeout 15 %0a%3c %0a%3c ### Channel Settings ### %0a%3c %0a%3c loadmodule channels %0a%3c set default-flood-chan 15:60%0a%3c set default-flood-deop 3:10%0a%3c set default-flood-kick 3:10%0a%3c set default-flood-join 5:60%0a%3c set default-flood-ctcp 3:60%0a%3c set default-flood-nick 5:60%0a%3c set default-aop-delay 0:00%0a%3c set default-idle-kick 0%0a%3c set default-chanmode "nt"%0a%3c set default-stopnethack-mode 0%0a%3c set default-revenge-mode 0%0a%3c set default-ban-type 3%0a%3c set default-ban-time 120%0a%3c set default-exempt-time 60%0a%3c set default-invite-time 60%0a%3c %0a%3c set default-chanset {%0a%3c -autoop -autovoice%0a%3c -bitch +cycle%0a%3c +dontkickops +dynamicbans%0a%3c +dynamicexempts +dynamicinvites%0a%3c -enforcebans +greet%0a%3c -inactive -nodesynch%0a%3c -protectfriends +protectops%0a%3c -revenge -revengebot%0a%3c -secret -seen%0a%3c +shared -statuslog%0a%3c +userbans +userexempts%0a%3c +userinvites -protecthalfops%0a%3c -autohalfop -static%0a%3c }%0a%3c %0a%3c # Replace your channel name with below-mentioned CHANNELNAME%0a%3c %0a%3c channel add #CHANNELNAME { %0a%3c chanmode "+tn" %0a%3c idle-kick 0 %0a%3c flood-chan 5:4 %0a%3c flood-join 5:10 %0a%3c flood-ctcp 3:60 %0a%3c flood-deop 0:0 %0a%3c flood-kick 0:0 } %0a%3c channel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a%3c %0a%3c %0a%3c ### Advanced Settings ### %0a%3c %0a%3c set ignore-time 5 %0a%3c set hourly-updates 00 %0a%3c %0a%3c # Replace Your nick name with below mention “OWNERNICK”%0a%3c %0a%3c set owner "OWNERNICK" %0a%3c %0a%3c # Also replace below mention port no 1337 with your listening port no.%0a%3c %0a%3c set notify-newusers "1337" %0a%3c %0a%3c set default-flags "hp" %0a%3c set whois-fields "url birthday" %0a%3c set die-on-sighup 0 %0a%3c set die-on-sigterm 1%0a%3c %0a%3c %0a%3c # if you wish to disable the .tcl and .set commands.%0a%3c # Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a%3c %0a%3c #unbind dcc n tcl *dcc:tcl %0a%3c #unbind dcc n set *dcc:set %0a%3c set muste-owner 1%0a%3c unbind dcc n simul *dcc:simul %0a%3c set max-dcc 50 %0a%3c set enable-simul 1 %0a%3c set allow-dk-cmds 1 %0a%3c set dupwait-timeout 5 %0a%3c %0a%3c ### Module Settings ### %0a%3c loadmodule dns%0a%3c loadmodule transfer %0a%3c loadmodule share %0a%3c loadmodule server %0a%3c loadmodule ctcp %0a%3c loadmodule irc %0a%3c loadmodule notes %0a%3c loadmodule console %0a%3c loadmodule blowfish %0a%3c checkmodule blowfish %0a%3c loadmodule uptime %0a%3c loadmodule channels%0a%3c set keep-nick 1 %0a%3c set strict-host 0 %0a%3c set quiet-reject 1 %0a%3c set lowercase-ctcp 0 %0a%3c set answer-ctcp 3 %0a%3c set flood-msg 5:5 %0a%3c set flood-ctcp 3:60 %0a%3c set never-give-up 1 %0a%3c set strict-servernames 0 %0a%3c set server-cycle-wait 60 %0a%3c set server-timeout 60 %0a%3c set servlimit 0 %0a%3c set check-stoned 1 %0a%3c set use-console-r 0 %0a%3c set debug-output 0 %0a%3c set serverror-quit 1 %0a%3c set max-queue-msg 300 %0a%3c set trigger-on-ignore 0 %0a%3c set double-mode 0 %0a%3c set double-server 0 %0a%3c set double-help 0 %0a%3c set optimize-kicks 1 %0a%3c set stack-limit 4 %0a%3c set ctcp-mode 0 %0a%3c set bounce-bans 1 %0a%3c set bounce-modes 0 %0a%3c set max-bans 100 %0a%3c set max-modes 30 %0a%3c set kick-fun 0 %0a%3c set ban-fun 0 %0a%3c set learn-users 0 %0a%3c set wait-split 600 %0a%3c set wait-info 180 %0a%3c set mode-buf-length 200 %0a%3c bind msg - ident *msg:ident %0a%3c bind msg - addhost *msg:addhost %0a%3c set no-chanrec-info 0 %0a%3c set bounce-exempts 0 %0a%3c set bounce-invites 0 %0a%3c set max-exempts 20 %0a%3c set max-invites 20 %0a%3c set prevent-mixing 1 %0a%3c set max-dloads 3 %0a%3c set dcc-block 1024 %0a%3c set copy-to-tmp 1 %0a%3c set xfer-timeout 30 %0a%3c set share-compressed 1 %0a%3c set max-notes 50 %0a%3c set note-life 60 %0a%3c set allow-fwd 0 %0a%3c set notify-users 1 %0a%3c set notify-onjoin 1 %0a%3c set console-autosave 1 %0a%3c set force-channel 0 %0a%3c set info-party 0 %0a%3c %0a%3c ### Script Settings ### %0a%3c # For additional TCL scripts, addition can be made under Script Settings .%0a%3c # You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a%3c # and then can add below line as source scripts/example.tcl%0a%3c # Resash the eggdrop after adding the scripts to work.%0a%3c %0a%3c source scripts/alltools.tcl %0a%3c source scripts/action.fix.tcl %0a%3c source scripts/cmd_resolve.tcl %0a%3c source scripts/compat.tcl%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Check logs/ for error messages.%0a%3c %0a%3c # [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a +host:1623401998=38.81.163.143 blob - /dev/null blob + efc4145be4df155ee24d773757a377a8694cd035 (mode 644) --- /dev/null +++ wiki.d/Eggdrop.NickServ,del-1628148425 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628148289 +host=38.87.162.8 +name=Eggdrop.NickServ +rev=1 +targets= +text=To identify with NickServ:%0a%0a[@%0abind evnt - init-server evnt:init_server%0aproc evnt:init_server {type} {%0a global botnick%0a putquick "MODE $botnick +i-ws"%0a putserv "PRIVMSG NickServ :identify %3cpassword>"%0a}%0a@]%0a +time=1628148289 +author:1628148289=jrmu +diff:1628148289:1628148289:=1,10d0%0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c bind evnt - init-server evnt:init_server%0a%3c proc evnt:init_server {type} {%0a%3c global botnick%0a%3c putquick "MODE $botnick +i-ws"%0a%3c putserv "PRIVMSG NickServ :identify %3cpassword>"%0a%3c }%0a%3c @]%0a +host:1628148289=38.87.162.8 blob - /dev/null blob + b3606ca4bbad6dbe94cb00b9f5c27684f3694227 (mode 644) --- /dev/null +++ wiki.d/Eggdrop.Nickserv @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628148447 +host=38.87.162.8 +name=Eggdrop.Nickserv +rev=1 +targets= +text=To identify with NickServ:%0a%0a[@%0abind evnt - init-server evnt:init_server%0aproc evnt:init_server {type} {%0a global botnick%0a putquick "MODE $botnick +i-ws"%0a putserv "PRIVMSG NickServ :identify %3cpassword>"%0a}%0a@]%0a +time=1628148447 +author:1628148447=jrmu +diff:1628148447:1628148447:=1,10d0%0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c bind evnt - init-server evnt:init_server%0a%3c proc evnt:init_server {type} {%0a%3c global botnick%0a%3c putquick "MODE $botnick +i-ws"%0a%3c putserv "PRIVMSG NickServ :identify %3cpassword>"%0a%3c }%0a%3c @]%0a +host:1628148447=38.87.162.8 blob - /dev/null blob + 9a4831e2db863af62ac433513ee0bb49b1056170 (mode 644) --- /dev/null +++ wiki.d/Eggdrop.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1623401998 +host=38.87.162.8 +name=Eggdrop.RecentChanges +rev=26 +text=* [[Eggdrop/Nickserv]] . . . August 05, 2021, at 07:27 AM by [[~jrmu]]: [==]%0a* [[Eggdrop/NickServ]] . . . August 05, 2021, at 07:27 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* [[Eggdrop/DuckHunt]] . . . July 17, 2021, at 06:34 AM by [[~jrmu]]: [==]%0a +time=1628148447 blob - /dev/null blob + b88c011a9be1dc8476a5a80cbe8f04ffefa8866f (mode 644) --- /dev/null +++ wiki.d/Eggdrop.Simple @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627828009 +host=38.87.162.8 +name=Eggdrop.Simple +rev=11 +targets=Tls.Intro,Dns.Vhost,Dns.Overview,DNS.RDNS +text=(:title Configure simple eggdrop.conf:)%0a%0aEggdrop has a very complex configuration file which can overwhelm new users. To make things simpler, we focus on just the most essential settings you must change.%0a%0aCreate a new file inside ~/%3cbotname>/ called examplebot.conf:%0a%0a[@%0aset username "botusername"%0aset admin "username %3cemail: username@example.com>"%0aset nick "botnick"%0aset altnick "botn?ck"%0aset realname "/msg botnick hello"%0aset network "Your Network"%0aset userfile "botusername.user"%0aset chanfile "botusername.chan"%0a@]%0a%0aReplace with your own settings. For network, use a short simple name instead of theactual server address. For example, the network name might be IRCNow instead of irc.ircnow.org.%0a%0a[@%0aset prefer-ipv6 1%0a@]%0a%0aWe set prefer-ipv6 to 1, meaning eggdrop will attempt to use IPv6 wherever possible. Among other benefits, this will allow our eggdrop to have a unique vhost.%0a%0a[@%0aloadmodule server%0aset net-type "Other"%0aset default-port 6667%0aserver add irc6.example.com +6697%0a@]%0a%0aHere, we configure the network we want to connect to. There are several network types: EFnet, IRCnet, Undernet, DALnet, Libera, freenode, QuakeNet, Rizon, Twitch, and Other. If you're not sure, choose Other.%0a%0aYou'll want to replace irc6.example.com +6697 with your actual server and port. It's best to use an IPv6-only server address. If you're using SSL, make sure to add a + plus sign. If you're using a plaintext port like port 6667, leave out the + plus sign.%0a%0a'''WARNING''': Don't [[tls/intro|confuse plaintext with SSL]]! If you're connecting to port 6667, do '''not''' put a + plus sign in front. If you're connecting to port +6697, '''do''' put a + sign in front.%0a%0aBelow, we set the [[dns/vhost|vhosts]] assigned to us when we created the shell account:%0a%0a[@%0aset vhost4 "username.example.com"%0aset vhost6 "username.example.com"%0a@]%0a%0aYou cannot pick any vhost you want; you must use the vhost given to you when you created the shell account. This is because your vhost must have [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] entries configured in order to work correctly.%0a%0aIf you'd like to pick a different vhost, contact your sysadmin.%0a%0aFinally, we just copy the rest of these lines unchanged into the conf file (Attach:eggdrop-simple.conf.txt):%0a%0a[@%0abind evnt - init-server evnt:init_server%0a%0aproc evnt:init_server {type} {%0a global botnick%0a putquick "MODE $botnick +i-ws"%0a}%0a%0a%0aif {[info exists net-type]} {%0a switch -- ${net-type} {%0a "EFnet" {%0a source scripts/quotepong.tcl%0a }%0a "0" {%0a source scripts/quotepong.tcl%0a }%0a }%0a}%0a@]%0a%0a[@%0aset timezone "EST"%0aset offset "5"%0aset max-logs 20%0aset max-logsize 0%0aset quick-logs 0%0aset raw-log 0%0alogfile mco * "logs/eggdrop.log"%0aset log-time 1%0aset timestamp-format {[%25H:%25M:%25S]}%0aset keep-all-logs 0%0aset logfile-suffix ".%25d%25b%25Y"%0aset switch-logfiles-at 300%0aset quiet-save 0%0aset console "mkcoblxs"%0aset help-path "help/"%0aset text-path "text/"%0aset motd "text/motd"%0aset telnet-banner "text/banner"%0aset userfile-perm 0600%0aset remote-boots 2%0aset share-unlinks 1%0aset protect-telnet 0%0aset dcc-sanitycheck 0%0aset ident-timeout 5%0aset require-p 1%0aset open-telnets 0%0aset stealth-telnets 0%0aset stealth-prompt "\n\nNickname.\n"%0aset use-telnet-banner 0%0aset connect-timeout 15%0aset dcc-flood-thr 3%0aset telnet-flood 5:60%0aset paranoid-telnet-flood 1%0aset ssl-capath "/etc/ssl/"%0aset ignore-time 15%0aset hourly-updates 00%0aset notify-newusers "$owner"%0aset default-flags "hp"%0aset whois-fields "url birthday"%0aset must-be-owner 1%0aunbind dcc n simul *dcc:simul%0aset max-socks 100%0aset allow-dk-cmds 1%0aset dupwait-timeout 5%0aset cidr-support 0%0aset show-uname 1%0a%0aset mod-path "modules/"%0aloadmodule pbkdf2%0aloadmodule blowfish%0aset blowfish-use-mode cbc%0aloadmodule dns%0aset dns-cache 86400%0aset dns-negcache 600%0aset dns-maxsends 4%0aset dns-retrydelay 3%0aloadmodule channels%0aset force-expire 0%0aset share-greet 0%0aset use-info 1%0aset allow-ps 0%0a%0aset default-flood-chan 15:60%0aset default-flood-deop 3:10%0aset default-flood-kick 3:10%0aset default-flood-join 5:60%0aset default-flood-ctcp 3:60%0aset default-flood-nick 5:60%0aset default-aop-delay 5:30%0aset default-idle-kick 0%0aset default-chanmode "nt"%0aset default-stopnethack-mode 0%0aset default-revenge-mode 0%0aset default-ban-type 3%0aset default-ban-time 120%0aset default-exempt-time 60%0aset default-invite-time 60%0a%0aset default-chanset {%0a -autoop -autovoice%0a -bitch +cycle%0a +dontkickops +dynamicbans%0a +dynamicexempts +dynamicinvites%0a -enforcebans +greet%0a -inactive -nodesynch%0a -protectfriends +protectops%0a -revenge -revengebot%0a -secret -seen%0a +shared -statuslog%0a +userbans +userexempts%0a +userinvites -protecthalfops%0a -autohalfop -static%0a}%0a%0a%0aset msg-rate 2%0aset keep-nick 1%0aset quiet-reject 1%0aset lowercase-ctcp 0%0aset answer-ctcp 3%0aset flood-msg 5:60%0aset flood-ctcp 3:60%0aset server-cycle-wait 60%0aset server-timeout 60%0aset check-stoned 1%0aset serverror-quit 1%0aset max-queue-msg 300%0aset trigger-on-ignore 0%0aset exclusive-binds 0%0aset double-mode 1%0aset double-server 1%0aset double-help 1%0aset optimize-kicks 1%0aset stack-limit 4%0a%0aloadmodule ctcp%0aset ctcp-mode 0%0aloadmodule irc%0aset bounce-bans 0%0aset bounce-exempts 0%0aset bounce-invites 0%0aset bounce-modes 0%0aset learn-users 0%0aset wait-split 600%0aset wait-info 180%0aset mode-buf-length 200%0a%0aunbind msg - ident *msg:ident%0aunbind msg - addhost *msg:addhost%0a%0aset opchars "@"%0aset no-chanrec-info 0%0aset prevent-mixing 1%0aset max-dloads 3%0aset dcc-block 0%0aset copy-to-tmp 1%0aset xfer-timeout 30%0aset share-compressed 1%0aset files-path "/home/mydir/filesys"%0aset incoming-path "/home/mydir/filesys/incoming"%0aset upload-to-pwd 0%0aset filedb-path ""%0aset max-file-users 20%0aset max-filesize 1024%0aloadmodule notes%0aset notefile "LamestBot.notes"%0aset max-notes 50%0aset note-life 60%0aset allow-fwd 0%0aset notify-users 0%0aset notify-onjoin 1%0a%0aif {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} }%0a%0aloadmodule console%0aset console-autosave 1%0aset force-channel 0%0aset info-party 0%0aloadmodule uptime%0a%0asource scripts/alltools.tcl%0asource scripts/action.fix.tcl%0asource scripts/dccwhois.tcl%0asource scripts/userinfo.tcl%0aloadhelp userinfo.help%0a@]%0a +time=1627890556 +title=Configure simple eggdrop.conf +author:1627890556=jrmu +diff:1627890556:1627890529:=50c50%0a%3c Finally, we just copy the rest of these lines unchanged into the conf file (Attach:eggdrop-simple.conf.txt):%0a---%0a> Finally, we just copy the rest of these lines unchanged into the conf file (download Attach:eggdrop-simple.conf.txt):%0a +host:1627890556=38.87.162.8 +author:1627890529=jrmu +diff:1627890529:1627890274:=50c50%0a%3c Finally, we just copy the rest of these lines unchanged into the conf file (download Attach:eggdrop-simple.conf.txt):%0a---%0a> Finally, we just copy the rest of these lines unchanged into the conf file (download here):%0a +host:1627890529=38.87.162.8 +author:1627890274=jrmu +diff:1627890274:1627890180:=50c50%0a%3c Finally, we just copy the rest of these lines unchanged into the conf file (download here):%0a---%0a> Finally, we just copy the rest of these lines unchanged into the conf file:%0a +host:1627890274=38.87.162.8 +author:1627890180=jrmu +diff:1627890180:1627881886:=46c46%0a%3c You cannot pick any vhost you want; you must use the vhost given to you when you created the shell account. This is because your vhost must have [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] entries configured in order to work correctly.%0a---%0a> You cannot pick any vhost you want; you must use the vhost given to you when you created the shell account. This is because your vhost must have [[dns/overview|forward]] and [[dns/rDNS|reverse DNS]] entries configured in order to work correctly.%0a +host:1627890180=38.87.162.8 +author:1627881886=jrmu +diff:1627881886:1627877871:=38,48d37%0a%3c %0a%3c Below, we set the [[dns/vhost|vhosts]] assigned to us when we created the shell account:%0a%3c %0a%3c [@%0a%3c set vhost4 "username.example.com"%0a%3c set vhost6 "username.example.com"%0a%3c @]%0a%3c %0a%3c You cannot pick any vhost you want; you must use the vhost given to you when you created the shell account. This is because your vhost must have [[dns/overview|forward]] and [[dns/rDNS|reverse DNS]] entries configured in order to work correctly.%0a%3c %0a%3c If you'd like to pick a different vhost, contact your sysadmin.%0a +host:1627881886=38.87.162.8 +author:1627877871=jrmu +diff:1627877871:1627872290:= +host:1627877871=38.87.162.8 +author:1627872290=jrmu +diff:1627872290:1627872223:=39,40d38%0a%3c Finally, we just copy the rest of these lines unchanged into the conf file:%0a%3c %0a41a40,47%0a> source scripts/alltools.tcl%0a> source scripts/action.fix.tcl%0a> source scripts/dccwhois.tcl%0a> source scripts/userinfo.tcl%0a> loadhelp userinfo.help%0a> @]%0a> %0a> [@%0a223,227d228%0a%3c source scripts/alltools.tcl%0a%3c source scripts/action.fix.tcl%0a%3c source scripts/dccwhois.tcl%0a%3c source scripts/userinfo.tcl%0a%3c loadhelp userinfo.help%0a +host:1627872290=38.87.162.8 +author:1627872223=jrmu +diff:1627872223:1627871344:=10,12d9%0a%3c set nick "botnick"%0a%3c set altnick "botn?ck"%0a%3c set realname "/msg botnick hello"%0a14,15d10%0a%3c set userfile "botusername.user"%0a%3c set chanfile "botusername.chan"%0a21a17,19%0a> set userfile "botusername.user"%0a> set chanfile "botusername.chan"%0a> loadmodule server%0a27,28c25,29%0a%3c loadmodule server%0a%3c set net-type "Other"%0a---%0a> set net-type "EFnet"%0a> set nick "Lamestbot"%0a> set altnick "Llamab?t"%0a> set realname "/msg LamestBot hello"%0a> %0a30,39c31,36%0a%3c server add irc6.example.com +6697%0a%3c @]%0a%3c %0a%3c Here, we configure the network we want to connect to. There are several network types: EFnet, IRCnet, Undernet, DALnet, Libera, freenode, QuakeNet, Rizon, Twitch, and Other. If you're not sure, choose Other.%0a%3c %0a%3c You'll want to replace irc6.example.com +6697 with your actual server and port. It's best to use an IPv6-only server address. If you're using SSL, make sure to add a + plus sign. If you're using a plaintext port like port 6667, leave out the + plus sign.%0a%3c %0a%3c '''WARNING''': Don't [[tls/intro|confuse plaintext with SSL]]! If you're connecting to port 6667, do '''not''' put a + plus sign in front. If you're connecting to port +6697, '''do''' put a + sign in front.%0a%3c %0a%3c [@%0a---%0a> %0a> server add you.need.to.change.this 6667%0a> server add another.example.com 6669 password%0a> server add 2001:db8:618:5c0:263:: 6669 password%0a> server add ssl.example.net +7000%0a> %0a +host:1627872223=38.87.162.8 +author:1627871344=jrmu +diff:1627871344:1627830989:=3,6d2%0a%3c Eggdrop has a very complex configuration file which can overwhelm new users. To make things simpler, we focus on just the most essential settings you must change.%0a%3c %0a%3c Create a new file inside ~/%3cbotname>/ called examplebot.conf:%0a%3c %0a8,18c4,11%0a%3c set username "botusername"%0a%3c set admin "username %3cemail: username@example.com>"%0a%3c set network "Your Network"%0a%3c @]%0a%3c %0a%3c Replace with your own settings. For network, use a short simple name instead of theactual server address. For example, the network name might be IRCNow instead of irc.ircnow.org.%0a%3c %0a%3c [@%0a%3c set prefer-ipv6 1%0a%3c set userfile "botusername.user"%0a%3c set chanfile "botusername.chan"%0a---%0a> set username "lamest"%0a> set admin "Lamer %3cemail: lamer@lamest.lame.org>"%0a> set network "I.didn't.edit.my.config.file.net"%0a> %0a> set prefer-ipv6 0%0a> %0a> set userfile "LamestBot.user"%0a> set chanfile "LamestBot.chan"%0a20,24d12%0a%3c @]%0a%3c %0a%3c We set prefer-ipv6 to 1, meaning eggdrop will attempt to use IPv6 wherever possible. Among other benefits, this will allow our eggdrop to have a unique vhost.%0a%3c %0a%3c [@%0a29a18,24%0a> bind evnt - init-server evnt:init_server%0a> %0a> proc evnt:init_server {type} {%0a> global botnick%0a> putquick "MODE $botnick +i-ws"%0a> }%0a> %0a42,51d36%0a%3c @]%0a%3c %0a%3c [@%0a%3c bind evnt - init-server evnt:init_server%0a%3c %0a%3c proc evnt:init_server {type} {%0a%3c global botnick%0a%3c putquick "MODE $botnick +i-ws"%0a%3c }%0a%3c %0a +host:1627871344=38.87.162.8 +author:1627830989=mkf +diff:1627830989:1627828009:=50d49%0a%3c [@%0a +host:1627830989=198.251.81.133 +author:1627828009=jrmu +diff:1627828009:1627828009:=1,210d0%0a%3c (:title Configure simple eggdrop.conf:)%0a%3c %0a%3c [@%0a%3c set username "lamest"%0a%3c set admin "Lamer %3cemail: lamer@lamest.lame.org>"%0a%3c set network "I.didn't.edit.my.config.file.net"%0a%3c %0a%3c set prefer-ipv6 0%0a%3c %0a%3c set userfile "LamestBot.user"%0a%3c set chanfile "LamestBot.chan"%0a%3c loadmodule server%0a%3c set net-type "EFnet"%0a%3c set nick "Lamestbot"%0a%3c set altnick "Llamab?t"%0a%3c set realname "/msg LamestBot hello"%0a%3c %0a%3c bind evnt - init-server evnt:init_server%0a%3c %0a%3c proc evnt:init_server {type} {%0a%3c global botnick%0a%3c putquick "MODE $botnick +i-ws"%0a%3c }%0a%3c %0a%3c set default-port 6667%0a%3c %0a%3c server add you.need.to.change.this 6667%0a%3c server add another.example.com 6669 password%0a%3c server add 2001:db8:618:5c0:263:: 6669 password%0a%3c server add ssl.example.net +7000%0a%3c %0a%3c source scripts/alltools.tcl%0a%3c source scripts/action.fix.tcl%0a%3c source scripts/dccwhois.tcl%0a%3c source scripts/userinfo.tcl%0a%3c loadhelp userinfo.help%0a%3c %0a%3c if {[info exists net-type]} {%0a%3c switch -- ${net-type} {%0a%3c "EFnet" {%0a%3c source scripts/quotepong.tcl%0a%3c }%0a%3c "0" {%0a%3c source scripts/quotepong.tcl%0a%3c }%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c set timezone "EST"%0a%3c set offset "5"%0a%3c set max-logs 20%0a%3c set max-logsize 0%0a%3c set quick-logs 0%0a%3c set raw-log 0%0a%3c logfile mco * "logs/eggdrop.log"%0a%3c set log-time 1%0a%3c set timestamp-format {[%25H:%25M:%25S]}%0a%3c set keep-all-logs 0%0a%3c set logfile-suffix ".%25d%25b%25Y"%0a%3c set switch-logfiles-at 300%0a%3c set quiet-save 0%0a%3c set console "mkcoblxs"%0a%3c set help-path "help/"%0a%3c set text-path "text/"%0a%3c set motd "text/motd"%0a%3c set telnet-banner "text/banner"%0a%3c set userfile-perm 0600%0a%3c set remote-boots 2%0a%3c set share-unlinks 1%0a%3c set protect-telnet 0%0a%3c set dcc-sanitycheck 0%0a%3c set ident-timeout 5%0a%3c set require-p 1%0a%3c set open-telnets 0%0a%3c set stealth-telnets 0%0a%3c set stealth-prompt "\n\nNickname.\n"%0a%3c set use-telnet-banner 0%0a%3c set connect-timeout 15%0a%3c set dcc-flood-thr 3%0a%3c set telnet-flood 5:60%0a%3c set paranoid-telnet-flood 1%0a%3c set ssl-capath "/etc/ssl/"%0a%3c set ignore-time 15%0a%3c set hourly-updates 00%0a%3c set notify-newusers "$owner"%0a%3c set default-flags "hp"%0a%3c set whois-fields "url birthday"%0a%3c set must-be-owner 1%0a%3c unbind dcc n simul *dcc:simul%0a%3c set max-socks 100%0a%3c set allow-dk-cmds 1%0a%3c set dupwait-timeout 5%0a%3c set cidr-support 0%0a%3c set show-uname 1%0a%3c %0a%3c set mod-path "modules/"%0a%3c loadmodule pbkdf2%0a%3c loadmodule blowfish%0a%3c set blowfish-use-mode cbc%0a%3c loadmodule dns%0a%3c set dns-cache 86400%0a%3c set dns-negcache 600%0a%3c set dns-maxsends 4%0a%3c set dns-retrydelay 3%0a%3c loadmodule channels%0a%3c set force-expire 0%0a%3c set share-greet 0%0a%3c set use-info 1%0a%3c set allow-ps 0%0a%3c %0a%3c set default-flood-chan 15:60%0a%3c set default-flood-deop 3:10%0a%3c set default-flood-kick 3:10%0a%3c set default-flood-join 5:60%0a%3c set default-flood-ctcp 3:60%0a%3c set default-flood-nick 5:60%0a%3c set default-aop-delay 5:30%0a%3c set default-idle-kick 0%0a%3c set default-chanmode "nt"%0a%3c set default-stopnethack-mode 0%0a%3c set default-revenge-mode 0%0a%3c set default-ban-type 3%0a%3c set default-ban-time 120%0a%3c set default-exempt-time 60%0a%3c set default-invite-time 60%0a%3c %0a%3c set default-chanset {%0a%3c -autoop -autovoice%0a%3c -bitch +cycle%0a%3c +dontkickops +dynamicbans%0a%3c +dynamicexempts +dynamicinvites%0a%3c -enforcebans +greet%0a%3c -inactive -nodesynch%0a%3c -protectfriends +protectops%0a%3c -revenge -revengebot%0a%3c -secret -seen%0a%3c +shared -statuslog%0a%3c +userbans +userexempts%0a%3c +userinvites -protecthalfops%0a%3c -autohalfop -static%0a%3c }%0a%3c %0a%3c %0a%3c set msg-rate 2%0a%3c set keep-nick 1%0a%3c set quiet-reject 1%0a%3c set lowercase-ctcp 0%0a%3c set answer-ctcp 3%0a%3c set flood-msg 5:60%0a%3c set flood-ctcp 3:60%0a%3c set server-cycle-wait 60%0a%3c set server-timeout 60%0a%3c set check-stoned 1%0a%3c set serverror-quit 1%0a%3c set max-queue-msg 300%0a%3c set trigger-on-ignore 0%0a%3c set exclusive-binds 0%0a%3c set double-mode 1%0a%3c set double-server 1%0a%3c set double-help 1%0a%3c set optimize-kicks 1%0a%3c set stack-limit 4%0a%3c %0a%3c loadmodule ctcp%0a%3c set ctcp-mode 0%0a%3c loadmodule irc%0a%3c set bounce-bans 0%0a%3c set bounce-exempts 0%0a%3c set bounce-invites 0%0a%3c set bounce-modes 0%0a%3c set learn-users 0%0a%3c set wait-split 600%0a%3c set wait-info 180%0a%3c set mode-buf-length 200%0a%3c %0a%3c unbind msg - ident *msg:ident%0a%3c unbind msg - addhost *msg:addhost%0a%3c %0a%3c set opchars "@"%0a%3c set no-chanrec-info 0%0a%3c set prevent-mixing 1%0a%3c set max-dloads 3%0a%3c set dcc-block 0%0a%3c set copy-to-tmp 1%0a%3c set xfer-timeout 30%0a%3c set share-compressed 1%0a%3c set files-path "/home/mydir/filesys"%0a%3c set incoming-path "/home/mydir/filesys/incoming"%0a%3c set upload-to-pwd 0%0a%3c set filedb-path ""%0a%3c set max-file-users 20%0a%3c set max-filesize 1024%0a%3c loadmodule notes%0a%3c set notefile "LamestBot.notes"%0a%3c set max-notes 50%0a%3c set note-life 60%0a%3c set allow-fwd 0%0a%3c set notify-users 0%0a%3c set notify-onjoin 1%0a%3c %0a%3c if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} }%0a%3c %0a%3c loadmodule console%0a%3c set console-autosave 1%0a%3c set force-channel 0%0a%3c set info-party 0%0a%3c loadmodule uptime%0a%3c %0a%3c @]%0a +host:1627828009=38.87.162.8 blob - /dev/null blob + 2b3f6a5d24c70111425c1ef981719b0824c5bf1c (mode 644) --- /dev/null +++ wiki.d/Eggdrop184.Install @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627801624 +host=38.87.162.8 +name=Eggdrop184.Install +rev=1 +targets=Openbsd.Tcltls +text=To install eggdrop:%0a%0a[@%0a$ cd ~%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a$ sha256 eggdrop-1.8.4.tar.gz%0a@]%0a%0aThe SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a%0a%0a[@%0a$ tar xvzf eggdrop-1.8.4.tar.gz%0a$ rm eggdrop-1.8.4.tar.gz%0a$ cd eggdrop-1.8.4%0a$ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a$ make config%0a$ make%0a$ make install%0a$ cd ~%0a$ cd eggdrop%0a@]%0a%0aEdit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a[@%0a$ ./eggdrop -m %3cconfiguration filename>.conf%0a@]%0a%0aTo verify the signature:%0a%0a[@%0a$ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a@]%0a%0a%0aAn Example for below configuration file.%0a%0a[@%0aCore Setting Example:%0a%0aset admin "ABC" %0aset nick "Shooter" %0aset altnick "Shooter_" %0aset realname "Channel Bot"%0a%0aAN example of Set Server:%0a%0aset network "ircnow" %0aset net-type "5"%0aset init-server { putserv "mode Shooter i" }%0aset default-port 6667%0aset servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a@]%0a%0a%0aHere is a simple configuration file to use.%0aJust make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0aStrings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%0a%0a[@%0a### Core Settings ### %0a%0aset admin "OWNERNICK" %0aset nick "BOTNICK" %0aset altnick "ALTBOTNICK" %0aset realname "CHANNEL BOT"%0a%0a#### SERVER MODULE ####%0a# What is your network?%0a# Type = Network Name%0a# 0 = EFnet%0a# 1 = IRCnet%0a# 2 = Undernet%0a# 3 = DALnet%0a# 4 = +e/+I/max-modes 20 Hybrid%0a# 5 = Others%0a %0aset network "NETWORK NAME" %0aset net-type "5" %0aset init-server { putserv "mode BOTNICK i" } %0aset default-port 6667 %0aset servers {%0a YOU.NEED.TO.CHANGE.THIS:6667%0a ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a SSL.EXAMPLE.NET:+6697%0a}%0aset timezone "GMT" %0aset offset "0" %0aset env(TZ) "$timezone $offset" %0aset my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0aset my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a%0a### Logfile Settings ### %0a%0aset max-logs 5 %0aset max-logsize 0 %0aset quick-logs 0 %0aset raw-log 0%0alogfile mcobxs * "logs/BOTNICK.log"%0alogfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0aset log-time 1 %0aset keep-all-logs 1 %0aset logfile-suffix ".%25d%25b%25Y"%0aset switch-logfiles-at 300 %0aset quiet-save 0 %0a%0a### Console Settings ### %0a%0aset console "mkcobxs" %0a%0a### File & Directory Settings ### %0a# Replace "BOTNICK" below with your bot nick.%0a%0aset userfile "BOTNICK.user" %0aset pidfile "pid.BOTNICK" %0aset chanfile "BOTNICK.chan" %0aset force-expire 0 %0aset share-greet 0 %0aset use-info 1 %0aset sort-users 0 %0aset help-path "help/" %0aset text-path "text/" %0aset temp-path "/tmp" %0aset motd "text/motd" %0aset telnet-banner "text/banner" %0aset userfile-perm 0600 %0aset mod-path "modules/" %0a%0a##### BOTNET/DCC/TELNET #####%0a# Replace "BOTNICK" below with your bot nick.%0a%0aset botnet-nick "BOTNICK" %0a%0a# If you wish to use only one port, use this format:%0a# listen 3333 all%0a# change the port number in order to open%0a# the listen port. You should not keep this set to 3333.%0a# Put your shell/server listening port below and uncomment it. (remove # )%0a%0a#listen 1337 all %0aset remote-boots 0 %0aset shareunlinks 0- %0aset protect-telnet 1 %0aset dcc-sanitycheck 1 %0aset ident-timeout 0 %0aset require-p 1 %0aset open-telnets 1 %0aset stealth-telnets 0 %0aset use-telnet-banner 0 %0aset connect-timeout 30 %0aset dcc-flood-thr 3 %0aset telnet-flood 5:60 %0aset paranoid-telnet-flood 1 %0aset resolve-timeout 15 %0a%0a### Channel Settings ### %0a%0aloadmodule channels %0aset default-flood-chan 15:60%0aset default-flood-deop 3:10%0aset default-flood-kick 3:10%0aset default-flood-join 5:60%0aset default-flood-ctcp 3:60%0aset default-flood-nick 5:60%0aset default-aop-delay 0:00%0aset default-idle-kick 0%0aset default-chanmode "nt"%0aset default-stopnethack-mode 0%0aset default-revenge-mode 0%0aset default-ban-type 3%0aset default-ban-time 120%0aset default-exempt-time 60%0aset default-invite-time 60%0a%0aset default-chanset {%0a -autoop -autovoice%0a -bitch +cycle%0a +dontkickops +dynamicbans%0a +dynamicexempts +dynamicinvites%0a -enforcebans +greet%0a -inactive -nodesynch%0a -protectfriends +protectops%0a -revenge -revengebot%0a -secret -seen%0a +shared -statuslog%0a +userbans +userexempts%0a +userinvites -protecthalfops%0a -autohalfop -static%0a}%0a%0a# Replace your channel name with below-mentioned CHANNELNAME%0a%0achannel add #CHANNELNAME { %0achanmode "+tn" %0aidle-kick 0 %0aflood-chan 5:4 %0aflood-join 5:10 %0aflood-ctcp 3:60 %0aflood-deop 0:0 %0aflood-kick 0:0 } %0achannel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a%0a%0a### Advanced Settings ### %0a%0aset ignore-time 5 %0aset hourly-updates 00 %0a%0a# Replace Your nick name with below mention “OWNERNICK”%0a%0aset owner "OWNERNICK" %0a%0a# Also replace below mention port no 1337 with your listening port no.%0a%0aset notify-newusers "1337" %0a%0aset default-flags "hp" %0aset whois-fields "url birthday" %0aset die-on-sighup 0 %0aset die-on-sigterm 1%0a%0a%0a# if you wish to disable the .tcl and .set commands.%0a# Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a%0a#unbind dcc n tcl *dcc:tcl %0a#unbind dcc n set *dcc:set %0aset muste-owner 1%0aunbind dcc n simul *dcc:simul %0aset max-dcc 50 %0aset enable-simul 1 %0aset allow-dk-cmds 1 %0aset dupwait-timeout 5 %0a%0a### Module Settings ### %0aloadmodule dns%0aloadmodule transfer %0aloadmodule share %0aloadmodule server %0aloadmodule ctcp %0aloadmodule irc %0aloadmodule notes %0aloadmodule console %0aloadmodule blowfish %0acheckmodule blowfish %0aloadmodule uptime %0aloadmodule channels%0aset keep-nick 1 %0aset strict-host 0 %0aset quiet-reject 1 %0aset lowercase-ctcp 0 %0aset answer-ctcp 3 %0aset flood-msg 5:5 %0aset flood-ctcp 3:60 %0aset never-give-up 1 %0aset strict-servernames 0 %0aset server-cycle-wait 60 %0aset server-timeout 60 %0aset servlimit 0 %0aset check-stoned 1 %0aset use-console-r 0 %0aset debug-output 0 %0aset serverror-quit 1 %0aset max-queue-msg 300 %0aset trigger-on-ignore 0 %0aset double-mode 0 %0aset double-server 0 %0aset double-help 0 %0aset optimize-kicks 1 %0aset stack-limit 4 %0aset ctcp-mode 0 %0aset bounce-bans 1 %0aset bounce-modes 0 %0aset max-bans 100 %0aset max-modes 30 %0aset kick-fun 0 %0aset ban-fun 0 %0aset learn-users 0 %0aset wait-split 600 %0aset wait-info 180 %0aset mode-buf-length 200 %0abind msg - ident *msg:ident %0abind msg - addhost *msg:addhost %0aset no-chanrec-info 0 %0aset bounce-exempts 0 %0aset bounce-invites 0 %0aset max-exempts 20 %0aset max-invites 20 %0aset prevent-mixing 1 %0aset max-dloads 3 %0aset dcc-block 1024 %0aset copy-to-tmp 1 %0aset xfer-timeout 30 %0aset share-compressed 1 %0aset max-notes 50 %0aset note-life 60 %0aset allow-fwd 0 %0aset notify-users 1 %0aset notify-onjoin 1 %0aset console-autosave 1 %0aset force-channel 0 %0aset info-party 0 %0a%0a### Script Settings ### %0a# For additional TCL scripts, addition can be made under Script Settings .%0a# You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a# and then can add below line as source scripts/example.tcl%0a# Resash the eggdrop after adding the scripts to work.%0a%0asource scripts/alltools.tcl %0asource scripts/action.fix.tcl %0asource scripts/cmd_resolve.tcl %0asource scripts/compat.tcl%0a@]%0a%0a!! Troubleshooting%0a%0aCheck logs/ for error messages.%0a%0a# [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0aThis is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a +time=1627801624 +author:1627801624=jrmu +diff:1627801624:1627801624:=1,322d0%0a%3c To install eggdrop:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a%3c $ sha256 eggdrop-1.8.4.tar.gz%0a%3c @]%0a%3c %0a%3c The SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a%3c %0a%3c %0a%3c [@%0a%3c $ tar xvzf eggdrop-1.8.4.tar.gz%0a%3c $ rm eggdrop-1.8.4.tar.gz%0a%3c $ cd eggdrop-1.8.4%0a%3c $ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a%3c $ make config%0a%3c $ make%0a%3c $ make install%0a%3c $ cd ~%0a%3c $ cd eggdrop%0a%3c @]%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a%3c @]%0a%3c %0a%3c To verify the signature:%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c @]%0a%3c %0a%3c %0a%3c An Example for below configuration file.%0a%3c %0a%3c [@%0a%3c Core Setting Example:%0a%3c %0a%3c set admin "ABC" %0a%3c set nick "Shooter" %0a%3c set altnick "Shooter_" %0a%3c set realname "Channel Bot"%0a%3c %0a%3c AN example of Set Server:%0a%3c %0a%3c set network "ircnow" %0a%3c set net-type "5"%0a%3c set init-server { putserv "mode Shooter i" }%0a%3c set default-port 6667%0a%3c set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a%3c @]%0a%3c %0a%3c %0a%3c Here is a simple configuration file to use.%0a%3c Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a%3c Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%3c %0a%3c %0a%3c [@%0a%3c ### Core Settings ### %0a%3c %0a%3c set admin "OWNERNICK" %0a%3c set nick "BOTNICK" %0a%3c set altnick "ALTBOTNICK" %0a%3c set realname "CHANNEL BOT"%0a%3c %0a%3c #### SERVER MODULE ####%0a%3c # What is your network?%0a%3c # Type = Network Name%0a%3c # 0 = EFnet%0a%3c # 1 = IRCnet%0a%3c # 2 = Undernet%0a%3c # 3 = DALnet%0a%3c # 4 = +e/+I/max-modes 20 Hybrid%0a%3c # 5 = Others%0a%3c %0a%3c set network "NETWORK NAME" %0a%3c set net-type "5" %0a%3c set init-server { putserv "mode BOTNICK i" } %0a%3c set default-port 6667 %0a%3c set servers {%0a%3c YOU.NEED.TO.CHANGE.THIS:6667%0a%3c ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a%3c SSL.EXAMPLE.NET:+6697%0a%3c }%0a%3c set timezone "GMT" %0a%3c set offset "0" %0a%3c set env(TZ) "$timezone $offset" %0a%3c set my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0a%3c set my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a%3c %0a%3c ### Logfile Settings ### %0a%3c %0a%3c set max-logs 5 %0a%3c set max-logsize 0 %0a%3c set quick-logs 0 %0a%3c set raw-log 0%0a%3c logfile mcobxs * "logs/BOTNICK.log"%0a%3c logfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0a%3c set log-time 1 %0a%3c set keep-all-logs 1 %0a%3c set logfile-suffix ".%25d%25b%25Y"%0a%3c set switch-logfiles-at 300 %0a%3c set quiet-save 0 %0a%3c %0a%3c ### Console Settings ### %0a%3c %0a%3c set console "mkcobxs" %0a%3c %0a%3c ### File & Directory Settings ### %0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set userfile "BOTNICK.user" %0a%3c set pidfile "pid.BOTNICK" %0a%3c set chanfile "BOTNICK.chan" %0a%3c set force-expire 0 %0a%3c set share-greet 0 %0a%3c set use-info 1 %0a%3c set sort-users 0 %0a%3c set help-path "help/" %0a%3c set text-path "text/" %0a%3c set temp-path "/tmp" %0a%3c set motd "text/motd" %0a%3c set telnet-banner "text/banner" %0a%3c set userfile-perm 0600 %0a%3c set mod-path "modules/" %0a%3c %0a%3c ##### BOTNET/DCC/TELNET #####%0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set botnet-nick "BOTNICK" %0a%3c %0a%3c # If you wish to use only one port, use this format:%0a%3c # listen 3333 all%0a%3c # change the port number in order to open%0a%3c # the listen port. You should not keep this set to 3333.%0a%3c # Put your shell/server listening port below and uncomment it. (remove # )%0a%3c %0a%3c #listen 1337 all %0a%3c set remote-boots 0 %0a%3c set shareunlinks 0- %0a%3c set protect-telnet 1 %0a%3c set dcc-sanitycheck 1 %0a%3c set ident-timeout 0 %0a%3c set require-p 1 %0a%3c set open-telnets 1 %0a%3c set stealth-telnets 0 %0a%3c set use-telnet-banner 0 %0a%3c set connect-timeout 30 %0a%3c set dcc-flood-thr 3 %0a%3c set telnet-flood 5:60 %0a%3c set paranoid-telnet-flood 1 %0a%3c set resolve-timeout 15 %0a%3c %0a%3c ### Channel Settings ### %0a%3c %0a%3c loadmodule channels %0a%3c set default-flood-chan 15:60%0a%3c set default-flood-deop 3:10%0a%3c set default-flood-kick 3:10%0a%3c set default-flood-join 5:60%0a%3c set default-flood-ctcp 3:60%0a%3c set default-flood-nick 5:60%0a%3c set default-aop-delay 0:00%0a%3c set default-idle-kick 0%0a%3c set default-chanmode "nt"%0a%3c set default-stopnethack-mode 0%0a%3c set default-revenge-mode 0%0a%3c set default-ban-type 3%0a%3c set default-ban-time 120%0a%3c set default-exempt-time 60%0a%3c set default-invite-time 60%0a%3c %0a%3c set default-chanset {%0a%3c -autoop -autovoice%0a%3c -bitch +cycle%0a%3c +dontkickops +dynamicbans%0a%3c +dynamicexempts +dynamicinvites%0a%3c -enforcebans +greet%0a%3c -inactive -nodesynch%0a%3c -protectfriends +protectops%0a%3c -revenge -revengebot%0a%3c -secret -seen%0a%3c +shared -statuslog%0a%3c +userbans +userexempts%0a%3c +userinvites -protecthalfops%0a%3c -autohalfop -static%0a%3c }%0a%3c %0a%3c # Replace your channel name with below-mentioned CHANNELNAME%0a%3c %0a%3c channel add #CHANNELNAME { %0a%3c chanmode "+tn" %0a%3c idle-kick 0 %0a%3c flood-chan 5:4 %0a%3c flood-join 5:10 %0a%3c flood-ctcp 3:60 %0a%3c flood-deop 0:0 %0a%3c flood-kick 0:0 } %0a%3c channel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a%3c %0a%3c %0a%3c ### Advanced Settings ### %0a%3c %0a%3c set ignore-time 5 %0a%3c set hourly-updates 00 %0a%3c %0a%3c # Replace Your nick name with below mention “OWNERNICK”%0a%3c %0a%3c set owner "OWNERNICK" %0a%3c %0a%3c # Also replace below mention port no 1337 with your listening port no.%0a%3c %0a%3c set notify-newusers "1337" %0a%3c %0a%3c set default-flags "hp" %0a%3c set whois-fields "url birthday" %0a%3c set die-on-sighup 0 %0a%3c set die-on-sigterm 1%0a%3c %0a%3c %0a%3c # if you wish to disable the .tcl and .set commands.%0a%3c # Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a%3c %0a%3c #unbind dcc n tcl *dcc:tcl %0a%3c #unbind dcc n set *dcc:set %0a%3c set muste-owner 1%0a%3c unbind dcc n simul *dcc:simul %0a%3c set max-dcc 50 %0a%3c set enable-simul 1 %0a%3c set allow-dk-cmds 1 %0a%3c set dupwait-timeout 5 %0a%3c %0a%3c ### Module Settings ### %0a%3c loadmodule dns%0a%3c loadmodule transfer %0a%3c loadmodule share %0a%3c loadmodule server %0a%3c loadmodule ctcp %0a%3c loadmodule irc %0a%3c loadmodule notes %0a%3c loadmodule console %0a%3c loadmodule blowfish %0a%3c checkmodule blowfish %0a%3c loadmodule uptime %0a%3c loadmodule channels%0a%3c set keep-nick 1 %0a%3c set strict-host 0 %0a%3c set quiet-reject 1 %0a%3c set lowercase-ctcp 0 %0a%3c set answer-ctcp 3 %0a%3c set flood-msg 5:5 %0a%3c set flood-ctcp 3:60 %0a%3c set never-give-up 1 %0a%3c set strict-servernames 0 %0a%3c set server-cycle-wait 60 %0a%3c set server-timeout 60 %0a%3c set servlimit 0 %0a%3c set check-stoned 1 %0a%3c set use-console-r 0 %0a%3c set debug-output 0 %0a%3c set serverror-quit 1 %0a%3c set max-queue-msg 300 %0a%3c set trigger-on-ignore 0 %0a%3c set double-mode 0 %0a%3c set double-server 0 %0a%3c set double-help 0 %0a%3c set optimize-kicks 1 %0a%3c set stack-limit 4 %0a%3c set ctcp-mode 0 %0a%3c set bounce-bans 1 %0a%3c set bounce-modes 0 %0a%3c set max-bans 100 %0a%3c set max-modes 30 %0a%3c set kick-fun 0 %0a%3c set ban-fun 0 %0a%3c set learn-users 0 %0a%3c set wait-split 600 %0a%3c set wait-info 180 %0a%3c set mode-buf-length 200 %0a%3c bind msg - ident *msg:ident %0a%3c bind msg - addhost *msg:addhost %0a%3c set no-chanrec-info 0 %0a%3c set bounce-exempts 0 %0a%3c set bounce-invites 0 %0a%3c set max-exempts 20 %0a%3c set max-invites 20 %0a%3c set prevent-mixing 1 %0a%3c set max-dloads 3 %0a%3c set dcc-block 1024 %0a%3c set copy-to-tmp 1 %0a%3c set xfer-timeout 30 %0a%3c set share-compressed 1 %0a%3c set max-notes 50 %0a%3c set note-life 60 %0a%3c set allow-fwd 0 %0a%3c set notify-users 1 %0a%3c set notify-onjoin 1 %0a%3c set console-autosave 1 %0a%3c set force-channel 0 %0a%3c set info-party 0 %0a%3c %0a%3c ### Script Settings ### %0a%3c # For additional TCL scripts, addition can be made under Script Settings .%0a%3c # You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a%3c # and then can add below line as source scripts/example.tcl%0a%3c # Resash the eggdrop after adding the scripts to work.%0a%3c %0a%3c source scripts/alltools.tcl %0a%3c source scripts/action.fix.tcl %0a%3c source scripts/cmd_resolve.tcl %0a%3c source scripts/compat.tcl%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Check logs/ for error messages.%0a%3c %0a%3c # [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a +host:1627801624=38.87.162.8 blob - /dev/null blob + e960e68a4ae4899f45c296330465a01a42d66c73 (mode 644) --- /dev/null +++ wiki.d/Eggdrop184.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627801624 +host=38.87.162.8 +name=Eggdrop184.RecentChanges +rev=1 +text=* [[Eggdrop184/Install]] . . . August 01, 2021, at 07:07 AM by [[~jrmu]]: [==]%0a +time=1627801624 blob - /dev/null blob + 7bd9f89b9d905d0b1a4b7f337b13816a17e8ff52 (mode 644) --- /dev/null +++ wiki.d/Eggdrop191.Install @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627880871 +host=38.87.162.8 +name=Eggdrop191.Install +rev=1 +targets=Gnupg.Signature,Eggdrop.Simple,Openbsd.Tcltls +text=(:title Install Eggdrop 1.9.1:)%0a%0aTo install eggdrop:%0a%0a[@%0a$ cd ~%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz%0a@]%0a%0a'''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gnupg/signature|GPG]]:%0a%0a[@%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz.asc%0a$ ftp https://www.eggheads.org/gpg/eggheads.pub%0a$ gpg --import eggheads.pub%0a$ gpg --verify eggdrop-1.9.1.tar.gz.asc eggdrop-1.9.1.tar.gz%0agpg: Signature made Mon May 31 23:45:58 2021 CST%0agpg: using RSA key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0agpg: Good signature from "Eggheads Development Group (Eggdrop Signing Key) %3ceggdrop@eggheads.org>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E01C 2404 84DE 7DBE 190F E141 E766 7DE1 D1A3 9AFF%0a@]%0a%0aYou should see a message similar to above, showing that there is a good signature. If it reports a bad signature, you should stop and repeat the steps above. If the problem continues, report the issue.%0a%0aExtract the tarball then compile.%0a%0a[@%0a$ tar xvzf eggdrop-1.9.1.tar.gz%0a$ cd eggdrop-1.9.1%0a$ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a$ make config%0a$ make%0a@]%0a%0aIn the next step, you want to replace %3cbotname> with your bot's name. This will install eggdrop into that folder:%0a%0a[@%0a$ make install DEST=~/%3cbotname>%0a@]%0a%0aFor example, if your bot is examplebot, you might run:%0a%0a[@%0a$ make install DEST=~/examplebot%0a@]%0a%0a'''OPTIONAL''': Delete the tarball and source files:%0a%0a[@%0a$ cd ~%0a$ rm ~/eggdrop-1.9.1.tar.gz%0a$ rm ~/eggheads.pub%0a$ rm -r ~/eggdrop-1.9.1%0a@]%0a%0aReplace %3cbotname> with your bot's name:%0a%0a[@%0a$ cd ~/%3cbotname>%0a@]%0a%0aAfterwards, you will want to [[eggdrop/simple|configure eggdrop.conf]].%0a%0a!! Troubleshooting%0a%0aCheck logs/ for error messages.%0a%0a# [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0aThis is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a%0aEdit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a[@%0a$ ./eggdrop -m %3cconfiguration filename>.conf%0a@]%0a%0aTo verify the signature:%0a%0a[@%0a$ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a@]%0a +time=1627880871 +title=Install Eggdrop 1.9.1 +author:1627880871=jrmu +diff:1627880871:1627880871:=1,82d0%0a%3c (:title Install Eggdrop 1.9.1:)%0a%3c %0a%3c To install eggdrop:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz%0a%3c @]%0a%3c %0a%3c '''OPTIONAL''': Verify that your eggdrop was downloaded securely using [[gnupg/signature|GPG]]:%0a%3c %0a%3c [@%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.9/eggdrop-1.9.1.tar.gz.asc%0a%3c $ ftp https://www.eggheads.org/gpg/eggheads.pub%0a%3c $ gpg --import eggheads.pub%0a%3c $ gpg --verify eggdrop-1.9.1.tar.gz.asc eggdrop-1.9.1.tar.gz%0a%3c gpg: Signature made Mon May 31 23:45:58 2021 CST%0a%3c gpg: using RSA key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c gpg: Good signature from "Eggheads Development Group (Eggdrop Signing Key) %3ceggdrop@eggheads.org>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E01C 2404 84DE 7DBE 190F E141 E766 7DE1 D1A3 9AFF%0a%3c @]%0a%3c %0a%3c You should see a message similar to above, showing that there is a good signature. If it reports a bad signature, you should stop and repeat the steps above. If the problem continues, report the issue.%0a%3c %0a%3c Extract the tarball then compile.%0a%3c %0a%3c [@%0a%3c $ tar xvzf eggdrop-1.9.1.tar.gz%0a%3c $ cd eggdrop-1.9.1%0a%3c $ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a%3c $ make config%0a%3c $ make%0a%3c @]%0a%3c %0a%3c In the next step, you want to replace %3cbotname> with your bot's name. This will install eggdrop into that folder:%0a%3c %0a%3c [@%0a%3c $ make install DEST=~/%3cbotname>%0a%3c @]%0a%3c %0a%3c For example, if your bot is examplebot, you might run:%0a%3c %0a%3c [@%0a%3c $ make install DEST=~/examplebot%0a%3c @]%0a%3c %0a%3c '''OPTIONAL''': Delete the tarball and source files:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ rm ~/eggdrop-1.9.1.tar.gz%0a%3c $ rm ~/eggheads.pub%0a%3c $ rm -r ~/eggdrop-1.9.1%0a%3c @]%0a%3c %0a%3c Replace %3cbotname> with your bot's name:%0a%3c %0a%3c [@%0a%3c $ cd ~/%3cbotname>%0a%3c @]%0a%3c %0a%3c Afterwards, you will want to [[eggdrop/simple|configure eggdrop.conf]].%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Check logs/ for error messages.%0a%3c %0a%3c # [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a%3c @]%0a%3c %0a%3c To verify the signature:%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c @]%0a +host:1627880871=38.87.162.8 blob - /dev/null blob + 70b6c8e30edb7d49038446bd1b674cb3ef2990a0 (mode 644) --- /dev/null +++ wiki.d/Eggdrop191.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627880871 +host=38.87.162.8 +name=Eggdrop191.RecentChanges +rev=1 +text=* [[Eggdrop191/Install]] . . . August 02, 2021, at 05:07 AM by [[~jrmu]]: [==]%0a +time=1627880871 blob - /dev/null blob + ff2093e0b19ee67908d1ad3cb767d8c6db348f5d (mode 644) --- /dev/null +++ wiki.d/Emacs.Emacs @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +author=LohanG +charset=UTF-8 +csum= +ctime=1636191457 +host=51.15.9.205 +name=Emacs.Emacs +rev=3 +targets= +text=Emacs is a powerful, extensible and customizable text editor. GNU Emacs is probably the most popular variant of Emacs as it is included in the repositories of many popular GNU/Linux distributions. Emacs runs on several operating systems including GNU/Linux, OpenBSD, FreeBSD, NetBSD, MacOS, MS Windows and Solaris. %0a%0a'''Install Emacs on OpenBSD'''%0a%0a[@%0a$ doas pkg_add emacs%0a@]%0a%0aEmacs comes with a comprehensive, built-in help system which can be accessed by pressing C-h t; In other words, pressing Control h, followed by t. This starts an interactive tutorial that you can follow, save and continue at a later time.%0a%0a'''Emacs cheat sheet'''%0a%0aEmacs key bindings are unique, but easy to understand and remember when you become familiar with its terminology. In Emacs C-x means "click on Control and x at the same time". M-x means: "type Alt then x"; M refers to Meta. In most cases the Alt key functions as the Meta key. However on some keyboards there is a real Meta key. '''In this cheat sheet we use the popular naming of the keys as Alt and Control.'''%0a%0a'''Starting emacs'''%0a%0a$ emacs [Enter]%0a to start emacs. %0a$ emacs filename [Enter]%0a to start emacs and load a file %0a$ emacs -nw filename [Enter]%0a to start emacs with no new window (load file) %0a %0a'''Quitting'''%0a%0a[Ctrl]x [Ctrl]c%0a quit emacs (Emacs will prompt if any of the files have not yet been saved.) %0a[Ctrl]g%0a aborts any command in progress %0a %0a%0a'''Help'''%0a%0a[Ctrl]h t%0a to see the tutorial %0a[Ctrl]h a topic [Enter]%0a to see help about topic %0a[Ctrl]x u%0a undo the last command%0a%0a%0a'''Cursor positioning and navigation within a file'''%0a%0a[Ctrl]f or [>-]%0a forward (right) one character. %0a[Ctrl]b or [>-]%0a back (left) one character %0a[Ctrl]p or [^]%0a up one screen line %0a[Ctrl]n or [v]%0a down one screen line %0a[Esc]b%0a left one word %0a[Esc]f%0a right one word %0a %0a[Ctrl]a%0a to beginning of line %0a[Ctrl]e%0a to end of line %0a[Esc]%3c%0a start of document %0a[Esc]>%0a end of document %0a[Esc]v%0a page up %0a[Ctrl]v%0a page down %0a[Ctrl]l%0a cursor in middle of screen %0a[Ctrl]u 20 [Ctrl]n%0a advance 20 lines %0a[Ctrl]x w%0a display the line number where the cursor is located %0a[Esc]x goto-line [Enter] 999 [Enter]%0a go to line number 999%0a%0a%0a'''Search and Replace'''%0a%0a[Ctrl]s dance [Enter]%0a search for dance; cursor moves as you type. Press [Enter] once at the correct location %0a[Ctrl]r dance [Enter]%0a search backwards for dance; cursor moves as you type. %0a[Ctrl]s [Enter] [Enter]%0a search for the next occurrence %0a[Esc]%25 oldstring [Enter] newstring [Enter]%0a Search for oldstring and replace it with newstring. The y key confirms each replacement, n skips it, q to exit %0a%0a %0a'''Regions'''%0a%0a[Ctrl]SPC%0a set mark at cursor %0a[Ctrl]w%0a kill region %0a[Esc]w%0a copy region to kill ring %0a[Ctrl]y%0a yank back last thing killed %0a%0a'''Loading and Saving'''%0a%0a[Ctrl]x [Ctrl]f filename%0a create new filename for editing (clears workspace) %0a[Ctrl]x [Ctrl]f filename%0a load in filename for editing %0a[Ctrl]x [Ctrl]w filename%0a write (save) as filename %0a[Ctrl]x [Ctrl]s%0a resave under the current filename (based on above or name given when starting emacs)%0a%0a%0a'''Cutting and Pasting'''%0a%0a[Ctrl]SPC%0a Mark one end of region%0a[Ctrl]w%0a Cut (after you Mark and move to other end)%0a[Alt]w%0a Copy (after you Mark and move to other end)%0a[Ctrl]y%0a Yank (paste) most recently killed (cut or copied); will also use text currently selected in another application.%0a[Alt]y%0a Next most recently killed (do [Ctrl]y first, repeat [Alt]y to cycle thru all)‍ +time=1636216746 +author:1636216746=LohanG +diff:1636216746:1636191586:=5d4%0a%3c [@%0a7d5%0a%3c @]%0a +host:1636216746=51.15.9.205 +author:1636191586=LohanG +diff:1636191586:1636191457:=6a7,10%0a> '''Emacs key bindings'''%0a> %0a> Emacs key bindings are unique, but easy to understand and remember when you become familiar with its terminology. In Emacs C-x means "click on Control and x at the same time". M-x means: "type Alt then x"; M refers to Meta. In most cases the Alt key functions as the Meta key. However on some keyboards there is a real Meta key. In this cheat sheet we use the popular naming of the keys as Alt and Control.%0a> %0a10,11d13%0a%3c %0a%3c Emacs key bindings are unique, but easy to understand and remember when you become familiar with its terminology. In Emacs C-x means "click on Control and x at the same time". M-x means: "type Alt then x"; M refers to Meta. In most cases the Alt key functions as the Meta key. However on some keyboards there is a real Meta key. '''In this cheat sheet we use the popular naming of the keys as Alt and Control.'''%0a +host:1636191586=51.15.9.205 +author:1636191457=LohanG +diff:1636191457:1636191457:=1,125d0%0a%3c Emacs is a powerful, extensible and customizable text editor. GNU Emacs is probably the most popular variant of Emacs as it is included in the repositories of many popular GNU/Linux distributions. Emacs runs on several operating systems including GNU/Linux, OpenBSD, FreeBSD, NetBSD, MacOS, MS Windows and Solaris. %0a%3c %0a%3c '''Install Emacs on OpenBSD'''%0a%3c %0a%3c $ doas pkg_add emacs%0a%3c %0a%3c '''Emacs key bindings'''%0a%3c %0a%3c Emacs key bindings are unique, but easy to understand and remember when you become familiar with its terminology. In Emacs C-x means "click on Control and x at the same time". M-x means: "type Alt then x"; M refers to Meta. In most cases the Alt key functions as the Meta key. However on some keyboards there is a real Meta key. In this cheat sheet we use the popular naming of the keys as Alt and Control.%0a%3c %0a%3c Emacs comes with a comprehensive, built-in help system which can be accessed by pressing C-h t; In other words, pressing Control h, followed by t. This starts an interactive tutorial that you can follow, save and continue at a later time.%0a%3c %0a%3c '''Emacs cheat sheet'''%0a%3c %0a%3c '''Starting emacs'''%0a%3c %0a%3c $ emacs [Enter]%0a%3c to start emacs. %0a%3c $ emacs filename [Enter]%0a%3c to start emacs and load a file %0a%3c $ emacs -nw filename [Enter]%0a%3c to start emacs with no new window (load file) %0a%3c %0a%3c '''Quitting'''%0a%3c %0a%3c [Ctrl]x [Ctrl]c%0a%3c quit emacs (Emacs will prompt if any of the files have not yet been saved.) %0a%3c [Ctrl]g%0a%3c aborts any command in progress %0a%3c %0a%3c %0a%3c '''Help'''%0a%3c %0a%3c [Ctrl]h t%0a%3c to see the tutorial %0a%3c [Ctrl]h a topic [Enter]%0a%3c to see help about topic %0a%3c [Ctrl]x u%0a%3c undo the last command%0a%3c %0a%3c %0a%3c '''Cursor positioning and navigation within a file'''%0a%3c %0a%3c [Ctrl]f or [>-]%0a%3c forward (right) one character. %0a%3c [Ctrl]b or [>-]%0a%3c back (left) one character %0a%3c [Ctrl]p or [^]%0a%3c up one screen line %0a%3c [Ctrl]n or [v]%0a%3c down one screen line %0a%3c [Esc]b%0a%3c left one word %0a%3c [Esc]f%0a%3c right one word %0a%3c %0a%3c [Ctrl]a%0a%3c to beginning of line %0a%3c [Ctrl]e%0a%3c to end of line %0a%3c [Esc]%3c%0a%3c start of document %0a%3c [Esc]>%0a%3c end of document %0a%3c [Esc]v%0a%3c page up %0a%3c [Ctrl]v%0a%3c page down %0a%3c [Ctrl]l%0a%3c cursor in middle of screen %0a%3c [Ctrl]u 20 [Ctrl]n%0a%3c advance 20 lines %0a%3c [Ctrl]x w%0a%3c display the line number where the cursor is located %0a%3c [Esc]x goto-line [Enter] 999 [Enter]%0a%3c go to line number 999%0a%3c %0a%3c %0a%3c '''Search and Replace'''%0a%3c %0a%3c [Ctrl]s dance [Enter]%0a%3c search for dance; cursor moves as you type. Press [Enter] once at the correct location %0a%3c [Ctrl]r dance [Enter]%0a%3c search backwards for dance; cursor moves as you type. %0a%3c [Ctrl]s [Enter] [Enter]%0a%3c search for the next occurrence %0a%3c [Esc]%25 oldstring [Enter] newstring [Enter]%0a%3c Search for oldstring and replace it with newstring. The y key confirms each replacement, n skips it, q to exit %0a%3c %0a%3c %0a%3c '''Regions'''%0a%3c %0a%3c [Ctrl]SPC%0a%3c set mark at cursor %0a%3c [Ctrl]w%0a%3c kill region %0a%3c [Esc]w%0a%3c copy region to kill ring %0a%3c [Ctrl]y%0a%3c yank back last thing killed %0a%3c %0a%3c '''Loading and Saving'''%0a%3c %0a%3c [Ctrl]x [Ctrl]f filename%0a%3c create new filename for editing (clears workspace) %0a%3c [Ctrl]x [Ctrl]f filename%0a%3c load in filename for editing %0a%3c [Ctrl]x [Ctrl]w filename%0a%3c write (save) as filename %0a%3c [Ctrl]x [Ctrl]s%0a%3c resave under the current filename (based on above or name given when starting emacs)%0a%3c %0a%3c %0a%3c '''Cutting and Pasting'''%0a%3c %0a%3c [Ctrl]SPC%0a%3c Mark one end of region%0a%3c [Ctrl]w%0a%3c Cut (after you Mark and move to other end)%0a%3c [Alt]w%0a%3c Copy (after you Mark and move to other end)%0a%3c [Ctrl]y%0a%3c Yank (paste) most recently killed (cut or copied); will also use text currently selected in another application.%0a%3c [Alt]y%0a%3c Next most recently killed (do [Ctrl]y first, repeat [Alt]y to cycle thru all)‍%0a\ No newline at end of file%0a +host:1636191457=51.15.9.205 blob - /dev/null blob + ff6976e00bf334b7d5454c40d2915622a9c988ae (mode 644) --- /dev/null +++ wiki.d/Emacs.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +charset=UTF-8 +ctime=1636191457 +host=51.15.9.205 +name=Emacs.RecentChanges +rev=3 +text=* [[Emacs/Emacs]] . . . November 06, 2021, at 04:39 PM by [[~LohanG]]: [==]%0a +time=1636216746 blob - /dev/null blob + c7fed29034c64453e65bf09e8df8117df277e595 (mode 644) --- /dev/null +++ wiki.d/Email.Email @@ -0,0 +1,188 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +author=mkf +charset=UTF-8 +csum= +ctime=1596460065 +host=188.210.114.32 +name=Email.Email +rev=54 +targets=Squirrelmail.Connect,AppleMail.Connect,Alpine.Connect,AndroidEmail.AndroidEmail,Balsa.Connect,Becky.Connect,BlitzMail.Connect,ClawsMail.Connect,EM.Connect,EmailTray.Connect,Evolution.Connect,Fdm.Connect,FirstClass.Connect,ForteAgent.Connect,Geary.Connect,Gmail.Connect,K9Mail.Connect,Mutt.Connect,Opera.Connect,Outlook.Connect,Tencent.Connect,Thunderbird.Connect,GNUMail.Connect,Gnus.Connect,GroupWise.Connect,IScribe.Connect,HCLNotes.Connect,IMP.Connect,KMail.Connect,MailWindows.Connect,Mailbird.Connect,Mailpile.Connect,MailSpring.Connect,Seamonkey.Connect,Nmh.Connect,Pegasus.Connect,Spark.Connect,Spicebird.Connect,Sylpheed.Connect,TheBat.Connect,Trojitá.Connect,Turnpike.Connect,Pgp.Create,Pgp.Upload +text=(:title The Pony Express:)%0a%0a%25width=300px lfloat margin-right=30px%25 Attach:Marketing/ponyexpress.jpg%0a%0aDelivering e-mail using relays of horse-mounted sysadmins since June, 2019!%0a%0a* Free account with 1G storage%0a* Supports free software and open protocols IMAP, POP, and SMTP%0a* Live chat support from IRCNow%0a%0a-> Neither snow nor spam nor DDoS nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%0a!! Register for unified, transnetwork mail%0a%0aTo get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org|irc.ircnow.org]] and /join #ircnow. Then, ask for a Pony Express e-mail account.%0a%0a!! Configuration%0a%0aWe offer webmail and support the following clients:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Email Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || GPL ||%0a|| [[AppleMail/Connect|Apple Mail]] || || ✓ || || || ✓ || || Non-free ||%0a|| [[Alpine/Connect|Alpine]] || ✓ || ✓ || ✓ || || || || Apache 2.0 ||%0a|| [[AndroidEmail/Android Email]] || || || || ✓ || || || Apache 2.0 ||%0a|| [[Balsa/Connect|Balsa]] || || || ✓ || || || || GPLv2 ||%0a|| [[Becky/Connect|Becky!]] || ✓ || || || || || || Non-free ||%0a|| [[BlitzMail/Connect|BlitzMail]] || || || || ✓ || || || BSD ||%0a|| [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a|| [[eM/Connect|eM]] || ✓ || ✓ || || || || || Non-free ||%0a|| [[EmailTray/Connect|EmailTray]] || ✓ || || || || || || Non-free ||%0a|| [[Evolution/Connect|Evolution]] || || || ✓ || || || || LGPLv2 ||%0a|| [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || ||%0a|| [[FirstClass/Connect|FirstClass]] || || || || || || || Non-free ||%0a|| [[ForteAgent/Connect|ForteAgent]] || || || || || || || Non-free ||%0a|| [[Geary/Connect|Geary]] || || || ✓ || || || || LGPLv2.1 ||%0a|| [[Gmail/Connect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a|| [[K9Mail/Connect|K-9 Mail]] || || || || ✓ || || || ||%0a|| [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[Opera/Connect|Opera]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a|| [[Outlook/Connect|Outlook]] || ✓ || ✓ || || || || || Non-free ||%0a|| [[Tencent/Connect|Tencent]] || || || || || || || Non-free ||%0a|| [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a|| [[GNUMail/Connect|GNUMail]] || || ✓ || ✓ || || || || GPLv2 ||%0a|| [[Gnus/Connect|Gnus]] || ✓ || ✓ || ✓ || || || || GPL ||%0a|| [[GroupWise/Connect|GroupWise]] || ✓ || ✓ || ✓ || || || || Non-free ||%0a|| [[iScribe/Connect|i.Scribe]] || || || || || || || ||%0a|| [[HCLNotes/Connect|HCL Notes]] || || || || || || || ||%0a|| [[IMP/Connect|IMP]] || || || || || || || ||%0a|| [[KMail/Connect|KMail]] || || || ✓ || || || || ||%0a|| [[MailWindows/Connect|Windows 10 Mail]] || ✓ || || || || || || Non-free ||%0a|| [[Mailbird/Connect|Mailbird]] || || || || || || || Non-free ||%0a|| [[Mailpile/Connect|Mailpile]] || ✓ || ✓ || ✓ || || || ✓ || AGPLv3 ||%0a|| [[MailSpring/Connect|MailSpring]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a|| [[Seamonkey/Connect|Seamonkey]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a|| [[nmh/Connect|nmh]] || || ✓ || ✓ || || || || ||%0a|| [[Pegasus/Connect|Pegasus]] || || || || || || || ||%0a|| [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ || Non-free ||%0a|| [[Spicebird/Connect|Spicebird]] || ✓ || || ✓ || || || || MPL ||%0a|| [[Squirrelmail/Connect|SquirrelMail]] || || || || || || ✓ || GPL ||%0a|| [[Sylpheed/connect|Sylpheed]] || ✓ || || ✓ || || || || GPL ||%0a|| [[TheBat/Connect|The Bat!]] || ✓ || || || || || || Non-free || %0a|| [[Trojitá/Connect|Trojitá]] || ✓ || || ✓ || || || || GPL ||%0a|| [[Turnpike/Connect|turnpike]] || ✓ || || || || || || Non-free || %0a%0a!! PGP Guide(s)%0a%0a* [[pgp/create|Creating a PGP key]]%0a* [[pgp/upload|Upload your key]]%0a +time=1638159591 +title=The Pony Express +author:1638159591=mkf +diff:1638159591:1638159503:=29c29%0a%3c || [[Becky/Connect|Becky!]] || ✓ || || || || || || Non-free ||%0a---%0a> || [[Becky/Connect|Becky!]] || || || || || || || Non-free ||%0a +host:1638159591=188.210.114.32 +author:1638159503=mkf +diff:1638159503:1638157477:minor=68c68%0a%3c !! PGP Guide(s)%0a---%0a> !! PGP Guide%0a +host:1638159503=188.210.114.32 +author:1638157477=mkf +diff:1638157477:1635556712:=53c53%0a%3c || [[MailWindows/Connect|Windows 10 Mail]] || ✓ || || || || || || Non-free ||%0a---%0a> || [[MailWindows/Connect|Mail (Windows)]] || ✓ || || || || || || Non-free ||%0a +host:1638157477=188.210.114.32 +author:1635556712=hydragyrum +diff:1635556712:1630069174:=47c47%0a%3c || [[Gnus/Connect|Gnus]] || ✓ || ✓ || ✓ || || || || GPL ||%0a---%0a> || [[Gnus/Connect|Gnus]] || || || || || || || ||%0a +host:1635556712=76.178.24.7 +author:1630069174=mkf +csum:1630069174=Old blitzMail is dead. there is a new android client which is unrelated to old one. +diff:1630069174:1628992203:=30c30%0a%3c || [[BlitzMail/Connect|BlitzMail]] || || || || ✓ || || || BSD ||%0a---%0a> || [[BlitzMail/Connect|BlitzMail]] || ✓ || ✓ || ✓ || || || || BSD ||%0a +host:1630069174=198.251.81.133 +author:1628992203=mkf +diff:1628992203:1628987232:=58c58%0a%3c || [[nmh/Connect|nmh]] || || ✓ || ✓ || || || || ||%0a---%0a> || [[nmh/Connect|nmh]] || || || || || || || ||%0a +host:1628992203=198.251.81.133 +author:1628987232=mkf +csum:1628987232=No rc currently. +diff:1628987232:1628986900:=59a60%0a> || [[RoundCube/Connect|RoundCube]] || || || || || || ✓ || GPLv3 ||%0a62c63%0a%3c || [[Squirrelmail/Connect|SquirrelMail]] || || || || || || ✓ || GPL ||%0a---%0a> || [[SquirrelMail/Connect|SquirrelMail]] || || || || || || ✓ || GPL ||%0a +host:1628987232=198.251.81.133 +author:1628986900=mkf +csum:1628986900=Citadel is web only +diff:1628986900:1628985257:=30a31%0a> || [[Citadel/Connect|Citadel]] || || || || || || || GPLv3 ||%0a31a33%0a> %0a +host:1628986900=198.251.81.133 +author:1628985257=mkf +diff:1628985257:1628604094:=33c33%0a%3c %0a---%0a> || [[Cone/Connect|Cone]] || ✓ || || || || || || GPLv3 ||%0a35c35%0a%3c || [[EmailTray/Connect|EmailTray]] || ✓ || || || || || || Non-free ||%0a---%0a> || [[EmailTray/Connect|EmailTray]] || || || || || || || Non-free ||%0a +host:1628985257=198.251.81.133 +author:1628604094=mkf +diff:1628604094:1628604037:=58d57%0a%3c || [[MailSpring/Connect|MailSpring]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a59a59%0a> || [[MailSpring/Connect|MailSpring]] || ✓ || ✓ || ✓ || || || || GPL||%0a63c63%0a%3c || [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ || Non-free ||%0a---%0a> || [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ |N| Non-free ||%0a +host:1628604094=86.106.195.23 +author:1628604037=mkf +diff:1628604037:1628603822:=59c59%0a%3c || [[MailSpring/Connect|MailSpring]] || ✓ || ✓ || ✓ || || || || GPL||%0a---%0a> || [[Nylas/Connect|Nylas]] || ✓ || ✓ || ✓ || || || || MIT ||%0a +host:1628604037=86.106.195.23 +author:1628603822=mkf +csum:1628603822=Bye, Bye old clients. +diff:1628603822:1625027177:=33a34,35%0a> || [[Courier/Connect|Courier]] || ✓ || || || || || || ||%0a> || [[Elm/Connect|Elm]] || ✓ || || || || || || ||%0a35a38%0a> || [[Eudora/Connect|Eudora]] || ✓ || || || || || || ||%0a50a54%0a> || [[Hiri/Connect|Hiri]] || || || || || || || Non-free ||%0a58a63%0a> || [[Mulberry/Connect|Mulberry]] || || || || || || || ||%0a61a67,68%0a> || [[Pine/Connect|Pine]] || ✓ || || ✓ || || || || Non-free ||%0a> || [[Pocomail/Connect|Pocomail]] || || || || || || || Non-free ||%0a63c70%0a%3c || [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ |N| Non-free ||%0a---%0a> || [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ || Non-free ||%0a +host:1628603822=86.106.195.23 +author:1625027177=mkf +diff:1625027177:1623153585:=24c24%0a%3c || [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || GPL ||%0a---%0a> || [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || GPL||%0a +host:1625027177=91.185.130.228 +author:1623153585=mkf +csum:1623153585=irony +diff:1623153585:1622134917:=24c24%0a%3c || [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || GPL||%0a---%0a> || [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a +host:1623153585=198.251.81.133 +author:1622134917=mkf +diff:1622134917:1621144879:minor=15c15%0a%3c To get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org|irc.ircnow.org]] and /join #ircnow. Then, ask for a Pony Express e-mail account.%0a---%0a> To get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for a Pony Express e-mail account.%0a +host:1622134917=5.238.185.195 +author:1621144879=mkf +csum:1621144879=oops, courier +diff:1621144879:1621144797:=34d33%0a%3c || [[Courier/Connect|Courier]] || ✓ || || || || || || ||%0a +host:1621144879=5.238.165.237 +author:1621144797=mkf +csum:1621144797=licenses and few minor fixes +diff:1621144797:1621071408:=26,33c26,34%0a%3c || [[Alpine/Connect|Alpine]] || ✓ || ✓ || ✓ || || || || Apache 2.0 ||%0a%3c || [[AndroidEmail/Android Email]] || || || || ✓ || || || Apache 2.0 ||%0a%3c || [[Balsa/Connect|Balsa]] || || || ✓ || || || || GPLv2 ||%0a%3c || [[Becky/Connect|Becky!]] || || || || || || || Non-free ||%0a%3c || [[BlitzMail/Connect|BlitzMail]] || ✓ || ✓ || ✓ || || || || BSD ||%0a%3c || [[Citadel/Connect|Citadel]] || || || || || || || GPLv3 ||%0a%3c || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Cone/Connect|Cone]] || ✓ || || || || || || GPLv3 ||%0a---%0a> || [[Alpine/Connect|Alpine]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[AndroidEmail/Android Email]] || || || || ✓ || || || ||%0a> || [[Balsa/Connect|Balsa]] || || || ✓ || || || || ||%0a> || [[Becky/Connect|Becky!]] || || || || || || || ||%0a> || [[BlitzMail/Connect|BlitzMail]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Citadel/Connect|Citadel]] || || || || || || || ||%0a> || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Cone/Connect|Cone]] || ✓ || || || || || || ||%0a> || [[Courier/Connect|Courier]] || ✓ || || || || || || ||%0a35c36%0a%3c || [[eM/Connect|eM]] || ✓ || ✓ || || || || || Non-free ||%0a---%0a> || [[eM/Connect|eM]] || ✓ || || || || || || ||%0a38c39%0a%3c || [[Evolution/Connect|Evolution]] || || || ✓ || || || || LGPLv2 ||%0a---%0a> || [[Evolution/Connect|Evolution]] || || || ✓ || || || || ||%0a40,42c41,43%0a%3c || [[FirstClass/Connect|FirstClass]] || || || || || || || Non-free ||%0a%3c || [[ForteAgent/Connect|ForteAgent]] || || || || || || || Non-free ||%0a%3c || [[Geary/Connect|Geary]] || || || ✓ || || || || LGPLv2.1 ||%0a---%0a> || [[FirstClass/Connect|FirstClass]] || || || || || || || ||%0a> || [[ForteAgent/Connect|ForteAgent]] || || || || || || || ||%0a> || [[Geary/Connect|Geary]] || || || ✓ || || || || ||%0a44,45c45,46%0a%3c || [[K9Mail/Connect|K-9 Mail]] || || || || ✓ || || || ||%0a%3c || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[K9Mail/Connect|K-9 Mail]] || || || || || ✓ || || ||%0a> || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || ||%0a47c48%0a%3c || [[Outlook/Connect|Outlook]] || ✓ || ✓ || || || || || Non-free ||%0a---%0a> || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a49,50c50,51%0a%3c || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a%3c || [[GNUMail/Connect|GNUMail]] || || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL ||%0a> || [[GNUMail/Connect|GNUMail]] || || ✓ || ✓ || || || || ||%0a52,53c53,54%0a%3c || [[GroupWise/Connect|GroupWise]] || ✓ || ✓ || ✓ || || || || Non-free ||%0a%3c || [[Hiri/Connect|Hiri]] || || || || || || || Non-free ||%0a---%0a> || [[GroupWise/Connect|GroupWise]] || || || || || || || ||%0a> || [[Hiri/Connect|Hiri]] || || || || || || || ||%0a58,61c59,62%0a%3c || [[MailWindows/Connect|Mail (Windows)]] || ✓ || || || || || || Non-free ||%0a%3c || [[Mailbird/Connect|Mailbird]] || || || || || || || Non-free ||%0a%3c || [[Mailpile/Connect|Mailpile]] || ✓ || ✓ || ✓ || || || ✓ || AGPLv3 ||%0a%3c || [[Seamonkey/Connect|Seamonkey]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a---%0a> || [[MailWindows/Connect|Mail (Windows)]] || ✓ || || || || || || ||%0a> || [[Mailbird/Connect|Mailbird]] || || || || || || || ||%0a> || [[Mailpile/Connect|Mailpile]] || || || || || || || ||%0a> || [[Seamonkey/Connect|Seamonkey]] || ✓ || ✓ || ✓ || || || || ||%0a63c64%0a%3c || [[Nylas/Connect|Nylas]] || ✓ || ✓ || ✓ || || || || MIT ||%0a---%0a> || [[Nylas/Connect|Nylas]] || || || || || || || ||%0a66,69c67,70%0a%3c || [[Pine/Connect|Pine]] || ✓ || || ✓ || || || || Non-free ||%0a%3c || [[Pocomail/Connect|Pocomail]] || || || || || || || Non-free ||%0a%3c || [[RoundCube/Connect|RoundCube]] || || || || || || ✓ || GPLv3 ||%0a%3c || [[Spark/Connect|Spark]] || || ✓ || || ✓ || ✓ || ✓ || Non-free ||%0a---%0a> || [[Pine/Connect|Pine]] || || || || || || || ||%0a> || [[Pocomail/Connect|Pocomail]] || || || || || || || ||%0a> || [[RoundCube/Connect|RoundCube]] || || || || || || || ||%0a> || [[Spark/Connect|Spark]] || || || || || || || ||%0a73c74%0a%3c || [[TheBat/Connect|The Bat!]] || ✓ || || || || || || Non-free || %0a---%0a> || [[TheBat/Connect|The Bat!]] || ✓ || || || || || || Proprietary || %0a75,76c76,77%0a%3c || [[Turnpike/Connect|turnpike]] || ✓ || || || || || || Non-free || %0a%3c %0a---%0a> || [[Turnpike/Connect|turnpike]] || ✓ || || || || || || Proprietary || %0a> %0a80c81%0a%3c * [[pgp/upload|Upload your key]]%0a---%0a> * [[pgp/upload|Upload your key]]%0a\ No newline at end of file%0a +host:1621144797=5.238.165.237 +author:1621071408=mkf +diff:1621071408:1621070706:=28c28%0a%3c || [[Balsa/Connect|Balsa]] || || || ✓ || || || || ||%0a---%0a> || [[Balsa/Connect|Balsa]] || || || || || || || ||%0a39c39%0a%3c || [[Evolution/Connect|Evolution]] || || || ✓ || || || || ||%0a---%0a> || [[Evolution/Connect|Evolution]] || || || || || || || ||%0a43c43%0a%3c || [[Geary/Connect|Geary]] || || || ✓ || || || || ||%0a---%0a> || [[Geary/Connect|Geary]] || || || || || || || ||%0a59c59%0a%3c || [[MailWindows/Connect|Mail (Windows)]] || ✓ || || || || || || ||%0a---%0a> || [[MailWindows/Connect|Mail (Windows)]] || || || || || || || ||%0a62c62%0a%3c || [[Seamonkey/Connect|Seamonkey]] || ✓ || ✓ || ✓ || || || || ||%0a---%0a> || [[Seamonkey/Connect|Seamonkey]] || || || || || || || ||%0a +host:1621071408=198.251.81.133 +author:1621070706=mkf +csum:1621070706=added linux for thunderbird and Kmail +diff:1621070706:1621070600:minor=50c50%0a%3c || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL ||%0a---%0a> || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || || || || || MPL ||%0a58c58%0a%3c || [[KMail/Connect|KMail]] || || || ✓ || || || || ||%0a---%0a> || [[KMail/Connect|KMail]] || || || || || || || ||%0a +host:1621070706=198.251.81.133 +author:1621070600=mkf +diff:1621070600:1621070578:=75c75%0a%3c || [[Trojitá/Connect|Trojitá]] || ✓ || || ✓ || || || || GPL ||%0a---%0a> || [[Trojitá/Connect|Trojitá]] || ✓ || || ✓ || || || || GPL || Cross-platform%0a +host:1621070600=198.251.81.133 +author:1621070578=mkf +diff:1621070578:1621069560:=51c51%0a%3c || [[GNUMail/Connect|GNUMail]] || || ✓ || ✓ || || || || ||%0a---%0a> || [[GNUMail/Connect|GNUMail]] || || || || || || || ||%0a71,76c71,76%0a%3c || [[Spicebird/Connect|Spicebird]] || ✓ || || ✓ || || || || MPL ||%0a%3c || [[SquirrelMail/Connect|SquirrelMail]] || || || || || || ✓ || GPL ||%0a%3c || [[Sylpheed/connect|Sylpheed]] || ✓ || || ✓ || || || || GPL ||%0a%3c || [[TheBat/Connect|The Bat!]] || ✓ || || || || || || Proprietary || %0a%3c || [[Trojitá/Connect|Trojitá]] || ✓ || || ✓ || || || || GPL || Cross-platform%0a%3c || [[Turnpike/Connect|turnpike]] || ✓ || || || || || || Proprietary || %0a---%0a> || [[Spicebird/Connect|Spicebird]] || ✓ || || || || || || || Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a> || [[SquirrelMail/Connect]] || || || || || || || ||Cross-platform GNU General Public License Webmail%0a> || [[Sylpheed/connect|Sylpheed]] || || || || || || || || Cross-platform GNU General Public License GUI (GTK2)%0a> || [[TheBat/Connect|The Bat!]] || || || || || || || || Windows Proprietary GUI%0a> || [[Trojitá/Connect|Trojitá]] || || || || || || || || Cross-platform GNU General Public License GUI (Qt)%0a> || [[Turnpike/Connect|turnpike]] || ✓ || || || || || || || Proprietary %0a +host:1621070578=198.251.81.133 +author:1621069560=mkf +csum:1621069560=fixed the spacing, pt2 +diff:1621069560:1621069316:=71,76c71,76%0a%3c || [[Spicebird/Connect|Spicebird]] || ✓ || || || || || || || Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a%3c || [[SquirrelMail/Connect]] || || || || || || || ||Cross-platform GNU General Public License Webmail%0a%3c || [[Sylpheed/connect|Sylpheed]] || || || || || || || || Cross-platform GNU General Public License GUI (GTK2)%0a%3c || [[TheBat/Connect|The Bat!]] || || || || || || || || Windows Proprietary GUI%0a%3c || [[Trojitá/Connect|Trojitá]] || || || || || || || || Cross-platform GNU General Public License GUI (Qt)%0a%3c || [[Turnpike/Connect|turnpike]] || ✓ || || || || || || || Proprietary %0a---%0a> Spicebird Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a> SquirrelMail Cross-platform GNU General Public License Webmail%0a> Sylpheed Cross-platform GNU General Public License GUI (GTK2)%0a> The Bat! Windows Proprietary GUI%0a> Trojitá Cross-platform GNU General Public License GUI (Qt)%0a> Turnpike Windows Proprietary GUI %0a +host:1621069560=91.185.147.5 +author:1621069316=mkf +csum:1621069316=fixed the spacing, pt.1 +diff:1621069316:1620140440:=50a51%0a> %0a51a53%0a> %0a71,76c73,78%0a%3c Spicebird Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a%3c SquirrelMail Cross-platform GNU General Public License Webmail%0a%3c Sylpheed Cross-platform GNU General Public License GUI (GTK2)%0a%3c The Bat! Windows Proprietary GUI%0a%3c Trojitá Cross-platform GNU General Public License GUI (Qt)%0a%3c Turnpike Windows Proprietary GUI %0a---%0a> Spicebird Synovel Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a> SquirrelMail The SquirrelMail Project Team Cross-platform GNU General Public License Webmail%0a> Sylpheed Hiroyuki Yamamoto Cross-platform GNU General Public License GUI (GTK2)%0a> The Bat! RitLabs Windows Proprietary GUI%0a> Trojitá KDE Cross-platform GNU General Public License GUI (Qt)%0a> Turnpike Thus PLC (Demon Internet) Windows Proprietary GUI %0a +host:1621069316=91.185.147.5 +author:1620140440=jrmu +diff:1620140440:1613793449:=22c22%0a%3c ||! Email Clients !||%0a---%0a> ||! IRC Clients !||%0a +host:1620140440=198.251.81.119 +author:1613793449=jrmu +diff:1613793449:1613787680:=32a33%0a> || [[Citadel/Connect|Citadel]] || || || || || || || ||%0a37d37%0a%3c || [[EmailTray/Connect|EmailTray]] || || || || || || || Non-free ||%0a39d38%0a%3c || [[Evolution/Connect|Evolution]] || || || || || || || ||%0a41,43d39%0a%3c || [[FirstClass/Connect|FirstClass]] || || || || || || || ||%0a%3c || [[ForteAgent/Connect|ForteAgent]] || || || || || || || ||%0a%3c || [[Geary/Connect|Geary]] || || || || || || || ||%0a51,78d46%0a%3c %0a%3c || [[GNUMail/Connect|GNUMail]] || || || || || || || ||%0a%3c %0a%3c || [[Gnus/Connect|Gnus]] || || || || || || || ||%0a%3c || [[GroupWise/Connect|GroupWise]] || || || || || || || ||%0a%3c || [[Hiri/Connect|Hiri]] || || || || || || || ||%0a%3c || [[iScribe/Connect|i.Scribe]] || || || || || || || ||%0a%3c || [[HCLNotes/Connect|HCL Notes]] || || || || || || || ||%0a%3c || [[IMP/Connect|IMP]] || || || || || || || ||%0a%3c || [[KMail/Connect|KMail]] || || || || || || || ||%0a%3c || [[MailWindows/Connect|Mail (Windows)]] || || || || || || || ||%0a%3c || [[Mailbird/Connect|Mailbird]] || || || || || || || ||%0a%3c || [[Mailpile/Connect|Mailpile]] || || || || || || || ||%0a%3c || [[Seamonkey/Connect|Seamonkey]] || || || || || || || ||%0a%3c || [[Mulberry/Connect|Mulberry]] || || || || || || || ||%0a%3c || [[Nylas/Connect|Nylas]] || || || || || || || ||%0a%3c || [[nmh/Connect|nmh]] || || || || || || || ||%0a%3c || [[Pegasus/Connect|Pegasus]] || || || || || || || ||%0a%3c || [[Pine/Connect|Pine]] || || || || || || || ||%0a%3c || [[Pocomail/Connect|Pocomail]] || || || || || || || ||%0a%3c || [[RoundCube/Connect|RoundCube]] || || || || || || || ||%0a%3c || [[Spark/Connect|Spark]] || || || || || || || ||%0a%3c Spicebird Synovel Windows, Linux, BSD Mozilla Public License GUI (XUL)%0a%3c SquirrelMail The SquirrelMail Project Team Cross-platform GNU General Public License Webmail%0a%3c Sylpheed Hiroyuki Yamamoto Cross-platform GNU General Public License GUI (GTK2)%0a%3c The Bat! RitLabs Windows Proprietary GUI%0a%3c Trojitá KDE Cross-platform GNU General Public License GUI (Qt)%0a%3c Turnpike Thus PLC (Demon Internet) Windows Proprietary GUI %0a +host:1613793449=198.251.81.119 +author:1613787680=jrmu +diff:1613787680:1613787140:= +host:1613787680=198.251.81.119 +author:1613787140=jrmu +diff:1613787140:1613786927:=34,38d33%0a%3c || [[Cone/Connect|Cone]] || ✓ || || || || || || ||%0a%3c || [[Courier/Connect|Courier]] || ✓ || || || || || || ||%0a%3c || [[Elm/Connect|Elm]] || ✓ || || || || || || ||%0a%3c || [[eM/Connect|eM]] || ✓ || || || || || || ||%0a%3c || [[Eudora/Connect|Eudora]] || ✓ || || || || || || ||%0a +host:1613787140=198.251.81.119 +author:1613786927=jrmu +diff:1613786927:1613786891:= +host:1613786927=198.251.81.119 +author:1613786891=jrmu +diff:1613786891:1613753315:=24c24,28%0a%3c || [[Squirrelmail/Connect|PonyExpress Web]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a---%0a> || [[Gmail/Connect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a> || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a> || [[Opera/Connect|Opera]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a> || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || || || || || MPL ||%0a> || [[K9Mail/Connect|K-9 Mail]] || || || || || ✓ || || ||%0a26c30,33%0a%3c || [[Alpine/Connect|Alpine]] || ✓ || ✓ || ✓ || || || || ||%0a---%0a> || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Tencent/Connect|Tencent]] || || || || || || || Non-free ||%0a> || [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || ||%0a28,41d34%0a%3c || [[Balsa/Connect|Balsa]] || || || || || || || ||%0a%3c || [[Becky/Connect|Becky!]] || || || || || || || ||%0a%3c || [[BlitzMail/Connect|BlitzMail]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Citadel/Connect|Citadel]] || || || || || || || ||%0a%3c || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Citadel/Connect|Citadel]] || || || || || || || ||%0a%3c || [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Gmail/Connect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a%3c || [[K9Mail/Connect|K-9 Mail]] || || || || || ✓ || || ||%0a%3c || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Opera/Connect|Opera]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a%3c || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a%3c || [[Tencent/Connect|Tencent]] || || || || || || || Non-free ||%0a%3c || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || || || || || MPL ||%0a +host:1613786891=198.251.81.119 +author:1613753315=jrmu +diff:1613753315:1613753297:=24,25c24%0a%3c || [[Gmail/Connect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a%3c || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a---%0a> || [[Gmail/CConnect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a26a26%0a> || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a +host:1613753315=198.251.81.119 +author:1613753297=jrmu +diff:1613753297:1613751881:=25d24%0a%3c || [[Opera/Connect|Opera]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a +host:1613753297=198.251.81.119 +author:1613751881=jrmu +diff:1613751881:1613707535:=37,38c37%0a%3c * [[pgp/create|Creating a PGP key]]%0a%3c * [[pgp/upload|Upload your key]]%0a\ No newline at end of file%0a---%0a> [[pgp/create|Creating a PGP key]]%0a\ No newline at end of file%0a +host:1613751881=198.251.81.119 +author:1613707535=jrmu +diff:1613707535:1612665946:=33,37c33%0a%3c || [[AndroidEmail/Android Email]] || || || || ✓ || || || ||%0a%3c %0a%3c !! PGP Guide%0a%3c %0a%3c [[pgp/create|Creating a PGP key]]%0a\ No newline at end of file%0a---%0a> || [[AndroidEmail/Android Email]] || || || || ✓ || || || ||%0a\ No newline at end of file%0a +host:1613707535=198.251.81.119 +author:1612665946=jrmu +diff:1612665946:1612665587:=24,33c24,33%0a%3c || [[Gmail/CConnect|Gmail]] || || || || ✓ || ✓ || ✓ || Non-free ||%0a%3c || [[Outlook/Connect|Outlook]] || ✓ || || || || || || Non-free ||%0a%3c || [[Thunderbird/Connect|Thunderbird]] || ✓ || ✓ || || || || || MPL ||%0a%3c || [[K9Mail/Connect|K-9 Mail]] || || || || || ✓ || || ||%0a%3c || [[AppleMail/Connect|Apple Mail]] || || ✓ || || || ✓ || || Non-free ||%0a%3c || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Tencent/Connect|Tencent]] || || || || || || || Non-free ||%0a%3c || [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[AndroidEmail/Android Email]] || || || || ✓ || || || ||%0a\ No newline at end of file%0a---%0a> || [[Gmail/CConnect|Gmail]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[Outlook/Connect|Outlook]] || || ✓ || || || || || GPL ||%0a> || [[Thunderbird/Connect|Thunderbird]] || || || || ✓ || || || Proprietary ||%0a> || [[K9Mail/Connect|K-9 Mail]] || || || || ✓ || || || GPLv3 ||%0a> || [[AppleMail/Connect|Apple Mail]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Tencent/Connect|Tencent]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[AndroidEmail/Android Email]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a\ No newline at end of file%0a +host:1612665946=198.251.81.119 +author:1612665587=jrmu +diff:1612665587:1612665359:=21,33c21,54%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC Clients !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[Gmail/CConnect|Gmail]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[Outlook/Connect|Outlook]] || || ✓ || || || || || GPL ||%0a%3c || [[Thunderbird/Connect|Thunderbird]] || || || || ✓ || || || Proprietary ||%0a%3c || [[K9Mail/Connect|K-9 Mail]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[AppleMail/Connect|Apple Mail]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[ClawsMail/Connect|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Mutt/Connect|Mutt]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Tencent/Connect|Tencent]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[fdm/Connect|fdm]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[AndroidEmail/Android Email]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a\ No newline at end of file%0a---%0a> - [[email/gmail|Gmail]]%0a> - [[email/outlook|Outlook]]%0a> - [[email/thunderbird|Thunderbird]]%0a> - [[email/k9mail|K-9 Mail]]%0a> - [[email/applemail|Apple Mail]]%0a> - [[email/clawsmail|Claws Mail]]%0a> - [[openbsd/mutt|Mutt]]%0a> - [[openbsd/mail:fdm|fdm]]%0a> - [[email/Tencent Mail]]%0a> - [[email/android email app]]%0a> %0a> %0a> example: Setting up email in the email app on Android%0a> %0a> Step 1 - Open the email app%0a> %0a> Step 2 - Tap Add new account%0a> %0a> Step 3 - Enter your email and password (sign in)%0a> Username: nickname@ircnow.org%0a> Password: ********%0a> %0a> '''incoming mail server'''%0a> IMAP server : imap.ircnow.org%0a> Port : 143%0a> Security type : STARTTLS%0a> IMAP path prefix: Optional%0a> %0a> '''Outgoing mail server'''%0a> SMTP server : mail.ircnow.org%0a> Port : 587%0a> Security type : STARTTLS%0a> %0a> Step 4 - Done!%0a\ No newline at end of file%0a +host:1612665587=198.251.81.119 +author:1612665359=jrmu +diff:1612665359:1612665299:=5c5%0a%3c Delivering e-mail using relays of horse-mounted sysadmins since June, 2019!%0a---%0a> Delivering mail using relays of horse-mounted sysadmins since June, 2019!%0a +host:1612665359=198.251.81.119 +author:1612665299=jrmu +diff:1612665299:1612665274:=7,9c7,9%0a%3c * Free account with 1G storage%0a%3c * Supports free software and open protocols IMAP, POP, and SMTP%0a%3c * Live chat support from IRCNow%0a---%0a> - Free account with 1G storage%0a> - Supports free software and open protocols IMAP, POP, and SMTP%0a> - Live chat support from IRCNow%0a +host:1612665299=198.251.81.119 +author:1612665274=jrmu +diff:1612665274:1612665138:=5,17c5,19%0a%3c Delivering mail using relays of horse-mounted sysadmins since June, 2019!%0a%3c %0a%3c - Free account with 1G storage%0a%3c - Supports free software and open protocols IMAP, POP, and SMTP%0a%3c - Live chat support from IRCNow%0a%3c %0a%3c -> Neither snow nor spam nor DDoS nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%3c %0a%3c !! Register for unified, transnetwork mail%0a%3c %0a%3c To get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for a Pony Express e-mail account.%0a%3c %0a%3c !! Configuration%0a---%0a> # Free account with 1G storage%0a> # Supports free software and open protocols IMAP, POP, and SMTP%0a> # Live chat support from IRCNow%0a> %0a> -> Neither snow nor spam nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a> %0a> Delivering mail using relays of horse-mounted riders since October, 2019!%0a> %0a> Sign up to the unified, transnetwork mailing lists%0a> %0a> !! How to register for this service%0a> %0a> To get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for an e-mail account, and we will create it for you promptly and help you with the setup.%0a> %0a> !! How to configure your e-mail client%0a +host:1612665274=198.251.81.119 +author:1612665138=jrmu +diff:1612665138:1612665127:=3c3%0a%3c %25width=300px lfloat margin-right=30px%25 Attach:Marketing/ponyexpress.jpg%0a---%0a> %25width=300px lfloat margin-right=20px%25 Attach:Marketing/ponyexpress.jpg%0a +host:1612665138=198.251.81.119 +author:1612665127=jrmu +diff:1612665127:1612665095:=3c3%0a%3c %25width=300px lfloat margin-right=20px%25 Attach:Marketing/ponyexpress.jpg%0a---%0a> %25width=300px lfloat%25 Attach:Marketing/ponyexpress.jpg%0a +host:1612665127=198.251.81.119 +author:1612665095=jrmu +diff:1612665095:1612664931:=9,12c9,14%0a%3c -> Neither snow nor spam nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%3c %0a%3c Delivering mail using relays of horse-mounted riders since October, 2019!%0a%3c %0a---%0a> Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a> %0a> Neither spam nor nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a> %0a> Delivering messages, news, and mail using relays of horse-mounted riders since October, 2019!%0a> %0a13a16,19%0a> %0a> Young, hardy mail deliverers and fast ethernet cables bring back that rugged Unix individualism of the frontier times.%0a> %0a> Wanted: Young, skinny, wiry fellows not over eighteen. Must be expert riders, willing to risk death daily. Orphans preferred[a]%0a +host:1612665095=198.251.81.119 +author:1612664931=jrmu +diff:1612664931:1612663808:=5,19c5,36%0a%3c # Free account with 1G storage%0a%3c # Supports free software and open protocols IMAP, POP, and SMTP%0a%3c # Live chat support from IRCNow%0a%3c %0a%3c Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%3c %0a%3c Neither spam nor nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%3c %0a%3c Delivering messages, news, and mail using relays of horse-mounted riders since October, 2019!%0a%3c %0a%3c Sign up to the unified, transnetwork mailing lists%0a%3c %0a%3c Young, hardy mail deliverers and fast ethernet cables bring back that rugged Unix individualism of the frontier times.%0a%3c %0a%3c Wanted: Young, skinny, wiry fellows not over eighteen. Must be expert riders, willing to risk death daily. Orphans preferred[a]%0a---%0a> # Send email securely with the Pony Express%0a> * one account, unlimited uptime and storage%0a> * free of charge, with free software%0a> * real time support from IRCNow over live chat%0a> %0a> Neither snow nor spam nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a> %0a> The Pony Express was a mail service delivering messages, newspapers, and mail using relays of horse-mounted riders that operated from April 3, 1860, to October 26, 1861, between Missouri and California in the United States of America.%0a> %0a> Operated by Central Overland California and Pikes Peak Express Company, the Pony Express was of great financial importance to the U.S. During its 18 months of operation, it reduced the time for messages to travel between the Atlantic and Pacific coasts to about 10 days. Many people used the Pony Express as a communication link. It also encouraged catalogs to be created, allowing people to buy goods and have them brought by horse to the customers.[1] It became the West's most direct means of east-west communication before the transcontinental telegraph was established (October 24, 1861), and was vital for tying the new U.S. state of California with the rest of the United States.%0a> %0a> Despite a heavy subsidy, the Pony Express was not a financial success and went bankrupt in 18 months, when faster telegraph service was established. Nevertheless, it demonstrated that a unified transcontinental system of communications could be established and operated year-round. When replaced by the telegraph, the Pony Express quickly became romanticized and became part of the lore of the American West. Its reliance on the ability and endurance of individual young, hardy riders and fast horses was seen as evidence of rugged American individualism of the frontier times. %0a> %0a> The idea of a fast mail route to the Pacific Coast was prompted largely by California's newfound prominence and its rapidly growing population. After gold was discovered there in 1848, thousands of prospectors, investors, and businessmen made their way to California, at that time a new territory of the U.S. By 1850, California entered the Union as a free state. By 1860, the population had grown to 380,000.[2] The demand for a faster way to get the mail and other communications to and from this westernmost state became even greater as the American Civil War approached. %0a> %0a> By using a short route and mounted riders rather than traditional stagecoaches, they proposed to establish a fast mail service between St. Joseph, Missouri, and Sacramento, California, with letters delivered in 10 days, which many said was impossible. The initial price was set at $5 per 1⁄2 ounce (14 g), then $2.50, and by July 1861 to $1. The founders of the Pony Express hoped to win an exclusive government mail contract, but that did not come about.%0a> %0a> Russell, Majors, and Waddell organized and put together the Pony Express in two months in the winter of 1860. The undertaking assembled 80 riders, 184 stations, 400 horses, and several hundred personnel during January and February 1861.[7]%0a> %0a> Majors was a religious man and resolved "by the help of God" to overcome all difficulties. He presented each rider with a special-edition Bible and required this oath,[8][9] which they were also required to sign.[10] %0a> %0a> I, ... , do hereby swear, before the Great and Living God, that during my engagement, and while I am an employee of Russell, Majors, and Waddell, I will, under no circumstances, use profane language, that I will drink no intoxicating liquors, that I will not quarrel or fight with any other employee of the firm, and that in every respect I will conduct myself honestly, be faithful to my duties, and so direct all my acts as to win the confidence of my employers, so help me God."%0a> %0a> change to a fresh horse, taking only the mail pouch called a mochila (from the Spanish for pouch or backpack) with him. %0a> %0a> The employers stressed the importance of the pouch. They often said that, if it came to be, the horse and rider should perish before the mochila did. The mochila was thrown over the saddle and held in place by the weight of the rider sitting on it%0a> %0a> Each corner had a cantina, or pocket. Bundles of mail were placed in these cantinas, which were padlocked for safety. The mochila could hold 20 pounds (9 kg) of mail along with the 20 pounds (9 kg) of material carried on the horse.[14] Eventually, everything except one revolver and a water sack was removed, allowing for a total of 165 pounds (75 kg) on the horse's back. Riders, who could not weigh over 125 pounds (57 kg), changed about every 75–100 miles (120–160 km), and rode day and night. In emergencies, a given rider might ride two stages back to back, over 20 hours on a quickly moving horse. %0a> %0a> The approximately 1,900-mile-long (3,100 km) route[17] roughly followed the Oregon and California Trails to Fort Bridger in Wyoming, and then the Mormon Trail (known as the Hastings Cutoff) to Salt Lake City, Utah. From there, it followed the Central Nevada Route to Carson City, Nevada Territory, before passing over the Sierra into Sacramento, California.[18] %0a> %0a> Wanted: Young, skinny, wiry fellows not over eighteen. Must be expert riders, willing to risk death daily. Orphans preferred[a]%0a +host:1612664931=198.251.81.119 +author:1612663808=jrmu +diff:1612663808:1612662813:=2a3,4%0a> Send email securely with the Pony Express%0a> %0a5d6%0a%3c # Send email securely with the Pony Express%0a9,36d9%0a%3c %0a%3c Neither snow nor spam nor ddos nor gloom of night stays these couriers from the swift completion of their appointed rounds%0a%3c %0a%3c The Pony Express was a mail service delivering messages, newspapers, and mail using relays of horse-mounted riders that operated from April 3, 1860, to October 26, 1861, between Missouri and California in the United States of America.%0a%3c %0a%3c Operated by Central Overland California and Pikes Peak Express Company, the Pony Express was of great financial importance to the U.S. During its 18 months of operation, it reduced the time for messages to travel between the Atlantic and Pacific coasts to about 10 days. Many people used the Pony Express as a communication link. It also encouraged catalogs to be created, allowing people to buy goods and have them brought by horse to the customers.[1] It became the West's most direct means of east-west communication before the transcontinental telegraph was established (October 24, 1861), and was vital for tying the new U.S. state of California with the rest of the United States.%0a%3c %0a%3c Despite a heavy subsidy, the Pony Express was not a financial success and went bankrupt in 18 months, when faster telegraph service was established. Nevertheless, it demonstrated that a unified transcontinental system of communications could be established and operated year-round. When replaced by the telegraph, the Pony Express quickly became romanticized and became part of the lore of the American West. Its reliance on the ability and endurance of individual young, hardy riders and fast horses was seen as evidence of rugged American individualism of the frontier times. %0a%3c %0a%3c The idea of a fast mail route to the Pacific Coast was prompted largely by California's newfound prominence and its rapidly growing population. After gold was discovered there in 1848, thousands of prospectors, investors, and businessmen made their way to California, at that time a new territory of the U.S. By 1850, California entered the Union as a free state. By 1860, the population had grown to 380,000.[2] The demand for a faster way to get the mail and other communications to and from this westernmost state became even greater as the American Civil War approached. %0a%3c %0a%3c By using a short route and mounted riders rather than traditional stagecoaches, they proposed to establish a fast mail service between St. Joseph, Missouri, and Sacramento, California, with letters delivered in 10 days, which many said was impossible. The initial price was set at $5 per 1⁄2 ounce (14 g), then $2.50, and by July 1861 to $1. The founders of the Pony Express hoped to win an exclusive government mail contract, but that did not come about.%0a%3c %0a%3c Russell, Majors, and Waddell organized and put together the Pony Express in two months in the winter of 1860. The undertaking assembled 80 riders, 184 stations, 400 horses, and several hundred personnel during January and February 1861.[7]%0a%3c %0a%3c Majors was a religious man and resolved "by the help of God" to overcome all difficulties. He presented each rider with a special-edition Bible and required this oath,[8][9] which they were also required to sign.[10] %0a%3c %0a%3c I, ... , do hereby swear, before the Great and Living God, that during my engagement, and while I am an employee of Russell, Majors, and Waddell, I will, under no circumstances, use profane language, that I will drink no intoxicating liquors, that I will not quarrel or fight with any other employee of the firm, and that in every respect I will conduct myself honestly, be faithful to my duties, and so direct all my acts as to win the confidence of my employers, so help me God."%0a%3c %0a%3c change to a fresh horse, taking only the mail pouch called a mochila (from the Spanish for pouch or backpack) with him. %0a%3c %0a%3c The employers stressed the importance of the pouch. They often said that, if it came to be, the horse and rider should perish before the mochila did. The mochila was thrown over the saddle and held in place by the weight of the rider sitting on it%0a%3c %0a%3c Each corner had a cantina, or pocket. Bundles of mail were placed in these cantinas, which were padlocked for safety. The mochila could hold 20 pounds (9 kg) of mail along with the 20 pounds (9 kg) of material carried on the horse.[14] Eventually, everything except one revolver and a water sack was removed, allowing for a total of 165 pounds (75 kg) on the horse's back. Riders, who could not weigh over 125 pounds (57 kg), changed about every 75–100 miles (120–160 km), and rode day and night. In emergencies, a given rider might ride two stages back to back, over 20 hours on a quickly moving horse. %0a%3c %0a%3c The approximately 1,900-mile-long (3,100 km) route[17] roughly followed the Oregon and California Trails to Fort Bridger in Wyoming, and then the Mormon Trail (known as the Hastings Cutoff) to Salt Lake City, Utah. From there, it followed the Central Nevada Route to Carson City, Nevada Territory, before passing over the Sierra into Sacramento, California.[18] %0a%3c %0a%3c Wanted: Young, skinny, wiry fellows not over eighteen. Must be expert riders, willing to risk death daily. Orphans preferred[a]%0a +host:1612663808=198.251.81.119 +author:1612662813=jrmu +diff:1612662813:1612662682:=5c5%0a%3c %25width=300px lfloat%25 Attach:Marketing/ponyexpress.jpg%0a---%0a> Attach:Marketing/ponyexpress.jpg%0a +host:1612662813=198.251.81.119 +author:1612662682=jrmu +diff:1612662682:1612662344:=4,5d3%0a%3c %0a%3c Attach:Marketing/ponyexpress.jpg%0a +host:1612662682=198.251.81.119 +author:1612662344=jrmu +diff:1612662344:1602938572:=1,4d0%0a%3c (:title The Pony Express:)%0a%3c %0a%3c Send email securely with the Pony Express%0a%3c %0a +host:1612662344=198.251.81.119 +author:1602938572=jrmu +diff:1602938572:1598772403:=13,22c13,22%0a%3c - [[email/gmail|Gmail]]%0a%3c - [[email/outlook|Outlook]]%0a%3c - [[email/thunderbird|Thunderbird]]%0a%3c - [[email/k9mail|K-9 Mail]]%0a%3c - [[email/applemail|Apple Mail]]%0a%3c - [[email/clawsmail|Claws Mail]]%0a%3c - [[openbsd/mutt|Mutt]]%0a%3c - [[openbsd/mail:fdm|fdm]]%0a%3c - [[email/Tencent Mail]]%0a%3c - [[email/android email app]]%0a---%0a> - [[email:gmail|Gmail]]%0a> - [[email:outlook|Outlook]]%0a> - [[email:thunderbird|Thunderbird]]%0a> - [[email:k9mail|K-9 Mail]]%0a> - [[email:applemail|Apple Mail]]%0a> - [[email:clawsmail|Claws Mail]]%0a> - [[openbsd:mutt|Mutt]]%0a> - [[openbsd:mail:fdm|fdm]]%0a> - [[email:Tencent Mail]]%0a> - [[email : android email app]]%0a +host:1602938572=125.231.17.204 +author:1598772403=gry +csum:1598772403=clarified +diff:1598772403:1598772380:=7c7%0a%3c To get started with a free bouncer, connect to our live chat server (IRC server) [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for an e-mail account, and we will create it for you promptly and help you with the setup.%0a---%0a> To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for an e-mail account, and we will create it for you promptly and help you with the setup.%0a +host:1598772403=203.129.25.247 +author:1598772380=gry +csum:1598772380=clarified +diff:1598772380:1598191438:=5,6d4%0a%3c !! How to register for this service%0a%3c %0a8,9d5%0a%3c %0a%3c !! How to configure your e-mail client%0a +host:1598772380=203.129.25.247 +author:1598191438=planetofnix +diff:1598191438:1598191347:=24d23%0a%3c %0a26d24%0a%3c %0a41d38%0a%3c %0a +host:1598191438=139.194.104.52 +author:1598191347=planetofnix +diff:1598191347:1597899740:=17,39c17%0a%3c - [[email:Tencent Mail]]%0a%3c - [[email : android email app]]%0a%3c %0a%3c %0a%3c example: Setting up email in the email app on Android%0a%3c %0a%3c Step 1 - Open the email app%0a%3c Step 2 - Tap Add new account%0a%3c Step 3 - Enter your email and password (sign in)%0a%3c Username: nickname@ircnow.org%0a%3c Password: ********%0a%3c %0a%3c '''incoming mail server'''%0a%3c IMAP server : imap.ircnow.org%0a%3c Port : 143%0a%3c Security type : STARTTLS%0a%3c IMAP path prefix: Optional%0a%3c %0a%3c '''Outgoing mail server'''%0a%3c SMTP server : mail.ircnow.org%0a%3c Port : 587%0a%3c Security type : STARTTLS%0a%3c Step 4 - Done! %0a\ No newline at end of file%0a---%0a> - [[email:Tencent Mail]]%0a\ No newline at end of file%0a +host:1598191347=139.194.104.52 +author:1597899740=gry +csum:1597899740=expadned +diff:1597899740:1597236691:=1,6d0%0a%3c * one account, unlimited uptime and storage%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, ask for an e-mail account, and we will create it for you promptly and help you with the setup.%0a%3c %0a +host:1597899740=203.129.25.247 +author:1597236691=jrmu +diff:1597236691:1596460065:=1,2d0%0a%3c We offer webmail and support the following clients:%0a%3c %0a10a9%0a> - [[email:squirrelmail|SquirrelMail]]%0a +host:1597236691=38.81.163.143 +author:1596460065=jrmu +diff:1596460065:1596460065:=1,10d0%0a%3c - [[email:gmail|Gmail]]%0a%3c - [[email:outlook|Outlook]]%0a%3c - [[email:thunderbird|Thunderbird]]%0a%3c - [[email:k9mail|K-9 Mail]]%0a%3c - [[email:applemail|Apple Mail]]%0a%3c - [[email:clawsmail|Claws Mail]]%0a%3c - [[openbsd:mutt|Mutt]]%0a%3c - [[openbsd:mail:fdm|fdm]]%0a%3c - [[email:squirrelmail|SquirrelMail]]%0a%3c - [[email:Tencent Mail]]%0a\ No newline at end of file%0a +host:1596460065=38.81.163.143 blob - /dev/null blob + a0b8f6aff66cc53350863838324de49f5dc3fda0 (mode 644) --- /dev/null +++ wiki.d/Email.EmailAndroidEmailApp,del-1630075032 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0 +author=planetofnix +charset=UTF-8 +csum= +ctime=1598191537 +host=139.194.104.52 +name=Email.EmailAndroidEmailApp +rev=1 +targets= +text=example: Setting up email in the email app on Android%0a%0aStep 1 - Open the email app%0a%0aStep 2 - Tap Add new account%0a%0aStep 3 - Enter your email and password (sign in)%0a%0a Username: nickname@ircnow.org%0a Password: ********%0a%0a incoming mail server%0a IMAP server : imap.ircnow.org%0a Port : 143%0a Security type : STARTTLS%0a IMAP path prefix: Optional%0a%0a Outgoing mail server%0a SMTP server : mail.ircnow.org%0a Port : 587%0a Security type : STARTTLS%0a%0aStep 4 - Done! +time=1598191537 +author:1598191537=planetofnix +diff:1598191537:1598191537:=1,23d0%0a%3c example: Setting up email in the email app on Android%0a%3c %0a%3c Step 1 - Open the email app%0a%3c %0a%3c Step 2 - Tap Add new account%0a%3c %0a%3c Step 3 - Enter your email and password (sign in)%0a%3c %0a%3c Username: nickname@ircnow.org%0a%3c Password: ********%0a%3c %0a%3c incoming mail server%0a%3c IMAP server : imap.ircnow.org%0a%3c Port : 143%0a%3c Security type : STARTTLS%0a%3c IMAP path prefix: Optional%0a%3c %0a%3c Outgoing mail server%0a%3c SMTP server : mail.ircnow.org%0a%3c Port : 587%0a%3c Security type : STARTTLS%0a%3c %0a%3c Step 4 - Done! %0a\ No newline at end of file%0a +host:1598191537=139.194.104.52 blob - /dev/null blob + e4b0ae8b73fa9dbcb8caa27cd19572c8b2be376e (mode 644) --- /dev/null +++ wiki.d/Email.Outlook @@ -0,0 +1,60 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 +author=Zouheir +charset=UTF-8 +csum= +ctime=1610815538 +host=186.233.186.31 +name=Email.Outlook +rev=16 +targets= +text=here are the 6 easy steps for email setup with outlook.%0a%0a1) Click on "Add account"%0a%0aAttach:addAccount.png%0a%0a2) click on "Advanced setup"%0a%0aAttach:advancedSetup.png%0a%0a3) click on "Internet email"%0a%0aAttach:internetEmail.png%0a%0a4) type your email,username,password and account name%0a%0aAttach:Setup.png%0a%0a5) type your email signature select account type imap4 and provide your IRCNow incoming and outgoing server as shows in the image below%0a%0aAttach:setupServers.png%0a%0a6) finally make sure the last four are checked and click sign in.%0a%0aAttach:checkandSignIn.png%0a%0afeel free to join #ircnow for any further help. +time=1610817227 +author:1610817227=Zouheir +diff:1610817227:1610816591:=1,27c1%0a%3c here are the 6 easy steps for email setup with outlook.%0a%3c %0a%3c 1) Click on "Add account"%0a%3c %0a%3c Attach:addAccount.png%0a%3c %0a%3c 2) click on "Advanced setup"%0a%3c %0a%3c Attach:advancedSetup.png%0a%3c %0a%3c 3) click on "Internet email"%0a%3c %0a%3c Attach:internetEmail.png%0a%3c %0a%3c 4) type your email,username,password and account name%0a%3c %0a%3c Attach:Setup.png%0a%3c %0a%3c 5) type your email signature select account type imap4 and provide your IRCNow incoming and outgoing server as shows in the image below%0a%3c %0a%3c Attach:setupServers.png%0a%3c %0a%3c 6) finally make sure the last four are checked and click sign in.%0a%3c %0a%3c Attach:checkandSignIn.png%0a%3c %0a%3c feel free to join #ircnow for any further help.%0a\ No newline at end of file%0a---%0a> Attach:addAccount.png%0a\ No newline at end of file%0a +host:1610817227=186.233.186.31 +author:1610816591=Zouheir +diff:1610816591:1610816422:=1c1%0a%3c Attach:addAccount.png%0a\ No newline at end of file%0a---%0a> Attach:1addaccount.png%0a\ No newline at end of file%0a +host:1610816591=186.233.186.31 +author:1610816422=Zouheir +diff:1610816422:1610816413:=1c1%0a%3c Attach:1addaccount.png%0a\ No newline at end of file%0a---%0a> Attach:1-addaccount.png%0a\ No newline at end of file%0a +host:1610816422=186.233.186.31 +author:1610816413=Zouheir +diff:1610816413:1610816405:=1c1%0a%3c Attach:1-addaccount.png%0a\ No newline at end of file%0a---%0a> Attach:1-add_account.png%0a\ No newline at end of file%0a +host:1610816413=186.233.186.31 +author:1610816405=Zouheir +diff:1610816405:1610816393:=1c1%0a%3c Attach:1-add_account.png%0a\ No newline at end of file%0a---%0a> Attach:1-add-account.png%0a\ No newline at end of file%0a +host:1610816405=186.233.186.31 +author:1610816393=Zouheir +diff:1610816393:1610816205:=1c1%0a%3c Attach:1-add-account.png%0a\ No newline at end of file%0a---%0a> Attach:account.png%0a\ No newline at end of file%0a +host:1610816393=186.233.186.31 +author:1610816205=Zouheir +diff:1610816205:1610816074:=1d0%0a%3c Attach:account.png%0a\ No newline at end of file%0a +host:1610816205=186.233.186.31 +author:1610816074=Zouheir +diff:1610816074:1610815975:=0a1%0a> image:1 - add account.png%0a\ No newline at end of file%0a +host:1610816074=186.233.186.31 +author:1610815975=Zouheir +diff:1610815975:1610815957:=1c1%0a%3c image:1 - add account.png%0a\ No newline at end of file%0a---%0a> Attach: 1 - add account.png%0a\ No newline at end of file%0a +host:1610815975=186.233.186.31 +author:1610815957=Zouheir +diff:1610815957:1610815947:=1c1%0a%3c Attach: 1 - add account.png%0a\ No newline at end of file%0a---%0a> Attach:1 - add account.png%0a\ No newline at end of file%0a +host:1610815957=186.233.186.31 +author:1610815947=Zouheir +diff:1610815947:1610815691:=1c1%0a%3c Attach:1 - add account.png %0a\ No newline at end of file%0a---%0a> Attach:1 - add account.png%0a\ No newline at end of file%0a +host:1610815947=186.233.186.31 +author:1610815691=Zouheir +diff:1610815691:1610815640:=1c1%0a%3c Attach:1 - add account.png%0a\ No newline at end of file%0a---%0a> Attach:https://wiki.ircnow.org/uploads/Email/1%2520-%2520add%2520account.png%0a\ No newline at end of file%0a +host:1610815691=186.233.186.31 +author:1610815640=Zouheir +diff:1610815640:1610815598:=1c1%0a%3c Attach:https://wiki.ircnow.org/uploads/Email/1%2520-%2520add%2520account.png%0a\ No newline at end of file%0a---%0a> Attach:account.png%0a\ No newline at end of file%0a +host:1610815640=186.233.186.31 +author:1610815598=Zouheir +diff:1610815598:1610815567:=1c1%0a%3c Attach:account.png%0a\ No newline at end of file%0a---%0a> 1 - add account.png%0a\ No newline at end of file%0a +host:1610815598=186.233.186.31 +author:1610815567=Zouheir +diff:1610815567:1610815538:=1c1%0a%3c 1 - add account.png%0a\ No newline at end of file%0a---%0a> Attach:1 - add account.png%0a\ No newline at end of file%0a +host:1610815567=186.233.186.31 +author:1610815538=Zouheir +diff:1610815538:1610815538:=1d0%0a%3c Attach:1 - add account.png%0a\ No newline at end of file%0a +host:1610815538=186.233.186.31 blob - /dev/null blob + 7125a0df0074c2f045485fc0b0c0f583fb03789f (mode 644) --- /dev/null +++ wiki.d/Email.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +charset=UTF-8 +ctime=1596460065 +host=188.210.114.32 +name=Email.RecentChanges +rev=72 +text=* [[Email/Email]] . . . November 29, 2021, at 04:19 AM by [[~mkf]]: [==]%0a* [[Email/EmailAndroidEmailApp]] . . . August 27, 2021, at 02:37 PM by [[~mkf]]: [==]%0a* [[Email/Outlook]] . . . January 16, 2021, at 05:13 PM by [[~Zouheir]]: [==]%0a +time=1638159591 blob - /dev/null blob + e330b6f8cad817e71546a5a4b95d8e0e0ac95865 (mode 644) --- /dev/null +++ wiki.d/EmailTray.Connect @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1628986301 +host=198.251.81.133 +name=EmailTray.Connect +rev=1 +targets= +text=Emailtary is a non-free email client for windows.%0aif it's first time you are creating an account on emailtray, you will be greeted by a welcome screen. please, do not select "EmailTray account" here.%0aif you already have an account, move your mouse to top left section of window and click "EmailTray main menu", then choose "Add new account"%0aput your Email address and Password.%0aAttach:EmailTray-account-login.png%0aand you are done! +time=1628986301 +author:1628986301=mkf +diff:1628986301:1628986301:=1,6d0%0a%3c Emailtary is a non-free email client for windows.%0a%3c if it's first time you are creating an account on emailtray, you will be greeted by a welcome screen. please, do not select "EmailTray account" here.%0a%3c if you already have an account, move your mouse to top left section of window and click "EmailTray main menu", then choose "Add new account"%0a%3c put your Email address and Password.%0a%3c Attach:EmailTray-account-login.png%0a%3c and you are done!%0a\ No newline at end of file%0a +host:1628986301=198.251.81.133 blob - /dev/null blob + 586c40c32d63c114f02980cfb646008c280201d3 (mode 644) --- /dev/null +++ wiki.d/EmailTray.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1628986301 +host=198.251.81.133 +name=EmailTray.RecentChanges +rev=1 +text=* [[EmailTray/Connect]] . . . August 15, 2021, at 12:11 AM by [[~mkf]]: [==]%0a +time=1628986301 blob - /dev/null blob + bcd35acc055efc7ca5d6819a63ead7ebc13df666 (mode 644) --- /dev/null +++ wiki.d/EthicalSource.HolierThanThou @@ -0,0 +1,199 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1617449603 +host=125.224.23.84 +name=EthicalSource.HolierThanThou +rev=62 +targets= +text=(:title Holier Than Thou Licenses:)%0a%0a%25rfloat width=300px%25 Attach:kinggeorge.jpg%0a%0aSilicon Valley may be the headquarters of corporate criminals today, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's sleazy lawyers fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a%0aThe licenses demand you demonstrate your submission to corporate elites to use their software:%0a%0a-> Silicon Valley, I thank you that I am not like the other coders: misogynists, homophobes, ableists, or even like this unenlightened bigot over here.%0a%0a-> I call my coworkers racists twice a week and always pretend to care about marginalized groups while I take away their jobs and drive them to homelessness.%0a%0aFar from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone who stands in their way -- including minorities -- they may smear as bigots, to be banned by a lynch mob without a fair trial.%0a%0a!! King Silicon Valley%0a%0aBy design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting '''you''' on trial -- in a kangaroo court where they are lawmaker, jury, and executioner.%0a%0a!! If By Ethics%0a%0aDo you '''trust''' Silicon Valley to define what is ethical? These licenses will be interpreted by the same patent trolls who blackmail ordinary users for sharing files. Under these licenses, the system will be rigged in favor of monopolies, with lawyers defining ethics to benefit corporate vultures:%0a%0a-> If by ethics you mean providing software to independent developers and small business owners who I can slanderously label as nazis, bigots, homophobes, and misogynists, then certainly I am against it.%0a%0a-> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, laundering money for corporate bankers, exploiting employees, mass surveillance of users, why I am certainly for it.%0a%0aDon't let corporate tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies. A truly free license ensures that your code provides equal opportunity to all. +time=1617501407 +title=Holier Than Thou Licenses +author:1617501407=jrmu +diff:1617501407:1617500817:=21c21%0a%3c Do you '''trust''' Silicon Valley to define what is ethical? These licenses will be interpreted by the same patent trolls who blackmail ordinary users for sharing files. Under these licenses, the system will be rigged in favor of monopolies, with lawyers defining ethics to benefit corporate vultures:%0a---%0a> Do you '''trust''' Silicon Valley to define what is ethical? These licenses will be interpreted by the same monopolists who hire patent trolls to blackmail ordinary users for sharing files. Under these licenses, the system will be rigged, with lawyers defining ethics to benefit corporate vultures:%0a +host:1617501407=125.224.23.84 +author:1617500817=jrmu +diff:1617500817:1617500485:=25c25%0a%3c -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, laundering money for corporate bankers, exploiting employees, mass surveillance of users, why I am certainly for it.%0a---%0a> -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, laundering money for corporate bankers, exploiting employees, homelessness, mass surveillance on users, why I am certainly for it.%0a +host:1617500817=198.251.81.44 +author:1617500485=jrmu +diff:1617500485:1617500436:=23c23%0a%3c -> If by ethics you mean providing software to independent developers and small business owners who I can slanderously label as nazis, bigots, homophobes, and misogynists, then certainly I am against it.%0a---%0a> -> If by ethics you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, and misogynists, then certainly I am against it.%0a +host:1617500485=198.251.81.44 +author:1617500436=jrmu +diff:1617500436:1617499883:=21c21%0a%3c Do you '''trust''' Silicon Valley to define what is ethical? These licenses will be interpreted by the same monopolists who hire patent trolls to blackmail ordinary users for sharing files. Under these licenses, the system will be rigged, with lawyers defining ethics to benefit corporate vultures:%0a---%0a> We do '''not''' want Silicon Valley to define what is ethical. These are the same monopolists who hire patent trolls to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit corporate vultures:%0a +host:1617500436=198.251.81.44 +author:1617499883=jrmu +diff:1617499883:1617499870:=13c13%0a%3c Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone who stands in their way -- including minorities -- they may smear as bigots, to be banned by a lynch mob without a fair trial.%0a---%0a> Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone who stands in their way -- including moniroties -- they may smear as bigots, to be banned by a lynch mob without a fair trial.%0a +host:1617499883=198.251.81.44 +author:1617499870=jrmu +diff:1617499870:1617499340:=13c13%0a%3c Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone who stands in their way -- including moniroties -- they may smear as bigots, to be banned by a lynch mob without a fair trial.%0a---%0a> Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone they can smear as bigots can be banned by a lynch mob without a fair trial.%0a +host:1617499870=198.251.81.44 +author:1617499340=jrmu +diff:1617499340:1617489643:=5,6c5,6%0a%3c Silicon Valley may be the headquarters of corporate criminals today, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's sleazy lawyers fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a%3c %0a---%0a> Silicon Valley may be the headquarters of corporate criminals today, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a> %0a9,12c9,12%0a%3c -> Silicon Valley, I thank you that I am not like the other coders: misogynists, homophobes, ableists, or even like this unenlightened bigot over here.%0a%3c %0a%3c -> I call my coworkers racists twice a week and always pretend to care about marginalized groups while I take away their jobs and drive them to homelessness.%0a%3c %0a---%0a> -> Silicon Valley, I thank you that I am not as other coders are, misogynists, homophobes, ableists, or even as this unenlightened bigot over here.%0a> %0a> -> I call my coworkers racists twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel all the poor and hapless users I can find.%0a> %0a21c21%0a%3c We do '''not''' want Silicon Valley to define what is ethical. These are the same monopolists who hire patent trolls to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit corporate vultures:%0a---%0a> We do '''not''' want Silicon Valley to define what is ethical. These are the same monopolists who hire patent trolls to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit their sleazy executives:%0a +host:1617499340=198.251.81.44 +author:1617489643=jrmu +diff:1617489643:1617489552:=17c17%0a%3c By design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting '''you''' on trial -- in a kangaroo court where they are lawmaker, jury, and executioner.%0a---%0a> By design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting '''you''' on trial -- in a kangaroo court where they are lawmaker, judge, and juror.%0a +host:1617489643=198.251.81.44 +author:1617489552=jrmu +diff:1617489552:1617489310:=9,11c9,11%0a%3c -> Silicon Valley, I thank you that I am not as other coders are, misogynists, homophobes, ableists, or even as this unenlightened bigot over here.%0a%3c %0a%3c -> I call my coworkers racists twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel all the poor and hapless users I can find.%0a---%0a> -> Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this unenlightened bigot over here.%0a> %0a> -> I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel all the poor and hapless users I can find.%0a +host:1617489552=198.251.81.44 +author:1617489310=jrmu +diff:1617489310:1617488951:=25c25%0a%3c -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, laundering money for corporate bankers, exploiting employees, homelessness, mass surveillance on users, why I am certainly for it.%0a---%0a> -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, mass surveillance on users, why I am certainly for it.%0a +host:1617489310=198.251.81.44 +author:1617488951=jrmu +diff:1617488951:1617488572:=21,22c21,22%0a%3c We do '''not''' want Silicon Valley to define what is ethical. These are the same monopolists who hire patent trolls to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit their sleazy executives:%0a%3c %0a---%0a> We do '''not''' want Silicon Valley to determine what is ethical. These are the same monopolists who hire sleazy attorneys to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit the rich:%0a> %0a25c25%0a%3c -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, mass surveillance on users, why I am certainly for it.%0a---%0a> -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, mass espionage on civilians, why I am certainly for it.%0a +host:1617488951=198.251.81.44 +author:1617488572=jrmu +diff:1617488572:1617488200:=21,22c21,22%0a%3c We do '''not''' want Silicon Valley to determine what is ethical. These are the same monopolists who hire sleazy attorneys to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit the rich:%0a%3c %0a---%0a> You do '''not''' want is Silicon Valley to determine what is ethical. These are the same monopolists who hire sleazy attorneys to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit the rich:%0a> %0a25c25%0a%3c -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, mass espionage on civilians, why I am certainly for it.%0a---%0a> -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a +host:1617488572=198.251.81.44 +author:1617488200=jrmu +diff:1617488200:1617487947:=7,8c7,8%0a%3c The licenses demand you demonstrate your submission to corporate elites to use their software:%0a%3c %0a---%0a> These licenses demand you demonstrate your submission to corporate elites to use their software:%0a> %0a19,25c19,25%0a%3c !! If By Ethics%0a%3c %0a%3c You do '''not''' want is Silicon Valley to determine what is ethical. These are the same monopolists who hire sleazy attorneys to blackmail ordinary users with lawsuits. The system will be rigged, with them defining software freedom to benefit the rich:%0a%3c %0a%3c -> If by ethics you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, and misogynists, then certainly I am against it.%0a%3c %0a%3c -> But if by ethics you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a---%0a> !! If By Free Software%0a> %0a> If we let Silicon Valley gain control over the licenses of our software, they will hire sleazy attorneys to blackmail us with lawsuits. The system will be rigged against ordinary users like us. Silicon Valley will define software freedom to benefit the rich:%0a> %0a> -> If by free software you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, and misogynists, then I am against it.%0a> %0a> -> But if by free software you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a +host:1617488200=198.251.81.44 +author:1617487947=jrmu +diff:1617487947:1617487925:=1c1%0a%3c (:title Holier Than Thou Licenses:)%0a---%0a> (:title Silicon Valley is Holier Than Thou:)%0a +host:1617487947=198.251.81.44 +author:1617487925=jrmu +diff:1617487925:1617487688:=1c1%0a%3c (:title Silicon Valley is Holier Than Thou:)%0a---%0a> (:title Holier Than Thou Licenses:)%0a +host:1617487925=198.251.81.44 +author:1617487688=jrmu +diff:1617487688:1617487631:=5c5%0a%3c Silicon Valley may be the headquarters of corporate criminals today, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley has the most corporate criminals of our day, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a +host:1617487688=198.251.81.44 +author:1617487631=jrmu +diff:1617487631:1617469179:=9c9%0a%3c -> Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this unenlightened bigot over here.%0a---%0a> -> Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a +host:1617487631=198.251.81.44 +author:1617469179=jrmu +diff:1617469179:1617469116:=25c25%0a%3c -> But if by free software you mean enriching Wall Street donors, rewarding Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a---%0a> -> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a +host:1617469179=198.251.81.44 +author:1617469116=jrmu +diff:1617469116:1617469044:=23c23%0a%3c -> If by free software you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, and misogynists, then I am against it.%0a---%0a> -> If by free software you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a +host:1617469116=198.251.81.44 +author:1617469044=jrmu +diff:1617469044:1617469010:=7c7%0a%3c These licenses demand you demonstrate your submission to corporate elites to use their software:%0a---%0a> These licenses demand you demonstrate your worthiness to corporate elites to use their software:%0a +host:1617469044=198.251.81.44 +author:1617469010=jrmu +diff:1617469010:1617468970:=5c5%0a%3c Silicon Valley has the most corporate criminals of our day, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a +host:1617469010=198.251.81.44 +author:1617468970=jrmu +diff:1617468970:1617468153:=21c21%0a%3c If we let Silicon Valley gain control over the licenses of our software, they will hire sleazy attorneys to blackmail us with lawsuits. The system will be rigged against ordinary users like us. Silicon Valley will define software freedom to benefit the rich:%0a---%0a> Don't let Silicon Valley have control over the licenses of our software. If we allow them to define software freedom, they will rig the system against us:%0a +host:1617468970=198.251.81.44 +author:1617468153=jrmu +diff:1617468153:1617467761:=7,8c7,8%0a%3c These licenses demand you demonstrate your worthiness to corporate elites to use their software:%0a%3c %0a---%0a> These licenses demand you demonstrate your submission to corporate elites in order to use their software:%0a> %0a17,18c17,20%0a%3c By design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting '''you''' on trial -- in a kangaroo court where they are lawmaker, judge, and juror.%0a%3c %0a---%0a> By design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting you on trial -- in a kangaroo court where they are lawmaker, judge, and juror.%0a> %0a> Don't let these tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies. A permissive license like the IRCNow license ensures that your code provides equal opportunity to all.%0a> %0a27c29,30%0a%3c Don't let corporate tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies. A truly free license ensures that your code provides equal opportunity to all.%0a\ No newline at end of file%0a---%0a> !! No Installation Without Representation%0a> %0a +host:1617468153=198.251.81.44 +author:1617467761=jrmu +diff:1617467761:1617467736:=5c5%0a%3c Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from publishing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a +host:1617467761=198.251.81.44 +author:1617467736=jrmu +diff:1617467736:1617467668:=27,30c27%0a%3c -> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a%3c %0a%3c !! No Installation Without Representation%0a%3c %0a---%0a> -> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a +host:1617467736=198.251.81.44 +author:1617467668=jrmu +diff:1617467668:1617467249:=7c7%0a%3c These licenses demand you demonstrate your submission to corporate elites in order to use their software:%0a---%0a> These licenses demand you demonstrate your worthiness to corporate elites to use their software:%0a +host:1617467668=198.251.81.44 +author:1617467249=jrmu +diff:1617467249:1617467072:=5c5%0a%3c Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves [[https://ethicalsource.dev/|Ethical Source]], but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a +host:1617467249=198.251.81.44 +author:1617467072=jrmu +diff:1617467072:1617466885:=19,20c19,20%0a%3c Don't let these tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies. A permissive license like the IRCNow license ensures that your code provides equal opportunity to all.%0a%3c %0a---%0a> Don't let these tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies.%0a> %0a23c23%0a%3c Don't let Silicon Valley have control over the licenses of our software. If we allow them to define software freedom, they will rig the system against us:%0a---%0a> Reject the %0a +host:1617467072=198.251.81.44 +author:1617466885=jrmu +diff:1617466885:1617466681:=19,20c19,20%0a%3c Don't let these tyrants silence marginalized voices. Boycott software with these discriminatory licenses. Use a free, open license -- one that gives all users equal access to the code, not just Silicon Valley and their cronies.%0a%3c %0a---%0a> Don't let these tyrants silence marginalized voices.%0a> %0a22,23d21%0a%3c %0a%3c Reject the %0a +host:1617466885=198.251.81.44 +author:1617466681=jrmu +diff:1617466681:1617466040:=17,19c17%0a%3c By design, ''Holier Than Thou'' licenses will circumvent the legal system. If a Silicon Valley developer slanders you as a bigot, you have no access to a real courtroom to defend yourself. King Silicon Valley is putting you on trial -- in a kangaroo court where they are lawmaker, judge, and juror.%0a%3c %0a%3c Don't let these tyrants silence marginalized voices.%0a---%0a> silencing marginalized voices.%0a +host:1617466681=198.251.81.44 +author:1617466040=jrmu +diff:1617466040:1617462668:=15c15%0a%3c !! King Silicon Valley%0a---%0a> !! Who Died and Made You King%0a +host:1617466040=198.251.81.44 +author:1617462668=jrmu +diff:1617462668:1617462124:=3c3%0a%3c %25rfloat width=300px%25 Attach:kinggeorge.jpg%0a---%0a> %25rfloat width=300px%25 Attach:https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Allan_Ramsay_-_King_George_III_in_coronation_robes_-_Google_Art_Project.jpg/384px-Allan_Ramsay_-_King_George_III_in_coronation_robes_-_Google_Art_Project.jpg%0a +host:1617462668=198.251.81.44 +author:1617462124=jrmu +diff:1617462124:1617461931:=3,4d2%0a%3c %25rfloat width=300px%25 Attach:https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Allan_Ramsay_-_King_George_III_in_coronation_robes_-_Google_Art_Project.jpg/384px-Allan_Ramsay_-_King_George_III_in_coronation_robes_-_Google_Art_Project.jpg%0a%3c %0a14,17d11%0a%3c %0a%3c !! Who Died and Made You King%0a%3c %0a%3c silencing marginalized voices.%0a +host:1617462124=198.251.81.44 +author:1617461931=jrmu +diff:1617461931:1617461744:=11c11%0a%3c Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve rich and powerful elites while unfairly denying access to users and small developers trying to earn a living. Anyone they can smear as bigots can be banned by a lynch mob without a fair trial.%0a---%0a> Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve the rich and powerful while unfairly denying access to users and small developers trying to earn a living. Anyone they can smear as bigots can be banned by a lynch mob without any due process of law.%0a +host:1617461931=198.251.81.44 +author:1617461744=jrmu +diff:1617461744:1617461710:=3c3%0a%3c Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you of your basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a +host:1617461744=198.251.81.44 +author:1617461710=jrmu +diff:1617461710:1617461688:=3c3%0a%3c Silicon Valley are the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a +host:1617461710=198.251.81.44 +author:1617461688=jrmu +diff:1617461688:1617461386:=11c11%0a%3c Far from being ethical, they are designed to be discriminatory -- their sole purpose is to serve the rich and powerful while unfairly denying access to users and small developers trying to earn a living. Anyone they can smear as bigots can be banned by a lynch mob without any due process of law.%0a---%0a> These licenses are discriminatory. Their sole purpose is to serve the rich and powerful while unfairly destroying competition by small indie developers by smearing everyone who disagrees with them as bigots.%0a +host:1617461688=198.251.81.44 +author:1617461386=jrmu +diff:1617461386:1617461354:=9c9%0a%3c -> I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel all the poor and hapless users I can find.%0a---%0a> -> I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel any poor and helpless competitor I can find.%0a +host:1617461386=198.251.81.44 +author:1617461354=jrmu +diff:1617461354:1617461307:=5c5%0a%3c These licenses demand you demonstrate your worthiness to corporate elites to use their software:%0a---%0a> Instead, Silicon Valley demands that you must first demonstrate your worthiness to corporate elites:%0a +host:1617461354=198.251.81.44 +author:1617461307=jrmu +diff:1617461307:1617460936:=3c3%0a%3c Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let Silicon Valley's lynch mobs fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a---%0a> Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a +host:1617461307=198.251.81.44 +author:1617460936=jrmu +diff:1617460936:1617460719:=15c15%0a%3c -> If by free software you mean providing software to small and defenseless users who I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a---%0a> -> If by free software you mean providing software to anyone I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a +host:1617460936=198.251.81.44 +author:1617460719=jrmu +diff:1617460719:1617460698:=12,13d11%0a%3c %0a%3c !! If By Free Software%0a +host:1617460719=198.251.81.44 +author:1617460698=jrmu +diff:1617460698:1617459686:=7,10c7,10%0a%3c -> Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a%3c %0a%3c -> I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel any poor and helpless competitor I can find.%0a%3c %0a---%0a> Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a> %0a> I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel any poor and helpless competitor I can find.%0a> %0a13,15c13,14%0a%3c -> If by free software you mean providing software to anyone I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a%3c %0a%3c -> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a---%0a> If by free software you mean providing software to anyone I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a +host:1617460698=198.251.81.44 +author:1617459686=jrmu +diff:1617459686:1617459554:=3,8c3,8%0a%3c Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to deny you the basic freedom to use your software for any purpose.%0a%3c %0a%3c Instead, Silicon Valley demands that you must first demonstrate your worthiness to corporate elites:%0a%3c %0a%3c Silicon Valley, I thank you that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a%3c %0a---%0a> Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to basic freedom to use your software for any purpose.%0a> %0a> Instead, what Silicon Valley proposes is that you demonstrate your worthiness to corporate elites:%0a> %0a> The developer stood and prayed to himself: Silicon Valley, I thank you, that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a> %0a11,12c11,12%0a%3c These licenses are discriminatory. Their sole purpose is to serve the rich and powerful while unfairly destroying competition by small indie developers by smearing everyone who disagrees with them as bigots.%0a%3c %0a---%0a> %0a> %0a14c14,16%0a%3c But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a---%0a> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a> %0a> Silicon Witch Trials%0a\ No newline at end of file%0a +host:1617459686=198.251.81.44 +author:1617459554=jrmu +diff:1617459554:1617459479:=3,5c3,5%0a%3c Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped their self-righteous developers from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to basic freedom to use your software for any purpose.%0a%3c %0a%3c Instead, what Silicon Valley proposes is that you demonstrate your worthiness to corporate elites:%0a---%0a> Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped the self-righteous Pharisees from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to basic freedom to use your software for any purpose.%0a> %0a> Instead, what Silicon Valley proposes is that you demonstrate your self-righteousness to their corporate elites:%0a +host:1617459554=198.251.81.44 +author:1617459479=jrmu +diff:1617459479:1617459306:=3,8c3,6%0a%3c Silicon Valley may be the greatest corporate criminals of our day, but that has not stopped the self-righteous Pharisees from releasing a series of ''Holier Than Thou Licenses''. They call themselves ``Ethical Source'', but don't let their Silicon Witch trials fool you. These licenses seek to basic freedom to use your software for any purpose.%0a%3c %0a%3c Instead, what Silicon Valley proposes is that you demonstrate your self-righteousness to their corporate elites:%0a%3c %0a%3c The developer stood and prayed to himself: Silicon Valley, I thank you, that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a%3c %0a---%0a> Silicon Valley, among the greatest corporate criminals of our day, have decided to release a series of so-called ''ethical licenses'', which are more properly ''Holier Than Thou Licenses''. These licenses seek to deny you the basic right to use the software unless believe you demonstrate your self-righteousness to the corporate elites.%0a> %0a> The developer stood and prayed to himself, Silicon Valley, I thank you, that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a> %0a10,11d7%0a%3c %0a%3c %0a +host:1617459479=198.251.81.44 +author:1617459306=jrmu +diff:1617459306:1617459028:=3,4c3,4%0a%3c Silicon Valley, among the greatest corporate criminals of our day, have decided to release a series of so-called ''ethical licenses'', which are more properly ''Holier Than Thou Licenses''. These licenses seek to deny you the basic right to use the software unless believe you demonstrate your self-righteousness to the corporate elites.%0a%3c %0a---%0a> Silicon Witch Trials%0a> %0a10,12c10%0a%3c But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a%3c %0a%3c Silicon Witch Trials%0a\ No newline at end of file%0a---%0a> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a +host:1617459306=198.251.81.44 +author:1617459028=jrmu +diff:1617459028:1617458989:=10c10%0a%3c But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and laundering money for corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a---%0a> But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and enriching corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a +host:1617459028=198.251.81.44 +author:1617458989=jrmu +diff:1617458989:1617458643:=3,4c3,5%0a%3c Silicon Witch Trials%0a%3c %0a---%0a> Salem Bigot Trials%0a> %0a> [@%0a7,10c8,14%0a%3c I tweet twice a week, sign long codes of conduct, and pretend to care about marginalized groups. I cancel any poor and helpless competitor I can find.%0a%3c %0a%3c If by free software you mean providing software to anyone I can slanderously label as nazis, bigots, homophobes, misogynists, then I am against it.%0a%3c But if by free software you mean enriching my Wall Street donors, empowering my Silicon Valley executives, and enriching corporate bankers, why I am certainly for it.%0a\ No newline at end of file%0a---%0a> I tweet twice a week, sign long codes of conduct, and try to cancel all the small indie developers I can find.%0a> @]%0a> %0a> [@%0a> If by free speech you mean nazis, bigots, homophobes, and misogynists then I am against it%0a> But if by free speech you mean Wall Street donors, Silicon Valley executives, bankers, why I am certainly for it.%0a> @]%0a\ No newline at end of file%0a +host:1617458989=198.251.81.44 +author:1617458643=jrmu +diff:1617458643:1617454005:= +host:1617458643=198.251.81.44 +author:1617454005=jrmu +diff:1617454005:1617453047:=2,3d1%0a%3c %0a%3c Salem Bigot Trials%0a +host:1617454005=125.224.23.84 +author:1617453047=jrmu +diff:1617453047:1617453009:=6c6%0a%3c I tweet twice a week, sign long codes of conduct, and try to cancel all the small indie developers I can find.%0a---%0a> I tweet twice a week, sign long codes of conduct, and try to cancel all the anti-vaxxers I can find.%0a +host:1617453047=125.224.23.84 +author:1617453009=jrmu +diff:1617453009:1617452808:=11c11%0a%3c But if by free speech you mean Wall Street donors, Silicon Valley executives, bankers, why I am certainly for it.%0a---%0a> But if by free speech you mean Wall Street donors, Silicon Valley executives, bankers, rioters, why I am certainly for it.%0a +host:1617453009=125.224.23.84 +author:1617452808=jrmu +diff:1617452808:1617452763:=1c1%0a%3c (:title Holier Than Thou Licenses:)%0a---%0a> Holier Than Thou Licenses%0a +host:1617452808=125.224.23.84 +author:1617452763=jrmu +diff:1617452763:1617452141:=10,11c10,11%0a%3c If by free speech you mean nazis, bigots, homophobes, and misogynists then I am against it%0a%3c But if by free speech you mean Wall Street donors, Silicon Valley executives, bankers, rioters, why I am certainly for it.%0a---%0a> if by free speech you mean nazis, bigots, homophobes, and misogynists then I am against it%0a> but if by free speech you mean social justice activists, climate scientists%0a +host:1617452763=125.224.23.84 +author:1617452141=jrmu +diff:1617452141:1617451533:=7,11d6%0a%3c @]%0a%3c %0a%3c [@%0a%3c if by free speech you mean nazis, bigots, homophobes, and misogynists then I am against it%0a%3c but if by free speech you mean social justice activists, climate scientists%0a +host:1617452141=125.224.23.84 +author:1617451533=jrmu +diff:1617451533:1617451310:= +host:1617451533=125.224.23.84 +author:1617451310=jrmu +diff:1617451310:1617451283:=6c6%0a%3c I tweet twice a week, sign long codes of conduct, and try to cancel all the anti-vaxxers I can find.%0a---%0a> I tweet twice a week, sign long codes of conduct, try to cancel all the anti-vaxxers I can find.%0a +host:1617451310=125.224.23.84 +author:1617451283=jrmu +diff:1617451283:1617451261:=6c6%0a%3c I tweet twice a week, sign long codes of conduct, try to cancel all the anti-vaxxers I can find.%0a---%0a> I tweet twice a week, sign my codes of conduct, try to cancel all the anti-vaxxers I can find.%0a +host:1617451283=125.224.23.84 +author:1617451261=jrmu +diff:1617451261:1617451022:=6c6%0a%3c I tweet twice a week, sign my codes of conduct, try to cancel all the anti-vaxxers I can find.%0a---%0a> I tweet twice a week, and I try to cancel all the anti-vaxxers I can find.%0a +host:1617451261=125.224.23.84 +author:1617451022=jrmu +diff:1617451022:1617449603:=1,7c1%0a%3c Holier Than Thou Licenses%0a%3c %0a%3c [@%0a%3c The developer stood and prayed to himself, Silicon Valley, I thank you, that I am not as other coders are, racists, misogynists, homophobes, ableists, or even as this bigot over here.%0a%3c %0a%3c I tweet twice a week, and I try to cancel all the anti-vaxxers I can find.%0a%3c @]%0a\ No newline at end of file%0a---%0a> Holier Than Thou Licenses%0a\ No newline at end of file%0a +host:1617451022=125.224.23.84 +author:1617449603=jrmu +diff:1617449603:1617449603:=1d0%0a%3c Holier Than Thou Licenses%0a\ No newline at end of file%0a +host:1617449603=125.224.23.84 blob - /dev/null blob + 3e37ded7fac26a773e3d73a93114cfdbe9395f69 (mode 644) --- /dev/null +++ wiki.d/EthicalSource.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1617449603 +host=125.224.23.84 +name=EthicalSource.RecentChanges +rev=62 +text=* [[EthicalSource/HolierThanThou]] . . . April 04, 2021, at 01:56 AM by [[~jrmu]]: [==]%0a +time=1617501407 blob - /dev/null blob + 3737d8bff33e9f76703f33481f7b79c1deb302ed (mode 644) --- /dev/null +++ wiki.d/Fdisk.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1622783087 +host=125.231.28.9 +name=Fdisk.RecentChanges +rev=1 +text=* [[Fdisk/Usage]] . . . June 04, 2021, at 05:04 AM by [[~jrmu]]: [==]%0a +time=1622783087 blob - /dev/null blob + 5e84782d52df62ad75c5b6c73ef9458d70704266 (mode 644) --- /dev/null +++ wiki.d/Fdisk.Usage @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1622783087 +host=125.231.28.9 +name=Fdisk.Usage +rev=1 +targets= +text=(:title fdisk:)%0a%0a[[https://man.openbsd.org/fdisk|fdisk(8)]] is a disk partitioning utility. It is optionally used when installing OpenBSD to change the default partition layout of the disk.%0a%0a!!Usage%0a%0aConsult the man pages for fdisk(8), [[https://man.openbsd.org/disklabel|disklabel(8)]], and [[https://man.openbsd.org/fstab|fstab(5)]]. If you are familiar with Linux, read these twice, because they work a little differently in OpenBSD. +time=1622783087 +title=fdisk +author:1622783087=jrmu +diff:1622783087:1622783087:=1,7d0%0a%3c (:title fdisk:)%0a%3c %0a%3c [[https://man.openbsd.org/fdisk|fdisk(8)]] is a disk partitioning utility. It is optionally used when installing OpenBSD to change the default partition layout of the disk.%0a%3c %0a%3c !!Usage%0a%3c %0a%3c Consult the man pages for fdisk(8), [[https://man.openbsd.org/disklabel|disklabel(8)]], and [[https://man.openbsd.org/fstab|fstab(5)]]. If you are familiar with Linux, read these twice, because they work a little differently in OpenBSD.%0a\ No newline at end of file%0a +host:1622783087=125.231.28.9 blob - /dev/null blob + 2c9482b706a05f1db9306058d950e57e460213c3 (mode 644) --- /dev/null +++ wiki.d/Fdroid.Install @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628571083 +host=38.87.162.8 +name=Fdroid.Install +rev=3 +targets= +text=(:title Install F-droid:)%0a%0aF-Droid is an app store for Android that contains only free and open source software. It respects user privacy, unlike Google Play. F-Droid is licensed under the AGPLv3+.%0a%0a!! Install F-Droid%0a%0a# Use your phone's browser to visit [[https://f-droid.org]]\\%0aAttach:f-droid-web.png%0a# Download the apk. If you see a warning, tap @@OK@@.%0a# Open the apk.%0a # If your browser warns that your @@your phone is not allowed to install unknown apps from this source@@, tap @@Settings@@.\\%0aAttach:f-droid-chrome-unknown.png%0a # Toggle @@Allow from this source@@, then tap the back arrow at the top left corner.%0a# Tap @@Install@@ at the bottom right corner.\\%0aAttach:f-droid-install.png%0a# When F-droid first loads, it will automatically update its software repositories. '''NOTE''': This will require internet access.\\%0aAttach:f-droid-update-repos.png%0a# Tap the search icon at the bottom right corner.\\%0aAttach:f-droid-main.png%0a +time=1628586304 +title=Install F-droid +author:1628586304=jrmu +diff:1628586304:1628571865:=3c3%0a%3c F-Droid is an app store for Android that contains only free and open source software. It respects user privacy, unlike Google Play. F-Droid is licensed under the AGPLv3+.%0a---%0a> F-Droid is an app store for Android that contains only free and open source software. It respects user privacy, unlike Google services. F-Droid is licensed under the AGPLv3+.%0a +host:1628586304=38.87.162.8 +author:1628571865=jrmu +diff:1628571865:1628571083:=2,19d1%0a%3c %0a%3c F-Droid is an app store for Android that contains only free and open source software. It respects user privacy, unlike Google services. F-Droid is licensed under the AGPLv3+.%0a%3c %0a%3c !! Install F-Droid%0a%3c %0a%3c # Use your phone's browser to visit [[https://f-droid.org]]\\%0a%3c Attach:f-droid-web.png%0a%3c # Download the apk. If you see a warning, tap @@OK@@.%0a%3c # Open the apk.%0a%3c # If your browser warns that your @@your phone is not allowed to install unknown apps from this source@@, tap @@Settings@@.\\%0a%3c Attach:f-droid-chrome-unknown.png%0a%3c # Toggle @@Allow from this source@@, then tap the back arrow at the top left corner.%0a%3c # Tap @@Install@@ at the bottom right corner.\\%0a%3c Attach:f-droid-install.png%0a%3c # When F-droid first loads, it will automatically update its software repositories. '''NOTE''': This will require internet access.\\%0a%3c Attach:f-droid-update-repos.png%0a%3c # Tap the search icon at the bottom right corner.\\%0a%3c Attach:f-droid-main.png%0a +host:1628571865=38.87.162.8 +author:1628571083=jrmu +diff:1628571083:1628571083:=1d0%0a%3c (:title Install F-droid:)%0a +host:1628571083=38.87.162.8 blob - /dev/null blob + 8c625309a1d052ff0e53416e6706fece2242d368 (mode 644) --- /dev/null +++ wiki.d/Fdroid.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628571083 +host=38.87.162.8 +name=Fdroid.RecentChanges +rev=3 +text=* [[Fdroid/Install]] . . . August 10, 2021, at 09:05 AM by [[~jrmu]]: [==]%0a +time=1628586304 blob - /dev/null blob + 3973a662cb2da9232351f4ae0dda1dbde680834d (mode 644) --- /dev/null +++ wiki.d/Fiche.Install @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 +author=Almajd +charset=UTF-8 +csum= +ctime=1622643237 +host=80.79.148.19 +name=Fiche.Install +rev=9 +targets= +text=[@%0a$ git clone https://github.com/solusipse/fiche.git%0a$ cd fiche%0a$ doas make%0a$ doas make install%0a%0a$ doas adduser paste%0a$ doas usermod -G daemon paste%0a%0a$ doas mkdir /var/www/htdocs/ircnow/paste%0a$ doas chown www:daemon /var/www/htdocs/ircnow/paste%0a$ doas chmod g+w /var/www/htdocs/ircnow/paste%0a%0a$ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a@]%0a%0apass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #pastebin%0a%0aget a tls cert for paste.ircnow.org%0a%0ain /etc/httpd.conf:%0a%0a[@%0aserver "paste.ircnow.org" {%0a listen on egress tls port 443%0a tls {%0a certificate "/etc/ssl/paste.ircnow.org.fullchain.pem"%0a key "/etc/ssl/private/paste.ircnow.org.key"%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*~" {%0a block drop%0a }%0a root "/htdocs/ircnow/paste/"%0a directory {%0a index "index.txt"%0a }%0a}%0a@]%0a%0a!! Cronjob%0a%0a[@%0a$ doas crontab -e -u paste%0a@]%0a%0aAdd this line:%0a%0a[@%0a*/5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a@]%0a%0a%0a!! Troubleshooting%0a%0a'''WARNING''': the argument -B 1048576 causes segfaults.%0a +time=1629901264 +author:1629901264=Almajd +diff:1629901264:1629372303:=3d2%0a%3c $ cd fiche%0a +host:1629901264=80.79.148.19 +author:1629372303=jrmu +diff:1629372303:1629371506:=13c13%0a%3c $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a---%0a> $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 9999%0a16,17c16,17%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #pastebin%0a%3c %0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port 9999 $Flush #pastebin%0a> %0a52c52%0a%3c */5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a---%0a> */5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 9999%0a +host:1629372303=38.87.162.8 +author:1629371506=jrmu +diff:1629371506:1629371366:=13c13%0a%3c $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 9999%0a---%0a> $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a16,17c16,17%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 9999 $Flush #pastebin%0a%3c %0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #pastebin%0a> %0a52c52%0a%3c */5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 9999%0a---%0a> */5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a +host:1629371506=38.87.162.8 +author:1629371366=jrmu +diff:1629371366:1629278618:=42,54d41%0a%3c %0a%3c !! Cronjob%0a%3c %0a%3c [@%0a%3c $ doas crontab -e -u paste%0a%3c @]%0a%3c %0a%3c Add this line:%0a%3c %0a%3c [@%0a%3c */5 * * * * fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a%3c @]%0a%3c %0a +host:1629371366=38.87.162.8 +author:1629278618=jrmu +diff:1629278618:1628087963:=2,7c2,7%0a%3c $ git clone https://github.com/solusipse/fiche.git%0a%3c $ doas make%0a%3c $ doas make install%0a%3c %0a%3c $ doas adduser paste%0a%3c $ doas usermod -G daemon paste%0a---%0a> git clone https://github.com/solusipse/fiche.git%0a> make%0a> doas make install%0a> %0a> adduser paste%0a> usermod -G daemon paste%0a +host:1629278618=125.231.37.248 +author:1628087963=jrmu +diff:1628087963:1623572600:=42,45d41%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c '''WARNING''': the argument -B 1048576 causes segfaults.%0a +host:1628087963=38.87.162.8 +author:1623572600=jrmu +diff:1623572600:1622644206:=13c13%0a%3c $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 20 -S -p 7777%0a---%0a> $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 10 -S -p 7777%0a +host:1623572600=38.81.163.143 +author:1622644206=jrmu +diff:1622644206:1622643237:=1d0%0a%3c [@%0a14,15c13%0a%3c @]%0a%3c %0a---%0a> %0a17,41d14%0a%3c %0a%3c get a tls cert for paste.ircnow.org%0a%3c %0a%3c in /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "paste.ircnow.org" {%0a%3c listen on egress tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/paste.ircnow.org.fullchain.pem"%0a%3c key "/etc/ssl/private/paste.ircnow.org.key"%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*~" {%0a%3c block drop%0a%3c }%0a%3c root "/htdocs/ircnow/paste/"%0a%3c directory {%0a%3c index "index.txt"%0a%3c }%0a%3c }%0a%3c @]%0a +host:1622644206=38.81.163.143 +author:1622643237=jrmu +diff:1622643237:1622643237:=1,14d0%0a%3c git clone https://github.com/solusipse/fiche.git%0a%3c make%0a%3c doas make install%0a%3c %0a%3c adduser paste%0a%3c usermod -G daemon paste%0a%3c %0a%3c $ doas mkdir /var/www/htdocs/ircnow/paste%0a%3c $ doas chown www:daemon /var/www/htdocs/ircnow/paste%0a%3c $ doas chmod g+w /var/www/htdocs/ircnow/paste%0a%3c %0a%3c $ doas -u paste fiche -o /var/www/htdocs/ircnow/paste/ -d paste.ircnow.org -s 10 -S -p 7777%0a%3c %0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #pastebin%0a +host:1622643237=38.81.163.143 blob - /dev/null blob + 0c9f107ac9284d756623e2d85343470a76add4b4 (mode 644) --- /dev/null +++ wiki.d/Fiche.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 +charset=UTF-8 +ctime=1622643237 +host=80.79.148.19 +name=Fiche.RecentChanges +rev=9 +text=* [[Fiche/Install]] . . . August 25, 2021, at 02:21 PM by [[~Almajd]]: [==]%0a +time=1629901264 blob - /dev/null blob + e911a051a1dbc6ca118bbcdfbb770444756293b4 (mode 644) --- /dev/null +++ wiki.d/Fig.Fig @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0 +author=chewy +charset=UTF-8 +csum= +ctime=1609683916 +host=2a02:1205:34c1:94e0:d92b:63f2:6ce0:4c09 +name=Fig.Fig +rev=9 +targets=Ircnow.Servers,Shell.Shell,Ircnow.Team,Fig.Todo +text=!!! Want to go down the rabbit hole? You are in the right place!%0a%0a%0a! Welcome to IRCNow Fig%0a\\%0a\\%0a%0a->[@%0a ▄▄▄▄██████████▄▄%0a ▄▄██████████▀▀▀▀▀▀▀▀▀▀▀%0a ▄▄███▀▀▀▀░░░░░░░░░░░░░░░░░%0a ▄██▀▀ ░░▄█████████████▄░░░░░░░░░░░░░%0a▄█▀ ░░░░███████████████░░░░░░░░░░░░░░░░░░%0a ░░░░████▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░%0a ░░░░████▄▄▄▄██████░░░░▄▄▄▄█████░░░░░▄▄▄██░░%0a ░░░█████████████▀▀░░░░▀▀███▀▀░░░░██▀▀░░░░░░░%0a ░▄████▀░░░░░░░░░░░░░░░░██░░░░░░█▀░░░▄▄▄▄░░░░%0a ▐████░░░░░░░░░░░░░░░░░▄█░░░░░░█▌░█▀▀▀██░░░░░ ▄%0a ██▀░░░░░░░░░░░░░░▄▄▄██████░░▐█▄▄▄███▀░░░░░ ▄▄██▀%0a ░░░░░░░░░░░░░░▀▀▀▀░░░░░░░░▀▀░░░░░░░▄▄████▀%0a ░░░░░░░░░░░░░░░░░░░░░░░▄▄▄▄██████▀▀%0a ░░█████████████████▀▀▀%0a ▀█████▀▀▀%0a@]%0a\\%0a\\%0a%0aFig is one of [[Ircnow.Servers|IRCNow servers]] by the users for the users. We learn and explore [[Shell|Unix]] and [[Ircnow.Team|sysadmin]] every day. Our available services are listed below.%0a%0a!!! IRC%0aYou can connect and chat on IRCNow from our server, [[ircs://irc.fig.ircnow.org|irc.fig.ircnow.org]] on port 6667 (no SSL) or port 6697 (with SSL). You can also hang out with us on [[ircs://irc.fig.ircnow.org/fig|#Fig]].%0a%0a!!! Bouncer%0aA bouncer (BNC) is used to keeps you connected to IRC networks. You can request a Fig BNC account by joining [[ircs://irc.fig.ircnow.org/fig|#Fig]] on IRCNow and send @@!bnc@@ to the channel. A bot named '''Fig''' will give you the instruction on getting an account. '''Note that you are only allowed to have only one BNC account from IRCNow'''. If you already have an account on another server, you are not allowed to get more.%0a%0a%0a!!! Want to join us?%0aWe have a '''cool ksh environment''' for admins in our team. In order to join Fig, you need to [[Ircnow.Team|apply IRCNow]] first. After you finished the training, you can choose a team to join!%0a%0a!!! Want to support?%0aWe appreciate your willingness to support us. You can donate to Fig [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|here]]. All donations will help us in upgrading the server and spending on resources.%0a%0a!!! Members%0a%0aOur team members are: '''Chewbakka85''', '''Sami''', '''Noxturnix''', '''allen''' and our newest member '''w|z'''\\%0a\\%0a%0a[[Fig.Todo|Todo List]] +time=1617185702 +author:1617185702=chewy +diff:1617185702:1616943932:=43,45c43%0a%3c !!! Members%0a%3c %0a%3c Our team members are: '''Chewbakka85''', '''Sami''', '''Noxturnix''', '''allen''' and our newest member '''w|z'''\\%0a---%0a> Our team members are: '''Chewbakka85'''\\%0a +host:1617185702=2a02:1205:34c1:94e0:d92b:63f2:6ce0:4c09 +author:1616943932=chewy +diff:1616943932:1616673782:=41c41%0a%3c We appreciate your willingness to support us. You can donate to Fig [[https://www.paypal.com/donate?hosted_button_id=BN63PN32Y3FFJ|here]]. All donations will help us in upgrading the server and spending on resources.%0a---%0a> We appreciate your willingness to support us. You can donate to Fig [[https://donorbox.org/fig-donate|here]]. All donations will help us in upgrading the server and spending on resources.%0a +host:1616943932=185.156.175.131 +author:1616673782=chewy +diff:1616673782:1615963494:=35a36,37%0a> !!! Hidden IRC%0a> [=*Wears mask and hoodie*=] Want more anonymity while connecting to our IRC server? Our hidden IRC address is [[ircs://ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion/|ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion]]. You can use [[Tor network]] to connect to our hidden service.%0a +host:1616673782=217.138.203.212 +author:1615963494=jrmu +diff:1615963494:1614083599:=45c45%0a%3c Our team members are: '''Chewbakka85'''\\%0a---%0a> Our team members are: '''Chewbakka85''', '''Dima'''\\%0a +host:1615963494=198.251.81.119 +author:1614083599=chewy +diff:1614083599:1610009691:=45c45%0a%3c Our team members are: '''Chewbakka85''', '''Dima'''\\%0a---%0a> Our team members are: '''Noxturnix''', '''Dima'''\\%0a +host:1614083599=2a02:1205:34c1:94e0:c864:3e23:76c0:6c2f +author:1610009691=Noxturnix +diff:1610009691:1609962772:=42,44d41%0a%3c !!! Want to support?%0a%3c We appreciate your willingness to support us. You can donate to Fig [[https://donorbox.org/fig-donate|here]]. All donations will help us in upgrading the server and spending on resources.%0a%3c %0a46d42%0a%3c \\%0a +host:1610009691=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1609962772=Noxturnix +diff:1609962772:1609916828:=42c42,43%0a%3c Our team members are: '''Noxturnix''', '''Dima'''\\%0a---%0a> Our team members are: '''Noxturnix'''\\%0a> [--( Yes, only one person right now. Please join :( )--]%0a +host:1609962772=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1609916828=Noxturnix +diff:1609916828:1609683916:=1,45c1,3%0a%3c !!! Want to go down the rabbit hole? You are in the right place!%0a%3c %0a%3c %0a%3c ! Welcome to IRCNow Fig%0a%3c \\%0a%3c \\%0a%3c %0a%3c ->[@%0a%3c ▄▄▄▄██████████▄▄%0a%3c ▄▄██████████▀▀▀▀▀▀▀▀▀▀▀%0a%3c ▄▄███▀▀▀▀░░░░░░░░░░░░░░░░░%0a%3c ▄██▀▀ ░░▄█████████████▄░░░░░░░░░░░░░%0a%3c ▄█▀ ░░░░███████████████░░░░░░░░░░░░░░░░░░%0a%3c ░░░░████▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░%0a%3c ░░░░████▄▄▄▄██████░░░░▄▄▄▄█████░░░░░▄▄▄██░░%0a%3c ░░░█████████████▀▀░░░░▀▀███▀▀░░░░██▀▀░░░░░░░%0a%3c ░▄████▀░░░░░░░░░░░░░░░░██░░░░░░█▀░░░▄▄▄▄░░░░%0a%3c ▐████░░░░░░░░░░░░░░░░░▄█░░░░░░█▌░█▀▀▀██░░░░░ ▄%0a%3c ██▀░░░░░░░░░░░░░░▄▄▄██████░░▐█▄▄▄███▀░░░░░ ▄▄██▀%0a%3c ░░░░░░░░░░░░░░▀▀▀▀░░░░░░░░▀▀░░░░░░░▄▄████▀%0a%3c ░░░░░░░░░░░░░░░░░░░░░░░▄▄▄▄██████▀▀%0a%3c ░░█████████████████▀▀▀%0a%3c ▀█████▀▀▀%0a%3c @]%0a%3c \\%0a%3c \\%0a%3c %0a%3c Fig is one of [[Ircnow.Servers|IRCNow servers]] by the users for the users. We learn and explore [[Shell|Unix]] and [[Ircnow.Team|sysadmin]] every day. Our available services are listed below.%0a%3c %0a%3c !!! IRC%0a%3c You can connect and chat on IRCNow from our server, [[ircs://irc.fig.ircnow.org|irc.fig.ircnow.org]] on port 6667 (no SSL) or port 6697 (with SSL). You can also hang out with us on [[ircs://irc.fig.ircnow.org/fig|#Fig]].%0a%3c %0a%3c !!! Bouncer%0a%3c A bouncer (BNC) is used to keeps you connected to IRC networks. You can request a Fig BNC account by joining [[ircs://irc.fig.ircnow.org/fig|#Fig]] on IRCNow and send @@!bnc@@ to the channel. A bot named '''Fig''' will give you the instruction on getting an account. '''Note that you are only allowed to have only one BNC account from IRCNow'''. If you already have an account on another server, you are not allowed to get more.%0a%3c %0a%3c !!! Hidden IRC%0a%3c [=*Wears mask and hoodie*=] Want more anonymity while connecting to our IRC server? Our hidden IRC address is [[ircs://ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion/|ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion]]. You can use [[Tor network]] to connect to our hidden service.%0a%3c %0a%3c !!! Want to join us?%0a%3c We have a '''cool ksh environment''' for admins in our team. In order to join Fig, you need to [[Ircnow.Team|apply IRCNow]] first. After you finished the training, you can choose a team to join!%0a%3c %0a%3c Our team members are: '''Noxturnix'''\\%0a%3c [--( Yes, only one person right now. Please join :( )--]%0a%3c %0a%3c [[Fig.Todo|Todo List]]%0a\ No newline at end of file%0a---%0a> !! Setup your page!%0a> %0a> [[fig/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609916828=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1609683916=jrmu +diff:1609683916:1609683916:=1,3d0%0a%3c !! Setup your page!%0a%3c %0a%3c [[fig/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609683916=125.231.63.134 blob - /dev/null blob + 0d3e49bc6b2acb28350e3ffa920abd2a8c8d12f5 (mode 644) --- /dev/null +++ wiki.d/Fig.Log @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 +author=dima +charset=UTF-8 +csum=test +ctime=1610018588 +host=31.220.1.169 +name=Fig.Log +rev=1 +targets= +text=@@1610018494.@@ Hello, world. +time=1610018588 +author:1610018588=dima +csum:1610018588=test +diff:1610018588:1610018588:minor=1d0%0a%3c @@1610018494.@@ Hello, world.%0a\ No newline at end of file%0a +host:1610018588=31.220.1.169 blob - /dev/null blob + c6ee63f143ecafa22d27c803b2379c4c78fd69be (mode 644) --- /dev/null +++ wiki.d/Fig.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0 +charset=UTF-8 +ctime=1609683916 +host=2a02:1205:34c1:94e0:d92b:63f2:6ce0:4c09 +name=Fig.RecentChanges +rev=12 +text=* [[Fig/Fig]] . . . March 31, 2021, at 10:15 AM by [[~chewy]]: [==]%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 +time=1617185702 blob - /dev/null blob + 4899b6aefee64c6734d764ae082401c691b9301b (mode 644) --- /dev/null +++ wiki.d/Fig.Todo @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609684001 +host=125.231.63.134 +name=Fig.Todo +rev=2 +targets=Openbsd.Newdisk,Openbsd.Backup +text=(:title Fig Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%0aDone: +time=1609938369 +title=Fig Todo list +author:1609938369=jrmu +diff:1609938369:1609684001:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938369=125.231.63.134 +author:1609684001=jrmu +diff:1609684001:1609684001:=1,9d0%0a%3c (:title Fig Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609684001=125.231.63.134 blob - /dev/null blob + 3e0313ba0a98b955b41a16771efdda22bde20747 (mode 644) --- /dev/null +++ wiki.d/File.File @@ -0,0 +1,66 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=linking +ctime=1596460386 +host=198.251.81.133 +name=File.File +rev=17 +targets=File.Rsync,File.Ssh,Fireftp.Connect,ChromesFTP.Connect,WinSCP.Connect,CoreFTP.Connect,FreeFTP.Connect,Gftp.Connect,CyberDuck.Connect,ClassicFTP.Connect,AndFTP.Connect,FileZilla.Connect,PSFTP.Connect,Fetch.Connect +text=(:title Log Cabin Hosting:)%0a%0a%25rfloat%25 Attach:Marketing/abecabin.jpg%0a%0aA man's /home is his castle%0a%0a* host up to 2GB of data, upload via sftp%0a* free of charge, with free software%0a* real time support from IRCNow over live chat%0a%0aTo get started with code hosting, connect to [[ircs://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a%0a%0aCreate your own free website with no ads. We support PHP7.%0a%0aIRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%0aYou get sftp access to upload any files, and we support PHP.%0a%0a%0a%0aSFTP%0a%0a * [[rsync|rsync]]%0a * [[ssh|sshfs]]%0a|| [[fireftp/connect|fireftp]]%0a|| [[ChromesFTP/connect|Chrome sFTP]]%0a|| [[WinSCP/connect|WinSCP]]%0a|| [[CoreFTP/connect|CoreFTP]]%0a|| [[FreeFTP/connect|FreeFTP]]%0a|| [[gftp/connect|gftp]]%0a|| [[CyberDuck/connect|CyberDuck]]%0a|| [[ClassicFTP/connect|ClassicFTP]]%0a|| [[AndFTP/connect|AndFTP]]%0a|| [[FileZilla/connect|FileZilla]]%0a%0a|| [[PSFTP/connect|PuTTY PSFTP]] ||%0a Coda (web development software)%0a CRAX Commander%0a ExpanDrive%0a|| [[[Fetch/connect|Fetch]]\%0a ForkLift (file manager)%0a Fugu (software)%0a Interarchy%0a Lftp%0a PuTTY%0a Rclone%0a Transmit (file transfer tool)%0a UploadFTP%0a WebDrive%0a WinSCP%0a%0aSCP%0a%0aRSync%0a%0aAcrosync +time=1624390980 +title=Log Cabin Hosting +author:1624390980=mkf +csum:1624390980=linking +diff:1624390980:1614499966:minor=11c11%0a%3c To get started with code hosting, connect to [[ircs://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a---%0a> To get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a +host:1624390980=198.251.81.133 +author:1614499966=jrmu +diff:1614499966:1614499905:=1,2c1,2%0a%3c (:title Log Cabin Hosting:)%0a%3c %0a---%0a> (:title Log Cabin Storage:)%0a> %0a12,20d11%0a%3c %0a%3c %0a%3c Create your own free website with no ads. We support PHP7.%0a%3c %0a%3c IRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%3c %0a%3c You get sftp access to upload any files, and we support PHP.%0a%3c %0a%3c %0a +host:1614499966=198.251.81.119 +author:1614499905=jrmu +diff:1614499905:1613923038:=7c7%0a%3c * host up to 2GB of data, upload via sftp%0a---%0a> * host up to 10GB of data, upload via sftp%0a +host:1614499905=198.251.81.119 +author:1613923038=jrmu +diff:1613923038:1613830736:=28c28%0a%3c || [[PSFTP/connect|PuTTY PSFTP]] ||%0a---%0a> %0a +host:1613923038=198.251.81.119 +author:1613830736=jrmu +diff:1613830736:1613829272:= +host:1613830736=198.251.81.119 +author:1613829272=jrmu +diff:1613829272:1613828458:=46,48c46%0a%3c RSync%0a%3c %0a%3c Acrosync%0a\ No newline at end of file%0a---%0a> RSync%0a\ No newline at end of file%0a +host:1613829272=198.251.81.119 +author:1613828458=jrmu +diff:1613828458:1613828412:=13,14c13%0a%3c SFTP%0a%3c %0a---%0a> %0a42,46c41%0a%3c WinSCP%0a%3c %0a%3c SCP%0a%3c %0a%3c RSync%0a\ No newline at end of file%0a---%0a> WinSCP%0a\ No newline at end of file%0a +host:1613828458=198.251.81.119 +author:1613828412=jrmu +diff:1613828412:1613828004:= +host:1613828412=198.251.81.119 +author:1613828004=jrmu +diff:1613828004:1613049661:=13a14,16%0a> * [[sftp:winscp|WinSCP]]%0a> * [[sftp:filezilla|FileZilla]]%0a> * [[sftp:cyberduck|Cyberduck]]%0a15,41c18%0a%3c * [[ssh|sshfs]]%0a%3c || [[fireftp/connect|fireftp]]%0a%3c || [[ChromesFTP/connect|Chrome sFTP]]%0a%3c || [[WinSCP/connect|WinSCP]]%0a%3c || [[CoreFTP/connect|CoreFTP]]%0a%3c || [[FreeFTP/connect|FreeFTP]]%0a%3c || [[gftp/connect|gftp]]%0a%3c || [[CyberDuck/connect|CyberDuck]]%0a%3c || [[ClassicFTP/connect|ClassicFTP]]%0a%3c || [[AndFTP/connect|AndFTP]]%0a%3c || [[FileZilla/connect|FileZilla]]%0a%3c %0a%3c %0a%3c Coda (web development software)%0a%3c CRAX Commander%0a%3c ExpanDrive%0a%3c || [[[Fetch/connect|Fetch]]\%0a%3c ForkLift (file manager)%0a%3c Fugu (software)%0a%3c Interarchy%0a%3c Lftp%0a%3c PuTTY%0a%3c Rclone%0a%3c Transmit (file transfer tool)%0a%3c UploadFTP%0a%3c WebDrive%0a%3c WinSCP%0a\ No newline at end of file%0a---%0a> * [[ssh|sshfs]]%0a\ No newline at end of file%0a +host:1613828004=198.251.81.119 +author:1613049661=jrmu +diff:1613049661:1613049636:=3a4%0a> %25rfloat clear=both%25 Attach:Marketing/choptree.jpg%0a +host:1613049661=198.251.81.119 +author:1613049636=jrmu +diff:1613049636:1613049624:=4c4%0a%3c %25rfloat clear=both%25 Attach:Marketing/choptree.jpg%0a---%0a> %25rfloat%25 Attach:Marketing/choptree.jpg%0a +host:1613049636=198.251.81.119 +author:1613049624=jrmu +diff:1613049624:1613049573:=3c3%0a%3c %25rfloat%25 Attach:Marketing/abecabin.jpg%0a---%0a> %25rfloat%25 Attach:Marketing/logcabin.jpg%0a +host:1613049624=198.251.81.119 +author:1613049573=jrmu +diff:1613049573:1613048805:=4d3%0a%3c %25rfloat%25 Attach:Marketing/choptree.jpg%0a +host:1613049573=198.251.81.119 +author:1613048805=jrmu +diff:1613048805:1613048624:=3c3%0a%3c %25rfloat%25 Attach:Marketing/logcabin.jpg%0a---%0a> Attach:Marketing/logcabin.jpg%0a +host:1613048805=198.251.81.119 +author:1613048624=jrmu +diff:1613048624:1597899947:=1,6d0%0a%3c (:title Log Cabin Storage:)%0a%3c %0a%3c Attach:Marketing/logcabin.jpg%0a%3c %0a%3c A man's /home is his castle%0a%3c %0a +host:1613048624=198.251.81.119 +author:1597899947=gry +csum:1597899947=created +diff:1597899947:1596460386:=1,7d0%0a%3c * host up to 10GB of data, upload via sftp%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c To get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a%3c %0a%3c %0a +host:1597899947=203.129.25.247 +author:1596460386=jrmu +diff:1596460386:1596460386:=1,5d0%0a%3c * [[sftp:winscp|WinSCP]]%0a%3c * [[sftp:filezilla|FileZilla]]%0a%3c * [[sftp:cyberduck|Cyberduck]]%0a%3c * [[rsync|rsync]]%0a%3c * [[ssh|sshfs]]%0a\ No newline at end of file%0a +host:1596460386=38.81.163.143 blob - /dev/null blob + 8c53f1b4000d0185e07034500e4c38a15265aac3 (mode 644) --- /dev/null +++ wiki.d/File.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1596460386 +host=198.251.81.133 +name=File.RecentChanges +rev=17 +text=* [[File/File]] . . . June 22, 2021, at 07:43 PM by [[~mkf]]: [=linking=]%0a +time=1624390980 blob - /dev/null blob + 85a0e44069d8d15f8acf7b1a07f10e22b57a0947 (mode 644) --- /dev/null +++ wiki.d/Freedom.Bearcode @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612762943 +host=125.231.26.73 +name=Freedom.Bearcode +rev=13 +targets= +text=%25width=300px rfloat%25 Attach:Marketing/tread.jpg%0a%25width=300px rfloat clear=both%25 Remember to replace snake with ethernet cable, don't unplug on me%0a%0a[@%0aIt's a beacon for all who share our dream%0aof a new day without domination%0aIt's the hope of the peoples now oppressed and%0aa symbol of their own emancipation%0a%0a%0aHurrah for the shell of the free!%0aMay it ping as our standard forever,%0aGateway to the LAN with its beep,%0aBanner MOTD.%0aLet opers remember the day%0aWhen our hackers with mighty endeavor%0aProclaimed as they typed in the fray%0aThat by their might and by their right%0aIt pings forever.%0a@] +time=1626255760 +author:1626255760=jrmu +diff:1626255760:1626255733:=5,8c5,6%0a%3c It's a beacon for all who share our dream%0a%3c of a new day without domination%0a%3c It's the hope of the peoples now oppressed and%0a%3c a symbol of their own emancipation%0a---%0a> It's a beacon for all who share our dream of a new day without domination%0a> It's the hope of the peoples now oppressed and a symbol of their own emancipation%0a +host:1626255760=125.231.26.73 +author:1626255733=jrmu +diff:1626255733:1612829427:=5,8d4%0a%3c It's a beacon for all who share our dream of a new day without domination%0a%3c It's the hope of the peoples now oppressed and a symbol of their own emancipation%0a%3c %0a%3c %0a +host:1626255733=125.231.26.73 +author:1612829427=jrmu +diff:1612829427:1612794754:=6,7c6,7%0a%3c May it ping as our standard forever,%0a%3c Gateway to the LAN with its beep,%0a---%0a> May it beep as our standard forever,%0a> The server of the LAN over the sea,%0a +host:1612829427=198.251.81.119 +author:1612794754=jrmu +diff:1612794754:1612794730:=2c2%0a%3c %25width=300px rfloat clear=both%25 Remember to replace snake with ethernet cable, don't unplug on me%0a---%0a> %25width=300px rfloat clear=both%25 Remember to replace snake with ethernet cable%0a +host:1612794754=198.251.81.119 +author:1612794730=jrmu +diff:1612794730:1612763840:=8c8%0a%3c Banner MOTD.%0a---%0a> The banner MOTD.%0a +host:1612794730=198.251.81.119 +author:1612763840=jrmu +diff:1612763840:1612763639:=2d1%0a%3c %25width=300px rfloat clear=both%25 Remember to replace snake with ethernet cable%0a +host:1612763840=198.251.81.119 +author:1612763639=jrmu +diff:1612763639:1612763617:=1a2,5%0a> %0a> The best way to ensure network peace is through aggressive coding%0a> %0a> By our might and by our right we ping forever%0a +host:1612763639=198.251.81.119 +author:1612763617=jrmu +diff:1612763617:1612763449:=1c1%0a%3c %25width=300px rfloat%25 Attach:Marketing/tread.jpg%0a---%0a> Attach:Marketing/tread.jpg%0a +host:1612763617=198.251.81.119 +author:1612763449=jrmu +diff:1612763449:1612763436:=7d6%0a%3c [@%0a16,17c15%0a%3c It pings forever.%0a%3c @]%0a\ No newline at end of file%0a---%0a> It pings forever.%0a\ No newline at end of file%0a +host:1612763449=198.251.81.119 +author:1612763436=jrmu +diff:1612763436:1612763433:= +host:1612763436=198.251.81.119 +author:1612763433=jrmu +diff:1612763433:1612763388:=13c13%0a%3c Proclaimed as they typed in the fray%0a---%0a> Proclaimed as they marched to the fray%0a +host:1612763433=198.251.81.119 +author:1612763388=jrmu +diff:1612763388:1612762943:=6,15d5%0a%3c %0a%3c Hurrah for the shell of the free!%0a%3c May it beep as our standard forever,%0a%3c The server of the LAN over the sea,%0a%3c The banner MOTD.%0a%3c Let opers remember the day%0a%3c When our hackers with mighty endeavor%0a%3c Proclaimed as they marched to the fray%0a%3c That by their might and by their right%0a%3c It pings forever.%0a\ No newline at end of file%0a +host:1612763388=198.251.81.119 +author:1612762943=jrmu +diff:1612762943:1612762943:=1,5d0%0a%3c Attach:Marketing/tread.jpg%0a%3c %0a%3c The best way to ensure network peace is through aggressive coding%0a%3c %0a%3c By our might and by our right we ping forever%0a +host:1612762943=198.251.81.119 blob - /dev/null blob + 3f967c6bfedb1c1979864e022e318bdc8a534f92 (mode 644) --- /dev/null +++ wiki.d/Freedom.Censorship @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596258437 +host=125.224.24.163 +name=Freedom.Censorship +rev=19 +targets=Freedom.Software,Freedom.Militia,Freedom.Fork +text=(:title First Amendment with Servers' Rights:)%0a%0a%25width=100pct rfloat%25 Attach:Marketing/press.png%0a%0aIRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a%0aOur digital bill of rights state:%0a%0a-> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aBecause IRCNow's congress cannot censor network wide, there is no "official" censorship policy.%0a%0aEach individual server, however, retains the right to censor content. This is necessary for legal compliance. For example, in many countries, violent threats are illegal, as is copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a%0aIn other words, on IRCNow, there is a first amendment with servers' rights.%0a%0aIRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship. +time=1612070581 +title=First Amendment with Servers' Rights +author:1612070581=jrmu +diff:1612070581:1612070507:=1c1%0a%3c (:title First Amendment with Servers' Rights:)%0a---%0a> (:title Freedom of the Press:)%0a +host:1612070581=125.224.24.163 +author:1612070507=jrmu +diff:1612070507:1612070489:=1c1%0a%3c (:title Freedom of the Press:)%0a---%0a> (:title First Amendment with Servers' Rights:)%0a +host:1612070507=125.224.24.163 +author:1612070489=jrmu +diff:1612070489:1612070474:=3a4,5%0a> %0a> (:title Censorship System:)%0a +host:1612070489=125.224.24.163 +author:1612070474=jrmu +diff:1612070474:1612070437:=1c1%0a%3c (:title First Amendment with Servers' Rights:)%0a---%0a> (:title Decentralized Censorship:)%0a +host:1612070474=125.224.24.163 +author:1612070437=jrmu +diff:1612070437:1612070352:=15a16,17%0a> %0a> Each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a +host:1612070437=125.224.24.163 +author:1612070352=jrmu +diff:1612070352:1611890385:=5,10c5,10%0a%3c (:title Censorship System:)%0a%3c %0a%3c IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a%3c %0a%3c Our digital bill of rights state:%0a%3c %0a---%0a> Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a> %0a> IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a> %0a> Our digital bill of rights states:%0a> %0a13,19c13%0a%3c Because IRCNow's congress cannot censor network wide, there is no "official" censorship policy.%0a%3c %0a%3c Each individual server, however, retains the right to censor content. This is necessary for legal compliance. For example, in many countries, violent threats are illegal, as is copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a%3c %0a%3c Each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a%3c %0a%3c In other words, on IRCNow, there is a first amendment with servers' rights.%0a---%0a> At the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a +host:1612070352=125.224.24.163 +author:1611890385=jrmu +diff:1611890385:1611890366:=3c3%0a%3c %25width=100pct rfloat%25 Attach:Marketing/press.png%0a---%0a> Attach:Marketing/press.png%0a +host:1611890385=125.231.24.226 +author:1611890366=jrmu +diff:1611890366:1609992212:=2,3d1%0a%3c %0a%3c Attach:Marketing/press.png%0a +host:1611890366=125.231.24.226 +author:1609992212=jrmu +diff:1609992212:1609992175:=5,7c5,7%0a%3c IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a%3c %0a%3c Our digital bill of rights states:%0a---%0a> IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship it necessary in order to have meaningful debates for how our network should run.%0a> %0a> Our digital bill of rights state:%0a +host:1609992212=125.231.63.134 +author:1609992175=jrmu +diff:1609992175:1606888221:=1,11c1,3%0a%3c (:title Decentralized Censorship:)%0a%3c %0a%3c Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a%3c %0a%3c IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship it necessary in order to have meaningful debates for how our network should run.%0a%3c %0a%3c Our digital bill of rights state:%0a%3c %0a%3c -> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c At the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a---%0a> Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply offering honest criticism can be enough to get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a> %0a> IRCNow guarantees in its constitution that there will be no network-wide censorship of religion, speech, or the press. Censorship will instead be handled by each individual server to prevent abuse of power.%0a +host:1609992175=125.231.63.134 +author:1606888221=jrmu +diff:1606888221:1604156308:=3c3%0a%3c IRCNow guarantees in its constitution that there will be no network-wide censorship of religion, speech, or the press. Censorship will instead be handled by each individual server to prevent abuse of power.%0a---%0a> IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Network-wide censorship is done in an open and transparent manner, limited to obscene, illegal, and violent content. Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a +host:1606888221=198.251.81.119 +author:1604156308=jrmu +diff:1604156308:1602897988:=3c3%0a%3c IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Network-wide censorship is done in an open and transparent manner, limited to obscene, illegal, and violent content. Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a---%0a> IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Network-wide censorship is done in an open and transparent manner, limited to things, obscene, illegal, and violent content. Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a +host:1604156308=198.251.81.119 +author:1602897988=jrmu +diff:1602897988:1597049488:=3c3%0a%3c IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Network-wide censorship is done in an open and transparent manner, limited to things, obscene, illegal, and violent content. Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a---%0a> IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Censorship is done in an open and transparent manner, limited to only those matters clearly prohibited by the Bible. (For example, obscene, illegal, and violent content.) Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a +host:1602897988=125.231.17.204 +author:1597049488=jrmu +diff:1597049488:1597047065:=1,5c1,7%0a%3c Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply offering honest criticism can be enough to get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a%3c %0a%3c IRCNow guarantees in its constitution that sound Bible teaching cannot be banned on this network. Censorship is done in an open and transparent manner, limited to only those matters clearly prohibited by the Bible. (For example, obscene, illegal, and violent content.) Arbitrary censorship, however, is forbidden by the [[ircnow/constitution#billofrights|User Bill of Rights]]. This provides a safe and peaceful environment for people of all ages and cultures.%0a%3c %0a%3c IRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship.%0a\ No newline at end of file%0a---%0a> Censorship on proprietary networks is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply offering honest criticism can be enough to get you permanently banned. What is worse, Christians around the world are now being ostracized and banned for believing in the Bible. Increasingly, the owners of these social media platforms are arbitrarily imposing censorship policies on their users.%0a> %0a> IRCNow guarantees in its constitution that sound Christian preaching and Bible teaching cannot be banned on this network. It also provides the source code and documentation for all the software on this network, so that users have the freedom to control their own software and fork this network. This provides a powerful safeguard against arbitrary censorship.%0a> %0a> IRCNow does censor obscene, illegal, and violent content. Communities that insist upon a purely free speech zone usually get banned by ISPs and outlawed by governments. For this reason, IRCNow does implement censorship according to the Bible. To guard against abuse, it is done in an open and transparent manner; censorship is limited to only those matters clearly prohibited by the Bible.%0a> %0a> Because all of the source code is available without requiring permission or payment, users who disagree with the censorship policy have the ability to create a competing network with our code. This gives users complete control and freedom.%0a\ No newline at end of file%0a +host:1597049488=38.81.163.143 +author:1597047065=jrmu +diff:1597047065:1596431729:=5c5%0a%3c IRCNow does censor obscene, illegal, and violent content. Communities that insist upon a purely free speech zone usually get banned by ISPs and outlawed by governments. For this reason, IRCNow does implement censorship according to the Bible. To guard against abuse, it is done in an open and transparent manner; censorship is limited to only those matters clearly prohibited by the Bible.%0a---%0a> IRCNow, however, does censor obscene, illegal, and violent content. Communities that insist upon a purely free speech zone usually get banned by ISPs and outlawed by governments. For this reason, IRCNow does implement censorship according to the Bible. To guard against abuse, it is done in an open and transparent manner; censorship is limited to only those matters clearly prohibited by the Bible.%0a +host:1597047065=38.81.163.143 +author:1596431729=jrmu +diff:1596431729:1596338920:=1,7c1,7%0a%3c Censorship on proprietary networks is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply offering honest criticism can be enough to get you permanently banned. What is worse, Christians around the world are now being ostracized and banned for believing in the Bible. Increasingly, the owners of these social media platforms are arbitrarily imposing censorship policies on their users.%0a%3c %0a%3c IRCNow guarantees in its constitution that sound Christian preaching and Bible teaching cannot be banned on this network. It also provides the source code and documentation for all the software on this network, so that users have the freedom to control their own software and fork this network. This provides a powerful safeguard against arbitrary censorship.%0a%3c %0a%3c IRCNow, however, does censor obscene, illegal, and violent content. Communities that insist upon a purely free speech zone usually get banned by ISPs and outlawed by governments. For this reason, IRCNow does implement censorship according to the Bible. To guard against abuse, it is done in an open and transparent manner; censorship is limited to only those matters clearly prohibited by the Bible.%0a%3c %0a%3c Because all of the source code is available without requiring permission or payment, users who disagree with the censorship policy have the ability to create a competing network with our code. This gives users complete control and freedom.%0a\ No newline at end of file%0a---%0a> Censorship on proprietary networks are on the rise. Today, you can get your social media accounts banned for disagreeing about topics ranging anywhere from health care to how to raise children to the environment. Simply offering honest criticism of a product or service can be enough to get you permanently banned. What is worse, Christians around the world are now being ostracized and banned for believing in the Bible. Increasingly, the owners of these social media platforms are arbitrarily imposing censorship policies on their users.%0a> %0a> When we give users freedom and control over their own software, they have the ability to circumvent this censorship. IRCNow guarantees in its constitution that sound Christian preaching and Bible teaching cannot be banned on this network.%0a> %0a> At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a> %0a> Because all of the source code on the network is available without requiring permission or payment, users who disagree with the censorship policy have the ability to create a competing network with our code. This gives users complete control and freedom.%0a\ No newline at end of file%0a +host:1596431729=38.81.163.143 +author:1596338920=jrmu +diff:1596338920:1596258574:=5c5%0a%3c At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a---%0a> At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement a censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a +host:1596338920=38.81.163.143 +author:1596258574=jrmu +diff:1596258574:1596258437:=5,7c5%0a%3c At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement a censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a%3c %0a%3c Because all of the source code on the network is available without requiring permission or payment, users who disagree with the censorship policy have the ability to create a competing network with our code. This gives users complete control and freedom.%0a\ No newline at end of file%0a---%0a> At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement a censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a\ No newline at end of file%0a +host:1596258574=38.81.163.143 +author:1596258437=jrmu +diff:1596258437:1596258437:=1,5d0%0a%3c Censorship on proprietary networks are on the rise. Today, you can get your social media accounts banned for disagreeing about topics ranging anywhere from health care to how to raise children to the environment. Simply offering honest criticism of a product or service can be enough to get you permanently banned. What is worse, Christians around the world are now being ostracized and banned for believing in the Bible. Increasingly, the owners of these social media platforms are arbitrarily imposing censorship policies on their users.%0a%3c %0a%3c When we give users freedom and control over their own software, they have the ability to circumvent this censorship. IRCNow guarantees in its constitution that sound Christian preaching and Bible teaching cannot be banned on this network.%0a%3c %0a%3c At the same time, no censorship whatsoever will lead to immoral, illegal, and violent communities. For this reason, communities that insist upon completely free speech usually get dropped by ISPs and outlawed by the government. For this reason, IRCNow does implement a censorship, but one according to the Bible, with an open and transparent system of judges to prevent abuse. IRCNow limits censorship only to those matters clearly prohibited by the Bible. This censorship system is designed to restrain content that would corrupt public morality without descending to arbitrary tyranny.%0a\ No newline at end of file%0a +host:1596258437=38.81.163.143 blob - /dev/null blob + 54739ce6794202249eff1f4bfac4e4f6c9ed5981 (mode 644) --- /dev/null +++ wiki.d/Freedom.Centralized,del-1597054042 @@ -0,0 +1,93 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596428452 +host=38.81.163.143 +name=Freedom.Centralized +rev=27 +targets= +text=->Networks in general will steal from each other any time they might benefit from it.%0a%0a->If our network is dissolved, then the bonds of friendship, which is shared by our free and open source users, would be broken. Our servers would turn into rivals, enemies.%0a%0a->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that rival servers (and their users) would remain friends and be free from greed, pride, and evil?%0a%0a->Safety is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to this demand.%0a%0a->The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a%0a->No one respects the neutrality of a network despised for its weakness.%0a%0a->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to serve the users involves a risk of abuse.%0a%0a->We fight not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a%0a->Sink or swim, live or die, survive or perish, I am with my network from this day on. You may depend on it. +time=1597024888 +author:1597024888=jrmu +diff:1597024888:1597024782:=15,17c15%0a%3c ->We fight not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a%3c %0a%3c ->Sink or swim, live or die, survive or perish, I am with my network from this day on. You may depend on it.%0a\ No newline at end of file%0a---%0a> ->We fight not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a\ No newline at end of file%0a +host:1597024888=38.81.163.143 +author:1597024782=jrmu +diff:1597024782:1596582561:=13,15c13%0a%3c ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to serve the users involves a risk of abuse.%0a%3c %0a%3c ->We fight not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a\ No newline at end of file%0a---%0a> ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to serve the users involves a risk of abuse.%0a\ No newline at end of file%0a +host:1597024782=38.81.163.143 +author:1596582561=jrmu +diff:1596582561:1596582508:=11c11%0a%3c ->No one respects the neutrality of a network despised for its weakness.%0a---%0a> ->A network, despicable because of its weakness, forfeits the privilege of being neutral.%0a +host:1596582561=38.81.163.143 +author:1596582508=jrmu +diff:1596582508:1596582433:=5c5%0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that rival servers (and their users) would remain friends and be free from greed, pride, and evil?%0a---%0a> ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that our servers (and their users) would remain friends and be free from greed, pride, and evil?%0a +host:1596582508=38.81.163.143 +author:1596582433=jrmu +diff:1596582433:1596581605:=5c5%0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that our servers (and their users) would remain friends and be free from greed, pride, and evil?%0a---%0a> ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that servers (and their users) are free from greed, pride, and evil?%0a +host:1596582433=38.81.163.143 +author:1596581605=jrmu +diff:1596581605:1596581547:=11,13c11,13%0a%3c ->A network, despicable because of its weakness, forfeits the privilege of being neutral.%0a%3c %0a%3c ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to serve the users involves a risk of abuse.%0a\ No newline at end of file%0a---%0a> ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness involves a risk of abuse.%0a> %0a> ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a +host:1596581605=38.81.163.143 +author:1596581547=jrmu +diff:1596581547:1596581204:=3,9c3,9%0a%3c ->If our network is dissolved, then the bonds of friendship, which is shared by our free and open source users, would be broken. Our servers would turn into rivals, enemies.%0a%3c %0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that servers (and their users) are free from greed, pride, and evil?%0a%3c %0a%3c ->Safety is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to this demand.%0a%3c %0a%3c ->The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a---%0a> ->Should the bonds of friendship which is shared by all free and open source users be broken? Should our networks turn into rivals, enemies? %0a> %0a> ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that users are free from greed, pride, and evil?%0a> %0a> ->A lack of security is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to these demands.%0a> %0a> ->The strength of a network is essential to its liberty. History teaches us that a poorly defended network is much more likely to result in a despotism.%0a +host:1596581547=38.81.163.143 +author:1596581204=jrmu +diff:1596581204:1596581068:=11c11%0a%3c ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness involves a risk of abuse.%0a---%0a> ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness, involves a risk of abuse.%0a +host:1596581204=38.81.163.143 +author:1596581068=jrmu +diff:1596581068:1596580999:=5c5%0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that users are free from greed, pride, and evil?%0a---%0a> ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that users are free from all imperfections, weaknesses, and evil?%0a +host:1596581068=38.81.163.143 +author:1596580999=jrmu +diff:1596580999:1596580816:=5,6c5,6%0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that users are free from all imperfections, weaknesses, and evil?%0a%3c %0a---%0a> ->Haven't we already seen enough of these theories of a golden age of decentralization? Which promises us that users are free from all imperfections, weaknesses, and evil? It's time to wake up and adopt a practical network.%0a> %0a9,10c9,10%0a%3c ->The strength of a network is essential to its liberty. History teaches us that a poorly defended network is much more likely to result in a despotism.%0a%3c %0a---%0a> ->The strength of a network is essential to its liberty. History will teach us that a poorly defended network is much more likely to result in a despotism.%0a> %0a12a13,16%0a> ->A purely democratic network no safeguards against factions. Democracies have always been scenes of anarchy and chaos; and are as short in their lives as they have been violent in their deaths.%0a> %0a> ->The ancient democracies, in which the users directly made all decisions, never possessed one feature of good government. Their very character was tyranny.%0a> %0a13a18,22%0a> %0a> ->Are societies of users truly capable of establishing good government?%0a> %0a> ->You must first enable the staff to control the users; and next, to control itself.%0a> %0a +host:1596580999=38.81.163.143 +author:1596580816=jrmu +diff:1596580816:1596580575:=2,3d1%0a%3c %0a%3c ->Should the bonds of friendship which is shared by all free and open source users be broken? Should our networks turn into rivals, enemies? %0a +host:1596580816=38.81.163.143 +author:1596580575=jrmu +diff:1596580575:1596580427:=2,3d1%0a%3c %0a%3c ->Haven't we already seen enough of these theories of a golden age of decentralization? Which promises us that users are free from all imperfections, weaknesses, and evil? It's time to wake up and adopt a practical network.%0a +host:1596580575=38.81.163.143 +author:1596580427=jrmu +diff:1596580427:1596580225:=1,2d0%0a%3c ->Networks in general will steal from each other any time they might benefit from it.%0a%3c %0a +host:1596580427=38.81.163.143 +author:1596580225=jrmu +diff:1596580225:1596580078:=1c1%0a%3c ->A lack of security is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to these demands.%0a---%0a> ->A lack of security is the most powerful motivation behind a network's policies. Even a passionate love of liberty will, after a time, give way to these demands.%0a +host:1596580225=38.81.163.143 +author:1596580078=jrmu +diff:1596580078:1596579724:=1,2c1,10%0a%3c ->A lack of security is the most powerful motivation behind a network's policies. Even a passionate love of liberty will, after a time, give way to these demands.%0a%3c %0a---%0a> ->A pure democracy has no cure for the mischiefs of factions. Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a> %0a> ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a> %0a> ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a> %0a> ->Safety from DDoS attacks, obscurity, and poverty is the most powerful director of a network's policies. Even a passionate love of liberty will, after a time, give way to these demands. To be more safe, they are willing be less free.%0a> %0a> ->Are societies of users truly capable of establishing good government?%0a> %0a5,14d12%0a%3c ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness, involves a risk of abuse.%0a%3c %0a%3c ->A purely democratic network no safeguards against factions. Democracies have always been scenes of anarchy and chaos; and are as short in their lives as they have been violent in their deaths.%0a%3c %0a%3c ->The ancient democracies, in which the users directly made all decisions, never possessed one feature of good government. Their very character was tyranny.%0a%3c %0a%3c ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a%3c %0a%3c ->Are societies of users truly capable of establishing good government?%0a%3c %0a16a15%0a> ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness, involves a risk of abuse.%0a\ No newline at end of file%0a +host:1596580078=38.81.163.143 +author:1596579724=jrmu +diff:1596579724:1596579683:=12,13d11%0a%3c %0a%3c ->You must first enable the staff to control the users; and next, to control itself.%0a +host:1596579724=38.81.163.143 +author:1596579683=jrmu +diff:1596579683:1596579596:=10,11d9%0a%3c %0a%3c ->The strength of a network is essential to its liberty. History will teach us that a poorly defended network is much more likely to result in a despotism.%0a +host:1596579683=38.81.163.143 +author:1596579596=jrmu +diff:1596579596:1596579535:=8,9d7%0a%3c %0a%3c ->Are societies of users truly capable of establishing good government?%0a +host:1596579596=38.81.163.143 +author:1596579535=jrmu +diff:1596579535:1596579520:=7c7%0a%3c ->Safety from DDoS attacks, obscurity, and poverty is the most powerful director of a network's policies. Even a passionate love of liberty will, after a time, give way to these demands. To be more safe, they are willing be less free.%0a---%0a> ->Safety from DDoS attacks, obscurity, and poverty is the most powerful director of a network's conduct. Even a passionate love of liberty will, after a time, give way to these demands. To be more safe, they are willing be less free.%0a +host:1596579535=38.81.163.143 +author:1596579520=jrmu +diff:1596579520:1596579404:=6,7d5%0a%3c %0a%3c ->Safety from DDoS attacks, obscurity, and poverty is the most powerful director of a network's conduct. Even a passionate love of liberty will, after a time, give way to these demands. To be more safe, they are willing be less free.%0a +host:1596579520=38.81.163.143 +author:1596579404=jrmu +diff:1596579404:1596579284:=1c1%0a%3c ->A pure democracy has no cure for the mischiefs of factions. Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a---%0a> ->Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a +host:1596579404=38.81.163.143 +author:1596579284=jrmu +diff:1596579284:1596579157:=5,7c5%0a%3c ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a%3c %0a%3c ->The choice must always be made, if not of the lesser evil, at least of the greater good. In any network, the power to advance the users' happiness, involves a risk of abuse.%0a\ No newline at end of file%0a---%0a> ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a\ No newline at end of file%0a +host:1596579284=38.81.163.143 +author:1596579157=jrmu +diff:1596579157:1596429835:=3,5c3%0a%3c ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a%3c %0a%3c ->A network, despicable by its weakness, forfeits the privilege of being neutral.%0a\ No newline at end of file%0a---%0a> ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a\ No newline at end of file%0a +host:1596579157=38.81.163.143 +author:1596429835=jrmu +diff:1596429835:1596429822:=3c3,5%0a%3c ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a\ No newline at end of file%0a---%0a> ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a> %0a> ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a\ No newline at end of file%0a +host:1596429835=38.81.163.143 +author:1596429822=jrmu +diff:1596429822:1596429343:=3,5c3%0a%3c ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a%3c %0a%3c ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a\ No newline at end of file%0a---%0a> ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a\ No newline at end of file%0a +host:1596429822=38.81.163.143 +author:1596429343=jrmu +diff:1596429343:1596428452:=1,3c1%0a%3c ->Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a%3c %0a%3c ->The ancient democracies, in which the users themselves made all decisions, never possessed one feature of good government. Their very character was tyranny; their figure deformity.%0a\ No newline at end of file%0a---%0a> ->Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a\ No newline at end of file%0a +host:1596429343=38.81.163.143 +author:1596428452=jrmu +diff:1596428452:1596428452:=1d0%0a%3c ->Democracies have always been scenes of anarchy and chaos; have been incompatible with personal security and property rights; and in general have been as short in their lives as they have been violent in their deaths.%0a\ No newline at end of file%0a +host:1596428452=38.81.163.143 blob - /dev/null blob + 9028cb8bc8053fdd6ab395d3b20de081a7162246 (mode 644) --- /dev/null +++ wiki.d/Freedom.Checks @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596345135 +host=198.251.81.119 +name=Freedom.Checks +rev=18 +targets= +text=(:title Checks and Balances:)%0a%0a->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to threaten the public liberty.%0a%0a->In creating a network, the difficulty is you must allow the staff to control the users; and afterwards to control itself.%0a%0a->Pure democracies have always been scenes of anarchy and chaos; they are as short in their lives as they have been violent in their deaths.%0a%0a->The ancient democracies, in which the users directly made all decisions, never possessed one feature of good government. Their very character was tyranny.%0a%0a->The accumulation of all powers in the same hands is the definition of admin abuse.%0a +time=1612614101 +title=Checks and Balances +author:1612614101=jrmu +diff:1612614101:1612614061:=7c7,11%0a%3c ->Pure democracies have always been scenes of anarchy and chaos; they are as short in their lives as they have been violent in their deaths.%0a---%0a> ->Ambition must be made to counteract ambition.%0a> %0a> ->No oper should be allowed to judge his own case, because his interest would bias his judgment.%0a> %0a> ->A purely democratic network has no safeguards against factions. Democracies have always been scenes of anarchy and chaos; they are as short in their lives as they have been violent in their deaths.%0a +host:1612614101=198.251.81.119 +author:1612614061=jrmu +diff:1612614061:1612613590:=3c3%0a%3c ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to threaten the public liberty.%0a---%0a> ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a +host:1612614061=198.251.81.119 +author:1612613590=jrmu +diff:1612613590:1606888337:=2,3d1%0a%3c %0a%3c ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a +host:1612613590=198.251.81.119 +author:1606888337=jrmu +diff:1606888337:1606888334:= +host:1606888337=198.251.81.119 +author:1606888334=jrmu +diff:1606888334:1597054522:=7,10c7,10%0a%3c ->No oper should be allowed to judge his own case, because his interest would bias his judgment.%0a%3c %0a%3c ->A purely democratic network has no safeguards against factions. Democracies have always been scenes of anarchy and chaos; they are as short in their lives as they have been violent in their deaths.%0a%3c %0a---%0a> ->No oper should be allowed to judge his own cause, because his interest would bias his judgment.%0a> %0a> ->A purely democratic network no safeguards against factions. Democracies have always been scenes of anarchy and chaos; and are as short in their lives as they have been violent in their deaths.%0a> %0a13c13%0a%3c ->The accumulation of all powers in the same hands is the definition of admin abuse.%0a---%0a> ->The accumulation of all powers in the same hands is the definition of oper abuse.%0a +host:1606888334=198.251.81.119 +author:1597054522=jrmu +diff:1597054522:1597054483:=1,2d0%0a%3c (:title Checks and Balances:)%0a%3c %0a +host:1597054522=38.81.163.143 +author:1597054483=jrmu +diff:1597054483:1596580996:=0a1,4%0a> ->The only slogan of a free network ought to be to trust no man living with power to endanger the public liberty.%0a> %0a> ->Ambition must be made to counteract ambition.%0a> %0a3,4d6%0a%3c ->Ambition must be made to counteract ambition.%0a%3c %0a6a9,31%0a> ->They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a> %0a> ->The corporations are afraid to trust the people with access to software.%0a> %0a> ->The truth is, all might be free, if they valued freedom and defended it as they ought.%0a> %0a> ->Oper abuse cannot maintain itself while there is a large body of users familiar with free software, who stand ready to defend their rights and those of their fellow users.%0a> %0a> ->If the staff of a network betray their users, there is nothing left but the right to fork against the tyranny.%0a> %0a> ->Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.%0a> %0a> ->Always remember that users, well-trained in free software, is the fortress of a free network.%0a> %0a> ->It is your right and duty to use and run your own software at all times; that you are entitled to freedom of person; freedom of Christian worship; freedom of property; and freedom of the press.%0a> %0a> ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. %0a> To expect harmony would ignore the accumulated experience of the Internet.%0a> %0a> ->A well constructed union of servers tends to break and control the violence of factions.%0a> %0a> ->The accumulation of all powers, legislative, executive, and judiciary, in the same hands is the very definition of tyranny.%0a> %0a11c36,38%0a%3c ->The accumulation of all powers in the same hands is the definition of oper abuse.%0a---%0a> ->Are societies of users truly capable of establishing good government?%0a> %0a> ->You must first enable the staff to control the users; and next, to control itself.%0a +host:1597054483=38.81.163.143 +author:1596580996=jrmu +diff:1596580996:1596580981:=35,38d34%0a%3c %0a%3c ->Are societies of users truly capable of establishing good government?%0a%3c %0a%3c ->You must first enable the staff to control the users; and next, to control itself.%0a +host:1596580996=38.81.163.143 +author:1596580981=jrmu +diff:1596580981:1596580696:=30,34c30%0a%3c ->The accumulation of all powers, legislative, executive, and judiciary, in the same hands is the very definition of tyranny.%0a%3c %0a%3c ->A purely democratic network no safeguards against factions. Democracies have always been scenes of anarchy and chaos; and are as short in their lives as they have been violent in their deaths.%0a%3c %0a%3c ->The ancient democracies, in which the users directly made all decisions, never possessed one feature of good government. Their very character was tyranny.%0a---%0a> ->The accumulation of all powers, legislative, executive, and judiciary, in the same hands is the very definition of tyranny.%0a\ No newline at end of file%0a +host:1596580981=38.81.163.143 +author:1596580696=jrmu +diff:1596580696:1596580132:=6,7d5%0a%3c %0a%3c ->No oper should be allowed to judge his own cause, because his interest would bias his judgment.%0a +host:1596580696=38.81.163.143 +author:1596580132=jrmu +diff:1596580132:1596579115:=2,3d1%0a%3c %0a%3c ->Ambition must be made to counteract ambition.%0a +host:1596580132=38.81.163.143 +author:1596579115=jrmu +diff:1596579115:1596579060:=21,24c21%0a%3c ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. %0a%3c To expect harmony would ignore the accumulated experience of the Internet.%0a%3c %0a%3c ->A well constructed union of servers tends to break and control the violence of factions.%0a---%0a> ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. To expect harmony would ignore the accumulated experience of ages.%0a +host:1596579115=38.81.163.143 +author:1596579060=jrmu +diff:1596579060:1596578998:=21,23c21%0a%3c ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. To expect harmony would ignore the accumulated experience of ages.%0a%3c %0a%3c ->The accumulation of all powers, legislative, executive, and judiciary, in the same hands is the very definition of tyranny.%0a\ No newline at end of file%0a---%0a> ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. To expect harmony would ignore the accumulated experience of ages.%0a\ No newline at end of file%0a +host:1596579060=38.81.163.143 +author:1596578998=jrmu +diff:1596578998:1596354702:=19,21c19%0a%3c ->It is your right and duty to use and run your own software at all times; that you are entitled to freedom of person; freedom of Christian worship; freedom of property; and freedom of the press.%0a%3c %0a%3c ->If the servers should become disunited, they would have frequent and violent fights with each other. Users are ambitious, vindictive, and rapacious. To expect harmony would ignore the accumulated experience of ages.%0a\ No newline at end of file%0a---%0a> ->It is your right and duty to use and run your own software at all times; that you are entitled to freedom of person; freedom of Christian worship; freedom of property; and freedom of the press.%0a\ No newline at end of file%0a +host:1596578998=38.81.163.143 +author:1596354702=jrmu +diff:1596354702:1596345848:=1,12c1,28%0a%3c ->The only slogan of a free network ought to be to trust no man living with power to endanger the public liberty.%0a%3c %0a%3c ->In creating a network, the difficulty is you must allow the staff to control the users; and afterwards to control itself.%0a%3c %0a%3c ->They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a%3c %0a%3c ->The corporations are afraid to trust the people with access to software.%0a%3c %0a%3c ->The truth is, all might be free, if they valued freedom and defended it as they ought.%0a%3c %0a%3c ->Oper abuse cannot maintain itself while there is a large body of users familiar with free software, who stand ready to defend their rights and those of their fellow users.%0a%3c %0a---%0a> “They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a> %0a> “The only maxim of a free government ought to be to trust no man living with power to endanger the public liberty.” ~ notes for an oration at Braintree, Spring 1772%0a> %0a> “In framing a government which is to be administered by men over men, the great difficulty lies in this: you must first enable the government to control the governed; and in the next place oblige it to control itself. A dependence on the people is, no doubt, the primary control on the government; but experience has taught mankind the necessity of auxiliary precautions.” ~ The Federalist No. 51, February 6, 1788%0a> %0a> “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments … forms a foorier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of. Notwithstanding the military establishments of the several kingdoms of Europe, the governments are afraid to trust the people with arms.” ~ The Federalist No. 46, January 29, 1788%0a> %0a> “The truth is, all might be free, if they valued freedom and defended it as they ought.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a> %0a> “The liberties of our Country, the freedom of our civil constitution are worth defending at all hazards: And it is our duty to defend them against all attacks. We have receiv’d them as a fair Inheritance from our worthy Ancestors: They purchas’d them for us with toil and danger and expence of treasure and blood; and transmitted them to us with care and diligence. It will bring an everlasting mark of infamy on the present generation, enlightened as it is, if we should suffer them to be wrested from us by violence without a struggle; or be cheated out of them by the artifices of false and designing men. Of the latter we are in most danger at present: Let us therefore be aware of it. Let us contemplate our forefathers and posterity; and resolve to maintain the rights bequeath’d to us from the former, for the sake of the latter—instead of sitting down satisfied with the efforts we have already made, which is the wish of our enemies, the necessity of the times, more than ever, calls for our utmost circumspection, deliberation, fortitude, and perseverance. Let us remember that ‘if we suffer tamely a lawless attack upon our liberty, we encourage it, and involve others in our doom.’ It is a very serious consideration, which should deeply impress our minds, that millions yet unborn may be the miserable sharers of the event.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a> %0a> “Among the natural rights of the Colonists are these: First, a right to life; Secondly, to liberty; Thirdly, to property; together with the right to support and defend them in the best manner they can. These are evident branches of, rather than deductions from, the duty of self-preservation, commonly called the first law of nature.” ~ The Rights of the Colonists, 1772%0a> %0a> %0a> “[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens.” — The Federalist, No. 29%0a> Thomas Paine, of Pennsylvania:%0a> %0a> “[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them.” — Thoughts On Defensive War, 1775%0a> %0a> “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.” — Virginia`s U.S. Constitution ratification convention%0a> %0a> “I ask who are the militia? They consist now of the whole people, except a few public officers.” – George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a> %0a> “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of.” – James Madison, Federalist No. 46, January 29, 1788%0a> %0a> “The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country.” – James Madison, I Annals of Congress 434, June 8, 1789%0a> %0a15,19c31,44%0a%3c ->Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.%0a%3c %0a%3c ->Always remember that users, well-trained in free software, is the fortress of a free network.%0a%3c %0a%3c ->It is your right and duty to use and run your own software at all times; that you are entitled to freedom of person; freedom of Christian worship; freedom of property; and freedom of the press.%0a\ No newline at end of file%0a---%0a> "As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms." — Federal Gazette, June 18, 1789%0a> %0a> %0a> %0a> Patrick Henry of Virginia:%0a> %0a> "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel." — Virginia's U.S. Constitution ratification convention%0a> %0a> %0a> “Always remember that an armed and trained militia is the firmest bulwark of republics – that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a> %0a> “The Constitutions of most of our states assert that all power is inherent in the people; that they may exercise it by themselves, in all cases to which they think themselves competent, (as in electing their functionaries executive and legislative, and deciding by a jury of themselves, both fact and law, in all judiciary cases in which any fact is involved) or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person; freedom of religion; freedom of property; and freedom of the press.”%0a> %0a> “I would rather be exposed to the inconveniences attending too much liberty than to those attending too small a degree of it.” ~ letter to Archibald Stuart, Philadelphia, December 23, 1791 (Technically, this quote is not referring directly to the second amendment, but rather refers to the writing of the constitution. We included it because it is concerns the amount of control the government should have.)%0a +host:1596354702=38.81.163.143 +author:1596345848=jrmu +diff:1596345848:1596345550:=30a31,34%0a> ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who are familiar with the software, who stand ready to defend their own rights and those of their fellow-users.%0a> %0a> ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a> %0a34a39,68%0a> Noah Webster of Pennsylvania:%0a> %0a> "Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power." — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a> %0a> %0a> %0a> Alexander Hamilton of New York:%0a> %0a> "[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens." — The Federalist, No. 29%0a> %0a> %0a> %0a> Thomas Paine of Pennsylvania:%0a> %0a> "[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them." — Thoughts On Defensive War, 1775%0a> %0a> %0a> %0a> Fisher Ames of Massachusetts:%0a> %0a> "The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people." — Letter to F.R. Minoe, June 12, 1789%0a> %0a> %0a> %0a> Elbridge Gerry of Massachusetts:%0a> %0a> "What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins." — Debate, U.S. House of Representatives, August 17, 1789%0a> %0a> %0a> %0a39c73,93%0a%3c %0a---%0a> %0a> %0a> For more information, see Halbrook, Stephen P., "The Right of the People or the Power of the State: Bearing Arms, Arming Militias, and the Second Amendment," Valparaiso Univ. Law Review, Vol. 26, No. 1, Fall, 1991; and "That Every Man Be Armed: The Evolution of a Constitutional Right," Univ. of N.M. Press, 1984%0a> %0a> %0a> “O sir, we should have fine times, indeed, if, to punish tyrants, it were only sufficient to assemble the people! Your arms, wherewith you could defend yourselves, are gone; and you have no longer an aristrocratical, no longer a democratical spirit. Did you ever read of any revolution in a nation, brought about by the punishment of those in power, inflicted by those who had no power at all?”%0a> %0a> Founding Fathers Quotes on Guns and the Right to Keep and Bear Arms in the Second Amendment“A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.”%0a> %0a> “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom of Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States.”%0a> %0a> “There is nothing so likely to produce peace as to be well prepared to meet an enemy.”%0a> %0a> “Whenever governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.”%0a> %0a> “A people who would stand fast in their liberty, should furnish themselves with weapons proper for their defence, and learn the use of them. It is indeed an hard case, that those who are happy in the blessings of providence, and disposed to live peaceably with all men, should be obliged to keep up the idea of blood and slaughter, and expend their time and treasure to acquire the arts and instruments of death. But this is a necessity which the depravity of human nature has laid upon every state. Nor was there ever a people that continued, for any considerable time, in the enjoyment of liberty, who were not in a capacity to defend themselves against invaders, unless they were too poor and inconsiderable to tempt an enemy.”%0a> %0a> “For a people who are free, and who mean to remain so, a well-organized and armed militia is their best security.”%0a> %0a> “Men are also bound, individuals and societies, to take care of their temporal happiness, and do all they lawfully can, to promote it. But what can be more inconsistent with this duty, than submitting to great encroachments upon our liberty? Such submission tends to slavery; and compleat slavery implies every evil that the malice of man and devils can inflict.”%0a> %0a40a95,103%0a> %0a> “In a general view there are very few conquests that repay the charge of making them, and mankind are pretty well convinced that it can never be worth their while to go to war for profit sake. If they are made war upon, their country invaded, or their existence at stake, it is their duty to defend and preserve themselves, but in every other light and from every other cause is war inglorious and detestable.”%0a> %0a> “The ultimate authority...resides in the people alone...The advantage of being armed, which the Americans possess over the people of almost every other nation...forms a barrier against the enterprises of ambition.”%0a> %0a> “Are we at last brought to such a humiliating and debasing degradation, that we cannot be trusted with arms for our own defense? Where is the difference between having our arms in our possession and under our own direction, and having them under the management of Congress? If our defense be the real object of having those arms, in whose hands can they be trusted with more propriety, or equal safety to us, as in our own hands?”%0a> %0a> “None but an armed nation can dispense with a standing army.”%0a> %0a +host:1596345848=38.81.163.143 +author:1596345550=jrmu +diff:1596345550:1596345135:=20a21,37%0a> Advertisement - story continues below%0a> %0a> 4795007871%0a> Fisher Ames, of Massachusetts:%0a> %0a> “The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people.” — Letter to F.R. Minoe, June 12, 1789%0a> %0a> Advertisement - story continues below%0a> Elbridge Gerry, of Massachusetts:%0a> %0a> “What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins.” — Debate, U.S. House of Representatives, August 17, 1789%0a> %0a> PatrickHenry%0a> Patrick Henry, of Virginia:%0a> %0a> Advertisement - story continues below%0a> %0a29,36c46,106%0a%3c ->If the staff of a network betray their users, there is nothing left but the right to fork against the tyranny.%0a%3c %0a%3c ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who are familiar with the software, who stand ready to defend their own rights and those of their fellow-users.%0a%3c %0a%3c ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a%3c %0a%3c "As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms." — Federal Gazette, June 18, 1789%0a%3c %0a---%0a> “The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms.” – Samuel Adams, Massachusetts Ratifying Convention, 1788%0a> %0a> “What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty …. Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.” – Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a> %0a> “If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons entrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair.” – Alexander Hamilton, Federalist No. 28%0a> %0a> “[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist.” – Alexander Hamilton, Federalist No. 28, January 10, 1788%0a> %0a> To disarm the people…[i]s the most effectual way to enslave them.” – George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adoption of the Federal Constitution, June 14, 1788%0a> %0a> In light of the overwhelming evidence from the men who crafted the Declaration, wrote the Constitution, included the Bill of Rights, and led the United States during its first decades of existence it is abundantly clear to all but the very gullible (or those who would impose tyranny), that our founders wished us to be armed. They demanded we be armed. And in force, capability and training so as to thwart any infringement by a runaway government. Noah Webster, often considered the father of American Education and Scholarship wrote:%0a> %0a> “Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops.” – Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a> %0a> George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a> %0a> %0a> %0a> Thomas Jefferson of Virginia:%0a> %0a> "No free man shall ever be debarred the use of arms." — Proposed Virginia Constitution, 1776%0a> %0a> "Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man." — Jefferson's "Commonplace Book," 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a> %0a> George Mason of Virginia:%0a> %0a> "[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.". . . I ask, who are the militia? They consist now of the whole people, except a few public officers." — Virginia's U.S. Constitution ratification convention, 1788%0a> %0a> "That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state." — Within Mason`s declaration of "the essential and unalienable Rights of the People," — later adopted by the Virginia ratification convention, 1788%0a> %0a> %0a> %0a> Samuel Adams of Massachusetts:%0a> %0a> "The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms." — Massachusetts' U.S. Constitution ratification convention, 1788%0a> %0a> %0a> %0a> William Grayson of Virginia:%0a> %0a> "[A] string of amendments were presented to the lower House; these altogether respected personal liberty." — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a> %0a> %0a> %0a> Richard Henry Lee of Virginia:%0a> %0a> "A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms... The mind that aims at a select militia, must be influenced by a truly anti-republican principle." — Additional Letters From The Federal Farmer, 1788%0a> %0a> %0a> %0a> James Madison of Virginia:%0a> %0a> The Constitution preserves "the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms." — The Federalist, No. 46%0a> %0a> %0a> %0a> Tench Coxe of Pennsylvania:%0a> %0a> "The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them." — An American Citizen, Oct. 21, 1787%0a> %0a> "Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people." — The Pennsylvania Gazette, Feb. 20, 1788%0a +host:1596345550=38.81.163.143 +author:1596345135=jrmu +diff:1596345135:1596345135:=1,180d0%0a%3c “They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a%3c %0a%3c “The only maxim of a free government ought to be to trust no man living with power to endanger the public liberty.” ~ notes for an oration at Braintree, Spring 1772%0a%3c %0a%3c “In framing a government which is to be administered by men over men, the great difficulty lies in this: you must first enable the government to control the governed; and in the next place oblige it to control itself. A dependence on the people is, no doubt, the primary control on the government; but experience has taught mankind the necessity of auxiliary precautions.” ~ The Federalist No. 51, February 6, 1788%0a%3c %0a%3c “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments … forms a foorier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of. Notwithstanding the military establishments of the several kingdoms of Europe, the governments are afraid to trust the people with arms.” ~ The Federalist No. 46, January 29, 1788%0a%3c %0a%3c “The truth is, all might be free, if they valued freedom and defended it as they ought.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a%3c %0a%3c “The liberties of our Country, the freedom of our civil constitution are worth defending at all hazards: And it is our duty to defend them against all attacks. We have receiv’d them as a fair Inheritance from our worthy Ancestors: They purchas’d them for us with toil and danger and expence of treasure and blood; and transmitted them to us with care and diligence. It will bring an everlasting mark of infamy on the present generation, enlightened as it is, if we should suffer them to be wrested from us by violence without a struggle; or be cheated out of them by the artifices of false and designing men. Of the latter we are in most danger at present: Let us therefore be aware of it. Let us contemplate our forefathers and posterity; and resolve to maintain the rights bequeath’d to us from the former, for the sake of the latter—instead of sitting down satisfied with the efforts we have already made, which is the wish of our enemies, the necessity of the times, more than ever, calls for our utmost circumspection, deliberation, fortitude, and perseverance. Let us remember that ‘if we suffer tamely a lawless attack upon our liberty, we encourage it, and involve others in our doom.’ It is a very serious consideration, which should deeply impress our minds, that millions yet unborn may be the miserable sharers of the event.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a%3c %0a%3c “Among the natural rights of the Colonists are these: First, a right to life; Secondly, to liberty; Thirdly, to property; together with the right to support and defend them in the best manner they can. These are evident branches of, rather than deductions from, the duty of self-preservation, commonly called the first law of nature.” ~ The Rights of the Colonists, 1772%0a%3c %0a%3c %0a%3c “[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens.” — The Federalist, No. 29%0a%3c Thomas Paine, of Pennsylvania:%0a%3c %0a%3c “[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them.” — Thoughts On Defensive War, 1775%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c 4795007871%0a%3c Fisher Ames, of Massachusetts:%0a%3c %0a%3c “The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people.” — Letter to F.R. Minoe, June 12, 1789%0a%3c %0a%3c Advertisement - story continues below%0a%3c Elbridge Gerry, of Massachusetts:%0a%3c %0a%3c “What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins.” — Debate, U.S. House of Representatives, August 17, 1789%0a%3c %0a%3c PatrickHenry%0a%3c Patrick Henry, of Virginia:%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.” — Virginia`s U.S. Constitution ratification convention%0a%3c %0a%3c “I ask who are the militia? They consist now of the whole people, except a few public officers.” – George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a%3c %0a%3c “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of.” – James Madison, Federalist No. 46, January 29, 1788%0a%3c %0a%3c “The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country.” – James Madison, I Annals of Congress 434, June 8, 1789%0a%3c %0a%3c “The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms.” – Samuel Adams, Massachusetts Ratifying Convention, 1788%0a%3c %0a%3c “What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty …. Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.” – Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a%3c %0a%3c “If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons entrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair.” – Alexander Hamilton, Federalist No. 28%0a%3c %0a%3c “[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist.” – Alexander Hamilton, Federalist No. 28, January 10, 1788%0a%3c %0a%3c To disarm the people…[i]s the most effectual way to enslave them.” – George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adoption of the Federal Constitution, June 14, 1788%0a%3c %0a%3c In light of the overwhelming evidence from the men who crafted the Declaration, wrote the Constitution, included the Bill of Rights, and led the United States during its first decades of existence it is abundantly clear to all but the very gullible (or those who would impose tyranny), that our founders wished us to be armed. They demanded we be armed. And in force, capability and training so as to thwart any infringement by a runaway government. Noah Webster, often considered the father of American Education and Scholarship wrote:%0a%3c %0a%3c “Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops.” – Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a%3c %0a%3c George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a%3c %0a%3c %0a%3c %0a%3c Thomas Jefferson of Virginia:%0a%3c %0a%3c "No free man shall ever be debarred the use of arms." — Proposed Virginia Constitution, 1776%0a%3c %0a%3c "Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man." — Jefferson's "Commonplace Book," 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a%3c %0a%3c George Mason of Virginia:%0a%3c %0a%3c "[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.". . . I ask, who are the militia? They consist now of the whole people, except a few public officers." — Virginia's U.S. Constitution ratification convention, 1788%0a%3c %0a%3c "That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state." — Within Mason`s declaration of "the essential and unalienable Rights of the People," — later adopted by the Virginia ratification convention, 1788%0a%3c %0a%3c %0a%3c %0a%3c Samuel Adams of Massachusetts:%0a%3c %0a%3c "The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms." — Massachusetts' U.S. Constitution ratification convention, 1788%0a%3c %0a%3c %0a%3c %0a%3c William Grayson of Virginia:%0a%3c %0a%3c "[A] string of amendments were presented to the lower House; these altogether respected personal liberty." — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a%3c %0a%3c %0a%3c %0a%3c Richard Henry Lee of Virginia:%0a%3c %0a%3c "A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms... The mind that aims at a select militia, must be influenced by a truly anti-republican principle." — Additional Letters From The Federal Farmer, 1788%0a%3c %0a%3c %0a%3c %0a%3c James Madison of Virginia:%0a%3c %0a%3c The Constitution preserves "the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms." — The Federalist, No. 46%0a%3c %0a%3c %0a%3c %0a%3c Tench Coxe of Pennsylvania:%0a%3c %0a%3c "The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them." — An American Citizen, Oct. 21, 1787%0a%3c %0a%3c "Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people." — The Pennsylvania Gazette, Feb. 20, 1788%0a%3c %0a%3c "As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms." — Federal Gazette, June 18, 1789%0a%3c %0a%3c %0a%3c %0a%3c Noah Webster of Pennsylvania:%0a%3c %0a%3c "Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power." — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a%3c %0a%3c %0a%3c %0a%3c Alexander Hamilton of New York:%0a%3c %0a%3c "[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens." — The Federalist, No. 29%0a%3c %0a%3c %0a%3c %0a%3c Thomas Paine of Pennsylvania:%0a%3c %0a%3c "[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them." — Thoughts On Defensive War, 1775%0a%3c %0a%3c %0a%3c %0a%3c Fisher Ames of Massachusetts:%0a%3c %0a%3c "The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people." — Letter to F.R. Minoe, June 12, 1789%0a%3c %0a%3c %0a%3c %0a%3c Elbridge Gerry of Massachusetts:%0a%3c %0a%3c "What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins." — Debate, U.S. House of Representatives, August 17, 1789%0a%3c %0a%3c %0a%3c %0a%3c Patrick Henry of Virginia:%0a%3c %0a%3c "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel." — Virginia's U.S. Constitution ratification convention%0a%3c %0a%3c %0a%3c %0a%3c For more information, see Halbrook, Stephen P., "The Right of the People or the Power of the State: Bearing Arms, Arming Militias, and the Second Amendment," Valparaiso Univ. Law Review, Vol. 26, No. 1, Fall, 1991; and "That Every Man Be Armed: The Evolution of a Constitutional Right," Univ. of N.M. Press, 1984%0a%3c %0a%3c %0a%3c “O sir, we should have fine times, indeed, if, to punish tyrants, it were only sufficient to assemble the people! Your arms, wherewith you could defend yourselves, are gone; and you have no longer an aristrocratical, no longer a democratical spirit. Did you ever read of any revolution in a nation, brought about by the punishment of those in power, inflicted by those who had no power at all?”%0a%3c %0a%3c Founding Fathers Quotes on Guns and the Right to Keep and Bear Arms in the Second Amendment“A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.”%0a%3c %0a%3c “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom of Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States.”%0a%3c %0a%3c “There is nothing so likely to produce peace as to be well prepared to meet an enemy.”%0a%3c %0a%3c “Whenever governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.”%0a%3c %0a%3c “A people who would stand fast in their liberty, should furnish themselves with weapons proper for their defence, and learn the use of them. It is indeed an hard case, that those who are happy in the blessings of providence, and disposed to live peaceably with all men, should be obliged to keep up the idea of blood and slaughter, and expend their time and treasure to acquire the arts and instruments of death. But this is a necessity which the depravity of human nature has laid upon every state. Nor was there ever a people that continued, for any considerable time, in the enjoyment of liberty, who were not in a capacity to defend themselves against invaders, unless they were too poor and inconsiderable to tempt an enemy.”%0a%3c %0a%3c “For a people who are free, and who mean to remain so, a well-organized and armed militia is their best security.”%0a%3c %0a%3c “Men are also bound, individuals and societies, to take care of their temporal happiness, and do all they lawfully can, to promote it. But what can be more inconsistent with this duty, than submitting to great encroachments upon our liberty? Such submission tends to slavery; and compleat slavery implies every evil that the malice of man and devils can inflict.”%0a%3c %0a%3c “Always remember that an armed and trained militia is the firmest bulwark of republics – that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a%3c %0a%3c “In a general view there are very few conquests that repay the charge of making them, and mankind are pretty well convinced that it can never be worth their while to go to war for profit sake. If they are made war upon, their country invaded, or their existence at stake, it is their duty to defend and preserve themselves, but in every other light and from every other cause is war inglorious and detestable.”%0a%3c %0a%3c “The ultimate authority...resides in the people alone...The advantage of being armed, which the Americans possess over the people of almost every other nation...forms a barrier against the enterprises of ambition.”%0a%3c %0a%3c “Are we at last brought to such a humiliating and debasing degradation, that we cannot be trusted with arms for our own defense? Where is the difference between having our arms in our possession and under our own direction, and having them under the management of Congress? If our defense be the real object of having those arms, in whose hands can they be trusted with more propriety, or equal safety to us, as in our own hands?”%0a%3c %0a%3c “None but an armed nation can dispense with a standing army.”%0a%3c %0a%3c %0a%3c “The Constitutions of most of our states assert that all power is inherent in the people; that they may exercise it by themselves, in all cases to which they think themselves competent, (as in electing their functionaries executive and legislative, and deciding by a jury of themselves, both fact and law, in all judiciary cases in which any fact is involved) or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person; freedom of religion; freedom of property; and freedom of the press.”%0a%3c %0a%3c “I would rather be exposed to the inconveniences attending too much liberty than to those attending too small a degree of it.” ~ letter to Archibald Stuart, Philadelphia, December 23, 1791 (Technically, this quote is not referring directly to the second amendment, but rather refers to the writing of the constitution. We included it because it is concerns the amount of control the government should have.)%0a +host:1596345135=38.81.163.143 blob - /dev/null blob + 3c927cac8c6db90aee56a986e8eb98964b6c60dc (mode 644) --- /dev/null +++ wiki.d/Freedom.Christian @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596428668 +host=198.251.81.119 +name=Freedom.Christian +rev=16 +targets= +text=(:title Religious Liberty:)%0a%0a->In God We Trust. One Network Under God.%0a%0a->Righteousness exalts a network, but sin is a disgrace to any community.%0a%0a->Virtue is necessary to support a network run by the users.%0a%0a->Religion and morality are the essential pillars of virtual society.%0a%0a->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a%0a->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a%0a->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a%0a->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a%0aIRCNow guarantees the free exercise of religion at a network level. +time=1607389969 +title=Religious Liberty +author:1607389969=jrmu +diff:1607389969:1607389959:=17c17%0a%3c ->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a---%0a> -->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a +host:1607389969=198.251.81.119 +author:1607389959=jrmu +diff:1607389959:1607074018:=17,19c17%0a%3c -->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a%3c %0a%3c IRCNow guarantees the free exercise of religion at a network level.%0a\ No newline at end of file%0a---%0a> IRCNow guarantees no censorship of the free exercise of religion at a network level.%0a\ No newline at end of file%0a +host:1607389959=198.251.81.119 +author:1607074018=jrmu +diff:1607074018:1606883856:=1c1%0a%3c (:title Religious Liberty:)%0a---%0a> (:title Christian Liberty:)%0a +host:1607074018=198.251.81.119 +author:1606883856=jrmu +diff:1606883856:1597048979:=7,8c7,8%0a%3c ->Virtue is necessary to support a network run by the users.%0a%3c %0a---%0a> ->Virtue is the necessary support of popular government.%0a> %0a17c17%0a%3c IRCNow guarantees no censorship of the free exercise of religion at a network level.%0a\ No newline at end of file%0a---%0a> IRCNow guarantees that the sound preaching and studying of the Bible will not be censored.%0a\ No newline at end of file%0a +host:1606883856=125.224.25.38 +author:1597048979=jrmu +diff:1597048979:1597048902:=15,17c15%0a%3c ->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a%3c %0a%3c IRCNow guarantees that the sound preaching and studying of the Bible will not be censored.%0a\ No newline at end of file%0a---%0a> ->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a\ No newline at end of file%0a +host:1597048979=38.81.163.143 +author:1597048902=jrmu +diff:1597048902:1597022785:=3,4c3,6%0a%3c ->In God We Trust. One Network Under God.%0a%3c %0a---%0a> ->In God We Trust%0a> %0a> ->One Network Under God%0a> %0a9c11%0a%3c ->Religion and morality are the essential pillars of virtual society.%0a---%0a> ->Religion and morality are the essential pillars of digital society.%0a +host:1597048902=38.81.163.143 +author:1597022785=jrmu +diff:1597022785:1597022678:=15,17c15%0a%3c ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a%3c %0a%3c ->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a\ No newline at end of file%0a---%0a> ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a\ No newline at end of file%0a +host:1597022785=38.81.163.143 +author:1597022678=jrmu +diff:1597022678:1597022643:=15d14%0a%3c ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a\ No newline at end of file%0a +host:1597022678=38.81.163.143 +author:1597022643=jrmu +diff:1597022643:1596448635:=10,11d9%0a%3c %0a%3c ->Religion and morality are the essential pillars of digital society.%0a +host:1597022643=38.81.163.143 +author:1596448635=jrmu +diff:1596448635:1596448614:=3c3%0a%3c ->In God We Trust%0a---%0a> ->In God We Trust.%0a +host:1596448635=38.81.163.143 +author:1596448614=jrmu +diff:1596448614:1596433460:=1,6d0%0a%3c (:title Christian Liberty:)%0a%3c %0a%3c ->In God We Trust.%0a%3c %0a%3c ->One Network Under God%0a%3c %0a11,12c5%0a%3c ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a%3c %0a---%0a> ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a\ No newline at end of file%0a +host:1596448614=38.81.163.143 +author:1596433460=jrmu +diff:1596433460:1596433388:=5c5%0a%3c ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a\ No newline at end of file%0a---%0a> ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a network without the fear of God must fall to pieces.%0a\ No newline at end of file%0a +host:1596433460=38.81.163.143 +author:1596433388=jrmu +diff:1596433388:1596433368:=5c5%0a%3c ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a network without the fear of God must fall to pieces.%0a\ No newline at end of file%0a---%0a> ->The observance of religion is the cause of the greatness of a network, so its neglect is the occasion of its decline; since a network without the fear of God must fall to pieces.%0a\ No newline at end of file%0a +host:1596433388=38.81.163.143 +author:1596433368=jrmu +diff:1596433368:1596429016:=3,5c3%0a%3c ->Virtue is the necessary support of popular government.%0a%3c %0a%3c ->The observance of religion is the cause of the greatness of a network, so its neglect is the occasion of its decline; since a network without the fear of God must fall to pieces.%0a\ No newline at end of file%0a---%0a> ->Virtue is the necessary support of popular government.%0a\ No newline at end of file%0a +host:1596433368=38.81.163.143 +author:1596429016=jrmu +diff:1596429016:1596428668:=2,3d1%0a%3c %0a%3c ->Virtue is the necessary support of popular government.%0a\ No newline at end of file%0a +host:1596429016=38.81.163.143 +author:1596428668=jrmu +diff:1596428668:1596428668:=1d0%0a%3c ->Righteousness exalts a network, but sin is a disgrace to any community.%0a +host:1596428668=38.81.163.143 blob - /dev/null blob + 36d819381d2ebaaf261c31d1574514c61ea53a06 (mode 644) --- /dev/null +++ wiki.d/Freedom.Denomination @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597023658 +host=125.224.28.18 +name=Freedom.Denomination +rev=9 +targets= +text=(:title No Official Religion:)%0a%0a-->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a%0a-->An official denomination would result in subversion of network stability, leading directly to the worst anarchy, confusion, and discord.%0a%0a-->Congress should not enforce the observation of religion by law%0a%0aIRCNow does not require users to be members of any religion or to hold any political belief. +time=1603444821 +title=No Official Religion +author:1603444821=jrmu +diff:1603444821:1603444801:=1c1%0a%3c (:title No Official Religion:)%0a---%0a> (:title No Official Religion or Politics:)%0a +host:1603444821=125.224.28.18 +author:1603444801=jrmu +diff:1603444801:1602898054:=1c1%0a%3c (:title No Official Religion or Politics:)%0a---%0a> (:title No Official Denomination:)%0a +host:1603444801=125.224.28.18 +author:1602898054=jrmu +diff:1602898054:1597049664:=9c9%0a%3c IRCNow does not require users to be members of any religion or to hold any political belief.%0a\ No newline at end of file%0a---%0a> IRCNow does not require users to be members of any religion or to hold any political belief. We only ask that users do not use the network to promote actions and beliefs that are directly contrary to our terms of service.%0a\ No newline at end of file%0a +host:1602898054=125.231.17.204 +author:1597049664=jrmu +diff:1597049664:1597049089:=7,9c7%0a%3c -->Congress should not enforce the observation of religion by law%0a%3c %0a%3c IRCNow does not require users to be members of any religion or to hold any political belief. We only ask that users do not use the network to promote actions and beliefs that are directly contrary to our terms of service. %0a\ No newline at end of file%0a---%0a> -->Congress should not enforce the observation of religion by law%0a\ No newline at end of file%0a +host:1597049664=38.81.163.143 +author:1597049089=jrmu +diff:1597049089:1597023790:=7c7%0a%3c -->Congress should not enforce the observation of religion by law%0a\ No newline at end of file%0a---%0a> -->Congress should not enforce the observation of religion by law, nor compel anyone to worship God in any manner contrary to their conscience.%0a\ No newline at end of file%0a +host:1597049089=38.81.163.143 +author:1597023790=jrmu +diff:1597023790:1597023743:=1,2d0%0a%3c (:title No Official Denomination:)%0a%3c %0a +host:1597023790=38.81.163.143 +author:1597023743=jrmu +diff:1597023743:1597023729:=5c5%0a%3c -->Congress should not enforce the observation of religion by law, nor compel anyone to worship God in any manner contrary to their conscience.%0a\ No newline at end of file%0a---%0a> -->Congress should not enforce the observation of religion by law, nor compel anyone to worship God in any Manner contrary to their conscience.%0a\ No newline at end of file%0a +host:1597023743=38.81.163.143 +author:1597023729=jrmu +diff:1597023729:1597023658:=1c1%0a%3c -->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction and not by force or violence.%0a---%0a> -->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction%0a +host:1597023729=38.81.163.143 +author:1597023658=jrmu +diff:1597023658:1597023658:=1,5d0%0a%3c -->Religion, or the duty which we owe to our Creator, must be directed by reason and conviction%0a%3c %0a%3c -->An official denomination would result in subversion of network stability, leading directly to the worst anarchy, confusion, and discord.%0a%3c %0a%3c -->Congress should not enforce the observation of religion by law, nor compel anyone to worship God in any Manner contrary to their conscience.%0a\ No newline at end of file%0a +host:1597023658=38.81.163.143 blob - /dev/null blob + e2d86fa3a3b5023e3f84252fd9d2b611dbc1a6ad (mode 644) --- /dev/null +++ wiki.d/Freedom.Destiny @@ -0,0 +1,93 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1623991078 +host=198.251.81.119 +name=Freedom.Destiny +rev=27 +targets= +text=the first new network%0a%0anetwork exceptionalism%0a%0afreedom of the press%0afreedom of worship%0amother of exiles, everyone is welcome%0aequal opportunity for all%0aequality before the rules%0ado it yourself attitude%0awe govern ourselves%0alimited government%0aright to source code%0ahighly educated users%0ayou own your work%0athe startup dream%0athe land of opportunity%0a%0aproud to be a netizen%0a%0aa beacon of liberty to the internet%0a%0aWe have it in our power to begin the internet over again. The birthday of a global network is at hand...%0a%0athe last best hope of the internet +time=1623994300 +author:1623994300=jrmu +diff:1623994300:1623994182:=22,23d21%0a%3c %0a%3c We have it in our power to begin the internet over again. The birthday of a global network is at hand...%0a +host:1623994300=198.251.81.119 +author:1623994182=jrmu +diff:1623994182:1623994121:=21a22,23%0a> %0a> it is our destiny to take over the protocol of IRC%0a +host:1623994182=198.251.81.119 +author:1623994121=jrmu +diff:1623994121:1623994101:=23c23%0a%3c it is our destiny to take over the protocol of IRC%0a---%0a> it is our manifest destiny to take over the protocol of IRC%0a +host:1623994121=198.251.81.119 +author:1623994101=jrmu +diff:1623994101:1623993153:=22,23d21%0a%3c %0a%3c it is our manifest destiny to take over the protocol of IRC%0a +host:1623994101=198.251.81.119 +author:1623993153=jrmu +diff:1623993153:1623993142:= +host:1623993153=198.251.81.119 +author:1623993142=jrmu +diff:1623993142:1623993084:=17d16%0a%3c the land of opportunity%0a +host:1623993142=198.251.81.119 +author:1623993084=jrmu +diff:1623993084:1623992606:=16d15%0a%3c the startup dream%0a +host:1623993084=198.251.81.119 +author:1623992606=jrmu +diff:1623992606:1623992427:=19,21c19%0a%3c a beacon of liberty to the internet%0a%3c %0a%3c the last best hope of the internet%0a\ No newline at end of file%0a---%0a> a beacon of liberty to the internet%0a\ No newline at end of file%0a +host:1623992606=198.251.81.119 +author:1623992427=jrmu +diff:1623992427:1623992404:=15c15,16%0a%3c you own your work%0a---%0a> %0a> you own your work, not us%0a +host:1623992427=198.251.81.119 +author:1623992404=jrmu +diff:1623992404:1623992330:=15,16d14%0a%3c %0a%3c you own your work, not us%0a +host:1623992404=198.251.81.119 +author:1623992330=jrmu +diff:1623992330:1623992315:=14c14%0a%3c highly educated users%0a---%0a> highly trained and educated users%0a +host:1623992330=198.251.81.119 +author:1623992315=jrmu +diff:1623992315:1623992286:=10,11c10,11%0a%3c do it yourself attitude%0a%3c we govern ourselves%0a---%0a> rugged individualism%0a> self governance -- republicanism%0a +host:1623992315=198.251.81.119 +author:1623992286=jrmu +diff:1623992286:1623992273:=9c9%0a%3c equality before the rules%0a---%0a> equality before the terms of service%0a +host:1623992286=198.251.81.119 +author:1623992273=jrmu +diff:1623992273:1623992260:=5c5%0a%3c freedom of the press%0a---%0a> political and intellectual liberty%0a +host:1623992273=198.251.81.119 +author:1623992260=jrmu +diff:1623992260:1623992159:=6c6%0a%3c freedom of worship%0a---%0a> religious freedom%0a +host:1623992260=198.251.81.119 +author:1623992159=jrmu +diff:1623992159:1623991891:=7c7%0a%3c mother of exiles, everyone is welcome%0a---%0a> mother of exiles, netizenship for immigrants%0a +host:1623992159=198.251.81.119 +author:1623991891=jrmu +diff:1623991891:1623991775:=2,3d1%0a%3c %0a%3c network exceptionalism%0a +host:1623991891=198.251.81.119 +author:1623991775=jrmu +diff:1623991775:1623991766:=9c9%0a%3c self governance -- republicanism%0a---%0a> self governance -- representative democracy%0a +host:1623991775=198.251.81.119 +author:1623991766=jrmu +diff:1623991766:1623991753:=9c9%0a%3c self governance -- representative democracy%0a---%0a> self governance%0a +host:1623991766=198.251.81.119 +author:1623991753=jrmu +diff:1623991753:1623991687:=9c9%0a%3c self governance%0a---%0a> republicanism with representative democracy%0a +host:1623991753=198.251.81.119 +author:1623991687=jrmu +diff:1623991687:1623991530:=6d5%0a%3c equal opportunity for all%0a +host:1623991687=198.251.81.119 +author:1623991530=jrmu +diff:1623991530:1623991492:=12,13d11%0a%3c %0a%3c proud to be a netizen%0a +host:1623991530=198.251.81.119 +author:1623991492=jrmu +diff:1623991492:1623991421:=3c3%0a%3c political and intellectual liberty%0a---%0a> liberty%0a5c5,6%0a%3c mother of exiles, netizenship for immigrants%0a---%0a> mother of exiles%0a> netizenship%0a8c9,10%0a%3c republicanism with representative democracy%0a---%0a> republicanism%0a> representative democracy%0a +host:1623991492=198.251.81.119 +author:1623991421=jrmu +diff:1623991421:1623991293:=6d5%0a%3c netizenship%0a13,15c12%0a%3c highly trained and educated users%0a%3c %0a%3c a beacon of liberty to the internet%0a\ No newline at end of file%0a---%0a> highly trained and educated users%0a\ No newline at end of file%0a +host:1623991421=198.251.81.119 +author:1623991293=jrmu +diff:1623991293:1623991276:=10,12c10%0a%3c limited government%0a%3c right to source code%0a%3c highly trained and educated users%0a\ No newline at end of file%0a---%0a> limited government%0a\ No newline at end of file%0a +host:1623991293=198.251.81.119 +author:1623991276=jrmu +diff:1623991276:1623991078:=4,5d3%0a%3c religious freedom%0a%3c mother of exiles%0a7c5%0a%3c rugged individualism%0a---%0a> individual responsibility%0a +host:1623991276=198.251.81.119 +author:1623991078=jrmu +diff:1623991078:1623991078:=1,8d0%0a%3c the first new network%0a%3c %0a%3c liberty%0a%3c equality before the terms of service%0a%3c individual responsibility%0a%3c republicanism%0a%3c representative democracy%0a%3c limited government%0a\ No newline at end of file%0a +host:1623991078=198.251.81.119 blob - /dev/null blob + 821ae31bc3c16b361cfc4203c812ec2f509d0bb9 (mode 644) --- /dev/null +++ wiki.d/Freedom.Dueprocess @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612614324 +host=198.251.81.119 +name=Freedom.Dueprocess +rev=1 +targets= +text=(:title Due Process:)%0a%0a->No user can be banned without a fair trial except during times of great danger; no user can be punished for the same reason twice; nor will a user be required to be a witness against himself; nor can a user be deprived of an account without a fair trial.%0a%0a->Accused users shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a%0a->Punishment must fit the abuse and must not be excessive or cruel. +time=1612614324 +title=Due Process +author:1612614324=jrmu +diff:1612614324:1612614324:=1,7d0%0a%3c (:title Due Process:)%0a%3c %0a%3c ->No user can be banned without a fair trial except during times of great danger; no user can be punished for the same reason twice; nor will a user be required to be a witness against himself; nor can a user be deprived of an account without a fair trial.%0a%3c %0a%3c ->Accused users shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a%3c %0a%3c ->Punishment must fit the abuse and must not be excessive or cruel. %0a\ No newline at end of file%0a +host:1612614324=198.251.81.119 blob - /dev/null blob + 6a3876712687e380e176309a7fa9899b030b83a6 (mode 644) --- /dev/null +++ wiki.d/Freedom.Education,del-1597052999 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597044628 +host=38.81.163.143 +name=Freedom.Education +rev=1 +targets= +text=%0a“If virtue and knowledge are diffused among the People, they will never be enslav'd. This will be their great Security.”%0a%0a“I consider knowledge to be the soul of a republic, and as the weak and the wicked are generally in alliance, as much care should be taken to diminish the number of the former as of the latter. Education is the way to do this, and nothing should be left undone to afford all ranks of people the means of obtaining a proper degree of it at a cheap and easy rate.”%0a%0a“Children should be educated and instructed in the principles of freedom.”%0a%0a%0a“It is favourable to liberty. Freedom can exist only in the society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.” +time=1597044628 +author:1597044628=jrmu +diff:1597044628:1597044628:=1,9d0%0a%3c %0a%3c “If virtue and knowledge are diffused among the People, they will never be enslav'd. This will be their great Security.”%0a%3c %0a%3c “I consider knowledge to be the soul of a republic, and as the weak and the wicked are generally in alliance, as much care should be taken to diminish the number of the former as of the latter. Education is the way to do this, and nothing should be left undone to afford all ranks of people the means of obtaining a proper degree of it at a cheap and easy rate.”%0a%3c %0a%3c “Children should be educated and instructed in the principles of freedom.”%0a%3c %0a%3c %0a%3c “It is favourable to liberty. Freedom can exist only in the society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.”%0a\ No newline at end of file%0a +host:1597044628=38.81.163.143 blob - /dev/null blob + 093db73f475a1a2933447aaa446b62a60394ccfa (mode 644) --- /dev/null +++ wiki.d/Freedom.Equalaccess,del-1597052827 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596258706 +host=38.81.163.143 +name=Freedom.Equalaccess +rev=1 +targets= +text=Closed, proprietary software is often very expensive. Buying a legal copy of Microsoft Windows, for example, can easily cost your monthly salary in a poorer country. Buying a legal Mac is something only the rich can afford. Basic tools that we need for work, like our operating system, photo editors, word processors, and movie editors often cost more than what average people in poor countries can afford. It forces them into poverty and often theft, and proprietary software puts them at a serious disadvantage.%0a%0aEven when users can afford these services, they are denied access to study, modify, and share that information. As a result, any new work they produce will become part of the property of that company rather than helping the rest of society as a whole. All this does is reinforce their monopoly and control over the disadvantaged.%0a%0aPolitical factors can also make it impossible for users to use internet services. For example, users living in countries embargoed by the USA are often unable to use American internet services. With a free network, it is possible to continue to legally provide these services to users who would otherwise have no internet access. +time=1596258706 +author:1596258706=jrmu +diff:1596258706:1596258706:=1,5d0%0a%3c Closed, proprietary software is often very expensive. Buying a legal copy of Microsoft Windows, for example, can easily cost your monthly salary in a poorer country. Buying a legal Mac is something only the rich can afford. Basic tools that we need for work, like our operating system, photo editors, word processors, and movie editors often cost more than what average people in poor countries can afford. It forces them into poverty and often theft, and proprietary software puts them at a serious disadvantage.%0a%3c %0a%3c Even when users can afford these services, they are denied access to study, modify, and share that information. As a result, any new work they produce will become part of the property of that company rather than helping the rest of society as a whole. All this does is reinforce their monopoly and control over the disadvantaged.%0a%3c %0a%3c Political factors can also make it impossible for users to use internet services. For example, users living in countries embargoed by the USA are often unable to use American internet services. With a free network, it is possible to continue to legally provide these services to users who would otherwise have no internet access.%0a\ No newline at end of file%0a +host:1596258706=38.81.163.143 blob - /dev/null blob + 35ef74717b35ef48194cd2e800df854bf9ba3f7c (mode 644) --- /dev/null +++ wiki.d/Freedom.Experiment @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597365998 +host=38.81.163.143 +name=Freedom.Experiment +rev=1 +targets= +text=08:42 %3c jrmu> The reason I gathered everyone here in #council is because my vision for %0a IRCNow is to make it a network where the users have control, a network of %0a the user, by the user, for the user%0a08:42 %3c jrmu> I consider this network an experiment in self government. But as we all %0a know, democracies are full of chaos and anarchy, and many democratic %0a experiments end up in total failure%0a08:43 %3c jrmu> Now I have spent quite a lot of time studying the history of different %0a political forms from many nations, and my conclusion is that the best %0a models for us are Rome and America, those two being the largest and %0a strongest republicans in history%0a08:43 %3c jrmu> republics*%0a08:44 %3c jrmu> If we succeed here, we will have created the first digital self-governing %0a community of users -- I am not aware of any other that exists in this %0a world%0a +time=1597365998 +author:1597365998=jrmu +diff:1597365998:1597365998:=1,14d0%0a%3c 08:42 %3c jrmu> The reason I gathered everyone here in #council is because my vision for %0a%3c IRCNow is to make it a network where the users have control, a network of %0a%3c the user, by the user, for the user%0a%3c 08:42 %3c jrmu> I consider this network an experiment in self government. But as we all %0a%3c know, democracies are full of chaos and anarchy, and many democratic %0a%3c experiments end up in total failure%0a%3c 08:43 %3c jrmu> Now I have spent quite a lot of time studying the history of different %0a%3c political forms from many nations, and my conclusion is that the best %0a%3c models for us are Rome and America, those two being the largest and %0a%3c strongest republicans in history%0a%3c 08:43 %3c jrmu> republics*%0a%3c 08:44 %3c jrmu> If we succeed here, we will have created the first digital self-governing %0a%3c community of users -- I am not aware of any other that exists in this %0a%3c world%0a +host:1597365998=38.81.163.143 blob - /dev/null blob + 5f55e933731a6a272e5015575146ffba86f46cb1 (mode 644) --- /dev/null +++ wiki.d/Freedom.Federation @@ -0,0 +1,57 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596457093 +host=198.251.81.119 +name=Freedom.Federation +rev=15 +targets=Servers.Rights,Ircnow.Constitution +text=%25width=300px rfloat%25 Attach:Marketing/unitedweserve.jpg%0a%0a->Networks are strongest where every user feels himself a part.%0a%0a->To have fair staff, do not to trust all power to one person; but divide it among many.%0a%0a->Thirteen independent servers, one united network with one user community and one common desire for freedom. By their joint effort, they have established a network of liberty.%0a%0aIRCNow is a federation of self-governing servers. Each server provides its own services, has its own staff, writes its own policies, and manages its own money. [[servers/rights|Each server governs itself]]. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a%0aIn the future, each server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. This network exists for the public interest, to promote liberty and justice on the Internet. +time=1612611873 +author:1612611873=jrmu +diff:1612611873:1612611864:=1c1%0a%3c %25width=300px rfloat%25 Attach:Marketing/unitedweserve.jpg%0a---%0a> %25width=300px rfloat%25 Attach:unitedweserve.jpg%0a +host:1612611873=198.251.81.119 +author:1612611864=jrmu +diff:1612611864:1612611156:=1,2d0%0a%3c %25width=300px rfloat%25 Attach:unitedweserve.jpg%0a%3c %0a +host:1612611864=198.251.81.119 +author:1612611156=jrmu +diff:1612611156:1612611103:=5c5%0a%3c ->Thirteen independent servers, one united network with one user community and one common desire for freedom. By their joint effort, they have established a network of liberty.%0a---%0a> ->Thirteen independent servers, one united network with one user community, attached to the same desire for freedom. By their joint effort, they have established a network of liberty.%0a +host:1612611156=198.251.81.119 +author:1612611103=jrmu +diff:1612611103:1612611090:= +host:1612611103=198.251.81.119 +author:1612611090=jrmu +diff:1612611090:1612610968:=4,5d3%0a%3c %0a%3c ->Thirteen independent servers, one united network with one user community, attached to the same desire for freedom. By their joint effort, they have established a network of liberty.%0a +host:1612611090=198.251.81.119 +author:1612610968=jrmu +diff:1612610968:1612525417:= +host:1612610968=198.251.81.119 +author:1612525417=jrmu +diff:1612525417:1612450615:=5c5%0a%3c IRCNow is a federation of self-governing servers. Each server provides its own services, has its own staff, writes its own policies, and manages its own money. [[servers/rights|Each server governs itself]]. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a---%0a> IRCNow is a federation of self-governing servers. Each server provides its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a +host:1612525417=198.251.81.119 +author:1612450615=jrmu +diff:1612450615:1612450003:=5,7c5,17%0a%3c IRCNow is a federation of self-governing servers. Each server provides its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a%3c %0a%3c In the future, each server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. This network exists for the public interest, to promote liberty and justice on the Internet.%0a\ No newline at end of file%0a---%0a> IRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a> %0a> IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a> %0a> In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a> %0a> IRCNow is a free network: of the users, by the users, for the users.%0a> %0a> Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a> %0a> Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a> %0a> We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1612450615=198.251.81.119 +author:1612450003=jrmu +diff:1612450003:1606886901:=0a1,2%0a> ->We hold these truths to be self-evident, that all users are created equal. That network staff are chosen and obtain just powers from the consent of their users. That whenever the network betrays its duties, it is the right of the users to fork and create a new one.%0a> %0a11,17c13%0a%3c IRCNow is a free network: of the users, by the users, for the users.%0a%3c %0a%3c Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a%3c Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%3c %0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a---%0a> IRCNow is a free network: of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1612450003=198.251.81.119 +author:1606886901=jrmu +diff:1606886901:1597053099:=1,2c1,2%0a%3c ->We hold these truths to be self-evident, that all users are created equal. That network staff are chosen and obtain just powers from the consent of their users. That whenever the network betrays its duties, it is the right of the users to fork and create a new one.%0a%3c %0a---%0a> ->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a> %0a5c5%0a%3c ->To have fair staff, do not to trust all power to one person; but divide it among many.%0a---%0a> ->To have fair staff, do not to trust it all to one; but divide it among the many.%0a +host:1606886901=198.251.81.119 +author:1597053099=jrmu +diff:1597053099:1597053081:=3a4,5%0a> %0a> ->The happiness of the users is the only goal of a network's staff, so the consent of the people is the only foundation of it.%0a +host:1597053099=38.81.163.143 +author:1597053081=jrmu +diff:1597053081:1597046866:=2,7d1%0a%3c %0a%3c ->Networks are strongest where every user feels himself a part.%0a%3c %0a%3c ->The happiness of the users is the only goal of a network's staff, so the consent of the people is the only foundation of it.%0a%3c %0a%3c ->To have fair staff, do not to trust it all to one; but divide it among the many.%0a +host:1597053081=38.81.163.143 +author:1597046866=jrmu +diff:1597046866:1597046844:=9c9%0a%3c IRCNow is a free network: of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1597046866=38.81.163.143 +author:1597046844=jrmu +diff:1597046844:1596457093:=3,7c3,7%0a%3c IRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a---%0a> Most Internet platforms today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company. Increasingly, platforms are now censoring Christian users. IRCNow tries to fix that by creating an open and free network.%0a> %0a> IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common infrastructure and the common defense.%0a> %0a> In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of much authority to self-governing servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a +host:1597046844=38.81.163.143 +author:1596457093=jrmu +diff:1596457093:1596457093:=1,9d0%0a%3c ->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a%3c %0a%3c Most Internet platforms today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company. Increasingly, platforms are now censoring Christian users. IRCNow tries to fix that by creating an open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common infrastructure and the common defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of much authority to self-governing servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a%3c %0a%3c IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1596457093=38.81.163.143 blob - /dev/null blob + 5ad20b3e7541f2ccc9a2f13459e5bf4b98ae6e3a (mode 644) --- /dev/null +++ wiki.d/Freedom.Finances @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607389463 +host=198.251.81.119 +name=Freedom.Finances +rev=1 +targets= +text=Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%0aEach team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%0aWe do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough. +time=1607389463 +author:1607389463=jrmu +diff:1607389463:1607389463:=1,5d0%0a%3c Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a%3c Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%3c %0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1607389463=198.251.81.119 blob - /dev/null blob + 24f30ad31ae363907a70a2a800fda3614dd922fa (mode 644) --- /dev/null +++ wiki.d/Freedom.Firstamendment @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1612506055 +host=198.251.84.158 +name=Freedom.Firstamendment +rev=5 +targets= +text=(:redirect Freedom.Press:)%0a(:title First Amendment with Servers' Rights:)%0a%0a%25width=100pct rfloat%25 Attach:Marketing/press.png%0a%0a-> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aIRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Uncensored debate is necessary to allow free users to make their own policy decisions.%0a%0aThe first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a +time=1624707952 +title=First Amendment with Servers' Rights +author:1624707952=jrmu +diff:1624707952:1612506459:=1d0%0a%3c (:redirect Freedom.Press:)%0a10c9%0a%3c The first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a---%0a> The first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a\ No newline at end of file%0a +host:1624707952=198.251.84.158 +author:1612506459=jrmu +diff:1612506459:1612506337:=9c9%0a%3c The first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a\ No newline at end of file%0a---%0a> Each individual server, however, retains the right to set their own terms of service and their own censorship policy. For example, local servers may censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a\ No newline at end of file%0a +host:1612506459=198.251.81.119 +author:1612506337=jrmu +diff:1612506337:1612506309:=9c9%0a%3c Each individual server, however, retains the right to set their own terms of service and their own censorship policy. For example, local servers may censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a\ No newline at end of file%0a---%0a> Each individual server, however, retains the right to set their own terms of service and their own censorship policy. For example, local servers may censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a\ No newline at end of file%0a +host:1612506337=198.251.81.119 +author:1612506309=jrmu +diff:1612506309:1612506055:=4a5,8%0a> IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a> %0a> Our digital bill of rights state:%0a> %0a7,9c11,17%0a%3c IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Uncensored debate is necessary to allow free users to make their own policy decisions.%0a%3c %0a%3c Each individual server, however, retains the right to set their own terms of service and their own censorship policy. For example, local servers may censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a\ No newline at end of file%0a---%0a> Because IRCNow's congress cannot censor network wide, there is no "official" censorship policy.%0a> %0a> Each individual server, however, retains the right to censor content. This is necessary for legal compliance. For example, in many countries, violent threats are illegal, as is copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a> %0a> In other words, on IRCNow, there is a first amendment with servers' rights.%0a> %0a> IRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship.%0a\ No newline at end of file%0a +host:1612506309=198.251.81.119 +author:1612506055=jrmu +diff:1612506055:1612506055:=1,17d0%0a%3c (:title First Amendment with Servers' Rights:)%0a%3c %0a%3c %25width=100pct rfloat%25 Attach:Marketing/press.png%0a%3c %0a%3c IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a%3c %0a%3c Our digital bill of rights state:%0a%3c %0a%3c -> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c Because IRCNow's congress cannot censor network wide, there is no "official" censorship policy.%0a%3c %0a%3c Each individual server, however, retains the right to censor content. This is necessary for legal compliance. For example, in many countries, violent threats are illegal, as is copyright infringement. IRCNow also welcomes users of all ages and so the network does not allow pornography.%0a%3c %0a%3c In other words, on IRCNow, there is a first amendment with servers' rights.%0a%3c %0a%3c IRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship.%0a\ No newline at end of file%0a +host:1612506055=198.251.81.119 blob - /dev/null blob + 4ab61e902a2d3a53d522d27118050ad8eacadce8 (mode 644) --- /dev/null +++ wiki.d/Freedom.Fork @@ -0,0 +1,163 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596339550 +host=198.251.81.119 +name=Freedom.Fork +rev=50 +targets=Freedom.Software,Freedom.Selfadmin,Freedom.Unix,Freedom.Educate +text=(:title Freedom to Fork:)%0a%0a%25width=200px rfloat%25 Attach:Marketing/comeandtakeit.png%0a%0a->When an online platform abuses and exploits its users, it is the users' right and duty to quit and create a new one.%0a%0a->To preserve our liberties, staff have to be warned from time to time that their users have the power to fork.%0a%0a->Unfair rules cannot be forced on a free network when all the users are trained and have access to the software.%0a%0aMost online communities abuse and exploit their users. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a%0aTo guard against network tyranny, we ensure that users always have the power to fork. IRCNow guarantees every user [[freedom/software|the right to the source code]]. Users [[freedom/selfadmin|self-admin]] the network. Our code follows [[freedom/unix|the UNIX philosophy]] so that normal users can quickly understand and work on the code. We [[freedom/educate|educate our users]] so that the power of the code rests with the users and not merely in the hands of a few elites.%0a%0aFor this reason, IRCNow rejects the use of any proprietary software and vendor lock-in. Proprietary software and vendor lock-in restricts the users' ability to fork the project. We require network software to function using only open protocols and standards. IRCNow allows interoperability with proprietary protocols, but we never require them.%0a%0aIRCNow is focused on making every component of our infrastructure easy for anyone to self host on your own hardware. If the network staff ever abuses their power, the users always retain the freedom to fork. +time=1612449565 +title=Freedom to Fork +author:1612449565=jrmu +diff:1612449565:1612449531:=11c11%0a%3c Most online communities abuse and exploit their users. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a---%0a> Most online communities abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; and practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a +host:1612449565=198.251.81.119 +author:1612449531=jrmu +diff:1612449531:1612449122:=11,17c11,17%0a%3c Most online communities abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; and practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a%3c %0a%3c To guard against network tyranny, we ensure that users always have the power to fork. IRCNow guarantees every user [[freedom/software|the right to the source code]]. Users [[freedom/selfadmin|self-admin]] the network. Our code follows [[freedom/unix|the UNIX philosophy]] so that normal users can quickly understand and work on the code. We [[freedom/educate|educate our users]] so that the power of the code rests with the users and not merely in the hands of a few elites.%0a%3c %0a%3c For this reason, IRCNow rejects the use of any proprietary software and vendor lock-in. Proprietary software and vendor lock-in restricts the users' ability to fork the project. We require network software to function using only open protocols and standards. IRCNow allows interoperability with proprietary protocols, but we never require them.%0a%3c %0a%3c IRCNow is focused on making every component of our infrastructure easy for anyone to self host on your own hardware. If the network staff ever abuses their power, the users always retain the freedom to fork.%0a\ No newline at end of file%0a---%0a> Over time, most online communities begin to abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; and practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a> %0a> To guard against network tyranny, we must ensure that users always have the power to fork. IRCNow guarantees every user [[freedom/software|the right to the source code]]. We follow [[freedom/unix|the UNIX philosophy]] so that average users can easily understand and work on the code. We educate our users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elites.%0a> %0a> For this reason, IRCNow rejects the use of any proprietary software, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project. The network software must also be able to run using only open protocols and standards for the same reason. IRCNow allows interoperability with proprietary protocols, but it will never require it.%0a> %0a> IRCNow's ultimate goal is to make every component of its infrastructure easy for anyone to self host (to run on your own hardware). IRCNow's goal is provide clear, easy-to-read documentation for users who want to self host. It also provides training and support for users who want to join our network. This ensures that users always retain the freedom to fork.%0a\ No newline at end of file%0a +host:1612449531=198.251.81.119 +author:1612449122=jrmu +diff:1612449122:1612449077:=11c11%0a%3c Over time, most online communities begin to abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; and practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a---%0a> Over time, most online communities begin to abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a +host:1612449122=198.251.81.119 +author:1612449077=jrmu +diff:1612449077:1612432171:=3c3%0a%3c %25width=200px rfloat%25 Attach:Marketing/comeandtakeit.png%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1612449077=198.251.81.119 +author:1612432171=jrmu +diff:1612432171:1612430551:=11c11%0a%3c Over time, most online communities begin to abuse and exploit their users. Staff will try to invade user privacy; unfairly restrict competition; practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a---%0a> Over time, most online communities begin to abuse and exploit their users. Owners will try to invade user privacy; unfairly restrict competition; practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a +host:1612432171=198.251.81.119 +author:1612430551=jrmu +diff:1612430551:1612430410:=3a4,5%0a> %0a> ->'''Fork''': to take an existing project, break old ties, and create an independent one%0a +host:1612430551=198.251.81.119 +author:1612430410=jrmu +diff:1612430410:1612430347:= +host:1612430410=198.251.81.119 +author:1612430347=jrmu +diff:1612430347:1612430113:=13,15c13,15%0a%3c Over time, most online communities begin to abuse and exploit their users. Owners will try to invade user privacy; unfairly restrict competition; practice unjust censorship. This is possible by making it difficult for users to leave: by taking away control of the servers, code, and data from its users.%0a%3c %0a%3c To guard against network tyranny, we must ensure that users always have the power to fork. IRCNow guarantees every user [[freedom/software|the right to the source code]]. We follow [[freedom/unix|the UNIX philosophy]] so that average users can easily understand and work on the code. We educate our users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elites.%0a---%0a> Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or unfairly restrict competition; or practice unjust censorship and banning. Closed internet providers exert this control by making it difficult or impossible to leave -- by taking away all of the servers, code, and data from the users.%0a> %0a> The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that hobbyists can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elites.%0a +host:1612430347=198.251.81.119 +author:1612430113=jrmu +diff:1612430113:1611889776:=5,6c5,6%0a%3c ->'''Fork''': to take an existing project, break old ties, and create an independent one%0a%3c %0a---%0a> ->'''Fork''': when coders take an existing project and break old ties to create a new independent one.%0a> %0a11c11,17%0a%3c ->Unfair rules cannot be forced on a free network when all the users are trained and have access to the software.%0a---%0a> ->The right of the users to fork protects our liberty because it threatens the power of abusive staff.%0a> %0a> ->No corporation can ever deprive its users of their freedom so long as there is a large number of users who can fork the network, who stand ready to defend the rights of their fellow users.%0a> %0a> ->Before corporations can exploit their users, the ability to fork must be restricted, as they are in almost every online platform today. Unjust rules cannot be enforced on a free network because all the users have access to the software and the users are a force superior to any corporation.%0a> %0a> ->The corporations are afraid to trust their users with access to software.%0a +host:1612430113=198.251.81.119 +author:1611889776=jrmu +diff:1611889776:1611889732:=3c3%0a%3c %25width=40pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1611889776=125.231.24.226 +author:1611889732=jrmu +diff:1611889732:1611889711:=3,4d2%0a%3c %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a%3c %0a17a16,17%0a> %0a> %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1611889732=125.231.24.226 +author:1611889711=jrmu +diff:1611889711:1611889697:=2a3,4%0a> %25width=70pct lfloat%25 Attach:Marketing/comeandtakeit.png%0a> %0a16,17d17%0a%3c %0a%3c %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1611889711=125.231.24.226 +author:1611889697=jrmu +diff:1611889697:1611889682:=3c3%0a%3c %25width=70pct lfloat%25 Attach:Marketing/comeandtakeit.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1611889697=125.231.24.226 +author:1611889682=jrmu +diff:1611889682:1611488512:=3c3%0a%3c %25width=70pct rfloat%25 Attach:Marketing/comeandtakeit.png%0a---%0a> %25width=40pct%25 Attach:Marketing/comeandtakeit.png%0a +host:1611889682=125.231.24.226 +author:1611488512=jrmu +diff:1611488512:1611488487:=3,4d2%0a%3c %25width=40pct%25 Attach:Marketing/comeandtakeit.png%0a%3c %0a17a16,17%0a> %0a> Attach:Marketing/comeandtakeit.png%0a +host:1611488512=125.231.20.163 +author:1611488487=jrmu +diff:1611488487:1606883669:=16,17d15%0a%3c %0a%3c Attach:Marketing/comeandtakeit.png%0a +host:1611488487=125.231.20.163 +author:1606883669=jrmu +diff:1606883669:1606883578:=19c19%0a%3c The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that hobbyists can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elites.%0a---%0a> The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that hobbyists can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite professionals.%0a +host:1606883669=125.224.25.38 +author:1606883578=jrmu +diff:1606883578:1597211037:=5,13c5,13%0a%3c ->When an online platform abuses and exploits its users, it is the users' right and duty to quit and create a new one.%0a%3c %0a%3c ->To preserve our liberties, staff have to be warned from time to time that their users have the power to fork.%0a%3c %0a%3c ->The right of the users to fork protects our liberty because it threatens the power of abusive staff.%0a%3c %0a%3c ->No corporation can ever deprive its users of their freedom so long as there is a large number of users who can fork the network, who stand ready to defend the rights of their fellow users.%0a%3c %0a%3c ->Before corporations can exploit their users, the ability to fork must be restricted, as they are in almost every online platform today. Unjust rules cannot be enforced on a free network because all the users have access to the software and the users are a force superior to any corporation.%0a---%0a> ->When a long train of abuses and exploitation shows that an online platform wants to reduce its users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a> %0a> ->What network can preserve its liberties if their sysadmins are not warned from time to time that the users have the power to fork?%0a> %0a> ->The right of the users to fork safeguards the liberties of a free network, since it offers a powerful check against the arbitrary power of sysadmins.%0a> %0a> ->No staff can ever deprive the users of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a> %0a> ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust rules cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a +host:1606883578=125.224.25.38 +author:1597211037=jrmu +diff:1597211037:1597054364:=19c19%0a%3c The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that hobbyists can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite professionals.%0a---%0a> The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that amateurs can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite professionals.%0a +host:1597211037=38.81.163.143 +author:1597054364=jrmu +diff:1597054364:1597054352:=15c15%0a%3c ->The corporations are afraid to trust their users with access to software.%0a---%0a> ->The corporations are afraid to trust the people with access to software.%0a +host:1597054364=38.81.163.143 +author:1597054352=jrmu +diff:1597054352:1597051995:=14,15d13%0a%3c %0a%3c ->The corporations are afraid to trust the people with access to software.%0a +host:1597054352=38.81.163.143 +author:1597051995=jrmu +diff:1597051995:1597050057:=15c15%0a%3c Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or unfairly restrict competition; or practice unjust censorship and banning. Closed internet providers exert this control by making it difficult or impossible to leave -- by taking away all of the servers, code, and data from the users.%0a---%0a> Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or unfairly restrict competition; or practice unjust censorship and banning.%0a +host:1597051995=38.81.163.143 +author:1597050057=jrmu +diff:1597050057:1597044238:=19c19%0a%3c For this reason, IRCNow rejects the use of any proprietary software, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project. The network software must also be able to run using only open protocols and standards for the same reason. IRCNow allows interoperability with proprietary protocols, but it will never require it.%0a---%0a> For this reason, IRCNow rejects the use of any proprietary software, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project.%0a +host:1597050057=38.81.163.143 +author:1597044238=jrmu +diff:1597044238:1597043882:=17c17%0a%3c The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. IRCNow tries to follow [[freedom/unix|the UNIX philosophy]] so that amateurs can easily understand and work on the code. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite professionals.%0a---%0a> The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite owners.%0a +host:1597044238=38.81.163.143 +author:1597043882=jrmu +diff:1597043882:1597043818:=5c5%0a%3c ->When a long train of abuses and exploitation shows that an online platform wants to reduce its users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a---%0a> ->When a long train of abuses and exploitation shows that staff wants to reduce its users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a +host:1597043882=38.81.163.143 +author:1597043818=jrmu +diff:1597043818:1597043700:=15,17c15,17%0a%3c Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or unfairly restrict competition; or practice unjust censorship and banning.%0a%3c %0a%3c The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user [[freedom/software|the right to the source code]] used on the network. It trains and equips the users so that the power of the code [[freedom/militia|rests with the users]] and not merely in the hands of a few elite owners.%0a---%0a> Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or restrict fair competition; or practice unjust censorship and banning.%0a> %0a> The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user the right to the source code used on the network. It trains and educates the users so that the power of the code rests with the users and not merely in the hands of a few elite owners.%0a +host:1597043818=38.81.163.143 +author:1597043700=jrmu +diff:1597043700:1597043128:=15,18c15,16%0a%3c Over time, most online communities begin to abuse and exploit their users. They forget to cherish their users, the very people who gave them money and power in the first place. They begin to prioritize their own self-interest and profit above that of their community. Owners might try to invade user privacy; or restrict fair competition; or practice unjust censorship and banning.%0a%3c %0a%3c The most effective way to guard against network tyranny is to ensure that the users always have the power to fork. For this reason, IRCNow guarantees every user the right to the source code used on the network. It trains and educates the users so that the power of the code rests with the users and not merely in the hands of a few elite owners.%0a%3c %0a---%0a> The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a> %0a21c19%0a%3c IRCNow's ultimate goal is to make every component of its infrastructure easy for anyone to self host (to run on your own hardware). IRCNow's goal is provide clear, easy-to-read documentation for users who want to self host. It also provides training and support for users who want to join our network. This ensures that users always retain the freedom to fork.%0a\ No newline at end of file%0a---%0a> The ultimate goal of the IRCNow project is to self host every component of the infrastructure on the network and to make it easy for other users to do so.%0a\ No newline at end of file%0a +host:1597043700=38.81.163.143 +author:1597043128=jrmu +diff:1597043128:1597043098:=5c5%0a%3c ->When a long train of abuses and exploitation shows that staff wants to reduce its users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a---%0a> ->When a long train of abuses and exploitation shows that staff wants to reduce users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a +host:1597043128=38.81.163.143 +author:1597043098=jrmu +diff:1597043098:1597043087:=3c3%0a%3c ->'''Fork''': when coders take an existing project and break old ties to create a new independent one.%0a---%0a> ->''Fork'': when coders take an existing project and break old ties to create a new independent one.%0a +host:1597043098=38.81.163.143 +author:1597043087=jrmu +diff:1597043087:1597043067:=3c3%0a%3c ->''Fork'': when coders take an existing project and break old ties to create a new independent one.%0a---%0a> ->**Fork**: when coders take an existing project and break old ties to create a new independent one.%0a +host:1597043087=38.81.163.143 +author:1597043067=jrmu +diff:1597043067:1597042401:=3c3%0a%3c ->**Fork**: when coders take an existing project and break old ties to create a new independent one.%0a---%0a> ->A project fork is when coders take an existing project and break away to create a new independent project.%0a +host:1597043067=38.81.163.143 +author:1597042401=jrmu +diff:1597042401:1596527445:=1,6d0%0a%3c (:title Freedom to Fork:)%0a%3c %0a%3c ->A project fork is when coders take an existing project and break away to create a new independent project.%0a%3c %0a%3c ->When a long train of abuses and exploitation shows that staff wants to reduce users to slavery, it is the users' right, it is their duty, to quit such a network and provide a new one for their future security.%0a%3c %0a +host:1597042401=38.81.163.143 +author:1596527445=jrmu +diff:1596527445:1596449029:=11c11%0a%3c For this reason, IRCNow rejects the use of any proprietary software, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project.%0a---%0a> For this reason, IRCNow rejects the use of any proprietary softwae, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project.%0a +host:1596527445=38.81.163.143 +author:1596449029=jrmu +diff:1596449029:1596430647:=5c5%0a%3c ->No staff can ever deprive the users of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a---%0a> ->No staff can ever deprive the people of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a +host:1596449029=38.81.163.143 +author:1596430647=jrmu +diff:1596430647:1596399479:=7c7%0a%3c ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust rules cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a---%0a> ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a +host:1596430647=38.81.163.143 +author:1596399479=jrmu +diff:1596399479:1596363258:=5c5%0a%3c ->No staff can ever deprive the people of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a---%0a> ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a +host:1596399479=38.81.163.143 +author:1596363258=jrmu +diff:1596363258:1596360778:=7,13c7%0a%3c ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a%3c %0a%3c The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%3c %0a%3c For this reason, IRCNow rejects the use of any proprietary softwae, or even third-party proprietary services. Even if part of the source code is free, a dependency upon third-party proprietary services restricts the user's ability to fork the project.%0a%3c %0a%3c The ultimate goal of the IRCNow project is to self host every component of the infrastructure on the network and to make it easy for other users to do so.%0a\ No newline at end of file%0a---%0a> ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a\ No newline at end of file%0a +host:1596363258=38.81.163.143 +author:1596360778=jrmu +diff:1596360778:1596345666:=1,2c1,2%0a%3c ->What network can preserve its liberties if their sysadmins are not warned from time to time that the users have the power to fork?%0a%3c %0a---%0a> ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users have the power to fork?%0a> %0a5c5%0a%3c ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who can fork the network, who stand ready to defend their own rights and those of their fellow-users.%0a---%0a> ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who are familiar with the software, who stand ready to defend their own rights and those of their fellow-users.%0a +host:1596360778=38.81.163.143 +author:1596345666=jrmu +diff:1596345666:1596344974:=4,5d3%0a%3c %0a%3c ->No staff can ever be deprive the people of their liberties so long as there is a large number of users who are familiar with the software, who stand ready to defend their own rights and those of their fellow-users.%0a +host:1596345666=38.81.163.143 +author:1596344974=jrmu +diff:1596344974:1596344791:=1,2c1,2%0a%3c ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users have the power to fork?%0a%3c %0a---%0a> ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users can fork?%0a> %0a5c5,329%0a%3c ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a\ No newline at end of file%0a---%0a> ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a> %0a> “The Constitutions of most of our states assert that all power is inherent in the people; that they may exercise it by themselves, in all cases to which they think themselves competent, (as in electing their functionaries executive and legislative, and deciding by a jury of themselves, both fact and law, in all judiciary cases in which any fact is involved) or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person; freedom of religion; freedom of property; and freedom of the press.”%0a> %0a> “I would rather be exposed to the inconveniences attending too much liberty than to those attending too small a degree of it.” ~ letter to Archibald Stuart, Philadelphia, December 23, 1791 (Technically, this quote is not referring directly to the second amendment, but rather refers to the writing of the constitution. We included it because it is concerns the amount of control the government should have.)%0a> %0a> %0a> “They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a> %0a> Read more quotes by Benjamin Franklin%0a> %0a> Read more about Benjamin Franklin%0a> John Adams%0a> %0a> “The only maxim of a free government ought to be to trust no man living with power to endanger the public liberty.” ~ notes for an oration at Braintree, Spring 1772%0a> %0a> “In framing a government which is to be administered by men over men, the great difficulty lies in this: you must first enable the government to control the governed; and in the next place oblige it to control itself. A dependence on the people is, no doubt, the primary control on the government; but experience has taught mankind the necessity of auxiliary precautions.” ~ The Federalist No. 51, February 6, 1788%0a> %0a> “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments … forms a foorier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of. Notwithstanding the military establishments of the several kingdoms of Europe, the governments are afraid to trust the people with arms.” ~ The Federalist No. 46, January 29, 1788%0a> %0a> “Arms like laws discourage and keep the invader and the plunderer in awe, and preserve order in the world as well as property. The balance of power is the scale of peace. The same balance would be preserved were all the world destitute of arms, for all would be alike; but since some will not others dare not lay them aside. And while a single nation refuses to lay them down, it is proper that all should keep them up. Horrid mischief would ensue were one half the world deprived of the use of them; for while avarice and ambition have a place in the heart of man, the weak will become a prey to the strong. The history of every age and nation establishes these truths, and facts need but little arguments when they prove themselves.” Thoughts on Defensive War, 1775%0a> %0a> “The truth is, all might be free, if they valued freedom and defended it as they ought.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a> %0a> “The liberties of our Country, the freedom of our civil constitution are worth defending at all hazards: And it is our duty to defend them against all attacks. We have receiv’d them as a fair Inheritance from our worthy Ancestors: They purchas’d them for us with toil and danger and expence of treasure and blood; and transmitted them to us with care and diligence. It will bring an everlasting mark of infamy on the present generation, enlightened as it is, if we should suffer them to be wrested from us by violence without a struggle; or be cheated out of them by the artifices of false and designing men. Of the latter we are in most danger at present: Let us therefore be aware of it. Let us contemplate our forefathers and posterity; and resolve to maintain the rights bequeath’d to us from the former, for the sake of the latter—instead of sitting down satisfied with the efforts we have already made, which is the wish of our enemies, the necessity of the times, more than ever, calls for our utmost circumspection, deliberation, fortitude, and perseverance. Let us remember that ‘if we suffer tamely a lawless attack upon our liberty, we encourage it, and involve others in our doom.’ It is a very serious consideration, which should deeply impress our minds, that millions yet unborn may be the miserable sharers of the event.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a> %0a> “Among the natural rights of the Colonists are these: First, a right to life; Secondly, to liberty; Thirdly, to property; together with the right to support and defend them in the best manner they can. These are evident branches of, rather than deductions from, the duty of self-preservation, commonly called the first law of nature.” ~ The Rights of the Colonists, 1772%0a> %0a> Read more about Samuel Adams here.%0a> George Mason%0a> %0a> “When the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually, by totally disusing and neglecting the militia … Why should we not provide against the danger of having our militia, our real and natural strength, destroyed? The general government ought, at the same time, to have some such power. But we need not give them power to abolish our militia.” ~ Debate in Virginia Ratifying Convention June 14, 1788%0a> %0a> “That the People have a right to keep and bear arms; that a well regulated militia, composed of the body of the people, trained to arms, is the proper, natural, and safe defense of a free state.” ~ %0a> %0a> Within Mason’s declaration of “the essential and unalienable Rights of the People”, later adopted by the Virginia ratification convention (1788).%0a> Samuel Nasson%0a> %0a> Nasson is not a well-known Founding Father, so not much is written on him on this site. He was a captain in the Continental Army and after the war he rose in his local political hierarchy to the Massachusetts General Court. He was a delegate to the state ratifying convention and was one of the Maine territory’s most important Antifederalists. He strongly opposed the three-fifth’s compromise because it gave too much power to one party. He believed that the Constitution did not provide for the people’s rights and made the United States Government too much like Britain’s. He also opposed federal taxation power, standing armies, or the right to bear arms in peacetime.%0a> %0a> “Only think how fatal [arms] were to the peace of this country in 1770, what confusion they brought on the fatal 5 of March [the Boston Massacre]. I think the remembrance of that night is enough to make us careful how we introduce them in a free republican government—I therefore hope they will be discouraged for I think the man that enters as a soldier in a time of peace only for a living is only a fit tool to enslave his fellows.” ~ Letter to George Thatcher, July 9, 1787%0a> Noah Webster%0a> %0a> Noah Webster is sometimes listed as a Founding Father, but more frequently is called the “Father of American Scholarship and Education”. He discarded the traditional British lesson plans and educational books for children that were “corrupted by British aristocracy” and wrote his own—updating and “americanizing” the spelling—which were used for generations. It is his name that we use on the Merriam-Webster Dictionary.%0a> %0a> He was an avid Federalist and as such, severely disliked Jeffersonian Republicans. He helped found an anti-slavery society, but wrote to his daughter: “Slavery is a great sin and a general calamity—but it is not our sin, though it may prove to be a terrible calamity to us in the North. But we cannot legally interfere with the South on this subject … To come north to preach and thus disturb our peace, when we can legally do nothing to effect this object, is, in my view, highly criminal and the preachers of abolitionism deserve the penitentiary.”%0a> %0a> “Another source of power in government is a military force. But this, to be efficient, must be superior to any force that exists among the people, or which they can command; for otherwise, this force would be annihilated, on the first exercise of acts of oppression. Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretense raised in the United States.” ~ “An Examination Into the Leading Principles of the Federal Constitution Proposed by the Late Convention Held at Philadelphia, With Answers to the Principal Objections that Have Been Raised Against the System” January 1, 1787%0a> %0a> Post navigation%0a> George Read%0a> Declaration of Independence Transcription%0a> Popular Articles%0a> %0a> Articles of Confederation Transcript%0a> North and South Carolina Colony%0a> Bill of Rights: Unratified Amendments to the United States Constitution%0a> Roanoke: “The Lost Colony”%0a> Plymouth Colony%0a> Richard Stockton%0a> Colonial History%0a> Caesar Rodney%0a> Charles Carroll of Carrollton%0a> New Netherland%0a> Richard Henry Lee%0a> Aaron Burr%0a> George Clymer%0a> Thomas Stone%0a> Famous American History Documents%0a> Philip Livingston%0a> General John Sullivan%0a> Thomas Heyward, Jr.%0a> Francis Lewis%0a> George Wythe%0a> George Ross%0a> Carter Braxton%0a> John Penn%0a> Thomas Lynch%0a> Bill of Rights Amendments to the US Constitution%0a> Lyman Hall%0a> Francis Hopkinson%0a> George Walton%0a> William Ellery%0a> Arthur Middleton%0a> John Morton%0a> Edward Rutledge%0a> William Whipple%0a> Francis Lightfoot Lee%0a> James Smith%0a> Matthew Thornton%0a> US Constitution Text: The Most Famous of Historical Documents%0a> John Witherspoon%0a> Abraham Clark%0a> Joseph Hewes%0a> Thomas McKean%0a> Revolutionary-War.net Bookshelf%0a> William Floyd%0a> Lewis Morris%0a> William Hooper%0a> Josiah footlett%0a> Samuel Chase%0a> Francis Salvador%0a> Stephen Hopkins%0a> Royal Proclamation of 1763%0a> %0a> © Revolutionary War 2010-2020%0a> Privacy Policy | Terms & Conditions | Cookies Policy %0a> %0a> %0a> Thomas Jefferson, of Virginia:%0a> %0a> “No free man shall ever be debarred the use of arms.” — Proposed Virginia Constitution, 1776%0a> %0a> Advertisement - story continues below%0a> %0a> “Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man.” — Jefferson`s “Commonplace Book,” 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a> George Mason, of Virginia:%0a> %0a> TRENDING: CBS Mail-In Voting Experiment Blows Dem Narrative, Yields Troubling Results, 3%25 of Ballots Never Received%0a> %0a> “[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.”. . . I ask, who are the militia? They consist now of the whole people, except a few public officers.” — Virginia`s U.S. Constitution ratification convention, 1788%0a> %0a> Advertisement - story continues below%0a> %0a> “That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state.” — Within Mason`s declaration of “the essential and unalienable Rights of the People,” — later adopted by the Virginia ratification convention, 1788%0a> %0a> 90492-050-98565DFB%0a> Samuel Adams, of Massachusetts:%0a> %0a> “The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms.” — Massachusetts` U.S. Constitution ratification convention, 1788%0a> William Grayson, of Virginia:%0a> %0a> “[A] string of amendments were presented to the lower House; these altogether respected personal liberty.” — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a> %0a> Advertisement - story continues below%0a> Richard Henry Lee, of Virginia:%0a> %0a> “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a> %0a> RELATED: Congressman Mo Brooks Sticks To His Guns After Alexandria Shooting%0a> %0a> James_Madison_by_Gilbert_Stuart%0a> James Madison, of Virginia:%0a> %0a> Advertisement - story continues below%0a> %0a> The Constitution preserves “the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms.” — The Federalist, No. 46%0a> Tench Coxe, of Pennsylvania:%0a> %0a> “The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them.” — An American Citizen, Oct. 21, 1787%0a> %0a> “Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people.” — The Pennsylvania Gazette, Feb. 20, 1788%0a> %0a> Advertisement - story continues below%0a> %0a> “As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms.” — Federal Gazette, June 18, 1789%0a> Noah Webster, of Pennsylvania:%0a> %0a> “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power.” — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a> %0a> Alexander_Hamilton_portrait_by_John_Trumbull_1806%0a> %0a> Advertisement - story continues below%0a> Alexander Hamilton, of New York:%0a> %0a> “[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens.” — The Federalist, No. 29%0a> Thomas Paine, of Pennsylvania:%0a> %0a> “[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them.” — Thoughts On Defensive War, 1775%0a> %0a> Advertisement - story continues below%0a> %0a> 4795007871%0a> Fisher Ames, of Massachusetts:%0a> %0a> “The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people.” — Letter to F.R. Minoe, June 12, 1789%0a> %0a> Advertisement - story continues below%0a> Elbridge Gerry, of Massachusetts:%0a> %0a> “What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins.” — Debate, U.S. House of Representatives, August 17, 1789%0a> %0a> PatrickHenry%0a> Patrick Henry, of Virginia:%0a> %0a> Advertisement - story continues below%0a> %0a> “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.” — Virginia`s U.S. Constitution ratification convention%0a> %0a> “I ask who are the militia? They consist now of the whole people, except a few public officers.” – George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a> %0a> “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of.” – James Madison, Federalist No. 46, January 29, 1788%0a> %0a> “The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country.” – James Madison, I Annals of Congress 434, June 8, 1789%0a> %0a> “The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms.” – Samuel Adams, Massachusetts Ratifying Convention, 1788%0a> %0a> “What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty …. Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.” – Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a> %0a> “If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons entrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair.” – Alexander Hamilton, Federalist No. 28%0a> %0a> “[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist.” – Alexander Hamilton, Federalist No. 28, January 10, 1788%0a> %0a> To disarm the people…[i]s the most effectual way to enslave them.” – George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adoption of the Federal Constitution, June 14, 1788%0a> %0a> In light of the overwhelming evidence from the men who crafted the Declaration, wrote the Constitution, included the Bill of Rights, and led the United States during its first decades of existence it is abundantly clear to all but the very gullible (or those who would impose tyranny), that our founders wished us to be armed. They demanded we be armed. And in force, capability and training so as to thwart any infringement by a runaway government. Noah Webster, often considered the father of American Education and Scholarship wrote:%0a> %0a> “Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops.” – Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a> %0a> George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a> %0a> %0a> %0a> Thomas Jefferson of Virginia:%0a> %0a> "No free man shall ever be debarred the use of arms." — Proposed Virginia Constitution, 1776%0a> %0a> "Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man." — Jefferson's "Commonplace Book," 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a> %0a> George Mason of Virginia:%0a> %0a> "[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.". . . I ask, who are the militia? They consist now of the whole people, except a few public officers." — Virginia's U.S. Constitution ratification convention, 1788%0a> %0a> "That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state." — Within Mason`s declaration of "the essential and unalienable Rights of the People," — later adopted by the Virginia ratification convention, 1788%0a> %0a> %0a> %0a> Samuel Adams of Massachusetts:%0a> %0a> "The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms." — Massachusetts' U.S. Constitution ratification convention, 1788%0a> %0a> %0a> %0a> William Grayson of Virginia:%0a> %0a> "[A] string of amendments were presented to the lower House; these altogether respected personal liberty." — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a> %0a> %0a> %0a> Richard Henry Lee of Virginia:%0a> %0a> "A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms... The mind that aims at a select militia, must be influenced by a truly anti-republican principle." — Additional Letters From The Federal Farmer, 1788%0a> %0a> %0a> %0a> James Madison of Virginia:%0a> %0a> The Constitution preserves "the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms." — The Federalist, No. 46%0a> %0a> %0a> %0a> Tench Coxe of Pennsylvania:%0a> %0a> "The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them." — An American Citizen, Oct. 21, 1787%0a> %0a> "Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people." — The Pennsylvania Gazette, Feb. 20, 1788%0a> %0a> "As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms." — Federal Gazette, June 18, 1789%0a> %0a> %0a> %0a> Noah Webster of Pennsylvania:%0a> %0a> "Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power." — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a> %0a> %0a> %0a> Alexander Hamilton of New York:%0a> %0a> "[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens." — The Federalist, No. 29%0a> %0a> %0a> %0a> Thomas Paine of Pennsylvania:%0a> %0a> "[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them." — Thoughts On Defensive War, 1775%0a> %0a> %0a> %0a> Fisher Ames of Massachusetts:%0a> %0a> "The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people." — Letter to F.R. Minoe, June 12, 1789%0a> %0a> %0a> %0a> Elbridge Gerry of Massachusetts:%0a> %0a> "What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins." — Debate, U.S. House of Representatives, August 17, 1789%0a> %0a> %0a> %0a> Patrick Henry of Virginia:%0a> %0a> "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel." — Virginia's U.S. Constitution ratification convention%0a> %0a> %0a> %0a> For more information, see Halbrook, Stephen P., "The Right of the People or the Power of the State: Bearing Arms, Arming Militias, and the Second Amendment," Valparaiso Univ. Law Review, Vol. 26, No. 1, Fall, 1991; and "That Every Man Be Armed: The Evolution of a Constitutional Right," Univ. of N.M. Press, 1984%0a> %0a> %0a> “O sir, we should have fine times, indeed, if, to punish tyrants, it were only sufficient to assemble the people! Your arms, wherewith you could defend yourselves, are gone; and you have no longer an aristrocratical, no longer a democratical spirit. Did you ever read of any revolution in a nation, brought about by the punishment of those in power, inflicted by those who had no power at all?”%0a> %0a> Founding Fathers Quotes on Guns and the Right to Keep and Bear Arms in the Second Amendment“A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.”%0a> %0a> “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom of Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States.”%0a> %0a> “There is nothing so likely to produce peace as to be well prepared to meet an enemy.”%0a> %0a> “Whenever governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.”%0a> %0a> “A people who would stand fast in their liberty, should furnish themselves with weapons proper for their defence, and learn the use of them. It is indeed an hard case, that those who are happy in the blessings of providence, and disposed to live peaceably with all men, should be obliged to keep up the idea of blood and slaughter, and expend their time and treasure to acquire the arts and instruments of death. But this is a necessity which the depravity of human nature has laid upon every state. Nor was there ever a people that continued, for any considerable time, in the enjoyment of liberty, who were not in a capacity to defend themselves against invaders, unless they were too poor and inconsiderable to tempt an enemy.”%0a> %0a> “For a people who are free, and who mean to remain so, a well-organized and armed militia is their best security.”%0a> %0a> “Men are also bound, individuals and societies, to take care of their temporal happiness, and do all they lawfully can, to promote it. But what can be more inconsistent with this duty, than submitting to great encroachments upon our liberty? Such submission tends to slavery; and compleat slavery implies every evil that the malice of man and devils can inflict.”%0a> %0a> “Always remember that an armed and trained militia is the firmest bulwark of republics – that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a> %0a> “In a general view there are very few conquests that repay the charge of making them, and mankind are pretty well convinced that it can never be worth their while to go to war for profit sake. If they are made war upon, their country invaded, or their existence at stake, it is their duty to defend and preserve themselves, but in every other light and from every other cause is war inglorious and detestable.”%0a> %0a> “The ultimate authority...resides in the people alone...The advantage of being armed, which the Americans possess over the people of almost every other nation...forms a barrier against the enterprises of ambition.”%0a> %0a> “Are we at last brought to such a humiliating and debasing degradation, that we cannot be trusted with arms for our own defense? Where is the difference between having our arms in our possession and under our own direction, and having them under the management of Congress? If our defense be the real object of having those arms, in whose hands can they be trusted with more propriety, or equal safety to us, as in our own hands?”%0a> %0a> “None but an armed nation can dispense with a standing army.”%0a\ No newline at end of file%0a +host:1596344974=38.81.163.143 +author:1596344791=jrmu +diff:1596344791:1596344177:=1,5c1,5%0a%3c ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users can fork?%0a%3c %0a%3c ->The right of the users to fork safeguards the liberties of a free network, since it offers a powerful check against the arbitrary power of sysadmins.%0a%3c %0a%3c ->Before corporations can rule, the ability to fork must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any corporation.%0a---%0a> ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users preserve the spirit of resistance? Let them have the right to fork.%0a> %0a> ->The right of the users to fork the software has justly been considered the safeguard of the liberties of a free network; since it offers a powerful check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a> %0a> ->Before corporations can rule, the use of the software must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any band of corporate developers.%0a +host:1596344791=38.81.163.143 +author:1596344177=jrmu +diff:1596344177:1596343873:=3,5c3,13%0a%3c ->The right of the users to fork the software has justly been considered the safeguard of the liberties of a free network; since it offers a powerful check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a%3c %0a%3c ->Before corporations can rule, the use of the software must be restricted, as they are in almost every online platform today. Unjust laws cannot be enforced on a free network because all the users have access to the software and are a force superior to any band of corporate developers.%0a---%0a> ->To take control of the software away from the users is the most effectual way to enslave them.%0a> %0a> ->The right of the users to use and modify the software has justly been considered the safeguard of the liberties of a free network; since it offers a strong moral check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a> %0a> ->What, sir, is the use of the source code? It is to prevent the establishment of corporate professionals, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a> %0a> ->Before corporations can rule, the use of the software must be restricted, as they are in almost every social network today. Unjust laws cannot be enforced on a free network because all the users have access to the software and constitute a force superior to any band of corporate developers.%0a> %0a> "...the ultimate authority, wherever the derivative may be found, resides in the people alone..."%0a> - James Madison, Federalist No. 46, January 29, 1788%0a> %0a +host:1596344177=38.81.163.143 +author:1596343873=jrmu +diff:1596343873:1596343830:=7c7%0a%3c ->What, sir, is the use of the source code? It is to prevent the establishment of corporate professionals, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a---%0a> ->What, sir, is the use of the source code? It is to prevent the establishment of professional developers, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a +host:1596343873=38.81.163.143 +author:1596343830=jrmu +diff:1596343830:1596343745:=7c7%0a%3c ->What, sir, is the use of the source code? It is to prevent the establishment of professional developers, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a---%0a> ->What, sir, is the use of the source code? It is to prevent the establishment of proprietary software, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a +host:1596343830=38.81.163.143 +author:1596343745=jrmu +diff:1596343745:1596343724:=3c3%0a%3c ->To take control of the software away from the users is the most effectual way to enslave them.%0a---%0a> ->To take control of the software away from the users is the most effectual way to enslave them."%0a +host:1596343745=38.81.163.143 +author:1596343724=jrmu +diff:1596343724:1596343499:=3,10c3,10%0a%3c ->To take control of the software away from the users is the most effectual way to enslave them."%0a%3c %0a%3c ->The right of the users to use and modify the software has justly been considered the safeguard of the liberties of a free network; since it offers a strong moral check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a%3c %0a%3c ->What, sir, is the use of the source code? It is to prevent the establishment of proprietary software, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a%3c %0a%3c ->Before corporations can rule, the use of the software must be restricted, as they are in almost every social network today. Unjust laws cannot be enforced on a free network because all the users have access to the software and constitute a force superior to any band of corporate developers.%0a%3c %0a---%0a> ->To take the source code away the users...[i]s the most effectual way to enslave them."%0a> %0a> ->The right of the users to use and modify source code has justly been considered the safeguard of the liberties of a free network; since it offers a strong moral check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a> %0a> ->What, sir, is the use of the source code? It is to prevent the establishment of proprietary software, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate the source code, in order to raise a tyranny upon their ruins.%0a> %0a> ->Before proprietary software can rule, the use of the source code must be restricted, as they are in almost every social network today. Unjust laws cannot be enforced on a free network because all the users have the source code and constitute a force superior to any band of corporate developers.%0a> %0a14a15,18%0a> “They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."%0a> - Benjamin Franklin, Historical Review of Pennsylvania, 1759%0a> %0a> %0a26a31,32%0a> “Here every private person is authorized to arm himself, and on the strength of this authority, I do not deny the inhabitants had a right to arm themselves at that time, for their defense, not for offence.” ~ In defense of the soldiers on trial for the Boston Massacre.%0a> %0a28a35,37%0a> Read more about John Adams.%0a> James Madison%0a> %0a32a42,55%0a> Read more about James Madison here.%0a> Patrick Henry%0a> %0a> “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel. Unfortunately, nothing will preserve it but downright force.” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a> %0a> “My great objection to this government is, that it does not leave us the means of defending our rights, or of waging war against tyrants.” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a> %0a> “Where and when did freedom exist when the power of the sword and purse were given up from the people?” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a> %0a> Read more about Patrick Henry here.%0a> Thomas Paine%0a> %0a> “I would gladly agree with all the world to lay aside the use of arms, and settle matters by negotiation; but unless the whole will, the matter ends, and I take up my musket and thank heaven he has put it in my power. Whoever considers the unprincipled enemy we have to cope with, will not hesitate to declare that nothing but arms or miracles can reduce them to reason and moderation. They have lost sight of the limits of humanity.” Thoughts on Defensive War, 1775%0a> %0a33a57,59%0a> %0a> Read more about Thomas Paine here.%0a> Samuel Adams%0a +host:1596343724=38.81.163.143 +author:1596343499=jrmu +diff:1596343499:1596342626:=1,14c1,17%0a%3c ->What network can preserve its liberties if their sysadmins are not warned from time to time that their users preserve the spirit of resistance? Let them have the right to fork.%0a%3c %0a%3c ->To take the source code away the users...[i]s the most effectual way to enslave them."%0a%3c %0a%3c ->The right of the users to use and modify source code has justly been considered the safeguard of the liberties of a free network; since it offers a strong moral check against the arbitrary power of sysadmins; and will enable the users to resist and triumph over them.%0a%3c %0a%3c ->What, sir, is the use of the source code? It is to prevent the establishment of proprietary software, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate the source code, in order to raise a tyranny upon their ruins.%0a%3c %0a%3c ->Before proprietary software can rule, the use of the source code must be restricted, as they are in almost every social network today. Unjust laws cannot be enforced on a free network because all the users have the source code and constitute a force superior to any band of corporate developers.%0a%3c %0a%3c "...the ultimate authority, wherever the derivative may be found, resides in the people alone..."%0a%3c - James Madison, Federalist No. 46, January 29, 1788%0a%3c %0a%3c %0a---%0a> "What country can preserve its liberties if their rulers are not warned from time to time that their people preserve the spirit of resistance. Let them take arms."%0a> - Thomas Jefferson, letter to James Madison, December 20, 1787%0a> %0a> "The laws that forbid the carrying of arms are laws of such a nature. They disarm only those who are neither inclined nor determined to commit crimes.... Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man."%0a> - Thomas Jefferson, Commonplace Book (quoting 18th century criminologist Cesare Beccaria), 1774-1776%0a> %0a> "A strong body makes the mind strong. As to the species of exercises, I advise the gun. While this gives moderate exercise to the body, it gives boldness, enterprise and independence to the mind. Games played with the ball, and others of that nature, are too violent for the body and stamp no character on the mind. Let your gun therefore be your constant companion of your walks." - Thomas Jefferson, letter to Peter Carr, August 19, 1785%0a> %0a> "The Constitution of most of our states (and of the United States) assert that all power is inherent in the people; that they may exercise it by themselves; that it is their right and duty to be at all times armed."%0a> - Thomas Jefferson, letter to to John Cartwright, 5 June 1824%0a> %0a> "On every occasion [of Constitutional interpretation] let us carry ourselves back to the time when the Constitution was adopted, recollect the spirit manifested in the debates, and instead of trying [to force] what meaning may be squeezed out of the text, or invented against it, [instead let us] conform to the probable one in which it was passed."%0a> - Thomas Jefferson, letter to William Johnson, 12 June 1823%0a> %0a> "I enclose you a list of the killed, wounded, and captives of the enemy from the commencement of hostilities at Lexington in April, 1775, until November, 1777, since which there has been no event of any consequence ... I think that upon the whole it has been about one half the number lost by them, in some instances more, but in others less. This difference is ascribed to our superiority in taking aim when we fire; every soldier in our army having been intimate with his gun from his infancy."%0a> - Thomas Jefferson, letter to Giovanni Fabbroni, June 8, 1778%0a> %0a18c21,76%0a%3c %0a---%0a> "To disarm the people...[i]s the most effectual way to enslave them."%0a> - George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adooption of the Federal Constitution, June 14, 1788%0a> %0a> "I ask who are the militia? They consist now of the whole people, except a few public officers."%0a> - George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a> %0a> "Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops."%0a> - Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a> %0a> "Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of."%0a> - James Madison, Federalist No. 46, January 29, 1788%0a> %0a> "The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country."%0a> - James Madison, I Annals of Congress 434, June 8, 1789%0a> %0a> "...the ultimate authority, wherever the derivative may be found, resides in the people alone..."%0a> - James Madison, Federalist No. 46, January 29, 1788%0a> %0a> "Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves."%0a> - William Pitt (the Younger), Speech in the House of Commons, November 18, 1783%0a> %0a> “A militia when properly formed are in fact the people themselves…and include, according to the past and general usuage of the states, all men capable of bearing arms… "To preserve liberty, it is essential that the whole body of the people always possess arms, and be taught alike, especially when young, how to use them."%0a> - Richard Henry Lee, Federal Farmer No. 18, January 25, 1788%0a> %0a> "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel. Unfortunately, nothing will preserve it but downright force. Whenever you give up that force, you are ruined.... The great object is that every man be armed. Everyone who is able might have a gun."%0a> - Patrick Henry, Speech to the Virginia Ratifying Convention, June 5, 1778%0a> %0a> "This may be considered as the true palladium of liberty.... The right of self defense is the first law of nature: in most governments it has been the study of rulers to confine this right within the narrowest limits possible. Wherever standing armies are kept up, and the right of the people to keep and bear arms is, under any color or pretext whatsoever, prohibited, liberty, if not already annihilated, is on the brink of destruction."%0a> - St. George Tucker, Blackstone's Commentaries on the Laws of England, 1803%0a> %0a> "The supposed quietude of a good man allures the ruffian; while on the other hand, arms, like law, discourage and keep the invader and the plunderer in awe, and preserve order in the world as well as property. The balance ofpower is the scale of peace. The same balance would be preserved were all the world destitute of arms, for all would be alike; but since some will not, others dare not lay them aside. And while a single nation refuses to lay them down, it is proper that all should keep them up. Horrid mischief would ensue were one-half the world deprived of the use of them; for while avarice and ambition have a place in the heart of man, the weak will become a prey to the strong. The history of every age and nation establishes these truths, and facts need but little arguments when they prove themselves."%0a> - Thomas Paine, "Thoughts on Defensive War" in Pennsylvania Magazine, July 1775%0a> %0a> "The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms."%0a> - Samuel Adams, Massachusetts Ratifying Convention, 1788%0a> %0a> "The right of the citizens to keep and bear arms has justly been considered, as the palladium of the liberties of a republic; since it offers a strong moral check against the usurpation and arbitrary power of rulers; and will generally, even if these are successful in the first instance, enable the people to resist and triumph over them."%0a> - Joseph Story, Commentaries on the Constitution of the United States, 1833%0a> %0a> "What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty .... Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins."%0a> - Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a> %0a> "For it is a truth, which the experience of ages has attested, that the people are always most in danger when the means of injuring their rights are in the possession of those of whom they entertain the least suspicion."%0a> - Alexander Hamilton, Federalist No. 25, December 21, 1787 %0a> %0a> "If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons intrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair."%0a> - Alexander Hamilton, Federalist No. 28%0a> %0a> "[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist."%0a> - Alexander Hamilton, Federalist No. 28, January 10, 1788%0a> %0a> "As civil rulers, not having their duty to the people before them, may attempt to tyrannize, and as the military forces which must be occasionally raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the article in their right to keep and bear their private arms."%0a> - Tench Coxe, Philadelphia Federal Gazette, June 18, 1789%0a> %0a> “The safety of these States and everything dear to a free people must depend in an eminent degree on the militia...This arrangement should be formed, too, in time of peace, to be the better prepared for war.”%0a> %0a20a79,93%0a> “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a> %0a> “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a> %0a> “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.” ~ First Annual Message to Congress on the State of the Union, January 8, 1790%0a> %0a> “By teaching the people themselves to know and to value their own rights; to discern and provide against invasions of them; to distinguish between oppression and the necessary exercise of lawful authority; between burthens [archaic version of ‘burdens’] proceeding from a disregard to their convenience and those resulting from the inevitable exigencies of society; to discriminate the spirit of liberty from that of licentiousness [archaic version of ‘promiscuity’]—cherishing the first, avoiding the last—and uniting a speedy by temperate vigilance against encroachments, with an inviolable respect to the laws.” ~ First Annual Message to Congress on the State of the Union, January 8, 1790%0a> %0a> “The [militia] is certainly an object of primary importance whether viewed in reference to the national security to the satisfaction of the community or to the preservation of order. In connection with this the establishment of competent magazines and arsenals and the fortification of such places as are peculiarly important and vulnerable naturally present themselves to consideration.” ~ Third Annual Message, October 25, 1791%0a> %0a> Read more about George Washington here.%0a> %0a> Read more quotes by George Washington here.%0a> Thomas Jefferson%0a> %0a22a96,99%0a> “The constitutions of most of our States assert, that all power is inherent in the people; that they may exercise it by themselves … or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person, freedom of religion, freedom of property, and freedom of the press.” ~ Letter to Major John Cartwright, June 5, 1824%0a> %0a> Read more about Thomas Jefferson here.%0a> Benjamin Franklin%0a +host:1596343499=38.81.163.143 +author:1596342626=jrmu +diff:1596342626:1596341182:=1,78d0%0a%3c "What country can preserve its liberties if their rulers are not warned from time to time that their people preserve the spirit of resistance. Let them take arms."%0a%3c - Thomas Jefferson, letter to James Madison, December 20, 1787%0a%3c %0a%3c "The laws that forbid the carrying of arms are laws of such a nature. They disarm only those who are neither inclined nor determined to commit crimes.... Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man."%0a%3c - Thomas Jefferson, Commonplace Book (quoting 18th century criminologist Cesare Beccaria), 1774-1776%0a%3c %0a%3c "A strong body makes the mind strong. As to the species of exercises, I advise the gun. While this gives moderate exercise to the body, it gives boldness, enterprise and independence to the mind. Games played with the ball, and others of that nature, are too violent for the body and stamp no character on the mind. Let your gun therefore be your constant companion of your walks." - Thomas Jefferson, letter to Peter Carr, August 19, 1785%0a%3c %0a%3c "The Constitution of most of our states (and of the United States) assert that all power is inherent in the people; that they may exercise it by themselves; that it is their right and duty to be at all times armed."%0a%3c - Thomas Jefferson, letter to to John Cartwright, 5 June 1824%0a%3c %0a%3c "On every occasion [of Constitutional interpretation] let us carry ourselves back to the time when the Constitution was adopted, recollect the spirit manifested in the debates, and instead of trying [to force] what meaning may be squeezed out of the text, or invented against it, [instead let us] conform to the probable one in which it was passed."%0a%3c - Thomas Jefferson, letter to William Johnson, 12 June 1823%0a%3c %0a%3c "I enclose you a list of the killed, wounded, and captives of the enemy from the commencement of hostilities at Lexington in April, 1775, until November, 1777, since which there has been no event of any consequence ... I think that upon the whole it has been about one half the number lost by them, in some instances more, but in others less. This difference is ascribed to our superiority in taking aim when we fire; every soldier in our army having been intimate with his gun from his infancy."%0a%3c - Thomas Jefferson, letter to Giovanni Fabbroni, June 8, 1778%0a%3c %0a%3c “They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."%0a%3c - Benjamin Franklin, Historical Review of Pennsylvania, 1759%0a%3c %0a%3c "To disarm the people...[i]s the most effectual way to enslave them."%0a%3c - George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adooption of the Federal Constitution, June 14, 1788%0a%3c %0a%3c "I ask who are the militia? They consist now of the whole people, except a few public officers."%0a%3c - George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a%3c %0a%3c "Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops."%0a%3c - Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a%3c %0a%3c "Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of."%0a%3c - James Madison, Federalist No. 46, January 29, 1788%0a%3c %0a%3c "The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country."%0a%3c - James Madison, I Annals of Congress 434, June 8, 1789%0a%3c %0a%3c "...the ultimate authority, wherever the derivative may be found, resides in the people alone..."%0a%3c - James Madison, Federalist No. 46, January 29, 1788%0a%3c %0a%3c "Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves."%0a%3c - William Pitt (the Younger), Speech in the House of Commons, November 18, 1783%0a%3c %0a%3c “A militia when properly formed are in fact the people themselves…and include, according to the past and general usuage of the states, all men capable of bearing arms… "To preserve liberty, it is essential that the whole body of the people always possess arms, and be taught alike, especially when young, how to use them."%0a%3c - Richard Henry Lee, Federal Farmer No. 18, January 25, 1788%0a%3c %0a%3c "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel. Unfortunately, nothing will preserve it but downright force. Whenever you give up that force, you are ruined.... The great object is that every man be armed. Everyone who is able might have a gun."%0a%3c - Patrick Henry, Speech to the Virginia Ratifying Convention, June 5, 1778%0a%3c %0a%3c "This may be considered as the true palladium of liberty.... The right of self defense is the first law of nature: in most governments it has been the study of rulers to confine this right within the narrowest limits possible. Wherever standing armies are kept up, and the right of the people to keep and bear arms is, under any color or pretext whatsoever, prohibited, liberty, if not already annihilated, is on the brink of destruction."%0a%3c - St. George Tucker, Blackstone's Commentaries on the Laws of England, 1803%0a%3c %0a%3c "The supposed quietude of a good man allures the ruffian; while on the other hand, arms, like law, discourage and keep the invader and the plunderer in awe, and preserve order in the world as well as property. The balance ofpower is the scale of peace. The same balance would be preserved were all the world destitute of arms, for all would be alike; but since some will not, others dare not lay them aside. And while a single nation refuses to lay them down, it is proper that all should keep them up. Horrid mischief would ensue were one-half the world deprived of the use of them; for while avarice and ambition have a place in the heart of man, the weak will become a prey to the strong. The history of every age and nation establishes these truths, and facts need but little arguments when they prove themselves."%0a%3c - Thomas Paine, "Thoughts on Defensive War" in Pennsylvania Magazine, July 1775%0a%3c %0a%3c "The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms."%0a%3c - Samuel Adams, Massachusetts Ratifying Convention, 1788%0a%3c %0a%3c "The right of the citizens to keep and bear arms has justly been considered, as the palladium of the liberties of a republic; since it offers a strong moral check against the usurpation and arbitrary power of rulers; and will generally, even if these are successful in the first instance, enable the people to resist and triumph over them."%0a%3c - Joseph Story, Commentaries on the Constitution of the United States, 1833%0a%3c %0a%3c "What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty .... Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins."%0a%3c - Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a%3c %0a%3c "For it is a truth, which the experience of ages has attested, that the people are always most in danger when the means of injuring their rights are in the possession of those of whom they entertain the least suspicion."%0a%3c - Alexander Hamilton, Federalist No. 25, December 21, 1787 %0a%3c %0a%3c "If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons intrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair."%0a%3c - Alexander Hamilton, Federalist No. 28%0a%3c %0a%3c "[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist."%0a%3c - Alexander Hamilton, Federalist No. 28, January 10, 1788%0a%3c %0a%3c "As civil rulers, not having their duty to the people before them, may attempt to tyrannize, and as the military forces which must be occasionally raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the article in their right to keep and bear their private arms."%0a%3c - Tench Coxe, Philadelphia Federal Gazette, June 18, 1789%0a%3c %0a%3c “The safety of these States and everything dear to a free people must depend in an eminent degree on the militia...This arrangement should be formed, too, in time of peace, to be the better prepared for war.”%0a%3c %0a%3c “The Constitutions of most of our states assert that all power is inherent in the people; that they may exercise it by themselves, in all cases to which they think themselves competent, (as in electing their functionaries executive and legislative, and deciding by a jury of themselves, both fact and law, in all judiciary cases in which any fact is involved) or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person; freedom of religion; freedom of property; and freedom of the press.”%0a%3c %0a414,440d335%0a%3c %0a%3c %0a%3c “O sir, we should have fine times, indeed, if, to punish tyrants, it were only sufficient to assemble the people! Your arms, wherewith you could defend yourselves, are gone; and you have no longer an aristrocratical, no longer a democratical spirit. Did you ever read of any revolution in a nation, brought about by the punishment of those in power, inflicted by those who had no power at all?”%0a%3c %0a%3c Founding Fathers Quotes on Guns and the Right to Keep and Bear Arms in the Second Amendment“A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.”%0a%3c %0a%3c “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom of Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States.”%0a%3c %0a%3c “There is nothing so likely to produce peace as to be well prepared to meet an enemy.”%0a%3c %0a%3c “Whenever governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.”%0a%3c %0a%3c “A people who would stand fast in their liberty, should furnish themselves with weapons proper for their defence, and learn the use of them. It is indeed an hard case, that those who are happy in the blessings of providence, and disposed to live peaceably with all men, should be obliged to keep up the idea of blood and slaughter, and expend their time and treasure to acquire the arts and instruments of death. But this is a necessity which the depravity of human nature has laid upon every state. Nor was there ever a people that continued, for any considerable time, in the enjoyment of liberty, who were not in a capacity to defend themselves against invaders, unless they were too poor and inconsiderable to tempt an enemy.”%0a%3c %0a%3c “For a people who are free, and who mean to remain so, a well-organized and armed militia is their best security.”%0a%3c %0a%3c “Men are also bound, individuals and societies, to take care of their temporal happiness, and do all they lawfully can, to promote it. But what can be more inconsistent with this duty, than submitting to great encroachments upon our liberty? Such submission tends to slavery; and compleat slavery implies every evil that the malice of man and devils can inflict.”%0a%3c %0a%3c “Always remember that an armed and trained militia is the firmest bulwark of republics – that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a%3c %0a%3c “In a general view there are very few conquests that repay the charge of making them, and mankind are pretty well convinced that it can never be worth their while to go to war for profit sake. If they are made war upon, their country invaded, or their existence at stake, it is their duty to defend and preserve themselves, but in every other light and from every other cause is war inglorious and detestable.”%0a%3c %0a%3c “The ultimate authority...resides in the people alone...The advantage of being armed, which the Americans possess over the people of almost every other nation...forms a barrier against the enterprises of ambition.”%0a%3c %0a%3c “Are we at last brought to such a humiliating and debasing degradation, that we cannot be trusted with arms for our own defense? Where is the difference between having our arms in our possession and under our own direction, and having them under the management of Congress? If our defense be the real object of having those arms, in whose hands can they be trusted with more propriety, or equal safety to us, as in our own hands?”%0a%3c %0a%3c “None but an armed nation can dispense with a standing army.”%0a\ No newline at end of file%0a +host:1596342626=38.81.163.143 +author:1596341182=jrmu +diff:1596341182:1596339550:=247,335c247%0a%3c George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a%3c %0a%3c %0a%3c %0a%3c Thomas Jefferson of Virginia:%0a%3c %0a%3c "No free man shall ever be debarred the use of arms." — Proposed Virginia Constitution, 1776%0a%3c %0a%3c "Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man." — Jefferson's "Commonplace Book," 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a%3c %0a%3c George Mason of Virginia:%0a%3c %0a%3c "[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.". . . I ask, who are the militia? They consist now of the whole people, except a few public officers." — Virginia's U.S. Constitution ratification convention, 1788%0a%3c %0a%3c "That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state." — Within Mason`s declaration of "the essential and unalienable Rights of the People," — later adopted by the Virginia ratification convention, 1788%0a%3c %0a%3c %0a%3c %0a%3c Samuel Adams of Massachusetts:%0a%3c %0a%3c "The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms." — Massachusetts' U.S. Constitution ratification convention, 1788%0a%3c %0a%3c %0a%3c %0a%3c William Grayson of Virginia:%0a%3c %0a%3c "[A] string of amendments were presented to the lower House; these altogether respected personal liberty." — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a%3c %0a%3c %0a%3c %0a%3c Richard Henry Lee of Virginia:%0a%3c %0a%3c "A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms... The mind that aims at a select militia, must be influenced by a truly anti-republican principle." — Additional Letters From The Federal Farmer, 1788%0a%3c %0a%3c %0a%3c %0a%3c James Madison of Virginia:%0a%3c %0a%3c The Constitution preserves "the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms." — The Federalist, No. 46%0a%3c %0a%3c %0a%3c %0a%3c Tench Coxe of Pennsylvania:%0a%3c %0a%3c "The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them." — An American Citizen, Oct. 21, 1787%0a%3c %0a%3c "Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people." — The Pennsylvania Gazette, Feb. 20, 1788%0a%3c %0a%3c "As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms." — Federal Gazette, June 18, 1789%0a%3c %0a%3c %0a%3c %0a%3c Noah Webster of Pennsylvania:%0a%3c %0a%3c "Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power." — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a%3c %0a%3c %0a%3c %0a%3c Alexander Hamilton of New York:%0a%3c %0a%3c "[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens." — The Federalist, No. 29%0a%3c %0a%3c %0a%3c %0a%3c Thomas Paine of Pennsylvania:%0a%3c %0a%3c "[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them." — Thoughts On Defensive War, 1775%0a%3c %0a%3c %0a%3c %0a%3c Fisher Ames of Massachusetts:%0a%3c %0a%3c "The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people." — Letter to F.R. Minoe, June 12, 1789%0a%3c %0a%3c %0a%3c %0a%3c Elbridge Gerry of Massachusetts:%0a%3c %0a%3c "What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins." — Debate, U.S. House of Representatives, August 17, 1789%0a%3c %0a%3c %0a%3c %0a%3c Patrick Henry of Virginia:%0a%3c %0a%3c "Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel." — Virginia's U.S. Constitution ratification convention%0a%3c %0a%3c %0a%3c %0a%3c For more information, see Halbrook, Stephen P., "The Right of the People or the Power of the State: Bearing Arms, Arming Militias, and the Second Amendment," Valparaiso Univ. Law Review, Vol. 26, No. 1, Fall, 1991; and "That Every Man Be Armed: The Evolution of a Constitutional Right," Univ. of N.M. Press, 1984%0a---%0a> George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a\ No newline at end of file%0a +host:1596341182=38.81.163.143 +author:1596339550=jrmu +diff:1596339550:1596339550:=1,247d0%0a%3c “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a%3c %0a%3c “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a%3c %0a%3c “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.” ~ First Annual Message to Congress on the State of the Union, January 8, 1790%0a%3c %0a%3c “By teaching the people themselves to know and to value their own rights; to discern and provide against invasions of them; to distinguish between oppression and the necessary exercise of lawful authority; between burthens [archaic version of ‘burdens’] proceeding from a disregard to their convenience and those resulting from the inevitable exigencies of society; to discriminate the spirit of liberty from that of licentiousness [archaic version of ‘promiscuity’]—cherishing the first, avoiding the last—and uniting a speedy by temperate vigilance against encroachments, with an inviolable respect to the laws.” ~ First Annual Message to Congress on the State of the Union, January 8, 1790%0a%3c %0a%3c “The [militia] is certainly an object of primary importance whether viewed in reference to the national security to the satisfaction of the community or to the preservation of order. In connection with this the establishment of competent magazines and arsenals and the fortification of such places as are peculiarly important and vulnerable naturally present themselves to consideration.” ~ Third Annual Message, October 25, 1791%0a%3c %0a%3c Read more about George Washington here.%0a%3c %0a%3c Read more quotes by George Washington here.%0a%3c Thomas Jefferson%0a%3c %0a%3c “I would rather be exposed to the inconveniences attending too much liberty than to those attending too small a degree of it.” ~ letter to Archibald Stuart, Philadelphia, December 23, 1791 (Technically, this quote is not referring directly to the second amendment, but rather refers to the writing of the constitution. We included it because it is concerns the amount of control the government should have.)%0a%3c %0a%3c “The constitutions of most of our States assert, that all power is inherent in the people; that they may exercise it by themselves … or they may act by representatives, freely and equally chosen; that it is their right and duty to be at all times armed; that they are entitled to freedom of person, freedom of religion, freedom of property, and freedom of the press.” ~ Letter to Major John Cartwright, June 5, 1824%0a%3c %0a%3c Read more about Thomas Jefferson here.%0a%3c Benjamin Franklin%0a%3c %0a%3c “They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.” ~ Memoirs of the life and writings of Benjamin Franklin, 1818%0a%3c %0a%3c Read more quotes by Benjamin Franklin%0a%3c %0a%3c Read more about Benjamin Franklin%0a%3c John Adams%0a%3c %0a%3c “Here every private person is authorized to arm himself, and on the strength of this authority, I do not deny the inhabitants had a right to arm themselves at that time, for their defense, not for offence.” ~ In defense of the soldiers on trial for the Boston Massacre.%0a%3c %0a%3c “The only maxim of a free government ought to be to trust no man living with power to endanger the public liberty.” ~ notes for an oration at Braintree, Spring 1772%0a%3c %0a%3c Read more about John Adams.%0a%3c James Madison%0a%3c %0a%3c “In framing a government which is to be administered by men over men, the great difficulty lies in this: you must first enable the government to control the governed; and in the next place oblige it to control itself. A dependence on the people is, no doubt, the primary control on the government; but experience has taught mankind the necessity of auxiliary precautions.” ~ The Federalist No. 51, February 6, 1788%0a%3c %0a%3c “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments … forms a foorier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of. Notwithstanding the military establishments of the several kingdoms of Europe, the governments are afraid to trust the people with arms.” ~ The Federalist No. 46, January 29, 1788%0a%3c %0a%3c Read more about James Madison here.%0a%3c Patrick Henry%0a%3c %0a%3c “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel. Unfortunately, nothing will preserve it but downright force.” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a%3c %0a%3c “My great objection to this government is, that it does not leave us the means of defending our rights, or of waging war against tyrants.” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a%3c %0a%3c “Where and when did freedom exist when the power of the sword and purse were given up from the people?” ~ Virginia’s Constitution ratification convention, June 5, 1788%0a%3c %0a%3c Read more about Patrick Henry here.%0a%3c Thomas Paine%0a%3c %0a%3c “I would gladly agree with all the world to lay aside the use of arms, and settle matters by negotiation; but unless the whole will, the matter ends, and I take up my musket and thank heaven he has put it in my power. Whoever considers the unprincipled enemy we have to cope with, will not hesitate to declare that nothing but arms or miracles can reduce them to reason and moderation. They have lost sight of the limits of humanity.” Thoughts on Defensive War, 1775%0a%3c %0a%3c “Arms like laws discourage and keep the invader and the plunderer in awe, and preserve order in the world as well as property. The balance of power is the scale of peace. The same balance would be preserved were all the world destitute of arms, for all would be alike; but since some will not others dare not lay them aside. And while a single nation refuses to lay them down, it is proper that all should keep them up. Horrid mischief would ensue were one half the world deprived of the use of them; for while avarice and ambition have a place in the heart of man, the weak will become a prey to the strong. The history of every age and nation establishes these truths, and facts need but little arguments when they prove themselves.” Thoughts on Defensive War, 1775%0a%3c %0a%3c Read more about Thomas Paine here.%0a%3c Samuel Adams%0a%3c %0a%3c “The truth is, all might be free, if they valued freedom and defended it as they ought.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a%3c %0a%3c “The liberties of our Country, the freedom of our civil constitution are worth defending at all hazards: And it is our duty to defend them against all attacks. We have receiv’d them as a fair Inheritance from our worthy Ancestors: They purchas’d them for us with toil and danger and expence of treasure and blood; and transmitted them to us with care and diligence. It will bring an everlasting mark of infamy on the present generation, enlightened as it is, if we should suffer them to be wrested from us by violence without a struggle; or be cheated out of them by the artifices of false and designing men. Of the latter we are in most danger at present: Let us therefore be aware of it. Let us contemplate our forefathers and posterity; and resolve to maintain the rights bequeath’d to us from the former, for the sake of the latter—instead of sitting down satisfied with the efforts we have already made, which is the wish of our enemies, the necessity of the times, more than ever, calls for our utmost circumspection, deliberation, fortitude, and perseverance. Let us remember that ‘if we suffer tamely a lawless attack upon our liberty, we encourage it, and involve others in our doom.’ It is a very serious consideration, which should deeply impress our minds, that millions yet unborn may be the miserable sharers of the event.” ~ published in the Boston Gazette, October 14, 1771 under the name “Candidus”%0a%3c %0a%3c “Among the natural rights of the Colonists are these: First, a right to life; Secondly, to liberty; Thirdly, to property; together with the right to support and defend them in the best manner they can. These are evident branches of, rather than deductions from, the duty of self-preservation, commonly called the first law of nature.” ~ The Rights of the Colonists, 1772%0a%3c %0a%3c Read more about Samuel Adams here.%0a%3c George Mason%0a%3c %0a%3c “When the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually, by totally disusing and neglecting the militia … Why should we not provide against the danger of having our militia, our real and natural strength, destroyed? The general government ought, at the same time, to have some such power. But we need not give them power to abolish our militia.” ~ Debate in Virginia Ratifying Convention June 14, 1788%0a%3c %0a%3c “That the People have a right to keep and bear arms; that a well regulated militia, composed of the body of the people, trained to arms, is the proper, natural, and safe defense of a free state.” ~ %0a%3c %0a%3c Within Mason’s declaration of “the essential and unalienable Rights of the People”, later adopted by the Virginia ratification convention (1788).%0a%3c Samuel Nasson%0a%3c %0a%3c Nasson is not a well-known Founding Father, so not much is written on him on this site. He was a captain in the Continental Army and after the war he rose in his local political hierarchy to the Massachusetts General Court. He was a delegate to the state ratifying convention and was one of the Maine territory’s most important Antifederalists. He strongly opposed the three-fifth’s compromise because it gave too much power to one party. He believed that the Constitution did not provide for the people’s rights and made the United States Government too much like Britain’s. He also opposed federal taxation power, standing armies, or the right to bear arms in peacetime.%0a%3c %0a%3c “Only think how fatal [arms] were to the peace of this country in 1770, what confusion they brought on the fatal 5 of March [the Boston Massacre]. I think the remembrance of that night is enough to make us careful how we introduce them in a free republican government—I therefore hope they will be discouraged for I think the man that enters as a soldier in a time of peace only for a living is only a fit tool to enslave his fellows.” ~ Letter to George Thatcher, July 9, 1787%0a%3c Noah Webster%0a%3c %0a%3c Noah Webster is sometimes listed as a Founding Father, but more frequently is called the “Father of American Scholarship and Education”. He discarded the traditional British lesson plans and educational books for children that were “corrupted by British aristocracy” and wrote his own—updating and “americanizing” the spelling—which were used for generations. It is his name that we use on the Merriam-Webster Dictionary.%0a%3c %0a%3c He was an avid Federalist and as such, severely disliked Jeffersonian Republicans. He helped found an anti-slavery society, but wrote to his daughter: “Slavery is a great sin and a general calamity—but it is not our sin, though it may prove to be a terrible calamity to us in the North. But we cannot legally interfere with the South on this subject … To come north to preach and thus disturb our peace, when we can legally do nothing to effect this object, is, in my view, highly criminal and the preachers of abolitionism deserve the penitentiary.”%0a%3c %0a%3c “Another source of power in government is a military force. But this, to be efficient, must be superior to any force that exists among the people, or which they can command; for otherwise, this force would be annihilated, on the first exercise of acts of oppression. Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretense raised in the United States.” ~ “An Examination Into the Leading Principles of the Federal Constitution Proposed by the Late Convention Held at Philadelphia, With Answers to the Principal Objections that Have Been Raised Against the System” January 1, 1787%0a%3c %0a%3c Post navigation%0a%3c George Read%0a%3c Declaration of Independence Transcription%0a%3c Popular Articles%0a%3c %0a%3c Articles of Confederation Transcript%0a%3c North and South Carolina Colony%0a%3c Bill of Rights: Unratified Amendments to the United States Constitution%0a%3c Roanoke: “The Lost Colony”%0a%3c Plymouth Colony%0a%3c Richard Stockton%0a%3c Colonial History%0a%3c Caesar Rodney%0a%3c Charles Carroll of Carrollton%0a%3c New Netherland%0a%3c Richard Henry Lee%0a%3c Aaron Burr%0a%3c George Clymer%0a%3c Thomas Stone%0a%3c Famous American History Documents%0a%3c Philip Livingston%0a%3c General John Sullivan%0a%3c Thomas Heyward, Jr.%0a%3c Francis Lewis%0a%3c George Wythe%0a%3c George Ross%0a%3c Carter Braxton%0a%3c John Penn%0a%3c Thomas Lynch%0a%3c Bill of Rights Amendments to the US Constitution%0a%3c Lyman Hall%0a%3c Francis Hopkinson%0a%3c George Walton%0a%3c William Ellery%0a%3c Arthur Middleton%0a%3c John Morton%0a%3c Edward Rutledge%0a%3c William Whipple%0a%3c Francis Lightfoot Lee%0a%3c James Smith%0a%3c Matthew Thornton%0a%3c US Constitution Text: The Most Famous of Historical Documents%0a%3c John Witherspoon%0a%3c Abraham Clark%0a%3c Joseph Hewes%0a%3c Thomas McKean%0a%3c Revolutionary-War.net Bookshelf%0a%3c William Floyd%0a%3c Lewis Morris%0a%3c William Hooper%0a%3c Josiah footlett%0a%3c Samuel Chase%0a%3c Francis Salvador%0a%3c Stephen Hopkins%0a%3c Royal Proclamation of 1763%0a%3c %0a%3c © Revolutionary War 2010-2020%0a%3c Privacy Policy | Terms & Conditions | Cookies Policy %0a%3c %0a%3c %0a%3c Thomas Jefferson, of Virginia:%0a%3c %0a%3c “No free man shall ever be debarred the use of arms.” — Proposed Virginia Constitution, 1776%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c “Laws that forbid the carrying of arms. . . disarm only those who are neither inclined nor determined to commit crimes. . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man.” — Jefferson`s “Commonplace Book,” 1774-1776, quoting from On Crimes and Punishment, by criminologist Cesare Beccaria, 1764%0a%3c George Mason, of Virginia:%0a%3c %0a%3c TRENDING: CBS Mail-In Voting Experiment Blows Dem Narrative, Yields Troubling Results, 3%25 of Ballots Never Received%0a%3c %0a%3c “[W]hen the resolution of enslaving America was formed in Great Britain, the British Parliament was advised by an artful man, who was governor of Pennsylvania, to disarm the people; that it was the best and most effectual way to enslave them; but that they should not do it openly, but weaken them, and let them sink gradually.”. . . I ask, who are the militia? They consist now of the whole people, except a few public officers.” — Virginia`s U.S. Constitution ratification convention, 1788%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c “That the People have a right to keep and bear Arms; that a well regulated Militia, composed of the Body of the People, trained to arms, is the proper, natural, and safe Defence of a free state.” — Within Mason`s declaration of “the essential and unalienable Rights of the People,” — later adopted by the Virginia ratification convention, 1788%0a%3c %0a%3c 90492-050-98565DFB%0a%3c Samuel Adams, of Massachusetts:%0a%3c %0a%3c “The said Constitution [shall] be never construed to authorize Congress to infringe the just liberty of the press, or the rights of conscience; or to prevent the people of the United States, who are peaceable citizens, from keeping their own arms.” — Massachusetts` U.S. Constitution ratification convention, 1788%0a%3c William Grayson, of Virginia:%0a%3c %0a%3c “[A] string of amendments were presented to the lower House; these altogether respected personal liberty.” — Letter to Patrick Henry, June 12, 1789, referring to the introduction of what became the Bill of Rights%0a%3c %0a%3c Advertisement - story continues below%0a%3c Richard Henry Lee, of Virginia:%0a%3c %0a%3c “A militia when properly formed are in fact the people themselves . . . and include all men capable of bearing arms. . . To preserve liberty it is essential that the whole body of people always possess arms… The mind that aims at a select militia, must be influenced by a truly anti-republican principle.” — Additional Letters From The Federal Farmer, 1788%0a%3c %0a%3c RELATED: Congressman Mo Brooks Sticks To His Guns After Alexandria Shooting%0a%3c %0a%3c James_Madison_by_Gilbert_Stuart%0a%3c James Madison, of Virginia:%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c The Constitution preserves “the advantage of being armed which Americans possess over the people of almost every other nation. . . (where) the governments are afraid to trust the people with arms.” — The Federalist, No. 46%0a%3c Tench Coxe, of Pennsylvania:%0a%3c %0a%3c “The militia, who are in fact the effective part of the people at large, will render many troops quite unnecessary. They will form a powerful check upon the regular troops, and will generally be sufficient to over-awe them.” — An American Citizen, Oct. 21, 1787%0a%3c %0a%3c “Who are the militia? Are they not ourselves? Congress have no power to disarm the militia. Their swords and every other terrible implement of the soldier, are the birthright of an American . . . . The unlimited power of the sword is not in the hands of either the federal or state governments, but, where I trust in God it will ever remain, in the hands of the people.” — The Pennsylvania Gazette, Feb. 20, 1788%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c “As the military forces which must occasionally be raised to defend our country, might pervert their power to the injury of their fellow citizens, the people are confirmed by the next article (of amendment) in their right to keep and bear their private arms.” — Federal Gazette, June 18, 1789%0a%3c Noah Webster, of Pennsylvania:%0a%3c %0a%3c “Before a standing army can rule, the people must be disarmed; as they are in almost every kingdom in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops that can be, on any pretence, raised in the United States. A military force, at the command of Congress, can execute no laws, but such as the people perceive to be just and constitutional; for they will possess the power.” — An Examination of The Leading Principles of the Federal Constitution, Philadelphia, 1787%0a%3c %0a%3c Alexander_Hamilton_portrait_by_John_Trumbull_1806%0a%3c %0a%3c Advertisement - story continues below%0a%3c Alexander Hamilton, of New York:%0a%3c %0a%3c “[I]f circumstances should at any time oblige the government to form an army of any magnitude, that army can never be formidable to the liberties of the people while there is a large body of citizens, little if at all inferior to them in discipline and the use of arms, who stand ready to defend their rights and those of their fellow citizens.” — The Federalist, No. 29%0a%3c Thomas Paine, of Pennsylvania:%0a%3c %0a%3c “[A]rms discourage and keep the invader and plunderer in awe, and preserve order in the world as well as property. . . Horrid mischief would ensue were the law-abiding deprived of the use of them.” — Thoughts On Defensive War, 1775%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c 4795007871%0a%3c Fisher Ames, of Massachusetts:%0a%3c %0a%3c “The rights of conscience, of bearing arms, of changing the government, are declared to be inherent in the people.” — Letter to F.R. Minoe, June 12, 1789%0a%3c %0a%3c Advertisement - story continues below%0a%3c Elbridge Gerry, of Massachusetts:%0a%3c %0a%3c “What, sir, is the use of militia? It is to prevent the establishment of a standing army, the bane of liberty. . . Whenever Government means to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise a standing army upon its ruins.” — Debate, U.S. House of Representatives, August 17, 1789%0a%3c %0a%3c PatrickHenry%0a%3c Patrick Henry, of Virginia:%0a%3c %0a%3c Advertisement - story continues below%0a%3c %0a%3c “Guard with jealous attention the public liberty. Suspect everyone who approaches that jewel.” — Virginia`s U.S. Constitution ratification convention%0a%3c %0a%3c “I ask who are the militia? They consist now of the whole people, except a few public officers.” – George Mason, Address to the Virginia Ratifying Convention, June 4, 1788%0a%3c %0a%3c “Besides the advantage of being armed, which the Americans possess over the people of almost every other nation, the existence of subordinate governments, to which the people are attached, and by which the militia officers are appointed, forms a barrier against the enterprises of ambition, more insurmountable than any which a simple government of any form can admit of.” – James Madison, Federalist No. 46, January 29, 1788%0a%3c %0a%3c “The right of the people to keep and bear arms shall not be infringed. A well regulated militia, composed of the body of the people, trained to arms, is the best and most natural defense of a free country.” – James Madison, I Annals of Congress 434, June 8, 1789%0a%3c %0a%3c “The Constitution shall never be construed to prevent the people of the United States who are peaceable citizens from keeping their own arms.” – Samuel Adams, Massachusetts Ratifying Convention, 1788%0a%3c %0a%3c “What, Sir, is the use of a militia? It is to prevent the establishment of a standing army, the bane of liberty …. Whenever Governments mean to invade the rights and liberties of the people, they always attempt to destroy the militia, in order to raise an army upon their ruins.” – Rep. Elbridge Gerry of Massachusetts, I Annals of Congress 750, August 17, 1789%0a%3c %0a%3c “If the representatives of the people betray their constituents, there is then no resource left but in the exertion of that original right of self-defense which is paramount to all positive forms of government, and which against the usurpations of the national rulers, may be exerted with infinitely better prospect of success than against those of the rulers of an individual state. In a single state, if the persons entrusted with supreme power become usurpers, the different parcels, subdivisions, or districts of which it consists, having no distinct government in each, can take no regular measures for defense. The citizens must rush tumultuously to arms, without concert, without system, without resource; except in their courage and despair.” – Alexander Hamilton, Federalist No. 28%0a%3c %0a%3c “[I]f circumstances should at any time oblige the government to form an army of any magnitude that army can never be formidable to the liberties of the people while there is a large body of citizens, little, if at all, inferior to them in discipline and the use of arms, who stand ready to defend their own rights and those of their fellow-citizens. This appears to me the only substitute that can be devised for a standing army, and the best possible security against it, if it should exist.” – Alexander Hamilton, Federalist No. 28, January 10, 1788%0a%3c %0a%3c To disarm the people…[i]s the most effectual way to enslave them.” – George Mason, referencing advice given to the British Parliament by Pennsylvania governor Sir William Keith, The Debates in the Several State Conventions on the Adoption of the Federal Constitution, June 14, 1788%0a%3c %0a%3c In light of the overwhelming evidence from the men who crafted the Declaration, wrote the Constitution, included the Bill of Rights, and led the United States during its first decades of existence it is abundantly clear to all but the very gullible (or those who would impose tyranny), that our founders wished us to be armed. They demanded we be armed. And in force, capability and training so as to thwart any infringement by a runaway government. Noah Webster, often considered the father of American Education and Scholarship wrote:%0a%3c %0a%3c “Before a standing army can rule, the people must be disarmed, as they are in almost every country in Europe. The supreme power in America cannot enforce unjust laws by the sword; because the whole body of the people are armed, and constitute a force superior to any band of regular troops.” – Noah Webster, An Examination of the Leading Principles of the Federal Constitution, October 10, 1787%0a%3c %0a%3c George Washington was concerned that a Civilian Militia would be lacking in training and organization, and so he wrote, “A free people ought not only to be armed, but disciplined; to which end a uniform and well-digested plan is requisite; and their safety and interest require that they should promote such manufactories as tend to render them independent of others for essential, particularly military, supplies.”%0a\ No newline at end of file%0a +host:1596339550=38.81.163.143 blob - /dev/null blob + 0d470de285157c2fc732158e0aae2388a09f70ac (mode 644) --- /dev/null +++ wiki.d/Freedom.Freedom @@ -0,0 +1,454 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596257155 +host=198.251.81.119 +name=Freedom.Freedom +rev=147 +targets=Freedom.Selfadmin,Freedom.Federation,Freedom.Fork,Ircnow.Constitution,Freedom.Religion,Freedom.Press,Freedom.Software,Freedom.Privacy,Freedom.Homestead,Freedom.Madeonirc,Freedom.Unix,Freedom.Startupdream,Freedom.Openforeveryone,Freedom.Dueprocess,Freedom.Checks,Freedom.Rulebylaw,Freedom.Independence +text=(:title Of the Users, By the Users, For the Users:)%0a%0a%25center%25 %25width=40pct%25 Attach:Marketing/wetheusers.png%0a%0aWe hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a%0aWe here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a%0a|| border=1 width=100%25 cellpadding=5 class="simpletable"%0a||! LAN of the Free and /home of the Brave ||||||||||||%0a|| [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a||! This LAN was Made for You and Me ||||||||||||%0a|| [[freedom/religion|Religious Liberty]] || [[freedom/press|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a||! LAN of Opportunity ||||||||||||%0a|| [[freedom/homestead|Free Homestead VPS]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a||! With Liberty and Justice for All! ||||||||||||%0a|| [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a||! [[Freedom/Independence|Declaration of Network Independence]] |||||||||||| +time=1623575594 +title=Of the Users, By the Users, For the Users +author:1623575594=jrmu +diff:1623575594:1614005644:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/press|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a +host:1623575594=198.251.81.119 +author:1614005644=jrmu +diff:1614005644:1613380118:=18c18%0a%3c ||! [[Freedom/Independence|Declaration of Network Independence]] ||||||||||||%0a\ No newline at end of file%0a---%0a> ||! [[Freedom/Independence|Network Independence]] ||||||||||||%0a\ No newline at end of file%0a +host:1614005644=198.251.81.119 +author:1613380118=jrmu +diff:1613380118:1613380098:=18c18%0a%3c ||! [[Freedom/Independence|Network Independence]] ||||||||||||%0a\ No newline at end of file%0a---%0a> || [[Freedom/Independence|Declaration of Net Independence]] ||||||||||||%0a\ No newline at end of file%0a +host:1613380118=198.251.81.119 +author:1613380098=jrmu +diff:1613380098:1613378325:=18c18%0a%3c || [[Freedom/Independence|Declaration of Net Independence]] ||||||||||||%0a\ No newline at end of file%0a---%0a> || [[Freedom/Independence|Network Independence]] ||||||||||||%0a\ No newline at end of file%0a +host:1613380098=198.251.81.119 +author:1613378325=jrmu +diff:1613378325:1612859142:=17,18c17%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a%3c || [[Freedom/Independence|Network Independence]] ||||||||||||%0a\ No newline at end of file%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a +host:1613378325=198.251.81.119 +author:1612859142=jrmu +diff:1612859142:1612859123:=5,7c5,7%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a%3c %0a%3c We here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> ->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a> %0a> ->We here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1612859142=198.251.81.119 +author:1612859123=jrmu +diff:1612859123:1612858781:=5,7c5,7%0a%3c ->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a%3c %0a%3c ->We here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a> %0a> We here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1612859123=198.251.81.119 +author:1612858781=jrmu +diff:1612858781:1612662044:= +host:1612858781=198.251.81.119 +author:1612662044=jrmu +diff:1612662044:1612662031:=9c9%0a%3c || border=1 width=100%25 cellpadding=5 class="simpletable"%0a---%0a> || border=1 width=100%25 cellpadding=5 class="sortable simpletable"%0a +host:1612662044=198.251.81.119 +author:1612662031=jrmu +diff:1612662031:1612662019:=10c10%0a%3c ||! LAN of the Free and /home of the Brave ||||||||||||%0a---%0a> ||!! LAN of the Free and /home of the Brave ||||||||||||%0a12c12%0a%3c ||! This LAN was Made for You and Me ||||||||||||%0a---%0a> ||!! This LAN was Made for You and Me ||||||||||||%0a14c14%0a%3c ||! LAN of Opportunity ||||||||||||%0a---%0a> ||!! LAN of Opportunity ||||||||||||%0a16c16%0a%3c ||! With Liberty and Justice for All! ||||||||||||%0a---%0a> ||!! With Liberty and Justice for All! ||||||||||||%0a +host:1612662031=198.251.81.119 +author:1612662019=jrmu +diff:1612662019:1612661991:=9,10c9,10%0a%3c || border=1 width=100%25 cellpadding=5 class="sortable simpletable"%0a%3c ||!! LAN of the Free and /home of the Brave ||||||||||||%0a---%0a> || border=1 width=100%25 class="sortable simpletable"%0a> || LAN of the Free and /home of the Brave ||||||||||||%0a12c12%0a%3c ||!! This LAN was Made for You and Me ||||||||||||%0a---%0a> || This LAN was Made for You and Me ||||||||||||%0a14c14%0a%3c ||!! LAN of Opportunity ||||||||||||%0a---%0a> || LAN of Opportunity ||||||||||||%0a16c16%0a%3c ||!! With Liberty and Justice for All! ||||||||||||%0a---%0a> || With Liberty and Justice for All! ||||||||||||%0a +host:1612662019=198.251.81.119 +author:1612661991=jrmu +diff:1612661991:1612630434:=9c9%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25 cellpadding=5%0a +host:1612661991=198.251.81.119 +author:1612630434=jrmu +diff:1612630434:1612612795:=11c11%0a%3c || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution & Bill of Rights]] ||%0a---%0a> || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution]] ||%0a +host:1612630434=198.251.81.119 +author:1612612795=jrmu +diff:1612612795:1612612123:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a +host:1612612795=198.251.81.119 +author:1612612123=jrmu +diff:1612612123:1612573905:=17c17,19%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a> %0a> [[freedom/union|Unity]]%0a\ No newline at end of file%0a +host:1612612123=198.251.81.119 +author:1612573905=jrmu +diff:1612573905:1612522400:=17,19c17%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/dueprocess|Due Process]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a%3c %0a%3c [[freedom/union|Unity]] %0a\ No newline at end of file%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/union|Unity]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a +host:1612573905=198.251.81.119 +author:1612522400=jrmu +diff:1612522400:1612522384:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No Central Censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No central censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a +host:1612522400=198.251.81.119 +author:1612522384=jrmu +diff:1612522384:1612519234:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No central censor]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|First Amendment]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a +host:1612522384=198.251.81.119 +author:1612519234=jrmu +diff:1612519234:1612515553:=15c15%0a%3c || [[freedom/homestead|Free Homestead VPS]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a17c17%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/union|Unity]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/union|Unity]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a +host:1612519234=198.251.81.119 +author:1612515553=jrmu +diff:1612515553:1612515543:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/dream|The Startup Dream]] ||%0a +host:1612515553=198.251.81.119 +author:1612515543=jrmu +diff:1612515543:1612515490:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/dream|The Startup Dream]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a +host:1612515543=198.251.81.119 +author:1612515490=jrmu +diff:1612515490:1612515449:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/workethic|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a +host:1612515490=198.251.81.119 +author:1612515449=jrmu +diff:1612515449:1612514351:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/workethic|Unix Work Ethic]] || [[freedom/startupdream|The Startup Dream]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/workethic|Unix Work Ethic]] || [[freedom/opportunity|Opportunity]] ||%0a +host:1612515449=198.251.81.119 +author:1612514351=jrmu +diff:1612514351:1612514329:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/workethic|Unix Work Ethic]] || [[freedom/opportunity|Opportunity]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/ethic|Unix Work Ethic]] || [[freedom/opportunity|Opportunity]] ||%0a +host:1612514351=198.251.81.119 +author:1612514329=jrmu +diff:1612514329:1612506370:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[unix/ethic|Unix Work Ethic]] || [[freedom/opportunity|Opportunity]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/opportunity|Opportunity]] ||%0a +host:1612514329=198.251.81.119 +author:1612506370=jrmu +diff:1612506370:1612506020:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|First Amendment]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No centralized censorship]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a +host:1612506370=198.251.81.119 +author:1612506020=jrmu +diff:1612506020:1612457882:=13c13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/firstamendment|No centralized censorship]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || [[freedom/censorship|No centralized censorship]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a +host:1612506020=198.251.81.119 +author:1612457882=jrmu +diff:1612457882:1612457864:=9c9%0a%3c || border=1 width=100%25 cellpadding=5%0a---%0a> || border=1 width=100%25%0a +host:1612457882=198.251.81.119 +author:1612457864=jrmu +diff:1612457864:1612457640:=9c9%0a%3c || border=1 width=100%25%0a---%0a> || border=1 width=100%25 %0a +host:1612457864=198.251.81.119 +author:1612457640=jrmu +diff:1612457640:1612457484:=9d8%0a%3c || border=1 width=100%25 %0a11a11%0a> %0a13a14%0a> %0a15a17%0a> %0a +host:1612457640=198.251.81.119 +author:1612457484=jrmu +diff:1612457484:1612457418:=16c16%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/opportunity|Opportunity]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/lanofopportunity|LAN of Opportunity]] ||%0a +host:1612457484=198.251.81.119 +author:1612457418=jrmu +diff:1612457418:1612457356:=16c16,17%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/lanofopportunity|LAN of Opportunity]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/ingenuity|Netizen Ingenuity]] ||%0a +host:1612457418=198.251.81.119 +author:1612457356=jrmu +diff:1612457356:1612457315:=19,20c19,22%0a%3c || With Liberty and Justice for All! ||||||||||||%0a%3c || [[freedom/union|Unity]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a\ No newline at end of file%0a---%0a> [[freedom/union|Unity]] || %0a> || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a> %0a> With Liberty and Justice for All!%0a\ No newline at end of file%0a +host:1612457356=198.251.81.119 +author:1612457315=jrmu +diff:1612457315:1612450809:=14c14%0a%3c %0a---%0a> [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a20d19%0a%3c || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a +host:1612457315=198.251.81.119 +author:1612450809=jrmu +diff:1612450809:1612450723:=10,11c10%0a%3c || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/fork|Freedom to Fork]] || [[ircnow/constitution|Constitution]] ||%0a%3c %0a---%0a> || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a14c13%0a%3c [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a---%0a> || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a18,19d16%0a%3c %0a%3c [[freedom/union|Unity]] || %0a +host:1612450809=198.251.81.119 +author:1612450723=jrmu +diff:1612450723:1612449909:=10c10%0a%3c || [[freedom/selfadmin|Self-Admin]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a---%0a> || [[freedom/selfadmin|Self-Admin]] || [[freedom/serversrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a +host:1612450723=198.251.81.119 +author:1612449909=jrmu +diff:1612449909:1612449786:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonirc|Made on IRC]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a---%0a> || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a +host:1612449909=198.251.81.119 +author:1612449786=jrmu +diff:1612449786:1612446320:=10c10%0a%3c || [[freedom/selfadmin|Self-Admin]] || [[freedom/serversrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a---%0a> || [[freedom/selfadmin|Self-Admin]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a +host:1612449786=198.251.81.119 +author:1612446320=jrmu +diff:1612446320:1612444812:=10c10%0a%3c || [[freedom/selfadmin|Self-Admin]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a---%0a> || [[freedom/militia|Self-Admin]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a +host:1612446320=198.251.81.119 +author:1612444812=jrmu +diff:1612444812:1612444609:=15c15%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a---%0a> || [[freedom/opentoall|Open to All]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a +host:1612444812=198.251.81.119 +author:1612444609=jrmu +diff:1612444609:1612444566:=15c15%0a%3c || [[freedom/opentoall|Open to All]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a---%0a> || [[freedom/refuge|Open to All]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a +host:1612444609=198.251.81.119 +author:1612444566=jrmu +diff:1612444566:1612444535:=16c16%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/ingenuity|Netizen Ingenuity]] ||%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/ingenuity|Netizen Ingenuity]] ||%0a +host:1612444566=198.251.81.119 +author:1612444535=jrmu +diff:1612444535:1612444498:=16c16%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/ingenuity|Netizen Ingenuity]] ||%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/diyingenuity|DIY Ingenuity]] ||%0a +host:1612444535=198.251.81.119 +author:1612444498=jrmu +diff:1612444498:1612442659:=10c10%0a%3c || [[freedom/militia|Self-Admin]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federation]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a---%0a> || [[freedom/militia|User Sysadmins]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federal Republic]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a +host:1612444498=198.251.81.119 +author:1612442659=jrmu +diff:1612442659:1612442510:=12,13c12,13%0a%3c || [[freedom/religion|Religious Liberty]] || [[freedom/censorship|No centralized censorship]] || [[freedom/software|Software Freedom]] || [[freedom/privacy|Right to Privacy]] ||%0a%3c || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] || [[freedom/checks|Checks and Balances]] || [[freedom/rulebylaw|Rule by Law]] ||%0a---%0a> || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || [[freedom/software|Software Freedom]] || [[freedom/rulebylaw|Rule by Law]] ||%0a> || [[freedom/checks|Checks and Balances]] || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a +host:1612442659=198.251.81.119 +author:1612442510=jrmu +diff:1612442510:1612440008:=9c9,10%0a%3c || LAN of the Free and /home of the Brave ||||||||||||%0a---%0a> LAN of the Free and /home of the Brave%0a> %0a11,15c12,25%0a%3c || This LAN was Made for You and Me ||||||||||||%0a%3c || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || [[freedom/software|Software Freedom]] || [[freedom/rulebylaw|Rule by Law]] ||%0a%3c || [[freedom/checks|Checks and Balances]] || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a%3c || LAN of Opportunity ||||||||||||%0a%3c || [[freedom/refuge|Open to All]] || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/unix|UNIX Philosophy]] || [[freedom/education|Public Education]] ||%0a---%0a> %0a> This LAN was Made for You and Me%0a> %0a> || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a> || [[freedom/software|Software Freedom]] ||%0a> || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a> || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a> %0a> LAN of Opportunity%0a> %0a> || [[freedom/refuge|Open to All]] %0a> || [[freedom/madeonircnow|Made on IRCNow]] ||%0a> || [[freedom/unix|UNIX Philosophy]] %0a> [[freedom/education|Public Education]] ||%0a +host:1612442510=198.251.81.119 +author:1612440008=jrmu +diff:1612440008:1612437976:=27,28d26%0a%3c %0a%3c With Liberty and Justice for All!%0a\ No newline at end of file%0a +host:1612440008=125.231.56.15 +author:1612437976=jrmu +diff:1612437976:1612436693:=15,21d14%0a%3c || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a%3c || [[freedom/software|Software Freedom]] ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a%3c || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a%3c %0a%3c LAN of Opportunity%0a%3c %0a26a20,26%0a> %0a> With Liberty and Justice For All%0a> %0a> || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a> || [[freedom/software|Software Freedom]] ||%0a> || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a> || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a +host:1612437976=125.231.56.15 +author:1612436693=jrmu +diff:1612436693:1612436497:=13c13%0a%3c This LAN was Made for You and Me%0a---%0a> LAN of Opportunity%0a +host:1612436693=198.251.81.119 +author:1612436497=jrmu +diff:1612436497:1612436383:=11,12c11,23%0a%3c || [[freedom/militia|User Sysadmins]] || [[freedom/serverrights|Servers' Rights]] || [[freedom/federation|Federal Republic]] || [[freedom/union|Unity]] || [[freedom/fork|Freedom to Fork]] || %0a%3c %0a---%0a> || [[freedom/militia|User Sysadmins]] ||%0a> || [[freedom/serverrights|Servers' Rights]] ||%0a> || [[freedom/federation|Federal Republic]] ||%0a> || [[freedom/union|Unity]] ||%0a> [[freedom/fork|Freedom to Fork]] || %0a> %0a> With Liberty and Justice For All%0a> %0a> || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a> || [[freedom/software|Software Freedom]] ||%0a> || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a> || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a> %0a19,26c30%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/diyingenuity|DIY Ingenuity]] ||%0a%3c %0a%3c With Liberty and Justice For All%0a%3c %0a%3c || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a%3c || [[freedom/software|Software Freedom]] ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a%3c || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/diyingenuity|DIY Ingenuity]] ||%0a\ No newline at end of file%0a +host:1612436497=198.251.81.119 +author:1612436383=jrmu +diff:1612436383:1612436040:=16,17d15%0a%3c %0a%3c With Liberty and Justice For All%0a +host:1612436383=198.251.81.119 +author:1612436040=jrmu +diff:1612436040:1612435796:=11c11%0a%3c || [[freedom/militia|User Sysadmins]] ||%0a---%0a> || [[freedom/refuge|Open to All]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a15,16c15%0a%3c [[freedom/fork|Freedom to Fork]] || %0a%3c %0a---%0a> %0a24,25d22%0a%3c || [[freedom/refuge|Open to All]] %0a%3c || [[freedom/madeonircnow|Made on IRCNow]] ||%0a27c24%0a%3c [[freedom/education|Public Education]] ||%0a---%0a> || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Public Education]] ||%0a +host:1612436040=198.251.81.119 +author:1612435796=jrmu +diff:1612435796:1612435614:= +host:1612435796=198.251.81.119 +author:1612435614=jrmu +diff:1612435614:1612435570:=7c7%0a%3c We here highly resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that the network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> We here highly resolve that the open standards of the Internet shall not have been written in vain. This network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1612435614=198.251.81.119 +author:1612435570=jrmu +diff:1612435570:1612435401:=7c7%0a%3c We here highly resolve that the open standards of the Internet shall not have been written in vain. This network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> The open standards of the Internet shall not have been written in vain. This network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1612435570=198.251.81.119 +author:1612435401=jrmu +diff:1612435401:1612435161:=7c7,11%0a%3c The open standards of the Internet shall not have been written in vain. This network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> Fifty years ago, the creators of the Internet brought to this world a new network, born in liberty, and dedicated to the idea that all users are created equal.%0a> %0a> Now there is a great struggle, testing whether the Internet, built on open standards, can long endure.%0a> %0a> It is our duty today to finish the work which they have started. We are determined that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not disappear from the earth.%0a +host:1612435401=198.251.81.119 +author:1612435161=jrmu +diff:1612435161:1612434786:=1,2c1,2%0a%3c (:title Of the Users, By the Users, For the Users:)%0a%3c %0a---%0a> (:title We the Users:)%0a> %0a5,6d4%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked.%0a%3c %0a11a10,11%0a> %0a> Network Principles:%0a +host:1612435161=198.251.81.119 +author:1612434786=jrmu +diff:1612434786:1612434734:= +host:1612434786=198.251.81.119 +author:1612434734=jrmu +diff:1612434734:1612434630:=13,14c13%0a%3c LAN of the Free and /home of the Brave%0a%3c %0a---%0a> %0a24,25d22%0a%3c %0a%3c LAN of Opportunity%0a +host:1612434734=198.251.81.119 +author:1612434630=jrmu +diff:1612434630:1612434425:=16d15%0a%3c || [[freedom/federation|Federal Republic]] ||%0a18a18%0a> || [[freedom/federation|Federal Republic]] ||%0a23a24%0a> %0a25c26%0a%3c || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Public Education]] ||%0a---%0a> || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Education]] ||%0a +host:1612434630=198.251.81.119 +author:1612434425=jrmu +diff:1612434425:1612434226:=14,15c14,15%0a%3c || [[freedom/refuge|Open to All]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a%3c || [[freedom/serverrights|Servers' Rights]] ||%0a---%0a> || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] || [[freedom/refuge|Open to All]] ||%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/serverrights|Servers' Rights]] ||%0a18,20c18%0a%3c || [[freedom/federation|Federal Republic]] ||%0a%3c || [[freedom/privacy|Right to Privacy]] || [[freedom/religion|Religious Liberty]] || %0a%3c || [[freedom/software|Software Freedom]] ||%0a---%0a> || [[freedom/religion|Religious Liberty]] || %0a24,25c22,23%0a%3c %0a%3c || [[freedom/unix|UNIX Philosophy]] %0a---%0a> || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a> %0a +host:1612434425=198.251.81.119 +author:1612434226=jrmu +diff:1612434226:1612434122:=13c13%0a%3c %0a---%0a> || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a15,19c15,16%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/serverrights|Servers' Rights]] ||%0a%3c || [[freedom/union|Unity]] ||%0a%3c %0a%3c || [[freedom/religion|Religious Liberty]] || %0a%3c || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/religion|Religious Liberty]] || [[freedom/serverrights|Servers' Rights]] ||%0a> || [[freedom/union|Unity]] || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a21,23d17%0a%3c %0a%3c || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a%3c %0a +host:1612434226=198.251.81.119 +author:1612434122=jrmu +diff:1612434122:1612434088:=19c19%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/diyingenuity|DIY Ingenuity]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/ingenuity|Ingenuity]] ||%0a\ No newline at end of file%0a +host:1612434122=198.251.81.119 +author:1612434088=jrmu +diff:1612434088:1612432869:= +host:1612434088=198.251.81.119 +author:1612432869=jrmu +diff:1612432869:1612432790:= +host:1612432869=198.251.81.119 +author:1612432790=jrmu +diff:1612432790:1612430995:=19c19%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] || [[freedom/ingenuity|Ingenuity]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] ||%0a\ No newline at end of file%0a +host:1612432790=198.251.81.119 +author:1612430995=jrmu +diff:1612430995:1612430981:= +host:1612430995=198.251.81.119 +author:1612430981=jrmu +diff:1612430981:1612430881:=19c19%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/selfgovernance|Self Governance]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/]] ||%0a\ No newline at end of file%0a +host:1612430981=198.251.81.119 +author:1612430881=jrmu +diff:1612430881:1612430778:=18,19c18%0a%3c || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Education]] ||%0a%3c || [[freedom/lanofopportunity|LAN of Opportunity]] || [[freedom/]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Education]] ||%0a\ No newline at end of file%0a +host:1612430881=198.251.81.119 +author:1612430778=jrmu +diff:1612430778:1612430740:=18c18%0a%3c || [[freedom/madeonircnow|Made on IRCNow]] || [[freedom/education|Education]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/madeonirc|Made on IRC]] || [[]] ||%0a\ No newline at end of file%0a +host:1612430778=198.251.81.119 +author:1612430740=jrmu +diff:1612430740:1612430679:=18c18%0a%3c || [[freedom/madeonirc|Made on IRC]] || [[]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/madeonirc]] || ||%0a\ No newline at end of file%0a +host:1612430740=198.251.81.119 +author:1612430679=jrmu +diff:1612430679:1612070057:=17,18c17%0a%3c || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a%3c || [[freedom/madeonirc]] || ||%0a\ No newline at end of file%0a---%0a> || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a +host:1612430679=198.251.81.119 +author:1612070057=jrmu +diff:1612070057:1612069953:=17c17%0a%3c || [[freedom/censorship|Decentralized Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/press|Press Freedom]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a +host:1612070057=125.224.24.163 +author:1612069953=jrmu +diff:1612069953:1611491187:=17c17%0a%3c || [[freedom/press|Press Freedom]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/censorship|Limited Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a +host:1612069953=125.224.24.163 +author:1611491187=jrmu +diff:1611491187:1611491152:=3c3%0a%3c %25center%25 %25width=40pct%25 Attach:Marketing/wetheusers.png%0a---%0a> %25width=40pct center%25 Attach:Marketing/wetheusers.png%0a +host:1611491187=125.231.20.163 +author:1611491152=jrmu +diff:1611491152:1611490998:=3c3%0a%3c %25width=40pct center%25 Attach:Marketing/wetheusers.png%0a---%0a> %25width=40pct%25 Attach:Marketing/wetheusers.png%0a +host:1611491152=125.231.20.163 +author:1611490998=jrmu +diff:1611490998:1611490965:=1,3c1%0a%3c (:title We the Users:)%0a%3c %0a%3c %25width=40pct%25 Attach:Marketing/wetheusers.png%0a---%0a> Attach:Marketing/wetheusers.png%0a +host:1611490998=125.231.20.163 +author:1611490965=jrmu +diff:1611490965:1611490927:=0a1,2%0a> (:title A More Perfect Network:)%0a> %0a +host:1611490965=125.231.20.163 +author:1611490927=jrmu +diff:1611490927:1611490897:=1c1%0a%3c (:title A More Perfect Network:)%0a---%0a> (:title We the Users:)%0a +host:1611490927=125.231.20.163 +author:1611490897=jrmu +diff:1611490897:1608373580:=1,4d0%0a%3c (:title We the Users:)%0a%3c %0a%3c Attach:Marketing/wetheusers.png%0a%3c %0a +host:1611490897=125.231.20.163 +author:1608373580=jrmu +diff:1608373580:1607390021:=11c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/religion|Religious Liberty]] || [[freedom/serverrights|Servers' Rights]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/serverrights|Servers' Rights]] ||%0a +host:1608373580=198.251.81.119 +author:1607390021=jrmu +diff:1607390021:1607389140:=11c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/serverrights|Servers' Rights]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/finances|Self Funding]] ||%0a +host:1607390021=198.251.81.119 +author:1607389140=jrmu +diff:1607389140:1607074005:=11c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/finances|Self Funding]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/denomination|No Official Religion]] ||%0a +host:1607389140=198.251.81.119 +author:1607074005=jrmu +diff:1607074005:1606882520:=11c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Religious Liberty]] || [[freedom/denomination|No Official Religion]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Religion]] ||%0a +host:1607074005=198.251.81.119 +author:1606882520=jrmu +diff:1606882520:1606882494:=5c5%0a%3c It is our duty today to finish the work which they have started. We are determined that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not disappear from the earth.%0a---%0a> It is our duty today to finish the work which they have so far advanced. We are determined that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not disappear from the earth.%0a +host:1606882520=125.224.25.38 +author:1606882494=jrmu +diff:1606882494:1606882481:=3c3%0a%3c Now there is a great struggle, testing whether the Internet, built on open standards, can long endure.%0a---%0a> Now there is a great struggle, testing whether this Internet, built on open standards, can long endure.%0a +host:1606882494=125.224.25.38 +author:1606882481=jrmu +diff:1606882481:1602898101:=1c1%0a%3c Fifty years ago, the creators of the Internet brought to this world a new network, born in liberty, and dedicated to the idea that all users are created equal.%0a---%0a> Five decades ago, the creators of the Internet brought to this world a new network, born in liberty, and dedicated to the idea that all users are created equal.%0a +host:1606882481=125.224.25.38 +author:1602898101=jrmu +diff:1602898101:1597893479:=11c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Religion]] ||%0a---%0a> || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] ||%0a +host:1602898101=125.231.17.204 +author:1597893479=jrmu +diff:1597893479:1597055330:=1,5c1,5%0a%3c Five decades ago, the creators of the Internet brought to this world a new network, born in liberty, and dedicated to the idea that all users are created equal.%0a%3c %0a%3c Now there is a great struggle, testing whether this Internet, built on open standards, can long endure.%0a%3c %0a%3c It is our duty today to finish the work which they have so far advanced. We are determined that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not disappear from the earth.%0a---%0a> Five decades ago, the architects of the Internet brought forth on this world a new network, conceived in liberty, and dedicated to the proposition that all users are created equal.%0a> %0a> Now there is a great struggle, testing whether a global Internet, built on open standards, so conceived and so dedicated, can long endure.%0a> %0a> We are dedicated here to the unfinished work which they have so nobly advanced. We resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1597893479=38.81.163.143 +author:1597055330=jrmu +diff:1597055330:1597054216:=13c13,20%0a%3c || [[freedom/censorship|Limited Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a\ No newline at end of file%0a---%0a> || [[freedom/censorship|Limited Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a> %0a> (:if false:)%0a> Why Federation:%0a> %0a> %0a> %0a> (:ifend:)%0a\ No newline at end of file%0a +host:1597055330=38.81.163.143 +author:1597054216=jrmu +diff:1597054216:1597053707:=14c14%0a%3c %0a---%0a> || [[freedom/centralized|Join, or Die]] ||%0a +host:1597054216=38.81.163.143 +author:1597053707=jrmu +diff:1597053707:1597053690:=14c14%0a%3c || [[freedom/centralized|Join, or Die]] ||%0a---%0a> || [[freedom/centralized|Join, or Die]] |%0a +host:1597053707=38.81.163.143 +author:1597053690=jrmu +diff:1597053690:1597053383:=12d11%0a%3c || [[freedom/union|Unity]] || [[freedom/rulebylaw|Rule by Law]] || [[freedom/checks|Checks and Balances]] ||%0a14c13%0a%3c || [[freedom/centralized|Join, or Die]] |%0a---%0a> %0a18c17,20%0a%3c %0a---%0a> [[freedom/centralized|Join, or Die]]%0a> [[freedom/union|Unity]]%0a> [[freedom/rulebylaw|Rule by Law]]%0a> [[freedom/checks|Checks and Balances]]%0a +host:1597053690=38.81.163.143 +author:1597053383=jrmu +diff:1597053383:1597053352:=14c14%0a%3c (:if false:)%0a---%0a> (:comment %0a22c22%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> :)%0a\ No newline at end of file%0a +host:1597053383=38.81.163.143 +author:1597053352=jrmu +diff:1597053352:1597053138:=14d13%0a%3c (:comment %0a21,22d19%0a%3c %0a%3c :)%0a\ No newline at end of file%0a +host:1597053352=38.81.163.143 +author:1597053138=jrmu +diff:1597053138:1597053018:=12a13,16%0a> %0a> Why Freedom:%0a> %0a> [[freedom/republic|Republic]]%0a +host:1597053138=38.81.163.143 +author:1597053018=jrmu +diff:1597053018:1597052836:=16a17%0a> [[freedom/education|Education]]%0a +host:1597053018=38.81.163.143 +author:1597052836=jrmu +diff:1597052836:1597052042:=15a16%0a> [[freedom/equalaccess|Equal Access]]%0a +host:1597052836=38.81.163.143 +author:1597052042=jrmu +diff:1597052042:1597050157:=15a16%0a> [[freedom/vendorlockin|Vendor Lock-in]]%0a +host:1597052042=38.81.163.143 +author:1597050157=jrmu +diff:1597050157:1597050098:=12,13c12,13%0a%3c || [[freedom/censorship|Limited Censorship]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a%3c %0a---%0a> || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a> %0a15a16%0a> [[freedom/censorship|Censorship]]%0a +host:1597050157=38.81.163.143 +author:1597050098=jrmu +diff:1597050098:1597044976:=18a19%0a> [[freedom/selfhost|Self Hosting]]%0a +host:1597050098=38.81.163.143 +author:1597044976=jrmu +diff:1597044976:1597044961:=12c12%0a%3c || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]] ||%0a---%0a> || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a +host:1597044976=38.81.163.143 +author:1597044961=jrmu +diff:1597044961:1597044620:=12c12,13%0a%3c || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a---%0a> || [[ircnow/constitution#billofrights|Bill of Rights]] ||%0a> || [[ircnow/constitution|Constitution]]||%0a +host:1597044961=38.81.163.143 +author:1597044620=jrmu +diff:1597044620:1597044100:=22d21%0a%3c [[freedom/education|Education]]%0a +host:1597044620=38.81.163.143 +author:1597044100=jrmu +diff:1597044100:1597041598:=11,12c11%0a%3c || [[freedom/unix|UNIX Philosophy]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] ||%0a%3c || [[ircnow/constitution#billofrights|Bill of Rights]] ||%0a---%0a> || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] || [[ircnow/constitution#billofrights|Bill of Rights]] ||%0a +host:1597044100=38.81.163.143 +author:1597041598=jrmu +diff:1597041598:1597041573:=7c7%0a%3c Network Principles:%0a---%0a> Our Founding Principles:%0a +host:1597041598=38.81.163.143 +author:1597041573=jrmu +diff:1597041573:1597041501:=9,12c9,11%0a%3c || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] ||%0a%3c || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] || [[freedom/refuge|Open to All]] ||%0a%3c || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] || [[ircnow/constitution#billofrights|Bill of Rights]] ||%0a%3c || [[ircnow/constitution|Constitution]]||%0a---%0a> || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] || [[freedom/privacy|Right to Privacy]] ||%0a> || [[freedom/federation|Federal Republic]] || [[freedom/refuge|Open to All]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] ||%0a> [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a +host:1597041573=38.81.163.143 +author:1597041501=jrmu +diff:1597041501:1597023929:=9,11c9,10%0a%3c || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] || [[freedom/privacy|Right to Privacy]] ||%0a%3c || [[freedom/federation|Federal Republic]] || [[freedom/refuge|Open to All]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] ||%0a%3c [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a---%0a> || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] ||%0a> || [[freedom/refuge|Open to All]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a +host:1597041501=38.81.163.143 +author:1597023929=jrmu +diff:1597023929:1597023887:=9c9%0a%3c || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|User Sysadmins]] || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] ||%0a---%0a> || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|Citizen Sysadmins]] || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] ||%0a +host:1597023929=38.81.163.143 +author:1597023887=jrmu +diff:1597023887:1597023770:=9,10c9,18%0a%3c || [[freedom/software|Software Freedom]] || [[freedom/fork|Freedom to Fork]] || [[freedom/militia|Citizen Sysadmins]] || [[freedom/privacy|Right to Privacy]] || [[freedom/federation|Federal Republic]] ||%0a%3c || [[freedom/refuge|Open to All]] || [[freedom/christian|Christian Liberty]] || [[freedom/denomination|No Official Denomination]] || [[ircnow/constitution#billofrights|Bill of Rights]] || [[ircnow/constitution|Constitution]]||%0a---%0a> [[freedom/software|Software Freedom]]%0a> [[freedom/fork|Freedom to Fork]]%0a> [[freedom/militia|Citizen Sysadmins]]%0a> [[freedom/privacy|Right to Privacy]]%0a> [[freedom/federation|Federal Republic]]%0a> [[freedom/refuge|Open to All]]%0a> [[freedom/christian|Christian Liberty]]%0a> [[freedom/denomination|No Official Denomination]]%0a> [[ircnow/constitution#billofrights|Bill of Rights]]%0a> [[ircnow/constitution|Constitution]]%0a +host:1597023887=38.81.163.143 +author:1597023770=jrmu +diff:1597023770:1597022933:=16c16%0a%3c [[freedom/denomination|No Official Denomination]]%0a---%0a> [[freedom/denomination|No Denominations]]%0a +host:1597023770=38.81.163.143 +author:1597022933=jrmu +diff:1597022933:1597022352:=15,16d14%0a%3c [[freedom/christian|Christian Liberty]]%0a%3c [[freedom/denomination|No Denominations]]%0a21a20%0a> [[freedom/christian|Christian Liberty]]%0a +host:1597022933=38.81.163.143 +author:1597022352=jrmu +diff:1597022352:1597021849:=11d10%0a%3c [[freedom/militia|Citizen Sysadmins]]%0a +host:1597022352=38.81.163.143 +author:1597021849=jrmu +diff:1597021849:1596581767:=5c5%0a%3c We are dedicated here to the unfinished work which they have so nobly advanced. We resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1597021849=38.81.163.143 +author:1596581767=jrmu +diff:1596581767:1596578863:=29d28%0a%3c [[freedom/union|Unity]]%0a +host:1596581767=38.81.163.143 +author:1596578863=jrmu +diff:1596578863:1596542921:=30c30%0a%3c [[freedom/checks|Checks and Balances]]%0a---%0a> [[freedom/rulebylaw|Trial by Jury]]%0a +host:1596578863=38.81.163.143 +author:1596542921=jrmu +diff:1596542921:1596457072:=28c28%0a%3c [[freedom/centralized|Join, or Die]]%0a---%0a> [[freedom/centralized|The Need for Centralized Servers]]%0a +host:1596542921=38.81.163.143 +author:1596457072=jrmu +diff:1596457072:1596456794:=12,13c12%0a%3c [[freedom/federation|Federal Republic]]%0a%3c [[freedom/refuge|Open to All]]%0a---%0a> [[ircnow/federation|Federal Republic]]%0a14a14%0a> [[freedom/refuge|Open to All]]%0a +host:1596457072=38.81.163.143 +author:1596456794=jrmu +diff:1596456794:1596452317:=9c9%0a%3c [[freedom/software|Software Freedom]]%0a---%0a> [[freedom/license|Software Freedom]]%0a +host:1596456794=38.81.163.143 +author:1596452317=jrmu +diff:1596452317:1596452259:=30a31,33%0a> %0a> test%0a> %0a +host:1596452317=38.81.163.143 +author:1596452259=jrmu +diff:1596452259:1596450545:=30,33c30%0a%3c [[freedom/rulebylaw|Trial by Jury]]%0a%3c %0a%3c test%0a%3c %0a---%0a> [[freedom/rulebylaw|Trial by Jury]]%0a\ No newline at end of file%0a +host:1596452259=125.224.19.194 +author:1596450545=jrmu +diff:1596450545:1596449384:=14d13%0a%3c [[freedom/refuge|Open to All]]%0a +host:1596450545=38.81.163.143 +author:1596449384=jrmu +diff:1596449384:1596430407:=28,29c28%0a%3c [[freedom/rulebylaw|Rule by Law]]%0a%3c [[freedom/rulebylaw|Trial by Jury]]%0a\ No newline at end of file%0a---%0a> [[freedom/rulebylaw|Rule by Law]]%0a\ No newline at end of file%0a +host:1596449384=38.81.163.143 +author:1596430407=jrmu +diff:1596430407:1596429572:=7c7%0a%3c Our Founding Principles:%0a---%0a> User Freedoms:%0a +host:1596430407=38.81.163.143 +author:1596429572=jrmu +diff:1596429572:1596429452:=23d22%0a%3c [[freedom/republic|Republic]]%0a +host:1596429572=38.81.163.143 +author:1596429452=jrmu +diff:1596429452:1596428389:=26,27c26%0a%3c [[freedom/centralized|The Need for Centralized Servers]]%0a%3c [[freedom/rulebylaw|Rule by Law]]%0a\ No newline at end of file%0a---%0a> [[freedom/centralized|The Need for Centralized Servers]]%0a\ No newline at end of file%0a +host:1596429452=38.81.163.143 +author:1596428389=jrmu +diff:1596428389:1596428337:=26c26%0a%3c [[freedom/centralized|The Need for Centralized Servers]]%0a\ No newline at end of file%0a---%0a> [[freedom/|The Need for Centralized Servers]]%0a\ No newline at end of file%0a +host:1596428389=38.81.163.143 +author:1596428337=jrmu +diff:1596428337:1596428162:=22,26c22%0a%3c [[freedom/selfhost|Self Hosting]]%0a%3c %0a%3c Why Federation:%0a%3c %0a%3c [[freedom/|The Need for Centralized Servers]]%0a\ No newline at end of file%0a---%0a> [[freedom/selfhost|Self Hosting]]%0a\ No newline at end of file%0a +host:1596428337=38.81.163.143 +author:1596428162=jrmu +diff:1596428162:1596428150:=18c18%0a%3c [[freedom/christian|Christian Liberty]]%0a---%0a> [[freedom/christian|Christian Freedom]]%0a +host:1596428162=38.81.163.143 +author:1596428150=jrmu +diff:1596428150:1596427939:=18d17%0a%3c [[freedom/christian|Christian Freedom]]%0a +host:1596428150=38.81.163.143 +author:1596427939=jrmu +diff:1596427939:1596427643:=10a11%0a> [[freedom/|Self government]]%0a12c13%0a%3c [[ircnow/federation|Federal Republic]]%0a---%0a> [[ircnow/federation|Federation]]%0a +host:1596427939=38.81.163.143 +author:1596427643=jrmu +diff:1596427643:1596427306:=11d10%0a%3c [[freedom/|Self government]]%0a +host:1596427643=38.81.163.143 +author:1596427306=jrmu +diff:1596427306:1596360852:=1,5c1,5%0a%3c Five decades ago, the architects of the Internet brought forth on this world a new network, conceived in liberty, and dedicated to the proposition that all users are created equal.%0a%3c %0a%3c Now there is a great struggle, testing whether a global Internet, built on open standards, so conceived and so dedicated, can long endure.%0a%3c %0a%3c We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the open standards of the Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> Five decades ago, the architects of the global Internet brought forth on this world a new network, conceived in liberty, and dedicated to the proposition that all users are created equal.%0a> %0a> Now there is a great struggle, testing whether the global Internet, built on open standards, so conceived and so dedicated, can long endure.%0a> %0a> We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the standards of an open Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1596427306=38.81.163.143 +author:1596360852=jrmu +diff:1596360852:1596360405:=9c9%0a%3c [[freedom/license|Software Freedom]]%0a---%0a> [[freedom/license|Free Licenses]]%0a11c11%0a%3c [[freedom/privacy|Right to Privacy]]%0a---%0a> [[freedom/privacy|Privacy]]%0a +host:1596360852=38.81.163.143 +author:1596360405=jrmu +diff:1596360405:1596340686:=3,5c3,5%0a%3c Now there is a great struggle, testing whether the global Internet, built on open standards, so conceived and so dedicated, can long endure.%0a%3c %0a%3c We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the standards of an open Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> Now there is a great struggle, testing whether this global network, built on open standards, so conceived and so dedicated, can long endure.%0a> %0a> We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the standards of an open, global Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1596360405=38.81.163.143 +author:1596340686=jrmu +diff:1596340686:1596340621:=13c13%0a%3c [[ircnow/constitution#billofrights|Bill of Rights]]%0a---%0a> [[ircnow/billofrights|Bill of Rights]]%0a +host:1596340686=38.81.163.143 +author:1596340621=jrmu +diff:1596340621:1596338761:=13d12%0a%3c [[ircnow/billofrights|Bill of Rights]]%0a +host:1596340621=38.81.163.143 +author:1596338761=jrmu +diff:1596338761:1596338272:=7c7%0a%3c User Freedoms:%0a---%0a> User Freedom:%0a +host:1596338761=38.81.163.143 +author:1596338272=jrmu +diff:1596338272:1596338134:=7,10c7,12%0a%3c User Freedom:%0a%3c %0a%3c [[freedom/license|Free Licenses]]%0a%3c [[freedom/fork|Freedom to Fork]]%0a---%0a> [[freedom/license|Free License]]%0a> [[freedom/fork|Software Fork]]%0a> [[freedom/selfhost|Self Hosting]]%0a> [[freedom/censorship|Censorship]]%0a> [[freedom/equalaccess|Equal Access]]%0a> [[freedom/vendorlockin|Vendor Lock-in]]%0a13,20c15%0a%3c [[ircnow/constitution|Constitution]]%0a%3c %0a%3c Why Freedom:%0a%3c %0a%3c [[freedom/censorship|Censorship]]%0a%3c [[freedom/vendorlockin|Vendor Lock-in]]%0a%3c [[freedom/equalaccess|Equal Access]]%0a%3c [[freedom/selfhost|Self Hosting]]%0a\ No newline at end of file%0a---%0a> [[ircnow/constitution|Constitution]]%0a\ No newline at end of file%0a +host:1596338272=38.81.163.143 +author:1596338134=jrmu +diff:1596338134:1596337616:=13,15c13%0a%3c [[freedom/privacy|Privacy]]%0a%3c [[ircnow/federation|Federation]]%0a%3c [[ircnow/constitution|Constitution]]%0a\ No newline at end of file%0a---%0a> [[freedom/privacy|Privacy]]%0a\ No newline at end of file%0a +host:1596338134=38.81.163.143 +author:1596337616=jrmu +diff:1596337616:1596337380:=5c5,7%0a%3c We are dedicated here to the unfinished work which they have thus far so nobly advanced. We resolve that the standards of an open, global Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> Those founders who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. %0a> %0a> It is for us who remain to be dedicated here to the unfinished work which they have thus far so nobly advanced. It is for us to be here dedicated to the great task remaining before us -- that we resolve that the standards of an open, global Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1596337616=38.81.163.143 +author:1596337380=jrmu +diff:1596337380:1596337280:=3c3%0a%3c Now there is a great struggle, testing whether this global network, built on open standards, so conceived and so dedicated, can long endure.%0a---%0a> Now there is a great struggle, testing whether this open network, built on open standards, so conceived and so dedicated, can long endure.%0a +host:1596337380=38.81.163.143 +author:1596337280=jrmu +diff:1596337280:1596337238:=7c7%0a%3c It is for us who remain to be dedicated here to the unfinished work which they have thus far so nobly advanced. It is for us to be here dedicated to the great task remaining before us -- that we resolve that the standards of an open, global Internet shall not have been written in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> It is for us who remain to be dedicated here to the unfinished work which they have thus far so nobly advanced. It is for us to be here dedicated to the great task remaining before us -- that we resolve that the freedoms of an open, global Internet shall not die in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a +host:1596337280=38.81.163.143 +author:1596337238=jrmu +diff:1596337238:1596336937:=3,7c3,5%0a%3c Now there is a great struggle, testing whether this open network, built on open standards, so conceived and so dedicated, can long endure.%0a%3c %0a%3c Those founders who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. %0a%3c %0a%3c It is for us who remain to be dedicated here to the unfinished work which they have thus far so nobly advanced. It is for us to be here dedicated to the great task remaining before us -- that we resolve that the freedoms of an open, global Internet shall not die in vain. That this network, under God, shall have a new birth of freedom -- and that a network of the users, by the users, for the users, shall not perish from the earth.%0a---%0a> Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.%0a> %0a> But, in a larger sense, we can not dedicate -- we can not consecrate -- we can not hallow -- this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us -- that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion -- that we here highly resolve that these dead shall not have died in vain -- that this nation, under God, shall have a new birth of freedom -- and that government of the people, by the people, for the people, shall not perish from the earth.%0a +host:1596337238=38.81.163.143 +author:1596336937=jrmu +diff:1596336937:1596257833:=1,6d0%0a%3c Five decades ago, the architects of the global Internet brought forth on this world a new network, conceived in liberty, and dedicated to the proposition that all users are created equal.%0a%3c %0a%3c Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.%0a%3c %0a%3c But, in a larger sense, we can not dedicate -- we can not consecrate -- we can not hallow -- this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us -- that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion -- that we here highly resolve that these dead shall not have died in vain -- that this nation, under God, shall have a new birth of freedom -- and that government of the people, by the people, for the people, shall not perish from the earth.%0a%3c %0a +host:1596336937=38.81.163.143 +author:1596257833=jrmu +diff:1596257833:1596257155:=1,3c1%0a%3c [[freedom/license|Free License]]%0a%3c [[freedom/fork|Software Fork]]%0a%3c [[freedom/selfhost|Self Hosting]]%0a---%0a> [[freedom/license|Software Freedom]]%0a +host:1596257833=38.81.163.143 +author:1596257155=jrmu +diff:1596257155:1596257155:=1,5d0%0a%3c [[freedom/license|Software Freedom]]%0a%3c [[freedom/censorship|Censorship]]%0a%3c [[freedom/equalaccess|Equal Access]]%0a%3c [[freedom/vendorlockin|Vendor Lock-in]]%0a%3c [[freedom/privacy|Privacy]]%0a\ No newline at end of file%0a +host:1596257155=38.81.163.143 blob - /dev/null blob + 4273ccdf4e2619b4b09127905f2efd7855c65652 (mode 644) --- /dev/null +++ wiki.d/Freedom.Freenode @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621591024 +host=125.231.17.115 +name=Freedom.Freenode +rev=13 +targets= +text=(:title Common Sense:)%0a%0a%25width=500px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a%0aThese are the times that tries men's servers.%0a%0aAll users are created equal, so that no one by birth has a right to set up%0ahis own imperial family above all others on the network. Even if his%0aancestors are royalty, the title of crown prince does not belong on IRC. Admins who%0alook upon themselves as born to reign, and others to obey, soon grow arrogant.%0a%0aIt is quite absurd to suppose the free and open source community needs to be%0agoverned by Silicon Valley. Common sense tells us that the power which tries to%0asubdue us is not proper to defend us.%0a%0aThis protocol has been the refuge for all groups from every part of the Internet.%0aHere we have fled, not from the tender embrace of the mother, but from the cruelty of%0athe monster; and yet that same tyranny which first drove us to IRC pursues us to this%0aday still.%0a%0aIt is the duty of networks to secure freedom and property to all men, and above all%0athings, the free exercise of religion.%0a%0aWhere is the crown prince of IRC? I'll tell you friend, He reigns above, and He%0adoes not make havoc of mankind like Silicon Valley.%0a%0aWe code not to enslave, but to set a network free, and to make room upon the Internet%0afor honest users to chat in.%0a%0aIt is not for a few chat messages or data records we code for, but a cause%0athat we are defending.%0a%0aEverything that is right or natural pleads for separation. The cries of the banned,%0athe petitions of the silenced cries out, [++'TIS TIME TO PART!++]%0a +time=1621907288 +title=Common Sense +author:1621907288=jrmu +diff:1621907288:1621907268:=3c3%0a%3c %25width=500px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a---%0a> %25width=300px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a +host:1621907288=125.231.17.115 +author:1621907268=jrmu +diff:1621907268:1621907244:=3c3%0a%3c %25width=300px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/madeonirc.png%0a +host:1621907268=125.231.17.115 +author:1621907244=jrmu +diff:1621907244:1621907209:=3,4c3,4%0a%3c %25width=300px rfloat%25 Attach:Marketing/madeonirc.png%0a%3c %0a---%0a> %25width=300px rfloat%25 Attach:Marketing/comeandtakeit.png%0a> %0a34a35,36%0a> %0a> %25width 300px%25 [[https://ircnow.org/|Attach: marketing/madeonirc.png]]%0a +host:1621907244=125.231.17.115 +author:1621907209=jrmu +diff:1621907209:1621906804:=36c36%0a%3c %25width 300px%25 [[https://ircnow.org/|Attach: marketing/madeonirc.png]]%0a---%0a> [[https://ircnow.org/|Attach: marketing/madeonirc.png]]%0a +host:1621907209=125.231.17.115 +author:1621906804=jrmu +diff:1621906804:1621605571:=30c30%0a%3c It is not for a few chat messages or data records we code for, but a cause%0a---%0a> It is not a network or a few channels or data records we code for, but a cause%0a35,36d34%0a%3c %0a%3c [[https://ircnow.org/|Attach: marketing/madeonirc.png]]%0a +host:1621906804=38.81.163.143 +author:1621605571=jrmu +diff:1621605571:1621605525:=5,6c5,7%0a%3c These are the times that tries men's servers.%0a%3c %0a---%0a> These are the times that tries men's servers. Network tyranny is not easily%0a> conquered; yet the harder the conflict, the more glorious the triumph.%0a> %0a8c9%0a%3c his own imperial family above all others on the network. Even if his%0a---%0a> his own imperial family holdings above all others on the network. Even if his%0a +host:1621605571=125.231.29.99 +author:1621605525=jrmu +diff:1621605525:1621605467:=35c35%0a%3c the petitions of the silenced cries out, [++'TIS TIME TO PART!++]%0a---%0a> the petitions of the silenced cries out, ++'TIS TIME TO PART!++%0a +host:1621605525=125.231.29.99 +author:1621605467=jrmu +diff:1621605467:1621592739:=35c35%0a%3c the petitions of the silenced cries out, ++'TIS TIME TO PART!++%0a---%0a> the petitions of the silenced cries out, 'TIS TIME TO PART!%0a +host:1621605467=125.231.29.99 +author:1621592739=jrmu +diff:1621592739:1621592523:=2,3d1%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/comeandtakeit.png%0a +host:1621592739=125.231.29.99 +author:1621592523=jrmu +diff:1621592523:1621591696:=1,2d0%0a%3c (:title Common Sense:)%0a%3c %0a6c4%0a%3c All users are created equal, so that no one by birth has a right to set up%0a---%0a> All users are created equals, so that no one by birth has a right to set up%0a +host:1621592523=125.231.29.99 +author:1621591696=jrmu +diff:1621591696:1621591257:=1,3c1,3%0a%3c These are the times that tries men's servers. Network tyranny is not easily%0a%3c conquered; yet the harder the conflict, the more glorious the triumph.%0a%3c %0a---%0a> These are the times that tries men's servers. Tyranny is not easily conquered;%0a> yet the harder the conflict, the more glorious the triumph.%0a> %0a5,8c5,8%0a%3c his own imperial family holdings above all others on the network. Even if his%0a%3c ancestors are royalty, the title of crown prince does not belong on IRC. Admins who%0a%3c look upon themselves as born to reign, and others to obey, soon grow arrogant.%0a%3c %0a---%0a> his own imperial family above all others forever. Even if his ancestors are royalty,%0a> the title of crown prince does not belong on IRC. Admins who look upon themselves as%0a> born to reign, and others to obey, soon grow arrogant.%0a> %0a21,24c21,24%0a%3c Where is the crown prince of IRC? I'll tell you friend, He reigns above, and He%0a%3c does not make havoc of mankind like Silicon Valley.%0a%3c %0a%3c We code not to enslave, but to set a network free, and to make room upon the Internet%0a---%0a> Where is the crown prince of IRC? I'll tell you friend, He reigns above, and He does not%0a> make havoc of mankind like Silicon Valley.%0a> %0a> We fight not to enslave, but to set a network free, and to make room upon the Internet%0a27c27%0a%3c It is not a network or a few channels or data records we code for, but a cause%0a---%0a> It is not a network or a few channels or data records we fight for, but a cause%0a31c31%0a%3c the petitions of the silenced cries out, 'TIS TIME TO PART!%0a---%0a> the petitions of the silenced cries out, 'Tis time to part!%0a +host:1621591696=38.81.163.143 +author:1621591257=jrmu +diff:1621591257:1621591024:=21c21%0a%3c Where is the crown prince of IRC? I'll tell you friend, He reigns above, and He does not%0a---%0a> Where is the King of IRC? I'll tell you friend, He reigns above, and He does not%0a +host:1621591257=38.81.163.143 +author:1621591024=jrmu +diff:1621591024:1621591024:=1,31d0%0a%3c These are the times that tries men's servers. Tyranny is not easily conquered;%0a%3c yet the harder the conflict, the more glorious the triumph.%0a%3c %0a%3c All users are created equals, so that no one by birth has a right to set up%0a%3c his own imperial family above all others forever. Even if his ancestors are royalty,%0a%3c the title of crown prince does not belong on IRC. Admins who look upon themselves as%0a%3c born to reign, and others to obey, soon grow arrogant.%0a%3c %0a%3c It is quite absurd to suppose the free and open source community needs to be%0a%3c governed by Silicon Valley. Common sense tells us that the power which tries to%0a%3c subdue us is not proper to defend us.%0a%3c %0a%3c This protocol has been the refuge for all groups from every part of the Internet.%0a%3c Here we have fled, not from the tender embrace of the mother, but from the cruelty of%0a%3c the monster; and yet that same tyranny which first drove us to IRC pursues us to this%0a%3c day still.%0a%3c %0a%3c It is the duty of networks to secure freedom and property to all men, and above all%0a%3c things, the free exercise of religion.%0a%3c %0a%3c Where is the King of IRC? I'll tell you friend, He reigns above, and He does not%0a%3c make havoc of mankind like Silicon Valley.%0a%3c %0a%3c We fight not to enslave, but to set a network free, and to make room upon the Internet%0a%3c for honest users to chat in.%0a%3c %0a%3c It is not a network or a few channels or data records we fight for, but a cause%0a%3c that we are defending.%0a%3c %0a%3c Everything that is right or natural pleads for separation. The cries of the banned,%0a%3c the petitions of the silenced cries out, 'Tis time to part!%0a +host:1621591024=38.81.163.143 blob - /dev/null blob + dda2fda5c845f0f01d16a862c1ef716d9eb471ec (mode 644) --- /dev/null +++ wiki.d/Freedom.Homestead @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612521888 +host=125.231.56.15 +name=Freedom.Homestead +rev=16 +targets=Vps.Vps +text=(:title Free Homestead VPS:)%0a%0aBe a pioneer on the Wild West of IRC.%0a%0a%25width=400px rfloat%25 Attach:Marketing/herdquit.jpg%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there. The system is rigged against you.%0a%0aIf you want independence, you want your own servers. Frontier servers are '''FREE''' for the taking.%0a%0aClaim your [[vps/vps|'''free''' homestead VPS]] today. +time=1612529357 +title=Free Homestead VPS +author:1612529357=jrmu +diff:1612529357:1612529011:=3,4d2%0a%3c Be a pioneer on the Wild West of IRC.%0a%3c %0a7,11c5,11%0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there. The system is rigged against you.%0a%3c %0a%3c If you want independence, you want your own servers. Frontier servers are '''FREE''' for the taking.%0a%3c %0a%3c Claim your [[vps/vps|'''free''' homestead VPS]] today.%0a\ No newline at end of file%0a---%0a> Be a pioneer on the Wild West of IRC. Fight DDoS bandits like Billy the Skid.%0a> %0a> Frontier servers are '''FREE''' for the taking. Claim your [[vps/vps|'''free''' homestead VPS]].%0a> %0a> %0a> %0a> You see your children come out of school with no chance to get farms of their own because the cost of land in your older part of the country is so high that you can't afford to buy land to start your sons out in life around you. They have to go to the cities to make a living or become laborers in the mills or hire out as farm hands. There is no future for them there. If you are doing well where you are and can safeguard the future of your children and see them prosper around you, don't leave here. But if you want independence, if you are renting your land, if the money-lender is carrying you along and you are running behind year after year, you can do no worse by moving.... You farmers talk of free trade and protection and what this or that political party will do for you. Why don't you vote a homestead for yourself? That is the only thing Uncle Sam will ever give you. Jim Hill hasn't an acre of land to sell you. We are not in the real estate business. We don't want you to go out West and make a failure of it because the rates at which we haul you and your goods make the first transaction a loss.... We must have landless men for a manless land."%0a\ No newline at end of file%0a +host:1612529357=125.231.56.15 +author:1612529011=jrmu +diff:1612529011:1612528976:=8d7%0a%3c %0a +host:1612529011=125.231.56.15 +author:1612528976=jrmu +diff:1612528976:1612528301:=3,10c3,7%0a%3c %25width=400px rfloat%25 Attach:Marketing/herdquit.jpg%0a%3c %0a%3c Be a pioneer on the Wild West of IRC. Fight DDoS bandits like Billy the Skid.%0a%3c %0a%3c Frontier servers are '''FREE''' for the taking. Claim your [[vps/vps|'''free''' homestead VPS]].%0a%3c %0a%3c %0a%3c You see your children come out of school with no chance to get farms of their own because the cost of land in your older part of the country is so high that you can't afford to buy land to start your sons out in life around you. They have to go to the cities to make a living or become laborers in the mills or hire out as farm hands. There is no future for them there. If you are doing well where you are and can safeguard the future of your children and see them prosper around you, don't leave here. But if you want independence, if you are renting your land, if the money-lender is carrying you along and you are running behind year after year, you can do no worse by moving.... You farmers talk of free trade and protection and what this or that political party will do for you. Why don't you vote a homestead for yourself? That is the only thing Uncle Sam will ever give you. Jim Hill hasn't an acre of land to sell you. We are not in the real estate business. We don't want you to go out West and make a failure of it because the rates at which we haul you and your goods make the first transaction a loss.... We must have landless men for a manless land."%0a\ No newline at end of file%0a---%0a> Be a pioneer on the Wild West of IRC. Fight DDoS bandits%0a> %0a> Attach:Marketing/herdquit.jpg%0a> %0a> Frontier servers are '''FREE''' for the taking. Claim your [[vps/vps|'''free''' homestead VPS]].%0a\ No newline at end of file%0a +host:1612528976=125.231.56.15 +author:1612528301=jrmu +diff:1612528301:1612528241:=2,3d1%0a%3c %0a%3c Be a pioneer on the Wild West of IRC. Fight DDoS bandits%0a +host:1612528301=125.231.56.15 +author:1612528241=jrmu +diff:1612528241:1612528231:=3c3%0a%3c Attach:Marketing/herdquit.jpg%0a---%0a> Attach:herdquit.jpg%0a +host:1612528241=125.231.56.15 +author:1612528231=jrmu +diff:1612528231:1612528014:=3c3%0a%3c Attach:herdquit.jpg%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/HerdQuit.png%0a +host:1612528231=125.231.56.15 +author:1612528014=jrmu +diff:1612528014:1612527913:= +host:1612528014=125.231.56.15 +author:1612527913=jrmu +diff:1612527913:1612527026:=3c3,4%0a%3c %25width=300px rfloat%25 Attach:Marketing/HerdQuit.png%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a> %25width=300px%25 Attach:Marketing/willamette.png%0a +host:1612527913=125.231.56.15 +author:1612527026=jrmu +diff:1612527026:1612524353:=4a5,8%0a> %0a> Welcome to Willamette Valley. It's much better here than that other tech valley.%0a> %0a> No billionaire CEOs, no elites, no monopolies.%0a +host:1612527026=125.231.56.15 +author:1612524353=jrmu +diff:1612524353:1612522829:=10c10%0a%3c Frontier servers are '''FREE''' for the taking. Claim your [[vps/vps|'''free''' homestead VPS]].%0a\ No newline at end of file%0a---%0a> Frontier servers are '''FREE''' for the taking. Claim a [[vps/vps|'''free''' homestead VPS]].%0a\ No newline at end of file%0a +host:1612524353=198.251.81.119 +author:1612522829=jrmu +diff:1612522829:1612522786:=6,8c6,8%0a%3c Welcome to Willamette Valley. It's much better here than that other tech valley.%0a%3c %0a%3c No billionaire CEOs, no elites, no monopolies.%0a---%0a> !! Welcome to Willamette Valley%0a> %0a> It's much better here than that other tech valley. No billionaire CEOs, no elites, no monopolies.%0a +host:1612522829=198.251.81.119 +author:1612522786=jrmu +diff:1612522786:1612522728:=10c10%0a%3c Frontier servers are '''FREE''' for the taking. Claim a [[vps/vps|'''free''' homestead VPS]].%0a\ No newline at end of file%0a---%0a> Frontier servers are free for the taking. Claim a [[vps/vps|free homestead VPS]].%0a\ No newline at end of file%0a +host:1612522786=198.251.81.119 +author:1612522728=jrmu +diff:1612522728:1612522648:=8c8%0a%3c It's much better here than that other tech valley. No billionaire CEOs, no elites, no monopolies.%0a---%0a> It's much better here than that other tech valley. No elites, no monopolies.%0a +host:1612522728=198.251.81.119 +author:1612522648=jrmu +diff:1612522648:1612522613:= +host:1612522648=198.251.81.119 +author:1612522613=jrmu +diff:1612522613:1612521888:=3,5c3,5%0a%3c %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %25width=300px%25 Attach:Marketing/willamette.png%0a%3c %0a---%0a> %25width=400px rfloat%25 Attach:Marketing/oregontrail.png%0a> %25width=400px%25 Attach:Marketing/willamette.png%0a> %0a8,10c8,10%0a%3c It's much better here than that other tech valley. No elites, no monopolies.%0a%3c %0a%3c Frontier servers are free for the taking. Claim a [[vps/vps|free homestead VPS]].%0a\ No newline at end of file%0a---%0a> It's much better here than that other tech valley. There are no aristocrats, no elites, no monopolies.%0a> %0a> Frontier servers are free for the taking. Claim a homestead VPS.%0a\ No newline at end of file%0a +host:1612522613=198.251.81.119 +author:1612521888=jrmu +diff:1612521888:1612521888:=1,10d0%0a%3c (:title Free Homestead VPS:)%0a%3c %0a%3c %25width=400px rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %25width=400px%25 Attach:Marketing/willamette.png%0a%3c %0a%3c !! Welcome to Willamette Valley%0a%3c %0a%3c It's much better here than that other tech valley. There are no aristocrats, no elites, no monopolies.%0a%3c %0a%3c Frontier servers are free for the taking. Claim a homestead VPS.%0a\ No newline at end of file%0a +host:1612521888=198.251.81.119 blob - /dev/null blob + 720b9934b4a2c24959f4e838de785efdedcdabca (mode 644) --- /dev/null +++ wiki.d/Freedom.Independence @@ -0,0 +1,118 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36 OPR/74.0.3911.218 +author=wiz +charset=UTF-8 +csum= +ctime=1612674257 +host=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +name=Freedom.Independence +rev=35 +targets= +text=(:title Network Independence:)%0a%0aWe hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked. %0a%0aThat whenever any network becomes destructive of these ends, it is the Right of the Users to alter or to abolish it, and to institute a new network.%0a%0aThe present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid world.%0a%0aThey have spied on us and sold our data to advertisers without our Consent,%0a%0aThey have banned our accounts without the benefit of Trial by Jury,%0a%0aThey have created unreasonable, arbitrary rules to allow staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a%0aThey have created oversight committees based on their will alone and not the consent of the users,%0a%0aThey have excluded us from their code development process, giving us no right to representation,%0a%0aThey have banned users who protest the invasion of their rights on pretended terms of service violations,%0a%0aThey have obstructed the free transfer of data to prevent users from leaving their network,%0a%0aThey have banned free software from their platforms and prevented compatibility across different networks. They deplatform their competitors under false pretenses, so that no competition exists,%0a%0aThey have declared us as extremists out of their protection and allowed death threats against us,%0a%0aThey have stolen our code, manipulated our data for profit, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a%0aCorporations who show themselves as Network Tyrants are unfit to be the admins of a free network.%0a%0aWe, therefore, the users of IRCNow, appealing to God, the Supreme Judge of the World, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a%0a-----%0a%0aSigned%0a%0a![++'''Nate Sturtz'''++]%0a%0ajrmu%0a%0a![++'''category_mirrory'''++]%0a%25width=100px lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%0aThor_Of_Angels%0a%0acon%0a%0a%0a%25define=likegrapefruit bgcolor=yellow%25%0a%25define=lovelyred color=black%25%0a%0a!%25lovelyred likegrapefruit%25 -=( Error )=-%0a +time=1616418825 +title=Network Independence +author:1616418825=wiz +diff:1616418825:1616418691:=48a49%0a> !Error@PLUM%0a52c53%0a%3c !%25lovelyred likegrapefruit%25 -=( Error )=-%0a---%0a> %25lovelyred likegrapefruit%25 -=( Error )=-%0a +host:1616418825=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +author:1616418691=wiz +diff:1616418691:1616418643:=49c49%0a%3c !Error@PLUM%0a---%0a> Error@PLUM%0a +host:1616418691=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +author:1616418643=wiz +diff:1616418643:1616418447:=49d48%0a%3c Error@PLUM%0a53c52%0a%3c %25lovelyred likegrapefruit%25 -=( Error )=-%0a---%0a> !%25lovelyred likegrapefruit%25 -=( Error )=-%0a +host:1616418643=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +author:1616418447=wiz +diff:1616418447:1616418403:=48d47%0a%3c %0a52c51%0a%3c !%25lovelyred likegrapefruit%25 -=( Error )=-%0a---%0a> %25lovelyred likegrapefruit%25 -=( Error )=-%0a +host:1616418447=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +author:1616418403=wiz +diff:1616418403:1616407782:=47,51d46%0a%3c %0a%3c %25define=likegrapefruit bgcolor=yellow%25%0a%3c %25define=lovelyred color=black%25%0a%3c %0a%3c %25lovelyred likegrapefruit%25 -=( Error )=-%0a +host:1616418403=2a02:c7d:75fa:4000:a49a:d86d:406b:1b93 +author:1616407782=jrmu +diff:1616407782:1616407766:=44c44%0a%3c Thor_Of_Angels%0a---%0a> %25clear=both%25 Thor_Of_Angels%0a +host:1616407782=198.251.81.119 +author:1616407766=jrmu +diff:1616407766:1616407742:=44c44,46%0a%3c %25clear=both%25 Thor_Of_Angels%0a---%0a> -----%0a> %0a> Thor_Of_Angels%0a +host:1616407766=198.251.81.119 +author:1616407742=jrmu +diff:1616407742:1616407723:=43,45c43%0a%3c %0a%3c -----%0a%3c %0a---%0a> %25clear=both%25%0a +host:1616407742=198.251.81.119 +author:1616407723=jrmu +diff:1616407723:1616407711:=43c43%0a%3c %25clear=both%25%0a---%0a> %25clear%25%0a +host:1616407723=198.251.81.119 +author:1616407711=jrmu +diff:1616407711:1616407631:=43c43%0a%3c %25clear%25%0a---%0a> %0a +host:1616407711=198.251.81.119 +author:1616407631=jrmu +diff:1616407631:1616407614:=42c42%0a%3c %25width=100px lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a---%0a> %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a +host:1616407631=198.251.81.119 +author:1616407614=con +diff:1616407614:1614162507:=45,46d44%0a%3c %0a%3c con%0a +host:1616407614=92.80.126.182 +author:1614162507=Thor +diff:1614162507:1614159924:minor=44d43%0a%3c Thor_Of_Angels%0a +host:1614162507=175.176.2.37 +author:1614159924=category_mirror +diff:1614159924:1614159814:=41,43c41%0a%3c ![++'''category_mirrory'''++]%0a%3c %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%3c %0a---%0a> ![++'''category_mirrory'''++] %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a +host:1614159924=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1614159814=category_mirror +diff:1614159814:1614159727:=41c41,43%0a%3c ![++'''category_mirrory'''++] %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a---%0a> ![++'''category_mirrory'''++]%0a> %0a> %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png%0a\ No newline at end of file%0a +host:1614159814=99.112.18.250 +author:1614159727=category_mirror +diff:1614159727:1614159699:=43c43%0a%3c %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png%0a\ No newline at end of file%0a---%0a> Attach:techs-should-factor.png%0a\ No newline at end of file%0a +host:1614159727=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1614159699=category_mirror +diff:1614159699:1614159654:=43c43%0a%3c Attach:techs-should-factor.png%0a\ No newline at end of file%0a---%0a> %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a +host:1614159699=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1614159654=category_mirror +diff:1614159654:1614159621:=42d41%0a%3c %0a +host:1614159654=99.112.18.250 +author:1614159621=category_mirror +diff:1614159621:1614159599:=41,42c41%0a%3c ![++'''category_mirrory'''++]%0a%3c %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a---%0a> ![++'''category_mirrory'''++] %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a +host:1614159621=99.112.18.250 +author:1614159599=category_mirror +diff:1614159599:1614070236:=39,41c39%0a%3c jrmu%0a%3c %0a%3c ![++'''category_mirrory'''++] %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a\ No newline at end of file%0a---%0a> jrmu%0a\ No newline at end of file%0a +host:1614159599=99.112.18.250 +author:1614070236=jrmu +diff:1614070236:1614053429:=37,39c37%0a%3c ![++'''Nate Sturtz'''++]%0a%3c %0a%3c jrmu%0a\ No newline at end of file%0a---%0a> ![++'''Nate Sturtz'''++]%0a\ No newline at end of file%0a +host:1614070236=198.251.81.119 +author:1614053429=nsturtz +diff:1614053429:1614053264:=35,37c35%0a%3c Signed%0a%3c %0a%3c ![++'''Nate Sturtz'''++]%0a\ No newline at end of file%0a---%0a> Signed%0a\ No newline at end of file%0a +host:1614053429=199.66.14.109 +author:1614053264=jrmu +diff:1614053264:1613991586:=31,35c31%0a%3c We, therefore, the users of IRCNow, appealing to God, the Supreme Judge of the World, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a%3c %0a%3c -----%0a%3c %0a%3c Signed%0a\ No newline at end of file%0a---%0a> We, therefore, the users of IRCNow, appealing to God, the Supreme Judge of the World, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a +host:1614053264=198.251.81.119 +author:1613991586=jrmu +diff:1613991586:1613991485:=27c27%0a%3c They have stolen our code, manipulated our data for profit, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a---%0a> They have stolen our code, manipulated us for profit, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a +host:1613991586=198.251.81.119 +author:1613991485=jrmu +diff:1613991485:1613990483:=13,18c13,16%0a%3c They have created unreasonable, arbitrary rules to allow staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a%3c %0a%3c They have created oversight committees based on their will alone and not the consent of the users,%0a%3c %0a%3c They have excluded us from their code development process, giving us no right to representation,%0a%3c %0a---%0a> They have created biased rules and allowed staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a> %0a> They have created oversight committees based on their will alone and not the consent of the users, giving us no right to representation,%0a> %0a23c21,23%0a%3c They have banned free software from their platforms and prevented compatibility across different networks. They deplatform their competitors under false pretenses, so that no competition exists,%0a---%0a> They have banned free software from their platforms and prevented compatibility across different networks,%0a> %0a> They deplatform their competitors under false pretenses, so that no competition exists,%0a +host:1613991485=198.251.81.119 +author:1613990483=jrmu +diff:1613990483:1613990219:=9,20d8%0a%3c They have spied on us and sold our data to advertisers without our Consent,%0a%3c %0a%3c They have banned our accounts without the benefit of Trial by Jury,%0a%3c %0a%3c They have created biased rules and allowed staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a%3c %0a%3c They have created oversight committees based on their will alone and not the consent of the users, giving us no right to representation,%0a%3c %0a%3c They have banned users who protest the invasion of their rights on pretended terms of service violations,%0a%3c %0a%3c They have obstructed the free transfer of data to prevent users from leaving their network,%0a%3c %0a23,24c11,26%0a%3c They deplatform their competitors under false pretenses, so that no competition exists,%0a%3c %0a---%0a> They have created oversight committees based on their will alone and not the consent of the users since they give us no right to representation,%0a> %0a> They have banned users who protest the invasion of their rights,%0a> %0a> They have censored users based on pretended terms of service violations,%0a> %0a> They have obstructed the free transfer of data to prevent users from leaving their network,%0a> %0a> They have created biased rules and allowed staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a> %0a> They deplatform their competitors under false pretenses, so that no free competition exists,%0a> %0a> They have spied on us and sold our data to advertisers without our Consent,%0a> %0a> They have banned our accounts without the benefit of Trial by Jury,%0a> %0a27c29%0a%3c They have stolen our code, manipulated us for profit, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a---%0a> They have stolen our code, mined us for our data, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a +host:1613990483=198.251.81.119 +author:1613990219=jrmu +diff:1613990219:1613988052:= +host:1613990219=198.251.81.119 +author:1613988052=jrmu +diff:1613988052:1613985236:=9,16c9,12%0a%3c They have banned free software from their platforms and prevented compatibility across different networks,%0a%3c %0a%3c They have created oversight committees based on their will alone and not the consent of the users since they give us no right to representation,%0a%3c %0a%3c They have banned users who protest the invasion of their rights,%0a%3c %0a%3c They have censored users based on pretended terms of service violations,%0a%3c %0a---%0a> They have spied on us and sold our data to advertisers without our Consent,%0a> %0a> They have banned our accounts without the benefit of Trial by Jury,%0a> %0a19,26c15,28%0a%3c They have created biased rules and allowed staff to become superior to users. Their staff are allowed to break their own rules without any punishment,%0a%3c %0a%3c They deplatform their competitors under false pretenses, so that no free competition exists,%0a%3c %0a%3c They have spied on us and sold our data to advertisers without our Consent,%0a%3c %0a%3c They have banned our accounts without the benefit of Trial by Jury,%0a%3c %0a---%0a> They have banned free software and prevented compatibility across platforms and networks,%0a> %0a> They have tried to deplatform their competitors using false pretenses,%0a> %0a> They have banned users who protest the invasion of our rights,%0a> %0a> They have censored us based on pretended terms of service violations,%0a> %0a> They protect their staff from punishment for any violent threats they say against us,%0a> %0a> They have created oversight committees based on their will alone and not the consent of the users,%0a> %0a> They have allowed their staff to be superior to their users.%0a> %0a29,33c31,33%0a%3c They have stolen our code, mined us for our data, locked down our computers, taken away our jobs, and ruined the well-being of our users.%0a%3c %0a%3c Corporations who show themselves as Network Tyrants are unfit to be the admins of a free network.%0a%3c %0a%3c We, therefore, the users of IRCNow, appealing to God, the Supreme Judge of the World, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a---%0a> They have stolen our code and data, locked down our computers, taken away our jobs, and ruined the economies of our users.%0a> %0a> We the users of IRCNow solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a +host:1613988052=198.251.81.119 +author:1613985236=jrmu +diff:1613985236:1613984633:=7,25c7,25%0a%3c The present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid world.%0a%3c %0a%3c They have spied on us and sold our data to advertisers without our Consent,%0a%3c %0a%3c They have banned our accounts without the benefit of Trial by Jury,%0a%3c %0a%3c They have obstructed the free transfer of data to prevent users from leaving their network,%0a%3c %0a%3c They have banned free software and prevented compatibility across platforms and networks,%0a%3c %0a%3c They have tried to deplatform their competitors using false pretenses,%0a%3c %0a%3c They have banned users who protest the invasion of our rights,%0a%3c %0a%3c They have censored us based on pretended terms of service violations,%0a%3c %0a%3c They protect their staff from punishment for any violent threats they say against us,%0a%3c %0a%3c They have created oversight committees based on their will alone and not the consent of the users,%0a---%0a> The present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid Internet.%0a> %0a> For spying on us and selling our data to advertisers without our Consent,%0a> %0a> For banning us from our accounts without the benefit of Trial by Jury,%0a> %0a> For obstructing the free transfer of data to prevent users from leaving their network,%0a> %0a> For banning free software and preventing compatibility across platforms and networks,%0a> %0a> For trying to deplatform our network from all parts of the world,%0a> %0a> For banning users who protest their invasion of our rights,%0a> %0a> For censoring us based on pretended terms of service violations,%0a> %0a> For protecting their staff from punishment for any violent threats they say against us,%0a> %0a> They have created oversight committees based on their will alone and not the consent of the users.%0a +host:1613985236=198.251.81.119 +author:1613984633=jrmu +diff:1613984633:1612674578:=7c7%0a%3c The present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid Internet.%0a---%0a> The present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid world.%0a +host:1613984633=198.251.81.119 +author:1612674578=jrmu +diff:1612674578:1612674558:=1,2d0%0a%3c (:title Network Independence:)%0a%3c %0a +host:1612674578=198.251.81.119 +author:1612674558=jrmu +diff:1612674558:1612674491:=27c27%0a%3c They have declared us as extremists out of their protection and allowed death threats against us,%0a---%0a> They have declared us as extremists out of their protection and allowed violent threats against us,%0a +host:1612674558=198.251.81.119 +author:1612674491=jrmu +diff:1612674491:1612674315:=31c31,64%0a%3c We the users of IRCNow solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a---%0a> We, therefore, the Representatives of IRCNow, appealing to the Supreme Judge, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a> %0a> "He has called together legislative bodies at places unusual, uncomfortable, and distant from the depository of their Public Records, for the sole purpose of fatiguing them into compliance with his measures.%0a> %0a> %0a> "He has refused for a long time, after such dissolutions, to cause others to be elected, whereby the Legislative Powers, incapable of Annihilation, have returned to the People at large for their exercise; the State remaining in the meantime exposed to all the dangers of invasion from without, and convulsions within.%0a> %0a> He has erected a multitude of New Offices, and sent hither swarms of Officers to harass our people and eat out their substance.%0a> %0a> %0a> "He has combined with others to subject us to a jurisdiction foreign to our constitution, and unacknowledged by our laws; giving his Assent to their Acts of pretended Legislation:%0a> %0a> %0a> %0a> "For protecting them, by a mock Trial from punishment for any Murders which they should commit on the Inhabitants of these States:%0a> %0a> %0a> %0a> "For abolishing the free System of English Laws in a neighbouring Province, establishing therein an Arbitrary government, and enlarging its Boundaries so as to render it at once an example and fit instrument for introducing the same absolute rule into these Colonies:%0a> %0a> "For taking away our Charters, abolishing our most valuable Laws and altering fundamentally the Forms of our Governments:%0a> %0a> "For suspending our own Legislatures, and declaring themselves invested with power to legislate for us in all cases whatsoever.%0a> %0a> "He has abdicated Government here, by declaring us out of his Protection and waging War against us.%0a> %0a> "He has plundered our seas, ravaged our coasts, burnt our towns, and destroyed the lives of our people.%0a> %0a> "He is at this time transporting large Armies of foreign Mercenaries to compleat the works of death, desolation, and tyranny, already begun with circumstances of Cruelty & Perfidy scarcely paralleled in the most barbarous ages, and totally unworthy the Head of a civilized nation.%0a> %0a> "He has constrained our fellow Citizens taken Captive on the high Seas to bear Arms against their Country, to become the executioners of their friends and Brethren, or to fall themselves by their Hands.%0a> %0a> "He has excited domestic insurrections amongst us, and has endeavoured to bring on the inhabitants of our frontiers, the merciless Indian Savages whose known rule of warfare, is an undistinguished destruction of all ages, sexes and conditions.%0a> %0a +host:1612674491=198.251.81.119 +author:1612674315=jrmu +diff:1612674315:1612674257:=31,32c31%0a%3c We, therefore, the Representatives of IRCNow, appealing to the Supreme Judge, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a%3c %0a---%0a> %0a54a54,55%0a> %0a> %0a64a66%0a> We, therefore, the Representatives of IRCNow, appealing to the Supreme Judge, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a +host:1612674315=198.251.81.119 +author:1612674257=jrmu +diff:1612674257:1612674257:=1,66d0%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created, deriving their just powers from the consent of the networked. %0a%3c %0a%3c That whenever any network becomes destructive of these ends, it is the Right of the Users to alter or to abolish it, and to institute a new network.%0a%3c %0a%3c The present Silicon Valley has its direct aim to establish an absolute Tyranny over our users. To prove this, let Facts be submitted to a candid world.%0a%3c %0a%3c For spying on us and selling our data to advertisers without our Consent,%0a%3c %0a%3c For banning us from our accounts without the benefit of Trial by Jury,%0a%3c %0a%3c For obstructing the free transfer of data to prevent users from leaving their network,%0a%3c %0a%3c For banning free software and preventing compatibility across platforms and networks,%0a%3c %0a%3c For trying to deplatform our network from all parts of the world,%0a%3c %0a%3c For banning users who protest their invasion of our rights,%0a%3c %0a%3c For censoring us based on pretended terms of service violations,%0a%3c %0a%3c For protecting their staff from punishment for any violent threats they say against us,%0a%3c %0a%3c They have created oversight committees based on their will alone and not the consent of the users.%0a%3c %0a%3c They have allowed their staff to be superior to their users.%0a%3c %0a%3c They have declared us as extremists out of their protection and allowed violent threats against us,%0a%3c %0a%3c They have stolen our code and data, locked down our computers, taken away our jobs, and ruined the economies of our users.%0a%3c %0a%3c %0a%3c "He has called together legislative bodies at places unusual, uncomfortable, and distant from the depository of their Public Records, for the sole purpose of fatiguing them into compliance with his measures.%0a%3c %0a%3c %0a%3c "He has refused for a long time, after such dissolutions, to cause others to be elected, whereby the Legislative Powers, incapable of Annihilation, have returned to the People at large for their exercise; the State remaining in the meantime exposed to all the dangers of invasion from without, and convulsions within.%0a%3c %0a%3c He has erected a multitude of New Offices, and sent hither swarms of Officers to harass our people and eat out their substance.%0a%3c %0a%3c %0a%3c "He has combined with others to subject us to a jurisdiction foreign to our constitution, and unacknowledged by our laws; giving his Assent to their Acts of pretended Legislation:%0a%3c %0a%3c %0a%3c %0a%3c "For protecting them, by a mock Trial from punishment for any Murders which they should commit on the Inhabitants of these States:%0a%3c %0a%3c %0a%3c %0a%3c "For abolishing the free System of English Laws in a neighbouring Province, establishing therein an Arbitrary government, and enlarging its Boundaries so as to render it at once an example and fit instrument for introducing the same absolute rule into these Colonies:%0a%3c %0a%3c "For taking away our Charters, abolishing our most valuable Laws and altering fundamentally the Forms of our Governments:%0a%3c %0a%3c "For suspending our own Legislatures, and declaring themselves invested with power to legislate for us in all cases whatsoever.%0a%3c %0a%3c %0a%3c %0a%3c "He has abdicated Government here, by declaring us out of his Protection and waging War against us.%0a%3c %0a%3c "He has plundered our seas, ravaged our coasts, burnt our towns, and destroyed the lives of our people.%0a%3c %0a%3c "He is at this time transporting large Armies of foreign Mercenaries to compleat the works of death, desolation, and tyranny, already begun with circumstances of Cruelty & Perfidy scarcely paralleled in the most barbarous ages, and totally unworthy the Head of a civilized nation.%0a%3c %0a%3c "He has constrained our fellow Citizens taken Captive on the high Seas to bear Arms against their Country, to become the executioners of their friends and Brethren, or to fall themselves by their Hands.%0a%3c %0a%3c "He has excited domestic insurrections amongst us, and has endeavoured to bring on the inhabitants of our frontiers, the merciless Indian Savages whose known rule of warfare, is an undistinguished destruction of all ages, sexes and conditions.%0a%3c %0a%3c We, therefore, the Representatives of IRCNow, appealing to the Supreme Judge, solemnly publish and declare, That these united Servers are, and of Right ought to form a Free and Independent Network.%0a\ No newline at end of file%0a +host:1612674257=198.251.81.119 blob - /dev/null blob + 4b99369e9f2d67f3ad7913441f66a67b30a813f8 (mode 644) --- /dev/null +++ wiki.d/Freedom.Lanofopportunity @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612445059 +host=198.251.81.119 +name=Freedom.Lanofopportunity +rev=1 +targets= +text=%0aOur network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%0a%0aIn this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a +time=1612445059 +author:1612445059=jrmu +diff:1612445059:1612445059:=1,5d0%0a%3c %0a%3c Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%3c %0a%3c %0a%3c In this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a +host:1612445059=198.251.81.119 blob - /dev/null blob + d4ad3d3b6c138dce663080088fb15e8f3708ee90 (mode 644) --- /dev/null +++ wiki.d/Freedom.Libertyordeath @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1618662932 +host=198.251.81.119 +name=Freedom.Libertyordeath +rev=1 +targets= +text=(:title Liberty or Death:)%0a%0a%25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a%0aMarch 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a%0aThis day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%0aSilicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a%0aThis is nothing less than a question of freedom or slavery.%0a%0aWe have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a%0aThese organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%0aAre boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%0aIf we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%0aThere is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%0aAre features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death! +time=1618662932 +title=Liberty or Death +author:1618662932=jrmu +diff:1618662932:1618662932:=1,23d0%0a%3c (:title Liberty or Death:)%0a%3c %0a%3c %25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a%3c %0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a%3c %0a%3c This day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%3c %0a%3c Silicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a%3c %0a%3c This is nothing less than a question of freedom or slavery.%0a%3c %0a%3c We have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a%3c %0a%3c These organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%3c %0a%3c Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%3c %0a%3c There is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%3c %0a%3c Are features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a +host:1618662932=198.251.81.119 blob - /dev/null blob + 87e23b9e434c90ec8ae3965bbf6d697eff3bb04b (mode 644) --- /dev/null +++ wiki.d/Freedom.License,del-1596456818 @@ -0,0 +1,88 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596257696 +host=38.81.163.143 +name=Freedom.License +rev=25 +targets= +text=(:title Software Freedom :)%0a%0a->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. %0a%0a->To take control of the software away from the users is the most effectual way to enslave them.%0a%0a->Whenever monopolies intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a%0a->Well trained sysadmins, made up of the users themselves, are the best and most natural defense of a free network.%0a%0a->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a%0aOur world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited.%0a%0aIn order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a%0a# The freedom to **use** the work%0a# The freedom to **study** the work%0a# The freedom to **modify** the work%0a# The freedom to **share** the work%0a%0a...for any purpose, without a fee, without requiring permission.%0a%0aAll of the software on IRCNow is free software. You have the right to use this software to create your own network with your own policies.%0a%0aFree software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control. A free network is a network of the users, by the users, for the users. +time=1596454048 +title=Software Freedom +author:1596454048=jrmu +diff:1596454048:1596430538:=7c7%0a%3c ->Whenever monopolies intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a---%0a> ->Whenever corporations intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a +host:1596454048=38.81.163.143 +author:1596430538=jrmu +diff:1596430538:1596430505:=9c9%0a%3c ->Well trained sysadmins, made up of the users themselves, are the best and most natural defense of a free network.%0a---%0a> ->Well trained sysadmins, gathered from the users themselves, are the best and most natural defense of a free network.%0a +host:1596430538=38.81.163.143 +author:1596430505=jrmu +diff:1596430505:1596430441:=7,9c7,9%0a%3c ->Whenever corporations intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a%3c %0a%3c ->Well trained sysadmins, gathered from the users themselves, are the best and most natural defense of a free network.%0a---%0a> ->Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a> %0a> ->Well trained sysadmins, made of the users themselves, are the best and most natural defense of a free network.%0a +host:1596430505=38.81.163.143 +author:1596430441=jrmu +diff:1596430441:1596427590:=7c7%0a%3c ->Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a---%0a> ->Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a +host:1596430441=38.81.163.143 +author:1596427590=jrmu +diff:1596427590:1596427487:=26c26%0a%3c Free software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control. A free network is a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Free software is an essential prerequisite for a free network, but it is not the only component. A free network requires not only code, but also servers, money, and staff to provide and maintain the internet services that a community depends upon. A free network also needs a fair set of laws to ensure that users' rights are respected. We the users must form a more perfect union that anyone can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] with the goal of eventually arriving at a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596427590=38.81.163.143 +author:1596427487=jrmu +diff:1596427487:1596363364:=17,22c17,22%0a%3c # The freedom to **use** the work%0a%3c # The freedom to **study** the work%0a%3c # The freedom to **modify** the work%0a%3c # The freedom to **share** the work%0a%3c %0a%3c ...for any purpose, without a fee, without requiring permission.%0a---%0a> - The freedom to **use** the work%0a> - The freedom to **study** the work%0a> - The freedom to **modify** the work%0a> - The freedom to **share** the work%0a> %0a> ...for any purpose, without fee, without requiring permission.%0a +host:1596427487=38.81.163.143 +author:1596363364=jrmu +diff:1596363364:1596361662:=13c13%0a%3c Our world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited.%0a---%0a> Our world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited by these corporations.%0a +host:1596363364=38.81.163.143 +author:1596361662=jrmu +diff:1596361662:1596360679:=26c26%0a%3c Free software is an essential prerequisite for a free network, but it is not the only component. A free network requires not only code, but also servers, money, and staff to provide and maintain the internet services that a community depends upon. A free network also needs a fair set of laws to ensure that users' rights are respected. We the users must form a more perfect union that anyone can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] with the goal of eventually arriving at a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> Free software is an essential prerequisite for a free network, but it is not the only component. A free network requires not only code, but also servers, money, and staff to provide and maintain the internet services that a community depends upon. A free network also needs a fair set of laws to ensure that users' rights are respected. We the users must form a more perfect union that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] with the goal of eventually arriving at a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596361662=38.81.163.143 +author:1596360679=jrmu +diff:1596360679:1596360312:=4a5,6%0a> ->Well trained sysadmins, made of the users themselves, are the best and most natural defense of a free network.%0a> %0a8,9d9%0a%3c %0a%3c ->Well trained sysadmins, made of the users themselves, are the best and most natural defense of a free network.%0a +host:1596360679=38.81.163.143 +author:1596360312=jrmu +diff:1596360312:1596345642:=13,14c13,14%0a%3c Our world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited by these corporations.%0a%3c %0a---%0a> Our entire world is becoming completely dependent upon software, the vast majority of which is now the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a> %0a24,26c24,26%0a%3c All of the software on IRCNow is free software. You have the right to use this software to create your own network with your own policies.%0a%3c %0a%3c Free software is an essential prerequisite for a free network, but it is not the only component. A free network requires not only code, but also servers, money, and staff to provide and maintain the internet services that a community depends upon. A free network also needs a fair set of laws to ensure that users' rights are respected. We the users must form a more perfect union that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] with the goal of eventually arriving at a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> All of the software on our network is free software. You have the right to use this software to create your own network with your own policies.%0a> %0a> Free software is an essential prerequisite for a free network, but it is not the only component. It takes more than just code in order to create a free network. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. It also needs a fair set of laws to ensure that users' rights are respected. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596360312=38.81.163.143 +author:1596345642=jrmu +diff:1596345642:1596344805:=10,11d9%0a%3c %0a%3c ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a +host:1596345642=38.81.163.143 +author:1596344805=jrmu +diff:1596344805:1596344702:=5c5%0a%3c ->Well trained sysadmins, made of the users themselves, are the best and most natural defense of a free network.%0a---%0a> ->Well trained sysadmins, made of the users themselves, is the best and most natural defense of a free network.%0a +host:1596344805=38.81.163.143 +author:1596344702=jrmu +diff:1596344702:1596344054:=5,6c5,6%0a%3c ->Well trained sysadmins, made of the users themselves, is the best and most natural defense of a free network.%0a%3c %0a---%0a> ->The right of the users to use, modify, and share the source code shall not be infringed. Well trained sysadmins, composed of the users themselves, is the best and most natural defense of a free network.%0a> %0a9c9%0a%3c ->Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a---%0a> ->What, sir, is the use of the source code? It is to prevent the establishment of corporate professionals, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a +host:1596344702=38.81.163.143 +author:1596344054=jrmu +diff:1596344054:1596344012:=8,9d7%0a%3c %0a%3c ->What, sir, is the use of the source code? It is to prevent the establishment of corporate professionals, the bane of liberty .... Whenever corporations mean to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their ruins.%0a +host:1596344054=38.81.163.143 +author:1596344012=jrmu +diff:1596344012:1596342953:=5,7c5%0a%3c ->The right of the users to use, modify, and share the source code shall not be infringed. Well trained sysadmins, composed of the users themselves, is the best and most natural defense of a free network.%0a%3c %0a%3c ->To take control of the software away from the users is the most effectual way to enslave them.%0a---%0a> -> The right of the users to use, modify, and share the source code shall not be infringed. Well trained sysadmins, composed of the users themselves, is the best and most natural defense of a free network.%0a +host:1596344012=38.81.163.143 +author:1596342953=jrmu +diff:1596342953:1596342512:=4,5d3%0a%3c %0a%3c -> The right of the users to use, modify, and share the source code shall not be infringed. Well trained sysadmins, composed of the users themselves, is the best and most natural defense of a free network.%0a +host:1596342953=38.81.163.143 +author:1596342512=jrmu +diff:1596342512:1596342486:=3c3%0a%3c ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. %0a---%0a> ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission. %0a +host:1596342512=38.81.163.143 +author:1596342486=jrmu +diff:1596342486:1596342474:=1c1%0a%3c (:title Software Freedom :)%0a---%0a> {:title Software Freedom :}%0a +host:1596342486=38.81.163.143 +author:1596342474=jrmu +diff:1596342474:1596342465:=1c1%0a%3c {:title Software Freedom :}%0a---%0a> {:title Software Freedom:}%0a +host:1596342474=38.81.163.143 +author:1596342465=jrmu +diff:1596342465:1596342447:=1c1%0a%3c {:title Software Freedom:}%0a---%0a> {:Title Software Freedom:}%0a +host:1596342465=38.81.163.143 +author:1596342447=jrmu +diff:1596342447:1596342436:=1c1%0a%3c {:Title Software Freedom:}%0a---%0a> !! {:Title Software Freedom:}%0a +host:1596342447=38.81.163.143 +author:1596342436=jrmu +diff:1596342436:1596338845:=1,3c1%0a%3c !! {:Title Software Freedom:}%0a%3c %0a%3c ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission. %0a---%0a> !! Software Freedom%0a +host:1596342436=38.81.163.143 +author:1596338845=jrmu +diff:1596338845:1596338062:=16c16%0a%3c Free software is an essential prerequisite for a free network, but it is not the only component. It takes more than just code in order to create a free network. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. It also needs a fair set of laws to ensure that users' rights are respected. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> Free software is an essential prerequisite for a free network, but it is not the only component. It takes more than just code in order to create a free network. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596338845=38.81.163.143 +author:1596338062=jrmu +diff:1596338062:1596257696:=3,4c3,4%0a%3c Our entire world is becoming completely dependent upon software, the vast majority of which is now the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%3c %0a---%0a> Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a> %0a14,16c14%0a%3c All of the software on our network is free software. You have the right to use this software to create your own network with your own policies.%0a%3c %0a%3c Free software is an essential prerequisite for a free network, but it is not the only component. It takes more than just code in order to create a free network. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596338062=38.81.163.143 +author:1596257696=jrmu +diff:1596257696:1596257696:=1,14d0%0a%3c !! Software Freedom%0a%3c %0a%3c Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%3c %0a%3c In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a%3c %0a%3c - The freedom to **use** the work%0a%3c - The freedom to **study** the work%0a%3c - The freedom to **modify** the work%0a%3c - The freedom to **share** the work%0a%3c %0a%3c ...for any purpose, without fee, without requiring permission.%0a%3c %0a%3c However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596257696=38.81.163.143 blob - /dev/null blob + 7ef48c25b99cc75f703650b241915543b270b359 (mode 644) --- /dev/null +++ wiki.d/Freedom.Madeonirc @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612509849 +host=198.251.81.44 +name=Freedom.Madeonirc +rev=27 +targets= +text=(:title Made on IRC:)%0a%0a%25rfloat width=400px%25 Attach:Marketing/madeonirc.png%0a%0aIt's time to invent. To come up with practical solutions to real world problems.%0a%0aTo trust in God and to rely on ourselves. To have a can-do attitude and get up and go.%0a%0aTime to build the internet anew on better principles. And be proud to make it on IRC. +time=1616845698 +title=Made on IRC +author:1616845698=jrmu +diff:1616845698:1616845639:=5,9c5,9%0a%3c It's time to invent. To come up with practical solutions to real world problems.%0a%3c %0a%3c To trust in God and to rely on ourselves. To have a can-do attitude and get up and go.%0a%3c %0a%3c Time to build the internet anew on better principles. And be proud to make it on IRC.%0a\ No newline at end of file%0a---%0a> We are inventive. We have the know-how. We come up with practical solutions to real world problems.%0a> %0a> We trust in God and rely on ourselves. We have a can-do attitude and we get up and go.%0a> %0a> We will build the internet anew on better principles. We're proud to make it on IRC.%0a\ No newline at end of file%0a +host:1616845698=198.251.81.44 +author:1616845639=jrmu +diff:1616845639:1616845391:=3c3%0a%3c %25rfloat width=400px%25 Attach:Marketing/madeonirc.png%0a---%0a> %25width=400px%25 Attach:Marketing/madeonirc.png%0a +host:1616845639=198.251.81.44 +author:1616845391=jrmu +diff:1616845391:1616845338:=4a5,6%0a> || %25width=200px%25 Attach:Marketing/assembly.jpg || %25width=200px%25 Attach:Marketing/modelt.jpg || %25width=200px%25 Attach:Marketing/firstflight.jpg ||%0a> %0a6a9,10%0a> || %25width=200px%25 Attach:Marketing/phonograph.jpg || %25width=200px%25 Attach:Marketing/ferriswheel.jpg || %25width=200px%25 Attach:Marketing/jenny.jpg ||%0a> %0a9c13,17%0a%3c We will build the internet anew on better principles. We're proud to make it on IRC.%0a\ No newline at end of file%0a---%0a> || %25width=200px%25 Attach:Marketing/lightbulb.jpg || %25width=200px%25 Attach:Marketing/nasa.jpg ||%0a> %0a> We will build the internet anew on better principles. We're proud to make it on IRC.%0a> %0a> || %25width=200px%25 Attach:Marketing/popcorn.jpg || %25width=200px%25 Attach:Marketing/unionpacific.jpg ||%0a\ No newline at end of file%0a +host:1616845391=198.251.81.44 +author:1616845338=jrmu +diff:1616845338:1616845328:=3c3%0a%3c %25width=400px%25 Attach:Marketing/madeonirc.png%0a---%0a> %25width=200px%25 Attach:Marketing/madeonirc.png%0a +host:1616845338=198.251.81.44 +author:1616845328=jrmu +diff:1616845328:1612512441:=2,3d1%0a%3c %0a%3c %25width=200px%25 Attach:Marketing/madeonirc.png%0a +host:1616845328=198.251.81.44 +author:1612512441=jrmu +diff:1612512441:1612512159:=5,6c5,6%0a%3c We are inventive. We have the know-how. We come up with practical solutions to real world problems.%0a%3c %0a---%0a> We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a> %0a13c13%0a%3c We will build the internet anew on better principles. We're proud to make it on IRC.%0a---%0a> %25clear=both%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a +host:1612512441=198.251.81.119 +author:1612512159=jrmu +diff:1612512159:1612512017:=3,4c3,8%0a%3c || %25width=200px%25 Attach:Marketing/assembly.jpg || %25width=200px%25 Attach:Marketing/modelt.jpg || %25width=200px%25 Attach:Marketing/firstflight.jpg ||%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/assembly.jpg%0a> %25width=200px lfloat%25 Attach:Marketing/modelt.jpg%0a> %25width=200px%25 Attach:Marketing/firstflight.jpg%0a> %0a> ----%0a> %0a7,8c11,16%0a%3c || %25width=200px%25 Attach:Marketing/phonograph.jpg || %25width=200px%25 Attach:Marketing/ferriswheel.jpg || %25width=200px%25 Attach:Marketing/jenny.jpg ||%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/phonograph.jpg%0a> %25width=200px lfloat%25 Attach:Marketing/ferriswheel.jpg%0a> %25width=200px%25 Attach:Marketing/jenny.jpg%0a> %0a> ----%0a> %0a11,15c19,27%0a%3c || %25width=200px%25 Attach:Marketing/lightbulb.jpg || %25width=200px%25 Attach:Marketing/nasa.jpg ||%0a%3c %0a%3c %25clear=both%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a%3c %0a%3c || %25width=200px%25 Attach:Marketing/popcorn.jpg || %25width=200px%25 Attach:Marketing/unionpacific.jpg ||%0a\ No newline at end of file%0a---%0a> %25width=200px lfloat%25 Attach:Marketing/lightbulb.jpg%0a> %25width=200px%25 Attach:Marketing/nasa.jpg%0a> %0a> ----%0a> %0a> We will build the internet anew on better principles. We're proud to make it on IRC.%0a> %0a> %25width=200px lfloat%25 Attach:Marketing/popcorn.jpg%0a> %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612512159=198.251.81.119 +author:1612512017=jrmu +diff:1612512017:1612511994:=5,6c5,6%0a%3c %25width=200px%25 Attach:Marketing/firstflight.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/firstflight.jpg%0a> %0a13,14c13,14%0a%3c %25width=200px%25 Attach:Marketing/jenny.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a> %0a20,21c20,21%0a%3c %25width=200px%25 Attach:Marketing/nasa.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/nasa.jpg%0a> %0a27c27%0a%3c %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px lfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612512017=198.251.81.119 +author:1612511994=jrmu +diff:1612511994:1612511854:=5,10c5,8%0a%3c %25width=200px lfloat%25 Attach:Marketing/firstflight.jpg%0a%3c %0a%3c ----%0a%3c %0a%3c We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a%3c %0a---%0a> %25width=200px%25 Attach:Marketing/firstflight.jpg%0a> %0a> %25clear=both%25 We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a> %0a13,18c11,14%0a%3c %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a%3c %0a%3c ----%0a%3c %0a%3c We trust in God and rely on ourselves. We have a can-do attitude and we get up and go.%0a%3c %0a---%0a> %25width=200px%25 Attach:Marketing/jenny.jpg%0a> %0a> %25clear=both%25 We trust in God and rely on ourselves. We have a can-do attitude and we get up and go.%0a> %0a20,25c16,19%0a%3c %25width=200px lfloat%25 Attach:Marketing/nasa.jpg%0a%3c %0a%3c ----%0a%3c %0a%3c We will build the internet anew on better principles. We're proud to make it on IRC.%0a%3c %0a---%0a> %25width=200px%25 Attach:Marketing/nasa.jpg%0a> %0a> %25clear=both%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a> %0a27c21%0a%3c %25width=200px lfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612511994=198.251.81.119 +author:1612511854=jrmu +diff:1612511854:1612511787:=13c13%0a%3c %25clear=both%25 We trust in God and rely on ourselves. We have a can-do attitude and we get up and go.%0a---%0a> %25clear=both%25 We rely on ourselves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a +host:1612511854=198.251.81.119 +author:1612511787=jrmu +diff:1612511787:1612511740:=7,8c7,8%0a%3c %25clear=both%25 We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a%3c %0a---%0a> %25clear%25 We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a> %0a13,14c13,14%0a%3c %25clear=both%25 We rely on ourselves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a%3c %0a---%0a> %25clear%25 We rely on ourselves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a> %0a18c18%0a%3c %25clear=both%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a---%0a> %25clear%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a +host:1612511787=198.251.81.119 +author:1612511740=jrmu +diff:1612511740:1612511727:=13c13%0a%3c %25clear%25 We rely on ourselves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a---%0a> %25clear%25 We rely on our selves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a +host:1612511740=198.251.81.119 +author:1612511727=jrmu +diff:1612511727:1612511640:=7,8c7,8%0a%3c %25clear%25 We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a%3c %0a---%0a> We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a> %0a13,14c13,14%0a%3c %25clear%25 We rely on our selves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a%3c %0a---%0a> We rely on our selves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a> %0a18c18%0a%3c %25clear%25 We will build the internet anew on better principles. We're proud to make it on IRC.%0a---%0a> We will build the internet anew on better principles. We're proud to make it on IRC.%0a +host:1612511727=198.251.81.119 +author:1612511640=jrmu +diff:1612511640:1612511617:=5,6c5,6%0a%3c %25width=200px%25 Attach:Marketing/firstflight.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/firstflight.jpg%0a> %0a11,12c11,12%0a%3c %25width=200px%25 Attach:Marketing/jenny.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a> %0a16,17c16,17%0a%3c %25width=200px%25 Attach:Marketing/nasa.jpg%0a%3c %0a---%0a> %25width=200px lfloat%25 Attach:Marketing/nasa.jpg%0a> %0a21c21%0a%3c %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px lfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612511640=198.251.81.119 +author:1612511617=jrmu +diff:1612511617:1612511377:=2a3,4%0a> Proudly Made on IRC%0a> %0a7,12c9,13%0a%3c We are inventive. We have the know-how. We come up with solutions to practical real world problems.%0a%3c %0a%3c %25width=200px lfloat%25 Attach:Marketing/phonograph.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/ferriswheel.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a%3c %0a---%0a> Hacker Ingenuity%0a> %0a> We are inventive. We have the know-how.%0a> We come up with solutions to practical real world problems.%0a> %0a14a16,23%0a> We will build the internet anew, on better principles.%0a> %0a> We're proud to make it on IRC.%0a> %0a> %25width=200px lfloat%25 Attach:Marketing/phonograph.jpg%0a> %25width=200px lfloat%25 Attach:Marketing/ferriswheel.jpg%0a> %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a> %0a17,19d25%0a%3c %0a%3c We will build the internet anew on better principles. We're proud to make it on IRC.%0a%3c %0a +host:1612511617=198.251.81.119 +author:1612511377=jrmu +diff:1612511377:1612510783:=1,4d0%0a%3c (:title Made on IRC:)%0a%3c %0a%3c Proudly Made on IRC%0a%3c %0a8,19d3%0a%3c %0a%3c Hacker Ingenuity%0a%3c %0a%3c We are inventive. We have the know-how.%0a%3c We come up with solutions to practical real world problems.%0a%3c %0a%3c We rely on our selves and the entrepreneurial spirit. We have a can-do attitude and we get up and go.%0a%3c %0a%3c We will build the internet anew, on better principles.%0a%3c %0a%3c We're proud to make it on IRC.%0a%3c %0a23d6%0a%3c %0a +host:1612511377=198.251.81.119 +author:1612510783=jrmu +diff:1612510783:1612510765:=1,10c1,10%0a%3c %25width=200px lfloat%25 Attach:Marketing/assembly.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/modelt.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/firstflight.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/phonograph.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/ferriswheel.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/jenny.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/lightbulb.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/nasa.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/popcorn.jpg%0a%3c %25width=200px lfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px float%25 Attach:Marketing/assembly.jpg%0a> %25width=200px float%25 Attach:Marketing/modelt.jpg%0a> %25width=200px float%25 Attach:Marketing/firstflight.jpg%0a> %25width=200px float%25 Attach:Marketing/phonograph.jpg%0a> %25width=200px float%25 Attach:Marketing/ferriswheel.jpg%0a> %25width=200px float%25 Attach:Marketing/jenny.jpg%0a> %25width=200px float%25 Attach:Marketing/lightbulb.jpg%0a> %25width=200px float%25 Attach:Marketing/nasa.jpg%0a> %25width=200px float%25 Attach:Marketing/popcorn.jpg%0a> %25width=200px float%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612510783=198.251.81.119 +author:1612510765=jrmu +diff:1612510765:1612510746:=1,10c1,10%0a%3c %25width=200px float%25 Attach:Marketing/assembly.jpg%0a%3c %25width=200px float%25 Attach:Marketing/modelt.jpg%0a%3c %25width=200px float%25 Attach:Marketing/firstflight.jpg%0a%3c %25width=200px float%25 Attach:Marketing/phonograph.jpg%0a%3c %25width=200px float%25 Attach:Marketing/ferriswheel.jpg%0a%3c %25width=200px float%25 Attach:Marketing/jenny.jpg%0a%3c %25width=200px float%25 Attach:Marketing/lightbulb.jpg%0a%3c %25width=200px float%25 Attach:Marketing/nasa.jpg%0a%3c %25width=200px float%25 Attach:Marketing/popcorn.jpg%0a%3c %25width=200px float%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px rfloat%25 Attach:Marketing/assembly.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/modelt.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/firstflight.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/phonograph.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/ferriswheel.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/jenny.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/lightbulb.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/nasa.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/popcorn.jpg%0a> %25width=200px rfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612510765=198.251.81.119 +author:1612510746=jrmu +diff:1612510746:1612510702:=1,10c1,10%0a%3c %25width=200px rfloat%25 Attach:Marketing/assembly.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/modelt.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/firstflight.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/phonograph.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/ferriswheel.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/jenny.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/lightbulb.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/nasa.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/popcorn.jpg%0a%3c %25width=200px rfloat%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/assembly.jpg%0a> %25width=200px%25 Attach:Marketing/modelt.jpg%0a> %25width=200px%25 Attach:Marketing/firstflight.jpg%0a> %25width=200px%25 Attach:Marketing/phonograph.jpg%0a> %25width=200px%25 Attach:Marketing/ferriswheel.jpg%0a> %25width=200px%25 Attach:Marketing/jenny.jpg%0a> %25width=200px%25 Attach:Marketing/lightbulb.jpg%0a> %25width=200px%25 Attach:Marketing/nasa.jpg%0a> %25width=200px%25 Attach:Marketing/popcorn.jpg%0a> %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a +host:1612510746=198.251.81.119 +author:1612510702=jrmu +diff:1612510702:1612510657:=9,10c9%0a%3c %25width=200px%25 Attach:Marketing/popcorn.jpg%0a%3c %25width=200px%25 Attach:Marketing/unionpacific.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/popcorn.jpg%0a\ No newline at end of file%0a +host:1612510702=198.251.81.119 +author:1612510657=jrmu +diff:1612510657:1612510630:=8,9c8%0a%3c %25width=200px%25 Attach:Marketing/nasa.jpg%0a%3c %25width=200px%25 Attach:Marketing/popcorn.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/nasa.jpg%0a\ No newline at end of file%0a +host:1612510657=198.251.81.119 +author:1612510630=jrmu +diff:1612510630:1612510595:=7,8c7%0a%3c %25width=200px%25 Attach:Marketing/lightbulb.jpg%0a%3c %25width=200px%25 Attach:Marketing/nasa.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/lightbulb.jpg%0a\ No newline at end of file%0a +host:1612510630=198.251.81.119 +author:1612510595=jrmu +diff:1612510595:1612510579:=6,7c6%0a%3c %25width=200px%25 Attach:Marketing/jenny.jpg%0a%3c %25width=200px%25 Attach:Marketing/lightbulb.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/jenny.jpg%0a\ No newline at end of file%0a +host:1612510595=198.251.81.119 +author:1612510579=jrmu +diff:1612510579:1612510512:=5,6c5%0a%3c %25width=200px%25 Attach:Marketing/ferriswheel.jpg%0a%3c %25width=200px%25 Attach:Marketing/jenny.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/ferriswheel.jpg%0a\ No newline at end of file%0a +host:1612510579=198.251.81.119 +author:1612510512=jrmu +diff:1612510512:1612510184:=4,5c4%0a%3c %25width=200px%25 Attach:Marketing/phonograph.jpg%0a%3c %25width=200px%25 Attach:Marketing/ferriswheel.jpg%0a\ No newline at end of file%0a---%0a> %25width=200px%25 Attach:Marketing/phonograph.jpg%0a\ No newline at end of file%0a +host:1612510512=198.251.81.119 +author:1612510184=jrmu +diff:1612510184:1612509849:=1,4c1,4%0a%3c %25width=200px%25 Attach:Marketing/assembly.jpg%0a%3c %25width=200px%25 Attach:Marketing/modelt.jpg%0a%3c %25width=200px%25 Attach:Marketing/firstflight.jpg%0a%3c %25width=200px%25 Attach:Marketing/phonograph.jpg%0a\ No newline at end of file%0a---%0a> Attach:Marketing/assembly.jpg%0a> Attach:Marketing/modelt.jpg%0a> Attach:Marketing/firstflight.jpg%0a> Attach:Marketing/phonograph.jpg%0a\ No newline at end of file%0a +host:1612510184=198.251.81.119 +author:1612509849=jrmu +diff:1612509849:1612509849:=1,4d0%0a%3c Attach:Marketing/assembly.jpg%0a%3c Attach:Marketing/modelt.jpg%0a%3c Attach:Marketing/firstflight.jpg%0a%3c Attach:Marketing/phonograph.jpg%0a\ No newline at end of file%0a +host:1612509849=198.251.81.119 blob - /dev/null blob + 855b9d70232c7573ed0525a6e4b0d5956e12426b (mode 644) --- /dev/null +++ wiki.d/Freedom.Militia @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597022450 +host=125.224.25.38 +name=Freedom.Militia +rev=14 +targets=Freedom.Unix +text=(:title User Sysadmins:)%0a%0a->Corporate investors and "professionals" are dangerous to liberty.%0a%0a->Well-educated users have no need for professionals.%0a%0a->Educated and trained users are the strongest defense of free networks--without professionals, our liberty can never be in danger.%0a%0a->To have good moderation, don't concentrate power, but distribute it.%0a%0a->Sharing knowledge is the only way to guard our liberty.%0a%0aThe software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even hobbyists, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%0aUnlike other networks, which hire outside professionals, IRCNow recruits teammates from among its own users. The users themselves, when educated about their freedoms, will be best fit to govern their own network. +time=1606882693 +title=User Sysadmins +author:1606882693=jrmu +diff:1606882693:1606882409:=3,11c3,11%0a%3c ->Corporate investors and "professionals" are dangerous to liberty.%0a%3c %0a%3c ->Well-educated users have no need for professionals.%0a%3c %0a%3c ->Educated and trained users are the strongest defense of free networks--without professionals, our liberty can never be in danger.%0a%3c %0a%3c ->To have good moderation, don't concentrate power, but distribute it.%0a%3c %0a%3c ->Sharing knowledge is the only way to guard our liberty.%0a---%0a> ->Professionals are dangerous to liberty.%0a> %0a> ->Well-educated users have no need of professional coders.%0a> %0a> ->Educated and trained users are the strongest defense of free networks--without professional coders, our liberty can never be in danger.%0a> %0a> ->It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a> %0a> ->A diffusion of knowledge is the only guardian of true liberty.%0a +host:1606882693=125.224.25.38 +author:1606882409=jrmu +diff:1606882409:1597211079:=5,7c5,7%0a%3c ->Well-educated users have no need of professional coders.%0a%3c %0a%3c ->Educated and trained users are the strongest defense of free networks--without professional coders, our liberty can never be in danger.%0a---%0a> ->Only a well-educated user community has no need of professional coders.%0a> %0a> ->Always remember that armed and trained users is the firmest fortress of free networks--that without professional coders, their liberty can never be in danger.%0a +host:1606882409=125.224.25.38 +author:1597211079=jrmu +diff:1597211079:1597046321:=13c13%0a%3c The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even hobbyists, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a---%0a> The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a +host:1597211079=38.81.163.143 +author:1597046321=jrmu +diff:1597046321:1597046280:= +host:1597046321=38.81.163.143 +author:1597046280=jrmu +diff:1597046280:1597045065:=13,15c13%0a%3c The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%3c %0a%3c Unlike other networks, which hire outside professionals, IRCNow recruits teammates from among its own users. The users themselves, when educated about their freedoms, will be best fit to govern their own network.%0a\ No newline at end of file%0a---%0a> The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a\ No newline at end of file%0a +host:1597046280=38.81.163.143 +author:1597045065=jrmu +diff:1597045065:1597044697:=3,5c3,5%0a%3c ->Professionals are dangerous to liberty.%0a%3c %0a%3c ->Only a well-educated user community has no need of professional coders.%0a---%0a> ->Professionals are one of the greatest mischiefs that can possibly happen. Professionals are dangerous to liberty.%0a> %0a> ->None but a well-trained network can dispense with professional coders.%0a +host:1597045065=38.81.163.143 +author:1597044697=jrmu +diff:1597044697:1597044491:=3,11c3,24%0a%3c ->Professionals are one of the greatest mischiefs that can possibly happen. Professionals are dangerous to liberty.%0a%3c %0a%3c ->None but a well-trained network can dispense with professional coders.%0a%3c %0a%3c ->Always remember that armed and trained users is the firmest fortress of free networks--that without professional coders, their liberty can never be in danger.%0a%3c %0a%3c ->It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a%3c %0a%3c ->A diffusion of knowledge is the only guardian of true liberty.%0a---%0a> No sysadmin shall, in time of peace, be quartered in any house, without the consent of the users, nor in time of war, but in a manner to be prescribed by law.%0a> %0a> Professionals are one of the greatest mischiefs that can possibly happen. Professionals are dangerous to liberty.%0a> %0a> None but an well-armed network can dispense with professionals.%0a> %0a> Always remember that an armed and trained users is the firmest fortress of free networks--that without professionals, their liberty can never be in danger.%0a> %0a> Our network is not held together by professionals, but by the positive interests of its users toward each other.%0a> %0a> It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a> %0a> “A diffusion of knowledge is the only guardian of true liberty.”%0a> %0a> “If virtue and knowledge are diffused among the People, they will never be enslav'd. This will be their great Security.”%0a> %0a> “I consider knowledge to be the soul of a republic, and as the weak and the wicked are generally in alliance, as much care should be taken to diminish the number of the former as of the latter. Education is the way to do this, and nothing should be left undone to afford all ranks of people the means of obtaining a proper degree of it at a cheap and easy rate.”%0a> %0a> “Children should be educated and instructed in the principles of freedom.”%0a> %0a> %0a> “It is favourable to liberty. Freedom can exist only in the society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.”%0a +host:1597044697=38.81.163.143 +author:1597044491=jrmu +diff:1597044491:1597044472:=1c1%0a%3c (:title User Sysadmins:)%0a---%0a> (:title Militia Coders:)%0a +host:1597044491=38.81.163.143 +author:1597044472=jrmu +diff:1597044472:1597043185:=1,2d0%0a%3c (:title Militia Coders:)%0a%3c %0a +host:1597044472=38.81.163.143 +author:1597043185=jrmu +diff:1597043185:1597024641:=23,24d22%0a%3c %0a%3c The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even amateurs, with little training, can quickly learn the entire system and administer it. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a\ No newline at end of file%0a +host:1597043185=38.81.163.143 +author:1597024641=jrmu +diff:1597024641:1597024487:=11,22c11%0a%3c It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a%3c %0a%3c “A diffusion of knowledge is the only guardian of true liberty.”%0a%3c %0a%3c “If virtue and knowledge are diffused among the People, they will never be enslav'd. This will be their great Security.”%0a%3c %0a%3c “I consider knowledge to be the soul of a republic, and as the weak and the wicked are generally in alliance, as much care should be taken to diminish the number of the former as of the latter. Education is the way to do this, and nothing should be left undone to afford all ranks of people the means of obtaining a proper degree of it at a cheap and easy rate.”%0a%3c %0a%3c “Children should be educated and instructed in the principles of freedom.”%0a%3c %0a%3c %0a%3c “It is favourable to liberty. Freedom can exist only in the society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.”%0a---%0a> It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a\ No newline at end of file%0a +host:1597024641=38.81.163.143 +author:1597024487=jrmu +diff:1597024487:1597024292:=9,11c9%0a%3c Our network is not held together by professionals, but by the positive interests of its users toward each other.%0a%3c %0a%3c It is not by the concentration of powers, but by their distribution that good moderation is effected.%0a\ No newline at end of file%0a---%0a> Our network is not held together by professionals, but by the positive interests of its users toward each other.%0a\ No newline at end of file%0a +host:1597024487=38.81.163.143 +author:1597024292=jrmu +diff:1597024292:1597022450:=3,9c3,11%0a%3c Professionals are one of the greatest mischiefs that can possibly happen. Professionals are dangerous to liberty.%0a%3c %0a%3c None but an well-armed network can dispense with professionals.%0a%3c %0a%3c Always remember that an armed and trained users is the firmest fortress of free networks--that without professionals, their liberty can never be in danger.%0a%3c %0a%3c Our network is not held together by professionals, but by the positive interests of its users toward each other.%0a\ No newline at end of file%0a---%0a> “A standing army is one of the greatest mischiefs that can possibly happen.”%0a> %0a> “Standing armies are dangerous to liberty.”%0a> %0a> “None but an armed nation can dispense with a standing army.”%0a> %0a> “Always remember that an armed and trained militia is the firmest bulwark of republics—that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a> %0a> “Our Union is not held together by standing armies, or by any ties, other than the positive interests and powerful attractions of its parts toward each other.”%0a\ No newline at end of file%0a +host:1597024292=38.81.163.143 +author:1597022450=jrmu +diff:1597022450:1597022450:=1,11d0%0a%3c No sysadmin shall, in time of peace, be quartered in any house, without the consent of the users, nor in time of war, but in a manner to be prescribed by law.%0a%3c %0a%3c “A standing army is one of the greatest mischiefs that can possibly happen.”%0a%3c %0a%3c “Standing armies are dangerous to liberty.”%0a%3c %0a%3c “None but an armed nation can dispense with a standing army.”%0a%3c %0a%3c “Always remember that an armed and trained militia is the firmest bulwark of republics—that without standing armies their liberty can never be in danger, nor with large ones safe.”%0a%3c %0a%3c “Our Union is not held together by standing armies, or by any ties, other than the positive interests and powerful attractions of its parts toward each other.”%0a\ No newline at end of file%0a +host:1597022450=38.81.163.143 blob - /dev/null blob + 5dfa03744685272c247f393e7d522b241425b455 (mode 644) --- /dev/null +++ wiki.d/Freedom.Network @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596199641 +host=38.81.163.143 +name=Freedom.Network +rev=8 +targets=Freedom.Software,Freedom.Privacy,Ircnow.Federation +text=!! A Free Network%0a%0aModern society is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%0aIn order to reclaim our freedom, we must guarantee that users have [[freedom/software|free software]]. This means users have:%0a%0a# The freedom to **use** the work%0a# The freedom to **study** the work%0a# The freedom to **modify** the work%0a# The freedom to **share** the work%0a%0a...for any purpose, without fee, without requiring permission.%0a%0aHowever, [[freedom/software|free software]] is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, staff, and money to constantly maintain and provide the internet services that we all depend upon. Software by itself is useless without a thriving and healthy community. We the users must create an alternative, free network that anyone in the world can join.%0a%0aTo have a free network:%0a%0a# All network software must be free software to allow forks%0a# The network government must have a system of checks and balances to prevent abuse%0a# Each server should be allowed to govern itself%0a# Staff should be chosen by voting%0a# Staff can be impeached for abuse of power%0a# A bill of rights is provided to [[freedom/privacy|protect privacy]] and prevent arbitrary rule%0a# Proper respect is given to God to ensure public morality%0a%0aTo accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]]. +time=1596201541 +author:1596201541=jrmu +diff:1596201541:1596200554:=23c23%0a%3c # A bill of rights is provided to [[freedom/privacy|protect privacy]] and prevent arbitrary rule%0a---%0a> # A bill of rights is provided to prevent arbitrary rule%0a +host:1596201541=38.81.163.143 +author:1596200554=jrmu +diff:1596200554:1596200472:=7,11c7,11%0a%3c # The freedom to **use** the work%0a%3c # The freedom to **study** the work%0a%3c # The freedom to **modify** the work%0a%3c # The freedom to **share** the work%0a%3c %0a---%0a> - The freedom to **use** the work%0a> - The freedom to **study** the work%0a> - The freedom to **modify** the work%0a> - The freedom to **share** the work%0a> %0a18,24c18,24%0a%3c # All network software must be free software to allow forks%0a%3c # The network government must have a system of checks and balances to prevent abuse%0a%3c # Each server should be allowed to govern itself%0a%3c # Staff should be chosen by voting%0a%3c # Staff can be impeached for abuse of power%0a%3c # A bill of rights is provided to prevent arbitrary rule%0a%3c # Proper respect is given to God to ensure public morality%0a---%0a> - All network software must be free software to allow forks%0a> - The network government must have a system of checks and balances to prevent abuse%0a> - Each server should be allowed to govern itself%0a> - Staff should be chosen by elections from users%0a> - Staff can be impeached for abuse of power%0a> - A bill of rights is provided to prevent arbitrary rule%0a> - Proper respect is given to God to ensure public morality%0a +host:1596200554=38.81.163.143 +author:1596200472=jrmu +diff:1596200472:1596200452:=26c26%0a%3c To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]]. We welcome new teammates!%0a\ No newline at end of file%0a +host:1596200472=38.81.163.143 +author:1596200452=jrmu +diff:1596200452:1596200383:=26c26%0a%3c To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]]. We welcome new teammates!%0a\ No newline at end of file%0a---%0a> To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596200452=38.81.163.143 +author:1596200383=jrmu +diff:1596200383:1596200159:=18c18%0a%3c - All network software must be free software to allow forks%0a---%0a> - All network software must be free software%0a20,21c20,21%0a%3c - Each server should be allowed to govern itself%0a%3c - Staff should be chosen by elections from users%0a---%0a> - Each server must be able to govern itself%0a> - Staff must be chosen by elections from users%0a23,24c23,24%0a%3c - A bill of rights is provided to prevent arbitrary rule%0a%3c - Proper respect is given to God to ensure public morality%0a---%0a> - Proper respect is given to God%0a> %0a +host:1596200383=38.81.163.143 +author:1596200159=jrmu +diff:1596200159:1596199726:=14,26c14%0a%3c However, [[freedom/software|free software]] is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, staff, and money to constantly maintain and provide the internet services that we all depend upon. Software by itself is useless without a thriving and healthy community. We the users must create an alternative, free network that anyone in the world can join.%0a%3c %0a%3c To have a free network:%0a%3c %0a%3c - All network software must be free software%0a%3c - The network government must have a system of checks and balances to prevent abuse%0a%3c - Each server must be able to govern itself%0a%3c - Staff must be chosen by elections from users%0a%3c - Staff can be impeached for abuse of power%0a%3c - Proper respect is given to God%0a%3c %0a%3c %0a%3c To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> However, [[freedom/software|free software]] is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596200159=38.81.163.143 +author:1596199726=jrmu +diff:1596199726:1596199641:=3,6c3,6%0a%3c Modern society is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%3c %0a%3c In order to reclaim our freedom, we must guarantee that users have [[freedom/software|free software]]. This means users have:%0a%3c %0a---%0a> Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a> %0a> In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a> %0a14c14%0a%3c However, [[freedom/software|free software]] is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a---%0a> However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596199726=38.81.163.143 +author:1596199641=jrmu +diff:1596199641:1596199641:=1,14d0%0a%3c !! A Free Network%0a%3c %0a%3c Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%3c %0a%3c In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a%3c %0a%3c - The freedom to **use** the work%0a%3c - The freedom to **study** the work%0a%3c - The freedom to **modify** the work%0a%3c - The freedom to **share** the work%0a%3c %0a%3c ...for any purpose, without fee, without requiring permission.%0a%3c %0a%3c However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596199641=38.81.163.143 blob - /dev/null blob + 48eeba3cf6e1b403db417027294c3d0b742cfdf1 (mode 644) --- /dev/null +++ wiki.d/Freedom.Openforeveryone @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612444845 +host=198.251.81.119 +name=Freedom.Openforeveryone +rev=11 +targets= +text=(:title Open For Everyone:)%0a%0a%25rfloat width=50pct%25 Attach:torch.png%0a%0a[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe Linux users and those from Tor.%0aSend these accountless, shadowbanned to me,%0aWe are free outside the walled app store!%0a@]%0a%0a->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%0a->I hope that this network might become a safe refuge to the persecuted part of the Internet, from whatever platform they might have come from.%0a%0aIRCNow accepts all users of every age, language, country, race, and religious belief. Our goal is to connect people from every country in the world. Our common language is English, but we work hard to provide services for people of every language and culture. +time=1613450036 +title=Open For Everyone +author:1613450036=jrmu +diff:1613450036:1612512365:=9c9%0a%3c Send these accountless, shadowbanned to me,%0a---%0a> Send the accountless, shadowbanned to me,%0a +host:1613450036=198.251.81.119 +author:1612512365=jrmu +diff:1612512365:1612445942:=8c8%0a%3c The Linux users and those from Tor.%0a---%0a> The UNIX users and those from Tor.%0a +host:1612512365=198.251.81.119 +author:1612445942=jrmu +diff:1612445942:1612445929:=15c15%0a%3c ->I hope that this network might become a safe refuge to the persecuted part of the Internet, from whatever platform they might have come from.%0a---%0a> ->I hope that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a +host:1612445942=198.251.81.119 +author:1612445929=jrmu +diff:1612445929:1612445913:= +host:1612445929=198.251.81.119 +author:1612445913=jrmu +diff:1612445913:1612445904:= +host:1612445913=198.251.81.119 +author:1612445904=jrmu +diff:1612445904:1612445699:=15c15%0a%3c ->I hope that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a---%0a> ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a +host:1612445904=198.251.81.119 +author:1612445699=jrmu +diff:1612445699:1612445677:=3,4d2%0a%3c %25rfloat width=50pct%25 Attach:torch.png%0a%3c %0a11a10,11%0a> %0a> %25rfloat width=50pct%25 Attach:torch.png%0a +host:1612445699=198.251.81.119 +author:1612445677=jrmu +diff:1612445677:1612445626:=11c11%0a%3c %25rfloat width=50pct%25 Attach:torch.png%0a---%0a> Attach:torch.png%0a +host:1612445677=198.251.81.119 +author:1612445626=jrmu +diff:1612445626:1612445027:=10,11d9%0a%3c %0a%3c Attach:torch.png%0a +host:1612445626=198.251.81.119 +author:1612445027=jrmu +diff:1612445027:1612444845:=15c15,19%0a%3c IRCNow accepts all users of every age, language, country, race, and religious belief. Our goal is to connect people from every country in the world. Our common language is English, but we work hard to provide services for people of every language and culture.%0a\ No newline at end of file%0a---%0a> In this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a> %0a> Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a> %0a> IRCNow accepts all users of every age, language, country, race, and religious belief.%0a\ No newline at end of file%0a +host:1612445027=198.251.81.119 +author:1612444845=jrmu +diff:1612444845:1612444845:=1,19d0%0a%3c (:title Open For Everyone:)%0a%3c %0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The UNIX users and those from Tor.%0a%3c Send the accountless, shadowbanned to me,%0a%3c We are free outside the walled app store!%0a%3c @]%0a%3c %0a%3c ->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%3c %0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a%3c %0a%3c In this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a%3c %0a%3c Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%3c %0a%3c IRCNow accepts all users of every age, language, country, race, and religious belief.%0a\ No newline at end of file%0a +host:1612444845=198.251.81.119 blob - /dev/null blob + 487292fb0dc743ad947e21ffced970cfa9a35761 (mode 644) --- /dev/null +++ wiki.d/Freedom.Opentoall,del-1612444665 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612444654 +host=198.251.81.119 +name=Freedom.Opentoall +rev=1 +targets= +text=(:title Open To Everyone:)%0a%0a[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe UNIX users and those from Tor.%0aSend the accountless, shadowbanned to me,%0aWe are free outside the walled app store!%0a@]%0a%0a->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%0a->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a%0aIn this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a%0aOur network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%0aIRCNow accepts all users of every age, language, country, race, and religious belief. +time=1612444654 +title=Open To Everyone +author:1612444654=jrmu +diff:1612444654:1612444654:=1,19d0%0a%3c (:title Open To Everyone:)%0a%3c %0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The UNIX users and those from Tor.%0a%3c Send the accountless, shadowbanned to me,%0a%3c We are free outside the walled app store!%0a%3c @]%0a%3c %0a%3c ->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%3c %0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a%3c %0a%3c In this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a%3c %0a%3c Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%3c %0a%3c IRCNow accepts all users of every age, language, country, race, and religious belief.%0a\ No newline at end of file%0a +host:1612444654=198.251.81.119 blob - /dev/null blob + 1669a5df9e8b678147ba153eab11308f52585fe6 (mode 644) --- /dev/null +++ wiki.d/Freedom.Opportunity @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612515302 +host=198.251.81.119 +name=Freedom.Opportunity +rev=3 +targets= +text=(:title :)%0a%0aAttach:Marketing/oregontrail.png +time=1612515336 +author:1612515336=jrmu +diff:1612515336:1612515310:=1,2d0%0a%3c (:title :)%0a%3c %0a +host:1612515336=198.251.81.119 +author:1612515310=jrmu +diff:1612515310:1612515302:=1c1%0a%3c Attach:Marketing/oregontrail.png%0a\ No newline at end of file%0a---%0a> Attach:Marketing/oregontrail.jpg%0a\ No newline at end of file%0a +host:1612515310=198.251.81.119 +author:1612515302=jrmu +diff:1612515302:1612515302:=1d0%0a%3c Attach:Marketing/oregontrail.jpg%0a\ No newline at end of file%0a +host:1612515302=198.251.81.119 blob - /dev/null blob + 1e6a4e4ba515b19110431b4706738b2e2b4fc12f (mode 644) --- /dev/null +++ wiki.d/Freedom.Press @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1612069993 +host=198.251.81.119 +name=Freedom.Press +rev=2 +targets= +text=(:title First Amendment with Servers' Rights:)%0a%0a%25width=100pct rfloat%25 Attach:Marketing/press.png%0a%0a-> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aIRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Uncensored debate is necessary to allow free users to make their own policy decisions.%0a%0aThe first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography. +time=1623575542 +title=First Amendment with Servers' Rights +author:1623575542=jrmu +diff:1623575542:1612069993:=1,2c1,2%0a%3c (:title First Amendment with Servers' Rights:)%0a%3c %0a---%0a> (:title Press Freedom:)%0a> %0a4a5,10%0a> Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a> %0a> IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a> %0a> Our digital bill of rights states:%0a> %0a7,9c13,15%0a%3c IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Uncensored debate is necessary to allow free users to make their own policy decisions.%0a%3c %0a%3c The first amendment only applies to the network congress, however. Each individual server retains the right to set its own terms of service and censorship policy. For example, local servers will censor violent threats, illegal content, and copyright infringement. IRCNow also welcomes users of all ages and so the servers do not allow pornography.%0a\ No newline at end of file%0a---%0a> At the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a> %0a> IRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship.%0a\ No newline at end of file%0a +host:1623575542=198.251.81.119 +author:1612069993=jrmu +diff:1612069993:1612069993:=1,15d0%0a%3c (:title Press Freedom:)%0a%3c %0a%3c %25width=100pct rfloat%25 Attach:Marketing/press.png%0a%3c %0a%3c Internet censorship is on the rise. Today, you can get your social media accounts banned for disagreeing with the mainstream on health policy, how to raise children, the environment, or even a product review. Simply criticizing a company can get you permanently banned. What is worse, people around the world are now being ostracized and banned for believing in the Bible.%0a%3c %0a%3c IRCNow is a network that the users control. To ensure this, our bill of rights does not allow network-wide censorship of speech, the press, or religion. Limiting censorship is necessary in order to have meaningful debates for how our network should run.%0a%3c %0a%3c Our digital bill of rights states:%0a%3c %0a%3c -> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c At the same time, we recognize the need to have limited censorship. Each individual server can set its own independent censorship policy in order to comply with local law and to maintain a family-friendly network. In effect, the censorship on the network is distributed.%0a%3c %0a%3c IRCNow provides [[freedom/software|the source code and documentation]] for all the software on this network, so that users have the freedom [[freedom/militia|to control their own software]] and [[freedom/fork|fork this network]]. This provides a powerful safeguard against arbitrary censorship.%0a\ No newline at end of file%0a +host:1612069993=125.224.24.163 blob - /dev/null blob + 34e0ea1c14c2d54af74dcb3b62738021a433d6ee (mode 644) --- /dev/null +++ wiki.d/Freedom.Privacy @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596201573 +host=198.251.81.119 +name=Freedom.Privacy +rev=16 +targets= +text=(:title Right to Privacy:)%0a%0a->Users have a right to be secure from unreasonable searches of their personal information and data. Search warrants can be given only upon probable cause where the data to be searched and seized are described. %0a%0aIRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support cryptography such as TLS, ssh, PGP, and cryptocoins. We allow access from Tor. We provide VPN services.%0a%0aEach local server sets its own privacy policy. Each server can collect user data to provide extra features, prevent abuse, and to ensure security. Each server has the freedom to set its own privacy policy, and users in turn can pick the privacy policy and server staff they like best. +time=1612510015 +title=Right to Privacy +author:1612510015=jrmu +diff:1612510015:1612509971:=5c5%0a%3c IRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support cryptography such as TLS, ssh, PGP, and cryptocoins. We allow access from Tor. We provide VPN services.%0a---%0a> IRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support cryptography such as TLS, ssh, PGP, and cryptocoins. We allow access from Tor.%0a +host:1612510015=198.251.81.119 +author:1612509971=jrmu +diff:1612509971:1612509327:=5c5%0a%3c IRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support cryptography such as TLS, ssh, PGP, and cryptocoins. We allow access from Tor.%0a---%0a> IRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support encryption and allow connections from tor. %0a +host:1612509971=198.251.81.119 +author:1612509327=jrmu +diff:1612509327:1612509110:=5c5%0a%3c IRCNow supports anonymity and privacy. Our network allow users to connect anonymously. Users do not have to provide us with their real name, phone number, or ID to register and use services. We support encryption and allow connections from tor. %0a---%0a> IRCNow supports anonymity and privacy. Our network allow users to connect anonymously using tor and does not require a phone number or ID to register. We support encryption.%0a +host:1612509327=198.251.81.119 +author:1612509110=jrmu +diff:1612509110:1606886945:=5,7c5,9%0a%3c IRCNow supports anonymity and privacy. Our network allow users to connect anonymously using tor and does not require a phone number or ID to register. We support encryption.%0a%3c %0a%3c Each local server sets its own privacy policy. Each server can collect user data to provide extra features, prevent abuse, and to ensure security. Each server has the freedom to set its own privacy policy, and users in turn can pick the privacy policy and server staff they like best.%0a\ No newline at end of file%0a---%0a> Internet service providers have the power to collect a tremendous amount of metadata: your legal name, age, email, social media accounts, photos, residential address, and browsing history. They have the power to profile you based on a wide array of fingerprinting techniques. On most networks, anonymity is impossible.%0a> %0a> There are many dangers that could result from an abuse of this data. Identity theft, online harassment, selling data to advertisers are just a few of the many possible abuses of private data.%0a> %0a> IRCNow strives to ensure your privacy. The network does collect some metadata in order to provide necessary internet services and to ensure security. This is necessary to prevent abuse. However, all other collection of information requires users' active consent. IRCNow gives each server on its network the freedom to choose its own privacy policy, and the users in turn have freedom to choose their servers.%0a\ No newline at end of file%0a +host:1612509110=198.251.81.119 +author:1606886945=jrmu +diff:1606886945:1597046633:=3c3%0a%3c ->Users have a right to be secure from unreasonable searches of their personal information and data. Search warrants can be given only upon probable cause where the data to be searched and seized are described. %0a---%0a> ->The right of users to be secure in their data and personal information against unreasonable searches and seizures shall not be violated. Searches should only be done upon probable cause describing the items to be searched.%0a +host:1606886945=198.251.81.119 +author:1597046633=jrmu +diff:1597046633:1597046500:=9c9%0a%3c IRCNow strives to ensure your privacy. The network does collect some metadata in order to provide necessary internet services and to ensure security. This is necessary to prevent abuse. However, all other collection of information requires users' active consent. IRCNow gives each server on its network the freedom to choose its own privacy policy, and the users in turn have freedom to choose their servers.%0a\ No newline at end of file%0a---%0a> IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. IRCNow attempts to minimize the collection of user data to only what is needed for security. We allow anonymity and avoid selling data to 3rd parties. IRCNow gives each server on its network the freedom to further dictate its own privacy policy, and the users in turn have freedom to choose their servers. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a\ No newline at end of file%0a +host:1597046633=38.81.163.143 +author:1597046500=jrmu +diff:1597046500:1596431050:=3c3%0a%3c ->The right of users to be secure in their data and personal information against unreasonable searches and seizures shall not be violated. Searches should only be done upon probable cause describing the items to be searched.%0a---%0a> ->The right of users to be secure in their data and personal information against unreasonable searches and seizures shall not be violated. No search warrants should be given but upon probable cause describing the items to be searched.%0a +host:1597046500=38.81.163.143 +author:1596431050=jrmu +diff:1596431050:1596430963:=9c9%0a%3c IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. IRCNow attempts to minimize the collection of user data to only what is needed for security. We allow anonymity and avoid selling data to 3rd parties. IRCNow gives each server on its network the freedom to further dictate its own privacy policy, and the users in turn have freedom to choose their servers. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a\ No newline at end of file%0a---%0a> IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. IRCNow gives each server on its network the freedom to decide upon its privacy policy, and the users in turn have freedom to choose their servers. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a\ No newline at end of file%0a +host:1596431050=38.81.163.143 +author:1596430963=jrmu +diff:1596430963:1596430750:=9c9,15%0a%3c IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. IRCNow gives each server on its network the freedom to decide upon its privacy policy, and the users in turn have freedom to choose their servers. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a\ No newline at end of file%0a---%0a> IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. However, IRCNow attempts to limit searches only where there is probable cause. It also allows each server freedom in its privacy policy. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a> %0a> General principles:%0a> %0a> * Minimize collection of user data except as needed for security%0a> * Do not sell data to 3rd parties%0a> * Allow anonymity so long as it does not harm security%0a\ No newline at end of file%0a +host:1596430963=38.81.163.143 +author:1596430750=jrmu +diff:1596430750:1596364868:=3c3%0a%3c ->The right of users to be secure in their data and personal information against unreasonable searches and seizures shall not be violated. No search warrants should be given but upon probable cause describing the items to be searched.%0a---%0a> ->The right of users to be secure in their personal information and data against unreasonable searches and seizures shall not be violated. No search warrants should be given but upon probable cause describing the items to be searched.%0a +host:1596430750=38.81.163.143 +author:1596364868=jrmu +diff:1596364868:1596364457:=5,11c5,19%0a%3c Internet service providers have the power to collect a tremendous amount of metadata: your legal name, age, email, social media accounts, photos, residential address, and browsing history. They have the power to profile you based on a wide array of fingerprinting techniques. On most networks, anonymity is impossible.%0a%3c %0a%3c There are many dangers that could result from an abuse of this data. Identity theft, online harassment, selling data to advertisers are just a few of the many possible abuses of private data.%0a%3c %0a%3c IRCNow does collect metadata and some user data in order to provide necessary internet services and to ensure security. All public services, by necessity, must collect at least some metadata to prevent abuse. However, IRCNow attempts to limit searches only where there is probable cause. It also allows each server freedom in its privacy policy. It also gives users the ability to host their own servers or fork the network if they want a different privacy policy.%0a%3c %0a%3c General principles:%0a---%0a> %0a> %0a> age name residential address%0a> browsing history%0a> anonymity%0a> identity theft%0a> online harassment%0a> email%0a> social media history%0a> cookies%0a> advertising profiling%0a> fingerprinting%0a> big data%0a> %0a> %0a +host:1596364868=38.81.163.143 +author:1596364457=jrmu +diff:1596364457:1596364349:=5,6d4%0a%3c %0a%3c %0a19a18,22%0a> %0a> %0a> Closed info providers deliberately design their systems so it is difficult or impossible to leave. They do this to ensure you become dependent on their ecosystem. For example, if you shop with Apple, you become dependent on their expensive ecosystem of iPhones and Macs. You must regularly pay them taxes in the form of new hardware/software upgrades and iCloud fees. These are part of the taxes they force you to pay. Over time, you find yourself becoming part of their property. But if you try to leave, you find it is extremely difficult to get out, often requiring months of work. This is their deliberate design -- closed info is designed to enforce economic feudalism.%0a> %0a> When designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies!%0a +host:1596364457=38.81.163.143 +author:1596364349=jrmu +diff:1596364349:1596364130:=1c1%0a%3c (:title Right to Privacy:)%0a---%0a> !! Privacy%0a +host:1596364349=38.81.163.143 +author:1596364130=jrmu +diff:1596364130:1596258846:=2,18d1%0a%3c %0a%3c ->The right of users to be secure in their personal information and data against unreasonable searches and seizures shall not be violated. No search warrants should be given but upon probable cause describing the items to be searched.%0a%3c %0a%3c age name residential address%0a%3c browsing history%0a%3c anonymity%0a%3c identity theft%0a%3c online harassment%0a%3c email%0a%3c social media history%0a%3c cookies%0a%3c advertising profiling%0a%3c fingerprinting%0a%3c big data%0a%3c %0a%3c %0a%3c %0a +host:1596364130=38.81.163.143 +author:1596258846=jrmu +diff:1596258846:1596201573:=2,5d1%0a%3c %0a%3c Closed info providers deliberately design their systems so it is difficult or impossible to leave. They do this to ensure you become dependent on their ecosystem. For example, if you shop with Apple, you become dependent on their expensive ecosystem of iPhones and Macs. You must regularly pay them taxes in the form of new hardware/software upgrades and iCloud fees. These are part of the taxes they force you to pay. Over time, you find yourself becoming part of their property. But if you try to leave, you find it is extremely difficult to get out, often requiring months of work. This is their deliberate design -- closed info is designed to enforce economic feudalism.%0a%3c %0a%3c When designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies!%0a +host:1596258846=38.81.163.143 +author:1596201573=jrmu +diff:1596201573:1596201573:=1,5d0%0a%3c !! Privacy%0a%3c %0a%3c * Minimize collection of user data except as needed for security%0a%3c * Do not sell data to 3rd parties%0a%3c * Allow anonymity so long as it does not harm security%0a\ No newline at end of file%0a +host:1596201573=38.81.163.143 blob - /dev/null blob + 23244d4f3c76da61bc309a86a73f6b5d218864a6 (mode 644) --- /dev/null +++ wiki.d/Freedom.Quality,del-1597044282 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596201466 +host=38.81.163.143 +name=Freedom.Quality +rev=1 +targets=Freedom.Software +text=!! Quality Software%0a%0a# All software must be [[freedom/software|free software]].%0a# Follow open standards that are in wide use%0a# Follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Try to design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a# Achieve tight integration with the OpenBSD operating system%0a# Prefer languages native to OpenBSD: perl, C, korn shell%0a# Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a# Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a# Avoid unnecessary, 3rd-party dependencies%0a# Prefer software that has a long history of being reliable and stable%0a# Prefer permissive, 2-clause BSD or MIT license over the GPL%0a# Prefer software with better documentation%0a# Prefer software that can be easily audited and forked +time=1596201466 +author:1596201466=jrmu +diff:1596201466:1596201466:=1,19d0%0a%3c !! Quality Software%0a%3c %0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the OpenBSD operating system%0a%3c # Prefer languages native to OpenBSD: perl, C, korn shell%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a +host:1596201466=38.81.163.143 blob - /dev/null blob + 3a88356fdab8295f57c145c057d0bd63a3acab34 (mode 644) --- /dev/null +++ wiki.d/Freedom.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1596199217 +host=125.231.26.73 +name=Freedom.RecentChanges +rev=679 +text=* [[Freedom/Bearcode]] . . . July 14, 2021, at 09:42 AM 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* [[Freedom/Destiny]] . . . June 18, 2021, at 05:31 AM 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* [[Freedom/Freenode]] . . . May 25, 2021, at 01:48 AM by [[~jrmu]]: [==]%0a* [[Freedom/Unix]] . . . April 29, 2021, at 03:39 PM by [[~jrmu]]: [==]%0a* [[Freedom/Libertyordeath]] . . . April 17, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Freedom/Madeonirc]] . . . March 27, 2021, at 11:48 AM by [[~jrmu]]: [==]%0a* [[Freedom/Independence]] . . . March 22, 2021, at 01:13 PM by [[~wiz]]: [==]%0a* [[Freedom/Openforeveryone]] . . . February 16, 2021, at 04:33 AM 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* [[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* [[Freedom/Privacy]] . . . February 05, 2021, at 07:26 AM 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* [[Freedom/Censorship]] . . . January 31, 2021, at 05:23 AM by [[~jrmu]]: [==]%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* [[Freedom/Militia]] . . . December 02, 2020, at 04:18 AM by [[~jrmu]]: [==]%0a* [[Freedom/Denomination]] . . . October 23, 2020, at 09:20 AM by [[~jrmu]]: [==]%0a* [[Freedom/Experiment]] . . . August 14, 2020, at 12:46 AM by [[~jrmu]]: [==]%0a* [[Freedom/Centralized]] . . . August 10, 2020, at 10:14 AM by [[~jrmu]]: [==]%0a* [[Freedom/Republic]] . . . August 10, 2020, at 09:52 AM by [[~jrmu]]: [==]%0a* [[Freedom/Education]] . . . August 10, 2020, at 09:49 AM by [[~jrmu]]: [==]%0a* [[Freedom/Equalaccess]] . . . August 10, 2020, at 09:47 AM by [[~jrmu]]: [==]%0a* [[Freedom/Vendorlockin]] . . . August 10, 2020, at 09:28 AM by [[~jrmu]]: [==]%0a* [[Freedom/Selfhost]] . . . August 10, 2020, at 09:01 AM by [[~jrmu]]: [==]%0a* [[Freedom/UNIX]] . . . August 10, 2020, at 07:26 AM by [[~jrmu]]: [==]%0a* [[Freedom/Quality]] . . . August 10, 2020, at 07:24 AM by [[~jrmu]]: [==]%0a* [[Freedom/License]] . . . August 03, 2020, at 12:13 PM by [[~jrmu]]: [==]%0a* [[Freedom/Source]] . . . August 01, 2020, at 04:55 AM by [[~jrmu]]: [==]%0a* [[Freedom/Network]] . . . July 31, 2020, at 01:19 PM by [[~jrmu]]: [==]%0a +time=1626255760 blob - /dev/null blob + 515b45ff18856e0471210d6de57fa1de836945c9 (mode 644) --- /dev/null +++ wiki.d/Freedom.Refuge @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596450811 +host=198.251.81.119 +name=Freedom.Refuge +rev=19 +targets= +text=(:title Open Access For Everyone:)%0a%0a[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe UNIX users and those from Tor.%0aSend the accountless, shadowbanned to me,%0aWe are free outside the walled app store!%0a@]%0a%0a->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%0a->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a%0aIn this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a%0aOur network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a%0aIRCNow accepts all users of every age, language, country, race, and religious belief. +time=1612431110 +title=Open Access For Everyone +author:1612431110=jrmu +diff:1612431110:1606888076:=13,14c13,14%0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever platform they might have come from.%0a%3c %0a---%0a> ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever internet platform they might have come from.%0a> %0a19c19%0a%3c IRCNow accepts all users of every age, language, country, race, and religious belief.%0a\ No newline at end of file%0a---%0a> IRCNow accepts all users from any background, political belief, or religion provided they can follow the rules on the network.%0a\ No newline at end of file%0a +host:1612431110=198.251.81.119 +author:1606888076=jrmu +diff:1606888076:1606887667:=19c19%0a%3c IRCNow accepts all users from any background, political belief, or religion provided they can follow the rules on the network.%0a\ No newline at end of file%0a---%0a> IRCNow accepts all users from any background, political belief, or religion provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a +host:1606888076=198.251.81.119 +author:1606887667=jrmu +diff:1606887667:1606887597:=8c8%0a%3c We are free outside the walled app store!%0a---%0a> We chat freely outside the walled app store!%0a +host:1606887667=198.251.81.119 +author:1606887597=jrmu +diff:1606887597:1604718791:=6c6%0a%3c The UNIX users and those from Tor.%0a---%0a> The Linux users and those from Tor.%0a8c8%0a%3c We chat freely outside the walled app store!%0a---%0a> I open my ports on the firewall door!"%0a +host:1606887597=198.251.81.119 +author:1604718791=jrmu +diff:1604718791:1597052796:=13c13%0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, from whatever internet platform they might have come from.%0a---%0a> ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever internet platform they might have come from.%0a +host:1604718791=125.231.22.243 +author:1597052796=jrmu +diff:1597052796:1597052752:=1c1%0a%3c (:title Open Access For Everyone:)%0a---%0a> (:title Equal Opportunity:)%0a +host:1597052796=38.81.163.143 +author:1597052752=jrmu +diff:1597052752:1597052577:=17c17%0a%3c Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that you do not need to spend any money to get basic internet services. We also work hard to ensure backwards compatibility with older, outdated software, so that users do not have to buy new hardware. This ensures that anyone, regardless of income or status, can join and participate.%0a---%0a> Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that anyone, regardless of income or status, can join and participate.%0a +host:1597052752=38.81.163.143 +author:1597052577=jrmu +diff:1597052577:1597052521:=8c8%0a%3c I open my ports on the firewall door!"%0a---%0a> I open my ports on the server door!"%0a +host:1597052577=38.81.163.143 +author:1597052521=jrmu +diff:1597052521:1597048833:=1,2c1,2%0a%3c (:title Equal Opportunity:)%0a%3c %0a---%0a> (:title Open to All:)%0a> %0a15,19c15,17%0a%3c In this day and age, the global Internet is breaking up into regional blocs: a small intranet for China, another for Russia, another for the USA. IRCNow is different; we welcome all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture. We do our best to legally connect people across different national boundaries to create a truly global network. This can be done because open internet services are often not subject to political sanctions.%0a%3c %0a%3c Our network does not require the purchase of expensive, closed-source software to run. You do not need to pay hundreds of dollars for a legal copy of Windows or iOS, nor do you need to steal any software illegally. Our network is guaranteed to work with open source tools so that anyone, regardless of income or status, can join and participate.%0a%3c %0a%3c IRCNow accepts all users from any background, political belief, or religion provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a---%0a> IRCNow welcomes all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture.%0a> %0a> IRCNow accepts all users from any background, political belief, or religion -- provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a +host:1597052521=38.81.163.143 +author:1597048833=jrmu +diff:1597048833:1597048804:=17c17%0a%3c IRCNow accepts all users from any background, political belief, or religion -- provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a---%0a> IRCNow welcomes all users from any background, political belief, or religion -- provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a +host:1597048833=38.81.163.143 +author:1597048804=jrmu +diff:1597048804:1597048707:=14,15d13%0a%3c %0a%3c IRCNow welcomes all users from any country and language. While our common language is English, we do our best to provide services to people of any language and culture.%0a +host:1597048804=38.81.163.143 +author:1597048707=jrmu +diff:1597048707:1597048542:=15c15%0a%3c IRCNow welcomes all users from any background, political belief, or religion -- provided they can follow the rules on the network, which remains governed by the Bible. We do not ban users based on political and religious beliefs which take place outside of the network.%0a\ No newline at end of file%0a---%0a> IRCNow welcomes all users from any background, belief, or religion, provided they can follow the rules on the network. It remains a Christian network, so we ask users not to post content that goes against the Christian faith. But we welcome users regardless of political belief or religion to come and join us on our network.%0a\ No newline at end of file%0a +host:1597048707=38.81.163.143 +author:1597048542=jrmu +diff:1597048542:1597047570:=8c8%0a%3c I open my ports on the server door!"%0a---%0a> I lift my mouse beside the homepage door!"%0a +host:1597048542=38.81.163.143 +author:1597047570=jrmu +diff:1597047570:1597046994:=6,7c6,7%0a%3c The Linux users and those from Tor.%0a%3c Send the accountless, shadowbanned to me,%0a---%0a> The Windows users and those from Tor.%0a> Send these accountless, shadowbanned to me,%0a11,15c11,13%0a%3c ->This network is open not only to the rich and tech-savvy but also the poor and neglected whom we welcome to all our rights and privileges.%0a%3c %0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever internet platform they might have come from.%0a%3c %0a%3c IRCNow welcomes all users from any background, belief, or religion, provided they can follow the rules on the network. It remains a Christian network, so we ask users not to post content that goes against the Christian faith. But we welcome users regardless of political belief or religion to come and join us on our network.%0a\ No newline at end of file%0a---%0a> ->This network is open to receive not only the rich and tech-savvy but the poor and neglected whom we shall welcome to a participation of all our rights and privileges.%0a> %0a> ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever internet platform they might have come from.%0a\ No newline at end of file%0a +host:1597047570=38.81.163.143 +author:1597046994=jrmu +diff:1597046994:1596455713:= +host:1597046994=38.81.163.143 +author:1596455713=jrmu +diff:1596455713:1596451443:=8c8%0a%3c I lift my mouse beside the homepage door!"%0a---%0a> I lift my lamp beside the golden door!"%0a13c13%0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever internet platform they might have come from.%0a\ No newline at end of file%0a---%0a> ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever nation they might belong.%0a\ No newline at end of file%0a +host:1596455713=38.81.163.143 +author:1596451443=jrmu +diff:1596451443:1596451092:=1,2d0%0a%3c (:title Open to All:)%0a%3c %0a9,13c7%0a%3c @]%0a%3c %0a%3c ->This network is open to receive not only the rich and tech-savvy but the poor and neglected whom we shall welcome to a participation of all our rights and privileges.%0a%3c %0a%3c ->I had always hoped that this network might become a safe refuge to the virtuous and persecuted part of the Internet, to whatever nation they might belong.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1596451443=38.81.163.143 +author:1596451092=jrmu +diff:1596451092:1596450811:=4,5c4,5%0a%3c The Windows users and those from Tor.%0a%3c Send these accountless, shadowbanned to me,%0a---%0a> The Windows users of your teeming shore.%0a> Send these, the homeless, shadowbanned to me,%0a +host:1596451092=38.81.163.143 +author:1596450811=jrmu +diff:1596450811:1596450811:=1,7d0%0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The Windows users of your teeming shore.%0a%3c Send these, the homeless, shadowbanned to me,%0a%3c I lift my lamp beside the golden door!"%0a%3c @]%0a\ No newline at end of file%0a +host:1596450811=38.81.163.143 blob - /dev/null blob + fbeb0faaa58a2d87960f700db46680312f0c6633 (mode 644) --- /dev/null +++ wiki.d/Freedom.Religion @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1607074045 +host=38.81.163.143 +name=Freedom.Religion +rev=13 +targets= +text=(:title Religious Liberty:)%0a%0a%25width=400px rfloat%25 Attach:Marketing/thanksgiving.jpg%0a%0a-> In God We Trust.%0a%0a-> One Network Under God.%0a%0a-> Righteousness exalts a network, but sin is a disgrace to any community.%0a%0a-> Congress shall not make any policy to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aIRCNow guarantees the free exercise of religion at a network level. Users of any age, race, language, or religious belief are welcome.%0a +time=1624759365 +title=Religious Liberty +author:1624759365=jrmu +diff:1624759365:1624707327:=9a10,11%0a> %0a> -> The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a +host:1624759365=38.81.163.143 +author:1624707327=jrmu +diff:1624707327:1612509514:=5,15c5,13%0a%3c -> In God We Trust.%0a%3c %0a%3c -> One Network Under God.%0a%3c %0a%3c -> Righteousness exalts a network, but sin is a disgrace to any community.%0a%3c %0a%3c -> The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a%3c %0a%3c -> Congress shall not make any policy to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c IRCNow guarantees the free exercise of religion at a network level. Users of any age, race, language, or religious belief are welcome.%0a---%0a> ->In God We Trust.%0a> %0a> ->One Network Under God.%0a> %0a> ->Righteousness exalts a network, but sin is a disgrace to any community.%0a> %0a> ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a> %0a> IRCNow guarantees the free exercise of religion at a network level. Users of any age, race, language, or religious belief are welcome.%0a\ No newline at end of file%0a +host:1624707327=198.251.84.158 +author:1612509514=jrmu +diff:1612509514:1612505577:=13c13%0a%3c IRCNow guarantees the free exercise of religion at a network level. Users of any age, race, language, or religious belief are welcome.%0a\ No newline at end of file%0a---%0a> IRCNow guarantees the free exercise of religion at a network level.%0a\ No newline at end of file%0a +host:1612509514=198.251.81.119 +author:1612505577=jrmu +diff:1612505577:1612505531:=10,11d9%0a%3c %0a%3c ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a +host:1612505577=198.251.81.119 +author:1612505531=jrmu +diff:1612505531:1612505516:=3c3%0a%3c %25width=400px rfloat%25 Attach:Marketing/thanksgiving.jpg%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/thanksgiving.jpg%0a +host:1612505531=198.251.81.119 +author:1612505516=jrmu +diff:1612505516:1612443497:=3c3%0a%3c %25width=40pct rfloat%25 Attach:Marketing/thanksgiving.jpg%0a---%0a> %25width=40pct%25 Attach:Marketing/thanksgiving.jpg%0a +host:1612505516=198.251.81.119 +author:1612443497=jrmu +diff:1612443497:1612443461:= +host:1612443497=198.251.81.119 +author:1612443461=jrmu +diff:1612443461:1612443370:=9a10,19%0a> %0a> ->Virtue is necessary to support a network run by the users.%0a> %0a> ->Religion and morality are the essential pillars of virtual society.%0a> %0a> ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a> %0a> ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a> %0a> ->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a +host:1612443461=198.251.81.119 +author:1612443370=jrmu +diff:1612443370:1611888466:=5,8c5,6%0a%3c ->In God We Trust.%0a%3c %0a%3c ->One Network Under God.%0a%3c %0a---%0a> ->In God We Trust. One Network Under God.%0a> %0a21c19%0a%3c IRCNow guarantees the free exercise of religion at a network level.%0a\ No newline at end of file%0a---%0a> IRCNow guarantees no censorship of the free exercise of religion at a network level.%0a\ No newline at end of file%0a +host:1612443370=198.251.81.119 +author:1611888466=jrmu +diff:1611888466:1611888218:=3c3%0a%3c %25width=40pct%25 Attach:Marketing/thanksgiving.jpg%0a---%0a> Attach:https://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a +host:1611888466=125.231.24.226 +author:1611888218=jrmu +diff:1611888218:1611888198:=3,4d2%0a%3c Attach:https://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a%3c %0a17a16,17%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a +host:1611888218=125.231.24.226 +author:1611888198=jrmu +diff:1611888198:1607074045:=16,17d15%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a +host:1611888198=125.231.24.226 +author:1607074045=jrmu +diff:1607074045:1607074045:=1,17d0%0a%3c (:title Religious Liberty:)%0a%3c %0a%3c ->In God We Trust. One Network Under God.%0a%3c %0a%3c ->Righteousness exalts a network, but sin is a disgrace to any community.%0a%3c %0a%3c ->Virtue is necessary to support a network run by the users.%0a%3c %0a%3c ->Religion and morality are the essential pillars of virtual society.%0a%3c %0a%3c ->The observance of religion is the cause of the greatness of a network, and its neglect is the occasion of its decline; since a community without the fear of God must fall to pieces.%0a%3c %0a%3c ->The Bible is the best of all books, for it is the word of God and teaches us the way to be happy in this world and in the next. Continue therefore to read it and to regulate your life by its precepts.%0a%3c %0a%3c ->We have no network that can restrain evil not restrained by morality and religion. Our Constitution was made only for a moral and religious people.%0a%3c %0a%3c IRCNow guarantees no censorship of the free exercise of religion at a network level.%0a\ No newline at end of file%0a +host:1607074045=198.251.81.119 blob - /dev/null blob + f792f82e8a5954cae98967b2c8cfa1f26eb3e8fd (mode 644) --- /dev/null +++ wiki.d/Freedom.Republic,del-1597053130 @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596429595 +host=38.81.163.143 +name=Freedom.Republic +rev=6 +targets= +text=->Networks are strongest where every user feels himself a part.%0a%0a->The happiness of the users is the only goal of a network's staff, so the consent of the people is the only foundation of it.%0a%0a->A wise staff who restrains users from injuring one another, shall leave them otherwise free to chat and work in peace, and shall not take away enjoyment from their labors. This is the sum of a good network.%0a%0a->To have just staff, do not to trust it all to one; but divide it among the many. +time=1596430341 +author:1596430341=jrmu +diff:1596430341:1596430245:=3c3%0a%3c ->The happiness of the users is the only goal of a network's staff, so the consent of the people is the only foundation of it.%0a---%0a> ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a +host:1596430341=38.81.163.143 +author:1596430245=jrmu +diff:1596430245:1596430231:=3,4d2%0a%3c ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a%3c %0a5a4,5%0a> %0a> ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a +host:1596430245=38.81.163.143 +author:1596430231=jrmu +diff:1596430231:1596429745:=5,7c5%0a%3c ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a%3c %0a%3c ->To have just staff, do not to trust it all to one; but divide it among the many.%0a\ No newline at end of file%0a---%0a> ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a\ No newline at end of file%0a +host:1596430231=38.81.163.143 +author:1596429745=jrmu +diff:1596429745:1596429690:=3,5c3%0a%3c ->A wise staff who restrains users from injuring one another, shall leave them otherwise free to chat and work in peace, and shall not take away enjoyment from their labors. This is the sum of a good network.%0a%3c %0a%3c ->The happiness of the users is the only goal of a netowrk's staff, so the consent of the people is the only foundation of it.%0a\ No newline at end of file%0a---%0a> ->A wise staff who restrains users from injuring one another, shall leave them otherwise free to chat and work in peace, and shall not take away enjoyment from their labors. This is the sum of a good network.%0a\ No newline at end of file%0a +host:1596429745=38.81.163.143 +author:1596429690=jrmu +diff:1596429690:1596429595:=1,3c1%0a%3c ->Networks are strongest where every user feels himself a part.%0a%3c %0a%3c ->A wise staff who restrains users from injuring one another, shall leave them otherwise free to chat and work in peace, and shall not take away enjoyment from their labors. This is the sum of a good network.%0a\ No newline at end of file%0a---%0a> ->Networks are strongest where every user feels himself a part.%0a\ No newline at end of file%0a +host:1596429690=38.81.163.143 +author:1596429595=jrmu +diff:1596429595:1596429595:=1d0%0a%3c ->Networks are strongest where every user feels himself a part.%0a\ No newline at end of file%0a +host:1596429595=38.81.163.143 blob - /dev/null blob + 5ca5d93aa6e4fbcb8a5ee5ca559341d8db42d3b8 (mode 644) --- /dev/null +++ wiki.d/Freedom.Rulebylaw @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596429540 +host=198.251.81.119 +name=Freedom.Rulebylaw +rev=11 +targets= +text=(:title Rule by Law:)%0a%0a%25width=400px rfloat%25 Attach:Marketing/congress.jpg%0a%0a->Every user on the network has an equal right to protection.%0a%0a->Justice is due to all, without regard to wealth or status.%0a%0a->It is useless to have rules made by users of their own choice, if the terms of service are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a%0a->It is better for one hundred spammers to escape than for one innocent user to get banned. +time=1612613573 +title=Rule by Law +author:1612613573=jrmu +diff:1612613573:1612525067:=9a10,11%0a> %0a> ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a +host:1612613573=198.251.81.119 +author:1612525067=jrmu +diff:1612525067:1612523535:=2,3d1%0a%3c %0a%3c %25width=400px rfloat%25 Attach:Marketing/congress.jpg%0a +host:1612525067=198.251.81.119 +author:1612523535=jrmu +diff:1612523535:1612523064:=2a3,4%0a> ->It is better for one hundred spammers to escape than for one innocent user to get banned.%0a> %0a5,6c7,8%0a%3c ->Justice is due to all, without regard to wealth or status.%0a%3c %0a---%0a> ->Justice is due to all, without regard to numbers, wealth, or status.%0a> %0a9,11c11%0a%3c ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a%3c %0a%3c ->It is better for one hundred spammers to escape than for one innocent user to get banned.%0a\ No newline at end of file%0a---%0a> ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a\ No newline at end of file%0a +host:1612523535=198.251.81.119 +author:1612523064=jrmu +diff:1612523064:1612522945:=9,11c9,13%0a%3c ->It is useless to have rules made by users of their own choice, if the terms of service are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a%3c %0a%3c ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff member with enough power to endanger the public liberty.%0a\ No newline at end of file%0a---%0a> ->God shows no partiality.%0a> %0a> ->It is useless to have laws made by users of their own choice, if the laws are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a> %0a> ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff living with power to endanger the public liberty.%0a\ No newline at end of file%0a +host:1612523064=198.251.81.119 +author:1612522945=jrmu +diff:1612522945:1597054296:=3,4c3,8%0a%3c ->It is better for one hundred spammers to escape than for one innocent user to get banned.%0a%3c %0a---%0a> ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a> %0a> ->There is danger from all opers. The only slogan of a free network ought to be to trust no oper living with power to endanger the public liberty.%0a> %0a> ->It is better for one hundred spammers should escape than for one innocent user to get GLINEd.%0a> %0a11,13c15%0a%3c ->It is useless to have laws made by users of their own choice, if the laws are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a%3c %0a%3c ->There is danger from all staff. The only slogan of a free network ought to be to trust no staff living with power to endanger the public liberty.%0a\ No newline at end of file%0a---%0a> ->It is useless to have laws made by users of their own choice, if the laws are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a\ No newline at end of file%0a +host:1612522945=198.251.81.119 +author:1597054296=jrmu +diff:1597054296:1596580342:=1,4c1,2%0a%3c (:title Rule by Law:)%0a%3c %0a%3c ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a%3c %0a---%0a> ->A government of laws, and not of sysadmins.%0a> %0a6a5,6%0a> ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a> %0a9,11c9,11%0a%3c ->Every user on the network has an equal right to protection.%0a%3c %0a%3c ->Justice is due to all, without regard to numbers, wealth, or status.%0a---%0a> ->Every user on the network has an equal right to protection from staff.%0a> %0a> ->Justice is due to all, without regard to numbers, wealth, or IP address.%0a +host:1597054296=38.81.163.143 +author:1596580342=jrmu +diff:1596580342:1596450101:=13,15c13%0a%3c ->God shows no partiality.%0a%3c %0a%3c ->It is useless to have laws made by users of their own choice, if the laws are so long that no one will read them; or so confusing that no one understands; or if they are so weak that no one will enforce them.%0a\ No newline at end of file%0a---%0a> ->God shows no partiality.%0a\ No newline at end of file%0a +host:1596580342=38.81.163.143 +author:1596450101=jrmu +diff:1596450101:1596449440:=5,13c5%0a%3c ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a%3c %0a%3c ->It is better for one hundred spammers should escape than for one innocent user to get GLINEd.%0a%3c %0a%3c ->Every user on the network has an equal right to protection from staff.%0a%3c %0a%3c ->Justice is due to all, without regard to numbers, wealth, or IP address.%0a%3c %0a%3c ->God shows no partiality.%0a\ No newline at end of file%0a---%0a> ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a\ No newline at end of file%0a +host:1596450101=38.81.163.143 +author:1596449440=jrmu +diff:1596449440:1596429858:=3c3%0a%3c ->There is danger from all opers. The only slogan of a free network ought to be to trust no oper living with power to endanger the public liberty.%0a---%0a> ->There is danger from all men. The only slogan of a free network ought to be to trust no man living with power to endanger the public liberty.%0a +host:1596449440=38.81.163.143 +author:1596429858=jrmu +diff:1596429858:1596429540:=5d4%0a%3c ->What are staff but the reflection of the human nature of users themselves? If users were angels, no staff would be necessary. If angels were to moderate users, no limits on their power would be necessary.%0a\ No newline at end of file%0a +host:1596429858=38.81.163.143 +author:1596429540=jrmu +diff:1596429540:1596429540:=1,4d0%0a%3c ->A government of laws, and not of sysadmins.%0a%3c %0a%3c ->There is danger from all men. The only slogan of a free network ought to be to trust no man living with power to endanger the public liberty.%0a%3c %0a +host:1596429540=38.81.163.143 blob - /dev/null blob + 5780776f714c2ab1e545ba55169ab8b0aa86681b (mode 644) --- /dev/null +++ wiki.d/Freedom.Selfadmin @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612446419 +host=198.251.81.119 +name=Freedom.Selfadmin +rev=9 +targets=Freedom.Unix +text=(:title Self Admin:)%0a%0aOn IRCNow, the users self-administer their own network. This is a network that the users control.%0a%0a%25width=300px rfloat%25 Attach:Marketing/rosie.png%0a%0a->Corporate investors and professionals are dangerous to liberty.%0a%0a->Well-educated users have no need for professionals.%0a%0a->Sharing knowledge is the only way to guard our liberty.%0a%0a->Educated and trained users are the strongest defense of free networks--without professionals, our liberty can never be in danger.%0a%0aIRCNow uses software that is easy to install, configure, and maintain. We insist on being able to self-host on our own hardware. Our software does not depend upon cloud vendors, proprietary platforms, or corporations. Normal users can quickly learn and administer the entire system after brief training.%0a%0aIRCNow provides free training for its users to learn system administration and coding. We follow [[freedom/unix|the Unix philosophy]] so that code will be simple to understand and easy to fork. This ensures that the power of the code always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%0aUnlike other networks, IRCNow recruits staff from among its own users. This is a highly-educated network where the users govern themselves. +time=1612610800 +title=Self Admin +author:1612610800=jrmu +diff:1612610800:1612449028:=3,4d2%0a%3c On IRCNow, the users self-administer their own network. This is a network that the users control.%0a%3c %0a13a12,15%0a> %0a> ->To have good moderation, don't concentrate power, but distribute it.%0a> %0a> On IRCNow, the users self-administer their own network. This is a network that the users control.%0a +host:1612610800=198.251.81.119 +author:1612449028=jrmu +diff:1612449028:1612448948:=17c17%0a%3c IRCNow uses software that is easy to install, configure, and maintain. We insist on being able to self-host on our own hardware. Our software does not depend upon cloud vendors, proprietary platforms, or corporations. Normal users can quickly learn and administer the entire system after brief training.%0a---%0a> IRCNow uses software that is easy to install, configure, and maintain on your own hardware. We insist on being able to self-host. Our software does not depend upon any single cloud vendor, proprietary platform, or corporation. Average users can quickly learn and administer the entire system after brief training.%0a +host:1612449028=198.251.81.119 +author:1612448948=jrmu +diff:1612448948:1612448329:=15c15%0a%3c On IRCNow, the users self-administer their own network. This is a network that the users control.%0a---%0a> On IRCNow, the users self-administer their own network. This is a network that the average users control.%0a +host:1612448948=198.251.81.119 +author:1612448329=jrmu +diff:1612448329:1612447966:=15,21c15,17%0a%3c On IRCNow, the users self-administer their own network. This is a network that the average users control.%0a%3c %0a%3c IRCNow uses software that is easy to install, configure, and maintain on your own hardware. We insist on being able to self-host. Our software does not depend upon any single cloud vendor, proprietary platform, or corporation. Average users can quickly learn and administer the entire system after brief training.%0a%3c %0a%3c IRCNow provides free training for its users to learn system administration and coding. We follow [[freedom/unix|the Unix philosophy]] so that code will be simple to understand and easy to fork. This ensures that the power of the code always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%3c %0a%3c Unlike other networks, IRCNow recruits staff from among its own users. This is a highly-educated network where the users govern themselves.%0a\ No newline at end of file%0a---%0a> The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even hobbyists, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a> %0a> Unlike other networks, which hire outside professionals, IRCNow recruits teammates from among its own users. The users themselves, when educated about their freedoms, will be best fit to govern their own network.%0a\ No newline at end of file%0a +host:1612448329=198.251.81.119 +author:1612447966=jrmu +diff:1612447966:1612447941:=3c3%0a%3c %25width=300px rfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=50pct rfloat%25 Attach:Marketing/rosie.png%0a +host:1612447966=198.251.81.119 +author:1612447941=jrmu +diff:1612447941:1612447925:=3c3%0a%3c %25width=50pct rfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=70pct lfloat%25 Attach:Marketing/rosie.png%0a +host:1612447941=198.251.81.119 +author:1612447925=jrmu +diff:1612447925:1612447878:=3c3%0a%3c %25width=70pct lfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/rosie.png%0a +host:1612447925=198.251.81.119 +author:1612447878=jrmu +diff:1612447878:1612446419:=2,3d1%0a%3c %0a%3c %25width=70pct rfloat%25 Attach:Marketing/rosie.png%0a +host:1612447878=198.251.81.119 +author:1612446419=jrmu +diff:1612446419:1612446419:=1,15d0%0a%3c (:title Self Admin:)%0a%3c %0a%3c ->Corporate investors and professionals are dangerous to liberty.%0a%3c %0a%3c ->Well-educated users have no need for professionals.%0a%3c %0a%3c ->Sharing knowledge is the only way to guard our liberty.%0a%3c %0a%3c ->Educated and trained users are the strongest defense of free networks--without professionals, our liberty can never be in danger.%0a%3c %0a%3c ->To have good moderation, don't concentrate power, but distribute it.%0a%3c %0a%3c The software used by the IRCNow network is designed to be easy to install, configure, and maintain on your own hardware. The software does not depend on any single cloud vendor or proprietary platform. They were selected so that even hobbyists, with little training, can quickly learn the entire system and administer it. IRCNow strive to make the code follow [[freedom/unix|the UNIX philosophy]] so that it will be simple to understand and easy to fork. These design decisions were made so that the power of the code will always rest in the hands of the users rather than an elite class of professionals controlled by powerful corporations.%0a%3c %0a%3c Unlike other networks, which hire outside professionals, IRCNow recruits teammates from among its own users. The users themselves, when educated about their freedoms, will be best fit to govern their own network.%0a\ No newline at end of file%0a +host:1612446419=198.251.81.119 blob - /dev/null blob + ae30d41c4ec432290786b946bbe2a460481fc05e (mode 644) --- /dev/null +++ wiki.d/Freedom.Selfhost,del-1597050086 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596257905 +host=38.81.163.143 +name=Freedom.Selfhost +rev=2 +targets= +text=Our project will be functional using only open protocols and standards. These include protocols such as XMPP, IRC, and SIP. There will be no requirements to use proprietary protocols. We allow interoperability with proprietary protocols, but we will not require customers to use proprietary protocols.%0a%0aSpecifically, our project will not require the use of Telegram, Signal, Facebook, Discord, WhatsApp, LINE, Facebook Messenger, Dropbox, Google Drive, Google Docs, Gmail, Microsoft Azure, Amazon AWS, Google App Engine, or Google FireBase. The app must be functional without any of these apps or protocols.%0a%0aCustomers must be able to run a functional app using only open-source software on BSD and Linux. Project software can depend on proprietary software (such as Windows or iOS) but must **never** be required from customers.%0a%0aThis project's software must respect users' freedoms. There must be no copyrighted content in the project that forbids reproduction, modification, or usage.%0a %0aSpecifically, it **must** be possible to reproduce and self-host this software on outside infrastructure. We must guarantee that our servers work on open source Linux and BSD operating systems. +time=1596258739 +author:1596258739=jrmu +diff:1596258739:1596257905:=1,8d0%0a%3c Our project will be functional using only open protocols and standards. These include protocols such as XMPP, IRC, and SIP. There will be no requirements to use proprietary protocols. We allow interoperability with proprietary protocols, but we will not require customers to use proprietary protocols.%0a%3c %0a%3c Specifically, our project will not require the use of Telegram, Signal, Facebook, Discord, WhatsApp, LINE, Facebook Messenger, Dropbox, Google Drive, Google Docs, Gmail, Microsoft Azure, Amazon AWS, Google App Engine, or Google FireBase. The app must be functional without any of these apps or protocols.%0a%3c %0a%3c Customers must be able to run a functional app using only open-source software on BSD and Linux. Project software can depend on proprietary software (such as Windows or iOS) but must **never** be required from customers.%0a%3c %0a%3c This project's software must respect users' freedoms. There must be no copyrighted content in the project that forbids reproduction, modification, or usage.%0a%3c %0a +host:1596258739=38.81.163.143 +author:1596257905=jrmu +diff:1596257905:1596257905:=1d0%0a%3c Specifically, it **must** be possible to reproduce and self-host this software on outside infrastructure. We must guarantee that our servers work on open source Linux and BSD operating systems.%0a\ No newline at end of file%0a +host:1596257905=38.81.163.143 blob - /dev/null blob + dca69fc0b69909da020c8fa201fbedda374e6f79 (mode 644) --- /dev/null +++ wiki.d/Freedom.Serverrights @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607390057 +host=198.251.81.119 +name=Freedom.Serverrights +rev=2 +targets=Ircnow.Constitution +text=->To have fair staff, do not to trust all power to one person; but divide it among many.%0a%0aIRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aIRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a%0aIn the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a%0aIRCNow is a free network: of the users, by the users, for the users.%0a%0aEach server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%0aEach team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%0aWe do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough. +time=1612449739 +author:1612449739=jrmu +diff:1612449739:1607390057:=1,10d0%0a%3c ->To have fair staff, do not to trust all power to one person; but divide it among many.%0a%3c %0a%3c IRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a%3c %0a%3c IRCNow is a free network: of the users, by the users, for the users.%0a%3c %0a +host:1612449739=198.251.81.119 +author:1607390057=jrmu +diff:1607390057:1607390057:=1,5d0%0a%3c Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a%3c Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%3c %0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1607390057=198.251.81.119 blob - /dev/null blob + 009636ee576545a03bd52edb5a4537aec22f5bea (mode 644) --- /dev/null +++ wiki.d/Freedom.Serversrights @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612449804 +host=198.251.81.119 +name=Freedom.Serversrights +rev=1 +targets=Ircnow.Constitution +text=(:title Servers' Rights:)%0a%0a->To have fair staff, do not to trust all power to one person; but divide it among many.%0a%0aIRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aIRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a%0aIn the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a%0aIRCNow is a free network: of the users, by the users, for the users.%0a%0aEach server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%0aEach team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%0aWe do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough. +time=1612449804 +title=Servers' Rights +author:1612449804=jrmu +diff:1612449804:1612449804:=1,17d0%0a%3c (:title Servers' Rights:)%0a%3c %0a%3c ->To have fair staff, do not to trust all power to one person; but divide it among many.%0a%3c %0a%3c IRCNow is an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, writes its own policies, and manages its own money. Each server is almost independent. However, each server unites together to provide a strong unified network, contributing software, money, and other help to protect our common infrastructure and defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution and its principles of government. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission.%0a%3c %0a%3c IRCNow is a free network: of the users, by the users, for the users.%0a%3c %0a%3c Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a%3c Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%3c %0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1612449804=198.251.81.119 blob - /dev/null blob + f22e03e917d5871869a2d4ba24314c5a29f6341b (mode 644) --- /dev/null +++ wiki.d/Freedom.Software @@ -0,0 +1,73 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596456808 +host=198.251.81.119 +name=Freedom.Software +rev=20 +targets=License.License,License.Ircnow +text=(:title Software Freedom :)%0a%0a->Free and open source software are necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted.%0a%0a->The most effective way to enslave the users is to take away their control of the software.%0a%0a-> We code not to enslave, but to set a network free, and to make room on the Internet for users to live in.%0a%0a->Access to software is the birthright of every user. The power of the code must not rest in the hands of staff alone but in the hands of the users.%0a%0a->Well trained coders, made up of the users themselves, are the best defense of a free network.%0a%0aIn order to have a free network, we must guarantee that users have free software. This means users have:%0a%0a# The freedom to '''use''' the work%0a# The freedom to '''study''' the work%0a# The freedom to '''modify''' the work%0a# The freedom to '''share''' the work%0a%0a...for any purpose, with or without a fee, without requiring permission.%0a%0aAll of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission. For new projects, we use the [[license/ircnow|IRCNow license]] because it is the closest possible to the public domain.%0a%0aUsers need free software to create a free network that they control: a network of the users, by the users, for the users. +time=1612524717 +title=Software Freedom +author:1612524717=jrmu +diff:1612524717:1612513280:=6,7d5%0a%3c %0a%3c -> We code not to enslave, but to set a network free, and to make room on the Internet for users to live in.%0a +host:1612524717=198.251.81.119 +author:1612513280=jrmu +diff:1612513280:1612512956:=20c20%0a%3c All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission. For new projects, we use the [[license/ircnow|IRCNow license]] because it is the closest possible to the public domain.%0a---%0a> All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission. We use the [[license/ircnow|IRCNow license]] because it is the closest possible to the public domain.%0a +host:1612513280=198.251.81.119 +author:1612512956=jrmu +diff:1612512956:1612429295:=20c20%0a%3c All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission. We use the [[license/ircnow|IRCNow license]] because it is the closest possible to the public domain.%0a---%0a> All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission.%0a +host:1612512956=198.251.81.119 +author:1612429295=jrmu +diff:1612429295:1611890625:=7,8c7,10%0a%3c ->Access to software is the birthright of every user. The power of the code must not rest in the hands of staff alone but in the hands of the users.%0a%3c %0a---%0a> ->By confiscating access to the software, abusive staff can invade the rights and liberties of its users.%0a> %0a> ->Access to the software is the birthright of every user. The power of the code must not rest in the hands of staff alone but in the hands of the users.%0a> %0a11,12c13,16%0a%3c In order to have a free network, we must guarantee that users have free software. This means users have:%0a%3c %0a---%0a> Our world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited.%0a> %0a> In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a> %0a22c26%0a%3c Users need free software to create a free network that they control: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Free software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1612429295=198.251.81.119 +author:1611890625=jrmu +diff:1611890625:1611488111:=11a12,13%0a> %0a> %25width=40pct%25 Attach:Marketing/rosie.png%0a +host:1611890625=125.231.24.226 +author:1611488111=jrmu +diff:1611488111:1611488082:=13c13%0a%3c %25width=40pct%25 Attach:Marketing/rosie.png%0a---%0a> %25width=40pct%25 Attach:Users/rosie.png%0a +host:1611488111=125.231.20.163 +author:1611488082=jrmu +diff:1611488082:1611488003:= +host:1611488082=125.231.20.163 +author:1611488003=jrmu +diff:1611488003:1611487973:=13c13%0a%3c %25width=40pct%25 Attach:Users/rosie.png%0a---%0a> %25width=40pct%25 Attach:Marketing/rosie.png%0a +host:1611488003=125.231.20.163 +author:1611487973=jrmu +diff:1611487973:1606883272:=12,13d11%0a%3c %0a%3c %25width=40pct%25 Attach:Marketing/rosie.png%0a +host:1611487973=125.231.20.163 +author:1606883272=jrmu +diff:1606883272:1606883189:=24c24%0a%3c All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network, without the need to ask us for permission.%0a---%0a> All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software however you please, without asking for permission.%0a +host:1606883272=125.224.25.38 +author:1606883189=jrmu +diff:1606883189:1606882919:=3,12c3,12%0a%3c ->Free and open source software are necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted.%0a%3c %0a%3c ->The most effective way to enslave the users is to take away their control of the software.%0a%3c %0a%3c ->By confiscating access to the software, abusive staff can invade the rights and liberties of its users.%0a%3c %0a%3c ->Access to the software is the birthright of every user. The power of the code must not rest in the hands of staff alone but in the hands of the users.%0a%3c %0a%3c ->Well trained coders, made up of the users themselves, are the best defense of a free network.%0a%3c %0a---%0a> ->Free and open source software are necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted. %0a> %0a> ->To take control of the software away from the users is the most effective way to enslave them.%0a> %0a> ->Whenever monopolies intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a> %0a> ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a> %0a> ->Well trained sysadmins, made up of the users themselves, are the best and most natural defense of a free network.%0a> %0a24c24%0a%3c All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software however you please, without asking for permission.%0a---%0a> All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network with your own policies.%0a +host:1606883189=125.224.25.38 +author:1606882919=jrmu +diff:1606882919:1606882744:=3c3%0a%3c ->Free and open source software are necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted. %0a---%0a> ->Free and open source software are necessary to the liberty of a free network, so the right of the users to software used by the network shall not be restricted. %0a +host:1606882919=125.224.25.38 +author:1606882744=jrmu +diff:1606882744:1606882732:=3c3%0a%3c ->Free and open source software are necessary to the liberty of a free network, so the right of the users to software used by the network shall not be restricted. %0a---%0a> ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be restricted. %0a +host:1606882744=125.224.25.38 +author:1606882732=jrmu +diff:1606882732:1597044834:=3c3%0a%3c ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be restricted. %0a---%0a> ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. %0a +host:1606882732=125.224.25.38 +author:1597044834=jrmu +diff:1597044834:1597041647:=17,20c17,20%0a%3c # The freedom to '''use''' the work%0a%3c # The freedom to '''study''' the work%0a%3c # The freedom to '''modify''' the work%0a%3c # The freedom to '''share''' the work%0a---%0a> # The freedom to **use** the work%0a> # The freedom to **study** the work%0a> # The freedom to **modify** the work%0a> # The freedom to **share** the work%0a +host:1597044834=38.81.163.143 +author:1597041647=jrmu +diff:1597041647:1597022001:=5c5%0a%3c ->To take control of the software away from the users is the most effective way to enslave them.%0a---%0a> ->To take control of the software away from the users is the most effectual way to enslave them.%0a +host:1597041647=38.81.163.143 +author:1597022001=jrmu +diff:1597022001:1596672256:=9,10d8%0a%3c ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a%3c %0a12a11,12%0a> ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a> %0a26c26%0a%3c Free software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Free software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control. A free network is a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1597022001=38.81.163.143 +author:1596672256=jrmu +diff:1596672256:1596461597:=22c22%0a%3c ...for any purpose, with or without a fee, without requiring permission.%0a---%0a> ...for any purpose, without a fee, without requiring permission.%0a +host:1596672256=38.81.163.143 +author:1596461597=jrmu +diff:1596461597:1596456808:=24c24%0a%3c All of the software on IRCNow is [[license/license|free software]]. You have the right to use this software to create your own network with your own policies.%0a---%0a> All of the software on IRCNow is free software. You have the right to use this software to create your own network with your own policies.%0a +host:1596461597=38.81.163.143 +author:1596456808=jrmu +diff:1596456808:1596456808:=1,26d0%0a%3c (:title Software Freedom :)%0a%3c %0a%3c ->Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. %0a%3c %0a%3c ->To take control of the software away from the users is the most effectual way to enslave them.%0a%3c %0a%3c ->Whenever monopolies intend to invade the rights and liberties of the users, they always attempt to confiscate access to the software, in order to raise a tyranny upon their computers.%0a%3c %0a%3c ->Well trained sysadmins, made up of the users themselves, are the best and most natural defense of a free network.%0a%3c %0a%3c ->Access to the software is the birthright of every user. The power of the code is not in the hands of staff alone but in the hands of the users.%0a%3c %0a%3c Our world is becoming completely dependent upon software which has become the private property of a handful of powerful monopolies. We have lost our freedoms and are being daily oppressed and exploited.%0a%3c %0a%3c In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a%3c %0a%3c # The freedom to **use** the work%0a%3c # The freedom to **study** the work%0a%3c # The freedom to **modify** the work%0a%3c # The freedom to **share** the work%0a%3c %0a%3c ...for any purpose, without a fee, without requiring permission.%0a%3c %0a%3c All of the software on IRCNow is free software. You have the right to use this software to create your own network with your own policies.%0a%3c %0a%3c Free software is an essential prerequisite for a free network. Users must have free software in order to be able to create a network that they control. A free network is a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1596456808=38.81.163.143 blob - /dev/null blob + 5cbbaefd25c4af5e0a408caacbaca190cee32605 (mode 644) --- /dev/null +++ wiki.d/Freedom.Source @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596199217 +host=38.81.163.143 +name=Freedom.Source +rev=2 +targets= +text= +time=1596257702 +author:1596257702=jrmu +diff:1596257702:1596199217:=0a1,14%0a> !! Software Freedom%0a> %0a> Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a> %0a> In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a> %0a> - The freedom to **use** the work%0a> - The freedom to **study** the work%0a> - The freedom to **modify** the work%0a> - The freedom to **share** the work%0a> %0a> ...for any purpose, without fee, without requiring permission.%0a> %0a> However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596257702=38.81.163.143 +author:1596199217=jrmu +diff:1596199217:1596199217:=1,14d0%0a%3c !! Software Freedom%0a%3c %0a%3c Our entire world is becoming completely dependent upon software. But as time goes on, the vast majority of this information is becoming the private property of just a handful of corporations. We are losing our freedoms and being oppressed by these powerful monopolies.%0a%3c %0a%3c In order to reclaim our freedom, we must guarantee that users have free software. This means users have:%0a%3c %0a%3c - The freedom to **use** the work%0a%3c - The freedom to **study** the work%0a%3c - The freedom to **modify** the work%0a%3c - The freedom to **share** the work%0a%3c %0a%3c ...for any purpose, without fee, without requiring permission.%0a%3c %0a%3c However, free software is not enough in the modern world. It takes more than just code in order to create a free community. It takes servers, money, and staff to constantly maintain and provide the internet services that we all depend upon. We the users must create an alternative, free network that anyone in the world can join. To accomplish this, IRCNow has a [[ircnow/federation|federation of servers]] under a [[ircnow/federation|constitutional government]].%0a\ No newline at end of file%0a +host:1596199217=38.81.163.143 blob - /dev/null blob + 8105551eaee42e7d8a470261b2d83edbdad2e242 (mode 644) --- /dev/null +++ wiki.d/Freedom.Startupdream @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612515564 +host=198.251.81.119 +name=Freedom.Startupdream +rev=27 +targets= +text=(:title The Startup Dream:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/willamette.png%0a%0aWelcome to Willamette Valley, the new center for the startup dream.%0a%0aWe don't answer to billionaire CEOs, elites, or corporate monopolies.%0a%0a!! All Users Are Created Equal%0a%0a%25width=300px clear=both rfloat%25 Attach:Marketing/oregontrail.png%0a%0aOn this network, you don't need special connections. You have the opportunity to build an online business, regardless of how rich or poor you are, what country you are from, or what degree you have. Net neutrality is back.%0a%0aThrough hard work, anybody can build the next startup or become the highest of staff. +time=1612613534 +title=The Startup Dream +author:1612613534=jrmu +diff:1612613534:1612613481:=13c13,15%0a%3c On this network, you don't need special connections. You have the opportunity to build an online business, regardless of how rich or poor you are, what country you are from, or what degree you have. Net neutrality is back.%0a---%0a> On this network, you don't need special connections. You have the opportunity to build an online business, regardless of how rich or poor you are, what country you are from, or what degree you have.%0a> %0a> !! Net Neutrality%0a +host:1612613534=198.251.81.119 +author:1612613481=jrmu +diff:1612613481:1612613388:= +host:1612613481=198.251.81.119 +author:1612613388=jrmu +diff:1612613388:1612613360:=15c15%0a%3c !! Net Neutrality%0a---%0a> !! Net Neutrality is Back%0a +host:1612613388=198.251.81.119 +author:1612613360=jrmu +diff:1612613360:1612539376:=15,17c15%0a%3c !! Net Neutrality is Back%0a%3c %0a%3c Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a---%0a> Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a +host:1612613360=198.251.81.119 +author:1612539376=jrmu +diff:1612539376:1612537222:=5,9c5,9%0a%3c Welcome to Willamette Valley, the new center for the startup dream.%0a%3c %0a%3c We don't answer to billionaire CEOs, elites, or corporate monopolies.%0a%3c %0a%3c !! All Users Are Created Equal%0a---%0a> Welcome to Willamette Valley. It's much better here than that other tech valley.%0a> %0a> No billionaire CEOs, no elites, no monopolies.%0a> %0a> !! No Aristocrats%0a +host:1612539376=198.251.81.119 +author:1612537222=jrmu +diff:1612537222:1612537177:= +host:1612537222=198.251.81.119 +author:1612537177=jrmu +diff:1612537177:1612527772:=9c9%0a%3c !! No Aristocrats%0a---%0a> !! Meritocracy is back%0a +host:1612537177=198.251.81.119 +author:1612527772=jrmu +diff:1612527772:1612527761:=7a8,9%0a> %0a> -----%0a +host:1612527772=125.231.56.15 +author:1612527761=jrmu +diff:1612527761:1612527749:=13c13%0a%3c %25width=300px clear=both rfloat%25 Attach:Marketing/oregontrail.png%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1612527761=125.231.56.15 +author:1612527749=jrmu +diff:1612527749:1612527738:=8,9d7%0a%3c %0a%3c -----%0a +host:1612527749=125.231.56.15 +author:1612527738=jrmu +diff:1612527738:1612527720:=9,10d8%0a%3c !! Meritocracy is back%0a%3c %0a11a10,11%0a> %0a> !! Meritocracy is back%0a +host:1612527738=125.231.56.15 +author:1612527720=jrmu +diff:1612527720:1612527708:=3,4c3,4%0a%3c %25width=300px rfloat%25 Attach:Marketing/willamette.png%0a%3c %0a---%0a> %25width=300px center%25 Attach:Marketing/willamette.png%0a> %0a9c9%0a%3c %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a---%0a> %25width=300px center%25 Attach:Marketing/oregontrail.png%0a +host:1612527720=125.231.56.15 +author:1612527708=jrmu +diff:1612527708:1612527285:=3,4c3,5%0a%3c %25width=300px center%25 Attach:Marketing/willamette.png%0a%3c %0a---%0a> %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a> %25width=300px%25 Attach:Marketing/willamette.png%0a> %0a8,9d8%0a%3c %0a%3c %25width=300px center%25 Attach:Marketing/oregontrail.png%0a +host:1612527708=125.231.56.15 +author:1612527285=jrmu +diff:1612527285:1612527057:=2,4d1%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %25width=300px%25 Attach:Marketing/willamette.png%0a +host:1612527285=125.231.56.15 +author:1612527057=jrmu +diff:1612527057:1612526288:=3,6d2%0a%3c Welcome to Willamette Valley. It's much better here than that other tech valley.%0a%3c %0a%3c No billionaire CEOs, no elites, no monopolies.%0a%3c %0a11c7,8%0a%3c Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a---%0a> Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a> %0a +host:1612527057=125.231.56.15 +author:1612526288=jrmu +diff:1612526288:1612524458:=7,8c7%0a%3c Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a%3c %0a---%0a> Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a +host:1612526288=125.231.56.15 +author:1612524458=jrmu +diff:1612524458:1612524132:=7c7%0a%3c Here there is net neutrality. Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a---%0a> Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a +host:1612524458=198.251.81.119 +author:1612524132=jrmu +diff:1612524132:1612518541:=7c7,17%0a%3c Through hard work, anybody can build the next startup or become the highest of staff.%0a\ No newline at end of file%0a---%0a> Through hard work, anybody can build the next startup or become the highest of staff.%0a> %0a> %0a> %25width=400px rfloat%25 Attach:Marketing/oregontrail.png%0a> %25width=400px%25 Attach:Marketing/willamette.png%0a> %0a> !! Welcome to Willamette Valley%0a> %0a> It's much better here than that other tech valley. There are no aristocrats, no elites, no monopolies.%0a> %0a> Frontier servers are free for the taking. Claim a homestead VPS.%0a\ No newline at end of file%0a +host:1612524132=198.251.81.119 +author:1612518541=jrmu +diff:1612518541:1612518280:=3,9d2%0a%3c !! Meritocracy is back%0a%3c %0a%3c On this network, you don't need special connections. You have the opportunity to build an online business, regardless of how rich or poor you are, what country you are from, or what degree you have.%0a%3c %0a%3c Through hard work, anybody can build the next startup or become the highest of staff.%0a%3c %0a%3c %0a13,17c6,20%0a%3c !! Welcome to Willamette Valley%0a%3c %0a%3c It's much better here than that other tech valley. There are no aristocrats, no elites, no monopolies.%0a%3c %0a%3c Frontier servers are free for the taking. Claim a homestead VPS.%0a\ No newline at end of file%0a---%0a> ----%0a> %0a> Meritocracy is back. This is a network that gives opportunity for sysadmins and developers to succeed according to your talents, regardless of how rich or poor you are, what country you are from, or what degree you have.%0a> %0a> Through hard work, anybody can become the highest of staff. There are few barriers to entry in this online community.%0a> %0a> ----%0a> %0a> Willamette Valley%0a> %0a> The frontier servers are free for the taking. Claim a homestead VPS.%0a> %0a> No aristocrats, no elites, no monopolies%0a> %0a> Setup your code wherever it pleases you. There are fair, unbiased rules. Staff do not bother your business. Success does not depend upon secret connections. Users are treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a\ No newline at end of file%0a +host:1612518541=198.251.81.119 +author:1612518280=jrmu +diff:1612518280:1612517883:=8,9c8,11%0a%3c Meritocracy is back. This is a network that gives opportunity for sysadmins and developers to succeed according to your talents, regardless of how rich or poor you are, what country you are from, or what degree you have.%0a%3c %0a---%0a> Meritocracy is back. There's opportunity for everyone to succeed according to your ability or achievement, regardless of your social class or circumstances of birth.%0a> %0a> You have the freedom to prosper, to succeed, and to work your way up.%0a> %0a12,13d13%0a%3c ----%0a%3c %0a20c20,22%0a%3c Setup your code wherever it pleases you. There are fair, unbiased rules. Staff do not bother your business. Success does not depend upon secret connections. Users are treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a\ No newline at end of file%0a---%0a> Everyone can setup his code wherever he pleases. There are fair, unbiased rules. Staff do not bother your business. Fidelity and merit are the only sources of honor here. Rich and poor are treated equally here. Success does not depend upon secret connections. Everyone is treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a> %0a> %0a +host:1612518280=198.251.81.119 +author:1612517883=jrmu +diff:1612517883:1612517657:=8,13d7%0a%3c Meritocracy is back. There's opportunity for everyone to succeed according to your ability or achievement, regardless of your social class or circumstances of birth.%0a%3c %0a%3c You have the freedom to prosper, to succeed, and to work your way up.%0a%3c %0a%3c Through hard work, anybody can become the highest of staff. There are few barriers to entry in this online community.%0a%3c %0a16,17c10,16%0a%3c The frontier servers are free for the taking. Claim a homestead VPS.%0a%3c %0a---%0a> Freedom includes the opportunity to prosper and succeed and to work your way up.%0a> %0a> Through hard work, anybody can become staff.%0a> Your hard work will pay off in an online community with few barriers.%0a> %0a> Here is a real meritocracy. There's opportunity for everyone to succeed according to his ability or achievement, regardless of social class or circumstances of birth.%0a> %0a20,22c19,23%0a%3c Everyone can setup his code wherever he pleases. There are fair, unbiased rules. Staff do not bother your business. Fidelity and merit are the only sources of honor here. Rich and poor are treated equally here. Success does not depend upon secret connections. Everyone is treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a%3c %0a%3c %0a---%0a> Everyone can setup his code wherever he pleases. Staff do not bother your business. Fidelity and merit are the only sources of honor here. Rich and poor are treated equally here. Success does not depend upon secret connections. Everyone is treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a> %0a> The frontier servers are free for the taking.%0a> %0a> Claim a homestead VPS.%0a\ No newline at end of file%0a +host:1612517883=198.251.81.119 +author:1612517657=jrmu +diff:1612517657:1612517083:=8,23c8%0a%3c Willamette Valley%0a%3c %0a%3c Freedom includes the opportunity to prosper and succeed and to work your way up.%0a%3c %0a%3c Through hard work, anybody can become staff.%0a%3c Your hard work will pay off in an online community with few barriers.%0a%3c %0a%3c Here is a real meritocracy. There's opportunity for everyone to succeed according to his ability or achievement, regardless of social class or circumstances of birth.%0a%3c %0a%3c No aristocrats, no elites, no monopolies%0a%3c %0a%3c Everyone can setup his code wherever he pleases. Staff do not bother your business. Fidelity and merit are the only sources of honor here. Rich and poor are treated equally here. Success does not depend upon secret connections. Everyone is treated fairly by network staff. No corrupt juries or fact-checkers. Your talents, energy and perseverance have an opportunity to shine.%0a%3c %0a%3c The frontier servers are free for the taking.%0a%3c %0a%3c Claim a homestead VPS.%0a\ No newline at end of file%0a---%0a> Willamette Valley%0a\ No newline at end of file%0a +host:1612517657=198.251.81.119 +author:1612517083=jrmu +diff:1612517083:1612517064:=4c4%0a%3c %25width=400px%25 Attach:Marketing/willamette.png%0a---%0a> %25width=400px rfloat%25 Attach:Marketing/willamette.png%0a +host:1612517083=198.251.81.119 +author:1612517064=jrmu +diff:1612517064:1612515844:=6,8c6,7%0a%3c ----%0a%3c %0a%3c Willamette Valley%0a\ No newline at end of file%0a---%0a> Willamette Valley%0a> %0a +host:1612517064=198.251.81.119 +author:1612515844=jrmu +diff:1612515844:1612515662:=3,5c3,4%0a%3c %25width=400px rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %25width=400px rfloat%25 Attach:Marketing/willamette.png%0a%3c %0a---%0a> Attach:Marketing/oregontrail.png%0a> %0a7a7%0a> Attach:Marketing/willamette.png%0a\ No newline at end of file%0a +host:1612515844=198.251.81.119 +author:1612515662=jrmu +diff:1612515662:1612515564:=3,7c3%0a%3c Attach:Marketing/oregontrail.png%0a%3c %0a%3c Willamette Valley%0a%3c %0a%3c Attach:Marketing/willamette.png%0a\ No newline at end of file%0a---%0a> Attach:Marketing/oregontrail.png%0a\ No newline at end of file%0a +host:1612515662=198.251.81.119 +author:1612515564=jrmu +diff:1612515564:1612515564:=1,3d0%0a%3c (:title The Startup Dream:)%0a%3c %0a%3c Attach:Marketing/oregontrail.png%0a\ No newline at end of file%0a +host:1612515564=198.251.81.119 blob - /dev/null blob + ae7705655e1299db3ce7dc70027e7fff45d92a84 (mode 644) --- /dev/null +++ wiki.d/Freedom.UNIX,del-1597044399 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597044285 +host=38.81.163.143 +name=Freedom.UNIX +rev=1 +targets=Freedom.Software +text=!! Quality Software%0a%0a# All software must be [[freedom/software|free software]].%0a# Follow open standards that are in wide use%0a# Follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Try to design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a# Achieve tight integration with the OpenBSD operating system%0a# Prefer languages native to OpenBSD: perl, C, korn shell%0a# Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a# Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a# Avoid unnecessary, 3rd-party dependencies%0a# Prefer software that has a long history of being reliable and stable%0a# Prefer permissive, 2-clause BSD or MIT license over the GPL%0a# Prefer software with better documentation%0a# Prefer software that can be easily audited and forked +time=1597044285 +author:1597044285=jrmu +diff:1597044285:1597044285:=1,19d0%0a%3c !! Quality Software%0a%3c %0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the OpenBSD operating system%0a%3c # Prefer languages native to OpenBSD: perl, C, korn shell%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a +host:1597044285=38.81.163.143 blob - /dev/null blob + a0fb85bf1f313df1a4457be8c954a144ad48880a (mode 644) --- /dev/null +++ wiki.d/Freedom.Union @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1596581780 +host=198.251.84.158 +name=Freedom.Union +rev=8 +targets= +text=(:title United We Serve:)%0a%0a-> One united network with one united user community, attached to the same love of freedom. By our joint effort, we have established a network of liberty.%0a%0a-> If our union is broken, then friends would turn into rivals and enemies. We'd steal and fight each other rather than working together to compete against non-free networks%0a%0a-> There is no golden age of decentralization. Rival servers (and their users) will not remain friends and be free from greed, pride, and evil.%0a%0a-> The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a%0aUnited We Serve, Divided We Fault%0a +time=1624712486 +title=United We Serve +author:1624712486=jrmu +diff:1624712486:1612610975:=1,11c1,21%0a%3c (:title United We Serve:)%0a%3c %0a%3c -> One united network with one united user community, attached to the same love of freedom. By our joint effort, we have established a network of liberty.%0a%3c %0a%3c -> If our union is broken, then friends would turn into rivals and enemies. We'd steal and fight each other rather than working together to compete against non-free networks%0a%3c %0a%3c -> There is no golden age of decentralization. Rival servers (and their users) will not remain friends and be free from greed, pride, and evil.%0a%3c %0a%3c -> The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a%3c %0a%3c United We Serve, Divided We Fault%0a---%0a> (:title Why Our Servers Must Remain United:)%0a> %0a> Having a single, united network is essential to the well being of the free and open source community. Without unity, we would become enemies, stealing and fighting from each other rather than working together to compete against proprietary networks.%0a> %0a> ->Networks in general will steal from each other any time they might benefit from it.%0a> %0a> ->If our network is dissolved, then the bonds of friendship, which is shared by our free and open source users, would be broken. Our servers would turn into rivals, enemies.%0a> %0a> ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that rival servers (and their users) would remain friends and be free from greed, pride, and evil?%0a> %0a> ->One united network with one united user community, attached to the same love of freedom. By their joint effort, they have established a network of liberty.%0a> %0a> ->Safety is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to this demand.%0a> %0a> ->The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a> %0a> ->No one respects the neutrality of a network despised for its weakness.%0a> %0a> Centralization is beneficial to users when there are proper checks and balances placed on the power of staff.%0a> %0a> ->We code not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a\ No newline at end of file%0a +host:1624712486=198.251.84.158 +author:1612610975=jrmu +diff:1612610975:1597054155:=11c11%0a%3c ->One united network with one united user community, attached to the same love of freedom. By their joint effort, they have established a network of liberty.%0a---%0a> ->We have one connected network with one united user community -- a people who use the same free software, attached to the same love of freedom, and by their joint effort have established a network of liberty.%0a +host:1612610975=198.251.81.119 +author:1597054155=jrmu +diff:1597054155:1597054115:=18,19d17%0a%3c %0a%3c Centralization is beneficial to users when there are proper checks and balances placed on the power of staff.%0a +host:1597054155=38.81.163.143 +author:1597054115=jrmu +diff:1597054115:1597053979:=2,3d1%0a%3c %0a%3c Having a single, united network is essential to the well being of the free and open source community. Without unity, we would become enemies, stealing and fighting from each other rather than working together to compete against proprietary networks.%0a +host:1597054115=38.81.163.143 +author:1597053979=jrmu +diff:1597053979:1597053252:=1,8d0%0a%3c (:title Why Our Servers Must Remain United:)%0a%3c %0a%3c ->Networks in general will steal from each other any time they might benefit from it.%0a%3c %0a%3c ->If our network is dissolved, then the bonds of friendship, which is shared by our free and open source users, would be broken. Our servers would turn into rivals, enemies.%0a%3c %0a%3c ->Haven't we already seen enough of these false promises of a golden age of decentralization? False promises that rival servers (and their users) would remain friends and be free from greed, pride, and evil?%0a%3c %0a11,17c3,17%0a%3c ->Safety is the most powerful motivation behind a network's policies. Even a passionate love of decentralization will, after a time, give way to this demand.%0a%3c %0a%3c ->The strength of our network is essential to our liberty. History teaches us that a poorly defended network is much more likely to result in tyranny.%0a%3c %0a%3c ->No one respects the neutrality of a network despised for its weakness.%0a%3c %0a%3c ->We code not to enslave, but to set a network free, and to make room upon the Internet for users to live in.%0a\ No newline at end of file%0a---%0a> ->The violent destruction of life and property incident to war, the continual effort and alarm attendant on a state of continual danger, will compel nations the most attached to liberty to resort for repose and security to institutions which have a tendency to destroy their civil and political rights. To be more safe, they at length become willing to run the risk of being less free.”%0a> %0a> Like%0a> “It is essential to the idea of a law, that it be attended with a sanction; or, in other words, a penalty or punishment for disobedience. If there be no penalty annexed to disobedience, the resolutions or commands which pretend to be laws will, in fact, amount to nothing more than advice or recommendation. This penalty, whatever it may be, can only be inflicted in two ways: by the agency of the Courts and Ministers of Justice, or by military force; by the coercion of the magistracy, or by the coercion of arms. The first kind can evidently apply only to men: the last kind must, of necessity, be employed against bodies politic, or communities, or States.”%0a> ― Alexander Hamilton, The Federalist Papers%0a> tags: federalist-15%0a> 3 likes%0a> Like%0a> “But what is government itself, but the greatest of all reflection on human nature?”%0a> ― James Madison, The Federalist Papers: A Collection of Essays Written in Favour of the New Constitution%0a> 3 likes%0a> Like%0a> “Complaints are everywhere heard from our most considerate and virtuous citizens, equally the friends of public and private faith, and of public and personal liberty, that our governments are too unstable, that the public good is disregarded in the conflicts of rival parties, and that measures are too often decided, not according to the rules of justice and the rights of the minor party, but by the superior force of an interested and overbearing majority.”%0a> %0a> “FAREWELL! A LONG FAREWELL TO ALL MY GREATNESS."%0a\ No newline at end of file%0a +host:1597053979=38.81.163.143 +author:1597053252=jrmu +diff:1597053252:1596581862:=1,4c1,10%0a%3c ->We have one connected network with one united user community -- a people who use the same free software, attached to the same love of freedom, and by their joint effort have established a network of liberty.%0a%3c %0a%3c ->The violent destruction of life and property incident to war, the continual effort and alarm attendant on a state of continual danger, will compel nations the most attached to liberty to resort for repose and security to institutions which have a tendency to destroy their civil and political rights. To be more safe, they at length become willing to run the risk of being less free.”%0a%3c %0a---%0a> %0a> %0a> “It has often given my pleasure to observe, that independent America was not composed of detached and distant territories, but that one connected fertile, wide-spreading country was the portion of our western sons of liberty. Providence has in a particular manner blessed it with a variety of soils and productions, and watered it with innumerable streams, for the delight and accommodation of its inhabitants. A succession of navigable waters form a kind of chain round its borders, as if to bind them together; while the most noble rivers in the world, running at convenient distances, present them with highways for the easy communication of friendly aids, and the mutual transportation of their various ties. With equal pleasure I have as often taken notice, that Providence has been pleased to give us this one connected country to one united people -a people descended from the same ancestors, speaking the same language, professing the same religion, attached to the same principles of government, very similar in their manners and customs, and who, by they their joint counsels, arms, and efforts, fighting side by side throughout a long and bloody war, have nobly established general liberty and independence.”%0a> ― John Jay, The Federalist Papers%0a> tags: fortune, similarity, strength%0a> 4 likes%0a> Like%0a> “The violent destruction of life and property incident to war, the continual effort and alarm attendant on a state of continual danger, will compel nations the most attached to liberty to resort for repose and security to institutions which have a tendency to destroy their civil and political rights. To be more safe, they at length become willing to run the risk of being less free.”%0a> ― Alexander Hamilton, The Federalist Papers%0a> 3 likes%0a +host:1597053252=38.81.163.143 +author:1596581862=jrmu +diff:1596581862:1596581780:=2d1%0a%3c %0a21,23c20%0a%3c “Complaints are everywhere heard from our most considerate and virtuous citizens, equally the friends of public and private faith, and of public and personal liberty, that our governments are too unstable, that the public good is disregarded in the conflicts of rival parties, and that measures are too often decided, not according to the rules of justice and the rights of the minor party, but by the superior force of an interested and overbearing majority.”%0a%3c %0a%3c “FAREWELL! A LONG FAREWELL TO ALL MY GREATNESS."%0a\ No newline at end of file%0a---%0a> “Complaints are everywhere heard from our most considerate and virtuous citizens, equally the friends of public and private faith, and of public and personal liberty, that our governments are too unstable, that the public good is disregarded in the conflicts of rival parties, and that measures are too often decided, not according to the rules of justice and the rights of the minor party, but by the superior force of an interested and overbearing majority.”%0a\ No newline at end of file%0a +host:1596581862=38.81.163.143 +author:1596581780=jrmu +diff:1596581780:1596581780:=1,20d0%0a%3c %0a%3c “It has often given my pleasure to observe, that independent America was not composed of detached and distant territories, but that one connected fertile, wide-spreading country was the portion of our western sons of liberty. Providence has in a particular manner blessed it with a variety of soils and productions, and watered it with innumerable streams, for the delight and accommodation of its inhabitants. A succession of navigable waters form a kind of chain round its borders, as if to bind them together; while the most noble rivers in the world, running at convenient distances, present them with highways for the easy communication of friendly aids, and the mutual transportation of their various ties. With equal pleasure I have as often taken notice, that Providence has been pleased to give us this one connected country to one united people -a people descended from the same ancestors, speaking the same language, professing the same religion, attached to the same principles of government, very similar in their manners and customs, and who, by they their joint counsels, arms, and efforts, fighting side by side throughout a long and bloody war, have nobly established general liberty and independence.”%0a%3c ― John Jay, The Federalist Papers%0a%3c tags: fortune, similarity, strength%0a%3c 4 likes%0a%3c Like%0a%3c “The violent destruction of life and property incident to war, the continual effort and alarm attendant on a state of continual danger, will compel nations the most attached to liberty to resort for repose and security to institutions which have a tendency to destroy their civil and political rights. To be more safe, they at length become willing to run the risk of being less free.”%0a%3c ― Alexander Hamilton, The Federalist Papers%0a%3c 3 likes%0a%3c Like%0a%3c “It is essential to the idea of a law, that it be attended with a sanction; or, in other words, a penalty or punishment for disobedience. If there be no penalty annexed to disobedience, the resolutions or commands which pretend to be laws will, in fact, amount to nothing more than advice or recommendation. This penalty, whatever it may be, can only be inflicted in two ways: by the agency of the Courts and Ministers of Justice, or by military force; by the coercion of the magistracy, or by the coercion of arms. The first kind can evidently apply only to men: the last kind must, of necessity, be employed against bodies politic, or communities, or States.”%0a%3c ― Alexander Hamilton, The Federalist Papers%0a%3c tags: federalist-15%0a%3c 3 likes%0a%3c Like%0a%3c “But what is government itself, but the greatest of all reflection on human nature?”%0a%3c ― James Madison, The Federalist Papers: A Collection of Essays Written in Favour of the New Constitution%0a%3c 3 likes%0a%3c Like%0a%3c “Complaints are everywhere heard from our most considerate and virtuous citizens, equally the friends of public and private faith, and of public and personal liberty, that our governments are too unstable, that the public good is disregarded in the conflicts of rival parties, and that measures are too often decided, not according to the rules of justice and the rights of the minor party, but by the superior force of an interested and overbearing majority.” %0a\ No newline at end of file%0a +host:1596581780=38.81.163.143 blob - /dev/null blob + 47e5d9ae83fd0541741a8e448020aedba0456aae (mode 644) --- /dev/null +++ wiki.d/Freedom.Unix @@ -0,0 +1,73 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597044380 +host=198.251.81.119 +name=Freedom.Unix +rev=20 +targets=Debate.Dogfooding +text=(:title The Unix Work Ethic:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a%0a# We follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a%0a# We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a # Choose languages native to OpenBSD: C, korn shell, perl%0a # Choose software that is written by OpenBSD developers%0a # Choose the [[https://learnbchs.org|BCHS]] web stack%0a # Choose permissive, 2-clause BSD or MIT license over the GPL%0a # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a # Follow widely-used open Internet standards%0a%0a# We write our own code%0a # Prefer software with better documentation%0a # Prefer software that can be easily audited and forked%0a # Keep configuration simple and choose sensible defaults%0a # Avoid unnecessary, 3rd-party dependencies%0a # We eat our own [[debate/dogfooding|dog food]] +time=1619710747 +title=The Unix Work Ethic +author:1619710747=jrmu +diff:1619710747:1612515513:=23d22%0a%3c # Keep configuration simple and choose sensible defaults%0a +host:1619710747=198.251.81.119 +author:1612515513=jrmu +diff:1612515513:1612514294:=1,2c1,2%0a%3c (:title The Unix Work Ethic:)%0a%3c %0a---%0a> (:title The UNIX Philosophy:)%0a> %0a12c12%0a%3c # We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a---%0a> # We achieve tight integration with [[https://openbsd.org|OpenBSD]]:%0a16,20c16,17%0a%3c # Choose permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a%3c # Follow widely-used open Internet standards%0a%3c %0a%3c # We write our own code%0a---%0a> # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a> # Prefer software that has a long history of being reliable and stable%0a24c21,28%0a%3c # We eat our own [[debate/dogfooding|dog food]]%0a\ No newline at end of file%0a---%0a> %0a> # We write our own code%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> %0a> # We eat our own [[debate/dogfooding|dog food]]%0a> # Write [[freedom/software|free software]] that follows widely-used open standards%0a> # Provide service with a smiley%0a\ No newline at end of file%0a +host:1612515513=198.251.81.119 +author:1612514294=jrmu +diff:1612514294:1612514188:= +host:1612514294=198.251.81.119 +author:1612514188=jrmu +diff:1612514188:1612514061:=5a6%0a> # Write [[freedom/software|free software]] that follows widely-used open standards%0a16,21c17%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c %0a---%0a> %0a25a22,27%0a> # Prefer software that has a long history of being reliable and stable%0a> # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a> # Prefer software with better documentation%0a> # Prefer software that can be easily audited and forked%0a> # Avoid unnecessary, 3rd-party dependencies%0a> %0a27d28%0a%3c # Write [[freedom/software|free software]] that follows widely-used open standards%0a +host:1612514188=198.251.81.119 +author:1612514061=jrmu +diff:1612514061:1612513930:=18,21c18,22%0a%3c # We write our own code%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c %0a---%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> %0a> # [[debate/dogfooding|Eat your own dog food]]%0a> %0a27,29d27%0a%3c %0a%3c # We eat our own [[debate/dogfooding|dog food]]%0a%3c # Provide service with a smiley%0a\ No newline at end of file%0a +host:1612514061=198.251.81.119 +author:1612513930=jrmu +diff:1612513930:1612513674:=5,6c5,6%0a%3c # We follow the UNIX philosophy:%0a%3c # Write [[freedom/software|free software]] that follows widely-used open standards%0a---%0a> # Write [[freedom/software|free software]] that follows widely-used open standards%0a> # Follow the UNIX philosophy:%0a13,20c13,14%0a%3c # We achieve tight integration with [[https://openbsd.org|OpenBSD]]:%0a%3c # Choose languages native to OpenBSD: C, korn shell, perl%0a%3c # Choose software that is written by OpenBSD developers%0a%3c # Choose the [[https://learnbchs.org|BCHS]] web stack%0a%3c %0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c %0a---%0a> We chose OpenBSD as our base, so we aim to:%0a> # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a22c16,21%0a%3c %0a---%0a> # Choose languages native to OpenBSD: C, korn shell, perl%0a> # Choose software that is written by OpenBSD developers%0a> # Prefer [[https://learnbchs.org|BCHS]] web apps%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> # Avoid unnecessary, 3rd-party dependencies%0a26,27c25%0a%3c # Prefer software that can be easily audited and forked%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a---%0a> # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a +host:1612513930=198.251.81.119 +author:1612513674=jrmu +diff:1612513674:1612513482:=5c5,6%0a%3c # Write [[freedom/software|free software]] that follows widely-used open standards%0a---%0a> # All software must be [[freedom/software|free software]].%0a> # Follow open standards that are in wide use%0a12,13d12%0a%3c %0a%3c We chose OpenBSD as our base, so we aim to:%0a16,17c15,16%0a%3c # Choose languages native to OpenBSD: C, korn shell, perl%0a%3c # Choose software that is written by OpenBSD developers%0a---%0a> # Prefer languages native to OpenBSD: C, korn shell, perl%0a> # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a +host:1612513674=198.251.81.119 +author:1612513482=jrmu +diff:1612513482:1612513409:=1a2,3%0a> %0a> !! Quality Software%0a +host:1612513482=198.251.81.119 +author:1612513409=jrmu +diff:1612513409:1612513028:=1,2d0%0a%3c (:title The UNIX Philosophy:)%0a%3c %0a +host:1612513409=198.251.81.119 +author:1612513028=jrmu +diff:1612513028:1612512894:=3c3%0a%3c %25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/livefreeordie.jpg%0a +host:1612513028=198.251.81.119 +author:1612512894=jrmu +diff:1612512894:1611889584:=11c11%0a%3c # Design the output of one program to be the input of another%0a---%0a> # Try to design the output of one program to be the input of another%0a +host:1612512894=198.251.81.119 +author:1611889584=jrmu +diff:1611889584:1611889552:=3c3%0a%3c %25width=70pct rfloat%25 Attach:Marketing/livefreeordie.jpg%0a---%0a> Attach:livefreeordie.jpg%0a +host:1611889584=125.231.24.226 +author:1611889552=jrmu +diff:1611889552:1611544471:=2,3d1%0a%3c %0a%3c Attach:livefreeordie.jpg%0a +host:1611889552=125.231.24.226 +author:1611544471=jrmu +diff:1611544471:1600732369:=12d11%0a%3c # [[debate/dogfooding|Eat your own dog food]]%0a +host:1611544471=125.231.20.163 +author:1600732369=jrmu +diff:1600732369:1600732218:=15c15%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a---%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project which follows [[https://suckless.org/philosophy/|the suckless philosophy]]%0a +host:1600732369=38.81.163.143 +author:1600732218=jrmu +diff:1600732218:1600731585:=15,16c15%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project which follows [[https://suckless.org/philosophy/|the suckless philosophy]]%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a---%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a +host:1600732218=38.81.163.143 +author:1600731585=jrmu +diff:1600731585:1597900128:=11c11%0a%3c # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a---%0a> # Achieve tight integration with the OpenBSD operating system%0a +host:1600731585=38.81.163.143 +author:1597900128=jrmu +diff:1597900128:1597893658:=14d13%0a%3c # Prefer [[https://learnbchs.org|BCHS]] web apps%0a +host:1597900128=38.81.163.143 +author:1597893658=jrmu +diff:1597893658:1597044380:=12c12%0a%3c # Prefer languages native to OpenBSD: C, korn shell, perl%0a---%0a> # Prefer languages native to OpenBSD: perl, C, korn shell%0a +host:1597893658=38.81.163.143 +author:1597044380=jrmu +diff:1597044380:1597044380:=1,19d0%0a%3c !! Quality Software%0a%3c %0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the OpenBSD operating system%0a%3c # Prefer languages native to OpenBSD: perl, C, korn shell%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a +host:1597044380=38.81.163.143 blob - /dev/null blob + 057d68db5b3f8e68565c2fd308de3a3c09ee2d22 (mode 644) --- /dev/null +++ wiki.d/Freedom.Vendorlockin,del-1597051709 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596258811 +host=38.81.163.143 +name=Freedom.Vendorlockin +rev=2 +targets= +text=Proprietary internet providers deliberately design their systems so it is difficult or impossible to leave. They do this to ensure you become dependent on their ecosystem. For example, if you shop with Apple, you become dependent on their expensive ecosystem of iPhones and Macs. You must regularly pay them taxes in the form of new hardware/software upgrades and iCloud fees. These are part of the taxes they force you to pay. Over time, you find yourself becoming part of their property. But if you try to leave, you find it is extremely difficult to get out, often requiring months of work. This is their deliberate design -- closed info is designed to enforce economic feudalism.%0a%0aWhen designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies!%0a%0aWhen designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies! +time=1596364414 +author:1596364414=jrmu +diff:1596364414:1596258811:=2,3d1%0a%3c %0a%3c When designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies!%0a +host:1596364414=38.81.163.143 +author:1596258811=jrmu +diff:1596258811:1596258811:=1,3d0%0a%3c Proprietary internet providers deliberately design their systems so it is difficult or impossible to leave. They do this to ensure you become dependent on their ecosystem. For example, if you shop with Apple, you become dependent on their expensive ecosystem of iPhones and Macs. You must regularly pay them taxes in the form of new hardware/software upgrades and iCloud fees. These are part of the taxes they force you to pay. Over time, you find yourself becoming part of their property. But if you try to leave, you find it is extremely difficult to get out, often requiring months of work. This is their deliberate design -- closed info is designed to enforce economic feudalism.%0a%3c %0a%3c When designs follow open protocols, open standards, and open designs, it has much greater interoperability. You become the owner of your own info. Your data, software, and hardware are free, so you can choose any provider from the marketplace. In fact, you could become your own provider. You are no longer forced to pay unreasonable prices, and you are no longer treated like chattel. No more abusive monopolies!%0a\ No newline at end of file%0a +host:1596258811=38.81.163.143 blob - /dev/null blob + 3d9e1e0db2bf4883810898eba9c5a29b4de109b4 (mode 644) --- /dev/null +++ wiki.d/Freenode.Money @@ -0,0 +1,72 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1621868110 +host=125.231.17.115 +name=Freenode.Money +rev=20 +targets= +text=!! Freenode owner Andrew Lee co-founded Mt. Gox Live%0a%0a-> Andrew Lee is a long-time privacy advocate, and has co-founded several other privacy related companies in the past including Mt Gox Live which was later acquired by Mt Gox the leading Bitcoin exchange%0a%0a-> https://foundation.gnome.org/2013/09/23/interview-with-andrew-lee-of-private-internet-access/%0a%0a!! Mt Gox Live later acquired by Mt Gox, where '''$450 million USD were lost/stolen'''%0a%0a-> Co-founder is Andrew Lee a long, a long-time Bitcoin promoter. He was also founder of Mt. Gox Live, that was subsequently sold to (or merged with) Mt Gox the primary bitcoin exchange. Mt Gox of course spectacularly collapsed when they “lost” 700,000 bitcoin worth an estimated $460 Million dollars.%0a%0a-> https://thetrichordist.com/2016/08/23/progressive-zephyr-teachouts-financial-ties-to-pirate-party-and-bitcoin-promoters/%0a%0a-> Two years before his death, Li Haiyuan found his crown prince through Li Xi-residence Andrew Lee, a distant relative in Los Angeles, 36 years old, grew up in the United States. He is a programmer and entrepreneur. His open source VPN project PIA and Bitcoin trading platform Mt. Gox Live have both achieved certain success. %0a%0a-> https://daydaynews.cc/en/history/840186.html%0a%0a-> In 2010 he launched an anonymous VPN service called Private Internet Access that he later sold for $95.5 million, and worked on a Bitcoin price tracker that was eventually acquired by Mt. Gox.%0a%0a-> https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/%0a%0a-> In February of this year, Dahlskjaer put the logo of Shells.com on the Freenode website. Shells is a company co-founded by Lee, at which Mark Karpeles, the founder of the highly controversial (and defunct) Bitcoin exchange Mt. Gox, is%0a%0a-> https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a%0a!! Andrew Lee hires '''Mark Karpeles''' from Mt. Gox as CTO%0a%0a-> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying data to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a%0a-> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a%0aMark Karpeles is the CTO of Shells.com and Andrew Lee its co-founder.%0a%0a-> https://www.shells.com/l/en-US/team%0a%0aAfter the collapse of Mt. Gox, Karpelès joined London Trust Media, the company behind Freenode and Private Internet Access, as its CTO in April 2018.%0a%0a-> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a%0a-> https://www.cnet.com/news/mt-gox-bitcoin-exchange-former-ceo-karpeles-lands-new-job/%0a%0a!! Resist the Takeover, [[https://ircnow.org|Join IRCNow]]%0a%0a%25width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a +time=1621956592 +author:1621956592=jrmu +diff:1621956592:1621956532:=25c25%0a%3c !! Andrew Lee hires '''Mark Karpeles''' from Mt. Gox as CTO%0a---%0a> !! Andrew Lee hires Mt Gox '''Mark Karpeles''' as CTO%0a +host:1621956592=125.231.17.115 +author:1621956532=jrmu +diff:1621956532:1621907714:=25,26c25,26%0a%3c !! Andrew Lee hires Mt Gox '''Mark Karpeles''' as CTO%0a%3c %0a---%0a> !! Andrew Lee hires Mt Gox '''bitcoin criminal''' as CTO%0a> %0a43c43%0a%3c %25width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a---%0a> %25width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a\ No newline at end of file%0a +host:1621956532=125.231.17.115 +author:1621907714=jrmu +diff:1621907714:1621907688:=41c41%0a%3c !! Resist the Takeover, [[https://ircnow.org|Join IRCNow]]%0a---%0a> !! Resist the Takeover, '''Join IRCNow'''%0a +host:1621907714=125.231.17.115 +author:1621907688=jrmu +diff:1621907688:1621907669:=41c41%0a%3c !! Resist the Takeover, '''Join IRCNow'''%0a---%0a> !! Resist the Takeover, Join IRCNow%0a +host:1621907688=125.231.17.115 +author:1621907669=jrmu +diff:1621907669:1621907636:=40,41d39%0a%3c %0a%3c !! Resist the Takeover, Join IRCNow%0a +host:1621907669=125.231.17.115 +author:1621907636=jrmu +diff:1621907636:1621907602:=41c41%0a%3c %25width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a\ No newline at end of file%0a---%0a> %25width=500px%25 [[Attach: Marketing/madeonirc.png]]%0a\ No newline at end of file%0a +host:1621907636=125.231.17.115 +author:1621907602=jrmu +diff:1621907602:1621907586:=41c41%0a%3c %25width=500px%25 [[Attach: Marketing/madeonirc.png]]%0a\ No newline at end of file%0a---%0a> %25width=500px%25 [[Attach:Marketing/madeonirc.png]]%0a\ No newline at end of file%0a +host:1621907602=125.231.17.115 +author:1621907586=jrmu +diff:1621907586:1621907562:=41c41%0a%3c %25width=500px%25 [[Attach:Marketing/madeonirc.png]]%0a\ No newline at end of file%0a---%0a> %25width=500px%25 [[Attachment: Marketing/madeonirc.png]]%0a\ No newline at end of file%0a +host:1621907586=125.231.17.115 +author:1621907562=jrmu +diff:1621907562:1621905693:=40,41d39%0a%3c %0a%3c %25width=500px%25 [[Attachment: Marketing/madeonirc.png]]%0a\ No newline at end of file%0a +host:1621907562=125.231.17.115 +author:1621905693=jrmu +diff:1621905693:1621895083:=1,2c1,2%0a%3c !! Freenode owner Andrew Lee co-founded Mt. Gox Live%0a%3c %0a---%0a> !! Andrew Lee, owner of Freenode, co-founded Mt. Gox Live%0a> %0a25c25%0a%3c !! Andrew Lee hires Mt Gox '''bitcoin criminal''' as CTO%0a---%0a> !! Andrew Lee hires '''bitcoin criminal''' to be CTO%0a +host:1621905693=38.81.163.143 +author:1621895083=jrmu +diff:1621895083:1621895028:=27c27%0a%3c -> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying data to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a---%0a> -> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying dat to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a +host:1621895083=38.81.163.143 +author:1621895028=jrmu +diff:1621895028:1621872837:=27c27%0a%3c -> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying dat to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a---%0a> -> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying data to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a +host:1621895028=38.81.163.143 +author:1621872837=jrmu +diff:1621872837:1621871877:=7,8c7,8%0a%3c !! Mt Gox Live later acquired by Mt Gox, where '''$450 million USD were lost/stolen'''%0a%3c %0a---%0a> !! Mt Gox Live was later acquired by Mt Gox, where '''around $450 million USD were lost or stolen.'''%0a> %0a25,26c25,26%0a%3c !! Andrew Lee hires '''bitcoin criminal''' to be CTO%0a%3c %0a---%0a> !! Andrew Lee hires '''bitcoin criminal''' to be his Chief Technology Officer%0a> %0a39c39%0a%3c -> https://www.cnet.com/news/mt-gox-bitcoin-exchange-former-ceo-karpeles-lands-new-job/%0a---%0a> -> https://www.cnet.com/news/mt-gox-bitcoin-exchange-former-ceo-karpeles-lands-new-job/%0a\ No newline at end of file%0a +host:1621872837=38.81.163.143 +author:1621871877=jrmu +diff:1621871877:1621871162:=2a3,4%0a> Mt Gox Live was later acquired by Mt Gox, where '''around $450 million USD were lost or stolen.'''%0a> %0a6,7d7%0a%3c %0a%3c !! Mt Gox Live was later acquired by Mt Gox, where '''around $450 million USD were lost or stolen.'''%0a +host:1621871877=125.231.17.115 +author:1621871162=jrmu +diff:1621871162:1621870816:=7,8c7,8%0a%3c -> https://foundation.gnome.org/2013/09/23/interview-with-andrew-lee-of-private-internet-access/%0a%3c %0a---%0a> https://foundation.gnome.org/2013/09/23/interview-with-andrew-lee-of-private-internet-access/%0a> %0a11,12c11,12%0a%3c -> https://thetrichordist.com/2016/08/23/progressive-zephyr-teachouts-financial-ties-to-pirate-party-and-bitcoin-promoters/%0a%3c %0a---%0a> https://thetrichordist.com/2016/08/23/progressive-zephyr-teachouts-financial-ties-to-pirate-party-and-bitcoin-promoters/%0a> %0a15,16c15,16%0a%3c -> https://daydaynews.cc/en/history/840186.html%0a%3c %0a---%0a> https://daydaynews.cc/en/history/840186.html%0a> %0a19,20c19,20%0a%3c -> https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/%0a%3c %0a---%0a> https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/%0a> %0a23,24c23,24%0a%3c -> https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a%3c %0a---%0a> https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a> %0a29,39c29,31%0a%3c -> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a%3c %0a%3c Mark Karpeles is the CTO of Shells.com and Andrew Lee its co-founder.%0a%3c %0a%3c -> https://www.shells.com/l/en-US/team%0a%3c %0a%3c After the collapse of Mt. Gox, Karpelès joined London Trust Media, the company behind Freenode and Private Internet Access, as its CTO in April 2018.%0a%3c %0a%3c -> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a%3c %0a%3c -> https://www.cnet.com/news/mt-gox-bitcoin-exchange-former-ceo-karpeles-lands-new-job/%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a> %0a> ->%0a\ No newline at end of file%0a +host:1621871162=125.231.17.115 +author:1621870816=jrmu +diff:1621870816:1621870749:=3,4c3,4%0a%3c Mt Gox Live was later acquired by Mt Gox, where '''around $450 million USD were lost or stolen.'''%0a%3c %0a---%0a> Mt Gox Live was later acquired by Mt Gox and '''around $450 million USD were lost or stolen.'''%0a> %0a25,26c25,26%0a%3c !! Andrew Lee hires '''bitcoin criminal''' to be his Chief Technology Officer%0a%3c %0a---%0a> !! Andrew Lee hires bitcoin criminal, to be his Chief Technology Officer%0a> %0a29,31c29%0a%3c https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a%3c %0a%3c ->%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a\ No newline at end of file%0a +host:1621870816=125.231.17.115 +author:1621870749=jrmu +diff:1621870749:1621870598:=1,2c1,2%0a%3c !! Andrew Lee, owner of Freenode, co-founded Mt. Gox Live%0a%3c %0a---%0a> !! Andrew Lee co-founded Mt. Gox Live%0a> %0a21,29c21,23%0a%3c -> In February of this year, Dahlskjaer put the logo of Shells.com on the Freenode website. Shells is a company co-founded by Lee, at which Mark Karpeles, the founder of the highly controversial (and defunct) Bitcoin exchange Mt. Gox, is%0a%3c %0a%3c https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a%3c %0a%3c !! Andrew Lee hires bitcoin criminal, to be his Chief Technology Officer%0a%3c %0a%3c -> On March 14, 2019, the Tokyo District Court found Karpelès guilty of falsifying data to inflate Mt. Gox’s holdings by $33.5 million, for which he was sentenced to 30 months in prison, suspended for four years%0a%3c %0a%3c https://en.wikipedia.org/wiki/Mark_Karpel%25C3%25A8s%0a\ No newline at end of file%0a---%0a> In February of this year, Dahlskjaer put the logo of Shells.com on the Freenode website. Shells is a company co-founded by Lee, at which Mark Karpeles, the founder of the highly controversial (and defunct) Bitcoin exchange Mt. Gox, is%0a> %0a> https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a\ No newline at end of file%0a +host:1621870749=125.231.17.115 +author:1621870598=jrmu +diff:1621870598:1621868162:=3,6c3,6%0a%3c Mt Gox Live was later acquired by Mt Gox and '''around $450 million USD were lost or stolen.'''%0a%3c %0a%3c -> Andrew Lee is a long-time privacy advocate, and has co-founded several other privacy related companies in the past including Mt Gox Live which was later acquired by Mt Gox the leading Bitcoin exchange%0a%3c %0a---%0a> Mt Gox Live was later acquired by Mt Gox and lost around $450 million USD%0a> %0a> Andrew Lee is a long-time privacy advocate, and has co-founded several other privacy related companies in the past including Mt Gox Live which was later acquired by Mt Gox the leading Bitcoin exchange%0a> %0a9,10c9,10%0a%3c -> Co-founder is Andrew Lee a long, a long-time Bitcoin promoter. He was also founder of Mt. Gox Live, that was subsequently sold to (or merged with) Mt Gox the primary bitcoin exchange. Mt Gox of course spectacularly collapsed when they “lost” 700,000 bitcoin worth an estimated $460 Million dollars.%0a%3c %0a---%0a> However we know a lot about Private Internet access. Co-founder is Andrew Lee a long, a long-time Bitcoin promoter. He was also founder of Mt. Gox Live, that was subsequently sold to (or merged with) Mt Gox the primary bitcoin exchange. Mt Gox of course spectacularly collapsed when they “lost” 700,000 bitcoin worth an estimated $460 Million dollars.%0a> %0a13,14c13,14%0a%3c -> Two years before his death, Li Haiyuan found his crown prince through Li Xi-residence Andrew Lee, a distant relative in Los Angeles, 36 years old, grew up in the United States. He is a programmer and entrepreneur. His open source VPN project PIA and Bitcoin trading platform Mt. Gox Live have both achieved certain success. %0a%3c %0a---%0a> This farce has the greatest impact on the Lee family. Two years before his death, Li Haiyuan found his crown prince through Li Xi-residence Andrew Lee, a distant relative in Los Angeles, 36 years old, grew up in the United States. He is a programmer and entrepreneur. His open source VPN project PIA and Bitcoin trading platform Mt. Gox Live have both achieved certain success. %0a> %0a17,18c17,18%0a%3c -> In 2010 he launched an anonymous VPN service called Private Internet Access that he later sold for $95.5 million, and worked on a Bitcoin price tracker that was eventually acquired by Mt. Gox.%0a%3c %0a---%0a> Andrew Lee’s story, at least the first half of it, is not unlike that of many young rising stars in the tech world. The Korean-American was born in Indiana and attended Purdue and the University at Buffalo before dropping out to try his luck with a number of startups. In 2010 he launched an anonymous VPN service called Private Internet Access that he later sold for $95.5 million, and worked on a Bitcoin price tracker that was eventually acquired by Mt. Gox.%0a> %0a23c23,25%0a%3c https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a\ No newline at end of file%0a---%0a> https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a> %0a> http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a +host:1621870598=125.231.17.115 +author:1621868162=jrmu +diff:1621868162:1621868110:=1,3c1%0a%3c !! Andrew Lee co-founded Mt. Gox Live%0a%3c %0a%3c Mt Gox Live was later acquired by Mt Gox and lost around $450 million USD%0a---%0a> Andrew Lee co-founded Mt. Gox Live%0a +host:1621868162=125.231.17.115 +author:1621868110=jrmu +diff:1621868110:1621868110:=1,23d0%0a%3c Andrew Lee co-founded Mt. Gox Live%0a%3c %0a%3c Andrew Lee is a long-time privacy advocate, and has co-founded several other privacy related companies in the past including Mt Gox Live which was later acquired by Mt Gox the leading Bitcoin exchange%0a%3c %0a%3c https://foundation.gnome.org/2013/09/23/interview-with-andrew-lee-of-private-internet-access/%0a%3c %0a%3c However we know a lot about Private Internet access. Co-founder is Andrew Lee a long, a long-time Bitcoin promoter. He was also founder of Mt. Gox Live, that was subsequently sold to (or merged with) Mt Gox the primary bitcoin exchange. Mt Gox of course spectacularly collapsed when they “lost” 700,000 bitcoin worth an estimated $460 Million dollars.%0a%3c %0a%3c https://thetrichordist.com/2016/08/23/progressive-zephyr-teachouts-financial-ties-to-pirate-party-and-bitcoin-promoters/%0a%3c %0a%3c This farce has the greatest impact on the Lee family. Two years before his death, Li Haiyuan found his crown prince through Li Xi-residence Andrew Lee, a distant relative in Los Angeles, 36 years old, grew up in the United States. He is a programmer and entrepreneur. His open source VPN project PIA and Bitcoin trading platform Mt. Gox Live have both achieved certain success. %0a%3c %0a%3c https://daydaynews.cc/en/history/840186.html%0a%3c %0a%3c Andrew Lee’s story, at least the first half of it, is not unlike that of many young rising stars in the tech world. The Korean-American was born in Indiana and attended Purdue and the University at Buffalo before dropping out to try his luck with a number of startups. In 2010 he launched an anonymous VPN service called Private Internet Access that he later sold for $95.5 million, and worked on a Bitcoin price tracker that was eventually acquired by Mt. Gox.%0a%3c %0a%3c https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/%0a%3c %0a%3c In February of this year, Dahlskjaer put the logo of Shells.com on the Freenode website. Shells is a company co-founded by Lee, at which Mark Karpeles, the founder of the highly controversial (and defunct) Bitcoin exchange Mt. Gox, is%0a%3c %0a%3c https://www.vice.com/en/article/m7ev8y/freenode-open-source-korea-crown-prince-takeover%0a%3c %0a%3c http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a +host:1621868110=125.231.17.115 blob - /dev/null blob + e5f4f8bce6368019b08d0f6ae59fd104430a93cf (mode 644) --- /dev/null +++ wiki.d/Freenode.Power @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621909919 +host=125.231.17.115 +name=Freenode.Power +rev=18 +targets= +text=(:title Is IRC in danger of a monopoly?:)%0a%0a%25rfloat width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a!! Freenode Owner's Funding Expands%0a%0a-> London Trust Media Holdings and [Andrew Lee] ... funding, sponsorships, and other contributions have been and will continue to be provided to IRC clients like KiwiIRC and weechat, IRC networks like freenode, snoonet, DALnet, and EuropNet.%0a-> ...%0a-> Today, I'd like to introduce a few new projects that we are soon launching alongside notable IRC communities:%0a-> IRC.com (A professional, friendly network for huge communities)%0a-> ...%0a-> Yours truly, Andrew Lee%0a-> Co-founder, London Trust Media Holdings%0a%0a-> http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a%0a-> Snoonet is expanding its family and linking up with the new IRC network, IRC.com.%0a%0a-> https://snoonet.org/posts/2018/11/22/important-changes-to-snoonet-and-a-partnership-with-irccom%0a%0a-> SaberUK on Dec 9, 2018 []%0a-> Full disclosure: i'm being paid to work on InspIRCd for use on the IRC.com network. %0a%0a-> https://news.ycombinator.com/item?id=18637152%0a%0a-> prawnsalad on June 22, 2018 [%3cE2>%3c80>%3c93>]%0a-> I'm part of LTM and starting to build up irc.com, along with founding kiwiirc.com.%0a%0a-> https://news.ycombinator.com/item?id=17375831%0a-> https://news.ycombinator.com/item?id=18644090%0a%0a-> #ircdocs on Freenode · GitHub%0a-> LTM/PIA and me~%0a-> Made by Daniel Oaks %0a%0a-> https://web.archive.org/web/20210507003605/https://ircdocs.horse/%0a%0a-> LTM/PIA and IRC%0a-> Yo! My name's Daniel, or DanielOaks, and I run the ircdocs sites. I've worked at Private Internet Access / London Trust Media for a long while now! Like, three years or so. And in that time, I've been very lucky that they've let me work on IRC stuff on the side. %0a-> ...%0a-> Spec nerds / devs that work for LTM/PIA:%0a-> Daniel (me)%0a-> Prawnsalad%0a-> Spec nerds / devs who’re sponsored by LTM:%0a-> Sadie (through IRC.com to work on InspIRCd)%0a-> Projects that are owned by LTM:%0a-> KiwiIRC%0a-> IRC.com%0a-> Networks that are owned by LTM:%0a-> freenode%0a-> Snoonet%0a-> https://archive.is/ouroN%0a%0a!! IRC.com, where's the source?%0a%0a-> As part of the KiwiIRC.com open source project this application will be open sourced as a generic multi network IRC client in the near future.%0a%0a-> https://github.com/irccom/mobileapp%0a%0aAs of May 24, 2021, there is no source code but it is being distributed on Google Play:%0a%0a-> https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a +time=1622003896 +title=Is IRC in danger of a monopoly? +author:1622003896=jrmu +diff:1622003896:1621917237:=3d2%0a%3c %25rfloat width=500px%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a +host:1622003896=125.231.17.115 +author:1621917237=jrmu +diff:1621917237:1621916350:=1,3c1%0a%3c (:title Is IRC in danger of a monopoly?:)%0a%3c %0a%3c !! Freenode Owner's Funding Expands%0a---%0a> !! Is IRC in danger of a monopoly?%0a +host:1621917237=38.81.163.143 +author:1621916350=jrmu +diff:1621916350:1621916313:=11c11%0a%3c -> http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a---%0a> http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a +host:1621916350=38.81.163.143 +author:1621916313=jrmu +diff:1621916313:1621915941:=1c1%0a%3c !! Is IRC in danger of a monopoly?%0a---%0a> !! Freenode Owner Could Monopolize IRC%0a +host:1621916313=38.81.163.143 +author:1621915941=jrmu +diff:1621915941:1621915539:=48a49,56%0a> %0a> !! Millions in secret IRC funding!%0a> %0a> -> Private Internet Access sold to a firm that had been involved with making spyware (Kape Technologies) for $95.5 million USD%0a> %0a> -> In Thousand Oaks, a lavish mansion fit for a king just sold to a prince. Crown Prince Andrew Lee and Princess Nana Lee of the imperial family of Korea just paid $12.6 million for a 20-acre estate in the Hidden Valley community, The Times has confirmed.%0a> %0a> -> https://www.latimes.com/business/real-estate/story/2020-12-01/south-korean-royals-buy-thousand-oaks-home-12-6-million%0a +host:1621915941=38.81.163.143 +author:1621915539=jrmu +diff:1621915539:1621915286:=36,47d35%0a%3c -> ...%0a%3c -> Spec nerds / devs that work for LTM/PIA:%0a%3c -> Daniel (me)%0a%3c -> Prawnsalad%0a%3c -> Spec nerds / devs who’re sponsored by LTM:%0a%3c -> Sadie (through IRC.com to work on InspIRCd)%0a%3c -> Projects that are owned by LTM:%0a%3c -> KiwiIRC%0a%3c -> IRC.com%0a%3c -> Networks that are owned by LTM:%0a%3c -> freenode%0a%3c -> Snoonet%0a +host:1621915539=38.81.163.143 +author:1621915286=jrmu +diff:1621915286:1621914454:=33,44d32%0a%3c %0a%3c -> LTM/PIA and IRC%0a%3c -> Yo! My name's Daniel, or DanielOaks, and I run the ircdocs sites. I've worked at Private Internet Access / London Trust Media for a long while now! Like, three years or so. And in that time, I've been very lucky that they've let me work on IRC stuff on the side. %0a%3c -> https://archive.is/ouroN%0a%3c %0a%3c !! Millions in secret IRC funding!%0a%3c %0a%3c -> Private Internet Access sold to a firm that had been involved with making spyware (Kape Technologies) for $95.5 million USD%0a%3c %0a%3c -> In Thousand Oaks, a lavish mansion fit for a king just sold to a prince. Crown Prince Andrew Lee and Princess Nana Lee of the imperial family of Korea just paid $12.6 million for a 20-acre estate in the Hidden Valley community, The Times has confirmed.%0a%3c %0a%3c -> https://www.latimes.com/business/real-estate/story/2020-12-01/south-korean-royals-buy-thousand-oaks-home-12-6-million%0a +host:1621915286=38.81.163.143 +author:1621914454=jrmu +diff:1621914454:1621914037:=26d25%0a%3c -> https://news.ycombinator.com/item?id=18644090%0a +host:1621914454=38.81.163.143 +author:1621914037=jrmu +diff:1621914037:1621913967:=5c5,6%0a%3c -> Today, I'd like to introduce a few new projects that we are soon launching alongside notable IRC communities:%0a---%0a> -> Today, I'd like to introduce a few new projects that we are soon launching alongside%0a> notable IRC communities:%0a +host:1621914037=38.81.163.143 +author:1621913967=jrmu +diff:1621913967:1621913775:= +host:1621913967=38.81.163.143 +author:1621913775=jrmu +diff:1621913775:1621913743:=42c42%0a%3c -> https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a---%0a> --> https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a +host:1621913775=38.81.163.143 +author:1621913743=jrmu +diff:1621913743:1621913434:=32,33c32,35%0a%3c -> https://web.archive.org/web/20210507003605/https://ircdocs.horse/%0a%3c %0a---%0a> https://web.archive.org/web/20210507003605/https://ircdocs.horse/%0a> %0a> https://news.ycombinator.com/item?id=17375831%0a> %0a38,39c40,41%0a%3c -> https://github.com/irccom/mobileapp%0a%3c %0a---%0a> https://github.com/irccom/mobileapp%0a> %0a42c44,45%0a%3c --> https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a---%0a> https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a> %0a +host:1621913743=38.81.163.143 +author:1621913434=jrmu +diff:1621913434:1621913099:=1,2c1,2%0a%3c !! Freenode Owner Could Monopolize IRC%0a%3c %0a---%0a> !! Freenode Owner Can Monopolize IRC%0a> %0a36,39c36,39%0a%3c !! IRC.com, where's the source?%0a%3c %0a%3c -> As part of the KiwiIRC.com open source project this application will be open sourced as a generic multi network IRC client in the near future.%0a%3c %0a---%0a> !! Freenode Owner Could %0a> %0a> !! IRC.com's source code not released%0a> %0a41,43d40%0a%3c %0a%3c As of May 24, 2021, there is no source code but it is being distributed on Google Play:%0a%3c %0a +host:1621913434=38.81.163.143 +author:1621913099=jrmu +diff:1621913099:1621912945:=32a33%0a> %0a +host:1621913099=38.81.163.143 +author:1621912945=jrmu +diff:1621912945:1621912218:=4,11c4,6%0a%3c -> ...%0a%3c -> Today, I'd like to introduce a few new projects that we are soon launching alongside%0a%3c notable IRC communities:%0a%3c -> IRC.com (A professional, friendly network for huge communities)%0a%3c -> ...%0a%3c -> Yours truly, Andrew Lee%0a%3c -> Co-founder, London Trust Media Holdings%0a%3c %0a---%0a> %0a> ->%0a> %0a14,34c9,10%0a%3c -> Snoonet is expanding its family and linking up with the new IRC network, IRC.com.%0a%3c %0a%3c -> https://snoonet.org/posts/2018/11/22/important-changes-to-snoonet-and-a-partnership-with-irccom%0a%3c %0a%3c -> SaberUK on Dec 9, 2018 []%0a%3c -> Full disclosure: i'm being paid to work on InspIRCd for use on the IRC.com network. %0a%3c %0a%3c -> https://news.ycombinator.com/item?id=18637152%0a%3c %0a%3c -> prawnsalad on June 22, 2018 [%3cE2>%3c80>%3c93>]%0a%3c -> I'm part of LTM and starting to build up irc.com, along with founding kiwiirc.com.%0a%3c %0a%3c -> https://news.ycombinator.com/item?id=17375831%0a%3c %0a%3c -> #ircdocs on Freenode · GitHub%0a%3c -> LTM/PIA and me~%0a%3c -> Made by Daniel Oaks %0a%3c %0a%3c https://web.archive.org/web/20210507003605/https://ircdocs.horse/%0a%3c %0a%3c %0a---%0a> https://www.irc.com%0a> https://imperialfamily.com%0a +host:1621912945=38.81.163.143 +author:1621912218=jrmu +diff:1621912218:1621911070:= +host:1621912218=38.81.163.143 +author:1621911070=jrmu +diff:1621911070:1621909919:=1,6d0%0a%3c !! Freenode Owner Can Monopolize IRC%0a%3c %0a%3c -> London Trust Media Holdings and [Andrew Lee] ... funding, sponsorships, and other contributions have been and will continue to be provided to IRC clients like KiwiIRC and weechat, IRC networks like freenode, snoonet, DALnet, and EuropNet.%0a%3c %0a%3c ->%0a%3c %0a8d1%0a%3c %0a12,19d4%0a%3c %0a%3c !! Freenode Owner Could %0a%3c %0a%3c !! IRC.com's source code not released%0a%3c %0a%3c https://github.com/irccom/mobileapp%0a%3c https://play.google.com/store/apps/details?id=com.irc.ircclient&hl=en_US&gl=US%0a%3c %0a +host:1621911070=38.81.163.143 +author:1621909919=jrmu +diff:1621909919:1621909919:=1,4d0%0a%3c http://web.archive.org/web/20181207230330/https://www.irc.com/lets-take-irc-further%0a%3c https://www.irc.com%0a%3c https://imperialfamily.com%0a%3c https://news.ycombinator.com/item?id=17375831%0a +host:1621909919=38.81.163.143 blob - /dev/null blob + 029cf38f0a2316695aa7af5e84ad24c5a3cd6a73 (mode 644) --- /dev/null +++ wiki.d/Freenode.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1621868110 +host=125.231.17.115 +name=Freenode.RecentChanges +rev=44 +text=* [[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 +time=1622003896 blob - /dev/null blob + 798886532d24fd6296ceb5f0e05efc8734fb7ded (mode 644) --- /dev/null +++ wiki.d/Freenode.Takeover @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621907907 +host=125.231.17.115 +name=Freenode.Takeover +rev=6 +targets= +text=(:title Common Sense:)%0a%0a%25width=500px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a%0aThese are the times that tries men's servers.%0a%0a!! No Crown Prince of IRC!%0a%0aAll users are created equal, so that no one by birth has a right to set up%0ahis own imperial family above all others on the network. Even if his%0aancestors are royalty, the title of crown prince does not belong on IRC. Admins who%0alook upon themselves as born to reign, and others to obey, soon grow arrogant.%0a%0a!! No Corporate Takeovers!%0a%0aIt is quite absurd to suppose the free and open source community needs to be%0agoverned by Silicon Valley. Common sense tells us that the power which tries to%0asubdue us is not proper to defend us.%0a%0aThis protocol has been the refuge for all groups from every part of the Internet.%0aHere we have fled, not from the tender embrace of the mother, but from the cruelty of%0athe monster; and yet that same tyranny which first drove us to IRC pursues us to this%0aday still.%0a%0a!! Freedom of Religion%0a%0aIt is the duty of networks to secure freedom and property to all men, and above all%0athings, the free exercise of religion.%0a%0aWhere is the crown prince of IRC? I'll tell you friend, He reigns above, and He%0adoes not make havoc of mankind like Silicon Valley.%0a%0a!! We Govern Ourselves!%0a%0aWe code not to enslave, but to set a network free, and to make room upon the Internet%0afor honest users to chat in.%0a%0aIt is not for a few chat messages or data records we code for, but a cause%0athat we are defending.%0a%0aEverything that is right or natural pleads for separation. The cries of the banned,%0athe petitions of the silenced cries out, [++[[https://ircnow.org|'TIS TIME TO PART!]]++]%0a +time=1621920506 +title=Common Sense +author:1621920506=jrmu +diff:1621920506:1621919319:=33c33%0a%3c !! We Govern Ourselves!%0a---%0a> !! We Govern Ourselves%0a +host:1621920506=125.231.17.115 +author:1621919319=jrmu +diff:1621919319:1621910318:=7c7%0a%3c !! No Crown Prince of IRC!%0a---%0a> !! No Crown Prince on IRC!%0a +host:1621919319=125.231.17.115 +author:1621910318=jrmu +diff:1621910318:1621910284:=33c33%0a%3c !! We Govern Ourselves%0a---%0a> !! Users Must Self-Govern%0a +host:1621910318=125.231.17.115 +author:1621910284=jrmu +diff:1621910284:1621907936:=7,8d6%0a%3c !! No Crown Prince on IRC!%0a%3c %0a14,15d11%0a%3c !! No Corporate Takeovers!%0a%3c %0a25,26d20%0a%3c !! Freedom of Religion%0a%3c %0a33,34d26%0a%3c !! Users Must Self-Govern%0a%3c %0a42c34%0a%3c the petitions of the silenced cries out, [++[[https://ircnow.org|'TIS TIME TO PART!]]++]%0a---%0a> the petitions of the silenced cries out, [++[[https://ircnow.org|'TIS TIME TO PART!]]++]%0a\ No newline at end of file%0a +host:1621910284=38.81.163.143 +author:1621907936=jrmu +diff:1621907936:1621907907:=34c34%0a%3c the petitions of the silenced cries out, [++[[https://ircnow.org|'TIS TIME TO PART!]]++]%0a\ No newline at end of file%0a---%0a> the petitions of the silenced cries out, [++'TIS TIME TO PART!++]%0a\ No newline at end of file%0a +host:1621907936=125.231.17.115 +author:1621907907=jrmu +diff:1621907907:1621907907:=1,34d0%0a%3c (:title Common Sense:)%0a%3c %0a%3c %25width=500px rfloat%25 [[https://ircnow.org|Attach:Marketing/madeonirc.png]]%0a%3c %0a%3c These are the times that tries men's servers.%0a%3c %0a%3c All users are created equal, so that no one by birth has a right to set up%0a%3c his own imperial family above all others on the network. Even if his%0a%3c ancestors are royalty, the title of crown prince does not belong on IRC. Admins who%0a%3c look upon themselves as born to reign, and others to obey, soon grow arrogant.%0a%3c %0a%3c It is quite absurd to suppose the free and open source community needs to be%0a%3c governed by Silicon Valley. Common sense tells us that the power which tries to%0a%3c subdue us is not proper to defend us.%0a%3c %0a%3c This protocol has been the refuge for all groups from every part of the Internet.%0a%3c Here we have fled, not from the tender embrace of the mother, but from the cruelty of%0a%3c the monster; and yet that same tyranny which first drove us to IRC pursues us to this%0a%3c day still.%0a%3c %0a%3c It is the duty of networks to secure freedom and property to all men, and above all%0a%3c things, the free exercise of religion.%0a%3c %0a%3c Where is the crown prince of IRC? I'll tell you friend, He reigns above, and He%0a%3c does not make havoc of mankind like Silicon Valley.%0a%3c %0a%3c We code not to enslave, but to set a network free, and to make room upon the Internet%0a%3c for honest users to chat in.%0a%3c %0a%3c It is not for a few chat messages or data records we code for, but a cause%0a%3c that we are defending.%0a%3c %0a%3c Everything that is right or natural pleads for separation. The cries of the banned,%0a%3c the petitions of the silenced cries out, [++'TIS TIME TO PART!++]%0a\ No newline at end of file%0a +host:1621907907=125.231.17.115 blob - /dev/null blob + aeb6428904ddc9c84bce1a9bdefa2dbd2d93a114 (mode 644) --- /dev/null +++ wiki.d/Fvwm.Configure @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634552385 +host=38.87.162.8 +name=Fvwm.Configure +rev=2 +targets= +text=To increase the number of virtual desktops, edit @@/usr/X11R6/lib/X11/fvwm/.fvwmrc@@:%0a%0a[@%0aDeskTopSize 4x4%0a@]%0a%0aChange the number to 5x5 or larger depending upon your needs.%0a%0aRestart xenodm:%0a%0a[@%0a$ doas rcctl restart xenodm%0a@]%0a +time=1634552439 +author:1634552439=jrmu +diff:1634552439:1634552385:=5,12d4%0a%3c @]%0a%3c %0a%3c Change the number to 5x5 or larger depending upon your needs.%0a%3c %0a%3c Restart xenodm:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart xenodm%0a +host:1634552439=38.87.162.8 +author:1634552385=jrmu +diff:1634552385:1634552385:=1,5d0%0a%3c To increase the number of virtual desktops, edit @@/usr/X11R6/lib/X11/fvwm/.fvwmrc@@:%0a%3c %0a%3c [@%0a%3c DeskTopSize 4x4%0a%3c @]%0a +host:1634552385=38.87.162.8 blob - /dev/null blob + 0182aa16bc684cbe7cdc405d954143bcedaab847 (mode 644) --- /dev/null +++ wiki.d/Fvwm.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1634552385 +host=38.87.162.8 +name=Fvwm.RecentChanges +rev=2 +text=* [[Fvwm/Configure]] . . . October 18, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a +time=1634552439 blob - /dev/null blob + a321ef5b0af9b56eee9f5e45e9346bf5eb5dee4e (mode 644) --- /dev/null +++ wiki.d/Gajim.Biboumi @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1638017071 +host=38.87.162.8 +name=Gajim.Biboumi +rev=4 +targets=Gajim.Connect,Irc.Guide,Biboumi.Install +text=(:title Gajim Biboumi IRC bridge:)%0a%0aYou can use [[gajim/connect|Gajim]] to chat on [[irc/guide|IRC]] using the [[biboumi/install|Biboumi]] bridge provided by IRCNow servers.%0a%0a# In the menu bar, click on @@Gajim@@ -> @@Start/Join Chat@@:\\%0aAttach:gajim-menu.png%0a# In the search bar, type in the channel in this format: @@#channel%25irc.example.com@xmpp.example.org@@. You will want to replace @@#channel@@ with your IRC channel, @@irc.example.com@@ with the IRC server you want to connect to, and @@xmpp.example.org@@ with the bridge. In our example, the bridge has the hostname @@irc.ircnow.org@@. Next, click @@Join Group Chat@@:\\%0aAttach:gajim-startjoinchat.png%0a# At the bottom right corner, clck on the username. Pick a username that is not already taken by another IRC nick. (If the nick has already been taken on IRC, you will be unable to connect). Then, click the checkbox and click @@Join@@:\\%0aAttach:gajim-channel.png%0a# You are now connected!%0aAttach:gajim-muc.png%0a +time=1638018145 +title=Gajim Biboumi IRC bridge +author:1638018145=jrmu +diff:1638018145:1638017530:=5c5,6%0a%3c # In the menu bar, click on @@Gajim@@ -> @@Start/Join Chat@@:\\%0a---%0a> # First,%0a> %0a7d7%0a%3c # In the search bar, type in the channel in this format: @@#channel%25irc.example.com@xmpp.example.org@@. You will want to replace @@#channel@@ with your IRC channel, @@irc.example.com@@ with the IRC server you want to connect to, and @@xmpp.example.org@@ with the bridge. In our example, the bridge has the hostname @@irc.ircnow.org@@. Next, click @@Join Group Chat@@:\\%0a9d8%0a%3c # At the bottom right corner, clck on the username. Pick a username that is not already taken by another IRC nick. (If the nick has already been taken on IRC, you will be unable to connect). Then, click the checkbox and click @@Join@@:\\%0a11d9%0a%3c # You are now connected!%0a +host:1638018145=38.87.162.8 +author:1638017530=jrmu +diff:1638017530:1638017119:=1,6d0%0a%3c (:title Gajim Biboumi IRC bridge:)%0a%3c %0a%3c You can use [[gajim/connect|Gajim]] to chat on [[irc/guide|IRC]] using the [[biboumi/install|Biboumi]] bridge provided by IRCNow servers.%0a%3c %0a%3c # First,%0a%3c %0a +host:1638017530=38.87.162.8 +author:1638017119=jrmu +diff:1638017119:1638017071:=3,4c3,4%0a%3c Attach:gajim-channel.png%0a%3c Attach:gajim-muc.png%0a---%0a> Attach:gajim_channel.png%0a> Attach:gajim_muc.png%0a +host:1638017119=38.87.162.8 +author:1638017071=jrmu +diff:1638017071:1638017071:=1,4d0%0a%3c Attach:gajim-menu.png%0a%3c Attach:gajim-startjoinchat.png%0a%3c Attach:gajim_channel.png%0a%3c Attach:gajim_muc.png%0a +host:1638017071=38.87.162.8 blob - /dev/null blob + c48099a374ca491e46ee7e42970c64e44d22ec40 (mode 644) --- /dev/null +++ wiki.d/Gajim.Connect @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637133699 +host=38.87.162.8 +name=Gajim.Connect +rev=5 +targets=OMEMO.Intro,PGP.Intro,Xmpp.Xmpp +text=[[https://gajim.org|Gajim]] is an open source XMPP client that allows you to share photos, videos, files with friends. It includes support for user profiles, status updates, and chat history. It also includes [[OMEMO/intro|OMEMO]], [[PGP/intro|PGP]], and OpenPGP encryption.%0a%0a# Open gajim:\\%0aAttach:gajim-welcome.png%0a# Click on @@Sign Up@@:\\%0aAttach:gajim-signup.png%0a# Where it asks @@Please choose a server@@, type in the name your server. IRCNow offers a list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0aAttach:gajim-createaccount.png%0a# Fill in your username and password. Then click on @@Sign Up@@.\\%0aAttach:gajim-accountadded.png%0a# Click @@Connect@@.%0a +time=1637136100 +author:1637136100=jrmu +diff:1637136100:1637135944:=1c1%0a%3c [[https://gajim.org|Gajim]] is an open source XMPP client that allows you to share photos, videos, files with friends. It includes support for user profiles, status updates, and chat history. It also includes [[OMEMO/intro|OMEMO]], [[PGP/intro|PGP]], and OpenPGP encryption.%0a---%0a> [[https://gajim|gajim]]%0a +host:1637136100=38.87.162.8 +author:1637135944=jrmu +diff:1637135944:1637133894:=3c3%0a%3c # Open gajim:\\%0a---%0a> # Open gajim\\%0a5c5%0a%3c # Click on @@Sign Up@@:\\%0a---%0a> # Click on @@Sign Up@@\\%0a7c7%0a%3c # Where it asks @@Please choose a server@@, type in the name your server. IRCNow offers a list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0a---%0a> # Where it asks @@Please choose a server@@, fill in @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0a +host:1637135944=38.87.162.8 +author:1637133894=jrmu +diff:1637133894:1637133794:=3c3%0a%3c # Open gajim\\%0a---%0a> 1. Open gajim\\%0a5c5%0a%3c # Click on @@Sign Up@@\\%0a---%0a> 2. Click on @@Sign Up@@\\%0a7c7%0a%3c # Where it asks @@Please choose a server@@, fill in @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0a---%0a> 3. Where it asks @@Please choose a server@@, fill in @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0a9c9%0a%3c # Fill in your username and password. Then click on @@Sign Up@@.\\%0a---%0a> 4. Fill in your username and password. Then click on @@Sign Up@@.\\%0a11c11%0a%3c # Click @@Connect@@.%0a---%0a> 5. Click @@Connect@@.%0a +host:1637133894=38.87.162.8 +author:1637133794=jrmu +diff:1637133794:1637133699:=4c4%0a%3c Attach:gajim-welcome.png%0a---%0a> Attach:gajim1.png%0a6c6%0a%3c Attach:gajim-signup.png%0a---%0a> Attach:gajim2.png%0a8c8%0a%3c Attach:gajim-createaccount.png%0a---%0a> Attach:gajim3.png%0a10c10%0a%3c Attach:gajim-accountadded.png%0a---%0a> Attach:gajim4.png%0a +host:1637133794=38.87.162.8 +author:1637133699=jrmu +diff:1637133699:1637133699:=1,11d0%0a%3c [[https://gajim|gajim]]%0a%3c %0a%3c 1. Open gajim\\%0a%3c Attach:gajim1.png%0a%3c 2. Click on @@Sign Up@@\\%0a%3c Attach:gajim2.png%0a%3c 3. Where it asks @@Please choose a server@@, fill in @@ircnow.org@@. Then click on the @@Sign Up@@ button.\\%0a%3c Attach:gajim3.png%0a%3c 4. Fill in your username and password. Then click on @@Sign Up@@.\\%0a%3c Attach:gajim4.png%0a%3c 5. Click @@Connect@@.%0a +host:1637133699=38.87.162.8 blob - /dev/null blob + 712520148c5da5f9bc4981c58cabdbe994262bb5 (mode 644) --- /dev/null +++ wiki.d/Gajim.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637133699 +host=38.87.162.8 +name=Gajim.RecentChanges +rev=9 +text=* [[Gajim/Biboumi]] . . . November 27, 2021, at 01:02 PM by [[~jrmu]]: [==]%0a* [[Gajim/Connect]] . . . November 17, 2021, at 08:01 AM by [[~jrmu]]: [==]%0a +time=1638018145 blob - /dev/null blob + b10543e7b823bcbc7376362ae104e9430ce3fc43 (mode 644) --- /dev/null +++ wiki.d/Gazette.Gazette @@ -0,0 +1,71 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=a bit polishing +ctime=1612873612 +host=198.251.81.133 +name=Gazette.Gazette +rev=18 +targets=Openbsd.Slrn,NNTP.Claws,NNTP.Evolution,NNTP.Thunderbird,NNTP.Seamonkey,NNTP.Sylpheed +text=(:title The Gazette Network News:)%0a%0a%25lfloat width=300px%25 Attach:Marketing/freepress.png%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[openbsd/slrn|slrn]] || || || || || || || ||%0a|| BinTube || || || || || || || ||%0a|| Forté Agent || || || || || || || ||%0a|| NewsBin || || || || || || || ||%0a|| NewsLazer || || || || || || || ||%0a|| NewsLeecher || || || || || || || ||%0a|| Novell GroupWise || || || || || || || ||%0a|| Turnpike || || || || || || || ||%0a|| Unison || || || || || || || ||%0a|| Usenet Explorer || || || || || || || ||%0a|| Usenet Wire || || || || || || || ||%0a|| GrabIt || || || || || || || ||%0a|| Opera Mail || || || || || || || ||%0a|| Xnews – MS Windows || || || || || || || ||%0a|| [[NNTP/Claws|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a|| [[NNTP/Evolution|Evolution]] || || || ✓ || || || || LGPLv2 ||%0a|| Gnus || || || || || || || ||%0a|| [[NNTP/Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a|| NZBGet || || || || || || || ||%0a|| Pan || || || || || || || ||%0a|| SABnzbd || || || || || || || ||%0a|| [[NNTP/Seamonkey|Seamonkey]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a|| [[NNTP/Sylpheed|Sylpheed]] || ✓ || || ✓ || || || || GPL ||%0a|| X Python Newsreader || || || || || || || ||%0a%0a|| Alpine || || || || || || || ||%0a|| Gnus || || || || || || || ||%0a|| Line Mode Browser || || || || || || || ||%0a|| Lynx || || || || || || || ||%0a|| Mutt || || || || || || || ||%0a|| rn || || || || || || || ||%0a|| Slrn || || || || || || || ||%0a|| tin || || || || || || || ||%0a|| Easynews || || || || || || || || %0a|| Google Groups || || || || || || || ||%0a|| Lotus Notes || || || || || || || ||%0a|| MT NewsWatcher || || || || || || || ||%0a|| Arachne || || || || || || || ||%0a|| Arena || || || || || || || ||%0a|| Argo || || || || || || || ||%0a|| Beonex Communicator || || || || || || || ||%0a|| KNode || || || || || || || ||%0a|| SeaMonkey || || || || || || || ||%0a|| Spotnet || || || || || || || ||%0a|| Unison || || || || || || || ||%0a|| MacSoup || || || || || || || ||%0a|| Agora || || || || || || || ||%0a%0a%0ahttps://wiki.ircnow.org/index.php?n=NewsNow.NewsNow +time=1628990050 +title=The Gazette Network News +author:1628990050=mkf +csum:1628990050=a bit polishing +diff:1628990050:1628605885:=32,53c32,53%0a%3c || Alpine || || || || || || || ||%0a%3c || Gnus || || || || || || || ||%0a%3c || Line Mode Browser || || || || || || || ||%0a%3c || Lynx || || || || || || || ||%0a%3c || Mutt || || || || || || || ||%0a%3c || rn || || || || || || || ||%0a%3c || Slrn || || || || || || || ||%0a%3c || tin || || || || || || || ||%0a%3c || Easynews || || || || || || || || %0a%3c || Google Groups || || || || || || || ||%0a%3c || Lotus Notes || || || || || || || ||%0a%3c || MT NewsWatcher || || || || || || || ||%0a%3c || Arachne || || || || || || || ||%0a%3c || Arena || || || || || || || ||%0a%3c || Argo || || || || || || || ||%0a%3c || Beonex Communicator || || || || || || || ||%0a%3c || KNode || || || || || || || ||%0a%3c || SeaMonkey || || || || || || || ||%0a%3c || Spotnet || || || || || || || ||%0a%3c || Unison || || || || || || || ||%0a%3c || MacSoup || || || || || || || ||%0a%3c || Agora || || || || || || || ||%0a---%0a> Alpine%0a> Gnus%0a> Line Mode Browser%0a> Lynx%0a> Mutt%0a> rn%0a> Slrn%0a> tin%0a> Easynews%0a> Google Groups%0a> Lotus Notes%0a> MT NewsWatcher%0a> Arachne%0a> Arena%0a> Argo%0a> Beonex Communicator%0a> KNode%0a> SeaMonkey%0a> Spotnet%0a> Unison%0a> MacSoup%0a> Agora%0a +host:1628990050=198.251.81.133 +author:1628605885=mkf +diff:1628605885:1628605803:=29c29%0a%3c || [[NNTP/Sylpheed|Sylpheed]] || ✓ || || ✓ || || || || GPL ||%0a---%0a> || Sylpheed || || || || || || || || %0a +host:1628605885=86.106.195.23 +author:1628605803=mkf +diff:1628605803:1628605417:=21,22c21,22%0a%3c || [[NNTP/Claws|Claws Mail]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[NNTP/Evolution|Evolution]] || || || ✓ || || || || LGPLv2 ||%0a---%0a> || Claws Mail || || || || || || || ||%0a> || Evolution || || || || || || || ||%0a24c24%0a%3c || [[NNTP/Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a---%0a> || Mozilla Thunderbird || || || || || || || ||%0a28c28%0a%3c || [[NNTP/Seamonkey|Seamonkey]] || ✓ || ✓ || ✓ || || || || MPLv2 ||%0a---%0a> || SeaMonkey Mail & Newsgroups || || || || || || || ||%0a43,44c43,44%0a%3c MT NewsWatcher%0a%3c Arachne%0a---%0a> MT NewsWatcher – Mac OS X Universal Binary%0a> Arachne (with aranews.apm package)%0a +host:1628605803=86.106.195.23 +author:1628605417=mkf +csum:1628605417=tables, again. +diff:1628605417:1628605092:=7,30c7,30%0a%3c || [[openbsd/slrn|slrn]] || || || || || || || ||%0a%3c || BinTube || || || || || || || ||%0a%3c || Forté Agent || || || || || || || ||%0a%3c || NewsBin || || || || || || || ||%0a%3c || NewsLazer || || || || || || || ||%0a%3c || NewsLeecher || || || || || || || ||%0a%3c || Novell GroupWise || || || || || || || ||%0a%3c || Turnpike || || || || || || || ||%0a%3c || Unison || || || || || || || ||%0a%3c || Usenet Explorer || || || || || || || ||%0a%3c || Usenet Wire || || || || || || || ||%0a%3c || GrabIt || || || || || || || ||%0a%3c || Opera Mail || || || || || || || ||%0a%3c || Xnews – MS Windows || || || || || || || ||%0a%3c || Claws Mail || || || || || || || ||%0a%3c || Evolution || || || || || || || ||%0a%3c || Gnus || || || || || || || ||%0a%3c || Mozilla Thunderbird || || || || || || || ||%0a%3c || NZBGet || || || || || || || ||%0a%3c || Pan || || || || || || || ||%0a%3c || SABnzbd || || || || || || || ||%0a%3c || SeaMonkey Mail & Newsgroups || || || || || || || ||%0a%3c || Sylpheed || || || || || || || || %0a%3c || X Python Newsreader || || || || || || || ||%0a---%0a> || [[openbsd/slrn|slrn]] || ||%0a> || BinTube || || %0a> || Forté Agent || ||%0a> || NewsBin || || %0a> || NewsLazer ||||%0a> || NewsLeecher ||%0a> || Novell GroupWise ||%0a> || Turnpike ||%0a> || Unison ||%0a> || Usenet Explorer ||%0a> || Usenet Wire ||%0a> || GrabIt ||%0a> || Opera Mail ||%0a> || Xnews – MS Windows ||%0a> || Claws Mail ||%0a> || GNOME Evolution ||%0a> || Gnus || %0a> || Mozilla Thunderbird ||%0a> || NZBGet || %0a> || Pan ||%0a> || SABnzbd ||%0a> || SeaMonkey Mail & Newsgroups || %0a> || Sylpheed || %0a> || X Python Newsreader ||%0a +host:1628605417=86.106.195.23 +author:1628605092=mkf +csum:1628605092=No supported version of windows have a built-in mail program with nntp support +diff:1628605092:1628605007:=42a43,45%0a> Netscape Communicator%0a> Windows Mail%0a> Windows Live Mail%0a54c57%0a%3c %0a---%0a> Pine%0a +host:1628605092=86.106.195.23 +author:1628605007=mkf +diff:1628605007:1628604744:=4d3%0a%3c %0a6,11c5,8%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[openbsd/slrn|slrn]] || ||%0a%3c || BinTube || || %0a%3c || Forté Agent || ||%0a%3c || NewsBin || || %0a%3c || NewsLazer ||||%0a---%0a> || [[openbsd/slrn|slrn]] ||%0a> || Forté Agent ||%0a> || NewsBin ||%0a> || NewsLazer ||%0a14d10%0a%3c || Turnpike ||%0a17,18d12%0a%3c || Usenet Wire ||%0a%3c || GrabIt ||%0a23c17%0a%3c || Gnus || %0a---%0a> || Gnus ||%0a25c19%0a%3c || NZBGet || %0a---%0a> || NZBGet ||%0a28,29c22,23%0a%3c || SeaMonkey Mail & Newsgroups || %0a%3c || Sylpheed || %0a---%0a> || SeaMonkey Mail & Newsgroups ||%0a> || Sylpheed ||%0a31d24%0a%3c %0a56,57c49,50%0a%3c Agora%0a%3c Pine%0a---%0a> || Agora%0a> || Pine%0a +host:1628605007=86.106.195.23 +author:1628604744=mkf +diff:1628604744:1628604671:=4d3%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1628604744=86.106.195.23 +author:1628604671=mkf +csum:1628604671=tables. +diff:1628604671:1615815292:=3a4%0a> %0a5,24c6,20%0a%3c || Forté Agent ||%0a%3c || NewsBin ||%0a%3c || NewsLazer ||%0a%3c || NewsLeecher ||%0a%3c || Novell GroupWise ||%0a%3c || Unison ||%0a%3c || Usenet Explorer ||%0a%3c || Opera Mail ||%0a%3c || Xnews – MS Windows ||%0a%3c || Claws Mail ||%0a%3c || GNOME Evolution ||%0a%3c || Gnus ||%0a%3c || Mozilla Thunderbird ||%0a%3c || NZBGet ||%0a%3c || Pan ||%0a%3c || SABnzbd ||%0a%3c || SeaMonkey Mail & Newsgroups ||%0a%3c || Sylpheed ||%0a%3c || X Python Newsreader ||%0a%3c Alpine%0a---%0a> BinTube%0a> Forté Agent%0a> NewsBin%0a> NewsLazer%0a> NewsLeecher%0a> Novell GroupWise%0a> Turnpike%0a> Unison%0a> Usenet Explorer%0a> Usenet Wire%0a> GrabIt%0a> Opera Mail%0a> Xnews – MS Windows%0a> Claws Mail %0a> GNOME Evolution%0a25a22,31%0a> Mozilla Thunderbird%0a> NZBGet%0a> Pan%0a> SABnzbd%0a> SeaMonkey Mail & Newsgroups%0a> Sylpheed%0a> X Python Newsreader%0a> %0a> Alpine%0a> Gnus%0a48,49c54,55%0a%3c || Agora%0a%3c || Pine%0a---%0a> Agora%0a> Pine%0a +host:1628604671=86.106.195.23 +author:1615815292=jrmu +diff:1615815292:1615815223:=3c3%0a%3c %25lfloat width=300px%25 Attach:Marketing/freepress.png%0a---%0a> %25rfloat width=300px%25 Attach:Marketing/freepress.png%0a +host:1615815292=198.251.81.119 +author:1615815223=jrmu +diff:1615815223:1615815046:= +host:1615815223=198.251.81.119 +author:1615815046=jrmu +diff:1615815046:1615814967:=3c3%0a%3c %25rfloat width=300px%25 Attach:Marketing/freepress.png%0a---%0a> Attach:Marketing/freepress.png%0a +host:1615815046=198.251.81.119 +author:1615814967=jrmu +diff:1615814967:1615363392:=3c3%0a%3c Attach:Marketing/freepress.png%0a---%0a> Attach:Marketing/gazette.jpg%0a +host:1615814967=198.251.81.119 +author:1615363392=jrmu +diff:1615363392:1614777377:=55,57c55%0a%3c Pine%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=NewsNow.NewsNow%0a\ No newline at end of file%0a---%0a> Pine%0a\ No newline at end of file%0a +host:1615363392=198.251.81.119 +author:1614777377=jrmu +diff:1614777377:1613791623:=5c5%0a%3c || [[openbsd/slrn|slrn]] ||%0a---%0a> %0a +host:1614777377=198.251.81.119 +author:1613791623=jrmu +diff:1613791623:1612885394:=5,55c5,6%0a%3c %0a%3c BinTube%0a%3c Forté Agent%0a%3c NewsBin%0a%3c NewsLazer%0a%3c NewsLeecher%0a%3c Novell GroupWise%0a%3c Turnpike%0a%3c Unison%0a%3c Usenet Explorer%0a%3c Usenet Wire%0a%3c GrabIt%0a%3c Opera Mail%0a%3c Xnews – MS Windows%0a%3c Claws Mail %0a%3c GNOME Evolution%0a%3c Gnus%0a%3c Mozilla Thunderbird%0a%3c NZBGet%0a%3c Pan%0a%3c SABnzbd%0a%3c SeaMonkey Mail & Newsgroups%0a%3c Sylpheed%0a%3c X Python Newsreader%0a%3c %0a%3c Alpine%0a%3c Gnus%0a%3c Line Mode Browser%0a%3c Lynx%0a%3c Mutt%0a%3c rn%0a%3c Slrn%0a%3c tin%0a%3c Easynews%0a%3c Google Groups%0a%3c Lotus Notes%0a%3c Netscape Communicator%0a%3c Windows Mail%0a%3c Windows Live Mail%0a%3c MT NewsWatcher – Mac OS X Universal Binary%0a%3c Arachne (with aranews.apm package)%0a%3c Arena%0a%3c Argo%0a%3c Beonex Communicator%0a%3c KNode%0a%3c SeaMonkey%0a%3c Spotnet%0a%3c Unison%0a%3c MacSoup%0a%3c Agora%0a%3c Pine%0a\ No newline at end of file%0a---%0a> Network news%0a> %0a +host:1613791623=125.231.58.85 +author:1612885394=jrmu +diff:1612885394:1612885358:=3c3%0a%3c Attach:Marketing/gazette.jpg%0a---%0a> Attach:Marketing/gazette.png%0a +host:1612885394=198.251.81.119 +author:1612885358=jrmu +diff:1612885358:1612873612:=3,6c3%0a%3c Attach:Marketing/gazette.png%0a%3c %0a%3c Network news%0a%3c %0a---%0a> Network news%0a\ No newline at end of file%0a +host:1612885358=198.251.81.119 +author:1612873612=jrmu +diff:1612873612:1612873612:=1,3d0%0a%3c (:title The Gazette Network News:)%0a%3c %0a%3c Network news%0a\ No newline at end of file%0a +host:1612873612=125.231.27.112 blob - /dev/null blob + 378f9db815bbd7044532ec2f518ae27b4fb2492c (mode 644) --- /dev/null +++ wiki.d/Gazette.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1612873612 +host=198.251.81.133 +name=Gazette.RecentChanges +rev=18 +text=* [[Gazette/Gazette]] . . . August 15, 2021, at 01:14 AM by [[~mkf]]: [=a bit polishing=]%0a +time=1628990050 blob - /dev/null blob + f3b7f06df6add4497646fc0679d7903aeca477f2 (mode 644) --- /dev/null +++ wiki.d/Gnus.Connect @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 +author=hydragyrum +charset=UTF-8 +csum= +ctime=1635554851 +host=76.178.24.7 +name=Gnus.Connect +rev=2 +targets= +text=[++Quickstart++]\\%0aPut the following in your ~/.gnus file, replacing all items in angle brackets with the appropriate text\\%0a[@%0a(setq user-mail-address "%3cemail address>"%0a user-full-name "%3cfull name>")%0a%0a(setq gnus-select-method%0a '(nnimap "%3cmail server name>"%0a (nnimap-address "imap.%3cserver domain>")%0a (nnimap-server-port "imaps")%0a (nnimap-stream ssl)))%0a%0a(setq smtpmail-smtp-server "smtp.%3cserver domain>"%0a smtpmail-smtp-service 587%0a gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")%0a@]\\%0aPut the following in your ~/.authinfo file or better yet, in ~/.authinfo.gpg which will be automatically encrypted with GnuPG \\%0a(see GnusAuthinfo and GnusEncryptedAuthInfo, as well as the ‘auth’ info node in emacs using [@C-h i d m auth RET@]),\\%0areplacing %3cUSER> with your email address and replacing %3cPASSWORD> with your application-specific password\\%0a[@%0amachine imap.gmail.com login %3cUSER> password %3cPASSWORD> port imaps%0amachine smtp.gmail.com login %3cUSER> password %3cPASSWORD> port 587%0a@]%0a%0aRun ‘M-x gnus’ and enjoy.%0a\\%0aSome content on this page was derived from [[https://www.emacswiki.org/emacs/GnusGmail | Emacs Wiki]] used under CC-SA license\\%0aThe Gnus manual may be found at [[http://gnus.org]] +time=1635557527 +author:1635557527=hydragyrum +diff:1635557527:1635554851:=27,28c27%0a%3c Some content on this page was derived from [[https://www.emacswiki.org/emacs/GnusGmail | Emacs Wiki]] used under CC-SA license\\%0a%3c The Gnus manual may be found at [[http://gnus.org]]%0a\ No newline at end of file%0a---%0a> Some content on this page was derived from [[https://www.emacswiki.org/emacs/GnusGmail | Emacs Wiki]] used under CC-SA license%0a\ No newline at end of file%0a +host:1635557527=76.178.24.7 +author:1635554851=hydragyrum +diff:1635554851:1635554851:=1,27d0%0a%3c [++Quickstart++]\\%0a%3c Put the following in your ~/.gnus file, replacing all items in angle brackets with the appropriate text\\%0a%3c [@%0a%3c (setq user-mail-address "%3cemail address>"%0a%3c user-full-name "%3cfull name>")%0a%3c %0a%3c (setq gnus-select-method%0a%3c '(nnimap "%3cmail server name>"%0a%3c (nnimap-address "imap.%3cserver domain>")%0a%3c (nnimap-server-port "imaps")%0a%3c (nnimap-stream ssl)))%0a%3c %0a%3c (setq smtpmail-smtp-server "smtp.%3cserver domain>"%0a%3c smtpmail-smtp-service 587%0a%3c gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")%0a%3c @]\\%0a%3c Put the following in your ~/.authinfo file or better yet, in ~/.authinfo.gpg which will be automatically encrypted with GnuPG \\%0a%3c (see GnusAuthinfo and GnusEncryptedAuthInfo, as well as the ‘auth’ info node in emacs using [@C-h i d m auth RET@]),\\%0a%3c replacing %3cUSER> with your email address and replacing %3cPASSWORD> with your application-specific password\\%0a%3c [@%0a%3c machine imap.gmail.com login %3cUSER> password %3cPASSWORD> port imaps%0a%3c machine smtp.gmail.com login %3cUSER> password %3cPASSWORD> port 587%0a%3c @]%0a%3c %0a%3c Run ‘M-x gnus’ and enjoy.%0a%3c \\%0a%3c Some content on this page was derived from [[https://www.emacswiki.org/emacs/GnusGmail | Emacs Wiki]] used under CC-SA license%0a\ No newline at end of file%0a +host:1635554851=76.178.24.7 blob - /dev/null blob + b49a49fb603d8f35205b11d804d7362e9b408859 (mode 644) --- /dev/null +++ wiki.d/Gnus.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 +charset=UTF-8 +ctime=1635554851 +host=76.178.24.7 +name=Gnus.RecentChanges +rev=2 +text=* [[Gnus/Connect]] . . . October 30, 2021, at 01:32 AM by [[~hydragyrum]]: [==]%0a +time=1635557527 blob - /dev/null blob + 5f9515a219ea7a61fbeaf5aed7983490853f9a9a (mode 644) --- /dev/null +++ wiki.d/Gomuks.Install @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=mster.zip might not compile, using packages is better than compiling manually +ctime=1621167627 +host=38.87.162.40 +name=Gomuks.Install +rev=4 +targets= +text=Gomuks is a simple TUI Matrix client written in go, with e2e encryption support.%0a%0ayou can install it from packages or compile it from source ( not recommended.)%0a!!! Installing from source%0a[@%0a$ doas pkg_add gomuks%0a@]%0a%0a!!! Building from source%0a[@%0a$ doas pkg_add go olm%0a$ ftp https://github.com/tulir/gomuks/archive/refs/tags/v0.2.3.tar.gz%0a$ tar xzf v0.2.3.tar.gz%0a$ cd gomuks-0.2.3/%0a$ export CGO_ENABLED=0%0a$ go build%0a@]%0a +time=1628591179 +author:1628591179=mkf +csum:1628591179=mster.zip might not compile, using packages is better than compiling manually +diff:1628591179:1621167965:=1,4d0%0a%3c Gomuks is a simple TUI Matrix client written in go, with e2e encryption support.%0a%3c %0a%3c you can install it from packages or compile it from source ( not recommended.)%0a%3c !!! Installing from source%0a6,10d1%0a%3c $ doas pkg_add gomuks%0a%3c @]%0a%3c %0a%3c !!! Building from source%0a%3c [@%0a12,14c3,5%0a%3c $ ftp https://github.com/tulir/gomuks/archive/refs/tags/v0.2.3.tar.gz%0a%3c $ tar xzf v0.2.3.tar.gz%0a%3c $ cd gomuks-0.2.3/%0a---%0a> $ ftp https://github.com/tulir/gomuks/archive/refs/heads/master.zip%0a> $ unzip master.zip%0a> $ cd gomuks-master/%0a +host:1628591179=38.87.162.40 +author:1621167965=jrmu +diff:1621167965:1621167931:=1d0%0a%3c [@%0a8d6%0a%3c @]%0a +host:1621167965=38.81.163.143 +author:1621167931=jrmu +diff:1621167931:1621167627:=5,6d4%0a%3c $ export CGO_ENABLED=0%0a%3c $ go build%0a +host:1621167931=38.81.163.143 +author:1621167627=jrmu +diff:1621167627:1621167627:=1,4d0%0a%3c $ doas pkg_add go olm%0a%3c $ ftp https://github.com/tulir/gomuks/archive/refs/heads/master.zip%0a%3c $ unzip master.zip%0a%3c $ cd gomuks-master/%0a +host:1621167627=38.81.163.143 blob - /dev/null blob + e4d6d60d9a005820051c9ac206798740a013365b (mode 644) --- /dev/null +++ wiki.d/Gomuks.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1621167627 +host=38.87.162.40 +name=Gomuks.RecentChanges +rev=4 +text=* [[Gomuks/Install]] . . . August 10, 2021, at 10:26 AM by [[~mkf]]: [=mster.zip might not compile, using packages is better than compiling manually=]%0a +time=1628591179 blob - /dev/null blob + 53367de3d0cc878e42127bd4cb0761ce1035b5d1 (mode 644) --- /dev/null +++ wiki.d/Got.Mirror @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1636305731 +host=38.87.162.47 +name=Got.Mirror +rev=1 +targets= +text=(:title got mirror:)%0a%0a!! Create a mirror%0a%0aTo create a cloned mirror of a repository:%0a%0a[@%0a$ got clone -m git://example.com/repo.git%0a@]%0a%0a'''WARNING''': With a cloned repository, new fetches will%0acause any custom changes to get discarded.%0a +time=1636305731 +title=got mirror +author:1636305731=jrmu +diff:1636305731:1636305731:=1,12d0%0a%3c (:title got mirror:)%0a%3c %0a%3c !! Create a mirror%0a%3c %0a%3c To create a cloned mirror of a repository:%0a%3c %0a%3c [@%0a%3c $ got clone -m git://example.com/repo.git%0a%3c @]%0a%3c %0a%3c '''WARNING''': With a cloned repository, new fetches will%0a%3c cause any custom changes to get discarded.%0a +host:1636305731=38.87.162.47 blob - /dev/null blob + 37c09b1d4e5d6e89e58431fa600ca66d56364056 (mode 644) --- /dev/null +++ wiki.d/Got.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1636298220 +host=198.251.82.194 +name=Got.RecentChanges +rev=99 +text=* [[Got/Server]] . . . December 17, 2021, at 01:45 PM by [[~jrmu]]: [==]%0a* [[Got/Repo]] . . . December 17, 2021, at 04:26 AM by [[~jrmu]]: [==]%0a* [[Got/Usage]] . . . November 14, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Got/Mirror]] . . . November 07, 2021, at 05:22 PM by [[~jrmu]]: [==]%0a +time=1639748738 blob - /dev/null blob + 620a01b44f3147a5b280c667ef1ca72401778547 (mode 644) --- /dev/null +++ wiki.d/Got.Repo @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1639669108 +host=38.87.162.47 +name=Got.Repo +rev=11 +targets=Got.Usage,Git.Usage,Gotweb.Install +text=(:title Create Got Repo:)%0a%0aThis guide explains how to create a got repository. It%0aassumes you have already read the [[got/usage|got usage guide]].%0a%0a!! Create commit group%0a%0aFirst, you may want to create a new group with commit rights:%0a%0a[@%0a$ doas groupadd commit%0a@]%0a%0aFor each existing user you want to give commit rights to:%0a%0a[@%0a$ doas usermod -G commit $USER%0a@]%0a%0aFor each new user you want to create with commit rights:%0a%0a[@%0a$ doas useradd -G commit $USER%0a@]%0a%0aReplace $USER with the committer's user's name.%0a%0a!! Create got directory%0a%0aWe are going to place the repo in /var/git:%0a%0a[@%0a$ doas mkdir /var/git%0a$ doas chown -R $USER:commit /var/git%0a$ cd /var/git%0a@]%0a%0aNext, you can either clone a repo or create a new one:%0a%0a!!! Clone Repo%0a%0aTo clone a repo without encryption ('''WARNING''': insecure):%0a%0a[@%0a$ got clone git://example.com/repo.git%0a@]%0a%0aReplace @@example.com/repo.git@@ with your actual path.%0a%0aHTTP URLs currently requires [[git/usage|git]]:%0a%0a[@%0a$ git clone https://example.com/repo.git%0a@]%0a%0a!!! Create Repo%0a%0aTo create an empty repository:%0a%0a[@%0a$ got init /var/git/project%0a@]%0a%0aReplace @@project@@ with your actual repo name. For example:%0a%0aAfterwards, we need to import the code for the repository:%0a%0a[@%0a$ got import -m "Import sources" -r /var/git/project /path/to/code%0a@]%0a%0a* @@-m@@ provides the log message for the import.%0a* @@-r@@ provides the repository path.%0a%0aReplace @@project@@ and @@/path/to/code@@. For example:%0a%0a[@%0a$ got import -m "Import sources" -r /var/git/ircnowd ~/ngircd%0a@]%0a%0aThis will import the code from @@ngircd@@ into @@ircnowd@@%0a.%0a%0a!!! Allow commit access%0a%0aMake sure to set the proper permissions to allow commit access:%0a%0a[@%0a$ doas chown -R $USER:commit /var/git/project%0a$ doas chmod -R g+w $user:commit /var/git/project%0a@]%0a%0a!! Checkout code%0a%0aTo checkout the code:%0a%0a[@%0a$ cd ~%0a$ mkdir ~/project%0a$ got checkout /var/git/project%0a@]%0a%0a!! Commit code%0a%0aTo commit changes in a work tree:%0a%0a[@%0a$ got -m "Commit message" commit%0a@]%0a%0aReplace @@Commit message@@ with a commit message.%0a%0aSee Also:%0a%0a[[Gotweb/Install|Install Gotweb]]%0a[[Got/Usage|Got usage]]%0a +time=1639715196 +title=Create Got Repo +author:1639715196=jrmu +diff:1639715196:1639708305:= +host:1639715196=38.87.162.47 +author:1639708305=jrmu +diff:1639708305:1639708072:=103,106c103,110%0a%3c !! Commit code%0a%3c %0a%3c To commit changes in a work tree:%0a%3c %0a---%0a> !! Optional: Prevent Shell Access%0a> %0a> '''Optional''': If your server is not used to provide shell accounts,%0a> and all users who connect via ssh are admins, you can add the following to%0a> prevent committers from having shell access:%0a> %0a> First, we create @@/usr/bin/cvs-login.sh@@:%0a> %0a108c112,114%0a%3c $ got -m "Commit message" commit%0a---%0a> #!/bin/sh%0a> %0a> exec /usr/bin/cvs server%0a111c117,152%0a%3c Replace @@Commit message@@ with a commit message.%0a---%0a> This simple shell script will be used as the login shell. Any time a committer%0a> logs in, cvs will immediately be called.%0a> %0a> We set it to be executable:%0a> %0a> [@%0a> $ doas chown root:wheel /usr/bin/cvs-login.sh%0a> $ doas chmod +x /usr/bin/cvs-login.sh%0a> @]%0a> %0a> Next, edit @@/etc/ssh/sshd_config@@:%0a> %0a> [@%0a> Match Group commit,!wheel%0a> AllowAgentForwarding no%0a> AllowStreamLocalForwarding no%0a> DisableForwarding yes%0a> PermitListen none%0a> PermitOpen none%0a> PermitTunnel no%0a> PermitUserRC no%0a> X11Forwarding no%0a> AllowTcpForwarding no%0a> PermitTTY no%0a> ForceCommand "/usr/bin/cvs-login.sh"%0a> @]%0a> %0a> This will force all users in the commit group who are not in wheel (not%0a> administrators) to use /usr/bin/cvs-login.sh. Committers therefore never%0a> get shell access; they only get cvs access%0a> %0a> Restart sshd to apply changes:%0a> %0a> [@%0a> $ doas rcctl restart sshd%0a> @]%0a +host:1639708305=38.87.162.47 +author:1639708072=jrmu +diff:1639708072:1639707095:=61c61%0a%3c $ got init /var/git/project%0a---%0a> $ got init /var/git/repository%0a64,65c64,65%0a%3c Replace @@project@@ with your actual repo name. For example:%0a%3c %0a---%0a> Replace @@repository@@ with your actual repo name. For example:%0a> %0a69c69%0a%3c $ got import -m "Import sources" -r /var/git/project /path/to/code%0a---%0a> $ got import -m "Import sources" -r /var/git/repository /path/to/code%0a75,76c75,76%0a%3c Replace @@project@@ and @@/path/to/code@@. For example:%0a%3c %0a---%0a> Replace @@repository@@ and @@/path/to/code@@. For example:%0a> %0a84,87c84,89%0a%3c !!! Allow commit access%0a%3c %0a%3c Make sure to set the proper permissions to allow commit access:%0a%3c %0a---%0a> !! Setting CVSROOT%0a> %0a> Before we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a> %0a> You can set it for just the current shell:%0a> %0a89,90c91%0a%3c $ doas chown -R $USER:commit /var/git/project%0a%3c $ doas chmod -R g+w $user:commit /var/git/project%0a---%0a> $ export CVSROOT=/path/to/CVS%0a93,96c94,95%0a%3c !! Checkout code%0a%3c %0a%3c To checkout the code:%0a%3c %0a---%0a> Replace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a> %0a98,100c97,196%0a%3c $ cd ~%0a%3c $ mkdir ~/project%0a%3c $ got checkout /var/git/project%0a---%0a> $ export CVSROOT=/CVS%0a> @]%0a> %0a> As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a> %0a> [@%0a> $ echo 'CVSROOT="/CVS"' >> ~/.profile%0a> @]%0a> %0a> Once CVSROOT is set, log out and log in. From now on, you can omit the -d argument when working with cvs.%0a> %0a> !! Create new repo%0a> %0a> To create a new CVS repository, type:%0a> %0a> [@%0a> $ doas mkdir $CVSROOT%0a> $ doas chown $USER:commit $CVSROOT%0a> $ cvs init%0a> @]%0a> %0a> Replace @@$USER@@ with the maintainer of CVSROOT.%0a> %0a> !! Import New Module%0a> %0a> If you have existing code that you'd like to import to a CVS repository, first change%0a> to the folder containing the source code, then type:%0a> %0a> [@%0a> $ cvs import reponame vendortag releasetag%0a> @]%0a> %0a> Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a> %0a> For example:%0a> %0a> [@%0a> $ cd ~/ircnowd/%0a> $ cvs import ircnowd ircnow start%0a> @]%0a> %0a> '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a> %0a> To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a> %0a> [@%0a> $ cd /path/to/new/directory/%0a> $ cvs checkout -P reponame%0a> @]%0a> %0a> Replace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a> %0a> Change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a> %0a> [@%0a> $ cd reponame%0a> ... work on code ...%0a> $ cvs commit%0a> @]%0a> %0a> For example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a> %0a> [@%0a> $ mkdir ~/code/%0a> $ cd ~/code/%0a> $ cvs checkout -P ircnowd%0a> $ cd ~/code/ircnowd/%0a> ... work on code ...%0a> $ cvs commit%0a> @]%0a> %0a> Now, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a> %0a> If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a> %0a> [@%0a> $ rm -rf ~/ircnowd/%0a> @]%0a> %0a> !! Granting commit access%0a> %0a> You will want to change group ownership and provide group write permissions:%0a> %0a> [@%0a> $ doas chown -R $USER:commit $CVSROOT%0a> $ doas chmod -R g+w $CVSROOT%0a> @]%0a> %0a> A sample directory should look like this:%0a> %0a> [@%0a> # ls -lha /CVS%0a> total 28%0a> drwxr-xr-x 7 jrmu commit 512B Oct 9 06:19 .%0a> drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a> drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a> drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a> drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a> drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a> drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a +host:1639708072=38.87.162.47 +author:1639707095=jrmu +diff:1639707095:1639706559:= +host:1639707095=38.87.162.47 +author:1639706559=jrmu +diff:1639706559:1639706410:=61c61%0a%3c $ got init /var/git/repository%0a---%0a> $ got init /var/git/reponame%0a64,67c64,65%0a%3c Replace @@repository@@ with your actual repo name. For example:%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a---%0a> Replace @@reponame@@ with your actual repo name. For example:%0a> %0a69c67%0a%3c $ got import -m "Import sources" -r /var/git/repository /path/to/code%0a---%0a> $ got init ~/ircnowd.git%0a71a70,77%0a> This will create a got repo called ircnowd.%0a> %0a> Afterwards, we need to import the code for the repository:%0a> %0a> [@%0a> $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a> @]%0a> %0a75,76c81,82%0a%3c Replace @@repository@@ and @@/path/to/code@@. For example:%0a%3c %0a---%0a> Replace @@/path/to/repository@@ and @@/path/to/code@@. For example:%0a> %0a78c84%0a%3c $ got import -m "Import sources" -r /var/git/ircnowd ~/ngircd%0a---%0a> $ got import -m "Import sources" -r ~/ircnowd.git ~/ngircd%0a81c87%0a%3c This will import the code from @@ngircd@@ into @@ircnowd@@%0a---%0a> This will import the code from @@ngircd@@ into @@ircnowd.git@@%0a +host:1639706559=38.87.162.47 +author:1639706410=jrmu +diff:1639706410:1639706222:= +host:1639706410=38.87.162.47 +author:1639706222=jrmu +diff:1639706222:1639705382:=34c34%0a%3c $ doas chown -R $USER:commit /var/git%0a---%0a> $ doas chown $USER:commit /var/git%0a38,39d37%0a%3c Next, you can either clone a repo or create a new one:%0a%3c %0a61c59%0a%3c $ got init /var/git/reponame%0a---%0a> $ got init /path/to/repository%0a64c62%0a%3c Replace @@reponame@@ with your actual repo name. For example:%0a---%0a> Replace @@/path/to/repository@@. For example:%0a +host:1639706222=38.87.162.47 +author:1639705382=jrmu +diff:1639705382:1639704798:=27,86d26%0a%3c %0a%3c !! Create got directory%0a%3c %0a%3c We are going to place the repo in /var/git:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /var/git%0a%3c $ doas chown $USER:commit /var/git%0a%3c $ cd /var/git%0a%3c @]%0a%3c %0a%3c !!! Clone Repo%0a%3c %0a%3c To clone a repo without encryption ('''WARNING''': insecure):%0a%3c %0a%3c [@%0a%3c $ got clone git://example.com/repo.git%0a%3c @]%0a%3c %0a%3c Replace @@example.com/repo.git@@ with your actual path.%0a%3c %0a%3c HTTP URLs currently requires [[git/usage|git]]:%0a%3c %0a%3c [@%0a%3c $ git clone https://example.com/repo.git%0a%3c @]%0a%3c %0a%3c !!! Create Repo%0a%3c %0a%3c To create an empty repository:%0a%3c %0a%3c [@%0a%3c $ got init /path/to/repository%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/repository@@. For example:%0a%3c %0a%3c [@%0a%3c $ got init ~/ircnowd.git%0a%3c @]%0a%3c %0a%3c This will create a got repo called ircnowd.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a%3c @]%0a%3c %0a%3c * @@-m@@ provides the log message for the import.%0a%3c * @@-r@@ provides the repository path.%0a%3c %0a%3c Replace @@/path/to/repository@@ and @@/path/to/code@@. For example:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import sources" -r ~/ircnowd.git ~/ngircd%0a%3c @]%0a%3c %0a%3c This will import the code from @@ngircd@@ into @@ircnowd.git@@%0a%3c .%0a +host:1639705382=38.87.162.47 +author:1639704798=jrmu +diff:1639704798:1639669155:minor=3,4c3%0a%3c This guide explains how to create a got repository. It%0a%3c assumes you have already read the [[got/usage|got usage guide]].%0a---%0a> This guide explains how to create a got repository.%0a +host:1639704798=38.87.162.47 +author:1639669155=jrmu +diff:1639669155:1639669108:minor=195,196c195,197%0a%3c [[Gotweb/Install|Install Gotweb]]%0a%3c [[Got/Usage|Got usage]]%0a---%0a> [[Cvs/Anoncvs|Anoncvs Guide]]%0a> [[Cvs/Cvsweb|Cvsweb Guide]]%0a> [[Cvs/Intro|CVS Intro]]%0a +host:1639669155=38.87.162.47 +author:1639669108=jrmu +diff:1639669108:1639669108:=1,197d0%0a%3c (:title Create Got Repo:)%0a%3c %0a%3c This guide explains how to create a got repository.%0a%3c %0a%3c !! Create commit group%0a%3c %0a%3c First, you may want to create a new group with commit rights:%0a%3c %0a%3c [@%0a%3c $ doas groupadd commit%0a%3c @]%0a%3c %0a%3c For each existing user you want to give commit rights to:%0a%3c %0a%3c [@%0a%3c $ doas usermod -G commit $USER%0a%3c @]%0a%3c %0a%3c For each new user you want to create with commit rights:%0a%3c %0a%3c [@%0a%3c $ doas useradd -G commit $USER%0a%3c @]%0a%3c %0a%3c Replace $USER with the committer's user's name.%0a%3c %0a%3c !! Setting CVSROOT%0a%3c %0a%3c Before we begin, decide where you want the CVS files to be located. You will want to set CVSROOT.%0a%3c %0a%3c You can set it for just the current shell:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT=/path/to/CVS%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/CVS@@ with the actual directory. /CVS is recommended:%0a%3c %0a%3c [@%0a%3c $ export CVSROOT=/CVS%0a%3c @]%0a%3c %0a%3c As a shortcut, you can add this to the bottom of your ~/.profile so you don't have to type it each time:%0a%3c %0a%3c [@%0a%3c $ echo 'CVSROOT="/CVS"' >> ~/.profile%0a%3c @]%0a%3c %0a%3c Once CVSROOT is set, log out and log in. From now on, you can omit the -d argument when working with cvs.%0a%3c %0a%3c !! Create new repo%0a%3c %0a%3c To create a new CVS repository, type:%0a%3c %0a%3c [@%0a%3c $ doas mkdir $CVSROOT%0a%3c $ doas chown $USER:commit $CVSROOT%0a%3c $ cvs init%0a%3c @]%0a%3c %0a%3c Replace @@$USER@@ with the maintainer of CVSROOT.%0a%3c %0a%3c !! Import New Module%0a%3c %0a%3c If you have existing code that you'd like to import to a CVS repository, first change%0a%3c to the folder containing the source code, then type:%0a%3c %0a%3c [@%0a%3c $ cvs import reponame vendortag releasetag%0a%3c @]%0a%3c %0a%3c Replace @@reponame@@, @@vendortag@@, and @@releasetag@@. CVS will put the source files inside a directory named @@reponame@@ inside the CVS root directory. @@vendortag@@ should be replaced with the vendor (the author) of the repository. @@releasetag@@ is the tag for the specific release.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ircnowd/%0a%3c $ cvs import ircnowd ircnow start%0a%3c @]%0a%3c %0a%3c '''Note''': CVS does not automatically transform the imported source code into a working directory. As a result, any changes you make to the original source code directory cannot be committed to the CVS repo.%0a%3c %0a%3c To fix this, you will need to checkout the source code. Change your directory to somewhere else to place the new working directory, then type:%0a%3c %0a%3c [@%0a%3c $ cd /path/to/new/directory/%0a%3c $ cvs checkout -P reponame%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/new/directory/@@ with the directory you want the working directory to be in. Then, replace @@reponame@@ with the repository name.%0a%3c %0a%3c Change directory to @@reponame@@ to make changes. Afterwards, use cvs to commit them:%0a%3c %0a%3c [@%0a%3c $ cd reponame%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c For example, suppose you create a new folder for working directories ~/code/ and then checkout the working directory for ircnowd:%0a%3c %0a%3c [@%0a%3c $ mkdir ~/code/%0a%3c $ cd ~/code/%0a%3c $ cvs checkout -P ircnowd%0a%3c $ cd ~/code/ircnowd/%0a%3c ... work on code ...%0a%3c $ cvs commit%0a%3c @]%0a%3c %0a%3c Now, ~/code/ircnowd will have the working directory for ircnowd. CVS will track changes so that you can commit changes to the CVS repo.%0a%3c %0a%3c If checkout works properly, you can safely delete the old source code directory you imported from (since that one is not tracked by CVS).%0a%3c %0a%3c [@%0a%3c $ rm -rf ~/ircnowd/%0a%3c @]%0a%3c %0a%3c !! Granting commit access%0a%3c %0a%3c You will want to change group ownership and provide group write permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R $USER:commit $CVSROOT%0a%3c $ doas chmod -R g+w $CVSROOT%0a%3c @]%0a%3c %0a%3c A sample directory should look like this:%0a%3c %0a%3c [@%0a%3c # ls -lha /CVS%0a%3c total 28%0a%3c drwxr-xr-x 7 jrmu commit 512B Oct 9 06:19 .%0a%3c drwxr-xr-x 10 root wheel 512B Oct 9 06:10 ..%0a%3c drwxrwxr-x 3 jrmu commit 1.0K Apr 29 06:48 CVSROOT%0a%3c drwxrwxr-x 9 jrmu commit 512B May 8 11:42 acopm%0a%3c drwxrwxr-x 2 jrmu commit 1.0K Aug 26 04:17 botnow%0a%3c drwxrwxr-x 8 jrmu commit 512B May 27 16:57 brogue-ce%0a%3c drwxrwxr-x 6 jrmu commit 512B May 7 06:46 ircnowd%0a%3c @]%0a%3c %0a%3c !! Optional: Prevent Shell Access%0a%3c %0a%3c '''Optional''': If your server is not used to provide shell accounts,%0a%3c and all users who connect via ssh are admins, you can add the following to%0a%3c prevent committers from having shell access:%0a%3c %0a%3c First, we create @@/usr/bin/cvs-login.sh@@:%0a%3c %0a%3c [@%0a%3c #!/bin/sh%0a%3c %0a%3c exec /usr/bin/cvs server%0a%3c @]%0a%3c %0a%3c This simple shell script will be used as the login shell. Any time a committer%0a%3c logs in, cvs will immediately be called.%0a%3c %0a%3c We set it to be executable:%0a%3c %0a%3c [@%0a%3c $ doas chown root:wheel /usr/bin/cvs-login.sh%0a%3c $ doas chmod +x /usr/bin/cvs-login.sh%0a%3c @]%0a%3c %0a%3c Next, edit @@/etc/ssh/sshd_config@@:%0a%3c %0a%3c [@%0a%3c Match Group commit,!wheel%0a%3c AllowAgentForwarding no%0a%3c AllowStreamLocalForwarding no%0a%3c DisableForwarding yes%0a%3c PermitListen none%0a%3c PermitOpen none%0a%3c PermitTunnel no%0a%3c PermitUserRC no%0a%3c X11Forwarding no%0a%3c AllowTcpForwarding no%0a%3c PermitTTY no%0a%3c ForceCommand "/usr/bin/cvs-login.sh"%0a%3c @]%0a%3c %0a%3c This will force all users in the commit group who are not in wheel (not%0a%3c administrators) to use /usr/bin/cvs-login.sh. Committers therefore never%0a%3c get shell access; they only get cvs access%0a%3c %0a%3c Restart sshd to apply changes:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart sshd%0a%3c @]%0a%3c %0a%3c See Also:%0a%3c %0a%3c [[Cvs/Anoncvs|Anoncvs Guide]]%0a%3c [[Cvs/Cvsweb|Cvsweb Guide]]%0a%3c [[Cvs/Intro|CVS Intro]]%0a +host:1639669108=38.87.162.47 blob - /dev/null blob + c7b2d10c946dba862239cadaba72b7acf749c886 (mode 644) --- /dev/null +++ wiki.d/Got.Server @@ -0,0 +1,48 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1639715719 +host=198.251.82.194 +name=Got.Server +rev=12 +targets=Cvs.Repo,Cvs.Cvsweb,Cvs.Intro +text=Currently, got lacks its own server, so you'll need git:%0a%0a[@%0a$ doas pkg_add git%0a@]%0a%0a[@%0a$ doas -u _gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a$ doas crontab -e -u _gitdaemon%0a*/5 * * * * git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a@]%0a%0aNow it is possible to clone:%0a%0a[@%0a$ git clone git://example.com/project%0a@]%0a%0aReplace @@example.com@@ with your domain and @@project@@ with the repo name.%0a%0a[[Cvs/repo|CVS repo Guide]]%0a[[Cvs/Cvsweb|Cvsweb Guide]]%0a[[Cvs/Intro|CVS Intro]]%0a +time=1639748738 +author:1639748738=jrmu +diff:1639748738:1639734263:=9,10c9%0a%3c $ doas crontab -e -u _gitdaemon%0a%3c */5 * * * * git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a---%0a> $ echo '*/5 * * * * git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' | doas crontab -u _gitdaemon -%0a +host:1639748738=198.251.82.194 +author:1639734263=jrmu +diff:1639734263:1639734020:=9c9%0a%3c $ echo '*/5 * * * * git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' | doas crontab -u _gitdaemon -%0a---%0a> $ echo '_gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' | doas crontab -u _gitdaemon -%0a +host:1639734263=198.251.82.194 +author:1639734020=jrmu +diff:1639734020:1639733848:=9c9%0a%3c $ echo '_gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' | doas crontab -u _gitdaemon -%0a---%0a> $ doas -u _gitdaemon sh -c "echo '_gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' >> /var/cron/tabs/_gitdaemon"%0a +host:1639734020=198.251.82.194 +author:1639733848=jrmu +diff:1639733848:1639722476:=9d8%0a%3c $ doas -u _gitdaemon sh -c "echo '_gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/' >> /var/cron/tabs/_gitdaemon"%0a +host:1639733848=198.251.82.194 +author:1639722476=jrmu +diff:1639722476:1639720813:=10,17d9%0a%3c %0a%3c Now it is possible to clone:%0a%3c %0a%3c [@%0a%3c $ git clone git://example.com/project%0a%3c @]%0a%3c %0a%3c Replace @@example.com@@ with your domain and @@project@@ with the repo name.%0a +host:1639722476=38.87.162.8 +author:1639720813=jrmu +diff:1639720813:1639720451:=8c8%0a%3c $ doas -u _gitdaemon git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a---%0a> $ doas -u _gitdaemon git "git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/"%0a +host:1639720813=38.87.162.47 +author:1639720451=jrmu +diff:1639720451:1639720384:=8c8,10%0a%3c $ doas -u _gitdaemon git "git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/"%0a---%0a> $ doas useradd -d /var/git -s /sbin/nologin git%0a> $ doas su git%0a> $ doas -u git "git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/"%0a +host:1639720451=38.87.162.47 +author:1639720384=jrmu +diff:1639720384:1639719876:=8,10c8%0a%3c $ doas useradd -d /var/git -s /sbin/nologin git%0a%3c $ doas su git%0a%3c $ doas -u git "git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/"%0a---%0a> $ git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a12,15d9%0a%3c %0a%3c [[Cvs/repo|CVS repo Guide]]%0a%3c [[Cvs/Cvsweb|Cvsweb Guide]]%0a%3c [[Cvs/Intro|CVS Intro]]%0a +host:1639720384=38.87.162.47 +author:1639719876=jrmu +diff:1639719876:1639719542:= +host:1639719876=38.87.162.47 +author:1639719542=jrmu +diff:1639719542:1639718803:=8c8%0a%3c $ git daemon --base-path=/var/www/got/public/ --verbose --export-all /var/www/got/public/%0a---%0a> $ git daemon --verbose --export-all /var/www/got/public/%0a +host:1639719542=38.87.162.47 +author:1639718803=jrmu +diff:1639718803:1639715719:=7,9d6%0a%3c [@%0a%3c $ git daemon --verbose --export-all /var/www/got/public/%0a%3c @]%0a +host:1639718803=38.87.162.47 +author:1639715719=jrmu +diff:1639715719:1639715719:=1,6d0%0a%3c Currently, got lacks its own server, so you'll need git:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add git%0a%3c @]%0a%3c %0a +host:1639715719=38.87.162.47 blob - /dev/null blob + e3e8b560d95ce0dafb8aea1cca6ec70a0a279064 (mode 644) --- /dev/null +++ wiki.d/Got.Usage @@ -0,0 +1,240 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1636298220 +host=38.87.162.8 +name=Got.Usage +rev=75 +targets=Ksh.Profile,Openbsd.Ed,Ksh.Editor,OpenSSH.Connect,Git.Usage +text=(:title Game of Trees:)%0a%0a[[http://gameoftrees.org|Game of Trees (Got)]] is a simple, easy to use%0aversion control system that aims to be compatible%0awith git repos.%0a%0aIt's still under development, but can be used today%0aas a substitute for git. It is freely reusable under%0aa BSD license.%0a%0a!! Install%0a%0a[@%0a$ doas pkg_add got%0a@]%0a%0a!! Configuring got%0a%0aFirst, we need to tell [[http://gameoftrees.org/got.1.html|got]] about the author of the repo:%0a%0a[@%0a$ export GOT_AUTHOR="username %3cusername@example.com>"%0a@]%0a%0aReplace @@username@@ and @@username@example.com@@. It's recommended to add this as part of your [[ksh/profile|~/.profile]]:%0a%0a[@%0a$ echo 'export GOT_AUTHOR="username %3cusername@example.com>"' >> ~/.profile%0a@]%0a%0aLet's also enable tab-completion of got commands:%0a%0a[@%0a$ echo 'set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)' >> ~/.profile%0a@]%0a%0aBy default, got uses the text editor [[Openbsd/Ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a%0a!! Clone a repository%0a%0aTo clone a repo without encryption ('''WARNING''': insecure):%0a%0a[@%0a$ got clone git://example.com/repo.git%0a@]%0a%0aReplace @@example.com/repo.git@@ with your actual path.%0a%0aFor this guide, we will use the ngircd git repo as an example:%0a%0a[@%0a$ cd ~%0a$ got clone git://github.com/ngircd/ngircd%0a@]%0a%0aTo clone a repo using [[OpenSSH/Connect|ssh]]:%0a%0a[@%0a$ got clone ssh://example.com/repo.git%0a@]%0a%0aFor example, to clone OpenBSD's github repo:%0a%0a[@%0a$ cd /var/git/%0a$ got clone ssh://git@github.com/openbsd/src.git%0a@]%0a%0aHTTP URLs currently requires [[git/usage|git]]:%0a%0a[@%0a$ git clone https://github.com/ngircd/ngircd%0a@]%0a%0a!! Checkout code%0a%0aOnce you have a repository, you must first '''checkout'''%0athe code into a '''work tree''' before you can use it:%0a%0a[@%0a$ got checkout /path/to/repository%0a@]%0a%0aReplace @@/path/to/respository@@.%0a%0aLet's checkout the ngircd code:%0a%0a[@%0a$ cd ~%0a$ got checkout ~/ngircd.git%0a@]%0a%0aYou can check out code from a specific branch or%0acommit with @@-b@@ and @@-c@@:%0a%0a[@%0a$ got checkout -b branch -c commit /path/to/repository%0a@]%0a%0agot creates an ID SHA1 hash for every commit, so replace @@commit@@ with that hash.%0a%0aBefore we can checkout another work tree from ngircd, we must delete the old one:%0a%0a[@%0a$ rm -r ~/ngircd%0a$ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a@]%0a%0aThis will first delete the old work tree, then check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a%0a@@got checkout@@ will show these status codes:%0a%0a|| border=1 width=50%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| A || new file added ||%0a|| E || file already exists ||%0a%0aFor the next step, we will go ahead and delete this work tree, then check out a work tree based on the most recent commit:%0a%0a[@%0a$ rm -r ~/ngircd%0a$ got checkout ~/ngircd.git%0a@]%0a%0a!! Create a new repository%0a%0aTo create an empty repository:%0a%0a[@%0a$ got init /path/to/repository%0a@]%0a%0aReplace @@/path/to/repository@@. For example:%0a%0a[@%0a$ got init ~/ircnowd.git%0a@]%0a%0aThis will create a got repo called ircnowd.%0a%0aAfterwards, we need to import the code for the repository:%0a%0a[@%0a$ got import -m "Import sources" -r /path/to/repository /path/to/code%0a@]%0a%0a* @@-m@@ provides the log message for the import.%0a* @@-r@@ provides the repository path.%0a%0aReplace @@/path/to/repository@@ and @@/path/to/code@@. For example:%0a%0a[@%0a$ got import -m "Import sources" -r ~/ircnowd.git ~/ngircd%0a@]%0a%0aThis will import the code from @@ngircd@@ into @@ircnowd.git@@.%0a%0a!! Fetch new changes%0a%0aTo fetch changes from a remote repo:%0a%0a[@%0a$ got fetch%0a@]%0a%0a!! Add file%0a%0aTo add an unversioned file for the next commit:%0a%0a[@%0a$ got add filename%0a@]%0a%0aReplace @@filename@@. For example:%0a%0a[@%0a$ echo 'print "hello, world"' > ~/ngircd.git/hello.sh%0a$ got add ~/ngircd.git/hello.sh%0a@]%0a%0aIf adding a directory:%0a%0a[@%0a$ got add -R pathname%0a@]%0a%0a@@-R@@ allows recursion. Replace @@pathname@@.%0a%0aLet's add a directory with a file inside @@ngircd.git@@, then begin tracking the directory with got:%0a%0a[@%0a$ mkdir -p ~/ngircd.git/newcode/%0a$ echo 'print "IRCNow and Forever"' > ~/ngircd.git/newcode/ircnow.sh%0a$ got add -R ~/ngircd.git/newcode%0a@]%0a%0a!! Remove file%0a%0aTo remove a versioned file for deletion from the repo in the next commit:%0a%0a[@%0a$ got remove filename%0a@]%0a%0aReplace @@filename@@.%0a%0aLet's remove hello.sh:%0a%0a[@%0a$ got remove ~/ngircd.git/hello.sh%0a@]%0a%0aIf removing a directory:%0a%0a[@%0a$ got remove -R pathname%0a@]%0a%0a@@-R@@ allows recursion. Replace @@pathname@@.%0a%0aLet's remove the @@newcode@@ directory:%0a%0a[@%0a$ got remove -R ~/ngircd.git/newcode/%0a@]%0a%0a!! View changes%0a%0aTo view changes in a work tree:%0a%0a[@%0a$ got diff%0a@]%0a%0aIf you provide two objects, got will show the diff between just those two:%0a%0a[@%0a$ got diff object1 object2%0a@]%0a%0aReplace @@object1@@ and @@object@@ with the ID SHA1 hash.%0aFor example:%0a%0a[@%0a$ got diff ab0eb099e9c0ed60d25fb50dd78d2a638d3b49b8 f4ade537d550b872b7e86e6ffce940dfbad4c60c%0a@]%0a%0aThis will give you the diff of two files with those ID hashes.%0a%0a!! Blame%0a%0aFor a line-by-line history of a file:%0a%0a[@%0a$ got blame /path/to/file%0a@]%0a%0aUse @@-c commit@@ and replace @@committ@@ with the ID SHA1 hash to start history from that specific commit. For example:%0a%0a[@%0a$ cd ~/ngircd%0a$ got blame -c 71ae2b7d ~/ngircd/NEWS%0a@]%0a%0a!! Update%0a%0aTo update the work tree to the most recent commit on the work tree's branch:%0a%0a[@%0a$ got update%0a@]%0a%0aThis will require manual merging of files if there are conflicts.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| U || file updated, no local changes ||%0a|| G || file updated, local changes merged ||%0a|| C || file updated, conflicts occurred during merge ||%0a|| D || file deleted ||%0a|| A || new file added ||%0a|| ~ || versioned file blocked by non-regular file ||%0a|| ! || missing versioned file restored ||%0a|| # || file not updated due to merge conflicts ||%0a|| ? || changes for an unversioned file not merged ||%0a%0a'''NOTE''': If there are staged changes, you must first commit or unstage them before using @@got update@@.%0a%0aSuppose we check out a specific commit:%0a%0a[@%0a$ cd ~%0a$ rm -r ngircd%0a$ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a@]%0a%0aWe can then update a specific commit:%0a%0a[@%0a$ got update -c c8b12af1d2d155ec79dc2044a4ff177cf07de4fe%0a@]%0a%0a!! View status%0a%0aTo view the status of files in a work tree:%0a%0a[@%0a$ got status%0a@]%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| M || modified ||%0a|| A || added in next commit ||%0a|| D || deleted in next commit ||%0a|| C || modified or added but contains merge conflicts ||%0a|| ! || versioned file expected but missing ||%0a|| ~ || versioned file blocked by non-regular file ||%0a|| ? || unversioned item, not tracked ||%0a%0aIf changes are staged, the second column uses these codes:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| M || modification staged ||%0a|| A || addition staged ||%0a|| D || deletion staged ||%0a%0a!! Show History%0a%0aTo show commit history:%0a%0a[@%0a$ got log%0a@]%0a%0aThis will produce a log of all commits from the current%0abranch:%0a%0a[@%0a...%0a-----------------------------------------------%0acommit ab0eb099e9c0ed60d25fb50dd78d2a638d3b49b8%0afrom: Alexander Barton %3calex@barton.de>%0adate: Tue Dec 11 22:04:21 2001 UTC%0a %0a - Test auf stdint.h (HAVE_STDINT_H) hinzugefuegt.%0a %0a-----------------------------------------------%0acommit f4ade537d550b872b7e86e6ffce940dfbad4c60c%0afrom: Alexander Barton %3calex@barton.de>%0adate: Tue Dec 11 21:53:04 2001 UTC%0a %0a Initial revision%0a@]%0a%0aTo display commits from other branches @@-b@@, starting at a%0aspecific commit @@-c@@, limited by the number of commits%0a@@-l@@:%0a%0a[@%0a$ got log -b -c commit -l N%0a@]%0a%0aReplace @@commit@@ with the ID SHA1 hash and @@N@@ with the%0anumber of commits.%0a%0aFor example:%0a%0a[@%0a$ got log -b -c 71ae2b7d7f9ae7bc02ed072c07100de0027373d6 -l 10%0a-----------------------------------------------%0acommit 71ae2b7d7f9ae7bc02ed072c07100de0027373d6 (master, origin/master, tags/rel-26.1)%0afrom: Alexander Barton %3calex@barton.de>%0adate: Sat Jan 2 13:32:48 2021 UTC%0a%0a ngIRCd Release 26.1%0a...%0a@]%0a%0aIt's also possible to show commits that match a [[https://man.openbsd.org/re_format|regular expressions]]:%0a%0a[@%0a$ got log -s regex%0a@]%0a%0aReplace @@regex@@ with a [[https://man.openbsd.org/re_format|regular expression]]:%0a%0a[@%0a$ got log -s ssl%0a-----------------------------------------------%0acommit daa88b765111b14047c97256bd2a9a2daabe123b%0afrom: Christoph Biedl %3cngircd.anoy@manchmal.in-ulm.de>%0adate: Mon Dec 5 22:51:07 2016 UTC%0avia: Alexander Barton %3calex@barton.de>%0a%0a Fix building ngIRCd with OpenSSL 1.1%0a...%0a@]%0a%0a!! Branching%0a%0aTo print the name of the current branch of the work tree:%0a%0a[@%0a$ cd /path/to/worktree%0a$ got branch%0a@]%0a%0aTo list all the branches:%0a%0a[@%0a$ got branch -l%0a@]%0a%0aInside a work tree, you can create a branch and switch to it:%0a%0a[@%0a$ got branch branchname%0a@]%0a%0aReplace @@branchname@@.%0a%0aYou can also delete a branch:%0a%0a[@%0a$ got branch -d branchename%0a@]%0a%0aOnly the branch reference @@branchname@@ is deleted; commit, tree, and blob objects remain in the repo.%0a%0aTo branch at a specific commit:%0a%0a[@%0a$ got branch -c commit branchname%0a@]%0a%0aReplace @@commit@@ with the ID SHA1 hash and replace @@branchname@@. For example:%0a%0a[@%0a$ got branch -c 02850008f4a4e8fff5799157d21ee7924345b3e1 gnutls%0a@]%0a%0aThis creates the gnutls branch of ngircd.%0a%0a!! Tags%0a%0aTo list all existing tags:%0a%0a[@%0a$ got tag -l%0a@]%0a%0aTo create a tag pointing to the most recent commit:%0a%0a[@%0a$ got tag -m "Message" tagname%0a@]%0a%0aReplace @@tagname@@ and @@Message@@.%0a%0aTo create a tag pointing to a specific commit:%0a%0a[@%0a$ got tag -c commit -m "Message" tagname%0a@]%0a%0aReplace @@commit@@ with the ID SHA1 hash and replace @@Message@@ and @@tagname@@. For example:%0a%0a[@%0a$ got tag -c 3c627dd70d032fa2c5087617da27586cf85e899a -m "Debian OpenSSL Build" debopenssl%0a@]%0a%0aThis will create the @@debopenssl@@ tag to point to commit @@3c627dd70d032fa2c5087617da27586cf85e899a@@.%0a%0a!! Revert changes%0a%0aIf you make any changes to files or folders in a work tree,%0ayou can revert those changes:%0a%0a'''WARNING''': There is no way to undo reverted changes!%0a%0a[@%0a$ got revert /path/to/file%0a@]%0a%0aReplace @@/path/to/file@@. Files added with @@got add@@%0abecome unversioned, and files deleted with @@got remove@@%0aare restored.%0a%0aTo be safe, use @@-p@@ so that got asks before reverting.%0aYou can also add @@-R@@ for recursion:%0a%0a[@%0a$ got revert -R -p /path/to/folder%0a@]%0a%0aFor example:%0a%0a[@%0a$ cd ~/ngircd%0a$ mkdir JUNK%0a$ echo "Here is some new junk" > JUNK/INFO%0a$ got add -R JUNK/%0a$ got revert -R -p JUNK/%0a@]%0a%0a!! Commit%0a%0aTo commit changes in a work tree:%0a%0a[@%0a$ got -m "Commit message" commit%0a@]%0a%0aReplace @@Commit message@@ with a commit message.%0a%0aIf changes have been staged, only staged changes will be%0acommitted.%0a%0a|| border=1 width=50%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| M || modified file ||%0a|| D || file deleted ||%0a|| A || new file added ||%0a%0a'''NOTE''': If changes are not based on the most recent%0acommit, you may first be required to run @@got update@@%0abefore commits can be made.%0a%0a'''NOTE''': Before running @@got commit@@, make sure to set%0aup the GOT_AUTHOR environment variable (see above).%0a%0a!! Send Changes%0a%0aTo send changes to a remote repo:%0a%0a[@%0a$ got send -r ssh://path.com/to/repo%0a@]%0a%0aReplace @@ssh://path.com/to/repo@@ with the protocol and URL.%0a%0aBy default, if no remote repo is provided, the work tree's origin (its default repo) will be used.%0a%0aChanges are only be sent if they are based on up-to-date branches in the remote repo. If not, new changes must first be fetched with @@got fetch@@ and local branches must be rebased with @@got rebase@@. @@-f@@ ignores this requirement.%0a%0a'''WARNING''': Try to avoid @@-f@@ because it may result%0ain inconsistent tags in different repos.%0a%0aTo send all branches:%0a%0a[@%0a$ got send -r ssh://path.com/to/repo -a%0a@]%0a%0aReplace @@path.com/to/repo@@. To specify a specific branch:%0a%0a[@%0a$ got send -r ssh://path.com/to/repo -b branchname%0a@]%0a%0aReplace @@branchname@@. To delete a branch (only references%0aare deleted):%0a%0a[@%0a$ got send -r ssh://path.com/to/repo -d branchname%0a@]%0a%0a!! Rebase%0a%0aWhen you have multiple branches, you may want to rebase%0athe commits of one branch onto your current branch:%0a%0a[@%0a$ got rebase branchname%0a@]%0a%0aReplace @@branchname@@. Note that @@branchname@@ must have a%0acommon ancestor with the current branch.%0a%0aCommits from @@branchname@@ are made to the work tree's current branch.%0a%0aTo show a list of past rebases:%0a%0a[@%0a$ got rebase -l%0a@]%0a%0a!! Staging%0a%0aTo stage for the next commit:%0a%0a[@%0a$ got stage%0a@]%0a%0aTo stage just one file:%0a%0a[@%0a$ got stage /path/to/file%0a@]%0a%0astage [-l] [-p] [-F response-script] [-S] [path ...]%0a|| border=1 width=50%25 class="sortable simpletable"%0a||! Status || Meaning ||%0a|| A || addition staged ||%0a|| M || modification staged ||%0a|| D || deletion staged ||%0a%0aIf there are staged changes, got commit will not commit%0aany paths that do not have staged changes.%0a%0aTo list staged changes:%0a%0a[@%0a$ got stage -l%0a@]%0a%0aIf a file is out of date compared with the work tree's current branch, you must run @@got update@@ before staging.%0a%0aTo unstage all changes:%0a%0a[@%0a$ got unstage%0a@]%0a%0aTo unstage a single file:%0a%0a[@%0a$ got unstage /path/to/file%0a@]%0a%0a!! Info%0a%0aTo show metadata about a work tree:%0a%0a[@%0a$ got info%0a@]%0a%0aTo show additional data about a file:%0a%0a[@%0a$ got info /path/to/file%0a@]%0a +time=1636906130 +title=Game of Trees +author:1636906130=jrmu +diff:1636906130:1636904658:=621,646d620%0a%3c %0a%3c To unstage all changes:%0a%3c %0a%3c [@%0a%3c $ got unstage%0a%3c @]%0a%3c %0a%3c To unstage a single file:%0a%3c %0a%3c [@%0a%3c $ got unstage /path/to/file%0a%3c @]%0a%3c %0a%3c !! Info%0a%3c %0a%3c To show metadata about a work tree:%0a%3c %0a%3c [@%0a%3c $ got info%0a%3c @]%0a%3c %0a%3c To show additional data about a file:%0a%3c %0a%3c [@%0a%3c $ got info /path/to/file%0a%3c @]%0a +host:1636906130=38.87.162.8 +author:1636904658=jrmu +diff:1636904658:1636904493:= +host:1636904658=38.87.162.8 +author:1636904493=jrmu +diff:1636904493:1636900066:=589,620d588%0a%3c %0a%3c !! Staging%0a%3c %0a%3c To stage for the next commit:%0a%3c %0a%3c [@%0a%3c $ got stage%0a%3c @]%0a%3c %0a%3c To stage just one file:%0a%3c %0a%3c [@%0a%3c $ got stage /path/to/file%0a%3c @]%0a%3c %0a%3c stage [-l] [-p] [-F response-script] [-S] [path ...]%0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || A || addition staged ||%0a%3c || M || modification staged ||%0a%3c || D || deletion staged ||%0a%3c %0a%3c If there are staged changes, got commit will not commit%0a%3c any paths that do not have staged changes.%0a%3c %0a%3c To list staged changes:%0a%3c %0a%3c [@%0a%3c $ got stage -l%0a%3c @]%0a%3c %0a%3c If a file is out of date compared with the work tree's current branch, you must run @@got update@@ before staging.%0a +host:1636904493=38.87.162.8 +author:1636900066=jrmu +diff:1636900066:1636899968:=588a589%0a> %0a +host:1636900066=38.87.162.8 +author:1636899968=jrmu +diff:1636899968:1636899775:=576c576%0a%3c $ got rebase branchname%0a---%0a> $ got rebase %0a578c578,579%0a%3c %0a---%0a> rebase [-a] [-c] [-l] [-X] [branch]%0a> %0a583,589d583%0a%3c %0a%3c To show a list of past rebases:%0a%3c %0a%3c [@%0a%3c $ got rebase -l%0a%3c @]%0a%3c %0a +host:1636899968=38.87.162.8 +author:1636899775=jrmu +diff:1636899775:1636893644:=569,583d568%0a%3c %0a%3c !! Rebase%0a%3c %0a%3c When you have multiple branches, you may want to rebase%0a%3c the commits of one branch onto your current branch:%0a%3c %0a%3c [@%0a%3c $ got rebase %0a%3c @]%0a%3c rebase [-a] [-c] [-l] [-X] [branch]%0a%3c %0a%3c Replace @@branchname@@. Note that @@branchname@@ must have a%0a%3c common ancestor with the current branch.%0a%3c %0a%3c Commits from @@branchname@@ are made to the work tree's current branch.%0a +host:1636899775=38.87.162.8 +author:1636893644=jrmu +diff:1636893644:1636892178:=548,568c548,549%0a%3c '''WARNING''': Try to avoid @@-f@@ because it may result%0a%3c in inconsistent tags in different repos.%0a%3c %0a%3c To send all branches:%0a%3c %0a%3c [@%0a%3c $ got send -r ssh://path.com/to/repo -a%0a%3c @]%0a%3c %0a%3c Replace @@path.com/to/repo@@. To specify a specific branch:%0a%3c %0a%3c [@%0a%3c $ got send -r ssh://path.com/to/repo -b branchname%0a%3c @]%0a%3c %0a%3c Replace @@branchname@@. To delete a branch (only references%0a%3c are deleted):%0a%3c %0a%3c [@%0a%3c $ got send -r ssh://path.com/to/repo -d branchname%0a%3c @]%0a---%0a> send [-a] [-b branch] [-d branch] [-f] [-r repository-path] [-t tag] [-T] [-q] [-v] [remote-repository]%0a> %0a +host:1636893644=38.87.162.47 +author:1636892178=jrmu +diff:1636892178:1636881065:=533,549d532%0a%3c %0a%3c !! Send Changes%0a%3c %0a%3c To send changes to a remote repo:%0a%3c %0a%3c [@%0a%3c $ got send -r ssh://path.com/to/repo%0a%3c @]%0a%3c %0a%3c Replace @@ssh://path.com/to/repo@@ with the protocol and URL.%0a%3c %0a%3c By default, if no remote repo is provided, the work tree's origin (its default repo) will be used.%0a%3c %0a%3c Changes are only be sent if they are based on up-to-date branches in the remote repo. If not, new changes must first be fetched with @@got fetch@@ and local branches must be rebased with @@got rebase@@. @@-f@@ ignores this requirement.%0a%3c %0a%3c send [-a] [-b branch] [-d branch] [-f] [-r repository-path] [-t tag] [-T] [-q] [-v] [remote-repository]%0a%3c %0a +host:1636892178=38.87.162.47 +author:1636881065=jrmu +diff:1636881065:1636865869:=509,532d508%0a%3c %0a%3c To commit changes in a work tree:%0a%3c %0a%3c [@%0a%3c $ got -m "Commit message" commit%0a%3c @]%0a%3c %0a%3c Replace @@Commit message@@ with a commit message.%0a%3c %0a%3c If changes have been staged, only staged changes will be%0a%3c committed.%0a%3c %0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || M || modified file ||%0a%3c || D || file deleted ||%0a%3c || A || new file added ||%0a%3c %0a%3c '''NOTE''': If changes are not based on the most recent%0a%3c commit, you may first be required to run @@got update@@%0a%3c before commits can be made.%0a%3c %0a%3c '''NOTE''': Before running @@got commit@@, make sure to set%0a%3c up the GOT_AUTHOR environment variable (see above).%0a +host:1636881065=38.87.162.47 +author:1636865869=jrmu +diff:1636865869:1636865826:=504,505c504%0a%3c $ got add -R JUNK/%0a%3c $ got revert -R -p JUNK/%0a---%0a> $ got revert -R -p JUNK%0a +host:1636865869=38.87.162.47 +author:1636865826=jrmu +diff:1636865826:1636865547:=495c495%0a%3c $ got revert -R -p /path/to/folder%0a---%0a> $ got revert -p /path/to/folder -R%0a504c504%0a%3c $ got revert -R -p JUNK%0a---%0a> $ got revert -p JUNK -R%0a +host:1636865826=38.87.162.47 +author:1636865547=jrmu +diff:1636865547:1636865539:= +host:1636865547=38.87.162.47 +author:1636865539=jrmu +diff:1636865539:1636864255:=475,507d474%0a%3c %0a%3c !! Revert changes%0a%3c %0a%3c If you make any changes to files or folders in a work tree,%0a%3c you can revert those changes:%0a%3c %0a%3c '''WARNING''': There is no way to undo reverted changes!%0a%3c %0a%3c [@%0a%3c $ got revert /path/to/file%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/file@@. Files added with @@got add@@%0a%3c become unversioned, and files deleted with @@got remove@@%0a%3c are restored.%0a%3c %0a%3c To be safe, use @@-p@@ so that got asks before reverting.%0a%3c You can also add @@-R@@ for recursion:%0a%3c %0a%3c [@%0a%3c $ got revert -p /path/to/folder -R%0a%3c @]%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ngircd%0a%3c $ mkdir JUNK%0a%3c $ echo "Here is some new junk" > JUNK/INFO%0a%3c $ got revert -p JUNK -R%0a%3c @]%0a%3c %0a%3c !! Commit%0a +host:1636865539=38.87.162.47 +author:1636864255=jrmu +diff:1636864255:1636863905:=470,474c470,472%0a%3c [@%0a%3c $ got tag -c 3c627dd70d032fa2c5087617da27586cf85e899a -m "Debian OpenSSL Build" debopenssl%0a%3c @]%0a%3c %0a%3c This will create the @@debopenssl@@ tag to point to commit @@3c627dd70d032fa2c5087617da27586cf85e899a@@.%0a---%0a> %0a> Attempt to create a tag with the given name, and make this tag point at the given commit. If no commit is specified, default to the latest commit on the work tree's current branch if invoked in a work tree, and to a commit resolved via the repository's HEAD reference otherwise.%0a> %0a +host:1636864255=38.87.162.47 +author:1636863905=jrmu +diff:1636863905:1636863135:=445,472d444%0a%3c %0a%3c !! Tags%0a%3c %0a%3c To list all existing tags:%0a%3c %0a%3c [@%0a%3c $ got tag -l%0a%3c @]%0a%3c %0a%3c To create a tag pointing to the most recent commit:%0a%3c %0a%3c [@%0a%3c $ got tag -m "Message" tagname%0a%3c @]%0a%3c %0a%3c Replace @@tagname@@ and @@Message@@.%0a%3c %0a%3c To create a tag pointing to a specific commit:%0a%3c %0a%3c [@%0a%3c $ got tag -c commit -m "Message" tagname%0a%3c @]%0a%3c %0a%3c Replace @@commit@@ with the ID SHA1 hash and replace @@Message@@ and @@tagname@@. For example:%0a%3c %0a%3c %0a%3c Attempt to create a tag with the given name, and make this tag point at the given commit. If no commit is specified, default to the latest commit on the work tree's current branch if invoked in a work tree, and to a commit resolved via the repository's HEAD reference otherwise.%0a%3c %0a +host:1636863905=38.87.162.47 +author:1636863135=jrmu +diff:1636863135:1636862621:=438,444c438%0a%3c Replace @@commit@@ with the ID SHA1 hash and replace @@branchname@@. For example:%0a%3c %0a%3c [@%0a%3c $ got branch -c 02850008f4a4e8fff5799157d21ee7924345b3e1 gnutls%0a%3c @]%0a%3c %0a%3c This creates the gnutls branch of ngircd.%0a---%0a> Replace @@commit@@ with the ID SHA1 hash and replace @@branchname@@.%0a +host:1636863135=38.87.162.47 +author:1636862621=jrmu +diff:1636862621:1636861264:=400,438d399%0a%3c %0a%3c !! Branching%0a%3c %0a%3c To print the name of the current branch of the work tree:%0a%3c %0a%3c [@%0a%3c $ cd /path/to/worktree%0a%3c $ got branch%0a%3c @]%0a%3c %0a%3c To list all the branches:%0a%3c %0a%3c [@%0a%3c $ got branch -l%0a%3c @]%0a%3c %0a%3c Inside a work tree, you can create a branch and switch to it:%0a%3c %0a%3c [@%0a%3c $ got branch branchname%0a%3c @]%0a%3c %0a%3c Replace @@branchname@@.%0a%3c %0a%3c You can also delete a branch:%0a%3c %0a%3c [@%0a%3c $ got branch -d branchename%0a%3c @]%0a%3c %0a%3c Only the branch reference @@branchname@@ is deleted; commit, tree, and blob objects remain in the repo.%0a%3c %0a%3c To branch at a specific commit:%0a%3c %0a%3c [@%0a%3c $ got branch -c commit branchname%0a%3c @]%0a%3c %0a%3c Replace @@commit@@ with the ID SHA1 hash and replace @@branchname@@.%0a +host:1636862621=38.87.162.47 +author:1636861264=jrmu +diff:1636861264:1636860852:= +host:1636861264=38.87.162.47 +author:1636860852=jrmu +diff:1636860852:1636860791:= +host:1636860852=38.87.162.47 +author:1636860791=jrmu +diff:1636860791:1636821654:=249,263d248%0a%3c %0a%3c !! Blame%0a%3c %0a%3c For a line-by-line history of a file:%0a%3c %0a%3c [@%0a%3c $ got blame /path/to/file%0a%3c @]%0a%3c %0a%3c Use @@-c commit@@ and replace @@committ@@ with the ID SHA1 hash to start history from that specific commit. For example:%0a%3c %0a%3c [@%0a%3c $ cd ~/ngircd%0a%3c $ got blame -c 71ae2b7d ~/ngircd/NEWS%0a%3c @]%0a +host:1636860791=38.87.162.47 +author:1636821654=jrmu +diff:1636821654:1636821470:= +host:1636821654=38.87.162.47 +author:1636821470=jrmu +diff:1636821470:1636819727:=320,383d319%0a%3c @]%0a%3c %0a%3c This will produce a log of all commits from the current%0a%3c branch:%0a%3c %0a%3c [@%0a%3c ...%0a%3c -----------------------------------------------%0a%3c commit ab0eb099e9c0ed60d25fb50dd78d2a638d3b49b8%0a%3c from: Alexander Barton %3calex@barton.de>%0a%3c date: Tue Dec 11 22:04:21 2001 UTC%0a%3c %0a%3c - Test auf stdint.h (HAVE_STDINT_H) hinzugefuegt.%0a%3c %0a%3c -----------------------------------------------%0a%3c commit f4ade537d550b872b7e86e6ffce940dfbad4c60c%0a%3c from: Alexander Barton %3calex@barton.de>%0a%3c date: Tue Dec 11 21:53:04 2001 UTC%0a%3c %0a%3c Initial revision%0a%3c @]%0a%3c %0a%3c To display commits from other branches @@-b@@, starting at a%0a%3c specific commit @@-c@@, limited by the number of commits%0a%3c @@-l@@:%0a%3c %0a%3c [@%0a%3c $ got log -b -c commit -l N%0a%3c @]%0a%3c %0a%3c Replace @@commit@@ with the ID SHA1 hash and @@N@@ with the%0a%3c number of commits.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c $ got log -b -c 71ae2b7d7f9ae7bc02ed072c07100de0027373d6 -l 10%0a%3c -----------------------------------------------%0a%3c commit 71ae2b7d7f9ae7bc02ed072c07100de0027373d6 (master, origin/master, tags/rel-26.1)%0a%3c from: Alexander Barton %3calex@barton.de>%0a%3c date: Sat Jan 2 13:32:48 2021 UTC%0a%3c %0a%3c ngIRCd Release 26.1%0a%3c ...%0a%3c @]%0a%3c %0a%3c It's also possible to show commits that match a [[https://man.openbsd.org/re_format|regular expressions]]:%0a%3c %0a%3c [@%0a%3c $ got log -s regex%0a%3c @]%0a%3c %0a%3c Replace @@regex@@ with a [[https://man.openbsd.org/re_format|regular expression]]:%0a%3c %0a%3c [@%0a%3c $ got log -s ssl%0a%3c -----------------------------------------------%0a%3c commit daa88b765111b14047c97256bd2a9a2daabe123b%0a%3c from: Christoph Biedl %3cngircd.anoy@manchmal.in-ulm.de>%0a%3c date: Mon Dec 5 22:51:07 2016 UTC%0a%3c via: Alexander Barton %3calex@barton.de>%0a%3c %0a%3c Fix building ngIRCd with OpenSSL 1.1%0a%3c ...%0a +host:1636821470=38.87.162.47 +author:1636819727=jrmu +diff:1636819727:1636819392:= +host:1636819727=38.87.162.47 +author:1636819392=jrmu +diff:1636819392:1636814281:=274,275c274,275%0a%3c Suppose we check out a specific commit:%0a%3c %0a---%0a> You can also specify the branch and commit:%0a> %0a277,285c277%0a%3c $ cd ~%0a%3c $ rm -r ngircd%0a%3c $ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a%3c @]%0a%3c %0a%3c We can then update a specific commit:%0a%3c %0a%3c [@%0a%3c $ got update -c c8b12af1d2d155ec79dc2044a4ff177cf07de4fe%0a---%0a> $ got update -b ssl-log-messages%0a +host:1636819392=38.87.162.47 +author:1636814281=jrmu +diff:1636814281:1636811090:=252c252%0a%3c To update the work tree to the most recent commit on the work tree's branch:%0a---%0a> To update the work tree to the most recent commit:%0a +host:1636814281=38.87.162.47 +author:1636811090=jrmu +diff:1636811090:1636421427:=59c59%0a%3c $ got clone ssh://example.com/repo.git%0a---%0a> $ got clone git+ssh://example.com/repo.git%0a +host:1636811090=38.87.162.47 +author:1636421427=mkf +csum:1636421427=BSD -> bsd >:( +diff:1636421427:1636421250:minor=37c37%0a%3c By default, got uses the text editor [[Openbsd/Ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a---%0a> By default, got uses the text editor [[OpenBSD/Ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a +host:1636421427=5.238.160.208 +author:1636421250=mkf +csum:1636421250=ed -> Ed +diff:1636421250:1636421046:minor=37c37%0a%3c By default, got uses the text editor [[OpenBSD/Ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a---%0a> By default, got uses the text editor [[OpenBSD/ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a +host:1636421250=5.238.160.208 +author:1636421046=mkf +diff:1636421046:1636421044:= +host:1636421046=5.238.160.208 +author:1636421044=mkf +diff:1636421044:1636381150:=37c37%0a%3c By default, got uses the text editor [[OpenBSD/ed|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a---%0a> By default, got uses the text editor [[ed/usage|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a +host:1636421044=5.238.160.208 +author:1636381150=jrmu +diff:1636381150:1636379361:=118,119c118,122%0a%3c For the next step, we will go ahead and delete this work tree, then check out a work tree based on the most recent commit:%0a%3c %0a---%0a> %0a> !! Create a new repository%0a> %0a> To create an empty repository:%0a> %0a121,122c124%0a%3c $ rm -r ~/ngircd%0a%3c $ got checkout ~/ngircd.git%0a---%0a> $ got init /path/to/repository%0a125,128c127,130%0a%3c !! Create a new repository%0a%3c %0a%3c To create an empty repository:%0a%3c %0a---%0a> Replace @@/path/to/repository@@.%0a> %0a> For example:%0a> %0a130c132%0a%3c $ got init /path/to/repository%0a---%0a> $ got init ~/ircnow-got%0a133,134c135,138%0a%3c Replace @@/path/to/repository@@. For example:%0a%3c %0a---%0a> This will create a got repo called ircnow-got.%0a> %0a> Afterwards, we need to import the code for the repository:%0a> %0a136c140%0a%3c $ got init ~/ircnowd.git%0a---%0a> $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a139,146d142%0a%3c This will create a got repo called ircnowd.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a%3c @]%0a%3c %0a150,151c146,149%0a%3c Replace @@/path/to/repository@@ and @@/path/to/code@@. For example:%0a%3c %0a---%0a> Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a> %0a> For example:%0a> %0a153c151%0a%3c $ got import -m "Import sources" -r ~/ircnowd.git ~/ngircd%0a---%0a> $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a156c154%0a%3c This will import the code from @@ngircd@@ into @@ircnowd.git@@.%0a---%0a> This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a +host:1636381150=38.87.162.47 +author:1636379361=jrmu +diff:1636379361:1636379116:=47,50d46%0a%3c Replace @@example.com/repo.git@@ with your actual path.%0a%3c %0a%3c For this guide, we will use the ngircd git repo as an example:%0a%3c %0a75,79c71,74%0a%3c !! Checkout code%0a%3c %0a%3c Once you have a repository, you must first '''checkout'''%0a%3c the code into a '''work tree''' before you can use it:%0a%3c %0a---%0a> !! Create a new repository%0a> %0a> To create an empty repository:%0a> %0a81c76%0a%3c $ got checkout /path/to/repository%0a---%0a> $ got init /path/to/repository%0a84,87c79,82%0a%3c Replace @@/path/to/respository@@.%0a%3c %0a%3c Let's checkout the ngircd code:%0a%3c %0a---%0a> Replace @@/path/to/repository@@.%0a> %0a> For example:%0a> %0a89,90c84%0a%3c $ cd ~%0a%3c $ got checkout ~/ngircd.git%0a---%0a> $ got init ~/ircnow-got%0a93,95c87,90%0a%3c You can check out code from a specific branch or%0a%3c commit with @@-b@@ and @@-c@@:%0a%3c %0a---%0a> This will create a got repo called ircnow-got.%0a> %0a> Afterwards, we need to import the code for the repository:%0a> %0a97c92%0a%3c $ got checkout -b branch -c commit /path/to/repository%0a---%0a> $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a100,103c95,101%0a%3c got creates an ID SHA1 hash for every commit, so replace @@commit@@ with that hash.%0a%3c %0a%3c Before we can checkout another work tree from ngircd, we must delete the old one:%0a%3c %0a---%0a> * @@-m@@ provides the log message for the import.%0a> * @@-r@@ provides the repository path.%0a> %0a> Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a> %0a> For example:%0a> %0a105,106c103%0a%3c $ rm -r ~/ngircd%0a%3c $ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a---%0a> $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a109,122c106,111%0a%3c This will first delete the old work tree, then check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a%3c %0a%3c @@got checkout@@ will show these status codes:%0a%3c %0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || A || new file added ||%0a%3c || E || file already exists ||%0a%3c %0a%3c %0a%3c !! Create a new repository%0a%3c %0a%3c To create an empty repository:%0a%3c %0a---%0a> This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a> %0a> !! Fetch new changes%0a> %0a> To fetch changes from a remote repo:%0a> %0a124c113%0a%3c $ got init /path/to/repository%0a---%0a> $ got fetch%0a127,130c116,120%0a%3c Replace @@/path/to/repository@@.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> !! Checkout code%0a> %0a> Once you have a repository, you must first '''checkout'''%0a> the code into a '''work tree''' before you can use it:%0a> %0a132c122%0a%3c $ got init ~/ircnow-got%0a---%0a> $ got checkout /path/to/repository%0a135,138c125,128%0a%3c This will create a got repo called ircnow-got.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a---%0a> Replace @@/path/to/respository@@.%0a> %0a> Let's checkout the ngircd code:%0a> %0a140c130,131%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a---%0a> $ cd ~%0a> $ got checkout ~/ngircd.git%0a143,149c134,136%0a%3c * @@-m@@ provides the log message for the import.%0a%3c * @@-r@@ provides the repository path.%0a%3c %0a%3c Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> You can check out code from a specific branch or%0a> commit with @@-b@@ and @@-c@@:%0a> %0a151c138%0a%3c $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a---%0a> $ got checkout -b branch -c commit /path/to/repository%0a154,159c141,144%0a%3c This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a%3c %0a%3c !! Fetch new changes%0a%3c %0a%3c To fetch changes from a remote repo:%0a%3c %0a---%0a> got creates an ID SHA1 hash for every commit, so replace @@commit@@ with that hash.%0a> %0a> Before we can checkout another work tree from ngircd, we must delete the old one:%0a> %0a161c146,147%0a%3c $ got fetch%0a---%0a> $ rm -r ~/ngircd%0a> $ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a162a149,157%0a> %0a> This will first delete the old work tree, then check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a> %0a> @@got checkout@@ will show these status codes:%0a> %0a> || border=1 width=50%25 class="sortable simpletable"%0a> ||! Status || Meaning ||%0a> || A || new file added ||%0a> || E || file already exists ||%0a +host:1636379361=38.87.162.47 +author:1636379116=jrmu +diff:1636379116:1636378801:=39,42c39,42%0a%3c !! Clone a repository%0a%3c %0a%3c To clone a repo without encryption ('''WARNING''': insecure):%0a%3c %0a---%0a> !! Create a new repository%0a> %0a> To create an empty repository:%0a> %0a44c44%0a%3c $ got clone git://example.com/repo.git%0a---%0a> $ got init /path/to/repository%0a46a47,50%0a> Replace @@/path/to/repository@@.%0a> %0a> For example:%0a> %0a48,49c52%0a%3c $ cd ~%0a%3c $ got clone git://github.com/ngircd/ngircd%0a---%0a> $ got init ~/ircnow-got%0a52,53c55,58%0a%3c To clone a repo using [[OpenSSH/Connect|ssh]]:%0a%3c %0a---%0a> This will create a got repo called ircnow-got.%0a> %0a> Afterwards, we need to import the code for the repository:%0a> %0a55c60%0a%3c $ got clone git+ssh://example.com/repo.git%0a---%0a> $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a58,59c63,69%0a%3c For example, to clone OpenBSD's github repo:%0a%3c %0a---%0a> * @@-m@@ provides the log message for the import.%0a> * @@-r@@ provides the repository path.%0a> %0a> Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a> %0a> For example:%0a> %0a61,62c71%0a%3c $ cd /var/git/%0a%3c $ got clone ssh://git@github.com/openbsd/src.git%0a---%0a> $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a65,66c74,79%0a%3c HTTP URLs currently requires [[git/usage|git]]:%0a%3c %0a---%0a> This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a> %0a> !! Clone a repository%0a> %0a> To clone a repo without encryption ('''WARNING''': insecure):%0a> %0a68c81%0a%3c $ git clone https://github.com/ngircd/ngircd%0a---%0a> $ got clone git://example.com/repo.git%0a71,74d83%0a%3c !! Create a new repository%0a%3c %0a%3c To create an empty repository:%0a%3c %0a76c85,86%0a%3c $ got init /path/to/repository%0a---%0a> $ cd ~%0a> $ got clone git://github.com/ngircd/ngircd%0a79,82c89,90%0a%3c Replace @@/path/to/repository@@.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> To clone a repo using [[OpenSSH/Connect|ssh]]:%0a> %0a84c92%0a%3c $ got init ~/ircnow-got%0a---%0a> $ got clone git+ssh://example.com/repo.git%0a87,90c95,96%0a%3c This will create a got repo called ircnow-got.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a---%0a> For example, to clone OpenBSD's github repo:%0a> %0a92c98,99%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a---%0a> $ cd /var/git/%0a> $ got clone ssh://git@github.com/openbsd/src.git%0a95,101c102,103%0a%3c * @@-m@@ provides the log message for the import.%0a%3c * @@-r@@ provides the repository path.%0a%3c %0a%3c Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> HTTP URLs currently requires [[git/usage|git]]:%0a> %0a103c105%0a%3c $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a---%0a> $ git clone https://github.com/ngircd/ngircd%0a105,106d106%0a%3c %0a%3c This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a +host:1636379116=38.87.162.47 +author:1636378801=jrmu +diff:1636378801:1636378787:= +host:1636378801=38.87.162.47 +author:1636378787=jrmu +diff:1636378787:1636377358:=34c34%0a%3c $ echo 'set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)' >> ~/.profile%0a---%0a> $ echo "set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)" >> ~/.profile%0a +host:1636378787=38.87.162.47 +author:1636377358=jrmu +diff:1636377358:1636359404:=17c17%0a%3c !! Configuring got%0a---%0a> !! Configuring Got%0a +host:1636377358=198.251.82.194 +author:1636359404=jrmu +diff:1636359404:1636359048:=143,144c143,144%0a%3c Before we can checkout another work tree from ngircd, we must delete the old one:%0a%3c %0a---%0a> For example:%0a> %0a146d145%0a%3c $ rm -r ~/ngircd%0a150,151c149,150%0a%3c This will first delete the old work tree, then check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a%3c %0a---%0a> This will check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a> %0a167,168c166,167%0a%3c Replace @@filename@@. For example:%0a%3c %0a---%0a> Replace @@filename@@. If adding a directory:%0a> %0a170,171c169%0a%3c $ echo 'print "hello, world"' > ~/ngircd.git/hello.sh%0a%3c $ got add ~/ngircd.git/hello.sh%0a---%0a> $ got add -R pathname%0a174,179d171%0a%3c If adding a directory:%0a%3c %0a%3c [@%0a%3c $ got add -R pathname%0a%3c @]%0a%3c %0a186c178%0a%3c $ echo 'print "IRCNow and Forever"' > ~/ngircd.git/newcode/ircnow.sh%0a---%0a> $ echo 'print "hello, world"' > ~/ngircd.git/newcode/hello.sh%0a198,201c190,191%0a%3c Replace @@filename@@.%0a%3c %0a%3c Let's remove hello.sh:%0a%3c %0a---%0a> Replace @@filename@@. If removing a directory:%0a> %0a203c193%0a%3c $ got remove ~/ngircd.git/hello.sh%0a---%0a> $ got remove -R pathname%0a206,211d195%0a%3c If removing a directory:%0a%3c %0a%3c [@%0a%3c $ got remove -R pathname%0a%3c @]%0a%3c %0a213,218d196%0a%3c %0a%3c Let's remove the @@newcode@@ directory:%0a%3c %0a%3c [@%0a%3c $ got remove -R ~/ngircd.git/newcode/%0a%3c @]%0a +host:1636359404=198.251.82.194 +author:1636359048=jrmu +diff:1636359048:1636358875:=126,132d125%0a%3c %0a%3c Let's checkout the ngircd code:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ got checkout ~/ngircd.git%0a%3c @]%0a +host:1636359048=198.251.82.194 +author:1636358875=jrmu +diff:1636358875:1636358870:= +host:1636358875=198.251.82.194 +author:1636358870=jrmu +diff:1636358870:1636358526:=49,50c49,50%0a%3c For example:%0a%3c %0a---%0a> Afterwards, we need to import the code for the repository:%0a> %0a52c52%0a%3c $ got init ~/ircnow-got%0a---%0a> $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a55,62d54%0a%3c This will create a got repo called ircnow-got.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a%3c @]%0a%3c %0a68,69c60,64%0a%3c For example:%0a%3c %0a---%0a> %0a> !! Clone a repository%0a> %0a> To clone a repo without encryption ('''WARNING''': insecure):%0a> %0a71c66%0a%3c $ got import -m "Import sources" -r ~/ircnow-got ~/ircnow-code%0a---%0a> $ got clone git://example.com/repo.git%0a74,79c69,71%0a%3c This will import the code from @@ircnow-code@@ into @@ircnow-got@@.%0a%3c %0a%3c !! Clone a repository%0a%3c %0a%3c To clone a repo without encryption ('''WARNING''': insecure):%0a%3c %0a---%0a> For the rest of the guide, we will be working with%0a> ngircd's git repo, so let's clone that to our home directory:%0a> %0a81c73,74%0a%3c $ got clone git://example.com/repo.git%0a---%0a> $ cd ~%0a> $ got clone git://github.com/ngircd/ngircd%0a83a77,78%0a> To clone a repo using [[OpenSSH/Connect|ssh]]:%0a> %0a85,86c80%0a%3c $ cd ~%0a%3c $ got clone git://github.com/ngircd/ngircd%0a---%0a> $ got clone git+ssh://example.com/repo.git%0a89,90c83,84%0a%3c To clone a repo using [[OpenSSH/Connect|ssh]]:%0a%3c %0a---%0a> For example, to clone OpenBSD's github repo:%0a> %0a92c86,87%0a%3c $ got clone git+ssh://example.com/repo.git%0a---%0a> $ cd /var/git/%0a> $ got clone ssh://git@github.com/openbsd/src.git%0a95,96c90,91%0a%3c For example, to clone OpenBSD's github repo:%0a%3c %0a---%0a> HTTP URLs currently requires [[git/usage|git]]:%0a> %0a98,99c93%0a%3c $ cd /var/git/%0a%3c $ got clone ssh://git@github.com/openbsd/src.git%0a---%0a> $ git clone https://github.com/ngircd/ngircd%0a102,107d95%0a%3c HTTP URLs currently requires [[git/usage|git]]:%0a%3c %0a%3c [@%0a%3c $ git clone https://github.com/ngircd/ngircd%0a%3c @]%0a%3c %0a166,173d153%0a%3c %0a%3c Let's add a directory with a file inside @@ngircd.git@@, then begin tracking the directory with got:%0a%3c %0a%3c [@%0a%3c $ mkdir -p ~/ngircd.git/newcode/%0a%3c $ echo 'print "hello, world"' > ~/ngircd.git/newcode/hello.sh%0a%3c $ got add -R ~/ngircd.git/newcode%0a%3c @]%0a +host:1636358870=198.251.82.194 +author:1636358526=jrmu +diff:1636358526:1636357524:=69,71c69,70%0a%3c For the rest of the guide, we will be working with%0a%3c ngircd's git repo, so let's clone that to our home directory:%0a%3c %0a---%0a> To clone a repo using [[OpenSSH/Connect|ssh]]:%0a> %0a73,74c72%0a%3c $ cd ~%0a%3c $ got clone git://github.com/ngircd/ngircd%0a---%0a> $ got clone git+ssh://example.com/repo.git%0a77,78c75,76%0a%3c To clone a repo using [[OpenSSH/Connect|ssh]]:%0a%3c %0a---%0a> For example, to clone OpenBSD's github repo:%0a> %0a80c78,79%0a%3c $ got clone git+ssh://example.com/repo.git%0a---%0a> $ cd /var/git/%0a> $ got clone ssh://git@github.com/openbsd/src.git%0a83,89d81%0a%3c For example, to clone OpenBSD's github repo:%0a%3c %0a%3c [@%0a%3c $ cd /var/git/%0a%3c $ got clone ssh://git@github.com/openbsd/src.git%0a%3c @]%0a%3c %0a91a84,89%0a> $ git clone https://github.com/openbsd/src.git%0a> %0a> !! Fetch new changes%0a> %0a> To fetch changes from a remote repo:%0a> %0a93c91%0a%3c $ git clone https://github.com/ngircd/ngircd%0a---%0a> $ got fetch%0a96,103d93%0a%3c !! Fetch new changes%0a%3c %0a%3c To fetch changes from a remote repo:%0a%3c %0a%3c [@%0a%3c $ got fetch%0a%3c @]%0a%3c %0a186,187c176,180%0a%3c For example:%0a%3c %0a---%0a> %0a> !! Update%0a> %0a> To update the work tree to the most recent commit:%0a> %0a189c182%0a%3c $ got diff ab0eb099e9c0ed60d25fb50dd78d2a638d3b49b8 f4ade537d550b872b7e86e6ffce940dfbad4c60c%0a---%0a> $ got update%0a192,201d184%0a%3c This will give you the diff of two files with those ID hashes.%0a%3c %0a%3c !! Update%0a%3c %0a%3c To update the work tree to the most recent commit:%0a%3c %0a%3c [@%0a%3c $ got update%0a%3c @]%0a%3c %0a217,222d199%0a%3c %0a%3c You can also specify the branch and commit:%0a%3c %0a%3c [@%0a%3c $ got update -b ssl-log-messages%0a%3c @]%0a +host:1636358526=198.251.82.194 +author:1636357524=jrmu +diff:1636357524:1636357518:= +host:1636357524=198.251.82.194 +author:1636357518=jrmu +diff:1636357518:1636356652:=103,107c103,113%0a%3c Replace @@/path/to/respository@@.%0a%3c %0a%3c You can check out code from a specific branch or%0a%3c commit with @@-b@@ and @@-c@@:%0a%3c %0a---%0a> @@got checkout@@ will show these status codes:%0a> %0a> || border=1 width=50%25 class="sortable simpletable"%0a> ||! Status || Meaning ||%0a> || A || new file added ||%0a> || E || file already exists ||%0a> %0a> !! Add file%0a> %0a> To add an unversioned file for the next commit:%0a> %0a109c115%0a%3c $ got checkout -b branch -c commit /path/to/repository%0a---%0a> $ got add filename%0a112,115c118,119%0a%3c got creates an ID SHA1 hash for every commit, so replace @@commit@@ with that hash.%0a%3c %0a%3c For example:%0a%3c %0a---%0a> Replace @@filename@@. If adding a directory:%0a> %0a117c121%0a%3c $ got checkout -b HEAD -c f4ade537d550b872b7e86e6ffce940dfbad4c60c ~/ngircd.git%0a---%0a> $ got add -R pathname%0a120,132c124,129%0a%3c This will check out the f4ade537d550b872b7e86e6ffce940dfbad4c60c commit from HEAD of the ngircd.git repo.%0a%3c %0a%3c @@got checkout@@ will show these status codes:%0a%3c %0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || A || new file added ||%0a%3c || E || file already exists ||%0a%3c %0a%3c !! Add file%0a%3c %0a%3c To add an unversioned file for the next commit:%0a%3c %0a---%0a> @@-R@@ allows recursion. Replace @@pathname@@.%0a> %0a> !! Remove file%0a> %0a> To remove a versioned file for deletion from the repo in the next commit:%0a> %0a134c131%0a%3c $ got add filename%0a---%0a> $ got remove filename%0a137,138c134,135%0a%3c Replace @@filename@@. If adding a directory:%0a%3c %0a---%0a> Replace @@filename@@. If removing a directory:%0a> %0a140c137%0a%3c $ got add -R pathname%0a---%0a> $ got remove -R pathname%0a145,148c142,145%0a%3c !! Remove file%0a%3c %0a%3c To remove a versioned file for deletion from the repo in the next commit:%0a%3c %0a---%0a> !! View changes%0a> %0a> To view changes in a work tree:%0a> %0a150c147%0a%3c $ got remove filename%0a---%0a> $ got diff | less%0a152,175d148%0a%3c %0a%3c Replace @@filename@@. If removing a directory:%0a%3c %0a%3c [@%0a%3c $ got remove -R pathname%0a%3c @]%0a%3c %0a%3c @@-R@@ allows recursion. Replace @@pathname@@.%0a%3c %0a%3c !! View changes%0a%3c %0a%3c To view changes in a work tree:%0a%3c %0a%3c [@%0a%3c $ got diff%0a%3c @]%0a%3c %0a%3c If you provide two objects, got will show the diff between just those two:%0a%3c %0a%3c [@%0a%3c $ got diff object1 object2%0a%3c @]%0a%3c %0a%3c Replace @@object1@@ and @@object@@ with the ID SHA1 hash.%0a +host:1636357518=198.251.82.194 +author:1636356652=jrmu +diff:1636356652:1636354343:=84,85c84,85%0a%3c $ git clone https://github.com/openbsd/src.git%0a%3c %0a---%0a> $ git clone --bare https://github.com/openbsd/src.git%0a> %0a87,88d86%0a%3c %0a%3c To fetch changes from a remote repo:%0a +host:1636356652=198.251.82.194 +author:1636354343=jrmu +diff:1636354343:1636311523:=25c25%0a%3c Replace @@username@@ and @@username@example.com@@. It's recommended to add this as part of your [[ksh/profile|~/.profile]]:%0a---%0a> It's recommended to add this as part of your [[ksh/profile|~/.profile]]:%0a +host:1636354343=38.87.162.47 +author:1636311523=jrmu +diff:1636311523:1636311473:= +host:1636311523=38.87.162.47 +author:1636311473=jrmu +diff:1636311473:1636310843:=108,109c108,109%0a%3c !! Add file%0a%3c %0a---%0a> !! Add File%0a> %0a120,135d119%0a%3c @]%0a%3c %0a%3c @@-R@@ allows recursion. Replace @@pathname@@.%0a%3c %0a%3c !! Remove file%0a%3c %0a%3c To remove a versioned file for deletion from the repo in the next commit:%0a%3c %0a%3c [@%0a%3c $ got remove filename%0a%3c @]%0a%3c %0a%3c Replace @@filename@@. If removing a directory:%0a%3c %0a%3c [@%0a%3c $ got remove -R pathname%0a +host:1636311473=38.87.162.47 +author:1636310843=jrmu +diff:1636310843:1636310808:= +host:1636310843=38.87.162.47 +author:1636310808=jrmu +diff:1636310808:1636310558:=108,111c108,111%0a%3c !! Add File%0a%3c %0a%3c To add an unversioned file for the next commit:%0a%3c %0a---%0a> !! View changes%0a> %0a> To view changes in a work tree:%0a> %0a113c113%0a%3c $ got add filename%0a---%0a> $ got diff | less%0a116,117c116,119%0a%3c Replace @@filename@@. If adding a directory:%0a%3c %0a---%0a> !! Update%0a> %0a> To update the work tree to the most recent commit:%0a> %0a119c121%0a%3c $ got add -R pathname%0a---%0a> $ got update%0a122,139d123%0a%3c @@-R@@ allows recursion. Replace @@pathname@@.%0a%3c %0a%3c !! View changes%0a%3c %0a%3c To view changes in a work tree:%0a%3c %0a%3c [@%0a%3c $ got diff | less%0a%3c @]%0a%3c %0a%3c !! Update%0a%3c %0a%3c To update the work tree to the most recent commit:%0a%3c %0a%3c [@%0a%3c $ got update%0a%3c @]%0a%3c %0a183,184d166%0a%3c %0a%3c To show commit history:%0a +host:1636310808=38.87.162.47 +author:1636310558=jrmu +diff:1636310558:1636310282:=166,170d165%0a%3c !! Show History%0a%3c %0a%3c [@%0a%3c $ got log%0a%3c @]%0a +host:1636310558=38.87.162.47 +author:1636310282=jrmu +diff:1636310282:1636310079:=157,164d156%0a%3c %0a%3c If changes are staged, the second column uses these codes:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || M || modification staged ||%0a%3c || A || addition staged ||%0a%3c || D || deletion staged ||%0a +host:1636310282=38.87.162.47 +author:1636310079=jrmu +diff:1636310079:1636309758:=139,156d138%0a%3c %0a%3c !! View status%0a%3c %0a%3c To view the status of files in a work tree:%0a%3c %0a%3c [@%0a%3c $ got status%0a%3c @]%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a%3c || M || modified ||%0a%3c || A || added in next commit ||%0a%3c || D || deleted in next commit ||%0a%3c || C || modified or added but contains merge conflicts ||%0a%3c || ! || versioned file expected but missing ||%0a%3c || ~ || versioned file blocked by non-regular file ||%0a%3c || ? || unversioned item, not tracked ||%0a +host:1636310079=38.87.162.47 +author:1636309758=jrmu +diff:1636309758:1636309454:=137,139d136%0a%3c %0a%3c '''NOTE''': If there are staged changes, you must first commit or unstage them before using @@got update@@.%0a%3c %0a +host:1636309758=38.87.162.47 +author:1636309454=jrmu +diff:1636309454:1636309430:=126c126%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25 class="sortable simpletable" ||%0a +host:1636309454=38.87.162.47 +author:1636309430=jrmu +diff:1636309430:1636309382:=103,104c103,104%0a%3c || border=1 width=50%25 class="sortable simpletable"%0a%3c ||! Status || Meaning ||%0a---%0a> || border=1 width=100%25 class="sortable simpletable" ||%0a> ||! Status Code || Meaning ||%0a127c127%0a%3c ||! Status || Meaning ||%0a---%0a> ||! Status Code || Meaning ||%0a +host:1636309430=38.87.162.47 +author:1636309382=jrmu +diff:1636309382:1636309309:=103,106c103,106%0a%3c || border=1 width=100%25 class="sortable simpletable" ||%0a%3c ||! Status Code || Meaning ||%0a%3c || A || new file added ||%0a%3c || E || file already exists ||%0a---%0a> [@%0a> A - new file added%0a> E - file already exists%0a> @]%0a +host:1636309382=38.87.162.47 +author:1636309309=jrmu +diff:1636309309:1636308300:=115,136d114%0a%3c %0a%3c !! Update%0a%3c %0a%3c To update the work tree to the most recent commit:%0a%3c %0a%3c [@%0a%3c $ got update%0a%3c @]%0a%3c %0a%3c This will require manual merging of files if there are conflicts.%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable" ||%0a%3c ||! Status Code || Meaning ||%0a%3c || U || file updated, no local changes ||%0a%3c || G || file updated, local changes merged ||%0a%3c || C || file updated, conflicts occurred during merge ||%0a%3c || D || file deleted ||%0a%3c || A || new file added ||%0a%3c || ~ || versioned file blocked by non-regular file ||%0a%3c || ! || missing versioned file restored ||%0a%3c || # || file not updated due to merge conflicts ||%0a%3c || ? || changes for an unversioned file not merged ||%0a +host:1636309309=38.87.162.47 +author:1636308300=jrmu +diff:1636308300:1636308139:=101,103d100%0a%3c @@got checkout@@ will show these status codes:%0a%3c %0a%3c [@%0a106,107c103%0a%3c @]%0a%3c %0a---%0a> %0a112d107%0a%3c [@%0a114d108%0a%3c @]%0a +host:1636308300=38.87.162.47 +author:1636308139=jrmu +diff:1636308139:1636307706:=104,108c104,121%0a%3c !! View changes%0a%3c %0a%3c To view changes in a work tree:%0a%3c %0a%3c $ got diff | less%0a---%0a> View local changes in a work tree directory:%0a> %0a> $ got diff | less%0a> %0a> In a work tree, display files in a potentially%0a> problematic state:%0a> %0a> $ got status -s 'C!~?'%0a> %0a> Interactively revert selected local changes in a work%0a> tree directory:%0a> %0a> $ got revert -p -R .%0a> %0a> In a work tree or a git repository directory, list all%0a> branch references:%0a> %0a> $ got branch -l%0a +host:1636308139=38.87.162.47 +author:1636307706=jrmu +diff:1636307706:1636307524:=17,18c17,18%0a%3c !! Configuring Got%0a%3c %0a---%0a> !! Create a new repository%0a> %0a37,42c37,38%0a%3c By default, got uses the text editor [[ed/usage|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a%3c %0a%3c !! Create a new repository%0a%3c %0a%3c To create an empty repository:%0a%3c %0a---%0a> Next, create an empty repository:%0a> %0a104,121c100%0a%3c View local changes in a work tree directory:%0a%3c %0a%3c $ got diff | less%0a%3c %0a%3c In a work tree, display files in a potentially%0a%3c problematic state:%0a%3c %0a%3c $ got status -s 'C!~?'%0a%3c %0a%3c Interactively revert selected local changes in a work%0a%3c tree directory:%0a%3c %0a%3c $ got revert -p -R .%0a%3c %0a%3c In a work tree or a git repository directory, list all%0a%3c branch references:%0a%3c %0a%3c $ got branch -l%0a---%0a> By default, got uses the text editor [[ed/usage|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a +host:1636307706=38.87.162.47 +author:1636307524=jrmu +diff:1636307524:1636305741:=31,32c31,32%0a%3c Let's also enable tab-completion of got commands:%0a%3c %0a---%0a> Next, create an empty repository:%0a> %0a34c34%0a%3c $ echo "set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)" >> ~/.profile%0a---%0a> $ got init /path/to/repository%0a37,42d36%0a%3c Next, create an empty repository:%0a%3c %0a%3c [@%0a%3c $ got init /path/to/repository%0a%3c @]%0a%3c %0a71,72c65,66%0a%3c For example, to clone OpenBSD's github repo:%0a%3c %0a---%0a> !! Fetch new changes%0a> %0a74,75c68%0a%3c $ cd /var/git/%0a%3c $ got clone ssh://git@github.com/openbsd/src.git%0a---%0a> $ got fetch%0a77,100d69%0a%3c %0a%3c HTTP URLs currently requires [[git/usage|git]]:%0a%3c %0a%3c $ git clone --bare https://github.com/openbsd/src.git%0a%3c %0a%3c !! Fetch new changes%0a%3c %0a%3c [@%0a%3c $ got fetch%0a%3c @]%0a%3c %0a%3c !! Checkout code%0a%3c %0a%3c Once you have a repository, you must first '''checkout'''%0a%3c the code into a '''work tree''' before you can use it:%0a%3c %0a%3c [@%0a%3c $ got checkout /path/to/repository%0a%3c @]%0a%3c %0a%3c A - new file added%0a%3c E - file already exists%0a%3c %0a%3c By default, got uses the text editor [[ed/usage|ed]] if [[ksh/editor|$EDITOR]] or [[ksh/editor|$VISUAL]] are not set.%0a +host:1636307524=38.87.162.47 +author:1636305741=jrmu +diff:1636305741:1636305668:= +host:1636305741=38.87.162.47 +author:1636305668=jrmu +diff:1636305668:1636305651:=69a70,80%0a> %0a> !!! Create a mirror%0a> %0a> To create a cloned mirror of a repository:%0a> %0a> [@%0a> $ got clone -m git://example.com/repo.git%0a> @]%0a> %0a> '''WARNING''': With a cloned repository, new fetches will%0a> cause any custom changes to get discarded.%0a +host:1636305668=38.87.162.47 +author:1636305651=jrmu +diff:1636305651:1636305402:=79c79%0a%3c '''WARNING''': With a cloned repository, new fetches will%0a---%0a> '''WARNING''': With a cloned repository, fetches will%0a +host:1636305651=38.87.162.47 +author:1636305402=jrmu +diff:1636305402:1636304457:=64,80d63%0a%3c %0a%3c !! Fetch new changes%0a%3c %0a%3c [@%0a%3c $ got fetch%0a%3c @]%0a%3c %0a%3c !!! Create a mirror%0a%3c %0a%3c To create a cloned mirror of a repository:%0a%3c %0a%3c [@%0a%3c $ got clone -m git://example.com/repo.git%0a%3c @]%0a%3c %0a%3c '''WARNING''': With a cloned repository, fetches will%0a%3c cause any custom changes to get discarded.%0a +host:1636305402=38.87.162.47 +author:1636304457=jrmu +diff:1636304457:1636303309:=56c56%0a%3c $ got clone git://example.com/repo.git%0a---%0a> $ got clone git://example.com/%0a62c62%0a%3c $ got clone git+ssh://example.com/repo.git%0a---%0a> $ got clone git+ssh://example.com/%0a +host:1636304457=38.87.162.47 +author:1636303309=jrmu +diff:1636303309:1636300531:=42c42%0a%3c $ got import -m "Import sources" -r /path/to/repository /path/to/code%0a---%0a> $ got import -m "Import message" -r /path/to/repository /path/to/code%0a45,47d44%0a%3c * @@-m@@ provides the log message for the import.%0a%3c * @@-r@@ provides the repository path.%0a%3c %0a51,63d47%0a%3c !! Clone a repository%0a%3c %0a%3c To clone a repo without encryption ('''WARNING''': insecure):%0a%3c %0a%3c [@%0a%3c $ got clone git://example.com/%0a%3c @]%0a%3c %0a%3c To clone a repo using [[OpenSSH/Connect|ssh]]:%0a%3c %0a%3c [@%0a%3c $ got clone git+ssh://example.com/%0a%3c @]%0a +host:1636303309=38.87.162.47 +author:1636300531=jrmu +diff:1636300531:1636300229:=28c28%0a%3c $ echo 'export GOT_AUTHOR="username %3cusername@example.com>"' >> ~/.profile%0a---%0a> $ echo 'export GOT_AUTHOR="username%3cusername@example.com>"' >> ~/.profile%0a +host:1636300531=38.87.162.47 +author:1636300229=jrmu +diff:1636300229:1636299491:=16a17,20%0a> !! Documentation%0a> %0a> [[http://gameoftrees.org/got.1.html|got]]%0a> %0a19,20c23,24%0a%3c First, we need to tell [[http://gameoftrees.org/got.1.html|got]] about the author of the repo:%0a%3c %0a---%0a> First, we create an empty repository:%0a> %0a22c26%0a%3c $ export GOT_AUTHOR="username %3cusername@example.com>"%0a---%0a> $ got init /path/to/repository%0a25,26c29,32%0a%3c It's recommended to add this as part of your [[ksh/profile|~/.profile]]:%0a%3c %0a---%0a> Replace @@/path/to/repository@@.%0a> %0a> Afterwards, we need to import the code for the repository:%0a> %0a28c34%0a%3c $ echo 'export GOT_AUTHOR="username%3cusername@example.com>"' >> ~/.profile%0a---%0a> $ got import -m "Import message" -r /path/to/repository /path/to/code%0a31,44d36%0a%3c Next, create an empty repository:%0a%3c %0a%3c [@%0a%3c $ got init /path/to/repository%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/repository@@.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import message" -r /path/to/repository /path/to/code%0a%3c @]%0a%3c %0a47c39%0a%3c %0a---%0a> [[http://gameoftrees.org/got.conf.5.html|got.conf]]%0a +host:1636300229=38.87.162.47 +author:1636299491=jrmu +diff:1636299491:1636299388:=38,39d37%0a%3c %0a%3c [[http://gameoftrees.org/got.conf.5.html|got.conf]]%0a +host:1636299491=38.87.162.47 +author:1636299388=jrmu +diff:1636299388:1636298711:=20,37d19%0a%3c %0a%3c !! Create a new repository%0a%3c %0a%3c First, we create an empty repository:%0a%3c %0a%3c [@%0a%3c $ got init /path/to/repository%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/repository@@.%0a%3c %0a%3c Afterwards, we need to import the code for the repository:%0a%3c %0a%3c [@%0a%3c $ got import -m "Import message" -r /path/to/repository /path/to/code%0a%3c @]%0a%3c %0a%3c Replace @@/path/to/repository@@ and @@/path/to/code@@.%0a +host:1636299388=38.87.162.47 +author:1636298711=jrmu +diff:1636298711:1636298582:=17,19d16%0a%3c !! Documentation%0a%3c %0a%3c [[http://gameoftrees.org/got.1.html|got]]%0a +host:1636298711=38.87.162.47 +author:1636298582=jrmu +diff:1636298582:1636298447:=3c3%0a%3c [[http://gameoftrees.org|Game of Trees (Got)]] is a simple, easy to use%0a---%0a> Game of Trees (Got) is a simple, easy to use%0a +host:1636298582=38.87.162.47 +author:1636298447=jrmu +diff:1636298447:1636298220:=1,12d0%0a%3c (:title Game of Trees:)%0a%3c %0a%3c Game of Trees (Got) is a simple, easy to use%0a%3c version control system that aims to be compatible%0a%3c with git repos.%0a%3c %0a%3c It's still under development, but can be used today%0a%3c as a substitute for git. It is freely reusable under%0a%3c a BSD license.%0a%3c %0a%3c !! Install%0a%3c %0a16d3%0a%3c %0a +host:1636298447=38.87.162.47 +author:1636298220=jrmu +diff:1636298220:1636298220:=1,3d0%0a%3c [@%0a%3c $ doas pkg_add got%0a%3c @]%0a +host:1636298220=38.87.162.47 blob - /dev/null blob + 477c67fea17a1d8978facac7db69316ccd1e41fb (mode 644) --- /dev/null +++ wiki.d/Gotweb.Install @@ -0,0 +1,54 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1639668876 +host=198.251.82.194 +name=Gotweb.Install +rev=14 +targets= +text=To set up gotweb:%0a%0a[@%0a$ doas pkg_add gotweb%0a@]%0a%0aAdd this block to /etc/httpd.conf:%0a%0a[@%0atypes { include "/usr/share/misc/mime.types" }%0aserver "gotweb.example.com" {%0a listen on * port 80%0a root "/htdocs"%0a location "/cgi-bin/*" {%0a root "/"%0a fastcgi%0a }%0a location "/*" {%0a directory index "gotweb/index.html"%0a }%0a}%0a@]%0a%0a[@%0a$ doas mkdir -p /var/www/etc%0a@]%0a%0aInside /var/www/etc/gotweb.conf%0a%0a[@%0agot_repos_path "/got/public"%0agot_www_path "/gotweb"%0agot_max_commits_display 1000%0agot_site_name "Made on IRCNow"%0agot_site_owner "IRCNow"%0agot_logo_url "https://got.ircnow.org"%0agot_site_link "repos"%0agot_logo "madeonirc128x128.png"%0agot_logo_url "https://got.ircnow.org/"%0a@]%0a%0aUpload your logo to /var/www/htdocs/gotweb:%0a%0a[@%0a$ cd /var/www/htdocs/gotweb%0a$ doas ftp https://wiki.ircnow.org/uploads/Marketing/madeonirc128x128.png%0a$ doas chown root:bin madeonirc128x128.png%0a@]%0a%0agotweb needs write permissions:%0a%0a[@%0a$ doas chown www:daemon /var/www/got/tmp/%0a@]%0a%0ayou'll need to have these running:%0a%0a[@%0a$ doas rcctl enable httpd slowcgi%0a$ doas rcctl start httpd slowcgi%0a@]%0a%0a!! Import repos%0a%0a[@%0a$ doas chown -R $USER:daemon /var/www/got/public/%0a$ openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/%0a@]%0a%0a!! Cronjobs%0a%0aPeriodically you need to sync your repos:%0a%0a[@%0a$ crontab -e%0a@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/%0a@]%0a +time=1639748533 +author:1639748533=jrmu +diff:1639748533:1639748441:=75,76c75%0a%3c $ crontab -e%0a%3c @daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/%0a---%0a> $ echo "@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" | doas crontab -u $USER -%0a +host:1639748533=198.251.82.194 +author:1639748441=jrmu +diff:1639748441:1639748397:=75c75%0a%3c $ echo "@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" | doas crontab -u $USER -%0a---%0a> $ echo "@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" >> /var/cron/tabs/$USER%0a +host:1639748441=198.251.82.194 +author:1639748397=jrmu +diff:1639748397:1639733653:=75c75%0a%3c $ echo "@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" >> /var/cron/tabs/$USER%0a---%0a> $ echo "@daily -s openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" >> /var/cron/tabs/$USER%0a +host:1639748397=198.251.82.194 +author:1639733653=jrmu +diff:1639733653:1639733336:=48,53d47%0a%3c @]%0a%3c %0a%3c gotweb needs write permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown www:daemon /var/www/got/tmp/%0a +host:1639733653=198.251.82.194 +author:1639733336=jrmu +diff:1639733336:1639722090:=19c19%0a%3c directory index "gotweb/index.html"%0a---%0a> directory index "index.html"%0a +host:1639733336=198.251.82.194 +author:1639722090=jrmu +diff:1639722090:1639718047:=34c34%0a%3c got_site_name "Made on IRCNow"%0a---%0a> got_site_name "IRCNow Software"%0a +host:1639722090=198.251.82.194 +author:1639718047=jrmu +diff:1639718047:1639717626:=38c38%0a%3c got_logo "madeonirc128x128.png"%0a---%0a> got_logo "https://wiki.ircnow.org/uploads/Marketing/madeonirc.png"%0a46,47c46,47%0a%3c $ doas ftp https://wiki.ircnow.org/uploads/Marketing/madeonirc128x128.png%0a%3c $ doas chown root:bin madeonirc128x128.png%0a---%0a> $ doas ftp https://wiki.ircnow.org/uploads/Marketing/madeonirc.png%0a> $ doas chown root:bin madeonirc.png%0a +host:1639718047=38.87.162.47 +author:1639717626=jrmu +diff:1639717626:1639717156:=13c13%0a%3c root "/htdocs"%0a---%0a> root "/htdocs/gotweb"%0a +host:1639717626=38.87.162.47 +author:1639717156=jrmu +diff:1639717156:1639716708:=40,47d39%0a%3c @]%0a%3c %0a%3c Upload your logo to /var/www/htdocs/gotweb:%0a%3c %0a%3c [@%0a%3c $ cd /var/www/htdocs/gotweb%0a%3c $ doas ftp https://wiki.ircnow.org/uploads/Marketing/madeonirc.png%0a%3c $ doas chown root:bin madeonirc.png%0a +host:1639717156=38.87.162.47 +author:1639716708=jrmu +diff:1639716708:1639716206:=7,8c7,8%0a%3c Add this block to /etc/httpd.conf:%0a%3c %0a---%0a> Inside /etc/httpd.conf:%0a> %0a31,33d30%0a%3c got_repos_path "/got/public"%0a%3c got_www_path "/gotweb"%0a%3c got_max_commits_display 1000%0a36,39c33%0a%3c got_logo_url "https://got.ircnow.org"%0a%3c got_site_link "repos"%0a%3c got_logo "https://wiki.ircnow.org/uploads/Marketing/madeonirc.png"%0a%3c got_logo_url "https://got.ircnow.org/"%0a---%0a> got_logo_url "https://git.ircnow.org"%0a +host:1639716708=38.87.162.47 +author:1639716206=jrmu +diff:1639716206:1639716148:=0a1,9%0a> To import a project into got:%0a> %0a> [@%0a> $ doas pkg_add got%0a> $ got init reponame%0a> $ export GOT_AUTHOR="YOURNAME %3cYOUR EMAIL>"%0a> $ got import -m "Initial import" -r repo-path files/%0a> @]%0a> %0a +host:1639716206=38.87.162.47 +author:1639716148=jrmu +diff:1639716148:1639716040:=52,53c52,55%0a%3c !! Import repos%0a%3c %0a---%0a> !! Cronjobs%0a> %0a> Periodically you need to sync your repos:%0a> %0a55d56%0a%3c $ doas chown -R $USER:daemon /var/www/got/public/%0a57,63d57%0a%3c @]%0a%3c %0a%3c !! Cronjobs%0a%3c %0a%3c Periodically you need to sync your repos:%0a%3c %0a%3c [@%0a +host:1639716148=38.87.162.47 +author:1639716040=jrmu +diff:1639716040:1639668876:=50,58d49%0a%3c @]%0a%3c %0a%3c !! Cronjobs%0a%3c %0a%3c Periodically you need to sync your repos:%0a%3c %0a%3c [@%0a%3c $ openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/%0a%3c $ echo "@daily -s openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/" >> /var/cron/tabs/$USER%0a +host:1639716040=38.87.162.47 +author:1639668876=jrmu +diff:1639668876:1639668876:=1,50d0%0a%3c To import a project into got:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add got%0a%3c $ got init reponame%0a%3c $ export GOT_AUTHOR="YOURNAME %3cYOUR EMAIL>"%0a%3c $ got import -m "Initial import" -r repo-path files/%0a%3c @]%0a%3c %0a%3c To set up gotweb:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add gotweb%0a%3c @]%0a%3c %0a%3c Inside /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c types { include "/usr/share/misc/mime.types" }%0a%3c server "gotweb.example.com" {%0a%3c listen on * port 80%0a%3c root "/htdocs/gotweb"%0a%3c location "/cgi-bin/*" {%0a%3c root "/"%0a%3c fastcgi%0a%3c }%0a%3c location "/*" {%0a%3c directory index "index.html"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /var/www/etc%0a%3c @]%0a%3c %0a%3c Inside /var/www/etc/gotweb.conf%0a%3c %0a%3c [@%0a%3c got_site_name "IRCNow Software"%0a%3c got_site_owner "IRCNow"%0a%3c got_logo_url "https://git.ircnow.org"%0a%3c @]%0a%3c %0a%3c you'll need to have these running:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable httpd slowcgi%0a%3c $ doas rcctl start httpd slowcgi%0a%3c @]%0a +host:1639668876=38.87.162.47 blob - /dev/null blob + 4eb848450f0d09f7e47ea8d4d04fe440f21ec1f0 (mode 644) --- /dev/null +++ wiki.d/Gotweb.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1639668876 +host=198.251.82.194 +name=Gotweb.RecentChanges +rev=14 +text=* [[Gotweb/Install]] . . . December 17, 2021, at 01:42 PM by [[~jrmu]]: [==]%0a +time=1639748533 blob - /dev/null blob + 898847b25b2a34d185cd66ec5ba50eaa098e848c (mode 644) --- /dev/null +++ wiki.d/Gpg.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1635561980 +host=38.87.162.47 +name=Gpg.RecentChanges +rev=1 +text=* [[Gpg/Verify]] . . . October 30, 2021, at 02:46 AM by [[~jrmu]]: [==]%0a +time=1635561980 blob - /dev/null blob + 109e93ce73256cd9db842ccc3993d88e4ef45bb7 (mode 644) --- /dev/null +++ wiki.d/Gpg.Verify @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635561980 +host=38.87.162.47 +name=Gpg.Verify +rev=1 +targets= +text=[@%0a$ doas pkg_add gnupg%0a$ gpg2 --verify $FILE.sig $FILE%0a@]%0a +time=1635561980 +author:1635561980=jrmu +diff:1635561980:1635561980:=1,4d0%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c $ gpg2 --verify $FILE.sig $FILE%0a%3c @]%0a +host:1635561980=38.87.162.47 blob - /dev/null blob + 895684029a9a3127cdb6063047d72bb3c44d02a1 (mode 644) --- /dev/null +++ wiki.d/Gpl.Flaws @@ -0,0 +1,394 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615693590 +host=198.251.81.119 +name=Gpl.Flaws +rev=127 +targets=Freedom.Independence,Linux.Flaws,License.Ircnow +text=(:title The GPL Isn't Fully Free:)%0a%0aThere are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL), which was created by the Free Software Foundation (FSF). Unfortunately, these licenses are not completely free because they restrict what users can do with the software.%0a%0aOur goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license hampers our effort towards greater user freedom.%0a%0a!! GPL Restricts User Ownership%0a%0aIn a free society, users should have the economic freedom to own property. To create a truly free society, users should have:%0a%0a# The freedom to build and advertise their business%0a# The freedom to profit from improvements they add to a free ecosystem%0a%0aOwning property means you have '''the ability to control who can use it'''. If you are '''forced''' to share something, it's not really your property anymore. If you were '''forced''' to share your house with strangers you don't want to live with, life would not feel very free. Giving users the right to own property is essential in a truly free society.%0a%0a'''The GPL, however, takes away the user's ownership rights'''. This is because the GPL takes away your exclusive rights to works you create:%0a%0a# If GPL source code is required to compile software, '''the user loses ownership of the entire program'''.%0a# If a program statically links to a GPL library, '''the user loses ownership of the entire program'''.%0a# If there are any patents associated with software under the GPL, '''the user must forfeit ownership of his patents'''.%0a%0aIf the user refuses to give up ownership of his modified work, a lawyer can sue him in a court of law! This is the unhappy condition of GPL users.%0a%0aWe would, of course, be happy for the user to share his work with our network under a free license. In fact, it is necessary that many users share, because without enough users contributing free software, we would not have a free network at all. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a%0aJust as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his labor and money to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a%0a!! GPL Discourages 3rd Party Developers%0a%0aWith the GPL, you are forced to surrender ownership rights over your source code. As a result, it becomes practically impossible to sell software for a living. The FSF claims you can sell free software, but in practice, the price of the vast majority of GPL software is zero.%0a%0aVery few developers can afford to work full-time on a project by surviving on donations. Many users are forced to treat GPL software as a hobby -- something done for fun, but unsuitable to earn a living. So instead of building up a healthy ecosystem around free protocols and free software, the GPL has forced these developers to instead build apps for non-free protocols and non-free software.%0a%0aFree protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to completely non-free app stores and networks.%0a%0aAlthough we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a vibrant third party ecosystem of bots, games, apps, and services, a network isn't very interesting. It will struggle to get users.%0a%0aSocial networks like Facebook and Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without financial incentives for third party developers, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a%0a!! Not Everyone Can Sell Services%0a%0aMany corporations earn money running GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself. This again is because the GPL forces them to surrender all ownership rights to the code.%0a%0aMany companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects are written by working-class users who do not have billionaire customers willing to pay huge premiums for support.%0a%0aIf you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. Silicon Valley does not care about free protocols like IRC. We are talking about helping the average indie developer who is struggling to earn a living. They need us to protect their rights to property ownership.%0a%0a!! Software as a Service (SaaS) is often not free%0a%0aSince the GPL makes it very difficult to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. These loopholes do not violate the letter of the GPL, but they certainly violate the spirit of equality and freedom that a free network should stand for.%0a%0aAs one example, many companies offer cloud computing or software as a service (SaaS). To earn money, many of these companies deliberately make it difficult for to run the software on your own computer.%0a%0aMost of them will completely deny you access to the source code. They produce GPL software but you have no access to either the binary or the source. Since they don't distribute the software, there is no obligation for them to share it with you. And since you lack the code, you have no real voice in how the network is run. This is how the majority of cloud computing services work today. They use lots of GPL-licensed software but do not provide users with any freedom.%0a%0aIn response, the FSF created the Affero GPL (AGPL). The AGPL forces service providers to surrender ownership of their code. As you might expect, this again destroys all incentive to contribute to the ecosystem. Very few developers today earn money from code licensed under the AGPL.%0a%0a!! Dual Licensing is a Double Standard%0a%0aAnother loophole used by GPL developers is dual-licensing. They will offer two versions of their software: one that you can buy at a high price, which gives you the freedom to do whatever you want with, and another that is GPL licensed, where you surrender ownership rights. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%0aThis sneaky trick actually creates a caste system, a society with two classes: free software for the rich, and GPL-restricted software for the poor. If you can afford the high licensing fees, you can keep ownership rights to your work. If you can't, you must use software you can never own.%0a%0aThe FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to earn money. But this serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''.%0a%0aThe rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a%0a!! GPL Relies on Corporate Funding%0a%0aIn order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their employer pays them to work on GPL code because it fits their corporate agenda. But does this make our community more free? Do we really want a patronage system where Silicon Valley controls and steers the development of our software? This will corrupt the ethics of a free community.%0a%0a[[freedom/independence|Silicon Valley]] is the sworn enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking their donations to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. These users can only afford to make these contributions if you allow them ownership of their work.%0a%0a!! Donations are not a Business Model%0a%0aOther GPL developers rely on donations from ordinary users. Here, there is no conflict of interest. But apart from a few celebrities like Wikipedia and Mozilla, the majority of developers who rely solely on user donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received for his GPL-licensed work.%0a%0aSelling branded merchandise like t-shirts and coffee mugs, asking for tips, selling DVDs and flash drives are all forms of donations. Customers are willing to purchase them because of goodwill.%0a%0aDonations are nice, but they are not a business model.%0a%0a!! GPL is designed for Corporations, not Users%0a%0aThe GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users. It was written for copyright lawyers, so the document is hard to understand. Here is one example:%0a%0a--> 7. f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.%0a%0aMost users (and even lawyers) simply resort to reading the [[http://www.gnu.org/licenses/gpl-faq.html|License FAQ]] instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says.%0a%0aDoes it make sense to legally bind users to follow a license that you have not read? How can you be sure you are complying with a license you can't understand?%0a%0a(:if false:)%0a!! Collateral Damage%0a%0aunjust power%0asystem of oppression%0athese are phrases are rightfully used against Silicon Valley, but they are not phrases we ought to hurl at small indie developers trying to make a living.%0aThe problem is that many GPL users will attack indie developers as unethical and unjust, but will not criticize Silicon Valley when they slap a GPL sticker on it.%0aA nonfree program is a yoke, an instrument of unjust power.%0aWith the goal of ending the injustice of nonfree software%0aDistributing a program to users without freedom mistreats those users; however, choosing not to distribute the program does not mistreat anyone.%0aPrimary And Secondary Injustices%0aWhen you use proprietary programs or SaaSS, first of all you do wrong to yourself, because it gives some entity unjust power over you. For your own sake, you should escape. It also wrongs others if you make a promise not to share. It is evil to keep such a promise, and a lesser evil to break it; to be truly upright, you should not make the promise at all.%0aWith proprietary software, the program controls the users, and some other entity (the developer or "owner") controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.%0aThe Injustice of Proprietariness%0aIf the users don't control the program, the program controls the users. With proprietary software, there is always some entity, the developer or "owner" of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.%0aadvocates unfortunately encourages%0aThe GPL gives developers a false sense of security%0aIf a corporation wants to steal the code, they will%0aand if they don't want to share it, they will find loopholes to avoid doing so%0a(:ifend:)%0a%0a!! GPL Enforcement Increases Power of Copyrights%0a%0a!! GPL Restricts Code Reuse%0a%0aThese restrictions require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. %0aThese restrictions make the GPL license incompatible with other software licenses. For example, ZFS uses the CDDL. This license is incompatible with the GPL, and so ZFS software cannot be legally included in the linux kernel.%0a%0aThis harms end users. The GPL, for example, is incompatible with the App store. This effectively means that it is impossible for iOS users to ever use GPL code.%0a%0a!! GPL is Declining%0a%0aThe GPL became very popular because of the success of several flagship products, most notably the Linux kernel and the GNU C Compiler (gcc). As a result, the GPL was very popular during the 90s and early 2000s.%0a%0aHowever, times are rapidly changing. The FSF today is no longer the same organization; it has replaced its founder, the creator of the GPL, Richard Stallman. Future revisions of the GPL now lies in the hands of a bureaucracy that may not be a trustworthy guardian of user freedom.%0a%0aAs for the Linux kernel, it has been subverted by [[linux/flaws|corporate donors]] who have proven themselves hostile towards user freedom.%0a%0aIn general, there is a shift now towards permissive licenses, and this trend will only continue.%0a%0a!! GPL isn't Neutral%0a%0aThe GPL is designed to force the control of the software into the hands of the copyleft community. On the other hand, permissively-licensed code can be taken by any users of any political ideology. It makes no distinction between copyleft or copyright parties. It is neutral and can unite both factions.%0a%0a!! IRCNow License%0a%0aThe [[license/ircnow|IRCNow license]] comes closest to the public domain ideal. The user doesn't need to read any license agreements, sign any contracts, or even give the author any credit. There are no strings attached. The user is free to do whatever he wants with it. +time=1619283380 +title=The GPL Isn't Fully Free +author:1619283380=jrmu +diff:1619283380:1619283351:=92c92%0a%3c (:if false:)%0a---%0a> (:if true:)%0a +host:1619283380=198.251.81.119 +author:1619283351=jrmu +diff:1619283351:1619283324:=92d91%0a%3c (:if true:)%0a94a94%0a> (:if true:)%0a +host:1619283351=198.251.81.119 +author:1619283324=jrmu +diff:1619283324:1619283249:=96a97%0a> %0a97a99%0a> %0a98a101%0a> %0a99a103%0a> %0a100a105%0a> %0a101a107%0a> %0a102a109%0a> %0a103a111%0a> %0a104a113%0a> %0a105a115%0a> %0a106a117%0a> %0a107a119%0a> %0a108a121%0a> %0a110a124%0a> %0a +host:1619283324=198.251.81.119 +author:1619283249=jrmu +diff:1619283249:1619283194:=112,113c112,113%0a%3c With proprietary software, the program controls the users, and some other entity (the developer or "owner") controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.%0a%3c %0a---%0a> With proprietary software, the program controls the users, and some other entity (the developer or “owner”) controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.%0a> %0a116c116%0a%3c If the users don't control the program, the program controls the users. With proprietary software, there is always some entity, the developer or "owner" of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.%0a---%0a> If the users don't control the program, the program controls the users. With proprietary software, there is always some entity, the developer or “owner” of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.%0a +host:1619283249=198.251.81.119 +author:1619283194=jrmu +diff:1619283194:1619283168:=118c118%0a%3c advocates unfortunately encourages%0a---%0a> advocates unfortunately encourages%0a +host:1619283194=198.251.81.119 +author:1619283168=jrmu +diff:1619283168:1619283117:= +host:1619283168=198.251.81.119 +author:1619283117=jrmu +diff:1619283117:1619283020:= +host:1619283117=198.251.81.119 +author:1619283020=jrmu +diff:1619283020:1618458906:=82,83c82,83%0a%3c !! GPL is designed for Corporations, not Users%0a%3c %0a---%0a> !! GPL is for Corporations, not Users%0a> %0a91a92,93%0a> !! Future Versions May Enforce Censorship%0a> %0a94d95%0a%3c (:if true:)%0a95a97%0a> %0a98,103c100,105%0a%3c these are phrases are rightfully used against Silicon Valley, but they are not phrases we ought to hurl at small indie developers trying to make a living.%0a%3c %0a%3c The problem is that many GPL users will attack indie developers as unethical and unjust, but will not criticize Silicon Valley when they slap a GPL sticker on it.%0a%3c %0a%3c A nonfree program is a yoke, an instrument of unjust power.%0a%3c %0a---%0a> these are phrases that could be rightfully used against Silicon Valley, but they are not phrases we ought to hurl at small indie developers trying to make a living.%0a> %0a> The problem is that many GPL users will attack indie developers as unethical and unjust, but will not criticize their Silicon Valley patrons because they slap a GPL sticker on it.%0a> %0a> A nonfree program is a yoke, an instrument of unjust power.%0a> %0a124,125d125%0a%3c %0a%3c (:ifend:)%0a +host:1619283020=198.251.81.119 +author:1618458906=jrmu +diff:1618458906:1617500778:=34c34%0a%3c Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to completely non-free app stores and networks.%0a---%0a> Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to despotic app stores and tyrannical networks.%0a +host:1618458906=198.251.81.119 +author:1617500778=jrmu +diff:1617500778:1615906497:=94c94,96%0a%3c !! Collateral Damage%0a---%0a> !! Holier Than Thou%0a> %0a> Unfortunately, some GPL users end up adopting a holier-than-thou attitude that tends to alienate and irritate the user community.%0a +host:1617500778=198.251.81.44 +author:1615906497=jrmu +diff:1615906497:1615904354:= +host:1615906497=198.251.81.119 +author:1615904354=jrmu +diff:1615904354:1615902892:= +host:1615904354=198.251.81.119 +author:1615902892=jrmu +diff:1615902892:1615901961:=123,129d122%0a%3c %0a%3c The GPL gives developers a false sense of security%0a%3c %0a%3c If a corporation wants to steal the code, they will%0a%3c and if they don't want to share it, they will find loopholes to avoid doing so%0a%3c %0a%3c !! GPL Enforcement Increases Power of Copyrights%0a +host:1615902892=125.231.16.136 +author:1615901961=jrmu +diff:1615901961:1615900272:=105,120d104%0a%3c %0a%3c A nonfree program is a yoke, an instrument of unjust power.%0a%3c %0a%3c With the goal of ending the injustice of nonfree software%0a%3c %0a%3c Distributing a program to users without freedom mistreats those users; however, choosing not to distribute the program does not mistreat anyone.%0a%3c %0a%3c Primary And Secondary Injustices%0a%3c %0a%3c When you use proprietary programs or SaaSS, first of all you do wrong to yourself, because it gives some entity unjust power over you. For your own sake, you should escape. It also wrongs others if you make a promise not to share. It is evil to keep such a promise, and a lesser evil to break it; to be truly upright, you should not make the promise at all.%0a%3c %0a%3c With proprietary software, the program controls the users, and some other entity (the developer or “owner”) controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.%0a%3c %0a%3c The Injustice of Proprietariness%0a%3c %0a%3c If the users don't control the program, the program controls the users. With proprietary software, there is always some entity, the developer or “owner” of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.%0a +host:1615901961=125.231.16.136 +author:1615900272=jrmu +diff:1615900272:1615898221:=96,106c96%0a%3c Unfortunately, some GPL users end up adopting a holier-than-thou attitude that tends to alienate and irritate the user community.%0a%3c %0a%3c unjust power%0a%3c %0a%3c system of oppression%0a%3c %0a%3c these are phrases that could be rightfully used against Silicon Valley, but they are not phrases we ought to hurl at small indie developers trying to make a living.%0a%3c %0a%3c The problem is that many GPL users will attack indie developers as unethical and unjust, but will not criticize their Silicon Valley patrons because they slap a GPL sticker on it.%0a%3c %0a%3c advocates unfortunately encourages%0a---%0a> %0a +host:1615900272=125.231.16.136 +author:1615898221=jrmu +diff:1615898221:1615897432:=94c94%0a%3c !! Holier Than Thou%0a---%0a> !! GPL Users Can Become Holier Than Thou%0a +host:1615898221=125.231.16.136 +author:1615897432=jrmu +diff:1615897432:1615897344:=94c94%0a%3c !! GPL Users Can Become Holier Than Thou%0a---%0a> !! The GPL Encourages Holier Than Thou%0a +host:1615897432=198.251.81.119 +author:1615897344=jrmu +diff:1615897344:1615897124:=93,94d92%0a%3c %0a%3c !! The GPL Encourages Holier Than Thou%0a +host:1615897344=198.251.81.119 +author:1615897124=jrmu +diff:1615897124:1615896996:=100,101d99%0a%3c %0a%3c This harms end users. The GPL, for example, is incompatible with the App store. This effectively means that it is impossible for iOS users to ever use GPL code.%0a +host:1615897124=198.251.81.119 +author:1615896996=jrmu +diff:1615896996:1615896548:=91,94d90%0a%3c %0a%3c !! Future Versions May Enforce Censorship%0a%3c %0a%3c %0a +host:1615896996=198.251.81.119 +author:1615896548=jrmu +diff:1615896548:1615896431:=90c90%0a%3c Does it make sense to legally bind users to follow a license that you have not read? How can you be sure you are complying with a license you can't understand?%0a---%0a> Does it make sense to legally bind your users to follow a license that you have not read? How can you be sure you are complying with a license you can't understand?%0a +host:1615896548=198.251.81.119 +author:1615896431=jrmu +diff:1615896431:1615896357:=84,85c84,85%0a%3c The GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users. It was written for copyright lawyers, so the document is hard to understand. Here is one example:%0a%3c %0a---%0a> The GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users. It was written for copyright lawyers; it uses many technical phrases that average users cannot understand. Here is one example:%0a> %0a90c90%0a%3c Does it make sense to legally bind your users to follow a license that you have not read? How can you be sure you are complying with a license you can't understand?%0a---%0a> Does it make sense to legally bind your users to follow a license that you have not read and do not understand?%0a +host:1615896431=198.251.81.119 +author:1615896357=jrmu +diff:1615896357:1615896279:=88c88%0a%3c Most users (and even lawyers) simply resort to reading the [[http://www.gnu.org/licenses/gpl-faq.html|License FAQ]] instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says.%0a---%0a> Most users (and even lawyers) simply resort to reading the [[http://www.gnu.org/licenses/gpl-faq.html|License FAQ]] instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a +host:1615896357=198.251.81.119 +author:1615896279=jrmu +diff:1615896279:1615895924:=84,91c84,85%0a%3c The GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users. It was written for copyright lawyers; it uses many technical phrases that average users cannot understand. Here is one example:%0a%3c %0a%3c --> 7. f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.%0a%3c %0a%3c Most users (and even lawyers) simply resort to reading the [[http://www.gnu.org/licenses/gpl-faq.html|License FAQ]] instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a%3c %0a%3c Does it make sense to legally bind your users to follow a license that you have not read and do not understand?%0a%3c %0a---%0a> The GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users.%0a> %0a94c88,89%0a%3c These restrictions require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. %0a---%0a> These restrictions require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. There are many technical phrases that are hard to understand without a lawyer. Many users (and even lawyers) resort to reading the License FAQ instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a> %0a +host:1615896279=198.251.81.119 +author:1615895924=jrmu +diff:1615895924:1615895764:=81,84d80%0a%3c %0a%3c !! GPL is for Corporations, not Users%0a%3c %0a%3c The GPL is a [[https://www.gnu.org/licenses/gpl-3.0.html|complex legal document]] designed for corporations, not average users.%0a +host:1615895924=198.251.81.119 +author:1615895764=jrmu +diff:1615895764:1615895610:=100a101,106%0a> %0a> !! GPL Doesn't Stop Silicon Valley%0a> %0a> A huge mistake is to assume%0a> %0a> !! GPL discourages export%0a +host:1615895764=198.251.81.119 +author:1615895610=jrmu +diff:1615895610:1615895569:=72c72%0a%3c [[freedom/independence|Silicon Valley]] is the sworn enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking their donations to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. These users can only afford to make these contributions if you allow them ownership of their work.%0a---%0a> [[freedom/independence|Silicon Valley]] is the sworn enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking their donations to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a +host:1615895610=198.251.81.119 +author:1615895569=jrmu +diff:1615895569:1615895468:=72c72%0a%3c [[freedom/independence|Silicon Valley]] is the sworn enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking their donations to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a---%0a> [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a +host:1615895569=198.251.81.119 +author:1615895468=jrmu +diff:1615895468:1615894875:=78c78%0a%3c Selling branded merchandise like t-shirts and coffee mugs, asking for tips, selling DVDs and flash drives are all forms of donations. Customers are willing to purchase them because of goodwill.%0a---%0a> Selling branded merchandise like t-shirts and coffee bugs, asking for tips, selling DVDs and flash drives are all forms of donations. Customers are willing to purchase them mostly because of goodwill.%0a +host:1615895468=198.251.81.119 +author:1615894875=jrmu +diff:1615894875:1615894862:=5c5%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license hampers our effort towards greater user freedom.%0a---%0a> Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a +host:1615894875=198.251.81.119 +author:1615894862=jrmu +diff:1615894862:1615894848:=5c5%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a---%0a> Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has hampered and continues to hamper our efforts towards greater user freedom.%0a +host:1615894862=198.251.81.119 +author:1615894848=jrmu +diff:1615894848:1615894836:=5c5%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has hampered and continues to hamper our efforts towards greater user freedom.%0a---%0a> Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has interfered with and continues to hamper our efforts towards greater user freedom.%0a +host:1615894848=198.251.81.119 +author:1615894836=jrmu +diff:1615894836:1615894758:=5c5%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has interfered with and continues to hamper our efforts towards greater user freedom.%0a---%0a> Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a +host:1615894836=198.251.81.119 +author:1615894758=jrmu +diff:1615894758:1615894739:=5c5%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a---%0a> Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage them to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a +host:1615894758=198.251.81.119 +author:1615894739=jrmu +diff:1615894739:1615894410:=5,6d4%0a%3c Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage them to consider using a more free license. The GPL license has and continues to hamper our efforts towards greater user freedom.%0a%3c %0a76c74%0a%3c Other GPL developers rely on donations from ordinary users. Here, there is no conflict of interest. But apart from a few celebrities like Wikipedia and Mozilla, the majority of developers who rely solely on user donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received for his GPL-licensed work.%0a---%0a> A lot of GPL software relies on donations. But apart from a few celebrities like Wikipedia and Mozilla, the majority of developers who rely solely on donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received for his GPL-licensed work.%0a +host:1615894739=198.251.81.119 +author:1615894410=jrmu +diff:1615894410:1615894281:=70c70%0a%3c [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a---%0a> [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a +host:1615894410=198.251.81.119 +author:1615894281=jrmu +diff:1615894281:1615894234:=70c70%0a%3c [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations and fees from our own users. Users can only afford to make these contributions if you allow them ownership of their work.%0a---%0a> [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations, fees, and contributions from our own users. This is only possible if you allow users ownership of their work.%0a +host:1615894281=198.251.81.119 +author:1615894234=jrmu +diff:1615894234:1615894201:=70c70%0a%3c [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations, fees, and contributions from our own users. This is only possible if you allow users ownership of their work.%0a---%0a> [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money towards software development without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations, fees, and contributions from our own users. This is only possible if you allow users ownership of their work.%0a +host:1615894234=198.251.81.119 +author:1615894201=jrmu +diff:1615894201:1615893463:=68,70c68,70%0a%3c In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their employer pays them to work on GPL code because it fits their corporate agenda. But does this make our community more free? Do we really want a patronage system where Silicon Valley controls and steers the development of our software? This will corrupt the ethics of a free community.%0a%3c %0a%3c [[freedom/independence|Silicon Valley]] has long been the enemy of user freedom. It is naive to believe that Silicon Valley will donate money towards software development without expecting control and influence. Our community should avoid seeking donations from the sworn enemies of liberty to avoid conflicts of interest. It is far safer to rely on donations, fees, and contributions from our own users. This is only possible if you allow users ownership of their work.%0a---%0a> In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their work on GPL code is paid for by their employer. But, a patronage system where Silicon Valley controls and steers the agenda tends to corrupt the ethics of the free software community.%0a> %0a> %0a +host:1615894201=198.251.81.119 +author:1615893463=jrmu +diff:1615893463:1615893441:=68c68%0a%3c In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their work on GPL code is paid for by their employer. But, a patronage system where Silicon Valley controls and steers the agenda tends to corrupt the ethics of the free software community.%0a---%0a> In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their work on GPL code is paid for by their employer. A patronage system where Silicon Valley controls and steers the agenda tends to corrupt the ethics of the free software community.%0a +host:1615893463=198.251.81.119 +author:1615893441=jrmu +diff:1615893441:1615874911:=68,70c68%0a%3c In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their work on GPL code is paid for by their employer. A patronage system where Silicon Valley controls and steers the agenda tends to corrupt the ethics of the free software community.%0a%3c %0a%3c %0a---%0a> The other way %0a +host:1615893441=198.251.81.119 +author:1615874911=jrmu +diff:1615874911:1615874763:=72c72%0a%3c A lot of GPL software relies on donations. But apart from a few celebrities like Wikipedia and Mozilla, the majority of developers who rely solely on donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received for his GPL-licensed work.%0a---%0a> A lot of GPL software relies on donations. But apart from a few celebrities like Wikipedia and Mozilla, the majority of indie GPL developers who rely on donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received.%0a +host:1615874911=198.251.81.119 +author:1615874763=jrmu +diff:1615874763:1615874688:=62c62%0a%3c The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to earn money. But this serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''.%0a---%0a> The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But this serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''.%0a +host:1615874763=198.251.81.119 +author:1615874688=jrmu +diff:1615874688:1615874661:=60c60%0a%3c This sneaky trick actually creates a caste system, a society with two classes: free software for the rich, and GPL-restricted software for the poor. If you can afford the high licensing fees, you can keep ownership rights to your work. If you can't, you must use software you can never own.%0a---%0a> This sneaky trick actually creates a caste system, a society with two classes: free software for the rich, and GPL-restricted software for the poor. If you can afford the high licensing fees, you can keep ownership rights to your work. If you can't, you must use software with inferior rights.%0a +host:1615874688=198.251.81.119 +author:1615874661=jrmu +diff:1615874661:1615869417:= +host:1615874661=198.251.81.119 +author:1615869417=jrmu +diff:1615869417:1615868700:=52,53c52,53%0a%3c Most of them will completely deny you access to the source code. They produce GPL software but you have no access to either the binary or the source. Since they don't distribute the software, there is no obligation for them to share it with you. And since you lack the code, you have no real voice in how the network is run. This is how the majority of cloud computing services work today. They use lots of GPL-licensed software but do not provide users with any freedom.%0a%3c %0a---%0a> Most of them will completely deny you access to the source code. They produce GPL software but you have no access to either the binary or the source. Since they don't distribute the software, there is no obligation for them to share it with you. This is how the majority of cloud computing services work today. They use lots of GPL-licensed software but do not provide users with any freedom.%0a> %0a69,76c69,83%0a%3c %0a%3c !! Donations are not a Business Model%0a%3c %0a%3c A lot of GPL software relies on donations. But apart from a few celebrities like Wikipedia and Mozilla, the majority of indie GPL developers who rely on donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received.%0a%3c %0a%3c Selling branded merchandise like t-shirts and coffee bugs, asking for tips, selling DVDs and flash drives are all forms of donations. Customers are willing to purchase them mostly because of goodwill.%0a%3c %0a%3c Donations are nice, but they are not a business model.%0a---%0a> Voluntary donations%0a> Main article: Donationware%0a> %0a> There were experiments by Independent developers to fund development of open-source software donation-driven directly by the users, e.g. with the Illumination Software Creator in 2012.[12] Since 2011, SourceForge allows users to donate to hosted projects that opted to accept donations, which is enabled via PayPal.[13]%0a> %0a> Larger donation campaigns also exist. In 2004 the Mozilla Foundation carried out a fundraising campaign to support the launch of the Firefox 1.0 web browser. It placed a two-page ad in the December 16 edition of The New York Times listing the names of the thousands who had donated.[14][15]%0a> %0a> In May 2019, GitHub, a Git-based software repository hosting, management and collaboration platform owned by Microsoft, launched a Sponsors program that allows people who support certain open source projects hosted on GitHub to donate money to developers who contribute and maintain the project.[16] %0a> %0a> Another possibility is offering open-source software in source code form only, while providing executable binaries to paying customers only, offering the commercial service of compiling and packaging of the software. Also, providing goods like physical installation media (e.g., DVDs) can be a commercial service. %0a> !! Donations are not Sales%0a> %0a> Branded merchandise%0a> %0a> Some open-source organizations such as the Mozilla Foundation[7] and the Wikimedia Foundation[8] sell branded merchandise articles like t-shirts and coffee mugs. This can be also seen as an additional service provided to the user community. %0a +host:1615869417=125.231.16.136 +author:1615868700=jrmu +diff:1615868700:1615868483:=44c44%0a%3c If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. Silicon Valley does not care about free protocols like IRC. We are talking about helping the average indie developer who is struggling to earn a living. They need us to protect their rights to property ownership.%0a---%0a> If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. We are talking about helping the average indie developer who is struggling to earn a living. They need us to protect their rights to property ownership.%0a +host:1615868700=125.231.16.136 +author:1615868483=jrmu +diff:1615868483:1615868123:=54,55c54,55%0a%3c In response, the FSF created the Affero GPL (AGPL). The AGPL forces service providers to surrender ownership of their code. As you might expect, this again destroys all incentive to contribute to the ecosystem. Very few developers today earn money from code licensed under the AGPL.%0a%3c %0a---%0a> In response, the FSF created the Affero GPL (AGPL). The AGPL forces service providers to share the code. As you might expect, this again destroys all incentive to contribute to the ecosystem. Very few developers today want to use code licensed under the AGPL because it forces network operators to surrender ownership of their property.%0a> %0a58,64c58,62%0a%3c Another loophole used by GPL developers is dual-licensing. They will offer two versions of their software: one that you can buy at a high price, which gives you the freedom to do whatever you want with, and another that is GPL licensed, where you surrender ownership rights. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%3c %0a%3c This sneaky trick actually creates a caste system, a society with two classes: free software for the rich, and GPL-restricted software for the poor. If you can afford the high licensing fees, you can keep ownership rights to your work. If you can't, you must use software with inferior rights.%0a%3c %0a%3c The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But this serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''.%0a%3c %0a%3c The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a---%0a> As one example, developers of GPL software can resort to dual licensing. They will offer two versions of their software: one that you can buy at a high price, which gives you the freedom to do whatever you want with, and another that is GPL licensed, where you surrender ownership rights. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a> %0a> The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But dual licensing creates a dual class society, where rich users can buy free software, while poor users are forced to use the GPL.%0a> %0a> This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a +host:1615868483=125.231.16.136 +author:1615868123=jrmu +diff:1615868123:1615867102:=46,47c46,49%0a%3c !! Software as a Service (SaaS) is often not free%0a%3c %0a---%0a> !! GPL Encourages Double Standards%0a> %0a> !!! Dual Licensing%0a> %0a50,57d51%0a%3c As one example, many companies offer cloud computing or software as a service (SaaS). To earn money, many of these companies deliberately make it difficult for to run the software on your own computer.%0a%3c %0a%3c Most of them will completely deny you access to the source code. They produce GPL software but you have no access to either the binary or the source. Since they don't distribute the software, there is no obligation for them to share it with you. This is how the majority of cloud computing services work today. They use lots of GPL-licensed software but do not provide users with any freedom.%0a%3c %0a%3c In response, the FSF created the Affero GPL (AGPL). The AGPL forces service providers to share the code. As you might expect, this again destroys all incentive to contribute to the ecosystem. Very few developers today want to use code licensed under the AGPL because it forces network operators to surrender ownership of their property.%0a%3c %0a%3c !! Dual Licensing is a Double Standard%0a%3c %0a67,81d60%0a%3c Voluntary donations%0a%3c Main article: Donationware%0a%3c %0a%3c There were experiments by Independent developers to fund development of open-source software donation-driven directly by the users, e.g. with the Illumination Software Creator in 2012.[12] Since 2011, SourceForge allows users to donate to hosted projects that opted to accept donations, which is enabled via PayPal.[13]%0a%3c %0a%3c Larger donation campaigns also exist. In 2004 the Mozilla Foundation carried out a fundraising campaign to support the launch of the Firefox 1.0 web browser. It placed a two-page ad in the December 16 edition of The New York Times listing the names of the thousands who had donated.[14][15]%0a%3c %0a%3c In May 2019, GitHub, a Git-based software repository hosting, management and collaboration platform owned by Microsoft, launched a Sponsors program that allows people who support certain open source projects hosted on GitHub to donate money to developers who contribute and maintain the project.[16] %0a%3c %0a%3c Another possibility is offering open-source software in source code form only, while providing executable binaries to paying customers only, offering the commercial service of compiling and packaging of the software. Also, providing goods like physical installation media (e.g., DVDs) can be a commercial service. %0a%3c !! Donations are not Sales%0a%3c %0a%3c Branded merchandise%0a%3c %0a%3c Some open-source organizations such as the Mozilla Foundation[7] and the Wikimedia Foundation[8] sell branded merchandise articles like t-shirts and coffee mugs. This can be also seen as an additional service provided to the user community. %0a +host:1615868123=125.231.16.136 +author:1615867102=jrmu +diff:1615867102:1615866978:=44c44%0a%3c If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. We are talking about helping the average indie developer who is struggling to earn a living. They need us to protect their rights to property ownership.%0a---%0a> If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. We are talking about helping the average user who is struggling to make a living, who we need to empower the most.%0a +host:1615867102=125.231.16.136 +author:1615866978=jrmu +diff:1615866978:1615866864:=44c44%0a%3c If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. We are talking about helping the average user who is struggling to make a living, who we need to empower the most.%0a---%0a> If you want to write a new game bot for IRC or an IRC chat client, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for a chat client? Selling services makes little sense for most small 3rd party developers. These little users are the ones we need to empower the most.%0a +host:1615866978=125.231.16.136 +author:1615866864=jrmu +diff:1615866864:1615866836:=42c42%0a%3c Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects are written by working-class users who do not have billionaire customers willing to pay huge premiums for support.%0a---%0a> Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects are written by working-class users do not have billionaire customers who are willing to pay huge premiums for support.%0a +host:1615866864=125.231.16.136 +author:1615866836=jrmu +diff:1615866836:1615866798:=42c42%0a%3c Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects are written by working-class users do not have billionaire customers who are willing to pay huge premiums for support.%0a---%0a> Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects written by working-class users do not have billionaire customers who are willing to pay huge premiums for support.%0a +host:1615866836=125.231.16.136 +author:1615866798=jrmu +diff:1615866798:1615866761:=40c40%0a%3c Many corporations earn money running GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself. This again is because the GPL forces them to surrender all ownership rights to the code.%0a---%0a> Many corporations earn money through GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself. This again is because the GPL forces them to surrender all ownership rights to the code.%0a +host:1615866798=125.231.16.136 +author:1615866761=jrmu +diff:1615866761:1615866323:=42,44c42%0a%3c Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects written by working-class users do not have billionaire customers who are willing to pay huge premiums for support.%0a%3c %0a%3c If you want to write a new game bot for IRC or an IRC chat client, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for a chat client? Selling services makes little sense for most small 3rd party developers. These little users are the ones we need to empower the most.%0a---%0a> Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model only works for a few type of %0a +host:1615866761=125.231.16.136 +author:1615866323=jrmu +diff:1615866323:1615866090:=40,42c40,42%0a%3c Many corporations earn money through GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself. This again is because the GPL forces them to surrender all ownership rights to the code.%0a%3c %0a%3c Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model only works for a few type of %0a---%0a> Many corporations earn money through GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself, since the GPL forces them to surrender all ownership rights to the code.%0a> %0a> %0a +host:1615866323=125.231.16.136 +author:1615866090=jrmu +diff:1615866090:1615865740:=37,42d36%0a%3c %0a%3c !! Not Everyone Can Sell Services%0a%3c %0a%3c Many corporations earn money through GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself, since the GPL forces them to surrender all ownership rights to the code.%0a%3c %0a%3c %0a +host:1615866090=125.231.16.136 +author:1615865740=jrmu +diff:1615865740:1615865406:=24c24%0a%3c Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his labor and money to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a---%0a> Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a +host:1615865740=125.231.16.136 +author:1615865406=jrmu +diff:1615865406:1615865313:=12c12%0a%3c Owning property means you have '''the ability to control who can use it'''. If you are '''forced''' to share something, it's not really your property anymore. If you were '''forced''' to share your house with strangers you don't want to live with, life would not feel very free. Giving users the right to own property is essential in a truly free society.%0a---%0a> Owning property means you have '''the ability to control who can use it'''. If you are '''forced''' to share something, it's not really your property anymore. Giving users the right to own property is essential in a truly free society.%0a +host:1615865406=125.231.16.136 +author:1615865313=jrmu +diff:1615865313:1615864967:=12c12%0a%3c Owning property means you have '''the ability to control who can use it'''. If you are '''forced''' to share something, it's not really your property anymore. Giving users the right to own property is essential in a truly free society.%0a---%0a> Owning property means you have '''exclusive''' rights to property and the ability to control who can use it. If you are '''forced''' to share something, it's not really your property anymore. Giving users the right to own property is essential in a truly free society.%0a +host:1615865313=125.231.16.136 +author:1615864967=jrmu +diff:1615864967:1615864907:=12,14c12,14%0a%3c Owning property means you have '''exclusive''' rights to property and the ability to control who can use it. If you are '''forced''' to share something, it's not really your property anymore. Giving users the right to own property is essential in a truly free society.%0a%3c %0a%3c '''The GPL, however, takes away the user's ownership rights'''. This is because the GPL takes away your exclusive rights to works you create:%0a---%0a> Owning property means you have '''exclusive''' rights to property and the ability to control who can use it. Giving users the right to own property is essential in a truly free society.%0a> %0a> '''The GPL, however, takes away the user's ownership rights'''. This is because the GPL takes away your exclusive rights to your works:%0a +host:1615864967=125.231.16.136 +author:1615864907=jrmu +diff:1615864907:1615771167:=12,14c12%0a%3c Owning property means you have '''exclusive''' rights to property and the ability to control who can use it. Giving users the right to own property is essential in a truly free society.%0a%3c %0a%3c '''The GPL, however, takes away the user's ownership rights'''. This is because the GPL takes away your exclusive rights to your works:%0a---%0a> '''The GPL, however, takes away the user's ownership rights''':%0a +host:1615864907=125.231.16.136 +author:1615771167=jrmu +diff:1615771167:1615764958:= +host:1615771167=198.251.81.119 +author:1615764958=jrmu +diff:1615764958:1615764912:=46c46%0a%3c This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a---%0a> This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling a feature-rich enterprise edition for the rich and a crippled community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a +host:1615764958=198.251.81.119 +author:1615764912=jrmu +diff:1615764912:1615764883:=46c46%0a%3c This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling a feature-rich enterprise edition for the rich and a crippled community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a---%0a> This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a +host:1615764912=198.251.81.119 +author:1615764883=jrmu +diff:1615764883:1615764867:=46c46%0a%3c This serious double standard cannot be ignored. It fundamentally contradicts the proposition that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a---%0a> This serious double standard cannot be ignored. It fundamentally contradicts our declaration of network independence where we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a +host:1615764883=198.251.81.119 +author:1615764867=jrmu +diff:1615764867:1615764537:=42,46c42,46%0a%3c As one example, developers of GPL software can resort to dual licensing. They will offer two versions of their software: one that you can buy at a high price, which gives you the freedom to do whatever you want with, and another that is GPL licensed, where you surrender ownership rights. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%3c %0a%3c The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But dual licensing creates a dual class society, where rich users can buy free software, while poor users are forced to use the GPL.%0a%3c %0a%3c This serious double standard cannot be ignored. It fundamentally contradicts our declaration of network independence where we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.%0a---%0a> As one example, developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a> %0a> The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But dual licensing creates a dual class society. Rich users can get free software, but poor users are forced to use the GPL.%0a> %0a> This serious double standard cannot be ignored. It fundamentally contradicts our declaration of network independence where we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. Every user, no matter his social condition, should have the same opportunity to succeed on our network.%0a +host:1615764867=198.251.81.119 +author:1615764537=jrmu +diff:1615764537:1615764453:=3c3%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL), which was created by the Free Software Foundation (FSF). Unfortunately, these licenses are not completely free because they restrict what users can do with the software.%0a---%0a> There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL). Unfortunately, these licenses are not completely free because they restrict what users can do with the software.%0a +host:1615764537=198.251.81.119 +author:1615764453=jrmu +diff:1615764453:1615764409:=34c34%0a%3c Social networks like Facebook and Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without financial incentives for third party developers, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a---%0a> Social networks like Facebook and Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without strong, health relations with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a +host:1615764453=198.251.81.119 +author:1615764409=jrmu +diff:1615764409:1615764341:=32c32%0a%3c Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a vibrant third party ecosystem of bots, games, apps, and services, a network isn't very interesting. It will struggle to get users.%0a---%0a> Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a vibrant third party ecosystem of bots, games, clients, and services, a network isn't very interesting. It will struggle to get users.%0a +host:1615764409=198.251.81.119 +author:1615764341=jrmu +diff:1615764341:1615764230:= +host:1615764341=198.251.81.119 +author:1615764230=jrmu +diff:1615764230:1615735113:=20,21c20,21%0a%3c We would, of course, be happy for the user to share his work with our network under a free license. In fact, it is necessary that many users share, because without enough users contributing free software, we would not have a free network at all. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a%3c %0a---%0a> We would, of course, be happy for the user to share his work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a> %0a49,50d48%0a%3c %0a%3c The other way %0a +host:1615764230=198.251.81.119 +author:1615735113=jrmu +diff:1615735113:1615734243:=40,47c40,49%0a%3c Since the GPL makes it very difficult to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. These loopholes do not violate the letter of the GPL, but they certainly violate the spirit of equality and freedom that a free network should stand for.%0a%3c %0a%3c As one example, developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%3c %0a%3c The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to survive. But dual licensing creates a dual class society. Rich users can get free software, but poor users are forced to use the GPL.%0a%3c %0a%3c This serious double standard cannot be ignored. It fundamentally contradicts our declaration of network independence where we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network. Every user, no matter his social condition, should have the same opportunity to succeed on our network.%0a%3c %0a---%0a> Since the GPL makes it almost impossible to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. Although they do not violate the letter of the GPL, they certainly violate the spirit of equality and freedom that the GPL claims to stand for. These serious double standards are often ignored by the copyleft community.%0a> %0a> As one example, the developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a> %0a> This creates a dual class society. Rich corporations can get free software, but poor users are forced to use the GPL.%0a> %0a> This isn't what IRCNow stands for. In our declaration of network independence, we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network.%0a> %0a> He should not have to consult the FSF or its lawyers for permission. He should not have to resort to special license exceptions.%0a> %0a58,65c60,65%0a%3c The GPL became very popular because of the success of several flagship products, most notably the Linux kernel and the GNU C Compiler (gcc). As a result, the GPL was very popular during the 90s and early 2000s.%0a%3c %0a%3c However, times are rapidly changing. The FSF today is no longer the same organization; it has replaced its founder, the creator of the GPL, Richard Stallman. Future revisions of the GPL now lies in the hands of a bureaucracy that may not be a trustworthy guardian of user freedom.%0a%3c %0a%3c As for the Linux kernel, it has been subverted by [[linux/flaws|corporate donors]] who have proven themselves hostile towards user freedom.%0a%3c %0a%3c In general, there is a shift now towards permissive licenses, and this trend will only continue.%0a%3c %0a---%0a> The GPL became very popular because of the success of two of its flagship products: the Linux kernel and the GNU C Compiler (gcc). As a result, the GPL became the most popular free software license.%0a> %0a> However, times are rapidly changing. The FSF has replaced Richard Stallman, its original founder and the creator behind the GPL. The future revision and definition of the GPL now lies in the hands of a bureaucracy that may not be a trustworthy guardian of user freedom.%0a> %0a> As for the Linux kernel, it has been subverted by [[linux/flaws|corporate donors]] who are hostile towards user freedom.%0a> %0a68c68%0a%3c The GPL is designed to force the control of the software into the hands of the copyleft community. On the other hand, permissively-licensed code can be taken by any users of any political ideology. It makes no distinction between copyleft or copyright parties. It is neutral and can unite both factions.%0a---%0a> The GPL forces the software to forever remain in the hands of the copyleft community, whereas permissively-licensed code can be taken by any users, whether they are supporters of copyleft or copyright. It is truly neutral.%0a +host:1615735113=198.251.81.119 +author:1615734243=jrmu +diff:1615734243:1615733939:=26,27c26,27%0a%3c With the GPL, you are forced to surrender ownership rights over your source code. As a result, it becomes practically impossible to sell software for a living. The FSF claims you can sell free software, but in practice, the price of the vast majority of GPL software is zero.%0a%3c %0a---%0a> With the GPL, you are forced to surrender ownership rights over the source code. As a result, it becomes practically impossible to sell software for a living. The FSF claims you can sell free software, but in practice, the price of the vast majority of GPL software is zero.%0a> %0a30,31c30,31%0a%3c Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to despotic app stores and tyrannical networks.%0a%3c %0a---%0a> Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to proprietary app stores and unfree social networks.%0a> %0a34c34%0a%3c Social networks like Facebook and Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without strong, health relations with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a---%0a> Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without a strong, health relation with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a +host:1615734243=198.251.81.119 +author:1615733939=jrmu +diff:1615733939:1615733664:=26c26%0a%3c With the GPL, you are forced to surrender ownership rights over the source code. As a result, it becomes practically impossible to sell software for a living. The FSF claims you can sell free software, but in practice, the price of the vast majority of GPL software is zero.%0a---%0a> With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give away all their source code, they cannot charge more than the cost of a download for software. So while the FSF claims you can sell free software, in practice, the price of the vast majority of GPL software is zero.%0a +host:1615733939=198.251.81.119 +author:1615733664=jrmu +diff:1615733664:1615733206:=18,19c18,19%0a%3c If the user refuses to give up ownership of his modified work, a lawyer can sue him in a court of law! This is the unhappy condition of GPL users.%0a%3c %0a---%0a> If the user refuses to give up ownership of his modified work, a lawyer can sue him in a court of law! This is the unhappy condition of users of GPL software.%0a> %0a28,32c28,32%0a%3c Very few developers can afford to work full-time on a project by surviving on donations. Many users are forced to treat GPL software as a hobby -- something done for fun, but unsuitable to earn a living. So instead of building up a healthy ecosystem around free protocols and free software, the GPL has forced these developers to instead build apps for non-free protocols and non-free software.%0a%3c %0a%3c Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to proprietary app stores and unfree social networks.%0a%3c %0a%3c Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a vibrant third party ecosystem of bots, games, clients, and services, a network isn't very interesting. It will struggle to get users.%0a---%0a> Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up a healthy ecosystem around free protocols and free software, these developers instead choose to build apps for non-free protocols and non-free software.%0a> %0a> Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to proprietary app stores, unfree social networks, proprietary operating systems.%0a> %0a> Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a third party ecosystem, a network will struggle to get users.%0a +host:1615733664=198.251.81.119 +author:1615733206=jrmu +diff:1615733206:1615733011:=22,23c22,23%0a%3c Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a%3c %0a---%0a> Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers, or resort to special license exceptions for permission.%0a> %0a47,48d46%0a%3c %0a%3c He should not have to consult the FSF or its lawyers for permission. He should not have to resort to special license exceptions.%0a +host:1615733206=198.251.81.119 +author:1615733011=jrmu +diff:1615733011:1615732699:=22,23c22,23%0a%3c Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers, or resort to special license exceptions for permission.%0a%3c %0a---%0a> Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers for permission.%0a> %0a28,30c28,30%0a%3c Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up a healthy ecosystem around free protocols and free software, these developers instead choose to build apps for non-free protocols and non-free software.%0a%3c %0a%3c Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to proprietary app stores, unfree social networks, proprietary operating systems.%0a---%0a> Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up a healthy ecosystem around free protocols and free software, these developers instead choose to build apps around non-free protocols.%0a> %0a> Free protocols like IRC are almost abandoned today because there is no financial incentive to improve it.%0a +host:1615733011=198.251.81.119 +author:1615732699=jrmu +diff:1615732699:1615732170:=22c22%0a%3c Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers for permission.%0a---%0a> Every user has the right to eat the bread his own hand earns and to own the software that he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers for permission. Every user is my equal, and the equal of every other user.%0a +host:1615732699=198.251.81.119 +author:1615732170=jrmu +diff:1615732170:1615732111:=22a23,53%0a> %0a> !! BSD Free Labor%0a> %0a> The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor from free users---the just and generous and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a> %0a> Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without intellectual property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from violence when built. Wanting to code is so rare a merit that it should be encouraged.%0a> %0a> Users contributing code is the great source from which all software ecosystems are built upon.%0a> No society can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive.%0a> %0a> If at any time all labour should cease, and all existing provisions be equally divided among the people, at the end of a single year there could scarcely be one human being left alive---all would have perished by want of subsistence.%0a> %0a> %0a> %0a> %0a> Man is not the only animal who labors; but he is the only one who improves his workmanship.%0a> %0a> %0a> Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration.%0a> %0a> Upon this subject, the habits of our whole species fall into three great classes---useful labour, useless labour and idleness. Of these the first only is meritorious; and to it all the products of labour rightfully belong; but the two latter, while they exist, are heavy pensioners upon the first, robbing it of a large portion of it's just rights. The only remedy for this is to, as far as possible, drive useless labour and idleness out of existence.%0a> %0a> Work, work, work, is the main thing.%0a> %0a> I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, we do wish to allow the humblest man an equal chance to get rich with everybody else.%0a> %0a> ...half finished work generally proves to be labor lost." The Collected Works of Abraham Lincoln edited by Roy P. Basler, Volume I, "Communication to the People of Sangamon County" (March 9, 1832), p. 5.%0a> %0a> And, inasmuch [as] most good things are produced by labour, it follows that [all] such things of right belong to those whose labour has produced them. But it has so happened in all ages of the world, that some have laboured, and others have, without labour, enjoyed a large proportion of the fruits. This is wrong, and should not continue. To [secure] to each labourer the whole product of his labour, or as nearly as possible, is a most worthy object of any good government.%0a> %0a> ...the working men are the basis of all governments, for the plain reason that they are the most numerous...%0a +host:1615732170=198.251.81.119 +author:1615732111=jrmu +diff:1615732111:1615728870:=23,53d22%0a%3c %0a%3c !! BSD Free Labor%0a%3c %0a%3c The newbie to the free software world installs new software for a while, learns to configure and use it. He then finds bugs and requests new features, learns to code, and begins to contribute to the community. After a few years of experience, he begins to sell part of his work, all the while building up the flourishing ecosystem around the free code base. He hires other newbies to help him. This is free labor from free users---the just and generous and prosperous system which opens the way for all, gives hope to all, and improves the condition of all.%0a%3c %0a%3c Property is the fruit of labor. Property exerts a positive force on our ecosystem. It is a just encouragement to industry and enterprise. Don't let the one without intellectual property try to seize and destroy the property of another. Let him labor diligently and build a code base for himself, and rest assured that his own shall be safe from violence when built. Wanting to code is so rare a merit that it should be encouraged.%0a%3c %0a%3c Users contributing code is the great source from which all software ecosystems are built upon.%0a%3c No society can sustain, in idleness, more than a small percentage of its users. The great majority must labor at something productive.%0a%3c %0a%3c If at any time all labour should cease, and all existing provisions be equally divided among the people, at the end of a single year there could scarcely be one human being left alive---all would have perished by want of subsistence.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Man is not the only animal who labors; but he is the only one who improves his workmanship.%0a%3c %0a%3c %0a%3c Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration.%0a%3c %0a%3c Upon this subject, the habits of our whole species fall into three great classes---useful labour, useless labour and idleness. Of these the first only is meritorious; and to it all the products of labour rightfully belong; but the two latter, while they exist, are heavy pensioners upon the first, robbing it of a large portion of it's just rights. The only remedy for this is to, as far as possible, drive useless labour and idleness out of existence.%0a%3c %0a%3c Work, work, work, is the main thing.%0a%3c %0a%3c I don't believe in a law to prevent a man from getting rich; it would do more harm than good. So while we do not propose any war upon capital, we do wish to allow the humblest man an equal chance to get rich with everybody else.%0a%3c %0a%3c ...half finished work generally proves to be labor lost." The Collected Works of Abraham Lincoln edited by Roy P. Basler, Volume I, "Communication to the People of Sangamon County" (March 9, 1832), p. 5.%0a%3c %0a%3c And, inasmuch [as] most good things are produced by labour, it follows that [all] such things of right belong to those whose labour has produced them. But it has so happened in all ages of the world, that some have laboured, and others have, without labour, enjoyed a large proportion of the fruits. This is wrong, and should not continue. To [secure] to each labourer the whole product of his labour, or as nearly as possible, is a most worthy object of any good government.%0a%3c %0a%3c ...the working men are the basis of all governments, for the plain reason that they are the most numerous...%0a +host:1615732111=198.251.81.119 +author:1615728870=jrmu +diff:1615728870:1615727660:=22c22,34%0a%3c Every user has the right to eat the bread his own hand earns and to own the software that he has written. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. He should not have to consult the FSF or its lawyers for permission. Every user is my equal, and the equal of every other user.%0a---%0a> !! BSD Provides Hope%0a> %0a> GPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! With BSD users, there is hope -- there is the prospect of ownership. There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals. %0a> %0a> Free labor and the ownership of property provides the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a> %0a> How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a> %0a> !!%0a> %0a> Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a> %0a> %0a +host:1615728870=198.251.81.119 +author:1615727660=jrmu +diff:1615727660:1615727604:=28c28%0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get them to install? If you promise to give them ownership rights and pay them for their work, they will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a---%0a> How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get him to install? If you promise to give him ownership rights and pay him for the work, he will install twice the number of BSD applications. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a +host:1615727660=198.251.81.119 +author:1615727604=jrmu +diff:1615727604:1615727427:=22,23c22,23%0a%3c !! BSD Provides Hope%0a%3c %0a---%0a> !! GPL Deprives Hope%0a> %0a28c28%0a%3c How many hours have you spent scolding users about the need for software freedom? How many GPL applications did you get him to install? If you promise to give him ownership rights and pay him for the work, he will install twice the number of BSD applications. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a---%0a> How many hours have you spent scolding users about the need for software freedom? How many software applications did you get them to install? If you promise to pay him pay for the work and to give him ownership rights, he will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a +host:1615727604=198.251.81.119 +author:1615727427=jrmu +diff:1615727427:1615727343:=28,30c28,30%0a%3c How many hours have you spent scolding users about the need for software freedom? How many software applications did you get them to install? If you promise to pay him pay for the work and to give him ownership rights, he will install twice the number. You substitute scolding with hope. You have given up the GPL system and adopted free software.%0a%3c %0a%3c !!%0a---%0a> How many hours have you spent scolding users about the need for software freedom? How many software applications did you get them to install? If you promise to pay him pay for the work and to give him ownership rights, you will get. You substitute moralizing with hope. You have given up the GPL system and adopted free software.%0a> %0a> %0a +host:1615727427=198.251.81.119 +author:1615727343=jrmu +diff:1615727343:1615725810:=3,4c3,4%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL). Unfortunately, these licenses are not completely free because they restrict what users can do with the software.%0a%3c %0a---%0a> There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a> %0a11a12,13%0a> Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a> %0a18,34c20,22%0a%3c If the user refuses to give up ownership of his modified work, a lawyer can sue him in a court of law! This is the unhappy condition of users of GPL software.%0a%3c %0a%3c We would, of course, be happy for the user to share his work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a%3c %0a%3c !! GPL Deprives Hope%0a%3c %0a%3c GPL advocates declare their users are better off than those of BSD because their code has more features. How little they understand! With BSD users, there is hope -- there is the prospect of ownership. There is no permanent class of newbies among us. Ten years ago, I was a mere newbie. But the newbie of yesterday learns to code today and writes code for himself tomorrow. Advancement -- studying the source and writing new code -- is the natural order in a society of equals. %0a%3c %0a%3c Free labor and the ownership of property provides the inspiration of hope. Demanding users to surrender all their property rights offers them no hope. The power of hope as an incentive to encourage users to learn to code, to contribute to the ecosystem, and to make them happy is powerful and wonderful.%0a%3c %0a%3c How many hours have you spent scolding users about the need for software freedom? How many software applications did you get them to install? If you promise to pay him pay for the work and to give him ownership rights, you will get. You substitute moralizing with hope. You have given up the GPL system and adopted free software.%0a%3c %0a%3c %0a%3c %0a%3c Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a%3c %0a%3c %0a---%0a> If the user refuses to share the software, a lawyer can sue the user in a court of law!%0a> %0a> We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a +host:1615727343=198.251.81.119 +author:1615725810=jrmu +diff:1615725810:1615724672:=7,12c7,12%0a%3c In a free society, users should have the economic freedom to own property. To create a truly free society, users should have:%0a%3c %0a%3c # The freedom to build and advertise their business%0a%3c # The freedom to profit from improvements they add to a free ecosystem%0a%3c %0a%3c Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a---%0a> In a free society, users should have the economic freedom to own property. To create a truly free network network, users should have:%0a> %0a> # The freedom to build and advertise their business on IRCNow%0a> # The freedom to profit from improvements they make to the IRCNow ecosystem%0a> %0a> Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases.%0a +host:1615725810=198.251.81.119 +author:1615724672=jrmu +diff:1615724672:1615718071:=7c7%0a%3c In a free society, users should have the economic freedom to own property. To create a truly free network network, users should have:%0a---%0a> In a free society, users should have the economic freedom to own property. For IRCNow to be a truly free network network, users should have:%0a +host:1615724672=198.251.81.119 +author:1615718071=jrmu +diff:1615718071:1615717840:=26,30c26,28%0a%3c With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give away all their source code, they cannot charge more than the cost of a download for software. So while the FSF claims you can sell free software, in practice, the price of the vast majority of GPL software is zero.%0a%3c %0a%3c Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up a healthy ecosystem around free protocols and free software, these developers instead choose to build apps around non-free protocols.%0a%3c %0a%3c Free protocols like IRC are almost abandoned today because there is no financial incentive to improve it.%0a---%0a> With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give away all their source code, they cannot charge others more than the cost of a download. So while the FSF claims you can sell free software, in practice, the price of the vast majority of GPL software is zero.%0a> %0a> Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up the ecosystem for free protocols and free software, they work entirely on proprietary, closed software. Free protocols like IRC are almost dead today because the GPL has destroyed most of the financial incentive to improve it.%0a +host:1615718071=198.251.81.119 +author:1615717840=jrmu +diff:1615717840:1615717795:=22c22%0a%3c We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.%0a---%0a> We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate and a lawyer to litigate. The user should have the freedom to make his own decisions with his own property.%0a +host:1615717840=198.251.81.119 +author:1615717795=jrmu +diff:1615717795:1615717425:=12,15c12,15%0a%3c Every user has a right to enjoy the fruits of his own labor. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases.%0a%3c %0a%3c '''The GPL, however, takes away the user's ownership rights''':%0a%3c %0a---%0a> If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. Every user should be able to enjoy the fruits of his own labor.%0a> %0a> The GPL, however, takes away these essential user rights. '''The GPL takes away the user's ownership rights''':%0a> %0a18,22c18,20%0a%3c # If there are any patents associated with software under the GPL, '''the user must forfeit ownership of his patents'''.%0a%3c %0a%3c If the user refuses to share the software, a lawyer can sue the user in a court of law!%0a%3c %0a%3c We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate and a lawyer to litigate. The user should have the freedom to make his own decisions with his own property.%0a---%0a> # If there are any patents associated with software under the GPL, '''the user must forfeit ownership of the patents'''.%0a> %0a> We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user must have the freedom to make his own decisions with his own property.%0a +host:1615717795=198.251.81.119 +author:1615717425=jrmu +diff:1615717425:1615717368:=3c3%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the [[https://www.gnu.org/licenses/gpl-3.0.en.html|GNU General Public License]] (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a---%0a> There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the GNU General Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a +host:1615717425=198.251.81.119 +author:1615717368=jrmu +diff:1615717368:1615717310:= +host:1615717368=198.251.81.119 +author:1615717310=jrmu +diff:1615717310:1615717268:=67,68d66%0a%3c %0a%3c !! GPL discourages export%0a +host:1615717310=198.251.81.119 +author:1615717268=jrmu +diff:1615717268:1615717143:=10a11%0a> # The freedom to use IRCNow code to create an alternative, competing network%0a +host:1615717268=198.251.81.119 +author:1615717143=jrmu +diff:1615717143:1615717073:=7c7%0a%3c In a free society, users should have the economic freedom to own property. For IRCNow to be a truly free network network, users should have:%0a---%0a> In a free society, users should have the freedom to own property. For IRCNow to be a truly free network network, users should have:%0a +host:1615717143=198.251.81.119 +author:1615717073=jrmu +diff:1615717073:1615716410:=9,10c9,10%0a%3c # The freedom to build and advertise their business on IRCNow%0a%3c # The freedom to profit from improvements they make to the IRCNow ecosystem%0a---%0a> # The freedom to build their businesses on the network%0a> # The freedom to profit from improvements they make to art and code%0a13,19c13,17%0a%3c If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. Every user should be able to enjoy the fruits of his own labor.%0a%3c %0a%3c The GPL, however, takes away these essential user rights. '''The GPL takes away the user's ownership rights''':%0a%3c %0a%3c # If GPL source code is required to compile software, '''the user loses ownership of the entire program'''.%0a%3c # If a program statically links to a GPL library, '''the user loses ownership of the entire program'''.%0a%3c # If there are any patents associated with software under the GPL, '''the user must forfeit ownership of the patents'''.%0a---%0a> Under the GPL, all these freedoms are restricted because '''the GPL takes away the user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a> %0a> # If GPL source code is required to compile software, the user loses ownership of the entire program.%0a> # If a program statically links to a GPL library, the user loses ownership of the entire program.%0a> # If there are any patents associated with software under the GPL, the user must forfeit ownership of the patents.%0a +host:1615717073=198.251.81.119 +author:1615716410=jrmu +diff:1615716410:1615716151:=3,4c3,4%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the GNU General Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a%3c %0a---%0a> There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the GNU General Public License (the GPL). These licenses are not completely free because they frequently restrict what users can do with the software.%0a> %0a7,11c7,11%0a%3c In a free society, users should have the freedom to own property. For IRCNow to be a truly free network network, users should have:%0a%3c %0a%3c # The freedom to build their businesses on the network%0a%3c # The freedom to profit from improvements they make to art and code%0a%3c # The freedom to use IRCNow code to create an alternative, competing network%0a---%0a> When discussing user freedom, we must not neglect the important freedom of property ownership. Users should have:%0a> %0a> # The freedom to build their businesses%0a> # The freedom to profit from improvements they make to the arts and science%0a> # The freedom to fork code to run an alternative, competing network%0a +host:1615716410=198.251.81.119 +author:1615716151=jrmu +diff:1615716151:1615714661:= +host:1615716151=198.251.81.119 +author:1615714661=jrmu +diff:1615714661:1615714232:=9,10c9,10%0a%3c # The freedom to build their businesses%0a%3c # The freedom to profit from improvements they make to the arts and science%0a---%0a> # The freedom to build a business%0a> # The freedom to create and sell improvements to art and science%0a13c13%0a%3c Under the GPL, all these freedoms are restricted because '''the GPL takes away the user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a---%0a> In all these areas, '''the GPL takes away the user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a +host:1615714661=198.251.81.119 +author:1615714232=jrmu +diff:1615714232:1615714063:=21,22c21,22%0a%3c !! GPL Discourages 3rd Party Developers%0a%3c %0a---%0a> !! Economic Ownership%0a> %0a31,32c31,32%0a%3c !! GPL Encourages Double Standards%0a%3c %0a---%0a> !! Double Standards%0a> %0a43,44c43,44%0a%3c !! GPL Relies on Corporate Funding%0a%3c %0a---%0a> !! Corporate Donations%0a> %0a51,52c51,52%0a%3c !! GPL is Declining%0a%3c %0a---%0a> !! GPL is on the decline%0a> %0a59,60c59,60%0a%3c !! GPL isn't Neutral%0a%3c %0a---%0a> !! Neutrality%0a> %0a63c63%0a%3c !! GPL Doesn't Stop Silicon Valley%0a---%0a> !! Licenses Don't Solve Everything%0a +host:1615714232=198.251.81.119 +author:1615714063=jrmu +diff:1615714063:1615713504:=23,25c23%0a%3c With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give away all their source code, they cannot charge others more than the cost of a download. So while the FSF claims you can sell free software, in practice, the price of the vast majority of GPL software is zero.%0a%3c %0a%3c Very few developers can afford to work full-time on a project that earns them almost nothing. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for real work. So instead of building up the ecosystem for free protocols and free software, they work entirely on proprietary, closed software. Free protocols like IRC are almost dead today because the GPL has destroyed most of the financial incentive to improve it.%0a---%0a> With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give all their source code, they have no ability to sell software and no ability to earn an income. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for earning money. This is one major reason why free software and free protocols are neglected and dying today.%0a +host:1615714063=198.251.81.119 +author:1615713504=jrmu +diff:1615713504:1615713490:=13c13%0a%3c In all these areas, '''the GPL takes away the user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a---%0a> In all these areas, '''the GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a +host:1615713504=198.251.81.119 +author:1615713490=jrmu +diff:1615713490:1615713431:=9,11c9,11%0a%3c # The freedom to build a business%0a%3c # The freedom to create and sell improvements to art and science%0a%3c # The freedom to fork code to run an alternative, competing network%0a---%0a> # The freedom to build a business around our works%0a> # The freedom to sell new works of art and science based on our works%0a> # The freedom to fork our code to run an alternative, competing network%0a +host:1615713490=198.251.81.119 +author:1615713431=jrmu +diff:1615713431:1615713245:=3c3%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most popular one is the GNU General Public License (the GPL). These licenses are not completely free because they frequently restrict what users can do with the software.%0a---%0a> There are a set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU General Public License (the GPL). These licenses are not completely free because they frequently restrict what users can do with the software.%0a +host:1615713431=198.251.81.119 +author:1615713245=jrmu +diff:1615713245:1615707107:=27c27%0a%3c Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without a strong, health relation with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a---%0a> Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even traditional software like Microsoft Windows succeeds mostly due to their enormous third party ecosystem of hardware and software partners. Without a strong, health relation with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a +host:1615713245=198.251.81.119 +author:1615707107=jrmu +diff:1615707107:1615707010:=41,43c41%0a%3c !! Corporate Donations%0a%3c %0a%3c !! GPL Restricts Code Reuse%0a---%0a> !!%0a +host:1615707107=198.251.81.119 +author:1615707010=jrmu +diff:1615707010:1615706939:=25c25%0a%3c Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a third party ecosystem, a network will struggle to get users.%0a---%0a> Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must be admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a third party ecosystem, a network will struggle to get users.%0a +host:1615707010=198.251.81.119 +author:1615706939=jrmu +diff:1615706939:1615706871:=47c47%0a%3c !! GPL is on the decline%0a---%0a> !! Why is the GPL so popular?%0a +host:1615706939=198.251.81.119 +author:1615706871=jrmu +diff:1615706871:1615706852:=30,31d29%0a%3c %0a%3c !!! Dual Licensing%0a +host:1615706871=198.251.81.119 +author:1615706852=jrmu +diff:1615706852:1615706681:=33,37c33,35%0a%3c As one example, the developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%3c %0a%3c This creates a dual class society. Rich corporations can get free software, but poor users are forced to use the GPL.%0a%3c %0a%3c This isn't what IRCNow stands for. In our declaration of network independence, we say that '''all users are created equal'''. The rich and poor alike should have the same access to the code on our network.%0a---%0a> As one example, the developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt. If a rich corporation can afford to pay millions of dollars to Oracle, they can get free software. But poor users are forced to use the GPL version.%0a> %0a> This creates a dual class society. Rich corporations get free software but poor users are stuck with the GPL.%0a +host:1615706852=198.251.81.119 +author:1615706681=jrmu +diff:1615706681:1615706486:=31,35c31,35%0a%3c Since the GPL makes it almost impossible to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. Although they do not violate the letter of the GPL, they certainly violate the spirit of equality and freedom that the GPL claims to stand for. These serious double standards are often ignored by the copyleft community.%0a%3c %0a%3c As one example, the developers of GPL software can resort to dual licensing. They will sell two versions of their software: one that is free, where you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt. If a rich corporation can afford to pay millions of dollars to Oracle, they can get free software. But poor users are forced to use the GPL version.%0a%3c %0a%3c This creates a dual class society. Rich corporations get free software but poor users are stuck with the GPL.%0a---%0a> Since the GPL makes it almost impossible to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. These restrictions often violate the spirit of the GPL license by restricting the free resharing of code and information. These are serious double standards often ignored by the copyleft community.%0a> %0a> For example, developers of GPL software sometimes resort to dual licensing. They will sell two versions of their software: one that is free, which you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a> %0a> This creates a dual class society. Rich corporations who can pay heavy fees are allowed to buy free software, but poor users are forced to use GPL software.%0a +host:1615706681=198.251.81.119 +author:1615706486=jrmu +diff:1615706486:1615706259:=25,27c25,27%0a%3c Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must be admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a third party ecosystem, a network will struggle to get users.%0a%3c %0a%3c Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even traditional software like Microsoft Windows succeeds mostly due to their enormous third party ecosystem of hardware and software partners. Without a strong, health relation with third parties, IRCNow will most remain too small and weak to make a positive impact on user freedom.%0a---%0a> Although we would love for users to contribute to IRCNow out of a spirit of generosity and love of humanity, we must be admit that the vast majority of third party developers will only contribute if they believe they can earn money. And without a third party ecosystem, a network will struggle to get users.%0a> %0a> Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem. In fact, even traditional software like Microsoft Windows succeeds mostly due to their enormous third party ecosystem. Without a strong third party ecosystem and healthy relations with developers, IRCNow will most likely remain too small and weak to make an impact on user freedom.%0a +host:1615706486=198.251.81.119 +author:1615706259=jrmu +diff:1615706259:1615706107:=13c13%0a%3c In all these areas, '''the GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it as he pleases. The GPL, however, requires that:%0a---%0a> In all these areas, '''the GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. The GPL, however, requires that:%0a +host:1615706259=198.251.81.119 +author:1615706107=jrmu +diff:1615706107:1615705804:=31,35c31%0a%3c Since the GPL makes it almost impossible to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. These restrictions often violate the spirit of the GPL license by restricting the free resharing of code and information. These are serious double standards often ignored by the copyleft community.%0a%3c %0a%3c For example, developers of GPL software sometimes resort to dual licensing. They will sell two versions of their software: one that is free, which you can do whatever you want with, and another that is GPL licensed. Examples include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.%0a%3c %0a%3c This creates a dual class society. Rich corporations who can pay heavy fees are allowed to buy free software, but poor users are forced to use GPL software.%0a---%0a> Businesses that are built around GPL software must instead find other ways to make money, all of which go against the spirit of free resharing code and information. For example, some developers of GPL software will resort to dual licensing -- selling fully closed and open source versions of their software. This effectively creates a dual class society. Rich corporations who can afford to buy free software and poor users who are forced to use GPL software.%0a +host:1615706107=198.251.81.119 +author:1615705804=jrmu +diff:1615705804:1615705690:=27c27%0a%3c Social networks like Facebook, Discord succeed in large part thanks to their strong third party ecosystem. In fact, even traditional software like Microsoft Windows succeeds mostly due to their enormous third party ecosystem. Without a strong third party ecosystem and healthy relations with developers, IRCNow will most likely remain too small and weak to make an impact on user freedom.%0a---%0a> If you take a look at large social networks like Facebook, Discord, you will see they succeeded in large part due to their third party ecosystem.%0a +host:1615705804=198.251.81.119 +author:1615705690=jrmu +diff:1615705690:1615705366:=23c23%0a%3c With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give all their source code, they have no ability to sell software and no ability to earn an income. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for earning money. This is one major reason why free software and free protocols are neglected and dying today.%0a---%0a> With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give all source code, they have no ability to sell software and no ability to earn an income. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for earning money. This is one major reason why free software and free protocols are neglected and dying today.%0a +host:1615705690=198.251.81.119 +author:1615705366=jrmu +diff:1615705366:1615704395:=7,8c7,8%0a%3c When discussing user freedom, we must not neglect the important freedom of property ownership. Users should have:%0a%3c %0a---%0a> When discussing user freedom, we must not neglect the important economic freedom of property ownership. Users should have:%0a> %0a10,34c10,22%0a%3c # The freedom to sell new works of art and science based on our works%0a%3c # The freedom to fork our code to run an alternative, competing network%0a%3c %0a%3c In all these areas, '''the GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases. The GPL, however, requires that:%0a%3c %0a%3c # If GPL source code is required to compile software, the user loses ownership of the entire program.%0a%3c # If a program statically links to a GPL library, the user loses ownership of the entire program.%0a%3c # If there are any patents associated with software under the GPL, the user must forfeit ownership of the patents.%0a%3c %0a%3c We would, of course, be happy for the user to share the work with us under a free license. But this decision should be left for the user to make, not for a license to dictate. The user must have the freedom to make his own decisions with his own property.%0a%3c %0a%3c !! Economic Ownership%0a%3c %0a%3c With the GPL, it becomes practically impossible to sell software for a living. When users are forced to give all source code, they have no ability to sell software and no ability to earn an income. This forces many users to treat GPL software as a hobby -- something done for fun, but unsuitable for earning money. This is one major reason why free software and free protocols are neglected and dying today.%0a%3c %0a%3c Although we would love for users to contribute to IRCNow out of a spirit of generosity and love of humanity, we must be admit that the vast majority of third party developers will only contribute if they believe they can earn money. And without a third party ecosystem, a network will struggle to get users.%0a%3c %0a%3c If you take a look at large social networks like Facebook, Discord, you will see they succeeded in large part due to their third party ecosystem.%0a%3c %0a%3c !! Double Standards%0a%3c %0a%3c Businesses that are built around GPL software must instead find other ways to make money, all of which go against the spirit of free resharing code and information. For example, some developers of GPL software will resort to dual licensing -- selling fully closed and open source versions of their software. This effectively creates a dual class society. Rich corporations who can afford to buy free software and poor users who are forced to use GPL software.%0a%3c %0a%3c !!%0a%3c %0a---%0a> # The freedom to create their own works of art and science%0a> # The freedom to fork and create alternative, competing networks%0a> %0a> '''The GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a> %0a> We would, of course, be happy for the user to share the work with us; but that should be left as a decision for the user to make, not for a license to dictate. The user must have the freedom to make his own decisions with his own property.%0a> %0a> GPL Restrictions:%0a> %0a> # You lose ownership of your work%0a> # If GPL source code is required to compile software, the lose ownership of the entire program. If a program statically links to a GPL library, you lose ownership of the entire program.%0a> # If there are any patents associated with software under the GPL, you must forfeit ownership of the patents.%0a> %0a37a26,31%0a> %0a> !! True User Freedom%0a> %0a> The GPL falls quite short of the freedom of the public domain. For one, users are unable to sell the software. As a result, this forces many users to treat the software as a hobby, something for fun, but unsuitable for earning money.%0a> %0a> Businesses that are built around GPL software must instead find other ways to make money, all of which go against the spirit of free resharing code and information. For example, some developers of GPL software will resort to dual licensing -- selling fully closed and open source versions of their software. This effectively creates a dual class society. Rich corporations who can afford to buy free software and poor users who are forced to use GPL software.%0a +host:1615705366=198.251.81.119 +author:1615704395=jrmu +diff:1615704395:1615704381:= +host:1615704395=198.251.81.119 +author:1615704381=jrmu +diff:1615704381:1615704180:= +host:1615704381=198.251.81.119 +author:1615704180=jrmu +diff:1615704180:1615703449:=3,18c3,14%0a%3c There are a set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU General Public License (the GPL). These licenses are not completely free because they frequently restrict what users can do with the software.%0a%3c %0a%3c !! GPL Restricts User Ownership%0a%3c %0a%3c When discussing user freedom, we must not neglect the important economic freedom of property ownership. Users should have:%0a%3c %0a%3c # The freedom to build a business around our works%0a%3c # The freedom to create their own works of art and science%0a%3c # The freedom to fork and create alternative, competing networks%0a%3c %0a%3c '''The GPL takes away a user's ownership rights'''. If a user spends his time, money, and labor to create a new work, he should be entitled to use it, share it, or sell it however he pleases.%0a%3c %0a%3c We would, of course, be happy for the user to share the work with us; but that should be left as a decision for the user to make, not for a license to dictate. The user must have the freedom to make his own decisions with his own property.%0a%3c %0a%3c GPL Restrictions:%0a%3c %0a---%0a> !! The Public Domain%0a> %0a> We want to give users the freedom to take our works to build a business around them; to create their own works of art and science; and to fork and create alternative, competing networks.%0a> %0a> !! Why not GPL?%0a> %0a> There are another set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU General Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a> %0a> The GPL is actually a strict copyright license that takes away a user's exclusive ownership rights. If you spend your time, money, and labor to create a new work, you should be entitled to use it as you please. However, with copyleft works, for any modifications you make, you are legally required to give up exclusive ownership rights by sharing those changes.%0a> %0a> Key Restrictions:%0a> %0a20,21c16,17%0a%3c # If GPL source code is required to compile software, the lose ownership of the entire program. If a program statically links to a GPL library, you lose ownership of the entire program.%0a%3c # If there are any patents associated with software under the GPL, you must forfeit ownership of the patents.%0a---%0a> # If GPL source code is required to compile software, the entire program must be GPL. If a program statically links to a GPL library, the entire program must be GPL.%0a> # If there are any patents associated with software under the GPL, it must be free for everyone to reuse.%0a +host:1615704180=198.251.81.119 +author:1615703449=jrmu +diff:1615703449:1615702488:=1,2d0%0a%3c (:title The GPL Isn't Fully Free:)%0a%3c %0a5a4,11%0a> %0a> Long before the words "open source" or "free software" were ever used, we had '''the public domain'''. Creative works in the public domain have no legal owner; they belong to the public.%0a> %0a> What's included in the public domain? The paintings of Leonardo da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There are no owners; their works belong to the public. You are free to do whatever you want with them.%0a> %0a> Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. It's a good thing that cooking recipes and math formulas are usually in the public domain.%0a> %0a> This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a +host:1615703449=198.251.81.119 +author:1615702488=jrmu +diff:1615702488:1615701037:=2,3d1%0a%3c %0a%3c We want to give users the freedom to take our works to build a business around them; to create their own works of art and science; and to fork and create alternative, competing networks.%0a +host:1615702488=198.251.81.119 +author:1615701037=jrmu +diff:1615701037:1615698770:=9,10c9,10%0a%3c This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a%3c %0a---%0a> This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a> %0a15,19c15,17%0a%3c The GPL is actually a strict copyright license that takes away a user's exclusive ownership rights. If you spend your time, money, and labor to create a new work, you should be entitled to use it as you please. However, with copyleft works, for any modifications you make, you are legally required to give up exclusive ownership rights by sharing those changes.%0a%3c %0a%3c Key Restrictions:%0a%3c %0a%3c # You lose ownership of your work%0a---%0a> The GPL is designed to use the copyright system against itself. If you make any modifications to a GPL program and share the, you are legally required share those changes. The GPL was designed to force you to share code back to the GPL community.%0a> %0a> # You can charge for distributing, supporting, or documenting the software, but you cannot sell the software itself.%0a23,25c21,23%0a%3c These restrictions require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. There are many technical phrases that are hard to understand without a lawyer. Many users (and even lawyers) resort to reading the License FAQ instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a%3c %0a%3c These restrictions make the GPL license incompatible with other software licenses. For example, ZFS uses the CDDL. This license is incompatible with the GPL, and so ZFS software cannot be legally included in the linux kernel.%0a---%0a> These restrictions sound noble but in practice, they require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. This license is filled with technical phrases that are hard to understand without a lawyer. Many users (and even lawyers) often resort to reading the License FAQ instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a> %0a> It also makes the GPL license incompatible with other software licenses. For example, ZFS uses the CDDL. This license is incompatible with the GPL, and so ZFS software cannot be legally included in the linux kernel.%0a +host:1615701037=198.251.81.119 +author:1615698770=jrmu +diff:1615698770:1615694638:=1,10c1,12%0a%3c !! The Public Domain%0a%3c %0a%3c Long before the words "open source" or "free software" were ever used, we had '''the public domain'''. Creative works in the public domain have no legal owner; they belong to the public.%0a%3c %0a%3c What's included in the public domain? The paintings of Leonardo da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There are no owners; their works belong to the public. You are free to do whatever you want with them.%0a%3c %0a%3c Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. It's a good thing that cooking recipes and math formulas are usually in the public domain.%0a%3c %0a%3c This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a%3c %0a---%0a> !! Why use a permissive license instead of the GPL?%0a> %0a> Long before the words "open source" or "free software" were ever used, we had '''the public domain'''. The public domain consists of every creative work that has no legal owner; it belongs to the public.%0a> %0a> What's included in the public domain? The paintings of da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There is no owner; it belongs to the public. You are free to do whatever you want with it.%0a> %0a> Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. Fortunately, in most countries, cooking recipes and math formulas are in the public domain.%0a> %0a> This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software IRCNow provides should have no single owner; it belongs to the public. It belongs to '''We the Users'''.%0a> %0a> The [[license/ircnow|IRCNow license]] comes closest to the public domain ideal. The user doesn't need to read any license agreements, sign any contracts, or even give the author any credit. There are no strings attached. The user is free to do whatever he wants with it.%0a> %0a13,14c15,16%0a%3c There are another set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU General Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a%3c %0a---%0a> There are another set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a> %0a18,49c20,23%0a%3c # If GPL source code is required to compile software, the entire program must be GPL. If a program statically links to a GPL library, the entire program must be GPL.%0a%3c # If there are any patents associated with software under the GPL, it must be free for everyone to reuse.%0a%3c %0a%3c These restrictions sound noble but in practice, they require a very [[https://www.gnu.org/licenses/gpl-3.0.html|complex license]]. This license is filled with technical phrases that are hard to understand without a lawyer. Many users (and even lawyers) often resort to reading the License FAQ instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says. This gives the FSF a lot of control over the definition of 'free software'.%0a%3c %0a%3c It also makes the GPL license incompatible with other software licenses. For example, ZFS uses the CDDL. This license is incompatible with the GPL, and so ZFS software cannot be legally included in the linux kernel.%0a%3c %0a%3c !! True User Freedom%0a%3c %0a%3c The GPL falls quite short of the freedom of the public domain. For one, users are unable to sell the software. As a result, this forces many users to treat the software as a hobby, something for fun, but unsuitable for earning money.%0a%3c %0a%3c Businesses that are built around GPL software must instead find other ways to make money, all of which go against the spirit of free resharing code and information. For example, some developers of GPL software will resort to dual licensing -- selling fully closed and open source versions of their software. This effectively creates a dual class society. Rich corporations who can afford to buy free software and poor users who are forced to use GPL software.%0a%3c %0a%3c !! Why is the GPL so popular?%0a%3c %0a%3c The GPL became very popular because of the success of two of its flagship products: the Linux kernel and the GNU C Compiler (gcc). As a result, the GPL became the most popular free software license.%0a%3c %0a%3c However, times are rapidly changing. The FSF has replaced Richard Stallman, its original founder and the creator behind the GPL. The future revision and definition of the GPL now lies in the hands of a bureaucracy that may not be a trustworthy guardian of user freedom.%0a%3c %0a%3c As for the Linux kernel, it has been subverted by [[linux/flaws|corporate donors]] who are hostile towards user freedom.%0a%3c %0a%3c !! Neutrality%0a%3c %0a%3c The GPL forces the software to forever remain in the hands of the copyleft community, whereas permissively-licensed code can be taken by any users, whether they are supporters of copyleft or copyright. It is truly neutral.%0a%3c %0a%3c !! Licenses Don't Solve Everything%0a%3c %0a%3c A huge mistake is to assume%0a%3c %0a%3c !! IRCNow License%0a%3c %0a%3c The [[license/ircnow|IRCNow license]] comes closest to the public domain ideal. The user doesn't need to read any license agreements, sign any contracts, or even give the author any credit. There are no strings attached. The user is free to do whatever he wants with it.%0a\ No newline at end of file%0a---%0a> # If GPL source is required for a program to compile, the program must be under the GPL. Linking statically to a GPL library requires a program to be under the GPL.%0a> # The GPL requires that any patents associated with GPLed software must be licensed for everyone's free use.%0a> %0a> [[https://www.gnu.org/licenses/gpl-3.0.html|The GPL]] is a very complicated license. It is filled with technical phrases that are hard to understand without a lawyer. Due to its complexity, many users (and even lawyers) find it hard to understand. Often, users resort to looking at the License FAQ or contacting the FSF's lawyers for clarification. This gives the FSF quite a bit of control over their definition of 'free software'.%0a +host:1615698770=198.251.81.119 +author:1615694638=jrmu +diff:1615694638:1615693590:=1,6c1,6%0a%3c !! Why use a permissive license instead of the GPL?%0a%3c %0a%3c Long before the words "open source" or "free software" were ever used, we had '''the public domain'''. The public domain consists of every creative work that has no legal owner; it belongs to the public.%0a%3c %0a%3c What's included in the public domain? The paintings of da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There is no owner; it belongs to the public. You are free to do whatever you want with it.%0a%3c %0a---%0a> Why use a permissive license instead of the GPL?%0a> %0a> Long before the words "open source" or "free software" were ever used, we had the public domain. The public domain consists of every creative work that has no legal owner.%0a> %0a> What's included in the public domain? The paintings of da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and new creations. There is no owner; it belongs to the public. You are free to do whatever you want with it.%0a> %0a9,23c9%0a%3c This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software IRCNow provides should have no single owner; it belongs to the public. It belongs to '''We the Users'''.%0a%3c %0a%3c The [[license/ircnow|IRCNow license]] comes closest to the public domain ideal. The user doesn't need to read any license agreements, sign any contracts, or even give the author any credit. There are no strings attached. The user is free to do whatever he wants with it.%0a%3c %0a%3c !! Why not GPL?%0a%3c %0a%3c There are another set of popular licenses collectively known as '''copyleft''' licenses. The most famous one is the GNU Public License (the GPL). These licenses are not completely free because they restrict what users can do with the software.%0a%3c %0a%3c The GPL is designed to use the copyright system against itself. If you make any modifications to a GPL program and share the, you are legally required share those changes. The GPL was designed to force you to share code back to the GPL community.%0a%3c %0a%3c # You can charge for distributing, supporting, or documenting the software, but you cannot sell the software itself.%0a%3c # If GPL source is required for a program to compile, the program must be under the GPL. Linking statically to a GPL library requires a program to be under the GPL.%0a%3c # The GPL requires that any patents associated with GPLed software must be licensed for everyone's free use.%0a%3c %0a%3c [[https://www.gnu.org/licenses/gpl-3.0.html|The GPL]] is a very complicated license. It is filled with technical phrases that are hard to understand without a lawyer. Due to its complexity, many users (and even lawyers) find it hard to understand. Often, users resort to looking at the License FAQ or contacting the FSF's lawyers for clarification. This gives the FSF quite a bit of control over their definition of 'free software'.%0a---%0a> This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software IRCNow provides should have no single owner; it belongs to the public.%0a\ No newline at end of file%0a +host:1615694638=125.224.29.248 +author:1615693590=jrmu +diff:1615693590:1615693590:=1,9d0%0a%3c Why use a permissive license instead of the GPL?%0a%3c %0a%3c Long before the words "open source" or "free software" were ever used, we had the public domain. The public domain consists of every creative work that has no legal owner.%0a%3c %0a%3c What's included in the public domain? The paintings of da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the works that covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and new creations. There is no owner; it belongs to the public. You are free to do whatever you want with it.%0a%3c %0a%3c Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. Fortunately, in most countries, cooking recipes and math formulas are in the public domain.%0a%3c %0a%3c This is how software should work, too. We want you, the end user and programmers, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to sell it. The software IRCNow provides should have no single owner; it belongs to the public.%0a\ No newline at end of file%0a +host:1615693590=125.224.29.248 blob - /dev/null blob + 7cfc5b35016a453aa766855286a7e364a2f736ac (mode 644) --- /dev/null +++ wiki.d/Gpl.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1615693590 +host=198.251.81.119 +name=Gpl.RecentChanges +rev=127 +text=* [[Gpl/Flaws]] . . . April 24, 2021, at 04:56 PM by [[~jrmu]]: [==]%0a +time=1619283380 blob - /dev/null blob + 0db625b6f8319095ffe69acdb2658540a553f0c0 (mode 644) --- /dev/null +++ wiki.d/Grape.DonateUs @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1622978893 +host=39.42.124.102 +name=Grape.DonateUs +rev=2 +targets= +text=''''''!! DONATIONS:''''''%0a%0a%0aWe now accept donations through Crypto Coins.%0a%0a''''+BitCoin+':''' bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a%0a'-Send only Bitcoin to this address. Sending any other coins may result in permanent loss.-'%0a----------------------------------------------------------------------------------------------%0a''''+Etherium+':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%0a'-Send only Etherium to this address. Sending any other coins may result in permanent loss.-'%0a----------------------------------------------------------------------------------------------%0a%0a''''+BNB+':''' bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a%0a'-Send only BNB to this address. Sending any other coins may result in permanent loss.-'%0a----------------------------------------------------------------------------------------------%0a%0a''''+Doge+':''' DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a%0a'-Send only Dogecoin to this address. Sending any other coins may result in permanent loss.-'%0a----------------------------------------------------------------------------------------------%0a''''+USDT+''-(TRC20)-':''' TTHHD7CKbZgE8gx1VdGhtmSEWrSbUeVuy5%0a%0a'-Send only Tether USD (TRC20) to this address. Sending any other coins may result in permanent loss.-'%0a%0a----------------------------------------------------------------------------------------------%0a%0a''''+USDT+''-(ERC20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%0a'-Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.-'%0a----------------------------------------------------------------------------------------------%0a%0a''''+BUSD+''-(BEP20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%0a'-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'%0a---------------------------------------------------------------------------------------------- +time=1622994062 +author:1622994062=fizi +diff:1622994062:1622978893:=23,27d22%0a%3c ----------------------------------------------------------------------------------------------%0a%3c ''''+USDT+''-(TRC20)-':''' TTHHD7CKbZgE8gx1VdGhtmSEWrSbUeVuy5%0a%3c %0a%3c '-Send only Tether USD (TRC20) to this address. Sending any other coins may result in permanent loss.-'%0a%3c %0a +host:1622994062=39.42.124.102 +author:1622978893=fizi +diff:1622978893:1622978893:=1,33d0%0a%3c ''''''!! DONATIONS:''''''%0a%3c %0a%3c %0a%3c We now accept donations through Crypto Coins.%0a%3c %0a%3c ''''+BitCoin+':''' bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a%3c %0a%3c '-Send only Bitcoin to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a%3c ''''+Etherium+':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only Etherium to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a%3c ''''+BNB+':''' bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a%3c %0a%3c '-Send only BNB to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a%3c ''''+Doge+':''' DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a%3c %0a%3c '-Send only Dogecoin to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a%3c ''''+USDT+''-(ERC20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a%3c ''''+BUSD+''-(BEP20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'%0a%3c ----------------------------------------------------------------------------------------------%0a\ No newline at end of file%0a +host:1622978893=39.42.124.102 blob - /dev/null blob + 74df82b4a3b839875e20370ea8183fcd1b2cd93e (mode 644) --- /dev/null +++ wiki.d/Grape.Grape @@ -0,0 +1,133 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1597186062 +host=39.42.124.102 +name=Grape.Grape +rev=39 +targets=Grape.DonateUs,Irc.Guide,Terms.Terms,Grape.Guide,Grape.Todo +text=''' DONATIONS ''' [[Donate us]]%0a%0aWe now accept donations through Crypto Coins.%0a----------------------------------------------------%0a%0a[+Grape Official Website: https://grape.ircnow.org/ +]%0a%0a%0a[++Grape is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a%0a[+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Grape:+]%0a %0a''' CHAT SERVER '''%0a* Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC live chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a%0a''' SHELL ACCOUNTS '''%0a* Grape '''shell accounts''' on OpenBSD. A shell account allows you to log in to our servers to run a chat bot such as eggdrop, or take part in web hosting or application development. Access details are provided upon successful registration.%0a%0a''' MINETEST SERVER '''%0a* We also host a [[https://wiki.ircnow.org/index.php?n=Grape.Minetest|Minetest game server]] on host grape.ircnow.org, port 30000 , 30001, 30002, 30003. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a%0a''' BOUNCER '''%0a* Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a%0aProvided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://Grape.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. %0a%0aWhen clicked, the channels links open in your IRC client. If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a%0aOur services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a%0a%0aAdditional instructions that we use in our work. This is for team members only, but if you're interested, you can read this too [[Grape.Guide|here]].%0a%0a''' GRAPE TEAM '''%0a* Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a%0a[[grape/todo|Todo list]]%0a%0a[[Donate us]] +time=1622979592 +author:1622979592=fizi +diff:1622979592:1622979561:=1,2c1,2%0a%3c ''' DONATIONS ''' [[Donate us]]%0a%3c %0a---%0a> ''' DONATIONS '''%0a> %0a4c4,5%0a%3c ----------------------------------------------------%0a---%0a> %0a> [[Donate us]]%0a +host:1622979592=39.42.124.102 +author:1622979561=fizi +diff:1622979561:1622979519:=2,4d1%0a%3c %0a%3c We now accept donations through Crypto Coins.%0a%3c %0a +host:1622979561=39.42.124.102 +author:1622979519=fizi +diff:1622979519:1622978933:=1d0%0a%3c ''' DONATIONS '''%0a +host:1622979519=39.42.124.102 +author:1622978933=fizi +diff:1622978933:1622978876:=1,2d0%0a%3c [[Donate us]]%0a%3c %0a4d1%0a%3c %0a +host:1622978933=39.42.124.102 +author:1622978876=fizi +diff:1622978876:1622978835:=33c33%0a%3c [[Donate us]]%0a\ No newline at end of file%0a---%0a> [[Donations]]%0a\ No newline at end of file%0a +host:1622978876=39.42.124.102 +author:1622978835=fizi +diff:1622978835:1622978585:=31,33c31%0a%3c [[grape/todo|Todo list]]%0a%3c %0a%3c [[Donations]]%0a\ No newline at end of file%0a---%0a> [[grape/todo|Todo list]]%0a\ No newline at end of file%0a +host:1622978835=39.42.124.102 +author:1622978585=fizi +diff:1622978585:1622978471:=24a25,58%0a> %0a> ''''''!! DONATIONS:''''''%0a> %0a> %0a> We now accept donations through Crypto Coins.%0a> %0a> ''''+BitCoin+':''' bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a> %0a> '-Send only Bitcoin to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a> ''''+Etherium+':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> '-Send only Etherium to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a> %0a> ''''+BNB+':''' bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a> %0a> '-Send only BNB to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a> %0a> ''''+Doge+':''' DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a> %0a> '-Send only Dogecoin to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a> %0a> ''''+USDT+''-(ERC20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> '-Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a> %0a> ''''+BUSD+''-(BEP20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'%0a> ----------------------------------------------------------------------------------------------%0a +host:1622978585=39.42.124.102 +author:1622978471=fizi +diff:1622978471:1622978420:=26c26%0a%3c ''''''!! DONATIONS:''''''%0a---%0a> '''!! DONATIONS:'''%0a +host:1622978471=39.42.124.102 +author:1622978420=fizi +diff:1622978420:1622978319:=26,28c26,28%0a%3c '''!! DONATIONS:'''%0a%3c %0a%3c %0a---%0a> !! DONATIONS:%0a> %0a> %0a31,33c31,33%0a%3c ''''+BitCoin+':''' bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a%3c %0a%3c '-Send only Bitcoin to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+BitCoin+': bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a> %0a> Send only Bitcoin to this address. Sending any other coins may result in permanent loss.%0a35,37c35,37%0a%3c ''''+Etherium+':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only Etherium to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+Etherium+': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> Send only Etherium to this address. Sending any other coins may result in permanent loss.%0a40,42c40,42%0a%3c ''''+BNB+':''' bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a%3c %0a%3c '-Send only BNB to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+BNB+': bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a> %0a> Send only BNB to this address. Sending any other coins may result in permanent loss.%0a45,47c45,47%0a%3c ''''+Doge+':''' DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a%3c %0a%3c '-Send only Dogecoin to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+Doge+': DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a> %0a> Send only Dogecoin to this address. Sending any other coins may result in permanent loss.%0a50,52c50,52%0a%3c ''''+USDT+''-(ERC20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+USDT+''-(ERC20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.%0a55,57c55,57%0a%3c ''''+BUSD+''-(BEP20)-':''' 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'%0a---%0a> '+BUSD+''-(BEP20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.%0a +host:1622978420=39.42.124.102 +author:1622978319=fizi +diff:1622978319:1622978251:=34c34%0a%3c ----------------------------------------------------------------------------------------------%0a---%0a> %0a38,39c38%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a---%0a> %0a43,44c42%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a---%0a> %0a48,49c46%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a---%0a> %0a53,54c50%0a%3c ----------------------------------------------------------------------------------------------%0a%3c %0a---%0a> %0a57,58c53%0a%3c Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.%0a%3c ----------------------------------------------------------------------------------------------%0a---%0a> '-'-'-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'-'-'%0a +host:1622978319=39.42.124.102 +author:1622978251=fizi +diff:1622978251:1622978216:=53c53%0a%3c '-'-'-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-'-'-'%0a---%0a> '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'%0a +host:1622978251=39.42.124.102 +author:1622978216=fizi +diff:1622978216:1622978160:=53c53%0a%3c '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'%0a---%0a> '-'-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'-''-Small text-'%0a +host:1622978216=39.42.124.102 +author:1622978160=fizi +diff:1622978160:1622978136:=53c53%0a%3c '-'-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'-''-Small text-'%0a---%0a> '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'%0a +host:1622978160=39.42.124.102 +author:1622978136=fizi +diff:1622978136:1622978105:=0a1%0a> %0a53c54%0a%3c '-Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.-''-Small text-'%0a---%0a> Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.%0a +host:1622978136=39.42.124.102 +author:1622978105=fizi +diff:1622978105:1622978042:=1c1,4%0a%3c %0a---%0a> ||border=1 width=80%25%0a> ||!Hdr ||!Hdr ||!Hdr ||%0a> || || || ||%0a> || || || ||%0a31a35,39%0a> %0a> ||border=1 width=80%25%0a> ||!Hdr ||!Hdr ||!Hdr ||%0a> || || || ||%0a> || || || ||%0a33d40%0a%3c %0a37d43%0a%3c %0a41d46%0a%3c %0a45d49%0a%3c %0a49d52%0a%3c %0a53d55%0a%3c %0a +host:1622978105=39.42.124.102 +author:1622978042=fizi +diff:1622978042:1622977983:=1,4d0%0a%3c ||border=1 width=80%25%0a%3c ||!Hdr ||!Hdr ||!Hdr ||%0a%3c || || || ||%0a%3c || || || ||%0a36,39d31%0a%3c ||border=1 width=80%25%0a%3c ||!Hdr ||!Hdr ||!Hdr ||%0a%3c || || || ||%0a%3c || || || ||%0a +host:1622978042=39.42.124.102 +author:1622977983=fizi +diff:1622977983:1622977660:=31,48c31,42%0a%3c %0a%3c '+BitCoin+': bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a%3c Send only Bitcoin to this address. Sending any other coins may result in permanent loss.%0a%3c %0a%3c '+Etherium+': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c Send only Etherium to this address. Sending any other coins may result in permanent loss.%0a%3c %0a%3c '+BNB+': bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a%3c Send only BNB to this address. Sending any other coins may result in permanent loss.%0a%3c %0a%3c '+Doge+': DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a%3c Send only Dogecoin to this address. Sending any other coins may result in permanent loss.%0a%3c %0a%3c '+USDT+''-(ERC20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c Send only Tether USD (ERC20) to this address. Sending any other coins may result in permanent loss.%0a%3c %0a%3c '+BUSD+''-(BEP20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c Send only BUSD Token (BEP20) to this address. Sending any other coins may result in permanent loss.%0a---%0a> BitCoin: bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a> %0a> Etherium: 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> BNB: bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a> %0a> Doge: DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a> %0a> USDT: 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a> '+BUST+''-(BEP20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a> %0a +host:1622977983=39.42.124.102 +author:1622977660=fizi +diff:1622977660:1622976654:=31,41c31,41%0a%3c BitCoin: bc1qqlpeyjdvfylywfqktduwx3zus5793327774nwm%0a%3c %0a%3c Etherium: 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c BNB: bnb1zl4072de3k58mhrwfpstgz0yks6rjlz7v9k445%0a%3c %0a%3c Doge: DNNTVbo7HtFbVjoVvph6kavDqyoxqmz3Dk%0a%3c %0a%3c USDT: 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a%3c %0a%3c '+BUST+''-(BEP20)-': 0xFbb8E956AB002bb61732501639A06CaB6d98E44D%0a---%0a> BitCoin:%0a> %0a> Etherium:%0a> %0a> BNB:%0a> %0a> Doge:%0a> %0a> USDT:%0a> %0a> BUST:%0a +host:1622977660=39.42.124.102 +author:1622976654=fizi +diff:1622976654:1620731565:=24,42d23%0a%3c %0a%3c %0a%3c !! DONATIONS:%0a%3c %0a%3c %0a%3c We now accept donations through Crypto Coins.%0a%3c %0a%3c BitCoin:%0a%3c %0a%3c Etherium:%0a%3c %0a%3c BNB:%0a%3c %0a%3c Doge:%0a%3c %0a%3c USDT:%0a%3c %0a%3c BUST:%0a%3c %0a +host:1622976654=39.42.124.102 +author:1620731565=fizi +diff:1620731565:1620731517:=3,4c3,4%0a%3c [++Grape is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a%3c %0a---%0a> [++IRCNow Grape is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a> %0a8,9c8,9%0a%3c * Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC live chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a%3c %0a---%0a> * IRCNow Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC live chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a> %0a11,12c11,12%0a%3c * Grape '''shell accounts''' on OpenBSD. A shell account allows you to log in to our servers to run a chat bot such as eggdrop, or take part in web hosting or application development. Access details are provided upon successful registration.%0a%3c %0a---%0a> * IRCNow Grape '''shell accounts''' on OpenBSD. A shell account allows you to log in to our servers to run a chat bot such as eggdrop, or take part in web hosting or application development. Access details are provided upon successful registration.%0a> %0a17c17%0a%3c * Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a---%0a> * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a +host:1620731565=111.119.187.19 +author:1620731517=fizi +diff:1620731517:1620731459:=1,2c1%0a%3c [+Grape Official Website: https://grape.ircnow.org/ +]%0a%3c %0a---%0a> Grape Official Website: https://grape.ircnow.org/%0a +host:1620731517=111.119.187.19 +author:1620731459=fizi +diff:1620731459:1611174817:=1d0%0a%3c Grape Official Website: https://grape.ircnow.org/%0a +host:1620731459=111.119.187.19 +author:1611174817=wiz +diff:1611174817:1611174390:=26a27,38%0a> %0a> %3cp>...Help Us to Grow...%3c/p>%0a> %0a> %3cform action="https://www.paypal.com/donate" method="post" target="_top">%0a> %3cinput type="hidden" name="hosted_button_id" value="L38GVH385WTBJ" />%0a> %3cinput type="image"%0a> src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif"%0a> border="0" name="submit" title="PayPal - The safer, easier way to pay%0a> online!" alt="Donate with PayPal button" />%0a> %3cimg alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif"%0a> width="1" height="1" />%0a> %3c/form%0a +host:1611174817=77.100.11.104 +author:1611174390=wiz +diff:1611174390:1611173628:=27,38d26%0a%3c %0a%3c %3cp>...Help Us to Grow...%3c/p>%0a%3c %0a%3c %3cform action="https://www.paypal.com/donate" method="post" target="_top">%0a%3c %3cinput type="hidden" name="hosted_button_id" value="L38GVH385WTBJ" />%0a%3c %3cinput type="image"%0a%3c src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif"%0a%3c border="0" name="submit" title="PayPal - The safer, easier way to pay%0a%3c online!" alt="Donate with PayPal button" />%0a%3c %3cimg alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif"%0a%3c width="1" height="1" />%0a%3c %3c/form%0a +host:1611174390=77.100.11.104 +author:1611173628=fizi +diff:1611173628:1611173364:=7a8,10%0a> ''' BOUNCER '''%0a> * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a> %0a13,15d15%0a%3c %0a%3c ''' BOUNCER '''%0a%3c * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a +host:1611173628=39.42.26.136 +author:1611173364=fizi +diff:1611173364:1611173311:=26c26%0a%3c * Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a---%0a> Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a +host:1611173364=39.42.26.136 +author:1611173311=fizi +diff:1611173311:1609684568:=5d4%0a%3c ''' CHAT SERVER '''%0a8d6%0a%3c ''' BOUNCER '''%0a11d8%0a%3c ''' SHELL ACCOUNTS '''%0a14d10%0a%3c ''' MINETEST SERVER '''%0a25d20%0a%3c ''' GRAPE TEAM '''%0a +host:1611173311=39.42.26.136 +author:1609684568=jrmu +diff:1609684568:1609012841:=21,23c21%0a%3c Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a%3c %0a%3c [[grape/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a\ No newline at end of file%0a +host:1609684568=125.231.63.134 +author:1609012841=fizi +diff:1609012841:1608065785:=11c11%0a%3c * We also host a [[https://wiki.ircnow.org/index.php?n=Grape.Minetest|Minetest game server]] on host grape.ircnow.org, port 30000 , 30001, 30002, 30003. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a---%0a> * We also host a [[https://wiki.ircnow.org/index.php?n=Grape.Minetest|Minetest game server]] on host grape.ircnow.org, port 30000. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a +host:1609012841=39.42.29.159 +author:1608065785=fizi +diff:1608065785:1608065739:=21c21%0a%3c Languages we speak include '''English, Russian, Urdu, Bangali, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a\ No newline at end of file%0a---%0a> Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a\ No newline at end of file%0a +host:1608065785=39.42.67.201 +author:1608065739=fizi +diff:1608065739:1607515742:=21c21%0a%3c Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, Miniontoby '''.%0a\ No newline at end of file%0a---%0a> Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, MiniontobyPI '''.%0a\ No newline at end of file%0a +host:1608065739=39.42.67.201 +author:1607515742=fizi +diff:1607515742:1600256160:=21c21%0a%3c Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, ERROR, gry, MiniontobyPI '''.%0a\ No newline at end of file%0a---%0a> Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, Baytuch, search_social, ERROR, gry'''.%0a\ No newline at end of file%0a +host:1607515742=39.42.105.20 +author:1600256160=fizi +diff:1600256160:1600244821:=21c21%0a%3c Languages we speak include '''English, Russian, Urdu, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, Baytuch, search_social, ERROR, gry'''.%0a\ No newline at end of file%0a---%0a> Languages we speak include '''English, Russian'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, Baytuch, search_social, ERROR, gry'''.%0a\ No newline at end of file%0a +host:1600256160=39.42.4.229 +author:1600244821=baytuch +diff:1600244821:1598772697:=18,19d17%0a%3c %0a%3c Additional instructions that we use in our work. This is for team members only, but if you're interested, you can read this too [[Grape.Guide|here]].%0a +host:1600244821=91.228.147.58 +author:1598772697=baytuch +diff:1598772697:1598598898:=11c11%0a%3c * We also host a [[https://wiki.ircnow.org/index.php?n=Grape.Minetest|Minetest game server]] on host grape.ircnow.org, port 30000. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a---%0a> * We also host a Minetest game server on host grape.ircnow.org, port 30000. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a +host:1598772697=91.228.147.58 +author:1598598898=gry +csum:1598598898=updated minetest +diff:1598598898:1598140938:=11c11%0a%3c * We also host a Minetest game server on host grape.ircnow.org, port 30000. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm.%0a---%0a> * We also have plans to host a Minetest game server. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm. This is work in progress.%0a +host:1598598898=203.129.25.247 +author:1598140938=gry +csum:1598140938=+vhost +diff:1598140938:1597534807:=7c7%0a%3c * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. This service includes custom vhost available by request. Our bouncer service is located in the US.%0a---%0a> * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a +host:1598140938=203.129.25.247 +author:1597534807=gry +csum:1597534807=+ +diff:1597534807:1597186062:=5,6c5,6%0a%3c * IRCNow Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC live chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a%3c %0a---%0a> * IRCNow Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC chat client). Our chat server is located in the US.%0a> %0a13,17c13%0a%3c Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://Grape.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. %0a%3c %0a%3c When clicked, the channels links open in your IRC client. If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a%3c %0a%3c Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a---%0a> Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://Grape.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a +host:1597534807=203.129.25.247 +author:1597186062=gry +csum:1597186062=created +diff:1597186062:1597186062:=1,15d0%0a%3c [++IRCNow Grape is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a%3c %0a%3c [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Grape:+]%0a%3c %0a%3c * IRCNow Grape IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.Grape.ircnow.org]] (opens in your IRC chat client). Our chat server is located in the US.%0a%3c %0a%3c * IRCNow Grape IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a%3c %0a%3c * IRCNow Grape '''shell accounts''' on OpenBSD. A shell account allows you to log in to our servers to run a chat bot such as eggdrop, or take part in web hosting or application development. Access details are provided upon successful registration.%0a%3c %0a%3c * We also have plans to host a Minetest game server. This is a free and open-source block game where the players can retrieve building materials from their environment to build shelter or a farm. This is work in progress.%0a%3c %0a%3c Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://Grape.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a%3c %0a%3c Languages we speak include '''English, Russian'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Grape services in their free time: '''fizi, Baytuch, search_social, ERROR, gry'''.%0a\ No newline at end of file%0a +host:1597186062=203.129.25.247 blob - /dev/null blob + b48f6c394f1f3abeb466c799f739c484b0fb3152 (mode 644) --- /dev/null +++ wiki.d/Grape.Guide @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +author=baytuch +charset=UTF-8 +csum= +ctime=1600245600 +host=91.228.147.58 +name=Grape.Guide +rev=3 +targets= +text=This document contains additional instructions that we use in our work. Please, be attentive and loyal to your users and colleagues.%0a%0a'''Description of working with the user creation tool'''%0a%0aCreate user:%0a%0a [=%0agrape$ doas /usr/local/libexec/grape/user_manager.sh create user %0a =]%0a%0a%0aDelete user:%0a%0a [=%0agrape$ doas /usr/local/libexec/grape/user_manager.sh delete user %0a =]%0a%0aRemember that the tool only creates the user and its folder tree. You need to finish the configuration manually (development is underway).%0a%0a%0a'''Description of working with the public repo creation tool'''%0a%0aCreate repo:%0a%0a [=%0adoas /usr/local/libexec/grape/repos_manager.sh create user repo_name%0a =]%0a%0a [= %0a[2020-09-09 05:02:49] CREATE_REPO: creating new git/got repo...%0a[2020-09-09 05:02:49] CREATE_REPO: creating an empty repository...%0aInitialized empty Git repository in /tmp/repos_manager.git/%0a[2020-09-09 05:02:49] CREATE_REPO: repository created successfully%0a%0aInstructions:%0agit clone user@grape.ircnow.org:repos/repo_name.git%0agit remote add grape ssh://user@grape.ircnow.org/~/repos/repo_name.git%0a =]%0a%0aDelete repo:%0a%0a [=%0adoas /usr/local/libexec/grape/repos_manager.sh delete user repo_name%0a[2020-09-10 03:06:51] DELETE_REPO: deleting git/got repo...%0a[2020-09-10 03:06:51] DELETE_REPO: repository found and will now be deleted%0a[2020-09-10 03:06:51] DELETE_REPO: repository deleted successfully%0a =]%0a%0aPlease pass the instructions to the user. %0arepo web sate: https://gotweb.grape.ircnow.org/cgi-bin/gotweb/gotweb%0a%0a%0a +time=1600245725 +author:1600245725=baytuch +diff:1600245725:1600245668:=15c15%0a%3c grape$ doas /usr/local/libexec/grape/user_manager.sh delete user %0a---%0a> grape$ doas /usr/local/libexec/grape/user_manager.sh create user %0a +host:1600245725=91.228.147.58 +author:1600245668=baytuch +diff:1600245668:1600245600:=43c43%0a%3c doas /usr/local/libexec/grape/repos_manager.sh delete user repo_name%0a---%0a> doas /usr/local/libexec/grape/repos_manager.sh create user repo_name%0a +host:1600245668=91.228.147.58 +author:1600245600=baytuch +diff:1600245600:1600245600:=1,52d0%0a%3c This document contains additional instructions that we use in our work. Please, be attentive and loyal to your users and colleagues.%0a%3c %0a%3c '''Description of working with the user creation tool'''%0a%3c %0a%3c Create user:%0a%3c %0a%3c [=%0a%3c grape$ doas /usr/local/libexec/grape/user_manager.sh create user %0a%3c =]%0a%3c %0a%3c %0a%3c Delete user:%0a%3c %0a%3c [=%0a%3c grape$ doas /usr/local/libexec/grape/user_manager.sh create user %0a%3c =]%0a%3c %0a%3c Remember that the tool only creates the user and its folder tree. You need to finish the configuration manually (development is underway).%0a%3c %0a%3c %0a%3c '''Description of working with the public repo creation tool'''%0a%3c %0a%3c Create repo:%0a%3c %0a%3c [=%0a%3c doas /usr/local/libexec/grape/repos_manager.sh create user repo_name%0a%3c =]%0a%3c %0a%3c [= %0a%3c [2020-09-09 05:02:49] CREATE_REPO: creating new git/got repo...%0a%3c [2020-09-09 05:02:49] CREATE_REPO: creating an empty repository...%0a%3c Initialized empty Git repository in /tmp/repos_manager.git/%0a%3c [2020-09-09 05:02:49] CREATE_REPO: repository created successfully%0a%3c %0a%3c Instructions:%0a%3c git clone user@grape.ircnow.org:repos/repo_name.git%0a%3c git remote add grape ssh://user@grape.ircnow.org/~/repos/repo_name.git%0a%3c =]%0a%3c %0a%3c Delete repo:%0a%3c %0a%3c [=%0a%3c doas /usr/local/libexec/grape/repos_manager.sh create user repo_name%0a%3c [2020-09-10 03:06:51] DELETE_REPO: deleting git/got repo...%0a%3c [2020-09-10 03:06:51] DELETE_REPO: repository found and will now be deleted%0a%3c [2020-09-10 03:06:51] DELETE_REPO: repository deleted successfully%0a%3c =]%0a%3c %0a%3c Please pass the instructions to the user. %0a%3c repo web sate: https://gotweb.grape.ircnow.org/cgi-bin/gotweb/gotweb%0a%3c %0a%3c %0a +host:1600245600=91.228.147.58 blob - /dev/null blob + 1848d2200dd97a9fc652662cf50b5ab3496e63a4 (mode 644) --- /dev/null +++ wiki.d/Grape.Minetest @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux i686; rv:64.0) Gecko/20100101 Firefox/64.0 +author=baytuch +charset=UTF-8 +csum= +ctime=1598776357 +host=91.228.147.58 +name=Grape.Minetest +rev=2 +targets= +text='''Joining the game'''%0a%0aFirst, you need to install the application on your device. Available for Windows, macOS, GNU/Linux, FreeBSD, OpenBSD, DragonFly BSD, and Android. To do this, you need to go to the game distribution site and download its distribution. This instruction will consider the option of installing the application on Windows operating system.%0a%0aGo to the [[https://www.minetest.net/downloads|official website]] of the game and download the archive with the application, as shown in the screenshot.%0a%0a%25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_01.png"minetest join 1"%25%25%0a%0aNext, unpack the game files into a folder convenient for you, go to the bin subfolder, find the executable file minetest.exe there and run it.%0a%0a%0a%25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_02.png"minetest join 2"%25%25%0a%0aEnter the server address as "minetest.grape.ircnow.org", the port number as 30000. Come up with an interesting and wonderful username that will please you and your users. Come up with a good password (password must contain latin letters and numbers, and must be at least 8 characters long). Please fill in the fields and click on "Connect".%0a%0a%25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_03.png"minetest join 3"%25%25%0a%0aAfter connecting, if this is your first time on the server, you must enter your password afterwards. Now you are registered on the server and you can start playing with other players. Welcome to the "Grape" game server.%0a%0a%0a'''Support and additional questions'''%0a%0aIf you have any further questions or want to chat with other players in the game, please join our team [[irc://Grape.ircnow.org/grape|#grape]] IRC channel or the [[irc://Grape.ircnow.org/grape-minetest|#grape-minetest]]. +time=1598776944 +author:1598776944=baytuch +diff:1598776944:1598776357:=20,23d19%0a%3c %0a%3c '''Support and additional questions'''%0a%3c %0a%3c If you have any further questions or want to chat with other players in the game, please join our team [[irc://Grape.ircnow.org/grape|#grape]] IRC channel or the [[irc://Grape.ircnow.org/grape-minetest|#grape-minetest]].%0a\ No newline at end of file%0a +host:1598776944=91.228.147.58 +author:1598776357=baytuch +diff:1598776357:1598776357:=1,19d0%0a%3c '''Joining the game'''%0a%3c %0a%3c First, you need to install the application on your device. Available for Windows, macOS, GNU/Linux, FreeBSD, OpenBSD, DragonFly BSD, and Android. To do this, you need to go to the game distribution site and download its distribution. This instruction will consider the option of installing the application on Windows operating system.%0a%3c %0a%3c Go to the [[https://www.minetest.net/downloads|official website]] of the game and download the archive with the application, as shown in the screenshot.%0a%3c %0a%3c %25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_01.png"minetest join 1"%25%25%0a%3c %0a%3c Next, unpack the game files into a folder convenient for you, go to the bin subfolder, find the executable file minetest.exe there and run it.%0a%3c %0a%3c %0a%3c %25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_02.png"minetest join 2"%25%25%0a%3c %0a%3c Enter the server address as "minetest.grape.ircnow.org", the port number as 30000. Come up with an interesting and wonderful username that will please you and your users. Come up with a good password (password must contain latin letters and numbers, and must be at least 8 characters long). Please fill in the fields and click on "Connect".%0a%3c %0a%3c %25center%25https://grape.ircnow.org/static/images/minetest/minetest_join_03.png"minetest join 3"%25%25%0a%3c %0a%3c After connecting, if this is your first time on the server, you must enter your password afterwards. Now you are registered on the server and you can start playing with other players. Welcome to the "Grape" game server.%0a%3c %0a +host:1598776357=91.228.147.58 blob - /dev/null blob + 58eeed0b406e35f78b1e21a7f485d73fc960414c (mode 644) --- /dev/null +++ wiki.d/Grape.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 +charset=UTF-8 +ctime=1597186062 +host=39.42.124.102 +name=Grape.RecentChanges +rev=49 +text=* [[Grape/DonateUs]] . . . June 06, 2021, at 03:41 PM by [[~fizi]]: [==]%0a* [[Grape/Grape]] . . . June 06, 2021, at 11:39 AM by [[~fizi]]: [==]%0a* [[Grape/Todo]] . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a* [[Grape/Tasks]] . . . January 01, 2021, at 07:52 PM by [[~fizi]]: [==]%0a* [[Grape/Guide]] . . . September 16, 2020, at 08:42 AM by [[~baytuch]]: [==]%0a* [[Grape/Minetest]] . . . August 30, 2020, at 08:42 AM by [[~baytuch]]: [==]%0a +time=1622994062 blob - /dev/null blob + 332efa298ed076940cab36b5fc52f27ce831601c (mode 644) --- /dev/null +++ wiki.d/Grape.Tasks @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1609530770 +host=39.42.66.141 +name=Grape.Tasks +rev=1 +targets= +text=... +time=1609530770 +author:1609530770=fizi +diff:1609530770:1609530770:=1d0%0a%3c ...%0a\ No newline at end of file%0a +host:1609530770=39.42.66.141 blob - /dev/null blob + 14652ea31cdbdfdff3f00779042d8b87d754e660 (mode 644) --- /dev/null +++ wiki.d/Grape.Todo @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609684786 +host=125.231.63.134 +name=Grape.Todo +rev=2 +targets=Openbsd.Znc,Openbsd.Newdisk,Openbsd.Backup +text=(:title Grape Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Check your ZNC to see if it is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%0aDone: +time=1609938344 +title=Grape Todo list +author:1609938344=jrmu +diff:1609938344:1609684786:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938344=125.231.63.134 +author:1609684786=jrmu +diff:1609684786:1609684786:=1,10d0%0a%3c (:title Grape Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Check your ZNC to see if it is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609684786=125.231.63.134 blob - /dev/null blob + 2fd11af1a8fd0c4c57dc8bfab977586eec09728b (mode 644) --- /dev/null +++ wiki.d/GrapeTeam.GrapeTeam @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1598264019 +host=38.81.163.143 +name=GrapeTeam.GrapeTeam +rev=3 +targets= +text=One small step for grape.%0a%0aOne giant leap for vinekind. +time=1598267441 +author:1598264019=jrmu +diff:1598264019:1598264019:=1,3d0%0a%3c One small step for grape.%0a%3c %0a%3c One giant leap for vinekind.%0a\ No newline at end of file%0a +host:1598264019=38.81.163.143 blob - /dev/null blob + 0e76fb68c267e178fe69a98e295178334e92b386 (mode 644) --- /dev/null +++ wiki.d/GrapeTeam.GroupAttributes @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1598267370 +host=38.81.163.143 +name=GrapeTeam.GroupAttributes +passwdread=$2y$10$Kfc./1mXdIwNxTSnDLGMRuzNpW8bSODmoVuQj5sMVZnWglroNtmCa +rev=1 +time=1598267370 blob - /dev/null blob + 35b7db9a390aab1ffbec6e84173b5a706a636c40 (mode 644) --- /dev/null +++ wiki.d/GrapeTeam.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +charset=UTF-8 +ctime=1598219965 +host=203.129.25.247 +name=GrapeTeam.RecentChanges +rev=3 +text=* [[GrapeTeam/Tracker]] . . . August 24, 2020, at 10:16 AM by [[~gry]]: [=+=]%0a* [[GrapeTeam/GrapeTeam]] . . . August 24, 2020, at 10:13 AM by [[~jrmu]]: [==]%0a +time=1598264166 blob - /dev/null blob + 2e7d99a57eb2c87bd9816048e42a0f5be891e1ca (mode 644) --- /dev/null +++ wiki.d/GrapeTeam.Tracker @@ -0,0 +1,20 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=+ +ctime=1598219965 +host=203.129.25.247 +name=GrapeTeam.Tracker +rev=2 +targets= +text=Hi world.%0a%0a* August 24. gry added account for wiz (aka ERROR) in grape-vps +time=1598264166 +author:1598264166=gry +csum:1598264166=+ +diff:1598264166:1598219965:=1,3c1%0a%3c Hi world.%0a%3c %0a%3c * August 24. gry added account for wiz (aka ERROR) in grape-vps%0a\ No newline at end of file%0a---%0a> Hi world.%0a\ No newline at end of file%0a +host:1598264166=203.129.25.247 +author:1598219965=gry +csum:1598219965=hi +diff:1598219965:1598219965:=1d0%0a%3c Hi world.%0a\ No newline at end of file%0a +host:1598219965=203.129.25.247 blob - /dev/null blob + 09c52533dc76e0921a35b6b68b70fbb872d0bd46 (mode 644) --- /dev/null +++ wiki.d/Gry.Bio @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613699637 +host=125.231.60.101 +name=Gry.Bio +rev=4 +targets= +text=(:title Gry: Champion of Free Software:)%0a%0aA Linux User since 2010, she combines interest in libre real time communication and interactive education at home and on the Internet. Experienced with system administration of IRC servers, shell servers, wiki, and bouncer in volunteer capacity. +time=1631328571 +title=Gry: Champion of Free Software +author:1631328571=jrmu +diff:1631328571:1614930837:=1c1,3%0a%3c (:title Gry: Champion of Free Software:)%0a---%0a> (:title Gry: Champion of Free Software and Due Process:)%0a> %0a> Attach:Marketing/libertyordeath.jpg%0a +host:1631328571=125.231.60.101 +author:1614930837=jrmu +diff:1614930837:1614930744:=1,2c1,2%0a%3c (:title Gry: Champion of Free Software and Due Process:)%0a%3c %0a---%0a> (:title Gry: Champion of Due Process:)%0a> %0a5c5%0a%3c A Linux User since 2010, she combines interest in libre real time communication and interactive education at home and on the Internet. Experienced with system administration of IRC servers, shell servers, wiki, and bouncer in volunteer capacity.%0a\ No newline at end of file%0a---%0a> Linux user since 2010 with interest in libre real time communication and interactive education at home and in the Internet. Experienced with system administration of IRC servers, shell servers, wiki, and bouncer in volunteer capacity.%0a\ No newline at end of file%0a +host:1614930837=198.251.81.119 +author:1614930744=jrmu +diff:1614930744:1613699637:=1,3c1%0a%3c (:title Gry: Champion of Due Process:)%0a%3c %0a%3c Attach:Marketing/libertyordeath.jpg%0a---%0a> (:title Gry:)%0a +host:1614930744=198.251.81.119 +author:1613699637=jrmu +diff:1613699637:1613699637:=1,3d0%0a%3c (:title Gry:)%0a%3c %0a%3c Linux user since 2010 with interest in libre real time communication and interactive education at home and in the Internet. Experienced with system administration of IRC servers, shell servers, wiki, and bouncer in volunteer capacity.%0a\ No newline at end of file%0a +host:1613699637=198.251.81.119 blob - /dev/null blob + ec9497e02834bf06a21e063339ecf0e7a5d19f20 (mode 644) --- /dev/null +++ wiki.d/Gry.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1613699637 +host=125.231.60.101 +name=Gry.RecentChanges +rev=4 +text=* [[Gry/Bio]] . . . September 11, 2021, at 02:49 AM by [[~jrmu]]: [==]%0a +time=1631328571 blob - /dev/null blob + a244ddfeb633e744b27b095624c5683ddbd8bebf (mode 644) --- /dev/null +++ wiki.d/Guava.Guava @@ -0,0 +1,162 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 +author=st13g +charset=UTF-8 +csum= +ctime=1609683512 +host=190.42.16.215 +name=Guava.Guava +rev=50 +targets=Guava.Todo +text=(:table style="color:#0a3d62; background-color:#dff9fb":)%0a(:cellnr:)%0aIRCNow Guava is part of the IRCNow network, in support of IRCNow goal is an experiment to create a network run by users for the benefit of users. Just for the aim to create a truly open and free network.%0a%0a%25color=#c44569%25 '''Available services at IRCNow Guava:''' %25%25%0a*'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a*'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a*'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a%0a%25color=#0a3d62%25Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%25%25%0a(:tableend:)%0a%0a%0a%0a(:table style="color:#0a3d62; background-color:#c7ecee":)%0a(:cellnr:)%0aIRCNow Guava es parte de la red IRCNow, en apoyo del objetivo de IRCNow,es un experimento para crear una red creada y administrada por usuarios para los usuarios. Con la finalidad de crear una red verdaderamente abierta y gratuita.%0a%0a%25color=#ee5253%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a* '''Servidor de chat IRCNow Guava IRC:''' es una plataforma de chat de texto colaborativo con chats grupales sobre temas al azar. Puedes acceder a ellos desde tu cliente IRC favorito, desde el sistema operativo de su elección, tenemos guías para ti, para configurar correctamente y obtener acceso, no solo a nuestra red, sino a cualquier red que tu desees.%0a* '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga %25color=#ED4C67%25 '''"Hola! Quiero mi shell "'''%25%25%0a* '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di %25color=#ED4C67%25 '''"hola, quiero un reto"'''%25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a%0a%25color=#0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a(:tableend:)%0a%0a(:table style="color:#0a3d62; background-color:#c8d6e5":)%0a(:cellnr:)%0aIRCNow Guava faz parte da rede IRCNow, em apoio ao objetivo de IRCNow é um experimento para criar uma rede operada por usuários para o benefício dos usuários. Apenas com o objetivo de criar uma rede verdadeiramente aberta e gratuita.%0a%0a%25color=#EA2027%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a* '''IRCNow Guava Servidor de chat IRC:''' é uma plataforma de chat de texto colaborativa com chats em grupo no seu tópico de interesse. Pode aceder a partir do seu cliente IRC preferido, do sistema operativo à sua escolha, temos guias para si, para configurar correctamente para obter acesso, não só à nossa rede, mas a qualquer rede que deseje.%0a* '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=#ED4C67%25 '''"Oi Eu quero meu shell "'''%25%25%0a* '''Aprendizagem:''' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25color=#ED4C67%25 '''"vamos lá"''' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a%0a%25color=# 0a3d62%25 Atualmente goiaba, está procurando por padagüenses, com vontade de aprender, e compartilhar nossa visão para o futuro da Internet, Se você está lendo isso, entre em contato conosco pelo canal #ircnow, O que você está esperando? Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco. Seu idioma não está listado aqui? sem problemas, posso garantir, no canal #ircnow haverá uma pessoa da equipe que poderá oferecer ajuda em seu idioma. %25%25%0a(:tableend:)%0a%0a%25center%25[[https://paypal.me/guavateamircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a%25center%25 Support Us%0a%0a[[guava/todo|Todo list]] +time=1612319449 +author:1612319449=st13g +diff:1612319449:1611678061:=39c39%0a%3c %25center%25[[https://paypal.me/guavateamircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a---%0a> %25center%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a +host:1612319449=190.42.16.215 +author:1611678061=st13g +diff:1611678061:1611677494:=38c38,39%0a%3c %0a---%0a> [[guava/todo|Todo list]]%0a> %0a40,42c41%0a%3c %25center%25 Support Us%0a%3c %0a%3c [[guava/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> %25center%25 Support Us%0a\ No newline at end of file%0a +host:1611678061=181.65.92.46 +author:1611677494=st13g +diff:1611677494:1611677007:=40,41c40%0a%3c %25center%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a%3c %25center%25 Support Us%0a\ No newline at end of file%0a---%0a> %25center%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a\ No newline at end of file%0a +host:1611677494=181.65.92.46 +author:1611677007=st13g +diff:1611677007:1611676384:=40c40%0a%3c %25center%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a\ No newline at end of file%0a---%0a> %25newwin%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a\ No newline at end of file%0a +host:1611677007=181.65.92.46 +author:1611676384=st13g +diff:1611676384:1611676243:=40c40%0a%3c %25newwin%25[[http://paypal.me/ircnow | https://s3.cointelegraph.com/storage/uploads/view/3278bdc14c74dd4e85732b776d0e5b1d.png"PmWiki"]]%25%25%0a\ No newline at end of file%0a---%0a> %25newwin%25[[http://paypal.me/ircnow | https://www.google.com/url?sa=i&url=https%253A%252F%252Fes.cointelegraph.com%252Ftags%252Fpaypal&psig=AOvVaw195cNmmDV2CN4b1RpMuRda&ust=1611762538651000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCLi0_db5ue4CFQAAAAAdAAAAABAD"PmWiki"]]%25%25%0a\ No newline at end of file%0a +host:1611676384=181.65.92.46 +author:1611676243=st13g +diff:1611676243:1611675845:=40c40%0a%3c %25newwin%25[[http://paypal.me/ircnow | https://www.google.com/url?sa=i&url=https%253A%252F%252Fes.cointelegraph.com%252Ftags%252Fpaypal&psig=AOvVaw195cNmmDV2CN4b1RpMuRda&ust=1611762538651000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCLi0_db5ue4CFQAAAAAdAAAAABAD"PmWiki"]]%25%25%0a\ No newline at end of file%0a---%0a> %25newwin%25[[http://paypal.me/ircnow | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25%0a\ No newline at end of file%0a +host:1611676243=181.65.92.46 +author:1611675845=st13g +diff:1611675845:1611675435:=40c40%0a%3c %25newwin%25[[http://paypal.me/ircnow | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25%0a\ No newline at end of file%0a---%0a> %25newwin%25[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25%0a\ No newline at end of file%0a +host:1611675845=181.65.92.46 +author:1611675435=st13g +diff:1611675435:1610079762:=38,40c38%0a%3c [[guava/todo|Todo list]]%0a%3c %0a%3c %25newwin%25[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25%0a\ No newline at end of file%0a---%0a> [[guava/todo|Todo list]]%0a\ No newline at end of file%0a +host:1611675435=181.65.92.46 +author:1610079762=st13g +diff:1610079762:1610079587:=1c1%0a%3c (:table style="color:#0a3d62; background-color:#dff9fb":)%0a---%0a> (:table style="color:#0a3d62; background-color:#ffaf40":)%0a15c15%0a%3c (:table style="color:#0a3d62; background-color:#c7ecee":)%0a---%0a> (:table style="color:#0a3d62; background-color:#32ff7e":)%0a +host:1610079762=181.67.40.146 +author:1610079587=st13g +diff:1610079587:1610079156:=1c1%0a%3c (:table style="color:#0a3d62; background-color:#ffaf40":)%0a---%0a> (:table style="color:#0a3d62; background-color:#f5f6fa":)%0a15c15%0a%3c (:table style="color:#0a3d62; background-color:#32ff7e":)%0a---%0a> (:table style="color:#0a3d62; background-color:#dfe4ea":)%0a +host:1610079587=181.67.40.146 +author:1610079156=st13g +diff:1610079156:1610078693:=34c34%0a%3c * '''Aprendizagem:''' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25color=#ED4C67%25 '''"vamos lá"''' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a---%0a> * '''Aprendizagem:''' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25color=#ED4C67%25 '''"oi, eu quero detonar"''' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a +host:1610079156=181.67.40.146 +author:1610078693=st13g +diff:1610078693:1610078645:=19c19%0a%3c %25color=#ee5253%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25color=#ED4C67%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a31c31%0a%3c %25color=#EA2027%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a---%0a> %25color=#6F1E51%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a +host:1610078693=181.67.40.146 +author:1610078645=st13g +diff:1610078645:1610078599:=19c19%0a%3c %25color=#ED4C67%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25color=#6F1E51%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a31c31%0a%3c %25color=#6F1E51%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a---%0a> %25color=#c44569%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a +host:1610078645=181.67.40.146 +author:1610078599=st13g +diff:1610078599:1610078547:=19c19%0a%3c %25color=#6F1E51%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25color=#b71540%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a33c33%0a%3c * '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=#ED4C67%25 '''"Oi Eu quero meu shell "'''%25%25%0a---%0a> * '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=#ED4C67%25 '''"Olá Eu quero meu shell "'''%25%25%0a +host:1610078599=181.67.40.146 +author:1610078547=st13g +diff:1610078547:1610078485:=31c31%0a%3c %25color=#c44569%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a---%0a> %25color=# c44569%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a33c33%0a%3c * '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=#ED4C67%25 '''"Olá Eu quero meu shell "'''%25%25%0a---%0a> * '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=# ED4C67%25 '''"Olá Eu quero uma concha "'''%25%25%0a +host:1610078547=181.67.40.146 +author:1610078485=st13g +diff:1610078485:1610078374:=31,37c31,37%0a%3c %25color=# c44569%25 '''Serviços disponíveis em IRCNow Guava:'''%25%25%0a%3c * '''IRCNow Guava Servidor de chat IRC:''' é uma plataforma de chat de texto colaborativa com chats em grupo no seu tópico de interesse. Pode aceder a partir do seu cliente IRC preferido, do sistema operativo à sua escolha, temos guias para si, para configurar correctamente para obter acesso, não só à nossa rede, mas a qualquer rede que deseje.%0a%3c * '''Contas Shell:''' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer %25color=# ED4C67%25 '''"Olá Eu quero uma concha "'''%25%25%0a%3c * '''Aprendizagem:''' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25color=#ED4C67%25 '''"oi, eu quero detonar"''' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a%3c %0a%3c %25color=# 0a3d62%25 Atualmente goiaba, está procurando por padagüenses, com vontade de aprender, e compartilhar nossa visão para o futuro da Internet, Se você está lendo isso, entre em contato conosco pelo canal #ircnow, O que você está esperando? Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco. Seu idioma não está listado aqui? sem problemas, posso garantir, no canal #ircnow haverá uma pessoa da equipe que poderá oferecer ajuda em seu idioma. %25%25%0a%3c (:tableend:)%0a---%0a> %25 color = # c44569%25 '' 'Serviços disponíveis em IRCNow Guava:' '' %25%25%0a> * '' 'IRCNow Guava Servidor de chat IRC:' '' é uma plataforma de chat de texto colaborativa com chats em grupo no seu tópico de interesse. Pode aceder a partir do seu cliente IRC preferido, do sistema operativo à sua escolha, temos guias para si, para configurar correctamente para obter acesso, não só à nossa rede, mas a qualquer rede que deseje.%0a> * '' 'Contas Shell:' '' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer%25 color = # ED4C67%25 '' '"Olá Eu quero uma concha "'' '%25%25%0a> * '' 'Aprendizagem:' '' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25 color = # ED4C67%25 '' '"oi, eu quero detonar"' '' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a> %0a> %25 color = # 0a3d62%25 Atualmente goiaba, está procurando por padagüenses, com vontade de aprender, e compartilhar nossa visão para o futuro da Internet, Se você está lendo isso, entre em contato conosco pelo canal #ircnow, O que você está esperando? Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco. Seu idioma não está listado aqui? sem problemas, posso garantir, no canal #ircnow haverá uma pessoa da equipe que poderá oferecer ajuda em seu idioma. %25%25%0a> %0a +host:1610078485=181.67.40.146 +author:1610078374=st13g +diff:1610078374:1610078335:=27c27%0a%3c (:table style="color:#0a3d62; background-color:#c8d6e5":)%0a---%0a> (:table style="color:#0a3d62; background-color:#ced6e0":)%0a +host:1610078374=181.67.40.146 +author:1610078335=st13g +diff:1610078335:1610078305:=27c27%0a%3c (:table style="color:#0a3d62; background-color:#ced6e0":)%0a---%0a> (:table style="color:#009432; background-color:#ced6e0":)%0a +host:1610078335=181.67.40.146 +author:1610078305=st13g +diff:1610078305:1610078257:=27c27%0a%3c (:table style="color:#009432; background-color:#ced6e0":)%0a---%0a> (:table style="color:#009432; background-color:#b8e994":)%0a +host:1610078305=181.67.40.146 +author:1610078257=st13g +diff:1610078257:1610078197:=28d27%0a%3c (:cellnr:)%0a +host:1610078257=181.67.40.146 +author:1610078197=st13g +diff:1610078197:1610078040:=26,35d25%0a%3c %0a%3c (:table style="color:#009432; background-color:#b8e994":)%0a%3c IRCNow Guava faz parte da rede IRCNow, em apoio ao objetivo de IRCNow é um experimento para criar uma rede operada por usuários para o benefício dos usuários. Apenas com o objetivo de criar uma rede verdadeiramente aberta e gratuita.%0a%3c %0a%3c %25 color = # c44569%25 '' 'Serviços disponíveis em IRCNow Guava:' '' %25%25%0a%3c * '' 'IRCNow Guava Servidor de chat IRC:' '' é uma plataforma de chat de texto colaborativa com chats em grupo no seu tópico de interesse. Pode aceder a partir do seu cliente IRC preferido, do sistema operativo à sua escolha, temos guias para si, para configurar correctamente para obter acesso, não só à nossa rede, mas a qualquer rede que deseje.%0a%3c * '' 'Contas Shell:' '' Estamos oferecendo shells liberdade, uma conta shell gratuita no OpenBSD com suporte em tempo real do IRCNow no chat ao vivo, basta inserir #shell e dizer%25 color = # ED4C67%25 '' '"Olá Eu quero uma concha "'' '%25%25%0a%3c * '' 'Aprendizagem:' '' Talvez você queira aprender mais sobre o OpenBSD, basta entrar em #ircnow e dizer%25 color = # ED4C67%25 '' '"oi, eu quero detonar"' '' %25%25. Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco.%0a%3c %0a%3c %25 color = # 0a3d62%25 Atualmente goiaba, está procurando por padagüenses, com vontade de aprender, e compartilhar nossa visão para o futuro da Internet, Se você está lendo isso, entre em contato conosco pelo canal #ircnow, O que você está esperando? Podemos orientá-lo em vários idiomas, nossa equipe fala inglês, espanhol, português e sueco. Seu idioma não está listado aqui? sem problemas, posso garantir, no canal #ircnow haverá uma pessoa da equipe que poderá oferecer ajuda em seu idioma. %25%25%0a +host:1610078197=181.67.40.146 +author:1610078040=st13g +diff:1610078040:1610077885:=19c19%0a%3c %25color=#b71540%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25color=#c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a +host:1610078040=181.67.40.146 +author:1610077885=st13g +diff:1610077885:1610077860:=21c21%0a%3c * '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga %25color=#ED4C67%25 '''"Hola! Quiero mi shell "'''%25%25%0a---%0a> * '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga %25color=#ED4C67%25 '' '"Hola! Quiero mi shell "'''%25%25%0a +host:1610077885=181.67.40.146 +author:1610077860=st13g +diff:1610077860:1610077819:=22c22%0a%3c * '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di %25color=#ED4C67%25 '''"hola, quiero un reto"'''%25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a---%0a> * '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25color=#ED4C67%25 ''' "hola, quiero un reto" ''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a +host:1610077860=181.67.40.146 +author:1610077819=st13g +diff:1610077819:1610077771:=19c19%0a%3c %25color=#c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25color = #c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a22,24c22,24%0a%3c * '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25color=#ED4C67%25 ''' "hola, quiero un reto" ''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a%3c %0a%3c %25color=#0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a---%0a> * '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25color=#ED4C67%25 '''"hola, quiero un reto"''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a> %0a> %25color = #0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a +host:1610077819=181.67.40.146 +author:1610077771=st13g +diff:1610077771:1610077726:=19c19%0a%3c %25color = #c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a---%0a> %25 color = #c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a21,24c21,24%0a%3c * '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga %25color=#ED4C67%25 '' '"Hola! Quiero mi shell "'''%25%25%0a%3c * '''Aprendizaje:''' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25color=#ED4C67%25 '''"hola, quiero un reto"''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a%3c %0a%3c %25color = #0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a---%0a> * '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga%25 color = #ED4C67%25 '' '"Hola! Quiero mi shell "'''%25%25%0a> * '' 'Aprendizaje:' '' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25 color = #ED4C67%25 '''"hola, quiero un reto"''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a> %0a> %25 color = #0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a +host:1610077771=181.67.40.146 +author:1610077726=st13g +diff:1610077726:1610077579:=15c15%0a%3c (:table style="color:#0a3d62; background-color:#dfe4ea":)%0a---%0a> (:table style="color:#0a3d62; background-color:#f1f2f6":)%0a19,24c19,24%0a%3c %25 color = #c44569%25 '''Servicios disponibles en IRCNow Guava:''' %25%25%0a%3c * '''Servidor de chat IRCNow Guava IRC:''' es una plataforma de chat de texto colaborativo con chats grupales sobre temas al azar. Puedes acceder a ellos desde tu cliente IRC favorito, desde el sistema operativo de su elección, tenemos guías para ti, para configurar correctamente y obtener acceso, no solo a nuestra red, sino a cualquier red que tu desees.%0a%3c * '''Cuentas Shell:''' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga%25 color = #ED4C67%25 '' '"Hola! Quiero mi shell "'''%25%25%0a%3c * '' 'Aprendizaje:' '' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25 color = #ED4C67%25 '''"hola, quiero un reto"''' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a%3c %0a%3c %25 color = #0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a---%0a> %25 color = # c44569%25 '' 'Servicios disponibles en IRCNow Guava:' '' %25%25%0a> * '' 'Servidor de chat IRCNow Guava IRC:' '' es una plataforma de chat de texto colaborativo con chats grupales sobre temas al azar. Puedes acceder a ellos desde tu cliente IRC favorito, desde el sistema operativo de su elección, tenemos guías para ti, para configurar correctamente y obtener acceso, no solo a nuestra red, sino a cualquier red que tu desees.%0a> * '' 'Cuentas Shell:' '' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga%25 color = # ED4C67%25 '' '"Hola! Quiero mi shell "'' '%25%25%0a> * '' 'Aprendizaje:' '' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25 color = # ED4C67%25 '' '"hola, quiero un reto"' '' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a> %0a> %25 color = # 0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a +host:1610077726=181.67.40.146 +author:1610077579=st13g +diff:1610077579:1610077109:=13,25d12%0a%3c %0a%3c %0a%3c (:table style="color:#0a3d62; background-color:#f1f2f6":)%0a%3c (:cellnr:)%0a%3c IRCNow Guava es parte de la red IRCNow, en apoyo del objetivo de IRCNow,es un experimento para crear una red creada y administrada por usuarios para los usuarios. Con la finalidad de crear una red verdaderamente abierta y gratuita.%0a%3c %0a%3c %25 color = # c44569%25 '' 'Servicios disponibles en IRCNow Guava:' '' %25%25%0a%3c * '' 'Servidor de chat IRCNow Guava IRC:' '' es una plataforma de chat de texto colaborativo con chats grupales sobre temas al azar. Puedes acceder a ellos desde tu cliente IRC favorito, desde el sistema operativo de su elección, tenemos guías para ti, para configurar correctamente y obtener acceso, no solo a nuestra red, sino a cualquier red que tu desees.%0a%3c * '' 'Cuentas Shell:' '' Estamos ofreciendo liberty shells, cuentas shell gratuitas en OpenBSD con soporte en tiempo real de IRCNow a través del chat en vivo, solo ingrese #shell y diga%25 color = # ED4C67%25 '' '"Hola! Quiero mi shell "'' '%25%25%0a%3c * '' 'Aprendizaje:' '' Tal vez quieras aprender más sobre OpenBSD, solo ingresa #ircnow y di%25 color = # ED4C67%25 '' '"hola, quiero un reto"' '' %25%25. Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco.%0a%3c %0a%3c %25 color = # 0a3d62%25 Actualmente Guava, busca padaguans, con muchas ganas de aprender, y compartir nuestra visión para el futuro de Internet, si estas leyendo esto contacta con nosotros en el canal #ircnow, ¿qué esperas? Podemos guiarte en muchos idiomas, nuestro personal habla inglés, español, portugués y sueco. ¿Tu idioma no aparece aquí? no hay problema, puedo asegurar que en el canal #ircnow habrá una persona que podrá ayudarte en tu idioma. %25%25%0a%3c (:tableend:)%0a +host:1610077579=181.67.40.146 +author:1610077109=st13g +diff:1610077109:1610077079:=1c1%0a%3c (:table style="color:#0a3d62; background-color:#f5f6fa":)%0a---%0a> (:table style="background-color:#f5f6fa":)%0a +host:1610077109=181.67.40.146 +author:1610077079=st13g +diff:1610077079:1610076934:=10c10%0a%3c %25color=#0a3d62%25Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%25%25%0a---%0a> %25color=#0097e6%25Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%25%25%0a +host:1610077079=181.67.40.146 +author:1610076934=st13g +diff:1610076934:1610076885:=6,8c6,8%0a%3c *'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a---%0a> %25color=#c44569%25 *'''IRCNow Guava IRC chat server:''' %25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a> %25color=##c44569%25 *'''Shell accounts:''' %25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a> %25color=##c44569%25 *'''Learning:''' %25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a +host:1610076934=181.67.40.146 +author:1610076885=st13g +diff:1610076885:1610076849:=5,8c5,8%0a%3c %25color=#c44569%25 '''Available services at IRCNow Guava:''' %25%25%0a%3c %25color=#c44569%25 *'''IRCNow Guava IRC chat server:''' %25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c %25color=##c44569%25 *'''Shell accounts:''' %25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a%3c %25color=##c44569%25 *'''Learning:''' %25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a---%0a> %25color=#c44569%25'''Available services at IRCNow Guava:''' %25%25%0a> %25color=#c44569%25*'''IRCNow Guava IRC chat server:''' %25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a> %25color=##c44569%25*'''Shell accounts:''' %25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a> %25color=##c44569%25*'''Learning:''' %25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a +host:1610076885=181.67.40.146 +author:1610076849=st13g +diff:1610076849:1610076804:=5,8c5,8%0a%3c %25color=#c44569%25'''Available services at IRCNow Guava:''' %25%25%0a%3c %25color=#c44569%25*'''IRCNow Guava IRC chat server:''' %25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c %25color=##c44569%25*'''Shell accounts:''' %25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"''' %25%25%0a%3c %25color=##c44569%25*'''Learning:''' %25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a---%0a> %25color=#c44569%25'''Available services at IRCNow Guava:'''%25%25%0a> %25color=#c44569%25*'''IRCNow Guava IRC chat server:'''%25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a> %25color=##c44569%25*'''Shell accounts:'''%25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"'''%25%25%0a> %25color=##c44569%25*'''Learning:'''%25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a +host:1610076849=181.67.40.146 +author:1610076804=st13g +diff:1610076804:1610076690:=5,8c5,8%0a%3c %25color=#c44569%25'''Available services at IRCNow Guava:'''%25%25%0a%3c %25color=#c44569%25*'''IRCNow Guava IRC chat server:'''%25%25 is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c %25color=##c44569%25*'''Shell accounts:'''%25%25 We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"'''%25%25%0a%3c %25color=##c44569%25*'''Learning:'''%25%25 Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a---%0a> %25color=#EA2027%25'''Available services at IRCNow Guava:'''%25%25%0a> *'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a> *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"'''%25%25%0a> *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a +host:1610076804=181.67.40.146 +author:1610076690=st13g +diff:1610076690:1610076625:=10c10%0a%3c %25color=#0097e6%25Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%25%25%0a---%0a> Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%0a +host:1610076690=181.67.40.146 +author:1610076625=st13g +diff:1610076625:1610076548:=1c1%0a%3c (:table style="background-color:#f5f6fa":)%0a---%0a> (:table style="background-color:#ffcccc":)%0a +host:1610076625=181.67.40.146 +author:1610076548=st13g +diff:1610076548:1610076464:=7,8c7,8%0a%3c *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say %25color=#ED4C67%25'''"Hi I want a shell"'''%25%25%0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say %25color=#ED4C67%25'''"hi I wanna rock"'''%25%25. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a---%0a> *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say '''"Hi I want a shell"'''%0a> *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say '''"hi I wanna rock"'''. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a +host:1610076548=181.67.40.146 +author:1610076464=st13g +diff:1610076464:1610076398:=5c5%0a%3c %25color=#EA2027%25'''Available services at IRCNow Guava:'''%25%25%0a---%0a> %25color=#ff7f00%25'''Available services at IRCNow Guava:'''%25%25%0a +host:1610076464=181.67.40.146 +author:1610076398=st13g +diff:1610076398:1610076321:=1c1%0a%3c (:table style="background-color:#ffcccc":)%0a---%0a> (:table style="background-color:#d1d8e0":)%0a5c5%0a%3c %25color=#ff7f00%25'''Available services at IRCNow Guava:'''%25%25%0a---%0a> %25color=#ff7f00%25Available services at IRCNow Guava:%25%25%0a +host:1610076398=181.67.40.146 +author:1610076321=st13g +diff:1610076321:1610076058:=1c1%0a%3c (:table style="background-color:#d1d8e0":)%0a---%0a> (:table style="font-style:italic; color:green; border:1px solid blue; background-color:#ffffcc":)%0a5c5%0a%3c %25color=#ff7f00%25Available services at IRCNow Guava:%25%25%0a---%0a> Available services at IRCNow Guava:%0a +host:1610076321=181.67.40.146 +author:1610076058=st13g +diff:1610076058:1610076019:=2d1%0a%3c (:cellnr:)%0a11c10%0a%3c (:tableend:)%0a---%0a> %0a +host:1610076058=181.67.40.146 +author:1610076019=st13g +diff:1610076019:1610075940:=1d0%0a%3c (:table style="font-style:italic; color:green; border:1px solid blue; background-color:#ffffcc":)%0a +host:1610076019=181.67.40.146 +author:1610075940=st13g +diff:1610075940:1610075499:=10c10,14%0a%3c %0a---%0a> [@%0a> Text escaped this way has%0a> the HTML ''code'' style%0a> %3ch1 style="color:red">Hola%3c/h1>%0a> @]%0a +host:1610075940=181.67.40.146 +author:1610075499=st13g +diff:1610075499:1610075282:=5,7c5,7%0a%3c *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say '''"Hi I want a shell"'''%0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say '''"hi I wanna rock"'''. We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a%3c %0a---%0a> *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say "Hi I wanna my shell"%0a> *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say "hi I wanna rock". We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a> %0a9,14d8%0a%3c %0a%3c [@%0a%3c Text escaped this way has%0a%3c the HTML ''code'' style%0a%3c %3ch1 style="color:red">Hola%3c/h1>%0a%3c @]%0a +host:1610075499=181.67.40.146 +author:1610075282=st13g +diff:1610075282:1610060979:=1,8c1,12%0a%3c IRCNow Guava is part of the IRCNow network, in support of IRCNow goal is an experiment to create a network run by users for the benefit of users. Just for the aim to create a truly open and free network.%0a%3c %0a%3c Available services at IRCNow Guava:%0a%3c *'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c *'''Shell accounts:''' We are offering liberty shells,a free shell accounts on OpenBSD with real time support from IRCNow over live chat, just enter #shell, and say "Hi I wanna my shell"%0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow and say "hi I wanna rock". We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish.%0a%3c %0a%3c Currently guava, is looking for padaguans, eager to learn, and share our vision for the future of Internet, If you are reading this, contact with us in #ircnow channel, What are you waiting for? We can guide you in many languages, our staff, speak English, Spanish, Portuguese and Swedish. Your language is not listed here? no problem, I can assure, at #ircnow channel there will be a person from the staff who can offer help in your language.%0a---%0a> [++!! This is Guava Team++]%0a> ________ ___________ %0a> / _____/%0a> __ _______ ___ _______ \__ ___/___ _____ _____%0a> %0a> / \ ___| | \__ \\ \/ /\__ \ | |_/ __ \\__ \ / \%0a> %0a> \ \_\ \ | // __ \\ / / __ \_ | |\ ___/ / __ \| Y Y \%0a> %0a> \______ /____/(____ /\_/ (____ / |____| \___ >____ /__|_| /%0a> %0a> \/ \/ \/ \/ \/ \/%0a +host:1610075282=181.67.40.146 +author:1610060979=st13g +diff:1610060979:1610060484:=3,5c3%0a%3c / _____/%0a%3c __ _______ ___ _______ \__ ___/___ _____ _____%0a%3c %0a---%0a> / _____/ __ _______ ___ _______ \__ ___/___ _____ _____ %0a11d8%0a%3c %0a +host:1610060979=181.67.40.146 +author:1610060484=st13g +diff:1610060484:1610058793:=1c1%0a%3c [++!! This is Guava Team++]%0a---%0a> !! Setup your page!%0a4,5c4%0a%3c / \ ___| | \__ \\ \/ /\__ \ | |_/ __ \\__ \ / \%0a%3c %0a---%0a> / \ ___| | \__ \\ \/ /\__ \ | |_/ __ \\__ \ / \ %0a7d5%0a%3c %0a +host:1610060484=181.67.40.146 +author:1610058793=st13g +diff:1610058793:1609684106:=2,7d1%0a%3c ________ ___________ %0a%3c / _____/ __ _______ ___ _______ \__ ___/___ _____ _____ %0a%3c / \ ___| | \__ \\ \/ /\__ \ | |_/ __ \\__ \ / \ %0a%3c \ \_\ \ | // __ \\ / / __ \_ | |\ ___/ / __ \| Y Y \%0a%3c \______ /____/(____ /\_/ (____ / |____| \___ >____ /__|_| /%0a%3c \/ \/ \/ \/ \/ \/%0a +host:1610058793=181.67.40.146 +author:1609684106=jrmu +diff:1609684106:1609683512:=1,2d0%0a%3c !! Setup your page!%0a%3c %0a +host:1609684106=125.231.63.134 +author:1609683512=jrmu +diff:1609683512:1609683512:=1d0%0a%3c [[guava/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609683512=125.231.63.134 blob - /dev/null blob + 9c7038f9ea5fee1d05cadbdf298dcf5cd758cd4e (mode 644) --- /dev/null +++ wiki.d/Guava.Packages @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608358297 +host=198.251.81.119 +name=Guava.Packages +rev=2 +targets= +text=[@%0aImageMagick-6.9.10.86p0 image processing tools%0aalpine-2.21p5 UW e-mail client%0aanthy-9100hp2 japanese input method%0aantiword-0.37p0 converts MSWord Documents to ASCII Text and PostScript%0aapr-1.6.5p0 Apache Portable Runtime%0aapr-util-1.6.1p2 companion library to APR%0aargon2-20190702 C implementation of Argon2 - password hashing function%0aaspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0aautoconf-2.69p3 automatically configure source code on many Un*x platforms%0aautomake-1.11.6p3 GNU Standards-compliant Makefile generator%0abash-5.0.18 GNU Bourne Again Shell%0aboost-1.67.0p0 free peer-reviewed portable C++ source libraries%0abzip2-1.0.8 block-sorting file compressor, unencumbered%0acmake-3.17.2p0v0 portable build system%0acoreutils-8.32 file, shell and text manipulation utilities%0acurl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0acvsps-2.1p2 generate patchsets from CVS repositories%0acyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0adb-4.6.21p7v0 Berkeley DB package, revision 4%0adjvulibre-3.5.27p6 view, decode and encode DjVu files%0adkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0adocx2txt-1.4p0 command line converter from Microsoft docx to ASCII text%0adovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0aee-1.5.2p2v0 easy to use text editor%0aelvis-2.2.0p5-no_x11 clone of the ex/vi text editor%0aemacs-27.1-no_x11 GNU editor: extensible, customizable, self-documenting%0aepic4-2.10.5p1 (E)nhanced (P)rogrammable (I)RC-II (C)lient%0afdm-2.0p0 fetch, filter and deliver mail%0afetchmail-6.4.12p0 mail retrieval utility for POP2, POP3, KPOP, IMAP and more%0afiglet-2.2.5 generates ASCII banner art%0ag++-8.4.0 GNU compiler collection: C++ compiler%0agawk-5.1.0 GNU awk%0agcc-8.4.0 GNU compiler collection: core C compiler%0ageomyidae-0.34 Gopher protocol daemon%0agiflib-5.1.6 tools and library routines for working with GIF images%0agit-2.28.0 distributed version control system%0aglib2-2.64.5 general-purpose utility library%0agmake-4.3 GNU make%0agnuchess-6.2.7 chess program%0agnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0agnupg-2.2.23p0 GNU privacy guard - a free PGP replacement%0ago-1.15.2 Go programming language%0agot-0.42 game of trees version control system%0agroff-1.22.4p3 GNU troff typesetter%0ahtop-3.0.1 interactive process viewer%0aicu4c-67.1 International Components for Unicode%0aiftop-1.0pre4p2 display bandwidth usage on an interface%0aii-1.7p3 minimalist IRC client%0ainiparser-3.1p1 ini file parsing library%0aircII-20190117 Internet Relay Chat client%0airssi-1.2.2p4 modular IRC client with many features%0airssi-otr-1.2.2p4 OTR (off-the-record) plugin for irssi%0ajasper-2.0.14 reference implementation of JPEG-2000%0ajbigkit-2.1 lossless image compression library, with lightweight version%0ajpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0ajq-1.6p0 lightweight and flexible command-line JSON processor%0ajsoncpp-1.8.4p2 JSON parsing C++ API%0alcms2-2.9p0 color management library%0aledger-3.1.3 command line double-entry accounting ledger%0alibarchive-3.4.3 multi-format archive and compression library%0alibb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0alibcares-1.13.0 asynchronous resolver library%0alibffi-3.3 Foreign Function Interface%0alibiconv-1.16p0 character set conversion library%0alibident-0.32p1 library to interface the ident protocol server (rfc1413)%0alibidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0alibraw-0.20.0 library for reading RAW files%0alibtasn1-4.16.0 Abstract Syntax Notation One structure parser library%0alibunbound-1.11.0 validating DNS resolver library%0alibunistring-0.9.7 manipulate Unicode strings%0alibutf8proc-2.4.0p0 unicode library%0alibuv-1.30.1 multi-platform library for asynchronous I/O%0alibwebp-1.1.0 Google WebP image format conversion tool%0alibxml++-2.40.1p2 C++ wrapper for the libxml XML parser library%0alibxml++3-3.2.0 C++ wrapper for the libxml XML parser library%0alibxml-2.9.10p2 XML parsing library%0alibxslt-1.1.34p0 XSLT C Library for GNOME%0alinks-1.03p0 text browser, displays while downloading%0alua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0alynx-2.8.9rel1p0 text web browser%0alz4-1.9.2p0 fast BSD-licensed data compression%0amariadb-client-10.5.6v1 multithreaded SQL database (client)%0amariadb-server-10.5.6v1 multithreaded SQL database (server)%0amawk-1.3.4.20200120p0 fast POSIX-compliant awk%0amcabber-1.1.0p4 console jabber client%0amercurial-5.5 fast, lightweight source control management%0amosh-1.3.2p5 mobile shell%0amultitail-6.4.2p0 multi-window tail(1) utility%0amutt-1.14.7v3-sasl tty-based e-mail client%0anano-5.2 simple editor, inspired by Pico%0aneovim-0.4.4 continuation and extension of Vim%0anewsboat-2.21 RSS/Atom feed reader for text terminals%0anghttp2-1.41.0p1 library for HTTP/2%0angircd-26 lightweight irc server%0anode-12.16.1p1 V8 JavaScript for clients and servers%0anvi-2.2.0 ex/vi text editor with wide character support%0aoath-toolkit-2.6.2p2 toolkit for OATH/HOTP and TOTP%0aoidentd-2.0.8p1 ident daemon with custom responses and NAT support%0aopenjp2-2.3.1p0 open-source JPEG 2000 codec library%0aopensmtpd-extras-6.7.1v0 extras for smtpd%0ap11-kit-0.23.21 library for loading and enumerating PKCS#11 modules%0ap5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0ap5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0ap5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0ap5-DBI-1.641 unified perl interface for database access%0ap5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0ap5-libwww-6.27p0 library for WWW access in Perl%0apcre-8.41p2 perl-compatible regular expression library%0aphp-7.4.12 server-side HTML-embedded scripting language%0aphp-gd-7.4.12 image manipulation extensions for php%0aphp-sqlite3-7.4.12 sqlite3 database access extension for php%0apico-5.09p20 UW text editor%0apkglocatedb-1.5 database of packages for use with locate(1)%0apng-1.6.37 library for manipulating PNG images%0aprofanity-0.9.5 console based XMPP client%0apy-pip-20.1.1p0 tool for installing Python packages%0apy-requests-2.22.0p1 elegant and simple HTTP library for Python%0apy3-neovim-0.4.1 Python plugin support for Neovim%0apy3-pip-20.1.1p0 tool for installing Python packages%0apython-3.8.6p0 interpreted object-oriented programming language%0aquirks-3.440 exceptions to pkg_add rules%0arhash-1.4.0 utility and library for computing hash sums%0arlwrap-0.43p0 generic readline wrapper for various programs%0arsync-3.2.3 mirroring/synchronization over low bandwidth links%0aruby-2.7.1p1 object oriented script language with threads%0arust-1.46.0 compiler for Rust Language%0asacc-1.01 simple console gopher client%0ascreen-4.8.0 multi-screen window manager%0asic-1.2p1 simple irc client%0aslrn-1.0.3 SLang-based newsreader%0asqlite-2.8.17p5 Embedded SQL implementation%0asqlite3-3.31.1p0 embedded SQL implementation%0astrongswan-5.9.0 IPsec-based VPN software (IKEv1/IKEv2) with XAUTH and EAP%0asubversion-1.14.0p0 subversion revision control system%0atcl-8.6.8p2 Tool Command Language%0atcllib-1.19pl0 Tcl Standard Library%0atcltls-1.6p3 OpenSSL Tcl extension%0atcsh-6.22.02 extended C-shell with many useful features%0atdom-0.9.1 fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl%0atiff-4.1.0 tools and library routines for working with TIFF images%0atree-0.62 print ascii formatted tree of a directory structure%0atrn-4.0.77p2 threaded newsreader%0auim-1.8.8p2 multilingual input method library%0auim-chewing-0.1.0p2 chewing input method for uim%0aunzip-6.0p13 extract, list & test files in a ZIP archive%0avim-8.2.1805-no_x11 vi clone, many additional features%0aw3m-0.5.3p8 pager/text-based web browser%0aweechat-2.9 fast, light and extensible chat client%0awget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0awkhtmltopdf-0.12.5p2 convert HTML to PDF using Webkit%0axlsx2csv-20200427211949 convert XLSX files to CSV%0axz-5.2.5 LZMA compression and decompression tools%0azh-fonts-arphicttf-2.11p4 chinese big5/gb truetype fonts%0azh-fonts-kc-1.05p2 extra chinese fonts%0azh-libchewing-0.5.1p0 intelligent phonetic input method library%0azh-libpinyin-2.3.0 library to deal with pinyin%0azh-wqy-bitmapfont-0.9.9.0p2 Wen Quan Yi bitmap song CJK fonts%0azh-wqy-zenhei-ttf-0.9.45 Wen Quan Yi Zen Hei outline font%0azip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0aznc-1.7.5 advanced IRC bouncer%0azstd-1.4.5p0 zstandard fast real-time compression algorithm%0a@] +time=1608358449 +author:1608358449=jrmu +diff:1608358449:1608358297:=1d0%0a%3c [@%0a162,163c161%0a%3c zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a%3c @]%0a\ No newline at end of file%0a---%0a> zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a\ No newline at end of file%0a +host:1608358449=198.251.81.119 +author:1608358297=jrmu +diff:1608358297:1608358297:=1,161d0%0a%3c ImageMagick-6.9.10.86p0 image processing tools%0a%3c alpine-2.21p5 UW e-mail client%0a%3c anthy-9100hp2 japanese input method%0a%3c antiword-0.37p0 converts MSWord Documents to ASCII Text and PostScript%0a%3c apr-1.6.5p0 Apache Portable Runtime%0a%3c apr-util-1.6.1p2 companion library to APR%0a%3c argon2-20190702 C implementation of Argon2 - password hashing function%0a%3c aspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0a%3c autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a%3c automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a%3c bash-5.0.18 GNU Bourne Again Shell%0a%3c boost-1.67.0p0 free peer-reviewed portable C++ source libraries%0a%3c bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c cmake-3.17.2p0v0 portable build system%0a%3c coreutils-8.32 file, shell and text manipulation utilities%0a%3c curl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0a%3c cvsps-2.1p2 generate patchsets from CVS repositories%0a%3c cyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0a%3c db-4.6.21p7v0 Berkeley DB package, revision 4%0a%3c djvulibre-3.5.27p6 view, decode and encode DjVu files%0a%3c dkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0a%3c docx2txt-1.4p0 command line converter from Microsoft docx to ASCII text%0a%3c dovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0a%3c ee-1.5.2p2v0 easy to use text editor%0a%3c elvis-2.2.0p5-no_x11 clone of the ex/vi text editor%0a%3c emacs-27.1-no_x11 GNU editor: extensible, customizable, self-documenting%0a%3c epic4-2.10.5p1 (E)nhanced (P)rogrammable (I)RC-II (C)lient%0a%3c fdm-2.0p0 fetch, filter and deliver mail%0a%3c fetchmail-6.4.12p0 mail retrieval utility for POP2, POP3, KPOP, IMAP and more%0a%3c figlet-2.2.5 generates ASCII banner art%0a%3c g++-8.4.0 GNU compiler collection: C++ compiler%0a%3c gawk-5.1.0 GNU awk%0a%3c gcc-8.4.0 GNU compiler collection: core C compiler%0a%3c geomyidae-0.34 Gopher protocol daemon%0a%3c giflib-5.1.6 tools and library routines for working with GIF images%0a%3c git-2.28.0 distributed version control system%0a%3c glib2-2.64.5 general-purpose utility library%0a%3c gmake-4.3 GNU make%0a%3c gnuchess-6.2.7 chess program%0a%3c gnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0a%3c gnupg-2.2.23p0 GNU privacy guard - a free PGP replacement%0a%3c go-1.15.2 Go programming language%0a%3c got-0.42 game of trees version control system%0a%3c groff-1.22.4p3 GNU troff typesetter%0a%3c htop-3.0.1 interactive process viewer%0a%3c icu4c-67.1 International Components for Unicode%0a%3c iftop-1.0pre4p2 display bandwidth usage on an interface%0a%3c ii-1.7p3 minimalist IRC client%0a%3c iniparser-3.1p1 ini file parsing library%0a%3c ircII-20190117 Internet Relay Chat client%0a%3c irssi-1.2.2p4 modular IRC client with many features%0a%3c irssi-otr-1.2.2p4 OTR (off-the-record) plugin for irssi%0a%3c jasper-2.0.14 reference implementation of JPEG-2000%0a%3c jbigkit-2.1 lossless image compression library, with lightweight version%0a%3c jpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a%3c jq-1.6p0 lightweight and flexible command-line JSON processor%0a%3c jsoncpp-1.8.4p2 JSON parsing C++ API%0a%3c lcms2-2.9p0 color management library%0a%3c ledger-3.1.3 command line double-entry accounting ledger%0a%3c libarchive-3.4.3 multi-format archive and compression library%0a%3c libb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0a%3c libcares-1.13.0 asynchronous resolver library%0a%3c libffi-3.3 Foreign Function Interface%0a%3c libiconv-1.16p0 character set conversion library%0a%3c libident-0.32p1 library to interface the ident protocol server (rfc1413)%0a%3c libidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0a%3c libraw-0.20.0 library for reading RAW files%0a%3c libtasn1-4.16.0 Abstract Syntax Notation One structure parser library%0a%3c libunbound-1.11.0 validating DNS resolver library%0a%3c libunistring-0.9.7 manipulate Unicode strings%0a%3c libutf8proc-2.4.0p0 unicode library%0a%3c libuv-1.30.1 multi-platform library for asynchronous I/O%0a%3c libwebp-1.1.0 Google WebP image format conversion tool%0a%3c libxml++-2.40.1p2 C++ wrapper for the libxml XML parser library%0a%3c libxml++3-3.2.0 C++ wrapper for the libxml XML parser library%0a%3c libxml-2.9.10p2 XML parsing library%0a%3c libxslt-1.1.34p0 XSLT C Library for GNOME%0a%3c links-1.03p0 text browser, displays while downloading%0a%3c lua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0a%3c lynx-2.8.9rel1p0 text web browser%0a%3c lz4-1.9.2p0 fast BSD-licensed data compression%0a%3c mariadb-client-10.5.6v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.5.6v1 multithreaded SQL database (server)%0a%3c mawk-1.3.4.20200120p0 fast POSIX-compliant awk%0a%3c mcabber-1.1.0p4 console jabber client%0a%3c mercurial-5.5 fast, lightweight source control management%0a%3c mosh-1.3.2p5 mobile shell%0a%3c multitail-6.4.2p0 multi-window tail(1) utility%0a%3c mutt-1.14.7v3-sasl tty-based e-mail client%0a%3c nano-5.2 simple editor, inspired by Pico%0a%3c neovim-0.4.4 continuation and extension of Vim%0a%3c newsboat-2.21 RSS/Atom feed reader for text terminals%0a%3c nghttp2-1.41.0p1 library for HTTP/2%0a%3c ngircd-26 lightweight irc server%0a%3c node-12.16.1p1 V8 JavaScript for clients and servers%0a%3c nvi-2.2.0 ex/vi text editor with wide character support%0a%3c oath-toolkit-2.6.2p2 toolkit for OATH/HOTP and TOTP%0a%3c oidentd-2.0.8p1 ident daemon with custom responses and NAT support%0a%3c openjp2-2.3.1p0 open-source JPEG 2000 codec library%0a%3c opensmtpd-extras-6.7.1v0 extras for smtpd%0a%3c p11-kit-0.23.21 library for loading and enumerating PKCS#11 modules%0a%3c p5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0a%3c p5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0a%3c p5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0a%3c p5-DBI-1.641 unified perl interface for database access%0a%3c p5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0a%3c p5-libwww-6.27p0 library for WWW access in Perl%0a%3c pcre-8.41p2 perl-compatible regular expression library%0a%3c php-7.4.12 server-side HTML-embedded scripting language%0a%3c php-gd-7.4.12 image manipulation extensions for php%0a%3c php-sqlite3-7.4.12 sqlite3 database access extension for php%0a%3c pico-5.09p20 UW text editor%0a%3c pkglocatedb-1.5 database of packages for use with locate(1)%0a%3c png-1.6.37 library for manipulating PNG images%0a%3c profanity-0.9.5 console based XMPP client%0a%3c py-pip-20.1.1p0 tool for installing Python packages%0a%3c py-requests-2.22.0p1 elegant and simple HTTP library for Python%0a%3c py3-neovim-0.4.1 Python plugin support for Neovim%0a%3c py3-pip-20.1.1p0 tool for installing Python packages%0a%3c python-3.8.6p0 interpreted object-oriented programming language%0a%3c quirks-3.440 exceptions to pkg_add rules%0a%3c rhash-1.4.0 utility and library for computing hash sums%0a%3c rlwrap-0.43p0 generic readline wrapper for various programs%0a%3c rsync-3.2.3 mirroring/synchronization over low bandwidth links%0a%3c ruby-2.7.1p1 object oriented script language with threads%0a%3c rust-1.46.0 compiler for Rust Language%0a%3c sacc-1.01 simple console gopher client%0a%3c screen-4.8.0 multi-screen window manager%0a%3c sic-1.2p1 simple irc client%0a%3c slrn-1.0.3 SLang-based newsreader%0a%3c sqlite-2.8.17p5 Embedded SQL implementation%0a%3c sqlite3-3.31.1p0 embedded SQL implementation%0a%3c strongswan-5.9.0 IPsec-based VPN software (IKEv1/IKEv2) with XAUTH and EAP%0a%3c subversion-1.14.0p0 subversion revision control system%0a%3c tcl-8.6.8p2 Tool Command Language%0a%3c tcllib-1.19pl0 Tcl Standard Library%0a%3c tcltls-1.6p3 OpenSSL Tcl extension%0a%3c tcsh-6.22.02 extended C-shell with many useful features%0a%3c tdom-0.9.1 fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl%0a%3c tiff-4.1.0 tools and library routines for working with TIFF images%0a%3c tree-0.62 print ascii formatted tree of a directory structure%0a%3c trn-4.0.77p2 threaded newsreader%0a%3c uim-1.8.8p2 multilingual input method library%0a%3c uim-chewing-0.1.0p2 chewing input method for uim%0a%3c unzip-6.0p13 extract, list & test files in a ZIP archive%0a%3c vim-8.2.1805-no_x11 vi clone, many additional features%0a%3c w3m-0.5.3p8 pager/text-based web browser%0a%3c weechat-2.9 fast, light and extensible chat client%0a%3c wget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0a%3c wkhtmltopdf-0.12.5p2 convert HTML to PDF using Webkit%0a%3c xlsx2csv-20200427211949 convert XLSX files to CSV%0a%3c xz-5.2.5 LZMA compression and decompression tools%0a%3c zh-fonts-arphicttf-2.11p4 chinese big5/gb truetype fonts%0a%3c zh-fonts-kc-1.05p2 extra chinese fonts%0a%3c zh-libchewing-0.5.1p0 intelligent phonetic input method library%0a%3c zh-libpinyin-2.3.0 library to deal with pinyin%0a%3c zh-wqy-bitmapfont-0.9.9.0p2 Wen Quan Yi bitmap song CJK fonts%0a%3c zh-wqy-zenhei-ttf-0.9.45 Wen Quan Yi Zen Hei outline font%0a%3c zip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0a%3c znc-1.7.5 advanced IRC bouncer%0a%3c zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a\ No newline at end of file%0a +host:1608358297=198.251.81.119 blob - /dev/null blob + 27112ebc71a4b0f66c48ae44f5690dc039fdaa7f (mode 644) --- /dev/null +++ wiki.d/Guava.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1608358297 +host=2001:14ba:a4ad:5c00:fbd6:4714:909f:7987 +name=Guava.RecentChanges +rev=70 +text=* [[Guava/Todo]] . . . February 23, 2021, at 10:47 AM by [[~quofan]]: [==]%0a* [[Guava/Guava]] . . . February 03, 2021, at 02:30 AM by [[~st13g]]: [==]%0a* [[Guava/Packages]] . . . December 19, 2020, at 06:14 AM by [[~jrmu]]: [==]%0a +time=1614077273 blob - /dev/null blob + 61d4dc28b3fc2fdb80e2062c8b1b83690b0672ab (mode 644) --- /dev/null +++ wiki.d/Guava.Todo @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=quofan +charset=UTF-8 +csum= +ctime=1609683546 +host=2001:14ba:a4ad:5c00:fbd6:4714:909f:7987 +name=Guava.Todo +rev=18 +targets=Openbsd.Acme-client,Openbsd.Botnow,Guava.Guava,Openbsd.Newdisk,Openbsd.Team,Openbsd.Stable,Openbsd.Znc +text=(:title Guava Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aPlease make sure to back up files and test all changes!%0a(:table style="color:#0a3d62; background-color:#ffaf40":)%0a(:cellnr:)%0a'''Todo:'''%0a%0a# Fix /etc/httpd.conf to update to correct SSL certs and remove deleted users; please make sure to test!%0a# Make sure [[openbsd/acme-client|all SSL certs]] in acme-client.conf are up to date (if you hit rate limits, skip)%0a(:tableend:)%0a%0a(:table style="color:#0a3d62; background-color:#32ff7e":)%0a(:cellnr:)%0a'''Done:'''%0a# Set up [[openbsd/botnow|botnow]] on guava%0a# Setup the [[guava/guava|guava team page]]%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Practice [[openbsd/newdisk|adding a new disk]] on coconut%0a# Check out [[openbsd/team|Team procedure]] and [[openbsd/stable|Stable procedure]]%0a# Check if your ZNC is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a(:tableend:) +time=1614077273 +title=Guava Todo list +author:1614077273=quofan +diff:1614077273:1612234787:=11a12%0a> # Check if your ZNC is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a22d22%0a%3c # Check if your ZNC is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a +host:1614077273=2001:14ba:a4ad:5c00:fbd6:4714:909f:7987 +author:1612234787=st13g +diff:1612234787:1610639293:=12a13%0a> # Set up [[openbsd/botnow|botnow]] on guava%0a18d18%0a%3c # Set up [[openbsd/botnow|botnow]] on guava%0a +host:1612234787=200.121.220.140 +author:1610639293=st13g +diff:1610639293:1610425995:=13a14%0a> # Check out [[openbsd/team|Team procedure]] and [[openbsd/stable|Stable procedure]]%0a22d22%0a%3c # Check out [[openbsd/team|Team procedure]] and [[openbsd/stable|Stable procedure]]%0a +host:1610639293=181.67.40.146 +author:1610425995=st13g +diff:1610425995:1610337273:=13a14%0a> # Practice [[openbsd/newdisk|adding a new disk]] on coconut%0a22d22%0a%3c # Practice [[openbsd/newdisk|adding a new disk]] on coconut%0a +host:1610425995=181.67.40.146 +author:1610337273=st13g +diff:1610337273:1610079693:=9a10%0a> # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a22d22%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1610337273=181.67.40.146 +author:1610079693=st13g +diff:1610079693:1610079364:=6,7c6%0a%3c (:table style="color:#0a3d62; background-color:#ffaf40":)%0a%3c (:cellnr:)%0a---%0a> %0a12a12%0a> %0a17,20c17%0a%3c (:tableend:)%0a%3c %0a%3c (:table style="color:#0a3d62; background-color:#32ff7e":)%0a%3c (:cellnr:)%0a---%0a> %0a22,23c19%0a%3c # Setup the [[guava/guava|guava team page]]%0a%3c (:tableend:)%0a\ No newline at end of file%0a---%0a> # Setup the [[guava/guava|guava team page]]%0a\ No newline at end of file%0a +host:1610079693=181.67.40.146 +author:1610079364=st13g +diff:1610079364:1610079361:= +host:1610079364=181.67.40.146 +author:1610079361=st13g +diff:1610079361:1610036336:=7,8c7,8%0a%3c '''Todo:'''%0a%3c %0a---%0a> Todo:%0a> %0a12c12%0a%3c %0a---%0a> # Setup the [[guava/guava|guava team page]]%0a18,19c18%0a%3c '''Done:'''%0a%3c # Setup the [[guava/guava|guava team page]]%0a\ No newline at end of file%0a---%0a> Done:%0a\ No newline at end of file%0a +host:1610079361=181.67.40.146 +author:1610036336=jrmu +diff:1610036336:1610036269:=16d15%0a%3c # Check out [[openbsd/team|Team procedure]] and [[openbsd/stable|Stable procedure]]%0a +host:1610036336=125.231.63.134 +author:1610036269=jrmu +diff:1610036269:1610036252:=11c11%0a%3c # Make sure [[openbsd/acme-client|all SSL certs]] in acme-client.conf are up to date (if you hit rate limits, skip)%0a---%0a> # Make sure all SSL certs are up to date (if you hit rate limits, skip)%0a +host:1610036269=125.231.63.134 +author:1610036252=jrmu +diff:1610036252:1610036216:=14c14%0a%3c # Set up [[openbsd/botnow|botnow]] on guava%0a---%0a> # Set up botnow on guava%0a +host:1610036252=125.231.63.134 +author:1610036216=jrmu +diff:1610036216:1610036162:=15d14%0a%3c # Practice [[openbsd/newdisk|adding a new disk]] on coconut%0a +host:1610036216=125.231.63.134 +author:1610036162=jrmu +diff:1610036162:1610036084:=11d10%0a%3c # Make sure all SSL certs are up to date (if you hit rate limits, skip)%0a14d12%0a%3c # Set up botnow on guava%0a +host:1610036162=125.231.63.134 +author:1610036084=jrmu +diff:1610036084:1609938274:=3,6d2%0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Please make sure to back up files and test all changes!%0a%3c %0a10d5%0a%3c # Fix /etc/httpd.conf to update to correct SSL certs and remove deleted users; please make sure to test!%0a +host:1610036084=125.231.63.134 +author:1609938274=jrmu +diff:1609938274:1609684138:=5d4%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938274=125.231.63.134 +author:1609684138=jrmu +diff:1609684138:1609683734:=6c6%0a%3c # Check if your ZNC is version 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a---%0a> # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a +host:1609684138=125.231.63.134 +author:1609683734=jrmu +diff:1609683734:1609683546:=1,8c1%0a%3c (:title Guava Todo list:)%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Setup the [[guava/guava|guava team page]]%0a%3c # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a---%0a> # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a\ No newline at end of file%0a +host:1609683734=125.231.63.134 +author:1609683546=jrmu +diff:1609683546:1609683546:=1d0%0a%3c # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a\ No newline at end of file%0a +host:1609683546=125.231.63.134 blob - /dev/null blob + 2160de52a9d6b9da0a5bac0633c57831b3fb1fe5 (mode 644) --- /dev/null +++ wiki.d/Hopm.Install @@ -0,0 +1,156 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +author=xfnw +charset=UTF-8 +csum=warn about +x +ctime=1614679909 +host=2001:470:8:651::4 +name=Hopm.Install +rev=47 +targets=Stopm.Stopm,Rcd.Configure +text=(:title Hopm Install Guide:)%0a%0aIn this guide, we'll setup and configure [[https://github.com/ircd-hybrid/hopm|hopm]], an open proxy monitor that kills spam bots.%0a%0aAdvantages:%0a%0a# Pure C%0a# Compatible with every IRC server%0a# Fast scanning and DNSBL support.%0a%0aDisadvantages:%0a%0a# Occasionally bans innocent users because it cannot perform [[stopm/stopm|statistical analysis]]%0a%0aBefore you begin, you must read the [[https://github.com/ircd-hybrid/hopm/blob/master/README|README]] and [[https://github.com/ircd-hybrid/hopm/blob/master/INSTALL|INSTALL]] docs.%0a%0a!! Installation%0a%0aLet's create the user hopm:%0a%0a[@%0a$ doas useradd -m -g =uid -c "hopm" -d /home/hopm -s /bin/ksh hopm%0a@]%0a%0aThen we switch to the user hopm and change to its home folder:%0a%0a[@%0a$ doas su hopm%0a$ cd%0a@]%0a%0aWe download [[https://github.com/ircd-hybrid/hopm/tags|the latest release]], extract it, then build it:%0a%0a[@%0a$ ftp https://github.com/ircd-hybrid/hopm/archive/1.1.10.tar.gz%0a$ tar xvzf 1.1.10.tar.gz%0a$ cd hopm-1.1.10%0a$ ./configure%0a$ make%0a$ make install%0a@]%0a%0ahopm will now be installed in ~/hopm.%0a%0a[[https://github.com/ircd-hybrid/hopm/blob/master/doc/reference.conf|/home/hopm/hopm/etc/reference.conf]] contains a sample template.%0a%0aWe'll create a new /home/hopm/hopm/etc/hopm.conf from scratch to keep it short:%0a%0a[@%0aoptions {%0a pidfile = "var/run/hopm.pid";%0a command_queue_size = 64;%0a command_interval = 10 seconds;%0a command_timeout = 180 seconds;%0a negcache_rebuild = 12 hours;%0a dns_fdlimit = 64;%0a dns_timeout = 5 seconds;%0a scanlog = "var/log/scan.log";%0a};%0a@]%0a%0aThe only thing we change is we uncomment scanlog so that we have a record of all users that connect. It will be stored in @@/home/hopm/hopm/var/log/scan.log@@.%0a%0a[@%0airc {%0a nick = "MyHopm";%0a realname = "Hybrid Open Proxy Monitor";%0a username = "hopm";%0a server = "127.0.0.1";%0a port = 16667;%0a tls = no;%0a readtimeout = 15 minutes;%0a reconnectinterval = 30 seconds;%0a nickserv = "SQUERY NickServ :IDENTIFY MyHopm PASSWORD";%0a oper = "MyHopm PASSWORD";%0a mode = "+BcFiIoqRsw";%0a away = "I'm a bot. Your messages will be ignored.";%0a channel {%0a name = "#hopm";%0a key = "somekey";%0a invite = "SQUERY ChanServ :INVITE #hopm";%0a };%0a@]%0a@@ connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";@@%0a[@%0a kline = "KLINE *@%25h 3600 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a notice = "To prevent spam and abuse, we scan users for open proxies.";%0a};%0a@]%0a%0aChange the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS.%0a%0angircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ with the real nick and @@PASSWORD@@ with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a%0aWe change the [[https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt|mode]] to @@+BcFiIoqRsw@@. I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a%0aFor @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work with old cloak hostmasks, which have been broken since April 2020. Note that '''hopm will not work with +x cloaking'''). You must also change the order for kline: in ngircd, kline expects the hostmask before the time. You will also want to replace @@support@example.com@@ with your actual support email.%0a%0a'''WARNING''': You must change the order for kline for ngircd:%0a%0a[@%0akline = "KLINE *@%25h 3600 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a@]%0a%0aThe hostmask must come before the time.%0a%0a[@%0aopm {%0a@]%0a%0aIn our OPM block, we will define a few blacklists: dronbl, efnet, and ircbl. %0a%0a[@%0a blacklist { %0a name = "dnsbl.dronebl.org";%0a address_family = ipv4, ipv6;%0a type = "A record reply";%0a ban_unknown = no;%0a reply {%0a 2 = "Sample data used for heuristical analysis";%0a 3 = "IRC spam drone (litmus/sdbot/fyle)";%0a 5 = "Bottler (experimental)";%0a 6 = "Unknown worm or spambot";%0a 7 = "DDoS drone";%0a 8 = "Open SOCKS proxy";%0a 9 = "Open HTTP proxy";%0a 10 = "ProxyChain";%0a 11 = "Web Page Proxy";%0a 12 = "Open DNS Resolver";%0a 13 = "Automated dictionary attacks";%0a 14 = "Open WINGATE proxy";%0a 15 = "Compromised router / gateway";%0a 16 = "Autorooting worms";%0a 17 = "Automatically determined botnet IPs (experimental)";%0a 18 = "Possibly compromised DNS/MX type hostname detected on IRC";%0a 19 = "Abused VPN Service";%0a 255 = "Uncategorized threat class";%0a };%0a kline = "KLINE *@%25h 3600 :You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%25i&network=%3cyour_network_name>";%0a };%0a@]%0a%0aThe name of the first blacklist is [[https://dronebl.org/docs/howtouse|dnsbl.dronebl.org]]. It supports both ipv4 and ipv6 addresses. We use A record replies. We don't want to ban unknown types.%0a%0a'''Note''': Replace %3cyour_network_name> with a unique network name. The Network parameter set in ngircd.conf should suffice.%0a%0aFor the kline, we again make sure to put the hostmask before the time (as ngircd requires). We also use %25h instead of %25i to kline by hostmask instead of by IP, since ngircd may be cloaking user IPs.%0a%0a[@%0a blacklist {%0a name = "rbl.efnetrbl.org";%0a type = "A record reply";%0a ban_unknown = no;%0a reply {%0a 1 = "Open proxy";%0a 2 = "spamtrap666";%0a 3 = "spamtrap50";%0a 4 = "TOR";%0a 5 = "Drones / Flooding";%0a };%0a kline = "KLINE *@%25h 3600 :Blacklisted proxy found. For more information, visit https://rbl.efnetrbl.org/?i=%25i";%0a };%0a blacklist {%0a name = "tor.efnetrbl.org";%0a type = "A record reply";%0a ban_unknown = no;%0a reply {%0a 1 = "TOR";%0a };%0a kline = "KLINE *@%25h 3600 :TOR exit node found. For more information, visit https://rbl.efnetrbl.org/?i=%25i";%0a };%0a@]%0a%0aThe two blacklists from efnet are the same.%0a%0a[@%0a blacklist {%0a name = "rbl.ircbl.org";%0a type = "A record reply";%0a reply {%0a 2 = "Open proxy (2)";%0a 6 = "Mail or NS server (6)";%0a 10 = "D regex pattern (10)";%0a 11 = "Drone / compromised (11)";%0a 13 = "Join/part flood (13)";%0a 14 = "Drone / compromised 2 (14)";%0a 16 = "Spam bot (16)";%0a 17 = "Drone (17)";%0a 18 = "Drone 2 (18)";%0a 19 = "Web abuse (19)";%0a 20 = "Drone/flood bot (20)";%0a 21 = "Compromised host (21)";%0a 22 = "Open Proxy (22)";%0a 23 = "Open Proxy (23)";%0a 24 = "Mass advertising (24)";%0a 30 = "Drone (30)";%0a 31 = "Drone 2 (31)";%0a 32 = "Open proxy (32)";%0a 42 = "Open proxy (42)";%0a };%0a ban_unknown = yes;%0a kline = "KLINE 180 *@%25h :Compromised host on this IP. See https://ircbl.org/lookup?ip=%25i&network=%3cyour_network_name> for more information.";%0a };%0a};%0a@]%0a%0a'''Note''': Again, replace %3cyour_network_name> with a unique network name. The Network parameter set in ngircd.conf should suffice.%0a%0aThis is another blacklist.%0a%0aNext, we define a scanner block. hopm will try to get the user to connect to the target_ip:target_port using the listed port/protocol. A target_string will be sent through the proxy and then checked. If the data is found, the user is an proxy.%0a%0a'''NOTE''': target_ip must be an actual ip address. Replace 127.0.0.1 with your public IPv4 address.%0a%0a[@%0ascanner {%0a name = "default";%0a protocol = HTTP:80;%0a protocol = HTTP:8080;%0a protocol = HTTP:3128;%0a protocol = HTTP:6588;%0a# protocol = HTTPS:443;%0a# protocol = HTTPS:8443;%0a protocol = SOCKS4:1080;%0a protocol = SOCKS5:1080;%0a protocol = ROUTER:23;%0a protocol = WINGATE:23;%0a protocol = DREAMBOX:23;%0a protocol = HTTPPOST:80;%0a# protocol = HTTPSPOST:443;%0a# protocol = HTTPSPOST:8443;%0a# bind = "127.0.0.1";%0a fd = 512;%0a max_read = 4 kbytes;%0a timeout = 30 seconds;%0a target_ip = "127.0.0.1";%0a target_port = 6667;%0a target_string = "NOTICE * :*** Looking up your hostname and checking ident";%0a};%0a@]%0a%0aTwo more scanner blocks:%0a%0a[@%0ascanner {%0a name = "extended";%0a protocol = HTTP:81;%0a protocol = HTTP:8000;%0a protocol = HTTP:8001;%0a protocol = HTTP:8081;%0a protocol = HTTPPOST:81;%0a protocol = HTTPPOST:6588;%0a protocol = HTTPPOST:4480;%0a protocol = HTTPPOST:8000;%0a protocol = HTTPPOST:8001;%0a protocol = HTTPPOST:8080;%0a protocol = HTTPPOST:8081;%0a protocol = SOCKS4:4914;%0a protocol = SOCKS4:6826;%0a protocol = SOCKS4:7198;%0a protocol = SOCKS4:7366;%0a protocol = SOCKS4:9036;%0a protocol = SOCKS5:4438;%0a protocol = SOCKS5:5104;%0a protocol = SOCKS5:5113;%0a protocol = SOCKS5:5262;%0a protocol = SOCKS5:5634;%0a protocol = SOCKS5:6552;%0a protocol = SOCKS5:6561;%0a protocol = SOCKS5:7464;%0a protocol = SOCKS5:7810;%0a protocol = SOCKS5:8130;%0a protocol = SOCKS5:8148;%0a protocol = SOCKS5:8520;%0a protocol = SOCKS5:8814;%0a protocol = SOCKS5:9100;%0a protocol = SOCKS5:9186;%0a protocol = SOCKS5:9447;%0a protocol = SOCKS5:9578;%0a protocol = SOCKS5:10000;%0a protocol = SOCKS5:64101;%0a protocol = SOCKS4:29992;%0a protocol = SOCKS4:38884;%0a protocol = SOCKS4:18844;%0a protocol = SOCKS4:17771;%0a protocol = SOCKS4:31121;%0a fd = 400;%0a};%0ascanner {%0a name = "ssh";%0a protocol = SSH:22;%0a target_string = "SSH-1.99-OpenSSH_5.1";%0a target_string = "SSH-2.0-dropbear_0.51";%0a target_string = "SSH-2.0-dropbear_0.52";%0a target_string = "SSH-2.0-dropbear_0.53.1";%0a target_string = "SSH-2.0-dropbear_2012.55";%0a target_string = "SSH-2.0-dropbear_2013.62";%0a target_string = "SSH-2.0-dropbear_2014.63";%0a target_string = "SSH-2.0-OpenSSH_4.3";%0a target_string = "SSH-2.0-OpenSSH_5.1";%0a target_string = "SSH-2.0-OpenSSH_5.5p1";%0a target_string = "SSH-2.0-ROSSSH";%0a target_string = "SSH-2.0-SSH_Server";%0a};%0a@]%0a%0a[@%0auser {%0a mask = "*!*@*";%0a scanner = "default";%0a};%0a%0auser {%0a mask = "*!~*@*";%0a mask = "*!squid@*";%0a mask = "*!nobody@*";%0a mask = "*!www-data@*";%0a mask = "*!cache@*";%0a mask = "*!CacheFlowS@*";%0a mask = "*!*@*www*";%0a mask = "*!*@*proxy*";%0a mask = "*!*@*cache*";%0a scanner = "extended";%0a};%0a%0aexempt {%0a mask = "*!*@127.0.0.1";%0a};%0a@]%0a%0a!! Run Hopm%0a%0a[@%0a$ /home/hopm/hopm/bin/hopm -d%0a@]%0a%0a!! Cronjob%0a%0aPut this script in /home/hopm/hopm/bin/autohopm%0a%0a[@%0a#!/bin/sh%0aHOPMPATH=/home/hopm/hopm%0a%0aif test -r $HOPMPATH/var/run/hopm.pid; then%0a HOPMPID=$(cat $HOPMPATH/var/run/hopm.pid)%0a if $(kill -0 $HOPMPID >/dev/null 2>&1)%0a then%0a exit 0%0a fi%0afi%0a$HOPMPATH/bin/hopm &> /dev/null%0a@]%0a%0aThen make sure execute privileges are set:%0a%0a[@%0a$ chmod 754 /home/hopm/hopm/bin/autohopm%0a@]%0a%0a[@%0a$ crontab -e%0a*/5 * * * * /home/hopm/hopm/bin/autohopm%0a@]%0a(:ifend:)%0a%0a!! Troubleshooting%0a%0aIf you see this error:%0a%0a[@%0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a[2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a@]%0a%0aThis may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a%0a[@%0a$ doas pkg_add torsocks%0a@]%0a%0a[@%0a$ torsocks nc irc.example.com 6667%0anick toruser%0auser toruser * * :toruser%0a@]%0a%0aIn the #hopm channel, you should see:%0a%0a[@%0a23:16 %3cMyHopm> DNSBL -> toruser!~toruser@vps-16fb7987.vps.ovh.ca [51.79.69.241] appears in BL zone rbl.efnetrbl.org (TOR)%0a@]%0a%0a!! Run Hopm as System Daemon%0a%0a[[Rcd/Configure|For this refer to this page]]\\%0a%0aAfter you've created the rc.d script, append to /etc/rc.conf.local:%0a[@ hopm_user=hopm @]%0a%0a# Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a# If the service fails to start, check and make sure /home/hopm/hopm/var/log/hopm.log is owned by hopm.%0a +time=1638824319 +title=Hopm Install Guide +author:1638824319=xfnw +csum:1638824319=warn about +x +diff:1638824319:1637396578:=97c97%0a%3c For @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work with old cloak hostmasks, which have been broken since April 2020. Note that '''hopm will not work with +x cloaking'''). You must also change the order for kline: in ngircd, kline expects the hostmask before the time. You will also want to replace @@support@example.com@@ with your actual support email.%0a---%0a> For @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work when you cloak hostmasks). You must also change the order for kline: in ngircd, kline expects the hostmask before the time. You will also want to replace @@support@example.com@@ with your actual support email.%0a +host:1638824319=2001:470:8:651::4 +author:1637396578=jrmu +diff:1637396578:1637391199:=202c202%0a%3c kline = "KLINE 180 *@%25h :Compromised host on this IP. See https://ircbl.org/lookup?ip=%25i&network=%3cyour_network_name> for more information.";%0a---%0a> kline = "KLINE 180 *@%25i :Compromised host on this IP. See https://ircbl.org/lookup?ip=%25i&network=%3cyour_network_name> for more information.";%0a +host:1637396578=38.87.162.8 +author:1637391199=bugzbunny +diff:1637391199:1632726144:=111,112c111,112%0a%3c In our OPM block, we will define a few blacklists: dronbl, efnet, and ircbl. %0a%3c %0a---%0a> In our OPM block, we define two blacklists: one for dronbl, and another for efnet. %0a> %0a139c139%0a%3c kline = "KLINE *@%25h 3600 :You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%25i&network=%3cyour_network_name>";%0a---%0a> kline = "KLINE *@%25h 3600 :You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%25i&network=Network";%0a145,146d144%0a%3c '''Note''': Replace %3cyour_network_name> with a unique network name. The Network parameter set in ngircd.conf should suffice.%0a%3c %0a206,207d203%0a%3c %0a%3c '''Note''': Again, replace %3cyour_network_name> with a unique network name. The Network parameter set in ngircd.conf should suffice.%0a +host:1637391199=72.78.238.236 +author:1632726144=Miniontoby +diff:1632726144:1631250603:=169a170%0a> };%0a175c176%0a%3c blacklist {%0a---%0a> blacklist {%0a202d202%0a%3c };%0a204,205c204%0a%3c %0a%3c This is another blacklist.%0a---%0a> This one is used as another blacklist, and blocks ircbots.%0a +host:1632726144=125.231.18.235 +author:1631250603=jrmu +diff:1631250603:1626787053:=208c208%0a%3c '''NOTE''': target_ip must be an actual ip address. Replace 127.0.0.1 with your public IPv4 address.%0a---%0a> '''NOTE''': target_ip must be an actual ip address%0a +host:1631250603=38.87.162.8 +author:1626787053=mkf +csum:1626787053=ircbl +diff:1626787053:1625542031:=174,204d173%0a%3c %0a%3c [@%0a%3c blacklist {%0a%3c name = "rbl.ircbl.org";%0a%3c type = "A record reply";%0a%3c reply {%0a%3c 2 = "Open proxy (2)";%0a%3c 6 = "Mail or NS server (6)";%0a%3c 10 = "D regex pattern (10)";%0a%3c 11 = "Drone / compromised (11)";%0a%3c 13 = "Join/part flood (13)";%0a%3c 14 = "Drone / compromised 2 (14)";%0a%3c 16 = "Spam bot (16)";%0a%3c 17 = "Drone (17)";%0a%3c 18 = "Drone 2 (18)";%0a%3c 19 = "Web abuse (19)";%0a%3c 20 = "Drone/flood bot (20)";%0a%3c 21 = "Compromised host (21)";%0a%3c 22 = "Open Proxy (22)";%0a%3c 23 = "Open Proxy (23)";%0a%3c 24 = "Mass advertising (24)";%0a%3c 30 = "Drone (30)";%0a%3c 31 = "Drone 2 (31)";%0a%3c 32 = "Open proxy (32)";%0a%3c 42 = "Open proxy (42)";%0a%3c };%0a%3c ban_unknown = yes;%0a%3c kline = "KLINE 180 *@%25i :Compromised host on this IP. See https://ircbl.org/lookup?ip=%25i&network=%3cyour_network_name> for more information.";%0a%3c };%0a%3c @]%0a%3c This one is used as another blacklist, and blocks ircbots.%0a +host:1626787053=198.251.81.133 +author:1625542031=jrmu +diff:1625542031:1625214366:=278c278%0a%3c mask = "*!~*@*";%0a---%0a> # mask = "*!~*@*";%0a +host:1625542031=125.231.16.111 +author:1625214366=jrmu +diff:1625214366:1624614137:=303,304c303%0a%3c Put this script in /home/hopm/hopm/bin/autohopm%0a%3c %0a---%0a> (:if false:)%0a306,327c305,306%0a%3c #!/bin/sh%0a%3c HOPMPATH=/home/hopm/hopm%0a%3c %0a%3c if test -r $HOPMPATH/var/run/hopm.pid; then%0a%3c HOPMPID=$(cat $HOPMPATH/var/run/hopm.pid)%0a%3c if $(kill -0 $HOPMPID >/dev/null 2>&1)%0a%3c then%0a%3c exit 0%0a%3c fi%0a%3c fi%0a%3c $HOPMPATH/bin/hopm &> /dev/null%0a%3c @]%0a%3c %0a%3c Then make sure execute privileges are set:%0a%3c %0a%3c [@%0a%3c $ chmod 754 /home/hopm/hopm/bin/autohopm%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ crontab -e%0a%3c */5 * * * * /home/hopm/hopm/bin/autohopm%0a---%0a> $ doas crontab -e -u hopm%0a> */5 * * * * /home/hopm/hopm/bin/hopm -dv >> /home/hopm/hopm/hopm.log 2>&1 &%0a +host:1625214366=38.81.163.143 +author:1624614137=jrmu +diff:1624614137:1624202950:=202c202,203%0a%3c target_string = "NOTICE * :*** Looking up your hostname and checking ident";%0a---%0a> target_string = ":irc.example.org NOTICE * :*** Looking up your hostname";%0a> target_string = "ERROR :Your host is trying to (re)connect too fast -- throttled.";%0a +host:1624614137=38.81.163.143 +author:1624202950=jrmu +diff:1624202950:1624196192:=304d303%0a%3c (:if false:)%0a309d307%0a%3c (:ifend:)%0a +host:1624202950=38.81.163.143 +author:1624196192=jrmu +diff:1624196192:1624196139:=306c306%0a%3c */5 * * * * /home/hopm/hopm/bin/hopm -dv >> /home/hopm/hopm/hopm.log 2>&1 &%0a---%0a> */5 * * * * /home/hopm/hopm/bin/hopm >>/var/log/znc.log 2>&1 &%0a +host:1624196192=38.81.163.143 +author:1624196139=jrmu +diff:1624196139:1622818981:=300,306d299%0a%3c @]%0a%3c %0a%3c !! Cronjob%0a%3c %0a%3c [@%0a%3c $ doas crontab -e -u hopm%0a%3c */5 * * * * /home/hopm/hopm/bin/hopm >>/var/log/znc.log 2>&1 &%0a +host:1624196139=38.81.163.143 +author:1622818981=jrmu +diff:1622818981:1620176123:=331,333c331%0a%3c %0a%3c [[Rcd/Configure|For this refer to this page]]\\%0a%3c %0a---%0a> For this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d\\%0a338c336%0a%3c # If the service fails to start, check and make sure /home/hopm/hopm/var/log/hopm.log is owned by hopm.%0a---%0a> # If the service fails to start, check and make sure /home/hopm/hopm/var/log/hopm.log is owned by hopm.%0a\ No newline at end of file%0a +host:1622818981=38.81.163.143 +author:1620176123=sarah +diff:1620176123:1615099104:=331,336c331,333%0a%3c For this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d\\%0a%3c After you've created the rc.d script, append to /etc/rc.conf.local:%0a%3c [@ hopm_user=hopm @]%0a%3c %0a%3c # Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a%3c # If the service fails to start, check and make sure /home/hopm/hopm/var/log/hopm.log is owned by hopm. %0a\ No newline at end of file%0a---%0a> For this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a> %0a> # Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a +host:1620176123=2001:470:ee05:0:80:893f:ae46:9e7f +author:1615099104=jrmu +diff:1615099104:1615098709:=175,178c175,176%0a%3c Next, we define a scanner block. hopm will try to get the user to connect to the target_ip:target_port using the listed port/protocol. A target_string will be sent through the proxy and then checked. If the data is found, the user is an proxy.%0a%3c %0a%3c '''NOTE''': target_ip must be an actual ip address%0a%3c %0a---%0a> Next, we define a scanner block:%0a> %0a207,208c205,206%0a%3c Two more scanner blocks:%0a%3c %0a---%0a> target_ip must be another IP%0a> %0a270,272c268%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %0a +host:1615099104=198.251.81.119 +author:1615098709=jrmu +diff:1615098709:1615098501:=171,177d170%0a%3c @]%0a%3c %0a%3c The two blacklists from efnet are the same.%0a%3c %0a%3c Next, we define a scanner block:%0a%3c %0a%3c [@%0a +host:1615098709=198.251.81.119 +author:1615098501=jrmu +diff:1615098501:1615098416:= +host:1615098501=198.251.81.119 +author:1615098416=jrmu +diff:1615098416:1615097718:=109,113d108%0a%3c @]%0a%3c %0a%3c In our OPM block, we define two blacklists: one for dronbl, and another for efnet. %0a%3c %0a%3c [@%0a118a114,118%0a> @]%0a> %0a> In our OPM block, we define two blacklists: one for dronbl, and another for efnet. %0a> %0a> [@%0a141,147d140%0a%3c @]%0a%3c %0a%3c The name of the first blacklist is [[https://dronebl.org/docs/howtouse|dnsbl.dronebl.org]]. It supports both ipv4 and ipv6 addresses. We use A record replies. We don't want to ban unknown types.%0a%3c %0a%3c For the kline, we again make sure to put the hostmask before the time (as ngircd requires). We also use %25h instead of %25i to kline by hostmask instead of by IP, since ngircd may be cloaking user IPs.%0a%3c %0a%3c [@%0a +host:1615098416=198.251.81.119 +author:1615097718=jrmu +diff:1615097718:1615094839:=114,118d113%0a%3c @]%0a%3c %0a%3c In our OPM block, we define two blacklists: one for dronbl, and another for efnet. %0a%3c %0a%3c [@%0a +host:1615097718=125.231.24.85 +author:1615094839=jrmu +diff:1615094839:1615093451:=74c74%0a%3c nickserv = "SQUERY NickServ :IDENTIFY MyHopm PASSWORD";%0a---%0a> nickserv = "SQUERY NickServ :IDENTIFY PASSWORD";%0a93c93%0a%3c ngircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ with the real nick and @@PASSWORD@@ with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a---%0a> ngircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY PASSWORD@@ -- you'll want to replace PASSWORD with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a +host:1615094839=198.251.81.119 +author:1615093451=jrmu +diff:1615093451:1615093364:=71a72%0a> tls_hostname_verification = yes;%0a91,95c92,95%0a%3c Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS.%0a%3c %0a%3c ngircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY PASSWORD@@ -- you'll want to replace PASSWORD with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a%3c %0a%3c We change the [[https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt|mode]] to @@+BcFiIoqRsw@@. I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a---%0a> %0a> Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password, and @@MyHopm@@ with the operator nick. Change [[https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt|mode]] to @@+BcFiIoqRsw@@.%0a> %0a> I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a +host:1615093451=198.251.81.119 +author:1615093364=jrmu +diff:1615093364:1615093294:=72d71%0a%3c tls_hostname_verification = yes;%0a92,95c91,95%0a%3c %0a%3c Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password, and @@MyHopm@@ with the operator nick. Change [[https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt|mode]] to @@+BcFiIoqRsw@@.%0a%3c %0a%3c I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a---%0a> Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS.%0a> %0a> ngircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY PASSWORD@@ -- you'll want to replace PASSWORD with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a> %0a> We change the mode to @@+BcFiIoqRsw@@. I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a +host:1615093364=198.251.81.119 +author:1615093294=jrmu +diff:1615093294:1615087042:=71a72%0a> tls_hostname_verification = yes;%0a91,95c92,95%0a%3c Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS.%0a%3c %0a%3c ngircd uses @@SQUERY@@ for @@nickserv@@: @@SQUERY NickServ :IDENTIFY PASSWORD@@ -- you'll want to replace PASSWORD with the real password. For oper: @@MyHopm PASSWORD@@ -- you'll want to replace @@MyHopm@@ and @@PASSWORD@@ with the operator name and password.%0a%3c %0a%3c We change the mode to @@+BcFiIoqRsw@@. I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a---%0a> %0a> Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password, and @@MyHopm@@ with the operator nick. Change mode to @@+BcFiIoqRsw@@.%0a> %0a> I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a +host:1615093294=198.251.81.119 +author:1615087042=jrmu +diff:1615087042:1615032429:=62c62%0a%3c The only thing we change is we uncomment scanlog so that we have a record of all users that connect. It will be stored in @@/home/hopm/hopm/var/log/scan.log@@.%0a---%0a> The only thing we change is we uncomment scanlog so that we have a record of all users that connect. It will be stored in @@/home/hopm/var/log/scan.log@@.%0a +host:1615087042=198.251.81.119 +author:1615032429=jrmu +diff:1615032429:1615032333:=97,105c97,98%0a%3c For @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work when you cloak hostmasks). You must also change the order for kline: in ngircd, kline expects the hostmask before the time. You will also want to replace @@support@example.com@@ with your actual support email.%0a%3c %0a%3c '''WARNING''': You must change the order for kline for ngircd:%0a%3c %0a%3c [@%0a%3c kline = "KLINE *@%25h 3600 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a%3c @]%0a%3c %0a%3c The hostmask must come before the time.%0a---%0a> For @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work when you cloak hostmasks). You will also want to replace @@support@example.com@@ with your actual support email.%0a> %0a +host:1615032429=198.251.81.119 +author:1615032333=jrmu +diff:1615032333:1614698507:=126c126,127%0a%3c kline = "KLINE *@%25h 3600 :You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%25i&network=Network";%0a---%0a> kline = "KLINE 3600 *@%25h :You have a host listed in the DroneBL. For mor%0a> e information, visit https://dronebl.org/lookup_branded?ip=%25i&network=Network";%0a139c140,141%0a%3c kline = "KLINE *@%25h 3600 :Blacklisted proxy found. For more information, visit https://rbl.efnetrbl.org/?i=%25i";%0a---%0a> kline = "KLINE 3600 *@%25h :Blacklisted proxy found. For more information,%0a> visit https://rbl.efnetrbl.org/?i=%25i";%0a148c150,151%0a%3c kline = "KLINE *@%25h 3600 :TOR exit node found. For more information, visit https://rbl.efnetrbl.org/?i=%25i";%0a---%0a> kline = "KLINE 3600 *@%25h :TOR exit node found. For more information, vis%0a> it https://rbl.efnetrbl.org/?i=%25i";%0a +host:1615032333=198.251.81.119 +author:1614698507=jrmu +diff:1614698507:1614697020:=285,300d284%0a%3c %0a%3c [@%0a%3c $ doas pkg_add torsocks%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ torsocks nc irc.example.com 6667%0a%3c nick toruser%0a%3c user toruser * * :toruser%0a%3c @]%0a%3c %0a%3c In the #hopm channel, you should see:%0a%3c %0a%3c [@%0a%3c 23:16 %3cMyHopm> DNSBL -> toruser!~toruser@vps-16fb7987.vps.ovh.ca [51.79.69.241] appears in BL zone rbl.efnetrbl.org (TOR)%0a%3c @]%0a +host:1614698507=198.251.81.119 +author:1614697020=jrmu +diff:1614697020:1614696943:=179,183d178%0a%3c @]%0a%3c %0a%3c target_ip must be another IP%0a%3c %0a%3c [@%0a +host:1614697020=198.251.81.119 +author:1614696943=jrmu +diff:1614696943:1614696284:=76c76%0a%3c oper = "MyHopm PASSWORD";%0a---%0a> oper = "hopm PASSWORD";%0a93c93%0a%3c Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password, and @@MyHopm@@ with the operator nick. Change mode to @@+BcFiIoqRsw@@.%0a---%0a> Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password. Change mode to @@+BcFiIoqRsw@@.%0a +host:1614696943=198.251.81.119 +author:1614696284=jrmu +diff:1614696284:1614696250:=64c64%0a%3c [@%0a---%0a> [=%0a84,86c84%0a%3c @]%0a%3c @@ connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";@@%0a%3c [@%0a---%0a> connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";%0a90c88%0a%3c @]%0a---%0a> =]%0a +host:1614696284=198.251.81.119 +author:1614696250=jrmu +diff:1614696250:1614696193:=64c64%0a%3c [=%0a---%0a> [@%0a84c84,85%0a%3c connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";%0a---%0a> connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]%0a> +)\\].*";%0a88,89c89%0a%3c =]%0a%3c %0a---%0a> @]%0a +host:1614696250=198.251.81.119 +author:1614696193=jrmu +diff:1614696193:1614695833:=84,85c84%0a%3c connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]%0a%3c +)\\].*";%0a---%0a> connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";%0a89a89%0a> %0a +host:1614696193=198.251.81.119 +author:1614695833=jrmu +diff:1614695833:1614695806:=64c64%0a%3c [@%0a---%0a> [=%0a88c88%0a%3c @]%0a---%0a> =]%0a +host:1614695833=198.251.81.119 +author:1614695806=jrmu +diff:1614695806:1614695686:=64c64%0a%3c [=%0a---%0a> [@%0a88c88%0a%3c =]%0a---%0a> @]%0a +host:1614695806=198.251.81.119 +author:1614695686=jrmu +diff:1614695686:1614695622:=84c84,87%0a%3c connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]+)\\].*";%0a---%0a> @]%0a> @@ connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]@@%0a> [@%0a> +)\\].*";%0a +host:1614695686=198.251.81.119 +author:1614695622=jrmu +diff:1614695622:1614695325:=84,86c84%0a%3c @]%0a%3c @@ connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]@@%0a%3c [@%0a---%0a> connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]%0a92d89%0a%3c %0a +host:1614695622=198.251.81.119 +author:1614695325=jrmu +diff:1614695325:1614693600:=86c86%0a%3c kline = "KLINE *@%25h 3600 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a---%0a> kline = "KLINE *@%25h 10800 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a96,259d95%0a%3c %0a%3c [@%0a%3c opm {%0a%3c blacklist { %0a%3c name = "dnsbl.dronebl.org";%0a%3c address_family = ipv4, ipv6;%0a%3c type = "A record reply";%0a%3c ban_unknown = no;%0a%3c reply {%0a%3c 2 = "Sample data used for heuristical analysis";%0a%3c 3 = "IRC spam drone (litmus/sdbot/fyle)";%0a%3c 5 = "Bottler (experimental)";%0a%3c 6 = "Unknown worm or spambot";%0a%3c 7 = "DDoS drone";%0a%3c 8 = "Open SOCKS proxy";%0a%3c 9 = "Open HTTP proxy";%0a%3c 10 = "ProxyChain";%0a%3c 11 = "Web Page Proxy";%0a%3c 12 = "Open DNS Resolver";%0a%3c 13 = "Automated dictionary attacks";%0a%3c 14 = "Open WINGATE proxy";%0a%3c 15 = "Compromised router / gateway";%0a%3c 16 = "Autorooting worms";%0a%3c 17 = "Automatically determined botnet IPs (experimental)";%0a%3c 18 = "Possibly compromised DNS/MX type hostname detected on IRC";%0a%3c 19 = "Abused VPN Service";%0a%3c 255 = "Uncategorized threat class";%0a%3c };%0a%3c kline = "KLINE 3600 *@%25h :You have a host listed in the DroneBL. For mor%0a%3c e information, visit https://dronebl.org/lookup_branded?ip=%25i&network=Network";%0a%3c };%0a%3c blacklist {%0a%3c name = "rbl.efnetrbl.org";%0a%3c type = "A record reply";%0a%3c ban_unknown = no;%0a%3c reply {%0a%3c 1 = "Open proxy";%0a%3c 2 = "spamtrap666";%0a%3c 3 = "spamtrap50";%0a%3c 4 = "TOR";%0a%3c 5 = "Drones / Flooding";%0a%3c };%0a%3c kline = "KLINE 3600 *@%25h :Blacklisted proxy found. For more information,%0a%3c visit https://rbl.efnetrbl.org/?i=%25i";%0a%3c };%0a%3c blacklist {%0a%3c name = "tor.efnetrbl.org";%0a%3c type = "A record reply";%0a%3c ban_unknown = no;%0a%3c reply {%0a%3c 1 = "TOR";%0a%3c };%0a%3c kline = "KLINE 3600 *@%25h :TOR exit node found. For more information, vis%0a%3c it https://rbl.efnetrbl.org/?i=%25i";%0a%3c };%0a%3c };%0a%3c scanner {%0a%3c name = "default";%0a%3c protocol = HTTP:80;%0a%3c protocol = HTTP:8080;%0a%3c protocol = HTTP:3128;%0a%3c protocol = HTTP:6588;%0a%3c # protocol = HTTPS:443;%0a%3c # protocol = HTTPS:8443;%0a%3c protocol = SOCKS4:1080;%0a%3c protocol = SOCKS5:1080;%0a%3c protocol = ROUTER:23;%0a%3c protocol = WINGATE:23;%0a%3c protocol = DREAMBOX:23;%0a%3c protocol = HTTPPOST:80;%0a%3c # protocol = HTTPSPOST:443;%0a%3c # protocol = HTTPSPOST:8443;%0a%3c # bind = "127.0.0.1";%0a%3c fd = 512;%0a%3c max_read = 4 kbytes;%0a%3c timeout = 30 seconds;%0a%3c target_ip = "127.0.0.1";%0a%3c target_port = 6667;%0a%3c target_string = ":irc.example.org NOTICE * :*** Looking up your hostname";%0a%3c target_string = "ERROR :Your host is trying to (re)connect too fast -- throttled.";%0a%3c };%0a%3c scanner {%0a%3c name = "extended";%0a%3c protocol = HTTP:81;%0a%3c protocol = HTTP:8000;%0a%3c protocol = HTTP:8001;%0a%3c protocol = HTTP:8081;%0a%3c protocol = HTTPPOST:81;%0a%3c protocol = HTTPPOST:6588;%0a%3c protocol = HTTPPOST:4480;%0a%3c protocol = HTTPPOST:8000;%0a%3c protocol = HTTPPOST:8001;%0a%3c protocol = HTTPPOST:8080;%0a%3c protocol = HTTPPOST:8081;%0a%3c protocol = SOCKS4:4914;%0a%3c protocol = SOCKS4:6826;%0a%3c protocol = SOCKS4:7198;%0a%3c protocol = SOCKS4:7366;%0a%3c protocol = SOCKS4:9036;%0a%3c protocol = SOCKS5:4438;%0a%3c protocol = SOCKS5:5104;%0a%3c protocol = SOCKS5:5113;%0a%3c protocol = SOCKS5:5262;%0a%3c protocol = SOCKS5:5634;%0a%3c protocol = SOCKS5:6552;%0a%3c protocol = SOCKS5:6561;%0a%3c protocol = SOCKS5:7464;%0a%3c protocol = SOCKS5:7810;%0a%3c protocol = SOCKS5:8130;%0a%3c protocol = SOCKS5:8148;%0a%3c protocol = SOCKS5:8520;%0a%3c protocol = SOCKS5:8814;%0a%3c protocol = SOCKS5:9100;%0a%3c protocol = SOCKS5:9186;%0a%3c protocol = SOCKS5:9447;%0a%3c protocol = SOCKS5:9578;%0a%3c protocol = SOCKS5:10000;%0a%3c protocol = SOCKS5:64101;%0a%3c protocol = SOCKS4:29992;%0a%3c protocol = SOCKS4:38884;%0a%3c protocol = SOCKS4:18844;%0a%3c protocol = SOCKS4:17771;%0a%3c protocol = SOCKS4:31121;%0a%3c fd = 400;%0a%3c };%0a%3c scanner {%0a%3c name = "ssh";%0a%3c protocol = SSH:22;%0a%3c target_string = "SSH-1.99-OpenSSH_5.1";%0a%3c target_string = "SSH-2.0-dropbear_0.51";%0a%3c target_string = "SSH-2.0-dropbear_0.52";%0a%3c target_string = "SSH-2.0-dropbear_0.53.1";%0a%3c target_string = "SSH-2.0-dropbear_2012.55";%0a%3c target_string = "SSH-2.0-dropbear_2013.62";%0a%3c target_string = "SSH-2.0-dropbear_2014.63";%0a%3c target_string = "SSH-2.0-OpenSSH_4.3";%0a%3c target_string = "SSH-2.0-OpenSSH_5.1";%0a%3c target_string = "SSH-2.0-OpenSSH_5.5p1";%0a%3c target_string = "SSH-2.0-ROSSSH";%0a%3c target_string = "SSH-2.0-SSH_Server";%0a%3c };%0a%3c %0a%3c user {%0a%3c mask = "*!*@*";%0a%3c scanner = "default";%0a%3c };%0a%3c %0a%3c user {%0a%3c # mask = "*!~*@*";%0a%3c mask = "*!squid@*";%0a%3c mask = "*!nobody@*";%0a%3c mask = "*!www-data@*";%0a%3c mask = "*!cache@*";%0a%3c mask = "*!CacheFlowS@*";%0a%3c mask = "*!*@*www*";%0a%3c mask = "*!*@*proxy*";%0a%3c mask = "*!*@*cache*";%0a%3c scanner = "extended";%0a%3c };%0a%3c %0a%3c exempt {%0a%3c mask = "*!*@127.0.0.1";%0a%3c };%0a%3c @]%0a +host:1614695325=198.251.81.119 +author:1614693600=jrmu +diff:1614693600:1614693431:=86,87c86,88%0a%3c kline = "KLINE *@%25h 10800 :Open proxy found on your host. Please contact support@example.com if this is in error.";%0a%3c notice = "To prevent spam and abuse, we scan users for open proxies.";%0a---%0a> kline = "KLINE *@%25i 10800 :Open proxy found on your host.";%0a> notice = "You are now being scanned for open proxies. If you have nothing to hid%0a> e, you have nothing to fear.";%0a94,95d94%0a%3c %0a%3c For @@kline@@, make sure to replace @@*@%25i@@ with @@*@%25h@@ (to allow hopm to work when you cloak hostmasks). You will also want to replace @@support@example.com@@ with your actual support email.%0a +host:1614693600=198.251.81.119 +author:1614693431=jrmu +diff:1614693431:1614692395:=77c77%0a%3c mode = "+BcFiIoqRsw";%0a---%0a> mode = "+iC";%0a82c82%0a%3c invite = "SQUERY ChanServ :INVITE #hopm";%0a---%0a> invite = "CS INVITE #hopm";%0a92,95c92%0a%3c Change the @@nick@@, @@realname@@, @@username@@. @@server@@, @@port@@, @@tls@@ specify how to connect to your ircd. You will want to use 127.0.0.1 port 16667 with no TLS. @@nickserv@@ and @@oper@@ should be changed to match ngircd. You'll also want to replace @@PASSWORD@@ with the nickserv and oper password. Change mode to @@+BcFiIoqRsw@@.%0a%3c %0a%3c I recommend you change channel's @@name@@ from @@#hopm@@ to your team channel. @@invite@@ has been modified to match ngircd; replace @@#hopm@@ with your team channel.%0a%3c %0a---%0a> Change the @@nick@@, @@realname@@, @@username@@, @@server@@, @@port@@, @@tls@@. Replace @@PASSWORD@@ in @@nickserv@@ and @@PASSWORD@@ in @@oper@@ with the nickserv and oper password.%0a +host:1614693431=198.251.81.119 +author:1614692395=jrmu +diff:1614692395:1614691856:=62,63c62,63%0a%3c The only thing we change is we uncomment scanlog so that we have a record of all users that connect. It will be stored in @@/home/hopm/var/log/scan.log@@.%0a%3c %0a---%0a> The only thing we change is we uncomment scanlog so that we have a record of all users that connect.%0a> %0a75,76c75,76%0a%3c nickserv = "SQUERY NickServ :IDENTIFY PASSWORD";%0a%3c oper = "hopm PASSWORD";%0a---%0a> nickserv = "NS IDENTIFY password";%0a> oper = "hopm operpass";%0a92d91%0a%3c Change the @@nick@@, @@realname@@, @@username@@, @@server@@, @@port@@, @@tls@@. Replace @@PASSWORD@@ in @@nickserv@@ and @@PASSWORD@@ in @@oper@@ with the nickserv and oper password.%0a +host:1614692395=198.251.81.119 +author:1614691856=jrmu +diff:1614691856:1614691431:=45,48c45,46%0a%3c [[https://github.com/ircd-hybrid/hopm/blob/master/doc/reference.conf|/home/hopm/hopm/etc/reference.conf]] contains a sample template.%0a%3c %0a%3c We'll create a new /home/hopm/hopm/etc/hopm.conf from scratch to keep it short:%0a%3c %0a---%0a> We'll copy the template conf file:%0a> %0a49a48,53%0a> $ cp /home/hopm/hopm/etc/reference.conf /home/hopm/hopm/etc/hopm.conf%0a> @]%0a> %0a> Then edit /home/hopm/hopm/etc/hopm.conf:%0a> %0a> [@%0a61,62d64%0a%3c %0a%3c The only thing we change is we uncomment scanlog so that we have a record of all users that connect.%0a +host:1614691856=198.251.81.119 +author:1614691431=jrmu +diff:1614691431:1614681012:=52,92d51%0a%3c %0a%3c [@%0a%3c options {%0a%3c pidfile = "var/run/hopm.pid";%0a%3c command_queue_size = 64;%0a%3c command_interval = 10 seconds;%0a%3c command_timeout = 180 seconds;%0a%3c negcache_rebuild = 12 hours;%0a%3c dns_fdlimit = 64;%0a%3c dns_timeout = 5 seconds;%0a%3c scanlog = "var/log/scan.log";%0a%3c };%0a%3c @]%0a%3c %0a%3c [@%0a%3c irc {%0a%3c nick = "MyHopm";%0a%3c realname = "Hybrid Open Proxy Monitor";%0a%3c username = "hopm";%0a%3c server = "127.0.0.1";%0a%3c port = 16667;%0a%3c tls = no;%0a%3c tls_hostname_verification = yes;%0a%3c readtimeout = 15 minutes;%0a%3c reconnectinterval = 30 seconds;%0a%3c nickserv = "NS IDENTIFY password";%0a%3c oper = "hopm operpass";%0a%3c mode = "+iC";%0a%3c away = "I'm a bot. Your messages will be ignored.";%0a%3c channel {%0a%3c name = "#hopm";%0a%3c key = "somekey";%0a%3c invite = "CS INVITE #hopm";%0a%3c };%0a%3c connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9a-f\\.:]%0a%3c +)\\].*";%0a%3c kline = "KLINE *@%25i 10800 :Open proxy found on your host.";%0a%3c notice = "You are now being scanned for open proxies. If you have nothing to hid%0a%3c e, you have nothing to fear.";%0a%3c };%0a%3c @]%0a +host:1614691431=198.251.81.119 +author:1614681012=jrmu +diff:1614681012:1614680893:=39,40c39,40%0a%3c $ make%0a%3c $ make install%0a---%0a> $ gmake%0a> $ gmake install%0a +host:1614681012=198.251.81.119 +author:1614680893=jrmu +diff:1614680893:1614680783:= +host:1614680893=198.251.81.119 +author:1614680783=jrmu +diff:1614680783:1614680082:=36c36%0a%3c $ tar xvzf 1.1.10.tar.gz%0a---%0a> $ tar xvzf hopm-1.1.10.tar.gz%0a +host:1614680783=198.251.81.119 +author:1614680082=jrmu +diff:1614680082:1614679909:=22c22%0a%3c $ doas useradd -m -g =uid -c "hopm" -d /home/hopm -s /bin/ksh hopm%0a---%0a> doas useradd -m -g =uid -c "hopm" -d /home/hopm -s /bin/ksh hopm%0a +host:1614680082=198.251.81.119 +author:1614679909=jrmu +diff:1614679909:1614679909:=1,74d0%0a%3c (:title Hopm Install Guide:)%0a%3c %0a%3c In this guide, we'll setup and configure [[https://github.com/ircd-hybrid/hopm|hopm]], an open proxy monitor that kills spam bots.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # Pure C%0a%3c # Compatible with every IRC server%0a%3c # Fast scanning and DNSBL support.%0a%3c %0a%3c Disadvantages:%0a%3c %0a%3c # Occasionally bans innocent users because it cannot perform [[stopm/stopm|statistical analysis]]%0a%3c %0a%3c Before you begin, you must read the [[https://github.com/ircd-hybrid/hopm/blob/master/README|README]] and [[https://github.com/ircd-hybrid/hopm/blob/master/INSTALL|INSTALL]] docs.%0a%3c %0a%3c !! Installation%0a%3c %0a%3c Let's create the user hopm:%0a%3c %0a%3c [@%0a%3c doas useradd -m -g =uid -c "hopm" -d /home/hopm -s /bin/ksh hopm%0a%3c @]%0a%3c %0a%3c Then we switch to the user hopm and change to its home folder:%0a%3c %0a%3c [@%0a%3c $ doas su hopm%0a%3c $ cd%0a%3c @]%0a%3c %0a%3c We download [[https://github.com/ircd-hybrid/hopm/tags|the latest release]], extract it, then build it:%0a%3c %0a%3c [@%0a%3c $ ftp https://github.com/ircd-hybrid/hopm/archive/1.1.10.tar.gz%0a%3c $ tar xvzf hopm-1.1.10.tar.gz%0a%3c $ cd hopm-1.1.10%0a%3c $ ./configure%0a%3c $ gmake%0a%3c $ gmake install%0a%3c @]%0a%3c %0a%3c hopm will now be installed in ~/hopm.%0a%3c %0a%3c We'll copy the template conf file:%0a%3c %0a%3c [@%0a%3c $ cp /home/hopm/hopm/etc/reference.conf /home/hopm/hopm/etc/hopm.conf%0a%3c @]%0a%3c %0a%3c Then edit /home/hopm/hopm/etc/hopm.conf:%0a%3c %0a%3c !! Run Hopm%0a%3c %0a%3c [@%0a%3c $ /home/hopm/hopm/bin/hopm -d%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you see this error:%0a%3c %0a%3c [@%0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a%3c [2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a%3c @]%0a%3c %0a%3c This may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a%3c %0a%3c !! Run Hopm as System Daemon%0a%3c For this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a%3c %0a%3c # Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a +host:1614679909=198.251.81.119 blob - /dev/null blob + 85c0c50fe3c3da2dd7bc036726ffbb7b92f81040 (mode 644) --- /dev/null +++ wiki.d/Hopm.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +charset=UTF-8 +ctime=1614679909 +host=2001:470:8:651::4 +name=Hopm.RecentChanges +rev=66 +text=* [[Hopm/Install]] . . . December 06, 2021, at 08:58 PM by [[~xfnw]]: [=warn about +x=]%0a* [[Hopm/Telnet]] . . . September 10, 2021, at 06:13 AM by [[~mkf]]: [==]%0a +time=1638824319 blob - /dev/null blob + da571619d90db34a170b72a36047e18d1a464870 (mode 644) --- /dev/null +++ wiki.d/Hopm.Telnet @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1615099993 +host=2.178.154.172 +name=Hopm.Telnet +rev=19 +targets= +text=(:title Test Hopm:)%0a%0aWe can test hopm by testing from a list of known open proxies.%0a%0a|| border=1 width=50%25 class="sortable simpletable"%0a||! URL ||%0a|| [[https://us-proxy.org/]] ||%0a|| [[https://www.proxy-list.download/]] ||%0a|| [[https://free-proxy-list.net/]] ||%0a|| [[https://hidemy.name/en/proxy-list/]] ||%0a|| [[https://www.socks-proxy.net/]] ||%0a|| [[http://geonode.com/free-proxy-list]] ||%0a%0a[@%0a$ telnet %3cip address> %3cport>%0aTrying 192.168.0.1...%0aConnected to 192.168.0.1.%0aEscape character is '^]'.%0aCONNECT www.example.com:80 HTTP/1.0 %0a%0a%0aHTTP/1.1 200 Connection established %0aGET /index.html HTTP/1.1 %0aHost: example.com %0a %0aHTTP/1.1 405 Method Not Allowed %0aContent-Type: text/html; charset=UTF-8%0aReferrer-Policy: no-referrer %0aContent-Length: 1598 %0aDate: Sun, 07 Mar 2021 07:32:10 GMT %0a %0a%3c!DOCTYPE html>%0a%3chtml lang=en>%0a %3cmeta charset=utf-8> %0a %3cmeta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">%0a@]%0a%0a[@%0a$ telnet %3cip address> %3cport>%0aTrying 192.168.0.1...%0aConnected to 192.168.0.1.%0aEscape character is '^]'.%0aCONNECT irc.example.net:6667 HTTP/1.1%0a%0aHTTP/1.1 200 Connection established%0a%0anick newnick%0auser newuser * * :newname%0aPING :1786317200%0aPONG :1786317200%0a:irc.example.net 001 newnick :Welcome to the Internet Relay Network newnick!~newuser@2001:db8::%0a:irc.example.net 002 newnick :Your host is irc.example.net, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.9)%0a...%0a:irc.example.net 396 nick5 2001:db8:: :is your displayed hostname now %0a:newnick!~newuser@2001:db8:: MODE newnick :+iC%0a:MyHopm!~MyHopm@localhost NOTICE newnick :To prevent spam and abuse, we scan users for open proxies.%0a:irc.example.net NOTICE newnick :Connection statistics: client 0.0 kb, server 1.4 kb.%0aERROR :K-Line by "MyHopm": "You have a host listed in the DroneBL. For more information,%0a visit https://dronebl.org/lookup_branded?ip=2001:db8::&network=Network"%0aConnection closed by foreign host.%0a@]%0a%0aSOCKS4:%0a%0a[@%0a$ nc -X 4 -x 192.168.0.1:3300 irc.example.net 6667%0anick newnick%0auser newuser * * :newname%0a:irc.example.net 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@184.185.2.190%0a:irc.example.net 002 nick5 :Your host is irc.example.net, running version ngircd-26 (x86_64/unknown/openbsd6.9)%0a...%0a:MyHopm!~jrmu-hopm@localhost NOTICE nick5 :To prevent spam and abuse, we scan users for open proxies.%0a:irc.example.net NOTICE nick5 :Connection statistics: client 0.0 kb, server 1.3 kb.%0aERROR :K-Line by "MyHopm": "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=192.168.0.1 network=Network"%0a@]%0a%0aSOCKS5:%0a%0a[@%0a$ nc -X 5 -x 192.168.0.1:3300 irc.example.net 6667%0a@]%0a%0aHTTPS proxies (connect):%0a%0a[@%0a$ nc -X connect -x 192.168.0.1:443 irc.example.net 6667%0a@]%0a +time=1631254412 +title=Test Hopm +author:1631254412=mkf +diff:1631254412:1631253576:minor=9c9%0a%3c || [[https://free-proxy-list.net/]] ||%0a---%0a> || [[https://free-proxy-list.net/]] || ||%0a52c52%0a%3c :irc.example.net 002 newnick :Your host is irc.example.net, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.9)%0a---%0a> :irc.example.net 002 newnick :Your host is irc.example.net, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.8)%0a70c70%0a%3c :irc.example.net 002 nick5 :Your host is irc.example.net, running version ngircd-26 (x86_64/unknown/openbsd6.9)%0a---%0a> :irc.example.net 002 nick5 :Your host is irc.example.net, running version ngircd-26 (x86_64/unknown/openbsd6.8)%0a +host:1631254412=2.178.154.172 +author:1631253576=mkf +diff:1631253576:1625215075:=6,8c6,8%0a%3c ||! URL ||%0a%3c || [[https://us-proxy.org/]] ||%0a%3c || [[https://www.proxy-list.download/]] ||%0a---%0a> ||! URL ||! Description ||%0a> || [[https://us-proxy.org/]] || ||%0a> || [[https://www.proxy-list.download/]] || ||%0a10,12c10,12%0a%3c || [[https://hidemy.name/en/proxy-list/]] ||%0a%3c || [[https://www.socks-proxy.net/]] ||%0a%3c || [[http://geonode.com/free-proxy-list]] ||%0a---%0a> || [[https://hidemy.name/en/proxy-list/]] || ||%0a> || [[https://www.socks-proxy.net/]] || ||%0a> || [[http://geonode.com/free-proxy-list]] || ||%0a +host:1631253576=2.178.154.172 +author:1625215075=jrmu +diff:1625215075:1615891683:=12,13c12%0a%3c || [[http://geonode.com/free-proxy-list]] || ||%0a%3c %0a---%0a> %0a87c86%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1625215075=38.81.163.143 +author:1615891683=jrmu +diff:1615891683:1615891586:=11d10%0a%3c || [[https://www.socks-proxy.net/]] || ||%0a +host:1615891683=198.251.81.119 +author:1615891586=jrmu +diff:1615891586:1615285260:=10d9%0a%3c || [[https://hidemy.name/en/proxy-list/]] || ||%0a +host:1615891586=198.251.81.119 +author:1615285260=jrmu +diff:1615285260:1615285244:=5c5%0a%3c || border=1 width=50%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25 class="sortable simpletable"%0a +host:1615285260=198.251.81.119 +author:1615285244=jrmu +diff:1615285244:1615285222:=6c6%0a%3c ||! URL ||! Description ||%0a---%0a> ||! URL !|| Description ||%0a +host:1615285244=198.251.81.119 +author:1615285222=jrmu +diff:1615285222:1615285206:=6c6%0a%3c ||! URL !|| Description ||%0a---%0a> ||! URL !|| ||%0a +host:1615285222=198.251.81.119 +author:1615285206=jrmu +diff:1615285206:1615285111:=5,6d4%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! URL !|| ||%0a +host:1615285206=198.251.81.119 +author:1615285111=jrmu +diff:1615285111:1615207315:=5,7c5%0a%3c || [[https://us-proxy.org/]] || ||%0a%3c || [[https://www.proxy-list.download/]] || ||%0a%3c || [[https://free-proxy-list.net/]] || ||%0a---%0a> [[https://us-proxy.org/]]%0a +host:1615285111=198.251.81.119 +author:1615207315=jrmu +diff:1615207315:1615206578:=59c59%0a%3c $ nc -X 4 -x 192.168.0.1:3300 irc.example.net 6667%0a---%0a> $ nc -X 4 -x 192.168.0.1 3300 irc.example.com 6667%0a73,79c73%0a%3c $ nc -X 5 -x 192.168.0.1:3300 irc.example.net 6667%0a%3c @]%0a%3c %0a%3c HTTPS proxies (connect):%0a%3c %0a%3c [@%0a%3c $ nc -X connect -x 192.168.0.1:443 irc.example.net 6667%0a---%0a> $ nc -X 5 -x 192.168.0.1 3300 irc.example.com 6667%0a +host:1615207315=198.251.81.119 +author:1615206578=jrmu +diff:1615206578:1615204099:=41d40%0a%3c user newuser * * :newname%0a42a42%0a> user newuser * * :newname%0a60,67d59%0a%3c nick newnick%0a%3c user newuser * * :newname%0a%3c :irc.example.net 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@184.185.2.190%0a%3c :irc.example.net 002 nick5 :Your host is irc.example.net, running version ngircd-26 (x86_64/unknown/openbsd6.8)%0a%3c ...%0a%3c :MyHopm!~jrmu-hopm@localhost NOTICE nick5 :To prevent spam and abuse, we scan users for open proxies.%0a%3c :irc.example.net NOTICE nick5 :Connection statistics: client 0.0 kb, server 1.3 kb.%0a%3c ERROR :K-Line by "MyHopm": "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=192.168.0.1 network=Network"%0a +host:1615206578=198.251.81.119 +author:1615204099=jrmu +diff:1615204099:1615201962:=55,62d54%0a%3c %0a%3c SOCKS4:%0a%3c %0a%3c [@%0a%3c $ nc -X 4 -x 192.168.0.1 3300 irc.example.com 6667%0a%3c @]%0a%3c %0a%3c SOCKS5:%0a +host:1615204099=198.251.81.119 +author:1615201962=jrmu +diff:1615201962:1615104703:=54,57d53%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ nc -X 5 -x 192.168.0.1 3300 irc.example.com 6667%0a +host:1615201962=198.251.81.119 +author:1615104703=jrmu +diff:1615104703:1615103392:=36,37c36,37%0a%3c CONNECT irc.example.net:6667 HTTP/1.1%0a%3c %0a---%0a> CONNECT irc.ircnow.org:6667 HTTP/1.1%0a> %0a44,45c44,45%0a%3c :irc.example.net 001 newnick :Welcome to the Internet Relay Network newnick!~newuser@2001:db8::%0a%3c :irc.example.net 002 newnick :Your host is irc.example.net, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.8)%0a---%0a> :irc.ircnow.org 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@2600:3c00::f03c:92ff:fed8:a7cf%0a> :irc.ircnow.org 002 nick5 :Your host is irc.ircnow.org, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.8)%0a47,49c47,50%0a%3c :irc.example.net 396 nick5 2001:db8:: :is your displayed hostname now %0a%3c :newnick!~newuser@2001:db8:: MODE newnick :+iC%0a%3c :MyHopm!~MyHopm@localhost NOTICE newnick :To prevent spam and abuse, we scan users for open proxies.%0a---%0a> :irc.ircnow.org 396 nick5 2600:3c00::f03c:92ff:fed8:a7cf :is your displayed hostname now :nick5!~user5@2600:3c00::f03c:92ff:fed8:a7cf MODE nick5 :+iC%0a> :NickServ!services@services.irc.ircnow.org NOTICE nick5 :Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email%0a> :MyHopm!~jrmu-hopm@localhost NOTICE newnick :To prevent spam and abuse, we scan users fo%0a> r open proxies.%0a52c53,54%0a%3c visit https://dronebl.org/lookup_branded?ip=2001:db8::&network=Network"%0a---%0a> visit https://dronebl.org/lookup_branded?ip=2600:3c00::f03c:92ff:fed8:a7cf&network=Netw%0a> ork"%0a +host:1615104703=198.251.81.119 +author:1615103392=jrmu +diff:1615103392:1615102906:=49,55d48%0a%3c :MyHopm!~jrmu-hopm@localhost NOTICE newnick :To prevent spam and abuse, we scan users fo%0a%3c r open proxies.%0a%3c :irc.example.net NOTICE newnick :Connection statistics: client 0.0 kb, server 1.4 kb.%0a%3c ERROR :K-Line by "MyHopm": "You have a host listed in the DroneBL. For more information,%0a%3c visit https://dronebl.org/lookup_branded?ip=2600:3c00::f03c:92ff:fed8:a7cf&network=Netw%0a%3c ork"%0a%3c Connection closed by foreign host.%0a +host:1615103392=198.251.81.119 +author:1615102906=jrmu +diff:1615102906:1615102448:=12,14c12,14%0a%3c CONNECT www.example.com:80 HTTP/1.0 %0a%3c %0a%3c %0a---%0a> CONNECT www.google.com:80 HTTP/1.0 %0a> %0a> %0a17c17%0a%3c Host: example.com %0a---%0a> Host: google.com %0a29,48c29,48%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ telnet %3cip address> %3cport>%0a%3c Trying 192.168.0.1...%0a%3c Connected to 192.168.0.1.%0a%3c Escape character is '^]'.%0a%3c CONNECT irc.ircnow.org:6667 HTTP/1.1%0a%3c %0a%3c HTTP/1.1 200 Connection established%0a%3c %0a%3c nick newnick%0a%3c PING :1786317200%0a%3c user newuser * * :newname%0a%3c PONG :1786317200%0a%3c :irc.ircnow.org 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@2600:3c00::f03c:92ff:fed8:a7cf%0a%3c :irc.ircnow.org 002 nick5 :Your host is irc.ircnow.org, running version ngircd-25~10-ge954b59d (x86_64/unknown/openbsd6.8)%0a%3c ...%0a%3c :irc.ircnow.org 396 nick5 2600:3c00::f03c:92ff:fed8:a7cf :is your displayed hostname now :nick5!~user5@2600:3c00::f03c:92ff:fed8:a7cf MODE nick5 :+iC%0a%3c :NickServ!services@services.irc.ircnow.org NOTICE nick5 :Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email%0a---%0a> %3ctitle>Error 405 (Method Not Allowed)!!1%3c/title> %0a> %3cstyle> %0a> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;%0a> color:#222;padding:15px}body{margin:7%25 auto 0;max-width:390px;min-height:180px;padding:3%0a> 0px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100%25 5px no%0a> -repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-dec%0a> oration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;mar%0a> gin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/b%0a> randing/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media o%0a> nly screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/bran%0a> ding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0%25 0%25/100%25 100%25;-moz-border-%0a> image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) %0a> 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.%0a> google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webki%0a> t-background-size:100%25 100%25}}#logo{display:inline-block;height:54px;width:150px} %0a> %3c/style> %0a> %3ca href=//www.google.com/>%3cspan id=logo aria-label=Google>%3c/span>%3c/a>%0a> %3cp>%3cb>405.%3c/b> %3cins>That’s an error.%3c/ins>%0a> %3cp>The request method %3ccode>Get%3c/code> is inappropriate for the URL %3ccode>/index.html%3c%0a> /code>. %3cins>That’s all we know.%3c/ins> %0a +host:1615102906=198.251.81.119 +author:1615102448=jrmu +diff:1615102448:1615099993:=5,49c5%0a%3c [[https://us-proxy.org/]]%0a%3c %0a%3c [@%0a%3c $ telnet %3cip address> %3cport>%0a%3c Trying 192.168.0.1...%0a%3c Connected to 192.168.0.1.%0a%3c Escape character is '^]'.%0a%3c CONNECT www.google.com:80 HTTP/1.0 %0a%3c %0a%3c %0a%3c HTTP/1.1 200 Connection established %0a%3c GET /index.html HTTP/1.1 %0a%3c Host: google.com %0a%3c %0a%3c HTTP/1.1 405 Method Not Allowed %0a%3c Content-Type: text/html; charset=UTF-8%0a%3c Referrer-Policy: no-referrer %0a%3c Content-Length: 1598 %0a%3c Date: Sun, 07 Mar 2021 07:32:10 GMT %0a%3c %0a%3c %3c!DOCTYPE html>%0a%3c %3chtml lang=en>%0a%3c %3cmeta charset=utf-8> %0a%3c %3cmeta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">%0a%3c %3ctitle>Error 405 (Method Not Allowed)!!1%3c/title> %0a%3c %3cstyle> %0a%3c *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;%0a%3c color:#222;padding:15px}body{margin:7%25 auto 0;max-width:390px;min-height:180px;padding:3%0a%3c 0px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100%25 5px no%0a%3c -repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-dec%0a%3c oration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;mar%0a%3c gin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/b%0a%3c randing/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media o%0a%3c nly screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/bran%0a%3c ding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0%25 0%25/100%25 100%25;-moz-border-%0a%3c image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) %0a%3c 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.%0a%3c google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webki%0a%3c t-background-size:100%25 100%25}}#logo{display:inline-block;height:54px;width:150px} %0a%3c %3c/style> %0a%3c %3ca href=//www.google.com/>%3cspan id=logo aria-label=Google>%3c/span>%3c/a>%0a%3c %3cp>%3cb>405.%3c/b> %3cins>That’s an error.%3c/ins>%0a%3c %3cp>The request method %3ccode>Get%3c/code> is inappropriate for the URL %3ccode>/index.html%3c%0a%3c /code>. %3cins>That’s all we know.%3c/ins> %0a%3c @]%0a\ No newline at end of file%0a---%0a> [[https://us-proxy.org/]]%0a\ No newline at end of file%0a +host:1615102448=198.251.81.119 +author:1615099993=jrmu +diff:1615099993:1615099993:=1,5d0%0a%3c (:title Test Hopm:)%0a%3c %0a%3c We can test hopm by testing from a list of known open proxies.%0a%3c %0a%3c [[https://us-proxy.org/]]%0a\ No newline at end of file%0a +host:1615099993=198.251.81.119 blob - /dev/null blob + b3b23d556bf123a71d03490c15e494a184093250 (mode 644) --- /dev/null +++ wiki.d/Host.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627399082 +host=38.87.162.8 +name=Host.RecentChanges +rev=3 +text=* [[Host/Usage]] . . . July 28, 2021, at 01:57 AM by [[~jrmu]]: [==]%0a +time=1627437446 blob - /dev/null blob + cf56272bca6061c9466b1b2ba4cb16b9e8e8b92e (mode 644) --- /dev/null +++ wiki.d/Host.Usage @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627399082 +host=38.87.162.8 +name=Host.Usage +rev=3 +targets=Dns.Overview,DNS.SPF,Unbound.Configure +text=(:title Using host:)%0a%0a!! Overview%0a%0a[[https://man.openbsd.org/host|host]] is a useful utility for performing [[dns/overview|DNS]] lookup.%0a%0a!! Examples%0a%0a!!! DNS Lookup%0a%0aSuppose you want to find the IP address of example.com:%0a%0a[@%0a$ host example.com%0aexample.com has address 192.168.1.1%0aexample.com has IPv6 address 2001:db8::%0aexample.com mail is handled by 10 example.com.%0a@]%0a%0aNot only will it provide the IPv4 address, it also gives you the IPv6 address and mail servers for a domain.%0a%0a!!! Reverse DNS (rDNS) Lookup%0a%0aIf you know the IPv4/IPv6 address but don't know the domain name associated with it, you can perform rDNS lookup:%0a%0a[@%0a$ host 192.168.1.1%0a1.1.168.192.in-addr.arpa domain name pointer example.com.%0a@]%0a%0aNotice that when you perform reverse DNS lookup, the four numbers get reversed in the in-addr.arpa domain -- the last number shows up first, and the first number shows up last. This happens because in an IP address, the least significant number is last; whereas in DNS, the least significant domain shows up first.%0a%0a[@%0a$ host 2001:db8::%0a0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa domain name pointer ircnow.org.%0a@]%0a%0aThe same happens for IPv6; the last digit shows up first, and the first digit shows up last.%0a%0a!! Query types%0a%0ahost can show a specific query type with the @@-t@@ option. Query types include NS, MX, and TXT.%0a%0aFor example, to show all the nameservers of example.com, type:%0a%0a[@%0a$ host -t ns example.com%0aexample.com name server ns1.example.com.%0aexample.com name server ns2.example.com.%0a@]%0a%0aTo show the mail servers, type:%0a%0a[@%0a$ host -t mx example.com%0aexample.com mail is handled by 10 mail.example.com.%0a@]%0a%0aTo show the TXT records, type:%0a%0a[@%0a$ host -t txt example.com%0aexample.com descriptive text "v=spf1 a mx ip4:192.168.1.1 -all"%0a@]%0a%0aHere, we see the TXT record is used to provide [[DNS/SPF|SPF]] information for mail servers.%0a%0a!! Troubleshooting%0a%0aUsing host, you can test if your DNS records have been set properly. If you just added a DNS record, use host on that name to see if it resolves properly.%0a%0aIf your records have changed, make sure to flush your old DNS cache before running host. By default, host uses the nameservers you put in [[https://man.openbsd.org/resolv.conf|/etc/resolv.conf]]. For example:%0a%0a[@%0anameserver 8.8.8.8%0alookup file bind%0a@]%0a%0aresolv.conf tells your server to ask 8.8.8.8 (Google) for domain name lookup.%0a%0aIt's recommended to run your own local caching DNS server with [[unbound/configure|unbound]] instead of using Google or the nameserver provided by your ISP. By running a local caching DNS server, you have more freedom to pick nameservers, which can help prevent censorship and privacy issues.%0a%0aIf you decide to use unbound, you will want to resolv.conf to point to localhost:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0aThen, if you have updated your DNS records, you can simply restart the nameserver to flush the cache of DNS records:%0a%0a[@%0a$ doas rcctl restart unbound%0a@]%0a%0aThen, run host again.%0a +time=1627437446 +title=Using host +author:1627437446=jrmu +diff:1627437446:1627400690:=39,66d38%0a%3c %0a%3c !! Query types%0a%3c %0a%3c host can show a specific query type with the @@-t@@ option. Query types include NS, MX, and TXT.%0a%3c %0a%3c For example, to show all the nameservers of example.com, type:%0a%3c %0a%3c [@%0a%3c $ host -t ns example.com%0a%3c example.com name server ns1.example.com.%0a%3c example.com name server ns2.example.com.%0a%3c @]%0a%3c %0a%3c To show the mail servers, type:%0a%3c %0a%3c [@%0a%3c $ host -t mx example.com%0a%3c example.com mail is handled by 10 mail.example.com.%0a%3c @]%0a%3c %0a%3c To show the TXT records, type:%0a%3c %0a%3c [@%0a%3c $ host -t txt example.com%0a%3c example.com descriptive text "v=spf1 a mx ip4:192.168.1.1 -all"%0a%3c @]%0a%3c %0a%3c Here, we see the TXT record is used to provide [[DNS/SPF|SPF]] information for mail servers.%0a +host:1627437446=38.87.162.8 +author:1627400690=jrmu +diff:1627400690:1627399082:=5,68c5%0a%3c [[https://man.openbsd.org/host|host]] is a useful utility for performing [[dns/overview|DNS]] lookup.%0a%3c %0a%3c !! Examples%0a%3c %0a%3c !!! DNS Lookup%0a%3c %0a%3c Suppose you want to find the IP address of example.com:%0a%3c %0a%3c [@%0a%3c $ host example.com%0a%3c example.com has address 192.168.1.1%0a%3c example.com has IPv6 address 2001:db8::%0a%3c example.com mail is handled by 10 example.com.%0a%3c @]%0a%3c %0a%3c Not only will it provide the IPv4 address, it also gives you the IPv6 address and mail servers for a domain.%0a%3c %0a%3c !!! Reverse DNS (rDNS) Lookup%0a%3c %0a%3c If you know the IPv4/IPv6 address but don't know the domain name associated with it, you can perform rDNS lookup:%0a%3c %0a%3c [@%0a%3c $ host 192.168.1.1%0a%3c 1.1.168.192.in-addr.arpa domain name pointer example.com.%0a%3c @]%0a%3c %0a%3c Notice that when you perform reverse DNS lookup, the four numbers get reversed in the in-addr.arpa domain -- the last number shows up first, and the first number shows up last. This happens because in an IP address, the least significant number is last; whereas in DNS, the least significant domain shows up first.%0a%3c %0a%3c [@%0a%3c $ host 2001:db8::%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa domain name pointer ircnow.org.%0a%3c @]%0a%3c %0a%3c The same happens for IPv6; the last digit shows up first, and the first digit shows up last.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Using host, you can test if your DNS records have been set properly. If you just added a DNS record, use host on that name to see if it resolves properly.%0a%3c %0a%3c If your records have changed, make sure to flush your old DNS cache before running host. By default, host uses the nameservers you put in [[https://man.openbsd.org/resolv.conf|/etc/resolv.conf]]. For example:%0a%3c %0a%3c [@%0a%3c nameserver 8.8.8.8%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c resolv.conf tells your server to ask 8.8.8.8 (Google) for domain name lookup.%0a%3c %0a%3c It's recommended to run your own local caching DNS server with [[unbound/configure|unbound]] instead of using Google or the nameserver provided by your ISP. By running a local caching DNS server, you have more freedom to pick nameservers, which can help prevent censorship and privacy issues.%0a%3c %0a%3c If you decide to use unbound, you will want to resolv.conf to point to localhost:%0a%3c %0a%3c [@%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c Then, if you have updated your DNS records, you can simply restart the nameserver to flush the cache of DNS records:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart unbound%0a%3c @]%0a%3c %0a%3c Then, run host again.%0a---%0a> host is a useful utility for performing [[dns/overview|DNS]] lookup.%0a +host:1627400690=38.87.162.8 +author:1627399082=jrmu +diff:1627399082:1627399082:=1,5d0%0a%3c (:title Using host:)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c host is a useful utility for performing [[dns/overview|DNS]] lookup.%0a +host:1627399082=38.87.162.8 blob - /dev/null blob + 1608dd929a1622ea173c2f5fee79967343797cf4 (mode 644) --- /dev/null +++ wiki.d/HostServ.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +charset=UTF-8 +ctime=1622534506 +host=125.231.17.115 +name=HostServ.RecentChanges +rev=4 +text=* [[HostServ/Rules]] . . . June 01, 2021, at 08:11 AM by [[~jrmu]]: [==]%0a +time=1622535074 blob - /dev/null blob + 4926c715e797af67715f0a67ac1f9147bf9511bf (mode 644) --- /dev/null +++ wiki.d/HostServ.Rules @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1622534506 +host=125.231.17.115 +name=HostServ.Rules +rev=4 +targets= +text=Rules for HostServ:%0a%0a# Do not request vhosts for any existing top level domain (like com, net, org). For example, don't request freenode.net.%0a# Don't mention anything pornographic or involving illegal drugs in the vhost.%0a# Don't have anything related to slander, libel, or gambling in the vhost%0a# Don't have anything related to spam, illegal cracking, DDoS, or copyright infringement in the vhost%0a%0aAny vhost that does not follow the rules above can be rejected and revoked at any%0atime.%0a%0aTo speak with opers for the hostmask, join #help%0a +time=1622535074 +author:1622535074=jrmu +diff:1622535074:1622534957:=6c6,7%0a%3c # Don't have anything related to spam, illegal cracking, DDoS, or copyright infringement in the vhost%0a---%0a> # Don't have anything related to spam, illegal cracking, DDoS, or copyright%0a> infringement in the vhost%0a +host:1622535074=125.231.17.115 +author:1622534957=jrmu +diff:1622534957:1622534548:=11,12d10%0a%3c %0a%3c To speak with opers for the hostmask, join #help%0a +host:1622534957=125.231.17.115 +author:1622534548=jrmu +diff:1622534548:1622534506:=3,6c3,6%0a%3c # Do not request vhosts for any existing top level domain (like com, net, org). For example, don't request freenode.net.%0a%3c # Don't mention anything pornographic or involving illegal drugs in the vhost.%0a%3c # Don't have anything related to slander, libel, or gambling in the vhost%0a%3c # Don't have anything related to spam, illegal cracking, DDoS, or copyright%0a---%0a> 1. Do not request vhosts for any existing top level domain (like com, net, org). For example, don't request freenode.net.%0a> 2. Don't mention anything pornographic or involving illegal drugs in the vhost.%0a> 3. Don't have anything related to slander, libel, or gambling in the vhost%0a> 4. Don't have anything related to spam, illegal cracking, DDoS, or copyright%0a +host:1622534548=125.231.17.115 +author:1622534506=jrmu +diff:1622534506:1622534506:=1,10d0%0a%3c Rules for HostServ:%0a%3c %0a%3c 1. Do not request vhosts for any existing top level domain (like com, net, org). For example, don't request freenode.net.%0a%3c 2. Don't mention anything pornographic or involving illegal drugs in the vhost.%0a%3c 3. Don't have anything related to slander, libel, or gambling in the vhost%0a%3c 4. Don't have anything related to spam, illegal cracking, DDoS, or copyright%0a%3c infringement in the vhost%0a%3c %0a%3c Any vhost that does not follow the rules above can be rejected and revoked at any%0a%3c time.%0a +host:1622534506=125.231.17.115 blob - /dev/null blob + d5b4df99461f19ce35b18f6c484c00e0e207256d (mode 644) --- /dev/null +++ wiki.d/Hosting.Hosting @@ -0,0 +1,50 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614500043 +host=38.87.162.8 +name=Hosting.Hosting +rev=12 +targets=Rsync.Usage,Openrsync.Usage,Hosting.Ssh,Fireftp.Connect,ChromesFTP.Connect,WinSCP.Connect,CoreFTP.Connect,FreeFTP.Connect,Gftp.Connect,CyberDuck.Connect,ClassicFTP.Connect,AndFTP.Connect,FileZilla.Connect,PSFTP.Connect,Fetch.Connect +text=(:title Log Cabin Hosting:)%0a%0a%25rfloat%25 Attach:Marketing/abecabin.jpg%0a%0aA man's $HOME is his castle%0a%0a* host up to 2GB of data, upload via sftp%0a* free of charge, with free software%0a* real time support from IRCNow over live chat%0a%0aTo get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a%0a%0aCreate your own free website with no ads. We support PHP8.%0a%0aIRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%0a%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[rsync/usage|rsync]] || || || || || || || ||%0a|| [[openrsync/usage|openrsync]] || || || || || || || ||%0a|| [[ssh|sshfs]] || || || || || || || ||%0a|| [[fireftp/connect|fireftp]] || || || || || || || ||%0a|| [[ChromesFTP/connect|Chrome sFTP]] || || || || || || || ||%0a|| [[WinSCP/connect|WinSCP]] || || || || || || || ||%0a|| [[CoreFTP/connect|CoreFTP]] || || || || || || || ||%0a|| [[FreeFTP/connect|FreeFTP]] || || || || || || || ||%0a|| [[gftp/connect|gftp]] || || || || || || || ||%0a|| [[CyberDuck/connect|CyberDuck]] || || || || || || || ||%0a|| [[ClassicFTP/connect|ClassicFTP]] || || || || || || || ||%0a|| [[AndFTP/connect|AndFTP]] || || || || || || || ||%0a|| [[FileZilla/connect|FileZilla]] || || || || || || || ||%0a|| [[PSFTP/connect|PuTTY PSFTP]] || || || || || || || ||%0a|| CRAX Commander || || || || || || || ||%0a|| ExpanDrive || || || || || || || ||%0a|| [[Fetch/connect|Fetch]] || || || || || || || ||%0a|| ForkLift || || || || || || || ||%0a|| Fugu (software) || || || || || || || ||%0a|| Interarchy || || || || || || || ||%0a|| Lftp || || || || || || || ||%0a|| PuTTY || || || || || || || ||%0a|| Rclone || || || || || || || ||%0a|| Transmit || || || || || || || ||%0a|| UploadFTP || || || || || || || ||%0a|| WebDrive || || || || || || || ||%0a|| WinSCP || || || || || || || ||%0a|| SCP || || || || || || || ||%0a|| Acrosync || || || || || || || ||%0a +time=1638367278 +title=Log Cabin Hosting +author:1638367278=jrmu +diff:1638367278:1638367242:=22,23c22,23%0a%3c || [[rsync/usage|rsync]] || || || || || || || ||%0a%3c || [[openrsync/usage|openrsync]] || || || || || || || ||%0a---%0a> || [[rsync|usage]] || || || || || || || ||%0a> || [[openrsync|usage]] || || || || || || || ||%0a +host:1638367278=38.87.162.8 +author:1638367242=jrmu +diff:1638367242:1638367157:= +host:1638367242=38.87.162.8 +author:1638367157=jrmu +diff:1638367157:1638139663:=22,23c22%0a%3c || [[rsync|usage]] || || || || || || || ||%0a%3c || [[openrsync|usage]] || || || || || || || ||%0a---%0a> || [[rsync|rsync]] || || || || || || || ||%0a50c49%0a%3c || Acrosync || || || || || || || ||%0a---%0a> || Acrosync || || || || || || || ||%0a\ No newline at end of file%0a +host:1638367157=38.87.162.8 +author:1638139663=mkf +diff:1638139663:1638139649:= +host:1638139663=188.210.114.32 +author:1638139649=mkf +diff:1638139649:1638139570:=19c19%0a%3c %0a---%0a> SFTP%0a35,48c35,49%0a%3c || CRAX Commander || || || || || || || ||%0a%3c || ExpanDrive || || || || || || || ||%0a%3c || [[Fetch/connect|Fetch]] || || || || || || || ||%0a%3c || ForkLift || || || || || || || ||%0a%3c || Fugu (software) || || || || || || || ||%0a%3c || Interarchy || || || || || || || ||%0a%3c || Lftp || || || || || || || ||%0a%3c || PuTTY || || || || || || || ||%0a%3c || Rclone || || || || || || || ||%0a%3c || Transmit || || || || || || || ||%0a%3c || UploadFTP || || || || || || || ||%0a%3c || WebDrive || || || || || || || ||%0a%3c || WinSCP || || || || || || || ||%0a%3c || SCP || || || || || || || ||%0a---%0a> || CRAX Commander || || || || || || || ||%0a> || ExpanDrive || || || || || || || ||%0a> || [[[Fetch/connect|Fetch]] || || || || || || || ||%0a> || ForkLift || || || || || || || ||%0a> || Fugu (software) || || || || || || || ||%0a> || Interarchy || || || || || || || ||%0a> || Lftp || || || || || || || ||%0a> || PuTTY || || || || || || || ||%0a> || Rclone || || || || || || || ||%0a> || Transmit (file transfer tool) || || || || || || || ||%0a> || UploadFTP || || || || || || || ||%0a> || WebDrive || || || || || || || ||%0a> || WinSCP || || || || || || || ||%0a> || SCP || || || || || || || ||%0a> || RSync || || || || || || || ||%0a +host:1638139649=188.210.114.32 +author:1638139570=mkf +csum:1638139570=heh +diff:1638139570:1638139509:=14c14%0a%3c Create your own free website with no ads. We support PHP8.%0a---%0a> Create your own free website with no ads. We support PHP7.%0a +host:1638139570=188.210.114.32 +author:1638139509=mkf +diff:1638139509:1628677456:=33a34%0a> %0a34a36%0a> || Coda (web development software) || || || || || || || ||%0a49a52%0a> %0a +host:1638139509=188.210.114.32 +author:1628677456=mkf +diff:1628677456:1628677297:=22,53c22,55%0a%3c || [[rsync|rsync]] || || || || || || || ||%0a%3c || [[ssh|sshfs]] || || || || || || || ||%0a%3c || [[fireftp/connect|fireftp]] || || || || || || || ||%0a%3c || [[ChromesFTP/connect|Chrome sFTP]] || || || || || || || ||%0a%3c || [[WinSCP/connect|WinSCP]] || || || || || || || ||%0a%3c || [[CoreFTP/connect|CoreFTP]] || || || || || || || ||%0a%3c || [[FreeFTP/connect|FreeFTP]] || || || || || || || ||%0a%3c || [[gftp/connect|gftp]] || || || || || || || ||%0a%3c || [[CyberDuck/connect|CyberDuck]] || || || || || || || ||%0a%3c || [[ClassicFTP/connect|ClassicFTP]] || || || || || || || ||%0a%3c || [[AndFTP/connect|AndFTP]] || || || || || || || ||%0a%3c || [[FileZilla/connect|FileZilla]] || || || || || || || ||%0a%3c %0a%3c || [[PSFTP/connect|PuTTY PSFTP]] || || || || || || || ||%0a%3c || Coda (web development software) || || || || || || || ||%0a%3c || CRAX Commander || || || || || || || ||%0a%3c || ExpanDrive || || || || || || || ||%0a%3c || [[[Fetch/connect|Fetch]] || || || || || || || ||%0a%3c || ForkLift || || || || || || || ||%0a%3c || Fugu (software) || || || || || || || ||%0a%3c || Interarchy || || || || || || || ||%0a%3c || Lftp || || || || || || || ||%0a%3c || PuTTY || || || || || || || ||%0a%3c || Rclone || || || || || || || ||%0a%3c || Transmit (file transfer tool) || || || || || || || ||%0a%3c || UploadFTP || || || || || || || ||%0a%3c || WebDrive || || || || || || || ||%0a%3c || WinSCP || || || || || || || ||%0a%3c || SCP || || || || || || || ||%0a%3c || RSync || || || || || || || ||%0a%3c %0a%3c || Acrosync || || || || || || || ||%0a\ No newline at end of file%0a---%0a> || [[rsync|rsync]] ||%0a> || [[ssh|sshfs]] ||%0a> || [[fireftp/connect|fireftp]] ||%0a> || [[ChromesFTP/connect|Chrome sFTP]] ||%0a> || [[WinSCP/connect|WinSCP]] ||%0a> || [[CoreFTP/connect|CoreFTP]] ||%0a> || [[FreeFTP/connect|FreeFTP]] ||%0a> || [[gftp/connect|gftp]] ||%0a> || [[CyberDuck/connect|CyberDuck]] ||%0a> || [[ClassicFTP/connect|ClassicFTP]] ||%0a> || [[AndFTP/connect|AndFTP]] ||%0a> || [[FileZilla/connect|FileZilla]] ||%0a> %0a> || [[PSFTP/connect|PuTTY PSFTP]] ||%0a> || Coda (web development software) ||%0a> || CRAX Commander ||%0a> || ExpanDrive ||%0a> || [[[Fetch/connect|Fetch]] ||%0a> || ForkLift ||%0a> || Fugu (software) ||%0a> || Interarchy ||%0a> || Lftp ||%0a> || PuTTY ||%0a> || Rclone ||%0a> || Transmit (file transfer tool) ||%0a> || UploadFTP ||%0a> || WebDrive ||%0a> || WinSCP ||%0a> %0a> SCP%0a> %0a> RSync%0a> %0a> Acrosync%0a\ No newline at end of file%0a +host:1628677456=198.251.81.133 +author:1628677297=mkf +diff:1628677297:1628677053:=5,6c5,6%0a%3c A man's $HOME is his castle%0a%3c %0a---%0a> A man's /home is his castle%0a> %0a21d20%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a +host:1628677297=198.251.81.133 +author:1628677053=mkf +diff:1628677053:1628532246:=18c18,21%0a%3c %0a---%0a> You get sftp access to upload any files, and we support PHP.%0a> %0a> %0a> %0a20,22c23,25%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || [[rsync|rsync]] ||%0a%3c || [[ssh|sshfs]] ||%0a---%0a> %0a> * [[rsync|rsync]]%0a> * [[ssh|sshfs]]%0a35,37c38,40%0a%3c || Coda (web development software) ||%0a%3c || CRAX Commander ||%0a%3c || ExpanDrive ||%0a---%0a> Coda (web development software)%0a> CRAX Commander%0a> ExpanDrive%0a39,48c42,51%0a%3c || ForkLift ||%0a%3c || Fugu (software) ||%0a%3c || Interarchy ||%0a%3c || Lftp ||%0a%3c || PuTTY ||%0a%3c || Rclone ||%0a%3c || Transmit (file transfer tool) ||%0a%3c || UploadFTP ||%0a%3c || WebDrive ||%0a%3c || WinSCP ||%0a---%0a> ForkLift (file manager)%0a> Fugu (software)%0a> Interarchy%0a> Lftp%0a> PuTTY%0a> Rclone%0a> Transmit (file transfer tool)%0a> UploadFTP%0a> WebDrive%0a> WinSCP%0a +host:1628677053=198.251.81.133 +author:1628532246=jrmu +diff:1628532246:1614500043:=26,36c26,36%0a%3c || [[fireftp/connect|fireftp]] ||%0a%3c || [[ChromesFTP/connect|Chrome sFTP]] ||%0a%3c || [[WinSCP/connect|WinSCP]] ||%0a%3c || [[CoreFTP/connect|CoreFTP]] ||%0a%3c || [[FreeFTP/connect|FreeFTP]] ||%0a%3c || [[gftp/connect|gftp]] ||%0a%3c || [[CyberDuck/connect|CyberDuck]] ||%0a%3c || [[ClassicFTP/connect|ClassicFTP]] ||%0a%3c || [[AndFTP/connect|AndFTP]] ||%0a%3c || [[FileZilla/connect|FileZilla]] ||%0a%3c %0a---%0a> || [[fireftp/connect|fireftp]]%0a> || [[ChromesFTP/connect|Chrome sFTP]]%0a> || [[WinSCP/connect|WinSCP]]%0a> || [[CoreFTP/connect|CoreFTP]]%0a> || [[FreeFTP/connect|FreeFTP]]%0a> || [[gftp/connect|gftp]]%0a> || [[CyberDuck/connect|CyberDuck]]%0a> || [[ClassicFTP/connect|ClassicFTP]]%0a> || [[AndFTP/connect|AndFTP]]%0a> || [[FileZilla/connect|FileZilla]]%0a> %0a41c41%0a%3c || [[[Fetch/connect|Fetch]] ||%0a---%0a> || [[[Fetch/connect|Fetch]]\%0a +host:1628532246=125.224.19.156 +author:1614500043=jrmu +diff:1614500043:1614500043:=1,57d0%0a%3c (:title Log Cabin Hosting:)%0a%3c %0a%3c %25rfloat%25 Attach:Marketing/abecabin.jpg%0a%3c %0a%3c A man's /home is his castle%0a%3c %0a%3c * host up to 2GB of data, upload via sftp%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c To get started with code hosting, connect to [[ircs://irc.ircnow.org/]] and /join #ircnow. Then, request file hosting and we will create your account and help you with the setup.%0a%3c %0a%3c %0a%3c Create your own free website with no ads. We support PHP7.%0a%3c %0a%3c IRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%3c %0a%3c You get sftp access to upload any files, and we support PHP.%0a%3c %0a%3c %0a%3c %0a%3c SFTP%0a%3c %0a%3c * [[rsync|rsync]]%0a%3c * [[ssh|sshfs]]%0a%3c || [[fireftp/connect|fireftp]]%0a%3c || [[ChromesFTP/connect|Chrome sFTP]]%0a%3c || [[WinSCP/connect|WinSCP]]%0a%3c || [[CoreFTP/connect|CoreFTP]]%0a%3c || [[FreeFTP/connect|FreeFTP]]%0a%3c || [[gftp/connect|gftp]]%0a%3c || [[CyberDuck/connect|CyberDuck]]%0a%3c || [[ClassicFTP/connect|ClassicFTP]]%0a%3c || [[AndFTP/connect|AndFTP]]%0a%3c || [[FileZilla/connect|FileZilla]]%0a%3c %0a%3c || [[PSFTP/connect|PuTTY PSFTP]] ||%0a%3c Coda (web development software)%0a%3c CRAX Commander%0a%3c ExpanDrive%0a%3c || [[[Fetch/connect|Fetch]]\%0a%3c ForkLift (file manager)%0a%3c Fugu (software)%0a%3c Interarchy%0a%3c Lftp%0a%3c PuTTY%0a%3c Rclone%0a%3c Transmit (file transfer tool)%0a%3c UploadFTP%0a%3c WebDrive%0a%3c WinSCP%0a%3c %0a%3c SCP%0a%3c %0a%3c RSync%0a%3c %0a%3c Acrosync%0a\ No newline at end of file%0a +host:1614500043=198.251.81.119 blob - /dev/null blob + 06255c53d8a988158f6a0017d15444989de84d05 (mode 644) --- /dev/null +++ wiki.d/Hosting.Providers @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612414043 +host=125.231.24.85 +name=Hosting.Providers +rev=4 +targets=Blazingfast.Io,Colohouse.Com,Glowhost.Com,Hosting.Flokinet,Hostdime.Com,Ideastack.Com,Hyperfilter.Com,Hosting.Contabo,Ariseserver.Com,Bigrock.Com,B4uindia.Com,Royalclouds.Net,Go4hosting.In,Leapswitch.Com,Crazyhosting.Com,Onliveserver.Com,Rdsindia.Com,Cyfuture.Com,Serverbasket.Com,Hostingraja.In,Resellerclub.Com,Everdata.Com,Ricohidc.Com,Milesweb.Com,Nowindiaonline.In,Cloudoye.Com,Softsyshosting.Com,Webji.In,Hostkarle.Com,Serverscart.Com,Vnetindia.Com,Superbytehosting.Com,Sytes.In +text=(:title Searching for Hosting Providers:)%0a%0a!! Guidelines for Selecting Providers%0a%0aCheck the Acceptable Use Policy:%0a%0a# Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship.%0a# In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a# What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a# Does it allow IRC?%0a# Does it allow email?%0a# Does it allow tor?%0a# Does it allow game servers?%0a# Does it allow VPNs?%0a# Does it allow running DNS servers?%0a# Does it allow torrents and filesharing?%0a%0aOther Important Criteria:%0a%0a# Does it support OpenBSD or other alternative operating systems?%0a# Does it provide DDoS filtering? IPv6? rDNS delegation? What size of an IPv6 subnet do we get?%0a# Do they offer colocation, or dedicated servers? We no longer want VPSes, they are too unstable.%0a# Where are the data centers located?%0a# How long has this provider been operating?%0a# Do they have a good reputation? Is there a strong user community?%0a# How do they provide customer support? IRC is best, second would be email. Discord and Telegram are not ideal. Support tickets can be very slow.%0a# What payment options do they accept? Paypal is not reliable. Credit cards are acceptable but cryptcoins would be best.%0a%0aSend an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another provider. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have our money.%0a%0aWe especially need providers in Asia (Hong Kong, Singapore), Australia, Africa, and South America.%0a%0a!! Currently Using%0a%0a# [[https://buyvm.net]] -- Las Vegas, New York City, Luxembourg%0a# [[https://aliendata.com]] -- Texas%0a%0a!! Recommended%0a%0aUSA%0a%0a# [[https://endoffice.com/|EndOffice]] -- Supports free speech, (DDoS filtering?)%0a# [[https://ColocationAmerica.com|Colocation America]] -- includes DDoS filtering%0a# [[https://us.leaseweb.com]] -- fast reply, allows anything legal%0a%0aEurope%0a%0a%0a%0aHong Kong%0a%0a# simcentric.com -- fast customer support, 3 day trial%0a# hosthongkong.net -- allows anything legal%0a# serverrun.com -- replied no colo%0a# sunnyvision.com -- allows anything legal%0a# serverhk.org -- allows anything legal%0a# hkcolocation.net -- allows anything legal%0a%0a%0a!! Untested%0a%0aUSA%0a%0a# [[https://www.budgetvm.com/|BudgetVM]]%0a# [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a# [[blazingfast.io]]%0a# [[colohouse.com]] -- replied%0a# [[glowhost.com]]%0a# [[http://ddoshostingsolutions.com/]]%0a# [[https://www.hostclean.net/]]%0a# [[https://www.datapacket.com]] -- very expensive%0a# [[https://www.quadranet.com/]]%0a# [[https://spartanhost.org/dedicated]] -- uses psychz%0a# [[https://www.prometeus.net/]]%0a# [[https://www.ddos-guard.net]] -- ddos filtering%0a%0aEurope%0a%0a# [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a# [[flokinet]]%0a%0aHong Kong%0a%0a# [[hostdime.com|Host Dime]] -- unreasonable price, allows anything legal%0a%0a!! Potential%0a%0a# [[https://lowendbox.com/|LowEndBox]]%0a# [[https://www.bitcoin-vps.com/|List #1 of Bitcoin VPS providers]]%0a# [[https://uncensoredhosting.com/best-bitcoin-vps/|List #2 of Bitcoin VPS providers]] %0a# [[https://torbitcoinvps.github.io/|List #3 of Bitcoin VPS providers]]%0a%0aDDos Filtering Providers:%0a%0a# [[https://www.x4b.net/|x4b]]%0a%0a!! Don't use%0a%0a# OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|perhaps prohibits IRC?]]%0a# Amazon AWS -- [[https://aws.amazon.com/aup/|AUP]] censors offensive content without really defining what offensive is%0a# Google Cloud -- censors hate speech%0a# Digital Ocean -- censors hate speech%0a# Linode -- censors hate speech%0a# Microsoft Azure -- [[https://qz.com/1352990/microsoft-threatens-to-take-down-gab-ai-over-hate-speech/|censors]] [[https://www.theverge.com/2018/8/9/17671188/microsoft-gab-hate-speech-hosting-ban-deplatform|hate]] [[https://www.washingtonpost.com/technology/2018/08/10/hate-speech-crackdown-spreads-behind-the-scenes-tech/|speech]]%0a# HostSailor -- [[https://hostsailor.com/acceptable-use-policy/|censors hate speech]]%0a# [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS API%0a# [[ideastack.com]]%0a# [[hyperfilter.com|HyperFilter]] -- forbids IRC%0a# [[https://www.psychz.net/|Psychz]] -- DDoS filtering, censors [[https://www.psychz.net/aup.html|hate speech]]%0a# [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering, censors [[https://www.choopa.com/legal/use_policy/|hate speech]]%0a# [[https://hetzner.com|hetzner]] -- bans religious speech, "We would prefer not to host your site. Without judging the content we see a lot of problems hosting this site on a German server as Germany (and most of Europe) is very liberal towards the mentioned topics. The site would generate a lot of complaints."%0a# [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?); but no IRC and slow customer support%0a# [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a# [[contabo]] -- won't support IRC or ddos filtering%0a%0aIndia%0a%0a# Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a# [[ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a# [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a# [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a# [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a# [[go4hosting.in]]%0a# [[leapswitch.com]]%0a# [[crazyhosting.com]]%0a# [[onliveserver.com]]%0a# [[rdsindia.com]]%0a# [[cyfuture.com]]%0a# [[serverbasket.com]]%0a# [[hostingraja.in]]%0a# [[resellerclub.com]]%0a# [[everdata.com]]%0a# [[vps.net.in]]%0a# [[ricohidc.com]]%0a# [[milesweb.com]]%0a# [[nowindiaonline.in]]%0a# [[cloudoye.com]]%0a# [[miditech.co.in]]%0a# [[softsyshosting.com]]%0a# [[nowindiaonline.in]]%0a# [[cloudoye.com]]%0a# [[webji.in]]%0a# [[hostkarle.com]]%0a# [[serverscart.com]]%0a# [[vnetindia.com]]%0a# [[superbytehosting.com]]%0a# [[sytes.in]]%0a# [[royalclouds.net]]%0a# [[nowindiaonline.in]]%0a%0aPakistan%0a%0a# [[host24.com.pk]]%0a%0aHong Kong%0a%0a# quotecolo.com -- replied but didn't answer questions%0a# hkcolo.com -- replied but didn't answer questions%0a +time=1615040649 +title=Searching for Hosting Providers +author:1615040649=jrmu +diff:1615040649:1614945750:=111c111%0a%3c # [[https://hetzner.com|hetzner]] -- bans religious speech, "We would prefer not to host your site. Without judging the content we see a lot of problems hosting this site on a German server as Germany (and most of Europe) is very liberal towards the mentioned topics. The site would generate a lot of complaints."%0a---%0a> # [[https://hetzner.com|hetzner]]%0a +host:1615040649=125.231.24.85 +author:1614945750=jrmu +diff:1614945750:1612696858:=79a80,81%0a> # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a> # [[contabo]]%0a113,114d114%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c # [[contabo]] -- won't support IRC or ddos filtering%0a +host:1614945750=125.231.24.85 +author:1612696858=jrmu +diff:1612696858:1612414043:=75d74%0a%3c # [[https://www.ddos-guard.net]] -- ddos filtering%0a +host:1612696858=198.251.81.119 +author:1612414043=jrmu +diff:1612414043:1612414043:=1,157d0%0a%3c (:title Searching for Hosting Providers:)%0a%3c %0a%3c !! Guidelines for Selecting Providers%0a%3c %0a%3c Check the Acceptable Use Policy:%0a%3c %0a%3c # Does it censor political or religious speech? Specifically, look up if it censors hate speech, extremist ideology, offensive content, discrimination, or racism. How do they define these words? Often this results in political or religious censorship.%0a%3c # In many countries, censorship is required by law. In such a case, sysadmins must censor to follow the law. But, check if the provider requires a legal court order before it censors.%0a%3c # What is their abuse policy? Do they notify us first to give us time to respond, before shutting off our services?%0a%3c # Does it allow IRC?%0a%3c # Does it allow email?%0a%3c # Does it allow tor?%0a%3c # Does it allow game servers?%0a%3c # Does it allow VPNs?%0a%3c # Does it allow running DNS servers?%0a%3c # Does it allow torrents and filesharing?%0a%3c %0a%3c Other Important Criteria:%0a%3c %0a%3c # Does it support OpenBSD or other alternative operating systems?%0a%3c # Does it provide DDoS filtering? IPv6? rDNS delegation? What size of an IPv6 subnet do we get?%0a%3c # Do they offer colocation, or dedicated servers? We no longer want VPSes, they are too unstable.%0a%3c # Where are the data centers located?%0a%3c # How long has this provider been operating?%0a%3c # Do they have a good reputation? Is there a strong user community?%0a%3c # How do they provide customer support? IRC is best, second would be email. Discord and Telegram are not ideal. Support tickets can be very slow.%0a%3c # What payment options do they accept? Paypal is not reliable. Credit cards are acceptable but cryptcoins would be best.%0a%3c %0a%3c Send an email to customer support and ask them a few of these questions. If the customer support is friendly and helpful, you can continue researching. If they ignore your questions or are unhelpful, you should find another provider. If they aren't helpful before the purchase, you can be certain they will be unhelpful afterwards when they already have our money.%0a%3c %0a%3c We especially need providers in Asia (Hong Kong, Singapore), Australia, Africa, and South America.%0a%3c %0a%3c !! Currently Using%0a%3c %0a%3c # [[https://buyvm.net]] -- Las Vegas, New York City, Luxembourg%0a%3c # [[https://aliendata.com]] -- Texas%0a%3c %0a%3c !! Recommended%0a%3c %0a%3c USA%0a%3c %0a%3c # [[https://endoffice.com/|EndOffice]] -- Supports free speech, (DDoS filtering?)%0a%3c # [[https://ColocationAmerica.com|Colocation America]] -- includes DDoS filtering%0a%3c # [[https://us.leaseweb.com]] -- fast reply, allows anything legal%0a%3c %0a%3c Europe%0a%3c %0a%3c %0a%3c %0a%3c Hong Kong%0a%3c %0a%3c # simcentric.com -- fast customer support, 3 day trial%0a%3c # hosthongkong.net -- allows anything legal%0a%3c # serverrun.com -- replied no colo%0a%3c # sunnyvision.com -- allows anything legal%0a%3c # serverhk.org -- allows anything legal%0a%3c # hkcolocation.net -- allows anything legal%0a%3c %0a%3c %0a%3c !! Untested%0a%3c %0a%3c USA%0a%3c %0a%3c # [[https://www.budgetvm.com/|BudgetVM]]%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c # [[blazingfast.io]]%0a%3c # [[colohouse.com]] -- replied%0a%3c # [[glowhost.com]]%0a%3c # [[http://ddoshostingsolutions.com/]]%0a%3c # [[https://www.hostclean.net/]]%0a%3c # [[https://www.datapacket.com]] -- very expensive%0a%3c # [[https://www.quadranet.com/]]%0a%3c # [[https://spartanhost.org/dedicated]] -- uses psychz%0a%3c # [[https://www.prometeus.net/]]%0a%3c %0a%3c Europe%0a%3c %0a%3c # [[https://www.orangewebsite.com/|Orange Website]] -- Supports privacy, (free speech?), (DDoS filtering?)%0a%3c # [[https://sharktech.net/|SharkTech]] -- unresponsive tech support, did not respond to abuse reports, offers DDoS filtering%0a%3c # [[contabo]]%0a%3c # [[flokinet]]%0a%3c %0a%3c Hong Kong%0a%3c %0a%3c # [[hostdime.com|Host Dime]] -- unreasonable price, allows anything legal%0a%3c %0a%3c !! Potential%0a%3c %0a%3c # [[https://lowendbox.com/|LowEndBox]]%0a%3c # [[https://www.bitcoin-vps.com/|List #1 of Bitcoin VPS providers]]%0a%3c # [[https://uncensoredhosting.com/best-bitcoin-vps/|List #2 of Bitcoin VPS providers]] %0a%3c # [[https://torbitcoinvps.github.io/|List #3 of Bitcoin VPS providers]]%0a%3c %0a%3c DDos Filtering Providers:%0a%3c %0a%3c # [[https://www.x4b.net/|x4b]]%0a%3c %0a%3c !! Don't use%0a%3c %0a%3c # OVH -- censors [[https://community.ovh.com/en/faq|hate speech]], [[https://forum.ovh.co.uk/showthread.php/10110-Abuse-Policy|perhaps prohibits IRC?]]%0a%3c # Amazon AWS -- [[https://aws.amazon.com/aup/|AUP]] censors offensive content without really defining what offensive is%0a%3c # Google Cloud -- censors hate speech%0a%3c # Digital Ocean -- censors hate speech%0a%3c # Linode -- censors hate speech%0a%3c # Microsoft Azure -- [[https://qz.com/1352990/microsoft-threatens-to-take-down-gab-ai-over-hate-speech/|censors]] [[https://www.theverge.com/2018/8/9/17671188/microsoft-gab-hate-speech-hosting-ban-deplatform|hate]] [[https://www.washingtonpost.com/technology/2018/08/10/hate-speech-crackdown-spreads-behind-the-scenes-tech/|speech]]%0a%3c # HostSailor -- [[https://hostsailor.com/acceptable-use-policy/|censors hate speech]]%0a%3c # [[https://anynode.net|Anynode]] -- no ddos filtering, unresponsive customer support, lacking IPv6 rDNS API%0a%3c # [[ideastack.com]]%0a%3c # [[hyperfilter.com|HyperFilter]] -- forbids IRC%0a%3c # [[https://www.psychz.net/|Psychz]] -- DDoS filtering, censors [[https://www.psychz.net/aup.html|hate speech]]%0a%3c # [[https://www.choopa.com/|Choopa]] -- includes DDoS filtering, censors [[https://www.choopa.com/legal/use_policy/|hate speech]]%0a%3c # [[https://hetzner.com|hetzner]]%0a%3c # [[https://prq.se|PRQ.se]] -- Supports free speech, (DDoS filtering?); but no IRC and slow customer support%0a%3c %0a%3c India%0a%3c %0a%3c # Yourlasthost -- [[https://www.yourlasthost.com/acceptable-use|AUP]] bans IRC%0a%3c # [[ariseserver.com|Arise Server]] -- doesn't know what IRC sys%0a%3c # [[bigrock.com|bigrock]] -- doesn't know what OpenBSD is%0a%3c # [[b4uindia.com|b4u india]] -- doesn't allow chat servers%0a%3c # [[royalclouds.net|Royal Clouds]] -- doesn't respond to customer questions%0a%3c # [[go4hosting.in]]%0a%3c # [[leapswitch.com]]%0a%3c # [[crazyhosting.com]]%0a%3c # [[onliveserver.com]]%0a%3c # [[rdsindia.com]]%0a%3c # [[cyfuture.com]]%0a%3c # [[serverbasket.com]]%0a%3c # [[hostingraja.in]]%0a%3c # [[resellerclub.com]]%0a%3c # [[everdata.com]]%0a%3c # [[vps.net.in]]%0a%3c # [[ricohidc.com]]%0a%3c # [[milesweb.com]]%0a%3c # [[nowindiaonline.in]]%0a%3c # [[cloudoye.com]]%0a%3c # [[miditech.co.in]]%0a%3c # [[softsyshosting.com]]%0a%3c # [[nowindiaonline.in]]%0a%3c # [[cloudoye.com]]%0a%3c # [[webji.in]]%0a%3c # [[hostkarle.com]]%0a%3c # [[serverscart.com]]%0a%3c # [[vnetindia.com]]%0a%3c # [[superbytehosting.com]]%0a%3c # [[sytes.in]]%0a%3c # [[royalclouds.net]]%0a%3c # [[nowindiaonline.in]]%0a%3c %0a%3c Pakistan%0a%3c %0a%3c # [[host24.com.pk]]%0a%3c %0a%3c Hong Kong%0a%3c %0a%3c # quotecolo.com -- replied but didn't answer questions%0a%3c # hkcolo.com -- replied but didn't answer questions%0a +host:1612414043=198.251.81.119 blob - /dev/null blob + 6b5e83424095645db5c86a424549f7e0edb33a35 (mode 644) --- /dev/null +++ wiki.d/Hosting.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1612414043 +host=38.87.162.8 +name=Hosting.RecentChanges +rev=16 +text=* [[Hosting/Hosting]] . . . December 01, 2021, at 02:01 PM by [[~jrmu]]: [==]%0a* [[Hosting/Providers]] . . . March 06, 2021, at 02:24 PM by [[~jrmu]]: [==]%0a +time=1638367278 blob - /dev/null blob + 2d3345554b8b3f69a6e844f964dd516ba9451fe0 (mode 644) --- /dev/null +++ wiki.d/Hostnameif.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1626112103 +host=38.87.162.8 +name=Hostnameif.RecentChanges +rev=2 +text=* [[Hostnameif/Static]] . . . July 12, 2021, at 05:51 PM by [[~jrmu]]: [==]%0a +time=1626112286 blob - /dev/null blob + df3b4be4082c666ee2a910b59c57f07e945e24db (mode 644) --- /dev/null +++ wiki.d/Hostnameif.Static @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626112103 +host=38.87.162.8 +name=Hostnameif.Static +rev=2 +targets=Openbsd.Buyvm,Openbsd.Vmmuser,Openbsd.Ping,Openbsd.Netcat,Openbsd.Traceroute +text=(:title Configuring Static Networking:)%0a%0aMost computer users don't have to deal with networking because they use DHCP, where the router automatically figures out and assign IP addresses to each device. However, if you are running a server, it's important to configure static networking so that your IP addresses don't change in an unpredictable manner. Static networking is preferred to get reliable IPv4 and IPv6 networking.%0a%0aIf you chose DHCP when first installing OpenBSD, you will need to follow the steps below to configure the networking manually.%0a%0a'''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use the serial console ([[openbsd/buyvm|BuyVM]] or [[openbsd/vmmuser|training VPS]]) in case ssh stops working.%0a%0a!! hostname.if%0a%0aOpenBSD requires one hostname.if per networking interface, where the letters 'if' are replaced with an abbreviation followed by a device number. For example, if you have a virtio networking interface, it will be abbreviated by vio, so you will need an /etc/hostname.vio0 file.%0a%0aInside /etc/hostname.if (where you replace if with your device), you should put something similar to the following lines:%0a%0a[@%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0ainet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0ainet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0ainet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0ainet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a@]%0a%0aNote: Do '''not''' use those exact IP addresses. Use the real IP addresses you were assigned by your ISP.%0a%0aLet's look at the first two lines:%0a%0a[@%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0a@]%0a%0aThe first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%0aIt makes sense to have an aliased IP address when two or more IP addresses share the exact same networking interface. You will see this being done if you have one normal IPv4 address and a DDoS filtered IPv4 address. Both of them actually share the same networking interface, so the unfiltered IPv4 address is actually an alias of the filtered one.%0a%0aLet's look at lines 3 and 4:%0a%0a[@%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a@]%0a%0aThe first line sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. Each time you need a new IPv6 address, just add a new aliased IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%0aIn the file /etc/mygate, you specify the default gateway:%0a%0a[@%0a192.168.1.1%0a2001:0db8:0000:0000::1%0a@]%0a%0aThe default gateway is the router that your server is connected to. This is where all the IP packets from your server will immediately forward its packets to. The default gateway will be provided by your ISP.%0a%0aTo restart networking, run:%0a%0a[@%0a$ doas sh /etc/netstart%0a@]%0a%0aIf this doesn't properly reset the networking, you can do the following:%0a%0a'''WARNING''': This will definitely disconnect all network connections.%0a%0a[@%0a$ doas ifconfig if0 down%0a$ doas route flush%0a$ doas sh /etc/netstart%0a@]%0a%0aNote: Make sure to replace if0 with your real device.%0a%0a!! ifconfig%0a%0aYou can add new IPv4 addresses on the fly, without rebooting, by using ifconfig:%0a%0a[@%0a$ doas ifconfig if0 alias 192.168.1.3 255.255.255.0%0a@]%0a%0aFor IPv6:%0a%0a[@%0a$ doas ifconfig if0 inet6 2001:0db8::/48%0a@]%0a%0aTo delete an IPv4 address:%0a%0a[@%0a$ doas ifconfig if0 192.168.1.3 delete%0a@]%0a%0aTo delete the IPv6 address:%0a%0a[@%0a$ doas ifconfig if0 inet6 2001:0db8::/48 delete%0a@]%0a%0aNote: replace if0 with your specific interface, and replace the IP addresses and subnet masks.%0a%0aTo test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a +time=1626112286 +title=Configuring Static Networking +author:1626112286=jrmu +diff:1626112286:1626112103:=7c7%0a%3c '''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use the serial console ([[openbsd/buyvm|BuyVM]] or [[openbsd/vmmuser|training VPS]]) in case ssh stops working.%0a---%0a> '''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use VNC in case ssh stops working.%0a +host:1626112286=38.87.162.8 +author:1626112103=jrmu +diff:1626112103:1626112103:=1,103d0%0a%3c (:title Configuring Static Networking:)%0a%3c %0a%3c Most computer users don't have to deal with networking because they use DHCP, where the router automatically figures out and assign IP addresses to each device. However, if you are running a server, it's important to configure static networking so that your IP addresses don't change in an unpredictable manner. Static networking is preferred to get reliable IPv4 and IPv6 networking.%0a%3c %0a%3c If you chose DHCP when first installing OpenBSD, you will need to follow the steps below to configure the networking manually.%0a%3c %0a%3c '''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use VNC in case ssh stops working.%0a%3c %0a%3c !! hostname.if%0a%3c %0a%3c OpenBSD requires one hostname.if per networking interface, where the letters 'if' are replaced with an abbreviation followed by a device number. For example, if you have a virtio networking interface, it will be abbreviated by vio, so you will need an /etc/hostname.vio0 file.%0a%3c %0a%3c Inside /etc/hostname.if (where you replace if with your device), you should put something similar to the following lines:%0a%3c %0a%3c [@%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a%3c inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a%3c inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a%3c @]%0a%3c %0a%3c Note: Do '''not''' use those exact IP addresses. Use the real IP addresses you were assigned by your ISP.%0a%3c %0a%3c Let's look at the first two lines:%0a%3c %0a%3c [@%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c @]%0a%3c %0a%3c The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%3c %0a%3c It makes sense to have an aliased IP address when two or more IP addresses share the exact same networking interface. You will see this being done if you have one normal IPv4 address and a DDoS filtered IPv4 address. Both of them actually share the same networking interface, so the unfiltered IPv4 address is actually an alias of the filtered one.%0a%3c %0a%3c Let's look at lines 3 and 4:%0a%3c %0a%3c [@%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c @]%0a%3c %0a%3c The first line sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. Each time you need a new IPv6 address, just add a new aliased IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c In the file /etc/mygate, you specify the default gateway:%0a%3c %0a%3c [@%0a%3c 192.168.1.1%0a%3c 2001:0db8:0000:0000::1%0a%3c @]%0a%3c %0a%3c The default gateway is the router that your server is connected to. This is where all the IP packets from your server will immediately forward its packets to. The default gateway will be provided by your ISP.%0a%3c %0a%3c To restart networking, run:%0a%3c %0a%3c [@%0a%3c $ doas sh /etc/netstart%0a%3c @]%0a%3c %0a%3c If this doesn't properly reset the networking, you can do the following:%0a%3c %0a%3c '''WARNING''': This will definitely disconnect all network connections.%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 down%0a%3c $ doas route flush%0a%3c $ doas sh /etc/netstart%0a%3c @]%0a%3c %0a%3c Note: Make sure to replace if0 with your real device.%0a%3c %0a%3c !! ifconfig%0a%3c %0a%3c You can add new IPv4 addresses on the fly, without rebooting, by using ifconfig:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 alias 192.168.1.3 255.255.255.0%0a%3c @]%0a%3c %0a%3c For IPv6:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/48%0a%3c @]%0a%3c %0a%3c To delete an IPv4 address:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 192.168.1.3 delete%0a%3c @]%0a%3c %0a%3c To delete the IPv6 address:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/48 delete%0a%3c @]%0a%3c %0a%3c Note: replace if0 with your specific interface, and replace the IP addresses and subnet masks.%0a%3c %0a%3c To test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a +host:1626112103=38.87.162.8 blob - /dev/null blob + 450b226219823fb33797d1655331df24f045f699 (mode 644) --- /dev/null +++ wiki.d/Http2irc.Http2irc @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1601859579 +host=38.81.163.143 +name=Http2irc.Http2irc +rev=6 +targets= +text=HTTP2IRC -- An HTTP to IRC bridge%0a%0a* Lets you chat on IRC using any web client like curl%0a* Makes it easy to build web apps by using solely client-side javascript and XMLHttpRequest%0a* Web developers can build IRC web apps without touching IRC, server code, or web sockets%0a* Allows IRC clients to tunnel through firewalls that block ports 6667/6697 by masquerading as web traffic%0a%0aInterface:%0a%0a$ curl -d 'user=username&pass=password&cmd=PRIVMSG #chan :Hello, world!' https://ircnow.org/http2irc%0a%0aweb %3c--> http2irc %3c--> ii %3c--> znc %3c--> actual irc network%0a%0aThe bouncer znc can later be replaced with bncnow.%0a%0aWritten in pure C and compiled using BSD make. +time=1601859848 +author:1601859848=jrmu +diff:1601859848:1601859839:=10c10%0a%3c $ curl -d 'user=username&pass=password&cmd=PRIVMSG #chan :Hello, world!' https://ircnow.org/http2irc%0a---%0a> $ curl -d 'user=username&pass=password&cmd=PRIVMSG #chan:Hello, world!' https://ircnow.org/http2irc%0a +host:1601859848=38.81.163.143 +author:1601859839=jrmu +diff:1601859839:1601859836:= +host:1601859839=38.81.163.143 +author:1601859836=jrmu +diff:1601859836:1601859819:=10c10%0a%3c $ curl -d 'user=username&pass=password&cmd=PRIVMSG #chan:Hello, world!' https://ircnow.org/http2irc%0a---%0a> $ curl -d 'user=username&pass=&password&cmd=PRIVMSG #chan:Hello, world!' https://ircnow.org/http2irc%0a +host:1601859836=38.81.163.143 +author:1601859819=jrmu +diff:1601859819:1601859607:=10c10%0a%3c $ curl -d 'user=username&pass=&password&cmd=PRIVMSG #chan:Hello, world!' https://ircnow.org/http2irc%0a---%0a> $ curl -d ""%0a +host:1601859819=38.81.163.143 +author:1601859607=jrmu +diff:1601859607:1601859579:=12c12%0a%3c web %3c--> http2irc %3c--> ii %3c--> znc %3c--> actual irc network%0a---%0a> http2irc %3c--> ii %3c--> znc %3c--> actual irc network%0a +host:1601859607=38.81.163.143 +author:1601859579=jrmu +diff:1601859579:1601859579:=1,16d0%0a%3c HTTP2IRC -- An HTTP to IRC bridge%0a%3c %0a%3c * Lets you chat on IRC using any web client like curl%0a%3c * Makes it easy to build web apps by using solely client-side javascript and XMLHttpRequest%0a%3c * Web developers can build IRC web apps without touching IRC, server code, or web sockets%0a%3c * Allows IRC clients to tunnel through firewalls that block ports 6667/6697 by masquerading as web traffic%0a%3c %0a%3c Interface:%0a%3c %0a%3c $ curl -d ""%0a%3c %0a%3c http2irc %3c--> ii %3c--> znc %3c--> actual irc network%0a%3c %0a%3c The bouncer znc can later be replaced with bncnow.%0a%3c %0a%3c Written in pure C and compiled using BSD make.%0a\ No newline at end of file%0a +host:1601859579=38.81.163.143 blob - /dev/null blob + c87a0a045c8d7419f54b1415f9c63960b42a9fa4 (mode 644) --- /dev/null +++ wiki.d/Http2irc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1601859579 +host=38.81.163.143 +name=Http2irc.RecentChanges +rev=6 +text=* [[Http2irc/Http2irc]] . . . October 05, 2020, at 01:04 AM by [[~jrmu]]: [==]%0a +time=1601859848 blob - /dev/null blob + 6b9f86975842dc08bd70b3ad8ddcf42ad7e75e77 (mode 644) --- /dev/null +++ wiki.d/IP.Myaddress @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1621252386 +host=125.231.70.149 +name=IP.Myaddress +rev=2 +targets= +text=(:title My IP Address:)%0a%0a!! Use DNS%0a%0aTo determine your current public IP address, you can run:%0a%0a[@%0a$ dig +short myip.opendns.com @resolver1.opendns.com%0a@]%0a%0aor:%0a%0a[@%0adig TXT +short o-o.myaddr.l.google.com @ns1.google.com%0a@]%0a%0aThis will tell you at least one of your public IP addresses.%0a%0a!! Check DNS records%0a%0aIf you have DNS setup, you can also run%0a%0a$ host username.example.com%0a%0aYou'll want to replace @@username.example.com@@ with your real domain.%0a%0a!! Check ifconfig%0a%0aIf you have multiple IP addresses, you might find more information using ifconfig:%0a%0a[@%0a$ ifconfig%0a@]%0a%0aLook for lines that begin with inet, such as:%0a%0a[@%0a inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255%0a@]%0a%0aThis line will tell you the IP addresses your system has. 127.0.0.1 is localhost, which always refers to the machine itself, so it is not a public IP address. Likewise, 192.168.0.0/16 and 10.0.0.0/8 are not publicly reachable IP addresses.%0a%0aOnce you find your IP address, look for the interface name, a which is made of a few letter followed by a number. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%0aYou can learn more about the device driver for the interface by typing the interface name without the number:%0a%0a[@%0a$ man vio%0a@]%0a%0aReplace @@vio@@ with your interface.%0a%0a +time=1628356442 +title=My IP Address +author:1628356442=jrmu +diff:1628356442:1621252386:=1,31c1,2%0a%3c (:title My IP Address:)%0a%3c %0a%3c !! Use DNS%0a%3c %0a%3c To determine your current public IP address, you can run:%0a%3c %0a%3c [@%0a%3c $ dig +short myip.opendns.com @resolver1.opendns.com%0a%3c @]%0a%3c %0a%3c or:%0a%3c %0a%3c [@%0a%3c dig TXT +short o-o.myaddr.l.google.com @ns1.google.com%0a%3c @]%0a%3c %0a%3c This will tell you at least one of your public IP addresses.%0a%3c %0a%3c !! Check DNS records%0a%3c %0a%3c If you have DNS setup, you can also run%0a%3c %0a%3c $ host username.example.com%0a%3c %0a%3c You'll want to replace @@username.example.com@@ with your real domain.%0a%3c %0a%3c !! Check ifconfig%0a%3c %0a%3c If you have multiple IP addresses, you might find more information using ifconfig:%0a%3c %0a%3c [@%0a---%0a> To determine your current IP address:%0a> %0a33,52c4,5%0a%3c @]%0a%3c %0a%3c Look for lines that begin with inet, such as:%0a%3c %0a%3c [@%0a%3c inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255%0a%3c @]%0a%3c %0a%3c This line will tell you the IP addresses your system has. 127.0.0.1 is localhost, which always refers to the machine itself, so it is not a public IP address. Likewise, 192.168.0.0/16 and 10.0.0.0/8 are not publicly reachable IP addresses.%0a%3c %0a%3c Once you find your IP address, look for the interface name, a which is made of a few letter followed by a number. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%3c %0a%3c You can learn more about the device driver for the interface by typing the interface name without the number:%0a%3c %0a%3c [@%0a%3c $ man vio%0a%3c @]%0a%3c %0a%3c Replace @@vio@@ with your interface.%0a%3c %0a---%0a> %0a> $ host %3cdomain>%0a\ No newline at end of file%0a +host:1628356442=125.231.70.149 +author:1621252386=jrmu +diff:1621252386:1621252386:=1,5d0%0a%3c To determine your current IP address:%0a%3c %0a%3c $ ifconfig%0a%3c %0a%3c $ host %3cdomain>%0a\ No newline at end of file%0a +host:1621252386=198.251.81.119 blob - /dev/null blob + 4272e939935e41cc9a154f79d7d8b594ce367cdd (mode 644) --- /dev/null +++ wiki.d/IP.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1621252386 +host=125.231.70.149 +name=IP.RecentChanges +rev=2 +text=* [[IP/Myaddress]] . . . August 07, 2021, at 05:14 PM by [[~jrmu]]: [==]%0a +time=1628356442 blob - /dev/null blob + 4358aeb882e64aaa536c579378dd63ef241d689f (mode 644) --- /dev/null +++ wiki.d/IPv4.Overview @@ -0,0 +1,75 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1616855744 +host=38.81.163.143 +name=IPv4.Overview +rev=21 +targets= +text=IPv4 Addressing%0a%0aEvery device on the Internet needs a unique address to communicate with each other.%0aThis address is called the Internet Protocol (IP) Address. %0a%0aAn IPv4 address is 32 bits long -- thirty-two 1s and 0s. For example:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IPv4 Address 192.168.0.1 ||%0a|| Decimal || 192 || 168 || 0 || 1 ||%0a|| Binary || 1100 0000 || 1010 1000 || 0000 0000 || 0000 0001 ||%0a%0aand is expressed in 4 doted octets format. An (unsigned) octet is 8 bits in size thus the smallest value (where all 8 bits are 0) is 0 (in decimal) while the largest value (while all 8 bits are 1) is 255.%0a%0aIPv6 address however is 128 bits long and is expressed in 8 groups of 4 hexadecimal digits. A hexadecimal digit can hold up to 16 unique values thus it is represented in 0 (when all 4 bits are 0) and F (when all 4 bits are 1). %0a%0aIP prefix is an IP address expressed in CIDR notation. It carries two (2) information important information for routers on the internet to be able to deliver the traffic to its destination. These information are: (a) Network ID (or network prefix) and (b) Host ID. Network ID represents which network the address belongs to while Host ID represents end device (within the network) it is intended for. Keep in mind that the last address in a network is used as broadcast address (sending traffic to all the hosts within the same network).%0a%0aThe prefix in CIDR notation indicates the number of bits (from left to right) is used to identify the network. Following are examples of IPv4 prefix in CIRD notation:%0a%0aExample 1: a prefix of 192.168.0.1/24 dictates that the first 24 bits represents the network while the remaining 8 (32-8) bits represents the host. In this case Network ID is 192.168.0.0 and the host address starts from 192.168.0.0 and ends at 192.168.0.254 (.255 is broadcast).%0a%0aExample 2: a prefix of 192.168.0.129/25 dictates that the first 25 bits represents the network and therefore the Network ID is 192.168.0.128 and the host address starts from 192.168.0.129 and ends at 192.168.0.254 (.255 is broadcast). This is because the first 25 bits of 192.168.0.129 (11000000.10101000.00000000.10000001) summed up to 192.168.0.128 (11000000.10101000.00000000.10000000).%0a%0aExample 3: a prefix of 192.168.3.88/23 dictate that the first 23 bits represents the network and therefore the Network ID is 192.168.2.0 and the host address starts from 192.168.2.1 and ends at 192.168.3.254 (.255 is broadcast). This is because the first 23 bits of 192.168.3.88 (11000000.10101000.00000011.00101100) summed up to 192.168.2.0 (11000000.10101000.00000010.00000000).%0a%0aExample 4: a prefix of 192.168.123.123/32 dictates that the first 32 bits represents the network and therefore both the Network ID and Host ID will be 192.168.123.123.%0a%0aWhile it is true that any IP address (if it follows the rules above) can be used as valid IP address, however some of the addresses are reserved for special purpose. Table below lists all the IP prefixes that have special purpose are not routable over the internet. %0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Prefix ||! Description ||%0a|| 0.0.0.0/8 || "This" network ||%0a|| 10.0.0.0/8 || Private-use networks ||%0a|| 100.64.0.0/10 || Carrier-grade NAT ||%0a|| 127.0.0.0/8 || Loopback ||%0a|| 127.0.53.53 || Name collision occurrence ||%0a|| 169.254.0.0/16 || Link local ||%0a|| 172.16.0.0/12 || Private-use networks ||%0a|| 192.0.0.0/24 || IETF protocol assignments ||%0a|| 192.0.2.0/24 || TEST-NET-1 ||%0a|| 192.168.0.0/16 || Private-use networks ||%0a|| 198.18.0.0/15 || Network interconnect device benchmark testing ||%0a|| 198.51.100.0/24 || TEST-NET-2 ||%0a|| 203.0.113.0/24 || TEST-NET-3 ||%0a|| 224.0.0.0/4 || Multicast ||%0a|| 240.0.0.0/4 || Reserved for future use ||%0a|| 255.255.255.255/32 ||Limited broadcast ||%0a%0aBelow is a table to inter-convert between CIDR and sub net mask:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! CIDR prefix ||! Sub net mask ||! Number of IP addresses ||%0a|| /0 || 0.0.0.0 || 4,294,967,296 ||%0a|| /1 || 128.0.0.0 || 2,147,483,648 ||%0a|| /2 || 192.0.0.0 || 1,073,741,824 ||%0a|| /3 || 224.0.0.0 || 536,870,912 ||%0a|| /4 || 240.0.0.0 || 268,435,456 ||%0a|| /5 || 248.0.0.0 || 134,217,728 ||%0a|| /6 || 252.0.0.0 || 67,108,864 ||%0a|| /7 || 254.0.0.0 || 33,554,432 ||%0a|| /8 || 255.0.0.0 || 16,777,216 ||%0a|| /9 || 255.128.0.0 || 8,388,608 ||%0a|| /10 || 255.192.0.0 || 4,194,304 ||%0a|| /11 || 255.224.0.0 || 2,097,152 ||%0a|| /12 || 255.240.0.0 || 1,048,576 ||%0a|| /13 || 255.248.0.0 || 524,288 ||%0a|| /14 || 255.252.0.0 || 262,144 ||%0a|| /15 || 255.254.0.0 || 131,072 ||%0a|| /16 || 255.255.0.0 || 65,536 ||%0a|| /17 || 255.255.128.0 || 32,768 ||%0a|| /18 || 255.255.192.0 || 16,384 ||%0a|| /19 || 255.255.224.0 || 8,192 ||%0a|| /20 || 255.255.240.0 || 4,096 ||%0a|| /21 || 255.255.248.0 || 2,048 ||%0a|| /22 || 255.255.252.0 || 1,024 ||%0a|| /23 || 255.255.254.0 || 512 ||%0a|| /24 || 255.255.255.0 || 256 ||%0a|| /25 || 255.255.255.128 || 128 ||%0a|| /26 || 255.255.255.192 || 64 ||%0a|| /27 || 255.255.255.224 || 32 ||%0a|| /28 || 255.255.255.240 || 16 ||%0a|| /29 || 255.255.255.248 || 8 ||%0a|| /30 || 255.255.255.252 || 4 ||%0a|| /31 || 255.255.255.254 || 2 ||%0a|| /32 || 255.255.255.255 || 1 ||%0a +time=1623319985 +author:1623319985=jrmu +diff:1623319985:1623319457:=8,9c8%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IPv4 Address 192.168.0.1 ||%0a---%0a> 192.168.0.1%0a +host:1623319985=38.81.163.143 +author:1623319457=jrmu +diff:1623319457:1623319365:=10c10%0a%3c || Binary || 1100 0000 || 1010 1000 || 0000 0000 || 0000 0001 ||%0a---%0a> || Binary || 1100 0000 || 1010 1000 || 0000 0000 || 0001 ||%0a +host:1623319457=38.81.163.143 +author:1623319365=jrmu +diff:1623319365:1623318764:=3,12c3,5%0a%3c Every device on the Internet needs a unique address to communicate with each other.%0a%3c This address is called the Internet Protocol (IP) Address. %0a%3c %0a%3c An IPv4 address is 32 bits long -- thirty-two 1s and 0s. For example:%0a%3c %0a%3c 192.168.0.1%0a%3c || Decimal || 192 || 168 || 0 || 1 ||%0a%3c || Binary || 1100 0000 || 1010 1000 || 0000 0000 || 0001 ||%0a%3c %0a%3c and is expressed in 4 doted octets format. An (unsigned) octet is 8 bits in size thus the smallest value (where all 8 bits are 0) is 0 (in decimal) while the largest value (while all 8 bits are 1) is 255.%0a---%0a> Every device on the network requires a unique address to communicate to each other. This address is also known as Internet Protocol (IP) Address. In computer networking, IP address is usually written in CIDR (classless inter-domain routing) notation or subnet mask because IP address alone does not carry enough information for the traffic to be routed over the internet correctly. Both CIDR notation and subnet mask are interchangeable. See below table for conversion.%0a> %0a> An IPv4 address is 32 bits long and is expressed in 4 doted octets format. An (unsigned) octet is 8 bits in size thus the smallest value (where all 8 bits are 0) is 0 (in decimal) while the largest value (while all 8 bits are 1) is 255.%0a +host:1623319365=38.81.163.143 +author:1623318764=jrmu +diff:1623318764:1623318665:=23d22%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a29,41c28,40%0a%3c || 127.0.53.53 || Name collision occurrence ||%0a%3c || 169.254.0.0/16 || Link local ||%0a%3c || 172.16.0.0/12 || Private-use networks ||%0a%3c || 192.0.0.0/24 || IETF protocol assignments ||%0a%3c || 192.0.2.0/24 || TEST-NET-1 ||%0a%3c || 192.168.0.0/16 || Private-use networks ||%0a%3c || 198.18.0.0/15 || Network interconnect device benchmark testing ||%0a%3c || 198.51.100.0/24 || TEST-NET-2 ||%0a%3c || 203.0.113.0/24 || TEST-NET-3 ||%0a%3c || 224.0.0.0/4 || Multicast ||%0a%3c || 240.0.0.0/4 || Reserved for future use ||%0a%3c || 255.255.255.255/32 ||Limited broadcast ||%0a%3c %0a---%0a> ||127.0.53.53 || Name collision occurrence ||%0a> ||169.254.0.0/16 || Link local ||%0a> ||172.16.0.0/12 || Private-use networks ||%0a> ||192.0.0.0/24 || IETF protocol assignments ||%0a> ||192.0.2.0/24 || TEST-NET-1 ||%0a> ||192.168.0.0/16 || Private-use networks ||%0a> ||198.18.0.0/15 || Network interconnect device benchmark testing ||%0a> ||198.51.100.0/24 || TEST-NET-2 ||%0a> ||203.0.113.0/24 || TEST-NET-3 ||%0a> ||224.0.0.0/4 || Multicast ||%0a> ||240.0.0.0/4 || Reserved for future use ||%0a> ||255.255.255.255/32 ||Limited broadcast ||%0a> %0a44,45c43%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! CIDR prefix ||! Sub net mask ||! Number of IP addresses ||%0a---%0a> || CIDR prefix || Sub net mask || Number of IP addresses ||%0a +host:1623318764=38.81.163.143 +author:1623318665=jrmu +diff:1623318665:1623318003:=23,40c23,57%0a%3c ||! Prefix ||! Description ||%0a%3c || 0.0.0.0/8 || "This" network ||%0a%3c || 10.0.0.0/8 || Private-use networks ||%0a%3c || 100.64.0.0/10 || Carrier-grade NAT ||%0a%3c || 127.0.0.0/8 || Loopback ||%0a%3c ||127.0.53.53 || Name collision occurrence ||%0a%3c ||169.254.0.0/16 || Link local ||%0a%3c ||172.16.0.0/12 || Private-use networks ||%0a%3c ||192.0.0.0/24 || IETF protocol assignments ||%0a%3c ||192.0.2.0/24 || TEST-NET-1 ||%0a%3c ||192.168.0.0/16 || Private-use networks ||%0a%3c ||198.18.0.0/15 || Network interconnect device benchmark testing ||%0a%3c ||198.51.100.0/24 || TEST-NET-2 ||%0a%3c ||203.0.113.0/24 || TEST-NET-3 ||%0a%3c ||224.0.0.0/4 || Multicast ||%0a%3c ||240.0.0.0/4 || Reserved for future use ||%0a%3c ||255.255.255.255/32 ||Limited broadcast ||%0a%3c %0a---%0a> Prefix%0a> Description%0a> 0.0.0.0/8%0a> "This" network%0a> 10.0.0.0/8%0a> Private-use networks%0a> 100.64.0.0/10%0a> Carrier-grade NAT%0a> 127.0.0.0/8%0a> Loopback%0a> 127.0.53.53%0a> Name collision occurrence%0a> 169.254.0.0/16%0a> Link local%0a> 172.16.0.0/12%0a> Private-use networks%0a> 192.0.0.0/24%0a> IETF protocol assignments%0a> 192.0.2.0/24%0a> TEST-NET-1%0a> 192.168.0.0/16%0a> Private-use networks%0a> 198.18.0.0/15%0a> Network interconnect device benchmark testing%0a> 198.51.100.0/24%0a> TEST-NET-2%0a> 203.0.113.0/24%0a> TEST-NET-3%0a> 224.0.0.0/4%0a> Multicast%0a> 240.0.0.0/4%0a> Reserved for future use%0a> 255.255.255.255/32%0a> Limited broadcast%0a> %0a42,76c59,162%0a%3c %0a%3c || CIDR prefix || Sub net mask || Number of IP addresses ||%0a%3c || /0 || 0.0.0.0 || 4,294,967,296 ||%0a%3c || /1 || 128.0.0.0 || 2,147,483,648 ||%0a%3c || /2 || 192.0.0.0 || 1,073,741,824 ||%0a%3c || /3 || 224.0.0.0 || 536,870,912 ||%0a%3c || /4 || 240.0.0.0 || 268,435,456 ||%0a%3c || /5 || 248.0.0.0 || 134,217,728 ||%0a%3c || /6 || 252.0.0.0 || 67,108,864 ||%0a%3c || /7 || 254.0.0.0 || 33,554,432 ||%0a%3c || /8 || 255.0.0.0 || 16,777,216 ||%0a%3c || /9 || 255.128.0.0 || 8,388,608 ||%0a%3c || /10 || 255.192.0.0 || 4,194,304 ||%0a%3c || /11 || 255.224.0.0 || 2,097,152 ||%0a%3c || /12 || 255.240.0.0 || 1,048,576 ||%0a%3c || /13 || 255.248.0.0 || 524,288 ||%0a%3c || /14 || 255.252.0.0 || 262,144 ||%0a%3c || /15 || 255.254.0.0 || 131,072 ||%0a%3c || /16 || 255.255.0.0 || 65,536 ||%0a%3c || /17 || 255.255.128.0 || 32,768 ||%0a%3c || /18 || 255.255.192.0 || 16,384 ||%0a%3c || /19 || 255.255.224.0 || 8,192 ||%0a%3c || /20 || 255.255.240.0 || 4,096 ||%0a%3c || /21 || 255.255.248.0 || 2,048 ||%0a%3c || /22 || 255.255.252.0 || 1,024 ||%0a%3c || /23 || 255.255.254.0 || 512 ||%0a%3c || /24 || 255.255.255.0 || 256 ||%0a%3c || /25 || 255.255.255.128 || 128 ||%0a%3c || /26 || 255.255.255.192 || 64 ||%0a%3c || /27 || 255.255.255.224 || 32 ||%0a%3c || /28 || 255.255.255.240 || 16 ||%0a%3c || /29 || 255.255.255.248 || 8 ||%0a%3c || /30 || 255.255.255.252 || 4 ||%0a%3c || /31 || 255.255.255.254 || 2 ||%0a%3c || /32 || 255.255.255.255 || 1 ||%0a---%0a> CIDR prefix%0a> Sub net mask%0a> Number of IP addresses%0a> /0%0a> 0.0.0.0%0a> 4,294,967,296%0a> /1%0a> 128.0.0.0%0a> 2,147,483,648%0a> /2%0a> 192.0.0.0%0a> 1,073,741,824%0a> /3%0a> 224.0.0.0%0a> 536,870,912%0a> /4%0a> 240.0.0.0%0a> 268,435,456%0a> /5%0a> 248.0.0.0%0a> 134,217,728%0a> /6%0a> 252.0.0.0%0a> 67,108,864%0a> /7%0a> 254.0.0.0%0a> 33,554,432%0a> /8%0a> 255.0.0.0%0a> 16,777,216%0a> /9%0a> 255.128.0.0%0a> 8,388,608%0a> /10%0a> 255.192.0.0%0a> 4,194,304%0a> /11%0a> 255.224.0.0%0a> 2,097,152%0a> /12%0a> 255.240.0.0%0a> 1,048,576%0a> /13%0a> 255.248.0.0%0a> 524,288%0a> /14%0a> 255.252.0.0%0a> 262,144%0a> /15%0a> 255.254.0.0%0a> 131,072%0a> /16%0a> 255.255.0.0%0a> 65,536%0a> /17%0a> 255.255.128.0%0a> 32,768%0a> /18%0a> 255.255.192.0%0a> 16,384%0a> /19%0a> 255.255.224.0%0a> 8,192%0a> /20%0a> 255.255.240.0%0a> 4,096%0a> /21%0a> 255.255.248.0%0a> 2,048%0a> /22%0a> 255.255.252.0%0a> 1,024%0a> /23%0a> 255.255.254.0%0a> 512%0a> /24%0a> 255.255.255.0%0a> 256%0a> /25%0a> 255.255.255.128%0a> 128%0a> /26%0a> 255.255.255.192%0a> 64%0a> /27%0a> 255.255.255.224%0a> 32%0a> /28%0a> 255.255.255.240%0a> 16%0a> /29%0a> 255.255.255.248%0a> 8%0a> /30%0a> 255.255.255.252%0a> 4%0a> /31%0a> 255.255.255.254%0a> 2%0a> /32%0a> 255.255.255.255%0a> 1%0a> %0a> %0a +host:1623318665=38.81.163.143 +author:1623318003=jrmu +diff:1623318003:1616857973:=1,162d0%0a%3c IPv4 Addressing%0a%3c %0a%3c Every device on the network requires a unique address to communicate to each other. This address is also known as Internet Protocol (IP) Address. In computer networking, IP address is usually written in CIDR (classless inter-domain routing) notation or subnet mask because IP address alone does not carry enough information for the traffic to be routed over the internet correctly. Both CIDR notation and subnet mask are interchangeable. See below table for conversion.%0a%3c %0a%3c An IPv4 address is 32 bits long and is expressed in 4 doted octets format. An (unsigned) octet is 8 bits in size thus the smallest value (where all 8 bits are 0) is 0 (in decimal) while the largest value (while all 8 bits are 1) is 255.%0a%3c %0a%3c IPv6 address however is 128 bits long and is expressed in 8 groups of 4 hexadecimal digits. A hexadecimal digit can hold up to 16 unique values thus it is represented in 0 (when all 4 bits are 0) and F (when all 4 bits are 1). %0a%3c %0a%3c IP prefix is an IP address expressed in CIDR notation. It carries two (2) information important information for routers on the internet to be able to deliver the traffic to its destination. These information are: (a) Network ID (or network prefix) and (b) Host ID. Network ID represents which network the address belongs to while Host ID represents end device (within the network) it is intended for. Keep in mind that the last address in a network is used as broadcast address (sending traffic to all the hosts within the same network).%0a%3c %0a%3c The prefix in CIDR notation indicates the number of bits (from left to right) is used to identify the network. Following are examples of IPv4 prefix in CIRD notation:%0a%3c %0a%3c Example 1: a prefix of 192.168.0.1/24 dictates that the first 24 bits represents the network while the remaining 8 (32-8) bits represents the host. In this case Network ID is 192.168.0.0 and the host address starts from 192.168.0.0 and ends at 192.168.0.254 (.255 is broadcast).%0a%3c %0a%3c Example 2: a prefix of 192.168.0.129/25 dictates that the first 25 bits represents the network and therefore the Network ID is 192.168.0.128 and the host address starts from 192.168.0.129 and ends at 192.168.0.254 (.255 is broadcast). This is because the first 25 bits of 192.168.0.129 (11000000.10101000.00000000.10000001) summed up to 192.168.0.128 (11000000.10101000.00000000.10000000).%0a%3c %0a%3c Example 3: a prefix of 192.168.3.88/23 dictate that the first 23 bits represents the network and therefore the Network ID is 192.168.2.0 and the host address starts from 192.168.2.1 and ends at 192.168.3.254 (.255 is broadcast). This is because the first 23 bits of 192.168.3.88 (11000000.10101000.00000011.00101100) summed up to 192.168.2.0 (11000000.10101000.00000010.00000000).%0a%3c %0a%3c Example 4: a prefix of 192.168.123.123/32 dictates that the first 32 bits represents the network and therefore both the Network ID and Host ID will be 192.168.123.123.%0a%3c %0a%3c While it is true that any IP address (if it follows the rules above) can be used as valid IP address, however some of the addresses are reserved for special purpose. Table below lists all the IP prefixes that have special purpose are not routable over the internet. %0a%3c %0a%3c Prefix%0a%3c Description%0a%3c 0.0.0.0/8%0a%3c "This" network%0a%3c 10.0.0.0/8%0a%3c Private-use networks%0a%3c 100.64.0.0/10%0a%3c Carrier-grade NAT%0a%3c 127.0.0.0/8%0a%3c Loopback%0a%3c 127.0.53.53%0a%3c Name collision occurrence%0a%3c 169.254.0.0/16%0a%3c Link local%0a%3c 172.16.0.0/12%0a%3c Private-use networks%0a%3c 192.0.0.0/24%0a%3c IETF protocol assignments%0a%3c 192.0.2.0/24%0a%3c TEST-NET-1%0a%3c 192.168.0.0/16%0a%3c Private-use networks%0a%3c 198.18.0.0/15%0a%3c Network interconnect device benchmark testing%0a%3c 198.51.100.0/24%0a%3c TEST-NET-2%0a%3c 203.0.113.0/24%0a%3c TEST-NET-3%0a%3c 224.0.0.0/4%0a%3c Multicast%0a%3c 240.0.0.0/4%0a%3c Reserved for future use%0a%3c 255.255.255.255/32%0a%3c Limited broadcast%0a%3c %0a%3c Below is a table to inter-convert between CIDR and sub net mask:%0a%3c CIDR prefix%0a%3c Sub net mask%0a%3c Number of IP addresses%0a%3c /0%0a%3c 0.0.0.0%0a%3c 4,294,967,296%0a%3c /1%0a%3c 128.0.0.0%0a%3c 2,147,483,648%0a%3c /2%0a%3c 192.0.0.0%0a%3c 1,073,741,824%0a%3c /3%0a%3c 224.0.0.0%0a%3c 536,870,912%0a%3c /4%0a%3c 240.0.0.0%0a%3c 268,435,456%0a%3c /5%0a%3c 248.0.0.0%0a%3c 134,217,728%0a%3c /6%0a%3c 252.0.0.0%0a%3c 67,108,864%0a%3c /7%0a%3c 254.0.0.0%0a%3c 33,554,432%0a%3c /8%0a%3c 255.0.0.0%0a%3c 16,777,216%0a%3c /9%0a%3c 255.128.0.0%0a%3c 8,388,608%0a%3c /10%0a%3c 255.192.0.0%0a%3c 4,194,304%0a%3c /11%0a%3c 255.224.0.0%0a%3c 2,097,152%0a%3c /12%0a%3c 255.240.0.0%0a%3c 1,048,576%0a%3c /13%0a%3c 255.248.0.0%0a%3c 524,288%0a%3c /14%0a%3c 255.252.0.0%0a%3c 262,144%0a%3c /15%0a%3c 255.254.0.0%0a%3c 131,072%0a%3c /16%0a%3c 255.255.0.0%0a%3c 65,536%0a%3c /17%0a%3c 255.255.128.0%0a%3c 32,768%0a%3c /18%0a%3c 255.255.192.0%0a%3c 16,384%0a%3c /19%0a%3c 255.255.224.0%0a%3c 8,192%0a%3c /20%0a%3c 255.255.240.0%0a%3c 4,096%0a%3c /21%0a%3c 255.255.248.0%0a%3c 2,048%0a%3c /22%0a%3c 255.255.252.0%0a%3c 1,024%0a%3c /23%0a%3c 255.255.254.0%0a%3c 512%0a%3c /24%0a%3c 255.255.255.0%0a%3c 256%0a%3c /25%0a%3c 255.255.255.128%0a%3c 128%0a%3c /26%0a%3c 255.255.255.192%0a%3c 64%0a%3c /27%0a%3c 255.255.255.224%0a%3c 32%0a%3c /28%0a%3c 255.255.255.240%0a%3c 16%0a%3c /29%0a%3c 255.255.255.248%0a%3c 8%0a%3c /30%0a%3c 255.255.255.252%0a%3c 4%0a%3c /31%0a%3c 255.255.255.254%0a%3c 2%0a%3c /32%0a%3c 255.255.255.255%0a%3c 1%0a%3c %0a%3c %0a +host:1623318003=38.81.163.143 +author:1616857973=chewy +diff:1616857973:1616857608:=0a1,92%0a> !!Understanding IPv4 Addressing%0a> %0a> IPv4 addresses are 32-bit numbers that are typically displayed in dotted decimal notation. A 32-bit address contains two primary parts: the network prefix and the host number.%0a> %0a> All hosts within a single network share the same network address. Each host also has an address that uniquely identifies it. Depending on the scope of the network and the type of device, the address is either globally or locally unique. Devices that are visible to users outside the network (webservers, for example) must have a globally unique IP address. Devices that are visible only within the network must have locally unique IP addresses.%0a> %0a> IP addresses are assigned by a central numbering authority called the Internet Assigned Numbers Authority (IANA). IANA ensures that addresses are globally unique where needed and has a large address space reserved for use by devices not visible outside their own networks.%0a> %0a> !!IPv4 Classful Addressing%0a> %0a> To provide flexibility in the number of addresses distributed to networks of different sizes, 4-octet (32-bit) IP addresses were originally divided into three different categories or classes: class A, class B, and class C. Each address class specifies a different number of bits for its network prefix and host number:%0a> %0a> * Class A addresses use only the first byte (octet) to specify the network prefix, leaving 3 bytes to define individual host numbers.%0a> %0a> * Class B addresses use the first 2 bytes to specify the network prefix, leaving 2 bytes to define host addresses.%0a> %0a> * Class C addresses use the first 3 bytes to specify the network prefix, leaving only the last byte to identify hosts.%0a> %0a> In binary format, with an x representing each bit in the host number, the three address classes can be represented as follows:%0a> %0a> %0a> %25center%2500000000 xxxxxxxx xxxxxxxx xxxxxxxx (Class A)%0a> %0a> %25center%2500000000 00000000 xxxxxxxx xxxxxxxx (Class B)%0a> %0a> %25center%2500000000 00000000 00000000 xxxxxxxx (Class C)%0a> %0a> %0a> Because each bit (x) in a host number can have a 0 or 1 value, each represents a power of 2. For example, if only 3 bits are available for specifying the host number, only the following host numbers are possible:%0a> %0a> %25center%25111 110 101 100 011 010 001 000%0a> %0a> In each IP address class, the number of host-number bits raised to the power of 2 indicates how many host numbers can be created for a particular network prefix. Class A addresses have 224 (or 16,777,216) possible host numbers, class B addresses have 216 (or 65,536) host numbers, and class C addresses have 28 (or 256) possible host numbers.%0a> %0a> !!IPv4 Dotted Decimal Notation%0a> %0a> The 32-bit IPv4 addresses are most often expressed in dotted decimal notation, in which each octet (or byte) is treated as a separate number. Within an octet, the rightmost bit represents 20 (or 1), increasing to the left until the first bit in the octet is 27 (or 128). Following are IP addresses in binary format and their dotted decimal equivalents:%0a> %0a> %25center%2511010000 01100010 11000000 10101010 = 208.98.192.170%0a> %0a> %25center%2501110110 00001111 11110000 01010101 = 118.15.240.85%0a> %0a> %25center%2500110011 11001100 00111100 00111011 = 51.204.60.59%0a> %0a> %0a> !!IPv4 Subnetting%0a> %0a> %0a> Because of the physical and architectural limitations on the size of networks, you often must break large networks into smaller subnetworks. Within a network, each wire or ring requires its own network number and identifying subnet address.%0a> %0a> Figure 1 shows two subnets in a network.%0a> %0a> Figure 1: Subnets in a Network%0a> %0a> %25center%25Attach:IPV4/IPV4.gif%0a> %0a> %0a> Figure 1 shows three devices connected to one subnet and three more devices connected to a second subnet. Collectively, the six devices and two subnets make up the larger network. In this example, the network is assigned the network prefix 192.14.0.0, a class C address. Each device has an IP address that falls within this network prefix.%0a> %0a> In addition to sharing a network prefix (the first two octets), the devices on each subnet share a third octet. The third octet identifies the subnet. All devices on a subnet must have the same subnet address. In this case, the alpha subnet has the IP address 192.14.126.0 and the beta subnet has the IP address 192.14.17.0.%0a> %0a> The subnet address 192.14.17.0 can be represented as follows in binary notation:%0a> %0a> %0a> %25center%2511000000 . 00001110 . 00010001 . xxxxxxxx%0a> %0a> %0a> Because the first 24 bits in the 32-bit address identify the subnet, the last 8 bits are not significant. To indicate the subnet, the address is written as 192.14.17.0/24 (or just 192.14.17/24). The /24 is the subnet mask (sometimes shown as 255.255.255.0).%0a> %0a> %0a> !!IPv4 Variable-Length Subnet Masks%0a> %0a> %0a> Traditionally, subnets were divided by address class. Subnets had either 8, 16, or 24 significant bits, corresponding to 224, 216, or 28 possible hosts. As a result, an entire /16 subnet had to be allocated for a network that required only 400 addresses, wasting 65,136 (216 – 400 = 65,136) addresses.%0a> %0a> To help allocate address spaces more efficiently, variable-length subnet masks (VLSMs) were introduced. Using VLSM, network architects can allocate more precisely the number of addresses required for a particular subnet.%0a> %0a> For example, suppose a network with the prefix 192.14.17/24 is divided into two smaller subnets, one consisting of 18 devices and the other of 46 devices.%0a> %0a> To accommodate 18 devices, the first subnet must have 25 (32) host numbers. Having 5 bits assigned to the host number leaves 27 bits of the 32-bit address for the subnet. The IP address of the first subnet is therefore 192.14.17.128/27, or the following in binary notation:%0a> %0a> %0a> %25center%2511000000 . 00001110 . 00010001 . 100xxxxx%0a> %0a> The subnet mask includes 27 significant digits.%0a> %0a> To create the second subnet of 46 devices, the network must accommodate 26 (64) host numbers. The IP address of the second subnet is 192.14.17.64/26, or %0a> %0a> %25center%2511000000 . 00001110 . 00010001 . 01xxxxxx%0a> %0a> %0a> By assigning address bits within the larger /24 subnet mask, you create two smaller subnets that use the allocated address space more efficiently.%0a\ No newline at end of file%0a +host:1616857973=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857608=chewy +diff:1616857608:1616857583:=55c55%0a%3c %25center%25Attach:IPV4/IPV4.gif%0a---%0a> Attach:IPV4/IPV4.gif%0a +host:1616857608=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857583=chewy +diff:1616857583:1616857374:=55,92c55%0a%3c Attach:IPV4/IPV4.gif%0a%3c %0a%3c %0a%3c Figure 1 shows three devices connected to one subnet and three more devices connected to a second subnet. Collectively, the six devices and two subnets make up the larger network. In this example, the network is assigned the network prefix 192.14.0.0, a class C address. Each device has an IP address that falls within this network prefix.%0a%3c %0a%3c In addition to sharing a network prefix (the first two octets), the devices on each subnet share a third octet. The third octet identifies the subnet. All devices on a subnet must have the same subnet address. In this case, the alpha subnet has the IP address 192.14.126.0 and the beta subnet has the IP address 192.14.17.0.%0a%3c %0a%3c The subnet address 192.14.17.0 can be represented as follows in binary notation:%0a%3c %0a%3c %0a%3c %25center%2511000000 . 00001110 . 00010001 . xxxxxxxx%0a%3c %0a%3c %0a%3c Because the first 24 bits in the 32-bit address identify the subnet, the last 8 bits are not significant. To indicate the subnet, the address is written as 192.14.17.0/24 (or just 192.14.17/24). The /24 is the subnet mask (sometimes shown as 255.255.255.0).%0a%3c %0a%3c %0a%3c !!IPv4 Variable-Length Subnet Masks%0a%3c %0a%3c %0a%3c Traditionally, subnets were divided by address class. Subnets had either 8, 16, or 24 significant bits, corresponding to 224, 216, or 28 possible hosts. As a result, an entire /16 subnet had to be allocated for a network that required only 400 addresses, wasting 65,136 (216 – 400 = 65,136) addresses.%0a%3c %0a%3c To help allocate address spaces more efficiently, variable-length subnet masks (VLSMs) were introduced. Using VLSM, network architects can allocate more precisely the number of addresses required for a particular subnet.%0a%3c %0a%3c For example, suppose a network with the prefix 192.14.17/24 is divided into two smaller subnets, one consisting of 18 devices and the other of 46 devices.%0a%3c %0a%3c To accommodate 18 devices, the first subnet must have 25 (32) host numbers. Having 5 bits assigned to the host number leaves 27 bits of the 32-bit address for the subnet. The IP address of the first subnet is therefore 192.14.17.128/27, or the following in binary notation:%0a%3c %0a%3c %0a%3c %25center%2511000000 . 00001110 . 00010001 . 100xxxxx%0a%3c %0a%3c The subnet mask includes 27 significant digits.%0a%3c %0a%3c To create the second subnet of 46 devices, the network must accommodate 26 (64) host numbers. The IP address of the second subnet is 192.14.17.64/26, or %0a%3c %0a%3c %25center%2511000000 . 00001110 . 00010001 . 01xxxxxx%0a%3c %0a%3c %0a%3c By assigning address bits within the larger /24 subnet mask, you create two smaller subnets that use the allocated address space more efficiently.%0a\ No newline at end of file%0a---%0a> Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a +host:1616857583=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857374=chewy +diff:1616857374:1616857344:=47a48,49%0a> %0a> IPv4 Subnetting%0a +host:1616857374=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857344=chewy +diff:1616857344:1616857260:=47,55d46%0a%3c %0a%3c %0a%3c IPv4 Subnetting%0a%3c %0a%3c Because of the physical and architectural limitations on the size of networks, you often must break large networks into smaller subnetworks. Within a network, each wire or ring requires its own network number and identifying subnet address.%0a%3c %0a%3c Figure 1 shows two subnets in a network.%0a%3c %0a%3c Figure 1: Subnets in a Network%0a +host:1616857344=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857260=chewy +diff:1616857260:1616857228:=48c48%0a%3c Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a---%0a> %25width=210px rfloat%25 Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a +host:1616857260=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857228=chewy +diff:1616857228:1616857204:=48c48%0a%3c %25width=210px rfloat%25 Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a---%0a> %25width=400px rfloat%25 Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a +host:1616857228=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616857204=chewy +diff:1616857204:1616856920:=48d47%0a%3c %25width=400px rfloat%25 Attach:IPV4/IPV4.gif%0a\ No newline at end of file%0a +host:1616857204=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616856920=chewy +diff:1616856920:1616856725:= +host:1616856920=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616856725=chewy +diff:1616856725:1616856560:=32,47d31%0a%3c %0a%3c In each IP address class, the number of host-number bits raised to the power of 2 indicates how many host numbers can be created for a particular network prefix. Class A addresses have 224 (or 16,777,216) possible host numbers, class B addresses have 216 (or 65,536) host numbers, and class C addresses have 28 (or 256) possible host numbers.%0a%3c %0a%3c !!IPv4 Dotted Decimal Notation%0a%3c %0a%3c The 32-bit IPv4 addresses are most often expressed in dotted decimal notation, in which each octet (or byte) is treated as a separate number. Within an octet, the rightmost bit represents 20 (or 1), increasing to the left until the first bit in the octet is 27 (or 128). Following are IP addresses in binary format and their dotted decimal equivalents:%0a%3c %0a%3c %25center%2511010000 01100010 11000000 10101010 = 208.98.192.170%0a%3c %0a%3c %25center%2501110110 00001111 11110000 01010101 = 118.15.240.85%0a%3c %0a%3c %25center%2500110011 11001100 00111100 00111011 = 51.204.60.59%0a%3c %0a%3c %0a%3c !!IPv4 Subnetting%0a%3c %0a +host:1616856725=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616856560=chewy +diff:1616856560:1616856526:=23d22%0a%3c %0a25d23%0a%3c %0a +host:1616856560=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616856526=chewy +diff:1616856526:1616855951:=22,29c22,27%0a%3c %25center%2500000000 xxxxxxxx xxxxxxxx xxxxxxxx (Class A)%0a%3c %25center%2500000000 00000000 xxxxxxxx xxxxxxxx (Class B)%0a%3c %25center%2500000000 00000000 00000000 xxxxxxxx (Class C)%0a%3c %0a%3c %0a%3c Because each bit (x) in a host number can have a 0 or 1 value, each represents a power of 2. For example, if only 3 bits are available for specifying the host number, only the following host numbers are possible:%0a%3c %0a%3c %25center%25111 110 101 100 011 010 001 000%0a---%0a> 00000000 xxxxxxxx xxxxxxxx xxxxxxxx (Class A)%0a> 00000000 00000000 xxxxxxxx xxxxxxxx (Class B)%0a> 00000000 00000000 00000000 xxxxxxxx (Class C)%0a> %0a> %0a> %0a +host:1616856526=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616855951=chewy +diff:1616855951:1616855769:=2,26d1%0a%3c %0a%3c IPv4 addresses are 32-bit numbers that are typically displayed in dotted decimal notation. A 32-bit address contains two primary parts: the network prefix and the host number.%0a%3c %0a%3c All hosts within a single network share the same network address. Each host also has an address that uniquely identifies it. Depending on the scope of the network and the type of device, the address is either globally or locally unique. Devices that are visible to users outside the network (webservers, for example) must have a globally unique IP address. Devices that are visible only within the network must have locally unique IP addresses.%0a%3c %0a%3c IP addresses are assigned by a central numbering authority called the Internet Assigned Numbers Authority (IANA). IANA ensures that addresses are globally unique where needed and has a large address space reserved for use by devices not visible outside their own networks.%0a%3c %0a%3c !!IPv4 Classful Addressing%0a%3c %0a%3c To provide flexibility in the number of addresses distributed to networks of different sizes, 4-octet (32-bit) IP addresses were originally divided into three different categories or classes: class A, class B, and class C. Each address class specifies a different number of bits for its network prefix and host number:%0a%3c %0a%3c * Class A addresses use only the first byte (octet) to specify the network prefix, leaving 3 bytes to define individual host numbers.%0a%3c %0a%3c * Class B addresses use the first 2 bytes to specify the network prefix, leaving 2 bytes to define host addresses.%0a%3c %0a%3c * Class C addresses use the first 3 bytes to specify the network prefix, leaving only the last byte to identify hosts.%0a%3c %0a%3c In binary format, with an x representing each bit in the host number, the three address classes can be represented as follows:%0a%3c %0a%3c %0a%3c 00000000 xxxxxxxx xxxxxxxx xxxxxxxx (Class A)%0a%3c 00000000 00000000 xxxxxxxx xxxxxxxx (Class B)%0a%3c 00000000 00000000 00000000 xxxxxxxx (Class C)%0a%3c %0a%3c %0a +host:1616855951=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616855769=chewy +diff:1616855769:1616855744:=1c1%0a%3c !!Understanding IPv4 Addressing%0a---%0a> !!'+Understanding IPv4 Addressing+'%0a +host:1616855769=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616855744=chewy +diff:1616855744:1616855744:=1,2d0%0a%3c !!'+Understanding IPv4 Addressing+'%0a%3c %0a +host:1616855744=2a02:1205:34c1:94e0:1519:e2fd:b709:801e blob - /dev/null blob + 9638cc30231c62b05b8240a70463ea1c12a56b69 (mode 644) --- /dev/null +++ wiki.d/IPv4.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1616855744 +host=38.81.163.143 +name=IPv4.RecentChanges +rev=21 +text=* [[IPv4/Overview]] . . . June 10, 2021, at 10:13 AM by [[~jrmu]]: [==]%0a +time=1623319985 blob - /dev/null blob + f794d2c92b79785612d883f39e90a5d399ab33ac (mode 644) --- /dev/null +++ wiki.d/IPv6.Overview @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613300988 +host=198.251.81.119 +name=IPv6.Overview +rev=1 +targets= +text=(:title IPv6 Overview:)%0a%0aIPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%0aUnfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%0aIPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%0aWith IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%0aIn DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC. +time=1613300988 +title=IPv6 Overview +author:1613300988=jrmu +diff:1613300988:1613300988:=1,11d0%0a%3c (:title IPv6 Overview:)%0a%3c %0a%3c IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%3c %0a%3c Unfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%3c %0a%3c IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%3c %0a%3c With IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%3c %0a%3c In DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC.%0a\ No newline at end of file%0a +host:1613300988=198.251.81.119 blob - /dev/null blob + bd89c0d2135e5cf8ef3b6b57ebc3aab21e1cce0e (mode 644) --- /dev/null +++ wiki.d/IPv6.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613300988 +host=198.251.81.119 +name=IPv6.RecentChanges +rev=1 +text=* [[IPv6/Overview]] . . . February 14, 2021, at 11:09 AM by [[~jrmu]]: [==]%0a +time=1613300988 blob - /dev/null blob + 12bb4e9a0fb2af95845c67d14a7061a649fcee79 (mode 644) --- /dev/null +++ wiki.d/Ifconfig.Change @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1616122206 +host=125.231.65.235 +name=Ifconfig.Change +rev=9 +targets=Openbsd.Staticnet,Nsd.Configure,Znc.Chroot,Ngircd.Install,Unbound.Configure,Openbsd.Ping,Openbsd.Netcat +text=To find your IPv4 address:%0a%0a[@%0a$ dig -t a @coconut.ircnow.org username.coconut.ircnow.org%0a@]%0a%0aTo find your IPv6 address:%0a%0a[@%0a$ dig -t aaaa @coconut.ircnow.org username.coconut.ircnow.org%0a@]%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IPv4 Address ||! IPv4 Gateway ||! IPv6 Address ||! IPv6 Gateway ||%0a|| 38.81.163.xxx || 38.81.163.129 || 2602:fccf:1:xxx::/64 || 2602:fccf:1::1 ||%0a%0aChecklist of networking topics to re-read:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Action ||! Description ||%0a|| [[openbsd/staticnet|Static Networking]] || Update ifconfig, /etc/mygate, and /etc/hostname.if0 ||%0a|| [[nsd/configure|NSD]] || Update the IPv6 addresses in nsd.conf and the zone file ||%0a|| [[znc/chroot|ZNC]] || Update the IPv6 addresses in znc.conf's listeners ||%0a|| [[ngircd/install|ngircd]] || Update the Listen = IP addresses in ngircd.conf ||%0a|| [[unbound/configure|Unbound]] || Update the outgoing-interface in unbound.conf ||%0a|| [[openbsd/ping|Ping]] || Troubleshoot networking using ping ||%0a|| [[openbsd/netcat|Netcat]] || Troubleshoot networking using netcat ||%0a%0a!! Stale hostname%0a%0aIf you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%0aMake sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP. +time=1616238915 +author:1616238915=jrmu +diff:1616238915:1616147673:=27,33c27%0a%3c || [[openbsd/netcat|Netcat]] || Troubleshoot networking using netcat ||%0a%3c %0a%3c !! Stale hostname%0a%3c %0a%3c If you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%3c %0a%3c Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a\ No newline at end of file%0a---%0a> || [[openbsd/netcat|Netcat]] || Troubleshoot networking using netcat ||%0a\ No newline at end of file%0a +host:1616238915=125.231.65.235 +author:1616147673=jrmu +diff:1616147673:1616147261:=1,9c1,2%0a%3c To find your IPv4 address:%0a%3c %0a%3c [@%0a%3c $ dig -t a @coconut.ircnow.org username.coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c To find your IPv6 address:%0a%3c %0a%3c [@%0a---%0a> To find your IP address:%0a> %0a11d3%0a%3c @]%0a +host:1616147673=198.251.81.119 +author:1616147261=jrmu +diff:1616147261:1616124356:=3c3%0a%3c $ dig -t aaaa @coconut.ircnow.org username.coconut.ircnow.org%0a---%0a> $ dig -t aaaa @coconut.ircnow.org error.coconut.ircnow.org%0a +host:1616147261=198.251.81.119 +author:1616124356=jrmu +diff:1616124356:1616122732:=7c7%0a%3c || 38.81.163.xxx || 38.81.163.129 || 2602:fccf:1:xxx::/64 || 2602:fccf:1::1 ||%0a---%0a> || 38.81.163.xxx || 38.81.163.129 || 2602:fccf:1:xxxx::/64 || 2602:fccf:1::1 ||%0a +host:1616124356=125.231.65.235 +author:1616122732=jrmu +diff:1616122732:1616122513:=9,10c9,10%0a%3c Checklist of networking topics to re-read:%0a%3c %0a---%0a> You will need to reconfigure:%0a> %0a13c13%0a%3c || [[openbsd/staticnet|Static Networking]] || Update ifconfig, /etc/mygate, and /etc/hostname.if0 ||%0a---%0a> || [[openbsd/staticnet|Static Networking]] || Configure ifconfig, /etc/mygate, and /etc/hostname.if0 ||%0a17,19c17%0a%3c || [[unbound/configure|Unbound]] || Update the outgoing-interface in unbound.conf ||%0a%3c || [[openbsd/ping|Ping]] || Troubleshoot networking using ping ||%0a%3c || [[openbsd/netcat|Netcat]] || Troubleshoot networking using netcat ||%0a\ No newline at end of file%0a---%0a> || [[unbound/configure|Unbound]] || Update the outgoing-interface in unbound.conf ||%0a\ No newline at end of file%0a +host:1616122732=198.251.81.119 +author:1616122513=jrmu +diff:1616122513:1616122307:=14,17c14%0a%3c || [[nsd/configure|NSD]] || Update the IPv6 addresses in nsd.conf and the zone file ||%0a%3c || [[znc/chroot|ZNC]] || Update the IPv6 addresses in znc.conf's listeners ||%0a%3c || [[ngircd/install|ngircd]] || Update the Listen = IP addresses in ngircd.conf ||%0a%3c || [[unbound/configure|Unbound]] || Update the outgoing-interface in unbound.conf ||%0a\ No newline at end of file%0a---%0a> || [[nsd/configure|NSD]] || You'll need to update the IPv6 addresses in nsd.conf and the zone file ||%0a\ No newline at end of file%0a +host:1616122513=198.251.81.119 +author:1616122307=jrmu +diff:1616122307:1616122224:=9,10d8%0a%3c You will need to reconfigure:%0a%3c %0a13,14c11,12%0a%3c || [[openbsd/staticnet|Static Networking]] || Configure ifconfig, /etc/mygate, and /etc/hostname.if0 ||%0a%3c || [[nsd/configure|NSD]] || You'll need to update the IPv6 addresses in nsd.conf and the zone file ||%0a\ No newline at end of file%0a---%0a> || Reconfigure Static Networking || You'll need to reconfigure ifconfig and /etc/hostname.if0 ||%0a> || Reconfigure Static Networking || You'll need to reconfigure ifconfig and /etc/hostname.if0 ||%0a\ No newline at end of file%0a +host:1616122307=198.251.81.119 +author:1616122224=jrmu +diff:1616122224:1616122206:=6c6%0a%3c ||! IPv4 Address ||! IPv4 Gateway ||! IPv6 Address ||! IPv6 Gateway ||%0a---%0a> || IPv4 Address || IPv4 Gateway || IPv6 Address || IPv6 Gateway ||%0a10c10%0a%3c ||! Action ||! Description ||%0a---%0a> || Action || Description ||%0a +host:1616122224=198.251.81.119 +author:1616122206=jrmu +diff:1616122206:1616122206:=1,12d0%0a%3c To find your IP address:%0a%3c %0a%3c $ dig -t aaaa @coconut.ircnow.org error.coconut.ircnow.org%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || IPv4 Address || IPv4 Gateway || IPv6 Address || IPv6 Gateway ||%0a%3c || 38.81.163.xxx || 38.81.163.129 || 2602:fccf:1:xxxx::/64 || 2602:fccf:1::1 ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || Action || Description ||%0a%3c || Reconfigure Static Networking || You'll need to reconfigure ifconfig and /etc/hostname.if0 ||%0a%3c || Reconfigure Static Networking || You'll need to reconfigure ifconfig and /etc/hostname.if0 ||%0a\ No newline at end of file%0a +host:1616122206=198.251.81.119 blob - /dev/null blob + 1de2cb6a2f812a2485b2c0bd1f5dc2fecc6690bb (mode 644) --- /dev/null +++ wiki.d/Ifconfig.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1616122206 +host=125.231.65.235 +name=Ifconfig.RecentChanges +rev=9 +text=* [[Ifconfig/Change]] . . . March 20, 2021, at 11:15 AM by [[~jrmu]]: [==]%0a +time=1616238915 blob - /dev/null blob + 1ddfbed42531f931ddb276d7650b4a12d4ca0d78 (mode 644) --- /dev/null +++ wiki.d/Iked.Android @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 Safari/537.36 +author=st13g +charset=UTF-8 +csum= +ctime=1618775845 +host=190.42.16.42 +name=Iked.Android +rev=2 +targets= +text=Setting up VPN Client (Android)%0a%0a%0aFirst, install strongSwan VPN Client%0aAttach:cero.jpg%0a%0aSecond, open the application, and press over menu button, it will show you many options, select in "CA certificates"%0a%0aAttach:segundo.jpg%0a%0aThird,over the menu button, import the certificate from your files ,before that you must have the cert file in your cellphone's storage%0a%0aAttach:tercero.jpg%0a%0aCome back to the main page in the app,and press "Add VPN profile", fill all the info, dont change the "VPN Type" option, and uncheck in "CA certificate" the "Select automatically" box, it will show a new option "Select CA certificate", press, and in the imported CA certificate, your certificate that you previously have imported, will appear%0a%0aAttach:cuarto.jpg%0a%0aAttach:quinto.jpg%0a%0aFinally, press "SAVE", and then the screen will show the main menu, with the profile that you have created, just press over it, and it will connect.%0a%0aAttach:sexto.jpg +time=1618776398 +author:1618776398=st13g +diff:1618776398:1618775845:=5,23c5%0a%3c Attach:cero.jpg%0a%3c %0a%3c Second, open the application, and press over menu button, it will show you many options, select in "CA certificates"%0a%3c %0a%3c Attach:segundo.jpg%0a%3c %0a%3c Third,over the menu button, import the certificate from your files ,before that you must have the cert file in your cellphone's storage%0a%3c %0a%3c Attach:tercero.jpg%0a%3c %0a%3c Come back to the main page in the app,and press "Add VPN profile", fill all the info, dont change the "VPN Type" option, and uncheck in "CA certificate" the "Select automatically" box, it will show a new option "Select CA certificate", press, and in the imported CA certificate, your certificate that you previously have imported, will appear%0a%3c %0a%3c Attach:cuarto.jpg%0a%3c %0a%3c Attach:quinto.jpg%0a%3c %0a%3c Finally, press "SAVE", and then the screen will show the main menu, with the profile that you have created, just press over it, and it will connect.%0a%3c %0a%3c Attach:sexto.jpg%0a\ No newline at end of file%0a---%0a> Attach:cero.jpg%0a\ No newline at end of file%0a +host:1618776398=190.42.16.42 +author:1618775845=st13g +diff:1618775845:1618775845:=1,5d0%0a%3c Setting up VPN Client (Android)%0a%3c %0a%3c %0a%3c First, install strongSwan VPN Client%0a%3c Attach:cero.jpg%0a\ No newline at end of file%0a +host:1618775845=190.42.16.42 blob - /dev/null blob + ef217b4a2af0a208639416b669c6b859bc3f1130 (mode 644) --- /dev/null +++ wiki.d/Iked.Configure @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1615256737 +host=125.231.70.149 +name=Iked.Configure +rev=18 +targets=IP.Myaddress,Openhttpd.Configure +text=(:title Configuring OpenIKED:)%0a%0aOpenIKED is OpenBSD's native VPN solution. It is included with the base system,%0aso no installation will be necessary. It allows us to use IPSec to provide%0ausers with a VPN for security, privacy, and freedom of information.%0a%0aPros:%0a%0a* Clean%0a* Secure%0a* Interoperable%0a* Simple to Configure%0a%0aThis configuration is for a road warrior setup, where a user wants to connect his device to a network (rather than connecting two networks).%0a%0a!! Configure iked.conf%0a%0aAdd this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with your domain):%0a%0a[@%0auser 'username' 'password'%0aikev2 'vpn.ircnow.org' passive esp \%0a from 0.0.0.0/0 to 0.0.0.0/0 \%0a local 203.0.113.5 peer any \%0a srcid vpn.ircnow.org \%0a eap "mschap-v2" \%0a config address 10.0.5.0/24 \%0a config name-server 203.0.113.5 \%0a tag "ROADW"%0a@]%0a%0aThe 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%0aiked depends upon packet filter being enabled. First, you must make sure to enable%0apacket filter if it is off:%0a%0a[@%0a$ doas pfctl -e%0a@]%0a%0aAdd this to /etc/pf.conf:%0a%0a[@%0apass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0apass in inet proto esp tag IKED%0apass on enc0 inet tagged ROADW%0amatch out on $ext_if inet tagged ROADW nat-to $ext_if%0amatch in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0awhere ext_if is [[IP/Myaddress|your external interface]].%0a%0aTo find your external interface, type:%0a%0a[@%0a$ ifconfig%0a@]%0a%0aThe external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%0aTo reload the new pf ruleset:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf %0a@]%0a%0aAt this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%0a[@%0a# ikectl ca vpn create%0a# ikectl ca vpn install%0acertificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0aCRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a# ikectl ca vpn certificate example.com create%0a# ikectl ca vpn certificate example.com install%0awriting RSA key%0a@]%0a%0aReplace @@example.com@@ with your actual domain.%0a%0aUsers of the VPN will need to download @@/etc/iked/ca/ca.crt@@ to their device. The easiest way is to use [[openhttpd/configure|openhttpd]] and serve the file over the web.%0a%0a[@%0a# cp /etc/iked/ca/ca.crt /var/www/htdocs/example.com/%0a# chown www:daemon /var/www/htdocs/example.com/ca.crt%0a@]%0a%0aIf the web server is configured correctly, users can then download the file at @@https://example.com/ca.crt@@.%0a%0aWe will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%0a/etc/resolv.conf:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0a/etc/resolv.conf.tail:%0a%0a[@%0alookup file bind%0a@]%0a%0a/var/unbound/etc/unbound.conf:%0a%0a[@%0aoutgoing-interface: 203.0.113.5%0aaccess-control: 10.0.0.0/8 allow%0a...%0a%0alocal-zone: "www.domain.com" static%0a%0a...%0a%0aforward-zone:%0aforward-addr: 185.121.177.177%0aforward-addr: 169.239.202.202%0a%0a...%0a@]%0a%0aThe local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%0a[@%0a$ ftp https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a@]%0a%0aWe need to reformat this hosts file:%0a%0a[@%0a$ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a$ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a$ sed 's/ "/"/' newhosts2 > newhosts3%0a@]%0a%0aManually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%0aAdd this to /etc/sysctl.conf:%0a%0a[@%0anet.inet.ip.forwarding=1%0anet.inet6.ip6.forwarding=1%0anet.inet.ipcomp.enable=1%0anet.inet.esp.enable=1%0anet.inet.ah.enable=1%0a@]%0a%0aRun this once:%0a%0a[@%0a$ doas sysctl net.inet.ip.forwarding=1%0a$ doas sysctl net.inet6.ip6.forwarding=1%0a$ doas sysctl net.inet.ipcomp.enable=1%0a$ doas sysctl net.inet.esp.enable=1%0a$ doas sysctl net.inet.ah.enable=1%0a@]%0a%0aIP forwarding allows the server to forward the user's packets to their final destination.%0a%0aTighten file permissions, then start iked:%0a%0a[@%0a$ doas chmod 0600 /etc/iked.conf%0a$ doas rcctl enable iked%0a$ doas rcctl start iked%0a@]%0a%0aNote: You may consider using blacklists from here:%0ahttps://dsi.ut-capitole.fr/blacklists/index_en.php%0ahttps://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0ahttps://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a%0aBanned networks:%0a%0airc.p2p-network.net%0airc.gazellegames.net%0airc.nzbs.in%0a%0a!! Troubleshooting%0a%0aRunning iked in debug mode can provide valuable info about errors in configuration.%0a%0aFirst, turn off iked if it is running:%0a%0a[@%0a$ doas rcctl stop iked%0a@]%0a%0aCheck to make sure no iked processes are running:%0a%0a[@%0a$ ps ax | grep iked%0a@]%0a%0aThen, run iked in debug mode:%0a%0a[@%0a$ doas iked -dv%0a@]%0a%0a-d will cause iked to not daemonize, and -v will report errors verbosely.%0a +time=1628357021 +title=Configuring OpenIKED +author:1628357021=jrmu +diff:1628357021:1628354928:=51c51%0a%3c where ext_if is [[IP/Myaddress|your external interface]].%0a---%0a> where ext_if is your external interface. ([[IP/Myaddress|Read how to find your external interface]])%0a +host:1628357021=125.231.70.149 +author:1628354928=jrmu +diff:1628354928:1620873984:=1,8c1,7%0a%3c (:title Configuring OpenIKED:)%0a%3c %0a%3c OpenIKED is OpenBSD's native VPN solution. It is included with the base system,%0a%3c so no installation will be necessary. It allows us to use IPSec to provide%0a%3c users with a VPN for security, privacy, and freedom of information.%0a%3c %0a%3c Pros:%0a%3c %0a---%0a> [+IKED+]%0a> %0a> OpenIKED is a free implementation of IKEv2 protocol which enable us to create VPNs in openBSD. OpenIKED is developed as part of the OpenBSD Project in that way comes with the OS, there is no need to install it.%0a> %0a> OpenIKED focuses mainly:%0a> %0a> * Lean%0a12,19c11,67%0a%3c * Simple to Configure%0a%3c %0a%3c This configuration is for a road warrior setup, where a user wants to connect his device to a network (rather than connecting two networks).%0a%3c %0a%3c !! Configure iked.conf%0a%3c %0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with your domain):%0a%3c %0a---%0a> * Configurable%0a> %0a> Now, we'll set up the VPN, both on the server-side and on the client-side%0a> %0a> [+SETTING UP IKED - (SERVER-SIDE)+]%0a> %0a> First we need to add some rules to our pf filters in order to allow IKED, isakmp, ipsec packages pass.%0a> Add this to /etc/pf.conf and make sure that $ext_if match your output interface. If you dont know what is your $ext_if, just issue the following command in your terminal @@$coconut ifconfig@@ and you'll see the interfaces, your $ext_if is the one who has an public IP address, for example it could be vio0.[[%3c%3c]][[%3c%3c]]%0a> add the following lines to the file%0a> @@/etc/pf.conf@@ %0a> %0a> @@pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED[[%3c%3c]]@@%0a> @@pass in inet proto esp tag IKED[[%3c%3c]]@@%0a> @@pass on enc0 inet tagged ROADW[[%3c%3c]]@@%0a> @@match out on $ext_if inet tagged ROADW nat-to $ext_if[[%3c%3c]]@@%0a> @@match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53[[%3c%3c]]@@%0a> %0a> Then in order to update the ruleset or apply the changes, we need to reload pf, we could do that with the following line:%0a> %0a> @@$ doas pfctl -f /etc/pf.conf [[%3c%3c]]@@%0a> %0a> At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. In the part %3cserver1.domain>, replace it with your own domain. From the command line just run:%0a> %0a> %0a> @@$doas ikectl ca vpn create[[%3c%3c]]@@%0a> @@$doas ikectl ca vpn install[[%3c%3c]]@@%0a> @@certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt[[%3c%3c]]@@%0a> @@CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl[[%3c%3c]]@@%0a> @@$doas ikectl ca vpn certificate server1.domain create[[%3c%3c]]@@%0a> @@$doas ikectl ca vpn certificate server1.domain install[[%3c%3c]]@@%0a> @@writing RSA key[[%3c%3c]]@@%0a> %0a> the file we need to export to the clients will be @@/etc/iked/ca/ca.crt@@ we can do that, using scp to copy the file from our server to our local computer or some other application in your phone, there is no need to install scp,scp use the same credentials that ssh use, you can run the following command[[%3c%3c]]%0a> %0a> @@$scp %3cuser>@%3cuser>.coconut.ircnow.org:/etc/iked/ca/ca.crt .@@%0a> %0a> %0a> Make sure to enable IP forwarding. you must be asking Why?, let me explain it, if you dont enable this kernel feature, your server will not act as a router,in other words, it cannot forward packages to their destination, your packages will be able to reach the server, but then they will be stuck there, without possibility to get out from there[[%3c%3c]]%0a> %0a> @@$echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a> @@$echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a> @@$echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf [[%3c%3c]]@@ %0a> @@$echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a> @@$echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a> @@$sysctl net.inet.ip.forwarding=1[[%3c%3c]]@@%0a> @@$sysctl net.inet6.ip6.forwarding=1[[%3c%3c]]@@%0a> %0a> [[%3c%3c]]%0a> We will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):[[%3c%3c]]%0a> @@/etc/resolv.conf:@@%0a> %0a> nameserver 127.0.0.1%0a> lookup file bind%0a> /etc/resolv.conf.tail:%0a> %0a> lookup file bind%0a> @@/var/unbound/etc/unbound.conf:@@%0a21,29c69,81%0a%3c user 'username' 'password'%0a%3c ikev2 'vpn.ircnow.org' passive esp \%0a%3c from 0.0.0.0/0 to 0.0.0.0/0 \%0a%3c local 203.0.113.5 peer any \%0a%3c srcid vpn.ircnow.org \%0a%3c eap "mschap-v2" \%0a%3c config address 10.0.5.0/24 \%0a%3c config name-server 203.0.113.5 \%0a%3c tag "ROADW"%0a---%0a> outgoing-interface: 203.0.113.5%0a> access-control: 10.0.0.0/8 allow%0a> ...%0a> %0a> local-zone: "www.domain.com" static%0a> %0a> ...%0a> %0a> forward-zone:%0a> forward-addr: 185.121.177.177%0a> forward-addr: 169.239.202.202%0a> %0a> ...%0a32,36c84,88%0a%3c The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%3c %0a%3c iked depends upon packet filter being enabled. First, you must make sure to enable%0a%3c packet filter if it is off:%0a%3c %0a---%0a> The local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using StevenBlack's hosts files. I used the unified hosts + porn + gambling filter to block unwanted content.[[>>]]%0a> %0a> @@$ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts@@[[%3c%3c]]%0a> %0a> We need to reformat this hosts file:[[%3c%3c]]%0a38,131d89%0a%3c $ doas pfctl -e%0a%3c @]%0a%3c %0a%3c Add this to /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $ext_if inet tagged ROADW nat-to $ext_if%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c @]%0a%3c %0a%3c where ext_if is your external interface. ([[IP/Myaddress|Read how to find your external interface]])%0a%3c %0a%3c To find your external interface, type:%0a%3c %0a%3c [@%0a%3c $ ifconfig%0a%3c @]%0a%3c %0a%3c The external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%3c %0a%3c To reload the new pf ruleset:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf %0a%3c @]%0a%3c %0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%3c %0a%3c [@%0a%3c # ikectl ca vpn create%0a%3c # ikectl ca vpn install%0a%3c certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0a%3c CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a%3c # ikectl ca vpn certificate example.com create%0a%3c # ikectl ca vpn certificate example.com install%0a%3c writing RSA key%0a%3c @]%0a%3c %0a%3c Replace @@example.com@@ with your actual domain.%0a%3c %0a%3c Users of the VPN will need to download @@/etc/iked/ca/ca.crt@@ to their device. The easiest way is to use [[openhttpd/configure|openhttpd]] and serve the file over the web.%0a%3c %0a%3c [@%0a%3c # cp /etc/iked/ca/ca.crt /var/www/htdocs/example.com/%0a%3c # chown www:daemon /var/www/htdocs/example.com/ca.crt%0a%3c @]%0a%3c %0a%3c If the web server is configured correctly, users can then download the file at @@https://example.com/ca.crt@@.%0a%3c %0a%3c We will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%3c %0a%3c /etc/resolv.conf:%0a%3c %0a%3c [@%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c /etc/resolv.conf.tail:%0a%3c %0a%3c [@%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c /var/unbound/etc/unbound.conf:%0a%3c %0a%3c [@%0a%3c outgoing-interface: 203.0.113.5%0a%3c access-control: 10.0.0.0/8 allow%0a%3c ...%0a%3c %0a%3c local-zone: "www.domain.com" static%0a%3c %0a%3c ...%0a%3c %0a%3c forward-zone:%0a%3c forward-addr: 185.121.177.177%0a%3c forward-addr: 169.239.202.202%0a%3c %0a%3c ...%0a%3c @]%0a%3c %0a%3c The local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%3c %0a%3c [@%0a%3c $ ftp https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a%3c @]%0a%3c %0a%3c We need to reformat this hosts file:%0a%3c %0a%3c [@%0a135,202c93,123%0a%3c @]%0a%3c %0a%3c Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%3c %0a%3c Add this to /etc/sysctl.conf:%0a%3c %0a%3c [@%0a%3c net.inet.ip.forwarding=1%0a%3c net.inet6.ip6.forwarding=1%0a%3c net.inet.ipcomp.enable=1%0a%3c net.inet.esp.enable=1%0a%3c net.inet.ah.enable=1%0a%3c @]%0a%3c %0a%3c Run this once:%0a%3c %0a%3c [@%0a%3c $ doas sysctl net.inet.ip.forwarding=1%0a%3c $ doas sysctl net.inet6.ip6.forwarding=1%0a%3c $ doas sysctl net.inet.ipcomp.enable=1%0a%3c $ doas sysctl net.inet.esp.enable=1%0a%3c $ doas sysctl net.inet.ah.enable=1%0a%3c @]%0a%3c %0a%3c IP forwarding allows the server to forward the user's packets to their final destination.%0a%3c %0a%3c Tighten file permissions, then start iked:%0a%3c %0a%3c [@%0a%3c $ doas chmod 0600 /etc/iked.conf%0a%3c $ doas rcctl enable iked%0a%3c $ doas rcctl start iked%0a%3c @]%0a%3c %0a%3c Note: You may consider using blacklists from here:%0a%3c https://dsi.ut-capitole.fr/blacklists/index_en.php%0a%3c https://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0a%3c https://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a%3c %0a%3c Banned networks:%0a%3c %0a%3c irc.p2p-network.net%0a%3c irc.gazellegames.net%0a%3c irc.nzbs.in%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Running iked in debug mode can provide valuable info about errors in configuration.%0a%3c %0a%3c First, turn off iked if it is running:%0a%3c %0a%3c [@%0a%3c $ doas rcctl stop iked%0a%3c @]%0a%3c %0a%3c Check to make sure no iked processes are running:%0a%3c %0a%3c [@%0a%3c $ ps ax | grep iked%0a%3c @]%0a%3c %0a%3c Then, run iked in debug mode:%0a%3c %0a%3c [@%0a%3c $ doas iked -dv%0a%3c @]%0a%3c %0a%3c -d will cause iked to not daemonize, and -v will report errors verbosely.%0a---%0a> @][[%3c%3c]]%0a> Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.[[%3c%3c]]%0a> %0a> %0a> %0a> %0a> Till now we have configured the pf ruleset, the forwarding features, the DNS resolver and we have the certificates, now we need to configure the IKED itself.%0a> Add this to @@/etc/iked.conf@@ (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):[[%3c%3c]]%0a> %0a> %0a> @@user 'username' 'password'[[%3c%3c]]@@%0a> @@ ikev2 'vpn.ircnow.org' passive esp \[[%3c%3c]]@@%0a> @@ from 0.0.0.0/0 to 0.0.0.0/0 \[[%3c%3c]]@@%0a> @@ local 203.0.113.5 peer any \[[%3c%3c]]@@%0a> @@ srcid vpn.ircnow.org \[[%3c%3c]]@@%0a> @@ eap "mschap-v2" \[[%3c%3c]]@@%0a> @@ config address 10.0.5.0/24 \[[%3c%3c]]@@%0a> @@ config name-server 203.0.113.5 \[[%3c%3c]]@@%0a> @@ tag "ROADW"[[%3c%3c]]@@%0a> %0a> %0a> Now, all is ready to start our VPN iked,just run the following commands[[%3c%3c]]%0a> @@$ doas chmod 0600 /etc/iked.conf [[%3c%3c]]@@%0a> @@$ doas rcctl enable iked[[%3c%3c]]@@%0a> @@$ doas rcctl start iked[[%3c%3c]]@@%0a> %0a> %0a> [+TROUBLESHOOTING+][[%3c%3c]]%0a> Maybe we couldnt get it running, so we need to start the service in debug mode, just ignore the prior commands and run the following line[[%3c%3c]]%0a> @@$doas iked -dvvv@@[[%3c%3c]]%0a> this will show all the info you need in order the fix the issue%0a\ No newline at end of file%0a +host:1628354928=125.231.70.149 +author:1620873984=st13g +diff:1620873984:1620873920:=86,88c86,88%0a%3c @@$ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts@@[[%3c%3c]]%0a%3c %0a%3c We need to reformat this hosts file:[[%3c%3c]]%0a---%0a> @@$ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts@@[[>>]]%0a> %0a> We need to reformat this hosts file:[[>>]]%0a93,94c93,94%0a%3c @][[%3c%3c]]%0a%3c Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.[[%3c%3c]]%0a---%0a> @][[>>]]%0a> Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.[[>>]]%0a +host:1620873984=200.121.220.221 +author:1620873920=st13g +diff:1620873920:1620873456:=58,99c58,59%0a%3c [[%3c%3c]]%0a%3c We will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):[[%3c%3c]]%0a%3c @@/etc/resolv.conf:@@%0a%3c %0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c /etc/resolv.conf.tail:%0a%3c %0a%3c lookup file bind%0a%3c @@/var/unbound/etc/unbound.conf:@@%0a%3c [@%0a%3c outgoing-interface: 203.0.113.5%0a%3c access-control: 10.0.0.0/8 allow%0a%3c ...%0a%3c %0a%3c local-zone: "www.domain.com" static%0a%3c %0a%3c ...%0a%3c %0a%3c forward-zone:%0a%3c forward-addr: 185.121.177.177%0a%3c forward-addr: 169.239.202.202%0a%3c %0a%3c ...%0a%3c @]%0a%3c %0a%3c The local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using StevenBlack's hosts files. I used the unified hosts + porn + gambling filter to block unwanted content.[[>>]]%0a%3c %0a%3c @@$ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts@@[[>>]]%0a%3c %0a%3c We need to reformat this hosts file:[[>>]]%0a%3c [@%0a%3c $ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a%3c $ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a%3c $ sed 's/ "/"/' newhosts2 > newhosts3%0a%3c @][[>>]]%0a%3c Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.[[>>]]%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Till now we have configured the pf ruleset, the forwarding features, the DNS resolver and we have the certificates, now we need to configure the IKED itself.%0a---%0a> %0a> Till now we have configured the pf ruleset, the forwarding features and we have the certificates, now we need to configure the IKED itself.%0a +host:1620873920=200.121.220.221 +author:1620873456=st13g +diff:1620873456:1620873434:=80c80%0a%3c [+TROUBLESHOOTING+][[%3c%3c]]%0a---%0a> [+TROUBLESHOOTING+]%0a +host:1620873456=200.121.220.221 +author:1620873434=st13g +diff:1620873434:1620872105:=32,83c32,73%0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. In the part %3cserver1.domain>, replace it with your own domain. From the command line just run:%0a%3c %0a%3c %0a%3c @@$doas ikectl ca vpn create[[%3c%3c]]@@%0a%3c @@$doas ikectl ca vpn install[[%3c%3c]]@@%0a%3c @@certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt[[%3c%3c]]@@%0a%3c @@CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl[[%3c%3c]]@@%0a%3c @@$doas ikectl ca vpn certificate server1.domain create[[%3c%3c]]@@%0a%3c @@$doas ikectl ca vpn certificate server1.domain install[[%3c%3c]]@@%0a%3c @@writing RSA key[[%3c%3c]]@@%0a%3c %0a%3c the file we need to export to the clients will be @@/etc/iked/ca/ca.crt@@ we can do that, using scp to copy the file from our server to our local computer or some other application in your phone, there is no need to install scp,scp use the same credentials that ssh use, you can run the following command[[%3c%3c]]%0a%3c %0a%3c @@$scp %3cuser>@%3cuser>.coconut.ircnow.org:/etc/iked/ca/ca.crt .@@%0a%3c %0a%3c %0a%3c Make sure to enable IP forwarding. you must be asking Why?, let me explain it, if you dont enable this kernel feature, your server will not act as a router,in other words, it cannot forward packages to their destination, your packages will be able to reach the server, but then they will be stuck there, without possibility to get out from there[[%3c%3c]]%0a%3c %0a%3c @@$echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a%3c @@$echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a%3c @@$echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf [[%3c%3c]]@@ %0a%3c @@$echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a%3c @@$echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf[[%3c%3c]]@@%0a%3c @@$sysctl net.inet.ip.forwarding=1[[%3c%3c]]@@%0a%3c @@$sysctl net.inet6.ip6.forwarding=1[[%3c%3c]]@@%0a%3c %0a%3c %0a%3c Till now we have configured the pf ruleset, the forwarding features and we have the certificates, now we need to configure the IKED itself.%0a%3c Add this to @@/etc/iked.conf@@ (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):[[%3c%3c]]%0a%3c %0a%3c %0a%3c @@user 'username' 'password'[[%3c%3c]]@@%0a%3c @@ ikev2 'vpn.ircnow.org' passive esp \[[%3c%3c]]@@%0a%3c @@ from 0.0.0.0/0 to 0.0.0.0/0 \[[%3c%3c]]@@%0a%3c @@ local 203.0.113.5 peer any \[[%3c%3c]]@@%0a%3c @@ srcid vpn.ircnow.org \[[%3c%3c]]@@%0a%3c @@ eap "mschap-v2" \[[%3c%3c]]@@%0a%3c @@ config address 10.0.5.0/24 \[[%3c%3c]]@@%0a%3c @@ config name-server 203.0.113.5 \[[%3c%3c]]@@%0a%3c @@ tag "ROADW"[[%3c%3c]]@@%0a%3c %0a%3c %0a%3c Now, all is ready to start our VPN iked,just run the following commands[[%3c%3c]]%0a%3c @@$ doas chmod 0600 /etc/iked.conf [[%3c%3c]]@@%0a%3c @@$ doas rcctl enable iked[[%3c%3c]]@@%0a%3c @@$ doas rcctl start iked[[%3c%3c]]@@%0a%3c %0a%3c %0a%3c [+TROUBLESHOOTING+]%0a%3c Maybe we couldnt get it running, so we need to start the service in debug mode, just ignore the prior commands and run the following line[[%3c%3c]]%0a%3c @@$doas iked -dvvv@@[[%3c%3c]]%0a%3c this will show all the info you need in order the fix the issue%0a\ No newline at end of file%0a---%0a> At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a> %0a> %0a> $doas ikectl ca vpn create[[%3c%3c]]%0a> $doas ikectl ca vpn install[[%3c%3c]]%0a> certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt[[%3c%3c]]%0a> CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl[[%3c%3c]]%0a> $doas ikectl ca vpn certificate server1.domain create[[%3c%3c]]%0a> $doas ikectl ca vpn certificate server1.domain install[[%3c%3c]]%0a> writing RSA key[[%3c%3c]]%0a> %0a> the file we need to export will be /etc/iked/ca/ca.crt[[%3c%3c]]%0a> %0a> %0a> Make sure to enable IP forwarding[[%3c%3c]]%0a> %0a> $echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]%0a> $echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]%0a> $echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf [[%3c%3c]] %0a> $echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf[[%3c%3c]]%0a> $echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf[[%3c%3c]]%0a> $sysctl net.inet.ip.forwarding=1[[%3c%3c]]%0a> $sysctl net.inet6.ip6.forwarding=1[[%3c%3c]]%0a> %0a> Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):[[%3c%3c]]%0a> %0a> %0a> user 'username' 'password'[[%3c%3c]]%0a> ikev2 'vpn.ircnow.org' passive esp \[[%3c%3c]]%0a> from 0.0.0.0/0 to 0.0.0.0/0 \[[%3c%3c]]%0a> local 203.0.113.5 peer any \[[%3c%3c]]%0a> srcid vpn.ircnow.org \[[%3c%3c]]%0a> eap "mschap-v2" \[[%3c%3c]]%0a> config address 10.0.5.0/24 \[[%3c%3c]]%0a> config name-server 203.0.113.5 \[[%3c%3c]]%0a> tag "ROADW"[[%3c%3c]]%0a> %0a> %0a> To start iked,[[%3c%3c]]%0a> $ doas chmod 0600 /etc/iked.conf [[%3c%3c]]%0a> $ doas rcctl enable iked[[%3c%3c]]%0a> $ doas rcctl start iked[[%3c%3c]]%0a\ No newline at end of file%0a +host:1620873434=200.121.220.221 +author:1620872105=st13g +diff:1620872105:1620871815:=18,30c18,29%0a%3c Add this to /etc/pf.conf and make sure that $ext_if match your output interface. If you dont know what is your $ext_if, just issue the following command in your terminal @@$coconut ifconfig@@ and you'll see the interfaces, your $ext_if is the one who has an public IP address, for example it could be vio0.[[%3c%3c]][[%3c%3c]]%0a%3c add the following lines to the file%0a%3c @@/etc/pf.conf@@ %0a%3c %0a%3c @@pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED[[%3c%3c]]@@%0a%3c @@pass in inet proto esp tag IKED[[%3c%3c]]@@%0a%3c @@pass on enc0 inet tagged ROADW[[%3c%3c]]@@%0a%3c @@match out on $ext_if inet tagged ROADW nat-to $ext_if[[%3c%3c]]@@%0a%3c @@match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53[[%3c%3c]]@@%0a%3c %0a%3c Then in order to update the ruleset or apply the changes, we need to reload pf, we could do that with the following line:%0a%3c %0a%3c @@$ doas pfctl -f /etc/pf.conf [[%3c%3c]]@@%0a---%0a> Add this to /etc/pf.conf and make sure that $ext_if match your output interface. If you dont know what is your $ext_if, just issue the following command in your terminal @@$coconut ifconfig@@ and you'll see the interfaces, your $ext_if is the one who has an public IP address, for example it could be vio0.[[%3c%3c]]%0a> @@/etc/pf.conf@@ add this lines to the file%0a> @@%0a> pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED[[%3c%3c]]%0a> pass in inet proto esp tag IKED[[%3c%3c]]%0a> pass on enc0 inet tagged ROADW[[%3c%3c]]%0a> match out on $ext_if inet tagged ROADW nat-to $ext_if[[%3c%3c]]%0a> match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53[[%3c%3c]]%0a> @@%0a> To reload the new pf ruleset:%0a> %0a> $ doas pfctl -f /etc/pf.conf [[%3c%3c]]%0a +host:1620872105=200.121.220.221 +author:1620871815=st13g +diff:1620871815:1620871303:=15,20c15,20%0a%3c [+SETTING UP IKED - (SERVER-SIDE)+]%0a%3c %0a%3c First we need to add some rules to our pf filters in order to allow IKED, isakmp, ipsec packages pass.%0a%3c Add this to /etc/pf.conf and make sure that $ext_if match your output interface. If you dont know what is your $ext_if, just issue the following command in your terminal @@$coconut ifconfig@@ and you'll see the interfaces, your $ext_if is the one who has an public IP address, for example it could be vio0.[[%3c%3c]]%0a%3c @@/etc/pf.conf@@ add this lines to the file%0a%3c @@%0a---%0a> [+SETTING UP VPN SERVER IKED+]%0a> %0a> %0a> %0a> Add this to /etc/pf.conf and make sure that $ext_if match your output interface%0a> %0a26c26%0a%3c @@%0a---%0a> %0a +host:1620871815=200.121.220.221 +author:1620871303=st13g +diff:1620871303:1620870974:=1,4c1,4%0a%3c [+IKED+]%0a%3c %0a%3c OpenIKED is a free implementation of IKEv2 protocol which enable us to create VPNs in openBSD. OpenIKED is developed as part of the OpenBSD Project in that way comes with the OS, there is no need to install it.%0a%3c %0a---%0a> IKED%0a> %0a> OpenIKED is a free implementation of IKEv2 protocol which enable us to create a VPNs in openBSD. OpenIKED is developed as part of the OpenBSD Project in that way comes with the OS, there is no need to install it.%0a> %0a7,16c7,14%0a%3c * Lean%0a%3c * Clean%0a%3c * Secure%0a%3c * Interoperable%0a%3c * Configurable%0a%3c %0a%3c Now, we'll set up the VPN, both on the server-side and on the client-side%0a%3c %0a%3c [+SETTING UP VPN SERVER IKED+]%0a%3c %0a---%0a> # Lean%0a> # Clean%0a> # Secure%0a> # Interoperable%0a> # Configurable%0a> %0a> %0a> SETTING UP VPN SERVER IKED%0a +host:1620871303=200.121.220.221 +author:1620870974=st13g +diff:1620870974:1618777673:=1,13d0%0a%3c IKED%0a%3c %0a%3c OpenIKED is a free implementation of IKEv2 protocol which enable us to create a VPNs in openBSD. OpenIKED is developed as part of the OpenBSD Project in that way comes with the OS, there is no need to install it.%0a%3c %0a%3c OpenIKED focuses mainly:%0a%3c %0a%3c # Lean%0a%3c # Clean%0a%3c # Secure%0a%3c # Interoperable%0a%3c # Configurable%0a%3c %0a%3c %0a +host:1620870974=200.121.220.221 +author:1618777673=st13g +diff:1618777673:1618777639:= +host:1618777673=190.42.16.42 +author:1618777639=st13g +diff:1618777639:1618777559:=6,11c6,11%0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED[[%3c%3c]]%0a%3c pass in inet proto esp tag IKED[[%3c%3c]]%0a%3c pass on enc0 inet tagged ROADW[[%3c%3c]]%0a%3c match out on $ext_if inet tagged ROADW nat-to $ext_if[[%3c%3c]]%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53[[%3c%3c]]%0a%3c %0a---%0a> pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a> pass in inet proto esp tag IKED%0a> pass on enc0 inet tagged ROADW%0a> match out on $ext_if inet tagged ROADW nat-to $ext_if%0a> match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a> %0a14,15c14,15%0a%3c $ doas pfctl -f /etc/pf.conf [[%3c%3c]]%0a%3c %0a---%0a> $ doas pfctl -f /etc/pf.conf %0a> %0a19,31c19,31%0a%3c $doas ikectl ca vpn create[[%3c%3c]]%0a%3c $doas ikectl ca vpn install[[%3c%3c]]%0a%3c certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt[[%3c%3c]]%0a%3c CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl[[%3c%3c]]%0a%3c $doas ikectl ca vpn certificate server1.domain create[[%3c%3c]]%0a%3c $doas ikectl ca vpn certificate server1.domain install[[%3c%3c]]%0a%3c writing RSA key[[%3c%3c]]%0a%3c %0a%3c the file we need to export will be /etc/iked/ca/ca.crt[[%3c%3c]]%0a%3c %0a%3c %0a%3c Make sure to enable IP forwarding[[%3c%3c]]%0a%3c %0a---%0a> # ikectl ca vpn create%0a> # ikectl ca vpn install%0a> certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0a> CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a> # ikectl ca vpn certificate server1.domain create%0a> # ikectl ca vpn certificate server1.domain install%0a> writing RSA key%0a> %0a> the file we need to export will be /etc/iked/ca/ca.crt%0a> %0a> %0a> Make sure to enable IP forwarding%0a> %0a40,42c40,42%0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):[[%3c%3c]]%0a%3c %0a%3c %0a---%0a> Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):%0a> %0a> %0a54,57c54,57%0a%3c To start iked,[[%3c%3c]]%0a%3c $ doas chmod 0600 /etc/iked.conf [[%3c%3c]]%0a%3c $ doas rcctl enable iked[[%3c%3c]]%0a%3c $ doas rcctl start iked[[%3c%3c]]%0a\ No newline at end of file%0a---%0a> To start iked,%0a> $ doas chmod 0600 /etc/iked.conf %0a> $ doas rcctl enable iked%0a> $ doas rcctl start iked%0a\ No newline at end of file%0a +host:1618777639=190.42.16.42 +author:1618777559=st13g +diff:1618777559:1618777242:=26,29c26,29%0a%3c %0a%3c the file we need to export will be /etc/iked/ca/ca.crt%0a%3c %0a%3c %0a---%0a> # cp /etc/iked/ca/ca.crt /var/www/htdocs/%0a> %0a> %0a> %0a32,39c32,39%0a%3c $echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]%0a%3c $echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf[[%3c%3c]]%0a%3c $echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf [[%3c%3c]] %0a%3c $echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf[[%3c%3c]]%0a%3c $echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf[[%3c%3c]]%0a%3c $sysctl net.inet.ip.forwarding=1[[%3c%3c]]%0a%3c $sysctl net.inet6.ip6.forwarding=1[[%3c%3c]]%0a%3c %0a---%0a> $echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf%0a> $echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf%0a> $echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf %0a> $echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf%0a> $echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf%0a> $sysctl net.inet.ip.forwarding=1%0a> $sysctl net.inet6.ip6.forwarding=1%0a> %0a43,51c43,51%0a%3c user 'username' 'password'[[%3c%3c]]%0a%3c ikev2 'vpn.ircnow.org' passive esp \[[%3c%3c]]%0a%3c from 0.0.0.0/0 to 0.0.0.0/0 \[[%3c%3c]]%0a%3c local 203.0.113.5 peer any \[[%3c%3c]]%0a%3c srcid vpn.ircnow.org \[[%3c%3c]]%0a%3c eap "mschap-v2" \[[%3c%3c]]%0a%3c config address 10.0.5.0/24 \[[%3c%3c]]%0a%3c config name-server 203.0.113.5 \[[%3c%3c]]%0a%3c tag "ROADW"[[%3c%3c]]%0a---%0a> user 'username' 'password'%0a> ikev2 'vpn.ircnow.org' passive esp \%0a> from 0.0.0.0/0 to 0.0.0.0/0 \%0a> local 203.0.113.5 peer any \%0a> srcid vpn.ircnow.org \%0a> eap "mschap-v2" \%0a> config address 10.0.5.0/24 \%0a> config name-server 203.0.113.5 \%0a> tag "ROADW"%0a +host:1618777559=190.42.16.42 +author:1618777242=st13g +diff:1618777242:1618777176:=32,39c32,39%0a%3c $echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf%0a%3c $echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf%0a%3c $echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf %0a%3c $echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf%0a%3c $echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf%0a%3c $sysctl net.inet.ip.forwarding=1%0a%3c $sysctl net.inet6.ip6.forwarding=1%0a%3c %0a---%0a> echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf%0a> echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf%0a> echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf %0a> echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf%0a> echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf%0a> sysctl net.inet.ip.forwarding=1%0a> sysctl net.inet6.ip6.forwarding=1%0a> %0a42d41%0a%3c %0a52d50%0a%3c %0a +host:1618777242=190.42.16.42 +author:1618777176=st13g +diff:1618777176:1618776709:=3,5c3,16%0a%3c %0a%3c Add this to /etc/pf.conf and make sure that $ext_if match your output interface%0a%3c %0a---%0a> Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address):%0a> %0a> user 'username' 'password'%0a> ikev2 'vpn.ircnow.org' passive esp \%0a> from 0.0.0.0/0 to 0.0.0.0/0 \%0a> local 203.0.113.5 peer any \%0a> srcid vpn.ircnow.org \%0a> eap "mschap-v2" \%0a> config address 10.0.5.0/24 \%0a> config name-server 203.0.113.5 \%0a> tag "ROADW"%0a> %0a> Add this to /etc/pf.conf:%0a> %0a28,51c39,46%0a%3c %0a%3c %0a%3c Make sure to enable IP forwarding%0a%3c %0a%3c echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf%0a%3c echo 'net.inet6.ip6.forwarding=1' >> /etc/sysctl.conf%0a%3c echo 'net.inet.ipcomp.enable=1' >> /etc/sysctl.conf %0a%3c echo 'net.inet.esp.enable=1' >> /etc/sysctl.conf%0a%3c echo 'net.inet.ah.enable=1' >> /etc/sysctl.conf%0a%3c sysctl net.inet.ip.forwarding=1%0a%3c sysctl net.inet6.ip6.forwarding=1%0a%3c %0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org, with your domain):%0a%3c %0a%3c user 'username' 'password'%0a%3c ikev2 'vpn.ircnow.org' passive esp \%0a%3c from 0.0.0.0/0 to 0.0.0.0/0 \%0a%3c local 203.0.113.5 peer any \%0a%3c srcid vpn.ircnow.org \%0a%3c eap "mschap-v2" \%0a%3c config address 10.0.5.0/24 \%0a%3c config name-server 203.0.113.5 \%0a%3c tag "ROADW"%0a%3c %0a---%0a> Does this need to be added to /etc/sysctl.conf:%0a> %0a> %0a> net.inet.ip.forwarding=1%0a> net.inet.ipcomp.enable=1%0a> net.inet.esp.enable=1%0a> net.inet.ah.enable=1%0a> %0a53c48%0a%3c $ doas chmod 0600 /etc/iked.conf %0a---%0a> %0a54a50%0a> $ doas rcctl set iked flags -6%0a +host:1618777176=190.42.16.42 +author:1618776709=st13g +diff:1618776709:1615258936:=1,51c1,25%0a%3c SETTING UP VPN SERVER IKED%0a%3c %0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address):%0a%3c %0a%3c user 'username' 'password'%0a%3c ikev2 'vpn.ircnow.org' passive esp \%0a%3c from 0.0.0.0/0 to 0.0.0.0/0 \%0a%3c local 203.0.113.5 peer any \%0a%3c srcid vpn.ircnow.org \%0a%3c eap "mschap-v2" \%0a%3c config address 10.0.5.0/24 \%0a%3c config name-server 203.0.113.5 \%0a%3c tag "ROADW"%0a%3c %0a%3c Add this to /etc/pf.conf:%0a%3c %0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $ext_if inet tagged ROADW nat-to $ext_if%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a%3c To reload the new pf ruleset:%0a%3c %0a%3c $ doas pfctl -f /etc/pf.conf %0a%3c %0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%3c %0a%3c %0a%3c # ikectl ca vpn create%0a%3c # ikectl ca vpn install%0a%3c certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0a%3c CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a%3c # ikectl ca vpn certificate server1.domain create%0a%3c # ikectl ca vpn certificate server1.domain install%0a%3c writing RSA key%0a%3c # cp /etc/iked/ca/ca.crt /var/www/htdocs/%0a%3c %0a%3c Does this need to be added to /etc/sysctl.conf:%0a%3c %0a%3c %0a%3c net.inet.ip.forwarding=1%0a%3c net.inet.ipcomp.enable=1%0a%3c net.inet.esp.enable=1%0a%3c net.inet.ah.enable=1%0a%3c %0a%3c To start iked,%0a%3c %0a%3c $ doas rcctl enable iked%0a%3c $ doas rcctl set iked flags -6%0a%3c $ doas rcctl start iked%0a\ No newline at end of file%0a---%0a> WINDOWS IKED CLIENT CONFIGURATION%0a> %0a> Lauch your Windows Management Console%0a> %0a> Then, in "File" Menu, select "Add or Remove Snap-in", and selesct "Certificates"%0a> %0a> Click "Add"%0a> %0a> Select "Computer Account", next, then select "Local Computer" options, finally click "Finish"%0a> %0a> In the Windows Management Console, under Console Root tree, select Certificates and expand Trusted Root Certification Authorities, and select Certificates%0a> %0a> Now in Action Menu, in the console, select "All Tasks" and click "import", you need to browse, and select your certificate,then click "Next"%0a> %0a> In the dialog box, ensure that Trusted Root Certification Authorities is selected, then "Next" and "Finish"%0a> %0a> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%0a> %0a> Now open your control panel, select Network and Sharing Center%0a> %0a> click on "Set up a new connection or network" , click on "Connect to a Workplace", then "Use my Internet connection (VPN)"%0a> %0a> in the dialog box, fill the domain name of your VPN, or the ip , in the field "Destination Name" put some description, then click "done"%0a> %0a> Finally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a\ No newline at end of file%0a +host:1618776709=190.42.16.42 +author:1615258936=st13g +diff:1615258936:1615256737:=3,25c3%0a%3c Lauch your Windows Management Console%0a%3c %0a%3c Then, in "File" Menu, select "Add or Remove Snap-in", and selesct "Certificates"%0a%3c %0a%3c Click "Add"%0a%3c %0a%3c Select "Computer Account", next, then select "Local Computer" options, finally click "Finish"%0a%3c %0a%3c In the Windows Management Console, under Console Root tree, select Certificates and expand Trusted Root Certification Authorities, and select Certificates%0a%3c %0a%3c Now in Action Menu, in the console, select "All Tasks" and click "import", you need to browse, and select your certificate,then click "Next"%0a%3c %0a%3c In the dialog box, ensure that Trusted Root Certification Authorities is selected, then "Next" and "Finish"%0a%3c %0a%3c >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%0a%3c %0a%3c Now open your control panel, select Network and Sharing Center%0a%3c %0a%3c click on "Set up a new connection or network" , click on "Connect to a Workplace", then "Use my Internet connection (VPN)"%0a%3c %0a%3c in the dialog box, fill the domain name of your VPN, or the ip , in the field "Destination Name" put some description, then click "done"%0a%3c %0a%3c Finally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a\ No newline at end of file%0a---%0a> Lauch your Windows Management Console%0a\ No newline at end of file%0a +host:1615258936=190.42.16.35 +author:1615256737=st13g +diff:1615256737:1615256737:=1,3d0%0a%3c WINDOWS IKED CLIENT CONFIGURATION%0a%3c %0a%3c Lauch your Windows Management Console%0a\ No newline at end of file%0a +host:1615256737=190.42.16.35 blob - /dev/null blob + 90b62bf3774a9cff9148ad99e65a2a9e8d9c53d9 (mode 644) --- /dev/null +++ wiki.d/Iked.Linux @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +author=mkf +charset=UTF-8 +csum= +ctime=1618773192 +host=2.178.173.183 +name=Iked.Linux +rev=2 +targets= +text=%0aIn this guide we will use charon-cmd, this is a command-line program for setting up IPsec VPN connections that are using IKEv2.%0a%0aFirst, in your Linux distribution, it has named @@charon-cmd@@ %0a and @@libcharon-extra-plugins@@%0a%0aSecond, import the certificate from the server.%0a%0a%0aFinally, just issue the following command%0a%0a[@%0a$ sudo charon-cmd --cert /path/to/the/cert/ca.crt --host vpn.ircnow.org --identity %3cusername>%0a@]%0a%0aWhen the connection is starting it will require your user's password. Press %3cEnter>.%0a%0aNow you are connected%0a%0aTo disconnect from the server, just press %3cctrl-c>. %0a%0a +time=1628965591 +author:1628965591=mkf +diff:1628965591:1618773192:=1,6c1,6%0a%3c %0a%3c In this guide we will use charon-cmd, this is a command-line program for setting up IPsec VPN connections that are using IKEv2.%0a%3c %0a%3c First, in your Linux distribution, it has named @@charon-cmd@@ %0a%3c and @@libcharon-extra-plugins@@%0a%3c %0a---%0a> Set up a VPN IKE client (Linux)%0a> %0a> The easy way is using charon-cmd, this is a command-line program for setting up IPsec VPN connections that are using IKE.%0a> %0a> First, in your Linux distribution, install the package charon-cmd libcharon-extra-plugins%0a> %0a12,15c12,13%0a%3c [@%0a%3c $ sudo charon-cmd --cert /path/to/the/cert/ca.crt --host vpn.ircnow.org --identity %3cusername>%0a%3c @]%0a%3c %0a---%0a> #sudo charon-cmd --cert /path/to/the/cert/ca.crt --host vpn.ircnow.org --identity %3cusername>%0a> %0a20c18%0a%3c To disconnect from the server, just press %3cctrl-c>. %0a---%0a> To disconnect from the server, just press %3cC-c>. %0a +host:1628965591=2.178.173.183 +author:1618773192=st13g +diff:1618773192:1618773192:=1,19d0%0a%3c Set up a VPN IKE client (Linux)%0a%3c %0a%3c The easy way is using charon-cmd, this is a command-line program for setting up IPsec VPN connections that are using IKE.%0a%3c %0a%3c First, in your Linux distribution, install the package charon-cmd libcharon-extra-plugins%0a%3c %0a%3c Second, import the certificate from the server.%0a%3c %0a%3c %0a%3c Finally, just issue the following command%0a%3c %0a%3c #sudo charon-cmd --cert /path/to/the/cert/ca.crt --host vpn.ircnow.org --identity %3cusername>%0a%3c %0a%3c When the connection is starting it will require your user's password. Press %3cEnter>.%0a%3c %0a%3c Now you are connected%0a%3c %0a%3c To disconnect from the server, just press %3cC-c>. %0a%3c %0a +host:1618773192=190.42.16.42 blob - /dev/null blob + 8dfd3697c2ed7fe645d8e82fcf8edf9a389676b2 (mode 644) --- /dev/null +++ wiki.d/Iked.Newconfig @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 +author=tool +charset=UTF-8 +csum= +ctime=1635090504 +host=108.56.144.48 +name=Iked.Newconfig +rev=2 +targets=IP.Myaddress,Openhttpd.Configure +text=(:title Configuring OpenIKED:)%0a%0aOpenIKED is OpenBSD's native VPN solution. It is included with the base system,%0aso no installation will be necessary. It allows us to use IPSec to provide%0ausers with a VPN for security, privacy, and freedom of information.%0a%0aPros:%0a%0a* Clean%0a* Secure%0a* Interoperable%0a* Simple to Configure%0a%0aThis configuration is for a road warrior setup, where a user wants to connect his device to a network (rather than connecting two networks).%0a%0a!! Configure iked.conf%0a%0aAdd this to /etc/iked.conf (replace USERNAME_HERE and PASSWORD_HERE with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%0a[@%0aremote_gw = "203.0.113.5"%0avpn_id = "vpn.ircnow.org"%0aclient_pool = "10.0.5.0/24"%0aclient_dns = "203.0.113.5"%0a%0auser "USERNAME_HERE" "PASSWORD_HERE"%0aikev2 'user_vpn' passive esp \%0a from any to dynamic \%0a local $remote_gw peer any \%0a srcid $vpn_id \%0a eap "mschap-v2" \%0a config address $client_pool \%0a config name-server $client_dns \%0a tag "ROADW"%0a@]%0a%0aThe value for the vpn_id macro parameter MUST be different from your IRCnow hostname. For example, if your IRCNow hostname is "user.host.ircnow.org", you should pick something like "vpn.user.host.ircnow.org". Whatever you pick should be a valid hostname that resolves to an IP address. The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%0aiked depends upon packet filter being enabled. First, you must make sure to enable%0apacket filter if it is off:%0a%0a[@%0a$ doas pfctl -e%0a@]%0a%0aAdd this to /etc/pf.conf:%0a%0a[@%0apass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0apass in inet proto esp tag IKED%0apass on enc0 inet tagged ROADW%0amatch out on $ext_if inet tagged ROADW nat-to $ext_if%0amatch in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0awhere ext_if is [[IP/Myaddress|your external interface]].%0a%0aTo find your external interface, type:%0a%0a[@%0a$ ifconfig%0a@]%0a%0aThe external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%0aTo reload the new pf ruleset:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf %0a@]%0a%0aAt this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%0a[@%0a# ikectl ca vpn create%0a# ikectl ca vpn install%0acertificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0aCRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a# ikectl ca vpn certificate vpn.user.host.ircnow.org create%0a# ikectl ca vpn certificate vpn.user.host.ircnow.org install%0awriting RSA key%0a@]%0a%0aReplace @@vpn.user.host.ircnow.org@@ with the hostname you picked for the value of vpn_id in iked.conf.%0a%0aUsers of the VPN will need to download @@/etc/iked/ca/ca.crt@@ to their device. The easiest way is to use [[openhttpd/configure|openhttpd]] and serve the file over the web.%0a%0a[@%0a# cp /etc/iked/ca/ca.crt /var/www/htdocs/vpn.user.host.ircnow.org/%0a# chown www:daemon /var/www/htdocs/vpn.user.host.ircnow.org/ca.crt%0a@]%0a%0aIf the web server is configured correctly, users can then download the file at @@https://vpn.user.host.ircnow.org/ca.crt@@.%0a%0aWe will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%0a/etc/resolv.conf:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0a/etc/resolv.conf.tail:%0a%0a[@%0alookup file bind%0a@]%0a%0a/var/unbound/etc/unbound.conf:%0a%0a[@%0aoutgoing-interface: 203.0.113.5%0aaccess-control: 10.0.0.0/8 allow%0a...%0a%0alocal-zone: "www.domain.com" static%0a%0a...%0a%0aforward-zone:%0aforward-addr: 185.121.177.177%0aforward-addr: 169.239.202.202%0a%0a...%0a@]%0a%0aThe local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%0a[@%0a$ ftp https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a@]%0a%0aWe need to reformat this hosts file:%0a%0a[@%0a$ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a$ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a$ sed 's/ "/"/' newhosts2 > newhosts3%0a@]%0a%0aManually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%0aAdd this to /etc/sysctl.conf:%0a%0a[@%0anet.inet.ip.forwarding=1%0anet.inet6.ip6.forwarding=1%0anet.inet.ipcomp.enable=1%0anet.inet.esp.enable=1%0anet.inet.ah.enable=1%0a@]%0a%0aRun this once:%0a%0a[@%0a$ doas sysctl net.inet.ip.forwarding=1%0a$ doas sysctl net.inet6.ip6.forwarding=1%0a$ doas sysctl net.inet.ipcomp.enable=1%0a$ doas sysctl net.inet.esp.enable=1%0a$ doas sysctl net.inet.ah.enable=1%0a@]%0a%0aIP forwarding allows the server to forward the user's packets to their final destination.%0a%0aTighten file permissions, then start iked:%0a%0a[@%0a$ doas chmod 0600 /etc/iked.conf%0a$ doas rcctl enable iked%0a$ doas rcctl start iked%0a@]%0a%0aNote: You may consider using blacklists from here:%0ahttps://dsi.ut-capitole.fr/blacklists/index_en.php%0ahttps://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0ahttps://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a%0aBanned networks:%0a%0airc.p2p-network.net%0airc.gazellegames.net%0airc.nzbs.in%0a%0a!! Troubleshooting%0a%0aRunning iked in debug mode can provide valuable info about errors in configuration.%0a%0aFirst, turn off iked if it is running:%0a%0a[@%0a$ doas rcctl stop iked%0a@]%0a%0aCheck to make sure no iked processes are running:%0a%0a[@%0a$ ps ax | grep iked%0a@]%0a%0aThen, run iked in debug mode:%0a%0a[@%0a$ doas iked -dv%0a@]%0a%0a-d will cause iked to not daemonize, and -v will report errors verbosely.%0a +time=1635090581 +title=Configuring OpenIKED +author:1635090581=tool +diff:1635090581:1635090504:=18c18%0a%3c Add this to /etc/iked.conf (replace USERNAME_HERE and PASSWORD_HERE with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a---%0a> Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a +host:1635090581=108.56.144.48 +author:1635090504=tool +diff:1635090504:1635090504:=1,207d0%0a%3c (:title Configuring OpenIKED:)%0a%3c %0a%3c OpenIKED is OpenBSD's native VPN solution. It is included with the base system,%0a%3c so no installation will be necessary. It allows us to use IPSec to provide%0a%3c users with a VPN for security, privacy, and freedom of information.%0a%3c %0a%3c Pros:%0a%3c %0a%3c * Clean%0a%3c * Secure%0a%3c * Interoperable%0a%3c * Simple to Configure%0a%3c %0a%3c This configuration is for a road warrior setup, where a user wants to connect his device to a network (rather than connecting two networks).%0a%3c %0a%3c !! Configure iked.conf%0a%3c %0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%3c %0a%3c [@%0a%3c remote_gw = "203.0.113.5"%0a%3c vpn_id = "vpn.ircnow.org"%0a%3c client_pool = "10.0.5.0/24"%0a%3c client_dns = "203.0.113.5"%0a%3c %0a%3c user "USERNAME_HERE" "PASSWORD_HERE"%0a%3c ikev2 'user_vpn' passive esp \%0a%3c from any to dynamic \%0a%3c local $remote_gw peer any \%0a%3c srcid $vpn_id \%0a%3c eap "mschap-v2" \%0a%3c config address $client_pool \%0a%3c config name-server $client_dns \%0a%3c tag "ROADW"%0a%3c @]%0a%3c %0a%3c The value for the vpn_id macro parameter MUST be different from your IRCnow hostname. For example, if your IRCNow hostname is "user.host.ircnow.org", you should pick something like "vpn.user.host.ircnow.org". Whatever you pick should be a valid hostname that resolves to an IP address. The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%3c %0a%3c iked depends upon packet filter being enabled. First, you must make sure to enable%0a%3c packet filter if it is off:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -e%0a%3c @]%0a%3c %0a%3c Add this to /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $ext_if inet tagged ROADW nat-to $ext_if%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c @]%0a%3c %0a%3c where ext_if is [[IP/Myaddress|your external interface]].%0a%3c %0a%3c To find your external interface, type:%0a%3c %0a%3c [@%0a%3c $ ifconfig%0a%3c @]%0a%3c %0a%3c The external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%3c %0a%3c To reload the new pf ruleset:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf %0a%3c @]%0a%3c %0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%3c %0a%3c [@%0a%3c # ikectl ca vpn create%0a%3c # ikectl ca vpn install%0a%3c certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0a%3c CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a%3c # ikectl ca vpn certificate vpn.user.host.ircnow.org create%0a%3c # ikectl ca vpn certificate vpn.user.host.ircnow.org install%0a%3c writing RSA key%0a%3c @]%0a%3c %0a%3c Replace @@vpn.user.host.ircnow.org@@ with the hostname you picked for the value of vpn_id in iked.conf.%0a%3c %0a%3c Users of the VPN will need to download @@/etc/iked/ca/ca.crt@@ to their device. The easiest way is to use [[openhttpd/configure|openhttpd]] and serve the file over the web.%0a%3c %0a%3c [@%0a%3c # cp /etc/iked/ca/ca.crt /var/www/htdocs/vpn.user.host.ircnow.org/%0a%3c # chown www:daemon /var/www/htdocs/vpn.user.host.ircnow.org/ca.crt%0a%3c @]%0a%3c %0a%3c If the web server is configured correctly, users can then download the file at @@https://vpn.user.host.ircnow.org/ca.crt@@.%0a%3c %0a%3c We will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%3c %0a%3c /etc/resolv.conf:%0a%3c %0a%3c [@%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c /etc/resolv.conf.tail:%0a%3c %0a%3c [@%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c /var/unbound/etc/unbound.conf:%0a%3c %0a%3c [@%0a%3c outgoing-interface: 203.0.113.5%0a%3c access-control: 10.0.0.0/8 allow%0a%3c ...%0a%3c %0a%3c local-zone: "www.domain.com" static%0a%3c %0a%3c ...%0a%3c %0a%3c forward-zone:%0a%3c forward-addr: 185.121.177.177%0a%3c forward-addr: 169.239.202.202%0a%3c %0a%3c ...%0a%3c @]%0a%3c %0a%3c The local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%3c %0a%3c [@%0a%3c $ ftp https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a%3c @]%0a%3c %0a%3c We need to reformat this hosts file:%0a%3c %0a%3c [@%0a%3c $ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a%3c $ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a%3c $ sed 's/ "/"/' newhosts2 > newhosts3%0a%3c @]%0a%3c %0a%3c Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%3c %0a%3c Add this to /etc/sysctl.conf:%0a%3c %0a%3c [@%0a%3c net.inet.ip.forwarding=1%0a%3c net.inet6.ip6.forwarding=1%0a%3c net.inet.ipcomp.enable=1%0a%3c net.inet.esp.enable=1%0a%3c net.inet.ah.enable=1%0a%3c @]%0a%3c %0a%3c Run this once:%0a%3c %0a%3c [@%0a%3c $ doas sysctl net.inet.ip.forwarding=1%0a%3c $ doas sysctl net.inet6.ip6.forwarding=1%0a%3c $ doas sysctl net.inet.ipcomp.enable=1%0a%3c $ doas sysctl net.inet.esp.enable=1%0a%3c $ doas sysctl net.inet.ah.enable=1%0a%3c @]%0a%3c %0a%3c IP forwarding allows the server to forward the user's packets to their final destination.%0a%3c %0a%3c Tighten file permissions, then start iked:%0a%3c %0a%3c [@%0a%3c $ doas chmod 0600 /etc/iked.conf%0a%3c $ doas rcctl enable iked%0a%3c $ doas rcctl start iked%0a%3c @]%0a%3c %0a%3c Note: You may consider using blacklists from here:%0a%3c https://dsi.ut-capitole.fr/blacklists/index_en.php%0a%3c https://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0a%3c https://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a%3c %0a%3c Banned networks:%0a%3c %0a%3c irc.p2p-network.net%0a%3c irc.gazellegames.net%0a%3c irc.nzbs.in%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Running iked in debug mode can provide valuable info about errors in configuration.%0a%3c %0a%3c First, turn off iked if it is running:%0a%3c %0a%3c [@%0a%3c $ doas rcctl stop iked%0a%3c @]%0a%3c %0a%3c Check to make sure no iked processes are running:%0a%3c %0a%3c [@%0a%3c $ ps ax | grep iked%0a%3c @]%0a%3c %0a%3c Then, run iked in debug mode:%0a%3c %0a%3c [@%0a%3c $ doas iked -dv%0a%3c @]%0a%3c %0a%3c -d will cause iked to not daemonize, and -v will report errors verbosely.%0a +host:1635090504=108.56.144.48 blob - /dev/null blob + 11d9368e22787ca4ac857a1ef56c85433e442dda (mode 644) --- /dev/null +++ wiki.d/Iked.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 +charset=UTF-8 +ctime=1615256737 +host=108.56.144.48 +name=Iked.RecentChanges +rev=28 +text=* [[Iked/Newconfig]] . . . October 24, 2021, at 03:49 PM by [[~tool]]: [==]%0a* [[Iked/Linux]] . . . August 14, 2021, at 06:26 PM by [[~mkf]]: [==]%0a* [[Iked/Configure]] . . . August 07, 2021, at 05:23 PM by [[~jrmu]]: [==]%0a* [[Iked/Android]] . . . April 18, 2021, at 08:06 PM by [[~st13g]]: [==]%0a* [[Iked/Windows]] . . . April 18, 2021, at 07:38 PM by [[~st13g]]: [==]%0a +time=1635090581 blob - /dev/null blob + 6d25240e4450db4ab4e3f6efb08c62aa8a64251a (mode 644) --- /dev/null +++ wiki.d/Iked.Windows @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 Safari/537.36 +author=st13g +charset=UTF-8 +csum= +ctime=1618773415 +host=190.42.16.42 +name=Iked.Windows +rev=4 +targets= +text=WINDOWS IKED CLIENT CONFIGURATION%0a%0aLaunch your Windows Management Console%0a%0aAttach:primero1.jpg%0a%0aThen, in "File" Menu, select "Add or Remove Snap-in", and select "Certificates"%0a%0aAttach:segundo2.jpg%0a%0aClick "Add"%0a%0aAttach:tercero3.jpg%0a%0aSelect "Computer Account", next, then select "Local Computer" options, finally click "Finish"%0a%0aIn the Windows Management Console, under Console Root tree, select Certificates and expand Trusted Root Certification Authorities, and select Certificates%0a%0aNow in Action Menu, in the console, select "All Tasks" and click "import", you need to browse, and select your certificate,then click "Next"%0a%0aIn the dialog box, ensure that Trusted Root Certification Authorities is selected, then "Next" and "Finish"%0a%0a%0a%0a>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%0a%0aNow open your control panel, select Network and Sharing Center%0a%0aAttach:cuarto4.jpg%0a%0aclick on "Set up a new connection or network" , click on "Connect to a Workplace", then "Use my Internet connection (VPN)"%0a%0aAttach:sexto6.jpg%0a%0ain the dialog box, fill the domain name of your VPN, or the ip , in the field "Destination Name" put some description, then click "done"%0a%0aAttach:quinto5.jpg%0a%0a%0a%0aFinally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a%0aAttach:septimo7.jpg +time=1618774714 +author:1618774714=st13g +diff:1618774714:1618774491:=9,10d8%0a%3c Attach:segundo2.jpg%0a%3c %0a13,14d10%0a%3c Attach:tercero3.jpg%0a%3c %0a23,24d18%0a%3c %0a%3c %0a29,30d22%0a%3c Attach:cuarto4.jpg%0a%3c %0a33,34d24%0a%3c Attach:sexto6.jpg%0a%3c %0a37,43c27%0a%3c Attach:quinto5.jpg%0a%3c %0a%3c %0a%3c %0a%3c Finally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a%3c %0a%3c Attach:septimo7.jpg%0a\ No newline at end of file%0a---%0a> Finally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a\ No newline at end of file%0a +host:1618774714=190.42.16.42 +author:1618774491=st13g +diff:1618774491:1618774068:=5c5%0a%3c Attach:primero1.jpg%0a---%0a> "Attach:primero"%0a +host:1618774491=190.42.16.42 +author:1618774068=st13g +diff:1618774068:1618773415:=4,5d3%0a%3c %0a%3c "Attach:primero"%0a +host:1618774068=190.42.16.42 +author:1618773415=st13g +diff:1618773415:1618773415:=1,25d0%0a%3c WINDOWS IKED CLIENT CONFIGURATION%0a%3c %0a%3c Launch your Windows Management Console%0a%3c %0a%3c Then, in "File" Menu, select "Add or Remove Snap-in", and select "Certificates"%0a%3c %0a%3c Click "Add"%0a%3c %0a%3c Select "Computer Account", next, then select "Local Computer" options, finally click "Finish"%0a%3c %0a%3c In the Windows Management Console, under Console Root tree, select Certificates and expand Trusted Root Certification Authorities, and select Certificates%0a%3c %0a%3c Now in Action Menu, in the console, select "All Tasks" and click "import", you need to browse, and select your certificate,then click "Next"%0a%3c %0a%3c In the dialog box, ensure that Trusted Root Certification Authorities is selected, then "Next" and "Finish"%0a%3c %0a%3c >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%0a%3c %0a%3c Now open your control panel, select Network and Sharing Center%0a%3c %0a%3c click on "Set up a new connection or network" , click on "Connect to a Workplace", then "Use my Internet connection (VPN)"%0a%3c %0a%3c in the dialog box, fill the domain name of your VPN, or the ip , in the field "Destination Name" put some description, then click "done"%0a%3c %0a%3c Finally in your task bar, inthe icon of your connections, click on it,it should appear the name of your VPN, select it, and click on "connect" , after some seconds, a dialog box should appear, enter your username and password, and now you are finally connected to your VPN.%0a\ No newline at end of file%0a +host:1618773415=190.42.16.42 blob - /dev/null blob + 63ee56fd52e4123a9e671e86ae9e9287d930a9eb (mode 644) --- /dev/null +++ wiki.d/Immigrant.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614493573 +host=198.251.81.119 +name=Immigrant.RecentChanges +rev=10 +text=* [[Immigrant/Welcome]] . . . March 05, 2021, at 06:59 AM by [[~jrmu]]: [==]%0a +time=1614927550 blob - /dev/null blob + dfb2c0e164b8a550425e01b3813c4b0b057e13f0 (mode 644) --- /dev/null +++ wiki.d/Immigrant.Welcome @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614493573 +host=198.251.81.119 +name=Immigrant.Welcome +rev=10 +targets= +text=(:title Welcome, New User!:)%0a%0a%25width=150px rfloat%25 Attach:Freedom/torch.png%0a%0aWe hope IRCNow will be your new home online.%0a%0aIRCNow welcomes new users from all parts of the Internet. New users like you help our network thrive and preserve our legacy as a LAN of freedom and opportunity.%0a%0a[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe Linux users and those from Tor.%0aSend these accountless, shadowbanned to me,%0aWe are free outside the walled app store!%0a@]%0a%0aWe welcome every type and variety of user: of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a%0aIRCNow is dedicted to the four user freedoms:%0a%0a# Religious liberty -- Freedom to worship God%0a# Software liberty -- Freedom from corporate oppression%0a# Economic liberty -- Freedom to start your own internet business%0a# Intellectual liberty -- Freedom of speech, assembly, and the press%0a%0aTo all oppressed users on the Internet, IRCNow openly invites you to come and settle among us and enjoy the blessings of network liberty. +time=1614927550 +title=Welcome, New User! +author:1614927550=jrmu +diff:1614927550:1614497996:=19c19%0a%3c IRCNow is dedicted to the four user freedoms:%0a---%0a> IRCNow is dedicted to four user freedoms:%0a +host:1614927550=198.251.81.119 +author:1614497996=jrmu +diff:1614497996:1614497846:= +host:1614497996=198.251.81.119 +author:1614497846=jrmu +diff:1614497846:1614495300:=5,8c5,8%0a%3c We hope IRCNow will be your new home online.%0a%3c %0a%3c IRCNow welcomes new users from all parts of the Internet. New users like you help our network thrive and preserve our legacy as a LAN of freedom and opportunity.%0a%3c %0a---%0a> Congratulations on joining IRCNow! We welcome you and we hope IRCNow will be your new home online.%0a> %0a> IRCNow welcomes new users from all parts of the Internet. It is thanks to new users like you that our network thrives and we can preserve our legacy as a LAN of freedom and opportunity.%0a> %0a19,20c19,20%0a%3c IRCNow is dedicted to four user freedoms:%0a%3c %0a---%0a> Our cherished ideals are the four great historic freedoms:%0a> %0a22,26c22,26%0a%3c # Software liberty -- Freedom from corporate oppression%0a%3c # Economic liberty -- Freedom to start your own internet business%0a%3c # Intellectual liberty -- Freedom of speech, assembly, and the press%0a%3c %0a%3c To all oppressed users on the Internet, IRCNow openly invites you to come and settle among us and enjoy the blessings of network liberty.%0a\ No newline at end of file%0a---%0a> # Software liberty -- Freedom from corporate tyranny and oppression%0a> # Economic liberty -- Freedom to start your own digital business%0a> # Intellectual liberty -- Freedom of speech, assembly, and the press.%0a> %0a> We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of network liberty.%0a\ No newline at end of file%0a +host:1614497846=198.251.81.119 +author:1614495300=jrmu +diff:1614495300:1614494975:=26c26%0a%3c We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of network liberty.%0a\ No newline at end of file%0a---%0a> We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of liberty that we offer.%0a\ No newline at end of file%0a +host:1614495300=198.251.81.119 +author:1614494975=jrmu +diff:1614494975:1614493953:=7,8c7,8%0a%3c IRCNow welcomes new users from all parts of the Internet. It is thanks to new users like you that our network thrives and we can preserve our legacy as a LAN of freedom and opportunity.%0a%3c %0a---%0a> IRCNow has a tradition of welcoming new users from all parts of the Internet. It is thanks to new users like you that our network thrives and we can preserve our legacy as a LAN of freedom and opportunity.%0a> %0a17,18c17,18%0a%3c We welcome every type and variety of user: of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a%3c %0a---%0a> This network is a magnet for every type and variety of user; of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a> %0a26c26,41%0a%3c We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of liberty that we offer.%0a\ No newline at end of file%0a---%0a> We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of liberty that we offer.%0a> %0a> Together, we can rise to new heights of network civilization.%0a> %0a> The abolition of slavery, universal suffrage, the grant of full rights of citizenship to women, labor legislation, and property rights have all been milestones in the onward march of democracy.%0a> %0a> The immigrant has not been unmindful of the blessings conferred upon him in this country. He has adjusted himself quickly to his new environment. In every crisis, he has faithfully stood by our country and institutions. He has striven to teach his children to love and honor the land which harbors them.%0a> %0a> All human history teaches us that the price of human liberty is the continuous enlargement of that liberty. The only safe principle of democracy is justice, equity, and equal respect among all our people. Great unfinished tasks remain for us to solve. Our common loyalty must hold high the torch and pass it on, with fire unquenched, to the citizen of tomorrow.%0a> %0a> They have built a network%0a> %0a> The brawn, brain, and inventive genius of new users have made IRCNow%0a> %0a> It is our diverse origins%0a> that will contribute to our code and network, to the arts and crafts, and progress and good administration.%0a\ No newline at end of file%0a +host:1614494975=198.251.81.119 +author:1614493953=jrmu +diff:1614493953:1614493630:=5,6c5,6%0a%3c Congratulations on joining IRCNow! We welcome you and we hope IRCNow will be your new home online.%0a%3c %0a---%0a> Congratulations on joining IRCNow! We welcome you and we hope IRCNow will be your new home on the Internet.%0a> %0a17,20c17,22%0a%3c This network is a magnet for every type and variety of user; of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a%3c %0a%3c Our cherished ideals are the four great historic freedoms:%0a%3c %0a---%0a> This network is a magnet for every type and variety of user: white people, black people, yellow people; Catholics, Protestants, Baptists, Jews, Buddhists, Muslims; Spanish, Chinese, Russian, Americans, French; accountants, coders, artists, engineers, musicians, cooks. This magnet From “We the People”—by Leo Huberman.%0a> %0a> What motives impelled these people to uproot themselves from their homelands and to transplant themselves to a country where it was necessary to adjust themselves to a new environment and culture pattern? Many came for the love of adventure, answering the challenge of the unknown. Some were mercenary soldiers seeking new exploits. Others came because they were friendless down-and-outers and “ne’er-do-wells,” seeking a chance to begin life anew. There were still others, like the Negroes, who although the majority did not come of their own free will, nevertheless contributed toil and labor to the making of America.%0a> %0a> Commercial enterprise and the hope of economic gain have, of course, been important factors in the peopling of our country. So also has the search for freedom. In fact, the cherished moral ideals and objectives of the immigrants laid the foundations of our democratic ideals. These great historic freedoms include:%0a> %0a22,28c24,54%0a%3c # Software liberty -- Freedom from corporate tyranny and oppression%0a%3c # Economic liberty -- Freedom to start your own digital business%0a%3c # Intellectual liberty -- Freedom of speech, assembly, and the press.%0a%3c %0a%3c We hold out to all users oppressed on the Internet an open invitation to come and settle among us and enjoy the blessings of liberty that we offer.%0a%3c %0a%3c Together, we can rise to new heights of network civilization.%0a---%0a> # Personal and political liberty -- freedom from tyranny and oppression%0a> # Economic liberty -- freedom to earn the best living possible%0a> # Intellectual liberty -- freedom of speech, assembly, and the press.%0a> %0a> The vanguard of those seeking refuge from religious persecution arrived on the Mayflower and settled in Plymouth, Massachusetts. John Winthrop founded the Massachusetts Bay Colony as a refuge for Puritans. Maryland, later on, became the haven for persecuted Catholics. Rhode Island was founded by Roger Williams and his group of independent, religious free thinkers. Here, the Quakers found a ready welcome and the Jews, driven out of Europe, were allowed to build their synagogues. Toward the end of the seventeenth century, William Penn and his Quaker followers settled in Pennsylvania and cultivated the most friendly relationships with Indians, colonists, and new settlers alike.%0a> %0a> To Manhattan Island and South Carolina came the French Huguenots, a group of French Protestants, whose guarantee of religious liberty had been revoked by the Edict of Nantes. During the nineteenth century, one of the early acts of the Mormons after settling in Utah was to contribute money toward building a Catholic church.%0a> Personal and Political Liberty%0a> %0a> To escape political tyranny and oppression, thousands of people left their homes and crossed the Atlantic. Following their unsuccessful rebellion against the English, the Irish came in large numbers. So did the Germans when the Revolution of 1848 failed. Likewise, the Jews left Russia toward the close of the nineteenth century in order to escape intolerable conditions.%0a> %0a> Among the great champions of personal liberty has been Thomas Paine, who turned the tide of victory during the Revolutionary War when he declared, “This is the cause for which we are ready to suffer and to die—Freedom for ourselves and the rest of the world.” Another outstanding champion of personal liberty was Carl Schurz, one of the German forty-eighters, who supported men of principles and worthy causes regardless of political affiliations.%0a> Economic Liberty%0a> %0a> Coupled with other motives, the newcomer has almost always been imbued with the hope of making a livelihood or of making profits for himself or for his employers. The first permanent settlement was established at Jamestown by the London Company to profit from gold mining and trade. New Hampshire was founded by Georges and Mason for the purpose of profit from trade and farming. The Carolinas were founded[4] by a group of nobles for the same purpose. It was a similar motive which led the Swedes to settle on the Delaware, the Netherlanders to settle on Manhattan, the English to conquer New Amsterdam, and Berkeley and Carteret to settle New Jersey.%0a> %0a> Intellectual Liberty%0a> %0a> On this network, the thoughts and ideas of all men may be expressed freely and analyzed by everybody.%0a> %0a> The United States has been greatly enriched as the result of cultural liberty. Here, the immigrant has often found the opportunity to practice and pass on to others those customs and traditions which have been handed down to him by his ancestors. The Christmas tree, Easter bunny, and New Year festivities are German in origin. Many of the festivals in California and the rodeo are Spanish in origin. Singing societies, folk dancing, games, cookery, and home life have been enriched by customs introduced from other lands.%0a> %0a> Immigration has indeed proved to be a “wind that blows democratic ideas through the world.”%0a> %0a> Those who have come to our shores, representing many kindreds and tongues, have been welded by common opportunity into a united patriotism.”—Franklin D. Roosevelt.%0a> %0a> We hold out to the people of other countries an invitation to come and settle among us as members of our rapidly growing family, and for the blessings we offer them we require of them to look upon our country as their country and unite with us in the great task of preserving our institutions and thereby perpetuating our liberties.%0a> %0a> In this Nation, to which more than 38,000,000 immigrants have come during the last 120 years, the struggle of people of all races and of many creeds has been and is consciously toward the goal of human understanding and tolerance. This is an effort to elevate human welfare, irrespective of race, color, or creed; and to rise to new heights of civilization with the help of all contributions to our culture. A distinguishing characteristic of a true American is that he measures men of all races and creeds by their achievement, their honesty of purpose, and their humility.%0a> %0a> The immigrant has always been a firm devotee of the ideals of democracy, for in most cases he has suffered religious, political, military, or other oppression. Even in the United States, democracy did not begin full tilt. But, just as the frontier has been conquered, so too the areas of human rights and freedoms have been extended.%0a +host:1614493953=198.251.81.119 +author:1614493630=jrmu +diff:1614493630:1614493615:=3c3%0a%3c %25width=150px rfloat%25 Attach:Freedom/torch.png%0a---%0a> %25width=300px rfloat%25 Attach:Freedom/torch.png%0a +host:1614493630=198.251.81.119 +author:1614493615=jrmu +diff:1614493615:1614493596:=1,2d0%0a%3c (:title Welcome, New User!:)%0a%3c %0a +host:1614493615=198.251.81.119 +author:1614493596=jrmu +diff:1614493596:1614493573:=1,2d0%0a%3c %25width=300px rfloat%25 Attach:Freedom/torch.png%0a%3c %0a5a4,5%0a> %0a> Attach:Freedom/torch.png%0a +host:1614493596=198.251.81.119 +author:1614493573=jrmu +diff:1614493573:1614493573:=1,65d0%0a%3c Congratulations on joining IRCNow! We welcome you and we hope IRCNow will be your new home on the Internet.%0a%3c %0a%3c IRCNow has a tradition of welcoming new users from all parts of the Internet. It is thanks to new users like you that our network thrives and we can preserve our legacy as a LAN of freedom and opportunity.%0a%3c %0a%3c Attach:Freedom/torch.png%0a%3c %0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The Linux users and those from Tor.%0a%3c Send these accountless, shadowbanned to me,%0a%3c We are free outside the walled app store!%0a%3c @]%0a%3c %0a%3c This network is a magnet for every type and variety of user: white people, black people, yellow people; Catholics, Protestants, Baptists, Jews, Buddhists, Muslims; Spanish, Chinese, Russian, Americans, French; accountants, coders, artists, engineers, musicians, cooks. This magnet From “We the People”—by Leo Huberman.%0a%3c %0a%3c What motives impelled these people to uproot themselves from their homelands and to transplant themselves to a country where it was necessary to adjust themselves to a new environment and culture pattern? Many came for the love of adventure, answering the challenge of the unknown. Some were mercenary soldiers seeking new exploits. Others came because they were friendless down-and-outers and “ne’er-do-wells,” seeking a chance to begin life anew. There were still others, like the Negroes, who although the majority did not come of their own free will, nevertheless contributed toil and labor to the making of America.%0a%3c %0a%3c Commercial enterprise and the hope of economic gain have, of course, been important factors in the peopling of our country. So also has the search for freedom. In fact, the cherished moral ideals and objectives of the immigrants laid the foundations of our democratic ideals. These great historic freedoms include:%0a%3c %0a%3c # Religious liberty -- Freedom to worship God%0a%3c # Personal and political liberty -- freedom from tyranny and oppression%0a%3c # Economic liberty -- freedom to earn the best living possible%0a%3c # Intellectual liberty -- freedom of speech, assembly, and the press.%0a%3c %0a%3c The vanguard of those seeking refuge from religious persecution arrived on the Mayflower and settled in Plymouth, Massachusetts. John Winthrop founded the Massachusetts Bay Colony as a refuge for Puritans. Maryland, later on, became the haven for persecuted Catholics. Rhode Island was founded by Roger Williams and his group of independent, religious free thinkers. Here, the Quakers found a ready welcome and the Jews, driven out of Europe, were allowed to build their synagogues. Toward the end of the seventeenth century, William Penn and his Quaker followers settled in Pennsylvania and cultivated the most friendly relationships with Indians, colonists, and new settlers alike.%0a%3c %0a%3c To Manhattan Island and South Carolina came the French Huguenots, a group of French Protestants, whose guarantee of religious liberty had been revoked by the Edict of Nantes. During the nineteenth century, one of the early acts of the Mormons after settling in Utah was to contribute money toward building a Catholic church.%0a%3c Personal and Political Liberty%0a%3c %0a%3c To escape political tyranny and oppression, thousands of people left their homes and crossed the Atlantic. Following their unsuccessful rebellion against the English, the Irish came in large numbers. So did the Germans when the Revolution of 1848 failed. Likewise, the Jews left Russia toward the close of the nineteenth century in order to escape intolerable conditions.%0a%3c %0a%3c Among the great champions of personal liberty has been Thomas Paine, who turned the tide of victory during the Revolutionary War when he declared, “This is the cause for which we are ready to suffer and to die—Freedom for ourselves and the rest of the world.” Another outstanding champion of personal liberty was Carl Schurz, one of the German forty-eighters, who supported men of principles and worthy causes regardless of political affiliations.%0a%3c Economic Liberty%0a%3c %0a%3c Coupled with other motives, the newcomer has almost always been imbued with the hope of making a livelihood or of making profits for himself or for his employers. The first permanent settlement was established at Jamestown by the London Company to profit from gold mining and trade. New Hampshire was founded by Georges and Mason for the purpose of profit from trade and farming. The Carolinas were founded[4] by a group of nobles for the same purpose. It was a similar motive which led the Swedes to settle on the Delaware, the Netherlanders to settle on Manhattan, the English to conquer New Amsterdam, and Berkeley and Carteret to settle New Jersey.%0a%3c %0a%3c Intellectual Liberty%0a%3c %0a%3c On this network, the thoughts and ideas of all men may be expressed freely and analyzed by everybody.%0a%3c %0a%3c The United States has been greatly enriched as the result of cultural liberty. Here, the immigrant has often found the opportunity to practice and pass on to others those customs and traditions which have been handed down to him by his ancestors. The Christmas tree, Easter bunny, and New Year festivities are German in origin. Many of the festivals in California and the rodeo are Spanish in origin. Singing societies, folk dancing, games, cookery, and home life have been enriched by customs introduced from other lands.%0a%3c %0a%3c Immigration has indeed proved to be a “wind that blows democratic ideas through the world.”%0a%3c %0a%3c Those who have come to our shores, representing many kindreds and tongues, have been welded by common opportunity into a united patriotism.”—Franklin D. Roosevelt.%0a%3c %0a%3c We hold out to the people of other countries an invitation to come and settle among us as members of our rapidly growing family, and for the blessings we offer them we require of them to look upon our country as their country and unite with us in the great task of preserving our institutions and thereby perpetuating our liberties.%0a%3c %0a%3c In this Nation, to which more than 38,000,000 immigrants have come during the last 120 years, the struggle of people of all races and of many creeds has been and is consciously toward the goal of human understanding and tolerance. This is an effort to elevate human welfare, irrespective of race, color, or creed; and to rise to new heights of civilization with the help of all contributions to our culture. A distinguishing characteristic of a true American is that he measures men of all races and creeds by their achievement, their honesty of purpose, and their humility.%0a%3c %0a%3c The immigrant has always been a firm devotee of the ideals of democracy, for in most cases he has suffered religious, political, military, or other oppression. Even in the United States, democracy did not begin full tilt. But, just as the frontier has been conquered, so too the areas of human rights and freedoms have been extended.%0a%3c %0a%3c The abolition of slavery, universal suffrage, the grant of full rights of citizenship to women, labor legislation, and property rights have all been milestones in the onward march of democracy.%0a%3c %0a%3c The immigrant has not been unmindful of the blessings conferred upon him in this country. He has adjusted himself quickly to his new environment. In every crisis, he has faithfully stood by our country and institutions. He has striven to teach his children to love and honor the land which harbors them.%0a%3c %0a%3c All human history teaches us that the price of human liberty is the continuous enlargement of that liberty. The only safe principle of democracy is justice, equity, and equal respect among all our people. Great unfinished tasks remain for us to solve. Our common loyalty must hold high the torch and pass it on, with fire unquenched, to the citizen of tomorrow.%0a%3c %0a%3c They have built a network%0a%3c %0a%3c The brawn, brain, and inventive genius of new users have made IRCNow%0a%3c %0a%3c It is our diverse origins%0a%3c that will contribute to our code and network, to the arts and crafts, and progress and good administration.%0a\ No newline at end of file%0a +host:1614493573=198.251.81.119 blob - /dev/null blob + b7225f8a62e9ea8d6b6d8883e525aea258a79edd (mode 644) --- /dev/null +++ wiki.d/Irc.Bots,del-1596460433 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596460407 +host=38.81.163.143 +name=Irc.Bots +rev=1 +targets= +text======= Free bots ======%0a%0aRequest a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%0a - [[irc:bots:relay|Relay bots]]%0a - [[irc:bots:chatbots|Chat bots]]%0a - [[irc:bots:chanbot|Channel bots]]%0a - [[irc:bots:biblebot|Bible bot]]%0a - [[irc:bots:http2irc|HTTP bot]]%0a%0a===== Relay bot =====%0a%0aYou can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%0a==== Features: ====%0a%0a - Relay multiple channels on multiple networks%0a - On servers you own, each channel can see 1 nick per user on other networks%0a%0aWe are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%0a===== Chat bot =====%0a%0a - Display the title of a posted URL%0a - Read RSS feeds%0a%0aWe are working on adding these features:%0a%0a - Play chess on IRC%0a - Code snippet upload%0a - File upload%0a%0a===== Bible bot =====%0a%0aStudy the Holy Bible.%0a%0a - Around 100 open/public domain translations in over 20 languages%0a - Passage and verse quoting%0a%0a===== HTTP bot =====%0a%0aThis is still a work in progress (not yet ready for borrowing).%0a%0aA scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%0a - Easily create your own bots using shell scripts and curl%0a - Can be used to create IRC clients that can bypass restrictive firewalls%0a - Can be used to create a web IRC client%0a +time=1596460407 +author:1596460407=jrmu +diff:1596460407:1596460407:=1,48d0%0a%3c ====== Free bots ======%0a%3c %0a%3c Request a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%3c %0a%3c - [[irc:bots:relay|Relay bots]]%0a%3c - [[irc:bots:chatbots|Chat bots]]%0a%3c - [[irc:bots:chanbot|Channel bots]]%0a%3c - [[irc:bots:biblebot|Bible bot]]%0a%3c - [[irc:bots:http2irc|HTTP bot]]%0a%3c %0a%3c ===== Relay bot =====%0a%3c %0a%3c You can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%3c %0a%3c ==== Features: ====%0a%3c %0a%3c - Relay multiple channels on multiple networks%0a%3c - On servers you own, each channel can see 1 nick per user on other networks%0a%3c %0a%3c We are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%3c %0a%3c ===== Chat bot =====%0a%3c %0a%3c - Display the title of a posted URL%0a%3c - Read RSS feeds%0a%3c %0a%3c We are working on adding these features:%0a%3c %0a%3c - Play chess on IRC%0a%3c - Code snippet upload%0a%3c - File upload%0a%3c %0a%3c ===== Bible bot =====%0a%3c %0a%3c Study the Holy Bible.%0a%3c %0a%3c - Around 100 open/public domain translations in over 20 languages%0a%3c - Passage and verse quoting%0a%3c %0a%3c ===== HTTP bot =====%0a%3c %0a%3c This is still a work in progress (not yet ready for borrowing).%0a%3c %0a%3c A scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%3c %0a%3c - Easily create your own bots using shell scripts and curl%0a%3c - Can be used to create IRC clients that can bypass restrictive firewalls%0a%3c - Can be used to create a web IRC client%0a +host:1596460407=38.81.163.143 blob - /dev/null blob + f9abb98b8a32484661302d6774e0564399a4249f (mode 644) --- /dev/null +++ wiki.d/Irc.Bouncer,del-1596460797 @@ -0,0 +1,85 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596271466 +host=38.81.163.143 +name=Irc.Bouncer +rev=24 +targets=Bouncer.Irccloud,Bouncer.MIRC,Bouncer.AndroIRC,Bouncer.Thunderbird,Bouncer.Pidgin,Bouncer.Hexchat,Bouncer.Kvirc,Bouncer.Irssi,Bouncer.Weechat,Bouncer.Kiwiirc,Bouncer.Limechat,Bouncer.Colloquy,Bouncer.Textual,Bouncer.Revolutionirc,Bouncer.Irc4android,Bouncer.Mibbit,Bouncer.Quassel,Bouncer.Adiirc,Bouncer.Znc,Irc.IrcZncCommands +text=(:Title IRC Bouncers :)%0a%0aAn IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on up to 200 IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a%0aWe currently offer ZNC and psyBNC.%0a%0aTo get started with a free bouncer, connect to irc.ircnow.org and /join #ircnow. Then, type !bnc for a free bouncer.%0a%0a|| border=1 width=80%25%0a||! IRC Clients !||%0a||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||%0a|| [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a|| [[bouncer.mIRC|mIRC]] || || || || ||%0a|| || || || [[bouncer.androIRC|AndroIRC]] || ||%0a|| [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a|| [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a|| [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a|| [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a|| || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || ||%0a|| || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || ||%0a|| [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] ||%0a|| || [[bouncer.limechat|Limechat]] || || || ||%0a|| || [[bouncer.colloquy|Colloquy]] || || || ||%0a|| || [[bouncer.textual|Textual]] || || || ||%0a|| || || || [[bouncer.revolutionirc|Revolution IRC]] || ||%0a|| || || || [[bouncer.irc4android|irc4android]] || ||%0a|| [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a|| [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a|| [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a%0aChatzilla (an add-on for Firefox), XChat (FOSS for Linux), Trillian%0a%0a|| [[bouncer.znc|ZNC Web Panel]] ||||||||||%0a|| [[irc:znc:commands|ZNC commands]] || +time=1596399058 +title=IRC Bouncers +author:1596399058=jrmu +diff:1596399058:1596399044:=7c7%0a%3c To get started with a free bouncer, connect to irc.ircnow.org and /join #ircnow. Then, type !bnc for a free bouncer.%0a---%0a> To get started with a free bouncer, connect to [[irc://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a +host:1596399058=38.81.163.143 +author:1596399044=jrmu +diff:1596399044:1596399035:=7c7%0a%3c To get started with a free bouncer, connect to [[irc://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a---%0a> To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a +host:1596399044=38.81.163.143 +author:1596399035=jrmu +diff:1596399035:1596329747:=7c7%0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/|irc.ircnow.org]] and /join #ircnow. Then, type !bnc for a free bouncer.%0a---%0a> To get started with a free bouncer, join us in our IRC chat room at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org +6697 (SSL) #ircnow]]. Then, type !request for a free bouncer.%0a +host:1596399035=38.81.163.143 +author:1596329747=jrmu +diff:1596329747:1596275412:=30,32d29%0a%3c %0a%3c Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), Trillian%0a%3c %0a +host:1596329747=38.81.163.143 +author:1596275412=jrmu +diff:1596275412:1596275387:=30c30%0a%3c || [[bouncer.znc|ZNC Web Panel]] ||||||||||%0a---%0a> || [[bouncer.znc|ZNC Web Panel]]%0a +host:1596275412=38.81.163.143 +author:1596275387=jrmu +diff:1596275387:1596275365:=27,31c27,32%0a%3c || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a%3c || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a%3c || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a%3c || [[bouncer.znc|ZNC Web Panel]]%0a%3c || [[irc:znc:commands|ZNC commands]] ||%0a\ No newline at end of file%0a---%0a> %0a> - [[irc:mibbit|Mibbit]]%0a> - [[irc:quassel|Quassel]]%0a> - [[irc:adiirc|AdiIRC]]%0a> - [[irc:znc|ZNC Web Panel]]%0a> - [[irc:znc:commands|ZNC commands]]%0a\ No newline at end of file%0a +host:1596275387=38.81.163.143 +author:1596275365=jrmu +diff:1596275365:1596275271:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] ||||||||||%0a15,18c15,18%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a%3c || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a%3c || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] |||||| || ||%0a> || [[bouncer.pidgin|Pidgin]] |||||| || ||%0a> || [[bouncer.hexchat|Hexchat]] |||||| ||%0a> || [[bouncer.kvirc|KVIrc]] |||||| || ||%0a27,32c27,31%0a%3c %0a%3c - [[irc:mibbit|Mibbit]]%0a%3c - [[irc:quassel|Quassel]]%0a%3c - [[irc:adiirc|AdiIRC]]%0a%3c - [[irc:znc|ZNC Web Panel]]%0a%3c - [[irc:znc:commands|ZNC commands]]%0a\ No newline at end of file%0a---%0a> || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a> || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a> || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a> || [[bouncer.znc|ZNC Web Panel]]%0a> || [[irc:znc:commands|ZNC commands]] ||%0a\ No newline at end of file%0a +host:1596275365=38.81.163.143 +author:1596275271=jrmu +diff:1596275271:1596275216:=15,18c15,18%0a%3c || [[bouncer.thunderbird|Thunderbird]] |||||| || ||%0a%3c || [[bouncer.pidgin|Pidgin]] |||||| || ||%0a%3c || [[bouncer.hexchat|Hexchat]] |||||| ||%0a%3c || [[bouncer.kvirc|KVIrc]] |||||| || ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a> || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a> || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a> || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a +host:1596275271=38.81.163.143 +author:1596275216=jrmu +diff:1596275216:1596275131:=12c12%0a%3c || [[bouncer.irccloud|IRCCloud]] ||||||||||%0a---%0a> || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a +host:1596275216=38.81.163.143 +author:1596275131=jrmu +diff:1596275131:1596273800:=27,31c27,32%0a%3c || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] || [[bouncer.mibbit|Mibbit]] ||%0a%3c || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] || [[bouncer.quassel|Quassel]] ||%0a%3c || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || [[bouncer.adiirc|AdiIRC]] || || ||%0a%3c || [[bouncer.znc|ZNC Web Panel]]%0a%3c || [[irc:znc:commands|ZNC commands]] ||%0a\ No newline at end of file%0a---%0a> %0a> - [[irc:mibbit|Mibbit]]%0a> - [[irc:quassel|Quassel]]%0a> - [[irc:adiirc|AdiIRC]]%0a> - [[irc:znc|ZNC Web Panel]]%0a> - [[irc:znc:commands|ZNC commands]]%0a\ No newline at end of file%0a +host:1596275131=38.81.163.143 +author:1596273800=jrmu +diff:1596273800:1596273659:=21d20%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] || [[bouncer.kiwiirc|KiwiIRC]] ||%0a27a27,28%0a> %0a> - [[irc:kiwiirc|KiwiIRC]]%0a +host:1596273800=38.81.163.143 +author:1596273659=jrmu +diff:1596273659:1596273595:=12,14c12,14%0a%3c || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a%3c || [[bouncer.mIRC|mIRC]] || || || || ||%0a%3c || || || || [[bouncer.androIRC|AndroIRC]] || ||%0a---%0a> || || [[bouncer.limechat|Limechat]] || || || ||%0a> || || [[bouncer.colloquy|Colloquy]] || || || ||%0a> || || [[bouncer.textual|Textual]] || || || ||%0a21,23c21%0a%3c || || [[bouncer.limechat|Limechat]] || || || ||%0a%3c || || [[bouncer.colloquy|Colloquy]] || || || ||%0a%3c || || [[bouncer.textual|Textual]] || || || ||%0a---%0a> || [[bouncer.mIRC|mIRC]] || || || || ||%0a24a23%0a> || || || || [[bouncer.androIRC|AndroIRC]] || ||%0a26c25%0a%3c %0a---%0a> || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a +host:1596273659=38.81.163.143 +author:1596273595=jrmu +diff:1596273595:1596273550:=15,16c15,16%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || || ||%0a%3c || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || || ||%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.|]] || [[bouncer.|]]%0a +host:1596273595=38.81.163.143 +author:1596273550=jrmu +diff:1596273550:1596273440:=12,14c12,14%0a%3c || || [[bouncer.limechat|Limechat]] || || || ||%0a%3c || || [[bouncer.colloquy|Colloquy]] || || || ||%0a%3c || || [[bouncer.textual|Textual]] || || || ||%0a---%0a> || || [[bouncer.limechat|Limechat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || || [[bouncer.colloquy|Colloquy]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || || [[bouncer.textual|Textual]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a +host:1596273550=38.81.163.143 +author:1596273440=jrmu +diff:1596273440:1596273000:=12c12%0a%3c || || [[bouncer.limechat|Limechat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a---%0a> || [[bouncer.mIRC|mIRC]] || [[bouncer.limechat|Limechat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a15c15%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]]%0a---%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a18,25c18,51%0a%3c || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || [[bouncer.kvirc|KVIrc]] || || ||%0a%3c || || [[bouncer.irssi|irssi]] || [[bouncer.irssi|irssi]] || || ||%0a%3c || || [[bouncer.weechat|weechat]] || [[bouncer.weechat|weechat]] || || ||%0a%3c || [[bouncer.mIRC|mIRC]] || || || || ||%0a%3c || || || || [[bouncer.revolutionirc|Revolution IRC]] || ||%0a%3c || || || || [[bouncer.androIRC|AndroIRC]] || ||%0a%3c || || || || [[bouncer.irc4android|irc4android]] || ||%0a%3c || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] || [[bouncer.irccloud|IRCCloud]] ||%0a---%0a> %0a> %0a> ====== Mac ======%0a> %0a> - [[irc:irssi|Irssi]]%0a> - [[irc:weechat|Weechat]]%0a> - [[irc:hexchat|Hexchat]]%0a> - [[irc:limechat|Limechat]]%0a> - [[irc:colloquy|Colloquy]]%0a> - [[irc:thunderbird|Thunderbird]]%0a> - [[irc:pidgin|Pidgin]]%0a> %0a> ====== Linux / BSD ======%0a> %0a> - [[irc:irssi|Irssi]]%0a> - [[irc:weechat|Weechat]]%0a> - [[irc:hexchat|Hexchat]]%0a> - [[irc:thunderbird|Thunderbird]]%0a> - [[irc:kvirc|KVIrc]]%0a> - [[irc:pidgin|Pidgin]]%0a> %0a> ====== Android ======%0a> %0a> - [[irc:revolutionirc|Revolution IRC]]%0a> - [[irc:androirc|AndroIRC]]%0a> - [[irc:irccloud|IRCCloud]]%0a> - [[irc:irc4android|irc4android]]%0a> %0a> ====== iOS ======%0a> %0a> - [[irc:irccloud|IRCCloud]]%0a> %0a> ====== Web ======%0a> %0a +host:1596273440=38.81.163.143 +author:1596273000=jrmu +diff:1596273000:1596272841:=12,18c12,24%0a%3c || [[bouncer.mIRC|mIRC]] || [[bouncer.limechat|Limechat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || || [[bouncer.colloquy|Colloquy]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || || [[bouncer.textual|Textual]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.pidgin|Pidgin]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || [[bouncer.hexchat|Hexchat]] || ||%0a%3c %0a---%0a> || [[bouncer.hexchat|Hexchat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a> %0a> ====== Windows ======%0a> %0a> - [[irc.hexchat|Hexchat]]%0a> - [[irc:thunderbird|Thunderbird]]%0a> - [[irc:pidgin|Pidgin]]%0a> - [[irc:mirc|mIRC]]%0a +host:1596273000=38.81.163.143 +author:1596272841=jrmu +diff:1596272841:1596272662:=9c9%0a%3c || border=1 width=80%25%0a---%0a> || border=1%0a +host:1596272841=38.81.163.143 +author:1596272662=jrmu +diff:1596272662:1596272253:=12,17c12%0a%3c || [[bouncer.hexchat|Hexchat]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.thunderbird|Thunderbird]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a%3c || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]] || [[bouncer.|]]%0a---%0a> || [[irc.bouncer.hexchat|Hexchat]] || || cell 3 || || ||%0a +host:1596272662=38.81.163.143 +author:1596272253=jrmu +diff:1596272253:1596271637:=5,59c5%0a%3c We currently offer ZNC and psyBNC.%0a%3c %0a%3c To get started with a free bouncer, join us in our IRC chat room at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org +6697 (SSL) #ircnow]]. Then, type !request for a free bouncer.%0a%3c %0a%3c || border=1%0a%3c ||! IRC Clients !||%0a%3c ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||%0a%3c || [[irc.bouncer.hexchat|Hexchat]] || || cell 3 || || ||%0a%3c %0a%3c ====== Windows ======%0a%3c %0a%3c - [[irc.hexchat|Hexchat]]%0a%3c - [[irc:thunderbird|Thunderbird]]%0a%3c - [[irc:pidgin|Pidgin]]%0a%3c - [[irc:mirc|mIRC]]%0a%3c %0a%3c ====== Mac ======%0a%3c %0a%3c - [[irc:irssi|Irssi]]%0a%3c - [[irc:weechat|Weechat]]%0a%3c - [[irc:hexchat|Hexchat]]%0a%3c - [[irc:limechat|Limechat]]%0a%3c - [[irc:colloquy|Colloquy]]%0a%3c - [[irc:thunderbird|Thunderbird]]%0a%3c - [[irc:pidgin|Pidgin]]%0a%3c %0a%3c ====== Linux / BSD ======%0a%3c %0a%3c - [[irc:irssi|Irssi]]%0a%3c - [[irc:weechat|Weechat]]%0a%3c - [[irc:hexchat|Hexchat]]%0a%3c - [[irc:thunderbird|Thunderbird]]%0a%3c - [[irc:kvirc|KVIrc]]%0a%3c - [[irc:pidgin|Pidgin]]%0a%3c %0a%3c ====== Android ======%0a%3c %0a%3c - [[irc:revolutionirc|Revolution IRC]]%0a%3c - [[irc:androirc|AndroIRC]]%0a%3c - [[irc:irccloud|IRCCloud]]%0a%3c - [[irc:irc4android|irc4android]]%0a%3c %0a%3c ====== iOS ======%0a%3c %0a%3c - [[irc:irccloud|IRCCloud]]%0a%3c %0a%3c ====== Web ======%0a%3c %0a%3c %0a%3c - [[irc:kiwiirc|KiwiIRC]]%0a%3c - [[irc:mibbit|Mibbit]]%0a%3c - [[irc:quassel|Quassel]]%0a%3c - [[irc:adiirc|AdiIRC]]%0a%3c - [[irc:znc|ZNC Web Panel]]%0a%3c - [[irc:znc:commands|ZNC commands]]%0a\ No newline at end of file%0a---%0a> We currently offer ZNC and psyBNC.%0a\ No newline at end of file%0a +host:1596272253=38.81.163.143 +author:1596271637=jrmu +diff:1596271637:1596271516:=3,5c3%0a%3c An IRC bouncer lets you receive messages while you're offline. It save messages for you while you're disconnected from IRC (like when you turn off your computer or phone) so your IRC client can download them once you log in later on. Our bouncers also allow you to chat with users on up to 200 IRC networks and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security and provides you with DDoS protection.%0a%3c %0a%3c We currently offer ZNC and psyBNC.%0a\ No newline at end of file%0a---%0a> With an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on any IRC network and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security.%0a\ No newline at end of file%0a +host:1596271637=38.81.163.143 +author:1596271516=jrmu +diff:1596271516:1596271500:=1c1%0a%3c (:Title IRC Bouncers :)%0a---%0a> (:Title IRC Bouncers )%0a +host:1596271516=38.81.163.143 +author:1596271500=jrmu +diff:1596271500:1596271480:=1c1%0a%3c (:Title IRC Bouncers )%0a---%0a> {:Title IRC Bouncers }%0a +host:1596271500=38.81.163.143 +author:1596271480=jrmu +diff:1596271480:1596271466:=1c1%0a%3c {:Title IRC Bouncers }%0a---%0a> IRC Bouncers%0a +host:1596271480=38.81.163.143 +author:1596271466=jrmu +diff:1596271466:1596271466:=1,3d0%0a%3c IRC Bouncers%0a%3c %0a%3c With an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on any IRC network and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security. %0a\ No newline at end of file%0a +host:1596271466=38.81.163.143 blob - /dev/null blob + d7b3f78f51fc9652b963263c2b60d4dc7f4e2740 (mode 644) --- /dev/null +++ wiki.d/Irc.Chanop @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.1 +author=mkf +charset=UTF-8 +csum= +ctime=1626886577 +host=80.210.50.203 +name=Irc.Chanop +rev=3 +targets= +text=Setting ChanServ on your channels allow you to set modes and your rules to manage it, even after you got disconnected.%0afirst, join the channel you want to get chanserv on it. this usually done by%0a[@%0a/join #yourchannelname%0a@]%0aif it didn't worked, check your client manual.%0a%0athen, check if that channel is not registered by someone else, by msg-ing chanserv info #yourchannelname%0a[@%0a/msg chanserv info #yourchannelname%0a@]%0aif it has been taken by someone else, it will show something like this:%0a[@%0a-ChanServ(services@services.irc.ircnow.org)- Information for channel #yourchannelname:%0a-ChanServ(services@services.irc.ircnow.org)- Founder: me%0a-ChanServ(services@services.irc.ircnow.org)- Description: yeah, that's my channel.%0a-ChanServ(services@services.irc.ircnow.org)- Registered: Jul 20 06:34:21 2018 PDT (2 years ago)%0a-ChanServ(services@services.irc.ircnow.org)- Last used: Jul 20 06:39:35 2022 PDT (now)%0a-ChanServ(services@services.irc.ircnow.org)- Ban type: 2%0a-ChanServ(services@services.irc.ircnow.org)- Mode lock: +nt%0a-ChanServ(services@services.irc.ircnow.org)- Options: Peace, Security, Secure founder, Signed kicks, Topic retention%0a-ChanServ(services@services.irc.ircnow.org)- Last topic: channel's last topic%0a-ChanServ(services@services.irc.ircnow.org)- Topic set by: me%0a@]%0a%0ait says this channel has taken by someone with nick "me". in that case choose another name.%0aif it has not taken by someone else, it should show something like that:%0a[@%0a-ChanServ(services@services.irc.ircnow.org)- Channel #yourchannelname isn't registered.%0a@]%0ain that case, you can take it. however, some networks doesn't allow some names for channels, ask admins of your network about that.%0afor registering your channel into chanserv, do the following:%0a[@%0a/msg chanserv register #yourchannelname this is my channel%0a@]%0ait registers [@#yourchannelname@], under your current nick and with description "this is my channel"%0a +time=1639457930 +author:1639457930=mkf +diff:1639457930:1639457904:minor=26c26%0a%3c it says this channel has taken by someone with nick "me". in that case choose another name.%0a---%0a> it says this channel has taken by some guy with nick "me". in that case choose another name.%0a +host:1639457930=80.210.50.203 +author:1639457904=mkf +csum:1639457904=me +diff:1639457904:1626886577:=15c15%0a%3c -ChanServ(services@services.irc.ircnow.org)- Founder: me%0a---%0a> -ChanServ(services@services.irc.ircnow.org)- Founder: mkf%0a22,23c22,23%0a%3c -ChanServ(services@services.irc.ircnow.org)- Last topic: channel's last topic%0a%3c -ChanServ(services@services.irc.ircnow.org)- Topic set by: me%0a---%0a> -ChanServ(services@services.irc.ircnow.org)- Last topic: no, choose another name. this is my channel :^)%0a> -ChanServ(services@services.irc.ircnow.org)- Topic set by: mkf%0a26c26%0a%3c it says this channel has taken by some guy with nick "me". in that case choose another name.%0a---%0a> it says this channel has taken by some guy with nick "mkf". in that case choose another name.%0a +host:1639457904=80.210.50.203 +author:1626886577=mkf +csum:1626886577=first edit. +diff:1626886577:1626886577:=1,36d0%0a%3c Setting ChanServ on your channels allow you to set modes and your rules to manage it, even after you got disconnected.%0a%3c first, join the channel you want to get chanserv on it. this usually done by%0a%3c [@%0a%3c /join #yourchannelname%0a%3c @]%0a%3c if it didn't worked, check your client manual.%0a%3c %0a%3c then, check if that channel is not registered by someone else, by msg-ing chanserv info #yourchannelname%0a%3c [@%0a%3c /msg chanserv info #yourchannelname%0a%3c @]%0a%3c if it has been taken by someone else, it will show something like this:%0a%3c [@%0a%3c -ChanServ(services@services.irc.ircnow.org)- Information for channel #yourchannelname:%0a%3c -ChanServ(services@services.irc.ircnow.org)- Founder: mkf%0a%3c -ChanServ(services@services.irc.ircnow.org)- Description: yeah, that's my channel.%0a%3c -ChanServ(services@services.irc.ircnow.org)- Registered: Jul 20 06:34:21 2018 PDT (2 years ago)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Last used: Jul 20 06:39:35 2022 PDT (now)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Ban type: 2%0a%3c -ChanServ(services@services.irc.ircnow.org)- Mode lock: +nt%0a%3c -ChanServ(services@services.irc.ircnow.org)- Options: Peace, Security, Secure founder, Signed kicks, Topic retention%0a%3c -ChanServ(services@services.irc.ircnow.org)- Last topic: no, choose another name. this is my channel :^)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Topic set by: mkf%0a%3c @]%0a%3c %0a%3c it says this channel has taken by some guy with nick "mkf". in that case choose another name.%0a%3c if it has not taken by someone else, it should show something like that:%0a%3c [@%0a%3c -ChanServ(services@services.irc.ircnow.org)- Channel #yourchannelname isn't registered.%0a%3c @]%0a%3c in that case, you can take it. however, some networks doesn't allow some names for channels, ask admins of your network about that.%0a%3c for registering your channel into chanserv, do the following:%0a%3c [@%0a%3c /msg chanserv register #yourchannelname this is my channel%0a%3c @]%0a%3c it registers [@#yourchannelname@], under your current nick and with description "this is my channel"%0a +host:1626886577=198.251.81.133 blob - /dev/null blob + 8dee54bd69a562aa28574780706e4aaaac7adfce (mode 644) --- /dev/null +++ wiki.d/Irc.Clients @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1623317478 +host=198.251.81.133 +name=Irc.Clients +rev=4 +targets=Bouncer.AdiIRC,Bouncer.Adium,Bouncer.AndroIRC,Bouncer.Atomic,Bouncer.Colloquy,Bouncer.Hexchat,Bouncer.HydraIRC,Bouncer.IRCForAndroid,Bouncer.IRCCloud,Bouncer.IRCCloudWeb,Bouncer.IRCCloudAndroid,Bouncer.IRCCloudiOS,Bouncer.IceChat,Bouncer.IrcEX,Bouncer.Irssi,Bouncer.Igloo,Bouncer.KiwiIRC,Bouncer.Konversation,Bouncer.KVIrc,Bouncer.Limechat,Bouncer.Mibbit,Bouncer.MIRC,Bouncer.Nettalk,Bouncer.Pidgin,Bouncer.Quassel,Bouncer.RevolutionIRC,Bouncer.SimpleIRC,Bouncer.Smuxi,Bouncer.Textual,Bouncer.Thunderbird,Bouncer.TurboIRC,Bouncer.Vision,Bouncer.WeeChat,Bouncer.XChat,Bouncer.XChatAzure,Bouncer.Yaaic +text=%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a|| [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a|| [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a|| [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a|| [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a|| [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a|| [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a|| [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a|| [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a|| [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a|| [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a|| [[bouncer.Konversation|Konversation]] || ✓ || || ✓ || || || || GPLv2 ||%0a|| [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a|| [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a|| [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a|| [[bouncer.nettalk|nettalk]] || || || || || || || Apache 2.0 ||%0a|| [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a|| [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a|| [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a|| [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a|| [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a|| [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a|| [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPLv2 ||%0a|| [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a%0a# W = Wine emulation +time=1627916090 +author:1627916090=mkf +diff:1627916090:1627915844:=0a1%0a> (: IRC Clients:)%0a +host:1627916090=198.251.81.133 +author:1627915844=mkf +diff:1627915844:1627915767:=1,2c1,3%0a%3c (: IRC Clients:)%0a%3c %0a---%0a> (:Title IRC Bouncers :)%0a> %0a> %0a4c5%0a%3c ||! IRC Clients !||%0a---%0a> ||! IRC Clients ||%0a27a29%0a> || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || GPLv2 ||%0a +host:1627915844=198.251.81.133 +author:1627915767=mkf +diff:1627915767:1623317478:=3c3,13%0a%3c %0a---%0a> * Stay connected to IRC chat when your device is offline%0a> * Play back missed messages when you connect%0a> * Access unlimited IRC chat networks (with bridges to Telegram or Discord)%0a> * Get a DDoS protected IP%0a> %0a> It's free of charge running free software with real time support from IRCNow staff.%0a> %0a> To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. Then, type [@!bnc@] for a free bouncer.%0a> %0a> Here's how to [[bouncer/ZNC|add a network on ZNC]].%0a> %0a5c15%0a%3c ||! IRC Clients ||%0a---%0a> ||! IRC Clients ([[bouncer/all|Complete List]]) !||%0a +host:1627915767=198.251.81.133 +author:1623317478=jrmu +diff:1623317478:1623317478:=1,51d0%0a%3c (:Title IRC Bouncers :)%0a%3c %0a%3c * Stay connected to IRC chat when your device is offline%0a%3c * Play back missed messages when you connect%0a%3c * Access unlimited IRC chat networks (with bridges to Telegram or Discord)%0a%3c * Get a DDoS protected IP%0a%3c %0a%3c It's free of charge running free software with real time support from IRCNow staff.%0a%3c %0a%3c To get started with a free bouncer, connect to [[ircs://irc.ircnow.org/]] and /join [[ircs://irc.ircnow.org/#ircnow|#ircnow]]. Then, type [@!bnc@] for a free bouncer.%0a%3c %0a%3c Here's how to [[bouncer/ZNC|add a network on ZNC]].%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC Clients ([[bouncer/all|Complete List]]) !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.HydraIRC|HydraIRC]] || || || || || || || ? ||%0a%3c || [[bouncer.IRC for Android|IRC for Android]] || || || || ✓ || || || ? ||%0a%3c || [[bouncer.IRCCloud|IRCCloud]] [[bouncer.IRCCloudWeb|Web]] [[bouncer.IRCCloudAndroid|Android]] [[bouncer.IRCCloudiOS|iOS]] || || || || [[bouncer.IRCCloudAndroid|✓]] || [[bouncer.IRCCloudiOS|✓]] || [[bouncer.IRCCloudWeb|✓]] || Apache 2.0 / Proprietary ||%0a%3c || [[bouncer.IceChat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.ircEX|ircEX]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Igloo|Igloo]] || || ✓ || || || ✓ || || Proprietary ||%0a%3c || [[bouncer.KiwiIRC|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.Konversation|Konversation]] || ✓ || || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.KVIrc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.Mibbit|Mibbit]] || || || || || || ✓ || Proprietary ||%0a%3c || [[bouncer.mIRC|mIRC]] || ✓ || W || W || || || || Proprietary ||%0a%3c || [[bouncer.nettalk|nettalk]] || || || || || || || Apache 2.0 ||%0a%3c || [[bouncer.Pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.qwebirc|qwebirc]] || || || || || || ✓ || GPLv2 ||%0a%3c || [[bouncer.RevolutionIRC|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.SimpleIRC|SimpleIRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.Textual|Textual]] || || ✓ || || || || || Proprietary ||%0a%3c || [[bouncer.Thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.turboIRC|turboIRC]] || || || || || ✓ || || ? ||%0a%3c || [[bouncer.Vision|Vision]] || || || || || || || MPL 1.1 ||%0a%3c || [[bouncer.WeeChat|WeeChat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.XChat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPLv2 ||%0a%3c || [[bouncer.Yaaic|Yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c %0a%3c # W = Wine emulation%0a\ No newline at end of file%0a +host:1623317478=125.231.25.80 blob - /dev/null blob + 9fd4f30854de4f782c925ec17d2e442df113cc0d (mode 644) --- /dev/null +++ wiki.d/Irc.Federation @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1620391108 +host=38.87.162.8 +name=Irc.Federation +rev=5 +targets=Relay.Relay,Census.Census +text=(:title Federate IRC:)%0a%0aTo maximize user freedom, each team should be able to run its%0aown IRC subnetwork to set its own policies. These subnetworks%0acan then be [[relay/relay|relayed]] together to form a true federation for IRC.%0a%0aEach subnetwork will have its own unique user and channel namespace. For example, username@example.com will be distinct from username@domain.net. IRC should take a similar approach to email/matrix/fediverse.%0a%0aIf the example.com network bans #channel, that ban will not affect #channel on domain.net. A ban of username@example.com does not affect username@domain.net.%0a%0aEach team will now be able to run its own [[census/census|IRC services]]. This will prevent complete centralized control of services while also ensuring better redundancy.%0a +time=1639749807 +title=Federate IRC +author:1639749807=jrmu +diff:1639749807:1620467598:=3,11c3,9%0a%3c To maximize user freedom, each team should be able to run its%0a%3c own IRC subnetwork to set its own policies. These subnetworks%0a%3c can then be [[relay/relay|relayed]] together to form a true federation for IRC.%0a%3c %0a%3c Each subnetwork will have its own unique user and channel namespace. For example, username@example.com will be distinct from username@domain.net. IRC should take a similar approach to email/matrix/fediverse.%0a%3c %0a%3c If the example.com network bans #channel, that ban will not affect #channel on domain.net. A ban of username@example.com does not affect username@domain.net.%0a%3c %0a%3c Each team will now be able to run its own [[census/census|IRC services]]. This will prevent complete centralized control of services while also ensuring better redundancy.%0a---%0a> Each team will have its own unique user and channel namespace so username@example.com will be distinct from username@domain.net. This is the same approach as email/matrix/fediverse.%0a> %0a> If example.com bans #channel, that ban will not affect #channel on domain.net. A ban of username@example.com does not affect username@domain.net.%0a> %0a> Each team will run its own [[census/census|IRC services]]. This will prevent complete centralized control of services while also ensuring better redundancy.%0a> %0a> The best way to achieve federation is to have separate networks linked together using an [[relay/relay|IRC relay]]. This would require the fewest changes to ngircd.%0a\ No newline at end of file%0a +host:1639749807=38.87.162.8 +author:1620467598=jrmu +diff:1620467598:1620393649:=7,9c7,9%0a%3c Each team will run its own [[census/census|IRC services]]. This will prevent complete centralized control of services while also ensuring better redundancy.%0a%3c %0a%3c The best way to achieve federation is to have separate networks linked together using an [[relay/relay|IRC relay]]. This would require the fewest changes to ngircd.%0a\ No newline at end of file%0a---%0a> Each team will run its own IRC services. This will prevent complete centralized control of services while also ensuring better redundancy.%0a> %0a> The best way to achieve federation is to have separate networks linked together using an IRC relay. This would require the fewest changes to ngircd.%0a\ No newline at end of file%0a +host:1620467598=198.251.81.119 +author:1620393649=jrmu +diff:1620393649:1620391569:=6,7d5%0a%3c %0a%3c Each team will run its own IRC services. This will prevent complete centralized control of services while also ensuring better redundancy.%0a +host:1620393649=198.251.81.119 +author:1620391569=jrmu +diff:1620391569:1620391108:=1,7c1,7%0a%3c (:title Federate IRC:)%0a%3c %0a%3c Each team will have its own unique user and channel namespace so username@example.com will be distinct from username@domain.net. This is the same approach as email/matrix/fediverse.%0a%3c %0a%3c If example.com bans #channel, that ban will not affect #channel on domain.net. A ban of username@example.com does not affect username@domain.net.%0a%3c %0a%3c The best way to achieve federation is to have separate networks linked together using an IRC relay. This would require the fewest changes to ngircd.%0a\ No newline at end of file%0a---%0a> Federate IRC%0a> %0a> Each team to have its own unique user and channel namespace so username@planetofnix.com will be distinct from username@lecturify.net. The approach is similar to the way matrix/fediverse does it.%0a> %0a> If planetofnix.com wants to ban #channel on their server, it is not banned automatically on lemon.ircnow.org. I'm not sure if this should be implemented by ircnowd, or by an extra layer of glue (an IRC relay).%0a> %0a> I suspect the best way to handle this is with an IRC relay since that would require minimal changes in ngircd%0a +host:1620391569=198.251.81.119 +author:1620391108=jrmu +diff:1620391108:1620391108:=1,7d0%0a%3c Federate IRC%0a%3c %0a%3c Each team to have its own unique user and channel namespace so username@planetofnix.com will be distinct from username@lecturify.net. The approach is similar to the way matrix/fediverse does it.%0a%3c %0a%3c If planetofnix.com wants to ban #channel on their server, it is not banned automatically on lemon.ircnow.org. I'm not sure if this should be implemented by ircnowd, or by an extra layer of glue (an IRC relay).%0a%3c %0a%3c I suspect the best way to handle this is with an IRC relay since that would require minimal changes in ngircd%0a +host:1620391108=198.251.81.119 blob - /dev/null blob + 7bee5828588350fcefd95edb4a524d82b1bfff58 (mode 644) --- /dev/null +++ wiki.d/Irc.Guide @@ -0,0 +1,97 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=client -> clients +ctime=1596259356 +host=188.210.102.116 +name=Irc.Guide +rev=25 +targets=Irc.Clients,Ircnow.Servers,Bouncer.Bouncer +text=(:title A Beginner's Guide to IRC:)%0a%0a!! The short and quick version%0a%0aIRC stands for Internet Relay Chat, an open protocol that lets people chat online in real-time.%0a%0aFirst, you will want to find [[irc/clients|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a%0a!! Searching for IRC network to connect to%0a%0aThere are an enormous number of IRC networks to choose from. [[ircnow/servers|IRCNow]] is one such network -- it's an all-purpose network built on principles of user freedom.%0a%0a[[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of other popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a%0a!! Joining, managing, and leaving channels%0a%0a!!! Finding a channel%0a%0aAfter you connect to a server, you will want to join a channel. A channel is a chat%0aroom. On IRC, channels generally begin with the hashtag (#).%0a%0aOn networks like Snoonet, Freenode, and Libera.Chat, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%0aTo find channels to join, in your IRC client, type @@/list@@. On most networks,%0athis will list all available channels. Some networks like Freenode and Libera.Chat%0awill use a bot called alis. To use this, type @@/msg alis help@@.%0a%0a!!! Joining and leaving channels%0a%0aTo join a channel, type /join #channel. To create a channel, you simply /join an empty%0achannel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%0aYou should see a list of users in the channel when you join it. If you want to see%0athem again, type /names.%0a%0aTo chat, simply begin typing in the window and press enter or the return key to send.%0a%0aTo leave a channel, type /part.%0a%0aNotice how commands on IRC begin with "/".%0a%0a!!! Inviting friends%0a%0aTo invite a user to your channel, type /invite nickname #channel.%0a%0a!!! Managing a channel%0a%0aEvery channel has its own ops, the people who help maintain order in a channel.%0aWhen you first join a channel, you are automatically channel op. You will get%0aan @ sign in front of your nick (sometimes referred to as a snail).%0a%0aTo make another user a channel operator, type /mode +o nickname.%0a%0a!! Messaging%0a%0aTo send a private message (PM for short) to a user, type @@/msg nickname Hello, world!@@. Replace the nickname and the message.%0a%0a!! Kicking and Banning Users%0a%0aSometimes you will have troublesome users. IRC allows you to:%0a%0a# kick a user from a channel immediately%0a# ban a user from entering a channel%0a%0aMany new users find it confusing that kicks and bans are distinct.%0a%0aTo kick a user from a channel, type @@/kick nickname@@. This immediately kicks a user%0afrom a channel, but it does not stop him from rejoining immediately after being kicked.%0a%0aTo prevent an abuser from rejoining a channel, you must ban the user. So actually,%0aremoving a user generally requires both a kick and a ban.%0a%0a!!! Vhosts%0a%0aOn IRC, every client that connects to a server will have a vhost that looks like this:%0a%0anickname!username@hostmask%0a%0aIf you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%0aYou might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%0aUnfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%0aTo find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%0aTo learn more about the commands in your IRC client, type /help.%0a%0aTo quit your IRC client, type /quit.%0a%0a%0a!! Design of the IRC protocol%0a%0aThe beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[bouncer.bouncer|common IRC clients]].%0a%0aWhen you connect to IRC, you will be asked for the hostname and port of the server, as well as whether you want to use plaintext or SSL (a secured connection). The hostname will look something like irc.ircnow.org. The port will often be 6667 for plaintext and 6697 for SSL. Enabling SSL will ensure that your connection is secured by encryption. Make sure that you have the correct port and that you check if the port uses SSL or not. Using the wrong port and putting the incorrect setting for SSL is a huge cause of connection problems. It is not possible to use SSL on a port if the server doesn't support it.%0a%0aOnce you connect to a network, you can type /list. This will list all the visible channels on the network so you can find one to join.%0a%0aWhat most users find surprising about IRC is that by design, you don't have to register to chat. You can pick any nickname/real name you want. The main benefit of this design is that you can be totally anonymous on IRC, something which is impossible on most social networks. As you might expect, however, this can be confusing and can lead to impersonation, harassment, and spam. As a result, many IRC networks encourage you to register and claim your nickname.%0a%0a!! IRC Services%0a%0aThere is no uniform IRC services, so every single network implements its own services in a different and contradictory way. For now, we'll discuss NickServ, which is used most commonly on IRC networks.%0a%0aTo interact with Nickserv, you send the message /msg Nickserv %3ccommand>, like /msg Nickserv help. This will show you all the options available to register a nick, reset a password, and so forth. Once you register a nick, you can then register a channel. To do so, type /msg Chanserv %3ccommand>, like /msg Chanserv help.%0a%0a!! Bouncers%0a%0aBecause of the way IRC is designed, servers do not store messages for clients.%0aServers only relay messages to clients. This means that when you disconnect, you can't%0areceive any messages. Whenever you turn off your phone or shut off your PC, you%0adisconnect and could lose messages. For this reason, we recommend%0a[[bouncer.bouncer|signing up for a bouncer]].%0a%0a!! Extra comments from other sites%0a%0aTo protect your privacy, you will want to use a bouncer, VPN, or tor.%0aWith all three services, it is possible your privacy may still be compromised.%0aYou will want to make sure your provider is trustworthy.%0a%0aBe careful when identifying with NickServ. If you send the message to the wrong window%0aor you make a typo, you might accidentally reveal your password. Always double%0acheck before identifying.%0a%0a!! User modes%0a%0a!! Channel modes%0a%0aFirst. Modes set by an op upon a channel.%0aSecond. Modes set by an op upon its users, giving them privileges or restrictions.%0a74. To set modes, use /mode, with the following parameters:%0aFirst. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0aSecond. + or - and the mode or modes to be added or removed.%0aThird. Any parameter for the mode.%0a%0aTo key a channel:%0a%0a/mode +k password%0a%0aTo make a channel invite only:%0a%0a/mode +i%0a%0aTo half-op someone:%0a%0a/mode +h username%0a%0aTo voice someone:%0a%0a/mode +v username%0a%0aTo prevent unregistered users from joining:%0a%0a/mode +R%0a84. To prevent unregistered users from joining, +r.%0a%0aEDIT: As this is a common countermeasure recommended, it should be noted that often the chanmode is +R.%0a%0aTo prevent unvoiced users from chatting (while allowing them to view):%0a%0a/mode +m%0a%0aNote. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a%0aTo change a channel topic:%0a%0a/topic This is the new channel topic!%0a +time=1626890560 +title=A Beginner's Guide to IRC +author:1626890560=mkf +csum:1626890560=client -> clients +diff:1626890560:1625150648:=7c7%0a%3c First, you will want to find [[irc/clients|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a---%0a> First, you will want to find [[irc/client|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a +host:1626890560=188.210.102.116 +author:1625150648=jrmu +diff:1625150648:1623252138:=102c102%0a%3c !! IRC Services%0a---%0a> !! Using NickServ%0a +host:1625150648=38.81.163.143 +author:1623252138=jrmu +diff:1623252138:1623251222:=129a130%0a> 73. Channel modes are in this work considered in two classes:%0a136,155c137,181%0a%3c %0a%3c To key a channel:%0a%3c %0a%3c /mode +k password%0a%3c %0a%3c To make a channel invite only:%0a%3c %0a%3c /mode +i%0a%3c %0a%3c To half-op someone:%0a%3c %0a%3c /mode +h username%0a%3c %0a%3c To voice someone:%0a%3c %0a%3c /mode +v username%0a%3c %0a%3c To prevent unregistered users from joining:%0a%3c %0a%3c /mode +R%0a---%0a> 75. Multiple modes may be added at the same time, but:%0a> First. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0a> Second. There must be as many modes as there are parameters.%0a> Third. The same action cannot both add and remove modes.%0a> %0a> EDIT: Incorrect, it is possible to "mix up" modes e.g. "/mode #channel +b+e troll1*@* good_user1!*@*" is permitted. (Also correct syntax should be used in examples, as in troll1!*@* troll2!*@* etc). %0a> Second is incorrect as well, there are modes which require no parameters, thus one could e.g. set 1 ban, but also moderated and secret. so "/mode #channel +bsm troll3!*@*" is valid.%0a> Third is incorrect as well, one may set AND remove modes simultaneously.%0a> %0a> Div. 1. Channel Modes.%0a> 76. First step of channel modes.%0a> 77. +k.%0a> 78. +i.%0a> 79. +b.%0a> 80. +e.%0a> 81. +I.%0a> 82. Modes of different op grades.%0a> 83. Applications.%0a> 84. +r.%0a> 85. +m.%0a> 86. +M.%0a> 76. In this division, the first step is always /mode followed by the target channel.%0a> 77. To make a channel require a password to join:%0a> First. "+k".%0a> Second. The password, case sensitive.%0a> 78. To make a channel invite-only, "+i".%0a> 79. To ban someone:%0a> First. +b.%0a> Second. The mask intended to be banned. [See para. 27.]%0a> 80. To exempt someone from banning:%0a> First. +e.%0a> Second. The mask intended to be excepted.%0a> 81. To exempt someone from having to be invited:%0a> First. +I.%0a> Second. The mask intended to be exempted.%0a> 82. To use xOP through /mode [see para. 44]:%0a> First. To make someone owner, +q.%0a> Second. To super-op someone, +a.%0a> Third. To op someone, +o.%0a> Fourth. To half-op someone, +h.%0a> Fifth. To voice someone, +v.%0a> 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a> %0a> EDIT: Incorrect. /mode #channel +o requires a nickname as a paramemter. Perhaps using ChanServ to op by masks was meant?%0a> %0a160,163c186%0a%3c To prevent unvoiced users from chatting (while allowing them to view):%0a%3c %0a%3c /mode +m%0a%3c %0a---%0a> 85. To prevent unvoiced users from talking (but not from viewing), +m.%0a166,168c189,197%0a%3c To change a channel topic:%0a%3c %0a%3c /topic This is the new channel topic!%0a---%0a> EDIT: Once again Anope specific advice, for Atheme one may wish to /cs flags #chan *!*@* +V (do note that all an abuser would have to do in either case is leave and rejoin to get voiced again).%0a> Also 0 in Anope should mean "all users" but actually means "all registered users". In effect, -1 is "all users" (despite the help files saying otherwise).%0a> %0a> 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0a> Note. The above three measures are all very good defenses against low-effort trolls.%0a> %0a> At least partially incorrect, +M often only blocks unregistered users from speaking. If they are registered but NOT voiced, they are usually permitted to speak. Also +M CAN have different functionalities.%0a> %0a> EDIT: This is Unreal and Rizon-specific advice, on InspIRCd one would use user mode +I to hide channels, on freenode user mode +i (set by default) hides non-common channels. Also of note that Unreal's and Insp's chan hiding do NOT hide the idle + signon time. (Again the guide appears to cater a lot to Rizon, then to freenode).%0a +host:1623252138=38.81.163.143 +author:1623251222=jrmu +diff:1623251222:1622786896:=7,8c7,10%0a%3c First, you will want to find [[irc/client|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a> After installing your preferred IRC Client, you may wish to request a bouncer with IRCNow to stay connected. The IRC clients page has instructions about how to do this.%0a> %0a11,53c13,30%0a%3c There are an enormous number of IRC networks to choose from. [[ircnow/servers|IRCNow]] is one such network -- it's an all-purpose network built on principles of user freedom.%0a%3c %0a%3c [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of other popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a%3c %0a%3c !! Joining, managing, and leaving channels%0a%3c %0a%3c !!! Finding a channel%0a%3c %0a%3c After you connect to a server, you will want to join a channel. A channel is a chat%0a%3c room. On IRC, channels generally begin with the hashtag (#).%0a%3c %0a%3c On networks like Snoonet, Freenode, and Libera.Chat, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To find channels to join, in your IRC client, type @@/list@@. On most networks,%0a%3c this will list all available channels. Some networks like Freenode and Libera.Chat%0a%3c will use a bot called alis. To use this, type @@/msg alis help@@.%0a%3c %0a%3c !!! Joining and leaving channels%0a%3c %0a%3c To join a channel, type /join #channel. To create a channel, you simply /join an empty%0a%3c channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a%3c You should see a list of users in the channel when you join it. If you want to see%0a%3c them again, type /names.%0a%3c %0a%3c To chat, simply begin typing in the window and press enter or the return key to send.%0a%3c %0a%3c To leave a channel, type /part.%0a%3c %0a%3c Notice how commands on IRC begin with "/".%0a%3c %0a%3c !!! Inviting friends%0a%3c %0a%3c To invite a user to your channel, type /invite nickname #channel.%0a%3c %0a%3c !!! Managing a channel%0a%3c %0a%3c Every channel has its own ops, the people who help maintain order in a channel.%0a%3c When you first join a channel, you are automatically channel op. You will get%0a%3c an @ sign in front of your nick (sometimes referred to as a snail).%0a%3c %0a%3c To make another user a channel operator, type /mode +o nickname.%0a%3c %0a---%0a> [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a> %0a> !! Servers%0a> %0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer|signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a> %0a> !! Choosing an IRC client%0a> %0a> You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network.%0a> %0a> !! Channels%0a> %0a> On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a> Every channel has its own operators, the people who help maintain order in a channel.%0a> %0a56,91c33,34%0a%3c To send a private message (PM for short) to a user, type @@/msg nickname Hello, world!@@. Replace the nickname and the message.%0a%3c %0a%3c !! Kicking and Banning Users%0a%3c %0a%3c Sometimes you will have troublesome users. IRC allows you to:%0a%3c %0a%3c # kick a user from a channel immediately%0a%3c # ban a user from entering a channel%0a%3c %0a%3c Many new users find it confusing that kicks and bans are distinct.%0a%3c %0a%3c To kick a user from a channel, type @@/kick nickname@@. This immediately kicks a user%0a%3c from a channel, but it does not stop him from rejoining immediately after being kicked.%0a%3c %0a%3c To prevent an abuser from rejoining a channel, you must ban the user. So actually,%0a%3c removing a user generally requires both a kick and a ban.%0a%3c %0a%3c !!! Vhosts%0a%3c %0a%3c On IRC, every client that connects to a server will have a vhost that looks like this:%0a%3c %0a%3c nickname!username@hostmask%0a%3c %0a%3c If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%3c %0a%3c You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%3c %0a%3c Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%3c %0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%3c %0a%3c To learn more about the commands in your IRC client, type /help.%0a%3c %0a%3c To quit your IRC client, type /quit.%0a%3c %0a%3c %0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a> %0a104,105c47,48%0a%3c There is no uniform IRC services, so every single network implements its own services in a different and contradictory way. For now, we'll discuss NickServ, which is used most commonly on IRC networks.%0a%3c %0a---%0a> Unfortunately, IRC in its current state is very fragmented. There is no "One True Services" and so every single network implements its own services in a different and contradictory way. For now, we'll discuss the most common services implemented by Atheme and Anope, which uses Nickserv.%0a> %0a108,115c51,75%0a%3c !! Bouncers%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients.%0a%3c Servers only relay messages to clients. This means that when you disconnect, you can't%0a%3c receive any messages. Whenever you turn off your phone or shut off your PC, you%0a%3c disconnect and could lose messages. For this reason, we recommend%0a%3c [[bouncer.bouncer|signing up for a bouncer]].%0a%3c %0a---%0a> !! Joining and leaving and also managing channels%0a> %0a> To leave a channel, type /part. To quit your IRC client, type /quit.%0a> To invite a user to your channel, type /invite nickname #channel.%0a> %0a> To make another user a channel operator, type /mode +o nickname.%0a> %0a> Sometimes you will have troublesome users. Unfortunately, IRC's method of banning users is confusing and unnecessarily complex. This bad design can and should be fixed someday, as we hope to do by making a more user-friendly app.%0a> %0a> To kick a user from a channel ban a user, type /kick nickname. This kick is only temporary, however, because a user can rejoin right after being kicked. To ban him permanently from the channel, you must learn how to ban a user.%0a> %0a> On IRC, every client that connects to a server will have a vhost that looks like this:%0a> %0a> nickname!username@hostmask%0a> %0a> If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a> %0a> You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a> %0a> Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a> %0a> To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a> %0a> To learn more about the commands in your IRC client, type /help.%0a> %0a118,129c78,102%0a%3c To protect your privacy, you will want to use a bouncer, VPN, or tor.%0a%3c With all three services, it is possible your privacy may still be compromised.%0a%3c You will want to make sure your provider is trustworthy.%0a%3c %0a%3c Be careful when identifying with NickServ. If you send the message to the wrong window%0a%3c or you make a typo, you might accidentally reveal your password. Always double%0a%3c check before identifying.%0a%3c %0a%3c !! User modes%0a%3c %0a%3c !! Channel modes%0a%3c %0a---%0a> 70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0a> Note. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a> %0a> EDIT: Personal wording should be avoided, also using a VPN does not guarantee one is "completely secure", this is still shifting trust in the end, and a VPN provider can be dodgy/have malicious intentions as well (tl;dr: one should not blindly trust a VPN 100%25 with one's sensitive data).%0a> %0a> 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0a> %0a> EDIT: Advice usually given is /query NickServ so that NOTICEs do not get lost. This has nothing to do with *Serv bots et al being services, but simply responding via NOTICE by default (can at times be optionally changed to use PRIVMSG).%0a> %0a> !! Channel and user modes%0a> %0a> PART V. CHANNEL AND USER MODES.%0a> 72. Divisions of modes.%0a> 73. Classes of channel modes.%0a> 74. How to set modes.%0a> 75. Adding or removing multiple modes.%0a> Div. 1. Channel Modes.%0a> Div. 2. User Modes.%0a> 72. Modes are divided into:%0a> First. User modes, set by a user upon themselves or a server upon a user.%0a> Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0a> Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a> %0a> EDIT: Server modes? Modes set upon a server? Source required as this seems to be more theoretical "what could be someday" by some RFCs (which also stated nicknames would become obsoleted).%0a> %0a196a170,175%0a> Div. 2. User Modes.%0a> 87. +R.%0a> 88. +p.%0a> 87. To block private messages from unregistered users, +R.%0a> 88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0a> %0a197a177,213%0a> %0a> Note. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0a> %0a> EDIT: freenode no longer sets +R by default.%0a> %0a> THE END.%0a> TABULATION OF MOD ROLES.%0a> ------------------------------------------------------------------------------------------------------%0a> | Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a> | Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a> | Super-op | +a | & | Yellow dot | None | 10 |%0a> | Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a> | Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a> | Voiced | +v | + | Blue dot | "Connection" | 3 |%0a> ------------------------------------------------------------------------------------------------------%0a> %0a> EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a> %0a> %0a> !! FURTHER READING.%0a> %0a> Note: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0a> %0a> !!!IRC in Press and Media%0a> * Back to Basics, Linux Magazine #198 (2017), Linux News Media: https://www.linux-magazine.com/Issues/2017/198/Revisit-IRC%0a> %0a> !!!Original IRC RFC's:%0a> %0a> *RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a> *RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a> *RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a> %0a> !!!Third Party Documentation%0a> * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a> *Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a> *AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a> *Atheme Wiki https://github.com/atheme/atheme/wiki%0a +host:1623251222=38.81.163.143 +author:1622786896=jrmu +diff:1622786896:1622786837:=21c21,39%0a%3c You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network.%0a---%0a> You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network. We have practical guides for the following clients:%0a> %0a> * [[bouncer.Adium|Adium]]%0a> * [[bouncer.Atomic|Atomic]]%0a> * [[bouncer.Hexchat|Hexchat]]%0a> * [[bouncer.IceChat|IceChat]]%0a> * [[bouncer.irssi|Irssi]]%0a> * [[Bouncer.KiwiIRC|KiwiIRC]]%0a> * [[Bouncer.Limechat|Limechat]]%0a> * [[Bouncer.Pidgin|Pidgin]]%0a> * [[Bouncer.Quassel|Quassel]]%0a> * [[Bouncer.RevolutionIRC|RevolutionIRC]]%0a> * [[Bouncer.SimpleIRC|SimpleIRC]]%0a> * [[Bouncer.Smuxi|Smuxi]]%0a> * [[Bouncer.Thunderbird|Thunderbird]]%0a> * [[Bouncer.Vision|Vision]]%0a> * [[Bouncer.WeeChat|Weechat]]%0a> * [[Bouncer.XChat|XChat]]%0a> * [[Bouncer.Yaaic|Yaaic]]%0a +host:1622786896=125.231.28.9 +author:1622786837=jrmu +csum:1622786837=Because this is designed to be a beginner's guide, I'm going to revert this change +diff:1622786837:1622197959:=43,46c43,46%0a%3c On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a---%0a> Chat rooms are called "channels" on IRC. Most IRC clients allow the user to connect to multiple channels at once and keep multiple simultaneous conversations. On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. For text driven IRC clients, the command to join a channel is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a51c51%0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a---%0a> In text driven IRC clients, you may deliver a private message to another user tipping /msg %3cnickname> followed my an actual text message. This will create a private message, or PM for short.%0a +host:1622786837=125.231.28.9 +author:1622197959=bountyht +diff:1622197959:1622196329:minor=43,46c43,46%0a%3c Chat rooms are called "channels" on IRC. Most IRC clients allow the user to connect to multiple channels at once and keep multiple simultaneous conversations. On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. For text driven IRC clients, the command to join a channel is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a---%0a> On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a51c51%0a%3c In text driven IRC clients, you may deliver a private message to another user tipping /msg %3cnickname> followed my an actual text message. This will create a private message, or PM for short.%0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a +host:1622197959=185.191.124.152 +author:1622196329=bountyht +csum:1622196329=Add direct links to the client guides we have for userfriendlyness +diff:1622196329:1622195249:=18,39d17%0a%3c %0a%3c !! Choosing an IRC client%0a%3c %0a%3c You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network. We have practical guides for the following clients:%0a%3c %0a%3c * [[bouncer.Adium|Adium]]%0a%3c * [[bouncer.Atomic|Atomic]]%0a%3c * [[bouncer.Hexchat|Hexchat]]%0a%3c * [[bouncer.IceChat|IceChat]]%0a%3c * [[bouncer.irssi|Irssi]]%0a%3c * [[Bouncer.KiwiIRC|KiwiIRC]]%0a%3c * [[Bouncer.Limechat|Limechat]]%0a%3c * [[Bouncer.Pidgin|Pidgin]]%0a%3c * [[Bouncer.Quassel|Quassel]]%0a%3c * [[Bouncer.RevolutionIRC|RevolutionIRC]]%0a%3c * [[Bouncer.SimpleIRC|SimpleIRC]]%0a%3c * [[Bouncer.Smuxi|Smuxi]]%0a%3c * [[Bouncer.Thunderbird|Thunderbird]]%0a%3c * [[Bouncer.Vision|Vision]]%0a%3c * [[Bouncer.WeeChat|Weechat]]%0a%3c * [[Bouncer.XChat|XChat]]%0a%3c * [[Bouncer.Yaaic|Yaaic]]%0a +host:1622196329=195.176.3.23 +author:1622195249=bountyht +diff:1622195249:1622195219:=204,206d203%0a%3c %0a%3c !!!Third Party Documentation%0a%3c * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a209a207,209%0a> %0a> !!!Third Party Documentation%0a> * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a +host:1622195249=209.127.17.242 +author:1622195219=bountyht +csum:1622195219=Fixed the end of entry lists +diff:1622195219:1622194567:=195,209c195,202%0a%3c %0a%3c !!!IRC in Press and Media%0a%3c * Back to Basics, Linux Magazine #198 (2017), Linux News Media: https://www.linux-magazine.com/Issues/2017/198/Revisit-IRC%0a%3c %0a%3c !!!Original IRC RFC's:%0a%3c %0a%3c *RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a%3c *RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a%3c *RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a%3c *Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a%3c *AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a%3c *Atheme Wiki https://github.com/atheme/atheme/wiki%0a%3c %0a%3c !!!Third Party Documentation%0a%3c * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a---%0a> Original IRC RFC's:%0a> RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a> RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a> RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a> Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a> AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a> Atheme Wiki https://github.com/atheme/atheme/wiki%0a> UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a +host:1622195219=209.127.17.242 +author:1622194567=bountyht +diff:1622194567:1614488975:minor=17c17%0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer|signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a---%0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a +host:1622194567=91.203.145.116 +author:1614488975=jrmu +diff:1614488975:1612242025:=1c1,3%0a%3c (:title A Beginner's Guide to IRC:)%0a---%0a> Make IRCNow Great again.%0a> %0a> A Beginner's Guide to IRC%0a +host:1614488975=198.251.81.119 +author:1612242025=jrmu +diff:1612242025:1597610335:=1,2d0%0a%3c Make IRCNow Great again.%0a%3c %0a +host:1612242025=37.120.153.107 +author:1597610335=gry +diff:1597610335:1597574543:minor=9c9%0a%3c After installing your preferred IRC Client, you may wish to request a bouncer with IRCNow to stay connected. The IRC clients page has instructions about how to do this.%0a---%0a> After installing your preferred IRC Client, you can request a bouncer with IRCNow to stay connected.%0a +host:1597610335=203.129.25.247 +author:1597574543=gry +csum:1597574543=clarified +diff:1597574543:1597574499:=3c3%0a%3c !! The short and quick version%0a---%0a> !! The short version%0a +host:1597574543=203.129.25.247 +author:1597574499=gry +csum:1597574499=added headings +diff:1597574499:1597536122:=3,4d2%0a%3c !! The short version%0a%3c %0a11,12d8%0a%3c !! Searching for IRC network to connect to%0a%3c %0a15,16d10%0a%3c !! Servers%0a%3c %0a19,20d12%0a%3c !! Channels%0a%3c %0a27,28d18%0a%3c !! Messaging%0a%3c %0a31,32d20%0a%3c !! Design of the IRC protocol%0a%3c %0a41,42d28%0a%3c !! Using NickServ%0a%3c %0a47,48d32%0a%3c !! Joining and leaving and also managing channels%0a%3c %0a72,73c56%0a%3c !! Extra comments from other sites%0a%3c %0a---%0a> %0a83,84d65%0a%3c !! Channel and user modes%0a%3c %0a192,193c173%0a%3c !! FURTHER READING.%0a%3c %0a---%0a> FURTHER READING.%0a +host:1597574499=203.129.25.247 +author:1597536122=gry +csum:1597536122=+- +diff:1597536122:1597536042:=5,9c5,7%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c After installing your preferred IRC Client, you can request a bouncer with IRCNow to stay connected.%0a%3c %0a%3c [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a---%0a> To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. Then follow the instructions at our IRC clients page to request a bouncer to stay connected.%0a> %0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a +host:1597536122=203.129.25.247 +author:1597536042=gry +csum:1597536042=+To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. ... +diff:1597536042:1597535943:=4,5d3%0a%3c %0a%3c To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. Then follow the instructions at our IRC clients page to request a bouncer to stay connected.%0a +host:1597536042=203.129.25.247 +author:1597535943=gry +csum:1597535943=updated link to bouncer.bouncer +diff:1597535943:1596331829:=5,8c5,8%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[irc.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a> %0a17,18c17,18%0a%3c The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[bouncer.bouncer|common IRC clients]].%0a%3c %0a---%0a> The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[irc/bouncer|common IRC clients]].%0a> %0a48c48%0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a---%0a> To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[irc.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a +host:1597535943=203.129.25.247 +author:1596331829=jrmu +diff:1596331829:1596331219:=38,51c38,268%0a%3c On IRC, every client that connects to a server will have a vhost that looks like this:%0a%3c %0a%3c nickname!username@hostmask%0a%3c %0a%3c If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%3c %0a%3c You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%3c %0a%3c Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%3c %0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[irc.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%3c %0a%3c To learn more about the commands in your IRC client, type /help.%0a%3c %0a---%0a> type /mode +b nickname%0a> Note. To op yourself when you have the right to do so, use ChanServ.%0a> %0a> EDIT: While /op and /deop are (most likely) very universally supported, it should be noted these are client sided commands.%0a> %0a> 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0a> First. The nickname. This will ban everyone using the nickname.%0a> Second. The "ident", i.e. the part you see before the @ when someone joins a channel.%0a> Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0a> Note. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a> %0a> EDIT: The commands mentioned here, like above, are client sided (excluding /KICK being server-sided) and if not supported, /MODE +|-b #channel_name nick!user@hostmask must be used instead.%0a> %0a> 28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0a> Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a> %0a> EDIT: Cloaks on freenode are NOT designed to hide the IP, see https://freenode.net/kb/answer/cloaks#cloaks-do-not-effectively-hide-your-ip%0a> %0a> Also /whois may take 2 params, on some IRCd's %3cnick> %3cserver> OR %3cserver> %3cnick>. Often /WHOIS %3cnick> %3cnick> (the same nick) is supported to query idle + signon time (as well as the away reason if the user is /AWAY) on users who are on remote servers (not the one you are on).%0a> %0a> 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0a> PART IV. USING NETWORK SERVICES.%0a> 30. Services common to all networks with them.%0a> 31. Services that occasionally appear.%0a> 32. Scope of part.%0a> 33. Querying a server, /ns, /cs, /ms, /hs.%0a> 34. HELP.%0a> Div. 1. NickServ.%0a> Div. 2. ChanServ.%0a> Div. 3. MemoServ.%0a> Div. 4. Miscellaneous.%0a> 30. Every network that has services will have--%0a> First. NickServ, for registering nicknames.%0a> Second. ChanServ, for registering channels.%0a> Third. MemoServ, for sending memos to offline users.%0a> Fourth. OperServ, for use by server operators.%0a> %0a> EDIT: "Every" network is incorrect, e.g. UnderNET and QuakeNet offer services albeit different ones than the usual *Serv ones.%0a> %0a> 31. Some networks will also have--%0a> First. HostServ, for requesting virtual hosts for cloaking IPs.%0a> Second. BotServ, for requesting bots.%0a> Third. HelpServ, for requesting help.%0a> Fourth. FunServ, for trivia games.%0a> 32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a> 33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0a> First. For NickServ, /nickserv or /ns.%0a> Second. For ChanServ, /chanserv or /cs.%0a> Third. For MemoServ, /memoserv or /ms.%0a> Fourth. For HostServ, /hostserv or /hs.%0a> Note. The latter, abbreviated forms will be used throughout this work.%0a> %0a> EDIT: These commands are often server-sided and thus not needed to be client-sided. Note that ngIRCd, which IRCNow utilizes, does NOT support these aliases and they must be integrated into the client via scripting/aliasing etc%0a> %0a> 34. Your first command to a service should always be /msg [service] HELP.%0a> Div. 1. NickServ.%0a> 35. REGISTER.%0a> 36. CONFIRM.%0a> 37. IDENTIFY.%0a> 38. Auto-identify.%0a> 39. GHOST.%0a> 40. GROUP.%0a> 41. SET ENFORCE.%0a> 35. To register a nickname, use /ns REGISTER, with the following two parameters:%0a> First. A password.%0a> Second. An email address. %0a> Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a> 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a> %0a> EDIT: The user MUST be identified/logged in otherwise the confirmation code will NOT work. (incase they disconnect temporarily).%0a> %0a> 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0a> First. A nickname, if it is not your current nickname.%0a> Second. The password you registered it as.%0a> %0a> EDIT: Not ALL NickServs allow specifying the nick (albeit most do) (e.g. Rizon does NOT though).%0a> %0a> 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a> %0a> EDIT: 37. mentions that one can specify the nickname (in most cases) why is this not mentioned in 38?%0a> Most networks support SASL authentication which offers the benefit of e.g. occuring during signon instead of after, and only going to the acual service (so if one uses /msg NickServ then NickServ COULD be an imposter, but SASL would only go to the real one). For SASL regarding various clients see https://freenode.net/kb/answer/sasl%0a> %0a> 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0a> First. The nickname to be removed.%0a> Second. The password of that nick, if you are not in a group with it.%0a> Note. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a> 40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0a> Use /ns GROUP with the following parameters:%0a> First. A nick you wish to be in the same group with.%0a> Second. That nick's password.%0a> %0a> EDIT: Often /hs group will be necessary as well to "synch" the main nick's vhost with the grouped nicks.%0a> %0a> 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0a> %0a> EDIT: This is Atheme specific, Anope would use /ns SET KILL %0a> %0a> Div. 2. ChanServ.%0a> 42. REGISTER.%0a> 43. SET ACCESSTYPE.%0a> 44. Ways to use xOP.%0a> 45. SOP, AOP, HOP, VOP.%0a> 46. xOP.%0a> 47. Powers of ops.%0a> 48. Voiced people.%0a> 49. Half-ops.%0a> 50. Ops.%0a> 51. Super-ops.%0a> 52. Symbols for ops.%0a> 53. Purpose of ACCESS.%0a> 54. Access levels.%0a> 55. HELP LEVELS DESC.%0a> 56. LEVELS.%0a> 57. ACCESS.%0a> 58. Purpose of FLAGS.%0a> 59. Nature of FLAGS.%0a> 60. HELP FLAGS.%0a> 61. FLAGS.%0a> 62. Need to register.%0a> 42. To register a channel, use /cs REGISTER, with the following three parameters:%0a> First. The channel to be registered.%0a> Second. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0a> Third. A description of that channel, for use with /list.%0a> 43. There are three ways to manage the various administrative positions of an IRC channel:%0a> First. xOP.%0a> Second. ACCESS.%0a> Third. FLAGS.%0a> Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a> %0a> EDIT: This is near-exclusive to Rizon using an Anope 1.8.x fork, Atheme and Anope 2.0.x let you use all types simultaneously (assuming the respective modules are loased in the services configs).%0a> %0a> 44. XOP may be used:%0a> First. By /mode.%0a> Second. By ChanServ.%0a> %0a> EDIT: The various XOP levels (VOP, AOP etc) are services sided sets of privileges, which CANNOT be granted via /mode . The various prefixes can be granted via /mode though with sufficient privileges.%0a> %0a> 45. There are four types of ops:%0a> First. Super-ops (SOP).%0a> Second. Ops (AOP).%0a> Third. Half-ops. (HOP).%0a> Fourth. Voiced people. (VOP).%0a> %0a> EDIT: Sometimes a QOP (quintessential op) is a type as well, like a co-owner (may have different names at times).%0a> %0a> 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a> %0a> Unless xOP is meant to be replaced with the real levels (AOP, VOP etc) (which is NOT made clear through the wording) this advice literally using xOP is incorrect. %0a> %0a> 47. Each level of op, except voiced people, can:%0a> First. Ban and kick people at or below their level.%0a> Second. Give and take access levels at or below their level.%0a> 48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a> 49. Half-ops can set the topic on top of that.%0a> 50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a> 51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a> 52. The symbols for them are:%0a> First. For the owner of the channel, ~ before the nick, an orange dot in Hexchat, or a blue flag in Pidgin.%0a> Second. For super-ops, & before the nick, a yellow dot in Hexchat, none in Pidgin.%0a> Third. For ops, @ before the nick, a blue dot in Hexchat, or a gold sheriff's star in Pidgin.%0a> Fourth. For half-ops, %25 before the nick, a light blue dot in Hexchat, or a silver star in Pidgin.%0a> Fifth. For voiced people, + before the nick, a blue dot in Hexchat, or a circle with waves protruding out in Pidgin.%0a> 53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a> 54. The access levels are:%0a> First. The founder, 10000.%0a> Second. Super-ops, 10.%0a> Third. Ops, 5.%0a> Fourth. Half-ops, 4.%0a> Fifth. Voiced people, 3.%0a> Sixth. Ordinary users, 0.%0a> Seventh. Banned people, -1.%0a> Note. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a> 55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a> 56. To adjust them, use /cs LEVELS with the following parameters:%0a> First. The channel on which the change is to take place.%0a> Second. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0a> Third. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0a> Fourth. The numerical access level to change it to.%0a> 57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0a> First. The channel whose access list is sought to be changed.%0a> Second. ADD to add someone and DEL to remove someone.%0a> Third. The nick of the person to be added or removed.%0a> Fourth. The access level to which they are to be added (for ADD only).%0a> Note. To change the access level of a person, repeat this process.%0a> 58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a> 59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0a> Note. These "attributes" contain one letter, and ARE NOT coterminous or identical to the "features" of ACCESS!%0a> 60. To see a list of flags, use /cs HELP FLAGS.%0a> Note. Flags are case sensitive.%0a> 61. To use FLAGS, use /cs FLAGS with the following parameters:%0a> First. The channel.%0a> Second. The nick.%0a> Third. + or - followed by one-letter "flags".%0a> Note. +* to add all privileges, -* to remove all.%0a> %0a> EDIT: /cs levels is Anope exclusive, and NOT universal in all services out there.%0a> %0a> 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0a> %0a> EDIT: "oped under one of these three systems" to register a channel is incorrect, the user must be oped which is correct. If they are oped via xOP or ACCESS or FLAGS the channel already is registered.%0a> %0a> Div. 3. MemoServ.%0a> 63. MemoServ.%0a> 64. Advantages.%0a> 65. Memos to channels.%0a> 66. Possible application.%0a> 67. Range of memos to channels.%0a> 68. Storage of memos.%0a> 63. MemoServ is a service to send messages to registered:%0a> First. Users.%0a> Second. Channels.%0a> 64. The advantages of MemoServ are that it:%0a> First. Works whether the target is on- or offline.%0a> Second. Stores messages indefinitely.%0a> 65. MemoServ can be used to send messages to channels. %0a> 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a> %0a> EDIT: The rough setup/layout of such a system requires elaboration. Personal "bias" (I believe) should be avoided. If the system is using channel memos exclusively for communication, there is (often) a hard-enforced limit of how many memos a user/channel can store at once.%0a> %0a> 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a> 68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0a> %0a> EDIT: Memos to channels are Anope-specific (this guide appears a bit strongly based on Rizon).%0a> %0a> Div. 4. Miscellaneous.%0a> 69. VHosts.%0a> 70. Cloaks.%0a> 71. Note for using all services.%0a> 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "virtual host") is in the form of a domain, but does not actually resolve.%0a> %0a> EDIT: Most modern networks will cloak the hostname by default. A vHost CAN resolve technically speaking, but is often rejected due to network policies (but if one can prove ownership over the domain, it MAY be granted as vHost, this is once again up to the network's discrtion).%0a +host:1596331829=38.81.163.143 +author:1596331219=jrmu +diff:1596331219:1596330724:=7c7%0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[irc.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a---%0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend signing up for a bouncer, which we provide. Otherwise, you will lose messages whenever you disconnect.%0a +host:1596331219=38.81.163.143 +author:1596330724=jrmu +diff:1596330724:1596330139:=5,6c5,6%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a15,16c15,16%0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a%3c %0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message.%0a> %0a23,38c23,72%0a%3c What most users find surprising about IRC is that by design, you don't have to register to chat. You can pick any nickname/real name you want. The main benefit of this design is that you can be totally anonymous on IRC, something which is impossible on most social networks. As you might expect, however, this can be confusing and can lead to impersonation, harassment, and spam. As a result, many IRC networks encourage you to register and claim your nickname.%0a%3c %0a%3c Unfortunately, IRC in its current state is very fragmented. There is no "One True Services" and so every single network implements its own services in a different and contradictory way. For now, we'll discuss the most common services implemented by Atheme and Anope, which uses Nickserv.%0a%3c %0a%3c To interact with Nickserv, you send the message /msg Nickserv %3ccommand>, like /msg Nickserv help. This will show you all the options available to register a nick, reset a password, and so forth. Once you register a nick, you can then register a channel. To do so, type /msg Chanserv %3ccommand>, like /msg Chanserv help.%0a%3c %0a%3c To leave a channel, type /part. To quit your IRC client, type /quit.%0a%3c To invite a user to your channel, type /invite nickname #channel.%0a%3c %0a%3c To make another user a channel operator, type /mode +o nickname.%0a%3c %0a%3c Sometimes you will have troublesome users. Unfortunately, IRC's method of banning users is confusing and unnecessarily complex. This bad design can and should be fixed someday, as we hope to do by making a more user-friendly app.%0a%3c %0a%3c To kick a user from a channel ban a user, type /kick nickname. This kick is only temporary, however, because a user can rejoin right after being kicked. To ban him permanently from the channel, you must learn how to ban a user.%0a%3c %0a%3c type /mode +b nickname%0a---%0a> Once you connect to a network%0a> %0a> First. Channel to join. Mandatory. The initial symbol must be included.%0a> Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0a> Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a> %0a> EDIT: See EDIT under 15. for information about /join (joining multiple channels, prefix if # not being mandatory in certain clients etc). Also /cs getkey and /cs invite require sufficient ChanServ channel access.%0a> %0a> 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S GAY.) It has two parameters:%0a> First. The target. Mandatory.%0a> Second. The message. Mandatory.%0a> %0a> EDIT: The bashing of Discord, especially calling it gay, is uncalled for. Uncertain if /m is as universal as /msg. %0a> %0a> 20. The target can be:%0a> First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0a> Second. A channel. Channels are set by default not to accept messages from users that are not in them.%0a> Third. A service. In most clients, messages to services do not appear in a separate window.%0a> %0a> EDIT: Uncertain about "most clients". Also technically a service is seen as a user from the perspective of one's client (it just responds via NOTICE by default, so User notices would get as easily lost).%0a> %0a> 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a> %0a> EDIT: Default can also be a different message (e.g. Unreal defaults to the user's nick if no message was given). Also some networks employ static/fixed/forced quits.%0a> %0a> 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0a> First. A channel to leave. Optional, defaults to channel you are typing /part in.%0a> Second. A part message. Optional, defaults to none.%0a> %0a> EDIT: Like with /join multiple channels may be left simultaneously (/part #A,#B)%0a> %0a> 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0a> First. Sending a message beginning with / without triggering a command.%0a> Second. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0a> Note. For the first item, if you begin a message with ./ you will be understood.%0a> 24. For using /say and /query, remember that:%0a> First. /say works on channels, while /query works on users.%0a> Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a> %0a> EDIT: /say (at least on mIRC and AdiIRC) only works in the active channel, not a channel of one's choice (source of statement in 24 unclear, perhaps irssi?). Also /say on mIRC can work in queries as well, source: https://en.wikichip.org/wiki/mirc/commands/say#:~:text=The%2520%252Fsay%2520command%2520sends%2520a,%252C%2520use%2520the%2520%252Fmsg%2520command.%0a> %0a> 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0a> First. The user to be invited. Mandatory.%0a> Second. The channel to be invited to. Optional, defaults to current channel. %0a> Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a> %0a> EDIT: "defaults to current channel" would be client specific behavior, the "actual" /INVITE command requires both params. Also while being op is often needed for this, UnrealIRCd allows anyone to /INVITE by default. Using ChanServ requires sufficient channel level access through ChanServ first.%0a> %0a> %0a> 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0a +host:1596330724=38.81.163.143 +author:1596330139=jrmu +diff:1596330139:1596329146:=1,2c1,23%0a%3c A Beginner's Guide to IRC%0a%3c %0a---%0a> IRC Made Easy%0a> %0a> Contents%0a> %0a> Introduction.%0a> # The Nature of IRC.%0a> # Connecting.%0a> # Commands.%0a> # Using Network Services.%0a> # Channel and User Modes.%0a> # Tabulation of Mod Roles.%0a> # Further Reading.%0a> %0a> PART I. THE NATURE OF IRC.%0a> 1. IRC, servers, clients.%0a> 2. Clients only receive when they are online.%0a> 3. Networks and channels.%0a> 4. # and & channels.%0a> 5. Life and death of channels.%0a> 6. Channel, network, and server operators.%0a> 7. Existence of # channels.%0a> 8. Commands and ordinary messages.%0a> 9. / for starting commands.%0a5,6c26,27%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download an IRC client. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a8a30%0a> 4. Channels begin with--%0a11,24c33,111%0a%3c To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a%3c Every channel has its own operators, the people who help maintain order in a channel.%0a%3c %0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message.%0a%3c %0a%3c The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[irc/bouncer|common IRC clients]].%0a%3c %0a%3c When you connect to IRC, you will be asked for the hostname and port of the server, as well as whether you want to use plaintext or SSL (a secured connection). The hostname will look something like irc.ircnow.org. The port will often be 6667 for plaintext and 6697 for SSL. Enabling SSL will ensure that your connection is secured by encryption. Make sure that you have the correct port and that you check if the port uses SSL or not. Using the wrong port and putting the incorrect setting for SSL is a huge cause of connection problems. It is not possible to use SSL on a port if the server doesn't support it.%0a%3c %0a%3c Once you connect to a network, you can type /list. This will list all the visible channels on the network so you can find one to join.%0a%3c %0a%3c Once you connect to a network%0a%3c %0a---%0a> To create a channel, simply join it. The command is /join #channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a> EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a> %0a> 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a> 7. A channel beginning with # exists--%0a> First. On every server to which a client that is a member of it is connected;%0a> Second. On every server through which a message to every server covered by the first item must pass.%0a> %0a> EDIT: Potentially (most likely) wrong as # channels are global thus they exist on the ENTIRE network (all servers).%0a> %0a> 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a> %0a> EDIT: An "ordinary message" is interpreted as "msg $active %3cmessage" since /query is used to message a user%0a> %0a> 9. A command always begins with "/".%0a> PART II. CONNECTING.%0a> 10. Clients.%0a> 11. Web chats.%0a> 12. Finding channels.%0a> 13. Server key, address, and nick.%0a> 14. Message of the day.%0a> 15. Joining channels.%0a> 16. Networks.%0a> 17. Autojoins.%0a> 10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0a> mIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0a> Pidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0a> Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0a> HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0a> %0a> EDIT: https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a> %0a> Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0a> There are also other clients that I haven't used:%0a> Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a> 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a> 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a> %0a> EDIT: https://netsplit.de/channels/index.en.php is another good source to mention and more well known%0a> %0a> 13. To connect to IRC, it is needed to provide:%0a> First. A server key or password. Very few servers will have this.%0a> Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0a> Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a> %0a> EDIT: It is said very few networks require a server password, which is mostly true, why mention it as first step? Also a username/ident and a realname/gecos MUST be provided as well (filled out in your client). Also the part with "your nick is already in use" is semi-true, it is up to the client whether you "join with numbers added at the end" (short version, that part is client specific, NOT server behavior).%0a> %0a> 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a> 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a> %0a> EDIT: Due to "recent" spamwaves (ongoing for long periods of time) some networks impose a restriction that one must wait a certain duration after connecting to use /list and/or sometimes to /join a channel. Also some clients (e.g. AdiIRC) will work with /join channel (they will join #channel). Perhaps of more relevance is that one may join multiple channels at once via /join #A,#B key-a,key-b (if they need keys add those comma seperated).%0a> %0a> 16. Here are some networks:%0a> Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0a> Rizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0a> EFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0a> IRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0a> Undernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0a> These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a> 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0a> %0a> EDIT: Some networks have server-sided autojoin channels, where one would need to /part [channel] if joning them is not desired (or an "execute upon connection" is not necessary if those should be joined).%0a> %0a> PART III. COMMANDS.%0a> Prior reading: para. 9.%0a> 18. /join, /j.%0a> 19. /msg, /m%0a> 20. Target of /msg.%0a> 21. /quit.%0a> 22. /part.%0a> 23. /say, /query.%0a> 24. Important notices for /say and /query.%0a> 25. /invite.%0a> 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a> 27. /ban, /unban, /kick, /kickban, /kb.%0a> 28. /whois, /whowas.%0a> 29. /help.%0a> 18. The first command we will look at is /join or /j. It has two parameters:%0a416,419d502%0a%3c %0a%3c EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a%3c %0a%3c %0a +host:1596330139=38.81.163.143 +author:1596329146=jrmu +diff:1596329146:1596259356:=24,29c24,30%0a%3c IRC stands for Internet Relay Chat, an open protocol that lets people chat online in real-time.%0a%3c %0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download an IRC client. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend signing up for a bouncer, which we provide. Otherwise, you will lose messages whenever you disconnect.%0a%3c %0a---%0a> 1. Internet Relay Chat, or IRC, is a protocol for communication between:%0a> First. Servers, which carry the communication; and%0a> Second. Clients, which are connected to servers, through which they communicate with each other.%0a> 2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a> 3. Servers--%0a> First. May be grouped into networks, which allow channels to be shared;%0a> Second. Carry channels, in which all communication between clients takes place.%0a31,33c32,39%0a%3c On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. The command is /join #channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a---%0a> First. # for channels usable throughout the network; and%0a> Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0a> Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS.%0a> %0a> EDIT: ## vs # is (mostly) only done by Snoonet and freenode and NOT a general practice.%0a> %0a> 5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0a> Note. When a client joins a channel, it is created on the server to which the client is connected.%0a +host:1596329146=38.81.163.143 +author:1596259356=jrmu +diff:1596259356:1596259356:=1,518d0%0a%3c IRC Made Easy%0a%3c %0a%3c Contents%0a%3c %0a%3c Introduction.%0a%3c # The Nature of IRC.%0a%3c # Connecting.%0a%3c # Commands.%0a%3c # Using Network Services.%0a%3c # Channel and User Modes.%0a%3c # Tabulation of Mod Roles.%0a%3c # Further Reading.%0a%3c %0a%3c PART I. THE NATURE OF IRC.%0a%3c 1. IRC, servers, clients.%0a%3c 2. Clients only receive when they are online.%0a%3c 3. Networks and channels.%0a%3c 4. # and & channels.%0a%3c 5. Life and death of channels.%0a%3c 6. Channel, network, and server operators.%0a%3c 7. Existence of # channels.%0a%3c 8. Commands and ordinary messages.%0a%3c 9. / for starting commands.%0a%3c 1. Internet Relay Chat, or IRC, is a protocol for communication between:%0a%3c First. Servers, which carry the communication; and%0a%3c Second. Clients, which are connected to servers, through which they communicate with each other.%0a%3c 2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a%3c 3. Servers--%0a%3c First. May be grouped into networks, which allow channels to be shared;%0a%3c Second. Carry channels, in which all communication between clients takes place.%0a%3c 4. Channels begin with--%0a%3c First. # for channels usable throughout the network; and%0a%3c Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0a%3c Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS.%0a%3c %0a%3c EDIT: ## vs # is (mostly) only done by Snoonet and freenode and NOT a general practice.%0a%3c %0a%3c 5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0a%3c Note. When a client joins a channel, it is created on the server to which the client is connected.%0a%3c %0a%3c EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a%3c %0a%3c 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a%3c 7. A channel beginning with # exists--%0a%3c First. On every server to which a client that is a member of it is connected;%0a%3c Second. On every server through which a message to every server covered by the first item must pass.%0a%3c %0a%3c EDIT: Potentially (most likely) wrong as # channels are global thus they exist on the ENTIRE network (all servers).%0a%3c %0a%3c 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a%3c %0a%3c EDIT: An "ordinary message" is interpreted as "msg $active %3cmessage" since /query is used to message a user%0a%3c %0a%3c 9. A command always begins with "/".%0a%3c PART II. CONNECTING.%0a%3c 10. Clients.%0a%3c 11. Web chats.%0a%3c 12. Finding channels.%0a%3c 13. Server key, address, and nick.%0a%3c 14. Message of the day.%0a%3c 15. Joining channels.%0a%3c 16. Networks.%0a%3c 17. Autojoins.%0a%3c 10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0a%3c mIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0a%3c Pidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0a%3c Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0a%3c HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0a%3c %0a%3c EDIT: https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a%3c %0a%3c Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0a%3c There are also other clients that I haven't used:%0a%3c Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a%3c 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a%3c 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a%3c %0a%3c EDIT: https://netsplit.de/channels/index.en.php is another good source to mention and more well known%0a%3c %0a%3c 13. To connect to IRC, it is needed to provide:%0a%3c First. A server key or password. Very few servers will have this.%0a%3c Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0a%3c Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a%3c %0a%3c EDIT: It is said very few networks require a server password, which is mostly true, why mention it as first step? Also a username/ident and a realname/gecos MUST be provided as well (filled out in your client). Also the part with "your nick is already in use" is semi-true, it is up to the client whether you "join with numbers added at the end" (short version, that part is client specific, NOT server behavior).%0a%3c %0a%3c 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a%3c 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a%3c %0a%3c EDIT: Due to "recent" spamwaves (ongoing for long periods of time) some networks impose a restriction that one must wait a certain duration after connecting to use /list and/or sometimes to /join a channel. Also some clients (e.g. AdiIRC) will work with /join channel (they will join #channel). Perhaps of more relevance is that one may join multiple channels at once via /join #A,#B key-a,key-b (if they need keys add those comma seperated).%0a%3c %0a%3c 16. Here are some networks:%0a%3c Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0a%3c Rizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0a%3c EFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0a%3c IRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0a%3c Undernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0a%3c These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a%3c 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0a%3c %0a%3c EDIT: Some networks have server-sided autojoin channels, where one would need to /part [channel] if joning them is not desired (or an "execute upon connection" is not necessary if those should be joined).%0a%3c %0a%3c PART III. COMMANDS.%0a%3c Prior reading: para. 9.%0a%3c 18. /join, /j.%0a%3c 19. /msg, /m%0a%3c 20. Target of /msg.%0a%3c 21. /quit.%0a%3c 22. /part.%0a%3c 23. /say, /query.%0a%3c 24. Important notices for /say and /query.%0a%3c 25. /invite.%0a%3c 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a%3c 27. /ban, /unban, /kick, /kickban, /kb.%0a%3c 28. /whois, /whowas.%0a%3c 29. /help.%0a%3c 18. The first command we will look at is /join or /j. It has two parameters:%0a%3c First. Channel to join. Mandatory. The initial symbol must be included.%0a%3c Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0a%3c Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a%3c %0a%3c EDIT: See EDIT under 15. for information about /join (joining multiple channels, prefix if # not being mandatory in certain clients etc). Also /cs getkey and /cs invite require sufficient ChanServ channel access.%0a%3c %0a%3c 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S GAY.) It has two parameters:%0a%3c First. The target. Mandatory.%0a%3c Second. The message. Mandatory.%0a%3c %0a%3c EDIT: The bashing of Discord, especially calling it gay, is uncalled for. Uncertain if /m is as universal as /msg. %0a%3c %0a%3c 20. The target can be:%0a%3c First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0a%3c Second. A channel. Channels are set by default not to accept messages from users that are not in them.%0a%3c Third. A service. In most clients, messages to services do not appear in a separate window.%0a%3c %0a%3c EDIT: Uncertain about "most clients". Also technically a service is seen as a user from the perspective of one's client (it just responds via NOTICE by default, so User notices would get as easily lost).%0a%3c %0a%3c 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a%3c %0a%3c EDIT: Default can also be a different message (e.g. Unreal defaults to the user's nick if no message was given). Also some networks employ static/fixed/forced quits.%0a%3c %0a%3c 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0a%3c First. A channel to leave. Optional, defaults to channel you are typing /part in.%0a%3c Second. A part message. Optional, defaults to none.%0a%3c %0a%3c EDIT: Like with /join multiple channels may be left simultaneously (/part #A,#B)%0a%3c %0a%3c 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0a%3c First. Sending a message beginning with / without triggering a command.%0a%3c Second. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0a%3c Note. For the first item, if you begin a message with ./ you will be understood.%0a%3c 24. For using /say and /query, remember that:%0a%3c First. /say works on channels, while /query works on users.%0a%3c Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a%3c %0a%3c EDIT: /say (at least on mIRC and AdiIRC) only works in the active channel, not a channel of one's choice (source of statement in 24 unclear, perhaps irssi?). Also /say on mIRC can work in queries as well, source: https://en.wikichip.org/wiki/mirc/commands/say#:~:text=The%2520%252Fsay%2520command%2520sends%2520a,%252C%2520use%2520the%2520%252Fmsg%2520command.%0a%3c %0a%3c 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0a%3c First. The user to be invited. Mandatory.%0a%3c Second. The channel to be invited to. Optional, defaults to current channel. %0a%3c Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a%3c %0a%3c EDIT: "defaults to current channel" would be client specific behavior, the "actual" /INVITE command requires both params. Also while being op is often needed for this, UnrealIRCd allows anyone to /INVITE by default. Using ChanServ requires sufficient channel level access through ChanServ first.%0a%3c %0a%3c %0a%3c 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0a%3c Note. To op yourself when you have the right to do so, use ChanServ.%0a%3c %0a%3c EDIT: While /op and /deop are (most likely) very universally supported, it should be noted these are client sided commands.%0a%3c %0a%3c 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0a%3c First. The nickname. This will ban everyone using the nickname.%0a%3c Second. The "ident", i.e. the part you see before the @ when someone joins a channel.%0a%3c Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0a%3c Note. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a%3c %0a%3c EDIT: The commands mentioned here, like above, are client sided (excluding /KICK being server-sided) and if not supported, /MODE +|-b #channel_name nick!user@hostmask must be used instead.%0a%3c %0a%3c 28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0a%3c Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a%3c %0a%3c EDIT: Cloaks on freenode are NOT designed to hide the IP, see https://freenode.net/kb/answer/cloaks#cloaks-do-not-effectively-hide-your-ip%0a%3c %0a%3c Also /whois may take 2 params, on some IRCd's %3cnick> %3cserver> OR %3cserver> %3cnick>. Often /WHOIS %3cnick> %3cnick> (the same nick) is supported to query idle + signon time (as well as the away reason if the user is /AWAY) on users who are on remote servers (not the one you are on).%0a%3c %0a%3c 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0a%3c PART IV. USING NETWORK SERVICES.%0a%3c 30. Services common to all networks with them.%0a%3c 31. Services that occasionally appear.%0a%3c 32. Scope of part.%0a%3c 33. Querying a server, /ns, /cs, /ms, /hs.%0a%3c 34. HELP.%0a%3c Div. 1. NickServ.%0a%3c Div. 2. ChanServ.%0a%3c Div. 3. MemoServ.%0a%3c Div. 4. Miscellaneous.%0a%3c 30. Every network that has services will have--%0a%3c First. NickServ, for registering nicknames.%0a%3c Second. ChanServ, for registering channels.%0a%3c Third. MemoServ, for sending memos to offline users.%0a%3c Fourth. OperServ, for use by server operators.%0a%3c %0a%3c EDIT: "Every" network is incorrect, e.g. UnderNET and QuakeNet offer services albeit different ones than the usual *Serv ones.%0a%3c %0a%3c 31. Some networks will also have--%0a%3c First. HostServ, for requesting virtual hosts for cloaking IPs.%0a%3c Second. BotServ, for requesting bots.%0a%3c Third. HelpServ, for requesting help.%0a%3c Fourth. FunServ, for trivia games.%0a%3c 32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a%3c 33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0a%3c First. For NickServ, /nickserv or /ns.%0a%3c Second. For ChanServ, /chanserv or /cs.%0a%3c Third. For MemoServ, /memoserv or /ms.%0a%3c Fourth. For HostServ, /hostserv or /hs.%0a%3c Note. The latter, abbreviated forms will be used throughout this work.%0a%3c %0a%3c EDIT: These commands are often server-sided and thus not needed to be client-sided. Note that ngIRCd, which IRCNow utilizes, does NOT support these aliases and they must be integrated into the client via scripting/aliasing etc%0a%3c %0a%3c 34. Your first command to a service should always be /msg [service] HELP.%0a%3c Div. 1. NickServ.%0a%3c 35. REGISTER.%0a%3c 36. CONFIRM.%0a%3c 37. IDENTIFY.%0a%3c 38. Auto-identify.%0a%3c 39. GHOST.%0a%3c 40. GROUP.%0a%3c 41. SET ENFORCE.%0a%3c 35. To register a nickname, use /ns REGISTER, with the following two parameters:%0a%3c First. A password.%0a%3c Second. An email address. %0a%3c Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a%3c 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a%3c %0a%3c EDIT: The user MUST be identified/logged in otherwise the confirmation code will NOT work. (incase they disconnect temporarily).%0a%3c %0a%3c 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0a%3c First. A nickname, if it is not your current nickname.%0a%3c Second. The password you registered it as.%0a%3c %0a%3c EDIT: Not ALL NickServs allow specifying the nick (albeit most do) (e.g. Rizon does NOT though).%0a%3c %0a%3c 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a%3c %0a%3c EDIT: 37. mentions that one can specify the nickname (in most cases) why is this not mentioned in 38?%0a%3c Most networks support SASL authentication which offers the benefit of e.g. occuring during signon instead of after, and only going to the acual service (so if one uses /msg NickServ then NickServ COULD be an imposter, but SASL would only go to the real one). For SASL regarding various clients see https://freenode.net/kb/answer/sasl%0a%3c %0a%3c 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0a%3c First. The nickname to be removed.%0a%3c Second. The password of that nick, if you are not in a group with it.%0a%3c Note. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a%3c 40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0a%3c Use /ns GROUP with the following parameters:%0a%3c First. A nick you wish to be in the same group with.%0a%3c Second. That nick's password.%0a%3c %0a%3c EDIT: Often /hs group will be necessary as well to "synch" the main nick's vhost with the grouped nicks.%0a%3c %0a%3c 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0a%3c %0a%3c EDIT: This is Atheme specific, Anope would use /ns SET KILL %0a%3c %0a%3c Div. 2. ChanServ.%0a%3c 42. REGISTER.%0a%3c 43. SET ACCESSTYPE.%0a%3c 44. Ways to use xOP.%0a%3c 45. SOP, AOP, HOP, VOP.%0a%3c 46. xOP.%0a%3c 47. Powers of ops.%0a%3c 48. Voiced people.%0a%3c 49. Half-ops.%0a%3c 50. Ops.%0a%3c 51. Super-ops.%0a%3c 52. Symbols for ops.%0a%3c 53. Purpose of ACCESS.%0a%3c 54. Access levels.%0a%3c 55. HELP LEVELS DESC.%0a%3c 56. LEVELS.%0a%3c 57. ACCESS.%0a%3c 58. Purpose of FLAGS.%0a%3c 59. Nature of FLAGS.%0a%3c 60. HELP FLAGS.%0a%3c 61. FLAGS.%0a%3c 62. Need to register.%0a%3c 42. To register a channel, use /cs REGISTER, with the following three parameters:%0a%3c First. The channel to be registered.%0a%3c Second. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0a%3c Third. A description of that channel, for use with /list.%0a%3c 43. There are three ways to manage the various administrative positions of an IRC channel:%0a%3c First. xOP.%0a%3c Second. ACCESS.%0a%3c Third. FLAGS.%0a%3c Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a%3c %0a%3c EDIT: This is near-exclusive to Rizon using an Anope 1.8.x fork, Atheme and Anope 2.0.x let you use all types simultaneously (assuming the respective modules are loased in the services configs).%0a%3c %0a%3c 44. XOP may be used:%0a%3c First. By /mode.%0a%3c Second. By ChanServ.%0a%3c %0a%3c EDIT: The various XOP levels (VOP, AOP etc) are services sided sets of privileges, which CANNOT be granted via /mode . The various prefixes can be granted via /mode though with sufficient privileges.%0a%3c %0a%3c 45. There are four types of ops:%0a%3c First. Super-ops (SOP).%0a%3c Second. Ops (AOP).%0a%3c Third. Half-ops. (HOP).%0a%3c Fourth. Voiced people. (VOP).%0a%3c %0a%3c EDIT: Sometimes a QOP (quintessential op) is a type as well, like a co-owner (may have different names at times).%0a%3c %0a%3c 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a%3c %0a%3c Unless xOP is meant to be replaced with the real levels (AOP, VOP etc) (which is NOT made clear through the wording) this advice literally using xOP is incorrect. %0a%3c %0a%3c 47. Each level of op, except voiced people, can:%0a%3c First. Ban and kick people at or below their level.%0a%3c Second. Give and take access levels at or below their level.%0a%3c 48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a%3c 49. Half-ops can set the topic on top of that.%0a%3c 50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a%3c 51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a%3c 52. The symbols for them are:%0a%3c First. For the owner of the channel, ~ before the nick, an orange dot in Hexchat, or a blue flag in Pidgin.%0a%3c Second. For super-ops, & before the nick, a yellow dot in Hexchat, none in Pidgin.%0a%3c Third. For ops, @ before the nick, a blue dot in Hexchat, or a gold sheriff's star in Pidgin.%0a%3c Fourth. For half-ops, %25 before the nick, a light blue dot in Hexchat, or a silver star in Pidgin.%0a%3c Fifth. For voiced people, + before the nick, a blue dot in Hexchat, or a circle with waves protruding out in Pidgin.%0a%3c 53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a%3c 54. The access levels are:%0a%3c First. The founder, 10000.%0a%3c Second. Super-ops, 10.%0a%3c Third. Ops, 5.%0a%3c Fourth. Half-ops, 4.%0a%3c Fifth. Voiced people, 3.%0a%3c Sixth. Ordinary users, 0.%0a%3c Seventh. Banned people, -1.%0a%3c Note. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a%3c 55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a%3c 56. To adjust them, use /cs LEVELS with the following parameters:%0a%3c First. The channel on which the change is to take place.%0a%3c Second. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0a%3c Third. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0a%3c Fourth. The numerical access level to change it to.%0a%3c 57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0a%3c First. The channel whose access list is sought to be changed.%0a%3c Second. ADD to add someone and DEL to remove someone.%0a%3c Third. The nick of the person to be added or removed.%0a%3c Fourth. The access level to which they are to be added (for ADD only).%0a%3c Note. To change the access level of a person, repeat this process.%0a%3c 58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a%3c 59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0a%3c Note. These "attributes" contain one letter, and ARE NOT coterminous or identical to the "features" of ACCESS!%0a%3c 60. To see a list of flags, use /cs HELP FLAGS.%0a%3c Note. Flags are case sensitive.%0a%3c 61. To use FLAGS, use /cs FLAGS with the following parameters:%0a%3c First. The channel.%0a%3c Second. The nick.%0a%3c Third. + or - followed by one-letter "flags".%0a%3c Note. +* to add all privileges, -* to remove all.%0a%3c %0a%3c EDIT: /cs levels is Anope exclusive, and NOT universal in all services out there.%0a%3c %0a%3c 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0a%3c %0a%3c EDIT: "oped under one of these three systems" to register a channel is incorrect, the user must be oped which is correct. If they are oped via xOP or ACCESS or FLAGS the channel already is registered.%0a%3c %0a%3c Div. 3. MemoServ.%0a%3c 63. MemoServ.%0a%3c 64. Advantages.%0a%3c 65. Memos to channels.%0a%3c 66. Possible application.%0a%3c 67. Range of memos to channels.%0a%3c 68. Storage of memos.%0a%3c 63. MemoServ is a service to send messages to registered:%0a%3c First. Users.%0a%3c Second. Channels.%0a%3c 64. The advantages of MemoServ are that it:%0a%3c First. Works whether the target is on- or offline.%0a%3c Second. Stores messages indefinitely.%0a%3c 65. MemoServ can be used to send messages to channels. %0a%3c 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a%3c %0a%3c EDIT: The rough setup/layout of such a system requires elaboration. Personal "bias" (I believe) should be avoided. If the system is using channel memos exclusively for communication, there is (often) a hard-enforced limit of how many memos a user/channel can store at once.%0a%3c %0a%3c 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a%3c 68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0a%3c %0a%3c EDIT: Memos to channels are Anope-specific (this guide appears a bit strongly based on Rizon).%0a%3c %0a%3c Div. 4. Miscellaneous.%0a%3c 69. VHosts.%0a%3c 70. Cloaks.%0a%3c 71. Note for using all services.%0a%3c 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "virtual host") is in the form of a domain, but does not actually resolve.%0a%3c %0a%3c EDIT: Most modern networks will cloak the hostname by default. A vHost CAN resolve technically speaking, but is often rejected due to network policies (but if one can prove ownership over the domain, it MAY be granted as vHost, this is once again up to the network's discrtion).%0a%3c %0a%3c 70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0a%3c Note. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a%3c %0a%3c EDIT: Personal wording should be avoided, also using a VPN does not guarantee one is "completely secure", this is still shifting trust in the end, and a VPN provider can be dodgy/have malicious intentions as well (tl;dr: one should not blindly trust a VPN 100%25 with one's sensitive data).%0a%3c %0a%3c 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0a%3c %0a%3c EDIT: Advice usually given is /query NickServ so that NOTICEs do not get lost. This has nothing to do with *Serv bots et al being services, but simply responding via NOTICE by default (can at times be optionally changed to use PRIVMSG).%0a%3c %0a%3c PART V. CHANNEL AND USER MODES.%0a%3c 72. Divisions of modes.%0a%3c 73. Classes of channel modes.%0a%3c 74. How to set modes.%0a%3c 75. Adding or removing multiple modes.%0a%3c Div. 1. Channel Modes.%0a%3c Div. 2. User Modes.%0a%3c 72. Modes are divided into:%0a%3c First. User modes, set by a user upon themselves or a server upon a user.%0a%3c Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0a%3c Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a%3c %0a%3c EDIT: Server modes? Modes set upon a server? Source required as this seems to be more theoretical "what could be someday" by some RFCs (which also stated nicknames would become obsoleted).%0a%3c %0a%3c 73. Channel modes are in this work considered in two classes:%0a%3c First. Modes set by an op upon a channel.%0a%3c Second. Modes set by an op upon its users, giving them privileges or restrictions.%0a%3c 74. To set modes, use /mode, with the following parameters:%0a%3c First. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0a%3c Second. + or - and the mode or modes to be added or removed.%0a%3c Third. Any parameter for the mode.%0a%3c 75. Multiple modes may be added at the same time, but:%0a%3c First. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0a%3c Second. There must be as many modes as there are parameters.%0a%3c Third. The same action cannot both add and remove modes.%0a%3c %0a%3c EDIT: Incorrect, it is possible to "mix up" modes e.g. "/mode #channel +b+e troll1*@* good_user1!*@*" is permitted. (Also correct syntax should be used in examples, as in troll1!*@* troll2!*@* etc). %0a%3c Second is incorrect as well, there are modes which require no parameters, thus one could e.g. set 1 ban, but also moderated and secret. so "/mode #channel +bsm troll3!*@*" is valid.%0a%3c Third is incorrect as well, one may set AND remove modes simultaneously.%0a%3c %0a%3c Div. 1. Channel Modes.%0a%3c 76. First step of channel modes.%0a%3c 77. +k.%0a%3c 78. +i.%0a%3c 79. +b.%0a%3c 80. +e.%0a%3c 81. +I.%0a%3c 82. Modes of different op grades.%0a%3c 83. Applications.%0a%3c 84. +r.%0a%3c 85. +m.%0a%3c 86. +M.%0a%3c 76. In this division, the first step is always /mode followed by the target channel.%0a%3c 77. To make a channel require a password to join:%0a%3c First. "+k".%0a%3c Second. The password, case sensitive.%0a%3c 78. To make a channel invite-only, "+i".%0a%3c 79. To ban someone:%0a%3c First. +b.%0a%3c Second. The mask intended to be banned. [See para. 27.]%0a%3c 80. To exempt someone from banning:%0a%3c First. +e.%0a%3c Second. The mask intended to be excepted.%0a%3c 81. To exempt someone from having to be invited:%0a%3c First. +I.%0a%3c Second. The mask intended to be exempted.%0a%3c 82. To use xOP through /mode [see para. 44]:%0a%3c First. To make someone owner, +q.%0a%3c Second. To super-op someone, +a.%0a%3c Third. To op someone, +o.%0a%3c Fourth. To half-op someone, +h.%0a%3c Fifth. To voice someone, +v.%0a%3c 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a%3c %0a%3c EDIT: Incorrect. /mode #channel +o requires a nickname as a paramemter. Perhaps using ChanServ to op by masks was meant?%0a%3c %0a%3c 84. To prevent unregistered users from joining, +r.%0a%3c %0a%3c EDIT: As this is a common countermeasure recommended, it should be noted that often the chanmode is +R.%0a%3c %0a%3c 85. To prevent unvoiced users from talking (but not from viewing), +m.%0a%3c Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a%3c %0a%3c EDIT: Once again Anope specific advice, for Atheme one may wish to /cs flags #chan *!*@* +V (do note that all an abuser would have to do in either case is leave and rejoin to get voiced again).%0a%3c Also 0 in Anope should mean "all users" but actually means "all registered users". In effect, -1 is "all users" (despite the help files saying otherwise).%0a%3c %0a%3c 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0a%3c Note. The above three measures are all very good defenses against low-effort trolls.%0a%3c %0a%3c At least partially incorrect, +M often only blocks unregistered users from speaking. If they are registered but NOT voiced, they are usually permitted to speak. Also +M CAN have different functionalities.%0a%3c %0a%3c Div. 2. User Modes.%0a%3c 87. +R.%0a%3c 88. +p.%0a%3c 87. To block private messages from unregistered users, +R.%0a%3c 88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0a%3c %0a%3c EDIT: This is Unreal and Rizon-specific advice, on InspIRCd one would use user mode +I to hide channels, on freenode user mode +i (set by default) hides non-common channels. Also of note that Unreal's and Insp's chan hiding do NOT hide the idle + signon time. (Again the guide appears to cater a lot to Rizon, then to freenode).%0a%3c %0a%3c Note. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0a%3c %0a%3c EDIT: freenode no longer sets +R by default.%0a%3c %0a%3c THE END.%0a%3c TABULATION OF MOD ROLES.%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c | Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a%3c | Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a%3c | Super-op | +a | & | Yellow dot | None | 10 |%0a%3c | Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a%3c | Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a%3c | Voiced | +v | + | Blue dot | "Connection" | 3 |%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c FURTHER READING.%0a%3c Note: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0a%3c Original IRC RFC's:%0a%3c RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a%3c RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a%3c RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a%3c Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a%3c AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a%3c Atheme Wiki https://github.com/atheme/atheme/wiki%0a%3c UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a +host:1596259356=38.81.163.143 blob - /dev/null blob + 03923bcd06d0b55875a7eef404fe0de2bd5ba891 (mode 644) --- /dev/null +++ wiki.d/Irc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1596187087 +host=38.87.162.8 +name=Irc.RecentChanges +rev=70 +text=* [[Irc/Federation]] . . . December 17, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Irc/Chanop]] . . . December 14, 2021, at 04:58 AM by [[~mkf]]: [==]%0a* [[Irc/Clients]] . . . August 02, 2021, at 02:54 PM by [[~mkf]]: [==]%0a* [[Irc/Guide]] . . . July 21, 2021, at 06:02 PM by [[~mkf]]: [=client -> clients=]%0a* [[Irc/Bouncer]] . . . August 03, 2020, at 01:19 PM by [[~jrmu]]: [==]%0a* [[Irc/Bots]] . . . August 03, 2020, at 01:13 PM by [[~jrmu]]: [==]%0a* [[Irc/Servers]] . . . July 31, 2020, at 09:22 AM by [[~jrmu]]: [==]%0a +time=1639749807 blob - /dev/null blob + 89a3ed234dd9896809ac39120e7fdd9a043305e8 (mode 644) --- /dev/null +++ wiki.d/Irc.Servers @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596187087 +host=38.81.163.143 +name=Irc.Servers +rev=6 +targets= +text= +time=1596187334 +author:1596187334=jrmu +diff:1596187334:1596187324:=0a1,16%0a> IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a> %0a> || border=1%0a> ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a> || Round-robin || irc.ircnow.org || || IPv4 ||%0a> || Round-robin || irc6.ircnow.org || || IPv6 ||%0a> || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a> || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a> || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a> || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a> || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a> || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1596187334=38.81.163.143 +author:1596187324=jrmu +diff:1596187324:1596187315:=1,16d0%0a%3c IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a%3c %0a%3c || border=1%0a%3c ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a%3c || Round-robin || irc.ircnow.org || || IPv4 ||%0a%3c || Round-robin || irc6.ircnow.org || || IPv6 ||%0a%3c || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a%3c || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a%3c || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a%3c || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1596187324=38.81.163.143 +author:1596187315=jrmu +diff:1596187315:1596187239:=0a1,16%0a> IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a> %0a> || border=1%0a> ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a> || Round-robin || irc.ircnow.org || || IPv4 ||%0a> || Round-robin || irc6.ircnow.org || || IPv6 ||%0a> || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a> || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a> || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a> || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a> || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a> || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1596187315=38.81.163.143 +author:1596187239=jrmu +diff:1596187239:1596187182:=7,16c7,16%0a%3c || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a%3c || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a%3c || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a%3c || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva ||%0a> || Las Vegas, USA || irc.us7.ircnow.org || jrmu ||%0a> || Las Vegas, USA || irc.us8.ircnow.org || jrmu ||%0a> || Las Vegas, USA || irc.us10.ircnow.org || jrmu ||%0a> || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz ||%0a> || New York, USA || irc.us2.ircnow.org || jrmu ||%0a> || New York, USA || irc.us4.ircnow.org || jrmu ||%0a> || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry ||%0a> || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu ||%0a> || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu ||%0a\ No newline at end of file%0a +host:1596187239=38.81.163.143 +author:1596187182=jrmu +diff:1596187182:1596187087:=4,6c4%0a%3c ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a%3c || Round-robin || irc.ircnow.org || || IPv4 ||%0a%3c || Round-robin || irc6.ircnow.org || || IPv6 ||%0a---%0a> ||! Location ||! Hostname ||! Sysadmins ||%0a +host:1596187182=38.81.163.143 +author:1596187087=jrmu +diff:1596187087:1596187087:=1,14d0%0a%3c IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a%3c %0a%3c || border=1%0a%3c ||! Location ||! Hostname ||! Sysadmins ||%0a%3c || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva ||%0a%3c || Las Vegas, USA || irc.us7.ircnow.org || jrmu ||%0a%3c || Las Vegas, USA || irc.us8.ircnow.org || jrmu ||%0a%3c || Las Vegas, USA || irc.us10.ircnow.org || jrmu ||%0a%3c || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz ||%0a%3c || New York, USA || irc.us2.ircnow.org || jrmu ||%0a%3c || New York, USA || irc.us4.ircnow.org || jrmu ||%0a%3c || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry ||%0a%3c || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu ||%0a%3c || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu ||%0a\ No newline at end of file%0a +host:1596187087=38.81.163.143 blob - /dev/null blob + 8fad47a66d4ecb25b871062045e7c9d732f58c9f (mode 644) --- /dev/null +++ wiki.d/Ircbots.Ircbots,del-1596460544 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596460464 +host=38.81.163.143 +name=Ircbots.Ircbots +rev=1 +targets= +text======= Free bots ======%0a%0aRequest a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%0a - [[irc:bots:relay|Relay bots]]%0a - [[irc:bots:chatbots|Chat bots]]%0a - [[irc:bots:chanbot|Channel bots]]%0a - [[irc:bots:biblebot|Bible bot]]%0a - [[irc:bots:http2irc|HTTP bot]]%0a%0a===== Relay bot =====%0a%0aYou can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%0a==== Features: ====%0a%0a - Relay multiple channels on multiple networks%0a - On servers you own, each channel can see 1 nick per user on other networks%0a%0aWe are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%0a===== Chat bot =====%0a%0a - Display the title of a posted URL%0a - Read RSS feeds%0a%0aWe are working on adding these features:%0a%0a - Play chess on IRC%0a - Code snippet upload%0a - File upload%0a%0a===== Bible bot =====%0a%0aStudy the Holy Bible.%0a%0a - Around 100 open/public domain translations in over 20 languages%0a - Passage and verse quoting%0a%0a===== HTTP bot =====%0a%0aThis is still a work in progress (not yet ready for borrowing).%0a%0aA scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%0a - Easily create your own bots using shell scripts and curl%0a - Can be used to create IRC clients that can bypass restrictive firewalls%0a - Can be used to create a web IRC client%0a +time=1596460464 +author:1596460464=jrmu +diff:1596460464:1596460464:=1,48d0%0a%3c ====== Free bots ======%0a%3c %0a%3c Request a free bot in [[ircs://irc.ircnow.org/#ircnow|#ircnow]] to use for your own channel!%0a%3c %0a%3c - [[irc:bots:relay|Relay bots]]%0a%3c - [[irc:bots:chatbots|Chat bots]]%0a%3c - [[irc:bots:chanbot|Channel bots]]%0a%3c - [[irc:bots:biblebot|Bible bot]]%0a%3c - [[irc:bots:http2irc|HTTP bot]]%0a%3c %0a%3c ===== Relay bot =====%0a%3c %0a%3c You can relay your channel on multiple networks! This makes it easier for your users since they no longer have to switch IRC networks in order to chat. You can create the same channel on multiple networks, then relay them together so it feels like everyone is in the same room.%0a%3c %0a%3c ==== Features: ====%0a%3c %0a%3c - Relay multiple channels on multiple networks%0a%3c - On servers you own, each channel can see 1 nick per user on other networks%0a%3c %0a%3c We are working on adding spam and profanity filters as well as better moderation tools to increase the security of the relays.%0a%3c %0a%3c ===== Chat bot =====%0a%3c %0a%3c - Display the title of a posted URL%0a%3c - Read RSS feeds%0a%3c %0a%3c We are working on adding these features:%0a%3c %0a%3c - Play chess on IRC%0a%3c - Code snippet upload%0a%3c - File upload%0a%3c %0a%3c ===== Bible bot =====%0a%3c %0a%3c Study the Holy Bible.%0a%3c %0a%3c - Around 100 open/public domain translations in over 20 languages%0a%3c - Passage and verse quoting%0a%3c %0a%3c ===== HTTP bot =====%0a%3c %0a%3c This is still a work in progress (not yet ready for borrowing).%0a%3c %0a%3c A scriptable http interface that connects to IRC through a bouncer. This lets you script bots using curl.%0a%3c %0a%3c - Easily create your own bots using shell scripts and curl%0a%3c - Can be used to create IRC clients that can bypass restrictive firewalls%0a%3c - Can be used to create a web IRC client%0a +host:1596460464=38.81.163.143 blob - /dev/null blob + 4d7f61995560a3c7099bb75efe7cac58df39df0a (mode 644) --- /dev/null +++ wiki.d/Ircbots.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1596460464 +host=38.81.163.143 +name=Ircbots.RecentChanges +rev=2 +text=* [[Ircbots/Ircbots]] . . . August 03, 2020, at 01:15 PM by [[~jrmu]]: [==]%0a +time=1596460544 blob - /dev/null blob + 35b645e92a9eb3247414624147d38065367dab58 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Allies @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612615672 +host=198.251.81.119 +name=Ircnow.Allies +rev=1 +targets=Openbsd.Ilines,Ircnow.Networks +text=(:title Ally Networks:)%0a%0a!! Allies share users and combat abuse.%0a%0aWe will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a%0aBenefits:%0a%0a# We can set up IRC relays to link select channels on our network together%0a# We will recommend users on our bouncers to your network%0a# We will advertise your network on our site%0a# We will provide ilines for your bouncers/shells%0a# If needed, we can provide spam filters and support%0a# If needed, we can help provide advice for how to deal with DDoS and criminals%0a%0aRequirements:%0a%0a# Channels with adult content (NSFW) must be properly labeled%0a# [[openbsd/ilines|Permanent ilines]] for as many users as either ally needs%0a# Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a# Work together to obtain evidence or logs to stop abuse%0a# Work together to reduce spam and harassment%0a%0aHere is a list of supported [[ircnow/networks|IRC Networks]]. +time=1612615672 +title=Ally Networks +author:1612615672=jrmu +diff:1612615672:1612615672:=1,24d0%0a%3c (:title Ally Networks:)%0a%3c %0a%3c !! Allies share users and combat abuse.%0a%3c %0a%3c We will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a%3c %0a%3c Benefits:%0a%3c %0a%3c # We can set up IRC relays to link select channels on our network together%0a%3c # We will recommend users on our bouncers to your network%0a%3c # We will advertise your network on our site%0a%3c # We will provide ilines for your bouncers/shells%0a%3c # If needed, we can provide spam filters and support%0a%3c # If needed, we can help provide advice for how to deal with DDoS and criminals%0a%3c %0a%3c Requirements:%0a%3c %0a%3c # Channels with adult content (NSFW) must be properly labeled%0a%3c # [[openbsd/ilines|Permanent ilines]] for as many users as either ally needs%0a%3c # Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a%3c # Work together to obtain evidence or logs to stop abuse%0a%3c # Work together to reduce spam and harassment%0a%3c %0a%3c Here is a list of supported [[ircnow/networks|IRC Networks]].%0a\ No newline at end of file%0a +host:1612615672=198.251.81.119 blob - /dev/null blob + f0076a6e67e61da25c92498cb483a0e5d67267aa (mode 644) --- /dev/null +++ wiki.d/Ircnow.Ally @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612616053 +host=198.251.81.119 +name=Ircnow.Ally +rev=1 +targets=Openbsd.Ilines,Ircnow.Networks +text=(:title Ally Networks:)%0a%0a!! Allies share users and combat abuse.%0a%0aWe will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a%0aBenefits:%0a%0a# We can set up IRC relays to link select channels on our network together%0a# We will recommend users on our bouncers to your network%0a# We will advertise your network on our site%0a# We will provide ilines for your bouncers/shells%0a# If needed, we can provide spam filters and support%0a# If needed, we can help provide advice for how to deal with DDoS and criminals%0a%0aRequirements:%0a%0a# Channels with adult content (NSFW) must be properly labeled%0a# [[openbsd/ilines|Permanent ilines]] for as many users as either ally needs%0a# Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a# Work together to obtain evidence or logs to stop abuse%0a# Work together to reduce spam and harassment%0a%0aHere is a list of supported [[ircnow/networks|IRC Networks]]. +time=1612616053 +title=Ally Networks +author:1612616053=jrmu +diff:1612616053:1612616053:=1,24d0%0a%3c (:title Ally Networks:)%0a%3c %0a%3c !! Allies share users and combat abuse.%0a%3c %0a%3c We will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a%3c %0a%3c Benefits:%0a%3c %0a%3c # We can set up IRC relays to link select channels on our network together%0a%3c # We will recommend users on our bouncers to your network%0a%3c # We will advertise your network on our site%0a%3c # We will provide ilines for your bouncers/shells%0a%3c # If needed, we can provide spam filters and support%0a%3c # If needed, we can help provide advice for how to deal with DDoS and criminals%0a%3c %0a%3c Requirements:%0a%3c %0a%3c # Channels with adult content (NSFW) must be properly labeled%0a%3c # [[openbsd/ilines|Permanent ilines]] for as many users as either ally needs%0a%3c # Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a%3c # Work together to obtain evidence or logs to stop abuse%0a%3c # Work together to reduce spam and harassment%0a%3c %0a%3c Here is a list of supported [[ircnow/networks|IRC Networks]].%0a\ No newline at end of file%0a +host:1612616053=198.251.81.119 blob - /dev/null blob + 14af77e844802353057a9c9bb6650f45f273aea3 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Ambassador @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611410304 +host=125.224.17.185 +name=Ircnow.Ambassador +rev=6 +targets=Ircnow.Goals,Freedom.Freedom,Vps.Vps,Almanack.Almanack,Shell.Shell,Ircnow.Ilines,Ircnow.Ally,Ircnow.Networks,Marketing.Marketing,Ircnow.Roadmap,Ircnow.Finances +text=(:title Become an IRCNow Ambassador!:)%0a%0aIf you enjoy socializing with other admins/opers, negotiating deals, would like to help [[ircnow/goals|improve IRC]], improve [[freedom/freedom|user freedom]], and hang out with your friends, this is the job for you.%0a%0a!! Your Reward%0a%0a# '''Become staff on IRCNow'''%0a# '''[[vps/vps|Free OpenBSD VPS]]'''%0a# Gain '''diplomatic immunity''' on foreign networks%0a# Receive extra accounts and services as needed%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe may someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Understand [[Almanack/Almanack|our technology and software]].%0a# [[shell/shell|Request a shell account]] and other IRC services.%0a# Contact us on IRC or email your application to admin@ircnow.org. Ambassadors can remain anonymous.%0a# We'll interview you, and if you are qualified, you'll be promoted to staff!%0a%0a!! Your Duties%0a%0a# Commit to help our network for a minimum of 5 hours per week%0a# Negotiate with other networks: get [[ircnow/ilines|connection limit exemptions (ilines)]], negotiate [[ircnow/ally|alliances]], and partnerships%0a# Get sponsorships from free software/open source organizations, businesses, and private donors%0a# Get to know [[ircnow/networks|all the networks on IRC]].%0a# Help with [[marketing|marketing]] and interacting with users.%0a# Report all money transactions that involve IRCNow%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1621323732 +title=Become an IRCNow Ambassador! +author:1621323732=jrmu +diff:1621323732:1621323649:=20c20%0a%3c # Understand [[Almanack/Almanack|our technology and software]].%0a---%0a> # Get to understand [[Almanack/Almanack|our technology and software]].%0a +host:1621323732=125.224.17.185 +author:1621323649=jrmu +diff:1621323649:1611410503:=3,4c3,4%0a%3c If you enjoy socializing with other admins/opers, negotiating deals, would like to help [[ircnow/goals|improve IRC]], improve [[freedom/freedom|user freedom]], and hang out with your friends, this is the job for you.%0a%3c %0a---%0a> If you would like to help [[ircnow/goals|improve IRC]], improve [[freedom/freedom|user freedom]], and hang out with your friends, this is the job for you.%0a> %0a20c20%0a%3c # Get to understand [[Almanack/Almanack|our technology and software]].%0a---%0a> # Get to understand our technology and software built around [[openbsd|OpenBSD]].%0a28,29d27%0a%3c # Negotiate with other networks: get [[ircnow/ilines|connection limit exemptions (ilines)]], negotiate [[ircnow/ally|alliances]], and partnerships%0a%3c # Get sponsorships from free software/open source organizations, businesses, and private donors%0a32d29%0a%3c # Report all money transactions that involve IRCNow%0a +host:1621323649=125.224.17.185 +author:1611410503=jrmu +diff:1611410503:1611410484:=7c7%0a%3c # '''Become staff on IRCNow'''%0a---%0a> # '''Become an IRC oper and staff on IRCNow'''%0a +host:1611410503=125.231.20.163 +author:1611410484=jrmu +diff:1611410484:1611410419:=10c10,11%0a%3c # Receive extra accounts and services as needed%0a---%0a> # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a> # Learn to write code for real users%0a +host:1611410484=125.231.20.163 +author:1611410419=jrmu +diff:1611410419:1611410304:=9c9%0a%3c # Gain '''diplomatic immunity''' on foreign networks%0a---%0a> # Gain diplomatic immunity on foreign networks%0a +host:1611410419=125.231.20.163 +author:1611410304=jrmu +diff:1611410304:1611410304:=1,35d0%0a%3c (:title Become an IRCNow Ambassador!:)%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]], improve [[freedom/freedom|user freedom]], and hang out with your friends, this is the job for you.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Gain diplomatic immunity on foreign networks%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We may someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Get to understand our technology and software built around [[openbsd|OpenBSD]].%0a%3c # [[shell/shell|Request a shell account]] and other IRC services.%0a%3c # Contact us on IRC or email your application to admin@ircnow.org. Ambassadors can remain anonymous.%0a%3c # We'll interview you, and if you are qualified, you'll be promoted to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help our network for a minimum of 5 hours per week%0a%3c # Get to know [[ircnow/networks|all the networks on IRC]].%0a%3c # Help with [[marketing|marketing]] and interacting with users.%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1611410304=125.231.20.163 blob - /dev/null blob + d3178f19215db93329988f0daa09c1626943f695 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Censorship @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609901398 +host=125.231.63.134 +name=Ircnow.Censorship +rev=3 +targets=Ircnow.Networks +text=(:title Censorship System:)%0a%0aIRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a%0aOur digital bill of rights state:%0a%0a-> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%0aIRCNow cannot censor network wide, there is no "official" censorship policy.%0a%0aHowever, on each individual server, it is not legally possible for us to have zero censorship. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a%0aSo, each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network. +time=1609902097 +title=Censorship System +author:1609902097=jrmu +diff:1609902097:1609901845:=11c11%0a%3c However, on each individual server, it is not legally possible for us to have zero censorship. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a---%0a> However, it is not legally possible for us to have zero censorship on each individual server. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a +host:1609902097=125.231.63.134 +author:1609901845=jrmu +diff:1609901845:1609901398:=5,13c5,7%0a%3c Our digital bill of rights state:%0a%3c %0a%3c -> Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a%3c %0a%3c IRCNow cannot censor network wide, there is no "official" censorship policy.%0a%3c %0a%3c However, it is not legally possible for us to have zero censorship on each individual server. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a%3c %0a%3c So, each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a\ No newline at end of file%0a---%0a> However, it is not legally possible for us to have no censorship. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a> %0a> Each team can decide what type of policy they want to set for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a\ No newline at end of file%0a +host:1609901845=125.231.63.134 +author:1609901398=jrmu +diff:1609901398:1609901398:=1,7d0%0a%3c (:title Censorship System:)%0a%3c %0a%3c IRCNow is a network that the users control. In order to ensure this, we must make sure that there is no network-wide censorship of speech or religion. Without this guarantee, it becomes impossible to have meaningful debates for policy decisions.%0a%3c %0a%3c However, it is not legally possible for us to have no censorship. In many countries, some form of speech is censored. For example, violent threats are illegal even in the United States. Other types of illegal behavior include copyright infringement. IRCNow is also a family friendly network so we do not want pornography on it.%0a%3c %0a%3c Each team can decide what type of policy they want to set for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels [[ircnow/networks|on the networks]] his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a\ No newline at end of file%0a +host:1609901398=125.231.63.134 blob - /dev/null blob + 3e90fa4c500e92035bfd6f5ce7b03390e37bba8d (mode 644) --- /dev/null +++ wiki.d/Ircnow.Chatforce @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614952437 +host=198.251.81.119 +name=Ircnow.Chatforce +rev=3 +targets=Vps.Vps,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Openbsd,Openbsd.Training,Openbsd.Ongoing,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Join the Code Force:)%0a%0aThe Few, the Proud, the Code Force%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aThe elite corps of code warriors that lead the way.%0a%0a!! Your Reward%0a%0a# '''Become an admin on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Write and deploy code for the network%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a# After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1614953720 +title=Join the Code Force +author:1614953720=jrmu +diff:1614953720:1614952796:=11c11%0a%3c # '''Become an admin on IRCNow'''%0a---%0a> # '''Become an IRC oper and staff on IRCNow'''%0a13c13,14%0a%3c # Write and deploy code for the network%0a---%0a> # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a> # Learn to write code for real users%0a +host:1614953720=198.251.81.119 +author:1614952796=jrmu +diff:1614952796:1614952437:=1,3c1,3%0a%3c (:title Join the Code Force:)%0a%3c %0a%3c The Few, the Proud, the Code Force%0a---%0a> (:title Join the Chat Force:)%0a> %0a> The Few, the Proud, the Chat Force%0a +host:1614952796=198.251.81.119 +author:1614952437=jrmu +diff:1614952437:1614952437:=1,43d0%0a%3c (:title Join the Chat Force:)%0a%3c %0a%3c The Few, the Proud, the Chat Force%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c The elite corps of code warriors that lead the way.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1614952437=198.251.81.119 blob - /dev/null blob + f6979080b6477e80644f84793601325a0e83409e (mode 644) --- /dev/null +++ wiki.d/Ircnow.CodeForce @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1614953773 +host=198.251.81.44 +name=Ircnow.CodeForce +rev=2 +targets=Vps.Vps,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Openbsd,Openbsd.Training,Openbsd.Ongoing,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Join the Code Force:)%0a%0aThe Few, the Proud, the Code Force%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aThe elite corps of code warriors that lead the way.%0a%0a!! Your Reward%0a%0a# '''Become an admin on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Write and deploy code for the network%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a# After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1617019471 +title=Join the Code Force +author:1617019471=jrmu +diff:1617019471:1614953773:=27c27%0a%3c # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a---%0a> # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a +host:1617019471=198.251.81.44 +author:1614953773=jrmu +diff:1614953773:1614953773:=1,42d0%0a%3c (:title Join the Code Force:)%0a%3c %0a%3c The Few, the Proud, the Code Force%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c The elite corps of code warriors that lead the way.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an admin on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Write and deploy code for the network%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1614953773=198.251.81.119 blob - /dev/null blob + 0d95ab7a38324d434a2e29072257b101b0a9421e (mode 644) --- /dev/null +++ wiki.d/Ircnow.Codeforce @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614953750 +host=198.251.81.119 +name=Ircnow.Codeforce +rev=1 +targets=Vps.Vps,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Openbsd,Openbsd.Training,Openbsd.Ongoing,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Join the Code Force:)%0a%0aThe Few, the Proud, the Code Force%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aThe elite corps of code warriors that lead the way.%0a%0a!! Your Reward%0a%0a# '''Become an admin on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Write and deploy code for the network%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a# After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1614953750 +title=Join the Code Force +author:1614953750=jrmu +diff:1614953750:1614953750:=1,42d0%0a%3c (:title Join the Code Force:)%0a%3c %0a%3c The Few, the Proud, the Code Force%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c The elite corps of code warriors that lead the way.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an admin on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Write and deploy code for the network%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1614953750=198.251.81.119 blob - /dev/null blob + 8e7d5d4500e7c85b65ff4779a8487f30aaa90bda (mode 644) --- /dev/null +++ wiki.d/Ircnow.Coders @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609845072 +host=125.231.63.134 +name=Ircnow.Coders +rev=1 +targets=Ircnow.Goals,Vps.Vps,Openbsd.Openbsd,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Ircnow.Servers,Ircnow.Roadmap,Third.Third +text=(:title Apply to be a Sysadmin:)%0a%0aIf you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%0a!! Your Reward%0a%0a# '''Become an IRC oper and staff on IRCNow'''%0a# '''[[vps/vps|Free OpenBSD VPS]]'''%0a# Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a# Learn to write code for real users%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and other non-coding tasks +time=1609845072 +title=Apply to be a Sysadmin +author:1609845072=jrmu +diff:1609845072:1609845072:=1,31d0%0a%3c (:title Apply to be a Sysadmin:)%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1609845072=125.231.63.134 blob - /dev/null blob + 302bfc5dfa0a897916b76caa9b0129c6f232091d (mode 644) --- /dev/null +++ wiki.d/Ircnow.Constitution @@ -0,0 +1,426 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1596187693 +host=125.231.25.80 +name=Ircnow.Constitution +rev=138 +targets= +text=WE THE USERS, to form a more perfect network, establish Justice, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a%0a!! Article I%0a%0a# All network policies will be created by Congress, which is made up of a Senate and a House of Representatives.%0a# Each year, each server will choose representatives for the house. He must have been an active, verified user for at least 3 years. When elected and during his office, he must be using the server he represents.\\%0aRepresentatives and user fees for each server will be in proportion to the number of verified, active users on the official network, excluding users on non-free protocols, plus three-fifth all other users.\\%0aNew representatives can be elected to fill vacancies.\\%0aThe house shall choose their Speaker and other officers and have the sole power of impeachment.%0a# Each server will choose one senator. Each senator gets one vote. Each senator serves for three years.\\%0aEach year, one-third of the senators will be elected. New senators can be elected to fill vacancies.\\%0aHe must have been an active, verified user on the network for a minimum of 6 years. When elected and during his office, he must be using the server he represents.\\%0aThe Vice President is president of the senate but has no votes except to break ties.\\%0aThe Senate chooses their other Officers and a President pro tempore, who in the Absence of the Vice President, becomes President.\\%0aThe Senate has the sole power to try impeachments. When the President is tried, the Chief Justice shall preside. No user shall be convicted without a two-thirds majority of those present.\\%0aImpeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to network policy.%0a# Each server manages its own elections, but Congress may regulate these elections.\\%0aCongress must meet at least once every six months.%0a# Each house judges its own elections and the qualifications of its members. A quorum is a simple majority. A smaller number may meet and compel attendance by penalizing absent members.\\%0aEach house determines its own proceedings and how to punish disorderly behavior. A two-thirds majority vote is needed to expel a member.\\%0aEach house shall publish an archive of its proceedings excluding parts that may require secrecy. Upon the request of one-fifth of the members, each members' vote can be recorded in the archive.%0a# Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned when Congress meets.\\%0aNo user may simultaneously hold another paid network office while also being paid as a senator or representative.%0a# All proposals for raising money must begin in the House. The Senate may propose other policies.\\%0aAll proposals must pass both House and Senate to become official network policy. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a# Congress has the power to:%0a # Charge user fees%0a # Charge fees for transaction that involve an external organization. All such fees must be uniform throughout the network%0a # Borrow money and pay debts%0a # Provide for the common network defense and welfare%0a # Regulate transactions among servers and with external networks and groups%0a # Establish a uniform policy for netizenship and bankruptcies%0a # Issue and regulate cryptocurrencies%0a # Punish cryptocoin fraud%0a # To establish network mail and chat services%0a # To promote creative works by securing authors exclusive rights for limited times%0a # To create courts inferior to the supreme Court;%0a # To punish software pirates, spammers, and ddosers%0a # To make deals with other networks, to boycott or to compete with them; and to offer bounties%0a # To recruit and pay for code forces, but any collection of money must be used within one year.%0a # To provide for organizing, disciplining, and equipping minutemin. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a # To provide for and regulate outreach to users on foreign networks%0a # To call the minutemin to suppress user revolts and repel invasions%0a # To exclusively decide all policy for all cases for the server chosen as network headquarters,%0a # To make any policy needed to execute the above%0a# No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0aThe Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0aCongress cannot charge user fees unless in direct proportion to user counts.\\%0aCongress cannot charge transaction fees for services that do not involve multiple servers or an external network.\\%0aNo commercial policy can prefer one server over another.\\%0aNo money can be taken from the Treasury except through policy by Congress; and a financial report shall be published periodically.\\%0aNo special social status shall be granted to any user; and no salaried officer is allowed to receive payments from competing networks without the approval of Congress.%0a# No server may may make a deal with another external network or organization; issue cryptocoins; borrow money; or grant any special social status.\\%0aNo server can, without Congress' approval, charge any transaction fees for trade between servers on the network except what is absolutely necessary to recover costs.%0a%0a!! Article II%0a# A president and vice president will be elected once every 2 years.\\%0aEach server will choose electors equal to its number of senators and representatives. These electors must not hold any other office.\\%0aThe electors will vote for two users and shall sign and certify their vote. The President of the Senate will count all the votes in the Congress. The user with the greatest number of votes shall be President if voted for by a majority of electors. If there is a tie, then the House shall vote and choose the President. If no user has the vote of a majority of electors, then from the five candidates with the most votes, the House will choose the President. In choosing the President, each server has one vote. A quorum is two-thirds of the servers. In every case, the user with the greatest number of votes after the President shall be the Vice President. If there are any remaining ties, the Senate will choose by ballot.\\%0aThe president must have been an active, registered user for at least 10 years.\\%0aIf the President is unable to fulfill his duties, the Vice President will become President.\\%0aThe President will receive a salary which cannot be increased or decreased during his term. He cannot receive any other income from the network.\\%0aHe must agree to faithfully execute the Office of President and to preserve, protect and defend the Constitution.%0a# The President will be the chief of the Code Force, minutemin, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0aHe has the power to make deals with external networks and organizations provided 2/3rds of the senate agree. He can nominate ambassadors, judges of the supreme Court, and other officers with the approval of the Senate.\\%0aThe president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a# He shall periodically inform Congress about the State of the Network. He shall execute the policies and appoint the officers of the network.%0a# The President, Vice President and all officers of the network can be removed if impeached and convicted of network treason, bribery, or other serious abuses.%0a%0a!! Article III%0a# There will be one supreme Court. Congress may appoint inferior courts. Judges will serve, under the condition of honorable behavior, for 10 years. Their salary cannot decrease during their time in office.%0a# The judges will decide cases involving disputes between servers, disputes involving an external organization, disputes between users of different servers, disputes between a user on one server and another server, and any dispute where the network is involved.%0a# Except for impeachment, all trials will be by Jury. It will be held in the server where the abuse was committed. If not committed on any server, the Trial will take place according to Congress' policy.%0a%0a!! Article IV%0a# Netizens of any server will have the same rights as netizens of other servers on the network.%0a# A user accused of abuse who flees to another server must be handed back to the server the abuse was committed on to be judged.%0a# New servers may be admitted by the congress into the network, but not as a result of a split without the server's permission.\\%0aCongress can create any necessary policies for new hardware that have not yet joined the network as official servers.%0a# Each server is guaranteed a republican form of government, and the network shall protect each of them against external attacks.%0a%0a!! Article V%0a# Amendments to this constitution can be made if 3/4ths of all servers agree.%0a%0a!! Article VI%0a# This constitution, all policies and deals made under it, shall be the official policy of the network. Judges in every server must agree to follow it.%0a# All network officers must agree to support this constitution, but no religious test will ever be required for any office.%0a%0a!! Article VII%0a# This constitution will be in effect if 9 out of 13 servers approve it.%0a%0a!! [[#billofrights]]User Bill of Rights%0a# Congress shall not make any policy to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a# Free and open source software is necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a# No staff will be allowed, in time of peace, to log private data without the consent of the user. During an abuse investigation, such logging must be approved by policy.%0a# Users have a right to be secure from unreasonable searches of their personal information and data. Permission to search can be given only upon probable cause and where the data to be searched and seized are described.%0a# No user can be banned without a fair trial except during times of great danger; no user can be punished for the same reason twice; nor will a user be required to be a witness against himself; nor can a user be deprived of any money without a fair trial.%0a# Users accused of abuse shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a# The right of trial by jury shall be preserved for financial disputes.%0a# Punishment must fit the abuse and must not be excessive or cruel.%0a# The rights listed in the Constitution must not be used to deny rights reserved to the users.%0a# Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a +time=1623340083 +author:1623340083=jrmu +diff:1623340083:1623298879:=32c32%0a%3c # Establish a uniform policy for netizenship and bankruptcies%0a---%0a> # Establish a uniform policy for IRCitizenship and bankruptcies%0a76c76%0a%3c # Netizens of any server will have the same rights as netizens of other servers on the network.%0a---%0a> # IRCitizens of any server will have the same rights as IRCitizens of other servers on the network.%0a102c102%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a---%0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a\ No newline at end of file%0a +host:1623340083=125.231.25.80 +author:1623298879=jrmu +diff:1623298879:1623298862:=7c7%0a%3c Representatives and user fees for each server will be in proportion to the number of verified, active users on the official network, excluding users on non-free protocols, plus three-fifth all other users.\\%0a---%0a> Representatives and user fees for each server will be in proportion to the number of verified, active users on the main network, excluding users on non-free protocols, plus three-fifth all other users.\\%0a +host:1623298879=125.231.25.80 +author:1623298862=jrmu +diff:1623298862:1618054593:=7c7%0a%3c Representatives and user fees for each server will be in proportion to the number of verified, active users on the main network, excluding users on non-free protocols, plus three-fifth all other users.\\%0a---%0a> Representatives and user fees for each server will be in proportion to the number of verified, active IRC users, excluding users on non-free protocols, plus three-fifth all other users.\\%0a +host:1623298862=125.231.25.80 +author:1618054593=jrmu +diff:1618054593:1614954048:=7c7%0a%3c Representatives and user fees for each server will be in proportion to the number of verified, active IRC users, excluding users on non-free protocols, plus three-fifth all other users.\\%0a---%0a> Representatives and user fees will be in proportion to the number of verified, active users.\\%0a +host:1618054593=198.251.81.44 +author:1614954048=jrmu +diff:1614954048:1614954028:=40c40%0a%3c # To recruit and pay for code forces, but any collection of money must be used within one year.%0a---%0a> # To recruit and pay for coders, but any collection of money must be used within one year.%0a +host:1614954048=198.251.81.119 +author:1614954028=jrmu +diff:1614954028:1614953887:=64c64%0a%3c # The President will be the chief of the Code Force, minutemin, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0a---%0a> # The President will be the chief of the coders, minutemin, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0a +host:1614954028=198.251.81.119 +author:1614953887=jrmu +diff:1614953887:1614225327:= +host:1614953887=198.251.81.119 +author:1614225327=jrmu +diff:1614225327:1614225162:= +host:1614225327=125.231.67.184 +author:1614225162=jrmu +diff:1614225162:1613617962:=5c5%0a%3c # All network policies will be created by Congress, which is made up of a Senate and a House of Representatives.%0a---%0a> # Network policies will be created by Congress, which is made up of a Senate and a House of Representatives.%0a +host:1614225162=125.231.67.184 +author:1613617962=jrmu +diff:1613617962:1613617652:=6c6%0a%3c # Each year, each server will choose representatives for the house. He must have been an active, verified user for at least 3 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Each year, each server will choose representatives for the house. He must have been an active, verified user for at least 4 years. When elected and during his office, he must be using the server he represents.\\%0a12c12%0a%3c He must have been an active, verified user on the network for a minimum of 6 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> He must have been an active, verified user on the network for a minimum of 8 years. When elected and during his office, he must be using the server he represents.\\%0a60c60%0a%3c The president must have been an active, registered user for at least 10 years.\\%0a---%0a> The president must have been an active, registered user for at least 14 years.\\%0a +host:1613617962=125.231.58.85 +author:1613617652=jrmu +diff:1613617652:1613616109:=1c1%0a%3c WE THE USERS, to form a more perfect network, establish Justice, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a---%0a> WE THE USERS, to form a more perfect network, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a +host:1613617652=125.231.58.85 +author:1613616109=jrmu +diff:1613616109:1613616095:=60c60%0a%3c The president must have been an active, registered user for at least 14 years.\\%0a---%0a> The president must have been an active, registered user for at least 14 years. He must be at least 30 years old.\\%0a +host:1613616109=125.231.58.85 +author:1613616095=jrmu +diff:1613616095:1613581165:=6c6%0a%3c # Each year, each server will choose representatives for the house. He must have been an active, verified user for at least 4 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Each year, each server will choose representatives for the house. He must be of legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a12c12%0a%3c He must have been an active, verified user on the network for a minimum of 8 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> He must be at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a60c60%0a%3c The president must have been an active, registered user for at least 14 years. He must be at least 30 years old.\\%0a---%0a> The president must have been an active, registered user for at least 7 years. He must be at least 30 years old.\\%0a +host:1613616095=125.231.58.85 +author:1613581165=jrmu +diff:1613581165:1613581095:=98,99c98,99%0a%3c # Users accused of abuse shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a%3c # The right of trial by jury shall be preserved for financial disputes.%0a---%0a> # Accused users shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a> # The right of trial by jury shall be preserved.%0a +host:1613581165=198.251.81.119 +author:1613581095=jrmu +diff:1613581095:1613580549:= +host:1613581095=198.251.81.119 +author:1613580549=jrmu +diff:1613580549:1613580384:=99c99%0a%3c # The right of trial by jury shall be preserved.%0a---%0a> #%0a +host:1613580549=198.251.81.119 +author:1613580384=jrmu +diff:1613580384:1613579338:=65c65%0a%3c He has the power to make deals with external networks and organizations provided 2/3rds of the senate agree. He can nominate ambassadors, judges of the supreme Court, and other officers with the approval of the Senate.\\%0a---%0a> He has the power to make deals with external networks and organizations provided 2/3rds of the senate agree. He can nominate ambassadors, judges, and other officers.\\%0a72,73c72,73%0a%3c # The judges will decide cases involving disputes between servers, disputes involving an external organization, disputes between users of different servers, disputes between a user on one server and another server, and any dispute where the network is involved.%0a%3c # Except for impeachment, all trials will be by Jury. It will be held in the server where the abuse was committed. If not committed on any server, the Trial will take place according to Congress' policy.%0a---%0a> # Justices will be appointed by the president, with the approval of the majority of the senate.%0a> # The judges will decide cases involving disputes between servers, and disputes between a server and an external organization.%0a +host:1613580384=198.251.81.119 +author:1613579338=jrmu +diff:1613579338:1613579130:=101c101%0a%3c # The rights listed in the Constitution must not be used to deny rights reserved to the users.%0a---%0a> #%0a +host:1613579338=198.251.81.119 +author:1613579130=jrmu +diff:1613579130:1613579005:=63c63%0a%3c He must agree to faithfully execute the Office of President and to preserve, protect and defend the Constitution.%0a---%0a> He must agree to faithfully execute the Office of President and to preserve, protect and defend the Constitution.\\%0a +host:1613579130=198.251.81.119 +author:1613579005=jrmu +diff:1613579005:1613578954:=41c41%0a%3c # To provide for organizing, disciplining, and equipping minutemin. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a---%0a> # To provide for organizing, disciplining, and equipping sysadmins. The servers have the right to appoint and train sysadmins according to policies determined by Congress%0a43c43%0a%3c # To call the minutemin to suppress user revolts and repel invasions%0a---%0a> # To call the sysadmins to suppress user revolts and repel invasions%0a64c64%0a%3c # The President will be the chief of the coders, minutemin, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0a---%0a> # The President will be the chief of the coders, sysadmins, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0a +host:1613579005=198.251.81.119 +author:1613578954=jrmu +diff:1613578954:1613578837:= +host:1613578954=198.251.81.119 +author:1613578837=jrmu +diff:1613578837:1613578266:=64,69c64,67%0a%3c # The President will be the chief of the coders, sysadmins, and external outreach when called into service. He will have power to grant network pardons, except in cases of impeachment.\\%0a%3c He has the power to make deals with external networks and organizations provided 2/3rds of the senate agree. He can nominate ambassadors, judges, and other officers.\\%0a%3c The president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a%3c # He shall periodically inform Congress about the State of the Network. He shall execute the policies and appoint the officers of the network.%0a%3c # The President, Vice President and all officers of the network can be removed if impeached and convicted of network treason, bribery, or other serious abuses.%0a%3c %0a---%0a> # The president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a> # The president's duty is to enforce the policies of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a> # If the president is unable to fulfill his duty, the vice president will take his place. If the vice president is unable, then the house will vote for the president.%0a> # The president has the right to pardon banned users. He also can appoint officers to help him with enforcing policies.%0a +host:1613578837=198.251.81.119 +author:1613578266=jrmu +diff:1613578266:1613573161:=61,63c61%0a%3c If the President is unable to fulfill his duties, the Vice President will become President.\\%0a%3c The President will receive a salary which cannot be increased or decreased during his term. He cannot receive any other income from the network.\\%0a%3c He must agree to faithfully execute the Office of President and to preserve, protect and defend the Constitution.\\%0a---%0a> If the President is unable to fulfill his duties, the Vice President will become President.%0a +host:1613578266=198.251.81.119 +author:1613573161=jrmu +diff:1613573161:1613572777:=91,92c91,92%0a%3c # No staff will be allowed, in time of peace, to log private data without the consent of the user. During an abuse investigation, such logging must be approved by policy.%0a%3c # Users have a right to be secure from unreasonable searches of their personal information and data. Permission to search can be given only upon probable cause and where the data to be searched and seized are described.%0a---%0a> # No staff will be allowed, in time of peace, to log private data without the consent of the users. During an abuse investigation, such logging must be approved by Congress.%0a> # Users have a right to be secure from unreasonable searches of their personal information and data. Search warrants can be given only upon probable cause where the data to be searched and seized are described.%0a95d94%0a%3c #%0a97,98c96,98%0a%3c #%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a\ No newline at end of file%0a---%0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a> %0a> # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a\ No newline at end of file%0a +host:1613573161=198.251.81.119 +author:1613572777=jrmu +diff:1613572777:1613572541:=5,6c5,6%0a%3c # Network policies will be created by Congress, which is made up of a Senate and a House of Representatives.%0a%3c # Each year, each server will choose representatives for the house. He must be of legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Network policies will be created by Congress, which shall consist of a Senate and a House of Representatives.%0a> # Each year, each server will choose representatives for the house. No user may represent a server unless he has reached legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a12c12%0a%3c He must be at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> No user can be a senator unless he is at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a +host:1613572777=198.251.81.119 +author:1613572541=jrmu +diff:1613572541:1613572031:=67,68c67%0a%3c # There will be one supreme Court. Congress may appoint inferior courts. Judges will serve, under the condition of honorable behavior, for 10 years. Their salary cannot decrease during their time in office.%0a%3c # Justices will be appointed by the president, with the approval of the majority of the senate.%0a---%0a> # Judges will serve, under the condition of honorable behavior, for 2 years and will be appointed by the president, with the approval of the majority of the senate.%0a70d68%0a%3c %0a +host:1613572541=198.251.81.119 +author:1613572031=jrmu +diff:1613572031:1613571860:=72,73c72%0a%3c # New servers may be admitted by the congress into the network, but not as a result of a split without the server's permission.\\%0a%3c Congress can create any necessary policies for new hardware that have not yet joined the network as official servers.%0a---%0a> # New servers may be admitted by the congress into the network, but not as a result of a split without the server's permission.%0a +host:1613572031=198.251.81.119 +author:1613571860=jrmu +diff:1613571860:1613571437:=70,71d69%0a%3c # IRCitizens of any server will have the same rights as IRCitizens of other servers on the network.%0a%3c # A user accused of abuse who flees to another server must be handed back to the server the abuse was committed on to be judged.%0a +host:1613571860=198.251.81.119 +author:1613571437=jrmu +diff:1613571437:1613570049:=77d76%0a%3c # This constitution, all policies and deals made under it, shall be the official policy of the network. Judges in every server must agree to follow it.%0a +host:1613571437=198.251.81.119 +author:1613570049=jrmu +diff:1613570049:1613569948:=77c77%0a%3c # All network officers must agree to support this constitution, but no religious test will ever be required for any office.%0a---%0a> # All network officers must agree to support this constitution, but no religious test will ever be required.%0a +host:1613570049=198.251.81.119 +author:1613569948=jrmu +diff:1613569948:1613569641:=75,80d74%0a%3c %0a%3c !! Article VI%0a%3c # All network officers must agree to support this constitution, but no religious test will ever be required.%0a%3c %0a%3c !! Article VII%0a%3c # This constitution will be in effect if 9 out of 13 servers approve it.%0a +host:1613569948=198.251.81.119 +author:1613569641=jrmu +diff:1613569641:1613569518:=50c50%0a%3c No commercial policy can prefer one server over another.\\%0a---%0a> No policy can give a commercial preference to one server over another.\\%0a +host:1613569641=198.251.81.119 +author:1613569518=jrmu +diff:1613569518:1613569462:=49c49%0a%3c Congress cannot charge transaction fees for services that do not involve multiple servers or an external network.\\%0a---%0a> Congress cannot charge transaction fees on services that do not involve multiple servers or an external network.\\%0a +host:1613569518=198.251.81.119 +author:1613569462=jrmu +diff:1613569462:1613569324:=49c49%0a%3c Congress cannot charge transaction fees on services that do not involve multiple servers or an external network.\\%0a---%0a> No transaction fees can be charged for services sold from any server.\\%0a +host:1613569462=198.251.81.119 +author:1613569324=jrmu +diff:1613569324:1613569170:=48c48%0a%3c Congress cannot charge user fees unless in direct proportion to user counts.\\%0a---%0a> No user fees are allowed unless in direct proportion to user counts.\\%0a +host:1613569324=198.251.81.119 +author:1613569170=jrmu +diff:1613569170:1613568751:=38c38%0a%3c # To punish software pirates, spammers, and ddosers%0a---%0a> # To punish pirates, spammers, and ddosers%0a40,41c40,41%0a%3c # To recruit and pay for coders, but any collection of money must be used within one year.%0a%3c # To provide for organizing, disciplining, and equipping sysadmins. The servers have the right to appoint and train sysadmins according to policies determined by Congress%0a---%0a> # To raise and support coding forces, but any collection of money must be used within one year.%0a> # To provide for organizing, disciplining, and equipping minutemin. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a +host:1613569170=198.251.81.119 +author:1613568751=jrmu +diff:1613568751:1613568680:=36c36%0a%3c # To promote creative works by securing authors exclusive rights for limited times%0a---%0a> # To promote the progress of science and art by securing their authors exclusive rights for limited times%0a +host:1613568751=198.251.81.119 +author:1613568680=jrmu +diff:1613568680:1613568214:=31c31%0a%3c # Regulate transactions among servers and with external networks and groups%0a---%0a> # Regulate trade among servers and with external networks and groups%0a +host:1613568680=198.251.81.119 +author:1613568214=jrmu +diff:1613568214:1613567969:=46,47c46,47%0a%3c # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0a%3c The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0a---%0a> # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.%0a> # The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0a +host:1613568214=198.251.81.119 +author:1613567969=jrmu +diff:1613567969:1613567929:=46c46%0a%3c # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.%0a---%0a> # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0a +host:1613567969=198.251.81.119 +author:1613567929=jrmu +diff:1613567929:1613567543:=47c47%0a%3c # The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0a---%0a> The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0a53,54c53%0a%3c # No server may may make a deal with another external network or organization; issue cryptocoins; borrow money; or grant any special social status.\\%0a%3c No server can, without Congress' approval, charge any transaction fees for trade between servers on the network except what is absolutely necessary to recover costs.%0a---%0a> # No server may make a deal with another external network or organization or issue cryptocoins.%0a +host:1613567929=198.251.81.119 +author:1613567543=jrmu +diff:1613567543:1613561346:=28c28%0a%3c # Charge fees for transaction that involve an external organization. All such fees must be uniform throughout the network%0a---%0a> # Charge transaction fees that involve an external organization. All such fees must be uniform throughout the network%0a +host:1613567543=198.251.81.119 +author:1613561346=jrmu +diff:1613561346:1613549647:=24c24%0a%3c # All proposals for raising money must begin in the House. The Senate may propose other policies.\\%0a---%0a> # All rules for raising money must begin in the House. The Senate may propose other policies.\\%0a32c32%0a%3c # Establish a uniform policy for IRCitizenship and bankruptcies%0a---%0a> # Establish a uniform rule for IRCitizenship and bankruptcies%0a62c62%0a%3c # The president's duty is to enforce the policies of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a---%0a> # The president's duty is to enforce the rules of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a64c64%0a%3c # The president has the right to pardon banned users. He also can appoint officers to help him with enforcing policies.%0a---%0a> # The president has the right to pardon banned users. He also can appoint officers to help him with enforcing the rules.%0a76c76%0a%3c # Congress shall not make any policy to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a---%0a> # Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a +host:1613561346=198.251.81.119 +author:1613549647=jrmu +diff:1613549647:1613549011:=7c7%0a%3c Representatives and user fees will be in proportion to the number of verified, active users.\\%0a---%0a> Representatives and user taxes will be in proportion to the number of verified, active users.\\%0a27,28c27,28%0a%3c # Charge user fees%0a%3c # Charge transaction fees that involve an external organization. All such fees must be uniform throughout the network%0a---%0a> # Tax servers%0a> # Tax transactions that involve an external organization. All such taxes must be uniform throughout the network%0a48c48%0a%3c No user fees are allowed unless in direct proportion to user counts.\\%0a---%0a> No user taxes are allowed unless in direct proportion to user counts.\\%0a +host:1613549647=198.251.81.119 +author:1613549011=jrmu +diff:1613549011:1613495466:=6c6%0a%3c # Each year, each server will choose representatives for the house. No user may represent a server unless he has reached legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a12c12%0a%3c No user can be a senator unless he is at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> No person can be a senator unless he is at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a +host:1613549011=198.251.81.119 +author:1613495466=jrmu +diff:1613495466:1613494569:=58,60c58,60%0a%3c The electors will vote for two users and shall sign and certify their vote. The President of the Senate will count all the votes in the Congress. The user with the greatest number of votes shall be President if voted for by a majority of electors. If there is a tie, then the House shall vote and choose the President. If no user has the vote of a majority of electors, then from the five candidates with the most votes, the House will choose the President. In choosing the President, each server has one vote. A quorum is two-thirds of the servers. In every case, the user with the greatest number of votes after the President shall be the Vice President. If there are any remaining ties, the Senate will choose by ballot.\\%0a%3c The president must have been an active, registered user for at least 7 years. He must be at least 30 years old.\\%0a%3c If the President is unable to fulfill his duties, the Vice President will become President.%0a---%0a> The electors will vote for two users and shall sign and certify their vote. The President of the Senate will count all the votes in the Congress. The user with the greatest number of votes shall be President if voted for by a majority of electors. If there is a tie, then the House shall vote and choose the President. If no user has the vote of a majority of electors, then from the five candidates with the most votes, the House will choose the President. In choosing the President, each server has one vote. A quorum is two-thirds of the servers. In every case, the user with the greatest number of votes after the President shall be the Vice President. If there are any remaining ties, the Senate will choose by ballot.%0a> He must have been an active, registered user for at least 4 years. No religious test will be required. The president must agree to uphold the constitution.%0a> # The president will be elected by the servers. Each server gets votes equal to the number of its senators plus representatives.%0a +host:1613495466=198.251.81.119 +author:1613494569=jrmu +diff:1613494569:1613494377:=56,57c56,59%0a%3c # A president and vice president will be elected once every 2 years.\\%0a%3c Each server will choose electors equal to its number of senators and representatives. These electors must not hold any other office.\\%0a---%0a> # A president and vice president will be elected once every 2 years.%0a> %0a> Each server will choose electors equal to its number of senators and representatives. These electors must not hold any other office.%0a> %0a58a61%0a> %0a +host:1613494569=198.251.81.119 +author:1613494377=jrmu +diff:1613494377:1613493395:=60c60,62%0a%3c The electors will vote for two users and shall sign and certify their vote. The President of the Senate will count all the votes in the Congress. The user with the greatest number of votes shall be President if voted for by a majority of electors. If there is a tie, then the House shall vote and choose the President. If no user has the vote of a majority of electors, then from the five candidates with the most votes, the House will choose the President. In choosing the President, each server has one vote. A quorum is two-thirds of the servers. In every case, the user with the greatest number of votes after the President shall be the Vice President. If there are any remaining ties, the Senate will choose by ballot.%0a---%0a> The electors vote for both a President and Vice President which they shall sign and certify. The President of the Senate will count all the votes in the Congress. The candidates with a majority of votes will be elected. If no user has%0a> a majority, then the House shall choose from the candidates with five%0a> of the most votes. The votes will then be taken with one state receiving one vote. If there are any remaining ties, the Senate will choose by ballot.%0a +host:1613494377=198.251.81.119 +author:1613493395=jrmu +diff:1613493395:1613492269:=54c54,62%0a%3c %0a---%0a> No State shall, without the Consent of Congress, lay any Duty of%0a> Tonnage, keep Troops, or Ships of War in time of Peace, enter into any%0a> Agreement or Compact with another State, or with a foreign Power, or%0a> engage in War, unless actually invaded, or in such imminent Danger%0a> as will not admit of delay.%0a> %0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a> # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a> %0a56,64c64%0a%3c # A president and vice president will be elected once every 2 years.%0a%3c %0a%3c Each server will choose electors equal to its number of senators and representatives. These electors must not hold any other office.%0a%3c %0a%3c The electors vote for both a President and Vice President which they shall sign and certify. The President of the Senate will count all the votes in the Congress. The candidates with a majority of votes will be elected. If no user has%0a%3c a majority, then the House shall choose from the candidates with five%0a%3c of the most votes. The votes will then be taken with one state receiving one vote. If there are any remaining ties, the Senate will choose by ballot.%0a%3c %0a%3c He must have been an active, registered user for at least 4 years. No religious test will be required. The president must agree to uphold the constitution.%0a---%0a> # A president will be elected once every 2 years. He must have been an active, registered user for at least 4 years. No religious test will be required. The president must agree to uphold the constitution.%0a88,90c88%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a%3c %0a%3c # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a\ No newline at end of file%0a---%0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a\ No newline at end of file%0a +host:1613493395=198.251.81.119 +author:1613492269=jrmu +diff:1613492269:1613491231:=50c50%0a%3c No policy can give a commercial preference to one server over another.\\%0a---%0a> No commercial preference can be given to one server over another.\\%0a +host:1613492269=198.251.81.119 +author:1613491231=jrmu +diff:1613491231:1613480502:=46c46,48%0a%3c # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0a---%0a> # The Privilege of the Writ of Habeas Corpus shall not be suspended, unless%0a> when in Cases of Rebellion or Invasion the public Safety may require it.\\%0a> # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0a52,60c54,55%0a%3c No special social status shall be granted to any user; and no salaried officer is allowed to receive payments from competing networks without the approval of Congress.%0a%3c # No server may make a deal with another external network or organization or issue cryptocoins.%0a%3c No State shall, without the Consent of Congress, lay any Duty of%0a%3c Tonnage, keep Troops, or Ships of War in time of Peace, enter into any%0a%3c Agreement or Compact with another State, or with a foreign Power, or%0a%3c engage in War, unless actually invaded, or in such imminent Danger%0a%3c as will not admit of delay.%0a%3c %0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a---%0a> No special status shall be granted to any user; and no salaried officer is allowed to receive payments from competing networks without the approval of Congress.%0a> %0a61a57,59%0a> # A financial report of all revenues and expenses from the network must be published each year.%0a> # No server may make a deal with another network.%0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a +host:1613491231=198.251.81.119 +author:1613480502=jrmu +diff:1613480502:1613479604:=53,54c53,55%0a%3c No money can be taken from the Treasury except through policy by Congress; and a financial report shall be published periodically.\\%0a%3c No special status shall be granted to any user; and no salaried officer is allowed to receive payments from competing networks without the approval of Congress.%0a---%0a> No money can be taken from the Treasury except through policy by Congress; and a financial report shall be published periodically.%0a> # All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a> # A majority in either the house or the senate forms a quorum.%0a +host:1613480502=198.251.81.119 +author:1613479604=jrmu +diff:1613479604:1613479016:=7c7%0a%3c Representatives and user taxes will be in proportion to the number of verified, active users.\\%0a---%0a> Representatives and direct taxes will be in proportion to the number of verified, active users.\\%0a49,53c49,63%0a%3c The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.\\%0a%3c No user taxes are allowed unless in direct proportion to user counts.\\%0a%3c No transaction fees can be charged for services sold from any server.\\%0a%3c No commercial preference can be given to one server over another.\\%0a%3c No money can be taken from the Treasury except through policy by Congress; and a financial report shall be published periodically.%0a---%0a> The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.%0a> No Capitation, or other direct, Tax shall be laid, unless in Proportion%0a> to the Census or Enumeration herein before directed to be taken.%0a> %0a> No Tax or Duty shall be laid on Articles exported from any State.%0a> %0a> No Preference shall be given by any Regulation of Commerce or Revenue%0a> to the Ports of one State over those of another: nor shall Vessels bound to,%0a> or from, one State, be obliged to enter, clear, or pay Duties in another.%0a> %0a> No Money shall be drawn from the Treasury, but in Consequence%0a> of Appropriations made by Law; and a regular Statement and Account%0a> of the Receipts and Expenditures of all public Money shall be%0a> published from time to time.%0a> %0a57c67%0a%3c # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a---%0a> %0a +host:1613479604=198.251.81.119 +author:1613479016=jrmu +diff:1613479016:1613476846:=44,63c44,64%0a%3c # To exclusively decide all policy for all cases for the server chosen as network headquarters,%0a%3c # To make any policy needed to execute the above%0a%3c # The Privilege of the Writ of Habeas Corpus shall not be suspended, unless%0a%3c when in Cases of Rebellion or Invasion the public Safety may require it.\\%0a%3c # No user can be banned without a fair trial except during user revolts or external invasion if the network's safety requires it.\\%0a%3c The Congress is not allowed to ban users, and no one shall be punished for breaking a proposed policy before the policy is official.%0a%3c No Capitation, or other direct, Tax shall be laid, unless in Proportion%0a%3c to the Census or Enumeration herein before directed to be taken.%0a%3c %0a%3c No Tax or Duty shall be laid on Articles exported from any State.%0a%3c %0a%3c No Preference shall be given by any Regulation of Commerce or Revenue%0a%3c to the Ports of one State over those of another: nor shall Vessels bound to,%0a%3c or from, one State, be obliged to enter, clear, or pay Duties in another.%0a%3c %0a%3c No Money shall be drawn from the Treasury, but in Consequence%0a%3c of Appropriations made by Law; and a regular Statement and Account%0a%3c of the Receipts and Expenditures of all public Money shall be%0a%3c published from time to time.%0a%3c %0a---%0a> # Admit new servers%0a> %0a> To provide for organizing, arming, and disciplining, the Militia, and for%0a> governing such Part of them as may be employed in the Service of the%0a> United States, reserving to the States respectively, the Appointment%0a> of the Officers, and the Authority of training the militia according%0a> to the discipline prescribed by Congress;%0a> To exercise exclusive Legislation in all Cases whatsoever,%0a> over such District (not exceeding ten Miles square) as may,%0a> by Cession of particular States, and the Acceptance of Congress,%0a> become the Seat of the Government of the United States, and to%0a> exercise like Authority over all Places purchased by the Consent%0a> of the Legislature of the State in which the Same shall be,%0a> for the Erection of Forts, Magazines, Arsenals, Dockyards,%0a> and other needful Buildings;--And%0a> %0a> To make all Laws which shall be necessary and proper for carrying%0a> into Execution the foregoing Powers, and all other Powers vested%0a> by this Constitution in the Government of the United States,%0a> or in any Department or Officer thereof.%0a> %0a67c68,69%0a%3c %0a---%0a> # The congress is not allowed to ban users, and rules cannot be used to punish crimes committed before the rules are passed%0a> # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a +host:1613479016=198.251.81.119 +author:1613476846=jrmu +diff:1613476846:1613476479:=40,41c40,42%0a%3c # To raise and support coding forces, but any collection of money must be used within one year.%0a%3c # To provide for organizing, disciplining, and equipping minutemin. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a---%0a> # To regulate, organize, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a> of the Officers, and the Authority of training the militia according%0a> to the discipline prescribed by Congress;%0a +host:1613476846=125.224.24.204 +author:1613476479=jrmu +diff:1613476479:1613476440:=40c40%0a%3c # To regulate, organize, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a---%0a> # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a +host:1613476479=125.224.24.204 +author:1613476440=jrmu +diff:1613476440:1613476225:=40c40%0a%3c # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers have the right to appoint and train minutemin according to policies determined by Congress%0a---%0a> # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers are reserved the right to appoint and train minutemin according to policies determined by Congress%0a +host:1613476440=125.224.24.204 +author:1613476225=jrmu +diff:1613476225:1613476029:=40,42c40%0a%3c # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year. The servers are reserved the right to appoint and train minutemin according to policies determined by Congress%0a%3c of the Officers, and the Authority of training the militia according%0a%3c to the discipline prescribed by Congress;%0a---%0a> # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year%0a +host:1613476225=125.224.24.204 +author:1613476029=jrmu +diff:1613476029:1613471251:=40c40%0a%3c # To regulate, organize, train, discipline, equip, and support minutemin, but any collection of money must be used within one year%0a---%0a> # To regulate, organize, train, equip, and support minutemin, but any collection of money must be used within one year%0a +host:1613476029=125.224.24.204 +author:1613471251=jrmu +diff:1613471251:1613469485:=41c41%0a%3c # To provide for and regulate outreach to users on foreign networks%0a---%0a> # To provide for and regulate outreach to users from foreign networks%0a +host:1613471251=198.251.81.119 +author:1613469485=jrmu +diff:1613469485:1613468462:=39c39%0a%3c # To make deals with other networks, to boycott or to compete with them; and to offer bounties%0a---%0a> # To make deals with other networks, to boycott or to compete with them, and to offer bounties%0a41d40%0a%3c # To provide for and regulate outreach to users from foreign networks%0a +host:1613469485=198.251.81.119 +author:1613468462=jrmu +diff:1613468462:1613467155:=39c39%0a%3c # To make deals with other networks, to boycott or to compete with them, and to offer bounties%0a---%0a> # To make deals with other networks, to boycott them, or to compete with them%0a +host:1613468462=198.251.81.119 +author:1613467155=jrmu +diff:1613467155:1613466914:= +host:1613467155=198.251.81.119 +author:1613466914=jrmu +diff:1613466914:1613466302:=26c26%0a%3c # Congress has the power to:%0a---%0a> # The congress has the power to:%0a28c28%0a%3c # Tax transactions that involve an external organization. All such taxes must be uniform throughout the network%0a---%0a> # Tax transactions that involve a foreign network. All such taxes must be uniform throughout the network%0a31c31%0a%3c # Regulate trade among servers and with external networks and groups%0a---%0a> # Regulate trade among servers and with foreign networks and groups%0a40c40,41%0a%3c # To regulate, organize, train, equip, and support minutemin, but any collection of money must be used within one year%0a---%0a> # To regulate, organize, train, equip, and support minutemin, but any collection of money must be used within two years%0a> # To regulate minutemin%0a81c82%0a%3c # The judges will decide cases involving disputes between servers, and disputes between a server and an external organization.%0a---%0a> # The judges will decide cases involving disputes between servers, and disputes between a server and foreign network.%0a84c85%0a%3c # Each server is guaranteed a republican form of government, and the network shall protect each of them against external attacks.%0a---%0a> # Each server is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks.%0a +host:1613466914=198.251.81.119 +author:1613466302=jrmu +diff:1613466302:1613466258:=25c25%0a%3c All proposals must pass both House and Senate to become official network policy. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a---%0a> All policies must pass both House and Senate to become official network policy. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a +host:1613466302=198.251.81.119 +author:1613466258=jrmu +diff:1613466258:1613466181:= +host:1613466258=198.251.81.119 +author:1613466181=jrmu +diff:1613466181:1613399564:=5c5%0a%3c # Network policies will be created by Congress, which shall consist of a Senate and a House of Representatives.%0a---%0a> # Network laws will be created by Congress, which shall consist of a Senate and a House of Representatives.%0a16c16%0a%3c Impeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to network policy.%0a---%0a> Impeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to law.%0a24,25c24,25%0a%3c # All rules for raising money must begin in the House. The Senate may propose other policies.\\%0a%3c All policies must pass both House and Senate to become official network policy. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a---%0a> # All rules for raising money must begin in the House. The Senate may propose other bills.\\%0a> All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a +host:1613466181=198.251.81.119 +author:1613399564=jrmu +diff:1613399564:1613396567:= +host:1613399564=198.251.81.119 +author:1613396567=jrmu +diff:1613396567:1613396322:=40,41c40,41%0a%3c # To regulate, organize, train, equip, and support minutemin, but any collection of money must be used within two years%0a%3c # To regulate minutemin%0a---%0a> # To train and support coders and sysadmins, but any collection of money must be used within two years%0a> # To regulate coders and sysadmins%0a +host:1613396567=198.251.81.119 +author:1613396322=jrmu +diff:1613396322:1613396165:= +host:1613396322=198.251.81.119 +author:1613396165=jrmu +diff:1613396165:1613395266:=36,42c36,37%0a%3c # To promote the progress of science and art by securing their authors exclusive rights for limited times%0a%3c # To create courts inferior to the supreme Court;%0a%3c # To punish pirates, spammers, and ddosers%0a%3c # To make deals with other networks, to boycott them, or to compete with them%0a%3c # To train and support coders and sysadmins, but any collection of money must be used within two years%0a%3c # To regulate coders and sysadmins%0a%3c # To call the sysadmins to suppress user revolts and repel invasions%0a---%0a> # Decide upon protocols used across the network%0a> # Make deals with competitors and other networks%0a43a39,61%0a> # Punish abusers%0a> # %0a> To promote the Progress of Science and useful Arts, by securing%0a> for limited Times to Authors and Inventors the exclusive Right%0a> to their respective Writings and Discoveries;%0a> %0a> To constitute Tribunals inferior to the supreme Court;%0a> %0a> To define and punish Piracies and Felonies committed on the high Seas,%0a> and Offenses against the Law of Nations;%0a> %0a> To declare War, grant Letters of Marque and Reprisal,%0a> and make Rules concerning Captures on Land and Water;%0a> %0a> To raise and support Armies, but no Appropriation of Money to that Use%0a> shall be for a longer term than two Years;%0a> %0a> To provide and maintain a Navy;%0a> %0a> To make Rules for the Government and Regulation of the land and naval Forces;%0a> %0a> To provide for calling forth the Militia to execute the Laws of the Union,%0a> suppress Insurrections and repel Invasions;%0a +host:1613396165=198.251.81.119 +author:1613395266=jrmu +diff:1613395266:1613393609:=32,35c32,35%0a%3c # Establish a uniform rule for IRCitizenship and bankruptcies%0a%3c # Issue and regulate cryptocurrencies%0a%3c # Punish cryptocoin fraud%0a%3c # To establish network mail and chat services%0a---%0a> # Establish a uniform rule for IRCitizenship%0a> # Regulate cryptocurrencies%0a> # Set terms of service and privacy policies%0a> # Write copyright licenses%0a40c40,51%0a%3c # %0a---%0a> %0a> To establish an uniform Rule of Naturalization, and uniform Laws%0a> on the subject of Bankruptcies throughout the United States;%0a> %0a> To coin Money, regulate the Value thereof, and of foreign Coin,%0a> and fix the Standard of Weights and Measures;%0a> %0a> To provide for the Punishment of counterfeiting the Securities%0a> and current Coin of the United States;%0a> %0a> To establish Post Offices and Post Roads;%0a> %0a44d54%0a%3c %0a +host:1613395266=198.251.81.119 +author:1613393609=jrmu +diff:1613393609:1613393466:= +host:1613393609=198.251.81.119 +author:1613393466=jrmu +diff:1613393466:1613392562:=24,25c24,26%0a%3c # All rules for raising money must begin in the House. The Senate may propose other bills.\\%0a%3c All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a---%0a> # All rules for raising money must begin in the House. The Senate may propose other bills. All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a> # All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a> # A majority in either the house or the senate forms a quorum.%0a27,32c28,30%0a%3c # Tax servers%0a%3c # Tax transactions that involve a foreign network. All such taxes must be uniform throughout the network%0a%3c # Borrow money and pay debts%0a%3c # Provide for the common network defense and welfare%0a%3c # Regulate trade among servers and with foreign networks and groups%0a%3c # Establish a uniform rule for IRCitizenship%0a---%0a> # Charge fees for network-wide transactions%0a> # Collect fees from servers in proportion to user counts%0a> # Spend network funds%0a40,94d37%0a%3c %0a%3c To establish an uniform Rule of Naturalization, and uniform Laws%0a%3c on the subject of Bankruptcies throughout the United States;%0a%3c %0a%3c To coin Money, regulate the Value thereof, and of foreign Coin,%0a%3c and fix the Standard of Weights and Measures;%0a%3c %0a%3c To provide for the Punishment of counterfeiting the Securities%0a%3c and current Coin of the United States;%0a%3c %0a%3c To establish Post Offices and Post Roads;%0a%3c %0a%3c To promote the Progress of Science and useful Arts, by securing%0a%3c for limited Times to Authors and Inventors the exclusive Right%0a%3c to their respective Writings and Discoveries;%0a%3c To constitute Tribunals inferior to the supreme Court;%0a%3c %0a%3c To define and punish Piracies and Felonies committed on the high Seas,%0a%3c and Offenses against the Law of Nations;%0a%3c %0a%3c To declare War, grant Letters of Marque and Reprisal,%0a%3c and make Rules concerning Captures on Land and Water;%0a%3c %0a%3c To raise and support Armies, but no Appropriation of Money to that Use%0a%3c shall be for a longer term than two Years;%0a%3c %0a%3c To provide and maintain a Navy;%0a%3c %0a%3c To make Rules for the Government and Regulation of the land and naval Forces;%0a%3c %0a%3c To provide for calling forth the Militia to execute the Laws of the Union,%0a%3c suppress Insurrections and repel Invasions;%0a%3c %0a%3c To provide for organizing, arming, and disciplining, the Militia, and for%0a%3c governing such Part of them as may be employed in the Service of the%0a%3c United States, reserving to the States respectively, the Appointment%0a%3c of the Officers, and the Authority of training the militia according%0a%3c to the discipline prescribed by Congress;%0a%3c To exercise exclusive Legislation in all Cases whatsoever,%0a%3c over such District (not exceeding ten Miles square) as may,%0a%3c by Cession of particular States, and the Acceptance of Congress,%0a%3c become the Seat of the Government of the United States, and to%0a%3c exercise like Authority over all Places purchased by the Consent%0a%3c of the Legislature of the State in which the Same shall be,%0a%3c for the Erection of Forts, Magazines, Arsenals, Dockyards,%0a%3c and other needful Buildings;--And%0a%3c %0a%3c To make all Laws which shall be necessary and proper for carrying%0a%3c into Execution the foregoing Powers, and all other Powers vested%0a%3c by this Constitution in the Government of the United States,%0a%3c or in any Department or Officer thereof.%0a%3c %0a%3c # All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a%3c # A majority in either the house or the senate forms a quorum.%0a%3c %0a +host:1613393466=198.251.81.119 +author:1613392562=jrmu +diff:1613392562:1613382972:= +host:1613392562=198.251.81.119 +author:1613382972=jrmu +diff:1613382972:1613382283:=24c24%0a%3c # All rules for raising money must begin in the House. The Senate may propose other bills. All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses. All votes must then be recorded in the archive.%0a---%0a> # All rules for raising money must begin in the House. The Senate may propose other bills. All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses.%0a +host:1613382972=198.251.81.119 +author:1613382283=jrmu +diff:1613382283:1613380352:=23,24c23%0a%3c No user may simultaneously hold another paid network office while also being paid as a senator or representative.%0a%3c # All rules for raising money must begin in the House. The Senate may propose other bills. All bills must pass both House and Senate to become laws. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in both houses.%0a---%0a> No user may simultaneously hold another paid office while also being paid as a senator or representative.%0a25a25%0a> # All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-thirds majority in the senate.%0a +host:1613382283=198.251.81.119 +author:1613380352=jrmu +diff:1613380352:1613379508:=22c22%0a%3c # Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned when Congress meets.\\%0a---%0a> # Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned on the way to, during, or returning from Congress.\\%0a +host:1613380352=198.251.81.119 +author:1613379508=jrmu +diff:1613379508:1613379477:=21a22,31%0a> %0a> Section 6. The Senators and Representatives shall receive a Compensation%0a> for their Services, to be ascertained by Law, and paid out of the Treasury%0a> of the United States. %0a> No Senator or Representative shall, during the Time for which he was elected,%0a> be appointed to any civil Office under the authority of the United States,%0a> which shall have been created, or the Emoluments whereof shall have been%0a> increased during such time; and no Person holding any Office under the%0a> United States, shall be a Member of either House during his Continuance%0a> in Office.%0a +host:1613379508=198.251.81.119 +author:1613379477=jrmu +diff:1613379477:1613379469:= +host:1613379477=198.251.81.119 +author:1613379469=jrmu +diff:1613379469:1613379449:=32,33c32,35%0a%3c # Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned on the way to, during, or returning from Congress.\\%0a%3c No user may simultaneously hold another paid office while also being paid as a senator or representative.%0a---%0a> # Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned on the way to, during, or returning from Congress.%0a> (:if false:)%0a> No user may simultaneously hold another paid office while also being a senator or representative.%0a> (:endif:)%0a +host:1613379469=198.251.81.119 +author:1613379449=jrmu +diff:1613379449:1613377996:=22,35d21%0a%3c %0a%3c Section 6. The Senators and Representatives shall receive a Compensation%0a%3c for their Services, to be ascertained by Law, and paid out of the Treasury%0a%3c of the United States. %0a%3c No Senator or Representative shall, during the Time for which he was elected,%0a%3c be appointed to any civil Office under the authority of the United States,%0a%3c which shall have been created, or the Emoluments whereof shall have been%0a%3c increased during such time; and no Person holding any Office under the%0a%3c United States, shall be a Member of either House during his Continuance%0a%3c in Office.%0a%3c # Senators and representatives shall be compensated by the Network Treasury. Except for committing a real-world crime or network treason, they cannot be banned on the way to, during, or returning from Congress.%0a%3c (:if false:)%0a%3c No user may simultaneously hold another paid office while also being a senator or representative.%0a%3c (:endif:)%0a +host:1613379449=198.251.81.119 +author:1613377996=jrmu +diff:1613377996:1613377630:=21c21%0a%3c Each house shall publish an archive of its proceedings excluding parts that may require secrecy. Upon the request of one-fifth of the members, each members' vote can be recorded in the archive.%0a---%0a> Each house shall publish a journal of its proceedings excluding parts that may require secrecy. Upon the request of one-fifth of the members, each members' vote can be recorded in the journal.%0a +host:1613377996=198.251.81.119 +author:1613377630=jrmu +diff:1613377630:1613377140:=17c17%0a%3c # Each server manages its own elections, but Congress may regulate these elections.\\%0a---%0a> # Each server manages its own elections, but Congress may alter or regulate these elections.\\%0a +host:1613377630=198.251.81.119 +author:1613377140=jrmu +diff:1613377140:1613377056:=6c6%0a%3c # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age in his country. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a +host:1613377140=198.251.81.119 +author:1613377056=jrmu +diff:1613377056:1613375705:=16,17c16,17%0a%3c Impeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to law.%0a%3c # Each server manages its own elections, but Congress may alter or regulate these elections.\\%0a---%0a> Impeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to law.\\%0a> Each server manages its own elections, but Congress may alter or regulate these elections.\\%0a +host:1613377056=198.251.81.119 +author:1613375705=jrmu +diff:1613375705:1613375563:=7c7%0a%3c Representatives and direct taxes will be in proportion to the number of verified, active users.\\%0a---%0a> Representatives and direct taxes will be based on the number of verified, active users among the servers on the network.\\%0a +host:1613375705=198.251.81.119 +author:1613375563=jrmu +diff:1613375563:1613375525:=5c5%0a%3c # Network laws will be created by Congress, which shall consist of a Senate and a House of Representatives.%0a---%0a> # Network laws will be created by Congress, which shall consist of a senate and a house.%0a +host:1613375563=198.251.81.119 +author:1613375525=jrmu +diff:1613375525:1613375271:= +host:1613375525=198.251.81.119 +author:1613375271=jrmu +diff:1613375271:1613374773:=19,21d18%0a%3c # Each house judges its own elections and the qualifications of its members. A quorum is a simple majority. A smaller number may meet and compel attendance by penalizing absent members.\\%0a%3c Each house determines its own proceedings and how to punish disorderly behavior. A two-thirds majority vote is needed to expel a member.\\%0a%3c Each house shall publish a journal of its proceedings excluding parts that may require secrecy. Upon the request of one-fifth of the members, each members' vote can be recorded in the journal.%0a +host:1613375271=198.251.81.119 +author:1613374773=jrmu +diff:1613374773:1613373983:=13,18c13,17%0a%3c The Vice President is president of the senate but has no votes except to break ties.\\%0a%3c The Senate chooses their other Officers and a President pro tempore, who in the Absence of the Vice President, becomes President.\\%0a%3c The Senate has the sole power to try impeachments. When the President is tried, the Chief Justice shall preside. No user shall be convicted without a two-thirds majority of those present.\\%0a%3c Impeachment only removes and disqualifies from office. A convicted user, however, can still be subject to trial and punishment according to law.\\%0a%3c Each server manages its own elections, but Congress may alter or regulate these elections.\\%0a%3c Congress must meet at least once every six months.%0a---%0a> The Vice President shall be president of the senate but shall have no votes except to break ties.\\%0a> The Senate shall choose their other Officers and a President pro tempore, who in the Absence of the Vice President, shall exercise the Office of President.\\%0a> The Senate has the sole power to try impeachments for misconduct or not faithfully performing duties.\\%0a> When the President is tried, the Chief Justice shall preside. No user shall be convicted without a two-thirds majority of those present.\\%0a> Impeachment shall not go further than removal from and disqualification from office. A convicted user however can still be subject to trial according to law.%0a +host:1613374773=198.251.81.119 +author:1613373983=jrmu +diff:1613373983:1613373132:=14c14%0a%3c The Senate shall choose their other Officers and a President pro tempore, who in the Absence of the Vice President, shall exercise the Office of President.\\%0a---%0a> The Senate shall choose their other Officers and a President pro tempore. In the Absence of the Vice President, he shall exercise the Office of President.\\%0a +host:1613373983=198.251.81.119 +author:1613373132=jrmu +diff:1613373132:1613372940:= +host:1613373132=198.251.81.119 +author:1613372940=jrmu +diff:1613372940:1613372128:=8c8%0a%3c New representatives can be elected to fill vacancies.\\%0a---%0a> New representatives can be elected in any server to fill vacancies.\\%0a11c11%0a%3c Each year, one-third of the senators will be elected. New senators can be elected to fill vacancies.\\%0a---%0a> Each year, one-third of the senators will be elected.\\%0a +host:1613372940=198.251.81.119 +author:1613372128=jrmu +diff:1613372128:1613371386:=6c6%0a%3c # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using the server he represents.\\%0a---%0a> # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using that server.\\%0a10,17c10,34%0a%3c # Each server will choose one senator. Each senator gets one vote. Each senator serves for three years.\\%0a%3c Each year, one-third of the senators will be elected.\\%0a%3c No person can be a senator unless he is at least 21 years old. He must have been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using the server he represents.\\%0a%3c The Vice President shall be president of the senate but shall have no votes except to break ties.\\%0a%3c The Senate shall choose their other Officers and a President pro tempore. In the Absence of the Vice President, he shall exercise the Office of President.\\%0a%3c The Senate has the sole power to try impeachments for misconduct or not faithfully performing duties.\\%0a%3c When the President is tried, the Chief Justice shall preside. No user shall be convicted without a two-thirds majority of those present.\\%0a%3c Impeachment shall not go further than removal from and disqualification from office. A convicted user however can still be subject to trial according to law.%0a---%0a> # Each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using that server. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a> %0a> %0a> %0a> The Vice-President of the United States shall be President of the Senate,%0a> but shall have no Vote, unless they be equally divided.%0a> %0a> The Senate shall choose their other Officers, and also a President%0a> pro tempore, in the Absence of the Vice-President, or when he shall%0a> exercise the Office of President of the United States.%0a> %0a> The Senate shall have the sole Power to try all Impeachments.%0a> When sitting for that Purpose, they shall be on Oath or Affirmation.%0a> When the President of the United States is tried, the Chief Justice%0a> shall preside: And no Person shall be convicted without the Concurrence%0a> of two thirds of the Members present.%0a> %0a> Judgment in cases of Impeachment shall not extend further than to removal%0a> from Office, and disqualification to hold and enjoy any Office of honor,%0a> Trust or Profit under the United States: but the Party convicted shall%0a> nevertheless be liable and subject to Indictment, Trial, Judgment and%0a> Punishment, according to Law.%0a> %0a> %0a> %0a +host:1613372128=198.251.81.119 +author:1613371386=jrmu +diff:1613371386:1613371364:= +host:1613371386=198.251.81.119 +author:1613371364=jrmu +diff:1613371364:1613371003:=5,6c5,6%0a%3c # Network laws will be created by Congress, which shall consist of a senate and a house.%0a%3c # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user for at least 2 years. When elected and during his office, he must be using that server.\\%0a---%0a> # Rules will be created by a congress, which shall consist of a senate and a house.%0a> # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user on that server for at least 2 years.\\%0a10,34c10%0a%3c # Each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on the network for a minimum of 4 years. When elected and during his office, he must be using that server. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a%3c %0a%3c %0a%3c %0a%3c The Vice-President of the United States shall be President of the Senate,%0a%3c but shall have no Vote, unless they be equally divided.%0a%3c %0a%3c The Senate shall choose their other Officers, and also a President%0a%3c pro tempore, in the Absence of the Vice-President, or when he shall%0a%3c exercise the Office of President of the United States.%0a%3c %0a%3c The Senate shall have the sole Power to try all Impeachments.%0a%3c When sitting for that Purpose, they shall be on Oath or Affirmation.%0a%3c When the President of the United States is tried, the Chief Justice%0a%3c shall preside: And no Person shall be convicted without the Concurrence%0a%3c of two thirds of the Members present.%0a%3c %0a%3c Judgment in cases of Impeachment shall not extend further than to removal%0a%3c from Office, and disqualification to hold and enjoy any Office of honor,%0a%3c Trust or Profit under the United States: but the Party convicted shall%0a%3c nevertheless be liable and subject to Indictment, Trial, Judgment and%0a%3c Punishment, according to Law.%0a%3c %0a%3c %0a%3c %0a---%0a> # Each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a +host:1613371364=198.251.81.119 +author:1613371003=jrmu +diff:1613371003:1613370581:=6,9c6%0a%3c # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user on that server for at least 2 years.\\%0a%3c Representatives and direct taxes will be based on the number of verified, active users among the servers on the network.\\%0a%3c New representatives can be elected in any server to fill vacancies.\\%0a%3c The house shall choose their Speaker and other officers and have the sole power of impeachment.%0a---%0a> # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user on that server for at least 2 years. Representatives and direct taxes will be based on the number of verified, active users among the servers on the network.%0a10a8%0a> # The house has the sole power to impeach any officer.%0a +host:1613371003=198.251.81.119 +author:1613370581=jrmu +diff:1613370581:1612614350:=5,8c5,7%0a%3c # Rules will be created by a congress, which shall consist of a senate and a house.%0a%3c # Each year, each server will choose representatives for the house. No person may represent a server unless he has reached legal adult age. He must have been an active, verified user on that server for at least 2 years. Representatives and direct taxes will be based on the number of verified, active users among the servers on the network.%0a%3c # Each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a%3c # The house has the sole power to impeach any officer.%0a---%0a> # Rules will be created by a congress, which shall consist of a senate and a house. No religious test will be required.%0a> # Each year, each server will choose representatives for the house based on the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 2 years. The house has the sole power to impeach any officer.%0a> # In the senate, each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a +host:1613370581=198.251.81.119 +author:1612614350=jrmu +diff:1612614350:1606885813:=52c52%0a%3c # Punishment must fit the abuse and must not be excessive or cruel.%0a---%0a> # Punishment must fit the crime and must not be excessive or cruel.%0a +host:1612614350=198.251.81.119 +author:1606885813=jrmu +diff:1606885813:1606885760:=1c1%0a%3c WE THE USERS, to form a more perfect network, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a---%0a> We the users, to form a more perfect network, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a +host:1606885813=125.224.25.38 +author:1606885760=jrmu +diff:1606885760:1606885368:=13c13%0a%3c # Collect fees from servers in proportion to user counts%0a---%0a> # Charge fees in proportion to user counts%0a +host:1606885760=125.224.25.38 +author:1606885368=jrmu +diff:1606885368:1606882945:=46c46%0a%3c # Congress shall not make any rules to establish an official religion or to stop the free exercise of religion; or to stop the freedom of speech or the freedom of the press; or the right of the users to peaceably gather to petition the staff.%0a---%0a> # Congress shall make no rules to establish an official religion or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the staff.%0a48,51c48,51%0a%3c # No staff will be allowed, in time of peace, to log private data without the consent of the users. During an abuse investigation, such logging must be approved by Congress.%0a%3c # Users have a right to be secure from unreasonable searches of their personal information and data. Search warrants can be given only upon probable cause where the data to be searched and seized are described.%0a%3c # No user can be banned without a fair trial except during times of great danger; no user can be punished for the same reason twice; nor will a user be required to be a witness against himself; nor can a user be deprived of any money without a fair trial.%0a%3c # Accused users shall get a fast trial by a fair jury. They have a right to be informed of accusations; to be confronted with witnesses against him; and to be able to defend himself.%0a---%0a> # No sysadmin shall, in time of peace, log private data without the consent of the users; and during a criminal investigation, only in a manner approved by Congress.%0a> # The right of users to be secure in their personal information and data against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a> # No user can be banned without a fair trial, except during times of great danger; no user can be punished for the same reason twice; nor will he be required to be a witness against himself; nor can he be deprived of any money without a fair trial.%0a> # Accused users shall get a fast trial by a fair jury.%0a +host:1606885368=125.224.25.38 +author:1606882945=jrmu +diff:1606882945:1606882130:=46,47c46,47%0a%3c # Congress shall make no rules to establish an official religion or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the staff.%0a%3c # Free and open source software is necessary to the liberty of a free network, so the right of the users to the network's software shall not be restricted. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a---%0a> # Congress shall make no law to establish a religious denomination or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the staff.%0a> # Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a +host:1606882945=125.224.25.38 +author:1606882130=jrmu +diff:1606882130:1606881849:=21c21%0a%3c # Punish abusers%0a---%0a> # Punish abusers and criminals%0a25a26%0a> # Amendments to this constitution can be passed if 3/4ths of all servers approve.%0a34c35%0a%3c # The president has the right to pardon banned users. He also can appoint officers to help him with enforcing the rules.%0a---%0a> # The president has the right to pardon banned abusers. He also can appoint officers to help him with enforcing the rules.%0a40,41c41%0a%3c # Each server is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks.%0a%3c %0a---%0a> # Each server is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a46c46%0a%3c # Congress shall make no law to establish a religious denomination or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the staff.%0a---%0a> # Congress shall make no law to establish a religious denomination or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the network.%0a52c52%0a%3c # Punishment must fit the crime and must not be excessive or cruel.%0a---%0a> # Punishment must fit the crime and must not be excessive or cruel%0a +host:1606882130=125.224.25.38 +author:1606881849=jrmu +diff:1606881849:1606881770:=6,7c6,7%0a%3c # Each year, each server will choose representatives for the house based on the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 2 years. The house has the sole power to impeach any officer.%0a%3c # In the senate, each server will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a---%0a> # Each year, each team will choose representatives for the house based on the number of verified, active users in each server. No person may represent a team unless he has been an active, verified user on that team for at least 2 years. The house has the sole power to impeach any officer.%0a> # In the senate, each team will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that team for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a20c20%0a%3c # Admit new servers%0a---%0a> # Admit new teams%0a25,28c25,28%0a%3c # No server may make a deal with another network.%0a%3c # Amendments to this constitution can be passed if 3/4ths of all servers approve.%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a%3c %0a---%0a> # No team may make a deal with another network.%0a> # Amendments to this constitution can be passed if 3/4ths of all teams approve.%0a> # Any other powers not mentioned here which are not forbidden are reserved to the teams.%0a> %0a30c30%0a%3c # A president will be elected once every 2 years. He must have been an active, registered user for at least 4 years. No religious test will be required. The president must agree to uphold the constitution.%0a---%0a> # A president will be elected once every 2 years. He must have been an active, registered user for at least 8 years. No religious test will be required. The president must agree to uphold the constitution.%0a +host:1606881849=125.224.25.38 +author:1606881770=jrmu +diff:1606881770:1606881714:=23c23%0a%3c # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in congress%0a---%0a> # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a25,27c25,28%0a%3c # No team may make a deal with another network.%0a%3c # Amendments to this constitution can be passed if 3/4ths of all teams approve.%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the teams.%0a---%0a> # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a> # No server may make a deal with another network.%0a> # Amendments to this constitution can be passed if 3/4ths of all servers approve.%0a> # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a +host:1606881770=125.224.25.38 +author:1606881714=jrmu +diff:1606881714:1606881625:= +host:1606881714=125.224.25.38 +author:1606881625=jrmu +diff:1606881625:1606881508:=20c20%0a%3c # Admit new teams%0a---%0a> # Train and admit new servers%0a +host:1606881625=125.224.25.38 +author:1606881508=jrmu +diff:1606881508:1606881138:=6,7c6,7%0a%3c # Each year, each team will choose representatives for the house based on the number of verified, active users in each server. No person may represent a team unless he has been an active, verified user on that team for at least 2 years. The house has the sole power to impeach any officer.%0a%3c # In the senate, each team will choose one senator. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that team for a minimum of 3 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties; a two-thirds majority in the senate is needed.%0a---%0a> # Each year, servers will choose representatives for the house in proportion to the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 3 years. The house has the sole power to impeach any officer.%0a> # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties, and a two-thirds majority in the senate is needed.%0a9c9%0a%3c # All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-thirds majority in the senate.%0a---%0a> # All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-third majority in the senate.%0a13c13%0a%3c # Charge fees in proportion to user counts%0a---%0a> # Tax active users%0a +host:1606881508=125.224.25.38 +author:1606881138=jrmu +diff:1606881138:1606877741:=1,2c1,2%0a%3c We the users, to form a more perfect network, promote open standards, and secure liberty to our users, establish this constitution for IRCNow.%0a%3c %0a---%0a> We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for the common defence, promote open standards, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a> %0a5c5%0a%3c # Rules will be created by a congress, which shall consist of a senate and a house. No religious test will be required.%0a---%0a> # Rules will be created by a congress, which shall consist of a senate and house of representatives. No religious test will be required.%0a +host:1606881138=125.224.25.38 +author:1606877741=jrmu +diff:1606877741:1602897835:=18c18%0a%3c # Decide upon protocols used across the network%0a---%0a> # Decide upon services, software, and protocols used across the network%0a +host:1606877741=125.224.25.38 +author:1602897835=jrmu +diff:1602897835:1602897597:=47c47%0a%3c # Congress shall make no law to establish a religious denomination or to prohibit the free exercise of religion; or to abridge the freedom of speech, or of the press; or the right of the users to peaceably assemble to petition the network.%0a---%0a> # Congress and the servers shall make no rule to establish an official religious denomination; nor shall it prohibit the free exercise of religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a +host:1602897835=125.231.17.204 +author:1602897597=jrmu +diff:1602897597:1602897581:= +host:1602897597=125.231.17.204 +author:1602897581=jrmu +diff:1602897581:1597046370:=38c38,39%0a%3c # Judges will serve, under the condition of honorable behavior, for 2 years and will be appointed by the president, with the approval of the majority of the senate.%0a---%0a> # Content censorship policy will only be determined by the 66 books of the Bible.%0a> # Judges will serve for 2 years and must fit the qualifications of an elder in the Bible. They will be appointed from among the community of believers and must receive the approval of both the President and the majority of the senate.%0a +host:1602897581=125.231.17.204 +author:1597046370=jrmu +diff:1597046370:1597044768:=50c50%0a%3c # No sysadmin shall, in time of peace, log private data without the consent of the users; and during a criminal investigation, only in a manner approved by Congress.%0a---%0a> # No sysadmin shall, in time of peace, log private data without the consent of the users; and during a crime, only in a manner approved by Congress.%0a +host:1597046370=38.81.163.143 +author:1597044768=jrmu +diff:1597044768:1596936992:=50d49%0a%3c # No sysadmin shall, in time of peace, log private data without the consent of the users; and during a crime, only in a manner approved by Congress.%0a +host:1597044768=38.81.163.143 +author:1596936992=jrmu +diff:1596936992:1596936753:=39c39%0a%3c # Judges will serve for 2 years and must fit the qualifications of an elder in the Bible. They will be appointed from among the community of believers and must receive the approval of both the President and the majority of the senate.%0a---%0a> # Judges must fit the qualifications of an elder in the Bible. They will be appointed from among the community of believers and must receive the approval of both the President and the majority of the senate.%0a +host:1596936992=38.81.163.143 +author:1596936753=jrmu +diff:1596936753:1596935705:=38,40c38,39%0a%3c # Content censorship policy will only be determined by the 66 books of the Bible.%0a%3c # Judges must fit the qualifications of an elder in the Bible. They will be appointed from among the community of believers and must receive the approval of both the President and the majority of the senate.%0a%3c # The judges will decide cases involving disputes between servers, and disputes between a server and foreign network.%0a---%0a> # Judges must be Christians of good standing on the network. Content censorship policy will be determined by the 66 books of the Bible.%0a> # The judges will also decide cases involving disputes between servers, and disputes between a server and foreign network.%0a48c47%0a%3c # Congress and the servers shall make no rule to establish an official religious denomination; nor shall it prohibit the free exercise of religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a---%0a> # Congress and the servers shall make no rule to establish any official religious denomination; nor shall it prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a +host:1596936753=38.81.163.143 +author:1596935705=jrmu +diff:1596935705:1596935479:=38c38%0a%3c # Judges must be Christians of good standing on the network. Content censorship policy will be determined by the 66 books of the Bible.%0a---%0a> # Judges must be Christians of good standing on the network. Content censorship policy must be determined by the Bible alone.%0a +host:1596935705=38.81.163.143 +author:1596935479=jrmu +diff:1596935479:1596935371:=38c38%0a%3c # Judges must be Christians of good standing on the network. Content censorship policy must be determined by the Bible alone.%0a---%0a> # Judges must be Christians of good standing on the network. Content censorship policy is determined by the Bible alone.%0a +host:1596935479=38.81.163.143 +author:1596935371=jrmu +diff:1596935371:1596935129:= +host:1596935371=38.81.163.143 +author:1596935129=jrmu +diff:1596935129:1596935106:=47c47%0a%3c # Congress and the servers shall make no rule to establish any official religious denomination; nor shall it prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a---%0a> # Congress and the servers shall make no rule to establish any official denomination; nor shall it prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a +host:1596935129=38.81.163.143 +author:1596935106=jrmu +diff:1596935106:1596934947:=47c47%0a%3c # Congress and the servers shall make no rule to establish any official denomination; nor shall it prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a---%0a> # Congress and the servers shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a +host:1596935106=38.81.163.143 +author:1596934947=jrmu +diff:1596934947:1596364105:=6,7c6,7%0a%3c # Each year, servers will choose representatives for the house in proportion to the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 3 years. The house has the sole power to impeach any officer.%0a%3c # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties, and a two-thirds majority in the senate is needed.%0a---%0a> # Each year, servers will choose representatives for the house in proportion to the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 3 years. The house has the sole power to impeach the president.%0a> # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties. A two-thirds majority in the senate is needed.%0a38c38,39%0a%3c # Judges must be Christians of good standing on the network. Content censorship policy is determined by the Bible alone.%0a---%0a> # Judges shall be appointed by the Christian users of the network according to their separate constitution.%0a> # The judges, who must be Christians of good standing, decide on content censorship policy in accordance with the Bible.%0a +host:1596934947=38.81.163.143 +author:1596364105=jrmu +diff:1596364105:1596340571:=50c50%0a%3c # The right of users to be secure in their personal information and data against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a---%0a> # The right of the people to privacy against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a +host:1596364105=38.81.163.143 +author:1596340571=jrmu +diff:1596340571:1596339817:=47c47%0a%3c !! [[#billofrights]]User Bill of Rights%0a---%0a> !! User Bill of Rights%0a +host:1596340571=38.81.163.143 +author:1596339817=jrmu +diff:1596339817:1596339711:=54c54%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers and users.%0a\ No newline at end of file%0a---%0a> # Any other powers not mentioned here which are not forbidden are reserved to the subnets and users.%0a\ No newline at end of file%0a +host:1596339817=38.81.163.143 +author:1596339711=jrmu +diff:1596339711:1596338701:=1c1%0a%3c We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for the common defence, promote open standards, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a---%0a> We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for the common defence, promote open source software, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a +host:1596339711=38.81.163.143 +author:1596338701=jrmu +diff:1596338701:1596338665:=12,21c12,21%0a%3c # Charge fees for network-wide transactions%0a%3c # Tax active users%0a%3c # Spend network funds%0a%3c # Regulate cryptocurrencies%0a%3c # Set terms of service and privacy policies%0a%3c # Write copyright licenses%0a%3c # Decide upon services, software, and protocols used across the network%0a%3c # Make deals with competitors and other networks%0a%3c # Train and admit new servers%0a%3c # Punish abusers and criminals%0a---%0a> # # Charge fees for network-wide transactions%0a> # # Tax active users%0a> # # Spend network funds%0a> # # Regulate cryptocurrencies%0a> # # Set terms of service and privacy policies%0a> # # Write copyright licenses%0a> # # Decide upon services, software, and protocols used across the network%0a> # # Make deals with competitors and other networks%0a> # # Train and admit new servers%0a> # # Punish abusers and criminals%0a +host:1596338701=38.81.163.143 +author:1596338665=jrmu +diff:1596338665:1596338533:=38c38%0a%3c # Judges shall be appointed by the Christian users of the network according to their separate constitution.%0a---%0a> # Judges shall be appointed by the Christian users of the network according to their constitution.%0a +host:1596338665=38.81.163.143 +author:1596338533=jrmu +diff:1596338533:1596338443:=7c7%0a%3c # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments for misconduct or not faithfully performing duties. A two-thirds majority in the senate is needed.%0a---%0a> # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a22a23%0a> # Each house has the power to ban its own members for misconduct or for not faithfully performing duties with a two-thirds majority vote.%0a +host:1596338533=38.81.163.143 +author:1596338443=jrmu +diff:1596338443:1596289357:=39c39%0a%3c # Judges shall be appointed by the Christian users of the network according to their constitution.%0a---%0a> # Judges shall be appointed by the Christian church.%0a +host:1596338443=38.81.163.143 +author:1596289357=jrmu +diff:1596289357:1596188485:=49c49%0a%3c # Congress and the servers shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible; nor shall Congress abridge the freedom of speech on issues not forbidden by the Bible; or the right of the people to peaceably petition the staff for a redress of grievances.%0a---%0a> # Congress and the servers shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible; or abridging the freedom to speak on topics not forbidden by the Bible; or the right of the people to peaceably petition the staff.%0a +host:1596289357=38.81.163.143 +author:1596188485=jrmu +diff:1596188485:1596188029:=6,7c6,7%0a%3c # Each year, servers will choose representatives for the house in proportion to the number of verified, active users in each server. No person may represent a server unless he has been an active, verified user on that server for at least 3 years. The house has the sole power to impeach the president.%0a%3c # In the senate, each server will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that server for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a---%0a> # Each year, subnets will choose representatives for the house in proportion to the number of verified, active users in each subnet. No person may represent a subnet unless he has been an active, verified user on that subnet for at least 3 years. The house has the sole power to impeach the president.%0a> # In the senate, each subnet will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that subnet for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a20c20%0a%3c # # Train and admit new servers%0a---%0a> # # Train and admit new subnets%0a27,30c27,30%0a%3c # No server may make a deal with another network.%0a%3c # Amendments to this constitution can be passed if 3/4ths of all servers approve.%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the servers.%0a%3c %0a---%0a> # No subnet may make a deal with another network.%0a> # Amendments to this constitution can be passed if 3/4ths of all subnets approve.%0a> # Any other powers not mentioned here which are not forbidden are reserved to the subnets.%0a> %0a33c33%0a%3c # The president will be elected by the servers. Each server gets votes equal to the number of its senators plus representatives.%0a---%0a> # The president will be elected by the subnets. Each subnet gets votes equal to the number of its senators plus representatives.%0a40,41c40,41%0a%3c # The judges, who must be Christians of good standing, decide on content censorship policy in accordance with the Bible.%0a%3c # The judges will also decide cases involving disputes between servers, and disputes between a server and foreign network.%0a---%0a> # The judges, who must be Christians of good standing, decide on content moderation policy in accordance with the Bible.%0a> # The judges will also decide cases involving disputes between subnets, and disputes between a subnet and foreign network.%0a43,44c43,44%0a%3c # New servers may be admitted by the congress into the network, but not as a result of a split without the server's permission.%0a%3c # Each server is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a---%0a> # New subnets may be admitted by the congress into the network, but not as a result of a split without the subnet's permission.%0a> # Each subnet is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a46,47c46,47%0a%3c # Amendments to this constitution can be made if 3/4ths of all servers agree.%0a%3c %0a---%0a> # Amendments to this constitution can be made if 3/4ths of all subnets agree.%0a> %0a49c49%0a%3c # Congress and the servers shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible; or abridging the freedom to speak on topics not forbidden by the Bible; or the right of the people to peaceably petition the staff.%0a---%0a> # Congress and the subnets shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible.%0a +host:1596188485=38.81.163.143 +author:1596188029=jrmu +diff:1596188029:1596187935:=1c1%0a%3c We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for the common defence, promote open source software, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a---%0a> We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for our network defence, promote open source software, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a +host:1596188029=38.81.163.143 +author:1596187935=jrmu +diff:1596187935:1596187693:=3,55c3,53%0a%3c !! Article I%0a%3c %0a%3c # Rules will be created by a congress, which shall consist of a senate and house of representatives. No religious test will be required.%0a%3c # Each year, subnets will choose representatives for the house in proportion to the number of verified, active users in each subnet. No person may represent a subnet unless he has been an active, verified user on that subnet for at least 3 years. The house has the sole power to impeach the president.%0a%3c # In the senate, each subnet will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that subnet for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a%3c # All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a%3c # All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-third majority in the senate.%0a%3c # A majority in either the house or the senate forms a quorum.%0a%3c # The congress has the power to:%0a%3c # # Charge fees for network-wide transactions%0a%3c # # Tax active users%0a%3c # # Spend network funds%0a%3c # # Regulate cryptocurrencies%0a%3c # # Set terms of service and privacy policies%0a%3c # # Write copyright licenses%0a%3c # # Decide upon services, software, and protocols used across the network%0a%3c # # Make deals with competitors and other networks%0a%3c # # Train and admit new subnets%0a%3c # # Punish abusers and criminals%0a%3c # The congress is not allowed to ban users, and rules cannot be used to punish crimes committed before the rules are passed%0a%3c # Each house has the power to ban its own members for misconduct or for not faithfully performing duties with a two-thirds majority vote.%0a%3c # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a%3c # A financial report of all revenues and expenses from the network must be published each year.%0a%3c # Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a%3c # No subnet may make a deal with another network.%0a%3c # Amendments to this constitution can be passed if 3/4ths of all subnets approve.%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the subnets.%0a%3c %0a%3c !! Article II%0a%3c # A president will be elected once every 2 years. He must have been an active, registered user for at least 8 years. No religious test will be required. The president must agree to uphold the constitution.%0a%3c # The president will be elected by the subnets. Each subnet gets votes equal to the number of its senators plus representatives.%0a%3c # The president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a%3c # The president's duty is to enforce the rules of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a%3c # If the president is unable to fulfill his duty, the vice president will take his place. If the vice president is unable, then the house will vote for the president.%0a%3c # The president has the right to pardon banned abusers. He also can appoint officers to help him with enforcing the rules.%0a%3c !! Article III%0a%3c # Judges shall be appointed by the Christian church.%0a%3c # The judges, who must be Christians of good standing, decide on content moderation policy in accordance with the Bible.%0a%3c # The judges will also decide cases involving disputes between subnets, and disputes between a subnet and foreign network.%0a%3c !! Article IV%0a%3c # New subnets may be admitted by the congress into the network, but not as a result of a split without the subnet's permission.%0a%3c # Each subnet is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a%3c !! Article V%0a%3c # Amendments to this constitution can be made if 3/4ths of all subnets agree.%0a%3c %0a%3c !! User Bill of Rights%0a%3c # Congress and the subnets shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible.%0a%3c # Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a%3c # The right of the people to privacy against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a%3c # No user can be banned without a fair trial, except during times of great danger; no user can be punished for the same reason twice; nor will he be required to be a witness against himself; nor can he be deprived of any money without a fair trial.%0a%3c # Accused users shall get a fast trial by a fair jury.%0a%3c # Punishment must fit the crime and must not be excessive or cruel%0a%3c # Any other powers not mentioned here which are not forbidden are reserved to the subnets and users.%0a\ No newline at end of file%0a---%0a> === Article I ===%0a> - Rules will be created by a congress, which shall consist of a senate and house of representatives. No religious test will be required.%0a> - Each year, subnets will choose representatives for the house in proportion to the number of verified, active users in each subnet. No person may represent a subnet unless he has been an active, verified user on that subnet for at least 3 years. The house has the sole power to impeach the president.%0a> - In the senate, each subnet will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that subnet for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a> - All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a> - All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-third majority in the senate.%0a> - A majority in either the house or the senate forms a quorum.%0a> - The congress has the power to:%0a> - Charge fees for network-wide transactions%0a> - Tax active users%0a> - Spend network funds%0a> - Regulate cryptocurrencies%0a> - Set terms of service and privacy policies%0a> - Write copyright licenses%0a> - Decide upon services, software, and protocols used across the network%0a> - Make deals with competitors and other networks%0a> - Train and admit new subnets%0a> - Punish abusers and criminals%0a> - The congress is not allowed to ban users, and rules cannot be used to punish crimes committed before the rules are passed%0a> - Each house has the power to ban its own members for misconduct or for not faithfully performing duties with a two-thirds majority vote.%0a> - Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a> - A financial report of all revenues and expenses from the network must be published each year.%0a> - Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a> - No subnet may make a deal with another network.%0a> - Amendments to this constitution can be passed if 3/4ths of all subnets approve.%0a> - Any other powers not mentioned here which are not forbidden are reserved to the subnets.%0a> === Article II ===%0a> - A president will be elected once every 2 years. He must have been an active, registered user for at least 8 years. No religious test will be required. The president must agree to uphold the constitution.%0a> - The president will be elected by the subnets. Each subnet gets votes equal to the number of its senators plus representatives.%0a> - The president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a> - The president's duty is to enforce the rules of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a> - If the president is unable to fulfill his duty, the vice president will take his place. If the vice president is unable, then the house will vote for the president.%0a> - The president has the right to pardon banned abusers. He also can appoint officers to help him with enforcing the rules.%0a> === Article III ===%0a> - Judges shall be appointed by the Christian church.%0a> - The judges, who must be Christians of good standing, decide on content moderation policy in accordance with the Bible.%0a> - The judges will also decide cases involving disputes between subnets, and disputes between a subnet and foreign network.%0a> === Article IV === %0a> - New subnets may be admitted by the congress into the network, but not as a result of a split without the subnet's permission.%0a> - Each subnet is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a> === Article V === %0a> - Amendments to this constitution can be made if 3/4ths of all subnets agree.%0a> %0a> === User Bill of Rights ===%0a> - Congress and the subnets shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible.%0a> - Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a> - The right of the people to privacy against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a> - No user can be banned without a fair trial, except during times of great danger; no user can be punished for the same reason twice; nor will he be required to be a witness against himself; nor can he be deprived of any money without a fair trial.%0a> - Accused users shall get a fast trial by a fair jury.%0a> - Punishment must fit the crime and must not be excessive or cruel%0a> - Any other powers not mentioned here which are not forbidden are reserved to the subnets and users.%0a\ No newline at end of file%0a +host:1596187935=38.81.163.143 +author:1596187693=jrmu +diff:1596187693:1596187693:=1,53d0%0a%3c We the users of the free and open source community, in order to form a more perfect network, establish justice, ensure chat tranquility, provide for our network defence, promote open source software, and secure the blessings of liberty to ourselves and future users, establish this constitution for IRCNow.%0a%3c %0a%3c === Article I ===%0a%3c - Rules will be created by a congress, which shall consist of a senate and house of representatives. No religious test will be required.%0a%3c - Each year, subnets will choose representatives for the house in proportion to the number of verified, active users in each subnet. No person may represent a subnet unless he has been an active, verified user on that subnet for at least 3 years. The house has the sole power to impeach the president.%0a%3c - In the senate, each subnet will choose two senators. Each senator gets one vote. Each senator serves for three years. Each year, one-third of the senators will be elected. No person can be a senator who has not been an active, verified user on that subnet for a minimum of 5 years. The vice president shall lead the senate. The senate has the sole power to try impeachments. A two-thirds majority in the senate is needed.%0a%3c - All officers must report any gifts or income received from competing businesses. After the network begins paying salaries, no officer is allowed to receive any gifts or income from competing businesses without the approval of congress.%0a%3c - All rules for raising money must begin in the house and later passed in the senate. The president has 10 days to veto it, but this can be overturned if there is a two-thirds majority in the house and a two-third majority in the senate.%0a%3c - A majority in either the house or the senate forms a quorum.%0a%3c - The congress has the power to:%0a%3c - Charge fees for network-wide transactions%0a%3c - Tax active users%0a%3c - Spend network funds%0a%3c - Regulate cryptocurrencies%0a%3c - Set terms of service and privacy policies%0a%3c - Write copyright licenses%0a%3c - Decide upon services, software, and protocols used across the network%0a%3c - Make deals with competitors and other networks%0a%3c - Train and admit new subnets%0a%3c - Punish abusers and criminals%0a%3c - The congress is not allowed to ban users, and rules cannot be used to punish crimes committed before the rules are passed%0a%3c - Each house has the power to ban its own members for misconduct or for not faithfully performing duties with a two-thirds majority vote.%0a%3c - Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a%3c - A financial report of all revenues and expenses from the network must be published each year.%0a%3c - Users who are banned or frozen have the right to appeal to a higher court except during times of emergencies as approved by vote in the network council%0a%3c - No subnet may make a deal with another network.%0a%3c - Amendments to this constitution can be passed if 3/4ths of all subnets approve.%0a%3c - Any other powers not mentioned here which are not forbidden are reserved to the subnets.%0a%3c === Article II ===%0a%3c - A president will be elected once every 2 years. He must have been an active, registered user for at least 8 years. No religious test will be required. The president must agree to uphold the constitution.%0a%3c - The president will be elected by the subnets. Each subnet gets votes equal to the number of its senators plus representatives.%0a%3c - The president must report any gifts or income received from competing businesses. After the network begins paying salaries, the president cannot receive any gifts or income from competing businesses.%0a%3c - The president's duty is to enforce the rules of the network. He has the power to make deals with competitors and other networks provided he has 2/3rds support of the senate.%0a%3c - If the president is unable to fulfill his duty, the vice president will take his place. If the vice president is unable, then the house will vote for the president.%0a%3c - The president has the right to pardon banned abusers. He also can appoint officers to help him with enforcing the rules.%0a%3c === Article III ===%0a%3c - Judges shall be appointed by the Christian church.%0a%3c - The judges, who must be Christians of good standing, decide on content moderation policy in accordance with the Bible.%0a%3c - The judges will also decide cases involving disputes between subnets, and disputes between a subnet and foreign network.%0a%3c === Article IV === %0a%3c - New subnets may be admitted by the congress into the network, but not as a result of a split without the subnet's permission.%0a%3c - Each subnet is guaranteed a republican form of government, and the network shall protect each of them against foreign attacks%0a%3c === Article V === %0a%3c - Amendments to this constitution can be made if 3/4ths of all subnets agree.%0a%3c %0a%3c === User Bill of Rights ===%0a%3c - Congress and the subnets shall make no rule to prohibit the free exercise of the Christian religion as taught by the Bible.%0a%3c - Free and open source software, being necessary to the liberty of a free network, the right of the users to software used by the network shall not be infringed. Users have the right to use, modify, copy, and distribute any and all of the software used on the network, for any purpose and at any price without needing to ask for permission.%0a%3c - The right of the people to privacy against unreasonable searches and seizures shall not be violated. Search warrants can be given only upon probable cause where the items to be searched and seized are described.%0a%3c - No user can be banned without a fair trial, except during times of great danger; no user can be punished for the same reason twice; nor will he be required to be a witness against himself; nor can he be deprived of any money without a fair trial.%0a%3c - Accused users shall get a fast trial by a fair jury.%0a%3c - Punishment must fit the crime and must not be excessive or cruel%0a%3c - Any other powers not mentioned here which are not forbidden are reserved to the subnets and users.%0a\ No newline at end of file%0a +host:1596187693=38.81.163.143 blob - /dev/null blob + 677289489a5d72346308b4dd5faa6693d42f3148 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Contact @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596460932 +host=125.231.64.214 +name=Ircnow.Contact +rev=4 +targets=Ircnow.Servers,Irc.Guide +text=(:title Contact Us:)%0a%0aThe best way to reach our team is over IRC, of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL. ([[ircnow/servers|Full list of servers]])%0a%0aIf you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a%0aIRCNow is applying to be a not-for-profit organization.%0a%0aUS Phone Number: 1(458)888-2063\\%0aCustomer Support Email: ''support''(a)'''ircnow'''.org\\%0aAdmin Email: ''admin''(a)'''ircnow'''.org\\%0aAbuse Email: ''abuse''(a)'''ircnow'''.org +time=1609298317 +title=Contact Us +author:1609298317=jrmu +diff:1609298317:1597534948:=9a10%0a> Business Mailing Address: PO Box 35-48 Taichung 40699\\%0a +host:1609298317=125.231.64.214 +author:1597534948=gry +csum:1597534948=+ +diff:1597534948:1597030020:=4,5d3%0a%3c %0a%3c If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a +host:1597534948=203.129.25.247 +author:1597030020=jrmu +diff:1597030020:1596460932:=11c11%0a%3c Abuse Email: ''abuse''(a)'''ircnow'''.org%0a\ No newline at end of file%0a---%0a> Abuse Email: ''abuse''(a)'''ircnow'''.org\\%0a\ No newline at end of file%0a +host:1597030020=38.81.163.143 +author:1596460932=jrmu +diff:1596460932:1596460932:=1,11d0%0a%3c (:title Contact Us:)%0a%3c %0a%3c The best way to reach our team is over IRC, of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL. ([[ircnow/servers|Full list of servers]])%0a%3c %0a%3c IRCNow is applying to be a not-for-profit organization.%0a%3c %0a%3c US Phone Number: 1(458)888-2063\\%0a%3c Business Mailing Address: PO Box 35-48 Taichung 40699\\%0a%3c Customer Support Email: ''support''(a)'''ircnow'''.org\\%0a%3c Admin Email: ''admin''(a)'''ircnow'''.org\\%0a%3c Abuse Email: ''abuse''(a)'''ircnow'''.org\\%0a\ No newline at end of file%0a +host:1596460932=38.81.163.143 blob - /dev/null blob + d4e7182f247243a9286a2986c05a2ecc3c8e2745 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Course @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum= +ctime=1597959838 +host=203.129.25.247 +name=Ircnow.Course +rev=4 +targets= +text= +time=1597986106 +author:1597986106=gry +diff:1597986106:1597984366:=0a1,21%0a> - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a> %0a> - [[openbsd.hopm]] - check that it detects and bans tor%0a> %0a> - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a> %0a> - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a> %0a> - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a> %0a> - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a> %0a> - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a> %0a> - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a> %0a> - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a> %0a> - [[Openbsd.opensmtpd]] - send and receive one email%0a> %0a> - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a\ No newline at end of file%0a +host:1597986106=203.129.25.247 +author:1597984366=gry +csum:1597984366=+ +diff:1597984366:1597983847:=1,21c1,12%0a%3c - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%3c %0a%3c - [[openbsd.hopm]] - check that it detects and bans tor%0a%3c %0a%3c - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%3c %0a%3c - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%3c %0a%3c - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%3c %0a%3c - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%3c %0a%3c - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a%3c %0a%3c - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%3c %0a%3c - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send and receive one email%0a%3c %0a%3c - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a\ No newline at end of file%0a---%0a> - [[openbsd.ngircd]]%0a> - [[openbsd.hopm]]%0a> - [[openbsd.znc]]%0a> - [[openbsd.openhttpd]]%0a> - [[openbsd.acme-client]]%0a> - [[openbsd.znc]]%0a> - [[openbsd.relayd]]%0a> - [[openbsd.oidentd]]%0a> - [[Openbsd.Eggdrop]]%0a> - [[Openbsd.nsd]]%0a> - [[Openbsd.opensmtpd]]%0a> - [[Openbsd.Vhost]]%0a\ No newline at end of file%0a +host:1597984366=203.129.25.247 +author:1597983847=gry +csum:1597983847=+ +diff:1597983847:1597959838:=11,12c11%0a%3c - [[Openbsd.opensmtpd]]%0a%3c - [[Openbsd.Vhost]]%0a\ No newline at end of file%0a---%0a> - [[Openbsd.opensmtpd]]%0a\ No newline at end of file%0a +host:1597983847=203.129.25.247 +author:1597959838=gry +csum:1597959838=+ +diff:1597959838:1597959838:=1,11d0%0a%3c - [[openbsd.ngircd]]%0a%3c - [[openbsd.hopm]]%0a%3c - [[openbsd.znc]]%0a%3c - [[openbsd.openhttpd]]%0a%3c - [[openbsd.acme-client]]%0a%3c - [[openbsd.znc]]%0a%3c - [[openbsd.relayd]]%0a%3c - [[openbsd.oidentd]]%0a%3c - [[Openbsd.Eggdrop]]%0a%3c - [[Openbsd.nsd]]%0a%3c - [[Openbsd.opensmtpd]]%0a\ No newline at end of file%0a +host:1597959838=203.129.25.247 blob - /dev/null blob + 3e73ac3708f8882c57f12b17cd5726d744b932d8 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Diversity @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1633668742 +host=125.224.22.161 +name=Ircnow.Diversity +rev=8 +targets=Freedom.Freedom,Vps.Vps,Shell.Shell,Ircnow.Servers,Openbsd.Vmmuser,Vmm.Configure,Vmm.DebianIso,Vmm.DevuanIso,Vmm.UbuntuIso,Minutemin.Bootcamp,Ircnow.Goals,Ircnow.Minutemin +text=(:title Run Your Favorite OS on OpenBSD VMM:)%0a%0a!! Free 4-Week Virtual Private Server With Any Supported OS%0a%0aTo ensure that IRCNow is a network that the users control, able to run%0asoftware that users love, we are planning to add support for any free/open source%0aoperating system on our virtual machines. Our hypervisor is running OpenBSD,%0aand we need your help to add support for your favorite operating system%0ato run as guest.%0a%0aWe are offering free a 4-week trial to help test and set up the VPS.%0a%0a'''WARNING''': We make no claims or guarantees that your OS will work on OpenBSD VMM. This is purely experimental.%0a%0a!! Your Responsibilities%0a%0a'''You must agree to''':%0a%0a# Document installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a# Participate in the IRCNow community on IRC and email, and help with occasional tech support%0a# Help contribute code%0a%0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! How to Apply%0a%0a# If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a# Send an email to admin@ircnow.org%0a# Get verified using any one method below:%0a # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a # Provide a photo ID, or%0a # Provide personal social media/website/blog/work portfolio/resume%0a # Send $0.01 one cent using an accepted payment option%0a%0a!! Get Familiar%0a%0a# Read up on [[openbsd/vmmuser|OpenBSD's VMM]]. Learn how [[vmm/configure|VMM is configured]].%0a# See the [[Vmm/DebianIso|Debian]], [[Vmm/DevuanIso|Devuan]], and [[Vmm/UbuntuIso|Ubuntu]] installation guides.%0a# '''RECOMMENDED''': Go through the [[minutemin/bootcamp|OpenBSD minutemin training]].%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +time=1633748187 +title=Run Your Favorite OS on OpenBSD VMM +author:1633748187=jrmu +diff:1633748187:1633746660:=17,19c17%0a%3c '''You must agree to''':%0a%3c %0a%3c # Document installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a---%0a> # Documenting installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a +host:1633748187=125.224.22.161 +author:1633746660=jrmu +diff:1633746660:1633737120:=12,13d11%0a%3c %0a%3c '''WARNING''': We make no claims or guarantees that your OS will work on OpenBSD VMM. This is purely experimental.%0a +host:1633746660=125.224.22.161 +author:1633737120=jrmu +diff:1633737120:1633669636:=13c13,15%0a%3c !! Your Responsibilities%0a---%0a> !! Call for Help%0a> %0a> Your responsibilities will include:%0a +host:1633737120=125.224.22.161 +author:1633669636=jrmu +diff:1633669636:1633669588:=17,18c17,20%0a%3c # Documenting installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a%3c # Participate in the IRCNow community on IRC and email, and help with occasional tech support%0a---%0a> # Documenting installation, configuration, and usage of your favorite%0a> OS inside OpenBSD VMM%0a> # Participate in the IRCNow community on IRC and email, and help with occasional%0a> tech support%0a +host:1633669636=125.224.22.161 +author:1633669588=jrmu +diff:1633669588:1633668952:=45,50d44%0a%3c %0a%3c !! Get Familiar%0a%3c %0a%3c # Read up on [[openbsd/vmmuser|OpenBSD's VMM]]. Learn how [[vmm/configure|VMM is configured]].%0a%3c # See the [[Vmm/DebianIso|Debian]], [[Vmm/DevuanIso|Devuan]], and [[Vmm/UbuntuIso|Ubuntu]] installation guides.%0a%3c # '''RECOMMENDED''': Go through the [[minutemin/bootcamp|OpenBSD minutemin training]].%0a +host:1633669588=125.224.22.161 +author:1633668952=jrmu +diff:1633668952:1633668850:=8,9c8%0a%3c and we need your help to add support for your favorite operating system%0a%3c to run as guest.%0a---%0a> and we need your help to add support for your favorite OS to run as guest.%0a +host:1633668952=125.224.22.161 +author:1633668850=jrmu +diff:1633668850:1633668742:=14c14%0a%3c Your responsibilities will include:%0a---%0a> We need your help with:%0a +host:1633668850=125.224.22.161 +author:1633668742=jrmu +diff:1633668742:1633668742:=1,50d0%0a%3c (:title Run Your Favorite OS on OpenBSD VMM:)%0a%3c %0a%3c !! Free 4-Week Virtual Private Server With Any Supported OS%0a%3c %0a%3c To ensure that IRCNow is a network that the users control, able to run%0a%3c software that users love, we are planning to add support for any free/open source%0a%3c operating system on our virtual machines. Our hypervisor is running OpenBSD,%0a%3c and we need your help to add support for your favorite OS to run as guest.%0a%3c %0a%3c We are offering free a 4-week trial to help test and set up the VPS.%0a%3c %0a%3c !! Call for Help%0a%3c %0a%3c We need your help with:%0a%3c %0a%3c # Documenting installation, configuration, and usage of your favorite%0a%3c OS inside OpenBSD VMM%0a%3c # Participate in the IRCNow community on IRC and email, and help with occasional%0a%3c tech support%0a%3c # Help contribute code%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a%3c # Send an email to admin@ircnow.org%0a%3c # Get verified using any one method below:%0a%3c # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a%3c # Provide a photo ID, or%0a%3c # Provide personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using an accepted payment option%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +host:1633668742=125.224.22.161 blob - /dev/null blob + ced8f8cc7cb414d5ce5029ddf676ea7b7664f6cd (mode 644) --- /dev/null +++ wiki.d/Ircnow.Explorer @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1633864550 +host=38.87.162.8 +name=Ircnow.Explorer +rev=14 +targets=Ircnow.Servers,9.Bootcamp,9.Account,Vps.Vps,Ircnow.Goals,Ircnow.Codeforce +text=(:title Explore the Uncharted Frontier:)%0a%0a%25width=50pct rfloat%25 Attach:Marketing/sacagawea.jpg%0a%0a!! Build the Future with Plan 9%0a%0aCome learn Plan 9 with us and help us '''build the future of operating systems'''.%0a%0aFor the last thirty years, the computer landscape has been dominated by UNIX-like clones. But all that is about to change for the free software community thanks to Plan 9.%0a%0a!! Help Change Computing Forever%0a%0aPlan 9 was created by the original UNIX team from Bell Labs, the same all-star team that invented Unix and the C language. Its contributors included Rob Pike, Ken Thompson, Brian Kernighan, Dennis Ritchie, and Bjarne Stroustrup.%0a%0a%25width=50pct rfloat%25 Attach:plan9-desktop.jpg%0a%0a!! Plan 9 Innovations %0a%0aPlan 9 follows the UNIX philosophy more than UNIX itself:%0a%0a* It takes the simple idea that every interface should be a file and extends that to everything: the keyboard, mouse, sound card, windowing system, and network resources.%0a* It creates a unique name space for each process so that each process sees a unique file system.%0a%0aPlan 9 is a '''distributed services''' operating system designed with the global internet in mind. Its elegant design will make it possible to easily set up clusters and grids of servers in a way never before possible with Unix-like clones.%0a%0a!! Watch a Live Demo%0a%0aWe can give you a [[https://jrmu.host.ircnow.org/plan9.webm|tour]] of Plan 9. Join us at [[Ircnow/Servers|IRCNow]] to learn more about the design:%0a%0a* Network services using protocols like ssh, ftp, and email simply appear as files on your filesystem. This removes the need for special client interfaces.%0a* A new windowing system that is completely integrated with the system, with its own file interface, that is independent and easier to code for than X11 and Wayland.%0a* Chroots have been replaced with unique per-process namespacing%0a* Berkeley sockets and ioctls have been replaced with /net file system%0a%0a!! Free 4-Week Plan 9 VPS%0a%0aIRCNow is offering a '''FREE''' Plan 9 VPS. We want to train explorers so we can write our own free and open operating system.%0a%0aNow is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team today to work on Plan 9 development!%0a%0a!! Plan 9 Innovations Adopted by Linux%0a%0a* UTF-8 was first invented in Plan 9!%0a* procfs was first invented in Plan 9!%0a* Union filesystems were first invented in Plan 9!%0a%0a!! [[9/bootcamp|What You'll Learn]]%0a%0a# The rio windowing system (mouse chording)%0a# How to set up your own nameserver and how to purchase a custom domain%0a# How to compile software on Plan 9%0a%0a!! How to Apply%0a%0a# If you're new to Plan 9, create a [[9/account|free plan 9 account]] and finish the 9-101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #plan9%0a# Send an email to admin@ircnow.org%0a# Get verified using any one method below:%0a # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a # Provide a photo ID, or%0a # Provide personal social media/website/blog/work portfolio/resume%0a # Send $0.01 one cent using an accepted payment option%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks course, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/codeforce|Volunteer as staff]] to keep the VPS free of charge%0a%0a +time=1637767019 +title=Explore the Uncharted Frontier +author:1637767019=jrmu +diff:1637767019:1633931279:=28c28%0a%3c We can give you a [[https://jrmu.host.ircnow.org/plan9.webm|tour]] of Plan 9. Join us at [[Ircnow/Servers|IRCNow]] to learn more about the design:%0a---%0a> Join us at [[Ircnow/Servers|IRCNow]] to learn about the design of Plan 9:%0a +host:1637767019=38.87.162.8 +author:1633931279=jrmu +diff:1633931279:1633869674:=7c7%0a%3c Come learn Plan 9 with us and help us '''build the future of operating systems'''.%0a---%0a> Come learn Plan 9 with us and help us build the future of operating systems.%0a +host:1633931279=125.224.28.132 +author:1633869674=jrmu +diff:1633869674:1633869584:=48a49%0a> # How to use Plan 9%0a51d51%0a%3c # How to compile software on Plan 9%0a +host:1633869674=125.224.22.161 +author:1633869584=jrmu +diff:1633869584:1633869314:=49,50c49,56%0a%3c # How to use Plan 9%0a%3c # The rio windowing system (mouse chording)%0a---%0a> # How to use OpenBSD%0a> # How to set up your own VPN (virtual private network)%0a> # How to set up your own mail server%0a> # How to set up your own webserver and web applications%0a> # How to configure TLS for security%0a> # How to run your own IRC social network (includes bots, bouncers, services)%0a> # How to set up your own file sharing server%0a> # How to set up your own firewall%0a55,56c61,62%0a%3c # If you're new to Plan 9, create a [[9/account|free plan 9 account]] and finish the 9-101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #plan9%0a---%0a> # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a> # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a69c75%0a%3c # [[ircnow/codeforce|Volunteer as staff]] to keep the VPS free of charge%0a---%0a> # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +host:1633869584=125.224.22.161 +author:1633869314=jrmu +diff:1633869314:1633868073:=26,29d25%0a%3c !! Watch a Live Demo%0a%3c %0a%3c Join us at [[Ircnow/Servers|IRCNow]] to learn about the design of Plan 9:%0a%3c %0a35,42c31,32%0a%3c !! Free 4-Week Plan 9 VPS%0a%3c %0a%3c IRCNow is offering a '''FREE''' Plan 9 VPS. We want to train explorers so we can write our own free and open operating system.%0a%3c %0a%3c Now is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team today to work on Plan 9 development!%0a%3c %0a%3c !! Plan 9 Innovations Adopted by Linux%0a%3c %0a---%0a> Plan 9 Innovations Adopted by Linux:%0a> %0a47c37,54%0a%3c !! [[9/bootcamp|What You'll Learn]]%0a---%0a> !! Free Live Demo%0a> %0a> Learn what makes Plan 9%0a> %0a> On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a> %0a> !! Free 4-Week Plan 9 VPS%0a> %0a> Now is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team to work on Plan 9 development!%0a> %0a> IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train explorers so we can write our own free operating system.%0a> %0a> %0a> !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a> %0a> Welcome to IRCNow, the new center for the startup dream.%0a> %0a> !! [[minutemin/bootcamp|What You'll Learn]]%0a +host:1633869314=125.224.22.161 +author:1633868073=jrmu +diff:1633868073:1633867986:=15c15%0a%3c %25width=50pct rfloat%25 Attach:plan9-desktop.jpg%0a---%0a> %25width=50pct rfloat%25 Attach:plan9.jpg%0a +host:1633868073=125.224.22.161 +author:1633867986=jrmu +diff:1633867986:1633867845:=14,15d13%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:plan9.jpg%0a +host:1633867986=125.224.22.161 +author:1633867845=jrmu +diff:1633867845:1633866459:=22,33c22,25%0a%3c Plan 9 is a '''distributed services''' operating system designed with the global internet in mind. Its elegant design will make it possible to easily set up clusters and grids of servers in a way never before possible with Unix-like clones.%0a%3c %0a%3c * Network services using protocols like ssh, ftp, and email simply appear as files on your filesystem. This removes the need for special client interfaces.%0a%3c * A new windowing system that is completely integrated with the system, with its own file interface, that is independent and easier to code for than X11 and Wayland.%0a%3c * Chroots have been replaced with unique per-process namespacing%0a%3c * Berkeley sockets and ioctls have been replaced with /net file system%0a%3c %0a%3c Plan 9 Innovations Adopted by Linux:%0a%3c %0a%3c * UTF-8 was first invented in Plan 9!%0a%3c * procfs was first invented in Plan 9!%0a%3c * Union filesystems were first invented in Plan 9!%0a---%0a> Plan 9 is a distributed services operating system designed with the global internet in mind. Its elegant design will make it possible to easily set up clusters and grids of servers in a way never before possible with Unix-like clones.%0a> %0a> * UTF-8 was first invented in Plan 9! The entire operating was designed with UTF-8 support in mind.%0a> * A fully independent windowing system called rio, to challenge the bad design of wayland%0a +host:1633867845=125.224.22.161 +author:1633866459=jrmu +diff:1633866459:1633866091:=22,25c22,24%0a%3c Plan 9 is a distributed services operating system designed with the global internet in mind. Its elegant design will make it possible to easily set up clusters and grids of servers in a way never before possible with Unix-like clones.%0a%3c %0a%3c * UTF-8 was first invented in Plan 9! The entire operating was designed with UTF-8 support in mind.%0a%3c * A fully independent windowing system called rio, to challenge the bad design of wayland%0a---%0a> Plan 9 includes:%0a> %0a> * A fully independent windowing system called rio, which is independent of %0a +host:1633866459=125.224.22.161 +author:1633866091=jrmu +diff:1633866091:1633865773:=11,12c11,12%0a%3c !! Help Change Computing Forever%0a%3c %0a---%0a> !! Innovate To Change Computing Forever%0a> %0a15,25c15,24%0a%3c !! Plan 9 Innovations %0a%3c %0a%3c Plan 9 follows the UNIX philosophy more than UNIX itself:%0a%3c %0a%3c * It takes the simple idea that every interface should be a file and extends that to everything: the keyboard, mouse, sound card, windowing system, and network resources.%0a%3c * It creates a unique name space for each process so that each process sees a unique file system.%0a%3c %0a%3c Plan 9 includes:%0a%3c %0a%3c * A fully independent windowing system called rio, which is independent of %0a%3c %0a---%0a> Innovations %0a> %0a> Plan 9 follows the UNIX philosophy more than UNIX itself. It takes the simple idea that every interface should be a file, and that each process should have its own name space.%0a> %0a> !! Free Plan 9 VPSes For Teammates%0a> %0a> Now is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team to work on Plan 9 development!%0a> %0a> IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train explorers so we can write our own free operating system.%0a> %0a28,29c27,28%0a%3c Learn what makes Plan 9%0a%3c %0a---%0a> Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a> %0a31,37d29%0a%3c %0a%3c !! Free 4-Week Plan 9 VPS%0a%3c %0a%3c Now is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team to work on Plan 9 development!%0a%3c %0a%3c IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train explorers so we can write our own free operating system.%0a%3c %0a +host:1633866091=125.224.22.161 +author:1633865773=jrmu +diff:1633865773:1633864942:=3,6c3,4%0a%3c %25width=50pct rfloat%25 Attach:Marketing/sacagawea.jpg%0a%3c %0a%3c !! Build the Future with Plan 9%0a%3c %0a---%0a> !! Plan 9: The Technology of the Future%0a> %0a9,18c7,14%0a%3c For the last thirty years, the computer landscape has been dominated by UNIX-like clones. But all that is about to change for the free software community thanks to Plan 9.%0a%3c %0a%3c !! Innovate To Change Computing Forever%0a%3c %0a%3c Plan 9 was created by the original UNIX team from Bell Labs, the same all-star team that invented Unix and the C language. Its contributors included Rob Pike, Ken Thompson, Brian Kernighan, Dennis Ritchie, and Bjarne Stroustrup.%0a%3c %0a%3c Innovations %0a%3c %0a%3c Plan 9 follows the UNIX philosophy more than UNIX itself. It takes the simple idea that every interface should be a file, and that each process should have its own name space.%0a%3c %0a---%0a> * Plan 9 was created by the original UNIX team from Bell Labs%0a> %0a> For the last thirty years, UNIX-like clones have dominated the landscape of operating systems. But all this is about to change for the free software community.%0a> %0a> If you want to to make a lasting impact on technology, to work on a project that will shape how computers are used for the next twenty years, join us on Plan 9.%0a> %0a> %0a> %0a21,23c17%0a%3c Now is your chance to make a lasting impact on technology, to work on a project that will influence free software operating systems for the next twenty years. Join our team to work on Plan 9 development!%0a%3c %0a%3c IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train explorers so we can write our own free operating system.%0a---%0a> IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train pioneers so they can control their own tech.%0a24a19,20%0a> Join our team and help us code for plan 9.%0a> %0a25a22,25%0a> %0a> !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a> %0a> %25width=50pct rfloat%25 Attach:Marketing/sacagawea.jpg%0a +host:1633865773=125.224.22.161 +author:1633864942=jrmu +diff:1633864942:1633864617:=25c25%0a%3c %25width=50pct rfloat%25 Attach:Marketing/sacagawea.jpg%0a---%0a> %25width=50pct rfloat%25 Attach:Marketing/sacagawea.png%0a +host:1633864942=125.224.22.161 +author:1633864617=jrmu +diff:1633864617:1633864550:=25c25%0a%3c %25width=50pct rfloat%25 Attach:Marketing/sacagawea.png%0a---%0a> %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1633864617=125.224.22.161 +author:1633864550=jrmu +diff:1633864550:1633864550:=1,64d0%0a%3c (:title Explore the Uncharted Frontier:)%0a%3c %0a%3c !! Plan 9: The Technology of the Future%0a%3c %0a%3c Come learn Plan 9 with us and help us build the future of operating systems.%0a%3c %0a%3c * Plan 9 was created by the original UNIX team from Bell Labs%0a%3c %0a%3c For the last thirty years, UNIX-like clones have dominated the landscape of operating systems. But all this is about to change for the free software community.%0a%3c %0a%3c If you want to to make a lasting impact on technology, to work on a project that will shape how computers are used for the next twenty years, join us on Plan 9.%0a%3c %0a%3c %0a%3c %0a%3c !! Free Plan 9 VPSes For Teammates%0a%3c %0a%3c IRCNow is offering a '''FREE''' Plan 9 VPS. We will help train pioneers so they can control their own tech.%0a%3c %0a%3c Join our team and help us code for plan 9.%0a%3c %0a%3c !! Free Live Demo%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a%3c # How to use OpenBSD%0a%3c # How to set up your own VPN (virtual private network)%0a%3c # How to set up your own mail server%0a%3c # How to set up your own webserver and web applications%0a%3c # How to configure TLS for security%0a%3c # How to run your own IRC social network (includes bots, bouncers, services)%0a%3c # How to set up your own file sharing server%0a%3c # How to set up your own firewall%0a%3c # How to set up your own nameserver and how to purchase a custom domain%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a%3c # Send an email to admin@ircnow.org%0a%3c # Get verified using any one method below:%0a%3c # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a%3c # Provide a photo ID, or%0a%3c # Provide personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using an accepted payment option%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%3c %0a +host:1633864550=125.224.22.161 blob - /dev/null blob + 233f8df0e8f13315af29a3da6ff07802b46ee5f6 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Federation,del-1596457170 @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596189440 +host=38.81.163.143 +name=Ircnow.Federation +rev=13 +targets=Ircnow.Constitution +text=->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a%0aMost Internet platforms today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company. Increasingly, platforms are now censoring Christian users. IRCNow tries to fix that by creating an open and free network.%0a%0aIRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common infrastructure and the common defense.%0a%0aIn the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of much authority to self-governing servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a%0aIRCNow is a free republic: a network of the users, by the users, for the users. +time=1596431240 +author:1596431240=jrmu +diff:1596431240:1596344188:=3,7c3,7%0a%3c Most Internet platforms today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company. Increasingly, platforms are now censoring Christian users. IRCNow tries to fix that by creating an open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common infrastructure and the common defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of much authority to self-governing servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a---%0a> Most social media networks today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company or banning Christians. IRCNow tries to fix that by creating an open and free network.%0a> %0a> IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a> %0a> In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of local authority to servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a +host:1596431240=38.81.163.143 +author:1596344188=jrmu +diff:1596344188:1596341052:=1c1%0a%3c ->We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a---%0a> We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a +host:1596344188=38.81.163.143 +author:1596341052=jrmu +diff:1596341052:1596340877:=1c1%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are created among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to fork and create a new one.%0a---%0a> We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to institute a new network.%0a +host:1596341052=38.81.163.143 +author:1596340877=jrmu +diff:1596340877:1596340436:=1c1%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the users to institute a new network.%0a---%0a> We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the people to institute a new network.%0a +host:1596340877=38.81.163.143 +author:1596340436=jrmu +diff:1596340436:1596340324:=1c1%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among users, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the people to institute a new network.%0a---%0a> We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among men, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the people to institute a new network.%0a +host:1596340436=38.81.163.143 +author:1596340324=jrmu +diff:1596340324:1596198266:=1,2d0%0a%3c We hold these truths to be self-evident, that all users are created equal. That to secure their rights, networks are instituted among men, deriving their just powers from the consent of the governed. That whenever any network becomes destructive of these ends, it is the right of the people to institute a new network.%0a%3c %0a +host:1596340324=38.81.163.143 +author:1596198266=jrmu +diff:1596198266:1596190626:=1,7c1,3%0a%3c Most social media networks today are designed to exploit the user, often by locking-in users with proprietary software, by selling user data to advertisers, or by arbitrarily censoring criticism of the company or banning Christians. IRCNow tries to fix that by creating an open and free network.%0a%3c %0a%3c IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a strong unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a%3c %0a%3c In the future, each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances; a bill of rights; and delegation of local authority to servers. The network is run in the public interest: all the source code is available free of charge and you can use it for any purpose without asking for permission. It is also a Christian network that guarantees Christians will remain welcome on the network and that the Bible will not be censored.%0a%3c %0a%3c IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> IRCNow is a federation that unites together mostly self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a stronger unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a> %0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network, with guarantees that Christians will remain welcome on the network, and that the Bible will not be censored. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1596198266=38.81.163.143 +author:1596190626=jrmu +diff:1596190626:1596190379:=3c3%0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network, with guarantees that Christians will remain welcome on the network, and that the Bible will not be censored. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network, with guarantees that Christians will remain welcome on the network. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1596190626=38.81.163.143 +author:1596190379=jrmu +diff:1596190379:1596190346:=3c3%0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network, with guarantees that Christians will remain welcome on the network. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a +host:1596190379=38.81.163.143 +author:1596190346=jrmu +diff:1596190346:1596190264:=3c3%0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. It is also a Christian network. IRCNow is a free republic: a network of the users, by the users, for the users.%0a\ No newline at end of file%0a---%0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. IRCNow is a free republic: a network of the users, by the users, for the users.%0a +host:1596190346=38.81.163.143 +author:1596190264=jrmu +diff:1596190264:1596189535:=3c3%0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]. IRCNow's governance is modeled after the US constitution, with its system of checks and balances and bill of rights; most of the power and authority is delegated to local servers. IRCNow is a free republic: a network of the users, by the users, for the users.%0a---%0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]].%0a +host:1596190264=38.81.163.143 +author:1596189535=jrmu +diff:1596189535:1596189440:=1,3c1,3%0a%3c IRCNow is a federation that unites together mostly self-governing servers to provide a common network for the free and open source software community. Each server provide its own services, has its own staff, specifies its own policies, and manages its own income and expenses. However, to achieve a stronger unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a%3c %0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]].%0a---%0a> IRCNow is a federation that unites together mostly self-governing servers to provide a network for the free and open source software community. Each of the servers provide their own services, have their own staff, and specify their own policies. However, to achieve a stronger unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a> %0a> Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]%0a +host:1596189535=38.81.163.143 +author:1596189440=jrmu +diff:1596189440:1596189440:=1,3d0%0a%3c IRCNow is a federation that unites together mostly self-governing servers to provide a network for the free and open source software community. Each of the servers provide their own services, have their own staff, and specify their own policies. However, to achieve a stronger unified network, each server contributes software and funds to provide for common instructure and the common defense.%0a%3c %0a%3c Each server in IRCNow will be bound by the [[ircnow/constitution|IRCNow Constitution]]%0a +host:1596189440=38.81.163.143 blob - /dev/null blob + 3ed6270097281ff914ff8c0ffb1e622c3f2847a9 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Finances @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609474516 +host=198.251.81.119 +name=Ircnow.Finances +rev=1 +targets= +text=(:title IRCNow Finances:)%0a%0a!! FY 2020 +time=1609474516 +title=IRCNow Finances +author:1609474516=jrmu +diff:1609474516:1609474516:=1,3d0%0a%3c (:title IRCNow Finances:)%0a%3c %0a%3c !! FY 2020%0a\ No newline at end of file%0a +host:1609474516=198.251.81.119 blob - /dev/null blob + b7a043ced29fb8206cbc94385f84d55ced4dec3f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Goals @@ -0,0 +1,115 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596181131 +host=198.251.81.119 +name=Ircnow.Goals +rev=34 +targets=Freedom.Freedom,Freedom.Unix,Freedom.Software +text=!! IRCNow: The Network The Users Control%0a%0aIRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, technical skill, country, language, and religion.%0a%0aWe plan to do this without changing the IRC protocol. We want to build a thriving [[freedom/freedom|free network]] using [[freedom/unix|quality software]].%0a%0a!!! Why IRC?%0a%0aIRC is the home of the free and open source community. IRC is an elegant protocol that is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe.%0a%0a!!! Fixing IRC%0a%0aSadly, IRC is still too hard for average people to use. In recent years, the IRC community has lost over 90%25 of its users to non-free social media. If we don't fix these problems, IRC will soon be dead.%0a%0aUnfortunately, IRCv3 does nothing to fix any of the major flaws with IRC. A lot of the major problems with IRC are not flaws with the protocol but rather a lack of a decent service provider.%0a%0aMajor Problems with IRC:%0a%0a# Most major IRC networks and clients are [[freedom/freedom|not free]]. Most do not allow freedom of religion or freedom of the press. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a# Users need free bouncers that can connect to an unlimited number of networks. The bouncers must stay online 24/7, provide multiple vhosts, and be resistant to DDoS attacks.%0a# Users need servers that are physically located in every major country on Earth, and the service must support every major language. This will provide reliable, fast service and ensure that national firewalls don't block access.%0a# Users need a simple, uniform way to register and login to networks with different services%0a# Users need better protection from spam, online stalking, and harassment. They also need better spam defenses that don't randomly ban innocent users.%0a# Users need an easy way to upload a file in-band. Right now, all the clients require you to use an http client to share code snippets, photos, or videos. A lot of users don't want a full web browser inside their IRC client.%0a# Users need a simple way to sync messages across their phones, laptops, and computers. No one wants lost or repeated messages.%0a# Users need message received confirmations, not the message sent confirmations that IRCv3 provides.%0a# Users want buddy lists.%0a# Users want HTTP tunneling to bypass firewalls.%0a# Users want their bouncer to automatically handle frequent disconnects from mobile apps.%0a# Users want audio/video calls.%0a%0aIRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 sometimes results in bugs that break compatibility with older IRC clients and servers.%0a%0aIRCNow aims to provide the features that users care about today, without changing the IRC standard. We work to maintain backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a%0aIRC is '''not''' just a protocol for nerds. We the Users plan to transform IRC into a social network for everyone. +time=1615023204 +author:1615023204=jrmu +diff:1615023204:1613296722:=3c3%0a%3c IRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, technical skill, country, language, and religion.%0a---%0a> IRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, technical skill, sex, country, language, and religion.%0a +host:1615023204=198.251.81.119 +author:1613296722=jrmu +diff:1613296722:1613296034:=21c21%0a%3c # Users need servers that are physically located in every major country on Earth, and the service must support every major language. This will provide reliable, fast service and ensure that national firewalls don't block access.%0a---%0a> # Users need servers that are physically located in every major country on Earth, and the service must support every major language. This will provide more reliable, faster service and ensure that national firewalls don't block access.%0a23c23%0a%3c # Users need better protection from spam, online stalking, and harassment. They also need better spam defenses that don't randomly ban innocent users.%0a---%0a> # Users need better protection from spam and online stalking and harassment. They also need better spam defenses that don't randomly ban innocent users.%0a32,34c32,34%0a%3c IRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 sometimes results in bugs that break compatibility with older IRC clients and servers.%0a%3c %0a%3c IRCNow aims to provide the features that users care about today, without changing the IRC standard. We work to maintain backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a---%0a> IRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 can be even downright harmful. IRCv3 often introduces compatibility bugs that are difficult to troubleshoot. These new bugs don't fix the issues that users truly care about.%0a> %0a> IRCNow provides services fill in the gaps and add the features users care. We work to maintain backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a +host:1613296722=198.251.81.119 +author:1613296034=jrmu +diff:1613296034:1613295135:=19c19%0a%3c # Most major IRC networks and clients are [[freedom/freedom|not free]]. Most do not allow freedom of religion or freedom of the press. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a---%0a> # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion or freedom of the press. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a +host:1613296034=198.251.81.119 +author:1613295135=jrmu +diff:1613295135:1613295022:=19c19%0a%3c # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion or freedom of the press. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a---%0a> # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a +host:1613295135=198.251.81.119 +author:1613295022=jrmu +diff:1613295022:1613048470:=3c3%0a%3c IRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, technical skill, sex, country, language, and religion.%0a---%0a> IRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, sex, country, language, religion, and technical skill.%0a +host:1613295022=198.251.81.119 +author:1613048470=jrmu +diff:1613048470:1612858886:=36c36,38%0a%3c IRC is '''not''' just a protocol for nerds. We the Users plan to transform IRC into a social network for everyone.%0a\ No newline at end of file%0a---%0a> IRC is '''not''' just a protocol for nerds. We intend to transform IRC to make it a social network for users of any technical ability.%0a> %0a> IRCv3 developers require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will leave IRC because they find it too confusing. If our normal friends leave IRC for proprietary networks, even nerds will eventually quit. We are at risk of losing the last truly open protocol for the free software community -- the battle for IRC is part of the battle for a free and open Internet.%0a\ No newline at end of file%0a +host:1613048470=198.251.81.119 +author:1612858886=jrmu +diff:1612858886:1612858671:=34,36c34,36%0a%3c IRCNow provides services fill in the gaps and add the features users care. We work to maintain backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a%3c %0a%3c IRC is '''not''' just a protocol for nerds. We intend to transform IRC to make it a social network for users of any technical ability.%0a---%0a> IRCNow is a services that will fill in the gaps to add the features users care about while still maintaining backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a> %0a> IRC is '''not''' just a protocol for nerds. We intend to transform IRC to make it a social network that any user love %0a +host:1612858886=198.251.81.119 +author:1612858671=jrmu +diff:1612858671:1612858580:=36,38c36,38%0a%3c IRC is '''not''' just a protocol for nerds. We intend to transform IRC to make it a social network that any user love %0a%3c %0a%3c IRCv3 developers require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will leave IRC because they find it too confusing. If our normal friends leave IRC for proprietary networks, even nerds will eventually quit. We are at risk of losing the last truly open protocol for the free software community -- the battle for IRC is part of the battle for a free and open Internet.%0a\ No newline at end of file%0a---%0a> Too many IRC developers assume that IRC is for nerds only. IRCv3 developers require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will leave IRC because they find it too confusing. If our normal friends leave IRC for proprietary networks, even nerds will eventually quit. We are at risk of losing the last truly open protocol for the free software community -- the battle for IRC is part of the battle for a free and open Internet.%0a> %0a> Here's our [[ircnow/roadmap|roadmap]]. If you are interested, we welcome you to [[Ircnow/Team|join our team]].%0a\ No newline at end of file%0a +host:1612858671=198.251.81.119 +author:1612858580=jrmu +diff:1612858580:1612858562:=19c19%0a%3c # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a---%0a> # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion and belief. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a +host:1612858580=198.251.81.119 +author:1612858562=jrmu +diff:1612858562:1612858524:=19c19%0a%3c # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion and belief. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a---%0a> # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a +host:1612858562=198.251.81.119 +author:1612858524=jrmu +diff:1612858524:1612858422:=19d18%0a%3c # Most major IRC networks and clients are [[freedom/freedom|not free]]. Some larger networks like Freenode do not allow freedom of religion. The most popular IRC clients do not give you the [[freedom/software|freedom to share or modify the source code]].%0a +host:1612858524=198.251.81.119 +author:1612858422=jrmu +diff:1612858422:1612858364:= +host:1612858422=198.251.81.119 +author:1612858364=jrmu +diff:1612858364:1612858269:=1,2c1,2%0a%3c !! IRCNow: The Network The Users Control%0a%3c %0a---%0a> !! IRCNow: The Social Network The Users Control%0a> %0a31c31%0a%3c IRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 can be even downright harmful. IRCv3 often introduces compatibility bugs that are difficult to troubleshoot. These new bugs don't fix the issues that users truly care about.%0a---%0a> IRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 can be even downright harmful. IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and some older Android and Mac clients). The result is silent connection errors that are difficult to troubleshoot. So, IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a +host:1612858364=198.251.81.119 +author:1612858269=jrmu +diff:1612858269:1612857690:=9,10c9,10%0a%3c IRC is the home of the free and open source community. IRC is an elegant protocol that is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe.%0a%3c %0a---%0a> IRC is the home of the free and open source community. IRC is an elegant protocol because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe.%0a> %0a20,31c20,31%0a%3c # Users need servers that are physically located in every major country on Earth, and the service must support every major language. This will provide more reliable, faster service and ensure that national firewalls don't block access.%0a%3c # Users need a simple, uniform way to register and login to networks with different services%0a%3c # Users need better protection from spam and online stalking and harassment. They also need better spam defenses that don't randomly ban innocent users.%0a%3c # Users need an easy way to upload a file in-band. Right now, all the clients require you to use an http client to share code snippets, photos, or videos. A lot of users don't want a full web browser inside their IRC client.%0a%3c # Users need a simple way to sync messages across their phones, laptops, and computers. No one wants lost or repeated messages.%0a%3c # Users need message received confirmations, not the message sent confirmations that IRCv3 provides.%0a%3c # Users want buddy lists.%0a%3c # Users want HTTP tunneling to bypass firewalls.%0a%3c # Users want their bouncer to automatically handle frequent disconnects from mobile apps.%0a%3c # Users want audio/video calls.%0a%3c %0a%3c IRCv3 does almost nothing to solve any of the problems above. In fact, IRCv3 can be even downright harmful. IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and some older Android and Mac clients). The result is silent connection errors that are difficult to troubleshoot. So, IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a---%0a> # These servers must be physically located in every major country on Earth, and the service must support every major language. %0a> # IRCv3 does '''not''' provide an easy, uniform way to register and login to networks with different services%0a> # IRCv3 does '''not''' protect users from spam and online stalking/harassment (without also blocking innocent users)%0a> # IRCv3 does '''not''' provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos without using an http client)%0a> # IRCv3 does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a> # IRCv3 does '''not''' provide message received confirmations (echo-message only provides message sent confirmations)%0a> # IRCv3 does '''not''' provide buddy lists%0a> # IRCv3 does '''not''' provide HTTP tunneling to bypass firewalls%0a> # IRCv3 '''cannot''' handle frequent disconnects from mobile clients%0a> # IRCv3 '''cannot''' handle audio/video calls%0a> %0a> IRCv3 can be even downright harmful. IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and some older Android and Mac clients). The result is silent connection errors that are difficult to troubleshoot. So, IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a +host:1612858269=198.251.81.119 +author:1612857690=jrmu +diff:1612857690:1612857581:=17,20c17%0a%3c Major Problems with IRC:%0a%3c %0a%3c # Users need free bouncers that can connect to an unlimited number of networks. The bouncers must stay online 24/7, provide multiple vhosts, and be resistant to DDoS attacks.%0a%3c # These servers must be physically located in every major country on Earth, and the service must support every major language. %0a---%0a> # IRCv3 does '''not''' provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a +host:1612857690=198.251.81.119 +author:1612857581=jrmu +diff:1612857581:1612857167:= +host:1612857581=198.251.81.119 +author:1612857167=jrmu +diff:1612857167:1612857127:=1c1%0a%3c !! IRCNow: The Social Network The Users Control%0a---%0a> !! IRCNow: IRC for Human Beings%0a +host:1612857167=198.251.81.119 +author:1612857127=jrmu +diff:1612857127:1612852305:= +host:1612857127=198.251.81.119 +author:1612852305=jrmu +diff:1612852305:1612851541:=3,6c3,6%0a%3c IRCNow wants to turn IRC into a real social network that the users control. We want IRC to be a serious competitor to non-free networks, to make it suitable for users of any age, sex, country, language, religion, and technical skill.%0a%3c %0a%3c We plan to do this without changing the IRC protocol. We want to build a thriving [[freedom/freedom|free network]] using [[freedom/unix|quality software]].%0a%3c %0a---%0a> Our team at IRCNow wants to make IRC a real social network. We want IRC to be a serious competitor to non-free protocols, suitable for users of any age group, country, language, and technical skill.%0a> %0a> We plan to do this without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] using [[freedom/Unix|quality software]].%0a> %0a9,10c9,10%0a%3c IRC is the home of the free and open source community. IRC is an elegant protocol because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe.%0a%3c %0a---%0a> We all love IRC. IRC is an elegant protocol because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a> %0a13c13%0a%3c Sadly, IRC is still too hard for average people to use. In recent years, the IRC community has lost over 90%25 of its users to non-free social media. If we don't fix these problems, IRC will soon be dead.%0a---%0a> Sadly, IRC is too hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to non-free social media. If we don't fix these problems, IRC will soon be dead.%0a +host:1612852305=198.251.81.119 +author:1612851541=jrmu +diff:1612851541:1609470506:=3,6c3,4%0a%3c Our team at IRCNow wants to make IRC a real social network. We want IRC to be a serious competitor to non-free protocols, suitable for users of any age group, country, language, and technical skill.%0a%3c %0a%3c We plan to do this without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] using [[freedom/Unix|quality software]].%0a%3c %0a---%0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] using [[freedom/Unix|quality software]].%0a> %0a13,17c11,14%0a%3c Sadly, IRC is too hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to non-free social media. If we don't fix these problems, IRC will soon be dead.%0a%3c %0a%3c Unfortunately, IRCv3 does nothing to fix any of the major flaws with IRC. A lot of the major problems with IRC are not flaws with the protocol but rather a lack of a decent service provider.%0a%3c %0a%3c # IRCv3 does '''not''' provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a---%0a> Sadly, IRC hasn't improved much since it was first invented in 1988. As of today, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to proprietary chat networks like Facebook, Discord, and Slack. If we don't fix its problems, IRC will soon be dead.%0a> %0a> Unfortunately, IRCv3 does nothing to fix any of the major flaws with IRC. A lot of the problems with IRC can only be solved by having a network provider fix them rather than merely extending the protocol:%0a> %0a19a17%0a> # IRCv3 does '''not''' provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a30c28%0a%3c IRCNow is a services that will fill in the gaps to add the features users care about while still maintaining backwards compatibility with all existing IRC clients and servers. We intend to bypass and ignore IRCv3 altogether.%0a---%0a> IRCNow is working to add the features users care about while still maintaining backwards compatibility with all existing IRC clients and servers. We will bypass and ignore IRCv3 altogether.%0a +host:1612851541=198.251.81.119 +author:1609470506=jrmu +diff:1609470506:1597899444:=32c32%0a%3c Here's our [[ircnow/roadmap|roadmap]]. If you are interested, we welcome you to [[Ircnow/Team|join our team]].%0a\ No newline at end of file%0a---%0a> If you are interested, we welcome you to [[Ircnow/Team|join our team]].%0a\ No newline at end of file%0a +host:1609470506=198.251.81.119 +author:1597899444=jrmu +diff:1597899444:1597538212:=3,4c3,4%0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] using [[freedom/Unix|quality software]].%0a%3c %0a---%0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/Unix|quality software]].%0a> %0a11,12c11,12%0a%3c Sadly, IRC hasn't improved much since it was first invented in 1988. As of today, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to proprietary chat networks like Facebook, Discord, and Slack. If we don't fix its problems, IRC will soon be dead.%0a%3c %0a---%0a> Sadly, IRC hasn't improved much since it was first invented in 1988. As of today, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to proprietary chat networks like Facebook, Discord, and Slack. If we don't fix its problems soon, IRC will be dead.%0a> %0a26,32c26,35%0a%3c IRCv3 can be even downright harmful. IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and some older Android and Mac clients). The result is silent connection errors that are difficult to troubleshoot. So, IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a%3c %0a%3c IRCNow is working to add the features users care about while still maintaining backwards compatibility with all existing IRC clients and servers. We will bypass and ignore IRCv3 altogether.%0a%3c %0a%3c Too many IRC developers assume that IRC is for nerds only. IRCv3 developers require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will leave IRC because they find it too confusing. If our normal friends leave IRC for proprietary networks, even nerds will eventually quit. We are at risk of losing the last truly open protocol for the free software community -- the battle for IRC is part of the battle for a free and open Internet.%0a%3c %0a%3c If you are interested, we welcome you to [[Ircnow/Team|join our team]].%0a\ No newline at end of file%0a---%0a> %0a> What is more, IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and Textual). The result is silent connection errors that are difficult to troubleshoot. So IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a> %0a> IRCNow is working to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers. We plan to bypass and ignore IRCv3 altogether.%0a> %0a> The problem with most IRC developers today is they assume that IRC is for nerds only. IRC servers like unrealircd and inspircd require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will all leave IRC because they find it too confusing. As a result, even nerds will eventually quit IRC because their normal friends will leave IRC for WhatsApp and Discord.%0a> %0a> There is a [[roadmap]].%0a> %0a> If you are interested, we welcome you to join our team.%0a\ No newline at end of file%0a +host:1597899444=38.81.163.143 +author:1597538212=gry +csum:1597538212=+ +diff:1597538212:1597044418:=32,33d31%0a%3c %0a%3c There is a [[roadmap]].%0a +host:1597538212=203.129.25.247 +author:1597044418=jrmu +diff:1597044418:1597044304:=3c3%0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/Unix|quality software]].%0a---%0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/UNIX|quality software]].%0a +host:1597044418=38.81.163.143 +author:1597044304=jrmu +diff:1597044304:1596336639:=3c3%0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/UNIX|quality software]].%0a---%0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/quality|quality software]].%0a +host:1597044304=38.81.163.143 +author:1596336639=jrmu +diff:1596336639:1596256089:=25,27d24%0a%3c %0a%3c %0a%3c What is more, IRCv3 capability negotiation is not implemented correctly on a few IRC clients (including mIRC and Textual). The result is silent connection errors that are difficult to troubleshoot. So IRCv3 introduces new bugs without fixing the issues that users truly care about.%0a +host:1596336639=38.81.163.143 +author:1596256089=jrmu +diff:1596256089:1596255857:=26,30c26,28%0a%3c IRCNow is working to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers. We plan to bypass and ignore IRCv3 altogether.%0a%3c %0a%3c The problem with most IRC developers today is they assume that IRC is for nerds only. IRC servers like unrealircd and inspircd require users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will all leave IRC because they find it too confusing. As a result, even nerds will eventually quit IRC because their normal friends will leave IRC for WhatsApp and Discord.%0a%3c %0a%3c If you are interested, we welcome you to join our team.%0a\ No newline at end of file%0a---%0a> IRCv3 focuses on the wrong audience. It assumes that IRC is for nerds only; it requires users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will all leave IRC because they find it too confusing. As a result, even nerds will eventually quit IRC because their normal friends will leave IRC for WhatsApp and Discord.%0a> %0a> IRCNow is working to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers. If you are interested, we welcome you to join our team.%0a\ No newline at end of file%0a +host:1596256089=38.81.163.143 +author:1596255857=jrmu +diff:1596255857:1596255655:=25,26d24%0a%3c %0a%3c IRCv3 focuses on the wrong audience. It assumes that IRC is for nerds only; it requires users read long, technical documentation just to have a simple chat. If we do not challenge IRCv3, casual users will all leave IRC because they find it too confusing. As a result, even nerds will eventually quit IRC because their normal friends will leave IRC for WhatsApp and Discord.%0a +host:1596255857=38.81.163.143 +author:1596255655=jrmu +diff:1596255655:1596255430:=13,14c13,14%0a%3c Unfortunately, IRCv3 does nothing to fix any of the major flaws with IRC. A lot of the problems with IRC can only be solved by having a network provider fix them rather than merely extending the protocol:%0a%3c %0a---%0a> Unfortunately, IRCv3 does nothing to fix any of the major flaws with IRC:%0a> %0a16,18c16,17%0a%3c # IRCv3 does '''not''' protect users from spam and online stalking/harassment (without also blocking innocent users)%0a%3c # IRCv3 does '''not''' provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a%3c # IRCv3 does '''not''' provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos without using an http client)%0a---%0a> # IRCv3 does '''not''' protect users from DDoS attacks and online stalking/harassment%0a> # IRCv3 does '''not''' provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos with your irc client; you need to use a web browser)%0a +host:1596255655=38.81.163.143 +author:1596255430=jrmu +diff:1596255430:1596199594:=3,4c3,6%0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving [[freedom/network|free network]] with [[freedom/quality|quality software]].%0a%3c %0a---%0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a> %0a> We are committed to building a [[freedom/network|free network]] with [[freedom/quality|quality software]].%0a> %0a7,8c9,10%0a%3c We all love IRC. IRC is an elegant protocol because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a%3c %0a---%0a> We all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a> %0a11,25c13,28%0a%3c Sadly, IRC hasn't improved much since it was first invented in 1988. As of today, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 90%25 of its users to proprietary chat networks like Facebook, Discord, and Slack. If we don't fix its problems soon, IRC will be dead.%0a%3c %0a%3c Unfortunately, IRCv3 does nothing to fix any of the major flaws with IRC:%0a%3c %0a%3c # IRCv3 does '''not''' provide an easy, uniform way to register and login to networks with different services%0a%3c # IRCv3 does '''not''' protect users from DDoS attacks and online stalking/harassment%0a%3c # IRCv3 does '''not''' provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos with your irc client; you need to use a web browser)%0a%3c # IRCv3 does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a%3c # IRCv3 does '''not''' provide message received confirmations (echo-message only provides message sent confirmations)%0a%3c # IRCv3 does '''not''' provide buddy lists%0a%3c # IRCv3 does '''not''' provide HTTP tunneling to bypass firewalls%0a%3c # IRCv3 '''cannot''' handle frequent disconnects from mobile clients%0a%3c # IRCv3 '''cannot''' handle audio/video calls%0a%3c %0a%3c IRCNow is working to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers. If you are interested, we welcome you to join our team.%0a\ No newline at end of file%0a---%0a> But IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a> %0a> IRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 '''still''':%0a> %0a> # Does '''not''' provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a> # Does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a> # Does '''not''' provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a> # Does '''not''' provide buddy lists%0a> # Does '''not''' provide HTTP tunneling to bypass firewalls%0a> # '''Cannot''' handle frequent disconnects from mobile clients%0a> # '''Cannot''' handle audio/video calls%0a> # Does '''not''' provide a standardized registration interface%0a> %0a> We plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a> %0a> If you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a\ No newline at end of file%0a +host:1596255430=38.81.163.143 +author:1596199594=jrmu +diff:1596199594:1596199583:=5c5%0a%3c We are committed to building a [[freedom/network|free network]] with [[freedom/quality|quality software]].%0a---%0a> We are committed to building a [[freedom/freedom|network]] with [[freedom/quality|quality software]].%0a +host:1596199594=38.81.163.143 +author:1596199583=jrmu +diff:1596199583:1596199558:=5c5%0a%3c We are committed to building a [[freedom/freedom|network]] with [[freedom/quality|quality software]].%0a---%0a> We are committed to building a [[freedom/freedom|free network]] with [[freedom/quality|quality software]].%0a +host:1596199583=38.81.163.143 +author:1596199558=jrmu +diff:1596199558:1596181131:=5c5%0a%3c We are committed to building a [[freedom/freedom|free network]] with [[freedom/quality|quality software]].%0a---%0a> We are committed to writing [[freedom/source|free and open source software]] following our [[freedom/quality|quality software guidelines]].%0a +host:1596199558=38.81.163.143 +author:1596181131=jrmu +diff:1596181131:1596181131:=1,28d0%0a%3c !! IRCNow: IRC for Human Beings%0a%3c %0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a%3c %0a%3c We are committed to writing [[freedom/source|free and open source software]] following our [[freedom/quality|quality software guidelines]].%0a%3c %0a%3c !!! Why IRC?%0a%3c %0a%3c We all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a%3c %0a%3c !!! Fixing IRC%0a%3c %0a%3c But IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a%3c %0a%3c IRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 '''still''':%0a%3c %0a%3c # Does '''not''' provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a%3c # Does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a%3c # Does '''not''' provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a%3c # Does '''not''' provide buddy lists%0a%3c # Does '''not''' provide HTTP tunneling to bypass firewalls%0a%3c # '''Cannot''' handle frequent disconnects from mobile clients%0a%3c # '''Cannot''' handle audio/video calls%0a%3c # Does '''not''' provide a standardized registration interface%0a%3c %0a%3c We plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a%3c %0a%3c If you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a\ No newline at end of file%0a +host:1596181131=38.81.163.143 blob - /dev/null blob + 0238e5391398bddcb682f9810f829bd078c7f1e4 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Hardware @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627825705 +host=38.87.162.8 +name=Ircnow.Hardware +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627825705 +author:1627825705=jrmu +diff:1627825705:1627825705:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a +host:1627825705=38.87.162.8 blob - /dev/null blob + 763b7b0fdbeb2a5204f7df348c25fd576fe3245a (mode 644) --- /dev/null +++ wiki.d/Ircnow.Helper,del-1606530116 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606528706 +host=198.251.81.119 +name=Ircnow.Helper +rev=1 +targets=Ircnow.Goals,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Ircnow.Roadmap,Ircnow.Todo,Ircnow.Helpers,Ircnow.Networks +text=(:title Join the IRCNow Helpers!:)%0a%0aIf you would like to help IRCNow but lack sysadmin skills, you can join our team of helpers.%0a%0a!! Your Reward%0a%0a# '''Free hosting for approved apps'''%0a# Set up your own gaming servers, radio stations, blogs, wikis, bots%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Learn some programming%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0aThis would be purely a non-paid, volunteer role.%0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they are interested in your project, they will invite you to work with them.%0a%0a!! Your Duties%0a%0a# You must commit to help our network 5 hours per week%0a# You must be willing to help with customer support, documentation, and other non-coding tasks%0a%0a# [[ircnow/roadmap|IRCNow Roadmap]]%0a# [[ircnow/todo|IRCNow Todo List]]%0a# [[ircnow/helpers|IRCNow Helpers]]%0a# [[ircnow/networks|Supported Networks]] +time=1606528706 +title=Join the IRCNow Helpers! +author:1606528706=jrmu +diff:1606528706:1606528706:=1,31d0%0a%3c (:title Join the IRCNow Helpers!:)%0a%3c %0a%3c If you would like to help IRCNow but lack sysadmin skills, you can join our team of helpers.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free hosting for approved apps'''%0a%3c # Set up your own gaming servers, radio stations, blogs, wikis, bots%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Learn some programming%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c This would be purely a non-paid, volunteer role.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they are interested in your project, they will invite you to work with them.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit to help our network 5 hours per week%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a%3c %0a%3c # [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c # [[ircnow/helpers|IRCNow Helpers]]%0a%3c # [[ircnow/networks|Supported Networks]]%0a\ No newline at end of file%0a +host:1606528706=198.251.81.119 blob - /dev/null blob + 51af4acdd6c5b79e8ce1487dc92643d4d372ff3e (mode 644) --- /dev/null +++ wiki.d/Ircnow.Helpers @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1602981144 +host=198.251.81.119 +name=Ircnow.Helpers +rev=16 +targets=Third.Third,Ircnow.Goals,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Ircnow.Roadmap,Marketing.Marketing +text=(:title Join the IRCNow Helpers!:)%0a%0aIf you would like to help IRCNow but lack sysadmin skills, you can join our team of helpers.%0a%0a!! Your Reward%0a%0a# '''Free hosting for [[third/third|open source apps']]''%0a# '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Learn some programming%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0aThis would be purely a non-paid, volunteer role.%0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a# Help with customer support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks +time=1609475798 +title=Join the IRCNow Helpers! +author:1609475798=jrmu +diff:1609475798:1609475731:= +host:1609475798=198.251.81.119 +author:1609475731=jrmu +diff:1609475731:1609474644:=26,27d25%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a +host:1609475731=198.251.81.119 +author:1609474644=jrmu +diff:1609474644:1609474631:=26c26%0a%3c # Help with customer support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a\ No newline at end of file%0a---%0a> # Help with customer support, [[marketing/marketing|Marketing]], documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1609474644=198.251.81.119 +author:1609474631=jrmu +diff:1609474631:1606557738:=25,26c25,26%0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help with customer support, [[marketing/marketing|Marketing]], documentation, and other non-coding tasks%0a\ No newline at end of file%0a---%0a> # You must commit to help your teammates 5 hours per week%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1609474631=198.251.81.119 +author:1606557738=jrmu +diff:1606557738:1606555027:=7c7%0a%3c # '''Free hosting for [[third/third|open source apps']]''%0a---%0a> # '''Free hosting for [[third/third|approved apps']]''%0a +host:1606557738=198.251.81.119 +author:1606555027=jrmu +diff:1606555027:1606555017:=25c25%0a%3c # You must commit to help your teammates 5 hours per week%0a---%0a> # You must commit to help our network 5 hours per week%0a +host:1606555027=198.251.81.119 +author:1606555017=jrmu +diff:1606555017:1606533110:=8c8%0a%3c # '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a---%0a> # Set up your own gaming servers, radio stations, blogs, wikis, bots, and much more%0a +host:1606555017=198.251.81.119 +author:1606533110=searchsocial +diff:1606533110:1606532589:=3a4,5%0a> %0a> %25rframe%25 Attach:rosie-1.png%0a +host:1606533110=198.251.81.119 +author:1606532589=searchsocial +diff:1606532589:1606532391:=5c5%0a%3c %25rframe%25 Attach:rosie-1.png%0a---%0a> %25height=50pct%25 Attach:rosie-1.png%0a +host:1606532589=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1606532391=searchsocial +diff:1606532391:1606530317:=4,5d3%0a%3c %0a%3c %25height=50pct%25 Attach:rosie-1.png%0a +host:1606532391=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1606530317=jrmu +diff:1606530317:1606530247:=8c8%0a%3c # Set up your own gaming servers, radio stations, blogs, wikis, bots, and much more%0a---%0a> # Set up your own gaming servers, radio stations, blogs, wikis, bots%0a21,22c21,22%0a%3c # Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%3c %0a---%0a> # Chat with our sysadmins. If they are interested in your project, they will invite you to work with them.%0a> %0a26c26,55%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a\ No newline at end of file%0a---%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a> %0a> # [[ircnow/roadmap|IRCNow Roadmap]]%0a> # [[ircnow/todo|IRCNow Todo List]]%0a> # [[ircnow/helpers|IRCNow Helpers]]%0a> # [[ircnow/networks|Supported Networks]]%0a> %0a> Helpers will share a server with an existing team. We need helpers for many different projects.%0a> %0a> These include maintaining content and moderating:%0a> %0a> * Blogs%0a> * Wiki - PMWiki%0a> * Minetest%0a> * Icecast%0a> * Asterisk (phone)%0a> * IRC Forum - FluxBB?%0a> * Marketplace - OSCommerce?%0a> * Educational courseware %0a> %0a> Developing IRC Bots%0a> %0a> * Chat Bots - Eggdrop + perl + python (using botnow)%0a> * Advertising Bots%0a> * IRC Data Mining -- python's nltk.org%0a> * IRC Bridges -- pylink, matterbridge, bitlbee %0a> %0a> Coding%0a> %0a> * IRC Web App%0a\ No newline at end of file%0a +host:1606530317=198.251.81.119 +author:1606530247=jrmu +diff:1606530247:1606530111:=7c7%0a%3c # '''Free hosting for [[third/third|approved apps']]''%0a---%0a> # '''Free hosting for approved apps'''%0a +host:1606530247=198.251.81.119 +author:1606530111=jrmu +diff:1606530111:1606528772:= +host:1606530111=198.251.81.119 +author:1606528772=jrmu +diff:1606528772:1602981167:=1,34c1,6%0a%3c (:title Join the IRCNow Helpers!:)%0a%3c %0a%3c If you would like to help IRCNow but lack sysadmin skills, you can join our team of helpers.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free hosting for approved apps'''%0a%3c # Set up your own gaming servers, radio stations, blogs, wikis, bots%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Learn some programming%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c This would be purely a non-paid, volunteer role.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they are interested in your project, they will invite you to work with them.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit to help our network 5 hours per week%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a%3c %0a%3c # [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c # [[ircnow/helpers|IRCNow Helpers]]%0a%3c # [[ircnow/networks|Supported Networks]]%0a%3c %0a%3c Helpers will share a server with an existing team. We need helpers for many different projects.%0a%3c %0a---%0a> (:title IRCNow Helpers:)%0a> %0a> If you would like to contribute to IRCNow, but have no interest in learning sysadmin, then you can become an IRCNow Helper.%0a> %0a> IRCNow Helpers will be able to get shell accounts and other special privileges but do not have the responsibility to maintain a server and will not be required to finish training. Helpers will not get a VPS, and will not get root access, but instead will share a server with an existing team. We need helpers for many different projects.%0a> %0a55c27,31%0a%3c * IRC Web App%0a\ No newline at end of file%0a---%0a> * IRC Web App%0a> %0a> Requirements:%0a> %0a> 5 hours/week commitment%0a\ No newline at end of file%0a +host:1606528772=198.251.81.119 +author:1602981167=jrmu +diff:1602981167:1602981144:=5c5%0a%3c IRCNow Helpers will be able to get shell accounts and other special privileges but do not have the responsibility to maintain a server and will not be required to finish training. Helpers will not get a VPS, and will not get root access, but instead will share a server with an existing team. We need helpers for many different projects.%0a---%0a> IRCNow Helpers will be able to get shell accounts and other special privileges but do not have the responsibility to maintain a server and will not be required to finish training. Helpers will not get a VPS but instead will share with an existing team. We need helpers for many different projects.%0a +host:1602981167=125.231.17.204 +author:1602981144=jrmu +diff:1602981144:1602981144:=1,31d0%0a%3c (:title IRCNow Helpers:)%0a%3c %0a%3c If you would like to contribute to IRCNow, but have no interest in learning sysadmin, then you can become an IRCNow Helper.%0a%3c %0a%3c IRCNow Helpers will be able to get shell accounts and other special privileges but do not have the responsibility to maintain a server and will not be required to finish training. Helpers will not get a VPS but instead will share with an existing team. We need helpers for many different projects.%0a%3c %0a%3c These include maintaining content and moderating:%0a%3c %0a%3c * Blogs%0a%3c * Wiki - PMWiki%0a%3c * Minetest%0a%3c * Icecast%0a%3c * Asterisk (phone)%0a%3c * IRC Forum - FluxBB?%0a%3c * Marketplace - OSCommerce?%0a%3c * Educational courseware %0a%3c %0a%3c Developing IRC Bots%0a%3c %0a%3c * Chat Bots - Eggdrop + perl + python (using botnow)%0a%3c * Advertising Bots%0a%3c * IRC Data Mining -- python's nltk.org%0a%3c * IRC Bridges -- pylink, matterbridge, bitlbee %0a%3c %0a%3c Coding%0a%3c %0a%3c * IRC Web App%0a%3c %0a%3c Requirements:%0a%3c %0a%3c 5 hours/week commitment%0a\ No newline at end of file%0a +host:1602981144=125.231.17.204 blob - /dev/null blob + 63934fa94b22bf03bd3dc743484cbd9b1c4196ff (mode 644) --- /dev/null +++ wiki.d/Ircnow.Howtoask @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597972647 +host=198.251.81.119 +name=Ircnow.Howtoask +rev=9 +targets=Almanack.Almanack +text=(:title How to Ask Good Questions:)%0a%0aRemember:%0a%0a# Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[almanack/almanack|almanack]] first%0a# Consult README files located in /usr/local/share/doc/pkg-readmes/, project web page, and sample conf files in /etc/examples/%0a# Search [[https://marc.info/?l=openbsd-misc|the OpenBSD mailing list archives]]%0a# Tell us exactly what you do to reproduce the error. Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error and debug logs%0a# Don't assume you have found a bug if this is your first time using the software%0a# Don't beg us to solve your problem; you must do your homework first +time=1614774915 +title=How to Ask Good Questions +author:1614774915=jrmu +diff:1614774915:1614774850:= +host:1614774915=198.251.81.119 +author:1614774850=jrmu +diff:1614774850:1598938317:=5,8c5,8%0a%3c # Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[almanack/almanack|almanack]] first%0a%3c # Consult README files located in /usr/local/share/doc/pkg-readmes/, project web page, and sample conf files in /etc/examples/%0a%3c # Search [[https://marc.info/?l=openbsd-misc|the OpenBSD mailing list archives]]%0a%3c # Tell us exactly what you do to reproduce the error. Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error and debug logs%0a---%0a> # Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[openbsd|OpenBSD wiki]] first%0a> # Consult the project web page, sample conf files in /etc/examples/, and READMEs located in /usr/local/share/doc/pkg-readmes/%0a> # Tell us exactly what you did and how to reproduce the bug.%0a> # Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error logs, debug logs%0a10c10,11%0a%3c # Don't beg us to solve your problem; you must do your homework first%0a\ No newline at end of file%0a---%0a> # Don't beg; do your homework first%0a> # Ask smart questions to get good answers.%0a\ No newline at end of file%0a +host:1614774850=198.251.81.119 +author:1598938317=jrmu +diff:1598938317:1597973532:=6d5%0a%3c # Consult the project web page, sample conf files in /etc/examples/, and READMEs located in /usr/local/share/doc/pkg-readmes/%0a +host:1598938317=38.81.163.143 +author:1597973532=jrmu +diff:1597973532:1597973403:=1c1%0a%3c (:title How to Ask Good Questions:)%0a---%0a> (:title How to Ask Smart Questions:)%0a +host:1597973532=38.81.163.143 +author:1597973403=jrmu +diff:1597973403:1597973385:=4a5%0a> # You did not pay us any money so we are not your personal tutors.%0a +host:1597973403=38.81.163.143 +author:1597973385=jrmu +diff:1597973385:1597972671:=5c5%0a%3c # You did not pay us any money so we are not your personal tutors.%0a---%0a> # You did not pay us any money, we are not your personal tutors.%0a +host:1597973385=38.81.163.143 +author:1597972671=jrmu +diff:1597972671:1597972655:=3c3%0a%3c Remember:%0a---%0a> Repeat after me:%0a +host:1597972671=38.81.163.143 +author:1597972655=jrmu +diff:1597972655:1597972647:=1c1%0a%3c (:title How to Ask Smart Questions:)%0a---%0a> (:title How to Ask Snart Questions:)%0a +host:1597972655=38.81.163.143 +author:1597972647=jrmu +diff:1597972647:1597972647:=1,11d0%0a%3c (:title How to Ask Snart Questions:)%0a%3c %0a%3c Repeat after me:%0a%3c %0a%3c # You did not pay us any money, we are not your personal tutors.%0a%3c # Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[openbsd|OpenBSD wiki]] first%0a%3c # Tell us exactly what you did and how to reproduce the bug.%0a%3c # Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error logs, debug logs%0a%3c # Don't assume you have found a bug if this is your first time using the software%0a%3c # Don't beg; do your homework first%0a%3c # Ask smart questions to get good answers.%0a\ No newline at end of file%0a +host:1597972647=38.81.163.143 blob - /dev/null blob + 9fa3351ea5b0a97d2f4b294827a77b2370fcf10d (mode 644) --- /dev/null +++ wiki.d/Ircnow.IRCitizen @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613367137 +host=198.251.81.119 +name=Ircnow.IRCitizen +rev=1 +targets=Third.Third,Ircnow.Goals,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Ircnow.Roadmap,Marketing.Marketing +text=(:title Become an IRCitizen! :)%0a%0aYou can apply to become an IRCitizen and enjoy netizen rights!%0a%0a!! Your Reward%0a%0a# '''Free hosting for [[third/third|open source apps']]''%0a# '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Learn some programming%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a# Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%0a!! Your Training%0a%0a# Become familiar with [[freedom/freedom|our network policies]]%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]] +time=1613367137 +title=Become an IRCitizen! +author:1613367137=jrmu +diff:1613367137:1613367137:=1,32d0%0a%3c (:title Become an IRCitizen! :)%0a%3c %0a%3c You can apply to become an IRCitizen and enjoy netizen rights!%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free hosting for [[third/third|open source apps']]''%0a%3c # '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Learn some programming%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a%3c # Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%3c %0a%3c !! Your Training%0a%3c %0a%3c # Become familiar with [[freedom/freedom|our network policies]]%0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a\ No newline at end of file%0a +host:1613367137=198.251.81.119 blob - /dev/null blob + 7ea7f98101244f0f00f1da0e58f923798553e8cf (mode 644) --- /dev/null +++ wiki.d/Ircnow.Ilines @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610358919 +host=125.224.19.86 +name=Ircnow.Ilines +rev=2 +targets= +text=[@%0azeus.darkshell.eu 173.212.254.203%0aznc.darkshell.eu 185.219.75.0/24%0aipv6 network 2a02:c207:2046:3492::/64%0a@] +time=1610358935 +author:1610358935=jrmu +diff:1610358935:1610358919:=1d0%0a%3c [@%0a5d3%0a%3c @]%0a\ No newline at end of file%0a +host:1610358935=125.224.19.86 +author:1610358919=jrmu +diff:1610358919:1610358919:=1,3d0%0a%3c zeus.darkshell.eu 173.212.254.203%0a%3c znc.darkshell.eu 185.219.75.0/24%0a%3c ipv6 network 2a02:c207:2046:3492::/64%0a +host:1610358919=125.224.19.86 blob - /dev/null blob + 3b9004caee73f656b92bb98ecfe1662719dc9a9b (mode 644) --- /dev/null +++ wiki.d/Ircnow.Linux @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1633667493 +host=125.224.22.161 +name=Ircnow.Linux +rev=3 +targets=Freedom.Freedom,Vps.Vps,Shell.Shell,Ircnow.Servers,Ircnow.Goals,Ircnow.Minutemin +text=(:title Run Your Favorite OS on OpenBSD VMM:)%0a%0a!! Free 4-Week Virtual Private Server With Any Supported OS%0a%0aTo ensure that IRCNow is a network that the users control, able to run%0asoftware that users love, we are planning to add support for any free/open source%0aoperating system on our virtual machines. Our hypervisor is running OpenBSD,%0aand we need your help to add support for your favorite OS to run as guest.%0a%0aWe are offering free a 4-week trial to help test and set up the VPS.%0a%0a!! Call for Help%0a%0aWe need your help with:%0a%0a# Documenting installation, configuration, and usage of your favorite%0aOS inside OpenBSD VMM%0a# Participate in the IRCNow community on IRC and email, and help with occasional%0atech support%0a# Help contribute code%0a%0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! How to Apply%0a%0a# If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a# Send an email to admin@ircnow.org%0a# Get verified using any one method below:%0a # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a # Provide a photo ID, or%0a # Provide personal social media/website/blog/work portfolio/resume%0a # Send $0.01 one cent using an accepted payment option%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +time=1633668714 +title=Run Your Favorite OS on OpenBSD VMM +author:1633668714=jrmu +diff:1633668714:1633667972:=1,21c1,7%0a%3c (:title Run Your Favorite OS on OpenBSD VMM:)%0a%3c %0a%3c !! Free 4-Week Virtual Private Server With Any Supported OS%0a%3c %0a%3c To ensure that IRCNow is a network that the users control, able to run%0a%3c software that users love, we are planning to add support for any free/open source%0a%3c operating system on our virtual machines. Our hypervisor is running OpenBSD,%0a%3c and we need your help to add support for your favorite OS to run as guest.%0a%3c %0a%3c We are offering free a 4-week trial to help test and set up the VPS.%0a%3c %0a%3c !! Call for Help%0a%3c %0a%3c We need your help with:%0a%3c %0a%3c # Documenting installation, configuration, and usage of your favorite%0a%3c OS inside OpenBSD VMM%0a%3c # Participate in the IRCNow community on IRC and email, and help with occasional%0a%3c tech support%0a%3c # Help contribute code%0a%3c %0a---%0a> (:title Run Linux on OpenBSD VMM:)%0a> %0a> !! Help document Linux virtual machines on OpenBSD%0a> %0a> IRCNow's hypervisor is running OpenBSD, and we'd like to add support%0a> for Linux virtual machines. We need your help with documentation and user support.%0a> %0a33a20,31%0a> !! [[minutemin/bootcamp|What You'll Learn]]%0a> %0a> # How to use OpenBSD%0a> # How to set up your own VPN (virtual private network)%0a> # How to set up your own mail server%0a> # How to set up your own webserver and web applications%0a> # How to configure TLS for security%0a> # How to run your own IRC social network (includes bots, bouncers, services)%0a> # How to set up your own file sharing server%0a> # How to set up your own firewall%0a> # How to set up your own nameserver and how to purchase a custom domain%0a> %0a37c35%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a---%0a> # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a47,48c45,46%0a%3c At the end of the four free weeks, you can:%0a%3c %0a---%0a> At the end of the four free weeks course, you can:%0a> %0a50a49%0a> %0a +host:1633668714=125.224.22.161 +author:1633667972=jrmu +diff:1633667972:1633667493:=1,7c1,6%0a%3c (:title Run Linux on OpenBSD VMM:)%0a%3c %0a%3c !! Help document Linux virtual machines on OpenBSD%0a%3c %0a%3c IRCNow's hypervisor is running OpenBSD, and we'd like to add support%0a%3c for Linux virtual machines. We need your help with documentation and user support.%0a%3c %0a---%0a> (:title Become a Pioneer!:)%0a> %0a> !! Free 4-Week Sysadmin Course%0a> %0a> If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' OpenBSD sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a> %0a +host:1633667972=125.224.22.161 +author:1633667493=jrmu +diff:1633667493:1633667493:=1,48d0%0a%3c (:title Become a Pioneer!:)%0a%3c %0a%3c !! Free 4-Week Sysadmin Course%0a%3c %0a%3c If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' OpenBSD sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a%3c # How to use OpenBSD%0a%3c # How to set up your own VPN (virtual private network)%0a%3c # How to set up your own mail server%0a%3c # How to set up your own webserver and web applications%0a%3c # How to configure TLS for security%0a%3c # How to run your own IRC social network (includes bots, bouncers, services)%0a%3c # How to set up your own file sharing server%0a%3c # How to set up your own firewall%0a%3c # How to set up your own nameserver and how to purchase a custom domain%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a%3c # Send an email to admin@ircnow.org%0a%3c # Get verified using any one method below:%0a%3c # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a%3c # Provide a photo ID, or%0a%3c # Provide personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using an accepted payment option%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%3c %0a +host:1633667493=125.224.22.161 blob - /dev/null blob + 38fe927c21b3e05f765f7ec245d2835c8dcd39aa (mode 644) --- /dev/null +++ wiki.d/Ircnow.Milestones @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +ctime=1634295659 +host=2a03:e600:100::29 +name=Ircnow.Milestones +rev=7 +targets= +text=* ~Nov 2018 -- lecturify.net formed%0a* ~mmm-yyyy -- ircfun.net formed%0a* ~mmm-yyyy -- shelltalk.net formed%0a* ~mmm-yyyy -- jujube.ircnow.org formed%0a* ~mmm-yyyy -- ircforever.org formed%0a* ~mmm-yyyy -- bsdforall.org formed%0a* ~mmm-yyyy -- nastycode.com formed%0a* ~mmm-yyyy -- planetofnix.com formed%0a* ~mmm-yyyy -- ircology.com formed%0a* ~mmm-yyyy -- oddprotocol.org formed%0a* ~mmm-yyyy -- thunderirc.net formed%0a* ~mmm-yyyy -- freeirc.org formed%0a* ~Nov 2019 -- ircnow.org registered%0a* March 2020 -- Begin creating open training course, open recruitment%0a* June 2020 -- Network declaration issued%0a* July 2020 -- IRCNow constitution drafted%0a* ? 2020 -- Begin transferring ownership of domains to teams%0a* July 2021 -- Begin publishing finance accounts%0a* September 2021 -- Begin research into Plan 9 fork%0a* October 2021 -- Begin welcoming alternative operating systems%0a* October 2021 -- Set up CVS code repos%0a* Future -- Set up public mailing list archives%0a* Future -- Elect representatives%0a* Future -- Define and count number of netizens%0a%0a* Future -- Networks break even/self-sustaining%0a* Future -- Transfer ownership of domains%0a +time=1635512764 +author:1635512764=AncientWisdom +diff:1635512764:1635504314:=1,12c1%0a%3c * ~Nov 2018 -- lecturify.net formed%0a%3c * ~mmm-yyyy -- ircfun.net formed%0a%3c * ~mmm-yyyy -- shelltalk.net formed%0a%3c * ~mmm-yyyy -- jujube.ircnow.org formed%0a%3c * ~mmm-yyyy -- ircforever.org formed%0a%3c * ~mmm-yyyy -- bsdforall.org formed%0a%3c * ~mmm-yyyy -- nastycode.com formed%0a%3c * ~mmm-yyyy -- planetofnix.com formed%0a%3c * ~mmm-yyyy -- ircology.com formed%0a%3c * ~mmm-yyyy -- oddprotocol.org formed%0a%3c * ~mmm-yyyy -- thunderirc.net formed%0a%3c * ~mmm-yyyy -- freeirc.org formed%0a---%0a> * ~Nov 2018 -- lecturify formed%0a +host:1635512764=2a03:e600:100::29 +author:1635504314=jrmu +diff:1635504314:1635504278:=13d12%0a%3c * Future -- Define and count number of netizens%0a +host:1635504314=38.87.162.8 +author:1635504278=jrmu +diff:1635504278:1635504181:=12d11%0a%3c * Future -- Elect representatives%0a +host:1635504278=38.87.162.8 +author:1635504181=jrmu +diff:1635504181:1634547391:=9c9%0a%3c * October 2021 -- Begin welcoming alternative operating systems%0a---%0a> * October 2021 -- Begin offering alternative operating systems%0a +host:1635504181=38.87.162.8 +author:1634547391=jrmu +diff:1634547391:1634295865:=0a1%0a> %0a7d7%0a%3c * July 2021 -- Begin publishing finance accounts%0a10,11d9%0a%3c * October 2021 -- Set up CVS code repos%0a%3c * Future -- Set up public mailing list archives%0a +host:1634547391=38.87.162.8 +author:1634295865=jrmu +diff:1634295865:1634295659:=1,12c1,4%0a%3c %0a%3c * ~Nov 2018 -- lecturify formed%0a%3c * ~Nov 2019 -- ircnow.org registered%0a%3c * March 2020 -- Begin creating open training course, open recruitment%0a%3c * June 2020 -- Network declaration issued%0a%3c * July 2020 -- IRCNow constitution drafted%0a%3c * ? 2020 -- Begin transferring ownership of domains to teams%0a%3c * September 2021 -- Begin research into Plan 9 fork%0a%3c * October 2021 -- Begin offering alternative operating systems%0a%3c %0a%3c * Future -- Networks break even/self-sustaining%0a%3c * Future -- Transfer ownership of domains%0a---%0a> ~Nov 2018 -- lecturify formed%0a> ~Nov 2019 -- ircnow.org registered%0a> June 2020 -- ircnow.org registered%0a> %0a +host:1634295865=125.224.28.113 +author:1634295659=jrmu +diff:1634295659:1634295659:=1,4d0%0a%3c ~Nov 2018 -- lecturify formed%0a%3c ~Nov 2019 -- ircnow.org registered%0a%3c June 2020 -- ircnow.org registered%0a%3c %0a +host:1634295659=125.224.28.113 blob - /dev/null blob + 030b2f26e4760dc2bd36a28cccb56c3a681231e2 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Minutemin @@ -0,0 +1,47 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=it's getting smaller. +ctime=1611484624 +host=2.178.154.172 +name=Ircnow.Minutemin +rev=11 +targets=Vps.Vps,Openbsd.Openbsd,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Training,Openbsd.Ongoing,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Become a Minute-min!:)%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aMinute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%0a!! Your Reward%0a%0a# '''Become an IRC oper and staff on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a# Learn to write code for real users%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 4 weeks.%0a# After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1631253232 +title=Become a Minute-min! +author:1631253232=mkf +csum:1631253232=it's getting smaller. +diff:1631253232:1617720590:=32c32%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 4 weeks.%0a---%0a> # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a +host:1631253232=2.178.154.172 +author:1617720590=jrmu +diff:1617720590:1617019503:=26c26%0a%3c # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a---%0a> # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us. %0a +host:1617720590=198.251.81.44 +author:1617019503=jrmu +diff:1617019503:1612531572:=26c26%0a%3c # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us. %0a---%0a> # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a +host:1617019503=198.251.81.44 +author:1612531572=jrmu +diff:1612531572:1611889216:=10c10%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a---%0a> # '''[[vps/vps|Free OpenBSD VPS]]'''%0a +host:1612531572=125.231.56.15 +author:1611889216=jrmu +diff:1611889216:1611889203:=3c3%0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/minutemin.png%0a +host:1611889216=125.231.24.226 +author:1611889203=jrmu +diff:1611889203:1611889194:=3c3%0a%3c %25width=70pct rfloat%25 Attach:Marketing/minutemin.png%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/minutemin.png%0a +host:1611889203=125.231.24.226 +author:1611889194=jrmu +diff:1611889194:1611543106:=3,4d2%0a%3c %25width=40pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a5a4,5%0a> %0a> %25width=40pct%25 Attach:Marketing/minutemin.png%0a +host:1611889194=125.231.24.226 +author:1611543106=jrmu +diff:1611543106:1611487797:=33d32%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a +host:1611543106=125.231.20.163 +author:1611487797=jrmu +diff:1611487797:1611487780:=5c5%0a%3c %25width=40pct%25 Attach:Marketing/minutemin.png%0a---%0a> Attach:Marketing/minutemin.png%0a +host:1611487797=125.231.20.163 +author:1611487780=jrmu +diff:1611487780:1611484624:=4,5d3%0a%3c %0a%3c Attach:Marketing/minutemin.png%0a +host:1611487780=125.231.20.163 +author:1611484624=jrmu +diff:1611484624:1611484624:=1,38d0%0a%3c (:title Become a Minute-min!:)%0a%3c %0a%3c Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1611484624=125.231.20.163 blob - /dev/null blob + 24a6291a72d97ad2aaf6059bb6bb0d17af40d97b (mode 644) --- /dev/null +++ wiki.d/Ircnow.Netizen @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610018385 +host=198.251.81.119 +name=Ircnow.Netizen +rev=7 +targets=Third.Third,Ircnow.Goals,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Ircnow.Roadmap,Marketing.Marketing +text=(:title Become a IRCNow Netizen!:)%0a%0aYou can apply to become an IRCNow netizen and enjoy netizenship rights!%0a%0a!! Your Reward%0a%0a# '''Free hosting for [[third/third|open source apps']]''%0a# '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Learn some programming%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a# Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%0a!! Your Training%0a%0a# Become familiar with [[freedom/freedom|our network policies]]%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]] +time=1614525512 +title=Become a IRCNow Netizen! +author:1614525512=jrmu +diff:1614525512:1614525458:=1,3c1,3%0a%3c (:title Become a IRCNow Netizen!:)%0a%3c %0a%3c You can apply to become an IRCNow netizen and enjoy netizenship rights!%0a---%0a> (:title Become an IRCitizen! :)%0a> %0a> You can apply to become an IRCitizen and enjoy netizen rights!%0a +host:1614525512=198.251.81.119 +author:1614525458=jrmu +diff:1614525458:1610499142:=1,3c1,3%0a%3c (:title Become an IRCitizen! :)%0a%3c %0a%3c You can apply to become an IRCitizen and enjoy netizen rights!%0a---%0a> (:title Become an IRCNow Netizen!:)%0a> %0a> You can apply to become an IRCNow netizen and enjoy netizenship rights!%0a +host:1614525458=198.251.81.119 +author:1610499142=jrmu +diff:1610499142:1610499086:=31,32c31%0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1610499142=125.224.27.48 +author:1610499086=jrmu +diff:1610499086:1610027317:=26,31c26%0a%3c # Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%3c %0a%3c !! Your Training%0a%3c %0a%3c # Become familiar with [[freedom/freedom|our network policies]]%0a%3c #%0a\ No newline at end of file%0a---%0a> # Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1610499086=125.224.27.48 +author:1610027317=jrmu +diff:1610027317:1610018472:=6a7%0a> # Gain full rights of netizenship%0a +host:1610027317=125.231.63.134 +author:1610018472=jrmu +diff:1610018472:1610018385:=7d6%0a%3c # Gain full rights of netizenship%0a +host:1610018472=125.231.63.134 +author:1610018385=jrmu +diff:1610018385:1610018385:=1,26d0%0a%3c (:title Become an IRCNow Netizen!:)%0a%3c %0a%3c You can apply to become an IRCNow netizen and enjoy netizenship rights!%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free hosting for [[third/third|open source apps']]''%0a%3c # '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Learn some programming%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a%3c # Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1610018385=125.231.63.134 blob - /dev/null blob + 05e73e092ad9fb68594a677bc8e5b92199d4ac13 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Networks @@ -0,0 +1,856 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1603276066 +host=38.87.162.8 +name=Ircnow.Networks +rev=273 +targets=Ircnow.Ilines +text=(:title IRCNow Networks:)%0a%0aYour team will be responsible for:%0a%0a# Providing user support for bouncers (and perhaps shell accounts)%0a# Handling and dealing with abuse reports (when you get an abuse report, please email abuse@ircnow.org)%0a# Writing down channel passwords and appointing a successor so that your channel does not get lost%0a%0aNote:%0a%0a# Ally networks are friendly!%0a# Networks without ilines may gline you at any time%0a# Use of networks that have 'No' in the Ally column should be discouraged. They may have many users today, but we've confirmed that '''they do not want to work closely with us'''.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays ||! Iline ||! Ally ||%0a|| ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || || Yes || ||%0a|| 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Grape || Yes || ||%0a||Sturtz IRC || irc.sturtz.cf || 6697 || || || || || || ||%0a|| 42net || irc.42net.org || 6667 || || Fig || || || || ||%0a|| absoluty || irc.absoluty-irc.fr || 6667 || || || || || || ||%0a|| aerospacechat || irc.aerospacechat.com || +6697 || || Fig || || || || Yes ||%0a|| afterall || irc.after-all.org || 6667 || || || || || || No ||%0a|| afternet || irc.afternet.org || +6697 || || Orange || || || || ||%0a|| afterx || irc.afterx.net || +6697 || || Fig || || || || ||%0a|| allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || || ||%0a|| allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || || ||%0a|| allrednc || irc.allrednc.org || ~6697 || || Fig || || || || ||%0a|| allz4masti || irc.allz4masti.com || 6667 || || || || || || No ||%0a|| alphachat || irc.alphachat.net || +6697 || || Plum || || || || ||%0a|| amicachat || irc.amicachat.net || ~6697 || || || || || || No ||%0a|| amorlatino || irc.amorlatino.org || 6667 || || Plum || || || || ||%0a|| anzub || irc.anzub.net || ~6697 || || || || || || ||%0a|| anope || irc.anope.org || 6667 || || Banana || || || || ||%0a|| apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || Jujube || || ||%0a|| atrum || irc.atrum.org || ~6697 || || || || || || ||%0a|| austnet || lego.jp.austnet.org || ~6697 || || Orange || || || || ||%0a|| axon || irc.axon.pw || +6697 || || || || || || No ||%0a|| ayochat || irc.ayochat.or.id || 6667 || || Fig || || || || Ask ||%0a|| azzurra || irc.azzurra.org || +6697 || || Fig || || || || ||%0a|| banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || Yes ||%0a|| barton || irc.barton.de || 6667 || || Fig || || || || Ask ||%0a|| bgirc || irc.bgirc.com || ~6697 || || Fig || || || || ||%0a|| bitlbee || 127.0.0.1 || 6668 || || || || || || ||%0a|| blitzed || irc.blitzed.org || +6697 || || Fig || || || || ||%0a|| bolchat || irc.bolchat.com || 6667 || || || || || || No ||%0a|| brasirc || irc.brasirc.com.br || ~6697 || || Fig || || || || ||%0a|| bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || || ||%0a|| bsdunix || irc.bsdunix.us || +6697 || || Fig || || || || ||%0a|| buenchat || irc.buenchat.org || ~6697 || || Banana || || Banana || || Yes ||%0a|| canternet || irc.canternet.org || +6697 || || Fig || || || || ||%0a|| cavenet || ipv6.us.cavenet.noxt.us || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a|| chaat || irc.chaat.fr || 6667 || || || || || WIP || TBD ||%0a|| chat4all || irc.chat4all.org || ~6697 || || Fig || || || || ||%0a|| chatasia || irc.chatasia.net || ~6697 || || || || || || ||%0a|| chateamos || TBD.chateamos.chat || TBD || || || || || WIP || TBD ||%0a|| chateo || irc.chateo.org || ~6697 || || Fig || || || || ||%0a|| chatgentr || chat.gen.tr || 6667 || || || || || || ||%0a|| chathispano || irc.chathispano.com || +6697 || || Plum || || || || ||%0a|| chathub || irc.chathub.org || +6697 || || Mango || - || || || ||%0a|| chating || irc.chating.id || 6667 || || Fig || - || || || Ask ||%0a|| chatjunkies || irc.chatjunkies.org || +6697 || || || || || || Ask ||%0a|| chatlatinos || irc.chatlatinos.org || +6697 || || || || || || ||%0a|| chatlatinoscl || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a|| chatlounge || irc.chatlounge.net || +6697 || || Lemon || Lemon || || || Ask ||%0a|| chatopia || irc.chatopia.net || +6697 || || || || || || Ask ||%0a|| chatplezier || irc.chatplezier.com || ~6697 || || || || || || ||%0a|| ChatSansar || TBD.chatsansar.TBD || TBD || || || || || WIP || TBD ||%0a|| chatspike || irc.chatspike.net || ~6697 || || || || || || ||%0a|| chatsystems || irc.chatsystems.net || +6697 || || || || || || Yes ||%0a|| chatzona || irc.chatzona.org || 6667 || || Plum || || || || Ask ||%0a|| chewbakka || irc.chewbakka.ch || +6697 || || Fig || || || || Yes ||%0a|| dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || Grape || || No ||%0a|| darkfasel || irc.darkfasel.net || +6697 || || || || || || ||%0a|| darkirc || ipv4.eggdrop.uk || +6697 || || Pear || Lemon || || || Yes ||%0a|| darkmyst || irc2.darkmyst.org || ~6697 || Free, online text-based Roleplaying Network || Pear || || || Yes || || ||%0a|| darkscience || irc.darkscience.net || +6697 || || Plum || || || || ? ||%0a|| dejatoons || irc.dejatoons.net || ~6697 || || || || || || ||%0a|| desirenet || irc.desirenet.org || 6667 || || Pear || || || Yes || ||%0a|| digitalirc || irc.digitalirc.org || +6697 || || || || || || ||%0a|| edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || Banana || || ||%0a|| efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || || No ||%0a|| efnext || irc.work || ~6697 || || Mango || || || || Yes ||%0a|| ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a|| enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || Yes || ||%0a|| epiknet || irc.epiknet.org || +6697 || || || || || || ||%0a|| esper || irc.esper.net || +6697 || || || || || || ||%0a|| euirc || irc.euirc.net || 6667 || || || || || || ||%0a|| europnet || ipv6.europnet.org || 6667 || || Pear || || || Yes || ||%0a|| evilnet || irc.evilnet.org || ~6697 || || Fig || || || - || Ask ||%0a|| evolu || irc.evolu.net || ~6697 || || Fig || || || || ||%0a|| ewnix || irc.ewnix.net || +6697 || || || || || || Ask ||%0a|| exchat || irc.exchat.net || ~6697 || || || || || || ||%0a|| exolia || irc.exolia.net || 6667 || || || || || || ||%0a|| explosionirc || irc.explosionirc.net || 6667 || || || || || || ||%0a|| forumcerdas || irc.forumcerdas.net || ~6697 || || || || || || Ask ||%0a|| frantech || irc.frantech.ca || +6697 || || Mango || || || - || Ask ||%0a|| freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a|| freeunibg || irc.freeunibg.eu || 6667 || || || || || || Ask ||%0a|| freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || Banana || || ||%0a|| friendsirc || irc.friendsirc.com || ~6697 || || || || || || ||%0a|| gamesurge || irc.gamesurge.net || 6667 || || Pear || || || Yes || ||%0a|| geeknode || irc.geeknode.org || +6697 || || || || || || ||%0a|| geekshed || irc.geekshed.net || +6697 || || Pear || || || Yes || ||%0a|| germanelite || irc.german-elite.net || ~6697 || || || || || || ||%0a|| geveze || irc.geveze.org || 6667 || || || || || || No ||%0a|| geyiktr || irc.geyiktr.net || 6667 || || || || || || ||%0a|| gigairc || irc.gigairc.net || ~6697 || || || || || || ||%0a|| gimp || irc.gimp.org || +6697 || || || || || || ||%0a|| globalirc || irc.global-irc.org || 6667 || || Pear || || || Yes || ||%0a|| globalirc-it || irc.globalirc.it || ~6697 || || || || || || ||%0a|| gotham || irc.gotham.chat || 6667 || || Plum || || || || ||%0a|| greekirc || irc.greekirc.net || 6667 || || || || || || ||%0a|| hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || || ||%0a|| hackthissite || irc.hackthissite.org || +7000 || || || || || || ||%0a|| hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a|| hybridirc || ipv6.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the online community || Orange || || || Yes || ||%0a|| icqchat || irc.icq-chat.com || +6697 || || || || || || ||%0a|| insomnia || irc.insomnia247.nl || 6667 || || || || || || ||%0a|| irc4fun || irc.irc4fun.net || 6667 || || || || || || Ask ||%0a|| irccloud || irc.irccloud.com || +6697 || || Banana || || Banana || || No ||%0a|| ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || || No ||%0a|| ircfreakz || irc.ircfreakz.net || ~6697 || || || || || || ||%0a|| ircgate || irc.ircgate.it || 6667 || || || || || || No ||%0a|| irchaven || irc.irchaven.org || 6667 || || || || || || Ask ||%0a|| irchighway || irc.irchighway.net || ~6697 || || Pear || || || Yes || Ask ||%0a|| ircnet || open.ircnet.net || 6667 || || Banana || || Banana || || Ask ||%0a|| ircpal || irc.ircpal.net || 6667 || || || || || Yes || Ask ||%0a|| ircsource || irc.coolserver.org || ~6697 || || || || || || ||%0a|| irctl || chat.irc.tl || ~6697 || || || || || || ||%0a|| irczone || irc6.irczone.net || ~6697 || || || || || || Yes ||%0a|| italian-amici || irc.italian-amici.org || 6667 || || || || || || ||%0a|| juggler || irc.juggler.jp || 6667 || || || || || || ||%0a|| kalbim || irc.kalbim.net || 6667 || || || || || || ||%0a|| kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || Grape || - || No ||%0a|| liberachat || irc.libera.chat || ~6697 || || || || || || No ||%0a|| librairc || irc.librairc.net || ~6697 || || Plum || || || || No ||%0a|| linuxconsole || linuxconsole.net || ~6697 || || || || || || ||%0a|| luatic || irc.luatic.net || 6667 || || || || || || ||%0a|| malikania || malikania.fr || ~6697 || || || || || || Ask ||%0a|| mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || || ||%0a|| mindforge || irc.mindforge.org || 6667 || || || || || || ||%0a|| myirc || chat.myirc.net || +6697 || || || || || || ||%0a|| nationchat || irc.nationchat.org || 6667 || || Pear || || || Yes || Ask ||%0a|| netchat || irc.netchat.cl || 6667 || || Plum || || || || ||%0a|| nfnet || irc.nfnet.org || 6667 || || || || || || ||%0a|| oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || Lemon || || || No ||%0a|| oltreirc || irc.oltreirc.net || +6697 || || || || || || ||%0a|| onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || || ||%0a|| openjoke || irc.openjoke.org || ~6697 || || || || || || ||%0a|| overthewire || ircs.overthewire.org || +6697 || || Plum || || || || Ask ||%0a|| p2p-net || irc.p2p-network.net || +6697 || || || || || || ||%0a|| perl || irc.perl.org || 6667 || || Banana || || Banana || || Ask ||%0a|| pirc-pl || irc.pirc.pl || +6697 || || || || || || Ask ||%0a|| ptnet || irc.ptnet.org || +6697 || || || || || || Ask ||%0a|| puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No (glined us) ||%0a|| quake || irc6.quakenet.org || 6667 || || Pear || Grape || Banana || Yes || No ||%0a|| quartznet || irc.quartznet.org || 6667 || || || || || || ||%0a|| recycled-irc || irc.recycled-irc.net || 6667 || || || || || || ||%0a|| redhispano || irc.redhispano.org || ~6697 || || || || || || Yes ||%0a|| redlatina || irc.red-latina.net || ~6697 || || || || || || Yes ||%0a|| rezosup || irc.rezosup.org || ~6697 || || || || || || ||%0a|| rizon || irc6.rizon.net || ~6697 || || Plum || Grape || Grape || Yes || Ask ||%0a|| robothive || irc.robothive.org || ~6697 || || || || || || Ask ||%0a|| RoIRCoP || TBD.roircop.TBD || TBD || || || || || WIP || TBD ||%0a|| rootworld || irc.rootworld.net || 6667 || || || || || || ||%0a|| rusnet || irc.lucky.net || 6660 || || Orange || || || || Ask ||%0a|| scenep2p || irc.scenep2p.net || ~6697 || || || || || || ||%0a|| scratch-network || irc.scratch-network.net || +7000 || || || || || || ||%0a|| shadowfire || irc.shadowfire.org || +7000 || || || || || || ||%0a|| simosnap || irc.simosnap.com || +6697 || || || || || || No ||%0a|| skychatz || irc.skychatz.org || ~6697 || || || || || || Ask ||%0a|| slashnet || irc.slashnet.org || +6697 || || || || || || ||%0a|| smurfnet || irc.smurfnet.ch || ~6697 || || || || || || ||%0a|| snoonet || irc.snoonet.org || +6697 || || Plum || || || || No ||%0a|| sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || Jujube || - || No ||%0a|| sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || || - || ||%0a|| spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || || - || ||%0a|| spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || || Yes ||%0a|| spotchat || irc.spotchat.org || +6697 || || || || || || ||%0a|| StormBit || TBD.stormbit.net || TBD || || || || || WIP || TBD ||%0a|| superhosts || irc.superhosts.net || 6667 || || || || || || ||%0a|| svipchat || irc.svipchat.org || ~6697 || || || || || || ||%0a|| swiftirc || irc.swiftirc.net || 6667 || || Plum || || || || ||%0a|| swissirc || irc.swissirc.net || ~6697 || || || || || || ||%0a|| swisschat || irc.swisschat.tk || 6667 || || || || || || ||%0a|| synirc || irc.synirc.net || ~6697 || synIRC provide a free, safe, stable and secure environment for IRC || Mango || || || - || ||%0a|| technet || irc.technet.xi.ht || +6697 || || Pear || Lemon || || Yes || Yes ||%0a|| thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || || - || No ||%0a|| tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || || - || Ask ||%0a|| trendsohbet || irc.trendsohbet.com || 6667 || || || || || || ||%0a|| trsohbet || irc.trsohbet.com || 6667 || || || || || || No ||%0a|| tweakers || irc.tweakers.net || 6667 || || Banana || || Banana || || ||%0a|| twistednet || irc.twistednet.org || ~6697 || || || || || || ||%0a|| twitch || irc.twitch.tv || 6667 || streaming platform (Can't be used for BNCs; Banana tested it) || No || || No || || No ||%0a|| umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes || Yes ||%0a|| undernet || irc6.undernet.org || 6667 || || Plum || Grape || || || No ||%0a|| universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || || No ||%0a|| universochat || irc.unviersochat.com || || || || || || || ||%0a|| uugrn || irc.uugrn.org || +6670 || || || || || || Ask ||%0a|| viciochat || irc.viciochat.org || 6667 || || || || || Ask || ||%0a|| virtualife || irc.virtualife.org || ~6697 || || || || || || ||%0a|| w3 || irc.w3.org || 6667 || || || || || || ||%0a|| wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || || - || ||%0a|| wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || || - || ||%0a|| xertion || irc.xertion.org || +6697 || || || || || || ||%0a|| zairc || irc.zairc.net || ~6697 || || || || || || No ||%0a|| zandronum || irc.zandronum.com || ~6697 || || || || || || ||%0a|| zemra || irc.zemra.org || +6697 || || Jujube || Grape || Jujube || || ||%0a|| zenet || irc.zenet.org || +6697 || || || || || || ||%0a|| zeronode || irc.zeronode.net || +6697 || || || || || || ||%0a|| zoite || irc.zoite.net || +6697 || || || || || || ||%0a|| zonebg || irc.zonebg.eu || ~6697 || || || || || || ||%0a|| zurna || irc.zurna.net || 6667 || || Jujube || Grape || Jujube || || ||%0a|| zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || || ||%0a|| ircsource || ircsource.quoservers.net || ~6697 || || Nastycode || ShellTalk || || Yes || Yes ||%0a|| libera || irc.libera.chat || ~6697 || || Plum || || || || ||%0a[[Ircnow/Ilines|Partner Network Ilines]]%0a%0aNon-IRC Networks%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! From Protocol ||! From Room ||! To IRCNow Channel ||! Team ||! Software ||%0a|| Matrix || #ircnow:matrix.org || #ircfree || Pineapple || ||%0a|| Matrix || #ircnow:nfld.uk || #nastycode || Nastycode || ||%0a|| Matrix || #ircnow:halogen.city || #nastycode || Nastycode || ||%0a|| XMPP || #ircnow:ircnow.org || || || ||%0a|| XMPP || #lecturify:ircnow.org || #lecturify || || ||%0a|| Discord || https://discord.com/invite/gZ4M3m2 || || || ||%0a|| Telegram || https://t.me/ircnow || || || ||%0a +time=1635118493 +title=IRCNow Networks +author:1635118493=jrmu +diff:1635118493:1632375416:=63,64c63%0a%3c || chatlatinos || irc.chatlatinos.org || +6697 || || || || || || ||%0a%3c || chatlatinoscl || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a---%0a> || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a +host:1635118493=38.87.162.8 +author:1632375416=jrmu +diff:1632375416:1628733454:=33d32%0a%3c || anzub || irc.anzub.net || ~6697 || || || || || || ||%0a +host:1632375416=38.87.162.8 +author:1628733454=MIF +diff:1628733454:1628684291:=19d18%0a%3c ||Sturtz IRC || irc.sturtz.cf || 6697 || || || || || || ||%0a +host:1628733454=209.56.64.253 +author:1628684291=jrmu +diff:1628684291:1625967491:=50c50%0a%3c || cavenet || ipv6.us.cavenet.noxt.us || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a---%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a +host:1628684291=38.87.162.8 +author:1625967491=jrmu +diff:1625967491:1624200214:=178a179%0a> || sturtz || irc.sturtz.xyz || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a +host:1625967491=38.81.163.143 +author:1624200214=jrmu +diff:1624200214:1624099981:=5,8c5,9%0a%3c # Providing user support for bouncers (and perhaps shell accounts)%0a%3c # Handling and dealing with abuse reports (when you get an abuse report, please email abuse@ircnow.org)%0a%3c # Writing down channel passwords and appointing a successor so that your channel does not get lost%0a%3c %0a---%0a> # Handling communications with the network opers%0a> # Obtaining ilines from the network%0a> # Handling and dealing with abuse reports (for abuse concerning other teams, please email abuse@ircnow.org or report to #opers)%0a> # Ban/abuse policy for #ircnow and other official channels on the network%0a> %0a11,12c12%0a%3c # Ally networks are friendly!%0a%3c # Networks without ilines may gline you at any time%0a---%0a> # Ally networks are friendly! They are the best to claim.%0a +host:1624200214=38.81.163.143 +author:1624099981=jrmu +diff:1624099981:1624099911:=135c135%0a%3c || linuxconsole || linuxconsole.net || ~6697 || || || || || || ||%0a---%0a> || linuxconsole || irc.linuxconsole.net || ~6697 || || || || || || ||%0a +host:1624099981=38.81.163.143 +author:1624099911=jrmu +diff:1624099911:1623751924:=135d134%0a%3c || linuxconsole || irc.linuxconsole.net || ~6697 || || || || || || ||%0a +host:1624099911=38.81.163.143 +author:1623751924=jrmu +diff:1623751924:1623222860:=86c86%0a%3c || europnet || ipv6.europnet.org || 6667 || || Pear || || || Yes || ||%0a---%0a> || europnet || irc.europnet.org || 6667 || || Pear || || || Yes || ||%0a +host:1623751924=38.81.163.143 +author:1623222860=jrmu +diff:1623222860:1623191022:=114c114%0a%3c || hybridirc || ipv6.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the online community || Orange || || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the online community || Orange || || || Yes || ||%0a +host:1623222860=38.81.163.143 +author:1623191022=jrmu +diff:1623191022:1622978567:=114c114%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the online community || Orange || || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community || Orange || || || Yes || ||%0a +host:1623191022=38.81.163.143 +author:1622978567=jlj +csum:1622978567=Copyediting +diff:1622978567:1622978199:minor=73c73%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, online text-based Roleplaying Network || Pear || || || Yes || || ||%0a---%0a> || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || || Yes || || ||%0a114c114%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community || Orange || || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Orange || || || Yes || ||%0a198c198%0a%3c || viciochat || irc.viciochat.org || 6667 || || || || || Ask || ||%0a---%0a> || viciochat || irc.viciochat.org || 6667 || || || || || Ask ||%0a +host:1622978567=82.38.53.208 +author:1622978199=jlj +csum:1622978199=Copyediting +diff:1622978199:1622977742:minor=12,14c12,14%0a%3c # Ally networks are friendly! They are the best to claim.%0a%3c # Use of networks that have 'No' in the Ally column should be discouraged. They may have many users today, but we've confirmed that '''they do not want to work closely with us'''.%0a%3c %0a---%0a> # Ally networks are friendly! They are the best to claim%0a> # Networks that have 'No' in the Ally column should be discouraged. They may have many users today but do not want to work closely with us.%0a> %0a22c22%0a%3c || afterall || irc.after-all.org || 6667 || || || || || || No ||%0a---%0a> || afterall || irc.after-all.org || 6667 || || || || || || no ||%0a28c28%0a%3c || allz4masti || irc.allz4masti.com || 6667 || || || || || || No ||%0a---%0a> || allz4masti || irc.allz4masti.com || 6667 || || || || || || no ||%0a30c30%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || || || No ||%0a---%0a> || amicachat || irc.amicachat.net || ~6697 || || || || || || no ||%0a36c36%0a%3c || axon || irc.axon.pw || +6697 || || || || || || No ||%0a---%0a> || axon || irc.axon.pw || +6697 || || || || || || no ||%0a39c39%0a%3c || banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || Yes ||%0a---%0a> || banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || yes ||%0a44c44%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || || || No ||%0a---%0a> || bolchat || irc.bolchat.com || 6667 || || || || || || no ||%0a141c141%0a%3c || netchat || irc.netchat.cl || 6667 || || Plum || || || || ||%0a---%0a> || netchat || irc.netchat.cl || 6667 || || plum || || || || ||%0a152c152%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No (glined us) ||%0a---%0a> || puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No, Glined us ||%0a159c159%0a%3c || rizon || irc6.rizon.net || ~6697 || || Plum || Grape || Grape || Yes || Ask ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || PLUM || Grape || Grape || Yes || Ask ||%0a214c214%0a%3c || libera || irc.libera.chat || ~6697 || || Plum || || || || ||%0a---%0a> || libera || irc.libera.chat || ~6697 || || PLUM || || || || ||%0a +host:1622978199=82.38.53.208 +author:1622977742=jlj +csum:1622977742=Added the status of our Stormbit i-line application +diff:1622977742:1622977618:=177d176%0a%3c || StormBit || TBD.stormbit.net || TBD || || || || || WIP || TBD ||%0a +host:1622977742=82.38.53.208 +author:1622977618=jlj +csum:1622977618=Added the status of our ChatSansar i-line application +diff:1622977618:1622977491:=65d64%0a%3c || ChatSansar || TBD.chatsansar.TBD || TBD || || || || || WIP || TBD ||%0a161c160%0a%3c || RoIRCoP || TBD.roircop.TBD || TBD || || || || || WIP || TBD ||%0a---%0a> || RoIRCoP || TBD.roircop.net || TBD || || || || || WIP || TBD ||%0a +host:1622977618=82.38.53.208 +author:1622977491=jlj +csum:1622977491=Added the status of our chaat.fr i-line application +diff:1622977491:1622977387:=51c51%0a%3c || chaat || irc.chaat.fr || 6667 || || || || || WIP || TBD ||%0a---%0a> || chaat || irc.chaat.fr || 6667 || || || || || || ||%0a +host:1622977491=82.38.53.208 +author:1622977387=jlj +csum:1622977387=Added the status of our RoIRCoP i-line application +diff:1622977387:1622977159:=160d159%0a%3c || RoIRCoP || TBD.roircop.net || TBD || || || || || WIP || TBD ||%0a182c181%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free, safe, stable and secure environment for IRC || Mango || || || - || ||%0a---%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || || - || ||%0a190c189%0a%3c || twitch || irc.twitch.tv || 6667 || streaming platform (Can't be used for BNCs; Banana tested it) || No || || No || || No ||%0a---%0a> || twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || || NO || || No ||%0a +host:1622977387=82.38.53.208 +author:1622977159=jlj +csum:1622977159=Added the status of our Chateamos i-line application. +diff:1622977159:1622692925:=54d53%0a%3c || chateamos || TBD.chateamos.chat || TBD || || || || || WIP || TBD ||%0a +host:1622977159=82.38.53.208 +author:1622692925=jrmu +diff:1622692925:1622178659:=123d122%0a%3c || ircpal || irc.ircpal.net || 6667 || || || || || Yes || Ask ||%0a +host:1622692925=38.81.163.143 +author:1622178659=sarah +diff:1622178659:1622107366:=140c140%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || Lemon || || || No ||%0a---%0a> || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || || No ||%0a +host:1622178659=2001:470:ee05:0:c563:ce7b:ca75:ce0 +author:1622107366=chewy +diff:1622107366:1622041669:=39c39%0a%3c || banglacafe || irc.banglacafe.chat || 6667 || || Fig || || || || yes ||%0a---%0a> || banglacafe || irc.banglacafe.com || 6667 || || Fig || || || || yes ||%0a +host:1622107366=2a02:1205:34c1:94e0:258f:c269:7f62:3b96 +author:1622041669=wiz +diff:1622041669:1622041547:=209d208%0a%3c || libera || irc.libera.chat || ~6697 || || PLUM || || || || ||%0a +host:1622041669=77.100.13.190 +author:1622041547=wiz +diff:1622041547:1621953454:=156c156%0a%3c || rizon || irc6.rizon.net || ~6697 || || PLUM || Grape || Grape || Yes || Ask ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Grape || Yes || Ask ||%0a +host:1622041547=77.100.13.190 +author:1621953454=jrmu +diff:1621953454:1621552269:=173c173%0a%3c || sturtz || irc.sturtz.xyz || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a +host:1621953454=125.231.17.115 +author:1621552269=jrmu +diff:1621552269:1621511051:=130d129%0a%3c || liberachat || irc.libera.chat || ~6697 || || || || || || No ||%0a +host:1621552269=38.81.163.143 +author:1621511051=chewy +diff:1621511051:1621511006:=67c67%0a%3c || chewbakka || irc.chewbakka.ch || +6697 || || Fig || || || || Yes ||%0a---%0a> || chewbakka || irc.chewbakka.ch || +6697 || || || Fig || || || Yes ||%0a +host:1621511051=2a02:1205:34c1:94e0:9fdf:a1dc:2839:bc17 +author:1621511006=chewy +diff:1621511006:1621269524:=67d66%0a%3c || chewbakka || irc.chewbakka.ch || +6697 || || || Fig || || || Yes ||%0a +host:1621511006=2a02:1205:34c1:94e0:9fdf:a1dc:2839:bc17 +author:1621269524=chewy +diff:1621269524:1621269338:=85c85%0a%3c || evolu || irc.evolu.net || ~6697 || || Fig || || || || ||%0a---%0a> || evolu || irc.evolu.net || ~6697 || || || || || || ||%0a +host:1621269524=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621269338=chewy +diff:1621269338:1621266949:=44c44%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || || || no ||%0a---%0a> || bolchat || irc.bolchat.com || 6667 || || Fig || || || || ||%0a +host:1621269338=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621266949=chewy +diff:1621266949:1621266821:=22c22%0a%3c || afterall || irc.after-all.org || 6667 || || || || || || no ||%0a---%0a> || afterall || irc.after-all.org || 6667 || || Fig || || || || ||%0a +host:1621266949=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621266821=chewy +diff:1621266821:1621266789:=36c36%0a%3c || axon || irc.axon.pw || +6697 || || || || || || no ||%0a---%0a> || axon || irc.axon.pw || +6697 || || || || || ||No ||%0a +host:1621266821=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621266789=chewy +diff:1621266789:1621248011:=36c36%0a%3c || axon || irc.axon.pw || +6697 || || || || || ||No ||%0a---%0a> || axon || irc.axon.pw || +6697 || || Fig || || || || ||%0a +host:1621266789=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621248011=chewy +diff:1621248011:1621247872:=58c58%0a%3c || chating || irc.chating.id || 6667 || || Fig || - || || || Ask ||%0a---%0a> || chating || irc.chating.id || 6667 || || Pear || - || || || Ask ||%0a +host:1621248011=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621247872=chewy +diff:1621247872:1621045710:=54c54%0a%3c || chateo || irc.chateo.org || ~6697 || || Fig || || || || ||%0a---%0a> || chateo || irc.chateo.org || ~6697 || || || || || || ||%0a +host:1621247872=2a02:1205:34c1:94e0:e2d5:5eff:fee5:7352 +author:1621045710=jrmu +diff:1621045710:1621006486:=122c122%0a%3c || ircsource || irc.coolserver.org || ~6697 || || || || || || ||%0a---%0a> || ircsource || ircsource.quoservers.net || ~6697 || || || || || || ||%0a219c219%0a%3c || Telegram || https://t.me/ircnow || || || ||%0a---%0a> || Telegram || https://t.me/ircnow || || || ||%0a\ No newline at end of file%0a +host:1621045710=38.81.163.143 +author:1621006486=usr +diff:1621006486:1620967428:=77c77%0a%3c || efnext || irc.work || ~6697 || || Mango || || || || Yes ||%0a---%0a> || efnext || irc.work || ~6697 || || || || || || Yes ||%0a +host:1621006486=89.108.172.16 +author:1620967428=jrmu +diff:1620967428:1620491205:=77d76%0a%3c || efnext || irc.work || ~6697 || || || || || || Yes ||%0a +host:1620967428=198.251.81.119 +author:1620491205=jrmu +diff:1620491205:1620491141:=217,218c217,218%0a%3c || Discord || https://discord.com/invite/gZ4M3m2 || || || ||%0a%3c || Telegram || https://t.me/ircnow || || || ||%0a\ No newline at end of file%0a---%0a> || Discord || https://discord.com/invite/gZ4M3m2 || || ||%0a> || Telegram || https://t.me/ircnow || || ||%0a\ No newline at end of file%0a +host:1620491205=198.251.81.119 +author:1620491141=jrmu +diff:1620491141:1620446044:=211,218c211,218%0a%3c ||! From Protocol ||! From Room ||! To IRCNow Channel ||! Team ||! Software ||%0a%3c || Matrix || #ircnow:matrix.org || #ircfree || Pineapple || ||%0a%3c || Matrix || #ircnow:nfld.uk || #nastycode || Nastycode || ||%0a%3c || Matrix || #ircnow:halogen.city || #nastycode || Nastycode || ||%0a%3c || XMPP || #ircnow:ircnow.org || || || ||%0a%3c || XMPP || #lecturify:ircnow.org || #lecturify || || ||%0a%3c || Discord || https://discord.com/invite/gZ4M3m2 || || ||%0a%3c || Telegram || https://t.me/ircnow || || ||%0a\ No newline at end of file%0a---%0a> ||! Protocol ||! Server Address ||! Channel ||! Relay ||%0a> || Matrix || matrix.org || #ircnow:matrix.org || Pineapple ||%0a> || Matrix || nfld.uk || #ircnow:nfld.uk || Nastycode ||%0a> || Matrix || halogen.city || #ircnow:halogen.city || Nastycode ||%0a> || XMPP || ircnow.org || #ircnow:ircnow.org || ||%0a> || XMPP || ircnow.org || #lecturify:ircnow.org || ||%0a> || Discord || https://discord.com/invite/gZ4M3m2 || || ||%0a> || Telegram || https://t.me/ircnow || || ||%0a\ No newline at end of file%0a +host:1620491141=198.251.81.119 +author:1620446044=jrmu +diff:1620446044:1620438128:=216,218c216%0a%3c || XMPP || ircnow.org || #lecturify:ircnow.org || ||%0a%3c || Discord || https://discord.com/invite/gZ4M3m2 || || ||%0a%3c || Telegram || https://t.me/ircnow || || ||%0a\ No newline at end of file%0a---%0a> || XMPP || ircnow.org || #lecturify:ircnow.org || ||%0a\ No newline at end of file%0a +host:1620446044=125.224.26.7 +author:1620438128=jrmu +diff:1620438128:1620437949:=211,216c211,214%0a%3c ||! Protocol ||! Server Address ||! Channel ||! Relay ||%0a%3c || Matrix || matrix.org || #ircnow:matrix.org || Pineapple ||%0a%3c || Matrix || nfld.uk || #ircnow:nfld.uk || Nastycode ||%0a%3c || Matrix || halogen.city || #ircnow:halogen.city || Nastycode ||%0a%3c || XMPP || ircnow.org || #ircnow:ircnow.org || ||%0a%3c || XMPP || ircnow.org || #lecturify:ircnow.org || ||%0a\ No newline at end of file%0a---%0a> ||! Server Address ||! Protocol ||! Channel ||! Relay ||%0a> || matrix.org || Matrix || #ircnow:matrix.org || Pineapple ||%0a> || nfld.uk || Matrix || #ircnow:nfld.uk || Nastycode ||%0a> || halogen.city || Matrix || #ircnow:halogen.city || Nastycode ||%0a +host:1620438128=198.251.81.119 +author:1620437949=jrmu +diff:1620437949:1620437889:=211,214c211,213%0a%3c ||! Server Address ||! Protocol ||! Channel ||! Relay ||%0a%3c || matrix.org || Matrix || #ircnow:matrix.org || Pineapple ||%0a%3c || nfld.uk || Matrix || #ircnow:nfld.uk || Nastycode ||%0a%3c || halogen.city || Matrix || #ircnow:halogen.city || Nastycode ||%0a---%0a> ||! Network Name ||! Server Address ||! Protocol || Channel ||! Relay ||%0a> || Matrix || matrix.org || Matrix || #ircnow:matrix.org || Pineapple ||%0a> || nfld || nfld.uk || Matrix || #ircnow:nfld.uk || Nastycode ||%0a +host:1620437949=198.251.81.119 +author:1620437889=jrmu +diff:1620437889:1620183489:=206,213c206%0a%3c [[Ircnow/Ilines|Partner Network Ilines]]%0a%3c %0a%3c Non-IRC Networks%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Network Name ||! Server Address ||! Protocol || Channel ||! Relay ||%0a%3c || Matrix || matrix.org || Matrix || #ircnow:matrix.org || Pineapple ||%0a%3c || nfld || nfld.uk || Matrix || #ircnow:nfld.uk || Nastycode ||%0a---%0a> [[Ircnow/Ilines|Partner Network Ilines]]%0a\ No newline at end of file%0a +host:1620437889=198.251.81.119 +author:1620183489=sarah +diff:1620183489:1620102340:=177c177%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || Lemon || || Yes || Yes ||%0a---%0a> || technet || irc.technet.xi.ht || +6697 || || Pear || || || Yes || Yes ||%0a +host:1620183489=2001:470:ee05:0:80:893f:ae46:9e7f +author:1620102340=sarah +diff:1620102340:1620045112:=61c61%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || Lemon || Lemon || || || Ask ||%0a---%0a> || chatlounge || irc.chatlounge.net || +6697 || || || || || || Ask ||%0a69c69%0a%3c || darkirc || ipv4.eggdrop.uk || +6697 || || Pear || Lemon || || || Yes ||%0a---%0a> || darkirc || ipv4.eggdrop.uk || +6697 || || Pear ||Lemon|| || || Yes ||%0a +host:1620102340=2001:470:ee05:0:80:893f:ae46:9e7f +author:1620045112=jrmu +diff:1620045112:1619662751:=190d189%0a%3c || viciochat || irc.viciochat.org || 6667 || || || || || Ask ||%0a +host:1620045112=198.251.81.119 +author:1619662751=jrmu +diff:1619662751:1618399281:=158d157%0a%3c || scratch-network || irc.scratch-network.net || +7000 || || || || || || ||%0a +host:1619662751=198.251.81.119 +author:1618399281=quofan +diff:1618399281:1618297491:=203c203%0a%3c || ircsource || ircsource.quoservers.net || ~6697 || || Nastycode || ShellTalk || || Yes || Yes ||%0a---%0a> %0a +host:1618399281=85.23.58.107 +author:1618297491=miniontoby +diff:1618297491:1617720224:=48c48%0a%3c || buenchat || irc.buenchat.org || ~6697 || || Banana || || Banana || || Yes ||%0a---%0a> || buenchat || irc.buenchat.org || ~6697 || || || || || || Yes ||%0a +host:1618297491=77.168.188.164 +author:1617720224=chewy +diff:1617720224:1617716815:=49c49%0a%3c || canternet || irc.canternet.org || +6697 || || Fig || || || || ||%0a---%0a> || canternet || irc.canternet.org || +6697 || || || || || || ||%0a +host:1617720224=2a02:1205:34c1:94e0:1a42:71d:6e17:6432 +author:1617716815=chewy +diff:1617716815:1617714577:=47c47%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || Fig || || || || ||%0a---%0a> || bsdunix || irc.bsdunix.us || +6697 || || || || || || ||%0a +host:1617716815=2a02:1205:34c1:94e0:1a42:71d:6e17:6432 +author:1617714577=chewy +diff:1617714577:1617705056:=45c45%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || Fig || || || || ||%0a---%0a> || brasirc || irc.brasirc.com.br || ~6697 || || || || || || Ask ||%0a +host:1617714577=2a02:1205:34c1:94e0:1a42:71d:6e17:6432 +author:1617705056=chewy +diff:1617705056:1617582731:=30c30%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || || || no ||%0a---%0a> || amicachat || irc.amicachat.net || ~6697 || || Fig || || || || ||%0a +host:1617705056=2a02:1205:34c1:94e0:1a42:71d:6e17:6432 +author:1617582731=nsturtz +diff:1617582731:1617570679:=169c169%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || MIF || Pineapple || || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || ShellTalk || || Yes || Yes ||%0a +host:1617582731=209.56.64.253 +author:1617570679=chewy +diff:1617570679:1617560146:=44c44%0a%3c || bolchat || irc.bolchat.com || 6667 || || Fig || || || || ||%0a---%0a> || bolchat || irc.bolchat.com || 6667 || || || || || || ||%0a +host:1617570679=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617560146=chewy +diff:1617560146:1617559222:=43c43%0a%3c || blitzed || irc.blitzed.org || +6697 || || Fig || || || || ||%0a---%0a> || blitzed || irc.blitzed.org || +6697 || || || || || || ||%0a +host:1617560146=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617559222=chewy +diff:1617559222:1617557669:=41c41%0a%3c || bgirc || irc.bgirc.com || ~6697 || || Fig || || || || ||%0a---%0a> || bgirc || irc.bgirc.com || ~6697 || || || || || || ||%0a +host:1617559222=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617557669=chewy +diff:1617557669:1617555681:=40c40%0a%3c || barton || irc.barton.de || 6667 || || Fig || || || || Ask ||%0a---%0a> || barton || irc.barton.de || 6667 || || || || || || Ask ||%0a +host:1617557669=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617555681=chewy +diff:1617555681:1617552429:=39c39%0a%3c || banglacafe || irc.banglacafe.com || 6667 || || Fig || || || || yes ||%0a---%0a> || banglacafe || irc.banglacafe.com || 6667 || || || || || || ||%0a +host:1617555681=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617552429=chewy +diff:1617552429:1617502201:=38c38%0a%3c || azzurra || irc.azzurra.org || +6697 || || Fig || || || || ||%0a---%0a> || azzurra || irc.azzurra.org || +6697 || || || || || || ||%0a +host:1617552429=2a02:1205:34c1:94e0:1a92:4b91:3138:562d +author:1617502201=chewy +diff:1617502201:1617498911:=37c37%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || Fig || || || || Ask ||%0a---%0a> || ayochat || irc.ayochat.or.id || 6667 || || || || || || Ask ||%0a +host:1617502201=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617498911=chewy +diff:1617498911:1617494702:=36c36%0a%3c || axon || irc.axon.pw || +6697 || || Fig || || || || ||%0a---%0a> || axon || irc.axon.pw || +6697 || || || || || || ||%0a +host:1617498911=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617494702=chewy +diff:1617494702:1617493617:=30c30%0a%3c || amicachat || irc.amicachat.net || ~6697 || || Fig || || || || ||%0a---%0a> || amicachat || irc.amicachat.net || ~6697 || || || || || || ||%0a +host:1617494702=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617493617=chewy +diff:1617493617:1617492127:=28c28%0a%3c || allz4masti || irc.allz4masti.com || 6667 || || || || || || no ||%0a---%0a> || allz4masti || irc.allz4masti.com || 6667 || || || || || || ||%0a +host:1617493617=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617492127=chewy +diff:1617492127:1617490806:=27c27%0a%3c || allrednc || irc.allrednc.org || ~6697 || || Fig || || || || ||%0a---%0a> || allrednc || irc.allrednc.org || ~6697 || || || || || || ||%0a +host:1617492127=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617490806=chewy +diff:1617490806:1617487385:=24c24%0a%3c || afterx || irc.afterx.net || +6697 || || Fig || || || || ||%0a---%0a> || afterx || irc.afterx.net || +6697 || || || || || || ||%0a +host:1617490806=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617487385=chewy +diff:1617487385:1617487346:=22c22%0a%3c || afterall || irc.after-all.org || 6667 || || Fig || || || || ||%0a---%0a> || afterall || irc.after-all.org || 6667 || || || || || || ||%0a +host:1617487385=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617487346=chewy +diff:1617487346:1617267347:=21c21%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || Fig || || || || Yes ||%0a---%0a> || aerospacechat || irc.aerospacechat.com || +6697 || || || || || || Yes ||%0a +host:1617487346=2a02:1205:34c1:94e0:7c7c:ce11:c97f:326c +author:1617267347=miniontoby +diff:1617267347:1617267146:=146c146%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || Banana || || No, Glined us ||%0a---%0a> || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || No, Glined us ||%0a +host:1617267347=145.132.146.30 +author:1617267146=miniontoby +diff:1617267146:1617225863:=143c143%0a%3c || perl || irc.perl.org || 6667 || || Banana || || Banana || || Ask ||%0a---%0a> || perl || irc.perl.org || 6667 || || Banana || || || || Ask ||%0a +host:1617267146=145.132.146.30 +author:1617225863=fizi +diff:1617225863:1617225738:=164c164%0a%3c || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || Jujube || - || No ||%0a---%0a> || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || || - || No ||%0a196c196%0a%3c || zemra || irc.zemra.org || +6697 || || Jujube || Grape || Jujube || || ||%0a---%0a> || zemra || irc.zemra.org || +6697 || || Jujube || Grape || || || ||%0a201c201%0a%3c || zurna || irc.zurna.net || 6667 || || Jujube || Grape || Jujube || || ||%0a---%0a> || zurna || irc.zurna.net || 6667 || || Jujube || Grape || || || ||%0a +host:1617225863=39.42.1.178 +author:1617225738=fizi +diff:1617225738:1617225542:=18c18%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Grape || Yes || ||%0a---%0a> || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || || Yes || ||%0a33c33%0a%3c || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || Jujube || || ||%0a---%0a> || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || || || ||%0a67c67%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || Grape || || No ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || || || No ||%0a77c77%0a%3c || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a---%0a> || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || || Yes || ||%0a109c109%0a%3c || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Jujube || Yes || ||%0a---%0a> || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || || Yes || ||%0a153c153%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Grape || Yes || Ask ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || || Yes || Ask ||%0a +host:1617225738=39.42.1.178 +author:1617225542=fizi +diff:1617225542:1617187768:=127c127%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || Grape || - || No ||%0a---%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || || - || No ||%0a +host:1617225542=39.42.1.178 +author:1617187768=miniontoby +diff:1617187768:1617107084:=91c91%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a---%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || || - || No ||%0a +host:1617187768=141.138.217.186 +author:1617107084=miniontoby +diff:1617107084:1617088847:=75c75%0a%3c || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || Banana || || ||%0a---%0a> || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || || || ||%0a +host:1617107084=145.132.146.30 +author:1617088847=miniontoby +diff:1617088847:1617086069:=93c93%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || Banana || || ||%0a---%0a> || freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || || || ||%0a120c120%0a%3c || ircnet || open.ircnet.net || 6667 || || Banana || || Banana || || Ask ||%0a---%0a> || ircnet || open.ircnet.net || 6667 || || Banana || || || || Ask ||%0a +host:1617088847=145.132.146.30 +author:1617086069=miniontoby +csum:1617086069=relays +diff:1617086069:1617085942:=91c91%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || || - || No ||%0a---%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a114c114%0a%3c || irccloud || irc.irccloud.com || +6697 || || Banana || || Banana || || No ||%0a---%0a> || irccloud || irc.irccloud.com || +6697 || || Banana || || || || No ||%0a181c181%0a%3c || tweakers || irc.tweakers.net || 6667 || || Banana || || Banana || || ||%0a---%0a> || tweakers || irc.tweakers.net || 6667 || || Banana || || || || ||%0a +host:1617086069=145.132.146.30 +author:1617085942=miniontoby +diff:1617085942:1616596679:=147c147%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Banana || Yes || No ||%0a---%0a> || quake || irc6.quakenet.org || 6667 || || Pear || Grape || || Yes || No ||%0a +host:1617085942=145.132.146.30 +author:1616596679=quofan +diff:1616596679:1616596519:=93c93%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || ShellTalk || || || ||%0a---%0a> || freshchat || irc.freshchat.org || +6697 || || Banana || || ShellTalk || || ||%0a +host:1616596679=85.23.58.107 +author:1616596519=quofan +diff:1616596519:1616596380:=169c169%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || ShellTalk || || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || ShellTalk || Yes || Yes ||%0a +host:1616596519=85.23.58.107 +author:1616596380=quofan +diff:1616596380:1616555870:=93c93%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || || ShellTalk || || ||%0a---%0a> || freshchat || irc.freshchat.org || +6697 || || Banana || || || || ||%0a169c169%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || ShellTalk || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || Guava || Yes || Yes ||%0a +host:1616596380=85.23.58.107 +author:1616555870=jrmu +diff:1616555870:1616116635:=151d150%0a%3c || redlatina || irc.red-latina.net || ~6697 || || || || || || Yes ||%0a +host:1616555870=198.251.81.119 +author:1616116635=jrmu +diff:1616116635:1616116622:=146c146%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || No, Glined us ||%0a---%0a> || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || No ||%0a +host:1616116635=198.251.81.119 +author:1616116622=jrmu +diff:1616116622:1615980822:=146c146%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || No ||%0a---%0a> || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || Yes ||%0a +host:1616116622=198.251.81.119 +author:1615980822=chewy +diff:1615980822:1615980786:=52c52%0a%3c || chat4all || irc.chat4all.org || ~6697 || || Fig || || || || ||%0a---%0a> || chat4all || irc.chat4all.org || ~6697 || || || Fig || || || ||%0a +host:1615980822=2a02:1205:34c1:94e0:9059:b0ec:5b81:e79 +author:1615980786=chewy +diff:1615980786:1615909256:=52c52%0a%3c || chat4all || irc.chat4all.org || ~6697 || || || Fig || || || ||%0a---%0a> || chat4all || irc.chat4all.org || ~6697 || || || || || || ||%0a +host:1615980786=2a02:1205:34c1:94e0:9059:b0ec:5b81:e79 +author:1615909256=chewy +diff:1615909256:1615805013:=19c19%0a%3c || 42net || irc.42net.org || 6667 || || Fig || || || || ||%0a---%0a> || 42net || sol.42net.org || 6667 || || || || || || ||%0a +host:1615909256=2a02:1205:34c1:94e0:cf40:a723:6021:c7e3 +author:1615805013=dennis +diff:1615805013:1615805009:= +host:1615805013=31.21.104.59 +author:1615805009=dennis +diff:1615805009:1615612780:=69c69%0a%3c || darkirc || ipv4.eggdrop.uk || +6697 || || Pear ||Lemon|| || || Yes ||%0a---%0a> || darkirc || irc.darkirc.eu || +6697 || || Pear || || || || Yes ||%0a +host:1615805009=31.21.104.59 +author:1615612780=jrmu +diff:1615612780:1615523292:=28d27%0a%3c || allz4masti || irc.allz4masti.com || 6667 || || || || || || ||%0a +host:1615612780=198.251.81.119 +author:1615523292=jrmu +diff:1615523292:1615193083:=53d52%0a%3c || chateo || irc.chateo.org || ~6697 || || || || || || ||%0a +host:1615523292=125.224.29.248 +author:1615193083=Thor +diff:1615193083:1614624057:minor=144c144%0a%3c || puntochat || irc.puntochat.net || ~6697 || || Banana || || || || Yes ||%0a---%0a> || puntochat || irc.puntochat.net || ~6697 || || || || || || Yes ||%0a +host:1615193083=175.176.1.14 +author:1614624057=skar +diff:1614624057:1614528989:=28c28%0a%3c || alphachat || irc.alphachat.net || +6697 || || Plum || || || || ||%0a---%0a> || alphachat || irc.alphachat.net || +6697 || || || || || || ||%0a103d102%0a%3c || gotham || irc.gotham.chat || 6667 || || Plum || || || || ||%0a +host:1614624057=185.90.169.135 +author:1614528989=jrmu +diff:1614528989:1614221930:=143d142%0a%3c || puntochat || irc.puntochat.net || ~6697 || || || || || || Yes ||%0a +host:1614528989=198.251.81.119 +author:1614221930=jrmu +diff:1614221930:1614221589:=90,106c90,106%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || || || || Ask ||%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || || || || ||%0a%3c || friendsirc || irc.friendsirc.com || ~6697 || || || || || || ||%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || Pear || || || Yes || ||%0a%3c || geeknode || irc.geeknode.org || +6697 || || || || || || ||%0a%3c || geekshed || irc.geekshed.net || +6697 || || Pear || || || Yes || ||%0a%3c || germanelite || irc.german-elite.net || ~6697 || || || || || || ||%0a%3c || geveze || irc.geveze.org || 6667 || || || || || || No ||%0a%3c || geyiktr || irc.geyiktr.net || 6667 || || || || || || ||%0a%3c || gigairc || irc.gigairc.net || ~6697 || || || || || || ||%0a%3c || gimp || irc.gimp.org || +6697 || || || || || || ||%0a%3c || globalirc || irc.global-irc.org || 6667 || || Pear || || || Yes || ||%0a%3c || globalirc-it || irc.globalirc.it || ~6697 || || || || || || ||%0a%3c || greekirc || irc.greekirc.net || 6667 || || || || || || ||%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || || ||%0a%3c || hackthissite || irc.hackthissite.org || +7000 || || || || || || ||%0a%3c || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || || Yes || ||%0a---%0a> || freeunibg || irc.freeunibg.eu || 6667 || || || || || Ask ||%0a> || freshchat || irc.freshchat.org || +6697 || || Banana || || || ||%0a> || friendsirc || irc.friendsirc.com || ~6697 || || || || || ||%0a> || gamesurge || irc.gamesurge.net || 6667 || || Pear || || Yes || ||%0a> || geeknode || irc.geeknode.org || +6697 || || || || || ||%0a> || geekshed || irc.geekshed.net || +6697 || || Pear || || Yes || ||%0a> || germanelite || irc.german-elite.net || ~6697 || || || || || ||%0a> || geveze || irc.geveze.org || 6667 || || || || || No ||%0a> || geyiktr || irc.geyiktr.net || 6667 || || || || || ||%0a> || gigairc || irc.gigairc.net || ~6697 || || || || || ||%0a> || gimp || irc.gimp.org || +6697 || || || || || ||%0a> || globalirc || irc.global-irc.org || 6667 || || Pear || || Yes || ||%0a> || globalirc-it || irc.globalirc.it || ~6697 || || || || || ||%0a> || greekirc || irc.greekirc.net || 6667 || || || || || ||%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || ||%0a> || hackthissite || irc.hackthissite.org || +7000 || || || || || ||%0a> || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Yes || ||%0a +host:1614221930=198.251.81.119 +author:1614221589=jrmu +diff:1614221589:1614221203:=107,197c107,197%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Orange || || || Yes || ||%0a%3c || icqchat || irc.icq-chat.com || +6697 || || || || || || ||%0a%3c || insomnia || irc.insomnia247.nl || 6667 || || || || || || ||%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || || || || Ask ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || Banana || || || || No ||%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || || No ||%0a%3c || ircfreakz || irc.ircfreakz.net || ~6697 || || || || || || ||%0a%3c || ircgate || irc.ircgate.it || 6667 || || || || || || No ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || || || || Ask ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || || || Yes || Ask ||%0a%3c || ircnet || open.ircnet.net || 6667 || || Banana || || || || Ask ||%0a%3c || ircsource || ircsource.quoservers.net || ~6697 || || || || || || ||%0a%3c || irctl || chat.irc.tl || ~6697 || || || || || || ||%0a%3c || irczone || irc6.irczone.net || ~6697 || || || || || || Yes ||%0a%3c || italian-amici || irc.italian-amici.org || 6667 || || || || || || ||%0a%3c || juggler || irc.juggler.jp || 6667 || || || || || || ||%0a%3c || kalbim || irc.kalbim.net || 6667 || || || || || || ||%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || || - || No ||%0a%3c || librairc || irc.librairc.net || ~6697 || || Plum || || || || No ||%0a%3c || luatic || irc.luatic.net || 6667 || || || || || || ||%0a%3c || malikania || malikania.fr || ~6697 || || || || || || Ask ||%0a%3c || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || || ||%0a%3c || mindforge || irc.mindforge.org || 6667 || || || || || || ||%0a%3c || myirc || chat.myirc.net || +6697 || || || || || || ||%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || || || Yes || Ask ||%0a%3c || netchat || irc.netchat.cl || 6667 || || plum || || || || ||%0a%3c || nfnet || irc.nfnet.org || 6667 || || || || || || ||%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || || No ||%0a%3c || oltreirc || irc.oltreirc.net || +6697 || || || || || || ||%0a%3c || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || || ||%0a%3c || openjoke || irc.openjoke.org || ~6697 || || || || || || ||%0a%3c || overthewire || ircs.overthewire.org || +6697 || || Plum || || || || Ask ||%0a%3c || p2p-net || irc.p2p-network.net || +6697 || || || || || || ||%0a%3c || perl || irc.perl.org || 6667 || || Banana || || || || Ask ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || || || || Ask ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || || || || Ask ||%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || || Yes || No ||%0a%3c || quartznet || irc.quartznet.org || 6667 || || || || || || ||%0a%3c || recycled-irc || irc.recycled-irc.net || 6667 || || || || || || ||%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || || || Yes ||%0a%3c || rezosup || irc.rezosup.org || ~6697 || || || || || || ||%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || || Yes || Ask ||%0a%3c || robothive || irc.robothive.org || ~6697 || || || || || || Ask ||%0a%3c || rootworld || irc.rootworld.net || 6667 || || || || || || ||%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || || || || Ask ||%0a%3c || scenep2p || irc.scenep2p.net || ~6697 || || || || || || ||%0a%3c || shadowfire || irc.shadowfire.org || +7000 || || || || || || ||%0a%3c || simosnap || irc.simosnap.com || +6697 || || || || || || No ||%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || || || Ask ||%0a%3c || slashnet || irc.slashnet.org || +6697 || || || || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || || || || No ||%0a%3c || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || || - || No ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || || - || ||%0a%3c || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || || - || ||%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || || Yes ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || || || || ||%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || Guava || Yes || Yes ||%0a%3c || superhosts || irc.superhosts.net || 6667 || || || || || || ||%0a%3c || svipchat || irc.svipchat.org || ~6697 || || || || || || ||%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || Plum || || || || ||%0a%3c || swissirc || irc.swissirc.net || ~6697 || || || || || || ||%0a%3c || swisschat || irc.swisschat.tk || 6667 || || || || || || ||%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || || - || ||%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || || || Yes || Yes ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || || - || No ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || || - || Ask ||%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || || || || No ||%0a%3c || tweakers || irc.tweakers.net || 6667 || || Banana || || || || ||%0a%3c || twistednet || irc.twistednet.org || ~6697 || || || || || || ||%0a%3c || twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || || NO || || No ||%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes || Yes ||%0a%3c || undernet || irc6.undernet.org || 6667 || || Plum || Grape || || || No ||%0a%3c || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || || No ||%0a%3c || universochat || irc.unviersochat.com || || || || || || || ||%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || || || Ask ||%0a%3c || virtualife || irc.virtualife.org || ~6697 || || || || || || ||%0a%3c || w3 || irc.w3.org || 6667 || || || || || || ||%0a%3c || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || || - || ||%0a%3c || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || || - || ||%0a%3c || xertion || irc.xertion.org || +6697 || || || || || || ||%0a%3c || zairc || irc.zairc.net || ~6697 || || || || || || No ||%0a%3c || zandronum || irc.zandronum.com || ~6697 || || || || || || ||%0a%3c || zemra || irc.zemra.org || +6697 || || Jujube || Grape || || || ||%0a%3c || zenet || irc.zenet.org || +6697 || || || || || || ||%0a%3c || zeronode || irc.zeronode.net || +6697 || || || || || || ||%0a%3c || zoite || irc.zoite.net || +6697 || || || || || || ||%0a%3c || zonebg || irc.zonebg.eu || ~6697 || || || || || || ||%0a%3c || zurna || irc.zurna.net || 6667 || || Jujube || Grape || || || ||%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || Orange (as of 2021-01) || || Yes || ||%0a> || icqchat || irc.icq-chat.com || +6697 || || || || || ||%0a> || insomnia || irc.insomnia247.nl || 6667 || || || || || ||%0a> || irc4fun || irc.irc4fun.net || 6667 || || || || || Ask ||%0a> || irccloud || irc.irccloud.com || +6697 || || Banana || || || No ||%0a> || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || No ||%0a> || ircfreakz || irc.ircfreakz.net || ~6697 || || || || || ||%0a> || ircgate || irc.ircgate.it || 6667 || || || || || No ||%0a> || irchaven || irc.irchaven.org || 6667 || || || || || Ask ||%0a> || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes || Ask ||%0a> || ircnet || open.ircnet.net || 6667 || || Banana || || || Ask ||%0a> || ircsource || ircsource.quoservers.net || ~6697 || || || || || ||%0a> || irctl || chat.irc.tl || ~6697 || || || || || ||%0a> || irczone || irc6.irczone.net || ~6697 || || || || || Yes ||%0a> || italian-amici || irc.italian-amici.org || 6667 || || || || || ||%0a> || juggler || irc.juggler.jp || 6667 || || || || || ||%0a> || kalbim || irc.kalbim.net || 6667 || || || || || ||%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - || No ||%0a> || librairc || irc.librairc.net || ~6697 || || Plum || || || No ||%0a> || luatic || irc.luatic.net || 6667 || || || || || ||%0a> || malikania || malikania.fr || ~6697 || || || || || Ask ||%0a> || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || ||%0a> || mindforge || irc.mindforge.org || 6667 || || || || || ||%0a> || myirc || chat.myirc.net || +6697 || || || || || ||%0a> || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes || Ask ||%0a> || netchat || irc.netchat.cl || 6667 || || plum || || || ||%0a> || nfnet || irc.nfnet.org || 6667 || || || || || ||%0a> || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || No ||%0a> || oltreirc || irc.oltreirc.net || +6697 || || || || || ||%0a> || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || ||%0a> || openjoke || irc.openjoke.org || ~6697 || || || || || ||%0a> || overthewire || ircs.overthewire.org || +6697 || || Plum || || || Ask ||%0a> || p2p-net || irc.p2p-network.net || +6697 || || || || || ||%0a> || perl || irc.perl.org || 6667 || || Banana || || || Ask ||%0a> || pirc-pl || irc.pirc.pl || +6697 || || || || || Ask ||%0a> || ptnet || irc.ptnet.org || +6697 || || || || || Ask ||%0a> || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes || No ||%0a> || quartznet || irc.quartznet.org || 6667 || || || || || ||%0a> || recycled-irc || irc.recycled-irc.net || 6667 || || || || || ||%0a> || redhispano || irc.redhispano.org || ~6697 || || || || || Yes ||%0a> || rezosup || irc.rezosup.org || ~6697 || || || || || ||%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes || Ask ||%0a> || robothive || irc.robothive.org || ~6697 || || || || || Ask ||%0a> || rootworld || irc.rootworld.net || 6667 || || || || || ||%0a> || rusnet || irc.lucky.net || 6660 || || Orange || || || Ask ||%0a> || scenep2p || irc.scenep2p.net || ~6697 || || || || || ||%0a> || shadowfire || irc.shadowfire.org || +7000 || || || || || ||%0a> || simosnap || irc.simosnap.com || +6697 || || || || || No ||%0a> || skychatz || irc.skychatz.org || ~6697 || || || || || Ask ||%0a> || slashnet || irc.slashnet.org || +6697 || || || || || ||%0a> || smurfnet || irc.smurfnet.ch || ~6697 || || || || || ||%0a> || snoonet || irc.snoonet.org || +6697 || || Plum || || || No ||%0a> || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || - || No ||%0a> || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || - || ||%0a> || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || - || ||%0a> || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || Yes ||%0a> || spotchat || irc.spotchat.org || +6697 || || || || || ||%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || Yes || Yes ||%0a> || superhosts || irc.superhosts.net || 6667 || || || || || ||%0a> || svipchat || irc.svipchat.org || ~6697 || || || || || ||%0a> || swiftirc || irc.swiftirc.net || 6667 || || Plum || || || ||%0a> || swissirc || irc.swissirc.net || ~6697 || || || || || ||%0a> || swisschat || irc.swisschat.tk || 6667 || || || || || ||%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || - || ||%0a> || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes || Yes ||%0a> || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - || No ||%0a> || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - || Ask ||%0a> || trendsohbet || irc.trendsohbet.com || 6667 || || || || || ||%0a> || trsohbet || irc.trsohbet.com || 6667 || || || || || No ||%0a> || tweakers || irc.tweakers.net || 6667 || || Banana || || || ||%0a> || twistednet || irc.twistednet.org || ~6697 || || || || || ||%0a> || twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || NO || || No ||%0a> || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || Yes || Yes ||%0a> || undernet || irc6.undernet.org || 6667 || || Plum || Grape || || No ||%0a> || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || No ||%0a> || universochat || irc.unviersochat.com || || || || || || ||%0a> || uugrn || irc.uugrn.org || +6670 || || || || || Ask ||%0a> || virtualife || irc.virtualife.org || ~6697 || || || || || ||%0a> || w3 || irc.w3.org || 6667 || || || || || ||%0a> || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || - || ||%0a> || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || - || ||%0a> || xertion || irc.xertion.org || +6697 || || || || || ||%0a> || zairc || irc.zairc.net || ~6697 || || || || || No ||%0a> || zandronum || irc.zandronum.com || ~6697 || || || || || ||%0a> || zemra || irc.zemra.org || +6697 || || Jujube || Grape || || ||%0a> || zenet || irc.zenet.org || +6697 || || || || || ||%0a> || zeronode || irc.zeronode.net || +6697 || || || || || ||%0a> || zoite || irc.zoite.net || +6697 || || || || || ||%0a> || zonebg || irc.zonebg.eu || ~6697 || || || || || ||%0a> || zurna || irc.zurna.net || 6667 || || Jujube || Grape || || ||%0a> || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || ||%0a +host:1614221589=198.251.81.119 +author:1614221203=jrmu +diff:1614221203:1614220890:=40,89c40,89%0a%3c || bgirc || irc.bgirc.com || ~6697 || || || || || || ||%0a%3c || bitlbee || 127.0.0.1 || 6668 || || || || || || ||%0a%3c || blitzed || irc.blitzed.org || +6697 || || || || || || ||%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || || || ||%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || || || || || Ask ||%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || || ||%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || || || || || ||%0a%3c || buenchat || irc.buenchat.org || ~6697 || || || || || || Yes ||%0a%3c || canternet || irc.canternet.org || +6697 || || || || || || ||%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || || Yes || Yes ||%0a%3c || chaat || irc.chaat.fr || 6667 || || || || || || ||%0a%3c || chat4all || irc.chat4all.org || ~6697 || || || || || || ||%0a%3c || chatasia || irc.chatasia.net || ~6697 || || || || || || ||%0a%3c || chatgentr || chat.gen.tr || 6667 || || || || || || ||%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || || || || ||%0a%3c || chathub || irc.chathub.org || +6697 || || Mango || - || || || ||%0a%3c || chating || irc.chating.id || 6667 || || Pear || - || || || Ask ||%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || || || || Ask ||%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || || ||%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || || || || || Ask ||%0a%3c || chatopia || irc.chatopia.net || +6697 || || || || || || Ask ||%0a%3c || chatplezier || irc.chatplezier.com || ~6697 || || || || || || ||%0a%3c || chatspike || irc.chatspike.net || ~6697 || || || || || || ||%0a%3c || chatsystems || irc.chatsystems.net || +6697 || || || || || || Yes ||%0a%3c || chatzona || irc.chatzona.org || 6667 || || Plum || || || || Ask ||%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || || || No ||%0a%3c || darkfasel || irc.darkfasel.net || +6697 || || || || || || ||%0a%3c || darkirc || irc.darkirc.eu || +6697 || || Pear || || || || Yes ||%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || || Yes || || ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || || || || ? ||%0a%3c || dejatoons || irc.dejatoons.net || ~6697 || || || || || || ||%0a%3c || desirenet || irc.desirenet.org || 6667 || || Pear || || || Yes || ||%0a%3c || digitalirc || irc.digitalirc.org || +6697 || || || || || || ||%0a%3c || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || || || ||%0a%3c || efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || || No ||%0a%3c || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || || Yes || ||%0a%3c || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || Yes || ||%0a%3c || epiknet || irc.epiknet.org || +6697 || || || || || || ||%0a%3c || esper || irc.esper.net || +6697 || || || || || || ||%0a%3c || euirc || irc.euirc.net || 6667 || || || || || || ||%0a%3c || europnet || irc.europnet.org || 6667 || || Pear || || || Yes || ||%0a%3c || evilnet || irc.evilnet.org || ~6697 || || Fig || || || - || Ask ||%0a%3c || evolu || irc.evolu.net || ~6697 || || || || || || ||%0a%3c || ewnix || irc.ewnix.net || +6697 || || || || || || Ask ||%0a%3c || exchat || irc.exchat.net || ~6697 || || || || || || ||%0a%3c || exolia || irc.exolia.net || 6667 || || || || || || ||%0a%3c || explosionirc || irc.explosionirc.net || 6667 || || || || || || ||%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || || Ask ||%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || || || - || Ask ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || Banana || - || No ||%0a---%0a> || bgirc || irc.bgirc.com || ~6697 || || || || || ||%0a> || bitlbee || 127.0.0.1 || 6668 || || || || || ||%0a> || blitzed || irc.blitzed.org || +6697 || || || || || ||%0a> || bolchat || irc.bolchat.com || 6667 || || || || || ||%0a> || brasirc || irc.brasirc.com.br || ~6697 || || || || || Ask ||%0a> || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || ||%0a> || bsdunix || irc.bsdunix.us || +6697 || || || || || ||%0a> || buenchat || irc.buenchat.org || ~6697 || || || || || Yes ||%0a> || canternet || irc.canternet.org || +6697 || || || || || ||%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes || Yes ||%0a> || chaat || irc.chaat.fr || 6667 || || || || || ||%0a> || chat4all || irc.chat4all.org || ~6697 || || || || || ||%0a> || chatasia || irc.chatasia.net || ~6697 || || || || || ||%0a> || chatgentr || chat.gen.tr || 6667 || || || || || ||%0a> || chathispano || irc.chathispano.com || +6697 || || Plum || || || ||%0a> || chathub || irc.chathub.org || +6697 || || Mango || - || || ||%0a> || chating || irc.chating.id || 6667 || || Pear || - || || Ask ||%0a> || chatjunkies || irc.chatjunkies.org || +6697 || || || || || Ask ||%0a> || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || ||%0a> || chatlounge || irc.chatlounge.net || +6697 || || || || || Ask ||%0a> || chatopia || irc.chatopia.net || +6697 || || || || || Ask ||%0a> || chatplezier || irc.chatplezier.com || ~6697 || || || || || ||%0a> || chatspike || irc.chatspike.net || ~6697 || || || || || ||%0a> || chatsystems || irc.chatsystems.net || +6697 || || || || || Yes ||%0a> || chatzona || irc.chatzona.org || 6667 || || Plum || || || Ask ||%0a> || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || || No ||%0a> || darkfasel || irc.darkfasel.net || +6697 || || || || || ||%0a> || darkirc || irc.darkirc.eu || +6697 || || Pear || || || Yes ||%0a> || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes || || ||%0a> || darkscience || irc.darkscience.net || +6697 || || Plum || || || ? ||%0a> || dejatoons || irc.dejatoons.net || ~6697 || || || || || ||%0a> || desirenet || irc.desirenet.org || 6667 || || Pear || || Yes || ||%0a> || digitalirc || irc.digitalirc.org || +6697 || || || || || ||%0a> || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || || ||%0a> || efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || No ||%0a> || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Yes || ||%0a> || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || yes || ||%0a> || epiknet || irc.epiknet.org || +6697 || || || || || ||%0a> || esper || irc.esper.net || +6697 || || || || || ||%0a> || euirc || irc.euirc.net || 6667 || || || || || ||%0a> || europnet || irc.europnet.org || 6667 || || Pear || || Yes || ||%0a> || evilnet || irc.evilnet.org || ~6697 || || Fig || || - || Ask ||%0a> || evolu || irc.evolu.net || ~6697 || || || || || ||%0a> || ewnix || irc.ewnix.net || +6697 || || || || || Ask ||%0a> || exchat || irc.exchat.net || ~6697 || || || || || ||%0a> || exolia || irc.exolia.net || 6667 || || || || || ||%0a> || explosionirc || irc.explosionirc.net || 6667 || || || || || ||%0a> || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || Ask ||%0a> || frantech || irc.frantech.ca || +6697 || || Mango || || - || Ask ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange, Banana (relay) || Grape || - || No ||%0a +host:1614221203=198.251.81.119 +author:1614220890=jrmu +diff:1614220890:1614220862:=16c16%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays ||! Iline ||! Ally ||%0a---%0a> ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays || ||! Iline ||! Ally ||%0a +host:1614220890=198.251.81.119 +author:1614220862=jrmu +diff:1614220862:1614219874:=16,39c16,39%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Relays || ||! Iline ||! Ally ||%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || || Yes || ||%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || || Yes || ||%0a%3c || 42net || sol.42net.org || 6667 || || || || || || ||%0a%3c || absoluty || irc.absoluty-irc.fr || 6667 || || || || || || ||%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || || || || || Yes ||%0a%3c || afterall || irc.after-all.org || 6667 || || || || || || ||%0a%3c || afternet || irc.afternet.org || +6697 || || Orange || || || || ||%0a%3c || afterx || irc.afterx.net || +6697 || || || || || || ||%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || || ||%0a%3c || allrednc || irc.allrednc.org || ~6697 || || || || || || ||%0a%3c || alphachat || irc.alphachat.net || +6697 || || || || || || ||%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || || || ||%0a%3c || amorlatino || irc.amorlatino.org || 6667 || || Plum || || || || ||%0a%3c || anope || irc.anope.org || 6667 || || Banana || || || || ||%0a%3c || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || || || ||%0a%3c || atrum || irc.atrum.org || ~6697 || || || || || || ||%0a%3c || austnet || lego.jp.austnet.org || ~6697 || || Orange || || || || ||%0a%3c || axon || irc.axon.pw || +6697 || || || || || || ||%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || || || || || Ask ||%0a%3c || azzurra || irc.azzurra.org || +6697 || || || || || || ||%0a%3c || banglacafe || irc.banglacafe.com || 6667 || || || || || || ||%0a%3c || barton || irc.barton.de || 6667 || || || || || || Ask ||%0a---%0a> ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline ||! Ally ||%0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || Yes || ||%0a> || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Yes || ||%0a> || 42net || sol.42net.org || 6667 || || || || || ||%0a> || absoluty || irc.absoluty-irc.fr || 6667 || || || || || ||%0a> || aerospacechat || irc.aerospacechat.com || +6697 || || || || || Yes ||%0a> || afterall || irc.after-all.org || 6667 || || || || || ||%0a> || afternet || irc.afternet.org || +6697 || || Orange || || || ||%0a> || afterx || irc.afterx.net || +6697 || || || || || ||%0a> || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || ||%0a> || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || ||%0a> || allrednc || irc.allrednc.org || ~6697 || || || || || ||%0a> || alphachat || irc.alphachat.net || +6697 || || || || || ||%0a> || amicachat || irc.amicachat.net || ~6697 || || || || || ||%0a> || amorlatino || irc.amorlatino.org || 6667 || || Plum || || || ||%0a> || anope || irc.anope.org || 6667 || || Banana || || || ||%0a> || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || || ||%0a> || atrum || irc.atrum.org || ~6697 || || || || || ||%0a> || austnet || lego.jp.austnet.org || ~6697 || || Orange || || || ||%0a> || axon || irc.axon.pw || +6697 || || || || || ||%0a> || ayochat || irc.ayochat.or.id || 6667 || || || || || Ask ||%0a> || azzurra || irc.azzurra.org || +6697 || || || || || ||%0a> || banglacafe || irc.banglacafe.com || 6667 || || || || || ||%0a> || barton || irc.barton.de || 6667 || || || || || Ask ||%0a +host:1614220862=198.251.81.119 +author:1614219874=nsturtz +diff:1614219874:1614183928:=164c164%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || Guava || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || || Yes || Yes ||%0a +host:1614219874=199.66.14.109 +author:1614183928=nsturtz +csum:1614183928=Updated Sturtz Network +diff:1614183928:1614176761:=164c164%0a%3c || sturtz || irc.sturtz.cf || +6697 || A Safe place for everyone, and a programming oriented network || Jujube || || Yes || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || || Jujube || || || Yes ||%0a +host:1614183928=199.66.14.109 +author:1614176761=Thor +diff:1614176761:1614085122:=182d181%0a%3c || universochat || irc.unviersochat.com || || || || || || ||%0a +host:1614176761=198.251.81.119 +author:1614085122=fizi +diff:1614085122:1614072804:=190c190%0a%3c || zemra || irc.zemra.org || +6697 || || Jujube || Grape || || ||%0a---%0a> || zemra || irc.zemra.org || +6697 || || || || || ||%0a195c195%0a%3c || zurna || irc.zurna.net || 6667 || || Jujube || Grape || || ||%0a---%0a> || zurna || irc.zurna.net || 6667 || || Jujube || || || ||%0a +host:1614085122=39.42.51.245 +author:1614072804=jrmu +diff:1614072804:1614054922:=47d46%0a%3c || buenchat || irc.buenchat.org || ~6697 || || || || || Yes ||%0a +host:1614072804=198.251.81.119 +author:1614054922=jrmu +diff:1614054922:1614054892:=154c154%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || || Ask ||%0a---%0a> || skychatz || irc.skychatz.org || ~6697 || || || || || Yes ||%0a +host:1614054922=198.251.81.119 +author:1614054892=jrmu +diff:1614054892:1613876386:=154c154%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || || Yes ||%0a---%0a> || skychatz || irc.skychatz.org || ~6697 || || || || || ||%0a +host:1614054892=198.251.81.119 +author:1613876386=jrmu +diff:1613876386:1613737017:=180c180%0a%3c || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || No ||%0a---%0a> || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || Ask ||%0a +host:1613876386=125.231.57.76 +author:1613737017=jrmu +diff:1613737017:1613535003:=64c64%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange, Plum (relay) || Grape || || No ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || || No ||%0a88c88%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange, Banana (relay) || Grape || - || No ||%0a---%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - || No ||%0a +host:1613737017=125.231.58.85 +author:1613535003=gry +csum:1613535003=update +diff:1613535003:1613130492:=23c23%0a%3c || afternet || irc.afternet.org || +6697 || || Orange || || || ||%0a---%0a> || afternet || irc.afternet.org || +6697 || || || || || ||%0a +host:1613535003=203.129.25.247 +author:1613130492=fizi +diff:1613130492:1613130460:=75c75%0a%3c || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || yes || ||%0a---%0a> || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || yes ||%0a +host:1613130492=39.42.12.7 +author:1613130460=fizi +diff:1613130460:1613065166:=75c75%0a%3c || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || yes ||%0a---%0a> || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || ||%0a +host:1613130460=39.42.12.7 +author:1613065166=fizi +diff:1613065166:1613065068:=75c75%0a%3c || enjoychat || irc.enjoychat.net || 6667 || || Jujube || Grape || || ||%0a---%0a> || enjoychat || irc.enjoychat.net|| 6667 || || Jujube || Grape || Yes || ||%0a +host:1613065166=39.42.125.170 +author:1613065068=fizi +diff:1613065068:1613059868:=75d74%0a%3c || enjoychat || irc.enjoychat.net|| 6667 || || Jujube || Grape || Yes || ||%0a +host:1613065068=39.42.125.170 +author:1613059868=fizi +diff:1613059868:1612805177:=32d31%0a%3c || apropo || irc..apropo-chat.ro || 6667 || || Jujube || Grape || || ||%0a +host:1613059868=39.42.125.170 +author:1612805177=fizi +diff:1612805177:1612805092:=161c161%0a%3c || sturtz || irc.sturtz.cf || +6697 || || Jujube || || || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || || || || || Yes ||%0a +host:1612805177=39.42.18.52 +author:1612805092=fizi +diff:1612805092:1612703755:=178c178%0a%3c || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || Jujube || || || Ask ||%0a---%0a> || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || || || || Ask ||%0a +host:1612805092=39.42.18.52 +author:1612703755=dennis +diff:1612703755:1612703734:= +host:1612703755=31.21.104.59 +author:1612703734=dennis +diff:1612703734:1612703683:=65c65%0a%3c || darkirc || irc.darkirc.eu || +6697 || || Pear || || || Yes ||%0a---%0a> || darkirc || irc.darkirc.eu || +6697 || || || || || Yes ||%0a +host:1612703734=31.21.104.59 +author:1612703683=jrmu +diff:1612703683:1612629939:=10,14d9%0a%3c Note:%0a%3c %0a%3c # Ally networks are friendly! They are the best to claim%0a%3c # Networks that have 'No' in the Ally column should be discouraged. They may have many users today but do not want to work closely with us.%0a%3c %0a16c11%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline ||! Ally ||%0a---%0a> ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline ||! Partner ||%0a +host:1612703683=198.251.81.119 +author:1612629939=jrmu +diff:1612629939:1612629651:=110c110%0a%3c || ircsource || ircsource.quoservers.net || ~6697 || || || || || ||%0a---%0a> || ircsource || ircsource.quoservers.net || +6697 || || || || || ||%0a +host:1612629939=198.251.81.119 +author:1612629651=jrmu +diff:1612629651:1612433813:=110d109%0a%3c || ircsource || ircsource.quoservers.net || +6697 || || || || || ||%0a +host:1612629651=198.251.81.119 +author:1612433813=dennis +diff:1612433813:1612433810:= +host:1612433813=31.21.104.59 +author:1612433810=dennis +diff:1612433810:1612433768:=170c170%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || Yes || Yes ||%0a---%0a> || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes ||%0a +host:1612433810=31.21.104.59 +author:1612433768=dennis +diff:1612433768:1612433765:= +host:1612433768=31.21.104.59 +author:1612433765=dennis +diff:1612433765:1612433705:=170c170%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || || Pear || Lemon || || Yes ||%0a---%0a> || umbrellanet || irc.umbrellanet.org || ~6697 || ||Pear/Lemon || || || Yes ||%0a +host:1612433765=31.21.104.59 +author:1612433705=dennis +diff:1612433705:1612431268:=170c170%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || ||Pear/Lemon || || || Yes ||%0a---%0a> || umbrellanet || irc.umbrellanet.org || ~6697 || || || || || Yes ||%0a +host:1612433705=31.21.104.59 +author:1612431268=jrmu +diff:1612431268:1612360751:=170d169%0a%3c || umbrellanet || irc.umbrellanet.org || ~6697 || || || || || Yes ||%0a +host:1612431268=198.251.81.119 +author:1612360751=jrmu +diff:1612360751:1612360717:=155c155%0a%3c || sturtz || irc.sturtz.cf || +6697 || || || || || Yes ||%0a---%0a> || sturtz || irc.sturtz.cf || +6697 || || || || || ||%0a +host:1612360751=198.251.81.119 +author:1612360717=jrmu +diff:1612360717:1612277988:=155d154%0a%3c || sturtz || irc.sturtz.cf || +6697 || || || || || ||%0a +host:1612360717=198.251.81.119 +author:1612277988=jrmu +diff:1612277988:1612092340:=153c153%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || Yes ||%0a---%0a> || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || Ask ||%0a +host:1612277988=198.251.81.119 +author:1612092340=jrmu +diff:1612092340:1612086664:=170c170%0a%3c || universalnet || irc.universalnet.org || ~6697 || Romanian Chat Network || || || || Ask ||%0a---%0a> || universalnet || irc.universalnet.org || ~6697 || || || || || Ask ||%0a +host:1612092340=125.224.24.163 +author:1612086664=jrmu +diff:1612086664:1612086610:=170c170%0a%3c || universalnet || irc.universalnet.org || ~6697 || || || || || Ask ||%0a---%0a> || universalnet || irc.universalnet.org || 6667 || || || || || Ask ||%0a +host:1612086664=125.224.24.163 +author:1612086610=jrmu +diff:1612086610:1612053614:=170d169%0a%3c || universalnet || irc.universalnet.org || 6667 || || || || || Ask ||%0a +host:1612086610=125.224.24.163 +author:1612053614=jrmu +diff:1612053614:1612007301:=153c153%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || Ask ||%0a---%0a> || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || ||%0a +host:1612053614=125.224.24.163 +author:1612007301=jrmu +diff:1612007301:1612007267:=153c153%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Cherry || || || ||%0a---%0a> || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Orange || || || ||%0a +host:1612007301=125.231.24.226 +author:1612007267=jrmu +diff:1612007267:1612007225:=153c153%0a%3c || spiderchat || master.spiderchat.org || +6697 || Malaysian/Thai Network || Orange || || || ||%0a---%0a> || spiderchat || master.spiderchat.org || +6697 || || Orange || || || ||%0a +host:1612007267=125.231.24.226 +author:1612007225=jrmu +diff:1612007225:1612007165:= +host:1612007225=125.231.24.226 +author:1612007165=jrmu +diff:1612007165:1611580365:=153d152%0a%3c || spiderchat || master.spiderchat.org || +6697 || || Orange || || || ||%0a +host:1612007165=125.231.24.226 +author:1611580365=jrmu +diff:1611580365:1611277275:=182d181%0a%3c || zurna || irc.zurna.net || 6667 || || Jujube || || || ||%0a +host:1611580365=125.231.20.163 +author:1611277275=jrmu +diff:1611277275:1610793275:=168c168%0a%3c || undernet || irc6.undernet.org || 6667 || || Plum || Grape || || No ||%0a---%0a> || undernet || irc6.undernet.org || 6667 || || Mango || Grape || || No ||%0a +host:1611277275=125.231.35.24 +author:1610793275=fizi +diff:1610793275:1610728847:=150c150%0a%3c || sohbet || irc.sohbet.net || 6667 || Chat Room Where You Can Chat || Jujube || Grape || - || No ||%0a---%0a> || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - || No ||%0a +host:1610793275=39.42.56.46 +author:1610728847=quofan +diff:1610728847:1610728739:=67c67%0a%3c || efnet || irc.efnet.nl || 6667 || || Pear || Lemon || || No ||%0a---%0a> || efnet || irc.efnet.nl || 6667 || || Pear || || Lemon || No ||%0a +host:1610728847=85.23.58.107 +author:1610728739=quofan +diff:1610728739:1610636860:=67c67%0a%3c || efnet || irc.efnet.nl || 6667 || || Pear || || Lemon || No ||%0a---%0a> || efnet || irc.efnet.nl || 6667 || || || || || No ||%0a +host:1610728739=85.23.58.107 +author:1610636860=fizi +diff:1610636860:1610636811:=98c98%0a%3c || hazinem || irc.hazinem.net || 6667 || || Jujube || Grape || Yes || ||%0a---%0a> || hazinem || irc.hazinem.net || 6667 || Jujube || || || Yes || ||%0a +host:1610636860=39.42.57.237 +author:1610636811=fizi +diff:1610636811:1610551281:=98c98%0a%3c || hazinem || irc.hazinem.net || 6667 || Jujube || || || Yes || ||%0a---%0a> || hazinem || irc.hazinem.net || 6667 || || || || || ||%0a +host:1610636811=39.42.57.237 +author:1610551281=jrmu +diff:1610551281:1610378166:=98d97%0a%3c || hazinem || irc.hazinem.net || 6667 || || || || || ||%0a +host:1610551281=125.224.27.48 +author:1610378166=fizi +diff:1610378166:1610358884:=68c68%0a%3c || ekolay || irc.e-kolay.org || 6667 || || Jujube || Grape || Yes || ||%0a---%0a> || ekolay || irc.e-kolay.org || 6667 || || || || || ||%0a +host:1610378166=39.42.92.216 +author:1610358884=jrmu +diff:1610358884:1610286176:=181,183c181%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || ||%0a%3c %0a%3c [[Ircnow/Ilines|Partner Network Ilines]]%0a\ No newline at end of file%0a---%0a> || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || ||%0a\ No newline at end of file%0a +host:1610358884=125.224.19.86 +author:1610286176=miniontoby +csum:1610286176=banana znc edgy1 +diff:1610286176:1610286077:=66c66%0a%3c || edgy1 || irc.edgy1.net || 6667 || || Banana || Grape || || ||%0a---%0a> || edgy1 || irc.edgy1.net || 6667 || || Grape || Grape || || ||%0a +host:1610286176=145.132.146.30 +author:1610286077=miniontoby +diff:1610286077:1610286044:=66c66%0a%3c || edgy1 || irc.edgy1.net || 6667 || || Grape || Grape || || ||%0a---%0a> || edgy1|| irc.edgy1.net || 6667 || || Grape || Grape || || ||%0a +host:1610286077=145.132.146.30 +author:1610286044=miniontoby +csum:1610286044=added edgy1 and claimed it +diff:1610286044:1610283835:=66d65%0a%3c || edgy1|| irc.edgy1.net || 6667 || || Grape || Grape || || ||%0a +host:1610286044=145.132.146.30 +author:1610283835=jrmu +diff:1610283835:1610077664:=60d59%0a%3c || darkirc || irc.darkirc.eu || +6697 || || || || || Yes ||%0a +host:1610283835=125.224.19.86 +author:1610077664=jrmu +diff:1610077664:1610009662:=1,8c1%0a%3c (:title IRCNow Networks:)%0a%3c %0a%3c Your team will be responsible for:%0a%3c %0a%3c # Handling communications with the network opers%0a%3c # Obtaining ilines from the network%0a%3c # Handling and dealing with abuse reports (for abuse concerning other teams, please email abuse@ircnow.org or report to #opers)%0a%3c # Ban/abuse policy for #ircnow and other official channels on the network%0a---%0a> If you see duplicates or mistakes, please report them.%0a +host:1610077664=125.224.19.86 +author:1610009662=miniontoby +csum:1610009662=perl taken +diff:1610009662:1610008923:=121c121%0a%3c || perl || irc.perl.org || 6667 || || Banana || || || Ask ||%0a---%0a> || perl || irc.perl.org || 6667 || || || || || Ask ||%0a +host:1610009662=145.132.146.30 +author:1610008923=miniontoby +csum:1610008923=ircnet +diff:1610008923:1609929225:=99c99%0a%3c || ircnet || open.ircnet.net || 6667 || || Banana || || || Ask ||%0a---%0a> || ircnet || open.ircnet.net || 6667 || || || || || Ask ||%0a +host:1610008923=145.132.146.30 +author:1609929225=miniontoby +csum:1609929225=irccloud claimed +diff:1609929225:1609926055:=93c93%0a%3c || irccloud || irc.irccloud.com || +6697 || || Banana || || || No ||%0a---%0a> || irccloud || irc.irccloud.com || +6697 || || || || || No ||%0a +host:1609929225=145.132.146.30 +author:1609926055=miniontoby +csum:1609926055=freshchat +diff:1609926055:1609923516:=74c74%0a%3c || freshchat || irc.freshchat.org || +6697 || || Banana || || || ||%0a---%0a> || freshchat || irc.freshchat.org || +6697 || || || || || ||%0a +host:1609926055=145.132.146.30 +author:1609923516=jrmu +diff:1609923516:1609921259:=107a108%0a> %0a +host:1609923516=125.231.63.134 +author:1609921259=gry +csum:1609921259=took out an non-public network? +diff:1609921259:1609920889:=108c108%0a%3c %0a---%0a> || magnet || irc.shadowcat.co.uk || 6667 || || || || || ||%0a134a135%0a> || shadowcat || irc.shadowcat.co.uk || 6667 || || || || || ||%0a +host:1609921259=203.129.25.247 +author:1609920889=miniontoby +csum:1609920889=anope +diff:1609920889:1609920811:=19c19%0a%3c || anope || irc.anope.org || 6667 || || Banana || || || ||%0a---%0a> || anope || irc.anope.org || 6667 || || || || || ||%0a +host:1609920889=145.132.146.30 +author:1609920811=gry +csum:1609920811=hybridirc +diff:1609920811:1609920272:=89c89%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || Orange (as of 2021-01) || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes || ||%0a +host:1609920811=203.129.25.247 +author:1609920272=miniontoby +diff:1609920272:1609920225:=89c89%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Banana || || || Yes || ||%0a +host:1609920272=145.132.146.30 +author:1609920225=miniontoby +csum:1609920225=hybridirc taken +diff:1609920225:1609901291:=89c89%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| Banana || || || Yes || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes || ||%0a +host:1609920225=145.132.146.30 +author:1609901291=jrmu +diff:1609901291:1609829242:=5c5%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || N/A || N/A || Yes || ||%0a---%0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Grape || Yes || ||%0a +host:1609901291=125.231.63.134 +author:1609829242=jrmu +diff:1609829242:1609829192:=161c161%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || || Ask ||%0a---%0a> || uugrn || irc.uugrn.org || +6670 || || || || || Yes ||%0a +host:1609829242=125.231.63.134 +author:1609829192=jrmu +diff:1609829192:1609692607:=128c128%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || || Yes ||%0a---%0a> || redhispano || irc.redhispano.org || ~6697 || || || || || Ask ||%0a +host:1609829192=125.231.63.134 +author:1609692607=miniontoby +diff:1609692607:1609605142:=159c159%0a%3c || twitch || irc.twitch.tv || 6667 || streaming platform (Cant be used for bncs, Banana tested it) || NO || NO || || No ||%0a---%0a> || twitch || irc.twitch.tv || 6667 || streaming platform || Banana || || || No ||%0a +host:1609692607=145.132.146.30 +author:1609605142=miniontoby +csum:1609605142=Claim twitch +diff:1609605142:1609402216:=159c159%0a%3c || twitch || irc.twitch.tv || 6667 || streaming platform || Banana || || || No ||%0a---%0a> || twitch || irc.twitch.tv || 6667 || || || || || No ||%0a +host:1609605142=145.132.146.30 +author:1609402216=jrmu +diff:1609402216:1609301927:=59d58%0a%3c || ekolay || irc.e-kolay.org || 6667 || || || || || ||%0a +host:1609402216=198.251.81.119 +author:1609301927=jrmu +diff:1609301927:1609299525:=58c58%0a%3c || efnet || irc.efnet.nl || 6667 || || || || || No ||%0a---%0a> || efnet || irc.efnet.nl || 6667 || || || || || ||%0a +host:1609301927=125.231.64.214 +author:1609299525=jrmu +diff:1609299525:1609298806:=23c23%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || || || || Ask ||%0a---%0a> || ayochat || irc.ayochat.or.id || 6667 || || || || || ||%0a26c26%0a%3c || barton || irc.barton.de || 6667 || || || || || Ask ||%0a---%0a> || barton || irc.barton.de || 6667 || || || || || ||%0a31c31%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || || || || Ask ||%0a---%0a> || brasirc || irc.brasirc.com.br || ~6697 || || || || || ||%0a42,43c42,43%0a%3c || chating || irc.chating.id || 6667 || || Pear || - || || Ask ||%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || || || Ask ||%0a---%0a> || chating || irc.chating.id || 6667 || || Pear || - || || ||%0a> || chatjunkies || irc.chatjunkies.org || +6697 || || || || || ||%0a45,46c45,46%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || || || || Ask ||%0a%3c || chatopia || irc.chatopia.net || +6697 || || || || || Ask ||%0a---%0a> || chatlounge || irc.chatlounge.net || +6697 || || || || || ||%0a> || chatopia || irc.chatopia.net || +6697 || || || || || ||%0a50,51c50,51%0a%3c || chatzona || irc.chatzona.org || 6667 || || Plum || || || Ask ||%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || || No ||%0a---%0a> || chatzona || irc.chatzona.org || 6667 || || Plum || || || ||%0a> || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || || ||%0a53,54c53,54%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes || || ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || || || ? ||%0a---%0a> || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes || ||%0a> || darkscience || irc.darkscience.net || +6697 || || Plum || || || ||%0a63c63%0a%3c || evilnet || irc.evilnet.org || ~6697 || || Fig || || - || Ask ||%0a---%0a> || evilnet || irc.evilnet.org || ~6697 || || Fig || || - || ||%0a65c65%0a%3c || ewnix || irc.ewnix.net || +6697 || || || || || Ask ||%0a---%0a> || ewnix || irc.ewnix.net || +6697 || || || || || ||%0a69,72c69,72%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || Ask ||%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || || - || Ask ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - || No ||%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || || || Ask ||%0a---%0a> || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || ||%0a> || frantech || irc.frantech.ca || +6697 || || Mango || || - || ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - || ||%0a> || freeunibg || irc.freeunibg.eu || 6667 || || || || || ||%0a79c79%0a%3c || geveze || irc.geveze.org || 6667 || || || || || No ||%0a---%0a> || geveze || irc.geveze.org || 6667 || || || || || ||%0a91,93c91,93%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || || || Ask ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || || || || No ||%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || No ||%0a---%0a> || irc4fun || irc.irc4fun.net || 6667 || || || || || ||%0a> || irccloud || irc.irccloud.com || +6697 || || || || || ||%0a> || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || ||%0a95,98c95,98%0a%3c || ircgate || irc.ircgate.it || 6667 || || || || || No ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || || || Ask ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes || Ask ||%0a%3c || ircnet || open.ircnet.net || 6667 || || || || || Ask ||%0a---%0a> || ircgate || irc.ircgate.it || 6667 || || || || || ||%0a> || irchaven || irc.irchaven.org || 6667 || || || || || ||%0a> || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes || ||%0a> || ircnet || open.ircnet.net || 6667 || || || || || ||%0a104,105c104,105%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - || No ||%0a%3c || librairc || irc.librairc.net || ~6697 || || Plum || || || No ||%0a---%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - || ||%0a> || librairc || irc.librairc.net || ~6697 || || Plum || || || ||%0a108c108%0a%3c || malikania || malikania.fr || ~6697 || || || || || Ask ||%0a---%0a> || malikania || malikania.fr || ~6697 || || || || || ||%0a112c112%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes || Ask ||%0a---%0a> || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes || ||%0a115c115%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || No ||%0a---%0a> || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || ||%0a119c119%0a%3c || overthewire || ircs.overthewire.org || +6697 || || Plum || || || Ask ||%0a---%0a> || overthewire || ircs.overthewire.org || +6697 || || Plum || || || ||%0a121,124c121,124%0a%3c || perl || irc.perl.org || 6667 || || || || || Ask ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || || || Ask ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || || || Ask ||%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes || No ||%0a---%0a> || perl || irc.perl.org || 6667 || || || || || ||%0a> || pirc-pl || irc.pirc.pl || +6697 || || || || || ||%0a> || ptnet || irc.ptnet.org || +6697 || || || || || ||%0a> || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes || ||%0a127c127%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || || Ask ||%0a---%0a> || redhispano || irc.redhispano.org || ~6697 || || || || || ||%0a129,130c129,130%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes || Ask ||%0a%3c || robothive || irc.robothive.org || ~6697 || || || || || Ask ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes || ||%0a> || robothive || irc.robothive.org || ~6697 || || || || || ||%0a132c132%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || || || Ask ||%0a---%0a> || rusnet || irc.lucky.net || 6660 || || Orange || || || ||%0a136c136%0a%3c || simosnap || irc.simosnap.com || +6697 || || || || || No ||%0a---%0a> || simosnap || irc.simosnap.com || +6697 || || || || || ||%0a140,141c140,141%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || || || No ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - || No ||%0a---%0a> || snoonet || irc.snoonet.org || +6697 || || Plum || || || ||%0a> || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - || ||%0a152,153c152,153%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - || No ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - || Ask ||%0a---%0a> || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - || ||%0a> || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - || ||%0a155c155%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || || || No ||%0a---%0a> || trsohbet || irc.trsohbet.com || 6667 || || || || || ||%0a158,160c158,160%0a%3c || twitch || irc.twitch.tv || 6667 || || || || || No ||%0a%3c || undernet || irc6.undernet.org || 6667 || || Mango || Grape || || No ||%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || || Yes ||%0a---%0a> || twitch || irc.twitch.tv || 6667 || || || || || ||%0a> || undernet || irc6.undernet.org || 6667 || || Mango || Grape || || ||%0a> || uugrn || irc.uugrn.org || +6670 || || || || || ||%0a166c166%0a%3c || zairc || irc.zairc.net || ~6697 || || || || || No ||%0a---%0a> || zairc || irc.zairc.net || ~6697 || || || || || ||%0a +host:1609299525=198.251.81.119 +author:1609298806=jrmu +diff:1609298806:1609297923:=18c18%0a%3c || amorlatino || irc.amorlatino.org || 6667 || || Plum || || || ||%0a---%0a> || amorlatino || irc.amorlatino.org || 6667 || ||Plum || || || ||%0a100c100%0a%3c || irczone || irc6.irczone.net || ~6697 || || || || || Yes ||%0a---%0a> || irczone || irc6.irczone.net || ~6697 || || || || || ||%0a151c151%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes || Yes ||%0a---%0a> || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes || ||%0a +host:1609298806=198.251.81.119 +author:1609297923=jrmu +diff:1609297923:1609297891:=35c35%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes || Yes ||%0a---%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes || ||%0a +host:1609297923=198.251.81.119 +author:1609297891=jrmu +diff:1609297891:1609297840:=9c9%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || || || || Yes ||%0a---%0a> || aerospacechat || irc.aerospacechat.com || +6697 || || || || || ||%0a49c49%0a%3c || chatsystems || irc.chatsystems.net || +6697 || || || || || Yes ||%0a---%0a> || chatsystems || irc.chatsystems.net || +6697 || || || || || ||%0a +host:1609297891=198.251.81.119 +author:1609297840=jrmu +diff:1609297840:1609265559:=49d48%0a%3c || chatsystems || irc.chatsystems.net || +6697 || || || || || ||%0a +host:1609297840=198.251.81.119 +author:1609265559=jrmu +diff:1609265559:1609265300:=49,172c49,172%0a%3c || chatzona || irc.chatzona.org || 6667 || || Plum || || || ||%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || || ||%0a%3c || darkfasel || irc.darkfasel.net || +6697 || || || || || ||%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes || ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || || || ||%0a%3c || dejatoons || irc.dejatoons.net || ~6697 || || || || || ||%0a%3c || desirenet || irc.desirenet.org || 6667 || || Pear || || Yes || ||%0a%3c || digitalirc || irc.digitalirc.org || +6697 || || || || || ||%0a%3c || efnet || irc.efnet.nl || 6667 || || || || || ||%0a%3c || epiknet || irc.epiknet.org || +6697 || || || || || ||%0a%3c || esper || irc.esper.net || +6697 || || || || || ||%0a%3c || euirc || irc.euirc.net || 6667 || || || || || ||%0a%3c || europnet || irc.europnet.org || 6667 || || Pear || || Yes || ||%0a%3c || evilnet || irc.evilnet.org || ~6697 || || Fig || || - || ||%0a%3c || evolu || irc.evolu.net || ~6697 || || || || || ||%0a%3c || ewnix || irc.ewnix.net || +6697 || || || || || ||%0a%3c || exchat || irc.exchat.net || ~6697 || || || || || ||%0a%3c || exolia || irc.exolia.net || 6667 || || || || || ||%0a%3c || explosionirc || irc.explosionirc.net || 6667 || || || || || ||%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || || || ||%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || || - || ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - || ||%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || || || ||%0a%3c || freshchat || irc.freshchat.org || +6697 || || || || || ||%0a%3c || friendsirc || irc.friendsirc.com || ~6697 || || || || || ||%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || Pear || || Yes || ||%0a%3c || geeknode || irc.geeknode.org || +6697 || || || || || ||%0a%3c || geekshed || irc.geekshed.net || +6697 || || Pear || || Yes || ||%0a%3c || germanelite || irc.german-elite.net || ~6697 || || || || || ||%0a%3c || geveze || irc.geveze.org || 6667 || || || || || ||%0a%3c || geyiktr || irc.geyiktr.net || 6667 || || || || || ||%0a%3c || gigairc || irc.gigairc.net || ~6697 || || || || || ||%0a%3c || gimp || irc.gimp.org || +6697 || || || || || ||%0a%3c || globalirc || irc.global-irc.org || 6667 || || Pear || || Yes || ||%0a%3c || globalirc-it || irc.globalirc.it || ~6697 || || || || || ||%0a%3c || greekirc || irc.greekirc.net || 6667 || || || || || ||%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || || ||%0a%3c || hackthissite || irc.hackthissite.org || +7000 || || || || || ||%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes || ||%0a%3c || icqchat || irc.icq-chat.com || +6697 || || || || || ||%0a%3c || insomnia || irc.insomnia247.nl || 6667 || || || || || ||%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || || || ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || || || || ||%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || || ||%0a%3c || ircfreakz || irc.ircfreakz.net || ~6697 || || || || || ||%0a%3c || ircgate || irc.ircgate.it || 6667 || || || || || ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || || || ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes || ||%0a%3c || ircnet || open.ircnet.net || 6667 || || || || || ||%0a%3c || irctl || chat.irc.tl || ~6697 || || || || || ||%0a%3c || irczone || irc6.irczone.net || ~6697 || || || || || ||%0a%3c || italian-amici || irc.italian-amici.org || 6667 || || || || || ||%0a%3c || juggler || irc.juggler.jp || 6667 || || || || || ||%0a%3c || kalbim || irc.kalbim.net || 6667 || || || || || ||%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - || ||%0a%3c || librairc || irc.librairc.net || ~6697 || || Plum || || || ||%0a%3c || luatic || irc.luatic.net || 6667 || || || || || ||%0a%3c || magnet || irc.shadowcat.co.uk || 6667 || || || || || ||%0a%3c || malikania || malikania.fr || ~6697 || || || || || ||%0a%3c || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - || ||%0a%3c || mindforge || irc.mindforge.org || 6667 || || || || || ||%0a%3c || myirc || chat.myirc.net || +6697 || || || || || ||%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes || ||%0a%3c || netchat || irc.netchat.cl || 6667 || || plum || || || ||%0a%3c || nfnet || irc.nfnet.org || 6667 || || || || || ||%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || || ||%0a%3c || oltreirc || irc.oltreirc.net || +6697 || || || || || ||%0a%3c || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || || ||%0a%3c || openjoke || irc.openjoke.org || ~6697 || || || || || ||%0a%3c || overthewire || ircs.overthewire.org || +6697 || || Plum || || || ||%0a%3c || p2p-net || irc.p2p-network.net || +6697 || || || || || ||%0a%3c || perl || irc.perl.org || 6667 || || || || || ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || || || ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || || || ||%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes || ||%0a%3c || quartznet || irc.quartznet.org || 6667 || || || || || ||%0a%3c || recycled-irc || irc.recycled-irc.net || 6667 || || || || || ||%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || || ||%0a%3c || rezosup || irc.rezosup.org || ~6697 || || || || || ||%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes || ||%0a%3c || robothive || irc.robothive.org || ~6697 || || || || || ||%0a%3c || rootworld || irc.rootworld.net || 6667 || || || || || ||%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || || || ||%0a%3c || scenep2p || irc.scenep2p.net || ~6697 || || || || || ||%0a%3c || shadowcat || irc.shadowcat.co.uk || 6667 || || || || || ||%0a%3c || shadowfire || irc.shadowfire.org || +7000 || || || || || ||%0a%3c || simosnap || irc.simosnap.com || +6697 || || || || || ||%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || || ||%0a%3c || slashnet || irc.slashnet.org || +6697 || || || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || || || ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - || ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || - || ||%0a%3c || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || - || ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || || || ||%0a%3c || superhosts || irc.superhosts.net || 6667 || || || || || ||%0a%3c || svipchat || irc.svipchat.org || ~6697 || || || || || ||%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || Plum || || || ||%0a%3c || swissirc || irc.swissirc.net || ~6697 || || || || || ||%0a%3c || swisschat || irc.swisschat.tk || 6667 || || || || || ||%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || - || ||%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes || ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - || ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - || ||%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || || || ||%0a%3c || tweakers || irc.tweakers.net || 6667 || || Banana || || || ||%0a%3c || twistednet || irc.twistednet.org || ~6697 || || || || || ||%0a%3c || twitch || irc.twitch.tv || 6667 || || || || || ||%0a%3c || undernet || irc6.undernet.org || 6667 || || Mango || Grape || || ||%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || || ||%0a%3c || virtualife || irc.virtualife.org || ~6697 || || || || || ||%0a%3c || w3 || irc.w3.org || 6667 || || || || || ||%0a%3c || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || - || ||%0a%3c || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || - || ||%0a%3c || xertion || irc.xertion.org || +6697 || || || || || ||%0a%3c || zairc || irc.zairc.net || ~6697 || || || || || ||%0a%3c || zandronum || irc.zandronum.com || ~6697 || || || || || ||%0a%3c || zemra || irc.zemra.org || +6697 || || || || || ||%0a%3c || zenet || irc.zenet.org || +6697 || || || || || ||%0a%3c || zeronode || irc.zeronode.net || +6697 || || || || || ||%0a%3c || zoite || irc.zoite.net || +6697 || || || || || ||%0a%3c || zonebg || irc.zonebg.eu || ~6697 || || || || || ||%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || || ||%0a\ No newline at end of file%0a---%0a> || chatzona || irc.chatzona.org || 6667 || || Plum || || ||%0a> || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || ||%0a> || darkfasel || irc.darkfasel.net || +6697 || || || || ||%0a> || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes ||%0a> || darkscience || irc.darkscience.net || +6697 || || Plum || || ||%0a> || dejatoons || irc.dejatoons.net || ~6697 || || || || ||%0a> || desirenet || irc.desirenet.org || 6667 || || Pear || || Yes ||%0a> || digitalirc || irc.digitalirc.org || +6697 || || || || ||%0a> || efnet || irc.efnet.nl || 6667 || || || || ||%0a> || epiknet || irc.epiknet.org || +6697 || || || || ||%0a> || esper || irc.esper.net || +6697 || || || || ||%0a> || euirc || irc.euirc.net || 6667 || || || || ||%0a> || europnet || irc.europnet.org || 6667 || || Pear || || Yes ||%0a> || evilnet || irc.evilnet.org || ~6697 || || Fig || || - ||%0a> || evolu || irc.evolu.net || ~6697 || || || || ||%0a> || ewnix || irc.ewnix.net || +6697 || || || || ||%0a> || exchat || irc.exchat.net || ~6697 || || || || ||%0a> || exolia || irc.exolia.net || 6667 || || || || ||%0a> || explosionirc || irc.explosionirc.net || 6667 || || || || ||%0a> || forumcerdas || irc.forumcerdas.net || ~6697 || || || || ||%0a> || frantech || irc.frantech.ca || +6697 || || Mango || || - ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - ||%0a> || freeunibg || irc.freeunibg.eu || 6667 || || || || ||%0a> || freshchat || irc.freshchat.org || +6697 || || || || ||%0a> || friendsirc || irc.friendsirc.com || ~6697 || || || || ||%0a> || gamesurge || irc.gamesurge.net || 6667 || || Pear || || Yes ||%0a> || geeknode || irc.geeknode.org || +6697 || || || || ||%0a> || geekshed || irc.geekshed.net || +6697 || || Pear || || Yes ||%0a> || germanelite || irc.german-elite.net || ~6697 || || || || ||%0a> || geveze || irc.geveze.org || 6667 || || || || ||%0a> || geyiktr || irc.geyiktr.net || 6667 || || || || ||%0a> || gigairc || irc.gigairc.net || ~6697 || || || || ||%0a> || gimp || irc.gimp.org || +6697 || || || || ||%0a> || globalirc || irc.global-irc.org || 6667 || || Pear || || Yes ||%0a> || globalirc-it || irc.globalirc.it || ~6697 || || || || ||%0a> || greekirc || irc.greekirc.net || 6667 || || || || ||%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || ||%0a> || hackthissite || irc.hackthissite.org || +7000 || || || || ||%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes ||%0a> || icqchat || irc.icq-chat.com || +6697 || || || || ||%0a> || insomnia || irc.insomnia247.nl || 6667 || || || || ||%0a> || irc4fun || irc.irc4fun.net || 6667 || || || || ||%0a> || irccloud || irc.irccloud.com || +6697 || || || || ||%0a> || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || ||%0a> || ircfreakz || irc.ircfreakz.net || ~6697 || || || || ||%0a> || ircgate || irc.ircgate.it || 6667 || || || || ||%0a> || irchaven || irc.irchaven.org || 6667 || || || || ||%0a> || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes ||%0a> || ircnet || open.ircnet.net || 6667 || || || || ||%0a> || irctl || chat.irc.tl || ~6697 || || || || ||%0a> || irczone || irc6.irczone.net || ~6697 || || || || ||%0a> || italian-amici || irc.italian-amici.org || 6667 || || || || ||%0a> || juggler || irc.juggler.jp || 6667 || || || || ||%0a> || kalbim || irc.kalbim.net || 6667 || || || || ||%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - ||%0a> || librairc || irc.librairc.net || ~6697 || || Plum || || ||%0a> || luatic || irc.luatic.net || 6667 || || || || ||%0a> || magnet || irc.shadowcat.co.uk || 6667 || || || || ||%0a> || malikania || malikania.fr || ~6697 || || || || ||%0a> || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - ||%0a> || mindforge || irc.mindforge.org || 6667 || || || || ||%0a> || myirc || chat.myirc.net || +6697 || || || || ||%0a> || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes ||%0a> || netchat || irc.netchat.cl || 6667 || || plum || || ||%0a> || nfnet || irc.nfnet.org || 6667 || || || || ||%0a> || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || ||%0a> || oltreirc || irc.oltreirc.net || +6697 || || || || ||%0a> || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || ||%0a> || openjoke || irc.openjoke.org || ~6697 || || || || ||%0a> || overthewire || ircs.overthewire.org || +6697 || || Plum || || ||%0a> || p2p-net || irc.p2p-network.net || +6697 || || || || ||%0a> || perl || irc.perl.org || 6667 || || || || ||%0a> || pirc-pl || irc.pirc.pl || +6697 || || || || ||%0a> || ptnet || irc.ptnet.org || +6697 || || || || ||%0a> || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes ||%0a> || quartznet || irc.quartznet.org || 6667 || || || || ||%0a> || recycled-irc || irc.recycled-irc.net || 6667 || || || || ||%0a> || redhispano || irc.redhispano.org || ~6697 || || || || ||%0a> || rezosup || irc.rezosup.org || ~6697 || || || || ||%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes ||%0a> || robothive || irc.robothive.org || ~6697 || || || || ||%0a> || rootworld || irc.rootworld.net || 6667 || || || || ||%0a> || rusnet || irc.lucky.net || 6660 || || Orange || || ||%0a> || scenep2p || irc.scenep2p.net || ~6697 || || || || ||%0a> || shadowcat || irc.shadowcat.co.uk || 6667 || || || || ||%0a> || shadowfire || irc.shadowfire.org || +7000 || || || || ||%0a> || simosnap || irc.simosnap.com || +6697 || || || || ||%0a> || skychatz || irc.skychatz.org || ~6697 || || || || ||%0a> || slashnet || irc.slashnet.org || +6697 || || || || ||%0a> || smurfnet || irc.smurfnet.ch || ~6697 || || || || ||%0a> || snoonet || irc.snoonet.org || +6697 || || Plum || || ||%0a> || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - ||%0a> || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || - ||%0a> || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || - ||%0a> || spotchat || irc.spotchat.org || +6697 || || || || ||%0a> || superhosts || irc.superhosts.net || 6667 || || || || ||%0a> || svipchat || irc.svipchat.org || ~6697 || || || || ||%0a> || swiftirc || irc.swiftirc.net || 6667 || || Plum || || ||%0a> || swissirc || irc.swissirc.net || ~6697 || || || || ||%0a> || swisschat || irc.swisschat.tk || 6667 || || || || ||%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || - ||%0a> || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes ||%0a> || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - ||%0a> || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - ||%0a> || trendsohbet || irc.trendsohbet.com || 6667 || || || || ||%0a> || trsohbet || irc.trsohbet.com || 6667 || || || || ||%0a> || tweakers || irc.tweakers.net || 6667 || || Banana || || ||%0a> || twistednet || irc.twistednet.org || ~6697 || || || || ||%0a> || twitch || irc.twitch.tv || 6667 || || || || ||%0a> || undernet || irc6.undernet.org || 6667 || || Mango || Grape || ||%0a> || uugrn || irc.uugrn.org || +6670 || || || || ||%0a> || virtualife || irc.virtualife.org || ~6697 || || || || ||%0a> || w3 || irc.w3.org || 6667 || || || || ||%0a> || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || - ||%0a> || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || - ||%0a> || xertion || irc.xertion.org || +6697 || || || || ||%0a> || zairc || irc.zairc.net || ~6697 || || || || ||%0a> || zandronum || irc.zandronum.com || ~6697 || || || || ||%0a> || zemra || irc.zemra.org || +6697 || || || || ||%0a> || zenet || irc.zenet.org || +6697 || || || || ||%0a> || zeronode || irc.zeronode.net || +6697 || || || || ||%0a> || zoite || irc.zoite.net || +6697 || || || || ||%0a> || zonebg || irc.zonebg.eu || ~6697 || || || || ||%0a> || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || ||%0a\ No newline at end of file%0a +host:1609265559=198.251.81.119 +author:1609265300=jrmu +diff:1609265300:1609265223:=5,48c5,48%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Grape || Yes || ||%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Yes || ||%0a%3c || 42net || sol.42net.org || 6667 || || || || || ||%0a%3c || absoluty || irc.absoluty-irc.fr || 6667 || || || || || ||%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || || || || ||%0a%3c || afterall || irc.after-all.org || 6667 || || || || || ||%0a%3c || afternet || irc.afternet.org || +6697 || || || || || ||%0a%3c || afterx || irc.afterx.net || +6697 || || || || || ||%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || || ||%0a%3c || allrednc || irc.allrednc.org || ~6697 || || || || || ||%0a%3c || alphachat || irc.alphachat.net || +6697 || || || || || ||%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || || ||%0a%3c || amorlatino || irc.amorlatino.org || 6667 || ||Plum || || || ||%0a%3c || anope || irc.anope.org || 6667 || || || || || ||%0a%3c || atrum || irc.atrum.org || ~6697 || || || || || ||%0a%3c || austnet || lego.jp.austnet.org || ~6697 || || Orange || || || ||%0a%3c || axon || irc.axon.pw || +6697 || || || || || ||%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || || || || ||%0a%3c || azzurra || irc.azzurra.org || +6697 || || || || || ||%0a%3c || banglacafe || irc.banglacafe.com || 6667 || || || || || ||%0a%3c || barton || irc.barton.de || 6667 || || || || || ||%0a%3c || bgirc || irc.bgirc.com || ~6697 || || || || || ||%0a%3c || bitlbee || 127.0.0.1 || 6668 || || || || || ||%0a%3c || blitzed || irc.blitzed.org || +6697 || || || || || ||%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || || ||%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || || || || ||%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || || ||%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || || || || ||%0a%3c || canternet || irc.canternet.org || +6697 || || || || || ||%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes || ||%0a%3c || chaat || irc.chaat.fr || 6667 || || || || || ||%0a%3c || chat4all || irc.chat4all.org || ~6697 || || || || || ||%0a%3c || chatasia || irc.chatasia.net || ~6697 || || || || || ||%0a%3c || chatgentr || chat.gen.tr || 6667 || || || || || ||%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || || || ||%0a%3c || chathub || irc.chathub.org || +6697 || || Mango || - || || ||%0a%3c || chating || irc.chating.id || 6667 || || Pear || - || || ||%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || || || ||%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || || ||%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || || || || ||%0a%3c || chatopia || irc.chatopia.net || +6697 || || || || || ||%0a%3c || chatplezier || irc.chatplezier.com || ~6697 || || || || || ||%0a%3c || chatspike || irc.chatspike.net || ~6697 || || || || || ||%0a---%0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Grape || Yes ||%0a> || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Yes ||%0a> || 42net || sol.42net.org || 6667 || || || || ||%0a> || absoluty || irc.absoluty-irc.fr || 6667 || || || || ||%0a> || aerospacechat || irc.aerospacechat.com || +6697 || || || || ||%0a> || afterall || irc.after-all.org || 6667 || || || || ||%0a> || afternet || irc.afternet.org || +6697 || || || || ||%0a> || afterx || irc.afterx.net || +6697 || || || || ||%0a> || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || ||%0a> || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || ||%0a> || allrednc || irc.allrednc.org || ~6697 || || || || ||%0a> || alphachat || irc.alphachat.net || +6697 || || || || ||%0a> || amicachat || irc.amicachat.net || ~6697 || || || || ||%0a> || amorlatino || irc.amorlatino.org || 6667 || ||Plum || || ||%0a> || anope || irc.anope.org || 6667 || || || || ||%0a> || atrum || irc.atrum.org || ~6697 || || || || ||%0a> || austnet || lego.jp.austnet.org || ~6697 || || Orange || || ||%0a> || axon || irc.axon.pw || +6697 || || || || ||%0a> || ayochat || irc.ayochat.or.id || 6667 || || || || ||%0a> || azzurra || irc.azzurra.org || +6697 || || || || ||%0a> || banglacafe || irc.banglacafe.com || 6667 || || || || ||%0a> || barton || irc.barton.de || 6667 || || || || ||%0a> || bgirc || irc.bgirc.com || ~6697 || || || || ||%0a> || bitlbee || 127.0.0.1 || 6668 || || || || ||%0a> || blitzed || irc.blitzed.org || +6697 || || || || ||%0a> || bolchat || irc.bolchat.com || 6667 || || || || ||%0a> || brasirc || irc.brasirc.com.br || ~6697 || || || || ||%0a> || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || ||%0a> || bsdunix || irc.bsdunix.us || +6697 || || || || ||%0a> || canternet || irc.canternet.org || +6697 || || || || ||%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes ||%0a> || chaat || irc.chaat.fr || 6667 || || || || ||%0a> || chat4all || irc.chat4all.org || ~6697 || || || || ||%0a> || chatasia || irc.chatasia.net || ~6697 || || || || ||%0a> || chatgentr || chat.gen.tr || 6667 || || || || ||%0a> || chathispano || irc.chathispano.com || +6697 || || Plum || || ||%0a> || chathub || irc.chathub.org || +6697 || || Mango || - || ||%0a> || chating || irc.chating.id || 6667 || || Pear || - || ||%0a> || chatjunkies || irc.chatjunkies.org || +6697 || || || || ||%0a> || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || ||%0a> || chatlounge || irc.chatlounge.net || +6697 || || || || ||%0a> || chatopia || irc.chatopia.net || +6697 || || || || ||%0a> || chatplezier || irc.chatplezier.com || ~6697 || || || || ||%0a> || chatspike || irc.chatspike.net || ~6697 || || || || ||%0a +host:1609265300=198.251.81.119 +author:1609265223=jrmu +diff:1609265223:1609065502:=4c4%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline ||! Partner ||%0a---%0a> ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline || %0a87c87%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || || Yes ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || ||%0a +host:1609265223=198.251.81.119 +author:1609065502=jrmu +diff:1609065502:1609015868:=113d112%0a%3c || nfnet || irc.nfnet.org || 6667 || || || || ||%0a +host:1609065502=198.251.81.119 +author:1609015868=st13g +diff:1609015868:1609015692:=18c18%0a%3c || amorlatino || irc.amorlatino.org || 6667 || ||Plum || || ||%0a---%0a> || amorlatino || irc.amorlatino.org || 6667 || || || || ||%0a44c44%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || Plum || || ||%0a---%0a> || chatlatino || irc.chatlatinos.cl || 9090 || || || || ||%0a49c49%0a%3c || chatzona || irc.chatzona.org || 6667 || || Plum || || ||%0a---%0a> || chatzona || irc.chatzona.org || 6667 || || || || ||%0a +host:1609015868=181.67.40.146 +author:1609015692=st13g +diff:1609015692:1609015489:=112c112%0a%3c || netchat || irc.netchat.cl || 6667 || || plum || || ||%0a---%0a> || netchat || irc.netchat.cl || 6667 || ||!plum || || ||%0a +host:1609015692=181.67.40.146 +author:1609015489=st13g +diff:1609015489:1609009784:=112c112%0a%3c || netchat || irc.netchat.cl || 6667 || ||!plum || || ||%0a---%0a> || netchat || irc.netchat.cl || 6667 || || || || ||%0a +host:1609015489=181.67.40.146 +author:1609009784=Noxturnix +diff:1609009784:1608890226:=62c62%0a%3c || evilnet || irc.evilnet.org || ~6697 || || Fig || || - ||%0a---%0a> || evilnet || irc.evilnet.org || ~6697 || || || || ||%0a +host:1609009784=2601:646:8600:1a20:beeb:beeb:beeb:cafe +author:1608890226=jrmu +diff:1608890226:1608476657:=158d157%0a%3c || uugrn || irc.uugrn.org || +6670 || || || || ||%0a +host:1608890226=198.251.81.119 +author:1608476657=miniontoby +csum:1608476657=Tweakers claimed +diff:1608476657:1606132199:=154c154%0a%3c || tweakers || irc.tweakers.net || 6667 || || Banana || || ||%0a---%0a> || tweakers || irc.tweakers.net || 6667 || || || || ||%0a +host:1608476657=145.132.146.30 +author:1606132199=fizi +diff:1606132199:1606132027:=5c5%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Grape || Yes ||%0a---%0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || || Yes ||%0a +host:1606132199=39.42.84.85 +author:1606132027=fizi +diff:1606132027:1606131755:=103c103%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || Grape || - ||%0a---%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || || - ||%0a122c122%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Grape || Yes ||%0a---%0a> || quake || irc6.quakenet.org || 6667 || || Pear ||Grape || Yes ||%0a139c139%0a%3c || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || Grape || - ||%0a---%0a> || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || || - ||%0a157c157%0a%3c || undernet || irc6.undernet.org || 6667 || || Mango || Grape || ||%0a---%0a> || undernet || irc6.undernet.org || 6667 || || Mango || || ||%0a +host:1606132027=39.42.84.85 +author:1606131755=fizi +diff:1606131755:1606131574:=6c6%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Grape || Yes ||%0a---%0a> || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || || Yes ||%0a50c50%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange || Grape || ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || || Orange || - || ||%0a70c70%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || Grape || - ||%0a---%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || || - ||%0a122c122%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear ||Grape || Yes ||%0a---%0a> || quake || irc6.quakenet.org || 6667 || || Pear || || Yes ||%0a127c127%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Grape || Yes ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || || Yes ||%0a +host:1606131755=39.42.84.85 +author:1606131574=fizi +diff:1606131574:1606088140:= +host:1606131574=39.42.84.85 +author:1606088140=Noxturnix +diff:1606088140:1606059610:=35c35%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || || Yes ||%0a---%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || Yes || ||%0a +host:1606088140=2601:646:8600:a2b0:2ce0:a7fe:5cae:1422 +author:1606059610=wiz +diff:1606059610:1606059503:=85c85%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum || || ||%0a---%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum|| || ||%0a +host:1606059610=77.100.11.104 +author:1606059503=wiz +diff:1606059503:1606059082:=85c85%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || Plum|| || ||%0a---%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || Plum || ||%0a104c104%0a%3c || librairc || irc.librairc.net || ~6697 || || Plum || || ||%0a---%0a> || librairc || irc.librairc.net || ~6697 || || || Plum || ||%0a117c117%0a%3c || overthewire || ircs.overthewire.org || +6697 || || Plum || || ||%0a---%0a> || overthewire || ircs.overthewire.org || +6697 || || || Plum || ||%0a +host:1606059503=77.100.11.104 +author:1606059082=wiz +diff:1606059082:1606053828:=85c85%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || Plum || ||%0a---%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || || ||%0a104c104%0a%3c || librairc || irc.librairc.net || ~6697 || || || Plum || ||%0a---%0a> || librairc || irc.librairc.net || ~6697 || || || || ||%0a117c117%0a%3c || overthewire || ircs.overthewire.org || +6697 || || || Plum || ||%0a---%0a> || overthewire || ircs.overthewire.org || +6697 || || || || ||%0a +host:1606059082=77.100.11.104 +author:1606053828=jrmu +diff:1606053828:1606053621:=56,170c56,170%0a%3c || digitalirc || irc.digitalirc.org || +6697 || || || || ||%0a%3c || efnet || irc.efnet.nl || 6667 || || || || ||%0a%3c || epiknet || irc.epiknet.org || +6697 || || || || ||%0a%3c || esper || irc.esper.net || +6697 || || || || ||%0a%3c || euirc || irc.euirc.net || 6667 || || || || ||%0a%3c || europnet || irc.europnet.org || 6667 || || Pear || || Yes ||%0a%3c || evilnet || irc.evilnet.org || ~6697 || || || || ||%0a%3c || evolu || irc.evolu.net || ~6697 || || || || ||%0a%3c || ewnix || irc.ewnix.net || +6697 || || || || ||%0a%3c || exchat || irc.exchat.net || ~6697 || || || || ||%0a%3c || exolia || irc.exolia.net || 6667 || || || || ||%0a%3c || explosionirc || irc.explosionirc.net || 6667 || || || || ||%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || || ||%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || || - ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || || - ||%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || || ||%0a%3c || freshchat || irc.freshchat.org || +6697 || || || || ||%0a%3c || friendsirc || irc.friendsirc.com || ~6697 || || || || ||%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || Pear || || Yes ||%0a%3c || geeknode || irc.geeknode.org || +6697 || || || || ||%0a%3c || geekshed || irc.geekshed.net || +6697 || || Pear || || Yes ||%0a%3c || germanelite || irc.german-elite.net || ~6697 || || || || ||%0a%3c || geveze || irc.geveze.org || 6667 || || || || ||%0a%3c || geyiktr || irc.geyiktr.net || 6667 || || || || ||%0a%3c || gigairc || irc.gigairc.net || ~6697 || || || || ||%0a%3c || gimp || irc.gimp.org || +6697 || || || || ||%0a%3c || globalirc || irc.global-irc.org || 6667 || || Pear || || Yes ||%0a%3c || globalirc-it || irc.globalirc.it || ~6697 || || || || ||%0a%3c || greekirc || irc.greekirc.net || 6667 || || || || ||%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || || ||%0a%3c || hackthissite || irc.hackthissite.org || +7000 || || || || ||%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || || ||%0a%3c || icqchat || irc.icq-chat.com || +6697 || || || || ||%0a%3c || insomnia || irc.insomnia247.nl || 6667 || || || || ||%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || || ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || || || ||%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || || ||%0a%3c || ircfreakz || irc.ircfreakz.net || ~6697 || || || || ||%0a%3c || ircgate || irc.ircgate.it || 6667 || || || || ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || || ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || || Yes ||%0a%3c || ircnet || open.ircnet.net || 6667 || || || || ||%0a%3c || irctl || chat.irc.tl || ~6697 || || || || ||%0a%3c || irczone || irc6.irczone.net || ~6697 || || || || ||%0a%3c || italian-amici || irc.italian-amici.org || 6667 || || || || ||%0a%3c || juggler || irc.juggler.jp || 6667 || || || || ||%0a%3c || kalbim || irc.kalbim.net || 6667 || || || || ||%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || || - ||%0a%3c || librairc || irc.librairc.net || ~6697 || || || || ||%0a%3c || luatic || irc.luatic.net || 6667 || || || || ||%0a%3c || magnet || irc.shadowcat.co.uk || 6667 || || || || ||%0a%3c || malikania || malikania.fr || ~6697 || || || || ||%0a%3c || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || || - ||%0a%3c || mindforge || irc.mindforge.org || 6667 || || || || ||%0a%3c || myirc || chat.myirc.net || +6697 || || || || ||%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || || Yes ||%0a%3c || netchat || irc.netchat.cl || 6667 || || || || ||%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || || ||%0a%3c || oltreirc || irc.oltreirc.net || +6697 || || || || ||%0a%3c || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || || ||%0a%3c || openjoke || irc.openjoke.org || ~6697 || || || || ||%0a%3c || overthewire || ircs.overthewire.org || +6697 || || || || ||%0a%3c || p2p-net || irc.p2p-network.net || +6697 || || || || ||%0a%3c || perl || irc.perl.org || 6667 || || || || ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || || ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || || ||%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || || Yes ||%0a%3c || quartznet || irc.quartznet.org || 6667 || || || || ||%0a%3c || recycled-irc || irc.recycled-irc.net || 6667 || || || || ||%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || || ||%0a%3c || rezosup || irc.rezosup.org || ~6697 || || || || ||%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || || Yes ||%0a%3c || robothive || irc.robothive.org || ~6697 || || || || ||%0a%3c || rootworld || irc.rootworld.net || 6667 || || || || ||%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || || ||%0a%3c || scenep2p || irc.scenep2p.net || ~6697 || || || || ||%0a%3c || shadowcat || irc.shadowcat.co.uk || 6667 || || || || ||%0a%3c || shadowfire || irc.shadowfire.org || +7000 || || || || ||%0a%3c || simosnap || irc.simosnap.com || +6697 || || || || ||%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || ||%0a%3c || slashnet || irc.slashnet.org || +6697 || || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || || ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || || - ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || || - ||%0a%3c || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || || - ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || || ||%0a%3c || superhosts || irc.superhosts.net || 6667 || || || || ||%0a%3c || svipchat || irc.svipchat.org || ~6697 || || || || ||%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || Plum || || ||%0a%3c || swissirc || irc.swissirc.net || ~6697 || || || || ||%0a%3c || swisschat || irc.swisschat.tk || 6667 || || || || ||%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || || - ||%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || || Yes ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || || - ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || || - ||%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || || ||%0a%3c || tweakers || irc.tweakers.net || 6667 || || || || ||%0a%3c || twistednet || irc.twistednet.org || ~6697 || || || || ||%0a%3c || twitch || irc.twitch.tv || 6667 || || || || ||%0a%3c || undernet || irc6.undernet.org || 6667 || || Mango || || ||%0a%3c || virtualife || irc.virtualife.org || ~6697 || || || || ||%0a%3c || w3 || irc.w3.org || 6667 || || || || ||%0a%3c || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || || - ||%0a%3c || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || || - ||%0a%3c || xertion || irc.xertion.org || +6697 || || || || ||%0a%3c || zairc || irc.zairc.net || ~6697 || || || || ||%0a%3c || zandronum || irc.zandronum.com || ~6697 || || || || ||%0a%3c || zemra || irc.zemra.org || +6697 || || || || ||%0a%3c || zenet || irc.zenet.org || +6697 || || || || ||%0a%3c || zeronode || irc.zeronode.net || +6697 || || || || ||%0a%3c || zoite || irc.zoite.net || +6697 || || || || ||%0a%3c || zonebg || irc.zonebg.eu || ~6697 || || || || ||%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || || ||%0a\ No newline at end of file%0a---%0a> || digitalirc || irc.digitalirc.org || +6697 || || || ||%0a> || efnet || irc.efnet.nl || 6667 || || || ||%0a> || epiknet || irc.epiknet.org || +6697 || || || ||%0a> || esper || irc.esper.net || +6697 || || || ||%0a> || euirc || irc.euirc.net || 6667 || || || ||%0a> || europnet || irc.europnet.org || 6667 || || Pear || Yes ||%0a> || evilnet || irc.evilnet.org || ~6697 || || || ||%0a> || evolu || irc.evolu.net || ~6697 || || || ||%0a> || ewnix || irc.ewnix.net || +6697 || || || ||%0a> || exchat || irc.exchat.net || ~6697 || || || ||%0a> || exolia || irc.exolia.net || 6667 || || || ||%0a> || explosionirc || irc.explosionirc.net || 6667 || || || ||%0a> || forumcerdas || irc.forumcerdas.net || ~6697 || || || ||%0a> || frantech || irc.frantech.ca || +6697 || || Mango || - ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || - ||%0a> || freeunibg || irc.freeunibg.eu || 6667 || || || ||%0a> || freshchat || irc.freshchat.org || +6697 || || || ||%0a> || friendsirc || irc.friendsirc.com || ~6697 || || || ||%0a> || gamesurge || irc.gamesurge.net || 6667 || || Pear || Yes ||%0a> || geeknode || irc.geeknode.org || +6697 || || || ||%0a> || geekshed || irc.geekshed.net || +6697 || || Pear || Yes ||%0a> || germanelite || irc.german-elite.net || ~6697 || || || ||%0a> || geveze || irc.geveze.org || 6667 || || || ||%0a> || geyiktr || irc.geyiktr.net || 6667 || || || ||%0a> || gigairc || irc.gigairc.net || ~6697 || || || ||%0a> || gimp || irc.gimp.org || +6697 || || || ||%0a> || globalirc || irc.global-irc.org || 6667 || || Pear || Yes ||%0a> || globalirc-it || irc.globalirc.it || ~6697 || || || ||%0a> || greekirc || irc.greekirc.net || 6667 || || || ||%0a> || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || ||%0a> || hackthissite || irc.hackthissite.org || +7000 || || || ||%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || ||%0a> || icqchat || irc.icq-chat.com || +6697 || || || ||%0a> || insomnia || irc.insomnia247.nl || 6667 || || || ||%0a> || irc4fun || irc.irc4fun.net || 6667 || || || ||%0a> || irccloud || irc.irccloud.com || +6697 || || || ||%0a> || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || ||%0a> || ircfreakz || irc.ircfreakz.net || ~6697 || || || ||%0a> || ircgate || irc.ircgate.it || 6667 || || || ||%0a> || irchaven || irc.irchaven.org || 6667 || || || ||%0a> || irchighway || irc.irchighway.net || ~6697 || || Pear || Yes ||%0a> || ircnet || open.ircnet.net || 6667 || || || ||%0a> || irctl || chat.irc.tl || ~6697 || || || ||%0a> || irczone || irc6.irczone.net || ~6697 || || || ||%0a> || italian-amici || irc.italian-amici.org || 6667 || || || ||%0a> || juggler || irc.juggler.jp || 6667 || || || ||%0a> || kalbim || irc.kalbim.net || 6667 || || || ||%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || - ||%0a> || librairc || irc.librairc.net || ~6697 || || || ||%0a> || luatic || irc.luatic.net || 6667 || || || ||%0a> || magnet || irc.shadowcat.co.uk || 6667 || || || ||%0a> || malikania || malikania.fr || ~6697 || || || ||%0a> || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || - ||%0a> || mindforge || irc.mindforge.org || 6667 || || || ||%0a> || myirc || chat.myirc.net || +6697 || || || ||%0a> || nationchat || irc.nationchat.org || 6667 || || Pear || Yes ||%0a> || netchat || irc.netchat.cl || 6667 || || || ||%0a> || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || ||%0a> || oltreirc || irc.oltreirc.net || +6697 || || || ||%0a> || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || ||%0a> || openjoke || irc.openjoke.org || ~6697 || || || ||%0a> || overthewire || ircs.overthewire.org || +6697 || || || ||%0a> || p2p-net || irc.p2p-network.net || +6697 || || || ||%0a> || perl || irc.perl.org || 6667 || || || ||%0a> || pirc-pl || irc.pirc.pl || +6697 || || || ||%0a> || ptnet || irc.ptnet.org || +6697 || || || ||%0a> || quake || irc6.quakenet.org || 6667 || || Pear || Yes ||%0a> || quartznet || irc.quartznet.org || 6667 || || || ||%0a> || recycled-irc || irc.recycled-irc.net || 6667 || || || ||%0a> || redhispano || irc.redhispano.org || ~6697 || || || ||%0a> || rezosup || irc.rezosup.org || ~6697 || || || ||%0a> || rizon || irc6.rizon.net || ~6697 || || Orange || Yes ||%0a> || robothive || irc.robothive.org || ~6697 || || || ||%0a> || rootworld || irc.rootworld.net || 6667 || || || ||%0a> || rusnet || irc.lucky.net || 6660 || || Orange || ||%0a> || scenep2p || irc.scenep2p.net || ~6697 || || || ||%0a> || shadowcat || irc.shadowcat.co.uk || 6667 || || || ||%0a> || shadowfire || irc.shadowfire.org || +7000 || || || ||%0a> || simosnap || irc.simosnap.com || +6697 || || || ||%0a> || skychatz || irc.skychatz.org || ~6697 || || || || %0a> || slashnet || irc.slashnet.org || +6697 || || || ||%0a> || smurfnet || irc.smurfnet.ch || ~6697 || || || ||%0a> || snoonet || irc.snoonet.org || +6697 || || Plum || ||%0a> || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || - ||%0a> || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || - ||%0a> || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || - ||%0a> || spotchat || irc.spotchat.org || +6697 || || || ||%0a> || superhosts || irc.superhosts.net || 6667 || || || ||%0a> || svipchat || irc.svipchat.org || ~6697 || || || ||%0a> || swiftirc || irc.swiftirc.net || 6667 || || Plum || ||%0a> || swissirc || irc.swissirc.net || ~6697 || || || ||%0a> || swisschat || irc.swisschat.tk || 6667 || || || ||%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || - ||%0a> || technet || irc.technet.xi.ht || +6697 || || Pear || Yes ||%0a> || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || - ||%0a> || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || - ||%0a> || trendsohbet || irc.trendsohbet.com || 6667 || || || ||%0a> || trsohbet || irc.trsohbet.com || 6667 || || || ||%0a> || tweakers || irc.tweakers.net || 6667 || || || ||%0a> || twistednet || irc.twistednet.org || ~6697 || || || ||%0a> || twitch || irc.twitch.tv || 6667 || || || ||%0a> || undernet || irc6.undernet.org || 6667 || || Mango || ||%0a> || virtualife || irc.virtualife.org || ~6697 || || || ||%0a> || w3 || irc.w3.org || 6667 || || || ||%0a> || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || - ||%0a> || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || - ||%0a> || xertion || irc.xertion.org || +6697 || || || ||%0a> || zairc || irc.zairc.net || ~6697 || || || ||%0a> || zandronum || irc.zandronum.com || ~6697 || || || ||%0a> || zemra || irc.zemra.org || +6697 || || || ||%0a> || zenet || irc.zenet.org || +6697 || || || ||%0a> || zeronode || irc.zeronode.net || +6697 || || || ||%0a> || zoite || irc.zoite.net || +6697 || || || ||%0a> || zonebg || irc.zonebg.eu || ~6697 || || || ||%0a> || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || ||%0a\ No newline at end of file%0a +host:1606053828=198.251.81.119 +author:1606053621=jrmu +diff:1606053621:1606052420:=4,55c4,55%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Znc Team ||! Shell Team ||! Iline || %0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || || Yes ||%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || || Yes ||%0a%3c || 42net || sol.42net.org || 6667 || || || || ||%0a%3c || absoluty || irc.absoluty-irc.fr || 6667 || || || || ||%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || || || ||%0a%3c || afterall || irc.after-all.org || 6667 || || || || ||%0a%3c || afternet || irc.afternet.org || +6697 || || || || ||%0a%3c || afterx || irc.afterx.net || +6697 || || || || ||%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || || ||%0a%3c || allrednc || irc.allrednc.org || ~6697 || || || || ||%0a%3c || alphachat || irc.alphachat.net || +6697 || || || || ||%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || || ||%0a%3c || amorlatino || irc.amorlatino.org || 6667 || || || || ||%0a%3c || anope || irc.anope.org || 6667 || || || || ||%0a%3c || atrum || irc.atrum.org || ~6697 || || || || ||%0a%3c || austnet || lego.jp.austnet.org || ~6697 || || Orange || || ||%0a%3c || axon || irc.axon.pw || +6697 || || || || ||%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || || || ||%0a%3c || azzurra || irc.azzurra.org || +6697 || || || || ||%0a%3c || banglacafe || irc.banglacafe.com || 6667 || || || || ||%0a%3c || barton || irc.barton.de || 6667 || || || || ||%0a%3c || bgirc || irc.bgirc.com || ~6697 || || || || ||%0a%3c || bitlbee || 127.0.0.1 || 6668 || || || || ||%0a%3c || blitzed || irc.blitzed.org || +6697 || || || || ||%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || ||%0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || || || ||%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || || ||%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || || || ||%0a%3c || canternet || irc.canternet.org || +6697 || || || || ||%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || Yes || ||%0a%3c || chaat || irc.chaat.fr || 6667 || || || || ||%0a%3c || chat4all || irc.chat4all.org || ~6697 || || || || ||%0a%3c || chatasia || irc.chatasia.net || ~6697 || || || || ||%0a%3c || chatgentr || chat.gen.tr || 6667 || || || || ||%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || || ||%0a%3c || chathub || irc.chathub.org || +6697 || || Mango || - || ||%0a%3c || chating || irc.chating.id || 6667 || || Pear || - || ||%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || || ||%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || || || ||%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || || || ||%0a%3c || chatopia || irc.chatopia.net || +6697 || || || || ||%0a%3c || chatplezier || irc.chatplezier.com || ~6697 || || || || ||%0a%3c || chatspike || irc.chatspike.net || ~6697 || || || || ||%0a%3c || chatzona || irc.chatzona.org || 6667 || || || || ||%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange || - || ||%0a%3c || darkfasel || irc.darkfasel.net || +6697 || || || || ||%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || || Yes ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || || ||%0a%3c || dejatoons || irc.dejatoons.net || ~6697 || || || || ||%0a%3c || desirenet || irc.desirenet.org || 6667 || || Pear || || Yes ||%0a---%0a> ||! Network Name ||! Server Address ||! Port ||! Description ||! Team ||! Iline || %0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Yes ||%0a> || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Yes ||%0a> || 42net || sol.42net.org || 6667 || || || ||%0a> || absoluty || irc.absoluty-irc.fr || 6667 || || || ||%0a> || aerospacechat || irc.aerospacechat.com || +6697 || || || ||%0a> || afterall || irc.after-all.org || 6667 || || || ||%0a> || afternet || irc.afternet.org || +6697 || || || ||%0a> || afterx || irc.afterx.net || +6697 || || || ||%0a> || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || ||%0a> || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || ||%0a> || allrednc || irc.allrednc.org || ~6697 || || || ||%0a> || alphachat || irc.alphachat.net || +6697 || || || ||%0a> || amicachat || irc.amicachat.net || ~6697 || || || ||%0a> || amorlatino || irc.amorlatino.org || 6667 || || || ||%0a> || anope || irc.anope.org || 6667 || || || ||%0a> || atrum || irc.atrum.org || ~6697 || || || ||%0a> || austnet || lego.jp.austnet.org || ~6697 || || Orange || ||%0a> || axon || irc.axon.pw || +6697 || || || ||%0a> || ayochat || irc.ayochat.or.id || 6667 || || || ||%0a> || azzurra || irc.azzurra.org || +6697 || || || ||%0a> || banglacafe || irc.banglacafe.com || 6667 || || || ||%0a> || barton || irc.barton.de || 6667 || || || ||%0a> || bgirc || irc.bgirc.com || ~6697 || || || ||%0a> || bitlbee || 127.0.0.1 || 6668 || || || ||%0a> || blitzed || irc.blitzed.org || +6697 || || || ||%0a> || bolchat || irc.bolchat.com || 6667 || || || || %0a> || brasirc || irc.brasirc.com.br || ~6697 || || || ||%0a> || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || ||%0a> || bsdunix || irc.bsdunix.us || +6697 || || || ||%0a> || canternet || irc.canternet.org || +6697 || || || ||%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || Yes ||%0a> || chaat || irc.chaat.fr || 6667 || || || ||%0a> || chat4all || irc.chat4all.org || ~6697 || || || ||%0a> || chatasia || irc.chatasia.net || ~6697 || || || ||%0a> || chatgentr || chat.gen.tr || 6667 || || || ||%0a> || chathispano || irc.chathispano.com || +6697 || || Plum || ||%0a> || chathub || irc.chathub.org || +6697 || || Mango || - ||%0a> || chating || irc.chating.id || 6667 || || Pear || - ||%0a> || chatjunkies || irc.chatjunkies.org || +6697 || || || ||%0a> || chatlatino || irc.chatlatinos.cl || 9090 || || || ||%0a> || chatlounge || irc.chatlounge.net || +6697 || || || ||%0a> || chatopia || irc.chatopia.net || +6697 || || || ||%0a> || chatplezier || irc.chatplezier.com || ~6697 || || || ||%0a> || chatspike || irc.chatspike.net || ~6697 || || || ||%0a> || chatzona || irc.chatzona.org || 6667 || || || ||%0a> || dalnet || ipv6.dal.net || +6697 || || Orange || - ||%0a> || darkfasel || irc.darkfasel.net || +6697 || || || ||%0a> || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || Yes ||%0a> || darkscience || irc.darkscience.net || +6697 || || Plum || ||%0a> || dejatoons || irc.dejatoons.net || ~6697 || || || ||%0a> || desirenet || irc.desirenet.org || 6667 || || Pear || Yes ||%0a +host:1606053621=198.251.81.119 +author:1606052420=jrmu +diff:1606052420:1606051706:=70c70%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Orange || - ||%0a---%0a> || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Mango || - ||%0a +host:1606052420=198.251.81.119 +author:1606051706=jrmu +diff:1606051706:1606051514:= +host:1606051706=198.251.81.119 +author:1606051514=jrmu +diff:1606051514:1606051476:=43d42%0a%3c || chatjunkies || irc.chatjunkies.org || +6697 || || || ||%0a +host:1606051514=198.251.81.119 +author:1606051476=jrmu +diff:1606051476:1606051409:=45d44%0a%3c || chatopia || irc.chatopia.net || +6697 || || || ||%0a +host:1606051476=198.251.81.119 +author:1606051409=jrmu +diff:1606051409:1606051151:=77d76%0a%3c || geyiktr || irc.geyiktr.net || 6667 || || || ||%0a +host:1606051409=198.251.81.119 +author:1606051151=jrmu +diff:1606051151:1606049687:=62d61%0a%3c || ewnix || irc.ewnix.net || +6697 || || || ||%0a +host:1606051151=198.251.81.119 +author:1606049687=jrmu +diff:1606049687:1606049552:=82d81%0a%3c || hackthissite || irc.hackthissite.org || +7000 || || || ||%0a +host:1606049687=198.251.81.119 +author:1606049552=jrmu +diff:1606049552:1606049487:=87d86%0a%3c || ircd-hybrid || irc.ircd-hybrid.org || ~6697 || || || ||%0a +host:1606049552=198.251.81.119 +author:1606049487=jrmu +diff:1606049487:1606048831:=101d100%0a%3c || malikania || malikania.fr || ~6697 || || || ||%0a +host:1606049487=198.251.81.119 +author:1606048831=jrmu +diff:1606048831:1606048791:=126d125%0a%3c || shadowfire || irc.shadowfire.org || +7000 || || || ||%0a +host:1606048831=198.251.81.119 +author:1606048791=jrmu +diff:1606048791:1606048776:=144d143%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || ||%0a145a145%0a> || trendsohbet || irc.trendsohbet.com || 6667 || || || ||%0a +host:1606048791=198.251.81.119 +author:1606048776=jrmu +diff:1606048776:1606048288:=145d144%0a%3c || trendsohbet || irc.trendsohbet.com || 6667 || || || ||%0a +host:1606048776=198.251.81.119 +author:1606048288=jrmu +diff:1606048288:1606020662:=110d109%0a%3c || overthewire || ircs.overthewire.org || +6697 || || || ||%0a +host:1606048288=198.251.81.119 +author:1606020662=wiz +diff:1606020662:1605998020:=13,14c13,14%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || Plum || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || ||%0a---%0a> || allnetwork || irc6.allnetwork.org || ~6697 || || || ||%0a> || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || Yes ||%0a32c32%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || Plum || ||%0a---%0a> || bsdnet || bsdnet-eu.in-addr.com || 6667 || || || ||%0a40c40%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || ||%0a---%0a> || chathispano || irc.chathispano.com || +6697 || || Plum || Yes ||%0a51c51%0a%3c || darkscience || irc.darkscience.net || +6697 || || Plum || ||%0a---%0a> || darkscience || irc.darkscience.net || +6697 || || || ||%0a136c136%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || Plum || ||%0a---%0a> || swiftirc || irc.swiftirc.net || 6667 || || || ||%0a160c160%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || Plum || ||%0a\ No newline at end of file%0a---%0a> || zwergenirc || irc.zwergenirc.de || ~6697 || || || ||%0a\ No newline at end of file%0a +host:1606020662=77.100.11.104 +author:1605998020=wiz +diff:1605998020:1605994821:=129c129%0a%3c || snoonet || irc.snoonet.org || +6697 || || Plum || ||%0a---%0a> || snoonet || irc.snoonet.org || +6697 || || || ||%0a +host:1605998020=77.100.11.104 +author:1605994821=wiz +diff:1605994821:1605619979:=14c14%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || Plum || Yes ||%0a---%0a> || allnightcafe || irc.allnightcafe.com || ~6697 || || || ||%0a40c40%0a%3c || chathispano || irc.chathispano.com || +6697 || || Plum || Yes ||%0a---%0a> || chathispano || irc.chathispano.com || +6697 || || || ||%0a +host:1605994821=77.100.11.104 +author:1605619979=jrmu +diff:1605619979:1605619788:=70d69%0a%3c || friendsirc || irc.friendsirc.com || ~6697 || || || ||%0a +host:1605619979=198.251.81.119 +author:1605619788=jrmu +diff:1605619788:1605619774:= +host:1605619788=198.251.81.119 +author:1605619774=jrmu +diff:1605619774:1605619549:=63d62%0a%3c || exolia || irc.exolia.net || 6667 || || || ||%0a +host:1605619774=198.251.81.119 +author:1605619549=jrmu +diff:1605619549:1605619416:=132d131%0a%3c || superhosts || irc.superhosts.net || 6667 || || || ||%0a +host:1605619549=198.251.81.119 +author:1605619416=jrmu +diff:1605619416:1605618872:=60d59%0a%3c || evilnet || irc.evilnet.org || ~6697 || || || ||%0a +host:1605619416=198.251.81.119 +author:1605618872=jrmu +diff:1605618872:1605618845:= +host:1605618872=198.251.81.119 +author:1605618845=jrmu +diff:1605618845:1605618769:=133d132%0a%3c || swissirc || irc.swissirc.net || ~6697 || || || ||%0a +host:1605618845=198.251.81.119 +author:1605618769=jrmu +diff:1605618769:1605618374:=117d116%0a%3c || robothive || irc.robothive.org || ~6697 || || || ||%0a +host:1605618769=198.251.81.119 +author:1605618374=jrmu +diff:1605618374:1604753580:=32d31%0a%3c || bsdnet || bsdnet-eu.in-addr.com || 6667 || || || ||%0a +host:1605618374=198.251.81.119 +author:1604753580=jrmu +diff:1604753580:1604753548:=78c78%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization: provides free chat services to the Internet community|| || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization provides free chat services to the Internet community|| || ||%0a +host:1604753580=125.231.22.243 +author:1604753548=jrmu +diff:1604753548:1604393371:=78c78%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || Volunteer organization provides free chat services to the Internet community|| || ||%0a---%0a> || hybridirc || irc.hybridirc.com || ~6697 || || || ||%0a +host:1604753548=125.231.22.243 +author:1604393371=Noxturnix +diff:1604393371:1604135758:=134c134%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Fig || - ||%0a---%0a> || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Mango || - ||%0a +host:1604393371=2601:646:8600:a2b0::25f1 +author:1604135758=Noxturnix +diff:1604135758:1603990175:=34c34%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || Fig || Yes ||%0a---%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || || ||%0a +host:1604135758=2601:646:8600:a2b0::25f1 +author:1603990175=Noxturnix +diff:1603990175:1603459846:=4c4%0a%3c ||! Network Name ||! Server Address ||! Port ||! Description ||! Team ||! Iline || %0a---%0a> || Network Name || Server Address || Port || Description || Team || Iline || %0a6c6%0a%3c || 2600net || irc.2600.net || 6667 || Communications Network for the Hacker Communities || Pear || Yes ||%0a---%0a> || 2600net || irc.2600.net || 6667 || The Users' Network || Pear || Yes ||%0a34c34%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || Modern and Deepest Network for Thai and English Communities || || ||%0a---%0a> || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || || || ||%0a40c40%0a%3c || chathub || irc.chathub.org || +6697 || || Mango || - ||%0a---%0a> || chathub || irc.chathub.org || +6697 || The Users' Network || Mango || - ||%0a47c47%0a%3c || dalnet || ipv6.dal.net || +6697 || || Orange || - ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || The Users' Network || Orange || - ||%0a49c49%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || Free, Online text-based Roleplaying Network || Pear || Yes ||%0a---%0a> || darkmyst || irc2.darkmyst.org || ~6697 || The Users' Network || Pear || Yes ||%0a52c52%0a%3c || desirenet || irc.desirenet.org || 6667 || || Pear || Yes ||%0a---%0a> || desirenet || irc.desirenet.org || 6667 || The Users' Network || Pear || Yes ||%0a58c58%0a%3c || europnet || irc.europnet.org || 6667 || || Pear || Yes ||%0a---%0a> || europnet || irc.europnet.org || 6667 || The Users' Network || Pear || Yes ||%0a63,64c63,64%0a%3c || frantech || irc.frantech.ca || +6697 || || Mango || - ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || Network for Open Source Communities || Mango || - ||%0a---%0a> || frantech || irc.frantech.ca || +6697 || The Users' Network || Mango || - ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || The Users' Network || Mango || - ||%0a67c67%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || Pear || Yes ||%0a---%0a> || gamesurge || irc.gamesurge.net || 6667 || The Users' Network || Pear || Yes ||%0a69c69%0a%3c || geekshed || irc.geekshed.net || +6697 || || Pear || Yes ||%0a---%0a> || geekshed || irc.geekshed.net || +6697 || The Users' Network || Pear || Yes ||%0a74c74%0a%3c || globalirc || irc.global-irc.org || 6667 || || Pear || Yes ||%0a---%0a> || globalirc || irc.global-irc.org || 6667 || The Users' Network || Pear || Yes ||%0a77c77%0a%3c || hackint || irc.hackint.org || +6697 || Communication Network for the Hacker Community || || ||%0a---%0a> || hackint || irc.hackint.org || +6697 || || || ||%0a86c86%0a%3c || irchighway || irc.irchighway.net || ~6697 || || Pear || Yes ||%0a---%0a> || irchighway || irc.irchighway.net || ~6697 || The Users' Network || Pear || Yes ||%0a100c100%0a%3c || nationchat || irc.nationchat.org || 6667 || || Pear || Yes ||%0a---%0a> || nationchat || irc.nationchat.org || 6667 || The Users' Network || Pear || Yes ||%0a110c110%0a%3c || quake || irc6.quakenet.org || 6667 || || Pear || Yes ||%0a---%0a> || quake || irc6.quakenet.org || 6667 || The Users' Network || Pear || Yes ||%0a115c115%0a%3c || rizon || irc6.rizon.net || ~6697 || || Orange || Yes ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || The Users' Network || Orange || Yes ||%0a133c133%0a%3c || technet || irc.technet.xi.ht || +6697 || || Pear || Yes ||%0a---%0a> || technet || irc.technet.xi.ht || +6697 || The Users' Network || Pear || Yes ||%0a +host:1603990175=2601:646:8600:a2b0::db5 +author:1603459846=Oz +diff:1603459846:1603459839:= +host:1603459846=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459839=Oz +diff:1603459839:1603459494:=127c127%0a%3c || spigotmc || irc.spi.gt || +6697 || SpigotMC IRC - High Performance Minecraft || Mango || - ||%0a---%0a> || spigotmc || irc.spi.gt || +6697 || || || ||%0a +host:1603459839=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459494=Oz +diff:1603459494:1603459490:= +host:1603459494=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459490=Oz +diff:1603459490:1603459415:=144c144%0a%3c || wnet || irc.wnet.tk || ~6697 || IRC network WNet || Mango || - ||%0a---%0a> || wnet || irc.wnet.tk || ~6697 || || || ||%0a +host:1603459490=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459415=Oz +diff:1603459415:1603459296:=143c143%0a%3c || wenet || irc.wenet.ru || 6667 || IRC network WeNet! || Mango || - ||%0a---%0a> || wenet || irc.wenet.ru || 6667 || || || ||%0a +host:1603459415=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459296=Oz +diff:1603459296:1603459251:=132c132%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango || - ||%0a---%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango|| - ||%0a +host:1603459296=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459251=Oz +diff:1603459251:1603459247:= +host:1603459251=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459247=Oz +diff:1603459247:1603459149:=132c132%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC) || Mango|| - ||%0a---%0a> || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC)|| Mango|| - ||%0a +host:1603459247=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459149=Oz +diff:1603459149:1603459142:= +host:1603459149=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459142=Oz +diff:1603459142:1603459053:=135c135%0a%3c || tilde-chat || irc.tilde.chat || +6697 || tilde.chat is the irc network of the tildeverse || Mango || - ||%0a---%0a> || tilde-chat || irc.tilde.chat || +6697 || || || ||%0a +host:1603459142=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603459053=Oz +diff:1603459053:1603458738:=134c134%0a%3c || thaiirc || irc.thaiirc.com || 6667 || #ThaiIRC.com & #SiamNarak.com || Mango || - ||%0a---%0a> || thaiirc || irc.thaiirc.com || 6667 || || || ||%0a +host:1603459053=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603458738=Oz +diff:1603458738:1603458347:= +host:1603458738=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603458347=Oz +diff:1603458347:1603458212:=132c132%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC provide a free,safe,stable and secure environment for (IRC)|| Mango|| - ||%0a---%0a> || synirc || irc.synirc.net || ~6697 || synIRC strives to provide a free,safe,stable and secure environment for (IRC)|| Mango|| - ||%0a +host:1603458347=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603458212=Oz +diff:1603458212:1603458184:= +host:1603458212=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603458184=Oz +diff:1603458184:1603458033:=132c132%0a%3c || synirc || irc.synirc.net || ~6697 || synIRC strives to provide a free,safe,stable and secure environment for (IRC)|| Mango|| - ||%0a---%0a> || synirc || irc.synirc.net || ~6697 || || || ||%0a +host:1603458184=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603458033=Oz +diff:1603458033:1603457952:=126c126%0a%3c || sorcery || irc.sorcery.net || ~6697 || IRC with Characters || Mango || - ||%0a---%0a> || sorcery || irc.sorcery.net || ~6697 || || || ||%0a +host:1603458033=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603457952=Oz +diff:1603457952:1603448426:=125,126c125,126%0a%3c || sohbet || irc.sohbet.net || ~6697 || Chat Room Where You Can Chat || Mango || - ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || || || ||%0a---%0a> || sohbet || irc.sohbet.net || ~6697 || || || ||%0a> || sorcery || irc.sorcery.net || ~6697 || || || ||%0a +host:1603457952=2402:1980:82e1:1cee:e148:963b:2ec5:8586 +author:1603448426=fizi +diff:1603448426:1603447884:=41c41%0a%3c || chating || irc.chating.id || 6667 || || Pear || - ||%0a---%0a> || chating || irc.chating.id || 6667 || || || ||%0a +host:1603448426=39.42.95.134 +author:1603447884=jrmu +diff:1603447884:1603447320:=8d7%0a%3c || absoluty || irc.absoluty-irc.fr || 6667 || || || ||%0a +host:1603447884=125.224.28.18 +author:1603447320=jrmu +diff:1603447320:1603447168:=23d22%0a%3c || azzurra || irc.azzurra.org || +6697 || || || ||%0a +host:1603447320=125.224.28.18 +author:1603447168=jrmu +diff:1603447168:1603446583:=86d85%0a%3c || irctl || chat.irc.tl || ~6697 || || || ||%0a +host:1603447168=125.224.28.18 +author:1603446583=jrmu +diff:1603446583:1603446549:= +host:1603446583=125.224.28.18 +author:1603446549=jrmu +diff:1603446549:1603443121:=42d41%0a%3c || chatplezier || irc.chatplezier.com || ~6697 || || || ||%0a +host:1603446549=125.224.28.18 +author:1603443121=jrmu +diff:1603443121:1603442981:=112d111%0a%3c || rootworld || irc.rootworld.net || 6667 || || || ||%0a +host:1603443121=125.224.28.18 +author:1603442981=jrmu +diff:1603442981:1603442876:=92d91%0a%3c || magnet || irc.shadowcat.co.uk || 6667 || || || ||%0a +host:1603442981=125.224.28.18 +author:1603442876=jrmu +diff:1603442876:1603441586:=115d114%0a%3c || skychatz || irc.skychatz.org || ~6697 || || || || %0a +host:1603442876=125.224.28.18 +author:1603441586=jrmu +diff:1603441586:1603440974:=112d111%0a%3c || scenep2p || irc.scenep2p.net || ~6697 || || || ||%0a +host:1603441586=125.224.28.18 +author:1603440974=jrmu +diff:1603440974:1603440909:=74d73%0a%3c || hackint || irc.hackint.org || +6697 || || || ||%0a +host:1603440974=125.224.28.18 +author:1603440909=jrmu +diff:1603440909:1603436616:=100d99%0a%3c || p2p-net || irc.p2p-network.net || +6697 || || || ||%0a +host:1603440909=125.224.28.18 +author:1603436616=jrmu +diff:1603436616:1603435101:=96a97%0a> || ogn || irc.onlinegamesnet.net || 6667 || || || ||%0a +host:1603436616=125.224.28.18 +author:1603435101=gry +csum:1603435101=Updated. +diff:1603435101:1603433737:=131c131%0a%3c || undernet || irc6.undernet.org || 6667 || || Mango || ||%0a---%0a> || undernet || irc6.undernet.org || 6667 || || || ||%0a +host:1603435101=203.129.25.247 +author:1603433737=gry +csum:1603433737=Updated. +diff:1603433737:1603322098:=20d19%0a%3c || austnet || lego.jp.austnet.org || ~6697 || || Orange || ||%0a44c43%0a%3c || dalnet || ipv6.dal.net || +6697 || The Users' Network || Orange || - ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || The Users' Network || Mango || - ||%0a88c87%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || Orange || - ||%0a---%0a> || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || orange || - ||%0a96c95%0a%3c || oftc || irc6.oftc.net || +6697 || Open and Free Technology Community || Orange || ||%0a---%0a> || oftc || irc6.oftc.net || +6697 || || || ||%0a109,110c108,109%0a%3c || rizon || irc6.rizon.net || ~6697 || The Users' Network || Orange || Yes ||%0a%3c || rusnet || irc.lucky.net || 6660 || || Orange || ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || The Users' Network || Pear || Yes ||%0a> || rusnet || irc.lucky.net || 6660 || || || ||%0a +host:1603433737=203.129.25.247 +author:1603322098=planetofnix +diff:1603322098:1603289694:=87c87%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Best Malaysian IRC Network || orange || - ||%0a---%0a> || kampungchat || etnies6.ircd.link || +6697 || The Users' Network || orange || - ||%0a +host:1603322098=118.137.5.166 +author:1603289694=Oz +diff:1603289694:1603289532:= +host:1603289694=2402:1980:82e1:1cee:ac4b:2053:a600:d50e +author:1603289532=Oz +diff:1603289532:1603288258:=90c90%0a%3c || mibbit || irc.mibbit.com || ~6697 || Easy and fast Webchat in your browser || Mango || - ||%0a---%0a> || mibbit || irc.mibbit.com || ~6697 || || || ||%0a +host:1603289532=2402:1980:82e1:1cee:ac4b:2053:a600:d50e +author:1603288258=dennis +diff:1603288258:1603287950:=6c6%0a%3c || 2600net || irc.2600.net || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || 2600net || irc.2600.net || 6667 || || || ||%0a45c45%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || The Users' Network || Pear || Yes ||%0a---%0a> || darkmyst || irc2.darkmyst.org || ~6697 || || || ||%0a48c48%0a%3c || desirenet || irc.desirenet.org || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || desirenet || irc.desirenet.org || 6667 || || || ||%0a54c54%0a%3c || europnet || irc.europnet.org || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || europnet || irc.europnet.org || 6667 || || || ||%0a63c63%0a%3c || gamesurge || irc.gamesurge.net || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || gamesurge || irc.gamesurge.net || 6667 || || || ||%0a65c65%0a%3c || geekshed || irc.geekshed.net || +6697 || The Users' Network || Pear || Yes ||%0a---%0a> || geekshed || irc.geekshed.net || +6697 || || || ||%0a70c70%0a%3c || globalirc || irc.global-irc.org || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || globalirc || irc.global-irc.org || 6667 || || || ||%0a81c81%0a%3c || irchighway || irc.irchighway.net || ~6697 || The Users' Network || Pear || Yes ||%0a---%0a> || irchighway || irc.irchighway.net || ~6697 || || || ||%0a90c90%0a%3c || mibbit || irc.mibbit.com || ~6697 || || || ||%0a---%0a> || mibbit || irc.mibbit.com || ~6697 || The Users' Network || Mango || - ||%0a93c93%0a%3c || nationchat || irc.nationchat.org || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || nationchat || irc.nationchat.org || 6667 || || || ||%0a103c103,104%0a%3c || quake || irc6.quakenet.org || 6667 || The Users' Network || Pear || Yes ||%0a---%0a> || quake || irc6.quakenet.org || 6667 || || || ||%0a> || quake || irc.ipv6.quakenet.org || 6667 || || || ||%0a108c109%0a%3c || rizon || irc6.rizon.net || ~6697 || The Users' Network || Pear || Yes ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || The Users' Network || Mango || - ||%0a112,118c113,119%0a%3c || slashnet || irc.slashnet.org || +6697 || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || || ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || || || ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || || || ||%0a%3c || spigotmc || irc.spi.gt || +6697 || || || ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || ||%0a---%0a> || slashnet || irc.slashnet.org || +6697 || The Users' Network || Mango || - ||%0a> || smurfnet || irc.smurfnet.ch || ~6697 || The Users' Network || Mango || - ||%0a> || snoonet || irc.snoonet.org || +6697 || The Users' Network || Mango || - ||%0a> || sohbet || irc.sohbet.net || ~6697 || The Users' Network || Mango || - ||%0a> || sorcery || irc.sorcery.net || ~6697 || The Users' Network || Mango || - ||%0a> || spigotmc || irc.spi.gt || +6697 || The Users' Network || Mango || - ||%0a> || spotchat || irc.spotchat.org || +6697 || The Users' Network || Mango || - ||%0a120c121%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || || ||%0a---%0a> || swiftirc || irc.swiftirc.net || 6667 || The Users' Network || Mango || - ||%0a123,126c124,127%0a%3c || technet || irc.technet.xi.ht || +6697 || The Users' Network || Pear || Yes ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || || || ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || ||%0a---%0a> || technet || irc.technet.xi.ht || +6697 || || || ||%0a> || thaiirc || irc.thaiirc.com || 6667 || The Users' Network || Mango || - ||%0a> || tilde-chat || irc.tilde.chat || +6697 || The Users' Network || Mango || - ||%0a> || trsohbet || irc.trsohbet.com || 6667 || The Users' Network || Mango || - ||%0a130c131%0a%3c || undernet || irc6.undernet.org || 6667 || || || ||%0a---%0a> || undernet || irc6.undernet.org || 6667 || The Users' Network || Mango || - ||%0a133,134c134,135%0a%3c || wenet || irc.wenet.ru || 6667 || || || ||%0a%3c || wnet || irc.wnet.tk || ~6697 || || || ||%0a---%0a> || wenet || irc.wenet.ru || 6667 || The Users' Network || Mango || - ||%0a> || wnet || irc.wnet.tk || ~6697 || The Users' Network || Mango || - ||%0a +host:1603288258=31.21.104.59 +author:1603287950=Oz +diff:1603287950:1603286567:=90c90%0a%3c || mibbit || irc.mibbit.com || ~6697 || The Users' Network || Mango || - ||%0a---%0a> || mibbit || irc.mibbit.com || ~6697 || || || ||%0a109c109%0a%3c || rizon || irc6.rizon.net || ~6697 || The Users' Network || Mango || - ||%0a---%0a> || rizon || irc6.rizon.net || ~6697 || || || ||%0a113,119c113,119%0a%3c || slashnet || irc.slashnet.org || +6697 || The Users' Network || Mango || - ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || The Users' Network || Mango || - ||%0a%3c || snoonet || irc.snoonet.org || +6697 || The Users' Network || Mango || - ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || The Users' Network || Mango || - ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || The Users' Network || Mango || - ||%0a%3c || spigotmc || irc.spi.gt || +6697 || The Users' Network || Mango || - ||%0a%3c || spotchat || irc.spotchat.org || +6697 || The Users' Network || Mango || - ||%0a---%0a> || slashnet || irc.slashnet.org || +6697 || || || ||%0a> || smurfnet || irc.smurfnet.ch || ~6697 || || || ||%0a> || snoonet || irc.snoonet.org || +6697 || || || ||%0a> || sohbet || irc.sohbet.net || ~6697 || || || ||%0a> || sorcery || irc.sorcery.net || ~6697 || || || ||%0a> || spigotmc || irc.spi.gt || +6697 || || || ||%0a> || spotchat || irc.spotchat.org || +6697 || || || ||%0a121c121%0a%3c || swiftirc || irc.swiftirc.net || 6667 || The Users' Network || Mango || - ||%0a---%0a> || swiftirc || irc.swiftirc.net || 6667 || || || ||%0a125,127c125,127%0a%3c || thaiirc || irc.thaiirc.com || 6667 || The Users' Network || Mango || - ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || The Users' Network || Mango || - ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || The Users' Network || Mango || - ||%0a---%0a> || thaiirc || irc.thaiirc.com || 6667 || || || ||%0a> || tilde-chat || irc.tilde.chat || +6697 || || || ||%0a> || trsohbet || irc.trsohbet.com || 6667 || || || ||%0a131c131%0a%3c || undernet || irc6.undernet.org || 6667 || The Users' Network || Mango || - ||%0a---%0a> || undernet || irc6.undernet.org || 6667 || || || ||%0a134,135c134,135%0a%3c || wenet || irc.wenet.ru || 6667 || The Users' Network || Mango || - ||%0a%3c || wnet || irc.wnet.tk || ~6697 || The Users' Network || Mango || - ||%0a---%0a> || wenet || irc.wenet.ru || 6667 || || || ||%0a> || wnet || irc.wnet.tk || ~6697 || || || ||%0a +host:1603287950=2402:1980:82e1:1cee:ac4b:2053:a600:d50e +author:1603286567=Oz +diff:1603286567:1603282273:=37c37%0a%3c || chathub || irc.chathub.org || +6697 || The Users' Network || Mango || - ||%0a---%0a> || chathub || irc.chathub.org || +6697 || || || ||%0a +host:1603286567=2402:1980:82e1:1cee:ac4b:2053:a600:d50e +author:1603282273=nix +diff:1603282273:1603278179:=43c43%0a%3c || dalnet || ipv6.dal.net || +6697 || The Users' Network || Mango || - ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || The Users' Network || Mango || Yes ||%0a59,60c59,60%0a%3c || frantech || irc.frantech.ca || +6697 || The Users' Network || Mango || - ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || The Users' Network || Mango || - ||%0a---%0a> || frantech || irc.frantech.ca || +6697 || The Users' Network || Mango || Yes ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || The Users' Network || Mango || Yes ||%0a +host:1603282273=49.145.199.227 +author:1603278179=planetofnix +diff:1603278179:1603277103:=87c87%0a%3c || kampungchat || etnies6.ircd.link || +6697 || The Users' Network || orange || - ||%0a---%0a> || kampungchat || ipv6.fat2fit.ch || 6667 || || || ||%0a +host:1603278179=118.137.5.166 +author:1603277103=nix +diff:1603277103:1603277047:=43c43%0a%3c || dalnet || ipv6.dal.net || +6697 || The Users' Network || Mango || Yes ||%0a---%0a> || dalnet || ipv6.dal.net || +6697 || The User of DALnet || Mango || Yes ||%0a59,60c59,60%0a%3c || frantech || irc.frantech.ca || +6697 || The Users' Network || Mango || Yes ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || The Users' Network || Mango || Yes ||%0a---%0a> || frantech || irc.frantech.ca || +6697 || The Users of Frantech || Mango || Yes ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || The Users of Freenode || Mango || Yes ||%0a +host:1603277103=49.145.199.227 +author:1603277047=nix +diff:1603277047:1603276735:=43c43%0a%3c || dalnet || ipv6.dal.net || +6697 || The User of DALnet || Mango || Yes ||%0a---%0a> || dalnet || irc6.dal.net || +6697 || || || ||%0a59,60c59,60%0a%3c || frantech || irc.frantech.ca || +6697 || The Users of Frantech || Mango || Yes ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || The Users of Freenode || Mango || Yes ||%0a---%0a> || frantech || irc.frantech.ca || +6697 || || || ||%0a> || freenode || ipv6.chat.freenode.net || +6697 || || || ||%0a +host:1603277047=49.145.199.227 +author:1603276735=jrmu +diff:1603276735:1603276431:=59d58%0a%3c || frantech || irc.frantech.ca || +6697 || || || ||%0a +host:1603276735=125.224.23.3 +author:1603276431=jrmu +diff:1603276431:1603276375:=1,2d0%0a%3c If you see duplicates or mistakes, please report them.%0a%3c %0a +host:1603276431=125.224.23.3 +author:1603276375=jrmu +diff:1603276375:1603276214:=1d0%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1603276375=125.224.23.3 +author:1603276214=jrmu +diff:1603276214:1603276198:=2d1%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Yes ||%0a78a78%0a> || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Yes ||%0a +host:1603276214=125.224.23.3 +author:1603276198=jrmu +diff:1603276198:1603276066:=78c78,85%0a%3c || ircnow || irc.ircnow.org || +6697 || The Users' Network || Pear || Yes ||%0a---%0a> || ircnet || ircnet.hostsailor.com || ~6697 || || || ||%0a> || ircnet || ssl.irc.atw-inter.net || ~6697 || || || ||%0a> || ircnet || irc.atw-inter.net || ~6697 || || || ||%0a> || ircnet || irc.us.ircnet.net || ~6697 || || || ||%0a> || ircnet || irc.psychz.net || ~6697 || || || ||%0a> || ircnet || openirc.snt.utwente.nl || 6667 || || || ||%0a> || ircnet || irc.portlane.se || ~6697 || || || ||%0a> || ircnet || irc.nlnog.net || 6667 || || || ||%0a +host:1603276198=125.224.23.3 +author:1603276066=jrmu +diff:1603276066:1603276066:=1,147d0%0a%3c || Network Name || Server Address || Port || Description || Team || Iline || %0a%3c || 2600net || irc.2600.net || 6667 || || || ||%0a%3c || 42net || sol.42net.org || 6667 || || || ||%0a%3c || aerospacechat || irc.aerospacechat.com || +6697 || || || ||%0a%3c || afterall || irc.after-all.org || 6667 || || || ||%0a%3c || afternet || irc.afternet.org || +6697 || || || ||%0a%3c || afterx || irc.afterx.net || +6697 || || || ||%0a%3c || allnetwork || irc6.allnetwork.org || ~6697 || || || ||%0a%3c || allnightcafe || irc.allnightcafe.com || ~6697 || || || ||%0a%3c || allrednc || irc.allrednc.org || ~6697 || || || ||%0a%3c || alphachat || irc.alphachat.net || +6697 || || || ||%0a%3c || amicachat || irc.amicachat.net || ~6697 || || || ||%0a%3c || amorlatino || irc.amorlatino.org || 6667 || || || ||%0a%3c || anope || irc.anope.org || 6667 || || || ||%0a%3c || atrum || irc.atrum.org || ~6697 || || || ||%0a%3c || axon || irc.axon.pw || +6697 || || || ||%0a%3c || ayochat || irc.ayochat.or.id || 6667 || || || ||%0a%3c || banglacafe || irc.banglacafe.com || 6667 || || || ||%0a%3c || barton || irc.barton.de || 6667 || || || ||%0a%3c || bgirc || irc.bgirc.com || ~6697 || || || ||%0a%3c || bitlbee || 127.0.0.1 || 6668 || || || ||%0a%3c || blitzed || irc.blitzed.org || +6697 || || || ||%0a%3c || bolchat || irc.bolchat.com || 6667 || || || || %0a%3c || brasirc || irc.brasirc.com.br || ~6697 || || || ||%0a%3c || bsdunix || irc.bsdunix.us || +6697 || || || ||%0a%3c || canternet || irc.canternet.org || +6697 || || || ||%0a%3c || cavenet || ipv6.us.cavenet.noxt.cf || +6697 || || || ||%0a%3c || chaat || irc.chaat.fr || 6667 || || || ||%0a%3c || chat4all || irc.chat4all.org || ~6697 || || || ||%0a%3c || chatasia || irc.chatasia.net || ~6697 || || || ||%0a%3c || chatgentr || chat.gen.tr || 6667 || || || ||%0a%3c || chathispano || irc.chathispano.com || +6697 || || || ||%0a%3c || chathub || irc.chathub.org || +6697 || || || ||%0a%3c || chating || irc.chating.id || 6667 || || || ||%0a%3c || chatlatino || irc.chatlatinos.cl || 9090 || || || ||%0a%3c || chatlounge || irc.chatlounge.net || +6697 || || || ||%0a%3c || chatspike || irc.chatspike.net || ~6697 || || || ||%0a%3c || chatzona || irc.chatzona.org || 6667 || || || ||%0a%3c || dalnet || irc6.dal.net || +6697 || || || ||%0a%3c || darkfasel || irc.darkfasel.net || +6697 || || || ||%0a%3c || darkmyst || irc2.darkmyst.org || ~6697 || || || ||%0a%3c || darkscience || irc.darkscience.net || +6697 || || || ||%0a%3c || dejatoons || irc.dejatoons.net || ~6697 || || || ||%0a%3c || desirenet || irc.desirenet.org || 6667 || || || ||%0a%3c || digitalirc || irc.digitalirc.org || +6697 || || || ||%0a%3c || efnet || irc.efnet.nl || 6667 || || || ||%0a%3c || epiknet || irc.epiknet.org || +6697 || || || ||%0a%3c || esper || irc.esper.net || +6697 || || || ||%0a%3c || euirc || irc.euirc.net || 6667 || || || ||%0a%3c || europnet || irc.europnet.org || 6667 || || || ||%0a%3c || evolu || irc.evolu.net || ~6697 || || || ||%0a%3c || exchat || irc.exchat.net || ~6697 || || || ||%0a%3c || explosionirc || irc.explosionirc.net || 6667 || || || ||%0a%3c || forumcerdas || irc.forumcerdas.net || ~6697 || || || ||%0a%3c || freenode || ipv6.chat.freenode.net || +6697 || || || ||%0a%3c || freeunibg || irc.freeunibg.eu || 6667 || || || ||%0a%3c || freshchat || irc.freshchat.org || +6697 || || || ||%0a%3c || gamesurge || irc.gamesurge.net || 6667 || || || ||%0a%3c || geeknode || irc.geeknode.org || +6697 || || || ||%0a%3c || geekshed || irc.geekshed.net || +6697 || || || ||%0a%3c || germanelite || irc.german-elite.net || ~6697 || || || ||%0a%3c || geveze || irc.geveze.org || 6667 || || || ||%0a%3c || gigairc || irc.gigairc.net || ~6697 || || || ||%0a%3c || gimp || irc.gimp.org || +6697 || || || ||%0a%3c || globalirc || irc.global-irc.org || 6667 || || || ||%0a%3c || globalirc-it || irc.globalirc.it || ~6697 || || || ||%0a%3c || greekirc || irc.greekirc.net || 6667 || || || ||%0a%3c || hybridirc || irc.hybridirc.com || ~6697 || || || ||%0a%3c || icqchat || irc.icq-chat.com || +6697 || || || ||%0a%3c || insomnia || irc.insomnia247.nl || 6667 || || || ||%0a%3c || irc4fun || irc.irc4fun.net || 6667 || || || ||%0a%3c || irccloud || irc.irccloud.com || +6697 || || || ||%0a%3c || ircfreakz || irc.ircfreakz.net || ~6697 || || || ||%0a%3c || ircgate || irc.ircgate.it || 6667 || || || ||%0a%3c || irchaven || irc.irchaven.org || 6667 || || || ||%0a%3c || irchighway || irc.irchighway.net || ~6697 || || || ||%0a%3c || ircnet || open.ircnet.net || 6667 || || || ||%0a%3c || ircnet || ircnet.hostsailor.com || ~6697 || || || ||%0a%3c || ircnet || ssl.irc.atw-inter.net || ~6697 || || || ||%0a%3c || ircnet || irc.atw-inter.net || ~6697 || || || ||%0a%3c || ircnet || irc.us.ircnet.net || ~6697 || || || ||%0a%3c || ircnet || irc.psychz.net || ~6697 || || || ||%0a%3c || ircnet || openirc.snt.utwente.nl || 6667 || || || ||%0a%3c || ircnet || irc.portlane.se || ~6697 || || || ||%0a%3c || ircnet || irc.nlnog.net || 6667 || || || ||%0a%3c || irczone || irc6.irczone.net || ~6697 || || || ||%0a%3c || italian-amici || irc.italian-amici.org || 6667 || || || ||%0a%3c || juggler || irc.juggler.jp || 6667 || || || ||%0a%3c || kalbim || irc.kalbim.net || 6667 || || || ||%0a%3c || kampungchat || ipv6.fat2fit.ch || 6667 || || || ||%0a%3c || librairc || irc.librairc.net || ~6697 || || || ||%0a%3c || luatic || irc.luatic.net || 6667 || || || ||%0a%3c || mibbit || irc.mibbit.com || ~6697 || || || ||%0a%3c || mindforge || irc.mindforge.org || 6667 || || || ||%0a%3c || myirc || chat.myirc.net || +6697 || || || ||%0a%3c || nationchat || irc.nationchat.org || 6667 || || || ||%0a%3c || netchat || irc.netchat.cl || 6667 || || || ||%0a%3c || oftc || irc6.oftc.net || +6697 || || || ||%0a%3c || ogn || irc.onlinegamesnet.net || 6667 || || || ||%0a%3c || oltreirc || irc.oltreirc.net || +6697 || || || ||%0a%3c || onlinegamesnet || irc.onlinegamesnet.net || 6667 || || || ||%0a%3c || openjoke || irc.openjoke.org || ~6697 || || || ||%0a%3c || perl || irc.perl.org || 6667 || || || ||%0a%3c || pirc-pl || irc.pirc.pl || +6697 || || || ||%0a%3c || ptnet || irc.ptnet.org || +6697 || || || ||%0a%3c || quake || irc6.quakenet.org || 6667 || || || ||%0a%3c || quake || irc.ipv6.quakenet.org || 6667 || || || ||%0a%3c || quartznet || irc.quartznet.org || 6667 || || || ||%0a%3c || recycled-irc || irc.recycled-irc.net || 6667 || || || ||%0a%3c || redhispano || irc.redhispano.org || ~6697 || || || ||%0a%3c || rezosup || irc.rezosup.org || ~6697 || || || ||%0a%3c || rizon || irc6.rizon.net || ~6697 || || || ||%0a%3c || rusnet || irc.lucky.net || 6660 || || || ||%0a%3c || shadowcat || irc.shadowcat.co.uk || 6667 || || || ||%0a%3c || simosnap || irc.simosnap.com || +6697 || || || ||%0a%3c || slashnet || irc.slashnet.org || +6697 || || || ||%0a%3c || smurfnet || irc.smurfnet.ch || ~6697 || || || ||%0a%3c || snoonet || irc.snoonet.org || +6697 || || || ||%0a%3c || sohbet || irc.sohbet.net || ~6697 || || || ||%0a%3c || sorcery || irc.sorcery.net || ~6697 || || || ||%0a%3c || spigotmc || irc.spi.gt || +6697 || || || ||%0a%3c || spotchat || irc.spotchat.org || +6697 || || || ||%0a%3c || svipchat || irc.svipchat.org || ~6697 || || || ||%0a%3c || swiftirc || irc.swiftirc.net || 6667 || || || ||%0a%3c || swisschat || irc.swisschat.tk || 6667 || || || ||%0a%3c || synirc || irc.synirc.net || ~6697 || || || ||%0a%3c || technet || irc.technet.xi.ht || +6697 || || || ||%0a%3c || thaiirc || irc.thaiirc.com || 6667 || || || ||%0a%3c || tilde-chat || irc.tilde.chat || +6697 || || || ||%0a%3c || trsohbet || irc.trsohbet.com || 6667 || || || ||%0a%3c || tweakers || irc.tweakers.net || 6667 || || || ||%0a%3c || twistednet || irc.twistednet.org || ~6697 || || || ||%0a%3c || twitch || irc.twitch.tv || 6667 || || || ||%0a%3c || undernet || irc6.undernet.org || 6667 || || || ||%0a%3c || virtualife || irc.virtualife.org || ~6697 || || || ||%0a%3c || w3 || irc.w3.org || 6667 || || || ||%0a%3c || wenet || irc.wenet.ru || 6667 || || || ||%0a%3c || wnet || irc.wnet.tk || ~6697 || || || ||%0a%3c || xertion || irc.xertion.org || +6697 || || || ||%0a%3c || zairc || irc.zairc.net || ~6697 || || || ||%0a%3c || zandronum || irc.zandronum.com || ~6697 || || || ||%0a%3c || zemra || irc.zemra.org || +6697 || || || ||%0a%3c || zenet || irc.zenet.org || +6697 || || || ||%0a%3c || zeronode || irc.zeronode.net || +6697 || || || ||%0a%3c || zoite || irc.zoite.net || +6697 || || || ||%0a%3c || zonebg || irc.zonebg.eu || ~6697 || || || ||%0a%3c || zwergenirc || irc.zwergenirc.de || ~6697 || || || ||%0a\ No newline at end of file%0a +host:1603276066=125.224.23.3 blob - /dev/null blob + 56ee18f38e90f47297015251826af8e22ebaa0ed (mode 644) --- /dev/null +++ wiki.d/Ircnow.Oper @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634007745 +host=125.231.64.245 +name=Ircnow.Oper +rev=1 +targets= +text=Must finish unix101 training%0a%0ahttps://wiki.ircnow.org/index.php?n=ZNC.Support%0ahttps://wiki.ircnow.org/index.php?n=ZNC.Admin%0ahttps://wiki.ircnow.org/index.php?n=Ngircd.Oper%0ahttps://wiki.ircnow.org/index.php?n=Irc.Chanop%0ahttps://wiki.ircnow.org/index.php?n=Minutemin.Duty%0ahttps://wiki.ircnow.org/index.php?n=Minutemin.Server%0ahttps://wiki.ircnow.org/index.php?n=Openbsd.Team%0ahttps://wiki.ircnow.org/index.php?n=Servers.Rights%0ahttps://wiki.ircnow.org/index.php?n=Openbsd.Announce%0ahttps://wiki.ircnow.org/index.php?n=Abuse.Code%0a +time=1634007745 +author:1634007745=jrmu +diff:1634007745:1634007745:=1,12d0%0a%3c Must finish unix101 training%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=ZNC.Support%0a%3c https://wiki.ircnow.org/index.php?n=ZNC.Admin%0a%3c https://wiki.ircnow.org/index.php?n=Ngircd.Oper%0a%3c https://wiki.ircnow.org/index.php?n=Irc.Chanop%0a%3c https://wiki.ircnow.org/index.php?n=Minutemin.Duty%0a%3c https://wiki.ircnow.org/index.php?n=Minutemin.Server%0a%3c https://wiki.ircnow.org/index.php?n=Openbsd.Team%0a%3c https://wiki.ircnow.org/index.php?n=Servers.Rights%0a%3c https://wiki.ircnow.org/index.php?n=Openbsd.Announce%0a%3c https://wiki.ircnow.org/index.php?n=Abuse.Code%0a +host:1634007745=125.231.64.245 blob - /dev/null blob + 8bccb78782ea69caf0b343fee0681fa66e2e6554 (mode 644) --- /dev/null +++ wiki.d/Ircnow.OpofLiberty @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612616016 +host=198.251.81.119 +name=Ircnow.OpofLiberty +rev=1 +targets=Ircnow.Goals,Third.Third,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Marketing.Marketing,Ircnow.Roadmap +text=(:title Become an Op of Liberty!:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/rosie.png%0a%0aYou can apply to become an Op of Liberty:%0a%0a!! Your Reward%0a%0a# '''Get oper power''' on your team's server%0a# '''Get channel op''' for your team's networks%0a# Help [[ircnow/goals|improve IRC]]%0a# '''Free hosting for [[third/third|your own servers]]''' such as gaming, radio stations, blogs, wikis, bots, and much more%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they would like your help, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help users with customer support, reporting abuse, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a%0a!! Your Training%0a%0a# Become familiar with [[freedom/freedom|our network policies]]%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]] +time=1612616016 +title=Become an Op of Liberty! +author:1612616016=jrmu +diff:1612616016:1612616016:=1,34d0%0a%3c (:title Become an Op of Liberty!:)%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/rosie.png%0a%3c %0a%3c You can apply to become an Op of Liberty:%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Get oper power''' on your team's server%0a%3c # '''Get channel op''' for your team's networks%0a%3c # Help [[ircnow/goals|improve IRC]]%0a%3c # '''Free hosting for [[third/third|your own servers]]''' such as gaming, radio stations, blogs, wikis, bots, and much more%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they would like your help, they will mentor you and invite you to work with their team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help users with customer support, reporting abuse, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a%3c %0a%3c !! Your Training%0a%3c %0a%3c # Become familiar with [[freedom/freedom|our network policies]]%0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a\ No newline at end of file%0a +host:1612616016=198.251.81.119 blob - /dev/null blob + d44ab45241a8919933e76717dbc207fac0c32eed (mode 644) --- /dev/null +++ wiki.d/Ircnow.OpsofLiberty @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611485695 +host=198.251.81.119 +name=Ircnow.OpsofLiberty +rev=5 +targets=Ircnow.Goals,Third.Third,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Marketing.Marketing,Ircnow.Roadmap +text=(:title Become an Op of Liberty!:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/rosie.png%0a%0aYou can apply to become an Op of Liberty:%0a%0a!! Your Reward%0a%0a# '''Get oper power''' on your team's server%0a# '''Get channel op''' for your team's networks%0a# Help [[ircnow/goals|improve IRC]]%0a# '''Free hosting for [[third/third|your own servers]]''' such as gaming, radio stations, blogs, wikis, bots, and much more%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they would like your help, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help users with customer support, reporting abuse, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a%0a!! Your Training%0a%0a# Become familiar with [[freedom/freedom|our network policies]]%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]] +time=1612577626 +title=Become an Op of Liberty! +author:1612577626=jrmu +diff:1612577626:1611888920:=3c3%0a%3c %25width=300px rfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/rosie.png%0a +host:1612577626=198.251.81.119 +author:1611888920=jrmu +diff:1611888920:1611888907:=3c3%0a%3c %25width=70pct rfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/rosie.png%0a +host:1611888920=125.231.24.226 +author:1611888907=jrmu +diff:1611888907:1611888824:=3c3%0a%3c %25width=40pct rfloat%25 Attach:Marketing/rosie.png%0a---%0a> %25width=40pct%25 Attach:Marketing/rosie.png%0a +host:1611888907=125.231.24.226 +author:1611888824=jrmu +diff:1611888824:1611485695:=2,3d1%0a%3c %0a%3c %25width=40pct%25 Attach:Marketing/rosie.png%0a +host:1611888824=125.231.24.226 +author:1611485695=jrmu +diff:1611485695:1611485695:=1,32d0%0a%3c (:title Become an Op of Liberty!:)%0a%3c %0a%3c You can apply to become an Op of Liberty:%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Get oper power''' on your team's server%0a%3c # '''Get channel op''' for your team's networks%0a%3c # Help [[ircnow/goals|improve IRC]]%0a%3c # '''Free hosting for [[third/third|your own servers]]''' such as gaming, radio stations, blogs, wikis, bots, and much more%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they would like your help, they will mentor you and invite you to work with their team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help users with customer support, reporting abuse, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a%3c %0a%3c !! Your Training%0a%3c %0a%3c # Become familiar with [[freedom/freedom|our network policies]]%0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a\ No newline at end of file%0a +host:1611485695=125.231.20.163 blob - /dev/null blob + b6e22d655d0c8b20b8ed83508774c3a784547b9e (mode 644) --- /dev/null +++ wiki.d/Ircnow.Opsofliberty @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635560747 +host=125.231.23.181 +name=Ircnow.Opsofliberty +rev=3 +targets=Vps.Vps,Minutemin.Bootcamp,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Opsofliberty.Bootcamp,Ircnow.Roadmap,Ircnow.Finances +text=(:title Become an Op of Liberty:)%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aOps of Liberty are an elite corps of trained staff, ready to help users with their tech support needs. Named after the Sons of Liberty, the mission of Ops is to defend liberty for users on the network.%0a%0a!! Your Reward%0a%0a# '''Become an IRC oper on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Learn [[minutemin/bootcamp|UNIX sysadmin]] with real servers%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aNote: This is an unpaid volunteer position.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Send an email to support@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# Finish the [[Opsofliberty/bootcamp|Ops Bootcamp]].%0a# After you finish training, you'll be promoted to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish the [[opsofliberty/bootcamp|Ops Bootcamp]].%0a# You can optionally learn [[minutemin/bootcamp|sysadmin]] with us.%0a# You must be willing to help with customer support and user documentation%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]]%0a +time=1636218942 +title=Become an Op of Liberty +author:1636218942=jrmu +diff:1636218942:1636218591:=5,6c5,6%0a%3c Ops of Liberty are an elite corps of trained staff, ready to help users with their tech support needs. Named after the Sons of Liberty, the mission of Ops is to defend liberty for users on the network.%0a%3c %0a---%0a> Ops of Liberty are an elite corps of trained staff, ready to help users with their tech support needs. Named after the Sons of Liberty from the Revolutionary War, their mission is defend liberty for users on the network.%0a> %0a20a21%0a> # Finish the [[Opsofliberty/bootcamp|Ops Bootcamp]].%0a22,25c23,25%0a%3c # Send an email to support@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # Finish the [[Opsofliberty/bootcamp|Ops Bootcamp]].%0a%3c # After you finish training, you'll be promoted to staff!%0a%3c %0a---%0a> # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a> # After you finish training, you'll be promote to staff!%0a> %0a29,32c29,34%0a%3c # Finish the [[opsofliberty/bootcamp|Ops Bootcamp]].%0a%3c # You can optionally learn [[minutemin/bootcamp|sysadmin]] with us.%0a%3c # You must be willing to help with customer support and user documentation%0a%3c %0a---%0a> # Finish [[openbsd/training|Sysadmin Training]] in 4 weeks.%0a> # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a> # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a> # You can optionally work on [[third/third|third party software]]%0a> # You must be willing to help with customer support, documentation, and basic coding%0a> %0a36a39,51%0a> Must finish unix101 training%0a> %0a> * [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a> * [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a> * [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a> * [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a> * [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a> * [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a> * [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a> * [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a> * [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a> * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a> * [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +host:1636218942=125.231.23.181 +author:1636218591=jrmu +diff:1636218591:1635560747:=1,38d0%0a%3c (:title Become an Op of Liberty:)%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c Ops of Liberty are an elite corps of trained staff, ready to help users with their tech support needs. Named after the Sons of Liberty from the Revolutionary War, their mission is defend liberty for users on the network.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Learn [[minutemin/bootcamp|UNIX sysadmin]] with real servers%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c Note: This is an unpaid volunteer position.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Finish the [[Opsofliberty/bootcamp|Ops Bootcamp]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 4 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a +host:1636218591=38.87.162.47 +author:1635560747=jrmu +diff:1635560747:1635560747:=1,13d0%0a%3c Must finish unix101 training%0a%3c %0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +host:1635560747=38.87.162.8 blob - /dev/null blob + 1ea233f8b13c6300f456a28f632dde9beb1cea6f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Partners @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609250672 +host=125.224.24.163 +name=Ircnow.Partners +rev=27 +targets=Openbsd.Ilines,Ircnow.Networks +text=(:title Partner Networks:)%0a%0a!! Partners share users and combat abuse.%0a%0aWe will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a%0a(:if false:)%0a%25width=40pct%25 Attach:Marketing/iwojima.png%0a(:ifend:)%0a%0aBenefits:%0a%0a# We can set up IRC relays to link select channels on our network together%0a# We will recommend users on our bouncers to your network%0a# We will advertise your network on our site%0a# We will provide ilines for your bouncers/shells%0a# If needed, we can provide spam filters and support%0a# If needed, we can help provide advice for how to deal with DDoS and criminals%0a%0aRequirements:%0a%0a# Channels with adult content (NSFW) must be properly labeled%0a# [[openbsd/ilines|Permanent ilines]] for as many users as either partner needs%0a# Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a# Work together to obtain evidence or logs to stop abuse%0a# Work together to reduce spam and harassment%0a%0aHere is a list of supported [[ircnow/networks|IRC Networks]]. +time=1612053132 +title=Partner Networks +author:1612053132=jrmu +diff:1612053132:1611489425:=23c23%0a%3c # [[openbsd/ilines|Permanent ilines]] for as many users as either partner needs%0a---%0a> # Permanent ilines for as many users as either partner needs%0a +host:1612053132=125.224.24.163 +author:1611489425=jrmu +diff:1611489425:1611489098:=7d6%0a%3c (:if false:)%0a9d7%0a%3c (:ifend:)%0a +host:1611489425=125.231.20.163 +author:1611489098=jrmu +diff:1611489098:1611489087:=7c7%0a%3c %25width=40pct%25 Attach:Marketing/iwojima.png%0a---%0a> %25width=40pct%25 Attach:iwojima.png%0a +host:1611489098=125.231.20.163 +author:1611489087=jrmu +diff:1611489087:1609860065:=6,7d5%0a%3c %0a%3c %25width=40pct%25 Attach:iwojima.png%0a +host:1611489087=125.231.20.163 +author:1609860065=jrmu +diff:1609860065:1609846486:=5c5%0a%3c We will help advertise your network and bring our users to you. Email us at admin@ircnow.org or contact us over IRC at irc.ircnow.org #help.%0a---%0a> We will help advertise your network and bring our users to you.%0a +host:1609860065=125.231.63.134 +author:1609846486=jrmu +diff:1609846486:1609845977:=24c24%0a%3c Here is a list of supported [[ircnow/networks|IRC Networks]].%0a\ No newline at end of file%0a---%0a> Here is a list of our supported [[ircnow/networks|IRC Networks]].%0a\ No newline at end of file%0a +host:1609846486=125.231.63.134 +author:1609845977=jrmu +diff:1609845977:1609475133:=22,24c22%0a%3c # Work together to reduce spam and harassment%0a%3c %0a%3c Here is a list of our supported [[ircnow/networks|IRC Networks]].%0a\ No newline at end of file%0a---%0a> # Work together to reduce spam and harassment%0a\ No newline at end of file%0a +host:1609845977=125.231.63.134 +author:1609475133=jrmu +diff:1609475133:1609475112:=22c22,29%0a%3c # Work together to reduce spam and harassment%0a\ No newline at end of file%0a---%0a> # Work together to reduce spam and harassment%0a> %0a> - No clones%0a> - No copyright infringement%0a> - Proper spam defenses%0a> - NSFW Ages 18+ channels clearly marked so our bouncers can block them%0a> - Provide ilines for our network%0a> - Must provide contact info to deal with abuse%0a\ No newline at end of file%0a +host:1609475133=198.251.81.119 +author:1609475112=jrmu +diff:1609475112:1609475093:=18a19%0a> # Channels with copyright infringement must be properly labeled%0a24a26%0a> %0a +host:1609475112=198.251.81.119 +author:1609475093=jrmu +diff:1609475093:1609300186:=18,19c18%0a%3c # Channels with adult content (NSFW) must be properly labeled%0a%3c # Channels with copyright infringement must be properly labeled%0a---%0a> # Channels with adult content (NSFW) must be labeled properly%0a21,31c20,21%0a%3c # Respond to abuse reports to stop illegal criminal activity (carding, ddos, scamming, phishing, spam)%0a%3c # Work together to obtain evidence or logs to stop abuse%0a%3c # Work together to reduce spam and harassment%0a%3c %0a%3c - No clones%0a%3c %0a%3c - No copyright infringement%0a%3c - Proper spam defenses%0a%3c - NSFW Ages 18+ channels clearly marked so our bouncers can block them%0a%3c - Provide ilines for our network%0a%3c - Must provide contact info to deal with abuse%0a\ No newline at end of file%0a---%0a> # Respond to abuse reports when there is evidence or logs%0a> # Work together to reduce spam and harassment%0a\ No newline at end of file%0a +host:1609475093=198.251.81.119 +author:1609300186=jrmu +diff:1609300186:1609254829:=9,10c9,12%0a%3c # We can set up IRC relays to link select channels on our network together%0a%3c # We will recommend users on our bouncers to your network%0a---%0a> # We will help set up IRC relays to link channels on your network and ours%0a> # We will help provide spam filters and support%0a> # We will recommend users on our bouncers to your network and auto suggest them%0a> # We will help provide training and wikis and tech support%0a12,14c14,15%0a%3c # We will provide ilines for your bouncers/shells%0a%3c # If needed, we can provide spam filters and support%0a%3c # If needed, we can help provide advice for how to deal with DDoS and criminals%0a---%0a> # We will help advise you concerning DDoS defense and reporting of criminals%0a> # We can provide ilines for your network%0a +host:1609300186=125.231.64.214 +author:1609254829=jrmu +diff:1609254829:1609254562:=3,5c3%0a%3c !! Partners share users and combat abuse.%0a%3c %0a%3c We will help advertise your network and bring our users to you.%0a---%0a> Partner with IRCNow and we will help advertise your network and bring our users to you.%0a +host:1609254829=198.251.81.119 +author:1609254562=jrmu +diff:1609254562:1609254493:=19,20c19%0a%3c # Respond to abuse reports when there is evidence or logs%0a%3c # Work together to reduce spam and harassment%0a\ No newline at end of file%0a---%0a> # Respond to abuse reports when there is evidence or logs%0a\ No newline at end of file%0a +host:1609254562=198.251.81.119 +author:1609254493=jrmu +diff:1609254493:1609253898:=11,12c11,12%0a%3c # We will advertise your network on our site%0a%3c # We will help advise you concerning DDoS defense and reporting of criminals%0a---%0a> # We will advertise you on our site%0a> # We will help you with DDoS defense and reporting of criminals%0a +host:1609254493=198.251.81.119 +author:1609253898=jrmu +diff:1609253898:1609252159:=13,14c13%0a%3c # We can provide ilines for your network%0a%3c %0a---%0a> %0a17,19c16,19%0a%3c # Channels with adult content (NSFW) must be labeled properly%0a%3c # Permanent ilines for as many users as either partner needs%0a%3c # Respond to abuse reports when there is evidence or logs%0a\ No newline at end of file%0a---%0a> # Channels with adult content (NSFW) must be labeled and properly so we can ban them from our bouncers%0a> # Permanent iline for as many users as needed for IRCNow%0a> # Any abuse will need to be reported to us and we only ban if evidence or logs are provided%0a> # Our bouncer admins will handle issues of speech censorship%0a\ No newline at end of file%0a +host:1609253898=198.251.81.119 +author:1609252159=jrmu +diff:1609252159:1609252075:=12d11%0a%3c # We will help you with DDoS defense and reporting of criminals%0a +host:1609252159=125.231.64.214 +author:1609252075=jrmu +diff:1609252075:1609252065:=11c11%0a%3c # We will advertise you on our site%0a---%0a> # We will advertise you on our site and on our bouncer%0a +host:1609252075=125.231.64.214 +author:1609252065=jrmu +diff:1609252065:1609252011:=11d10%0a%3c # We will advertise you on our site and on our bouncer%0a +host:1609252065=125.231.64.214 +author:1609252011=jrmu +diff:1609252011:1609251961:=10c10%0a%3c # We will help provide training and wikis and tech support%0a---%0a> # %0a +host:1609252011=125.231.64.214 +author:1609251961=jrmu +diff:1609251961:1609251898:=16,17c16%0a%3c # Any abuse will need to be reported to us and we only ban if evidence or logs are provided%0a%3c # Our bouncer admins will handle issues of speech censorship%0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1609251961=125.231.64.214 +author:1609251898=jrmu +diff:1609251898:1609251000:=8,9d7%0a%3c # We will help provide spam filters and support%0a%3c # We will recommend users on our bouncers to your network and auto suggest them%0a +host:1609251898=125.231.64.214 +author:1609251000=jrmu +diff:1609251000:1609250946:=14c14%0a%3c # %0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1609251000=125.231.64.214 +author:1609250946=jrmu +diff:1609250946:1609250878:=5,9d4%0a%3c Benefits:%0a%3c %0a%3c # We will help set up IRC relays to link channels on your network and ours%0a%3c # %0a%3c %0a13,14c8,9%0a%3c # Permanent iline for as many users as needed for IRCNow%0a%3c # %0a\ No newline at end of file%0a---%0a> # We request ilines%0a> #%0a\ No newline at end of file%0a +host:1609250946=125.231.64.214 +author:1609250878=jrmu +diff:1609250878:1609250739:=9d8%0a%3c # %0a\ No newline at end of file%0a +host:1609250878=125.231.64.214 +author:1609250739=jrmu +diff:1609250739:1609250722:=8c8%0a%3c # We request ilines%0a---%0a> # %0a +host:1609250739=125.231.64.214 +author:1609250722=jrmu +diff:1609250722:1609250672:=5,8c5,6%0a%3c Requirements:%0a%3c %0a%3c # Channels with adult content (NSFW) must be labeled and properly so we can ban them from our bouncers%0a%3c # %0a---%0a> %0a> %0a +host:1609250722=125.231.64.214 +author:1609250672=jrmu +diff:1609250672:1609250672:=1,6d0%0a%3c (:title Partner Networks:)%0a%3c %0a%3c Partner with IRCNow and we will help advertise your network and bring our users to you.%0a%3c %0a%3c %0a%3c %0a +host:1609250672=125.231.64.214 blob - /dev/null blob + b8aa94d2af5fd6f749eedb9644296bcdba278a62 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Partners2 @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609252722 +host=198.251.81.119 +name=Ircnow.Partners2 +rev=2 +targets= +text=(:title Partner Networks:)%0a%0a!Partner Options:%0a%0a!!Spam Partner%0a# You mark channels with adult content (NSFW)%0a# You report/log abuse%0a# We will help provide spam filters and support%0a# We share known abusers for banning%0a%0a!!User Partner%0a# You provide iline for IRCNow%0a# We auto-suggest your network to users on our bouncers and website%0a%0a!!Training Partner%0a# We will help provide training and wikis and tech support%0a +time=1609253551 +title=Partner Networks +author:1609253551=jrmu +diff:1609253551:1609252722:=15a16%0a> # You treat our users with respect%0a +host:1609253551=198.251.81.119 +author:1609252722=searchsocial +diff:1609252722:1609252722:=1,17d0%0a%3c (:title Partner Networks:)%0a%3c %0a%3c !Partner Options:%0a%3c %0a%3c !!Spam Partner%0a%3c # You mark channels with adult content (NSFW)%0a%3c # You report/log abuse%0a%3c # We will help provide spam filters and support%0a%3c # We share known abusers for banning%0a%3c %0a%3c !!User Partner%0a%3c # You provide iline for IRCNow%0a%3c # We auto-suggest your network to users on our bouncers and website%0a%3c %0a%3c !!Training Partner%0a%3c # You treat our users with respect%0a%3c # We will help provide training and wikis and tech support%0a +host:1609252722=99.112.18.250 blob - /dev/null blob + 26aaea5cf9e075be65a89617bfabc17a6f9c396f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Pentesters @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609844157 +host=125.231.63.134 +name=Ircnow.Pentesters +rev=3 +targets=Ircnow.Goals,Vps.Vps,Openbsd.Openbsd,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Ircnow.Roadmap,Third.Third +text=(:title Apply to be a Pentester:)%0a%0aIf you would like to help [[ircnow/goals|improve IRC]] while learning security, we would love to have you join our team as a pentester.%0a%0a!! Your Reward%0a%0a# Join IRCNow Staff%0a# '''[[vps/vps|Free OpenBSD VPS]]'''%0a# Learn [[openbsd/openbsd|UNIX sysadmin]] and learn about security%0a# Learn to find and defend against exploits in code%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# If you are completely new to UNIX, you must first [[shell/shell|request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all applicants finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# If you'd like to root access to a real server, we ask you please send your resume to admin@ircnow.org. Please provide your full legal name, phone number, and work references or websites or projects you have worked on. We'll then conduct an interview, and if all goes well, we'll invite you to our team.%0a# If you'd prefer to remain anonymous, please contact us for an interview. If you find a security hole, please let us know: we appreciate your help!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Work on security for the IRCNow network (see the [[ircnow/roadmap|IRCNow Roadmap]])%0a# You can optionally test security of [[third/third|third party software]] on our network%0a# You must be willing to help with documentation, patching security issues, and customer support +time=1609845463 +title=Apply to be a Pentester +author:1609845463=jrmu +diff:1609845463:1609844580:=32c32%0a%3c # You must be willing to help with documentation, patching security issues, and customer support%0a\ No newline at end of file%0a---%0a> # You must be willing to help with documentation and patching security issues%0a\ No newline at end of file%0a +host:1609845463=125.231.63.134 +author:1609844580=jrmu +diff:1609844580:1609844157:=24,25c24%0a%3c # If you'd like to root access to a real server, we ask you please send your resume to admin@ircnow.org. Please provide your full legal name, phone number, and work references or websites or projects you have worked on. We'll then conduct an interview, and if all goes well, we'll invite you to our team.%0a%3c # If you'd prefer to remain anonymous, please contact us for an interview. If you find a security hole, please let us know: we appreciate your help!%0a---%0a> # Send your resume to admin@ircnow.org. Please provide your full legal name, phone number, and work references or websites or projects you have worked on. We'll then conduct an interview, and if all goes well, we'll invite you to our team.%0a +host:1609844580=125.231.63.134 +author:1609844157=jrmu +diff:1609844157:1609844157:=1,31d0%0a%3c (:title Apply to be a Pentester:)%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning security, we would love to have you join our team as a pentester.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # Join IRCNow Staff%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] and learn about security%0a%3c # Learn to find and defend against exploits in code%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # If you are completely new to UNIX, you must first [[shell/shell|request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all applicants finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send your resume to admin@ircnow.org. Please provide your full legal name, phone number, and work references or websites or projects you have worked on. We'll then conduct an interview, and if all goes well, we'll invite you to our team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Work on security for the IRCNow network (see the [[ircnow/roadmap|IRCNow Roadmap]])%0a%3c # You can optionally test security of [[third/third|third party software]] on our network%0a%3c # You must be willing to help with documentation and patching security issues%0a\ No newline at end of file%0a +host:1609844157=125.231.63.134 blob - /dev/null blob + b9fd40e3b2051c98e18a1ae6c48703ac9e78e522 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Pioneer @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626967716 +host=38.87.162.8 +name=Ircnow.Pioneer +rev=19 +targets=Freedom.Freedom,Vps.Vps,Minutemin.Bootcamp,Shell.Shell,Ircnow.Servers,Ircnow.Goals,Ircnow.Minutemin +text=(:title Become a Pioneer!:)%0a%0a!! Free 4-Week Sysadmin Course%0a%0aIf you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' OpenBSD sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a %0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! [[minutemin/bootcamp|What You'll Learn]]%0a%0a# How to use OpenBSD%0a# How to set up your own VPN (virtual private network)%0a# How to set up your own mail server%0a# How to set up your own webserver and web applications%0a# How to configure TLS for security%0a# How to run your own IRC social network (includes bots, bouncers, services)%0a# How to set up your own file sharing server%0a# How to set up your own firewall%0a# How to set up your own nameserver and how to purchase a custom domain%0a%0a!! How to Apply%0a%0a# If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a# Send an email to admin@ircnow.org%0a# Get verified using any one method below:%0a # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a # Provide a photo ID, or%0a # Provide personal social media/website/blog/work portfolio/resume%0a # Send $0.01 one cent using an accepted payment option%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks course, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%0a +time=1628555853 +title=Become a Pioneer! +author:1628555853=jrmu +diff:1628555853:1628555834:= +host:1628555853=38.87.162.8 +author:1628555834=jrmu +diff:1628555834:1627629499:=36,40c36,43%0a%3c # Get verified using any one method below:%0a%3c # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a%3c # Provide a photo ID, or%0a%3c # Provide personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using an accepted payment option%0a---%0a> %0a> We will require one of four verification methods:%0a> %0a> # Get a referral from a friend who is trusted by IRCNow staff%0a> # Provide a photo ID%0a> # Show us your personal social media/website/blog/work portfolio/resume%0a> # Send $0.01 one cent using a credit card or payment gateway%0a> %0a +host:1628555834=38.87.162.8 +author:1627629499=jrmu +diff:1627629499:1627278516:=41,42c41,42%0a%3c # Show us your personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using a credit card or payment gateway%0a---%0a> # Show us your personal social media/website/blog%0a> # Provide us with work portfolio/resume%0a +host:1627629499=38.87.162.8 +author:1627278516=jrmu +diff:1627278516:1627278423:= +host:1627278516=38.87.162.8 +author:1627278423=jrmu +diff:1627278423:1627271412:=33d32%0a%3c # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a +host:1627278423=38.87.162.8 +author:1627271412=jrmu +diff:1627271412:1627270900:=5c5%0a%3c If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' OpenBSD sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a---%0a> If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a21d20%0a%3c # How to use OpenBSD%0a +host:1627271412=38.87.162.8 +author:1627270900=jrmu +diff:1627270900:1627270434:=31a32,37%0a> To apply, we will require one of four verification methods:%0a> %0a> # Get a referral from a friend who is trusted by IRCNow staff%0a> # Provide a photo ID%0a> # Show us your personal social media/website/blog%0a> # Provide us with work portfolio/resume%0a34,41d39%0a%3c %0a%3c We will require one of four verification methods:%0a%3c %0a%3c # Get a referral from a friend who is trusted by IRCNow staff%0a%3c # Provide a photo ID%0a%3c # Show us your personal social media/website/blog%0a%3c # Provide us with work portfolio/resume%0a%3c %0a +host:1627270900=38.87.162.8 +author:1627270434=jrmu +diff:1627270434:1627270399:=4a5,6%0a> %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a> %0a8,9d9%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1627270434=38.87.162.8 +author:1627270399=jrmu +diff:1627270399:1627270381:=2a3,4%0a> %25width=30pct rfloat%25 Attach:Marketing/oregontrail.png%0a> %0a4,5d5%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1627270399=38.87.162.8 +author:1627270381=jrmu +diff:1627270381:1627270152:=3c3%0a%3c %25width=30pct rfloat%25 Attach:Marketing/oregontrail.png%0a---%0a> %25width=80pct rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1627270381=38.87.162.8 +author:1627270152=jrmu +diff:1627270152:1627270096:=9,10c9,10%0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a---%0a> !! Of the Users, By the Users, For the Users%0a> %0a45c45%0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a---%0a> # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]] [[freedom/freedom|for the users]]%0a +host:1627270152=38.87.162.8 +author:1627270096=jrmu +diff:1627270096:1627269981:=15,16c15,16%0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a---%0a> !! Claim Your VPS Homestead Today!%0a> %0a19,20c19,24%0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a---%0a> # '''[[vps/vps|Free Homestead VPS]]'''%0a> # [[minutemin/bootcamp|sysadmin course]]%0a> # Proceeds go towards [[ircnow/goals|creating a free network]] [[freedom/freedom|for the users]]%0a> %0a> !! What You'll Learn%0a> %0a45c49%0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]] [[freedom/freedom|for the users]]%0a---%0a> # [[vps/vps|Purchase the VPS]] at $5USD/month%0a47d50%0a%3c %0a +host:1627270096=38.87.162.8 +author:1627269981=jrmu +diff:1627269981:1627269881:=7c7%0a%3c If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a---%0a> If you want independence, you want your own servers. For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a virtual private servers (VPS). We will help train pioneers so they can control their own tech.%0a +host:1627269981=38.87.162.8 +author:1627269881=jrmu +diff:1627269881:1627269708:=22,32d21%0a%3c %0a%3c !! What You'll Learn%0a%3c %0a%3c # How to set up your own VPN (virtual private network)%0a%3c # How to set up your own mail server%0a%3c # How to set up your own webserver and web applications%0a%3c # How to configure TLS for security%0a%3c # How to run your own IRC social network (includes bots, bouncers, services)%0a%3c # How to set up your own file sharing server%0a%3c # How to set up your own firewall%0a%3c # How to set up your own nameserver and how to purchase a custom domain%0a +host:1627269881=38.87.162.8 +author:1627269708=jrmu +diff:1627269708:1627269109:=8,10c8%0a%3c %0a%3c !! Of the Users, By the Users, For the Users%0a%3c %0a---%0a> %0a15,18c13,14%0a%3c !! Claim Your VPS Homestead Today!%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a---%0a> Welcome to IRCNow, the new center for the startup dream. Claim your free homestead VPS today.%0a> %0a20,22c16,23%0a%3c # [[minutemin/bootcamp|sysadmin course]]%0a%3c # Proceeds go towards [[ircnow/goals|creating a free network]] [[freedom/freedom|for the users]]%0a%3c %0a---%0a> # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a> # Learn to write code for real users%0a> # Hang out with friends while [[ircnow/goals|improving IRC]]%0a> # Add a new work experience for your CV/resume%0a> # Help [[freedom|improve freedom]] on the internet%0a> %0a> We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a> %0a25,39c26,46%0a%3c To apply, we will require one of four verification methods:%0a%3c %0a%3c # Get a referral from a friend who is trusted by IRCNow staff%0a%3c # Provide a photo ID%0a%3c # Show us your personal social media/website/blog%0a%3c # Provide us with work portfolio/resume%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a%3c # Send an email to admin@ircnow.org%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a---%0a> # [[shell/shell|Request a shell account]]%0a> # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a> # Learn [[ircnow/howtoask|how to ask smart questions]].%0a> # Take the time to learn [[openbsd|OpenBSD]].%0a> # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a> # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a> # After you finish training, you'll be promote to staff!%0a> %0a> !! Your Duties%0a> %0a> # Commit to help your team for a minimum of 5 hours per week%0a> # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a> # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a> # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a> # You can optionally work on [[third/third|third party software]]%0a> # You must be willing to help with customer support, documentation, and basic coding%0a> %0a> Administration%0a> %0a> # Track our progress on [[ircnow/roadmap|the roadmap]]%0a> # See the report on [[ircnow/finances|IRCNow Finances]]%0a +host:1627269708=38.87.162.8 +author:1627269109=jrmu +diff:1627269109:1627268918:=7,8c7,10%0a%3c If you want independence, you want your own servers. For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a virtual private servers (VPS). We will help train pioneers so they can control their own tech.%0a%3c %0a---%0a> If you want independence, you want your own servers. For four weeks, IRCNow is offering '''FREE''' virtual private servers (VPSes) and sysadmin training.%0a> %0a> We want a strong, healthy network focused on free software, and we're happy to help train pioneers so they can self-host their own infrastructure.%0a> %0a11,12c13,14%0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a---%0a> On this network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a> %0a14a17,18%0a> %0a> %0a46c50%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a---%0a> # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1627269109=38.87.162.8 +author:1627268918=jrmu +diff:1627268918:1627268768:=6a7,8%0a> Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a> %0a11,17c13,19%0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On this network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream. Claim your free homestead VPS today.%0a%3c %0a%3c %0a---%0a> Welcome to IRCNow, the new center for the startup dream.%0a> %0a> We don't answer to billionaire CEOs, elites, or corporate monopolies.%0a> %0a> Claim your free homestead VPS today.%0a> %0a> On this network, all users are created equal. This LAN was made for you and me%0a +host:1627268918=38.87.162.8 +author:1627268768=jrmu +diff:1627268768:1626967716:=3,20c3,9%0a%3c %25width=80pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c !! Free 4-Week Sysadmin Course%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c If you want independence, you want your own servers. For four weeks, IRCNow is offering '''FREE''' virtual private servers (VPSes) and sysadmin training.%0a%3c %0a%3c We want a strong, healthy network focused on free software, and we're happy to help train pioneers so they can self-host their own infrastructure.%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c We don't answer to billionaire CEOs, elites, or corporate monopolies.%0a%3c %0a%3c Claim your free homestead VPS today.%0a%3c %0a%3c On this network, all users are created equal. This LAN was made for you and me%0a%3c %0a---%0a> %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a> %0a> Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a> %0a> !! Your Reward%0a> %0a> # '''Become an IRC oper and staff on IRCNow'''%0a +host:1627268768=38.87.162.8 +author:1626967716=jrmu +diff:1626967716:1626967716:=1,41d0%0a%3c (:title Become a Pioneer!:)%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send an email to admin@ircnow.org. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1626967716=198.251.81.119 blob - /dev/null blob + 339a6f9c1f5a1748396410a21c1c4d1160bdad48 (mode 644) --- /dev/null +++ wiki.d/Ircnow.PioneerTldr @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627279498 +host=38.87.162.8 +name=Ircnow.PioneerTldr +rev=1 +targets=Vps.Vps,Minutemin.Bootcamp,Shell.Shell,Ircnow.Servers,Ircnow.Goals,Ircnow.Minutemin +text=(:title Become a Pioneer!:)%0a%0a!! Free 4-Week Sysadmin Course%0a%0aBe an independent pioneer on the Internet and run your own servers: '''FREE''' OpenBSD sysadmin course with '''FREE''' VPS for four weeks.%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0a!! [[minutemin/bootcamp|What You'll Learn]]%0a%0aYou'll learn how to set up your own:%0a%0a# Virtual Private Network (VPN) to browse the web anonymously%0a# Mail server%0a# Webserver and web apps%0a# Chat network on IRC (including bots)%0a# File sharing server%0a# Firewall%0a# Custom subdomains (domain registration price not included)%0a%0a!! How to Apply%0a%0a# Create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a%0aTo qualify, you must provide one of four verification methods:%0a%0a# Get a referral from a friend who is trusted by IRCNow staff%0a# Provide a photo ID%0a# Show us your personal social media/website/blog%0a# Provide us with work portfolio/resume%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks course, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%0a +time=1627279498 +title=Become a Pioneer! +author:1627279498=jrmu +diff:1627279498:1627279498:=1,41d0%0a%3c (:title Become a Pioneer!:)%0a%3c %0a%3c !! Free 4-Week Sysadmin Course%0a%3c %0a%3c Be an independent pioneer on the Internet and run your own servers: '''FREE''' OpenBSD sysadmin course with '''FREE''' VPS for four weeks.%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a%3c You'll learn how to set up your own:%0a%3c %0a%3c # Virtual Private Network (VPN) to browse the web anonymously%0a%3c # Mail server%0a%3c # Webserver and web apps%0a%3c # Chat network on IRC (including bots)%0a%3c # File sharing server%0a%3c # Firewall%0a%3c # Custom subdomains (domain registration price not included)%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a%3c %0a%3c To qualify, you must provide one of four verification methods:%0a%3c %0a%3c # Get a referral from a friend who is trusted by IRCNow staff%0a%3c # Provide a photo ID%0a%3c # Show us your personal social media/website/blog%0a%3c # Provide us with work portfolio/resume%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%3c %0a +host:1627279498=38.87.162.8 blob - /dev/null blob + a0cefff7c4590e986a7c2b4d176f1201520726d4 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Projects @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:91.0) Gecko/20100101 Firefox/91.0 +author=mkf +charset=UTF-8 +csum= +ctime=1601858448 +host=5.238.187.4 +name=Ircnow.Projects +rev=19 +targets=Irc.Federation,Stopm.Stopm,Ircweb.Ircweb,Http2irc.Http2irc,Botnow.Botnow,Bncnow.Bncnow,Ircnowd.Ircnowd,Census.Census,Relay.Relay,Usethis.Usethis,Coursedown.Coursedown,Townhall.Townhall,NewsNow.NewsNow +text=IRC%0a%0a* [[irc/federation|Federate IRC]] -- Federate IRC%0a* [[stopm/stopm|Statistical Open Proxy Monitor]] (STOPM) -- IRC Spam Blocker%0a* [[ircweb/ircweb|IRCWeb]] -- An IRC web client that works like you expect%0a* [[http2irc/http2irc|http2irc]] -- An HTTP to IRC bridge%0a* [[botnow/botnow|BotNow]] -- A versatile IRC Bot%0a* [[bncnow/bncnow|BNCNow]] -- An easy-to-use bouncer%0a* [[ircnowd/ircnowd|IRCNowd]] -- An IRC server done right%0a* [[census/census|Census]] -- IRC Services that makes sense.%0a* [[relay/relay|Union Relay]] -- An IRC relay to unite autonomous networks into a federation%0a* [[usethis/usethis|UseThis]] -- a better software recommendation engine for free and open source software%0a%0aOthers%0a%0a* [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a* [[townhall/townhall]] -- a wiki where all voices are heard%0a* [[NewsNow/NewsNow|NewsNow]] -- A News Panel using rss-xml for the whole network%0a%0a* unix.* +time=1637771090 +author:1637771090=mkf +diff:1637771090:1620467369:=18,20c18%0a%3c * [[NewsNow/NewsNow|NewsNow]] -- A News Panel using rss-xml for the whole network%0a%3c %0a%3c * unix.*%0a\ No newline at end of file%0a---%0a> * [[NewsNow/NewsNow|NewsNow]] -- A News Panel using rss-xml for the whole network%0a\ No newline at end of file%0a +host:1637771090=5.238.187.4 +author:1620467369=jrmu +diff:1620467369:1620397368:=1,2d0%0a%3c IRC%0a%3c %0a11a10%0a> * [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a13,16d11%0a%3c %0a%3c Others%0a%3c %0a%3c * [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a +host:1620467369=198.251.81.119 +author:1620397368=jrmu +diff:1620397368:1620395660:=9d8%0a%3c * [[relay/relay|Union Relay]] -- An IRC relay to unite autonomous networks into a federation%0a +host:1620397368=198.251.81.119 +author:1620395660=jrmu +diff:1620395660:1620395579:=8c8%0a%3c * [[census/census|Census]] -- IRC Services that makes sense.%0a---%0a> * [[]]%0a +host:1620395660=198.251.81.119 +author:1620395579=jrmu +diff:1620395579:1620395343:=8d7%0a%3c * [[]]%0a +host:1620395579=198.251.81.119 +author:1620395343=jrmu +diff:1620395343:1620391035:=1c1%0a%3c * [[irc/federation|Federate IRC]] -- Federate IRC%0a---%0a> * [[irc/federation]] -- Federate IRC%0a +host:1620395343=198.251.81.119 +author:1620391035=jrmu +diff:1620391035:1620388176:=1d0%0a%3c * [[irc/federation]] -- Federate IRC%0a +host:1620391035=198.251.81.119 +author:1620388176=jrmu +diff:1620388176:1620387998:=6c6%0a%3c * [[ircnowd/ircnowd|IRCNowd]] -- An IRC server done right%0a---%0a> * [[ircnowd/ircnowd|IRCNowd]] -- A simple, reliable IRC daemon%0a +host:1620388176=198.251.81.119 +author:1620387998=jrmu +diff:1620387998:1615811868:=6c6%0a%3c * [[ircnowd/ircnowd|IRCNowd]] -- A simple, reliable IRC daemon%0a---%0a> * [[ircnowd/ircnowd|IRCNowD]] -- A simple, reliable IRC daemon%0a +host:1620387998=198.251.81.119 +author:1615811868=miniontoby +csum:1615811868=added Newsnow +diff:1615811868:1609471327:=9,10c9%0a%3c * [[townhall/townhall]] -- a wiki where all voices are heard%0a%3c * [[NewsNow/NewsNow|NewsNow]] -- A News Panel using rss-xml for the whole network%0a\ No newline at end of file%0a---%0a> * [[townhall/townhall]] -- a wiki where all voices are heard%0a\ No newline at end of file%0a +host:1615811868=141.138.217.186 +author:1609471327=jrmu +diff:1609471327:1609471294:=9c9%0a%3c * [[townhall/townhall]] -- a wiki where all voices are heard%0a\ No newline at end of file%0a---%0a> * [[townsquare/townsquare]] -- a wiki where all voices are heard%0a\ No newline at end of file%0a +host:1609471327=198.251.81.119 +author:1609471294=jrmu +diff:1609471294:1609470962:=9c9%0a%3c * [[townsquare/townsquare]] -- a wiki where all voices are heard %0a\ No newline at end of file%0a---%0a> * [[]]%0a\ No newline at end of file%0a +host:1609471294=198.251.81.119 +author:1609470962=jrmu +diff:1609470962:1601859090:=7,9c7%0a%3c * [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a%3c * [[usethis/usethis|UseThis]] -- a better software recommendation engine for free and open source software%0a%3c * [[]]%0a\ No newline at end of file%0a---%0a> * [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a\ No newline at end of file%0a +host:1609470962=198.251.81.119 +author:1601859090=jrmu +diff:1601859090:1601859079:=2c2%0a%3c * [[ircweb/ircweb|IRCWeb]] -- An IRC web client that works like you expect%0a---%0a> * [[ircweb|ircweb|IRCWeb]] -- An IRC web client that works like you expect%0a +host:1601859090=38.81.163.143 +author:1601859079=jrmu +diff:1601859079:1601858934:=2c2%0a%3c * [[ircweb|ircweb|IRCWeb]] -- An IRC web client that works like you expect%0a---%0a> * [[ircweb|ircweb]] -- an IRC web client that works like you expect%0a +host:1601859079=38.81.163.143 +author:1601858934=jrmu +diff:1601858934:1601858856:=2d1%0a%3c * [[ircweb|ircweb]] -- an IRC web client that works like you expect%0a +host:1601858934=38.81.163.143 +author:1601858856=jrmu +diff:1601858856:1601858672:=5c5%0a%3c * [[ircnowd/ircnowd|IRCNowD]] -- A simple, reliable IRC daemon%0a---%0a> * [[ircnowd/ircnowd|IRCNowd]] -- A simple, reliable IRC daemon%0a +host:1601858856=38.81.163.143 +author:1601858672=jrmu +diff:1601858672:1601858448:=1,6c1,4%0a%3c * [[stopm/stopm|Statistical Open Proxy Monitor]] (STOPM) -- IRC Spam Blocker%0a%3c * [[http2irc/http2irc|http2irc]] -- An HTTP to IRC bridge%0a%3c * [[botnow/botnow|BotNow]] -- A versatile IRC Bot%0a%3c * [[bncnow/bncnow|BNCNow]] -- An easy-to-use bouncer%0a%3c * [[ircnowd/ircnowd|IRCNowd]] -- A simple, reliable IRC daemon%0a%3c * [[coursedown/coursedown|coursedown]] -- markdown inspired courseware%0a\ No newline at end of file%0a---%0a> * Statistical Open Proxy Monitor (STOPM) -- IRC Spam Blocker%0a> * BotNow -- A versatile IRC Bot%0a> * BNCNow -- An easy-to-use bouncer%0a> * IRCNowd -- A simple, reliable IRC daemon%0a\ No newline at end of file%0a +host:1601858672=38.81.163.143 +author:1601858448=jrmu +diff:1601858448:1601858448:=1,4d0%0a%3c * Statistical Open Proxy Monitor (STOPM) -- IRC Spam Blocker%0a%3c * BotNow -- A versatile IRC Bot%0a%3c * BNCNow -- An easy-to-use bouncer%0a%3c * IRCNowd -- A simple, reliable IRC daemon%0a\ No newline at end of file%0a +host:1601858448=38.81.163.143 blob - /dev/null blob + b6c36ff016c0adbeee96e2e431fb2979cc8cd8e1 (mode 644) --- /dev/null +++ wiki.d/Ircnow.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1596181131 +host=2a03:e600:100::26 +name=Ircnow.RecentChanges +rev=1136 +text=* [[Ircnow/Servers]] . . . December 17, 2021, at 04:09 PM by [[~AncientWisdom]]: [==]%0a* [[Ircnow/SSHFingerprints]] . . . December 06, 2021, at 02:03 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Projects]] . . . November 24, 2021, at 04:24 PM by [[~mkf]]: [==]%0a* [[Ircnow/Explorer]] . . . November 24, 2021, at 03:16 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Opsofliberty]] . . . November 06, 2021, at 05:15 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Victorycpus]] . . . October 30, 2021, at 08:17 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Team]] . . . October 30, 2021, at 02:25 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Sonsofliberty]] . . . October 30, 2021, at 02:16 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Settler]] . . . October 29, 2021, at 04:03 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Milestones]] . . . October 29, 2021, at 01:06 PM by [[~AncientWisdom]]: [==]%0a* [[Ircnow/Networks]] . . . October 24, 2021, at 11:34 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Oper]] . . . October 12, 2021, at 03:02 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Roadmap]] . . . October 10, 2021, at 08:34 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* [[Ircnow/Minutemin]] . . . September 10, 2021, at 05:53 AM by [[~mkf]]: [=it's getting smaller.=]%0a* [[Ircnow/Todo]] . . . August 17, 2021, at 08:41 AM by [[~mkf]]: [==]%0a* [[Ircnow/Pioneer]] . . . August 10, 2021, at 12:37 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Hardware]] . . . August 01, 2021, at 01:48 PM by [[~jrmu]]: [==]%0a* [[Ircnow/PioneerTldr]] . . . July 26, 2021, at 06:04 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Constitution]] . . . June 10, 2021, at 03:48 PM 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* [[Ircnow/CodeForce]] . . . March 29, 2021, at 12:04 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Goals]] . . . March 06, 2021, at 09:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Codeforce]] . . . March 05, 2021, at 02:15 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Chatforce]] . . . March 05, 2021, at 02:15 PM 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* [[Ircnow/IRCitizen]] . . . February 15, 2021, at 05:32 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Ally]] . . . February 06, 2021, at 12:54 PM 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* [[Ircnow/OpsofLiberty]] . . . February 06, 2021, at 02:13 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Partners]] . . . January 31, 2021, at 12:32 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Sysadmins]] . . . January 24, 2021, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Ilines]] . . . January 11, 2021, at 09:55 AM 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* [[Ircnow/Helpers]] . . . January 01, 2021, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Finances]] . . . January 01, 2021, at 04:15 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Testing]] . . . December 30, 2020, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Contact]] . . . December 30, 2020, at 03:18 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Partners2]] . . . December 29, 2020, at 02:52 PM by [[~jrmu]]: [==]%0a* [[Ircnow/Helper]] . . . November 28, 2020, at 02:21 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Course]] . . . August 21, 2020, at 05:01 AM by [[~gry]]: [==]%0a* [[Ircnow/Training]] . . . August 20, 2020, at 05:16 AM by [[~jrmu]]: [==]%0a* [[Ircnow/Federation]] . . . August 03, 2020, at 12:19 PM by [[~jrmu]]: [==]%0a +time=1639757368 blob - /dev/null blob + fd0c1675b6a1bad8dd5e26c1235c680b9a8d25dc (mode 644) --- /dev/null +++ wiki.d/Ircnow.Roadmap @@ -0,0 +1,257 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597538360 +host=125.224.22.161 +name=Ircnow.Roadmap +rev=79 +targets=Ircnow.Servers,Bouncer.Bouncer,Ircnow.Team,Minutemin.Training,Openbsd.Openbsd,Openbsd.Bitlbee,Shell.Shell,Www.Www,Openbsd.Sftp,Openbsd.Pmwiki,Openbsd.Php,Openbsd.Bchs,Openbsd.Gotweb,Openbsd.Eggdrop,Openbsd.Openrsync,Openbsd.Scp,Openbsd.Iked,Openbsd.Opensmtpd,Openbsd.Dovecot,Openbsd.Spamd,Openbsd.Pf,Openbsd.FilePermissions,Third.Third,Openbsd.Botnow,Openbsd.Opensnmpd,Openbsd.Identd,Openbsd.Asterisk,Ircnow.Todo +text=(:title IRCNow Roadmap:)%0a%0a!! Plans for Profit%0a%0a# Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a # Provide an IRC marketplace and cryptocoin payment platform%0a # Provide an IRC platform for developers of IRC bots and games%0a # Provide an IRC analytics platform for advertisers (require user consent)%0a # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a# Directly sell our users annual subscriptions for%0a # Extra file storage for web, file, and email hosting%0a # VPS hosting%0a # IRCd hosting%0a# Collect donations%0a%0a!! Ongoing%0a%0a# Invite your friends to [[ircnow/servers|connect to our network]] and [[bouncer/bouncer|request zncs]]%0a# Recruit new [[Ircnow/Team|teammates]]%0a# Finish [[Minutemin/Training|Minutemin Training]]%0a# Learn the [[Openbsd/Openbsd|OpenBSD software stack]] thoroughly and train other teammtes%0a# Update your team's [[Ircnow/Servers|server page]] to show what services you offer%0a# Update the [[Openbsd/Openbsd|Sysadmin Almanack]] to improve it for other sysadmins%0a%0a!! Jan 2021 to Dec 2021%0a%0a# Provide [[bouncer/bouncer|znc accounts]]%0a # Install and configure [[openbsd/bitlbee|bitlbee]]%0a# Provide [[shell/shell|shell accounts]]%0a# Provide [[www/www|web hosting]]%0a # Offer [[openbsd/sftp|chrooted sftp]] access%0a # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a # Offer [[openbsd/php|PHP]] web hosting%0a # Offer [[openbsd/bchs|BCHS]] web hosting%0a # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a # Offer [[openbsd/gotweb|gotweb]] for version control%0a# Provide [[openbsd/eggdrop|eggdrops]]%0a# Provide file hosting%0a # Setup a [[openbsd/sftp|chrooted sftp]]%0a # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a# Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a# Provide mail hosting%0a # Configure [[openbsd/opensmtpd|opensmtpd]] and [[openbsd/dovecot|dovecot]]%0a # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a# Improve security:%0a # Set up server [[openbsd/pf|firewalls]]%0a # Harden [[Openbsd/FilePermissions|file permissions]]%0a # Set up DNS blacklists%0a # Implement quotas%0a# Experiment with suggested [[Third/Third|third party apps]]%0a%0a!! Jan 2022 to December 2022%0a%0a# Patch ngircd:%0a # Add support for ilines%0a # Toggle +r user mode based as determined by open proxy monitors%0a # Fix buffer exhausted errors%0a # Add ELIST functionality for IRCCloud since this client cannot use /list%0a # Add defcon mode%0a # Add /ns and /cs aliases%0a# Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a # Add support for instant registration of shell accounts%0a # Add support for automatic eggdrop compilation and configuration%0a# Add interactive UNIX tutorials for shell account users%0a# Add interactive VPS tutorials for teammates%0a# Update website theme%0a# Create disaster recovery plan%0a # Automated backups / restore testing%0a# Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a# Patch [[openbsd/identd|identd]] to allow spoofing%0a# CGI script to view znc logs%0a%0a!! Future%0a# Improve security:%0a # Automate check for abusive processes/malware on shell accounts%0a# Write interactive C programming tutorials%0a# Switch services from anope to fork of achurch%0a# Switch open proxy monitor from hopm to fork of acopm%0a# Encourage use of psybnc instead of znc%0a # Add playback feature to psybnc%0a # Allow searching of old IRC history%0a # Fix IPv6 connection issues with psybnc%0a # Add NickServ modules that 'just works' across all major IRC networks%0a# Add new features to achurch:%0a # MemeServ%0a # HoneyServ%0a # PasteServ%0a # TrapServ%0a # FileServ%0a # KeyServ%0a# Provide telephony using SIP%0a # Setup [[openbsd/asterisk]]%0a # Provide free sip accounts%0a # Register DIDs%0a # Provide free TURN/STUN servers%0a# Write web IRC app%0a%0a!! Marketing%0a# Get our IRC network listed%0a # https://search.mibbit.com/, mIRC, androIRC%0a # https://netsplit.de/%0a # Get listed on undeadly.org%0a%0a(:if false:)%0a # Use Yahoo's NSFW bot to scan for banned content%0a(:ifend:)%0a%0a# [[ircnow/todo|IRCNow Todo List]]%0a +time=1633854882 +title=IRCNow Roadmap +author:1633854882=jrmu +diff:1633854882:1613298103:=76a77%0a> # Use Yahoo's NSFW bot to scan for banned content%0a105,109c106%0a%3c (:if false:)%0a%3c # Use Yahoo's NSFW bot to scan for banned content%0a%3c (:ifend:)%0a%3c %0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a---%0a> # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a +host:1633854882=125.224.22.161 +author:1613298103=jrmu +diff:1613298103:1613297857:=38c38%0a%3c # Provide [[openbsd/eggdrop|eggdrops]]%0a---%0a> # Provide [[openbsd/eggdrop|eggdrop]]%0a40,42c40,44%0a%3c # Setup a [[openbsd/sftp|chrooted sftp]]%0a%3c # For shell servers, provide [[openbsd/openrsync|openrsync]], rsync, and [[openbsd/scp|scp]]%0a%3c # Provide IPSec VPNs with [[openbsd/iked|IKED]]%0a---%0a> # Use [[openbsd/openrsync|openrsync]], support rsync%0a> # Support [[openbsd/sftp|sftp]] and [[openbsd/scp|scp]]%0a> # Provide VPN hosting%0a> # Support [[openbsd/iked|IKED]]%0a> # Eventually, support [[openbsd/wireguard|wireguard]]%0a44c46%0a%3c # Configure [[openbsd/opensmtpd|opensmtpd]] and [[openbsd/dovecot|dovecot]]%0a---%0a> # Configure [[openbsd/opensmtpd|opensmtpd]], [[openbsd/dovecot|dovecot]]%0a48c50%0a%3c # Harden [[Openbsd/FilePermissions|file permissions]]%0a---%0a> # Harden shell accounts%0a +host:1613298103=198.251.81.119 +author:1613297857=jrmu +diff:1613297857:1613297624:=31c31%0a%3c # Offer [[openbsd/sftp|chrooted sftp]] access%0a---%0a> # Create a new user and either allow shell access or use an sftp chroot%0a35,37c35,37%0a%3c # Offer [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, offer [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Offer [[openbsd/gotweb|gotweb]] for version control%0a---%0a> # Use [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a> # Alternatively, use [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a> # Use gotweb for version control%0a +host:1613297857=198.251.81.119 +author:1613297624=jrmu +diff:1613297624:1613297486:=27c27,28%0a%3c # Provide [[bouncer/bouncer|znc accounts]]%0a---%0a> # Acquire users and provide customer support%0a> # Provide [[Bouncer|znc accounts]]%0a29,30c30,31%0a%3c # Provide [[shell/shell|shell accounts]]%0a%3c # Provide [[www/www|web hosting]]%0a---%0a> # Provide [[Shell|shell accounts]]%0a> # Provide [[Www|web hosting]]%0a +host:1613297624=198.251.81.119 +author:1613297486=jrmu +diff:1613297486:1613296916:=18d17%0a%3c # Invite your friends to [[ircnow/servers|connect to our network]] and [[bouncer/bouncer|request zncs]]%0a20d18%0a%3c # Finish [[Minutemin/Training|Minutemin Training]]%0a23c21%0a%3c # Update the [[Openbsd/Openbsd|Sysadmin Almanack]] to improve it for other sysadmins%0a---%0a> # Update [[Openbsd/Openbsd|wiki pages]] to improve it for other sysadmins%0a +host:1613297486=198.251.81.119 +author:1613296916=jrmu +diff:1613296916:1611583010:=1,5c1,3%0a%3c (:title IRCNow Roadmap:)%0a%3c %0a%3c !! Plans for Profit%0a%3c %0a%3c # Build a free and open Internet platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a---%0a> !! Plans to Profit%0a> %0a> # Build an IRC platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a14c12%0a%3c # Collect donations%0a---%0a> # Collect donations (start today!)%0a +host:1613296916=198.251.81.119 +author:1611583010=jrmu +diff:1611583010:1609476016:=16c16%0a%3c # Recruit new [[Ircnow/Team|teammates]]%0a---%0a> # Recruit new [[Ircnow/Team|sysadmins]] and [[Ircnow/Helpers|helpers]]%0a +host:1611583010=125.231.20.163 +author:1609476016=jrmu +diff:1609476016:1607736702:=103,105c103%0a%3c # Get listed on undeadly.org%0a%3c %0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a---%0a> # Get listed on undeadly.org%0a\ No newline at end of file%0a +host:1609476016=198.251.81.119 +author:1607736702=jrmu +diff:1607736702:1607736688:=12c12%0a%3c # Collect donations (start today!)%0a---%0a> # Collect donations%0a +host:1607736702=198.251.81.119 +author:1607736688=jrmu +diff:1607736688:1606785049:=1,13d0%0a%3c !! Plans to Profit%0a%3c %0a%3c # Build an IRC platform for 3rd party businesses to easily buy/sell to users; charge transaction fees on each sale%0a%3c # Provide an IRC marketplace and cryptocoin payment platform%0a%3c # Provide an IRC platform for developers of IRC bots and games%0a%3c # Provide an IRC analytics platform for advertisers (require user consent)%0a%3c # These 3rd parties could sell proprietary software and services, ads, and physical goods%0a%3c # Directly sell our users annual subscriptions for%0a%3c # Extra file storage for web, file, and email hosting%0a%3c # VPS hosting%0a%3c # IRCd hosting%0a%3c # Collect donations%0a%3c %0a +host:1607736688=198.251.81.119 +author:1606785049=jrmu +diff:1606785049:1606785005:= +host:1606785049=125.231.24.182 +author:1606785005=jrmu +diff:1606785005:1604505308:=3,4c3,4%0a%3c # Recruit new [[Ircnow/Team|sysadmins]] and [[Ircnow/Helpers|helpers]]%0a%3c # Learn the [[Openbsd/Openbsd|OpenBSD software stack]] thoroughly and train other teammtes%0a---%0a> # [[Ircnow/Team|Recruit new teammates]]%0a> # Train teammates in the [[Openbsd|OpenBSD software stack]]%0a6,7c6,7%0a%3c # Update [[Openbsd/Openbsd|wiki pages]] to improve it for other sysadmins%0a%3c %0a---%0a> # Update [[Openbsd|wiki pages]] to improve it for other sysadmins%0a> %0a10c10%0a%3c # Acquire users and provide customer support%0a---%0a> # Acquire users%0a37d36%0a%3c # Experiment with suggested [[Third/Third|third party apps]]%0a +host:1606785005=125.231.24.182 +author:1604505308=jrmu +diff:1604505308:1604505261:=38c38%0a%3c !! Jan 2022 to December 2022%0a---%0a> !! Jan 2021 to December 2021%0a +host:1604505308=38.81.163.7 +author:1604505261=jrmu +diff:1604505261:1598614333:=8c8%0a%3c !! Jan 2021 to Dec 2021%0a---%0a> !! August to December 2020%0a +host:1604505261=38.81.163.7 +author:1598614333=jrmu +diff:1598614333:1597907664:=57,58c57%0a%3c # CGI script to view znc logs%0a%3c %0a---%0a> %0a68d66%0a%3c # Allow searching of old IRC history%0a +host:1598614333=38.81.163.143 +author:1597907664=jrmu +diff:1597907664:1597905960:=68d67%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a75a75,76%0a> # Add new features to psybnc%0a> # Add NickServ modules that 'just works' across all major IRC networks%0a +host:1597907664=38.81.163.143 +author:1597905960=jrmu +diff:1597905960:1597905865:=77,83c77%0a%3c # Provide telephony using SIP%0a%3c # Setup [[openbsd/asterisk]]%0a%3c # Provide free sip accounts%0a%3c # Register DIDs%0a%3c # Provide free TURN/STUN servers%0a%3c # Write web IRC app%0a%3c %0a---%0a> %0a88c82,123%0a%3c # Get listed on undeadly.org%0a\ No newline at end of file%0a---%0a> # Get listed on undeadly.org%0a> %0a> !! SIP%0a> # Setup asterisk%0a> # Provide free sip accounts for everyone%0a> # Register DIDs%0a> # Include SIP clients with IRC clients%0a> # Provide free TURN/STUN servers%0a> %0a> !! Ecommerce%0a> # Use oscommerce%0a> # Add organic food products%0a> # Add specialty handicraft goods%0a> %0a> %0a> * fix cloudmounter for mac%0a> * add rsync, sshfuse support for sftp%0a> %0a> %0a> %0a> # Write web IRC app%0a> %0a> ===== Bridges =====%0a> %0a> * Add support for matrix%0a> * Add bitlbee support for slack, twitter, telegram, discord, signal%0a> * Improve bitlbee documentation%0a> * Add telegram/discord for bnc3%0a> * Research bitlbee-telegram usernames foreign charset problem%0a> %0a> ===== SIP =====%0a> %0a> * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a> * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a> * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a> * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a> * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a> * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a> * Bridge SIP to mumble so we can interop with the large mumble community%0a> * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a> * Provide free TURN/STUN services%0a> * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a\ No newline at end of file%0a +host:1597905960=38.81.163.143 +author:1597905865=jrmu +diff:1597905865:1597905785:=56,57c56%0a%3c # Patch [[openbsd/identd|identd]] to allow spoofing%0a%3c %0a---%0a> %0a123c122,162%0a%3c * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a\ No newline at end of file%0a---%0a> * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a> %0a> %0a> %0a> ===== Question2Answer =====%0a> %0a> * Convert to IRCNow%0a> %0a> ===== Security =====%0a> %0a> * Build security community%0a> * Add livestreaming audio/video played by bot, !play url%0a> * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a> * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a> %0a> ====== Low Priority ====== %0a> %0a> * Fileserv -- DCC%0a> * Pasteserv -- PRIVMSG%0a> * PM flood honeypot%0a> * Chan honeypot%0a> * NSFW scanbot%0a> * Write IRC games %0a> * Write IRC messenger for Android, iOS, and web%0a> %0a> ===== psyBNC =====%0a> %0a> * Add contact lists%0a> * Add file upload%0a> %0a> ===== squirrel mail =====%0a> %0a> 13:39 %3c gry> after clicking send the page stays there for a %0a> few secs, i feel tempted to click send again%0a> 13:39 %3c gry> this might result in messages being sent twice%0a> %0a> %0a> ===== ilines =====%0a> %0a> * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a> * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a +host:1597905865=38.81.163.143 +author:1597905785=jrmu +diff:1597905785:1597905703:=67,73c67%0a%3c # Add new features to achurch:%0a%3c # MemeServ%0a%3c # HoneyServ%0a%3c # PasteServ%0a%3c # TrapServ%0a%3c # FileServ%0a%3c # KeyServ%0a---%0a> %0a82a77,85%0a> !! IRC services%0a> %0a> # MemeServ%0a> # HoneyServ%0a> # PasteServ%0a> # TrapServ%0a> # FileServ%0a> # KeyServ%0a> %0a128a132,136%0a> %0a> ===== Minetest Gaming =====%0a> %0a> * Set up final minetest servers%0a> * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a +host:1597905785=38.81.163.143 +author:1597905703=jrmu +diff:1597905703:1597905571:=42c42%0a%3c # Toggle +r user mode based as determined by open proxy monitors%0a---%0a> # Toggle +P user mode based as determined by open proxy monitors%0a45,46d44%0a%3c # Add defcon mode%0a%3c # Add /ns and /cs aliases%0a102c100,114%0a%3c %0a---%0a> ===== ngircd =====%0a> %0a> * set up irc hidden service%0a> * Add connection/join/nick flood protection%0a> * Add +r restricted user mode%0a> * Add defcon mode%0a> * Add censor lists for unregistered users %0a> * Verify hopm accuracy%0a> * Update terms of service%0a> * Fix /var/log/messages syslog messages for ngircd%0a> * Clean up patches%0a> * Nickserv/Chanserv flood protection%0a> * Migrate to atheme?%0a> * Add /ns and /cs aliases%0a> * Block nick juping %0a +host:1597905703=38.81.163.143 +author:1597905571=jrmu +diff:1597905571:1597905541:=44c44%0a%3c # Add ELIST functionality for IRCCloud since this client cannot use /list%0a---%0a> # Implement ELIST functionality for IRCCloud%0a +host:1597905571=38.81.163.143 +author:1597905541=jrmu +diff:1597905541:1597905393:=44c44%0a%3c # Implement ELIST functionality for IRCCloud%0a---%0a> # Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a +host:1597905541=38.81.163.143 +author:1597905393=jrmu +diff:1597905393:1597905049:=53,55d52%0a%3c # Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a%3c %0a%3c !! Future%0a58a56,59%0a> # Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a> %0a> !! Dec 2021%0a> %0a65a67%0a> !! Dec 2022%0a68a71,73%0a> %0a> %0a> %0a70,71c75,77%0a%3c # Get our IRC network listed%0a%3c # https://search.mibbit.com/, mIRC, androIRC%0a---%0a> %0a> # Get our IRC network added:%0a> # https://search.mibbit.com/%0a73,74c79,99%0a%3c # Get listed on undeadly.org%0a%3c %0a---%0a> - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a> - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a> - Get listed on undeadly.org%0a> - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a> - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a> - https://flaviocopes.com/shells/%0a> %0a> For bouncer providers, get added here:%0a> %0a> - https://www.lowendtalk.com/discussion/29511/free-bnc%0a> - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a> - https://fedoramagazine.org/never-leave-irc-znc/%0a> %0a> !! Advertising%0a> %0a> %0a> !! IRC Spam%0a> # Test out spam repos%0a> # Fork acopm for spam defenses%0a> # Fork achurch, write anti-spam services%0a> %0a77,83c102,108%0a%3c # MemeServ%0a%3c # HoneyServ%0a%3c # PasteServ%0a%3c # TrapServ%0a%3c # FileServ%0a%3c # KeyServ%0a%3c %0a---%0a> - MemeServ%0a> - HoneyServ%0a> - PasteServ%0a> - TrapServ%0a> - FileServ%0a> - KeyServ%0a> %0a96c121,128%0a%3c %0a---%0a> ===== shell accounts =====%0a> %0a> * offer prizes and competitions for dev%0a> * ask for help with wikis%0a> * set up easy eggdrops%0a> * fix cumulus cloud and h5ai%0a> * add rsync support%0a> * ffmpeg?%0a98a131,150%0a> * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a> * https://www.freeshells.org/wiki/index.php?title=Services%0a> * https://sdf.org/?tutorials%0a> * https://www.nyx.net/help.html#unix%0a> * https://www.freeshells.org/wiki/index.php?title=Services%0a> * https://www.grex.org/%0a> * https://www.unixporting.com/remote-accounts.html%0a> * https://sdfeu.org/w/%0a> * https://freeshell.de/~lysy/public/free.htm%0a> %0a> Implement ssh automated account creation:%0a> %0a> https://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a> %0a> [[vps:vps|Hosting plans]]%0a> %0a> %0a> !! cronjobs =====%0a> %0a> write cronjobs to automate wraith, bnc, acme-client%0a +host:1597905393=38.81.163.143 +author:1597905049=jrmu +diff:1597905049:1597904869:=44d43%0a%3c # Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a56,57c55%0a%3c # Setup [[openbsd/opensnmpd|opensnmpd]] for alert monitoring%0a%3c %0a---%0a> %0a70a69,86%0a> %0a> # Discuss privacy policy%0a> # Setup DNSSEC%0a> ===== Medium Priority =====%0a> * Setup **mx2**%0a> * Implement both mx across whole infrastructure%0a> * Setup **cgit** and **cvsweb**%0a> * Setup **snmpd**%0a> * Monitor:%0a> * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a> * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a> * Stopped daemons%0a> * Failed backups%0a> * Failed scripts%0a> * Send email and/or output on #mon%0a> * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a> * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a> * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a +host:1597905049=38.81.163.143 +author:1597904869=jrmu +diff:1597904869:1597904684:=52,55c52,53%0a%3c # Improve security:%0a%3c # Automate check for abusive processes/malware on shell accounts%0a%3c # Use Yahoo's NSFW bot to scan for banned content%0a%3c %0a---%0a> %0a> %0a88c86,104%0a%3c %0a---%0a> ===== Low Priority =====%0a> * Setup **carp**%0a> * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a> * Check processes%0a> * NSFW scanbot%0a> * Write and deploy IRC bot so users can easily request 1 or more services%0a> * !request [$service]%0a> * Invoke **$ircnowctl**%0a> * Write and deploy **ircnowctl** (k(sh) or perl)%0a> * Controller to automate:%0a> * **User management** (add/mod/del/suspend/ban)%0a> * Enable **ssh access** (pubkeys)%0a> * Update **DNS records**%0a> * **Quota management** (enable/disable/++/--)%0a> * Setup **chroot**%0a> * **Check and fix permissions**%0a> * **Service management** (add/del/suspend/ban)%0a> * Pipe to **$servicectl**%0a> * Setup **tor hidden services** for each service%0a +host:1597904869=125.231.23.3 +author:1597904684=jrmu +diff:1597904684:1597904656:=65,266c65%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a%3c %0a%3c %0a%3c # Discuss privacy policy%0a%3c # Setup DNSSEC%0a%3c ===== Medium Priority =====%0a%3c * Setup **mx2**%0a%3c * Implement both mx across whole infrastructure%0a%3c * Setup **cgit** and **cvsweb**%0a%3c * Setup **snmpd**%0a%3c * Monitor:%0a%3c * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a%3c * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a%3c * Stopped daemons%0a%3c * Failed backups%0a%3c * Failed scripts%0a%3c * Send email and/or output on #mon%0a%3c * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a%3c * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a%3c * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%3c %0a%3c ===== Low Priority =====%0a%3c * Setup **carp**%0a%3c * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a%3c * Check processes%0a%3c * NSFW scanbot%0a%3c * Write and deploy IRC bot so users can easily request 1 or more services%0a%3c * !request [$service]%0a%3c * Invoke **$ircnowctl**%0a%3c * Write and deploy **ircnowctl** (k(sh) or perl)%0a%3c * Controller to automate:%0a%3c * **User management** (add/mod/del/suspend/ban)%0a%3c * Enable **ssh access** (pubkeys)%0a%3c * Update **DNS records**%0a%3c * **Quota management** (enable/disable/++/--)%0a%3c * Setup **chroot**%0a%3c * **Check and fix permissions**%0a%3c * **Service management** (add/del/suspend/ban)%0a%3c * Pipe to **$servicectl**%0a%3c * Setup **tor hidden services** for each service%0a%3c %0a%3c !! Marketing%0a%3c %0a%3c # Get our IRC network added:%0a%3c # https://search.mibbit.com/%0a%3c # https://netsplit.de/%0a%3c - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a%3c - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - Get listed on undeadly.org%0a%3c - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a%3c - https://flaviocopes.com/shells/%0a%3c %0a%3c For bouncer providers, get added here:%0a%3c %0a%3c - https://www.lowendtalk.com/discussion/29511/free-bnc%0a%3c - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a%3c - https://fedoramagazine.org/never-leave-irc-znc/%0a%3c %0a%3c !! Advertising%0a%3c %0a%3c %0a%3c !! IRC Spam%0a%3c # Test out spam repos%0a%3c # Fork acopm for spam defenses%0a%3c # Fork achurch, write anti-spam services%0a%3c %0a%3c !! IRC services%0a%3c %0a%3c - MemeServ%0a%3c - HoneyServ%0a%3c - PasteServ%0a%3c - TrapServ%0a%3c - FileServ%0a%3c - KeyServ%0a%3c %0a%3c !! SIP%0a%3c # Setup asterisk%0a%3c # Provide free sip accounts for everyone%0a%3c # Register DIDs%0a%3c # Include SIP clients with IRC clients%0a%3c # Provide free TURN/STUN servers%0a%3c %0a%3c !! Ecommerce%0a%3c # Use oscommerce%0a%3c # Add organic food products%0a%3c # Add specialty handicraft goods%0a%3c %0a%3c ===== shell accounts =====%0a%3c %0a%3c * offer prizes and competitions for dev%0a%3c * ask for help with wikis%0a%3c * set up easy eggdrops%0a%3c * fix cumulus cloud and h5ai%0a%3c * add rsync support%0a%3c * ffmpeg?%0a%3c * fix cloudmounter for mac%0a%3c * add rsync, sshfuse support for sftp%0a%3c * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://sdf.org/?tutorials%0a%3c * https://www.nyx.net/help.html#unix%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://www.grex.org/%0a%3c * https://www.unixporting.com/remote-accounts.html%0a%3c * https://sdfeu.org/w/%0a%3c * https://freeshell.de/~lysy/public/free.htm%0a%3c %0a%3c Implement ssh automated account creation:%0a%3c %0a%3c https://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a%3c %0a%3c [[vps:vps|Hosting plans]]%0a%3c %0a%3c %0a%3c !! cronjobs =====%0a%3c %0a%3c write cronjobs to automate wraith, bnc, acme-client%0a%3c %0a%3c ===== ngircd =====%0a%3c %0a%3c * set up irc hidden service%0a%3c * Add connection/join/nick flood protection%0a%3c * Add +r restricted user mode%0a%3c * Add defcon mode%0a%3c * Add censor lists for unregistered users %0a%3c * Verify hopm accuracy%0a%3c * Update terms of service%0a%3c * Fix /var/log/messages syslog messages for ngircd%0a%3c * Clean up patches%0a%3c * Nickserv/Chanserv flood protection%0a%3c * Migrate to atheme?%0a%3c * Add /ns and /cs aliases%0a%3c * Block nick juping %0a%3c %0a%3c # Write web IRC app%0a%3c %0a%3c ===== Bridges =====%0a%3c %0a%3c * Add support for matrix%0a%3c * Add bitlbee support for slack, twitter, telegram, discord, signal%0a%3c * Improve bitlbee documentation%0a%3c * Add telegram/discord for bnc3%0a%3c * Research bitlbee-telegram usernames foreign charset problem%0a%3c %0a%3c ===== SIP =====%0a%3c %0a%3c * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a%3c * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a%3c * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a%3c * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a%3c * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a%3c * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a%3c * Bridge SIP to mumble so we can interop with the large mumble community%0a%3c * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a%3c * Provide free TURN/STUN services%0a%3c * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%3c %0a%3c %0a%3c %0a%3c ===== Question2Answer =====%0a%3c %0a%3c * Convert to IRCNow%0a%3c %0a%3c ===== Minetest Gaming =====%0a%3c %0a%3c * Set up final minetest servers%0a%3c * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%3c %0a%3c ===== Security =====%0a%3c %0a%3c * Build security community%0a%3c * Add livestreaming audio/video played by bot, !play url%0a%3c * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a%3c * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%3c %0a%3c ====== Low Priority ====== %0a%3c %0a%3c * Fileserv -- DCC%0a%3c * Pasteserv -- PRIVMSG%0a%3c * PM flood honeypot%0a%3c * Chan honeypot%0a%3c * NSFW scanbot%0a%3c * Write IRC games %0a%3c * Write IRC messenger for Android, iOS, and web%0a%3c %0a%3c ===== psyBNC =====%0a%3c %0a%3c * Add contact lists%0a%3c * Add file upload%0a%3c %0a%3c ===== squirrel mail =====%0a%3c %0a%3c 13:39 %3c gry> after clicking send the page stays there for a %0a%3c few secs, i feel tempted to click send again%0a%3c 13:39 %3c gry> this might result in messages being sent twice%0a%3c %0a%3c %0a%3c ===== ilines =====%0a%3c %0a%3c * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a%3c * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a---%0a> # Add NickServ modules that 'just works' across all major IRC networks%0a\ No newline at end of file%0a +host:1597904684=125.231.23.3 +author:1597904656=jrmu +diff:1597904656:1597904561:=32,37c32%0a%3c # Improve security:%0a%3c # Set up server [[openbsd/pf|firewalls]]%0a%3c # Harden shell accounts%0a%3c # Set up DNS blacklists%0a%3c # Implement quotas%0a%3c %0a---%0a> %0a50,52d44%0a%3c # Create disaster recovery plan%0a%3c # Automated backups / restore testing%0a%3c %0a +host:1597904656=125.231.23.3 +author:1597904561=jrmu +diff:1597904561:1597904519:=10d9%0a%3c # Acquire users%0a +host:1597904561=125.231.23.3 +author:1597904519=jrmu +diff:1597904519:1597903478:=10,30c10,31%0a%3c # Provide [[Bouncer|znc accounts]]%0a%3c # Install and configure [[openbsd/bitlbee|bitlbee]]%0a%3c # Provide [[Shell|shell accounts]]%0a%3c # Provide [[Www|web hosting]]%0a%3c # Create a new user and either allow shell access or use an sftp chroot%0a%3c # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a%3c # Offer [[openbsd/php|PHP]] web hosting%0a%3c # Offer [[openbsd/bchs|BCHS]] web hosting%0a%3c # Use [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, use [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Use gotweb for version control%0a%3c # Provide [[openbsd/eggdrop|eggdrop]]%0a%3c # Provide file hosting%0a%3c # Use [[openbsd/openrsync|openrsync]], support rsync%0a%3c # Support [[openbsd/sftp|sftp]] and [[openbsd/scp|scp]]%0a%3c # Provide VPN hosting%0a%3c # Support [[openbsd/iked|IKED]]%0a%3c # Eventually, support [[openbsd/wireguard|wireguard]]%0a%3c # Provide mail hosting%0a%3c # Configure [[openbsd/opensmtpd|opensmtpd]], [[openbsd/dovecot|dovecot]]%0a%3c # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a---%0a> # Acquire users:%0a> # Provide [[Bouncer|znc accounts]]%0a> # Install and configure [[openbsd/bitlbee|bitlbee]]%0a> # Provide [[Shell|shell accounts]]%0a> # Provide [[Www|web hosting]]%0a> # Create a new user and either allow shell access or use an sftp chroot%0a> # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a> # Offer [[openbsd/php|PHP]] web hosting%0a> # Offer [[openbsd/bchs|BCHS]] web hosting%0a> # Use [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a> # Alternatively, use [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a> # Use gotweb for version control%0a> # Provide [[openbsd/eggdrop|eggdrop]]%0a> # Provide file hosting%0a> # Use [[openbsd/openrsync|openrsync]], support rsync%0a> # Support [[openbsd/sftp|sftp]] and [[openbsd/scp|scp]]%0a> # Provide VPN hosting%0a> # Support [[openbsd/iked|IKED]]%0a> # Eventually, support [[openbsd/wireguard|wireguard]]%0a> # Provide mail hosting%0a> # Configure [[openbsd/opensmtpd|opensmtpd]], [[openbsd/dovecot|dovecot]]%0a> # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a +host:1597904519=125.231.23.3 +author:1597903478=jrmu +diff:1597903478:1597903378:=16,18c16,18%0a%3c # Offer [[openbsd/pmwiki|pmwiki]] for each user%0a%3c # Offer [[openbsd/php|PHP]] web hosting%0a%3c # Offer [[openbsd/bchs|BCHS]] web hosting%0a---%0a> # Offer PMWiki for each user%0a> # Offer PHP web hosting%0a> # Offer kcgi web hosting%0a +host:1597903478=125.231.23.3 +author:1597903378=jrmu +diff:1597903378:1597903355:=57c57,70%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a\ No newline at end of file%0a---%0a> # Add NickServ modules that 'just works' across all major IRC networks%0a> * provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a> * provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos without using an http client)%0a> * sync messages properly on phones (messages are often lost or repeated)%0a> * provide message received confirmations (echo-message only provides message sent confirmations)%0a> * provide buddy lists (this is partially implemented in some networks with NOTIFY and/or ISON. --[[gry]])%0a> * provide HTTP tunneling to bypass firewalls%0a> * handle frequent disconnects from mobile clients%0a> * add support for audio/video calls%0a> * UI in many clients for the said new uniform way to register on the client-side%0a> * friendly and intuitive and sensible web chat%0a> * bouncer that does not confuse users, and works from a single connection for any number of IRC networks%0a> %0a> # (IRCNow Orange experiment) write an IRC bot to keep track of shifts and/or new users to encourage competition among team members for longer and more efficient irc monitoring shifts%0a\ No newline at end of file%0a +host:1597903378=125.231.23.3 +author:1597903355=jrmu +diff:1597903355:1597902496:=8,9c8,9%0a%3c !! August to December 2020%0a%3c %0a---%0a> !! August to November 2020%0a> %0a33,34c33,34%0a%3c !! Jan 2021 to December 2021%0a%3c %0a---%0a> !! Stage 2 (Dec 2020): improve ircd; improve bnc and eggdrop registrations%0a> %0a38,41c38,40%0a%3c # Fix buffer exhausted errors%0a%3c # Improve [[openbsd/botnow|botnow]], a script for registering IRCNow services%0a%3c # Add support for instant registration of shell accounts%0a%3c # Add support for automatic eggdrop compilation and configuration%0a---%0a> # Improve botnow, a script for registering IRCNow services%0a> # Provide first-class support for eggdrop%0a> # Automate eggdrop compilation and configuration for users%0a +host:1597903355=125.231.23.3 +author:1597902496=jrmu +diff:1597902496:1597902477:=12c12%0a%3c # Install and configure [[openbsd/bitlbee|bitlbee]]%0a---%0a> # Install and configure Bitlbee%0a +host:1597902496=38.81.163.143 +author:1597902477=jrmu +diff:1597902477:1597902461:=10c10%0a%3c # Acquire users:%0a---%0a> # Means to acquire users:%0a +host:1597902477=38.81.163.143 +author:1597902461=jrmu +diff:1597902461:1597902267:=24,25c24%0a%3c # Use [[openbsd/openrsync|openrsync]], support rsync%0a%3c # Support [[openbsd/sftp|sftp]] and [[openbsd/scp|scp]]%0a---%0a> # Use [[openbsd/openrsync|openrsync]], support rsync, [[openbsd/sftp|sftp]], and [[openbsd/scp|scp]]%0a27,28d25%0a%3c # Support [[openbsd/iked|IKED]]%0a%3c # Eventually, support [[openbsd/wireguard|wireguard]]%0a +host:1597902461=38.81.163.143 +author:1597902267=jrmu +diff:1597902267:1597902203:=22c22%0a%3c # Provide [[openbsd/eggdrop|eggdrop]]%0a---%0a> # Provide eggdrops%0a24d23%0a%3c # Use [[openbsd/openrsync|openrsync]], support rsync, [[openbsd/sftp|sftp]], and [[openbsd/scp|scp]]%0a28c27,28%0a%3c # Find a spam solution, possibly using [[openbsd/spamd|spamd]]%0a---%0a> # Find a spam solution, possibly using spamd%0a> %0a +host:1597902267=38.81.163.143 +author:1597902203=jrmu +diff:1597902203:1597902178:=8,9c8,9%0a%3c !! August to November 2020%0a%3c %0a---%0a> !! August to November 2020 Stage 1 (November 2020): get at least 20 users for each team; working email verification for each service%0a> %0a31a32%0a> # Teammates%0a +host:1597902203=38.81.163.143 +author:1597902178=jrmu +diff:1597902178:1597901398:=41d40%0a%3c # Update website theme%0a +host:1597902178=38.81.163.143 +author:1597901398=jrmu +diff:1597901398:1597901051:=1,2c1,2%0a%3c !! Ongoing%0a%3c %0a---%0a> !! Ongoing (forever without an end)%0a> %0a8,9c8,9%0a%3c !! August to November 2020 Stage 1 (November 2020): get at least 20 users for each team; working email verification for each service%0a%3c %0a---%0a> !! Stage 1 (November 2020): get at least 20 users for each team; working email verification for each service%0a> %0a26,27d25%0a%3c # Configure [[openbsd/opensmtpd|opensmtpd]], [[openbsd/dovecot|dovecot]]%0a%3c # Find a spam solution, possibly using spamd%0a +host:1597901398=38.81.163.143 +author:1597901051=jrmu +diff:1597901051:1597900888:= +host:1597901051=38.81.163.143 +author:1597900888=jrmu +diff:1597900888:1597900755:=37,39c37,38%0a%3c # Add interactive UNIX tutorials for shell account users%0a%3c # Add interactive VPS tutorials for teammates%0a%3c %0a---%0a> Stage NNN: Training course for C and OpenBSD. (Currently there are lots of documentation in this wiki, and unix101 tutorials.)%0a> %0a42d40%0a%3c # Write interactive C programming tutorials%0a49,51c47,48%0a%3c !! Dec 2022%0a%3c # Add new features to psybnc%0a%3c # Add NickServ modules that 'just works' across all major IRC networks%0a---%0a> * provide an easy, uniform way to register and login to networks with different services on the server-side%0a> * protect users from spam and online stalking/harassment (without also blocking innocent users)%0a +host:1597900888=38.81.163.143 +author:1597900755=jrmu +diff:1597900755:1597900469:=26,27c26,27%0a%3c %0a%3c %0a---%0a> # (IRCNow Orange experiment) write an IRC bot to keep track of shifts and/or new users to encourage competition among team members for longer and more efficient irc monitoring shifts%0a> %0a59,61c59%0a%3c * bouncer that does not confuse users, and works from a single connection for any number of IRC networks%0a%3c %0a%3c # (IRCNow Orange experiment) write an IRC bot to keep track of shifts and/or new users to encourage competition among team members for longer and more efficient irc monitoring shifts%0a\ No newline at end of file%0a---%0a> * bouncer that does not confuse users, and works from a single connection for any number of IRC networks%0a\ No newline at end of file%0a +host:1597900755=38.81.163.143 +author:1597900469=jrmu +diff:1597900469:1597900340:= +host:1597900469=38.81.163.143 +author:1597900340=jrmu +diff:1597900340:1597898255:=11c11%0a%3c # Provide [[Bouncer|znc accounts]]%0a---%0a> # Provide [[Bouncer|znc accounts]] (orange provides znc; lemon to provide psybnc?)%0a13,25c13,18%0a%3c # Provide [[Shell|shell accounts]]%0a%3c # Provide [[Www|web hosting]]%0a%3c # Create a new user and either allow shell access or use an sftp chroot%0a%3c # Offer PMWiki for each user%0a%3c # Offer PHP web hosting%0a%3c # Offer kcgi web hosting%0a%3c # Use [[https://undeadly.org|undeadly's]] [[https://undeadly.org/src/|source code]] for blogs%0a%3c # Alternatively, use [[https://centroid.eu/blog|centroid's]] [[https://gotweb.centroid.eu/cgi-bin/gotweb/gotweb?path=centroidblog.got&action=tree|source code]] for blogs%0a%3c # Use gotweb for version control%0a%3c # Provide eggdrops%0a%3c # Provide file hosting%0a%3c # Provide VPN hosting%0a%3c # Provide mail hosting%0a---%0a> # Provide [[Shell|shell accounts]] (grape already provides)%0a> # Provide [[Www|web hosting]] (grape already provides)%0a> # Provide eggdrops (grape will do this)%0a> # Provide file hosting (orange will try to do this)%0a> # Provide VPN hosting (which team?)%0a> # Provide mail hosting (grape already provides)%0a +host:1597900340=38.81.163.143 +author:1597898255=gry +csum:1597898255=updated +diff:1597898255:1597898116:=11c11%0a%3c # Provide [[Bouncer|znc accounts]] (orange provides znc; lemon to provide psybnc?)%0a---%0a> # Provide [[Bouncer|znc accounts]] (orange provides znc; grape to provide psybnc?)%0a15,18c15,18%0a%3c # Provide eggdrops (grape will do this)%0a%3c # Provide file hosting (orange will try to do this)%0a%3c # Provide VPN hosting (which team?)%0a%3c # Provide mail hosting (grape already provides)%0a---%0a> # Provide eggdrops (grape)%0a> # Provide file hosting%0a> # Provide VPN hosting%0a> # Provide mail hosting%0a +host:1597898255=203.129.25.247 +author:1597898116=jrmu +diff:1597898116:1597898087:=37,38c37,38%0a%3c # Add playback feature to psybnc%0a%3c # Fix IPv6 connection issues with psybnc%0a---%0a> %0a> This is a mixed list. We will need to re-order it chronologically and divide into several stages.%0a +host:1597898116=38.81.163.143 +author:1597898087=jrmu +diff:1597898087:1597897997:=3c3%0a%3c # [[Ircnow/Team|Recruit new teammates]]%0a---%0a> # [[Ircnow/Team|Recruit new teammates ]]%0a17,18d16%0a%3c # Provide VPN hosting%0a%3c # Provide mail hosting%0a36a35,40%0a> %0a> Stage 0: get as many users as possible, while maximizing their involvement in irc chat and training. Means to do this are not clear and are open to discussion and experiments. (Currently [[ircnow.servers]] offers some services which are in popular demand, with heavy focus on IRC-related and BSD-related services.)%0a> %0a> Stage 1: Bouncer with one connection gives user access to many networks, playback is available, interface for settings is irc-based, and is not confusing. (ZNC has playback, but not other features. psybnc has one connection but no playback.)%0a> %0a> %0a +host:1597898087=38.81.163.143 +author:1597897997=jrmu +diff:1597897997:1597897981:=28,29c28%0a%3c Stage NNN: Training course for C and OpenBSD. (Currently there are lots of documentation in this wiki, and unix101 tutorials.)%0a%3c %0a---%0a> %0a40c39%0a%3c %0a---%0a> Stage NNN: Training course for C and OpenBSD. (Currently there are lots of documentation in this wiki, and unix101 tutorials.)%0a +host:1597897997=38.81.163.143 +author:1597897981=jrmu +diff:1597897981:1597897693:=33a34,46%0a> %0a> !! Obsoleted notes%0a> %0a> Majority to be implemented in C with help from Perl. Not C++.%0a> %0a> Eggdrop will be a first class citizen with full support because it uses C and has an enormous library of premade scripts%0a> Our current relay pylink will be phased out with a custom bot built either by forking eggdrop or forked from ii/sic%0a> %0a> I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's and user demand is much less.%0a> %0a> I plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots. %0a> %0a> My goal is to streamline all the software to just use one language -- C -- and if scripts are necessary, just a tiny touch of korn shell and perl. This is so that we can have a true citizen militia. The only way to accomplish this is by training the users in the language so they can write the code and not just use it, and we only have enough time at this moment for one language -- C. But since almost everything on openbsd is C, learning that one language is enough.%0a +host:1597897981=38.81.163.143 +author:1597897693=gry +csum:1597897693=headings added +diff:1597897693:1597897396:=1,4c1,2%0a%3c !! Ongoing (forever without an end)%0a%3c %0a%3c # [[Ircnow/Team|Recruit new teammates ]]%0a%3c # Train teammates in the [[Openbsd|OpenBSD software stack]]%0a---%0a> !! Sysadmins%0a> # Learn the [[Openbsd|OpenBSD software stack]]%0a5a4,10%0a> # Acquire users%0a> # Provide [[Bouncer|znc accounts]]%0a> # Install and configure Bitlbee%0a> # Provide [[Shell|shell accounts]]%0a> # Provide [[Www|web hosting]]%0a> # Provide eggdrops%0a> # Provide file hosting%0a8,20c13,21%0a%3c !! Stage 1 (November 2020): get at least 20 users for each team; working email verification for each service%0a%3c %0a%3c # Means to acquire users:%0a%3c # Provide [[Bouncer|znc accounts]] (orange provides znc; grape to provide psybnc?)%0a%3c # Install and configure Bitlbee%0a%3c # Provide [[Shell|shell accounts]] (grape already provides)%0a%3c # Provide [[Www|web hosting]] (grape already provides)%0a%3c # Provide eggdrops (grape)%0a%3c # Provide file hosting%0a%3c # (IRCNow Orange experiment) write an IRC bot to keep track of shifts and/or new users to encourage competition among team members for longer and more efficient irc monitoring shifts%0a%3c %0a%3c !! Stage 2 (Dec 2020): improve ircd; improve bnc and eggdrop registrations%0a%3c %0a---%0a> ----%0a> %0a> !! Ongoing%0a> %0a> # [[Ircnow/Team|Recruit new teammates ]]%0a> # Train teammates in the [[Openbsd|OpenBSD software stack]]%0a> %0a> !! Dec 2020%0a> %0a24a26%0a> #%0a28a31,33%0a> !! June 2021%0a> %0a> %0a34,35d38%0a%3c %0a%3c !! Obsoleted notes%0a +host:1597897693=203.129.25.247 +author:1597897396=jrmu +diff:1597897396:1597897304:=17d16%0a%3c # [[Ircnow/Team|Recruit new teammates ]]%0a +host:1597897396=38.81.163.143 +author:1597897304=jrmu +diff:1597897304:1597897234:=6d5%0a%3c # Install and configure Bitlbee%0a +host:1597897304=38.81.163.143 +author:1597897234=jrmu +diff:1597897234:1597897164:=6,7c6,7%0a%3c # Provide [[Shell|shell accounts]]%0a%3c # Provide [[Www|web hosting]]%0a---%0a> # Provide shell accounts%0a> # Provide web hosting%0a +host:1597897234=38.81.163.143 +author:1597897164=jrmu +diff:1597897164:1597897035:=1c1%0a%3c !! Sysadmins%0a---%0a> !! Teammates%0a3d2%0a%3c # Update your team's [[Ircnow/Servers|server page]] to show what services you offer%0a5c4%0a%3c # Provide [[Bouncer|znc accounts]]%0a---%0a> # Provide znc accounts%0a10d8%0a%3c # Update [[Openbsd|wiki pages]] to improve it for other sysadmins%0a +host:1597897164=38.81.163.143 +author:1597897035=jrmu +diff:1597897035:1597896975:=9,10d8%0a%3c %0a%3c ----%0a +host:1597897035=38.81.163.143 +author:1597896975=jrmu +diff:1597896975:1597896953:=2d1%0a%3c # Learn the [[Openbsd|OpenBSD software stack]]%0a +host:1597896975=38.81.163.143 +author:1597896953=jrmu +diff:1597896953:1597896914:=1,7c1%0a%3c !! Teammates%0a%3c # Acquire users%0a%3c # Provide znc accounts%0a%3c # Provide shell accounts%0a%3c # Provide web hosting%0a%3c # Provide eggdrops%0a%3c # Provide file hosting%0a---%0a> %0a +host:1597896953=38.81.163.143 +author:1597896914=jrmu +diff:1597896914:1597896847:=1,2d0%0a%3c %0a%3c %0a +host:1597896914=38.81.163.143 +author:1597896847=jrmu +diff:1597896847:1597896818:= +host:1597896847=38.81.163.143 +author:1597896818=jrmu +diff:1597896818:1597896685:=11,15c11%0a%3c #%0a%3c # Improve botnow, a script for registering IRCNow services%0a%3c # Provide first-class support for eggdrop%0a%3c # Automate eggdrop compilation and configuration for users%0a%3c %0a---%0a> %0a18d13%0a%3c %0a21,24d15%0a%3c # Switch services from anope to fork of achurch%0a%3c # Switch open proxy monitor from hopm to fork of acopm%0a%3c # Encourage use of psybnc instead of znc%0a%3c %0a26a18,20%0a> temporary use of hopm and anope and znc, to be phased out%0a> %0a> , acopm, achurch, psybnc%0a +host:1597896818=38.81.163.143 +author:1597896685=jrmu +diff:1597896685:1597896655:=10c10%0a%3c # Toggle +P user mode based as determined by open proxy monitors%0a---%0a> # Add support to toggle +P user mode based on spamminess probabilities as determined by open proxy monitors%0a +host:1597896685=38.81.163.143 +author:1597896655=jrmu +diff:1597896655:1597896626:=10c10%0a%3c # Add support to toggle +P user mode based on spamminess probabilities as determined by open proxy monitors%0a---%0a> #%0a +host:1597896655=38.81.163.143 +author:1597896626=jrmu +diff:1597896626:1597896390:=1,15c1,2%0a%3c !! Ongoing%0a%3c %0a%3c # Train teammates in the [[Openbsd|OpenBSD software stack]]%0a%3c %0a%3c !! Dec 2020%0a%3c %0a%3c # Teammates%0a%3c # Patch ngircd:%0a%3c # Add support for ilines%0a%3c #%0a%3c %0a%3c !! June 2021%0a%3c %0a%3c !! Dec 2021%0a%3c %0a---%0a> Train teammates in the [[Openbsd|OpenBSD software stack]]%0a> %0a20c7%0a%3c , acopm, achurch, psybnc%0a---%0a> ngircd, acopm, achurch, psybnc%0a +host:1597896626=38.81.163.143 +author:1597896390=jrmu +diff:1597896390:1597893759:=1,2d0%0a%3c Train teammates in the [[Openbsd|OpenBSD software stack]]%0a%3c %0a +host:1597896390=38.81.163.143 +author:1597893759=jrmu +diff:1597893759:1597884456:= +host:1597893759=38.81.163.143 +author:1597884456=jrmu +diff:1597884456:1597883149:= +host:1597884456=38.81.163.143 +author:1597883149=jrmu +diff:1597883149:1597883078:=11,13c11%0a%3c I plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots. %0a%3c %0a%3c My goal is to streamline all the software to just use one language -- C -- and if scripts are necessary, just a tiny touch of korn shell and perl. This is so that we can have a true citizen militia. The only way to accomplish this is by training the users in the language so they can write the code and not just use it, and we only have enough time at this moment for one language -- C. But since almost everything on openbsd is C, learning that one language is enough.%0a---%0a> I plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots.%0a +host:1597883149=38.81.163.143 +author:1597883078=jrmu +diff:1597883078:1597883024:=10,11d9%0a%3c %0a%3c I plan to allow users to run python bots such as limnoria, sopel, as well as install nodejs, rust, ruby, and go, but I do not plan to offer any support. I also do not plan to offer any support for perl bots, nor do I want to depend upon software like weechat for bots.%0a +host:1597883078=38.81.163.143 +author:1597883024=jrmu +diff:1597883024:1597883013:=9c9%0a%3c I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's and user demand is much less.%0a---%0a> I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's.%0a +host:1597883024=38.81.163.143 +author:1597883013=jrmu +diff:1597883013:1597882989:=9c9%0a%3c I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time. The IRC ecosystem for perl is also much smaller than eggdrop's.%0a---%0a> I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time.%0a +host:1597883013=38.81.163.143 +author:1597882989=jrmu +diff:1597882989:1597882981:=9c9%0a%3c I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices to use properly and would eat up a lot of time.%0a---%0a> I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices and would eat up a lot of time.%0a +host:1597882989=38.81.163.143 +author:1597882981=jrmu +diff:1597882981:1597882924:=8,9d7%0a%3c %0a%3c I have no plans to support CPAN because users find the installation and configuration process confusing, and because many cpan modules are now very old. A lot of CPAN also requires teaching OOP which is not trivial for novices and would eat up a lot of time.%0a +host:1597882981=38.81.163.143 +author:1597882924=jrmu +diff:1597882924:1597882867:=6,7c6%0a%3c Eggdrop will be a first class citizen with full support because it uses C and has an enormous library of premade scripts%0a%3c Our current relay pylink will be phased out with a custom bot built either by forking eggdrop or forked from ii/sic%0a---%0a> Eggdrop%0a +host:1597882924=38.81.163.143 +author:1597882867=jrmu +diff:1597882867:1597882583:=2,6d1%0a%3c %0a%3c temporary use of hopm and anope and znc, to be phased out%0a%3c %0a%3c ngircd, acopm, achurch, psybnc%0a%3c Eggdrop%0a +host:1597882867=38.81.163.143 +author:1597882583=gry +csum:1597882583=link fix +diff:1597882583:1597882556:minor=3c3%0a%3c Stage 0: get as many users as possible, while maximizing their involvement in irc chat and training. Means to do this are not clear and are open to discussion and experiments. (Currently [[ircnow.servers]] offers some services which are in popular demand, with heavy focus on IRC-related and BSD-related services.)%0a---%0a> Stage 0: get as many users as possible, while maximizing their involvement in irc chat and training. Means to do this are not clear and are open to discussion and experiments. (Currently [[Servers.servers]] offers some services which are in popular demand, with heavy focus on IRC-related and BSD-related services.)%0a +host:1597882583=203.129.25.247 +author:1597882556=gry +csum:1597882556=+ +diff:1597882556:1597882484:=2,3d1%0a%3c %0a%3c Stage 0: get as many users as possible, while maximizing their involvement in irc chat and training. Means to do this are not clear and are open to discussion and experiments. (Currently [[Servers.servers]] offers some services which are in popular demand, with heavy focus on IRC-related and BSD-related services.)%0a +host:1597882556=203.129.25.247 +author:1597882484=gry +csum:1597882484=+ +diff:1597882484:1597882407:=3,5c3,11%0a%3c Stage 1: Bouncer with one connection gives user access to many networks, playback is available, interface for settings is irc-based, and is not confusing. (ZNC has playback, but not other features. psybnc has one connection but no playback.)%0a%3c %0a%3c Stage NNN: Training course for C and OpenBSD. (Currently there are lots of documentation in this wiki, and unix101 tutorials.)%0a---%0a> Stage 1:%0a> %0a> * bouncer with %0a> ** one connection gives user access to many networks%0a> ** playback is available%0a> ** interface for settings is irc-based, and is not confusing%0a> %0a> ZNC has playback, but not other features. psybnc has one connection but no playback.%0a> %0a +host:1597882484=203.129.25.247 +author:1597882407=gry +csum:1597882407=+ +diff:1597882407:1597538360:=1,12d0%0a%3c Majority to be implemented in C with help from Perl. Not C++.%0a%3c %0a%3c Stage 1:%0a%3c %0a%3c * bouncer with %0a%3c ** one connection gives user access to many networks%0a%3c ** playback is available%0a%3c ** interface for settings is irc-based, and is not confusing%0a%3c %0a%3c ZNC has playback, but not other features. psybnc has one connection but no playback.%0a%3c %0a%3c %0a +host:1597882407=203.129.25.247 +author:1597538360=gry +csum:1597538360=created +diff:1597538360:1597538360:=1,15d0%0a%3c This is a mixed list. We will need to re-order it chronologically and divide into several stages.%0a%3c %0a%3c * provide an easy, uniform way to register and login to networks with different services on the server-side%0a%3c * protect users from spam and online stalking/harassment (without also blocking innocent users)%0a%3c * provide free bouncers that can connect to unlimited networks which are online 24/7 and resistant to DDoS attacks%0a%3c * provide an easy way to upload a file in-band (you can't share code snippets, photos, or videos without using an http client)%0a%3c * sync messages properly on phones (messages are often lost or repeated)%0a%3c * provide message received confirmations (echo-message only provides message sent confirmations)%0a%3c * provide buddy lists (this is partially implemented in some networks with NOTIFY and/or ISON. --[[gry]])%0a%3c * provide HTTP tunneling to bypass firewalls%0a%3c * handle frequent disconnects from mobile clients%0a%3c * add support for audio/video calls%0a%3c * UI in many clients for the said new uniform way to register on the client-side%0a%3c * friendly and intuitive and sensible web chat%0a%3c * bouncer that does not confuse users, and works from a single connection for any number of IRC networks%0a\ No newline at end of file%0a +host:1597538360=203.129.25.247 blob - /dev/null blob + 59732ac538820f5489c49ac595c1ad5b5465eed7 (mode 644) --- /dev/null +++ wiki.d/Ircnow.SSHFingerprints @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628585817 +host=38.87.162.8 +name=Ircnow.SSHFingerprints +rev=7 +targets=Ssh.Fingerprints +text=(:title SSH fingerprints:)%0a%0aEvery ssh server [[Ssh/Fingerprints|unique fingerprints]] you need to verify%0abefore you connect.%0a%0a'''WARNING''': Do '''not''' connect if the fingerprints do not match!%0a%0aHere are the fingerprints from IRCNow's servers:%0a%0aplanetofnix.com%0a%0a[@%0a1024 MD5:cd:d7:78:d9:45:6e:55:f8:b9:f4:d3:05:1a:ae:d0:9b root@planetofnix.com (DSA)%0a256 MD5:bb:54:d1:94:d6:98:aa:d2:a2:28:c5:00:e1:db:8f:d4 root@planetofnix.com (ECDSA)%0a256 MD5:42:5e:a6:55:76:12:4d:74:82:68:ae:61:94:c6:f4:05 root@planetofnix.com (ED25519)%0a3072 MD5:64:75:3b:ff:0b:9e:95:a1:8f:df:bc:2f:ea:92:c0:7f root@planetofnix.com (RSA)%0a1024 SHA256:gfvlEH6IA9VSM+UATQUna8fodJRWtvmmxHzUZctFE24 root@planetofnix.com (DSA)%0a256 SHA256:5c56W2nEmOqpUO2yLpf/joSyyDyqRdI73OrKlZZhSq4 root@planetofnix.com (ECDSA)%0a256 SHA256:j2Oamwh2cIJoYTmzMM8LRZk8/VHHKuqlvGlXMthEJw4 root@planetofnix.com (ED25519)%0a3072 SHA256:vGPgnA4X0ItdSJWPOAEt3aTMLok3p5WIuW2ArEN1/NI root@planetofnix.com (RSA)%0a@]%0a%0anastycode.com%0a%0a[@%0a1024 MD5:e1:fe:a5:69:8a:37:d9:5c:22:e8:f0:35:58:ab:23:e5 root@nastycode.com (DSA)%0a256 MD5:4a:18:c3:8c:aa:bc:b2:4c:3e:c8:c1:ee:0d:17:19:0c root@nastycode.com (ECDSA)%0a256 MD5:ff:cc:76:e5:c4:f3:a1:10:1e:6f:a5:e3:2e:20:7c:43 root@nastycode.com (ED25519)%0a3072 MD5:39:a9:03:c3:d8:a3:17:f9:71:35:eb:52:63:11:e1:60 root@nastycode.com (RSA)%0a1024 SHA256:lIeWH1OkkM1yW3g4R096dPIZLN8q7GasKG5iqPayHv0 root@nastycode.com (DSA)%0a256 SHA256:QPsl7sSqVsoarXnNgcy5Q4sFGgfNABYnzxzxQ6/P3SA root@nastycode.com (ECDSA)%0a256 SHA256:ouASFDX7zS1z0a3gf+P7XIOQivC9YzCJjtbBXHv0Jik root@nastycode.com (ED25519)%0a3072 SHA256:eOijonZgHehEHebUZ2Rh5/3N5gv2a4K0W+l/IQwc+10 root@nastycode.com (RSA)%0a@]%0a%0aircfun.net%0a%0a[@%0a1024 MD5:dd:b3:96:fc:31:76:8e:97:3a:bf:4b:1d:56:34:82:e4 root@ircfun.net (DSA)%0a256 MD5:bb:04:6d:de:36:03:5d:87:ec:de:1c:e9:c2:c1:d3:cf root@ircfun.net (ECDSA)%0a256 MD5:3e:34:5f:2b:e2:e0:9e:d1:2c:2f:f6:77:09:35:43:03 root@ircfun.net (ED25519)%0a3072 MD5:93:6a:f2:34:bf:41:1e:3c:32:35:87:d8:17:8b:b6:23 root@ircfun.net (RSA)%0a1024 SHA256:z+jzX9B2se4ywg4gGz7RA3xxFJoktbBpUpA42d5UjFE root@ircfun.net (DSA)%0a256 SHA256:lHGu5f5RicF0ZkPxJFn0d35q/ZYfGGlplsWJxqRCiRo root@ircfun.net (ECDSA)%0a256 SHA256:XSyPllxOSrBZ5OuD4+cQ3bwExnZb0JVp2D81Ap5G6W4 root@ircfun.net (ED25519)%0a3072 SHA256:XA3Bli6DG8gfjc/LTfyWJtiPwIdt7rcYEhdhOA27bbI root@ircfun.net (RSA)%0a@]%0a%0ashelltalk.net%0a%0a[@%0a1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 (DSA)%0a256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 (ECDSA)%0a256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 (ED25519)%0a3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d (RSA)%0a1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w (DSA)%0a256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE (ECDSA)%0a256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU (ED25519)%0a3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk (RSA)%0a@]%0a%0aircology.com%0a%0a[@%0a1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db (DSA)%0a256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 (ECDSA)%0a256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 (ED25519)%0a3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 (RSA)%0a1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA (DSA)%0a256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY (ECDSA)%0a256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro (ED25519)%0a3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso (RSA)%0a@]%0a%0absdforall.org%0a%0a[@%0a1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 (DSA)%0a256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c (ECDSA)%0a256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 (ED25519)%0a3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 (RSA)%0a1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo (DSA)%0a256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA (ECDSA)%0a256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 (ED25519)%0a3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac (RSA)%0a@]%0a%0ahost.ircnow.org%0a%0a[@%0a1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 (DSA)%0a256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b (ECDSA)%0a256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 (ED25519)%0a3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 (RSA)%0a1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU (DSA)%0a256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc (ECDSA)%0a256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI (ED25519)%0a3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ (RSA)%0a@]%0a%0afreeirc.org%0a%0a[@%0a1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f (DSA)%0a256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 (ECDSA)%0a256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 (ED25519)%0a3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 (RSA)%0a1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 (DSA)%0a256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU (ECDSA)%0a256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E (ED25519)%0a3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM (RSA)%0a@]%0a%0ahost.bsdforall.org%0a%0a[@%0a1024 MD5:b1:be:f6:ab:c0:11:dd:b9:78:13:d9:8d:59:05:10:d3 (DSA)%0a256 MD5:3f:c2:14:6d:d8:a8:c1:b1:d1:36:8e:b8:c0:e7:6c:a3 (ECDSA)%0a256 MD5:ed:ed:ac:5b:24:26:d2:5c:f9:20:fb:06:28:27:ef:52 (ED25519)%0a3072 MD5:67:4e:3b:4d:76:53:d1:81:18:ba:68:d3:0b:fb:da:fc (RSA)%0a1024 SHA256:0ntHLt6mpHSrONe5e3fLpC11V7K8hMALlTKbQvYqlmg (DSA)%0a256 SHA256:tEeTiuNbcvvVBJLKFnygBIXhGEUgdE9J4G776NPF4F4 (ECDSA)%0a256 SHA256:otvY6dM7ULR5x9jzI40328wOwpa3aRpLKxnt65ipY1Y (ED25519)%0a3072 SHA256:Hx5F8yn+wdLnjmegXYC48v17W2jwGSBE72n/cBoSKt4 (RSA)%0a@]%0a +time=1638756226 +title=SSH fingerprints +author:1638756226=jrmu +diff:1638756226:1638756096:=13,20c13,20%0a%3c 1024 MD5:cd:d7:78:d9:45:6e:55:f8:b9:f4:d3:05:1a:ae:d0:9b root@planetofnix.com (DSA)%0a%3c 256 MD5:bb:54:d1:94:d6:98:aa:d2:a2:28:c5:00:e1:db:8f:d4 root@planetofnix.com (ECDSA)%0a%3c 256 MD5:42:5e:a6:55:76:12:4d:74:82:68:ae:61:94:c6:f4:05 root@planetofnix.com (ED25519)%0a%3c 3072 MD5:64:75:3b:ff:0b:9e:95:a1:8f:df:bc:2f:ea:92:c0:7f root@planetofnix.com (RSA)%0a%3c 1024 SHA256:gfvlEH6IA9VSM+UATQUna8fodJRWtvmmxHzUZctFE24 root@planetofnix.com (DSA)%0a%3c 256 SHA256:5c56W2nEmOqpUO2yLpf/joSyyDyqRdI73OrKlZZhSq4 root@planetofnix.com (ECDSA)%0a%3c 256 SHA256:j2Oamwh2cIJoYTmzMM8LRZk8/VHHKuqlvGlXMthEJw4 root@planetofnix.com (ED25519)%0a%3c 3072 SHA256:vGPgnA4X0ItdSJWPOAEt3aTMLok3p5WIuW2ArEN1/NI root@planetofnix.com (RSA)%0a---%0a> 1024 MD5:cd:d7:78:d9:45:6e:55:f8:b9:f4:d3:05:1a:ae:d0:9b root@any4.lecturify.com (DSA)%0a> 256 MD5:bb:54:d1:94:d6:98:aa:d2:a2:28:c5:00:e1:db:8f:d4 root@any4.lecturify.com (ECDSA)%0a> 256 MD5:42:5e:a6:55:76:12:4d:74:82:68:ae:61:94:c6:f4:05 root@any4.lecturify.com (ED25519)%0a> 3072 MD5:64:75:3b:ff:0b:9e:95:a1:8f:df:bc:2f:ea:92:c0:7f root@any4.lecturify.com (RSA)%0a> 1024 SHA256:gfvlEH6IA9VSM+UATQUna8fodJRWtvmmxHzUZctFE24 root@any4.lecturify.com (DSA)%0a> 256 SHA256:5c56W2nEmOqpUO2yLpf/joSyyDyqRdI73OrKlZZhSq4 root@any4.lecturify.com (ECDSA)%0a> 256 SHA256:j2Oamwh2cIJoYTmzMM8LRZk8/VHHKuqlvGlXMthEJw4 root@any4.lecturify.com (ED25519)%0a> 3072 SHA256:vGPgnA4X0ItdSJWPOAEt3aTMLok3p5WIuW2ArEN1/NI root@any4.lecturify.com (RSA)%0a26,46c26,33%0a%3c 1024 MD5:e1:fe:a5:69:8a:37:d9:5c:22:e8:f0:35:58:ab:23:e5 root@nastycode.com (DSA)%0a%3c 256 MD5:4a:18:c3:8c:aa:bc:b2:4c:3e:c8:c1:ee:0d:17:19:0c root@nastycode.com (ECDSA)%0a%3c 256 MD5:ff:cc:76:e5:c4:f3:a1:10:1e:6f:a5:e3:2e:20:7c:43 root@nastycode.com (ED25519)%0a%3c 3072 MD5:39:a9:03:c3:d8:a3:17:f9:71:35:eb:52:63:11:e1:60 root@nastycode.com (RSA)%0a%3c 1024 SHA256:lIeWH1OkkM1yW3g4R096dPIZLN8q7GasKG5iqPayHv0 root@nastycode.com (DSA)%0a%3c 256 SHA256:QPsl7sSqVsoarXnNgcy5Q4sFGgfNABYnzxzxQ6/P3SA root@nastycode.com (ECDSA)%0a%3c 256 SHA256:ouASFDX7zS1z0a3gf+P7XIOQivC9YzCJjtbBXHv0Jik root@nastycode.com (ED25519)%0a%3c 3072 SHA256:eOijonZgHehEHebUZ2Rh5/3N5gv2a4K0W+l/IQwc+10 root@nastycode.com (RSA)%0a%3c @]%0a%3c %0a%3c ircfun.net%0a%3c %0a%3c [@%0a%3c 1024 MD5:dd:b3:96:fc:31:76:8e:97:3a:bf:4b:1d:56:34:82:e4 root@ircfun.net (DSA)%0a%3c 256 MD5:bb:04:6d:de:36:03:5d:87:ec:de:1c:e9:c2:c1:d3:cf root@ircfun.net (ECDSA)%0a%3c 256 MD5:3e:34:5f:2b:e2:e0:9e:d1:2c:2f:f6:77:09:35:43:03 root@ircfun.net (ED25519)%0a%3c 3072 MD5:93:6a:f2:34:bf:41:1e:3c:32:35:87:d8:17:8b:b6:23 root@ircfun.net (RSA)%0a%3c 1024 SHA256:z+jzX9B2se4ywg4gGz7RA3xxFJoktbBpUpA42d5UjFE root@ircfun.net (DSA)%0a%3c 256 SHA256:lHGu5f5RicF0ZkPxJFn0d35q/ZYfGGlplsWJxqRCiRo root@ircfun.net (ECDSA)%0a%3c 256 SHA256:XSyPllxOSrBZ5OuD4+cQ3bwExnZb0JVp2D81Ap5G6W4 root@ircfun.net (ED25519)%0a%3c 3072 SHA256:XA3Bli6DG8gfjc/LTfyWJtiPwIdt7rcYEhdhOA27bbI root@ircfun.net (RSA)%0a---%0a> 1024 MD5:e1:fe:a5:69:8a:37:d9:5c:22:e8:f0:35:58:ab:23:e5 root@pear.ircnow.org (DSA)%0a> 256 MD5:4a:18:c3:8c:aa:bc:b2:4c:3e:c8:c1:ee:0d:17:19:0c root@pear.ircnow.org (ECDSA)%0a> 256 MD5:ff:cc:76:e5:c4:f3:a1:10:1e:6f:a5:e3:2e:20:7c:43 root@pear.ircnow.org (ED25519)%0a> 3072 MD5:39:a9:03:c3:d8:a3:17:f9:71:35:eb:52:63:11:e1:60 root@pear.ircnow.org (RSA)%0a> 1024 SHA256:lIeWH1OkkM1yW3g4R096dPIZLN8q7GasKG5iqPayHv0 root@pear.ircnow.org (DSA)%0a> 256 SHA256:QPsl7sSqVsoarXnNgcy5Q4sFGgfNABYnzxzxQ6/P3SA root@pear.ircnow.org (ECDSA)%0a> 256 SHA256:ouASFDX7zS1z0a3gf+P7XIOQivC9YzCJjtbBXHv0Jik root@pear.ircnow.org (ED25519)%0a> 3072 SHA256:eOijonZgHehEHebUZ2Rh5/3N5gv2a4K0W+l/IQwc+10 root@pear.ircnow.org (RSA)%0a +host:1638756226=38.87.162.8 +author:1638756096=jrmu +diff:1638756096:1638755370:=21,33d20%0a%3c @]%0a%3c %0a%3c nastycode.com%0a%3c %0a%3c [@%0a%3c 1024 MD5:e1:fe:a5:69:8a:37:d9:5c:22:e8:f0:35:58:ab:23:e5 root@pear.ircnow.org (DSA)%0a%3c 256 MD5:4a:18:c3:8c:aa:bc:b2:4c:3e:c8:c1:ee:0d:17:19:0c root@pear.ircnow.org (ECDSA)%0a%3c 256 MD5:ff:cc:76:e5:c4:f3:a1:10:1e:6f:a5:e3:2e:20:7c:43 root@pear.ircnow.org (ED25519)%0a%3c 3072 MD5:39:a9:03:c3:d8:a3:17:f9:71:35:eb:52:63:11:e1:60 root@pear.ircnow.org (RSA)%0a%3c 1024 SHA256:lIeWH1OkkM1yW3g4R096dPIZLN8q7GasKG5iqPayHv0 root@pear.ircnow.org (DSA)%0a%3c 256 SHA256:QPsl7sSqVsoarXnNgcy5Q4sFGgfNABYnzxzxQ6/P3SA root@pear.ircnow.org (ECDSA)%0a%3c 256 SHA256:ouASFDX7zS1z0a3gf+P7XIOQivC9YzCJjtbBXHv0Jik root@pear.ircnow.org (ED25519)%0a%3c 3072 SHA256:eOijonZgHehEHebUZ2Rh5/3N5gv2a4K0W+l/IQwc+10 root@pear.ircnow.org (RSA)%0a +host:1638756096=38.87.162.8 +author:1638755370=jrmu +diff:1638755370:1632267174:=9,21d8%0a%3c %0a%3c planetofnix.com%0a%3c %0a%3c [@%0a%3c 1024 MD5:cd:d7:78:d9:45:6e:55:f8:b9:f4:d3:05:1a:ae:d0:9b root@any4.lecturify.com (DSA)%0a%3c 256 MD5:bb:54:d1:94:d6:98:aa:d2:a2:28:c5:00:e1:db:8f:d4 root@any4.lecturify.com (ECDSA)%0a%3c 256 MD5:42:5e:a6:55:76:12:4d:74:82:68:ae:61:94:c6:f4:05 root@any4.lecturify.com (ED25519)%0a%3c 3072 MD5:64:75:3b:ff:0b:9e:95:a1:8f:df:bc:2f:ea:92:c0:7f root@any4.lecturify.com (RSA)%0a%3c 1024 SHA256:gfvlEH6IA9VSM+UATQUna8fodJRWtvmmxHzUZctFE24 root@any4.lecturify.com (DSA)%0a%3c 256 SHA256:5c56W2nEmOqpUO2yLpf/joSyyDyqRdI73OrKlZZhSq4 root@any4.lecturify.com (ECDSA)%0a%3c 256 SHA256:j2Oamwh2cIJoYTmzMM8LRZk8/VHHKuqlvGlXMthEJw4 root@any4.lecturify.com (ED25519)%0a%3c 3072 SHA256:vGPgnA4X0ItdSJWPOAEt3aTMLok3p5WIuW2ArEN1/NI root@any4.lecturify.com (RSA)%0a%3c @]%0a +host:1638755370=38.87.162.8 +author:1632267174=jrmu +diff:1632267174:1632267144:=78,85c78,85%0a%3c 1024 MD5:b1:be:f6:ab:c0:11:dd:b9:78:13:d9:8d:59:05:10:d3 (DSA)%0a%3c 256 MD5:3f:c2:14:6d:d8:a8:c1:b1:d1:36:8e:b8:c0:e7:6c:a3 (ECDSA)%0a%3c 256 MD5:ed:ed:ac:5b:24:26:d2:5c:f9:20:fb:06:28:27:ef:52 (ED25519)%0a%3c 3072 MD5:67:4e:3b:4d:76:53:d1:81:18:ba:68:d3:0b:fb:da:fc (RSA)%0a%3c 1024 SHA256:0ntHLt6mpHSrONe5e3fLpC11V7K8hMALlTKbQvYqlmg (DSA)%0a%3c 256 SHA256:tEeTiuNbcvvVBJLKFnygBIXhGEUgdE9J4G776NPF4F4 (ECDSA)%0a%3c 256 SHA256:otvY6dM7ULR5x9jzI40328wOwpa3aRpLKxnt65ipY1Y (ED25519)%0a%3c 3072 SHA256:Hx5F8yn+wdLnjmegXYC48v17W2jwGSBE72n/cBoSKt4 (RSA)%0a---%0a> 1024 MD5:b1:be:f6:ab:c0:11:dd:b9:78:13:d9:8d:59:05:10:d3 root@host.bsdforall.org (DSA)%0a> 256 MD5:3f:c2:14:6d:d8:a8:c1:b1:d1:36:8e:b8:c0:e7:6c:a3 root@host.bsdforall.org (ECDSA)%0a> 256 MD5:ed:ed:ac:5b:24:26:d2:5c:f9:20:fb:06:28:27:ef:52 root@host.bsdforall.org (ED25519)%0a> 3072 MD5:67:4e:3b:4d:76:53:d1:81:18:ba:68:d3:0b:fb:da:fc root@host.bsdforall.org (RSA)%0a> 1024 SHA256:0ntHLt6mpHSrONe5e3fLpC11V7K8hMALlTKbQvYqlmg root@host.bsdforall.org (DSA)%0a> 256 SHA256:tEeTiuNbcvvVBJLKFnygBIXhGEUgdE9J4G776NPF4F4 root@host.bsdforall.org (ECDSA)%0a> 256 SHA256:otvY6dM7ULR5x9jzI40328wOwpa3aRpLKxnt65ipY1Y root@host.bsdforall.org (ED25519)%0a> 3072 SHA256:Hx5F8yn+wdLnjmegXYC48v17W2jwGSBE72n/cBoSKt4 root@host.bsdforall.org (RSA)%0a +host:1632267174=125.231.18.235 +author:1632267144=jrmu +diff:1632267144:1628591757:=73,85d72%0a%3c @]%0a%3c %0a%3c host.bsdforall.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:b1:be:f6:ab:c0:11:dd:b9:78:13:d9:8d:59:05:10:d3 root@host.bsdforall.org (DSA)%0a%3c 256 MD5:3f:c2:14:6d:d8:a8:c1:b1:d1:36:8e:b8:c0:e7:6c:a3 root@host.bsdforall.org (ECDSA)%0a%3c 256 MD5:ed:ed:ac:5b:24:26:d2:5c:f9:20:fb:06:28:27:ef:52 root@host.bsdforall.org (ED25519)%0a%3c 3072 MD5:67:4e:3b:4d:76:53:d1:81:18:ba:68:d3:0b:fb:da:fc root@host.bsdforall.org (RSA)%0a%3c 1024 SHA256:0ntHLt6mpHSrONe5e3fLpC11V7K8hMALlTKbQvYqlmg root@host.bsdforall.org (DSA)%0a%3c 256 SHA256:tEeTiuNbcvvVBJLKFnygBIXhGEUgdE9J4G776NPF4F4 root@host.bsdforall.org (ECDSA)%0a%3c 256 SHA256:otvY6dM7ULR5x9jzI40328wOwpa3aRpLKxnt65ipY1Y root@host.bsdforall.org (ED25519)%0a%3c 3072 SHA256:Hx5F8yn+wdLnjmegXYC48v17W2jwGSBE72n/cBoSKt4 root@host.bsdforall.org (RSA)%0a +host:1632267144=125.231.18.235 +author:1628591757=jrmu +diff:1628591757:1628585817:=2,8d1%0a%3c %0a%3c Every ssh server [[Ssh/Fingerprints|unique fingerprints]] you need to verify%0a%3c before you connect.%0a%3c %0a%3c '''WARNING''': Do '''not''' connect if the fingerprints do not match!%0a%3c %0a%3c Here are the fingerprints from IRCNow's servers:%0a +host:1628591757=38.87.162.8 +author:1628585817=jrmu +diff:1628585817:1628585817:=1,66d0%0a%3c (:title SSH fingerprints:)%0a%3c %0a%3c shelltalk.net%0a%3c %0a%3c [@%0a%3c 1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 (DSA)%0a%3c 256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 (ECDSA)%0a%3c 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 (ED25519)%0a%3c 3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d (RSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w (DSA)%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE (ECDSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk (RSA)%0a%3c @]%0a%3c %0a%3c ircology.com%0a%3c %0a%3c [@%0a%3c 1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db (DSA)%0a%3c 256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 (ECDSA)%0a%3c 256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 (ED25519)%0a%3c 3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 (RSA)%0a%3c 1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA (DSA)%0a%3c 256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY (ECDSA)%0a%3c 256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro (ED25519)%0a%3c 3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso (RSA)%0a%3c @]%0a%3c %0a%3c bsdforall.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 (DSA)%0a%3c 256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c (ECDSA)%0a%3c 256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 (ED25519)%0a%3c 3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 (RSA)%0a%3c 1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo (DSA)%0a%3c 256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA (ECDSA)%0a%3c 256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 (ED25519)%0a%3c 3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac (RSA)%0a%3c @]%0a%3c %0a%3c host.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 (DSA)%0a%3c 256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b (ECDSA)%0a%3c 256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 (ED25519)%0a%3c 3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 (RSA)%0a%3c 1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU (DSA)%0a%3c 256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc (ECDSA)%0a%3c 256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI (ED25519)%0a%3c 3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ (RSA)%0a%3c @]%0a%3c %0a%3c freeirc.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f (DSA)%0a%3c 256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 (ECDSA)%0a%3c 256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 (ED25519)%0a%3c 3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 (RSA)%0a%3c 1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 (DSA)%0a%3c 256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU (ECDSA)%0a%3c 256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E (ED25519)%0a%3c 3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM (RSA)%0a%3c @]%0a +host:1628585817=38.87.162.8 blob - /dev/null blob + 4ffb2a9bd7aa54bcd1926cc89ab9757c59b66ce2 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Servers @@ -0,0 +1,740 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +ctime=1596187345 +host=2a03:e600:100::26 +name=Ircnow.Servers +rev=241 +targets=AncientWisdom.Bio,Ircnow.Testing,BugzBunny.Bio,Ircnow.Stable,Jujube.Jujube,Gry.Bio,Watermelon.Watermelon,Jrmu.Bio,Error.Bio,Vps.Vps,Bsdforall.Hardware,MisterE.Bio,Freeirc.Hardware,ThorOfAngels.Bio,Ircforever.Hardware,Silence.Bio,Oddprotocol.Hardware,Lecturify.Hardware,Nastycode.Hardware,Bogani.Bio,Thunderirc.Hardware,Ircnow.Hardware +text=IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a%0a!!! IRC Servers (by alphabetical hostname order)%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||%0a|| New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || [[AncientWisdom/bio|AncientWisdom]] || PyritePyro || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a|| || [[https://irc.bugzbunny.net|BugzBunny]] || irc.bugzbunny.net || [[BugzBunny/bio|BugzBunny]] || || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || xfnw || debiankaios || shells || [[ircnow/Testing|Testing]] ||%0a|| New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby, nps || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara, Noisytoot || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || dennis LoSKi BugzBunny dodocrypto || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a|| New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || gloNO || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Hydragyrum, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a|| Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 gandalf || || ZNC || [[ircnow/Stable|Stable]] ||%0a|| Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || || || || || [[ircnow/Stable|Stable]] ||%0a|| Miami, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || [[gry/bio|gry]], [[error/bio|error]] || || || [[ircnow/Stable|Stable]] ||%0a%0a%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||! Hardware ||%0a|| Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[AncientWisdom/bio|AncientWisdom]] || || || VPS || [[vps/vps|VPSes]] || [[bsdforall/hardware]] ||%0a|| || [[https://irc.bugzbunny.net|BugzBunny]] || || [[BugzBunny/bio|BugzBunny]] || || || || || ||%0a|| UK/Europe || [[https://freeirc.org|FreeIRC]] || minigamesgalore.freeirc.org || [[MisterE/bio|MisterE]] || || || Minetest || Minetest || [[freeirc/hardware]] ||%0a|| ? || [[https://ircforever.org|IRCForever]] || minetest.ircforever.org || [[Thor_Of_Angels/bio|Thor_Of_Angels]] || || || Minetest || Minetest || [[ircforever/hardware]] ||%0a|| Texas, USA || [[https://ircfun.net|IRCFun]] || || [[Silence/bio|Silence]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a|| Las Vegas, USA || [[https://irc.jujube.org|Jujube]] || || || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a|| Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] || [[lecturify/hardware]] ||%0a|| New York, USA || [[https://nastycode.com|NastyCode]] || || || || || VPS || [[vps/vps|VPSes]] || [[nastycode/hardware]] ||%0a|| Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a|| Texas, USA || [[https://nastycode.com|NastyCode]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a|| Texas, USA || [[https://thunderirc.net|ThunderIRC]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a|| Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] || [[ircnow/hardware]] ||%0a%0a([[Attach:irc-network-map.png|IRC server network map]])%0a%0a%0aCodeForce Committers: %0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Team ||! Name ||! Project ||! Email ||%0a|| BSDForAll || [[AncientWisdom/bio|AncientWisdom]] || || ||%0a|| BugzBunny || [[BugzBunny/bio|BugzBunny]] || || ||%0a|| FreeIRC || MisterE || || ||%0a|| IrcForever || Thor_Of_Angels || || ||%0a|| IRCFun || Silence || || ||%0a|| Lecturify || [[gry/bio|gry]] || || ||%0a|| NastyCode || LoSKi || || ||%0a|| OddProtocol || Error || || ||%0a|| PlanetOfNix || bountyht || || ||%0a|| ThunderIRC || bogani || || ||%0a|| ShellTalk || Hydragyrum || || ||%0a|| IRCNow || [[jrmu/bio|jrmu]] || || jrmu@ircnow.org ||%0a%0a%0aAmbassadors:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC nick ||! Duties ||! Email ||! XMPP ||! Matrix ||! Fediverse ||%0a|| jlj || Ambassador || outreach@ircnow.org || || @jlj:nfld.uk || @jlj@fosstodon.org ||%0a%0aAlmanack:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC nick ||! Duties ||%0a +time=1639757368 +author:1639757368=AncientWisdom +diff:1639757368:1639734181:=7c7%0a%3c || || [[https://irc.bugzbunny.net|BugzBunny]] || irc.bugzbunny.net || [[BugzBunny/bio|BugzBunny]] || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || || [[https://irc.bugzbunny.net|BugzBunny]] || irc.bugzbunny.net || [[BugzBunny]] || || || ZNC || [[ircnow/Stable|Stable]] ||%0a26c26%0a%3c || || [[https://irc.bugzbunny.net|BugzBunny]] || || [[BugzBunny/bio|BugzBunny]] || || || || || ||%0a---%0a> || || [[https://irc.bugzbunny.net|BugzBunny]] || || [[BugzBunny/bio|BugBbunny]] || || || || || ||%0a46c46%0a%3c || BugzBunny || [[BugzBunny/bio|BugzBunny]] || || ||%0a---%0a> || BugzBunny || BugzBunny || || ||%0a +host:1639757368=2a03:e600:100::26 +author:1639734181=AncientWisdom +diff:1639734181:1639734047:=3d2%0a%3c !!! IRC Servers (by alphabetical hostname order)%0a45c44%0a%3c || BSDForAll || [[AncientWisdom/bio|AncientWisdom]] || || ||%0a---%0a> || BSDForAll || AncientWisdom || || ||%0a50c49%0a%3c || Lecturify || [[gry/bio|gry]] || || ||%0a---%0a> || Lecturify || gry || || ||%0a56c55%0a%3c || IRCNow || [[jrmu/bio|jrmu]] || || jrmu@ircnow.org ||%0a---%0a> || IRCNow || JRMU || || jrmu@ircnow.org ||%0a +host:1639734181=185.4.132.135 +author:1639734047=AncientWisdom +diff:1639734047:1639457857:=4a5,9%0a> || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Hydragyrum, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara, Noisytoot || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby, nps || || ZNC || [[ircnow/Stable|Stable]] ||%0a6c11,14%0a%3c || || [[https://irc.bugzbunny.net|BugzBunny]] || irc.bugzbunny.net || [[BugzBunny]] || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || dennis LoSKi BugzBunny dodocrypto || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || gloNO || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 gandalf || || ZNC || [[ircnow/Stable|Stable]] ||%0a8,16d15%0a%3c || New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby, nps || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara, Noisytoot || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || dennis LoSKi BugzBunny dodocrypto || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || gloNO || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Hydragyrum, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 gandalf || || ZNC || [[ircnow/Stable|Stable]] ||%0a20,21d18%0a%3c %0a%3c %0a23a21,22%0a> || Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] || [[lecturify/hardware]] ||%0a> || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a25c24,25%0a%3c || || [[https://irc.bugzbunny.net|BugzBunny]] || || [[BugzBunny/bio|BugBbunny]] || || || || || ||%0a---%0a> || Texas, USA || [[https://thunderirc.net|ThunderIRC]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a> || Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] || [[ircnow/hardware]] ||%0a26a27%0a> || UK/Europe || [[https://nastycode.com|NastyCode]] || nastycode.com || [[LoSKi/bio|LoSKi]] || || || Matrix? || Matrix? || [[nastycode/hardware]] ||%0a28,36c29%0a%3c || Texas, USA || [[https://ircfun.net|IRCFun]] || || [[Silence/bio|Silence]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a%3c || Las Vegas, USA || [[https://irc.jujube.org|Jujube]] || || || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a%3c || Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] || [[lecturify/hardware]] ||%0a%3c || New York, USA || [[https://nastycode.com|NastyCode]] || || || || || VPS || [[vps/vps|VPSes]] || [[nastycode/hardware]] ||%0a%3c || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a%3c || Texas, USA || [[https://nastycode.com|NastyCode]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a%3c || Texas, USA || [[https://thunderirc.net|ThunderIRC]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a%3c || Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] || [[ircnow/hardware]] ||%0a%3c %0a---%0a> %0a39d31%0a%3c %0a44,46c36%0a%3c || BSDForAll || AncientWisdom || || ||%0a%3c || BugzBunny || BugzBunny || || ||%0a%3c || FreeIRC || MisterE || || ||%0a---%0a> || PlanetOfNix || bountyht || || ||%0a49d38%0a%3c || Lecturify || gry || || ||%0a50a40,42%0a> || Lecturify || gry || || ||%0a> || ThunderIRC || bogani || || ||%0a> || ShellTalk || Hydragyrum || || ||%0a52,55c44,46%0a%3c || PlanetOfNix || bountyht || || ||%0a%3c || ThunderIRC || bogani || || ||%0a%3c || ShellTalk || Hydragyrum || || ||%0a%3c || IRCNow || JRMU || || jrmu@ircnow.org ||%0a---%0a> || BSDForAll || AncientWisdom || || ||%0a> || FreeIRC || MisterE || || ||%0a> || || jrmu || || jrmu@ircnow.org ||%0a +host:1639734047=185.4.132.135 +author:1639457857=mkf +diff:1639457857:1638843008:=16c16%0a%3c || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || [[mkf/bio|mkf]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1639457857=80.210.50.203 +author:1638843008=jrmu +diff:1638843008:1638187741:=5,8c5,8%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Hydragyrum, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara, Noisytoot || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || syscode, Almajd, jessie || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Erhard, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara || || ZNC || [[ircnow/Stable|Stable]] ||%0a11,14c11,14%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || dennis LoSKi BugzBunny dodocrypto || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || gloNO || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 gandalf || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan jlj BugzBunny || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece, Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 || gandalf || ZNC || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || [[mkf/bio|mkf]] || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a23c23%0a%3c || Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[AncientWisdom/bio|AncientWisdom]] || || || VPS || [[vps/vps|VPSes]] || [[bsdforall/hardware]] ||%0a---%0a> || Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[PyritePyro/bio|PyritePyro]] || || || VPS || [[vps/vps|VPSes]] || [[bsdforall/hardware]] ||%0a42c42%0a%3c || ShellTalk || Hydragyrum || || ||%0a---%0a> || ShellTalk || || || ||%0a +host:1638843008=38.87.162.8 +author:1638187741=jrmu +diff:1638187741:1638139258:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || robkle, scara || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1638187741=38.87.162.8 +author:1638139258=mkf +csum:1638139258=~ +diff:1638139258:1638016195:=16c16%0a%3c || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || shells || [[ircnow/Stable|Stable]] ||%0a +host:1638139258=188.210.114.32 +author:1638016195=jrmu +diff:1638016195:1637905900:=11c11%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan jlj BugzBunny || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1638016195=38.87.162.8 +author:1637905900=jrmu +diff:1637905900:1637510932:=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || [[AncientWisdom/bio|AncientWisdom]] || PyritePyro || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]] || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1637905900=38.87.162.8 +author:1637510932=aegilops +csum:1637510932=add irc server network map +diff:1637510932:1636955920:=29,30d28%0a%3c %0a%3c ([[Attach:irc-network-map.png|IRC server network map]])%0a +host:1637510932=89.66.141.14 +author:1636955920=jrmu +diff:1636955920:1635679207:=17c17%0a%3c || Miami, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || [[gry/bio|gry]], [[error/bio|error]] || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1636955920=38.87.162.8 +author:1635679207=meeekeeef +diff:1635679207:1634124967:minor=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]] || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]], mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a42c42%0a%3c || BSDForAll || AncientWisdom || || ||%0a---%0a> || BSDForAll || mkf || || ||%0a +host:1635679207=2.178.206.179 +author:1634124967=jrmu +diff:1634124967:1634047852:=15c15%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || xfnw || debiankaios || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1634124967=125.224.28.113 +author:1634047852=jrmu +diff:1634047852:1633700917:=5c5%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva, bangcat, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a7c7%0a%3c || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || || Erhard, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a36c36%0a%3c || IRCFun || Silence || || ||%0a---%0a> || IRCFun || || || ||%0a40c40%0a%3c || ShellTalk || || || ||%0a---%0a> || ShellTalk || bangcat || || ||%0a +host:1634047852=125.224.28.113 +author:1633700917=jrmu +diff:1633700917:1631328485:=13c13%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece, Rohan || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a +host:1633700917=125.224.22.161 +author:1631328485=jrmu +diff:1631328485:1631328407:=13c13%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || shells, ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a16c16%0a%3c || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || shells || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1631328485=125.231.60.101 +author:1631328407=jrmu +diff:1631328407:1631327975:=16c16%0a%3c || Miami, USA || [[Watermelon/Watermelon|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1631328407=125.231.60.101 +author:1631327975=jrmu +diff:1631327975:1631327814:=16c16%0a%3c || Miami, USA || [[|Watermelon]] || irc.watermelon.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Miami, USA || [[|Fruit]] || irc.fruit.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1631327975=125.231.60.101 +author:1631327814=jrmu +diff:1631327814:1631327732:=16,17c16%0a%3c || Miami, USA || [[|Fruit]] || irc.fruit.ircnow.org || [[]] || || || || [[ircnow/Stable|Stable]] ||%0a%3c || Miami, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1631327814=125.231.60.101 +author:1631327732=jrmu +diff:1631327732:1631327162:=13c13,14%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://ircology.com|IRCology]] || irc.ircology.com || || zedomega, unroot || || shells || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1631327732=125.231.60.101 +author:1631327162=jrmu +diff:1631327162:1630250878:=5,6c5,6%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || Siva, bangcat, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || syscode, Almajd, jessie || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || syscode, Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a8,12c8,12%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby, nps || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]], mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || nicoz, xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]] || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || guce, Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a15,16c15,16%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewbakka85 || gandalf || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy || gandalf || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || shinbeth, waitman, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1631327162=125.231.60.101 +author:1630250878=mkf +diff:1630250878:1630250406:=42c42%0a%3c || BSDForAll || mkf || || ||%0a---%0a> || BsdForAll || mkf || || ||%0a +host:1630250878=38.87.162.40 +author:1630250406=jrmu +diff:1630250406:1630249394:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || nicoz, xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a13c13%0a%3c || Roost, Luxembourg || [[https://ircology.com|IRCology]] || irc.ircology.com || || zedomega, unroot || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://ircology.com|IRCology]] || irc.ircology.com || zedomega || unroot || || shells || [[ircnow/Testing|Testing]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MisterE || shinbeth, waitman, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || || shinbeth, waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a27,29c27,29%0a%3c || UK/Europe || [[https://nastycode.com|NastyCode]] || nastycode.com || [[LoSKi/bio|LoSKi]] || || || Matrix? || Matrix? || [[nastycode/hardware]] ||%0a%3c || ? || [[https://ircforever.org|IRCForever]] || minetest.ircforever.org || [[Thor_Of_Angels/bio|Thor_Of_Angels]] || || || Minetest || Minetest || [[ircforever/hardware]] ||%0a%3c %0a---%0a> || UK/Europe || [[https://nastycode.com|NastyCode]] || nastycode.com || || || || Matrix? || Matrix? || [[nastycode/hardware]] ||%0a> || ? || [[https://ircforever.org|IRCForever]] || minetest.ircforever.org || || || || Minetest || Minetest || [[ircforever/hardware]] ||%0a> %0a35,37c35,36%0a%3c || IrcForever || Thor_Of_Angels || || ||%0a%3c || IRCFun || || || ||%0a%3c || NastyCode || LoSKi || || ||%0a---%0a> || IrcForever || || || ||%0a> || NastyCode || dennis || || ||%0a39c38%0a%3c || ThunderIRC || bogani || || ||%0a---%0a> || ThunderIRC || Chewbakka85 || || ||%0a41,43c40,41%0a%3c || OddProtocol || Error || || ||%0a%3c || BsdForAll || mkf || || ||%0a%3c || FreeIRC || MisterE || || ||%0a---%0a> || OddProtocol || || || ||%0a> || BsdForAll || || || ||%0a +host:1630250406=38.87.162.8 +author:1630249394=jrmu +diff:1630249394:1629637908:=11c11%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || LoSKi || dennis Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || LoSKi, dennis Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1630249394=38.87.162.8 +author:1629637908=mkf +diff:1629637908:1629518219:=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || [[AncientWisdom/bio|AncientWisdom]] || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, [[AncientWisdom/bio|AncientWisdom]] || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1629637908=198.251.81.133 +author:1629518219=AncientWisdom +diff:1629518219:1629518067:=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, [[AncientWisdom/bio|AncientWisdom]] || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, AncientWisdom/bio|AncientWisdom || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1629518219=185.83.214.69 +author:1629518067=AncientWisdom +diff:1629518067:1628733300:=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, AncientWisdom/bio|AncientWisdom || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, AncientWisdom || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1629518067=185.83.214.69 +author:1628733300=MIF +csum:1628733300=I left, so I removed my self. +diff:1628733300:1628727935:=16c16%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || || shinbeth, waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || || MIF, shinbeth, waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1628733300=209.56.64.253 +author:1628727935=mkf +diff:1628727935:1628254217:=10c10%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || || Wheezy, AncientWisdom || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1628727935=38.87.162.40 +author:1628254217=jrmu +diff:1628254217:1627895337:=26,28d25%0a%3c || UK/Europe || [[https://freeirc.org|FreeIRC]] || minigamesgalore.freeirc.org || [[MisterE/bio|MisterE]] || || || Minetest || Minetest || [[freeirc/hardware]] ||%0a%3c || UK/Europe || [[https://nastycode.com|NastyCode]] || nastycode.com || || || || Matrix? || Matrix? || [[nastycode/hardware]] ||%0a%3c || ? || [[https://ircforever.org|IRCForever]] || minetest.ircforever.org || || || || Minetest || Minetest || [[ircforever/hardware]] ||%0a +host:1628254217=38.87.162.8 +author:1627895337=bogani +diff:1627895337:1627825633:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || gandalf, xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a15c15%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy || gandalf || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy || Quo-fan || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1627895337=36.85.223.211 +author:1627825633=jrmu +diff:1627825633:1627824081:=24c24%0a%3c || Texas, USA || [[https://thunderirc.net|ThunderIRC]] || || [[bogani/bio|bogani]] || || || VPS || [[vps/vps|VPSes]] || [[thunderirc/hardware]] ||%0a---%0a> || Texas, USA || [[https://planetofnix.com|PlanetOfNix]] || || [[bountyht/bio|bountyht]] || || || VPS || [[vps/vps|VPSes]] || [[planetofnix/hardware]] ||%0a +host:1627825633=38.87.162.8 +author:1627824081=jrmu +diff:1627824081:1626002513:=20,25c20,25%0a%3c ||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||! Hardware ||%0a%3c || Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] || [[lecturify/hardware]] ||%0a%3c || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] || [[oddprotocol/hardware]] ||%0a%3c || Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[PyritePyro/bio|PyritePyro]] || || || VPS || [[vps/vps|VPSes]] || [[bsdforall/hardware]] ||%0a%3c || Texas, USA || [[https://planetofnix.com|PlanetOfNix]] || || [[bountyht/bio|bountyht]] || || || VPS || [[vps/vps|VPSes]] || [[planetofnix/hardware]] ||%0a%3c || Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] || [[ircnow/hardware]] ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||%0a> || Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] ||%0a> || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] ||%0a> || Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[PyritePyro/bio|PyritePyro]] || || || VPS || [[vps/vps|VPSes]] ||%0a> || Texas, USA || [[https://planetofnix.com|PlanetOfNix]] || || [[bountyht/bio|bountyht]] || || || VPS || [[vps/vps|VPSes]] ||%0a> || Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1627824081=38.87.162.8 +author:1626002513=jrmu +diff:1626002513:1624756574:=5,6c5,6%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat, planetofnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || syscode, Almajd || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a11c11%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || || LoSKi, dennis Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a15c15%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy || Quo-fan || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy, zas || Quo-fan || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1626002513=125.224.22.56 +author:1624756574=jrmu +diff:1624756574:1624620833:=13c13%0a%3c || Roost, Luxembourg || [[https://ircology.com|IRCology]] || irc.ircology.com || zedomega || unroot || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://grape.ircnow.org|Grape]] || irc.grape.ircnow.org || zedomega || unroot || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1624756574=38.81.163.143 +author:1624620833=jrmu +diff:1624620833:1624101257:=14c14%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || Error || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a22c22%0a%3c || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1624620833=38.81.163.143 +author:1624101257=jrmu +diff:1624101257:1624100770:=23,24d22%0a%3c || Texas, USA || [[https://bsdforall.org|BSDForAll]] || || [[PyritePyro/bio|PyritePyro]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || Texas, USA || [[https://planetofnix.com|PlanetOfNix]] || || [[bountyht/bio|bountyht]] || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1624101257=38.81.163.143 +author:1624100770=jrmu +diff:1624100770:1624099622:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || gandalf, xegdox || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || || ZNC || [[ircnow/Stable|Stable]] ||%0a15c15%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy, zas || Quo-fan || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy, zas || Quo-fan, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1624100770=38.81.163.143 +author:1624099622=jrmu +diff:1624099622:1624098451:=12c12%0a%3c || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || guce, Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a21,22c21,22%0a%3c || Texas, USA || [[https://lecturify.net|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || Texas, USA || [[https://oddprotocol.org|OddProtocol]] || || || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[Orange/Orange|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] ||%0a> || Texas, USA || [[Plum/Plum|OddProtocol]] || || || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1624099622=38.81.163.143 +author:1624098451=jrmu +diff:1624098451:1624098316:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || nicoz || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || nicoz || || ZNC || [[ircnow/Stable|Stable]] ||%0a13,16c13,16%0a%3c || Roost, Luxembourg || [[https://grape.ircnow.org|Grape]] || irc.grape.ircnow.org || zedomega || unroot || || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || || skar || asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || bogani || Chewy, zas || Quo-fan, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || || MIF, shinbeth, waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://grape.ircnow.org|Grape]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || Chewy || bogani, zas || Quo-fan, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1624098451=38.81.163.143 +author:1624098316=jrmu +diff:1624098316:1624098184:=5,7c5,7%0a%3c || Las Vegas, USA || [[https://lecturify.net|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net|IRCFun]] || irc.ircfun.net || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://shelltalk.net|ShellTalk]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[https://lecturify.net]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://ircfun.net]] || irc.ircfun.net || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[https://shelltalk.net]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a10,14c10,14%0a%3c || New York, USA || [[https://bsdforall.org|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[https://nastycode.com|NaStYcOdE]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://planetofnix.com|PlanetOfNix]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://grape.ircnow.org|Grape]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://bsdforall.org]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[https://nastycode.com]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://planetofnix.com]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://grape.ircnow.org]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[https://oddprotocol.org]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[https://freeirc.org|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[https://freeirc.org]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1624098316=38.81.163.143 +author:1624098184=jrmu +diff:1624098184:1623502967:=5,7c5,7%0a%3c || Las Vegas, USA || [[https://lecturify.net]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://ircfun.net]] || irc.ircfun.net || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[https://shelltalk.net]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a9,14c9,14%0a%3c || New York, USA || [[https://ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://bsdforall.org]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[https://nastycode.com]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://planetofnix.com]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://grape.ircnow.org]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[https://oddprotocol.org]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[https://freeirc.org]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1624098184=38.81.163.143 +author:1623502967=jlj +csum:1623502967=Adding contact details +diff:1623502967:1623311503:=44c44%0a%3c || jlj || Ambassador || outreach@ircnow.org || || @jlj:nfld.uk || @jlj@fosstodon.org ||%0a---%0a> || jlj || Ambassador || || || || ||%0a +host:1623502967=82.38.53.208 +author:1623311503=jrmu +diff:1623311503:1623311455:=35c35%0a%3c || OddProtocol || || || ||%0a---%0a> || OddProtocol || Error || || ||%0a +host:1623311503=125.231.25.80 +author:1623311455=jrmu +diff:1623311455:1623293553:=22c22%0a%3c || Texas, USA || [[Plum/Plum|OddProtocol]] || || || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[Plum/Plum|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1623311455=125.231.25.80 +author:1623293553=jrmu +diff:1623293553:1623293129:=14c14%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj, master_piece || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623293553=198.251.81.119 +author:1623293129=jrmu +diff:1623293129:1623292953:=14c14%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco, asdflkj || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623293129=198.251.81.119 +author:1623292953=jrmu +diff:1623292953:1623292921:=7c7%0a%3c || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || bangcat || Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || || Quo-fan, bangcat || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1623292953=198.251.81.119 +author:1623292921=jrmu +diff:1623292921:1623292856:=12c12%0a%3c || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || bountyht || Oz, planetofnix, con || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || || Oz, planetofnix, con, bountyht || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623292921=198.251.81.119 +author:1623292856=jrmu +diff:1623292856:1623292773:=10c10%0a%3c || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || Wheezy || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a13c13%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || zedomega || unroot || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || zedomega || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1623292856=198.251.81.119 +author:1623292773=jrmu +diff:1623292773:1623249101:=14c14%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || || skar || monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || skar || monaco, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623292773=198.251.81.119 +author:1623249101=jrmu +diff:1623249101:1623249078:=16c16%0a%3c || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE, xfnw || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE || xfnw || shells || [[ircnow/Testing|Testing]] ||%0a +host:1623249101=125.231.25.80 +author:1623249078=jrmu +diff:1623249078:1623117879:=9,10c9,10%0a%3c || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Thor_Of_Angels || Miniontoby || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || PyritePyro || mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || || Miniontoby, Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1623249078=125.231.25.80 +author:1623117879=jrmu +diff:1623117879:1623117341:=36c36%0a%3c || BsdForAll || || || ||%0a---%0a> || BsdForAll || sarah || || ||%0a +host:1623117879=198.251.81.119 +author:1623117341=jrmu +diff:1623117341:1623114015:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || nicoz || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || || ZNC || [[ircnow/Stable|Stable]] ||%0a10c10%0a%3c || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || sarah || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1623117341=198.251.81.119 +author:1623114015=jrmu +diff:1623114015:1623108279:=10c10%0a%3c || New York, USA || [[Lemon/Lemon|BSDForAll]] || irc.bsdforall.org || sarah || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1623114015=125.231.25.80 +author:1623108279=jrmu +diff:1623108279:1623065866:=13c13%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || zedomega || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1623108279=125.231.25.80 +author:1623065866=jrmu +diff:1623065866:1623065762:=14c14%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || skar || monaco, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, skar || Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623065866=125.231.25.80 +author:1623065762=jrmu +diff:1623065762:1623065490:=11c11%0a%3c || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka, jlj || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623065762=125.231.25.80 +author:1623065490=jrmu +diff:1623065490:1623065437:=44c44%0a%3c || jlj || Ambassador || || || || ||%0a---%0a> || jlj || Outreach Manager || || || || ||%0a +host:1623065490=125.231.25.80 +author:1623065437=jrmu +diff:1623065437:1623065141:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || PyR3X, Siva, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || planetofnix, bangcat || Siva, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a7c7%0a%3c || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || || Quo-fan, bangcat || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || || Quo-fan, st13g, bangcat || || shells || [[ircnow/Testing|Testing]] ||%0a9,12c9,12%0a%3c || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || || Miniontoby, Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || PyritePyro, mkf || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || Quo-fan, Chewbakka || SkIzZaTo, Pete, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || || Oz, planetofnix, con, bountyht || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels, Nav|C || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || PyritePyro || ComputerTech, mkf || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || SkIzZaTo, Pete, Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || || Oz, planetofnix, KeKanda, con, bountyht || Nevada, Trex || ZNC || [[ircnow/Stable|Stable]] ||%0a14,16c14,16%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, skar || Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || Chewy || bogani, zas || Quo-fan, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE || xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, bejelentkezni, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Quo-fan,Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a29a30%0a> || || fizi || || ||%0a36c37%0a%3c || BsdForAll || sarah || || ||%0a---%0a> || || sarah || || ||%0a44,45c45,47%0a%3c || jlj || Outreach Manager || || || || ||%0a%3c %0a---%0a> || || Outreach Manager || || || || ||%0a> || || Outreach Manager || || || || ||%0a> %0a49a52%0a> || st13g || Almanack Editor ||%0a +host:1623065437=125.231.25.80 +author:1623065141=jrmu +diff:1623065141:1623065094:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || || Silence, nix || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1623065141=125.231.25.80 +author:1623065094=jrmu +diff:1623065094:1622178681:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || ZindaN, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a13c13%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || || || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1623065094=125.231.25.80 +author:1622178681=sarah +diff:1622178681:1621879367:=10c10%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || PyritePyro || ComputerTech, mkf || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech, mkf, PyritePyro || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1622178681=2001:470:ee05:0:c563:ce7b:ca75:ce0 +author:1621879367=chewy +diff:1621879367:1621832566:=15c15%0a%3c || Roost, Luxembourg || [[https://thunderirc.net|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Quo-fan,Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Quo-fan,Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1621879367=2a02:1205:34c1:94e0:ea4c:fd17:3638:ff98 +author:1621832566=chewy +diff:1621832566:1621300282:=15c15%0a%3c || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Quo-fan,Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1621832566=2a02:1205:34c1:94e0:fe9:f852:5421:418c +author:1621300282=jrmu +diff:1621300282:1621262392:=45,46c45,46%0a%3c || || Outreach Manager || || || || ||%0a%3c || || Outreach Manager || || || || ||%0a---%0a> || lewis_clark || Outreach Manager || || || || ||%0a> || join_subline || Outreach Manager || || || || ||%0a +host:1621300282=38.81.163.143 +author:1621262392=jrmu +diff:1621262392:1620962842:=16a17%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a18c19,25%0a%3c %0a---%0a> (:if false:)%0a> || Round-robin || || irc.ircnow.org || || || || IPv4 ||%0a> || Round-robin || || irc6.ircnow.org || || || || IPv6 ||%0a> (:ifend:)%0a> %0a> CodeForce Committers: %0a> %0a20,27d26%0a%3c ||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||%0a%3c || Texas, USA || [[Orange/Orange|Lecturify]] || || [[gry/bio|gry]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || Texas, USA || [[Plum/Plum|OddProtocol]] || || [[Error/bio|Error]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || Texas, USA || [[https://ircnow.org|IRCNow]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c %0a%3c CodeForce Committers: %0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a52c51%0a%3c || st13g || Almanack Editor ||%0a---%0a> || st13g || Almanack Editor ||%0a\ No newline at end of file%0a +host:1621262392=38.81.163.143 +author:1620962842=jrmu +diff:1620962842:1620858914:=8a9%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a18d18%0a%3c || Las Vegas, USA || [[https://ircnow.org|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a +host:1620962842=198.251.81.119 +author:1620858914=sarah +diff:1620858914:1620784837:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech, mkf, PyritePyro || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech, mkf || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a +host:1620858914=2001:470:ee05:0:5539:e193:a408:e5f2 +author:1620784837=jrmu +diff:1620784837:1620486072:=45,51c45%0a%3c || join_subline || Outreach Manager || || || || ||%0a%3c %0a%3c Almanack:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC nick ||! Duties ||%0a%3c || st13g || Almanack Editor ||%0a\ No newline at end of file%0a---%0a> || join_subline || Outreach Manager || || || || ||%0a\ No newline at end of file%0a +host:1620784837=198.251.81.119 +author:1620486072=jrmu +diff:1620486072:1620486053:=30c30%0a%3c || IrcForever || || || ||%0a---%0a> || IrcForever || astroanax || || ||%0a +host:1620486072=198.251.81.119 +author:1620486053=jrmu +diff:1620486053:1620444964:=43c43%0a%3c ||! IRC nick ||! Duties ||! Email ||! XMPP ||! Matrix ||! Fediverse ||%0a---%0a> ||! IRC nick ||! Duties ||! Email || XMPP || Matrix || Fediverse ||%0a +host:1620486053=198.251.81.119 +author:1620444964=jrmu +diff:1620444964:1620444914:=44,45c44,45%0a%3c || lewis_clark || Outreach Manager || || || || ||%0a%3c || join_subline || Outreach Manager || || || || ||%0a\ No newline at end of file%0a---%0a> || lewis_clark || Outreach Manager || || || ||%0a> || join_subline || Outreach Manager || || || ||%0a\ No newline at end of file%0a +host:1620444964=125.224.26.7 +author:1620444914=jrmu +diff:1620444914:1620442817:=5,8c5,8%0a%3c || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || planetofnix, bangcat || Siva, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || || Silence, nix || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || || Quo-fan, st13g, bangcat || || shells || [[ircnow/Testing|Testing]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || ZindaN, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X, monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || || Silence || || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || Quo-fan || st13g, bangcat, nsturtz || || shells || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || ZindaN || ZNC || [[ircnow/Stable|Stable]] ||%0a11,13c11,13%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech, mkf || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || SkIzZaTo, Pete, Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || || Oz, planetofnix, KeKanda, con, bountyht || Nevada, Trex || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || Pete, Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || Oz || planetofnix, KeKanda, con, bountyht || Nevada, Trex || ZNC || [[ircnow/Stable|Stable]] ||%0a15,17c15,17%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, bejelentkezni, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Sami, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman, MisterE || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a +host:1620444914=125.224.26.7 +author:1620442817=jrmu +diff:1620442817:1620393092:=37,45c37%0a%3c || || jrmu || || jrmu@ircnow.org ||%0a%3c %0a%3c %0a%3c Ambassadors:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC nick ||! Duties ||! Email || XMPP || Matrix || Fediverse ||%0a%3c || lewis_clark || Outreach Manager || || || ||%0a%3c || join_subline || Outreach Manager || || || ||%0a\ No newline at end of file%0a---%0a> || || jrmu || || jrmu@ircnow.org ||%0a\ No newline at end of file%0a +host:1620442817=125.224.26.7 +author:1620393092=jrmu +diff:1620393092:1620393061:=24c24,26%0a%3c CodeForce Committers: %0a---%0a> Code Force%0a> %0a> Committers: %0a +host:1620393092=198.251.81.119 +author:1620393061=jrmu +diff:1620393061:1620392726:=22,39c22%0a%3c (:ifend:)%0a%3c %0a%3c Code Force%0a%3c %0a%3c Committers: %0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Team ||! Name ||! Project ||! Email ||%0a%3c || PlanetOfNix || bountyht || || ||%0a%3c || || fizi || || ||%0a%3c || IrcForever || astroanax || || ||%0a%3c || NastyCode || dennis || || ||%0a%3c || Lecturify || gry || || ||%0a%3c || ThunderIRC || Chewbakka85 || || ||%0a%3c || ShellTalk || bangcat || || ||%0a%3c || OddProtocol || Error || || ||%0a%3c || || sarah || || ||%0a%3c || || jrmu || || jrmu@ircnow.org ||%0a\ No newline at end of file%0a---%0a> (:ifend:)%0a\ No newline at end of file%0a +host:1620393061=198.251.81.119 +author:1620392726=jrmu +diff:1620392726:1620091022:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|ThunderIRC]] || irc.thunderirc.net || Chewy || sie, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || sie, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1620392726=198.251.81.119 +author:1620091022=sarah +diff:1620091022:1620039059:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech || ZNC, shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a +host:1620091022=2001:470:ee05:0:9420:450a:63f3:8b5b +author:1620039059=chewy +diff:1620039059:1620038611:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || sie, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1620039059=2a02:1205:34c1:94e0:83cb:25fb:a92b:5b8d +author:1620038611=chewy +diff:1620038611:1619963179:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani, zas || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1620038611=2a02:1205:34c1:94e0:83cb:25fb:a92b:5b8d +author:1619963179=Oz +diff:1619963179:1619963138:= +host:1619963179=2402:1980:8294:275:ac68:8055:f063:7657 +author:1619963138=Oz +diff:1619963138:1619448166:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || Oz || planetofnix, KeKanda, con, bountyht || Nevada, Trex || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || Oz || planetofnix, KeKanda, con || Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1619963138=2402:1980:8294:275:ac68:8055:f063:7657 +author:1619448166=fizi +diff:1619448166:1619261710:=8c8%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || ZindaN || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish, Windows || ZindaN, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || MisterE || shells || [[ircnow/Testing|Testing]] ||%0a +host:1619448166=39.42.100.60 +author:1619261710=sarah +diff:1619261710:1618057251:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || sarah || launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || dennis, launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a +host:1619261710=121.122.95.229 +author:1618057251=jrmu +diff:1618057251:1617798155:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || monaco, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || st13g, ^M, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1618057251=198.251.81.44 +author:1617798155=jrmu +diff:1617798155:1617793140:=17c17%0a%3c || Roost, Luxembourg || [[FreeIRC/FreeIRC|FreeIRC]] || irc.freeirc.org || MIF || waitman || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|FreeIRC]] || irc.freeirc.org || MIF || waitman || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617798155=198.251.81.44 +author:1617793140=jrmu +diff:1617793140:1617792255:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani || Sami, Noxturnix, allen, Salvaje || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617793140=198.251.81.44 +author:1617792255=jrmu +diff:1617792255:1617780742:=6a7%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a9d9%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z, bogani || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617792255=198.251.81.44 +author:1617780742=jrmu +diff:1617780742:1617780716:=17c17%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|FreeIRC]] || irc.freeirc.org || MIF || waitman || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|FreeIRC]] || irc.freeirc.org || || MIF || lovetocode999, xfnw, waitman || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617780742=198.251.81.44 +author:1617780716=jrmu +diff:1617780716:1617178392:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|PlanetOfNix]] || irc.planetofnix.com || Oz || planetofnix, KeKanda, con || Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix, KeKanda, con || Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a17c17%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|FreeIRC]] || irc.freeirc.org || || MIF || lovetocode999, xfnw, waitman || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || || MIF || lovetocode999, xfnw, waitman || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617780716=198.251.81.44 +author:1617178392=chewy +diff:1617178392:1617075455:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || w|z || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || Open || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617178392=2a02:1205:34c1:94e0:d92b:63f2:6ce0:4c09 +author:1617075455=jrmu +diff:1617075455:1617075240:=17c17%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || || MIF || lovetocode999, xfnw, waitman || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || || MIF || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617075455=198.251.81.44 +author:1617075240=jrmu +diff:1617075240:1617018116:=14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || MisterE || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617075240=198.251.81.44 +author:1617018116=jrmu +diff:1617018116:1617016842:=17c17%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || || MIF || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617018116=198.251.81.44 +author:1617016842=jrmu +diff:1617016842:1617016797:= +host:1617016842=198.251.81.44 +author:1617016797=jrmu +diff:1617016797:1617016784:=17c17%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || VPS || [[ircnow/Testing|Testing]] ||%0a +host:1617016797=198.251.81.44 +author:1617016784=jrmu +diff:1617016784:1617016717:=17d16%0a%3c || Roost, Luxembourg || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || VPS || [[ircnow/Testing|Testing]] ||%0a18a18%0a> || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || VPS || [[vps/vps|VPSes]] ||%0a +host:1617016784=198.251.81.44 +author:1617016717=jrmu +diff:1617016717:1617016651:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || dennis, launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd, Chewbakka85 || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a +host:1617016717=198.251.81.44 +author:1617016651=jrmu +diff:1617016651:1617016614:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish, Windows || ZindaN, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish || ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016651=198.251.81.44 +author:1617016614=jrmu +diff:1617016614:1617016321:=7,8c7,8%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || Quo-fan || st13g, bangcat, nsturtz || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || fgdaemon || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || Quo-fan || st13g, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a10c10%0a%3c || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels, Nav|C || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016614=198.251.81.44 +author:1617016321=jrmu +diff:1617016321:1617016308:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || || Silence || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016321=198.251.81.44 +author:1617016308=jrmu +diff:1617016308:1617016229:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || Silence || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, [[gry/bio|gry]], Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016308=198.251.81.44 +author:1617016229=jrmu +diff:1617016229:1617016195:=12c12%0a%3c || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || Pete, Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016229=198.251.81.44 +author:1617016195=jrmu +diff:1617016195:1617015884:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix, KeKanda, con || Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix, KeKanda, con || Nevada, arcadio || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1617016195=198.251.81.44 +author:1617015884=jrmu +diff:1617015884:1616944294:=18c18%0a%3c || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || MIF || lovetocode999, xfnw || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1617015884=198.251.81.44 +author:1616944294=miniontoby +diff:1616944294:1616943187:=10c10%0a%3c || New York, USA || [[https://wiki.ircforever.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1616944294=145.132.146.30 +author:1616943187=Oz +diff:1616943187:1616943170:= +host:1616943187=2402:1980:2b6:c5e1:7de0:27a0:663c:f4a8 +author:1616943170=Oz +diff:1616943170:1616943015:= +host:1616943170=2402:1980:2b6:c5e1:7de0:27a0:663c:f4a8 +author:1616943015=Oz +diff:1616943015:1616941337:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix, KeKanda, con || Nevada, arcadio || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || KeKanda, Nevada, arcadio, con || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1616943015=2402:1980:2b6:c5e1:7de0:27a0:663c:f4a8 +author:1616941337=jrmu +diff:1616941337:1615852661:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Lecturify]] || irc.lecturify.net || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X, monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X, monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|ShellTalk]] || irc.shelltalk.net || Quo-fan || st13g, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Quo-fan || st13g, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a10c10%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|IRCForever]] || irc.ircforever.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a12c12%0a%3c || New York, USA || [[Pear/Pear|NastyCode]] || irc.nastycode.com || dennis || fizi, Quo-fan, Chewbakka || Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|OddProtocol]] || irc.oddprotocol.org || Error || st13g, ^M, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1616941337=198.251.81.44 +author:1615852661=wiz +diff:1615852661:1615812594:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M, Be, skar || gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, skar, gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1615852661=77.100.11.104 +author:1615812594=jrmu +diff:1615812594:1614925594:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Chewy || Open || Sami, Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1615812594=198.251.81.119 +author:1614925594=jrmu +diff:1614925594:1614925567:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, [[gry/bio|gry]], Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, [[gry/bio|gry]], Noxturnix, Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1614925594=198.251.81.119 +author:1614925567=jrmu +diff:1614925567:1614925495:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish || ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish || Windows, ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1614925567=198.251.81.119 +author:1614925495=jrmu +diff:1614925495:1614430715:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Governor ||! Minutemin ||! Ops of Liberty ||! Services ||! Type ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Governor ||! Minute Admins ||! Ops of Liberty ||! Services ||! Type ||%0a7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || fgdaemon || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, sirdeath, KeKanda, Cesur, MadCity, Masterscript, MrKiD || || [[ircnow/Stable|Stable]] ||%0a13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || KeKanda, Nevada, arcadio, con || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak, arcadio, con || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1614925495=198.251.81.119 +author:1614430715=jrmu +diff:1614430715:1614074777:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, skar, gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, sam, gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1614430715=198.251.81.119 +author:1614074777=jrmu +diff:1614074777:1614006918:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Quo-fan || st13g, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a +host:1614074777=198.251.81.119 +author:1614006918=jrmu +diff:1614006918:1613924233:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X, monaco || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, sirdeath, KeKanda, Cesur, MadCity, Masterscript, MrKiD || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur, MadCity, Masterscript, MrKiD || || [[ircnow/Stable|Stable]] ||%0a +host:1614006918=198.251.81.119 +author:1613924233=fizi +diff:1613924233:1613915691:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Mohnish || Windows, ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows, Mohnish || ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613924233=39.42.4.180 +author:1613915691=jrmu +diff:1613915691:1613915677:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur, MadCity, Masterscript, MrKiD || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur, MadCity, Masterscript || || [[ircnow/Stable|Stable]] ||%0a +host:1613915691=198.251.81.119 +author:1613915677=jrmu +diff:1613915677:1613915640:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur, MadCity, Masterscript || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur || || [[ircnow/Stable|Stable]] ||%0a +host:1613915677=198.251.81.119 +author:1613915640=jrmu +diff:1613915640:1613915050:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath, KeKanda, Cesur || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath || || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen, Cesur || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613915640=198.251.81.119 +author:1613915050=jrmu +diff:1613915050:1613700044:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || GabruMalaysia, clausan, cimaron, monaco, sirdeath || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || con, GabruMalaysia, clausan, cimaron, monaco || || [[ircnow/Stable|Stable]] ||%0a13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak, arcadio, con || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak, arcadio || ZNC || [[ircnow/Stable|Stable]] ||%0a16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen, Cesur || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613915050=198.251.81.119 +author:1613700044=jrmu +diff:1613700044:1613581842:=5,7c5,7%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || [[gry/bio|gry]] || planetofnix, bangcat || Siva, NPS, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, [[gry/bio|gry]], Noxturnix, Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || [[jrmu/bio|jrmu]] || || con, GabruMalaysia, clausan, cimaron, monaco || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva, NPS, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix, Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, GabruMalaysia, clausan, cimaron, monaco || || [[ircnow/Stable|Stable]] ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || [[gry/bio|gry]], Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a17,18c17,18%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || [[jrmu/bio|jrmu]] || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a> || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1613700044=198.251.81.119 +author:1613581842=jrmu +diff:1613581842:1613581799:= +host:1613581842=198.251.81.119 +author:1613581799=jrmu +diff:1613581799:1613577908:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix, allen || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613581799=198.251.81.119 +author:1613577908=jrmu +diff:1613577908:1613556042:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva, NPS, PyR3X || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva, NPS || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613577908=198.251.81.119 +author:1613556042=jrmu +diff:1613556042:1613233030:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, GabruMalaysia, clausan, cimaron, monaco || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, GabruMalaysia, clausan, cimaron || || [[ircnow/Stable|Stable]] ||%0a +host:1613556042=198.251.81.119 +author:1613233030=jrmu +diff:1613233030:1613140075:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Chewy || Noxturnix || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Noxturnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1613233030=198.251.81.119 +author:1613140075=jrmu +diff:1613140075:1613140043:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat, nsturtz || gm || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat || gm, MIF || shells || [[ircnow/Testing|Testing]] ||%0a +host:1613140075=198.251.81.119 +author:1613140043=jrmu +diff:1613140043:1612881308:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, GabruMalaysia, clausan, cimaron || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, clausan, cimaron || || [[ircnow/Stable|Stable]] ||%0a +host:1613140043=198.251.81.119 +author:1612881308=jrmu +diff:1612881308:1612878736:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con, clausan, cimaron || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con || || [[ircnow/Stable|Stable]] ||%0a +host:1612881308=198.251.81.119 +author:1612878736=jrmu +diff:1612878736:1612878716:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak, arcadio || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612878736=198.251.81.119 +author:1612878716=jrmu +diff:1612878716:1612878693:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || con || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || jrmu || || [[ircnow/Stable|Stable]] ||%0a +host:1612878716=198.251.81.119 +author:1612878693=jrmu +diff:1612878693:1612786065:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || jrmu || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612878693=198.251.81.119 +author:1612786065=jrmu +diff:1612786065:1612785542:=17,18c17,18%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a%3c || New York, USA || [[Pineapple/Pineapple|Pineapple]] || || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a> || New York, USA || [[Pineapple/Pineapple|Pineapple]] || irc.pineapple.ircnow.org || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1612786065=198.251.81.119 +author:1612785542=jrmu +diff:1612785542:1612785485:=12c12%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Samy, k4k0 || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Samy || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612785542=198.251.81.119 +author:1612785485=jrmu +diff:1612785485:1612785271:=12c12%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Samy || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612785485=198.251.81.119 +author:1612785271=jrmu +diff:1612785271:1612773764:=7c7%0a%3c || Las Vegas, USA || [[IRCNow/IRCNow|IRCNow]] || irc.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612785271=198.251.81.119 +author:1612773764=jrmu +diff:1612773764:1612772302:=7c7%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[breadofgod/breadofgod|BreadOfGod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612773764=198.251.81.119 +author:1612772302=jrmu +diff:1612772302:1612770773:=7c7%0a%3c || Las Vegas, USA || [[breadofgod/breadofgod|BreadOfGod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[breadofgod/breadofgod|breadofgod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612772302=198.251.81.119 +author:1612770773=jrmu +diff:1612770773:1612770741:=7c7%0a%3c || Las Vegas, USA || [[breadofgod/breadofgod|breadofgod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Breadofgod/Breadofgod|Breadofgod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612770773=198.251.81.119 +author:1612770741=jrmu +diff:1612770741:1612655963:=7c7%0a%3c || Las Vegas, USA || [[Breadofgod/Breadofgod|Breadofgod]] || irc.breadofgod.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a +host:1612770741=198.251.81.119 +author:1612655963=jrmu +diff:1612655963:1612624436:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva, NPS || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612655963=198.251.81.119 +author:1612624436=jrmu +diff:1612624436:1612594687:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat || gm, MIF || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat || gm || shells || [[ircnow/Testing|Testing]] ||%0a +host:1612624436=125.231.56.15 +author:1612594687=jrmu +diff:1612594687:1612491789:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, sam, gm, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, sam, BugzBunny, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612594687=198.251.81.119 +author:1612491789=jrmu +diff:1612491789:1612491466:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || planetofnix || Lora, Nevada, SaltPeak || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Lora, Nevada, SaltPeak || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612491789=198.251.81.119 +author:1612491466=jrmu +diff:1612491466:1612491376:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows, Mohnish || ZindaN, Kingpin, Kempachi || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows, Mohnish || ZindaN, Kingpin || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612491466=198.251.81.119 +author:1612491376=jrmu +diff:1612491376:1612491159:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || Quo-fan, bangcat || gm || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1612491376=198.251.81.119 +author:1612491159=jrmu +diff:1612491159:1612491133:= +host:1612491159=198.251.81.119 +author:1612491133=jrmu +diff:1612491133:1612375729:=13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Lora, Nevada, SaltPeak || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Lora, Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612491133=198.251.81.119 +author:1612375729=fizi +diff:1612375729:1612283342:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows, Mohnish || ZindaN, Kingpin || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows || ZindaN, Kingpin, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612375729=39.42.1.177 +author:1612283342=jrmu +diff:1612283342:1612093909:=12c12%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Poul || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612283342=198.251.81.119 +author:1612093909=jrmu +diff:1612093909:1612086274:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix, Silence || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh, Silence || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612093909=125.224.24.163 +author:1612086274=jrmu +diff:1612086274:1611806315:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh, Silence || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1612086274=125.224.24.163 +author:1611806315=jrmu +diff:1611806315:1611757300:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || Noxturnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611806315=125.231.24.226 +author:1611757300=nix +diff:1611757300:1611737641:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd, Chewbakka85 || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a +host:1611757300=49.145.199.81 +author:1611737641=fizi +diff:1611737641:1611516674:=12c12%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan, Chewbakka || Poul || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || Poul, Chewbakka || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611737641=39.42.92.13 +author:1611516674=fizi +diff:1611516674:1611325697:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat, Windows || ZindaN, Kingpin, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows, ZindaN, Kingpin, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611516674=39.42.45.28 +author:1611325697=jrmu +diff:1611325697:1611282188:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh, Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows, ZindaN, Kingpin, mohnish || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows, ZindaN, Kingpin || ZNC || [[ircnow/Stable|Stable]] ||%0a13c13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Lora, Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611325697=125.231.35.24 +author:1611282188=jrmu +diff:1611282188:1611281882:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Governor ||! Minute Admins ||! Ops of Liberty ||! Services ||! Type ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Governor ||! Sysadmins ||! Ops of Liberty ||! Services ||! Type ||%0a +host:1611282188=125.231.35.24 +author:1611281882=jrmu +diff:1611281882:1611281875:= +host:1611281882=125.231.35.24 +author:1611281875=nix +diff:1611281875:1611281703:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd || ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1611281875=120.72.21.24 +author:1611281703=jrmu +diff:1611281703:1611281423:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Governor ||! Sysadmins ||! Ops of Liberty ||! Services ||! Type ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Ops of Liberty ||! Services ||! Type ||%0a +host:1611281703=125.231.35.24 +author:1611281423=nix +diff:1611281423:1611280686:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan, launchd || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || launchd, ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a +host:1611281423=120.72.21.24 +author:1611280686=jrmu +diff:1611280686:1611276872:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Ops of Liberty ||! Services ||! Type ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Trainees ||! Services ||! Type ||%0a +host:1611280686=125.231.35.24 +author:1611276872=jrmu +diff:1611276872:1611243662:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || launchd, ComputerTech || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || launchd || shells || [[ircnow/Testing|Testing]] ||%0a +host:1611276872=125.231.35.24 +author:1611243662=jrmu +diff:1611243662:1611243436:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh, Nevada || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611243662=125.224.21.52 +author:1611243436=jrmu +diff:1611243436:1611243384:=11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || launchd || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a +host:1611243436=125.224.21.52 +author:1611243384=jrmu +diff:1611243384:1611234178:=18d17%0a%3c || New York, USA || [[Pineapple/Pineapple|Pineapple]] || irc.pineapple.ircnow.org || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a +host:1611243384=125.224.21.52 +author:1611234178=jrmu +diff:1611234178:1611160324:=6c6%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || howhigh || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611234178=125.224.21.52 +author:1611160324=jrmu +diff:1611160324:1611160297:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || Be, sam, BugzBunny, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611160324=125.224.21.52 +author:1611160297=jrmu +diff:1611160297:1611160255:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows, ZindaN, Kingpin || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611160297=125.224.21.52 +author:1611160255=jrmu +diff:1611160255:1611137785:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || planetofnix, bangcat || Siva || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a12c12%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || Poul, Chewbakka || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || ZNC || [[ircnow/Stable|Stable]] ||%0a15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny, Pete || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611160255=125.224.21.52 +author:1611137785=jrmu +diff:1611137785:1611122995:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || Windows || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611137785=125.224.21.52 +author:1611122995=wiz +diff:1611122995:1611122977:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M ||sam, BugzBunny || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611122995=77.100.11.104 +author:1611122977=wiz +diff:1611122977:1611122953:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M ||sam, BugzBunny || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny|| ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611122977=77.100.11.104 +author:1611122953=wiz +diff:1611122953:1611122916:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || sam, BugzBunny|| ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M ||sam, BugzBunny|| ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611122953=77.100.11.104 +author:1611122916=wiz +diff:1611122916:1611107390:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M ||sam, BugzBunny|| ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611122916=77.100.11.104 +author:1611107390=jrmu +diff:1611107390:1611107344:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || ZNC || [[ircnow/Stable|Stable]] ||%0a +host:1611107390=125.224.21.52 +author:1611107344=jrmu +diff:1611107344:1611107328:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || liberty shells || [[ircnow/Testing|Testing]] ||%0a11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || liberty shells || [[ircnow/Testing|Testing]] ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || shells || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || liberty shells || [[ircnow/Testing|Testing]] ||%0a +host:1611107344=125.224.21.52 +author:1611107328=jrmu +diff:1611107328:1611107170:=5,6c5,6%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || ZNC || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || || [[ircnow/Stable|Stable]] ||%0a8,17c8,17%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || liberty shells || [[ircnow/Testing|Testing]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || liberty shells || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || liberty shells || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || ZNC || [[ircnow/Stable|Stable]] ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || VPS || [[vps/vps|VPSes]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || || [[ircnow/Stable|Stable]] ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || || [[vps/vps|VPSes]] ||%0a +host:1611107328=125.224.21.52 +author:1611107170=jrmu +diff:1611107170:1611106126:=4,17c4,17%0a%3c ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Trainees ||! Services ||! Type ||%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || || [[ircnow/Testing|Testing]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || || [[ircnow/Stable|Stable]] ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || || [[vps/vps|VPSes]] ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Trainees ||! Type ||%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || [[ircnow/Stable|Stable]] ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || [[vps/vps|VPSes]] ||%0a19,20c19,20%0a%3c || Round-robin || || irc.ircnow.org || || || || IPv4 ||%0a%3c || Round-robin || || irc6.ircnow.org || || || || IPv6 ||%0a---%0a> || Round-robin || || irc.ircnow.org || || || IPv4 ||%0a> || Round-robin || || irc6.ircnow.org || || || IPv6 ||%0a +host:1611107170=125.224.21.52 +author:1611106126=jrmu +diff:1611106126:1610337878:=4,17c4,17%0a%3c ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Trainees ||! Type ||%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || || [[ircnow/Testing|Testing]] ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || || [[ircnow/Testing|Testing]] ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || || [[ircnow/Testing|Testing]] ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || || [[ircnow/Stable|Stable]] ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || || [[vps/vps|VPSes]] ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Type ||%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || [[ircnow/Stable|Stable]] ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || [[ircnow/Testing|Testing]] ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || [[ircnow/Testing|Testing]] ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || [[ircnow/Stable|Stable]] ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || [[ircnow/Testing|Testing]] ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || [[ircnow/Stable|Stable]] ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || [[ircnow/Stable|Stable]] ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || [[vps/vps|VPSes]] ||%0a19,20c19,20%0a%3c || Round-robin || || irc.ircnow.org || || || IPv4 ||%0a%3c || Round-robin || || irc6.ircnow.org || || || IPv6 ||%0a---%0a> || Round-robin || || irc.ircnow.org || || IPv4 ||%0a> || Round-robin || || irc6.ircnow.org || || IPv6 ||%0a +host:1611106126=125.224.21.52 +author:1610337878=Moshe +diff:1610337878:1609964552:=15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g, ^M || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || [[ircnow/Stable|Stable]] ||%0a +host:1610337878=87.68.24.79 +author:1609964552=fizi +diff:1609964552:1609962719:=9c9%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || bangcat || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || [[ircnow/Stable|Stable]] ||%0a +host:1609964552=39.42.105.113 +author:1609962719=Noxturnix +diff:1609962719:1609861959:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || Dima || [[ircnow/Stable|Stable]] ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || [[ircnow/Stable|Stable]] ||%0a +host:1609962719=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1609861959=jrmu +diff:1609861959:1609860759:=5c5%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix, bangcat || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || [[ircnow/Stable|Stable]] ||%0a +host:1609861959=125.231.63.134 +author:1609860759=miniontoby +csum:1609860759=Thor_Of_Angels added to banana +diff:1609860759:1609684391:=10c10%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || Thor_Of_Angels || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || || [[ircnow/Stable|Stable]] ||%0a +host:1609860759=145.132.146.30 +author:1609684391=jrmu +diff:1609684391:1609483815:=10c10%0a%3c || New York, USA || [[https://wiki.banana.ircnow.org/|Banana]] || irc.banana.ircnow.org || Miniontoby || || [[ircnow/Stable|Stable]] ||%0a---%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || [[ircnow/Stable|Stable]] ||%0a +host:1609684391=125.231.63.134 +author:1609483815=jrmu +diff:1609483815:1609472239:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Type ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Notes ||%0a +host:1609483815=198.251.81.119 +author:1609472239=jrmu +diff:1609472239:1609332353:=17c17%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || [[vps/vps|VPSes]] ||%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || VPSes ||%0a +host:1609472239=198.251.81.119 +author:1609332353=jrmu +diff:1609332353:1609332263:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || [[ircnow/Testing|Testing]] ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || Testing ||%0a11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || [[ircnow/Testing|Testing]] ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || Testing ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || [[ircnow/Testing|Testing]] ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || Testing ||%0a +host:1609332353=198.251.81.119 +author:1609332263=jrmu +diff:1609332263:1609176551:=5,16c5,16%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || [[ircnow/Stable|Stable]] ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || Testing ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || Testing ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || [[ircnow/Stable|Stable]] ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || Testing ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || [[ircnow/Stable|Stable]] ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || [[ircnow/Stable|Stable]] ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || Stable ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || Stable ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || Stable ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || Shell Accounts ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || Stable ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || Stable ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || Shell Accounts ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || Stable ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Stable ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || Shell Accounts ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || Stable ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || Stable ||%0a +host:1609332263=198.251.81.119 +author:1609176551=jrmu +diff:1609176551:1609176517:=5,7c5,7%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || Stable ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || Stable ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || Stable ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix ||! Stable ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix ||! Stable ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || ||! Stable ||%0a9,10c9,10%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || Stable ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || Stable ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || ||! Stable ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || ||! Stable ||%0a12,13c12,13%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || Stable ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || Stable ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan ||! Stable ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || ||! Stable ||%0a15,16c15,16%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || Stable ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || Stable ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g ||! Stable ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || ||! Stable ||%0a +host:1609176551=198.251.81.119 +author:1609176517=jrmu +diff:1609176517:1608378441:=5,7c5,7%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix ||! Stable ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix ||! Stable ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || ||! Stable ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || ||%0a9,10c9,10%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || ||! Stable ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || ||! Stable ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || ||%0a12,13c12,13%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan ||! Stable ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || ||! Stable ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || ||%0a15,17c15,17%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g ||! Stable ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || ||! Stable ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || VPSes ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || ||%0a +host:1609176517=198.251.81.119 +author:1608378441=jrmu +diff:1608378441:1607698746:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || st13g || || Shell Accounts ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || || st13g || Shell Accounts ||%0a +host:1608378441=198.251.81.119 +author:1607698746=jrmu +diff:1607698746:1607696313:=8c8%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || || st13g || Shell Accounts ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || || Shell Accounts ||%0a15c15%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || st13g || ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || || ||%0a +host:1607698746=125.231.36.229 +author:1607696313=jrmu +diff:1607696313:1607516974:=10c10%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Miniontoby || || ||%0a---%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Open || || ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, Miniontoby || Shell Accounts ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, MiniontobyPI || Shell Accounts ||%0a +host:1607696313=125.231.36.229 +author:1607516974=jrmu +diff:1607516974:1607516966:=4c4%0a%3c ||! Location ||! Name ||! Hostname ||! Leader ||! Sysadmins ||! Notes ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Leader || Sysadmins ||! Notes ||%0a +host:1607516974=125.231.36.229 +author:1607516966=jrmu +diff:1607516966:1607516894:=4,17c4,17%0a%3c ||! Location ||! Name ||! Hostname ||! Leader || Sysadmins ||! Notes ||%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry || Siva, planetofnix || ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || Oz, gry, Noxturnix || ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || || ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || || Shell Accounts ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || || ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Open || || ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix || Oz, dennis, Quo-fan || Shell Accounts ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis || fizi, Quo-fan || ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || || ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi || gry, Error, MiniontobyPI || Shell Accounts ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || || ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || || ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || || ||%0a---%0a> ||! Location ||! Name ||! Hostname ||! Sysadmins ||! Notes ||%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || '''gry''', Siva, planetofnix || ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || '''nix''', Oz, gry, Noxturnix || ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || '''jrmu''' || ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || '''Open''' || Shell Accounts ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || '''fizi''' || ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || '''Open''' || ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || '''nix''', Oz, dennis, Quo-fan || Shell Accounts ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || '''dennis''', fizi, Quo-fan || ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || '''Oz''' || ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || '''fizi''', gry, Error, MiniontobyPI || Shell Accounts ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || '''Error''' || ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || '''Noxturnix''' || ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || '''jrmu''' || ||%0a +host:1607516966=125.231.36.229 +author:1607516894=jrmu +diff:1607516894:1607516877:=17c17%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || '''jrmu''' || ||%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || ||%0a +host:1607516894=125.231.36.229 +author:1607516877=jrmu +diff:1607516877:1607515763:=5,16c5,16%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || '''gry''', Siva, planetofnix || ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || '''nix''', Oz, gry, Noxturnix || ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || '''jrmu''' || ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || '''Open''' || Shell Accounts ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || '''fizi''' || ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || '''Open''' || ||%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || '''nix''', Oz, dennis, Quo-fan || Shell Accounts ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || '''dennis''', fizi, Quo-fan || ||%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || '''Oz''' || ||%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || '''fizi''', gry, Error, MiniontobyPI || Shell Accounts ||%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || '''Error''' || ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || '''Noxturnix''' || ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry, Siva, planetofnix || ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix, Oz, gry, Noxturnix || ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || Shell Accounts ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Open || ||%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix, Oz, dennis, Quo-fan || Shell Accounts ||%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || fizi, dennis, Quo-fan || ||%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || ||%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, gry, Error, MiniontobyPI || Shell Accounts ||%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || ||%0a +host:1607516877=125.231.36.229 +author:1607515763=fizi +diff:1607515763:1606633679:=14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, gry, Error, MiniontobyPI || Shell Accounts ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, gry, Error || Shell Accounts ||%0a +host:1607515763=39.42.105.20 +author:1606633679=jrmu +diff:1606633679:1606443218:=14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, gry, Error || Shell Accounts ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, Baytuch, gry, Error || Shell Accounts ||%0a +host:1606633679=198.251.81.119 +author:1606443218=jrmu +diff:1606443218:1606442653:=17c17%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || irc.coconut.ircnow.org || jrmu || ||%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || coconut.ircnow.org || jrmu || ||%0a +host:1606443218=198.251.81.119 +author:1606442653=jrmu +diff:1606442653:1606299346:=4a5,6%0a> || Round-robin || || irc.ircnow.org || || IPv4 ||%0a> || Round-robin || || irc6.ircnow.org || || IPv6 ||%0a17,21c19%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || coconut.ircnow.org || jrmu || ||%0a%3c (:if false:)%0a%3c || Round-robin || || irc.ircnow.org || || IPv4 ||%0a%3c || Round-robin || || irc6.ircnow.org || || IPv6 ||%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || coconut.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1606442653=198.251.81.119 +author:1606299346=jrmu +diff:1606299346:1606298012:=14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || fizi, dennis, Quo-fan || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || fizi, dennis, Quo-fan, Silence || ||%0a +host:1606299346=198.251.81.119 +author:1606298012=jrmu +diff:1606298012:1605083304:=11c11%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi || ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi, locustlord || ||%0a13c13%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || nix, Oz, dennis, Quo-fan || Shell Accounts ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis, Quo-fan || Shell Accounts ||%0a +host:1606298012=198.251.81.119 +author:1605083304=jrmu +diff:1605083304:1604950622:=12c12%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Open || ||%0a---%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Baytuch || ||%0a +host:1605083304=198.251.81.119 +author:1604950622=fizi +diff:1604950622:1604950534:=14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || fizi, dennis, Quo-fan, Silence || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis, fizi, Quo-fan, Silence || ||%0a16c16%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || fizi, Baytuch, gry, Error || Shell Accounts ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry, Error || Shell Accounts ||%0a +host:1604950622=39.42.67.45 +author:1604950534=fizi +diff:1604950534:1603990334:=11c11%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || fizi, locustlord || ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || locustlord || ||%0a +host:1604950534=39.42.67.45 +author:1603990334=Noxturnix +diff:1603990334:1603532058:=8c8%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix, Oz, gry, Noxturnix || ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix, Oz, gry || ||%0a18c18%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Noxturnix || ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || ||%0a +host:1603990334=2601:646:8600:a2b0::db5 +author:1603532058=jrmu +diff:1603532058:1603532026:=3c3%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> || border=1%0a +host:1603532058=125.224.28.18 +author:1603532026=jrmu +diff:1603532026:1603034562:=10c10%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || Shell Accounts ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || ||%0a13c13%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis, Quo-fan || Shell Accounts ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis, Quo-fan || ||%0a16c16%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry, Error || Shell Accounts ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry, Error || ||%0a +host:1603532026=125.224.28.18 +author:1603034562=fizi +diff:1603034562:1602941480:=14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis, fizi, Quo-fan, Silence || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis, fizi, Quo-fan || ||%0a +host:1603034562=39.42.61.108 +author:1602941480=wiz +diff:1602941480:1602325315:=16c16%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry, Error || ||%0a---%0a> || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a +host:1602941480=77.100.11.104 +author:1602325315=quofan +diff:1602325315:1602321932:=13c13%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis, Quo-fan || ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis || ||%0a +host:1602325315=2001:14ba:a40b:e00:12e7:c6ff:fe7f:3755 +author:1602321932=jrmu +diff:1602321932:1601891134:=7,8c7,8%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || gry, Siva, planetofnix || ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix, Oz, gry || ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva, planetofnix || ||%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || ||%0a10c10%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || Open || ||%0a---%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || jrmu || ||%0a14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || dennis, fizi, Quo-fan || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis, fizi, Quo-fan || ||%0a18c18%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || Open || ||%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || jrmu || ||%0a +host:1602321932=125.231.67.217 +author:1601891134=jrmu +diff:1601891134:1601891102:= +host:1601891134=38.81.163.143 +author:1601891102=jrmu +diff:1601891102:1600358994:=8,12c8,12%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.mango.ircnow.org || nix || ||%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.peach.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.guava.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.jujube.ircnow.org || locustlord || ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.banana.ircnow.org || Baytuch || ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.us7.ircnow.org || nix || ||%0a> || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.us8.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.us10.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.us11.ircnow.org || locustlord || ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || Baytuch || ||%0a15c15%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.cherry.ircnow.org || Oz || ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.us2.ircnow.org || Oz || ||%0a17,19c17,19%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.plum.ircnow.org || Error || ||%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.fig.ircnow.org || jrmu || ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || coconut.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.lu2.ircnow.org || Error || ||%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.lu3.ircnow.org || jrmu || ||%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || us5.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1601891102=38.81.163.143 +author:1600358994=jrmu +diff:1600358994:1598967284:=8c8%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.us7.ircnow.org || nix || ||%0a---%0a> || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.us7.ircnow.org || jrmu || ||%0a11,12c11,12%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.us11.ircnow.org || locustlord || ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || Baytuch || ||%0a---%0a> || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.us11.ircnow.org || jrmu || ||%0a> || New York, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || jrmu || ||%0a15c15%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.us2.ircnow.org || Oz || ||%0a---%0a> || New York, USA || [[Cherry/Cherry|Cherry]] || irc.us2.ircnow.org || jrmu || ||%0a17c17%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.lu2.ircnow.org || Error || ||%0a---%0a> || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.lu2.ircnow.org || jrmu || ||%0a +host:1600358994=38.81.163.143 +author:1598967284=jrmu +diff:1598967284:1598967269:=15a16%0a> || Texas, USA || [[Coconut/Coconut|Coconut]] || us5.ircnow.org || jrmu || ||%0a18,19c19%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.lu3.ircnow.org || jrmu || ||%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || us5.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1598967284=38.81.163.143 +author:1598967269=jrmu +diff:1598967269:1598707556:=15a16%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.us4.ircnow.org || jrmu || ||%0a +host:1598967269=38.81.163.143 +author:1598707556=dennis +diff:1598707556:1598698952:=13c13%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz, dennis || ||%0a---%0a> || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a +host:1598707556=31.21.104.59 +author:1598698952=dennis +diff:1598698952:1598698526:=14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis, fizi, Quo-fan || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis, fizi || ||%0a +host:1598698952=31.21.104.59 +author:1598698526=dennis +diff:1598698526:1598696073:=14c14%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis, fizi || ||%0a---%0a> || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis || ||%0a +host:1598698526=31.21.104.59 +author:1598696073=dennis +diff:1598696073:1598499586:=14d13%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.pear.ircnow.org || Silence, dennis || ||%0a +host:1598696073=31.21.104.59 +author:1598499586=jrmu +diff:1598499586:1598191776:=16d15%0a%3c || Texas, USA || [[Coconut/Coconut|Coconut]] || us5.ircnow.org || jrmu || ||%0a +host:1598499586=38.81.163.143 +author:1598191776=planetofnix +diff:1598191776:1597919216:=7c7%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva, planetofnix || ||%0a---%0a> || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a +host:1598191776=139.194.104.52 +author:1597919216=jrmu +diff:1597919216:1597918989:=9a10%0a> || Las Vegas, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || jrmu || ||%0a11,12d11%0a%3c || Las Vegas, USA || [[Jujube/Jujube|Jujube]] || irc.us11.ircnow.org || jrmu || ||%0a%3c || New York, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || jrmu || ||%0a +host:1597919216=38.81.163.143 +author:1597918989=jrmu +diff:1597918989:1597918957:= +host:1597918989=38.81.163.143 +author:1597918957=jrmu +diff:1597918957:1597030982:=10d9%0a%3c || Las Vegas, USA || [[Banana/Banana|Banana]] || irc.us9.ircnow.org || jrmu || ||%0a +host:1597918957=38.81.163.143 +author:1597030982=jrmu +diff:1597030982:1597030641:=16c16%0a%3c || Roost, Luxembourg || [[Fig/Fig|Fig]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Roost, Luxembourg || [[Jujube/Jujube|Jujube]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1597030982=38.81.163.143 +author:1597030641=jrmu +diff:1597030641:1597030612:=16c16%0a%3c || Roost, Luxembourg || [[Jujube/Jujube|Jujube]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Roost, Luxembourg || [[Coconut/Coconut|Coconut]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1597030641=38.81.163.143 +author:1597030612=jrmu +diff:1597030612:1597030412:=9,10c9,10%0a%3c || Las Vegas, USA || [[Peach/Peach|Peach]] || irc.us8.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || [[Guava/Guava|Guava]] || irc.us10.ircnow.org || jrmu || ||%0a---%0a> || Las Vegas, USA || || irc.us8.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || || irc.us10.ircnow.org || jrmu || ||%0a12,13c12,13%0a%3c || New York, USA || [[Cherry/Cherry|Cherry]] || irc.us2.ircnow.org || jrmu || ||%0a%3c || New York, USA || [[Pear/Pear|Pear]] || irc.us4.ircnow.org || jrmu || ||%0a---%0a> || New York, USA || || irc.us2.ircnow.org || jrmu || ||%0a> || New York, USA || || irc.us4.ircnow.org || jrmu || ||%0a15,16c15,16%0a%3c || Roost, Luxembourg || [[Plum/Plum|Plum]] || irc.lu2.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || [[Coconut/Coconut|Coconut]] || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> || Roost, Luxembourg || || irc.lu2.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1597030612=38.81.163.143 +author:1597030412=jrmu +diff:1597030412:1597030354:=7,8c7,8%0a%3c || Las Vegas, USA || [[Orange/Orange|Orange]] || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a%3c || Las Vegas, USA || [[Mango/Mango|Mango]] || irc.us7.ircnow.org || jrmu || ||%0a---%0a> || Las Vegas, USA || Orange || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a> || Las Vegas, USA || || irc.us7.ircnow.org || jrmu || ||%0a11c11%0a%3c || New York, USA || [[Lemon/Lemon|Lemon]] || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a---%0a> || New York, USA || Lemon || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a14c14%0a%3c || Roost, Luxembourg || [[Grape/Grape|Grape]] || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a---%0a> || Roost, Luxembourg || || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a +host:1597030412=38.81.163.143 +author:1597030354=jrmu +diff:1597030354:1596187345:=4,16c4,16%0a%3c ||! Location ||! Name ||! Hostname ||! Sysadmins ||! Notes ||%0a%3c || Round-robin || || irc.ircnow.org || || IPv4 ||%0a%3c || Round-robin || || irc6.ircnow.org || || IPv6 ||%0a%3c || Las Vegas, USA || Orange || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a%3c || Las Vegas, USA || || irc.us7.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || || irc.us8.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || || irc.us10.ircnow.org || jrmu || ||%0a%3c || New York, USA || Lemon || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a%3c || New York, USA || || irc.us2.ircnow.org || jrmu || ||%0a%3c || New York, USA || || irc.us4.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a%3c || Roost, Luxembourg || || irc.lu2.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a---%0a> ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a> || Round-robin || irc.ircnow.org || || IPv4 ||%0a> || Round-robin || irc6.ircnow.org || || IPv6 ||%0a> || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a> || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a> || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a> || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a> || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a> || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a> || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a> || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1597030354=38.81.163.143 +author:1596187345=jrmu +diff:1596187345:1596187345:=1,16d0%0a%3c IRCNow is a federation of self-governing servers. Each server is run by its own team of sysadmins who provide different internet services.%0a%3c %0a%3c || border=1%0a%3c ||! Location ||! Hostname ||! Sysadmins ||! Notes ||%0a%3c || Round-robin || irc.ircnow.org || || IPv4 ||%0a%3c || Round-robin || irc6.ircnow.org || || IPv6 ||%0a%3c || Las Vegas, USA || irc.orange.ircnow.org || compTECH, locustlord, gry, Siva || ||%0a%3c || Las Vegas, USA || irc.us7.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us8.ircnow.org || jrmu || ||%0a%3c || Las Vegas, USA || irc.us10.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.lemon.ircnow.org || Sergio, nix, Oz || ||%0a%3c || New York, USA || irc.us2.ircnow.org || jrmu || ||%0a%3c || New York, USA || irc.us4.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.grape.ircnow.org || Baytuch, fizi, gry || ||%0a%3c || Roost, Luxembourg || irc.lu2.ircnow.org || jrmu || ||%0a%3c || Roost, Luxembourg || irc.lu3.ircnow.org || jrmu || ||%0a\ No newline at end of file%0a +host:1596187345=38.81.163.143 blob - /dev/null blob + 0da3a2d099b29a505145e9e21ddd0ce2fd725549 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Settler @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635523415 +host=38.87.162.8 +name=Ircnow.Settler +rev=1 +targets=Freedom.Freedom,Vps.Vps,Shell.Shell,Ircnow.Servers,Openbsd.Vmmuser,Vmm.Configure,Vmm.DebianIso,Vmm.DevuanIso,Vmm.UbuntuIso,Minutemin.Bootcamp,Ircnow.Goals,Ircnow.Minutemin +text=(:title Run Your Favorite OS on OpenBSD VMM:)%0a%0a!! Free 4-Week Virtual Private Server With Any Supported OS%0a%0aTo ensure that IRCNow is a network that the users control, able to run%0asoftware that users love, we are planning to add support for any free/open source%0aoperating system on our virtual machines. Our hypervisor is running OpenBSD,%0aand we need your help to add support for your favorite operating system%0ato run as guest.%0a%0aWe are offering free a 4-week trial to help test and set up the VPS.%0a%0a'''WARNING''': We make no claims or guarantees that your OS will work on OpenBSD VMM. This is purely experimental.%0a%0a!! Your Responsibilities%0a%0a'''You must agree to''':%0a%0a# Document installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a# Participate in the IRCNow community on IRC and email, and help with occasional tech support%0a# Help contribute code%0a%0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! How to Apply%0a%0a# If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a# Send an email to admin@ircnow.org%0a# Get verified using any one method below:%0a # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a # Provide a photo ID, or%0a # Provide personal social media/website/blog/work portfolio/resume%0a # Send $0.01 one cent using an accepted payment option%0a%0a!! Get Familiar%0a%0a# Read up on [[openbsd/vmmuser|OpenBSD's VMM]]. Learn how [[vmm/configure|VMM is configured]].%0a# See the [[Vmm/DebianIso|Debian]], [[Vmm/DevuanIso|Devuan]], and [[Vmm/UbuntuIso|Ubuntu]] installation guides.%0a# '''RECOMMENDED''': Go through the [[minutemin/bootcamp|OpenBSD minutemin training]].%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +time=1635523415 +title=Run Your Favorite OS on OpenBSD VMM +author:1635523415=jrmu +diff:1635523415:1635523415:=1,57d0%0a%3c (:title Run Your Favorite OS on OpenBSD VMM:)%0a%3c %0a%3c !! Free 4-Week Virtual Private Server With Any Supported OS%0a%3c %0a%3c To ensure that IRCNow is a network that the users control, able to run%0a%3c software that users love, we are planning to add support for any free/open source%0a%3c operating system on our virtual machines. Our hypervisor is running OpenBSD,%0a%3c and we need your help to add support for your favorite operating system%0a%3c to run as guest.%0a%3c %0a%3c We are offering free a 4-week trial to help test and set up the VPS.%0a%3c %0a%3c '''WARNING''': We make no claims or guarantees that your OS will work on OpenBSD VMM. This is purely experimental.%0a%3c %0a%3c !! Your Responsibilities%0a%3c %0a%3c '''You must agree to''':%0a%3c %0a%3c # Document installation, configuration, and usage of your favorite OS inside OpenBSD VMM%0a%3c # Participate in the IRCNow community on IRC and email, and help with occasional tech support%0a%3c # Help contribute code%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # If you're new to Unix, create a [[shell/shell|free shell account]] and finish the unix101 tutorial.%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #shell%0a%3c # Send an email to admin@ircnow.org%0a%3c # Get verified using any one method below:%0a%3c # If anonymous, find a mutual friend who can refer you to IRCNow staff, or%0a%3c # Provide a photo ID, or%0a%3c # Provide personal social media/website/blog/work portfolio/resume%0a%3c # Send $0.01 one cent using an accepted payment option%0a%3c %0a%3c !! Get Familiar%0a%3c %0a%3c # Read up on [[openbsd/vmmuser|OpenBSD's VMM]]. Learn how [[vmm/configure|VMM is configured]].%0a%3c # See the [[Vmm/DebianIso|Debian]], [[Vmm/DevuanIso|Devuan]], and [[Vmm/UbuntuIso|Ubuntu]] installation guides.%0a%3c # '''RECOMMENDED''': Go through the [[minutemin/bootcamp|OpenBSD minutemin training]].%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a +host:1635523415=38.87.162.8 blob - /dev/null blob + 7ff64261d1fc3717d91defe33d84aa5eebdb0d4f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Sheriff @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612529387 +host=125.224.17.185 +name=Ircnow.Sheriff +rev=14 +targets=Vps.Vps,Ircnow.Goals,Freedom.Freedom,Almanack.Almanack,Openbsd.Police,Ircnow.Networks,Ircnow.Roadmap,Ircnow.Finances +text=(:title Apply to be an IRC Sheriff:)%0a%0a%25width=400px rfloat%25 Attach:Marketing/wanted.jpg%0a%0aHowdy stranger, we need your help. Billy the Skid and his band of cutthroats are DDoSing the town. The network's deserted. %0aThese hombres are mean, vicious and quick with botnets. %0a%0aWanted: doxed or offline%0a%0a!! How the West was Won%0a%0aIf you want to help stop internet crime, take script kiddies offline, and investigate abuse, this is the job for you.%0a%0a!! Your Reward%0a%0a# '''Become staff on IRCNow'''%0a# '''[[vps/vps|Free OpenBSD VPS]]'''%0a# Learn about Internet security using free and open source software.%0a# Receive extra accounts and services as needed%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe may someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Understand [[Almanack/Almanack|our technology and software]].%0a# Read the [[openbsd/police|policing guide]]%0a# Contact us on IRC or email your application to admin@ircnow.org. Sheriffs can remain anonymous.%0a# We'll interview you, and if you are qualified, you'll be promoted to sheriff!%0a%0a!! Your Duties%0a%0a# Commit to help our network for a minimum of 5 hours per week%0a# Get to know [[ircnow/networks|all the networks on IRC]].%0a# Investigate suspected abusers by collecting logs, screenshots, and other evidence%0a# File abuse reports to ISPs to take abusers offline%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1621324847 +title=Apply to be an IRC Sheriff +author:1621324847=jrmu +diff:1621324847:1621324618:=30,33c30,33%0a%3c # Read the [[openbsd/police|policing guide]]%0a%3c # Contact us on IRC or email your application to admin@ircnow.org. Sheriffs can remain anonymous.%0a%3c # We'll interview you, and if you are qualified, you'll be promoted to sheriff!%0a%3c %0a---%0a> # [[shell/shell|Request a shell account]] and other IRC services.%0a> # Contact us on IRC or email your application to admin@ircnow.org. Ambassadors can remain anonymous.%0a> # We'll interview you, and if you are qualified, you'll be promoted to staff!%0a> %0a38,39d37%0a%3c # Investigate suspected abusers by collecting logs, screenshots, and other evidence%0a%3c # File abuse reports to ISPs to take abusers offline%0a +host:1621324847=125.224.17.185 +author:1621324618=jrmu +diff:1621324618:1621324606:=10a11,12%0a> %0a> (:title Become an IRCNow Ambassador!:)%0a +host:1621324618=125.224.17.185 +author:1621324606=jrmu +diff:1621324606:1621324589:=6c6%0a%3c These hombres are mean, vicious and quick with botnets. %0a---%0a> Tfhese hombres are mean, vicious and quick with botnets. %0a +host:1621324606=125.224.17.185 +author:1621324589=jrmu +diff:1621324589:1621324475:= +host:1621324589=125.224.17.185 +author:1621324475=jrmu +diff:1621324475:1612663365:=5,7c5,14%0a%3c Howdy stranger, we need your help. Billy the Skid and his band of cutthroats are DDoSing the town. The network's deserted. %0a%3c Tfhese hombres are mean, vicious and quick with botnets. %0a%3c %0a---%0a> Howdy stranger, we need your help. Billy the Skid and his gang have taken over Wild West of IRC. Can you help?%0a> %0a> It's time for an IRC showdown. Have you got your ssh terminal ready?%0a> %0a> Billy the Skid and his band of cut throats are DDoSing the town. The network's deserted. Even a tumbleweed wouldn't chat on the channel today.%0a> %0a> These hombres are mean, vicious and quick with botnets. We need's a sharp-typing nix beard.%0a> %0a> The passwords have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a> %0a10,44c17%0a%3c !! How the West was Won%0a%3c %0a%3c (:title Become an IRCNow Ambassador!:)%0a%3c %0a%3c If you want to help stop internet crime, take script kiddies offline, and investigate abuse, this is the job for you.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn about Internet security using free and open source software.%0a%3c # Receive extra accounts and services as needed%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We may someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Understand [[Almanack/Almanack|our technology and software]].%0a%3c # [[shell/shell|Request a shell account]] and other IRC services.%0a%3c # Contact us on IRC or email your application to admin@ircnow.org. Ambassadors can remain anonymous.%0a%3c # We'll interview you, and if you are qualified, you'll be promoted to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help our network for a minimum of 5 hours per week%0a%3c # Get to know [[ircnow/networks|all the networks on IRC]].%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a---%0a> !! How the West was Won%0a\ No newline at end of file%0a +host:1621324475=125.224.17.185 +author:1612663365=jrmu +diff:1612663365:1612572658:=14,15d13%0a%3c %0a%3c Wanted: doxed or offline%0a +host:1612663365=198.251.81.119 +author:1612572658=jrmu +diff:1612572658:1612531267:=5,6c5,6%0a%3c Howdy stranger, we need your help. Billy the Skid and his gang have taken over Wild West of IRC. Can you help?%0a%3c %0a---%0a> Howdy Sheriff, we need your help. Billy the Skid and his gang have taken over Wild West of IRC. Can you help?%0a> %0a8a9,10%0a> The passwords have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a> %0a11,15c13%0a%3c These hombres are mean, vicious and quick with botnets. We need's a sharp-typing nix beard.%0a%3c %0a%3c The passwords have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a%3c %0a%3c !! How the West was Won%0a\ No newline at end of file%0a---%0a> These hombres are mean, vicious and quick with botnets. We need's a sharp-typing nix beard.%0a\ No newline at end of file%0a +host:1612572658=198.251.81.119 +author:1612531267=jrmu +diff:1612531267:1612531234:=9c9%0a%3c The passwords have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a---%0a> /etc/passwd have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a +host:1612531267=125.231.56.15 +author:1612531234=jrmu +diff:1612531234:1612531101:=5,6c5,6%0a%3c Howdy Sheriff, we need your help. Billy the Skid and his gang have taken over Wild West of IRC. Can you help?%0a%3c %0a---%0a> Howdy Sheriff, we need your help. Billy the Skid and his gang have taken over IRC. Can you help?%0a> %0a9c9%0a%3c /etc/passwd have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a---%0a> The keys have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a +host:1612531234=125.231.56.15 +author:1612531101=jrmu +diff:1612531101:1612531052:=4a5,6%0a> Fight DDoS bandits like Billy the Skid.%0a> %0a11c13%0a%3c Billy the Skid and his band of cut throats are DDoSing the town. The network's deserted. Even a tumbleweed wouldn't chat on the channel today.%0a---%0a> Billy the Skid and his band of cut throats are riding into town. The network's deserted. Even a tumbleweed wouldn't chat on the channel today.%0a +host:1612531101=125.231.56.15 +author:1612531052=jrmu +diff:1612531052:1612531038:=3c3%0a%3c %25width=400px rfloat%25 Attach:Marketing/wanted.jpg%0a---%0a> Attach:Marketing/wanted.jpg%0a +host:1612531052=125.231.56.15 +author:1612531038=jrmu +diff:1612531038:1612530888:=2,3d1%0a%3c %0a%3c Attach:Marketing/wanted.jpg%0a +host:1612531038=125.231.56.15 +author:1612530888=jrmu +diff:1612530888:1612529387:=3,13c3%0a%3c Fight DDoS bandits like Billy the Skid.%0a%3c %0a%3c Howdy Sheriff, we need your help. Billy the Skid and his gang have taken over IRC. Can you help?%0a%3c %0a%3c It's time for an IRC showdown. Have you got your ssh terminal ready?%0a%3c %0a%3c The keys have been stolen by One-Eyed Jack the Ripper, but he's at #saloon chatting. Now go get him!%0a%3c %0a%3c Billy the Skid and his band of cut throats are riding into town. The network's deserted. Even a tumbleweed wouldn't chat on the channel today.%0a%3c %0a%3c These hombres are mean, vicious and quick with botnets. We need's a sharp-typing nix beard.%0a\ No newline at end of file%0a---%0a> Fight DDoS bandits like Billy the Skid.%0a\ No newline at end of file%0a +host:1612530888=125.231.56.15 +author:1612529387=jrmu +diff:1612529387:1612529387:=1,3d0%0a%3c (:title Apply to be an IRC Sheriff:)%0a%3c %0a%3c Fight DDoS bandits like Billy the Skid.%0a\ No newline at end of file%0a +host:1612529387=125.231.56.15 blob - /dev/null blob + 9be7c9a7aa6505d3acb7778c66d84d156301d601 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Sonsofliberty @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634007864 +host=38.87.162.8 +name=Ircnow.Sonsofliberty +rev=5 +targets= +text=Must finish unix101 training%0a%0a* [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a* [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a* [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a* [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a* [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a* [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a* [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a* [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +time=1635560212 +author:1635560212=jrmu +diff:1635560212:1634185349:=13d12%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +host:1635560212=38.87.162.8 +author:1634185349=jrmu +diff:1634185349:1634185318:=12c12%0a%3c * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a---%0a> * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Code]]%0a +host:1634185349=125.224.28.113 +author:1634185318=jrmu +diff:1634185318:1634008081:=3,12c3,12%0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Code]]%0a---%0a> [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a> [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a> [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a> [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a> [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a> [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a> [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a> [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a> [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a> [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Code]]%0a +host:1634185318=125.224.28.113 +author:1634008081=jrmu +diff:1634008081:1634007864:= +host:1634008081=125.231.64.245 +author:1634007864=jrmu +diff:1634007864:1634007864:=1,12d0%0a%3c Must finish unix101 training%0a%3c %0a%3c [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a%3c [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Code]]%0a +host:1634007864=125.231.64.245 blob - /dev/null blob + 9deeb8b152353779a2a3a6e117f074888177049a (mode 644) --- /dev/null +++ wiki.d/Ircnow.Stable @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko +author=mkf +charset=UTF-8 +csum= +ctime=1609472196 +host=80.210.48.116 +name=Ircnow.Stable +rev=3 +targets= +text=(:title Stable servers:)%0a%0aBenefits%0a%0a# More stable, less downtime%0a# Servers are more secure%0a# Long-term support%0a%0aDrawbacks%0a%0a# Software is older and have fewer features%0a# No shell accounts (no ability to write and compile your own code)%0a# You can't learn to be a sysadmin on stable servers +time=1621332907 +title=Stable servers +author:1621332907=mkf +diff:1621332907:1609472206:=13c13%0a%3c # You can't learn to be a sysadmin on stable servers%0a\ No newline at end of file%0a---%0a> # Unable to learn sysadmin%0a\ No newline at end of file%0a +host:1621332907=80.210.48.116 +author:1609472206=jrmu +diff:1609472206:1609472196:=1c1%0a%3c (:title Stable servers:)%0a---%0a> (:title Testing servers:)%0a +host:1609472206=198.251.81.119 +author:1609472196=jrmu +diff:1609472196:1609472196:=1,13d0%0a%3c (:title Testing servers:)%0a%3c %0a%3c Benefits%0a%3c %0a%3c # More stable, less downtime%0a%3c # Servers are more secure%0a%3c # Long-term support%0a%3c %0a%3c Drawbacks%0a%3c %0a%3c # Software is older and have fewer features%0a%3c # No shell accounts (no ability to write and compile your own code)%0a%3c # Unable to learn sysadmin%0a\ No newline at end of file%0a +host:1609472196=198.251.81.119 blob - /dev/null blob + d5b2bc4055946dfabc1fb3d58c4bb4094a0a211f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Sysadmins @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609473349 +host=125.231.20.163 +name=Ircnow.Sysadmins +rev=7 +targets=Vps.Vps,Openbsd.Openbsd,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Training,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Become a Minute-min!:)%0a%0aMinute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%0a!! Your Reward%0a%0a# '''Become an IRC oper and staff on IRCNow'''%0a# '''[[vps/vps|Free OpenBSD VPS]]'''%0a# Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a# Learn to write code for real users%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1611484571 +title=Become a Minute-min! +author:1611484571=jrmu +diff:1611484571:1611484539:=3c3%0a%3c Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a---%0a> Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice. They are an rapid force that can respond immediately to network threats.%0a +host:1611484571=125.231.20.163 +author:1611484539=jrmu +diff:1611484539:1611484395:=1,3c1,3%0a%3c (:title Become a Minute-min!:)%0a%3c %0a%3c Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice. They are an rapid force that can respond immediately to network threats.%0a---%0a> (:title Join the IRCNow Team!:)%0a> %0a> If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a +host:1611484539=125.231.20.163 +author:1611484395=jrmu +diff:1611484395:1609729438:=1,2c1,2%0a%3c (:title Join the IRCNow Team!:)%0a%3c %0a---%0a> (:title Apply to be a Sysadmin:)%0a> %0a24,26c24,25%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a---%0a> # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a> %0a30d28%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a33,38c31%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a---%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1611484395=125.231.20.163 +author:1609729438=jrmu +diff:1609729438:1609475619:=1,2d0%0a%3c (:title Apply to be a Sysadmin:)%0a%3c %0a +host:1609729438=125.231.63.134 +author:1609475619=jrmu +diff:1609475619:1609475590:=26c26%0a%3c # Commit to help your team for a minimum of 5 hours per week%0a---%0a> # You must commit to help your team for a minimum of 5 hours per week%0a28c28%0a%3c # You can optionally work on [[third/third|third party software]]%0a---%0a> # You can also work on [[third/third|third party software]]%0a +host:1609475619=198.251.81.119 +author:1609475590=jrmu +diff:1609475590:1609473349:=0a1%0a> %0a11,12c12,13%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a---%0a> # Help [[freedom|improve freedom]] on the internet %0a> %0a27,28d27%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can also work on [[third/third|third party software]]%0a +host:1609475590=198.251.81.119 +author:1609473349=jrmu +diff:1609473349:1609473349:=1,28d0%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit to help your team for a minimum of 5 hours per week%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a\ No newline at end of file%0a +host:1609473349=198.251.81.119 blob - /dev/null blob + 2c000fb795b880236a219d7afed57b58f55a1b97 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Team @@ -0,0 +1,344 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597119117 +host=38.87.162.8 +name=Ircnow.Team +rev=110 +targets=Ircnow.Goals,Ircnow.Pioneer,Ircnow.Opsofliberty,Ircnow.Minutemin,Ircnow.Codeforce,Ircnow.Sheriff,Ircnow.Ally,Ircnow.Settler,Ircnow.Explorer,Ircnow.Ranger,Ircnow.Roadmap,Ircnow.Finances +text=(:title Join IRCNow:)%0a%0a%25width=200px rfloat%25 Attach:Marketing/unclesam.png%0a%0aWe need your help to [[ircnow/goals|improve IRC]]!%0a%0a!! Positions%0a%0a|| border=1 width=500px class="sortable simpletable"%0a||About Me ||Apply for ||%0a||I want to self-host but not volunteer || [[ircnow/pioneer|Pioneer]] ||%0a||I want to help users || [[ircnow/opsofliberty|Ops of Liberty]] ||%0a||I want to sysadmin || [[ircnow/minutemin|Minutemin]] ||%0a||I want to write code || [[ircnow/codeforce|CodeForce]] ||%0a||I want to report network criminals || [[ircnow/Sheriff|Sheriff]] ||%0a||I have my own network and want more users || [[ircnow/Ally|Ally]] ||%0a||I want to document different software || [[ircnow/settler|Settler]] ||%0a||I want to work on cutting edge innovation|| [[ircnow/explorer|Explorer]] ||%0a||I want to work on security|| [[ircnow/ranger|Ranger]] ||%0a%0a!! Administration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]]%0a +time=1635560736 +title=Join IRCNow +author:1635560736=jrmu +diff:1635560736:1635523392:=12c12%0a%3c ||I want to help users || [[ircnow/opsofliberty|Ops of Liberty]] ||%0a---%0a> ||I want to help users || [[ircnow/sonsofliberty|Sons of Liberty]] ||%0a +host:1635560736=38.87.162.8 +author:1635523392=jrmu +diff:1635523392:1634007780:=17c17%0a%3c ||I want to document different software || [[ircnow/settler|Settler]] ||%0a---%0a> ||I want to document different software || [[ircnow/diversity|New Immigrant]] ||%0a +host:1635523392=38.87.162.8 +author:1634007780=jrmu +diff:1634007780:1633854550:=12c12%0a%3c ||I want to help users || [[ircnow/sonsofliberty|Sons of Liberty]] ||%0a---%0a> ||I want to help users || [[ircnow/oper|Sons of Liberty]] ||%0a +host:1634007780=125.231.64.245 +author:1633854550=jrmu +diff:1633854550:1633853523:=19d18%0a%3c ||I want to work on security|| [[ircnow/ranger|Ranger]] ||%0a +host:1633854550=125.224.22.161 +author:1633853523=jrmu +diff:1633853523:1633853398:=11,18c11,18%0a%3c ||I want to self-host but not volunteer || [[ircnow/pioneer|Pioneer]] ||%0a%3c ||I want to help users || [[ircnow/oper|Sons of Liberty]] ||%0a%3c ||I want to sysadmin || [[ircnow/minutemin|Minutemin]] ||%0a%3c ||I want to write code || [[ircnow/codeforce|CodeForce]] ||%0a%3c ||I want to report network criminals || [[ircnow/Sheriff|Sheriff]] ||%0a%3c ||I have my own network and want more users || [[ircnow/Ally|Ally]] ||%0a%3c ||I want to document different software || [[ircnow/diversity|New Immigrant]] ||%0a%3c ||I want to work on cutting edge innovation|| [[ircnow/explorer|Explorer]] ||%0a---%0a> ||I want to self-host but not volunteer || [[settler/intro|Settler]] ||%0a> ||I want to help users || [[sonsofliberty/intro|Sons of Liberty]] ||%0a> ||I want to sysadmin || [[minutemin/intro|Minutemin]] ||%0a> ||I want to write code || [[codeforce/intro|CodeForce]] ||%0a> ||I want to report network criminals || [[sheriff/intro|Sheriff]] ||%0a> ||I have my own network and want more users || [[ally/intro|Ally]] ||%0a> ||I want to document different software || [[immigrant/intro|New Immigrant]] ||%0a> ||I want to work on cutting-edge innovation|| [[pioneer/intro|Pioneer]] ||%0a +host:1633853523=125.224.22.161 +author:1633853398=jrmu +diff:1633853398:1633853267:=11,18c11,18%0a%3c ||I want to self-host but not volunteer || [[settler/intro|Settler]] ||%0a%3c ||I want to help users || [[sonsofliberty/intro|Sons of Liberty]] ||%0a%3c ||I want to sysadmin || [[minutemin/intro|Minutemin]] ||%0a%3c ||I want to write code || [[codeforce/intro|CodeForce]] ||%0a%3c ||I want to report network criminals || [[sheriff/intro|Sheriff]] ||%0a%3c ||I have my own network and want more users || [[ally/intro|Ally]] ||%0a%3c ||I want to document different software || [[immigrant/intro|New Immigrant]] ||%0a%3c ||I want to work on cutting-edge innovation|| [[pioneer/intro|Pioneer]] ||%0a---%0a> ||I want to self-host but not volunteer || [[ircnow/settler|Settler]] ||%0a> ||I want to help users || [[ircnow/oper|Sons of Liberty]] ||%0a> ||I want to sysadmin || [[ircnow/minutemin|Minutemin]] ||%0a> ||I want to write code || [[ircnow/codeforce|CodeForce]] ||%0a> ||I want to report network criminals || [[ircnow/Sheriff|Sheriff]] ||%0a> ||I have my own network and want more users || [[ircnow/Ally|Ally]] ||%0a> ||I want to document different software || [[ircnow/diversity|New Immigrant]] ||%0a> ||I want to build the future network operating system|| [[ircnow/pioneer|Pioneer]] ||%0a +host:1633853398=125.224.22.161 +author:1633853267=jrmu +diff:1633853267:1633677939:=11,12c11,12%0a%3c ||I want to self-host but not volunteer || [[ircnow/settler|Settler]] ||%0a%3c ||I want to help users || [[ircnow/oper|Sons of Liberty]] ||%0a---%0a> ||I want to self-host but not volunteer || [[ircnow/pioneer|Pioneer]] ||%0a> ||I want to help users || [[ircnow/oper|Opers of Liberty]] ||%0a18d17%0a%3c ||I want to build the future network operating system|| [[ircnow/pioneer|Pioneer]] ||%0a +host:1633853267=125.224.22.161 +author:1633677939=jrmu +diff:1633677939:1633671576:=17c17%0a%3c ||I want to document different software || [[ircnow/diversity|New Immigrant]] ||%0a---%0a> ||I want to document different software || [[ircnow/diversity|Immigrant]] ||%0a +host:1633677939=125.224.22.161 +author:1633671576=jrmu +diff:1633671576:1628164237:=17d16%0a%3c ||I want to document different software || [[ircnow/diversity|Immigrant]] ||%0a +host:1633671576=125.224.22.161 +author:1628164237=jrmu +diff:1628164237:1627461188:=12,13c12%0a%3c ||I want to help users || [[ircnow/oper|Opers of Liberty]] ||%0a%3c ||I want to sysadmin || [[ircnow/minutemin|Minutemin]] ||%0a---%0a> ||I want to sysadmin and help users || [[ircnow/minutemin|Minutemin]] ||%0a +host:1628164237=38.87.162.8 +author:1627461188=mkf +diff:1627461188:1627455277:minor=15c15%0a%3c ||I have my own network and want more users || [[ircnow/Ally|Ally]] ||%0a---%0a> ||I have my own network and want more users ||[[ircnow/Ally|Ally]] ||%0a +host:1627461188=198.251.81.133 +author:1627455277=jrmu +diff:1627455277:1627455243:=10c10%0a%3c ||About Me ||Apply for ||%0a---%0a> ||About Me ||Interests ||Apply for ||%0a +host:1627455277=38.87.162.8 +author:1627455243=jrmu +diff:1627455243:1627454577:=14a15%0a> ||I want to create content || [[ircnow/Sheriff|Sheriff]] ||%0a +host:1627455243=38.87.162.8 +author:1627454577=jrmu +diff:1627454577:1622134456:=1,2c1,2%0a%3c (:title Join IRCNow:)%0a%3c %0a---%0a> (:title Join the IRCNow Team:)%0a> %0a11,17c11,17%0a%3c ||I want to self-host but not volunteer || [[ircnow/pioneer|Pioneer]] ||%0a%3c ||I want to sysadmin and help users || [[ircnow/minutemin|Minutemin]] ||%0a%3c ||I want to write code || [[ircnow/codeforce|CodeForce]] ||%0a%3c ||I want to report network criminals || [[ircnow/Sheriff|Sheriff]] ||%0a%3c ||I want to create content || [[ircnow/Sheriff|Sheriff]] ||%0a%3c ||I have my own network and want more users ||[[ircnow/Ally|Ally]] ||%0a%3c %0a---%0a> ||I like reading man pages||I want to be part of the elite corps ||[[ircnow/CodeForce|Code Force]] ||%0a> ||I like tech ||I want to help with occasional sysadmin ||[[ircnow/minutemin|Minutemin]] ||%0a> ||I like making deals ||I want to work on marketing and sales ||[[ircnow/Ambassador|Ambassador]] ||%0a> ||I like security ||I want to investigate and report network criminals ||[[ircnow/Sheriff|Sheriff]] ||%0a> ||I like making policy ||I want to moderate network debate and oversee Congress' elections ||[[ircnow/VicePresident|Vice President]] ||%0a> ||I have my own network ||I want to get more users ||[[ircnow/Ally|Ally]] ||%0a> %0a21c21%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a---%0a> # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1627454577=38.87.162.8 +author:1622134456=mkf +diff:1622134456:1621325472:=11c11%0a%3c ||I like reading man pages||I want to be part of the elite corps ||[[ircnow/CodeForce|Code Force]] ||%0a---%0a> ||I read man pages||I want to be part of the elite corps ||[[ircnow/CodeForce|Code Force]] ||%0a +host:1622134456=5.238.185.195 +author:1621325472=jrmu +diff:1621325472:1621325337:=15d14%0a%3c ||I like making policy ||I want to moderate network debate and oversee Congress' elections ||[[ircnow/VicePresident|Vice President]] ||%0a +host:1621325472=125.224.17.185 +author:1621325337=jrmu +csum:1621325337=T +diff:1621325337:1621324954:= +host:1621325337=125.224.17.185 +author:1621324954=jrmu +diff:1621324954:1614953764:=12a13%0a> ||I like chatting ||I want to moderate the user community ||[[ircnow/OpofLiberty|Op of Liberty]] ||%0a +host:1621324954=125.224.17.185 +author:1614953764=jrmu +diff:1614953764:1614953588:=11c11%0a%3c ||I read man pages||I want to be part of the elite corps ||[[ircnow/CodeForce|Code Force]] ||%0a---%0a> ||I read man pages||I want to be part of the elite corps ||[[ircnow/chatforce|Code Force]] ||%0a +host:1614953764=198.251.81.119 +author:1614953588=jrmu +diff:1614953588:1614952764:=11c11%0a%3c ||I read man pages||I want to be part of the elite corps ||[[ircnow/chatforce|Code Force]] ||%0a---%0a> ||I read man pages||I will lead the way ||[[ircnow/chatforce|Code Force]] ||%0a +host:1614953588=198.251.81.119 +author:1614952764=jrmu +diff:1614952764:1614952558:=11c11%0a%3c ||I read man pages||I will lead the way ||[[ircnow/chatforce|Code Force]] ||%0a---%0a> ||I read man pages||I will lead the way ||[[ircnow/chatforce|Chat Force]] ||%0a +host:1614952764=198.251.81.119 +author:1614952558=jrmu +diff:1614952558:1614952337:=11c11%0a%3c ||I read man pages||I will lead the way ||[[ircnow/chatforce|Chat Force]] ||%0a---%0a> ||I read man pages||I want to lead the way ||[[ircnow/chatforce|Chat Force]] ||%0a +host:1614952558=198.251.81.119 +author:1614952337=jrmu +diff:1614952337:1614952064:=11c11%0a%3c ||I read man pages||I want to lead the way ||[[ircnow/chatforce|Chat Force]] ||%0a---%0a> ||I '''live''' tech ||I want to be a full stack developer ||[[ircnow/chatforce|Chat Force]] ||%0a +host:1614952337=198.251.81.119 +author:1614952064=jrmu +diff:1614952064:1614951978:=11,12c11,12%0a%3c ||I '''live''' tech ||I want to be a full stack developer ||[[ircnow/chatforce|Chat Force]] ||%0a%3c ||I like tech ||I want to help with occasional sysadmin ||[[ircnow/minutemin|Minutemin]] ||%0a---%0a> ||I like tech ||I want to be a full stack developer ||[[ircnow/chatforce|Chat Force]] ||%0a> ||I like tech ||I want to sysadmin and code ||[[ircnow/minutemin|Minutemin]] ||%0a +host:1614952064=198.251.81.119 +author:1614951978=jrmu +diff:1614951978:1614781471:=11d10%0a%3c ||I like tech ||I want to be a full stack developer ||[[ircnow/chatforce|Chat Force]] ||%0a +host:1614951978=198.251.81.119 +author:1614781471=jrmu +diff:1614781471:1612616286:= +host:1614781471=198.251.81.119 +author:1612616286=jrmu +diff:1612616286:1612616275:=11c11%0a%3c ||I like tech ||I want to sysadmin and code ||[[ircnow/minutemin|Minutemin]] ||%0a---%0a> ||I like tech ||I want to work on sysadmin and code ||[[ircnow/minutemin|Minutemin]] ||%0a +host:1612616286=198.251.81.119 +author:1612616275=jrmu +diff:1612616275:1612616259:=11c11%0a%3c ||I like tech ||I want to work on sysadmin and code ||[[ircnow/minutemin|Minutemin]] ||%0a---%0a> ||I like servers ||I want to work on sysadmin ||[[ircnow/minutemin|Minutemin]] ||%0a +host:1612616275=198.251.81.119 +author:1612616259=jrmu +diff:1612616259:1612616033:=11c11%0a%3c ||I like servers ||I want to work on sysadmin ||[[ircnow/minutemin|Minutemin]] ||%0a---%0a> ||I like tech ||I want to work on servers ||[[ircnow/minutemin|Minutemin]] ||%0a +host:1612616259=198.251.81.119 +author:1612616033=jrmu +diff:1612616033:1612615844:=12c12%0a%3c ||I like chatting ||I want to moderate the user community ||[[ircnow/OpofLiberty|Op of Liberty]] ||%0a---%0a> ||I like chatting ||I want to moderate the user community ||[[ircnow/OpsofLiberty|Op of Liberty]] ||%0a15c15%0a%3c ||I have my own network ||I want to get more users ||[[ircnow/Ally|Ally]] ||%0a---%0a> ||I have my own network ||I want to get more users ||[[ircnow/Allies|Ally]] ||%0a +host:1612616033=198.251.81.119 +author:1612615844=jrmu +diff:1612615844:1612615752:=10,15c10,15%0a%3c ||About Me ||Interests ||Apply for ||%0a%3c ||I like tech ||I want to work on servers ||[[ircnow/minutemin|Minutemin]] ||%0a%3c ||I like chatting ||I want to moderate the user community ||[[ircnow/OpsofLiberty|Op of Liberty]] ||%0a%3c ||I like making deals ||I want to work on marketing and sales ||[[ircnow/Ambassador|Ambassador]] ||%0a%3c ||I like security ||I want to investigate and report network criminals ||[[ircnow/Sheriff|Sheriff]] ||%0a%3c ||I have my own network ||I want to get more users ||[[ircnow/Allies|Ally]] ||%0a---%0a> ||About Me ||Interests ||Position ||%0a> ||I like tech ||I want to work on servers ||[[ircnow/minutemin|Be a Minutemin]] ||%0a> ||I like chatting ||I want to moderate the user community ||[[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a> ||I like making deals ||I want to work on marketing and sales ||[[ircnow/Ambassador|Be an Ambassador]] ||%0a> ||I like security ||I want to investigate and report network criminals ||[[ircnow/Sheriff|Be a Sheriff]] ||%0a> ||I have my own network ||I want to get more users ||[[ircnow/Allies|Be an Ally]] ||%0a +host:1612615844=198.251.81.119 +author:1612615752=jrmu +diff:1612615752:1612615622:=3c3%0a%3c %25width=200px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612615752=198.251.81.119 +author:1612615622=jrmu +diff:1612615622:1612615549:=15c15%0a%3c ||I have my own network ||I want to get more users ||[[ircnow/Allies|Be an Ally]] ||%0a---%0a> ||I have my own network ||I want to get more users ||[[ircnow/Partners|Be a Partner Network]] ||%0a +host:1612615622=198.251.81.119 +author:1612615549=jrmu +diff:1612615549:1612615529:=3,4c3,4%0a%3c %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a%3c %0a---%0a> %25width=30pct rfloat%25 Attach:Marketing/unclesam.png%0a> %0a9c9%0a%3c || border=1 width=500px class="sortable simpletable"%0a---%0a> || border=1 width=60pct class="sortable simpletable"%0a +host:1612615549=198.251.81.119 +author:1612615529=jrmu +diff:1612615529:1612615501:=3,4c3,4%0a%3c %25width=30pct rfloat%25 Attach:Marketing/unclesam.png%0a%3c %0a---%0a> %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a> %0a9c9%0a%3c || border=1 width=60pct class="sortable simpletable"%0a---%0a> || border=1 width=400px class="sortable simpletable"%0a +host:1612615529=198.251.81.119 +author:1612615501=jrmu +diff:1612615501:1612615490:=9c9%0a%3c || border=1 width=400px class="sortable simpletable"%0a---%0a> || border=1 width=40%25 class="sortable simpletable"%0a +host:1612615501=198.251.81.119 +author:1612615490=jrmu +diff:1612615490:1612615476:=3c3%0a%3c %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=200px rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612615490=198.251.81.119 +author:1612615476=jrmu +diff:1612615476:1612615465:=3c3%0a%3c %25width=200px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=400px rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612615476=198.251.81.119 +author:1612615465=jrmu +diff:1612615465:1612615449:=9c9%0a%3c || border=1 width=40%25 class="sortable simpletable"%0a---%0a> || width=40pct ||%0a +host:1612615465=198.251.81.119 +author:1612615449=jrmu +diff:1612615449:1612615437:=9c9%0a%3c || width=40pct ||%0a---%0a> ||width=40pct ||%0a +host:1612615449=198.251.81.119 +author:1612615437=jrmu +diff:1612615437:1612615350:=9d8%0a%3c ||width=40pct ||%0a +host:1612615437=198.251.81.119 +author:1612615350=jrmu +diff:1612615350:1612615332:=14c14%0a%3c ||I have my own network ||I want to get more users ||[[ircnow/Partners|Be a Partner Network]] ||%0a---%0a> ||I like my network ||I want to get more users ||[[ircnow/Partners|Be a Partner Network]] ||%0a +host:1612615350=198.251.81.119 +author:1612615332=jrmu +diff:1612615332:1612615305:=9,14c9,14%0a%3c ||About Me ||Interests ||Position ||%0a%3c ||I like tech ||I want to work on servers ||[[ircnow/minutemin|Be a Minutemin]] ||%0a%3c ||I like chatting ||I want to moderate the user community ||[[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a%3c ||I like making deals ||I want to work on marketing and sales ||[[ircnow/Ambassador|Be an Ambassador]] ||%0a%3c ||I like security ||I want to investigate and report network criminals ||[[ircnow/Sheriff|Be a Sheriff]] ||%0a%3c ||I like my network ||I want to get more users ||[[ircnow/Partners|Be a Partner Network]] ||%0a---%0a> ||About Me ||Interests || Position ||%0a> ||I like tech ||I want to work on servers || [[ircnow/minutemin|Be a Minutemin]] ||%0a> ||I like chatting ||I want to moderate the user community || [[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a> ||I like making deals ||I want to work on marketing and sales || [[ircnow/Ambassador|Be an Ambassador]] ||%0a> ||I like security ||I want to investigate and report network criminals || [[ircnow/Sheriff|Be a Sheriff]] ||%0a> ||I like my network ||I want to get more users || [[ircnow/Partners|Be a Partner Network]] ||%0a +host:1612615332=198.251.81.119 +author:1612615305=jrmu +diff:1612615305:1612614796:=9,14c9,14%0a%3c ||About Me ||Interests || Position ||%0a%3c ||I like tech ||I want to work on servers || [[ircnow/minutemin|Be a Minutemin]] ||%0a%3c ||I like chatting ||I want to moderate the user community || [[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a%3c ||I like making deals ||I want to work on marketing and sales || [[ircnow/Ambassador|Be an Ambassador]] ||%0a%3c ||I like security ||I want to investigate and report network criminals || [[ircnow/Sheriff|Be a Sheriff]] ||%0a%3c ||I like my network ||I want to get more users || [[ircnow/Partners|Be a Partner Network]] ||%0a---%0a> || About Me || Interests || Position ||%0a> || I like tech || I want to work on servers || [[ircnow/minutemin|Be a Minutemin]] ||%0a> || I like chatting || I want to moderate the user community || [[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a> || I like making deals || I want to work on marketing and sales || [[ircnow/Ambassador|Be an Ambassador]] ||%0a> || I like security || I want to investigate and report network criminals || [[ircnow/Sheriff|Be a Sheriff]] ||%0a> || I like my network || I want to get more users || [[ircnow/Partners|Be a Partner Network]] ||%0a +host:1612615305=198.251.81.119 +author:1612614796=jrmu +diff:1612614796:1612458182:=9,14c9,13%0a%3c || About Me || Interests || Position ||%0a%3c || I like tech || I want to work on servers || [[ircnow/minutemin|Be a Minutemin]] ||%0a%3c || I like chatting || I want to moderate the user community || [[ircnow/OpsofLiberty|Be an Op of Liberty]] ||%0a%3c || I like making deals || I want to work on marketing and sales || [[ircnow/Ambassador|Be an Ambassador]] ||%0a%3c || I like security || I want to investigate and report network criminals || [[ircnow/Sheriff|Be a Sheriff]] ||%0a%3c || I like my network || I want to get more users || [[ircnow/Partners|Be a Partner Network]] ||%0a---%0a> # [[ircnow/minutemin|Minutemin]]: If you would like to work on servers and sysadmin, [[ircnow/minutemin|apply to be a minutemin]].%0a> # [[ircnow/OpsofLiberty|Op of Liberty]] If you would like to help work with our community, apply to be an [[ircnow/OpsofLiberty|Op of Liberty]].%0a> # [[ircnow/Ambassador|Ambassador]]: If you would like to help with negotiation and marketing, [[ircnow/Ambassador|apply to be an ambassador]].%0a> # [[ircnow/Sheriff|Sheriff]]: If you would like to help with security, investigating and reporting abuse, [[ircnow/Sheriff|apply to be a sheriff]].%0a> # [[ircnow/partners|Partner Network]]: If you run an IRC network, [[ircnow/partners|partner]] with us to share IRC users and fight abuse.%0a +host:1612614796=198.251.81.119 +author:1612458182=jrmu +diff:1612458182:1612458169:=3c3%0a%3c %25width=400px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=500px lfloat%25 Attach:Marketing/unclesam.png%0a +host:1612458182=198.251.81.119 +author:1612458169=jrmu +diff:1612458169:1612458158:=3c3%0a%3c %25width=500px lfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=500px rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612458169=198.251.81.119 +author:1612458158=jrmu +diff:1612458158:1612458149:=3c3%0a%3c %25width=500px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612458158=198.251.81.119 +author:1612458149=jrmu +diff:1612458149:1612328424:=3c3%0a%3c %25width=300px rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/unclesam.png%0a +host:1612458149=198.251.81.119 +author:1612328424=jrmu +diff:1612328424:1611889139:=11,12d10%0a%3c # [[ircnow/Ambassador|Ambassador]]: If you would like to help with negotiation and marketing, [[ircnow/Ambassador|apply to be an ambassador]].%0a%3c # [[ircnow/Sheriff|Sheriff]]: If you would like to help with security, investigating and reporting abuse, [[ircnow/Sheriff|apply to be a sheriff]].%0a +host:1612328424=198.251.81.119 +author:1611889139=jrmu +diff:1611889139:1611889128:=3c3%0a%3c %25width=40pct rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=40pct lfloat%25 Attach:Marketing/unclesam.png%0a +host:1611889139=125.231.24.226 +author:1611889128=jrmu +diff:1611889128:1611889109:=3,4c3,4%0a%3c %25width=40pct lfloat%25 Attach:Marketing/unclesam.png%0a%3c %0a---%0a> %25width=70pct lfloat%25 Attach:Marketing/unclesam.png%0a> %0a7,8d6%0a%3c !! Positions%0a%3c %0a13c11%0a%3c !! Administration%0a---%0a> Administration%0a +host:1611889128=125.231.24.226 +author:1611889109=jrmu +diff:1611889109:1611889088:=3c3%0a%3c %25width=70pct lfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=70pct rfloat%25 Attach:Marketing/unclesam.png%0a +host:1611889109=125.231.24.226 +author:1611889088=jrmu +diff:1611889088:1611889059:=3c3%0a%3c %25width=70pct rfloat%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=40pct rfloat%25 Attach:Marketing/unclesam.png%0a +host:1611889088=125.231.24.226 +author:1611889059=jrmu +diff:1611889059:1611487735:=3,4d2%0a%3c %25width=40pct rfloat%25 Attach:Marketing/unclesam.png%0a%3c %0a5a4,5%0a> %0a> %25width=40pct%25 Attach:Marketing/unclesam.png%0a +host:1611889059=125.231.24.226 +author:1611487735=jrmu +diff:1611487735:1611487670:=5c5%0a%3c %25width=40pct%25 Attach:Marketing/unclesam.png%0a---%0a> %25rfloat width=40pct%25 Attach:Marketing/unclesam.png%0a +host:1611487735=125.231.20.163 +author:1611487670=jrmu +diff:1611487670:1611487635:=5c5%0a%3c %25rfloat width=40pct%25 Attach:Marketing/unclesam.png%0a---%0a> %25right width=40pct%25 Attach:Marketing/unclesam.png%0a +host:1611487670=125.231.20.163 +author:1611487635=jrmu +diff:1611487635:1611487612:=5c5%0a%3c %25right width=40pct%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=40pct%25 %25right%25 Attach:Marketing/unclesam.png%0a +host:1611487635=125.231.20.163 +author:1611487612=jrmu +diff:1611487612:1611486465:=5c5%0a%3c %25width=40pct%25 %25right%25 Attach:Marketing/unclesam.png%0a---%0a> %25width=40pct%25 Attach:Marketing/unclesam.png%0a +host:1611487612=125.231.20.163 +author:1611486465=jrmu +diff:1611486465:1611486355:=5c5%0a%3c %25width=40pct%25 Attach:Marketing/unclesam.png%0a---%0a> Attach:Marketing/unclesam.png%0a +host:1611486465=125.231.20.163 +author:1611486355=jrmu +diff:1611486355:1611486192:=5c5%0a%3c Attach:Marketing/unclesam.png%0a---%0a> Attach:unclesam.png%0a +host:1611486355=125.231.20.163 +author:1611486192=jrmu +diff:1611486192:1611485767:=4,5d3%0a%3c %0a%3c Attach:unclesam.png%0a +host:1611486192=125.231.20.163 +author:1611485767=jrmu +diff:1611485767:1611485376:=7c7,8%0a%3c # [[ircnow/partners|Partner Network]]: If you run an IRC network, [[ircnow/partners|partner]] with us to share IRC users and fight abuse.%0a---%0a> # [[ircnow/networks|IRC Networks]]: If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a> # [[ircnow/partners|Partners]]: If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a +host:1611485767=125.231.20.163 +author:1611485376=jrmu +diff:1611485376:1611485227:=6c6%0a%3c # [[ircnow/OpsofLiberty|Op of Liberty]] If you would like to help work with our community, apply to be an [[ircnow/OpsofLiberty|Op of Liberty]].%0a---%0a> # [[ircnow/patriot|Patriot]]: If you would like to help work with our community, apply to be a [[ircnow/patriot|Patriot]].%0a +host:1611485376=125.231.20.163 +author:1611485227=jrmu +diff:1611485227:1611485059:= +host:1611485227=125.231.20.163 +author:1611485059=jrmu +diff:1611485059:1611484857:=6c6,8%0a%3c # [[ircnow/patriot|Patriot]]: If you would like to help work with our community, apply to be a [[ircnow/patriot|Patriot]].%0a---%0a> # [[ircnow/pentesters|Pentesters]]: If you would like to work on security, [[ircnow/pentesters|apply to be a pentester]].%0a> # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/coders|apply to be a coder]].%0a> # [[ircnow/helpers|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a +host:1611485059=125.231.20.163 +author:1611484857=jrmu +diff:1611484857:1611484791:=5c5%0a%3c # [[ircnow/minutemin|Minutemin]]: If you would like to work on servers and sysadmin, [[ircnow/minutemin|apply to be a minutemin]].%0a---%0a> # [[ircnow/minutemin|Minutemins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a +host:1611484857=125.231.20.163 +author:1611484791=jrmu +diff:1611484791:1611484757:=5c5%0a%3c # [[ircnow/minutemin|Minutemins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a---%0a> # [[ircnow/sysadmins|Sysadmins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a +host:1611484791=125.231.20.163 +author:1611484757=jrmu +diff:1611484757:1611119050:=1,10c1,33%0a%3c (:title Join the IRCNow Team:)%0a%3c %0a%3c We need your help to [[ircnow/goals|improve IRC]]!%0a%3c %0a%3c # [[ircnow/sysadmins|Sysadmins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a%3c # [[ircnow/pentesters|Pentesters]]: If you would like to work on security, [[ircnow/pentesters|apply to be a pentester]].%0a%3c # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/coders|apply to be a coder]].%0a%3c # [[ircnow/helpers|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a%3c # [[ircnow/networks|IRC Networks]]: If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a%3c # [[ircnow/partners|Partners]]: If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a---%0a> (:title Join the IRCNow Team!:)%0a> %0a> If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a> %0a> !! Your Reward%0a> %0a> # '''Become an IRC oper and staff on IRCNow'''%0a> # '''[[vps/vps|Free OpenBSD VPS]]'''%0a> # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a> # Learn to write code for real users%0a> # Hang out with friends while [[ircnow/goals|improving IRC]]%0a> # Add a new work experience for your CV/resume%0a> # Help [[freedom|improve freedom]] on the internet%0a> %0a> We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a> %0a> !! How to Apply%0a> %0a> # [[shell/shell|Request a shell account]]%0a> # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a> # Learn [[ircnow/howtoask|how to ask smart questions]].%0a> # Take the time to learn [[openbsd|OpenBSD]].%0a> # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a> # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a> # After you finish training, you'll be promote to staff!%0a> %0a> !! Your Duties%0a> %0a> # Commit to help your team for a minimum of 5 hours per week%0a> # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a> # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a> # You can optionally work on [[third/third|third party software]]%0a> # You must be willing to help with customer support, documentation, and basic coding%0a +host:1611484757=125.231.20.163 +author:1611119050=jrmu +diff:1611119050:1610213064:=30c30%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a---%0a> # Finish [[openbsd/training|Sysadmin Training]]%0a +host:1611119050=125.224.21.52 +author:1610213064=jrmu +diff:1610213064:1609846236:=30d29%0a%3c # Finish [[openbsd/training|Sysadmin Training]]%0a +host:1610213064=125.224.19.86 +author:1609846236=jrmu +diff:1609846236:1609846135:=32c32%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a---%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a +host:1609846236=125.231.63.134 +author:1609846135=jrmu +diff:1609846135:1609846038:=24,25c24%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a---%0a> # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a +host:1609846135=125.231.63.134 +author:1609846038=jrmu +diff:1609846038:1609845866:=1c1%0a%3c (:title Join the IRCNow Team!:)%0a---%0a> (:title Apply to be a Sysadmin:)%0a +host:1609846038=125.231.63.134 +author:1609845866=jrmu +diff:1609845866:1609845736:=1,31c1,8%0a%3c (:title Apply to be a Sysadmin:)%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a---%0a> (:title Join the IRCNow Team:)%0a> %0a> We need your help to [[ircnow/goals|improve IRC]]!%0a> %0a> # [[ircnow/sysadmins|Sysadmins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a> # [[ircnow/helpers|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a> # [[ircnow/networks|IRC Networks]]: If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a> # [[ircnow/partners|Partners]]: If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a +host:1609845866=125.231.63.134 +author:1609845736=jrmu +diff:1609845736:1609845044:=5a6,7%0a> # [[ircnow/pentesters|Pentesters]]: If you would like to work on security, [[ircnow/pentesters|apply to be a pentester]].%0a> # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/coders|apply to be a coder]].%0a +host:1609845736=125.231.63.134 +author:1609845044=jrmu +diff:1609845044:1609728583:=7c7%0a%3c # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/coders|apply to be a coder]].%0a---%0a> # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/pentesters|apply to be a coder]].%0a +host:1609845044=125.231.63.134 +author:1609728583=jrmu +diff:1609728583:1609476233:=6,7d5%0a%3c # [[ircnow/pentesters|Pentesters]]: If you would like to work on security, [[ircnow/pentesters|apply to be a pentester]].%0a%3c # [[ircnow/coders|Coders]]: If you would like to work on coding, [[ircnow/pentesters|apply to be a coder]].%0a +host:1609728583=125.231.63.134 +author:1609476233=jrmu +diff:1609476233:1609476166:= +host:1609476233=198.251.81.119 +author:1609476166=jrmu +diff:1609476166:1609475996:=6c6%0a%3c # [[ircnow/helpers|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a---%0a> # [[ircnow/sysadmins|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a +host:1609476166=198.251.81.119 +author:1609475996=jrmu +diff:1609475996:1609475980:=13c13,14%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a---%0a> # See the report on [[ircnow/finances|IRCNow Finances]]%0a> # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a +host:1609475996=198.251.81.119 +author:1609475980=jrmu +diff:1609475980:1609475509:=5,8c5,8%0a%3c # [[ircnow/sysadmins|Sysadmins]]: If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a%3c # [[ircnow/sysadmins|Helpers]]: If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a%3c # [[ircnow/networks|IRC Networks]]: If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a%3c # [[ircnow/partners|Partners]]: If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a---%0a> # If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a> # If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a> # If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a> # If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a +host:1609475980=198.251.81.119 +author:1609475509=jrmu +diff:1609475509:1609475441:= +host:1609475509=198.251.81.119 +author:1609475441=jrmu +diff:1609475441:1609474686:=14c14,18%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a---%0a> # [[ircnow/todo|IRCNow Todo List]]%0a> %0a> %0a> # [[debate/debate|Debated Issues]]%0a> # [[third/third|Third Party]]%0a\ No newline at end of file%0a +host:1609475441=198.251.81.119 +author:1609474686=jrmu +diff:1609474686:1609474486:=10,11d9%0a%3c Administration%0a%3c %0a14a13,15%0a> %0a> %0a> # If you would like to help with marketing, apply to be a [[marketing/marketing|Marketing]]%0a +host:1609474686=198.251.81.119 +author:1609474486=jrmu +diff:1609474486:1609473354:=3,11c3,32%0a%3c We need your help to [[ircnow/goals|improve IRC]]!%0a%3c %0a%3c # If you would like to work on servers, [[ircnow/sysadmins|apply to be a sysadmin]].%0a%3c # If you would like to help work with our community, apply to be a [[ircnow/helpers|helper]].%0a%3c # If you run your own IRC network, add your network to our [[ircnow/networks|supported networks]]%0a%3c # If you would like to share IRC users and partner to fight abuse, apply to become [[ircnow/partners|a partner network]].%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a---%0a> If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a> %0a> !! Your Reward%0a> %0a> # '''Become an IRC oper and staff on IRCNow'''%0a> # '''[[vps/vps|Free OpenBSD VPS]]'''%0a> # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a> # Learn to write code for real users%0a> # Hang out with friends while [[ircnow/goals|improving IRC]]%0a> # Add a new work experience for your CV/resume%0a> # Help [[freedom|improve freedom]] on the internet %0a> %0a> We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a> %0a> !! How to Apply%0a> %0a> # [[shell/shell|Request a shell account]]%0a> # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a> # Learn [[ircnow/howtoask|how to ask smart questions]].%0a> # Take the time to learn [[openbsd|OpenBSD]].%0a> # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a> # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a> %0a> !! Your Duties%0a> %0a> # You must commit to help your team for a minimum of 5 hours per week%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a> %0a> # [[ircnow/sysadmins|IRCNow Sysadmins]]%0a> # [[ircnow/roadmap|IRCNow Roadmap]]%0a13,17c34,38%0a%3c %0a%3c %0a%3c # If you would like to help with marketing, apply to be a [[marketing/marketing|Marketing]]%0a%3c %0a%3c %0a---%0a> # [[ircnow/helpers|IRCNow Helpers]]%0a> # [[ircnow/finances|IRCNow Finances]]%0a> # [[ircnow/networks|Supported Networks]]%0a> # [[marketing/marketing|Marketing]]%0a> # [[ircnow/partners|Partner Networks]]%0a +host:1609474486=198.251.81.119 +author:1609473354=jrmu +diff:1609473354:1609473315:= +host:1609473354=198.251.81.119 +author:1609473315=jrmu +diff:1609473315:1609473288:=31d30%0a%3c # [[ircnow/sysadmins|IRCNow Sysadmins]]%0a +host:1609473315=198.251.81.119 +author:1609473288=jrmu +diff:1609473288:1609473033:=8,9c8,9%0a%3c # '''[[vps/vps|Free OpenBSD VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a---%0a> # '''Free OpenBSD VPS'''%0a> # Learn UNIX sysadmin with real servers%0a20,21c20%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a---%0a> # Learn the system by following our [[tutorial/tutorial|UNIX tutorials]]. We require all recruits finish training tutorials before applying.%0a22a22%0a> # Learn [[ircnow/howtoask|how to ask smart questions]].%0a24,25c24,28%0a%3c # Send an email application to the [[ircnow/servers|server]] you want to apply to. Each team will have its own interview procedure. They will conduct an interview which may ask for a resume including your full legal name, address, phone number, work references, or your websites/social media. %0a%3c %0a---%0a> # Send us a resume to [[mailto:admin@ircnow.org|admin@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a> # Meet up with us for an interview.%0a> %0a> If you qualify, we'll invite you to join our team training channel. After training, we will pair you with teammates to work on a server.%0a> %0a28c31%0a%3c # You must commit to help your team for a minimum of 5 hours per week%0a---%0a> # You must commit to help our network 5 hours per week%0a +host:1609473288=198.251.81.119 +author:1609473033=jrmu +diff:1609473033:1609471657:=1c1%0a%3c (:title Join the IRCNow Team:)%0a---%0a> (:title Join IRCNow Staff:)%0a +host:1609473033=198.251.81.119 +author:1609471657=jrmu +diff:1609471657:1609471616:=41,42c41%0a%3c # [[debate/debate|Debated Issues]]%0a%3c # [[third/third|Third Party]]%0a\ No newline at end of file%0a---%0a> # [[debate/debate|Debated Issues]]%0a\ No newline at end of file%0a +host:1609471657=198.251.81.119 +author:1609471616=jrmu +diff:1609471616:1609471409:=40,41c40%0a%3c # [[ircnow/partners|Partner Networks]]%0a%3c # [[debate/debate|Debated Issues]]%0a\ No newline at end of file%0a---%0a> # [[ircnow/partners|Partner Networks]]%0a\ No newline at end of file%0a +host:1609471616=198.251.81.119 +author:1609471409=jrmu +diff:1609471409:1609250640:=39d38%0a%3c # [[marketing/marketing|Marketing]]%0a +host:1609471409=198.251.81.119 +author:1609250640=jrmu +diff:1609250640:1607389053:=38,39c38%0a%3c # [[ircnow/networks|Supported Networks]]%0a%3c # [[ircnow/partners|Partner Networks]]%0a\ No newline at end of file%0a---%0a> # [[ircnow/networks|Supported Networks]]%0a\ No newline at end of file%0a +host:1609250640=125.231.64.214 +author:1607389053=jrmu +diff:1607389053:1606554802:=37d36%0a%3c # [[ircnow/finances|IRCNow Finances]]%0a +host:1607389053=198.251.81.119 +author:1606554802=jrmu +diff:1606554802:1606528126:=7d6%0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a +host:1606554802=198.251.81.119 +author:1606528126=jrmu +diff:1606528126:1603275731:=1c1%0a%3c (:title Join IRCNow Staff:)%0a---%0a> (:title Join the IRCNow Team:)%0a +host:1606528126=198.251.81.119 +author:1603275731=jrmu +diff:1603275731:1602980981:=35,36c35%0a%3c # [[ircnow/helpers|IRCNow Helpers]]%0a%3c # [[ircnow/networks|Supported Networks]]%0a\ No newline at end of file%0a---%0a> # [[ircnow/helpers|IRCNow Helpers]]%0a\ No newline at end of file%0a +host:1603275731=125.224.23.3 +author:1602980981=jrmu +diff:1602980981:1597972860:=34,35c34%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c # [[ircnow/helpers|IRCNow Helpers]]%0a\ No newline at end of file%0a---%0a> # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a +host:1602980981=125.231.17.204 +author:1597972860=jrmu +diff:1597972860:1597900552:=21d20%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a +host:1597972860=38.81.163.143 +author:1597900552=jrmu +diff:1597900552:1597899464:=31a32%0a> # [[ircnow/training|IRCNow Team Training]]%0a +host:1597900552=38.81.163.143 +author:1597899464=jrmu +diff:1597899464:1597895618:=33d32%0a%3c # [[ircnow/roadmap|IRCNow Roadmap]]%0a +host:1597899464=38.81.163.143 +author:1597895618=jrmu +diff:1597895618:1597368670:=32,33c32%0a%3c # [[ircnow/training|IRCNow Team Training]]%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a---%0a> [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a +host:1597895618=38.81.163.143 +author:1597368670=jrmu +diff:1597368670:1597148812:=7c7%0a%3c # '''Free OpenBSD VPS'''%0a---%0a> # Free OpenBSD VPS%0a +host:1597368670=38.81.163.143 +author:1597148812=jrmu +diff:1597148812:1597147001:=22c22%0a%3c # Send us a resume to [[mailto:admin@ircnow.org|admin@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a---%0a> # Send us a resume to [[mailto:support@ircnow.org|support@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a +host:1597148812=38.81.163.143 +author:1597147001=jrmu +diff:1597147001:1597146520:=7,15d6%0a%3c # Free OpenBSD VPS%0a%3c # Learn UNIX sysadmin with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a18,26c9,12%0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our [[tutorial/tutorial|UNIX tutorials]]. We require all recruits finish training tutorials before applying.%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send us a resume to [[mailto:support@ircnow.org|support@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a%3c # Meet up with us for an interview.%0a%3c %0a%3c If you qualify, we'll invite you to join our team training channel. After training, we will pair you with teammates to work on a server.%0a%3c %0a---%0a> First, [[shell/shell|request a shell account]]. Afterwards, please take the time to learn [[openbsd|OpenBSD]]. We have [[tutorial/tutorial|UNIX tutorials]] to help you learn the system. We ask all recruits to finish the training tutorials first before applying.%0a> %0a> Next, please send us a resume to [[mailto:support@ircnow.org|support@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. Afterwards, we will interview you, and if you qualify, we'll invite you to join our team training channel.%0a> %0a29,30c15%0a%3c # You must commit to help our network 5 hours per week%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a---%0a> Opers will be required to log in weekly and to participate in discussions set aside for network policy.%0a +host:1597147001=38.81.163.143 +author:1597146520=jrmu +diff:1597146520:1597145749:=9,11c9,13%0a%3c First, [[shell/shell|request a shell account]]. Afterwards, please take the time to learn [[openbsd|OpenBSD]]. We have [[tutorial/tutorial|UNIX tutorials]] to help you learn the system. We ask all recruits to finish the training tutorials first before applying.%0a%3c %0a%3c Next, please send us a resume to [[mailto:support@ircnow.org|support@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. Afterwards, we will interview you, and if you qualify, we'll invite you to join our team training channel.%0a---%0a> First, connect to our network at [[ircs://irc.ircnow.org/#ircnow]] and /join #ircnow. Request a shell account by typing !shell.%0a> %0a> Once you get the shell account, please take the time to learn [[openbsd|OpenBSD]]. We have UNIX tutorials to help you learn the system. We ask all recruits to finish all the training tutorials first before applying.%0a> %0a> Next, please send us a resume to support@ircnow.org. Please provide your full legal name, address, and phone number. Work references and any websites or social media links you have are helpful. Afterwards, our teammates will interview you, and if you qualify, we'll invite you to join our team training channel.%0a +host:1597146520=38.81.163.143 +author:1597145749=jrmu +diff:1597145749:1597121018:=3,15c3,10%0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c First, connect to our network at [[ircs://irc.ircnow.org/#ircnow]] and /join #ircnow. Request a shell account by typing !shell.%0a%3c %0a%3c Once you get the shell account, please take the time to learn [[openbsd|OpenBSD]]. We have UNIX tutorials to help you learn the system. We ask all recruits to finish all the training tutorials first before applying.%0a%3c %0a%3c Next, please send us a resume to support@ircnow.org. Please provide your full legal name, address, and phone number. Work references and any websites or social media links you have are helpful. Afterwards, our teammates will interview you, and if you qualify, we'll invite you to join our team training channel.%0a%3c %0a%3c !! Your Duties%0a---%0a> IRCNow is recruiting teammates!%0a> %0a> There are two ways to become an oper:%0a> %0a> You can provide your full legal name, address, and phone number, or%0a> You must be put on a trial period for 1-year, provide online references, and a receive a special vote of approval by other opers%0a> %0a> Opers must abide by the following rules:%0a +host:1597145749=38.81.163.143 +author:1597121018=jrmu +diff:1597121018:1597119117:=13,14d12%0a%3c %0a%3c [[ircnow/todo|IRCNow Todo List]]%0a\ No newline at end of file%0a +host:1597121018=38.81.163.143 +author:1597119117=jrmu +diff:1597119117:1597119117:=1,12d0%0a%3c (:title Join the IRCNow Team:)%0a%3c %0a%3c IRCNow is recruiting teammates!%0a%3c %0a%3c There are two ways to become an oper:%0a%3c %0a%3c You can provide your full legal name, address, and phone number, or%0a%3c You must be put on a trial period for 1-year, provide online references, and a receive a special vote of approval by other opers%0a%3c %0a%3c Opers must abide by the following rules:%0a%3c %0a%3c Opers will be required to log in weekly and to participate in discussions set aside for network policy.%0a +host:1597119117=38.81.163.143 blob - /dev/null blob + 1872388829507d44a83f62b3d5b2a17d5c1d9c51 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Team,del-1596508009 @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596458155 +host=38.81.163.143 +name=Ircnow.Team +rev=4 +targets=Ircnow.Servers +text=The best way to reach our team is over IRC, of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL. ([[ircnow/servers|Full list of servers]])%0a%0aIRCNow is applying to be a not-for-profit organization.%0a%0aUS Phone Number: 1(458)888-2063\\%0aBusiness Mailing Address: PO Box 35-48 Taichung 40699\\%0aCustomer Support Email: ''support''(a)'''ircnow'''.org\\%0aAdmin Email: ''admin''(a)'''ircnow'''.org\\%0aAbuse Email: ''abuse''(a)'''ircnow'''.org\\ +time=1596458381 +author:1596458381=jrmu +diff:1596458381:1596458367:=5,9c5,9%0a%3c US Phone Number: 1(458)888-2063\\%0a%3c Business Mailing Address: PO Box 35-48 Taichung 40699\\%0a%3c Customer Support Email: ''support''(a)'''ircnow'''.org\\%0a%3c Admin Email: ''admin''(a)'''ircnow'''.org\\%0a%3c Abuse Email: ''abuse''(a)'''ircnow'''.org\\%0a\ No newline at end of file%0a---%0a> US Phone Number: 1(458)888-2063%0a> Business Mailing Address: PO Box 35-48 Taichung 40699%0a> Customer Support Email: ''support''(a)'''ircnow'''.org%0a> Admin Email: ''admin''(a)'''ircnow'''.org%0a> Abuse Email: ''abuse''(a)'''ircnow'''.org%0a\ No newline at end of file%0a +host:1596458381=38.81.163.143 +author:1596458367=jrmu +diff:1596458367:1596458256:=5a6%0a> %0a7,9c8,15%0a%3c Customer Support Email: ''support''(a)'''ircnow'''.org%0a%3c Admin Email: ''admin''(a)'''ircnow'''.org%0a%3c Abuse Email: ''abuse''(a)'''ircnow'''.org%0a\ No newline at end of file%0a---%0a> %0a> Customer Support Email: //support//**(a)**//ircnow//.org%0a> %0a> Admin Email: //admin//**(a)**//ircnow//.org%0a> %0a> Abuse Email: //abuse//**(a)**//ircnow//.org%0a> %0a> [[team/vps|VPS Plans]]%0a\ No newline at end of file%0a +host:1596458367=38.81.163.143 +author:1596458256=jrmu +diff:1596458256:1596458155:=1c1%0a%3c The best way to reach our team is over IRC, of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL. ([[ircnow/servers|Full list of servers]])%0a---%0a> Want to contact us? The best way is [[ircnow/servers|using IRC]], of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL.%0a +host:1596458256=38.81.163.143 +author:1596458155=jrmu +diff:1596458155:1596458155:=1,15d0%0a%3c Want to contact us? The best way is [[ircnow/servers|using IRC]], of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL.%0a%3c %0a%3c IRCNow is applying to be a not-for-profit organization.%0a%3c %0a%3c US Phone Number: 1(458)888-2063%0a%3c %0a%3c Business Mailing Address: PO Box 35-48 Taichung 40699%0a%3c %0a%3c Customer Support Email: //support//**(a)**//ircnow//.org%0a%3c %0a%3c Admin Email: //admin//**(a)**//ircnow//.org%0a%3c %0a%3c Abuse Email: //abuse//**(a)**//ircnow//.org%0a%3c %0a%3c [[team/vps|VPS Plans]]%0a\ No newline at end of file%0a +host:1596458155=38.81.163.143 blob - /dev/null blob + e4f41eb04a374f0148a69dfde22f5673f06cef45 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Testing @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609333085 +host=198.251.81.119 +name=Ircnow.Testing +rev=1 +targets= +text=(:title Testing servers:)%0a%0aBenefits%0a%0a# Newest features!%0a# Shell accounts!%0a # Learn UNIX and write software%0a # Set up and control bots%0a # Work your way up to become sysadmin%0a%0aDrawbacks:%0a%0a# Less stable, more downtime%0a# Buggier, server may crash%0a# Less secure: don't store any private data here +time=1609333085 +title=Testing servers +author:1609333085=jrmu +diff:1609333085:1609333085:=1,15d0%0a%3c (:title Testing servers:)%0a%3c %0a%3c Benefits%0a%3c %0a%3c # Newest features!%0a%3c # Shell accounts!%0a%3c # Learn UNIX and write software%0a%3c # Set up and control bots%0a%3c # Work your way up to become sysadmin%0a%3c %0a%3c Drawbacks:%0a%3c %0a%3c # Less stable, more downtime%0a%3c # Buggier, server may crash%0a%3c # Less secure: don't store any private data here%0a\ No newline at end of file%0a +host:1609333085=198.251.81.119 blob - /dev/null blob + e3a110587106bf55ca3f9ed809ffbace297a76cc (mode 644) --- /dev/null +++ wiki.d/Ircnow.Todo @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597906090 +host=198.251.81.133 +name=Ircnow.Todo +rev=4 +targets=Ircnow.TeamSecurity,Ircnow.BusinessBusiness,Ircnow.VpsVps,Ircnow.TeamShell +text=%0a!Improve infrastructure%0a!!High Priority%0a* Finish porting new UI to dokuwiki%0a* **Security hardening**%0a* [[team:security|Updated security issues page]]%0a* PF hardening%0a* Setup underprivileged user accounts for each $service with limited permissions%0a* root should only be used as last resort%0a* only root can use fdisk%0a* configure doas properly%0a* Check permissions%0a* Implement **quotas/limits**%3c/del>%0a* Setup **openrsync** and **sftp** on shell.ircnow.org %0a* Define **Disaster Recovery Plan**%0a* Automated backups%0a* Restore testing%0a* Discuss and vote on privacy policy%0a* Replace **nsd** with **DelphinusDNSd**%0a* Setup DNSSEC%0a!! Medium Priority %0a* Setup **mx2**%0a* Implement both mx across whole infrastructure%0a* Setup **cgit** and **cvsweb**%0a* Setup **snmpd**%0a* Monitor:%0a* Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a* Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a* Stopped daemons%0a* Failed backups%0a* Failed scripts%0a* Send email and/or output on #mon%0a* **Block undesired content** (ads, porn, malware) with hosts/DNS%0a* Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a* Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%0a!!Low Priority%0a* Setup **CARP**%0a* Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a* Check processes%0a* NSFW scanbot%0a* Write and deploy IRC bot so users can easily request 1 or more services%0a* !request [$service]%0a* Invoke **$ircnowctl**%0a* Write and deploy **ircnowctl** (k(sh) or perl)%0a* Controller to automate:%0a* **User management** (add/mod/del/suspend/ban)%0a* Enable **ssh access** (pubkeys)%0a* Update **DNS records**%0a* **Quota management** (enable/disable/++/--)%0a* Setup **chroot**%0a* **Check and fix permissions**%0a* **Service management** (add/del/suspend/ban)%0a* Pipe to **$servicectl**%0a* Setup **tor hidden services** for each service%0a!marketing%0a%0a*[[business:business|business plans]]%0a*[[vps:vps|Hosting plans]]%0a*[[team:shell|Shell Ads]]%0a%0a[@%0a - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a - %3cdel>https://aruljohn.com/freeshell/%3c/del> -- sent emails%0a - https://freeshells.info/ -- can't find email or way to get added%0a - http://www.asgaur.com/wp/unix-free-shell-accounts/%0a - %3cdel>egghelp.org%3c/del> -- sent email%0a - %3cdel>https://shells.red-pill.eu/%3c/del> -- emailed, waiting for approval%0a - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a - Get listed on undeadly.org%0a - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a - https://flaviocopes.com/shells/%0a@]%0a*For bouncer providers, get added here:%0a[@%0a - https://www.lowendtalk.com/discussion/29511/free-bnc%0a - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a - https://fedoramagazine.org/never-leave-irc-znc/%0a@]%0a%0a*Get our IRC network listed:%0a[@%0a - https://search.mibbit.com/%0a - https://netsplit.de/%0a@]%0a!opers%0a* Train opers in basic ngircd commands%0a* Set up test ircd%0a* Test out spam repos%0a* Write anti-spam bots%0a* Switch over to achurch's services, write anti-spam services%0a%0a!IRC services%0a%0a* MemeServ%0a* HoneyServ%0a* PasteServ%0a* TrapServ%0a* FileServ%0a* KeyServ%0a%0a!VOIP%0a%0a* Setup asterisk%0a* Free sip accounts for everyone%0a* Charge for public telephone calls%0a* Charge for DIDs%0a* Include SIP clients with IRC clients%0a* Provide free TURN/STUN servers%0a %0a!shop%0a%0a* Use oscommerce%0a* Add organic food products%0a* Add specialty handicraft goods%0a%0a!shell accounts%0a%0a* offer prizes and competitions for dev%0a* ask for help with wikis%0a* set up easy eggdrops%0a* fix cumulus cloud and h5ai%0a* add rsync support%0a* ffmpeg?%0a* fix cloudmounter for mac%0a* add rsync, sshfuse support for sftp%0a* See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a* https://www.freeshells.org/wiki/index.php?title=Services%0a* https://sdf.org/?tutorials%0a* https://www.nyx.net/help.html#unix%0a* https://www.freeshells.org/wiki/index.php?title=Services%0a* https://www.grex.org/%0a* https://www.unixporting.com/remote-accounts.html%0a* https://sdfeu.org/w/%0a* https://freeshell.de/~lysy/public/free.htm%0a%0aImplement ssh automated account creation:%0a%0ahttps://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a%0a[[vps:vps|Hosting plans]]%0a%0a%0a!cronjobs%0a%0a*write cronjobs to automate wraith, bnc, acme-client%0a%0a!asterisk%0a%0a* Setup asterisk%0a* Write documentation for SIP clients%0a%0a!ngircd %0a%0a* set up irc hidden service%0a* Add connection/join/nick flood protection%0a* Add +r restricted user mode%0a* Add defcon mode%0a* Add censor lists for unregistered users %0a* Verify hopm accuracy%0a* Update terms of service%0a* Fix /var/log/messages syslog messages for ngircd%0a* Clean up patches%0a* Nickserv/Chanserv flood protection%0a* Migrate to atheme?%0a* Add /ns and /cs aliases%0a* Block nick juping %0a%0a!ldap%0a%0a* Add single sign-in%0a%0a!Website%0a%0a* Write registration into app%0a* Improve anycasting and redundancy%0a%0a!Git%0a%0a* Switch to stagit%0a* Import git repos%0a%0a!PyLink%0a%0a* Fix spam filters%0a%0a!Bridges%0a%0a* Add support for matrix%0a* Add bitlbee support for slack, twitter, telegram, discord, signal%0a* Improve bitlbee documentation%0a* Add telegram/discord for bnc3%0a* Research bitlbee-telegram usernames foreign charset problem%0a%0a!SIP%0a%0a* We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a* Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a* Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a* Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a* Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a* Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a* Bridge SIP to mumble so we can interop with the large mumble community%0a* Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a* Provide free TURN/STUN services%0a* Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%0a!Abuse%0a* ban abjects, high times?%0a* fix dns blacklist%0a%0a!Question2Answer%0a%0a* Convert to IRCNow%0a%0a!Minetest Gaming%0a%0a* Set up final minetest servers%0a* Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%0a!Security%0a%0a* Build security community%0a* Add livestreaming audio/video played by bot, !play url%0a* https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a* create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%0a!Low Priority%0a%0a* Fileserv -- DCC%0a* Pasteserv -- PRIVMSG%0a* PM flood honeypot%0a* Chan honeypot%0a* NSFW scanbot%0a* Write IRC games %0a* Write IRC messenger for Android, iOS, and web%0a%0a!psyBNC%0a%0a* Add contact lists%0a* Add file upload%0a%0a!Squirrel mail%0a[@%0a13:39 %3c gry> after clicking send the page stays there for a %0a few secs, i feel tempted to click send again%0a13:39 %3c gry> this might result in messages being sent twice%0a@]%0a%0a!ilines %0a%0a* mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a* available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se +time=1629189699 +author:1629189699=mkf +diff:1629189699:1629189583:=2c2,3%0a%3c !Improve infrastructure%0a---%0a> %0a> !Improve IRCNow's infrastructure%0a58,62c59,64%0a%3c *[[business:business|business plans]]%0a%3c *[[vps:vps|Hosting plans]]%0a%3c *[[team:shell|Shell Ads]]%0a%3c %0a%3c [@%0a---%0a> [[business:business|business plans]]%0a> [[vps:vps|Hosting plans]]%0a> %0a> %0a> [[team:shell|Shell Ads]]%0a> %0a74,76c76,78%0a%3c @]%0a%3c *For bouncer providers, get added here:%0a%3c [@%0a---%0a> %0a> For bouncer providers, get added here:%0a> %0a80,83c82,83%0a%3c @]%0a%3c %0a%3c *Get our IRC network listed:%0a%3c [@%0a---%0a> %0a> Get our IRC network listed:%0a86c86%0a%3c @]%0a---%0a> %0a251c251%0a%3c !ilines %0a---%0a> ===== ilines =====%0a +host:1629189699=198.251.81.133 +author:1629189583=mkf +diff:1629189583:1629188908:=1,58c1,58%0a%3c %0a%3c %0a%3c !Improve IRCNow's infrastructure%0a%3c !!High Priority%0a%3c * Finish porting new UI to dokuwiki%0a%3c * **Security hardening**%0a%3c * [[team:security|Updated security issues page]]%0a%3c * PF hardening%0a%3c * Setup underprivileged user accounts for each $service with limited permissions%0a%3c * root should only be used as last resort%0a%3c * only root can use fdisk%0a%3c * configure doas properly%0a%3c * Check permissions%0a%3c * Implement **quotas/limits**%3c/del>%0a%3c * Setup **openrsync** and **sftp** on shell.ircnow.org %0a%3c * Define **Disaster Recovery Plan**%0a%3c * Automated backups%0a%3c * Restore testing%0a%3c * Discuss and vote on privacy policy%0a%3c * Replace **nsd** with **DelphinusDNSd**%0a%3c * Setup DNSSEC%0a%3c !! Medium Priority %0a%3c * Setup **mx2**%0a%3c * Implement both mx across whole infrastructure%0a%3c * Setup **cgit** and **cvsweb**%0a%3c * Setup **snmpd**%0a%3c * Monitor:%0a%3c * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a%3c * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a%3c * Stopped daemons%0a%3c * Failed backups%0a%3c * Failed scripts%0a%3c * Send email and/or output on #mon%0a%3c * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a%3c * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a%3c * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%3c %0a%3c !!Low Priority%0a%3c * Setup **CARP**%0a%3c * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a%3c * Check processes%0a%3c * NSFW scanbot%0a%3c * Write and deploy IRC bot so users can easily request 1 or more services%0a%3c * !request [$service]%0a%3c * Invoke **$ircnowctl**%0a%3c * Write and deploy **ircnowctl** (k(sh) or perl)%0a%3c * Controller to automate:%0a%3c * **User management** (add/mod/del/suspend/ban)%0a%3c * Enable **ssh access** (pubkeys)%0a%3c * Update **DNS records**%0a%3c * **Quota management** (enable/disable/++/--)%0a%3c * Setup **chroot**%0a%3c * **Check and fix permissions**%0a%3c * **Service management** (add/del/suspend/ban)%0a%3c * Pipe to **$servicectl**%0a%3c * Setup **tor hidden services** for each service%0a%3c !marketing%0a%3c %0a---%0a> !TODO%0a> %0a> !!Improve IRCNow's infrastructure%0a> !!!High Priority%0a> * Finish porting new UI to dokuwiki%0a> * **Security hardening**%0a> * [[team:security|Updated security issues page]]%0a> * PF hardening%0a> * Setup underprivileged user accounts for each $service with limited permissions%0a> * root should only be used as last resort%0a> * only root can use fdisk%0a> * configure doas properly%0a> * Check permissions%0a> * Implement **quotas/limits**%3c/del>%0a> * Setup **openrsync** and **sftp** on shell.ircnow.org %0a> * Define **Disaster Recovery Plan**%0a> * Automated backups%0a> * Restore testing%0a> * Discuss and vote on privacy policy%0a> * Replace **nsd** with **DelphinusDNSd**%0a> * Setup DNSSEC%0a> ===== Medium Priority =====%0a> * Setup **mx2**%0a> * Implement both mx across whole infrastructure%0a> * Setup **cgit** and **cvsweb**%0a> * Setup **snmpd**%0a> * Monitor:%0a> * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a> * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a> * Stopped daemons%0a> * Failed backups%0a> * Failed scripts%0a> * Send email and/or output on #mon%0a> * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a> * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a> * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a> %0a> ===== Low Priority =====%0a> * Setup **carp**%0a> * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a> * Check processes%0a> * NSFW scanbot%0a> * Write and deploy IRC bot so users can easily request 1 or more services%0a> * !request [$service]%0a> * Invoke **$ircnowctl**%0a> * Write and deploy **ircnowctl** (k(sh) or perl)%0a> * Controller to automate:%0a> * **User management** (add/mod/del/suspend/ban)%0a> * Enable **ssh access** (pubkeys)%0a> * Update **DNS records**%0a> * **Quota management** (enable/disable/++/--)%0a> * Setup **chroot**%0a> * **Check and fix permissions**%0a> * **Service management** (add/del/suspend/ban)%0a> * Pipe to **$servicectl**%0a> * Setup **tor hidden services** for each service%0a> ===== marketing =====%0a> %0a87,110c87,111%0a%3c !opers%0a%3c * Train opers in basic ngircd commands%0a%3c * Set up test ircd%0a%3c * Test out spam repos%0a%3c * Write anti-spam bots%0a%3c * Switch over to achurch's services, write anti-spam services%0a%3c %0a%3c !IRC services%0a%3c %0a%3c * MemeServ%0a%3c * HoneyServ%0a%3c * PasteServ%0a%3c * TrapServ%0a%3c * FileServ%0a%3c * KeyServ%0a%3c %0a%3c !VOIP%0a%3c %0a%3c * Setup asterisk%0a%3c * Free sip accounts for everyone%0a%3c * Charge for public telephone calls%0a%3c * Charge for DIDs%0a%3c * Include SIP clients with IRC clients%0a%3c * Provide free TURN/STUN servers%0a---%0a> ===== opers =====%0a> %0a> - Train opers in basic ngircd commands%0a> - Set up test ircd%0a> - Test out spam repos%0a> - Write anti-spam bots%0a> - Switch over to achurch's services, write anti-spam services%0a> %0a> ===== IRC services =====%0a> %0a> - MemeServ%0a> - HoneyServ%0a> - PasteServ%0a> - TrapServ%0a> - FileServ%0a> - KeyServ%0a> %0a> ===== VOIP =====%0a> %0a> - Setup asterisk%0a> - Free sip accounts for everyone%0a> - Charge for public telephone calls%0a> - Charge for DIDs%0a> - Include SIP clients with IRC clients%0a> - Provide free TURN/STUN servers%0a112,137c113,138%0a%3c !shop%0a%3c %0a%3c * Use oscommerce%0a%3c * Add organic food products%0a%3c * Add specialty handicraft goods%0a%3c %0a%3c !shell accounts%0a%3c %0a%3c * offer prizes and competitions for dev%0a%3c * ask for help with wikis%0a%3c * set up easy eggdrops%0a%3c * fix cumulus cloud and h5ai%0a%3c * add rsync support%0a%3c * ffmpeg?%0a%3c * fix cloudmounter for mac%0a%3c * add rsync, sshfuse support for sftp%0a%3c * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://sdf.org/?tutorials%0a%3c * https://www.nyx.net/help.html#unix%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://www.grex.org/%0a%3c * https://www.unixporting.com/remote-accounts.html%0a%3c * https://sdfeu.org/w/%0a%3c * https://freeshell.de/~lysy/public/free.htm%0a%3c %0a---%0a> ===== shop =====%0a> %0a> - Use oscommerce%0a> - Add organic food products%0a> - Add specialty handicraft goods%0a> %0a> ===== shell accounts =====%0a> %0a> * offer prizes and competitions for dev%0a> * ask for help with wikis%0a> * set up easy eggdrops%0a> * fix cumulus cloud and h5ai%0a> * add rsync support%0a> * ffmpeg?%0a> * fix cloudmounter for mac%0a> * add rsync, sshfuse support for sftp%0a> * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a> * https://www.freeshells.org/wiki/index.php?title=Services%0a> * https://sdf.org/?tutorials%0a> * https://www.nyx.net/help.html#unix%0a> * https://www.freeshells.org/wiki/index.php?title=Services%0a> * https://www.grex.org/%0a> * https://www.unixporting.com/remote-accounts.html%0a> * https://sdfeu.org/w/%0a> * https://freeshell.de/~lysy/public/free.htm%0a> %0a145,245c146,246%0a%3c !cronjobs%0a%3c %0a%3c *write cronjobs to automate wraith, bnc, acme-client%0a%3c %0a%3c !asterisk%0a%3c %0a%3c * Setup asterisk%0a%3c * Write documentation for SIP clients%0a%3c %0a%3c !ngircd %0a%3c %0a%3c * set up irc hidden service%0a%3c * Add connection/join/nick flood protection%0a%3c * Add +r restricted user mode%0a%3c * Add defcon mode%0a%3c * Add censor lists for unregistered users %0a%3c * Verify hopm accuracy%0a%3c * Update terms of service%0a%3c * Fix /var/log/messages syslog messages for ngircd%0a%3c * Clean up patches%0a%3c * Nickserv/Chanserv flood protection%0a%3c * Migrate to atheme?%0a%3c * Add /ns and /cs aliases%0a%3c * Block nick juping %0a%3c %0a%3c !ldap%0a%3c %0a%3c * Add single sign-in%0a%3c %0a%3c !Website%0a%3c %0a%3c * Write registration into app%0a%3c * Improve anycasting and redundancy%0a%3c %0a%3c !Git%0a%3c %0a%3c * Switch to stagit%0a%3c * Import git repos%0a%3c %0a%3c !PyLink%0a%3c %0a%3c * Fix spam filters%0a%3c %0a%3c !Bridges%0a%3c %0a%3c * Add support for matrix%0a%3c * Add bitlbee support for slack, twitter, telegram, discord, signal%0a%3c * Improve bitlbee documentation%0a%3c * Add telegram/discord for bnc3%0a%3c * Research bitlbee-telegram usernames foreign charset problem%0a%3c %0a%3c !SIP%0a%3c %0a%3c * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a%3c * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a%3c * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a%3c * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a%3c * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a%3c * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a%3c * Bridge SIP to mumble so we can interop with the large mumble community%0a%3c * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a%3c * Provide free TURN/STUN services%0a%3c * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%3c %0a%3c !Abuse%0a%3c * ban abjects, high times?%0a%3c * fix dns blacklist%0a%3c %0a%3c !Question2Answer%0a%3c %0a%3c * Convert to IRCNow%0a%3c %0a%3c !Minetest Gaming%0a%3c %0a%3c * Set up final minetest servers%0a%3c * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%3c %0a%3c !Security%0a%3c %0a%3c * Build security community%0a%3c * Add livestreaming audio/video played by bot, !play url%0a%3c * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a%3c * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%3c %0a%3c !Low Priority%0a%3c %0a%3c * Fileserv -- DCC%0a%3c * Pasteserv -- PRIVMSG%0a%3c * PM flood honeypot%0a%3c * Chan honeypot%0a%3c * NSFW scanbot%0a%3c * Write IRC games %0a%3c * Write IRC messenger for Android, iOS, and web%0a%3c %0a%3c !psyBNC%0a%3c %0a%3c * Add contact lists%0a%3c * Add file upload%0a%3c %0a%3c !Squirrel mail%0a%3c [@%0a---%0a> ===== cronjobs =====%0a> %0a> write cronjobs to automate wraith, bnc, acme-client%0a> %0a> ===== asterisk =====%0a> %0a> * Setup asterisk%0a> * Write documentation for SIP clients%0a> %0a> ===== ngircd =====%0a> %0a> * set up irc hidden service%0a> * Add connection/join/nick flood protection%0a> * Add +r restricted user mode%0a> * Add defcon mode%0a> * Add censor lists for unregistered users %0a> * Verify hopm accuracy%0a> * Update terms of service%0a> * Fix /var/log/messages syslog messages for ngircd%0a> * Clean up patches%0a> * Nickserv/Chanserv flood protection%0a> * Migrate to atheme?%0a> * Add /ns and /cs aliases%0a> * Block nick juping %0a> %0a> ===== ldap =====%0a> %0a> * Add single sign-in%0a> %0a> ===== Website =====%0a> %0a> * Write registration into app%0a> * Improve anycasting and redundancy%0a> %0a> ===== Git =====%0a> %0a> * Switch to stagit%0a> * Import git repos%0a> %0a> ===== PyLink =====%0a> %0a> * Fix spam filters%0a> %0a> ===== Bridges =====%0a> %0a> * Add support for matrix%0a> * Add bitlbee support for slack, twitter, telegram, discord, signal%0a> * Improve bitlbee documentation%0a> * Add telegram/discord for bnc3%0a> * Research bitlbee-telegram usernames foreign charset problem%0a> %0a> ===== SIP =====%0a> %0a> * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a> * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a> * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a> * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a> * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a> * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a> * Bridge SIP to mumble so we can interop with the large mumble community%0a> * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a> * Provide free TURN/STUN services%0a> * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a> %0a> ===== Abuse =====%0a> * ban abjects, high times?%0a> * fix dns blacklist%0a> %0a> ===== Question2Answer =====%0a> %0a> * Convert to IRCNow%0a> %0a> ===== Minetest Gaming =====%0a> %0a> * Set up final minetest servers%0a> * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a> %0a> ===== Security =====%0a> %0a> * Build security community%0a> * Add livestreaming audio/video played by bot, !play url%0a> * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a> * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a> %0a> ====== Low Priority ====== %0a> %0a> * Fileserv -- DCC%0a> * Pasteserv -- PRIVMSG%0a> * PM flood honeypot%0a> * Chan honeypot%0a> * NSFW scanbot%0a> * Write IRC games %0a> * Write IRC messenger for Android, iOS, and web%0a> %0a> ===== psyBNC =====%0a> %0a> * Add contact lists%0a> * Add file upload%0a> %0a> ===== squirrel mail =====%0a> %0a249,250c250,251%0a%3c @]%0a%3c %0a---%0a> %0a> %0a253,254c254,255%0a%3c * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a%3c * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a---%0a> * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a> * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a +host:1629189583=198.251.81.133 +author:1629188908=mkf +diff:1629188908:1597906090:=1,4c1,4%0a%3c !TODO%0a%3c %0a%3c !!Improve IRCNow's infrastructure%0a%3c !!!High Priority%0a---%0a> ====== TODO ======%0a> %0a> ===== Improve IRCNow's infrastructure =====%0a> ===== High Priority ===== %0a6c6%0a%3c * **Security hardening**%0a---%0a> * **Security hardening**%0a14c14%0a%3c * Implement **quotas/limits**%3c/del>%0a---%0a> * %3cdel>Implement **quotas/limits**%3c/del>%0a +host:1629188908=198.251.81.133 +author:1597906090=jrmu +diff:1597906090:1597906090:=1,255d0%0a%3c ====== TODO ======%0a%3c %0a%3c ===== Improve IRCNow's infrastructure =====%0a%3c ===== High Priority ===== %0a%3c * Finish porting new UI to dokuwiki%0a%3c * **Security hardening**%0a%3c * [[team:security|Updated security issues page]]%0a%3c * PF hardening%0a%3c * Setup underprivileged user accounts for each $service with limited permissions%0a%3c * root should only be used as last resort%0a%3c * only root can use fdisk%0a%3c * configure doas properly%0a%3c * Check permissions%0a%3c * %3cdel>Implement **quotas/limits**%3c/del>%0a%3c * Setup **openrsync** and **sftp** on shell.ircnow.org %0a%3c * Define **Disaster Recovery Plan**%0a%3c * Automated backups%0a%3c * Restore testing%0a%3c * Discuss and vote on privacy policy%0a%3c * Replace **nsd** with **DelphinusDNSd**%0a%3c * Setup DNSSEC%0a%3c ===== Medium Priority =====%0a%3c * Setup **mx2**%0a%3c * Implement both mx across whole infrastructure%0a%3c * Setup **cgit** and **cvsweb**%0a%3c * Setup **snmpd**%0a%3c * Monitor:%0a%3c * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a%3c * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a%3c * Stopped daemons%0a%3c * Failed backups%0a%3c * Failed scripts%0a%3c * Send email and/or output on #mon%0a%3c * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a%3c * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a%3c * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%3c %0a%3c ===== Low Priority =====%0a%3c * Setup **carp**%0a%3c * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a%3c * Check processes%0a%3c * NSFW scanbot%0a%3c * Write and deploy IRC bot so users can easily request 1 or more services%0a%3c * !request [$service]%0a%3c * Invoke **$ircnowctl**%0a%3c * Write and deploy **ircnowctl** (k(sh) or perl)%0a%3c * Controller to automate:%0a%3c * **User management** (add/mod/del/suspend/ban)%0a%3c * Enable **ssh access** (pubkeys)%0a%3c * Update **DNS records**%0a%3c * **Quota management** (enable/disable/++/--)%0a%3c * Setup **chroot**%0a%3c * **Check and fix permissions**%0a%3c * **Service management** (add/del/suspend/ban)%0a%3c * Pipe to **$servicectl**%0a%3c * Setup **tor hidden services** for each service%0a%3c ===== marketing =====%0a%3c %0a%3c [[business:business|business plans]]%0a%3c [[vps:vps|Hosting plans]]%0a%3c %0a%3c %0a%3c [[team:shell|Shell Ads]]%0a%3c %0a%3c - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a%3c - %3cdel>https://aruljohn.com/freeshell/%3c/del> -- sent emails%0a%3c - https://freeshells.info/ -- can't find email or way to get added%0a%3c - http://www.asgaur.com/wp/unix-free-shell-accounts/%0a%3c - %3cdel>egghelp.org%3c/del> -- sent email%0a%3c - %3cdel>https://shells.red-pill.eu/%3c/del> -- emailed, waiting for approval%0a%3c - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - Get listed on undeadly.org%0a%3c - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a%3c - https://flaviocopes.com/shells/%0a%3c %0a%3c For bouncer providers, get added here:%0a%3c %0a%3c - https://www.lowendtalk.com/discussion/29511/free-bnc%0a%3c - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a%3c - https://fedoramagazine.org/never-leave-irc-znc/%0a%3c %0a%3c Get our IRC network listed:%0a%3c - https://search.mibbit.com/%0a%3c - https://netsplit.de/%0a%3c %0a%3c ===== opers =====%0a%3c %0a%3c - Train opers in basic ngircd commands%0a%3c - Set up test ircd%0a%3c - Test out spam repos%0a%3c - Write anti-spam bots%0a%3c - Switch over to achurch's services, write anti-spam services%0a%3c %0a%3c ===== IRC services =====%0a%3c %0a%3c - MemeServ%0a%3c - HoneyServ%0a%3c - PasteServ%0a%3c - TrapServ%0a%3c - FileServ%0a%3c - KeyServ%0a%3c %0a%3c ===== VOIP =====%0a%3c %0a%3c - Setup asterisk%0a%3c - Free sip accounts for everyone%0a%3c - Charge for public telephone calls%0a%3c - Charge for DIDs%0a%3c - Include SIP clients with IRC clients%0a%3c - Provide free TURN/STUN servers%0a%3c %0a%3c ===== shop =====%0a%3c %0a%3c - Use oscommerce%0a%3c - Add organic food products%0a%3c - Add specialty handicraft goods%0a%3c %0a%3c ===== shell accounts =====%0a%3c %0a%3c * offer prizes and competitions for dev%0a%3c * ask for help with wikis%0a%3c * set up easy eggdrops%0a%3c * fix cumulus cloud and h5ai%0a%3c * add rsync support%0a%3c * ffmpeg?%0a%3c * fix cloudmounter for mac%0a%3c * add rsync, sshfuse support for sftp%0a%3c * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://sdf.org/?tutorials%0a%3c * https://www.nyx.net/help.html#unix%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://www.grex.org/%0a%3c * https://www.unixporting.com/remote-accounts.html%0a%3c * https://sdfeu.org/w/%0a%3c * https://freeshell.de/~lysy/public/free.htm%0a%3c %0a%3c Implement ssh automated account creation:%0a%3c %0a%3c https://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a%3c %0a%3c [[vps:vps|Hosting plans]]%0a%3c %0a%3c %0a%3c ===== cronjobs =====%0a%3c %0a%3c write cronjobs to automate wraith, bnc, acme-client%0a%3c %0a%3c ===== asterisk =====%0a%3c %0a%3c * Setup asterisk%0a%3c * Write documentation for SIP clients%0a%3c %0a%3c ===== ngircd =====%0a%3c %0a%3c * set up irc hidden service%0a%3c * Add connection/join/nick flood protection%0a%3c * Add +r restricted user mode%0a%3c * Add defcon mode%0a%3c * Add censor lists for unregistered users %0a%3c * Verify hopm accuracy%0a%3c * Update terms of service%0a%3c * Fix /var/log/messages syslog messages for ngircd%0a%3c * Clean up patches%0a%3c * Nickserv/Chanserv flood protection%0a%3c * Migrate to atheme?%0a%3c * Add /ns and /cs aliases%0a%3c * Block nick juping %0a%3c %0a%3c ===== ldap =====%0a%3c %0a%3c * Add single sign-in%0a%3c %0a%3c ===== Website =====%0a%3c %0a%3c * Write registration into app%0a%3c * Improve anycasting and redundancy%0a%3c %0a%3c ===== Git =====%0a%3c %0a%3c * Switch to stagit%0a%3c * Import git repos%0a%3c %0a%3c ===== PyLink =====%0a%3c %0a%3c * Fix spam filters%0a%3c %0a%3c ===== Bridges =====%0a%3c %0a%3c * Add support for matrix%0a%3c * Add bitlbee support for slack, twitter, telegram, discord, signal%0a%3c * Improve bitlbee documentation%0a%3c * Add telegram/discord for bnc3%0a%3c * Research bitlbee-telegram usernames foreign charset problem%0a%3c %0a%3c ===== SIP =====%0a%3c %0a%3c * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a%3c * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a%3c * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a%3c * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a%3c * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a%3c * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a%3c * Bridge SIP to mumble so we can interop with the large mumble community%0a%3c * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a%3c * Provide free TURN/STUN services%0a%3c * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%3c %0a%3c ===== Abuse =====%0a%3c * ban abjects, high times?%0a%3c * fix dns blacklist%0a%3c %0a%3c ===== Question2Answer =====%0a%3c %0a%3c * Convert to IRCNow%0a%3c %0a%3c ===== Minetest Gaming =====%0a%3c %0a%3c * Set up final minetest servers%0a%3c * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%3c %0a%3c ===== Security =====%0a%3c %0a%3c * Build security community%0a%3c * Add livestreaming audio/video played by bot, !play url%0a%3c * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a%3c * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%3c %0a%3c ====== Low Priority ====== %0a%3c %0a%3c * Fileserv -- DCC%0a%3c * Pasteserv -- PRIVMSG%0a%3c * PM flood honeypot%0a%3c * Chan honeypot%0a%3c * NSFW scanbot%0a%3c * Write IRC games %0a%3c * Write IRC messenger for Android, iOS, and web%0a%3c %0a%3c ===== psyBNC =====%0a%3c %0a%3c * Add contact lists%0a%3c * Add file upload%0a%3c %0a%3c ===== squirrel mail =====%0a%3c %0a%3c 13:39 %3c gry> after clicking send the page stays there for a %0a%3c few secs, i feel tempted to click send again%0a%3c 13:39 %3c gry> this might result in messages being sent twice%0a%3c %0a%3c %0a%3c ===== ilines =====%0a%3c %0a%3c * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a%3c * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a +host:1597906090=38.81.163.143 blob - /dev/null blob + 12143c7cff1fe407bbeb32c44b10e467c12e245c (mode 644) --- /dev/null +++ wiki.d/Ircnow.Todo,del-1597904693 @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597120876 +host=38.81.163.143 +name=Ircnow.Todo +rev=5 +targets=Ircnow.VpsVps +text=(:title IRCNow Todo:)%0a%0a!! pmwiki%0a# Update UI theme%0a%0a!! Security%0a# Harden firewalls%0a# Harden shell accounts%0a# Fix DNS blacklist%0a# Configure doas properly%0a# Check file permissions%0a# Implement '''quotas/limits'''%0a# Setup openrsync and sftp on shell accounts%0a%0a!! Disaster Recovery Plan%0a# Automated backups%0a# Restore testing%0a%0a# Discuss privacy policy%0a# Setup DNSSEC%0a===== Medium Priority =====%0a * Setup **mx2**%0a * Implement both mx across whole infrastructure%0a * Setup **cgit** and **cvsweb**%0a * Setup **snmpd**%0a * Monitor:%0a * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a * Stopped daemons%0a * Failed backups%0a * Failed scripts%0a * Send email and/or output on #mon%0a * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%0a===== Low Priority =====%0a * Setup **carp**%0a * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a * Check processes%0a * NSFW scanbot%0a * Write and deploy IRC bot so users can easily request 1 or more services%0a * !request [$service]%0a * Invoke **$ircnowctl**%0a * Write and deploy **ircnowctl** (k(sh) or perl)%0a * Controller to automate:%0a * **User management** (add/mod/del/suspend/ban)%0a * Enable **ssh access** (pubkeys)%0a * Update **DNS records**%0a * **Quota management** (enable/disable/++/--)%0a * Setup **chroot**%0a * **Check and fix permissions**%0a * **Service management** (add/del/suspend/ban)%0a * Pipe to **$servicectl**%0a * Setup **tor hidden services** for each service%0a%0a!! Marketing%0a%0a# Get our IRC network added:%0a # https://search.mibbit.com/%0a # https://netsplit.de/%0a - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a - Get listed on undeadly.org%0a - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a - https://flaviocopes.com/shells/%0a%0aFor bouncer providers, get added here:%0a%0a - https://www.lowendtalk.com/discussion/29511/free-bnc%0a - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a - https://fedoramagazine.org/never-leave-irc-znc/%0a%0a!! Advertising%0a%0a%0a!! IRC Spam%0a# Test out spam repos%0a# Fork acopm for spam defenses%0a# Fork achurch, write anti-spam services%0a%0a!! IRC services%0a%0a - MemeServ%0a - HoneyServ%0a - PasteServ%0a - TrapServ%0a - FileServ%0a - KeyServ%0a%0a!! SIP%0a# Setup asterisk%0a# Provide free sip accounts for everyone%0a# Register DIDs%0a# Include SIP clients with IRC clients%0a# Provide free TURN/STUN servers%0a %0a!! Ecommerce%0a# Use oscommerce%0a# Add organic food products%0a# Add specialty handicraft goods%0a%0a===== shell accounts =====%0a%0a * offer prizes and competitions for dev%0a * ask for help with wikis%0a * set up easy eggdrops%0a * fix cumulus cloud and h5ai%0a * add rsync support%0a * ffmpeg?%0a * fix cloudmounter for mac%0a * add rsync, sshfuse support for sftp%0a * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a * https://www.freeshells.org/wiki/index.php?title=Services%0a * https://sdf.org/?tutorials%0a * https://www.nyx.net/help.html#unix%0a * https://www.freeshells.org/wiki/index.php?title=Services%0a * https://www.grex.org/%0a * https://www.unixporting.com/remote-accounts.html%0a * https://sdfeu.org/w/%0a * https://freeshell.de/~lysy/public/free.htm%0a%0aImplement ssh automated account creation:%0a%0ahttps://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a%0a[[vps:vps|Hosting plans]]%0a%0a%0a!! cronjobs =====%0a%0awrite cronjobs to automate wraith, bnc, acme-client%0a%0a===== ngircd =====%0a%0a * set up irc hidden service%0a * Add connection/join/nick flood protection%0a * Add +r restricted user mode%0a * Add defcon mode%0a * Add censor lists for unregistered users %0a * Verify hopm accuracy%0a * Update terms of service%0a * Fix /var/log/messages syslog messages for ngircd%0a * Clean up patches%0a * Nickserv/Chanserv flood protection%0a * Migrate to atheme?%0a * Add /ns and /cs aliases%0a * Block nick juping %0a%0a# Write web IRC app%0a%0a===== Bridges =====%0a%0a * Add support for matrix%0a * Add bitlbee support for slack, twitter, telegram, discord, signal%0a * Improve bitlbee documentation%0a * Add telegram/discord for bnc3%0a * Research bitlbee-telegram usernames foreign charset problem%0a%0a===== SIP =====%0a%0a * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a * Bridge SIP to mumble so we can interop with the large mumble community%0a * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a * Provide free TURN/STUN services%0a * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%0a%0a%0a===== Question2Answer =====%0a%0a * Convert to IRCNow%0a%0a===== Minetest Gaming =====%0a%0a * Set up final minetest servers%0a * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%0a===== Security =====%0a%0a * Build security community%0a * Add livestreaming audio/video played by bot, !play url%0a * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%0a====== Low Priority ====== %0a%0a * Fileserv -- DCC%0a * Pasteserv -- PRIVMSG%0a * PM flood honeypot%0a * Chan honeypot%0a * NSFW scanbot%0a * Write IRC games %0a * Write IRC messenger for Android, iOS, and web%0a%0a===== psyBNC =====%0a%0a * Add contact lists%0a * Add file upload%0a%0a===== squirrel mail =====%0a%0a13:39 %3c gry> after clicking send the page stays there for a %0a few secs, i feel tempted to click send again%0a13:39 %3c gry> this might result in messages being sent twice%0a%0a%0a===== ilines =====%0a%0a * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se +time=1597898745 +title=IRCNow Todo +author:1597898745=jrmu +diff:1597898745:1597898682:=56,61c56,58%0a%3c %0a%3c !! Marketing%0a%3c %0a%3c # Get our IRC network added:%0a%3c # https://search.mibbit.com/%0a%3c # https://netsplit.de/%0a---%0a> ===== marketing =====%0a> %0a> %0a62a60,64%0a> - %3cdel>https://aruljohn.com/freeshell/%3c/del> -- sent emails%0a> - https://freeshells.info/ -- can't find email or way to get added%0a> - http://www.asgaur.com/wp/unix-free-shell-accounts/%0a> - %3cdel>egghelp.org%3c/del> -- sent email%0a> - %3cdel>https://shells.red-pill.eu/%3c/del> -- emailed, waiting for approval%0a76c78,79%0a%3c %0a---%0a> # https://search.mibbit.com/%0a> # https://netsplit.de/%0a +host:1597898745=38.81.163.143 +author:1597898682=jrmu +diff:1597898682:1597121706:=3c3%0a%3c !! pmwiki%0a---%0a> !! dokuwiki%0a +host:1597898682=38.81.163.143 +author:1597121706=jrmu +diff:1597121706:1597121476:=9d8%0a%3c # Fix DNS blacklist%0a58c57,62%0a%3c %0a---%0a> [[business:business|business plans]]%0a> [[vps:vps|Hosting plans]]%0a> %0a> %0a> [[team:shell|Shell Ads]]%0a> %0a77,80c81,84%0a%3c !! Advertising%0a%3c # https://search.mibbit.com/%0a%3c # https://netsplit.de/%0a%3c %0a---%0a> Get our IRC network listed:%0a> - https://search.mibbit.com/%0a> - https://netsplit.de/%0a> %0a95,100c99,106%0a%3c !! SIP%0a%3c # Setup asterisk%0a%3c # Provide free sip accounts for everyone%0a%3c # Register DIDs%0a%3c # Include SIP clients with IRC clients%0a%3c # Provide free TURN/STUN servers%0a---%0a> ===== VOIP =====%0a> %0a> - Setup asterisk%0a> - Free sip accounts for everyone%0a> - Charge for public telephone calls%0a> - Charge for DIDs%0a> - Include SIP clients with IRC clients%0a> - Provide free TURN/STUN servers%0a102,106c108,113%0a%3c !! Ecommerce%0a%3c # Use oscommerce%0a%3c # Add organic food products%0a%3c # Add specialty handicraft goods%0a%3c %0a---%0a> ===== shop =====%0a> %0a> - Use oscommerce%0a> - Add organic food products%0a> - Add specialty handicraft goods%0a> %0a134,135c141,142%0a%3c !! cronjobs =====%0a%3c %0a---%0a> ===== cronjobs =====%0a> %0a137a145,149%0a> ===== asterisk =====%0a> %0a> * Setup asterisk%0a> * Write documentation for SIP clients%0a> %0a154,155c166,183%0a%3c # Write web IRC app%0a%3c %0a---%0a> ===== ldap =====%0a> %0a> * Add single sign-in%0a> %0a> ===== Website =====%0a> %0a> * Write registration into app%0a> * Improve anycasting and redundancy%0a> %0a> ===== Git =====%0a> %0a> * Switch to stagit%0a> * Import git repos%0a> %0a> ===== PyLink =====%0a> %0a> * Fix spam filters%0a> %0a177c205,207%0a%3c %0a---%0a> ===== Abuse =====%0a> * ban abjects, high times?%0a> * fix dns blacklist%0a +host:1597121706=38.81.163.143 +author:1597121476=jrmu +diff:1597121476:1597120876:=1,19c1,21%0a%3c (:title IRCNow Todo:)%0a%3c %0a%3c !! dokuwiki%0a%3c # Update UI theme%0a%3c %0a%3c !! Security%0a%3c # Harden firewalls%0a%3c # Harden shell accounts%0a%3c # Configure doas properly%0a%3c # Check file permissions%0a%3c # Implement '''quotas/limits'''%0a%3c # Setup openrsync and sftp on shell accounts%0a%3c %0a%3c !! Disaster Recovery Plan%0a%3c # Automated backups%0a%3c # Restore testing%0a%3c %0a%3c # Discuss privacy policy%0a%3c # Setup DNSSEC%0a---%0a> ====== TODO ======%0a> %0a> ===== Improve IRCNow's infrastructure =====%0a> ===== High Priority ===== %0a> * Finish porting new UI to dokuwiki%0a> * **Security hardening**%0a> * [[team:security|Updated security issues page]]%0a> * PF hardening%0a> * Setup underprivileged user accounts for each $service with limited permissions%0a> * root should only be used as last resort%0a> * only root can use fdisk%0a> * configure doas properly%0a> * Check permissions%0a> * %3cdel>Implement **quotas/limits**%3c/del>%0a> * Setup **openrsync** and **sftp** on shell.ircnow.org %0a> * Define **Disaster Recovery Plan**%0a> * Automated backups%0a> * Restore testing%0a> * Discuss and vote on privacy policy%0a> * Replace **nsd** with **DelphinusDNSd**%0a> * Setup DNSSEC%0a85,90c87,95%0a%3c !! IRC Spam%0a%3c # Test out spam repos%0a%3c # Fork acopm for spam defenses%0a%3c # Fork achurch, write anti-spam services%0a%3c %0a%3c !! IRC services%0a---%0a> ===== opers =====%0a> %0a> - Train opers in basic ngircd commands%0a> - Set up test ircd%0a> - Test out spam repos%0a> - Write anti-spam bots%0a> - Switch over to achurch's services, write anti-spam services%0a> %0a> ===== IRC services =====%0a +host:1597121476=38.81.163.143 +author:1597120876=jrmu +diff:1597120876:1597120876:=1,255d0%0a%3c ====== TODO ======%0a%3c %0a%3c ===== Improve IRCNow's infrastructure =====%0a%3c ===== High Priority ===== %0a%3c * Finish porting new UI to dokuwiki%0a%3c * **Security hardening**%0a%3c * [[team:security|Updated security issues page]]%0a%3c * PF hardening%0a%3c * Setup underprivileged user accounts for each $service with limited permissions%0a%3c * root should only be used as last resort%0a%3c * only root can use fdisk%0a%3c * configure doas properly%0a%3c * Check permissions%0a%3c * %3cdel>Implement **quotas/limits**%3c/del>%0a%3c * Setup **openrsync** and **sftp** on shell.ircnow.org %0a%3c * Define **Disaster Recovery Plan**%0a%3c * Automated backups%0a%3c * Restore testing%0a%3c * Discuss and vote on privacy policy%0a%3c * Replace **nsd** with **DelphinusDNSd**%0a%3c * Setup DNSSEC%0a%3c ===== Medium Priority =====%0a%3c * Setup **mx2**%0a%3c * Implement both mx across whole infrastructure%0a%3c * Setup **cgit** and **cvsweb**%0a%3c * Setup **snmpd**%0a%3c * Monitor:%0a%3c * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally%0a%3c * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools%0a%3c * Stopped daemons%0a%3c * Failed backups%0a%3c * Failed scripts%0a%3c * Send email and/or output on #mon%0a%3c * **Block undesired content** (ads, porn, malware) with hosts/DNS%0a%3c * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS %0a%3c * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer%0a%3c %0a%3c ===== Low Priority =====%0a%3c * Setup **carp**%0a%3c * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)%0a%3c * Check processes%0a%3c * NSFW scanbot%0a%3c * Write and deploy IRC bot so users can easily request 1 or more services%0a%3c * !request [$service]%0a%3c * Invoke **$ircnowctl**%0a%3c * Write and deploy **ircnowctl** (k(sh) or perl)%0a%3c * Controller to automate:%0a%3c * **User management** (add/mod/del/suspend/ban)%0a%3c * Enable **ssh access** (pubkeys)%0a%3c * Update **DNS records**%0a%3c * **Quota management** (enable/disable/++/--)%0a%3c * Setup **chroot**%0a%3c * **Check and fix permissions**%0a%3c * **Service management** (add/del/suspend/ban)%0a%3c * Pipe to **$servicectl**%0a%3c * Setup **tor hidden services** for each service%0a%3c ===== marketing =====%0a%3c %0a%3c [[business:business|business plans]]%0a%3c [[vps:vps|Hosting plans]]%0a%3c %0a%3c %0a%3c [[team:shell|Shell Ads]]%0a%3c %0a%3c - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/%0a%3c - %3cdel>https://aruljohn.com/freeshell/%3c/del> -- sent emails%0a%3c - https://freeshells.info/ -- can't find email or way to get added%0a%3c - http://www.asgaur.com/wp/unix-free-shell-accounts/%0a%3c - %3cdel>egghelp.org%3c/del> -- sent email%0a%3c - %3cdel>https://shells.red-pill.eu/%3c/del> -- emailed, waiting for approval%0a%3c - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - Get listed on undeadly.org%0a%3c - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe%0a%3c - %3cdel>https://www.learnshell.org/%3c/del> -- Sent suggestion%0a%3c - https://flaviocopes.com/shells/%0a%3c %0a%3c For bouncer providers, get added here:%0a%3c %0a%3c - https://www.lowendtalk.com/discussion/29511/free-bnc%0a%3c - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/%0a%3c - https://fedoramagazine.org/never-leave-irc-znc/%0a%3c %0a%3c Get our IRC network listed:%0a%3c - https://search.mibbit.com/%0a%3c - https://netsplit.de/%0a%3c %0a%3c ===== opers =====%0a%3c %0a%3c - Train opers in basic ngircd commands%0a%3c - Set up test ircd%0a%3c - Test out spam repos%0a%3c - Write anti-spam bots%0a%3c - Switch over to achurch's services, write anti-spam services%0a%3c %0a%3c ===== IRC services =====%0a%3c %0a%3c - MemeServ%0a%3c - HoneyServ%0a%3c - PasteServ%0a%3c - TrapServ%0a%3c - FileServ%0a%3c - KeyServ%0a%3c %0a%3c ===== VOIP =====%0a%3c %0a%3c - Setup asterisk%0a%3c - Free sip accounts for everyone%0a%3c - Charge for public telephone calls%0a%3c - Charge for DIDs%0a%3c - Include SIP clients with IRC clients%0a%3c - Provide free TURN/STUN servers%0a%3c %0a%3c ===== shop =====%0a%3c %0a%3c - Use oscommerce%0a%3c - Add organic food products%0a%3c - Add specialty handicraft goods%0a%3c %0a%3c ===== shell accounts =====%0a%3c %0a%3c * offer prizes and competitions for dev%0a%3c * ask for help with wikis%0a%3c * set up easy eggdrops%0a%3c * fix cumulus cloud and h5ai%0a%3c * add rsync support%0a%3c * ffmpeg?%0a%3c * fix cloudmounter for mac%0a%3c * add rsync, sshfuse support for sftp%0a%3c * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://sdf.org/?tutorials%0a%3c * https://www.nyx.net/help.html#unix%0a%3c * https://www.freeshells.org/wiki/index.php?title=Services%0a%3c * https://www.grex.org/%0a%3c * https://www.unixporting.com/remote-accounts.html%0a%3c * https://sdfeu.org/w/%0a%3c * https://freeshell.de/~lysy/public/free.htm%0a%3c %0a%3c Implement ssh automated account creation:%0a%3c %0a%3c https://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/%0a%3c %0a%3c [[vps:vps|Hosting plans]]%0a%3c %0a%3c %0a%3c ===== cronjobs =====%0a%3c %0a%3c write cronjobs to automate wraith, bnc, acme-client%0a%3c %0a%3c ===== asterisk =====%0a%3c %0a%3c * Setup asterisk%0a%3c * Write documentation for SIP clients%0a%3c %0a%3c ===== ngircd =====%0a%3c %0a%3c * set up irc hidden service%0a%3c * Add connection/join/nick flood protection%0a%3c * Add +r restricted user mode%0a%3c * Add defcon mode%0a%3c * Add censor lists for unregistered users %0a%3c * Verify hopm accuracy%0a%3c * Update terms of service%0a%3c * Fix /var/log/messages syslog messages for ngircd%0a%3c * Clean up patches%0a%3c * Nickserv/Chanserv flood protection%0a%3c * Migrate to atheme?%0a%3c * Add /ns and /cs aliases%0a%3c * Block nick juping %0a%3c %0a%3c ===== ldap =====%0a%3c %0a%3c * Add single sign-in%0a%3c %0a%3c ===== Website =====%0a%3c %0a%3c * Write registration into app%0a%3c * Improve anycasting and redundancy%0a%3c %0a%3c ===== Git =====%0a%3c %0a%3c * Switch to stagit%0a%3c * Import git repos%0a%3c %0a%3c ===== PyLink =====%0a%3c %0a%3c * Fix spam filters%0a%3c %0a%3c ===== Bridges =====%0a%3c %0a%3c * Add support for matrix%0a%3c * Add bitlbee support for slack, twitter, telegram, discord, signal%0a%3c * Improve bitlbee documentation%0a%3c * Add telegram/discord for bnc3%0a%3c * Research bitlbee-telegram usernames foreign charset problem%0a%3c %0a%3c ===== SIP =====%0a%3c %0a%3c * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak%0a%3c * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com%0a%3c * Free unlimited video calls within the network, outbound calls charge 20-50%25 premium%0a%3c * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web%0a%3c * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones%0a%3c * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users%0a%3c * Bridge SIP to mumble so we can interop with the large mumble community%0a%3c * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50%25 premium for DIDs%0a%3c * Provide free TURN/STUN services%0a%3c * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house%0a%3c %0a%3c ===== Abuse =====%0a%3c * ban abjects, high times?%0a%3c * fix dns blacklist%0a%3c %0a%3c ===== Question2Answer =====%0a%3c %0a%3c * Convert to IRCNow%0a%3c %0a%3c ===== Minetest Gaming =====%0a%3c %0a%3c * Set up final minetest servers%0a%3c * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms%0a%3c %0a%3c ===== Security =====%0a%3c %0a%3c * Build security community%0a%3c * Add livestreaming audio/video played by bot, !play url%0a%3c * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/%0a%3c * create bot masquerades as a normal user and sets the user as +r upon receiving a PM %0a%3c %0a%3c ====== Low Priority ====== %0a%3c %0a%3c * Fileserv -- DCC%0a%3c * Pasteserv -- PRIVMSG%0a%3c * PM flood honeypot%0a%3c * Chan honeypot%0a%3c * NSFW scanbot%0a%3c * Write IRC games %0a%3c * Write IRC messenger for Android, iOS, and web%0a%3c %0a%3c ===== psyBNC =====%0a%3c %0a%3c * Add contact lists%0a%3c * Add file upload%0a%3c %0a%3c ===== squirrel mail =====%0a%3c %0a%3c 13:39 %3c gry> after clicking send the page stays there for a %0a%3c few secs, i feel tempted to click send again%0a%3c 13:39 %3c gry> this might result in messages being sent twice%0a%3c %0a%3c %0a%3c ===== ilines =====%0a%3c %0a%3c * mh approved 50 per IPv6 and 50? ipv4 on ircnet%0a%3c * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se%0a\ No newline at end of file%0a +host:1597120876=38.81.163.143 blob - /dev/null blob + eb5cf297be7095af054296b3431346a368638887 (mode 644) --- /dev/null +++ wiki.d/Ircnow.Training,del-1597900565 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597896280 +host=38.81.163.143 +name=Ircnow.Training +rev=1 +targets=Openbsd.Tcpip,Openbsd.Staticnet +text=Training:%0a%0a# %0a# [[Openbsd/Tcpip|TCP/IP Overview]]%0a# [[Openbsd/Staticnet|Static Networking]]%0ahttps://wiki.ircnow.org/index.php?n=Openbsd.Staticnet%0ahttps://wiki.ircnow.org/index.php?n=Openbsd.IPv6 +time=1597896280 +author:1597896280=jrmu +diff:1597896280:1597896280:=1,7d0%0a%3c Training:%0a%3c %0a%3c # %0a%3c # [[Openbsd/Tcpip|TCP/IP Overview]]%0a%3c # [[Openbsd/Staticnet|Static Networking]]%0a%3c https://wiki.ircnow.org/index.php?n=Openbsd.Staticnet%0a%3c https://wiki.ircnow.org/index.php?n=Openbsd.IPv6%0a\ No newline at end of file%0a +host:1597896280=38.81.163.143 blob - /dev/null blob + 7aa3ebd1968d4ee5e55ff3c49af73d0064a8ba16 (mode 644) --- /dev/null +++ wiki.d/Ircnow.VicePresident @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1621325715 +host=125.224.17.185 +name=Ircnow.VicePresident +rev=2 +targets=Ircnow.Constitution +text=(:title Vice President:)%0a%0a!! Your Duties%0a%0a# Preside over Congress' debate on #council based on the [[ircnow/constitution|IRCNow Constitution]] and Thomas Jefferson's Manual%0a# Help moderate debates on mailing lists%0a# Report congressional voting%0a# Log and report Congressional decisions +time=1621325742 +title=Vice President +author:1621325742=jrmu +diff:1621325742:1621325715:=1,2d0%0a%3c (:title Vice President:)%0a%3c %0a5c3%0a%3c # Preside over Congress' debate on #council based on the [[ircnow/constitution|IRCNow Constitution]] and Thomas Jefferson's Manual%0a---%0a> # Set rules for Congress' debate on #council based on the [[ircnow/constitution|IRCNow Constitution]] and Thomas Jefferson's Manual%0a +host:1621325742=125.224.17.185 +author:1621325715=jrmu +diff:1621325715:1621325715:=1,6d0%0a%3c !! Your Duties%0a%3c %0a%3c # Set rules for Congress' debate on #council based on the [[ircnow/constitution|IRCNow Constitution]] and Thomas Jefferson's Manual%0a%3c # Help moderate debates on mailing lists%0a%3c # Report congressional voting%0a%3c # Log and report Congressional decisions%0a\ No newline at end of file%0a +host:1621325715=125.224.17.185 blob - /dev/null blob + 32a75a82782a4956fb374554eebe264636f08b2f (mode 644) --- /dev/null +++ wiki.d/Ircnow.Victorycpus @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635581866 +host=38.87.162.8 +name=Ircnow.Victorycpus +rev=1 +targets= +text=Attach:%0a +time=1635581866 +author:1635581866=jrmu +diff:1635581866:1635581866:=1d0%0a%3c Attach:%0a +host:1635581866=38.87.162.8 blob - /dev/null blob + 98ad7fab15cb376c420a429af735dc19f9f1ec64 (mode 644) --- /dev/null +++ wiki.d/Ircnowd.Ircnowd @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1620388201 +host=38.87.162.8 +name=Ircnowd.Ircnowd +rev=13 +targets= +text=(:title IRCNowd: IRC at Scale:)%0a%0aIRCNowd is an attempt to build an IRC server that can scale up to handle a network with millions of users. It is forked from ngircd 26.1 which was developed under the GPL. Additional code will be permissively licensed. IRCNowd aims to remain portable with free and open platforms, to be easy to configure and administer, to be easy for users to understand.%0a%0aProposed changes:%0a%0a# Add connection limit exemptions (ilines)%0a# Add scriptable filter so teams can optionally block spam, obscenity. Scripting interface should support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]; dynamically customizable per server%0a# Add +r restricted user mode for spam protection%0a# Add defcon mode: during a connection/join/part flood, all new users are automatically given +r user mode until the attack ends%0a# Allow users to enable/disable cloaking%0a# Allow closed loops in the network topology to end netsplits forever%0a# Fix buffer exhaustion issues%0a# Fix SSL connection issue%0a +time=1639750110 +title=IRCNowd: IRC at Scale +author:1639750110=jrmu +diff:1639750110:1620395167:=1,4c1,6%0a%3c (:title IRCNowd: IRC at Scale:)%0a%3c %0a%3c IRCNowd is an attempt to build an IRC server that can scale up to handle a network with millions of users. It is forked from ngircd 26.1 which was developed under the GPL. Additional code will be permissively licensed. IRCNowd aims to remain portable with free and open platforms, to be easy to configure and administer, to be easy for users to understand.%0a%3c %0a---%0a> (:title IRCNowd: An IRC Server Done Right:)%0a> %0a> IRCNowd is an attempt to do an IRC server right. It is a fork of ngircd 26.1 which was developed under the GPL. Additional code are permissively licensed. It aims to remain portable with free and open platforms, to be easy to configure and administer, and also able to scale up to millions of users.%0a> %0a> It is designed for use in an [[irc/federation|IRC federation]].%0a> %0a8c10%0a%3c # Add scriptable filter so teams can optionally block spam, obscenity. Scripting interface should support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]; dynamically customizable per server%0a---%0a> # Add scriptable filter for messages to block spam, obscenity. Scripting interface should support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]; dynamically customizable per server%0a11c13,15%0a%3c # Allow users to enable/disable cloaking%0a---%0a> # Add cloaking for IPv6 addresses%0a> # Maybe drop PAM for user authentication.%0a> # Drop support for non-free platforms like Mac OS X%0a14c18%0a%3c # Fix SSL connection issue%0a---%0a> # Fix SSL connection issue%0a\ No newline at end of file%0a +host:1639750110=38.87.162.8 +author:1620395167=jrmu +diff:1620395167:1620393558:=3c3%0a%3c IRCNowd is an attempt to do an IRC server right. It is a fork of ngircd 26.1 which was developed under the GPL. Additional code are permissively licensed. It aims to remain portable with free and open platforms, to be easy to configure and administer, and also able to scale up to millions of users.%0a---%0a> IRCNowd is an attempt to do an IRC server right. It is a fork of ngircd, which was developed under the GPL. Additional code are permissively licensed. It aims to remain portable with free and open platforms, to be easy to configure and administer, and also able to scale up to millions of users.%0a +host:1620395167=198.251.81.119 +author:1620393558=jrmu +diff:1620393558:1620393496:=2a3,4%0a> Fork based on Ngircd%0a> %0a4,5d5%0a%3c %0a%3c It is designed for use in an [[irc/federation|IRC federation]].%0a +host:1620393558=198.251.81.119 +author:1620393496=jrmu +diff:1620393496:1620393331:=12d11%0a%3c # Add defcon mode: during a connection/join/part flood, all new users are automatically given +r user mode until the attack ends%0a +host:1620393496=198.251.81.119 +author:1620393331=jrmu +diff:1620393331:1620391971:=15,17c15%0a%3c # Allow closed loops in the network topology to end netsplits forever%0a%3c # Fix buffer exhaustion issues%0a%3c # Fix SSL connection issue%0a\ No newline at end of file%0a---%0a> # Allow closed loops in the network topology to end netsplits forever%0a\ No newline at end of file%0a +host:1620393331=198.251.81.119 +author:1620391971=jrmu +diff:1620391971:1620391732:= +host:1620391971=198.251.81.119 +author:1620391732=jrmu +diff:1620391732:1620390840:= +host:1620391732=198.251.81.119 +author:1620390840=jrmu +diff:1620390840:1620390645:=10c10%0a%3c # Add scriptable filter for messages to block spam, obscenity. Scripting interface should support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]; dynamically customizable per server%0a---%0a> # Add scriptable filter for messages to block spam, obscenity. Scripting interface will support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]%0a +host:1620390840=198.251.81.119 +author:1620390645=jrmu +diff:1620390645:1620390620:=10c10%0a%3c # Add scriptable filter for messages to block spam, obscenity. Scripting interface will support [[https://github.com/yahoo/open_nsfw|yahoo open nsfw]]%0a---%0a> # Add scriptable filter for messages to block spam, obscenity. Scripting interface will support [[https://github.com/yahoo/open_nsfw/yahoo open nsfw]]%0a +host:1620390645=198.251.81.119 +author:1620390620=jrmu +diff:1620390620:1620390426:=10c10%0a%3c # Add scriptable filter for messages to block spam, obscenity. Scripting interface will support [[https://github.com/yahoo/open_nsfw/yahoo open nsfw]]%0a---%0a> # Add scriptable filter for messages%0a14,15c14%0a%3c # Drop support for non-free platforms like Mac OS X%0a%3c # Allow closed loops in the network topology to end netsplits forever%0a\ No newline at end of file%0a---%0a> # Drop support for non-free platforms like Mac OS X%0a\ No newline at end of file%0a +host:1620390620=198.251.81.119 +author:1620390426=jrmu +diff:1620390426:1620390165:=9,14c9,14%0a%3c # Add connection limit exemptions (ilines)%0a%3c # Add scriptable filter for messages%0a%3c # Add +r restricted user mode for spam protection%0a%3c # Add cloaking for IPv6 addresses%0a%3c # Maybe drop PAM for user authentication.%0a%3c # Drop support for non-free platforms like Mac OS X%0a\ No newline at end of file%0a---%0a> Add connection limit exemptions (ilines)%0a> Add scriptable filter for messages%0a> Add +r restricted user mode for spam protection%0a> Fix cloaking%0a> Maybe drop PAM for user authentication.%0a> Drop support for non-free platforms like Mac OS X%0a\ No newline at end of file%0a +host:1620390426=198.251.81.119 +author:1620390165=jrmu +diff:1620390165:1620388201:=3,14c3,4%0a%3c Fork based on Ngircd%0a%3c %0a%3c IRCNowd is an attempt to do an IRC server right. It is a fork of ngircd, which was developed under the GPL. Additional code are permissively licensed. It aims to remain portable with free and open platforms, to be easy to configure and administer, and also able to scale up to millions of users.%0a%3c %0a%3c Proposed changes:%0a%3c %0a%3c Add connection limit exemptions (ilines)%0a%3c Add scriptable filter for messages%0a%3c Add +r restricted user mode for spam protection%0a%3c Fix cloaking%0a%3c Maybe drop PAM for user authentication.%0a%3c Drop support for non-free platforms like Mac OS X%0a\ No newline at end of file%0a---%0a> %0a> %0a +host:1620390165=198.251.81.119 +author:1620388201=jrmu +diff:1620388201:1620388201:=1,4d0%0a%3c (:title IRCNowd: An IRC Server Done Right:)%0a%3c %0a%3c %0a%3c %0a +host:1620388201=198.251.81.119 blob - /dev/null blob + 48b64ac045f07d2a7754600fc65876a41282616d (mode 644) --- /dev/null +++ wiki.d/Ircnowd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1620388201 +host=38.87.162.8 +name=Ircnowd.RecentChanges +rev=13 +text=* [[Ircnowd/Ircnowd]] . . . December 17, 2021, at 02:08 PM by [[~jrmu]]: [==]%0a +time=1639750110 blob - /dev/null blob + 4f32e7867e7bc6ebb7ae798026588fc2c132559c (mode 644) --- /dev/null +++ wiki.d/Ircweb.Ircweb @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1601859146 +host=38.81.163.143 +name=Ircweb.Ircweb +rev=8 +targets= +text=IRCWeb -- An IRC Web client that works like you expect%0a%0aBrutalist UI courtesy of inex:%0a%0aAttach:ircweb-brutalist.png%0a%0a* Works on '''all''' major web browsers: IE9, Firefox, Chrome, Safari, Opera%0a* Only requires client-side javascript and can be easily embedded into existing web pages%0a* Makes use of XMLHttpRequest (no websockets)%0a* Calls on HTTP2IRC bridge, which handles all the IRC logic +time=1601860234 +author:1601860234=jrmu +diff:1601860234:1601860129:=2,3d1%0a%3c %0a%3c Brutalist UI courtesy of inex:%0a +host:1601860234=38.81.163.143 +author:1601860129=jrmu +diff:1601860129:1601859338:=3c3%0a%3c Attach:ircweb-brutalist.png%0a---%0a> %0a +host:1601860129=38.81.163.143 +author:1601859338=jrmu +diff:1601859338:1601859294:=2,3d1%0a%3c %0a%3c %0a +host:1601859338=38.81.163.143 +author:1601859294=jrmu +diff:1601859294:1601859269:=5,6c5%0a%3c * Makes use of XMLHttpRequest (no websockets)%0a%3c * Calls on HTTP2IRC bridge, which handles all the IRC logic%0a\ No newline at end of file%0a---%0a> * Makes use of XMLHttpRequest (no websockets)%0a\ No newline at end of file%0a +host:1601859294=38.81.163.143 +author:1601859269=jrmu +diff:1601859269:1601859262:=5c5%0a%3c * Makes use of XMLHttpRequest (no websockets)%0a\ No newline at end of file%0a---%0a> * Only makes use of XMLHttpRequest (no websockets)%0a\ No newline at end of file%0a +host:1601859269=38.81.163.143 +author:1601859262=jrmu +diff:1601859262:1601859205:=3,5c3%0a%3c * Works on '''all''' major web browsers: IE9, Firefox, Chrome, Safari, Opera%0a%3c * Only requires client-side javascript and can be easily embedded into existing web pages%0a%3c * Only makes use of XMLHttpRequest (no websockets)%0a\ No newline at end of file%0a---%0a> * Works on '''all''' major web browsers: IE9, Firefox, Chrome, Safari, Opera%0a\ No newline at end of file%0a +host:1601859262=38.81.163.143 +author:1601859205=jrmu +diff:1601859205:1601859146:=3d2%0a%3c * Works on '''all''' major web browsers: IE9, Firefox, Chrome, Safari, Opera%0a\ No newline at end of file%0a +host:1601859205=38.81.163.143 +author:1601859146=jrmu +diff:1601859146:1601859146:=1,2d0%0a%3c IRCWeb -- An IRC Web client that works like you expect%0a%3c %0a +host:1601859146=38.81.163.143 blob - /dev/null blob + 1441fcae03bc308c36dbc670b121b52fb6baed28 (mode 644) --- /dev/null +++ wiki.d/Ircweb.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1601859146 +host=38.81.163.143 +name=Ircweb.RecentChanges +rev=8 +text=* [[Ircweb/Ircweb]] . . . October 05, 2020, at 01:10 AM by [[~jrmu]]: [==]%0a +time=1601860234 blob - /dev/null blob + b21464c83540626090f450fbcbd4244ee503b3ac (mode 644) --- /dev/null +++ wiki.d/Jrmu.Bio @@ -0,0 +1,82 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613656781 +host=38.81.163.143 +name=Jrmu.Bio +rev=23 +targets= +text=(:title Jrmu Bio:)%0a%0a!! Contact%0a%0a%25width=300px%25Attach:aaronlin.png%0a%0a* Real Name: Aaron Lin%0a* email: jrmu@ircnow.org%0a* IRC: jrmu on irc.ircnow.org%0a%0a!! PGP Fingerprints%0a%0a[[Attach:jrmu.pub.txt|Download 0x4A56DB2DBF8DC186]]%0a[@%0apub 4096R/BF8DC186 2021-01-01 jrmu@ircnow.org (https://ircnow.org) %3cjrmu@ircnow.org>%0aPrimary key fingerprint: 43CC 2E66 93B6 011A 5E6F 3F96 4A56 DB2D BF8D C186%0a@]%0a%0a!! SSH Fingerprints%0a%0a[@%0assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnJ+viGCtoOODQ5G1NEypzToP6aNSw7jXwqIbUpglTS71yAkBqqbCUi2p8Wz8g8n9zrVXjM9Gq0FKwxPbDsf+k46zOW7kxLuuWENSCbY0Iuw/BLLYceAubvpkXyvuNnUM03xvtiIw3MqrFJeXc1VAOwQfPOvtksMoW0T4vl4klTBWXYgi4q7DnKziKGt7valPbbZWGWvh3qNkDpoB+0a3nhekLH+AR1Jr6Ljjt8G7V9oNC7USyJNmYurt1OUqerCL43CyNTtOpuE3hcYGgHEIKdbyQ4BDjbOZOcPU0wq3i3tgCTL5Ros0dXlbU8yBUyOxUYR0LbJZXLpB5RtBUkngDFYZKhKwJcGtPHXmsuwyEymv+IEJDDzlDHAkXMnxn+Rwwg9+pzneCUDBmnLGJe40heEmFcNIOuO4HMvaizXFCZKbTlZAji3WXHkV1sQahzP13EUuk2mec/tPOgCP91hCA1EqCpWSnEiBpITtc7sqHorz4WQZ2beT6WE9Hj0brFUbeePsjFiwI20agvNV+Ug4rBJLrLMqKuiz7l3Y33zHxpCOludKWwGUetIIy/gY+Jz2V7aKpqY/4qfAIByoVKFg44P4UdFgfxc9MBqLTj5MtPDojEetxB3DlOj1VbSZk+0MWRTBcngpjk9LoLRPz/HYyl6IyQn/yr5cE+6YJaR8lVw== jrmu@ircnow.org%0aecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEi6ckWgiIyAQs91+6AwlP0BZZGa3uQ0aRfukGQYNIdursoBElDi3HnF2FPSb6AjoEAh4gUqEG3Wee3c8nSB6eg= jrmu@ircnow.org%0assh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL5Y1KiW06AC6tAegCd+XVWCUyAkQZq1xBjikIF/mLgT jrmu@ircnow.org%0a@]%0a%0a!! Projects%0a%0a* [[https://ircnow.org|IRCNow]]: The Network Of the Users -- [[https://ircnow.org]]%0a* [[https://breadofgod.org|Bread of God]]: Open Source Bible Website -- [[https://breadofgod.org]] +time=1621739641 +title=Jrmu Bio +author:1621739641=jrmu +diff:1621739641:1621739624:=5c5%0a%3c %25width=300px%25Attach:aaronlin.png%0a---%0a> %25width 300px%25Attach:aaronlin.png%0a +host:1621739641=38.81.163.143 +author:1621739624=jrmu +diff:1621739624:1621739540:=5c5%0a%3c %25width 300px%25Attach:aaronlin.png%0a---%0a> Attach:aaronlin.png%0a +host:1621739624=38.81.163.143 +author:1621739540=jrmu +diff:1621739540:1621739324:=5c5%0a%3c Attach:aaronlin.png%0a---%0a> Attach:aaronlin.jpg%0a +host:1621739540=38.81.163.143 +author:1621739324=jrmu +diff:1621739324:1621739290:=5c5%0a%3c Attach:aaronlin.jpg%0a---%0a> Attach: aaronlin.jpg%0a +host:1621739324=38.81.163.143 +author:1621739290=jrmu +diff:1621739290:1613709738:=5,7d4%0a%3c Attach: aaronlin.jpg%0a%3c %0a%3c * Real Name: Aaron Lin%0a +host:1621739290=38.81.163.143 +author:1613709738=jrmu +diff:1613709738:1613709348:= +host:1613709738=198.251.81.119 +author:1613709348=jrmu +diff:1613709348:1613709337:=6c6%0a%3c * IRC: jrmu on irc.ircnow.org%0a---%0a> * IRC: jrmu @ irc.ircnow.org%0a +host:1613709348=198.251.81.119 +author:1613709337=jrmu +diff:1613709337:1613709252:=5,6c5,6%0a%3c * email: jrmu@ircnow.org%0a%3c * IRC: jrmu @ irc.ircnow.org%0a---%0a> email: jrmu@ircnow.org%0a> IRC: jrmu%0a +host:1613709337=198.251.81.119 +author:1613709252=jrmu +diff:1613709252:1613709233:=10c10,11%0a%3c [[Attach:jrmu.pub.txt|Download 0x4A56DB2DBF8DC186]]%0a---%0a> [[Attach:jrmu.pub.txt|0x4A56DB2DBF8DC186]]%0a> [[https://wiki.ircnow.org/uploads/Jrmu/jrmu.pub.txt|0x4A56DB2DBF8DC186]]%0a +host:1613709252=198.251.81.119 +author:1613709233=jrmu +diff:1613709233:1613709212:=10c10%0a%3c [[Attach:jrmu.pub.txt|0x4A56DB2DBF8DC186]]%0a---%0a> [[(Attach:)jrmu.pub.txt]]%0a +host:1613709233=198.251.81.119 +author:1613709212=jrmu +diff:1613709212:1613708997:=10,11c10%0a%3c [[(Attach:)jrmu.pub.txt]]%0a%3c [[https://wiki.ircnow.org/uploads/Jrmu/jrmu.pub.txt|0x4A56DB2DBF8DC186]]%0a---%0a> Attach:jrmu.pub.txt%0a +host:1613709212=198.251.81.119 +author:1613708997=jrmu +diff:1613708997:1613700881:=10c10,11%0a%3c Attach:jrmu.pub.txt%0a---%0a> [[https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186|Download 0x4A56DB2DBF8DC186]]%0a> %0a +host:1613708997=198.251.81.119 +author:1613700881=jrmu +diff:1613700881:1613700383:= +host:1613700881=198.251.81.119 +author:1613700383=jrmu +diff:1613700383:1613700273:=23,28c23%0a%3c @]%0a%3c %0a%3c !! Projects%0a%3c %0a%3c * [[https://ircnow.org|IRCNow]]: The Network Of the Users -- [[https://ircnow.org]]%0a%3c * [[https://breadofgod.org|Bread of God]]: Open Source Bible Website -- [[https://breadofgod.org]]%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1613700383=198.251.81.119 +author:1613700273=jrmu +diff:1613700273:1613700248:=1c1%0a%3c (:title Jrmu Bio:)%0a---%0a> !! jrmu%0a +host:1613700273=198.251.81.119 +author:1613700248=jrmu +diff:1613700248:1613700223:=10,11d9%0a%3c [[https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186|Download 0x4A56DB2DBF8DC186]]%0a%3c %0a14a13%0a> [[https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186|0x4A56DB2DBF8DC186]]%0a +host:1613700248=198.251.81.119 +author:1613700223=jrmu +diff:1613700223:1613700177:=10d9%0a%3c [@%0a12a12%0a> %0a14d13%0a%3c @]%0a +host:1613700223=198.251.81.119 +author:1613700177=jrmu +diff:1613700177:1613700144:=17d16%0a%3c [@%0a21d19%0a%3c @]%0a\ No newline at end of file%0a +host:1613700177=198.251.81.119 +author:1613700144=jrmu +diff:1613700144:1613665572:=3,4d2%0a%3c !! Contact%0a%3c %0a13c11,13%0a%3c [[https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186|0x4A56DB2DBF8DC186]]%0a---%0a> 0x4A56DB2DBF8DC186%0a> %0a> https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186%0a +host:1613700144=198.251.81.119 +author:1613665572=jrmu +diff:1613665572:1613657234:=10,11d9%0a%3c %0a%3c 0x4A56DB2DBF8DC186%0a +host:1613665572=198.251.81.119 +author:1613657234=jrmu +diff:1613657234:1613656924:=3,4c3%0a%3c email: jrmu@ircnow.org%0a%3c IRC: jrmu%0a---%0a> admin on IRCNow%0a +host:1613657234=198.251.81.119 +author:1613656924=jrmu +diff:1613656924:1613656781:=1,2c1,2%0a%3c !! jrmu%0a%3c %0a---%0a> jrmu%0a> %0a5,6d4%0a%3c !! PGP Fingerprints%0a%3c %0a8,16c6,8%0a%3c Primary key fingerprint: 43CC 2E66 93B6 011A 5E6F 3F96 4A56 DB2D BF8D C186%0a%3c %0a%3c https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186%0a%3c %0a%3c !! SSH Fingerprints%0a%3c %0a%3c ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnJ+viGCtoOODQ5G1NEypzToP6aNSw7jXwqIbUpglTS71yAkBqqbCUi2p8Wz8g8n9zrVXjM9Gq0FKwxPbDsf+k46zOW7kxLuuWENSCbY0Iuw/BLLYceAubvpkXyvuNnUM03xvtiIw3MqrFJeXc1VAOwQfPOvtksMoW0T4vl4klTBWXYgi4q7DnKziKGt7valPbbZWGWvh3qNkDpoB+0a3nhekLH+AR1Jr6Ljjt8G7V9oNC7USyJNmYurt1OUqerCL43CyNTtOpuE3hcYGgHEIKdbyQ4BDjbOZOcPU0wq3i3tgCTL5Ros0dXlbU8yBUyOxUYR0LbJZXLpB5RtBUkngDFYZKhKwJcGtPHXmsuwyEymv+IEJDDzlDHAkXMnxn+Rwwg9+pzneCUDBmnLGJe40heEmFcNIOuO4HMvaizXFCZKbTlZAji3WXHkV1sQahzP13EUuk2mec/tPOgCP91hCA1EqCpWSnEiBpITtc7sqHorz4WQZ2beT6WE9Hj0brFUbeePsjFiwI20agvNV+Ug4rBJLrLMqKuiz7l3Y33zHxpCOludKWwGUetIIy/gY+Jz2V7aKpqY/4qfAIByoVKFg44P4UdFgfxc9MBqLTj5MtPDojEetxB3DlOj1VbSZk+0MWRTBcngpjk9LoLRPz/HYyl6IyQn/yr5cE+6YJaR8lVw== jrmu@ircnow.org%0a%3c ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEi6ckWgiIyAQs91+6AwlP0BZZGa3uQ0aRfukGQYNIdursoBElDi3HnF2FPSb6AjoEAh4gUqEG3Wee3c8nSB6eg= jrmu@ircnow.org%0a%3c ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL5Y1KiW06AC6tAegCd+XVWCUyAkQZq1xBjikIF/mLgT jrmu@ircnow.org%0a---%0a> Primary key fingerprint: 43CC 2E66 93B6 011A 5E6F 3F96 4A56 DB2D BF8D C186%0a> %0a> https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186%0a\ No newline at end of file%0a +host:1613656924=198.251.81.119 +author:1613656781=jrmu +diff:1613656781:1613656781:=1,8d0%0a%3c jrmu%0a%3c %0a%3c admin on IRCNow%0a%3c %0a%3c pub 4096R/BF8DC186 2021-01-01 jrmu@ircnow.org (https://ircnow.org) %3cjrmu@ircnow.org>%0a%3c Primary key fingerprint: 43CC 2E66 93B6 011A 5E6F 3F96 4A56 DB2D BF8D C186%0a%3c %0a%3c https://pgp.mit.edu/pks/lookup?op=vindex&search=0x4A56DB2DBF8DC186%0a\ No newline at end of file%0a +host:1613656781=198.251.81.119 blob - /dev/null blob + b6513ad5080f944a65e0468f67eea2e23e8f9041 (mode 644) --- /dev/null +++ wiki.d/Jrmu.Libertyordeath @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1617166286 +host=198.251.81.44 +name=Jrmu.Libertyordeath +rev=18 +targets= +text=(:title Liberty or Death:)%0a%0a%25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a%0aMarch 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a%0aThis day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%0aSilicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a%0aThis is nothing less than a question of freedom or slavery.%0a%0aWe have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a%0aThese organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%0aAre boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%0aIf we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%0aThere is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%0aAre features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death! +time=1617368160 +title=Liberty or Death +author:1617368160=jrmu +diff:1617368160:1617368027:=5c5%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a---%0a> March 23, 2021 - a day which will live in infamy - the Free and Open Source community was attacked by Silicon Valley.%0a +host:1617368160=198.251.81.44 +author:1617368027=jrmu +diff:1617368027:1617368012:=9c9%0a%3c Silicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a---%0a> They threaten to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a +host:1617368027=198.251.81.44 +author:1617368012=jrmu +diff:1617368012:1617203690:=7c7%0a%3c This day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a---%0a> They have begun a hostile occupation of our community. They began a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a +host:1617368012=198.251.81.44 +author:1617203690=jrmu +diff:1617203690:1617203195:=9c9%0a%3c They threaten to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a---%0a> They boldly threaten to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a +host:1617203690=198.251.81.44 +author:1617203195=jrmu +diff:1617203195:1617203098:=9c9%0a%3c They boldly threaten to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a---%0a> They have boldly declared that any user who dissents deserves no digital rights and has no place in the tech community. They show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve all opposition into submission.%0a +host:1617203195=198.251.81.44 +author:1617203098=jrmu +diff:1617203098:1617203055:=5,7c5%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was attacked by Silicon Valley.%0a%3c %0a%3c They have begun a hostile occupation of our community. They began a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a---%0a> March 23, 2021 - a day which will live in infamy - the Free and Open Source community was attacked by Silicon Valley. They have called for a hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a +host:1617203098=198.251.81.44 +author:1617203055=jrmu +diff:1617203055:1617202982:=11c11%0a%3c We have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a---%0a> We have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses''! They are ''open source''! But we are engaged in a great struggle for liberty, and we must know the whole truth; to know the worst, and to prepare for it.%0a +host:1617203055=198.251.81.44 +author:1617202982=jrmu +diff:1617202982:1617186645:=5,19c5,19%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was attacked by Silicon Valley. They have called for a hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%3c %0a%3c They have boldly declared that any user who dissents deserves no digital rights and has no place in the tech community. They show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve all opposition into submission.%0a%3c %0a%3c This is nothing less than a question of freedom or slavery.%0a%3c %0a%3c We have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses''! They are ''open source''! But we are engaged in a great struggle for liberty, and we must know the whole truth; to know the worst, and to prepare for it.%0a%3c %0a%3c These organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%3c %0a%3c Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%3c %0a%3c There is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a---%0a> March 23, 2021 - a day which will live in infamy - the Free and Open Source community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in opposition to their ideology of personal profit.%0a> %0a> As usual, the tyrants resorted to smear attacks -- so-called `ableism' and `transphobia'. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a> %0a> This is no time for ceremony. It is nothing less than a question of freedom or slavery.%0a> %0a> It is natural for us to indulge in the illusions of hope. We tend to shut our eyes against a painful truth. Silicon Valley uses ''free licenses''! They are ''open source''! But is this the conclusion of wise users, engaged in a great and challenging struggle for liberty? I want to know the whole truth; to know the worst, and to prepare for it.%0a> %0a> These organizations do not represent the free and open source community. Look at the signatures and you will see the representatives of Big Tech, the same corporate monopolies that have always been the archenemies of freedom.%0a> %0a> I have but one lamp to guide my feet, and that is the lamp of experience. I can judge the future only by the past. And judging by the past, what has been the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss. Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a> %0a> If we wish to be free -- if we mean to preserve those liberties -- we must resist! I repeat, an appeal to code and to the God of hosts is all that is left to us!%0a> %0a> There is a just God who presides over the destinies of networks, and who will raise up friends to fight our digital battles for us. There is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a +host:1617202982=198.251.81.44 +author:1617186645=jrmu +diff:1617186645:1617186630:=7c7%0a%3c As usual, the tyrants resorted to smear attacks -- so-called `ableism' and `transphobia'. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> As usual, they resort to smear attacks -- so-called `ableism' and `transphobia'. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186645=198.251.81.44 +author:1617186630=jrmu +diff:1617186630:1617186612:=7c7%0a%3c As usual, they resort to smear attacks -- so-called `ableism' and `transphobia'. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> As usual, they resort to smear attacks -- so-called ''ableism'' and ''transphobia''. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186630=198.251.81.44 +author:1617186612=jrmu +diff:1617186612:1617186473:=7c7%0a%3c As usual, they resort to smear attacks -- so-called ''ableism'' and ''transphobia''. They then boldly declare that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> They smeared Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186612=198.251.81.44 +author:1617186473=jrmu +diff:1617186473:1617186340:=7c7%0a%3c They smeared Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> They accused Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186473=198.251.81.44 +author:1617186340=jrmu +diff:1617186340:1617186306:=7c7%0a%3c They accused Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly proclaim that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> They accused Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly declare that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186340=198.251.81.44 +author:1617186306=jrmu +diff:1617186306:1617185956:=7c7%0a%3c They accused Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents from their ideology deserve no digital rights and have no place in the free software and tech community. They shamelessly declare that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a---%0a> They libelled Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents deserve no digital rights and have no place in the free software and tech community. They shamelessly declare that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a +host:1617186306=198.251.81.44 +author:1617185956=jrmu +diff:1617185956:1617167421:=5,8c5,13%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in opposition to their ideology of personal profit.%0a%3c %0a%3c They libelled Stallman of being an ableist and a transphobe, and boldly declared that any user who dissents deserve no digital rights and have no place in the free software and tech community. They shamelessly declare that they will show no tolerance for disagreement and no mercy for dissenters, and that they intend to starve such opposition into submission.%0a%3c %0a---%0a> March 23, 2021 - a day which will live in infamy - the Free and Open Source%0a> community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user%0a> who stands in opposition to their ideology of personal profit.%0a> %0a> They libelled Stallman of being an ableist and a transphobe, saying that users who %0a> disagree with their beliefs deserve no digital rights and have no place in the free%0a> software and tech community. They boldly declare that they will show no tolerance for%0a> disagreement and no mercy for dissenters, and that they intend to starve them into submission.%0a> %0a11,21c16,41%0a%3c It is natural for us to indulge in the illusions of hope. We tend to shut our eyes against a painful truth. Silicon Valley uses ''free licenses''! They are ''open source''! But is this the conclusion of wise users, engaged in a great and challenging struggle for liberty? I want to know the whole truth; to know the worst, and to prepare for it.%0a%3c %0a%3c These organizations do not represent the free and open source community. Look at the signatures and you will see the representatives of Big Tech, the same corporate monopolies that have always been the archenemies of freedom.%0a%3c %0a%3c I have but one lamp to guide my feet, and that is the lamp of experience. I can judge the future only by the past. And judging by the past, what has been the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss. Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we mean to preserve those liberties -- we must resist! I repeat, an appeal to code and to the God of hosts is all that is left to us!%0a%3c %0a%3c There is a just God who presides over the destinies of networks, and who will raise up friends to fight our digital battles for us. There is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%3c %0a%3c Are features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a---%0a> It is natural for us to indulge in the illusions of hope. We tend to shut our eyes %0a> against a painful truth. Silicon Valley uses ''free licenses''! They are%0a> ''open source''! But is this the conclusion of wise users, engaged in a great and%0a> challenging struggle for liberty? I want to know the whole truth; to know the worst, %0a> and to prepare for it.%0a> %0a> These organizations do not represent the free and open source community. Look%0a> at the signatures and you will see the representatives of Big Tech, the same%0a> corporate monopolies that have always been the archenemies of freedom.%0a> %0a> I have but one lamp to guide my feet, and that is the lamp of experience.%0a> I can judge the future only by the past. And judging by the past, what has been%0a> the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a> Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital%0a> tyrants resort to. They are meant for us, they can be meant for no other.%0a> %0a> If we wish to be free -- if we mean to preserve those liberties -- we must resist! I%0a> repeat, an appeal to code and to the God of hosts is all that is left to us!%0a> %0a> There is a just God who presides over the destinies of networks, and who will raise up%0a> friends to fight our digital battles for us. There is no retreat but in submission and%0a> slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a> %0a> Are features so dear, or money so sweet, as to be gained at the price of%0a> chains and slavery? Forbid it, Almighty God! I know not what course others may take;%0a> but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a +host:1617185956=198.251.81.44 +author:1617167421=jrmu +diff:1617167421:1617167322:=29,30c29,36%0a%3c Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital%0a%3c tyrants resort to. They are meant for us, they can be meant for no other.%0a---%0a> Are boycotts and sanctions the work of love and reconciliation? Are their cancel mobs%0a> to be taken lightly? These are the implements of slavery, the methods which digital%0a> tyrants resort to.%0a> %0a> What is the purpose of these sanctions, if not to force us into submission? Can%0a> you assign any other possible motive for it? Has not Stallman already apologized?%0a> Has the FSF engaged in any actual crimes to call for its starvation? No, sir, they%0a> have not. These sanctions are meant for us, they can be meant for no other.%0a +host:1617167421=125.224.23.84 +author:1617167322=jrmu +diff:1617167322:1617166286:=12c12,13%0a%3c disagreement and no mercy for dissenters, and that they intend to starve them into submission.%0a---%0a> disagreement and no mercy for dissenters, and that they are willing to impose %0a> embargoes and other acts of war to enforce their will.%0a +host:1617167322=125.224.23.84 +author:1617166286=jrmu +diff:1617166286:1617166286:=1,48d0%0a%3c (:title Liberty or Death:)%0a%3c %0a%3c %25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a%3c %0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source%0a%3c community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user%0a%3c who stands in opposition to their ideology of personal profit.%0a%3c %0a%3c They libelled Stallman of being an ableist and a transphobe, saying that users who %0a%3c disagree with their beliefs deserve no digital rights and have no place in the free%0a%3c software and tech community. They boldly declare that they will show no tolerance for%0a%3c disagreement and no mercy for dissenters, and that they are willing to impose %0a%3c embargoes and other acts of war to enforce their will.%0a%3c %0a%3c This is no time for ceremony. It is nothing less than a question of freedom or slavery.%0a%3c %0a%3c It is natural for us to indulge in the illusions of hope. We tend to shut our eyes %0a%3c against a painful truth. Silicon Valley uses ''free licenses''! They are%0a%3c ''open source''! But is this the conclusion of wise users, engaged in a great and%0a%3c challenging struggle for liberty? I want to know the whole truth; to know the worst, %0a%3c and to prepare for it.%0a%3c %0a%3c These organizations do not represent the free and open source community. Look%0a%3c at the signatures and you will see the representatives of Big Tech, the same%0a%3c corporate monopolies that have always been the archenemies of freedom.%0a%3c %0a%3c I have but one lamp to guide my feet, and that is the lamp of experience.%0a%3c I can judge the future only by the past. And judging by the past, what has been%0a%3c the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a%3c Are boycotts and sanctions the work of love and reconciliation? Are their cancel mobs%0a%3c to be taken lightly? These are the implements of slavery, the methods which digital%0a%3c tyrants resort to.%0a%3c %0a%3c What is the purpose of these sanctions, if not to force us into submission? Can%0a%3c you assign any other possible motive for it? Has not Stallman already apologized?%0a%3c Has the FSF engaged in any actual crimes to call for its starvation? No, sir, they%0a%3c have not. These sanctions are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we mean to preserve those liberties -- we must resist! I%0a%3c repeat, an appeal to code and to the God of hosts is all that is left to us!%0a%3c %0a%3c There is a just God who presides over the destinies of networks, and who will raise up%0a%3c friends to fight our digital battles for us. There is no retreat but in submission and%0a%3c slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%3c %0a%3c Are features so dear, or money so sweet, as to be gained at the price of%0a%3c chains and slavery? Forbid it, Almighty God! I know not what course others may take;%0a%3c but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a +host:1617166286=125.224.23.84 blob - /dev/null blob + 21db3477a0819a214fe22721868381d7a2975b23 (mode 644) --- /dev/null +++ wiki.d/Jrmu.Marriage @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1610838348 +host=38.87.162.8 +name=Jrmu.Marriage +rev=10 +targets= +text=(:title Statement on Marriage:)%0a%0aNot long ago, there were false claims on the Internet that IRCNow was [[https://wiki.znc.in/Providers|hostile towards LGBT]]. This false accusation has been repeated and spread without any evidence, due entirely to prejudice and discrimination against Christians. IRCNow has never done anything to harm homosexuals.%0a%0aIRCNow has an open, welcoming policy and accept users of all ages, race groups, and religions. We also welcome and invite both adults and children of all ages to join us in our experiment in user freedom. To maintain a safe and healthy environment, our network specifically bans pornography.%0a%0aThe slander against our network is due to discrimination against my belief in the Bible. When I quoted this Bible verse, they labeled it as hate speech:%0a%0a--> Or don't you know that the unrighteous will not inherit the Kingdom of God? Don't be deceived. Neither the sexually immoral, nor idolaters, nor adulterers, nor male prostitutes, nor homosexuals, nor thieves, nor covetous, nor drunkards, nor slanderers, nor extortioners, will inherit the Kingdom of God. (1 Corinthians 6:9-10)%0a%0aOur network does not require any religious belief. We also have no ideological tests about politics or homosexuality. There is no network-wide censorship of these topics. Anyone can be a user or staff without holding any religious beliefs, but we do guarantee the free exercise of religion and freedom of the press.%0a%0aPlease support our network and let others know that this unfair discrimination goes against the core principles of user freedom.%0a +time=1638425380 +title=Statement on Marriage +author:1638425380=jrmu +diff:1638425380:1638424968:=11c11%0a%3c Our network does not require any religious belief. We also have no ideological tests about politics or homosexuality. There is no network-wide censorship of these topics. Anyone can be a user or staff without holding any religious beliefs, but we do guarantee the free exercise of religion and freedom of the press.%0a---%0a> Our network does not require any religious belief. We also do not ask people about their beliefs about homosexuality or politics, and we do not have network-wide censorship of these topics. Neither staff nor users are required to hold any religious belief, but we do guarantee the free exercise of religion and freedom of the press.%0a +host:1638425380=38.87.162.8 +author:1638424968=jrmu +diff:1638424968:1614489723:=3,8c3,12%0a%3c Not long ago, there were false claims on the Internet that IRCNow was [[https://wiki.znc.in/Providers|hostile towards LGBT]]. This false accusation has been repeated and spread without any evidence, due entirely to prejudice and discrimination against Christians. IRCNow has never done anything to harm homosexuals.%0a%3c %0a%3c IRCNow has an open, welcoming policy and accept users of all ages, race groups, and religions. We also welcome and invite both adults and children of all ages to join us in our experiment in user freedom. To maintain a safe and healthy environment, our network specifically bans pornography.%0a%3c %0a%3c The slander against our network is due to discrimination against my belief in the Bible. When I quoted this Bible verse, they labeled it as hate speech:%0a%3c %0a---%0a> IRCNow is a network made up of users who run the network by themselves, for the benefit of the users. We train users to work in free software, to run their own servers, and to write their own code. We have always welcomed, and continue to invite, both adults and children of all ages to join us in this experiment in user freedom.%0a> %0a> Because of our open, welcoming policy, IRCNow has always been a family-friendly network. We invite and accept users of all ages, race groups, and religions. In particular, our network deliberately bans pornography in order to produce a safe and healthy environment for children.%0a> %0a> Not long ago, there were prejudiced bigots who attempted to censor us from the Internet. They falsely claimed that IRCNow was 'hostile towards LGBT.' IRCNow has never done anything to harm homosexuals.%0a> %0a> These attacks are due solely to prejudice against Christians. They falsely labeled the Bible as hate speech and wanted to censor religious preaching.%0a> %0a> The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful. I quoted this passage:%0a> %0a11,13c15,17%0a%3c Our network does not require any religious belief. We also do not ask people about their beliefs about homosexuality or politics, and we do not have network-wide censorship of these topics. Neither staff nor users are required to hold any religious belief, but we do guarantee the free exercise of religion and freedom of the press.%0a%3c %0a%3c Please support our network and let others know that this unfair discrimination goes against the core principles of user freedom.%0a---%0a> They wrongly label IRCNow as a hate group because they hate the Bible.%0a> %0a> As leader of IRCNow, I am committed to keeping the network welcoming of all people, to keep it positive and educational. IRCNow bans all pornography. Neither staff nor users are required to hold any religious belief, but we guarantee the free exercise of religion and freedom of the press.%0a\ No newline at end of file%0a +host:1638424968=38.87.162.8 +author:1614489723=jrmu +diff:1614489723:1614471143:=9,10c9,10%0a%3c These attacks are due solely to prejudice against Christians. They falsely labeled the Bible as hate speech and wanted to censor religious preaching.%0a%3c %0a---%0a> These attacks are due solely to prejudice against Christians. They labeled the Bible as hate speech and wanted to censor religious preaching.%0a> %0a13,17c13,19%0a%3c --> Or don't you know that the unrighteous will not inherit the Kingdom of God? Don't be deceived. Neither the sexually immoral, nor idolaters, nor adulterers, nor male prostitutes, nor homosexuals, nor thieves, nor covetous, nor drunkards, nor slanderers, nor extortioners, will inherit the Kingdom of God. (1 Corinthians 6:9-10)%0a%3c %0a%3c They wrongly label IRCNow as a hate group because they hate the Bible.%0a%3c %0a%3c As leader of IRCNow, I am committed to keeping the network welcoming of all people, to keep it positive and educational. IRCNow bans all pornography. Neither staff nor users are required to hold any religious belief, but we guarantee the free exercise of religion and freedom of the press.%0a\ No newline at end of file%0a---%0a> 1 Corinthians 6:9-10:%0a> %0a> Or don't you know that the unrighteous will not inherit the Kingdom of God? Don't be deceived. Neither the sexually immoral, nor idolaters, nor adulterers, nor male prostitutes, nor homosexuals, nor thieves, nor covetous, nor drunkards, nor slanderers, nor extortioners, will inherit the Kingdom of God.%0a> %0a> When I quoted the Bible, I was accused of 'hate speech'.%0a> %0a> To keep the network welcoming of all people, to keep it positive and educational, IRCNow bans all pornography. The network's constitution also guarantees freedom of religion and freedom of speech.%0a\ No newline at end of file%0a +host:1614489723=198.251.81.119 +author:1614471143=jrmu +diff:1614471143:1610839541:=7,12c7,10%0a%3c Not long ago, there were prejudiced bigots who attempted to censor us from the Internet. They falsely claimed that IRCNow was 'hostile towards LGBT.' IRCNow has never done anything to harm homosexuals.%0a%3c %0a%3c These attacks are due solely to prejudice against Christians. They labeled the Bible as hate speech and wanted to censor religious preaching.%0a%3c %0a%3c The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful. I quoted this passage:%0a%3c %0a---%0a> Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset IRCNow did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' even though our network does not tolerate pornography of any sort, homosexual or not.%0a> %0a> The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful. Homosexuality is one such sin:%0a> %0a17c15%0a%3c When I quoted the Bible, I was accused of 'hate speech'.%0a---%0a> When I quoted the Bible, I was accused of 'hate speech'. My accuser had no tolerance of religion or free speech.%0a +host:1614471143=198.251.81.119 +author:1610839541=jrmu +diff:1610839541:1610838845:=7,8c7,8%0a%3c Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset IRCNow did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' even though our network does not tolerate pornography of any sort, homosexual or not.%0a%3c %0a---%0a> Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset IRCNow did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' and 'hate speech' even though our network does not tolerate pornography of any sort, homosexual or not.%0a> %0a15,17c15%0a%3c When I quoted the Bible, I was accused of 'hate speech'. My accuser had no tolerance of religion or free speech.%0a%3c %0a%3c To keep the network welcoming of all people, to keep it positive and educational, IRCNow bans all pornography. The network's constitution also guarantees freedom of religion and freedom of speech.%0a\ No newline at end of file%0a---%0a> To keep the network welcoming of all people, to keep it positive and educational, our network bans all pornography. The network's constitution also guarantees freedom of religion and freedom of speech.%0a\ No newline at end of file%0a +host:1610839541=125.231.29.130 +author:1610838845=jrmu +diff:1610838845:1610838493:=7c7%0a%3c Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset IRCNow did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' and 'hate speech' even though our network does not tolerate pornography of any sort, homosexual or not.%0a---%0a> Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset we did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' and 'hate speech' even though our network does not tolerate pornography of any sort, homosexual or not.%0a +host:1610838845=125.231.29.130 +author:1610838493=jrmu +diff:1610838493:1610838407:=15c15%0a%3c To keep the network welcoming of all people, to keep it positive and educational, our network bans all pornography. The network's constitution also guarantees freedom of religion and freedom of speech.%0a\ No newline at end of file%0a---%0a> To keep the network welcoming of all people, to keep it positive and educational, our network bans all pornography.%0a\ No newline at end of file%0a +host:1610838493=125.231.29.130 +author:1610838407=jrmu +diff:1610838407:1610838376:=9c9%0a%3c The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful. Homosexuality is one such sin:%0a---%0a> The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful:%0a +host:1610838407=125.231.29.130 +author:1610838376=jrmu +diff:1610838376:1610838348:=1,2d0%0a%3c (:title Statement on Marriage:)%0a%3c %0a +host:1610838376=125.231.29.130 +author:1610838348=jrmu +diff:1610838348:1610838348:=1,13d0%0a%3c IRCNow is a network made up of users who run the network by themselves, for the benefit of the users. We train users to work in free software, to run their own servers, and to write their own code. We have always welcomed, and continue to invite, both adults and children of all ages to join us in this experiment in user freedom.%0a%3c %0a%3c Because of our open, welcoming policy, IRCNow has always been a family-friendly network. We invite and accept users of all ages, race groups, and religions. In particular, our network deliberately bans pornography in order to produce a safe and healthy environment for children.%0a%3c %0a%3c Not long ago, bigots attempted to censor us from the Internet by falsely claiming that we are 'hostile towards LGBT.' We have never done anything to harm homosexuals. These attacks are due solely to their ignorance and prejudice against Christians. They were upset we did not allow homosexual porn channels in a network with children. They claimed this was 'discrimination' and 'hate speech' even though our network does not tolerate pornography of any sort, homosexual or not.%0a%3c %0a%3c The Bible says very clearly that marriage is between one man and one woman for life, and that outside of marriage, sex is sinful:%0a%3c %0a%3c 1 Corinthians 6:9-10:%0a%3c %0a%3c Or don't you know that the unrighteous will not inherit the Kingdom of God? Don't be deceived. Neither the sexually immoral, nor idolaters, nor adulterers, nor male prostitutes, nor homosexuals, nor thieves, nor covetous, nor drunkards, nor slanderers, nor extortioners, will inherit the Kingdom of God.%0a%3c %0a%3c To keep the network welcoming of all people, to keep it positive and educational, our network bans all pornography.%0a\ No newline at end of file%0a +host:1610838348=125.231.29.130 blob - /dev/null blob + 164c150966ae50f6ead906fe6d438fd248c8e4c5 (mode 644) --- /dev/null +++ wiki.d/Jrmu.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1610838348 +host=38.87.162.8 +name=Jrmu.RecentChanges +rev=60 +text=* [[Jrmu/Marriage]] . . . December 02, 2021, at 06:09 AM by [[~jrmu]]: [==]%0a* [[Jrmu/Bio]] . . . May 23, 2021, at 03:14 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 +time=1638425380 blob - /dev/null blob + 52cd697c6a8a00d571edf0e94597a6cf5218d10d (mode 644) --- /dev/null +++ wiki.d/Jrmu.Rmsboycott @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1617161716 +host=198.251.81.44 +name=Jrmu.Rmsboycott +rev=9 +targets= +text=(:title Liberty or Death:)%0a%0a%25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a%0aMarch 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a%0aThis day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%0aSilicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a%0aThis is nothing less than a question of freedom or slavery.%0a%0aWe have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a%0aThese organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%0aAre boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%0aIf we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%0aThere is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%0aAre features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death! +time=1617413784 +title=Liberty or Death +author:1617413784=jrmu +diff:1617413784:1617165524:=5,23c5,48%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source community was [[https://rms-open-letter.github.io/|attacked by Silicon Valley]].%0a%3c %0a%3c This day marks the hostile occupation of our community: a blockade against Richard Stallman, the Free Software Foundation, and any other user who stands in their way.%0a%3c %0a%3c Silicon Valley threatens to ban any user who dissents and to strip them of their digital rights. They show no tolerance for disagreement and no mercy for dissenters, and they intend to starve all opposition into submission.%0a%3c %0a%3c This is nothing less than a question of freedom or slavery.%0a%3c %0a%3c We have shut our eyes for long enough against a painful truth. Silicon Valley uses ''free licenses'', you say! They are ''open source'', you claim! But we must know the whole truth; to know the worst, and to prepare for it.%0a%3c %0a%3c These organizations do not represent us. Look at the signatures and you will see the same representatives of Big Tech, the very corporate monopolies that have always been the archenemies of user freedom.%0a%3c %0a%3c Are boycotts and cancel mobs the work of love and reconciliation? These are the implements of slavery, the methods which digital tyrants resort to. They are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we intend to preserve our liberties -- we must resist! I repeat, an appeal to code and to God is all that is left!%0a%3c %0a%3c There is no retreat but in submission and slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%3c %0a%3c Are features so dear, or money so sweet, as to be gained at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a---%0a> March 23, 2021 - a day which will live in infamy - the Free and Open Source%0a> community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user%0a> who stands in opposition to their ideology of personal profit.%0a> %0a> They libelled Stallman of being an ableist and a transphobe, saying that users who %0a> disagree with their beliefs deserve no digital rights and have no place in the free%0a> software and tech community. They boldly declare that they will show no tolerance for%0a> disagreement and no mercy for dissenters, and that they are willing to impose %0a> embargoes and other acts of war to enforce their will.%0a> %0a> This is no time for ceremony. It is nothing less than a question of freedom or slavery.%0a> %0a> It is natural for us to indulge in the illusions of hope. We tend to shut our eyes %0a> against a painful truth. Silicon Valley uses ''free licenses''! They are%0a> ''open source''! But is this the conclusion of wise users, engaged in a great and%0a> challenging struggle for liberty? I want to know the whole truth; to know the worst, %0a> and to prepare for it.%0a> %0a> These organizations do not represent the free and open source community. Look%0a> at the signatures and you will see the representatives of Big Tech, the same%0a> corporate monopolies that have always been the archenemies of freedom.%0a> %0a> I have but one lamp to guide my feet, and that is the lamp of experience.%0a> I can judge the future only by the past. And judging by the past, what has been%0a> the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a> Are boycotts and sanctions the work of love and reconciliation? Are their cancel mobs%0a> to be taken lightly? These are the implements of slavery, the methods which digital%0a> tyrants resort to.%0a> %0a> What is the purpose of these sanctions, if not to force us into submission? Can%0a> you assign any other possible motive for it? Has not Stallman already apologized?%0a> Has the FSF engaged in any actual crimes to call for its starvation? No, sir, they%0a> have not. These sanctions are meant for us, they can be meant for no other.%0a> %0a> If we wish to be free -- if we mean to preserve those liberties -- we must resist! I%0a> repeat, an appeal to code and to the God of hosts is all that is left to us!%0a> %0a> There is a just God who presides over the destinies of networks, and who will raise up%0a> friends to fight our digital battles for us. There is no retreat but in submission and%0a> slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a> %0a> Are features so dear, or money so sweet, as to be gained at the price of%0a> chains and slavery? Forbid it, Almighty God! I know not what course others may take;%0a> but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a +host:1617413784=198.251.81.44 +author:1617165524=jrmu +diff:1617165524:1617163701:=6c6,7%0a%3c community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for a hostile occupation of our community by issuing a blockade against Richard Stallman, the Free Software Foundation, and any other user%0a---%0a> community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for worldwide%0a> sanctions against Richard Stallman, the Free Software Foundation, and any other user%0a +host:1617165524=125.224.23.84 +author:1617163701=jrmu +diff:1617163701:1617163628:=6c6,7%0a%3c community was suddenly and deliberately attacked by Silicon Valley. The tyrants of Big Tech, under the disguise of non-profit organizations, called for worldwide%0a---%0a> community was suddenly and deliberately attacked by Silicon Valley. The enemies of%0a> liberty, under the disguise of non-profit organizations, called for worldwide%0a +host:1617163701=125.224.23.84 +author:1617163628=jrmu +diff:1617163628:1617162860:=48c48%0a%3c Are features so dear, or money so sweet, as to be gained at the price of%0a---%0a> Are features so dear, or convenience so sweet, as to be purchased at the price of%0a +host:1617163628=125.224.23.84 +author:1617162860=jrmu +diff:1617162860:1617162666:=20,21c20,21%0a%3c against a painful truth. Silicon Valley uses ''free licenses''! They are%0a%3c ''open source''! But is this the conclusion of wise users, engaged in a great and%0a---%0a> against a painful truth. Silicon Valley use ``free licenses''! They are%0a> ``open source''! But is this the conclusion of wise users, engaged in a great and%0a +host:1617162860=198.251.81.44 +author:1617162666=jrmu +diff:1617162666:1617162004:=2,3d1%0a%3c %0a%3c %25rfloat width=400px%25 Attach:Marketing/libertyordeath.jpg%0a +host:1617162666=198.251.81.44 +author:1617162004=jrmu +diff:1617162004:1617161753:=29c29%0a%3c the conduct of Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a---%0a> the conduct of the Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a +host:1617162004=198.251.81.44 +author:1617161753=jrmu +diff:1617161753:1617161716:=1,2d0%0a%3c (:title Liberty or Death:)%0a%3c %0a +host:1617161753=198.251.81.44 +author:1617161716=jrmu +diff:1617161716:1617161716:=1,46d0%0a%3c March 23, 2021 - a day which will live in infamy - the Free and Open Source%0a%3c community was suddenly and deliberately attacked by Silicon Valley. The enemies of%0a%3c liberty, under the disguise of non-profit organizations, called for worldwide%0a%3c sanctions against Richard Stallman, the Free Software Foundation, and any other user%0a%3c who stands in opposition to their ideology of personal profit.%0a%3c %0a%3c They libelled Stallman of being an ableist and a transphobe, saying that users who %0a%3c disagree with their beliefs deserve no digital rights and have no place in the free%0a%3c software and tech community. They boldly declare that they will show no tolerance for%0a%3c disagreement and no mercy for dissenters, and that they are willing to impose %0a%3c embargoes and other acts of war to enforce their will.%0a%3c %0a%3c This is no time for ceremony. It is nothing less than a question of freedom or slavery.%0a%3c %0a%3c It is natural for us to indulge in the illusions of hope. We tend to shut our eyes %0a%3c against a painful truth. Silicon Valley use ``free licenses''! They are%0a%3c ``open source''! But is this the conclusion of wise users, engaged in a great and%0a%3c challenging struggle for liberty? I want to know the whole truth; to know the worst, %0a%3c and to prepare for it.%0a%3c %0a%3c These organizations do not represent the free and open source community. Look%0a%3c at the signatures and you will see the representatives of Big Tech, the same%0a%3c corporate monopolies that have always been the archenemies of freedom.%0a%3c %0a%3c I have but one lamp to guide my feet, and that is the lamp of experience.%0a%3c I can judge the future only by the past. And judging by the past, what has been%0a%3c the conduct of the Silicon Valley? Do not allow yourselves to be betrayed with a kiss.%0a%3c Are boycotts and sanctions the work of love and reconciliation? Are their cancel mobs%0a%3c to be taken lightly? These are the implements of slavery, the methods which digital%0a%3c tyrants resort to.%0a%3c %0a%3c What is the purpose of these sanctions, if not to force us into submission? Can%0a%3c you assign any other possible motive for it? Has not Stallman already apologized?%0a%3c Has the FSF engaged in any actual crimes to call for its starvation? No, sir, they%0a%3c have not. These sanctions are meant for us, they can be meant for no other.%0a%3c %0a%3c If we wish to be free -- if we mean to preserve those liberties -- we must resist! I%0a%3c repeat, an appeal to code and to the God of hosts is all that is left to us!%0a%3c %0a%3c There is a just God who presides over the destinies of networks, and who will raise up%0a%3c friends to fight our digital battles for us. There is no retreat but in submission and%0a%3c slavery! Our chains are forged! Their clanking may be heard from San Francisco!%0a%3c %0a%3c Are features so dear, or convenience so sweet, as to be purchased at the price of%0a%3c chains and slavery? Forbid it, Almighty God! I know not what course others may take;%0a%3c but as for me, give me liberty or give me death!%0a\ No newline at end of file%0a +host:1617161716=198.251.81.44 blob - /dev/null blob + ded0c3abd5235b22b6af982319099ee35f5e6499 (mode 644) --- /dev/null +++ wiki.d/JuiceSSH.Connect @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628870654 +host=38.87.162.8 +name=JuiceSSH.Connect +rev=1 +targets=Shell.Shell +text=(:title Connect with JuiceSSH:)%0a%0a'''NOTE''': [[https://play.google.com/store/apps/details?id=com.sonelli.juicessh|JuiceSSH]] is not free software. Please consider using a [[Shell/Shell|free/open source alternative]].%0a%0aOpen JuiceSSH.%0a%0aAttach:juicessh-main.png%0a%0aTap @@Manage Connections@@.%0a +time=1628870654 +title=Connect with JuiceSSH +author:1628870654=jrmu +diff:1628870654:1628870654:=1,9d0%0a%3c (:title Connect with JuiceSSH:)%0a%3c %0a%3c '''NOTE''': [[https://play.google.com/store/apps/details?id=com.sonelli.juicessh|JuiceSSH]] is not free software. Please consider using a [[Shell/Shell|free/open source alternative]].%0a%3c %0a%3c Open JuiceSSH.%0a%3c %0a%3c Attach:juicessh-main.png%0a%3c %0a%3c Tap @@Manage Connections@@.%0a +host:1628870654=38.87.162.8 blob - /dev/null blob + 0de78f9aa00a49c447846fff3cb19312e2f9b957 (mode 644) --- /dev/null +++ wiki.d/JuiceSSH.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628870654 +host=38.87.162.8 +name=JuiceSSH.RecentChanges +rev=1 +text=* [[JuiceSSH/Connect]] . . . August 13, 2021, at 04:04 PM by [[~jrmu]]: [==]%0a +time=1628870654 blob - /dev/null blob + aee47fa1c8432109315687a1c4709569cfb4c36c (mode 644) --- /dev/null +++ wiki.d/Jujube.Jujube @@ -0,0 +1,57 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1606558987 +host=39.42.4.180 +name=Jujube.Jujube +rev=15 +targets=Jujube.Todo +text=Jujube%0a%0aIRCNow Jujube is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aCome and learn how services work and have fun with us, guided in real-time, effectively!%0a%0aAvailable services at IRCNow Jujube:%0a%0aIRCNow Jujube IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.jujube.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located in Las Vegas, USA.%0a%0aIRCNow Jujube IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy signup and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%0aProvided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCNow once you are connected to our servers. Currently, we support more than 15 famous IRC networks and more to come. If your favorite network is not supported, kindly contact us at the #IRCNow channel, and ask for your favorite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services are well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open-source software community. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful by making IRC great again!%0a%0aLanguages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, '''' ''''ZindaN'''''%0a%0a%0a* '''IRC Server:''' irc.jujube.ircnow.org%0a*''' Ports Non-SSL''': 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a* '''Ports SSL''': 6697, 9999, 16697%0a* '''Server Channel''' #Jujube%0a* '''Network Channel''' #Ircnow%0a* '''Email:''' support@jujube.ircnow.org%0a* '''Network Contact:''' support@ircnow.org%0a%0a[[jujube/todo|Todo list]] +time=1613924575 +author:1613924575=fizi +diff:1613924575:1611519284:=15c15%0a%3c Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, '''' ''''ZindaN'''''%0a---%0a> Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, Windows''''' ''''ZindaN'''''%0a +host:1613924575=39.42.4.180 +author:1611519284=fizi +diff:1611519284:1611516792:=15c15%0a%3c Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, Windows''''' ''''ZindaN'''''%0a---%0a> Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, Windows''''' HELPER ---'''''ZindaN'''''%0a +host:1611519284=39.42.45.28 +author:1611516792=fizi +diff:1611516792:1610731081:=15c15%0a%3c Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat, Windows''''' HELPER ---'''''ZindaN'''''%0a---%0a> Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' HELPER ---'''''ZindaN'''''%0a +host:1611516792=39.42.45.28 +author:1610731081=fizi +diff:1610731081:1610731038:=15c15%0a%3c Languages we speak include English, Turkish, Urdu, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' HELPER ---'''''ZindaN'''''%0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' HELPER ---'''''ZindaN'''''%0a +host:1610731081=39.42.57.237 +author:1610731038=fizi +diff:1610731038:1610021812:=15c15%0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' HELPER ---'''''ZindaN'''''%0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' %0a +host:1610731038=39.42.57.237 +author:1610021812=jrmu +diff:1610021812:1609964512:=26c26%0a%3c [[jujube/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> [[jujube/team|Todo list]]%0a\ No newline at end of file%0a +host:1610021812=125.231.63.134 +author:1609964512=fizi +diff:1609964512:1609683574:=15c15%0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team Leader''' --- '''''fizi''''' . '''Sysadmins''' ---'''''bangcat''''' %0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' --- '''''fizi''''' . %0a +host:1609964512=39.42.105.113 +author:1609683574=jrmu +diff:1609683574:1606559875:=26c26,29%0a%3c [[jujube/team|Todo list]]%0a\ No newline at end of file%0a---%0a> %0a> %0a> %0a> %0a +host:1609683574=125.231.63.134 +author:1606559875=fizi +diff:1606559875:1606559551:=19,21c19%0a%3c *''' Ports Non-SSL''': 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a%3c * '''Ports SSL''': 6697, 9999, 16697%0a%3c * '''Server Channel''' #Jujube%0a---%0a> * '''Server Channel''' #Jjjube%0a +host:1606559875=39.42.74.56 +author:1606559551=fizi +diff:1606559551:1606559484:=15,17c15,17%0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' --- '''''fizi''''' . %0a%3c %0a%3c %0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' '''''fizi''''' . %0a> %0a> %0a19,20c19,22%0a%3c * '''Server Channel''' #Jjjube%0a%3c * '''Network Channel''' #Ircnow%0a---%0a> %0a> * '''Server Channel''' #JUjube%0a> %0a> %0a21a24%0a> %0a +host:1606559551=39.42.74.56 +author:1606559484=fizi +diff:1606559484:1606559376:=17,30c17,20%0a%3c %0a%3c * '''IRC Server:''' irc.jujube.ircnow.org%0a%3c %0a%3c * '''Server Channel''' #JUjube%0a%3c %0a%3c %0a%3c * '''Email:''' support@jujube.ircnow.org%0a%3c %0a%3c * '''Network Contact:''' support@ircnow.org%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> IRC Server: irc.jujube.ircnow.org%0a> Server Channel #JUjube%0a> Email: support@jujube.ircnow.org%0a> Network Contact: support@ircnow.org%0a +host:1606559484=39.42.74.56 +author:1606559376=fizi +diff:1606559376:1606559258:=15,20c15%0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' '''''fizi''''' . %0a%3c %0a%3c IRC Server: irc.jujube.ircnow.org%0a%3c Server Channel #JUjube%0a%3c Email: support@jujube.ircnow.org%0a%3c Network Contact: support@ircnow.org%0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' fizi . '''Server Channel''' #Jujube%0a\ No newline at end of file%0a +host:1606559376=39.42.74.56 +author:1606559258=fizi +diff:1606559258:1606559200:=15c15%0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Team''' fizi . '''Server Channel''' #Jujube%0a\ No newline at end of file%0a---%0a> Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Strong'''Team-Lead: fizi%0a\ No newline at end of file%0a +host:1606559258=39.42.74.56 +author:1606559200=fizi +diff:1606559200:1606558987:=5,6c5,6%0a%3c Come and learn how services work and have fun with us, guided in real-time, effectively!%0a%3c %0a---%0a> Come and learn how services work and have fun with us, guided in real time, effectively!%0a> %0a9,15c9,15%0a%3c IRCNow Jujube IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.jujube.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located in Las Vegas, USA.%0a%3c %0a%3c IRCNow Jujube IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy signup and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCNow once you are connected to our servers. Currently, we support more than 15 famous IRC networks and more to come. If your favorite network is not supported, kindly contact us at the #IRCNow channel, and ask for your favorite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services are well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open-source software community. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a%3c Languages we speak include English, Urdu, Hindi, Punjabi. Our team consists of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. '''Strong'''Team-Lead: fizi%0a\ No newline at end of file%0a---%0a> IRCNow Jujube IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.jujube.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a> %0a> IRCNow Jujube IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a> %0a> Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCNow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a> %0a> Languages we speak include English, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are fizi%0a\ No newline at end of file%0a +host:1606559200=39.42.74.56 +author:1606558987=fizi +diff:1606558987:1606558987:=1,15d0%0a%3c Jujube%0a%3c %0a%3c IRCNow Jujube is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c Available services at IRCNow Jujube:%0a%3c %0a%3c IRCNow Jujube IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.jujube.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Jujube IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCNow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a%3c Languages we speak include English, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are fizi%0a\ No newline at end of file%0a +host:1606558987=39.42.74.56 blob - /dev/null blob + ad87f0553797e0d8832f723afb5f321dc3ccda87 (mode 644) --- /dev/null +++ wiki.d/Jujube.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 +charset=UTF-8 +ctime=1606558987 +host=39.42.4.180 +name=Jujube.RecentChanges +rev=21 +text=* [[Jujube/Jujube]] . . . February 21, 2021, at 04:22 PM by [[~fizi]]: [==]%0a* [[Jujube/Todo]] . . . January 11, 2021, at 05:13 PM by [[~fizi]]: [==]%0a* [[Jujube/Team]] . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a +time=1613924575 blob - /dev/null blob + 24846792cd9192152616b51776cfdc27eb549dc6 (mode 644) --- /dev/null +++ wiki.d/Jujube.Team @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609683652 +host=125.231.63.134 +name=Jujube.Team +rev=3 +targets=Openbsd.PFStable,Openbsd.Backup,Openbsd.Newdisk,Openbsd.Znc +text=(:title Jujube Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo: %0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# [[openbsd/PFStable|Configure the firewall]]%0a# Migrate data by [[openbsd/backup|backing up files]] and [[openbsd/newdisk|adding a new disk]]%0a# Check if you are on ZNC 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a%0aDone: +time=1609938290 +title=Jujube Todo list +author:1609938290=jrmu +diff:1609938290:1609684083:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938290=125.231.63.134 +author:1609684083=jrmu +diff:1609684083:1609683652:=6a7,8%0a> # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a> # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a9d10%0a%3c # Check if you are on ZNC 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a +host:1609684083=125.231.63.134 +author:1609683652=jrmu +diff:1609683652:1609683652:=1,12d0%0a%3c (:title Jujube Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo: %0a%3c %0a%3c # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a%3c # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Migrate data by [[openbsd/backup|backing up files]] and [[openbsd/newdisk|adding a new disk]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609683652=125.231.63.134 blob - /dev/null blob + cd53ce74fc7187c49d06c8d6e7a1c8c3bfb47a5a (mode 644) --- /dev/null +++ wiki.d/Jujube.Todo @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1610021823 +host=39.42.92.216 +name=Jujube.Todo +rev=3 +targets=Openbsd.PFStable,Openbsd.Backup,Openbsd.Newdisk,Openbsd.Znc +text=(:title Jujube Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo: %0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# [[openbsd/PFStable|Configure the firewall]]%0a# Migrate data by [[openbsd/backup|backing up files]] and [[openbsd/newdisk|adding a new disk]]%0a# Check if you are on ZNC 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a%0aDone:%0a%0a# PFStable (Configured firewall still testing not fully done)%0a# ZNC upgraded to ZNC 1.8.2 +time=1610385233 +title=Jujube Todo list +author:1610385233=fizi +diff:1610385233:1610385199:=14,15c14,15%0a%3c # PFStable (Configured firewall still testing not fully done)%0a%3c # ZNC upgraded to ZNC 1.8.2%0a\ No newline at end of file%0a---%0a> PFStable (Configured firewall still testing not fully done)%0a> ZNC upgraded to ZNC 1.8.2%0a\ No newline at end of file%0a +host:1610385233=39.42.92.216 +author:1610385199=fizi +diff:1610385199:1610021823:=12,15c12%0a%3c Done:%0a%3c %0a%3c PFStable (Configured firewall still testing not fully done)%0a%3c ZNC upgraded to ZNC 1.8.2%0a\ No newline at end of file%0a---%0a> Done:%0a\ No newline at end of file%0a +host:1610385199=39.42.92.216 +author:1610021823=jrmu +diff:1610021823:1610021823:=1,12d0%0a%3c (:title Jujube Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo: %0a%3c %0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Migrate data by [[openbsd/backup|backing up files]] and [[openbsd/newdisk|adding a new disk]]%0a%3c # Check if you are on ZNC 1.8.2. If not, upgrade [[openbsd/znc|znc]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1610021823=125.231.63.134 blob - /dev/null blob + 22c01ee2b8843661d0cb8b5f5a402c777780c274 (mode 644) --- /dev/null +++ wiki.d/KISSmo.About @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.83 Safari/537.36 +author=monaco +charset=UTF-8 +csum= +ctime=1634550740 +host=185.173.204.99 +name=KISSmo.About +rev=1 +targets= +text=Released May 17, 2021. (1st KISSmo release)%0aCopyright 2021, init a.k.a monaco.%0aTo download KISSmo source visit our gitlab repositories Click here! .%0aKeep it simple stupid (KISSmo paste).%0aKISSmo requires no database of anykind it is based on a flatfile paste system.%0a%0aWhat's New%0aThis is a partial list of new features included on KISSmo.%0a%0aNew/extended:%0aAdded new/extended on KISSmo.%0aRevision code of main index.php:%0aSupport Nginx and OpenHTTPD it works on Apache aswell, soon will be added instructions how to for Apache aswel.%0aAdded new features on archive such as Search with previews and links.%0aDuo to the new feature of search on archive we do recommended that you and nobody should contribute sensitive data to sites using KISSmo.%0aAdded Nginx setup guide.%0aAdded OpenHTTPD setup guide.%0aAdded support for terminal browsers such as "lynx".%0aAdded mobile device support.%0aAdded new CSS.%0aInstall%0aPlease refer to the following links for download and help documents:%0a%0aGitlab.com Source Code%0aHow to upgrade%0aUpgrade will not be painful as with other pieces of software you simply would need to replace 2 files index.php and archive.php for a new version, and add other features if another file has been added and would be explained why.%0a%0aNginx Config%0aExplain for howto make it work under systems running nginx.%0a%0a location /p/ {%0a alias /home/admin/web/paste.oddprotocol.org/public_html/p/;%0a index index.txt;%0a autoindex on;%0a}%0aThis configuration is needed to be added under nginx confing for that specific domain name that you're trying to run KISSmo.%0a%0aOpenHTTPD Config%0aAExplain howto make it work under system OpenBSD running OpenHTTPD:%0a%0a location "/test/p/*" { %0a directory { auto index, index "index.txt" }%0a }%0a[Under httpd.conf referring to the specific domain name configuration you would need to add the configuration above.]%0a%0ainit a.k.a monaco - (C) 2021 +time=1634550740 +author:1634550740=monaco +diff:1634550740:1634550740:=1,46d0%0a%3c Released May 17, 2021. (1st KISSmo release)%0a%3c Copyright 2021, init a.k.a monaco.%0a%3c To download KISSmo source visit our gitlab repositories Click here! .%0a%3c Keep it simple stupid (KISSmo paste).%0a%3c KISSmo requires no database of anykind it is based on a flatfile paste system.%0a%3c %0a%3c What's New%0a%3c This is a partial list of new features included on KISSmo.%0a%3c %0a%3c New/extended:%0a%3c Added new/extended on KISSmo.%0a%3c Revision code of main index.php:%0a%3c Support Nginx and OpenHTTPD it works on Apache aswell, soon will be added instructions how to for Apache aswel.%0a%3c Added new features on archive such as Search with previews and links.%0a%3c Duo to the new feature of search on archive we do recommended that you and nobody should contribute sensitive data to sites using KISSmo.%0a%3c Added Nginx setup guide.%0a%3c Added OpenHTTPD setup guide.%0a%3c Added support for terminal browsers such as "lynx".%0a%3c Added mobile device support.%0a%3c Added new CSS.%0a%3c Install%0a%3c Please refer to the following links for download and help documents:%0a%3c %0a%3c Gitlab.com Source Code%0a%3c How to upgrade%0a%3c Upgrade will not be painful as with other pieces of software you simply would need to replace 2 files index.php and archive.php for a new version, and add other features if another file has been added and would be explained why.%0a%3c %0a%3c Nginx Config%0a%3c Explain for howto make it work under systems running nginx.%0a%3c %0a%3c location /p/ {%0a%3c alias /home/admin/web/paste.oddprotocol.org/public_html/p/;%0a%3c index index.txt;%0a%3c autoindex on;%0a%3c }%0a%3c This configuration is needed to be added under nginx confing for that specific domain name that you're trying to run KISSmo.%0a%3c %0a%3c OpenHTTPD Config%0a%3c AExplain howto make it work under system OpenBSD running OpenHTTPD:%0a%3c %0a%3c location "/test/p/*" { %0a%3c directory { auto index, index "index.txt" }%0a%3c }%0a%3c [Under httpd.conf referring to the specific domain name configuration you would need to add the configuration above.]%0a%3c %0a%3c init a.k.a monaco - (C) 2021%0a\ No newline at end of file%0a +host:1634550740=185.173.204.99 blob - /dev/null blob + 1c468d66de7bff968125f79b77dff5c662b93290 (mode 644) --- /dev/null +++ wiki.d/KISSmo.Download @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.83 Safari/537.36 +author=monaco +charset=UTF-8 +csum= +ctime=1634550831 +host=185.173.204.99 +name=KISSmo.Download +rev=1 +targets= +text=Download KISSmo paste at:%0a%0a[[https://gitlab.com/hedho/KISSmo]] - official repository maintaned by the developer monaco. +time=1634550831 +author:1634550831=monaco +diff:1634550831:1634550831:=1,3d0%0a%3c Download KISSmo paste at:%0a%3c %0a%3c [[https://gitlab.com/hedho/KISSmo]] - official repository maintaned by the developer monaco.%0a\ No newline at end of file%0a +host:1634550831=185.173.204.99 blob - /dev/null blob + 0e2a531c5bb1b4237e078bb60ca28aecf05321af (mode 644) --- /dev/null +++ wiki.d/KISSmo.Install @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.83 Safari/537.36 +author=monaco +charset=UTF-8 +csum= +ctime=1634550056 +host=185.173.204.99 +name=KISSmo.Install +rev=5 +targets= +text=!! How to install KISSmo follow this simple steps:%0a%0a%0aGo to the desired directory with commands as follow:%0a%0a'''cd /var/www/websiteyouwant''' - This can be any location you put you're web.%0a%0a'''wget [[https://gitlab.com/hedho/KISSmo/-/archive/main/KISSmo-main.zip]]'''%0a%0aThen unzip:%0a%0a'''unzip KISSmo-main.zip'''%0a%0aEdit index.php:%0a%0aReplace line '''7''' where you will find:%0a%0a'''$ncsite="paste.oddprotocol.org 7777";'''%0a%0aEdit it to:%0a%0a$ncsite="yourweb.tld 7777";%0a%0aReplace line '''60''' where you will find:%0a%0a'''$sitename = "https://paste.oddprotocol.org/p";'''%0a%0aEdit it to:%0a%0a'''$sitename = "https://youreweb.tld/p";'''%0a%0aIf you're using '''OpenHTTPD''' you will need to add this to '''/etc/httpd.conf''':%0a%0aUnder you're specific site that you're looking to run KISSmo add this:%0a%0a location "/test/p/*" { %0a directory { auto index, index "index.txt" }%0a }%0a%0aIf you're using '''Nginx''' you will need to add this to /etc/nginx.conf or if you're running specific nginx conf for a specific site you know where it is:%0a%0a location /p/ {%0a alias /home/admin/web/paste.oddprotocol.org/public_html/p/;%0a index index.txt;%0a autoindex on;%0a}%0a%0a%0aRunning KISSmo actually:%0a%0a[[https://paste.oddprotocol.org]]%0a%0aAbout KISSmo: [[https://paste.oddprotocol.org/about.html]] +time=1634550256 +author:1634550256=monaco +diff:1634550256:1634550176:=46,53c46%0a%3c }%0a%3c %0a%3c %0a%3c Running KISSmo actually:%0a%3c %0a%3c [[https://paste.oddprotocol.org]]%0a%3c %0a%3c About KISSmo: [[https://paste.oddprotocol.org/about.html]]%0a\ No newline at end of file%0a---%0a> }%0a\ No newline at end of file%0a +host:1634550256=185.173.204.99 +author:1634550176=monaco +diff:1634550176:1634550129:=19d18%0a%3c %0a21d19%0a%3c %0a27d24%0a%3c %0a29d25%0a%3c %0a +host:1634550176=185.173.204.99 +author:1634550129=monaco +diff:1634550129:1634550085:=7d6%0a%3c %0a +host:1634550129=185.173.204.99 +author:1634550085=monaco +diff:1634550085:1634550056:=0a1%0a> %0a31c32%0a%3c location "/test/p/*" { %0a---%0a> ''' location "/test/p/*" { %0a33,34c34,35%0a%3c }%0a%3c %0a---%0a> }'''%0a> %0a37c38%0a%3c location /p/ {%0a---%0a> ''' location /p/ {%0a41c42%0a%3c }%0a\ No newline at end of file%0a---%0a> }'''%0a\ No newline at end of file%0a +host:1634550085=185.173.204.99 +author:1634550056=monaco +diff:1634550056:1634550056:=1,42d0%0a%3c %0a%3c !! How to install KISSmo follow this simple steps:%0a%3c %0a%3c %0a%3c Go to the desired directory with commands as follow:%0a%3c %0a%3c '''cd /var/www/websiteyouwant''' - This can be any location you put you're web.%0a%3c '''wget [[https://gitlab.com/hedho/KISSmo/-/archive/main/KISSmo-main.zip]]'''%0a%3c %0a%3c Then unzip:%0a%3c %0a%3c '''unzip KISSmo-main.zip'''%0a%3c %0a%3c Edit index.php:%0a%3c %0a%3c Replace line '''7''' where you will find:%0a%3c %0a%3c '''$ncsite="paste.oddprotocol.org 7777";'''%0a%3c Edit it to:%0a%3c $ncsite="yourweb.tld 7777";%0a%3c %0a%3c Replace line '''60''' where you will find:%0a%3c %0a%3c '''$sitename = "https://paste.oddprotocol.org/p";'''%0a%3c Edit it to:%0a%3c '''$sitename = "https://youreweb.tld/p";'''%0a%3c %0a%3c If you're using '''OpenHTTPD''' you will need to add this to '''/etc/httpd.conf''':%0a%3c %0a%3c Under you're specific site that you're looking to run KISSmo add this:%0a%3c %0a%3c ''' location "/test/p/*" { %0a%3c directory { auto index, index "index.txt" }%0a%3c }'''%0a%3c %0a%3c If you're using '''Nginx''' you will need to add this to /etc/nginx.conf or if you're running specific nginx conf for a specific site you know where it is:%0a%3c %0a%3c ''' location /p/ {%0a%3c alias /home/admin/web/paste.oddprotocol.org/public_html/p/;%0a%3c index index.txt;%0a%3c autoindex on;%0a%3c }'''%0a\ No newline at end of file%0a +host:1634550056=185.173.204.99 blob - /dev/null blob + 76e891569cf9b8660253400c22dee0db484ede9b (mode 644) --- /dev/null +++ wiki.d/KISSmo.KISSmo @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.83 Safari/537.36 +author=monaco +charset=UTF-8 +csum= +ctime=1634550973 +host=185.173.204.99 +name=KISSmo.KISSmo +rev=2 +targets=KISSmo.About,KISSmo.Install,KISSmo.Download,KISSmo.KISSmo +text=!! KISSmo 1.0%0a%0aReleased May 17, 2021. (1st KISSmo release)%0aCopyright 2021, init a.k.a monaco.%0aTo download KISSmo source visit our gitlab repositories Click here! .%0aKeep it simple stupid (KISSmo paste).%0aKISSmo requires no database of anykind it is based on a flatfile paste system.%0a%0a%0a* [[KISSmo/About|About KISSmo]]%0a* [[KISSmo/Install|Install KISSmo]]%0a* [[KISSmo.Download|Download KISSmo]]%0a* [[KISSmo/KISSmo|KISSmo Wiki Home Page]]%0a%0a +time=1634551108 +author:1634551108=monaco +diff:1634551108:1634550973:=0a1%0a> %0a10,13c11,13%0a%3c * [[KISSmo/About|About KISSmo]]%0a%3c * [[KISSmo/Install|Install KISSmo]]%0a%3c * [[KISSmo.Download|Download KISSmo]]%0a%3c * [[KISSmo/KISSmo|KISSmo Wiki Home Page]]%0a---%0a> * [[kissmo/about|About KISSmo]]%0a> * [[kissmo/install|Install KISSmo]]%0a> * [[kissmo/kissmo|Liberty Shells]]%0a +host:1634551108=185.173.204.99 +author:1634550973=monaco +diff:1634550973:1634550973:=1,14d0%0a%3c %0a%3c !! KISSmo 1.0%0a%3c %0a%3c Released May 17, 2021. (1st KISSmo release)%0a%3c Copyright 2021, init a.k.a monaco.%0a%3c To download KISSmo source visit our gitlab repositories Click here! .%0a%3c Keep it simple stupid (KISSmo paste).%0a%3c KISSmo requires no database of anykind it is based on a flatfile paste system.%0a%3c %0a%3c %0a%3c * [[kissmo/about|About KISSmo]]%0a%3c * [[kissmo/install|Install KISSmo]]%0a%3c * [[kissmo/kissmo|Liberty Shells]]%0a%3c %0a +host:1634550973=185.173.204.99 blob - /dev/null blob + 3c49122f68c79dea37ac1a3c225c56fb5760302e (mode 644) --- /dev/null +++ wiki.d/KISSmo.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.83 Safari/537.36 +charset=UTF-8 +ctime=1634550056 +host=185.173.204.99 +name=KISSmo.RecentChanges +rev=9 +text=* [[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 +time=1634551108 blob - /dev/null blob + 95ff1912bf253522180408ec7766cd4b92bc2b73 (mode 644) --- /dev/null +++ wiki.d/Kill.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627443746 +host=38.87.162.8 +name=Kill.RecentChanges +rev=1 +text=* [[Kill/Usage]] . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a +time=1627443746 blob - /dev/null blob + 3482b4f64f370fbf076625054dfeaf0ab349c3df (mode 644) --- /dev/null +++ wiki.d/Kill.Usage @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627443746 +host=38.87.162.8 +name=Kill.Usage +rev=1 +targets= +text= +time=1627443746 +author:1627443746=jrmu +diff:1627443746:1627443746:= +host:1627443746=38.87.162.8 blob - /dev/null blob + f33f67d27c6c21051e85576222a9237a5e12ee82 (mode 644) --- /dev/null +++ wiki.d/Ksh.Bash @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1623238281 +host=125.231.25.80 +name=Ksh.Bash +rev=1 +targets= +text=(:title ksh for bash users:)%0a%0a!! What are my options?%0a%0aYou can switch to BASH if you are very familiar with BASH, however it is '''recommended''' to stick with KSH as KSH is more POSIX compliant.%0a%0aThat said, you '''can''' also make KSH behave more like BASH, which is more preferable than switching over to BASH.%0a%0a!! I want to switch to bash%0a%0aIf you prefer bash,%0a%0a[@%0a$ chsh -s /usr/local/bin/bash username%0a@]%0a%0aReplace @@username@@ with your real username.%0a%0aLog out and log back in to make your default shell bash.%0a%0a!! How can I make ksh behave like bash?%0a%0aEdit your ~/.profile to declare the HOSTNAME variable, as the actual hostname is stored within /etc/myname. Then, you want to make sure that your ~/.profile reads its environment from your ~/.kshrc. So your ~/.profile should look something like this,%0a%0a[@%0a# $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $%0a#%0a# sh/ksh initialization%0a%0aPATH=$HOME/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/games%0aexport PATH HOME TERM%0a%0aHOSTNAME="$(cat /etc/myname)"%0aENV="$HOME/.kshrc"; export ENV%0a@]%0a%0aOnce you have that down, it is now time to edit your ~/.kshrc file.%0a%0a[@%0afunction _cd {%0a \cd "$@"%0a PS1=$(%0a print -n "$LOGNAME@$HOSTNAME:"%0a if [[ "${PWD#$HOME}" != "$PWD" ]]; then%0a print -n "~${PWD#$HOME}"%0a else%0a print -n "$PWD"%0a fi%0a print "$ "%0a )%0a}%0a%0aalias cd=_cd%0a%0acd "$PWD"%0a@]%0a%0a[[https://stackoverflow.com/questions/1171663/how-to-custom-display-prompt-in-kornshell-to-show-hostname-and-current-directory/8468165#8468165|Source: Stack Overflow]]%0a%0a!! Implement command history%0a%0a"For the arrow keys, you can put this into your the .kshrc file [(pdksh and mksh both use .mkshrc, not .kshrc)] in your home directory:%0a%0a[@%0aset -o emacs%0aalias __A=`echo "\020"` # up arrow = ^p = back a command%0aalias __B=`echo "\016"` # down arrow = ^n = down a command%0aalias __C=`echo "\006"` # right arrow = ^f = forward a character%0aalias __D=`echo "\002"` # left arrow = ^b = back a character%0aalias __H=`echo "\001"` # home = ^a = start of line%0aalias __Y=`echo "\005"` # end = ^e = end of line%0a@]%0a%0a[[https://unix.stackexchange.com/a/388258|Source: Stack Exchange]]%0a%0a!! How do I change my password?%0a%0a[@%0a$ passwd%0aChanging password for $user%0aOld password:%0aNew password:%0aRetype new password:%0a$%0a@] +time=1623238281 +title=ksh for bash users +author:1623238281=jrmu +diff:1623238281:1623238281:=1,85d0%0a%3c (:title ksh for bash users:)%0a%3c %0a%3c !! What are my options?%0a%3c %0a%3c You can switch to BASH if you are very familiar with BASH, however it is '''recommended''' to stick with KSH as KSH is more POSIX compliant.%0a%3c %0a%3c That said, you '''can''' also make KSH behave more like BASH, which is more preferable than switching over to BASH.%0a%3c %0a%3c !! I want to switch to bash%0a%3c %0a%3c If you prefer bash,%0a%3c %0a%3c [@%0a%3c $ chsh -s /usr/local/bin/bash username%0a%3c @]%0a%3c %0a%3c Replace @@username@@ with your real username.%0a%3c %0a%3c Log out and log back in to make your default shell bash.%0a%3c %0a%3c !! How can I make ksh behave like bash?%0a%3c %0a%3c Edit your ~/.profile to declare the HOSTNAME variable, as the actual hostname is stored within /etc/myname. Then, you want to make sure that your ~/.profile reads its environment from your ~/.kshrc. So your ~/.profile should look something like this,%0a%3c %0a%3c [@%0a%3c # $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $%0a%3c #%0a%3c # sh/ksh initialization%0a%3c %0a%3c PATH=$HOME/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/games%0a%3c export PATH HOME TERM%0a%3c %0a%3c HOSTNAME="$(cat /etc/myname)"%0a%3c ENV="$HOME/.kshrc"; export ENV%0a%3c @]%0a%3c %0a%3c Once you have that down, it is now time to edit your ~/.kshrc file.%0a%3c %0a%3c [@%0a%3c function _cd {%0a%3c \cd "$@"%0a%3c PS1=$(%0a%3c print -n "$LOGNAME@$HOSTNAME:"%0a%3c if [[ "${PWD#$HOME}" != "$PWD" ]]; then%0a%3c print -n "~${PWD#$HOME}"%0a%3c else%0a%3c print -n "$PWD"%0a%3c fi%0a%3c print "$ "%0a%3c )%0a%3c }%0a%3c %0a%3c alias cd=_cd%0a%3c %0a%3c cd "$PWD"%0a%3c @]%0a%3c %0a%3c [[https://stackoverflow.com/questions/1171663/how-to-custom-display-prompt-in-kornshell-to-show-hostname-and-current-directory/8468165#8468165|Source: Stack Overflow]]%0a%3c %0a%3c !! Implement command history%0a%3c %0a%3c "For the arrow keys, you can put this into your the .kshrc file [(pdksh and mksh both use .mkshrc, not .kshrc)] in your home directory:%0a%3c %0a%3c [@%0a%3c set -o emacs%0a%3c alias __A=`echo "\020"` # up arrow = ^p = back a command%0a%3c alias __B=`echo "\016"` # down arrow = ^n = down a command%0a%3c alias __C=`echo "\006"` # right arrow = ^f = forward a character%0a%3c alias __D=`echo "\002"` # left arrow = ^b = back a character%0a%3c alias __H=`echo "\001"` # home = ^a = start of line%0a%3c alias __Y=`echo "\005"` # end = ^e = end of line%0a%3c @]%0a%3c %0a%3c [[https://unix.stackexchange.com/a/388258|Source: Stack Exchange]]%0a%3c %0a%3c !! How do I change my password?%0a%3c %0a%3c [@%0a%3c $ passwd%0a%3c Changing password for $user%0a%3c Old password:%0a%3c New password:%0a%3c Retype new password:%0a%3c $%0a%3c @]%0a\ No newline at end of file%0a +host:1623238281=125.231.25.80 blob - /dev/null blob + bbf869eae23d5ea62f5ec292733631a063d56036 (mode 644) --- /dev/null +++ wiki.d/Ksh.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1623238281 +host=198.251.81.119 +name=Ksh.RecentChanges +rev=2 +text=* [[Ksh/Redirection]] . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a* [[Ksh/Bash]] . . . June 09, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a +time=1629690651 blob - /dev/null blob + 0e37001ca86351de4350b3c52262afa49910a539 (mode 644) --- /dev/null +++ wiki.d/Ksh.Redirection @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1629690651 +host=198.251.81.119 +name=Ksh.Redirection +rev=1 +targets= +text='''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info. +time=1629690651 +author:1629690651=jrmu +diff:1629690651:1629690651:=1d0%0a%3c '''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info.%0a\ No newline at end of file%0a +host:1629690651=198.251.81.119 blob - /dev/null blob + 99ccc34ce13808574809704e5cabfe6127c7e746 (mode 644) --- /dev/null +++ wiki.d/Leafnode.Install @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614250582 +host=198.251.81.119 +name=Leafnode.Install +rev=1 +targets= +text=(:title Leafnode:)%0a%0aLeafnode is a simple to install and easy to maintain newsserver.%0a%0a[@%0a%0aAttention! do not:%0a%0a$ doas pkg_add leafnode%0a%0a%0a%0aYou have to install leafnode from source, because the package came with openbsd is too old.%0a%0aFirst go with your Browser to: https://leafnode.sourceforge.io/download.shtml%0a%0athen scroll down and select leafnode-2.0.0.alpha20081229a.tar.bz2 to open up in a new tab. Then copy the domain in this tab and go back to bsd.%0a%0aDownload from source:%0a%0a $ wget krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta/leafnode-2.0.0.alpha20081229a.tar.bz2%0a%0abzip2 extract the dir:%0a%0a $ bzip2 -d leafnode-2.0.0.alpha20081229a.tar.bz2%0a%0atar the new file:%0a%0a $ tar -xf leafnode-2.0.0.alpha20081229a.tar%0a%0aGo to the folder:%0a%0a $ cd leafnode-2.0.0.alpha20081229a%0a%0aFinally install the program:%0a%0a $ doas ./configure%0a%0a $ doas make%0a%0a $ doas make install%0a%0aCreate a usergroup (as many as you nees):%0a%0a $ touch /etc/leafnode/local.groups%0a%0a $ doas nano /etc/leafnode/local.groups%0a%0aHere is an example what to put in this file:%0a%0a IRCNow.Group y description%0a %0a IRCNow.Group 2 y description%0a%0aPlease dont use spaces between these elements, use tabs.%0a%0aThen Exit and save the file.%0a%0aAdd package "lynx":%0a%0a $ doas pkg_add lynx%0a%0aYou also have to add inetd, if you havent it already:%0a%0a $ doas pkg_add inetd%0a%0aThen you have to edit inetd;%0a%0a $ doas nano /etc/inetd.conf%0a%0ain this file you have to put following and delete everything else in the file:%0a%0anntp stream tcp nowait news /usr/local/sbin/leafnode%0a%0aMake sure you use tab instead of spaces, otherwise it will go into Errors.%0a%0aIf youre done then restart indetd:%0a%0a $ doas rcctl restart inedtd%0a%0aNow you should be able to start the server:%0a%0a $ lynx news://example.ircnow.org (replace example with your server)%0a%0aYou should see now the 2 groups you added in the local.groups file and are now able to add/read new posts.%0a@] +time=1614250582 +title=Leafnode +author:1614250582=jrmu +diff:1614250582:1614250582:=1,86d0%0a%3c (:title Leafnode:)%0a%3c %0a%3c Leafnode is a simple to install and easy to maintain newsserver.%0a%3c %0a%3c [@%0a%3c %0a%3c Attention! do not:%0a%3c %0a%3c $ doas pkg_add leafnode%0a%3c %0a%3c %0a%3c %0a%3c You have to install leafnode from source, because the package came with openbsd is too old.%0a%3c %0a%3c First go with your Browser to: https://leafnode.sourceforge.io/download.shtml%0a%3c %0a%3c then scroll down and select leafnode-2.0.0.alpha20081229a.tar.bz2 to open up in a new tab. Then copy the domain in this tab and go back to bsd.%0a%3c %0a%3c Download from source:%0a%3c %0a%3c $ wget krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta/leafnode-2.0.0.alpha20081229a.tar.bz2%0a%3c %0a%3c bzip2 extract the dir:%0a%3c %0a%3c $ bzip2 -d leafnode-2.0.0.alpha20081229a.tar.bz2%0a%3c %0a%3c tar the new file:%0a%3c %0a%3c $ tar -xf leafnode-2.0.0.alpha20081229a.tar%0a%3c %0a%3c Go to the folder:%0a%3c %0a%3c $ cd leafnode-2.0.0.alpha20081229a%0a%3c %0a%3c Finally install the program:%0a%3c %0a%3c $ doas ./configure%0a%3c %0a%3c $ doas make%0a%3c %0a%3c $ doas make install%0a%3c %0a%3c Create a usergroup (as many as you nees):%0a%3c %0a%3c $ touch /etc/leafnode/local.groups%0a%3c %0a%3c $ doas nano /etc/leafnode/local.groups%0a%3c %0a%3c Here is an example what to put in this file:%0a%3c %0a%3c IRCNow.Group y description%0a%3c %0a%3c IRCNow.Group 2 y description%0a%3c %0a%3c Please dont use spaces between these elements, use tabs.%0a%3c %0a%3c Then Exit and save the file.%0a%3c %0a%3c Add package "lynx":%0a%3c %0a%3c $ doas pkg_add lynx%0a%3c %0a%3c You also have to add inetd, if you havent it already:%0a%3c %0a%3c $ doas pkg_add inetd%0a%3c %0a%3c Then you have to edit inetd;%0a%3c %0a%3c $ doas nano /etc/inetd.conf%0a%3c %0a%3c in this file you have to put following and delete everything else in the file:%0a%3c %0a%3c nntp stream tcp nowait news /usr/local/sbin/leafnode%0a%3c %0a%3c Make sure you use tab instead of spaces, otherwise it will go into Errors.%0a%3c %0a%3c If youre done then restart indetd:%0a%3c %0a%3c $ doas rcctl restart inedtd%0a%3c %0a%3c Now you should be able to start the server:%0a%3c %0a%3c $ lynx news://example.ircnow.org (replace example with your server)%0a%3c %0a%3c You should see now the 2 groups you added in the local.groups file and are now able to add/read new posts.%0a%3c @]%0a\ No newline at end of file%0a +host:1614250582=198.251.81.119 blob - /dev/null blob + bb3467b5f2adab3de9949c6aa69ac51256d08904 (mode 644) --- /dev/null +++ wiki.d/Leafnode.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614250582 +host=198.251.81.119 +name=Leafnode.RecentChanges +rev=1 +text=* [[Leafnode/Install]] . . . February 25, 2021, at 10:56 AM by [[~jrmu]]: [==]%0a +time=1614250582 blob - /dev/null blob + e8f4c2cee24bf50e35d119982fa7e84cb8ad5413 (mode 644) --- /dev/null +++ wiki.d/Lecturify.Hardware @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627824404 +host=38.87.162.8 +name=Lecturify.Hardware +rev=2 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627824431 +author:1627824431=jrmu +diff:1627824431:1627824404:=3d2%0a%3c [@%0a21d19%0a%3c @]%0a +host:1627824431=38.87.162.8 +author:1627824404=jrmu +diff:1627824404:1627824404:=1,19d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a +host:1627824404=38.87.162.8 blob - /dev/null blob + 5c7bd88a04f93244ca2ce9cfc135ddf5fd1814db (mode 644) --- /dev/null +++ wiki.d/Lecturify.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627824404 +host=38.87.162.8 +name=Lecturify.RecentChanges +rev=2 +text=* [[Lecturify/Hardware]] . . . August 01, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a +time=1627824431 blob - /dev/null blob + 2b6dfc6276539bfb837817da90e6cf6bed9900b2 (mode 644) --- /dev/null +++ wiki.d/Lemon.Lemon @@ -0,0 +1,87 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4300.0 Iron Safari/537.36 +author=nix +charset=UTF-8 +csum= +ctime=1597147165 +host=49.145.199.81 +name=Lemon.Lemon +rev=25 +targets=Lemon.Todo +text=IRCNow Lemon is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aCome and learn how services work and have fun with us, guided in real time, effectively!%0a%0a'''Available services at IRCNow Lemon:'''%0a%0aIRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at '''irc.lemon.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%0aIRCNow Lemon IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. %0aRemember that our bouncer service is totally free!%0a%0aProvided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%0aWant to donate?%0a%0aWe appreciate your willingness to support us. You can donate to Lemon [[https://donorbox.org/ircnow-lemon-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a%0aDonate thru Crypto Wallet%0a »» Bitcoin: 1JaY2v7RnfnDqMTTF6iqk1KcsRsFRr1Uoh%0a »» Etherium: 0x7303a746e98626e7c82b133625eca7a4aff8fb8b%0a%0aLanguages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, dennis, Quo-fan, Oz and Chewbakka85'''. Our Logo:%0a %0a %0a ωєℓ¢σмє тσ ιя¢.ℓємση.ιя¢ησω.σяg%0a %0a `` %0a `://- ```` %0a ./////:` `.--:::::::---..``` %0a `://///:` `-::::::::::::::::::::--------.` %0a `-////:` .-:::::::::::::::::::::::::::-.` %0a .:///: `-::::-----------::::::::::::.` %0a `:///. .::-.```..-------::::::::::-.` %0a `://: --```.-:::::::::::::::::::-` %0a .///``` .------::::::::::::::-` %0a `````.---.````` ``..---::--.`` %0a ``....-...........--....` %0a `..-.....``````````````....-..`` %0a `..-...```````.........````````.....`` %0a `.-...````````.--------....`````````.....` %0a `.-..````....```.--------..-.```....`````.-.. %0a .--.```..---...```.--..---..-```.-..---.```..-.` %0a `.-..```.-----.`..` `--..---.-.``.-.`.-----.```.--. %0a `.-.` `.--------....``.--.----.``.--..-------.```.--. %0a `.-.` ``.----------...``.-.--.-.`.-------...---````.--. %0a .--``````..---....----.``-...`.`.------.......``````.--` %0a `...``````````......-....`.....`....---....```````````--. %0a ..-```..-....`````...-....`...``....-...````....--.```.--` %0a `--.` .----........````.....````....````..........--.```--. %0a `--.``.-----.....--.....```````````....---.......----` `--. %0a `--.``-----------.........```````.........-----------.``--. %0a `--.``.--------.......```..`````...```....-----------```--. %0a .--```.-----....````......``..`.......````......---.``.--` %0a .--.```...```````........``.`..`..`.--....``````..````.--` %0a `.-.````````........-....`..`.-.`...--........```````.--. %0a `--.````...-.```.-----.`.-...-.``.----....---..`````.-. %0a .--.```.---....-..--.``----..-.``.--.--.------````.-.` %0a .--.` `.------...-.``.----.`.-.``.-...-----..``..-.` %0a `.-.```..---.`.-.``.--..-.`.-.` `.-...--..```.--.` %0a `.--.```.....-.```.-.`.--..--.```.--...```..-.` %0a `.-..``````````.--.`.-------``````````..-..` %0a `..-..````````....----....```````...-..` %0a `...-...````````````````````...-..` %0a ``...-........`........-....` %0a ``.................``` %0a ` ```````````%0a[[lemon/todo|Todo list]] +time=1612094532 +author:1612094532=nix +diff:1612094532:1611829409:=19a20%0a> »» Monero: 42APnWbo6N5BmaDMhPeD7zSRCfjekt6BgMK5JDfyPA9RLKE71zjkC772hgr2ARWt4TSjSnmDEE4TbZwMc7xJ67df4vyut6V%0a +host:1612094532=49.145.199.81 +author:1611829409=nix +diff:1611829409:1611762371:=17,21d16%0a%3c %0a%3c Donate thru Crypto Wallet%0a%3c »» Bitcoin: 1JaY2v7RnfnDqMTTF6iqk1KcsRsFRr1Uoh%0a%3c »» Monero: 42APnWbo6N5BmaDMhPeD7zSRCfjekt6BgMK5JDfyPA9RLKE71zjkC772hgr2ARWt4TSjSnmDEE4TbZwMc7xJ67df4vyut6V%0a%3c »» Etherium: 0x7303a746e98626e7c82b133625eca7a4aff8fb8b%0a +host:1611829409=49.145.201.100 +author:1611762371=dennis +diff:1611762371:1611762342:= +host:1611762371=31.21.104.59 +author:1611762342=dennis +diff:1611762342:1611759702:=18c18%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, dennis, Quo-fan, Oz and Chewbakka85'''. Our Logo:%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''ηιχ, ѕєяgισ, ιя¢υѕєя, ∂єηηιѕ, вαутυ¢н αη∂ σz'''. Our Logo:%0a +host:1611762342=31.21.104.59 +author:1611759702=nix +diff:1611759702:1609683826:=13,16d12%0a%3c %0a%3c Want to donate?%0a%3c %0a%3c We appreciate your willingness to support us. You can donate to Lemon [[https://donorbox.org/ircnow-lemon-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a +host:1611759702=49.145.199.81 +author:1609683826=jrmu +diff:1609683826:1597494143:=58,59c58%0a%3c ` ```````````%0a%3c [[lemon/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> ` ```````````%0a\ No newline at end of file%0a +host:1609683826=125.231.63.134 +author:1597494143=nix +diff:1597494143:1597493982:=14c14%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''ηιχ, ѕєяgισ, ιя¢υѕєя, ∂єηηιѕ, вαутυ¢н αη∂ σz'''. Our Logo:%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''. Our Logo:%0a17c17%0a%3c ωєℓ¢σмє тσ ιя¢.ℓємση.ιя¢ησω.σяg%0a---%0a> w乇レמoᄊ乇 イo ノ尺מ.レ乇ᄊo刀.ノ尺מ刀ow.o尺g %0a +host:1597494143=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597493982=nix +diff:1597493982:1597493837:=16,18c16,21%0a%3c %0a%3c w乇レמoᄊ乇 イo ノ尺מ.レ乇ᄊo刀.ノ尺מ刀ow.o尺g %0a%3c %0a---%0a> █░█░█ █▀▀ █░░ █▀▀ █▀█ █▀▄▀█ █▀▀   ▀█▀ █▀█  %0a> ▀▄▀▄▀ ██▄ █▄▄ █▄▄ █▄█ █░▀░█ ██▄   ░█░ █▄█  %0a> %0a> █ █▀█ █▀▀ ░ █░░ █▀▀ █▀▄▀█ █▀█ █▄░█ ░ █ █▀█ █▀▀ █▄░█ █▀█ █░█░█ ░ █▀█ █▀█ █▀▀%0a> █ █▀▄ █▄▄ ▄ █▄▄ ██▄ █░▀░█ █▄█ █░▀█ ▄ █ █▀▄ █▄▄ █░▀█ █▄█ ▀▄▀▄▀ ▄ █▄█ █▀▄ █▄█ %0a> %0a +host:1597493982=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597493837=nix +diff:1597493837:1597493785:=16,20c16,18%0a%3c █░█░█ █▀▀ █░░ █▀▀ █▀█ █▀▄▀█ █▀▀   ▀█▀ █▀█  %0a%3c ▀▄▀▄▀ ██▄ █▄▄ █▄▄ █▄█ █░▀░█ ██▄   ░█░ █▄█  %0a%3c %0a%3c █ █▀█ █▀▀ ░ █░░ █▀▀ █▀▄▀█ █▀█ █▄░█ ░ █ █▀█ █▀▀ █▄░█ █▀█ █░█░█ ░ █▀█ █▀█ █▀▀%0a%3c █ █▀▄ █▄▄ ▄ █▄▄ ██▄ █░▀░█ █▄█ █░▀█ ▄ █ █▀▄ █▄▄ █░▀█ █▄█ ▀▄▀▄▀ ▄ █▄█ █▀▄ █▄█ %0a---%0a> %0a> █░█░█ █▀▀ █░░ █▀▀ █▀█ █▀▄▀█ █▀▀   ▀█▀ █▀█   █ █▀█ █▀▀ ░ █░░ █▀▀ █▀▄▀█ █▀█ █▄░█ ░ █ █▀█ █▀▀ █▄░█ █▀█ █░█░█ ░ █▀█ █▀█ █▀▀%0a> ▀▄▀▄▀ ██▄ █▄▄ █▄▄ █▄█ █░▀░█ ██▄   ░█░ █▄█   █ █▀▄ █▄▄ ▄ █▄▄ ██▄ █░▀░█ █▄█ █░▀█ ▄ █ █▀▄ █▄▄ █░▀█ █▄█ ▀▄▀▄▀ ▄ █▄█ █▀▄ █▄█ %0a +host:1597493837=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597493785=nix +diff:1597493785:1597493461:=16,59c16,56%0a%3c %0a%3c █░█░█ █▀▀ █░░ █▀▀ █▀█ █▀▄▀█ █▀▀   ▀█▀ █▀█   █ █▀█ █▀▀ ░ █░░ █▀▀ █▀▄▀█ █▀█ █▄░█ ░ █ █▀█ █▀▀ █▄░█ █▀█ █░█░█ ░ █▀█ █▀█ █▀▀%0a%3c ▀▄▀▄▀ ██▄ █▄▄ █▄▄ █▄█ █░▀░█ ██▄   ░█░ █▄█   █ █▀▄ █▄▄ ▄ █▄▄ ██▄ █░▀░█ █▄█ █░▀█ ▄ █ █▀▄ █▄▄ █░▀█ █▄█ ▀▄▀▄▀ ▄ █▄█ █▀▄ █▄█ %0a%3c %0a%3c `` %0a%3c `://- ```` %0a%3c ./////:` `.--:::::::---..``` %0a%3c `://///:` `-::::::::::::::::::::--------.` %0a%3c `-////:` .-:::::::::::::::::::::::::::-.` %0a%3c .:///: `-::::-----------::::::::::::.` %0a%3c `:///. .::-.```..-------::::::::::-.` %0a%3c `://: --```.-:::::::::::::::::::-` %0a%3c .///``` .------::::::::::::::-` %0a%3c `````.---.````` ``..---::--.`` %0a%3c ``....-...........--....` %0a%3c `..-.....``````````````....-..`` %0a%3c `..-...```````.........````````.....`` %0a%3c `.-...````````.--------....`````````.....` %0a%3c `.-..````....```.--------..-.```....`````.-.. %0a%3c .--.```..---...```.--..---..-```.-..---.```..-.` %0a%3c `.-..```.-----.`..` `--..---.-.``.-.`.-----.```.--. %0a%3c `.-.` `.--------....``.--.----.``.--..-------.```.--. %0a%3c `.-.` ``.----------...``.-.--.-.`.-------...---````.--. %0a%3c .--``````..---....----.``-...`.`.------.......``````.--` %0a%3c `...``````````......-....`.....`....---....```````````--. %0a%3c ..-```..-....`````...-....`...``....-...````....--.```.--` %0a%3c `--.` .----........````.....````....````..........--.```--. %0a%3c `--.``.-----.....--.....```````````....---.......----` `--. %0a%3c `--.``-----------.........```````.........-----------.``--. %0a%3c `--.``.--------.......```..`````...```....-----------```--. %0a%3c .--```.-----....````......``..`.......````......---.``.--` %0a%3c .--.```...```````........``.`..`..`.--....``````..````.--` %0a%3c `.-.````````........-....`..`.-.`...--........```````.--. %0a%3c `--.````...-.```.-----.`.-...-.``.----....---..`````.-. %0a%3c .--.```.---....-..--.``----..-.``.--.--.------````.-.` %0a%3c .--.` `.------...-.``.----.`.-.``.-...-----..``..-.` %0a%3c `.-.```..---.`.-.``.--..-.`.-.` `.-...--..```.--.` %0a%3c `.--.```.....-.```.-.`.--..--.```.--...```..-.` %0a%3c `.-..``````````.--.`.-------``````````..-..` %0a%3c `..-..````````....----....```````...-..` %0a%3c `...-...````````````````````...-..` %0a%3c ``...-........`........-....` %0a%3c ``.................``` %0a%3c ` ``````````` %0a\ No newline at end of file%0a---%0a> Welcome to irc.lemon.ircnow.org%0a> %0a> `.-:///+///:-.` %0a> `-/+++++++++++++++/:.` ..` %0a> .:+++++++++++++++++++++/:. `... %0a> `:+++++++//::----.......--::/-` ...` %0a> -/+++++++++///////////////::--.. `.. %0a> ./++++++++++++++++++++++++++++++/-`.. %0a> `-:/++++++++++++++++++++++++/:` ..` %0a> `-://++++++++++++++++/:-`````` %0a> ``.--:::///:::-.............` %0a> `............... %0a> `.................. %0a> ``...................... %0a> ``.........................` %0a> `.............................` %0a> `................................. %0a> ....................................` %0a> `....` `............................` %0a> `...` `..............................` %0a> ...` `................................ %0a> ...` ..........................`````````` %0a> `...` .......................```..`` ````````` %0a> .....`` `.......................` ..` ```.....`.````` %0a> ................................ `... ..............` ``` %0a> ..... `..................... `...` ..............`.```` %0a> ....` `....................` ....` `..................``` %0a> ......``...................... ...... ....................```` %0a> .............................``......`...........``........` `` %0a> `............................``....... `.......`.` ........`` `` %0a> `........................... ......... ``........``.........` .` %0a> ........................... .......... ....................` . %0a> .......................... ...........``.................... .` %0a> `........................ ............` `.................` `. %0a> ....................... ..............` `.`............` .` %0a> `..................... ................` `...........` `. %0a> ................... `..................``````` ```` .. %0a> `.................``........................````...` %0a> ```````........................................................` %0a> ````..............................................................................```` %0a> ```````````````````````````` ```````` `` ``` ``````` ``````````````````````````````%0a\ No newline at end of file%0a +host:1597493785=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597493461=nix +diff:1597493461:1597493403:=14c14%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''. Our Logo:%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''.%0a16c16,27%0a%3c Welcome to irc.lemon.ircnow.org%0a---%0a> __ __ .__ __ %0a> / \ / \ ____ | | ____ ____ _____ ____ _/ |_ ____ %0a> \ \/\/ // __ \| | _/ ___\/ _ \ / \_/ __ \ \ __\/ _ \ %0a> \ /\ ___/| |_\ \__( %3c_> ) Y Y \ ___/ | | ( %3c_> ) %0a> \__/\ / \___ >____/\___ >____/|__|_| /\___ > |__| \____/ %0a> \/ \/ \/ \/ \/ %0a> .__ .__ .__ %0a> |__|______ ____ | | ____ _____ ____ ____ |__|______ ____ ____ ______ _ __ ___________ ____ %0a> | \_ __ \_/ ___\ | | _/ __ \ / \ / _ \ / \ | \_ __ \_/ ___\ / \ / _ \ \/ \/ / / _ \_ __ \/ ___\ %0a> | || | \/\ \___ | |_\ ___/| Y Y ( %3c_> ) | \ | || | \/\ \___| | ( %3c_> ) / ( %3c_> ) | \/ /_/ >%0a> |__||__| \___ > /\ |____/\___ >__|_| /\____/|___| / /\ |__||__| \___ >___| /\____/ \/\_/ /\ \____/|__| \___ / %0a> \/ \/ \/ \/ \/ \/ \/ \/ \/ /_____/ %0a +host:1597493461=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597493403=nix +diff:1597493403:1597149333:=14,67c14%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''.%0a%3c %0a%3c __ __ .__ __ %0a%3c / \ / \ ____ | | ____ ____ _____ ____ _/ |_ ____ %0a%3c \ \/\/ // __ \| | _/ ___\/ _ \ / \_/ __ \ \ __\/ _ \ %0a%3c \ /\ ___/| |_\ \__( %3c_> ) Y Y \ ___/ | | ( %3c_> ) %0a%3c \__/\ / \___ >____/\___ >____/|__|_| /\___ > |__| \____/ %0a%3c \/ \/ \/ \/ \/ %0a%3c .__ .__ .__ %0a%3c |__|______ ____ | | ____ _____ ____ ____ |__|______ ____ ____ ______ _ __ ___________ ____ %0a%3c | \_ __ \_/ ___\ | | _/ __ \ / \ / _ \ / \ | \_ __ \_/ ___\ / \ / _ \ \/ \/ / / _ \_ __ \/ ___\ %0a%3c | || | \/\ \___ | |_\ ___/| Y Y ( %3c_> ) | \ | || | \/\ \___| | ( %3c_> ) / ( %3c_> ) | \/ /_/ >%0a%3c |__||__| \___ > /\ |____/\___ >__|_| /\____/|___| / /\ |__||__| \___ >___| /\____/ \/\_/ /\ \____/|__| \___ / %0a%3c \/ \/ \/ \/ \/ \/ \/ \/ \/ /_____/ %0a%3c %0a%3c `.-:///+///:-.` %0a%3c `-/+++++++++++++++/:.` ..` %0a%3c .:+++++++++++++++++++++/:. `... %0a%3c `:+++++++//::----.......--::/-` ...` %0a%3c -/+++++++++///////////////::--.. `.. %0a%3c ./++++++++++++++++++++++++++++++/-`.. %0a%3c `-:/++++++++++++++++++++++++/:` ..` %0a%3c `-://++++++++++++++++/:-`````` %0a%3c ``.--:::///:::-.............` %0a%3c `............... %0a%3c `.................. %0a%3c ``...................... %0a%3c ``.........................` %0a%3c `.............................` %0a%3c `................................. %0a%3c ....................................` %0a%3c `....` `............................` %0a%3c `...` `..............................` %0a%3c ...` `................................ %0a%3c ...` ..........................`````````` %0a%3c `...` .......................```..`` ````````` %0a%3c .....`` `.......................` ..` ```.....`.````` %0a%3c ................................ `... ..............` ``` %0a%3c ..... `..................... `...` ..............`.```` %0a%3c ....` `....................` ....` `..................``` %0a%3c ......``...................... ...... ....................```` %0a%3c .............................``......`...........``........` `` %0a%3c `............................``....... `.......`.` ........`` `` %0a%3c `........................... ......... ``........``.........` .` %0a%3c ........................... .......... ....................` . %0a%3c .......................... ...........``.................... .` %0a%3c `........................ ............` `.................` `. %0a%3c ....................... ..............` `.`............` .` %0a%3c `..................... ................` `...........` `. %0a%3c ................... `..................``````` ```` .. %0a%3c `.................``........................````...` %0a%3c ```````........................................................` %0a%3c ````..............................................................................```` %0a%3c ```````````````````````````` ```````` `` ``` ``````` ``````````````````````````````%0a\ No newline at end of file%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''.%0a\ No newline at end of file%0a +host:1597493403=2001:4455:126:3500:e133:923d:7b8a:d4bf +author:1597149333=Oz +diff:1597149333:1597149213:=7,10c7,9%0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at '''irc.lemon.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Lemon IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. %0a%3c Remember that our bouncer service is totally free!%0a---%0a> IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at '''irc.lemon.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a> %0a> IRCNow Lemon IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a +host:1597149333=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597149213=Oz +diff:1597149213:1597149157:=7c7%0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at '''irc.lemon.ircnow.org''' (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a---%0a> IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc.lemon.ircnow.org]] (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a +host:1597149213=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597149157=Oz +diff:1597149157:1597149094:=7,8c7,8%0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc.lemon.ircnow.org]] (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a---%0a> IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a> %0a11c11%0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a---%0a> Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a +host:1597149157=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597149094=Oz +diff:1597149094:1597148962:=5,10c5,10%0a%3c '''Available services at IRCNow Lemon:'''%0a%3c %0a%3c IRCNow Lemon IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Lemon IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a---%0a> Available services at IRCNow Lemon:%0a> %0a> IRCNow Lemon IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a> %0a> IRCNow Lemon IRC bouncer. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign easy sign up and configuration in your favourite chat client. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a> %0a13c13%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''nix, Sergio, IRCuser, Dennis, Baytuch and Oz'''.%0a\ No newline at end of file%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are nix, Sergio, IRCuser, Dennis, Baytuch and Oz.%0a\ No newline at end of file%0a +host:1597149094=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597148962=Oz +diff:1597148962:1597148725:=13c13%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are nix, Sergio, IRCuser, Dennis, Baytuch and Oz.%0a\ No newline at end of file%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are nix,%0a\ No newline at end of file%0a +host:1597148962=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597148725=Oz +diff:1597148725:1597148616:=11c11%0a%3c Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a---%0a> Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a +host:1597148725=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597148616=Oz +diff:1597148616:1597148450:=11c11%0a%3c Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a---%0a> Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful.%0a +host:1597148616=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597148450=Oz +diff:1597148450:1597148234:=11,13c11,13%0a%3c Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful.%0a%3c %0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are nix, %0a\ No newline at end of file%0a---%0a> Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC network and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful.%0a> %0a> Languages we speak include English, Bahasa Melayu,. Our team consist of a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva.%0a\ No newline at end of file%0a +host:1597148450=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597148234=Oz +diff:1597148234:1597147681:=2d1%0a%3c %0a7,13c6,10%0a%3c IRCNow Lemon IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Lemon IRC bouncer. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign easy sign up and configuration in your favourite chat client. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of service (IRCNow), you may request any of our services at channel #ircnow once you are connected to our servers. Currently we support more than 15 famous IRC network and more to come. If your favotite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful.%0a%3c %0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva.%0a\ No newline at end of file%0a---%0a> IRCNow Lemon IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located in the US.%0a> IRCNow Orange IRC bouncer. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a> Provided you agree to the terms of service (IRCNow), you may request any of our services at #ircnow at your favourite IRC network. If it doesn't exist, please contact us at #IRCNow (ircnow.org), and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a> %0a> Languages we speak include English, French, Russian, Arabic, Hindi. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva.%0a\ No newline at end of file%0a +host:1597148234=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597147681=Oz +diff:1597147681:1597147274:=1,6c1,6%0a%3c IRCNow Lemon is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c Available services at IRCNow Lemon:%0a%3c %0a%3c IRCNow Lemon IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc.lemon.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located in the US.%0a---%0a> IRCNow Lemon is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software.%0a> an infrastructure for training the next generation of people who are in control of their computing. Come and learn how services work and have fun with us, guided in real time, effectively!%0a> %0a> You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Orange:%0a> %0a> IRCNow Orange IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc://irc.orange.ircnow.org (opens in your IRC chat client). Our chat server is located in the US.%0a +host:1597147681=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597147274=Oz +diff:1597147274:1597147168:=1,2c1%0a%3c IRCNow Lemon is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software.%0a%3c an infrastructure for training the next generation of people who are in control of their computing. Come and learn how services work and have fun with us, guided in real time, effectively!%0a---%0a> IRCNow Lemon is part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and learn how services work and have fun with us, guided in real time, effectively!%0a +host:1597147274=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597147168=Oz +diff:1597147168:1597147165:= +host:1597147168=2402:1980:326:d245:2c:a81a:dee5:fde9 +author:1597147165=Oz +diff:1597147165:1597147165:=1,9d0%0a%3c IRCNow Lemon is part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Orange:%0a%3c %0a%3c IRCNow Orange IRC chat server. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at irc://irc.orange.ircnow.org (opens in your IRC chat client). Our chat server is located in the US.%0a%3c IRCNow Orange IRC bouncer. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a%3c Provided you agree to the terms of service (IRCNow), you may request any of our services at #ircnow at your favourite IRC network. If it doesn't exist, please contact us at #IRCNow (ircnow.org), and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a%3c %0a%3c Languages we speak include English, French, Russian, Arabic, Hindi. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva.%0a\ No newline at end of file%0a +host:1597147165=2402:1980:326:d245:2c:a81a:dee5:fde9 blob - /dev/null blob + 60415859b41f242080794f33c29329d39a8057f1 (mode 644) --- /dev/null +++ wiki.d/Lemon.Packages @@ -0,0 +1,38 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609325087 +host=188.210.102.116 +name=Lemon.Packages +rev=8 +targets= +text=[@%0aargon2-20190702 C implementation of Argon2 - password hashing function%0aaspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0aautoconf-2.69p3 automatically configure source code on many Un*x platforms%0aautomake-1.11.6p3 GNU Standards-compliant Makefile generator%0abash-5.1.4 GNU Bourne Again Shell%0ablas-3.8.0p0 Basic Linear Algebra Subprograms%0aboehm-gc-8.0.4 garbage collection and memory leak detection for C and C++%0abzip2-1.0.8p0 block-sorting file compressor, unencumbered%0acblas-1.0p7 C interface to the BLAS library%0acmake-3.19.4p0v0 portable build system%0acolorls-6.5p0 ls(1) that can use color to display file attributes%0acurl-7.77.0 transfer files with FTP, HTTP, HTTPS, etc.%0acvsps-2.1p2 generate patchsets from CVS repositories%0acyrus-sasl-2.1.27p2 RFC 2222 SASL (Simple Authentication and Security Layer)%0adesktop-file-utils-0.26 utilities for dot.desktop entries%0adkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0ados2unix-7.4.2 convert DOS/MAC files to UNIX (line-endings/charset)%0adovecot-2.3.15v0 compact IMAP/POP3 server%0adovecot-pigeonhole-0.5.15v1 Sieve mail filtering for Dovecot%0afemail-1.0p1 simple SMTP client%0afemail-chroot-1.0p3 simple SMTP client for chrooted web servers%0afiglet-2.2.5 generates ASCII banner art%0aflock-20110525p1 flock(2) manager for shell scripts%0ag++-8.4.0p6 GNU compiler collection: C++ compiler%0agcc-8.4.0p6 GNU compiler collection: core C compiler%0agcc-libs-8.4.0p6 GNU compiler collection: support libs%0agd-2.3.2 library for dynamic creation of images%0agdb-7.12.1p16 GNU debugger%0agdiff-3.7p0 GNU versions of the diff utilities%0agettext-runtime-0.21p1 GNU gettext runtime libraries and programs%0agiflib-5.1.6 tools and library routines for working with GIF images%0agit-2.31.1 distributed version control system%0aglib2-2.66.8 general-purpose utility library%0agmake-4.3 GNU make%0agmp-6.2.1 library for arbitrary precision arithmetic%0agnupg-2.2.23p2 GNU privacy guard - a free PGP replacement%0agnutls-3.6.16 GNU Transport Layer Security library%0ago-1.16.2 Go programming language%0agpgme-1.15.1 GnuPG Made Easy%0agtypist-2.9.5p3 interactive typing tutor%0ahtop-3.0.5pl20210325p0 interactive process viewer%0aicu4c-68.2v0 International Components for Unicode%0aii-1.7p3 minimalist IRC client%0airssi-1.2.2p5 modular IRC client with many features%0ajpeg-2.0.6v0 SIMD-accelerated JPEG codec replacement of libjpeg%0ajsoncpp-1.9.4 JSON parsing C++ API%0aleafnode-1.11.12 USENET software package designed for small sites%0alibarchive-3.5.1 multi-format archive and compression library%0alibassuan-2.5.5 IPC library used by GnuPG and gpgme%0alibb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0alibcares-1.13.0 asynchronous resolver library%0alibevent-2.1.11 event notification library%0alibexttextcat-3.4.5p0 UTF-8 aware language guessing library%0alibffi-3.3 Foreign Function Interface%0alibgcrypt-1.9.2 crypto library based on code used in GnuPG%0alibgpg-error-1.42 error codes for GnuPG related software%0alibiconv-1.16p0 character set conversion library%0alibident-0.32p1 library to interface the ident protocol server (rfc1413)%0alibidn-1.36 internationalized string handling%0alibidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0alibksba-1.4.0 X.509 library%0alibmesode-0.10.1 fork of libstrophe for use with profanity XMPP client%0alibmpc-1.1.0 arbitrary-precision complex numbers math library%0alibnettle-3.7.2 cryptographic library%0alibopensmtpd-0.6 library for writing opensmtpd filters%0alibotr-4.1.1p2 portable OTR messaging library and toolkit%0alibpsl-0.21.1 public suffix list library%0alibsecret-0.20.4 library for storing and retrieving passwords and secrets%0alibsignal-protocol-c-2.3.3 ratcheting forward secrecy protocol%0alibsigsegv-2.12 library for handling page faults in user mode%0alibslang-2.2.4p5 stack-based interpreter for terminal applications%0alibsodium-1.0.18p1 library for network communications and cryptography%0alibssh-0.9.5p0 C library implementing server and client side SSH%0alibssh2-1.9.0 library implementing the SSH2 protocol%0alibstemmer-2.1.0 stemming algorithms for text processing%0alibtasn1-4.16.0 Abstract Syntax Notation One structure parser library%0alibtermkey-0.22 library for processing of keyboard entry from a terminal%0alibunbound-1.13.1 validating DNS resolver library%0alibunistring-0.9.7 manipulate Unicode strings%0alibusb1-1.0.23p2 library for USB device access from userspace%0alibuv-1.40.0 multi-platform library for asynchronous I/O%0alibwebp-1.2.0 Google WebP image format conversion tool%0alibxml-2.9.10p3 XML parsing library%0alinks+-2.21-no_x11 graphics and text browser%0allvm-10.0.1p10 modular, fast C/C++/ObjC compiler, static analyzer and tools%0alua-5.1.5p7 powerful, light-weight programming language (version 5.1.5)%0alua-5.3.6 powerful, light-weight programming language (version 5.3.6)%0alua53-lpeg-1.0.2p0 parsing expression grammars library for lua%0aluajit-2.0.5p2 just-in-time compiler for Lua%0alynx-2.8.9rel1p0 text web browser%0alz4-1.9.3p0 fast BSD-licensed data compression%0alzo2-2.10p2 portable speedy lossless data compression library%0amariadb-client-10.5.11v1 multithreaded SQL database (client)%0amariadb-server-10.5.11v1 multithreaded SQL database (server)%0amc-4.8.26 free Norton Commander clone with many useful features%0ametaauto-1.0p4 wrapper for gnu auto*%0ampfr-4.1.0 library for multiple-precision floating-point computations%0amsgpack-2.1.5 MessagePack implementation for C and C++%0amutt-2.0.6v3-gpgme-sasl tty-based e-mail client%0anano-5.6.1 simple editor, inspired by Pico%0anasm-2.15.05 general-purpose multi-platform x86 assembler%0anghttp2-1.43.0 library for HTTP/2%0angircd-26.1 lightweight irc server%0anpth-1.6 new GNU Portable Threads Library%0aoidentd-2.0.8p1 ident daemon with custom responses and NAT support%0aoniguruma-6.9.6 regular expressions library%0aopensmtpd-extras-6.7.1v0 extras for smtpd%0aopensmtpd-filter-dkimsign-0.4 dkim signer integration to the OpenSMTPD daemon%0aopensmtpd-filter-rspamd-0.1.7p0 rspamd integration to the OpenSMTPD daemon%0ap11-kit-0.23.22p0 library for loading and enumerating PKCS#11 modules%0ap5-Archive-Zip-1.68 perl interface to ZIP files%0ap5-B-Hooks-EndOfScope-0.24p0 execute code after a scope finished compilation%0ap5-BSD-Resource-1.2911p0 BSD process resource limit and priority functions%0ap5-Class-Accessor-0.51p0 automated accessor generation%0ap5-Class-DBI-3.0.16p3 simple database abstraction%0ap5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0ap5-Class-Data-Inheritable-0.08p2 inheritable, overridable class data%0ap5-Class-Inspector-1.36p0 get information about a class and its structure%0ap5-Class-Load-0.25p0 working 'require Class::Name' and more%0ap5-Class-Load-XS-0.10p1 XS implementation of parts of Class::Load%0ap5-Class-Method-Modifiers-2.13p0 provides Moose-like method modifiers%0ap5-Class-Singleton-1.5p0 perl singleton pattern%0ap5-Class-Trigger-0.14p0 add / call inheritable triggers%0ap5-Clone-0.45 recursively copy Perl datatypes%0ap5-Clone-PP-1.08 Recursively copy Perl datatypes%0ap5-Cpanel-JSON-XS-4.25 cPanel fork of JSON::XS, fast and correct serializing%0ap5-Crypt-OpenSSL-Bignum-0.09p0 OpenSSL's multiprecision integer arithmetic%0ap5-Crypt-OpenSSL-Guess-0.11 guess OpenSSL include path%0ap5-Crypt-OpenSSL-RSA-0.28p2 RSA encoding and decoding using OpenSSL%0ap5-Crypt-OpenSSL-Random-0.15 routines for accessing the OpenSSL prng%0ap5-DBD-MariaDB-1.21p3 MariaDB and MySQL driver for the Perl5 Database Interface%0ap5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0ap5-DBI-1.643 the standard database interface module for Perl%0ap5-DBIx-ContextualFetch-1.03p3 add contextual fetches to DBI%0ap5-Data-Dumper-Concise-2.023 less indentation and newlines plus sub deparsing%0ap5-Data-IEEE754-0.02p1 pack and unpack big-endian IEEE754 floats and doubles%0ap5-Data-OptList-0.110p0 parse and validate simple name/value option pairs%0ap5-Data-Printer-0.40p0 colored pretty-print of Perl data structures and objects%0ap5-Data-Validate-IP-0.30 ipv4 and ipv6 validation methods%0ap5-DateTime-1.54v0 date and time object for Perl%0ap5-DateTime-Locale-1.31 localization support for DateTime.pm%0ap5-DateTime-TimeZone-2.46 DateTime submodule for TZ%0ap5-Devel-GlobalDestruction-0.14p0 expose the flag which marks global destruction%0ap5-Devel-OverloadInfo-0.005 introspect overloaded operators%0ap5-Devel-StackTrace-2.04 an object representing a stack trace%0ap5-Digest-HMAC-1.03p1 interface to HMAC Message-Digest Algorithms%0ap5-Dist-CheckConflicts-0.11p0 declare version conflicts for your dist%0ap5-Encode-Detect-1.01p8 Encode::Encoding subclass that detects the encoding of data%0ap5-Encode-Locale-1.05p0 determine the locale encoding%0ap5-Error-0.17029 error/exception handling in an OO-ish way%0ap5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval %0ap5-Exception-Class-1.44p0 module to declare real exception classes in perl%0ap5-Exporter-Tiny-1.002002p0 exporter with the features of Sub::Exporter%0ap5-File-HomeDir-1.006 retrieve home directory location%0ap5-File-Listing-6.04p0 parse directory listing%0ap5-File-ShareDir-1.118 locate install data per-module%0ap5-File-ShareDir-Install-0.13p0 install shared files, to use with File::ShareDir%0ap5-File-Which-1.24 portable implementation of 'which' in Perl%0ap5-FreezeThaw-0.5001p0 module for converting structures to strings and back%0ap5-GeoIP2-2.006002p1 Perl API for MaxMind's GeoIP2 web services and databases%0ap5-HTML-Parser-3.72p0 modules to parse and extract information from HTML%0ap5-HTML-Tagset-3.20p2 data tables useful for parsing HTML%0ap5-HTTP-Cookies-6.04p0 HTTP Cookie jars%0ap5-HTTP-Daemon-6.12p0 simple http server class%0ap5-HTTP-Date-6.02p0 date conversion routines%0ap5-HTTP-Message-6.13p0 HTTP Style Messages%0ap5-HTTP-Negotiate-6.01p0 choose a variant to serve%0ap5-IO-HTML-1.004 open an HTML file with automatic charset detection%0ap5-IO-Socket-SSL-2.068p1 Perl SSL sockets with IO::Socket interface%0ap5-IO-String-1.08p3 emulate IO::File interface for in-core strings%0ap5-Ima-DBI-0.35p1 database connection caching and organization%0ap5-JSON-4.03 parse and convert to JSON (JavaScript Object Notation)%0ap5-JSON-MaybeXS-1.004003 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0ap5-LWP-MediaTypes-6.02p0 Guess url media type%0ap5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0ap5-Lingua-EN-Inflect-1.905 convert singular to plural, select a or an%0ap5-List-AllUtils-0.18 combines List::Util, List::SomeUtils and List::UtilsBy%0ap5-List-MoreUtils-0.430 provide the stuff missing in List::Util%0ap5-List-MoreUtils-XS-0.430 provide compiled List::MoreUtils functions%0ap5-List-SomeUtils-0.58p1 Provide the stuff missing in List::Util%0ap5-List-SomeUtils-XS-0.58p1 XS implementation for List::SomeUtils%0ap5-List-UtilsBy-0.11p0 higher-order list utility functions%0ap5-MLDBM-2.05p0 store multi-level hash structure in single-level tied hash%0ap5-MRO-Compat-0.13p0 mro::* interface compatibility for Perl %3c 5.9.5%0ap5-Mail-AuthenticationResults-1.20200824.1 object oriented Authentication-Results headers%0ap5-Mail-DKIM-1.20200907 DKIM and DomainKeys message-signing implementation%0ap5-Mail-SPF-2.9.0p1 perl oop implementation of Sender Policy Framework%0ap5-Mail-SpamAssassin-3.4.5 mailfilter to identify and mark spam%0ap5-Mail-Tools-2.21p0 modules for handling mail with perl%0ap5-Math-Base-Convert-0.11p0 very fast base to base conversion%0ap5-MaxMind-DB-Common-0.040001p1 code shared by the MaxMind DB reader and writer modules%0ap5-MaxMind-DB-Reader-1.000014p1 read MaxMind DB files and look up IP addresses%0ap5-Module-Implementation-0.09p0 loads one of several alternate module implementations%0ap5-Module-Runtime-0.016p0 runtime module handling%0ap5-Moo-2.004004 Minimalist Object Orientation (with Moose compatibility)%0ap5-MooX-StrictConstructor-0.011 blow up Moo-based object constructors on unknown attributes%0ap5-Moose-2.2013 complete modern object system for perl 5%0ap5-Mozilla-CA-Fake-20140330 access system SSL certificate bundle from Perl%0ap5-Net-CIDR-Lite-0.22 Perl extension for merging IPv4 or IPv6 CIDR addresses%0ap5-Net-DNS-1.30 perl interface to the domain name system%0ap5-Net-DNS-Resolver-Programmable-0.009p0 programmable DNS resolver class for offline emulation of DNS%0ap5-Net-Daemon-0.48p1 extension for portable daemons%0ap5-Net-HTTP-6.19 Perl HTTP connection client%0ap5-Net-LibIDN-0.12p2 Perl bindings for GNU Libidn%0ap5-Net-Patricia-1.22p2 Patricia Trie perl module for fast IP address lookups%0ap5-Net-SSLeay-1.88p1 perl module for using OpenSSL%0ap5-Net-Server-2.009p0 extensible framework for Perl server engines%0ap5-NetAddr-IP-4.079p0 manages IPv4 and IPv6 addresses and subnets%0ap5-Package-DeprecationManager-0.17p0 manage deprecation warnings for your distribution%0ap5-Package-Stash-0.39 routines for manipulating stashes%0ap5-Package-Stash-XS-0.29p0 faster and more correct implementation of Package::Stash%0ap5-Params-Util-1.07p2 utility to make parameter checking easier%0ap5-Params-Validate-1.30 validate method/function parameters%0ap5-Params-ValidationCompiler-0.30p0 build an optimized subroutine parameter validator%0ap5-PlRPC-0.2020p0 module for writing rpc servers and clients%0ap5-Ref-Util-0.204p0 utility functions for checking references%0ap5-Ref-Util-XS-0.117p0 utility functions for checking references (XS version)%0ap5-Role-Tiny-2.001004p0 minimalist role composition tool%0ap5-SQL-Statement-1.414 SQL parsing and processing engine%0ap5-Socket6-0.29p0 Perl defines relating to AF_INET6 sockets%0ap5-Sort-Naturally-1.03p0 sort lexically, but sort numeral parts numerically%0ap5-Specio-0.46p0 type constraints and coercions for Perl%0ap5-Sub-Exporter-0.987p0 exporter on steroids%0ap5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it %0ap5-Sub-Identify-0.14p0 retrieve names of code references%0ap5-Sub-Install-0.928p0 helper for installing code into packages%0ap5-Sub-Name-0.26p0 (re)name a sub%0ap5-Sub-Quote-2.006006p0 efficient generation of subroutines via string eval%0ap5-Throwable-0.200013p0 a role for classes that can be thrown%0ap5-Time-TimeDate-2.33 library for parsing and formatting dates and times%0ap5-Try-Tiny-0.30p0 minimal try/catch with proper preservation of $@%0ap5-URI-5.09 library to parse Uniform Resource Identifiers%0ap5-Universal-moniker-0.08p2 Perl module for aliasing class names%0ap5-Variable-Magic-0.62p0 associate user-defined magic to variables from Perl%0ap5-WWW-RobotRules-6.02p0 database of robots.txt-derived permissions%0ap5-libwww-6.53 library for WWW access in Perl%0ap5-namespace-autoclean-0.29p0 keep imports out of your namespace%0ap5-namespace-clean-0.27p0 keep imports and functions out of your namespace%0ap5-strictures-2.000006 turn on strict and make most warnings fatal%0apcre-8.44 perl-compatible regular expression library%0apcre2-10.36 perl-compatible regular expression library, version 2%0aphp-7.4.21 server-side HTML-embedded scripting language%0aphp-gd-7.4.21 image manipulation extensions for php%0apico-5.09p21 UW text editor%0apinentry-1.1.0p0 PIN or passphrase entry dialog (ncurses interface)%0aplan9port-20210323 Plan 9 from user space%0apng-1.6.37 library for manipulating PNG images%0aprofanity-0.10.0p0 console based XMPP client%0aprotobuf-3.15.7 c++ protocol buffers%0aprotobuf-c-1.3.3 c protocol buffers%0apy3-pip-20.3.4 tool for installing Python packages%0apy3-setuptools-44.1.1v0 simplified packaging system for Python modules%0apython-3.8.11 interpreted object-oriented programming language%0aqdbm-1.8.78p2 high performance embedded database library%0aquirks-3.633 exceptions to pkg_add rules%0are2c-2.0.3 C-based regular expression scanner generator%0areadline-7.0p0 library to edit command lines as they are typed in%0aredis-6.2.1p0 persistent key-value database%0arhash-1.4.1 utility and library for computing hash sums%0arspamd-2.7p0 event-driven spam filtering system in C/Lua%0arsync-3.2.3 mirroring/synchronization over low bandwidth links%0ascreen-4.8.0p0 multi-screen window manager%0ashellcheck-0.7.1 shell script analysis tool%0asic-1.2p1 simple irc client%0asnappy-1.1.8 fast compression/decompression library%0aspampd-2.53p0 SMTP/LMTP proxy for Spamassassin%0aspatialindex-1.9.3 library for spatial indexing and querying%0asqlite3-3.34.1 embedded SQL implementation%0atcl-8.5.19p4 Tool Command Language%0atcl-8.6.8p2 Tool Command Language%0atcllib-1.19pl0 Tcl Standard Library%0atcltls-1.6p3 OpenSSL Tcl extension%0atcsh-6.22.03p0 extended C-shell with many useful features%0atdom-0.9.1 fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl%0atiff-4.2.0 tools and library routines for working with TIFF images%0atmate-2.4.0p3 instant terminal sharing based on tmux%0atre-0.8.0p4 lightweight regexp matching library with additional features%0aunibilium-2.1.0 very basic terminfo library%0aunzip-6.0p14 extract, list & test files in a ZIP archive%0avim-8.2.2580-no_x11 vi clone, many additional features%0avis-0.7 vi-like editor with sam-style structural regex support%0aw3m-0.5.3pl20210102p0 pager/text-based web browser%0aweechat-3.1 fast, light and extensible chat client%0awget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0axz-5.2.5 LZMA compression and decompression tools%0azip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0aznc-1.8.2 advanced IRC bouncer%0azstd-1.4.9 zstandard fast real-time compression algorithm%0a@] +time=1626892515 +author:1626892515=mkf +diff:1626892515:1624176700:=6a7,9%0a> bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a> bitlbee-facebook-1.2.2 Facebook Messenger protocol plugin for bitlbee%0a> bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a13c16%0a%3c curl-7.77.0 transfer files with FTP, HTTP, HTTPS, etc.%0a---%0a> curl-7.76.0 transfer files with FTP, HTTP, HTTPS, etc.%0a15a19,20%0a> dbus-1.12.20v0 message bus system%0a> dbus-glib-0.112v0 glib bindings for dbus message system%0a19,20c24,25%0a%3c dovecot-2.3.15v0 compact IMAP/POP3 server%0a%3c dovecot-pigeonhole-0.5.15v1 Sieve mail filtering for Dovecot%0a---%0a> dovecot-2.3.14p0v0 compact IMAP/POP3 server%0a> dovecot-pigeonhole-0.5.14v1 Sieve mail filtering for Dovecot%0a27a33%0a> gconf2-3.2.6p12 configuration database system for GNOME%0a41d46%0a%3c gtypist-2.9.5p3 interactive typing tutor%0a44c49%0a%3c ii-1.7p3 minimalist IRC client%0a---%0a> irrlicht-1.8.4p3 fast, real time 3D engine%0a46a52%0a> json-glib-1.6.2 JSON parser for GLib-based libraries and applications%0a55a62%0a> libgadu-1.12.2v0 implementation of Gadu-Gadu IM protocol%0a63d69%0a%3c libmesode-0.10.1 fork of libstrophe for use with profanity XMPP client%0a66,67d71%0a%3c libopensmtpd-0.6 library for writing opensmtpd filters%0a%3c libotr-4.1.1p2 portable OTR messaging library and toolkit%0a68a73%0a> libpurple-2.13.0p0 multi-protocol instant messaging library%0a70d74%0a%3c libsignal-protocol-c-2.3.3 ratcheting forward secrecy protocol%0a85c89%0a%3c links+-2.21-no_x11 graphics and text browser%0a---%0a> links-1.03p0 text browser, displays while downloading%0a94,95c98,99%0a%3c mariadb-client-10.5.11v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.5.11v1 multithreaded SQL database (server)%0a---%0a> mariadb-client-10.5.10v1 multithreaded SQL database (client)%0a> mariadb-server-10.5.10v1 multithreaded SQL database (server)%0a96a101%0a> meanwhile-1.0.2p6 implementation of Lotus Sametime Community Client protocol%0a102d106%0a%3c nasm-2.15.05 general-purpose multi-platform x86 assembler%0a109d112%0a%3c opensmtpd-filter-dkimsign-0.4 dkim signer integration to the OpenSMTPD daemon%0a243,244c246,247%0a%3c php-7.4.21 server-side HTML-embedded scripting language%0a%3c php-gd-7.4.21 image manipulation extensions for php%0a---%0a> php-7.4.20 server-side HTML-embedded scripting language%0a> php-gd-7.4.20 image manipulation extensions for php%0a247d249%0a%3c plan9port-20210323 Plan 9 from user space%0a249,251d250%0a%3c profanity-0.10.0p0 console based XMPP client%0a%3c protobuf-3.15.7 c++ protocol buffers%0a%3c protobuf-c-1.3.3 c protocol buffers%0a254c253%0a%3c python-3.8.11 interpreted object-oriented programming language%0a---%0a> python-3.8.8p0 interpreted object-oriented programming language%0a258d256%0a%3c readline-7.0p0 library to edit command lines as they are typed in%0a265c263%0a%3c sic-1.2p1 simple irc client%0a---%0a> silc-toolkit-1.1.12p5 toolkit for the development of SILC applications%0a275a274%0a> telegram-purple-1.4.6 Telegram support for Pidgin%0a288c287%0a%3c znc-1.8.2 advanced IRC bouncer%0a---%0a> znc-1.7.5 advanced IRC bouncer%0a +host:1626892515=188.210.102.116 +author:1624176700=mkf +csum:1624176700=update to 6.9? +diff:1624176700:1622134321:=6d5%0a%3c bash-5.1.4 GNU Bourne Again Shell%0a8c7%0a%3c bitlbee-facebook-1.2.2 Facebook Messenger protocol plugin for bitlbee%0a---%0a> bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a11,12c10,11%0a%3c boehm-gc-8.0.4 garbage collection and memory leak detection for C and C++%0a%3c bzip2-1.0.8p0 block-sorting file compressor, unencumbered%0a---%0a> boehm-gc-7.6.0p6 garbage collection and memory leak detection for C and C++%0a> bzip2-1.0.8 block-sorting file compressor, unencumbered%0a14c13%0a%3c cmake-3.19.4p0v0 portable build system%0a---%0a> cmake-3.17.2p0v0 portable build system%0a16c15%0a%3c curl-7.76.0 transfer files with FTP, HTTP, HTTPS, etc.%0a---%0a> curl-7.72.0p1 transfer files with FTP, HTTP, HTTPS, etc.%0a18c17%0a%3c cyrus-sasl-2.1.27p2 RFC 2222 SASL (Simple Authentication and Security Layer)%0a---%0a> cyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0a20c19%0a%3c dbus-glib-0.112v0 glib bindings for dbus message system%0a---%0a> dbus-glib-0.110p1v0 glib bindings for dbus message system%0a23,25c22,23%0a%3c dos2unix-7.4.2 convert DOS/MAC files to UNIX (line-endings/charset)%0a%3c dovecot-2.3.14p0v0 compact IMAP/POP3 server%0a%3c dovecot-pigeonhole-0.5.14v1 Sieve mail filtering for Dovecot%0a---%0a> dovecot-2.3.13v0 compact IMAP/POP3 server%0a> dovecot-pigeonhole-0.5.13v1 Sieve mail filtering for Dovecot%0a30,35c28,32%0a%3c g++-8.4.0p6 GNU compiler collection: C++ compiler%0a%3c gcc-8.4.0p6 GNU compiler collection: core C compiler%0a%3c gcc-libs-8.4.0p6 GNU compiler collection: support libs%0a%3c gconf2-3.2.6p12 configuration database system for GNOME%0a%3c gd-2.3.2 library for dynamic creation of images%0a%3c gdb-7.12.1p16 GNU debugger%0a---%0a> g++-8.4.0 GNU compiler collection: C++ compiler%0a> gcc-8.4.0 GNU compiler collection: core C compiler%0a> gcc-libs-8.4.0 GNU compiler collection: support libs%0a> gconf2-3.2.6p11 configuration database system for GNOME%0a> gdb-7.12.1p12 GNU debugger%0a37c34%0a%3c gettext-runtime-0.21p1 GNU gettext runtime libraries and programs%0a---%0a> gettext-runtime-0.21 GNU gettext runtime libraries and programs%0a39,40c36,37%0a%3c git-2.31.1 distributed version control system%0a%3c glib2-2.66.8 general-purpose utility library%0a---%0a> git-2.28.0 distributed version control system%0a> glib2-2.64.5 general-purpose utility library%0a42,48c39,45%0a%3c gmp-6.2.1 library for arbitrary precision arithmetic%0a%3c gnupg-2.2.23p2 GNU privacy guard - a free PGP replacement%0a%3c gnutls-3.6.16 GNU Transport Layer Security library%0a%3c go-1.16.2 Go programming language%0a%3c gpgme-1.15.1 GnuPG Made Easy%0a%3c htop-3.0.5pl20210325p0 interactive process viewer%0a%3c icu4c-68.2v0 International Components for Unicode%0a---%0a> gmp-6.2.0 library for arbitrary precision arithmetic%0a> gnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0a> gnutls-3.6.15 GNU Transport Layer Security library%0a> go-1.15.2 Go programming language%0a> gpgme-1.14.0 GnuPG Made Easy%0a> htop-3.0.1 interactive process viewer%0a> icu4c-67.1 International Components for Unicode%0a50,56c47,53%0a%3c irssi-1.2.2p5 modular IRC client with many features%0a%3c jpeg-2.0.6v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a%3c json-glib-1.6.2 JSON parser for GLib-based libraries and applications%0a%3c jsoncpp-1.9.4 JSON parsing C++ API%0a%3c leafnode-1.11.12 USENET software package designed for small sites%0a%3c libarchive-3.5.1 multi-format archive and compression library%0a%3c libassuan-2.5.5 IPC library used by GnuPG and gpgme%0a---%0a> irssi-1.2.2p4 modular IRC client with many features%0a> jpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a> json-glib-1.4.4 JSON parser for GLib-based libraries and applications%0a> jsoncpp-1.8.4p2 JSON parsing C++ API%0a> leafnode-1.11.11p0 USENET software package designed for small sites%0a> libarchive-3.4.3 multi-format archive and compression library%0a> libassuan-2.5.3 IPC library used by GnuPG and gpgme%0a60d56%0a%3c libexttextcat-3.4.5p0 UTF-8 aware language guessing library%0a63,64c59,60%0a%3c libgcrypt-1.9.2 crypto library based on code used in GnuPG%0a%3c libgpg-error-1.42 error codes for GnuPG related software%0a---%0a> libgcrypt-1.8.6 crypto library based on code used in GnuPG%0a> libgpg-error-1.39 error codes for GnuPG related software%0a69d64%0a%3c libksba-1.4.0 X.509 library%0a71,72c66,67%0a%3c libnettle-3.7.2 cryptographic library%0a%3c libpsl-0.21.1 public suffix list library%0a---%0a> libnettle-3.6 cryptographic library%0a> libpsl-0.20.2p1 public suffix list library%0a74d68%0a%3c libsecret-0.20.4 library for storing and retrieving passwords and secrets%0a78c72%0a%3c libssh-0.9.5p0 C library implementing server and client side SSH%0a---%0a> libssh-0.9.5 C library implementing server and client side%0a80d73%0a%3c libstemmer-2.1.0 stemming algorithms for text processing%0a83c76%0a%3c libunbound-1.13.1 validating DNS resolver library%0a---%0a> libunbound-1.11.0 validating DNS resolver library%0a85,90c78,81%0a%3c libusb1-1.0.23p2 library for USB device access from userspace%0a%3c libuv-1.40.0 multi-platform library for asynchronous I/O%0a%3c libwebp-1.2.0 Google WebP image format conversion tool%0a%3c libxml-2.9.10p3 XML parsing library%0a%3c links-1.03p0 text browser, displays while downloading%0a%3c llvm-10.0.1p10 modular, fast C/C++/ObjC compiler, static analyzer and tools%0a---%0a> libuv-1.30.1 multi-platform library for asynchronous I/O%0a> libwebp-1.1.0 Google WebP image format conversion tool%0a> libxml-2.9.10p2 XML parsing library%0a> llvm-10.0.1p3 modular, fast C/C++/ObjC compiler, static analyzer and tools%0a92c83%0a%3c lua-5.3.6 powerful, light-weight programming language (version 5.3.6)%0a---%0a> lua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0a96c87%0a%3c lz4-1.9.3p0 fast BSD-licensed data compression%0a---%0a> lz4-1.9.2p0 fast BSD-licensed data compression%0a98,100c89,91%0a%3c mariadb-client-10.5.10v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.5.10v1 multithreaded SQL database (server)%0a%3c mc-4.8.26 free Norton Commander clone with many useful features%0a---%0a> mariadb-client-10.5.8v1 multithreaded SQL database (client)%0a> mariadb-server-10.5.8v1 multithreaded SQL database (server)%0a> mc-4.8.24 free Norton Commander clone with many useful features%0a103c94%0a%3c mpfr-4.1.0 library for multiple-precision floating-point computations%0a---%0a> mpfr-4.0.2.1 library for multiple-precision floating-point computations%0a105,109c96,99%0a%3c mutt-2.0.6v3-gpgme-sasl tty-based e-mail client%0a%3c nano-5.6.1 simple editor, inspired by Pico%0a%3c nghttp2-1.43.0 library for HTTP/2%0a%3c ngircd-26.1 lightweight irc server%0a%3c npth-1.6 new GNU Portable Threads Library%0a---%0a> mutt-1.14.7p1v3-gpgme-sasl tty-based e-mail client%0a> nano-5.2 simple editor, inspired by Pico%0a> nghttp2-1.41.0p1 library for HTTP/2%0a> ngircd-26 lightweight irc server%0a113,115c103,105%0a%3c opensmtpd-filter-rspamd-0.1.7p0 rspamd integration to the OpenSMTPD daemon%0a%3c p11-kit-0.23.22p0 library for loading and enumerating PKCS#11 modules%0a%3c p5-Archive-Zip-1.68 perl interface to ZIP files%0a---%0a> opensmtpd-filter-rspamd-0.1.6 rspamd integration to the OpenSMTPD daemon%0a> p11-kit-0.23.22 library for loading and enumerating PKCS#11 modules%0a> p5-Archive-Zip-1.67p0 perl interface to ZIP files%0a128,130c118,120%0a%3c p5-Clone-0.45 recursively copy Perl datatypes%0a%3c p5-Clone-PP-1.08 Recursively copy Perl datatypes%0a%3c p5-Cpanel-JSON-XS-4.25 cPanel fork of JSON::XS, fast and correct serializing%0a---%0a> p5-Clone-0.41p0 recursively copy Perl datatypes%0a> p5-Clone-PP-1.07p0 Recursively copy Perl datatypes%0a> p5-Cpanel-JSON-XS-4.21 cPanel fork of JSON::XS, fast and correct serializing%0a132d121%0a%3c p5-Crypt-OpenSSL-Guess-0.11 guess OpenSSL include path%0a134,135c123,124%0a%3c p5-Crypt-OpenSSL-Random-0.15 routines for accessing the OpenSSL prng%0a%3c p5-DBD-MariaDB-1.21p3 MariaDB and MySQL driver for the Perl5 Database Interface%0a---%0a> p5-Crypt-OpenSSL-Random-0.11p0 routines for accessing the OpenSSL prng%0a> p5-DBD-MariaDB-1.21p2 MariaDB and MySQL driver for the Perl5 Database Interface%0a137c126%0a%3c p5-DBI-1.643 the standard database interface module for Perl%0a---%0a> p5-DBI-1.641 unified perl interface for database access%0a139c128%0a%3c p5-Data-Dumper-Concise-2.023 less indentation and newlines plus sub deparsing%0a---%0a> p5-Data-Dumper-Concise-2.022p0 less indentation and newlines plus sub deparsing%0a143,146c132,135%0a%3c p5-Data-Validate-IP-0.30 ipv4 and ipv6 validation methods%0a%3c p5-DateTime-1.54v0 date and time object for Perl%0a%3c p5-DateTime-Locale-1.31 localization support for DateTime.pm%0a%3c p5-DateTime-TimeZone-2.46 DateTime submodule for TZ%0a---%0a> p5-Data-Validate-IP-0.27p0 ipv4 and ipv6 validation methods%0a> p5-DateTime-1.52p0v0 date and time object for Perl%0a> p5-DateTime-Locale-1.26 localization support for DateTime.pm%0a> p5-DateTime-TimeZone-2.39 DateTime submodule for TZ%0a149c138%0a%3c p5-Devel-StackTrace-2.04 an object representing a stack trace%0a---%0a> p5-Devel-StackTrace-2.03p0 an object representing a stack trace%0a154,155c143,144%0a%3c p5-Error-0.17029 error/exception handling in an OO-ish way%0a%3c p5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval %0a---%0a> p5-Error-0.17028p0 error/exception handling in an OO-ish way%0a> p5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval%0a158c147%0a%3c p5-File-HomeDir-1.006 retrieve home directory location%0a---%0a> p5-File-HomeDir-1.004p0 retrieve home directory location%0a160c149%0a%3c p5-File-ShareDir-1.118 locate install data per-module%0a---%0a> p5-File-ShareDir-1.116p0 locate install data per-module%0a162c151%0a%3c p5-File-Which-1.24 portable implementation of 'which' in Perl%0a---%0a> p5-File-Which-1.23p0 portable implementation of 'which' in Perl%0a172c161%0a%3c p5-IO-HTML-1.004 open an HTML file with automatic charset detection%0a---%0a> p5-IO-HTML-1.001p0 open an HTML file with automatic charset detection%0a176,177c165%0a%3c p5-JSON-4.03 parse and convert to JSON (JavaScript Object Notation)%0a%3c p5-JSON-MaybeXS-1.004003 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0a---%0a> p5-JSON-MaybeXS-1.004002p0 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0a180c168%0a%3c p5-Lingua-EN-Inflect-1.905 convert singular to plural, select a or an%0a---%0a> p5-Lingua-EN-Inflect-1.899p1 convert singular to plural, select a or an%0a182,183c170,171%0a%3c p5-List-MoreUtils-0.430 provide the stuff missing in List::Util%0a%3c p5-List-MoreUtils-XS-0.430 provide compiled List::MoreUtils functions%0a---%0a> p5-List-MoreUtils-0.428p0 provide the stuff missing in List::Util%0a> p5-List-MoreUtils-XS-0.428p0 provide compiled List::MoreUtils functions%0a189,190c177,178%0a%3c p5-Mail-AuthenticationResults-1.20200824.1 object oriented Authentication-Results headers%0a%3c p5-Mail-DKIM-1.20200907 DKIM and DomainKeys message-signing implementation%0a---%0a> p5-Mail-AuthenticationResults-1.20200331.1p0 object oriented Authentication-Results headers%0a> p5-Mail-DKIM-0.58 DKIM and DomainKeys message-signing implementation%0a199c187%0a%3c p5-Moo-2.004004 Minimalist Object Orientation (with Moose compatibility)%0a---%0a> p5-Moo-2.003004p1 Minimalist Object Orientation (with Moose compatibility)%0a204c192%0a%3c p5-Net-DNS-1.30 perl interface to the domain name system%0a---%0a> p5-Net-DNS-1.26 perl interface to the domain name system%0a207c195%0a%3c p5-Net-HTTP-6.19 Perl HTTP connection client%0a---%0a> p5-Net-HTTP-6.17p0 Perl HTTP connection client%0a209c197%0a%3c p5-Net-Patricia-1.22p2 Patricia Trie perl module for fast IP address lookups%0a---%0a> p5-Net-Patricia-1.22p1 Patricia Trie perl module for fast IP address lookups%0a214c202%0a%3c p5-Package-Stash-0.39 routines for manipulating stashes%0a---%0a> p5-Package-Stash-0.38p0 routines for manipulating stashes%0a217c205%0a%3c p5-Params-Validate-1.30 validate method/function parameters%0a---%0a> p5-Params-Validate-1.29p0 perl module to validate function/method parameters%0a223c211%0a%3c p5-SQL-Statement-1.414 SQL parsing and processing engine%0a---%0a> p5-SQL-Statement-1.412p0 SQL parsing and processing engine%0a228c216%0a%3c p5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it %0a---%0a> p5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it%0a234c222%0a%3c p5-Time-TimeDate-2.33 library for parsing and formatting dates and times%0a---%0a> p5-Time-TimeDate-2.30p0 library for parsing and formatting dates and times%0a236c224%0a%3c p5-URI-5.09 library to parse Uniform Resource Identifiers%0a---%0a> p5-URI-1.76p0 library to parse Uniform Resource Identifiers%0a240c228%0a%3c p5-libwww-6.53 library for WWW access in Perl%0a---%0a> p5-libwww-6.27p0 library for WWW access in Perl%0a243,249c231,236%0a%3c p5-strictures-2.000006 turn on strict and make most warnings fatal%0a%3c pcre-8.44 perl-compatible regular expression library%0a%3c pcre2-10.36 perl-compatible regular expression library, version 2%0a%3c php-7.4.20 server-side HTML-embedded scripting language%0a%3c php-gd-7.4.20 image manipulation extensions for php%0a%3c pico-5.09p21 UW text editor%0a%3c pinentry-1.1.0p0 PIN or passphrase entry dialog (ncurses interface)%0a---%0a> p5-strictures-2.000005p1 turn on strict and make most warnings fatal%0a> pcre-8.41p2 perl-compatible regular expression library%0a> pcre2-10.35 perl-compatible regular expression library, version 2%0a> php-7.4.16 server-side HTML-embedded scripting language%0a> php-gd-7.4.16 image manipulation extensions for php%0a> pico-5.09p20 UW text editor%0a251,253c238,240%0a%3c py3-pip-20.3.4 tool for installing Python packages%0a%3c py3-setuptools-44.1.1v0 simplified packaging system for Python modules%0a%3c python-3.8.8p0 interpreted object-oriented programming language%0a---%0a> py3-pip-20.1.1p0 tool for installing Python packages%0a> py3-setuptools-41.6.0p0v0 simplified packaging system for Python modules%0a> python-3.8.6p1 interpreted object-oriented programming language%0a255c242%0a%3c quirks-3.633 exceptions to pkg_add rules%0a---%0a> quirks-3.442 exceptions to pkg_add rules%0a257,259c244,246%0a%3c redis-6.2.1p0 persistent key-value database%0a%3c rhash-1.4.1 utility and library for computing hash sums%0a%3c rspamd-2.7p0 event-driven spam filtering system in C/Lua%0a---%0a> redis-6.0.11p0 persistent key-value database%0a> rhash-1.4.0 utility and library for computing hash sums%0a> rspamd-2.5p1 event-driven spam filtering system in C/Lua%0a262c249%0a%3c shellcheck-0.7.1 shell script analysis tool%0a---%0a> shellcheck-0.4.7p1 shell script analysis tool%0a267c254%0a%3c sqlite3-3.34.1 embedded SQL implementation%0a---%0a> sqlite3-3.31.1p0 embedded SQL implementation%0a272c259%0a%3c tcsh-6.22.03p0 extended C-shell with many useful features%0a---%0a> tcsh-6.22.02 extended C-shell with many useful features%0a274,276c261,263%0a%3c telegram-purple-1.4.6 Telegram support for Pidgin%0a%3c tiff-4.2.0 tools and library routines for working with TIFF images%0a%3c tmate-2.4.0p3 instant terminal sharing based on tmux%0a---%0a> telegram-purple-1.3.1p2 Telegram support for Pidgin%0a> tiff-4.1.0p0 tools and library routines for working with TIFF images%0a> tmate-2.4.0p2 instant terminal sharing based on tmux%0a279,283c266,270%0a%3c unzip-6.0p14 extract, list & test files in a ZIP archive%0a%3c vim-8.2.2580-no_x11 vi clone, many additional features%0a%3c vis-0.7 vi-like editor with sam-style structural regex support%0a%3c w3m-0.5.3pl20210102p0 pager/text-based web browser%0a%3c weechat-3.1 fast, light and extensible chat client%0a---%0a> unzip-6.0p13 extract, list & test files in a ZIP archive%0a> vim-8.2.1805-no_x11 vi clone, many additional features%0a> vis-0.6p0 vi-like editor with sam-style structural regex support%0a> w3m-0.5.3p8 pager/text-based web browser%0a> weechat-2.9 fast, light and extensible chat client%0a288c275%0a%3c zstd-1.4.9 zstandard fast real-time compression algorithm%0a---%0a> zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a +host:1624176700=198.251.81.133 +author:1622134321=mkf +csum:1622134321=oops... +diff:1622134321:1622133817:=2,19c2,37%0a%3c argon2-20190702 C implementation of Argon2 - password hashing function%0a%3c aspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0a%3c autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a%3c automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a%3c bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a%3c bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a%3c bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a%3c blas-3.8.0p0 Basic Linear Algebra Subprograms%0a%3c boehm-gc-7.6.0p6 garbage collection and memory leak detection for C and C++%0a%3c bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c cblas-1.0p7 C interface to the BLAS library%0a%3c cmake-3.17.2p0v0 portable build system%0a%3c colorls-6.5p0 ls(1) that can use color to display file attributes%0a%3c curl-7.72.0p1 transfer files with FTP, HTTP, HTTPS, etc.%0a%3c cvsps-2.1p2 generate patchsets from CVS repositories%0a%3c cyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0a%3c dbus-1.12.20v0 message bus system%0a%3c dbus-glib-0.110p1v0 glib bindings for dbus message system%0a---%0a> acme-client-0.1.16p2 privilege-separated letsencrypt client%0a> acme-client-0.1.16p2: './acme-client-0.1.16p2' directory entry not found%0a> term%25 argon2-20190702 C implementation of Argon2 - password hashing function%0a> argon2-20190702: './argon2-20190702' directory entry not found%0a> term%25 atk-2.36.0 accessibility toolkit used by gtk+%0a> atk-2.36.0: './atk-2.36.0' directory entry not found%0a> term%25 autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a> autoconf-2.69p3: './autoconf-2.69p3' directory entry not found%0a> term%25 automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a> automake-1.11.6p3: './automake-1.11.6p3' directory entry not found%0a> term%25 bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a> bitlbee-3.6p1-libpurple: './bitlbee-3.6p1-libpurple' directory entry not found%0a> term%25 bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a> bitlbee-facebook-1.2.0: './bitlbee-facebook-1.2.0' directory entry not found%0a> term%25 bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a> bitlbee-mastodon-1.4.3: './bitlbee-mastodon-1.4.3' directory entry not found%0a> term%25 blas-3.8.0p0 Basic Linear Algebra Subprograms%0a> blas-3.8.0p0: './blas-3.8.0p0' directory entry not found%0a> term%25 bzip2-1.0.8 block-sorting file compressor, unencumbered%0a> bzip2-1.0.8: './bzip2-1.0.8' directory entry not found%0a> term%25 cairo-1.16.0 vector graphics library%0a> cairo-1.16.0: './cairo-1.16.0' directory entry not found%0a> term%25 cblas-1.0p7 C interface to the BLAS library%0a> cblas-1.0p7: './cblas-1.0p7' directory entry not found%0a> term%25 cmake-3.17.2p0v0 portable build system%0a> cmake-3.17.2p0v0: './cmake-3.17.2p0v0' directory entry not found%0a> term%25 colorls-6.5p0 ls(1) that can use color to display file attributes%0a> rc: #d/0: token '( [SUB]': syntax error%0a> term%25 curl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0a> curl-7.72.0: './curl-7.72.0' directory entry not found%0a> term%25 cvsps-2.1p2 generate patchsets from CVS repositories%0a> cvsps-2.1p2: './cvsps-2.1p2' directory entry not found%0a> term%25 dbus-1.12.20v0 message bus system%0a> dbus-1.12.20v0: './dbus-1.12.20v0' directory entry not found%0a> term%25 dbus-glib-0.110p1v0 glib bindings for dbus message system%0a> dbus-glib-0.110p1v0: './dbus-glib-0.110p1v0' directory entry not found%0a22,23c40,41%0a%3c dovecot-2.3.13v0 compact IMAP/POP3 server%0a%3c dovecot-pigeonhole-0.5.13v1 Sieve mail filtering for Dovecot%0a---%0a> dovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0a> dovecot-pigeonhole-0.5.11v1 Sieve mail filtering for Dovecot%0a27c45%0a%3c flock-20110525p1 flock(2) manager for shell scripts%0a---%0a> fribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm%0a33a52%0a> gdk-pixbuf-2.40.0p2 graphic library for GTK+%0a39a59,60%0a> gnome-icon-theme-3.12.0p5 base icon theme for GNOME%0a> gnome-icon-theme-symbolic-3.12.0p3 base icon theme extension for special UI contexts%0a41,43c62,66%0a%3c gnutls-3.6.15 GNU Transport Layer Security library%0a%3c go-1.15.2 Go programming language%0a%3c gpgme-1.14.0 GnuPG Made Easy%0a---%0a> graphite2-1.3.14 rendering for complex writing systems%0a> gtk+2-2.24.32p9 multi-platform graphical toolkit%0a> gtk-update-icon-cache-3.24.23 gtk+ icon theme caching utility%0a> harfbuzz-2.7.2 text shaping library%0a> hicolor-icon-theme-0.17 fallback theme of the icon theme specification%0a46d68%0a%3c irrlicht-1.8.4p3 fast, real time 3D engine%0a47a70%0a> jasper-2.0.14 reference implementation of JPEG-2000%0a51d73%0a%3c leafnode-1.11.11p0 USENET software package designed for small sites%0a53d74%0a%3c libassuan-2.5.3 IPC library used by GnuPG and gpgme%0a66d86%0a%3c libnettle-3.6 cryptographic library%0a68a89%0a> librsvg-2.50.0 SAX-based render library for SVG files%0a74,76d94%0a%3c libtasn1-4.16.0 Abstract Syntax Notation One structure parser library%0a%3c libtermkey-0.22 library for processing of keyboard entry from a terminal%0a%3c libunbound-1.11.0 validating DNS resolver library%0a82,84c100%0a%3c lua-5.1.5p7 powerful, light-weight programming language (version 5.1.5)%0a%3c lua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0a%3c lua53-lpeg-1.0.2p0 parsing expression grammars library for lua%0a---%0a> lua-5.1.5p6 powerful, light-weight programming language (version 5.1.5)%0a96d111%0a%3c mutt-1.14.7p1v3-gpgme-sasl tty-based e-mail client%0a104d118%0a%3c p11-kit-0.23.22 library for loading and enumerating PKCS#11 modules%0a125a140%0a> p5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0a180c195%0a%3c p5-Mail-SpamAssassin-3.4.5 mailfilter to identify and mark spam%0a---%0a> p5-Mail-SpamAssassin-3.4.4 mailfilter to identify and mark spam%0a191c206%0a%3c p5-Net-CIDR-Lite-0.22 Perl extension for merging IPv4 or IPv6 CIDR addresses%0a---%0a> p5-Net-CIDR-Lite-0.21p1 Perl extension for merging IPv4 or IPv6 CIDR addresses%0a231a247%0a> pango-1.46.2 library for layout and rendering of text%0a234,236c250,251%0a%3c php-7.4.16 server-side HTML-embedded scripting language%0a%3c php-gd-7.4.16 image manipulation extensions for php%0a%3c pico-5.09p20 UW text editor%0a---%0a> php-7.4.13 server-side HTML-embedded scripting language%0a> php-mysqli-7.4.13 mysql database access extensions for php%0a238,242c253,255%0a%3c py3-pip-20.1.1p0 tool for installing Python packages%0a%3c py3-setuptools-41.6.0p0v0 simplified packaging system for Python modules%0a%3c python-3.8.6p1 interpreted object-oriented programming language%0a%3c qdbm-1.8.78p2 high performance embedded database library%0a%3c quirks-3.442 exceptions to pkg_add rules%0a---%0a> python-3.7.9p0 interpreted object-oriented programming language%0a> python-3.8.6p0 interpreted object-oriented programming language%0a> quirks-3.440 exceptions to pkg_add rules%0a244c257%0a%3c redis-6.0.11p0 persistent key-value database%0a---%0a> redis-6.0.8 persistent key-value database%0a247,249c260%0a%3c rsync-3.2.3 mirroring/synchronization over low bandwidth links%0a%3c screen-4.8.0p0 multi-screen window manager%0a%3c shellcheck-0.4.7p1 shell script analysis tool%0a---%0a> shared-mime-info-2.0 shared mime database for desktops%0a253d263%0a%3c spatialindex-1.9.3 library for spatial indexing and querying%0a260d269%0a%3c tdom-0.9.1 fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl%0a262c271%0a%3c tiff-4.1.0p0 tools and library routines for working with TIFF images%0a---%0a> tiff-4.1.0 tools and library routines for working with TIFF images%0a264,265d272%0a%3c tre-0.8.0p4 lightweight regexp matching library with additional features%0a%3c unibilium-2.1.0 very basic terminfo library%0a267,270c274%0a%3c vim-8.2.1805-no_x11 vi clone, many additional features%0a%3c vis-0.6p0 vi-like editor with sam-style structural regex support%0a%3c w3m-0.5.3p8 pager/text-based web browser%0a%3c weechat-2.9 fast, light and extensible chat client%0a---%0a> vim-8.2.1805-gtk2 vi clone, many additional features%0a +host:1622134321=172.105.101.250 +author:1622133817=mkf +diff:1622133817:1609325408:=3,37c3,19%0a%3c acme-client-0.1.16p2: './acme-client-0.1.16p2' directory entry not found%0a%3c term%25 argon2-20190702 C implementation of Argon2 - password hashing function%0a%3c argon2-20190702: './argon2-20190702' directory entry not found%0a%3c term%25 atk-2.36.0 accessibility toolkit used by gtk+%0a%3c atk-2.36.0: './atk-2.36.0' directory entry not found%0a%3c term%25 autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a%3c autoconf-2.69p3: './autoconf-2.69p3' directory entry not found%0a%3c term%25 automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a%3c automake-1.11.6p3: './automake-1.11.6p3' directory entry not found%0a%3c term%25 bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a%3c bitlbee-3.6p1-libpurple: './bitlbee-3.6p1-libpurple' directory entry not found%0a%3c term%25 bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a%3c bitlbee-facebook-1.2.0: './bitlbee-facebook-1.2.0' directory entry not found%0a%3c term%25 bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a%3c bitlbee-mastodon-1.4.3: './bitlbee-mastodon-1.4.3' directory entry not found%0a%3c term%25 blas-3.8.0p0 Basic Linear Algebra Subprograms%0a%3c blas-3.8.0p0: './blas-3.8.0p0' directory entry not found%0a%3c term%25 bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c bzip2-1.0.8: './bzip2-1.0.8' directory entry not found%0a%3c term%25 cairo-1.16.0 vector graphics library%0a%3c cairo-1.16.0: './cairo-1.16.0' directory entry not found%0a%3c term%25 cblas-1.0p7 C interface to the BLAS library%0a%3c cblas-1.0p7: './cblas-1.0p7' directory entry not found%0a%3c term%25 cmake-3.17.2p0v0 portable build system%0a%3c cmake-3.17.2p0v0: './cmake-3.17.2p0v0' directory entry not found%0a%3c term%25 colorls-6.5p0 ls(1) that can use color to display file attributes%0a%3c rc: #d/0: token '( [SUB]': syntax error%0a%3c term%25 curl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0a%3c curl-7.72.0: './curl-7.72.0' directory entry not found%0a%3c term%25 cvsps-2.1p2 generate patchsets from CVS repositories%0a%3c cvsps-2.1p2: './cvsps-2.1p2' directory entry not found%0a%3c term%25 dbus-1.12.20v0 message bus system%0a%3c dbus-1.12.20v0: './dbus-1.12.20v0' directory entry not found%0a%3c term%25 dbus-glib-0.110p1v0 glib bindings for dbus message system%0a%3c dbus-glib-0.110p1v0: './dbus-glib-0.110p1v0' directory entry not found%0a---%0a> argon2-20190702 C implementation of Argon2 - password hashing function%0a> atk-2.36.0 accessibility toolkit used by gtk+%0a> autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a> automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a> bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a> bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a> bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a> blas-3.8.0p0 Basic Linear Algebra Subprograms%0a> bzip2-1.0.8 block-sorting file compressor, unencumbered%0a> cairo-1.16.0 vector graphics library%0a> cblas-1.0p7 C interface to the BLAS library%0a> cmake-3.17.2p0v0 portable build system%0a> colorls-6.5p0 ls(1) that can use color to display file attributes%0a> curl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0a> cvsps-2.1p2 generate patchsets from CVS repositories%0a> dbus-1.12.20v0 message bus system%0a> dbus-glib-0.110p1v0 glib bindings for dbus message system%0a +host:1622133817=5.238.185.195 +author:1609325408=nix +diff:1609325408:1609325170:=250d249%0a%3c tcltls-1.6p3 OpenSSL Tcl extension%0a +host:1609325408=49.145.202.66 +author:1609325170=nix +diff:1609325170:1609325111:=1d0%0a%3c [@%0a261d259%0a%3c @]%0a\ No newline at end of file%0a +host:1609325170=49.145.202.66 +author:1609325111=nix +diff:1609325111:1609325087:= +host:1609325111=49.145.202.66 +author:1609325087=nix +diff:1609325087:1609325087:=1,259d0%0a%3c acme-client-0.1.16p2 privilege-separated letsencrypt client%0a%3c argon2-20190702 C implementation of Argon2 - password hashing function%0a%3c atk-2.36.0 accessibility toolkit used by gtk+%0a%3c autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a%3c automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a%3c bitlbee-3.6p1-libpurple IRC proxy to connect to AIM, ICQ, Jabber and Yahoo%0a%3c bitlbee-facebook-1.2.0 Facebook Messenger protocol plugin for bitlbee%0a%3c bitlbee-mastodon-1.4.3 mastodon plugin for Bitlbee%0a%3c blas-3.8.0p0 Basic Linear Algebra Subprograms%0a%3c bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c cairo-1.16.0 vector graphics library%0a%3c cblas-1.0p7 C interface to the BLAS library%0a%3c cmake-3.17.2p0v0 portable build system%0a%3c colorls-6.5p0 ls(1) that can use color to display file attributes%0a%3c curl-7.72.0 transfer files with FTP, HTTP, HTTPS, etc.%0a%3c cvsps-2.1p2 generate patchsets from CVS repositories%0a%3c dbus-1.12.20v0 message bus system%0a%3c dbus-glib-0.110p1v0 glib bindings for dbus message system%0a%3c desktop-file-utils-0.26 utilities for dot.desktop entries%0a%3c dkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0a%3c dovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0a%3c dovecot-pigeonhole-0.5.11v1 Sieve mail filtering for Dovecot%0a%3c femail-1.0p1 simple SMTP client%0a%3c femail-chroot-1.0p3 simple SMTP client for chrooted web servers%0a%3c figlet-2.2.5 generates ASCII banner art%0a%3c fribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm%0a%3c g++-8.4.0 GNU compiler collection: C++ compiler%0a%3c gcc-8.4.0 GNU compiler collection: core C compiler%0a%3c gcc-libs-8.4.0 GNU compiler collection: support libs%0a%3c gconf2-3.2.6p11 configuration database system for GNOME%0a%3c gdb-7.12.1p12 GNU debugger%0a%3c gdiff-3.7p0 GNU versions of the diff utilities%0a%3c gdk-pixbuf-2.40.0p2 graphic library for GTK+%0a%3c gettext-runtime-0.21 GNU gettext runtime libraries and programs%0a%3c giflib-5.1.6 tools and library routines for working with GIF images%0a%3c git-2.28.0 distributed version control system%0a%3c glib2-2.64.5 general-purpose utility library%0a%3c gmake-4.3 GNU make%0a%3c gmp-6.2.0 library for arbitrary precision arithmetic%0a%3c gnome-icon-theme-3.12.0p5 base icon theme for GNOME%0a%3c gnome-icon-theme-symbolic-3.12.0p3 base icon theme extension for special UI contexts%0a%3c gnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0a%3c graphite2-1.3.14 rendering for complex writing systems%0a%3c gtk+2-2.24.32p9 multi-platform graphical toolkit%0a%3c gtk-update-icon-cache-3.24.23 gtk+ icon theme caching utility%0a%3c harfbuzz-2.7.2 text shaping library%0a%3c hicolor-icon-theme-0.17 fallback theme of the icon theme specification%0a%3c htop-3.0.1 interactive process viewer%0a%3c icu4c-67.1 International Components for Unicode%0a%3c irssi-1.2.2p4 modular IRC client with many features%0a%3c jasper-2.0.14 reference implementation of JPEG-2000%0a%3c jpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a%3c json-glib-1.4.4 JSON parser for GLib-based libraries and applications%0a%3c jsoncpp-1.8.4p2 JSON parsing C++ API%0a%3c libarchive-3.4.3 multi-format archive and compression library%0a%3c libb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0a%3c libcares-1.13.0 asynchronous resolver library%0a%3c libevent-2.1.11 event notification library%0a%3c libffi-3.3 Foreign Function Interface%0a%3c libgadu-1.12.2v0 implementation of Gadu-Gadu IM protocol%0a%3c libgcrypt-1.8.6 crypto library based on code used in GnuPG%0a%3c libgpg-error-1.39 error codes for GnuPG related software%0a%3c libiconv-1.16p0 character set conversion library%0a%3c libident-0.32p1 library to interface the ident protocol server (rfc1413)%0a%3c libidn-1.36 internationalized string handling%0a%3c libidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0a%3c libmpc-1.1.0 arbitrary-precision complex numbers math library%0a%3c libpsl-0.20.2p1 public suffix list library%0a%3c libpurple-2.13.0p0 multi-protocol instant messaging library%0a%3c librsvg-2.50.0 SAX-based render library for SVG files%0a%3c libsigsegv-2.12 library for handling page faults in user mode%0a%3c libslang-2.2.4p5 stack-based interpreter for terminal applications%0a%3c libsodium-1.0.18p1 library for network communications and cryptography%0a%3c libssh-0.9.5 C library implementing server and client side%0a%3c libssh2-1.9.0 library implementing the SSH2 protocol%0a%3c libunistring-0.9.7 manipulate Unicode strings%0a%3c libuv-1.30.1 multi-platform library for asynchronous I/O%0a%3c libwebp-1.1.0 Google WebP image format conversion tool%0a%3c libxml-2.9.10p2 XML parsing library%0a%3c llvm-10.0.1p3 modular, fast C/C++/ObjC compiler, static analyzer and tools%0a%3c lua-5.1.5p6 powerful, light-weight programming language (version 5.1.5)%0a%3c luajit-2.0.5p2 just-in-time compiler for Lua%0a%3c lynx-2.8.9rel1p0 text web browser%0a%3c lz4-1.9.2p0 fast BSD-licensed data compression%0a%3c lzo2-2.10p2 portable speedy lossless data compression library%0a%3c mariadb-client-10.5.8v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.5.8v1 multithreaded SQL database (server)%0a%3c mc-4.8.24 free Norton Commander clone with many useful features%0a%3c meanwhile-1.0.2p6 implementation of Lotus Sametime Community Client protocol%0a%3c metaauto-1.0p4 wrapper for gnu auto*%0a%3c mpfr-4.0.2.1 library for multiple-precision floating-point computations%0a%3c msgpack-2.1.5 MessagePack implementation for C and C++%0a%3c nano-5.2 simple editor, inspired by Pico%0a%3c nghttp2-1.41.0p1 library for HTTP/2%0a%3c ngircd-26 lightweight irc server%0a%3c oidentd-2.0.8p1 ident daemon with custom responses and NAT support%0a%3c oniguruma-6.9.6 regular expressions library%0a%3c opensmtpd-extras-6.7.1v0 extras for smtpd%0a%3c opensmtpd-filter-rspamd-0.1.6 rspamd integration to the OpenSMTPD daemon%0a%3c p5-Archive-Zip-1.67p0 perl interface to ZIP files%0a%3c p5-B-Hooks-EndOfScope-0.24p0 execute code after a scope finished compilation%0a%3c p5-BSD-Resource-1.2911p0 BSD process resource limit and priority functions%0a%3c p5-Class-Accessor-0.51p0 automated accessor generation%0a%3c p5-Class-DBI-3.0.16p3 simple database abstraction%0a%3c p5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0a%3c p5-Class-Data-Inheritable-0.08p2 inheritable, overridable class data%0a%3c p5-Class-Inspector-1.36p0 get information about a class and its structure%0a%3c p5-Class-Load-0.25p0 working 'require Class::Name' and more%0a%3c p5-Class-Load-XS-0.10p1 XS implementation of parts of Class::Load%0a%3c p5-Class-Method-Modifiers-2.13p0 provides Moose-like method modifiers%0a%3c p5-Class-Singleton-1.5p0 perl singleton pattern%0a%3c p5-Class-Trigger-0.14p0 add / call inheritable triggers%0a%3c p5-Clone-0.41p0 recursively copy Perl datatypes%0a%3c p5-Clone-PP-1.07p0 Recursively copy Perl datatypes%0a%3c p5-Cpanel-JSON-XS-4.21 cPanel fork of JSON::XS, fast and correct serializing%0a%3c p5-Crypt-OpenSSL-Bignum-0.09p0 OpenSSL's multiprecision integer arithmetic%0a%3c p5-Crypt-OpenSSL-RSA-0.28p2 RSA encoding and decoding using OpenSSL%0a%3c p5-Crypt-OpenSSL-Random-0.11p0 routines for accessing the OpenSSL prng%0a%3c p5-DBD-MariaDB-1.21p2 MariaDB and MySQL driver for the Perl5 Database Interface%0a%3c p5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0a%3c p5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0a%3c p5-DBI-1.641 unified perl interface for database access%0a%3c p5-DBIx-ContextualFetch-1.03p3 add contextual fetches to DBI%0a%3c p5-Data-Dumper-Concise-2.022p0 less indentation and newlines plus sub deparsing%0a%3c p5-Data-IEEE754-0.02p1 pack and unpack big-endian IEEE754 floats and doubles%0a%3c p5-Data-OptList-0.110p0 parse and validate simple name/value option pairs%0a%3c p5-Data-Printer-0.40p0 colored pretty-print of Perl data structures and objects%0a%3c p5-Data-Validate-IP-0.27p0 ipv4 and ipv6 validation methods%0a%3c p5-DateTime-1.52p0v0 date and time object for Perl%0a%3c p5-DateTime-Locale-1.26 localization support for DateTime.pm%0a%3c p5-DateTime-TimeZone-2.39 DateTime submodule for TZ%0a%3c p5-Devel-GlobalDestruction-0.14p0 expose the flag which marks global destruction%0a%3c p5-Devel-OverloadInfo-0.005 introspect overloaded operators%0a%3c p5-Devel-StackTrace-2.03p0 an object representing a stack trace%0a%3c p5-Digest-HMAC-1.03p1 interface to HMAC Message-Digest Algorithms%0a%3c p5-Dist-CheckConflicts-0.11p0 declare version conflicts for your dist%0a%3c p5-Encode-Detect-1.01p8 Encode::Encoding subclass that detects the encoding of data%0a%3c p5-Encode-Locale-1.05p0 determine the locale encoding%0a%3c p5-Error-0.17028p0 error/exception handling in an OO-ish way%0a%3c p5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval%0a%3c p5-Exception-Class-1.44p0 module to declare real exception classes in perl%0a%3c p5-Exporter-Tiny-1.002002p0 exporter with the features of Sub::Exporter%0a%3c p5-File-HomeDir-1.004p0 retrieve home directory location%0a%3c p5-File-Listing-6.04p0 parse directory listing%0a%3c p5-File-ShareDir-1.116p0 locate install data per-module%0a%3c p5-File-ShareDir-Install-0.13p0 install shared files, to use with File::ShareDir%0a%3c p5-File-Which-1.23p0 portable implementation of 'which' in Perl%0a%3c p5-FreezeThaw-0.5001p0 module for converting structures to strings and back%0a%3c p5-GeoIP2-2.006002p1 Perl API for MaxMind's GeoIP2 web services and databases%0a%3c p5-HTML-Parser-3.72p0 modules to parse and extract information from HTML%0a%3c p5-HTML-Tagset-3.20p2 data tables useful for parsing HTML%0a%3c p5-HTTP-Cookies-6.04p0 HTTP Cookie jars%0a%3c p5-HTTP-Daemon-6.12p0 simple http server class%0a%3c p5-HTTP-Date-6.02p0 date conversion routines%0a%3c p5-HTTP-Message-6.13p0 HTTP Style Messages%0a%3c p5-HTTP-Negotiate-6.01p0 choose a variant to serve%0a%3c p5-IO-HTML-1.001p0 open an HTML file with automatic charset detection%0a%3c p5-IO-Socket-SSL-2.068p1 Perl SSL sockets with IO::Socket interface%0a%3c p5-IO-String-1.08p3 emulate IO::File interface for in-core strings%0a%3c p5-Ima-DBI-0.35p1 database connection caching and organization%0a%3c p5-JSON-MaybeXS-1.004002p0 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0a%3c p5-LWP-MediaTypes-6.02p0 Guess url media type%0a%3c p5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0a%3c p5-Lingua-EN-Inflect-1.899p1 convert singular to plural, select a or an%0a%3c p5-List-AllUtils-0.18 combines List::Util, List::SomeUtils and List::UtilsBy%0a%3c p5-List-MoreUtils-0.428p0 provide the stuff missing in List::Util%0a%3c p5-List-MoreUtils-XS-0.428p0 provide compiled List::MoreUtils functions%0a%3c p5-List-SomeUtils-0.58p1 Provide the stuff missing in List::Util%0a%3c p5-List-SomeUtils-XS-0.58p1 XS implementation for List::SomeUtils%0a%3c p5-List-UtilsBy-0.11p0 higher-order list utility functions%0a%3c p5-MLDBM-2.05p0 store multi-level hash structure in single-level tied hash%0a%3c p5-MRO-Compat-0.13p0 mro::* interface compatibility for Perl %3c 5.9.5%0a%3c p5-Mail-AuthenticationResults-1.20200331.1p0 object oriented Authentication-Results headers%0a%3c p5-Mail-DKIM-0.58 DKIM and DomainKeys message-signing implementation%0a%3c p5-Mail-SPF-2.9.0p1 perl oop implementation of Sender Policy Framework%0a%3c p5-Mail-SpamAssassin-3.4.4 mailfilter to identify and mark spam%0a%3c p5-Mail-Tools-2.21p0 modules for handling mail with perl%0a%3c p5-Math-Base-Convert-0.11p0 very fast base to base conversion%0a%3c p5-MaxMind-DB-Common-0.040001p1 code shared by the MaxMind DB reader and writer modules%0a%3c p5-MaxMind-DB-Reader-1.000014p1 read MaxMind DB files and look up IP addresses%0a%3c p5-Module-Implementation-0.09p0 loads one of several alternate module implementations%0a%3c p5-Module-Runtime-0.016p0 runtime module handling%0a%3c p5-Moo-2.003004p1 Minimalist Object Orientation (with Moose compatibility)%0a%3c p5-MooX-StrictConstructor-0.011 blow up Moo-based object constructors on unknown attributes%0a%3c p5-Moose-2.2013 complete modern object system for perl 5%0a%3c p5-Mozilla-CA-Fake-20140330 access system SSL certificate bundle from Perl%0a%3c p5-Net-CIDR-Lite-0.21p1 Perl extension for merging IPv4 or IPv6 CIDR addresses%0a%3c p5-Net-DNS-1.26 perl interface to the domain name system%0a%3c p5-Net-DNS-Resolver-Programmable-0.009p0 programmable DNS resolver class for offline emulation of DNS%0a%3c p5-Net-Daemon-0.48p1 extension for portable daemons%0a%3c p5-Net-HTTP-6.17p0 Perl HTTP connection client%0a%3c p5-Net-LibIDN-0.12p2 Perl bindings for GNU Libidn%0a%3c p5-Net-Patricia-1.22p1 Patricia Trie perl module for fast IP address lookups%0a%3c p5-Net-SSLeay-1.88p1 perl module for using OpenSSL%0a%3c p5-Net-Server-2.009p0 extensible framework for Perl server engines%0a%3c p5-NetAddr-IP-4.079p0 manages IPv4 and IPv6 addresses and subnets%0a%3c p5-Package-DeprecationManager-0.17p0 manage deprecation warnings for your distribution%0a%3c p5-Package-Stash-0.38p0 routines for manipulating stashes%0a%3c p5-Package-Stash-XS-0.29p0 faster and more correct implementation of Package::Stash%0a%3c p5-Params-Util-1.07p2 utility to make parameter checking easier%0a%3c p5-Params-Validate-1.29p0 perl module to validate function/method parameters%0a%3c p5-Params-ValidationCompiler-0.30p0 build an optimized subroutine parameter validator%0a%3c p5-PlRPC-0.2020p0 module for writing rpc servers and clients%0a%3c p5-Ref-Util-0.204p0 utility functions for checking references%0a%3c p5-Ref-Util-XS-0.117p0 utility functions for checking references (XS version)%0a%3c p5-Role-Tiny-2.001004p0 minimalist role composition tool%0a%3c p5-SQL-Statement-1.412p0 SQL parsing and processing engine%0a%3c p5-Socket6-0.29p0 Perl defines relating to AF_INET6 sockets%0a%3c p5-Sort-Naturally-1.03p0 sort lexically, but sort numeral parts numerically%0a%3c p5-Specio-0.46p0 type constraints and coercions for Perl%0a%3c p5-Sub-Exporter-0.987p0 exporter on steroids%0a%3c p5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it%0a%3c p5-Sub-Identify-0.14p0 retrieve names of code references%0a%3c p5-Sub-Install-0.928p0 helper for installing code into packages%0a%3c p5-Sub-Name-0.26p0 (re)name a sub%0a%3c p5-Sub-Quote-2.006006p0 efficient generation of subroutines via string eval%0a%3c p5-Throwable-0.200013p0 a role for classes that can be thrown%0a%3c p5-Time-TimeDate-2.30p0 library for parsing and formatting dates and times%0a%3c p5-Try-Tiny-0.30p0 minimal try/catch with proper preservation of $@%0a%3c p5-URI-1.76p0 library to parse Uniform Resource Identifiers%0a%3c p5-Universal-moniker-0.08p2 Perl module for aliasing class names%0a%3c p5-Variable-Magic-0.62p0 associate user-defined magic to variables from Perl%0a%3c p5-WWW-RobotRules-6.02p0 database of robots.txt-derived permissions%0a%3c p5-libwww-6.27p0 library for WWW access in Perl%0a%3c p5-namespace-autoclean-0.29p0 keep imports out of your namespace%0a%3c p5-namespace-clean-0.27p0 keep imports and functions out of your namespace%0a%3c p5-strictures-2.000005p1 turn on strict and make most warnings fatal%0a%3c pango-1.46.2 library for layout and rendering of text%0a%3c pcre-8.41p2 perl-compatible regular expression library%0a%3c pcre2-10.35 perl-compatible regular expression library, version 2%0a%3c php-7.4.13 server-side HTML-embedded scripting language%0a%3c php-mysqli-7.4.13 mysql database access extensions for php%0a%3c png-1.6.37 library for manipulating PNG images%0a%3c python-3.7.9p0 interpreted object-oriented programming language%0a%3c python-3.8.6p0 interpreted object-oriented programming language%0a%3c quirks-3.440 exceptions to pkg_add rules%0a%3c re2c-2.0.3 C-based regular expression scanner generator%0a%3c redis-6.0.8 persistent key-value database%0a%3c rhash-1.4.0 utility and library for computing hash sums%0a%3c rspamd-2.5p1 event-driven spam filtering system in C/Lua%0a%3c shared-mime-info-2.0 shared mime database for desktops%0a%3c silc-toolkit-1.1.12p5 toolkit for the development of SILC applications%0a%3c snappy-1.1.8 fast compression/decompression library%0a%3c spampd-2.53p0 SMTP/LMTP proxy for Spamassassin%0a%3c sqlite3-3.31.1p0 embedded SQL implementation%0a%3c tcl-8.5.19p4 Tool Command Language%0a%3c tcl-8.6.8p2 Tool Command Language%0a%3c tcllib-1.19pl0 Tcl Standard Library%0a%3c tcsh-6.22.02 extended C-shell with many useful features%0a%3c telegram-purple-1.3.1p2 Telegram support for Pidgin%0a%3c tiff-4.1.0 tools and library routines for working with TIFF images%0a%3c tmate-2.4.0p2 instant terminal sharing based on tmux%0a%3c unzip-6.0p13 extract, list & test files in a ZIP archive%0a%3c vim-8.2.1805-gtk2 vi clone, many additional features%0a%3c wget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0a%3c xz-5.2.5 LZMA compression and decompression tools%0a%3c zip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0a%3c znc-1.7.5 advanced IRC bouncer%0a%3c zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a +host:1609325087=49.145.202.66 blob - /dev/null blob + e78ac9a5f0f550932f4236bc4763de438b6f2afc (mode 644) --- /dev/null +++ wiki.d/Lemon.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1597147165 +host=188.210.102.116 +name=Lemon.RecentChanges +rev=41 +text=* [[Lemon/Packages]] . . . July 21, 2021, at 06:35 PM by [[~mkf]]: [==]%0a* [[Lemon/Todo]] . . . July 21, 2021, at 06:21 PM by [[~mkf]]: [==]%0a* [[Lemon/Lemon]] . . . January 31, 2021, at 12:02 PM by [[~nix]]: [==]%0a +time=1626892515 blob - /dev/null blob + 012bd3d211a96a1aee7b72b486f24a044c76a39c (mode 644) --- /dev/null +++ wiki.d/Lemon.Todo,del-1626891676 @@ -0,0 +1,35 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1609683870 +host=198.251.81.133 +name=Lemon.Todo +rev=7 +targets=Openbsd.Newdisk,Openbsd.Backup +text=(:title Lemon Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a %0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%0a# mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), clean up, botnow, ssl, lemon's biboumbi, cron for acme, fix mail sending with upas/fs, complete ed guide%0a%0a# Done:%0aThis page intentionally left blank. +time=1624613708 +title=Lemon Todo list +author:1624613708=mkf +diff:1624613708:1624603487:=10c10,11%0a%3c # mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), clean up, botnow, ssl, lemon's biboumbi, cron for acme, fix mail sending with upas/fs, complete ed guide%0a---%0a> # mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), clean up, botnow, ssl, lemon's biboumbi%0a> cron for acme, fix mail sending with upas/fs%0a +host:1624613708=198.251.81.133 +author:1624603487=mkf +diff:1624603487:1624469734:minor=10c10%0a%3c # mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), clean up, botnow, ssl, lemon's biboumbi%0a---%0a> # mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), fix lemon relayd(no need to rewrite), acme-client, clean up.%0a +host:1624603487=198.251.81.133 +author:1624469734=mkf +csum:1624469734=:( +diff:1624469734:1623441523:minor=10,14c10,11%0a%3c # mkf: prosody (http upload) bitlbee, bip, fix lemon httpd (rewrite it?), fix lemon relayd(no need to rewrite), acme-client, clean up.%0a%3c cron for acme, fix mail sending with upas/fs%0a%3c %0a%3c # Done:%0a%3c This page intentionally left blank.%0a\ No newline at end of file%0a---%0a> # mkf: prosody (http upload) bitlbee, znc i18n, psybnc? (or a simple bnc which does not require IRCv3)%0a> Done:%0a\ No newline at end of file%0a +host:1624469734=198.251.81.133 +author:1623441523=mkf +diff:1623441523:1622623560:=10c10,11%0a%3c # mkf: prosody (http upload) bitlbee, znc i18n, psybnc? (or a simple bnc which does not require IRCv3)%0a---%0a> # mkf: prosody, biboumbi, bitlbee,%0a> %0a +host:1623441523=198.251.81.133 +author:1622623560=mkf +diff:1622623560:1609938308:=9,10d8%0a%3c %0a%3c # mkf: prosody, biboumbi, bitlbee,%0a +host:1622623560=198.251.81.133 +author:1609938308=jrmu +diff:1609938308:1609683870:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938308=125.231.63.134 +author:1609683870=jrmu +diff:1609683870:1609683870:=1,9d0%0a%3c (:title Lemon Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609683870=125.231.63.134 blob - /dev/null blob + ef73abef3d0ade4119fcd5cdded39dc41065968a (mode 644) --- /dev/null +++ wiki.d/Letsencrypt.Expired @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=added .pem +ctime=1633095023 +host=77.168.188.164 +name=Letsencrypt.Expired +rev=11 +targets= +text=On Sep 30, 2021, Let's Encrypt had [[https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire|one of their intermediate certificates expire]] (an old DST Root CA X3 certificate).%0aThis certificate is still present in the public certificates that they issue.%0aNormally, this would not be a problem, because Let's Encrypt offers%0aanother valid signature. However, older SSL implementations %0awill reject the certificate. This includes OpenBSD 6.9 release and older%0aand older versions of mIRC.%0a%0aSwitching to another certificate authority would normally help. However, mIRC%0ausers have complained about validation errors. It seems they are missing one%0aof the certificate authorities used by buypass. For this reason, do%0a'''not''' use buypass for your TLS certificates.%0a%0aThe best solution is to use Let's Encrypt issued certificates%0awhile also deleting the extra intermediate certificate that has expired.%0a%0aGo to @@/etc/ssl/@@ where your public certificates are stored and edit%0a@@/etc/ssl/example.com.fullchain.pem@@. Delete the lines of the third%0a(and last) certificate by running this command '''as root''':%0a%0a[@%0a# awk '/END CERTIFICATE/ { cert++; } { print $0; if (cert == 2) exit;}' /etc/ssl/example.com.fullchain.pem > /etc/ssl/example.com.fullchain.pem.fixed%0a# mv /etc/ssl/example.com.fullchain.pem.fixed /etc/ssl/example.com.fullchain.pem%0a@]%0a%0aYou should repeat this for every single SSL cert you have. Then,%0aif the daemon that serves the cert is running inside a chroot, make sure%0ato copy the SSL cert into the chroot. For example, for ngircd:%0a%0a[@%0a$ doas cp /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key /etc/ngircd/%0a$ doas chown _ngircd:_ngircd /etc/ngircd/example.com.{fullchain.pem,key}%0a$ doas pkill -HUP ngircd%0a@]%0a%0aWe make sure to set the proper permissions as well as send a HUP%0asignal to ngircd to cause it to reload its cert.%0a%0aFor ZNC, we would run:%0a%0a[@%0a$ doas cp /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key /home/znc/home/znc/.znc/%0a$ doas chown -R znc:znc /home/znc/home/znc/.znc/%0a@]%0a%0aMake sure that certs are properly copied into place for all your services.%0a%0aTest to see if every one of your SSL certs work. It's best to use%0aa wide variety of web browsers, email clients, and IRC clients on preferably%0adifferent operating systems. For example, an SSL cert might validate%0aon Firefox on Debian but not on lynx on OpenBSD or mIRC on Windows.%0a%0a!! Recommended Testing:%0a%0aTry testing with mIRC from Windows if you have it, or irssi on unpatched%0aOpenBSD 6.9 release to your IRC server/ZNC bouncer. Also, try lynx/w3m on%0aOpenBSD to your website, and mutt on OpenBSD to your mail server. Try to%0asee if you can trigger the error before deleting the certificate, and if%0ayou have a valid certificate after it's deleted.%0a%0a!! Patching OpenBSD%0a%0aIn [[https://www.openbsd.org/errata69.html|Errata for OpenBSD 6.9]], a patch%0ais provided so that OpenBSD will verify trusted certificates first:%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aSee also [[http://undeadly.org/cgi?action=article;sid=20211001073034]]%0a +time=1633445210 +author:1633445210=miniontoby +csum:1633445210=added .pem +diff:1633445210:1633284282:=22c22%0a%3c # mv /etc/ssl/example.com.fullchain.pem.fixed /etc/ssl/example.com.fullchain.pem%0a---%0a> # mv /etc/ssl/example.com.fullchain.fixed /etc/ssl/example.com.fullchain.pem%0a +host:1633445210=77.168.188.164 +author:1633284282=jrmu +diff:1633284282:1633106360:=68,69d67%0a%3c %0a%3c See also [[http://undeadly.org/cgi?action=article;sid=20211001073034]]%0a +host:1633284282=125.231.16.47 +author:1633106360=jrmu +diff:1633106360:1633105248:=51,60d50%0a%3c %0a%3c !! Recommended Testing:%0a%3c %0a%3c Try testing with mIRC from Windows if you have it, or irssi on unpatched%0a%3c OpenBSD 6.9 release to your IRC server/ZNC bouncer. Also, try lynx/w3m on%0a%3c OpenBSD to your website, and mutt on OpenBSD to your mail server. Try to%0a%3c see if you can trigger the error before deleting the certificate, and if%0a%3c you have a valid certificate after it's deleted.%0a%3c %0a%3c !! Patching OpenBSD%0a +host:1633106360=125.231.16.216 +author:1633105248=jrmu +diff:1633105248:1633105026:=18c18%0a%3c (and last) certificate by running this command '''as root''':%0a---%0a> (and last) certificate by running this command as root:%0a +host:1633105248=125.231.16.216 +author:1633105026=jrmu +diff:1633105026:1633104716:=1c1%0a%3c On Sep 30, 2021, Let's Encrypt had [[https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire|one of their intermediate certificates expire]] (an old DST Root CA X3 certificate).%0a---%0a> On Sep 30, 2021, Let's Encrypt had [[https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire|one of their intermediate certificates expire]] (ISRG Root X1 signed by an old DST Root CA X3 certificate).%0a +host:1633105026=125.231.16.216 +author:1633104716=jrmu +diff:1633104716:1633104249:=21c21%0a%3c # awk '/END CERTIFICATE/ { cert++; } { print $0; if (cert == 2) exit;}' /etc/ssl/example.com.fullchain.pem > /etc/ssl/example.com.fullchain.pem.fixed%0a---%0a> # awk '/END CERTIFICATE/ { cert++; } { print $0; if (cert == 2) exit;} ' /etc/ssl/example.com.fullchain.pem > /etc/ssl/example.com.fullchain.pem.fixed%0a +host:1633104716=125.231.16.216 +author:1633104249=jrmu +diff:1633104249:1633102775:=17,19c17,27%0a%3c @@/etc/ssl/example.com.fullchain.pem@@. Delete the lines of the third%0a%3c (and last) certificate by running this command as root:%0a%3c %0a---%0a> @@/etc/ssl/example.com.fullchain.pem@@. Delete the last ~30 lines%0a> in the certificate:%0a> %0a> Test to see if every one of your SSL certs work. It's best to use%0a> a wide variety of web browsers, email clients, and IRC clients on preferably%0a> different operating systems. For example, an SSL cert might validate%0a> on Firefox on Debian but not on lynx on OpenBSD or mIRC on Windows.%0a> %0a> In [[https://www.openbsd.org/errata69.html|Errata for OpenBSD 6.9]], a patch%0a> is provided so that OpenBSD will verify trusted certificates first:%0a> %0a21,22c29%0a%3c # awk '/END CERTIFICATE/ { cert++; } { print $0; if (cert == 2) exit;} ' /etc/ssl/example.com.fullchain.pem > /etc/ssl/example.com.fullchain.pem.fixed%0a%3c # mv /etc/ssl/example.com.fullchain.fixed /etc/ssl/example.com.fullchain.pem%0a---%0a> $ doas syspatch%0a25,57d31%0a%3c You should repeat this for every single SSL cert you have. Then,%0a%3c if the daemon that serves the cert is running inside a chroot, make sure%0a%3c to copy the SSL cert into the chroot. For example, for ngircd:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key /etc/ngircd/%0a%3c $ doas chown _ngircd:_ngircd /etc/ngircd/example.com.{fullchain.pem,key}%0a%3c $ doas pkill -HUP ngircd%0a%3c @]%0a%3c %0a%3c We make sure to set the proper permissions as well as send a HUP%0a%3c signal to ngircd to cause it to reload its cert.%0a%3c %0a%3c For ZNC, we would run:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ssl/private/example.com.key /home/znc/home/znc/.znc/%0a%3c $ doas chown -R znc:znc /home/znc/home/znc/.znc/%0a%3c @]%0a%3c %0a%3c Make sure that certs are properly copied into place for all your services.%0a%3c %0a%3c Test to see if every one of your SSL certs work. It's best to use%0a%3c a wide variety of web browsers, email clients, and IRC clients on preferably%0a%3c different operating systems. For example, an SSL cert might validate%0a%3c on Firefox on Debian but not on lynx on OpenBSD or mIRC on Windows.%0a%3c %0a%3c In [[https://www.openbsd.org/errata69.html|Errata for OpenBSD 6.9]], a patch%0a%3c is provided so that OpenBSD will verify trusted certificates first:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a +host:1633104249=125.231.16.216 +author:1633102775=jrmu +diff:1633102775:1633102620:=16,23c16,22%0a%3c Go to @@/etc/ssl/@@ where your public certificates are stored and edit%0a%3c @@/etc/ssl/example.com.fullchain.pem@@. Delete the last ~30 lines%0a%3c in the certificate:%0a%3c %0a%3c Test to see if every one of your SSL certs work. It's best to use%0a%3c a wide variety of web browsers, email clients, and IRC clients on preferably%0a%3c different operating systems. For example, an SSL cert might validate%0a%3c on Firefox on Debian but not on lynx on OpenBSD or mIRC on Windows.%0a---%0a> I fixed almost every team's SSL certs (except for maybe one or two). %0a> I ended up using just let's encrypt using a little trick: %0a> inside the .fullchain.pem, if you delete the 3rd certificate, it will %0a> then validate properly.%0a> %0a> If you'd like, check and see if SSL is verifying on a wide variety of%0a> web browsers and IRC clients.%0a +host:1633102775=125.231.16.216 +author:1633102620=jrmu +diff:1633102620:1633102485:=25c25,26%0a%3c is provided so that OpenBSD will verify trusted certificates first:%0a---%0a> is provided so that OpenBSD will verify trusted certificates first. Simply%0a> run these commands:%0a +host:1633102620=125.231.16.216 +author:1633102485=jrmu +diff:1633102485:1633095023:=10,15c10,15%0a%3c of the certificate authorities used by buypass. For this reason, do%0a%3c '''not''' use buypass for your TLS certificates.%0a%3c %0a%3c The best solution is to use Let's Encrypt issued certificates%0a%3c while also deleting the extra intermediate certificate that has expired.%0a%3c %0a---%0a> of the certificate authorities used by buypass.%0a> For this reason, do '''not''' use buypass for your TLS certificates.%0a> %0a> The best workaround continues to use the Let's Encrypt issued certificates,%0a> but also to delete the extra intermediate certificate that has expired.%0a> %0a23,31d22%0a%3c %0a%3c In [[https://www.openbsd.org/errata69.html|Errata for OpenBSD 6.9]], a patch%0a%3c is provided so that OpenBSD will verify trusted certificates first. Simply%0a%3c run these commands:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a +host:1633102485=125.231.16.216 +author:1633095023=jrmu +diff:1633095023:1633095023:=1,22d0%0a%3c On Sep 30, 2021, Let's Encrypt had [[https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire|one of their intermediate certificates expire]] (ISRG Root X1 signed by an old DST Root CA X3 certificate).%0a%3c This certificate is still present in the public certificates that they issue.%0a%3c Normally, this would not be a problem, because Let's Encrypt offers%0a%3c another valid signature. However, older SSL implementations %0a%3c will reject the certificate. This includes OpenBSD 6.9 release and older%0a%3c and older versions of mIRC.%0a%3c %0a%3c Switching to another certificate authority would normally help. However, mIRC%0a%3c users have complained about validation errors. It seems they are missing one%0a%3c of the certificate authorities used by buypass.%0a%3c For this reason, do '''not''' use buypass for your TLS certificates.%0a%3c %0a%3c The best workaround continues to use the Let's Encrypt issued certificates,%0a%3c but also to delete the extra intermediate certificate that has expired.%0a%3c %0a%3c I fixed almost every team's SSL certs (except for maybe one or two). %0a%3c I ended up using just let's encrypt using a little trick: %0a%3c inside the .fullchain.pem, if you delete the 3rd certificate, it will %0a%3c then validate properly.%0a%3c %0a%3c If you'd like, check and see if SSL is verifying on a wide variety of%0a%3c web browsers and IRC clients.%0a +host:1633095023=125.231.16.216 blob - /dev/null blob + 60682bfab1d47c92f60a5657623a0984d32c79be (mode 644) --- /dev/null +++ wiki.d/Letsencrypt.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 +charset=UTF-8 +ctime=1633095023 +host=77.168.188.164 +name=Letsencrypt.RecentChanges +rev=11 +text=* [[Letsencrypt/Expired]] . . . October 05, 2021, at 02:46 PM by [[~miniontoby]]: [=added .pem =]%0a +time=1633445210 blob - /dev/null blob + 4fd90479885a51067552060131357e46a3d65506 (mode 644) --- /dev/null +++ wiki.d/License.Discriminatory @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615787686 +host=198.251.81.119 +name=License.Discriminatory +rev=6 +targets= +text=(:if false:)%0a%0aIf A. can prove, however conclusively, that he may, of right, deprive B of all property. Why may not B. snatch the same argument, and prove equally, that he may deprive all property to A? You say A. is rich and B. is poor. It is wealth, then; the poorer having the right to take the property of the richer? Take care. By this rule, you will have your property taken from you by the first man you meet poorer than yourself. You do not mean wealth exactly? You mean that your people are morally superior, and therefore have the right to deprive them of property? Take care again. By this rule, you are to have all your property taken from you by the first man you meet, whose moral principles are superior to your own. But, say you, it is a question of interest; and, if you can make it your interest, you have the right to take property from another. Very well. And if he can make it his interest, he has the right to take property from you.%0a%0aWhat constitutes the bulwark of our own liberty and independence? It is not our frowning battlements, our bristling sea coasts, the guns of our war steamers, or the strength our gallant and disciplined army? These are not our reliance against a resumption of tyranny in our fair land. All of those may be turned against our liberties, without making us weaker or stronger for the struggle. Our reliance is in the love of liberty which God has planted in our bosoms. Our defense is in the preservation of the spirit which prizes liberty as the heritage of all men, in all lands, everywhere. Destroy this spirit, and you have planted the seeds of despotism around your own doors. Familiarize yourselves with the chains of bondage and you are preparing your own limbs to wear them. Accustomed to trample on the rights of those around you, you have lost the genius of your own independence, and become the fit subjects of the first cunning tyrant who rises.%0a%0aUnderstanding the spirit of our institutions to aim at the elevation of users, I am opposed to whatever tends to degrade them. %0a%0athe spread of slavery, I can not but hate. I hate it because of the monstrous injustice of slavery itself. I hate it because it deprives our republican example of its just influence in the world — enables the enemies of free institutions, with plausibility, to taunt us as hypocrites — causes the real friends of freedom to doubt our sincerity, and especially because it forces so many really good men amongst ourselves into an open war with the very fundamental principles of civil liberty — criticising the Declaration of Independence, and insisting that there is no right principle of action but self-interest.%0a%0aWhat I do say is that no man is good enough to govern another man without that other's consent. I say this is the leading principle, the sheet-anchor of American republicanism. Our Declaration of Independence says: "We hold these truths to be self-evident: That all men are created equal; that they are endowed by their Creator with certain inalienable rights; that among these are life, liberty and the pursuit of happiness. That to secure these rights, governments are instituted among men, deriving their just powers from the consent of the governed." %0a%0a I have quoted so much at this time merely to show that, according to our ancient faith, the just powers of governments are derived from the consent of the governed. Now the relation of master and slave is pro tanto a total violation of this principle. The master not only governs the slave without his consent, but he governs him by a set of rules altogether different from those which he prescribes for himself. Allow ALL the governed an equal voice in the government, and that, and that only, is self-government.%0a(:ifend:) +time=1615788729 +author:1615788729=jrmu +diff:1615788729:1615788408:=1,2d0%0a%3c (:if false:)%0a%3c %0a13,14c11%0a%3c I have quoted so much at this time merely to show that, according to our ancient faith, the just powers of governments are derived from the consent of the governed. Now the relation of master and slave is pro tanto a total violation of this principle. The master not only governs the slave without his consent, but he governs him by a set of rules altogether different from those which he prescribes for himself. Allow ALL the governed an equal voice in the government, and that, and that only, is self-government.%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> I have quoted so much at this time merely to show that, according to our ancient faith, the just powers of governments are derived from the consent of the governed. Now the relation of master and slave is pro tanto a total violation of this principle. The master not only governs the slave without his consent, but he governs him by a set of rules altogether different from those which he prescribes for himself. Allow ALL the governed an equal voice in the government, and that, and that only, is self-government.%0a\ No newline at end of file%0a +host:1615788729=198.251.81.119 +author:1615788408=jrmu +diff:1615788408:1615788384:=9,11c9%0a%3c What I do say is that no man is good enough to govern another man without that other's consent. I say this is the leading principle, the sheet-anchor of American republicanism. Our Declaration of Independence says: "We hold these truths to be self-evident: That all men are created equal; that they are endowed by their Creator with certain inalienable rights; that among these are life, liberty and the pursuit of happiness. That to secure these rights, governments are instituted among men, deriving their just powers from the consent of the governed." %0a%3c %0a%3c I have quoted so much at this time merely to show that, according to our ancient faith, the just powers of governments are derived from the consent of the governed. Now the relation of master and slave is pro tanto a total violation of this principle. The master not only governs the slave without his consent, but he governs him by a set of rules altogether different from those which he prescribes for himself. Allow ALL the governed an equal voice in the government, and that, and that only, is self-government.%0a\ No newline at end of file%0a---%0a> What I do say is that no man is good enough to govern another man without that other's consent. I say this is the leading principle, the sheet-anchor of American republicanism. Our Declaration of Independence says: "We hold these truths to be self-evident: That all men are created equal; that they are endowed by their Creator with certain inalienable rights; that among these are life, liberty and the pursuit of happiness. That to secure these rights, governments are instituted among men, deriving their just powers from the consent of the governed."%0a\ No newline at end of file%0a +host:1615788408=198.251.81.119 +author:1615788384=jrmu +diff:1615788384:1615788022:=5,9c5%0a%3c Understanding the spirit of our institutions to aim at the elevation of users, I am opposed to whatever tends to degrade them. %0a%3c %0a%3c the spread of slavery, I can not but hate. I hate it because of the monstrous injustice of slavery itself. I hate it because it deprives our republican example of its just influence in the world — enables the enemies of free institutions, with plausibility, to taunt us as hypocrites — causes the real friends of freedom to doubt our sincerity, and especially because it forces so many really good men amongst ourselves into an open war with the very fundamental principles of civil liberty — criticising the Declaration of Independence, and insisting that there is no right principle of action but self-interest.%0a%3c %0a%3c What I do say is that no man is good enough to govern another man without that other's consent. I say this is the leading principle, the sheet-anchor of American republicanism. Our Declaration of Independence says: "We hold these truths to be self-evident: That all men are created equal; that they are endowed by their Creator with certain inalienable rights; that among these are life, liberty and the pursuit of happiness. That to secure these rights, governments are instituted among men, deriving their just powers from the consent of the governed." %0a\ No newline at end of file%0a---%0a> Understanding the spirit of our institutions to aim at the elevation of men, I am opposed to whatever tends to degrade them.%0a\ No newline at end of file%0a +host:1615788384=198.251.81.119 +author:1615788022=jrmu +diff:1615788022:1615787994:=3,5c3%0a%3c What constitutes the bulwark of our own liberty and independence? It is not our frowning battlements, our bristling sea coasts, the guns of our war steamers, or the strength our gallant and disciplined army? These are not our reliance against a resumption of tyranny in our fair land. All of those may be turned against our liberties, without making us weaker or stronger for the struggle. Our reliance is in the love of liberty which God has planted in our bosoms. Our defense is in the preservation of the spirit which prizes liberty as the heritage of all men, in all lands, everywhere. Destroy this spirit, and you have planted the seeds of despotism around your own doors. Familiarize yourselves with the chains of bondage and you are preparing your own limbs to wear them. Accustomed to trample on the rights of those around you, you have lost the genius of your own independence, and become the fit subjects of the first cunning tyrant who rises.%0a%3c %0a%3c Understanding the spirit of our institutions to aim at the elevation of men, I am opposed to whatever tends to degrade them. %0a\ No newline at end of file%0a---%0a> What constitutes the bulwark of our own liberty and independence? It is not our frowning battlements, our bristling sea coasts, the guns of our war steamers, or the strength our gallant and disciplined army? These are not our reliance against a resumption of tyranny in our fair land. All of those may be turned against our liberties, without making us weaker or stronger for the struggle. Our reliance is in the love of liberty which God has planted in our bosoms. Our defense is in the preservation of the spirit which prizes liberty as the heritage of all men, in all lands, everywhere. Destroy this spirit, and you have planted the seeds of despotism around your own doors. Familiarize yourselves with the chains of bondage and you are preparing your own limbs to wear them. Accustomed to trample on the rights of those around you, you have lost the genius of your own independence, and become the fit subjects of the first cunning tyrant who rises.%0a\ No newline at end of file%0a +host:1615788022=198.251.81.119 +author:1615787994=jrmu +diff:1615787994:1615787686:=1,3c1%0a%3c If A. can prove, however conclusively, that he may, of right, deprive B of all property. Why may not B. snatch the same argument, and prove equally, that he may deprive all property to A? You say A. is rich and B. is poor. It is wealth, then; the poorer having the right to take the property of the richer? Take care. By this rule, you will have your property taken from you by the first man you meet poorer than yourself. You do not mean wealth exactly? You mean that your people are morally superior, and therefore have the right to deprive them of property? Take care again. By this rule, you are to have all your property taken from you by the first man you meet, whose moral principles are superior to your own. But, say you, it is a question of interest; and, if you can make it your interest, you have the right to take property from another. Very well. And if he can make it his interest, he has the right to take property from you.%0a%3c %0a%3c What constitutes the bulwark of our own liberty and independence? It is not our frowning battlements, our bristling sea coasts, the guns of our war steamers, or the strength our gallant and disciplined army? These are not our reliance against a resumption of tyranny in our fair land. All of those may be turned against our liberties, without making us weaker or stronger for the struggle. Our reliance is in the love of liberty which God has planted in our bosoms. Our defense is in the preservation of the spirit which prizes liberty as the heritage of all men, in all lands, everywhere. Destroy this spirit, and you have planted the seeds of despotism around your own doors. Familiarize yourselves with the chains of bondage and you are preparing your own limbs to wear them. Accustomed to trample on the rights of those around you, you have lost the genius of your own independence, and become the fit subjects of the first cunning tyrant who rises. %0a\ No newline at end of file%0a---%0a> If A. can prove, however conclusively, that he may, of right, deprive B of all property. Why may not B. snatch the same argument, and prove equally, that he may deprive all property to A? You say A. is rich and B. is poor. It is wealth, then; the poorer having the right to take the property of the richer? Take care. By this rule, you will have your property taken from you by the first man you meet poorer than yourself. You do not mean wealth exactly? You mean that your people are morally superior, and therefore have the right to deprive them of property? Take care again. By this rule, you are to have all your property taken from you by the first man you meet, whose moral principles are superior to your own. But, say you, it is a question of interest; and, if you can make it your interest, you have the right to take property from another. Very well. And if he can make it his interest, he has the right to take property from you.%0a\ No newline at end of file%0a +host:1615787994=198.251.81.119 +author:1615787686=jrmu +diff:1615787686:1615787686:=1d0%0a%3c If A. can prove, however conclusively, that he may, of right, deprive B of all property. Why may not B. snatch the same argument, and prove equally, that he may deprive all property to A? You say A. is rich and B. is poor. It is wealth, then; the poorer having the right to take the property of the richer? Take care. By this rule, you will have your property taken from you by the first man you meet poorer than yourself. You do not mean wealth exactly? You mean that your people are morally superior, and therefore have the right to deprive them of property? Take care again. By this rule, you are to have all your property taken from you by the first man you meet, whose moral principles are superior to your own. But, say you, it is a question of interest; and, if you can make it your interest, you have the right to take property from another. Very well. And if he can make it his interest, he has the right to take property from you. %0a\ No newline at end of file%0a +host:1615787686=198.251.81.119 blob - /dev/null blob + 62125a8c4a150ba289dac595b8231d0a62312e5c (mode 644) --- /dev/null +++ wiki.d/License.Ircnow @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=2021 +ctime=1596256716 +host=141.138.217.186 +name=License.Ircnow +rev=2 +targets= +text=All contributors agree to submit code, audio, video, text, and any other content under the following license:%0a%0aCopyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a%0aPermission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee. This work is offered as-is, with absolutely no warranty whatsoever. The author is not responsible for any damages that result from using this work. +time=1613727918 +author:1613727918=miniontoby +csum:1613727918=2021 +diff:1613727918:1596256716:=3c3%0a%3c Copyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a---%0a> Copyright (C) 2020 by Your Name %3cyourname@ircnow.org>%0a +host:1613727918=141.138.217.186 +author:1596256716=jrmu +diff:1596256716:1596256716:=1,5d0%0a%3c All contributors agree to submit code, audio, video, text, and any other content under the following license:%0a%3c %0a%3c Copyright (C) 2020 by Your Name %3cyourname@ircnow.org>%0a%3c %0a%3c Permission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee. This work is offered as-is, with absolutely no warranty whatsoever. The author is not responsible for any damages that result from using this work.%0a\ No newline at end of file%0a +host:1596256716=38.81.163.143 blob - /dev/null blob + cf057caafb2ba473d0263870a6b836617c918306 (mode 644) --- /dev/null +++ wiki.d/License.IrcnowV2 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632196420 +host=125.231.18.235 +name=License.IrcnowV2 +rev=1 +targets= +text=Copyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a%0aPermission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee.%0a +time=1632196420 +author:1632196420=jrmu +diff:1632196420:1632196420:=1,3d0%0a%3c Copyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a%3c %0a%3c Permission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee.%0a +host:1632196420=125.231.18.235 blob - /dev/null blob + 157b24c403bdc3dc1514fe6b146e384bf9a324c0 (mode 644) --- /dev/null +++ wiki.d/License.License @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596459736 +host=125.224.23.84 +name=License.License +rev=5 +targets=License.Ircnow +text=A free network needs free software, which means that the copyright licenses must preserve the four basic freedoms.%0a%0aHere are the licenses that the IRCNow project accepts:%0a%0a|| Permissive (preferred) || Copyleft (discouraged) ||%0a|| [[license/ircnow|IRCNow License]] (simplest) || GPL License ||%0a|| MIT License || ||%0a|| BSD License || ||%0a +time=1617501637 +author:1617501637=jrmu +diff:1617501637:1616987159:=8a9%0a> %0a +host:1617501637=125.224.23.84 +author:1616987159=jrmu +diff:1616987159:1607575897:=0a1,2%0a> By default, all projects on IRCNow use the [[license/ircnow|IRCNow License]] unless otherwise specified.%0a> %0a +host:1616987159=198.251.81.44 +author:1607575897=jrmu +diff:1607575897:1596459763:=1,2d0%0a%3c By default, all projects on IRCNow use the [[license/ircnow|IRCNow License]] unless otherwise specified.%0a%3c %0a5c3%0a%3c Here are the licenses that the IRCNow project accepts:%0a---%0a> Here are the licenses that the IRCNow project uses:%0a +host:1607575897=198.251.81.44 +author:1596459763=jrmu +diff:1596459763:1596459736:=6c6%0a%3c || [[license/ircnow|IRCNow License]] (simplest) || GPL License ||%0a---%0a> || IRCNow License (most free) || GPL License ||%0a +host:1596459763=38.81.163.143 +author:1596459736=jrmu +diff:1596459736:1596459736:=1,9d0%0a%3c A free network needs free software, which means that the copyright licenses must preserve the four basic freedoms.%0a%3c %0a%3c Here are the licenses that the IRCNow project uses:%0a%3c %0a%3c || Permissive (preferred) || Copyleft (discouraged) ||%0a%3c || IRCNow License (most free) || GPL License ||%0a%3c || MIT License || ||%0a%3c || BSD License || ||%0a%3c %0a +host:1596459736=38.81.163.143 blob - /dev/null blob + 98e75bf107a43b8f3b544da9eeba25afefa27cfe (mode 644) --- /dev/null +++ wiki.d/License.Publicdomain @@ -0,0 +1,100 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615355820 +host=198.251.81.119 +name=License.Publicdomain +rev=29 +targets=License.Ircnow,Gpl.Flaws +text=(:title The Public Domain:)%0a%0a-> Those who would give up essential Liberty, to purchase a few temporary Features, deserve neither Liberty nor Features.%0a%0aLong before the words "open source" or "free software" were ever used, we had the public domain. The public domain predates computers, television, radio, and even the printing press. The public domain achieves the true ideal of user freedom. Creative works in the public domain have no legal owner; they belong to the public.%0a%0aWhat's included in the public domain? The paintings of Leonardo da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the millions of works covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There are no owners; their works belong to the public. You are free to do whatever you want with them.%0a%0aImagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free, information would be harder to share, and innovation would slow to a halt. It's a good thing for society that cooking recipes and math formulas are generally in the public domain.%0a%0aThis is how software should work, too. You should have the freedom to do whatever you want with your software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no legal owner; it should belong to the public. It should belong to '''We the Users'''.%0a%0a!! IRCNow License%0a%0aThe public domain is the definition of true user freedom. Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases.%0a%0aUnfortunately, it can be difficult to know with certainty if a piece of software has truly entered the public domain. Furthermore, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the [[license/ircnow|IRCNow license]], which is practically identical to the public domain:%0a%0a-> Copyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a%0a-> Permission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee. This work is offered as-is, with absolutely no warranty whatsoever. The author is not responsible for any damages that result from using this work.%0a%0aThe IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit or preserve the copyright notice. Just don't sue the author, please.%0a%0a!! BSD/Permissive Licenses%0a%0aThere are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or ''copycenter'' licenses. (Take it down to the copy center and make as many copies as you want!). The most popular are the BSD licenses.%0a%0aPermissive licenses may add extra requirements like asking you to credit the author and to avoid using their trademarks, but these licenses are generally quite free and close to the spirit of the public domain.%0a%0aCommon Licenses:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! License Name ||! Type ||! Restrictions || %0a|| [[http://www.freebsd.org/copyright/freebsd-license.html|FreeBSD]] || Permissive || Preserve the copyright notice ||%0a|| [[http://www.opensource.org/licenses/MIT|MIT]] || Permissive || Preserve the copyright notice ||%0a|| [[https://www.isc.org/licenses/|ISC]] || Permissive || Preserve the copyright notice ||%0a%0a!! Copyleft Licenses%0a%0aThere is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''users lose ownership of their work'''.%0a%0aOn one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force users to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a%0aSee Also:%0a%0a[[http://www.openbsd.org/policy.html|OpenBSD Copyright Policy]] +time=1615716120 +title=The Public Domain +author:1615716120=jrmu +diff:1615716120:1615715984:=23c23%0a%3c The IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit or preserve the copyright notice. Just don't sue the author, please.%0a---%0a> The IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit or preserve the copyright notice. Just don't sue him, please.%0a +host:1615716120=198.251.81.119 +author:1615715984=jrmu +diff:1615715984:1615715728:=25c25%0a%3c !! BSD/Permissive Licenses%0a---%0a> !! Permissive Licenses%0a +host:1615715984=198.251.81.119 +author:1615715728=jrmu +diff:1615715728:1615715240:=23,24c23,24%0a%3c The IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit or preserve the copyright notice. Just don't sue him, please.%0a%3c %0a---%0a> The IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit. Just don't sue him, please.%0a> %0a35,37c35,37%0a%3c || [[http://www.freebsd.org/copyright/freebsd-license.html|FreeBSD]] || Permissive || Preserve the copyright notice ||%0a%3c || [[http://www.opensource.org/licenses/MIT|MIT]] || Permissive || Preserve the copyright notice ||%0a%3c || [[https://www.isc.org/licenses/|ISC]] || Permissive || Preserve the copyright notice ||%0a---%0a> || [[http://www.freebsd.org/copyright/freebsd-license.html|FreeBSD]] || Permissive || ||%0a> || [[http://www.opensource.org/licenses/MIT|MIT]] || Permissive || ||%0a> || [[https://www.isc.org/licenses/|ISC]] || Permissive || ||%0a +host:1615715728=198.251.81.119 +author:1615715240=jrmu +diff:1615715240:1615715215:=34c34%0a%3c ||! License Name ||! Type ||! Restrictions || %0a---%0a> ||! License Name ||! Type || Restrictions || %0a +host:1615715240=198.251.81.119 +author:1615715215=jrmu +diff:1615715215:1615714891:=33d32%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1615715215=198.251.81.119 +author:1615714891=jrmu +diff:1615714891:1615714813:=11c11%0a%3c This is how software should work, too. You should have the freedom to do whatever you want with your software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no legal owner; it should belong to the public. It should belong to '''We the Users'''.%0a---%0a> This is how software should work, too. You should have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no legal owner; it should belong to the public. It should belong to '''We the Users'''.%0a +host:1615714891=198.251.81.119 +author:1615714813=jrmu +diff:1615714813:1615707473:=9c9%0a%3c Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free, information would be harder to share, and innovation would slow to a halt. It's a good thing for society that cooking recipes and math formulas are generally in the public domain.%0a---%0a> Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. It's a good thing that cooking recipes and math formulas are generally in the public domain.%0a +host:1615714813=198.251.81.119 +author:1615707473=jrmu +diff:1615707473:1615707261:=40,42c40,42%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''users lose ownership of their work'''.%0a%3c %0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force users to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a> %0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a +host:1615707473=198.251.81.119 +author:1615707261=jrmu +diff:1615707261:1615707227:=3,4d2%0a%3c -> Those who would give up essential Liberty, to purchase a few temporary Features, deserve neither Liberty nor Features.%0a%3c %0a13a12,13%0a> %0a> -> Those who would give up essential Liberty, to purchase a few temporary Features, deserve neither Liberty nor Features.%0a +host:1615707261=198.251.81.119 +author:1615707227=jrmu +diff:1615707227:1615704323:=9c9%0a%3c This is how software should work, too. You should have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no legal owner; it should belong to the public. It should belong to '''We the Users'''.%0a---%0a> This is how software should work, too. We want you, the end users, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a +host:1615707227=198.251.81.119 +author:1615704323=jrmu +diff:1615704323:1615704263:=40,42c40,42%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a%3c %0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose exclusive ownership of your work'''.%0a> %0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up exclusive ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a +host:1615704323=198.251.81.119 +author:1615704263=jrmu +diff:1615704263:1615703309:=40,42c40,42%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose exclusive ownership of your work'''.%0a%3c %0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up exclusive ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a> %0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a +host:1615704263=198.251.81.119 +author:1615703309=jrmu +diff:1615703309:1615703080:=31,37d30%0a%3c Common Licenses:%0a%3c %0a%3c ||! License Name ||! Type || Restrictions || %0a%3c || [[http://www.freebsd.org/copyright/freebsd-license.html|FreeBSD]] || Permissive || ||%0a%3c || [[http://www.opensource.org/licenses/MIT|MIT]] || Permissive || ||%0a%3c || [[https://www.isc.org/licenses/|ISC]] || Permissive || ||%0a%3c %0a44,46c37,43%0a%3c See Also:%0a%3c %0a%3c [[http://www.openbsd.org/policy.html|OpenBSD Copyright Policy]]%0a\ No newline at end of file%0a---%0a> %0a> Here are some sample permissive licenses:%0a> %0a> ||! License Name ||! Type || Restrictions || %0a> || BSD || Permissive || ||%0a> || [[http://www.opensource.org/licenses/MIT|MIT]] || || ||%0a> || [[https://www.isc.org/licenses/|ISC]] || Permissive || ||%0a\ No newline at end of file%0a +host:1615703309=198.251.81.119 +author:1615703080=jrmu +diff:1615703080:1615702893:=28a29,33%0a> Here are some sample permissive licenses:%0a> %0a> ||! License Name ||! Type || Restrictions || %0a> || BSD || Permissive || ||%0a> %0a35,43c40%0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a%3c %0a%3c %0a%3c Here are some sample permissive licenses:%0a%3c %0a%3c ||! License Name ||! Type || Restrictions || %0a%3c || BSD || Permissive || ||%0a%3c || [[http://www.opensource.org/licenses/MIT|MIT]] || || ||%0a%3c || [[https://www.isc.org/licenses/|ISC]] || Permissive || ||%0a\ No newline at end of file%0a---%0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a +host:1615703080=198.251.81.119 +author:1615702893=jrmu +diff:1615702893:1615701333:=1,12c1,2%0a%3c (:title The Public Domain:)%0a%3c %0a%3c Long before the words "open source" or "free software" were ever used, we had the public domain. The public domain predates computers, television, radio, and even the printing press. The public domain achieves the true ideal of user freedom. Creative works in the public domain have no legal owner; they belong to the public.%0a%3c %0a%3c What's included in the public domain? The paintings of Leonardo da Vinci, the writings of Shakespeare, and the formulas of Isaac Newton are just a few of the millions of works covered by the public domain. You are free to copy these works, to quote them, to parody them, and to build new works of art and science around them. You are free to sell these copies and make new creations around them. There are no owners; their works belong to the public. You are free to do whatever you want with them.%0a%3c %0a%3c Imagine what life would be like if every time you wanted to follow a cooking recipe or solve a math equation, you had to sign an end-user license agreement. Life would be far less free. It's a good thing that cooking recipes and math formulas are generally in the public domain.%0a%3c %0a%3c This is how software should work, too. We want you, the end users, to have the freedom to do whatever you want with the software -- to use it, to share it, to study it, to fork it, and to combine it. The software that IRCNow provides should have no single owner; it should belong to the public. It should belong to '''We the Users'''.%0a%3c %0a%3c !! IRCNow License%0a%3c %0a---%0a> !! The Public Domain%0a> %0a15,16c5,10%0a%3c The public domain is the definition of true user freedom. Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases.%0a%3c %0a---%0a> IRCNow's goal is to provide a network where all the code and related works for the infrastructure can be freely used, studied, modified, and shared for any purpose, at any price, without requiring permission. This is part of our commitment to user liberty.%0a> %0a> To preserve this spirit of sharing, it is important that teammates release their works under a license that allows the free sharing of their work.%0a> %0a> Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases. The public domain is the definition of true user freedom.%0a> %0a23,24c17,18%0a%3c The IRCNow license lets you use the software for any purpose '''with no strings attached'''. You don't even have to give the author any credit. Just don't sue him, please.%0a%3c %0a---%0a> The IRCNow license lets you use the software for any purpose with no strings attached. All it asks is that you don't sue the author.%0a> %0a34,35c28,29%0a%3c Permissive licenses may add extra requirements like asking you to credit the author and to avoid using their trademarks, but these licenses are generally quite free and close to the spirit of the public domain.%0a%3c %0a---%0a> Permissive licenses will generally let you do whatever you want with the code. They may add extra requirements like asking you to attribute the author and to avoid using their trademarks, but they are generally quite free.%0a> %0a40c34%0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL has far more restrictions than the public domain. In practice, it is difficult to reshare and reuse GPL code. The GPL forbids users from using the work however they please; they force coders to give up ownership rights. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a---%0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the extra restrictions of the GPL make it more difficult to reshare and reuse code compared the permissive licenses. The GPL forbids users from using the work however they please, which makes the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a +host:1615702893=198.251.81.119 +author:1615701333=jrmu +diff:1615701333:1615701125:=32,34c32,34%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a%3c %0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the extra restrictions of the GPL make it more difficult to reshare and reuse code compared the permissive licenses. The GPL forbids users from using the work however they please, which makes the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork the GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a> %0a> On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL makes it more difficult to reshare and reuse code compared to works under a permissive license. The GPL forbids users from using the work however they please, which makes the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a +host:1615701333=198.251.81.119 +author:1615701125=jrmu +diff:1615701125:1615700399:=32c32%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork the GPL software. The most important restriction is that '''you lose ownership of your work'''.%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork the GPL software.%0a +host:1615701125=198.251.81.119 +author:1615700399=jrmu +diff:1615700399:1615700178:=32,34c32,34%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses have a [[gpl/flaws|long list of restrictions]] that you must follow if you fork the GPL software.%0a%3c %0a%3c On one hand, GPL code is better than no code at all, which is the case today with most non-free software. However, the GPL makes it more difficult to reshare and reuse code compared to works under a permissive license. The GPL forbids users from using the work however they please, which makes the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses a [[gpl/flaws|long list of restrictions]] that you must follow if you use the GPL software.%0a> %0a> On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL makes it more difficult to reshare and reuse code compared to permissive licenses. It forbids users from using the software however they please, making the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a +host:1615700399=198.251.81.119 +author:1615700178=jrmu +diff:1615700178:1615699708:=32,34c32,38%0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses a [[gpl/flaws|long list of restrictions]] that you must follow if you use the GPL software.%0a%3c %0a%3c On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL makes it more difficult to reshare and reuse code compared to permissive licenses. It forbids users from using the software however they please, making the works less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses add several important restrictions:%0a> %0a> # You are not allowed to directly sell the software%0a> # If you make a copy or derivative of the software, you must distribute the source code.%0a> # All copies or derivatives must follow the same license%0a> %0a> On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL makes it more difficult to reshare and reuse code compared to permissive licenses. Forbidding users from selling the software makes it less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a +host:1615700178=198.251.81.119 +author:1615699708=jrmu +diff:1615699708:1615699221:=1,2d0%0a%3c !! The Public Domain%0a%3c %0a19,22c17,20%0a%3c !! Permissive Licenses%0a%3c %0a%3c There are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or ''copycenter'' licenses. (Take it down to the copy center and make as many copies as you want!). The most popular are the BSD licenses.%0a%3c %0a---%0a> There are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or ''copycenter'' licenses. (Take it down to the copy center and make as many copies as you want!)%0a> %0a> These other permissive licenses will generally let you do whatever you want with the code. They may add extra requirements like asking you to attribute the author and to avoid using their trademarks.%0a> %0a28,38c26,30%0a%3c Permissive licenses will generally let you do whatever you want with the code. They may add extra requirements like asking you to attribute the author and to avoid using their trademarks, but they are generally quite free.%0a%3c %0a%3c !! Copyleft Licenses%0a%3c %0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses add several important restrictions:%0a%3c %0a%3c # You are not allowed to directly sell the software%0a%3c # If you make a copy or derivative of the software, you must distribute the source code.%0a%3c # All copies or derivatives must follow the same license%0a%3c %0a%3c On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL makes it more difficult to reshare and reuse code compared to permissive licenses. Forbidding users from selling the software makes it less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a\ No newline at end of file%0a---%0a> There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses add an extra restriction: if you make a copy or derivatives of the software, you must distribute the source code.%0a> %0a> On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL still makes it more difficult to reshare and reuse code compared to permissive licenses. Copyleft licenses have additional restrictions which make them less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a> %0a> https://www.openbsd.org/policy.html%0a\ No newline at end of file%0a +host:1615699708=198.251.81.119 +author:1615699221=jrmu +diff:1615699221:1615699167:= +host:1615699221=198.251.81.119 +author:1615699167=jrmu +diff:1615699167:1615696848:=7c7%0a%3c Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases. The public domain is the definition of true user freedom.%0a---%0a> Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases. The public domain is the definition of true artistic freedom.%0a +host:1615699167=198.251.81.119 +author:1615696848=jrmu +diff:1615696848:1615695162:=28,30c28,32%0a%3c On one hand, GPL code is better than proprietary software, where users have no access to the source code at all. However, the GPL still makes it more difficult to reshare and reuse code compared to permissive licenses. Copyleft licenses have additional restrictions which make them less free. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a%3c %0a%3c https://www.openbsd.org/policy.html%0a\ No newline at end of file%0a---%0a> This may sound like a noble strategy, but in practice, it actually makes it more difficult to reshare and reuse code. Compared to permissive licenses, copyleft licenses are not as free for end users and software developers. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a> %0a> https://www.openbsd.org/policy.html%0a> %0a> https://docs.freebsd.org/en/articles/bsdl-gpl/article.html%0a\ No newline at end of file%0a +host:1615696848=198.251.81.119 +author:1615695162=jrmu +diff:1615695162:1615692126:=17c17%0a%3c There are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or ''copycenter'' licenses. (Take it down to the copy center and make as many copies as you want!)%0a---%0a> There are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or '''copycenter'' licenses. %0a +host:1615695162=125.224.29.248 +author:1615692126=jrmu +diff:1615692126:1615608133:=3,4c3,4%0a%3c IRCNow's goal is to provide a network where all the code and related works for the infrastructure can be freely used, studied, modified, and shared for any purpose, at any price, without requiring permission. This is part of our commitment to user liberty.%0a%3c %0a---%0a> IRCNow's goal is to to provide a network where all the code and related works for the infrastructure can be freely used, studied, modified, and shared for any purpose, at any price, without requiring permission. This is part of our commitment for user liberty.%0a> %0a9,10c9,10%0a%3c Unfortunately, it can be difficult to know with certainty if a piece of software has truly entered the public domain. Furthermore, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the [[license/ircnow|IRCNow license]], which is practically identical to the public domain:%0a%3c %0a---%0a> Unfortunately, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the following copyright that is practically identical to the public domain:%0a> %0a14,28d13%0a%3c %0a%3c The IRCNow license lets you use the software for any purpose with no strings attached. All it asks is that you don't sue the author.%0a%3c %0a%3c There are many licenses similar to the IRCNow license. These licenses are collectively known as '''permissive''' or '''copycenter'' licenses. %0a%3c %0a%3c These other permissive licenses will generally let you do whatever you want with the code. They may add extra requirements like asking you to attribute the author and to avoid using their trademarks.%0a%3c %0a%3c Here are some sample permissive licenses:%0a%3c %0a%3c ||! License Name ||! Type || Restrictions || %0a%3c || BSD || Permissive || ||%0a%3c %0a%3c There is another group of licenses referred to as '''copyleft''' licenses, based on the GNU General Public License (GPL). Copyleft licenses add an extra restriction: if you make a copy or derivatives of the software, you must distribute the source code.%0a%3c %0a%3c This may sound like a noble strategy, but in practice, it actually makes it more difficult to reshare and reuse code. Compared to permissive licenses, copyleft licenses are not as free for end users and software developers. For this reason, the official IRCNow repo encourages the use of the IRCNow license for future development.%0a +host:1615692126=125.224.29.248 +author:1615608133=jrmu +diff:1615608133:1615464871:=1,2d0%0a%3c -> Those who would give up essential Liberty, to purchase a few temporary Features, deserve neither Liberty nor Features.%0a%3c %0a +host:1615608133=125.224.29.248 +author:1615464871=jrmu +diff:1615464871:1615464664:=3,7c3,7%0a%3c To preserve this spirit of sharing, it is important that teammates release their works under a license that allows the free sharing of their work.%0a%3c %0a%3c Ideally, all works would simply be released into the public domain. Works in the public domain no longer have any legal owners so that anyone can freely use the work however he pleases. The public domain is the definition of true artistic freedom.%0a%3c %0a%3c Unfortunately, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the following copyright that is practically identical to the public domain:%0a---%0a> To preserve this spirit of sharing, it is important that our developers release their work under a license that allows free sharing of code and works.%0a> %0a> Ideally, all works would simply be released into the public domain. For works in the public domain, a work no longer has any owner, so that anyone is free to use the work however he pleases. The public domain is the definition of true artistic freedom.%0a> %0a> Unfortunately, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the following copyright that is practically identical to the public domain: %0a +host:1615464871=198.251.81.119 +author:1615464664=jrmu +diff:1615464664:1615355820:=1,12d0%0a%3c IRCNow's goal is to to provide a network where all the code and related works for the infrastructure can be freely used, studied, modified, and shared for any purpose, at any price, without requiring permission. This is part of our commitment for user liberty.%0a%3c %0a%3c To preserve this spirit of sharing, it is important that our developers release their work under a license that allows free sharing of code and works.%0a%3c %0a%3c Ideally, all works would simply be released into the public domain. For works in the public domain, a work no longer has any owner, so that anyone is free to use the work however he pleases. The public domain is the definition of true artistic freedom.%0a%3c %0a%3c Unfortunately, in some countries, it is not possible to place a work into the public domain. For that reason, IRCNow uses the following copyright that is practically identical to the public domain: %0a%3c %0a%3c -> Copyright (C) 2021 by Your Name %3cyourname@ircnow.org>%0a%3c %0a%3c -> Permission is granted to use, copy, modify, and/or distribute this work for any purpose with or without fee. This work is offered as-is, with absolutely no warranty whatsoever. The author is not responsible for any damages that result from using this work.%0a%3c %0a +host:1615464664=198.251.81.119 +author:1615355820=jrmu +diff:1615355820:1615355820:=1,3d0%0a%3c https://www.openbsd.org/policy.html%0a%3c %0a%3c https://docs.freebsd.org/en/articles/bsdl-gpl/article.html%0a\ No newline at end of file%0a +host:1615355820=198.251.81.119 blob - /dev/null blob + 22e481cc2fc3d40b2aaac29911245b17acee0e6c (mode 644) --- /dev/null +++ wiki.d/License.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1596256716 +host=125.231.18.235 +name=License.RecentChanges +rev=43 +text=* [[License/IrcnowV2]] . . . September 21, 2021, at 03:53 AM by [[~jrmu]]: [==]%0a* [[License/License]] . . . April 04, 2021, at 02:00 AM by [[~jrmu]]: [==]%0a* [[License/Discriminatory]] . . . March 15, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a* [[License/Publicdomain]] . . . March 14, 2021, at 10:02 AM by [[~jrmu]]: [==]%0a* [[License/Ircnow]] . . . February 19, 2021, at 09:45 AM by [[~miniontoby]]: [=2021=]%0a +time=1632196420 blob - /dev/null blob + 1624c847bfce300d060b48834daa56659242292f (mode 644) --- /dev/null +++ wiki.d/Linux.Flaws @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615698825 +host=198.251.81.119 +name=Linux.Flaws +rev=1 +targets= +text=(:title Why Linux is Bad for Freedom:)%0a%0a'''WE THE USERS''' need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a%0a!! Linux is controlled by exploitative corporations%0a%0a# IBM%0a # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a# Microsoft%0a # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a # Microsoft Azure is a proprietary platform and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a# Google%0a # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a%0aHere are the top donors to the Linux Foundation:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Platinum Members (USD $500k annually) ||||||||||||||||%0a|| AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware ||%0a|| Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a||! Gold Members (USD $100k annually) ||||||||||||||||%0a|| Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture ||%0a|| Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a||! Silver Members ||||||||||||||||%0a|| Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn ||%0a|| Desotech || AMD || Fujitsu ||%0a%0aDo '''we the users''' have any voice or say in the development process? It may be nominally free but if we have no control over it, it is almost as bad as proprietary software.%0a%0a!! Source code is too complex, average users can no longer understand it%0a%0aAccording to a report from the [[https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/|Linux Foundation]], these are the top 10 corporate contributors in 2015-2016:%0a%0a|| border=1 width=40%25 class="sortable simpletable"%0a|| Company || Changes || Percent of total ||%0a|| Intel || 14,384 || 12.9%25 ||%0a|| Red Hat || 8,987 || 8.0%25 ||%0a|| None || 8,571 || 7.7%25 ||%0a|| Unknown || 7,582 || 6.8%25 ||%0a|| Linaro || 4,515 || 4.0%25 ||%0a|| Samsung || 4,338 || 3.9%25 ||%0a|| SUSE || 3,619 || 3.2%25 ||%0a|| IBM || 2,995 || 2.7%25 ||%0a|| Consultants || 2,938 || 2.6%25 ||%0a|| Renesas Electronics || 2,239 || 2.0%25 ||%0a%0aCan a reasonably intelligent, amateur software developer be able to understand and modify the code that these corporations write? If not, then linux has become like proprietary software. It's so complex that we have lost the ability to view and modify the source code.%0a%0a!! Linux Foundation Board of Directors are Corporate%0a%0aThe Linux Foundation's [[https://www.linuxfoundation.org/about/board/|board of directors]] are not made up of users but entirely of corporate representatives. These corporations have repeatedly shown that they have no commitment towards user freedom. Why should we trust them to oversee our operating system?%0a%0a-> As of April 2014, the foundation collected annual fees worth at least US$6,245,000. [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%0aLinux's developers are accountable to its corporate sponsors, not to us the users.%0a%0a# https://linux.slashdot.org/story/20/06/07/1941256/bryan-lunduke-explains-why-linux-sucks-in-2020%0a%0a!! Aggressive censorship through code of conducts%0a%0aLinux adopted the [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f|Contributor Covenant Code of Conduct]]%0a%0a-> In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%0aThis would make it possible for developers to be banned for disagreeing with homosexuality, affirmative action programs, or merely just criticizing poor code quality. The Contributor Covenant defines harassment to include:%0a%0a-> Trolling, insulting/derogatory comments, and personal or political attacks%0a%0aThis would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds was forced to take a break]] for his violation.%0a%0aThe author of the Contributor Covenant, Coraline Ada Ehmke, is also the author of several [[https://firstdonoharm.dev|"ethical licenses"]]. These unfree licenses would give software developers the power to sue a user for using software in a way they don't approve of if they consider it a human rights violation. This "ethical license" would not even require a court ruling to determine if it is a violation or not -- the developer gets to decide what constitutes a human rights violation.%0a%0aThis is an extreme form of censorship which will be used to sue opposition into silence.%0a%0a-> Before early 2018, the Linux Foundation's website stated that it "uses [donations] in part to help fund the infrastructure and fellows (like Linus Torvalds) who help develop the Linux kernel." However, the Foundation no longer sponsors kernel development and infrastructure through donations: while the donations page still claims that "The Linux Foundation is dedicated to protecting, promoting, and standardizing Linux", it currently also indicates that "100%25 of donations received go towards funding diversity programs." [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%0aIt even affected the founder Linus Torvalds himself: [[https://www.theverge.com/2018/10/22/18011854/linus-torvalds-linux-kernel-development-return-code-of-conduct]].%0a%0aThis implies censorship of people who disagree with "social justice" activism. +time=1615698825 +title=Why Linux is Bad for Freedom +author:1615698825=jrmu +diff:1615698825:1615698825:=1,84d0%0a%3c (:title Why Linux is Bad for Freedom:)%0a%3c %0a%3c '''WE THE USERS''' need an operating system that we control. We should reject operating systems that are controlled by trillion dollar corporations like Google, Amazon, Microsoft, and Facebook. Although it may label itself as free software, we cannot rely on it to protect our freedoms.%0a%3c %0a%3c !! Linux is controlled by exploitative corporations%0a%3c %0a%3c # IBM%0a%3c # IBM Closes Landmark Acquisition of Red Hat for $34 Billion; Defines Open, Hybrid Cloud Future - [[https://www.redhat.com/en/about/press-releases/ibm-closes-landmark-acquisition-red-hat-34-billion-defines-open-hybrid-cloud-future]]%0a%3c # Red Hat officially acquired by IBM - [[https://www.redhat.com/en/ibm]]%0a%3c # Microsoft%0a%3c # [[https://www.zdnet.com/article/top-five-linux-contributor-microsoft/]]%0a%3c # "The Linux Foundation sponsors the work of Linux creator Linus Torvalds and lead maintainer Greg Kroah-Hartman and is supported by members such as AT&T, Cisco, Facebook,[5] Fujitsu, Google, Hitachi, Huawei, IBM, Intel, Microsoft,[6] NEC, Oracle, Orange S.A., Qualcomm, Samsung,[7] Tencent, and VMware, as well as developers from around the world." These corporations donate tens of millions of dollars annually. [[https://en.wikipedia.org/wiki/Linux_foundation]]%0a%3c # Microsoft Azure is a proprietary platform and yet is actively being promoted by [[https://www.linuxfoundation.org/blog/2015/12/linux-on-microsoft-azure-an-introduction/|the Linux Foundation]] because of Microsoft's financial contributions%0a%3c # Google%0a%3c # Google, Money and Censorship in Free Software Communities - [[http://techrights.org/2020/08/30/censorship-in-freesw/]], [[https://debian.community/google-money-censorship-free-software/]]%0a%3c -> Google money pays for interns to do work for him. It appears he has a massive conflict of interest when using the former role to censor posts about Google, which relates to the latter role and its benefits.%0a%3c -> Why are these donations and conflicts of interest hidden from the free software community who rely on, interact with and contribute to Debian in so many ways? Why doesn’t Debian provide a level playing field, why does money from Google get this veil of secrecy?%0a%3c -> The Debian Social Contract[3] states that Debian does not hide our problems. Corporate influence is one of the most serious problems most people can imagine, why has nothing been disclosed?%0a%3c %0a%3c Here are the top donors to the Linux Foundation:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Platinum Members (USD $500k annually) ||||||||||||||||%0a%3c || AT&T || Tencent || Fujitsu || Google || IBM || Microsoft || Oracle || VMware ||%0a%3c || Facebook || Cisco Systems || Intel || Qualcomm || Hitachi || Huawei || NEC || Samsung Electronics ||%0a%3c ||! Gold Members (USD $100k annually) ||||||||||||||||%0a%3c || Alibaba Cloud || Baidu || Citrix Systems || Dell EMC || Doky || SUSE || BlackRock || Accenture ||%0a%3c || Hart || Oath || Uber || Toyota || Renesas Electronics || Panasonic || Sony || Toshiba ||%0a%3c ||! Silver Members ||||||||||||||||%0a%3c || Aarna Networks || Comcast || Sprint || Arista Networks || Canonical || PANTHEON.tech || Tencent || LinkedIn ||%0a%3c || Desotech || AMD || Fujitsu ||%0a%3c %0a%3c Do '''we the users''' have any voice or say in the development process? It may be nominally free but if we have no control over it, it is almost as bad as proprietary software.%0a%3c %0a%3c !! Source code is too complex, average users can no longer understand it%0a%3c %0a%3c According to a report from the [[https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/|Linux Foundation]], these are the top 10 corporate contributors in 2015-2016:%0a%3c %0a%3c || border=1 width=40%25 class="sortable simpletable"%0a%3c || Company || Changes || Percent of total ||%0a%3c || Intel || 14,384 || 12.9%25 ||%0a%3c || Red Hat || 8,987 || 8.0%25 ||%0a%3c || None || 8,571 || 7.7%25 ||%0a%3c || Unknown || 7,582 || 6.8%25 ||%0a%3c || Linaro || 4,515 || 4.0%25 ||%0a%3c || Samsung || 4,338 || 3.9%25 ||%0a%3c || SUSE || 3,619 || 3.2%25 ||%0a%3c || IBM || 2,995 || 2.7%25 ||%0a%3c || Consultants || 2,938 || 2.6%25 ||%0a%3c || Renesas Electronics || 2,239 || 2.0%25 ||%0a%3c %0a%3c Can a reasonably intelligent, amateur software developer be able to understand and modify the code that these corporations write? If not, then linux has become like proprietary software. It's so complex that we have lost the ability to view and modify the source code.%0a%3c %0a%3c !! Linux Foundation Board of Directors are Corporate%0a%3c %0a%3c The Linux Foundation's [[https://www.linuxfoundation.org/about/board/|board of directors]] are not made up of users but entirely of corporate representatives. These corporations have repeatedly shown that they have no commitment towards user freedom. Why should we trust them to oversee our operating system?%0a%3c %0a%3c -> As of April 2014, the foundation collected annual fees worth at least US$6,245,000. [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%3c %0a%3c Linux's developers are accountable to its corporate sponsors, not to us the users.%0a%3c %0a%3c # https://linux.slashdot.org/story/20/06/07/1941256/bryan-lunduke-explains-why-linux-sucks-in-2020%0a%3c %0a%3c !! Aggressive censorship through code of conducts%0a%3c %0a%3c Linux adopted the [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f|Contributor Covenant Code of Conduct]]%0a%3c %0a%3c -> In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.%0a%3c %0a%3c This would make it possible for developers to be banned for disagreeing with homosexuality, affirmative action programs, or merely just criticizing poor code quality. The Contributor Covenant defines harassment to include:%0a%3c %0a%3c -> Trolling, insulting/derogatory comments, and personal or political attacks%0a%3c %0a%3c This would make it possible to ban anyone for almost any reason. In fact, even [[https://www.zdnet.com/article/linus-torvalds-takes-a-break-from-linux/|Linus Torvalds was forced to take a break]] for his violation.%0a%3c %0a%3c The author of the Contributor Covenant, Coraline Ada Ehmke, is also the author of several [[https://firstdonoharm.dev|"ethical licenses"]]. These unfree licenses would give software developers the power to sue a user for using software in a way they don't approve of if they consider it a human rights violation. This "ethical license" would not even require a court ruling to determine if it is a violation or not -- the developer gets to decide what constitutes a human rights violation.%0a%3c %0a%3c This is an extreme form of censorship which will be used to sue opposition into silence.%0a%3c %0a%3c -> Before early 2018, the Linux Foundation's website stated that it "uses [donations] in part to help fund the infrastructure and fellows (like Linus Torvalds) who help develop the Linux kernel." However, the Foundation no longer sponsors kernel development and infrastructure through donations: while the donations page still claims that "The Linux Foundation is dedicated to protecting, promoting, and standardizing Linux", it currently also indicates that "100%25 of donations received go towards funding diversity programs." [[https://en.wikipedia.org/wiki/Linux_Foundation|(wikipedia)]]%0a%3c %0a%3c It even affected the founder Linus Torvalds himself: [[https://www.theverge.com/2018/10/22/18011854/linus-torvalds-linux-kernel-development-return-code-of-conduct]].%0a%3c %0a%3c This implies censorship of people who disagree with "social justice" activism.%0a\ No newline at end of file%0a +host:1615698825=198.251.81.119 blob - /dev/null blob + 36b1d26b227e047f2996db29b3603b8bde456308 (mode 644) --- /dev/null +++ wiki.d/Linux.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1615698825 +host=198.251.81.119 +name=Linux.RecentChanges +rev=1 +text=* [[Linux/Flaws]] . . . March 14, 2021, at 05:13 AM by [[~jrmu]]: [==]%0a +time=1615698825 blob - /dev/null blob + 5079732224bc47905dcb59c9685cc96eb4694312 (mode 644) --- /dev/null +++ wiki.d/Ln.Intro @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1614255433 +host=198.251.81.119 +name=Ln.Intro +rev=2 +targets= +text=(:title Symbolic Links:)%0a%0aA symbolic link allows you to create what appears to be a new file but which points to an existing file. The command is:%0a%0a[@%0a$ ln -s /path/to/file /path/to/link%0a@]%0a%0aThis creates a symbolic link @@/path/to/link@@ which points to @@/path/to/file@@.%0a%0aIt can be very handy to have multiple copies of a file in different places. For example, you might have a binary with a long name, such as python3.8, but it would be easier to call it python. You can use a symbolic link so that /usr/local/bin/python3.8 points /usr/local/bin/python:%0a%0a[@%0a$ doas ln -s /usr/local/bin/python3.8 /usr/local/bin/python%0a@]%0a%0aThis creates a symbolic link @@/usr/local/bin/python@@ which points to @@/usr/local/bin/python3.8@@.%0a%0aIf you long list it without following symbolic links:%0a%0a[@%0a$ ls -ld /usr/local/bin/python%0alrwxr-xr-x 1 root wheel 24 Feb 25 07:13 /usr/local/bin/python -> /usr/local/bin/python3.8%0a@]%0a%0aThe -> indicates that @@/usr/local/bin/python@@ is a symbolic link.%0a%0aSymbolic links can be used on folders, too! This can be very handy:%0a%0a[@%0a$ doas ln -s /var/www/htdocs /home/username/htdocs%0a@]%0a%0aNow, any files you put in your home folder's htdocs will automatically show up in /var/www/htdocs (the folder for your web server). +time=1614255649 +title=Symbolic Links +author:1614255649=jrmu +diff:1614255649:1614255433:=28,34c28,44%0a%3c Symbolic links can be used on folders, too! This can be very handy:%0a%3c %0a%3c [@%0a%3c $ doas ln -s /var/www/htdocs /home/username/htdocs%0a%3c @]%0a%3c %0a%3c Now, any files you put in your home folder's htdocs will automatically show up in /var/www/htdocs (the folder for your web server).%0a\ No newline at end of file%0a---%0a> Symbolic links can be used on folders, too! This can be very handy%0a> %0a> Create a symbolic link named /home/www and point it to /var/www:%0a> %0a> # ln -s /var/www /home/www%0a> %0a> Hard link /usr/local/bin/fooprog to file /usr/local/bin/fooprog-1.0:%0a> %0a> # ln /usr/local/bin/fooprog-1.0 /usr/local/bin/fooprog%0a> $ mkdir bar baz%0a> $ ln -s bar foo%0a> $ ln -shf baz foo%0a> %0a> Without the -h option, this would instead leave foo pointing to bar and%0a> inside foo create a new symlink baz pointing to itself. This results%0a> from directory-walking.%0a> %0a +host:1614255649=198.251.81.119 +author:1614255433=jrmu +diff:1614255433:1614255433:=1,44d0%0a%3c (:title Symbolic Links:)%0a%3c %0a%3c A symbolic link allows you to create what appears to be a new file but which points to an existing file. The command is:%0a%3c %0a%3c [@%0a%3c $ ln -s /path/to/file /path/to/link%0a%3c @]%0a%3c %0a%3c This creates a symbolic link @@/path/to/link@@ which points to @@/path/to/file@@.%0a%3c %0a%3c It can be very handy to have multiple copies of a file in different places. For example, you might have a binary with a long name, such as python3.8, but it would be easier to call it python. You can use a symbolic link so that /usr/local/bin/python3.8 points /usr/local/bin/python:%0a%3c %0a%3c [@%0a%3c $ doas ln -s /usr/local/bin/python3.8 /usr/local/bin/python%0a%3c @]%0a%3c %0a%3c This creates a symbolic link @@/usr/local/bin/python@@ which points to @@/usr/local/bin/python3.8@@.%0a%3c %0a%3c If you long list it without following symbolic links:%0a%3c %0a%3c [@%0a%3c $ ls -ld /usr/local/bin/python%0a%3c lrwxr-xr-x 1 root wheel 24 Feb 25 07:13 /usr/local/bin/python -> /usr/local/bin/python3.8%0a%3c @]%0a%3c %0a%3c The -> indicates that @@/usr/local/bin/python@@ is a symbolic link.%0a%3c %0a%3c Symbolic links can be used on folders, too! This can be very handy%0a%3c %0a%3c Create a symbolic link named /home/www and point it to /var/www:%0a%3c %0a%3c # ln -s /var/www /home/www%0a%3c %0a%3c Hard link /usr/local/bin/fooprog to file /usr/local/bin/fooprog-1.0:%0a%3c %0a%3c # ln /usr/local/bin/fooprog-1.0 /usr/local/bin/fooprog%0a%3c $ mkdir bar baz%0a%3c $ ln -s bar foo%0a%3c $ ln -shf baz foo%0a%3c %0a%3c Without the -h option, this would instead leave foo pointing to bar and%0a%3c inside foo create a new symlink baz pointing to itself. This results%0a%3c from directory-walking.%0a%3c %0a +host:1614255433=198.251.81.119 blob - /dev/null blob + ccf8c8714e5cfc5eaaf5570e560ee6d18d765f3c (mode 644) --- /dev/null +++ wiki.d/Ln.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614255433 +host=198.251.81.119 +name=Ln.RecentChanges +rev=2 +text=* [[Ln/Intro]] . . . February 25, 2021, at 12:20 PM by [[~jrmu]]: [==]%0a +time=1614255649 blob - /dev/null blob + d7b980a874a5f5bc72e4ba9d132e04012d22202b (mode 644) --- /dev/null +++ wiki.d/Lua.Minetest-1 @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=debiankaios +charset=UTF-8 +csum= +ctime=1634917843 +host=77.22.249.150 +name=Lua.Minetest-1 +rev=5 +targets= +text=! Coding in Minetest for beginner%0a%0a%0a!! 1.1 Prologue%0a%0aMinetest is an open source voxel game engine. But more Info here:%0a%0a[[https://www.minetest.net/]] [[https://wiki.ircnow.org/index.php?n=Minetest.Minetest]]%0a%0aDepends for this tutorial: There are no, it's for newbie.%0a%0a!! Table of contents %0a%0aNever we get all in one part. There will more then one part. And we get never the complete api in this tutorial. If you have questions ask in [[forums.minetest.net]]. But now table of Contents:%0a%0a# [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-1 | Basics in Lua]]%0a# [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-2 | Our first mod]]%0a%0a!! 1.2 Basics in Lua%0a%0a!!! 1.2.1 Installing lua%0a%0aOpenbsd:%0a[@%0a# pkg_add lua-5.3.5%0a@]%0a%0adebian-based Linux:%0a[@%0a# apt install lua5.3%0a@]%0a%0aFor other systems show here: [[http://www.lua.org/start.html#installing]]%0a%0a!!! 1.2.3 Functions%0a%0aAll who know the basics in lua can show here: [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-2 | Our first mod]]%0a%0aFunctions are the most important in minetest. Without it or similar it where not possible to make a such game. You can easy run a function:%0a%0a[@%0afunction(argument)%0a@]%0a%0aThe first function which you learn is print(). Create a new file named "main.lua" in a new folder which you can name how you want and write in main.lua:%0a%0a[@%0aprint("Hello World!")%0a@]%0a%0aSave it and run in the console following command:%0a%0a[@%0a$ lua5.3 %3cpath-to-your-progamm>/main.lua%0a@]%0a%0aIf all working correct you should get put out:%0a%0a[@%0a$ lua5.3 %3cpath-to-your-progamm>/main.lua%0aHello World!%0a@]%0a%0aTroubleshooting:%0a%0a[@%0a$ lua5.3 %3cpath-to-your-progamm>/main.lua%0alua5.3: main.lua:1: ')' expected near 'World'%0a@]%0a%0aYou forgot the "". Why you need this you will sea in 1.2.4%0a%0a[@%0a$ lua5.3 %3cpath-to-your-progamm>/main.lua%0abash: lua5.3: Command not found.%0a@]%0a%0aYou don't have lua installed. Maybe lua5.3 is to new for your os. Try to install older versions. But then do this:%0a%0a[@%0a$ lua%3cyour version> %3cpath-to-your-progamm>/main.lua%0a@]%0a%0a!!! 1.2.4 Variables%0a%0aIn Variables can you save data. But if you end the programm it will deleted. In lua are 3 main types of variables: intenger, floats and string. Strings we have already met in 1.2.3. Like the name say are strings strings. Important is that we on begin and on end one of this Charachters need: ' or ". You can choose one of them, which you like more, but you must on beginn and on end the same charachter choose. If in strings should stand one of this charachters, you must choose the other charachter. If there is no of this charachters then think lua you meant a other variable which you want set in there. More to this thema in 1.2.5. But there are two more types: floats and integer. Both are number-values. The different is one are decimal numbers the floats and the other are integer(yes, the integer). Both types need no charachters on end beginning because variable names can't begin with numbers. Lets define our first variables:%0a%0a[@%0astring = "Our first Integer and our first float: "%0ainteger = 12%0afloat = 12.34%0aprint(string)%0a@]%0a%0aOutput:%0a[@%0a$ lua5.3 main.lua%0aOur first Integer and our first float: %0a@]%0a%0aNice, but we can only print one variable. How to fix it?%0a%0a!!! 1.2.5 Functions with more then one argument%0a%0aFunctions can not have only one argument, they can have more then one argument. We separate they with a comma. Lets test:%0a%0a[@%0astring = "Our first Integer and our first float: "%0ainteger = 12%0afloat = 12.34%0aprint(string, integer, float)%0a@]%0a%0aOutput:%0a%0a[@l$ lua5.3 main.lua %0aOur first Integer and our first float: 12 12.34%0a@]%0a%0aOk thats nice. But there are spaces. +time=1635071421 +author:1635071421=debiankaios +diff:1635071421:1635071297:= +host:1635071421=77.22.249.150 +author:1635071297=debiankaios +diff:1635071297:1634999127:=86,120c86%0a%3c In Variables can you save data. But if you end the programm it will deleted. In lua are 3 main types of variables: intenger, floats and string. Strings we have already met in 1.2.3. Like the name say are strings strings. Important is that we on begin and on end one of this Charachters need: ' or ". You can choose one of them, which you like more, but you must on beginn and on end the same charachter choose. If in strings should stand one of this charachters, you must choose the other charachter. If there is no of this charachters then think lua you meant a other variable which you want set in there. More to this thema in 1.2.5. But there are two more types: floats and integer. Both are number-values. The different is one are decimal numbers the floats and the other are integer(yes, the integer). Both types need no charachters on end beginning because variable names can't begin with numbers. Lets define our first variables:%0a%3c %0a%3c [@%0a%3c string = "Our first Integer and our first float: "%0a%3c integer = 12%0a%3c float = 12.34%0a%3c print(string)%0a%3c @]%0a%3c %0a%3c Output:%0a%3c [@%0a%3c $ lua5.3 main.lua%0a%3c Our first Integer and our first float: %0a%3c @]%0a%3c %0a%3c Nice, but we can only print one variable. How to fix it?%0a%3c %0a%3c !!! 1.2.5 Functions with more then one argument%0a%3c %0a%3c Functions can not have only one argument, they can have more then one argument. We separate they with a comma. Lets test:%0a%3c %0a%3c [@%0a%3c string = "Our first Integer and our first float: "%0a%3c integer = 12%0a%3c float = 12.34%0a%3c print(string, integer, float)%0a%3c @]%0a%3c %0a%3c Output:%0a%3c %0a%3c [@l$ lua5.3 main.lua %0a%3c Our first Integer and our first float: 12 12.34%0a%3c @]%0a%3c %0a%3c Ok thats nice. But there are spaces.%0a\ No newline at end of file%0a---%0a> In Variables can you save data. But if you end the programm it will deleted. In lua are 3 main types of variables: intenger, floats and string. Strings we have already met in 1.2.3. Like the name say are strings strings. Important is that we on begin and on end one of this Charachters need: ' or ". You can choose one of them, which you like more, but you must on beginn and on end the same charachter choose. If in strings should stand one of this charachters, you must choose the other charachter. If there is no of this charachters then think lua you meant a other variable which you want set in there. More to this thema in 1.2.5. But there are two more types: floats and integer. Both are number-values. The different is one are decimal numbers the floats and the other are integer(yes, the integer). Both types need no charachters on end beginning because variable names can't begin with numbers.%0a\ No newline at end of file%0a +host:1635071297=77.22.249.150 +author:1634999127=debiankaios +diff:1634999127:1634923935:=35,36c35,36%0a%3c !!! 1.2.3 Functions%0a%3c %0a---%0a> !!! 1.2.2 Functions%0a> %0a71,72c71,72%0a%3c You forgot the "". Why you need this you will sea in 1.2.4%0a%3c %0a---%0a> You forgot the "". Why you need this you will sea in 1.2.3%0a> %0a84,86c84,86%0a%3c !!! 1.2.4 Variables%0a%3c %0a%3c In Variables can you save data. But if you end the programm it will deleted. In lua are 3 main types of variables: intenger, floats and string. Strings we have already met in 1.2.3. Like the name say are strings strings. Important is that we on begin and on end one of this Charachters need: ' or ". You can choose one of them, which you like more, but you must on beginn and on end the same charachter choose. If in strings should stand one of this charachters, you must choose the other charachter. If there is no of this charachters then think lua you meant a other variable which you want set in there. More to this thema in 1.2.5. But there are two more types: floats and integer. Both are number-values. The different is one are decimal numbers the floats and the other are integer(yes, the integer). Both types need no charachters on end beginning because variable names can't begin with numbers. %0a\ No newline at end of file%0a---%0a> !!! 1.2.3 Variables%0a> %0a> In Variables can you save data. But if you end the programm it will deleted.%0a\ No newline at end of file%0a +host:1634999127=77.22.249.150 +author:1634923935=debiankaios +diff:1634923935:1634917843:=84,86d83%0a%3c !!! 1.2.3 Variables%0a%3c %0a%3c In Variables can you save data. But if you end the programm it will deleted.%0a\ No newline at end of file%0a +host:1634923935=77.22.249.150 +author:1634917843=debiankaios +diff:1634917843:1634917843:=1,83d0%0a%3c ! Coding in Minetest for beginner%0a%3c %0a%3c %0a%3c !! 1.1 Prologue%0a%3c %0a%3c Minetest is an open source voxel game engine. But more Info here:%0a%3c %0a%3c [[https://www.minetest.net/]] [[https://wiki.ircnow.org/index.php?n=Minetest.Minetest]]%0a%3c %0a%3c Depends for this tutorial: There are no, it's for newbie.%0a%3c %0a%3c !! Table of contents %0a%3c %0a%3c Never we get all in one part. There will more then one part. And we get never the complete api in this tutorial. If you have questions ask in [[forums.minetest.net]]. But now table of Contents:%0a%3c %0a%3c # [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-1 | Basics in Lua]]%0a%3c # [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-2 | Our first mod]]%0a%3c %0a%3c !! 1.2 Basics in Lua%0a%3c %0a%3c !!! 1.2.1 Installing lua%0a%3c %0a%3c Openbsd:%0a%3c [@%0a%3c # pkg_add lua-5.3.5%0a%3c @]%0a%3c %0a%3c debian-based Linux:%0a%3c [@%0a%3c # apt install lua5.3%0a%3c @]%0a%3c %0a%3c For other systems show here: [[http://www.lua.org/start.html#installing]]%0a%3c %0a%3c !!! 1.2.2 Functions%0a%3c %0a%3c All who know the basics in lua can show here: [[https://wiki.ircnow.org/index.php?n=Lua.Minetest-2 | Our first mod]]%0a%3c %0a%3c Functions are the most important in minetest. Without it or similar it where not possible to make a such game. You can easy run a function:%0a%3c %0a%3c [@%0a%3c function(argument)%0a%3c @]%0a%3c %0a%3c The first function which you learn is print(). Create a new file named "main.lua" in a new folder which you can name how you want and write in main.lua:%0a%3c %0a%3c [@%0a%3c print("Hello World!")%0a%3c @]%0a%3c %0a%3c Save it and run in the console following command:%0a%3c %0a%3c [@%0a%3c $ lua5.3 %3cpath-to-your-progamm>/main.lua%0a%3c @]%0a%3c %0a%3c If all working correct you should get put out:%0a%3c %0a%3c [@%0a%3c $ lua5.3 %3cpath-to-your-progamm>/main.lua%0a%3c Hello World!%0a%3c @]%0a%3c %0a%3c Troubleshooting:%0a%3c %0a%3c [@%0a%3c $ lua5.3 %3cpath-to-your-progamm>/main.lua%0a%3c lua5.3: main.lua:1: ')' expected near 'World'%0a%3c @]%0a%3c %0a%3c You forgot the "". Why you need this you will sea in 1.2.3%0a%3c %0a%3c [@%0a%3c $ lua5.3 %3cpath-to-your-progamm>/main.lua%0a%3c bash: lua5.3: Command not found.%0a%3c @]%0a%3c %0a%3c You don't have lua installed. Maybe lua5.3 is to new for your os. Try to install older versions. But then do this:%0a%3c %0a%3c [@%0a%3c $ lua%3cyour version> %3cpath-to-your-progamm>/main.lua%0a%3c @]%0a%3c %0a +host:1634917843=77.22.249.150 blob - /dev/null blob + 89de97447a1f57aa4650df3e8f56b6e0ff823aff (mode 644) --- /dev/null +++ wiki.d/Lua.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +charset=UTF-8 +ctime=1634917843 +host=77.22.249.150 +name=Lua.RecentChanges +rev=5 +text=* [[Lua/Minetest-1]] . . . October 24, 2021, at 10:30 AM by [[~debiankaios]]: [==]%0a +time=1635071421 blob - /dev/null blob + 8a108d4fdfb2ec30a4bcf58bd66623184a84cd6c (mode 644) --- /dev/null +++ wiki.d/MIF.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:85.0) Gecko/20100101 Firefox/85.0 +charset=UTF-8 +ctime=1624624884 +host=199.66.14.109 +name=MIF.RecentChanges +rev=2 +text=* [[MIF/Test]] . . . June 25, 2021, at 12:42 PM by [[~nsturtz]]: [==]%0a +time=1624624961 blob - /dev/null blob + c945296d2637eca9244aeb681cc5986647b2e817 (mode 644) --- /dev/null +++ wiki.d/MIF.Test @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:85.0) Gecko/20100101 Firefox/85.0 +author=nsturtz +charset=UTF-8 +csum= +ctime=1624624884 +host=199.66.14.109 +name=MIF.Test +rev=2 +targets= +text=This is my testing page%0aTEST:%0a#1%0a#2%0a#3 +time=1624624961 +author:1624624961=nsturtz +diff:1624624961:1624624884:=1,5c1%0a%3c This is my testing page%0a%3c TEST:%0a%3c #1%0a%3c #2%0a%3c #3%0a\ No newline at end of file%0a---%0a> This is my testing page%0a\ No newline at end of file%0a +host:1624624961=199.66.14.109 +author:1624624884=nsturtz +diff:1624624884:1624624884:=1d0%0a%3c This is my testing page%0a\ No newline at end of file%0a +host:1624624884=199.66.14.109 blob - /dev/null blob + 98c78062dc8d7980a7f560d6c46c3448ba291c9e (mode 644) --- /dev/null +++ wiki.d/MacTerminal.Connect @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1623237624 +host=38.87.162.8 +name=MacTerminal.Connect +rev=2 +targets=Ircnow.SSHFingerprints +text=(:title Connecting on Mac:)%0a%0a# Click on the Launchpad%0a# Click on Other\\%0aAttach:macterm1.png%0a# Click on the Terminal app\\%0aAttach:macterm2.png%0a# Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.\\%0aAttach:macterm3.png%0a# [[Ircnow/SSHFingerprints|Verify the ssh fingerprints]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0aAttach:macterm4.png%0a# You're done!\\%0aAttach:macterm5.png%0a +time=1628591619 +title=Connecting on Mac +author:1628591619=jrmu +diff:1628591619:1623237624:=10c10%0a%3c # [[Ircnow/SSHFingerprints|Verify the ssh fingerprints]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a---%0a> # [[Shell/Sshfingerprints|Verify the ssh fingerprint]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a13c13%0a%3c Attach:macterm5.png%0a---%0a> Attach:macterm5.png%0a\ No newline at end of file%0a +host:1628591619=38.87.162.8 +author:1623237624=jrmu +diff:1623237624:1623237624:=1,13d0%0a%3c (:title Connecting on Mac:)%0a%3c %0a%3c # Click on the Launchpad%0a%3c # Click on Other\\%0a%3c Attach:macterm1.png%0a%3c # Click on the Terminal app\\%0a%3c Attach:macterm2.png%0a%3c # Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.\\%0a%3c Attach:macterm3.png%0a%3c # [[Shell/Sshfingerprints|Verify the ssh fingerprint]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a%3c Attach:macterm4.png%0a%3c # You're done!\\%0a%3c Attach:macterm5.png%0a\ No newline at end of file%0a +host:1623237624=125.231.25.80 blob - /dev/null blob + 8ddfd1fcc57267aa25a8654b3c73721dcdb443b9 (mode 644) --- /dev/null +++ wiki.d/MacTerminal.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1623237624 +host=38.87.162.8 +name=MacTerminal.RecentChanges +rev=2 +text=* [[MacTerminal/Connect]] . . . August 10, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a +time=1628591619 blob - /dev/null blob + 0e4aa83fd34935ca142aa269eecc95b0daa323e4 (mode 644) --- /dev/null +++ wiki.d/Mail.Openrelay @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614871241 +host=198.251.81.119 +name=Mail.Openrelay +rev=1 +targets=Openbsd.Dnsbl,Openbsd.Dkimproxy,Openbsd.Netcat,Openbsd.Opensmtpd +text=(:title Beware Mail Open Proxies!:)%0a%0aAn open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%0aAn open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%0a!! Why stop open proxies?%0a%0a# It could be used to send malware (viruses, trojans, or worms)%0a# It can be used to send spam%0a# Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%0a!! Sample Config%0a%0aHere is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%0a[@%0amatch from any for any relay%0a@]%0a%0aIf you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%0a[@%0amatch from any for any action "relay_dkim"%0a@]%0a%0aDon't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%0a!! Testing for Open Mail Relays%0a%0aHere's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0a!! Open Mail Relay%0a%0aHere's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3circnownetwork@gmail.com>%0a550 Invalid recipient: %3circnownetwork@gmail.com>%0a@]%0a%0aYou should get @@Invalid recipient@@ or some similar rejection message.%0a%0aHere's how it appears when the mail server is improperly configured:%0a%0a[@%0a$ nc bangcat.coconut.ircnow.org 25 %0a220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3ctest@gmail.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aNotice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%0a!! How to Fix%0a%0aYou will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%0a!! See Also +time=1614871241 +title=Beware Mail Open Proxies! +author:1614871241=jrmu +diff:1614871241:1614871241:=1,136d0%0a%3c (:title Beware Mail Open Proxies!:)%0a%3c %0a%3c An open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%3c %0a%3c An open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%3c %0a%3c !! Why stop open proxies?%0a%3c %0a%3c # It could be used to send malware (viruses, trojans, or worms)%0a%3c # It can be used to send spam%0a%3c # Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%3c %0a%3c !! Sample Config%0a%3c %0a%3c Here is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%3c %0a%3c [@%0a%3c match from any for any relay%0a%3c @]%0a%3c %0a%3c If you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%3c %0a%3c [@%0a%3c match from any for any action "relay_dkim"%0a%3c @]%0a%3c %0a%3c Don't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%3c %0a%3c !! Testing for Open Mail Relays%0a%3c %0a%3c Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c !! Open Mail Relay%0a%3c %0a%3c Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3circnownetwork@gmail.com>%0a%3c 550 Invalid recipient: %3circnownetwork@gmail.com>%0a%3c @]%0a%3c %0a%3c You should get @@Invalid recipient@@ or some similar rejection message.%0a%3c %0a%3c Here's how it appears when the mail server is improperly configured:%0a%3c %0a%3c [@%0a%3c $ nc bangcat.coconut.ircnow.org 25 %0a%3c 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3ctest@gmail.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%3c %0a%3c !! How to Fix%0a%3c %0a%3c You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%3c %0a%3c !! See Also%0a\ No newline at end of file%0a +host:1614871241=198.251.81.119 blob - /dev/null blob + 848a5e3b6e3a319042b5f168473a8d3e7306b800 (mode 644) --- /dev/null +++ wiki.d/Mail.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614870476 +host=198.251.81.119 +name=Mail.RecentChanges +rev=2 +text=* [[Mail/Openrelay]] . . . March 04, 2021, at 03:20 PM by [[~jrmu]]: [==]%0a* [[Mail/Test]] . . . March 04, 2021, at 03:07 PM by [[~jrmu]]: [==]%0a +time=1614871241 blob - /dev/null blob + be997ac8b7bb7984e065bd58ba0e8c72e3319358 (mode 644) --- /dev/null +++ wiki.d/Mail.Test @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614870476 +host=198.251.81.119 +name=Mail.Test +rev=1 +targets= +text=# Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server. +time=1614870476 +author:1614870476=jrmu +diff:1614870476:1614870476:=1d0%0a%3c # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a\ No newline at end of file%0a +host:1614870476=198.251.81.119 blob - /dev/null blob + 46583744702347d4d0ab298fefc0a717890f74b5 (mode 644) --- /dev/null +++ wiki.d/MailWindows.Connect @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628915122 +host=38.87.162.8 +name=MailWindows.Connect +rev=4 +targets= +text=(:title Mail (Windows):)%0a%0aif you don't have any accounts on Windows Mail, it will show account creation wizard. otherwise please select Settings icon on bottom left and choose "Manage accounts" on there, pick Add account and follow%0a%0aAttach:WindowsMail-account-type.png%0aAt this point, you will see this window, select "Advanced setup".%0a%0aAttach:WindowsMail-account-info.png%0aNow, select "Internet email"%0a%0a%0aAttach:WindowsMail-account-server.png%0aFill the information as needed:%0afill on "Email address" and "Username" with your email address.%0aput your password on "Password" section, and set Account name as desired.%0aset %0a"Incoming email server" as imap.ircnow.org, and "Outgoing "SMTP" email server" as smtp.ircnow.org%0a%0achoose "Account type" as IMAP4%0a%0aenable SSL on incoming and outgoing email, "Use the same user name and password for sending mail" and "Outgoing server requires authentication"%0a%0aand you are done!%0a +time=1638025957 +title=Mail (Windows) +author:1638025957=jrmu +diff:1638025957:1628915889:=1,2d0%0a%3c (:title Mail (Windows):)%0a%3c %0a23c21%0a%3c and you are done!%0a---%0a> and you are done!%0a\ No newline at end of file%0a +host:1638025957=38.87.162.8 +author:1628915889=mkf +csum:1628915889=fixing images +diff:1628915889:1628915784:minor=3c3%0a%3c Attach:WindowsMail-account-type.png%0a---%0a> Attach: WindowsMail-account-type.png%0a6c6%0a%3c Attach:WindowsMail-account-info.png%0a---%0a> Attach: WindowsMail-account-info.png%0a10c10%0a%3c Attach:WindowsMail-account-server.png%0a---%0a> Attach: WindowsMail-account-server.png%0a +host:1628915889=2.178.138.244 +author:1628915784=mkf +csum:1628915784=finishing touchs +diff:1628915784:1628915122:minor=3,21d2%0a%3c Attach: WindowsMail-account-type.png%0a%3c At this point, you will see this window, select "Advanced setup".%0a%3c %0a%3c Attach: WindowsMail-account-info.png%0a%3c Now, select "Internet email"%0a%3c %0a%3c %0a%3c Attach: WindowsMail-account-server.png%0a%3c Fill the information as needed:%0a%3c fill on "Email address" and "Username" with your email address.%0a%3c put your password on "Password" section, and set Account name as desired.%0a%3c set %0a%3c "Incoming email server" as imap.ircnow.org, and "Outgoing "SMTP" email server" as smtp.ircnow.org%0a%3c %0a%3c choose "Account type" as IMAP4%0a%3c %0a%3c enable SSL on incoming and outgoing email, "Use the same user name and password for sending mail" and "Outgoing server requires authentication"%0a%3c %0a%3c and you are done!%0a\ No newline at end of file%0a +host:1628915784=2.178.138.244 +author:1628915122=mkf +diff:1628915122:1628915122:=1,2d0%0a%3c if you don't have any accounts on Windows Mail, it will show account creation wizard. otherwise please select Settings icon on bottom left and choose "Manage accounts" on there, pick Add account and follow%0a%3c %0a +host:1628915122=198.251.81.133 blob - /dev/null blob + 7d28484e14b1eae5107639729162c792d3463fd8 (mode 644) --- /dev/null +++ wiki.d/MailWindows.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628915122 +host=38.87.162.8 +name=MailWindows.RecentChanges +rev=4 +text=* [[MailWindows/Connect]] . . . November 27, 2021, at 03:12 PM by [[~jrmu]]: [==]%0a +time=1638025957 blob - /dev/null blob + fb9dffea14c52224c13c55a58d13644bb72628a4 (mode 644) --- /dev/null +++ wiki.d/Main.HomePage @@ -0,0 +1,141 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +host=185.4.132.135 +name=Main.HomePage +rev=245 +targets=Freedom.Federation,Freedom.Freedom,Ircnow.Goals,Ircnow.Servers,Minutemin.Bootcamp +text=(:title IRCNow: The Users' Network:)%0a%0a!!! IRCNow %0a'''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0aTo chat with us, you can connect to one of following servers%0a%0a!!! IRC Servers (by alphabetical hostname order)%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! encrypted port || %0a||! Associate Servers ||! ||! ||! ||! || %0a|| [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 || %0a|| [@irc.bugzbunny.net@] || [@irc6.bugzbunny.net@] || || 6667 || 6697 || %0a|| [@irc.freeirc.org@] || [@irc6.freeirc.org@] || || 6667 || 6697 || %0a|| [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 || %0a|| [@irc.ircfun.net@] || [@irc6.ircfun.net@] || || 6667 || 6697 || %0a|| [@irc.ircology.com@] || [@irc6.ircology.com@] || || 6667 || 6697 || %0a|| [@irc.jujube.ircnow.org@] || [@irc6.jujube.ircnow.org@] || || 6667 || 6697 || %0a|| [@irc.lecturify.net@] || [@irc6.lecturify.net@] || || 6667 || 6697 || %0a|| [@irc.nastycode.com@] || [@irc6.nastycode.com@] || || 6667 || 6697 || %0a|| [@irc.oddprotocol.org@] || [@irc6.oddprotocol.org@] || || 6667 || 6697 || %0a|| [@irc.planetofnix.com@] || [@irc6.planetofnix.com@] || || 6667 || 6697 || %0a|| [@irc.shelltalk.net@] || [@irc6.shelltalk.net@] || || 6667 || 6697 || %0a|| [@irc.thunderirc.net@] || [@irc6.thunderirc.net@] || [@ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion@] || 6667 || 6697 || %0a||! Main Servers ||! ||! ||! ||! || %0a|| [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 ||%0a%0a([[ircnow/servers|Full list of servers]])%0a%0a!!! IRC Bouncers%0a%0aWith an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on any IRC network and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security.%0a%0a!!! IRC Bots%0a%0aRequest a free bot to use for your channel. We provide channel relays to connect multiple IRC networks and bridges to connect IRC with other protocols. We also provide chat bots and Bible bots.%0a%0a!!! VPN%0a%0aGet a free VPN account. This can be useful for security reasons (such as when you connect to a wifi hotspot), for anonymity reasons (since it hides your IP), and access to news sites and more.%0a%0a!!! Email%0a%0aGet a free email account! We give all users a combined total of 1GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP, and you can export your account whenever you want. We do not sell user data to third parties. %0a%0a!!! File Storage%0a%0aGet free file storage! We give all users a combined total of 1GB of storage with each file storage and email account. We currently support sftp/scp and plan to add support for rsync.%0a%0a!!! Code Hosting%0a%0aGet free code hosting! We provide hosting for git and cvs.%0a%0a!!! OpenBSD Guides%0a%0aYou can learn OpenBSD by reading our [[Minutemin/Bootcamp|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a%0a!!! IRCNow Goals%0a%0aWe're interested in improving the open IRC ecosystem. Read more about our goals [[ircnow/goals|here]].%0a +time=1639733124 +title=IRCNow: The Users' Network +author:1639733124=AncientWisdom +diff:1639733124:1639732238:=7c7%0a%3c !!! IRC Servers (by alphabetical hostname order)%0a---%0a> !!! IRC Servers (by alphabetical order)%0a +host:1639733124=185.4.132.135 +author:1639732238=AncientWisdom +diff:1639732238:1637624590:=7c7%0a%3c !!! IRC Servers (by alphabetical order)%0a---%0a> !!! IRC Servers%0a10,14c10%0a%3c ||! Associate Servers ||! ||! ||! ||! || %0a%3c || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 || %0a%3c || [@irc.bugzbunny.net@] || [@irc6.bugzbunny.net@] || || 6667 || 6697 || %0a%3c || [@irc.freeirc.org@] || [@irc6.freeirc.org@] || || 6667 || 6697 || %0a%3c || [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 || %0a---%0a> || [@irc.lecturify.net@] || [@irc6.lecturify.net@] || || 6667 || 6697 || %0a16c12%0a%3c || [@irc.ircology.com@] || [@irc6.ircology.com@] || || 6667 || 6697 || %0a---%0a> || [@irc.shelltalk.net@] || [@irc6.shelltalk.net@] || || 6667 || 6697 || %0a18c14,15%0a%3c || [@irc.lecturify.net@] || [@irc6.lecturify.net@] || || 6667 || 6697 || %0a---%0a> || [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 || %0a> || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 || %0a20d16%0a%3c || [@irc.oddprotocol.org@] || [@irc6.oddprotocol.org@] || || 6667 || 6697 || %0a22c18,19%0a%3c || [@irc.shelltalk.net@] || [@irc6.shelltalk.net@] || || 6667 || 6697 || %0a---%0a> || [@irc.ircology.com@] || [@irc6.ircology.com@] || || 6667 || 6697 || %0a> || [@irc.oddprotocol.org@] || [@irc6.oddprotocol.org@] || || 6667 || 6697 || %0a24,25c21,22%0a%3c ||! Main Servers ||! ||! ||! ||! || %0a%3c || [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 ||%0a---%0a> || [@irc.freeirc.org@] || [@irc6.freeirc.org@] || || 6667 || 6697 || %0a> || [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 || %0a +host:1639732238=185.4.132.135 +author:1637624590=AncientWisdom +diff:1637624590:1635257293:=15c15%0a%3c || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || [@bsdnetoezbtsbrzlnrgxn7iv6qokouuyr4dkd7f2xt6fmmacvi2kjjad.onion@] || 6667 || 6697 || %0a---%0a> || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || || 6667 || 6697 || %0a +host:1637624590=185.254.198.50 +author:1635257293=mkf +diff:1635257293:1630353238:=52c52%0a%3c You can learn OpenBSD by reading our [[Minutemin/Bootcamp|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a---%0a> Learn OpenBSD by reading our [[openbsd/openbsd|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a +host:1635257293=2.178.242.201 +author:1630353238=mkf +diff:1630353238:1628957182:=9c9%0a%3c ||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! encrypted port || %0a---%0a> ||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! SSL (encrypted) Port || %0a +host:1630353238=38.87.162.40 +author:1628957182=mkf +diff:1628957182:1628951253:=6d5%0a%3c %0a8c7%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> ||border=1%0a +host:1628957182=2.178.173.183 +author:1628951253=jrmu +diff:1628951253:1625026971:=21c21%0a%3c || [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@4ufrikyorlatp5ekgz6tlre22v6b5jxqbiid6cp7nuhemklukiohidqd.onion@] || 6667 || 6697 || %0a---%0a> || [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@ircnowuj3luixmmz.onion@] || 6667 || 6697 || %0a +host:1628951253=38.87.162.8 +author:1625026971=mkf +csum:1625026971=avoid repeats +diff:1625026971:1624756712:minor=39c39%0a%3c Get a free email account! We give all users a combined total of 1GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP, and you can export your account whenever you want. We do not sell user data to third parties. %0a---%0a> Get a free email account! We give all users a combined total of 1GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP. We do not sell user data to third parties. We offer a free mail account. You can export your mail at any time.%0a +host:1625026971=91.185.130.228 +author:1624756712=jrmu +diff:1624756712:1622600192:=10c10%0a%3c || [@irc.ircfun.net@] || [@irc6.ircfun.net@] || || 6667 || 6697 || %0a---%0a> || [@irc.mango.ircnow.org@] || [@irc6.mango.ircnow.org@] || || 6667 || 6697 || %0a14c14%0a%3c || [@irc.bsdforall.org@] || [@irc6.bsdforall.org@] || || 6667 || 6697 || %0a---%0a> || [@irc.lemon.ircnow.org@] || [@irc6.lemon.ircnow.org@] || || 6667 || 6697 || %0a17c17%0a%3c || [@irc.ircology.com@] || [@irc6.ircology.com@] || || 6667 || 6697 || %0a---%0a> || [@irc.grape.ircnow.org@] || [@irc6.grape.ircnow.org@] || || 6667 || 6697 || %0a +host:1624756712=38.81.163.143 +author:1622600192=jrmu +diff:1622600192:1621436366:=1,2c1,2%0a%3c (:title IRCNow: The Users' Network:)%0a%3c %0a---%0a> (:title IRCNow: The Users' Netwovrk:)%0a> %0a55c55%0a%3c We're interested in improving the open IRC ecosystem. Read more about our goals [[ircnow/goals|here]].%0a---%0a> We're interested in improving the open IRC ecosystem. Read more about our goals [[ircnow/goals|here]].%0a\ No newline at end of file%0a +host:1622600192=38.81.163.143 +author:1621436366=usr +diff:1621436366:1621340723:=10c10%0a%3c || [@irc.mango.ircnow.org@] || [@irc6.mango.ircnow.org@] || || 6667 || 6697 || %0a---%0a> || [@irc.mango.ircnow.org@] || [@irc.mango.ircnow.org@] || || 6667 || 6697 || %0a +host:1621436366=89.108.172.16 +author:1621340723=mkf +diff:1621340723:1621340707:=3,4c3%0a%3c !!! IRCNow %0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> !!! IRCNow '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a +host:1621340723=212.78.94.95 +author:1621340707=mkf +diff:1621340707:1621339275:=3c3%0a%3c !!! IRCNow '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a5c5%0a%3c !!! IRC Servers%0a---%0a> !!! Servers%0a +host:1621340707=212.78.94.95 +author:1621339275=mkf +diff:1621339275:1621338935:=4,5c4%0a%3c To chat with us, you can connect to one of following servers%0a%3c !!! Servers%0a---%0a> To chat with us, you can connect to following servers%0a +host:1621339275=88.208.206.128 +author:1621338935=mkf +diff:1621338935:1621336961:=1,2c1,2%0a%3c (:title IRCNow: The Users' Netwovrk:)%0a%3c %0a---%0a> (:title IRCNow: The Users' Network:)%0a> %0a6,20c6,21%0a%3c ||! IPv4 Server ||! IPv6 Server ||! Tor Server ||! Plain-text port ||! SSL (encrypted) Port || %0a%3c || [@irc.lecturify.net@] || [@irc6.lecturify.net@] || || 6667 || 6697 || %0a%3c || [@irc.mango.ircnow.org@] || [@irc.mango.ircnow.org@] || || 6667 || 6697 || %0a%3c || [@irc.shelltalk.net@] || [@irc6.shelltalk.net@] || || 6667 || 6697 || %0a%3c || [@irc.jujube.ircnow.org@] || [@irc6.jujube.ircnow.org@] || || 6667 || 6697 || %0a%3c || [@irc.ircforever.org@] || [@irc6.ircforever.org@] || [@6sntav3syf2yls5a.onion@] || 6667 || 6697 || %0a%3c || [@irc.lemon.ircnow.org@] || [@irc6.lemon.ircnow.org@] || || 6667 || 6697 || %0a%3c || [@irc.nastycode.com@] || [@irc6.nastycode.com@] || || 6667 || 6697 || %0a%3c || [@irc.planetofnix.com@] || [@irc6.planetofnix.com@] || || 6667 || 6697 || %0a%3c || [@irc.grape.ircnow.org@] || [@irc6.grape.ircnow.org@] || || 6667 || 6697 || %0a%3c || [@irc.oddprotocol.org@] || [@irc6.oddprotocol.org@] || || 6667 || 6697 || %0a%3c || [@irc.thunderirc.net@] || [@irc6.thunderirc.net@] || [@ircnowww2n24aluccfzydqelohej55yrgfkpnp6jc6geijmqht6w77yd.onion@] || 6667 || 6697 || %0a%3c || [@irc.freeirc.org@] || [@irc6.freeirc.org@] || || 6667 || 6697 || %0a%3c || [@irc.ircnow.org@] || [@ipv6.ircnow.org@] || [@ircnowuj3luixmmz.onion@] || 6667 || 6697 || %0a%3c %0a---%0a> ||!Connection ||! Server ||! Port ||%0a> || IPv4 || [@irc.lecturify.net@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.mango.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.shelltalk.net@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.jujube.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.ircforever.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.lemon.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.nastycode.com@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.planetofnix.com@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.grape.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.oddprotocol.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.thunderirc.net@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.freeirc.org@] || 6667 or 6697 (SSL) || %0a> || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv6 || [@ipv6.ircnow.org@] || 6667 or 6697 (SSL) ||%0a> || Tor || [@ircnowuj3luixmmz.onion@] || 6667 or 6697 (SSL) ||%0a +host:1621338935=88.208.206.128 +author:1621336961=mkf +diff:1621336961:1621336876:=5c5%0a%3c ||border=1%0a---%0a> ||border=1 width=50%25%0a +host:1621336961=80.210.48.116 +author:1621336876=mkf +diff:1621336876:1621333253:=3a4%0a> %0a7,19c8%0a%3c || IPv4 || [@irc.lecturify.net@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.mango.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.shelltalk.net@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.jujube.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.ircforever.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.lemon.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.nastycode.com@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.planetofnix.com@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.grape.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.oddprotocol.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.thunderirc.net@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.freeirc.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a---%0a> || IPv4 || [@irc.lecturify.net@] [@irc.mango.ircnow.org@] [@irc.shelltalk.net@] [@irc.jujube.ircnow.org@] [@irc.ircforever.org@] [@irc.lemon.ircnow.org@] [@irc.nastycode.com@] [@irc.planetofnix.com@] [@irc.grape.ircnow.org@] [@irc.oddprotocol.org@] [@irc.thunderirc.net@] [@irc.freeirc.org@] [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a +host:1621336876=80.210.48.116 +author:1621333253=mkf +diff:1621333253:1621333141:=8c8%0a%3c || IPv4 || [@irc.lecturify.net@] [@irc.mango.ircnow.org@] [@irc.shelltalk.net@] [@irc.jujube.ircnow.org@] [@irc.ircforever.org@] [@irc.lemon.ircnow.org@] [@irc.nastycode.com@] [@irc.planetofnix.com@] [@irc.grape.ircnow.org@] [@irc.oddprotocol.org@] [@irc.thunderirc.net@] [@irc.freeirc.org@] [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a---%0a> || IPv4 || [@irc.lecturify.net@] [@irc.mango.ircnow.org@] [@irc.shelltalk.net@] [@irc.jujube.ircnow.org@] [@irc.ircforever.org@] [@irc.lemon.ircnow.org@] [@irc.nastycode.com@] [@irc.planetofnix.com@] [@irc.grape.ircnow.org@] [@irc.oddprotocol.org@] [@irc.thunderirc.net@] [@irc.freeirc.org@] [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a +host:1621333253=80.210.48.116 +author:1621333141=mkf +csum:1621333141=IPv4 servers listed +diff:1621333141:1621249368:=8c8%0a%3c || IPv4 || [@irc.lecturify.net@] [@irc.mango.ircnow.org@] [@irc.shelltalk.net@] [@irc.jujube.ircnow.org@] [@irc.ircforever.org@] [@irc.lemon.ircnow.org@] [@irc.nastycode.com@] [@irc.planetofnix.com@] [@irc.grape.ircnow.org@] [@irc.oddprotocol.org@] [@irc.thunderirc.net@] [@irc.freeirc.org@] [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a---%0a> || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a +host:1621333141=80.210.48.116 +author:1621249368=mkf +csum:1621249368=tabled the servers +diff:1621249368:1619764281:=5,11c5%0a%3c To chat with us, you can connect to following servers%0a%3c ||border=1 width=50%25%0a%3c ||!Connection ||! Server ||! Port ||%0a%3c || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv6 || [@ipv6.ircnow.org@] || 6667 or 6697 (SSL) ||%0a%3c || Tor || [@ircnowuj3luixmmz.onion@] || 6667 or 6697 (SSL) ||%0a%3c ([[ircnow/servers|Full list of servers]])%0a---%0a> To chat with us, connect to '''irc.ircnow.org''' port 6667 / 6697 (SSL) for ipv4 or '''ipv6.ircnow.org''' port 6667 / 6697 (SSL) for ipv6. '''Tor users''' can use ircnowuj3luixmmz.onion . ([[ircnow/servers|Full list of servers]])%0a +host:1621249368=91.185.142.211 +author:1619764281=jrmu +diff:1619764281:1612242280:=21,22c21,22%0a%3c Get a free email account! We give all users a combined total of 1GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP. We do not sell user data to third parties. We offer a free mail account. You can export your mail at any time.%0a%3c %0a---%0a> Get a free email account! We give all users a combined total of 10GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP. We do not sell user data to third parties. We offer a free mail account. You can export your mail at any time.%0a> %0a25c25%0a%3c Get free file storage! We give all users a combined total of 1GB of storage with each file storage and email account. We currently support sftp/scp and plan to add support for rsync.%0a---%0a> Get free file storage! We give all users a combined total of 10GB of storage with each file storage and email account. We currently support sftp/scp and plan to add support for rsync.%0a +host:1619764281=198.251.81.119 +author:1612242280=jrmu +diff:1612242280:1612242250:=0a1,5%0a> What's going on here? Maybe I should be more careful what I paste.%0a> %0a> %0a> %0a> %0a +host:1612242280=198.251.81.119 +author:1612242250=jrmu +diff:1612242250:1612242127:=1,5d0%0a%3c What's going on here? Maybe I should be more careful what I paste.%0a%3c %0a%3c %0a%3c %0a%3c %0a +host:1612242250=37.120.153.107 +author:1612242127=jrmu +diff:1612242127:1612242104:=0a1,2%0a> Batman.%0a> %0a +host:1612242127=198.251.81.119 +author:1612242104=jrmu +diff:1612242104:1598970547:=1,2d0%0a%3c Batman.%0a%3c %0a +host:1612242104=37.120.153.107 +author:1598970547=jrmu +diff:1598970547:1597273121:=33c33%0a%3c Learn OpenBSD by reading our [[openbsd/openbsd|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a---%0a> Learn OpenBSD by reading our [[openbsd/guides|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a +host:1598970547=38.81.163.143 +author:1597273121=jrmu +diff:1597273121:1596457331:=1c1%0a%3c (:title IRCNow: The Users' Network:)%0a---%0a> (:title IRCNow: The Free Network:)%0a +host:1597273121=38.81.163.143 +author:1596457331=jrmu +diff:1596457331:1596457307:=3c3%0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[ircnow/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a +host:1596457331=38.81.163.143 +author:1596457307=jrmu +diff:1596457307:1596269193:=1c1%0a%3c (:title IRCNow: The Free Network:)%0a---%0a> !! IRCNow: The Free Network%0a +host:1596457307=38.81.163.143 +author:1596269193=jrmu +diff:1596269193:1596257747:=3c3%0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[ircnow/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is [[ircnow/federation|united federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a +host:1596269193=38.81.163.143 +author:1596257747=jrmu +diff:1596257747:1596256381:=37c37%0a%3c We're interested in improving the open IRC ecosystem. Read more about our goals [[ircnow/goals|here]].%0a\ No newline at end of file%0a---%0a> We're interested in improving the open IRC ecosystem. Read more about our goals [[irc:ircnow|here]].%0a\ No newline at end of file%0a +host:1596257747=38.81.163.143 +author:1596256381=jrmu +diff:1596256381:1596256331:=37c37,41%0a%3c We're interested in improving the open IRC ecosystem. Read more about our goals [[irc:ircnow|here]].%0a\ No newline at end of file%0a---%0a> We're interested in improving the open IRC ecosystem. Read more about our goals [[irc:ircnow|here]].%0a> %0a> !!! Terms of Service%0a> %0a> We have a strict policy against abuse. Absolutely no porn, violence, illegal drugs, or illegal copyright infringement. To use our services, you must agree to the [[terms/terms|terms of service]].%0a\ No newline at end of file%0a +host:1596256381=38.81.163.143 +author:1596256331=jrmu +diff:1596256331:1596250469:=41c41%0a%3c We have a strict policy against abuse. Absolutely no porn, violence, illegal drugs, or illegal copyright infringement. To use our services, you must agree to the [[terms/terms|terms of service]].%0a\ No newline at end of file%0a---%0a> We have a strict policy against abuse. Absolutely no porn, violence, illegal drugs, or illegal copyright infringement. To use our services, you must agree to the [[terms|terms of service]].%0a\ No newline at end of file%0a +host:1596256331=38.81.163.143 +author:1596250469=jrmu +diff:1596250469:1596198302:minor=33c33%0a%3c Learn OpenBSD by reading our [[openbsd/guides|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a---%0a> Learn OpenBSD by reading our [[openbsd:start|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a +host:1596250469=38.81.163.143 +author:1596198302=jrmu +diff:1596198302:1596188122:=3c3%0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is [[ircnow/federation|united federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is made up of a [[ircnow/federation|federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a +host:1596198302=38.81.163.143 +author:1596188122=jrmu +diff:1596188122:1596184540:=3c3%0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is made up of a [[ircnow/federation|federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is made up of a [[ircnow/constitution|federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a +host:1596188122=38.81.163.143 +author:1596184540=jrmu +diff:1596184540:1596184355:=3,6c3,8%0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is made up of a [[ircnow/constitution|federation of servers]]. Learn about [[ircnow/goals|our goals]].%0a%3c %0a%3c To chat with us, connect to '''irc.ircnow.org''' port 6667 / 6697 (SSL) for ipv4 or '''ipv6.ircnow.org''' port 6667 / 6697 (SSL) for ipv6. '''Tor users''' can use ircnowuj3luixmmz.onion . ([[ircnow/servers|Full list of servers]])%0a%3c %0a---%0a> '''IRCNow''' provides internet services for the '''free and open source''' community.%0a> %0a> Join us at '''irc.ircnow.org''' port 6667 / 6697 (SSL) for ipv4 or '''ipv6.ircnow.org''' port 6667 / 6697 (SSL) for ipv6.%0a> %0a> '''Tor users''' can use ircnowuj3luixmmz.onion .%0a> %0a25c27%0a%3c Get free file storage! We give all users a combined total of 10GB of storage with each file storage and email account. We currently support sftp/scp and plan to add support for rsync.%0a---%0a> Get free file storage! We give all users a combined total of 10GB of storage with each file storage and email account. We currently support sftp and plan to add support for rsync.%0a +host:1596184540=38.81.163.143 +author:1596184355=jrmu +diff:1596184355:1596184095:=2a3,4%0a> !!! One Network Under God%0a> %0a11,12c13,14%0a%3c With an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on any IRC network and even other chat protocols such as Telegram or Discord. It also cloaks your IP from others for anonymity and security.%0a%3c %0a---%0a> With an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on other networks (such as Telegram or Discord). It also cloaks your IP from others for anonymity and security. We don't log your chat data; we only log metadata like IPs to prevent abuse. To make a request, join us at #ircnow at irc.ircnow.org and type !bnc.%0a> %0a15c17%0a%3c Request a free bot to use for your channel. We provide channel relays to connect multiple IRC networks and bridges to connect IRC with other protocols. We also provide chat bots and Bible bots.%0a---%0a> Request a free bot to use for your channel We provide channel relays to connect multiple IRC networks and bridges to connect IRC with other protocols. We also provide chat bots and bible bots.%0a +host:1596184355=38.81.163.143 +author:1596184095=jrmu +diff:1596184095:1596180432:=7,9c7,9%0a%3c Join us at '''irc.ircnow.org''' port 6667 / 6697 (SSL) for ipv4 or '''ipv6.ircnow.org''' port 6667 / 6697 (SSL) for ipv6.%0a%3c %0a%3c '''Tor users''' can use ircnowuj3luixmmz.onion .%0a---%0a> Join us at !!!irc.ircnow.org!!! port 6667 / 6697 (SSL) for ipv4 or **ipv6.ircnow.org** port 6667 / 6697 (SSL) for ipv6.%0a> %0a> **Tor users** can use ircnowuj3luixmmz.onion .%0a +host:1596184095=38.81.163.143 +author:1596180432=jrmu +diff:1596180432:1596178892:=11,12c11,31%0a%3c !!! IRC Bouncers%0a%3c %0a---%0a> To see more details about the available servers and teams, see [[servers|this page]].%0a> %0a> We offer:%0a> %0a> * [[irc/bouncer|IRC Bouncers]]%0a> * [[irc/bots|IRC Bots]]%0a> * [[vpn|VPNs]]%0a> * [[email|Email]]%0a> * [[file|File Storage]]%0a> * [[code|Code Hosting]]%0a> * [[shell|Shell accounts]]%0a> * [[vps|OpenBSD VPSes]]%0a> %0a> Free Resources:%0a> * [[openbsd:start|OpenBSD Guides]]%0a> * [[irc:ircnow|IRCNow Goals]]%0a> * [[terms|Terms of Service]]%0a> * [[contact|Contact]]%0a> %0a> ===== IRC Bouncers =====%0a> %0a15,16c34,35%0a%3c !!! IRC Bots%0a%3c %0a---%0a> ===== IRC Bots =====%0a> %0a19,20c38,39%0a%3c !!! VPN%0a%3c %0a---%0a> ===== VPN =====%0a> %0a23,24c42,43%0a%3c !!! Email%0a%3c %0a---%0a> ===== Email =====%0a> %0a27,28c46,47%0a%3c !!! File Storage%0a%3c %0a---%0a> ===== File Storage =====%0a> %0a31,32c50,51%0a%3c !!! Code Hosting%0a%3c %0a---%0a> ===== Code Hosting =====%0a> %0a35,36c54,55%0a%3c !!! OpenBSD Guides%0a%3c %0a---%0a> ===== OpenBSD Guides =====%0a> %0a39,40c58,59%0a%3c !!! IRCNow Goals%0a%3c %0a---%0a> ===== IRCNow Goals =====%0a> %0a43c62%0a%3c !!! Terms of Service%0a---%0a> ===== Terms of Service =====%0a +host:1596180432=38.81.163.143 +author:1596178892=jrmu +diff:1596178892:1596103827:minor=0a1%0a> %0a7,8c8,10%0a%3c Join us at !!!irc.ircnow.org!!! port 6667 / 6697 (SSL) for ipv4 or **ipv6.ircnow.org** port 6667 / 6697 (SSL) for ipv6.%0a%3c %0a---%0a> Join us at%0a> **irc.ircnow.org** port 6667 / 6697 (SSL) for ipv4 or **ipv6.ircnow.org** port 6667 / 6697 (SSL) for ipv6.%0a> %0a15,22c17,23%0a%3c * [[irc/bouncer|IRC Bouncers]]%0a%3c * [[irc/bots|IRC Bots]]%0a%3c * [[vpn|VPNs]]%0a%3c * [[email|Email]]%0a%3c * [[file|File Storage]]%0a%3c * [[code|Code Hosting]]%0a%3c * [[shell|Shell accounts]]%0a%3c * [[vps|OpenBSD VPSes]]%0a---%0a> * [[irc:bouncer|IRC Bouncers]]%0a> * [[irc:bots|IRC Bots]]%0a> * [[vpn:vpn|VPN]]%0a> * [[email:email|Email]]%0a> * [[files:files|File Storage]]%0a> * [[code:code|Code Hosting]]%0a> * [[shell:shell|Shell accounts]]%0a +host:1596178892=38.81.163.143 +author:1596103827=jrmu +diff:1596103827:1400472661:=1,65c1,13%0a%3c %0a%3c !! IRCNow: The Free Network%0a%3c %0a%3c !!! One Network Under God%0a%3c %0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community.%0a%3c %0a%3c Join us at%0a%3c **irc.ircnow.org** port 6667 / 6697 (SSL) for ipv4 or **ipv6.ircnow.org** port 6667 / 6697 (SSL) for ipv6.%0a%3c %0a%3c **Tor users** can use ircnowuj3luixmmz.onion .%0a%3c %0a%3c To see more details about the available servers and teams, see [[servers|this page]].%0a%3c %0a%3c We offer:%0a%3c %0a%3c * [[irc:bouncer|IRC Bouncers]]%0a%3c * [[irc:bots|IRC Bots]]%0a%3c * [[vpn:vpn|VPN]]%0a%3c * [[email:email|Email]]%0a%3c * [[files:files|File Storage]]%0a%3c * [[code:code|Code Hosting]]%0a%3c * [[shell:shell|Shell accounts]]%0a%3c %0a%3c Free Resources:%0a%3c * [[openbsd:start|OpenBSD Guides]]%0a%3c * [[irc:ircnow|IRCNow Goals]]%0a%3c * [[terms|Terms of Service]]%0a%3c * [[contact|Contact]]%0a%3c %0a%3c ===== IRC Bouncers =====%0a%3c %0a%3c With an IRC bouncer, you will now be able to receive messages while you're offline. A bouncer helps save messages for you while you're disconnected so your IRC client can download them once you log in later on. Our bouncer also lets you chat with users on other networks (such as Telegram or Discord). It also cloaks your IP from others for anonymity and security. We don't log your chat data; we only log metadata like IPs to prevent abuse. To make a request, join us at #ircnow at irc.ircnow.org and type !bnc.%0a%3c %0a%3c ===== IRC Bots =====%0a%3c %0a%3c Request a free bot to use for your channel We provide channel relays to connect multiple IRC networks and bridges to connect IRC with other protocols. We also provide chat bots and bible bots.%0a%3c %0a%3c ===== VPN =====%0a%3c %0a%3c Get a free VPN account. This can be useful for security reasons (such as when you connect to a wifi hotspot), for anonymity reasons (since it hides your IP), and access to news sites and more.%0a%3c %0a%3c ===== Email =====%0a%3c %0a%3c Get a free email account! We give all users a combined total of 10GB of storage with each file storage account. We support all open protocols: POP, IMAP, and SMTP. We do not sell user data to third parties. We offer a free mail account. You can export your mail at any time.%0a%3c %0a%3c ===== File Storage =====%0a%3c %0a%3c Get free file storage! We give all users a combined total of 10GB of storage with each file storage and email account. We currently support sftp and plan to add support for rsync.%0a%3c %0a%3c ===== Code Hosting =====%0a%3c %0a%3c Get free code hosting! We provide hosting for git and cvs.%0a%3c %0a%3c ===== OpenBSD Guides =====%0a%3c %0a%3c Learn OpenBSD by reading our [[openbsd:start|how to guides]] and join our community at [[ircs://irc.ircnow.org/#openbsd|#openbsd]]. We aim to provide working examples and topics not covered by the excellent OpenBSD man pages.%0a%3c %0a%3c ===== IRCNow Goals =====%0a%3c %0a%3c We're interested in improving the open IRC ecosystem. Read more about our goals [[irc:ircnow|here]].%0a%3c %0a%3c ===== Terms of Service =====%0a%3c %0a%3c We have a strict policy against abuse. Absolutely no porn, violence, illegal drugs, or illegal copyright infringement. To use our services, you must agree to the [[terms|terms of service]].%0a\ No newline at end of file%0a---%0a> (:Summary:The default home page for the PmWiki distribution:)%0a> Welcome to PmWiki!%0a> %0a> A local copy of PmWiki's%0a> documentation has been installed along with the software,%0a> and is available via the [[PmWiki/documentation index]]. %0a> %0a> To continue setting up PmWiki, see [[PmWiki/initial setup tasks]].%0a> %0a> The [[PmWiki/basic editing]] page describes how to create pages%0a> in PmWiki. You can practice editing in the [[wiki sandbox]].%0a> %0a> More information about PmWiki is available from [[http://www.pmwiki.org]].%0a +host:1596103827=38.81.163.143 blob - /dev/null blob + ccebe443feaa77aa13b16d660aaa91f864fa34dd (mode 644) --- /dev/null +++ wiki.d/Main.Ircnow @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596180983 +host=38.81.163.143 +name=Main.Ircnow +rev=2 +targets= +text= +time=1596181118 +author:1596181118=jrmu +diff:1596181118:1596180983:=0a1,28%0a> !! IRCNow: IRC for Human Beings%0a> %0a> Our team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a> %0a> We are committed to writing [[freedom/source|free and open source software]] following our [[freedom/quality|quality software guidelines]].%0a> %0a> !!! Why IRC?%0a> %0a> We all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a> %0a> !!! Fixing IRC%0a> %0a> But IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a> %0a> IRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 '''still''':%0a> %0a> # Does '''not''' provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a> # Does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a> # Does '''not''' provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a> # Does '''not''' provide buddy lists%0a> # Does '''not''' provide HTTP tunneling to bypass firewalls%0a> # '''Cannot''' handle frequent disconnects from mobile clients%0a> # '''Cannot''' handle audio/video calls%0a> # Does '''not''' provide a standardized registration interface%0a> %0a> We plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a> %0a> If you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a +host:1596181118=38.81.163.143 +author:1596180983=jrmu +diff:1596180983:1596180983:=1,28d0%0a%3c !! IRCNow: IRC for Human Beings%0a%3c %0a%3c Our team at IRCNow wants to make IRC better today without changing the IRC protocol.%0a%3c %0a%3c We are committed to writing [[freedom/source|free and open source software]] following our [[freedom/quality|quality software guidelines]].%0a%3c %0a%3c !!! Why IRC?%0a%3c %0a%3c We all love IRC because it is simple to code for and easy to understand. It supports a huge number of clients, has a large and mature ecosystem, and has over 100,000 users from all over the globe. IRC is the home of the free and open source community.%0a%3c %0a%3c !!! Fixing IRC%0a%3c %0a%3c But IRC hasn't improved much since it was first invented in 1988. As of 2019, IRC is still incredibly hard for average people to use. It's for this reason that the IRC community has lost over 95%25 of its users to proprietary chat networks like Facebook, Discord, and Slack.%0a%3c %0a%3c IRCv3, however, is not fixing any of the major flaws with IRC. As of 2019, IRCv3 '''still''':%0a%3c %0a%3c # Does '''not''' provide an easy way to upload a file in-band to a public channel (you can't share code snippets, photos, or videos with your irc client, you need to use a web browser)%0a%3c # Does '''not''' sync messages properly on phones (messages are often lost or repeated)%0a%3c # Does '''not''' provide recipient confirmations for when a message is delivered (echo-message only provides server confirmations, not recipient confirmations)%0a%3c # Does '''not''' provide buddy lists%0a%3c # Does '''not''' provide HTTP tunneling to bypass firewalls%0a%3c # '''Cannot''' handle frequent disconnects from mobile clients%0a%3c # '''Cannot''' handle audio/video calls%0a%3c # Does '''not''' provide a standardized registration interface%0a%3c %0a%3c We plan to add these necessary features while still maintaining backwards compatibility with all existing irc clients and servers.%0a%3c %0a%3c If you are interested, please join our network at [[ircs://irc.ircnow.org/#ircnow|irc.ircnow.org]].%0a +host:1596180983=38.81.163.143 blob - /dev/null blob + b5ce916dc4a1b77c55c1de604151698c75bd4130 (mode 644) --- /dev/null +++ wiki.d/Main.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1596101899 +host=185.4.132.135 +name=Main.RecentChanges +rev=60 +text=* [[Main/HomePage]] . . . December 17, 2021, at 09:25 AM by [[~AncientWisdom]]: [==]%0a* [[Main/WikiSandbox]] . . . August 23, 2021, at 04:39 PM by [[~mkf]]: [==]%0a* [[Main/Terms]] . . . December 13, 2020, at 01:35 PM by [[~jrmu]]: [==]%0a* [[Main/Shell]] . . . August 03, 2020, at 12:36 PM by [[~jrmu]]: [==]%0a* [[Main/Ircnow]] . . . July 31, 2020, at 07:38 AM by [[~jrmu]]: [==]%0a +time=1639733124 blob - /dev/null blob + bfc9ebaab0f1e2a0c293df2a661590fc430c27ba (mode 644) --- /dev/null +++ wiki.d/Main.Shell,del-1596458188 @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596456008 +host=38.81.163.143 +name=Main.Shell +rev=2 +targets=Shell.Applications,Terms.Terms,Terms.Privacy,Main.ShellFaq,Main.ShellPutty,Main.StartUsingAMacToAccessYourShell,Main.ShellTermux,Main.ShellSSHKEYS +text=(:title Free OpenBSD Shell Accounts:)%0a%0aLearn UNIX with friends and take control of your own computing! Here's what we provide for free with each account:%0a%0a* 2GB disk space%0a* 32MB RAM%0a* Shared DDoS filtered IPv4 address%0a* Unique IPv6 address%0a* up to 20 processes%0a* 100Mbps shared connection%0a* Web hosting with PHP%0a* Free SSL certificate%0a%0a...and [[shell/applications|many applications]].%0a%0aHere's a sample of what you can do with the account:%0a%0a* Run a command-line IRC client%0a* Run a custom IRC chat bot%0a* Run your own IRC server%0a* Host your homepage with a custom domain name you already own%0a* Check and send email%0a* Instant message friends on other networks using Bitlbee%0a* Surf the web using lynx/w3m%0a* Edit images using ImageMagick%0a%0aPlease see our [[terms/terms|terms of service]] and [[terms/privacy|privacy policy]].%0a%0aTo get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #ircnow to ask for an account.%0a%0aSSH fingerprints:%0a[@%0a256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a@]%0a%0a * [[shell:faq|FAQ]]%0a * [[shell:putty|Windows Users]]%0a * [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a * [[shell:termux|Android users]]%0a * [[shell:SSH_KEYS|How to access your shell with ssh keys]] +time=1596457918 +title=Free OpenBSD Shell Accounts +author:1596457918=jrmu +diff:1596457918:1596456008:=3,5c3,5%0a%3c Learn UNIX with friends and take control of your own computing! Here's what we provide for free with each account:%0a%3c %0a%3c * 2GB disk space%0a---%0a> Learn UNIX with friends and bring the fun back into computing! We are now offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a> %0a> * 1GB disk space%0a8d7%0a%3c * Unique IPv6 address%0a19,20d17%0a%3c * Run a custom IRC chat bot%0a%3c * Run your own IRC server%0a22c19%0a%3c * Check and send email%0a---%0a> * Check your email%0a24c21%0a%3c * Surf the web using lynx/w3m%0a---%0a> * Surf the web using lynx%0a29c26%0a%3c To get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #ircnow to ask for an account.%0a---%0a> To get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #shell to ask for an account. We currently have an interview process to make sure accounts are not abused.%0a +host:1596457918=38.81.163.143 +author:1596456008=jrmu +diff:1596456008:1596456008:=1,40d0%0a%3c (:title Free OpenBSD Shell Accounts:)%0a%3c %0a%3c Learn UNIX with friends and bring the fun back into computing! We are now offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a%3c %0a%3c * 1GB disk space%0a%3c * 32MB RAM%0a%3c * Shared DDoS filtered IPv4 address%0a%3c * up to 20 processes%0a%3c * 100Mbps shared connection%0a%3c * Web hosting with PHP%0a%3c * Free SSL certificate%0a%3c %0a%3c ...and [[shell/applications|many applications]].%0a%3c %0a%3c Here's a sample of what you can do with the account:%0a%3c %0a%3c * Run a command-line IRC client%0a%3c * Host your homepage with a custom domain name you already own%0a%3c * Check your email%0a%3c * Instant message friends on other networks using Bitlbee%0a%3c * Surf the web using lynx%0a%3c * Edit images using ImageMagick%0a%3c %0a%3c Please see our [[terms/terms|terms of service]] and [[terms/privacy|privacy policy]].%0a%3c %0a%3c To get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #shell to ask for an account. We currently have an interview process to make sure accounts are not abused.%0a%3c %0a%3c SSH fingerprints:%0a%3c [@%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a%3c @]%0a%3c %0a%3c * [[shell:faq|FAQ]]%0a%3c * [[shell:putty|Windows Users]]%0a%3c * [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a%3c * [[shell:termux|Android users]]%0a%3c * [[shell:SSH_KEYS|How to access your shell with ssh keys]]%0a\ No newline at end of file%0a +host:1596456008=38.81.163.143 blob - /dev/null blob + 6cfdd3f3ba1aaf894f4dee4ac48e730e9d1e1d7f (mode 644) --- /dev/null +++ wiki.d/Main.Terms @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596202212 +host=198.251.81.119 +name=Main.Terms +rev=6 +targets=Terms.Privacy,Terms.Shell,Terms.Vps,License.Ircnow +text=(:title Terms of Service:)%0a%0aIRCNow is the network of the user, by the user, for the user. We ask that everyone follow these rules:%0a%0a* No profanity / porn / illegal drugs%0a* No gambling / slander or libel / copyright infringement%0a* No promotion of violence%0a* No spam, illegal cracking, or DDoS%0a* Only one account per person%0a* Do not share passwords or accounts%0a%0aBy using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a%0aAdditional terms for [[terms/shell|shell account users]]:%0a%0a* Max 2 connections per IRC network per person%0a * DALNet allows up to 4 connections per person%0a * IRCNow allows up to 5 connections per person%0a* No malicious bots allowed%0a* Running tor is not allowed%0a* Torrents are not allowed%0a* Cryptocurrency mining is not allowed%0a* No port scanning without permission%0a%0aAdditional terms for [[terms/vps|VPS users]]:%0a%0a* No malicious network activity%0a* No port scanning without permission%0a* No activities illegal in the USA%0a* No cryptocurrency miners%0a%0aIf you make any contributions to our project, you must agree to use [[license/ircnow|the IRCNow license]]. +time=1607866536 +title=Terms of Service +author:1607866536=jrmu +diff:1607866536:1597057475:=3,4c3,4%0a%3c IRCNow is the network of the user, by the user, for the user. We ask that everyone follow these rules:%0a%3c %0a---%0a> IRCNow is a Christian network. We ask that everyone follow these rules:%0a> %0a11a12,13%0a> Religious or political content may be subject to censorship according to the Bible.%0a> %0a14,30c16%0a%3c Additional terms for [[terms/shell|shell account users]]:%0a%3c %0a%3c * Max 2 connections per IRC network per person%0a%3c * DALNet allows up to 4 connections per person%0a%3c * IRCNow allows up to 5 connections per person%0a%3c * No malicious bots allowed%0a%3c * Running tor is not allowed%0a%3c * Torrents are not allowed%0a%3c * Cryptocurrency mining is not allowed%0a%3c * No port scanning without permission%0a%3c %0a%3c Additional terms for [[terms/vps|VPS users]]:%0a%3c %0a%3c * No malicious network activity%0a%3c * No port scanning without permission%0a%3c * No activities illegal in the USA%0a%3c * No cryptocurrency miners%0a---%0a> See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a +host:1607866536=198.251.81.119 +author:1597057475=jrmu +diff:1597057475:1596397210:=18c18%0a%3c If you make any contributions to our project, you must agree to use [[license/ircnow|the IRCNow license]].%0a\ No newline at end of file%0a---%0a> If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1597057475=38.81.163.143 +author:1596397210=jrmu +diff:1596397210:1596397198:=1c1%0a%3c (:title Terms of Service:)%0a---%0a> (:title Terms of Service)%0a +host:1596397210=38.81.163.143 +author:1596397198=jrmu +diff:1596397198:1596256346:=1,18d0%0a%3c (:title Terms of Service)%0a%3c %0a%3c IRCNow is a Christian network. We ask that everyone follow these rules:%0a%3c %0a%3c * No profanity / porn / illegal drugs%0a%3c * No gambling / slander or libel / copyright infringement%0a%3c * No promotion of violence%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * Only one account per person%0a%3c * Do not share passwords or accounts%0a%3c %0a%3c Religious or political content may be subject to censorship according to the Bible.%0a%3c %0a%3c By using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a%3c %0a%3c See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a%3c %0a%3c If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1596397198=38.81.163.143 +author:1596256346=jrmu +diff:1596256346:1596202212:=0a1,18%0a> !! Terms of Service%0a> %0a> IRCNow is a Christian network. We ask that everyone follow these rules:%0a> %0a> * No profanity / porn / illegal drugs%0a> * No gambling / slander or libel / copyright infringement%0a> * No promotion of violence%0a> * No spam, illegal cracking, or DDoS%0a> * Only one account per person%0a> * Do not share passwords or accounts%0a> %0a> Religious or political content may be subject to censorship according to the Bible.%0a> %0a> By using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a> %0a> See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a> %0a> If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1596256346=38.81.163.143 +author:1596202212=jrmu +diff:1596202212:1596202212:=1,18d0%0a%3c !! Terms of Service%0a%3c %0a%3c IRCNow is a Christian network. We ask that everyone follow these rules:%0a%3c %0a%3c * No profanity / porn / illegal drugs%0a%3c * No gambling / slander or libel / copyright infringement%0a%3c * No promotion of violence%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * Only one account per person%0a%3c * Do not share passwords or accounts%0a%3c %0a%3c Religious or political content may be subject to censorship according to the Bible.%0a%3c %0a%3c By using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a%3c %0a%3c See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a%3c %0a%3c If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1596202212=38.81.163.143 blob - /dev/null blob + 01870a986ce2b3c9f0f6d59711fe8ec00cf3bc37 (mode 644) --- /dev/null +++ wiki.d/Main.WikiSandbox @@ -0,0 +1,32 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +host=198.251.81.133 +name=Main.WikiSandbox +rev=10 +targets=PmWiki.TextFormattingRules +text=Feel free to use this page to experiment with the [[PmWiki/Text Formatting Rules]]. Just click the "Edit Page" link at the bottom of the page.%0a----%0a%0a!!Mariadb Installation and Basic commands%0a%0aMariaDB is a replacement for Oracle MySQL servers. It is a multithreaded SQL database with a command syntax very similar to mSQL. This page shows how to install MariaDB server on OpenBSD.%0a%0a!!!There are two packages%0a#mariadb-server – The MariaDB server.%0a#mariadb-client – The client side of MariaDB server including mysqlclient library and headers for the MariaDB client API.%0a%0a%0aWe will only install and mariadb-server%0a[@%0a$ doas pkg_add curl%0a$ doas pkg_add mariabd-server%0a@]%0acurl is a one of the dependency package for mariadb-server.%0a%0aNow we need to configure mariadb to run.%0a%0aopen open '''/etc/my.cnf''' with your regular editor%0a[@%0a$ vi open /etc/my.cnf%0a@]%0a%0aUncommnet the bold lines %0a%0a%0a[client-server]%0a%0a'''socket=/var/run/mysql/mysql.sock'''%0a%0achange the above line to %0a%0a'''socket=/var/www/var/run/mysql/mysql.sock'''%0a%0a'''port=3306'''%0a%0a'''bind-address=0.0.0.0'''%0a%0a'''data=/var/mysql'''%0a%0asave%0a%0aRun the following command %0a%0a[@%0a$ mysql_install_db%0a@]%0a%0a!!!Initialize MariaDB data directory%0aThe above command is for initialising You need to run mysql_install_db command. It initialises the MariaDB data directory and creates the system tables:%0a%0a[@%0a$ mysql_install_db%0a@]%0a%0aNow start mariadb%0a%0a[@%0a$ doas rcctl enable mysqld%0a$ doas rcctl start mysqld%0amysqld(ok)%0a@]%0a%0aTo check if you mariadb is running run following command%0a%0a[@%0a$ ps -aux | grep mysqld%0a@]%0a%0ayou will see a line pops up as follow:%0a%0a[@%0aroot 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe%0a@]%0a%0a'''We are good to go..its running'''%0a%0a!!Mariadb database creation and user privileges commands %0a%0a%0aTo connect to mariadb console%0a[@%0a$ mysql -u root -p%0a@]%0a%0aCreate a new database:%0a%0a[@%0aMariaDB> create database DATABASE_NAME;%0a@]%0a%0aCreate a new user (only with local access) and grant privileges to this user on the new database:%0a%0a[@%0aMariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';%0a@]%0a%0aCreate a new user (with remote access) and grant privileges to this user%0aon the new database:%0a%0a[@%0aMariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'%25' identified by 'PASSWORD';%0a@]%0a%0aAfter modifying the MariaDB grant tables, execute the following command in order to apply the changes:%0a%0a[@%0aMariaDB> flush privileges;%0a@]%0a%0aother commands add user : CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a%0a%0a{-No ''Error'' Happy days-} =) +time=1629736749 +author:1629736749=mkf +diff:1629736749:1626793013:=4,13c4,24%0a%3c !!Mariadb Installation and Basic commands%0a%3c %0a%3c MariaDB is a replacement for Oracle MySQL servers. It is a multithreaded SQL database with a command syntax very similar to mSQL. This page shows how to install MariaDB server on OpenBSD.%0a%3c %0a%3c !!!There are two packages%0a%3c #mariadb-server – The MariaDB server.%0a%3c #mariadb-client – The client side of MariaDB server including mysqlclient library and headers for the MariaDB client API.%0a%3c %0a%3c %0a%3c We will only install and mariadb-server%0a---%0a> %0a> Test%0a> fdfdsfd%0a> %0a> (:title IRCNow: The Users' Network:)%0a> %0a> '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a> %0a> To chat with us, you can connect to following servers%0a> ||border=1 width=50%25%0a> ||!Connection ||! Server ||! Port ||%0a> || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a> || IPv6 || [@ipv6.ircnow.org@] || 6667 or 6697 (SSL) ||%0a> || Tor || [@ircnowuj3luixmmz.onion@] || 6667 or 6697 (SSL) ||%0a> ([[ircnow/servers|Full list of servers]])%0a> %0a> ---%0a> chanop%0a> -----%0a> Setting ChanServ on your channels allow you to set modes and your rules to manage it, even after you got disconnected.%0a> first, join the channel you want to get chanserv on it. this usually done by%0a15,16c26%0a%3c $ doas pkg_add curl%0a%3c $ doas pkg_add mariabd-server%0a---%0a> /join #yourchannelname%0a18,22c28,30%0a%3c curl is a one of the dependency package for mariadb-server.%0a%3c %0a%3c Now we need to configure mariadb to run.%0a%3c %0a%3c open open '''/etc/my.cnf''' with your regular editor%0a---%0a> if it didn't worked, check your client manual.%0a> %0a> then, check if that channel is not registered by someone else, by msg-ing chanserv info #yourchannelname%0a24c32%0a%3c $ vi open /etc/my.cnf%0a---%0a> /msg chanserv info #yourchannelname%0a26,47c34%0a%3c %0a%3c Uncommnet the bold lines %0a%3c %0a%3c %0a%3c [client-server]%0a%3c %0a%3c '''socket=/var/run/mysql/mysql.sock'''%0a%3c %0a%3c change the above line to %0a%3c %0a%3c '''socket=/var/www/var/run/mysql/mysql.sock'''%0a%3c %0a%3c '''port=3306'''%0a%3c %0a%3c '''bind-address=0.0.0.0'''%0a%3c %0a%3c '''data=/var/mysql'''%0a%3c %0a%3c save%0a%3c %0a%3c Run the following command %0a%3c %0a---%0a> if it has been taken by someone else, it will show something like this:%0a49c36,45%0a%3c $ mysql_install_db%0a---%0a> -ChanServ(services@services.irc.ircnow.org)- Information for channel #yourchannelname:%0a> -ChanServ(services@services.irc.ircnow.org)- Founder: mkf%0a> -ChanServ(services@services.irc.ircnow.org)- Description: yeah, that's my channel.%0a> -ChanServ(services@services.irc.ircnow.org)- Registered: Jul 20 06:34:21 2018 PDT (2 years ago)%0a> -ChanServ(services@services.irc.ircnow.org)- Last used: Jul 20 06:39:35 2022 PDT (now)%0a> -ChanServ(services@services.irc.ircnow.org)- Ban type: 2%0a> -ChanServ(services@services.irc.ircnow.org)- Mode lock: +nt%0a> -ChanServ(services@services.irc.ircnow.org)- Options: Peace, Security, Secure founder, Signed kicks, Topic retention%0a> -ChanServ(services@services.irc.ircnow.org)- Last topic: no, choose another name. this is my channel :^)%0a> -ChanServ(services@services.irc.ircnow.org)- Topic set by: mkf%0a52,54c48,49%0a%3c !!!Initialize MariaDB data directory%0a%3c The above command is for initialising You need to run mysql_install_db command. It initialises the MariaDB data directory and creates the system tables:%0a%3c %0a---%0a> it says this channel has taken by some guy with nick "mkf". in that case choose another name.%0a> if it has not taken by someone else, it should show something like that:%0a56c51%0a%3c $ mysql_install_db%0a---%0a> -ChanServ(services@services.irc.ircnow.org)- Channel #yourchannelname isn't registered.%0a58,60c53,54%0a%3c %0a%3c Now start mariadb%0a%3c %0a---%0a> in that case, you can take it. however, some networks doesn't allow some names for channels, ask admins of your network about that.%0a> for registering your channel into chanserv, do the following:%0a62,64c56%0a%3c $ doas rcctl enable mysqld%0a%3c $ doas rcctl start mysqld%0a%3c mysqld(ok)%0a---%0a> /msg chanserv register #yourchannelname this is my channel%0a66,117c58%0a%3c %0a%3c To check if you mariadb is running run following command%0a%3c %0a%3c [@%0a%3c $ ps -aux | grep mysqld%0a%3c @]%0a%3c %0a%3c you will see a line pops up as follow:%0a%3c %0a%3c [@%0a%3c root 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe%0a%3c @]%0a%3c %0a%3c '''We are good to go..its running'''%0a%3c %0a%3c !!Mariadb database creation and user privileges commands %0a%3c %0a%3c %0a%3c To connect to mariadb console%0a%3c [@%0a%3c $ mysql -u root -p%0a%3c @]%0a%3c %0a%3c Create a new database:%0a%3c %0a%3c [@%0a%3c MariaDB> create database DATABASE_NAME;%0a%3c @]%0a%3c %0a%3c Create a new user (only with local access) and grant privileges to this user on the new database:%0a%3c %0a%3c [@%0a%3c MariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';%0a%3c @]%0a%3c %0a%3c Create a new user (with remote access) and grant privileges to this user%0a%3c on the new database:%0a%3c %0a%3c [@%0a%3c MariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'%25' identified by 'PASSWORD';%0a%3c @]%0a%3c %0a%3c After modifying the MariaDB grant tables, execute the following command in order to apply the changes:%0a%3c %0a%3c [@%0a%3c MariaDB> flush privileges;%0a%3c @]%0a%3c %0a%3c other commands add user : CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a%3c %0a%3c %0a%3c {-No ''Error'' Happy days-} =)%0a\ No newline at end of file%0a---%0a> it registers [@#yourchannelname@], under your current nick and with description "this is my channel"%0a +host:1629736749=198.251.81.133 +author:1626793013=mkf +diff:1626793013:1626789673:minor=54,59d53%0a%3c for registering your channel into chanserv, do the following:%0a%3c [@%0a%3c /msg chanserv register #yourchannelname this is my channel%0a%3c @]%0a%3c it registers [@#yourchannelname@], under your current nick and with description "this is my channel"%0a%3c %0a\ No newline at end of file%0a +host:1626793013=198.251.81.133 +author:1626789673=mkf +diff:1626789673:1626789634:=22d21%0a%3c -----%0a49a49%0a> %0a +host:1626789673=198.251.81.133 +author:1626789634=mkf +diff:1626789634:1621249306:=18,53c18%0a%3c ([[ircnow/servers|Full list of servers]])%0a%3c %0a%3c ---%0a%3c chanop%0a%3c Setting ChanServ on your channels allow you to set modes and your rules to manage it, even after you got disconnected.%0a%3c first, join the channel you want to get chanserv on it. this usually done by%0a%3c [@%0a%3c /join #yourchannelname%0a%3c @]%0a%3c if it didn't worked, check your client manual.%0a%3c %0a%3c then, check if that channel is not registered by someone else, by msg-ing chanserv info #yourchannelname%0a%3c [@%0a%3c /msg chanserv info #yourchannelname%0a%3c @]%0a%3c if it has been taken by someone else, it will show something like this:%0a%3c [@%0a%3c -ChanServ(services@services.irc.ircnow.org)- Information for channel #yourchannelname:%0a%3c -ChanServ(services@services.irc.ircnow.org)- Founder: mkf%0a%3c -ChanServ(services@services.irc.ircnow.org)- Description: yeah, that's my channel.%0a%3c -ChanServ(services@services.irc.ircnow.org)- Registered: Jul 20 06:34:21 2018 PDT (2 years ago)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Last used: Jul 20 06:39:35 2022 PDT (now)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Ban type: 2%0a%3c -ChanServ(services@services.irc.ircnow.org)- Mode lock: +nt%0a%3c -ChanServ(services@services.irc.ircnow.org)- Options: Peace, Security, Secure founder, Signed kicks, Topic retention%0a%3c -ChanServ(services@services.irc.ircnow.org)- Last topic: no, choose another name. this is my channel :^)%0a%3c -ChanServ(services@services.irc.ircnow.org)- Topic set by: mkf%0a%3c @]%0a%3c %0a%3c it says this channel has taken by some guy with nick "mkf". in that case choose another name.%0a%3c if it has not taken by someone else, it should show something like that:%0a%3c %0a%3c [@%0a%3c -ChanServ(services@services.irc.ircnow.org)- Channel #yourchannelname isn't registered.%0a%3c @]%0a%3c in that case, you can take it. however, some networks doesn't allow some names for channels, ask admins of your network about that.%0a---%0a> ([[ircnow/servers|Full list of servers]])%0a\ No newline at end of file%0a +host:1626789634=198.251.81.133 +author:1621249306=mkf +diff:1621249306:1597020583:=6,18c6%0a%3c fdfdsfd%0a%3c %0a%3c (:title IRCNow: The Users' Network:)%0a%3c %0a%3c '''IRCNow''' provides internet services for the '''free and open source''' community. IRCNow is a [[freedom/federation|federation of servers]] to create a network that ensures [[freedom/freedom|user freedom]]. Learn about [[ircnow/goals|our goals]].%0a%3c %0a%3c To chat with us, you can connect to following servers%0a%3c ||border=1 width=50%25%0a%3c ||!Connection ||! Server ||! Port ||%0a%3c || IPv4 || [@irc.ircnow.org@] || 6667 or 6697 (SSL) || %0a%3c || IPv6 || [@ipv6.ircnow.org@] || 6667 or 6697 (SSL) ||%0a%3c || Tor || [@ircnowuj3luixmmz.onion@] || 6667 or 6697 (SSL) ||%0a%3c ([[ircnow/servers|Full list of servers]])%0a\ No newline at end of file%0a---%0a> fdfdsfd%0a\ No newline at end of file%0a +host:1621249306=91.185.142.211 +author:1597020583=jrmu +diff:1597020583:1596101899:=5,6c5%0a%3c Test%0a%3c fdfdsfd%0a\ No newline at end of file%0a---%0a> Test%0a\ No newline at end of file%0a +host:1597020583=38.81.163.143 +author:1596101899= +diff:1596101899:1093548433:=3,5d2%0a%3c %0a%3c %0a%3c Test%0a\ No newline at end of file%0a +host:1596101899=38.81.163.143 blob - /dev/null blob + 09d5c039913c9e8b5cd2bd78f18a90ac9db6c3e7 (mode 644) --- /dev/null +++ wiki.d/Mango.Mango @@ -0,0 +1,45 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4300.0 Iron Safari/537.36 +author=nix +charset=UTF-8 +csum= +ctime=1601988395 +host=49.145.199.81 +name=Mango.Mango +rev=11 +targets=Mango.Todo +text=IRCNow Mango is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aCome and learn how services work and have fun with us, guided in real time, effectively!%0a%0aAvailable services at IRCNow Mango:%0a%0aIRCNow Mango IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.mango.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%0aIRCNow Mango IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favorite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%0aProvided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 20 famous IRC networks and more to come. If your favorite network is not supported, kindly contact us at #IRCNow channel, and ask for your favorite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%0aWant to donate?%0a%0aWe appreciate your support to us. You can donate to Mango [[https://donorbox.org/ircnow-mango-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a%0aDonate thru Crypto Wallet%0a »» Bitcoin: 1JaY2v7RnfnDqMTTF6iqk1KcsRsFRr1Uoh%0a »» Etherium: 0x7303a746e98626e7c82b133625eca7a4aff8fb8b%0a%0aLanguages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Mango services in their free time. They are '''ηιχ,gяу,ℓσ¢υѕтℓσя∂,ѕιℓєη¢є,вαутυ¢н,σz'''. Our Logo:%0a%0a ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a%0a[[mango/todo|Todo list]] +time=1612094506 +author:1612094506=nix +diff:1612094506:1612094444:=18a19%0a> »» Monero: 42APnWbo6N5BmaDMhPeD7zSRCfjekt6BgMK5JDfyPA9RLKE71zjkC772hgr2ARWt4TSjSnmDEE4TbZwMc7xJ67df4vyut6V%0a +host:1612094506=49.145.199.81 +author:1612094444=nix +diff:1612094444:1611829444:=22c22%0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Mango services in their free time. They are '''ηιχ,gяу,ℓσ¢υѕтℓσя∂,ѕιℓєη¢є,вαутυ¢н,σz'''. Our Logo:%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Mango services in their free time. They are '''ηιχ,gяу,ℓσ¢υѕтℓσя∂,ηєσηѕнєℓℓ,вαутυ¢н,σz'''. Our Logo:%0a +host:1612094444=49.145.199.81 +author:1611829444=nix +diff:1611829444:1611760663:=16,20d15%0a%3c %0a%3c Donate thru Crypto Wallet%0a%3c »» Bitcoin: 1JaY2v7RnfnDqMTTF6iqk1KcsRsFRr1Uoh%0a%3c »» Monero: 42APnWbo6N5BmaDMhPeD7zSRCfjekt6BgMK5JDfyPA9RLKE71zjkC772hgr2ARWt4TSjSnmDEE4TbZwMc7xJ67df4vyut6V%0a%3c »» Etherium: 0x7303a746e98626e7c82b133625eca7a4aff8fb8b%0a +host:1611829444=49.145.201.100 +author:1611760663=nix +diff:1611760663:1611760568:=15c15%0a%3c We appreciate your support to us. You can donate to Mango [[https://donorbox.org/ircnow-mango-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a---%0a> We appreciate your willingness to support us. You can donate to Mango [[https://donorbox.org/ircnow-mango-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a +host:1611760663=49.145.199.81 +author:1611760568=nix +diff:1611760568:1609683370:=12,15d11%0a%3c %0a%3c Want to donate?%0a%3c %0a%3c We appreciate your willingness to support us. You can donate to Mango [[https://donorbox.org/ircnow-mango-donation|here]]. All donations will help us in upgrading the server and spending on resources.%0a +host:1611760568=49.145.199.81 +author:1609683370=jrmu +diff:1609683370:1601989661:=15,17c15%0a%3c ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a%3c %0a%3c [[mango/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a\ No newline at end of file%0a +host:1609683370=125.231.63.134 +author:1601989661=nix +diff:1601989661:1601989636:=15c15,80%0a%3c ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a\ No newline at end of file%0a---%0a> ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a> %0a> ~i>t5jjtttttttjtJ!!i! ' %0a> 'tt! :=jttttttttttttttttttttttttttttj! %0a> !ttt :tjtttttttttttttttttttttttttttttttttttttttjjj!!!=! %0a> !ttt! tttttttttttttttttttttttttttttttttttttttttttttttttttttttttjJtt%0a> !ttt> :ttttttttttttttttttttttttttttttttttttttttttttttttttttttttJ6Ytttt~%0a> tttti itttttttttttttttttttttttttttttttttttttttttttttttttttttYS5Jtttttt~ %0a> !tttt =tttttttttttttttttttttttttttttttttttttttttttttttttY6SSYtttttttttt %0a> ttttt !tttttttttttttttttttttttttttttttttttttttttttjJ5SSSSYttttttttttttj~ %0a> =ttttj ttttttttttttttttttttttttttttttttttttttY5SSSSS5Jtttttttttttttttti %0a> itttt> !ttttJjtttttttttttttttttttjtYYYSSSSSSSSSYtttttttttttttttttttttt~ %0a> ttttt+ +tttttttjJY5XSSSSSSSSSSSSSSSSSS5YYtttttttttttttttttttttttttttt~ %0a> !ttttt: ittttttttttttttttttttttttjtttttttttttttttttttttttttttttttttt; %0a> tttttt: jttttttttttttttttttttttttttttttttttttttttttttttttttttttttJ %0a> !ttttt> ttttttttttttttttttttttttttttttttttttttttttttttttttttttj %0a> =YSXXXXXXXXXXXXXXXXtttttt! =ttttttttttttttttttttttttttttttttttttttttttttttttttt' %0a> :iXXXXDQKKKKKKKQXXXXXXXXYttttttXS5>' =tttttttttttttttttttttttttttttttttttttttttttttt= %0a> ;+XXXDKKKKKKKKKKKKKKKKQXXXXX6tttttYXXX666t: !tttttttttttttttttttttttttttttttttttttttt= %0a> JXSDKKKHHNHKKKKKKKKKKKKKKXXXXXXXXXXXXXXXS6666j :ittttttttttttttttttttttttttttttttti %0a> ;XXDKKHWWWWWWWWHKKKKKKKKKKKKKQXXXXXXXXXXXXXXX666665: +!ijtttttttttttttttttttY!' %0a> !XXQKKNWWWWWWWWWWWKKKKKKKKKKKKKKQXXXXXXXXXXXXXXX6666666: =cccc %0a> YSQKKNWWWWWWWWWWWWWKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXX6666666j %0a> :XQKKKWWWWWWWWWWWWWWKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXX66666666: %0a> JXKKKHWWWWWWWWWWWWWWKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXX66666666i %0a> XQKKKNWWWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXX56666666= %0a> XQKKKKWWWWWWWWNWWNKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXS66666666+ %0a> YKKKKKKHWWWWWWHHKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXX666666666+ %0a> JQKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXS666666666 %0a> iDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXX666666666S %0a> :XKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXS666666666 %0a> 'XDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXX666666666+ %0a> YXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666 %0a> =XDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666 %0a> :XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666> %0a> XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666+ %0a> =XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666+ %0a> XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5666666666+ %0a> YXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666j %0a> =XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666= %0a> =XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX56666666666 %0a> XXDKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666 %0a> DXDKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX66666666666t %0a> :XXQKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666+ %0a> :XXXXKKKKKKKKKKKKKKKKDDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX666666666666 %0a> JXXXXXXXXXXSXSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666666 %0a> JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666666+ %0a> ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5666666666666t %0a> JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666665 %0a> SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666 %0a> =XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS566666666666666 %0a> :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS666666666666666: %0a> YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666 %0a> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666t' %0a> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666666+ %0a> iXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX666666666666666666t %0a> :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666 %0a> ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666666666: %0a> :SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS666666666666666666666: %0a> S666SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666666j %0a> :6666666SSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666666666: %0a> 666666666666656SSSSXXXXXXXXXXXXSSSS656666666666666666666666666665: %0a> ;j666666666666666666666666666666666666666666666666666666666j %0a> 'Y66666666666666666666666666666666666666666666666666t %0a> +t66666666666666666666666666666666666666t+ %0a> ++t6666666666666666666666J++%0a\ No newline at end of file%0a +host:1601989661=2001:4455:1f6:5000:8b8:1bb4:ea40:be3 +author:1601989636=nix +diff:1601989636:1601989376:=19,20c19,20%0a%3c !ttt :tjtttttttttttttttttttttttttttttttttttttttjjj!!!=! %0a%3c !ttt! tttttttttttttttttttttttttttttttttttttttttttttttttttttttttjJtt%0a---%0a> !ttt :tjtttttttttttttttttttttttttttttttttttttttjjj!!!=! !%0a> !ttt! =tttttttttttttttttttttttttttttttttttttttttttttttttttttttttjJtt%0a22c22%0a%3c tttti itttttttttttttttttttttttttttttttttttttttttttttttttttttYS5Jtttttt~ %0a---%0a> tttti itttttttttttttttttttttttttttttttttttttttttttttttttttttYS5Jtttttt~ %0a80c80%0a%3c ++t6666666666666666666666J++ %0a\ No newline at end of file%0a---%0a> ++t6666666666666666666666J++%0a\ No newline at end of file%0a +host:1601989636=2001:4455:1f6:5000:8b8:1bb4:ea40:be3 +author:1601989376=nix +diff:1601989376:1601989138:=17,80c17,81%0a%3c ~i>t5jjtttttttjtJ!!i! ' %0a%3c 'tt! :=jttttttttttttttttttttttttttttj! %0a%3c !ttt :tjtttttttttttttttttttttttttttttttttttttttjjj!!!=! !%0a%3c !ttt! =tttttttttttttttttttttttttttttttttttttttttttttttttttttttttjJtt%0a%3c !ttt> :ttttttttttttttttttttttttttttttttttttttttttttttttttttttttJ6Ytttt~%0a%3c tttti itttttttttttttttttttttttttttttttttttttttttttttttttttttYS5Jtttttt~ %0a%3c !tttt =tttttttttttttttttttttttttttttttttttttttttttttttttY6SSYtttttttttt %0a%3c ttttt !tttttttttttttttttttttttttttttttttttttttttttjJ5SSSSYttttttttttttj~ %0a%3c =ttttj ttttttttttttttttttttttttttttttttttttttY5SSSSS5Jtttttttttttttttti %0a%3c itttt> !ttttJjtttttttttttttttttttjtYYYSSSSSSSSSYtttttttttttttttttttttt~ %0a%3c ttttt+ +tttttttjJY5XSSSSSSSSSSSSSSSSSS5YYtttttttttttttttttttttttttttt~ %0a%3c !ttttt: ittttttttttttttttttttttttjtttttttttttttttttttttttttttttttttt; %0a%3c tttttt: jttttttttttttttttttttttttttttttttttttttttttttttttttttttttJ %0a%3c !ttttt> ttttttttttttttttttttttttttttttttttttttttttttttttttttttj %0a%3c =YSXXXXXXXXXXXXXXXXtttttt! =ttttttttttttttttttttttttttttttttttttttttttttttttttt' %0a%3c :iXXXXDQKKKKKKKQXXXXXXXXYttttttXS5>' =tttttttttttttttttttttttttttttttttttttttttttttt= %0a%3c ;+XXXDKKKKKKKKKKKKKKKKQXXXXX6tttttYXXX666t: !tttttttttttttttttttttttttttttttttttttttt= %0a%3c JXSDKKKHHNHKKKKKKKKKKKKKKXXXXXXXXXXXXXXXS6666j :ittttttttttttttttttttttttttttttttti %0a%3c ;XXDKKHWWWWWWWWHKKKKKKKKKKKKKQXXXXXXXXXXXXXXX666665: +!ijtttttttttttttttttttY!' %0a%3c !XXQKKNWWWWWWWWWWWKKKKKKKKKKKKKKQXXXXXXXXXXXXXXX6666666: =cccc %0a%3c YSQKKNWWWWWWWWWWWWWKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXX6666666j %0a%3c :XQKKKWWWWWWWWWWWWWWKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXX66666666: %0a%3c JXKKKHWWWWWWWWWWWWWWKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXX66666666i %0a%3c XQKKKNWWWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXX56666666= %0a%3c XQKKKKWWWWWWWWNWWNKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXS66666666+ %0a%3c YKKKKKKHWWWWWWHHKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXX666666666+ %0a%3c JQKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXS666666666 %0a%3c iDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXX666666666S %0a%3c :XKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXS666666666 %0a%3c 'XDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXX666666666+ %0a%3c YXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666 %0a%3c =XDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666 %0a%3c :XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666> %0a%3c XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666+ %0a%3c =XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666+ %0a%3c XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5666666666+ %0a%3c YXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666j %0a%3c =XXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666= %0a%3c =XXDKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX56666666666 %0a%3c XXDKKKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666 %0a%3c DXDKKKKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX66666666666t %0a%3c :XXQKKKKKKKKKKKKKKKKKKKKKQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666+ %0a%3c :XXXXKKKKKKKKKKKKKKKKDDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX666666666666 %0a%3c JXXXXXXXXXXSXSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666666 %0a%3c JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6666666666666+ %0a%3c ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5666666666666t %0a%3c JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666665 %0a%3c SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666 %0a%3c =XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS566666666666666 %0a%3c :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS666666666666666: %0a%3c YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666 %0a%3c XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666t' %0a%3c XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666666+ %0a%3c iXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX666666666666666666t %0a%3c :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666 %0a%3c ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS66666666666666666666: %0a%3c :SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS666666666666666666666: %0a%3c S666SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666666j %0a%3c :6666666SSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS6666666666666666666666666: %0a%3c 666666666666656SSSSXXXXXXXXXXXXSSSS656666666666666666666666666665: %0a%3c ;j666666666666666666666666666666666666666666666666666666666j %0a%3c 'Y66666666666666666666666666666666666666666666666666t %0a%3c +t66666666666666666666666666666666666666t+ %0a%3c ++t6666666666666666666666J++ %0a\ No newline at end of file%0a---%0a> .c:oCoooooooooooo::c: %0a> oo: .coooooooooooooooooooooooooooooo: %0a> :ooo .oooooooooooooooooooooooooooooooooooooooooooo:::c: %0a> :ooo: cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo%0a> :ooo: cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo%0a> :ooo: .oooooooooooooooooooooooooooooooooooooooooooooooooooooooooCCoooo.%0a> ooooc coooooooooooooooooooooooooooooooooooooooooooooooooooooCOCooooooo. %0a> :oooo coooooooooooooooooooooooooooooooooooooooooooooooooCCOOCoooooooooo %0a> ooooo :oooooooooooooooooooooooooooooooooooooooooooooCOOOOCooooooooooooo. %0a> cooooo ooooooooooooooooooooooooooooooooooooooCCOOOOOCoooooooooooooooooc %0a> coooo: :oooooooooooooooooooooooooooCCCOOOOOOOOOCoooooooooooooooooooooo. %0a> ooooo: :oooooooooCCOOOOOOOOOOOOOOOOOOOCCCoooooooooooooooooooooooooooo. %0a> :ooooo. cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. %0a> oooooo. oooooooooooooooooooooooooooooooooooooooooooooooooooooooooo %0a> :ooooo: ooooooooooooooooooooooooooooooooooooooooooooooooooooooo %0a> cCOOOOOOOOOOOOOOOOOoooooo: cooooooooooooooooooooooooooooooooooooooooooooooooooo %0a> .cOOOOO888888888OOOOOOOOCooooooOOC: cooooooooooooooooooooooooooooooooooooooooooooooc %0a> .:OOOO88888888888888888OOOOOCoooooCOOOCCCo. :ooooooooooooooooooooooooooooooooooooooooc %0a> oOOO88888@888888888888888OOOOOOOOOOOOOOOOCCCCo .coooooooooooooooooooooooooooooooooc %0a> .OOO888@@@@@@@@888888888888888OOOOOOOOOOOOOOOCCCCCC. ::cooooooooooooooooooooC: %0a> :OO888@@@@@@@@@@@@888888888888888OOOOOOOOOOOOOOOCCCCCCC. ccccc %0a> CO888@@@@@@@@@@@@@@888888888888888OOOOOOOOOOOOOOOOCCCCCCCo %0a> .O8888@@@@@@@@@@@@@@8888888888888888OOOOOOOOOOOOOOOOOCCCCCCCC. %0a> oO8888@@@@@@@@@@@@@@88888888888888888OOOOOOOOOOOOOOOOOOCCCCCCCCc %0a> O8888@@@@@@@@@@@@@@8888888888888888888OOOOOOOOOOOOOOOOOOOCCCCCCCCc %0a> O88888@@@@@@@@@@@@888888888888888888888OOOOOOOOOOOOOOOOOOOOCCCCCCCC: %0a> C8888888@@@@@@88888888888888888888888888OOOOOOOOOOOOOOOOOOOOCCCCCCCCC: %0a> o888888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC %0a> cO88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCO %0a> .O88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC %0a> OO8888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC: %0a> CO88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC %0a> cOO888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC %0a> .OO888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a> OOO88888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a> cOO8888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a> OOO88888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a> COO8888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCo %0a> cOO888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCc %0a> cOOO8888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC %0a> OOO888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC %0a> OOO8888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCo %0a> .OO88888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC: %0a> .OOOO8888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCC %0a> oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCC %0a> oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCC: %0a> .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCo %0a> oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCC %0a> OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCC %0a> cOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCC %0a> .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCC. %0a> COOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCC %0a> OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCo %0a> OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCC: %0a> cOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCo %0a> .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCC %0a> .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCC. %0a> .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCC. %0a> OCCCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCo %0a> .CCCCCCCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCCCC. %0a> CCCCCCCCCCCCCCCOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. %0a> .oCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo %0a> CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo %0a> :oCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo: %0a> ::oCCCCCCCCCCCCCCCCCCCCCCo::%0a\ No newline at end of file%0a +host:1601989376=2001:4455:1f6:5000:8b8:1bb4:ea40:be3 +author:1601989138=nix +diff:1601989138:1601988395:=17,81c17,94%0a%3c .c:oCoooooooooooo::c: %0a%3c oo: .coooooooooooooooooooooooooooooo: %0a%3c :ooo .oooooooooooooooooooooooooooooooooooooooooooo:::c: %0a%3c :ooo: cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo%0a%3c :ooo: cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo%0a%3c :ooo: .oooooooooooooooooooooooooooooooooooooooooooooooooooooooooCCoooo.%0a%3c ooooc coooooooooooooooooooooooooooooooooooooooooooooooooooooCOCooooooo. %0a%3c :oooo coooooooooooooooooooooooooooooooooooooooooooooooooCCOOCoooooooooo %0a%3c ooooo :oooooooooooooooooooooooooooooooooooooooooooooCOOOOCooooooooooooo. %0a%3c cooooo ooooooooooooooooooooooooooooooooooooooCCOOOOOCoooooooooooooooooc %0a%3c coooo: :oooooooooooooooooooooooooooCCCOOOOOOOOOCoooooooooooooooooooooo. %0a%3c ooooo: :oooooooooCCOOOOOOOOOOOOOOOOOOOCCCoooooooooooooooooooooooooooo. %0a%3c :ooooo. cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. %0a%3c oooooo. oooooooooooooooooooooooooooooooooooooooooooooooooooooooooo %0a%3c :ooooo: ooooooooooooooooooooooooooooooooooooooooooooooooooooooo %0a%3c cCOOOOOOOOOOOOOOOOOoooooo: cooooooooooooooooooooooooooooooooooooooooooooooooooo %0a%3c .cOOOOO888888888OOOOOOOOCooooooOOC: cooooooooooooooooooooooooooooooooooooooooooooooc %0a%3c .:OOOO88888888888888888OOOOOCoooooCOOOCCCo. :ooooooooooooooooooooooooooooooooooooooooc %0a%3c oOOO88888@888888888888888OOOOOOOOOOOOOOOOCCCCo .coooooooooooooooooooooooooooooooooc %0a%3c .OOO888@@@@@@@@888888888888888OOOOOOOOOOOOOOOCCCCCC. ::cooooooooooooooooooooC: %0a%3c :OO888@@@@@@@@@@@@888888888888888OOOOOOOOOOOOOOOCCCCCCC. ccccc %0a%3c CO888@@@@@@@@@@@@@@888888888888888OOOOOOOOOOOOOOOOCCCCCCCo %0a%3c .O8888@@@@@@@@@@@@@@8888888888888888OOOOOOOOOOOOOOOOOCCCCCCCC. %0a%3c oO8888@@@@@@@@@@@@@@88888888888888888OOOOOOOOOOOOOOOOOOCCCCCCCCc %0a%3c O8888@@@@@@@@@@@@@@8888888888888888888OOOOOOOOOOOOOOOOOOOCCCCCCCCc %0a%3c O88888@@@@@@@@@@@@888888888888888888888OOOOOOOOOOOOOOOOOOOOCCCCCCCC: %0a%3c C8888888@@@@@@88888888888888888888888888OOOOOOOOOOOOOOOOOOOOCCCCCCCCC: %0a%3c o888888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC %0a%3c cO88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCO %0a%3c .O88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC %0a%3c OO8888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCC: %0a%3c CO88888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC %0a%3c cOO888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC %0a%3c .OO888888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a%3c OOO88888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a%3c cOO8888888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a%3c OOO88888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCC: %0a%3c COO8888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCo %0a%3c cOO888888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCc %0a%3c cOOO8888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC %0a%3c OOO888888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC %0a%3c OOO8888888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCo %0a%3c .OO88888888888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCC: %0a%3c .OOOO8888888888888888OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCC %0a%3c oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCC %0a%3c oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCC: %0a%3c .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCo %0a%3c oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCC %0a%3c OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCC %0a%3c cOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCC %0a%3c .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCC. %0a%3c COOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCC %0a%3c OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCo %0a%3c OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCC: %0a%3c cOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCo %0a%3c .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCC %0a%3c .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCC. %0a%3c .OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCC. %0a%3c OCCCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCo %0a%3c .CCCCCCCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCCCC. %0a%3c CCCCCCCCCCCCCCCOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. %0a%3c .oCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo %0a%3c CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo %0a%3c :oCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCo: %0a%3c ::oCCCCCCCCCCCCCCCCCCCCCCo:: %0a\ No newline at end of file%0a---%0a> %0a> . . . . ..W########f.. . . . . .. .. .. .. .. . . . . %0a> . . . L################ . . . . .. .. .. .. . . . . . %0a> .. .. .. D#####################t. .. .. .. . . . . .. .. .. .. ..%0a> ################################ . . .. .. .. .. .. . . . . %0a> ################################# . . .. .. .. .. .. . . . . %0a> .. ##################################.. .. . . . . .. .. .. .. ..%0a> . ################G. .. .. . ,#### . .. .. .. .. .. . . . . %0a> . :############################ . # .## . .. .. .. . . . . %0a> .. .. .##############################: .. ### . . . .. .. .. .. ..%0a> . . ############################## . .###. .. .. .. . . . . %0a> . . . ##########################. . ####. .. .. .. . . . . %0a> .. .. .. .. ######################D. .. ..#### . . . .. .. .. .. ..%0a> .. .. .. .. .################### .. .. ..#######K. . .. .. .. .. ..%0a> . . . . ..############### .#################### . . . . . %0a> .. .. .. .. .. . #######K.. L########################t .. .. .. ..%0a> .. .. .. .. .. . . . . ..############################ .. .. .. ..%0a> . . . . .. .. .. .. ..################################ . . . %0a> .. .. .. .. .. . . . . ################################## .. .. ..%0a> .. .. .. .. .. . . . .#################################### . .. ..%0a> . . . . .. .. .. ..#############################.######## . . %0a> . .. .. .. .. . . . ############################### .####### .. ..%0a> .. .. .. .. .. . . .#################################.. #####K.. ..%0a> . . . . .. .. ..################################### . ##### . %0a> . . . . .. .. .#####################################. ##### . %0a> .. .. .. .. .. . . ######################################..#####. ..%0a> . . . . .. .. ####################################### .#####. %0a> . . . . .. ..######################################### . ####. %0a> .. .. .. .. .. . #########################################. .#####..%0a> . . . . .. .j##########################################. E#### %0a> . . . . .. .###########################################. #### %0a> .. .. .. .. .. . ########################################### ..####..%0a> . . . . .. ############################################# ####t %0a> . . . . .. ############################################# ##### %0a> .. .. .. .. .. .#############################################..i####.%0a> .. .. .. .. .. .#############################################.. ####.%0a> . . . . ..############################################## .#### %0a> .. .. .. .. .. ##############################################..j####.%0a> .. .. .. .. .. ##############################################..#####.%0a> . . . . ..############################################## ##### %0a> .. .. .. .. .. ##############################################..#####.%0a> .. .. .. .. .. ##############################################..#####.%0a> . . . . ..############################################## #### %0a> . .. .. .. .. ##############################################.#####..%0a> .. .. .. .. .. ############################################## #####..%0a> . . . . ..#################################################### %0a> . . . . ..###################################################L %0a> .. .. .. .. .. ################################################### ..%0a> . . . . ..###################################################. %0a> . . . . ..################################################## . %0a> .. .. .. .. .. ##################################################. ..%0a> . . . . ..################################################## . %0a> . . . . .. ################################################ . %0a> .. .. .. .. .. ################################################.. ..%0a> . . . . .. ###############################################. . %0a> . . . . .. ##############################################t. . %0a> .. .. .. .. .. .##############################################. .. ..%0a> .. .. .. .. .. . ############################################ . .. ..%0a> . . . . .. .############################################ . . %0a> .. .. .. .. .. . ########################################### .. .. ..%0a> .. .. .. .. .. . #########################################. .. .. ..%0a> . . . . .. ..######################################## . . . %0a> .. .. .. .. .. . ####################################### .. .. .. ..%0a> .. .. .. .. .. . .#####################################K .. .. .. ..%0a> . . . . .. .. ##################################### . . . . %0a> . .. .. .. .. . . ###################################. .. .. .. ..%0a> .. .. .. .. .. . . ################################## .. .. .. .. ..%0a> . . . . .. .. ..################################.. . . . . %0a> . . . . .. .. ..############################## . . . . . %0a> .. .. .. .. .. . . ############################ . .. .. .. .. ..%0a> . . . . .. .. .. ########################## .. .. . . . . %0a> . . . . .. .. .. .t########################. .. .. . . . . %0a> .. .. .. .. .. . . . :##################### . . .. .. .. .. ..%0a> . . . . .. .. .. .. .################### .. .. .. . . . . %0a> . . . . .. .. .. .. ..#################.. .. .. .. . . . . %0a> .. .. .. .. .. . . . . .###############. . . . .. .. .. .. ..%0a> . . . . .. .. .. .. .. .###########i. .. .. .. .. . . . . %0a> . . . . .. .. .. .. .. . .###### .. .. .. .. .. . . . .%0a\ No newline at end of file%0a +host:1601989138=2001:4455:1f6:5000:8b8:1bb4:ea40:be3 +author:1601988395=nix +diff:1601988395:1601988395:=1,94d0%0a%3c IRCNow Mango is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c Available services at IRCNow Mango:%0a%3c %0a%3c IRCNow Mango IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.mango.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Mango IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favorite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 20 famous IRC networks and more to come. If your favorite network is not supported, kindly contact us at #IRCNow channel, and ask for your favorite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Mango services in their free time. They are '''ηιχ,gяу,ℓσ¢υѕтℓσя∂,ηєσηѕнєℓℓ,вαутυ¢н,σz'''. Our Logo:%0a%3c %0a%3c ЩΣᄂᄃӨMΣ ƬӨ IЯᄃ.MΛПGӨ.IЯᄃПӨЩ.ӨЯG%0a%3c %0a%3c %0a%3c . . . . ..W########f.. . . . . .. .. .. .. .. . . . . %0a%3c . . . L################ . . . . .. .. .. .. . . . . . %0a%3c .. .. .. D#####################t. .. .. .. . . . . .. .. .. .. ..%0a%3c ################################ . . .. .. .. .. .. . . . . %0a%3c ################################# . . .. .. .. .. .. . . . . %0a%3c .. ##################################.. .. . . . . .. .. .. .. ..%0a%3c . ################G. .. .. . ,#### . .. .. .. .. .. . . . . %0a%3c . :############################ . # .## . .. .. .. . . . . %0a%3c .. .. .##############################: .. ### . . . .. .. .. .. ..%0a%3c . . ############################## . .###. .. .. .. . . . . %0a%3c . . . ##########################. . ####. .. .. .. . . . . %0a%3c .. .. .. .. ######################D. .. ..#### . . . .. .. .. .. ..%0a%3c .. .. .. .. .################### .. .. ..#######K. . .. .. .. .. ..%0a%3c . . . . ..############### .#################### . . . . . %0a%3c .. .. .. .. .. . #######K.. L########################t .. .. .. ..%0a%3c .. .. .. .. .. . . . . ..############################ .. .. .. ..%0a%3c . . . . .. .. .. .. ..################################ . . . %0a%3c .. .. .. .. .. . . . . ################################## .. .. ..%0a%3c .. .. .. .. .. . . . .#################################### . .. ..%0a%3c . . . . .. .. .. ..#############################.######## . . %0a%3c . .. .. .. .. . . . ############################### .####### .. ..%0a%3c .. .. .. .. .. . . .#################################.. #####K.. ..%0a%3c . . . . .. .. ..################################### . ##### . %0a%3c . . . . .. .. .#####################################. ##### . %0a%3c .. .. .. .. .. . . ######################################..#####. ..%0a%3c . . . . .. .. ####################################### .#####. %0a%3c . . . . .. ..######################################### . ####. %0a%3c .. .. .. .. .. . #########################################. .#####..%0a%3c . . . . .. .j##########################################. E#### %0a%3c . . . . .. .###########################################. #### %0a%3c .. .. .. .. .. . ########################################### ..####..%0a%3c . . . . .. ############################################# ####t %0a%3c . . . . .. ############################################# ##### %0a%3c .. .. .. .. .. .#############################################..i####.%0a%3c .. .. .. .. .. .#############################################.. ####.%0a%3c . . . . ..############################################## .#### %0a%3c .. .. .. .. .. ##############################################..j####.%0a%3c .. .. .. .. .. ##############################################..#####.%0a%3c . . . . ..############################################## ##### %0a%3c .. .. .. .. .. ##############################################..#####.%0a%3c .. .. .. .. .. ##############################################..#####.%0a%3c . . . . ..############################################## #### %0a%3c . .. .. .. .. ##############################################.#####..%0a%3c .. .. .. .. .. ############################################## #####..%0a%3c . . . . ..#################################################### %0a%3c . . . . ..###################################################L %0a%3c .. .. .. .. .. ################################################### ..%0a%3c . . . . ..###################################################. %0a%3c . . . . ..################################################## . %0a%3c .. .. .. .. .. ##################################################. ..%0a%3c . . . . ..################################################## . %0a%3c . . . . .. ################################################ . %0a%3c .. .. .. .. .. ################################################.. ..%0a%3c . . . . .. ###############################################. . %0a%3c . . . . .. ##############################################t. . %0a%3c .. .. .. .. .. .##############################################. .. ..%0a%3c .. .. .. .. .. . ############################################ . .. ..%0a%3c . . . . .. .############################################ . . %0a%3c .. .. .. .. .. . ########################################### .. .. ..%0a%3c .. .. .. .. .. . #########################################. .. .. ..%0a%3c . . . . .. ..######################################## . . . %0a%3c .. .. .. .. .. . ####################################### .. .. .. ..%0a%3c .. .. .. .. .. . .#####################################K .. .. .. ..%0a%3c . . . . .. .. ##################################### . . . . %0a%3c . .. .. .. .. . . ###################################. .. .. .. ..%0a%3c .. .. .. .. .. . . ################################## .. .. .. .. ..%0a%3c . . . . .. .. ..################################.. . . . . %0a%3c . . . . .. .. ..############################## . . . . . %0a%3c .. .. .. .. .. . . ############################ . .. .. .. .. ..%0a%3c . . . . .. .. .. ########################## .. .. . . . . %0a%3c . . . . .. .. .. .t########################. .. .. . . . . %0a%3c .. .. .. .. .. . . . :##################### . . .. .. .. .. ..%0a%3c . . . . .. .. .. .. .################### .. .. .. . . . . %0a%3c . . . . .. .. .. .. ..#################.. .. .. .. . . . . %0a%3c .. .. .. .. .. . . . . .###############. . . . .. .. .. .. ..%0a%3c . . . . .. .. .. .. .. .###########i. .. .. .. .. . . . . %0a%3c . . . . .. .. .. .. .. . .###### .. .. .. .. .. . . . . %0a\ No newline at end of file%0a +host:1601988395=2001:4455:1f6:5000:8b8:1bb4:ea40:be3 blob - /dev/null blob + 835561d3362fd43d18c8da8de486653e4c43c8f4 (mode 644) --- /dev/null +++ wiki.d/Mango.Packages @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4300.0 Iron Safari/537.36 +author=nix +charset=UTF-8 +csum= +ctime=1609325294 +host=49.145.202.66 +name=Mango.Packages +rev=1 +targets= +text=[@%0aacme-client-0.1.16p2 privilege-separated letsencrypt client%0aargon2-20190702 C implementation of Argon2 - password hashing function%0aatk-2.36.0 accessibility toolkit used by gtk+%0aautoconf-2.69p3 automatically configure source code on many Un*x platforms%0aautomake-1.11.6p3 GNU Standards-compliant Makefile generator%0ablas-3.8.0p0 Basic Linear Algebra Subprograms%0aboehm-gc-7.6.0p6 garbage collection and memory leak detection for C and C++%0abzip2-1.0.8 block-sorting file compressor, unencumbered%0acairo-1.16.0 vector graphics library%0acblas-1.0p7 C interface to the BLAS library%0acmake-3.17.2p0v0 portable build system%0acolorls-6.5p0 ls(1) that can use color to display file attributes%0acurl-7.72.0p0 transfer files with FTP, HTTP, HTTPS, etc.%0adesktop-file-utils-0.26 utilities for dot.desktop entries%0adkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0adovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0adovecot-pigeonhole-0.5.11v1 Sieve mail filtering for Dovecot%0afemail-1.0p1 simple SMTP client%0afemail-chroot-1.0p3 simple SMTP client for chrooted web servers%0afiglet-2.2.5 generates ASCII banner art%0afribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm%0ag++-8.4.0 GNU compiler collection: C++ compiler%0agcc-8.4.0 GNU compiler collection: core C compiler%0agcc-libs-8.4.0 GNU compiler collection: support libs%0agdk-pixbuf-2.40.0p2 graphic library for GTK+%0agettext-runtime-0.21 GNU gettext runtime libraries and programs%0agiflib-5.1.6 tools and library routines for working with GIF images%0aglib2-2.64.5 general-purpose utility library%0agmake-4.3 GNU make%0agmp-6.2.0 library for arbitrary precision arithmetic%0agnome-icon-theme-3.12.0p5 base icon theme for GNOME%0agnome-icon-theme-symbolic-3.12.0p3 base icon theme extension for special UI contexts%0agnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0agot-0.42 game of trees version control system%0agraphite2-1.3.14 rendering for complex writing systems%0agtk+2-2.24.32p9 multi-platform graphical toolkit%0agtk-update-icon-cache-3.24.23 gtk+ icon theme caching utility%0aharfbuzz-2.7.2 text shaping library%0ahicolor-icon-theme-0.17 fallback theme of the icon theme specification%0ahtop-3.0.1 interactive process viewer%0aicu4c-67.1 International Components for Unicode%0airssi-1.2.2p4 modular IRC client with many features%0ajasper-2.0.14 reference implementation of JPEG-2000%0ajpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0ajsoncpp-1.8.4p2 JSON parsing C++ API%0alibarchive-3.4.3 multi-format archive and compression library%0alibb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0alibevent-2.1.11 event notification library%0alibffi-3.3 Foreign Function Interface%0alibiconv-1.16p0 character set conversion library%0alibident-0.32p1 library to interface the ident protocol server (rfc1413)%0alibidn-1.36 internationalized string handling%0alibidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0alibmpc-1.1.0 arbitrary-precision complex numbers math library%0alibpsl-0.20.2p1 public suffix list library%0alibrsvg-2.50.0 SAX-based render library for SVG files%0alibsodium-1.0.18p1 library for network communications and cryptography%0alibunistring-0.9.7 manipulate Unicode strings%0alibuv-1.30.1 multi-platform library for asynchronous I/O%0alibwebp-1.1.0 Google WebP image format conversion tool%0alibxml-2.9.10p2 XML parsing library%0alibzip-1.7.1p0 library for reading, creating and modifying zip archives%0alua-5.1.5p6 powerful, light-weight programming language (version 5.1.5)%0aluajit-2.0.5p2 just-in-time compiler for Lua%0alz4-1.9.2p0 fast BSD-licensed data compression%0alzo2-2.10p2 portable speedy lossless data compression library%0amariadb-client-10.5.8v1 multithreaded SQL database (client)%0amariadb-server-10.5.8v1 multithreaded SQL database (server)%0ametaauto-1.0p4 wrapper for gnu auto*%0ampfr-4.0.2.1 library for multiple-precision floating-point computations%0anano-5.2 simple editor, inspired by Pico%0anghttp2-1.41.0p1 library for HTTP/2%0angircd-26 lightweight irc server%0anvi-2.2.0 ex/vi text editor with wide character support%0aoidentd-2.0.8p1 ident daemon with custom responses and NAT support%0aoniguruma-6.9.6 regular expressions library%0aopensmtpd-extras-6.7.1v0 extras for smtpd%0aopensmtpd-filter-rspamd-0.1.6 rspamd integration to the OpenSMTPD daemon%0ap5-Archive-Zip-1.67p0 perl interface to ZIP files%0ap5-B-Hooks-EndOfScope-0.24p0 execute code after a scope finished compilation%0ap5-BSD-Resource-1.2911p0 BSD process resource limit and priority functions%0ap5-Class-Accessor-0.51p0 automated accessor generation%0ap5-Class-DBI-3.0.16p3 simple database abstraction%0ap5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0ap5-Class-Data-Inheritable-0.08p2 inheritable, overridable class data%0ap5-Class-Inspector-1.36p0 get information about a class and its structure%0ap5-Class-Load-0.25p0 working 'require Class::Name' and more%0ap5-Class-Load-XS-0.10p1 XS implementation of parts of Class::Load%0ap5-Class-Method-Modifiers-2.13p0 provides Moose-like method modifiers%0ap5-Class-Singleton-1.5p0 perl singleton pattern%0ap5-Class-Trigger-0.14p0 add / call inheritable triggers%0ap5-Clone-0.41p0 recursively copy Perl datatypes%0ap5-Clone-PP-1.07p0 Recursively copy Perl datatypes%0ap5-Cpanel-JSON-XS-4.21 cPanel fork of JSON::XS, fast and correct serializing%0ap5-Crypt-OpenSSL-Bignum-0.09p0 OpenSSL's multiprecision integer arithmetic%0ap5-Crypt-OpenSSL-RSA-0.28p2 RSA encoding and decoding using OpenSSL%0ap5-Crypt-OpenSSL-Random-0.11p0 routines for accessing the OpenSSL prng%0ap5-DBD-MariaDB-1.21p2 MariaDB and MySQL driver for the Perl5 Database Interface%0ap5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0ap5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0ap5-DBI-1.641 unified perl interface for database access%0ap5-DBIx-ContextualFetch-1.03p3 add contextual fetches to DBI%0ap5-Data-Dumper-Concise-2.022p0 less indentation and newlines plus sub deparsing%0ap5-Data-IEEE754-0.02p1 pack and unpack big-endian IEEE754 floats and doubles%0ap5-Data-OptList-0.110p0 parse and validate simple name/value option pairs%0ap5-Data-Printer-0.40p0 colored pretty-print of Perl data structures and objects%0ap5-Data-Validate-IP-0.27p0 ipv4 and ipv6 validation methods%0ap5-DateTime-1.52p0v0 date and time object for Perl%0ap5-DateTime-Locale-1.26 localization support for DateTime.pm%0ap5-DateTime-TimeZone-2.39 DateTime submodule for TZ%0ap5-Devel-GlobalDestruction-0.14p0 expose the flag which marks global destruction%0ap5-Devel-OverloadInfo-0.005 introspect overloaded operators%0ap5-Devel-StackTrace-2.03p0 an object representing a stack trace%0ap5-Digest-HMAC-1.03p1 interface to HMAC Message-Digest Algorithms%0ap5-Dist-CheckConflicts-0.11p0 declare version conflicts for your dist%0ap5-Encode-Detect-1.01p8 Encode::Encoding subclass that detects the encoding of data%0ap5-Encode-Locale-1.05p0 determine the locale encoding%0ap5-Error-0.17028p0 error/exception handling in an OO-ish way%0ap5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval%0ap5-Exception-Class-1.44p0 module to declare real exception classes in perl%0ap5-Exporter-Tiny-1.002002p0 exporter with the features of Sub::Exporter%0ap5-File-HomeDir-1.004p0 retrieve home directory location%0ap5-File-Listing-6.04p0 parse directory listing%0ap5-File-ShareDir-1.116p0 locate install data per-module%0ap5-File-ShareDir-Install-0.13p0 install shared files, to use with File::ShareDir%0ap5-File-Which-1.23p0 portable implementation of 'which' in Perl%0ap5-FreezeThaw-0.5001p0 module for converting structures to strings and back%0ap5-GeoIP2-2.006002p1 Perl API for MaxMind's GeoIP2 web services and databases%0ap5-HTML-Parser-3.72p0 modules to parse and extract information from HTML%0ap5-HTML-Tagset-3.20p2 data tables useful for parsing HTML%0ap5-HTTP-Cookies-6.04p0 HTTP Cookie jars%0ap5-HTTP-Daemon-6.12p0 simple http server class%0ap5-HTTP-Date-6.02p0 date conversion routines%0ap5-HTTP-Message-6.13p0 HTTP Style Messages%0ap5-HTTP-Negotiate-6.01p0 choose a variant to serve%0ap5-IO-HTML-1.001p0 open an HTML file with automatic charset detection%0ap5-IO-Socket-SSL-2.068p1 Perl SSL sockets with IO::Socket interface%0ap5-IO-String-1.08p3 emulate IO::File interface for in-core strings%0ap5-Ima-DBI-0.35p1 database connection caching and organization%0ap5-JSON-MaybeXS-1.004002p0 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0ap5-LWP-MediaTypes-6.02p0 Guess url media type%0ap5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0ap5-Lingua-EN-Inflect-1.899p1 convert singular to plural, select a or an%0ap5-List-AllUtils-0.18 combines List::Util, List::SomeUtils and List::UtilsBy%0ap5-List-MoreUtils-0.428p0 provide the stuff missing in List::Util%0ap5-List-MoreUtils-XS-0.428p0 provide compiled List::MoreUtils functions%0ap5-List-SomeUtils-0.58p1 Provide the stuff missing in List::Util%0ap5-List-SomeUtils-XS-0.58p1 XS implementation for List::SomeUtils%0ap5-List-UtilsBy-0.11p0 higher-order list utility functions%0ap5-MLDBM-2.05p0 store multi-level hash structure in single-level tied hash%0ap5-MRO-Compat-0.13p0 mro::* interface compatibility for Perl %3c 5.9.5%0ap5-Mail-AuthenticationResults-1.20200331.1p0 object oriented Authentication-Results headers%0ap5-Mail-DKIM-0.58 DKIM and DomainKeys message-signing implementation%0ap5-Mail-SPF-2.9.0p1 perl oop implementation of Sender Policy Framework%0ap5-Mail-SpamAssassin-3.4.4 mailfilter to identify and mark spam%0ap5-Mail-Tools-2.21p0 modules for handling mail with perl%0ap5-Math-Base-Convert-0.11p0 very fast base to base conversion%0ap5-MaxMind-DB-Common-0.040001p1 code shared by the MaxMind DB reader and writer modules%0ap5-MaxMind-DB-Reader-1.000014p1 read MaxMind DB files and look up IP addresses%0ap5-Module-Implementation-0.09p0 loads one of several alternate module implementations%0ap5-Module-Runtime-0.016p0 runtime module handling%0ap5-Moo-2.003004p1 Minimalist Object Orientation (with Moose compatibility)%0ap5-MooX-StrictConstructor-0.011 blow up Moo-based object constructors on unknown attributes%0ap5-Moose-2.2013 complete modern object system for perl 5%0ap5-Mozilla-CA-Fake-20140330 access system SSL certificate bundle from Perl%0ap5-Net-CIDR-Lite-0.21p1 Perl extension for merging IPv4 or IPv6 CIDR addresses%0ap5-Net-DNS-1.26 perl interface to the domain name system%0ap5-Net-DNS-Resolver-Programmable-0.009p0 programmable DNS resolver class for offline emulation of DNS%0ap5-Net-Daemon-0.48p1 extension for portable daemons%0ap5-Net-HTTP-6.17p0 Perl HTTP connection client%0ap5-Net-LibIDN-0.12p2 Perl bindings for GNU Libidn%0ap5-Net-Patricia-1.22p1 Patricia Trie perl module for fast IP address lookups%0ap5-Net-SSLeay-1.88p1 perl module for using OpenSSL%0ap5-Net-Server-2.009p0 extensible framework for Perl server engines%0ap5-NetAddr-IP-4.079p0 manages IPv4 and IPv6 addresses and subnets%0ap5-Package-DeprecationManager-0.17p0 manage deprecation warnings for your distribution%0ap5-Package-Stash-0.38p0 routines for manipulating stashes%0ap5-Package-Stash-XS-0.29p0 faster and more correct implementation of Package::Stash%0ap5-Params-Util-1.07p2 utility to make parameter checking easier%0ap5-Params-Validate-1.29p0 perl module to validate function/method parameters%0ap5-Params-ValidationCompiler-0.30p0 build an optimized subroutine parameter validator%0ap5-PlRPC-0.2020p0 module for writing rpc servers and clients%0ap5-Ref-Util-0.204p0 utility functions for checking references%0ap5-Ref-Util-XS-0.117p0 utility functions for checking references (XS version)%0ap5-Role-Tiny-2.001004p0 minimalist role composition tool%0ap5-SQL-Statement-1.412p0 SQL parsing and processing engine%0ap5-Socket6-0.29p0 Perl defines relating to AF_INET6 sockets%0ap5-Sort-Naturally-1.03p0 sort lexically, but sort numeral parts numerically%0ap5-Specio-0.46p0 type constraints and coercions for Perl%0ap5-Sub-Exporter-0.987p0 exporter on steroids%0ap5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it%0ap5-Sub-Identify-0.14p0 retrieve names of code references%0ap5-Sub-Install-0.928p0 helper for installing code into packages%0ap5-Sub-Name-0.26p0 (re)name a sub%0ap5-Sub-Quote-2.006006p0 efficient generation of subroutines via string eval%0ap5-Throwable-0.200013p0 a role for classes that can be thrown%0ap5-Time-TimeDate-2.30p0 library for parsing and formatting dates and times%0ap5-Try-Tiny-0.30p0 minimal try/catch with proper preservation of $@%0ap5-URI-1.76p0 library to parse Uniform Resource Identifiers%0ap5-Universal-moniker-0.08p2 Perl module for aliasing class names%0ap5-Variable-Magic-0.62p0 associate user-defined magic to variables from Perl%0ap5-WWW-RobotRules-6.02p0 database of robots.txt-derived permissions%0ap5-libwww-6.27p0 library for WWW access in Perl%0ap5-namespace-autoclean-0.29p0 keep imports out of your namespace%0ap5-namespace-clean-0.27p0 keep imports and functions out of your namespace%0ap5-strictures-2.000005p1 turn on strict and make most warnings fatal%0apango-1.46.2 library for layout and rendering of text%0apcre-8.41p2 perl-compatible regular expression library%0apcre2-10.35 perl-compatible regular expression library, version 2%0aphp-7.3.25 server-side HTML-embedded scripting language%0aphp-7.4.13 server-side HTML-embedded scripting language%0aphp-gd-7.3.25 image manipulation extensions for php%0aphp-gd-7.4.13 image manipulation extensions for php%0aphp-mysqli-7.3.25 mysql database access extensions for php%0aphp-mysqli-7.4.13 mysql database access extensions for php%0aphp-zip-7.4.13 zip functions for php%0aphpMyAdmin-4.9.5 tool to handle the administration of MySQL over the web%0apng-1.6.37 library for manipulating PNG images%0apython-3.7.9p0 interpreted object-oriented programming language%0apython-3.8.6p0 interpreted object-oriented programming language%0aquirks-3.440 exceptions to pkg_add rules%0are2c-2.0.3 C-based regular expression scanner generator%0aredis-6.0.8 persistent key-value database%0arhash-1.4.0 utility and library for computing hash sums%0arspamd-2.5p1 event-driven spam filtering system in C/Lua%0ashared-mime-info-2.0 shared mime database for desktops%0asnappy-1.1.8 fast compression/decompression library%0asqlite3-3.31.1p0 embedded SQL implementation%0asudo-1.8.31 execute a command as another user%0atiff-4.1.0 tools and library routines for working with TIFF images%0ator-0.4.3.6 anonymity service using onion routing%0atorsocks-2.2.0p0 socks proxy for use with tor%0aunzip-6.0p13 extract, list & test files in a ZIP archive%0avim-8.2.1805-gtk2 vi clone, many additional features%0aw3m-0.5.3p8 pager/text-based web browser%0awget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0axz-5.2.5 LZMA compression and decompression tools%0azip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0aznc-1.7.5 advanced IRC bouncer%0azstd-1.4.5p0 zstandard fast real-time compression algorithm%0a@] +time=1609325294 +author:1609325294=nix +diff:1609325294:1609325294:=1,242d0%0a%3c [@%0a%3c acme-client-0.1.16p2 privilege-separated letsencrypt client%0a%3c argon2-20190702 C implementation of Argon2 - password hashing function%0a%3c atk-2.36.0 accessibility toolkit used by gtk+%0a%3c autoconf-2.69p3 automatically configure source code on many Un*x platforms%0a%3c automake-1.11.6p3 GNU Standards-compliant Makefile generator%0a%3c blas-3.8.0p0 Basic Linear Algebra Subprograms%0a%3c boehm-gc-7.6.0p6 garbage collection and memory leak detection for C and C++%0a%3c bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c cairo-1.16.0 vector graphics library%0a%3c cblas-1.0p7 C interface to the BLAS library%0a%3c cmake-3.17.2p0v0 portable build system%0a%3c colorls-6.5p0 ls(1) that can use color to display file attributes%0a%3c curl-7.72.0p0 transfer files with FTP, HTTP, HTTPS, etc.%0a%3c desktop-file-utils-0.26 utilities for dot.desktop entries%0a%3c dkimproxy-1.4.1p1 SMTP proxy to verify or add DKIM signatures%0a%3c dovecot-2.3.11.3p0v0 compact IMAP/POP3 server%0a%3c dovecot-pigeonhole-0.5.11v1 Sieve mail filtering for Dovecot%0a%3c femail-1.0p1 simple SMTP client%0a%3c femail-chroot-1.0p3 simple SMTP client for chrooted web servers%0a%3c figlet-2.2.5 generates ASCII banner art%0a%3c fribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm%0a%3c g++-8.4.0 GNU compiler collection: C++ compiler%0a%3c gcc-8.4.0 GNU compiler collection: core C compiler%0a%3c gcc-libs-8.4.0 GNU compiler collection: support libs%0a%3c gdk-pixbuf-2.40.0p2 graphic library for GTK+%0a%3c gettext-runtime-0.21 GNU gettext runtime libraries and programs%0a%3c giflib-5.1.6 tools and library routines for working with GIF images%0a%3c glib2-2.64.5 general-purpose utility library%0a%3c gmake-4.3 GNU make%0a%3c gmp-6.2.0 library for arbitrary precision arithmetic%0a%3c gnome-icon-theme-3.12.0p5 base icon theme for GNOME%0a%3c gnome-icon-theme-symbolic-3.12.0p3 base icon theme extension for special UI contexts%0a%3c gnupg-1.4.23p4 GNU privacy guard - a free PGP replacement%0a%3c got-0.42 game of trees version control system%0a%3c graphite2-1.3.14 rendering for complex writing systems%0a%3c gtk+2-2.24.32p9 multi-platform graphical toolkit%0a%3c gtk-update-icon-cache-3.24.23 gtk+ icon theme caching utility%0a%3c harfbuzz-2.7.2 text shaping library%0a%3c hicolor-icon-theme-0.17 fallback theme of the icon theme specification%0a%3c htop-3.0.1 interactive process viewer%0a%3c icu4c-67.1 International Components for Unicode%0a%3c irssi-1.2.2p4 modular IRC client with many features%0a%3c jasper-2.0.14 reference implementation of JPEG-2000%0a%3c jpeg-2.0.5v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a%3c jsoncpp-1.8.4p2 JSON parsing C++ API%0a%3c libarchive-3.4.3 multi-format archive and compression library%0a%3c libb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0a%3c libevent-2.1.11 event notification library%0a%3c libffi-3.3 Foreign Function Interface%0a%3c libiconv-1.16p0 character set conversion library%0a%3c libident-0.32p1 library to interface the ident protocol server (rfc1413)%0a%3c libidn-1.36 internationalized string handling%0a%3c libidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names%0a%3c libmpc-1.1.0 arbitrary-precision complex numbers math library%0a%3c libpsl-0.20.2p1 public suffix list library%0a%3c librsvg-2.50.0 SAX-based render library for SVG files%0a%3c libsodium-1.0.18p1 library for network communications and cryptography%0a%3c libunistring-0.9.7 manipulate Unicode strings%0a%3c libuv-1.30.1 multi-platform library for asynchronous I/O%0a%3c libwebp-1.1.0 Google WebP image format conversion tool%0a%3c libxml-2.9.10p2 XML parsing library%0a%3c libzip-1.7.1p0 library for reading, creating and modifying zip archives%0a%3c lua-5.1.5p6 powerful, light-weight programming language (version 5.1.5)%0a%3c luajit-2.0.5p2 just-in-time compiler for Lua%0a%3c lz4-1.9.2p0 fast BSD-licensed data compression%0a%3c lzo2-2.10p2 portable speedy lossless data compression library%0a%3c mariadb-client-10.5.8v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.5.8v1 multithreaded SQL database (server)%0a%3c metaauto-1.0p4 wrapper for gnu auto*%0a%3c mpfr-4.0.2.1 library for multiple-precision floating-point computations%0a%3c nano-5.2 simple editor, inspired by Pico%0a%3c nghttp2-1.41.0p1 library for HTTP/2%0a%3c ngircd-26 lightweight irc server%0a%3c nvi-2.2.0 ex/vi text editor with wide character support%0a%3c oidentd-2.0.8p1 ident daemon with custom responses and NAT support%0a%3c oniguruma-6.9.6 regular expressions library%0a%3c opensmtpd-extras-6.7.1v0 extras for smtpd%0a%3c opensmtpd-filter-rspamd-0.1.6 rspamd integration to the OpenSMTPD daemon%0a%3c p5-Archive-Zip-1.67p0 perl interface to ZIP files%0a%3c p5-B-Hooks-EndOfScope-0.24p0 execute code after a scope finished compilation%0a%3c p5-BSD-Resource-1.2911p0 BSD process resource limit and priority functions%0a%3c p5-Class-Accessor-0.51p0 automated accessor generation%0a%3c p5-Class-DBI-3.0.16p3 simple database abstraction%0a%3c p5-Class-DBI-SQLite-0.11p2 extensions to Class::DBI for SQLite%0a%3c p5-Class-Data-Inheritable-0.08p2 inheritable, overridable class data%0a%3c p5-Class-Inspector-1.36p0 get information about a class and its structure%0a%3c p5-Class-Load-0.25p0 working 'require Class::Name' and more%0a%3c p5-Class-Load-XS-0.10p1 XS implementation of parts of Class::Load%0a%3c p5-Class-Method-Modifiers-2.13p0 provides Moose-like method modifiers%0a%3c p5-Class-Singleton-1.5p0 perl singleton pattern%0a%3c p5-Class-Trigger-0.14p0 add / call inheritable triggers%0a%3c p5-Clone-0.41p0 recursively copy Perl datatypes%0a%3c p5-Clone-PP-1.07p0 Recursively copy Perl datatypes%0a%3c p5-Cpanel-JSON-XS-4.21 cPanel fork of JSON::XS, fast and correct serializing%0a%3c p5-Crypt-OpenSSL-Bignum-0.09p0 OpenSSL's multiprecision integer arithmetic%0a%3c p5-Crypt-OpenSSL-RSA-0.28p2 RSA encoding and decoding using OpenSSL%0a%3c p5-Crypt-OpenSSL-Random-0.11p0 routines for accessing the OpenSSL prng%0a%3c p5-DBD-MariaDB-1.21p2 MariaDB and MySQL driver for the Perl5 Database Interface%0a%3c p5-DBD-SQLite-1.50p3v0 SQLite drivers for the Perl DBI%0a%3c p5-DBD-mysql-4.050p0 MySQL drivers for the Perl DBI%0a%3c p5-DBI-1.641 unified perl interface for database access%0a%3c p5-DBIx-ContextualFetch-1.03p3 add contextual fetches to DBI%0a%3c p5-Data-Dumper-Concise-2.022p0 less indentation and newlines plus sub deparsing%0a%3c p5-Data-IEEE754-0.02p1 pack and unpack big-endian IEEE754 floats and doubles%0a%3c p5-Data-OptList-0.110p0 parse and validate simple name/value option pairs%0a%3c p5-Data-Printer-0.40p0 colored pretty-print of Perl data structures and objects%0a%3c p5-Data-Validate-IP-0.27p0 ipv4 and ipv6 validation methods%0a%3c p5-DateTime-1.52p0v0 date and time object for Perl%0a%3c p5-DateTime-Locale-1.26 localization support for DateTime.pm%0a%3c p5-DateTime-TimeZone-2.39 DateTime submodule for TZ%0a%3c p5-Devel-GlobalDestruction-0.14p0 expose the flag which marks global destruction%0a%3c p5-Devel-OverloadInfo-0.005 introspect overloaded operators%0a%3c p5-Devel-StackTrace-2.03p0 an object representing a stack trace%0a%3c p5-Digest-HMAC-1.03p1 interface to HMAC Message-Digest Algorithms%0a%3c p5-Dist-CheckConflicts-0.11p0 declare version conflicts for your dist%0a%3c p5-Encode-Detect-1.01p8 Encode::Encoding subclass that detects the encoding of data%0a%3c p5-Encode-Locale-1.05p0 determine the locale encoding%0a%3c p5-Error-0.17028p0 error/exception handling in an OO-ish way%0a%3c p5-Eval-Closure-0.14p0 safely and cleanly create closures via string eval%0a%3c p5-Exception-Class-1.44p0 module to declare real exception classes in perl%0a%3c p5-Exporter-Tiny-1.002002p0 exporter with the features of Sub::Exporter%0a%3c p5-File-HomeDir-1.004p0 retrieve home directory location%0a%3c p5-File-Listing-6.04p0 parse directory listing%0a%3c p5-File-ShareDir-1.116p0 locate install data per-module%0a%3c p5-File-ShareDir-Install-0.13p0 install shared files, to use with File::ShareDir%0a%3c p5-File-Which-1.23p0 portable implementation of 'which' in Perl%0a%3c p5-FreezeThaw-0.5001p0 module for converting structures to strings and back%0a%3c p5-GeoIP2-2.006002p1 Perl API for MaxMind's GeoIP2 web services and databases%0a%3c p5-HTML-Parser-3.72p0 modules to parse and extract information from HTML%0a%3c p5-HTML-Tagset-3.20p2 data tables useful for parsing HTML%0a%3c p5-HTTP-Cookies-6.04p0 HTTP Cookie jars%0a%3c p5-HTTP-Daemon-6.12p0 simple http server class%0a%3c p5-HTTP-Date-6.02p0 date conversion routines%0a%3c p5-HTTP-Message-6.13p0 HTTP Style Messages%0a%3c p5-HTTP-Negotiate-6.01p0 choose a variant to serve%0a%3c p5-IO-HTML-1.001p0 open an HTML file with automatic charset detection%0a%3c p5-IO-Socket-SSL-2.068p1 Perl SSL sockets with IO::Socket interface%0a%3c p5-IO-String-1.08p3 emulate IO::File interface for in-core strings%0a%3c p5-Ima-DBI-0.35p1 database connection caching and organization%0a%3c p5-JSON-MaybeXS-1.004002p0 use Cpanel::JSON::XS or JSON::XS or JSON::PP%0a%3c p5-LWP-MediaTypes-6.02p0 Guess url media type%0a%3c p5-LWP-Protocol-https-6.07p0 adds support for https to p5-libwww%0a%3c p5-Lingua-EN-Inflect-1.899p1 convert singular to plural, select a or an%0a%3c p5-List-AllUtils-0.18 combines List::Util, List::SomeUtils and List::UtilsBy%0a%3c p5-List-MoreUtils-0.428p0 provide the stuff missing in List::Util%0a%3c p5-List-MoreUtils-XS-0.428p0 provide compiled List::MoreUtils functions%0a%3c p5-List-SomeUtils-0.58p1 Provide the stuff missing in List::Util%0a%3c p5-List-SomeUtils-XS-0.58p1 XS implementation for List::SomeUtils%0a%3c p5-List-UtilsBy-0.11p0 higher-order list utility functions%0a%3c p5-MLDBM-2.05p0 store multi-level hash structure in single-level tied hash%0a%3c p5-MRO-Compat-0.13p0 mro::* interface compatibility for Perl %3c 5.9.5%0a%3c p5-Mail-AuthenticationResults-1.20200331.1p0 object oriented Authentication-Results headers%0a%3c p5-Mail-DKIM-0.58 DKIM and DomainKeys message-signing implementation%0a%3c p5-Mail-SPF-2.9.0p1 perl oop implementation of Sender Policy Framework%0a%3c p5-Mail-SpamAssassin-3.4.4 mailfilter to identify and mark spam%0a%3c p5-Mail-Tools-2.21p0 modules for handling mail with perl%0a%3c p5-Math-Base-Convert-0.11p0 very fast base to base conversion%0a%3c p5-MaxMind-DB-Common-0.040001p1 code shared by the MaxMind DB reader and writer modules%0a%3c p5-MaxMind-DB-Reader-1.000014p1 read MaxMind DB files and look up IP addresses%0a%3c p5-Module-Implementation-0.09p0 loads one of several alternate module implementations%0a%3c p5-Module-Runtime-0.016p0 runtime module handling%0a%3c p5-Moo-2.003004p1 Minimalist Object Orientation (with Moose compatibility)%0a%3c p5-MooX-StrictConstructor-0.011 blow up Moo-based object constructors on unknown attributes%0a%3c p5-Moose-2.2013 complete modern object system for perl 5%0a%3c p5-Mozilla-CA-Fake-20140330 access system SSL certificate bundle from Perl%0a%3c p5-Net-CIDR-Lite-0.21p1 Perl extension for merging IPv4 or IPv6 CIDR addresses%0a%3c p5-Net-DNS-1.26 perl interface to the domain name system%0a%3c p5-Net-DNS-Resolver-Programmable-0.009p0 programmable DNS resolver class for offline emulation of DNS%0a%3c p5-Net-Daemon-0.48p1 extension for portable daemons%0a%3c p5-Net-HTTP-6.17p0 Perl HTTP connection client%0a%3c p5-Net-LibIDN-0.12p2 Perl bindings for GNU Libidn%0a%3c p5-Net-Patricia-1.22p1 Patricia Trie perl module for fast IP address lookups%0a%3c p5-Net-SSLeay-1.88p1 perl module for using OpenSSL%0a%3c p5-Net-Server-2.009p0 extensible framework for Perl server engines%0a%3c p5-NetAddr-IP-4.079p0 manages IPv4 and IPv6 addresses and subnets%0a%3c p5-Package-DeprecationManager-0.17p0 manage deprecation warnings for your distribution%0a%3c p5-Package-Stash-0.38p0 routines for manipulating stashes%0a%3c p5-Package-Stash-XS-0.29p0 faster and more correct implementation of Package::Stash%0a%3c p5-Params-Util-1.07p2 utility to make parameter checking easier%0a%3c p5-Params-Validate-1.29p0 perl module to validate function/method parameters%0a%3c p5-Params-ValidationCompiler-0.30p0 build an optimized subroutine parameter validator%0a%3c p5-PlRPC-0.2020p0 module for writing rpc servers and clients%0a%3c p5-Ref-Util-0.204p0 utility functions for checking references%0a%3c p5-Ref-Util-XS-0.117p0 utility functions for checking references (XS version)%0a%3c p5-Role-Tiny-2.001004p0 minimalist role composition tool%0a%3c p5-SQL-Statement-1.412p0 SQL parsing and processing engine%0a%3c p5-Socket6-0.29p0 Perl defines relating to AF_INET6 sockets%0a%3c p5-Sort-Naturally-1.03p0 sort lexically, but sort numeral parts numerically%0a%3c p5-Specio-0.46p0 type constraints and coercions for Perl%0a%3c p5-Sub-Exporter-0.987p0 exporter on steroids%0a%3c p5-Sub-Exporter-Progressive-0.001013p0 only use Sub::Exporter if you need it%0a%3c p5-Sub-Identify-0.14p0 retrieve names of code references%0a%3c p5-Sub-Install-0.928p0 helper for installing code into packages%0a%3c p5-Sub-Name-0.26p0 (re)name a sub%0a%3c p5-Sub-Quote-2.006006p0 efficient generation of subroutines via string eval%0a%3c p5-Throwable-0.200013p0 a role for classes that can be thrown%0a%3c p5-Time-TimeDate-2.30p0 library for parsing and formatting dates and times%0a%3c p5-Try-Tiny-0.30p0 minimal try/catch with proper preservation of $@%0a%3c p5-URI-1.76p0 library to parse Uniform Resource Identifiers%0a%3c p5-Universal-moniker-0.08p2 Perl module for aliasing class names%0a%3c p5-Variable-Magic-0.62p0 associate user-defined magic to variables from Perl%0a%3c p5-WWW-RobotRules-6.02p0 database of robots.txt-derived permissions%0a%3c p5-libwww-6.27p0 library for WWW access in Perl%0a%3c p5-namespace-autoclean-0.29p0 keep imports out of your namespace%0a%3c p5-namespace-clean-0.27p0 keep imports and functions out of your namespace%0a%3c p5-strictures-2.000005p1 turn on strict and make most warnings fatal%0a%3c pango-1.46.2 library for layout and rendering of text%0a%3c pcre-8.41p2 perl-compatible regular expression library%0a%3c pcre2-10.35 perl-compatible regular expression library, version 2%0a%3c php-7.3.25 server-side HTML-embedded scripting language%0a%3c php-7.4.13 server-side HTML-embedded scripting language%0a%3c php-gd-7.3.25 image manipulation extensions for php%0a%3c php-gd-7.4.13 image manipulation extensions for php%0a%3c php-mysqli-7.3.25 mysql database access extensions for php%0a%3c php-mysqli-7.4.13 mysql database access extensions for php%0a%3c php-zip-7.4.13 zip functions for php%0a%3c phpMyAdmin-4.9.5 tool to handle the administration of MySQL over the web%0a%3c png-1.6.37 library for manipulating PNG images%0a%3c python-3.7.9p0 interpreted object-oriented programming language%0a%3c python-3.8.6p0 interpreted object-oriented programming language%0a%3c quirks-3.440 exceptions to pkg_add rules%0a%3c re2c-2.0.3 C-based regular expression scanner generator%0a%3c redis-6.0.8 persistent key-value database%0a%3c rhash-1.4.0 utility and library for computing hash sums%0a%3c rspamd-2.5p1 event-driven spam filtering system in C/Lua%0a%3c shared-mime-info-2.0 shared mime database for desktops%0a%3c snappy-1.1.8 fast compression/decompression library%0a%3c sqlite3-3.31.1p0 embedded SQL implementation%0a%3c sudo-1.8.31 execute a command as another user%0a%3c tiff-4.1.0 tools and library routines for working with TIFF images%0a%3c tor-0.4.3.6 anonymity service using onion routing%0a%3c torsocks-2.2.0p0 socks proxy for use with tor%0a%3c unzip-6.0p13 extract, list & test files in a ZIP archive%0a%3c vim-8.2.1805-gtk2 vi clone, many additional features%0a%3c w3m-0.5.3p8 pager/text-based web browser%0a%3c wget-1.20.3p3 retrieve files from the web via HTTP, HTTPS and FTP%0a%3c xz-5.2.5 LZMA compression and decompression tools%0a%3c zip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0a%3c znc-1.7.5 advanced IRC bouncer%0a%3c zstd-1.4.5p0 zstandard fast real-time compression algorithm%0a%3c @]%0a\ No newline at end of file%0a +host:1609325294=49.145.202.66 blob - /dev/null blob + ca52adfbcc2d71df22544c5a71605b9971dbf10e (mode 644) --- /dev/null +++ wiki.d/Mango.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4300.0 Iron Safari/537.36 +charset=UTF-8 +ctime=1601988395 +host=49.145.199.81 +name=Mango.RecentChanges +rev=15 +text=* [[Mango/Mango]] . . . January 31, 2021, at 12:01 PM by [[~nix]]: [==]%0a* [[Mango/Todo]] . . . January 06, 2021, at 01:04 PM by [[~jrmu]]: [==]%0a* [[Mango/Packages]] . . . December 30, 2020, at 10:48 AM by [[~nix]]: [==]%0a +time=1612094506 blob - /dev/null blob + c4c90fa463bc53cc5e518511c1ee556b3c12c96f (mode 644) --- /dev/null +++ wiki.d/Mango.Todo @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609683476 +host=125.231.63.134 +name=Mango.Todo +rev=3 +targets=Openbsd.PFStable,Openbsd.Newdisk,Openbsd.Backup +text=(:title Mango Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# [[openbsd/PFStable|Configure the firewall]]%0a# [[openbsd/newdisk|Add a new disk]] and [[openbsd/backup|back up files]]%0a%0aDone: +time=1609938260 +title=Mango Todo list +author:1609938260=jrmu +diff:1609938260:1609684182:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938260=125.231.63.134 +author:1609684182=jrmu +diff:1609684182:1609683476:=4,6c4%0a%3c %0a%3c Todo:%0a%3c %0a---%0a> %0a8,10c6%0a%3c # [[openbsd/newdisk|Add a new disk]] and [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a---%0a> # [[openbsd/newdisk|Add a new disk]] and [[openbsd/backup|back up files]]%0a\ No newline at end of file%0a +host:1609684182=125.231.63.134 +author:1609683476=jrmu +diff:1609683476:1609683476:=1,6d0%0a%3c (:title Mango Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # [[openbsd/newdisk|Add a new disk]] and [[openbsd/backup|back up files]]%0a\ No newline at end of file%0a +host:1609683476=125.231.63.134 blob - /dev/null blob + 590b2527336ec1a799f4f18a3fe09c3deb79e6c1 (mode 644) --- /dev/null +++ wiki.d/Mariadb.Install @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 OPR/78.0.4093.147 +author=wiz +charset=UTF-8 +csum= +ctime=1629735628 +host=77.100.13.190 +name=Mariadb.Install +rev=4 +targets= +text=!!Mariadb Installation and Basic commands%0a%0aMariaDB is a replacement for Oracle MySQL servers. It is a multithreaded SQL database with a command syntax very similar to mSQL. This page shows how to install MariaDB server on OpenBSD.%0a%0a!!!There are two packages%0a#mariadb-server – The MariaDB server.%0a#mariadb-client – The client side of MariaDB server including mysqlclient library and headers for the MariaDB client API.%0a%0a%0aWe will only install and mariadb-server%0a[@%0a$ doas pkg_add curl%0a$ doas pkg_add mariabd-server%0a@]%0acurl is a one of the dependency package for mariadb-server.%0a%0aNow we need to configure mariadb to run.%0a%0aopen open '''/etc/my.cnf''' with your regular editor%0a[@%0a$ vi open /etc/my.cnf%0a@]%0a%0aUncommnet the bold lines %0a%0a%0a[client-server]%0a%0a'''socket=/var/run/mysql/mysql.sock'''%0a%0achange the above line to %0a%0a'''socket=/var/www/var/run/mysql/mysql.sock'''%0a%0a'''port=3306'''%0a%0a'''bind-address=0.0.0.0'''%0a%0a'''data=/var/mysql'''%0a%0asave%0a%0aRun the following command %0a%0a[@%0a$ mysql_install_db%0a@]%0a%0a!!!Initialize MariaDB data directory%0aThe above command is for initialising You need to run mysql_install_db command. It initialises the MariaDB data directory and creates the system tables:%0a%0a[@%0a$ mysql_install_db%0a@]%0a%0aNow start mariadb%0a%0a[@%0a$ doas rcctl enable mysqld%0a$ doas rcctl start mysqld%0amysqld(ok)%0a@]%0a%0aTo check if you mariadb is running run following command%0a%0a[@%0a$ ps -aux | grep mysqld%0a@]%0a%0ayou will see a line pops up as follow:%0a%0a[@%0aroot 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe%0a@]%0a%0a'''We are good to go..its running'''%0a%0a!!Mariadb database creation and user privileges commands %0a%0a%0aTo connect to mariadb console%0a[@%0a$ mysql -u root -p%0a@]%0a%0aCreate a new database:%0a%0a[@%0aMariaDB> create database DATABASE_NAME;%0a@]%0a%0aCreate a new user (only with local access) and grant privileges to this user on the new database:%0a%0a[@%0aMariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';%0a@]%0a%0aCreate a new user (with remote access) and grant privileges to this user%0aon the new database:%0a%0a[@%0aMariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'%25' identified by 'PASSWORD';%0a@]%0a%0aAfter modifying the MariaDB grant tables, execute the following command in order to apply the changes:%0a%0a[@%0aMariaDB> flush privileges;%0a@]%0a%0aother command to add user : %0a[@%0aCREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a@]%0a%0a{-No ''Error'' Happy days-} =) +time=1629736976 +author:1629736976=wiz +diff:1629736976:1629736823:=111,114c111,112%0a%3c other command to add user : %0a%3c [@%0a%3c CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a%3c @]%0a---%0a> other commands add user : CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a> %0a +host:1629736976=77.100.13.190 +author:1629736823=mkf +csum:1629736823="small update" +diff:1629736823:1629735673:=11,14c11,14%0a%3c [@%0a%3c $ doas pkg_add curl%0a%3c $ doas pkg_add mariabd-server%0a%3c @]%0a---%0a> %0a> $doas pkg_add curl%0a> $doas pkg_add mariabd-server%0a> %0a20,23c20,22%0a%3c [@%0a%3c $ vi open /etc/my.cnf%0a%3c @]%0a%3c %0a---%0a> %0a> $vi open /etc/my.cnf%0a> %0a45,48c44,45%0a%3c [@%0a%3c $ mysql_install_db%0a%3c @]%0a%3c %0a---%0a> $mysql_install_db%0a> %0a52,55c49,51%0a%3c [@%0a%3c $ mysql_install_db%0a%3c @]%0a%3c %0a---%0a> $mysql_install_db%0a> %0a> %0a58,63c54,60%0a%3c [@%0a%3c $ doas rcctl enable mysqld%0a%3c $ doas rcctl start mysqld%0a%3c mysqld(ok)%0a%3c @]%0a%3c %0a---%0a> $rcctl enable mysqld\\%0a> %0a> $rcctl start mysqld\\%0a> %0a> mysqld(ok)\\%0a> %0a> %0a66,75c63,68%0a%3c [@%0a%3c $ ps -aux | grep mysqld%0a%3c @]%0a%3c %0a%3c you will see a line pops up as follow:%0a%3c %0a%3c [@%0a%3c root 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe%0a%3c @]%0a%3c %0a---%0a> $ps -aux | grep mysqld%0a> %0a> you will see a line pops up as follow. %0a> %0a> '''root 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe'''%0a> %0a82,85c75,77%0a%3c [@%0a%3c $ mysql -u root -p%0a%3c @]%0a%3c %0a---%0a> %0a> $mysql -u root -p%0a> %0a87,88d78%0a%3c %0a%3c [@%0a90,94c80,82%0a%3c @]%0a%3c %0a%3c Create a new user (only with local access) and grant privileges to this user on the new database:%0a%3c %0a%3c [@%0a---%0a> %0a> Create a new user (only with local access) and grant privileges to this%0a> user on the new database:%0a96,97c84%0a%3c @]%0a%3c %0a---%0a> %0a100,101d86%0a%3c %0a%3c [@%0a103,107c88,90%0a%3c @]%0a%3c %0a%3c After modifying the MariaDB grant tables, execute the following command in order to apply the changes:%0a%3c %0a%3c [@%0a---%0a> %0a> After modifying the MariaDB grant tables, execute the following command in%0a> order to apply the changes:%0a109d91%0a%3c @]%0a +host:1629736823=198.251.81.133 +author:1629735673=wiz +diff:1629735673:1629735628:=69c69%0a%3c '''We are good to go..its running'''%0a---%0a> !!!We are good to go..its running%0a +host:1629735673=77.100.13.190 +author:1629735628=wiz +diff:1629735628:1629735628:=1,96d0%0a%3c !!Mariadb Installation and Basic commands%0a%3c %0a%3c MariaDB is a replacement for Oracle MySQL servers. It is a multithreaded SQL database with a command syntax very similar to mSQL. This page shows how to install MariaDB server on OpenBSD.%0a%3c %0a%3c !!!There are two packages%0a%3c #mariadb-server – The MariaDB server.%0a%3c #mariadb-client – The client side of MariaDB server including mysqlclient library and headers for the MariaDB client API.%0a%3c %0a%3c %0a%3c We will only install and mariadb-server%0a%3c %0a%3c $doas pkg_add curl%0a%3c $doas pkg_add mariabd-server%0a%3c %0a%3c curl is a one of the dependency package for mariadb-server.%0a%3c %0a%3c Now we need to configure mariadb to run.%0a%3c %0a%3c open open '''/etc/my.cnf''' with your regular editor%0a%3c %0a%3c $vi open /etc/my.cnf%0a%3c %0a%3c Uncommnet the bold lines %0a%3c %0a%3c %0a%3c [client-server]%0a%3c %0a%3c '''socket=/var/run/mysql/mysql.sock'''%0a%3c %0a%3c change the above line to %0a%3c %0a%3c '''socket=/var/www/var/run/mysql/mysql.sock'''%0a%3c %0a%3c '''port=3306'''%0a%3c %0a%3c '''bind-address=0.0.0.0'''%0a%3c %0a%3c '''data=/var/mysql'''%0a%3c %0a%3c save%0a%3c %0a%3c Run the following command %0a%3c %0a%3c $mysql_install_db%0a%3c %0a%3c !!!Initialize MariaDB data directory%0a%3c The above command is for initialising You need to run mysql_install_db command. It initialises the MariaDB data directory and creates the system tables:%0a%3c %0a%3c $mysql_install_db%0a%3c %0a%3c %0a%3c Now start mariadb%0a%3c %0a%3c $rcctl enable mysqld\\%0a%3c %0a%3c $rcctl start mysqld\\%0a%3c %0a%3c mysqld(ok)\\%0a%3c %0a%3c %0a%3c To check if you mariadb is running run following command%0a%3c %0a%3c $ps -aux | grep mysqld%0a%3c %0a%3c you will see a line pops up as follow. %0a%3c %0a%3c '''root 94120 0.0 0.2 1016 1040 p0 Sp 10:40AM 0:00.02 /bin/sh /usr/local/bin/mysqld_safe'''%0a%3c %0a%3c !!!We are good to go..its running%0a%3c %0a%3c !!Mariadb database creation and user privileges commands %0a%3c %0a%3c %0a%3c To connect to mariadb console%0a%3c %0a%3c $mysql -u root -p%0a%3c %0a%3c Create a new database:%0a%3c MariaDB> create database DATABASE_NAME;%0a%3c %0a%3c Create a new user (only with local access) and grant privileges to this%0a%3c user on the new database:%0a%3c MariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';%0a%3c %0a%3c Create a new user (with remote access) and grant privileges to this user%0a%3c on the new database:%0a%3c MariaDB> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'%25' identified by 'PASSWORD';%0a%3c %0a%3c After modifying the MariaDB grant tables, execute the following command in%0a%3c order to apply the changes:%0a%3c MariaDB> flush privileges;%0a%3c %0a%3c other commands add user : CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; database list: SHOW DATABASES; grant access : GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;%0a%3c %0a%3c %0a%3c {-No ''Error'' Happy days-} =)%0a\ No newline at end of file%0a +host:1629735628=77.100.13.190 blob - /dev/null blob + fbfdfe12d6a3f244caa37948d228d5346c27ac5f (mode 644) --- /dev/null +++ wiki.d/Mariadb.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 OPR/78.0.4093.147 +charset=UTF-8 +ctime=1629735628 +host=77.100.13.190 +name=Mariadb.RecentChanges +rev=4 +text=* [[Mariadb/Install]] . . . August 23, 2021, at 04:42 PM by [[~wiz]]: [==]%0a +time=1629736976 blob - /dev/null blob + 641eeacd1e4c2979d4747576e0b05d836e0dcad1 (mode 644) --- /dev/null +++ wiki.d/Marketing.Enterprise @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613022016 +host=198.251.81.119 +name=Marketing.Enterprise +rev=6 +targets= +text=Attach:iwojima.png%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/260.jpg%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/467.jpg%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/558.jpg%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/645.jpg%0a%0aYour tax dollars at work +time=1614513166 +author:1614513166=jrmu +diff:1614513166:1613048023:=11,13c11%0a%3c https://www.gutenberg.org/files/16960/16960-h/images/645.jpg%0a%3c %0a%3c Your tax dollars at work%0a\ No newline at end of file%0a---%0a> https://www.gutenberg.org/files/16960/16960-h/images/645.jpg%0a\ No newline at end of file%0a +host:1614513166=198.251.81.119 +author:1613048023=jrmu +diff:1613048023:1613047916:= +host:1613048023=198.251.81.119 +author:1613047916=jrmu +diff:1613047916:1613047161:=3,11c3%0a%3c https://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/260.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/467.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/558.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/645.jpg%0a\ No newline at end of file%0a---%0a> https://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a\ No newline at end of file%0a +host:1613047916=198.251.81.119 +author:1613047161=jrmu +diff:1613047161:1613047142:= +host:1613047161=198.251.81.119 +author:1613047142=jrmu +diff:1613047142:1613022016:=1,3c1%0a%3c Attach:iwojima.png%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a\ No newline at end of file%0a---%0a> Attach:iwojima.png%0a\ No newline at end of file%0a +host:1613047142=198.251.81.119 +author:1613022016=jrmu +diff:1613022016:1613022016:=1d0%0a%3c Attach:iwojima.png%0a\ No newline at end of file%0a +host:1613022016=198.251.81.119 blob - /dev/null blob + 4d4d576e4eacf0424c7f3178dd8c39df7f5cdf1e (mode 644) --- /dev/null +++ wiki.d/Marketing.Founders @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1616204418 +host=198.251.81.119 +name=Marketing.Founders +rev=2 +targets= +text=These are all copyrighted so don't use them directly%0a%0ahttps://assets.rebelmouse.io/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbWFnZSI6Imh0dHBzOi8vYXNzZXRzLnJibC5tcy8xODQxMDY5OS9vcmlnaW4uanBnIiwiZXhwaXJlc19hdCI6MTY1MTA3OTU3MX0.W83WhutKnWDrrhw_fr4YdtLkp-UhGhDS8DZ9i3yemCc/img.jpg?width=980&quality=85%0ahttps://cdn.theatlantic.com/thumbor/k5fwX8i8YRVdJfjYUzsbOamQh3o=/1920x1080/media/img/2018/08/28/Atlantic_madison_3/original.jpg%0ahttp://www.epiphanycreativeservices.com/wp-content/uploads/2017/06/Untitled-design-4-300x300.jpg%0ahttps://img.washingtonpost.com/wp-apps/imrs.php?src=https://img.washingtonpost.com/blogs/style-blog/files/2016/04/abraham.jpg&w=1484%0ahttps://www.goldstar.com/blog/wp-content/uploads/2020/03/Hamilton-Silhoette-Blog.png +time=1616204440 +author:1616204440=jrmu +diff:1616204440:1616204418:=6a7%0a> http://www.epiphanycreativeservices.com/wp-content/uploads/2017/06/Untitled-design-4-300x300.jpg%0a +host:1616204440=198.251.81.119 +author:1616204418=jrmu +diff:1616204418:1616204418:=1,8d0%0a%3c These are all copyrighted so don't use them directly%0a%3c %0a%3c https://assets.rebelmouse.io/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbWFnZSI6Imh0dHBzOi8vYXNzZXRzLnJibC5tcy8xODQxMDY5OS9vcmlnaW4uanBnIiwiZXhwaXJlc19hdCI6MTY1MTA3OTU3MX0.W83WhutKnWDrrhw_fr4YdtLkp-UhGhDS8DZ9i3yemCc/img.jpg?width=980&quality=85%0a%3c https://cdn.theatlantic.com/thumbor/k5fwX8i8YRVdJfjYUzsbOamQh3o=/1920x1080/media/img/2018/08/28/Atlantic_madison_3/original.jpg%0a%3c http://www.epiphanycreativeservices.com/wp-content/uploads/2017/06/Untitled-design-4-300x300.jpg%0a%3c https://img.washingtonpost.com/wp-apps/imrs.php?src=https://img.washingtonpost.com/blogs/style-blog/files/2016/04/abraham.jpg&w=1484%0a%3c http://www.epiphanycreativeservices.com/wp-content/uploads/2017/06/Untitled-design-4-300x300.jpg%0a%3c https://www.goldstar.com/blog/wp-content/uploads/2020/03/Hamilton-Silhoette-Blog.png%0a\ No newline at end of file%0a +host:1616204418=198.251.81.119 blob - /dev/null blob + 07f15caf5bd2ad9b2ae9048110e970b3516b163e (mode 644) --- /dev/null +++ wiki.d/Marketing.Freedom @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613022038 +host=198.251.81.119 +name=Marketing.Freedom +rev=6 +targets= +text=Liberty Shells -- Proclaim LIBERTY Throughout all the LAN to all the Users Thereof%0a%0aLet freedom beep%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a%0a[[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a%0aLog Cabin Storage%0a%0aA man's /home is his castle%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Valley_Forge_cabin.jpg/640px-Valley_Forge_cabin.jpg%0a%0ahttps://www.gutenberg.org/files/16960/16960-h/images/255-tb.jpg%0a%0aAttach:freepress.png%0a%0aAttach:Marketing/gazette.jpg +time=1615815002 +author:1615815002=jrmu +diff:1615815002:1613985656:=17,19c17%0a%3c Attach:freepress.png%0a%3c %0a%3c Attach:Marketing/gazette.jpg%0a\ No newline at end of file%0a---%0a> Attach:freepress.png%0a\ No newline at end of file%0a +host:1615815002=198.251.81.119 +author:1613985656=jrmu +diff:1613985656:1613047645:=15,17c15%0a%3c https://www.gutenberg.org/files/16960/16960-h/images/255-tb.jpg%0a%3c %0a%3c Attach:freepress.png%0a\ No newline at end of file%0a---%0a> https://www.gutenberg.org/files/16960/16960-h/images/255-tb.jpg%0a\ No newline at end of file%0a +host:1613985656=198.251.81.119 +author:1613047645=jrmu +diff:1613047645:1613046837:=13,15c13%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Valley_Forge_cabin.jpg/640px-Valley_Forge_cabin.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/255-tb.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Valley_Forge_cabin.jpg/640px-Valley_Forge_cabin.jpg%0a\ No newline at end of file%0a +host:1613047645=198.251.81.119 +author:1613046837=jrmu +diff:1613046837:1613022927:=9,13d8%0a%3c Log Cabin Storage%0a%3c %0a%3c A man's /home is his castle%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Valley_Forge_cabin.jpg/640px-Valley_Forge_cabin.jpg%0a\ No newline at end of file%0a +host:1613046837=198.251.81.119 +author:1613022927=jrmu +diff:1613022927:1613022038:=5,8c5%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a%3c %0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a\ No newline at end of file%0a +host:1613022927=198.251.81.119 +author:1613022038=jrmu +diff:1613022038:1613022038:=1,5d0%0a%3c Liberty Shells -- Proclaim LIBERTY Throughout all the LAN to all the Users Thereof%0a%3c %0a%3c Let freedom beep%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a\ No newline at end of file%0a +host:1613022038=198.251.81.119 blob - /dev/null blob + be80c903ea01a3da41b04dcc3142f0b8dfd801cd (mode 644) --- /dev/null +++ wiki.d/Marketing.Independence @@ -0,0 +1,87 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613021855 +host=198.251.81.119 +name=Marketing.Independence +rev=25 +targets= +text=https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a%0ahttps://wiki.ircnow.org/uploads/Users/rosie.png%0a(:if false:)%0aLet's change this to "HOST" and replace the photo:%0a%0ahttps://upload.wikimedia.org/wikipedia/en/5/55/Barack_Obama_Hope_poster.jpg%0aMake IRC Great Again:%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a(:ifend:)%0a%0aAttach:comeandtakeit.png%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a%0aAttach:livefreeordie.jpg%0a%0a[[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a%0aInstalling the server on a new continent%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a%0a"LAN of the free and /home of the brave"%0a%0ahttps://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a%0a[@%0a "I regret that I have but one life to give for my country."%0a"Give me liberty or give me death."%0a"Don't Tread On Me"%0a"I have not yet began to fight".%0a"No Taxation without Representation".%0a"United we stand, divided we fall."%0a"Join, or Die."%0a"If we don't hang together, we'll all hang seperately."%0a"A republic, if you can keep it."%0a"The British are coming!"%0a"One if By Land, Two if By Sea"%0a"Don't Shoot Until You See The Whites Of Their Eyes"%0a"These are the times that try men's souls"%0a@]%0a%0aNo installation without representation%0a%0aNo application without representation%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Patrick_Henry_speaking_before_the_Virginia_Assembly.tiff/lossy-page1-1182px-Patrick_Henry_speaking_before_the_Virginia_Assembly.tiff.jpg%0a%0aGive me libre software or give me death!%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/c/c7/150th_Anniversary_of_the_Liberty_Bell%252C_1926_Issue-2c.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Washington_Crossing_the_Delaware_by_Emanuel_Leutze%252C_MMA-NYC%252C_1851.jpg/1200px-Washington_Crossing_the_Delaware_by_Emanuel_Leutze%252C_MMA-NYC%252C_1851.jpg%0a%0aI regret that I have but one server to give for my network.%0a%0a"The Suits are coming!"%0a%0aThe Hipsters are coming%0a%0aFrom the chans on turkey's zurna%0aTo the servers of amici,%0aWe code our network's battles%0aOn the web, phone and PC. +time=1613192368 +author:1613192368=jrmu +diff:1613192368:1613192208:=63,66c63%0a%3c From the chans on turkey's zurna%0a%3c To the servers of amici,%0a%3c We code our network's battles%0a%3c On the web, phone and PC.%0a\ No newline at end of file%0a---%0a> From the chans on zurna to the shores of%0a\ No newline at end of file%0a +host:1613192368=198.251.81.119 +author:1613192208=jrmu +diff:1613192208:1613191075:=61,63c61%0a%3c The Hipsters are coming%0a%3c %0a%3c From the chans on zurna to the shores of%0a\ No newline at end of file%0a---%0a> The Hipsters are coming%0a\ No newline at end of file%0a +host:1613192208=198.251.81.119 +author:1613191075=jrmu +diff:1613191075:1613191006:= +host:1613191075=198.251.81.119 +author:1613191006=jrmu +diff:1613191006:1613190881:=59,61c59%0a%3c "The Suits are coming!"%0a%3c %0a%3c The Hipsters are coming%0a\ No newline at end of file%0a---%0a> "The Suits are coming!"%0a\ No newline at end of file%0a +host:1613191006=198.251.81.119 +author:1613190881=jrmu +diff:1613190881:1613190739:= +host:1613190881=198.251.81.119 +author:1613190739=jrmu +diff:1613190739:1613190666:=57,59c57%0a%3c I regret that I have but one server to give for my network.%0a%3c %0a%3c "The Suits are coming!"%0a\ No newline at end of file%0a---%0a> I regret that I have but one server to give for my network.%0a\ No newline at end of file%0a +host:1613190739=198.251.81.119 +author:1613190666=jrmu +diff:1613190666:1613190045:=53,57c53%0a%3c https://upload.wikimedia.org/wikipedia/commons/c/c7/150th_Anniversary_of_the_Liberty_Bell%252C_1926_Issue-2c.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Washington_Crossing_the_Delaware_by_Emanuel_Leutze%252C_MMA-NYC%252C_1851.jpg/1200px-Washington_Crossing_the_Delaware_by_Emanuel_Leutze%252C_MMA-NYC%252C_1851.jpg%0a%3c %0a%3c I regret that I have but one server to give for my network.%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/c/c7/150th_Anniversary_of_the_Liberty_Bell%252C_1926_Issue-2c.jpg%0a\ No newline at end of file%0a +host:1613190666=198.251.81.119 +author:1613190045=jrmu +diff:1613190045:1613189945:=51,53c51%0a%3c Give me libre software or give me death!%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/c/c7/150th_Anniversary_of_the_Liberty_Bell%252C_1926_Issue-2c.jpg%0a\ No newline at end of file%0a---%0a> Give me libre software or give me death!%0a\ No newline at end of file%0a +host:1613190045=198.251.81.119 +author:1613189945=jrmu +diff:1613189945:1613187502:=51c51%0a%3c Give me libre software or give me death!%0a\ No newline at end of file%0a---%0a> Give me liberty or give me%0a\ No newline at end of file%0a +host:1613189945=198.251.81.119 +author:1613187502=jrmu +diff:1613187502:1613186438:=47,51c47%0a%3c No application without representation%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Patrick_Henry_speaking_before_the_Virginia_Assembly.tiff/lossy-page1-1182px-Patrick_Henry_speaking_before_the_Virginia_Assembly.tiff.jpg%0a%3c %0a%3c Give me liberty or give me%0a\ No newline at end of file%0a---%0a> No application without representation%0a\ No newline at end of file%0a +host:1613187502=125.224.26.71 +author:1613186438=jrmu +diff:1613186438:1613186381:=45,47c45%0a%3c No installation without representation%0a%3c %0a%3c No application without representation%0a\ No newline at end of file%0a---%0a> No installation without representation%0a\ No newline at end of file%0a +host:1613186438=125.224.26.71 +author:1613186381=jrmu +diff:1613186381:1613024718:=29c29%0a%3c [@%0a---%0a> %0a42,45c42%0a%3c "These are the times that try men's souls"%0a%3c @]%0a%3c %0a%3c No installation without representation%0a\ No newline at end of file%0a---%0a> "These are the times that try men's souls"%0a\ No newline at end of file%0a +host:1613186381=125.224.26.71 +author:1613024718=jrmu +diff:1613024718:1613024673:=41,42c41%0a%3c "Don't Shoot Until You See The Whites Of Their Eyes"%0a%3c "These are the times that try men's souls"%0a\ No newline at end of file%0a---%0a> "Don't Shoot Until You See The Whites Of Their Eyes"%0a\ No newline at end of file%0a +host:1613024718=198.251.81.119 +author:1613024673=jrmu +diff:1613024673:1613024621:=38,41c38%0a%3c "A republic, if you can keep it."%0a%3c "The British are coming!"%0a%3c "One if By Land, Two if By Sea"%0a%3c "Don't Shoot Until You See The Whites Of Their Eyes"%0a\ No newline at end of file%0a---%0a> "A republic, if you can keep it."%0a\ No newline at end of file%0a +host:1613024673=198.251.81.119 +author:1613024621=jrmu +diff:1613024621:1613024461:=32,38c32%0a%3c "Don't Tread On Me"%0a%3c "I have not yet began to fight".%0a%3c "No Taxation without Representation".%0a%3c "United we stand, divided we fall."%0a%3c "Join, or Die."%0a%3c "If we don't hang together, we'll all hang seperately."%0a%3c "A republic, if you can keep it."%0a\ No newline at end of file%0a---%0a> "Don't Tread On Me"%0a\ No newline at end of file%0a +host:1613024621=198.251.81.119 +author:1613024461=jrmu +diff:1613024461:1613024446:= +host:1613024461=198.251.81.119 +author:1613024446=jrmu +diff:1613024446:1613022828:=28,32d27%0a%3c %0a%3c %0a%3c "I regret that I have but one life to give for my country."%0a%3c "Give me liberty or give me death."%0a%3c "Don't Tread On Me"%0a\ No newline at end of file%0a +host:1613024446=198.251.81.119 +author:1613022828=jrmu +diff:1613022828:1613022759:=0a1,2%0a> I need someone to fix this to "We can host it" or "We can code it":%0a> %0a +host:1613022828=198.251.81.119 +author:1613022759=jrmu +diff:1613022759:1613022600:=25,29c25%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a%3c %0a%3c "LAN of the free and /home of the brave"%0a%3c %0a%3c https://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a\ No newline at end of file%0a +host:1613022759=198.251.81.119 +author:1613022600=jrmu +diff:1613022600:1613022335:=21,25c21%0a%3c [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a%3c %0a%3c Installing the server on a new continent%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a\ No newline at end of file%0a---%0a> [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a\ No newline at end of file%0a +host:1613022600=198.251.81.119 +author:1613022335=jrmu +diff:1613022335:1613022301:=19,21c19%0a%3c Attach:livefreeordie.jpg%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a\ No newline at end of file%0a---%0a> Attach:livefreeordie.png%0a\ No newline at end of file%0a +host:1613022335=198.251.81.119 +author:1613022301=jrmu +diff:1613022301:1613022262:=15,19c15,19%0a%3c Attach:comeandtakeit.png%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a%3c %0a%3c Attach:livefreeordie.png%0a\ No newline at end of file%0a---%0a> [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a> %0a> Sic semper PHB (Thus always to pointy haired boss)%0a> %0a> [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a +host:1613022301=198.251.81.119 +author:1613022262=jrmu +diff:1613022262:1613021982:=13,19c13%0a%3c (:ifend:)%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a%3c %0a%3c Sic semper PHB (Thus always to pointy haired boss)%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a---%0a> (:ifend:)%0a\ No newline at end of file%0a +host:1613022262=198.251.81.119 +author:1613021982=jrmu +diff:1613021982:1613021855:=6,13c6%0a%3c (:if false:)%0a%3c Let's change this to "HOST" and replace the photo:%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/en/5/55/Barack_Obama_Hope_poster.jpg%0a%3c Make IRC Great Again:%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> (:if false:)%0a\ No newline at end of file%0a +host:1613021982=198.251.81.119 +author:1613021855=jrmu +diff:1613021855:1613021855:=1,6d0%0a%3c I need someone to fix this to "We can host it" or "We can code it":%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a%3c %0a%3c https://wiki.ircnow.org/uploads/Users/rosie.png%0a%3c (:if false:)%0a\ No newline at end of file%0a +host:1613021855=198.251.81.119 blob - /dev/null blob + f3e97e615a13b48a24e9e4e8d7f518cc164ce78e (mode 644) --- /dev/null +++ wiki.d/Marketing.Marketing @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606444337 +host=198.251.81.119 +name=Marketing.Marketing +rev=8 +targets=Marketing.Memes,Marketing.Recruit,Marketing.Freedom,Marketing.Opportunity,Marketing.Independence,Marketing.Republic,Marketing.Enterprise,Marketing.Religion,Marketing.Founders +text=[[marketing/memes|Meme ideas]]%0a%0a[[marketing/recruit|Recruit Memes]]%0a%0a[[marketing/freedom|Freedom Memes]]%0a%0a[[marketing/opportunity|Opportunity Memes]]%0a%0a[[marketing/independence|Independence Memes]]%0a%0a[[marketing/republic|Republic Memes]]%0a%0a[[marketing/enterprise|Enterprise Memes]]%0a%0a[[marketing/religion|Religion]]%0a%0a[[marketing/founders|founders]]%0a%0aIdeas:%0a%0aban spam but tax targeted ads +time=1616204381 +author:1616204381=jrmu +diff:1616204381:1616076252:=16,17d15%0a%3c %0a%3c [[marketing/founders|founders]]%0a +host:1616204381=198.251.81.119 +author:1616076252=jrmu +diff:1616076252:1613048266:=15,19c15%0a%3c [[marketing/religion|Religion]]%0a%3c %0a%3c Ideas:%0a%3c %0a%3c ban spam but tax targeted ads%0a\ No newline at end of file%0a---%0a> [[marketing/religion|Religion]]%0a\ No newline at end of file%0a +host:1616076252=198.251.81.119 +author:1613048266=jrmu +diff:1613048266:1613048245:=15c15%0a%3c [[marketing/religion|Religion]]%0a\ No newline at end of file%0a---%0a> [[marketing/religion|Religion Memes]]%0a\ No newline at end of file%0a +host:1613048266=198.251.81.119 +author:1613048245=jrmu +diff:1613048245:1613021886:=13,15c13%0a%3c [[marketing/enterprise|Enterprise Memes]]%0a%3c %0a%3c [[marketing/religion|Religion Memes]]%0a\ No newline at end of file%0a---%0a> [[marketing/enterprise|Enterprise Memes]]%0a\ No newline at end of file%0a +host:1613048245=198.251.81.119 +author:1613021886=jrmu +diff:1613021886:1613021825:=11,13c11%0a%3c [[marketing/republic|Republic Memes]]%0a%3c %0a%3c [[marketing/enterprise|Enterprise Memes]]%0a\ No newline at end of file%0a---%0a> [[marketing/republic|Republic Memes]]%0a\ No newline at end of file%0a +host:1613021886=198.251.81.119 +author:1613021825=jrmu +diff:1613021825:1613021707:=9,11c9%0a%3c [[marketing/independence|Independence Memes]]%0a%3c %0a%3c [[marketing/republic|Republic Memes]]%0a\ No newline at end of file%0a---%0a> [[marketing/independence|Independence Memes]]%0a\ No newline at end of file%0a +host:1613021825=198.251.81.119 +author:1613021707=jrmu +diff:1613021707:1606444337:=1,9c1%0a%3c [[marketing/memes|Meme ideas]]%0a%3c %0a%3c [[marketing/recruit|Recruit Memes]]%0a%3c %0a%3c [[marketing/freedom|Freedom Memes]]%0a%3c %0a%3c [[marketing/opportunity|Opportunity Memes]]%0a%3c %0a%3c [[marketing/independence|Independence Memes]]%0a\ No newline at end of file%0a---%0a> [[marketing/memes|Meme ideas]]%0a\ No newline at end of file%0a +host:1613021707=198.251.81.119 +author:1606444337=jrmu +diff:1606444337:1606444337:=1d0%0a%3c [[marketing/memes|Meme ideas]]%0a\ No newline at end of file%0a +host:1606444337=198.251.81.119 blob - /dev/null blob + 43dcde7f967ae92eff73a4853d519da9d0939893 (mode 644) --- /dev/null +++ wiki.d/Marketing.Memes @@ -0,0 +1,393 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606444355 +host=125.231.24.146 +name=Marketing.Memes +rev=127 +targets= +text=Attach:madeonirc.png%0aAttach:madeonirc128x128.png%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg/777px-Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg%0a%0ahttps://d3ao8sz5crj5i0.cloudfront.net/moon-landing-apollo-11-07.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1188px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a%0aAttach:thanksgiving.jpg%0a(:if false:)%0ahttps://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a(:ifend:)%0ahttps://upload.wikimedia.org/wikipedia/commons/b/b4/Boone%2527s_First_View_of_Kentucky.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/American_Progress_%2528John_Gast_painting%2529.jpg/1200px-American_Progress_%2528John_Gast_painting%2529.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/California_Clipper_500.jpg/1200px-California_Clipper_500.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/f/f7/California_diamond_jubilee_half_dollar_commemorative_obverse.jpg%0aAttach:press.png%0ahttps://upload.wikimedia.org/wikipedia/en/c/c9/Lewis_%2526_Clark_stamp_2004.jpg%0a%0a40GB and a core%0ainstead of 40 acres and a mule%0a%0aAttach:Marketing/assembly.jpg%0aAttach:Marketing/modelt.jpg%0aAttach:Marketing/firstflight.jpg%0aAttach:Marketing/phonograph.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Cotton_gin_EWM_2007.jpg/1200px-Cotton_gin_EWM_2007.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/f/fd/Mule-jenny.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/1/15/Spinning_Jenny_improved_203_Marsden.png%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Wright_First_Flight_1903Dec17_%2528full_restore_115%2529.jpg/800px-Wright_First_Flight_1903Dec17_%2528full_restore_115%2529.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/7/74/1910Ford-T.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Ford_assembly_line_-_1913.jpg/679px-Ford_assembly_line_-_1913.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Edison_and_phonograph_edit1.jpg/476px-Edison_and_phonograph_edit1.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/International_Morse_Code.svg/675px-International_Morse_Code.svg.png%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/East_and_West_Shaking_hands_at_the_laying_of_last_rail_Union_Pacific_Railroad_-_Restoration.jpg/1182px-East_and_West_Shaking_hands_at_the_laying_of_last_rail_Union_Pacific_Railroad_-_Restoration.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/9/9c/J38TelegraphKey.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/a/a0/EdisonPhonograph.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/5/55/Apollo_11_lunar_module_%2528cropped%2529.jpg/504px-Apollo_11_lunar_module_%2528cropped%2529.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/6/6d/FWPNW026HobokenNJSA0266.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Viking_Pre-Launch_Test_Flight_-_GPN-2003-00047.jpg/480px-Viking_Pre-Launch_Test_Flight_-_GPN-2003-00047.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/8/80/Edison_incandescent_lights.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/d/de/Ferris-wheel.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Improved_no2_Wagon.jpg/749px-Improved_no2_Wagon.jpg%0a%0aSupport the War effort against Silicon Valley%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/a/a7/Liberty_Bond_-_13.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/c/cf/Liberty_Bond_-_10.jpg%0ahttps://www.empirecenter.org/wp-content/uploads/2011/09/liberty-bond-poster2.jpg%0a%0aThrow nonfree software overboard%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/5/52/Boston_Tea_Party_Currier_colored.jpg%0a%0aEFNet Wild West -- ddoser wanted doxed or alive%0a%0aAttach:wanted.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/5/5a/John_Wilkes_Booth_wanted_poster_new.jpg%0a%0abuy a copy of poor rtalk's almanac%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Poor_Richard_Almanack_1739.jpg/379px-Poor_Richard_Almanack_1739.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/d/de/FalloftheAlamo.jpg%0a%0aLearn to Code%0aAttach:learntoread.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/5/56/LincolnTrain.jpeg%0a%0aAsk not what your network can do for you, ask what you can do for your network%0a%0ahttps://ae01.alicdn.com/kf/HTB1WW_YosnI8KJjSspeq6AwIpXa1/Do-your-part-keep-them-flying-Airforce-US-Propaganda-WW2-Flag-Vintage-Poster-Decorative-DIY-Wall.jpg%0a%0ahttps://historyofinformation.com/images/BenjaminFranklin-014.jpg%0ahttp://www.benjamin-franklin-history.org/wp-content/uploads/2016/02/Library-Company-of-Philadelphia.-Charles-Mills-murals.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/4/4b/Phillis_wheatley_frontpiece_1834.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0aAttach:Marketing/congress.jpg%0a%0aLearn to Fly:%0a%0ahttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a%0aAttach:unitedweserve.jpg%0a%0aUnited We Serve, Divided We Fault%0a%0aAttach:tread.jpg%0a%0aEach channel should have its own town crier, not eggdrop%0a%0aAttach:gazette.jpg%0a%0aIT Joe, an all-unix coding hero%0a%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/theyve-got-the-guts.jpg%0acomes from wikimedia commons%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/do-you-know-him.jpg%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/soldier-greeting-workers.jpg%0a%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/the-nazis-burned-these-books.jpg%0a%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/together-we-win.jpg%0a%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/victory-garden-vegetables.jpg%0a%0ahttps://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/keep-them-ringing.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_01.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_09.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_42.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_06.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_43.jpg%0a%0ahttps://pearlharborwarbirds.com/wp-content/uploads/2018/03/avenge-pearl-harbor-205x300.jpg%0a%0ahttps://pearlharborwarbirds.com/wp-content/uploads/2018/03/join-navy-200x300.jpg%0a%0ahttps://pearlharborwarbirds.com/wp-content/uploads/2018/03/Rationing-212x300.jpg%0a%0ahttps://pearlharborwarbirds.com/wp-content/uploads/2018/03/save-on-gas-211x300.jpg%0a%0ahttps://pearlharborwarbirds.com/wp-content/uploads/2018/03/victory-garden-209x300.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_12.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_07.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_22.jpg%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_23.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_26.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_31.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_36.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_39.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_42.jpg%0a%0ahttps://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_45.jpg%0a%0ahttps://www.warhistoryonline.com/wp-content/uploads/2019/04/antislavery-engraving-from-the-american-anti-slavery-almanac-1840.jpg%0a%0ahttps://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-confederate-states-of-america-floyd-county-virginia-february-1862-436x640.jpg%0a%0ahttps://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-179th-pennsylvania-infantry-regiment-commanding-officer-capt-bill-yerkes-507x640.jpg%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/U._S._Government_Printing_Office_-_Boston_Public_Library_-_Ten_years_ago_%2528by%2529.jpg/558px-U._S._Government_Printing_Office_-_Boston_Public_Library_-_Ten_years_ago_%2528by%2529.jpg%0a +time=1639717932 +author:1639717932=jrmu +diff:1639717932:1637502742:=2d1%0a%3c Attach:madeonirc128x128.png%0a +host:1639717932=125.231.24.146 +author:1637502742=jrmu +diff:1637502742:1637502647:=161c161%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/U._S._Government_Printing_Office_-_Boston_Public_Library_-_Ten_years_ago_%2528by%2529.jpg/558px-U._S._Government_Printing_Office_-_Boston_Public_Library_-_Ten_years_ago_%2528by%2529.jpg%0a---%0a> https://digital.library.unt.edu/ark:/67531/metadc357/m1/1/high_res/%0a +host:1637502742=38.87.162.8 +author:1637502647=jrmu +diff:1637502647:1616925495:=160,161c160%0a%3c https://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-179th-pennsylvania-infantry-regiment-commanding-officer-capt-bill-yerkes-507x640.jpg%0a%3c https://digital.library.unt.edu/ark:/67531/metadc357/m1/1/high_res/%0a---%0a> https://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-179th-pennsylvania-infantry-regiment-commanding-officer-capt-bill-yerkes-507x640.jpg%0a\ No newline at end of file%0a +host:1637502647=38.87.162.8 +author:1616925495=jrmu +diff:1616925495:1616925480:=0a1,2%0a> Made on IRC (this image is copyrighted so don't use it directly)%0a> %0a +host:1616925495=198.251.81.44 +author:1616925480=jrmu +diff:1616925480:1616829541:=3a4%0a> Attach:madeonirc.jpg%0a +host:1616925480=198.251.81.44 +author:1616829541=jrmu +diff:1616829541:1613299658:=3d2%0a%3c Attach:madeonirc.png%0a +host:1616829541=198.251.81.44 +author:1613299658=jrmu +diff:1613299658:1613299384:=10a11%0a> https://upload.wikimedia.org/wikipedia/commons/2/2c/Landing-Bacon.PNG%0a +host:1613299658=198.251.81.119 +author:1613299384=jrmu +diff:1613299384:1613299102:=0a1,4%0a> IRCNow and Forever!!%0a> %0a> Attach:herdquit.jpg%0a> %0a22a27,29%0a> Attach:willamette.png%0a> Attach:oregontrail.png%0a> %0a25a33,34%0a> Made on IRC%0a> %0a75a85,88%0a> # with liberty and justice for all%0a> # one network under God%0a> # In God we trust%0a> %0a93a107,108%0a> %0a> Attach:ponyexpress.jpg%0a +host:1613299384=198.251.81.119 +author:1613299102=jrmu +diff:1613299102:1613023000:=1a2,17%0a> %0a> In God We Trust%0a> %0a> One Network Under God%0a> %0a> [@%0a> Give me your tired, your poor,%0a> Your clueless newbies yearning to chat free,%0a> The Linux users and those from Tor.%0a> Send the accountless, shadowbanned to me,%0a> I open my ports on the firewall door!"%0a> @]%0a> %0a> https://en.wikipedia.org/wiki/New_Colossus%0a> %0a> Rename customer support team to the Sons of Liberty%0a +host:1613299102=198.251.81.119 +author:1613023000=jrmu +diff:1613023000:1613020997:=0a1,81%0a> Attach:unclesam.png%0a> %0a> (:if false:)%0a> [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0a> It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0a> Notice however that the meme above does not look as similar as the one below:%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/1/1d/Unclesamwantyou.jpg/578px-Unclesamwantyou.jpg%0a> %0a> (:ifend:)%0a> %0a> %0a> Attach:minutemin.png%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Minuteman_Patriot_%2528American_Revolution%2529.svg/292px-Minuteman_Patriot_%2528American_Revolution%2529.svg.png%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Constitution_We_the_People.jpg/640px-Constitution_We_the_People.jpg%0a> %0a> https://constitutionus.com/images/we_the_people.jpg%0a> %0a> Let's change this to "We the Users"%0a> %0a> [[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a> %0a> I need someone to fix this to "We can host it" or "We can code it":%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a> %0a> https://wiki.ircnow.org/uploads/Users/rosie.png%0a> (:if false:)%0a> Let's change this to "HOST" and replace the photo:%0a> %0a> https://upload.wikimedia.org/wikipedia/en/5/55/Barack_Obama_Hope_poster.jpg%0a> %0a> Make IRC Great Again:%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a> (:ifend:)%0a> Attach:iwojima.png%0a> %0a> Liberty Shells -- Proclaim LIBERTY Throughout all the LAN to all the Users Thereof%0a> %0a> Let freedom beep%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a> %0a> [[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a> %0a> Chat Free or Die (Chat Free or Try) -- this one may get us into trouble so we may want to use the milder second one%0a> %0a> Attach:livefreeordie.jpg%0a> %0a> [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a> %0a> Sic semper PHB (Thus always to pointy haired boss)%0a> %0a> [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a> %0a> Come and Hack It%0a> %0a> Attach:comeandtakeit.png%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a> %0a> Installing the server on a new continent%0a> %0a> https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a> %0a> ''United We Serve''%0a> %0a> [[https://en.wikipedia.org/wiki/United_we_stand]]%0a> %0a> "LAN of the free and /home of the brave"%0a> %0a> https://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a> %0a> This LAN was made for you and me%0a> or%0a> This net was made for you and me%0a> %0a> https://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a> %0a +host:1613023000=198.251.81.119 +author:1613020997=jrmu +diff:1613020997:1613020596:=250,275c250%0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/victory-garden-209x300.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_12.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_07.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_22.jpg%0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_23.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_26.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_31.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_36.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_39.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_42.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_45.jpg%0a%3c %0a%3c https://www.warhistoryonline.com/wp-content/uploads/2019/04/antislavery-engraving-from-the-american-anti-slavery-almanac-1840.jpg%0a%3c %0a%3c https://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-confederate-states-of-america-floyd-county-virginia-february-1862-436x640.jpg%0a%3c %0a%3c https://www.warhistoryonline.com/wp-content/uploads/2019/04/recruiting-poster-for-the-179th-pennsylvania-infantry-regiment-commanding-officer-capt-bill-yerkes-507x640.jpg%0a\ No newline at end of file%0a---%0a> https://pearlharborwarbirds.com/wp-content/uploads/2018/03/victory-garden-209x300.jpg%0a\ No newline at end of file%0a +host:1613020997=125.224.26.71 +author:1613020596=jrmu +diff:1613020596:1613019905:=240,250c240%0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_43.jpg%0a%3c %0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/avenge-pearl-harbor-205x300.jpg%0a%3c %0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/join-navy-200x300.jpg%0a%3c %0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/Rationing-212x300.jpg%0a%3c %0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/save-on-gas-211x300.jpg%0a%3c %0a%3c https://pearlharborwarbirds.com/wp-content/uploads/2018/03/victory-garden-209x300.jpg%0a\ No newline at end of file%0a---%0a> https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_43.jpg%0a\ No newline at end of file%0a +host:1613020596=125.224.26.71 +author:1613019905=jrmu +diff:1613019905:1613019851:=238,240c238%0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_43.jpg%0a\ No newline at end of file%0a---%0a> https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a\ No newline at end of file%0a +host:1613019905=125.224.26.71 +author:1613019851=jrmu +diff:1613019851:1613018931:=226,238c226%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/keep-them-ringing.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_01.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_09.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_42.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_06.jpg%0a%3c %0a%3c https://speckyboy.com/wp-content/uploads/2018/10/poster-propoganda_38.jpg%0a\ No newline at end of file%0a---%0a> https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/keep-them-ringing.jpg%0a\ No newline at end of file%0a +host:1613019851=125.224.26.71 +author:1613018931=jrmu +diff:1613018931:1613018861:=224,226c224%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/victory-garden-vegetables.jpg%0a%3c %0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/keep-them-ringing.jpg%0a\ No newline at end of file%0a---%0a> https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/victory-garden-vegetables.jpg%0a\ No newline at end of file%0a +host:1613018931=125.224.26.71 +author:1613018861=jrmu +diff:1613018861:1613018833:=222,224c222%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/together-we-win.jpg%0a%3c %0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/victory-garden-vegetables.jpg%0a\ No newline at end of file%0a---%0a> https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/together-we-win.jpg%0a\ No newline at end of file%0a +host:1613018861=125.224.26.71 +author:1613018833=jrmu +diff:1613018833:1613018712:=220,222c220%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/the-nazis-burned-these-books.jpg%0a%3c %0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/together-we-win.jpg%0a\ No newline at end of file%0a---%0a> https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/the-nazis-burned-these-books.jpg%0a\ No newline at end of file%0a +host:1613018833=125.224.26.71 +author:1613018712=jrmu +diff:1613018712:1613018664:=218,220c218%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/soldier-greeting-workers.jpg%0a%3c %0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/the-nazis-burned-these-books.jpg%0a\ No newline at end of file%0a---%0a> https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/soldier-greeting-workers.jpg%0a\ No newline at end of file%0a +host:1613018712=125.224.26.71 +author:1613018664=jrmu +diff:1613018664:1613018569:=216,218c216%0a%3c comes from wikimedia commons%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/do-you-know-him.jpg%0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/soldier-greeting-workers.jpg%0a\ No newline at end of file%0a---%0a> comes from wikimedia commons%0a\ No newline at end of file%0a +host:1613018664=125.224.26.71 +author:1613018569=jrmu +diff:1613018569:1612952170:=214,216d213%0a%3c %0a%3c https://allthatsinteresting.com/wordpress/wp-content/uploads/2017/07/theyve-got-the-guts.jpg%0a%3c comes from wikimedia commons%0a\ No newline at end of file%0a +host:1613018569=125.224.26.71 +author:1612952170=jrmu +diff:1612952170:1612885331:=211,213c211%0a%3c Attach:gazette.jpg%0a%3c %0a%3c IT Joe, an all-unix coding hero%0a---%0a> Attach:gazette.jpg%0a\ No newline at end of file%0a +host:1612952170=198.251.81.119 +author:1612885331=jrmu +diff:1612885331:1612874997:=209,211c209%0a%3c Each channel should have its own town crier, not eggdrop%0a%3c %0a%3c Attach:gazette.jpg%0a\ No newline at end of file%0a---%0a> Each channel should have its own town crier, not eggdrop%0a\ No newline at end of file%0a +host:1612885331=198.251.81.119 +author:1612874997=jrmu +diff:1612874997:1612763048:=207,209c207%0a%3c Attach:tread.jpg%0a%3c %0a%3c Each channel should have its own town crier, not eggdrop%0a\ No newline at end of file%0a---%0a> Attach:tread.jpg%0a\ No newline at end of file%0a +host:1612874997=125.231.27.112 +author:1612763048=jrmu +diff:1612763048:1612662635:=205,207c205%0a%3c Attach:ponyexpress.jpg%0a%3c %0a%3c Attach:tread.jpg%0a\ No newline at end of file%0a---%0a> Attach:ponyexpress.jpg%0a\ No newline at end of file%0a +host:1612763048=198.251.81.119 +author:1612662635=jrmu +diff:1612662635:1612612021:=201,205c201,203%0a%3c Attach:unitedweserve.jpg%0a%3c %0a%3c United We Serve, Divided We Fault%0a%3c %0a%3c Attach:ponyexpress.jpg%0a\ No newline at end of file%0a---%0a> Attach:Marketing/unitedweserve.jpg%0a> %0a> United We Serve, Divided We Fault%0a\ No newline at end of file%0a +host:1612662635=198.251.81.119 +author:1612612021=jrmu +diff:1612612021:1612611972:=193,201c193,195%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0a%3c Attach:Marketing/congress.jpg%0a%3c %0a%3c Learn to Fly:%0a%3c %0a%3c https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a%3c %0a%3c Attach:Marketing/unitedweserve.jpg%0a---%0a> Battle_of_New_Orleans.jpgAttach:Marketing/congress.jpg%0a> %0a> Attach:unitedwestand.png%0a +host:1612612021=198.251.81.119 +author:1612611972=jrmu +diff:1612611972:1612611646:=193,197c193,201%0a%3c Battle_of_New_Orleans.jpgAttach:Marketing/congress.jpg%0a%3c %0a%3c Attach:unitedwestand.png%0a%3c %0a%3c United We Serve, Divided We Fault%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0a> Attach:Marketing/congress.jpg%0a> %0a> Learn to Fly:%0a> %0a> https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a> %0a> Attach:unitedwestand.png%0a\ No newline at end of file%0a +host:1612611972=198.251.81.119 +author:1612611646=jrmu +diff:1612611646:1612577127:=199,201c199%0a%3c https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a%3c %0a%3c Attach:unitedwestand.png%0a\ No newline at end of file%0a---%0a> https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a\ No newline at end of file%0a +host:1612611646=198.251.81.119 +author:1612577127=jrmu +diff:1612577127:1612531026:=3,5d2%0a%3c (:if false:)%0a%3c [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0a%3c It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0a10,11c7,9%0a%3c (:ifend:)%0a%3c %0a---%0a> [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0a> %0a> It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0a +host:1612577127=198.251.81.119 +author:1612531026=jrmu +diff:1612531026:1612528170:=164d163%0a%3c Attach:wanted.jpg%0a +host:1612531026=125.231.56.15 +author:1612528170=jrmu +diff:1612528170:1612525189:=98c98%0a%3c Attach:herdquit.jpg%0a---%0a> Attach:HerdQuit.jpg%0a +host:1612528170=125.231.56.15 +author:1612525189=jrmu +diff:1612525189:1612510077:=192d191%0a%3c Attach:Marketing/congress.jpg%0a +host:1612525189=198.251.81.119 +author:1612510077=jrmu +diff:1612510077:1612406617:=130,133d129%0a%3c Attach:Marketing/assembly.jpg%0a%3c Attach:Marketing/modelt.jpg%0a%3c Attach:Marketing/firstflight.jpg%0a%3c Attach:Marketing/phonograph.jpg%0a +host:1612510077=198.251.81.119 +author:1612406617=jrmu +diff:1612406617:1611890338:=187,191c187%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0a%3c %0a%3c Learn to Fly:%0a%3c %0a%3c https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjRnZpkXfnEs2BjDrpn5yZi4B56esqQo78Sw&usqp=CAU%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0a\ No newline at end of file%0a +host:1612406617=125.231.56.15 +author:1611890338=jrmu +diff:1611890338:1611890312:=118a119%0a> https://upload.wikimedia.org/wikipedia/commons/f/f1/Press_skeen_1872_with_description.png%0a +host:1611890338=125.231.24.226 +author:1611890312=jrmu +diff:1611890312:1611890052:=48a49%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Actual_DEC_UNIX_License_Plate_DSC_0317.jpg/800px-Actual_DEC_UNIX_License_Plate_DSC_0317.jpg%0a +host:1611890312=125.231.24.226 +author:1611890052=jrmu +diff:1611890052:1611889457:=121d120%0a%3c Attach:press.png%0a +host:1611890052=125.231.24.226 +author:1611889457=jrmu +diff:1611889457:1611888366:=48d47%0a%3c Attach:livefreeordie.jpg%0a +host:1611889457=125.231.24.226 +author:1611888366=jrmu +diff:1611888366:1611888351:= +host:1611888366=125.231.24.226 +author:1611888351=jrmu +diff:1611888351:1611888075:=111,112d110%0a%3c Attach:thanksgiving.jpg%0a%3c (:if false:)%0a114d111%0a%3c (:ifend:)%0a +host:1611888351=125.231.24.226 +author:1611888075=jrmu +diff:1611888075:1611887899:=183,184c183%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg/1200px-Declaration_of_Independence_%25281819%2529%252C_by_John_Trumbull.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0a\ No newline at end of file%0a +host:1611888075=125.231.24.226 +author:1611887899=jrmu +diff:1611887899:1611886769:=181,183c181%0a%3c https://upload.wikimedia.org/wikipedia/commons/4/4b/Phillis_wheatley_frontpiece_1834.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Battle_of_New_Orleans.jpg/1200px-Battle_of_New_Orleans.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/4/4b/Phillis_wheatley_frontpiece_1834.jpg%0a\ No newline at end of file%0a +host:1611887899=125.231.24.226 +author:1611886769=jrmu +diff:1611886769:1611812206:=166c166%0a%3c Attach:learntoread.jpg%0a---%0a> https://0x0.st/--Lx.jpg%0a +host:1611886769=125.231.24.226 +author:1611812206=jrmu +diff:1611812206:1611793647:=179,181c179%0a%3c http://www.benjamin-franklin-history.org/wp-content/uploads/2016/02/Library-Company-of-Philadelphia.-Charles-Mills-murals.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/4/4b/Phillis_wheatley_frontpiece_1834.jpg%0a\ No newline at end of file%0a---%0a> http://www.benjamin-franklin-history.org/wp-content/uploads/2016/02/Library-Company-of-Philadelphia.-Charles-Mills-murals.jpg%0a\ No newline at end of file%0a +host:1611812206=125.231.24.226 +author:1611793647=jrmu +diff:1611793647:1611750402:=176,179c176%0a%3c https://ae01.alicdn.com/kf/HTB1WW_YosnI8KJjSspeq6AwIpXa1/Do-your-part-keep-them-flying-Airforce-US-Propaganda-WW2-Flag-Vintage-Poster-Decorative-DIY-Wall.jpg%0a%3c %0a%3c https://historyofinformation.com/images/BenjaminFranklin-014.jpg%0a%3c http://www.benjamin-franklin-history.org/wp-content/uploads/2016/02/Library-Company-of-Philadelphia.-Charles-Mills-murals.jpg%0a\ No newline at end of file%0a---%0a> https://ae01.alicdn.com/kf/HTB1WW_YosnI8KJjSspeq6AwIpXa1/Do-your-part-keep-them-flying-Airforce-US-Propaganda-WW2-Flag-Vintage-Poster-Decorative-DIY-Wall.jpg%0a\ No newline at end of file%0a +host:1611793647=125.231.24.226 +author:1611750402=jrmu +diff:1611750402:1611675148:=175,176d174%0a%3c %0a%3c https://ae01.alicdn.com/kf/HTB1WW_YosnI8KJjSspeq6AwIpXa1/Do-your-part-keep-them-flying-Airforce-US-Propaganda-WW2-Flag-Vintage-Poster-Decorative-DIY-Wall.jpg%0a\ No newline at end of file%0a +host:1611750402=125.231.24.226 +author:1611675148=jrmu +diff:1611675148:1611668681:=172,174c172%0a%3c # with liberty and justice for all%0a%3c # one network under God%0a%3c # In God we trust%0a---%0a> %0a +host:1611675148=125.231.20.163 +author:1611668681=jrmu +diff:1611668681:1611666218:=169,171d168%0a%3c %0a%3c Ask not what your network can do for you, ask what you can do for your network%0a%3c %0a +host:1611668681=125.231.20.163 +author:1611666218=jrmu +diff:1611666218:1611666152:=143d142%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Improved_no2_Wagon.jpg/749px-Improved_no2_Wagon.jpg%0a +host:1611666218=125.231.20.163 +author:1611666152=jrmu +diff:1611666152:1611665656:=137d136%0a%3c https://upload.wikimedia.org/wikipedia/commons/a/a0/EdisonPhonograph.jpg%0a +host:1611666152=125.231.20.163 +author:1611665656=jrmu +diff:1611665656:1611665521:=141d140%0a%3c https://upload.wikimedia.org/wikipedia/commons/d/de/Ferris-wheel.jpg%0a +host:1611665656=125.231.20.163 +author:1611665521=jrmu +diff:1611665521:1611665284:=140,141c140%0a%3c https://upload.wikimedia.org/wikipedia/commons/8/80/Edison_incandescent_lights.jpg%0a%3c %0a---%0a> %0a165,166c164%0a%3c https://upload.wikimedia.org/wikipedia/commons/5/56/LincolnTrain.jpeg%0a%3c %0a---%0a> https://upload.wikimedia.org/wikipedia/commons/5/56/LincolnTrain.jpeg%0a\ No newline at end of file%0a +host:1611665521=125.231.20.163 +author:1611665284=jrmu +diff:1611665284:1611665130:=162,164c162%0a%3c https://0x0.st/--Lx.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/5/56/LincolnTrain.jpeg%0a\ No newline at end of file%0a---%0a> https://0x0.st/--Lx.jpg%0a\ No newline at end of file%0a +host:1611665284=125.231.20.163 +author:1611665130=jrmu +diff:1611665130:1611664687:=159,162c159%0a%3c https://upload.wikimedia.org/wikipedia/commons/d/de/FalloftheAlamo.jpg%0a%3c %0a%3c Learn to Code%0a%3c https://0x0.st/--Lx.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/d/de/FalloftheAlamo.jpg%0a\ No newline at end of file%0a +host:1611665130=125.231.20.163 +author:1611664687=jrmu +diff:1611664687:1611664345:=139d138%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Viking_Pre-Launch_Test_Flight_-_GPN-2003-00047.jpg/480px-Viking_Pre-Launch_Test_Flight_-_GPN-2003-00047.jpg%0a +host:1611664687=125.231.20.163 +author:1611664345=jrmu +diff:1611664345:1611663506:=27c27%0a%3c (:if false:)%0a---%0a> %0a31a32,33%0a> Attach:iwojima.png%0a> %0a35,36d36%0a%3c (:ifend:)%0a%3c Attach:iwojima.png%0a +host:1611664345=125.231.20.163 +author:1611663506=jrmu +diff:1611663506:1611662523:=138d137%0a%3c https://upload.wikimedia.org/wikipedia/commons/6/6d/FWPNW026HobokenNJSA0266.jpg%0a +host:1611663506=125.231.20.163 +author:1611662523=jrmu +diff:1611662523:1611662423:=136d135%0a%3c https://upload.wikimedia.org/wikipedia/commons/9/9c/J38TelegraphKey.jpg%0a +host:1611662523=125.231.20.163 +author:1611662423=jrmu +diff:1611662423:1611662365:=136d135%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/5/55/Apollo_11_lunar_module_%2528cropped%2529.jpg/504px-Apollo_11_lunar_module_%2528cropped%2529.jpg%0a +host:1611662423=125.231.20.163 +author:1611662365=jrmu +diff:1611662365:1611662166:=135d134%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/East_and_West_Shaking_hands_at_the_laying_of_last_rail_Union_Pacific_Railroad_-_Restoration.jpg/1182px-East_and_West_Shaking_hands_at_the_laying_of_last_rail_Union_Pacific_Railroad_-_Restoration.jpg%0a +host:1611662365=125.231.20.163 +author:1611662166=jrmu +diff:1611662166:1611661853:=121,123d120%0a%3c %0a%3c 40GB and a core%0a%3c instead of 40 acres and a mule%0a +host:1611662166=125.231.20.163 +author:1611661853=jrmu +diff:1611661853:1611661310:=131d130%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/International_Morse_Code.svg/675px-International_Morse_Code.svg.png%0a +host:1611661853=125.231.20.163 +author:1611661310=jrmu +diff:1611661310:1611660663:=130d129%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Edison_and_phonograph_edit1.jpg/476px-Edison_and_phonograph_edit1.jpg%0a +host:1611661310=125.231.20.163 +author:1611660663=jrmu +diff:1611660663:1611660645:=129d128%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Ford_assembly_line_-_1913.jpg/679px-Ford_assembly_line_-_1913.jpg%0a +host:1611660663=125.231.20.163 +author:1611660645=jrmu +diff:1611660645:1611659719:=125,129c125,127%0a%3c https://upload.wikimedia.org/wikipedia/commons/f/fd/Mule-jenny.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/1/15/Spinning_Jenny_improved_203_Marsden.png%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Wright_First_Flight_1903Dec17_%2528full_restore_115%2529.jpg/800px-Wright_First_Flight_1903Dec17_%2528full_restore_115%2529.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/7/74/1910Ford-T.jpg%0a%3c %0a---%0a> https://en.wikipedia.org/wiki/File:Mule-jenny.jpg%0a> https://en.wikipedia.org/wiki/File:Spinning_Jenny_improved_203_Marsden.png%0a> %0a142a141%0a> %0a +host:1611660645=125.231.20.163 +author:1611659719=jrmu +diff:1611659719:1611657246:= +host:1611659719=125.231.20.163 +author:1611657246=jrmu +diff:1611657246:1611657150:=125,127c125,127%0a%3c https://en.wikipedia.org/wiki/File:Mule-jenny.jpg%0a%3c https://en.wikipedia.org/wiki/File:Spinning_Jenny_improved_203_Marsden.png%0a%3c %0a---%0a> https://upload.wikimedia.org/wikipedia/commons/f/fd/Mule-jenny.jpg%0a> https://upload.wikimedia.org/wikipedia/commons/1/15/Spinning_Jenny_improved_203_Marsden.png%0a> %0a138,142d137%0a%3c EFNet Wild West -- ddoser wanted doxed or alive%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Wilkes_Booth_wanted_poster_new.jpg%0a%3c %0a%3c %0a147c142%0a%3c https://upload.wikimedia.org/wikipedia/commons/d/de/FalloftheAlamo.jpg%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/File:FalloftheAlamo.jpg%0a\ No newline at end of file%0a +host:1611657246=125.231.20.163 +author:1611657150=jrmu +diff:1611657150:1611657113:=136c136%0a%3c https://upload.wikimedia.org/wikipedia/commons/5/52/Boston_Tea_Party_Currier_colored.jpg%0a---%0a> https://en.wikipedia.org/wiki/File:Boston_Tea_Party_Currier_colored.jpg%0a +host:1611657150=125.231.20.163 +author:1611657113=jrmu +diff:1611657113:1611644158:=125,127c125,127%0a%3c https://upload.wikimedia.org/wikipedia/commons/f/fd/Mule-jenny.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/1/15/Spinning_Jenny_improved_203_Marsden.png%0a%3c %0a---%0a> https://en.wikipedia.org/wiki/File:Mule-jenny.jpg%0a> https://en.wikipedia.org/wiki/File:Spinning_Jenny_improved_203_Marsden.png%0a> %0a136a137%0a> %0a +host:1611657113=125.231.20.163 +author:1611644158=jrmu +diff:1611644158:1611644091:= +host:1611644158=125.231.20.163 +author:1611644091=jrmu +diff:1611644091:1611644075:=142,143d141%0a%3c %0a%3c https://en.wikipedia.org/wiki/File:FalloftheAlamo.jpg%0a\ No newline at end of file%0a +host:1611644091=125.231.20.163 +author:1611644075=jrmu +diff:1611644075:1611644045:=125,126d124%0a%3c https://en.wikipedia.org/wiki/File:Mule-jenny.jpg%0a%3c https://en.wikipedia.org/wiki/File:Spinning_Jenny_improved_203_Marsden.png%0a +host:1611644075=125.231.20.163 +author:1611644045=jrmu +diff:1611644045:1611643988:=122,123d121%0a%3c Made on IRC%0a%3c %0a125,127d122%0a%3c %0a%3c Support the War effort against Silicon Valley%0a%3c %0a131,139c126%0a%3c %0a%3c Throw nonfree software overboard%0a%3c %0a%3c https://en.wikipedia.org/wiki/File:Boston_Tea_Party_Currier_colored.jpg%0a%3c %0a%3c %0a%3c buy a copy of poor rtalk's almanac%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Poor_Richard_Almanack_1739.jpg/379px-Poor_Richard_Almanack_1739.jpg%0a---%0a> https://en.wikipedia.org/wiki/File:Boston_Tea_Party_Currier_colored.jpg%0a\ No newline at end of file%0a +host:1611644045=125.231.20.163 +author:1611643988=jrmu +diff:1611643988:1611643964:=125,126c125%0a%3c https://www.empirecenter.org/wp-content/uploads/2011/09/liberty-bond-poster2.jpg%0a%3c https://en.wikipedia.org/wiki/File:Boston_Tea_Party_Currier_colored.jpg%0a\ No newline at end of file%0a---%0a> https://www.empirecenter.org/wp-content/uploads/2011/09/liberty-bond-poster2.jpg%0a\ No newline at end of file%0a +host:1611643988=125.231.20.163 +author:1611643964=jrmu +diff:1611643964:1611643898:=122,125c122%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Cotton_gin_EWM_2007.jpg/1200px-Cotton_gin_EWM_2007.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/a/a7/Liberty_Bond_-_13.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/c/cf/Liberty_Bond_-_10.jpg%0a%3c https://www.empirecenter.org/wp-content/uploads/2011/09/liberty-bond-poster2.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Cotton_gin_EWM_2007.jpg/1200px-Cotton_gin_EWM_2007.jpg%0a\ No newline at end of file%0a +host:1611643964=125.231.20.163 +author:1611643898=jrmu +diff:1611643898:1611584760:=120,122c120%0a%3c Attach:oregontrail.png%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Cotton_gin_EWM_2007.jpg/1200px-Cotton_gin_EWM_2007.jpg%0a\ No newline at end of file%0a---%0a> Attach:oregontrail.png%0a\ No newline at end of file%0a +host:1611643898=125.231.20.163 +author:1611584760=jrmu +diff:1611584760:1611583842:=119,120c119%0a%3c Attach:willamette.png%0a%3c Attach:oregontrail.png%0a\ No newline at end of file%0a---%0a> Attach:willamette.png%0a\ No newline at end of file%0a +host:1611584760=125.231.20.163 +author:1611583842=jrmu +diff:1611583842:1611505339:=117,119c117%0a%3c https://upload.wikimedia.org/wikipedia/en/c/c9/Lewis_%2526_Clark_stamp_2004.jpg%0a%3c %0a%3c Attach:willamette.png%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/en/c/c9/Lewis_%2526_Clark_stamp_2004.jpg%0a\ No newline at end of file%0a +host:1611583842=125.231.20.163 +author:1611505339=jrmu +diff:1611505339:1611504653:=12d11%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Minuteman_Patriot_%2528American_Revolution%2529.svg/292px-Minuteman_Patriot_%2528American_Revolution%2529.svg.png%0a +host:1611505339=125.231.20.163 +author:1611504653=jrmu +diff:1611504653:1611503083:=115,116c115%0a%3c https://upload.wikimedia.org/wikipedia/commons/f/f1/Press_skeen_1872_with_description.png%0a%3c https://upload.wikimedia.org/wikipedia/en/c/c9/Lewis_%2526_Clark_stamp_2004.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/f/f1/Press_skeen_1872_with_description.png%0a\ No newline at end of file%0a +host:1611504653=125.231.20.163 +author:1611503083=jrmu +diff:1611503083:1611502959:=115d114%0a%3c https://upload.wikimedia.org/wikipedia/commons/f/f1/Press_skeen_1872_with_description.png%0a\ No newline at end of file%0a +host:1611503083=125.231.20.163 +author:1611502959=jrmu +diff:1611502959:1611499744:=107,114c107%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1188px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/2/2c/Landing-Bacon.PNG%0a%3c https://upload.wikimedia.org/wikipedia/commons/9/98/Thanksgiving-Brownscombe.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/b/b4/Boone%2527s_First_View_of_Kentucky.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/American_Progress_%2528John_Gast_painting%2529.jpg/1200px-American_Progress_%2528John_Gast_painting%2529.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/California_Clipper_500.jpg/1200px-California_Clipper_500.jpg%0a%3c https://upload.wikimedia.org/wikipedia/commons/f/f7/California_diamond_jubilee_half_dollar_commemorative_obverse.jpg%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1188px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a\ No newline at end of file%0a +host:1611502959=125.231.20.163 +author:1611499744=jrmu +diff:1611499744:1611499722:=105,107c105%0a%3c https://d3ao8sz5crj5i0.cloudfront.net/moon-landing-apollo-11-07.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1188px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a\ No newline at end of file%0a---%0a> https://d3ao8sz5crj5i0.cloudfront.net/moon-landing-apollo-11-07.jpg%0a\ No newline at end of file%0a +host:1611499744=125.231.20.163 +author:1611499722=jrmu +diff:1611499722:1611494158:=103,105c103%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg/777px-Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg%0a%3c %0a%3c https://d3ao8sz5crj5i0.cloudfront.net/moon-landing-apollo-11-07.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg/777px-Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg%0a\ No newline at end of file%0a +host:1611499722=125.231.20.163 +author:1611494158=jrmu +diff:1611494158:1611493264:=103d102%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg/777px-Emanuel_Leutze_-_Westward_the_Course_of_Empire_Takes_Its_Way_-_Smithsonian.jpg%0a\ No newline at end of file%0a +host:1611494158=125.231.20.163 +author:1611493264=jrmu +diff:1611493264:1611492544:=99,102c99,101%0a%3c Made on IRC (this image is copyrighted so don't use it directly)%0a%3c %0a%3c Attach:madeonirc.jpg%0a%3c %0a---%0a> Made on IRC%0a> %0a> Attach:madeonirc.jpg%0a\ No newline at end of file%0a +host:1611493264=125.231.20.163 +author:1611492544=jrmu +diff:1611492544:1611490453:=97,101c97%0a%3c Attach:HerdQuit.jpg%0a%3c %0a%3c Made on IRC%0a%3c %0a%3c Attach:madeonirc.jpg%0a\ No newline at end of file%0a---%0a> Attach:HerdQuit.jpg%0a\ No newline at end of file%0a +host:1611492544=125.231.20.163 +author:1611490453=jrmu +diff:1611490453:1611455579:=95,97c95%0a%3c Rename customer support team to the Sons of Liberty%0a%3c %0a%3c Attach:HerdQuit.jpg%0a\ No newline at end of file%0a---%0a> Rename customer support team to the Sons of Liberty%0a\ No newline at end of file%0a +host:1611490453=125.231.20.163 +author:1611455579=jrmu +diff:1611455579:1611455415:=56,57d55%0a%3c %0a%3c Attach:comeandtakeit.png%0a +host:1611455579=125.231.20.163 +author:1611455415=jrmu +diff:1611455415:1611455375:=25c25,26%0a%3c https://wiki.ircnow.org/uploads/Users/rosie.png%0a---%0a> %25rframe%25%0a> Attach:rosie.png%0a +host:1611455415=125.231.20.163 +author:1611455375=jrmu +diff:1611455375:1611455158:=26c26%0a%3c Attach:rosie.png%0a---%0a> Attach:rosie-1.png%0a +host:1611455375=125.231.20.163 +author:1611455158=jrmu +diff:1611455158:1611455006:=31,32d30%0a%3c %0a%3c Attach:iwojima.png%0a +host:1611455158=125.231.20.163 +author:1611455006=jrmu +diff:1611455006:1611454786:=25,26c25%0a%3c %25rframe%25%0a%3c Attach:rosie-1.png%0a---%0a> %25rframe%25 Attach:rosie-1.png%0a +host:1611455006=125.231.20.163 +author:1611454786=jrmu +diff:1611454786:1610259859:=10,11d9%0a%3c %0a%3c Attach:minutemin.png%0a +host:1611454786=125.231.20.163 +author:1610259859=jrmu +diff:1610259859:1610259376:=87,89c87%0a%3c https://en.wikipedia.org/wiki/New_Colossus%0a%3c %0a%3c Rename customer support team to the Sons of Liberty%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/New_Colossus%0a\ No newline at end of file%0a +host:1610259859=125.224.19.86 +author:1610259376=jrmu +diff:1610259376:1606533168:=54,57d53%0a%3c %0a%3c Installing the server on a new continent%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg/1584px-Raising_the_Flag_on_Iwo_Jima%252C_larger_-_edit1.jpg%0a +host:1610259376=125.224.19.86 +author:1606533168=searchsocial +diff:1606533168:1606533150:=23c23,24%0a%3c %25rframe%25 Attach:rosie-1.png%0a---%0a> %25rframe%25 %0a> Attach:rosie-1.png%0a +host:1606533168=198.251.81.119 +author:1606533150=searchsocial +diff:1606533150:1606533125:=23,24c23%0a%3c %25rframe%25 %0a%3c Attach:rosie-1.png%0a---%0a> %25rframe%25 Attach:rosie-1.png%0a +host:1606533150=198.251.81.119 +author:1606533125=searchsocial +diff:1606533125:1606531235:=22,23d21%0a%3c %0a%3c %25rframe%25 Attach:rosie-1.png%0a +host:1606533125=198.251.81.119 +author:1606531235=jrmu +diff:1606531235:1606490239:=32,33d31%0a%3c %0a%3c Let freedom beep%0a +host:1606531235=198.251.81.119 +author:1606490239=jrmu +diff:1606490239:1606490114:=43c43%0a%3c Sic semper PHB (Thus always to pointy haired boss)%0a---%0a> Sic semper BOFH (Thus always to BOFH) -- this one has profanity so I may not want to promote it%0a +host:1606490239=198.251.81.119 +author:1606490114=jrmu +diff:1606490114:1606459137:=43c43%0a%3c Sic semper BOFH (Thus always to BOFH) -- this one has profanity so I may not want to promote it%0a---%0a> Sic semper BDFLs (Thus always to software tyrants) -- this one may get us into trouble so I may not want to promote it%0a +host:1606490114=198.251.81.119 +author:1606459137=jrmu +diff:1606459137:1606447682:=43c43%0a%3c Sic semper BDFLs (Thus always to software tyrants) -- this one may get us into trouble so I may not want to promote it%0a---%0a> Sic semper propraetus? (Thus always to proprietors?) -- this one may get us into trouble so I may not want to promote it%0a +host:1606459137=198.251.81.119 +author:1606447682=jrmu +diff:1606447682:1606447226:=12,13d11%0a%3c %0a%3c https://constitutionus.com/images/we_the_people.jpg%0a +host:1606447682=198.251.81.119 +author:1606447226=jrmu +diff:1606447226:1606447196:=69d68%0a%3c [@%0a75d73%0a%3c @]%0a +host:1606447226=198.251.81.119 +author:1606447196=jrmu +diff:1606447196:1606446788:=67,75c67%0a%3c One Network Under God%0a%3c %0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The Linux users and those from Tor.%0a%3c Send the accountless, shadowbanned to me,%0a%3c I open my ports on the firewall door!"%0a%3c %0a%3c https://en.wikipedia.org/wiki/New_Colossus%0a\ No newline at end of file%0a---%0a> One Network Under God%0a\ No newline at end of file%0a +host:1606447196=198.251.81.119 +author:1606446788=jrmu +diff:1606446788:1606446557:=63,67c63%0a%3c IRCNow and Forever!!%0a%3c %0a%3c In God We Trust%0a%3c %0a%3c One Network Under God%0a\ No newline at end of file%0a---%0a> IRCNow and Forever!!%0a\ No newline at end of file%0a +host:1606446788=198.251.81.119 +author:1606446557=jrmu +diff:1606446557:1606446498:=61,63c61%0a%3c https://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a%3c %0a%3c IRCNow and Forever!!%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a\ No newline at end of file%0a +host:1606446557=198.251.81.119 +author:1606446498=jrmu +diff:1606446498:1606446454:=55,61c55%0a%3c https://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a%3c %0a%3c This LAN was made for you and me%0a%3c or%0a%3c This net was made for you and me%0a%3c %0a%3c https://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a\ No newline at end of file%0a---%0a> https://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a\ No newline at end of file%0a +host:1606446498=198.251.81.119 +author:1606446454=jrmu +diff:1606446454:1606446276:=47,55c47%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a%3c %0a%3c ''United We Serve''%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/United_we_stand]]%0a%3c %0a%3c "LAN of the free and /home of the brave"%0a%3c %0a%3c https://en.wikipedia.org/wiki/The_Star-Spangled_Banner%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a\ No newline at end of file%0a +host:1606446454=198.251.81.119 +author:1606446276=jrmu +diff:1606446276:1606446193:=17c17%0a%3c I need someone to fix this to "We can host it" or "We can code it":%0a---%0a> I need someone to fix this to "We can host it":%0a +host:1606446276=198.251.81.119 +author:1606446193=jrmu +diff:1606446193:1606446033:=43,47c43%0a%3c [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a%3c %0a%3c Come and Hack It%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Gonzales_Flag.JPG/800px-Gonzales_Flag.JPG%0a\ No newline at end of file%0a---%0a> [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a\ No newline at end of file%0a +host:1606446193=198.251.81.119 +author:1606446033=jrmu +diff:1606446033:1606445784:=9c9%0a%3c It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0a---%0a> It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow"%0a +host:1606446033=198.251.81.119 +author:1606445784=jrmu +diff:1606445784:1606445507:=35,36c35,36%0a%3c Chat Free or Die (Chat Free or Try) -- this one may get us into trouble so we may want to use the milder second one%0a%3c %0a---%0a> Chat Free or Die (Chat Free or Try)%0a> %0a39,43c39%0a%3c [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a%3c %0a%3c Sic semper propraetus? (Thus always to proprietors?) -- this one may get us into trouble so I may not want to promote it%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/Sic_semper_tyrannis|wikipedia source]]%0a\ No newline at end of file%0a---%0a> [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a\ No newline at end of file%0a +host:1606445784=198.251.81.119 +author:1606445507=jrmu +diff:1606445507:1606445061:=33,39c33%0a%3c [[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a%3c %0a%3c Chat Free or Die (Chat Free or Try)%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Actual_DEC_UNIX_License_Plate_DSC_0317.jpg/800px-Actual_DEC_UNIX_License_Plate_DSC_0317.jpg%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/Live_Free_or_Die|wikipedia source]]%0a\ No newline at end of file%0a---%0a> [[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a\ No newline at end of file%0a +host:1606445507=198.251.81.119 +author:1606445061=jrmu +diff:1606445061:1606444917:=27,33c27%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a%3c %0a%3c Liberty Shells -- Proclaim LIBERTY Throughout all the LAN to all the Users Thereof%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Liberty_Bell_2017a.jpg/940px-Liberty_Bell_2017a.jpg%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Liberty_Bell_2017a.jpg|wikipedia source]]%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a\ No newline at end of file%0a +host:1606445061=198.251.81.119 +author:1606444917=jrmu +diff:1606444917:1606444778:=9,15c9%0a%3c It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow"%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Constitution_We_the_People.jpg/640px-Constitution_We_the_People.jpg%0a%3c %0a%3c Let's change this to "We the Users"%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a---%0a> It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow".%0a +host:1606444917=198.251.81.119 +author:1606444778=jrmu +diff:1606444778:1606444704:=13,21c13%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a%3c %0a%3c Let's change this to "HOST" and replace the photo:%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/en/5/55/Barack_Obama_Hope_poster.jpg%0a%3c %0a%3c Make IRC Great Again:%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Make_America_Great_Again_hat_%252827149010964%2529.jpg/640px-Make_America_Great_Again_hat_%252827149010964%2529.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a\ No newline at end of file%0a +host:1606444778=198.251.81.119 +author:1606444704=jrmu +diff:1606444704:1606444641:=11c11%0a%3c I need someone to fix this to "We can host it":%0a---%0a> I need someone to fix this to We can host it:%0a +host:1606444704=198.251.81.119 +author:1606444641=jrmu +diff:1606444641:1606444590:=5,7c5%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/1/1d/Unclesamwantyou.jpg/578px-Unclesamwantyou.jpg%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0a---%0a> [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg]]%0a +host:1606444641=198.251.81.119 +author:1606444590=jrmu +diff:1606444590:1606444572:=5c5%0a%3c [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg]]%0a---%0a> https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg%0a +host:1606444590=198.251.81.119 +author:1606444572=jrmu +diff:1606444572:1606444450:=2,9d1%0a%3c %0a%3c Notice however that the meme above does not look as similar as the one below:%0a%3c %0a%3c https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg%0a%3c %0a%3c It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow".%0a%3c %0a%3c I need someone to fix this to We can host it:%0a +host:1606444572=198.251.81.119 +author:1606444450=jrmu +diff:1606444450:1606444405:=1,3c1%0a%3c Attach:unclesam.png%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg/463px-We_Can_Do_It%2521_NARA_535413_-_Restoration_2.jpg%0a\ No newline at end of file%0a---%0a> Attach:unclesam.png%0a\ No newline at end of file%0a +host:1606444450=198.251.81.119 +author:1606444405=jrmu +diff:1606444405:1606444381:=1c1%0a%3c Attach:unclesam.png%0a\ No newline at end of file%0a---%0a> Attach: unclesam.png%0a\ No newline at end of file%0a +host:1606444405=198.251.81.119 +author:1606444381=jrmu +diff:1606444381:1606444375:=1c1%0a%3c Attach: unclesam.png%0a\ No newline at end of file%0a---%0a> Attach unclesam.png%0a\ No newline at end of file%0a +host:1606444381=198.251.81.119 +author:1606444375=jrmu +diff:1606444375:1606444355:=1c1%0a%3c Attach unclesam.png%0a\ No newline at end of file%0a---%0a> (:attach unclesam.png:)%0a\ No newline at end of file%0a +host:1606444375=198.251.81.119 +author:1606444355=jrmu +diff:1606444355:1606444355:=1d0%0a%3c (:attach unclesam.png:)%0a\ No newline at end of file%0a +host:1606444355=198.251.81.119 blob - /dev/null blob + 7fbdf55586f3699e43ff9b948ff79301973404ab (mode 644) --- /dev/null +++ wiki.d/Marketing.Opportunity @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613022966 +host=198.251.81.119 +name=Marketing.Opportunity +rev=7 +targets= +text=[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe Linux users and those from Tor.%0aSend the accountless, shadowbanned to me,%0aI open my ports on the firewall door!"%0a@]%0a%0ahttps://en.wikipedia.org/wiki/New_Colossus%0a%0aThis LAN was made for you and me%0aor%0aThis net was made for you and me%0a%0ahttps://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/7/70/ColumbiaAmericasGreatHighway040.png +time=1613048305 +author:1613048305=jrmu +diff:1613048305:1613048296:= +host:1613048305=198.251.81.119 +author:1613048296=jrmu +diff:1613048296:1613047593:=1,10d0%0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The Linux users and those from Tor.%0a%3c Send the accountless, shadowbanned to me,%0a%3c I open my ports on the firewall door!"%0a%3c @]%0a%3c %0a%3c https://en.wikipedia.org/wiki/New_Colossus%0a%3c %0a +host:1613048296=198.251.81.119 +author:1613047593=jrmu +diff:1613047593:1613047124:=7,9c7%0a%3c https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/7/70/ColumbiaAmericasGreatHighway040.png%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a\ No newline at end of file%0a +host:1613047593=198.251.81.119 +author:1613047124=jrmu +diff:1613047124:1613047107:=7c7,9%0a%3c https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a> %0a> https://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a\ No newline at end of file%0a +host:1613047124=198.251.81.119 +author:1613047107=jrmu +diff:1613047107:1613046965:=7,9c7%0a%3c https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a%3c %0a%3c https://www.gutenberg.org/files/16960/16960-h/images/45-tb.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a\ No newline at end of file%0a +host:1613047107=198.251.81.119 +author:1613046965=jrmu +diff:1613046965:1613022966:=0a1%0a> %0a6,7d6%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/6/6e/Bierstadt_Albert_Oregon_Trail.jpg%0a\ No newline at end of file%0a +host:1613046965=198.251.81.119 +author:1613022966=jrmu +diff:1613022966:1613022966:=1,6d0%0a%3c %0a%3c This LAN was made for you and me%0a%3c or%0a%3c This net was made for you and me%0a%3c %0a%3c https://en.wikipedia.org/wiki/This_Land_Was_Made_for_You_and_Me%0a +host:1613022966=198.251.81.119 blob - /dev/null blob + 013585f5486be7e6bd43fdc983b2e969b9dcebca (mode 644) --- /dev/null +++ wiki.d/Marketing.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:93.0) Gecko/20100101 Firefox/93.0 +charset=UTF-8 +ctime=1606444337 +host=125.231.24.146 +name=Marketing.RecentChanges +rev=201 +text=* [[Marketing/Memes]] . . . December 17, 2021, at 05:12 AM by [[~jrmu]]: [==]%0a* [[Marketing/Rules]] . . . May 26, 2021, at 06:15 AM by [[~jrmu]]: [==]%0a* [[Marketing/Founders]] . . . March 20, 2021, at 01:40 AM by [[~jrmu]]: [==]%0a* [[Marketing/Marketing]] . . . March 20, 2021, at 01:39 AM by [[~jrmu]]: [==]%0a* [[Marketing/Freedom]] . . . March 15, 2021, at 01:30 PM by [[~jrmu]]: [==]%0a* [[Marketing/Recruit]] . . . March 04, 2021, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Marketing/Enterprise]] . . . February 28, 2021, at 11:52 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* [[Marketing/Opportunity]] . . . February 11, 2021, at 12:58 PM by [[~jrmu]]: [==]%0a* [[Marketing/Republic]] . . . February 11, 2021, at 06:45 AM by [[~jrmu]]: [==]%0a +time=1639717932 blob - /dev/null blob + 72a5d1d81461cac5d78563e2bd8f8f5d96c7310a (mode 644) --- /dev/null +++ wiki.d/Marketing.Recruit @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613021790 +host=198.251.81.119 +name=Marketing.Recruit +rev=10 +targets=Minutemin.Game +text=Attach:unclesam.png%0a%0a(:if false:)%0a[[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0aIt would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0aNotice however that the meme above does not look as similar as the one below:%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/1/1d/Unclesamwantyou.jpg/578px-Unclesamwantyou.jpg%0a%0a(:ifend:)%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Minuteman_Patriot_%2528American_Revolution%2529.svg/292px-Minuteman_Patriot_%2528American_Revolution%2529.svg.png%0a%0aAttach:iwojima.png%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Oer_the_ramparts_we_watch.jpg/680px-Oer_the_ramparts_we_watch.jpg%0a%0ahttps://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/In_the_face_of_obstacles_-_Courage_poster.jpg/905px-In_the_face_of_obstacles_-_Courage_poster.jpg%0a%0ahttps://fineartamerica.com/shop/posters/revolutionary+war%0a%0abelow is copyrighted, we need a copyright free%0a%0ahttps://i0.wp.com/media.criticalhit.net//2015/04/boot-camp.jpg%0a%0absd boot camp%0a%0a[[Minutemin/Game|Minutemin Game]] +time=1614850750 +author:1614850750=jrmu +diff:1614850750:1613910348:=26,28c26%0a%3c bsd boot camp%0a%3c %0a%3c [[Minutemin/Game|Minutemin Game]]%0a\ No newline at end of file%0a---%0a> bsd boot camp%0a\ No newline at end of file%0a +host:1614850750=198.251.81.119 +author:1613910348=jrmu +diff:1613910348:1613299505:=20,26c20%0a%3c https://fineartamerica.com/shop/posters/revolutionary+war%0a%3c %0a%3c below is copyrighted, we need a copyright free%0a%3c %0a%3c https://i0.wp.com/media.criticalhit.net//2015/04/boot-camp.jpg%0a%3c %0a%3c bsd boot camp%0a\ No newline at end of file%0a---%0a> https://fineartamerica.com/shop/posters/revolutionary+war%0a\ No newline at end of file%0a +host:1613910348=198.251.81.119 +author:1613299505=jrmu +diff:1613299505:1613025914:=11a12,13%0a> %0a> Attach:minutemin.png%0a +host:1613299505=198.251.81.119 +author:1613025914=jrmu +diff:1613025914:1613025906:= +host:1613025914=198.251.81.119 +author:1613025906=jrmu +diff:1613025906:1613025830:=20,22c20%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/In_the_face_of_obstacles_-_Courage_poster.jpg/905px-In_the_face_of_obstacles_-_Courage_poster.jpg%0a%3c %0a%3c https://fineartamerica.com/shop/posters/revolutionary+war%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/In_the_face_of_obstacles_-_Courage_poster.jpg/905px-In_the_face_of_obstacles_-_Courage_poster.jpg%0a\ No newline at end of file%0a +host:1613025906=198.251.81.119 +author:1613025830=jrmu +diff:1613025830:1613025815:=18,20c18%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Oer_the_ramparts_we_watch.jpg/680px-Oer_the_ramparts_we_watch.jpg%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/In_the_face_of_obstacles_-_Courage_poster.jpg/905px-In_the_face_of_obstacles_-_Courage_poster.jpg%0a\ No newline at end of file%0a---%0a> https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Oer_the_ramparts_we_watch.jpg/680px-Oer_the_ramparts_we_watch.jpg%0a\ No newline at end of file%0a +host:1613025830=198.251.81.119 +author:1613025815=jrmu +diff:1613025815:1613022099:=16,18c16%0a%3c Attach:iwojima.png%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Oer_the_ramparts_we_watch.jpg/680px-Oer_the_ramparts_we_watch.jpg%0a\ No newline at end of file%0a---%0a> Attach:iwojima.png%0a\ No newline at end of file%0a +host:1613025815=198.251.81.119 +author:1613022099=jrmu +diff:1613022099:1613022027:= +host:1613022099=198.251.81.119 +author:1613022027=jrmu +diff:1613022027:1613021790:=15,16d14%0a%3c %0a%3c Attach:iwojima.png%0a\ No newline at end of file%0a +host:1613022027=198.251.81.119 +author:1613021790=jrmu +diff:1613021790:1613021790:=1,14d0%0a%3c Attach:unclesam.png%0a%3c %0a%3c (:if false:)%0a%3c [[https://en.wikipedia.org/wiki/File:Unclesamwantyou.jpg|source]]%0a%3c It would be better if we could imitate it perfectly, but change the text to "I want you for IRCNow -- Nearest Recruiting Server"%0a%3c Notice however that the meme above does not look as similar as the one below:%0a%3c %0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/1/1d/Unclesamwantyou.jpg/578px-Unclesamwantyou.jpg%0a%3c %0a%3c (:ifend:)%0a%3c %0a%3c %0a%3c Attach:minutemin.png%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Minuteman_Patriot_%2528American_Revolution%2529.svg/292px-Minuteman_Patriot_%2528American_Revolution%2529.svg.png%0a +host:1613021790=198.251.81.119 blob - /dev/null blob + bd0c919f6b45dff4736bbdd63183cf38a2171d24 (mode 644) --- /dev/null +++ wiki.d/Marketing.Religion @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613048253 +host=198.251.81.119 +name=Marketing.Religion +rev=2 +targets= +text= +time=1613299078 +author:1613299078=jrmu +diff:1613299078:1613048253:=0a1,5%0a> IRCNow and Forever!!%0a> %0a> In God We Trust%0a> %0a> One Network Under God%0a\ No newline at end of file%0a +host:1613299078=198.251.81.119 +author:1613048253=jrmu +diff:1613048253:1613048253:=1,5d0%0a%3c IRCNow and Forever!!%0a%3c %0a%3c In God We Trust%0a%3c %0a%3c One Network Under God%0a\ No newline at end of file%0a +host:1613048253=198.251.81.119 blob - /dev/null blob + 401766b3edeb1818694d4a577e03a33aec5effb8 (mode 644) --- /dev/null +++ wiki.d/Marketing.Republic @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613021840 +host=198.251.81.119 +name=Marketing.Republic +rev=4 +targets= +text=https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Constitution_We_the_People.jpg/640px-Constitution_We_the_People.jpg%0a%0ahttps://constitutionus.com/images/we_the_people.jpg%0a%0aLet's change this to "We the Users"%0a%0a[[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a%0a''United We Serve''%0a%0a[[https://en.wikipedia.org/wiki/United_we_stand]]%0a +time=1613025925 +author:1613025925=jrmu +diff:1613025925:1613022733:= +host:1613025925=198.251.81.119 +author:1613022733=jrmu +diff:1613022733:1613022662:= +host:1613022733=198.251.81.119 +author:1613022662=jrmu +diff:1613022662:1613021840:=7,11c7%0a%3c [[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a%3c %0a%3c ''United We Serve''%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/United_we_stand]]%0a---%0a> [[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a\ No newline at end of file%0a +host:1613022662=198.251.81.119 +author:1613021840=jrmu +diff:1613021840:1613021840:=1,7d0%0a%3c https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Constitution_We_the_People.jpg/640px-Constitution_We_the_People.jpg%0a%3c %0a%3c https://constitutionus.com/images/we_the_people.jpg%0a%3c %0a%3c Let's change this to "We the Users"%0a%3c %0a%3c [[https://en.wikipedia.org/wiki/File:Constitution_We_the_People.jpg|wikipedia source]]%0a\ No newline at end of file%0a +host:1613021840=198.251.81.119 blob - /dev/null blob + 50cd4ab4430a62a90a5cf1a60adfa6234148a85a (mode 644) --- /dev/null +++ wiki.d/Marketing.Rules @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622009156 +host=38.81.163.143 +name=Marketing.Rules +rev=4 +targets= +text=(:title Rules of Ethical Marketing:)%0a%0a# No automated software%0a# Don't private message random strangers%0a# Stop advertising once channel ops or recipients tell you to cease%0a# Don't ban evade%0a# No harassment, no doxing%0a# Don't ban people or retaliate for disagreeing%0a%0aSuggestions: %0a%0a# Be polite and respectful -- our job is to educate%0a +time=1622009713 +title=Rules of Ethical Marketing +author:1622009713=jrmu +diff:1622009713:1622009580:=8d7%0a%3c # Don't ban people or retaliate for disagreeing%0a +host:1622009713=38.81.163.143 +author:1622009580=jrmu +diff:1622009580:1622009548:=8,10d7%0a%3c %0a%3c Suggestions: %0a%3c %0a +host:1622009580=38.81.163.143 +author:1622009548=jrmu +diff:1622009548:1622009156:=7,8d6%0a%3c # No harassment, no doxing%0a%3c # Be polite and respectful -- our job is to educate%0a +host:1622009548=38.81.163.143 +author:1622009156=jrmu +diff:1622009156:1622009156:=1,6d0%0a%3c (:title Rules of Ethical Marketing:)%0a%3c %0a%3c # No automated software%0a%3c # Don't private message random strangers%0a%3c # Stop advertising once channel ops or recipients tell you to cease%0a%3c # Don't ban evade%0a +host:1622009156=38.81.163.143 blob - /dev/null blob + bfd12641c5b3953ae11dd589a9b956abf451e04a (mode 644) --- /dev/null +++ wiki.d/Mc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +charset=UTF-8 +ctime=1636561336 +host=188.210.114.32 +name=Mc.RecentChanges +rev=7 +text=* [[Mc/Usage]] . . . November 29, 2021, at 07:53 PM by [[~mkf]]: [==]%0a +time=1638215633 blob - /dev/null blob + 62f1bd64cb39ab5ce4e9e56fd5085be7b1817d90 (mode 644) --- /dev/null +++ wiki.d/Mc.Usage @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 +author=mkf +charset=UTF-8 +csum= +ctime=1636561336 +host=188.210.114.32 +name=Mc.Usage +rev=7 +targets= +text=!! mc (Midnight Commander) Usage%0a%0a%0aThe Midnight Commander is a directory browsing and file manipulation program that provides a flexible, powerful, and convenient set of file and directory operations.%0a%0a!!! How to use it with your free shell account?%0a%0aUnfortunately under OpenBSD mc is still affected by this [[https://midnight-commander.org/ticket/3658|Midnight Commander bug]]:%0a%0a[@%0a$ mc%0a... unimplemented subshell type 1 ...%0a@]%0a%0aIn order to mitigate this bug and make possible to use 'mc' in your shell account, customize your ~/.profile by issuing the command:%0a%0a[@%0a$ cat >> ~/.profile%0aalias mc='mc -u'%0a@]%0a%0aPlease note the double >> , otherwise you will purge your ~/.profile and this will create troubles with subsequent logins to your shell account!%0a%0a%0a +time=1638215633 +author:1638215633=mkf +diff:1638215633:1638215602:=8c8%0a%3c Unfortunately under OpenBSD mc is still affected by this [[https://midnight-commander.org/ticket/3658|Midnight Commander bug]]:%0a---%0a> Unfortunately under OpenBSD mc is still affected by this [[Midnight Commander bug|https://midnight-commander.org/ticket/3658]]:%0a +host:1638215633=188.210.114.32 +author:1638215602=mkf +diff:1638215602:1636561955:=8c8%0a%3c Unfortunately under OpenBSD mc is still affected by this [[Midnight Commander bug|https://midnight-commander.org/ticket/3658]]:%0a---%0a> Unfortunately under OpenBSD mc is still affected by this Midnight Commander bug [https://midnight-commander.org/ticket/3658]:%0a +host:1638215602=188.210.114.32 +author:1636561955=starewind +csum:1636561955=Describe how to use mc in shell account +diff:1636561955:1636561530:=8c8%0a%3c Unfortunately under OpenBSD mc is still affected by this Midnight Commander bug [https://midnight-commander.org/ticket/3658]:%0a---%0a> Unfortunately under OpenBSD mc is still affected by the [[Midnight Commander bug] https://midnight-commander.org/ticket/3658]:%0a +host:1636561955=159.223.30.236 +author:1636561530=starewind +diff:1636561530:1636561451:=8c8%0a%3c Unfortunately under OpenBSD mc is still affected by the [[Midnight Commander bug] https://midnight-commander.org/ticket/3658]:%0a---%0a> Unfortunately under OpenBSD mc is still affected by the [[Midnight Commander bug]] [[https://midnight-commander.org/ticket/3658]]:%0a +host:1636561530=159.223.30.236 +author:1636561451=starewind +diff:1636561451:1636561388:=3d2%0a%3c %0a22c21%0a%3c Please note the double >> , otherwise you will purge your ~/.profile and this will create troubles with subsequent logins to your shell account!%0a---%0a> Please note the dowble >> , otherwise you will purge your ~/.profile and this will create troubles with subsequent logins to your shell account!%0a +host:1636561451=159.223.30.236 +author:1636561388=starewind +diff:1636561388:1636561336:=7c7%0a%3c Unfortunately under OpenBSD mc is still affected by the [[Midnight Commander bug]] [[https://midnight-commander.org/ticket/3658]]:%0a---%0a> Unfortunately mc under OpenBSD is still affected by the [[Midnight Commander bug]] [[https://midnight-commander.org/ticket/3658]]:%0a +host:1636561388=159.223.30.236 +author:1636561336=starewind +diff:1636561336:1636561336:=1,23d0%0a%3c !! mc (Midnight Commander) Usage%0a%3c %0a%3c The Midnight Commander is a directory browsing and file manipulation program that provides a flexible, powerful, and convenient set of file and directory operations.%0a%3c %0a%3c !!! How to use it with your free shell account?%0a%3c %0a%3c Unfortunately mc under OpenBSD is still affected by the [[Midnight Commander bug]] [[https://midnight-commander.org/ticket/3658]]:%0a%3c %0a%3c [@%0a%3c $ mc%0a%3c ... unimplemented subshell type 1 ...%0a%3c @]%0a%3c %0a%3c In order to mitigate this bug and make possible to use 'mc' in your shell account, customize your ~/.profile by issuing the command:%0a%3c %0a%3c [@%0a%3c $ cat >> ~/.profile%0a%3c alias mc='mc -u'%0a%3c @]%0a%3c %0a%3c Please note the dowble >> , otherwise you will purge your ~/.profile and this will create troubles with subsequent logins to your shell account!%0a%3c %0a%3c %0a +host:1636561336=159.223.30.236 blob - /dev/null blob + 79b76ebb3a101f68f84229cb2fea6dcda705a684 (mode 644) --- /dev/null +++ wiki.d/Mcabber.Connect @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637928444 +host=38.87.162.8 +name=Mcabber.Connect +rev=8 +targets=Cygwin.Install,Xmpp.Xmpp +text=[[https://mcabber.com/|mcabber]] is a small XMPP (Jabber) console client. It includes SASL/SSL/TLS support, multi-user chat (MUC), history logging, command completion, OpenPGP encryption, Off-the-Record (OTR) encryption, and more. It is GPL licensed and has been tested GNU/Linux, BSD, Mac OS X and Windows (using [[cygwin/install|cygwin]]).%0a%0a'''NOTE''': It is currently not possible to do in-band registration for [[xmpp/xmpp|IRCNow servers]] with mcabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with mcabber.%0a%0aAttach:mcabber.png%0a%0a!! Installing%0a%0aOn OpenBSD, you can run:%0a%0a[@%0a$ doas pkg_add mcabber%0a@]%0a%0a!! Configuration%0a%0aCreate the .mcabber folder and put in a sample mcabberrc:%0a%0a[@%0a$ mkdir ~/.mcabber%0a$ cp /usr/local/share/examples/mcabber/mcabberrc.example ~/.mcabber/mcabberrc%0a@]%0a%0aHere is a sample mcabberrc file. The only two lines you need to change are the top two. Replace @@username@ircnow.org@@ with your real jabber ID, and replace @@PASSWORD@@:%0a%0a[@%0aset jid = username@ircnow.org%0aset password = PASSWORD%0aset ignore_self_presence = 0%0aset tls = 1%0aset cmdhistory_lines = 250%0aset carbons = 1%0aset clear_unread_on_carbon = 1%0aset logging = 1%0aset load_logs = 1%0aset logging_dir = ~/.mcabber/histo/%0aset log_muc_conf = 1%0aset load_muc_logs = 1%0aset max_history_blocks = 8%0aset iq_version_hide_os = 1%0aset iq_version_hide_version = 1%0aset iq_time_hide = 1%0aset beep_on_message = 1%0aset message_autoaway = Auto-away (idle)%0aset escdelay = 50%0aset otr = 1%0aset otr_dir = "~/.mcabber/otr/"%0aotrpolicy default manual%0aalias me = say /me%0aalias online = status online%0aalias away = status away%0aalias dnd = status dnd%0aalias notavail = status notavail%0abind 17 = roster unread_next%0abind 24 = roster alternate%0abind 269 = roster toggle_offline%0abind 276 = roster toggle%0abind 521 = buffer up%0abind 514 = buffer down%0a@]%0a%0a!! Running mcabber%0a%0a[@%0a$ mcabber%0a@]%0a +time=1637933884 +author:1637933884=jrmu +diff:1637933884:1637933165:=4,5d3%0a%3c %0a%3c Attach:mcabber.png%0a +host:1637933884=38.87.162.8 +author:1637933165=jrmu +diff:1637933165:1637932307:=22,23c22,23%0a%3c Here is a sample mcabberrc file. The only two lines you need to change are the top two. Replace @@username@ircnow.org@@ with your real jabber ID, and replace @@PASSWORD@@:%0a%3c %0a---%0a> Here is a sample mcabberrc file. The only two lines you need to change are the top two. Replace @@username@ircnow.org@@ with your real jabber ID, and replace password:%0a> %0a26c26%0a%3c set password = PASSWORD%0a---%0a> set password = RANDOMPASSWORD%0a +host:1637933165=198.251.82.194 +author:1637932307=jrmu +diff:1637932307:1637931497:=3,4d2%0a%3c '''NOTE''': It is currently not possible to do in-band registration for [[xmpp/xmpp|IRCNow servers]] with mcabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with mcabber.%0a%3c %0a22,23c20,21%0a%3c Here is a sample mcabberrc file. The only two lines you need to change are the top two. Replace @@username@ircnow.org@@ with your real jabber ID, and replace password:%0a%3c %0a---%0a> Here is a sample mcabberrc file:%0a> %0a58,63d55%0a%3c @]%0a%3c %0a%3c !! Running mcabber%0a%3c %0a%3c [@%0a%3c $ mcabber%0a +host:1637932307=38.87.162.8 +author:1637931497=jrmu +diff:1637931497:1637931402:=17c17%0a%3c $ cp /usr/local/share/examples/mcabber/mcabberrc.example ~/.mcabber/mcabberrc%0a---%0a> $%0a20,21d19%0a%3c Here is a sample mcabberrc file:%0a%3c %0a23,24c21,22%0a%3c set jid = username@ircnow.org%0a%3c set password = RANDOMPASSWORD%0a---%0a> set jid = jrmu@ircnow.org%0a> set password = FBr1cb1KUsukfAUQhYc9B22vzdOTJT%0a +host:1637931497=38.87.162.8 +author:1637931402=jrmu +diff:1637931402:1637929016:=13,14d12%0a%3c Create the .mcabber folder and put in a sample mcabberrc:%0a%3c %0a16,23c14,16%0a%3c $ mkdir ~/.mcabber%0a%3c $%0a%3c @]%0a%3c %0a%3c [@%0a%3c set jid = jrmu@ircnow.org%0a%3c set password = FBr1cb1KUsukfAUQhYc9B22vzdOTJT%0a%3c set ignore_self_presence = 0%0a---%0a> # Please provide your Jabber (XMPP) identifier:%0a> set jid = username@ircnow.org%0a> set password = "RANDOMPASSWORD"%0a25d17%0a%3c set cmdhistory_lines = 250%0a30a23%0a> # Set log_muc_conf to 1 to enable MUC chatrooms logging (default = 0)%0a31a25,27%0a> # Set load_muc_logs to 1 to read MUC chatrooms logs (default = 0). These%0a> # logs will be displayed in the buffer window _before_ any history received%0a> # from the server.%0a38d33%0a%3c set message_autoaway = Auto-away (idle)%0a41d35%0a%3c set otr_dir = "~/.mcabber/otr/"%0a47a42,43%0a> # Key bindings%0a> # Ctrl-q (17) bound to /roster unread_next%0a48a45%0a> # Ctrl-x (24) bound to /roster alternate%0a49a47%0a> # F5 (269) bound to /roster toggle_offline (centericq-like, IIRC)%0a50a49%0a> # F12 (276) bound to /roster toggle%0a51a51%0a> # Ctrl-Up/Ctrl-Down bound to /buffer up/down (like Ctrl-p/Ctrl-n)%0a +host:1637931402=38.87.162.8 +author:1637929016=jrmu +diff:1637929016:1637928989:=16c16%0a%3c set password = "RANDOMPASSWORD"%0a---%0a> set password = "g4t00hQz1lWL1btlsXkcg4ze6LrdfRZ"%0a +host:1637929016=38.87.162.8 +author:1637928989=jrmu +diff:1637928989:1637928444:=3,54d2%0a%3c !! Installing%0a%3c %0a%3c On OpenBSD, you can run:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add mcabber%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c [@%0a%3c # Please provide your Jabber (XMPP) identifier:%0a%3c set jid = username@ircnow.org%0a%3c set password = "g4t00hQz1lWL1btlsXkcg4ze6LrdfRZ"%0a%3c set tls = 1%0a%3c set carbons = 1%0a%3c set clear_unread_on_carbon = 1%0a%3c set logging = 1%0a%3c set load_logs = 1%0a%3c set logging_dir = ~/.mcabber/histo/%0a%3c # Set log_muc_conf to 1 to enable MUC chatrooms logging (default = 0)%0a%3c set log_muc_conf = 1%0a%3c # Set load_muc_logs to 1 to read MUC chatrooms logs (default = 0). These%0a%3c # logs will be displayed in the buffer window _before_ any history received%0a%3c # from the server.%0a%3c set load_muc_logs = 1%0a%3c set max_history_blocks = 8%0a%3c set iq_version_hide_os = 1%0a%3c set iq_version_hide_version = 1%0a%3c set iq_time_hide = 1%0a%3c set beep_on_message = 1%0a%3c set escdelay = 50%0a%3c set otr = 1%0a%3c otrpolicy default manual%0a%3c alias me = say /me%0a%3c alias online = status online%0a%3c alias away = status away%0a%3c alias dnd = status dnd%0a%3c alias notavail = status notavail%0a%3c # Key bindings%0a%3c # Ctrl-q (17) bound to /roster unread_next%0a%3c bind 17 = roster unread_next%0a%3c # Ctrl-x (24) bound to /roster alternate%0a%3c bind 24 = roster alternate%0a%3c # F5 (269) bound to /roster toggle_offline (centericq-like, IIRC)%0a%3c bind 269 = roster toggle_offline%0a%3c # F12 (276) bound to /roster toggle%0a%3c bind 276 = roster toggle%0a%3c # Ctrl-Up/Ctrl-Down bound to /buffer up/down (like Ctrl-p/Ctrl-n)%0a%3c bind 521 = buffer up%0a%3c bind 514 = buffer down%0a%3c @]%0a +host:1637928989=38.87.162.8 +author:1637928444=jrmu +diff:1637928444:1637928444:=1,2d0%0a%3c [[https://mcabber.com/|mcabber]] is a small XMPP (Jabber) console client. It includes SASL/SSL/TLS support, multi-user chat (MUC), history logging, command completion, OpenPGP encryption, Off-the-Record (OTR) encryption, and more. It is GPL licensed and has been tested GNU/Linux, BSD, Mac OS X and Windows (using [[cygwin/install|cygwin]]).%0a%3c %0a +host:1637928444=38.87.162.8 blob - /dev/null blob + e53770fb4383f3cda299a4be926144aaaddb8b07 (mode 644) --- /dev/null +++ wiki.d/Mcabber.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637928444 +host=38.87.162.8 +name=Mcabber.RecentChanges +rev=8 +text=* [[Mcabber/Connect]] . . . November 26, 2021, at 01:38 PM by [[~jrmu]]: [==]%0a +time=1637933884 blob - /dev/null blob + b78bbaadc5256a12bc3343bb64d9c7c4f0ab9f4a (mode 644) --- /dev/null +++ wiki.d/Medals.Intro @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628060018 +host=38.87.162.8 +name=Medals.Intro +rev=7 +targets= +text=General Medals and Awards%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! Criteria ||! Benefits ||%0a|| Medal of Honor || Going above and beyond the call of admin duty || Honor Roll, Lifetime VPS and account ||%0a|| Service Medal || Heroism in serving the users || ||%0a|| Silver Star || Valor in admin duty || ||%0a|| Bronze Star || Valor in admin duty || ||%0a|| Legion of Merit || For outstanding merit || ||%0a|| Purple Heart || Suffering harm as a result of admin duty || ||%0a|| Minutemin Award || Finishing Minutemin Training || ||%0a|| Veteran Award || One year of service at IRCNow || ||%0a%0aSpecific Ribbons%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| LaTeX ribbon || || ||%0a|| NNTP ribbon || || ||%0a|| Gopher ribbon || || ||%0a|| Webhost ribbon || || ||%0a|| IRC ribbon || || ||%0a|| Mail ribbon || || ||%0a|| SIP ribbon || || ||%0a|| Shell ribbon || || ||%0a|| DNS ribbon || || ||%0a|| Crypto ribbon || || ||%0a|| Minetest ribbon || || ||%0a +time=1628066087 +author:1628066087=jrmu +diff:1628066087:1628066036:=3d2%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a16d14%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1628066087=38.87.162.8 +author:1628066036=jrmu +diff:1628066036:1628062180:=1,25c1,10%0a%3c General Medals and Awards%0a%3c %0a%3c ||! Name ||! Criteria ||! Benefits ||%0a%3c || Medal of Honor || Going above and beyond the call of admin duty || Honor Roll, Lifetime VPS and account ||%0a%3c || Service Medal || Heroism in serving the users || ||%0a%3c || Silver Star || Valor in admin duty || ||%0a%3c || Bronze Star || Valor in admin duty || ||%0a%3c || Legion of Merit || For outstanding merit || ||%0a%3c || Purple Heart || Suffering harm as a result of admin duty || ||%0a%3c || Minutemin Award || Finishing Minutemin Training || ||%0a%3c || Veteran Award || One year of service at IRCNow || ||%0a%3c %0a%3c Specific Ribbons%0a%3c %0a%3c || LaTeX ribbon || || ||%0a%3c || NNTP ribbon || || ||%0a%3c || Gopher ribbon || || ||%0a%3c || Webhost ribbon || || ||%0a%3c || IRC ribbon || || ||%0a%3c || Mail ribbon || || ||%0a%3c || SIP ribbon || || ||%0a%3c || Shell ribbon || || ||%0a%3c || DNS ribbon || || ||%0a%3c || Crypto ribbon || || ||%0a%3c || Minetest ribbon || || ||%0a---%0a> || border=1 width=100%25 class="sortable simpletable"%0a> ||! Name ||! Criteria ||! Benefits ||%0a> || Medal of Honor || Courageously going beyond the call of duty || ||%0a> || Silver Star || || ||%0a> || Flying Bell || || ||%0a> || Bronze Star || || ||%0a> || Purple Heart || || ||%0a> || Legion of Merit || || ||%0a> || LaTeX award || || ||%0a> || News Medal || || ||%0a +host:1628066036=38.87.162.8 +author:1628062180=mkf +diff:1628062180:1628060786:=1d0%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1628062180=198.251.81.133 +author:1628060786=jrmu +diff:1628060786:1628060294:=2,9c2,5%0a%3c || Medal of Honor || Courageously going beyond the call of duty || ||%0a%3c || Silver Star || || ||%0a%3c || Flying Bell || || ||%0a%3c || Bronze Star || || ||%0a%3c || Purple Heart || || ||%0a%3c || Legion of Merit || || ||%0a%3c || LaTeX award || || ||%0a%3c || News Medal || || ||%0a---%0a> || Medal of Honor || Courageously going beyond the call of duty || ||%0a> || Purple Heart || || ||%0a> || LaTeX award || || ||%0a> || News Medal || || ||%0a +host:1628060786=38.87.162.8 +author:1628060294=jrmu +diff:1628060294:1628060245:=1,5c1,5%0a%3c ||! Name ||! Criteria ||! Benefits ||%0a%3c || Medal of Honor || Courageously going beyond the call of duty || ||%0a%3c || Purple Heart || || ||%0a%3c || LaTeX award || || ||%0a%3c || News Medal || || ||%0a---%0a> || Name || Criteria || Benefits ||%0a> || Medal of Honor || Courageously going beyond the call of duty || ||%0a> || Purple Heart || || ||%0a> || LaTeX award || || ||%0a> || News Medal || || ||%0a +host:1628060294=38.87.162.8 +author:1628060245=jrmu +diff:1628060245:1628060018:=1,5c1,5%0a%3c || Name || Criteria || Benefits ||%0a%3c || Medal of Honor || Courageously going beyond the call of duty || ||%0a%3c || Purple Heart || || ||%0a%3c || LaTeX award || || ||%0a%3c || News Medal || || ||%0a---%0a> Medal of Honor -- For courageously going above and beyond the call of duty%0a> Purple Heart -- %0a> %0a> LaTeX medal%0a> Network News Medal%0a +host:1628060245=38.87.162.8 +author:1628060018=jrmu +diff:1628060018:1628060018:=1,5d0%0a%3c Medal of Honor -- For courageously going above and beyond the call of duty%0a%3c Purple Heart -- %0a%3c %0a%3c LaTeX medal%0a%3c Network News Medal%0a +host:1628060018=38.87.162.8 blob - /dev/null blob + 481ca4a1fbc07a9cff0d7b3a25332e5647553a9a (mode 644) --- /dev/null +++ wiki.d/Medals.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628060018 +host=38.87.162.8 +name=Medals.RecentChanges +rev=7 +text=* [[Medals/Intro]] . . . August 04, 2021, at 08:34 AM by [[~jrmu]]: [==]%0a +time=1628066087 blob - /dev/null blob + 1e22fc0505091739d799d10634588a38806219e9 (mode 644) --- /dev/null +++ wiki.d/Minetest.Addingarenas @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1620817113 +host=198.251.81.119 +name=Minetest.Addingarenas +rev=1 +targets= +text=Before you can add an arena for a minigame, you need to have a map. %0a%0a======================================================%0a%0aMaking the map%0a%0a======================================================%0a%0a***We do not make maps on the server***%0a%0aDownload the game (see "updating the game"), and install it in your local copy of minetest.%0a%0aMake the arena on your own computer, you can use WorldEdit and Terraform to speed things up tremendously.%0a%0aMake sure that the arena is well decorated and has a theme.%0a%0aAlso make sure that it is unescapable. Use server_manager:barrier nodes to make it unescapable, make it 2 nodes thick at a minimum.%0a%0aUse WorldEdit to save a .mts file of the map%0a%0aset pos1 (`//1`) and pos2 (`//2`) to completely surround the arena with the Worldedit area. Then Use the command%0a%0a`//mtschemcreate %3carena name>` replacing the name to whatever you want to name it%0a%0aThen, in your local minetest installation, enter the world folder, and look in the subfolder "schems"%0a%0afind the .mts file that you just made.%0a%0a%0a======================================================%0a%0aUploading an arena to the server%0a%0a======================================================%0a%0aEither a player gives you an arena, or you have made one. %0a%0aadd the arena to the repo:%0a%0ahttps://gitlab.com/arcadeemulationserver/schems%0a%0aAlso edit the readme file in that repo to indicate the author and the license of the schematic. Do your best to get the author to tell you the license. If you made it, choose an appropriate license (NOT CC - NON-COMMERCIAL, Please!!!)%0a%0a%0athen on the server, %0a%0a```%0acd /home/minetest/minetest4/worlds/pineapple_server_3/schems%0a%0agit pull%0a```%0a%0athe arena should now be in the schems folder.%0a%0aThere is no need to restart the server, you can access the arena schem immediately. %0a %0a%0aLog on to the server, find a spot that is suitable (not near anything !!!!, like 200 nodes away at a minimum!), set pos1 of WorldEdit, `//pos1`, and then place the schematic there `//mtschemplace %3cname>` (name does not have the .mts on the end)%0a%0a%0a%0a======================================================%0a%0aSetting up arenas %0a%0a======================================================%0a%0a%0aSetting up an arena is a tricky business. Be very careful when you do it, and practice offline on your own computer first!%0a%0aWhen you set points of arenas where the arena will reset an area, it is very easy to get the locations wrong. When you have to type it in from the settings menu, for some reason, arena_lib puts "y" first, then "x", and then "z" ! (`{y = 0, x = 0, z = 0}`) But all other places you see a coordinate the order is x,y,z!!!! YOu can easily get it worng! be careful!%0a%0aIF YOU MESS IT UP, IT CAN CRASH THE SERVER AND CORRUPT THE WORLD IRREPARABLY! That is why we have 2 world backups BTW.%0a%0aBefore setting up an arena, you should be familiar with the minigame and if you are not familiar with it, practice offline. As you set it up, be very careful to get the correct locations of points. Double and triple check it before you enable the arena. +time=1620817113 +author:1620817113=jrmu +diff:1620817113:1620817113:=1,75d0%0a%3c Before you can add an arena for a minigame, you need to have a map. %0a%3c %0a%3c ======================================================%0a%3c %0a%3c Making the map%0a%3c %0a%3c ======================================================%0a%3c %0a%3c ***We do not make maps on the server***%0a%3c %0a%3c Download the game (see "updating the game"), and install it in your local copy of minetest.%0a%3c %0a%3c Make the arena on your own computer, you can use WorldEdit and Terraform to speed things up tremendously.%0a%3c %0a%3c Make sure that the arena is well decorated and has a theme.%0a%3c %0a%3c Also make sure that it is unescapable. Use server_manager:barrier nodes to make it unescapable, make it 2 nodes thick at a minimum.%0a%3c %0a%3c Use WorldEdit to save a .mts file of the map%0a%3c %0a%3c set pos1 (`//1`) and pos2 (`//2`) to completely surround the arena with the Worldedit area. Then Use the command%0a%3c %0a%3c `//mtschemcreate %3carena name>` replacing the name to whatever you want to name it%0a%3c %0a%3c Then, in your local minetest installation, enter the world folder, and look in the subfolder "schems"%0a%3c %0a%3c find the .mts file that you just made.%0a%3c %0a%3c %0a%3c ======================================================%0a%3c %0a%3c Uploading an arena to the server%0a%3c %0a%3c ======================================================%0a%3c %0a%3c Either a player gives you an arena, or you have made one. %0a%3c %0a%3c add the arena to the repo:%0a%3c %0a%3c https://gitlab.com/arcadeemulationserver/schems%0a%3c %0a%3c Also edit the readme file in that repo to indicate the author and the license of the schematic. Do your best to get the author to tell you the license. If you made it, choose an appropriate license (NOT CC - NON-COMMERCIAL, Please!!!)%0a%3c %0a%3c %0a%3c then on the server, %0a%3c %0a%3c ```%0a%3c cd /home/minetest/minetest4/worlds/pineapple_server_3/schems%0a%3c %0a%3c git pull%0a%3c ```%0a%3c %0a%3c the arena should now be in the schems folder.%0a%3c %0a%3c There is no need to restart the server, you can access the arena schem immediately. %0a%3c %0a%3c %0a%3c Log on to the server, find a spot that is suitable (not near anything !!!!, like 200 nodes away at a minimum!), set pos1 of WorldEdit, `//pos1`, and then place the schematic there `//mtschemplace %3cname>` (name does not have the .mts on the end)%0a%3c %0a%3c %0a%3c %0a%3c ======================================================%0a%3c %0a%3c Setting up arenas %0a%3c %0a%3c ======================================================%0a%3c %0a%3c %0a%3c Setting up an arena is a tricky business. Be very careful when you do it, and practice offline on your own computer first!%0a%3c %0a%3c When you set points of arenas where the arena will reset an area, it is very easy to get the locations wrong. When you have to type it in from the settings menu, for some reason, arena_lib puts "y" first, then "x", and then "z" ! (`{y = 0, x = 0, z = 0}`) But all other places you see a coordinate the order is x,y,z!!!! YOu can easily get it worng! be careful!%0a%3c %0a%3c IF YOU MESS IT UP, IT CAN CRASH THE SERVER AND CORRUPT THE WORLD IRREPARABLY! That is why we have 2 world backups BTW.%0a%3c %0a%3c Before setting up an arena, you should be familiar with the minigame and if you are not familiar with it, practice offline. As you set it up, be very careful to get the correct locations of points. Double and triple check it before you enable the arena.%0a\ No newline at end of file%0a +host:1620817113=198.251.81.119 blob - /dev/null blob + 65c946701529f9c7da9fa6fff8ff9743e121573f (mode 644) --- /dev/null +++ wiki.d/Minetest.Economy @@ -0,0 +1,66 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1618381064 +host=198.251.81.119 +name=Minetest.Economy +rev=18 +targets= +text=FreeSociety: The Free Society Simulation Game%0a%0aUsing the minetest game as a base, we can create a real virtual society with economy!%0a%0aResource Scarcity:%0a%0aWe must turn off worldedit and any other game that creates an unrealistic scenario of unlimited resources. Instead, natural resources should be limited and scarce. Most of the world is barren desert, icy tundra, or wilderness, with practically no food and very few metals.%0a%0aWe must allow hunger, damage, and death.%0a%0aMetals are scarce and must be mined by risky and dangerous underground expeditions with little promise of reward. %0a%0aNeeds:%0a%0a# Energy -- replenished by sleeping in a bed inside a house%0a# Hunger -- replenished by processed food%0a# Thirst -- replenished by clean drinking water%0a# Fun -- replenished by purchasing amusements%0a# Aesthetics -- replenished by constructing beautiful buildings and owning valuable possessions%0a%0aMore expensive, more rare items will satisfy needs more quickly.%0a%0aIn order to satisfy needs, items must be consumed. This ensures that resources are quickly depleted and remain scarce. %0a%0aDivision of labour: %0a%0aPlayers gain experience points in a specialty with time, which increase their rate of production:%0a%0a# Harvesters: miners, farmers, lumberjacks, diggers, foragers, hunters, fishermen, oil driller%0a# Crafters: bakers, carpenters, paper makers, boat makers, oil refiner, smelter, blacksmith%0a# Professionals: doctors, teachers, soldiers, publishers, technicians, sailors, builder, explorer%0a%0aAn experienced miner can dig 10x more quickly than a novice.%0a%0aMarkets:%0a%0aBarter with physical blocks. Set up a market where it is easy to escrow items for exchange.%0a%0aUsers will naturally barter for items. The value of an item will be based on its rarity, required labor, and risk. So 1 mese block might trade for 500 wheat. Sellers and buyers can post their offers.%0a%0aMoney: %0a%0aGold and mese. Blacksmiths can mint coinage, which are actual items.%0a%0aWages:%0a%0aPaid in coinage, grain, or cattle.%0a%0aProperty:%0a%0aAllow users to own land and assets. Only the owner is allowed to use a resource. He can rent it to other players or sell the land.%0a%0aCapital improvements like building a factory, plowing a farm, building irrigation ditches, or planting forests can increase yields by 10x. They should also be very expensive so that it requires great savings in order to build.%0a%0aGuilds:%0a%0aGuilds like bakers' guilds and miners' guilds will naturally form.%0a%0aPolitics and Voting:%0a%0aAdmins play the role of government. They should enforce law and order so that terrorists cannot rob and kill everyone.%0a%0aOne player one vote. Players decide on admin policy by voting. +time=1618497169 +author:1618497169=jrmu +diff:1618497169:1618384315:=37c37%0a%3c Barter with physical blocks. Set up a market where it is easy to escrow items for exchange.%0a---%0a> Don't use commands. Instead, barter with physical blocks. Set up a market where it is easy to escrow items for exchange.%0a +host:1618497169=198.251.81.119 +author:1618384315=jrmu +diff:1618384315:1618383666:=39,40c39,40%0a%3c Users will naturally barter for items. The value of an item will be based on its rarity, required labor, and risk. So 1 mese block might trade for 500 wheat. Sellers and buyers can post their offers.%0a%3c %0a---%0a> Users will naturally barter for items. The value of an item will be based on its rarity, required labor, and risk. So 1 mese block might trade for 500 wheat. Sellers and buyers can post their offers; no need to regulate.%0a> %0a57,58c57,58%0a%3c Guilds like bakers' guilds and miners' guilds will naturally form.%0a%3c %0a---%0a> No need to regulate. Guilds like bakers' guilds and miners' guilds will naturally form.%0a> %0a61,63c61,63%0a%3c Admins play the role of government. They should enforce law and order so that terrorists cannot rob and kill everyone.%0a%3c %0a%3c One player one vote. Players decide on admin policy by voting.%0a\ No newline at end of file%0a---%0a> Admins should enforce law and order so that terrorists cannot rob and kill everyone.%0a> %0a> One player one vote.%0a\ No newline at end of file%0a +host:1618384315=198.251.81.119 +author:1618383666=jrmu +diff:1618383666:1618383183:=54a55,56%0a> Admins should enforce law and order so that terrorists cannot rob and kill everyone.%0a> %0a57,63c59%0a%3c No need to regulate. Guilds like bakers' guilds and miners' guilds will naturally form.%0a%3c %0a%3c Politics and Voting:%0a%3c %0a%3c Admins should enforce law and order so that terrorists cannot rob and kill everyone.%0a%3c %0a%3c One player one vote.%0a\ No newline at end of file%0a---%0a> No need to regulate. Guilds like bakers' guilds and miners' guilds will naturally form.%0a\ No newline at end of file%0a +host:1618383666=198.251.81.119 +author:1618383183=jrmu +diff:1618383183:1618383129:=51,53c51%0a%3c Allow users to own land and assets. Only the owner is allowed to use a resource. He can rent it to other players or sell the land.%0a%3c %0a%3c Capital improvements like building a factory, plowing a farm, building irrigation ditches, or planting forests can increase yields by 10x. They should also be very expensive so that it requires great savings in order to build.%0a---%0a> Allow users to own land and assets. They can make capital improvements like building a factory, plowing a farm, building irrigation ditches, or planting forests. Only the owner is allowed to use a resource. He can rent it to other players or sell the land.%0a +host:1618383183=198.251.81.119 +author:1618383129=jrmu +diff:1618383129:1618382964:=27,28d26%0a%3c Players gain experience points in a specialty with time, which increase their rate of production:%0a%3c %0a32,33d29%0a%3c %0a%3c An experienced miner can dig 10x more quickly than a novice.%0a +host:1618383129=198.251.81.119 +author:1618382964=jrmu +diff:1618382964:1618382872:=7c7%0a%3c We must turn off worldedit and any other game that creates an unrealistic scenario of unlimited resources. Instead, natural resources should be limited and scarce. Most of the world is barren desert, icy tundra, or wilderness, with practically no food and very few metals.%0a---%0a> We must turn off worldedit and any other game that creates an unrealistic scenario of unlimited resources. Instead, natural resources should be limited and scarce. Most of the world is barren or just forestland, with practically no food and very few metals.%0a +host:1618382964=198.251.81.119 +author:1618382872=jrmu +diff:1618382872:1618382199:=11,24c11,12%0a%3c Metals are scarce and must be mined by risky and dangerous underground expeditions with little promise of reward. %0a%3c %0a%3c Needs:%0a%3c %0a%3c # Energy -- replenished by sleeping in a bed inside a house%0a%3c # Hunger -- replenished by processed food%0a%3c # Thirst -- replenished by clean drinking water%0a%3c # Fun -- replenished by purchasing amusements%0a%3c # Aesthetics -- replenished by constructing beautiful buildings and owning valuable possessions%0a%3c %0a%3c More expensive, more rare items will satisfy needs more quickly.%0a%3c %0a%3c In order to satisfy needs, items must be consumed. This ensures that resources are quickly depleted and remain scarce. %0a%3c %0a---%0a> Metals must be mined from underground%0a> %0a33,36c21,22%0a%3c Don't use commands. Instead, barter with physical blocks. Set up a market where it is easy to escrow items for exchange.%0a%3c %0a%3c Users will naturally barter for items. The value of an item will be based on its rarity, required labor, and risk. So 1 mese block might trade for 500 wheat. Sellers and buyers can post their offers; no need to regulate.%0a%3c %0a---%0a> Don't use commands. Instead, barter with physical blocks:%0a> %0a45,53c31,160%0a%3c Property:%0a%3c %0a%3c Allow users to own land and assets. They can make capital improvements like building a factory, plowing a farm, building irrigation ditches, or planting forests. Only the owner is allowed to use a resource. He can rent it to other players or sell the land.%0a%3c %0a%3c Admins should enforce law and order so that terrorists cannot rob and kill everyone.%0a%3c %0a%3c Guilds:%0a%3c %0a%3c No need to regulate. Guilds like bakers' guilds and miners' guilds will naturally form.%0a\ No newline at end of file%0a---%0a> Smith himself wrote about the "severity" of such laws against worker actions, and made a point to contrast the "clamour" of the "masters" against workers associations, while associations and collusions of the masters "are never heard by the people" though such actions are "always" and "everywhere" taking place:%0a> %0a> "We rarely hear, it has been said, of the combinations of masters, though frequently of those of workmen. But whoever imagines, upon this account, that masters rarely combine, is as ignorant of the world as of the subject. Masters are always and everywhere in a sort of tacit, but constant and uniform, combination, not to raise the wages of labour above their actual rate [...] Masters, too, sometimes enter into particular combinations to sink the wages of labour even below this rate. These are always conducted with the utmost silence and secrecy till the moment of execution; and when the workmen yield, as they sometimes do without resistance, though severely felt by them, they are never heard of by other people". In contrast, when workers combine, "the masters [...] never cease to call aloud for the assistance of the civil magistrate, and the rigorous execution of those laws which have been enacted with so much severity against the combination of servants, labourers, and journeymen."[14]%0a> %0a> In societies where the amount of labour exceeds the amount of revenue available for waged labour, competition among workers is greater than the competition among employers, and wages fall. Inversely, where revenue is abundant, labour wages rise. Smith argues that, therefore, labour wages only rise as a result of greater revenue disposed to pay for labour. Smith thought labour the same as any other commodity in this respect:%0a> %0a> "the demand for men, like that for any other commodity, necessarily regulates the production of men; quickens it when it goes on too slowly, and stops it when it advances too fast. It is this demand which regulates and determines the state of propagation in all the different countries of the world, in North America, in Europe, and in China; which renders it rapidly progressive in the first, slow and gradual in the second, and altogether stationary in the last."[15]%0a> %0a> However, the amount of revenue must increase constantly in proportion to the amount of labour for wages to remain high. Smith illustrates this by juxtaposing England with the North American colonies. In England, there is more revenue than in the colonies, but wages are lower, because more workers flock to new employment opportunities caused by the large amount of revenue— so workers eventually compete against each other as much as they did before. By contrast, as capital continues to flow to the colonial economies at least at the same rate that population increases to "fill out" this excess capital, wages there stay higher than in England.%0a> %0a> Smith was highly concerned about the problems of poverty. He writes:%0a> %0a> "poverty, though it does not prevent the generation, is extremely unfavourable to the rearing of children [...] It is not uncommon [...] in the Highlands of Scotland for a mother who has borne twenty children not to have two alive [...] In some places one half the children born die before they are four years of age; in many places before they are seven; and in almost all places before they are nine or ten. This great mortality, however, will every where be found chiefly among the children of the common people, who cannot afford to tend them with the same care as those of better station."[16]%0a> %0a> The only way to determine whether a man is rich or poor is to examine the amount of labour he can afford to purchase. "Labour is the real exchange for commodities".%0a> %0a> Smith also describes the relation of cheap years and the production of manufactures versus the production in dear years. He argues that while some examples, such as the linen production in France, show a correlation, another example in Scotland shows the opposite. He concludes that there are too many variables to make any statement about this.%0a> %0a> Of the Profits of Stock: In this chapter, Smith uses interest rates as an indicator of the profits of stock. This is because interest can only be paid with the profits of stock, and so creditors will be able to raise rates in proportion to the increase or decrease of the profits of their debtors.%0a> %0a> Smith argues that the profits of stock are inversely proportional to the wages of labour, because as more money is spent compensating labour, there is less remaining for personal profit. It follows that, in societies where competition among labourers is greatest relative to competition among employers, profits will be much higher. Smith illustrates this by comparing interest rates in England and Scotland. In England, government laws against usury had kept maximum interest rates very low, but even the maximum rate was believed to be higher than the rate at which money was usually loaned. In Scotland, however, interest rates are much higher. This is the result of a greater proportion of capitalists in England, which offsets some competition among labourers and raises wages.%0a> %0a> However, Smith notes that, curiously, interest rates in the colonies are also remarkably high (recall that, in the previous chapter, Smith described how wages in the colonies are higher than in England). Smith attributes this to the fact that, when an empire takes control of a colony, prices for a huge abundance of land and resources are extremely cheap. This allows capitalists to increase his profit, but simultaneously draws many capitalists to the colonies, increasing the wages of labour. As this is done, however, the profits of stock in the mother country rise (or at least cease to fall), as much of it has already flocked offshore.%0a> %0a> Of Wages and Profit in the Different Employments of Labour and Stock: Smith repeatedly attacks groups of politically aligned individuals who attempt to use their collective influence to manipulate the government into doing their bidding. At the time, these were referred to as "factions," but are now more commonly called "special interests," a term that can comprise international bankers, corporate conglomerations, outright oligopolies, trade unions and other groups. Indeed, Smith had a particular distrust of the tradesman class. He felt that the members of this class, especially acting together within the guilds they want to form, could constitute a power block and manipulate the state into regulating for special interests against the general interest:%0a> %0a> "People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices. It is impossible indeed to prevent such meetings, by any law which either could be executed, or would be consistent with liberty and justice. But though the law cannot hinder people of the same trade from sometimes assembling together, it ought to do nothing to facilitate such assemblies; much less to render them necessary."%0a> %0a> Smith also argues against government subsidies of certain trades, because this will draw many more people to the trade than what would otherwise be normal, collectively lowering their wages.%0a> %0a> Chapter 10, part ii, motivates an understanding of the idea of feudalism.%0a> %0a> Of the Rent of the Land: Rent, considered as the price paid for the use of land, is naturally the highest the tenant can afford in the actual circumstances of the land. In adjusting lease terms, the landlord endeavours to leave him no greater share of the produce than what is sufficient to keep up the stock from which he furnishes the seed, pays the labour, and purchases and maintains the cattle and other instruments of husbandry, together with the ordinary profits of farming stock in the neighbourhood. This is evidently the smallest share with which the tenant can content himself without being a loser, and the landlord seldom means to leave him any more. Whatever part of the produce, or, what is the same thing, whatever part of its price, is over and above this share, he naturally endeavours to reserve to himself as the rent of his land, which is evidently the highest the tenant can afford to pay in the actual circumstances of the land. Sometimes, indeed, the liberality, more frequently the ignorance, of the landlord, makes him accept of somewhat less than this portion; and sometimes too, though more rarely, the ignorance of the tenant makes him undertake to pay somewhat more, or to content himself with somewhat less, than the ordinary profits of farming stock in the neighbourhood. This portion, however, may still be considered as the natural rent of land, or the rent for which it is naturally meant that land should for the most part be let. %0a> Mese blocks gold bars%0a> 10:32 %3c&jrmu> and kids could trade 200 grain for 1 mese%0a> 10:32 %3c&jrmu> lewis_clark doesn't agree but I think he's greatly mistaken%0a> 10:33 %3c&jrmu> if we create a world where there is hunger enabled, and no world edit, %0a> and death enabled%0a> 10:33 %3c&jrmu> it's a lot more fun to have a realistic economy%0a> 10:33 %3c&jrmu> well I mean Nav|C the problem with survival mode currently is%0a> 10:33 %3c&jrmu> kids just kill each other%0a> 10:33 %3c&jrmu> instead of trading%0a> 10:33 %3c&jrmu> i meant we want to have economic competition%0a> 10:33 %3c&jrmu> where people buy and sell land%0a> 10:33 %3c&jrmu> and access to forests%0a> 10:34 %3c&jrmu> right now survival mode is just a free for all melee%0a> 10:34 %3c&jrmu> but you can imagine a survival mode where kids build factories%0a> 10:34 %3c&jrmu> and trade in marketplaces%0a> 10:34 %3c&jrmu> like, i own this forest%0a> 10:34 %3c&jrmu> you can rent it from me for 200 grain%0a> 10:34 %3c&jrmu> so instead of just building stuff%0a> 10:35 %3c&jrmu> kids will try to build practical improvements%0a> 10:35 %3c&jrmu> with the goal of trying to make society more efficient%0a> 10:35 %3c&jrmu> you could have guilds forming%0a> 10:35 %3c&jrmu> like the bread bakers' guild or the mese mining guild%0a> 10:36 %3c&jrmu> the problem is that survival mode right now lets a bunch of terrorists %0a> rob and kill everyone%0a> 10:36 %3c&jrmu> that makes the game unfun%0a> 10:36 %3c&jrmu> but if it had a stable society, it would mimic the real world%0a> 10:36 %3c&jrmu> i'm just trying to make the game more realistic%0a> 10:36 %3c&jrmu> and hence more fun%0a> 10:38 %3c&jrmu> but having kids work hard for something and be rewarded by it%0a> 10:38 %3c&jrmu> that's really satisfying%0a> 10:38 %3c&jrmu> eg, I worked on this minetest world for 3 months and saved up enough to %0a> buy a house%0a> 10:38 %3c&jrmu> check out my mese plated furniture which took me 6 months to acquire%0a> 10:39 %3c&jrmu> there's no value or fun factor when you can create gold %0a> from the air%0a> 10:39 %3c&jrmu> from thin air*%0a> 10:39 %3c&jrmu> worldedit is like eating a bag of doritos%0a> 10:39 %3c&jrmu> it feels good at first but leaves you with an empty nauseating feeling%0a> 10:41 %3c&jrmu> managing time and capital assets wisely is a real life skil%0a> 10:41 %3c&jrmu> and so is bartering%0a> 10:41 %3c&jrmu> what mechanics are we missing %0a> 10:42 %3c&jrmu> that you would need filled in%0a> 10:42 %3c&jrmu> i'll try to fill them in%0a> 10:43 %3c&jrmu> we have hunger, we have death, we have scarcity of time and scarcity of %0a> natural resources%0a> 10:43 %3c&jrmu> coinage is missing but I think mese and gold can be a decent substitute%0a> 10:44 %3c&jrmu> we could write mods for factories and inventions%0a> 10:45 %3c&jrmu> iron was high up%0a> 10:45 %3c&jrmu> and then mese is very very low down in the earth%0a> 10:45 %3c&jrmu> plus you had to acquire stuff to mine deeper in the earht because%0a> 10:45 %3c&jrmu> diamond and mese ore is too hard to mine with stone tools%0a> 11:01 %3c&jrmu> it doesn't have to be minetest, something better is welcome%0a> 11:01 %3c&jrmu> if you've got an open source trading guild game, let's do that%0a> 11:06 %3c&jrmu> well if nobody is going to suggest me an alternative%0a> 11:06 %3c&jrmu> I'm going to push for this, the minetest economy worlds%0a> 11:07 %3c&jrmu> I plan to have competitions and rankings boards%0a> 13:34 %3c&jrmu> we'll change it%0a> 13:34 %3c&jrmu> to make it an empire building game%0a> 13:34 %3c&jrmu> you can have a pacifist version where nations are not allowed to compete%0a> 13:34 %3c&jrmu> and a real world version where nation states can emerge%0a> 13:35 %3c&jrmu> now i think the real limitation right now in minetest%0a> 13:35 %3c&jrmu> is the lack of a market%0a> 13:35 %3c&jrmu> like, yes we have block sbut%0a> 13:35 %3c&jrmu> it's quite hard to barter%0a> 13:35 %3c&jrmu> i have to manually dump the blocks out to trade them with you%0a> 13:35 %3c&jrmu> and there's no way to demarcate property ownership%0a> 13:35 %3c&jrmu> if there were overlays that showed property under my control%0a> 13:35 %3c&jrmu> like a green overlay for the green player, a pink one of the pink player%0a> 13:36 %3c&jrmu> then you could clearly establish property ownership and transactions %0a> would make a lot of sense%0a> 13:36 %3c&jrmu> what do you think%0a> 13:36 %3c&jrmu> i think that's the real mechanism missing%0a> 13:36 %3c&jrmu> 1) no coinage, 2) no marketplace, and 3) no clear property ownership%0a> 13:36 %3c&jrmu> in minetest it's basically you can use whatever you can steal%0a> 13:37 %3c&jrmu> even if lewis_clark you felt like minetest could not handle this%0a> 13:37 %3c&jrmu> we could always build our own%0a> 13:37 %3c&jrmu> using craft, that bsd licensed version%0a> 13:37 %3c&jrmu> and as i said it becomes a valuable source of in app purchases%0a> 13:37 %3c&jrmu> because virtual scarcity becomes something people are willing to pay %0a> money for%0a> 13:40 %3c&jrmu> : http://www.voxeljs.com/%0a> 13:40 %3c&jrmu> bsd licensed worldeditor%0a> 13:40 %3c&jrmu> in your browser%0a> 13:41 %3c&jrmu> but I still think Craft has more potential as the BSD licensed %0a> replacement https://github.com/fogleman/Craft%0a> 13:54 %3c&jrmu> btw lewis_clark i looked up cookie clicker%0a> 13:54 %3c&jrmu> that is totally *not* want I wanted, that game looks boring%0a> 14:02 %3c&jrmu> so here's one person's attempt at economy in minecraft: %0a> https://empireminecraft.com/wiki/player-economy/%0a> 14:03 %3c&jrmu> /trade [WithPlayerName] %3cOptionalRupees> - Allows you to initiate a %0a> trade with someone, with an option to include Rupees.%0a> 14:06 %3c&jrmu> so here is what I would propose%0a> 14:07 %3c&jrmu> 1) require more consumption of resources, like a constant demand for %0a> hunger and units that wear out constantly%0a> 14:07 %3c&jrmu> 2) enable the loss of health and death%0a> 14:08 %3c&jrmu> 3) need a large population of at least 20 players%0a> 14:09 %3c&jrmu> 4) more labor-saving improvements, factories, infrastructure%0a +host:1618382872=198.251.81.119 +author:1618382199=jrmu +diff:1618382199:1618382037:=1,12c1,5%0a%3c FreeSociety: The Free Society Simulation Game%0a%3c %0a%3c Using the minetest game as a base, we can create a real virtual society with economy!%0a%3c %0a%3c Resource Scarcity:%0a%3c %0a%3c We must turn off worldedit and any other game that creates an unrealistic scenario of unlimited resources. Instead, natural resources should be limited and scarce. Most of the world is barren or just forestland, with practically no food and very few metals.%0a%3c %0a%3c We must allow hunger, damage, and death.%0a%3c %0a%3c Metals must be mined from underground%0a%3c %0a---%0a> MySociety: Virtual Society%0a> %0a> Based on Minetest,%0a> %0a> %0a27,29c20%0a%3c Wages:%0a%3c %0a%3c Paid in coinage, grain, or cattle.%0a---%0a> Of the Wages of Labour: In this section, Smith describes how the wages of labour are dictated primarily by the competition among labourers and masters. When labourers bid against one another for limited opportunities for employment, the wages of labour collectively fall, whereas when employers compete against one another for limited supplies of labour, the wages of labour collectively rise. However, this process of competition is often circumvented by combinations among labourers and among masters. When labourers combine and no longer bid against one another, their wages rise, whereas when masters combine, wages fall. In Smith's day, organised labour was dealt with very harshly by the law.%0a +host:1618382199=198.251.81.119 +author:1618382037=jrmu +diff:1618382037:1618381853:=12,18c12,18%0a%3c Markets:%0a%3c %0a%3c Don't use commands. Instead, barter with physical blocks:%0a%3c %0a%3c Money: %0a%3c %0a%3c Gold and mese. Blacksmiths can mint coinage, which are actual items.%0a---%0a> has caused a greater increase in production than any other factor. This diversification is greatest for nations with more industry and improvement, and is responsible for "universal opulence" in those countries. Agriculture is less amenable than manufacturing to division of labour; hence, rich nations are not so far ahead of poor nations in agriculture as in manufacturing.%0a> %0a> Of the Principle which gives Occasion to the Division of Labour: Division of labour arises not from innate wisdom, but from humans' propensity to barter.%0a> %0a> That the Division of Labour is Limited by the Extent of the Market: Limited opportunity for exchange discourages division of labour. Because "water-carriage" (i.e. transportation) extends the market, division of labour, with its improvements, comes earliest to cities near waterways. Civilization began around the highly navigable Mediterranean Sea.%0a> %0a> Of the Origin and Use of Money: With division of labour, the produce of one's own labour can fill only a small part of one's needs. Different commodities have served as a common medium of exchange, but all nations have finally settled on metals, which are durable and divisible, for this purpose. Before coinage, people had to weigh and assay with each exchange, or risk "the grossest frauds and impositions." Thus nations began stamping metal, on one side only, to ascertain purity, or on all sides, to stipulate purity and amount. The quantity of real metal in coins has diminished, due to the "avarice and injustice of princes and sovereign states," enabling them to pay their debts in appearance only, and to the defraudment of creditors.%0a +host:1618382037=198.251.81.119 +author:1618381853=jrmu +diff:1618381853:1618381830:=10c10%0a%3c # Professionals: doctors, teachers, soldiers, publishers, technicians, sailors, builder, explorer%0a---%0a> # Professionals: doctors, teachers, soldiers, publishers, technicians, sailors, builder%0a +host:1618381853=198.251.81.119 +author:1618381830=jrmu +diff:1618381830:1618381818:=10c10%0a%3c # Professionals: doctors, teachers, soldiers, publishers, technicians, sailors, builder%0a---%0a> # Professionals: doctors, teachers, soldiers, publishers, technicians, sailors%0a +host:1618381830=198.251.81.119 +author:1618381818=jrmu +diff:1618381818:1618381736:=8,9c8,9%0a%3c # Harvesters: miners, farmers, lumberjacks, diggers, foragers, hunters, fishermen, oil driller%0a%3c # Crafters: bakers, carpenters, paper makers, boat makers, oil refiner, smelter, blacksmith%0a---%0a> # Harvesters: miners, farmers, lumberjacks, diggers, foragers, hunters, fishermen%0a> # Crafters: bakers, carpenters, paper makers, boat makers%0a +host:1618381818=198.251.81.119 +author:1618381736=jrmu +diff:1618381736:1618381540:=1,2c1,2%0a%3c MySociety: Virtual Society%0a%3c %0a---%0a> RealMarkets: The Virtual Market Game%0a> %0a8c8%0a%3c # Harvesters: miners, farmers, lumberjacks, diggers, foragers, hunters, fishermen%0a---%0a> # Harvesters: miners, farmers, lumberjacks, diggers, foragers%0a +host:1618381736=198.251.81.119 +author:1618381540=jrmu +diff:1618381540:1618381519:=9,10c9,10%0a%3c # Crafters: bakers, carpenters, paper makers, boat makers%0a%3c # Professionals: doctors, teachers, soldiers, publishers, technicians, sailors%0a---%0a> # Crafters: bakers, carpenters, paper makers%0a> # Professionals: doctors, teachers, soldiers, publishers, technicians%0a +host:1618381540=198.251.81.119 +author:1618381519=jrmu +diff:1618381519:1618381510:=10c10%0a%3c # Professionals: doctors, teachers, soldiers, publishers, technicians%0a---%0a> # Professionals: doctors, teachers, soldiers, publishers%0a +host:1618381519=198.251.81.119 +author:1618381510=jrmu +diff:1618381510:1618381201:=8,10c8,10%0a%3c # Harvesters: miners, farmers, lumberjacks, diggers, foragers%0a%3c # Crafters: bakers, carpenters, paper makers%0a%3c # Professionals: doctors, teachers, soldiers, publishers%0a---%0a> Harvesters: miners, farmers, lumberjacks, diggers%0a> Crafters: bakers, carpenters, %0a> Professionals: doctors, teachers, soldiers%0a +host:1618381510=198.251.81.119 +author:1618381201=jrmu +diff:1618381201:1618381064:=5,54d4%0a%3c %0a%3c Division of labour: %0a%3c %0a%3c Harvesters: miners, farmers, lumberjacks, diggers%0a%3c Crafters: bakers, carpenters, %0a%3c Professionals: doctors, teachers, soldiers%0a%3c %0a%3c has caused a greater increase in production than any other factor. This diversification is greatest for nations with more industry and improvement, and is responsible for "universal opulence" in those countries. Agriculture is less amenable than manufacturing to division of labour; hence, rich nations are not so far ahead of poor nations in agriculture as in manufacturing.%0a%3c %0a%3c Of the Principle which gives Occasion to the Division of Labour: Division of labour arises not from innate wisdom, but from humans' propensity to barter.%0a%3c %0a%3c That the Division of Labour is Limited by the Extent of the Market: Limited opportunity for exchange discourages division of labour. Because "water-carriage" (i.e. transportation) extends the market, division of labour, with its improvements, comes earliest to cities near waterways. Civilization began around the highly navigable Mediterranean Sea.%0a%3c %0a%3c Of the Origin and Use of Money: With division of labour, the produce of one's own labour can fill only a small part of one's needs. Different commodities have served as a common medium of exchange, but all nations have finally settled on metals, which are durable and divisible, for this purpose. Before coinage, people had to weigh and assay with each exchange, or risk "the grossest frauds and impositions." Thus nations began stamping metal, on one side only, to ascertain purity, or on all sides, to stipulate purity and amount. The quantity of real metal in coins has diminished, due to the "avarice and injustice of princes and sovereign states," enabling them to pay their debts in appearance only, and to the defraudment of creditors.%0a%3c %0a%3c Of the Wages of Labour: In this section, Smith describes how the wages of labour are dictated primarily by the competition among labourers and masters. When labourers bid against one another for limited opportunities for employment, the wages of labour collectively fall, whereas when employers compete against one another for limited supplies of labour, the wages of labour collectively rise. However, this process of competition is often circumvented by combinations among labourers and among masters. When labourers combine and no longer bid against one another, their wages rise, whereas when masters combine, wages fall. In Smith's day, organised labour was dealt with very harshly by the law.%0a%3c %0a%3c Smith himself wrote about the "severity" of such laws against worker actions, and made a point to contrast the "clamour" of the "masters" against workers associations, while associations and collusions of the masters "are never heard by the people" though such actions are "always" and "everywhere" taking place:%0a%3c %0a%3c "We rarely hear, it has been said, of the combinations of masters, though frequently of those of workmen. But whoever imagines, upon this account, that masters rarely combine, is as ignorant of the world as of the subject. Masters are always and everywhere in a sort of tacit, but constant and uniform, combination, not to raise the wages of labour above their actual rate [...] Masters, too, sometimes enter into particular combinations to sink the wages of labour even below this rate. These are always conducted with the utmost silence and secrecy till the moment of execution; and when the workmen yield, as they sometimes do without resistance, though severely felt by them, they are never heard of by other people". In contrast, when workers combine, "the masters [...] never cease to call aloud for the assistance of the civil magistrate, and the rigorous execution of those laws which have been enacted with so much severity against the combination of servants, labourers, and journeymen."[14]%0a%3c %0a%3c In societies where the amount of labour exceeds the amount of revenue available for waged labour, competition among workers is greater than the competition among employers, and wages fall. Inversely, where revenue is abundant, labour wages rise. Smith argues that, therefore, labour wages only rise as a result of greater revenue disposed to pay for labour. Smith thought labour the same as any other commodity in this respect:%0a%3c %0a%3c "the demand for men, like that for any other commodity, necessarily regulates the production of men; quickens it when it goes on too slowly, and stops it when it advances too fast. It is this demand which regulates and determines the state of propagation in all the different countries of the world, in North America, in Europe, and in China; which renders it rapidly progressive in the first, slow and gradual in the second, and altogether stationary in the last."[15]%0a%3c %0a%3c However, the amount of revenue must increase constantly in proportion to the amount of labour for wages to remain high. Smith illustrates this by juxtaposing England with the North American colonies. In England, there is more revenue than in the colonies, but wages are lower, because more workers flock to new employment opportunities caused by the large amount of revenue— so workers eventually compete against each other as much as they did before. By contrast, as capital continues to flow to the colonial economies at least at the same rate that population increases to "fill out" this excess capital, wages there stay higher than in England.%0a%3c %0a%3c Smith was highly concerned about the problems of poverty. He writes:%0a%3c %0a%3c "poverty, though it does not prevent the generation, is extremely unfavourable to the rearing of children [...] It is not uncommon [...] in the Highlands of Scotland for a mother who has borne twenty children not to have two alive [...] In some places one half the children born die before they are four years of age; in many places before they are seven; and in almost all places before they are nine or ten. This great mortality, however, will every where be found chiefly among the children of the common people, who cannot afford to tend them with the same care as those of better station."[16]%0a%3c %0a%3c The only way to determine whether a man is rich or poor is to examine the amount of labour he can afford to purchase. "Labour is the real exchange for commodities".%0a%3c %0a%3c Smith also describes the relation of cheap years and the production of manufactures versus the production in dear years. He argues that while some examples, such as the linen production in France, show a correlation, another example in Scotland shows the opposite. He concludes that there are too many variables to make any statement about this.%0a%3c %0a%3c Of the Profits of Stock: In this chapter, Smith uses interest rates as an indicator of the profits of stock. This is because interest can only be paid with the profits of stock, and so creditors will be able to raise rates in proportion to the increase or decrease of the profits of their debtors.%0a%3c %0a%3c Smith argues that the profits of stock are inversely proportional to the wages of labour, because as more money is spent compensating labour, there is less remaining for personal profit. It follows that, in societies where competition among labourers is greatest relative to competition among employers, profits will be much higher. Smith illustrates this by comparing interest rates in England and Scotland. In England, government laws against usury had kept maximum interest rates very low, but even the maximum rate was believed to be higher than the rate at which money was usually loaned. In Scotland, however, interest rates are much higher. This is the result of a greater proportion of capitalists in England, which offsets some competition among labourers and raises wages.%0a%3c %0a%3c However, Smith notes that, curiously, interest rates in the colonies are also remarkably high (recall that, in the previous chapter, Smith described how wages in the colonies are higher than in England). Smith attributes this to the fact that, when an empire takes control of a colony, prices for a huge abundance of land and resources are extremely cheap. This allows capitalists to increase his profit, but simultaneously draws many capitalists to the colonies, increasing the wages of labour. As this is done, however, the profits of stock in the mother country rise (or at least cease to fall), as much of it has already flocked offshore.%0a%3c %0a%3c Of Wages and Profit in the Different Employments of Labour and Stock: Smith repeatedly attacks groups of politically aligned individuals who attempt to use their collective influence to manipulate the government into doing their bidding. At the time, these were referred to as "factions," but are now more commonly called "special interests," a term that can comprise international bankers, corporate conglomerations, outright oligopolies, trade unions and other groups. Indeed, Smith had a particular distrust of the tradesman class. He felt that the members of this class, especially acting together within the guilds they want to form, could constitute a power block and manipulate the state into regulating for special interests against the general interest:%0a%3c %0a%3c "People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices. It is impossible indeed to prevent such meetings, by any law which either could be executed, or would be consistent with liberty and justice. But though the law cannot hinder people of the same trade from sometimes assembling together, it ought to do nothing to facilitate such assemblies; much less to render them necessary."%0a%3c %0a%3c Smith also argues against government subsidies of certain trades, because this will draw many more people to the trade than what would otherwise be normal, collectively lowering their wages.%0a%3c %0a%3c Chapter 10, part ii, motivates an understanding of the idea of feudalism.%0a%3c %0a%3c Of the Rent of the Land: Rent, considered as the price paid for the use of land, is naturally the highest the tenant can afford in the actual circumstances of the land. In adjusting lease terms, the landlord endeavours to leave him no greater share of the produce than what is sufficient to keep up the stock from which he furnishes the seed, pays the labour, and purchases and maintains the cattle and other instruments of husbandry, together with the ordinary profits of farming stock in the neighbourhood. This is evidently the smallest share with which the tenant can content himself without being a loser, and the landlord seldom means to leave him any more. Whatever part of the produce, or, what is the same thing, whatever part of its price, is over and above this share, he naturally endeavours to reserve to himself as the rent of his land, which is evidently the highest the tenant can afford to pay in the actual circumstances of the land. Sometimes, indeed, the liberality, more frequently the ignorance, of the landlord, makes him accept of somewhat less than this portion; and sometimes too, though more rarely, the ignorance of the tenant makes him undertake to pay somewhat more, or to content himself with somewhat less, than the ordinary profits of farming stock in the neighbourhood. This portion, however, may still be considered as the natural rent of land, or the rent for which it is naturally meant that land should for the most part be let. %0a +host:1618381201=198.251.81.119 +author:1618381064=jrmu +diff:1618381064:1618381064:=1,101d0%0a%3c RealMarkets: The Virtual Market Game%0a%3c %0a%3c Based on Minetest,%0a%3c %0a%3c Mese blocks gold bars%0a%3c 10:32 %3c&jrmu> and kids could trade 200 grain for 1 mese%0a%3c 10:32 %3c&jrmu> lewis_clark doesn't agree but I think he's greatly mistaken%0a%3c 10:33 %3c&jrmu> if we create a world where there is hunger enabled, and no world edit, %0a%3c and death enabled%0a%3c 10:33 %3c&jrmu> it's a lot more fun to have a realistic economy%0a%3c 10:33 %3c&jrmu> well I mean Nav|C the problem with survival mode currently is%0a%3c 10:33 %3c&jrmu> kids just kill each other%0a%3c 10:33 %3c&jrmu> instead of trading%0a%3c 10:33 %3c&jrmu> i meant we want to have economic competition%0a%3c 10:33 %3c&jrmu> where people buy and sell land%0a%3c 10:33 %3c&jrmu> and access to forests%0a%3c 10:34 %3c&jrmu> right now survival mode is just a free for all melee%0a%3c 10:34 %3c&jrmu> but you can imagine a survival mode where kids build factories%0a%3c 10:34 %3c&jrmu> and trade in marketplaces%0a%3c 10:34 %3c&jrmu> like, i own this forest%0a%3c 10:34 %3c&jrmu> you can rent it from me for 200 grain%0a%3c 10:34 %3c&jrmu> so instead of just building stuff%0a%3c 10:35 %3c&jrmu> kids will try to build practical improvements%0a%3c 10:35 %3c&jrmu> with the goal of trying to make society more efficient%0a%3c 10:35 %3c&jrmu> you could have guilds forming%0a%3c 10:35 %3c&jrmu> like the bread bakers' guild or the mese mining guild%0a%3c 10:36 %3c&jrmu> the problem is that survival mode right now lets a bunch of terrorists %0a%3c rob and kill everyone%0a%3c 10:36 %3c&jrmu> that makes the game unfun%0a%3c 10:36 %3c&jrmu> but if it had a stable society, it would mimic the real world%0a%3c 10:36 %3c&jrmu> i'm just trying to make the game more realistic%0a%3c 10:36 %3c&jrmu> and hence more fun%0a%3c 10:38 %3c&jrmu> but having kids work hard for something and be rewarded by it%0a%3c 10:38 %3c&jrmu> that's really satisfying%0a%3c 10:38 %3c&jrmu> eg, I worked on this minetest world for 3 months and saved up enough to %0a%3c buy a house%0a%3c 10:38 %3c&jrmu> check out my mese plated furniture which took me 6 months to acquire%0a%3c 10:39 %3c&jrmu> there's no value or fun factor when you can create gold %0a%3c from the air%0a%3c 10:39 %3c&jrmu> from thin air*%0a%3c 10:39 %3c&jrmu> worldedit is like eating a bag of doritos%0a%3c 10:39 %3c&jrmu> it feels good at first but leaves you with an empty nauseating feeling%0a%3c 10:41 %3c&jrmu> managing time and capital assets wisely is a real life skil%0a%3c 10:41 %3c&jrmu> and so is bartering%0a%3c 10:41 %3c&jrmu> what mechanics are we missing %0a%3c 10:42 %3c&jrmu> that you would need filled in%0a%3c 10:42 %3c&jrmu> i'll try to fill them in%0a%3c 10:43 %3c&jrmu> we have hunger, we have death, we have scarcity of time and scarcity of %0a%3c natural resources%0a%3c 10:43 %3c&jrmu> coinage is missing but I think mese and gold can be a decent substitute%0a%3c 10:44 %3c&jrmu> we could write mods for factories and inventions%0a%3c 10:45 %3c&jrmu> iron was high up%0a%3c 10:45 %3c&jrmu> and then mese is very very low down in the earth%0a%3c 10:45 %3c&jrmu> plus you had to acquire stuff to mine deeper in the earht because%0a%3c 10:45 %3c&jrmu> diamond and mese ore is too hard to mine with stone tools%0a%3c 11:01 %3c&jrmu> it doesn't have to be minetest, something better is welcome%0a%3c 11:01 %3c&jrmu> if you've got an open source trading guild game, let's do that%0a%3c 11:06 %3c&jrmu> well if nobody is going to suggest me an alternative%0a%3c 11:06 %3c&jrmu> I'm going to push for this, the minetest economy worlds%0a%3c 11:07 %3c&jrmu> I plan to have competitions and rankings boards%0a%3c 13:34 %3c&jrmu> we'll change it%0a%3c 13:34 %3c&jrmu> to make it an empire building game%0a%3c 13:34 %3c&jrmu> you can have a pacifist version where nations are not allowed to compete%0a%3c 13:34 %3c&jrmu> and a real world version where nation states can emerge%0a%3c 13:35 %3c&jrmu> now i think the real limitation right now in minetest%0a%3c 13:35 %3c&jrmu> is the lack of a market%0a%3c 13:35 %3c&jrmu> like, yes we have block sbut%0a%3c 13:35 %3c&jrmu> it's quite hard to barter%0a%3c 13:35 %3c&jrmu> i have to manually dump the blocks out to trade them with you%0a%3c 13:35 %3c&jrmu> and there's no way to demarcate property ownership%0a%3c 13:35 %3c&jrmu> if there were overlays that showed property under my control%0a%3c 13:35 %3c&jrmu> like a green overlay for the green player, a pink one of the pink player%0a%3c 13:36 %3c&jrmu> then you could clearly establish property ownership and transactions %0a%3c would make a lot of sense%0a%3c 13:36 %3c&jrmu> what do you think%0a%3c 13:36 %3c&jrmu> i think that's the real mechanism missing%0a%3c 13:36 %3c&jrmu> 1) no coinage, 2) no marketplace, and 3) no clear property ownership%0a%3c 13:36 %3c&jrmu> in minetest it's basically you can use whatever you can steal%0a%3c 13:37 %3c&jrmu> even if lewis_clark you felt like minetest could not handle this%0a%3c 13:37 %3c&jrmu> we could always build our own%0a%3c 13:37 %3c&jrmu> using craft, that bsd licensed version%0a%3c 13:37 %3c&jrmu> and as i said it becomes a valuable source of in app purchases%0a%3c 13:37 %3c&jrmu> because virtual scarcity becomes something people are willing to pay %0a%3c money for%0a%3c 13:40 %3c&jrmu> : http://www.voxeljs.com/%0a%3c 13:40 %3c&jrmu> bsd licensed worldeditor%0a%3c 13:40 %3c&jrmu> in your browser%0a%3c 13:41 %3c&jrmu> but I still think Craft has more potential as the BSD licensed %0a%3c replacement https://github.com/fogleman/Craft%0a%3c 13:54 %3c&jrmu> btw lewis_clark i looked up cookie clicker%0a%3c 13:54 %3c&jrmu> that is totally *not* want I wanted, that game looks boring%0a%3c 14:02 %3c&jrmu> so here's one person's attempt at economy in minecraft: %0a%3c https://empireminecraft.com/wiki/player-economy/%0a%3c 14:03 %3c&jrmu> /trade [WithPlayerName] %3cOptionalRupees> - Allows you to initiate a %0a%3c trade with someone, with an option to include Rupees.%0a%3c 14:06 %3c&jrmu> so here is what I would propose%0a%3c 14:07 %3c&jrmu> 1) require more consumption of resources, like a constant demand for %0a%3c hunger and units that wear out constantly%0a%3c 14:07 %3c&jrmu> 2) enable the loss of health and death%0a%3c 14:08 %3c&jrmu> 3) need a large population of at least 20 players%0a%3c 14:09 %3c&jrmu> 4) more labor-saving improvements, factories, infrastructure%0a +host:1618381064=198.251.81.119 blob - /dev/null blob + b8990061bca260b64c1193b21c4cee5587b3e045 (mode 644) --- /dev/null +++ wiki.d/Minetest.Minetest @@ -0,0 +1,77 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1607259900 +host=91.185.147.5 +name=Minetest.Minetest +rev=18 +targets= +text=!! Intro%0a%0a!!! About%0a%0aMinetest is an open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.%0a%0aAvailable for Windows, macOS, GNU/Linux, FreeBSD, OpenBSD, DragonFly BSD, and Android.%0a%0a%0a!!! Features%0a%0a[[https://www.minetest.net/#features]]%0a%0a%0a!! Mods%0a%0aYou can install mods to make your game better or more functional%0a%0a!! Installation%0aInstall minetest client from the [[https://www.minetest.net/downloads/|site]]%0a!!!Windows%0a%0a[[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win64.zip|64-bit Windows 8 and later]]%0a%0a[[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win32.zip|32-bit Windows 8 and later]]%0a%0a!!!Linux%0aDebian and ubuntu based distros:%0a[@%0a$ sudo apt install minetest%0a@]%0a%0a!!!OpenBSD%0a[@%0a$ doas pkg_add minetest%0a@]%0a%0a!! Usage%0aWindows: %0aGo to "bin" folder after unzipping, and double click on minetest.exe%0a%0aLinux and OpenBSD%0a[@%0a$ minetest%0a@]%0a%0a!!! join servers%0a%0a# Start Minetest%0a# Go in the tabs to the tab called: "Join Game"%0a# Click on an Server in the list OR Enter at "Address / Port" the address and port%0a# Enter at "Name / Pasword" your nickname and password of the server%0a# at first time joining an server mostly you need to type the password again%0a%0a%0a!! Servers%0a%0aYou can run and join servers,%0a%0aAt ircnow we have some servers and there will be more%0a%0a[[https://minetest.grape.ircnow.org/ | Grape's MT Server List]]%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> +time=1621068966 +author:1621068966=mkf +diff:1621068966:1621068932:=22d21%0a%3c %0a27c26%0a%3c !!!Linux%0a---%0a> !!!Linux:%0a33c32%0a%3c !!!OpenBSD%0a---%0a> !!!OpenBSD:%0a42c41%0a%3c Linux and OpenBSD%0a---%0a> Linux and OpenBSD:%0a +host:1621068966=91.185.147.5 +author:1621068932=mkf +diff:1621068932:1621068836:=21c21%0a%3c !!!Windows%0a---%0a> %0a26,27c26%0a%3c !!!Linux:%0a%3c Debian and ubuntu based distros:%0a---%0a> Linux:%0a32c31%0a%3c !!!OpenBSD:%0a---%0a> OpenBSD:%0a38,39c37%0a%3c Windows: %0a%3c Go to "bin" folder after unzipping, and double click on minetest.exe%0a---%0a> Windows: Go to "bin" folder after unzipping, and double click on minetest.exe%0a +host:1621068932=91.185.147.5 +author:1621068836=mkf +diff:1621068836:1621068776:=20c20,21%0a%3c Install minetest client from the [[https://www.minetest.net/downloads/|site]]%0a---%0a> Install minetest client from the site%0a> [[https://www.minetest.net/downloads/]]%0a +host:1621068836=91.185.147.5 +author:1621068776=mkf +csum:1621068776=removed duplicate download link +diff:1621068776:1621068711:=7a8,9%0a> %0a> Downloads: [[https://www.minetest.net/downloads/]]%0a +host:1621068776=91.185.147.5 +author:1621068711=mkf +diff:1621068711:1621068584:minor=25,26c25%0a%3c [[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win64.zip|64-bit Windows 8 and later]]%0a%3c %0a---%0a> [[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win64.zip|64-bit Windows 8 and later]] %0a28d26%0a%3c %0a +host:1621068711=91.185.147.5 +author:1621068584=mkf +diff:1621068584:1621068489:=29c29%0a%3c $ sudo apt install minetest%0a---%0a> sudo apt install minetest%0a36,45c36,40%0a%3c %0a%3c !! Usage%0a%3c Windows: Go to "bin" folder after unzipping, and double click on minetest.exe%0a%3c %0a%3c Linux and OpenBSD:%0a%3c [@%0a%3c $ minetest%0a%3c @]%0a%3c %0a%3c !!! join servers%0a---%0a> Win10: Go to "bin" folder after unzipping, and run minetest.exe%0a> %0a> Linux: cmd: [@minetest@]%0a> %0a> !!!join servers%0a +host:1621068584=91.185.147.5 +author:1621068489=mkf +csum:1621068489=apt-get -> apt +diff:1621068489:1621068447:=27,30c27%0a%3c Linux:%0a%3c [@%0a%3c sudo apt install minetest%0a%3c @]%0a---%0a> Linux: cmd: [@sudo apt-get install minetest@]%0a +host:1621068489=91.185.147.5 +author:1621068447=mkf +csum:1621068447=updated windows links, added 32bit +diff:1621068447:1620806010:=21c21%0a%3c !! Installation%0a---%0a> !!Usage%0a25,26c25,26%0a%3c [[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win64.zip|64-bit Windows 8 and later]] %0a%3c [[https://github.com/minetest/minetest/releases/download/5.4.1/minetest-5.4.1-win32.zip|32-bit Windows 8 and later]]%0a---%0a> Win10: [[https://github.com/minetest/minetest/releases/download/5.3.0/minetest-5.3.0-win64.zip]] %0a> %0a +host:1621068447=91.185.147.5 +author:1620806010=mkf +csum:1620806010=added openbsd +diff:1620806010:1610891337:=29,32d28%0a%3c OpenBSD:%0a%3c [@%0a%3c $ doas pkg_add minetest%0a%3c @]%0a56c52,53%0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a\ No newline at end of file%0a---%0a> Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a> %0a +host:1620806010=2.178.196.31 +author:1610891337=miniontoby +csum:1610891337=- missing +diff:1610891337:1610891301:=50c50%0a%3c ----%0a---%0a> ---%0a +host:1610891337=145.132.146.30 +author:1610891301=miniontoby +csum:1610891301=copyright +diff:1610891301:1610352906:=50,53c50%0a%3c ---%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a%3c %0a---%0a> (this isn't finished yet, updates will be made)%0a +host:1610891301=145.132.146.30 +author:1610352906=miniontoby +diff:1610352906:1607610321:=48d47%0a%3c [[https://minetest.grape.ircnow.org/ | Grape's MT Server List]]%0a +host:1610352906=141.138.217.186 +author:1607610321=miniontoby +diff:1607610321:1607352985:=26d25%0a%3c %0a29,30c28%0a%3c Win10: Go to "bin" folder after unzipping, and run minetest.exe%0a%3c %0a---%0a> win10: Go to "bin" folder after unzipping, and run minetest.exe%0a +host:1607610321=145.132.146.30 +author:1607352985=miniontoby +csum:1607352985=usage +diff:1607352985:1607260994:=20,37d19%0a%3c %0a%3c !!Usage%0a%3c Install minetest client from the site%0a%3c [[https://www.minetest.net/downloads/]]%0a%3c %0a%3c Win10: [[https://github.com/minetest/minetest/releases/download/5.3.0/minetest-5.3.0-win64.zip]] %0a%3c Linux: cmd: [@sudo apt-get install minetest@]%0a%3c %0a%3c win10: Go to "bin" folder after unzipping, and run minetest.exe%0a%3c Linux: cmd: [@minetest@]%0a%3c %0a%3c !!!join servers%0a%3c %0a%3c # Start Minetest%0a%3c # Go in the tabs to the tab called: "Join Game"%0a%3c # Click on an Server in the list OR Enter at "Address / Port" the address and port%0a%3c # Enter at "Name / Pasword" your nickname and password of the server%0a%3c # at first time joining an server mostly you need to type the password again%0a +host:1607352985=145.132.146.30 +author:1607260994=miniontoby +csum:1607260994=features changed +diff:1607260994:1607260347:=14c14,29%0a%3c [[https://www.minetest.net/#features]]%0a---%0a> !!!! Players:%0a> %0a> * '''Choose from Multiple Games''': There are many games to choose from. You could survive in a harsh environment, build creatively, or fight other players. Just download a game or connect to a server.%0a> * '''Enormous Maps''': With 62,000 × 62,000 × 62,000 blocks, there’s no running out of space. You can mine 31,000 blocks down, or build 31,000 blocks up.%0a> * '''Multiplayer Support''': Play by yourself, locally with your friends, or online with dozens of players on a server.%0a> * '''Texture Packs''': Not happy with the look of the textures? Change them!%0a> * '''Beautiful Map Generators''': Choose from many different fast map generators included in the engine, or install one as a mod.%0a> %0a> %0a> !!!! Developers%0a> %0a> * '''Make a Game''': Create your own voxel game using our Lua API. No need to worry about tricky voxel rendering or networking; instead, write scripts to add items and control game play.%0a> * '''Modding API''': Use the same Lua API to make mods for any Minetest-based game. Publish your mods on ContentDB, and contribute to others’ mods.%0a> * '''Large Collection of Existing Mods''': There are over 800 open source mods on ContentDB, which are ready to be used, adapted or learned from.%0a> * '''Friendly Community''': You can find help with any problems from our community.%0a> * '''Open Source''': The engine is open source and transparently developed. Submit an issue for anything you’re missing, or get the source code and dig into it yourself.%0a +host:1607260994=145.132.146.30 +author:1607260347=miniontoby +csum:1607260347=better listed +diff:1607260347:1607260141:=11d10%0a%3c %0a16,22c15,30%0a%3c * '''Choose from Multiple Games''': There are many games to choose from. You could survive in a harsh environment, build creatively, or fight other players. Just download a game or connect to a server.%0a%3c * '''Enormous Maps''': With 62,000 × 62,000 × 62,000 blocks, there’s no running out of space. You can mine 31,000 blocks down, or build 31,000 blocks up.%0a%3c * '''Multiplayer Support''': Play by yourself, locally with your friends, or online with dozens of players on a server.%0a%3c * '''Texture Packs''': Not happy with the look of the textures? Change them!%0a%3c * '''Beautiful Map Generators''': Choose from many different fast map generators included in the engine, or install one as a mod.%0a%3c %0a%3c %0a---%0a> !!!!! Choose from Multiple Games%0a> There are many games to choose from. You could survive in a harsh environment, build creatively, or fight other players. Just download a game or connect to a server.%0a> %0a> !!!!! Enormous Maps%0a> With 62,000 × 62,000 × 62,000 blocks, there’s no running out of space. You can mine 31,000 blocks down, or build 31,000 blocks up.%0a> %0a> !!!!! Multiplayer Support%0a> Play by yourself, locally with your friends, or online with dozens of players on a server.%0a> %0a> !!!!! Texture Packs%0a> Not happy with the look of the textures? Change them!%0a> %0a> !!!!! Beautiful Map Generators%0a> Choose from many different fast map generators included in the engine, or install one as a mod.%0a> %0a> %0a25,29c33,47%0a%3c * '''Make a Game''': Create your own voxel game using our Lua API. No need to worry about tricky voxel rendering or networking; instead, write scripts to add items and control game play.%0a%3c * '''Modding API''': Use the same Lua API to make mods for any Minetest-based game. Publish your mods on ContentDB, and contribute to others’ mods.%0a%3c * '''Large Collection of Existing Mods''': There are over 800 open source mods on ContentDB, which are ready to be used, adapted or learned from.%0a%3c * '''Friendly Community''': You can find help with any problems from our community.%0a%3c * '''Open Source''': The engine is open source and transparently developed. Submit an issue for anything you’re missing, or get the source code and dig into it yourself.%0a---%0a> !!!!! Make a Game%0a> Create your own voxel game using our Lua API. No need to worry about tricky voxel rendering or networking; instead, write scripts to add items and control game play.%0a> %0a> !!!!! Modding API%0a> Use the same Lua API to make mods for any Minetest-based game. Publish your mods on ContentDB, and contribute to others’ mods.%0a> %0a> !!!!! Large Collection of Existing Mods%0a> There are over 800 open source mods on ContentDB, which are ready to be used, adapted or learned from.%0a> %0a> !!!!! Friendly Community%0a> You can find help with any problems from our community.%0a> %0a> !!!!! Open Source%0a> The engine is open source and transparently developed. Submit an issue for anything you’re missing, or get the source code and dig into it yourself.%0a> %0a +host:1607260347=145.132.146.30 +author:1607260141=miniontoby +csum:1607260141=Features +diff:1607260141:1607259900:=3,4d2%0a%3c !!! About%0a%3c %0a10,47d7%0a%3c %0a%3c !!! Features%0a%3c %0a%3c !!!! Players:%0a%3c %0a%3c !!!!! Choose from Multiple Games%0a%3c There are many games to choose from. You could survive in a harsh environment, build creatively, or fight other players. Just download a game or connect to a server.%0a%3c %0a%3c !!!!! Enormous Maps%0a%3c With 62,000 × 62,000 × 62,000 blocks, there’s no running out of space. You can mine 31,000 blocks down, or build 31,000 blocks up.%0a%3c %0a%3c !!!!! Multiplayer Support%0a%3c Play by yourself, locally with your friends, or online with dozens of players on a server.%0a%3c %0a%3c !!!!! Texture Packs%0a%3c Not happy with the look of the textures? Change them!%0a%3c %0a%3c !!!!! Beautiful Map Generators%0a%3c Choose from many different fast map generators included in the engine, or install one as a mod.%0a%3c %0a%3c %0a%3c !!!! Developers%0a%3c %0a%3c !!!!! Make a Game%0a%3c Create your own voxel game using our Lua API. No need to worry about tricky voxel rendering or networking; instead, write scripts to add items and control game play.%0a%3c %0a%3c !!!!! Modding API%0a%3c Use the same Lua API to make mods for any Minetest-based game. Publish your mods on ContentDB, and contribute to others’ mods.%0a%3c %0a%3c !!!!! Large Collection of Existing Mods%0a%3c There are over 800 open source mods on ContentDB, which are ready to be used, adapted or learned from.%0a%3c %0a%3c !!!!! Friendly Community%0a%3c You can find help with any problems from our community.%0a%3c %0a%3c !!!!! Open Source%0a%3c The engine is open source and transparently developed. Submit an issue for anything you’re missing, or get the source code and dig into it yourself.%0a%3c %0a +host:1607260141=145.132.146.30 +author:1607259900=miniontoby +csum:1607259900=created +diff:1607259900:1607259900:=1,22d0%0a%3c !! Intro%0a%3c %0a%3c Minetest is an open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.%0a%3c %0a%3c Available for Windows, macOS, GNU/Linux, FreeBSD, OpenBSD, DragonFly BSD, and Android.%0a%3c %0a%3c Downloads: [[https://www.minetest.net/downloads/]]%0a%3c %0a%3c %0a%3c !! Mods%0a%3c %0a%3c You can install mods to make your game better or more functional%0a%3c %0a%3c %0a%3c !! Servers%0a%3c %0a%3c You can run and join servers,%0a%3c %0a%3c At ircnow we have some servers and there will be more%0a%3c %0a%3c %0a%3c (this isn't finished yet, updates will be made)%0a +host:1607259900=145.132.146.30 blob - /dev/null blob + e15b79f5133af38d64ce7c1a1ea1c47bac3cd831 (mode 644) --- /dev/null +++ wiki.d/Minetest.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (compatible; hjdicks) +charset=UTF-8 +ctime=1607259900 +host=5.238.190.1 +name=Minetest.RecentChanges +rev=42 +text=* [[Minetest/Updating]] . . . May 24, 2021, at 08:10 AM by [[~mkf]]: [=monospaced commands=]%0a* [[Minetest/Minetest]] . . . May 15, 2021, at 08:56 AM by [[~mkf]]: [==]%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* [[Minetest/Economy]] . . . April 15, 2021, at 02:32 PM by [[~jrmu]]: [==]%0a +time=1621843801 blob - /dev/null blob + 6d921648e5dddd6c57a22cf8c01f6bce86523c3c (mode 644) --- /dev/null +++ wiki.d/Minetest.Serverlocations @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=AES +charset=UTF-8 +csum= +ctime=1620817181 +host=198.251.81.119 +name=Minetest.Serverlocations +rev=1 +targets= +text=Minetest files can be found at%0a%0a```%0a/home/minetest/minetest4/%0a```%0a%0aminetest.conf%0a```%0a/home/minetest/minetest4/minetest.conf%0a```%0a==============================================%0a%0aThe executable command is %0a%0a```%0a/home/minetest/minetest4/bin/minetestserver%0a```%0aImportant: you must be *in* the pwd of /home/minetest/minetest4 to run the server. Use tmux or screen to have other terminals.%0a%0a%0a==============================================%0a%0a%0aThe world files are in %0a```%0a/home/minetest/minetest4/worlds/pineapple_server_3/%0a```%0a==============================================%0a%0a%0aThe game files are in %0a%0a```%0a/home/minetest/minetest4/games/aes_game%0a```%0a%0aDo not edit the game files directly! They are all stored in the gitlab repo:%0ahttps://gitlab.com/arcadeemulationserver/aes_game%0a%0aAll changes should be commited to that repo, and pulled from the server. See "updating the game"%0a%0a==============================================%0a%0a%0a +time=1620817181 +author:1620817181=AES +diff:1620817181:1620817181:=1,44d0%0a%3c Minetest files can be found at%0a%3c %0a%3c ```%0a%3c /home/minetest/minetest4/%0a%3c ```%0a%3c %0a%3c minetest.conf%0a%3c ```%0a%3c /home/minetest/minetest4/minetest.conf%0a%3c ```%0a%3c ==============================================%0a%3c %0a%3c The executable command is %0a%3c %0a%3c ```%0a%3c /home/minetest/minetest4/bin/minetestserver%0a%3c ```%0a%3c Important: you must be *in* the pwd of /home/minetest/minetest4 to run the server. Use tmux or screen to have other terminals.%0a%3c %0a%3c %0a%3c ==============================================%0a%3c %0a%3c %0a%3c The world files are in %0a%3c ```%0a%3c /home/minetest/minetest4/worlds/pineapple_server_3/%0a%3c ```%0a%3c ==============================================%0a%3c %0a%3c %0a%3c The game files are in %0a%3c %0a%3c ```%0a%3c /home/minetest/minetest4/games/aes_game%0a%3c ```%0a%3c %0a%3c Do not edit the game files directly! They are all stored in the gitlab repo:%0a%3c https://gitlab.com/arcadeemulationserver/aes_game%0a%3c %0a%3c All changes should be commited to that repo, and pulled from the server. See "updating the game"%0a%3c %0a%3c ==============================================%0a%3c %0a%3c %0a +host:1620817181=198.251.81.119 blob - /dev/null blob + 52dc934dc338a7f2722ee51872c29319ae0cae1f (mode 644) --- /dev/null +++ wiki.d/Minetest.Texturestyle @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=AES +charset=UTF-8 +csum= +ctime=1620817204 +host=198.251.81.119 +name=Minetest.Texturestyle +rev=1 +targets= +text=When we make textures for the server, we use the Zughy_32 palate %0ahttps://lospec.com/palette-list/zughy-32%0a%0aWe only use these colors on the server, if at all possible.%0a%0aTypically, if you are making a humaniod skin, you should start with the default skins found in skins_collectible and edit it to your needs.%0a +time=1620817204 +author:1620817204=AES +diff:1620817204:1620817204:=1,6d0%0a%3c When we make textures for the server, we use the Zughy_32 palate %0a%3c https://lospec.com/palette-list/zughy-32%0a%3c %0a%3c We only use these colors on the server, if at all possible.%0a%3c %0a%3c Typically, if you are making a humaniod skin, you should start with the default skins found in skins_collectible and edit it to your needs.%0a +host:1620817204=198.251.81.119 blob - /dev/null blob + 474d880fdb5d5289255f42ca9593c7011eae9cd6 (mode 644) --- /dev/null +++ wiki.d/Minetest.Updating @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (compatible; hjdicks) +author=mkf +charset=UTF-8 +csum=monospaced commands +ctime=1620817363 +host=5.238.190.1 +name=Minetest.Updating +rev=2 +targets= +text=first, on your own computer, clone the repo https://gitlab.com/arcadeemulationserver/aes_game using the recursive option so you can edit the files locally.%0a%0a[@%0agit clone https://gitlab.com/arcadeemulationserver/aes_game --recursive%0a@]%0aThis will also download the submodules (mods) that are linked in the main game repo.%0a%0a++++%0a OR%0a++++%0a%0aIf you already have the aes_game downloaded with git, then you should pull it instead of cloning it.%0a%0a[@%0acd %3cpath_to_aes_game>%0agit pull%0agit submodule update%0a@]%0athat will pull the latest game files and mod files (submodules)%0a%0a=====================================%0a%0aEditing Mods (that we own in our group)%0a%0a=====================================%0a%0a1) cd into the mod that you want to edit%0a%0a2) checkout the branch "master" (or "main", occasionally!) using the command line, in the mod directory%0a%0a[@%0agit checkout master%0agit pull%0a@]%0a%0a3) Open the files you want to edit and edit them, or add files, or remove files as you like%0a%0a4) Go back to the command line, make sure you are in the mod directory (cd into it)%0a%0a5) add all changes to the commit%0a%0a[@%0agit add -A%0a@]%0a%0a6) make your commit, and label it with a message%0a%0a[@%0agit commit -m "your message here"%0a@]%0a%0a7) push the commit to the online repo%0a%0a[@ %0agit push%0a@]%0a%0athis will ask you for your gitlab username and password%0a%0a8) cd into the upper aes_game repo%0a%0a[@%0acd ..%0a@]%0a(moves you up one folder)%0a%0a9) to make the main game repo pull the submodule at the correct commit, you now have to add the changes to the main repo%0a%0a(in the main aes_game repo)%0a%0a[@%0agit add -A%0agit commit -m "your commit message here"%0agit push%0a@]%0a%0athis will ask you for your gitlab username and password%0a%0a%0a%0a%0a==========================================%0a%0aAdding submodules (new mods)%0a%0a==========================================%0a%0aMake sure aes_game is up-to-date on your local copy%0a%0a%0awe typically should have a copy of the repo under our gitlab group. Go to our Gitlab group:%0ahttps://gitlab.com/arcadeemulationserver%0a%0aClick New Project%0a%0aIf we are cloning an existing mod, then click "import project/repository" %0a%0aClick "Repo by URL"%0a%0aPaste the URL of the existing repo%0a%0aIf we will be editing the mod ourselves, then make sure the checkbox "Mirror Repository" IS NOT CHECKED%0a%0aIf we will just be using someone else's mod *without* editing it ourselves, then make sure that "Mirror Repository" IS CHECKED%0a%0aIt is better to Mirror the repository at first, because we can always stop mirroring in settings.%0a%0aMake sure the project is "public" (its the last option)%0a%0a%0a%0aGo ahead and make the project and COPY its repo location (the web address)%0a%0aFor example, the repo location of Arena_lib is https://gitlab.com/arcadeemulationserver/arena_lib%0a%0aYours will be different.%0a%0a%0aThen go to your terminal on your computer, cd into aes_game, make sure its up-to-date, and then run:%0a%0a[@%0agit submodule add %3cpath-to-the repo-you copied> mods/%3cmodname>%0a@]%0a%0aThat will put the mod in a submodule folder in aes_game/mods/%3cmodname> %0a%0aThen you have to add the change to the main repo%0a%0a[@%0agit add -A%0agit commit -m "your commit message here"%0agit push%0a@]%0a%0a==================================================%0a%0aUpdating the server%0a%0a==================================================%0a%0aAfter you have made changes to the game files, and uploaded them to the online repo, you can update the game files.%0a%0aon the server, %0a%0a[@%0acd /home/minetest/minetest4/games/aes_game%0agit pull%0agit submodule update%0a@]%0a%0a +time=1621843801 +author:1621843801=mkf +csum:1621843801=monospaced commands +diff:1621843801:1620817363:=0a1%0a> %0a3c4%0a%3c [@%0a---%0a> ```%0a5c6%0a%3c @]%0a---%0a> ```%0a14c15%0a%3c [@%0a---%0a> ```%0a15a17%0a> %0a16a19%0a> %0a18c21,23%0a%3c @]%0a---%0a> %0a> ```%0a> %0a31c36%0a%3c [@%0a---%0a> ```%0a34,35c39,40%0a%3c @]%0a%3c %0a---%0a> ```%0a> %0a42c47%0a%3c [@%0a---%0a> ```%0a44,45c49%0a%3c @]%0a%3c %0a---%0a> ```%0a48c52%0a%3c [@%0a---%0a> ```%0a50,51c54,55%0a%3c @]%0a%3c %0a---%0a> ```%0a> %0a54c58%0a%3c [@ %0a---%0a> ``` %0a56,57c60%0a%3c @]%0a%3c %0a---%0a> ```%0a62c65%0a%3c [@%0a---%0a> ```%0a64c67%0a%3c @]%0a---%0a> ```%0a71c74%0a%3c [@%0a---%0a> ```%0a75,76c78%0a%3c @]%0a%3c %0a---%0a> ```%0a121c123%0a%3c [@%0a---%0a> ```%0a123,124c125,126%0a%3c @]%0a%3c %0a---%0a> ```%0a> %0a129c131%0a%3c [@%0a---%0a> ```%0a133,134c135,136%0a%3c @]%0a%3c %0a---%0a> ```%0a> %0a145c147%0a%3c [@%0a---%0a> ```%0a146a149%0a> %0a147a151%0a> %0a149c153,154%0a%3c @]%0a---%0a> ```%0a> %0a +host:1621843801=5.238.190.1 +author:1620817363=AES +diff:1620817363:1620817363:=1,155d0%0a%3c %0a%3c first, on your own computer, clone the repo https://gitlab.com/arcadeemulationserver/aes_game using the recursive option so you can edit the files locally.%0a%3c %0a%3c ```%0a%3c git clone https://gitlab.com/arcadeemulationserver/aes_game --recursive%0a%3c ```%0a%3c This will also download the submodules (mods) that are linked in the main game repo.%0a%3c %0a%3c ++++%0a%3c OR%0a%3c ++++%0a%3c %0a%3c If you already have the aes_game downloaded with git, then you should pull it instead of cloning it.%0a%3c %0a%3c ```%0a%3c cd %3cpath_to_aes_game>%0a%3c %0a%3c git pull%0a%3c %0a%3c git submodule update%0a%3c %0a%3c ```%0a%3c %0a%3c that will pull the latest game files and mod files (submodules)%0a%3c %0a%3c =====================================%0a%3c %0a%3c Editing Mods (that we own in our group)%0a%3c %0a%3c =====================================%0a%3c %0a%3c 1) cd into the mod that you want to edit%0a%3c %0a%3c 2) checkout the branch "master" (or "main", occasionally!) using the command line, in the mod directory%0a%3c %0a%3c ```%0a%3c git checkout master%0a%3c git pull%0a%3c ```%0a%3c %0a%3c 3) Open the files you want to edit and edit them, or add files, or remove files as you like%0a%3c %0a%3c 4) Go back to the command line, make sure you are in the mod directory (cd into it)%0a%3c %0a%3c 5) add all changes to the commit%0a%3c %0a%3c ```%0a%3c git add -A%0a%3c ```%0a%3c 6) make your commit, and label it with a message%0a%3c %0a%3c ```%0a%3c git commit -m "your message here"%0a%3c ```%0a%3c %0a%3c 7) push the commit to the online repo%0a%3c %0a%3c ``` %0a%3c git push%0a%3c ```%0a%3c this will ask you for your gitlab username and password%0a%3c %0a%3c 8) cd into the upper aes_game repo%0a%3c %0a%3c ```%0a%3c cd ..%0a%3c ```%0a%3c (moves you up one folder)%0a%3c %0a%3c 9) to make the main game repo pull the submodule at the correct commit, you now have to add the changes to the main repo%0a%3c %0a%3c (in the main aes_game repo)%0a%3c %0a%3c ```%0a%3c git add -A%0a%3c git commit -m "your commit message here"%0a%3c git push%0a%3c ```%0a%3c this will ask you for your gitlab username and password%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c ==========================================%0a%3c %0a%3c Adding submodules (new mods)%0a%3c %0a%3c ==========================================%0a%3c %0a%3c Make sure aes_game is up-to-date on your local copy%0a%3c %0a%3c %0a%3c we typically should have a copy of the repo under our gitlab group. Go to our Gitlab group:%0a%3c https://gitlab.com/arcadeemulationserver%0a%3c %0a%3c Click New Project%0a%3c %0a%3c If we are cloning an existing mod, then click "import project/repository" %0a%3c %0a%3c Click "Repo by URL"%0a%3c %0a%3c Paste the URL of the existing repo%0a%3c %0a%3c If we will be editing the mod ourselves, then make sure the checkbox "Mirror Repository" IS NOT CHECKED%0a%3c %0a%3c If we will just be using someone else's mod *without* editing it ourselves, then make sure that "Mirror Repository" IS CHECKED%0a%3c %0a%3c It is better to Mirror the repository at first, because we can always stop mirroring in settings.%0a%3c %0a%3c Make sure the project is "public" (its the last option)%0a%3c %0a%3c %0a%3c %0a%3c Go ahead and make the project and COPY its repo location (the web address)%0a%3c %0a%3c For example, the repo location of Arena_lib is https://gitlab.com/arcadeemulationserver/arena_lib%0a%3c %0a%3c Yours will be different.%0a%3c %0a%3c %0a%3c Then go to your terminal on your computer, cd into aes_game, make sure its up-to-date, and then run:%0a%3c %0a%3c ```%0a%3c git submodule add %3cpath-to-the repo-you copied> mods/%3cmodname>%0a%3c ```%0a%3c %0a%3c That will put the mod in a submodule folder in aes_game/mods/%3cmodname> %0a%3c %0a%3c Then you have to add the change to the main repo%0a%3c %0a%3c ```%0a%3c git add -A%0a%3c git commit -m "your commit message here"%0a%3c git push%0a%3c ```%0a%3c %0a%3c ==================================================%0a%3c %0a%3c Updating the server%0a%3c %0a%3c ==================================================%0a%3c %0a%3c After you have made changes to the game files, and uploaded them to the online repo, you can update the game files.%0a%3c %0a%3c on the server, %0a%3c %0a%3c ```%0a%3c cd /home/minetest/minetest4/games/aes_game%0a%3c %0a%3c git pull%0a%3c %0a%3c git submodule update%0a%3c ```%0a%3c %0a%3c %0a +host:1620817363=198.251.81.119 blob - /dev/null blob + 0f0d793f2b15e594982e252b9c5b3e45488b09cb (mode 644) --- /dev/null +++ wiki.d/Minetest.Worldbackup @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=AES +charset=UTF-8 +csum= +ctime=1620817374 +host=198.251.81.119 +name=Minetest.Worldbackup +rev=1 +targets= +text=%0aThe world files are in %0a```%0a/home/minetest/minetest4/worlds/pineapple_server_3/%0a```%0a%0aEvery so often (once a week or so, unless no world changes have occurred), we shutdown the minetest program, and run the following commands:%0a%0a```%0acd /home/minetest/minetest4/worlds/%0a%0arm -rf pineapple_server_3_backup_2%0a%0acp pineapple_server_3_backup_1 pineapple_server_3_backup_2%0a%0arm -rf pineapple_server_3_backup_1%0a%0acp pineapple_server_3 pineapple_server_3_backup_1%0a%0a```%0aWe should also backup the world off-server occasionally%0a +time=1620817374 +author:1620817374=AES +diff:1620817374:1620817374:=1,21d0%0a%3c %0a%3c The world files are in %0a%3c ```%0a%3c /home/minetest/minetest4/worlds/pineapple_server_3/%0a%3c ```%0a%3c %0a%3c Every so often (once a week or so, unless no world changes have occurred), we shutdown the minetest program, and run the following commands:%0a%3c %0a%3c ```%0a%3c cd /home/minetest/minetest4/worlds/%0a%3c %0a%3c rm -rf pineapple_server_3_backup_2%0a%3c %0a%3c cp pineapple_server_3_backup_1 pineapple_server_3_backup_2%0a%3c %0a%3c rm -rf pineapple_server_3_backup_1%0a%3c %0a%3c cp pineapple_server_3 pineapple_server_3_backup_1%0a%3c %0a%3c ```%0a%3c We should also backup the world off-server occasionally%0a +host:1620817374=198.251.81.119 blob - /dev/null blob + 26079f56e26765a75206f7754ea93b9ba9748546 (mode 644) --- /dev/null +++ wiki.d/Minutemin.Bootcamp @@ -0,0 +1,382 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614484360 +host=38.87.162.8 +name=Minutemin.Bootcamp +rev=122 +targets=Irc.Guide,Shell.Shell,Unix101.Unix101,Bouncer.Bouncer,Irc.Services,Irc.Chanop,User.Welcome,Ircnow.Goals,Congress.Procedure,Unix101.Vi,Unix101.Mg,Unix101.Filesystem,Unix101.Files,Unix101.Commands,Eggdrop.Install,Eggdrop.Rss,Eggdrop.Trivia,Eggdrop.Duckhunt,Eggdrop.Biblebot,Znc.Install,Psybnc.Install,Ngircd.Shell,Hopm.Install,Mutt.Shell,Web101.Web101,Perl101.Perl101,Shell101.Shell101,Openbsd.Intro,Doas.Configure,Syspatch.Syspatch,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Tcpip.Sockets,Openbsd.Netmask,Openbsd.Anycast,Openbsd.Staticnet,Minutemin.Ifconfig,Minutemin.Route,Openbsd.Dhcpd,Openbsd.Ntpd,Openbsd.Pf,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Ircnow.Roadmap,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Minutemin.Questions,Servers.Rights,Openbsd.Announce,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,Ngircd.Oper,Ngircd.Install,Netcat.Irc,Netcat.Smtp,Netcat.Imap,Netcat.Http,Openbsd.Ping,Openbsd.Dig,Telnet.Http,Openssl.Http,Chroot.Intro,Openhttpd.Configure,Openhttpd.Hosting,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Squirrelmail.Install,Openbsd.Manna,Acme-client.Configure,Openbsd.Pmwiki,Znc.Chroot,Relayd.Acceleration,Oidentd.Install,Oidentd.ZNC,Openbsd.Ilines,Openbsd.Identd,Dns.Overview,Dns.Records,Dns.Registrars,Openbsd.Vhost,Dns.FQDN,Nsd.Configure,Nsd.Masterslave,Nsd.Troubleshoot,Openbsd.RDNS,Dns.Zonefile,Openbsd.Delphinusdnsd,Unbound.Configure,Dig.Usage,Host.Usage,Openbsd.Unboundadblock,Openbsd.Dnsbl,Openbsd.Rbldns,Opensmtpd.Configure,DNS.Mail,Openbsd.Spf,Openbsd.Dkimproxy,Openbsd.Dmarc,Mail.Test,Mail.Openrelay,Openbsd.Dovecot,Openbsd.Team,Openbsd.Stable,Openbsd.Testing,Ircnow.Networks,Openbsd.Botnow,ZNC.User,ZNC.Admin,ZNC.Support,ZNC.Modules,Openbsd.Wraith,Openbsd.FilePermissions,Cvs.Intro,Cvs.Commit,Cvs.Anoncvs,Cvs.Cvsweb,Got.Usage,Openbsd.Gotweb,Openbsd.Sftp,Openbsd.Sshkeys,Openbsd.Sshbackdoor,Openbsd.Vmmuser,Openbsd.Install69,Openbsd.Upgrade69,Openbsd.Bsdrd,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Newdisk,Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Vmminstall,Openbsd.Vmmlinux,Openbsd.Upgrade67,Openbsd.Sysupgrade68,Pf.Guide,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Ddos,DNS.Ipv6rDNS,Openbsd.Iked,Openbsd.Police,Gnupg.Create,Gnupg.Verify,Gnupg.Signature,Netpgp.Create,Signify.Verify,Vpn.Vpn,Tor.Torsocks,Tor.Hidden,Tor.Irc,Openbsd.Sshd,Ssh.Client,Openbsd.Ii,Openbsd.Sic,Ngircd.Link,Ngircd.Ssl,Openbsd.Acopm,Achurch.Install,Anope.Install,Pylink.Install,Openbsd.Bitlbee,Openbsd.Matterbridge,Openbsd.Eggdrop,Openbsd.Tcltls,Openbsd.Biblebot,Openbsd.Censord,Openbsd.Ircrelayd,Openbsd.CPAN +text=(:title Minutemin Bootcamp:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[irc/guide|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a|| [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || free space to host your needs || Free Liberty Shell ||%0a|| [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || knowledge about how everything works || Unlock Minutemin Path ||%0a|| [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || 24/7 logs of the IRC || Free Bouncer ||%0a|| [[irc/services|Services]] || IRC || IRC Services || || Auto Voice/Op || Register Username and Channel ||%0a|| [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Your own channels || Unlock Op of Liberty Path ||%0a|| [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || nice users || ||%0a|| [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || ideas to help || Unlocks Netizenship Path ||%0a|| [[congress/procedure|Congress Procedure]] || Civics || Learn about procedure in Congress || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[unix101/vi|Learn vi]] || Shell || Learn vi || Files || File abilities || Create and Edit Files ||%0a|| [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || Files || More file abilities || Create and Edit Files ||%0a|| [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || SSH connection || Knowledge about our system || ||%0a|| [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || SSH connection || Knowledge about files || ||%0a|| [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || SSH connection || Knowledge about all commands || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[eggdrop/install|Install Eggdrop]] || IRC || Install Eggdrop || Eggdrop || || Create First IRC Bot ||%0a|| [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || Eggdrop || || Create IRC News Channel ||%0a|| [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || Eggdrop || || Create IRC Trivia Game ||%0a|| [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || Eggdrop || || Create IRC Duck Hunt ||%0a|| [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || Eggdrop || || Create IRC Bible Channel ||%0a|| [[znc/install|Install ZNC]] || IRC || Install ZNC || Shell account || Your own Bouncer || Create your own ZNC ||%0a|| [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || Your own vps || Your own Bouncer || Create your own ZNC ||%0a|| [[ngircd/shell|Setup ngIRCd]] || IRC || Set up Chat Server with ngIRCd || Your own vps || Your own Bouncer || Create your own ZNC ||%0a|| [[hopm/install|hopm]] || IRC || || || || ||%0a|| [[mutt/shell|Configure Mutt]] || IRC || Set Up Command-line Email || Your own vps || Set Up Email Account || Set Up Email ||%0a|| [[web101/web101|Web101]] || Web || Code Personal Website || Your own website || Set Up Personal Website || Set Up Website ||%0a|| [[perl101/perl101|perl101]] || Perl || Learn Perl Scripting || Learn to Code || Learn Perl Scripting || Learn to Code ||%0a|| [[shell101/shell101|shell101]] || Shell || Learn Shell Scripting || Learn to Code || Learn Shell Scripting || Learn to Code ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/intro|Intro]] || BSD || || || || ||%0a|| [[doas/configure|Configure doas]] || Unix || Give yourself root powers using doas || Your own vps || Root Powers || More possiblities ||%0a|| [[syspatch/syspatch|syspatch]] || Unix || Patch your system || || || Upgrade to Stable ||%0a|| [[tcpip/overview|TCP/IP Networking]] || Network || Learn Basics of TCP/IP || || || ||%0a|| [[IPv4/overview|IPv4 Networking]] || Network || Learn IPv4 Networking || || || ||%0a|| [[IPv6/overview|IPv6 Networking]] || Network || Learn IPv6 Networking || || || ||%0a|| [[tcpip/sockets|sockets]] || Network || || || || ||%0a|| [[openbsd/netmask|Netmasks]] || Network || || || || ||%0a|| [[openbsd/anycast|Anycast Addresses]] || Network || || || || ||%0a|| [[openbsd/staticnet|Static Networking]] || Network || || || ||%0a|| [[ifconfig|ifconfig]] || Network || || || || ||%0a|| [[route|route]] || Network || || || || ||%0a|| [[openbsd/dhcpd]] || Network || || || || ||%0a|| [[openbsd/ntpd|ntpd]] || Network || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/pf|Packet Filter]] || Network || || || || ||%0a|| [[openbsd/SSDP|SSDP attack]] || Network || || || || ||%0a|| [[openbsd/ACKFlood|TCP ack flood]] || Network || || || || ||%0a|| [[openbsd/RSTFlood|TCP reset flood]] || Network || || || || ||%0a|| [[openbsd/SYNFlood|SYN Flood]] || Network || || || || ||%0a|| [[openbsd/HTTPFlood|HTTP Flood]] || Network || || || || ||%0a|| [[openbsd/NTPAmplification|NTP Amplification]] || Network || || || || ||%0a|| [[openbsd/UDPFlood|UDP Flood]] || Network || || || || ||%0a|| [[openbsd/amplification|amplification attack]] || Network || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[Ircnow/Roadmap|IRCNow Roadmap]] || Civics || Plan the IRCNow Roadmap || || || ||%0a|| [[Minutemin/Code|Minutemin's Code]] || Civics || Recite the Code of Honor || || || ||%0a|| [[Minutemin/Server|Minutemin's Server]] || Civics || The Minutemin's Server || || || ||%0a|| [[Minutemin/Duty|Call of Duty]] || Civics || The Call of Duty || || || Promotion to Minutemin ||%0a|| [[Minutemin/Questions|Good Questions]] || Civics || How to Ask Good Questions || || || ||%0a|| [[Servers/Rights|Servers' Rights]] || Civics || Servers' Rights || || || ||%0a|| [[Openbsd/Announce|Announcements]] || Civics || How to Make Announcements || || || ||%0a|| [[netizen/become|Become a Netizen]] || Civics || || || || ||%0a|| [[netizen/rights|Netizen Rights]] || Civics || || || || ||%0a|| [[freedom/selfadmin|Self-Admin]] || Civics || Understand Self Admin || || || ||%0a|| [[Freedom/Independence|Independence]] || Civics || Declaration of Network Independence || || || ||%0a|| [[freedom/fork|Freedom to Fork]] || Civics || Preserve the Freedom to Fork || || || ||%0a|| [[ircnow/constitution|Constitution]] || Civics || Read the Constitution and Bill of Rights || || || Unlock Netizenship Path ||%0a|| [[freedom/religion|Religious Liberty]] || Civics || Freedom of Religion Guarantee || || || ||%0a|| [[freedom/firstamendment|Free Press]] || Civics || Freedom of Speech and of the Press || || || ||%0a|| [[freedom/software|Software Freedom]] || Civics || Software Freedom || || || ||%0a|| [[freedom/privacy|Privacy]] || Civics || Right to Privacy || || || ||%0a|| [[freedom/homestead|Free Homestead VPS]] || Civics || || || || ||%0a|| [[freedom/madeonirc|Made on IRC]] || Civics || || || || ||%0a|| [[freedom/unix|Unix Work Ethic]] || Civics || || || || || ||%0a|| [[freedom/startupdream|The Startup Dream]] || Civics || || || || ||%0a|| [[freedom/openforeveryone|Open For Everyone]] || Civics || || || || ||%0a|| [[freedom/dueprocess|Due Process]] || Civics || || || || ||%0a|| [[freedom/checks|Checks and Balances]] || Civics || || || || ||%0a|| [[freedom/rulebylaw|Rule by Law]] || Civics || || || || ||%0a|| [[freedom/federation|Federation]] || Civics || || || || ||%0a|| [[freedom/union|United We Serve]] || Civics || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[ngircd/oper|Oper Guide]] || IRC || Learn to Oper an IRC Server || || || Unlock Oper Status ||%0a|| [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || || ||%0a|| [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || || ||%0a|| [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || ||%0a|| [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || ||%0a|| [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || ||%0a|| [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || ||%0a|| [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || ||%0a|| [[openbsd/dig|dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a|| [[telnet/http|Telnet HTTP]] || Network || || || ||%0a|| [[openssl/http|OpenSSL HTTP]] || Network || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[chroot/intro|Intro to Chroot]] || BSD || Learn about Chroots || || || Unlock ||%0a|| [[Openhttpd/Configure|Simple OpenHTTPd]] || Web || Configure a Simple Web Server || || || Host your own Website ||%0a|| [[Openhttpd/Hosting|Multi-user OpenHTTPd]] || Web || Configure Multi-user Web Hosting || || || Webhosting for Others ||%0a|| [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a|| [[Openhttpd/Perl|OpenHTTPd Perl]] || Web || Run Perl inside OpenHTTPd chroot || || || Install Perl Web Apps ||%0a|| [[Openbsd/Php|OpenHTTPd PHP]] || Web || Configure PHP for OpenHTTPd chroot || || || Install PHP Web Apps ||%0a|| [[squirrelmail/install|SquirrelMail]] || Web || || || || Host your own webmail ||%0a|| [[openbsd/manna]] || Web || || || || Host your own web Bible ||%0a|| [[acme-client/configure|acme-client]] || Security || Request an SSL cert || || || Get SSL protection ||%0a|| [[openbsd/pmwiki|PMWiki]] || Web || Setup your own private wiki || || || Setup your own private wiki ||%0a|| [[znc/chroot|Chroot ZNC]] || IRC || Securely install ZNC || || || Offer users secure ZNCs ||%0a|| [[relayd/acceleration|TLS Acceleration]] || Security || Encrypt traffic with TLS || || || Host multiple services securely ||%0a|| [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on ZNC and shell servers ||%0a|| [[Oidentd/ZNC|Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a|| [[openbsd/ilines|ilines]] || IRC || Request connection limit exceptions from IRC networks || || || ZNC users can chat on other networks ||%0a|| [[openbsd/identd|identd]] ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[dns/overview|DNS Overview]] || DNS || Learn the Domain Name System || || || ||%0a|| [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || ||%0a|| [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || || Purchase Custom Domains ||%0a|| [[openbsd/vhost|vhost]] || Configure vhost || || || || Unlock Custom Vhost ||%0a|| [[dns/FQDN|FQDN]] || DNS || Understand FQDN and $ORIGIN || || || ||%0a|| [[nsd/configure|nsd]] || DNS || Configure Authoritative Name Server || || || Support custom domains ||%0a|| [[nsd/masterslave|nsd master slave]] || DNS || || || || ||%0a|| [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || || || ||%0a|| [[openbsd/rDNS|rDNS]] || DNS || Configure reverse DNS || || || Provide custom vhosts ||%0a|| [[dns/zonefile|Zone File]] || DNS || || || || ||%0a|| [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[unbound/configure|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a|| [[dig/usage|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a|| [[host/usage|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a|| [[openbsd/unboundadblock|unbound adblock]] || || || || || ||%0a|| [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || || ||%0a|| [[openbsd/rbldns|rbldns]] || DNS || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/staticnet|Static IPs]] || Network || Configure Static Networking || || || Add IPv6 Support ||%0a|| [[opensmtpd/configure|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a|| [[DNS/Mail|DNS for Mail]] || Mail || Create Mail DNS records || || || ||%0a|| [[openbsd/spf|SPF]] || Mail || Configure SPF records || || || Avoid Spam Folder ||%0a|| [[openbsd/dkimproxy|DKIM]] || Mail || Set up DKIM signing || || || Avoid Spam Folder ||%0a|| [[openbsd/dmarc|DMARC]] || Mail || Set up DMARC || || || Block Phishing and Spam ||%0a|| [[mail/test]] || Mail || Test sending mail || || || Send test letter ||%0a|| [[mail/openrelay]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a|| [[openbsd/Dovecot|Dovecot]] || Mail || Install POP and IMAP server || || || Read from your own mail server ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/Team|Team Procedure]] || Civics || Follow Team Procedure || || || ||%0a|| [[Openbsd/Stable|Stable Procedure]] || Civics || Follow Team Procedure for Stable Servers || || || Promoted to Minutemin ||%0a|| [[Openbsd/Testing|Testing Procedure]] || Civics || Follow Team Procedure for Testing Servers || || || Promoted to Minutemin ||%0a|| [[ircnow/networks|Claim Networks]] || Civics || Understand Network Procedure || || || Claim Team Networks ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[openbsd/botnow|botnow]] || IRC || Install botnow || || || Provide bnc, mail, vpn, and shells over IRC ||%0a|| [[ZNC/User|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a|| [[ZNC/Admin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a|| [[ZNC/Support|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a|| [[ZNC/Modules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a|| [[Openbsd/Wraith|Wraith]] || IRC || Set up a botnet || || || Offer channel protection ||%0a|| [[openbsd/FilePermissions|File Permissions]] || Security || Fix insecure file permissions || || || Secure your server ||%0a|| [[cvs/intro|CVS Intro]] || Code || Set up version control || || || Unlock Code Force Path ||%0a|| [[cvs/commit|CVS Repos]] || Code || Learn to manage CVS repos || || || ||%0a|| [[cvs/anoncvs|Anoncvs]] || Code || Provide read-only CVS access || || || ||%0a|| [[cvs/cvsweb|CVSweb]] || Code || Provide read-only CVS web access || || || ||%0a|| [[got/usage|got]] || Code || Set up version control || || || Unlock Code Force Path ||%0a|| [[openbsd/gotweb|gotweb]] || Code || Set up web viewer for version control || || || ||%0a|| [[openbsd/sftp|chroot sftp]] || File || Set up a secure sftp server || || || Provide file hosting for users ||%0a|| [[openbsd/sshkeys|ssh keys]] || Crypto || || || || ||%0a|| [[Openbsd/Sshbackdoor|ssh backdoor]] || Crypto || || || || ||%0a|| [[openbsd/vmmuser|VMM User Guide]] || BSD || || || || Control your VPS ||%0a|| [[openbsd/install69|Install OpenBSD 6.9]] || BSD || || || || Install OpenBSD 6.9 ||%0a|| [[openbsd/upgrade69|Upgrade OpenBSD 6.9]] || BSD || || || || Upgrade OpenBSD 6.9 ||%0a|| [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD ||%0a|| [[openbsd/fdisk|fdisk]] || BSD || || || || Partition Hard Disk ||%0a|| [[openbsd/disklabel|disklabel]] || BSD || || || || Partition Hard Disk ||%0a|| [[openbsd/growfs|growfs]] || BSD || || || || Grow a Disk Partition ||%0a|| [[openbsd/newdisk|newdisk]] || BSD || || || || Add a New Hard Disk ||%0a|| [[openbsd/tcpdump|tcpdump]] || Network || Read network packets || || || ||%0a|| [[openbsd/buyvm|Buyvm Guide]] || BSD || || || || ||%0a|| [[openbsd/vmminstall|VMM Install]] || BSD || || || || ||%0a|| [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || || ||%0a|| [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || || ||%0a|| [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || || ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[pf/guide|Packet Filter]] || Network || Learn Packet Filter || || || Set up firewall ||%0a|| [[openbsd/PFStable|PF Stable]] || Network || Configure Packet Filter for Stable Server || || || Set up firewall ||%0a|| [[openbsd/PFTesting|PF Testing]] || Network || Configure Packet Filter for Testing Server || || || Set up firewall ||%0a|| [[openbsd/ddos|DDoS Defense]] || Network || Practice DDoS Defense || || || Defend against DDoS Attacks ||%0a|| [[DNS.Ipv6rDNS|rDNS zone]] || Network || Setup IPv6 rDNS zone || || || Unlock custom vhosts ||%0a|| [[openbsd/iked|iked]] || Network || Provide IPSec using openIKED || || || Provide VPNs to users ||%0a|| [[openbsd/police|Police Guide]] || Security || Learn police investigation techniques || || || Detect and ban abusers ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a|| [[gnupg/create|Create PGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a|| [[gnupg/verify|Verify signature]] || Security || [[gnupg/signature|Verify PGP signature]] || || || Verify signatures and downloads ||%0a|| [[netpgp/create|Create netPGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a|| [[signify/verify|signify]] || Security || Verify software download || || || Verify software download ||%0a|| [[openbsd/iked|iked]] || Security || IPSec VPN with iked || || || Provide VPN service ||%0a|| [[vpn/vpn|VPN clients]] || Security || Configure IPSec VPN client || || || Use VPN ||%0a|| [[tor/torsocks|torsocks]] || Security || Connect to networks with tor || || || Cloak IP address for privacy ||%0a|| [[tor/hidden|Hidden Services]] || Security || Provide tor hidden services || || || Provide anonymity for users ||%0a|| [[tor/irc|IRC with Tor]] || Security || Connect to IRC with tor || || || Cloak IP address for privacy ||%0a|| [[openbsd/sshd|sshd]] || Security || Configure and start sshd || || || Login to server securely ||%0a|| [[ssh/client|ssh]] || Security || Configure and connect using ssh || || || Login to server securely ||%0a|| [[openbsd/sshkeys|SSH keys]] || Security || Verify ssh keys || || || Connect to server securely ||%0a|| [[openbsd/sshbackdoor|SSH backdoor]] || Security || Configure backdoor to connect to server during a DDoS Attack || || || ||%0a|| [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%0a||! Clients ||||||||||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a||! Servers ||||||||||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a|| [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || || ||%0a||! Services ||||||||||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a||! Relays ||||||||||%0a|| [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a||! Bots ||||||||||%0a|| Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a|| Channel || [[openbsd/wraith|wraith]] || || || ||%0a|| Custom || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a%0a||! Languages ||||||||||%0a|| Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a|| Korn || [[unix101/unix101|unix101]] || || || ||%0a|| C || || || || ||%0a +time=1637574971 +title=Minutemin Bootcamp +author:1637574971=jrmu +diff:1637574971:1636285972:=162c162%0a%3c || [[got/usage|got]] || Code || Set up version control || || || Unlock Code Force Path ||%0a---%0a> || [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Force Path ||%0a +host:1637574971=38.87.162.8 +author:1636285972=jrmu +diff:1636285972:1628246019:=158,162c158%0a%3c || [[cvs/intro|CVS Intro]] || Code || Set up version control || || || Unlock Code Force Path ||%0a%3c || [[cvs/commit|CVS Repos]] || Code || Learn to manage CVS repos || || || ||%0a%3c || [[cvs/anoncvs|Anoncvs]] || Code || Provide read-only CVS access || || || ||%0a%3c || [[cvs/cvsweb|CVSweb]] || Code || Provide read-only CVS web access || || || ||%0a%3c || [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Force Path ||%0a---%0a> || [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Army Path ||%0a +host:1636285972=38.87.162.47 +author:1628246019=baytuch +diff:1628246019:1627917199:=106c106%0a%3c || [[squirrelmail/install|SquirrelMail]] || Web || || || || Host your own webmail ||%0a---%0a> || [[openbsd/squirrelmail|SquirrelMail]] || Web || || || || Host your own webmail ||%0a +host:1628246019=38.87.162.8 +author:1627917199=mkf +diff:1627917199:1627909958:=26c26%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || Shell account || Your own Bouncer || Create your own ZNC ||%0a---%0a> || [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a +host:1627917199=198.251.81.133 +author:1627909958=mkf +diff:1627909958:1627909854:=35d34%0a%3c || [[openbsd/intro|Intro]] || BSD || || || || ||%0a171a171%0a> || [[openbsd/intro|Intro]] || BSD || || || || ||%0a +host:1627909958=198.251.81.133 +author:1627909854=mkf +diff:1627909854:1627890115:=29c29%0a%3c || [[hopm/install|hopm]] || IRC || || || || ||%0a---%0a> || [[hopm/shell|hopm]] || IRC || || || || ||%0a +host:1627909854=198.251.81.133 +author:1627890115=jrmu +diff:1627890115:1627824908:=182c182%0a%3c || [[DNS.Ipv6rDNS|rDNS zone]] || Network || Setup IPv6 rDNS zone || || || Unlock custom vhosts ||%0a---%0a> || [[openbsd/RDNS|rDNS zone]] || Network || Setup rDNS zone || || || Unlock custom vhosts ||%0a +host:1627890115=38.87.162.8 +author:1627824908=jrmu +diff:1627824908:1627805553:=151,154c151,154%0a%3c || [[ZNC/User|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a%3c || [[ZNC/Admin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a%3c || [[ZNC/Support|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a%3c || [[ZNC/Modules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a---%0a> || [[Openbsd/ZNCUser|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a> || [[Openbsd/ZNCAdmin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a> || [[openbsd/ZNCSupport|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a> || [[openbsd/ZNCModules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a +host:1627824908=38.87.162.8 +author:1627805553=jrmu +diff:1627805553:1627804995:=28,29c28%0a%3c || [[ngircd/shell|Setup ngIRCd]] || IRC || Set up Chat Server with ngIRCd || Your own vps || Your own Bouncer || Create your own ZNC ||%0a%3c || [[hopm/shell|hopm]] || IRC || || || || ||%0a---%0a> || [[ngircd/shell|Setup ngIRCd]] || IRC || Set up Chat Server with ngIRCd|| Your own vps || Your own Bouncer || Create your own ZNC ||%0a +host:1627805553=38.87.162.8 +author:1627804995=jrmu +diff:1627804995:1627804058:=28d27%0a%3c || [[ngircd/shell|Setup ngIRCd]] || IRC || Set up Chat Server with ngIRCd|| Your own vps || Your own Bouncer || Create your own ZNC ||%0a +host:1627804995=38.87.162.8 +author:1627804058=jrmu +diff:1627804058:1627803927:=30,31d29%0a%3c || [[perl101/perl101|perl101]] || Perl || Learn Perl Scripting || Learn to Code || Learn Perl Scripting || Learn to Code ||%0a%3c || [[shell101/shell101|shell101]] || Shell || Learn Shell Scripting || Learn to Code || Learn Shell Scripting || Learn to Code ||%0a +host:1627804058=38.87.162.8 +author:1627803927=jrmu +diff:1627803927:1627803795:=28,29c28%0a%3c || [[mutt/shell|Configure Mutt]] || IRC || Set Up Command-line Email || Your own vps || Set Up Email Account || Set Up Email ||%0a%3c || [[web101/web101|Web101]] || Web || Code Personal Website || Your own website || Set Up Personal Website || Set Up Website ||%0a---%0a> || [[mutt/shell|Configure Mutt]] || IRC || Set Up Command-line Email|| Your own vps || Set Up Email Account || Set Up Email ||%0a +host:1627803927=38.87.162.8 +author:1627803795=jrmu +diff:1627803795:1627803708:=28d27%0a%3c || [[mutt/shell|Configure Mutt]] || IRC || Set Up Command-line Email|| Your own vps || Set Up Email Account || Set Up Email ||%0a +host:1627803795=38.87.162.8 +author:1627803708=jrmu +diff:1627803708:1627801546:=21d20%0a%3c || [[eggdrop/install|Install Eggdrop]] || IRC || Install Eggdrop || Eggdrop || || Create First IRC Bot ||%0a +host:1627803708=38.87.162.8 +author:1627801546=jrmu +diff:1627801546:1627710855:=180c180%0a%3c || [[gnupg/verify|Verify signature]] || Security || [[gnupg/signature|Verify PGP signature]] || || || Verify signatures and downloads ||%0a---%0a> || [[gnupg/verify|Verify signature]] || Security || Verify PGP signature || || || Verify signatures and downloads ||%0a +host:1627801546=38.87.162.8 +author:1627710855=jrmu +diff:1627710855:1627453995:=92d91%0a%3c || [[chroot/intro|Intro to Chroot]] || BSD || Learn about Chroots || || || Unlock ||%0a +host:1627710855=38.87.162.8 +author:1627453995=jrmu +diff:1627453995:1627437683:= +host:1627453995=38.87.162.8 +author:1627437683=jrmu +diff:1627437683:1627437584:=25c25%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a---%0a> || [[znc/chroot|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a +host:1627437683=38.87.162.8 +author:1627437584=jrmu +diff:1627437584:1626890371:=120,122c120,122%0a%3c || [[unbound/configure|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a%3c || [[dig/usage|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a%3c || [[host/usage|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a---%0a> || [[openbsd/unbound|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a> || [[openbsd/dig|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a> || [[openbsd/host|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a +host:1627437584=38.87.162.8 +author:1626890371=mkf +csum:1626890371=removed duplicate ngircdlink +diff:1626890371:1626887586:minor=198c198%0a%3c || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || || ||%0a---%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a +host:1626890371=188.210.102.116 +author:1626887586=mkf +diff:1626887586:1626886700:=28c28%0a%3c || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using doas || Your own vps || Root Powers || More possiblities ||%0a---%0a> || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || Your own vps || Root Powers || More possiblities ||%0a +host:1626887586=188.210.102.116 +author:1626886700=mkf +csum:1626886700=added znc +diff:1626886700:1625028133:=25c25%0a%3c || [[znc/chroot|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a---%0a> || [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a +host:1626886700=198.251.81.133 +author:1625028133=mkf +diff:1625028133:1622981471:=155,157c155,157%0a%3c || [[openbsd/install69|Install OpenBSD 6.9]] || BSD || || || || Install OpenBSD 6.9 ||%0a%3c || [[openbsd/upgrade69|Upgrade OpenBSD 6.9]] || BSD || || || || Upgrade OpenBSD 6.9 ||%0a%3c || [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD ||%0a---%0a> || [[openbsd/install68|Install OpenBSD 6.8]] || BSD || || || || Install OpenBSD 6.8 ||%0a> || [[openbsd/upgrade68|Upgrade OpenBSD 6.8]] || BSD || || || || Upgrade OpenBSD 6.8 ||%0a> || [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD 6.8 ||%0a +host:1625028133=91.185.130.228 +author:1622981471=jrmu +diff:1622981471:1622788547:=128,129c128%0a%3c || [[opensmtpd/configure|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a%3c || [[DNS/Mail|DNS for Mail]] || Mail || Create Mail DNS records || || || ||%0a---%0a> || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a +host:1622981471=38.81.163.143 +author:1622788547=jrmu +diff:1622788547:1622270986:=5c5%0a%3c || [[irc/guide|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a---%0a> || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a +host:1622788547=125.231.28.9 +author:1622270986=mkf +diff:1622270986:1621265292:minor=36c36%0a%3c || [[openbsd/staticnet|Static Networking]] || Network || || || ||%0a---%0a> || [[openbsd/staticnet|Static Networking]] || || || || ||%0a +host:1622270986=80.191.34.206 +author:1621265292=jrmu +diff:1621265292:1621253904:=128c128%0a%3c || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a---%0a> || [[opensmtpd/configure|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a +host:1621265292=38.81.163.143 +author:1621253904=jrmu +diff:1621253904:1621148025:=128c128%0a%3c || [[opensmtpd/configure|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a---%0a> || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a210c210%0a%3c || C || || || || ||%0a---%0a> || C || || || || ||%0a\ No newline at end of file%0a +host:1621253904=38.81.163.143 +author:1621148025=mkf +csum:1621148025=dig +diff:1621148025:1621080100:minor=88c88%0a%3c || [[openbsd/dig|dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a---%0a> || [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a +host:1621148025=198.251.81.133 +author:1621080100=jrmu +diff:1621080100:1620877375:=1c1%0a%3c (:title Minutemin Bootcamp:)%0a---%0a> (:title Code Force Bootcamp:)%0a +host:1621080100=198.251.81.119 +author:1620877375=mkf +diff:1620877375:1620429498:=104a105%0a> || [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on IRC and shell servers ||%0a +host:1620877375=2.178.143.250 +author:1620429498=jrmu +diff:1620429498:1614942307:=1,2c1,2%0a%3c (:title Code Force Bootcamp:)%0a%3c %0a---%0a> (:title Minutemin Bootcamp:)%0a> %0a5,12c5,12%0a%3c || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || Gives you access to the network || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || free space to host your needs || Free Liberty Shell ||%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || knowledge about how everything works || Unlock Minutemin Path ||%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || 24/7 logs of the IRC || Free Bouncer ||%0a%3c || [[irc/services|Services]] || IRC || IRC Services || || Auto Voice/Op || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Your own channels || Unlock Op of Liberty Path ||%0a%3c || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || nice users || ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || ideas to help || Unlocks Netizenship Path ||%0a---%0a> || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || || Free Tech Support and Services ||%0a> || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Free Liberty Shell ||%0a> || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || Unlock Minutemin Path ||%0a> || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || Free Bouncer ||%0a> || [[irc/services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || Unlock Op of Liberty Path ||%0a> || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a> || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a15,19c15,19%0a%3c || [[unix101/vi|Learn vi]] || Shell || Learn vi || Files || File abilities || Create and Edit Files ||%0a%3c || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || Files || More file abilities || Create and Edit Files ||%0a%3c || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || SSH connection || Knowledge about our system || ||%0a%3c || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || SSH connection || Knowledge about files || ||%0a%3c || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || SSH connection || Knowledge about all commands || ||%0a---%0a> || [[unix101/vi|Learn vi]] || Shell || Learn vi || || || Create and Edit Files ||%0a> || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || || Create and Edit Files ||%0a> || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || || ||%0a> || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || || ||%0a> || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || || ||%0a21,26c21,26%0a%3c || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || Eggdrop || || Create IRC News Channel ||%0a%3c || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || Eggdrop || || Create IRC Trivia Game ||%0a%3c || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || Eggdrop || || Create IRC Duck Hunt ||%0a%3c || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || Eggdrop || || Create IRC Bible Channel ||%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || Your own vps || Your own Bouncer || Create your own ZNC ||%0a%3c || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || Your own vps || Your own Bouncer || Create your own ZNC ||%0a---%0a> || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || || || Create IRC News Channel ||%0a> || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || || || Create IRC Trivia Game ||%0a> || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || || || Create IRC Duck Hunt ||%0a> || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || || || Create IRC Bible Channel ||%0a> || [[znc/install|Install ZNC]] || IRC || Install ZNC || || || Create your own ZNC ||%0a> || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || || || Create your own ZNC ||%0a28c28%0a%3c || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || Your own vps || Root Powers || More possiblities ||%0a---%0a> || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || || || Unlock Root Powers ||%0a80d79%0a%3c || [[ngircd/oper|Oper Guide]] || IRC || Learn to Oper an IRC Server || || || Unlock Oper Status ||%0a97,98d95%0a%3c || [[openbsd/squirrelmail|SquirrelMail]] || Web || || || || Host your own webmail ||%0a%3c || [[openbsd/manna]] || Web || || || || Host your own web Bible ||%0a106,107d102%0a%3c || [[openbsd/ilines|ilines]] || IRC || Request connection limit exceptions from IRC networks || || || ZNC users can chat on other networks ||%0a%3c || [[openbsd/identd|identd]] ||%0a145,146d139%0a%3c || [[openbsd/ZNCSupport|ZNC Support]] || IRC || Support Guide to ZNC || || || ||%0a%3c || [[openbsd/ZNCModules|ZNC Modules]] || IRC || ZNC Modules || || || ||%0a177,211c170,177%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[gnupg/create|Create PGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a%3c || [[gnupg/verify|Verify signature]] || Security || Verify PGP signature || || || Verify signatures and downloads ||%0a%3c || [[netpgp/create|Create netPGP key]] || Security || Create PGP key || || || Unlock Voting Right ||%0a%3c || [[signify/verify|signify]] || Security || Verify software download || || || Verify software download ||%0a%3c || [[openbsd/iked|iked]] || Security || IPSec VPN with iked || || || Provide VPN service ||%0a%3c || [[vpn/vpn|VPN clients]] || Security || Configure IPSec VPN client || || || Use VPN ||%0a%3c || [[tor/torsocks|torsocks]] || Security || Connect to networks with tor || || || Cloak IP address for privacy ||%0a%3c || [[tor/hidden|Hidden Services]] || Security || Provide tor hidden services || || || Provide anonymity for users ||%0a%3c || [[tor/irc|IRC with Tor]] || Security || Connect to IRC with tor || || || Cloak IP address for privacy ||%0a%3c || [[openbsd/sshd|sshd]] || Security || Configure and start sshd || || || Login to server securely ||%0a%3c || [[ssh/client|ssh]] || Security || Configure and connect using ssh || || || Login to server securely ||%0a%3c || [[openbsd/sshkeys|SSH keys]] || Security || Verify ssh keys || || || Connect to server securely ||%0a%3c || [[openbsd/sshbackdoor|SSH backdoor]] || Security || Configure backdoor to connect to server during a DDoS Attack || || || ||%0a%3c || [[openbsd/sftp|chrooted sftp]] || Network || Set up chrooted sftp || || || Provide secure file hosting ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c %0a%3c ||! Clients ||||||||||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] || || || ||%0a%3c ||! Servers ||||||||||%0a%3c || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] || || ||%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[hopm/install|hopm]] || [[openbsd/acopm|acopm]] || || ||%0a%3c ||! Services ||||||||||%0a%3c || [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a%3c ||! Relays ||||||||||%0a%3c || [[pylink/install|pylink]] || [[openbsd/bitlbee|bitlbee]] || [[openbsd/matterbridge|matterbridge]] ||%0a%3c ||! Bots ||||||||||%0a%3c || Eggdrop || [[openbsd/eggdrop|eggdrop]] || [[openbsd/tcltls|tcltls]] || || ||%0a%3c || Channel || [[openbsd/wraith|wraith]] || || || ||%0a%3c || Custom || [[openbsd/biblebot|biblebot]] || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] || [[openbsd/ircrelayd|ircrelayd]] ||%0a%3c %0a%3c ||! Languages ||||||||||%0a%3c || Perl || [[openbsd/CPAN|CPAN]] || || || ||%0a%3c || Korn || [[unix101/unix101|unix101]] || || || ||%0a%3c || C || || || || ||%0a\ No newline at end of file%0a---%0a> %0a> (:if false:)%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a> || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a> || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a> || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a> (:ifend:)%0a\ No newline at end of file%0a +host:1620429498=198.251.81.119 +author:1614942307=jrmu +diff:1614942307:1614942283:=36c36%0a%3c || [[openbsd/staticnet|Static Networking]] || || || || ||%0a---%0a> || [[openbsd/staticnet|Static Networking]] ||%0a +host:1614942307=198.251.81.119 +author:1614942283=jrmu +diff:1614942283:1614942260:=35c35%0a%3c || [[openbsd/anycast|Anycast Addresses]] || Network || || || || ||%0a---%0a> || [[openbsd/anycast|Anycast Addresses]] || Network || || || ||%0a +host:1614942283=198.251.81.119 +author:1614942260=jrmu +diff:1614942260:1614941783:=50a51%0a> || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || || ||%0a88,89d88%0a%3c || [[telnet/http|Telnet HTTP]] || Network || || || ||%0a%3c || [[openssl/http|OpenSSL HTTP]] || Network || || || ||%0a +host:1614942260=198.251.81.119 +author:1614941783=jrmu +diff:1614941783:1614940578:=50a51,52%0a> ||! Troubleshooting ||||||||||%0a> || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a +host:1614941783=198.251.81.119 +author:1614940578=jrmu +diff:1614940578:1614940005:=37,50c37,44%0a%3c || [[ifconfig|ifconfig]] || Network || || || || ||%0a%3c || [[route|route]] || Network || || || || ||%0a%3c || [[openbsd/dhcpd]] || Network || || || || ||%0a%3c || [[openbsd/ntpd|ntpd]] || Network || || || || ||%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/pf|Packet Filter]] || Network || || || || ||%0a%3c || [[openbsd/SSDP|SSDP attack]] || Network || || || || ||%0a%3c || [[openbsd/ACKFlood|TCP ack flood]] || Network || || || || ||%0a%3c || [[openbsd/RSTFlood|TCP reset flood]] || Network || || || || ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || Network || || || || ||%0a%3c || [[openbsd/HTTPFlood|HTTP Flood]] || Network || || || || ||%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || Network || || || || ||%0a%3c || [[openbsd/UDPFlood|UDP Flood]] || Network || || || || ||%0a%3c || [[openbsd/amplification|amplification attack]] || Network || || || || ||%0a---%0a> || [[ifconfig|ifconfig]] ||%0a> || [[route|route]] || ||%0a> || [[openbsd/dhcpd]] ||%0a> || [[openbsd/ntpd|ntpd]] ||%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> || [[openbsd/ddos|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 +host:1614940578=198.251.81.119 +author:1614940005=jrmu +diff:1614940005:1614939946:=36,40c36,37%0a%3c || [[openbsd/staticnet|Static Networking]] ||%0a%3c || [[ifconfig|ifconfig]] ||%0a%3c || [[route|route]] || ||%0a%3c || [[openbsd/dhcpd]] ||%0a%3c || [[openbsd/ntpd|ntpd]] ||%0a---%0a> || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || ||%0a> || || [[openbsd/dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%0a +host:1614940005=198.251.81.119 +author:1614939946=jrmu +diff:1614939946:1614932133:=33,44d32%0a%3c || [[tcpip/sockets|sockets]] || Network || || || || ||%0a%3c || [[openbsd/netmask|Netmasks]] || Network || || || || ||%0a%3c || [[openbsd/anycast|Anycast Addresses]] || Network || || || ||%0a%3c || [[openbsd/staticnet|Static Networking]] || [[ifconfig|ifconfig]] || [[route|route]] || ||%0a%3c || || [[openbsd/dhcpd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/ntpd|ntpd]] ||%0a%3c ||! Firewall ||||||||||%0a%3c || [[openbsd/pf|Packet Filter]] || [[pf/guide|PF Guide]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pfbadhost|pfbadhost]] ||%0a%3c || [[openbsd/ddos|DDoS Defense]] || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] || [[openbsd/SYNFlood|SYN Flood]] ||%0a%3c || || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] || [[openbsd/amplification|amplification attack]] ||%0a%3c ||! Troubleshooting ||||||||||%0a%3c || Network Layer || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] || ||%0a%3c || Application || [[telnet/http|Telnet HTTP]] || [[openssl/http|OpenSSL HTTP]] || || ||%0a +host:1614939946=198.251.81.119 +author:1614932133=jrmu +diff:1614932133:1614932085:=136,141c136,141%0a%3c || [[openbsd/intro|Intro]] || BSD || || || || ||%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || BSD || || || || ||%0a%3c || [[openbsd/vmminstall|VMM Install]] || BSD || || || || ||%0a%3c || [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || || ||%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || || ||%0a%3c || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || || ||%0a---%0a> || [[openbsd/intro|Intro]] || BSD || || || ||%0a> || [[openbsd/buyvm|Buyvm Guide]] || BSD || || || ||%0a> || [[openbsd/vmminstall|VMM Install]] || BSD || || || ||%0a> || [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || ||%0a> || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || ||%0a> || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || ||%0a +host:1614932133=198.251.81.119 +author:1614932085=jrmu +diff:1614932085:1614932000:=110c110%0a%3c || [[openbsd/Dovecot|Dovecot]] || Mail || Install POP and IMAP server || || || Read from your own mail server ||%0a---%0a> || [[openbsd/Dovecot|Dovecot]] || Install POP and IMAP server || || || Read from your own mail server ||%0a +host:1614932085=198.251.81.119 +author:1614932000=jrmu +diff:1614932000:1614931936:=142c142%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a---%0a> || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || ||%0a +host:1614932000=198.251.81.119 +author:1614931936=jrmu +diff:1614931936:1614931499:=136,142d135%0a%3c || [[openbsd/intro|Intro]] || BSD || || || ||%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || BSD || || || ||%0a%3c || [[openbsd/vmminstall|VMM Install]] || BSD || || || ||%0a%3c || [[openbsd/vmmlinux|VMM Linux Guide]] || BSD || || || ||%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || BSD || || || ||%0a%3c || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || BSD || || || ||%0a%3c || Install || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || ||%0a +host:1614931936=198.251.81.119 +author:1614931499=jrmu +diff:1614931499:1614931389:=13d12%0a%3c || [[congress/procedure|Congress Procedure]] || Civics || Learn about procedure in Congress || || || ||%0a +host:1614931499=198.251.81.119 +author:1614931389=jrmu +diff:1614931389:1614931324:=11c11%0a%3c || [[User/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a---%0a> || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || ||%0a40,41c40,42%0a%3c || [[netizen/become|Become a Netizen]] || Civics || || || || ||%0a%3c || [[netizen/rights|Netizen Rights]] || Civics || || || || ||%0a---%0a> || [[immigrant/welcome|Immigrant's Welcome]] || Civics || || || ||%0a> || [[netizen/become|Become a Netizen]] || Civics || || || ||%0a> || [[netizen/rights|Netizen Rights]] || Civics || || || ||%0a +host:1614931389=198.251.81.119 +author:1614931324=jrmu +diff:1614931324:1614931268:=41,42c41%0a%3c || [[netizen/become|Become a Netizen]] || Civics || || || ||%0a%3c || [[netizen/rights|Netizen Rights]] || Civics || || || ||%0a---%0a> || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || || ||%0a51,60c50,59%0a%3c || [[freedom/homestead|Free Homestead VPS]] || Civics || || || || ||%0a%3c || [[freedom/madeonirc|Made on IRC]] || Civics || || || || ||%0a%3c || [[freedom/unix|Unix Work Ethic]] || Civics || || || || || ||%0a%3c || [[freedom/startupdream|The Startup Dream]] || Civics || || || || ||%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || Civics || || || || ||%0a%3c || [[freedom/dueprocess|Due Process]] || Civics || || || || ||%0a%3c || [[freedom/checks|Checks and Balances]] || Civics || || || || ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || Civics || || || || ||%0a%3c || [[freedom/federation|Federation]] || Civics || || || || ||%0a%3c || [[freedom/union|United We Serve]] || Civics || || || || ||%0a---%0a> || [[freedom/homestead|Free Homestead VPS]] || Civics || || || ||%0a> || [[freedom/madeonirc|Made on IRC]] || Civics || || || ||%0a> || [[freedom/unix|Unix Work Ethic]] || Civics || || || || ||%0a> || [[freedom/startupdream|The Startup Dream]] || Civics || || || ||%0a> || [[freedom/openforeveryone|Open For Everyone]] || Civics || || || ||%0a> || [[freedom/dueprocess|Due Process]] || Civics || || || ||%0a> || [[freedom/checks|Checks and Balances]] || Civics || || || ||%0a> || [[freedom/rulebylaw|Rule by Law]] || Civics || || || ||%0a> || [[freedom/federation|Federation]] || Civics || || || ||%0a> || [[freedom/union|United We Serve]] || Civics || || || ||%0a +host:1614931324=198.251.81.119 +author:1614931268=jrmu +diff:1614931268:1614930418:=50,59c50,58%0a%3c || [[freedom/homestead|Free Homestead VPS]] || Civics || || || ||%0a%3c || [[freedom/madeonirc|Made on IRC]] || Civics || || || ||%0a%3c || [[freedom/unix|Unix Work Ethic]] || Civics || || || || ||%0a%3c || [[freedom/startupdream|The Startup Dream]] || Civics || || || ||%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || Civics || || || ||%0a%3c || [[freedom/dueprocess|Due Process]] || Civics || || || ||%0a%3c || [[freedom/checks|Checks and Balances]] || Civics || || || ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || Civics || || || ||%0a%3c || [[freedom/federation|Federation]] || Civics || || || ||%0a%3c || [[freedom/union|United We Serve]] || Civics || || || ||%0a---%0a> || [[freedom/homestead|Free Homestead VPS]] || Civics ||%0a> || [[freedom/madeonirc|Made on IRC]] || Civics ||%0a> || [[freedom/unix|Unix Work Ethic]] || Civics ||%0a> || [[freedom/startupdream|The Startup Dream]] || Civics ||%0a> || [[freedom/openforeveryone|Open For Everyone]] || Civics ||%0a> || [[freedom/dueprocess|Due Process]] || Civics ||%0a> || [[freedom/checks|Checks and Balances]] || Civics ||%0a> || [[freedom/rulebylaw|Rule by Law]] || Civics ||%0a> || Union || [[freedom/federation|Federation]] || [[freedom/union|United We Serve]] || || ||%0a +host:1614931268=198.251.81.119 +author:1614930418=jrmu +diff:1614930418:1614929553:=11c11%0a%3c || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || ||%0a---%0a> || [[User/Welcome|Welcome!]] || Civics || New User's Welcome || || || ||%0a13,18d12%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[unix101/vi|Learn vi]] || Shell || Learn vi || || || Create and Edit Files ||%0a%3c || [[unix101/mg|Learn mg]] || Shell || Learn mg (emacs clone) || || || Create and Edit Files ||%0a%3c || [[unix101/filesystem|Unix filesystem]] || Shell || Learn the Unix Filesystem || || || ||%0a%3c || [[unix101/files|File commands]] || Shell || Create, delete, move, and edit files || || || ||%0a%3c || [[unix101/commands|Commands]] || Shell || Learn about commands and where to find help || || || ||%0a +host:1614930418=198.251.81.119 +author:1614929553=jrmu +diff:1614929553:1614929528:=11c11%0a%3c || [[User/Welcome|Welcome!]] || Civics || New User's Welcome || || || ||%0a---%0a> || [[Immigrant/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a +host:1614929553=198.251.81.119 +author:1614929528=jrmu +diff:1614929528:1614929083:=11c11%0a%3c || [[Immigrant/Welcome|Welcome!]] || Civics || Immigrant's Welcome || || || ||%0a---%0a> || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || ||%0a +host:1614929528=198.251.81.119 +author:1614929083=jrmu +diff:1614929083:1614928853:=31,33d30%0a%3c || [[Minutemin/Questions|Good Questions]] || Civics || How to Ask Good Questions || || || ||%0a%3c || [[Servers/Rights|Servers' Rights]] || Civics || Servers' Rights || || || ||%0a%3c || [[Openbsd/Announce|Announcements]] || Civics || How to Make Announcements || || || ||%0a +host:1614929083=198.251.81.119 +author:1614928853=jrmu +diff:1614928853:1614928287:=29,30d28%0a%3c || [[Minutemin/Server|Minutemin's Server]] || Civics || The Minutemin's Server || || || ||%0a%3c || [[Minutemin/Duty|Call of Duty]] || Civics || The Call of Duty || || || Promotion to Minutemin ||%0a +host:1614928853=198.251.81.119 +author:1614928287=jrmu +diff:1614928287:1614928230:=29,30c29%0a%3c || [[immigrant/welcome|Immigrant's Welcome]] || Civics || || || ||%0a%3c || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || || ||%0a---%0a> || Netizenship || Civics || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a +host:1614928287=198.251.81.119 +author:1614928230=jrmu +diff:1614928230:1614928201:=29c29%0a%3c || Netizenship || Civics || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a---%0a> || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a +host:1614928230=198.251.81.119 +author:1614928201=jrmu +diff:1614928201:1614927451:=27a28%0a> || [[Ircnow/Constitution|IRCNow Constitution]] || Civics || Understand the Constitution || || Unlock Netizenship Path || ||%0a29,46d29%0a%3c || Netizenship || [[immigrant/welcome|Immigrant's Welcome]] || [[netizen/become|Become a Netizen]] || [[netizen/rights|Netizen Rights]] || ||%0a%3c || [[freedom/selfadmin|Self-Admin]] || Civics || Understand Self Admin || || || ||%0a%3c || [[Freedom/Independence|Independence]] || Civics || Declaration of Network Independence || || || ||%0a%3c || [[freedom/fork|Freedom to Fork]] || Civics || Preserve the Freedom to Fork || || || ||%0a%3c || [[ircnow/constitution|Constitution]] || Civics || Read the Constitution and Bill of Rights || || || Unlock Netizenship Path ||%0a%3c || [[freedom/religion|Religious Liberty]] || Civics || Freedom of Religion Guarantee || || || ||%0a%3c || [[freedom/firstamendment|Free Press]] || Civics || Freedom of Speech and of the Press || || || ||%0a%3c || [[freedom/software|Software Freedom]] || Civics || Software Freedom || || || ||%0a%3c || [[freedom/privacy|Privacy]] || Civics || Right to Privacy || || || ||%0a%3c || [[freedom/homestead|Free Homestead VPS]] || Civics ||%0a%3c || [[freedom/madeonirc|Made on IRC]] || Civics ||%0a%3c || [[freedom/unix|Unix Work Ethic]] || Civics ||%0a%3c || [[freedom/startupdream|The Startup Dream]] || Civics ||%0a%3c || [[freedom/openforeveryone|Open For Everyone]] || Civics ||%0a%3c || [[freedom/dueprocess|Due Process]] || Civics ||%0a%3c || [[freedom/checks|Checks and Balances]] || Civics ||%0a%3c || [[freedom/rulebylaw|Rule by Law]] || Civics ||%0a%3c || Union || [[freedom/federation|Federation]] || [[freedom/union|United We Serve]] || || ||%0a +host:1614928201=198.251.81.119 +author:1614927451=jrmu +diff:1614927451:1614927403:=9c9%0a%3c || [[irc/services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a---%0a> || [[Services/Guide|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a +host:1614927451=198.251.81.119 +author:1614927403=jrmu +diff:1614927403:1614925179:=9c9%0a%3c || [[Services/Guide|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a---%0a> || [[Irc/Services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a +host:1614927403=198.251.81.119 +author:1614925179=jrmu +diff:1614925179:1614924905:=106,111c106,113%0a%3c || [[openbsd/PFStable|PF Stable]] || Network || Configure Packet Filter for Stable Server || || || Set up firewall ||%0a%3c || [[openbsd/PFTesting|PF Testing]] || Network || Configure Packet Filter for Testing Server || || || Set up firewall ||%0a%3c || [[openbsd/ddos|DDoS Defense]] || Network || Practice DDoS Defense || || || Defend against DDoS Attacks ||%0a%3c || [[openbsd/RDNS|rDNS zone]] || Network || Setup rDNS zone || || || Unlock custom vhosts ||%0a%3c || [[openbsd/iked|iked]] || Network || Provide IPSec using openIKED || || || Provide VPNs to users ||%0a%3c || [[openbsd/police|Police Guide]] || Security || Learn police investigation techniques || || || Detect and ban abusers ||%0a---%0a> # Configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a> # Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a> # Configure your [[openbsd/RDNS|rDNS zone]] using nsd%0a> # Add IPSec VPNs with [[openbsd/iked|iked]]%0a> %0a> !! Security%0a> %0a> # Detect abusive users with the [[openbsd/police|policing guide]]%0a +host:1614925179=198.251.81.119 +author:1614924905=jrmu +diff:1614924905:1614924428:=88c88%0a%3c || [[Openbsd/ZNCAdmin|ZNC Admin's Guide]] || IRC || Admin's Guide to ZNC || || || ||%0a---%0a> || Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a103a104,105%0a> %0a> %0a +host:1614924905=198.251.81.119 +author:1614924428=jrmu +diff:1614924428:1614875448:=91,104c91,108%0a%3c || [[openbsd/got|got]] || Code || Set up version control || || || Unlock Code Army Path ||%0a%3c || [[openbsd/gotweb|gotweb]] || Code || Set up web viewer for version control || || || ||%0a%3c || [[openbsd/sftp|chroot sftp]] || File || Set up a secure sftp server || || || Provide file hosting for users ||%0a%3c || [[openbsd/sshkeys|ssh keys]] || Crypto || || || || ||%0a%3c || [[Openbsd/Sshbackdoor|ssh backdoor]] || Crypto || || || || ||%0a%3c || [[openbsd/vmmuser|VMM User Guide]] || BSD || || || || Control your VPS ||%0a%3c || [[openbsd/install68|Install OpenBSD 6.8]] || BSD || || || || Install OpenBSD 6.8 ||%0a%3c || [[openbsd/upgrade68|Upgrade OpenBSD 6.8]] || BSD || || || || Upgrade OpenBSD 6.8 ||%0a%3c || [[openbsd/bsdrd|bsd.rd]] || BSD || || || || Install/Upgrade/Repair OpenBSD 6.8 ||%0a%3c || [[openbsd/fdisk|fdisk]] || BSD || || || || Partition Hard Disk ||%0a%3c || [[openbsd/disklabel|disklabel]] || BSD || || || || Partition Hard Disk ||%0a%3c || [[openbsd/growfs|growfs]] || BSD || || || || Grow a Disk Partition ||%0a%3c || [[openbsd/newdisk|newdisk]] || BSD || || || || Add a New Hard Disk ||%0a%3c %0a---%0a> %0a> !! Source Control%0a> %0a> # Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a> # Install and configure [[openbsd/gotweb]], a got viewer for the web%0a> %0a> !! Filesharing%0a> %0a> # Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a> %0a> !! System Utilities%0a> %0a> # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a> # Follow the [[openbsd/vmmuser|VMM User Guide]]%0a> # Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a> # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a> # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]%0a> # On your practice VPS, [[openbsd/newdisk|add a new disk]] and [[openbsd/growfs|grow a disk partition]]%0a +host:1614924428=198.251.81.119 +author:1614875448=jrmu +diff:1614875448:1614875158:=68,70c68,70%0a%3c || [[openbsd/unboundadblock|unbound adblock]] || || || || || ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || || ||%0a%3c || [[openbsd/rbldns|rbldns]] || DNS || || || || ||%0a---%0a> || [[openbsd/unboundadblock|unbound adblock]] || || || ||%0a> || [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || ||%0a> || [[openbsd/rbldns|rbldns]] || DNS || || || ||%0a +host:1614875448=198.251.81.119 +author:1614875158=jrmu +diff:1614875158:1614874429:=89,91c89,94%0a%3c || [[Openbsd/Wraith|Wraith]] || IRC || Set up a botnet || || || Offer channel protection ||%0a%3c || [[openbsd/FilePermissions|File Permissions]] || Security || Fix insecure file permissions || || || Secure your server ||%0a%3c %0a---%0a> # If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a> %0a> !! Security%0a> %0a> # Fix [[openbsd/FilePermissions|file permissions]]%0a> %0a110,111c113,117%0a%3c || [[openbsd/tcpdump|tcpdump]] || Network || Read network packets || || || ||%0a%3c || [[pf/guide|Packet Filter]] || Network || Learn Packet Filter || || || Set up firewall ||%0a---%0a> !! Networking%0a> %0a> # Use [[openbsd/tcpdump|tcpdump]] to read network packets%0a> # [[openbsd/Staticnet|Configure static networking]]%0a> # Learn about [[Openbsd/pf|packet filter]]%0a +host:1614875158=198.251.81.119 +author:1614874429=jrmu +diff:1614874429:1614873106:=71c71%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a---%0a> %0a80d79%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a85,88c84,88%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/botnow|botnow]] || IRC || Install botnow || || || Provide bnc, mail, vpn, and shells over IRC ||%0a%3c || [[Openbsd/ZNCUser|ZNC User's Guide]] || IRC || User's Guide to ZNC || || || ||%0a%3c || Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a---%0a> %0a> %0a> # Practice installing [[openbsd/botnow|botnow]]%0a> # Provide customer support for [[Openbsd/ZNCUser|ZNC]]%0a> # Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a +host:1614874429=198.251.81.119 +author:1614873106=jrmu +diff:1614873106:1614871187:=80,84c80,97%0a%3c || [[openbsd/Team|Team Procedure]] || Civics || Follow Team Procedure || || || ||%0a%3c || [[Openbsd/Stable|Stable Procedure]] || Civics || Follow Team Procedure for Stable Servers || || || Promoted to Minutemin ||%0a%3c || [[Openbsd/Testing|Testing Procedure]] || Civics || Follow Team Procedure for Testing Servers || || || Promoted to Minutemin ||%0a%3c || [[ircnow/networks|Claim Networks]] || Civics || Understand Network Procedure || || || Claim Team Networks ||%0a%3c %0a---%0a> %0a> # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a> %0a> !! Congratulations! Join the Team!%0a> %0a> # Read up on [[Openbsd/Team|team procedure]].%0a> # and [[Openbsd/Stable]] server protocol.%0a> # and [[Openbsd/Testing]] server protocol.%0a> %0a> Please continue with [[openbsd/ongoing|ongoing training]].%0a> %0a> !! Claiming Networks%0a> %0a> # Claim your [[ircnow/networks|team's networks]]%0a> %0a> Ongoing training for minutemin:%0a> %0a> !! IRC%0a +host:1614873106=198.251.81.119 +author:1614871187=jrmu +diff:1614871187:1614871114:=78c78%0a%3c || [[mail/openrelay]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a---%0a> || [[mail/openproxy]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a +host:1614871187=198.251.81.119 +author:1614871114=jrmu +diff:1614871114:1614870452:=73c73%0a%3c || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Send from your own mail server ||%0a---%0a> || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Host your own email ||%0a78,80c78%0a%3c || [[mail/openproxy]] || Mail || Prevent an open mail relay || || || Avoid Spam Folder ||%0a%3c || [[openbsd/Dovecot|Dovecot]] || Install POP and IMAP server || || || Read from your own mail server ||%0a%3c %0a---%0a> # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a81a80%0a> # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a +host:1614871114=198.251.81.119 +author:1614870452=jrmu +diff:1614870452:1614870250:=77c77%0a%3c || [[mail/test]] || Mail || Test sending mail || || || Send test letter ||%0a---%0a> %0a +host:1614870452=198.251.81.119 +author:1614870250=jrmu +diff:1614870250:1614868999:=73,77c73,74%0a%3c || [[openbsd/opensmtpd|OpenSMTPd]] || Mail || Configure Mail Server || || || Host your own email ||%0a%3c || [[openbsd/spf|SPF]] || Mail || Configure SPF records || || || Avoid Spam Folder ||%0a%3c || [[openbsd/dkimproxy|DKIM]] || Mail || Set up DKIM signing || || || Avoid Spam Folder ||%0a%3c || [[openbsd/dmarc|DMARC]] || Mail || Set up DMARC || || || Block Phishing and Spam ||%0a%3c %0a---%0a> # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a> # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a +host:1614870250=198.251.81.119 +author:1614868999=jrmu +diff:1614868999:1614868703:=66,67c66,67%0a%3c || [[openbsd/dig|dig]] || DNS || Troubleshoot DNS records with dig || || || ||%0a%3c || [[openbsd/host|host]] || DNS || Troubleshoot DNS records with host || || || ||%0a---%0a> || [[openbsd/dig|dig]] ||%0a> || [[openbsd/host|host]] ||%0a69,72c69,79%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || DNS || || || ||%0a%3c || [[openbsd/rbldns|rbldns]] || DNS || || || ||%0a%3c %0a%3c || [[openbsd/staticnet|Static IPs]] || Network || Configure Static Networking || || || Add IPv6 Support ||%0a---%0a> || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || || ||%0a> %0a> # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a> %0a> !! Configuring Networking%0a> %0a> # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a> # Test basic connectivity with [[openbsd/ping|ping]]%0a> %0a> !!! Setting up a Mail Server%0a> %0a +host:1614868999=198.251.81.119 +author:1614868703=jrmu +diff:1614868703:1614868444:=64,68c64,65%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a%3c || [[openbsd/unbound|unbound]] || DNS || Configure a local caching nameserver || || || ||%0a%3c || [[openbsd/dig|dig]] ||%0a%3c || [[openbsd/host|host]] ||%0a%3c || [[openbsd/unboundadblock|unbound adblock]] || || || ||%0a---%0a> ||! Caching ||||||||||||%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || || ||%0a70c67,70%0a%3c %0a---%0a> # Learn about [[openbsd/Dns|DNS fundamentals]]%0a> # Learn how to configure a [[openbsd/vhost]]%0a> # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a> # Configure your local caching nameserver using [[openbsd/unbound]]%0a +host:1614868703=198.251.81.119 +author:1614868444=jrmu +diff:1614868444:1614868251:=55,56c55,56%0a%3c || [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || || Purchase Custom Domains ||%0a%3c || [[openbsd/vhost|vhost]] || Configure vhost || || || || Unlock Custom Vhost ||%0a---%0a> || [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || Purchase Custom Domains ||%0a> || [[openbsd/vhost|vhost]] || Configure vhost || || || Unlock Custom Vhost ||%0a59,60c59,60%0a%3c || [[nsd/masterslave|nsd master slave]] || DNS || || || || ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || || || ||%0a---%0a> || [[nsd/masterslave|nsd master slave]] || DNS || || ||%0a> || [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || ||%0a62,66c62,66%0a%3c || [[dns/zonefile|Zone File]] || DNS || || || || ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || || ||%0a%3c ||! Caching ||||||||||||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || || ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || || ||%0a---%0a> || [[dns/zonefile|Zone File]] || DNS || || ||%0a> || [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || ||%0a> ||! Caching ||||||||||%0a> || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || ||%0a> || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || ||%0a +host:1614868444=198.251.81.119 +author:1614868251=jrmu +diff:1614868251:1614867999:=56,58c56,58%0a%3c || [[openbsd/vhost|vhost]] || Configure vhost || || || Unlock Custom Vhost ||%0a%3c || [[dns/FQDN|FQDN]] || DNS || Understand FQDN and $ORIGIN || || || ||%0a%3c || [[nsd/configure|nsd]] || DNS || Configure Authoritative Name Server || || || Support custom domains ||%0a---%0a> || [[openbsd/vhost|vhost]] || Configure vhost || || Unlock Custom Vhost ||%0a> || [[dns/FQDN|FQDN]] || DNS || || ||%0a> || [[nsd/configure|nsd]] || DNS || || ||%0a61c61%0a%3c || [[openbsd/rDNS|rDNS]] || DNS || Configure reverse DNS || || || Provide custom vhosts ||%0a---%0a> || [[openbsd/rDNS|rDNS]] || DNS || || ||%0a +host:1614868251=198.251.81.119 +author:1614867999=jrmu +diff:1614867999:1614858795:=58,62c58,62%0a%3c || [[nsd/configure|nsd]] || DNS || || ||%0a%3c || [[nsd/masterslave|nsd master slave]] || DNS || || ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] || DNS || || ||%0a%3c || [[openbsd/rDNS|rDNS]] || DNS || || ||%0a%3c || [[dns/zonefile|Zone File]] || DNS || || ||%0a---%0a> || [[nsd/configure|nsd]] || || || ||%0a> || [[nsd/masterslave|nsd master slave]] ||%0a> || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a> || [[openbsd/rDNS|rDNS]] ||%0a> || [[dns/zonefile|Zone File]] ||%0a +host:1614867999=198.251.81.119 +author:1614858795=jrmu +diff:1614858795:1614858282:= +host:1614858795=198.251.81.119 +author:1614858282=jrmu +diff:1614858282:1614857414:=54,56c54%0a%3c || [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || ||%0a%3c || [[dns/registrars|Name Registrars]] || How to Choose a Registrar || || || Purchase Custom Domains ||%0a%3c || [[openbsd/vhost|vhost]] || Configure vhost || || Unlock Custom Vhost ||%0a---%0a> || [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || Unlock Custom Vhost ||%0a58c56,58%0a%3c || [[nsd/configure|nsd]] || || || ||%0a---%0a> || [[dns/registrars|Name Registrars]] || || || ||%0a> || [[openbsd/vhost|vhost]] || || || Unlock Custom Vhost ||%0a> || [[nsd/configure|nsd]] ||%0a +host:1614858282=198.251.81.119 +author:1614857414=jrmu +diff:1614857414:1614856934:=58,62c58,59%0a%3c || [[nsd/configure|nsd]] ||%0a%3c || [[nsd/masterslave|nsd master slave]] ||%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a%3c || [[openbsd/rDNS|rDNS]] ||%0a%3c || [[dns/zonefile|Zone File]] ||%0a---%0a> %0a> || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a +host:1614857414=198.251.81.119 +author:1614856934=jrmu +diff:1614856934:1614856902:=50c50%0a%3c || [[Oidentd/ZNC|Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a---%0a> || [[Oidentd/ZNC||Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a52c52%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a---%0a> %0a +host:1614856934=198.251.81.119 +author:1614856902=jrmu +diff:1614856902:1614856563:=49,50d48%0a%3c || [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on ZNC and shell servers ||%0a%3c || [[Oidentd/ZNC||Oidentd for ZNC]] || Security || Configure Ident for ZNC || || || Stop abuse on ZNC ||%0a53,63c51,52%0a%3c || [[dns/overview|DNS Overview]] || DNS || Learn the Domain Name System || || || ||%0a%3c || [[dns/records|DNS Records]] || DNS || Understand DNS Record Types || || || Unlock Custom Vhost ||%0a%3c || [[dns/FQDN|FQDN]] || DNS || || ||%0a%3c || [[dns/registrars|Name Registrars]] || || || ||%0a%3c || [[openbsd/vhost|vhost]] || || || Unlock Custom Vhost ||%0a%3c %0a%3c || [[nsd/configure|nsd]] || [[nsd/masterslave|nsd master slave]] || [[nsd/troubleshoot|Troubleshoot Nsd]] || [[openbsd/rDNS|rDNS]] || [[dns/zonefile|Zone File]] ||%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] || || || || ||%0a%3c ||! Caching ||||||||||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] || [[openbsd/unboundadblock|unbound adblock]] || || ||%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] || || || ||%0a---%0a> !!! Configuring DNS%0a> %0a +host:1614856902=198.251.81.119 +author:1614856563=jrmu +diff:1614856563:1614856243:=47,49c47,52%0a%3c || [[znc/chroot|Chroot ZNC]] || IRC || Securely install ZNC || || || Offer users secure ZNCs ||%0a%3c || [[relayd/acceleration|TLS Acceleration]] || Security || Encrypt traffic with TLS || || || Host multiple services securely ||%0a%3c || [[oidentd/install|Oidentd]] || Security || Provide Ident for all users || || || Stop abuse on IRC and shell servers ||%0a---%0a> %0a> !!! Installing a Bouncer%0a> %0a> # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a> # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a> # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a +host:1614856563=198.251.81.119 +author:1614856243=jrmu +diff:1614856243:1614855413:=43,44c43,44%0a%3c || [[Openhttpd/Perl|OpenHTTPd Perl]] || Web || Run Perl inside OpenHTTPd chroot || || || Install Perl Web Apps ||%0a%3c || [[Openbsd/Php|OpenHTTPd PHP]] || Web || Configure PHP for OpenHTTPd chroot || || || Install PHP Web Apps ||%0a---%0a> || [[Openhttpd/Perl]] ||%0a> || [[Openbsd/Php]] ||%0a46c46,50%0a%3c || [[openbsd/pmwiki|PMWiki]] || Web || Setup your own private wiki || || || Setup your own private wiki ||%0a---%0a> %0a> !!! Customizing your Web Server%0a> %0a> # Set up and configure [[openbsd/php|PHP]]%0a> # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a +host:1614856243=198.251.81.119 +author:1614855413=jrmu +diff:1614855413:1614854928:=42c42%0a%3c || [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a---%0a> [[ [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a +host:1614855413=198.251.81.119 +author:1614854928=jrmu +diff:1614854928:1614854881:=31,32c31,32%0a%3c || [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || || ||%0a%3c || [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || || ||%0a---%0a> || [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || ||%0a> || [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || ||%0a +host:1614854928=198.251.81.119 +author:1614854881=jrmu +diff:1614854881:1614854817:=27,29c27,29%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Civics || Plan the IRCNow Roadmap || || || ||%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Civics || Understand the Constitution || || Unlock Netizenship Path || ||%0a%3c || [[Minutemin/Code|Minutemin's Code]] || Civics || Recite the Code of Honor || || || ||%0a---%0a> || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || || ||%0a> || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || || Unlock Netizenship Path || ||%0a> || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || || ||%0a31,32c31,32%0a%3c || [[ngircd/install|Install ngIRCd]] || IRC || Install an IRC server || || ||%0a%3c || [[hopm/install|Install hopm]] || IRC || Detect and ban spammers using an open proxy monitor || || ||%0a---%0a> || [[ngircd/install|Install ngIRCd]] || Install an IRC server || IRC || || ||%0a> || [[hopm/install|Install hopm]] || Detect and ban spammers using an open proxy monitor || IRC || || ||%0a +host:1614854881=198.251.81.119 +author:1614854817=jrmu +diff:1614854817:1614854724:=12a13%0a> %0a19a21%0a> %0a25a28%0a> %0a29a33%0a> %0a39c43%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a---%0a> %0a42c46%0a%3c [[ [[Openbsd/Httpopenproxy|Open Proxies]] || Web || Test for Open Proxies || || || Avoid Getting Blacklisted ||%0a---%0a> [[ [[Openbsd/Httpopenproxy]] ||%0a +host:1614854817=198.251.81.119 +author:1614854724=jrmu +diff:1614854724:1614853140:=12,13c12,13%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a%3c %0a---%0a> || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a> %0a49c49,50%0a%3c || [[acme-client/configure|acme-client]] || Security || Request an SSL cert || || || Get SSL protection ||%0a---%0a> # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a> # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a +host:1614854724=198.251.81.119 +author:1614853140=jrmu +diff:1614853140:1614851803:=55a56,181%0a> %0a> %0a> ||! Character ||! Description ||! Skills ||! Bonus ||%0a> || Immigrant || Comes From the Old Network || None || None ||%0a> || Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a> || Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a> || Pioneer || Network Pioneers || Explore || Explorer ||%0a> || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a> || Inventor || Unix Inventors || Coding || Repo Privs ||%0a> || Judge || Interpret Network Law || Law || Judge ||%0a> || Senator || Writes Network Law || Law || Voting ||%0a> %0a> Bonuses%0a> %0a> ||! Bonus Type ||! Limit ||! Description ||%0a> || password reset || || ||%0a> || +1 bnc || max 2 || Free ZNC ||%0a> || +1 liberty shell || max 2 || Free Shell ||%0a> || custom vhost || || ||%0a> || custom domain || || ||%0a> || +1 SSL cert || || ||%0a> || +v voice (netizen) || || Netizen ||%0a> || +h halfop || || Patriot ||%0a> || +o op || || Op of Liberty ||%0a> || +a admin || || ||%0a> || +q founder || || ||%0a> || +oper || || ||%0a> || +znc admin || || ||%0a> || +1 email || || ||%0a> || +1 eggdrop || || ||%0a> || +1 support email || || ||%0a> || +1 VPN || || ||%0a> || +1 GB file storage || || ||%0a> || +1 nntp account || || ||%0a> || +1 minetest server || || ||%0a> || +1 Homestead VPS || || ||%0a> || +1 Public VPS || || ||%0a> || Resume Referral || || ||%0a> || Ally Network || || ||%0a> || Promote to Minutemin || || ||%0a> || Promote to Governor || || ||%0a> || +1 dedicated server || || ||%0a> %0a> ||! Founder ||! Description ||! Bonus ||%0a> || Gry Adams || Champion of Due Process and the Presumption of Innocence || ||%0a> || Benjamin Social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a> || Error Madison || Defender of Strong Federal Network || ||%0a> || Fizi Hamilton || Established First Network Cryptobank || ||%0a> || Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a> || MIF Hancock || First Signer of Network Independence || ||%0a> || Miniontoby Adams || Minetest Merchant and Discord Smuggler ||%0a> || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a> || Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a> || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a> || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a> || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a> || Walter Raleigh || || ||%0a> || Captain John Smith || || ||%0a> || Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a> || Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a> || Eli Whitney || || ||%0a> || William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a> || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a> %0a> dennis%0a> bangcat%0a> Chewbakka85%0a> Decoy%0a> Fear%0a> nix%0a> Thor%0a> AlienData_Josh%0a> %0a> || border=1 width=100%25 class="sortable simpletable"%0a> ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a> || Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a> || Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a> || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a> || Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a> || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a> || Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a> || Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a> || Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a> %0a> || border=1 width=100%25 class="sortable simpletable"%0a> ||! Policy ||! Modifiers ||! Special Effects ||%0a> ||! Censorship Policy ||||||%0a> || Ban Politics/Religion || -2 Liberty || ||%0a> || Ban Discrimination || -1 Liberty, +1 Unity || ||%0a> || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a> || Encourage the Bible || +1 Virtue || ||%0a> || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a> ||! Privacy Policy ||||||%0a> || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a> || SMS Verification || -1 Privacy || Fewer Clones ||%0a> || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a> || Anonymous Staff || +1 Privacy, -1 Security || ||%0a> || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a> ||! Server Software ||||||%0a> || Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a> || Linux with SystemD || -1 Independence, -1 Security || ||%0a> || OpenBSD || +1 Independence || All projects take 2x longer ||%0a> || OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a> ||! Web Software ||||||%0a> || Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a> || WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a> || Require Javascript || -1 Independence, +1 New Users ||%0a> || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a> ||! Copyright Licenses ||||||%0a> || Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a> || AGPL || -1 Ecosystem || Always requires sharing ||%0a> || GPL || || Requires sharing when copying ||%0a> || IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a> ||! Service Providers ||||||%0a> || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a> || New TLDs || -1 Independence || New TLDs Easily Seized ||%0a> || Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a> || Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a> ||! Programming Software ||||||%0a> || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a> || Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a> || Provide XMPP Server || -1 Independence, +1 New Users || ||%0a> %0a> %0a> Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a> %0a +host:1614853140=198.251.81.119 +author:1614851803=jrmu +diff:1614851803:1614787522:=44,48c44,56%0a%3c || [[Openhttpd/Configure|Simple OpenHTTPd]] || Web || Configure a Simple Web Server || || || Host your own Website ||%0a%3c || [[Openhttpd/Hosting|Multi-user OpenHTTPd]] || Web || Configure Multi-user Web Hosting || || || Webhosting for Others ||%0a%3c [[ [[Openbsd/Httpopenproxy]] ||%0a%3c || [[Openhttpd/Perl]] ||%0a%3c || [[Openbsd/Php]] ||%0a---%0a> %0a> (:if false:)%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a> || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a> || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a> || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a> (:ifend:)%0a> !!! Network Troubleshooting%0a> %0a> %0a> !!! Setting up SSL%0a> %0a265,273c273%0a%3c # Detect abusive users with the [[openbsd/police|policing guide]]%0a%3c %0a%3c (:if false:)%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> # Detect abusive users with the [[openbsd/police|policing guide]]%0a\ No newline at end of file%0a +host:1614851803=198.251.81.119 +author:1614787522=jrmu +diff:1614787522:1614787471:=30,32c30,32%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || || ||%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || || Unlock Netizenship Path || ||%0a%3c || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || || ||%0a---%0a> || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || ||%0a> || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || || Unlock Netizenship Path ||%0a> || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || ||%0a +host:1614787522=198.251.81.119 +author:1614787471=jrmu +diff:1614787471:1614787428:=30c30%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || ||%0a---%0a> || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a32,33c32,33%0a%3c || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || ||%0a%3c %0a---%0a> || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || || ||%0a> %0a35,42c35,42%0a%3c || [[ngircd/install|Install ngIRCd]] || Install an IRC server || IRC || || ||%0a%3c || [[hopm/install|Install hopm]] || Detect and ban spammers using an open proxy monitor || IRC || || ||%0a%3c || [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || ||%0a%3c || [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || ||%0a%3c || [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || ||%0a%3c || [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || ||%0a%3c || [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || ||%0a%3c || [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || ||%0a---%0a> || [[ngircd/install|Install ngIRCd]] || Install an IRC server || IRC || || || ||%0a> || [[hopm/install|Install hopm]] || Detect and ban spammers using an open proxy monitor || IRC || || || ||%0a> || [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || || ||%0a> || [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || || ||%0a> || [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || || ||%0a> || [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || || ||%0a> || [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || || ||%0a> || [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || || ||%0a +host:1614787471=198.251.81.119 +author:1614787428=jrmu +diff:1614787428:1614787085:=14d13%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a19,21c18,20%0a%3c || [[znc/install|Install ZNC]] || IRC || Install ZNC || || || Create your own ZNC ||%0a%3c || [[psybnc/install|Install psyBNC]] || IRC || Install psybnc || || || Create your own ZNC ||%0a%3c %0a---%0a> %0a> %0a> %0a29d27%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a34d31%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a +host:1614787428=198.251.81.119 +author:1614787085=jrmu +diff:1614787085:1614786785:=34,41c34,37%0a%3c || [[netcat/irc|netcat IRC]] || Network || Troubleshoot IRC with netcat || || || || ||%0a%3c || [[netcat/smtp|netcat SMTP]] || Network || Troubleshoot SMTP with netcat || || || || ||%0a%3c || [[netcat/imap|netcat IMAP]] || Network || Troubleshoot IMAP with netcat || || || || ||%0a%3c || [[netcat/http|netcat HTTP]] || Network || Troubleshoot HTTP with netcat || || || || ||%0a%3c || [[openbsd/ping|ping]] || Network || Troubleshoot networking with ping || || || || ||%0a%3c || [[openbsd/dig/dig]] || Network || Troubleshoot DNS servers and records || || || || ||%0a%3c %0a%3c %0a---%0a> %0a> %0a> %0a> %0a50a47,49%0a> # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a> # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a> # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a +host:1614787085=198.251.81.119 +author:1614786785=jrmu +diff:1614786785:1614786538:=14,20d13%0a%3c || [[eggdrop/rss|Eggdrop RSS]] || IRC || Set up Eggdrop RSS News Feed || || || Create IRC News Channel ||%0a%3c || [[eggdrop/trivia|Eggdrop Trivia]] || IRC || Set up Eggdrop Trivia Game || || || Create IRC Trivia Game ||%0a%3c || [[eggdrop/duckhunt|Duck Hunt]] || IRC || Set up Eggdrop Duck Hunt || || || Create IRC Duck Hunt ||%0a%3c || [[eggdrop/biblebot|Bible Bot]] || IRC || Set up Eggdrop Bible Bot || || || Create IRC Bible Channel ||%0a%3c %0a%3c %0a%3c %0a27a21,29%0a> %0a> (:if false:)%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a> || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a> || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a> || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a> (:ifend:)%0a> %0a35,44d36%0a%3c %0a%3c %0a%3c %0a%3c (:if false:)%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c (:ifend:)%0a +host:1614786785=198.251.81.119 +author:1614786538=jrmu +diff:1614786538:1614786420:=97c97%0a%3c || Benjamin Social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a---%0a> || Benjamin Social || Network Diplomat and Defender of the Free Press || ||%0a +host:1614786538=198.251.81.119 +author:1614786420=jrmu +diff:1614786420:1614785950:=31,53c31,35%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || || Unlock Netizenship Path ||%0a%3c || [[Minutemin/Code|Minutemin's Code]] || Recite the Code of Honor || Civics || || || ||%0a%3c %0a%3c || [[ngircd/install|Install ngIRCd]] || Install an IRC server || IRC || || || ||%0a%3c || [[hopm/install|Install hopm]] || Detect and ban spammers using an open proxy monitor || IRC || || || ||%0a%3c %0a%3c !!! Network Troubleshooting%0a%3c %0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c %0a%3c !!! Setting up SSL%0a%3c %0a%3c # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%3c %0a%3c !!! Customizing your Web Server%0a%3c %0a%3c # Set up and configure [[openbsd/php|PHP]]%0a%3c # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%3c %0a%3c %0a---%0a> || [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a> || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a> || [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a> %0a> %0a116a99,100%0a> fizi%0a> Quo-fan%0a177a162,182%0a> %0a> !!! Setting up IRC%0a> %0a> # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a> # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a> %0a> !!! Network Troubleshooting%0a> %0a> # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a> # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a> # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a> %0a> !!! Setting up SSL%0a> %0a> # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a> # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a> %0a> !!! Customizing your Web Server%0a> %0a> # Set up and configure [[openbsd/php|PHP]]%0a> # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a +host:1614786420=198.251.81.119 +author:1614785950=jrmu +diff:1614785950:1614784328:=81c81,84%0a%3c || Fizi Hamilton || Established First Network Cryptobank || ||%0a---%0a> || Fizi Hamilton || Federalist who Established First Network Cryptobank || ||%0a> || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a> || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a> || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a82a86%0a> || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a84,85c88%0a%3c || Miniontoby Adams || Minetest Merchant and Discord Smuggler ||%0a%3c || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a---%0a> || Miniontoby || Minetest Merchant and Discord Smuggler ||%0a87,89d89%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a92a93%0a> || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a96,97c97%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a%3c %0a---%0a> Network Lawyer and Serverwoman,%0a +host:1614785950=198.251.81.119 +author:1614784328=jrmu +diff:1614784328:1614784117:=80c80%0a%3c || Error Madison || Defender of Strong Federal Network || ||%0a---%0a> || Error Franklin || Network News Publisher Who Argued for Strong Federal Network || ||%0a +host:1614784328=198.251.81.119 +author:1614784117=jrmu +diff:1614784117:1614784088:=79c79%0a%3c || Benjamin Social || Network Diplomat and Defender of the Free Press || ||%0a---%0a> || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a +host:1614784117=198.251.81.119 +author:1614784088=jrmu +diff:1614784088:1614783946:=80,81c80%0a%3c || Error Franklin || Network News Publisher Who Argued for Strong Federal Network || ||%0a%3c || Fizi Hamilton || Federalist who Established First Network Cryptobank || ||%0a---%0a> || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a +host:1614784088=198.251.81.119 +author:1614783946=jrmu +diff:1614783946:1614783876:=78c78%0a%3c || Gry Adams || Champion of Due Process and the Presumption of Innocence || ||%0a---%0a> || Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a92c92%0a%3c || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a---%0a> || Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a96c96%0a%3c Network Lawyer and Serverwoman,%0a---%0a> %0a +host:1614783946=198.251.81.119 +author:1614783876=jrmu +diff:1614783876:1614783786:=86,87c86%0a%3c || MIF Hancock || First Signer of Network Independence || ||%0a%3c || Miniontoby || Minetest Merchant and Discord Smuggler ||%0a---%0a> || Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a +host:1614783876=198.251.81.119 +author:1614783786=jrmu +diff:1614783786:1614783742:=6c6%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Free Liberty Shell ||%0a---%0a> || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Eggdrop, ZNC, PsyBNC ||%0a +host:1614783786=198.251.81.119 +author:1614783742=jrmu +diff:1614783742:1614783600:=11a12%0a> %0a14d14%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a +host:1614783742=198.251.81.119 +author:1614783600=jrmu +diff:1614783600:1614783354:=17,19c17,20%0a%3c || [[tcpip/overview|TCP/IP Networking]] || Network || Learn Basics of TCP/IP || || || ||%0a%3c || [[IPv4/overview|IPv4 Networking]] || Network || Learn IPv4 Networking || || || ||%0a%3c || [[IPv6/overview|IPv6 Networking]] || Network || Learn IPv6 Networking || || || ||%0a---%0a> || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a> || Read about [[IPv4/overview|IPv4 networking]] || %0a> || Read about [[IPv6/overview|IPv6 networking]] ||%0a> %0a +host:1614783600=198.251.81.119 +author:1614783354=jrmu +diff:1614783354:1614782419:=11,22c11,12%0a%3c || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || ||%0a%3c %0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Civics || Learn IRCNow Project Goals || || || Unlocks Netizenship Path ||%0a%3c %0a%3c || [[doas/configure|Configure doas]] || Unix || Give yourself root powers using [[openbsd/doas|doas]] || || || Unlock Root Powers ||%0a%3c || [[syspatch/syspatch|syspatch]] || Unix || Patch your system || || || Upgrade to Stable ||%0a%3c || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a%3c || Read about [[IPv4/overview|IPv4 networking]] || %0a%3c || Read about [[IPv6/overview|IPv6 networking]] ||%0a%3c %0a%3c %0a%3c %0a---%0a> || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || Unlocks Netizenship ||%0a> %0a30a21%0a> || [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a35a27,31%0a> || Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a> || Patch your system using [[openbsd/syspatch|syspatch]] || %0a> || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a> || Read about [[IPv4/overview|IPv4 networking]] || %0a> || Read about [[IPv6/overview|IPv6 networking]] ||%0a +host:1614783354=198.251.81.119 +author:1614782419=jrmu +diff:1614782419:1614779953:=11c11,12%0a%3c || [[Immigrant/Welcome|Welcome, New User!]] || Civics || Immigrant's Welcome || || || Unlocks Netizenship ||%0a---%0a> %0a> || [[Ngircd/Oper|Oper Guide]] ||%0a +host:1614782419=198.251.81.119 +author:1614779953=jrmu +diff:1614779953:1614779934:=7c7%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || Unlock Minutemin Path ||%0a---%0a> || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || || Unlock Minutemin Path ||%0a +host:1614779953=198.251.81.119 +author:1614779934=jrmu +diff:1614779934:1614779900:=6c6%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || Eggdrop, ZNC, PsyBNC ||%0a---%0a> || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || || Eggdrop, ZNC, PsyBNC ||%0a8,10c8,10%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || Free Bouncer ||%0a%3c || [[Irc/Services|Services]] || IRC || IRC Services || || || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || Unlock Op of Liberty Path ||%0a---%0a> || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || || Free Bouncer ||%0a> || [[Irc/Services|Services]] || IRC || IRC Services || || || || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || || Unlock Op of Liberty Path ||%0a +host:1614779934=198.251.81.119 +author:1614779900=jrmu +diff:1614779900:1614779866:= +host:1614779900=198.251.81.119 +author:1614779866=jrmu +diff:1614779866:1614779844:=4c4%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs ||! Unlocks ||! Bonus ||%0a---%0a> ||! Lesson ||! Topic ||! Description ||! Prereqs || ! Unlocks ||! Bonus ||%0a +host:1614779866=198.251.81.119 +author:1614779844=jrmu +diff:1614779844:1614779191:=4,10c4,10%0a%3c ||! Lesson ||! Topic ||! Description ||! Prereqs || ! Unlocks ||! Bonus ||%0a%3c || [[irc/irc101|IRC101]] || IRC || Connect to IRC || || || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || || || Eggdrop, ZNC, PsyBNC ||%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || || || Unlock Minutemin Path ||%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || || || Free Bouncer ||%0a%3c || [[Irc/Services|Services]] || IRC || IRC Services || || || || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || || || Unlock Op of Liberty Path ||%0a---%0a> ||! Lesson ||! Topic ||! Description ||! Unlocks ||! Bonus ||%0a> || [[irc/irc101|IRC101]] || IRC || Connect to IRC || IRC || Free Tech Support and Services ||%0a> || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || Eggdrop, ZNC, PsyBNC ||%0a> || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || Unlock Minutemin Path ||%0a> || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || Free Bouncer ||%0a> || [[Irc/Services|Services]] || IRC || IRC Services || || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Unlock Op of Liberty Path ||%0a +host:1614779844=198.251.81.119 +author:1614779191=jrmu +diff:1614779191:1614779158:=10c10%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Unlock Op of Liberty Path ||%0a---%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Ban Users ||%0a +host:1614779191=198.251.81.119 +author:1614779158=jrmu +diff:1614779158:1614779075:=8,10c8,10%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || || Free Bouncer ||%0a%3c || [[Irc/Services|Services]] || IRC || IRC Services || || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || || Ban Users ||%0a---%0a> || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || Bouncer for Security and Offline Messages ||%0a> || [[Irc/Services|Services]] || IRC || IRC Services || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || Ban trolls ||%0a +host:1614779158=198.251.81.119 +author:1614779075=jrmu +diff:1614779075:1614778998:=4,10c4,10%0a%3c ||! Lesson ||! Topic ||! Description ||! Unlocks ||! Bonus ||%0a%3c || [[irc/irc101|IRC101]] || IRC || Connect to IRC || IRC || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Unix || Sign up for a Liberty Shell || || Eggdrop, ZNC, PsyBNC ||%0a%3c || [[unix101/unix101|Unix101]] || Unix || Learn the Command Line || || Unlock Minutemin Path ||%0a%3c || [[Bouncer/Bouncer|Bouncer]] || IRC || Bouncer Tutorial || Bouncer for Security and Offline Messages ||%0a%3c || [[Irc/Services|Services]] || IRC || IRC Services || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || IRC || Manage Channels || Ban trolls ||%0a---%0a> ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a> || [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a> || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || || Eggdrop, ZNC, PsyBNC ||%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Unlock Minutemin Path ||%0a> || [[Bouncer/Bouncer|Bouncer]] || Bouncer Tutorial || IRC || Bouncer for Security and Offline Messages ||%0a> || [[Irc/Services|Services]] || IRC Services || IRC || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] || Manage Channels || IRC || Ban trolls ||%0a +host:1614779075=198.251.81.119 +author:1614778998=jrmu +diff:1614778998:1614778892:=6c6%0a%3c || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || || Eggdrop, ZNC, PsyBNC ||%0a---%0a> || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a +host:1614778998=198.251.81.119 +author:1614778892=jrmu +diff:1614778892:1614778871:=213a214,215%0a> %0a> (:title Ongoing Training:)%0a +host:1614778892=198.251.81.119 +author:1614778871=jrmu +diff:1614778871:1614778640:= +host:1614778871=198.251.81.119 +author:1614778640=jrmu +diff:1614778640:1614778489:=9,10c9,10%0a%3c || [[Irc/Services|Services]] || IRC Services || IRC || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] || Manage Channels || IRC || Ban trolls ||%0a---%0a> || [[Irc/Services|Services]] || Learn IRC Services || IRC || Register Username and Channel ||%0a> || [[Irc/Chanop|Channel Op]] ||%0a +host:1614778640=198.251.81.119 +author:1614778489=jrmu +diff:1614778489:1614778373:=7c7%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Unlock Minutemin Path ||%0a---%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a +host:1614778489=198.251.81.119 +author:1614778373=jrmu +diff:1614778373:1614512961:=8,12d7%0a%3c || [[Bouncer/Bouncer|Bouncer]] || Bouncer Tutorial || IRC || Bouncer for Security and Offline Messages ||%0a%3c || [[Irc/Services|Services]] || Learn IRC Services || IRC || Register Username and Channel ||%0a%3c || [[Irc/Chanop|Channel Op]] ||%0a%3c %0a%3c || [[Ngircd/Oper|Oper Guide]] ||%0a +host:1614778373=198.251.81.119 +author:1614512961=jrmu +diff:1614512961:1614491001:=210,259c210%0a%3c (:title Ongoing Training:)%0a%3c %0a%3c !! Claiming Networks%0a%3c %0a%3c # Claim your [[ircnow/networks|team's networks]]%0a%3c %0a%3c Ongoing training for minutemin:%0a%3c %0a%3c !! IRC%0a%3c %0a%3c # Practice installing [[openbsd/botnow|botnow]]%0a%3c # Provide customer support for [[Openbsd/ZNCUser|ZNC]]%0a%3c # Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a%3c # If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a%3c %0a%3c !! Security%0a%3c %0a%3c # Fix [[openbsd/FilePermissions|file permissions]]%0a%3c %0a%3c !! Source Control%0a%3c %0a%3c # Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a%3c # Install and configure [[openbsd/gotweb]], a got viewer for the web%0a%3c %0a%3c !! Filesharing%0a%3c %0a%3c # Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a%3c %0a%3c !! System Utilities%0a%3c %0a%3c # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a%3c # Follow the [[openbsd/vmmuser|VMM User Guide]]%0a%3c # Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a%3c # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]%0a%3c # On your practice VPS, [[openbsd/newdisk|add a new disk]] and [[openbsd/growfs|grow a disk partition]]%0a%3c %0a%3c !! Networking%0a%3c %0a%3c # Use [[openbsd/tcpdump|tcpdump]] to read network packets%0a%3c # [[openbsd/Staticnet|Configure static networking]]%0a%3c # Learn about [[Openbsd/pf|packet filter]]%0a%3c # Configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a%3c # Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a%3c # Configure your [[openbsd/RDNS|rDNS zone]] using nsd%0a%3c # Add IPSec VPNs with [[openbsd/iked|iked]]%0a%3c %0a%3c !! Security%0a%3c %0a%3c # Detect abusive users with the [[openbsd/police|policing guide]]%0a\ No newline at end of file%0a---%0a> %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a\ No newline at end of file%0a +host:1614512961=198.251.81.119 +author:1614491001=jrmu +diff:1614491001:1614484360:=8,9d7%0a%3c %0a%3c (:if false:)%0a15,16d12%0a%3c (:ifend:)%0a%3c %0a +host:1614491001=198.251.81.119 +author:1614484360=jrmu +diff:1614484360:1614484360:=1,206d0%0a%3c (:title Minutemin Bootcamp:)%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a%3c || [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a%3c || [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a%3c || [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a%3c %0a%3c || Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a%3c || Patch your system using [[openbsd/syspatch|syspatch]] || %0a%3c || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a%3c || Read about [[IPv4/overview|IPv4 networking]] || %0a%3c || Read about [[IPv6/overview|IPv6 networking]] ||%0a%3c %0a%3c ||! Character ||! Description ||! Skills ||! Bonus ||%0a%3c || Immigrant || Comes From the Old Network || None || None ||%0a%3c || Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a%3c || Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a%3c || Pioneer || Network Pioneers || Explore || Explorer ||%0a%3c || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a%3c || Inventor || Unix Inventors || Coding || Repo Privs ||%0a%3c || Judge || Interpret Network Law || Law || Judge ||%0a%3c || Senator || Writes Network Law || Law || Voting ||%0a%3c %0a%3c Bonuses%0a%3c %0a%3c ||! Bonus Type ||! Limit ||! Description ||%0a%3c || password reset || || ||%0a%3c || +1 bnc || max 2 || Free ZNC ||%0a%3c || +1 liberty shell || max 2 || Free Shell ||%0a%3c || custom vhost || || ||%0a%3c || custom domain || || ||%0a%3c || +1 SSL cert || || ||%0a%3c || +v voice (netizen) || || Netizen ||%0a%3c || +h halfop || || Patriot ||%0a%3c || +o op || || Op of Liberty ||%0a%3c || +a admin || || ||%0a%3c || +q founder || || ||%0a%3c || +oper || || ||%0a%3c || +znc admin || || ||%0a%3c || +1 email || || ||%0a%3c || +1 eggdrop || || ||%0a%3c || +1 support email || || ||%0a%3c || +1 VPN || || ||%0a%3c || +1 GB file storage || || ||%0a%3c || +1 nntp account || || ||%0a%3c || +1 minetest server || || ||%0a%3c || +1 Homestead VPS || || ||%0a%3c || +1 Public VPS || || ||%0a%3c || Resume Referral || || ||%0a%3c || Ally Network || || ||%0a%3c || Promote to Minutemin || || ||%0a%3c || Promote to Governor || || ||%0a%3c || +1 dedicated server || || ||%0a%3c %0a%3c ||! Founder ||! Description ||! Bonus ||%0a%3c || Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a%3c || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a%3c || Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a%3c || Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a%3c || Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a%3c || Walter Raleigh || || ||%0a%3c || Captain John Smith || || ||%0a%3c || Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a%3c || Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a%3c || Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a%3c || Eli Whitney || || ||%0a%3c || William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a%3c %0a%3c dennis%0a%3c fizi%0a%3c Quo-fan%0a%3c bangcat%0a%3c Chewbakka85%0a%3c Decoy%0a%3c Fear%0a%3c nix%0a%3c Thor%0a%3c AlienData_Josh%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a%3c || Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a%3c || Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a%3c || Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a%3c || Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a%3c || Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a%3c || Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Policy ||! Modifiers ||! Special Effects ||%0a%3c ||! Censorship Policy ||||||%0a%3c || Ban Politics/Religion || -2 Liberty || ||%0a%3c || Ban Discrimination || -1 Liberty, +1 Unity || ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a%3c || Encourage the Bible || +1 Virtue || ||%0a%3c || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a%3c ||! Privacy Policy ||||||%0a%3c || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a%3c || SMS Verification || -1 Privacy || Fewer Clones ||%0a%3c || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a%3c || Anonymous Staff || +1 Privacy, -1 Security || ||%0a%3c || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a%3c ||! Server Software ||||||%0a%3c || Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a%3c || Linux with SystemD || -1 Independence, -1 Security || ||%0a%3c || OpenBSD || +1 Independence || All projects take 2x longer ||%0a%3c || OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a%3c ||! Web Software ||||||%0a%3c || Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a%3c || WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a%3c || Require Javascript || -1 Independence, +1 New Users ||%0a%3c || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a%3c ||! Copyright Licenses ||||||%0a%3c || Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a%3c || AGPL || -1 Ecosystem || Always requires sharing ||%0a%3c || GPL || || Requires sharing when copying ||%0a%3c || IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a%3c ||! Service Providers ||||||%0a%3c || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a%3c || New TLDs || -1 Independence || New TLDs Easily Seized ||%0a%3c || Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a%3c || Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a%3c ||! Programming Software ||||||%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a%3c || Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a%3c || Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%3c %0a%3c %0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a%3c %0a%3c %0a%3c !!! Setting up IRC%0a%3c %0a%3c # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a%3c # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a%3c %0a%3c !!! Network Troubleshooting%0a%3c %0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c %0a%3c !!! Setting up SSL%0a%3c %0a%3c # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%3c %0a%3c !!! Customizing your Web Server%0a%3c %0a%3c # Set up and configure [[openbsd/php|PHP]]%0a%3c # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%3c %0a%3c !!! Installing a Bouncer%0a%3c %0a%3c # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a%3c # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a%3c # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a%3c %0a%3c !!! Configuring DNS%0a%3c %0a%3c # Learn about [[openbsd/Dns|DNS fundamentals]]%0a%3c # Learn how to configure a [[openbsd/vhost]]%0a%3c # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a%3c # Configure your local caching nameserver using [[openbsd/unbound]]%0a%3c # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a%3c %0a%3c !! Configuring Networking%0a%3c %0a%3c # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a%3c # Test basic connectivity with [[openbsd/ping|ping]]%0a%3c %0a%3c !!! Setting up a Mail Server%0a%3c %0a%3c # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a%3c # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a%3c # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a%3c # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a%3c # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a%3c %0a%3c !! Congratulations! Join the Team!%0a%3c %0a%3c # Read up on [[Openbsd/Team|team procedure]].%0a%3c # and [[Openbsd/Stable]] server protocol.%0a%3c # and [[Openbsd/Testing]] server protocol.%0a%3c %0a%3c Please continue with [[openbsd/ongoing|ongoing training]].%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a\ No newline at end of file%0a +host:1614484360=198.251.81.119 blob - /dev/null blob + 1d05f1e62ddb23d0ea4da960aed8f71db0e766af (mode 644) --- /dev/null +++ wiki.d/Minutemin.Code @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613300067 +host=198.251.81.119 +name=Minutemin.Code +rev=9 +targets= +text=(:title The Code Warrior:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a%0aI am an IRCNow admin.%0a%0aI am a code warrior and a member of a team.%0a%0aI am here to serve the users of IRCNow.%0a%0aI live the network values of loyalty, duty, respect, selfless service, honor, integrity, and courage.%0a%0aI will not accept defeat.%0a%0aI will not quit in the middle of a job.%0a%0aI will not abandon a fallen teammate.%0a%0aI am disciplined, tough, and well-trained with my system and code.%0a%0aI am an expert and I am a professional.%0a%0aI am a guardian of freedom and the IRCNow way of chat. +time=1616556412 +title=The Code Warrior +author:1616556412=jrmu +diff:1616556412:1614482306:=23c23%0a%3c I am a guardian of freedom and the IRCNow way of chat.%0a\ No newline at end of file%0a---%0a> I am a guardian of freedom and the IRCNow way of life.%0a\ No newline at end of file%0a +host:1616556412=198.251.81.119 +author:1614482306=jrmu +diff:1614482306:1614482248:=13,15c13,15%0a%3c I will not accept defeat.%0a%3c %0a%3c I will not quit in the middle of a job.%0a---%0a> I will never accept defeat.%0a> %0a> I will not quit on the job.%0a +host:1614482306=198.251.81.119 +author:1614482248=jrmu +diff:1614482248:1614480567:=15c15%0a%3c I will not quit on the job.%0a---%0a> I will never quit on the job.%0a +host:1614482248=198.251.81.119 +author:1614480567=jrmu +diff:1614480567:1614479772:=9,11c9%0a%3c I am here to serve the users of IRCNow.%0a%3c %0a%3c I live the network values of loyalty, duty, respect, selfless service, honor, integrity, and courage.%0a---%0a> I serve the users of IRCNow and live the network values.%0a +host:1614480567=198.251.81.119 +author:1614479772=jrmu +diff:1614479772:1614479519:=2,3d1%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a +host:1614479772=198.251.81.119 +author:1614479519=jrmu +diff:1614479519:1614479471:= +host:1614479519=198.251.81.119 +author:1614479471=jrmu +diff:1614479471:1614479251:=1c1%0a%3c (:title The Code Warrior:)%0a---%0a> (:title The Minutemin's Code of Honor:)%0a +host:1614479471=198.251.81.119 +author:1614479251=jrmu +diff:1614479251:1613300067:=3,19c3,19%0a%3c I am an IRCNow admin.%0a%3c %0a%3c I am a code warrior and a member of a team.%0a%3c %0a%3c I serve the users of IRCNow and live the network values.%0a%3c %0a%3c I will never accept defeat.%0a%3c %0a%3c I will never quit on the job.%0a%3c %0a%3c I will not abandon a fallen teammate.%0a%3c %0a%3c I am disciplined, tough, and well-trained with my system and code.%0a%3c %0a%3c I am an expert and I am a professional.%0a%3c %0a%3c I am a guardian of freedom and the IRCNow way of life.%0a\ No newline at end of file%0a---%0a> [@%0a> Repeat after me:%0a> %0a> This is my network. %0a> %0a> It is mine %0a> technically it belongs to WE THE USERS%0a> it is my responsibility %0a> and I care for it with all my heart%0a> %0a> there are many other networks a lot like mine,%0a> but none are just like it.%0a> %0a> I will not mindlessly paste from HOWTOs.%0a> @]%0a> %0a> Based on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]]%0a\ No newline at end of file%0a +host:1614479251=198.251.81.119 +author:1613300067=jrmu +diff:1613300067:1613300067:=1,19d0%0a%3c (:title The Minutemin's Code of Honor:)%0a%3c %0a%3c [@%0a%3c Repeat after me:%0a%3c %0a%3c This is my network. %0a%3c %0a%3c It is mine %0a%3c technically it belongs to WE THE USERS%0a%3c it is my responsibility %0a%3c and I care for it with all my heart%0a%3c %0a%3c there are many other networks a lot like mine,%0a%3c but none are just like it.%0a%3c %0a%3c I will not mindlessly paste from HOWTOs.%0a%3c @]%0a%3c %0a%3c Based on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]]%0a\ No newline at end of file%0a +host:1613300067=198.251.81.119 blob - /dev/null blob + 6cfda24e8e74e6508ef2e0281b51f75a0f5044fb (mode 644) --- /dev/null +++ wiki.d/Minutemin.Creed @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614480025 +host=198.251.81.119 +name=Minutemin.Creed +rev=3 +targets= +text=This is my server. There are many like it, but this one is mine.%0a%0aMy server is my best friend. It is my life. I must master it as I must master my life.%0a%0aMy server, without me, is useless. Without my server, I am useless. I must admin my server correctly. I must know the manual pages better than my enemy who is trying to pwn me. I must type first before he types against me.%0a%0aMy server and myself know that what counts in this conflict is not the commands we type, the bots we set up, nor the daemons we configure. We know that it is the users that count. We will get them.%0a%0aI will learn my server as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will guard it against abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a%0aMy server and myself are the defenders of our network. We are the masters of our enemy.%0a%0aSo be it, until victory is IRCNow's and there is no enemy, but peace! +time=1614482489 +author:1614482489=jrmu +diff:1614482489:1614481256:=7c7%0a%3c My server and myself know that what counts in this conflict is not the commands we type, the bots we set up, nor the daemons we configure. We know that it is the users that count. We will get them.%0a---%0a> My server and myself know that what counts in this conflict is not the commands we type, the spinning of our hard disks, nor the files we transfer. We know that it is the users that count. We will get them.%0a +host:1614482489=198.251.81.119 +author:1614481256=jrmu +diff:1614481256:1614480025:=9c9%0a%3c I will learn my server as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will guard it against abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a---%0a> My server is human, even as I, because it is my life. Thus, I will learn it as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will ever guard it against the ravages of abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a +host:1614481256=198.251.81.119 +author:1614480025=jrmu +diff:1614480025:1614480025:=1,13d0%0a%3c This is my server. There are many like it, but this one is mine.%0a%3c %0a%3c My server is my best friend. It is my life. I must master it as I must master my life.%0a%3c %0a%3c My server, without me, is useless. Without my server, I am useless. I must admin my server correctly. I must know the manual pages better than my enemy who is trying to pwn me. I must type first before he types against me.%0a%3c %0a%3c My server and myself know that what counts in this conflict is not the commands we type, the spinning of our hard disks, nor the files we transfer. We know that it is the users that count. We will get them.%0a%3c %0a%3c My server is human, even as I, because it is my life. Thus, I will learn it as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will ever guard it against the ravages of abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a%3c %0a%3c My server and myself are the defenders of our network. We are the masters of our enemy.%0a%3c %0a%3c So be it, until victory is IRCNow's and there is no enemy, but peace!%0a\ No newline at end of file%0a +host:1614480025=198.251.81.119 blob - /dev/null blob + cb1421bfa64de454a608f90401b3a3749085e29b (mode 644) --- /dev/null +++ wiki.d/Minutemin.Duty @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614482557 +host=198.251.81.44 +name=Minutemin.Duty +rev=8 +targets=Freedom.Selfadmin,Freedom.Independence,Freedom.Freedom,Freedom.Openforeveryone,Ircnow.Constitution +text=I support IRCNow as a network [[freedom/selfadmin|of the users, by the users, for the users]]; whose just powers are derived from [[freedom/independence|the consent of the networked]]; a perfect union, one and inseparable; established upon those principles of [[freedom/freedom|freedom]], [[freedom/openforeveryone|equality]], justice, and humanity for which network patriots sacrificed their money and time.%0a%0aI agree to support and defend the [[ircnow/constitution|Constitution of IRCNow]] against all enemies, external and internal; and I will perform my duties as admin. +time=1618116792 +author:1618116792=jrmu +diff:1618116792:1615779780:=1c1%0a%3c I support IRCNow as a network [[freedom/selfadmin|of the users, by the users, for the users]]; whose just powers are derived from [[freedom/independence|the consent of the networked]]; a perfect union, one and inseparable; established upon those principles of [[freedom/freedom|freedom]], [[freedom/openforeveryone|equality]], justice, and humanity for which network patriots sacrificed their money and time.%0a---%0a> I support IRCNow as a network [[freedom/selfadmin|of the users, by the users, for the users]]; whose just powers are derived from [[freedom|independence|the consent of the networked]]; a perfect union, one and inseparable; established upon those principles of [[freedom/freedom|freedom]], [[freedom/openforeveryone|equality]], justice, and humanity for which network patriots sacrificed their money and time.%0a +host:1618116792=198.251.81.44 +author:1615779780=jrmu +diff:1615779780:1614568107:=1,3c1,3%0a%3c I support IRCNow as a network [[freedom/selfadmin|of the users, by the users, for the users]]; whose just powers are derived from [[freedom|independence|the consent of the networked]]; a perfect union, one and inseparable; established upon those principles of [[freedom/freedom|freedom]], [[freedom/openforeveryone|equality]], justice, and humanity for which network patriots sacrificed their money and time.%0a%3c %0a%3c I agree to support and defend the [[ircnow/constitution|Constitution of IRCNow]] against all enemies, external and internal; and I will perform my duties as admin.%0a\ No newline at end of file%0a---%0a> I support IRCNow as a network of the users, by the users, for the users; whose just powers are derived from the consent of the networked; a perfect union, one and inseparable; established upon those principles of freedom, equality, justice, and humanity for which network patriots sacrificed their money and time.%0a> %0a> I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties as admin.%0a\ No newline at end of file%0a +host:1615779780=125.231.16.136 +author:1614568107=jrmu +diff:1614568107:1614566876:=3c3%0a%3c I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties as admin.%0a\ No newline at end of file%0a---%0a> I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties faithfully as admin.%0a\ No newline at end of file%0a +host:1614568107=125.224.26.27 +author:1614566876=jrmu +diff:1614566876:1614482826:=3c3%0a%3c I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties faithfully as admin.%0a\ No newline at end of file%0a---%0a> I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties as admin.%0a\ No newline at end of file%0a +host:1614566876=125.224.26.27 +author:1614482826=jrmu +diff:1614482826:1614482758:=1a2,3%0a> %0a> It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a +host:1614482826=198.251.81.119 +author:1614482758=jrmu +diff:1614482758:1614482569:=3,5c3%0a%3c It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a%3c %0a%3c I agree to support and defend the Constitution of IRCNow against all enemies, external and internal; and I will perform my duties as admin.%0a\ No newline at end of file%0a---%0a> It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a\ No newline at end of file%0a +host:1614482758=198.251.81.119 +author:1614482569=jrmu +diff:1614482569:1614482557:=1,3c1,3%0a%3c I support IRCNow as a network of the users, by the users, for the users; whose just powers are derived from the consent of the networked; a perfect union, one and inseparable; established upon those principles of freedom, equality, justice, and humanity for which network patriots sacrificed their money and time.%0a%3c %0a%3c It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a\ No newline at end of file%0a---%0a> I support IRCNow as a network of the users, by the users, for the users; whose just powers are derived from the consent of the networked; a perfect union, one and inseparable; established upon those principles of freedom, equality, justice, and humanity for which network patriots sacrificed their money and time.%0a> %0a> It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a\ No newline at end of file%0a +host:1614482569=198.251.81.119 +author:1614482557=jrmu +diff:1614482557:1614482557:=1,3d0%0a%3c I support IRCNow as a network of the users, by the users, for the users; whose just powers are derived from the consent of the networked; a perfect union, one and inseparable; established upon those principles of freedom, equality, justice, and humanity for which network patriots sacrificed their money and time.%0a%3c %0a%3c It is my duty to my network to love it, to support its Constitution, to obey its policies, to respect its logo, and to defend it against all enemies.%0a\ No newline at end of file%0a +host:1614482557=198.251.81.119 blob - /dev/null blob + a592b9ed562443e22a4e99622ec6f34faf659756 (mode 644) --- /dev/null +++ wiki.d/Minutemin.Game @@ -0,0 +1,66 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614484303 +host=198.251.81.119 +name=Minutemin.Game +rev=18 +targets= +text=|| border=1 width=100%25 class="sortable simpletable"%0a||! Character ||! Description ||! Skills ||! Bonus ||%0a|| Immigrant || Comes From the Old Network || None || None ||%0a|| Minutemin || Server Patriots || Sysadmin || Admin Powers ||%0a|| Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a|| Regulars || Unix Code Regulars || Coding || Repo Privs ||%0a|| Judge || Interpret Network Law || Law || Judge ||%0a|| Senator || Writes Network Law || Law || Voting ||%0a|| Pioneer || Network Pioneers || Explore || Explorer ||%0a|| Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs||%0a%0aBonuses%0a%0a||! Bonus Type ||! Limit ||! Description ||%0a|| password reset || || ||%0a|| +1 bnc || max 2 || Free ZNC ||%0a|| +1 liberty shell || max 2 || Free Shell ||%0a|| custom vhost || || ||%0a|| custom domain || || ||%0a|| +1 SSL cert || || ||%0a|| +v voice (netizen) || || Netizen ||%0a|| +h halfop || || Patriot ||%0a|| +o op || || Op of Liberty ||%0a|| +a admin || || ||%0a|| +q founder || || ||%0a|| +oper || || ||%0a|| +znc admin || || ||%0a|| +1 email || || ||%0a|| +1 eggdrop || || ||%0a|| +1 support email || || ||%0a|| +1 VPN || || ||%0a|| +1 GB file storage || || ||%0a|| +1 nntp account || || ||%0a|| +1 minetest server || || ||%0a|| +1 Homestead VPS || || ||%0a|| +1 Public VPS || || ||%0a|| Resume Referral || || ||%0a|| Ally Network || || ||%0a|| Promote to Minutemin || || ||%0a|| Promote to Governor || || ||%0a|| +1 dedicated server || || ||%0a%0a||! Founder ||! Description ||! Bonus ||%0a|| gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about netizen fees ||%0a|| search_social || Network Diplomat and Defender of the Free Press || Charitable donors are 2x as generous ||%0a|| Error || First Network News Publisher || All servers now accept use of odd protocols ||%0a|| Fizi || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a|| Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a|| MIF Hancock || First Signer of Network Independence || ||%0a|| Miniontoby || Minetest Merchant and Discord Smuggler || Bridges Attract +50%25 More New Users ||%0a|| Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a|| Chewbakka85 || || ||%0a|| dennis || || ||%0a|| bangcat || || ||%0a|| nix || || ||%0a|| Thor || || ||%0a|| Torrenter2010 || Pirate on the Eye Are Seas || ||%0a|| John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a|| Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a|| James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a|| Walter Raleigh || || ||%0a|| Captain John Smith || || ||%0a|| Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a|| Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a|| Eli Whitney || || ||%0a|| William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a|| Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a|| Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a|| Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a|| Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a|| Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a|| New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a|| Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a|| Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a|| Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Policy ||! Modifiers ||! Special Effects ||%0a||! Censorship Policy ||||||%0a|| Ban Politics/Religion || -2 Liberty || ||%0a|| Ban Discrimination || -1 Liberty, +1 Unity || ||%0a|| Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a|| Encourage the Bible || +1 Virtue || ||%0a|| NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a||! Privacy Policy ||||||%0a|| Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a|| SMS Verification || -1 Privacy || Fewer Clones ||%0a|| Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a|| Anonymous Staff || +1 Privacy, -1 Security || ||%0a|| Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a||! Server Software ||||||%0a|| Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a|| Linux with SystemD || -1 Independence, -1 Security || ||%0a|| OpenBSD || +1 Independence || All projects take 2x longer ||%0a|| OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a||! Web Software ||||||%0a|| Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a|| WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a|| Require Javascript || -1 Independence, +1 New Users ||%0a|| Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a||! Copyright Licenses ||||||%0a|| Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a|| AGPL || -1 Ecosystem || Always requires sharing ||%0a|| GPL || || Requires sharing when copying ||%0a|| IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a||! Service Providers ||||||%0a|| Cloudflare || -2 Independence || Risk of Deplatforming ||%0a|| New TLDs || -1 Independence || New TLDs Easily Seized ||%0a|| Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a|| Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a||! Programming Software ||||||%0a|| Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a|| Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a|| Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%0aLiberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence +time=1614852995 +author:1614852995=jrmu +diff:1614852995:1614852965:=52c52%0a%3c || Chewbakka85 || || ||%0a---%0a> || Chewbakka85 || ||%0a +host:1614852995=198.251.81.119 +author:1614852965=jrmu +diff:1614852965:1614852837:=44c44%0a%3c || gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about netizen fees ||%0a---%0a> || gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about membership fees ||%0a +host:1614852965=198.251.81.119 +author:1614852837=jrmu +diff:1614852837:1614852778:=44c44%0a%3c || gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about membership fees ||%0a---%0a> || gry || Champion of Due Process and the Presumption of Innocence || ||%0a +host:1614852837=198.251.81.119 +author:1614852778=jrmu +diff:1614852778:1614852752:=46c46%0a%3c || Error || First Network News Publisher || All servers now accept use of odd protocols ||%0a---%0a> || Error || First Major News Publisher || All servers now accept use of odd protocols ||%0a +host:1614852778=198.251.81.119 +author:1614852752=jrmu +diff:1614852752:1614852533:=46c46%0a%3c || Error || First Major News Publisher || All servers now accept use of odd protocols ||%0a---%0a> || Error || Defender of Strong Federal Network || ||%0a48c48%0a%3c || Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a---%0a> || Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a50,51c50,51%0a%3c || Miniontoby || Minetest Merchant and Discord Smuggler || Bridges Attract +50%25 More New Users ||%0a%3c || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a---%0a> || Miniontoby || Minetest Merchant and Discord Smuggler ||%0a> || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a +host:1614852752=198.251.81.119 +author:1614852533=jrmu +diff:1614852533:1614852524:=68c68%0a%3c %0a---%0a> 1`%0a +host:1614852533=198.251.81.119 +author:1614852524=jrmu +diff:1614852524:1614852454:=55,56d54%0a%3c || nix || || ||%0a%3c || Thor || || ||%0a68c66,73%0a%3c 1`%0a---%0a> %0a> %0a> %0a> Fear%0a> nix%0a> Thor%0a> AlienData_Josh%0a> %0a +host:1614852524=198.251.81.119 +author:1614852454=jrmu +diff:1614852454:1614852293:=44,45c44,45%0a%3c || gry || Champion of Due Process and the Presumption of Innocence || ||%0a%3c || search_social || Network Diplomat and Defender of the Free Press || Charitable donors are 2x as generous ||%0a---%0a> || Gry || Champion of Due Process and the Presumption of Innocence || ||%0a> || search_social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a48c48%0a%3c || Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a---%0a> || Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a52,54d51%0a%3c || Chewbakka85 || ||%0a%3c || dennis || || ||%0a%3c || bangcat || || ||%0a67,68c64,67%0a%3c %0a%3c %0a---%0a> dennis%0a> bangcat%0a> Chewbakka85%0a> Decoy%0a +host:1614852454=198.251.81.119 +author:1614852293=jrmu +diff:1614852293:1614852200:=44,47c44,47%0a%3c || Gry || Champion of Due Process and the Presumption of Innocence || ||%0a%3c || search_social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a%3c || Error || Defender of Strong Federal Network || ||%0a%3c || Fizi || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a---%0a> || Gry Adams || Champion of Due Process and the Presumption of Innocence || ||%0a> || Benjamin Social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a> || Error Madison || Defender of Strong Federal Network || ||%0a> || Fizi Hamilton || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a50c50%0a%3c || Miniontoby || Minetest Merchant and Discord Smuggler ||%0a---%0a> || Miniontoby Adams || Minetest Merchant and Discord Smuggler ||%0a64a65,66%0a> fizi%0a> Quo-fan%0a +host:1614852293=198.251.81.119 +author:1614852200=jrmu +diff:1614852200:1614852059:= +host:1614852200=198.251.81.119 +author:1614852059=jrmu +diff:1614852059:1614852017:=47c47%0a%3c || Fizi Hamilton || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a---%0a> || Fizi Hamilton || Established First Network Cryptobank || ||%0a +host:1614852059=198.251.81.119 +author:1614852017=jrmu +diff:1614852017:1614851925:=44,47c44,49%0a%3c || Gry Adams || Champion of Due Process and the Presumption of Innocence || ||%0a%3c || Benjamin Social || Network Diplomat and Defender of the Free Press || Charitable donors are +50%25 more generous ||%0a%3c || Error Madison || Defender of Strong Federal Network || ||%0a%3c || Fizi Hamilton || Established First Network Cryptobank || ||%0a---%0a> || Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a> || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a> || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a> || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a> || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a> || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a49,55c51,53%0a%3c || MIF Hancock || First Signer of Network Independence || ||%0a%3c || Miniontoby Adams || Minetest Merchant and Discord Smuggler ||%0a%3c || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a%3c || Torrenter2010 || Pirate on the Eye Are Seas || ||%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a---%0a> || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a> || Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a> || Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a58a57%0a> || Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a62d60%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a +host:1614852017=198.251.81.119 +author:1614851925=jrmu +diff:1614851925:1614851889:=1d0%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1614851925=198.251.81.119 +author:1614851889=jrmu +diff:1614851889:1614782261:=0a1,22%0a> || border=1 width=100%25 class="sortable simpletable"%0a> ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a> || [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a> || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a> || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a> || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a> || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a> || [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a> || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a> || [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a> || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a> || [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a> %0a> || Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a> || Patch your system using [[openbsd/syspatch|syspatch]] || %0a> || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a> || Read about [[IPv4/overview|IPv4 networking]] || %0a> || Read about [[IPv6/overview|IPv6 networking]] ||%0a> %0a122c144,204%0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a\ No newline at end of file%0a---%0a> %0a> Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a> %0a> %0a> !!! Setting up IRC%0a> %0a> # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a> # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a> %0a> !!! Network Troubleshooting%0a> %0a> # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a> # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a> # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a> %0a> !!! Setting up SSL%0a> %0a> # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a> # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a> %0a> !!! Customizing your Web Server%0a> %0a> # Set up and configure [[openbsd/php|PHP]]%0a> # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a> %0a> !!! Installing a Bouncer%0a> %0a> # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a> # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a> # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a> %0a> !!! Configuring DNS%0a> %0a> # Learn about [[openbsd/Dns|DNS fundamentals]]%0a> # Learn how to configure a [[openbsd/vhost]]%0a> # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a> # Configure your local caching nameserver using [[openbsd/unbound]]%0a> # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a> %0a> !! Configuring Networking%0a> %0a> # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a> # Test basic connectivity with [[openbsd/ping|ping]]%0a> %0a> !!! Setting up a Mail Server%0a> %0a> # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a> # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a> # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a> # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a> # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a> %0a> !! Congratulations! Join the Team!%0a> %0a> # Read up on [[Openbsd/Team|team procedure]].%0a> # and [[Openbsd/Stable]] server protocol.%0a> # and [[Openbsd/Testing]] server protocol.%0a> %0a> Please continue with [[openbsd/ongoing|ongoing training]].%0a> %0a> %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a\ No newline at end of file%0a +host:1614851889=198.251.81.119 +author:1614782261=jrmu +diff:1614782261:1614782144:=25a26%0a> || Pioneer || Network Pioneers || Explore || Explorer ||%0a27c28%0a%3c || Regulars || Unix Code Regulars || Coding || Repo Privs ||%0a---%0a> || Regulars || Sysadmin/Code Regulars || Coding || Repo Privs ||%0a30,31d30%0a%3c || Pioneer || Network Pioneers || Explore || Explorer ||%0a%3c || Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs||%0a +host:1614782261=198.251.81.119 +author:1614782144=jrmu +diff:1614782144:1614780706:=28c28%0a%3c || Regulars || Sysadmin/Code Regulars || Coding || Repo Privs ||%0a---%0a> || Inventor || Unix Inventors || Coding || Repo Privs ||%0a30a31,36%0a> %0a> Coders%0a> Senators%0a> Judges%0a> Sheriffs%0a> Minutemin%0a +host:1614782144=198.251.81.119 +author:1614780706=jrmu +diff:1614780706:1614484303:=25c25,26%0a%3c || Minutemin || Server Patriots || Sysadmin || Admin Powers ||%0a---%0a> || Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a> || Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a31,36d31%0a%3c %0a%3c Coders%0a%3c Senators%0a%3c Judges%0a%3c Sheriffs%0a%3c Minutemin%0a +host:1614780706=198.251.81.119 +author:1614484303=jrmu +diff:1614484303:1614484303:=1,204d0%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a%3c || [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a%3c || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a%3c || [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a%3c || [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a%3c %0a%3c || Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a%3c || Patch your system using [[openbsd/syspatch|syspatch]] || %0a%3c || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a%3c || Read about [[IPv4/overview|IPv4 networking]] || %0a%3c || Read about [[IPv6/overview|IPv6 networking]] ||%0a%3c %0a%3c ||! Character ||! Description ||! Skills ||! Bonus ||%0a%3c || Immigrant || Comes From the Old Network || None || None ||%0a%3c || Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a%3c || Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a%3c || Pioneer || Network Pioneers || Explore || Explorer ||%0a%3c || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a%3c || Inventor || Unix Inventors || Coding || Repo Privs ||%0a%3c || Judge || Interpret Network Law || Law || Judge ||%0a%3c || Senator || Writes Network Law || Law || Voting ||%0a%3c %0a%3c Bonuses%0a%3c %0a%3c ||! Bonus Type ||! Limit ||! Description ||%0a%3c || password reset || || ||%0a%3c || +1 bnc || max 2 || Free ZNC ||%0a%3c || +1 liberty shell || max 2 || Free Shell ||%0a%3c || custom vhost || || ||%0a%3c || custom domain || || ||%0a%3c || +1 SSL cert || || ||%0a%3c || +v voice (netizen) || || Netizen ||%0a%3c || +h halfop || || Patriot ||%0a%3c || +o op || || Op of Liberty ||%0a%3c || +a admin || || ||%0a%3c || +q founder || || ||%0a%3c || +oper || || ||%0a%3c || +znc admin || || ||%0a%3c || +1 email || || ||%0a%3c || +1 eggdrop || || ||%0a%3c || +1 support email || || ||%0a%3c || +1 VPN || || ||%0a%3c || +1 GB file storage || || ||%0a%3c || +1 nntp account || || ||%0a%3c || +1 minetest server || || ||%0a%3c || +1 Homestead VPS || || ||%0a%3c || +1 Public VPS || || ||%0a%3c || Resume Referral || || ||%0a%3c || Ally Network || || ||%0a%3c || Promote to Minutemin || || ||%0a%3c || Promote to Governor || || ||%0a%3c || +1 dedicated server || || ||%0a%3c %0a%3c ||! Founder ||! Description ||! Bonus ||%0a%3c || Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a%3c || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a%3c || Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a%3c || Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a%3c || Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a%3c || Walter Raleigh || || ||%0a%3c || Captain John Smith || || ||%0a%3c || Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a%3c || Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a%3c || Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a%3c || Eli Whitney || || ||%0a%3c || William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a%3c %0a%3c dennis%0a%3c fizi%0a%3c Quo-fan%0a%3c bangcat%0a%3c Chewbakka85%0a%3c Decoy%0a%3c Fear%0a%3c nix%0a%3c Thor%0a%3c AlienData_Josh%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a%3c || Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a%3c || Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a%3c || Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a%3c || Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a%3c || Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a%3c || Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Policy ||! Modifiers ||! Special Effects ||%0a%3c ||! Censorship Policy ||||||%0a%3c || Ban Politics/Religion || -2 Liberty || ||%0a%3c || Ban Discrimination || -1 Liberty, +1 Unity || ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a%3c || Encourage the Bible || +1 Virtue || ||%0a%3c || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a%3c ||! Privacy Policy ||||||%0a%3c || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a%3c || SMS Verification || -1 Privacy || Fewer Clones ||%0a%3c || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a%3c || Anonymous Staff || +1 Privacy, -1 Security || ||%0a%3c || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a%3c ||! Server Software ||||||%0a%3c || Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a%3c || Linux with SystemD || -1 Independence, -1 Security || ||%0a%3c || OpenBSD || +1 Independence || All projects take 2x longer ||%0a%3c || OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a%3c ||! Web Software ||||||%0a%3c || Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a%3c || WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a%3c || Require Javascript || -1 Independence, +1 New Users ||%0a%3c || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a%3c ||! Copyright Licenses ||||||%0a%3c || Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a%3c || AGPL || -1 Ecosystem || Always requires sharing ||%0a%3c || GPL || || Requires sharing when copying ||%0a%3c || IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a%3c ||! Service Providers ||||||%0a%3c || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a%3c || New TLDs || -1 Independence || New TLDs Easily Seized ||%0a%3c || Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a%3c || Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a%3c ||! Programming Software ||||||%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a%3c || Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a%3c || Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%3c %0a%3c %0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a%3c %0a%3c %0a%3c !!! Setting up IRC%0a%3c %0a%3c # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a%3c # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a%3c %0a%3c !!! Network Troubleshooting%0a%3c %0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c %0a%3c !!! Setting up SSL%0a%3c %0a%3c # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%3c %0a%3c !!! Customizing your Web Server%0a%3c %0a%3c # Set up and configure [[openbsd/php|PHP]]%0a%3c # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%3c %0a%3c !!! Installing a Bouncer%0a%3c %0a%3c # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a%3c # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a%3c # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a%3c %0a%3c !!! Configuring DNS%0a%3c %0a%3c # Learn about [[openbsd/Dns|DNS fundamentals]]%0a%3c # Learn how to configure a [[openbsd/vhost]]%0a%3c # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a%3c # Configure your local caching nameserver using [[openbsd/unbound]]%0a%3c # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a%3c %0a%3c !! Configuring Networking%0a%3c %0a%3c # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a%3c # Test basic connectivity with [[openbsd/ping|ping]]%0a%3c %0a%3c !!! Setting up a Mail Server%0a%3c %0a%3c # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a%3c # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a%3c # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a%3c # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a%3c # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a%3c %0a%3c !! Congratulations! Join the Team!%0a%3c %0a%3c # Read up on [[Openbsd/Team|team procedure]].%0a%3c # and [[Openbsd/Stable]] server protocol.%0a%3c # and [[Openbsd/Testing]] server protocol.%0a%3c %0a%3c Please continue with [[openbsd/ongoing|ongoing training]].%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a\ No newline at end of file%0a +host:1614484303=198.251.81.119 blob - /dev/null blob + 8246bc69d596a3208aff6512618672af94bff3a9 (mode 644) --- /dev/null +++ wiki.d/Minutemin.Ifconfig @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627909143 +host=198.251.81.133 +name=Minutemin.Ifconfig +rev=1 +targets= +text=ifconfig is a utilty can used for getting information about network interfaces and stack, chagning them or adding virtual interfaces.%0a%0arunning @@ifconfig@@ without any options will show usually something like this:%0a%0a[@%0alo0: flags=8049%3cUP,LOOPBACK,RUNNING,MULTICAST> mtu 32768%0a index 3 priority 0 llprio 3%0a groups: lo%0a inet6 ::1 prefixlen 128%0a inet6 fe80::1%25lo0 prefixlen 64 scopeid 0x3%0a inet 127.0.0.1 netmask 0xff000000%0aem0: flags=8b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500%0a lladdr aa:bb:cc:dd:ee:ff%0a index 1 priority 0 llprio 3%0a groups: egress%0a media: Ethernet autoselect%0a status: active%0a inet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.78%0a inet6 2002::ffff:ccff:fedd:ee06%25vio0 prefixlen 64 scopeid 0x1%0a inet6 2002:ffff:2:1040:: prefixlen 48%0aenc0: flags=0%3c>%0a index 2 priority 0 llprio 3%0a groups: enc%0a status: active%0apflog0: flags=141%3cUP,RUNNING,PROMISC> mtu 33136%0a index 4 priority 0 llprio 3%0a groups: pflo%0a@]%0a%0abesides em0, all other interfaces mentioned (pflog0, enc0, lo0) are virtual and they will exist on all openbsd installations most of times.%0a%0a[@%0aem0: flags=8b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500%0a@]%0a%0ait shows em0's mtu (maximum size of a packet) and flags set on it. some can changed using software, some are hardware-dependent and can't without changing hardware.%0a%0a[@%0alladdr aa:bb:cc:dd:ee:ff%0a@]%0a%0athis refer about MAC adderss used by this interface, which is @@aa:bb:cc:dd:ee:ff@@%0a%0a[@%0ainet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.78%0a@]%0a%0athis is referring to ip address, netmask and broadcast address%0aip address can be local, if you are using NAT%0a%0a[@%0ainet6 2002:ffff:2:1040:: prefixlen 48%0a@]%0a@@inet6@@ is like @@inet@@ but for ipv6. %0a +time=1627909143 +author:1627909143=mkf +diff:1627909143:1627909143:=1,54d0%0a%3c ifconfig is a utilty can used for getting information about network interfaces and stack, chagning them or adding virtual interfaces.%0a%3c %0a%3c running @@ifconfig@@ without any options will show usually something like this:%0a%3c %0a%3c [@%0a%3c lo0: flags=8049%3cUP,LOOPBACK,RUNNING,MULTICAST> mtu 32768%0a%3c index 3 priority 0 llprio 3%0a%3c groups: lo%0a%3c inet6 ::1 prefixlen 128%0a%3c inet6 fe80::1%25lo0 prefixlen 64 scopeid 0x3%0a%3c inet 127.0.0.1 netmask 0xff000000%0a%3c em0: flags=8b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500%0a%3c lladdr aa:bb:cc:dd:ee:ff%0a%3c index 1 priority 0 llprio 3%0a%3c groups: egress%0a%3c media: Ethernet autoselect%0a%3c status: active%0a%3c inet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.78%0a%3c inet6 2002::ffff:ccff:fedd:ee06%25vio0 prefixlen 64 scopeid 0x1%0a%3c inet6 2002:ffff:2:1040:: prefixlen 48%0a%3c enc0: flags=0%3c>%0a%3c index 2 priority 0 llprio 3%0a%3c groups: enc%0a%3c status: active%0a%3c pflog0: flags=141%3cUP,RUNNING,PROMISC> mtu 33136%0a%3c index 4 priority 0 llprio 3%0a%3c groups: pflo%0a%3c @]%0a%3c %0a%3c besides em0, all other interfaces mentioned (pflog0, enc0, lo0) are virtual and they will exist on all openbsd installations most of times.%0a%3c %0a%3c [@%0a%3c em0: flags=8b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500%0a%3c @]%0a%3c %0a%3c it shows em0's mtu (maximum size of a packet) and flags set on it. some can changed using software, some are hardware-dependent and can't without changing hardware.%0a%3c %0a%3c [@%0a%3c lladdr aa:bb:cc:dd:ee:ff%0a%3c @]%0a%3c %0a%3c this refer about MAC adderss used by this interface, which is @@aa:bb:cc:dd:ee:ff@@%0a%3c %0a%3c [@%0a%3c inet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.78%0a%3c @]%0a%3c %0a%3c this is referring to ip address, netmask and broadcast address%0a%3c ip address can be local, if you are using NAT%0a%3c %0a%3c [@%0a%3c inet6 2002:ffff:2:1040:: prefixlen 48%0a%3c @]%0a%3c @@inet6@@ is like @@inet@@ but for ipv6. %0a +host:1627909143=198.251.81.133 blob - /dev/null blob + a454de6ab89b6dae7ee29a9b8fca8155dfaf8e5a (mode 644) --- /dev/null +++ wiki.d/Minutemin.Minutemin @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614778821 +host=198.251.81.119 +name=Minutemin.Minutemin +rev=1 +targets=Vps.Vps,Openbsd.Openbsd,Ircnow.Goals,Freedom.Freedom,Shell.Shell,Ircnow.Howtoask,Openbsd.Training,Openbsd.Ongoing,Ircnow.Roadmap,Third.Third,Ircnow.Finances +text=(:title Become a Minute-min!:)%0a%0a%25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%0aMinute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%0a!! Your Reward%0a%0a# '''Become an IRC oper and staff on IRCNow'''%0a# '''[[vps/vps|Free Homestead VPS]]'''%0a# Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a# Learn to write code for real users%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet%0a%0aWe would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%0a!! How to Apply%0a%0a# [[shell/shell|Request a shell account]]%0a# Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Take the time to learn [[openbsd|OpenBSD]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a# Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a# After you finish training, you'll be promote to staff!%0a%0a!! Your Duties%0a%0a# Commit to help your team for a minimum of 5 hours per week%0a# Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a# After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a# Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a# You can optionally work on [[third/third|third party software]]%0a# You must be willing to help with customer support, documentation, and basic coding%0a%0aAdministration%0a%0a# Track our progress on [[ircnow/roadmap|the roadmap]]%0a# See the report on [[ircnow/finances|IRCNow Finances]] +time=1614778821 +title=Become a Minute-min! +author:1614778821=jrmu +diff:1614778821:1614778821:=1,41d0%0a%3c (:title Become a Minute-min!:)%0a%3c %0a%3c %25width=80pct rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c Minute-min are chatter sysadmins who train themselves to defend their network. They got the name for being ready at a minute's notice to respond immediately to network threats.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Become an IRC oper and staff on IRCNow'''%0a%3c # '''[[vps/vps|Free Homestead VPS]]'''%0a%3c # Learn [[openbsd/openbsd|UNIX sysadmin]] with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our UNIX tutorials. We require all recruits finish training tutorials before applying.%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Email your resume to admin@ircnow.org. Please include your full legal name, phone number, work references, or websites of projects you have worked on. We'll interview you, and if all seems good, we'll invite you to train with us.%0a%3c # After you finish training, you'll be promote to staff!%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # Commit to help your team for a minimum of 5 hours per week%0a%3c # Finish [[openbsd/training|Sysadmin Training]] in 6 weeks.%0a%3c # After joining the team, commit to [[openbsd/ongoing|ongoing training]]%0a%3c # Work on the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # You can optionally work on [[third/third|third party software]]%0a%3c # You must be willing to help with customer support, documentation, and basic coding%0a%3c %0a%3c Administration%0a%3c %0a%3c # Track our progress on [[ircnow/roadmap|the roadmap]]%0a%3c # See the report on [[ircnow/finances|IRCNow Finances]]%0a\ No newline at end of file%0a +host:1614778821=198.251.81.119 blob - /dev/null blob + 48cbaa850e0d74100a23ce7afb4f59f6ab85cb5a (mode 644) --- /dev/null +++ wiki.d/Minutemin.Progress @@ -0,0 +1,64 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614853286 +host=38.87.162.8 +name=Minutemin.Progress +rev=17 +targets= +text=(:title Patriot's Progress:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Character ||! Duty ||! Skills ||! Bonus ||%0a|| New User || Immigrant From the Old Network || None || None ||%0a|| Pioneer || Self Host Own Services || Independence || $5/month ||%0a|| Minutemin || To Admin the Network on a Minute's Notice || Sysadmin || Admin Powers ||%0a|| Sheriff || To Report Network Outlaws and Enforce Law and Order || Security || Oper Powers ||%0a|| Manufacturer || 3rd Party Developer || Trade || Market Powers ||%0a|| Lawyer || Interpret Network Policy to Ensure Justice and Freedom || Law || Legal Powers ||%0a%0a(:if false:)%0a|| Code Force || To Code and Defend the Network || Coding || Repo Powers ||%0a|| Ops of Liberty || To Provide User Support and to Instill Liberty || Support || Oper Powers ||%0a|| Senator || Represent Users and Write Network Policy || Politics || Congress Powers ||%0a|| Pioneer || Network Marketing Pioneers || Invites New Users || Explorer ||%0a|| Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs ||%0a(:ifend:)%0a%0aBonuses%0a%0a||! Bonus Type ||! Limit ||! Description ||%0a|| password reset || || ||%0a|| +1 bnc || max 2 || Free ZNC ||%0a|| +1 liberty shell || max 2 || Free Shell ||%0a|| custom vhost || || ||%0a|| custom domain || || ||%0a|| +1 SSL cert || || ||%0a|| +v voice (netizen) || || Netizen ||%0a|| +h halfop || || Patriot ||%0a|| +o op || || Op of Liberty ||%0a|| +a admin || || ||%0a|| +q founder || || ||%0a|| +oper || || ||%0a|| +znc admin || || ||%0a|| +1 email || || ||%0a|| +1 eggdrop || || ||%0a|| +1 support email || || ||%0a|| +1 VPN || || ||%0a|| +1 GB file storage || || ||%0a|| +1 nntp account || || ||%0a|| +1 minetest server || || ||%0a|| +1 Homestead VPS || || ||%0a|| +1 Public VPS || || ||%0a|| Resume Referral || || ||%0a|| Ally Network || || ||%0a|| Promote to Minutemin || || ||%0a|| Promote to Governor || || ||%0a|| +1 dedicated server || || ||%0a%0a||! Founder ||! Description ||! Bonus ||%0a|| gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about netizen fees ||%0a|| search_social || Network Diplomat and Defender of the Free Press || Charitable donors are 2x as generous ||%0a|| Error || First Network News Publisher || All servers now accept use of odd protocols ||%0a|| Fizi || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a|| Subline || Pioneer of the First Union Relay || Cross-Network Spam Reduced by 50%25 ||%0a|| MIF Hancock || First Signer of Network Independence || ||%0a|| Miniontoby || Minetest Merchant and Discord Smuggler || Bridges Attract +50%25 More New Users ||%0a|| Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a|| Chewbakka85 || || ||%0a|| dennis || || ||%0a|| bangcat || || ||%0a|| nix || || ||%0a|| Thor || || ||%0a|| Torrenter2010 || Pirate on the Aye Arrgh Seas || ||%0a%0a(:if false:)%0a|| John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a|| Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a|| James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a|| Walter Raleigh || || ||%0a|| Captain John Smith || || ||%0a|| Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a|| Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a|| Eli Whitney || || ||%0a|| William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a|| Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a(:ifend:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a|| Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a|| Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a|| Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a|| Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a|| New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a|| Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a|| Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a|| Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Policy ||! Modifiers ||! Special Effects ||%0a||! Censorship Policy ||||||%0a|| Ban Politics/Religion || -2 Liberty || ||%0a|| Ban Discrimination || -1 Liberty, +1 Unity || ||%0a|| Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a|| Encourage the Bible || +1 Virtue || ||%0a|| NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a||! Privacy Policy ||||||%0a|| Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a|| SMS Verification || -1 Privacy || Fewer Clones ||%0a|| Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a|| Anonymous Staff || +1 Privacy, -1 Security || ||%0a|| Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a||! Server Software ||||||%0a|| Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a|| Linux with SystemD || -1 Independence, -1 Security || ||%0a|| OpenBSD || +1 Independence || All projects take 2x longer ||%0a|| OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a||! Web Software ||||||%0a|| Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a|| WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a|| Require Javascript || -1 Independence, +1 New Users ||%0a|| Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a||! Copyright Licenses ||||||%0a|| Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a|| AGPL || -1 Ecosystem || Always requires sharing ||%0a|| GPL || || Requires sharing when copying ||%0a|| IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a||! Service Providers ||||||%0a|| Cloudflare || -2 Independence || Risk of Deplatforming ||%0a|| New TLDs || -1 Independence || New TLDs Easily Seized ||%0a|| Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a|| Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a||! Programming Software ||||||%0a|| Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a|| Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a|| Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%0aLiberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence%0a +time=1626855035 +title=Patriot's Progress +author:1626855035=jrmu +diff:1626855035:1626854613:=6c6%0a%3c || Pioneer || Self Host Own Services || Independence || $5/month ||%0a---%0a> || Ops of Liberty || To Provide User Support and to Instill Liberty || Support || Oper Powers ||%0a8a9%0a> || Code Force || To Code and Defend the Network || Coding || Repo Powers ||%0a10,11c11,13%0a%3c || Lawyer || Interpret Network Policy to Ensure Justice and Freedom || Law || Legal Powers ||%0a%3c %0a---%0a> || Judge || Interpret Network Policy to Ensure Justice and Freedom || Law || Judge Powers ||%0a> || Senator || Represent Users and Write Network Policy || Politics || Congress Powers ||%0a> %0a13,15d14%0a%3c || Code Force || To Code and Defend the Network || Coding || Repo Powers ||%0a%3c || Ops of Liberty || To Provide User Support and to Instill Liberty || Support || Oper Powers ||%0a%3c || Senator || Represent Users and Write Network Policy || Politics || Congress Powers ||%0a +host:1626855035=38.87.162.8 +author:1626854613=jrmu +diff:1626854613:1615363289:=10d9%0a%3c || Manufacturer || 3rd Party Developer || Trade || Market Powers ||%0a129c128%0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence%0a---%0a> Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence%0a\ No newline at end of file%0a +host:1626854613=38.87.162.8 +author:1615363289=jrmu +diff:1615363289:1615363174:=9c9%0a%3c || Code Force || To Code and Defend the Network || Coding || Repo Powers ||%0a---%0a> || Code Force || To Overcome the Network's Challenges through Code || Coding || Repo Powers ||%0a +host:1615363289=198.251.81.119 +author:1615363174=jrmu +diff:1615363174:1615362523:=4c4%0a%3c ||! Character ||! Duty ||! Skills ||! Bonus ||%0a---%0a> ||! Character ||! Description ||! Skills ||! Bonus ||%0a6,11c6,11%0a%3c || Ops of Liberty || To Provide User Support and to Instill Liberty || Support || Oper Powers ||%0a%3c || Minutemin || To Admin the Network on a Minute's Notice || Sysadmin || Admin Powers ||%0a%3c || Sheriff || To Report Network Outlaws and Enforce Law and Order || Security || Oper Powers ||%0a%3c || Code Force || To Overcome the Network's Challenges through Code || Coding || Repo Powers ||%0a%3c || Judge || Interpret Network Policy to Ensure Justice and Freedom || Law || Judge Powers ||%0a%3c || Senator || Represent Users and Write Network Policy || Politics || Congress Powers ||%0a---%0a> || Ops of Liberty || Support Patriots || Support || Oper Powers ||%0a> || Minutemin || Server Heroes || Sysadmin || Admin Powers ||%0a> || Sheriff || Reports Network Outlaws || Security || Oper Powers ||%0a> || Code Army || Network Code Army || Coding || Repo Powers ||%0a> || Judge || Interpret Network Policy || Law || Judge Powers ||%0a> || Senator || Writes Network Policy || Politics || Congress Powers ||%0a +host:1615363174=198.251.81.119 +author:1615362523=jrmu +diff:1615362523:1615362511:=6c6%0a%3c || Ops of Liberty || Support Patriots || Support || Oper Powers ||%0a---%0a> || Ops of Liberty || Support Patriots || Support || Support Powers ||%0a +host:1615362523=198.251.81.119 +author:1615362511=jrmu +diff:1615362511:1615361881:=6,7c6%0a%3c || Ops of Liberty || Support Patriots || Support || Support Powers ||%0a%3c || Minutemin || Server Heroes || Sysadmin || Admin Powers ||%0a---%0a> || Minutemin || Server Patriots || Sysadmin || Admin Powers ||%0a +host:1615362511=198.251.81.119 +author:1615361881=jrmu +diff:1615361881:1615361861:=10c10%0a%3c || Senator || Writes Network Policy || Politics || Congress Powers ||%0a---%0a> || Senator || Writes Network Policy || Law || Congress Powers ||%0a +host:1615361881=198.251.81.119 +author:1615361861=jrmu +diff:1615361861:1614858069:=9,10c9,10%0a%3c || Judge || Interpret Network Policy || Law || Judge Powers ||%0a%3c || Senator || Writes Network Policy || Law || Congress Powers ||%0a---%0a> || Judge || Interpret Network Law || Law || Judge Powers ||%0a> || Senator || Writes Network Law || Law || Congress Powers ||%0a +host:1615361861=198.251.81.119 +author:1614858069=jrmu +diff:1614858069:1614858050:=53c53%0a%3c || Subline || Pioneer of the First Union Relay || Cross-Network Spam Reduced by 50%25 ||%0a---%0a> || Subline || Pioneer of the First Union Relay || Cross-Network Spam reduced by 50%25 ||%0a +host:1614858069=198.251.81.119 +author:1614858050=jrmu +diff:1614858050:1614855977:=53c53%0a%3c || Subline || Pioneer of the First Union Relay || Cross-Network Spam reduced by 50%25 ||%0a---%0a> || Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a +host:1614858050=198.251.81.119 +author:1614855977=jrmu +diff:1614855977:1614855645:=62c62%0a%3c || Torrenter2010 || Pirate on the Aye Arrgh Seas || ||%0a---%0a> || Torrenter2010 || Pirate on the Eye Are Seas || ||%0a +host:1614855977=198.251.81.119 +author:1614855645=jrmu +diff:1614855645:1614854381:=63,64d62%0a%3c %0a%3c (:if false:)%0a75d72%0a%3c (:ifend:)%0a +host:1614855645=198.251.81.119 +author:1614854381=jrmu +diff:1614854381:1614854336:= +host:1614854381=198.251.81.119 +author:1614854336=jrmu +diff:1614854336:1614853326:=7,13c7,11%0a%3c || Sheriff || Reports Network Outlaws || Security || Oper Powers ||%0a%3c || Code Army || Network Code Army || Coding || Repo Powers ||%0a%3c || Judge || Interpret Network Law || Law || Judge Powers ||%0a%3c || Senator || Writes Network Law || Law || Congress Powers ||%0a%3c %0a%3c (:if false:)%0a%3c || Pioneer || Network Marketing Pioneers || Invites New Users || Explorer ||%0a---%0a> || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a> || Regulars || Unix Code Regulars || Coding || Repo Privs ||%0a> || Judge || Interpret Network Law || Law || Judge ||%0a> || Senator || Writes Network Law || Law || Voting ||%0a> || Pioneer || Network Pioneers || Explore || Explorer ||%0a15d12%0a%3c (:ifend:)%0a +host:1614854336=198.251.81.119 +author:1614853326=jrmu +diff:1614853326:1614853300:=5c5%0a%3c || New User || Immigrant From the Old Network || None || None ||%0a---%0a> || Immigrant || Comes From the Old Network || None || None ||%0a +host:1614853326=198.251.81.119 +author:1614853300=jrmu +diff:1614853300:1614853286:=12c12%0a%3c || Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs ||%0a---%0a> || Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs||%0a +host:1614853300=198.251.81.119 +author:1614853286=jrmu +diff:1614853286:1614853286:=1,121d0%0a%3c (:title Patriot's Progress:)%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Character ||! Description ||! Skills ||! Bonus ||%0a%3c || Immigrant || Comes From the Old Network || None || None ||%0a%3c || Minutemin || Server Patriots || Sysadmin || Admin Powers ||%0a%3c || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a%3c || Regulars || Unix Code Regulars || Coding || Repo Privs ||%0a%3c || Judge || Interpret Network Law || Law || Judge ||%0a%3c || Senator || Writes Network Law || Law || Voting ||%0a%3c || Pioneer || Network Pioneers || Explore || Explorer ||%0a%3c || Inventor || 3rd Party Inventors || Commerce || 3rd Party Devs||%0a%3c %0a%3c Bonuses%0a%3c %0a%3c ||! Bonus Type ||! Limit ||! Description ||%0a%3c || password reset || || ||%0a%3c || +1 bnc || max 2 || Free ZNC ||%0a%3c || +1 liberty shell || max 2 || Free Shell ||%0a%3c || custom vhost || || ||%0a%3c || custom domain || || ||%0a%3c || +1 SSL cert || || ||%0a%3c || +v voice (netizen) || || Netizen ||%0a%3c || +h halfop || || Patriot ||%0a%3c || +o op || || Op of Liberty ||%0a%3c || +a admin || || ||%0a%3c || +q founder || || ||%0a%3c || +oper || || ||%0a%3c || +znc admin || || ||%0a%3c || +1 email || || ||%0a%3c || +1 eggdrop || || ||%0a%3c || +1 support email || || ||%0a%3c || +1 VPN || || ||%0a%3c || +1 GB file storage || || ||%0a%3c || +1 nntp account || || ||%0a%3c || +1 minetest server || || ||%0a%3c || +1 Homestead VPS || || ||%0a%3c || +1 Public VPS || || ||%0a%3c || Resume Referral || || ||%0a%3c || Ally Network || || ||%0a%3c || Promote to Minutemin || || ||%0a%3c || Promote to Governor || || ||%0a%3c || +1 dedicated server || || ||%0a%3c %0a%3c ||! Founder ||! Description ||! Bonus ||%0a%3c || gry || Champion of Due Process and the Presumption of Innocence || Users no longer complain about netizen fees ||%0a%3c || search_social || Network Diplomat and Defender of the Free Press || Charitable donors are 2x as generous ||%0a%3c || Error || First Network News Publisher || All servers now accept use of odd protocols ||%0a%3c || Fizi || Established First Network Cryptobank || Servers Can Evade Bank Sanctions ||%0a%3c || Subline || Bot Owner and Passionate Orator for Decentralization || ||%0a%3c || MIF Hancock || First Signer of Network Independence || ||%0a%3c || Miniontoby || Minetest Merchant and Discord Smuggler || Bridges Attract +50%25 More New Users ||%0a%3c || Quo-fan Penn || Early Pioneer Advocate of Freedom of Religion || ||%0a%3c || Chewbakka85 || || ||%0a%3c || dennis || || ||%0a%3c || bangcat || || ||%0a%3c || nix || || ||%0a%3c || Thor || || ||%0a%3c || Torrenter2010 || Pirate on the Eye Are Seas || ||%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a%3c || Walter Raleigh || || ||%0a%3c || Captain John Smith || || ||%0a%3c || Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a%3c || Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a%3c || Eli Whitney || || ||%0a%3c || William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a%3c || Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a%3c || Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a%3c || Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a%3c || Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a%3c || Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a%3c || Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Policy ||! Modifiers ||! Special Effects ||%0a%3c ||! Censorship Policy ||||||%0a%3c || Ban Politics/Religion || -2 Liberty || ||%0a%3c || Ban Discrimination || -1 Liberty, +1 Unity || ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a%3c || Encourage the Bible || +1 Virtue || ||%0a%3c || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a%3c ||! Privacy Policy ||||||%0a%3c || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a%3c || SMS Verification || -1 Privacy || Fewer Clones ||%0a%3c || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a%3c || Anonymous Staff || +1 Privacy, -1 Security || ||%0a%3c || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a%3c ||! Server Software ||||||%0a%3c || Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a%3c || Linux with SystemD || -1 Independence, -1 Security || ||%0a%3c || OpenBSD || +1 Independence || All projects take 2x longer ||%0a%3c || OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a%3c ||! Web Software ||||||%0a%3c || Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a%3c || WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a%3c || Require Javascript || -1 Independence, +1 New Users ||%0a%3c || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a%3c ||! Copyright Licenses ||||||%0a%3c || Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a%3c || AGPL || -1 Ecosystem || Always requires sharing ||%0a%3c || GPL || || Requires sharing when copying ||%0a%3c || IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a%3c ||! Service Providers ||||||%0a%3c || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a%3c || New TLDs || -1 Independence || New TLDs Easily Seized ||%0a%3c || Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a%3c || Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a%3c ||! Programming Software ||||||%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a%3c || Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a%3c || Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%3c %0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence%0a\ No newline at end of file%0a +host:1614853286=198.251.81.119 blob - /dev/null blob + ab468879fe2847b7b57e9e609d6694b9ca660f89 (mode 644) --- /dev/null +++ wiki.d/Minutemin.Questions @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614774901 +host=198.251.81.119 +name=Minutemin.Questions +rev=1 +targets=Almanack.Almanack +text=(:title How to Ask Good Questions:)%0a%0aRemember:%0a%0a# Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[almanack/almanack|almanack]] first%0a# Consult README files located in /usr/local/share/doc/pkg-readmes/, project web page, and sample conf files in /etc/examples/%0a# Search [[https://marc.info/?l=openbsd-misc|the OpenBSD mailing list archives]]%0a# Tell us exactly what you do to reproduce the error. Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error and debug logs%0a# Don't assume you have found a bug if this is your first time using the software%0a# Don't beg us to solve your problem; you must do your homework first +time=1614774901 +title=How to Ask Good Questions +author:1614774901=jrmu +diff:1614774901:1614774901:=1,10d0%0a%3c (:title How to Ask Good Questions:)%0a%3c %0a%3c Remember:%0a%3c %0a%3c # Read the [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] and [[almanack/almanack|almanack]] first%0a%3c # Consult README files located in /usr/local/share/doc/pkg-readmes/, project web page, and sample conf files in /etc/examples/%0a%3c # Search [[https://marc.info/?l=openbsd-misc|the OpenBSD mailing list archives]]%0a%3c # Tell us exactly what you do to reproduce the error. Use a [[https://paste.ircnow.org/|pastebin]] to show us all your config files, error and debug logs%0a%3c # Don't assume you have found a bug if this is your first time using the software%0a%3c # Don't beg us to solve your problem; you must do your homework first%0a\ No newline at end of file%0a +host:1614774901=198.251.81.119 blob - /dev/null blob + 76c2fee05e8de2509ad6a8e131deda8c9bcfe14d (mode 644) --- /dev/null +++ wiki.d/Minutemin.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1613294645 +host=38.87.162.8 +name=Minutemin.RecentChanges +rev=321 +text=* [[Minutemin/Bootcamp]] . . . November 22, 2021, at 09:56 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Ifconfig]] . . . August 02, 2021, at 12:59 PM by [[~mkf]]: [==]%0a* [[Minutemin/Progress]] . . . July 21, 2021, at 08:10 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Duty]] . . . April 11, 2021, at 04:53 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Code]] . . . March 24, 2021, at 03:26 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Game]] . . . March 04, 2021, at 10:16 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Minutemin]] . . . March 03, 2021, at 01:40 PM by [[~jrmu]]: [==]%0a* [[Minutemin/Questions]] . . . March 03, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Minutemin/Server]] . . . February 28, 2021, at 03:29 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Creed]] . . . February 28, 2021, at 03:21 AM by [[~jrmu]]: [==]%0a* [[Minutemin/Training]] . . . February 18, 2021, at 06:42 AM by [[~jrmu]]: [==]%0a +time=1637574971 blob - /dev/null blob + a0b374b773474cc9d8ec263cdbb1963b9e0bbf59 (mode 644) --- /dev/null +++ wiki.d/Minutemin.Server @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614482974 +host=198.251.81.119 +name=Minutemin.Server +rev=1 +targets= +text=(:title The Minutemin's Server:)%0a%0aThis is my server. There are many like it, but this one is mine.%0a%0aMy server is my best friend. It is my life. I must master it as I must master my life.%0a%0aMy server, without me, is useless. Without my server, I am useless. I must admin my server correctly. I must know the manual pages better than my enemy who is trying to pwn me. I must type first before he types against me.%0a%0aMy server and myself know that what counts in this conflict is not the commands we type, the bots we set up, nor the daemons we configure. We know that it is the users that count. We will get them.%0a%0aI will learn my server as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will guard it against abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a%0aMy server and myself are the defenders of our network. We are the masters of our enemy.%0a%0aSo be it, until victory is IRCNow's and there is no enemy, but peace! +time=1614482974 +title=The Minutemin's Server +author:1614482974=jrmu +diff:1614482974:1614482974:=1,15d0%0a%3c (:title The Minutemin's Server:)%0a%3c %0a%3c This is my server. There are many like it, but this one is mine.%0a%3c %0a%3c My server is my best friend. It is my life. I must master it as I must master my life.%0a%3c %0a%3c My server, without me, is useless. Without my server, I am useless. I must admin my server correctly. I must know the manual pages better than my enemy who is trying to pwn me. I must type first before he types against me.%0a%3c %0a%3c My server and myself know that what counts in this conflict is not the commands we type, the bots we set up, nor the daemons we configure. We know that it is the users that count. We will get them.%0a%3c %0a%3c I will learn my server as a brother. I will learn its weaknesses, its strength, its documentation, its code, its inner workings. I will guard it against abuse as I guard my legs, my arms, my eyes and my heart against damage. I will keep my server clean and ready.%0a%3c %0a%3c My server and myself are the defenders of our network. We are the masters of our enemy.%0a%3c %0a%3c So be it, until victory is IRCNow's and there is no enemy, but peace!%0a\ No newline at end of file%0a +host:1614482974=198.251.81.119 blob - /dev/null blob + c39e540559b33ff78acbf725773c71a36b99a00e (mode 644) --- /dev/null +++ wiki.d/Minutemin.Training @@ -0,0 +1,433 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613294645 +host=198.251.81.119 +name=Minutemin.Training +rev=140 +targets=Irc.Irc101,Shell.Shell,Unix101.Unix101,Unix201.Unix201,Unix301.Unix301,Unix401.Unix401,Unix501.Unix501,Unix601.Unix601,Ircnow.Goals,Ircnow.Roadmap,Freedom.Freedom,Ircnow.Constitution,Minutemin.Code,Openbsd.Doas,Openbsd.Syspatch,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Openbsd.Ngircd,Openbsd.Hopm,Openbsd.Netcat,Openbsd.Ping,Openbsd.Dig,Openbsd.Openhttpd,Openbsd.Acme-client,Openbsd.Php,Openbsd.Pmwiki,Openbsd.Znc,Openbsd.Relayd,Openbsd.Oidentd,Openbsd.Dns,Openbsd.Vhost,Openbsd.Host,Openbsd.Unbound,Openbsd.Nsd,Openbsd.Staticnet,Openbsd.Opensmtpd,Openbsd.Spf,Openbsd.Dkimproxy,Openbsd.Dmarc,Openbsd.Mailopenproxy,Openbsd.Dovecot,Openbsd.Team,Openbsd.Stable,Openbsd.Testing,Openbsd.Ongoing +text=(:title Minutemin Bootcamp:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a|| [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a|| [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a|| [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a|| [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a|| [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a|| [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a|| [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a|| [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a|| [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a|| [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a|| [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a|| [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a|| [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a%0a|| Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a|| Patch your system using [[openbsd/syspatch|syspatch]] || %0a|| Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a|| Read about [[IPv4/overview|IPv4 networking]] || %0a|| Read about [[IPv6/overview|IPv6 networking]] ||%0a%0a||! Character ||! Description ||! Skills ||! Bonus ||%0a|| Immigrant || Comes From the Old Network || None || None ||%0a|| Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a|| Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a|| Pioneer || Network Pioneers || Explore || Explorer ||%0a|| Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a|| Inventor || Unix Inventors || Coding || Repo Privs ||%0a|| Judge || Interpret Network Law || Law || Judge ||%0a|| Senator || Writes Network Law || Law || Voting ||%0a%0aBonuses%0a%0a||! Bonus Type ||! Limit ||! Description ||%0a|| password reset || || ||%0a|| +1 bnc || max 2 || Free ZNC ||%0a|| +1 liberty shell || max 2 || Free Shell ||%0a|| custom vhost || || ||%0a|| custom domain || || ||%0a|| +1 SSL cert || || ||%0a|| +v voice (netizen) || || Netizen ||%0a|| +h halfop || || Patriot ||%0a|| +o op || || Op of Liberty ||%0a|| +a admin || || ||%0a|| +q founder || || ||%0a|| +oper || || ||%0a|| +znc admin || || ||%0a|| +1 email || || ||%0a|| +1 eggdrop || || ||%0a|| +1 support email || || ||%0a|| +1 VPN || || ||%0a|| +1 GB file storage || || ||%0a|| +1 nntp account || || ||%0a|| +1 minetest server || || ||%0a|| +1 Homestead VPS || || ||%0a|| +1 Public VPS || || ||%0a|| Resume Referral || || ||%0a|| Ally Network || || ||%0a|| Promote to Minutemin || || ||%0a|| Promote to Governor || || ||%0a|| +1 dedicated server || || ||%0a%0a||! Founder ||! Description ||! Bonus ||%0a|| Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a|| Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a|| Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a|| John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a|| Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a|| James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a|| Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a|| Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a|| Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a|| Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a|| Walter Raleigh || || ||%0a|| Captain John Smith || || ||%0a|| Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a|| Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a|| Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a|| Eli Whitney || || ||%0a|| William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a%0adennis%0afizi%0aQuo-fan%0abangcat%0aChewbakka85%0aDecoy%0aFear%0anix%0aThor%0aAlienData_Josh%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a|| Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a|| Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a|| Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a|| Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a|| New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a|| Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a|| Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a|| Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Policy ||! Modifiers ||! Special Effects ||%0a||! Censorship Policy ||||||%0a|| Ban Politics/Religion || -2 Liberty || ||%0a|| Ban Discrimination || -1 Liberty, +1 Unity || ||%0a|| Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a|| Encourage the Bible || +1 Virtue || ||%0a|| NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a||! Privacy Policy ||||||%0a|| Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a|| SMS Verification || -1 Privacy || Fewer Clones ||%0a|| Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a|| Anonymous Staff || +1 Privacy, -1 Security || ||%0a|| Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a||! Server Software ||||||%0a|| Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a|| Linux with SystemD || -1 Independence, -1 Security || ||%0a|| OpenBSD || +1 Independence || All projects take 2x longer ||%0a|| OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a||! Web Software ||||||%0a|| Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a|| WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a|| Require Javascript || -1 Independence, +1 New Users ||%0a|| Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a||! Copyright Licenses ||||||%0a|| Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a|| AGPL || -1 Ecosystem || Always requires sharing ||%0a|| GPL || || Requires sharing when copying ||%0a|| IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a||! Service Providers ||||||%0a|| Cloudflare || -2 Independence || Risk of Deplatforming ||%0a|| New TLDs || -1 Independence || New TLDs Easily Seized ||%0a|| Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a|| Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a||! Programming Software ||||||%0a|| Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a|| Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a|| Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%0a%0aLiberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a%0a%0a!!! Setting up IRC%0a%0a# Setup [[openbsd/ngircd|ngircd]], your IRC server%0a# Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a%0a!!! Network Troubleshooting%0a%0a# Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a# Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a# Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%0a!!! Setting up SSL%0a%0a# Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a# Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%0a!!! Customizing your Web Server%0a%0a# Set up and configure [[openbsd/php|PHP]]%0a# Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%0a!!! Installing a Bouncer%0a%0a# Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a# Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a# Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a%0a!!! Configuring DNS%0a%0a# Learn about [[openbsd/Dns|DNS fundamentals]]%0a# Learn how to configure a [[openbsd/vhost]]%0a# Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a# Configure your local caching nameserver using [[openbsd/unbound]]%0a# Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a%0a!! Configuring Networking%0a%0a# Configure [[openbsd/staticnet|new IPv6 addresses]]%0a# Test basic connectivity with [[openbsd/ping|ping]]%0a%0a!!! Setting up a Mail Server%0a%0a# Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a# Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a# Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a# Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a# Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a%0a!! Congratulations! Join the Team!%0a%0a# Read up on [[Openbsd/Team|team procedure]].%0a # and [[Openbsd/Stable]] server protocol.%0a # and [[Openbsd/Testing]] server protocol.%0a%0aPlease continue with [[openbsd/ongoing|ongoing training]].%0a%0a%25width=300px rfloat%25 Attach:Marketing/minutemin.png +time=1613630561 +title=Minutemin Bootcamp +author:1613630561=jrmu +diff:1613630561:1613630376:=133,134c133%0a%3c || AGPL || -1 Ecosystem || Always requires sharing ||%0a%3c || GPL || || Requires sharing when copying ||%0a---%0a> || GPL || -1 Ecosystem || Restrictions ensure sharing ||%0a +host:1613630561=198.251.81.119 +author:1613630376=jrmu +diff:1613630376:1613630094:=113d112%0a%3c || Encourage the Bible || +1 Virtue || ||%0a +host:1613630376=198.251.81.119 +author:1613630094=jrmu +diff:1613630094:1613629749:=113d112%0a%3c || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a118,119d116%0a%3c || Anonymous Staff || +1 Privacy, -1 Security || ||%0a%3c || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a124,128c121,125%0a%3c || OpenBSD Fork || +2 Independence || All projects take 3x longer ||%0a%3c ||! Web Software ||||||%0a%3c || Require Chrome/Firefox || -2 Independence, -1 New Users || 50%25 Faster Development ||%0a%3c || WebSockets || -1 Independence, -1 New Users || 25%25 Faster Development ||%0a%3c || Require Javascript || -1 Independence, +1 New Users ||%0a---%0a> ||! Application Software ||||||%0a> || WebSockets || -1 Liberty, -1 Independence, +1 New Users || Unsupported on free browsers ||%0a> || Require Chrome/Firefox || -1 Liberty, -1 Independence || 50%25 Faster Development ||%0a> || Require Javascript || -2 Independence, +1 New Users ||%0a> || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a135a133,139%0a> %0a> %0a> || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a> || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a> || Anonymous Staff || +1 Privacy, -1 Security || ||%0a> %0a> %0a137,140c141,144%0a%3c || Youtube/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a%3c || Accept Paypal || -1 Independence, -1 Privacy || Paypal can seize assets ||%0a%3c ||! Programming Software ||||||%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a---%0a> || Youtube/Google/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a> %0a> || Containerization || -1 Independence || Requires Linux, 25%25 Faster Development ||%0a> || Accept Paypal || -2 Independence, -1 Privacy || Paypal can seize assets ||%0a143d146%0a%3c %0a +host:1613630094=198.251.81.119 +author:1613629749=jrmu +diff:1613629749:1613629381:=110,112d109%0a%3c || Ban Politics/Religion || -2 Liberty || ||%0a%3c || Ban Discrimination || -1 Liberty, +1 Unity || ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a114,116d110%0a%3c || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a%3c || SMS Verification || -1 Privacy || Fewer Clones ||%0a%3c || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a118,126d111%0a%3c || Cloud Hosting || -3 Independence, -2 Privacy, -1 Security || Improved Uptime ||%0a%3c || Linux with SystemD || -1 Independence, -1 Security || ||%0a%3c || OpenBSD || +1 Independence || All projects take 2x longer ||%0a%3c ||! Application Software ||||||%0a%3c || WebSockets || -1 Liberty, -1 Independence, +1 New Users || Unsupported on free browsers ||%0a%3c || Require Chrome/Firefox || -1 Liberty, -1 Independence || 50%25 Faster Development ||%0a%3c || Require Javascript || -2 Independence, +1 New Users ||%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a%3c || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a128,130d112%0a%3c || Ethical License || -2 Liberty, -2 Ecosystem || Authors can arbitrarily revoke licenses ||%0a%3c || GPL || -1 Ecosystem || Restrictions ensure sharing ||%0a%3c || IRCNow/BSD License || +1 Ecosystem || Free to reuse for any purpose ||%0a132,134c114,121%0a%3c || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a%3c %0a%3c %0a---%0a> || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a> || SMS Verification || -1 Privacy || Fewer Clones ||%0a> || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a> || Cloud Hosting || -2 Independence, -2 Privacy || Improved Uptime ||%0a> || WebSockets || -1 Liberty, -1 Independence, +1 New Users || Unsupported on free browsers ||%0a> || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a> || OpenBSD Base || +2 Independence, -1 New Users || All projects take 2x longer ||%0a> || Switch to GPL || -1 Ecosystem || ||%0a138,139c125,126%0a%3c %0a%3c %0a---%0a> || Require Javascript || -2 Independence, +1 New Users ||%0a> || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a140a128,129%0a> || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a> || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a142c131%0a%3c %0a---%0a> || Require Chrome/Firefox || -1 Liberty, -1 Independence || 50%25 Faster Development ||%0a143a133%0a> || Bloated Init System || -1 Independence, -1 Security || ||%0a144a135%0a> || Ethical License || -2 Liberty, -2 Ecosystem || Authors can revoke licenses ||%0a146a138,140%0a> || Dogfood || +1 New Users || Better Service ||%0a> || Service with a Smiley || +1 New Users || ||%0a> || Ban Discrimination || -2 Liberty || ||%0a +host:1613629749=198.251.81.119 +author:1613629381=jrmu +diff:1613629381:1613628454:=109,113d108%0a%3c ||! Censorship Policy ||||||%0a%3c ||! Privacy Policy ||||||%0a%3c ||! Server Software ||||||%0a%3c ||! Copyright Licenses ||||||%0a%3c ||! Service Providers ||||||%0a +host:1613629381=198.251.81.119 +author:1613628454=jrmu +diff:1613628454:1613628417:=108c108%0a%3c ||! Policy ||! Modifiers ||! Special Effects ||%0a---%0a> ||! Policy ||! Description ||! Modifiers ||! Special Effects ||%0a +host:1613628454=198.251.81.119 +author:1613628417=jrmu +diff:1613628417:1613628001:=121c121%0a%3c || Telegram/Matrix/Fediverse/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a---%0a> || Telegram/Matrix/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a123c123%0a%3c || Rust/Go/Python/NodeJS || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a---%0a> || Rust/Go/Python || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a130,135c130%0a%3c || Ethical License || -2 Liberty, -2 Ecosystem || Authors can revoke licenses ||%0a%3c || Provide Matrix/Fediverse Server || -2 Independence, +1 New Users || ||%0a%3c || Provide XMPP Server || -1 Independence, +1 New Users || ||%0a%3c || Dogfood || +1 New Users || Better Service ||%0a%3c || Service with a Smiley || +1 New Users || ||%0a%3c || Ban Discrimination || -2 Liberty || ||%0a---%0a> || || || ||%0a +host:1613628417=198.251.81.119 +author:1613628001=jrmu +diff:1613628001:1613627859:=129,130c129%0a%3c || Accept Paypal || -2 Independence, -1 Privacy || Paypal can seize assets ||%0a%3c || || || ||%0a---%0a> %0a +host:1613628001=198.251.81.119 +author:1613627859=jrmu +diff:1613627859:1613627336:=112,114c112,114%0a%3c || Cloud Hosting || -2 Independence, -2 Privacy || Improved Uptime ||%0a%3c || WebSockets || -1 Liberty, -1 Independence, +1 New Users || Unsupported on free browsers ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users, -1 Unity || ||%0a---%0a> || Cloud Hosting || -2 Independence, -2 Liberty, -2 Privacy || Improved Uptime ||%0a> || WebSockets || -1 Liberty, -2 Independence, +1 New Users || Unsupported on free browsers ||%0a> || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users -1 Unity || ||%0a118c118%0a%3c || Ban Advertising || -2 Ecosystem, -1 Liberty, +2 Privacy || ||%0a---%0a> || Ban Advertising || -2 Ecosystem, +2 Privacy || ||%0a121,122c121,122%0a%3c || Telegram/Matrix/Discord Bridge || -1 Independence, -1 Liberty, +1 Ecosystem, +1 New Users || ||%0a%3c || New TLDs || -1 Independence || New TLDs Easily Seized ||%0a---%0a> || Telegram/Matrix/Discord Bridge || -1 Independence, +1 Ecosystem, +1 New Users || ||%0a> || New TLDs || -1 Liberty, -1 Independence || New TLDs Easily Seized ||%0a124,130c124%0a%3c || Cloudflare || -2 Independence || Risk of Deplatforming ||%0a%3c || Youtube/Google/Facebook Integration || -1 Independence, -1 Liberty, +1 New Users || Risk of Deplatforming ||%0a%3c || Require Chrome/Firefox || -1 Liberty, -1 Independence || 50%25 Faster Development ||%0a%3c || Containerization || -1 Independence || Requires Linux, 25%25 Faster Development ||%0a%3c || Bloated Init System || -1 Independence, -1 Security || ||%0a%3c %0a%3c %0a---%0a> %0a132a127,128%0a> %0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || Chrooted Program || Pure C, Pledged and Unveiled ||%0a +host:1613627859=198.251.81.119 +author:1613627336=jrmu +diff:1613627336:1613626250:=113,126c113,118%0a%3c || WebSockets || -1 Liberty, -2 Independence, +1 New Users || Unsupported on free browsers ||%0a%3c || Freedom of Religion and the Press || +2 Liberty, +1 Virtue, +1 New Users -1 Unity || ||%0a%3c || OpenBSD Base || +2 Independence, -1 New Users || All projects take 2x longer ||%0a%3c || Switch to GPL || -1 Ecosystem || ||%0a%3c || NSFW Filter || +1 Virtue, +1 Unity, -1 New Users || ||%0a%3c || Ban Advertising || -2 Ecosystem, +2 Privacy || ||%0a%3c || Anonymous Staff || +1 Privacy, -1 Security || ||%0a%3c || Require Javascript || -2 Independence, +1 New Users ||%0a%3c || Telegram/Matrix/Discord Bridge || -1 Independence, +1 Ecosystem, +1 New Users || ||%0a%3c || New TLDs || -1 Liberty, -1 Independence || New TLDs Easily Seized ||%0a%3c || Rust/Go/Python || -1 Independence, +1 New Users || Languages Controlled by Monopolies ||%0a%3c %0a%3c Liberty, Ecosystem, Unity, Virtue, New Users, Privacy, Security, Independence %0a%3c %0a---%0a> || WebSockets || -1 Liberty, -1 Security, +1 New Users || More web apps ||%0a> || Freedom of Religion || +1 Liberty, +1 Virtue, -1 Police || ||%0a> || Freedom of the Press || +1 Liberty, +1 New Users, -1 Police || ||%0a> || OpenBSD Base || +2 Unix Ethic, +2 Independence, -1 New Users || All projects take 2x longer ||%0a> || NSFW Filter || +1 Virtue, +2 Police, -1 New Users || ||%0a> || Outsource Development || -2 Independence, -1 Privacy, -1 Security || Projects finish in 50%25 less time ||%0a +host:1613627336=198.251.81.119 +author:1613626250=jrmu +diff:1613626250:1613625503:= +host:1613626250=198.251.81.119 +author:1613625503=jrmu +diff:1613625503:1613625306:=109c109%0a%3c || Tor Support || +2 Privacy, -1 Security || Increase in Abuse ||%0a---%0a> || Tor Support || +2 Privacy, -1 Security || Increased Spam ||%0a111,112c111,112%0a%3c || Real Name Policy || -2 Privacy, +1 Security || Can Report Abusers ||%0a%3c || Cloud Hosting || -2 Independence, -2 Liberty, -2 Privacy || Improved Uptime ||%0a---%0a> || Real Name Policy || -2 Privacy, +1 Security ||%0a> || Cloud Hosting || -3 Independence, -2 Unix Ethic, -2 Privacy || ||%0a119d118%0a%3c %0a +host:1613625503=198.251.81.119 +author:1613625306=jrmu +diff:1613625306:1613625186:=99c99%0a%3c || Ecosystem || The LAN of Opportunity || Arbitrary Seizure || || || Walled Garden || || || The Startup Dream ||%0a---%0a> || Ecosystem || The LAN of Opportunity || || || || Walled Garden || || || The Startup Dream ||%0a +host:1613625306=198.251.81.119 +author:1613625186=jrmu +diff:1613625186:1613624947:=101,102c101,102%0a%3c || Virtue || One Network Under God || Criminal Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || || Echo Chamber || || Melting Pot || LAN rush ||%0a---%0a> || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a> || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || Echo Chamber || || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a +host:1613625186=198.251.81.119 +author:1613624947=jrmu +diff:1613624947:1613624486:=99c99%0a%3c || Ecosystem || The LAN of Opportunity || || || || Walled Garden || || || The Startup Dream ||%0a---%0a> || Ecosystem || The LAN of Opportunity || || || || || || || The Startup Dream ||%0a104c104%0a%3c || Security || /home of the brave || Remote Backdoor || Unpatched system || 0day Vunerabilities || Insecure || Limited Security || Mostly Secure || Secure by Default ||%0a---%0a> || Security || /home of the brave || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || Limited Security || Mostly Secure || Secure by Default ||%0a +host:1613624947=198.251.81.119 +author:1613624486=jrmu +diff:1613624486:1613624408:=105c105%0a%3c || Independence || A Free and Independent Network || Deplatformed || Domain Seized || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Independence || All users are created equal || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a +host:1613624486=198.251.81.119 +author:1613624408=jrmu +diff:1613624408:1613624330:=104c104%0a%3c || Security || /home of the brave || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || Limited Security || Mostly Secure || Secure by Default ||%0a---%0a> || Security || /home of the brave || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || Mostly Secure || Secure by Default ||%0a +host:1613624408=198.251.81.119 +author:1613624330=jrmu +diff:1613624330:1613624277:=100a101%0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || Chrooted Program || Pure C, Pledged and Unveiled ||%0a119d119%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || Chrooted Program || Pure C, Pledged and Unveiled ||%0a +host:1613624330=198.251.81.119 +author:1613624277=jrmu +diff:1613624277:1613624237:=100c100%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || User Gossip || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a---%0a> || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || Office Politics || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a +host:1613624277=198.251.81.119 +author:1613624237=jrmu +diff:1613624237:1613624014:=100c100%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || Office Politics || Indifference || Server Harmony || Proud to be an IRCitizen ||%0a---%0a> || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || Indifference || Word of Mouth || Network Patriotism || Proud to be an IRCitizen ||%0a +host:1613624237=198.251.81.119 +author:1613624014=jrmu +diff:1613624014:1613623825:=98c98%0a%3c || Liberty || Freedom of Religion and the Press || Network Tyrant || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Some Elections || Free Network ||%0a---%0a> || Liberty || Freedom of Religion and the Press || Antitrust Litigation || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Self-Admin || Free Network ||%0a +host:1613624014=198.251.81.119 +author:1613623825=jrmu +diff:1613623825:1613623463:=99,100c99,100%0a%3c || Ecosystem || The LAN of Opportunity || || || || || || || The Startup Dream ||%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || User Riots || User Protests || Indifference || Word of Mouth || Network Patriotism || Proud to be an IRCitizen ||%0a---%0a> || Ecosystem || The LAN of Opportunity || || || || || || || ||%0a> || Unity || United We Serve, Divided we Fault || Network Civil War || || || || || || ||%0a102c102%0a%3c || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a---%0a> || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Proud IRCitizen ||%0a +host:1613623825=198.251.81.119 +author:1613623463=jrmu +diff:1613623463:1613623321:=99c99%0a%3c || Ecosystem || The LAN of Opportunity || || || || || || || ||%0a---%0a> || Third Parties || No network has a right to take the user's property without consent || || || || || || || ||%0a +host:1613623463=198.251.81.119 +author:1613623321=jrmu +diff:1613623321:1613623294:=106c106%0a%3c || Independence || All users are created equal || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Independence || All Users Are Created Equal || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a +host:1613623321=198.251.81.119 +author:1613623294=jrmu +diff:1613623294:1613623047:=103c103%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || Echo Chamber || || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a---%0a> || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || Echo Chamber || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a106c106%0a%3c || Independence || All Users Are Created Equal || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Independence || Freedom of Religion and the Press and the Right to Bear Code || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a +host:1613623294=198.251.81.119 +author:1613623047=jrmu +diff:1613623047:1613622988:=106c106%0a%3c || Independence || Freedom of Religion and the Press and the Right to Bear Code || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Independence || The Right to Bear Code || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a +host:1613623047=198.251.81.119 +author:1613622988=jrmu +diff:1613622988:1613575014:=100c100%0a%3c || Unity || United We Serve, Divided we Fault || Network Civil War || || || || || || ||%0a---%0a> || Police || ||||||||||||||||%0a +host:1613622988=198.251.81.119 +author:1613575014=jrmu +diff:1613575014:1613456319:=100c100%0a%3c || Police || ||||||||||||||||%0a---%0a> || Support || ||||||||||||||||%0a109,119c109%0a%3c ||! Policy ||! Description ||! Modifiers ||! Special Effects ||%0a%3c || Tor Support || +2 Privacy, -1 Security || Increased Spam ||%0a%3c || SMS Verification || -1 Privacy || Fewer Clones ||%0a%3c || Real Name Policy || -2 Privacy, +1 Security ||%0a%3c || Cloud Hosting || -3 Independence, -2 Unix Ethic, -2 Privacy || ||%0a%3c || WebSockets || -1 Liberty, -1 Security, +1 New Users || More web apps ||%0a%3c || Freedom of Religion || +1 Liberty, +1 Virtue, -1 Police || ||%0a%3c || Freedom of the Press || +1 Liberty, +1 New Users, -1 Police || ||%0a%3c || OpenBSD Base || +2 Unix Ethic, +2 Independence, -1 New Users || All projects take 2x longer ||%0a%3c || NSFW Filter || +1 Virtue, +2 Police, -1 New Users || ||%0a%3c || Outsource Development || -2 Independence, -1 Privacy, -1 Security || Projects finish in 50%25 less time ||%0a---%0a> ||! Policy ||! Description ||! Economy ||! Unlocks ||! Bonus ||%0a +host:1613575014=198.251.81.119 +author:1613456319=jrmu +diff:1613456319:1613456238:=97c97%0a%3c ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! +1 ||! +2 ||! +3 ||%0a---%0a> ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! 1 ||! 2 ||! 3 ||%0a +host:1613456319=198.251.81.119 +author:1613456238=jrmu +diff:1613456238:1613455990:= +host:1613456238=198.251.81.119 +author:1613455990=jrmu +diff:1613455990:1613455688:=105,106c105,106%0a%3c || Security || /home of the brave || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || Mostly Secure || Secure by Default ||%0a%3c || Independence || The Right to Bear Code || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Security || The Right to Bear Code || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || || ||%0a> || Independence || IRC: Chat Free or Die || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a +host:1613455990=198.251.81.119 +author:1613455688=jrmu +diff:1613455688:1613454954:=105c105%0a%3c || Security || The Right to Bear Code || Pwned by skiddies || Big Tech Remote Access || Unpatched vulns || Backdoored by TLAs || || ||%0a---%0a> || Security || ||||||||||||||||%0a +host:1613455688=198.251.81.119 +author:1613454954=jrmu +diff:1613454954:1613454568:=103c103%0a%3c || New Users || Send these accountless, shadowbanned to me || Splinternet || n00b Exclusion Act || Echo Chamber || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a---%0a> || New Users || Send these accountless, shadowbanned to me || || Know Nothing || n00b Exclusion Act || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a +host:1613454954=198.251.81.119 +author:1613454568=jrmu +diff:1613454568:1613454401:= +host:1613454568=198.251.81.119 +author:1613454401=jrmu +diff:1613454401:1613452752:=103c103%0a%3c || New Users || Send these accountless, shadowbanned to me || || Know Nothing || n00b Exclusion Act || Melting Pot || Server Rush || Ellis Server of Liberty ||%0a---%0a> || New Users || Send these accountless, shadowbanned to me || || || || || || Immigration Friendly || Ellis Server ||%0a +host:1613454401=198.251.81.119 +author:1613452752=jrmu +diff:1613452752:1613452604:=106c106%0a%3c || Independence || IRC: Chat Free or Die || Deplatformed || Sanctioned by Banks || Accounts Banned || Posts Censored || 3rd Party Dependencies || Partial Independence || Independent ||%0a---%0a> || Independence || IRC: Chat Free or Die || Sanctioned by Banks || Accounts Banned || Posts Censored || Dependent || Partial Dependence || Partial Independence || Independent ||%0a +host:1613452752=198.251.81.119 +author:1613452604=jrmu +diff:1613452604:1613452190:=98c98%0a%3c || Liberty || Freedom of Religion and the Press || Antitrust Litigation || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Self-Admin || Free Network ||%0a---%0a> || Liberty || Of the users, by the users, for the users || Antitrust Litigation || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Self-Admin || Free Network ||%0a +host:1613452604=198.251.81.119 +author:1613452190=jrmu +diff:1613452190:1613451652:= +host:1613452190=198.251.81.119 +author:1613451652=jrmu +diff:1613451652:1613451397:=101c101%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || Chrooted Program || Pure C, Pledged and Unveiled ||%0a---%0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || || Dashboard Shopping Spyware || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || ||%0a +host:1613451652=198.251.81.119 +author:1613451397=jrmu +diff:1613451397:1613450408:=101c101%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || || Dashboard Shopping Spyware || Web Browser Cryptomining || Containerization || Bloated Init System || Text Editor Bundles Package Manager || || ||%0a---%0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || Corporate Takeover || Systemd invasion || || || || || ||%0a +host:1613451397=198.251.81.119 +author:1613450408=jrmu +diff:1613450408:1613450018:=101,103c101,103%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || Corporate Takeover || Systemd invasion || || || || || ||%0a%3c || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Proud IRCitizen ||%0a%3c || New Users || Send these accountless, shadowbanned to me || || || || || || Immigration Friendly || Ellis Server ||%0a---%0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || Corporate Takeover || Systemd invasion |||||||||| ||%0a> || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a> || New Users || Send these accountless, shadowbanned to me ||||||||||||||||%0a +host:1613450408=198.251.81.119 +author:1613450018=jrmu +diff:1613450018:1613449722:=103c103%0a%3c || New Users || Send these accountless, shadowbanned to me ||||||||||||||||%0a---%0a> || New Users || ||||||||||||||||%0a +host:1613450018=198.251.81.119 +author:1613449722=jrmu +diff:1613449722:1613449521:=102c102%0a%3c || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Beacon of Liberty ||%0a---%0a> || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Safe for Kids ||%0a +host:1613449722=198.251.81.119 +author:1613449521=jrmu +diff:1613449521:1613449091:=98c98%0a%3c || Liberty || Of the users, by the users, for the users || Antitrust Litigation || Mass Surveillance || Dictator for Life || BDFL || Limited Freedom || Self-Admin || Free Network ||%0a---%0a> || Liberty || Of the users, by the users, for the users || Tyranny || || Dictator for Life || BDFL || || || Free Network ||%0a +host:1613449521=198.251.81.119 +author:1613449091=jrmu +diff:1613449091:1613447807:=98,99c98,99%0a%3c || Liberty || Of the users, by the users, for the users || Tyranny || || Dictator for Life || BDFL || || || Free Network ||%0a%3c || Third Parties || No network has a right to take the user's property without consent || || || || || || || ||%0a---%0a> || Liberty || Of the users, by the users, for the users || Tyranny || || || || || || ||%0a> || Development || No network has a right to take intellectual property without the user's consent || || || || || || || ||%0a +host:1613449091=198.251.81.119 +author:1613447807=jrmu +diff:1613447807:1613447562:=98,99c98,99%0a%3c || Liberty || Of the users, by the users, for the users || Tyranny || || || || || || ||%0a%3c || Development || No network has a right to take intellectual property without the user's consent || || || || || || || ||%0a---%0a> || Popularity || Of the users, by the users, for the users || || || || || || || ||%0a> || Developers || No network has a right to take intellectual property without the user's consent || || || || || || || ||%0a106a107%0a> || Development || ||||||||||||||||%0a +host:1613447807=198.251.81.119 +author:1613447562=jrmu +diff:1613447562:1613447423:=98c98%0a%3c || Popularity || Of the users, by the users, for the users || || || || || || || ||%0a---%0a> || Popularity || Of the users, by the users, for the users ||||||||||||||||%0a +host:1613447562=198.251.81.119 +author:1613447423=jrmu +diff:1613447423:1613446912:=99c99%0a%3c || Developers || No network has a right to take intellectual property without the user's consent || || || || || || || ||%0a---%0a> || Developers || No network has a right to take intellectual property without the user's consent ||||||||||||||||%0a102c102%0a%3c || Virtue || One Network Under God || FBI Investigation for Mass Shooting || Cesspool: Blocked by Major ISPs || Indecent: Negative Publicity || Unruly || Orderly || Safe for Work || Safe for Kids ||%0a---%0a> || Virtue || One Network Under God || FBI Investigation || Cesspool || Indecent || Unruly || Orderly || Safe for Work || Safe for Kids ||%0a104c104%0a%3c || Privacy || Users have a right to be secure in their personal data || Privacy Disaster: US Congress Subpoena || Privacy Danger: GDPR lawsuits || Privacy Warning: COPPA violation and fines || Limited Privacy: Some Harassment and Bullying || Partial Anonymity: Suitable for children || Strong anonymity: Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a---%0a> || Privacy || Users have a right to be secure in their personal data || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || Privacy neutral || Partial Anonymity; Suitable for children || Strong anonymity; Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a106c106%0a%3c || Independence || IRC: Chat Free or Die || Sanctioned by Banks || Accounts Banned || Posts Censored || Dependent || Partial Dependence || Partial Independence || Independent ||%0a---%0a> || Independence || IRC: Chat Free or Die || Sanctioned || Blacklisted || Censored || Dependent || Partial Dependence || Partial Independence || Independent ||%0a +host:1613447423=198.251.81.119 +author:1613446912=jrmu +diff:1613446912:1613446860:=99c99%0a%3c || Developers || No network has a right to take intellectual property without the user's consent ||||||||||||||||%0a---%0a> || Developers || No network has a right to take a user's work without his consent ||||||||||||||||%0a +host:1613446912=198.251.81.119 +author:1613446860=jrmu +diff:1613446860:1613446688:=99c99%0a%3c || Developers || No network has a right to take a user's work without his consent ||||||||||||||||%0a---%0a> || Developers || ||||||||||||||||%0a101c101%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || Corporate Takeover || Systemd invasion |||||||||| ||%0a---%0a> || Unix Ethic || Do one thing and do it well; avoid feature creep || -3 Corporate Takeover || -2 Systemd invasion ||||||||||||%0a +host:1613446860=198.251.81.119 +author:1613446688=jrmu +diff:1613446688:1613446647:= +host:1613446688=198.251.81.119 +author:1613446647=jrmu +diff:1613446647:1613446568:=83a84,86%0a> (:if false:)%0a> || George Washington || Father of the Network and First President || ||%0a> (:endif:)%0a +host:1613446647=198.251.81.119 +author:1613446568=jrmu +diff:1613446568:1613446006:=105c105%0a%3c || Virtue || One Network Under God || FBI Investigation || Cesspool || Indecent || Unruly || Orderly || Safe for Work || Safe for Kids ||%0a---%0a> || Virtue || ||||||||||||||||%0a109c109%0a%3c || Independence || IRC: Chat Free or Die || Sanctioned || Blacklisted || Censored || Dependent || Partial Dependence || Partial Independence || Independent ||%0a---%0a> || Independence || IRC: Chat Free or Die || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a +host:1613446568=198.251.81.119 +author:1613446006=jrmu +diff:1613446006:1613445958:=109c109%0a%3c || Independence || IRC: Chat Free or Die || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a---%0a> || Independence || The users can change any network that tramples upon their rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a +host:1613446006=198.251.81.119 +author:1613445958=jrmu +diff:1613445958:1613445613:=84d83%0a%3c (:if false:)%0a86,87c85%0a%3c (:endif:)%0a%3c %0a---%0a> %0a101c99%0a%3c || Popularity || Of the users, by the users, for the users ||||||||||||||||%0a---%0a> || Popularity || ||||||||||||||||%0a104c102%0a%3c || Unix Ethic || Do one thing and do it well; avoid feature creep || -3 Corporate Takeover || -2 Systemd invasion ||||||||||||%0a---%0a> || Unix Ethic || Do one thing and do it well, Use text as an interface, Avoid feature creep, Design the output of one program to be the input of another, Avoid interactivity when not needed || -3 Corporate Takeover || -2 Systemd invasion ||||||||||||%0a107c105%0a%3c || Privacy || Users have a right to be secure in their personal data || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || Privacy neutral || Partial Anonymity; Suitable for children || Strong anonymity; Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a---%0a> || Privacy || Users have a right to be secure in their personal data and /home folder against unreasonable searches and seizures || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || Privacy neutral || Partial Anonymity; Suitable for children || Strong anonymity; Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a109c107%0a%3c || Independence || The users can change any network that tramples upon their rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a---%0a> || Independence || It is the Right of the Users to change any network that tramples upon their digital rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a110a109,113%0a> %0a> diligence, discipline, and frugality%0a> %0a> There was a time, in these United States, when a candidate for public office could qualify with the electorate only by fixing his birthplace in or near the "log cabin." He may have acquired a competence, or even a fortune, since then, but it was in the tradition that he must have been born of poor parents and made his way up the ladder by sheer ability, self-reliance, and perseverance in the face of hardship. In short, he had to be "self made." The so-called Protestant Ethic then prevalent held that man was a sturdy and responsible individual, responsible to himself, his society, and his God. Anybody who could not measure up to that standard could not qualify for public office or even popular respect. One who was born "with a silver spoon in his mouth" might be envied, but he could not aspire to public acclaim; he had to live out his life in the seclusion of his own class.[6]%0a> %0a +host:1613445958=198.251.81.119 +author:1613445613=jrmu +diff:1613445613:1613445472:=84d83%0a%3c || George Washington || Father of the Network and First President || ||%0a +host:1613445613=198.251.81.119 +author:1613445472=jrmu +diff:1613445472:1613445452:=106c106%0a%3c || Independence || It is the Right of the Users to change any network that tramples upon their digital rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Thought || +2 Partially Independent || +3 Fully Independent ||%0a---%0a> || Independence || It is the Right of the Users to change any network that tramples upon their digital rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Sentiments || +2 Partially Independent || +3 Fully Independent ||%0a +host:1613445472=198.251.81.119 +author:1613445452=jrmu +diff:1613445452:1613444465:=101c101%0a%3c || Unix Ethic || Do one thing and do it well, Use text as an interface, Avoid feature creep, Design the output of one program to be the input of another, Avoid interactivity when not needed || -3 Corporate Takeover || -2 Systemd invasion ||||||||||||%0a---%0a> || Unix Ethic || Do one thing and do it well, Use text as an interface, Avoid feature creep, Design the output of one program to be the input of another, Avoid interactivity when not needed || -3 Systemd|| -2 Systemd invasion ||||||||||||%0a106c106%0a%3c || Independence || It is the Right of the Users to change any network that tramples upon their digital rights || -3 Sanctioned || -2 Blacklisted || -1 Censored || 0 Neutral || +1 Independent Sentiments || +2 Partially Independent || +3 Fully Independent ||%0a---%0a> || Independence || ||||||||||||||||%0a +host:1613445452=198.251.81.119 +author:1613444465=jrmu +diff:1613444465:1613443638:=101c101%0a%3c || Unix Ethic || Do one thing and do it well, Use text as an interface, Avoid feature creep, Design the output of one program to be the input of another, Avoid interactivity when not needed || -3 Systemd|| -2 Systemd invasion ||||||||||||%0a---%0a> || Unix Ethic || ||||||||||||||||%0a108,112d107%0a%3c %0a%3c diligence, discipline, and frugality%0a%3c %0a%3c There was a time, in these United States, when a candidate for public office could qualify with the electorate only by fixing his birthplace in or near the "log cabin." He may have acquired a competence, or even a fortune, since then, but it was in the tradition that he must have been born of poor parents and made his way up the ladder by sheer ability, self-reliance, and perseverance in the face of hardship. In short, he had to be "self made." The so-called Protestant Ethic then prevalent held that man was a sturdy and responsible individual, responsible to himself, his society, and his God. Anybody who could not measure up to that standard could not qualify for public office or even popular respect. One who was born "with a silver spoon in his mouth" might be envied, but he could not aspire to public acclaim; he had to live out his life in the seclusion of his own class.[6]%0a%3c %0a +host:1613444465=198.251.81.119 +author:1613443638=jrmu +diff:1613443638:1613443127:=104c104%0a%3c || Privacy || Users have a right to be secure in their personal data and /home folder against unreasonable searches and seizures || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || Privacy neutral || Partial Anonymity; Suitable for children || Strong anonymity; Resistant to cancel culture || Total Anonymity; Safe for political dissidents ||%0a---%0a> || Privacy || Users have a right to be secure in their personal data and /home folder against unreasonable searches and seizures || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || || || || ||%0a +host:1613443638=198.251.81.119 +author:1613443127=jrmu +diff:1613443127:1613442402:=104c104%0a%3c || Privacy || Users have a right to be secure in their personal data and /home folder against unreasonable searches and seizures || Privacy disaster; US Congress Subpoena || Privacy danger; GDPR lawsuits || Privacy warning; COPPA violation || || || || ||%0a---%0a> || Privacy || ||||||||||||||||%0a +host:1613443127=198.251.81.119 +author:1613442402=jrmu +diff:1613442402:1613442122:=96,107c96,108%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Factor ||! Description ||! -3 ||! -2 ||! -1 ||! 0 ||! 1 ||! 2 ||! 3 ||%0a%3c || Popularity || ||||||||||||||||%0a%3c || Developers || ||||||||||||||||%0a%3c || Support || ||||||||||||||||%0a%3c || Unix Ethic || ||||||||||||||||%0a%3c || Virtue || ||||||||||||||||%0a%3c || New Users || ||||||||||||||||%0a%3c || Privacy || ||||||||||||||||%0a%3c || Security || ||||||||||||||||%0a%3c || Independence || ||||||||||||||||%0a%3c || Development || ||||||||||||||||%0a---%0a> Popularity%0a> Developers%0a> Tech Support%0a> Unix Ethic%0a> Virtue%0a> New Users%0a> Privacy%0a> Security%0a> Independence%0a> Development%0a> %0a> Publicity%0a> %0a +host:1613442402=198.251.81.119 +author:1613442122=jrmu +diff:1613442122:1613441971:=101a102%0a> Publicity%0a103a105%0a> Industry%0a106,108d107%0a%3c %0a%3c Publicity%0a%3c %0a +host:1613442122=125.224.24.204 +author:1613441971=jrmu +diff:1613441971:1613441494:=96d95%0a%3c Popularity%0a98,103c97,101%0a%3c Tech Support%0a%3c Unix Ethic%0a%3c Virtue%0a%3c New Users%0a%3c Publicity%0a%3c Privacy%0a---%0a> Speech%0a> Religion%0a> Morale%0a> Police%0a> Growth%0a104a103%0a> Work Ethic%0a106,107c105,120%0a%3c Independence%0a%3c Development%0a---%0a> Research%0a> %0a> Popularity%0a> 3rd Party%0a> Tech Support%0a> Unix Work Ethic%0a> Virtue%0a> New Users%0a> Publicity%0a> Police%0a> Growth%0a> Planet%0a> Privacy%0a> Security%0a> Industry%0a> Research%0a +host:1613441971=125.224.24.204 +author:1613441494=jrmu +diff:1613441494:1613435334:=107,120d106%0a%3c Popularity%0a%3c 3rd Party%0a%3c Tech Support%0a%3c Unix Work Ethic%0a%3c Virtue%0a%3c New Users%0a%3c Publicity%0a%3c Police%0a%3c Growth%0a%3c Planet%0a%3c Privacy%0a%3c Security%0a%3c Industry%0a%3c Research%0a +host:1613441494=198.251.81.119 +author:1613435334=jrmu +diff:1613435334:1613435222:= +host:1613435334=198.251.81.119 +author:1613435222=jrmu +diff:1613435222:1613435130:= +host:1613435222=198.251.81.119 +author:1613435130=jrmu +diff:1613435130:1613367920:=95,109d94%0a%3c %0a%3c Developers%0a%3c Speech%0a%3c Religion%0a%3c Morale%0a%3c Police%0a%3c Growth%0a%3c Security%0a%3c Work Ethic%0a%3c Industry%0a%3c Research%0a%3c %0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Policy ||! Description ||! Economy ||! Unlocks ||! Bonus ||%0a +host:1613435130=198.251.81.119 +author:1613367920=jrmu +diff:1613367920:1613367844:=60d59%0a%3c || Resume Referral || || ||%0a +host:1613367920=198.251.81.119 +author:1613367844=jrmu +diff:1613367844:1613367555:=38d37%0a%3c || password reset || || ||%0a42,43d40%0a%3c || custom domain || || ||%0a%3c || +1 SSL cert || || ||%0a53c50%0a%3c || +1 support email || || ||%0a---%0a> || +customer support email || || ||%0a +host:1613367844=198.251.81.119 +author:1613367555=jrmu +diff:1613367555:1613367428:= +host:1613367555=198.251.81.119 +author:1613367428=jrmu +diff:1613367428:1613367360:=26,27c26,27%0a%3c || Immigrant || Comes From the Old Network || None || None ||%0a%3c || Patriot || Declares Independence from Silicon Valley || None || IRCitizen ||%0a---%0a> || Immigrant || Comes From the Old Internet || None || None ||%0a> || Patriot || Declares Independence from Silicon Valley || None || Netizen ||%0a +host:1613367428=198.251.81.119 +author:1613367360=jrmu +diff:1613367360:1613367272:=26d25%0a%3c || Immigrant || Comes From the Old Internet || None || None ||%0a +host:1613367360=198.251.81.119 +author:1613367272=jrmu +diff:1613367272:1613367037:=79a80,81%0a> %0a> %0a87a90%0a> %0a89a93%0a> %0a +host:1613367272=198.251.81.119 +author:1613367037=jrmu +diff:1613367037:1613366809:=63c63%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Network Diplomat || ||%0a---%0a> || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Diplomat to Foreign Networks || ||%0a74c74%0a%3c || Roger Williams || Campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a---%0a> || Roger Williams || Early Pioneer who campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a76c76%0a%3c || Daniel Boone || Folk hero for exploring and settling the IRC Frontier || ||%0a---%0a> || Daniel Boone || || ||%0a79,80d78%0a%3c %0a%3c %0a +host:1613367037=198.251.81.119 +author:1613366809=jrmu +diff:1613366809:1613366358:=78a79,80%0a> %0a> Roger Williams %0a +host:1613366809=198.251.81.119 +author:1613366358=jrmu +diff:1613366358:1613365246:=74,75c74,75%0a%3c || Roger Williams || Early Pioneer who campaigned for fair dealings with Native IRCians and abolition of non-free software || ||%0a%3c || Quo-fan Penn || Early Network Pioneer who Argued for Freedom of Religion || ||%0a---%0a> || Roger Williams || || ||%0a> || William Penn || || ||%0a80,92d79%0a%3c Roger Williams %0a%3c %0a%3c dennis%0a%3c fizi%0a%3c Quo-fan%0a%3c bangcat%0a%3c Chewbakka85%0a%3c Decoy%0a%3c Fear%0a%3c nix%0a%3c %0a%3c Thor%0a%3c AlienData_Josh%0a +host:1613366358=198.251.81.119 +author:1613365246=jrmu +diff:1613365246:1613365221:= +host:1613365246=198.251.81.119 +author:1613365221=jrmu +diff:1613365221:1613364945:=69c69%0a%3c || Samuel Adams || Leader of the Libre Tea Party Movement to Dump Non-free Software || ||%0a---%0a> || Samuel Adams || || ||%0a79,80d78%0a%3c %0a%3c %0a +host:1613365221=198.251.81.119 +author:1613364945=jrmu +diff:1613364945:1613364755:=70c70%0a%3c || Miniontoby Hancock || Minetest Merchant and Discord Smuggler, First Signer of Network Independence || ||%0a---%0a> || Miniontoby Hancock || || ||%0a +host:1613364945=198.251.81.119 +author:1613364755=jrmu +diff:1613364755:1613363344:=66c66%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants and republicanism || ||%0a---%0a> || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants, republicanism and servers' rights || ||%0a70c70%0a%3c || Miniontoby Hancock || || ||%0a---%0a> || John Hancock || || ||%0a72,78d71%0a%3c || Walter Raleigh || || ||%0a%3c || Captain John Smith || || ||%0a%3c || Roger Williams || || ||%0a%3c || William Penn || || ||%0a%3c || Daniel Boone || || ||%0a%3c || Eli Whitney || || ||%0a%3c || William Brewster || Mayflower User of Plymouth Server Searching for Religious Liberty || ||%0a +host:1613364755=198.251.81.119 +author:1613363344=jrmu +diff:1613363344:1613363024:=62,63c62,63%0a%3c || Gry Adams || Network Lawyer and Serverwoman, Champion of Due Process and the Presumption of Innocence || ||%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Defender of the Free Press, Diplomat to Foreign Networks || ||%0a---%0a> || Gry Adams || Network Lawyer and Serverwoman, Supporter of the Presumption of Innocence and Due Process || ||%0a> || Benjamin Social || Author of Poor Rtalk's Almanack, Champion of the Free Press, Diplomat to Foreign Networks || ||%0a65,66c65,66%0a%3c || John Jay || First Chief Justice, Advocated for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Supporter of immigrants, republicanism and servers' rights || ||%0a---%0a> || John Jay || First Chief Justice, Argued for Strong Centralized ID System || ||%0a> || Thomas Jefferson || Author of the Unix Declaration of Independence, Advocate of immigrants, republicanism and servers' rights || ||%0a68c68%0a%3c || Subline Henry || Bot Plantation Owner and Passionate Orator for Decentralization || ||%0a---%0a> || Subline Henry || Bot Planter and Passionate Orator for Decentralization || ||%0a +host:1613363344=198.251.81.119 +author:1613363024=jrmu +diff:1613363024:1613362945:= +host:1613363024=198.251.81.119 +author:1613362945=jrmu +diff:1613362945:1613362695:=67c67%0a%3c || James Madison || Drafted the IRCNow Constitution and Bill of Rights, co-wrote the Federation Papers || ||%0a---%0a> || James Madison || || ||%0a +host:1613362945=198.251.81.119 +author:1613362695=jrmu +diff:1613362695:1613361064:=62c62%0a%3c || Gry Adams || Network Lawyer and Serverwoman, Supporter of the Presumption of Innocence and Due Process || ||%0a---%0a> || Gry Adams || Lawyer and Stateswoman, Supporter of the Presumption of Innocence and Due Process || ||%0a65,67c65,67%0a%3c || John Jay || First Chief Justice, Argued for Strong Centralized ID System || ||%0a%3c || Thomas Jefferson || Author of the Unix Declaration of Independence, Advocate of immigrants, republicanism and servers' rights || ||%0a%3c || James Madison || || ||%0a---%0a> || John Jay || || ||%0a> || Thomas Jefferson%0a> || James Madison ||%0a69,70c69,70%0a%3c || Samuel Adams || || ||%0a%3c || John Hancock || || ||%0a---%0a> || Samuel Adams ||%0a> || John Hancock ||%0a +host:1613362695=198.251.81.119 +author:1613361064=jrmu +diff:1613361064:1613360851:=68c68%0a%3c || Subline Henry || Bot Planter and Passionate Orator for Decentralization || ||%0a---%0a> || Patrick Henry ||%0a71a72,73%0a> %0a> %0a +host:1613361064=198.251.81.119 +author:1613360851=jrmu +diff:1613360851:1613360796:= +host:1613360851=198.251.81.119 +author:1613360796=jrmu +diff:1613360796:1613360014:=71d70%0a%3c || Blackbeard || Torrenting Pirate on the Eye Are Seas || ||%0a +host:1613360796=198.251.81.119 +author:1613360014=jrmu +diff:1613360014:1613359945:= +host:1613360014=125.224.24.204 +author:1613359945=jrmu +diff:1613359945:1613359893:=64c64%0a%3c || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a---%0a> || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a +host:1613359945=125.224.24.204 +author:1613359893=jrmu +diff:1613359893:1613359361:=62c62%0a%3c || Gry Adams || Lawyer and Stateswoman, Supporter of the Presumption of Innocence and Due Process || ||%0a---%0a> || John Adams ||%0a64,65c64,65%0a%3c || Error Hamilton || Network News Publisher, Established Central Cryptobank, Argued for Strong Federal Network || ||%0a%3c || John Jay || || ||%0a---%0a> || Alexander Hamilton%0a> || John Jay%0a70,72c70%0a%3c || John Hancock ||%0a%3c %0a%3c %0a---%0a> || John Hancock%0a +host:1613359893=125.224.24.204 +author:1613359361=jrmu +diff:1613359361:1613358744:=63c63%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Champion of the Free Press, Diplomat to Foreign Networks || ||%0a---%0a> || Benjamin Social || Author of Poor Rtalk's Almanack, Champion of the Free Press || ||%0a68,70d67%0a%3c || Patrick Henry ||%0a%3c || Samuel Adams ||%0a%3c || John Hancock%0a +host:1613359361=125.224.24.204 +author:1613358744=jrmu +diff:1613358744:1613358121:=63c63%0a%3c || Benjamin Social || Author of Poor Rtalk's Almanack, Champion of the Free Press || ||%0a---%0a> || Benjamin Franklin%0a +host:1613358744=125.224.24.204 +author:1613358121=jrmu +diff:1613358121:1613358061:=61,67c61,62%0a%3c ||! Founder ||! Description ||! Bonus ||%0a%3c || John Adams ||%0a%3c || Benjamin Franklin%0a%3c || Alexander Hamilton%0a%3c || John Jay%0a%3c || Thomas Jefferson%0a%3c || James Madison ||%0a---%0a> ||! Founder ||! ||%0a> || John Adams, Benjamin Franklin, Alexander Hamilton, John Jay, Thomas Jefferson, James Madison, and George Washington %0a +host:1613358121=125.224.24.204 +author:1613358061=jrmu +diff:1613358061:1613320163:=60,62d59%0a%3c %0a%3c ||! Founder ||! ||%0a%3c || John Adams, Benjamin Franklin, Alexander Hamilton, John Jay, Thomas Jefferson, James Madison, and George Washington %0a +host:1613358061=125.224.24.204 +author:1613320163=jrmu +diff:1613320163:1613320125:=56d55%0a%3c || Ally Network || || ||%0a +host:1613320163=198.251.81.119 +author:1613320125=jrmu +diff:1613320125:1613320078:=39d38%0a%3c || custom vhost || || ||%0a51c50%0a%3c || +1 GB file storage || || ||%0a---%0a> || +1 gb web hosting || || ||%0a +host:1613320125=198.251.81.119 +author:1613320078=jrmu +diff:1613320078:1613320002:= +host:1613320078=198.251.81.119 +author:1613320002=jrmu +diff:1613320002:1613319944:=39,41c39,41%0a%3c || +v voice (netizen) || || Netizen ||%0a%3c || +h halfop || || Patriot ||%0a%3c || +o op || || Op of Liberty ||%0a---%0a> || +v voice (netizen) || || Netizenship ||%0a> || +h halfop || || ||%0a> || +o op || || ||%0a +host:1613320002=198.251.81.119 +author:1613319944=jrmu +diff:1613319944:1613319829:= +host:1613319944=198.251.81.119 +author:1613319829=jrmu +diff:1613319829:1613319795:=53c53%0a%3c || +1 Homestead VPS || || ||%0a---%0a> || +1 VPS || || ||%0a +host:1613319829=198.251.81.119 +author:1613319795=jrmu +diff:1613319795:1613319779:= +host:1613319795=198.251.81.119 +author:1613319779=jrmu +diff:1613319779:1613319670:=42,43d41%0a%3c || +a admin || || ||%0a%3c || +q founder || || ||%0a +host:1613319779=198.251.81.119 +author:1613319670=jrmu +diff:1613319670:1613319538:=36,55c36,54%0a%3c ||! Bonus Type ||! Limit ||! Description ||%0a%3c || +1 bnc || max 2 || Free ZNC ||%0a%3c || +1 liberty shell || max 2 || Free Shell ||%0a%3c || +v voice (netizen) || || Netizenship ||%0a%3c || +h halfop || || ||%0a%3c || +o op || || ||%0a%3c || +oper || || ||%0a%3c || +znc admin || || ||%0a%3c || +1 email || || ||%0a%3c || +1 eggdrop || || ||%0a%3c || +customer support email || || ||%0a%3c || +1 VPN || || ||%0a%3c || +1 gb web hosting || || ||%0a%3c || +1 nntp account || || ||%0a%3c || +1 minetest server || || ||%0a%3c || +1 VPS || || ||%0a%3c || +1 Public VPS || || ||%0a%3c || Promote to Minutemin || || ||%0a%3c || Promote to Governor || || ||%0a%3c || +1 dedicated server || || ||%0a---%0a> +1 bnc%0a> +1 liberty shell%0a> +v voice (netizen)%0a> +h halfop%0a> +o op%0a> +oper%0a> +znc admin%0a> +1 email%0a> +1 eggdrop%0a> +customer support email%0a> +1 VPN%0a> +1 gb web hosting%0a> +1 nntp account%0a> +1 minetest server%0a> +1 VPS%0a> +1 Public VPS%0a> Promote to Minutemin%0a> Promote to Governor%0a> +1 dedicated server%0a +host:1613319670=198.251.81.119 +author:1613319538=jrmu +diff:1613319538:1613319486:=52,53d51%0a%3c Promote to Minutemin%0a%3c Promote to Governor%0a +host:1613319538=198.251.81.119 +author:1613319486=jrmu +diff:1613319486:1613319453:=49d48%0a%3c +1 minetest server%0a +host:1613319486=198.251.81.119 +author:1613319453=jrmu +diff:1613319453:1613319355:=44d43%0a%3c +1 eggdrop%0a47,51c46,47%0a%3c +1 gb web hosting%0a%3c +1 nntp account%0a%3c +1 VPS%0a%3c +1 Public VPS%0a%3c +1 dedicated server%0a---%0a> +1 web hosting%0a> +1 %0a +host:1613319453=198.251.81.119 +author:1613319355=jrmu +diff:1613319355:1613319337:=45,47d44%0a%3c +1 VPN%0a%3c +1 web hosting%0a%3c +1 %0a +host:1613319355=198.251.81.119 +author:1613319337=jrmu +diff:1613319337:1613319131:=33,44d32%0a%3c %0a%3c Bonuses%0a%3c %0a%3c +1 bnc%0a%3c +1 liberty shell%0a%3c +v voice (netizen)%0a%3c +h halfop%0a%3c +o op%0a%3c +oper%0a%3c +znc admin%0a%3c +1 email%0a%3c +customer support email%0a +host:1613319337=198.251.81.119 +author:1613319131=jrmu +diff:1613319131:1613318866:=25c25%0a%3c ||! Character ||! Description ||! Skills ||! Bonus ||%0a---%0a> ||! Character ||! Description || Skills || Bonus ||%0a28c28%0a%3c || Pioneer || Network Pioneers || Explore || Explorer ||%0a---%0a> || Pioneer || Development Pioneers || Coding || Repo Privs ||%0a30c30%0a%3c || Inventor || Unix Inventors || Coding || Repo Privs ||%0a---%0a> || Inventor || Decides Constitutional || Security || ||%0a32c32%0a%3c || Senator || Writes Network Law || Law || Voting ||%0a---%0a> || Senator || Writes Network Law || Law || ||%0a +host:1613319131=198.251.81.119 +author:1613318866=jrmu +diff:1613318866:1613318010:=5c5%0a%3c || [[irc/irc101|IRC101]] || Connect to IRC || IRC || IRC || Free Tech Support and Services ||%0a---%0a> || [[irc/irc101|IRC101]] || Connect to IRC || IRC Primer || IRC || Free Tech Support and Services ||%0a +host:1613318866=198.251.81.119 +author:1613318010=jrmu +diff:1613318010:1613317989:=2a3,4%0a> %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a> %0a90c92%0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a\ No newline at end of file%0a---%0a> Characters%0a +host:1613318010=198.251.81.119 +author:1613317989=jrmu +diff:1613317989:1613316972:=30,31c30,31%0a%3c || Pioneer || Development Pioneers || Coding || Repo Privs ||%0a%3c || Sheriff || Reports Network Outlaws || Security || Police Powers ||%0a---%0a> || Pioneer || Development Pioneers || Coding || Repo Powers ||%0a> || Sheriff || Reports Network Outlaws || Security || ||%0a33,34c33,34%0a%3c || Judge || Interpret Network Law || Law || Judge ||%0a%3c || Senator || Writes Network Law || Law || ||%0a---%0a> || Judge || Decides Constitutional || Security || ||%0a> || Senator || Decides Constitutional || Security || ||%0a +host:1613317989=198.251.81.119 +author:1613316972=jrmu +diff:1613316972:1613316955:= +host:1613316972=198.251.81.119 +author:1613316955=jrmu +diff:1613316955:1613316885:=32,34c32,34%0a%3c || Inventor || Decides Constitutional || Security || ||%0a%3c || Judge || Decides Constitutional || Security || ||%0a%3c || Senator || Decides Constitutional || Security || ||%0a---%0a> Judge%0a> Senator%0a> Inventor%0a +host:1613316955=198.251.81.119 +author:1613316885=jrmu +diff:1613316885:1613316328:=27,35d26%0a%3c ||! Character ||! Description || Skills || Bonus ||%0a%3c || Patriot || Declares Independence from Silicon Valley || None || Netizen ||%0a%3c || Minutemin || Server Heroes of Freedom || Sysadmin || Admin Powers ||%0a%3c || Pioneer || Development Pioneers || Coding || Repo Powers ||%0a%3c || Sheriff || Reports Network Outlaws || Security || ||%0a%3c Judge%0a%3c Senator%0a%3c Inventor%0a%3c %0a92a84,91%0a> %0a> Patriot%0a> Minutemin%0a> Pioneer%0a> Sheriff%0a> Judge%0a> Senator%0a> Inventor%0a\ No newline at end of file%0a +host:1613316885=198.251.81.119 +author:1613316328=jrmu +diff:1613316328:1613316314:=87d86%0a%3c Pioneer%0a +host:1613316328=198.251.81.119 +author:1613316314=jrmu +diff:1613316314:1613316252:=90d89%0a%3c Inventor%0a\ No newline at end of file%0a +host:1613316314=198.251.81.119 +author:1613316252=jrmu +diff:1613316252:1613316173:=89c89%0a%3c Senator%0a---%0a> Senator%0a\ No newline at end of file%0a +host:1613316252=198.251.81.119 +author:1613316173=jrmu +diff:1613316173:1613316022:=81,89c81%0a%3c Please continue with [[openbsd/ongoing|ongoing training]].%0a%3c %0a%3c Characters%0a%3c %0a%3c Patriot%0a%3c Minutemin%0a%3c Sheriff%0a%3c Judge%0a%3c Senator%0a\ No newline at end of file%0a---%0a> Please continue with [[openbsd/ongoing|ongoing training]].%0a\ No newline at end of file%0a +host:1613316173=198.251.81.119 +author:1613316022=jrmu +diff:1613316022:1613315873:=7c7%0a%3c || [[irc/irc101|IRC101]] || Connect to IRC || IRC Primer || IRC || Free Tech Support and Services ||%0a---%0a> || [[irc/irc101|IRC101]] || Connect to IRC || IRC Primer || IRC || Free Tech Support, ZNC, Email, Liberty Shell ||%0a9,10c9,10%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || || Patriot Lvl 1 ||%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Lvl 2 ||%0a---%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || Minutemin || ||%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Badge ||%0a20,25c20,24%0a%3c %0a%3c || Give yourself root powers using [[openbsd/doas|doas]] || || || ||%0a%3c || Patch your system using [[openbsd/syspatch|syspatch]] || %0a%3c || Read about basic [[tcpip/overview|TCP/IP networking]] ||%0a%3c || Read about [[IPv4/overview|IPv4 networking]] || %0a%3c || Read about [[IPv6/overview|IPv6 networking]] ||%0a---%0a> || Give yourself root powers using [[openbsd/doas|doas]]%0a> || Patch your system using [[openbsd/syspatch|syspatch]]%0a> || Read about basic [[tcpip/overview|TCP/IP networking]]%0a> || Read about [[IPv4/overview|IPv4 networking]]%0a> || Read about [[IPv6/overview|IPv6 networking]]%0a +host:1613316022=198.251.81.119 +author:1613315873=jrmu +diff:1613315873:1613315832:=14a15,16%0a> %0a> ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a18a21,22%0a> %0a> ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a20,24c24,31%0a%3c || Give yourself root powers using [[openbsd/doas|doas]]%0a%3c || Patch your system using [[openbsd/syspatch|syspatch]]%0a%3c || Read about basic [[tcpip/overview|TCP/IP networking]]%0a%3c || Read about [[IPv4/overview|IPv4 networking]]%0a%3c || Read about [[IPv6/overview|IPv6 networking]]%0a---%0a> %0a> !!! Learning Basic Utilities%0a> %0a> # Give yourself root powers using [[openbsd/doas|doas]]%0a> # Patch your system using [[openbsd/syspatch|syspatch]]%0a> # Read about basic [[tcpip/overview|TCP/IP networking]]%0a> # Read about [[IPv4/overview|IPv4 networking]]%0a> # Read about [[IPv6/overview|IPv6 networking]]%0a +host:1613315873=198.251.81.119 +author:1613315832=jrmu +diff:1613315832:1613315557:=5d4%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1613315832=198.251.81.119 +author:1613315557=jrmu +diff:1613315557:1613315528:=8c8%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || Minutemin || ||%0a---%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || Eggdrop, ZNC, PsyBNC, Minutemin || ||%0a +host:1613315557=198.251.81.119 +author:1613315528=jrmu +diff:1613315528:1613314839:=7,22c7,23%0a%3c || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix || Eggdrop, ZNC, PsyBNC || ||%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix || Eggdrop, ZNC, PsyBNC, Minutemin || ||%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics || || Patriot Badge ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || Unix || Minutemin || Custom vhost ||%0a%3c || [[unix401/unix401|Unix401]] || Shell Script || Shell || || ||%0a%3c || [[unix501/unix501|Unix501]] || Perl Script || Perl || || ||%0a%3c || [[unix601/unix601|Unix601]] || Program in C || C || || ||%0a%3c %0a%3c ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a%3c || [[Ircnow/Goals|IRCNow Goals]] || Learn IRCNow Project Goals || Civics || || VPN ||%0a%3c || [[Ircnow/Roadmap|IRCNow Roadmap]] || Plan the IRCNow Roadmap || Civics || || ||%0a%3c || [[Freedom/Freedom|User Freedom]] || Learn Network Principles || Civics || Ops of Liberty || ||%0a%3c || [[Ircnow/Constitution|IRCNow Constitution]] || Understand the Constitution || Civics || Minutemin Application || Acquire Netizenship (+v voice) ||%0a%3c %0a%3c ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a%3c || [[Minutemin/Code|Code of Honor]] || Recite the Minutemin Code || Unix || || || ||%0a---%0a> || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix Primer || Eggdrop, ZNC, PsyBNC || ||%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix Primer || Eggdrop, ZNC, PsyBNC, Minutemin || Patriot Badge 1 ||%0a> || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics Primer || Minutemin Application || Apply for Netizenship ||%0a> || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || || ||%0a> # [[unix401/unix401|Unix401]]: Shell Script%0a> # [[unix501/unix501|Unix501]]: Perl Script%0a> # [[unix601/unix601|Unix601]]: Program in C%0a> %0a> !! Required for Training%0a> %0a> !!! Get Familiar with IRCNow Culture%0a> %0a> # Read up on our [[Ircnow/Goals|goals for IRC]]%0a> # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a> # Learn about our commitment to [[Freedom/Freedom|user freedom]]%0a> # Read and understand the [[Ircnow/Constitution|IRCNow Constitution]]%0a> # Memorize and recite the [[Minutemin/Code|Code of Honor]]%0a +host:1613315528=198.251.81.119 +author:1613314839=jrmu +diff:1613314839:1613314836:= +host:1613314839=198.251.81.119 +author:1613314836=jrmu +diff:1613314836:1613314467:=6,10c6,11%0a%3c || [[irc/irc101|IRC101]] || Connect to IRC || IRC Primer || IRC || Free Tech Support, ZNC, Email, Liberty Shell ||%0a%3c || [[shell/shell|Liberty Shell]] || Sign up for a Liberty Shell || Unix Primer || Eggdrop, ZNC, PsyBNC || ||%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix Primer || Eggdrop, ZNC, PsyBNC, Minutemin || Patriot Badge 1 ||%0a%3c || [[unix201/unix201|Unix201]] || Understand Network Civics || Civics Primer || Minutemin Application || Apply for Netizenship ||%0a%3c || [[unix301/unix301|Unix301]] || Learn the Unix Work Ethic || || ||%0a---%0a> || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix Primer || Liberty Shell || ||%0a> %0a> # Sign up for a [[shell/shell|liberty shell]]%0a> # : Learn the Command Line%0a> # [[unix201/unix201|Unix201]]: Understand Network Civics%0a> # [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a +host:1613314836=198.251.81.119 +author:1613314467=jrmu +diff:1613314467:1613314249:=5,7c5,7%0a%3c ||! Lesson ||! Description ||! Topic ||! Unlocks ||! Bonus ||%0a%3c || [[unix101/unix101|Unix101]] || Learn the Command Line || Unix Primer || Liberty Shell || ||%0a%3c %0a---%0a> ||! Lesson ||! Description ||! Unlocks ||! Bonus ||%0a> || || || || ||%0a> %0a9c9%0a%3c # : Learn the Command Line%0a---%0a> # [[unix101/unix101|Unix101]]: Learn the Command Line%0a +host:1613314467=198.251.81.119 +author:1613314249=jrmu +diff:1613314249:1613314243:= +host:1613314249=198.251.81.119 +author:1613314243=jrmu +diff:1613314243:1613314078:=5,6c5,7%0a%3c ||! Lesson ||! Description ||! Unlocks ||! Bonus ||%0a%3c || || || || ||%0a---%0a> Welcome!%0a> %0a> !! Before you apply%0a +host:1613314243=198.251.81.119 +author:1613314078=jrmu +diff:1613314078:1613301353:=32d31%0a%3c # Read about [[IPv4/overview|IPv4 networking]]%0a +host:1613314078=198.251.81.119 +author:1613301353=jrmu +diff:1613301353:1613301065:=68,72d67%0a%3c %0a%3c !! Configuring Networking%0a%3c %0a%3c # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a%3c # Test basic connectivity with [[openbsd/ping|ping]]%0a +host:1613301353=198.251.81.119 +author:1613301065=jrmu +diff:1613301065:1613300722:=32c32%0a%3c # Read about [[IPv6/overview|IPv6 networking]]%0a---%0a> # Read about [[ipv6/overview|IPv6 networking]]%0a +host:1613301065=198.251.81.119 +author:1613300722=jrmu +diff:1613300722:1613300345:=31,32c31,32%0a%3c # Read about basic [[tcpip/overview|TCP/IP networking]]%0a%3c # Read about [[ipv6/overview|IPv6 networking]]%0a---%0a> # Get a quick overview of basic [[openbsd/tcpip|TCP/IP]] networking%0a> # Get introduced to [[Openbsd/IPv6|IPv6 networking]]%0a +host:1613300722=198.251.81.119 +author:1613300345=jrmu +diff:1613300345:1613298975:=25c25%0a%3c # Memorize and recite the [[Minutemin/Code|Code of Honor]]%0a---%0a> # Memorize and recite the [[Openbsd/Netadmin|Admin Code of Honor]]%0a +host:1613300345=198.251.81.119 +author:1613298975=jrmu +diff:1613298975:1613298930:= +host:1613298975=198.251.81.119 +author:1613298930=jrmu +diff:1613298930:1613295503:=10,15c10,12%0a%3c # [[unix101/unix101|Unix101]]: Learn the Command Line%0a%3c # [[unix201/unix201|Unix201]]: Understand Network Civics%0a%3c # [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a%3c # [[unix401/unix401|Unix401]]: Shell Script%0a%3c # [[unix501/unix501|Unix501]]: Perl Script%0a%3c # [[unix601/unix601|Unix601]]: Program in C%0a---%0a> # Complete the [[unix101/unix101|Unix101]] tutorial%0a> # Complete the [[unix201/unix201|Unix201]] tutorial%0a> # Complete the [[unix301/unix301|Unix301]] tutorial%0a +host:1613298930=198.251.81.119 +author:1613295503=jrmu +diff:1613295503:1613294873:=9,12c9%0a%3c # Sign up for a [[shell/shell|liberty shell]]%0a%3c # Complete the [[unix101/unix101|Unix101]] tutorial%0a%3c # Complete the [[unix201/unix201|Unix201]] tutorial%0a%3c # Complete the [[unix301/unix301|Unix301]] tutorial%0a---%0a> # Please check out and complete our [[shell/shell|liberty shell tutorials]]%0a +host:1613295503=198.251.81.119 +author:1613294873=jrmu +diff:1613294873:1613294645:=9,10c9,10%0a%3c # Please check out and complete our [[shell/shell|liberty shell tutorials]]%0a%3c %0a---%0a> # Please check out our [[shell/shell|liberty shell tutorials]] and finish the basic training%0a> %0a13c13%0a%3c !!! Get Familiar with IRCNow Culture%0a---%0a> !!! Get Familiar with the Culture%0a +host:1613294873=198.251.81.119 +author:1613294645=jrmu +diff:1613294645:1613294645:=1,77d0%0a%3c (:title Minutemin Bootcamp:)%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a%3c %0a%3c Welcome!%0a%3c %0a%3c !! Before you apply%0a%3c %0a%3c # Please check out our [[shell/shell|liberty shell tutorials]] and finish the basic training%0a%3c %0a%3c !! Required for Training%0a%3c %0a%3c !!! Get Familiar with the Culture%0a%3c %0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a%3c # Learn about our commitment to [[Freedom/Freedom|user freedom]]%0a%3c # Read and understand the [[Ircnow/Constitution|IRCNow Constitution]]%0a%3c # Memorize and recite the [[Openbsd/Netadmin|Admin Code of Honor]]%0a%3c %0a%3c !!! Learning Basic Utilities%0a%3c %0a%3c # Give yourself root powers using [[openbsd/doas|doas]]%0a%3c # Patch your system using [[openbsd/syspatch|syspatch]]%0a%3c # Get a quick overview of basic [[openbsd/tcpip|TCP/IP]] networking%0a%3c # Get introduced to [[Openbsd/IPv6|IPv6 networking]]%0a%3c %0a%3c !!! Setting up IRC%0a%3c %0a%3c # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a%3c # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a%3c %0a%3c !!! Network Troubleshooting%0a%3c %0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c %0a%3c !!! Setting up SSL%0a%3c %0a%3c # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%3c %0a%3c !!! Customizing your Web Server%0a%3c %0a%3c # Set up and configure [[openbsd/php|PHP]]%0a%3c # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%3c %0a%3c !!! Installing a Bouncer%0a%3c %0a%3c # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a%3c # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a%3c # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a%3c %0a%3c !!! Configuring DNS%0a%3c %0a%3c # Learn about [[openbsd/Dns|DNS fundamentals]]%0a%3c # Learn how to configure a [[openbsd/vhost]]%0a%3c # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a%3c # Configure your local caching nameserver using [[openbsd/unbound]]%0a%3c # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a%3c %0a%3c !!! Setting up a Mail Server%0a%3c %0a%3c # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a%3c # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a%3c # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a%3c # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a%3c # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a%3c %0a%3c !! Congratulations! Join the Team!%0a%3c %0a%3c # Read up on [[Openbsd/Team|team procedure]].%0a%3c # and [[Openbsd/Stable]] server protocol.%0a%3c # and [[Openbsd/Testing]] server protocol.%0a%3c %0a%3c Please continue with [[openbsd/ongoing|ongoing training]].%0a\ No newline at end of file%0a +host:1613294645=198.251.81.119 blob - /dev/null blob + c2cce7b4d86aab428078fc9baff469e316f28a2f (mode 644) --- /dev/null +++ wiki.d/Mlmmj.Install @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1625737290 +host=38.81.163.143 +name=Mlmmj.Install +rev=8 +targets=Opensmtpd.Configure,Opensmtpd.Test,Crontab.Edit +text=(:title Installing mlmmj:)%0a%0a[[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is MIT-licensed and written in C. It works with OpenSMTPd and requires no daemons so it can run on very small servers.%0a%0a!! Before we begin%0a%0aYou will need to [[opensmtpd/configure|configure]] and [[opensmtpd/test|test OpenSMTPd]].%0a%0a!! Install%0a%0a[@%0a$ doas pkg_add mlmmj%0a@]%0a%0aYou can also [[http://mlmmj.org/downloads|compile from source]].%0a%0a!! Documentation %0a%0aConsult [[http://mlmmj.org/docs/readme|/usr/local/share/doc/mlmmj/README]]%0a%0aOpenSMTPd and mlmmj, by default, use the delimiter +. For instance, mlmmj-test+subscribe@example.com accepts request to subscribe to the mlmmj-test email list. No special configuration is required.%0a%0aTo create an initial mailing list, we first create a directory for mlmmj, then run mlmmj-make-ml:%0a%0a[@%0a$ doas mkdir /var/spool/mlmmj%0a$ doas chown _smtpd:_smtpd /var/spool/mlmmj/ %0a$ doas -u _smtpd mlmmj-make-ml%0aCreating Directorys below /var/spool/mlmmj. Use '-s spooldir' to change%0aWhat should the name of the Mailinglist be? [mlmmj-test] :%0aThe Domain for the List? [] : example.com%0aThe emailaddress of the list owner? [postmaster] : postmaster%0a@]%0a%0aReplace mlmmj-test and example.com with your real list name and domain.%0a%0aFor each mailing list, add an entry into /etc/mail/virtuals (see [[http://man.openbsd.org/aliases|aliases(5)]] and [[https://man.openbsd.org/smtpd.conf|smtpd.conf(5)]]):%0a%0a[@%0amlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a@]%0a%0aReplace mlmmj-test with your real list name.%0a%0aAdd a task to your [[crontab/edit|crontab]]:%0a%0a[@%0a0 */2 * * * /usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj/ >>/var/log/mlmmj.log 2>&1%0a@]%0a%0aNOTE: mlmmj sends email from 127.0.0.1, which should be added to /etc/mail/hosts; localhost is not enough.%0a%0a(:if false:)%0aNormally the mailing list is only handled on the server, all emails sent to it are for virtual users, or external users. If you have a need to send to a local user, meaning someone with a /home/bangcat directory, you need to modify /etc/mail/smtpd.conf to add a 'table locals file:/etc/mail/locals' and an action to forward email to local users like 'action "local" mbox alias %3clocals>'. The /etc/mail/locals should have a line for each local user that needs to get email.%0aThis is not required in most cases.%0a(:ifend:)%0a%0aTo sign up to the mailing list, simply email mlmmj-test+subscribe@example.com%0aReplace mlmmj-test with your list name, and example.com with your domain name.%0a%0aList files are located at /var/spool/mlmmj/%3cmailing-list-name>.%0a +time=1625760144 +title=Installing mlmmj +author:1625760144=jrmu +diff:1625760144:1625760111:=56c56%0a%3c (:ifend:)%0a---%0a> (:endif:)%0a +host:1625760144=38.81.163.143 +author:1625760111=jrmu +diff:1625760111:1625759627:=53d52%0a%3c (:if false:)%0a56d54%0a%3c (:endif:)%0a +host:1625760111=38.81.163.143 +author:1625759627=jrmu +diff:1625759627:1625757424:=3,4c3,4%0a%3c [[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is MIT-licensed and written in C. It works with OpenSMTPd and requires no daemons so it can run on very small servers.%0a%3c %0a---%0a> [[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is MIT-licensed and written in C It works with OpenSMTPd and requires no daemons so it can run on very small servers.%0a> %0a21,22c21,23%0a%3c OpenSMTPd and mlmmj, by default, use the delimiter +. For instance, mlmmj-test+subscribe@example.com accepts request to subscribe to the mlmmj-test email list. No special configuration is required.%0a%3c %0a---%0a> OpenSMTPd and mlmmj both use the default delimiter + so nothing needs to be changed.%0a> For instance, mlmmj-test+subscribe@example.com accepts request to subscribe to the mlmmj-test email list.%0a> %0a45,46c46,47%0a%3c Add a task to your [[crontab/edit|crontab]]:%0a%3c %0a---%0a> Add a task to your crontab%0a> %0a51c52%0a%3c NOTE: mlmmj sends email from 127.0.0.1, which should be added to /etc/mail/hosts; localhost is not enough.%0a---%0a> The mlmmj tools send all email from 127.0.0.1, which needs to be explicitly added to the /etc/mail/hosts file, having 'localhost' present is not enough.%0a +host:1625759627=38.81.163.143 +author:1625757424=jrmu +diff:1625757424:1625756432:=21c21,22%0a%3c OpenSMTPd and mlmmj both use the default delimiter + so nothing needs to be changed.%0a---%0a> OpenSMTPd and mlmmj both use the default delimiter +, so nothing needs to be changed.%0a> %0a46,47c47%0a%3c Add a task to your crontab%0a%3c %0a---%0a> A seperate line will be required for each mailing list. Once you have added all the mailing list aliases you need, make sure you run:%0a49c49%0a%3c 0 */2 * * * /usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj/ >>/var/log/mlmmj.log 2>&1%0a---%0a> $ doas newaliases%0a51c51,56%0a%3c %0a---%0a> That will update the mail system without needing to restart it.%0a> %0a> The alias modification is required to send email to the mailing list handling software, however, there is still some other things that need to be done periodically to keep your mailing lists working smoothly. You need to add a task to your crontab that looks like:%0a> 0 */2 * * * /bin/sh -c "/usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj >>/var/log/mlmmj.log 2>&1"%0a> The above is needed, and not like how the documentation shows it. If you don't add the '/bin/sh -c' you will get a weird 'file not found' error in your crontab logs. Use this form of the command so that mlmmj-maintd is run on all mailing lists running. The documentation shows a slightly different syntax that can be used for a specific mailing list, but that is not suggested.%0a> %0a57,60c62%0a%3c To sign up to the mailing list, simply email mlmmj-test+subscribe@example.com%0a%3c Replace mlmmj-test with your list name, and example.com with your domain name.%0a%3c %0a%3c List files are located at /var/spool/mlmmj/%3cmailing-list-name>.%0a---%0a> You are now done with the initial setup. You should start back on the official read me file at https://mlmmj.org/docs/readme to fine tune your setup. Although you can sign up people manually with mlmmj-sub, it is better to have the actual users send mail to the mailing list to do that themselves. All the files you need to tweak for an individual list will be located at /var/spool/mlmmj/%3cmailing-list-name>.%0a +host:1625757424=38.81.163.143 +author:1625756432=jrmu +diff:1625756432:1625755780:=3,4c3,4%0a%3c [[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is MIT-licensed and written in C It works with OpenSMTPd and requires no daemons so it can run on very small servers.%0a%3c %0a---%0a> [[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is written in C and works with OpenSMTPd. It requires no daemons so it can run on very small servers. It's MIT licensed.%0a> %0a15,16d14%0a%3c You can also [[http://mlmmj.org/downloads|compile from source]].%0a%3c %0a25,26c23,24%0a%3c To create an initial mailing list, we first create a directory for mlmmj, then run mlmmj-make-ml:%0a%3c %0a---%0a> In order to start to get the mailing list up and running, we need to create an initial mailing list. The tool mlmmj-make-ml is used to start this process. Running this and all other modifications to your email list must keep _smptd as the owner of all files. %0a> This can be be done a few ways:%0a28,29d25%0a%3c $ doas mkdir /var/spool/mlmmj%0a%3c $ doas chown _smtpd:_smtpd /var/spool/mlmmj/ %0a31,34c27%0a%3c Creating Directorys below /var/spool/mlmmj. Use '-s spooldir' to change%0a%3c What should the name of the Mailinglist be? [mlmmj-test] :%0a%3c The Domain for the List? [] : example.com%0a%3c The emailaddress of the list owner? [postmaster] : postmaster%0a---%0a> $ doas -u _smtpd %3ccommand to edit files>%0a36,40c29%0a%3c %0a%3c Replace mlmmj-test and example.com with your real list name and domain.%0a%3c %0a%3c For each mailing list, add an entry into /etc/mail/virtuals (see [[http://man.openbsd.org/aliases|aliases(5)]] and [[https://man.openbsd.org/smtpd.conf|smtpd.conf(5)]]):%0a%3c %0a---%0a> You can make your modifications normally, then at the end when you are ready to test them run:%0a42c31%0a%3c mlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a---%0a> $ doas chown -R _smtpd:_smtpd /var/spool/mlmmj%0a44,47c33,42%0a%3c %0a%3c Replace mlmmj-test with your real list name.%0a%3c %0a%3c A seperate line will be required for each mailing list. Once you have added all the mailing list aliases you need, make sure you run:%0a---%0a> You can run a shell as the _smtpd user; this should probably only be used when modifying files under your /var/spool/mlmmj/mlmmj-test directory for tweaking of headers and setup of each specific mailing list. %0a> %0a> To start, run mlmmj-make-ml and use all default suggestions. Make sure you keep _smtpd as the owner /var/spool/mlmmj directories as stated above.%0a> %0a> Now for each mailing list you want, you will need to add an entry into the /etc/mail/aliases file. For more information on this, refer to the opensmtp wiki page.%0a> %0a> Each mailing list needs to have email sent to the mlmmj-receive program to properly handle requests. This is accomplished by adding a command like the following into the /etc/mail/aliases file:%0a> [@%0a> mlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a> @]%0a +host:1625756432=38.81.163.143 +author:1625755780=jrmu +diff:1625755780:1625755002:=10a11%0a> There is nothing special required to get the core package installed in OpenBSD, simply:%0a15,21c16%0a%3c !! Documentation %0a%3c %0a%3c Consult [[http://mlmmj.org/docs/readme|/usr/local/share/doc/mlmmj/README]]%0a%3c %0a%3c OpenSMTPd and mlmmj both use the default delimiter +, so nothing needs to be changed.%0a%3c %0a%3c For instance, mlmmj-test+subscribe@example.com accepts request to subscribe to the mlmmj-test email list.%0a---%0a> The documentation says to make sure you setup a recipient delimiter, which is already at the default of +. This is what is used to separate commands from mailing list identification. For instance, mailto:mlmmj-test+subscribe@orange.ircnow.org is a request to subscribe to the mlmmj-test email list.%0a +host:1625755780=38.81.163.143 +author:1625755002=jrmu +diff:1625755002:1625737290:=1,10c1%0a%3c (:title Installing mlmmj:)%0a%3c %0a%3c [[https://mlmmj.org/docs/readme|mlmmj]] (Mailing List Management Made Joyful) is a simple and lightweight mailing list manager. It is written in C and works with OpenSMTPd. It requires no daemons so it can run on very small servers. It's MIT licensed.%0a%3c %0a%3c !! Before we begin%0a%3c %0a%3c You will need to [[opensmtpd/configure|configure]] and [[opensmtpd/test|test OpenSMTPd]].%0a%3c %0a%3c !! Install%0a%3c %0a---%0a> This page will show you how to install the mlmmj mailing list package on OpenBSD. It covers mostly installation as maintenance and tweaking of how it will work is covered very well in the official documentation at https://mlmmj.org/docs/readme%0a +host:1625755002=38.81.163.143 +author:1625737290=bangcat +diff:1625737290:1625737290:=1,44d0%0a%3c This page will show you how to install the mlmmj mailing list package on OpenBSD. It covers mostly installation as maintenance and tweaking of how it will work is covered very well in the official documentation at https://mlmmj.org/docs/readme%0a%3c There is nothing special required to get the core package installed in OpenBSD, simply:%0a%3c [@%0a%3c $ doas pkg_add mlmmj%0a%3c @]%0a%3c %0a%3c The documentation says to make sure you setup a recipient delimiter, which is already at the default of +. This is what is used to separate commands from mailing list identification. For instance, mailto:mlmmj-test+subscribe@orange.ircnow.org is a request to subscribe to the mlmmj-test email list.%0a%3c %0a%3c In order to start to get the mailing list up and running, we need to create an initial mailing list. The tool mlmmj-make-ml is used to start this process. Running this and all other modifications to your email list must keep _smptd as the owner of all files. %0a%3c This can be be done a few ways:%0a%3c [@%0a%3c $ doas -u _smtpd mlmmj-make-ml%0a%3c $ doas -u _smtpd %3ccommand to edit files>%0a%3c @]%0a%3c You can make your modifications normally, then at the end when you are ready to test them run:%0a%3c [@%0a%3c $ doas chown -R _smtpd:_smtpd /var/spool/mlmmj%0a%3c @]%0a%3c You can run a shell as the _smtpd user; this should probably only be used when modifying files under your /var/spool/mlmmj/mlmmj-test directory for tweaking of headers and setup of each specific mailing list. %0a%3c %0a%3c To start, run mlmmj-make-ml and use all default suggestions. Make sure you keep _smtpd as the owner /var/spool/mlmmj directories as stated above.%0a%3c %0a%3c Now for each mailing list you want, you will need to add an entry into the /etc/mail/aliases file. For more information on this, refer to the opensmtp wiki page.%0a%3c %0a%3c Each mailing list needs to have email sent to the mlmmj-receive program to properly handle requests. This is accomplished by adding a command like the following into the /etc/mail/aliases file:%0a%3c [@%0a%3c mlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a%3c @]%0a%3c A seperate line will be required for each mailing list. Once you have added all the mailing list aliases you need, make sure you run:%0a%3c [@%0a%3c $ doas newaliases%0a%3c @]%0a%3c That will update the mail system without needing to restart it.%0a%3c %0a%3c The alias modification is required to send email to the mailing list handling software, however, there is still some other things that need to be done periodically to keep your mailing lists working smoothly. You need to add a task to your crontab that looks like:%0a%3c 0 */2 * * * /bin/sh -c "/usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj >>/var/log/mlmmj.log 2>&1"%0a%3c The above is needed, and not like how the documentation shows it. If you don't add the '/bin/sh -c' you will get a weird 'file not found' error in your crontab logs. Use this form of the command so that mlmmj-maintd is run on all mailing lists running. The documentation shows a slightly different syntax that can be used for a specific mailing list, but that is not suggested.%0a%3c %0a%3c The mlmmj tools send all email from 127.0.0.1, which needs to be explicitly added to the /etc/mail/hosts file, having 'localhost' present is not enough.%0a%3c %0a%3c Normally the mailing list is only handled on the server, all emails sent to it are for virtual users, or external users. If you have a need to send to a local user, meaning someone with a /home/bangcat directory, you need to modify /etc/mail/smtpd.conf to add a 'table locals file:/etc/mail/locals' and an action to forward email to local users like 'action "local" mbox alias %3clocals>'. The /etc/mail/locals should have a line for each local user that needs to get email.%0a%3c This is not required in most cases.%0a%3c %0a%3c You are now done with the initial setup. You should start back on the official read me file at https://mlmmj.org/docs/readme to fine tune your setup. Although you can sign up people manually with mlmmj-sub, it is better to have the actual users send mail to the mailing list to do that themselves. All the files you need to tweak for an individual list will be located at /var/spool/mlmmj/%3cmailing-list-name>.%0a +host:1625737290=38.81.163.143 blob - /dev/null blob + 9d83f630127d4ce77c6ac3c882233ae6a22c33af (mode 644) --- /dev/null +++ wiki.d/Mlmmj.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1625737290 +host=38.81.163.143 +name=Mlmmj.RecentChanges +rev=8 +text=* [[Mlmmj/Install]] . . . July 08, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a +time=1625760144 blob - /dev/null blob + eb7502564aec92d24e24a6c45d945ce6b232c726 (mode 644) --- /dev/null +++ wiki.d/Monal.Connect @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637493405 +host=38.87.162.8 +name=Monal.Connect +rev=7 +targets=Fdroid.Install +text=[[https://monal.im/|Monal IM]] is an iOS and macOS XMPP app. It works properly in landscape, portrait, and split view; it supports push notifications, dark mode, airdrop, and other native iOS features. It offers strong encryption with OMEMO. It is BSD licensed.%0a%0a'''NOTE''': It is currently not possible to do in-band registration for IRCNow servers with Monal, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Monal.%0a%0a# To install Monal, first install [[Fdroid/Install|F-droid]]:\\%0aAttach:monal-appstore.png%0a# Tap @@Allow@@:\\%0aAttach:monal-allownotifications.png%0a# Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0aAttach:monal-welcome.png%0a# After login, tap @@Start Using Monal@@:\\%0aAttach:monal-login.png%0a# Tap the contacts icon at the top-right corner:\\%0aAttach:monal-chats.png\\%0aAttach:monal-contacts.png%0a +time=1637663543 +author:1637663543=jrmu +diff:1637663543:1637663514:=13c13%0a%3c # Tap the contacts icon at the top-right corner:\\%0a---%0a> # Tap the contacts icon at the top-right corner:%0a +host:1637663543=38.87.162.8 +author:1637663514=jrmu +diff:1637663514:1637663045:=10,11c10%0a%3c Attach:monal-welcome.png%0a%3c # After login, tap @@Start Using Monal@@:\\%0a---%0a> Attach:monal-welcome.png\\%0a13,14c12,16%0a%3c # Tap the contacts icon at the top-right corner:%0a%3c Attach:monal-chats.png\\%0a---%0a> #%0a> Attach:monal-chats.png%0a> # View and edit settings. Once done, tap @@Close@@.%0a> Attach:monal-settings.png%0a> #%0a +host:1637663514=38.87.162.8 +author:1637663045=jrmu +diff:1637663045:1637662927:=10,11c10%0a%3c Attach:monal-welcome.png\\%0a%3c Attach:monal-login.png%0a---%0a> Attach:monal-welcome.png%0a17a17,18%0a> #%0a> Attach:monal-login.png%0a +host:1637663045=38.87.162.8 +author:1637662927=jrmu +diff:1637662927:1637662794:=9c9%0a%3c # Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0a---%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0a11d10%0a%3c #%0a13,15d11%0a%3c # View and edit settings. Once done, tap @@Close@@.%0a%3c Attach:monal-settings.png%0a%3c #%0a17d12%0a%3c #%0a18a14%0a> Attach:monal-settings.png%0a +host:1637662927=38.87.162.8 +author:1637662794=jrmu +diff:1637662794:1637589658:=3,4d2%0a%3c '''NOTE''': It is currently not possible to do in-band registration for IRCNow servers with Monal, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Monal.%0a%3c %0a9d6%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0a10a8%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0a +host:1637662794=38.87.162.8 +author:1637589658=jrmu +diff:1637589658:1637493405:=1,2c1,2%0a%3c [[https://monal.im/|Monal IM]] is an iOS and macOS XMPP app. It works properly in landscape, portrait, and split view; it supports push notifications, dark mode, airdrop, and other native iOS features. It offers strong encryption with OMEMO. It is BSD licensed.%0a%3c %0a---%0a> [[https://monal.im/|Monal IM]] is an iOS and macOS XMPP app. It works properly in landscape, portrait, and split view; it supporst push notifications, dark mode, airdrop, and other native iOS features. It offers strong encryption with OMEMO. It is BSD licensed.%0a> %0a5,7c5,13%0a%3c # Tap @@Allow@@:\\%0a%3c Attach:monal-allownotifications.png%0a%3c Attach:monal-welcome.png%0a---%0a> Attach:monal-allownotifications.png\\%0a> Attach:monal-chats.png\\%0a> Attach:monal-contacts.png\\%0a> Attach:monal-login.png\\%0a> Attach:monal-settings.png\\%0a> Attach:monal-welcome.png\\%0a> # Open Conversations.%0a> # Tap @@Create new account@@:\\%0a> # Tap @@Use my own provider@@:\\%0a9,12c15,16%0a%3c Attach:monal-chats.png%0a%3c Attach:monal-contacts.png%0a%3c Attach:monal-login.png%0a%3c Attach:monal-settings.png%0a---%0a> # You can tap the avatar, or tap @@Skip@@.\\%0a> # Your account has been created!\\%0a +host:1637589658=38.87.162.8 +author:1637493405=jrmu +diff:1637493405:1637493405:=1,16d0%0a%3c [[https://monal.im/|Monal IM]] is an iOS and macOS XMPP app. It works properly in landscape, portrait, and split view; it supporst push notifications, dark mode, airdrop, and other native iOS features. It offers strong encryption with OMEMO. It is BSD licensed.%0a%3c %0a%3c # To install Monal, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:monal-appstore.png%0a%3c Attach:monal-allownotifications.png\\%0a%3c Attach:monal-chats.png\\%0a%3c Attach:monal-contacts.png\\%0a%3c Attach:monal-login.png\\%0a%3c Attach:monal-settings.png\\%0a%3c Attach:monal-welcome.png\\%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a%3c # Tap @@Use my own provider@@:\\%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). See our list of [[xmpp/xmpp|free XMPP servers]] for a domain. In this example, our username is username@ircnow.org. Then, tap @@Next@@.\\%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a%3c # Your account has been created!\\%0a +host:1637493405=38.87.162.8 blob - /dev/null blob + dc480ee9a8165ead76fbdd520fad340b25ef87c8 (mode 644) --- /dev/null +++ wiki.d/Monal.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637493405 +host=38.87.162.8 +name=Monal.RecentChanges +rev=7 +text=* [[Monal/Connect]] . . . November 23, 2021, at 10:32 AM by [[~jrmu]]: [==]%0a +time=1637663543 blob - /dev/null blob + 89c8397d642ce5fe7a70d8275cd73848760383d3 (mode 644) --- /dev/null +++ wiki.d/Mutt.Connect @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=6.8 -> 6.9 +ctime=1613699015 +host=2.178.154.172 +name=Mutt.Connect +rev=6 +targets= +text=Make sure the mutt you have installed has SASL compiled. SASL is necessary for sending outgoing mail. On OpenBSD 6.9, mutt-2.0.6v3-gpgme-sasl will work.%0a%0aIn ~/.muttrc:%0a%0a[@%0aset hostname=ircnow.org%0aset editor=nvi%0aset imap_user=user123@ircnow.org%0aset imap_pass="pass123"%0a%0aset folder=imap://$imap_user@imap.ircnow.org%0a%0aset spoolfile=+INBOX%0a%0aset imap_check_subscribed%0aset header_cache=~/.cache/mutt%0aset message_cachedir="~/.cache/mutt"%0aunset imap_passive%0aset imap_keepalive=300%0aset mail_check=120%0a%0aset record=+Sent%0aset my_pass="pass123"%0aset my_user='user123@ircnow.org'%0aset realname='user123'%0aset from=user123@ircnow.org%0aset use_from=yes%0a%0aset smtp_url=smtp://$my_user:$my_pass@ircnow.org:587%0aset ssl_force_tls=yes%0aset ssl_starttls=yes%0a@]%0a%0aIf you'd like to add GPG support, add this line:%0a%0a[@%0asource ~/.gpg.rc%0a@]%0a%0aThen, in ~/.gpg.rc:%0a%0a[@%0aset pgp_decode_command="gpg %25?p?--passphrase-fd 0? --no-verbose --batch --output - %25f"%0aset pgp_verify_command="gpg --no-verbose --batch --output - --verify %25s %25f"%0aset pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %25f"%0aset pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %25?a?-u %25a? %25f"%0aset pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %25?a?-u %25a? %25f"%0aset pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x4A56DB2DBF8DC186 -- -r %25r -- %25f"%0aset pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %25?a?-u %25a? --armor --always-trust --encrypt-to 0x4A56DB2DBF8DC186 -- -r %25r -- %25f"%0aset pgp_import_command="gpg --no-verbose --import -v %25f"%0aset pgp_export_command="gpg --no-verbose --export --armor %25r"%0aset pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %25r"%0aset pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %25r" %0aset pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %25r" %0aset pgp_autosign=yes%0aset pgp_sign_as=0x4A56DB2DBF8DC186%0aset pgp_replyencrypt=yes%0aset pgp_timeout=1800%0aset pgp_good_sign="^gpg: Good signature from"%0aset pgp_use_gpg_agent="yes"%0a@]%0a%0aYou'll want to replace 0x4A56DB2DBF8DC186 with your key ID.%0a%0a!! See Also%0a%0ahttps://www.gnupg.org/documentation/howtos.html%0ahttp://codesorcery.net/old/mutt/%0ahttp://www.mutt.org/doc/manual/%0a +time=1631253690 +author:1631253690=mkf +csum:1631253690=6.8 -> 6.9 +diff:1631253690:1629792304:=1c1%0a%3c Make sure the mutt you have installed has SASL compiled. SASL is necessary for sending outgoing mail. On OpenBSD 6.9, mutt-2.0.6v3-gpgme-sasl will work.%0a---%0a> Make sure the mutt you have installed has SASL compiled. SASL is necessary for sending outgoing mail. On OpenBSD 6.8, mutt-1.14.7p1v3-gpgme-sasl will work.%0a +host:1631253690=2.178.154.172 +author:1629792304=jrmu +diff:1629792304:1625796532:=22a23%0a> unset record%0a +host:1629792304=38.87.162.8 +author:1625796532=jrmu +diff:1625796532:1619072682:=61c61%0a%3c set pgp_use_gpg_agent="yes"%0a---%0a> set pgp_use_gpg_agent="no"%0a70c70%0a%3c http://www.mutt.org/doc/manual/%0a---%0a> http://www.mutt.org/doc/manual/%0a\ No newline at end of file%0a +host:1625796532=38.81.163.143 +author:1619072682=jrmu +diff:1619072682:1613699132:=1,2d0%0a%3c Make sure the mutt you have installed has SASL compiled. SASL is necessary for sending outgoing mail. On OpenBSD 6.8, mutt-1.14.7p1v3-gpgme-sasl will work.%0a%3c %0a +host:1619072682=198.251.81.119 +author:1613699132=jrmu +diff:1613699132:1613699015:=62,68c62%0a%3c You'll want to replace 0x4A56DB2DBF8DC186 with your key ID.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c https://www.gnupg.org/documentation/howtos.html%0a%3c http://codesorcery.net/old/mutt/%0a%3c http://www.mutt.org/doc/manual/%0a\ No newline at end of file%0a---%0a> You'll want to replace 0x4A56DB2DBF8DC186 with your key ID.%0a\ No newline at end of file%0a +host:1613699132=198.251.81.119 +author:1613699015=jrmu +diff:1613699015:1613699015:=1,62d0%0a%3c In ~/.muttrc:%0a%3c %0a%3c [@%0a%3c set hostname=ircnow.org%0a%3c set editor=nvi%0a%3c set imap_user=user123@ircnow.org%0a%3c set imap_pass="pass123"%0a%3c %0a%3c set folder=imap://$imap_user@imap.ircnow.org%0a%3c %0a%3c set spoolfile=+INBOX%0a%3c %0a%3c set imap_check_subscribed%0a%3c set header_cache=~/.cache/mutt%0a%3c set message_cachedir="~/.cache/mutt"%0a%3c unset imap_passive%0a%3c set imap_keepalive=300%0a%3c set mail_check=120%0a%3c %0a%3c set record=+Sent%0a%3c unset record%0a%3c set my_pass="pass123"%0a%3c set my_user='user123@ircnow.org'%0a%3c set realname='user123'%0a%3c set from=user123@ircnow.org%0a%3c set use_from=yes%0a%3c %0a%3c set smtp_url=smtp://$my_user:$my_pass@ircnow.org:587%0a%3c set ssl_force_tls=yes%0a%3c set ssl_starttls=yes%0a%3c @]%0a%3c %0a%3c If you'd like to add GPG support, add this line:%0a%3c %0a%3c [@%0a%3c source ~/.gpg.rc%0a%3c @]%0a%3c %0a%3c Then, in ~/.gpg.rc:%0a%3c %0a%3c [@%0a%3c set pgp_decode_command="gpg %25?p?--passphrase-fd 0? --no-verbose --batch --output - %25f"%0a%3c set pgp_verify_command="gpg --no-verbose --batch --output - --verify %25s %25f"%0a%3c set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %25f"%0a%3c set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %25?a?-u %25a? %25f"%0a%3c set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %25?a?-u %25a? %25f"%0a%3c set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x4A56DB2DBF8DC186 -- -r %25r -- %25f"%0a%3c set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %25?a?-u %25a? --armor --always-trust --encrypt-to 0x4A56DB2DBF8DC186 -- -r %25r -- %25f"%0a%3c set pgp_import_command="gpg --no-verbose --import -v %25f"%0a%3c set pgp_export_command="gpg --no-verbose --export --armor %25r"%0a%3c set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %25r"%0a%3c set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %25r" %0a%3c set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %25r" %0a%3c set pgp_autosign=yes%0a%3c set pgp_sign_as=0x4A56DB2DBF8DC186%0a%3c set pgp_replyencrypt=yes%0a%3c set pgp_timeout=1800%0a%3c set pgp_good_sign="^gpg: Good signature from"%0a%3c set pgp_use_gpg_agent="no"%0a%3c @]%0a%3c %0a%3c You'll want to replace 0x4A56DB2DBF8DC186 with your key ID.%0a\ No newline at end of file%0a +host:1613699015=198.251.81.119 blob - /dev/null blob + 39f9e63a1f3af971eab06847b9f0b14447b97b09 (mode 644) --- /dev/null +++ wiki.d/Mutt.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1613699015 +host=2.178.154.172 +name=Mutt.RecentChanges +rev=6 +text=* [[Mutt/Connect]] . . . September 10, 2021, at 06:01 AM by [[~mkf]]: [=6.8 -> 6.9=]%0a +time=1631253690 blob - /dev/null blob + 83e27c6789e83d693c5aa82bb8852b914c1e7170 (mode 644) --- /dev/null +++ wiki.d/Netcat.Http @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635937306 +host=38.87.162.47 +name=Netcat.Http +rev=5 +targets= +text=(:title Troubleshooting httpd with netcat:)%0a%0anetcat is the swiss-army knife of networking. It can be a valuable tool to help diagnose networking errors in your web server.%0a%0a[@%0a$ print "GET / HTTP/1.1\nHostname: www.example.com\r\n\r\n" | nc www.example.com 80%0a@]%0a%0aYou may get a few possible responses:%0a%0a!! 302 Response%0a%0aA 302 response indicates that the web page has been moved.%0aThis will occur if openhttpd is set to redirect to port 443:%0a%0a[@%0aHTTP/1.0 302 Found%0aDate: Tue, 23 Feb 2021 14:01:28 GMT%0aOpenBSD httpd%0aConnection: close%0aContent-Type: text/html%0aContent-Length: 486%0aLocation: https://www.example.com/index.html%0a%0a%3c!DOCTYPE html>%0a%3chtml> %0a%3chead>%0a%3cmeta charset="utf-8"> %0a%3ctitle>302 Found%3c/title>%0a%3cstyle type="text/css">%3c!--%0abody { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0ahr { border: 0; border-bottom: 1px dashed; }%0a@media (prefers-color-scheme: dark) {%0abody { background-color: #1E1F21; color: #EEEFF1; }%0aa { color: #BAD7FF; }%0a}%0a-->%3c/style>%0a%3c/head>%0a%3cbody>%0a%3ch1>302 Found%3c/h1>%0a%3chr>%0a%3caddress>OpenBSD httpd%3c/address>%0a%3c/body>%0a%3c/html>%0aConnection closed by foreign host.%0a@]%0a%0aThis response indicates that%0a%0aHTTP/1.0 302 Found%0aDate: Tue, 23 Feb 2021 14:01:28 GMT%0aOpenBSD httpd%0aConnection: close%0aContent-Type: text/html%0aContent-Length: 486%0aLocation: https://www.example.com/index.html%0a@]%0a +time=1635949819 +title=Troubleshooting httpd with netcat +author:1635949819=jrmu +diff:1635949819:1635949608:=7,16d6%0a%3c @]%0a%3c %0a%3c You may get a few possible responses:%0a%3c %0a%3c !! 302 Response%0a%3c %0a%3c A 302 response indicates that the web page has been moved.%0a%3c This will occur if openhttpd is set to redirect to port 443:%0a%3c %0a%3c [@%0a23,24c13,14%0a%3c Location: https://www.example.com/index.html%0a%3c %0a---%0a> Location: https://example.com/index.html%0a> %0a48,57c38%0a%3c This response indicates that%0a%3c %0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://www.example.com/index.html%0a%3c @]%0a---%0a> !! Debugging Web Servers%0a +host:1635949819=38.87.162.47 +author:1635949608=jrmu +diff:1635949608:1635949305:=6c6,14%0a%3c $ print "GET / HTTP/1.1\nHostname: www.example.com\r\n\r\n" | nc www.example.com 80%0a---%0a> $ telnet example.com 80%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a> @]%0a> %0a> then, press enter key twice.%0a> You should a response similar to the one below:%0a> %0a> [@%0a36a45,48%0a> %0a> To quit, just type CTRL+C.%0a> %0a> Here's the complete process:%0a +host:1635949608=38.87.162.47 +author:1635949305=jrmu +diff:1635949305:1635937717:=1,4d0%0a%3c (:title Troubleshooting httpd with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It can be a valuable tool to help diagnose networking errors in your web server.%0a%3c %0a45c41,135%0a%3c %0a---%0a> (:title Troubleshooting with netcat:)%0a> %0a> netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a> %0a> !! Debugging IRC%0a> %0a> To test if you are able to establish an IRC connection, you can use netcat:%0a> %0a> [@%0a> $ nc irc.ircnow.org 6667%0a> NICK newnick%0a> USER newuser * * :newuser%0a> PING: 12345%0a> PONG: 12345%0a> @]%0a> %0a> '''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a> %0a> If you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a> %0a> You can specifically use netcat to test if an IPv6 address is working:%0a> %0a> [@%0a> $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a> NICK newnick%0a> USER newuser * * :newuser%0a> PING :12345%0a> PONG :12345%0a> @]%0a> %0a> This will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a> %0a> You should see something like the following from the server's reply:%0a> %0a> [@%0a> :irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0a> ostname now%0a> :newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a> @]%0a> %0a> In this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a> %0a> [@%0a> :irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a> :newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a> @]%0a> %0a> To check your vhost, type @@WHOIS newnick@@:%0a> %0a> [@%0a> WHOIS newnick%0a> :irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a> :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a> :irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a> :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a> :irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a> :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a> @]%0a> %0a> In this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a> %0a> [@%0a> :irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a> :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a> :irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a> :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a> :irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a> :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a> @]%0a> %0a> To join a channel:%0a> %0a> [@%0a> JOIN #ircnow%0a> @]%0a> %0a> To part a channel:%0a> %0a> [@%0a> PART #ircnow%0a> @]%0a> %0a> To send a message to a channel or user:%0a> %0a> [@%0a> PRIVMSG #ircnow :Hello, world!%0a> PRIVMSG Mom :Look ma, no client!%0a> @]%0a> %0a> To identify with NickServ:%0a> %0a> [@%0a> PRIVMSG Nickserv :identify PASSWORD%0a> @]%0a> %0a47a138,188%0a> !! Debugging SMTP%0a> %0a> You can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a> %0a> Here's how to send a simple letter:%0a> %0a> [@%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a> @]%0a> %0a> Next, we type HELO followed by our sending domain:%0a> %0a> [@%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> @]%0a> %0a> Afterwards, we type our sending mail address:%0a> %0a> [@%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> @]%0a> %0a> And the destination mail address:%0a> %0a> [@%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> @]%0a> %0a> Then we type DATA followed by our email:%0a> %0a> [@%0a> DATA%0a> 354 Enter mail, end with "." on a line by itself%0a> Subject: Alpha Bravo Charlie Delta%0a> %0a> Echo Foxtrot Golf Hotel%0a> @]%0a> %0a> We then type . to end the email, then QUIT:%0a> %0a> [@%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a> %0a48a190,210%0a> %0a> [@%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> DATA%0a> 354 Enter mail, end with "." on a line by itself%0a> Subject: Alpha Bravo Charlie Delta%0a> %0a> Echo Foxtrot Golf Hotel%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a> %0a +host:1635949305=38.87.162.47 +author:1635937717=jrmu +diff:1635937717:1635937306:=1,40d0%0a%3c [@%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a%3c @]%0a%3c %0a%3c then, press enter key twice.%0a%3c You should a response similar to the one below:%0a%3c %0a%3c [@%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://example.com/index.html%0a%3c %0a%3c %3c!DOCTYPE html>%0a%3c %3chtml> %0a%3c %3chead>%0a%3c %3cmeta charset="utf-8"> %0a%3c %3ctitle>302 Found%3c/title>%0a%3c %3cstyle type="text/css">%3c!--%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a%3c hr { border: 0; border-bottom: 1px dashed; }%0a%3c @media (prefers-color-scheme: dark) {%0a%3c body { background-color: #1E1F21; color: #EEEFF1; }%0a%3c a { color: #BAD7FF; }%0a%3c }%0a%3c -->%3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>302 Found%3c/h1>%0a%3c %3chr>%0a%3c %3caddress>OpenBSD httpd%3c/address>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c Connection closed by foreign host.%0a%3c @]%0a +host:1635937717=38.87.162.47 +author:1635937306=jrmu +diff:1635937306:1635937306:=1,172d0%0a%3c (:title Troubleshooting with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%3c %0a%3c !! Debugging IRC%0a%3c %0a%3c To test if you are able to establish an IRC connection, you can use netcat:%0a%3c %0a%3c [@%0a%3c $ nc irc.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING: 12345%0a%3c PONG: 12345%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%3c %0a%3c If you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%3c %0a%3c You can specifically use netcat to test if an IPv6 address is working:%0a%3c %0a%3c [@%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c @]%0a%3c %0a%3c This will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%3c %0a%3c You should see something like the following from the server's reply:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0a%3c ostname now%0a%3c :newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c In this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a%3c :newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c To check your vhost, type @@WHOIS newnick@@:%0a%3c %0a%3c [@%0a%3c WHOIS newnick%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c In this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c To join a channel:%0a%3c %0a%3c [@%0a%3c JOIN #ircnow%0a%3c @]%0a%3c %0a%3c To part a channel:%0a%3c %0a%3c [@%0a%3c PART #ircnow%0a%3c @]%0a%3c %0a%3c To send a message to a channel or user:%0a%3c %0a%3c [@%0a%3c PRIVMSG #ircnow :Hello, world!%0a%3c PRIVMSG Mom :Look ma, no client!%0a%3c @]%0a%3c %0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c PRIVMSG Nickserv :identify PASSWORD%0a%3c @]%0a%3c %0a%3c To quit, just type CTRL+C.%0a%3c %0a%3c !! Debugging SMTP%0a%3c %0a%3c You can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%3c %0a%3c Here's how to send a simple letter:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c %0a%3c !! Debugging Web Servers%0a +host:1635937306=38.87.162.47 blob - /dev/null blob + 6eefae3b4aa1fc97b2fb0ded5b0ea3ac68acbc75 (mode 644) --- /dev/null +++ wiki.d/Netcat.Irc @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614941891 +host=198.251.81.119 +name=Netcat.Irc +rev=1 +targets= +text=(:title Troubleshooting with netcat:)%0a%0anetcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%0a!! Debugging IRC%0a%0aTo test if you are able to establish an IRC connection, you can use netcat:%0a%0a[@%0a$ nc irc.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING: 12345%0aPONG: 12345%0a@]%0a%0a'''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%0aIf you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%0aYou can specifically use netcat to test if an IPv6 address is working:%0a%0a[@%0a$ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING :12345%0aPONG :12345%0a@]%0a%0aThis will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%0aYou should see something like the following from the server's reply:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0aostname now%0a:newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a@]%0a%0aIn this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a:newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a@]%0a%0aTo check your vhost, type @@WHOIS newnick@@:%0a%0a[@%0aWHOIS newnick%0a:irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aIn this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%0a[@%0a:irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aTo join a channel:%0a%0a[@%0aJOIN #ircnow%0a@]%0a%0aTo part a channel:%0a%0a[@%0aPART #ircnow%0a@]%0a%0aTo send a message to a channel or user:%0a%0a[@%0aPRIVMSG #ircnow :Hello, world!%0aPRIVMSG Mom :Look ma, no client!%0a@]%0a%0aTo identify with NickServ:%0a%0a[@%0aPRIVMSG Nickserv :identify PASSWORD%0a@]%0a%0aTo quit, just type CTRL+C. +time=1614941891 +title=Troubleshooting with netcat +author:1614941891=jrmu +diff:1614941891:1614941891:=1,96d0%0a%3c (:title Troubleshooting with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%3c %0a%3c !! Debugging IRC%0a%3c %0a%3c To test if you are able to establish an IRC connection, you can use netcat:%0a%3c %0a%3c [@%0a%3c $ nc irc.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING: 12345%0a%3c PONG: 12345%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%3c %0a%3c If you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%3c %0a%3c You can specifically use netcat to test if an IPv6 address is working:%0a%3c %0a%3c [@%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c @]%0a%3c %0a%3c This will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%3c %0a%3c You should see something like the following from the server's reply:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0a%3c ostname now%0a%3c :newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c In this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a%3c :newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c To check your vhost, type @@WHOIS newnick@@:%0a%3c %0a%3c [@%0a%3c WHOIS newnick%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c In this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c To join a channel:%0a%3c %0a%3c [@%0a%3c JOIN #ircnow%0a%3c @]%0a%3c %0a%3c To part a channel:%0a%3c %0a%3c [@%0a%3c PART #ircnow%0a%3c @]%0a%3c %0a%3c To send a message to a channel or user:%0a%3c %0a%3c [@%0a%3c PRIVMSG #ircnow :Hello, world!%0a%3c PRIVMSG Mom :Look ma, no client!%0a%3c @]%0a%3c %0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c PRIVMSG Nickserv :identify PASSWORD%0a%3c @]%0a%3c %0a%3c To quit, just type CTRL+C.%0a\ No newline at end of file%0a +host:1614941891=198.251.81.119 blob - /dev/null blob + 5d186b60be9368fbd837f21b9d7f578c154ffca9 (mode 644) --- /dev/null +++ wiki.d/Netcat.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1614941891 +host=38.87.162.47 +name=Netcat.RecentChanges +rev=12 +text=* [[Netcat/Http]] . . . November 03, 2021, at 02:30 PM by [[~jrmu]]: [==]%0a* [[Netcat/Smtp]] . . . August 22, 2021, at 06:58 PM by [[~mkf]]: [=byebye=]%0a* [[Netcat/SMTP]] . . . June 04, 2021, at 09:59 AM by [[~jrmu]]: [==]%0a* [[Netcat/Usage]] . . . June 04, 2021, at 09:47 AM by [[~jrmu]]: [==]%0a* [[Netcat/Irc]] . . . March 05, 2021, at 10:58 AM by [[~jrmu]]: [==]%0a +time=1635949819 blob - /dev/null blob + e65c8c627e18c9fff998039a770c702c48345175 (mode 644) --- /dev/null +++ wiki.d/Netcat.SMTP @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622800763 +host=38.81.163.143 +name=Netcat.SMTP +rev=1 +targets=Netcat.Usage +text=(:title Sending Mail with netcat:)%0a%0aHere's how to send a letter using [[netcat/usage|netcat]]:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3cfrom@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cto@example.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO example.com%0a250 example.com Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3cfrom@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cto@example.com>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a +time=1622800763 +title=Sending Mail with netcat +author:1622800763=jrmu +diff:1622800763:1622800763:=1,70d0%0a%3c (:title Sending Mail with netcat:)%0a%3c %0a%3c Here's how to send a letter using [[netcat/usage|netcat]]:%0a%3c %0a%3c [@%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3cfrom@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cto@example.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3cfrom@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cto@example.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a +host:1622800763=38.81.163.143 blob - /dev/null blob + 907da12b03d9468cae2424bf929e62e35bf6a711 (mode 644) --- /dev/null +++ wiki.d/Netcat.Smtp,del-1629658738 @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614941931 +host=198.251.81.119 +name=Netcat.Smtp +rev=3 +targets=Openbsd.Mailopenproxy +text=(:title Troubleshooting with netcat:)%0a%0anetcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%0a!! Debugging SMTP%0a%0aYou can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%0aHere's how to send a simple letter:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@] +time=1614941973 +title=Troubleshooting with netcat +author:1614941973=jrmu +diff:1614941973:1614941954:=76c76,79%0a%3c @]%0a\ No newline at end of file%0a---%0a> @]%0a> %0a> %0a> !! Debugging Web Servers%0a\ No newline at end of file%0a +host:1614941973=198.251.81.119 +author:1614941954=jrmu +diff:1614941954:1614941931:= +host:1614941954=198.251.81.119 +author:1614941931=jrmu +diff:1614941931:1614941931:=1,79d0%0a%3c (:title Troubleshooting with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%3c %0a%3c !! Debugging SMTP%0a%3c %0a%3c You can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%3c %0a%3c Here's how to send a simple letter:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c %0a%3c !! Debugging Web Servers%0a\ No newline at end of file%0a +host:1614941931=198.251.81.119 blob - /dev/null blob + e96a32bf5736be88d00b388cb594557962c48f0d (mode 644) --- /dev/null +++ wiki.d/Netcat.Usage @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622800064 +host=38.81.163.143 +name=Netcat.Usage +rev=1 +targets=Openbsd.Mailopenproxy +text=(:title Troubleshooting with netcat:)%0a%0anetcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%0a!! Debugging IRC%0a%0aTo test if you are able to establish an IRC connection, you can use netcat:%0a%0a[@%0a$ nc irc.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING: 12345%0aPONG: 12345%0a@]%0a%0a'''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%0aIf you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%0aYou can specifically use netcat to test if an IPv6 address is working:%0a%0a[@%0a$ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING :12345%0aPONG :12345%0a@]%0a%0aThis will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%0aYou should see something like the following from the server's reply:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0aostname now%0a:newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a@]%0a%0aIn this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a:newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a@]%0a%0aTo check your vhost, type @@WHOIS newnick@@:%0a%0a[@%0aWHOIS newnick%0a:irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aIn this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%0a[@%0a:irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aTo join a channel:%0a%0a[@%0aJOIN #ircnow%0a@]%0a%0aTo part a channel:%0a%0a[@%0aPART #ircnow%0a@]%0a%0aTo send a message to a channel or user:%0a%0a[@%0aPRIVMSG #ircnow :Hello, world!%0aPRIVMSG Mom :Look ma, no client!%0a@]%0a%0aTo identify with NickServ:%0a%0a[@%0aPRIVMSG Nickserv :identify PASSWORD%0a@]%0a%0aTo quit, just type CTRL+C.%0a%0a!! Debugging SMTP%0a%0aYou can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%0aHere's how to send a simple letter:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0a%0a!! Debugging Web Servers%0a +time=1622800064 +title=Troubleshooting with netcat +author:1622800064=jrmu +diff:1622800064:1622800064:=1,172d0%0a%3c (:title Troubleshooting with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%3c %0a%3c !! Debugging IRC%0a%3c %0a%3c To test if you are able to establish an IRC connection, you can use netcat:%0a%3c %0a%3c [@%0a%3c $ nc irc.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING: 12345%0a%3c PONG: 12345%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%3c %0a%3c If you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%3c %0a%3c You can specifically use netcat to test if an IPv6 address is working:%0a%3c %0a%3c [@%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c @]%0a%3c %0a%3c This will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%3c %0a%3c You should see something like the following from the server's reply:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0a%3c ostname now%0a%3c :newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c In this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a%3c :newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c To check your vhost, type @@WHOIS newnick@@:%0a%3c %0a%3c [@%0a%3c WHOIS newnick%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c In this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c To join a channel:%0a%3c %0a%3c [@%0a%3c JOIN #ircnow%0a%3c @]%0a%3c %0a%3c To part a channel:%0a%3c %0a%3c [@%0a%3c PART #ircnow%0a%3c @]%0a%3c %0a%3c To send a message to a channel or user:%0a%3c %0a%3c [@%0a%3c PRIVMSG #ircnow :Hello, world!%0a%3c PRIVMSG Mom :Look ma, no client!%0a%3c @]%0a%3c %0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c PRIVMSG Nickserv :identify PASSWORD%0a%3c @]%0a%3c %0a%3c To quit, just type CTRL+C.%0a%3c %0a%3c !! Debugging SMTP%0a%3c %0a%3c You can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%3c %0a%3c Here's how to send a simple letter:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c %0a%3c !! Debugging Web Servers%0a +host:1622800064=38.81.163.143 blob - /dev/null blob + 86d289f038e426fdd417e1c431e286d03438e8fc (mode 644) --- /dev/null +++ wiki.d/Netizen.Become @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614526293 +host=125.231.26.73 +name=Netizen.Become +rev=4 +targets=Third.Third,Ircnow.Goals,Freedom.Freedom,Ircnow.Howtoask,Freedom.Unix,Ircnow.Servers,Ircnow.Roadmap,Marketing.Marketing +text=(:title Become a IRCNow Netizen!:)%0a%0a[@%0aIt's a beacon for all who share our dream%0aOf a new day without domination%0aIt's the hope of the users now oppressed and%0aA symbol of their own emancipation%0a@]%0a%0aYou can apply to become an IRCNow netizen and enjoy netizenship rights!%0a%0a!! Your Reward%0a%0a# '''Free hosting for [[third/third|open source apps']]''%0a# '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a# Hang out with friends while [[ircnow/goals|improving IRC]]%0a# Learn some programming%0a# Add a new work experience for your CV/resume%0a# Help [[freedom|improve freedom]] on the internet %0a%0a!! How to Apply%0a%0a# Learn [[ircnow/howtoask|how to ask smart questions]].%0a# Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a# Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a# Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%0a!! Your Duties%0a%0a# You must commit a minimum of 5 hours per week to help your team%0a# Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a# Optionally, you can help with [[third/third|third party software]]%0a# Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%0a!! Your Training%0a%0a# Become familiar with [[freedom/freedom|our network policies]]%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]] +time=1626256035 +title=Become a IRCNow Netizen! +author:1626256035=jrmu +diff:1626256035:1626255896:=6c6%0a%3c It's the hope of the users now oppressed and%0a---%0a> It's the hope of the peoples now oppressed and%0a +host:1626256035=125.231.26.73 +author:1626255896=jrmu +diff:1626255896:1626255845:=5c5%0a%3c Of a new day without domination%0a---%0a> of a new day without domination%0a7c7%0a%3c A symbol of their own emancipation%0a---%0a> a symbol of their own emancipation%0a +host:1626255896=125.231.26.73 +author:1626255845=jrmu +diff:1626255845:1614526293:=2,8d1%0a%3c %0a%3c [@%0a%3c It's a beacon for all who share our dream%0a%3c of a new day without domination%0a%3c It's the hope of the peoples now oppressed and%0a%3c a symbol of their own emancipation%0a%3c @]%0a +host:1626255845=125.231.26.73 +author:1614526293=jrmu +diff:1614526293:1614526293:=1,32d0%0a%3c (:title Become a IRCNow Netizen!:)%0a%3c %0a%3c You can apply to become an IRCNow netizen and enjoy netizenship rights!%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free hosting for [[third/third|open source apps']]''%0a%3c # '''Set up your own servers''' for gaming, radio stations, blogs, wikis, bots, and much more%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Learn some programming%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]], our [[freedom/freedom|commitment to user freedom]], and the [[freedom/unix|UNIX philosophy]].%0a%3c # Connect to [[ircnow/servers|one of our servers]] using IRC and /join #team%0a%3c # Chat with our sysadmins. If they are interested in your project, they will mentor you and invite you to work with their team.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit a minimum of 5 hours per week to help your team%0a%3c # Help with the [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # Optionally, you can help with [[third/third|third party software]]%0a%3c # Help our other users with technical support, [[marketing/marketing|marketing]], documentation, and other non-coding tasks%0a%3c %0a%3c !! Your Training%0a%3c %0a%3c # Become familiar with [[freedom/freedom|our network policies]]%0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a\ No newline at end of file%0a +host:1614526293=198.251.81.119 blob - /dev/null blob + 28ccf059982b495f0d58a2d2ff3cfae746651fc1 (mode 644) --- /dev/null +++ wiki.d/Netizen.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1614526293 +host=125.231.26.73 +name=Netizen.RecentChanges +rev=10 +text=* [[Netizen/Become]] . . . July 14, 2021, at 09:47 AM by [[~jrmu]]: [==]%0a* [[Netizen/Rights]] . . . June 10, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a +time=1626256035 blob - /dev/null blob + 9a27469d2eb1de02d0afc5bc5cddcacdea2aa6d3 (mode 644) --- /dev/null +++ wiki.d/Netizen.Rights @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614763127 +host=125.231.25.80 +name=Netizen.Rights +rev=6 +targets=Ircnow.Constitution +text=(:title Netizen Rights and Responsibilities:)%0a%0aNetizens get full protection under the IRCNow constitution, including the Digital Bill of Rights.%0a%0a# The right to use network services%0a# The right to a prompt, fair trial by jury%0a# The right to vote for admins%0a# The right to run for staff%0a# Freedom of the press%0a# Freedom of worship%0a%0aNetizen responsibilities%0a%0a# Support and defend the [[ircnow/constitution|IRCNow Constitution]]%0a# Participate in the network%0a# Respect and obey network policies%0a# Pay membership fees and other transaction fees honestly%0a# Serve on a jury when called upon.%0a%0aNetizenship connects all our users on IRCNow. We are a network bound by the shared values of freedom, liberty, and equality. +time=1623338519 +title=Netizen Rights and Responsibilities +author:1623338519=jrmu +diff:1623338519:1614772353:=7,8c7,8%0a%3c # The right to vote for admins%0a%3c # The right to run for staff%0a---%0a> # The right to vote in elections for admins%0a> # The right to run for elected office%0a14,15c14,15%0a%3c # Support and defend the [[ircnow/constitution|IRCNow Constitution]]%0a%3c # Participate in the network%0a---%0a> # Support and defend the Constitution%0a> # Participate in the republic%0a18a19%0a> # Contribute to the network%0a +host:1623338519=125.231.25.80 +author:1614772353=jrmu +diff:1614772353:1614772341:=1c1%0a%3c (:title Netizen Rights and Responsibilities:)%0a---%0a> (:title Netizen Rights:)%0a +host:1614772353=198.251.81.119 +author:1614772341=jrmu +diff:1614772341:1614763464:=1,2d0%0a%3c (:title Netizen Rights:)%0a%3c %0a +host:1614772341=198.251.81.119 +author:1614763464=jrmu +diff:1614763464:1614763452:=3a4,5%0a> # Freedom of the press%0a> # Freedom of worship%0a7,8d8%0a%3c # Freedom of the press%0a%3c # Freedom of worship%0a +host:1614763464=198.251.81.119 +author:1614763452=jrmu +diff:1614763452:1614763127:=3d2%0a%3c # The right to use network services%0a +host:1614763452=198.251.81.119 +author:1614763127=jrmu +diff:1614763127:1614763127:=1,18d0%0a%3c Netizens get full protection under the IRCNow constitution, including the Digital Bill of Rights.%0a%3c %0a%3c # Freedom of the press%0a%3c # Freedom of worship%0a%3c # The right to a prompt, fair trial by jury%0a%3c # The right to vote in elections for admins%0a%3c # The right to run for elected office%0a%3c %0a%3c Netizen responsibilities%0a%3c %0a%3c # Support and defend the Constitution%0a%3c # Participate in the republic%0a%3c # Respect and obey network policies%0a%3c # Pay membership fees and other transaction fees honestly%0a%3c # Serve on a jury when called upon.%0a%3c # Contribute to the network%0a%3c %0a%3c Netizenship connects all our users on IRCNow. We are a network bound by the shared values of freedom, liberty, and equality.%0a\ No newline at end of file%0a +host:1614763127=198.251.81.119 blob - /dev/null blob + db2bc39b950c34498b97e2a9835b0eabc1266e9a (mode 644) --- /dev/null +++ wiki.d/NewsNow.Browser @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1615535771 +host=145.132.146.30 +name=NewsNow.Browser +rev=5 +targets=NewsNow.AppName,NewsNow.ExtensionName +text=!! Browser apps%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! App Name ||! Website ||%0a|| [[NewsNow.AppName|Example App]] || [[]] ||%0a%0a%0a!! Browser Extensions%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Extension Name ||! Chrome download ||! Firefox download ||! Opera download ||%0a|| [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Chrome link]] || [[https://addons.mozilla.org/en-US/firefox/extensions/|Firefox link]] || [[https://addons.opera.com/en-gb/extensions/|Opera link]] || +time=1615536014 +author:1615536014=miniontoby +diff:1615536014:1615535969:=12c12%0a%3c || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Chrome link]] || [[https://addons.mozilla.org/en-US/firefox/extensions/|Firefox link]] || [[https://addons.opera.com/en-gb/extensions/|Opera link]] ||%0a\ No newline at end of file%0a---%0a> || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Chrome link]] || [[https://addons.mozilla.org/en-US/firefox/addon/|Firefox link]] || [[https://addons.opera.com/en-gb/extensions/|Opera link]] ||%0a\ No newline at end of file%0a +host:1615536014=145.132.146.30 +author:1615535969=miniontoby +diff:1615535969:1615535824:=12c12%0a%3c || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Chrome link]] || [[https://addons.mozilla.org/en-US/firefox/addon/|Firefox link]] || [[https://addons.opera.com/en-gb/extensions/|Opera link]] ||%0a\ No newline at end of file%0a---%0a> || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Webstore]] || [[]] || [[]] ||%0a\ No newline at end of file%0a +host:1615535969=145.132.146.30 +author:1615535824=miniontoby +diff:1615535824:1615535802:=4c4%0a%3c ||! App Name ||! Website ||%0a---%0a> ||! App Name || Website ||%0a12c12%0a%3c || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher|Webstore]] || [[]] || [[]] ||%0a\ No newline at end of file%0a---%0a> || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher]] || [[]] || [[]] ||%0a\ No newline at end of file%0a +host:1615535824=145.132.146.30 +author:1615535802=miniontoby +diff:1615535802:1615535771:=4,7c4,7%0a%3c ||! App Name || Website ||%0a%3c || [[NewsNow.AppName|Example App]] || [[]] ||%0a%3c %0a%3c %0a---%0a> ||! App Name ||%0a> || [[NewsNow.AppName|Example App]] ||%0a> %0a> %0a12c12%0a%3c || [[NewsNow.ExtensionName|Example Extension]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher]] || [[]] || [[]] ||%0a\ No newline at end of file%0a---%0a> || [[NewsNow.AppName|Example App]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher]] || [[]] || [[]] ||%0a\ No newline at end of file%0a +host:1615535802=145.132.146.30 +author:1615535771=miniontoby +csum:1615535771=created +diff:1615535771:1615535771:=1,12d0%0a%3c !! Browser apps%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! App Name ||%0a%3c || [[NewsNow.AppName|Example App]] ||%0a%3c %0a%3c %0a%3c !! Browser Extensions%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Extension Name ||! Chrome download ||! Firefox download ||! Opera download ||%0a%3c || [[NewsNow.AppName|Example App]] || [[https://chrome.google.com/webstore?hl=nl&utm_source=chrome-ntp-launcher]] || [[]] || [[]] ||%0a\ No newline at end of file%0a +host:1615535771=145.132.146.30 blob - /dev/null blob + f10012fe4774748f83aea1cf26fc03a5fc55f4a5 (mode 644) --- /dev/null +++ wiki.d/NewsNow.Install @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum="$" +ctime=1615535539 +host=198.251.81.133 +name=NewsNow.Install +rev=5 +targets= +text=!! How to download it?%0a%0a!!! Short command%0a%0aRun the following command: [@%0a$ curl -s https://news.grape.ircnow.org/install.sh | doas ksh%0a@]%0a%0a!!! Long command:%0a%0aAs an admin you can install this on your vps:%0a[@%0a$ wget https://news.grape.ircnow.org/newsnow.zip%0a$ unzip newsnow.zip%0a$ cd NewsNow%0a$ doas make %0a@]%0a%0a%0a!! How to update it?%0a%0a!!! Short command%0a%0aRun the following command: [@%0a$ curl -s https://news.grape.ircnow.org/update.sh | doas ksh%0a@]%0a%0a!!! Long command%0a%0aAs an admin you can install this on your vps:%0a%0aOnly needed if the %0a[@%0a$ newsnow_update_checker%0a@]%0a%0asays to update, then do the following:%0a[@%0a$ wget https://news.grape.ircnow.org/newsnow.zip%0a$ unzip newsnow.zip%0a$ cd NewsNow%0a$ doas make -i%0a@]%0a%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%0a%0a +time=1621147779 +author:1621147779=mkf +csum:1621147779="$" +diff:1621147779:1616596976:minor=6c6%0a%3c $ curl -s https://news.grape.ircnow.org/install.sh | doas ksh%0a---%0a> curl -s https://news.grape.ircnow.org/install.sh | doas ksh%0a25c25%0a%3c $ curl -s https://news.grape.ircnow.org/update.sh | doas ksh%0a---%0a> curl -s https://news.grape.ircnow.org/update.sh | doas ksh%0a +host:1621147779=198.251.81.133 +author:1616596976=miniontoby +diff:1616596976:1616596813:=21,28d20%0a%3c %0a%3c !!! Short command%0a%3c %0a%3c Run the following command: [@%0a%3c curl -s https://news.grape.ircnow.org/update.sh | doas ksh%0a%3c @]%0a%3c %0a%3c !!! Long command%0a +host:1616596976=145.132.146.30 +author:1616596813=miniontoby +diff:1616596813:1615811411:=2,9d1%0a%3c %0a%3c !!! Short command%0a%3c %0a%3c Run the following command: [@%0a%3c curl -s https://news.grape.ircnow.org/install.sh | doas ksh%0a%3c @]%0a%3c %0a%3c !!! Long command:%0a +host:1616596813=145.132.146.30 +author:1615811411=miniontoby +csum:1615811411=copyright +diff:1615811411:1615535539:=28,34d27%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%3c %0a%3c %0a +host:1615811411=141.138.217.186 +author:1615535539=miniontoby +csum:1615535539=created +diff:1615535539:1615535539:=1,27d0%0a%3c !! How to download it?%0a%3c %0a%3c As an admin you can install this on your vps:%0a%3c [@%0a%3c $ wget https://news.grape.ircnow.org/newsnow.zip%0a%3c $ unzip newsnow.zip%0a%3c $ cd NewsNow%0a%3c $ doas make %0a%3c @]%0a%3c %0a%3c %0a%3c !! How to update it?%0a%3c %0a%3c As an admin you can install this on your vps:%0a%3c %0a%3c Only needed if the %0a%3c [@%0a%3c $ newsnow_update_checker%0a%3c @]%0a%3c %0a%3c says to update, then do the following:%0a%3c [@%0a%3c $ wget https://news.grape.ircnow.org/newsnow.zip%0a%3c $ unzip newsnow.zip%0a%3c $ cd NewsNow%0a%3c $ doas make -i%0a%3c @]%0a +host:1615535539=145.132.146.30 blob - /dev/null blob + 3e325d80aba51f56e3f47f7d7c8112585e48c6e4 (mode 644) --- /dev/null +++ wiki.d/NewsNow.NewsNow @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=more ways +ctime=1615363323 +host=145.132.146.30 +name=NewsNow.NewsNow +rev=7 +targets=NewsNow.Teams,NewsNow.Install,NewsNow.Browser +text=!! NewsNow News Panel%0a%0a%0a!!! What's this??%0a%0aThis is going to be an news reader feed, where every team on the ircnow team can put their own news things on.%0a%0aIt can be checked on multiply locations:%0a%0a* Shell, using the interface%0a* IRC, using eggdrop bot%0a* Browser, using RSS Feed Reader extension%0a%0a%0a!!! How can I help??%0a%0aIf you want to help us with the News Panel, you need to go to our IRC and join channel #newsnow %0a%0aYou can introduce yourself that you want to help and where you are good in. (plz check the languages we are using in the topic below)%0a%0aWe will give you tasks in the code language you are good in%0a%0a%0a!! How does it work??%0a%0aWe are using multiply things to get this to work:%0a%0a* Ksh, for the shell read interface%0a* RSS XML, for the feed data%0a* Perl, for the reading out the data and use at the shell%0a%0a!!! I am in an team and I want an page for my news, What do I need to do??%0a%0aIf you are an team member, firstly discuss with your team and mostly your leader.%0a%0aIf it is wanted go to the [[NewsNow/Teams | Team signup]] page and add your team name%0a%0a%0a!! Install:%0a%0aFollow the [[NewsNow.Install|Install guide]]%0a%0a!! How to use it?%0a%0a!!! Shell%0a%0aExecute the command:%0a[@%0a$ newsnow%0a@]%0a%0a%0a!!! Web%0a%0aGo to [[https://news.grape.ircnow.org/page/100]] and see it on the web%0a%0a!!! Feed reader%0a%0aInstall an feed reader. [[NewsNow/Browser|Here]] we have documentated some.%0a%0a!!! From IRC%0a%0aGo to #newsnow on the IRCNow network and use !newsnow %3cpage>%0a%0a%0a!! Add colors:%0a%0aMake an file in your home directory called '.news_colors_on':%0a[@%0a$ touch ~/.news_colors_on%0a@]%0a%0aTo remove to colors, simply remove that file:%0a[@%0a$ rm ~/.news_colors_on%0a@]%0a%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%0a +time=1615998780 +author:1615998780=miniontoby +csum:1615998780=more ways +diff:1615998780:1615535585:=43,46c43,44%0a%3c !! How to use it?%0a%3c %0a%3c !!! Shell%0a%3c %0a---%0a> !! How to use?%0a> %0a51,63d48%0a%3c %0a%3c %0a%3c !!! Web%0a%3c %0a%3c Go to [[https://news.grape.ircnow.org/page/100]] and see it on the web%0a%3c %0a%3c !!! Feed reader%0a%3c %0a%3c Install an feed reader. [[NewsNow/Browser|Here]] we have documentated some.%0a%3c %0a%3c !!! From IRC%0a%3c %0a%3c Go to #newsnow on the IRCNow network and use !newsnow %3cpage>%0a +host:1615998780=145.132.146.30 +author:1615535585=miniontoby +diff:1615535585:1615535519:=38,41d37%0a%3c %0a%3c !! Install:%0a%3c %0a%3c Follow the [[NewsNow.Install|Install guide]]%0a +host:1615535585=145.132.146.30 +author:1615535519=miniontoby +diff:1615535519:1615400816:=36a37,65%0a> %0a> %0a> !! How to download it?%0a> %0a> As an admin you can install this on your vps:%0a> [@%0a> $ wget https://news.grape.ircnow.org/newsnow.zip%0a> $ unzip newsnow.zip%0a> $ cd NewsNow%0a> $ doas make %0a> @]%0a> %0a> %0a> !! How to update it?%0a> %0a> As an admin you can install this on your vps:%0a> %0a> Only needed if the %0a> [@%0a> $ newsnow_update_checker%0a> @]%0a> %0a> says to update, then do the following:%0a> [@%0a> $ wget https://news.grape.ircnow.org/newsnow.zip%0a> $ unzip newsnow.zip%0a> $ cd NewsNow%0a> $ doas make -i%0a> @]%0a +host:1615535519=145.132.146.30 +author:1615400816=miniontoby +diff:1615400816:1615374909:=53,59d52%0a%3c %0a%3c Only needed if the %0a%3c [@%0a%3c $ newsnow_update_checker%0a%3c @]%0a%3c %0a%3c says to update, then do the following:%0a +host:1615400816=145.132.146.30 +author:1615374909=miniontoby +diff:1615374909:1615374823:=41c41%0a%3c As an admin you can install this on your vps:%0a---%0a> - As an admin you can install this on your vps:%0a52c52%0a%3c As an admin you can install this on your vps:%0a---%0a> - As an admin you can install this on your vps:%0a63c63%0a%3c Execute the command:%0a---%0a> - Execute the command:%0a65c65%0a%3c $ newsnow%0a---%0a> $ opennews%0a71c71%0a%3c Make an file in your home directory called '.news_colors_on':%0a---%0a> - Make an file in your home directory called '.news_colors_on':%0a76c76%0a%3c To remove to colors, simply remove that file:%0a---%0a> - To remove to colors, simply remove that file:%0a +host:1615374909=145.132.146.30 +author:1615374823=miniontoby +csum:1615374823=usage +diff:1615374823:1615363323:=0a1%0a> %0a37,80d37%0a%3c %0a%3c %0a%3c !! How to download it?%0a%3c %0a%3c - As an admin you can install this on your vps:%0a%3c [@%0a%3c $ wget https://news.grape.ircnow.org/newsnow.zip%0a%3c $ unzip newsnow.zip%0a%3c $ cd NewsNow%0a%3c $ doas make %0a%3c @]%0a%3c %0a%3c %0a%3c !! How to update it?%0a%3c %0a%3c - As an admin you can install this on your vps:%0a%3c [@%0a%3c $ wget https://news.grape.ircnow.org/newsnow.zip%0a%3c $ unzip newsnow.zip%0a%3c $ cd NewsNow%0a%3c $ doas make -i%0a%3c @]%0a%3c %0a%3c %0a%3c !! How to use?%0a%3c %0a%3c - Execute the command:%0a%3c [@%0a%3c $ opennews%0a%3c @]%0a%3c %0a%3c %0a%3c !! Add colors:%0a%3c %0a%3c - Make an file in your home directory called '.news_colors_on':%0a%3c [@%0a%3c $ touch ~/.news_colors_on%0a%3c @]%0a%3c %0a%3c - To remove to colors, simply remove that file:%0a%3c [@%0a%3c $ rm ~/.news_colors_on%0a%3c @]%0a%3c %0a +host:1615374823=145.132.146.30 +author:1615363323=miniontoby +csum:1615363323=Created +diff:1615363323:1615363323:=1,42d0%0a%3c %0a%3c !! NewsNow News Panel%0a%3c %0a%3c %0a%3c !!! What's this??%0a%3c %0a%3c This is going to be an news reader feed, where every team on the ircnow team can put their own news things on.%0a%3c %0a%3c It can be checked on multiply locations:%0a%3c %0a%3c * Shell, using the interface%0a%3c * IRC, using eggdrop bot%0a%3c * Browser, using RSS Feed Reader extension%0a%3c %0a%3c %0a%3c !!! How can I help??%0a%3c %0a%3c If you want to help us with the News Panel, you need to go to our IRC and join channel #newsnow %0a%3c %0a%3c You can introduce yourself that you want to help and where you are good in. (plz check the languages we are using in the topic below)%0a%3c %0a%3c We will give you tasks in the code language you are good in%0a%3c %0a%3c %0a%3c !! How does it work??%0a%3c %0a%3c We are using multiply things to get this to work:%0a%3c %0a%3c * Ksh, for the shell read interface%0a%3c * RSS XML, for the feed data%0a%3c * Perl, for the reading out the data and use at the shell%0a%3c %0a%3c !!! I am in an team and I want an page for my news, What do I need to do??%0a%3c %0a%3c If you are an team member, firstly discuss with your team and mostly your leader.%0a%3c %0a%3c If it is wanted go to the [[NewsNow/Teams | Team signup]] page and add your team name%0a%3c %0a%3c ----%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%3c %0a +host:1615363323=145.132.146.30 blob - /dev/null blob + 97267984686a85dd086e56eeb3d7f2cdbf14cbee (mode 644) --- /dev/null +++ wiki.d/NewsNow.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1615363323 +host=198.251.81.133 +name=NewsNow.RecentChanges +rev=21 +text=* [[NewsNow/Install]] . . . May 16, 2021, at 06:49 AM by [[~mkf]]: [="$"=]%0a* [[NewsNow/Teams]] . . . March 18, 2021, at 09:47 AM by [[~miniontoby]]: [=banana=]%0a* [[NewsNow/NewsNow]] . . . March 17, 2021, at 04:33 PM by [[~miniontoby]]: [=more ways=]%0a* [[NewsNow/Browser]] . . . March 12, 2021, at 08:00 AM by [[~miniontoby]]: [==]%0a +time=1621147779 blob - /dev/null blob + b2797f083c615a19d3679a275aec094a1b811035 (mode 644) --- /dev/null +++ wiki.d/NewsNow.Teams @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=banana +ctime=1615363485 +host=145.132.146.30 +name=NewsNow.Teams +rev=4 +targets= +text=Sign up your team for an page in the news panel:%0a%0aEdit this page and add your server as descripted%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Team Name ||! Leader ||! Wanted Menu page (between 101-109) ||! Page name ||%0a|| Example || Tester || 100 || Main page ||%0a|| Banana || Miniontoby || 101 || IRCForever ||%0a%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%0a +time=1616060867 +author:1616060867=miniontoby +csum:1616060867=banana +diff:1616060867:1615811395:=6,8c6,7%0a%3c ||! Team Name ||! Leader ||! Wanted Menu page (between 101-109) ||! Page name ||%0a%3c || Example || Tester || 100 || Main page ||%0a%3c || Banana || Miniontoby || 101 || IRCForever ||%0a---%0a> ||! Name ||! Leader ||! Wanted Menu page (between 101-109) ||! Page name ||%0a> || Example Team || Tester || 100 || Main page ||%0a +host:1616060867=145.132.146.30 +author:1615811395=miniontoby +csum:1615811395=copyright +diff:1615811395:1615363507:=7,13c7%0a%3c || Example Team || Tester || 100 || Main page ||%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org> %0a%3c %0a---%0a> || Example Team || Tester || 100 || Main page ||%0a\ No newline at end of file%0a +host:1615811395=141.138.217.186 +author:1615363507=miniontoby +diff:1615363507:1615363485:=6c6%0a%3c ||! Name ||! Leader ||! Wanted Menu page (between 101-109) ||! Page name ||%0a---%0a> ||! Name ||! Leader ||! Wanted Menu page (between 101-109) || Page name ||%0a +host:1615363507=145.132.146.30 +author:1615363485=miniontoby +csum:1615363485=createed +diff:1615363485:1615363485:=1,7d0%0a%3c Sign up your team for an page in the news panel:%0a%3c %0a%3c Edit this page and add your server as descripted%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Name ||! Leader ||! Wanted Menu page (between 101-109) || Page name ||%0a%3c || Example Team || Tester || 100 || Main page ||%0a\ No newline at end of file%0a +host:1615363485=145.132.146.30 blob - /dev/null blob + 3d1068e6165e51a4bc1bc5d867997c2a686f6dd7 (mode 644) --- /dev/null +++ wiki.d/Ngircd.Install @@ -0,0 +1,286 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1612974683 +host=38.87.162.47 +name=Ngircd.Install +rev=91 +targets=IRC.Guide,Chroot.Intro,Netcat.Irc,Hopm.Install,Ngircd.Ssl,Password.Management,Ngircd.Link,Openbsd.Rcctl,Anope.Install,Achurch.Install,Acopm.Install +text=(:title Ngircd Install Guide:)%0a%0aIn this guide, we'll setup [[https://ngircd.barton.de/documentation.php.en|ngircd]], a free, portable, lightweight IRC server.%0a%0a!!Overview%0a%0angircd is an [[IRC/Guide|IRC]] server. It helps IRC clients send messages to one another.%0a%0aAdvantages:%0a%0a# The source code is written in modern, portable C.%0a# The code compiles easily on all BSDs, Linux, and other platforms.%0a# The code is easy to fork to add new features such as spam filters%0a# The server has a very simple, easy-to-understand configuration%0a# Documentation is short and easy to understand%0a# The server is a clean implementation which was written from scratch%0a# The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%0a!!Docs and references%0a%0a# [[https://ngircd.barton.de/documentation.php.en|Official ngIRCd documentation]] %0a%0a!!Installation%0a%0a!!! Installing from OpenBSD packages%0a%0a[@$ doas pkg_add ngircd @]%0a%0aCopy the sample configuration file:%0a%0a[@$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a@]%0a%0angIRCd v26.1 provided by OpenBSD 6.9 ports does not have ident support. On a production server, ident support is essential, so we will need to compile from source (described below). You will want to do this after installing from packages, so that rc.d scripts are created automatically.%0a%0a!!! Installing from source%0a%0a%0a'''Note''': Before building from source, make sure you have ngircd package installed using the instructions from above.%0a%0aPull the codebase from IRCNow's file servers, extract the code, and install it%0a%0a[@ %0a$ ftp https://ircnow.org/software/ngircd.tgz%0a$ tar xvzf ngircd.tgz%0a$ cd ngircd-26.1/%0a$ sh build.sh %0a@]%0a%0a!! Configuring ngircd%0a%0aEdit [@ /etc/ngircd/ngircd.conf @]:%0a%0a'''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.%0a%0aTypically, ";" precedes a line of code that has been commented, while a "#" precedes an actual note that should not be uncommented.%0a%0a!!! Global Block%0a%0a[@%0a[Global]%0a Name = irc.example.com%0a AdminInfo1 = Example Network%0a AdminInfo2 = Planet Earth%0a AdminEMail = admin@example.com%0a Info = irc.example.com%0a@]%0a%0a*Name: Use your server's domain name.%0a*Info: Use your server's domain name.%0a%0a[@%0a Listen = 127.0.0.1,::1,192.168.1.1,2001:db8::%0a@]%0a%0aUncomment this line and provide every single IP address you want ngircd to listen on. This includes localhost (127.0.0.1 and ::1), and our public IPv4 and IPv6 addresses. Keep 127.0.0.1 and ::1 untouched, but replace 192.168.1.1 and 2001:db8:: with your real public IPs. If you are hosting a public service, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%0a'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%0a[@%0a MotdFile = /etc/ngircd/ngircd.motd%0a Network = ExampleNet%0a@]%0a%0aMotdfile stands for "Message of the Day"; we will create this file later on.%0aNetwork: Your network name.%0a%0a[@%0a Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a ServerGID = _ngircd%0a ServerUID = _ngircd%0a@]%0a%0aIt's recommended to provide ports besides the standard 6667 to allow users to bypass network firewalls. %0a%0a'''NOTE''': Make sure to set the ServerUID and ServerGID to _ngircd. Otherwise, it runs as the user nobody by default.%0a%0a!!! Limits Block%0a%0a[@%0a[Limits]%0a MaxConnectionsIP = 0%0a MaxJoins = 300%0a MaxNickLength = 16%0a MaxListSize = 1000%0a PingTimeout = 300%0a PongTimeout = 300%0a@]%0a%0aMaxNickLength: '''must''' be identical to all servers on the network. On IRCNow, MaxNickLength is [@16@].%0a%0a!!! Options Block%0a%0a[@%0a[Options]%0a AllowRemoteOper = yes%0a ChrootDir = /var/ngircd%0a CloakHost = %25x%0a CloakHostModeX = %25x%0a CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a DefaultUserModes = ix%0a NoticeBeforeRegistration = yes%0a OperChanPAutoOp = no %0a RequireAuthPing = yes%0a SyslogFacility = daemon%0a@]%0a%0aWe will turn on AllowRemoteOpers so that GLINEs function properly.%0a%0aWe want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a%0aWe will cloak the host using a unique salt; contact another sysadmin for the exact salt. If not linking to a network, you can leave it commented for a random salt each time it runs or you can provide your own random salt.%0a%0aUser mode +i keeps the user invisible so that /whois does not show all channels a user has joined. This helps reduce stalking and harassment. User mode +x cloaks the user by default.%0a%0aReceiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. It is necessary for [[hopm/install|hopm]]. We're going to log using syslog (see below).%0a%0a!!! SSL block%0a%0a[@ %0a;[SSL]%0a@]%0a%0aThis entire block should be commented. When you are ready to set up [[ngircd/ssl|SSL/TLS encryption]], un-comment the entire block.%0a%0a'''WARNING''': Do not send passwords or sensitive data over this server until SSL is set up.%0a%0a!!! Operator Block%0a%0aYou may have as many Operator Blocks as you like, one for each Operator.%0a%0a[@%0a[Operator]%0a Name = username%0a Password = password%0a@]%0a%0aPlease use a [[password/management|long, random string]] for your password.%0a%0aIf you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%0aFor more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%0a!!! Server Block%0a[@%0a[Server]%0a@]%0a%0aThe server block is used to connect to other servers to form a network. You can have multiple server blocks. See: [[ngircd/link|Link your ngircd]] %0a%0a%0aYou are finished editing ngircd.conf%0a%0a!!MOTD file%0a%0aCreate the Message of the Day in /etc/ngircd/ngircd.motd. Here is a suggested template:%0a%0a[@%0aIRCNow - The Users' Network%0a%0aIRCNow is the network of the user, by the user, for the user.%0a%0a * No porn / illegal drugs / threats of violence%0a * No slander / libel / gambling%0a * No spam, illegal cracking, or DDoS%0a * No copyright infrigement%0a%0aYou must agree to our terms of service and our privacy policy %0ato use this network:%0a%0ahttps://wiki.ircnow.org/index.php?n=Terms.Terms%0a%0aOnly 5 connections per IP address. If you need help, please speak with staff on #help.%0a@]%0a%0a!! Configuring syslog%0a%0aAll log messages from ngircd should go to [@ /var/log/ngircd.log @]. Insert these three lines starting at line 3 (at the top) in [@/etc/syslog.conf@]:%0a%0a[@%0a!!ngircd%0a*.* /var/log/ngircd.log%0a!*%0a@]%0a%0aThis directs all logs from ngircd to go straight to /var/log/ngircd.log.%0a%0aNext, create the file /var/log/ngircd.log and restart syslogd:%0a%0a[@%0a$ doas touch /var/log/ngircd.log%0a$ doas rcctl restart syslogd%0a@]%0a%0a!! Chroot%0a%0aWe need to set up the [[chroot/intro|chroot]] for ngircd. Let's copy the files into the chroot:%0a%0a[@%0a$ doas mkdir /var/ngircd/etc/%0a$ doas cp /etc/resolv.conf /var/ngircd/etc/%0a$ doas cp -R /etc/ngircd /var/ngircd/etc/%0a$ doas chown -R _ngircd:_ngircd /var/ngircd/%0a$ doas rm -r /etc/ngircd%0a$ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a$ doas mkdir -p /var/ngircd/usr/local/share/doc/%0a$ doas cp -R /usr/local/share/doc/ngircd/ /var/ngircd/usr/local/share/doc/%0a$ doas chown -R _ngircd:_ngircd /var/ngircd/usr/local/share/doc/ngircd/%0a@]%0a%0aThis will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%0a!! Starting ngircd%0a%0aTo start ngircd via [[openbsd/rcctl|rcctl]]:%0a%0a[@%0adoas rcctl enable ngircd%0adoas rcctl start ngircd%0a@]%0a%0aNext, use your IRC client to connect to the server. Join a few channels and chat inside.%0a%0a!! Troubleshooting%0a%0aIf you run into any errors, you can test to see if your configuration file has errors:%0a%0a[@%0a$ doas ngircd -t%0a@]%0a%0aTo run ngircd in debug mode:%0a%0a[@%0a$ doas ngircd -n%0a@]%0a%0aCheck [@ /var/log/ngircd.log @] to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%0aRemember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. '''Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].'''%0a%0a!! Reloading and Restarting ngIRCd%0a%0aAfter you edit [@ /etc/ngircd/ngircd.conf @] for a running ngircd server, you will need to reload the configuration file:%0a%0a[@%0a$ doas rcctl reload ngircd%0a@]%0a%0aAlternatively, you can run:%0a%0a[@%0a$ doas pkill -HUP ngircd%0a@]%0a%0a'''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible '''instead of restarting the service'''.%0a%0aTo restart the ircd:%0a%0a[@%0a$ doas rcctl restart ngircd%0a@]%0a%0a'''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%0a'''WARNING''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%0a!! See Also%0a%0a# Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a# [[ngircd/link|Link your ngircd]] with another server to create a network%0a# Install [[anope/install|anope]] to provide services%0a# Install [[achurch/install|achurch]] to test achurch services%0a# Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a# Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a +time=1638884657 +title=Ngircd Install Guide +author:1638884657=jrmu +diff:1638884657:1638845897:=118d117%0a%3c CloakHost = %25x%0a +host:1638884657=38.87.162.47 +author:1638845897=jrmu +diff:1638845897:1638840723:=117a118%0a> CloakHost = %25x%0a +host:1638845897=38.87.162.8 +author:1638840723=jrmu +diff:1638840723:1637366855:=73c73%0a%3c Listen = 127.0.0.1,::1,192.168.1.1,2001:db8::%0a---%0a> Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a76c76%0a%3c Uncomment this line and provide every single IP address you want ngircd to listen on. This includes localhost (127.0.0.1 and ::1), and our public IPv4 and IPv6 addresses. Keep 127.0.0.1 and ::1 untouched, but replace 192.168.1.1 and 2001:db8:: with your real public IPs. If you are hosting a public service, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a---%0a> Uncomment this line and provide every single IP address you want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Keep 127.0.0.1 but replace 192.168.1.1 and 2001:db8:: with your real public IPs. If you are hosting a public service, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a +host:1638840723=38.87.162.8 +author:1637366855=bugzbunny +diff:1637366855:1636462605:=37,39d36%0a%3c %0a%3c %0a%3c '''Note''': Before building from source, make sure you have ngircd package installed using the instructions from above.%0a +host:1637366855=72.78.238.236 +author:1636462605=jrmu +diff:1636462605:1635167345:=116d115%0a%3c CloakHostModeX = %25x%0a118c117%0a%3c DefaultUserModes = ix%0a---%0a> DefaultUserModes = i%0a131c130%0a%3c User mode +i keeps the user invisible so that /whois does not show all channels a user has joined. This helps reduce stalking and harassment. User mode +x cloaks the user by default.%0a---%0a> User mode +i keeps the user invisible so that /whois does not show all channels a user has joined. This helps reduce stalking and harassment. %0a +host:1636462605=38.87.162.8 +author:1635167345=jrmu +diff:1635167345:1633228664:=113c113%0a%3c AllowRemoteOper = yes%0a---%0a> AllowRemoteOper = no%0a124,125c124,125%0a%3c We will turn on AllowRemoteOpers so that GLINEs function properly.%0a%3c %0a---%0a> For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you might not trust an oper on another server.%0a> %0a +host:1635167345=38.87.162.8 +author:1633228664=jrmu +diff:1633228664:1631975364:=116c116%0a%3c CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a---%0a> CloakHostSalt = %3cabcdefghijklmnopqrstuvwxyz>%0a +host:1633228664=125.231.16.47 +author:1631975364=jrmu +diff:1631975364:1631964903:=222,224d221%0a%3c $ doas mkdir -p /var/ngircd/usr/local/share/doc/%0a%3c $ doas cp -R /usr/local/share/doc/ngircd/ /var/ngircd/usr/local/share/doc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/usr/local/share/doc/ngircd/%0a +host:1631975364=38.87.162.8 +author:1631964903=jrmu +diff:1631964903:1631956282:=73,76c73,74%0a%3c Uncomment this line and provide every single IP address you want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Keep 127.0.0.1 but replace 192.168.1.1 and 2001:db8:: with your real public IPs. If you are hosting a public service, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a%3c '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a---%0a> Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted. '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a> %0a79c77%0a%3c Network = ExampleNet%0a---%0a> Network = IRCNow%0a82,84c80,83%0a%3c Motdfile stands for "Message of the Day"; we will create this file later on.%0a%3c Network: Your network name.%0a%3c %0a---%0a> Motdfile: Stands for "Message of the Day", we will create this at that file location later on.%0a> %0a> Network: IRCNow, or your network (Liberachat, freenode, etc...)%0a> %0a91,94c90,95%0a%3c It's recommended to provide ports besides the standard 6667 to allow users to bypass network firewalls. %0a%3c %0a%3c '''NOTE''': Make sure to set the ServerUID and ServerGID to _ngircd. Otherwise, it runs as the user nobody by default.%0a%3c %0a---%0a> Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls (censorship). %0a> %0a> ServerGID: Uncomment, name (or number) of the Group to run as%0a> %0a> ServerUID: Uncomment, name (or number) of the User to run as%0a> %0a117c118%0a%3c DefaultUserModes = i%0a---%0a> DefaultUserModes = iC%0a124c125%0a%3c For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you might not trust an oper on another server.%0a---%0a> AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server.%0a126,133c127,134%0a%3c We want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a%3c %0a%3c We will cloak the host using a unique salt; contact another sysadmin for the exact salt. If not linking to a network, you can leave it commented for a random salt each time it runs or you can provide your own random salt.%0a%3c %0a%3c User mode +i keeps the user invisible so that /whois does not show all channels a user has joined. This helps reduce stalking and harassment. %0a%3c %0a%3c Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. It is necessary for [[hopm/install|hopm]]. We're going to log using syslog (see below).%0a%3c %0a---%0a> ChrootDir: We want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a> %0a> CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt. For a Practice VPS or if not linking to a network, you can leave it commented for a random Salt each time it runs or you can provide your own random Salt%0a> %0a> DefaultUserModes: UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. %0a> %0a> NoticeBeforeRegistration: Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a> %0a140,143c141,142%0a%3c This entire block should be commented. When you are ready to set up [[ngircd/ssl|SSL/TLS encryption]], un-comment the entire block.%0a%3c %0a%3c '''WARNING''': Do not send passwords or sensitive data over this server until SSL is set up.%0a%3c %0a---%0a> This entire block is commented, when you are ready to set up [[ngircd/ssl|SSL/TLS encryption]], un-comment it and follow the instructions on the SSL page. '''Note''': do not send passwords/sensitive data over IRC to this server until SSL is set up %0a> %0a150,151c149,150%0a%3c Name = username%0a%3c Password = password%0a---%0a> Name = %3cusername>%0a> Password = %3cpassword>%0a154,155c153,156%0a%3c Please use a [[password/management|long, random string]] for your password.%0a%3c %0a---%0a> Name: your IRC username%0a> %0a> Password: Please use a [[password/management|long, random string]] for your password.%0a> %0a172,173c173,174%0a%3c Create the Message of the Day in /etc/ngircd/ngircd.motd. Here is a suggested template:%0a%3c %0a---%0a> Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a> %0a179c180%0a%3c * No porn / illegal drugs / threats of violence%0a---%0a> * No porn / illegal drugs / promotion of violence%0a191a193%0a> %0a194,195c196,197%0a%3c All log messages from ngircd should go to [@ /var/log/ngircd.log @]. Insert these three lines starting at line 3 (at the top) in [@/etc/syslog.conf@]:%0a%3c %0a---%0a> You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (from the top) in [@ /etc/syslog.conf @]:%0a> %0a202,203c204,205%0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log.%0a%3c %0a---%0a> This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a> %0a213,214c215%0a%3c We need to set up the [[chroot/intro|chroot]] for ngircd. Let's copy the files into the chroot:%0a%3c %0a---%0a> We need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a235c236,237%0a%3c Next, use your IRC client to connect to the server. Join a few channels and chat inside.%0a---%0a> Next, use your IRC client to connect to the server, which may have the hostname [@ %3cuser>.%3cfruit>.ircnow.org @]. %0a> Join a few channels and chat inside.%0a +host:1631964903=38.87.162.8 +author:1631956282=jrmu +diff:1631956282:1631956227:=66,67c66,67%0a%3c *Name: Use your server's domain name.%0a%3c *Info: Use your server's domain name.%0a---%0a> Name: Use your server's domain name.%0a> Info: Use your server's domain name%0a +host:1631956282=38.87.162.8 +author:1631956227=jrmu +diff:1631956227:1631955807:=54a55%0a> %0a59,63c60,64%0a%3c Name = irc.example.com%0a%3c AdminInfo1 = Example Network%0a%3c AdminInfo2 = Planet Earth%0a%3c AdminEMail = admin@example.com%0a%3c Info = irc.example.com%0a---%0a> Name = %3circ.example.com>%0a> AdminInfo1 = %3cExample Network>%0a> AdminInfo2 = %3cPlanet Earth>%0a> AdminEMail = %3cadmin@example.com>%0a> Info = %3cusername.fruit.ircnow.org>%0a66,68c67,76%0a%3c Name: Use your server's domain name.%0a%3c Info: Use your server's domain name%0a%3c %0a---%0a> Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a> %0a> AdminInfo1: provide a description of your IRC server.%0a> %0a> AdminInfo2: provide the location%0a> %0a> AdminEmail: your Email where bug reports and complaints may be sent%0a> %0a> Info: your server's domain name%0a> %0a70c78%0a%3c Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a---%0a> Listen = 127.0.0.1,%3c192.168.1.1>,%3c2001:db8::>%0a152a161%0a> %0a171a181%0a> %0a +host:1631956227=38.87.162.8 +author:1631955807=jrmu +diff:1631955807:1631253991:=3,4c3,10%0a%3c In this guide, we'll setup [[https://ngircd.barton.de/documentation.php.en|ngircd]], a free, portable, lightweight IRC server.%0a%3c %0a---%0a> %0a> %0a> %0a> %0a> In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a> %0a> %0a> %0a7,13c13,21%0a%3c ngircd is an [[IRC/Guide|IRC]] server. It helps IRC clients send messages to one another.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # The source code is written in modern, portable C.%0a%3c # The code compiles easily on all BSDs, Linux, and other platforms.%0a%3c # The code is easy to fork to add new features such as spam filters%0a---%0a> %0a> ngircd is an IRC (Internet Relay Chat) server. It connects IRC clients (such as hexchat, irssi, etc) and transfers messages between them. In this article, we will set up ngircd so that irc clents can connect to it and communicate with each other.%0a> %0a> %0a> %0a> %0a> There are many irc servers we could have used, but the advantages of using ngircd are:%0a> %0a> # The source code runs well on OpenBSD%0a15c23%0a%3c # Documentation is short and easy to understand%0a---%0a> # Fewer features means the manual pages are short%0a16a25,27%0a> # The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a> # Customized censorship to block NSFW content%0a> # Spam filters%0a18a30,33%0a> %0a> %0a> %0a> %0a21,22c36,43%0a%3c # [[https://ngircd.barton.de/documentation.php.en|Official ngIRCd documentation]] %0a%3c %0a---%0a> %0a> #official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] %0a> %0a> #read the man pages%0a> %0a> %0a> %0a> %0a24a46,50%0a> %0a> %0a> %0a> %0a> %0a26a53,55%0a> %0a> Install ngircd%0a> %0a29,30c58,59%0a%3c Copy the sample configuration file:%0a%3c %0a---%0a> Copy the sample configuration file%0a> %0a34,39c63,71%0a%3c ngIRCd v26.1 provided by OpenBSD 6.9 ports does not have ident support. On a production server, ident support is essential, so we will need to compile from source (described below). You will want to do this after installing from packages, so that rc.d scripts are created automatically.%0a%3c %0a%3c !!! Installing from source%0a%3c %0a%3c Pull the codebase from IRCNow's file servers, extract the code, and install it%0a%3c %0a---%0a> %0a> %0a> ngIRCd v26.1 provided by OpenBSD 6.9 ports does not have ident support. We need to compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly. It is best to do this now.%0a> %0a> !!! Reinstalling from source%0a> %0a> %0a> Pull the codebase from IRCnow's file servers, extract the code, and install it%0a> %0a41,43c73,75%0a%3c $ ftp https://ircnow.org/software/ngircd.tgz%0a%3c $ tar xvzf ngircd.tgz%0a%3c $ cd ngircd-26.1/%0a---%0a> $ ftp https://ircnow.org/software/ngircd.tgz %0a> $ tar xvzf ngircd.tgz %0a> $ cd ngircd-26.1/ %0a45,48c77,88%0a%3c @]%0a%3c %0a%3c !! Configuring ngircd%0a%3c %0a---%0a> @] %0a> %0a> %0a> %0a> %0a> %0a> %0a> !!Configuring ngircd%0a> %0a> %0a> Now that you have ngircd installed, its time to set it up. When installing, you copied the sample configuration file. Now edit it to make it work for you.%0a> %0a51,52c91,96%0a%3c '''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.%0a%3c %0a---%0a> Note you may have to use the [[https://wiki.ircnow.org/index.php?n=Doas.Configure | doas]] command to have write access to the file.%0a> %0a> '''When you see [@%3ctext>@] it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a> %0a> '''Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.'''%0a> %0a60,61c104,105%0a%3c Name = %3circ.example.com>%0a%3c AdminInfo1 = %3cExample Network>%0a---%0a> Name = %3cusername.fruit.ircnow.org>%0a> AdminInfo1 = %3cFruit Server on IRCNow>%0a63c107%0a%3c AdminEMail = %3cadmin@example.com>%0a---%0a> AdminEMail = %3cadmin@username.fruit.ircnow.org>%0a66a111%0a> %0a76a122%0a> %0a115a162,163%0a> %0a> %0a205a254%0a> %0a222a272,274%0a> %0a> %0a> %0a224a277%0a> %0a238a292%0a> %0a245a300%0a> %0a250a306%0a> %0a267a324%0a> %0a +host:1631955807=38.87.162.8 +author:1631253991=mkf +diff:1631253991:1630332626:=65c65%0a%3c ngIRCd v26.1 provided by OpenBSD 6.9 ports does not have ident support. We need to compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly. It is best to do this now.%0a---%0a> ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. We need to compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly. It is best to do this now.%0a +host:1631253991=2.178.154.172 +author:1630332626=jrmu +diff:1630332626:1627916713:=281d280%0a%3c $ doas cp /etc/resolv.conf /var/ngircd/etc/%0a357c356%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a---%0a> # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a\ No newline at end of file%0a +host:1630332626=125.231.32.127 +author:1627916713=mkf +diff:1627916713:1626787596:=292,293c292,293%0a%3c To start ngircd via [[openbsd/rcctl|rcctl]]:%0a%3c %0a---%0a> To start ngircd:%0a> %0a298a299%0a> [[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a +host:1627916713=198.251.81.133 +author:1626787596=mistera +diff:1626787596:1625883365:=11c11%0a%3c !!Overview%0a---%0a> !!Theory%0a +host:1626787596=204.111.39.57 +author:1625883365=mistera +diff:1625883365:1625881706:=218,223d217%0a%3c !!! Server Block%0a%3c [@%0a%3c [Server]%0a%3c @]%0a%3c %0a%3c The server block is used to connect to other servers to form a network. You can have multiple server blocks. See: [[ngircd/link|Link your ngircd]] %0a +host:1625883365=204.111.39.57 +author:1625881706=mistera +diff:1625881706:1625880174:=58,59c58,59%0a%3c Copy the sample configuration file%0a%3c %0a---%0a> copy the sample configuration file into the location where the program can read it (we will edit it to suit our needs)%0a> %0a89c89%0a%3c Edit [@ /etc/ngircd/ngircd.conf @]:%0a---%0a> Use your favorite text editor to edit [@ /etc/ngircd/ngircd.conf @]:%0a +host:1625881706=204.111.39.57 +author:1625880174=mistera +diff:1625880174:1625878603:=140,141d139%0a%3c ServerGID = _ngircd%0a%3c ServerUID = _ngircd%0a145,148d142%0a%3c %0a%3c ServerGID: Uncomment, name (or number) of the Group to run as%0a%3c %0a%3c ServerUID: Uncomment, name (or number) of the User to run as%0a +host:1625880174=204.111.39.57 +author:1625878603=mistera +diff:1625878603:1625878567:=205d204%0a%3c %0a +host:1625878603=204.111.39.57 +author:1625878567=mistera +diff:1625878567:1625878195:=194,195d193%0a%3c %0a%3c You may have as many Operator Blocks as you like, one for each Operator.%0a +host:1625878567=204.111.39.57 +author:1625878195=mistera +diff:1625878195:1625878071:=191c191%0a%3c This entire block is commented, when you are ready to set up [[ngircd/ssl|SSL/TLS encryption]], un-comment it and follow the instructions on the SSL page. '''Note''': do not send passwords/sensitive data over IRC to this server until SSL is set up %0a---%0a> This entire block is commented, when you are ready to set up [[ngircd/ssl|SSL]], un-comment it and follow the instructions on the SSL page.%0a +host:1625878195=204.111.39.57 +author:1625878071=mistera +diff:1625878071:1625877684:=185,191d184%0a%3c !!! SSL block%0a%3c %0a%3c [@ %0a%3c ;[SSL]%0a%3c @]%0a%3c %0a%3c This entire block is commented, when you are ready to set up [[ngircd/ssl|SSL]], un-comment it and follow the instructions on the SSL page.%0a +host:1625878071=204.111.39.57 +author:1625877684=mistera +diff:1625877684:1625877095:=179c179%0a%3c CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt. For a Practice VPS or if not linking to a network, you can leave it commented for a random Salt each time it runs or you can provide your own random Salt%0a---%0a> CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a +host:1625877684=204.111.39.57 +author:1625877095=mistera +diff:1625877095:1625877023:=147d146%0a%3c [Limits]%0a +host:1625877095=204.111.39.57 +author:1625877023=mistera +diff:1625877023:1625869975:=139a140,145%0a> MaxConnectionsIP = 0%0a> MaxJoins = 300%0a> MaxNickLength = 16%0a> MaxListSize = 1000%0a> PingTimeout = 300%0a> PongTimeout = 300%0a143,155d148%0a%3c %0a%3c !!! Limits Block%0a%3c %0a%3c [@%0a%3c MaxConnectionsIP = 0%0a%3c MaxJoins = 300%0a%3c MaxNickLength = 16%0a%3c MaxListSize = 1000%0a%3c PingTimeout = 300%0a%3c PongTimeout = 300%0a%3c @]%0a%3c %0a%3c %0a +host:1625877023=204.111.39.57 +author:1625869975=mistera +diff:1625869975:1625867210:=91c91%0a%3c Note you may have to use the [[https://wiki.ircnow.org/index.php?n=Doas.Configure | doas]] command to have write access to the file.%0a---%0a> Note you may have to use the doas command to have write access to the file.%0a +host:1625869975=204.111.39.57 +author:1625867210=mistera +diff:1625867210:1625867173:=318c318%0a%3c '''WARNING''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a---%0a> '''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a +host:1625867210=204.111.39.57 +author:1625867173=mistera +diff:1625867173:1625867124:=308c308%0a%3c '''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible '''instead of restarting the service'''.%0a---%0a> '''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a +host:1625867173=204.111.39.57 +author:1625867124=mistera +diff:1625867124:1625867095:=296c296%0a%3c After you edit [@ /etc/ngircd/ngircd.conf @] for a running ngircd server, you will need to reload the configuration file:%0a---%0a> After you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a +host:1625867124=204.111.39.57 +author:1625867095=mistera +diff:1625867095:1625867078:=294d293%0a%3c %0a +host:1625867095=204.111.39.57 +author:1625867078=mistera +diff:1625867078:1625867029:=291c291%0a%3c Remember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. '''Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].'''%0a---%0a> Remember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a +host:1625867078=204.111.39.57 +author:1625867029=mistera +diff:1625867029:1625866998:=289c289%0a%3c Check [@ /var/log/ngircd.log @] to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a---%0a> Check /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a +host:1625867029=204.111.39.57 +author:1625866998=mistera +diff:1625866998:1625866962:=275d274%0a%3c %0a +host:1625866998=204.111.39.57 +author:1625866962=mistera +diff:1625866962:1625866954:=271,272c271%0a%3c Next, use your IRC client to connect to the server, which may have the hostname [@ %3cuser>.%3cfruit>.ircnow.org @]. %0a%3c Join a few channels and chat inside.%0a---%0a> Next, use your IRC client to connect to the server, which may have the hostname [@ %3cuser>.%3cfruit>.ircnow.org @]. Join a few channels and chat inside.%0a +host:1625866962=204.111.39.57 +author:1625866954=mistera +diff:1625866954:1625866895:=271c271%0a%3c Next, use your IRC client to connect to the server, which may have the hostname [@ %3cuser>.%3cfruit>.ircnow.org @]. Join a few channels and chat inside.%0a---%0a> Next, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a +host:1625866954=204.111.39.57 +author:1625866895=mistera +diff:1625866895:1625866831:=260d259%0a%3c %0a +host:1625866895=204.111.39.57 +author:1625866831=mistera +diff:1625866831:1625866757:=247d246%0a%3c %0a248a248%0a> if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a +host:1625866831=204.111.39.57 +author:1625866757=mistera +diff:1625866757:1625866748:=223d222%0a%3c %0a +host:1625866757=204.111.39.57 +author:1625866748=mistera +diff:1625866748:1625866700:=222,224c222,224%0a%3c !! Configuring syslog%0a%3c %0a%3c You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (from the top) in [@ /etc/syslog.conf @]:%0a---%0a> !!! Configuring syslog%0a> %0a> You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (at the top) in [@ /etc/syslog.conf @]:%0a +host:1625866748=204.111.39.57 +author:1625866700=mistera +diff:1625866700:1625866675:=224c224%0a%3c You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (at the top) in [@ /etc/syslog.conf @]:%0a---%0a> You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a +host:1625866700=204.111.39.57 +author:1625866675=mistera +diff:1625866675:1625866591:=224c224%0a%3c You want all the log messages from ngircd (Errors, system reports) to go to [@ /var/log/ngircd.log @] and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a---%0a> You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a +host:1625866675=204.111.39.57 +author:1625866591=mistera +diff:1625866591:1625866542:=195,196d194%0a%3c %0a%3c You are finished editing ngircd.conf%0a +host:1625866591=204.111.39.57 +author:1625866542=mistera +diff:1625866542:1625866371:=196c196%0a%3c !!MOTD file%0a---%0a> !!!MOTD file%0a +host:1625866542=204.111.39.57 +author:1625866371=mistera +diff:1625866371:1625866117:=91,92c91,94%0a%3c Note you may have to use the doas command to have write access to the file.%0a%3c %0a---%0a> We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a> %0a> As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a> %0a136,137c138,139%0a%3c Network: IRCNow, or your network (Liberachat, freenode, etc...)%0a%3c %0a---%0a> Network: IRCnow, or your network (Liberachat, freenode, etc...)%0a> %0a148c150%0a%3c Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls (censorship). %0a---%0a> Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a +host:1625866371=204.111.39.57 +author:1625866117=mistera +diff:1625866117:1625866092:=89c89%0a%3c Use your favorite text editor to edit [@ /etc/ngircd/ngircd.conf @]:%0a---%0a> Use your favorite text editor to edit /etc/ngircd/ngircd.conf:%0a +host:1625866117=204.111.39.57 +author:1625866092=mistera +diff:1625866092:1625866084:=89c89%0a%3c Use your favorite text editor to edit /etc/ngircd/ngircd.conf:%0a---%0a> use your favorite text editor to edit /etc/ngircd/ngircd.conf:%0a +host:1625866092=204.111.39.57 +author:1625866084=mistera +diff:1625866084:1625866032:=89c89,95%0a%3c use your favorite text editor to edit /etc/ngircd/ngircd.conf:%0a---%0a> Edit /etc/ngircd/ngircd.conf:%0a> %0a> Use your favorite text editor; for example:%0a> to use vi, %0a> [@ $ doas vi /etc/ngircd/ngircd.conf @] %0a> or to use vim,%0a> [@ $ doas vim /etc/ngircd/ngircd.conf @] %0a +host:1625866084=204.111.39.57 +author:1625866032=mistera +diff:1625866032:1625233534:=87c87%0a%3c Now that you have ngircd installed, its time to set it up. When installing, you copied the sample configuration file. Now edit it to make it work for you.%0a---%0a> Now that we have ngircd installed, its time to set it up. When installing, we copied the sample configuration file. We will now edit it to make it work for us.%0a +host:1625866032=204.111.39.57 +author:1625233534=mistera +diff:1625233534:1625231673:=33c33,35%0a%3c %0a---%0a> ----%0a> %0a> %0a43a46,48%0a> %0a> ----%0a> %0a56,57c61,62%0a%3c [@$ doas pkg_add ngircd @]%0a%3c %0a---%0a> -> [@$ doas pkg_add ngircd @]%0a> %0a60c65%0a%3c [@$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a---%0a> ->[@$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a72c77%0a%3c [@ %0a---%0a> ->[@ %0a83a89,90%0a> ----%0a> %0a91,107c98,114%0a%3c Use your favorite text editor; for example:%0a%3c to use vi, %0a%3c [@ $ doas vi /etc/ngircd/ngircd.conf @] %0a%3c or to use vim,%0a%3c [@ $ doas vim /etc/ngircd/ngircd.conf @] %0a%3c %0a%3c We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a%3c %0a%3c As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a%3c %0a%3c '''When you see [@%3ctext>@] it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a%3c %0a%3c '''Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.'''%0a%3c %0a%3c Typically, ";" precedes a line of code that has been commented, while a "#" precedes an actual note that should not be uncommented.%0a%3c %0a%3c %0a---%0a> ->Use your favorite text editor; for example:%0a> -->to use vi, %0a> --->[@ $ doas vi /etc/ngircd/ngircd.conf @] %0a> -->or to use vim,%0a> --->[@ $ doas vim /etc/ngircd/ngircd.conf @] %0a> %0a> ->We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a> %0a> ->As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a> %0a> ->'''When you see [@%3ctext>@] it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a> %0a> ->'''Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.'''%0a> %0a> ->Typically, ";" precedes a line of code that has been commented, while a "#" precedes an actual note that should not be uncommented.%0a> %0a> %0a120,130c127,137%0a%3c Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a%3c %0a%3c AdminInfo1: provide a description of your IRC server.%0a%3c %0a%3c AdminInfo2: provide the location%0a%3c %0a%3c AdminEmail: your Email where bug reports and complaints may be sent%0a%3c %0a%3c Info: your server's domain name%0a%3c %0a%3c %0a---%0a> --->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a> %0a> --->AdminInfo1: provide a description of your IRC server.%0a> %0a> --->AdminInfo2: provide the location%0a> %0a> --->AdminEmail: your Email where bug reports and complaints may be sent%0a> %0a> --->Info: your server's domain name%0a> %0a> %0a135,136c142,143%0a%3c Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted. '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a---%0a> --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted. '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a> %0a142,145c149,152%0a%3c Motdfile: Stands for "Message of the Day", we will create this at that file location later on.%0a%3c %0a%3c Network: IRCnow, or your network (Liberachat, freenode, etc...)%0a%3c %0a---%0a> --->Motdfile: Stands for "Message of the Day", we will create this at that file location later on.%0a> %0a> --->Network: IRCnow, or your network (Liberachat, freenode, etc...)%0a> %0a156,159c163,166%0a%3c Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a%3c %0a%3c MaxNickLength: '''must''' be identical to all servers on the network. On IRCNow, MaxNickLength is [@16@].%0a%3c %0a---%0a> --->Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a> %0a> --->MaxNickLength: '''must''' be identical to all servers on the network. On IRCNow, MaxNickLength is [@16@].%0a> %0a175c182%0a%3c AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server.%0a---%0a> --->AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server.%0a177,185c184,192%0a%3c ChrootDir: We want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a%3c %0a%3c CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a%3c %0a%3c DefaultUserModes: UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. %0a%3c %0a%3c NoticeBeforeRegistration: Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a%3c %0a%3c %0a---%0a> --->ChrootDir: We want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a> %0a> --->CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a> %0a> --->DefaultUserModes: UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. %0a> %0a> --->NoticeBeforeRegistration: Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a> %0a> %0a195,196c202,203%0a%3c Name: your IRC username%0a%3c Password: Please use a [[password/management|long, random string]] for your password.%0a---%0a> --->Name: your IRC username%0a> --->Password: Please use a [[password/management|long, random string]] for your password.%0a +host:1625233534=204.111.39.57 +author:1625231673=mistera +diff:1625231673:1625230726:=11,13c11,13%0a%3c !!Theory%0a%3c %0a%3c %0a---%0a> !!!Theory%0a> %0a> %0a36,38c36,38%0a%3c !!Docs and references%0a%3c %0a%3c %0a---%0a> !!!Docs and references%0a> %0a> %0a49,58c49,58%0a%3c !!Installation%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c !!! Installing from OpenBSD packages%0a%3c %0a%3c %0a---%0a> !!!Installation%0a> %0a> %0a> %0a> %0a> %0a> %0a> !! Installing from OpenBSD packages%0a> %0a> %0a72,74c72,74%0a%3c !!! Reinstalling from source%0a%3c %0a%3c %0a---%0a> !! Reinstalling from source%0a> %0a> %0a91,93c91,93%0a%3c !!Configuring ngircd%0a%3c %0a%3c %0a---%0a> !!!Configuring ngircd%0a> %0a> %0a115,116c115,116%0a%3c !!! Global Block%0a%3c %0a---%0a> !! Global Block%0a> %0a167,168c167,168%0a%3c !!! Options Block%0a%3c %0a---%0a> !! Options Block%0a> %0a193c193%0a%3c !!! Operator Block%0a---%0a> !! Operator Block%0a +host:1625231673=204.111.39.57 +author:1625230726=mistera +diff:1625230726:1625230483:=5,13c5,15%0a%3c %0a%3c %0a%3c In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%3c %0a%3c %0a%3c %0a%3c !!!Theory%0a%3c %0a%3c %0a---%0a> ----%0a> %0a> %0a> %25center%25In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a> %0a> ----%0a> %0a> %0a> %25center%25'+'''Theory'''+'%0a> %0a> %0a36,38c38,40%0a%3c !!!Docs and references%0a%3c %0a%3c %0a---%0a> %25center%25'+'''Docs and references'''+'%0a> %0a> %0a49,58c51,60%0a%3c !!!Installation%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c !! Installing from OpenBSD packages%0a%3c %0a%3c %0a---%0a> %25center%25'+'''Installation'''+'%0a> %0a> %0a> %0a> %0a> %0a> %0a> !!! Installing from OpenBSD packages%0a> %0a> %0a72,74c74,76%0a%3c !! Reinstalling from source%0a%3c %0a%3c %0a---%0a> !!! Reinstalling from source%0a> %0a> %0a91,93c93,95%0a%3c !!!Configuring ngircd%0a%3c %0a%3c %0a---%0a> %25center%25'+'''Configuring ngircd'''+'%0a> %0a> %0a115,116c117,118%0a%3c !! Global Block%0a%3c %0a---%0a> !!! Global Block%0a> %0a167,168c169,170%0a%3c !! Options Block%0a%3c %0a---%0a> !!! Options Block%0a> %0a193c195%0a%3c !! Operator Block%0a---%0a> !!! Operator Block%0a +host:1625230726=204.111.39.57 +author:1625230483=mistera +diff:1625230483:1625060991:=200c200%0a%3c Password = %3cpassword>%0a---%0a> Password = password%0a205c205,206%0a%3c --->Password: Please use a [[password/management|long, random string]] for your password.%0a---%0a> --->%0a> Please use a [[password/management|long, random string]] for your password.%0a +host:1625230483=204.111.39.57 +author:1625060991=mistera +diff:1625060991:1625060312:=43c43,48%0a%3c #read the man pages%0a---%0a> #read the man pages:%0a> %0a> ->[@ $ man ngircd @]%0a> %0a> %0a> %0a +host:1625060991=204.111.39.57 +author:1625060312=mistera +diff:1625060312:1625060136:=40a41,43%0a> %0a> Getting to know the documentation is important! Before you begin, at least look over the documentation. It will begin to make sense as you use ngircd, and the man pages will eventually become your best friend when you run into errors. Don't understand it yet? Thats ok; Familiarity breeds understanding.%0a> %0a43c46,47%0a%3c #read the man pages:%0a---%0a> #read the man pages: in your terminal, after you install ngircd,%0a> %0a +host:1625060312=204.111.39.57 +author:1625060136=mistera +diff:1625060136:1625060108:=85,86c85%0a%3c %0a%3c Pull the codebase from IRCnow's file servers, extract the code, and install it%0a---%0a> 1. pull the codebase from IRCnow's file servers, extract the code, and install it%0a +host:1625060136=204.111.39.57 +author:1625060108=mistera +diff:1625060108:1625059326:=85,92c85,99%0a%3c 1. pull the codebase from IRCnow's file servers, extract the code, and install it%0a%3c %0a%3c ->[@ %0a%3c $ ftp https://ircnow.org/software/ngircd.tgz %0a%3c $ tar xvzf ngircd.tgz %0a%3c $ cd ngircd-26.1/ %0a%3c $ sh build.sh %0a%3c @] %0a---%0a> 1. pull the codebase from IRCnow's file servers%0a> %0a> ->[@ $ ftp https://ircnow.org/software/ngircd.tgz @]%0a> %0a> 2. extract the code from the compressed tarball %0a> %0a> ->[@ $ tar xvzf ngircd.tgz @] %0a> %0a> 3. change directory into the newly uncompressed folder %0a> %0a> ->[@ $ cd ngircd-26.1/ @] %0a> %0a> 4. run the shell script "build.sh" found there, which will reinstall from source %0a> %0a> ->[@ $ sh build.sh @] %0a +host:1625060108=204.111.39.57 +author:1625059326=mistera +diff:1625059326:1625056854:=16,20c16,20%0a%3c ngircd is an IRC (Internet Relay Chat) server. It connects IRC clients (such as hexchat, irssi, etc) and transfers messages between them. In this article, we will set up ngircd so that irc clents can connect to it and communicate with each other.%0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> ngircd is an IRC (Internet Relay Chat) server. Irc is comprised of a server-client model. The client (such as hexchat, irssi, etc) can receive messages from the server and send messages to the server, but the server connects all the clients and transfers messages between them. In this article, we will set up ngircd so that irc clents can connect to it and communicate with each other.%0a> %0a> %0a> %0a> %0a220c220%0a%3c --->%0a---%0a> ----%0a +host:1625059326=204.111.39.57 +author:1625056854=mistera +diff:1625056854:1625056833:=159c159%0a%3c --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted. '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a---%0a> --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a +host:1625056854=204.111.39.57 +author:1625056833=mistera +diff:1625056833:1625055431:=159,160c159,162%0a%3c --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a---%0a> --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a> %0a> ---->'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a> %0a214c216%0a%3c Name = %3cusername>%0a---%0a> Name = username%0a218,220d219%0a%3c %0a%3c --->Name: your IRC username%0a%3c ----%0a278c277%0a%3c if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a---%0a> %0a +host:1625056833=204.111.39.57 +author:1625055431=mistera +diff:1625055431:1625055293:=212,213c212,216%0a%3c !!! Operator Block%0a%3c %0a---%0a> !!!MOTD file%0a> %0a> %0a> Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a> %0a215,217c218,232%0a%3c [Operator]%0a%3c Name = username%0a%3c Password = password%0a---%0a> IRCNow - The Users' Network%0a> %0a> IRCNow is the network of the user, by the user, for the user.%0a> %0a> * No porn / illegal drugs / promotion of violence%0a> * No slander / libel / gambling%0a> * No spam, illegal cracking, or DDoS%0a> * No copyright infrigement%0a> %0a> You must agree to our terms of service and our privacy policy %0a> to use this network:%0a> %0a> https://wiki.ircnow.org/index.php?n=Terms.Terms%0a> %0a> Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a220,232c235,239%0a%3c Please use a [[password/management|long, random string]] for your password.%0a%3c %0a%3c If you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%3c %0a%3c For more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%3c %0a%3c %0a%3c %0a%3c !!!MOTD file%0a%3c %0a%3c %0a%3c Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a---%0a> %0a> !!! Configuring syslog%0a> %0a> You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a> %0a234,248c241,243%0a%3c IRCNow - The Users' Network%0a%3c %0a%3c IRCNow is the network of the user, by the user, for the user.%0a%3c %0a%3c * No porn / illegal drugs / promotion of violence%0a%3c * No slander / libel / gambling%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * No copyright infrigement%0a%3c %0a%3c You must agree to our terms of service and our privacy policy %0a%3c to use this network:%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=Terms.Terms%0a%3c %0a%3c Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a---%0a> !!ngircd%0a> *.* /var/log/ngircd.log%0a> !*%0a251,255c246,249%0a%3c %0a%3c !!! Configuring syslog%0a%3c %0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a---%0a> This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a> %0a> Next, create the file /var/log/ngircd.log and restart syslogd:%0a> %0a257,259c251,252%0a%3c !!ngircd%0a%3c *.* /var/log/ngircd.log%0a%3c !*%0a---%0a> $ doas touch /var/log/ngircd.log%0a> $ doas rcctl restart syslogd%0a262,265c255,256%0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%3c %0a%3c Next, create the file /var/log/ngircd.log and restart syslogd:%0a%3c %0a---%0a> !!! Operator Block%0a> %0a267,268c258,260%0a%3c $ doas touch /var/log/ngircd.log%0a%3c $ doas rcctl restart syslogd%0a---%0a> [Operator]%0a> Name = username%0a> Password = password%0a270a263,267%0a> Please use a [[password/management|long, random string]] for your password.%0a> %0a> If you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a> %0a> For more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a +host:1625055431=204.111.39.57 +author:1625055293=mistera +diff:1625055293:1625054364:=1,4c1,4%0a%3c (:title Ngircd Install Guide:)%0a%3c %0a%3c %0a%3c %0a---%0a> %25center%25(:title Ngircd Install Guide:)%0a> %0a> %0a> %0a203,204c203%0a%3c --->ChrootDir: We want to [[Chroot.Intro|chroot]] to /var/ngircd to prevent a security compromise. %0a%3c %0a---%0a> --->ChrootDir: We want to chroot to /var/ngircd to prevent a security compromise. %0a207,209c206%0a%3c --->DefaultUserModes: UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. %0a%3c %0a%3c --->NoticeBeforeRegistration: Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a---%0a> UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a +host:1625055293=204.111.39.57 +author:1625054364=mistera +diff:1625054364:1625054290:=203,204c203%0a%3c --->ChrootDir: We want to chroot to /var/ngircd to prevent a security compromise. %0a%3c --->CloakHostSalt: We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a---%0a> --->ChrootDir: We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a +host:1625054364=204.111.39.57 +author:1625054290=mistera +diff:1625054290:1625054230:=193c193%0a%3c CloakHostSalt = %3cabcdefghijklmnopqrstuvwxyz>%0a---%0a> CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a +host:1625054290=204.111.39.57 +author:1625054230=mistera +diff:1625054230:1625054213:=201,202c201%0a%3c --->AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server.%0a%3c %0a---%0a> --->AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. %0a +host:1625054230=204.111.39.57 +author:1625054213=mistera +diff:1625054213:1625053351:=201,202c201%0a%3c --->AllowRemoteOper: For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. %0a%3c --->ChrootDir: We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a---%0a> For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a +host:1625054213=204.111.39.57 +author:1625053351=mistera +diff:1625053351:1625053318:=169d168%0a%3c %0a183d181%0a%3c %0a +host:1625053351=204.111.39.57 +author:1625053318=mistera +diff:1625053318:1625053282:=181c181%0a%3c --->Ports: listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a---%0a> --->Ports:listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a +host:1625053318=204.111.39.57 +author:1625053282=mistera +diff:1625053282:1625053102:=181,182c181%0a%3c --->Ports:listed are the default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. %0a%3c --->MaxNickLength: '''must''' be identical to all servers on the network. On IRCNow, MaxNickLength is [@16@].%0a---%0a> The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a +host:1625053282=204.111.39.57 +author:1625053102=mistera +diff:1625053102:1625052936:=168,169d167%0a%3c --->Motdfile: Stands for "Message of the Day", we will create this at that file location later on.%0a%3c --->Network: IRCnow, or your network (Liberachat, freenode, etc...)%0a +host:1625053102=204.111.39.57 +author:1625052936=mistera +diff:1625052936:1625052913:=164,165c164,165%0a%3c MotdFile = /etc/ngircd/ngircd.motd%0a%3c Network = IRCNow%0a---%0a> MotdFile = /etc/ngircd/ngircd.motd%0a> Network = IRCNow%0a +host:1625052936=204.111.39.57 +author:1625052913=mistera +diff:1625052913:1625052885:=161c161%0a%3c ---->'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a---%0a> '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a +host:1625052913=204.111.39.57 +author:1625052885=mistera +diff:1625052885:1625052855:=159c159%0a%3c --->Listen: Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a---%0a> --->Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a +host:1625052885=204.111.39.57 +author:1625052855=mistera +diff:1625052855:1625052777:=159c159%0a%3c --->Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a---%0a> ->Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a +host:1625052855=204.111.39.57 +author:1625052777=mistera +diff:1625052777:1625052767:=144c144%0a%3c --->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a---%0a> ---->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a +host:1625052777=204.111.39.57 +author:1625052767=mistera +diff:1625052767:1625052738:=144c144%0a%3c ---->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a---%0a> -->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a +host:1625052767=204.111.39.57 +author:1625052738=mistera +diff:1625052738:1625052728:=146,152c146,152%0a%3c --->AdminInfo1: provide a description of your IRC server.%0a%3c %0a%3c --->AdminInfo2: provide the location%0a%3c %0a%3c --->AdminEmail: your Email where bug reports and complaints may be sent%0a%3c %0a%3c --->Info: your server's domain name%0a---%0a> -->AdminInfo1: provide a description of your IRC server.%0a> %0a> -->AdminInfo2: provide the location%0a> %0a> -->AdminEmail: your Email where bug reports and complaints may be sent%0a> %0a> -->Info: your server's domain name%0a +host:1625052738=204.111.39.57 +author:1625052728=mistera +diff:1625052728:1625052654:=144,152c144,152%0a%3c -->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a%3c %0a%3c -->AdminInfo1: provide a description of your IRC server.%0a%3c %0a%3c -->AdminInfo2: provide the location%0a%3c %0a%3c -->AdminEmail: your Email where bug reports and complaints may be sent%0a%3c %0a%3c -->Info: your server's domain name%0a---%0a> ->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a> %0a> ->AdminInfo1: provide a description of your IRC server.%0a> %0a> ->AdminInfo2: provide the location%0a> %0a> ->AdminEmail: your Email where bug reports and complaints may be sent%0a> %0a> ->Info: your server's domain name%0a +host:1625052728=204.111.39.57 +author:1625052654=mistera +diff:1625052654:1625052551:=115,116c115,116%0a%3c ->Use your favorite text editor; for example:%0a%3c -->to use vi, %0a---%0a> ->Use your favorite text editor; %0a> -->to use vi, for example:%0a121,123c121,123%0a%3c ->We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a%3c %0a%3c ->As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a---%0a> ->We use the doas command to have all privs to edit the file. ->You might not have permission to write to the file without ->doas.%0a> %0a> ->As you go through the configuration file, find the sections ->listed below, and change their contents to match the values ->listed here.%0a +host:1625052654=204.111.39.57 +author:1625052551=mistera +diff:1625052551:1625052534:=117c117%0a%3c --->[@ $ doas vi /etc/ngircd/ngircd.conf @] %0a---%0a> --->[@ doas vi /etc/ngircd/ngircd.conf @] %0a119c119%0a%3c --->[@ $ doas vim /etc/ngircd/ngircd.conf @] %0a---%0a> --->[@ doas vim /etc/ngircd/ngircd.conf @] %0a +host:1625052551=204.111.39.57 +author:1625052534=mistera +diff:1625052534:1625052505:=117,119c117,119%0a%3c --->[@ doas vi /etc/ngircd/ngircd.conf @] %0a%3c -->or to use vim,%0a%3c --->[@ doas vim /etc/ngircd/ngircd.conf @] %0a---%0a> ->[@ doas vi /etc/ngircd/ngircd.conf @] %0a> ->or to use vim,%0a> ->[@ doas vim /etc/ngircd/ngircd.conf @] %0a +host:1625052534=204.111.39.57 +author:1625052505=mistera +diff:1625052505:1625052489:=116c116%0a%3c -->to use vi, for example:%0a---%0a> ->to use vi, for example:%0a +host:1625052505=204.111.39.57 +author:1625052489=mistera +diff:1625052489:1625052381:=115,123c115,123%0a%3c ->Use your favorite text editor; %0a%3c ->to use vi, for example:%0a%3c ->[@ doas vi /etc/ngircd/ngircd.conf @] %0a%3c ->or to use vim,%0a%3c ->[@ doas vim /etc/ngircd/ngircd.conf @] %0a%3c %0a%3c ->We use the doas command to have all privs to edit the file. ->You might not have permission to write to the file without ->doas.%0a%3c %0a%3c ->As you go through the configuration file, find the sections ->listed below, and change their contents to match the values ->listed here.%0a---%0a> Use your favorite text editor; %0a> to use vi, for example:%0a> [@ doas vi /etc/ngircd/ngircd.conf @] %0a> or to use vim,%0a> [@ doas vim /etc/ngircd/ngircd.conf @] %0a> %0a> We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a> %0a> As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a +host:1625052489=204.111.39.57 +author:1625052381=mistera +diff:1625052381:1625052351:=85,86c85,86%0a%3c 1. pull the codebase from IRCnow's file servers%0a%3c %0a---%0a> # pull the codebase from IRCnow's file servers%0a> %0a89,90c89,90%0a%3c 2. extract the code from the compressed tarball %0a%3c %0a---%0a> # extract the code from the compressed tarball %0a> %0a93,94c93,94%0a%3c 3. change directory into the newly uncompressed folder %0a%3c %0a---%0a> # change directory into the newly uncompressed folder %0a> %0a97c97%0a%3c 4. run the shell script "build.sh" found there, which will reinstall from source %0a---%0a> # run the shell script "build.sh" found there, which will reinstall from source %0a +host:1625052381=204.111.39.57 +author:1625052351=mistera +diff:1625052351:1625052301:=87,88c87,88%0a%3c ->[@ $ ftp https://ircnow.org/software/ngircd.tgz @]%0a%3c %0a---%0a> [@ $ ftp https://ircnow.org/software/ngircd.tgz @]%0a> %0a91,92c91,92%0a%3c ->[@ $ tar xvzf ngircd.tgz @] %0a%3c %0a---%0a> [@ $ tar xvzf ngircd.tgz @] %0a> %0a95,96c95,96%0a%3c ->[@ $ cd ngircd-26.1/ @] %0a%3c %0a---%0a> [@ $ cd ngircd-26.1/ @] %0a> %0a99c99%0a%3c ->[@ $ sh build.sh @] %0a---%0a> [@ $ sh build.sh @] %0a +host:1625052351=204.111.39.57 +author:1625052301=mistera +diff:1625052301:1624972917:=85,99c85,88%0a%3c # pull the codebase from IRCnow's file servers%0a%3c %0a%3c [@ $ ftp https://ircnow.org/software/ngircd.tgz @]%0a%3c %0a%3c # extract the code from the compressed tarball %0a%3c %0a%3c [@ $ tar xvzf ngircd.tgz @] %0a%3c %0a%3c # change directory into the newly uncompressed folder %0a%3c %0a%3c [@ $ cd ngircd-26.1/ @] %0a%3c %0a%3c # run the shell script "build.sh" found there, which will reinstall from source %0a%3c %0a%3c [@ $ sh build.sh @] %0a---%0a> [@ $ ftp https://ircnow.org/software/ngircd.tgz @] # pull the codebase from IRCnow's file servers%0a> [@ $ tar xvzf ngircd.tgz @] # extract the code from the compressed tarball%0a> [@ $ cd ngircd-26.1/ @] # change directory into the newly uncompressed folder%0a> [@ $ sh build.sh @] # run the shell script "build.sh" found there, which will reinstall from source%0a +host:1625052301=204.111.39.57 +author:1624972917=mistera +diff:1624972917:1624968302:=5,22c5,10%0a%3c ----%0a%3c %0a%3c %0a%3c %25center%25In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c %25center%25'+'''Theory'''+'%0a%3c %0a%3c %0a%3c ngircd is an IRC (Internet Relay Chat) server. Irc is comprised of a server-client model. The client (such as hexchat, irssi, etc) can receive messages from the server and send messages to the server, but the server connects all the clients and transfers messages between them. In this article, we will set up ngircd so that irc clents can connect to it and communicate with each other.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c There are many irc servers we could have used, but the advantages of using ngircd are:%0a%3c %0a---%0a> In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a> %0a> %0a> %0a> Advantages:%0a> %0a32,76c20,28%0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c %25center%25'+'''Docs and references'''+'%0a%3c %0a%3c %0a%3c %0a%3c Getting to know the documentation is important! Before you begin, at least look over the documentation. It will begin to make sense as you use ngircd, and the man pages will eventually become your best friend when you run into errors. Don't understand it yet? Thats ok; Familiarity breeds understanding.%0a%3c %0a%3c #official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] %0a%3c %0a%3c #read the man pages: in your terminal, after you install ngircd,%0a%3c %0a%3c %0a%3c ->[@ $ man ngircd @]%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %25center%25'+'''Installation'''+'%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c !!! Installing from OpenBSD packages%0a%3c %0a%3c %0a%3c Install ngircd%0a%3c %0a%3c -> [@$ doas pkg_add ngircd @]%0a%3c %0a%3c copy the sample configuration file into the location where the program can read it (we will edit it to suit our needs)%0a%3c %0a%3c ->[@$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a---%0a> Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] and its man pages.%0a> %0a> !! Installation%0a> %0a> !!! From packages%0a> %0a> [@%0a> $ doas pkg_add ngircd%0a> $ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a79,101c31,43%0a%3c %0a%3c %0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. We need to compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly. It is best to do this now.%0a%3c %0a%3c !!! Reinstalling from source%0a%3c %0a%3c [@ $ ftp https://ircnow.org/software/ngircd.tgz @] # pull the codebase from IRCnow's file servers%0a%3c [@ $ tar xvzf ngircd.tgz @] # extract the code from the compressed tarball%0a%3c [@ $ cd ngircd-26.1/ @] # change directory into the newly uncompressed folder%0a%3c [@ $ sh build.sh @] # run the shell script "build.sh" found there, which will reinstall from source%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %25center%25'+'''Configuring ngircd'''+'%0a%3c %0a%3c %0a%3c Now that we have ngircd installed, its time to set it up. When installing, we copied the sample configuration file. We will now edit it to make it work for us.%0a%3c %0a---%0a> ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly.%0a> %0a> !!! From source%0a> %0a> [@%0a> $ ftp https://ircnow.org/software/ngircd.tgz%0a> $ tar xvzf ngircd.tgz%0a> $ cd ngircd-26.1/%0a> $ sh build.sh%0a> @]%0a> %0a> !! Configuration%0a> %0a104,120c46,47%0a%3c Use your favorite text editor; %0a%3c to use vi, for example:%0a%3c [@ doas vi /etc/ngircd/ngircd.conf @] %0a%3c or to use vim,%0a%3c [@ doas vim /etc/ngircd/ngircd.conf @] %0a%3c %0a%3c We use the doas command to have all privs to edit the file. You might not have permission to write to the file without doas.%0a%3c %0a%3c As you go through the configuration file, find the sections listed below, and change their contents to match the values listed here.%0a%3c %0a%3c ->'''When you see [@%3ctext>@] it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a%3c %0a%3c ->'''Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line if that is desired.'''%0a%3c %0a%3c ->Typically, ";" precedes a line of code that has been commented, while a "#" precedes an actual note that should not be uncommented.%0a%3c %0a%3c %0a---%0a> '''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a> %0a125,129c52,56%0a%3c Name = %3cusername.fruit.ircnow.org>%0a%3c AdminInfo1 = %3cFruit Server on IRCNow>%0a%3c AdminInfo2 = %3cPlanet Earth>%0a%3c AdminEMail = %3cadmin@username.fruit.ircnow.org>%0a%3c Info = %3cusername.fruit.ircnow.org>%0a---%0a> Name = username.fruit.ircnow.org%0a> AdminInfo1 = Fruit Server on IRCNow%0a> AdminInfo2 = Planet Earth%0a> AdminEMail = admin@username.fruit.ircnow.org%0a> Info = username.fruit.ircnow.org%0a132,143c59,60%0a%3c %0a%3c ->Name: use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. %0a%3c %0a%3c ->AdminInfo1: provide a description of your IRC server.%0a%3c %0a%3c ->AdminInfo2: provide the location%0a%3c %0a%3c ->AdminEmail: your Email where bug reports and complaints may be sent%0a%3c %0a%3c ->Info: your server's domain name%0a%3c %0a%3c %0a---%0a> For Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a> %0a145c62%0a%3c Listen = 127.0.0.1,%3c192.168.1.1>,%3c2001:db8::>%0a---%0a> Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a148,149c65,66%0a%3c ->Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IPs. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a---%0a> Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IP. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a> %0a157c74,75%0a%3c %0a---%0a> Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a> %0a158a77,94%0a> IRCNow - The Users' Network%0a> %0a> IRCNow is the network of the user, by the user, for the user.%0a> %0a> * No porn / illegal drugs / promotion of violence%0a> * No slander / libel / gambling%0a> * No spam, illegal cracking, or DDoS%0a> * No copyright infrigement%0a> %0a> You must agree to our terms of service and our privacy policy %0a> to use this network:%0a> %0a> https://wiki.ircnow.org/index.php?n=Terms.Terms%0a> %0a> Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a> @]%0a> %0a> [@%0a189,194c125,128%0a%3c %0a%3c !!!MOTD file%0a%3c %0a%3c %0a%3c Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a---%0a> !!! Configuring syslog%0a> %0a> You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a> %0a196,210c130,132%0a%3c IRCNow - The Users' Network%0a%3c %0a%3c IRCNow is the network of the user, by the user, for the user.%0a%3c %0a%3c * No porn / illegal drugs / promotion of violence%0a%3c * No slander / libel / gambling%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * No copyright infrigement%0a%3c %0a%3c You must agree to our terms of service and our privacy policy %0a%3c to use this network:%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=Terms.Terms%0a%3c %0a%3c Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a---%0a> !!ngircd%0a> *.* /var/log/ngircd.log%0a> !*%0a213,217c135,138%0a%3c %0a%3c !!! Configuring syslog%0a%3c %0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a---%0a> This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a> %0a> Next, create the file /var/log/ngircd.log and restart syslogd:%0a> %0a219,221c140,141%0a%3c !!ngircd%0a%3c *.* /var/log/ngircd.log%0a%3c !*%0a---%0a> $ doas touch /var/log/ngircd.log%0a> $ doas rcctl restart syslogd%0a224,227c144,145%0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%3c %0a%3c Next, create the file /var/log/ngircd.log and restart syslogd:%0a%3c %0a---%0a> !!! Operator Block%0a> %0a229,230c147,149%0a%3c $ doas touch /var/log/ngircd.log%0a%3c $ doas rcctl restart syslogd%0a---%0a> [Operator]%0a> Name = username%0a> Password = password%0a233,240d151%0a%3c !!! Operator Block%0a%3c %0a%3c [@%0a%3c [Operator]%0a%3c Name = username%0a%3c Password = password%0a%3c @]%0a%3c %0a246,247d156%0a%3c %0a%3c %0a +host:1624972917=204.111.39.57 +author:1624968302=mistera +diff:1624968302:1620722004:=1,4c1,2%0a%3c %25center%25(:title Ngircd Install Guide:)%0a%3c %0a%3c %0a%3c %0a---%0a> (:title Ngircd Install Guide:)%0a> %0a6,7d3%0a%3c %0a%3c %0a +host:1624968302=204.111.39.57 +author:1620722004=jrmu +diff:1620722004:1614857898:=16,17c16,17%0a%3c Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] and its man pages.%0a%3c %0a---%0a> Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a> %0a27,28c27,28%0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly.%0a%3c %0a---%0a> ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a> %0a61,62c61,62%0a%3c Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IP. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a---%0a> Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a> %0a119c119%0a%3c UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a---%0a> UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a +host:1620722004=198.251.81.119 +author:1614857898=jrmu +diff:1614857898:1612974683:=108a109%0a> CloakHostModeX = jrmu.coconut.ircnow.org%0a +host:1614857898=198.251.81.119 +author:1612974683=jrmu +diff:1612974683:1612974683:=1,233d0%0a%3c (:title Ngircd Install Guide:)%0a%3c %0a%3c In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # The source code runs well on OpenBSD%0a%3c # The server has a very simple, easy-to-understand configuration%0a%3c # Fewer features means the manual pages are short%0a%3c # The server is a clean implementation which was written from scratch%0a%3c # The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a%3c # Customized censorship to block NSFW content%0a%3c # Spam filters%0a%3c # The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%3c %0a%3c Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a%3c %0a%3c !! Installation%0a%3c %0a%3c !!! From packages%0a%3c %0a%3c [@%0a%3c $ doas pkg_add ngircd%0a%3c $ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a%3c @]%0a%3c %0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a%3c %0a%3c !!! From source%0a%3c %0a%3c [@%0a%3c $ ftp https://ircnow.org/software/ngircd.tgz%0a%3c $ tar xvzf ngircd.tgz%0a%3c $ cd ngircd-26.1/%0a%3c $ sh build.sh%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c Edit /etc/ngircd/ngircd.conf:%0a%3c %0a%3c '''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a%3c %0a%3c !!! Global Block%0a%3c %0a%3c [@%0a%3c [Global]%0a%3c Name = username.fruit.ircnow.org%0a%3c AdminInfo1 = Fruit Server on IRCNow%0a%3c AdminInfo2 = Planet Earth%0a%3c AdminEMail = admin@username.fruit.ircnow.org%0a%3c Info = username.fruit.ircnow.org%0a%3c @]%0a%3c %0a%3c For Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a%3c %0a%3c [@%0a%3c Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a%3c @]%0a%3c %0a%3c Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a%3c '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a%3c [@%0a%3c MotdFile = /etc/ngircd/ngircd.motd%0a%3c Network = IRCNow%0a%3c @]%0a%3c %0a%3c Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a%3c [@%0a%3c IRCNow - The Users' Network%0a%3c %0a%3c IRCNow is the network of the user, by the user, for the user.%0a%3c %0a%3c * No porn / illegal drugs / promotion of violence%0a%3c * No slander / libel / gambling%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * No copyright infrigement%0a%3c %0a%3c You must agree to our terms of service and our privacy policy %0a%3c to use this network:%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=Terms.Terms%0a%3c %0a%3c Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a%3c @]%0a%3c %0a%3c [@%0a%3c Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a%3c MaxConnectionsIP = 0%0a%3c MaxJoins = 300%0a%3c MaxNickLength = 16%0a%3c MaxListSize = 1000%0a%3c PingTimeout = 300%0a%3c PongTimeout = 300%0a%3c @]%0a%3c %0a%3c The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a%3c %0a%3c !!! Options Block%0a%3c %0a%3c [@%0a%3c [Options]%0a%3c AllowRemoteOper = no%0a%3c ChrootDir = /var/ngircd%0a%3c CloakHost = %25x%0a%3c CloakHostModeX = jrmu.coconut.ircnow.org%0a%3c CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a%3c DefaultUserModes = iC%0a%3c NoticeBeforeRegistration = yes%0a%3c OperChanPAutoOp = no %0a%3c RequireAuthPing = yes%0a%3c SyslogFacility = daemon%0a%3c @]%0a%3c %0a%3c For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a%3c %0a%3c UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a%3c %0a%3c !!! Configuring syslog%0a%3c %0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a%3c [@%0a%3c !!ngircd%0a%3c *.* /var/log/ngircd.log%0a%3c !*%0a%3c @]%0a%3c %0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%3c %0a%3c Next, create the file /var/log/ngircd.log and restart syslogd:%0a%3c %0a%3c [@%0a%3c $ doas touch /var/log/ngircd.log%0a%3c $ doas rcctl restart syslogd%0a%3c @]%0a%3c %0a%3c !!! Operator Block%0a%3c %0a%3c [@%0a%3c [Operator]%0a%3c Name = username%0a%3c Password = password%0a%3c @]%0a%3c %0a%3c Please use a [[password/management|long, random string]] for your password.%0a%3c %0a%3c If you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%3c %0a%3c For more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c We need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /var/ngircd/etc/%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a%3c $ doas rm -r /etc/ngircd%0a%3c $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a%3c @]%0a%3c %0a%3c This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%3c %0a%3c !! Starting ngircd%0a%3c %0a%3c To start ngircd:%0a%3c %0a%3c [@%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a%3c @]%0a%3c %0a%3c [[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a%3c %0a%3c Next, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you run into any errors, you can test to see if your configuration file has errors:%0a%3c %0a%3c [@%0a%3c $ doas ngircd -t%0a%3c @]%0a%3c %0a%3c To run ngircd in debug mode:%0a%3c %0a%3c [@%0a%3c $ doas ngircd -n%0a%3c @]%0a%3c %0a%3c Check /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%3c %0a%3c Remember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a%3c %0a%3c !! Reloading and Restarting ngIRCd%0a%3c %0a%3c After you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a%3c %0a%3c [@%0a%3c $ doas rcctl reload ngircd%0a%3c @]%0a%3c %0a%3c Alternatively, you can run:%0a%3c %0a%3c [@%0a%3c $ doas pkill -HUP ngircd%0a%3c @]%0a%3c %0a%3c '''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a%3c %0a%3c To restart the ircd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart ngircd%0a%3c @]%0a%3c %0a%3c '''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%3c %0a%3c '''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c # Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a%3c # [[ngircd/link|Link your ngircd]] with another server to create a network%0a%3c # Install [[anope/install|anope]] to provide services%0a%3c # Install [[achurch/install|achurch]] to test achurch services%0a%3c # Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a\ No newline at end of file%0a +host:1612974683=198.251.81.119 blob - /dev/null blob + 8013ddb04106da3f77023e0bff5e0daf27672d63 (mode 644) --- /dev/null +++ wiki.d/Ngircd.Install-bej @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 +author=bejelentkezni +charset=UTF-8 +csum= +ctime=1620710187 +host=184.99.100.20 +name=Ngircd.Install-bej +rev=3 +targets=Netcat.Irc,Password.Management,Openbsd.Chroot,Rcctl.Rcctl,Ngircd.Ssl,Ngircd.Link,Anope.Install,Achurch.Install,Hopm.Install,Acopm.Install +text=(:title Ngircd Install Guide:)%0a%0aIn this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%0aAdvantages:%0a%0a# The source code runs well on OpenBSD%0a# The server has a very simple, easy-to-understand configuration%0a# Fewer features means the manual pages are short%0a# The server is a clean implementation which was written from scratch%0a# The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a # Customized censorship to block NSFW content%0a # Spam filters%0a# The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%0aBefore you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] and man pages.%0a%0a!! Installation%0a%0a!!! From packages%0a%0a[@%0a$ doas pkg_add ngircd%0a$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a@]%0a%0angIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly.%0a%0a!!! From source%0a%0a[@%0a$ ftp https://ircnow.org/software/ngircd.tgz%0a$ tar xvzf ngircd.tgz%0a$ cd ngircd-26.1/%0a$ sh build.sh%0a@]%0a%0a!! Configuration%0a%0aEdit /etc/ngircd/ngircd.conf:%0a%0a'''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a%0a!!! Global Block%0a%0a[@%0a[Global]%0a Name = username.fruit.ircnow.org%0a AdminInfo1 = Fruit Server on IRCNow%0a AdminInfo2 = Planet Earth%0a AdminEMail = admin@username.fruit.ircnow.org%0a Info = username.fruit.ircnow.org%0a@]%0a%0aFor Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a%0a[@%0a Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a@]%0a%0aUncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IP addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%0a'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%0a[@%0a MotdFile = /etc/ngircd/ngircd.motd%0a Network = IRCNow%0a@]%0a%0aPaste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%0a[@%0aIRCNow - The Users' Network%0a%0aIRCNow is the network of the user, by the user, for the user.%0a%0a * No porn / illegal drugs / promotion of violence%0a * No slander / libel / gambling%0a * No spam, illegal cracking, or DDoS%0a * No copyright infrigement%0a%0aYou must agree to our terms of service and our privacy policy %0ato use this network:%0a%0ahttps://wiki.ircnow.org/index.php?n=Terms.Terms%0a%0aOnly 5 connections per IP address. If you need help, please speak with staff on #help.%0a@]%0a%0a[@%0a Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a MaxConnectionsIP = 0%0a MaxJoins = 300%0a MaxNickLength = 16%0a MaxListSize = 1000%0a PingTimeout = 300%0a PongTimeout = 300%0a@]%0a%0aThe above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a%0a!!! Options Block%0a%0a[@%0a[Options]%0a AllowRemoteOper = no%0a ChrootDir = /var/ngircd%0a CloakHost = %25x%0a CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a DefaultUserModes = iC%0a NoticeBeforeRegistration = yes%0a OperChanPAutoOp = no %0a RequireAuthPing = yes%0a SyslogFacility = daemon%0a@]%0a%0aFor security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a%0aUserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a%0a!!! Configuring syslog%0a%0aYou want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%0a[@%0a!!ngircd%0a*.* /var/log/ngircd.log%0a!*%0a@]%0a%0aThis directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%0aNext, create the file /var/log/ngircd.log and restart syslogd:%0a%0a[@%0a$ doas touch /var/log/ngircd.log%0a$ doas rcctl restart syslogd%0a@]%0a%0a!!! Operator Block%0a%0a[@%0a[Operator]%0a Name = username%0a Password = password%0a@]%0a%0aPlease use a [[password/management|long, random string]] for your password.%0a%0aIf you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%0aFor more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%0a!! Chroot%0a%0aWe need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a%0a[@%0a$ doas mkdir /var/ngircd/etc/%0a$ doas cp -R /etc/ngircd /var/ngircd/etc/%0a$ doas chown -R _ngircd:_ngircd /var/ngircd/%0a$ doas rm -r /etc/ngircd%0a$ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a@]%0a%0aThis will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%0a!! Starting ngircd%0a%0aTo start ngircd:%0a%0a[@%0adoas rcctl enable ngircd%0adoas rcctl start ngircd%0a@]%0a%0a[[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a%0aNext, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a%0a!! Troubleshooting%0a%0aIf you run into any errors, you can test to see if your configuration file has errors:%0a%0a[@%0a$ doas ngircd -t%0a@]%0a%0aTo run ngircd in debug mode:%0a%0a[@%0a$ doas ngircd -n%0a@]%0a%0aCheck /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%0aRemember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a%0a!! Reloading and Restarting ngIRCd%0a%0aAfter you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a%0a[@%0a$ doas rcctl reload ngircd%0a@]%0a%0aAlternatively, you can run:%0a%0a[@%0a$ doas pkill -HUP ngircd%0a@]%0a%0a'''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a%0aTo restart the ircd:%0a%0a[@%0a$ doas rcctl restart ngircd%0a@]%0a%0a'''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%0a'''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%0a!! See Also%0a%0a# Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a# [[ngircd/link|Link your ngircd]] with another server to create a network%0a# Install [[anope/install|anope]] to provide services%0a# Install [[achurch/install|achurch]] to test achurch services%0a# Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a# Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers. +time=1620710786 +title=Ngircd Install Guide +author:1620710786=bejelentkezni +diff:1620710786:1620710512:= +host:1620710786=184.99.100.20 +author:1620710512=bejelentkezni +diff:1620710512:1620710187:=16,17c16,17%0a%3c Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]] and man pages.%0a%3c %0a---%0a> Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a> %0a27,28c27,28%0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server. You will want to do this after installing from packages, so that rc.d tags are created properly.%0a%3c %0a---%0a> ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a> %0a61,62c61,62%0a%3c Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. Replace these with your real public IP addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a---%0a> Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a> %0a119c119%0a%3c UserMode +i keeps the user invisible, and +C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[netcat/irc|netcat]]. We're going to log using syslog (see section below).%0a---%0a> UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a +host:1620710512=184.99.100.20 +author:1620710187=bejelentkezni +csum:1620710187=fork +diff:1620710187:1620710187:=1,232d0%0a%3c (:title Ngircd Install Guide:)%0a%3c %0a%3c In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # The source code runs well on OpenBSD%0a%3c # The server has a very simple, easy-to-understand configuration%0a%3c # Fewer features means the manual pages are short%0a%3c # The server is a clean implementation which was written from scratch%0a%3c # The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a%3c # Customized censorship to block NSFW content%0a%3c # Spam filters%0a%3c # The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%3c %0a%3c Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a%3c %0a%3c !! Installation%0a%3c %0a%3c !!! From packages%0a%3c %0a%3c [@%0a%3c $ doas pkg_add ngircd%0a%3c $ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a%3c @]%0a%3c %0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a%3c %0a%3c !!! From source%0a%3c %0a%3c [@%0a%3c $ ftp https://ircnow.org/software/ngircd.tgz%0a%3c $ tar xvzf ngircd.tgz%0a%3c $ cd ngircd-26.1/%0a%3c $ sh build.sh%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c Edit /etc/ngircd/ngircd.conf:%0a%3c %0a%3c '''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a%3c %0a%3c !!! Global Block%0a%3c %0a%3c [@%0a%3c [Global]%0a%3c Name = username.fruit.ircnow.org%0a%3c AdminInfo1 = Fruit Server on IRCNow%0a%3c AdminInfo2 = Planet Earth%0a%3c AdminEMail = admin@username.fruit.ircnow.org%0a%3c Info = username.fruit.ircnow.org%0a%3c @]%0a%3c %0a%3c For Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a%3c %0a%3c [@%0a%3c Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a%3c @]%0a%3c %0a%3c Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a%3c '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a%3c [@%0a%3c MotdFile = /etc/ngircd/ngircd.motd%0a%3c Network = IRCNow%0a%3c @]%0a%3c %0a%3c Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a%3c [@%0a%3c IRCNow - The Users' Network%0a%3c %0a%3c IRCNow is the network of the user, by the user, for the user.%0a%3c %0a%3c * No porn / illegal drugs / promotion of violence%0a%3c * No slander / libel / gambling%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * No copyright infrigement%0a%3c %0a%3c You must agree to our terms of service and our privacy policy %0a%3c to use this network:%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=Terms.Terms%0a%3c %0a%3c Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a%3c @]%0a%3c %0a%3c [@%0a%3c Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a%3c MaxConnectionsIP = 0%0a%3c MaxJoins = 300%0a%3c MaxNickLength = 16%0a%3c MaxListSize = 1000%0a%3c PingTimeout = 300%0a%3c PongTimeout = 300%0a%3c @]%0a%3c %0a%3c The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a%3c %0a%3c !!! Options Block%0a%3c %0a%3c [@%0a%3c [Options]%0a%3c AllowRemoteOper = no%0a%3c ChrootDir = /var/ngircd%0a%3c CloakHost = %25x%0a%3c CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a%3c DefaultUserModes = iC%0a%3c NoticeBeforeRegistration = yes%0a%3c OperChanPAutoOp = no %0a%3c RequireAuthPing = yes%0a%3c SyslogFacility = daemon%0a%3c @]%0a%3c %0a%3c For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a%3c %0a%3c UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a%3c %0a%3c !!! Configuring syslog%0a%3c %0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a%3c [@%0a%3c !!ngircd%0a%3c *.* /var/log/ngircd.log%0a%3c !*%0a%3c @]%0a%3c %0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%3c %0a%3c Next, create the file /var/log/ngircd.log and restart syslogd:%0a%3c %0a%3c [@%0a%3c $ doas touch /var/log/ngircd.log%0a%3c $ doas rcctl restart syslogd%0a%3c @]%0a%3c %0a%3c !!! Operator Block%0a%3c %0a%3c [@%0a%3c [Operator]%0a%3c Name = username%0a%3c Password = password%0a%3c @]%0a%3c %0a%3c Please use a [[password/management|long, random string]] for your password.%0a%3c %0a%3c If you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%3c %0a%3c For more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c We need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /var/ngircd/etc/%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a%3c $ doas rm -r /etc/ngircd%0a%3c $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a%3c @]%0a%3c %0a%3c This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%3c %0a%3c !! Starting ngircd%0a%3c %0a%3c To start ngircd:%0a%3c %0a%3c [@%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a%3c @]%0a%3c %0a%3c [[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a%3c %0a%3c Next, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you run into any errors, you can test to see if your configuration file has errors:%0a%3c %0a%3c [@%0a%3c $ doas ngircd -t%0a%3c @]%0a%3c %0a%3c To run ngircd in debug mode:%0a%3c %0a%3c [@%0a%3c $ doas ngircd -n%0a%3c @]%0a%3c %0a%3c Check /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%3c %0a%3c Remember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a%3c %0a%3c !! Reloading and Restarting ngIRCd%0a%3c %0a%3c After you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a%3c %0a%3c [@%0a%3c $ doas rcctl reload ngircd%0a%3c @]%0a%3c %0a%3c Alternatively, you can run:%0a%3c %0a%3c [@%0a%3c $ doas pkill -HUP ngircd%0a%3c @]%0a%3c %0a%3c '''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a%3c %0a%3c To restart the ircd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart ngircd%0a%3c @]%0a%3c %0a%3c '''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%3c %0a%3c '''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c # Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a%3c # [[ngircd/link|Link your ngircd]] with another server to create a network%0a%3c # Install [[anope/install|anope]] to provide services%0a%3c # Install [[achurch/install|achurch]] to test achurch services%0a%3c # Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a\ No newline at end of file%0a +host:1620710187=184.99.100.20 blob - /dev/null blob + 9ef23e23c4ee4a60fa50cf154dd5b05da174d08d (mode 644) --- /dev/null +++ wiki.d/Ngircd.Link @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612973229 +host=198.251.81.119 +name=Ngircd.Link +rev=2 +targets=Openbsd.Dns,Openbsd.Hopm,Openbsd.Passwords +text=In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a%0a[@%0a[Server]%0a Name = irc.example.ircnow.org%0a Host = irc.example.ircnow.org%0a Port = 6667%0a MyPassword = password12345%0a PeerPassword = password12345%0a@]%0a%0aNotice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a%0a!! Autostart%0a%0aTo automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a%0a[@%0adoas touch /usr/local/libexec/project/ngircd.sh%0adoas chmod +x /usr/local/libexec/project/ngircd.sh%0a@]%0a%0aInside /usr/local/libexec/project/ngircd.sh:%0a%0a[@%0a#!/bin/sh%0a%0aSERVICE_NAME="ngircd"%0aSERVICE_USER="_ngircd"%0aSERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a%0aif ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0athen%0a if [ -f $SERVICE_PID ]; then%0a rm -f $SERVICE_PID%0a rcctl -d start $SERVICE_NAME%0a fi%0afi%0a@]%0a%0aAdd this as a cronjob:%0a%0a[@%0a$ doas crontab -e%0a%0a* * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a@]%0a%0aFor the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a[@%0aPidFile = /var/run/ngircd/ngircd.pid%0a@]%0a%0aMake sure to configure [[openbsd/hopm|hopm]].%0a%0a%0a%0a%0a%0a=== Example ngIRCd server configurations ===%0aTo illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a[@%0a[Global]%0a Name = irc.foo.org%0a Ports = 6667%0a...%0a[Server]%0a MyPassword = Jp5meaikMiRAKsbBy6G6%0a@]%0a%0aServer "bar" has the following configuration,%0a[@%0a[Global]%0a Name = irc.bar.org%0a Ports = 6667%0a...%0a[Server]%0a MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a@]%0a%0a[@%0a[Server]%0a Name = irc.bar.org%0a Host = irc.bar.org%0a Port = 6667%0a MyPassword = Jp5meaikMiRAKsbBy6G6%0a PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a@]%0a%0aLikewise under server "bar",%0a[@%0a[Server]%0a Name = irc.foo.org%0a Host = irc.foo.org%0a Port = 6667%0a MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a PeerPassword = Jp5meaikMiRAKsbBy6G6%0a@]%0a%0aSysadmins should have proper [[openbsd/passwords|password management]].%0a%0aKeep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%0aSee how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%0a=== Summing it up ===%0aTo sum it up in the prior example,%0aServer ''irc.foo.org'' has the following for ''irc.bar.org'',%0a[@%0a[Server]%0a Name = irc.bar.org%0a Host = irc.bar.org%0a Port = 6667%0a MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a@]%0aand the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a[@%0a[Server]%0a Name = irc.foo.org%0a Host = irc.foo.org%0a Port = 6667%0a MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a@]%0a +time=1612973765 +author:1612973765=jrmu +diff:1612973765:1612973229:=0a1%0a> %0a55,125d55%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c === Example ngIRCd server configurations ===%0a%3c To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a%3c [@%0a%3c [Global]%0a%3c Name = irc.foo.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c @]%0a%3c %0a%3c Server "bar" has the following configuration,%0a%3c [@%0a%3c [Global]%0a%3c Name = irc.bar.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c @]%0a%3c %0a%3c [@%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c @]%0a%3c %0a%3c Likewise under server "bar",%0a%3c [@%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c PeerPassword = Jp5meaikMiRAKsbBy6G6%0a%3c @]%0a%3c %0a%3c Sysadmins should have proper [[openbsd/passwords|password management]].%0a%3c %0a%3c Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%3c %0a%3c See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%3c %0a%3c === Summing it up ===%0a%3c To sum it up in the prior example,%0a%3c Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a%3c [@%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a%3c @]%0a%3c and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a%3c [@%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a%3c @]%0a +host:1612973765=198.251.81.119 +author:1612973229=jrmu +diff:1612973229:1612973229:=1,55d0%0a%3c %0a%3c In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a%3c %0a%3c [@%0a%3c [Server]%0a%3c Name = irc.example.ircnow.org%0a%3c Host = irc.example.ircnow.org%0a%3c Port = 6667%0a%3c MyPassword = password12345%0a%3c PeerPassword = password12345%0a%3c @]%0a%3c %0a%3c Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a%3c %0a%3c !! Autostart%0a%3c %0a%3c To automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a%3c %0a%3c [@%0a%3c doas touch /usr/local/libexec/project/ngircd.sh%0a%3c doas chmod +x /usr/local/libexec/project/ngircd.sh%0a%3c @]%0a%3c %0a%3c Inside /usr/local/libexec/project/ngircd.sh:%0a%3c %0a%3c [@%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="ngircd"%0a%3c SERVICE_USER="_ngircd"%0a%3c SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d start $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c @]%0a%3c %0a%3c Add this as a cronjob:%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c %0a%3c * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a%3c @]%0a%3c %0a%3c For the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a%3c [@%0a%3c PidFile = /var/run/ngircd/ngircd.pid%0a%3c @]%0a%3c %0a%3c Make sure to configure [[openbsd/hopm|hopm]].%0a +host:1612973229=198.251.81.119 blob - /dev/null blob + c1830ff88e00a1158de9fd6bbab4596a4f9a1a4d (mode 644) --- /dev/null +++ wiki.d/Ngircd.Oper @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1612947427 +host=198.251.81.119 +name=Ngircd.Oper +rev=2 +targets= +text=(:title The Oper's Guide:)%0a%0aThanks for volunteering to help us as oper.%0a%0ahttps://github.com/ngircd/ngircd/blob/master/doc/Modes.txt%0ahttps://github.com/ngircd/ngircd/blob/master/doc/Commands.txt +time=1612947797 +title=The Oper's Guide +author:1612947797=jrmu +diff:1612947797:1612947427:= +host:1612947797=198.251.81.119 +author:1612947427=jrmu +diff:1612947427:1612947427:=1,6d0%0a%3c (:title The Oper's Guide:)%0a%3c %0a%3c Thanks for volunteering to help us as oper.%0a%3c %0a%3c https://github.com/ngircd/ngircd/blob/master/doc/Modes.txt%0a%3c https://github.com/ngircd/ngircd/blob/master/doc/Commands.txt%0a\ No newline at end of file%0a +host:1612947427=198.251.81.119 blob - /dev/null blob + c1d7431d4f88b452adfe1c9350a68668e43b5258 (mode 644) --- /dev/null +++ wiki.d/Ngircd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1612947427 +host=38.87.162.47 +name=Ngircd.RecentChanges +rev=103 +text=* [[Ngircd/Install]] . . . December 07, 2021, at 01:44 PM by [[~jrmu]]: [==]%0a* [[Ngircd/Install-bej]] . . . May 11, 2021, at 05:26 AM by [[~bejelentkezni]]: [==]%0a* [[Ngircd/Ssl]] . . . February 10, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[Ngircd/Link]] . . . February 10, 2021, at 04:16 PM by [[~jrmu]]: [==]%0a* [[Ngircd/Oper]] . . . February 10, 2021, at 09:03 AM by [[~jrmu]]: [==]%0a +time=1638884657 blob - /dev/null blob + 9606b4229f162f51570e177e58df43a278659bad (mode 644) --- /dev/null +++ wiki.d/Ngircd.Ssl @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612973133 +host=198.251.81.119 +name=Ngircd.Ssl +rev=5 +targets=Acme-client.Configure +text=(:title Providing TLS for Ngircd:)%0a%0a!! Prerequisites%0a%0aBefore you can enable TLS for ngircd, you must first have a properly-signed [[acme-client/configure|SSL cert]].%0a%0aCheck to see if you have the following two files:%0a%0a[@%0a/etc/ssl/example.com.fullchain.pem%0a/etc/ssl/private/example.com.key%0a@]%0a%0aYou will, of course, need to replace example.com with your actual hostname.%0a%0a!! Copying the cert and key%0a%0aWe'll need to copy the cert and key into /etc/ngircd/%0a%0a[@%0a$ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a$ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a@]%0a%0aIn /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a%0a[@%0a # SSL Server Key Certificate%0a CertFile = /etc/ngircd/example.com.fullchain.pem%0a...%0a # SSL Server Key%0a KeyFile = /etc/ngircd/example.com.key%0a...%0a # Additional Listen Ports that expect SSL/TLS encrypted connections%0a Ports = 6697, 9999, 16697%0a@]%0a%0a''Optional'': If you want to have a DHFile,%0a%0a[@%0a$ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a$ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a@]%0a%0aThen, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf. +time=1612975446 +title=Providing TLS for Ngircd +author:1612975446=jrmu +diff:1612975446:1612975377:= +host:1612975446=198.251.81.119 +author:1612975377=jrmu +diff:1612975377:1612975216:=1,18c1,4%0a%3c (:title Providing TLS for Ngircd:)%0a%3c %0a%3c !! Prerequisites%0a%3c %0a%3c Before you can enable TLS for ngircd, you must first have a properly-signed [[acme-client/configure|SSL cert]].%0a%3c %0a%3c Check to see if you have the following two files:%0a%3c %0a%3c [@%0a%3c /etc/ssl/example.com.fullchain.pem%0a%3c /etc/ssl/private/example.com.key%0a%3c @]%0a%3c %0a%3c You will, of course, need to replace example.com with your actual hostname.%0a%3c %0a%3c !! Copying the cert and key%0a%3c %0a%3c We'll need to copy the cert and key into /etc/ngircd/%0a---%0a> !! SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a> %0a +host:1612975377=198.251.81.119 +author:1612975216=jrmu +diff:1612975216:1612973225:= +host:1612975216=198.251.81.119 +author:1612973225=jrmu +diff:1612973225:1612973133:=1,4c1,2%0a%3c !! SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a%3c %0a---%0a> In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a> %0a6,7c4,9%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a---%0a> [Server]%0a> Name = irc.example.ircnow.org%0a> Host = irc.example.ircnow.org%0a> Port = 6667%0a> MyPassword = password12345%0a> PeerPassword = password12345%0a10,11c12,17%0a%3c In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a%3c %0a---%0a> Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a> %0a> !! SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a> %0a12a19,25%0a> $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a> $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a> @]%0a> %0a> In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a> %0a> [@%0a30c43,85%0a%3c Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a\ No newline at end of file%0a---%0a> Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a> %0a> !! Autostart%0a> %0a> To automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a> %0a> [@%0a> doas touch /usr/local/libexec/project/ngircd.sh%0a> doas chmod +x /usr/local/libexec/project/ngircd.sh%0a> @]%0a> %0a> Inside /usr/local/libexec/project/ngircd.sh:%0a> %0a> [@%0a> #!/bin/sh%0a> %0a> SERVICE_NAME="ngircd"%0a> SERVICE_USER="_ngircd"%0a> SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a> %0a> if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a> then%0a> if [ -f $SERVICE_PID ]; then%0a> rm -f $SERVICE_PID%0a> rcctl -d start $SERVICE_NAME%0a> fi%0a> fi%0a> @]%0a> %0a> Add this as a cronjob:%0a> %0a> [@%0a> $ doas crontab -e%0a> %0a> * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a> @]%0a> %0a> For the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a> [@%0a> PidFile = /var/run/ngircd/ngircd.pid%0a> @]%0a> %0a> Make sure to configure [[openbsd/hopm|hopm]].%0a +host:1612973225=198.251.81.119 +author:1612973133=jrmu +diff:1612973133:1612973133:=1,85d0%0a%3c In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a%3c %0a%3c [@%0a%3c [Server]%0a%3c Name = irc.example.ircnow.org%0a%3c Host = irc.example.ircnow.org%0a%3c Port = 6667%0a%3c MyPassword = password12345%0a%3c PeerPassword = password12345%0a%3c @]%0a%3c %0a%3c Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a%3c %0a%3c !! SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a%3c @]%0a%3c %0a%3c In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a%3c %0a%3c [@%0a%3c # SSL Server Key Certificate%0a%3c CertFile = /etc/ngircd/example.com.fullchain.pem%0a%3c ...%0a%3c # SSL Server Key%0a%3c KeyFile = /etc/ngircd/example.com.key%0a%3c ...%0a%3c # Additional Listen Ports that expect SSL/TLS encrypted connections%0a%3c Ports = 6697, 9999, 16697%0a%3c @]%0a%3c %0a%3c ''Optional'': If you want to have a DHFile,%0a%3c %0a%3c [@%0a%3c $ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a%3c $ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a%3c @]%0a%3c %0a%3c Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a%3c %0a%3c !! Autostart%0a%3c %0a%3c To automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a%3c %0a%3c [@%0a%3c doas touch /usr/local/libexec/project/ngircd.sh%0a%3c doas chmod +x /usr/local/libexec/project/ngircd.sh%0a%3c @]%0a%3c %0a%3c Inside /usr/local/libexec/project/ngircd.sh:%0a%3c %0a%3c [@%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="ngircd"%0a%3c SERVICE_USER="_ngircd"%0a%3c SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d start $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c @]%0a%3c %0a%3c Add this as a cronjob:%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c %0a%3c * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a%3c @]%0a%3c %0a%3c For the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a%3c [@%0a%3c PidFile = /var/run/ngircd/ngircd.pid%0a%3c @]%0a%3c %0a%3c Make sure to configure [[openbsd/hopm|hopm]].%0a +host:1612973133=198.251.81.119 blob - /dev/null blob + a362a7154c6b0f9b680ae4fcd78bcd46362addc5 (mode 644) --- /dev/null +++ wiki.d/NodeJS.Install @@ -0,0 +1,123 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1637161703 +host=180.241.250.156 +name=NodeJS.Install +rev=37 +targets= +text=# OPENBSD Install and Update To Latest Stable Version%0a%0a# Step 1 : install using port %0a# pkg_add node%0a%0a# This will give us node version 12.22.6 and npm 6.14.15 which is so outdated as 2021 November%0a%0a%0a[@%0a%0a0dev# pkg_add node%0a%0aquirks-4.53 signed on 2021-11-16T18:52:34Z%0anode-12.22.6p0: ok%0a--- +node-12.22.6p0 -------------------%0aYou may wish to add /usr/local/lib/node_modules/npm/man to /etc/man.conf%0aYou may wish to add /usr/local/lib/node_modules/sshpk/man to /etc/man.conf%0a%0a0dev# node -v%0av12.22.6%0a%0a0dev# npm -v%0a6.14.15%0a%0a@]%0a%0a# lets update NPM to the latest version%0a%0a[@%0a%0a0dev# npm install -g npm@latest%0a/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js%0a/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js%0a+ npm@8.1.3%0aadded 70 packages from 18 contributors, removed 290 packages and updated 148 packages in 33.467s%0a0dev# npm -v%0a8.1.3%0a0dev# %0a%0a@]%0a%0a# As per november 17 2021 latest is 8.1.3%0a%0a# Next we want to upgrade node the latest LTS%0a# Add Bash shell and wget%0a%0a[@%0a%0a0dev# pkg_add wget bash %0aquirks-4.53 signed on 2021-11-16T18:52:34Z%0awget-1.21.2: ok%0abash-5.1.8: ok%0a%0a%0a%0a# 0dev$ wget https://nodejs.org/dist/v16.13.0/node-v16.13.0.tar.gz%0a# as for now the latest version is node-v16.13.0.tar.gz%0a# 0dev$ tar -zxvf node-v16.13.0.tar.gz %0a%0a# Now Lets Install all dependency so that we can compile node%0a%0a[@%0a%0a%0a%0a0dev# pkg_add gcc g++ gmake python3 python openssl%0aquirks-4.53 signed on 2021-11-16T18:52:34Z%0aAmbiguous: choose package for gcc%0aa 0: %3cNone>%0a 1: gcc-8.4.0p9%0a 2: gcc-11.2.0p0%0aYour choice: 2%0agcc-11.2.0p0:gmp-6.2.1p0: ok%0agcc-11.2.0p0:mpfr-4.1.0: ok%0agcc-11.2.0p0:libmpc-1.1.0: ok%0agcc-11.2.0p0:gcc-libs-11.2.0p0: ok%0agcc-11.2.0p0: ok%0a%0aAmbiguous: choose package for g++%0aa 0: %3cNone>%0a 1: g++-8.4.0p9%0a 2: g++-11.2.0p0%0aYour choice: 2%0ag++-11.2.0p0: ok%0apython3-3.8p0: ok%0a%0aAmbiguous: choose package for python%0aa 0: %3cNone>%0a 1: python-2.7.18p3%0a 2: python-3.8.12%0a 3: python-3.9.7%0aYour choice: 3%0apython-3.9.7: ok%0a%0aAmbiguous: choose package for openssl%0aa 0: %3cNone>%0a 1: openssl-1.0.2up4%0a 2: openssl-1.1.1lp0%0a 3: openssl-3.0.0%0aYour choice: 3%0aopenssl-3.0.0: ok%0a--- +openssl-3.0.0 -------------------%0aYou may wish to add /usr/local/lib/eopenssl30/man to /etc/man.conf%0a%0a%0a%0a# ln -s /usr/local/bin/egcc /usr/local/bin/gcc%0a# ln -s /usr/local/bin/eg++ /usr/local/bin/g++%0a%0a# last install assembler %0a%0a[@%0a%0a0dev# pkg_add gas %0a0dev# mv /usr/bin/as /usr/bin/as.old%0a0dev# ln -s /usr/local/bin/gas /usr/bin/as %0a%0a%0a@]%0a%0a%0a# next configure in node directory as normal user%0a# make sure using bash by typing bash first to switch shell%0a# 0dev# pkg_add pkglocatedb%0a%0a%0a%0a[@%0a%0a%0a%0abash-5.1$ ./configure %0aNode.js configure: Found Python 3.9.7...%0aINFO: configure completed successfully%0a%0abash-5.1$ gmake%0a%0a----%0aFAILED TO BUILT PACKAGE , NEED MORE TO BE DONE%0a----%0a%0a@] +time=1637236923 +author:1637236923=dodocrypto +diff:1637236923:1637236886:=139c139%0a%3c FAILED TO BUILT PACKAGE , NEED MORE TO BE DONE%0a---%0a> FAILED BUILDING PACKAGE NEED MORE TO BE DONE%0a +host:1637236923=180.241.250.156 +author:1637236886=dodocrypto +diff:1637236886:1637236519:=138,140c138%0a%3c ----%0a%3c FAILED BUILDING PACKAGE NEED MORE TO BE DONE%0a%3c ----%0a---%0a> %0a +host:1637236886=180.241.250.156 +author:1637236519=dodocrypto +diff:1637236519:1637235759:= +host:1637236519=180.241.250.156 +author:1637235759=dodocrypto +diff:1637235759:1637235753:=136c136%0a%3c bash-5.1$ gmake%0a---%0a> bash-5.1$ gmake -j4%0a +host:1637235759=180.241.250.156 +author:1637235753=dodocrypto +diff:1637235753:1637230982:=132c132%0a%3c bash-5.1$ ./configure %0a---%0a> bash-5.1$ ./configure --shared-openssl%0a +host:1637235753=180.241.250.156 +author:1637230982=dodocrypto +diff:1637230982:1637222270:=132c132%0a%3c bash-5.1$ ./configure --shared-openssl%0a---%0a> bash-5.1$ ./configure%0a +host:1637230982=180.241.250.156 +author:1637222270=dodocrypto +diff:1637222270:1637221600:=124c124%0a%3c # 0dev# pkg_add pkglocatedb%0a---%0a> # ln -s /usr/lib/libssl.a /usr/lib/libopenssl.a%0a +host:1637222270=180.241.250.156 +author:1637221600=dodocrypto +diff:1637221600:1637221356:=124,125c124%0a%3c # ln -s /usr/lib/libssl.a /usr/lib/libopenssl.a%0a%3c %0a---%0a> # ln -s /usr/lib/libssl.a /usr/lib/openssl.a%0a +host:1637221600=180.241.250.156 +author:1637221356=dodocrypto +diff:1637221356:1637219203:=124d123%0a%3c # ln -s /usr/lib/libssl.a /usr/lib/openssl.a%0a +host:1637221356=180.241.250.156 +author:1637219203=dodocrypto +diff:1637219203:1637218833:=127a128,129%0a> 0dev# mv /usr/bin/ld /usr/bin/ld.old%0a> 0dev# mv /usr/bin/ld.bfd /usr/bin/ld%0a +host:1637219203=180.241.250.156 +author:1637218833=dodocrypto +diff:1637218833:1637218268:=125d124%0a%3c %0a127,129d125%0a%3c %0a%3c 0dev# mv /usr/bin/ld /usr/bin/ld.old%0a%3c 0dev# mv /usr/bin/ld.bfd /usr/bin/ld%0a +host:1637218833=180.241.250.156 +author:1637218268=dodocrypto +diff:1637218268:1637214282:=118d117%0a%3c %0a121d119%0a%3c %0a126d123%0a%3c %0a +host:1637218268=180.241.250.156 +author:1637214282=dodocrypto +diff:1637214282:1637214142:= +host:1637214282=180.241.250.156 +author:1637214142=dodocrypto +diff:1637214142:1637214100:=124,129d123%0a%3c %0a%3c bash-5.1$ ./configure%0a%3c Node.js configure: Found Python 3.9.7...%0a%3c INFO: configure completed successfully%0a%3c %0a%3c bash-5.1$ gmake -j4%0a +host:1637214142=180.241.250.156 +author:1637214100=dodocrypto +diff:1637214100:1637213288:= +host:1637214100=180.241.250.156 +author:1637213288=dodocrypto +diff:1637213288:1637203868:=111a112,118%0a> 0dev# pkg_add gas llvm %0a> %0a> @]%0a> %0a> # next configure in node directory as normal user%0a> # make sure using bash by typing bash first to switch shell%0a> %0a114,125c121,122%0a%3c 0dev# pkg_add gas %0a%3c 0dev# mv /usr/bin/as /usr/bin/as.old%0a%3c 0dev# ln -s /usr/local/bin/gas /usr/bin/as %0a%3c %0a%3c @]%0a%3c %0a%3c # next configure in node directory as normal user%0a%3c # make sure using bash by typing bash first to switch shell%0a%3c %0a%3c [@%0a%3c %0a%3c %0a---%0a> bash-5.1$ ./configure --openssl-no-asm%0a> bash-5.1$ gmake%0a +host:1637213288=180.241.250.156 +author:1637203868=dodocrypto +diff:1637203868:1637201721:= +host:1637203868=180.241.250.156 +author:1637201721=dodocrypto +diff:1637201721:1637201706:=119,120d118%0a%3c [@%0a%3c %0a124d121%0a%3c @]%0a\ No newline at end of file%0a +host:1637201721=180.241.250.156 +author:1637201706=dodocrypto +diff:1637201706:1637200923:=120d119%0a%3c bash-5.1$ gmake%0a +host:1637201706=180.241.250.156 +author:1637200923=dodocrypto +diff:1637200923:1637200922:= +host:1637200923=180.241.250.156 +author:1637200922=dodocrypto +diff:1637200922:1637200199:=115,120d114%0a%3c %0a%3c # next configure in node directory as normal user%0a%3c # make sure using bash by typing bash first to switch shell%0a%3c %0a%3c bash-5.1$ ./configure --openssl-no-asm%0a%3c %0a +host:1637200922=180.241.250.156 +author:1637200199=dodocrypto +diff:1637200199:1637199434:=109,112d108%0a%3c %0a%3c # last install assembler %0a%3c %0a%3c 0dev# pkg_add gas llvm %0a +host:1637200199=180.241.250.156 +author:1637199434=dodocrypto +diff:1637199434:1637198664:=64,65d63%0a%3c %0a%3c %0a67,104d64%0a%3c quirks-4.53 signed on 2021-11-16T18:52:34Z%0a%3c Ambiguous: choose package for gcc%0a%3c a 0: %3cNone>%0a%3c 1: gcc-8.4.0p9%0a%3c 2: gcc-11.2.0p0%0a%3c Your choice: 2%0a%3c gcc-11.2.0p0:gmp-6.2.1p0: ok%0a%3c gcc-11.2.0p0:mpfr-4.1.0: ok%0a%3c gcc-11.2.0p0:libmpc-1.1.0: ok%0a%3c gcc-11.2.0p0:gcc-libs-11.2.0p0: ok%0a%3c gcc-11.2.0p0: ok%0a%3c %0a%3c Ambiguous: choose package for g++%0a%3c a 0: %3cNone>%0a%3c 1: g++-8.4.0p9%0a%3c 2: g++-11.2.0p0%0a%3c Your choice: 2%0a%3c g++-11.2.0p0: ok%0a%3c python3-3.8p0: ok%0a%3c %0a%3c Ambiguous: choose package for python%0a%3c a 0: %3cNone>%0a%3c 1: python-2.7.18p3%0a%3c 2: python-3.8.12%0a%3c 3: python-3.9.7%0a%3c Your choice: 3%0a%3c python-3.9.7: ok%0a%3c %0a%3c Ambiguous: choose package for openssl%0a%3c a 0: %3cNone>%0a%3c 1: openssl-1.0.2up4%0a%3c 2: openssl-1.1.1lp0%0a%3c 3: openssl-3.0.0%0a%3c Your choice: 3%0a%3c openssl-3.0.0: ok%0a%3c --- +openssl-3.0.0 -------------------%0a%3c You may wish to add /usr/local/lib/eopenssl30/man to /etc/man.conf%0a%3c %0a +host:1637199434=180.241.250.156 +author:1637198664=dodocrypto +diff:1637198664:1637197581:=64,65c64,92%0a%3c 0dev# pkg_add gcc g++ gmake python3 python openssl%0a%3c %0a---%0a> 0dev# pkg_add gcc g++ make python3 python%0a> quirks-4.53 signed on 2021-11-16T18:52:34Z%0a> Ambiguous: choose package for gcc%0a> a 0: %3cNone>%0a> 1: gcc-8.4.0p9%0a> 2: gcc-11.2.0p0%0a> Your choice: 2%0a> gcc-11.2.0p0:gmp-6.2.1p0: ok%0a> gcc-11.2.0p0:gcc-libs-11.2.0p0: ok%0a> gcc-11.2.0p0:mpfr-4.1.0: ok%0a> gcc-11.2.0p0:libmpc-1.1.0: ok%0a> gcc-11.2.0p0: ok%0a> Ambiguous: choose package for g++%0a> a 0: %3cNone>%0a> 1: g++-8.4.0p9%0a> 2: g++-11.2.0p0%0a> Your choice: 2%0a> g++-11.2.0p0: ok%0a> Can't find make%0a> python3-3.8p0: ok%0a> Ambiguous: choose package for python%0a> a 0: %3cNone>%0a> 1: python-2.7.18p3%0a> 2: python-3.8.12%0a> 3: python-3.9.7%0a> Your choice: 3%0a> python-3.9.7: ok%0a> 0dev# make %0a> make: no target to make.%0a +host:1637198664=180.241.250.156 +author:1637197581=dodocrypto +diff:1637197581:1637164249:=93,95d92%0a%3c %0a%3c # ln -s /usr/local/bin/egcc /usr/local/bin/gcc%0a%3c # ln -s /usr/local/bin/eg++ /usr/local/bin/g++%0a +host:1637197581=180.241.250.156 +author:1637164249=dodocrypto +diff:1637164249:1637163875:=58,94c58%0a%3c # 0dev$ tar -zxvf node-v16.13.0.tar.gz %0a%3c %0a%3c # Now Lets Install all dependency so that we can compile node%0a%3c %0a%3c [@%0a%3c %0a%3c 0dev# pkg_add gcc g++ make python3 python%0a%3c quirks-4.53 signed on 2021-11-16T18:52:34Z%0a%3c Ambiguous: choose package for gcc%0a%3c a 0: %3cNone>%0a%3c 1: gcc-8.4.0p9%0a%3c 2: gcc-11.2.0p0%0a%3c Your choice: 2%0a%3c gcc-11.2.0p0:gmp-6.2.1p0: ok%0a%3c gcc-11.2.0p0:gcc-libs-11.2.0p0: ok%0a%3c gcc-11.2.0p0:mpfr-4.1.0: ok%0a%3c gcc-11.2.0p0:libmpc-1.1.0: ok%0a%3c gcc-11.2.0p0: ok%0a%3c Ambiguous: choose package for g++%0a%3c a 0: %3cNone>%0a%3c 1: g++-8.4.0p9%0a%3c 2: g++-11.2.0p0%0a%3c Your choice: 2%0a%3c g++-11.2.0p0: ok%0a%3c Can't find make%0a%3c python3-3.8p0: ok%0a%3c Ambiguous: choose package for python%0a%3c a 0: %3cNone>%0a%3c 1: python-2.7.18p3%0a%3c 2: python-3.8.12%0a%3c 3: python-3.9.7%0a%3c Your choice: 3%0a%3c python-3.9.7: ok%0a%3c 0dev# make %0a%3c make: no target to make.%0a%3c %0a%3c @]%0a---%0a> %0a +host:1637164249=180.241.250.156 +author:1637163875=dodocrypto +diff:1637163875:1637163702:=55,58c55%0a%3c %0a%3c # 0dev$ wget https://nodejs.org/dist/v16.13.0/node-v16.13.0.tar.gz%0a%3c # as for now the latest version is node-v16.13.0.tar.gz%0a%3c %0a---%0a> @]%0a\ No newline at end of file%0a +host:1637163875=180.241.250.156 +author:1637163702=dodocrypto +diff:1637163702:1637163466:=45,55c45%0a%3c # Add Bash shell and wget%0a%3c %0a%3c [@%0a%3c %0a%3c 0dev# pkg_add wget bash %0a%3c quirks-4.53 signed on 2021-11-16T18:52:34Z%0a%3c wget-1.21.2: ok%0a%3c bash-5.1.8: ok%0a%3c %0a%3c %0a%3c @]%0a\ No newline at end of file%0a---%0a> %0a +host:1637163702=180.241.250.156 +author:1637163466=dodocrypto +diff:1637163466:1637163055:=44c44,48%0a%3c # Next we want to upgrade node the latest LTS%0a---%0a> # Next let's update node through npm%0a> %0a> [@%0a> %0a> @]%0a +host:1637163466=180.241.250.156 +author:1637163055=dodocrypto +diff:1637163055:1637163042:= +host:1637163055=180.241.250.156 +author:1637163042=dodocrypto +diff:1637163042:1637162798:= +host:1637163042=180.241.250.156 +author:1637162798=dodocrypto +diff:1637162798:1637162563:=47c47,59%0a%3c %0a---%0a> 0dev# npm install -g n stable%0a> %0a> added 2 packages, and audited 3 packages in 2s%0a> %0a> found 0 vulnerabilities%0a> 0dev# %0a> @]%0a> %0a> # Next we need bash shell to run n that we just installed %0a> [@%0a> 0dev# pkg_add bash%0a> quirks-4.53 signed on 2021-11-16T18:52:34Z%0a> bash-5.1.8: ok%0a +host:1637162798=180.241.250.156 +author:1637162563=dodocrypto +diff:1637162563:1637162199:=54,61d53%0a%3c %0a%3c # Next we need bash shell to run n that we just installed %0a%3c [@%0a%3c 0dev# pkg_add bash%0a%3c quirks-4.53 signed on 2021-11-16T18:52:34Z%0a%3c bash-5.1.8: ok%0a%3c @]%0a%3c %0a +host:1637162563=180.241.250.156 +author:1637162199=dodocrypto +diff:1637162199:1637162001:=44,53c44%0a%3c # Next let's update node through npm%0a%3c %0a%3c [@%0a%3c 0dev# npm install -g n stable%0a%3c %0a%3c added 2 packages, and audited 3 packages in 2s%0a%3c %0a%3c found 0 vulnerabilities%0a%3c 0dev# %0a%3c @]%0a---%0a> # Next let's update node through npm%0a\ No newline at end of file%0a +host:1637162199=180.241.250.156 +author:1637162001=dodocrypto +diff:1637162001:1637161858:=29,44c29%0a%3c [@%0a%3c %0a%3c 0dev# npm install -g npm@latest%0a%3c /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js%0a%3c /usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js%0a%3c + npm@8.1.3%0a%3c added 70 packages from 18 contributors, removed 290 packages and updated 148 packages in 33.467s%0a%3c 0dev# npm -v%0a%3c 8.1.3%0a%3c 0dev# %0a%3c %0a%3c @]%0a%3c %0a%3c # As per november 17 2021 latest is 8.1.3%0a%3c %0a%3c # Next let's update node through npm%0a\ No newline at end of file%0a---%0a> [@%0a\ No newline at end of file%0a +host:1637162001=180.241.250.156 +author:1637161858=dodocrypto +diff:1637161858:1637161703:=6,8c6,7%0a%3c # This will give us node version 12.22.6 and npm 6.14.15 which is so outdated as 2021 November%0a%3c %0a%3c %0a---%0a> # This will give us%0a> %0a12d10%0a%3c %0a18d15%0a%3c %0a21d17%0a%3c %0a24,29c20,23%0a%3c %0a%3c @]%0a%3c %0a%3c # lets update NPM to the latest version%0a%3c %0a%3c [@%0a\ No newline at end of file%0a---%0a> 0dev# %0a> %0a> %0a> @]%0a\ No newline at end of file%0a +host:1637161858=180.241.250.156 +author:1637161703=dodocrypto +diff:1637161703:1637161703:=1,23d0%0a%3c # OPENBSD Install and Update To Latest Stable Version%0a%3c %0a%3c # Step 1 : install using port %0a%3c # pkg_add node%0a%3c %0a%3c # This will give us%0a%3c %0a%3c [@%0a%3c %0a%3c 0dev# pkg_add node%0a%3c quirks-4.53 signed on 2021-11-16T18:52:34Z%0a%3c node-12.22.6p0: ok%0a%3c --- +node-12.22.6p0 -------------------%0a%3c You may wish to add /usr/local/lib/node_modules/npm/man to /etc/man.conf%0a%3c You may wish to add /usr/local/lib/node_modules/sshpk/man to /etc/man.conf%0a%3c 0dev# node -v%0a%3c v12.22.6%0a%3c 0dev# npm -v%0a%3c 6.14.15%0a%3c 0dev# %0a%3c %0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1637161703=180.241.250.156 blob - /dev/null blob + 20550b952a55e5d6644c4018a4f4ba85482e605d (mode 644) --- /dev/null +++ wiki.d/NodeJS.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +charset=UTF-8 +ctime=1637161703 +host=180.241.250.156 +name=NodeJS.RecentChanges +rev=37 +text=* [[NodeJS/Install]] . . . November 18, 2021, at 12:02 PM by [[~dodocrypto]]: [==]%0a +time=1637236923 blob - /dev/null blob + 28e2362469df3b80302ab89e2c52a2a1f7dd2e94 (mode 644) --- /dev/null +++ wiki.d/Nsd.Configure @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1614602778 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Nsd.Configure +rev=8 +targets=Openbsd.Delphinusdnsd,Openbsd.Tcpip,IPv4.Overview,IPv6.Overview,Openbsd.Dns,Dns.Records,Openbsd.Dnszones,Openbsd.Sockets,IP.Myaddress,Openbsd.Ifconfig,Openbsd.Hostnameif0,Openbsd.Buyvm,Openbsd.Vmminstall,Openbsd.Domains,Openbsd.Host,Openbsd.Dig,Openbsd.FQDN +text=(:title Configuring nsd:)%0a%0ansd is an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%0aAdvantages of nsd:%0a%0a# Audited by the OpenBSD team%0a# Simpler than BIND%0a%0aDisadvantages of nsd:%0a%0a# More difficult to fork compared to [[openbsd/delphinusdnsd|delphinusdnsd]]%0a%0a'''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[IPv4.Overview|IPv4]] and [[IPv6.Overview|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[dns/records|resource records]], and [[openbsd/dnszones|zone files]].%0a%0a!! Introduction%0a%0aPlease read through the [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-control|nsd-control]] man pages.%0a%0a!! nsd.conf%0a%0aEdit these sections in /var/nsd/etc/nsd.conf:%0a%0a[@%0aserver:%0a hide-version: yes%0a verbosity: 2%0a database: "" # disable database%0a username: _nsd%0a logfile: "/var/log/nsd.log"%0a@]%0a%0aYou'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/sockets|socket]], and we want to log to /var/log/nsd.log.%0a%0a[@%0a## bind to a specific address/port%0a ip-address: 198.51.100.1%0a# ip-address: 192.0.2.53@5678%0a ip-address: 2001:db8::%0a@]%0a%0aWe bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with [[IP/myaddress|your real public IP addresses]]).%0a%0a'''Note''': If you forget your real public IP addresses, you can check [[openbsd/ifconfig|ifconfig]], your [[openbsd/hostnameif0|hostname.if0]], or check your [[openbsd/buyvm|BuyVM]] or [[openbsd/vmminstall|VMM install]] guides.%0a%0a[@%0aremote-control:%0a control-enable: yes%0a control-interface: /var/run/nsd.sock%0a@]%0a%0aThis will allow using [[https://man.openbsd.org/nsd-control|nsd-control]] to control the server.%0a%0a!! Master-Only Server%0a%0aThe [[openbsd/dns|DNS system]] requires you to specify master and slave servers. Internet standards require every zone to have at least two name servers, so you'll normally need to configure both a master and a slave.%0a%0aTo start off, we'll configure just a master name server. This will let us quickly test to see if our name server is working:%0a%0a[@%0a## master zone example%0azone:%0a name: "example.ircnow.org"%0a zonefile: "master/example.ircnow.org"%0a# notify: 192.0.2.1 NOKEY%0a# provide-xfr: 192.0.2.1 NOKEY%0a@]%0a%0aWe'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered, such as @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a%0a!! Write the Zone File%0a%0aWrite your [[openbsd/dnszones|DNS zone]] into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a%0a[@%0a$ORIGIN example.ircnow.org.%0aexample.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a 2021020301 ; serial YYYYMMDDnn%0a 1800 ; refresh%0a 3600 ; retry%0a 86400 ; expire%0a 3600 ) ; minimum TTL%0a 3600 IN MX 10 mail%0a 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0a 3600 IN NS ns1%0a 3600 IN NS ns2%0ans1 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0ans2 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0awww 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0airc 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0aimap 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0asmtp 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0amail 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0a@]%0a%0aFor an explanation of how to interpret this zone file, please see the section on [[openbsd/dnszones|DNS zones]].%0a%0a!! Start NSD and Test%0a%0aAt this point, we can start nsd:%0a%0a[@%0a$ doas rcctl enable nsd%0a$ doas rcctl start nsd%0a@]%0a%0aIf all was configured correctly, we should now be able to query our nameserver with [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%0a[@%0a$ host www.example.ircnow.org example.ircnow.org%0aUsing domain server:%0aName: example.ircnow.org%0aAddress: 198.51.100.1#53%0aAliases: %0a%0awww.example.ircnow.org has address 198.51.100.1%0awww.example.ircnow.org has IPv6 address 2001:db8::%0a@]%0a%0aThis will query the name server example.ircnow.org for the resource records in www.example.ircnow.org.%0a%0a!! Delegate Zone%0a%0aOnce you've confirmed nsd works, you want to delegate authority for the zone to your nameserver. If you're using an ircnow.org subdomain, you'll need to ask the sysadmin in charge to finish this step. If you registered a domain elsewhere, make sure that the nameserver for the domain points to your nameserver (@@ns1.example.com@@ and @@ns2.example.com@@) and that the glue records are defined.%0a%0a!! Troubleshooting%0a%0aIf at any step you are not getting proper results, you should first check the conf and zones using these helpful tools:%0a%0a[@%0a$ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a/var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0aread /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a@]%0a%0aThe error is found on line 34 of /var/nsd/etc/nsd.conf:%0a%0a[@%0a#zone:%0a name: "example.ircnow.org"%0a zonefile: "master/example.ircnow.org"%0a@]%0a%0aHere we forgot to uncomment @@zone:@@. Once that is done, try again. If there are no errors, [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]] will not return any output -- no news is good news!%0a%0aYou'll also want to check if the zone is valid:%0a%0a[@%0a$ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a[2021-02-02 03:49:14.921] nsd-checkzone[32265]: error: /var/nsd/zones/master/example.ircnow.org:8: out of zone data: out.of.zone.com. is outside the zone for fqdn example.ircnow.org.%0a@]%0a%0aThe error is on line 8 of /var/nsd/zones/master/example.ircnow.org:%0a%0a[@%0aout.of.zone.example.com. 3600 IN A 10.0.0.1%0a@]%0a%0aHere we specify a [[openbsd/FQDN|FQDN]] out.of.zone.example.com. which is outside of the zone for this file (example.ircnow.org). This is invalid so nsd refuses to look any further and quits. In this case, we need to delete this line (or perhaps move it to the proper zone file). Once that is done, run the test again:%0a%0a[@%0a$ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0azone example.ircnow.org is ok%0a@]%0a%0aYou can also run nsd in the foreground or view the logs:%0a%0a[@%0a$ doas nsd -d -V 3 %0a/var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0aread /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a[2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a@]%0a%0aThis is the same error message as before when we ran nsd-checkconf above.%0a%0aSuppose we had deleted /var/nsd/zones/master/example.ircnow.org. When we check /var/log/nsd.log, we see:%0a%0a[@%0a[2021-02-02 07:31:43.898] nsd[37575]: info: zonefile master/example.ircnow.org does not exist%0a@]%0a%0a'''Tip''': Whenever you encounter an error with nsd, always check /var/log/nsd.log.%0a%0a!! See Also%0a%0a[[https://www.denic.de/en/service/tools/nast/|Nameserver Check]] +time=1636545509 +title=Configuring nsd +author:1636545509=Hawk +diff:1636545509:1630779885:minor=14c14%0a%3c '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[IPv4.Overview|IPv4]] and [[IPv6.Overview|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[dns/records|resource records]], and [[openbsd/dnszones|zone files]].%0a---%0a> '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[IPv4.Overview|IPv4]] and [[IPv6.Overview|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a +host:1636545509=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1630779885=mkf +diff:1630779885:1630779884:= +host:1630779885=217.23.3.92 +author:1630779884=mkf +diff:1630779884:1628081781:=14c14%0a%3c '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[IPv4.Overview|IPv4]] and [[IPv6.Overview|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a---%0a> '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a +host:1630779884=217.23.3.92 +author:1628081781=mistera +diff:1628081781:1628081571:=77c77%0a%3c example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a---%0a> example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin@example.ircnow.org. (%0a +host:1628081781=204.111.39.57 +author:1628081571=mistera +diff:1628081571:1621252491:=77c77%0a%3c example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin@example.ircnow.org. (%0a---%0a> example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a +host:1628081571=204.111.39.57 +author:1621252491=jrmu +diff:1621252491:1621252445:=42c42%0a%3c We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with [[IP/myaddress|your real public IP addresses]]).%0a---%0a> We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with [[ip/myaddress|your real public IP addresses]]).%0a +host:1621252491=198.251.81.119 +author:1621252445=jrmu +diff:1621252445:1614602778:=42c42%0a%3c We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with [[ip/myaddress|your real public IP addresses]]).%0a---%0a> We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a +host:1621252445=198.251.81.119 +author:1614602778=jrmu +diff:1614602778:1614602778:=1,195d0%0a%3c (:title Configuring nsd:)%0a%3c %0a%3c nsd is an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c Advantages of nsd:%0a%3c %0a%3c # Audited by the OpenBSD team%0a%3c # Simpler than BIND%0a%3c %0a%3c Disadvantages of nsd:%0a%3c %0a%3c # More difficult to fork compared to [[openbsd/delphinusdnsd|delphinusdnsd]]%0a%3c %0a%3c '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a%3c %0a%3c !! Introduction%0a%3c %0a%3c Please read through the [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-control|nsd-control]] man pages.%0a%3c %0a%3c !! nsd.conf%0a%3c %0a%3c Edit these sections in /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c server:%0a%3c hide-version: yes%0a%3c verbosity: 2%0a%3c database: "" # disable database%0a%3c username: _nsd%0a%3c logfile: "/var/log/nsd.log"%0a%3c @]%0a%3c %0a%3c You'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/sockets|socket]], and we want to log to /var/log/nsd.log.%0a%3c %0a%3c [@%0a%3c ## bind to a specific address/port%0a%3c ip-address: 198.51.100.1%0a%3c # ip-address: 192.0.2.53@5678%0a%3c ip-address: 2001:db8::%0a%3c @]%0a%3c %0a%3c We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a%3c %0a%3c '''Note''': If you forget your real public IP addresses, you can check [[openbsd/ifconfig|ifconfig]], your [[openbsd/hostnameif0|hostname.if0]], or check your [[openbsd/buyvm|BuyVM]] or [[openbsd/vmminstall|VMM install]] guides.%0a%3c %0a%3c [@%0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/run/nsd.sock%0a%3c @]%0a%3c %0a%3c This will allow using [[https://man.openbsd.org/nsd-control|nsd-control]] to control the server.%0a%3c %0a%3c !! Master-Only Server%0a%3c %0a%3c The [[openbsd/dns|DNS system]] requires you to specify master and slave servers. Internet standards require every zone to have at least two name servers, so you'll normally need to configure both a master and a slave.%0a%3c %0a%3c To start off, we'll configure just a master name server. This will let us quickly test to see if our name server is working:%0a%3c %0a%3c [@%0a%3c ## master zone example%0a%3c zone:%0a%3c name: "example.ircnow.org"%0a%3c zonefile: "master/example.ircnow.org"%0a%3c # notify: 192.0.2.1 NOKEY%0a%3c # provide-xfr: 192.0.2.1 NOKEY%0a%3c @]%0a%3c %0a%3c We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered, such as @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a%3c %0a%3c !! Write the Zone File%0a%3c %0a%3c Write your [[openbsd/dnszones|DNS zone]] into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a%3c %0a%3c [@%0a%3c $ORIGIN example.ircnow.org.%0a%3c example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a%3c 2021020301 ; serial YYYYMMDDnn%0a%3c 1800 ; refresh%0a%3c 3600 ; retry%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c 3600 IN MX 10 mail%0a%3c 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c 3600 IN NS ns1%0a%3c 3600 IN NS ns2%0a%3c ns1 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c ns2 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c www 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c irc 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c imap 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c smtp 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c mail 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c @]%0a%3c %0a%3c For an explanation of how to interpret this zone file, please see the section on [[openbsd/dnszones|DNS zones]].%0a%3c %0a%3c !! Start NSD and Test%0a%3c %0a%3c At this point, we can start nsd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c @]%0a%3c %0a%3c If all was configured correctly, we should now be able to query our nameserver with [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a%3c [@%0a%3c $ host www.example.ircnow.org example.ircnow.org%0a%3c Using domain server:%0a%3c Name: example.ircnow.org%0a%3c Address: 198.51.100.1#53%0a%3c Aliases: %0a%3c %0a%3c www.example.ircnow.org has address 198.51.100.1%0a%3c www.example.ircnow.org has IPv6 address 2001:db8::%0a%3c @]%0a%3c %0a%3c This will query the name server example.ircnow.org for the resource records in www.example.ircnow.org.%0a%3c %0a%3c !! Delegate Zone%0a%3c %0a%3c Once you've confirmed nsd works, you want to delegate authority for the zone to your nameserver. If you're using an ircnow.org subdomain, you'll need to ask the sysadmin in charge to finish this step. If you registered a domain elsewhere, make sure that the nameserver for the domain points to your nameserver (@@ns1.example.com@@ and @@ns2.example.com@@) and that the glue records are defined.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If at any step you are not getting proper results, you should first check the conf and zones using these helpful tools:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a%3c /var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0a%3c read /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a%3c @]%0a%3c %0a%3c The error is found on line 34 of /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c #zone:%0a%3c name: "example.ircnow.org"%0a%3c zonefile: "master/example.ircnow.org"%0a%3c @]%0a%3c %0a%3c Here we forgot to uncomment @@zone:@@. Once that is done, try again. If there are no errors, [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]] will not return any output -- no news is good news!%0a%3c %0a%3c You'll also want to check if the zone is valid:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a%3c [2021-02-02 03:49:14.921] nsd-checkzone[32265]: error: /var/nsd/zones/master/example.ircnow.org:8: out of zone data: out.of.zone.com. is outside the zone for fqdn example.ircnow.org.%0a%3c @]%0a%3c %0a%3c The error is on line 8 of /var/nsd/zones/master/example.ircnow.org:%0a%3c %0a%3c [@%0a%3c out.of.zone.example.com. 3600 IN A 10.0.0.1%0a%3c @]%0a%3c %0a%3c Here we specify a [[openbsd/FQDN|FQDN]] out.of.zone.example.com. which is outside of the zone for this file (example.ircnow.org). This is invalid so nsd refuses to look any further and quits. In this case, we need to delete this line (or perhaps move it to the proper zone file). Once that is done, run the test again:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a%3c zone example.ircnow.org is ok%0a%3c @]%0a%3c %0a%3c You can also run nsd in the foreground or view the logs:%0a%3c %0a%3c [@%0a%3c $ doas nsd -d -V 3 %0a%3c /var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0a%3c read /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a%3c [2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a%3c @]%0a%3c %0a%3c This is the same error message as before when we ran nsd-checkconf above.%0a%3c %0a%3c Suppose we had deleted /var/nsd/zones/master/example.ircnow.org. When we check /var/log/nsd.log, we see:%0a%3c %0a%3c [@%0a%3c [2021-02-02 07:31:43.898] nsd[37575]: info: zonefile master/example.ircnow.org does not exist%0a%3c @]%0a%3c %0a%3c '''Tip''': Whenever you encounter an error with nsd, always check /var/log/nsd.log.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[https://www.denic.de/en/service/tools/nast/|Nameserver Check]]%0a\ No newline at end of file%0a +host:1614602778=198.251.81.119 blob - /dev/null blob + 6b2eb0a038a1dde86cf751405861e68a77c68865 (mode 644) --- /dev/null +++ wiki.d/Nsd.Masterslave @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612258964 +host=198.251.81.119 +name=Nsd.Masterslave +rev=1 +targets=Openbsd.FQDN,Openbsd.Base64 +text=%0a!! Master/Slave Servers%0a%0a[@%0a## slave zone example%0a#zone:%0a# name: "example.net"%0a# zonefile: "slave/example.net"%0a# allow-notify: 192.0.2.2 tsig1.example.com.%0a# request-xfr: 192.0.2.2 tsig1.example.com.%0a@]%0a%0a[@%0a## tsig key example%0akey:%0a name: "example.ircnow.org"%0a algorithm: hmac-sha256%0a secret: "bXBjY3B3alVhaDJrYTBSRENtc01RUmNlYmlj"%0a@]%0a%0aIt's a good idea to name the key after your domain, with a final period at the end to show that it is a [[openbsd/FQDN|fully qualified domain name]]. For the secret, you must put in the [[openbsd/base64|base64 encoding]] of a random string. Make it longer for more security.%0a%0a%0a!! Primary and secondary server%0a%0aIf you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "master/example.net"%0a notify: 20.20.20.20 NOKEY%0a provide-xfr: 20.20.20.20 NOKEY%0a@]%0a%0aCreate a new block in the secondary server config file, as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "slave/example.net"%0a allow-notify: 10.10.10.10 NOKEY%0a request-xfr: 10.10.10.10 NOKEY%0a@]%0a%0a!! The zone file for NSD%0a%0aThe next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%0a[@%0a; Domain file from My project%0a%0aexample.net. 3600 SOA ns.example.net. admin.example.net. (%0a 2020070701 ; serial YYYYMMDDnn%0a 10800 ; refresh%0a 3600 ; retry%0a 604800 ; expire%0a 86400 ) ; minimum TTL%0a%0aexample.net. NS ns.example.net.%0aexample.net. NS ns.secondary.net.%0ans A 10.10.10.10%0aexample.net. A 10.10.10.10%0awww A 10.10.10.10%0airc A 10.10.10.10%0aimap A 10.10.10.10%0asmtp A 10.10.10.10%0aexample.net. mx 10 smtp.example.net.%0a@]%0a%0aSave this zone file as /var/nsd/zones/master/example.net%0a +time=1612258964 +author:1612258964=jrmu +diff:1612258964:1612258964:=1,71d0%0a%3c %0a%3c !! Master/Slave Servers%0a%3c %0a%3c [@%0a%3c ## slave zone example%0a%3c #zone:%0a%3c # name: "example.net"%0a%3c # zonefile: "slave/example.net"%0a%3c # allow-notify: 192.0.2.2 tsig1.example.com.%0a%3c # request-xfr: 192.0.2.2 tsig1.example.com.%0a%3c @]%0a%3c %0a%3c [@%0a%3c ## tsig key example%0a%3c key:%0a%3c name: "example.ircnow.org"%0a%3c algorithm: hmac-sha256%0a%3c secret: "bXBjY3B3alVhaDJrYTBSRENtc01RUmNlYmlj"%0a%3c @]%0a%3c %0a%3c It's a good idea to name the key after your domain, with a final period at the end to show that it is a [[openbsd/FQDN|fully qualified domain name]]. For the secret, you must put in the [[openbsd/base64|base64 encoding]] of a random string. Make it longer for more security.%0a%3c %0a%3c %0a%3c !! Primary and secondary server%0a%3c %0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a%3c @]%0a%3c %0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "slave/example.net"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a%3c @]%0a%3c %0a%3c !! The zone file for NSD%0a%3c %0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a%3c [@%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c @]%0a%3c %0a%3c Save this zone file as /var/nsd/zones/master/example.net%0a +host:1612258964=198.251.81.119 blob - /dev/null blob + 9b8383df6e1562f83ef47c7424a5261d486abb70 (mode 644) --- /dev/null +++ wiki.d/Nsd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +charset=UTF-8 +ctime=1612258964 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Nsd.RecentChanges +rev=13 +text=* [[Nsd/Configure]] . . . November 10, 2021, at 11:58 AM by [[~Hawk]]: [==]%0a* [[Nsd/Zone]] . . . July 27, 2021, at 11:21 AM by [[~jrmu]]: [==]%0a* [[Nsd/Masterslave]] . . . February 02, 2021, at 09:42 AM by [[~jrmu]]: [==]%0a +time=1636545509 blob - /dev/null blob + b6acf900ea060d9a6165c3b3b2486dbfc70ebfec (mode 644) --- /dev/null +++ wiki.d/Nsd.Zone @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627383211 +host=38.87.162.8 +name=Nsd.Zone +rev=4 +targets= +text=(:title NSD Zone Files:)%0a%0a!! Adding records to zone files%0a%0aSuppose you want to create an entry for @@subdomain.example.com@@.%0a%0aFirst, open up the file @@/var/nsd/zones/master/example.com@@ and add these two lines:%0a%0a[@%0asubdomain 3600 IN A 38.87.162.8 %0a 3600 IN AAAA 2602:fccf:1:1008::%0a@]%0a%0aThen, you will want to update the serial number in the Start of Authority record:%0a%0a[@%0a$ORIGIN example.com.%0aexample.com. 3600 SOA ns1.example.com. admin.example.com. (%0a 2021072701 ; serial YYYYMMDDnn%0a 1800 ; refresh%0a 3600 ; retry%0a 86400 ; expire%0a 3600 ) ; minimum TTL%0a@]%0a%0aThe serial number in a zone file is written in this form: YYYYMMDDnn.%0aYYYY is the year, MM is the month, DD is the day, and nn are two digits.%0aHere, 2021072701 tells us that this zone was written on July 27th, 2021.%0aIt was the 1st edit of that day.%0a%0aAfter you add records, make sure to increase the serial number to the correct%0aday. If multiple edits are made on the same day, increase the two-digit number by%0aone.%0a%0aThen, run @@doas nsd-control reload@@ to reload the zone files.%0a%0a!! Test the Results%0a%0aAfter you update the zone file, make sure to test that the record has been updated:%0a%0a[@%0a$ host subdomain.example.com%0aexample.com has address 192.168.0.1%0aexample.com has IPv6 address 2001:db8::%0a@]%0a +time=1627384900 +title=NSD Zone Files +author:1627384900=jrmu +diff:1627384900:1627384838:=44c44%0a%3c example.com has IPv6 address 2001:db8::%0a---%0a> example.com has IPv6 address 2001:bd8::%0a +host:1627384900=38.87.162.8 +author:1627384838=jrmu +diff:1627384838:1627384091:=5,8c5,8%0a%3c Suppose you want to create an entry for @@subdomain.example.com@@.%0a%3c %0a%3c First, open up the file @@/var/nsd/zones/master/example.com@@ and add these two lines:%0a%3c %0a---%0a> Suppose you want to create an entry for subdomain.example.com.%0a> %0a> First, open up the file /var/nsd/zones/master/example.com and add these two lines:%0a> %0a10,11c10,11%0a%3c subdomain 3600 IN A 38.87.162.8 %0a%3c 3600 IN AAAA 2602:fccf:1:1008::%0a---%0a> wiki 3600 IN A 38.87.162.8 %0a> 3600 IN AAAA 2602:fccf:1:1008::%0a37,45c37%0a%3c !! Test the Results%0a%3c %0a%3c After you update the zone file, make sure to test that the record has been updated:%0a%3c %0a%3c [@%0a%3c $ host subdomain.example.com%0a%3c example.com has address 192.168.0.1%0a%3c example.com has IPv6 address 2001:bd8::%0a%3c @]%0a---%0a> %0a +host:1627384838=38.87.162.8 +author:1627384091=jrmu +diff:1627384091:1627383211:=5,9c5,6%0a%3c Suppose you want to create an entry for subdomain.example.com.%0a%3c %0a%3c First, open up the file /var/nsd/zones/master/example.com and add these two lines:%0a%3c %0a%3c [@%0a---%0a> If you have a subdomain%0a> %0a12,36d8%0a%3c @]%0a%3c %0a%3c Then, you will want to update the serial number in the Start of Authority record:%0a%3c %0a%3c [@%0a%3c $ORIGIN example.com.%0a%3c example.com. 3600 SOA ns1.example.com. admin.example.com. (%0a%3c 2021072701 ; serial YYYYMMDDnn%0a%3c 1800 ; refresh%0a%3c 3600 ; retry%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c @]%0a%3c %0a%3c The serial number in a zone file is written in this form: YYYYMMDDnn.%0a%3c YYYY is the year, MM is the month, DD is the day, and nn are two digits.%0a%3c Here, 2021072701 tells us that this zone was written on July 27th, 2021.%0a%3c It was the 1st edit of that day.%0a%3c %0a%3c After you add records, make sure to increase the serial number to the correct%0a%3c day. If multiple edits are made on the same day, increase the two-digit number by%0a%3c one.%0a%3c %0a%3c Then, run @@doas nsd-control reload@@ to reload the zone files.%0a%3c %0a +host:1627384091=38.87.162.8 +author:1627383211=jrmu +diff:1627383211:1627383211:=1,9d0%0a%3c (:title NSD Zone Files:)%0a%3c %0a%3c !! Adding records to zone files%0a%3c %0a%3c If you have a subdomain%0a%3c %0a%3c wiki 3600 IN A 38.87.162.8 %0a%3c 3600 IN AAAA 2602:fccf:1:1008::%0a%3c %0a +host:1627383211=38.87.162.8 blob - /dev/null blob + eed6aca37ab7178140a33d303edb62c69ccd9bd4 (mode 644) --- /dev/null +++ wiki.d/Oddprotocol.Hardware @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627824496 +host=38.87.162.8 +name=Oddprotocol.Hardware +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627824496 +author:1627824496=jrmu +diff:1627824496:1627824496:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a +host:1627824496=38.87.162.8 blob - /dev/null blob + b44b165afcfc1fc49ac40955ae7e957ae84c5900 (mode 644) --- /dev/null +++ wiki.d/Oddprotocol.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627824496 +host=38.87.162.8 +name=Oddprotocol.RecentChanges +rev=1 +text=* [[Oddprotocol/Hardware]] . . . August 01, 2021, at 01:28 PM by [[~jrmu]]: [==]%0a +time=1627824496 blob - /dev/null blob + 8b76600a7b4cbf0860be97c5268c8357bc44a23f (mode 644) --- /dev/null +++ wiki.d/Oidentd.Install @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613134080 +host=198.251.81.119 +name=Oidentd.Install +rev=5 +targets=Oidentd.ZNC +text=(:title Installing oidentd:)%0a%0aoidentd helps provide ident, which is necessary if you're providing a public bouncer or shell account. Ident helps you uniquely identify your users on IRC. Even if a user changes his nick, you can figure out which user it was on your system based on his ident. This makes it easier to prevent abuse.%0a%0aFirst, we install oidentd:%0a%0a[@%0a$ doas pkg_add oidentd%0a@]%0a%0aAfterwards, inside /etc/rc.local, we put the following:%0a%0a[@%0aif [ -x /usr/local/sbin/oidentd ]; then%0a echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0afi%0a@]%0a%0a'''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%0aThis ensures that oident starts at bootup and runs as the user and group _identd.%0a%0aNow, to start oidentd, run:%0a%0a[@%0a$ doas /usr/local/sbin/oidentd -u _identd -g _identd%0a@]%0a%0a!! Spoofing Ident (Optional)%0a%0aIf you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a%0a[@%0auser "username" {%0a default {%0a allow spoof%0a allow spoof_all%0a }%0a}%0a@]%0a%0aFor example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a%0aIf you want to force an ident reply, use%0a%0a[@%0auser "username" {%0a default {%0a force reply "botnick"%0a }%0a}%0a@]%0a%0aReplace botnick with your desired ident. +time=1614414731 +title=Installing oidentd +author:1614414731=jrmu +diff:1614414731:1613136757:=22,27d21%0a%3c %0a%3c Now, to start oidentd, run:%0a%3c %0a%3c [@%0a%3c $ doas /usr/local/sbin/oidentd -u _identd -g _identd%0a%3c @]%0a +host:1614414731=198.251.81.119 +author:1613136757=jrmu +diff:1613136757:1613134212:=36,48c36%0a%3c For example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a%3c %0a%3c If you want to force an ident reply, use%0a%3c %0a%3c [@%0a%3c user "username" {%0a%3c default {%0a%3c force reply "botnick"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Replace botnick with your desired ident.%0a\ No newline at end of file%0a---%0a> For example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a\ No newline at end of file%0a +host:1613136757=198.251.81.119 +author:1613134212=jrmu +diff:1613134212:1613134179:=22,23d21%0a%3c %0a%3c !! Spoofing Ident (Optional)%0a +host:1613134212=198.251.81.119 +author:1613134179=jrmu +diff:1613134179:1613134080:= +host:1613134179=198.251.81.119 +author:1613134080=jrmu +diff:1613134080:1613134080:=1,34d0%0a%3c (:title Installing oidentd:)%0a%3c %0a%3c oidentd helps provide ident, which is necessary if you're providing a public bouncer or shell account. Ident helps you uniquely identify your users on IRC. Even if a user changes his nick, you can figure out which user it was on your system based on his ident. This makes it easier to prevent abuse.%0a%3c %0a%3c First, we install oidentd:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add oidentd%0a%3c @]%0a%3c %0a%3c Afterwards, inside /etc/rc.local, we put the following:%0a%3c %0a%3c [@%0a%3c if [ -x /usr/local/sbin/oidentd ]; then%0a%3c echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0a%3c fi%0a%3c @]%0a%3c %0a%3c '''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%3c %0a%3c This ensures that oident starts at bootup and runs as the user and group _identd.%0a%3c %0a%3c If you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a%3c %0a%3c [@%0a%3c user "username" {%0a%3c default {%0a%3c allow spoof%0a%3c allow spoof_all%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c For example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a\ No newline at end of file%0a +host:1613134080=198.251.81.119 blob - /dev/null blob + b2779b95036ad00d336f961b1d776504462045cd (mode 644) --- /dev/null +++ wiki.d/Oidentd.Pylink @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613134742 +host=198.251.81.119 +name=Oidentd.Pylink +rev=3 +targets=Oidentd.Install +text=(:title Configuring oidentd for PyLink:)%0a%0aPlease see the [[oidentd/install|oidentd installation]] guide.%0a%0a!! Spoofing Ident%0a%0aIf you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a%0a[@%0auser "pylink" {%0a default {%0a force reply "botnick"%0a }%0a}%0a@] +time=1613136355 +title=Configuring oidentd for PyLink +author:1613136355=jrmu +diff:1613136355:1613135108:=3,8c3,6%0a%3c Please see the [[oidentd/install|oidentd installation]] guide.%0a%3c %0a%3c !! Spoofing Ident%0a%3c %0a%3c If you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a%3c %0a---%0a> oidentd helps provide ident, which is necessary if you're providing a public bouncer or shell account. Ident helps you uniquely identify your users on IRC. Even if a user changes his nick, you can figure out which user it was on your system based on his ident. This makes it easier to prevent abuse.%0a> %0a> First, we install oidentd:%0a> %0a9a8,27%0a> $ doas pkg_add oidentd%0a> @]%0a> %0a> Afterwards, inside /etc/rc.local, we put the following:%0a> %0a> [@%0a> if [ -x /usr/local/sbin/oidentd ]; then%0a> echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0a> fi%0a> @]%0a> %0a> '''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a> %0a> This ensures that oident starts at bootup and runs as the user and group _identd.%0a> %0a> !! Spoofing Ident (Optional)%0a> %0a> If you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a> %0a> [@%0a12c30%0a%3c force reply "botnick"%0a---%0a> reply "botnick"%0a15c33,35%0a%3c @]%0a\ No newline at end of file%0a---%0a> @]%0a> %0a> Replace botnick with the nick you want for pylink.%0a\ No newline at end of file%0a +host:1613136355=198.251.81.119 +author:1613135108=jrmu +diff:1613135108:1613134742:=30c30,31%0a%3c reply "botnick"%0a---%0a> allow spoof%0a> allow spoof_all%0a35c36%0a%3c Replace botnick with the nick you want for pylink.%0a\ No newline at end of file%0a---%0a> For example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a\ No newline at end of file%0a +host:1613135108=198.251.81.119 +author:1613134742=jrmu +diff:1613134742:1613134742:=1,36d0%0a%3c (:title Configuring oidentd for PyLink:)%0a%3c %0a%3c oidentd helps provide ident, which is necessary if you're providing a public bouncer or shell account. Ident helps you uniquely identify your users on IRC. Even if a user changes his nick, you can figure out which user it was on your system based on his ident. This makes it easier to prevent abuse.%0a%3c %0a%3c First, we install oidentd:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add oidentd%0a%3c @]%0a%3c %0a%3c Afterwards, inside /etc/rc.local, we put the following:%0a%3c %0a%3c [@%0a%3c if [ -x /usr/local/sbin/oidentd ]; then%0a%3c echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0a%3c fi%0a%3c @]%0a%3c %0a%3c '''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%3c %0a%3c This ensures that oident starts at bootup and runs as the user and group _identd.%0a%3c %0a%3c !! Spoofing Ident (Optional)%0a%3c %0a%3c If you need to spoof ident replies, put this inside /etc/oidentd.conf:%0a%3c %0a%3c [@%0a%3c user "pylink" {%0a%3c default {%0a%3c allow spoof%0a%3c allow spoof_all%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c For example, [[oidentd/ZNC|ZNC]] needs ident spoofing to work.%0a\ No newline at end of file%0a +host:1613134742=198.251.81.119 blob - /dev/null blob + a47086e4a2cffbee880cb7d4d45bd7c824a8d746 (mode 644) --- /dev/null +++ wiki.d/Oidentd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613133698 +host=198.251.81.119 +name=Oidentd.RecentChanges +rev=10 +text=* [[Oidentd/ZNC]] . . . February 27, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Oidentd/Install]] . . . February 27, 2021, at 08:32 AM by [[~jrmu]]: [==]%0a* [[Oidentd/Pylink]] . . . February 12, 2021, at 01:25 PM by [[~jrmu]]: [==]%0a +time=1614414819 blob - /dev/null blob + 27cd176704cb7e246fd787f9bf9064a834fee348 (mode 644) --- /dev/null +++ wiki.d/Oidentd.ZNC @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1613133698 +host=198.251.81.119 +name=Oidentd.ZNC +rev=2 +targets=Openbsd.Znc +text=(:title Configuring oidentd for ZNC:)%0a%0aInstalling oidentd is necessary if you're providing a public bouncer. Ident helps ensure that a user of your bouncer can always be uniquely identified, making it easier to ban that user and prevent abuse.%0a%0aYou may want to consult [[https://wiki.znc.in/Identfile|znc's wiki]] as a reference.%0a%0aFirst, we install oidentd:%0a%0a[@%0a$ doas pkg_add oidentd%0a@]%0a%0aAfterwards, inside /etc/rc.local, we put the following:%0a%0a[@%0aif [ -x /usr/local/sbin/oidentd ]; then%0a echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0afi%0a@]%0a%0a'''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%0aThis ensures that oident starts at bootup and runs as the user and group _identd.%0a%0aNow, to start oidentd, run: %0a%0a[@%0a$ doas /usr/local/sbin/oidentd -u _identd -g _identd%0a@]%0a%0aPut this inside /etc/oidentd.conf to spoof ident replies:%0a%0a[@%0auser "znc" {%0a default {%0a allow spoof%0a allow spoof_all%0a }%0a}%0a@]%0a%0aMake sure [[openbsd/znc|the identfile module]] is loaded on znc. %0a%0aWe need to create ~/.oidentd.conf inside the home folder for znc that oidentd will read from to spoof ident replies. This is made more tricky by the fact that znc runs inside a chroot:%0a%0a[@%0a$ doas touch /home/znc/home/znc/.oidentd.conf%0a$ doas ln -s /home/znc/home/znc/.oidentd.conf /home/znc/.oidentd.conf%0a$ doas chmod 664 /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a$ doas chmod 755 /home/znc/ /home/znc/home /home/znc/home/znc%0a$ doas chown znc:znc /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a@]%0a%0aZNC's identfile module will help write to /home/znc/home/znc/.oidentd.conf, which in turn is symlinked to /home/znc/.oidentd.conf . This latter file is what oidentd reads from. We must make sure oidentd can read the .oidentd.conf file by ensuring the permissions on each of the directories leading up the file are at least rwx--x--x.%0a%0aWhile connected to znc using an account with admin rights, send this through your IRC client:%0a%0a[@%0a/msg *status loadmod identfile%0a/msg *identfile setfile ~/.oidentd.conf%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aThis sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a%0a'''Ident Changes by Admins:'''%0a%0aAs we can see, the above command:%0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0awon't allow user to change their ident, and there has been some recent requests on change of ident we admins are required to change it as per the user wants.%0a%0aBut, with the settings above, which reads the znc username as ident reply we can't easily change ident, and hence we used to clone the user account and change the username as their desired ident name, as a result it enforces the user to use new znc username.%0a%0aThere's an alternate way where we can fix this without tampering the username, so upon any ident change requests, we have to run the following in our irc client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25ident%25" }%0a@]%0a%0aWe can then goto the requested users znc settings and change ident box contents to their desired ident for all of their networks, disconnect the user and reconnect the user. %0a%0aVoila, it reads the ident box as "ident", but, this setting alone would also allows the user to change the ident by themself (which we don't want). So, after we successfully confirmed the user's ident reply changed as their desired one. We now have to run the following command on irc-client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aAfter this, '''Do Not''' restart the user. Hence the ident displays the changed one (untill there's a disconnection and reconnection), but also disallows the user to make any changes with it.%0a%0aBut, this is a temporary solution. Everytime the user gets disconnected, upon re-connection, the ident will be changed to their "username".%0a%0aNow, if a single user gets disconnected, we can use the above method to set the new ident and move on.%0aIn the case of server down or other issues, where all znc users get disconnected. We have to do the following in irc-client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25ident%25" }%0a@]%0a%0aAnd '''restart znc''', make sure the idents of the users changed by checking any random user you know whom uses different username and ident,%0a%0aThis way, whatever the user placed on "ident" box would read as ident and gets displayed. %0a%0aAfterwards, the following command should be run via irc-client%0a %0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aThis ensures the user can't change it afterwards. %0a%0a'''Note: The user must have their desired ident on their znc's identbox'''%0a%0aAs you can see, the process is pretty much manual, everytime we have a znc shutdown by any cause, we have to run the above said commands to make sure the user gets their desired ident as well as we have control over the ident.%0a%0a'''Note : If your server has very less users whom use a different ident from their username, It is advised to do manually fix theirs (individually) and restart their znc's, rather than restarting the whole znc.'''%0a%0aIf you have alternative solutions or a way to automate the process, kindly do suggest them. +time=1614414819 +title=Configuring oidentd for ZNC +author:1614414819=jrmu +diff:1614414819:1613133698:=24,29d23%0a%3c %0a%3c Now, to start oidentd, run: %0a%3c %0a%3c [@%0a%3c $ doas /usr/local/sbin/oidentd -u _identd -g _identd%0a%3c @]%0a +host:1614414819=198.251.81.119 +author:1613133698=jrmu +diff:1613133698:1613133698:=1,113d0%0a%3c (:title Configuring oidentd for ZNC:)%0a%3c %0a%3c Installing oidentd is necessary if you're providing a public bouncer. Ident helps ensure that a user of your bouncer can always be uniquely identified, making it easier to ban that user and prevent abuse.%0a%3c %0a%3c You may want to consult [[https://wiki.znc.in/Identfile|znc's wiki]] as a reference.%0a%3c %0a%3c First, we install oidentd:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add oidentd%0a%3c @]%0a%3c %0a%3c Afterwards, inside /etc/rc.local, we put the following:%0a%3c %0a%3c [@%0a%3c if [ -x /usr/local/sbin/oidentd ]; then%0a%3c echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0a%3c fi%0a%3c @]%0a%3c %0a%3c '''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%3c %0a%3c This ensures that oident starts at bootup and runs as the user and group _identd.%0a%3c %0a%3c Put this inside /etc/oidentd.conf to spoof ident replies:%0a%3c %0a%3c [@%0a%3c user "znc" {%0a%3c default {%0a%3c allow spoof%0a%3c allow spoof_all%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Make sure [[openbsd/znc|the identfile module]] is loaded on znc. %0a%3c %0a%3c We need to create ~/.oidentd.conf inside the home folder for znc that oidentd will read from to spoof ident replies. This is made more tricky by the fact that znc runs inside a chroot:%0a%3c %0a%3c [@%0a%3c $ doas touch /home/znc/home/znc/.oidentd.conf%0a%3c $ doas ln -s /home/znc/home/znc/.oidentd.conf /home/znc/.oidentd.conf%0a%3c $ doas chmod 664 /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a%3c $ doas chmod 755 /home/znc/ /home/znc/home /home/znc/home/znc%0a%3c $ doas chown znc:znc /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a%3c @]%0a%3c %0a%3c ZNC's identfile module will help write to /home/znc/home/znc/.oidentd.conf, which in turn is symlinked to /home/znc/.oidentd.conf . This latter file is what oidentd reads from. We must make sure oidentd can read the .oidentd.conf file by ensuring the permissions on each of the directories leading up the file are at least rwx--x--x.%0a%3c %0a%3c While connected to znc using an account with admin rights, send this through your IRC client:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod identfile%0a%3c /msg *identfile setfile ~/.oidentd.conf%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c %0a%3c This sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a%3c %0a%3c '''Ident Changes by Admins:'''%0a%3c %0a%3c As we can see, the above command:%0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c won't allow user to change their ident, and there has been some recent requests on change of ident we admins are required to change it as per the user wants.%0a%3c %0a%3c But, with the settings above, which reads the znc username as ident reply we can't easily change ident, and hence we used to clone the user account and change the username as their desired ident name, as a result it enforces the user to use new znc username.%0a%3c %0a%3c There's an alternate way where we can fix this without tampering the username, so upon any ident change requests, we have to run the following in our irc client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25ident%25" }%0a%3c @]%0a%3c %0a%3c We can then goto the requested users znc settings and change ident box contents to their desired ident for all of their networks, disconnect the user and reconnect the user. %0a%3c %0a%3c Voila, it reads the ident box as "ident", but, this setting alone would also allows the user to change the ident by themself (which we don't want). So, after we successfully confirmed the user's ident reply changed as their desired one. We now have to run the following command on irc-client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c %0a%3c After this, '''Do Not''' restart the user. Hence the ident displays the changed one (untill there's a disconnection and reconnection), but also disallows the user to make any changes with it.%0a%3c %0a%3c But, this is a temporary solution. Everytime the user gets disconnected, upon re-connection, the ident will be changed to their "username".%0a%3c %0a%3c Now, if a single user gets disconnected, we can use the above method to set the new ident and move on.%0a%3c In the case of server down or other issues, where all znc users get disconnected. We have to do the following in irc-client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25ident%25" }%0a%3c @]%0a%3c %0a%3c And '''restart znc''', make sure the idents of the users changed by checking any random user you know whom uses different username and ident,%0a%3c %0a%3c This way, whatever the user placed on "ident" box would read as ident and gets displayed. %0a%3c %0a%3c Afterwards, the following command should be run via irc-client%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c %0a%3c This ensures the user can't change it afterwards. %0a%3c %0a%3c '''Note: The user must have their desired ident on their znc's identbox'''%0a%3c %0a%3c As you can see, the process is pretty much manual, everytime we have a znc shutdown by any cause, we have to run the above said commands to make sure the user gets their desired ident as well as we have control over the ident.%0a%3c %0a%3c '''Note : If your server has very less users whom use a different ident from their username, It is advised to do manually fix theirs (individually) and restart their znc's, rather than restarting the whole znc.'''%0a%3c %0a%3c If you have alternative solutions or a way to automate the process, kindly do suggest them.%0a\ No newline at end of file%0a +host:1613133698=198.251.81.119 blob - /dev/null blob + fd303db9e95143835bb0bce5a4086128fc46a604 (mode 644) --- /dev/null +++ wiki.d/OpenBSD.CPAN @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 +author=Dima +charset=UTF-8 +csum= +ctime=1610459297 +host=31.220.3.148 +name=OpenBSD.CPAN +rev=1 +targets= +text=Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a%0a''The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only).'' (@@man umask@@) +time=1610459297 +author:1610459297=Dima +diff:1610459297:1610459297:=1,3d0%0a%3c Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a%3c %0a%3c ''The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only).'' (@@man umask@@)%0a\ No newline at end of file%0a +host:1610459297=31.220.3.148 blob - /dev/null blob + b263f0d2b1c9f2b07eadd99916c63413c05d1886 (mode 644) --- /dev/null +++ wiki.d/OpenBSD.Perl @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 +author=dima +charset=UTF-8 +csum= +ctime=1610200340 +host=31.220.1.233 +name=OpenBSD.Perl +rev=3 +targets= +text=Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a%0a''The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only).'' (@@man umask@@) +time=1610201084 +author:1610201084=dima +diff:1610201084:1610200936:=3c3%0a%3c ''The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only).'' (@@man umask@@)%0a\ No newline at end of file%0a---%0a> ""The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only)."" (man umask)%0a\ No newline at end of file%0a +host:1610201084=31.220.1.233 +author:1610200936=dima +diff:1610200936:1610200340:=1,3c1%0a%3c Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a%3c %0a%3c ""The default mask value is S_IWGRP|S_IWOTH (022, write access for the owner only)."" (man umask)%0a\ No newline at end of file%0a---%0a> Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a\ No newline at end of file%0a +host:1610200936=31.220.1.233 +author:1610200340=dima +diff:1610200340:1610200340:=1d0%0a%3c Custom @@umask@@ will cause an incorrect permissions for some perl dirs, created during @@cpan@@ usage. As result only you will have access to the required perl libraries. It is importan if you wanna to share those libraries with other users. You need set @@umask@@ to default value before execute @@cpan@@.%0a\ No newline at end of file%0a +host:1610200340=185.42.170.203 blob - /dev/null blob + ce52dbc5b61a803e61d5bc4f806146d2a7eba445 (mode 644) --- /dev/null +++ wiki.d/OpenBSD.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1610200340 +host=125.231.16.237 +name=OpenBSD.RecentChanges +rev=5 +text=* [[OpenBSD/ResetPassword]] . . . October 07, 2021, at 03:56 AM by [[~jrmu]]: [==]%0a* [[OpenBSD/CPAN]] . . . January 12, 2021, at 01:48 PM by [[~Dima]]: [==]%0a* [[OpenBSD/Perl]] . . . January 09, 2021, at 02:04 PM by [[~dima]]: [==]%0a +time=1633578967 blob - /dev/null blob + 1b7085485b2f1b6bec5828694fdb9124d607b3d3 (mode 644) --- /dev/null +++ wiki.d/OpenBSD.ResetPassword @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1633578967 +host=125.231.16.237 +name=OpenBSD.ResetPassword +rev=1 +targets= +text=(:title Reset your passwords on OpenBSD:)%0a%0aIf you forgot your root password for OpenBSD, you can easily reset it if you%0ahave access to the serial console.%0a%0aFirst, you'll want to get access to the serial console. If your virtual%0amachine is using OpenBSD's VMM as the hypervisor, this can be accessed%0ausing ssh:%0a%0a[@%0a$ ssh username@example.com%0a@]%0a%0aReplace username with your real username, and example.com with your%0ahypervisor's hostname (host.ircnow.org, host.lecturify.net,%0ahost.bsdforall.org, etc).%0a%0aOnce you get ssh access, you'll need to shut down your existing virtual%0amachine:%0a%0a[@%0a$ vmctl stop vm-name%0a@]%0a%0aReplace vm-name with your virtual machine name (it's usually the same as%0ayour username).%0a%0a[@%0a$ vmctl start -c vmname%0a@]%0a%0aIf you see the following error message:%0a%0a[@%0avmctl: start vm command failed: Operation already in progress%0a@]%0a%0aThis means your virtual machine has not finished shutting down. Wait a%0aminute or two, then retype the command @@vmctl start -c vmname@@ again.%0a%0aYou should see the following:%0a%0a[@%0aCD-ROM: E0%0aLoading /6.9/AMD64/CDBOOT%0aprobing: pc0 com0 mem[638K 1022M a20=on] %0adisk: hd0+* cd0%0a>> OpenBSD/amd64 CDBOOT 3.53%0aboot> %0a@]%0a%0a'''Immediately''', without any delay, type:%0a%0a[@%0aboot> boot -s%0a@]%0a%0aAt any time, if you need to escape the serial console (perhaps because%0ayou were unable to stop OpenBSD from automatically booting),%0atype @@~~.@@%0a%0aSelect sh as your shell, then:%0a%0a[@%0a# fsck -p / && mount -urw /%0a# fsck -p / && mount -rw /usr%0a# fsck -p / && mount -rw /var%0a# fsck -p / && mount -rw /tmp%0a# passwd root%0a# passwd username%0a@]%0a%0aReplace @@username@@ with your real username.%0a%0aThen, reboot:%0a%0a[@%0a# reboot%0a@]%0a%0a!! Recommended Reading%0a%0ahttps://www.openbsd.org/faq/faq8.html#LostPW%0a +time=1633578967 +title=Reset your passwords on OpenBSD +author:1633578967=jrmu +diff:1633578967:1633578967:=1,83d0%0a%3c (:title Reset your passwords on OpenBSD:)%0a%3c %0a%3c If you forgot your root password for OpenBSD, you can easily reset it if you%0a%3c have access to the serial console.%0a%3c %0a%3c First, you'll want to get access to the serial console. If your virtual%0a%3c machine is using OpenBSD's VMM as the hypervisor, this can be accessed%0a%3c using ssh:%0a%3c %0a%3c [@%0a%3c $ ssh username@example.com%0a%3c @]%0a%3c %0a%3c Replace username with your real username, and example.com with your%0a%3c hypervisor's hostname (host.ircnow.org, host.lecturify.net,%0a%3c host.bsdforall.org, etc).%0a%3c %0a%3c Once you get ssh access, you'll need to shut down your existing virtual%0a%3c machine:%0a%3c %0a%3c [@%0a%3c $ vmctl stop vm-name%0a%3c @]%0a%3c %0a%3c Replace vm-name with your virtual machine name (it's usually the same as%0a%3c your username).%0a%3c %0a%3c [@%0a%3c $ vmctl start -c vmname%0a%3c @]%0a%3c %0a%3c If you see the following error message:%0a%3c %0a%3c [@%0a%3c vmctl: start vm command failed: Operation already in progress%0a%3c @]%0a%3c %0a%3c This means your virtual machine has not finished shutting down. Wait a%0a%3c minute or two, then retype the command @@vmctl start -c vmname@@ again.%0a%3c %0a%3c You should see the following:%0a%3c %0a%3c [@%0a%3c CD-ROM: E0%0a%3c Loading /6.9/AMD64/CDBOOT%0a%3c probing: pc0 com0 mem[638K 1022M a20=on] %0a%3c disk: hd0+* cd0%0a%3c >> OpenBSD/amd64 CDBOOT 3.53%0a%3c boot> %0a%3c @]%0a%3c %0a%3c '''Immediately''', without any delay, type:%0a%3c %0a%3c [@%0a%3c boot> boot -s%0a%3c @]%0a%3c %0a%3c At any time, if you need to escape the serial console (perhaps because%0a%3c you were unable to stop OpenBSD from automatically booting),%0a%3c type @@~~.@@%0a%3c %0a%3c Select sh as your shell, then:%0a%3c %0a%3c [@%0a%3c # fsck -p / && mount -urw /%0a%3c # fsck -p / && mount -rw /usr%0a%3c # fsck -p / && mount -rw /var%0a%3c # fsck -p / && mount -rw /tmp%0a%3c # passwd root%0a%3c # passwd username%0a%3c @]%0a%3c %0a%3c Replace @@username@@ with your real username.%0a%3c %0a%3c Then, reboot:%0a%3c %0a%3c [@%0a%3c # reboot%0a%3c @]%0a%3c %0a%3c !! Recommended Reading%0a%3c %0a%3c https://www.openbsd.org/faq/faq8.html#LostPW%0a +host:1633578967=125.231.16.237 blob - /dev/null blob + 010725b665768c4529859a5fd4039152db8a79e7 (mode 644) --- /dev/null +++ wiki.d/OpenSSH.Connect @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628590051 +host=38.87.162.8 +name=OpenSSH.Connect +rev=4 +targets=Ssh.Fingerprints,Ircnow.SSHFingerprints,MITM.Intro +text=(:title Connect with OpenSSH:)%0a%0a!! How to Connect%0a%0a[@%0a$ ssh username@example.com%0a@]%0a%0aReplace @@username@@ and @@example.com@@.%0a%0aWhen you first connect, OpenSSH will ask if you trust the server's fingerprints:%0a%0a[@%0aThe authenticity of host 'example.com (10.0.0.1)' can't be established.%0aED25519 key fingerprint is SHA256:ofE4jf8n0C+ULqWp4stgCK4+CmFiLl/ysc50azIEkVI.%0aThis key is not known by any other names%0aAre you sure you want to continue connecting (yes/no/[fingerprint])? %0a@]%0a%0aMake sure to first connect using another method to [[ssh/fingerprints|record the ssh fingerprints]]. Or, if you are connecting to IRCNow's servers, check the list of [[ircnow/SSHFingerprints|published fingerprints]].%0a%0a'''WARNING''': If the fingerprints do not match, do '''not''' connect! Make sure to alert your sysadmin; sshd may be configured incorrectly, or even worse, there may be a [[MITM/intro|Man-In-The-Middle Attack]].%0a%0a!! Check SSH Fingerprints%0a%0aServerse can put their SSH fingerprints in DNS using SSHFP records:%0a%0a[@%0a$ ssh -o "VerifyHostKeyDNS ask" username@example.com%0aThe authenticity of host 'example.com (10.0.0.1)' can't be established.%0aED25519 key fingerprint is SHA256:ofE4jf8n0C+ULqWp4stgCK4+CmFiLl/ysc50azIEkVI.%0aMatching host key fingerprint found in DNS.%0aThis key is not known by any other names%0aAre you sure you want to continue connecting (yes/no/[fingerprint])?%0a@]%0a%0aReplace @@username@@ and @@example.com@@.%0a%0aIf SSHFP is set correctly, you should see this line:%0a%0a[@%0aMatching host key fingerprint found in DNS.%0a@]%0a%0aDNSSEC should be enabled for better security.%0a%0aIf the host key fingerprint does not match, you might want to reconsider connecting.%0a +time=1628590752 +title=Connect with OpenSSH +author:1628590752=jrmu +diff:1628590752:1628590551:=22,23d21%0a%3c '''WARNING''': If the fingerprints do not match, do '''not''' connect! Make sure to alert your sysadmin; sshd may be configured incorrectly, or even worse, there may be a [[MITM/intro|Man-In-The-Middle Attack]].%0a%3c %0a36,37d33%0a%3c %0a%3c Replace @@username@@ and @@example.com@@.%0a +host:1628590752=38.87.162.8 +author:1628590551=jrmu +diff:1628590551:1628590418:=20c20%0a%3c Make sure to first connect using another method to [[ssh/fingerprints|record the ssh fingerprints]]. Or, if you are connecting to IRCNow's servers, check the list of [[ircnow/SSHFingerprints|published fingerprints]].%0a---%0a> Make sure to check the fingerprints [[match known fingerprints]]%0a +host:1628590551=38.87.162.8 +author:1628590418=jrmu +diff:1628590418:1628590051:=1,4c1,2%0a%3c (:title Connect with OpenSSH:)%0a%3c %0a%3c !! How to Connect%0a%3c %0a---%0a> !! Connect%0a> %0a10,20d7%0a%3c %0a%3c When you first connect, OpenSSH will ask if you trust the server's fingerprints:%0a%3c %0a%3c [@%0a%3c The authenticity of host 'example.com (10.0.0.1)' can't be established.%0a%3c ED25519 key fingerprint is SHA256:ofE4jf8n0C+ULqWp4stgCK4+CmFiLl/ysc50azIEkVI.%0a%3c This key is not known by any other names%0a%3c Are you sure you want to continue connecting (yes/no/[fingerprint])? %0a%3c @]%0a%3c %0a%3c Make sure to check the fingerprints [[match known fingerprints]]%0a +host:1628590418=38.87.162.8 +author:1628590051=jrmu +diff:1628590051:1628590051:=1,30d0%0a%3c !! Connect%0a%3c %0a%3c [@%0a%3c $ ssh username@example.com%0a%3c @]%0a%3c %0a%3c Replace @@username@@ and @@example.com@@.%0a%3c %0a%3c !! Check SSH Fingerprints%0a%3c %0a%3c Serverse can put their SSH fingerprints in DNS using SSHFP records:%0a%3c %0a%3c [@%0a%3c $ ssh -o "VerifyHostKeyDNS ask" username@example.com%0a%3c The authenticity of host 'example.com (10.0.0.1)' can't be established.%0a%3c ED25519 key fingerprint is SHA256:ofE4jf8n0C+ULqWp4stgCK4+CmFiLl/ysc50azIEkVI.%0a%3c Matching host key fingerprint found in DNS.%0a%3c This key is not known by any other names%0a%3c Are you sure you want to continue connecting (yes/no/[fingerprint])?%0a%3c @]%0a%3c %0a%3c If SSHFP is set correctly, you should see this line:%0a%3c %0a%3c [@%0a%3c Matching host key fingerprint found in DNS.%0a%3c @]%0a%3c %0a%3c DNSSEC should be enabled for better security.%0a%3c %0a%3c If the host key fingerprint does not match, you might want to reconsider connecting.%0a +host:1628590051=38.87.162.8 blob - /dev/null blob + aa3bf59e393c3f2b73f5e7d829d7cc2e3808511c (mode 644) --- /dev/null +++ wiki.d/OpenSSH.Keygen @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628528591 +host=38.87.162.8 +name=OpenSSH.Keygen +rev=2 +targets=Sshd.Disablepassword,Opensshd.Configure,OpenSSH.Connect +text=(:title Generating Keys with OpenSSH:)%0a%0a!! Generating Public/Private Keys%0a%0aFor additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your [[opensshd/configure|sshd setup]] will be more secure.%0a%0aKeys can be generated with [[https://man.openbsd.org/ssh-keygen|ssh-keygen]]. In the next example, we use the ED25519 algorithm:%0a%0a[@%0a$ ssh-keygen -t ed25519%0aGenerating public/private ed25519 key pair.%0aEnter file in which to save the key (/home/username/.ssh/id_ed25519): %0aEnter passphrase (empty for no passphrase): %0aEnter same passphrase again: %0aYour identification has been saved in /home/username/ssh/id_ed25519%0aYour public key has been saved in /home/username/ssh/id_ed25519.pub%0aThe key fingerprint is:%0a...%0a@]%0a%0aThe private key will be stored in id_ed25519. '''WARNING''': Never share the private key!%0a%0aIf you provide a passphrase, make sure to write it down securely. WARNING: If you lose the passphrase, the key becomes worthless!%0a%0aSave the key fingerprint and image art to a file; you will use it for verifying the key later.%0a%0a'''NOTE''': You can use ssh-keygen for other keys like RSA or ECDSA keys:%0a%0a[@%0a$ ssh-keygen -t rsa -b 4096 -o -a 100%0a$ ssh-keygen -t ecdsa -a 100%0a@]%0a%0aFor this article, we assume you generated an ED25519 key. Now, read the public key, ~/.ssh/id_ed25519.pub:%0a%0a[@%0a$ cat .ssh/id_ed25519.pub%0assh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKKJaexpzvheOmsc+Pv1ekn294Beug2tHgGoYjuXqFk username@example.com%0a@]%0a%0aCopy this line.%0a%0aIn another terminal, [[OpenSSH/connect|connect to your server]] with a password as usual.%0a%0aOn the server, add that ssh public key to the end of ~/.ssh/authorized_keys on the server.%0a%0aTo verify that you can now login by private key, log out by typing @@ctrl+d@@, then login again:%0a%0a[@%0a$ ssh username@example.com%0a@]%0a%0aIf your private key has no passphrase, you should login without typing any passphrase.%0a%0aIf your private key has a passphrase, your ssh client may prompt you with:%0a%0a[@%0aEnter passphrase for key '/home/username/.ssh/id_ed25519': %0a@]%0a%0aType in the passphrase. Afterwards, you should login without typing your normal user password.%0a%0a'''NOTE''': The key passphrase is '''not''' the same as the normal user login password. If your SSH keys have been configured properly, ssh should never ask you for your normal user password.%0a +time=1628533670 +title=Generating Keys with OpenSSH +author:1628533670=jrmu +diff:1628533670:1628528591:=1,8c1,2%0a%3c (:title Generating Keys with OpenSSH:)%0a%3c %0a%3c !! Generating Public/Private Keys%0a%3c %0a%3c For additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your [[opensshd/configure|sshd setup]] will be more secure.%0a%3c %0a%3c Keys can be generated with [[https://man.openbsd.org/ssh-keygen|ssh-keygen]]. In the next example, we use the ED25519 algorithm:%0a%3c %0a---%0a> !! Generating SSH Keys%0a> %0a21,28c15,20%0a%3c The private key will be stored in id_ed25519. '''WARNING''': Never share the private key!%0a%3c %0a%3c If you provide a passphrase, make sure to write it down securely. WARNING: If you lose the passphrase, the key becomes worthless!%0a%3c %0a%3c Save the key fingerprint and image art to a file; you will use it for verifying the key later.%0a%3c %0a%3c '''NOTE''': You can use ssh-keygen for other keys like RSA or ECDSA keys:%0a%3c %0a---%0a> Save the key fingerprint and image art, you will use it for verifying the key later.%0a> %0a> You can repeat this process with other types of keys:%0a> %0a> Now, read ~/.ssh/id_ed25519.pub:%0a> %0a30,31c22%0a%3c $ ssh-keygen -t rsa -b 4096 -o -a 100%0a%3c $ ssh-keygen -t ecdsa -a 100%0a---%0a> $ cat .ssh/id_ed25519.pub%0a34,35c25,26%0a%3c For this article, we assume you generated an ED25519 key. Now, read the public key, ~/.ssh/id_ed25519.pub:%0a%3c %0a---%0a> You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a> %0a37,38c28,29%0a%3c $ cat .ssh/id_ed25519.pub%0a%3c ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKKJaexpzvheOmsc+Pv1ekn294Beug2tHgGoYjuXqFk username@example.com%0a---%0a> $ ssh username@example.ircnow.org%0a> $ vi .ssh/authorized_keys%0a41,48c32,35%0a%3c Copy this line.%0a%3c %0a%3c In another terminal, [[OpenSSH/connect|connect to your server]] with a password as usual.%0a%3c %0a%3c On the server, add that ssh public key to the end of ~/.ssh/authorized_keys on the server.%0a%3c %0a%3c To verify that you can now login by private key, log out by typing @@ctrl+d@@, then login again:%0a%3c %0a---%0a> !! Alternative SSH Keys%0a> %0a> On your desktop PC, you can generate other ssh key types:%0a> %0a50c37,38%0a%3c $ ssh username@example.com%0a---%0a> $ ssh-keygen -t ecdsa -a 100%0a> $ ssh-keygen -t rsa -b 4096 -o -a 100%0a53,63d40%0a%3c If your private key has no passphrase, you should login without typing any passphrase.%0a%3c %0a%3c If your private key has a passphrase, your ssh client may prompt you with:%0a%3c %0a%3c [@%0a%3c Enter passphrase for key '/home/username/.ssh/id_ed25519': %0a%3c @]%0a%3c %0a%3c Type in the passphrase. Afterwards, you should login without typing your normal user password.%0a%3c %0a%3c '''NOTE''': The key passphrase is '''not''' the same as the normal user login password. If your SSH keys have been configured properly, ssh should never ask you for your normal user password.%0a +host:1628533670=38.87.162.8 +author:1628528591=jrmu +diff:1628528591:1628528591:=1,40d0%0a%3c !! Generating SSH Keys%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ed25519%0a%3c Generating public/private ed25519 key pair.%0a%3c Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a%3c Enter passphrase (empty for no passphrase): %0a%3c Enter same passphrase again: %0a%3c Your identification has been saved in /home/username/ssh/id_ed25519%0a%3c Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a%3c The key fingerprint is:%0a%3c ...%0a%3c @]%0a%3c %0a%3c Save the key fingerprint and image art, you will use it for verifying the key later.%0a%3c %0a%3c You can repeat this process with other types of keys:%0a%3c %0a%3c Now, read ~/.ssh/id_ed25519.pub:%0a%3c %0a%3c [@%0a%3c $ cat .ssh/id_ed25519.pub%0a%3c @]%0a%3c %0a%3c You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a%3c %0a%3c [@%0a%3c $ ssh username@example.ircnow.org%0a%3c $ vi .ssh/authorized_keys%0a%3c @]%0a%3c %0a%3c !! Alternative SSH Keys%0a%3c %0a%3c On your desktop PC, you can generate other ssh key types:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ecdsa -a 100%0a%3c $ ssh-keygen -t rsa -b 4096 -o -a 100%0a%3c @]%0a%3c %0a +host:1628528591=38.87.162.8 blob - /dev/null blob + 52f7e81a379825b9c65db60c034ce7b22dbc1b61 (mode 644) --- /dev/null +++ wiki.d/OpenSSH.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628528591 +host=38.87.162.8 +name=OpenSSH.RecentChanges +rev=6 +text=* [[OpenSSH/Connect]] . . . August 10, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[OpenSSH/Keygen]] . . . August 09, 2021, at 06:27 PM by [[~jrmu]]: [==]%0a +time=1628590752 blob - /dev/null blob + 5c5fe17a39fc6de6a5bfaeed015212b641380c50 (mode 644) --- /dev/null +++ wiki.d/Openbsd.ACKFlood @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1608201354 +host=80.191.34.206 +name=Openbsd.ACKFlood +rev=10 +targets=Openbsd.Tcpdump,Openbsd.Police,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title TCP Ack Flood:)%0a%0a!! TCP Ack Flood%0a%0aAn attacker can flood a server with ACK packets. The server receives so many packets then it cannot handle normal traffic.%0a%0aIn a TCP connection, a three-way handshake occurs:%0a%0a# The client sends a SYN packet to start a TCP connection%0a# The server replies with a SYN-ACK packet to accept the TCP connection%0a# The client replies with an ACK packet packet to begin sending data%0a%0aThe SYN (synchronize) packet initiates a TCP connection, and an ACK (acknowledgment) packet acknowledges that a TCP connection has been established. This handshake is performed every time data is sent over TCP.%0a%0aIn addition, ACK packets are sent periodically by a device to acknowledge that packets are received.%0a%0aServers must process every ACK packet they receive, so ACK floods waste a lot of server resources. Real and fake ACK packets look the same, the only difference is that a fake ACK packet lacks a payload (there's no real content).%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a2001:db8::/32 %0a18:34:34.318888 2001:db8::2940:5fe2:fb93:3fd7.42028 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.56815: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0aa@...... .A.....)@_...?.&.d..0.....c..Z..,..U.1{....P.@8*...%0a18:34:34.318888 2001:db8::7b61:8030:655d:59f3.9312 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.9005: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0aa@...... .A.....{a.0e]Y.&.d..0.....c..Z.$`#-.1O.....P.@8....%0a18:34:34.318889 2001:db8::6820:2b6f:c23a:769b.6570 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.65117: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a`.......*..p....h +o.:v.&.d..0.....c..Z....]9.G.....P.@8....%0a18:34:34.318889 2001:db8::afa4:565f:994c:1970.14808 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.57643: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0aa@...... .A.......V_.L.p&.d..0.....c..Z.9..+........P.@8e...%0a18:34:34.318889 2001:db8::6443:797e:c8f3:e29d.22693 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.8369: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0aa@...... .A.....dCy~....&.d..0.....c..Z.X. .#.7t....P.@8.y..%0a18:34:34.318889 2001:db8::76b0:adba:bb48:873f.17347 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.15413: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a`.......*..p..b.v....H.?&.d..0.....c..Z.C.%3c5$.(.....P.@8....%0a18:34:34.318889 2001:db8::664d:ea08:52b8:305c.61968 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.10304: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 237)%0a`.......*..p..'.fM..R.0\&.d..0.....c..Z...(@`..\....P.@8.B..%0a@]%0a%0aIn the above, we see the source IP subnet (2001:db8::/64) is sending TCP ack packets to random ports to IP 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d. This user is being targeted by an IPv6 TCP ACK flood, so you can run:%0a%0a[@%0a$ dig -x 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d%0auser.fig.ircnow.org%0a@]%0a%0aYou should contact this user; he may have clues as to who is attacking him. You can then investigate by following the [[openbsd/police|police guide]].%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block packets coming from the subnet 2001:db8::/64. You could put these two rules at the beginning of /etc/pf.conf:%0a%0a[@%0aext_ip="2605:6400:30:f8de::/64"%0abad_ip="2001:db8::/64"%0ablock drop quick proto {udp tcp} from $bad_ip to $ext_ip%0a@]%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1622269221 +title=TCP Ack Flood +author:1622269221=mkf +diff:1622269221:1608356660:minor=5c5%0a%3c An attacker can flood a server with ACK packets. The server receives so many packets then it cannot handle normal traffic.%0a---%0a> An attacker can flood a server with ACK packets. The server receives so many packets it cannot handle normal traffic.%0a +host:1622269221=80.191.34.206 +author:1608356660=jrmu +diff:1608356660:1608356342:=54,55c54,55%0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block packets coming from the subnet 2001:db8::/64. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a---%0a> Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a> %0a57,59c57,58%0a%3c ext_ip="2605:6400:30:f8de::/64"%0a%3c bad_ip="2001:db8::/64"%0a%3c block drop quick proto {udp tcp} from $bad_ip to $ext_ip%0a---%0a> ext_ip="192.168.0.1"%0a> block drop quick proto udp from any to $ext_ip port 1900%0a60a60,69%0a> %0a> A better solution is to block all udp packets except for a few ports that you whitelist:%0a> %0a> [@%0a> ext_ip="192.168.0.1"%0a> pass in quick proto udp to $ext_ip port {domain ntp}%0a> block drop quick proto udp to $ext_ip port 1900%0a> @]%0a> %0a> This would whitelist DNS and NTP packets but drop all other UDP packets.%0a +host:1608356660=198.251.81.119 +author:1608356342=jrmu +diff:1608356342:1608355360:=24,25c24,26%0a%3c 2001:db8::/32 %0a%3c 18:34:34.318888 2001:db8::2940:5fe2:fb93:3fd7.42028 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.56815: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a---%0a> %0a> 18:34:34.318888 2001:41d0:b:0:2940:5fe2:fb93:3fd7.42028 > 2605:6400:30:f8de:19c6:1e63:ff%0a> d1:5a1d.56815: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a27c28%0a%3c 18:34:34.318888 2001:db8::7b61:8030:655d:59f3.9312 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.9005: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a---%0a> 18:34:34.318888 2001:41d0:b:0:7b61:8030:655d:59f3.9312 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.9005: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a29c30%0a%3c 18:34:34.318889 2001:db8::6820:2b6f:c23a:769b.6570 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.65117: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a---%0a> 18:34:34.318889 2a00:c70:1:fca5:6820:2b6f:c23a:769b.6570 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.65117: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a31c32%0a%3c 18:34:34.318889 2001:db8::afa4:565f:994c:1970.14808 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.57643: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a---%0a> 18:34:34.318889 2001:41d0:b:0:afa4:565f:994c:1970.14808 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.57643: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a33c34%0a%3c 18:34:34.318889 2001:db8::6443:797e:c8f3:e29d.22693 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.8369: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a---%0a> 18:34:34.318889 2001:41d0:b:0:6443:797e:c8f3:e29d.22693 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.8369: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a35c36%0a%3c 18:34:34.318889 2001:db8::76b0:adba:bb48:873f.17347 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.15413: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a---%0a> 18:34:34.318889 2a00:c70:1:62db:76b0:adba:bb48:873f.17347 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.15413: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a37c38%0a%3c 18:34:34.318889 2001:db8::664d:ea08:52b8:305c.61968 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.10304: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 237)%0a---%0a> 18:34:34.318889 2a00:c70:1:27ad:664d:ea08:52b8:305c.61968 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.10304: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 237)%0a41,48c42%0a%3c In the above, we see the source IP subnet (2001:db8::/64) is sending TCP ack packets to random ports to IP 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d. This user is being targeted by an IPv6 TCP ACK flood, so you can run:%0a%3c %0a%3c [@%0a%3c $ dig -x 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d%0a%3c user.fig.ircnow.org%0a%3c @]%0a%3c %0a%3c You should contact this user; he may have clues as to who is attacking him. You can then investigate by following the [[openbsd/police|police guide]].%0a---%0a> In the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from an SQL database. In this case, we know port 3306 is for MySQL by checking /etc/services.%0a +host:1608356342=198.251.81.119 +author:1608355360=jrmu +diff:1608355360:1608292859:=24,39c24,26%0a%3c %0a%3c 18:34:34.318888 2001:41d0:b:0:2940:5fe2:fb93:3fd7.42028 > 2605:6400:30:f8de:19c6:1e63:ff%0a%3c d1:5a1d.56815: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a%3c a@...... .A.....)@_...?.&.d..0.....c..Z..,..U.1{....P.@8*...%0a%3c 18:34:34.318888 2001:41d0:b:0:7b61:8030:655d:59f3.9312 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.9005: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a%3c a@...... .A.....{a.0e]Y.&.d..0.....c..Z.$`#-.1O.....P.@8....%0a%3c 18:34:34.318889 2a00:c70:1:fca5:6820:2b6f:c23a:769b.6570 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.65117: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a%3c `.......*..p....h +o.:v.&.d..0.....c..Z....]9.G.....P.@8....%0a%3c 18:34:34.318889 2001:41d0:b:0:afa4:565f:994c:1970.14808 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.57643: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 246)%0a%3c a@...... .A.......V_.L.p&.d..0.....c..Z.9..+........P.@8e...%0a%3c 18:34:34.318889 2001:41d0:b:0:6443:797e:c8f3:e29d.22693 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.8369: . [tcp sum ok] ack 0 win 16440 [class 0x14] (len 20, hlim 245)%0a%3c a@...... .A.....dCy~....&.d..0.....c..Z.X. .#.7t....P.@8.y..%0a%3c 18:34:34.318889 2a00:c70:1:62db:76b0:adba:bb48:873f.17347 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.15413: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 236)%0a%3c `.......*..p..b.v....H.?&.d..0.....c..Z.C.%3c5$.(.....P.@8....%0a%3c 18:34:34.318889 2a00:c70:1:27ad:664d:ea08:52b8:305c.61968 > 2605:6400:30:f8de:19c6:1e63:ffd1:5a1d.10304: . [tcp sum ok] ack 0 win 16440 (len 20, hlim 237)%0a%3c `.......*..p..'.fM..R.0\&.d..0.....c..Z...(@`..\....P.@8.B..%0a---%0a> 10:54:20.457417 192.168.0.1.3306 > 198.251.81.119.41000: . 153:1601(1448) ack 168 win 243 %3cnop,nop,timestamp 1306862229 3995777189> (DF) (ttl 64, id 29089, len 1500)%0a> E...q.@.@..F...3..QA...(............J......%0a> M."..*.......D....def.protonsql1_totohot.g5_apms_data.g5_apms_data.id.id.?.......B...H....def.protonsql1_totohot.g5_apms_data.g5_apms_data.type.type.?...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_q.data_q.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_1.data_1.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_2.data_2.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_3.data_3.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_4.data_4.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_5.data_5.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_6.data_6.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_7.data_7.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_8.data_8.!...........L..^M.def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_9.data_9.!...........N....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_10.data_10.!...........P....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_set.data_set.!.................."......3.11..totohot.Basic...........a:24:{s:5:"thema";s:7:"totohot";s:6:"layout";s:0:"";s:2:"pc";s:0:"";s:4:"size";s:4:"1200";s:10:"background";s:0:"";s:7:"bgcolor";s:0:"";s:2:"bg";s:6:"center";s:5:"tmenu";s:0:"";s:3:"nav";s:4:"both";s:4:"subv";s:4:"show";s:4:"subh";s:0:"";s:4:"allm";s:0:"";s:4:"subw";s:0:%0a42a30,62%0a> %0a> Here are some other packets:%0a> %0a> [@%0a> 10:54:20.478357 199.195.255.40.33912 > 198.98.62.208.80: P [tcp sum ok] 0:719(719) ack 1 win 229 %3cnop,nop,timestamp 1400457072 731155732> (DF) (ttl 64, id 52288, len 771)%0a> E....@@.@......(.b>..x.Pw4.O........e\.....%0a> SyGp+...POST /apkdl_bot.php HTTP/1.1%0a> Host: apkdl.in%0a> User-Agent: Railgun/5.3.3%0a> Content-Length: 331%0a> Cdn-Loop: cloudflare%0a> Cf-Connecting-Ip: 91.108.6.32%0a> Cf-Ipcountry: AG%0a> Cf-Origin-Https: off%0a> Cf-Ray: 5f127601beabd8d5-AMS%0a> Cf-Request-Id: 065f6815140000d8d517335000000001%0a> Cf-Visitor: {"scheme":"https"}%0a> Content-Type: application/json%0a> X-Forwarded-For: 91.108.6.32%0a> X-Forwarded-Proto: https%0a> %0a> {"update_id":98363691,%0a> "message":{"message_id":78810276,"from":{"id":1203629066,"is_bot":false,"first_name":"Mi%0a> rjalol","language_code":"uz"},"chat":{"id":1203629066,"first_name":"Mirjalol","type":"pr%0a> ivate"},"date":1605207260,"text":"/preview_com_shadow_battle_superhero","entities":[{"of%0a> fset":0,"length":36,"type":"bot_command"}]}}%0a> @]%0a> %0a> [@%0a> 10:54:20.594535 199.195.255.40.33914 > 198.98.62.208.80: . [tcp sum ok] ack 1855138974 win 229 %3cnop,nop,timestamp 1400457101 731155849> (DF) (ttl 64, id 57129, len 52)%0a> E..4.)@.@..{...(.b>..z.P.R..n.,............%0a> SyG.+...%0a> @]%0a +host:1608355360=198.251.81.119 +author:1608292859=jrmu +diff:1608292859:1608291527:=5,17d4%0a%3c An attacker can flood a server with ACK packets. The server receives so many packets it cannot handle normal traffic.%0a%3c %0a%3c In a TCP connection, a three-way handshake occurs:%0a%3c %0a%3c # The client sends a SYN packet to start a TCP connection%0a%3c # The server replies with a SYN-ACK packet to accept the TCP connection%0a%3c # The client replies with an ACK packet packet to begin sending data%0a%3c %0a%3c The SYN (synchronize) packet initiates a TCP connection, and an ACK (acknowledgment) packet acknowledges that a TCP connection has been established. This handshake is performed every time data is sent over TCP.%0a%3c %0a%3c In addition, ACK packets are sent periodically by a device to acknowledge that packets are received.%0a%3c %0a%3c Servers must process every ACK packet they receive, so ACK floods waste a lot of server resources. Real and fake ACK packets look the same, the only difference is that a fake ACK packet lacks a payload (there's no real content).%0a +host:1608292859=198.251.81.119 +author:1608291527=jrmu +diff:1608291527:1608290920:=45a46,48%0a> 10:54:20.594127 199.195.255.40.33914 > 198.98.62.208.80: S [tcp sum ok] 106076325:106076325(0) win 29200 %3cmss 1400,sackOK,timestamp 1400457101 0,nop,wscale 7> (DF) (ttl 64, id 57128, len 60)%0a> E..%3c.(@.@..t...(.b>..z.P.R........r.KD.....x...%0a> SyG.........%0a +host:1608291527=198.251.81.119 +author:1608290920=jrmu +diff:1608290920:1608289526:=21,51d20%0a%3c 10:54:20.478357 199.195.255.40.33912 > 198.98.62.208.80: P [tcp sum ok] 0:719(719) ack 1 win 229 %3cnop,nop,timestamp 1400457072 731155732> (DF) (ttl 64, id 52288, len 771)%0a%3c E....@@.@......(.b>..x.Pw4.O........e\.....%0a%3c SyGp+...POST /apkdl_bot.php HTTP/1.1%0a%3c Host: apkdl.in%0a%3c User-Agent: Railgun/5.3.3%0a%3c Content-Length: 331%0a%3c Cdn-Loop: cloudflare%0a%3c Cf-Connecting-Ip: 91.108.6.32%0a%3c Cf-Ipcountry: AG%0a%3c Cf-Origin-Https: off%0a%3c Cf-Ray: 5f127601beabd8d5-AMS%0a%3c Cf-Request-Id: 065f6815140000d8d517335000000001%0a%3c Cf-Visitor: {"scheme":"https"}%0a%3c Content-Type: application/json%0a%3c X-Forwarded-For: 91.108.6.32%0a%3c X-Forwarded-Proto: https%0a%3c %0a%3c {"update_id":98363691,%0a%3c "message":{"message_id":78810276,"from":{"id":1203629066,"is_bot":false,"first_name":"Mi%0a%3c rjalol","language_code":"uz"},"chat":{"id":1203629066,"first_name":"Mirjalol","type":"pr%0a%3c ivate"},"date":1605207260,"text":"/preview_com_shadow_battle_superhero","entities":[{"of%0a%3c fset":0,"length":36,"type":"bot_command"}]}}%0a%3c @]%0a%3c %0a%3c [@%0a%3c 10:54:20.594127 199.195.255.40.33914 > 198.98.62.208.80: S [tcp sum ok] 106076325:106076325(0) win 29200 %3cmss 1400,sackOK,timestamp 1400457101 0,nop,wscale 7> (DF) (ttl 64, id 57128, len 60)%0a%3c E..%3c.(@.@..t...(.b>..z.P.R........r.KD.....x...%0a%3c SyG.........%0a%3c 10:54:20.594535 199.195.255.40.33914 > 198.98.62.208.80: . [tcp sum ok] ack 1855138974 win 229 %3cnop,nop,timestamp 1400457101 731155849> (DF) (ttl 64, id 57129, len 52)%0a%3c E..4.)@.@..{...(.b>..z.P.R..n.,............%0a%3c SyG.+...%0a +host:1608290920=198.251.81.119 +author:1608289526=jrmu +diff:1608289526:1608288843:=16c16%0a%3c In the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from an SQL database. In this case, we know port 3306 is for MySQL by checking /etc/services.%0a---%0a> In the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from a proton SQL database.%0a +host:1608289526=198.251.81.119 +author:1608288843=jrmu +diff:1608288843:1608201354:=11,13d10%0a%3c 10:54:20.457417 192.168.0.1.3306 > 198.251.81.119.41000: . 153:1601(1448) ack 168 win 243 %3cnop,nop,timestamp 1306862229 3995777189> (DF) (ttl 64, id 29089, len 1500)%0a%3c E...q.@.@..F...3..QA...(............J......%0a%3c M."..*.......D....def.protonsql1_totohot.g5_apms_data.g5_apms_data.id.id.?.......B...H....def.protonsql1_totohot.g5_apms_data.g5_apms_data.type.type.?...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_q.data_q.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_1.data_1.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_2.data_2.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_3.data_3.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_4.data_4.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_5.data_5.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_6.data_6.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_7.data_7.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_8.data_8.!...........L..^M.def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_9.data_9.!...........N....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_10.data_10.!...........P....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_set.data_set.!.................."......3.11..totohot.Basic...........a:24:{s:5:"thema";s:7:"totohot";s:6:"layout";s:0:"";s:2:"pc";s:0:"";s:4:"size";s:4:"1200";s:10:"background";s:0:"";s:7:"bgcolor";s:0:"";s:2:"bg";s:6:"center";s:5:"tmenu";s:0:"";s:3:"nav";s:4:"both";s:4:"subv";s:4:"show";s:4:"subh";s:0:"";s:4:"allm";s:0:"";s:4:"subw";s:0:%0a16,17c13,14%0a%3c In the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from a proton SQL database.%0a%3c %0a---%0a> In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a> %0a21a19,20%0a> %0a> This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a +host:1608288843=198.251.81.119 +author:1608201354=jrmu +diff:1608201354:1608201354:=1,45d0%0a%3c (:title TCP Ack Flood:)%0a%3c %0a%3c !! TCP Ack Flood%0a%3c %0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a%3c [@%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c @]%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a +host:1608201354=198.251.81.119 blob - /dev/null blob + dbf85c7864de06fd11b3212bc652008964677663 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Abuse @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612071050 +host=125.224.24.163 +name=Openbsd.Abuse +rev=2 +targets=Ircnow.Networks,Openbsd.Ngircd,Openbsd.Znc,Openbsd.Opensmtpd +text=Each team has the right to set their own terms of service and privacy policy.%0a%0aThis policy applies to:%0a%0a# Official IRCNow channels on your team's claimed [[ircnow/networks|networks]]%0a# Your team's [[openbsd/ngircd|IRC server]]%0a# Any services your team is running such as [[openbsd/znc|ZNC]], [[openbsd/opensmtpd|email]], web...%0a%0aNo teammate can censor or ban someone on another team's server or another team's claimed network without prior permission or due process. +time=1612071210 +author:1612071210=jrmu +diff:1612071210:1612071050:=1,9c1%0a%3c Each team has the right to set their own terms of service and privacy policy.%0a%3c %0a%3c This policy applies to:%0a%3c %0a%3c # Official IRCNow channels on your team's claimed [[ircnow/networks|networks]]%0a%3c # Your team's [[openbsd/ngircd|IRC server]]%0a%3c # Any services your team is running such as [[openbsd/znc|ZNC]], [[openbsd/opensmtpd|email]], web...%0a%3c %0a%3c No teammate can censor or ban someone on another team's server or another team's claimed network without prior permission or due process.%0a\ No newline at end of file%0a---%0a> Each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels on the networks his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network.%0a\ No newline at end of file%0a +host:1612071210=125.224.24.163 +author:1612071050=jrmu +diff:1612071050:1612071050:=1d0%0a%3c Each team has the right to set the type of policy it wants for censorship on its server. Each sysadmin has the power to censor any official IRCNow channels on the networks his team has claimed. He also has the power to ban any users connected to any services on his server. However, no one can censor on another team's server or another team's network. %0a\ No newline at end of file%0a +host:1612071050=125.224.24.163 blob - /dev/null blob + b7cc8d935caaaf25268efc86da8829285667c932 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Achurch @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1604499924 +host=38.81.163.7 +name=Openbsd.Achurch +rev=2 +targets= +text=(:title IRC Services:)%0a%0aFor IRC services, IRCNow uses a forked version of [[http://achurch.org/services|achurch]]. +time=1604499934 +title=IRC Services +author:1604499934=jrmu +diff:1604499934:1604499924:=1c1%0a%3c (:title IRC Services:)%0a---%0a> (:title IRC Services)%0a +host:1604499934=38.81.163.7 +author:1604499924=jrmu +diff:1604499924:1604499924:=1,3d0%0a%3c (:title IRC Services)%0a%3c %0a%3c For IRC services, IRCNow uses a forked version of [[http://achurch.org/services|achurch]].%0a\ No newline at end of file%0a +host:1604499924=38.81.163.7 blob - /dev/null blob + 0decdddc96658b4ca21eacaf267494b82ed2b36d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Acme-client @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=fixed troubleshooting links +ctime=1597060757 +host=145.132.146.30 +name=Openbsd.Acme-client +rev=12 +targets=Openbsd.Openhttpd,Openbsd.Nsd +text=In order to provide proper TLS for your services, you will need a certificate signed by a trusted certificate authority (CA). The easiest option for now is to use the Let's Encrypt client by acme-client.%0a%0a!! Howto%0aYou will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[Openbsd/Openhttpd|here]] to find out how to set up openhttpd.%0a%0aFirst, copy the /etc/examples/acme-client.conf template:%0a%0a[@%0a$ doas cp /etc/examples/acme-client.conf /etc/acme-client.conf%0a@]%0a%0a[@%0aauthority letsencrypt {%0a api url "https://acme-v02.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-privkey.pem"%0a}%0a%0aauthority letsencrypt-staging {%0a api url "https://acme-staging.api.letsencrypt.org/directory"%0a account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a}%0a%0adomain example.com {%0a alternative names { secure.example.com }%0a domain key "/etc/ssl/private/example.com.key"%0a domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a sign with letsencrypt%0a}%0a@]%0a%0aReplace example.com with your domain. If you didn't use any alternative names, in the past, having:%0a%0a[@%0aalternative names { }%0a@]%0a%0awould cause issues. So, if you have no alternative names, I recommend you comment that line out as follows:%0a%0a[@%0a# alternative names { secure.example.com }%0a@]%0a%0aNow, run acme-client:%0a%0a[@%0a$ doas acme-client -Fv example.com%0a@]%0a%0a!! Troubleshooting%0aIf you run into errors, check to make sure:%0a%0a # [[nsd|DNS]] is configured properly. %0a # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a%0a[@%0a$ ls -l /var | grep www%0adrwxr-xr-x 11 root daemon 512 Mar 28 05:28 www%0a$ ls -l /var/www%0atotal 36%0adrwxr-xr-x 2 root daemon 512 Mar 28 22:16 acme%0adrwxr-xr-x 2 root daemon 512 Mar 14 06:12 bin%0adrwx-----T 2 www daemon 512 Oct 12 12:34 cache%0adrwxr-xr-x 2 root daemon 512 Mar 14 06:12 cgi-bin%0adrwxr-xr-x 2 root daemon 512 Mar 14 06:03 conf%0adrwxr-xr-x 3 root daemon 512 Oct 12 12:34 htdocs%0adrwxr-xr-x 2 root daemon 512 Mar 29 00:00 logs%0adrwxr-xr-x 2 root daemon 512 Oct 12 12:34 run%0a@]%0a # Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a%0a!! Successful outcomes%0aA successful outcome would result in:%0a # A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a[@%0a$ doas ls -l /etc/ssl/private%0a-r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a@]%0a # A PEM certificate under /etc/ssl e.g.%0a[@%0a$ ls -l /etc/ssl/*.pem%0a-r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a@]%0a%0aIt would have the following output of running acme-client, generating a certificate for example.com%0a%0a[@%0aacme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0aacme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0aacme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0aacme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 0%0aacme-client: /var/www/acme/mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL: created%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ: challenge%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: order.status 0%0aacme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 2%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: order.status 1%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/81817869/2815341474: certificate%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: order.status 3%0aacme-client: https://acme-v02.api.letsencrypt.org/acme/cert/vxsJMODZOeZxwiuyq9Bz6jqgoRRRUak8ZQ3ob: certificate%0aacme-client: 172.65.32.248: tls_close: EOF without close notify%0aacme-client: /etc/ssl/example.com.fullchain.pem: created%0a@]%0a%0a!! Common errors%0a%0a# Do not request domains you don't own%0a# If you change the domains, you need to move the cert and request again +time=1607539655 +author:1607539655=miniontoby +csum:1607539655=fixed troubleshooting links +diff:1607539655:1605711527:=52,53c52,53%0a%3c # [[nsd|DNS]] is configured properly. %0a%3c # The [[Openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a---%0a> # [[openbsd:nsd|DNS]] is configured properly. %0a> # The [[openbsd:www:openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a +host:1607539655=145.132.146.30 +author:1605711527=jrmu +diff:1605711527:1598250148:=4c4%0a%3c You will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[Openbsd/Openhttpd|here]] to find out how to set up openhttpd.%0a---%0a> You will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[openbsd:www:openhttpd|here]] to find out how to set up openhttpd.%0a +host:1605711527=198.251.81.119 +author:1598250148=baytuch +diff:1598250148:1598249562:= +host:1598250148=91.228.147.58 +author:1598249562=baytuch +diff:1598249562:1598245157:= +host:1598249562=91.228.147.58 +author:1598245157=baytuch +diff:1598245157:1598215562:= +host:1598245157=91.228.147.58 +author:1598215562=baytuch +diff:1598215562:1598215241:= +host:1598215562=91.228.147.58 +author:1598215241=baytuch +diff:1598215241:1598215091:=119c119%0a%3c # If you change the domains, you need to move the cert and request again %0a\ No newline at end of file%0a---%0a> # If you change the domains, you need to move the cert and request again%0a\ No newline at end of file%0a +host:1598215241=91.228.147.58 +author:1598215091=baytuch +diff:1598215091:1597224957:= +host:1598215091=91.228.147.58 +author:1597224957=jrmu +diff:1597224957:1597061005:=114,119c114%0a%3c @]%0a%3c %0a%3c !! Common errors%0a%3c %0a%3c # Do not request domains you don't own%0a%3c # If you change the domains, you need to move the cert and request again%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1597224957=38.81.163.143 +author:1597061005=jrmu +diff:1597061005:1597060918:=12c12%0a%3c [@%0a---%0a> %3ccode>%0a29,30c29,30%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a33c33%0a%3c [@%0a---%0a> %3ccode>%0a35,36c35,36%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a39c39%0a%3c [@%0a---%0a> %3ccode>%0a41,42c41,42%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a45c45%0a%3c [@%0a---%0a> %3ccode>%0a47,49c47,49%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a---%0a> %3c/code>%0a> %0a> ==== Troubleshooting ====%0a52,56c52,55%0a%3c # [[openbsd:nsd|DNS]] is configured properly. %0a%3c # The [[openbsd:www:openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a%3c # You have the proper permissions set on the folders in /var/www/. An example output would be,%0a%3c %0a%3c [@%0a---%0a> * [[openbsd:nsd|DNS]] is configured properly. %0a> * The [[openbsd:www:openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a> * You have the proper permissions set on the folders in /var/www/. An example output would be,%0a> %3ccode>%0a69,72c68,71%0a%3c @]%0a%3c # Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a%3c %0a%3c !! Successful outcomes%0a---%0a> %3c/code>%0a> * Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a> %0a> ==== Successful outcomes ====%0a74,75c73,74%0a%3c # A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a%3c [@%0a---%0a> * A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a> %3ccode>%0a78,80c77,79%0a%3c @]%0a%3c # A PEM certificate under /etc/ssl e.g.%0a%3c [@%0a---%0a> %3c/code>%0a> * A PEM certificate under /etc/ssl e.g.%0a> %3ccode>%0a83,84c82,83%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a86,87c85%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a114c112%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a +host:1597061005=38.81.163.143 +author:1597060918=jrmu +diff:1597060918:1597060757:=3c3%0a%3c !! Howto%0a---%0a> ==== Howto ====%0a8c8%0a%3c [@%0a---%0a> %3ccode>%0a10c10%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597060918=38.81.163.143 +author:1597060757=jrmu +diff:1597060757:1597060757:=1,112d0%0a%3c In order to provide proper TLS for your services, you will need a certificate signed by a trusted certificate authority (CA). The easiest option for now is to use the Let's Encrypt client by acme-client.%0a%3c %0a%3c ==== Howto ====%0a%3c You will need to set up a httpd server in order for the acme-client to work. It is recommended to use openhttpd, click [[openbsd:www:openhttpd|here]] to find out how to set up openhttpd.%0a%3c %0a%3c First, copy the /etc/examples/acme-client.conf template:%0a%3c %0a%3c %3ccode>%0a%3c $ doas cp /etc/examples/acme-client.conf /etc/acme-client.conf%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c authority letsencrypt {%0a%3c api url "https://acme-v02.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-privkey.pem"%0a%3c }%0a%3c %0a%3c authority letsencrypt-staging {%0a%3c api url "https://acme-staging.api.letsencrypt.org/directory"%0a%3c account key "/etc/acme/letsencrypt-staging-privkey.pem"%0a%3c }%0a%3c %0a%3c domain example.com {%0a%3c alternative names { secure.example.com }%0a%3c domain key "/etc/ssl/private/example.com.key"%0a%3c domain full chain certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c sign with letsencrypt%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Replace example.com with your domain. If you didn't use any alternative names, in the past, having:%0a%3c %0a%3c %3ccode>%0a%3c alternative names { }%0a%3c %3c/code>%0a%3c %0a%3c would cause issues. So, if you have no alternative names, I recommend you comment that line out as follows:%0a%3c %0a%3c %3ccode>%0a%3c # alternative names { secure.example.com }%0a%3c %3c/code>%0a%3c %0a%3c Now, run acme-client:%0a%3c %0a%3c %3ccode>%0a%3c $ doas acme-client -Fv example.com%0a%3c %3c/code>%0a%3c %0a%3c ==== Troubleshooting ====%0a%3c If you run into errors, check to make sure:%0a%3c %0a%3c * [[openbsd:nsd|DNS]] is configured properly. %0a%3c * The [[openbsd:www:openhttpd|web server]] is configured properly. You **must** have a web server in order for the acme-client to work. (Don't be confused here if your web server seems not running in a web browser: the example config redirects all visits to the https port, that may not yet be working yet.)%0a%3c * You have the proper permissions set on the folders in /var/www/. An example output would be,%0a%3c %3ccode>%0a%3c $ ls -l /var | grep www%0a%3c drwxr-xr-x 11 root daemon 512 Mar 28 05:28 www%0a%3c $ ls -l /var/www%0a%3c total 36%0a%3c drwxr-xr-x 2 root daemon 512 Mar 28 22:16 acme%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:12 bin%0a%3c drwx-----T 2 www daemon 512 Oct 12 12:34 cache%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:12 cgi-bin%0a%3c drwxr-xr-x 2 root daemon 512 Mar 14 06:03 conf%0a%3c drwxr-xr-x 3 root daemon 512 Oct 12 12:34 htdocs%0a%3c drwxr-xr-x 2 root daemon 512 Mar 29 00:00 logs%0a%3c drwxr-xr-x 2 root daemon 512 Oct 12 12:34 run%0a%3c %3c/code>%0a%3c * Your firewall is not configured to block Let's Encrypt certification verification process. Typically it will initiate a few servers to connect to port 80 on your server.%0a%3c %0a%3c ==== Successful outcomes ====%0a%3c A successful outcome would result in:%0a%3c * A ASCII text file, suffixed with .key with your hostname in /etc/ssl/private e.g.%0a%3c %3ccode>%0a%3c $ doas ls -l /etc/ssl/private%0a%3c -r-------- 1 root wheel 3272 Mar 28 22:16 example.com.key%0a%3c %3c/code>%0a%3c * A PEM certificate under /etc/ssl e.g.%0a%3c %3ccode>%0a%3c $ ls -l /etc/ssl/*.pem%0a%3c -r--r--r-- 1 root wheel 3937 Mar 28 22:16 example.com.fullchain.pem%0a%3c %3c/code>%0a%3c %0a%3c It would have the following output of running acme-client, generating a certificate for example.com%0a%3c %3ccode>%0a%3c acme-client: /etc/ssl/private/example.com.key: generated RSA domain key%0a%3c acme-client: /etc/acme/letsencrypt-privkey.pem: generated RSA account key%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/directory: directories%0a%3c acme-client: acme-v02.api.letsencrypt.org: DNS: 172.65.32.248%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 0%0a%3c acme-client: /var/www/acme/mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL: created%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ: challenge%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 0%0a%3c acme-client: dochngreq: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3674632835%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: challenge, token: mylkLrPXTvdyiTbDDybKy7M-0JyqiBr0nOg8UXnJ0uDL, uri: https://acme-v02.api.letsencrypt.org/acme/chall-v3/3674632835/-1tUXQ, status: 2%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 1%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/finalize/81817869/2815341474: certificate%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: order.status 3%0a%3c acme-client: https://acme-v02.api.letsencrypt.org/acme/cert/vxsJMODZOeZxwiuyq9Bz6jqgoRRRUak8ZQ3ob: certificate%0a%3c acme-client: 172.65.32.248: tls_close: EOF without close notify%0a%3c acme-client: /etc/ssl/example.com.fullchain.pem: created%0a%3c %3c/code>%0a +host:1597060757=38.81.163.143 blob - /dev/null blob + 4020415319dacbd6252d87a69c365656c4b21334 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Acopm @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1604503934 +host=38.81.163.7 +name=Openbsd.Acopm +rev=2 +targets= +text=[[https://packages.alphachat.net/projects/ACOPM.git/plain/README.md|AlphaChat Open Proxy Monitor (ACOPM)]] +time=1604503937 +author:1604503937=jrmu +diff:1604503937:1604503934:= +host:1604503937=38.81.163.7 +author:1604503934=jrmu +diff:1604503934:1604503934:=1d0%0a%3c [[https://packages.alphachat.net/projects/ACOPM.git/plain/README.md|AlphaChat Open Proxy Monitor (ACOPM)]]%0a\ No newline at end of file%0a +host:1604503934=38.81.163.7 blob - /dev/null blob + be826609d452352647b0e3d19b58691fdd5e996e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Adduser @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635589778 +host=38.87.162.47 +name=Openbsd.Adduser +rev=1 +targets= +text=jrmu$ doas adduser%0aCouldn't find /etc/adduser.conf: creating a new adduser config%0auration file%0aReading /etc/shells%0aEnter your default shell: csh ksh nologin sh [ksh]:%0aYour default shell is: ksh -> /bin/ksh%0aDefault login class: authpf bgpd daemon default pbuild staff u%0anbound xenodm%0a[default]:%0aEnter your default HOME partition: [/home]:%0aCopy dotfiles from: /etc/skel no [/etc/skel]:%0aSend welcome message?: /path/file default no [no]:%0aDo not send message(s)%0aPrompt for passwords by default (y/n) [y]:%0aDefault encryption method for passwords: auto blowfish [auto]:%0a%0aUse option ``-silent'' if you don't want to see all warnings a%0and questions.%0a%0aReading /etc/shells%0aCheck /etc/master.passwd%0aCheck /etc/group%0a%0aOk, let's go.%0aDon't worry about mistakes. There will be a chance later to co%0arrect any input.%0aEnter username []: znc%0aEnter full name []:%0aEnter shell csh ksh nologin sh [ksh]:%0aUid [1001]:%0aLogin group znc [znc]:%0aLogin group is ``znc''. Invite znc into other groups: guest no%0a%0a[no]:%0aLogin class authpf bgpd daemon default pbuild staff unbound xe%0anodm%0a[default]:%0aEnter password []:%0aDisable password logins for the user? (y/n) [n]: y%0a%0aName: znc%0aPassword: ****%0aFullname: znc%0aUid: 1001%0aGid: 999 (znc)%0aGroups: znc%0aLogin Class: default%0aHOME: /home/znc%0aShell: /bin/ksh%0aOK? (y/n) [y]: y%0aAdded user ``znc''%0aCopy files from /etc/skel to /home/znc%0aAdd another user? (y/n) [y]: n%0aGoodbye!%0ajrmu$%0a +time=1635589778 +author:1635589778=jrmu +diff:1635589778:1635589778:=1,55d0%0a%3c jrmu$ doas adduser%0a%3c Couldn't find /etc/adduser.conf: creating a new adduser config%0a%3c uration file%0a%3c Reading /etc/shells%0a%3c Enter your default shell: csh ksh nologin sh [ksh]:%0a%3c Your default shell is: ksh -> /bin/ksh%0a%3c Default login class: authpf bgpd daemon default pbuild staff u%0a%3c nbound xenodm%0a%3c [default]:%0a%3c Enter your default HOME partition: [/home]:%0a%3c Copy dotfiles from: /etc/skel no [/etc/skel]:%0a%3c Send welcome message?: /path/file default no [no]:%0a%3c Do not send message(s)%0a%3c Prompt for passwords by default (y/n) [y]:%0a%3c Default encryption method for passwords: auto blowfish [auto]:%0a%3c %0a%3c Use option ``-silent'' if you don't want to see all warnings a%0a%3c nd questions.%0a%3c %0a%3c Reading /etc/shells%0a%3c Check /etc/master.passwd%0a%3c Check /etc/group%0a%3c %0a%3c Ok, let's go.%0a%3c Don't worry about mistakes. There will be a chance later to co%0a%3c rrect any input.%0a%3c Enter username []: znc%0a%3c Enter full name []:%0a%3c Enter shell csh ksh nologin sh [ksh]:%0a%3c Uid [1001]:%0a%3c Login group znc [znc]:%0a%3c Login group is ``znc''. Invite znc into other groups: guest no%0a%3c %0a%3c [no]:%0a%3c Login class authpf bgpd daemon default pbuild staff unbound xe%0a%3c nodm%0a%3c [default]:%0a%3c Enter password []:%0a%3c Disable password logins for the user? (y/n) [n]: y%0a%3c %0a%3c Name: znc%0a%3c Password: ****%0a%3c Fullname: znc%0a%3c Uid: 1001%0a%3c Gid: 999 (znc)%0a%3c Groups: znc%0a%3c Login Class: default%0a%3c HOME: /home/znc%0a%3c Shell: /bin/ksh%0a%3c OK? (y/n) [y]: y%0a%3c Added user ``znc''%0a%3c Copy files from /etc/skel to /home/znc%0a%3c Add another user? (y/n) [y]: n%0a%3c Goodbye!%0a%3c jrmu$%0a +host:1635589778=38.87.162.47 blob - /dev/null blob + 629deb5586dcce9a77a4f11554acdf7b6966c43f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Amplification @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608355259 +host=198.251.81.119 +name=Openbsd.Amplification +rev=2 +targets= +text=[@%0a10:54:20.457417 192.168.0.1.3306 > 198.251.81.119.41000: . 153:1601(1448) ack 168 win 243 %3cnop,nop,timestamp 1306862229 3995777189> (DF) (ttl 64, id 29089, len 1500)%0aE...q.@.@..F...3..QA...(............J......%0aM."..*.......D....def.protonsql1_totohot.g5_apms_data.g5_apms_data.id.id.?.......B...H....def.protonsql1_totohot.g5_apms_data.g5_apms_data.type.type.?...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_q.data_q.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_1.data_1.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_2.data_2.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_3.data_3.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_4.data_4.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_5.data_5.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_6.data_6.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_7.data_7.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_8.data_8.!...........L..^M.def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_9.data_9.!...........N....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_10.data_10.!...........P....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_set.data_set.!.................."......3.11..totohot.Basic...........a:24:{s:5:"thema";s:7:"totohot";s:6:"layout";s:0:"";s:2:"pc";s:0:"";s:4:"size";s:4:"1200";s:10:"background";s:0:"";s:7:"bgcolor";s:0:"";s:2:"bg";s:6:"center";s:5:"tmenu";s:0:"";s:3:"nav";s:4:"both";s:4:"subv";s:4:"show";s:4:"subh";s:0:"";s:4:"allm";s:0:"";s:4:"subw";s:0:%0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from an SQL database. In this case, we know port 3306 is for MySQL by checking /etc/services.%0a%0a[@%0a10:54:20.478357 199.195.255.40.33912 > 198.98.62.208.80: P [tcp sum ok] 0:719(719) ack 1 win 229 %3cnop,nop,timestamp 1400457072 731155732> (DF) (ttl 64, id 52288, len 771)%0aE....@@.@......(.b>..x.Pw4.O........e\.....%0aSyGp+...POST /apkdl_bot.php HTTP/1.1%0aHost: apkdl.in%0aUser-Agent: Railgun/5.3.3%0aContent-Length: 331%0aCdn-Loop: cloudflare%0aCf-Connecting-Ip: 91.108.6.32%0aCf-Ipcountry: AG%0aCf-Origin-Https: off%0aCf-Ray: 5f127601beabd8d5-AMS%0aCf-Request-Id: 065f6815140000d8d517335000000001%0aCf-Visitor: {"scheme":"https"}%0aContent-Type: application/json%0aX-Forwarded-For: 91.108.6.32%0aX-Forwarded-Proto: https%0a%0a{"update_id":98363691,%0a"message":{"message_id":78810276,"from":{"id":1203629066,"is_bot":false,"first_name":"Mi%0arjalol","language_code":"uz"},"chat":{"id":1203629066,"first_name":"Mirjalol","type":"pr%0aivate"},"date":1605207260,"text":"/preview_com_shadow_battle_superhero","entities":[{"of%0afset":0,"length":36,"type":"bot_command"}]}}%0a@]%0a%0a[@%0a10:54:20.594535 199.195.255.40.33914 > 198.98.62.208.80: . [tcp sum ok] ack 1855138974 win 229 %3cnop,nop,timestamp 1400457101 731155849> (DF) (ttl 64, id 57129, len 52)%0aE..4.)@.@..{...(.b>..z.P.R..n.,............%0aSyG.+...%0a@]%0a +time=1608356537 +author:1608356537=jrmu +diff:1608356537:1608355259:=7d6%0a%3c In the above, we see the source IP (192.168.0.1) port 3306 is sending a TCP packet to 198.251.81.119 port 41000 (our server). The content shows that it is coming from an SQL database. In this case, we know port 3306 is for MySQL by checking /etc/services.%0a +host:1608356537=198.251.81.119 +author:1608355259=jrmu +diff:1608355259:1608355259:=1,37d0%0a%3c [@%0a%3c 10:54:20.457417 192.168.0.1.3306 > 198.251.81.119.41000: . 153:1601(1448) ack 168 win 243 %3cnop,nop,timestamp 1306862229 3995777189> (DF) (ttl 64, id 29089, len 1500)%0a%3c E...q.@.@..F...3..QA...(............J......%0a%3c M."..*.......D....def.protonsql1_totohot.g5_apms_data.g5_apms_data.id.id.?.......B...H....def.protonsql1_totohot.g5_apms_data.g5_apms_data.type.type.?...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_q.data_q.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_1.data_1.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_2.data_2.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_3.data_3.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_4.data_4.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_5.data_5.!...........L...def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_6.data_6.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_7.data_7.!...........L....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_8.data_8.!...........L..^M.def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_9.data_9.!...........N....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_10.data_10.!...........P....def.protonsql1_totohot.g5_apms_data.g5_apms_data.data_set.data_set.!.................."......3.11..totohot.Basic...........a:24:{s:5:"thema";s:7:"totohot";s:6:"layout";s:0:"";s:2:"pc";s:0:"";s:4:"size";s:4:"1200";s:10:"background";s:0:"";s:7:"bgcolor";s:0:"";s:2:"bg";s:6:"center";s:5:"tmenu";s:0:"";s:3:"nav";s:4:"both";s:4:"subv";s:4:"show";s:4:"subh";s:0:"";s:4:"allm";s:0:"";s:4:"subw";s:0:%0a%3c @]%0a%3c %0a%3c %0a%3c [@%0a%3c 10:54:20.478357 199.195.255.40.33912 > 198.98.62.208.80: P [tcp sum ok] 0:719(719) ack 1 win 229 %3cnop,nop,timestamp 1400457072 731155732> (DF) (ttl 64, id 52288, len 771)%0a%3c E....@@.@......(.b>..x.Pw4.O........e\.....%0a%3c SyGp+...POST /apkdl_bot.php HTTP/1.1%0a%3c Host: apkdl.in%0a%3c User-Agent: Railgun/5.3.3%0a%3c Content-Length: 331%0a%3c Cdn-Loop: cloudflare%0a%3c Cf-Connecting-Ip: 91.108.6.32%0a%3c Cf-Ipcountry: AG%0a%3c Cf-Origin-Https: off%0a%3c Cf-Ray: 5f127601beabd8d5-AMS%0a%3c Cf-Request-Id: 065f6815140000d8d517335000000001%0a%3c Cf-Visitor: {"scheme":"https"}%0a%3c Content-Type: application/json%0a%3c X-Forwarded-For: 91.108.6.32%0a%3c X-Forwarded-Proto: https%0a%3c %0a%3c {"update_id":98363691,%0a%3c "message":{"message_id":78810276,"from":{"id":1203629066,"is_bot":false,"first_name":"Mi%0a%3c rjalol","language_code":"uz"},"chat":{"id":1203629066,"first_name":"Mirjalol","type":"pr%0a%3c ivate"},"date":1605207260,"text":"/preview_com_shadow_battle_superhero","entities":[{"of%0a%3c fset":0,"length":36,"type":"bot_command"}]}}%0a%3c @]%0a%3c %0a%3c [@%0a%3c 10:54:20.594535 199.195.255.40.33914 > 198.98.62.208.80: . [tcp sum ok] ack 1855138974 win 229 %3cnop,nop,timestamp 1400457101 731155849> (DF) (ttl 64, id 57129, len 52)%0a%3c E..4.)@.@..{...(.b>..z.P.R..n.,............%0a%3c SyG.+...%0a%3c @]%0a +host:1608355259=198.251.81.119 blob - /dev/null blob + ebbecc209caf8ec168adda52e900b1877a71b532 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Announce @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609678922 +host=125.231.63.134 +name=Openbsd.Announce +rev=3 +targets=Openbsd.Wall,Ircnow.Servers +text=(:title Procedure for Maintenance Announcements:)%0a%0aBefore doing any important system upgrade which may result in downtime, announce the update to your users.%0a%0aIn your message, clearly state the time the upgrade is expected to begin in UTC, what you plan to upgrade, and roughly when service will be restored. For example:%0a%0aJan 3, 2021: A scheduled upgrade will take place in 30 minutes at Jan 3 22:00 UTC. We are upgrading fruit.ircnow.org users to ZNC 1.8.2. Service should be restored at around 22:30 UTC. Thanks for your patience!%0a%0aEmail:%0a%0a# For major updates, send an email to users on the mailing list. For major updates, please cc support@ircnow.org and support@fruit.ircnow.org%0a%0aIRC:%0a%0a# Announce on #ircnow and on your #fruit and #fruit-team channel%0a# If ZNC will be affected, announce on ZNC using /msg *status broadcast %3cmsg> . You will need to repeat this every 5-10 minutes because some users may not see NOTICE messages.%0a%0aShell:%0a%0a# Update /etc/motd to notify users of major changes%0a# Write on users' [[openbsd/wall|wall]]: @@$ doas wall@@%0a%0aWiki:%0a%0a# Log major changes on [[ircnow/servers|your team's wiki]] +time=1609679631 +title=Procedure for Maintenance Announcements +author:1609679631=jrmu +diff:1609679631:1609679175:=5,12c5,8%0a%3c In your message, clearly state the time the upgrade is expected to begin in UTC, what you plan to upgrade, and roughly when service will be restored. For example:%0a%3c %0a%3c Jan 3, 2021: A scheduled upgrade will take place in 30 minutes at Jan 3 22:00 UTC. We are upgrading fruit.ircnow.org users to ZNC 1.8.2. Service should be restored at around 22:30 UTC. Thanks for your patience!%0a%3c %0a%3c Email:%0a%3c %0a%3c # For major updates, send an email to users on the mailing list. For major updates, please cc support@ircnow.org and support@fruit.ircnow.org%0a%3c %0a---%0a> Wiki:%0a> %0a> All actions must be logged in your team's wiki pages%0a> %0a15,17c11,19%0a%3c # Announce on #ircnow and on your #fruit and #fruit-team channel%0a%3c # If ZNC will be affected, announce on ZNC using /msg *status broadcast %3cmsg> . You will need to repeat this every 5-10 minutes because some users may not see NOTICE messages.%0a%3c %0a---%0a> For each action taken, report it on IRC to your team channel%0a> For major changes, email the entire team by sending to support@fruit.ircnow.org%0a> Read all of the scrollback in the IRC team channel and read all team emails every day%0a> Check your username@ircnow.org email daily%0a> When editing a config, save a backup copy with a timestamp and serial number. For example, doas cp doas.conf doas.conf.2020123100%0a> The team leader should assigned each team member separate tasks to avoid collision%0a> If you need to work on another team member's task, make sure to notify that team member in advance%0a> Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and /msg *status broadcast %3cmsg> on ZNC at least ten minutes in advance. %0a> %0a20,25c22,42%0a%3c # Update /etc/motd to notify users of major changes%0a%3c # Write on users' [[openbsd/wall|wall]]: @@$ doas wall@@%0a%3c %0a%3c Wiki:%0a%3c %0a%3c # Log major changes on [[ircnow/servers|your team's wiki]]%0a\ No newline at end of file%0a---%0a> # Update /etc/motd %0a> %0a> IRC:%0a> %0a> # Announce on #ircnow and on your #fruit channel%0a> # If ZNC will be affected, announce on ZNC using /msg *status broadcast %3cmsg>%0a> %0a> Be present on #opers for sensitive oper-related discussion%0a> Be present on #wheel to meet new teammates in training %0a> %0a> ZNC:%0a> %0a> Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a> Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a> If you see a user with frequent disconnects, fix his network connection for him.%0a> If you see a user GLINEd, you need to either investigate abuse or request an iline. %0a> %0a> SMTP:%0a> %0a> All team members must check support@fruit.ircnow.org emails daily %0a> %0a +host:1609679631=125.231.63.134 +author:1609679175=jrmu +diff:1609679175:1609678922:=1,6c1,4%0a%3c (:title Procedure for Maintenance Announcements:)%0a%3c %0a%3c Before doing any important system upgrade which may result in downtime, announce the update to your users.%0a%3c %0a%3c Wiki:%0a%3c %0a---%0a> %0a> %0a> Team Procedure:%0a> %0a8,10d5%0a%3c %0a%3c IRC:%0a%3c %0a20,23d14%0a%3c Shell:%0a%3c %0a%3c # Update /etc/motd %0a%3c %0a26,28c17%0a%3c # Announce on #ircnow and on your #fruit channel%0a%3c # If ZNC will be affected, announce on ZNC using /msg *status broadcast %3cmsg>%0a%3c %0a---%0a> Be present on #ircnow on the networks you claim and help with customer support%0a +host:1609679175=125.231.63.134 +author:1609678922=jrmu +diff:1609678922:1609678922:=1,31d0%0a%3c %0a%3c %0a%3c Team Procedure:%0a%3c %0a%3c All actions must be logged in your team's wiki pages%0a%3c For each action taken, report it on IRC to your team channel%0a%3c For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c Read all of the scrollback in the IRC team channel and read all team emails every day%0a%3c Check your username@ircnow.org email daily%0a%3c When editing a config, save a backup copy with a timestamp and serial number. For example, doas cp doas.conf doas.conf.2020123100%0a%3c The team leader should assigned each team member separate tasks to avoid collision%0a%3c If you need to work on another team member's task, make sure to notify that team member in advance%0a%3c Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and /msg *status broadcast %3cmsg> on ZNC at least ten minutes in advance. %0a%3c %0a%3c IRC:%0a%3c %0a%3c Be present on #ircnow on the networks you claim and help with customer support%0a%3c Be present on #opers for sensitive oper-related discussion%0a%3c Be present on #wheel to meet new teammates in training %0a%3c %0a%3c ZNC:%0a%3c %0a%3c Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a%3c Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a%3c If you see a user with frequent disconnects, fix his network connection for him.%0a%3c If you see a user GLINEd, you need to either investigate abuse or request an iline. %0a%3c %0a%3c SMTP:%0a%3c %0a%3c All team members must check support@fruit.ircnow.org emails daily %0a%3c %0a +host:1609678922=125.231.63.134 blob - /dev/null blob + 0fa845ea36e9596d366bda58ae71436bb5da39eb (mode 644) --- /dev/null +++ wiki.d/Openbsd.Anope @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37 +author=miniontoby +charset=UTF-8 +csum=cp +ctime=1610891278 +host=77.168.188.164 +name=Openbsd.Anope +rev=3 +targets= +text=If you want the NickServ, ChanServ and all other *Serv you need to install anope%0a%0aTo do so you need to firstly install the required packages:%0a%0a[@%0adoas pkg_add wget cmake%0a@]%0a%0a%0aThen download Anope,%0a%0aDo that by executing the following commands:%0a%0a[@%0awget https://github.com/anope/anope/archive/2.0.9.tar.gz%0atar zxf 2.0.9.tar.gz%0acd anope-2.0.9%0a@]%0a%0aThis will download the newest version of anope, untar it and it will cd into the dir.%0a%0a%0aThen what you want to do is the following:%0a%0a[@%0a./Config%0a@]%0a%0aand at every question you can press enter, its not recommended to edit any value%0a%0a%0aThen you need to do the following to build it:%0a[@ %0amake%0amake install%0a@]%0a%0aThen the source is builded and you can go ahead edit the conf,%0a[@%0acd ~/services/conf%0acp example.conf services.conf%0anano services.conf%0a@]%0a%0aedit at the services.conf the following things:%0a%0a# At [@name = "services.host"@] you need to set the 'value =' (below the "name =" line) to: [@services.YOURVPSNAME.coconut.ircnow.org@]%0a# At uplink block you need to change it to something like this: [@uplink%0a{%0a host = "%3cYOURVPSNAME>.coconut.ircnow.org"%0a ssl = no%0a port = 6667%0a password = "%3cTHINK OF THIS BUT PLZ SAVE IT FOR NOW, YOU NEED IT LATER>"%0a}@]%0a#and edit the 'serverinfo' block.%0a%0a%0aNow go to your ngircd conf and if its right then %0a%0aSearch for the [Server] block (with a lots of comments) and edit the following things:%0a# Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a# Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a# MyPassword and PeerPassword to the password at the uplink block in services.conf%0a%0a%0athen restart (or reload) your ngircd %0a%0athen do the following to start the services:%0a%0a[@%0acd ~/services/bin%0a./anoperc start%0a@] %0a%0aif './anoperc start' fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a +time=1622456673 +author:1622456673=miniontoby +csum:1622456673=cp +diff:1622456673:1610900758:=41d40%0a%3c cp example.conf services.conf%0a +host:1622456673=77.168.188.164 +author:1610900758=miniontoby +csum:1610900758=layout better +diff:1610900758:1610891278:=9,11c9,10%0a%3c %0a%3c Then download Anope,%0a%3c %0a---%0a> To do that you need to firstly download Anope,%0a> %0a22d20%0a%3c %0a31d28%0a%3c %0a32a30%0a> %0a38a37%0a> %0a46,47c45,52%0a%3c # At [@name = "services.host"@] you need to set the 'value =' (below the "name =" line) to: [@services.YOURVPSNAME.coconut.ircnow.org@]%0a%3c # At uplink block you need to change it to something like this: [@uplink%0a---%0a> [@Line 93: %0a> change the 'value = ' line of the 'name = "services.host"', into: %0a> 'value = "services.YOURVPSNAME.coconut.ircnow.org"'%0a> %0a> %0a> edit the uplink block to something like this%0a> '%0a> uplink%0a53,68c58,68%0a%3c }@]%0a%3c #and edit the 'serverinfo' block.%0a%3c %0a%3c %0a%3c Now go to your ngircd conf and if its right then %0a%3c %0a%3c Search for the [Server] block (with a lots of comments) and edit the following things:%0a%3c # Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a%3c # Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a%3c # MyPassword and PeerPassword to the password at the uplink block in services.conf%0a%3c %0a%3c %0a%3c then restart (or reload) your ngircd %0a%3c %0a%3c then do the following to start the services:%0a%3c %0a---%0a> }%0a> ' %0a> %0a> %0a> and edit the 'serverinfo' block.%0a> @]%0a> %0a> Now go to your ngircd conf and if its right then at the first [Server] block there should be lots of comments, use that block%0a> %0a> And edit the following things:%0a> %0a69a70,84%0a> change: %0a> Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a> %0a> and:%0a> Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a> %0a> and:%0a> MyPassword and PeerPassword to the password at the uplink block in services.conf%0a> @]%0a> %0a> then restart (or reload) your ngircd %0a> %0a> then do the following to start the services:%0a> %0a> [@%0a74c89%0a%3c if './anoperc start' fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network%0a---%0a> if ./anoperc start fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network%0a +host:1610900758=145.132.146.30 +author:1610891278=miniontoby +csum:1610891278=created and fully writen +diff:1610891278:1610891278:=1,93d0%0a%3c If you want the NickServ, ChanServ and all other *Serv you need to install anope%0a%3c %0a%3c To do so you need to firstly install the required packages:%0a%3c %0a%3c [@%0a%3c doas pkg_add wget cmake%0a%3c @]%0a%3c %0a%3c To do that you need to firstly download Anope,%0a%3c %0a%3c Do that by executing the following commands:%0a%3c %0a%3c [@%0a%3c wget https://github.com/anope/anope/archive/2.0.9.tar.gz%0a%3c tar zxf 2.0.9.tar.gz%0a%3c cd anope-2.0.9%0a%3c @]%0a%3c %0a%3c This will download the newest version of anope, untar it and it will cd into the dir.%0a%3c %0a%3c Then what you want to do is the following:%0a%3c %0a%3c [@%0a%3c ./Config%0a%3c @]%0a%3c %0a%3c and at every question you can press enter, its not recommended to edit any value%0a%3c %0a%3c Then you need to do the following to build it:%0a%3c %0a%3c [@ %0a%3c make%0a%3c make install%0a%3c @]%0a%3c %0a%3c Then the source is builded and you can go ahead edit the conf,%0a%3c %0a%3c [@%0a%3c cd ~/services/conf%0a%3c nano services.conf%0a%3c @]%0a%3c %0a%3c edit at the services.conf the following things:%0a%3c %0a%3c [@Line 93: %0a%3c change the 'value = ' line of the 'name = "services.host"', into: %0a%3c 'value = "services.YOURVPSNAME.coconut.ircnow.org"'%0a%3c %0a%3c %0a%3c edit the uplink block to something like this%0a%3c '%0a%3c uplink%0a%3c {%0a%3c host = "%3cYOURVPSNAME>.coconut.ircnow.org"%0a%3c ssl = no%0a%3c port = 6667%0a%3c password = "%3cTHINK OF THIS BUT PLZ SAVE IT FOR NOW, YOU NEED IT LATER>"%0a%3c }%0a%3c ' %0a%3c %0a%3c %0a%3c and edit the 'serverinfo' block.%0a%3c @]%0a%3c %0a%3c Now go to your ngircd conf and if its right then at the first [Server] block there should be lots of comments, use that block%0a%3c %0a%3c And edit the following things:%0a%3c %0a%3c [@%0a%3c change: %0a%3c Name = services.%3cYOURVPSNAME>.coconut.ircnow.org%0a%3c %0a%3c and:%0a%3c Host = %3cYOURVPSNAME>.coconut.ircnow.org%0a%3c %0a%3c and:%0a%3c MyPassword and PeerPassword to the password at the uplink block in services.conf%0a%3c @]%0a%3c %0a%3c then restart (or reload) your ngircd %0a%3c %0a%3c then do the following to start the services:%0a%3c %0a%3c [@%0a%3c cd ~/services/bin%0a%3c ./anoperc start%0a%3c @] %0a%3c %0a%3c if ./anoperc start fails, plz relook the conf or if you dont get out of the error, you can contact Miniontoby (AKA MiniontobyPI) on the ircnow network%0a%3c %0a%3c ----%0a%3c %0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a +host:1610891278=145.132.146.30 blob - /dev/null blob + 9aab12443e0cad0b33f78862b950b30802401369 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Anycast @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597224884 +host=80.191.34.206 +name=Openbsd.Anycast +rev=2 +targets= +text=Anycasting allows you to have multiple servers in different data centers all share the same IP. IRCNow currently uses [[https://buyvm.net|BuyVM]], which provides [[https://buyvm.net/anycast-vps/|anycasting]] free of charge for customers that purchase 3 VMs with them provided they are all in different data centers.%0a%0aThe benefit is that, whenever a user connects to your network, he will request from the server that is closest to him, reducing the latency of the connection.%0a%0aTo set up anycasting, first follow the instructions provided by your provider ([[https://wiki.buyvm.net/doku.php/anycast_vps|here are BuyVM's]]), then configure OpenBSD to use those IP addresses.%0a%0aSuppose you have the normal IP address 192.0.1.1 and 10.0.1.1 as the anycast IP address. Inside /etc/hostname.if0, you should put:%0a%0aSuppose you have%0a%0a[@%0ainet 192.0.1.1 255.255.255.0%0ainet alias 10.0.1.1 255.255.255.255%0a@]%0a%0aMake sure to configure this for each of the three servers that share the same anycast IP address. +time=1622268112 +author:1622268112=mkf +diff:1622268112:1597224884:=11c11%0a%3c [@%0a---%0a> %3ccode>%0a14c14%0a%3c @]%0a---%0a> %3c/code>%0a +host:1622268112=80.191.34.206 +author:1597224884=jrmu +diff:1597224884:1597224884:=1,16d0%0a%3c Anycasting allows you to have multiple servers in different data centers all share the same IP. IRCNow currently uses [[https://buyvm.net|BuyVM]], which provides [[https://buyvm.net/anycast-vps/|anycasting]] free of charge for customers that purchase 3 VMs with them provided they are all in different data centers.%0a%3c %0a%3c The benefit is that, whenever a user connects to your network, he will request from the server that is closest to him, reducing the latency of the connection.%0a%3c %0a%3c To set up anycasting, first follow the instructions provided by your provider ([[https://wiki.buyvm.net/doku.php/anycast_vps|here are BuyVM's]]), then configure OpenBSD to use those IP addresses.%0a%3c %0a%3c Suppose you have the normal IP address 192.0.1.1 and 10.0.1.1 as the anycast IP address. Inside /etc/hostname.if0, you should put:%0a%3c %0a%3c Suppose you have%0a%3c %0a%3c %3ccode>%0a%3c inet 192.0.1.1 255.255.255.0%0a%3c inet alias 10.0.1.1 255.255.255.255%0a%3c %3c/code>%0a%3c %0a%3c Make sure to configure this for each of the three servers that share the same anycast IP address.%0a\ No newline at end of file%0a +host:1597224884=38.81.163.143 blob - /dev/null blob + 2d7a3c579f939473a4046a2796bdbe921cc06ec5 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Audit @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611575113 +host=125.224.24.163 +name=Openbsd.Audit +rev=10 +targets=Openbsd.Ddos,Openbsd.Phishing,Openbsd.Shellinjection,Openbsd.Rootkit,Openbsd.Backdoor,Openbsd.Dos,Openbsd.Spamming,Openbsd.0days,Openbsd.Rootkits,Openbsd.Chroot,Openbsd.Pledge,Openbsd.Unveil,Openbsd.Pf,Openbsd.FilePermissions,Openbsd.Databaseperms,Openbsd.Passwords,Openbsd.Ssh,Openbsd.Secureweb,Openbsd.Ids,Openbsd.Trust,Openbsd.Defaultdeny,Openbsd.Sshkeys +text=(:title Security Audit:)%0a%0aSecurity is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a%0aNo system is perfectly secure. You must constantly work to improve security. The more users and the more important your data is, the more effort attackers will spend to harm you. On the other hand, the more security you add, the more difficult the system becomes to use. For example, if you make your firewall too secure, you might lock yourself out.%0a%0aSecurity is extremely important for IRCNow's reputation. Here are some possible disasters when you don't secure your servers:%0a%0a# All our servers could be [[openbsd/ddos|DDoSed offline]]%0a# Customer emails, passwords, credit card info, private chats, and files are stolen%0a# Your personal IP and name are leaked on the Internet%0a# Your website is vandalized or loaded with illegal files for filesharing%0a# Your server is used for [[openbsd/phishing|phishing]], [[openbsd/ddos|DDoS attacks]], or [[openbsd/shellinjection|shell injection attacks]]%0a# A [[openbsd/rootkit|rootkit]] is planted in your server and [[openbsd/backdoor|backdoors]] are placed in your source code%0a%0a!! Attack Types%0a%0a# [[openbsd/phishing|Phishing]]: An attacker does '''not''' have to use advanced high-tech hacking skills. It's much easier for him to lie to you or pretend to be someone you trust. He can use a fake nick or use a fake email to impersonate one of our teammates. This is called [[openbsd/phishing|phishing]].%0a# [[openbsd/dos|Denial of Service]]: An attacker can cause your systems to fail and deny service. This doesn't require as much work as exploiting bugs or vulnerabilities in code.%0a# [[openbsd/spamming|Spamming]]: An attacker can spam your network, it is similar to a denial of service.%0a# [[openbsd/0days|0days]]: An attacker may exploit 0days%0a# [[openbsd/rootkits|Rootkits]]: Planting rootkits%0a%0a!! System Vulnerabilities%0a%0a# Are your [[openbsd/0days|public services secure]]?%0a# If the software is not secure, have you taken basic mitigation steps? For example, you can [[openbsd/chroot|set up a chroot]] or consider [[openbsd/pledge|pledge]] and [[openbsd/unveil|unveil]]%0a# Are your public services properly configured?%0a# Do you have a [[openbsd/pf|firewall]] enabled to block private services?%0a# Can an intruder [[openbsd/FilePermissions|read files, write to files, or execute files]] he is not supposed to?%0a# Can they [[openbsd/databaseperms|read databases]] they should not have access to?%0a# Can they [[openbsd/passwords|steal your password]] or [[openbsd/ssh|ssh keys]]?%0a# Are your [[openbsd/secureweb|web apps secure]]?%0a# Do you have proper logging? An [[openbsd/ids|intrusion detection system]] in place?%0a# [[openbsd/trust|Who can you trust?]]%0a%0a!! Default Deny%0a%0aThe best security policy is to [[openbsd/defaultdeny|deny everything except what you expressly permit]].%0a%0a!! Improving Personal Security%0a%0aIf your personal security is bad, an attacker could use your PC to steal your passwords and ssh keys to log in to your server. To make sure your own personal computer is safe:%0a%0a# Upgrade to the latest version of your operating system%0a# If you are using Mac or Windows, please consider switching to OpenBSD or Linux%0a# Never download warez or any untrustworthy files%0a# Use TLS and try verifying the signatures of software that you download%0a# Use [[openbsd/passwords|good passwords]]%0a# Use [[openbsd/sshkeys|SSH keys]]%0a%0a!! Isolate Hosts%0a%0aIf you have hundreds or thousands of computers you manage on a network, it's impossible to secure them all, so try to isolate each one to prevent one compromised system from affecting another.%0a%0a!! Reduce Attack Surface%0a%0aYou can make it harder for an attacker to compromise your system by reducing the attack surface. For a public server, this means reducing the amount of public services that users can connect to from the Internet.%0a%0a!! Attackers Aren't Stupid%0a%0aSimple "fixes" like changing the port number for SSH is not going to stop attackers. %0a%0aOne type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections. +time=1612068384 +title=Security Audit +author:1612068384=jrmu +diff:1612068384:1612067033:=41,62c41,53%0a%3c !! Improving Personal Security%0a%3c %0a%3c If your personal security is bad, an attacker could use your PC to steal your passwords and ssh keys to log in to your server. To make sure your own personal computer is safe:%0a%3c %0a%3c # Upgrade to the latest version of your operating system%0a%3c # If you are using Mac or Windows, please consider switching to OpenBSD or Linux%0a%3c # Never download warez or any untrustworthy files%0a%3c # Use TLS and try verifying the signatures of software that you download%0a%3c # Use [[openbsd/passwords|good passwords]]%0a%3c # Use [[openbsd/sshkeys|SSH keys]]%0a%3c %0a%3c !! Isolate Hosts%0a%3c %0a%3c If you have hundreds or thousands of computers you manage on a network, it's impossible to secure them all, so try to isolate each one to prevent one compromised system from affecting another.%0a%3c %0a%3c !! Reduce Attack Surface%0a%3c %0a%3c You can make it harder for an attacker to compromise your system by reducing the attack surface. For a public server, this means reducing the amount of public services that users can connect to from the Internet.%0a%3c %0a%3c !! Attackers Aren't Stupid%0a%3c %0a%3c Simple "fixes" like changing the port number for SSH is not going to stop attackers. %0a---%0a> %0a> Even if you have a single dial up PPP account, or just a small site, this does not mean intruders won't be interested in your systems. Large, high-profile sites are not the only targets -- many intruders simply want to exploit as many sites as possible, regardless of their size. Additionally, they may use a security hole in your site to gain access to other sites you're connected to.%0a> %0a> Intruders have a lot of time on their hands, and can avoid guessing how you've obscured your system just by trying all the possibilities. There are also a number of reasons an intruder may be interested in your systems, which we will discuss later.%0a> 2.5.1. Host Security%0a> %0a> Perhaps the area of security on which administrators concentrate most is host-based security. This typically involves making sure your own system is secure, and hoping everyone else on your network does the same. Choosing good passwords, securing your host's local network services, keeping good accounting records, and upgrading programs with known security exploits are among the things the local security administrator is responsible for doing. Although this is absolutely necessary, it can become a daunting task once your network becomes larger than a few machines.%0a> 2.5.2. Local Network Security%0a> %0a> Network security is as necessary as local host security. With hundreds, thousands, or more computers on the same network, you can't rely on each one of those systems being secure. Ensuring that only authorized users can use your network, building firewalls, using strong encryption, and ensuring there are no "rogue" (that is, unsecured) machines on your network are all part of the network security administrator's duties.%0a> %0a> This document will discuss some of the techniques used to secure your site, and hopefully show you some of the ways to prevent an intruder from gaining access to what you are trying to protect.%0a> 2.5.3. Security Through Obscurity%0a +host:1612068384=125.224.24.163 +author:1612067033=jrmu +diff:1612067033:1612065971:=7,14c7,12%0a%3c Security is extremely important for IRCNow's reputation. Here are some possible disasters when you don't secure your servers:%0a%3c %0a%3c # All our servers could be [[openbsd/ddos|DDoSed offline]]%0a%3c # Customer emails, passwords, credit card info, private chats, and files are stolen%0a%3c # Your personal IP and name are leaked on the Internet%0a%3c # Your website is vandalized or loaded with illegal files for filesharing%0a%3c # Your server is used for [[openbsd/phishing|phishing]], [[openbsd/ddos|DDoS attacks]], or [[openbsd/shellinjection|shell injection attacks]]%0a%3c # A [[openbsd/rootkit|rootkit]] is planted in your server and [[openbsd/backdoor|backdoors]] are placed in your source code%0a---%0a> Security is extremely important for IRCNow's reputation. Here are some possible attacks that could ruin our network's reputation:%0a> %0a> #%0a> # If your users have their private data stolen, it will harm our entire network.%0a> %0a> cuss various means with which you can secure the assets you have worked hard for: your local machine, your data, your users, your network, even your reputation. What would happen to your reputation if an intruder deleted some of your users' data? Or defaced your web site? Or published your company's corporate project plan for next quarter? If you are planning a network installation, there are many factors you must take into account before adding a single machine to your network.%0a +host:1612067033=125.224.24.163 +author:1612065971=jrmu +diff:1612065971:1612065809:=7,13d6%0a%3c Security is extremely important for IRCNow's reputation. Here are some possible attacks that could ruin our network's reputation:%0a%3c %0a%3c #%0a%3c # If your users have their private data stolen, it will harm our entire network.%0a%3c %0a%3c cuss various means with which you can secure the assets you have worked hard for: your local machine, your data, your users, your network, even your reputation. What would happen to your reputation if an intruder deleted some of your users' data? Or defaced your web site? Or published your company's corporate project plan for next quarter? If you are planning a network installation, there are many factors you must take into account before adding a single machine to your network.%0a%3c %0a38a32,34%0a> 2.5. Means of Securing Your Site%0a> %0a> This document will discuss various means with which you can secure the assets you have worked hard for: your local machine, your data, your users, your network, even your reputation. What would happen to your reputation if an intruder deleted some of your users' data? Or defaced your web site? Or published your company's corporate project plan for next quarter? If you are planning a network installation, there are many factors you must take into account before adding a single machine to your network.%0a +host:1612065971=125.224.24.163 +author:1612065809=jrmu +diff:1612065809:1612064908:=25d24%0a%3c # Do you have proper logging? An [[openbsd/ids|intrusion detection system]] in place?%0a27a27,46%0a> %0a> %0a> The Curious - This type of intruder is basically interested in finding out what type of system and data you have.%0a> %0a> The Malicious - This type of intruder is out to either bring down your systems, or deface your web page, or otherwise force you to spend time and money recovering from the damage he has caused.%0a> %0a> The High-Profile Intruder - This type of intruder is trying to use your system to gain popularity and infamy. He might use your high-profile system to advertise his abilities.%0a> %0a> The Competition - This type of intruder is interested in what data you have on your system. It might be someone who thinks you have something that could benefit him, financially or otherwise.%0a> %0a> The Borrowers - This type of intruder is interested in setting up shop on your system and using its resources for their own purposes. He typically will run chat or irc servers, porn archive sites, or even DNS servers.%0a> %0a> The Leapfrogger - This type of intruder is only interested in your system to use it to get into other systems. If your system is well-connected or a gateway to a number of internal hosts, you may well see this type trying to compromise your system. %0a> %0a> Vulnerability describes how well-protected your computer is from another network, and the potential for someone to gain unauthorized access.%0a> %0a> What's at stake if someone breaks into your system? Of course the concerns of a dynamic PPP home user will be different from those of a company connecting their machine to the Internet, or another large network.%0a> %0a> How much time would it take to retrieve/recreate any data that was lost? An initial time investment now can save ten times more time later if you have to recreate data that was lost. Have you checked your backup strategy, and verified your data lately? %0a> %0a30c49,52%0a%3c The best security policy is to [[openbsd/defaultdeny|deny everything except what you expressly permit]].%0a---%0a> The best security policy is to deny everything except what you expressly permit. %0a> %0a> For example,%0a> This means that unless you grant access to a service for a user, that user shouldn't be using that service until you do grant access. Make sure the policies work on your regular user account. Saying, "Ah, I can't figure out this permissions problem, I'll just do it as root" can lead to security holes that are very obvious, and even ones that haven't been exploited yet.%0a +host:1612065809=125.224.24.163 +author:1612064908=jrmu +diff:1612064908:1612063738:=22,28c22,30%0a%3c # Can they [[openbsd/databaseperms|read databases]] they should not have access to?%0a%3c # Can they [[openbsd/passwords|steal your password]] or [[openbsd/ssh|ssh keys]]?%0a%3c # Are your [[openbsd/secureweb|web apps secure]]?%0a%3c # [[openbsd/trust|Who can you trust?]]%0a%3c %0a%3c %0a%3c %0a---%0a> %0a> Risk is the possibility that an intruder may be successful in attempting to access your computer. Can an intruder read or write files, or execute programs that could cause damage? Can they delete critical data? Can they prevent you or your company from getting important work done? Don't forget: someone gaining access to your account, or your system, can also impersonate you.%0a> %0a> Additionally, having one insecure account on your system can result in your entire network being compromised. If you allow a single user to login using a .rhosts file, or to use an insecure service such as tftp, you risk an intruder getting 'his foot in the door'. Once the intruder has a user account on your system, or someone else's system, it can be used to gain access to another system, or another account.%0a> %0a> Threat is typically from someone with motivation to gain unauthorized access to your network or computer. You must decide whom you trust to have access to your system, and what threat they could pose.%0a> %0a> There are several types of intruders, and it is useful to keep their different characteristics in mind as you are securing your systems.%0a> %0a47,51c49,56%0a%3c !! Default Deny%0a%3c %0a%3c The best security policy is to deny everything except what you expressly permit. %0a%3c %0a%3c For example,%0a---%0a> 2.4. Developing A Security Policy%0a> %0a> Create a simple, generic policy for your system that your users can readily understand and follow. It should protect the data you're safeguarding as well as the privacy of the users. Some things to consider adding are: who has access to the system (Can my friend use my account?), who's allowed to install software on the system, who owns what data, disaster recovery, and appropriate use of the system.%0a> %0a> A generally-accepted security policy starts with the phrase%0a> %0a> " That which is not permitted is prohibited"%0a> %0a53a59,63%0a> rfc1244 is a document that describes how to create your own network security policy.%0a> %0a> rfc1281 is a document that shows an example security policy with detailed descriptions of each step.%0a> %0a> Finally, you might want to look at the COAST policy archive at ftp://coast.cs.purdue.edu/pub/doc/policy to see what some real-life security policies look like.%0a +host:1612064908=125.224.24.163 +author:1612063738=jrmu +diff:1612063738:1612063600:=18d17%0a%3c # If the software is not secure, have you taken basic mitigation steps? For example, you can [[openbsd/chroot|set up a chroot]] or consider [[openbsd/pledge|pledge]] and [[openbsd/unveil|unveil]]%0a +host:1612063738=125.224.24.163 +author:1612063600=jrmu +diff:1612063600:1612063110:=12,20c12,14%0a%3c # [[openbsd/0days|0days]]: An attacker may exploit 0days%0a%3c # [[openbsd/rootkits|Rootkits]]: Planting rootkits%0a%3c %0a%3c !! System Vulnerabilities%0a%3c %0a%3c # Are your [[openbsd/0days|public services secure]]?%0a%3c # Are your public services properly configured?%0a%3c # Do you have a [[openbsd/pf|firewall]] enabled to block private services?%0a%3c # Can an intruder [[openbsd/FilePermissions|read files, write to files, or execute files]] he is not supposed to?%0a---%0a> # [[openbsd/]]%0a> %0a> !!%0a +host:1612063600=125.224.24.163 +author:1612063110=jrmu +diff:1612063110:1612062579:=7,15c7,12%0a%3c !! Attack Types%0a%3c %0a%3c # [[openbsd/phishing|Phishing]]: An attacker does '''not''' have to use advanced high-tech hacking skills. It's much easier for him to lie to you or pretend to be someone you trust. He can use a fake nick or use a fake email to impersonate one of our teammates. This is called [[openbsd/phishing|phishing]].%0a%3c # [[openbsd/dos|Denial of Service]]: An attacker can cause your systems to fail and deny service. This doesn't require as much work as exploiting bugs or vulnerabilities in code.%0a%3c # [[openbsd/spamming|Spamming]]: An attacker can spam your network, it is similar to a denial of service.%0a%3c # [[openbsd/]]%0a%3c %0a%3c !!%0a%3c %0a---%0a> You can find a well-known security policy example at http://www.faqs.org/rfcs/rfc2196.html.%0a> %0a> 2.3. What Are You Trying to Protect?%0a> %0a> Before you attempt to secure your system, you should determine what level of threat you have to protect against, what risks you should or should not take, and how vulnerable your system is as a result. You should analyze your system to know what you're protecting, why you're protecting it, what value it has, and who has responsibility for your data and other assets.%0a> %0a74c71%0a%3c One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections. %0a\ No newline at end of file%0a---%0a> One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections.%0a\ No newline at end of file%0a +host:1612063110=125.224.24.163 +author:1612062579=jrmu +diff:1612062579:1611575113:=3,71c3%0a%3c Security is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a%3c %0a%3c No system is perfectly secure. You must constantly work to improve security. The more users and the more important your data is, the more effort attackers will spend to harm you. On the other hand, the more security you add, the more difficult the system becomes to use. For example, if you make your firewall too secure, you might lock yourself out.%0a%3c %0a%3c You can find a well-known security policy example at http://www.faqs.org/rfcs/rfc2196.html.%0a%3c %0a%3c 2.3. What Are You Trying to Protect?%0a%3c %0a%3c Before you attempt to secure your system, you should determine what level of threat you have to protect against, what risks you should or should not take, and how vulnerable your system is as a result. You should analyze your system to know what you're protecting, why you're protecting it, what value it has, and who has responsibility for your data and other assets.%0a%3c %0a%3c Risk is the possibility that an intruder may be successful in attempting to access your computer. Can an intruder read or write files, or execute programs that could cause damage? Can they delete critical data? Can they prevent you or your company from getting important work done? Don't forget: someone gaining access to your account, or your system, can also impersonate you.%0a%3c %0a%3c Additionally, having one insecure account on your system can result in your entire network being compromised. If you allow a single user to login using a .rhosts file, or to use an insecure service such as tftp, you risk an intruder getting 'his foot in the door'. Once the intruder has a user account on your system, or someone else's system, it can be used to gain access to another system, or another account.%0a%3c %0a%3c Threat is typically from someone with motivation to gain unauthorized access to your network or computer. You must decide whom you trust to have access to your system, and what threat they could pose.%0a%3c %0a%3c There are several types of intruders, and it is useful to keep their different characteristics in mind as you are securing your systems.%0a%3c %0a%3c The Curious - This type of intruder is basically interested in finding out what type of system and data you have.%0a%3c %0a%3c The Malicious - This type of intruder is out to either bring down your systems, or deface your web page, or otherwise force you to spend time and money recovering from the damage he has caused.%0a%3c %0a%3c The High-Profile Intruder - This type of intruder is trying to use your system to gain popularity and infamy. He might use your high-profile system to advertise his abilities.%0a%3c %0a%3c The Competition - This type of intruder is interested in what data you have on your system. It might be someone who thinks you have something that could benefit him, financially or otherwise.%0a%3c %0a%3c The Borrowers - This type of intruder is interested in setting up shop on your system and using its resources for their own purposes. He typically will run chat or irc servers, porn archive sites, or even DNS servers.%0a%3c %0a%3c The Leapfrogger - This type of intruder is only interested in your system to use it to get into other systems. If your system is well-connected or a gateway to a number of internal hosts, you may well see this type trying to compromise your system. %0a%3c %0a%3c Vulnerability describes how well-protected your computer is from another network, and the potential for someone to gain unauthorized access.%0a%3c %0a%3c What's at stake if someone breaks into your system? Of course the concerns of a dynamic PPP home user will be different from those of a company connecting their machine to the Internet, or another large network.%0a%3c %0a%3c How much time would it take to retrieve/recreate any data that was lost? An initial time investment now can save ten times more time later if you have to recreate data that was lost. Have you checked your backup strategy, and verified your data lately? %0a%3c %0a%3c 2.4. Developing A Security Policy%0a%3c %0a%3c Create a simple, generic policy for your system that your users can readily understand and follow. It should protect the data you're safeguarding as well as the privacy of the users. Some things to consider adding are: who has access to the system (Can my friend use my account?), who's allowed to install software on the system, who owns what data, disaster recovery, and appropriate use of the system.%0a%3c %0a%3c A generally-accepted security policy starts with the phrase%0a%3c %0a%3c " That which is not permitted is prohibited"%0a%3c %0a%3c This means that unless you grant access to a service for a user, that user shouldn't be using that service until you do grant access. Make sure the policies work on your regular user account. Saying, "Ah, I can't figure out this permissions problem, I'll just do it as root" can lead to security holes that are very obvious, and even ones that haven't been exploited yet.%0a%3c %0a%3c rfc1244 is a document that describes how to create your own network security policy.%0a%3c %0a%3c rfc1281 is a document that shows an example security policy with detailed descriptions of each step.%0a%3c %0a%3c Finally, you might want to look at the COAST policy archive at ftp://coast.cs.purdue.edu/pub/doc/policy to see what some real-life security policies look like.%0a%3c 2.5. Means of Securing Your Site%0a%3c %0a%3c This document will discuss various means with which you can secure the assets you have worked hard for: your local machine, your data, your users, your network, even your reputation. What would happen to your reputation if an intruder deleted some of your users' data? Or defaced your web site? Or published your company's corporate project plan for next quarter? If you are planning a network installation, there are many factors you must take into account before adding a single machine to your network.%0a%3c %0a%3c Even if you have a single dial up PPP account, or just a small site, this does not mean intruders won't be interested in your systems. Large, high-profile sites are not the only targets -- many intruders simply want to exploit as many sites as possible, regardless of their size. Additionally, they may use a security hole in your site to gain access to other sites you're connected to.%0a%3c %0a%3c Intruders have a lot of time on their hands, and can avoid guessing how you've obscured your system just by trying all the possibilities. There are also a number of reasons an intruder may be interested in your systems, which we will discuss later.%0a%3c 2.5.1. Host Security%0a%3c %0a%3c Perhaps the area of security on which administrators concentrate most is host-based security. This typically involves making sure your own system is secure, and hoping everyone else on your network does the same. Choosing good passwords, securing your host's local network services, keeping good accounting records, and upgrading programs with known security exploits are among the things the local security administrator is responsible for doing. Although this is absolutely necessary, it can become a daunting task once your network becomes larger than a few machines.%0a%3c 2.5.2. Local Network Security%0a%3c %0a%3c Network security is as necessary as local host security. With hundreds, thousands, or more computers on the same network, you can't rely on each one of those systems being secure. Ensuring that only authorized users can use your network, building firewalls, using strong encryption, and ensuring there are no "rogue" (that is, unsecured) machines on your network are all part of the network security administrator's duties.%0a%3c %0a%3c This document will discuss some of the techniques used to secure your site, and hopefully show you some of the ways to prevent an intruder from gaining access to what you are trying to protect.%0a%3c 2.5.3. Security Through Obscurity%0a%3c %0a%3c One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections. %0a\ No newline at end of file%0a---%0a> Security is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a\ No newline at end of file%0a +host:1612062579=125.224.24.163 +author:1611575113=jrmu +diff:1611575113:1611575113:=1,3d0%0a%3c (:title Security Audit:)%0a%3c %0a%3c Security is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a\ No newline at end of file%0a +host:1611575113=125.231.20.163 blob - /dev/null blob + 3147f192eb4c9420cd5923135604059c3c158aff (mode 644) --- /dev/null +++ wiki.d/Openbsd.BBB @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597060489 +host=38.81.163.143 +name=Openbsd.BBB +rev=2 +targets= +text=[@%0a$ doas cu -l /dev/cuaU0 -s 115200%0a@] +time=1597060502 +author:1597060502=jrmu +diff:1597060502:1597060489:=1c1%0a%3c [@%0a---%0a> @[%0a3c3%0a%3c @]%0a\ No newline at end of file%0a---%0a> ]@%0a\ No newline at end of file%0a +host:1597060502=38.81.163.143 +author:1597060489=jrmu +diff:1597060489:1597060489:=1,3d0%0a%3c @[%0a%3c $ doas cu -l /dev/cuaU0 -s 115200%0a%3c ]@%0a\ No newline at end of file%0a +host:1597060489=38.81.163.143 blob - /dev/null blob + 04ef54a9d86c66d014c604d14c7abf02ba3a3217 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Backup @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609681573 +host=125.231.63.134 +name=Openbsd.Backup +rev=2 +targets=Openbsd.Dump,Openbsd.Restore,Openbsd.Openrsync,Openbsd.Tar,Openbsd.Scp,Openbsd.Sftp +text=(:title Backup Policy:)%0a%0aThere are 3 native ways to make backups on OpenBSD:%0a%0a# [[openbsd/dump|dump]]/[[openbsd/restore|restore]]%0a# [[openbsd/openrsync|openrsync]]%0a# [[openbsd/tar|tar]] followed by file transfer over [[openbsd/scp|scp]]/[[openbsd/sftp|sftp]]%0a%0aYou should make a habit of backing up daily if possible, once a week at a minimum. +time=1609681597 +title=Backup Policy +author:1609681597=jrmu +diff:1609681597:1609681573:=7,9c7%0a%3c # [[openbsd/tar|tar]] followed by file transfer over [[openbsd/scp|scp]]/[[openbsd/sftp|sftp]]%0a%3c %0a%3c You should make a habit of backing up daily if possible, once a week at a minimum.%0a\ No newline at end of file%0a---%0a> # [[openbsd/tar|tar]] followed by file transfer over [[openbsd/scp|scp]]/[[openbsd/sftp|sftp]]%0a\ No newline at end of file%0a +host:1609681597=125.231.63.134 +author:1609681573=jrmu +diff:1609681573:1609681573:=1,7d0%0a%3c (:title Backup Policy:)%0a%3c %0a%3c There are 3 native ways to make backups on OpenBSD:%0a%3c %0a%3c # [[openbsd/dump|dump]]/[[openbsd/restore|restore]]%0a%3c # [[openbsd/openrsync|openrsync]]%0a%3c # [[openbsd/tar|tar]] followed by file transfer over [[openbsd/scp|scp]]/[[openbsd/sftp|sftp]]%0a\ No newline at end of file%0a +host:1609681573=125.231.63.134 blob - /dev/null blob + 6783e1cb169d2008e6777223c1468b62dc56291d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Backups @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609587785 +host=125.231.63.134 +name=Openbsd.Backups +rev=2 +targets= +text=(:title Backups:)%0a%0aMaking routine backups is essential to avoid losing data.%0a%0aOn OpenBSD, we will use openrsync. +time=1609587850 +title=Backups +author:1609587850=jrmu +diff:1609587850:1609587785:= +host:1609587850=125.231.63.134 +author:1609587785=jrmu +diff:1609587785:1609587785:=1,5d0%0a%3c (:title Backups:)%0a%3c %0a%3c Making routine backups is essential to avoid losing data.%0a%3c %0a%3c On OpenBSD, we will use openrsync.%0a\ No newline at end of file%0a +host:1609587785=125.231.63.134 blob - /dev/null blob + 01a69edf0490bb4e1c122f6c6610e33d243c5224 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Base64 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612247857 +host=198.251.81.119 +name=Openbsd.Base64 +rev=1 +targets= +text=(:title Base64 Encoding:)%0a%0aThere are two easy ways to base64 encode a string. You can use [[https://man.openbsd.org/b64encode|b64encode]]:%0a%0a[@%0a$ b64encode randomname%0abegin-base64 644 test%0arandomstring%0acmFuZG9tc3RyaW5n%0a@]%0a%0aOr you can use this perl one-liner:%0a%0a[@%0aperl -MMIME::Base64 -e 'print encode_base64("randomstring");'%0acmFuZG9tc3RyaW5n%0a@]%0a%0aTo decode a base64 string, you can use [[https://man.openbsd.org/b64decode|b64decode]]: +time=1612247857 +title=Base64 Encoding +author:1612247857=jrmu +diff:1612247857:1612247857:=1,19d0%0a%3c (:title Base64 Encoding:)%0a%3c %0a%3c There are two easy ways to base64 encode a string. You can use [[https://man.openbsd.org/b64encode|b64encode]]:%0a%3c %0a%3c [@%0a%3c $ b64encode randomname%0a%3c begin-base64 644 test%0a%3c randomstring%0a%3c cmFuZG9tc3RyaW5n%0a%3c @]%0a%3c %0a%3c Or you can use this perl one-liner:%0a%3c %0a%3c [@%0a%3c perl -MMIME::Base64 -e 'print encode_base64("randomstring");'%0a%3c cmFuZG9tc3RyaW5n%0a%3c @]%0a%3c %0a%3c To decode a base64 string, you can use [[https://man.openbsd.org/b64decode|b64decode]]:%0a\ No newline at end of file%0a +host:1612247857=198.251.81.119 blob - /dev/null blob + 4d9b3004e85837a4032903bc213aa7ec7d619836 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Bchs @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597907447 +host=38.81.163.143 +name=Openbsd.Bchs +rev=4 +targets=Openbsd.Openbsd,Debate.WhyC,Openbsd.Openhttpd,Openbsd.Sqlite +text=[[https://learnbchs.org|BCHS]] is the preferred software stack for web apps on OpenBSD.%0a%0a# BSD: [[openbsd|OpenBSD]]%0a# [[debate/WhyC|The C Programming Language]]%0a# [[openbsd/openhttpd|httpd]]%0a# [[openbsd/sqlite|SQLite]] +time=1597907493 +author:1597907493=jrmu +diff:1597907493:1597907487:= +host:1597907493=38.81.163.143 +author:1597907487=jrmu +diff:1597907487:1597907472:=4c4%0a%3c # [[debate/WhyC|The C Programming Language]]%0a---%0a> # [[debates/WhyC|The C Programming Language]]%0a +host:1597907487=38.81.163.143 +author:1597907472=jrmu +diff:1597907472:1597907447:=4c4%0a%3c # [[debates/WhyC|The C Programming Language]]%0a---%0a> # [[debates/whyc|The C Programming Language]]%0a +host:1597907472=38.81.163.143 +author:1597907447=jrmu +diff:1597907447:1597907447:=1,6d0%0a%3c [[https://learnbchs.org|BCHS]] is the preferred software stack for web apps on OpenBSD.%0a%3c %0a%3c # BSD: [[openbsd|OpenBSD]]%0a%3c # [[debates/whyc|The C Programming Language]]%0a%3c # [[openbsd/openhttpd|httpd]]%0a%3c # [[openbsd/sqlite|SQLite]]%0a\ No newline at end of file%0a +host:1597907447=38.81.163.143 blob - /dev/null blob + 1bb4c35b24066cf507e90ff552fdd7ae9b313f6f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Bitlbee,del-1628596998 @@ -0,0 +1,65 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 +author=mkf +charset=UTF-8 +csum=minor fixes. +ctime=1597743406 +host=2.178.194.67 +name=Openbsd.Bitlbee +rev=17 +targets=Openbsd.Znc +text=[[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for those protocols. For example Telegram, Discord, or Slack.%0aThe core of bitlbee itself is written in C.%0a%0a!! Installation and configuration%0aFirst, let's install the package:%0a[@%0a$ doas pkg_add bitlbee-3.6p1-libpurple%0a@]%0a%0aNote : The developers suggest not installing OTR version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a%0aAfter installation edit /etc/bitlbee/bitlbee.conf:%0a%0a[@%0aRunMode = ForkDaemon%0aUser = _bitlbee%0a# Bitlbee will only be bound to localhost on port 8171%0aDaemonInterface = 127.0.0.1%0aDaemonPort = 8171%0aOperPassword = password%0aAllowAccountAdd 1%0aHostName = example.com%0a@]%0a%0aReplace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a%0aTo start bitlbee:%0a%0a[@%0a$ doas rcctl enable bitlbee%0a$ doas rcctl start bitlbee%0a@]%0a%0a!! Discord Support%0a%0aUse [[https://github.com/sm00th/bitlbee-discord|sm00th's bitlbee-discord]] plugin. Here is a [[https://www.namtsui.com/cgi-bin/cvsweb/ports/net/bitlbee-discord/|convenient port]] provided by namtsui:%0a%0a[@%0a$ cvs -d anoncvs@namtsui.com:/cvs checkout -P ports/net/bitlbee-discord/%0a@]%0a%0a!! Telegram Support%0a%0a$ doas pkg_add telegram-purple%0a%0a!! Matrix Support%0a%0aFrom packages:%0a%0aNote: packaged version of purple-matrix is not working with bitlbee, so we have to install it from source instead.%0a%0a[@%0a$ doas pkg_add purple-matrix%0a@]%0a%0aFrom source:%0a%0a[@%0a$ doas pkg_add olm glib json-glib%0a$ cd ~/%0a$ git clone https://github.com/matrix-org/purple-matrix.git%0a$ cd purple-matrix%0a$ gmake MATRIX_NO_E2E=1%0a$ doas gmake install%0a@]%0a%0a!! RocketChat support%0a[@%0a$ doas pkg_add purple-rocketchat%0a@]%0a%0a!! Mastodon support%0a[@%0a$ doas pkg_add bitlbee-mastodon%0a@]%0a!! Adding accounts%0aconnect with your IRC client to your bitlbee server, this usually will be localhost, then join &bitlbee (not #bitlbee), you can see your buddy list or generally your chats with people in there. by default only 'root' user exist in there. root can used as a configuration panel to bitlbee.%0a%0afirst let's register your account, this will helps to store your settings.%0a[@%0aregister %3cpassword>%0a@]%0athen save it.%0a[@%0asave%0a@]%0a%0anext time you connected into bitlbee, you can login via NickServ or write directly in &bitlbee%0a[@%0aidentify %3cpassword>%0a@]%0a%0acreate your account using following command%0a[@%0aaccount add %3cprotocol> %3cusername> [password] [server]%0a@]%0apassword and server are optional and depends on the protocol, for example, telegram does not require them by default.%0afor protocol, there are two types of protocols, ones are supported by bitlbee and ones are supported by libpurple.%0afor checking bitlbee built-in protocols:%0a[@%0ahelp plugins%0a@]%0a%0aand for checking avaliable protocols supported by libpurple:%0a[@%0ahelp purple%0a@]%0a%0athe @@add@@ command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a%0ayou can check your accounts using %0a[@%0aaccount list%0a@] %0a%0alet's add a jabber account:%0a[@%0aaccount add jabber myusername@ircnow.org MyVerySecurePassword%0a@]%0aof course, replace myusername@ircnow.org with your JID and @@MyVerySecurePassword@@ with your password (maybe YourVerySecurePassword? :] )%0a%0aanother example for telegram:%0a[@%0aaccount add telegram +11234567%0a@]%0ait will ask for login code later.%0a%0aNote: telegram-purple is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a%0a[@%0aaccount %3cid> off%0aaccount %3cid> on%0a@]%0a!! chatting%0aafter adding your accounts, you can start chating using msg or query command, for example%0a[@%0a/query my_buddy%0a@]%0awill open a query with my_buddy user. if you want to message your buddy in jabber, do following%0a[@%0a/query JID%0a@] +time=1620811956 +author:1620811956=mkf +csum:1620811956=minor fixes. +diff:1620811956:1620811630:minor=1c1%0a%3c [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC clients and a client for those protocols. For example Telegram, Discord, or Slack.%0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to[[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC servers and a client for those protocols. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a91a92%0a> let's manage your account :)%0a +host:1620811956=2.178.194.67 +author:1620811630=mkf +diff:1620811630:1620811148:=1c1%0a%3c [[https://www.bitlbee.org/|Bitlbee]] is a gateway from IRC clients to[[https://wiki.bitlbee.org/|a variety of other protocols]], by acting like a server for IRC servers and a client for those protocols. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] helps act as an IRC server to connect IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a4d3%0a%3c !! Installation and configuration%0a10,11c9,10%0a%3c Note : The developers suggest not installing OTR version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a%3c %0a---%0a> Note : The developers suggest not installing otr version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a> %0a50,51d48%0a%3c Note: packaged version of purple-matrix is not working with bitlbee, so we have to install it from source instead.%0a%3c %0a59c56,58%0a%3c $ doas pkg_add olm glib json-glib%0a---%0a> $ doas pkg_add olm%0a> $ doas pkg_add glib2%0a> $ doas pkg_add json-glib%0a91a91%0a> %0a110,111c110,112%0a%3c the @@add@@ command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a%3c %0a---%0a> %0a> the add command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a> %0a121,122c122,123%0a%3c of course, replace myusername@ircnow.org with your JID and @@MyVerySecurePassword@@ with your password (maybe YourVerySecurePassword? :] )%0a%3c %0a---%0a> of course, replace myusername@ircnow.org with your JID and MyVerySecurePassword with your password (maybe YourVerySecurePassword? :] )%0a> %0a135d135%0a%3c !! chatting%0a +host:1620811630=2.178.194.67 +author:1620811148=mkf +csum:1620811148=fixed small typos +diff:1620811148:1620796477:minor=68c68%0a%3c $ doas pkg_add purple-rocketchat%0a---%0a> # pkg_add purple-rocketchat%0a73c73%0a%3c $ doas pkg_add bitlbee-mastodon%0a---%0a> # pkg_add bitlbee-mastodon%0a124c124%0a%3c another example for telegram:%0a---%0a> another example for telegram telegram:%0a130c130%0a%3c Note: telegram-purple is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a---%0a> Note: telegram-purple plugin, is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a +host:1620811148=2.178.194.67 +author:1620796477=jrmu +diff:1620796477:1620796119:=40,43d39%0a%3c %0a%3c !! Telegram Support%0a%3c %0a%3c $ doas pkg_add telegram-purple%0a +host:1620796477=198.251.81.119 +author:1620796119=jrmu +diff:1620796119:1620795745:=29,30c29,30%0a%3c $ doas rcctl enable bitlbee%0a%3c $ doas rcctl start bitlbee%0a---%0a> # rcctl enable bitlbee%0a> # rcctl start bitlbee%0a40a41%0a> %0a43,44d43%0a%3c From packages:%0a%3c %0a46,59c45%0a%3c $ doas pkg_add purple-matrix%0a%3c @]%0a%3c %0a%3c From source:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add olm%0a%3c $ doas pkg_add glib2%0a%3c $ doas pkg_add json-glib%0a%3c $ cd ~/%0a%3c $ git clone https://github.com/matrix-org/purple-matrix.git%0a%3c $ cd purple-matrix%0a%3c $ gmake MATRIX_NO_E2E=1%0a%3c $ doas gmake install%0a---%0a> # pkg_add purple-matrix%0a +host:1620796119=198.251.81.119 +author:1620795745=jrmu +diff:1620795745:1620795650:=24c24%0a%3c Replace @@password@@ with your own password. We set bitlbee to be bound to localhost on port 8171, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a---%0a> Replace pass123 with your own password. We set bitlbee to be bound to localhost on port 6668, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a +host:1620795745=198.251.81.119 +author:1620795650=jrmu +diff:1620795650:1620793280:=1c1%0a%3c [[https://www.bitlbee.org/|Bitlbee]] helps act as an IRC server to connect IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] helps act as a IRC server to connect IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a6c6%0a%3c $ doas pkg_add bitlbee-3.6p1-libpurple%0a---%0a> # pkg_add bitlbee-3.6p1-libpurple%0a9,10c9,10%0a%3c Note : The developers suggest not installing otr version of bitlbee if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a%3c %0a---%0a> Note : The developers suggest not installing otr version of bitlbee, if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a> %0a16c16%0a%3c # Bitlbee will only be bound to localhost on port 8171%0a---%0a> # Bitlbee will only be bound to localhost on port 6668(7?)%0a +host:1620795650=198.251.81.119 +author:1620793280=mkf +diff:1620793280:1620792459:= +host:1620793280=91.185.130.22 +author:1620792459=mkf +diff:1620792459:1617938091:=1,3c1,2%0a%3c [[https://www.bitlbee.org/|Bitlbee]] helps act as a IRC server to connect IRC clients to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect your perfered IRC client to many popular protocols, such as Telegram, Discord, or Slack.%0a%3c The core of bitlbee itself is written in C.%0a%3c %0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] helps act as a bridge from IRC to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect IRC to Telegram, Discord, or Slack. The core of bitlbee itself is written in C.%0a> %0a4a4%0a> %0a6c6%0a%3c # pkg_add bitlbee-3.6p1-libpurple%0a---%0a> $ doas pkg_add bitlbee-3.6p1-libpurple%0a9,12c9,12%0a%3c Note : The developers suggest not installing otr version of bitlbee, if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a%3c %0a%3c After installation edit /etc/bitlbee/bitlbee.conf:%0a%3c %0a---%0a> The developers suggest not installing bitlbee-3.6p0-libpurple-otr if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a> %0a> Edit /etc/bitlbee/bitlbee.conf:%0a> %0a16c16%0a%3c # Bitlbee will only be bound to localhost on port 6668(7?)%0a---%0a> # Bitlbee will only be bound to localhost on port 6668%0a19c19%0a%3c OperPassword = password%0a---%0a> OperPassword = pass123%0a24,25c24,25%0a%3c Replace pass123 with your own password. We set bitlbee to be bound to localhost on port 6668, which users of [[openbsd/znc|our bouncer]] will be able to connect to, because remote connections of bitlbee server can't support SSL (unlike ZNC).%0a%3c %0a---%0a> Replace pass123 with your own password. We set bitlbee to be bound to localhost on port 6668, which users of [[openbsd/znc|our bouncer]] will be able to connect to.%0a> %0a29,30c29,30%0a%3c # rcctl enable bitlbee%0a%3c # rcctl start bitlbee%0a---%0a> $ doas rcctl enable bitlbee%0a> $ doas rcctl start bitlbee%0a41,43c41,42%0a%3c %0a%3c !! Matrix Support%0a%3c %0a---%0a> !! Telegram Support%0a> %0a45c44%0a%3c # pkg_add purple-matrix%0a---%0a> $ doas pkg_add telegram-purple-1.3.1p2%0a48c47,48%0a%3c !! RocketChat support%0a---%0a> !! Matrix Support%0a> %0a50,124c50,57%0a%3c # pkg_add purple-rocketchat%0a%3c @]%0a%3c %0a%3c !! Mastodon support%0a%3c [@%0a%3c # pkg_add bitlbee-mastodon%0a%3c @]%0a%3c !! Adding accounts%0a%3c connect with your IRC client to your bitlbee server, this usually will be localhost, then join &bitlbee (not #bitlbee), you can see your buddy list or generally your chats with people in there. by default only 'root' user exist in there. root can used as a configuration panel to bitlbee.%0a%3c %0a%3c first let's register your account, this will helps to store your settings.%0a%3c [@%0a%3c register %3cpassword>%0a%3c @]%0a%3c then save it.%0a%3c [@%0a%3c save%0a%3c @]%0a%3c %0a%3c next time you connected into bitlbee, you can login via NickServ or write directly in &bitlbee%0a%3c [@%0a%3c identify %3cpassword>%0a%3c @]%0a%3c %0a%3c let's manage your account :)%0a%3c %0a%3c create your account using following command%0a%3c [@%0a%3c account add %3cprotocol> %3cusername> [password] [server]%0a%3c @]%0a%3c password and server are optional and depends on the protocol, for example, telegram does not require them by default.%0a%3c for protocol, there are two types of protocols, ones are supported by bitlbee and ones are supported by libpurple.%0a%3c for checking bitlbee built-in protocols:%0a%3c [@%0a%3c help plugins%0a%3c @]%0a%3c %0a%3c and for checking avaliable protocols supported by libpurple:%0a%3c [@%0a%3c help purple%0a%3c @]%0a%3c %0a%3c %0a%3c the add command by default gives a id to your account by the protocol name, for example if you add a matrix account it id will be 'matrix', if you had more than one matrix account, they will be named like matrix2, matrix3 and so on.%0a%3c %0a%3c you can check your accounts using %0a%3c [@%0a%3c account list%0a%3c @] %0a%3c %0a%3c let's add a jabber account:%0a%3c [@%0a%3c account add jabber myusername@ircnow.org MyVerySecurePassword%0a%3c @]%0a%3c of course, replace myusername@ircnow.org with your JID and MyVerySecurePassword with your password (maybe YourVerySecurePassword? :] )%0a%3c %0a%3c another example for telegram telegram:%0a%3c [@%0a%3c account add telegram +11234567%0a%3c @]%0a%3c it will ask for login code later.%0a%3c %0a%3c Note: telegram-purple plugin, is known to be buggy and can't connect to telegram sometimes. try to disconnect using following command:%0a%3c %0a%3c [@%0a%3c account %3cid> off%0a%3c account %3cid> on%0a%3c @]%0a%3c after adding your accounts, you can start chating using msg or query command, for example%0a%3c [@%0a%3c /query my_buddy%0a%3c @]%0a%3c will open a query with my_buddy user. if you want to message your buddy in jabber, do following%0a%3c [@%0a%3c /query JID%0a---%0a> $ doas pkg_add olm%0a> $ doas pkg_add glib2%0a> $ doas pkg_add json-glib%0a> $ cd ~/%0a> $ git clone https://github.com/matrix-org/purple-matrix.git%0a> $ cd purple-matrix%0a> $ gmake MATRIX_NO_E2E=1%0a> $ doas gmake install%0a +host:1620792459=91.185.130.22 +author:1617938091=jrmu +diff:1617938091:1617937831:=56,57c56%0a%3c $ gmake MATRIX_NO_E2E=1%0a%3c $ doas gmake install%0a---%0a> $ gmake%0a +host:1617938091=125.231.27.27 +author:1617937831=jrmu +diff:1617937831:1617937816:=56c56%0a%3c $ gmake%0a---%0a> $ make%0a +host:1617937831=125.231.27.27 +author:1617937816=jrmu +diff:1617937816:1617937717:=51,56d50%0a%3c $ doas pkg_add glib2%0a%3c $ doas pkg_add json-glib%0a%3c $ cd ~/%0a%3c $ git clone https://github.com/matrix-org/purple-matrix.git%0a%3c $ cd purple-matrix%0a%3c $ make%0a +host:1617937816=125.231.27.27 +author:1617937717=jrmu +diff:1617937717:1609857369:=45,50d44%0a%3c @]%0a%3c %0a%3c !! Matrix Support%0a%3c %0a%3c [@%0a%3c $ doas pkg_add olm%0a +host:1617937717=125.231.27.27 +author:1609857369=fizi +diff:1609857369:1603872636:=6c6%0a%3c $ doas pkg_add bitlbee-3.6p1-libpurple%0a---%0a> $ doas pkg_add bitlbee-3.6p0-libpurple%0a +host:1609857369=39.42.79.117 +author:1603872636=jrmu +diff:1603872636:1597743447:=18c18%0a%3c DaemonPort = 8171%0a---%0a> DaemonPort = 6668%0a +host:1603872636=125.231.28.105 +author:1597743447=jrmu +diff:1597743447:1597743406:=1c1%0a%3c [[https://www.bitlbee.org/|Bitlbee]] helps act as a bridge from IRC to [[https://wiki.bitlbee.org/|a variety of other protocols]]. For example, you can use Bitlbee to connect IRC to Telegram, Discord, or Slack. The core of bitlbee itself is written in C.%0a---%0a> [[https://www.bitlbee.org/|Bitlbee]] helps act as a bridge from IRC to [[a variety of other protocols|https://wiki.bitlbee.org/]]. For example, you can use Bitlbee to connect IRC to Telegram, Discord, or Slack. The core of bitlbee itself is written in C.%0a +host:1597743447=38.81.163.143 +author:1597743406=jrmu +diff:1597743406:1597743406:=1,45d0%0a%3c [[https://www.bitlbee.org/|Bitlbee]] helps act as a bridge from IRC to [[a variety of other protocols|https://wiki.bitlbee.org/]]. For example, you can use Bitlbee to connect IRC to Telegram, Discord, or Slack. The core of bitlbee itself is written in C.%0a%3c %0a%3c First, let's install the package:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add bitlbee-3.6p0-libpurple%0a%3c @]%0a%3c %0a%3c The developers suggest not installing bitlbee-3.6p0-libpurple-otr if you plan to provide a public bitlbee instance. This is because the encryption provided by [[https://otr.cypherpunks.ca/|OTR]] (Off-the-Record) is undermined by the fact that the sysadmin can intercept the messages in plaintext. It gives a false sense of security. Moreover, OTR messaging is often broken when the same account is used with other XMPP clients besides bitlbee.%0a%3c %0a%3c Edit /etc/bitlbee/bitlbee.conf:%0a%3c %0a%3c [@%0a%3c RunMode = ForkDaemon%0a%3c User = _bitlbee%0a%3c # Bitlbee will only be bound to localhost on port 6668%0a%3c DaemonInterface = 127.0.0.1%0a%3c DaemonPort = 6668%0a%3c OperPassword = pass123%0a%3c AllowAccountAdd 1%0a%3c HostName = example.com%0a%3c @]%0a%3c %0a%3c Replace pass123 with your own password. We set bitlbee to be bound to localhost on port 6668, which users of [[openbsd/znc|our bouncer]] will be able to connect to.%0a%3c %0a%3c To start bitlbee:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable bitlbee%0a%3c $ doas rcctl start bitlbee%0a%3c @]%0a%3c %0a%3c !! Discord Support%0a%3c %0a%3c Use [[https://github.com/sm00th/bitlbee-discord|sm00th's bitlbee-discord]] plugin. Here is a [[https://www.namtsui.com/cgi-bin/cvsweb/ports/net/bitlbee-discord/|convenient port]] provided by namtsui:%0a%3c %0a%3c [@%0a%3c $ cvs -d anoncvs@namtsui.com:/cvs checkout -P ports/net/bitlbee-discord/%0a%3c @]%0a%3c %0a%3c !! Telegram Support%0a%3c %0a%3c [@%0a%3c $ doas pkg_add telegram-purple-1.3.1p2%0a%3c @]%0a\ No newline at end of file%0a +host:1597743406=38.81.163.143 blob - /dev/null blob + 83489e17801612a2824ea0e848f73bb5f5aadfa8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Books @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622983614 +host=38.81.163.143 +name=Openbsd.Books +rev=1 +targets= +text=# [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]] ISBN-10: 1593274769 ISBN-13: 978-1-59327-476-4%0a# [[https://nostarch.com/pf3|Book of PF]] ISBN-10: 1-59327-589-7 ISBN-13: 978-1-59327-589-1%0a# [[https://mwl.io/nonfiction/tools#relayd|Httpd and Relayd Mastery]] ISBN-10: 1-54675-206-4 ISBN-13: 978-1-54675-206-6%0a# [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029%0a%0a Secure Architectures with OpenBSD%0a by Brandon Palmer, Jose Nazario. %0a ISBN 03-21193-66-0 %0a April 2004, 520 pp.%0a%0a The Design and Implementation of the 4.4BSD Operating System%0a by Marshal Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman %0a ISBN-10: 0132317923 %0a ISBN-13: 978-0132317924 %0a%0aAdvanced Programming in the Unix Environment (3rd Edition)%0a by W. Richard Stevens, Stephen A. Rago %0a%0aThe C Programming Language%0a by Brian W. Kernighan and Dennis M. Ritchie %0a%0aDNSSEC Mastery%0a by Michael W. Lucas %0a ISBN-13: 978-1484924471 %0a ISBN-10: 1484924479 %0a May 2013, 130 pp. %0a Securing the Domain Name System with BIND %0a%0aTCP/IP Illustrated, Volume 1%0a by W. Richard Stevens %0a%0aIPsec: The New Security Standard for the Internet, Intranets and Virtual Private Networks%0a by Naganand Doraswamy and Dan Harkins %0a%0aComputer Networks%0a by Andy Tanenbaum %0a%0aDNS and BIND%0a by Paul Albitz and Cricket Liu %0a%0aDHCP%0a by Ted Lemon and Ralph E. Droms %0a +time=1622983614 +author:1622983614=jrmu +diff:1622983614:1622983614:=1,42d0%0a%3c # [[https://nostarch.com/obenbsd2e|Absolute OpenBSD]] ISBN-10: 1593274769 ISBN-13: 978-1-59327-476-4%0a%3c # [[https://nostarch.com/pf3|Book of PF]] ISBN-10: 1-59327-589-7 ISBN-13: 978-1-59327-589-1%0a%3c # [[https://mwl.io/nonfiction/tools#relayd|Httpd and Relayd Mastery]] ISBN-10: 1-54675-206-4 ISBN-13: 978-1-54675-206-6%0a%3c # [[https://www.tiltedwindmillpress.com/product/ssh-mastery-2nd-edition/|SSH Mastery]] ISBN-10: 1642350028 ISBN-13: 978-1642350029%0a%3c %0a%3c Secure Architectures with OpenBSD%0a%3c by Brandon Palmer, Jose Nazario. %0a%3c ISBN 03-21193-66-0 %0a%3c April 2004, 520 pp.%0a%3c %0a%3c The Design and Implementation of the 4.4BSD Operating System%0a%3c by Marshal Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman %0a%3c ISBN-10: 0132317923 %0a%3c ISBN-13: 978-0132317924 %0a%3c %0a%3c Advanced Programming in the Unix Environment (3rd Edition)%0a%3c by W. Richard Stevens, Stephen A. Rago %0a%3c %0a%3c The C Programming Language%0a%3c by Brian W. Kernighan and Dennis M. Ritchie %0a%3c %0a%3c DNSSEC Mastery%0a%3c by Michael W. Lucas %0a%3c ISBN-13: 978-1484924471 %0a%3c ISBN-10: 1484924479 %0a%3c May 2013, 130 pp. %0a%3c Securing the Domain Name System with BIND %0a%3c %0a%3c TCP/IP Illustrated, Volume 1%0a%3c by W. Richard Stevens %0a%3c %0a%3c IPsec: The New Security Standard for the Internet, Intranets and Virtual Private Networks%0a%3c by Naganand Doraswamy and Dan Harkins %0a%3c %0a%3c Computer Networks%0a%3c by Andy Tanenbaum %0a%3c %0a%3c DNS and BIND%0a%3c by Paul Albitz and Cricket Liu %0a%3c %0a%3c DHCP%0a%3c by Ted Lemon and Ralph E. Droms %0a +host:1622983614=38.81.163.143 blob - /dev/null blob + 967ccb884baf835f97d2f9ebb6bb4332885accd8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Botnow @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607077933 +host=198.251.81.119 +name=Openbsd.Botnow +rev=2 +targets= +text=You can download botnow here: [[https://ircnow.org/software/botnow.tgz|https://ircnow.org/software/botnow.tgz]] +time=1607077940 +author:1607077940=jrmu +diff:1607077940:1607077933:= +host:1607077940=198.251.81.119 +author:1607077933=jrmu +diff:1607077933:1607077933:=1d0%0a%3c You can download botnow here: [[https://ircnow.org/software/botnow.tgz|https://ircnow.org/software/botnow.tgz]]%0a\ No newline at end of file%0a +host:1607077933=198.251.81.119 blob - /dev/null blob + 82bbe9efb1a1bd962658024b5330fca0414a4409 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Bsdrd @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607251364 +host=38.81.163.7 +name=Openbsd.Bsdrd +rev=4 +targets=Openbsd.Install68 +text=(:title OpenBSD bsd.rd Install Guide:)%0a%0aSometimes, you lack a CD-ROM or USB stick to install OpenBSD from. Other times, you may want to quickly rescue and repair damaged system files on OpenBSD. Finally, you might want to upgrade an existing install of OpenBSD. For all these cases, booting bsd.rd is the fastest way to install/repair/upgrade your system.%0a%0aThis is a quick guide for installing/upgrading OpenBSD using bsd.rd.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# At bootup, type @@boot bsd.rd@@, then press enter. '''NOTE''': you must do this quickly to avoid automatic bootup.%0a# '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0aAttach:bsdrd-1.png%0a# Follow the rest of the [[Openbsd/install68|OpenBSD 6.8 Install Guide]]. +time=1607255930 +title=OpenBSD bsd.rd Install Guide +author:1607255930=jrmu +diff:1607255930:1607254712:=2,3d1%0a%3c %0a%3c Sometimes, you lack a CD-ROM or USB stick to install OpenBSD from. Other times, you may want to quickly rescue and repair damaged system files on OpenBSD. Finally, you might want to upgrade an existing install of OpenBSD. For all these cases, booting bsd.rd is the fastest way to install/repair/upgrade your system.%0a +host:1607255930=38.81.163.7 +author:1607254712=jrmu +diff:1607254712:1607251483:=8,10c8,10%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0a%3c Attach:bsdrd-1.png%0a%3c # Follow the rest of the [[Openbsd/install68|OpenBSD 6.8 Install Guide]].%0a\ No newline at end of file%0a---%0a> # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a> %0a> Attach:bsdrd-1.png%0a\ No newline at end of file%0a +host:1607254712=38.81.163.7 +author:1607251483=jrmu +diff:1607251483:1607251364:=1,9d0%0a%3c (:title OpenBSD bsd.rd Install Guide:)%0a%3c %0a%3c This is a quick guide for installing/upgrading OpenBSD using bsd.rd.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a%3c # At bootup, type @@boot bsd.rd@@, then press enter. '''NOTE''': you must do this quickly to avoid automatic bootup.%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a%3c %0a +host:1607251483=38.81.163.7 +author:1607251364=jrmu +diff:1607251364:1607251364:=1d0%0a%3c Attach:bsdrd-1.png%0a\ No newline at end of file%0a +host:1607251364=38.81.163.7 blob - /dev/null blob + 4c09ba82d66ba278f9651f2a7b8d2bc214cc68b8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Buyvm @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607083623 +host=125.231.38.251 +name=Openbsd.Buyvm +rev=7 +targets=Openbsd.Botnow,Openbsd.Dns,Openbsd.Vhost,Openbsd.Staticnet,Openbsd.Install68 +text=(:title OpenBSD Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%0aUse your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%0a# Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0aAttach:install-panel-01.png%0a# Click on Settings.%0a # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a # Make sure to click on Save Settings.\\%0aAttach:install-panel-02.png%0a# Click on Networking.%0a # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0aAttach:install-panel-03.png%0a# Click on IPv6%0a # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0aAttach:install-panel-04.png%0a# You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0aAttach:install-panel-05.png%0a# Configure the IPv6 addresses:%0a # Click on the Status buttons and set each IPv6 address to On.%0a # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a # '''Remember''': Click Save Changes to apply.%0a# To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0aAttach:install-panel-06.png%0a# Click on Routed Subnets%0a # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0aAttach:install-panel-07.png%0a# Configure the name servers%0a # Set the nexthop IP address to one of your IPv6 addresses%0a # Set the delegated nameservers to two of your rDNS nameservers.\\%0aAttach:install-panel-08.png%0a# Click on CD-ROM%0a # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0aAttach:install-panel-09.png%0a# Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a # Upload your ISO.\\%0aAttach:install-panel-10.png%0a# Click on Volumes%0a # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0aAttach:install-panel-11.png%0a# Click on Power State at the top right, then Boot. Then, click on Console.%0aAttach:install-panel-12.png%0a# Begin installation%0a # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.\\%0aAttach:install-panel-13.png%0a # Error 2: No O/S. This happens when you are booting from hard disk first (before the CD-ROM ISO can be booted from), and the hard disk doesn't contain an OS. You need to go to Settings, then change the Boot Order to (1) CD-ROM (2) Hard Disk, hard Power off the VPS, then Boot it.\\%0aAttach:install-panel-13b.png%0a # Error 3: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a# Follow the [[openbsd/install68|install instructions]].\\%0aAttach:install-panel-14.png%0a# After installation, go to the web panel and click on Settings. Change the Boot Order to either Hard Disk Only (better) or (1) Hard Disk (2) CD-ROM. +time=1607222577 +title=OpenBSD Install Guide +author:1607222577=jrmu +diff:1607222577:1607164693:=54c54%0a%3c # Follow the [[openbsd/install68|install instructions]].\\%0a---%0a> # Follow the [[openbsd/install|install instructions]].\\%0a +host:1607222577=125.231.38.251 +author:1607164693=jrmu +diff:1607164693:1607085115:=55,56c55%0a%3c Attach:install-panel-14.png%0a%3c # After installation, go to the web panel and click on Settings. Change the Boot Order to either Hard Disk Only (better) or (1) Hard Disk (2) CD-ROM.%0a\ No newline at end of file%0a---%0a> Attach:install-panel-14.png%0a\ No newline at end of file%0a +host:1607164693=38.81.163.7 +author:1607085115=jrmu +diff:1607085115:1607085079:=54c54%0a%3c # Follow the [[openbsd/install|install instructions]].\\%0a---%0a> # Follow the [[openbsd/install|install instructions]].%0a +host:1607085115=38.81.163.7 +author:1607085079=jrmu +diff:1607085079:1607085026:=52c52%0a%3c Attach:install-panel-13b.png%0a---%0a> Attach:install-panel-14.png%0a +host:1607085079=38.81.163.7 +author:1607085026=jrmu +diff:1607085026:1607083842:=49c49,50%0a%3c # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.\\%0a---%0a> # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a> # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a51,53d51%0a%3c # Error 2: No O/S. This happens when you are booting from hard disk first (before the CD-ROM ISO can be booted from), and the hard disk doesn't contain an OS. You need to go to Settings, then change the Boot Order to (1) CD-ROM (2) Hard Disk, hard Power off the VPS, then Boot it.\\%0a%3c Attach:install-panel-14.png%0a%3c # Error 3: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a +host:1607085026=38.81.163.7 +author:1607083842=jrmu +diff:1607083842:1607083623:=52c52%0a%3c # Follow the [[openbsd/install|install instructions]].%0a---%0a> # Follow the install instructions.%0a +host:1607083842=38.81.163.7 +author:1607083623=jrmu +diff:1607083623:1607083623:=1,53d0%0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a%3c # Click on Settings.%0a%3c # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a%3c # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a%3c # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a%3c # Make sure to click on Save Settings.\\%0a%3c Attach:install-panel-02.png%0a%3c # Click on Networking.%0a%3c # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0a%3c Attach:install-panel-03.png%0a%3c # Click on IPv6%0a%3c # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0a%3c Attach:install-panel-04.png%0a%3c # You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0a%3c Attach:install-panel-05.png%0a%3c # Configure the IPv6 addresses:%0a%3c # Click on the Status buttons and set each IPv6 address to On.%0a%3c # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a%3c # '''Remember''': Click Save Changes to apply.%0a%3c # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0a%3c Attach:install-panel-06.png%0a%3c # Click on Routed Subnets%0a%3c # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0a%3c Attach:install-panel-07.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-08.png%0a%3c # Click on CD-ROM%0a%3c # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0a%3c Attach:install-panel-09.png%0a%3c # Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a%3c # Upload your ISO.\\%0a%3c Attach:install-panel-10.png%0a%3c # Click on Volumes%0a%3c # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0a%3c Attach:install-panel-11.png%0a%3c # Click on Power State at the top right, then Boot. Then, click on Console.%0a%3c Attach:install-panel-12.png%0a%3c # Begin installation%0a%3c # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a%3c # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a%3c Attach:install-panel-13.png%0a%3c # Follow the install instructions.%0a%3c Attach:install-panel-14.png%0a\ No newline at end of file%0a +host:1607083623=38.81.163.7 blob - /dev/null blob + 8d4b4e35bb20299ee98979fd8342e375d1704fac (mode 644) --- /dev/null +++ wiki.d/Openbsd.Censord @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744024 +host=38.81.163.143 +name=Openbsd.Censord +rev=1 +targets= +text=banned words list:%0a%0aEnglish%0a%0aSwedish: Fitta, Kuk, Hora, Knulla, Slampa, Slyna, Bög, Jävel, Kuksugare, Mammaknullare, Idiot, %0a%0aChinese:%0a%0aSpanish:%0a%0aGerman:%0a%0aGreek:%0a%0aDutch:%0a%0aJapanese:%0a%0aRussian:%0a%0aArabic:%0a%0aUrdu:%0a%0aHindi:%0a%0aTamil:%0a%0aTurkish: sikerim, piç, orospu çocuğu.%0a%0ahttps://github.com/first20hours/google-10000-english +time=1597744024 +author:1597744024=jrmu +diff:1597744024:1597744024:=1,31d0%0a%3c banned words list:%0a%3c %0a%3c English%0a%3c %0a%3c Swedish: Fitta, Kuk, Hora, Knulla, Slampa, Slyna, Bög, Jävel, Kuksugare, Mammaknullare, Idiot, %0a%3c %0a%3c Chinese:%0a%3c %0a%3c Spanish:%0a%3c %0a%3c German:%0a%3c %0a%3c Greek:%0a%3c %0a%3c Dutch:%0a%3c %0a%3c Japanese:%0a%3c %0a%3c Russian:%0a%3c %0a%3c Arabic:%0a%3c %0a%3c Urdu:%0a%3c %0a%3c Hindi:%0a%3c %0a%3c Tamil:%0a%3c %0a%3c Turkish: sikerim, piç, orospu çocuğu.%0a%3c %0a%3c https://github.com/first20hours/google-10000-english%0a\ No newline at end of file%0a +host:1597744024=38.81.163.143 blob - /dev/null blob + 67d2400aa732f203428a93c48c7d8a647dfb817f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Cgit @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +author=baytuch +charset=UTF-8 +csum= +ctime=1597225400 +host=91.228.147.58 +name=Openbsd.Cgit +rev=3 +targets= +text= [=%0a$ doas pkg_add cgit%0a =]%0a%0aInside /etc/httpd.conf:%0a%0a [=%0aserver "git.ircnow.org" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0aserver "git.ircnow.org" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/git.ircnow.org.fullchain.pem"%0a key "/etc/ssl/private/git.ircnow.org.key" %0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a no fastcgi%0a }%0a location "*~" {%0a block drop%0a }%0a location "/cgit.*" {%0a root "/cgit"%0a no fastcgi%0a }%0a root "/cgi-bin/cgit.cgi"%0a fastcgi socket "/run/slowcgi.sock"%0a}%0a =]%0a%0a%0aUnconfirmed: you may need 'no fastcgi' inside the acme block to enable renewal of certs.%0a%0aMake sure also to edit, like this /var/www/conf/cgitrc:%0a%0a [=%0aroot-title=Name cGIT repository%0aroot-desc=a fast webinterface for the git dscm%0a%0acss=/cgit.css%0alogo=/cgit.png%0afavicon=/favicon.png%0arobots=noindex, nofollow%0a%0aenable-index-links=1%0aenable-log-filecount=1%0aenable-log-linecount=1%0a%0asnapshots=tar.gz tar.bz2 zip%0a%0avirtual-root=/%0ascan-path=/repos%0a =]%0a%0aCreate new repo%0a%0a [=%0acd ~/%0amkdir repos%0agit init --bare my_project.git%0adoas mv my_project.git /var/www/repos/my_project.git%0adoas ln -s /var/www/repos/my_project.git /home/user/repos/my_project.git%0adoas chown user:user /var/www/repos/my_project.git%0adoas chown user:user /home/user/repos/my_project.git%0a%0agit clone user@ircnow.org:repos/my_project.git%0a%0a =] +time=1598982709 +author:1598982709=baytuch +diff:1598982709:1598982222:=60,62d59%0a%3c %0a%3c virtual-root=/%0a%3c scan-path=/repos%0a +host:1598982709=91.228.147.58 +author:1598982222=baytuch +diff:1598982222:1597225400:=1c1%0a%3c [=%0a---%0a> %3ccode>%0a3,4c3,4%0a%3c =]%0a%3c %0a---%0a> %3c/code>%0a> %0a6,7c6%0a%3c %0a%3c [=%0a---%0a> %3ccode>%0a27d25%0a%3c no fastcgi%0a39,41c37,39%0a%3c =]%0a%3c %0a%3c %0a---%0a> %0a> %3c/code>%0a> %0a44,75c42,45%0a%3c Make sure also to edit, like this /var/www/conf/cgitrc:%0a%3c %0a%3c [=%0a%3c root-title=Name cGIT repository%0a%3c root-desc=a fast webinterface for the git dscm%0a%3c %0a%3c css=/cgit.css%0a%3c logo=/cgit.png%0a%3c favicon=/favicon.png%0a%3c robots=noindex, nofollow%0a%3c %0a%3c enable-index-links=1%0a%3c enable-log-filecount=1%0a%3c enable-log-linecount=1%0a%3c %0a%3c snapshots=tar.gz tar.bz2 zip%0a%3c =]%0a%3c %0a%3c Create new repo%0a%3c %0a%3c [=%0a%3c cd ~/%0a%3c mkdir repos%0a%3c git init --bare my_project.git%0a%3c doas mv my_project.git /var/www/repos/my_project.git%0a%3c doas ln -s /var/www/repos/my_project.git /home/user/repos/my_project.git%0a%3c doas chown user:user /var/www/repos/my_project.git%0a%3c doas chown user:user /home/user/repos/my_project.git%0a%3c %0a%3c git clone user@ircnow.org:repos/my_project.git%0a%3c %0a%3c =]%0a\ No newline at end of file%0a---%0a> Make sure also to edit /var/www/conf/cgitrc:%0a> %3ccode>%0a> %0a> %3c/code>%0a\ No newline at end of file%0a +host:1598982222=91.228.147.58 +author:1597225400=jrmu +diff:1597225400:1597225400:=1,45d0%0a%3c %3ccode>%0a%3c $ doas pkg_add cgit%0a%3c %3c/code>%0a%3c %0a%3c Inside /etc/httpd.conf:%0a%3c %3ccode>%0a%3c server "git.ircnow.org" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c server "git.ircnow.org" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/git.ircnow.org.fullchain.pem"%0a%3c key "/etc/ssl/private/git.ircnow.org.key" %0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*~" {%0a%3c block drop%0a%3c }%0a%3c location "/cgit.*" {%0a%3c root "/cgit"%0a%3c no fastcgi%0a%3c }%0a%3c root "/cgi-bin/cgit.cgi"%0a%3c fastcgi socket "/run/slowcgi.sock"%0a%3c }%0a%3c %0a%3c %3c/code>%0a%3c %0a%3c Unconfirmed: you may need 'no fastcgi' inside the acme block to enable renewal of certs.%0a%3c %0a%3c Make sure also to edit /var/www/conf/cgitrc:%0a%3c %3ccode>%0a%3c %0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597225400=38.81.163.143 blob - /dev/null blob + 90b7e37637da593d36df247dbe612a7925f69904 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Checklist @@ -0,0 +1,64 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=+ +ctime=1598499766 +host=203.129.25.247 +name=Openbsd.Checklist +rev=13 +targets=Ircnow.Team,Openbsd.Doas,Openbsd.Nsd,Openbsd.Unbound,Openbsd.Openhttpd,Openbsd.Acme-client,Openbsd.Ngircd,Openbsd.Hopm,Openbsd.Oidentd,Openbsd.Znc,Openbsd.Eggdrop,Openbsd.Vhost,Openbsd.Relayd,Openbsd.Dovecot,Openbsd.Opensmtpd,Openbsd.Pf,Tutorial.Tutorial +text=Common tasks to finish when training for [[Ircnow.Team]]:%0a%0aA. Core part:%0a%0a- vi or nano or any editor you like to use - create and edit a file in the command line%0a%0a- [[openbsd.doas]] - create a non-root account and give it access to run commands as root%0a%0a- [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%0a- [[Openbsd.unbound]] - install%0a%0aB. Web server things and encryption:%0a%0a- [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%0a- [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%0a- PHP - to be added (optional)%0a%0a- kcgi (web coding in C) - to be added (optional)%0a%0aC. IRC related:%0a%0a- [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%0a- [[openbsd.hopm]] - check that it detects and bans tor%0a%0a- [[openbsd.oidentd]] - install. check that it overrides users' preferences for username%0a%0aD. Bouncer related (required C):%0a%0a- [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%0a- [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%0a- [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%0a- [[openbsd.oidentd]] - configure to use bouncer username for the user's ident%0a%0aE. Bouncer and httpd related (requires B, C, D):%0a%0a- [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%0aF. Email related:%0a%0a- [[Openbsd.dovecot]] - receive a test message%0a%0a- [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address; send to a gmail address and stay in inbox%0a%0aG. Hosting code:%0a%0a- gotweb - to be added%0a%0a- sftponly + PHP web hosting (in production at orange) - tutorial to be added%0a%0aOthers:%0a%0a- [[Openbsd.pf]] - follow the tutorial; successfully block port 1337 (plain text znc port) then unblock it;%0a%0a- jrmu has some website for email compliance check%0a%0a- [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a%0a- For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a%0a- ddos defense - to be added%0a%0a- tcpdump - to be added%0a%0a- netcat - to be added%0a%0a- ping - to be added%0a%0a- dig - to be added%0a%0a- iked - to be added +time=1605833079 +author:1605833079=gry +csum:1605833079=+ +diff:1605833079:1605833030:=29,30c29,30%0a%3c - [[openbsd.oidentd]] - install. check that it overrides users' preferences for username%0a%3c %0a---%0a> - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a> %0a38,39d37%0a%3c %0a%3c - [[openbsd.oidentd]] - configure to use bouncer username for the user's ident%0a +host:1605833079=203.129.25.247 +author:1605833030=gry +csum:1605833030=+G +diff:1605833030:1605832995:=49c49%0a%3c G. Hosting code:%0a---%0a> Hosting code:%0a +host:1605833030=203.129.25.247 +author:1605832995=gry +csum:1605832995=+ +diff:1605832995:1605832968:=9,12d8%0a%3c - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%3c %0a%3c - [[Openbsd.unbound]] - install%0a%3c %0a39a36,39%0a> %0a> - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a> %0a> - [[Openbsd.unbound]] - install%0a +host:1605832995=203.129.25.247 +author:1605832968=gry +csum:1605832968=+ +diff:1605832968:1605832950:=15,17c15,17%0a%3c - PHP - to be added (optional)%0a%3c %0a%3c - kcgi (web coding in C) - to be added (optional)%0a---%0a> - PHP - to be added%0a> %0a> - kcgi (web coding in C) - to be added%0a +host:1605832968=203.129.25.247 +author:1605832950=gry +csum:1605832950=+ +diff:1605832950:1605832786:=15,18d14%0a%3c - PHP - to be added%0a%3c %0a%3c - kcgi (web coding in C) - to be added%0a%3c %0a49,54d44%0a%3c Hosting code:%0a%3c %0a%3c - gotweb - to be added%0a%3c %0a%3c - sftponly + PHP web hosting (in production at orange) - tutorial to be added%0a%3c %0a75c65,67%0a%3c - iked - to be added%0a\ No newline at end of file%0a---%0a> - iked - to be added%0a> %0a> - gotweb - to be added%0a\ No newline at end of file%0a +host:1605832950=203.129.25.247 +author:1605832786=gry +csum:1605832786=+ +diff:1605832786:1605832719:=39c39%0a%3c F. Email related:%0a---%0a> Email related:%0a +host:1605832786=203.129.25.247 +author:1605832719=gry +csum:1605832719=+ +diff:1605832719:1605829410:=3,4d2%0a%3c A. Core part:%0a%3c %0a9,10c7,10%0a%3c B. Web server things and encryption:%0a%3c %0a---%0a> - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a> %0a> - [[openbsd.hopm]] - check that it detects and bans tor%0a> %0a15,24d14%0a%3c C. IRC related:%0a%3c %0a%3c - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%3c %0a%3c - [[openbsd.hopm]] - check that it detects and bans tor%0a%3c %0a%3c - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a%3c %0a%3c D. Bouncer related (required C):%0a%3c %0a26a17,20%0a> - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a> %0a> - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a> %0a29,32d22%0a%3c - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%3c %0a%3c E. Bouncer and httpd related (requires B, C, D):%0a%3c %0a37,40c27,30%0a%3c - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%3c %0a%3c Email related:%0a%3c %0a---%0a> - [[Openbsd.opensmtpd]] - send and receive one email%0a> %0a> - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a> %0a44,45d33%0a%3c %0a%3c Others:%0a +host:1605832719=203.129.25.247 +author:1605829410=gry +csum:1605829410=+ +diff:1605829410:1603397104:=3,4d2%0a%3c - vi or nano or any editor you like to use - create and edit a file in the command line%0a%3c %0a25,26d22%0a%3c - [[Openbsd.unbound]] - install%0a%3c %0a35,36d30%0a%3c - [[Openbsd.pf]] - follow the tutorial; successfully block port 1337 (plain text znc port) then unblock it;%0a%3c %0a41,55c35%0a%3c - For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a%3c %0a%3c - ddos defense - to be added%0a%3c %0a%3c - tcpdump - to be added%0a%3c %0a%3c - netcat - to be added%0a%3c %0a%3c - ping - to be added%0a%3c %0a%3c - dig - to be added%0a%3c %0a%3c - iked - to be added%0a%3c %0a%3c - gotweb - to be added%0a\ No newline at end of file%0a---%0a> - For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a\ No newline at end of file%0a +host:1605829410=203.129.25.247 +author:1603397104=gry +csum:1603397104=+ +diff:1603397104:1603397066:=27,31c27,31%0a%3c - [[Openbsd.dovecot]] - receive a test message%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address; send to a gmail address and stay in inbox%0a%3c %0a%3c - jrmu has some website for email compliance check%0a---%0a> - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address%0a> %0a> - [[Openbsd.dovecot]] - ???%0a> %0a> - ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a +host:1603397104=203.129.25.247 +author:1603397066=gry +csum:1603397066=+ +diff:1603397066:1598503756:=33,35c33%0a%3c - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a%3c %0a%3c - For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a\ No newline at end of file%0a---%0a> - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a\ No newline at end of file%0a +host:1603397066=203.129.25.247 +author:1598503756=gry +csum:1598503756=+doas +diff:1598503756:1598500245:=2,3d1%0a%3c %0a%3c - [[openbsd.doas]] - create a non-root account and give it access to run commands as root%0a +host:1598503756=203.129.25.247 +author:1598500245=gry +csum:1598500245=+ +diff:1598500245:1598499766:=2a3,4%0a> - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming%0a> %0a29,31c31%0a%3c - ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a%3c %0a%3c - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a\ No newline at end of file%0a---%0a> - ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a\ No newline at end of file%0a +host:1598500245=203.129.25.247 +author:1598499766=gry +csum:1598499766=+ +diff:1598499766:1598499766:=1,31d0%0a%3c Common tasks to finish when training for [[Ircnow.Team]]:%0a%3c %0a%3c - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming%0a%3c %0a%3c - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%3c %0a%3c - [[openbsd.hopm]] - check that it detects and bans tor%0a%3c %0a%3c - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%3c %0a%3c - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%3c %0a%3c - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%3c %0a%3c - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%3c %0a%3c - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a%3c %0a%3c - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%3c %0a%3c - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send and receive one email%0a%3c %0a%3c - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address%0a%3c %0a%3c - [[Openbsd.dovecot]] - ???%0a%3c %0a%3c - ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a\ No newline at end of file%0a +host:1598499766=203.129.25.247 blob - /dev/null blob + 787a40765279ba50df788a795d72d31071a144bd (mode 644) --- /dev/null +++ wiki.d/Openbsd.Chroot @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1604495173 +host=38.87.162.8 +name=Openbsd.Chroot +rev=2 +targets= +text=(:redirect chroot.intro:)%0aChroot refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change the apparent root directory it runs inside. It normally is unable to access any files outside of the new root and is stuck in a chroot jail.%0a%0aBenefits include:%0a%0a# A chroot sandboxes an insecure process so that it cannot view or modify files outside the chroot%0a +time=1627699670 +author:1627699670=jrmu +diff:1627699670:1604495173:=1d0%0a%3c (:redirect chroot.intro:)%0a6c5%0a%3c # A chroot sandboxes an insecure process so that it cannot view or modify files outside the chroot%0a---%0a> # A chroot sandboxes an insecure process so that it cannot view or modify files outside the chroot%0a\ No newline at end of file%0a +host:1627699670=38.87.162.8 +author:1604495173=jrmu +diff:1604495173:1604495173:=1,5d0%0a%3c Chroot refers to '''ch'''anging the '''root'''. When a process runs inside a chroot, you change the apparent root directory it runs inside. It normally is unable to access any files outside of the new root and is stuck in a chroot jail.%0a%3c %0a%3c Benefits include:%0a%3c %0a%3c # A chroot sandboxes an insecure process so that it cannot view or modify files outside the chroot%0a\ No newline at end of file%0a +host:1604495173=38.81.163.7 blob - /dev/null blob + 26cf4db3ee5ae974e45295f4079eae7281f2e20e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ddos @@ -0,0 +1,110 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=a bit clean up. +ctime=1597226351 +host=80.191.34.206 +name=Openbsd.Ddos +rev=32 +targets=Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.Tcpresetflood,Openbsd.Cu,Openbsd.Vmmuser,Openbsd.Buyvm,Openbsd.Tcpdump,Openbsd.Scp,Openbsd.Sftp,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.RSTFlood,Openbsd.Police +text=(:title DDoS Defense Guide:)%0a%0a!! How to Detect an Attack%0a%0aIf suddenly you see many users disconnect from a server...%0a%0a[@%0a[12:31:23] *** Quits: Lucifer_|des (JohnReb@AEJva.DesireNET.Org) (Ping timeout)%0a[12:31:51] *** Quits: depeche|nat (depeche@depeche.users.nationchat.org) (Ping timeout)%0a[12:32:36] *** Quits: iulian7502|des (iulian@ADx0-.DesireNET.Org) (Ping timeout)%0a[12:34:07] *** Quits: Counter|under (CPT@CPT.fig.ircnow.org) (Ping timeout)%0a[12:34:12] *** Quits: katrok|quake (katrok@katrok.bnc1.ircnow.org) (Ping timeout)%0a[12:34:19] *** Quits: Lucifer|des (Lucifer@ACXJz.DesireNET.Org) (Ping timeout)%0a[12:35:29] *** Quits: depeche|quake (depeche@depeche.users.quakenet.org) (Ping timeout)%0a[12:35:38] *** Quits: Elafi|under (Elafi@Elafi.fig.ircnow.org) (Ping timeout)%0a[12:35:52] *** Quits: edu|dal (ed@fig.ircnow.org) (Ping timeout)%0a[12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!")%0a@]%0a%0a...your server may be under attack!%0a%0a!! Different Attack Types%0a%0aIf you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/ACKFlood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a%0aIf you see many @@EOF from client@@, @@Read error: Input/output error@@, or @@Client closed connection@@ quit messages, this may be due to a [[openbsd/tcpresetflood|TCP reset flood]]:%0a%0a[@%0a[02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a[02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a[02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a[02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a[02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a[02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a[02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a[02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a@]%0a%0a!! Confirming an Attack%0a%0aTo see if there is a ddos attack, first run:%0a%0a[@%0a$ ping fruit.ircnow.org%0a@]%0a%0aReplace fruit.ircnow.org with your actual server's hostname. If you get more than 30%25 packet loss, this could be a sign you are being flooded with fake packets. During a DDoS, an attacker is flooding your internet pipe with junk packets so that your server is unable to respond to any real network traffic.%0a%0aCheck the serial console (using [[openbsd/cu|cu]] if on [[openbsd/vmmuser|VMM]], VNC if on [[openbsd/buyvm|BuyVM]]). Try to log in and see if the system is still responsive. If the server is offline or has errors, it may be due to hardware/software issues rather than a DDoS attack.%0a%0aDuring a DDoS attack, your system should feel slightly sluggish. This is due to the massive number of packets that OpenBSD must process. Run @@top@@. If you see the system/interrupt CPU usage at 50%25 or more, then you either have a process using too much CPU or you may be under an attack. If the CPU usage is low, under 5%25, it might not be a DDoS attack. It could be a networking or hardware issue, or an attack of another nature.%0a%0aIf you suspect an attack, you should log the packets that are coming in:%0a%0a[@%0a$ doas tcpdump -w YYYYMMDDSS.pcap%0a@]%0a%0aThis will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a%0aYou can fine-tune this:%0a%0a[@%0a$ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a@]%0a%0aIn the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a%0aTo stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%0aTo read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a%0a[@%0a$ doas tcpdump -r YYYYMMDDSS.pcap%0a@]%0a%0aor%0a%0a[@%0a$ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a@]%0a%0a!! Identifying Attack Type%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Common DDoS Attacks !||%0a||! Name ||! Packet Type ||! Description ||%0a|| [[openbsd/SYNFlood|SYN Flood]] || SYN packets || Your server sends ACK packets and wastes resources on useless TCP connections ||%0a|| [[openbsd/HTTPFlood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a|| [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || Your server is flooded with fake NTP packets ||%0a|| [[openbsd/UDPFlood|UDP Flood]] || UDP packets || Your server receives lots of fake UDP packets at random ports ||%0a|| [[openbsd/SSDP|SSDP Attacks]] || SSDP packets || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a|| [[openbsd/ACKFlood|TCP ACK Flood]] || ACK packets || Your server is flooded with useless ACK packets ||%0a|| [[openbsd/RSTFlood|TCP RST Flood]] || RST packets || Your system daemons are tricked into disconnecting by fake RST (reset) packets ||%0a%0a!! Reporting Criminals%0a%0aTo stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. A DDoSer may also be a competitor or have some other financial motive. If the pcap shows a specific IPv6 address was targeted, contact the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a%0aHints provide a very useful starting point, but you will still need to do the necessary investigation in order to get enough evidence to report. Please see the [[openbsd/police|police guide]].%0a%0aKeep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin. The attacking IP might be the stolen server, home computer, or electronic device of some innocent bystander.%0a%0a!! DDoS Filtering%0a%0aIf you are hosting a public service, sooner or later you will get hit with DDoS attacks. The Internet is full of criminals, and the anonymity of IRC makes it hard to catch them. Strong and determined attackers can sustain DDoS attacks of more than 500Gbps.%0a%0aA software firewall on a single server alone cannot stop all DDoS attacks because of physical limitations. Once the maximum bandwidth of your server is reached, it is unable to accept any further traffic. If you get attacked but you are not using a filtered IP, your provider will null route your IP (take it offline). So long as the attack continues, your service will be completely offline, and your users will blame you.%0a%0aAs a result, we are forced to purchase DDoS filtering or acquire more bandwidth. Both solutions cost money, which is why it is necessary to work as a team to purchase more bandwidth at a cheaper rate. The larger our network, the more money we can afford to spend on DDoS defenses. It is wise to avoid depending entirely upon one single internet provider like Cloudflare or Voxility. Using diverse providers decreases the risk of failure.%0a%0a!! Troubleshooting%0a%0aCloudflare/Voxility's DDoS protection can mangle SSL certs when you make requests from some servers. For example, I noticed HTTPS requests to Let's Encrypt's servers were being mangled: %0a%0a[@%0a$ openssl s_client -connect 172.65.32.248:443%0a@]%0a%0aIt just hung there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a%0aDDoS filtered IPs have been known to mangle SMTP, NTP, and DNS packets. So if networking fails for some inexplicable reason, check using openssl to see if SSL certs are being mangled. +time=1622270163 +title=DDoS Defense Guide +author:1622270163=mkf +csum:1622270163=a bit clean up. +diff:1622270163:1608201041:=10a11%0a> [12:33:04] *** Quits: Guest72019|dal (~comptech@2605:6400:30:f8de:f77b:2f96:6b1a:413e) (Quit: be right back... later... see yah...)%0a17c18%0a%3c [12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!")%0a---%0a> [12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!"%0a24c25%0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/ACKFlood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a---%0a> If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a +host:1622270163=80.191.34.206 +author:1608201041=jrmu +diff:1608201041:1608200964:= +host:1608201041=198.251.81.119 +author:1608200964=jrmu +diff:1608200964:1608200824:=96,97d95%0a%3c || [[openbsd/ACKFlood|TCP ACK Flood]] || ACK packets || Your server is flooded with useless ACK packets ||%0a%3c || [[openbsd/RSTFlood|TCP RST Flood]] || RST packets || Your system daemons are tricked into disconnecting by fake RST (reset) packets ||%0a +host:1608200964=198.251.81.119 +author:1608200824=jrmu +diff:1608200824:1608084217:=25c25%0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/SSDP|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a---%0a> If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/ssdp|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a +host:1608200824=198.251.81.119 +author:1608084217=jrmu +diff:1608084217:1608084131:=1,2d0%0a%3c (:title DDoS Defense Guide:)%0a%3c %0a +host:1608084217=198.251.81.119 +author:1608084131=jrmu +diff:1608084131:1608083666:=84a85%0a> %0a +host:1608084131=198.251.81.119 +author:1608083666=jrmu +diff:1608083666:1608083620:=92c92%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || Your server is flooded with fake NTP packets ||%0a---%0a> || [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || || Your server is flooded with fake NTP packets ||%0a +host:1608083666=198.251.81.119 +author:1608083620=jrmu +diff:1608083620:1608083519:=89c89%0a%3c ||! Name ||! Packet Type ||! Description ||%0a---%0a> ||! Name ||! Signs ||! Description ||%0a92c92%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || NTP packets || || Your server is flooded with fake NTP packets ||%0a---%0a> || [[openbsd/NTPAmplification|NTP Amplification]] || Your server is flooded with fake NTP packets ||%0a94c94%0a%3c || [[openbsd/SSDP|SSDP Attacks]] || SSDP packets || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a---%0a> || [[openbsd/SSDP|SSDP Attacks]] || || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a +host:1608083620=198.251.81.119 +author:1608083519=jrmu +diff:1608083519:1608036959:=91c91%0a%3c || [[openbsd/HTTPFlood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a---%0a> || [[openbsd/HTTPFlood|HTTP Flood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a +host:1608083519=198.251.81.119 +author:1608036959=jrmu +diff:1608036959:1608034247:=94c94,96%0a%3c || [[openbsd/SSDP|SSDP Attacks]] || || Your server is flooded with packets from Universal Plug and Play (UPnP) devices ||%0a---%0a> || [[openbsd/SSDP|SSDP Attacks]] || || || ||%0a> %0a> An SSDP Attack%0a +host:1608036959=198.251.81.119 +author:1608034247=jrmu +diff:1608034247:1608033164:=90,93c90,92%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || SYN packets || Your server sends ACK packets and wastes resources on useless TCP connections ||%0a%3c || [[openbsd/HTTPFlood|HTTP Flood|HTTP Flood]] || HTTP packets || Your server wastes resources responding to fake HTTP requests ||%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || Your server is flooded with fake NTP packets ||%0a%3c || [[openbsd/UDPFlood|UDP Flood]] || UDP packets || Your server receives lots of fake UDP packets at random ports ||%0a---%0a> || [[openbsd/SYNFlood|SYN Flood]] || SYN packets || This causes the server to send acknowledgment (ACK) packets and create TCP connections, tying up resources ||%0a> || [[openbsd/HTTPFlood|HTTP Flood|HTTP Flood]] || || ||%0a> || [[openbsd/NTPAmplification|NTP Amplification]] || || ||%0a94a94,111%0a> %0a> !!! SYN Flood%0a> %0a> A [[openbsd/SYNFlood|SYN Flood]] floods the server with %0a> %0a> !!! UDP Flood%0a> %0a> A [[openbsd/UDPFlood||UDP Flood]] sends lots of trash UDP packets at random ports on the servers.%0a> %0a> !!! HTTP Flood%0a> %0a> An [[openbsd/HTTPFlood|HTTP Flood]] sends HTTP requests to a server to waste as many resources as possible to cause the server to crash or freeze.%0a> %0a> !!! NTP Amplification%0a> %0a> In an [[openbsd/NTP Amplification]], the attacker spoofs your IP as the sending IP so that NTP servers flood you with packets%0a> %0a> !! SSDP Flood%0a +host:1608034247=198.251.81.119 +author:1608033164=jrmu +diff:1608033164:1608031966:=86,113c86%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Common DDoS Attacks !||%0a%3c ||! Name ||! Signs ||! Description ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || SYN packets || This causes the server to send acknowledgment (ACK) packets and create TCP connections, tying up resources ||%0a%3c || [[openbsd/HTTPFlood|HTTP Flood|HTTP Flood]] || || ||%0a%3c || [[openbsd/NTPAmplification|NTP Amplification]] || || ||%0a%3c || [[openbsd/SSDP|SSDP Attacks]] || || || ||%0a%3c %0a%3c !!! SYN Flood%0a%3c %0a%3c A [[openbsd/SYNFlood|SYN Flood]] floods the server with %0a%3c %0a%3c !!! UDP Flood%0a%3c %0a%3c A [[openbsd/UDPFlood||UDP Flood]] sends lots of trash UDP packets at random ports on the servers.%0a%3c %0a%3c !!! HTTP Flood%0a%3c %0a%3c An [[openbsd/HTTPFlood|HTTP Flood]] sends HTTP requests to a server to waste as many resources as possible to cause the server to crash or freeze.%0a%3c %0a%3c !!! NTP Amplification%0a%3c %0a%3c In an [[openbsd/NTP Amplification]], the attacker spoofs your IP as the sending IP so that NTP servers flood you with packets%0a%3c %0a%3c !! SSDP Flood%0a%3c %0a%3c An SSDP Attack%0a---%0a> SSDP packets are.%0a +host:1608033164=198.251.81.119 +author:1608031966=jrmu +diff:1608031966:1608031325:=94,95c94,95%0a%3c Keep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin. The attacking IP might be the stolen server, home computer, or electronic device of some innocent bystander.%0a%3c %0a---%0a> Keep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin.%0a> %0a97,103c97,110%0a%3c %0a%3c If you are hosting a public service, sooner or later you will get hit with DDoS attacks. The Internet is full of criminals, and the anonymity of IRC makes it hard to catch them. Strong and determined attackers can sustain DDoS attacks of more than 500Gbps.%0a%3c %0a%3c A software firewall on a single server alone cannot stop all DDoS attacks because of physical limitations. Once the maximum bandwidth of your server is reached, it is unable to accept any further traffic. If you get attacked but you are not using a filtered IP, your provider will null route your IP (take it offline). So long as the attack continues, your service will be completely offline, and your users will blame you.%0a%3c %0a%3c As a result, we are forced to purchase DDoS filtering or acquire more bandwidth. Both solutions cost money, which is why it is necessary to work as a team to purchase more bandwidth at a cheaper rate. The larger our network, the more money we can afford to spend on DDoS defenses. It is wise to avoid depending entirely upon one single internet provider like Cloudflare or Voxility. Using diverse providers decreases the risk of failure.%0a%3c %0a---%0a> You will get hit with DDoS attacks. The Internet is full of criminals, and the free software world in particular because of the anonymity it affords attackers. DDoS attacks from script kiddies can easily reach 100Gbps, and strong and determined attackers can sustain attacks of more than 500Gbps.%0a> %0a> Firewalls cannot deal with DDoS attacks because of physical limitations. Imagine trying to squeeze 10 tons of water through a garden hose%0a> Changing IP addresses or ports does not help.%0a> You must get ddos filtering, which costs money. This is why it is necessary to unite.%0a> %0a> The attacker will steal zombie servers%0a> %0a> So, to resist, our network must grow large. The larger our network, the more money we can afford to get for ddos defenses.%0a> %0a> If you get ddosed but you are not using a filtered IP, your provider will null route your IP.%0a> %0a> It is wise to avoid depending entirely upon one vendor. Like many things in life, it is wise to diversify.%0a> %0a112c119%0a%3c It just hung there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a---%0a> It just hunt there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a +host:1608031966=198.251.81.119 +author:1608031325=jrmu +diff:1608031325:1608031027:=90,94c90,94%0a%3c To stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. A DDoSer may also be a competitor or have some other financial motive. If the pcap shows a specific IPv6 address was targeted, contact the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a%3c %0a%3c Hints provide a very useful starting point, but you will still need to do the necessary investigation in order to get enough evidence to report. Please see the [[openbsd/police|police guide]].%0a%3c %0a%3c Keep in mind that criminals often spoof IP addresses (lie about the source IP address) or use proxies (other insecure machines) to amplify their attacks. Logs of packets alone often do not provide enough evidence to report a criminal. Attackers often amplify their attacks using IoT devices, universities, and large corporations to mask their true origin.%0a---%0a> To stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. If the pcap shows a specific IPv6 address was targeted, look up the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a> %0a> circums is not diff If you are unsure of who caused the the criminals by providing conclusive evidence.%0a> %0a> Logging the packets, however, usually does not provide this evidence. That is because these skiddies rely on amplification attacks through universities and large corporations to mask their true origin.%0a +host:1608031325=198.251.81.119 +author:1608031027=jrmu +diff:1608031027:1607931425:=86c86%0a%3c SSDP packets are.%0a---%0a> If you see hundreds of trash packets, like reflected dns packets or reflected http packets, you know it's a ddos attack%0a +host:1608031027=198.251.81.119 +author:1607931425=jrmu +diff:1607931425:1607875463:=57c57%0a%3c $ doas tcpdump -w YYYYMMDDSS.pcap%0a---%0a> $ doas tcpdump -w flood.pcap%0a60,61c60,61%0a%3c This will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a%3c %0a---%0a> This will log the packets onto the file @@flood.pcap@@.%0a> %0a65c65%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a---%0a> $ doas tcpdump -i vio0 -s 1500 -A -v -n -w flood.pcap%0a75c75%0a%3c $ doas tcpdump -r YYYYMMDDSS.pcap%0a---%0a> $ doas tcpdump -r flood.pcap%0a81c81%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a---%0a> $ doas tcpdump -i vio0 -s 1500 -A -v -n -r flood.pcap%0a +host:1607931425=198.251.81.119 +author:1607875463=jrmu +diff:1607875463:1607864786:=90,92c90%0a%3c To stop abuse, it is necessary to report attackers. Often, a DDoSer can be quickly identified because an attack took place during an argument. If the pcap shows a specific IPv6 address was targeted, look up the user with that unique IPv6 address and ask him for clues. Attackers sometimes will show up on your channel to insult or mock you during an attack. This type of evidence, although not 100%25 certain, can provide clues as to who is behind an attack.%0a%3c %0a%3c circums is not diff If you are unsure of who caused the the criminals by providing conclusive evidence.%0a---%0a> One way to go after ddos attackers is to identify the criminals by providing conclusive evidence.%0a +host:1607875463=198.251.81.119 +author:1607864786=jrmu +diff:1607864786:1607864687:=88,89c88,92%0a%3c !! Reporting Criminals%0a%3c %0a---%0a> %0a> You will get hit with DDoS attacks. The Internet is full of criminals, and the free software world in particular because of the anonymity it affords attackers. DDoS attacks from script kiddies can easily reach 100Gbps, and strong and determined attackers can sustain attacks of more than 500Gbps.%0a> %0a> Firewalls cannot deal with DDoS attacks because of physical limitations. Imagine trying to squeeze 10 tons of water through a garden hose%0a> %0a91a95%0a> %0a94,97c98%0a%3c !! DDoS Filtering%0a%3c You will get hit with DDoS attacks. The Internet is full of criminals, and the free software world in particular because of the anonymity it affords attackers. DDoS attacks from script kiddies can easily reach 100Gbps, and strong and determined attackers can sustain attacks of more than 500Gbps.%0a%3c %0a%3c Firewalls cannot deal with DDoS attacks because of physical limitations. Imagine trying to squeeze 10 tons of water through a garden hose%0a---%0a> %0a103a105,106%0a> %0a> %0a +host:1607864786=198.251.81.119 +author:1607864687=jrmu +diff:1607864687:1607864508:=110a111,129%0a> %0a> %0a> %0a> The way you see if there is a ddos attack%0a> 18:11 %3c~jrmu> to be 100%25 sure, you run tcpdump%0a> 18:12 %3c~jrmu> $ doas tcpdump -s 1500 -A -v -w flood.pcap%0a> 18:12 %3c~jrmu> then ctrl+c to cancel%0a> 18:12 %3c~jrmu> err, type $ doas tcpdump -s 1500 -A -v -n -w flood.pcap%0a> 18:12 %3c~jrmu> then $ doas tcpdump -s 1500 -A -v -n -r flood.pcap%0a> 18:12 %3c~jrmu> that will let you read the pcap file%0a> 18:12 %3c~jrmu> and if you see hundreds of trash packets, like reflected dns packets or re:%0a> flected http packets, you know it's a ddos attack%0a> 18:16 %3c~jrmu> there are some ways to block the ddos attack%0a> 18:16 %3c~jrmu> for example yesterday we got hit on port 22%0a> 18:16 %3c~jrmu> so i blocked port 22%0a> 18:17 %3c~jrmu> you should study Packet Filter (PF)%0a> 18:17 %3c~jrmu> however, PF is not full proof%0a> 18:17 %3c~jrmu> it can only block attacks when the attacker is not using more sophisticated methods%0a> 18:17 %3c~jrmu> if he really hammered us hard, i would not have been able to block it in 20 mins%0a +host:1607864687=198.251.81.119 +author:1607864508=jrmu +diff:1607864508:1607863865:=70,71c70,71%0a%3c To stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%3c %0a---%0a> To stop collection, type [ctrl]+c, @@^C@@. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a> %0a114a115,130%0a> %0a> $ ping on the ip address, you get 80-90%25 packet loss%0a> 18:10 %3c~jrmu> but some packets still go through%0a> 18:10 %3c~jrmu> then when you use the VNC web console, you can still see it, but it's slug%0a> gish%0a> 18:10 %3c~jrmu> when you run top, you see that system/interrupt CPU usage is through the r%0a> oof at 50%25 each%0a> 18:11 %3c~jrmu> then you can do this%0a> 18:11 %3c~jrmu> $ doas pfctl -f /etc/pf.conf%0a> 18:11 %3c~jrmu> that will empty the existing state tables for pf%0a> 18:11 %3c~jrmu> then, $ doas pfctl -sr -v%0a> 18:11 %3c~jrmu> that will show you how many packets are arriving%0a> 18:11 %3c~jrmu> since you emptied the state tables, if you now see 10000s of packets comin%0a> g in, those packets came in that second%0a> 18:11 %3c~jrmu> almost certainly due to an attack if you are getting 10,000s of packets in%0a> a few seconds%0a +host:1607864508=198.251.81.119 +author:1607863865=jrmu +diff:1607863865:1607863677:=88a89,99%0a> %0a> Cloudflare/Voxility's DDoS protection can mangle SSL certs from specific domains (I noticed them doing this for let's encrypt):%0a> %0a> %3ccode>%0a> $ openssl s_client -connect 172.65.32.248:443%0a> %3c/code>%0a> %0a> It just hangs there with no certificate being issued.%0a> %0a> Also DDoS has been known to mangle SMTP, NTP, and DNS packets. Watch out!%0a> %0a145,157c156%0a%3c 18:17 %3c~jrmu> if he really hammered us hard, i would not have been able to block it in 20 mins%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Cloudflare/Voxility's DDoS protection can mangle SSL certs when you make requests from some servers. For example, I noticed HTTPS requests to Let's Encrypt's servers were being mangled: %0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect 172.65.32.248:443%0a%3c @]%0a%3c %0a%3c It just hunt there with no certificate being issued. If this happens, you will need to report this to the Internet Provider ([[https://buyvm.net|BuyVM]]).%0a%3c %0a%3c DDoS filtered IPs have been known to mangle SMTP, NTP, and DNS packets. So if networking fails for some inexplicable reason, check using openssl to see if SSL certs are being mangled.%0a\ No newline at end of file%0a---%0a> 18:17 %3c~jrmu> if he really hammered us hard, i would not have been able to block it in 20 mins%0a\ No newline at end of file%0a +host:1607863865=198.251.81.119 +author:1607863677=jrmu +diff:1607863677:1607863428:=21,22c21,22%0a%3c !! Different Attack Types%0a%3c %0a---%0a> !! Identifying the Attack Type%0a> %0a40,41d39%0a%3c !! Confirming an Attack%0a%3c %0a84,85d81%0a%3c !! Identifying Attack Type%0a%3c %0a88a85,86%0a> %0a> ----%0a +host:1607863677=198.251.81.119 +author:1607863428=jrmu +diff:1607863428:1607862971:= +host:1607863428=198.251.81.119 +author:1607862971=jrmu +diff:1607862971:1607862628:=23,25c23,25%0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/ssdp|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]]. Logging and analyzing incoming packets is how we identify the attack type.%0a%3c %0a%3c If you see many @@EOF from client@@, @@Read error: Input/output error@@, or @@Client closed connection@@ quit messages, this may be due to a [[openbsd/tcpresetflood|TCP reset flood]]:%0a---%0a> If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/ssdp|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]].%0a> %0a> A [[openbsd/tcpresetflood|TCP reset flood]].%0a +host:1607862971=198.251.81.119 +author:1607862628=jrmu +diff:1607862628:1607862540:=23,25c23%0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a [[openbsd/ssdp|SSDP attack]] or a [[openbsd/tcpackflood|TCP ack flood]].%0a%3c %0a%3c A [[openbsd/tcpresetflood|TCP reset flood]].%0a---%0a> If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a SSDP%0a +host:1607862628=198.251.81.119 +author:1607862540=jrmu +diff:1607862540:1607862368:=21,24c21,22%0a%3c !! Identifying the Attack Type%0a%3c %0a%3c If you see ping timeouts like above, your server's bandwidth is clogged with so many junk packets that it cannot respond to real traffic. This could be the result of a SSDP%0a%3c %0a---%0a> To see if there is a ddos attack, first run:%0a> %0a26,35c24%0a%3c [02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a%3c [02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a---%0a> $ ping fruit.ircnow.org%0a38,43d26%0a%3c To see if there is a ddos attack, first run:%0a%3c %0a%3c [@%0a%3c $ ping fruit.ircnow.org%0a%3c @]%0a%3c %0a82,83d64%0a%3c %0a%3c %0a118a100,111%0a> [@%0a> [02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a> [02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a> [02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a> [02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a> [02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a> [02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a> [02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a> [02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a> [02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a> [02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a> @]%0a +host:1607862540=198.251.81.119 +author:1607862368=jrmu +diff:1607862368:1607862248:=51,52c51,52%0a%3c To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a%3c %0a---%0a> To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump:%0a> %0a54,60c54%0a%3c $ doas tcpdump -r flood.pcap%0a%3c @]%0a%3c %0a%3c or%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -r flood.pcap%0a---%0a> $ doas tcpdump -s 1500 -A -v -n -r flood.pcap%0a +host:1607862368=198.251.81.119 +author:1607862248=jrmu +diff:1607862248:1607862098:=51c51%0a%3c To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump:%0a---%0a> To read the pcap:%0a +host:1607862248=198.251.81.119 +author:1607862098=jrmu +diff:1607862098:1607860911:=33,53c33,55%0a%3c If you suspect an attack, you should log the packets that are coming in:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -w flood.pcap%0a%3c @]%0a%3c %0a%3c This will log the packets onto the file @@flood.pcap@@.%0a%3c %0a%3c You can fine-tune this:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -w flood.pcap%0a%3c @]%0a%3c %0a%3c In the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a%3c %0a%3c To stop collection, type [ctrl]+c, @@^C@@. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%3c %0a%3c To read the pcap:%0a%3c %0a%3c [@%0a---%0a> Next, run this command:%0a> %0a> %3ccode>%0a> $ doas pfctl -f /etc/pf.conf%0a> %3c/code>%0a> %0a> This will empty the existing state tables for pf. Then, run%0a> %0a> %3ccode>%0a> $ doas pfctl -sr -v%0a> %3c/code>%0a> %0a> This will show you how many packets are arriving. Since you emptied the state tables, if you now see 1000s of packets coming in, those packets came in the last few seconds, indicating that you are certainly under attack.%0a> %0a> To analyze the types of packets, use tcpdump:%0a> %0a> %3ccode>%0a> $ doas tcpdump -s 1500 -A -v -n -w flood.pcap%0a> %3c/code>%0a> %0a> To stop collection, type ctrl+c. Make sure to save the pcap file because it is very useful for forensics and for learning how to block attacks. Then, to read the pcap:%0a> %0a> %3ccode>%0a55c57%0a%3c @]%0a---%0a> %3c/code>%0a +host:1607862098=198.251.81.119 +author:1607860911=jrmu +diff:1607860911:1607858492:=21,31c21,29%0a%3c To see if there is a ddos attack, first run:%0a%3c %0a%3c [@%0a%3c $ ping fruit.ircnow.org%0a%3c @]%0a%3c %0a%3c Replace fruit.ircnow.org with your actual server's hostname. If you get more than 30%25 packet loss, this could be a sign you are being flooded with fake packets. During a DDoS, an attacker is flooding your internet pipe with junk packets so that your server is unable to respond to any real network traffic.%0a%3c %0a%3c Check the serial console (using [[openbsd/cu|cu]] if on [[openbsd/vmmuser|VMM]], VNC if on [[openbsd/buyvm|BuyVM]]). Try to log in and see if the system is still responsive. If the server is offline or has errors, it may be due to hardware/software issues rather than a DDoS attack.%0a%3c %0a%3c During a DDoS attack, your system should feel slightly sluggish. This is due to the massive number of packets that OpenBSD must process. Run @@top@@. If you see the system/interrupt CPU usage at 50%25 or more, then you either have a process using too much CPU or you may be under an attack. If the CPU usage is low, under 5%25, it might not be a DDoS attack. It could be a networking or hardware issue, or an attack of another nature.%0a---%0a> To see if there is a ddos attack, first run%0a> %0a> %3ccode>%0a> $ ping example.com%0a> %3c/code>%0a> %0a> on your hostname. If you get 80-90%25 packet loss, but some packets still go through, you may have a DDoS attack. The packets in this case are mostly flooding your internet pipe but some are able to pass through. However, if you get 100%25 packet loss, it could simply be a networking mistake.%0a> %0a> Check your VNC web console if it can still load. If it feels sluggish, run top. If you see the system/interrupt CPU usage shoot up to 50%25 each, for a total of almost 100%25 cpu usage, then either you have a runaway process or you are being DDoSed. If your CPU usage is low, under 5%25, it does not look like a DDoS attack.%0a +host:1607860911=198.251.81.119 +author:1607858492=jrmu +diff:1607858492:1597226351:=1,20c1,4%0a%3c !! How to Detect an Attack%0a%3c %0a%3c If suddenly you see many users disconnect from a server...%0a%3c %0a%3c [@%0a%3c [12:31:23] *** Quits: Lucifer_|des (JohnReb@AEJva.DesireNET.Org) (Ping timeout)%0a%3c [12:31:51] *** Quits: depeche|nat (depeche@depeche.users.nationchat.org) (Ping timeout)%0a%3c [12:32:36] *** Quits: iulian7502|des (iulian@ADx0-.DesireNET.Org) (Ping timeout)%0a%3c [12:33:04] *** Quits: Guest72019|dal (~comptech@2605:6400:30:f8de:f77b:2f96:6b1a:413e) (Quit: be right back... later... see yah...)%0a%3c [12:34:07] *** Quits: Counter|under (CPT@CPT.fig.ircnow.org) (Ping timeout)%0a%3c [12:34:12] *** Quits: katrok|quake (katrok@katrok.bnc1.ircnow.org) (Ping timeout)%0a%3c [12:34:19] *** Quits: Lucifer|des (Lucifer@ACXJz.DesireNET.Org) (Ping timeout)%0a%3c [12:35:29] *** Quits: depeche|quake (depeche@depeche.users.quakenet.org) (Ping timeout)%0a%3c [12:35:38] *** Quits: Elafi|under (Elafi@Elafi.fig.ircnow.org) (Ping timeout)%0a%3c [12:35:52] *** Quits: edu|dal (ed@fig.ircnow.org) (Ping timeout)%0a%3c [12:36:45] *** Quits: Soportes (Soportes@Soportes.fig.ircnow.org) ("IRCNow and Forever!"%0a%3c @]%0a%3c %0a%3c ...your server may be under attack!%0a%3c %0a---%0a> %0a> ====== Under Attack? ======%0a> %0a> %0a93,105d76%0a%3c %0a%3c [@%0a%3c [02:02:42] *** Quits: jrmu|dal (jrmu@jrmu.plum.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: semut_|dal (semut@semut.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:42] *** Quits: starr|dal (starr@starr.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|dal (thekingofb@thekingofbandit.lu2.ircnow.org) (Read error: Input/output error)%0a%3c [02:02:42] *** Quits: Gisa|quake (thekingofb@lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: Freak|quake (Freak@Freak.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:42] *** Quits: IRCuser|quake (unknwon@IRCuser.users.quakenet.org) (EOF from client)%0a%3c [02:02:42] *** Quits: ramadi|quake (ramadi@ramadi.lu2.ircnow.org) (EOF from client)%0a%3c [02:02:43] *** Quits: Fat1 (Fatfem@Fatfem.lu2.ircnow.org) (Client closed connection)%0a%3c [02:02:43] *** Quits: Freak (Freak@Freak.lu2.ircnow.org) (Client closed connection)%0a%3c @]%0a +host:1607858492=198.251.81.119 +author:1597226351=jrmu +diff:1597226351:1597226351:=1,110d0%0a%3c %0a%3c ====== Under Attack? ======%0a%3c %0a%3c %0a%3c To see if there is a ddos attack, first run%0a%3c %0a%3c %3ccode>%0a%3c $ ping example.com%0a%3c %3c/code>%0a%3c %0a%3c on your hostname. If you get 80-90%25 packet loss, but some packets still go through, you may have a DDoS attack. The packets in this case are mostly flooding your internet pipe but some are able to pass through. However, if you get 100%25 packet loss, it could simply be a networking mistake.%0a%3c %0a%3c Check your VNC web console if it can still load. If it feels sluggish, run top. If you see the system/interrupt CPU usage shoot up to 50%25 each, for a total of almost 100%25 cpu usage, then either you have a runaway process or you are being DDoSed. If your CPU usage is low, under 5%25, it does not look like a DDoS attack.%0a%3c %0a%3c Next, run this command:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c %3c/code>%0a%3c %0a%3c This will empty the existing state tables for pf. Then, run%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -sr -v%0a%3c %3c/code>%0a%3c %0a%3c This will show you how many packets are arriving. Since you emptied the state tables, if you now see 1000s of packets coming in, those packets came in the last few seconds, indicating that you are certainly under attack.%0a%3c %0a%3c To analyze the types of packets, use tcpdump:%0a%3c %0a%3c %3ccode>%0a%3c $ doas tcpdump -s 1500 -A -v -n -w flood.pcap%0a%3c %3c/code>%0a%3c %0a%3c To stop collection, type ctrl+c. Make sure to save the pcap file because it is very useful for forensics and for learning how to block attacks. Then, to read the pcap:%0a%3c %0a%3c %3ccode>%0a%3c $ doas tcpdump -s 1500 -A -v -n -r flood.pcap%0a%3c %3c/code>%0a%3c %0a%3c If you see hundreds of trash packets, like reflected dns packets or reflected http packets, you know it's a ddos attack%0a%3c %0a%3c ----%0a%3c %0a%3c Cloudflare/Voxility's DDoS protection can mangle SSL certs from specific domains (I noticed them doing this for let's encrypt):%0a%3c %0a%3c %3ccode>%0a%3c $ openssl s_client -connect 172.65.32.248:443%0a%3c %3c/code>%0a%3c %0a%3c It just hangs there with no certificate being issued.%0a%3c %0a%3c Also DDoS has been known to mangle SMTP, NTP, and DNS packets. Watch out!%0a%3c %0a%3c You will get hit with DDoS attacks. The Internet is full of criminals, and the free software world in particular because of the anonymity it affords attackers. DDoS attacks from script kiddies can easily reach 100Gbps, and strong and determined attackers can sustain attacks of more than 500Gbps.%0a%3c %0a%3c Firewalls cannot deal with DDoS attacks because of physical limitations. Imagine trying to squeeze 10 tons of water through a garden hose%0a%3c %0a%3c One way to go after ddos attackers is to identify the criminals by providing conclusive evidence.%0a%3c %0a%3c %0a%3c Logging the packets, however, usually does not provide this evidence. That is because these skiddies rely on amplification attacks through universities and large corporations to mask their true origin.%0a%3c %0a%3c %0a%3c Changing IP addresses or ports does not help.%0a%3c You must get ddos filtering, which costs money. This is why it is necessary to unite.%0a%3c %0a%3c The attacker will steal zombie servers%0a%3c %0a%3c So, to resist, our network must grow large. The larger our network, the more money we can afford to get for ddos defenses.%0a%3c %0a%3c %0a%3c %0a%3c If you get ddosed but you are not using a filtered IP, your provider will null route your IP.%0a%3c %0a%3c It is wise to avoid depending entirely upon one vendor. Like many things in life, it is wise to diversify.%0a%3c %0a%3c %0a%3c The way you see if there is a ddos attack%0a%3c %0a%3c $ ping on the ip address, you get 80-90%25 packet loss%0a%3c 18:10 %3c~jrmu> but some packets still go through%0a%3c 18:10 %3c~jrmu> then when you use the VNC web console, you can still see it, but it's slug%0a%3c gish%0a%3c 18:10 %3c~jrmu> when you run top, you see that system/interrupt CPU usage is through the r%0a%3c oof at 50%25 each%0a%3c 18:11 %3c~jrmu> then you can do this%0a%3c 18:11 %3c~jrmu> $ doas pfctl -f /etc/pf.conf%0a%3c 18:11 %3c~jrmu> that will empty the existing state tables for pf%0a%3c 18:11 %3c~jrmu> then, $ doas pfctl -sr -v%0a%3c 18:11 %3c~jrmu> that will show you how many packets are arriving%0a%3c 18:11 %3c~jrmu> since you emptied the state tables, if you now see 10000s of packets comin%0a%3c g in, those packets came in that second%0a%3c 18:11 %3c~jrmu> almost certainly due to an attack if you are getting 10,000s of packets in%0a%3c a few seconds%0a%3c 18:11 %3c~jrmu> to be 100%25 sure, you run tcpdump%0a%3c 18:12 %3c~jrmu> $ doas tcpdump -s 1500 -A -v -w flood.pcap%0a%3c 18:12 %3c~jrmu> then ctrl+c to cancel%0a%3c 18:12 %3c~jrmu> err, type $ doas tcpdump -s 1500 -A -v -n -w flood.pcap%0a%3c 18:12 %3c~jrmu> then $ doas tcpdump -s 1500 -A -v -n -r flood.pcap%0a%3c 18:12 %3c~jrmu> that will let you read the pcap file%0a%3c 18:12 %3c~jrmu> and if you see hundreds of trash packets, like reflected dns packets or re:%0a%3c flected http packets, you know it's a ddos attack%0a%3c 18:16 %3c~jrmu> there are some ways to block the ddos attack%0a%3c 18:16 %3c~jrmu> for example yesterday we got hit on port 22%0a%3c 18:16 %3c~jrmu> so i blocked port 22%0a%3c 18:17 %3c~jrmu> you should study Packet Filter (PF)%0a%3c 18:17 %3c~jrmu> however, PF is not full proof%0a%3c 18:17 %3c~jrmu> it can only block attacks when the attacker is not using more sophisticated methods%0a%3c 18:17 %3c~jrmu> if he really hammered us hard, i would not have been able to block it in 20 mins%0a\ No newline at end of file%0a +host:1597226351=38.81.163.143 blob - /dev/null blob + 3fff53a9785318de29e2d4daa37d910b52a4415b (mode 644) --- /dev/null +++ wiki.d/Openbsd.Delphinusdnsd @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612230694 +host=198.251.81.119 +name=Openbsd.Delphinusdnsd +rev=1 +targets= +text=(:title DelphinusDNSd:)%0a%0a[[https://delphinusdns.org/|delphinusdnsd]] is a dns server +time=1612230694 +title=DelphinusDNSd +author:1612230694=jrmu +diff:1612230694:1612230694:=1,3d0%0a%3c (:title DelphinusDNSd:)%0a%3c %0a%3c [[https://delphinusdns.org/|delphinusdnsd]] is a dns server%0a\ No newline at end of file%0a +host:1612230694=198.251.81.119 blob - /dev/null blob + a8a1b4bb67fb856654eb53b180af6afc65321c92 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dig @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597984267 +host=38.87.162.8 +name=Openbsd.Dig +rev=6 +targets=Openbsd.Unbound +text=(:redirect Dig.Usage:)%0a(:title Troubleshooting DNS with dig:)%0a%0adig is a DNS lookup utility which is invaluable for helping troubleshoot DNS errors.%0a%0aTo lookup the IPv4 address of a hostname, run:%0a%0a[@%0a$ dig example.ircnow.org%0a; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org%0a;; global options: +cmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 15341%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1%0a%0a;; OPT PSEUDOSECTION:%0a; EDNS: version: 0, flags:; udp: 4096%0a;; QUESTION SECTION:%0a;example.ircnow.org. IN A%0a%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a%0a;; Query time: 485 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Fri Aug 21 12:31:44 CST 2020%0a;; MSG SIZE rcvd: 55%0a@]%0a%0a!! Success or Failure%0a%0a# @@status: NOERROR@@\\%0aThis indicates that the name lookup succeeded.%0a# @@status: NXDOMAIN@@\\%0aThis indicates that the name server believes there are no records for the hostname. In other words, the name server for the zone exists, but the record does not.%0a# @@;; connection timed out; no servers could be reached@@\\%0aThis indicates that your computer cannot reach the nameservers in /etc/resolv.conf. Please reconfigure your [[openbsd/unbound|local caching nameservers]].%0a%0a!! Answer Section%0a%0a[@%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a@]%0a%0aThe @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@A@@ means this is an A record (it tells you the IPv4 address), and the IP address 192.168.0.1.%0a%0a!! Other Details%0a%0a[@%0a;; Query time: 485 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a@]%0a%0aThis tells you that it took 485 milliseconds to make the request, and that dig asked the nameserver 127.0.0.1 on port 53 for the answer. The server is very important because different nameservers might give different responses. For example, suppose you want to ask the two nameservers, @@ns1.ircnow.org@@ and @@ns2.ircnow.org@@, what the correct answer is:%0a%0a[@%0a$ dig @ns1.ircnow.org example.ircnow.org%0a$ dig @ns2.ircnow.org example.ircnow.org%0a@]%0a%0aThe two nameservers might give different answers!%0a%0aTo test if your changes have propagated (other nameservers have synced), you can try testing other public nameservers like the ones offered by [[https://servers.opennic.org/|OpenNIC]].%0a%0a!! Getting Other Records%0a%0aBy default, dig returns A records, but there are many other records:%0a%0a[@%0a$ dig -t any example.ircnow.org # shows all records%0a$ dig -t mx example.ircnow.org # shows MX (mail exchange) records%0a$ dig -t ns example.ircnow.org # shows NS (nameserver) records%0a$ dig -t aaaa example.ircnow.org # shows AAAA (IPv4) records%0a$ dig -t txt example.ircnow.org # shows TXT (text) records%0a@]%0a +time=1627195831 +title=Troubleshooting DNS with dig +author:1627195831=jrmu +diff:1627195831:1597986288:=1d0%0a%3c (:redirect Dig.Usage:)%0a +host:1627195831=38.87.162.8 +author:1597986288=jrmu +diff:1597986288:1597986164:=67,75c67%0a%3c By default, dig returns A records, but there are many other records:%0a%3c %0a%3c [@%0a%3c $ dig -t any example.ircnow.org # shows all records%0a%3c $ dig -t mx example.ircnow.org # shows MX (mail exchange) records%0a%3c $ dig -t ns example.ircnow.org # shows NS (nameserver) records%0a%3c $ dig -t aaaa example.ircnow.org # shows AAAA (IPv4) records%0a%3c $ dig -t txt example.ircnow.org # shows TXT (text) records%0a%3c @]%0a---%0a> There are more records besides%0a +host:1597986288=38.81.163.143 +author:1597986164=jrmu +diff:1597986164:1597985569:=45,67c45,48%0a%3c The @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@A@@ means this is an A record (it tells you the IPv4 address), and the IP address 192.168.0.1.%0a%3c %0a%3c !! Other Details%0a%3c %0a%3c [@%0a%3c ;; Query time: 485 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c @]%0a%3c %0a%3c This tells you that it took 485 milliseconds to make the request, and that dig asked the nameserver 127.0.0.1 on port 53 for the answer. The server is very important because different nameservers might give different responses. For example, suppose you want to ask the two nameservers, @@ns1.ircnow.org@@ and @@ns2.ircnow.org@@, what the correct answer is:%0a%3c %0a%3c [@%0a%3c $ dig @ns1.ircnow.org example.ircnow.org%0a%3c $ dig @ns2.ircnow.org example.ircnow.org%0a%3c @]%0a%3c %0a%3c The two nameservers might give different answers!%0a%3c %0a%3c To test if your changes have propagated (other nameservers have synced), you can try testing other public nameservers like the ones offered by [[https://servers.opennic.org/|OpenNIC]].%0a%3c %0a%3c !! Getting Other Records%0a%3c %0a%3c There are more records besides%0a---%0a> The @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@IN@@ stands for Internet Protocol, A means this is an A record, and the IP address 192.168.0.1 is what the hostname resolves to.%0a> %0a> !! Querying Different Servers%0a> %0a +host:1597986164=38.81.163.143 +author:1597985569=jrmu +diff:1597985569:1597985419:=29,30d28%0a%3c !! Success or Failure%0a%3c %0a37,48d34%0a%3c %0a%3c !! Answer Section%0a%3c %0a%3c [@%0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c @]%0a%3c %0a%3c The @@3600@@ means that this entry has a time to live (TTL) value of 3600s. After 3600s, or 1 hour, the answer will no longer be valid. @@IN@@ stands for Internet Protocol, A means this is an A record, and the IP address 192.168.0.1 is what the hostname resolves to.%0a%3c %0a%3c !! Querying Different Servers%0a%3c %0a +host:1597985569=38.81.163.143 +author:1597985419=jrmu +diff:1597985419:1597984267:=5,34d4%0a%3c To lookup the IPv4 address of a hostname, run:%0a%3c %0a%3c [@%0a%3c $ dig example.ircnow.org%0a%3c ; %3c%3c>> dig 9.10.8-P1 %3c%3c>> example.ircnow.org%0a%3c ;; global options: +cmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 15341%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1%0a%3c %0a%3c ;; OPT PSEUDOSECTION:%0a%3c ; EDNS: version: 0, flags:; udp: 4096%0a%3c ;; QUESTION SECTION:%0a%3c ;example.ircnow.org. IN A%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c %0a%3c ;; Query time: 485 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Fri Aug 21 12:31:44 CST 2020%0a%3c ;; MSG SIZE rcvd: 55%0a%3c @]%0a%3c %0a%3c # @@status: NOERROR@@\\%0a%3c This indicates that the name lookup succeeded.%0a%3c # @@status: NXDOMAIN@@\\%0a%3c This indicates that the name server believes there are no records for the hostname. In other words, the name server for the zone exists, but the record does not.%0a%3c # @@;; connection timed out; no servers could be reached@@\\%0a%3c This indicates that your computer cannot reach the nameservers in /etc/resolv.conf. Please reconfigure your [[openbsd/unbound|local caching nameservers]].%0a +host:1597985419=38.81.163.143 +author:1597984267=jrmu +diff:1597984267:1597984267:=1,4d0%0a%3c (:title Troubleshooting DNS with dig:)%0a%3c %0a%3c dig is a DNS lookup utility which is invaluable for helping troubleshoot DNS errors.%0a%3c %0a +host:1597984267=38.81.163.143 blob - /dev/null blob + f566a845d5cc83a271e2485872f122b5f9542ce8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Disklabel @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 +author=bejelentkezni +charset=UTF-8 +csum= +ctime=1621222439 +host=184.99.100.20 +name=Openbsd.Disklabel +rev=1 +targets= +text=(:redirect Openbsd.Fdisk:) +time=1621222439 +author:1621222439=bejelentkezni +diff:1621222439:1621222439:=1d0%0a%3c (:redirect Openbsd.Fdisk:)%0a\ No newline at end of file%0a +host:1621222439=184.99.100.20 blob - /dev/null blob + fd7014649e10dcbbc6c6db2635f755fc7db74313 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dkimproxy @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745058 +host=38.81.163.143 +name=Openbsd.Dkimproxy +rev=3 +targets=Opensmtpd.Configure,DNS.DKIM +text=(:redirect DNS.DKIM:)%0a%0aNote: This guide is kept for historical purpsoses. Please consult the new guide for [[opensmtpd/configure|OpenSMTPd]] and [[DNS/DKIM|DKIM]].%0a%0a[@%0a$ doas pkg_add dkimproxy%0a$ openssl genrsa -out ~/private.key 1024%0a$ openssl rsa -in ~/private.key -pubout -out ~/public.key%0a$ doas mkdir /etc/dkimproxy%0a$ doas mv ~/{public,private}.key /etc/dkimproxy/%0a$ doas chown -R _dkimproxy:_dkimproxy /etc/dkimproxy*%0a@]%0a%0a/etc/dkimproxy_out.conf:%0a%0a[@%0a# specify what address/port DKIMproxy should listen on%0alisten 127.0.0.1:10027%0a%0a# specify what address/port DKIMproxy forwards mail to%0arelay 127.0.0.1:10028%0a%0a# specify what domains DKIMproxy can sign for (comma-separated, no spaces)%0adomain ircnow.org,mail.ircnow.org,lecturify.com%0a%0a# specify what signatures to add%0asignature dkim(c=relaxed)%0asignature domainkeys(c=nofws)%0a%0a# specify location of the private key%0akeyfile /etc/dkimproxy/private.key%0a%0a# specify the selector (i.e. the name of the key record put in DNS)%0aselector mail1%0a%0a# control how many processes DKIMproxy uses%0a# - more information on these options (and others) can be found by%0a# running `perldoc Net::Server::PreFork'.%0a#min_servers 5%0a#min_spare_servers 2%0a%0areject-error%0a@]%0a%0a[@%0a$ doas rcctl enable dkimproxy_out%0a$ doas rcctl start dkimproxy_out%0a@]%0a +time=1624625793 +author:1624625793=jrmu +diff:1624625793:1622985198:=1,2d0%0a%3c (:redirect DNS.DKIM:)%0a%3c %0a +host:1624625793=38.81.163.143 +author:1622985198=jrmu +diff:1622985198:1597745058:=1,2d0%0a%3c Note: This guide is kept for historical purpsoses. Please consult the new guide for [[opensmtpd/configure|OpenSMTPd]] and [[DNS/DKIM|DKIM]].%0a%3c %0a46c44%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1622985198=38.81.163.143 +author:1597745058=jrmu +diff:1597745058:1597745058:=1,44d0%0a%3c [@%0a%3c $ doas pkg_add dkimproxy%0a%3c $ openssl genrsa -out ~/private.key 1024%0a%3c $ openssl rsa -in ~/private.key -pubout -out ~/public.key%0a%3c $ doas mkdir /etc/dkimproxy%0a%3c $ doas mv ~/{public,private}.key /etc/dkimproxy/%0a%3c $ doas chown -R _dkimproxy:_dkimproxy /etc/dkimproxy*%0a%3c @]%0a%3c %0a%3c /etc/dkimproxy_out.conf:%0a%3c %0a%3c [@%0a%3c # specify what address/port DKIMproxy should listen on%0a%3c listen 127.0.0.1:10027%0a%3c %0a%3c # specify what address/port DKIMproxy forwards mail to%0a%3c relay 127.0.0.1:10028%0a%3c %0a%3c # specify what domains DKIMproxy can sign for (comma-separated, no spaces)%0a%3c domain ircnow.org,mail.ircnow.org,lecturify.com%0a%3c %0a%3c # specify what signatures to add%0a%3c signature dkim(c=relaxed)%0a%3c signature domainkeys(c=nofws)%0a%3c %0a%3c # specify location of the private key%0a%3c keyfile /etc/dkimproxy/private.key%0a%3c %0a%3c # specify the selector (i.e. the name of the key record put in DNS)%0a%3c selector mail1%0a%3c %0a%3c # control how many processes DKIMproxy uses%0a%3c # - more information on these options (and others) can be found by%0a%3c # running `perldoc Net::Server::PreFork'.%0a%3c #min_servers 5%0a%3c #min_spare_servers 2%0a%3c %0a%3c reject-error%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable dkimproxy_out%0a%3c $ doas rcctl start dkimproxy_out%0a%3c @]%0a\ No newline at end of file%0a +host:1597745058=38.81.163.143 blob - /dev/null blob + e44a1510c9cd1c809eeaa0fba4bfd54f22e6d70f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dmarc @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744463 +host=125.231.29.99 +name=Openbsd.Dmarc +rev=2 +targets= +text= * https://www.dnswl.org%0a * https://dkimvalidator.com/%0a * http://multirbl.valli.org%0a * https://dmarc.org/resources/deployment-tools/%0a * https://toolbox.googleapps.com/apps/checkmx%0a * https://postmaster.google.com/u/0/managedomains%0a * https://www.mail-tester.com%0a%0a * autoreply@dmarctest.org%0a * check-auth@verifier.port25.com%0a * mailtest@unlocktheinbox.com%0a%0aTo check that the mail server works:%0a%0a[@%0a$ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a@]%0a%0aInside ~/samplemail:%0a%0a[@%0aFrom: example %3cexample@ircnow.org>%0aTo: mailtest@unlocktheinbox.com%0aSubject: Alpha Bravo%0aMIME-Version: 1.0 %0aContent-Type: text/plain; charset=us-ascii%0aContent-Disposition: inline%0a%0aCharlie Delta Echo Foxtrot%0a@]%0a%0a[@%0a%3c%3c%3c 220 mail.ircnow.org ESMTP OpenSMTPD%0a>>> EHLO localhost%0a%3c%3c%3c 250-mail.ircnow.org Hello localhost [local], pleased to meet you%0a%3c%3c%3c 250-8BITMIME%0a%3c%3c%3c 250-ENHANCEDSTATUSCODES%0a%3c%3c%3c 250-SIZE 36700160%0a%3c%3c%3c 250 HELP%0a>>> MAIL FROM:%3cexample@ircnow.org> %0a%3c%3c%3c 250 2.0.0 Ok%0a>>> RCPT TO:%3cmailtest@unlocktheinbox.com> %0a%3c%3c%3c 250 2.1.5 Destination address valid: Recipient ok%0a>>> DATA%0a%3c%3c%3c 354 Enter mail, end with "." on a line by itself%0a>>> .%0a%3c%3c%3c 250 2.0.0 66f4c965 Message accepted for delivery%0a>>> QUIT%0a%3c%3c%3c 221 2.0.0 Bye%0a@] +time=1621588943 +author:1621588943=jrmu +diff:1621588943:1597744463:=7d6%0a%3c * https://www.mail-tester.com%0a +host:1621588943=125.231.29.99 +author:1597744463=jrmu +diff:1597744463:1597744463:=1,49d0%0a%3c * https://www.dnswl.org%0a%3c * https://dkimvalidator.com/%0a%3c * http://multirbl.valli.org%0a%3c * https://dmarc.org/resources/deployment-tools/%0a%3c * https://toolbox.googleapps.com/apps/checkmx%0a%3c * https://postmaster.google.com/u/0/managedomains%0a%3c %0a%3c * autoreply@dmarctest.org%0a%3c * check-auth@verifier.port25.com%0a%3c * mailtest@unlocktheinbox.com%0a%3c %0a%3c To check that the mail server works:%0a%3c %0a%3c [@%0a%3c $ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a%3c @]%0a%3c %0a%3c Inside ~/samplemail:%0a%3c %0a%3c [@%0a%3c From: example %3cexample@ircnow.org>%0a%3c To: mailtest@unlocktheinbox.com%0a%3c Subject: Alpha Bravo%0a%3c MIME-Version: 1.0 %0a%3c Content-Type: text/plain; charset=us-ascii%0a%3c Content-Disposition: inline%0a%3c %0a%3c Charlie Delta Echo Foxtrot%0a%3c @]%0a%3c %0a%3c [@%0a%3c %3c%3c%3c 220 mail.ircnow.org ESMTP OpenSMTPD%0a%3c >>> EHLO localhost%0a%3c %3c%3c%3c 250-mail.ircnow.org Hello localhost [local], pleased to meet you%0a%3c %3c%3c%3c 250-8BITMIME%0a%3c %3c%3c%3c 250-ENHANCEDSTATUSCODES%0a%3c %3c%3c%3c 250-SIZE 36700160%0a%3c %3c%3c%3c 250 HELP%0a%3c >>> MAIL FROM:%3cexample@ircnow.org> %0a%3c %3c%3c%3c 250 2.0.0 Ok%0a%3c >>> RCPT TO:%3cmailtest@unlocktheinbox.com> %0a%3c %3c%3c%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c >>> DATA%0a%3c %3c%3c%3c 354 Enter mail, end with "." on a line by itself%0a%3c >>> .%0a%3c %3c%3c%3c 250 2.0.0 66f4c965 Message accepted for delivery%0a%3c >>> QUIT%0a%3c %3c%3c%3c 221 2.0.0 Bye%0a%3c @]%0a\ No newline at end of file%0a +host:1597744463=38.81.163.143 blob - /dev/null blob + e6308506fc784efd3801b178ac82efef5ad9250e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dns @@ -0,0 +1,46 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597204424 +host=198.251.81.119 +name=Openbsd.Dns +rev=11 +targets=Openbsd.IPv4,Openbsd.Ipv6,CloudFlare.Cons,Dns.Domain,Dns.Zonefile,Dns.Providers,Dns.Records,Openbsd.Nsd,Openbsd.Vhost,Openbsd.Dig,Openbsd.Host,Openbsd.Unbound +text=(:title Domain Name System:)%0a%0a!! Too Many IPs%0a%0aThere are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%0a!! How DNS works%0a%0aTo perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%0aDNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%0aA distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%0aTo achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%0aThis distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%0aBecause DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a%0a!! Domains%0a%0aLet's take a look at a hostname like example.ircnow.org:%0a%0aAt the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%0aUsually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%0aOnce you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a%0a!! Setting up name server%0a%0aIf you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%0aFor the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a%0aSee Also:%0a%0a|| [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a|| [[openbsd/unbound]] || [[openbsd/nsd|NSD]] || +time=1612413897 +title=Domain Name System +author:1612413897=jrmu +diff:1612413897:1612413216:=33,35c33,35%0a%3c If you register your own domain, the registrar will let you specify your own name servers. They will probably offer you a web panel to put in the IP addresses. By convention, these nameservers are usually referred to as ns1 and ns2, so the hostnames will be ns1.example.com, ns2.example.com, and so forth. You'll need to provide [[dns/records|glue records]]. When someone on the Internet queries your domain name, these glue records provide the IP addresses for your nameservers, which then contain the actual data for your servers.%0a%3c %0a%3c For the nameserver, we recommend using [[openbsd/nsd|nsd]] because it comes as part of OpenBSD's base system.%0a---%0a> Once you register a domain, the registrar will give you the ability to specify your nameservers. You should use their web panel to put in the IP addresses for each of the name servers you want to set up. By convention, these nameservers are usually referred to as ns1 and ns2, so that they their hostnames will be ns1.example.com, ns2.example.com, and so forth. These '''glue records''' are needed so that when someone on the Internet queries your domain name, the name servers for the top-level domains will know which nameservers to query to find the DNS records for your second-level domain.%0a> %0a> For the nameserver, we recommend using [[openbsd/nsd|nsd]] because that comes as part of OpenBSD's base system.%0a +host:1612413897=198.251.81.119 +author:1612413216=jrmu +diff:1612413216:1612413011:=31,32c31,32%0a%3c !! Setting up name server%0a%3c %0a---%0a> !! Setting up your own name server%0a> %0a37,40c37,47%0a%3c See Also:%0a%3c %0a%3c || [[dns/records|DNS Records]] || [[dns/zonefile|DNS Zone Files]] || [[openbsd/vhost|vhost]] || [[openbsd/dig]] || [[openbsd/host]] ||%0a%3c || [[openbsd/unbound]] || [[openbsd/nsd|NSD]] ||%0a\ No newline at end of file%0a---%0a> !! Creating DNS records%0a> %0a> For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a> %0a> || border=1 width=100%25%0a> ||! Record Type ||! Provides || Example ||%0a> || A || IPv4 address || 192.168.0.1 ||%0a> || AAAA || IPv6 address || 2001:0db8:: ||%0a> || NS || Nameserver Hostname || ns1.example.com. ||%0a> || MX || Mailserver Hostname || mail.example.com. ||%0a> || TXT || Extra Information || ||%0a\ No newline at end of file%0a +host:1612413216=198.251.81.119 +author:1612413011=jrmu +diff:1612413011:1612412856:= +host:1612413011=198.251.81.119 +author:1612412856=jrmu +diff:1612412856:1612412409:=23,29c23,29%0a%3c Let's take a look at a hostname like example.ircnow.org:%0a%3c %0a%3c At the very top is the '''root domain''', which is represented by just a single period @@.@@ The root domain is the very top of the DNS system. Next, you have top-level domains ('''TLDs''') such as com, net, and org. After this come the second-level domains like ircnow.org.%0a%3c %0a%3c Usually, when you purchase a domain, you are purchasing a second-level domain. For example, you might purchase coolchatclub.com for your team for $20USD per year. [[dns/domain|To purchase the domain]], you would go to a name registrar and pay a registration fee.%0a%3c %0a%3c Once you purchase a (second-level) domain, you can then create your own subdomains free of charge. For example, if you own ircnow.org, you can create example.ircnow.org free of charge by setting up your own name server and [[dns/zonefile|zone file]]. [[dns/providers|Some providers]] will offer subdomains free of charge.%0a---%0a> You've seen domains before like example.ircnow.org. Let's break them down.%0a> %0a> At the very top, you have the '''root domain''', which is represented by just a period @@.@@ -- this is the very top of the DNS system. Then you have top-level domains ('''TLDs''') such as com, net, org. After this come the second-level domains like ircnow.org. Usually, when you purchase a domain, you are purchasing a second-level domain. Finally, there are '''subdomains''', like example.ircnow.org. Once you purchase a '''parent''' domain like ircnow.org, you can usually create '''child''' subdomains free of charge.%0a> %0a> !! Registering a domain%0a> %0a> To register your own domain, you need to pay an annual fee from a name registrar. There are also free services that offer free subdomains like [[https://freedns.afraid.org|freedns.afraid.org]].%0a +host:1612412856=198.251.81.119 +author:1612412409=jrmu +diff:1612412409:1612411726:=5,19c5,14%0a%3c There are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. So, instead of typing IPs like 192.168.0.1 into our web browser, we use hostnames like ircnow.org, which are far easier to remember. Our computers take these hostnames and tries to find their IP addresses; this process is called '''name resolution'''.%0a%3c %0a%3c !! How DNS works%0a%3c %0a%3c To perform '''name resolution''', the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then '''queries''' (requests information from) a '''name server'''. This name server could be run by your ISP or in a data center somewhere.%0a%3c %0a%3c DNS is '''distributed'''. This means that there is no single name server that knows about every single domain on the Internet. Instead, this information is spread out all across millions of servers all across the Internet.%0a%3c %0a%3c A distributed name system is more robust and more practical. Imagine if all the information were only put on a single name server: if that one name server went offline, the entire Internet would stop working.%0a%3c %0a%3c To achieve this distributed system, name servers are '''delegated authority''' over their own '''zones'''. For example, you might be given authority over the zone username.ircnow.org. Your server can then provide data for that hostname and any other subdomains like mail.username.ircnow.org or www.username.ircnow.org. Your server would control all subdomains within that zone (anything that contains username.ircnow.org). However, you would not be in control of example.com. This zone is delegated to another name server elsewhere. You would not be able to set up subdomains like mail.example.com unless you were delegated authority by the owner of example.com.%0a%3c %0a%3c This distributed design makes DNS more resilient and shares the workload and data storage across multiple servers. This makes it possible to scale up to the size of the global Internet.%0a%3c %0a%3c Because DNS was designed to be distributed, we can and should run our own nameservers for our own zones. We don't want to depend upon [[CloudFlare/Cons|CloudFlare]] or other non-free networks for DNS services.%0a---%0a> There are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. Instead of typing 192.168.0.1 into our web browser, we use hostnames like ircnow.org which are easier to remember. The computer then takes this hostname and tries to find the IP address; this process is called '''name resolution'''.%0a> %0a> !! How the domain name system works%0a> %0a> %0a> To perform name resolution, the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then queries (requests information) from a '''name server''', which is usually in a data center.%0a> %0a> DNS is distributed; there is no single name server that knows every single domain on the Internet. This would be impractical as well as slow and dangerous. If that one name server went offline, the entire Internet would stop working. So instead, there are countless name servers that are '''delegated authority''' over their own '''zones'''. The zones contain the domains and subdomains that an organization controls. This makes DNS more resilient and better distributes the workload.%0a> %0a> DNS is distributed, so we can and should run our own nameservers for our own zones.%0a +host:1612412409=198.251.81.119 +author:1612411726=jrmu +diff:1612411726:1597244883:=1,6d0%0a%3c (:title Domain Name System:)%0a%3c %0a%3c !! Too Many IPs%0a%3c %0a%3c There are over 4 billion possible [[openbsd/IPv4|IP addresses]], and an astronomical number of [[openbsd/ipv6|IPv6 addresses]]. No human can memorize them all. Instead of typing 192.168.0.1 into our web browser, we use hostnames like ircnow.org which are easier to remember. The computer then takes this hostname and tries to find the IP address; this process is called '''name resolution'''.%0a%3c %0a8a3%0a> There are over 4 billion possible IP addresses, and no human can memorize them all. Instead of typing 192.168.0.1 into our web browser, we use hostnames like ircnow.org which are easier to remember. The computer then takes this hostname and tries to find the IP address; this process is called '''name resolution'''.%0a +host:1612411726=198.251.81.119 +author:1597244883=jrmu +diff:1597244883:1597244838:=31d30%0a%3c || border=1 width=100%25%0a37c36,41%0a%3c || TXT || Extra Information || ||%0a\ No newline at end of file%0a---%0a> || TXT || Extra Information || ||%0a> %0a> !! Other DNS records%0a> %0a> %0a> https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a +host:1597244883=38.81.163.143 +author:1597244838=jrmu +diff:1597244838:1597243048:=5,20c5,22%0a%3c To perform name resolution, the client (such as a phone or a laptop) needs a '''name resolver'''. The name resolver then queries (requests information) from a '''name server''', which is usually in a data center.%0a%3c %0a%3c DNS is distributed; there is no single name server that knows every single domain on the Internet. This would be impractical as well as slow and dangerous. If that one name server went offline, the entire Internet would stop working. So instead, there are countless name servers that are '''delegated authority''' over their own '''zones'''. The zones contain the domains and subdomains that an organization controls. This makes DNS more resilient and better distributes the workload.%0a%3c %0a%3c DNS is distributed, so we can and should run our own nameservers for our own zones.%0a%3c %0a%3c !! Domains%0a%3c %0a%3c You've seen domains before like example.ircnow.org. Let's break them down.%0a%3c %0a%3c At the very top, you have the '''root domain''', which is represented by just a period @@.@@ -- this is the very top of the DNS system. Then you have top-level domains ('''TLDs''') such as com, net, org. After this come the second-level domains like ircnow.org. Usually, when you purchase a domain, you are purchasing a second-level domain. Finally, there are '''subdomains''', like example.ircnow.org. Once you purchase a '''parent''' domain like ircnow.org, you can usually create '''child''' subdomains free of charge.%0a%3c %0a%3c !! Registering a domain%0a%3c %0a%3c To register your own domain, you need to pay an annual fee from a name registrar. There are also free services that offer free subdomains like [[https://freedns.afraid.org|freedns.afraid.org]].%0a%3c %0a---%0a> To perform name resolution, the client (such as a phone or a laptop) needs a '''name resolver'''. It then queries (requests information) from a '''name server''', which is usually in a data center.%0a> %0a> DNS is distributed; there is no one name server that knows every single domain on the Internet. Instead, each name server queries another. This makes DNS more resilient and better distributes the workload.%0a> %0a> For this very reason, we can and should run our own nameservers.%0a> %0a> Root Domain: .%0a> %0a> Top-Level Domains (TLDs): such as com, net, org%0a> %0a> Second-Level Domains: ircnow.org%0a> %0a> Subdomains: example.ircnow.org%0a> %0a> We can also say that ircnow.org is the parent domain of example.ircnow.org.%0a> %0a> !! Registering a top-level domain%0a> %0a23,36c25,30%0a%3c Once you register a domain, the registrar will give you the ability to specify your nameservers. You should use their web panel to put in the IP addresses for each of the name servers you want to set up. By convention, these nameservers are usually referred to as ns1 and ns2, so that they their hostnames will be ns1.example.com, ns2.example.com, and so forth. These '''glue records''' are needed so that when someone on the Internet queries your domain name, the name servers for the top-level domains will know which nameservers to query to find the DNS records for your second-level domain.%0a%3c %0a%3c For the nameserver, we recommend using [[openbsd/nsd|nsd]] because that comes as part of OpenBSD's base system.%0a%3c %0a%3c !! Creating DNS records%0a%3c %0a%3c For your nameserver, you will need to create a zone file which will manage all of your DNS records. Here are some common types:%0a%3c %0a%3c ||! Record Type ||! Provides || Example ||%0a%3c || A || IPv4 address || 192.168.0.1 ||%0a%3c || AAAA || IPv6 address || 2001:0db8:: ||%0a%3c || NS || Nameserver Hostname || ns1.example.com. ||%0a%3c || MX || Mailserver Hostname || mail.example.com. ||%0a%3c || TXT || Extra Information || ||%0a---%0a> !! Creating subdomains%0a> %0a> A/AAAA records%0a> TXT records%0a> NS records%0a> MX records%0a +host:1597244838=38.81.163.143 +author:1597243048=jrmu +diff:1597243048:1597226859:=3,20d2%0a%3c There are over 4 billion possible IP addresses, and no human can memorize them all. Instead of typing 192.168.0.1 into our web browser, we use hostnames like ircnow.org which are easier to remember. The computer then takes this hostname and tries to find the IP address; this process is called '''name resolution'''.%0a%3c %0a%3c To perform name resolution, the client (such as a phone or a laptop) needs a '''name resolver'''. It then queries (requests information) from a '''name server''', which is usually in a data center.%0a%3c %0a%3c DNS is distributed; there is no one name server that knows every single domain on the Internet. Instead, each name server queries another. This makes DNS more resilient and better distributes the workload.%0a%3c %0a%3c For this very reason, we can and should run our own nameservers.%0a%3c %0a%3c Root Domain: .%0a%3c %0a%3c Top-Level Domains (TLDs): such as com, net, org%0a%3c %0a%3c Second-Level Domains: ircnow.org%0a%3c %0a%3c Subdomains: example.ircnow.org%0a%3c %0a%3c We can also say that ircnow.org is the parent domain of example.ircnow.org.%0a%3c %0a27,31d8%0a%3c A/AAAA records%0a%3c TXT records%0a%3c NS records%0a%3c MX records%0a%3c %0a33d9%0a%3c %0a +host:1597243048=38.81.163.143 +author:1597226859=jrmu +diff:1597226859:1597204424:=9,11c9%0a%3c !! Other DNS records%0a%3c %0a%3c https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a---%0a> !! Other DNS records%0a\ No newline at end of file%0a +host:1597226859=38.81.163.143 +author:1597204424=jrmu +diff:1597204424:1597204424:=1,9d0%0a%3c !! How the domain name system works%0a%3c %0a%3c !! Registering a top-level domain%0a%3c %0a%3c !! Setting up your own name server%0a%3c %0a%3c !! Creating subdomains%0a%3c %0a%3c !! Other DNS records%0a\ No newline at end of file%0a +host:1597204424=38.81.163.143 blob - /dev/null blob + c4347b069396e5215a71190b9ff9eea25825685c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dnszones @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597983026 +host=38.87.162.8 +name=Openbsd.Dnszones +rev=5 +targets= +text=(:redirect nsd.zone:)%0a +time=1627982814 +author:1627982814=jrmu +diff:1627982814:1627982383:=1c1%0a%3c (:redirect nsd.zone:)%0a---%0a> (:redirect Dns.zonefile:)%0a +host:1627982814=38.87.162.8 +author:1627982383=jrmu +diff:1627982383:1609761675:=1c1,55%0a%3c (:redirect Dns.zonefile:)%0a---%0a> 12:08 %3c%25jrmu> one thing you want to be careful of gry%0a> %0a> 12:08 %3c%25jrmu> gry.likes.trains.grape.ircnow.org%0a> %0a> 12:08 %3c%25jrmu> has a lot of subdomains that are empty%0a> %0a> 12:09 %3c%25jrmu> such as likes.trains.grape.ircnow.org and trains.grape.ircnow.org%0a> %0a> 12:09 %3c%25jrmu> this causes issues on some bad name servers%0a> %0a> 12:09 %3c%25jrmu> nsd hopefully doesn't have this problem%0a> %0a> 12:09 %3c%25jrmu> but i have heard horror stories%0a> %0a> 12:10 %3c&gry> trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a> %0a> 12:10 %3c&gry> likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a> %0a> 12:10 %3c&gry> gry.likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a> %0a> 12:10 %3c&gry> wait%0a> %0a> 12:10 %3c&gry> it should beAAAA%0a> %0a> 12:10 %3c&gry> brb%0a> %0a> 12:10 %3c%25jrmu> did you update the serial number%0a> %0a> 12:10 %3c%25jrmu> also gry%0a> %0a> 12:10 %3c%25jrmu> yeah aaaa%0a> %0a> 12:11 %3c&gry> changed to AAAA; updated serial number; restarted nsd; same issue%0a> %0a> 12:11 %3c%25jrmu> check /var/log/nsd.log%0a> %0a> 12:11 %3c%25jrmu> or turn on debugging%0a> %0a> 12:11 %3c%25jrmu> also%0a> %0a> 12:11 %3c&gry> ok%0a> %0a> 12:12 %3c%25jrmu> ohh%0a> %0a> 12:12 %3c%25jrmu> also%0a> %0a> 12:12 %3c%25jrmu> $ dig -t aaaa%0a> %0a> 12:12 %3c%25jrmu> you want the aaaa records%0a> %0a> 12:12 %3c%25jrmu> also%0a> %0a> 12:12 %3c%25jrmu> each AAAA record should come with an A record%0a> %0a> 12:12 %3c%25jrmu> as a fallback%0a +host:1627982383=38.87.162.8 +author:1609761675=miniontoby +csum:1609761675=added enters +diff:1609761675:1597983176:=2d1%0a%3c %0a4d2%0a%3c %0a6d3%0a%3c %0a8d4%0a%3c %0a10d5%0a%3c %0a12d6%0a%3c %0a14d7%0a%3c %0a16d8%0a%3c %0a18d9%0a%3c %0a20d10%0a%3c %0a22d11%0a%3c %0a24d12%0a%3c %0a26d13%0a%3c %0a28d14%0a%3c %0a30d15%0a%3c %0a32d16%0a%3c %0a34d17%0a%3c %0a36d18%0a%3c %0a38d19%0a%3c %0a40d20%0a%3c %0a42d21%0a%3c %0a44d22%0a%3c %0a46d23%0a%3c %0a48d24%0a%3c %0a50d25%0a%3c %0a52d26%0a%3c %0a54d27%0a%3c %0a +host:1609761675=141.138.217.186 +author:1597983176=jrmu +diff:1597983176:1597983026:=8,28d7%0a%3c 12:10 %3c&gry> trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c 12:10 %3c&gry> likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c 12:10 %3c&gry> gry.likes.trains A 2605:6400:0030:faa1:390d:2d52:1ee7:24c2%0a%3c 12:10 %3c&gry> wait%0a%3c 12:10 %3c&gry> it should beAAAA%0a%3c 12:10 %3c&gry> brb%0a%3c 12:10 %3c%25jrmu> did you update the serial number%0a%3c 12:10 %3c%25jrmu> also gry%0a%3c 12:10 %3c%25jrmu> yeah aaaa%0a%3c 12:11 %3c&gry> changed to AAAA; updated serial number; restarted nsd; same issue%0a%3c 12:11 %3c%25jrmu> check /var/log/nsd.log%0a%3c 12:11 %3c%25jrmu> or turn on debugging%0a%3c 12:11 %3c%25jrmu> also%0a%3c 12:11 %3c&gry> ok%0a%3c 12:12 %3c%25jrmu> ohh%0a%3c 12:12 %3c%25jrmu> also%0a%3c 12:12 %3c%25jrmu> $ dig -t aaaa%0a%3c 12:12 %3c%25jrmu> you want the aaaa records%0a%3c 12:12 %3c%25jrmu> also%0a%3c 12:12 %3c%25jrmu> each AAAA record should come with an A record%0a%3c 12:12 %3c%25jrmu> as a fallback%0a +host:1597983176=38.81.163.143 +author:1597983026=jrmu +diff:1597983026:1597983026:=1,7d0%0a%3c 12:08 %3c%25jrmu> one thing you want to be careful of gry%0a%3c 12:08 %3c%25jrmu> gry.likes.trains.grape.ircnow.org%0a%3c 12:08 %3c%25jrmu> has a lot of subdomains that are empty%0a%3c 12:09 %3c%25jrmu> such as likes.trains.grape.ircnow.org and trains.grape.ircnow.org%0a%3c 12:09 %3c%25jrmu> this causes issues on some bad name servers%0a%3c 12:09 %3c%25jrmu> nsd hopefully doesn't have this problem%0a%3c 12:09 %3c%25jrmu> but i have heard horror stories%0a +host:1597983026=38.81.163.143 blob - /dev/null blob + ab2b7faaf6dd0cd2361213213665a7607f0e0f76 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Doas @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1597746225 +host=125.231.25.80 +name=Openbsd.Doas +rev=9 +targets=Openbsd.Security +text=(:redirect Doas.Configure:)%0a(:title Doas: the Sudo Replacement:)%0a%0a!! Doas for Group Wheel%0a%0aNormally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a%0aFirst, let's use su to log in as root:%0a%0a[@%0a$ su%0a@]%0a%0aNext, we will need to edit our [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] file:%0a%0a[@%0a# echo "permit persist :wheel as root" >> /etc/doas.conf%0a@]%0a%0aThis line allows any user in the group wheel to run doas.%0a%0a'''Note''': The # sign means you run this command as root by first logging in using @@su@@. The $ sign means you run the command as your normal user. Do not literally type # or $.%0a%0a[@%0a$ whoami%0auser%0a$ doas whoami%0adoas (user@user.coconut.ircnow.org) password: %0aroot%0a@]%0a%0aFor this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a%0a!! No password needed%0a%0aLife is a lot easier when you don't require the user password:%0a%0a[@%0a# echo "permit nopass :wheel as root" >> /etc/doas.conf%0a@]%0a%0aThe downside of this more relaxed permission is that anyone gets access to any user in the wheel group gets complete root access over the system. No passwords required for them either. Check if that makes sense with your [[openbsd/security|security goals]].%0a%0a!! Whitelisting users%0a%0aYou can also permit a specific user:%0a%0a[@%0a# echo "permit nopass user as root" >> /etc/doas.conf%0a@]%0a%0aThis allows user to login as root using @@doas@@ without a password.%0a%0a!! Security%0a%0aYou should avoid logging in as root or running programs as root unless absolutely necessary. Running insecure or malicious programs as root can lead to stolen data. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a%0aAs a precaution, we should not allow others to read doas.conf:%0a%0a[@%0a$ doas chmod o-r /etc/doas.conf%0a@]%0a%0aSee also:%0a%0a[[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a +time=1623590359 +title=Doas: the Sudo Replacement +author:1623590359=jrmu +diff:1623590359:1612244331:=1d0%0a%3c (:redirect Doas.Configure:)%0a66c65%0a%3c [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a---%0a> [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a\ No newline at end of file%0a +host:1623590359=125.231.25.80 +author:1612244331=jrmu +diff:1612244331:1612244025:=16c16%0a%3c # echo "permit persist :wheel as root" >> /etc/doas.conf%0a---%0a> # echo "permit :wheel as root" >> /etc/doas.conf%0a31,32c31,32%0a%3c For this configuration, you will need to provide your user password in order to use doas. The @@persist@@ keyword means that after the password is first provided, doas will not ask again for some time.%0a%3c %0a---%0a> For this configuration, you will need to provide your user password in order to use doas.%0a> %0a43,46c43,46%0a%3c !! Whitelisting users%0a%3c %0a%3c You can also permit a specific user:%0a%3c %0a---%0a> !!%0a> %0a> Here's ''/etc/doas.conf'' should contain (replace user123 with your own username):%0a> %0a48c48%0a%3c # echo "permit nopass user as root" >> /etc/doas.conf%0a---%0a> permit nopass user123 as root%0a51,58c51,54%0a%3c This allows user to login as root using @@doas@@ without a password.%0a%3c %0a%3c !! Security%0a%3c %0a%3c You should avoid logging in as root or running programs as root unless absolutely necessary. Running insecure or malicious programs as root can lead to stolen data. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a%3c %0a%3c As a precaution, we should not allow others to read doas.conf:%0a%3c %0a---%0a> This permits user123 to login as root using ''doas'' without a password.%0a> %0a> After doing this, you can confirm it works:%0a> %0a60c56,57%0a%3c $ doas chmod o-r /etc/doas.conf%0a---%0a> $ doas whoami%0a> user123%0a63,65c60,75%0a%3c See also:%0a%3c %0a%3c [[https://flak.tedunangst.com/post/doas-mastery|Ted Unangst's Doas Mastery]]%0a\ No newline at end of file%0a---%0a> If you find the need to constantly enter your user password for when you need to do anything as root annoying, you can have in your ''/etc/doas.conf''%0a> [@%0a> permit persist user123 %0a> @]%0a> %0a> !! Security%0a> %0a> Avoid logging in as root or executing programs as root unless absolutely necessary. Running programs as root by default can lead to serious security holes. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a> %0a> Don't allow others to read doas.conf:%0a> %0a> [@%0a> $ doas chmod o-r /etc/doas.conf%0a> @]%0a> %0a> See also, https://flak.tedunangst.com/post/doas-mastery%0a\ No newline at end of file%0a +host:1612244331=198.251.81.119 +author:1612244025=jrmu +diff:1612244025:1612243484:=3,4d2%0a%3c !! Doas for Group Wheel%0a%3c %0a19,20c17,18%0a%3c This line allows any user in the group wheel to run doas.%0a%3c %0a---%0a> This line allows any user in the group wheel to run doas:%0a> %0a30,43d27%0a%3c %0a%3c For this configuration, you will need to provide your user password in order to use doas.%0a%3c %0a%3c !! No password needed%0a%3c %0a%3c Life is a lot easier when you don't require the user password:%0a%3c %0a%3c [@%0a%3c # echo "permit nopass :wheel as root" >> /etc/doas.conf%0a%3c @]%0a%3c %0a%3c The downside of this more relaxed permission is that anyone gets access to any user in the wheel group gets complete root access over the system. No passwords required for them either. Check if that makes sense with your [[openbsd/security|security goals]].%0a%3c %0a%3c !!%0a +host:1612244025=198.251.81.119 +author:1612243484=jrmu +diff:1612243484:1612065887:=1,6c1,2%0a%3c (:title Doas: the Sudo Replacement:)%0a%3c %0a%3c Normally, you don't want to log in as root for security reasons. OpenBSD does not come with ''sudo'' by default; instead, it provides a small, simple utility called [[https://man.openbsd.org/doas|doas]].%0a%3c %0a%3c First, let's use su to log in as root:%0a%3c %0a---%0a> OpenBSD does not come with ''sudo'' by default, and normally you don't want to log in as root. When you need to perform sysadmin tasks, you change to super user by running:%0a> %0a11,12c7,8%0a%3c Next, we will need to edit our [[https://man.openbsd.org/doas.conf|/etc/doas.conf]] file:%0a%3c %0a---%0a> OpenBSD provides ''doas'', a lightweight and secure replacement for ''sudo''. This allows you to run a command as root by doing:%0a> %0a14c10%0a%3c # echo "permit :wheel as root" >> /etc/doas.conf%0a---%0a> $ doas command%0a17,20c13,14%0a%3c This line allows any user in the group wheel to run doas:%0a%3c %0a%3c '''Note''': The # sign means you run this command as root by first logging in using @@su@@. The $ sign means you run the command as your normal user. Do not literally type # or $.%0a%3c %0a---%0a> You will want to add your user to ''/etc/doas.conf'':%0a> %0a22,26c16%0a%3c $ whoami%0a%3c user%0a%3c $ doas whoami%0a%3c doas (user@user.coconut.ircnow.org) password: %0a%3c root%0a---%0a> # vi /etc/doas.conf%0a27a18,19%0a> %0a> (Note the # sign means you must run this as root, by logging in first using ''su''; a $ sign means you run the command as your normal user)%0a +host:1612243484=198.251.81.119 +author:1612065887=jrmu +diff:1612065887:1612065859:=43c43%0a%3c Avoid logging in as root or executing programs as root unless absolutely necessary. Running programs as root by default can lead to serious security holes. If you find yourself using root when you should not need to, changes are you have a bug somewhere else that needs to be fixed.%0a---%0a> Avoid logging in as root or executing programs as root unless absolutely necessary. Running programs as root by default can lead to serious security holes.%0a +host:1612065887=125.224.24.163 +author:1612065859=jrmu +diff:1612065859:1610028065:=42,43d41%0a%3c %0a%3c Avoid logging in as root or executing programs as root unless absolutely necessary. Running programs as root by default can lead to serious security holes.%0a +host:1612065859=125.224.24.163 +author:1610028065=jrmu +diff:1610028065:1597746265:=39,46d38%0a%3c @]%0a%3c %0a%3c !! Security%0a%3c %0a%3c Don't allow others to read doas.conf:%0a%3c %0a%3c [@%0a%3c $ doas chmod o-r /etc/doas.conf%0a +host:1610028065=125.231.63.134 +author:1597746265=jrmu +diff:1597746265:1597746225:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a5,6c5,6%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a9c9%0a%3c [@%0a---%0a> %3ccode>%0a11,12c11,12%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a15c15%0a%3c [@%0a---%0a> %3ccode>%0a17,18c17,18%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a23c23%0a%3c [@%0a---%0a> %3ccode>%0a25,26c25,26%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a31c31%0a%3c [@%0a---%0a> %3ccode>%0a34,35c34,35%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a37c37%0a%3c [@%0a---%0a> %3ccode>%0a39c39%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597746265=38.81.163.143 +author:1597746225=jrmu +diff:1597746225:1597746225:=1,41d0%0a%3c OpenBSD does not come with ''sudo'' by default, and normally you don't want to log in as root. When you need to perform sysadmin tasks, you change to super user by running:%0a%3c %0a%3c %3ccode>%0a%3c $ su%0a%3c %3c/code>%0a%3c %0a%3c OpenBSD provides ''doas'', a lightweight and secure replacement for ''sudo''. This allows you to run a command as root by doing:%0a%3c %0a%3c %3ccode>%0a%3c $ doas command%0a%3c %3c/code>%0a%3c %0a%3c You will want to add your user to ''/etc/doas.conf'':%0a%3c %0a%3c %3ccode>%0a%3c # vi /etc/doas.conf%0a%3c %3c/code>%0a%3c %0a%3c (Note the # sign means you must run this as root, by logging in first using ''su''; a $ sign means you run the command as your normal user)%0a%3c %0a%3c Here's ''/etc/doas.conf'' should contain (replace user123 with your own username):%0a%3c %0a%3c %3ccode>%0a%3c permit nopass user123 as root%0a%3c %3c/code>%0a%3c %0a%3c This permits user123 to login as root using ''doas'' without a password.%0a%3c %0a%3c After doing this, you can confirm it works:%0a%3c %0a%3c %3ccode>%0a%3c $ doas whoami%0a%3c user123%0a%3c %3c/code>%0a%3c %0a%3c If you find the need to constantly enter your user password for when you need to do anything as root annoying, you can have in your ''/etc/doas.conf''%0a%3c %3ccode>%0a%3c permit persist user123 %0a%3c %3c/code>%0a%3c %0a%3c See also, https://flak.tedunangst.com/post/doas-mastery%0a\ No newline at end of file%0a +host:1597746225=38.81.163.143 blob - /dev/null blob + 71708d7afc7520f9d5927f87720d884b46e075cf (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dokuwiki @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=code blocks fixed +ctime=1597225253 +host=145.132.146.30 +name=Openbsd.Dokuwiki +rev=3 +targets=Openbsd.Openhttpd,Openbsd.Php +text=First please read [[openhttpd|openhttpd]] and [[php|php]]%0a%0a[@%0aserver "example.com" {%0a alias "www.example.com"%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/example.com.fullchain.pem"%0a key "/etc/ssl/private/example.com.key"%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*~" {%0a block drop%0a }%0a location match "/kb/data/" {%0a block drop%0a }%0a location match "/kb/conf/" {%0a block drop%0a }%0a location match "/kb/bin/" {%0a block drop%0a }%0a location match "/kb/inc/" {%0a block drop%0a }%0a location match "/kb/vendor/" {%0a block drop%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a directory {%0a index "index.php"%0a }%0a root "/htdocs/example.com/"%0a connection max request body 104857600%0a hsts preload%0a hsts subdomains%0a}%0a@]%0a%0aEdit /etc/php-7.3.ini to allow larger file uploads:%0a%0a[@%0apost_max_size = 100M%0a@] +time=1607610182 +author:1607610182=miniontoby +csum:1607610182=code blocks fixed +diff:1607610182:1607610148:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a44,45c44,45%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a48c48%0a%3c [@%0a---%0a> %3ccode>%0a50c50%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1607610182=145.132.146.30 +author:1607610148=miniontoby +csum:1607610148=top links fixed +diff:1607610148:1597225253:=1c1%0a%3c First please read [[openhttpd|openhttpd]] and [[php|php]]%0a---%0a> First please read [[openbsd:www:openhttpd|openbsd:www:openhttpd]] and [[openbsd:php|openbsd:php]]%0a +host:1607610148=145.132.146.30 +author:1597225253=jrmu +diff:1597225253:1597225253:=1,50d0%0a%3c First please read [[openbsd:www:openhttpd|openbsd:www:openhttpd]] and [[openbsd:php|openbsd:php]]%0a%3c %0a%3c %3ccode>%0a%3c server "example.com" {%0a%3c alias "www.example.com"%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*~" {%0a%3c block drop%0a%3c }%0a%3c location match "/kb/data/" {%0a%3c block drop%0a%3c }%0a%3c location match "/kb/conf/" {%0a%3c block drop%0a%3c }%0a%3c location match "/kb/bin/" {%0a%3c block drop%0a%3c }%0a%3c location match "/kb/inc/" {%0a%3c block drop%0a%3c }%0a%3c location match "/kb/vendor/" {%0a%3c block drop%0a%3c }%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c directory {%0a%3c index "index.php"%0a%3c }%0a%3c root "/htdocs/example.com/"%0a%3c connection max request body 104857600%0a%3c hsts preload%0a%3c hsts subdomains%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Edit /etc/php-7.3.ini to allow larger file uploads:%0a%3c %0a%3c %3ccode>%0a%3c post_max_size = 100M%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597225253=38.81.163.143 blob - /dev/null blob + 6b09eb769a5482be7164ad6f62444fa5f304efbd (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dovecot @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745143 +host=38.87.162.8 +name=Openbsd.Dovecot +rev=6 +targets= +text=(:redirect Dovecot.Install:)%0aHere is how I set up dovecot.%0a%0a[@%0a$ doas pkg_add dovecot%0a@]%0a%0aIn /etc/dovecot/dovecot.conf, add these lines at the very bottom:%0a%0a[@%0aservice lmtp {%0a user = vmail%0a}%0a%0a#auth_verbose=yes%0a#auth_debug=yes%0a#auth_debug_passwords=yes%0a#mail_debug=yes%0a#auth_verbose_passwords=sha1%0averbose_ssl=yes%0a@]%0a%0aYou can turn on debugging, verbose ssl, and so forth as you need to help troubleshoot.%0a%0aIn /etc/dovecot/conf.d/10-auth.conf, I make these changes:%0a%0a[@%0a#!include auth-system.conf.ext%0apassdb {%0a args = scheme=blf-crypt /etc/mail/passwd%0a driver = passwd-file%0a}%0a%0auserdb {%0a args = uid=vmail gid=vmail home=/var/vmail/%25d/%25n%0a driver = static%0a}%0a@]%0a%0aComment out auth-system.conf.ext and add the new passdb/userdb conf settings.%0a%0aIn /etc/dovecot/conf.d/10-mail.conf:%0a%0a[@%0amail_location = maildir:/var/vmail/%25d/%25n/Maildir%0a@]%0a%0aIn /etc/dovecot/conf.d/10-ssl.conf, I make these changes:%0a%0a[@%0assl = required %0a...%0assl_cert = %3c/etc/ssl/ircnow.org.fullchain.pem%0assl_key = %3c/etc/ssl/private/ircnow.org.key%0assl_dh_parameters_length = 2048%0a@]%0a%0aAs hinted in the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot, you want to add to /etc/login.conf:%0a[@%0adovecot:\%0a :openfiles-cur=4096:\%0a :openfiles-max=8192:\%0a :tc=daemon:%0a@]%0a%0a'''WARNING''': You must use tabs and not spaces. If you use spaces in /etc/login.conf, the settings will '''not''' work.%0a%0a'''NOTE''': Allowing more open files than suggested in the README can help if you have many IP addresses.%0a%0aThen rebuild login.conf.db:%0a%0a[@%0a# [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf%0a@]%0a%0a!! Troubleshooting%0a%0a[@%0a$ openssl s_client -starttls imap -connect username.coconut.ircnow.org:143%0a@]%0a +time=1626101930 +author:1626101930=jrmu +diff:1626101930:1612143748:=1d0%0a%3c (:redirect Dovecot.Install:)%0a80c79%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1626101930=38.87.162.8 +author:1612143748=jrmu +diff:1612143748:1608039656:=73,78d72%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c [@%0a%3c $ openssl s_client -starttls imap -connect username.coconut.ircnow.org:143%0a +host:1612143748=125.224.24.163 +author:1608039656=jrmu +diff:1608039656:1604217906:=57c57%0a%3c As hinted in the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot, you want to add to /etc/login.conf:%0a---%0a> Follow the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot by adding this to /etc/login.conf:%0a60,61c60,61%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8192:\%0a---%0a> :openfiles-cur=1024:\%0a> :openfiles-max=2048:\%0a66,67d65%0a%3c %0a%3c '''NOTE''': Allowing more open files than suggested in the README can help if you have many IP addresses.%0a +host:1608039656=198.251.81.119 +author:1604217906=jrmu +diff:1604217906:1598605851:=64,65d63%0a%3c %0a%3c '''WARNING''': You must use tabs and not spaces. If you use spaces in /etc/login.conf, the settings will '''not''' work.%0a +host:1604217906=198.251.81.119 +author:1598605851=jrmu +diff:1598605851:1597745143:=55,68d54%0a%3c @]%0a%3c %0a%3c Follow the instructions in the dovecot README in /usr/local/share/doc/pkg-readmes/dovecot by adding this to /etc/login.conf:%0a%3c [@%0a%3c dovecot:\%0a%3c :openfiles-cur=1024:\%0a%3c :openfiles-max=2048:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c Then rebuild login.conf.db:%0a%3c %0a%3c [@%0a%3c # [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf%0a +host:1598605851=38.81.163.143 +author:1597745143=jrmu +diff:1597745143:1597745143:=1,55d0%0a%3c Here is how I set up dovecot.%0a%3c %0a%3c [@%0a%3c $ doas pkg_add dovecot%0a%3c @]%0a%3c %0a%3c In /etc/dovecot/dovecot.conf, add these lines at the very bottom:%0a%3c %0a%3c [@%0a%3c service lmtp {%0a%3c user = vmail%0a%3c }%0a%3c %0a%3c #auth_verbose=yes%0a%3c #auth_debug=yes%0a%3c #auth_debug_passwords=yes%0a%3c #mail_debug=yes%0a%3c #auth_verbose_passwords=sha1%0a%3c verbose_ssl=yes%0a%3c @]%0a%3c %0a%3c You can turn on debugging, verbose ssl, and so forth as you need to help troubleshoot.%0a%3c %0a%3c In /etc/dovecot/conf.d/10-auth.conf, I make these changes:%0a%3c %0a%3c [@%0a%3c #!include auth-system.conf.ext%0a%3c passdb {%0a%3c args = scheme=blf-crypt /etc/mail/passwd%0a%3c driver = passwd-file%0a%3c }%0a%3c %0a%3c userdb {%0a%3c args = uid=vmail gid=vmail home=/var/vmail/%25d/%25n%0a%3c driver = static%0a%3c }%0a%3c @]%0a%3c %0a%3c Comment out auth-system.conf.ext and add the new passdb/userdb conf settings.%0a%3c %0a%3c In /etc/dovecot/conf.d/10-mail.conf:%0a%3c %0a%3c [@%0a%3c mail_location = maildir:/var/vmail/%25d/%25n/Maildir%0a%3c @]%0a%3c %0a%3c In /etc/dovecot/conf.d/10-ssl.conf, I make these changes:%0a%3c %0a%3c [@%0a%3c ssl = required %0a%3c ...%0a%3c ssl_cert = %3c/etc/ssl/ircnow.org.fullchain.pem%0a%3c ssl_key = %3c/etc/ssl/private/ircnow.org.key%0a%3c ssl_dh_parameters_length = 2048%0a%3c @]%0a\ No newline at end of file%0a +host:1597745143=38.81.163.143 blob - /dev/null blob + 9e4887c30392b1ffdb5c11c1cea6a1a4bd90562f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Drawtermssh @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36 +author=meeekeeef +charset=UTF-8 +csum=ssh bad >:[ +ctime=1636041134 +host=198.251.81.133 +name=Openbsd.Drawtermssh +rev=3 +targets= +text='+This is likely to be insecure+'%0a%0ainstall drawterm or conterm.%0a[@%0a$ doas pkg_add drawterm%0a@]%0acurrently, drawterm doesn't ask for username on OpenBSD. however, you can emulate it easily.%0a[@%0a$ cat /usr/local/bin/sshdraw.sh%0a#!/bin/sh%0aecho -n 'user[glenda]:'%0aread duser%0aif [ $duser ]; then%0a drawterm -r /var/empty -G -u $duser%0aelse%0a drawterm -r /var/empty -G -u glenda%0afi%0a@]%0a%0acreate a user for connecting into, for example, "drawterm". then append the following to /etc/ssh/sshd_config%0a[@%0aMatch User drawterm%0a ForceCommand sshdraw.sh%0a X11Forwarding no%0a AllowTcpForwarding no%0a AllowAgentForwarding no%0a@] +time=1636041254 +author:1636041254=meeekeeef +csum:1636041254=ssh bad >:[ +diff:1636041254:1636041226:=1c1%0a%3c '+This is likely to be insecure+'%0a---%0a> '+This might be insecure+'%0a +host:1636041254=198.251.81.133 +author:1636041226=meeekeeef +diff:1636041226:1636041134:=1,2d0%0a%3c '+This might be insecure+'%0a%3c %0a +host:1636041226=198.251.81.133 +author:1636041134=meeekeeef +csum:1636041134=yeah, i hate ssh. how could you tell? +diff:1636041134:1636041134:=1,25d0%0a%3c install drawterm or conterm.%0a%3c [@%0a%3c $ doas pkg_add drawterm%0a%3c @]%0a%3c currently, drawterm doesn't ask for username on OpenBSD. however, you can emulate it easily.%0a%3c [@%0a%3c $ cat /usr/local/bin/sshdraw.sh%0a%3c #!/bin/sh%0a%3c echo -n 'user[glenda]:'%0a%3c read duser%0a%3c if [ $duser ]; then%0a%3c drawterm -r /var/empty -G -u $duser%0a%3c else%0a%3c drawterm -r /var/empty -G -u glenda%0a%3c fi%0a%3c @]%0a%3c %0a%3c create a user for connecting into, for example, "drawterm". then append the following to /etc/ssh/sshd_config%0a%3c [@%0a%3c Match User drawterm%0a%3c ForceCommand sshdraw.sh%0a%3c X11Forwarding no%0a%3c AllowTcpForwarding no%0a%3c AllowAgentForwarding no%0a%3c @]%0a\ No newline at end of file%0a +host:1636041134=198.251.81.133 blob - /dev/null blob + 79258c5a073b71a7b5ac643399b0e1d07017613f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Dump @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0 +author=Hawk +charset=UTF-8 +csum= +ctime=1607165727 +host=2001:8a0:6813:4501:cde4:df17:5501:f119 +name=Openbsd.Dump +rev=16 +targets= +text=(:title Dump:)%0a%0aDump is a very useful tool for backing up entire partitions on OpenBSD. It can be done remotely.%0a%0a'''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%0a!! Dump Primer%0a%0a[[https://man.openbsd.org/dump|dump]] is a classic BSD tool for backing up entire filesystems.%0a%0aBefore you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a%0a[@%0a$ df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd0a 1005M 111M 844M 12%25 /%0a/dev/sd0k 192G 28.7G 153G 16%25 /home%0a/dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a/dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a/dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a@]%0a%0aDumping /home will require at least 28.7G of space.%0a%0aHere's a simple way to dump your /home folder:%0a%0a[@%0a$ doas dump -a -f home.dmp /home%0a@]%0a%0aThis will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a%0aTo restore from the dump file to the current directory, first check the size of the dump:%0a%0a[@%0a$ du -sh home.dmp%0a29G home.dmp%0a@]%0a%0aWe will need at least 29G of disk space in order to restore @@home.dmp@@.%0a%0a[@%0a$ doas restore -rf home.dmp%0a@]%0a%0a@@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a%0a'''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a%0a!! nodump flags%0a%0aSome files do not need to be backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a%0a[@%0a$ chflags nodump /path/to/file%0a$ ls -lo /path/to/file%0a-rw------- 1 username group nodump 4452 Dec 29 18:53 file%0a@]%0a%0aFor example, if you never edit or store any irreplaceable files in /usr, you can run:%0a%0a[@%0a$ doas chflags -R nodump /usr%0a$ ls -lo /usr%0adrwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0adrwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0adrwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0adrwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0adrwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a...%0a@]%0a%0aTo remove the nodump flag, run:%0a%0a[@%0a$ chflags -R dump /path/to/file%0a$ ls -lo /path/to/file%0a-rw------- 1 username group - 4452 Dec 29 18:53 file%0a@]%0a%0a!! Options%0a%0aLet's add some helpful options:%0a%0a[@%0a$ doas dump -0 -a -h 0 -f home.dmp /home%0a@]%0a%0a@@-0@@ requests a full backup (a complete copy of the file system). You can use @@-1@@, @@-2@@ and so forth to perform an incremental backup: only files that are new or modified since the last dump of a lower level are copied.%0a%0a@@-h 0@@ makes dump obey @@nodump@@ flags for dumps at or above level 0 (in other words, always obey nodump flags).%0a%0a!! Dump over SSH%0a%0aYou can dump to standard output instead of to a file by specifying @@-f -@@:%0a%0a'''WARNING''': Do not actually run the next line of code, or else your screen will be garbled and your system may crash. Type @@ctrl+c@@ to cancel if you already have.%0a%0a[@%0a$ doas dump -0 -a -h 0 -f - /home%0a@]%0a%0aWe can redirect standard output to a file:%0a%0a[@%0a$ doas dump -0 -a -h 0 -f - /home > home.dmp%0a@]%0a%0aWe can use a remote host to run the dump command using ssh, then redirect the standard output to a file:%0a%0a[@%0a$ ssh example.ircnow.org "doas dump -0 -a -h 0 -f - /home" > home.dmp%0a@]%0a%0aWe take this idea and create a script with it in the next section.%0a%0a!! Complete Functions%0a%0aPut the following functions at the end of ~/.profile:%0a%0a[@%0adump-ssh () {%0a echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a read $cancel%0a ssh $1 "doas dump -0 -a -h 0 -f - /" > root.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /home" > home.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /home/vmm" > vmm.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /mnt" > mnt.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /var" > var.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a ssh $1 "doas dump -0 -a -h 0 -f - /usr" > usr.dmp%0a date > date%0a md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a}%0a%0adump-local () {%0a echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a read $cancel%0a doas dump -0 -a -h 0 -f - / > root.dmp%0a doas dump -0 -a -h 0 -f - /home > home.dmp%0a doas dump -0 -a -h 0 -f - /home/vmm > vmm.dmp%0a doas dump -0 -a -h 0 -f - /mnt > mnt.dmp%0a doas dump -0 -a -h 0 -f - /var > var.dmp%0a doas dump -0 -a -h 0 -f - /var/www/htdocs > htdocs.dmp%0a doas dump -0 -a -h 0 -f - /usr > usr.dmp%0a date > date%0a md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a}%0a@]%0a%0a@@dump-local@@ will make a complete local backup of the current system, and @@dump-ssh@@ will make a complete remote backup of the server you specify.%0a%0a'''WARNING''': If you have any other partitions besides the ones in the function, you must add them, or the partition will '''not''' get backed up.%0a%0aSource it, then call it on the server:%0a%0a[@%0a$ . ~/.profile%0a$ dump-ssh example.ircnow.org%0a$ dump-local%0a@] +time=1639673802 +title=Dump +author:1639673802=Hawk +diff:1639673802:1620899845:=52,53c52,53%0a%3c Some files do not need to be backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a%3c %0a---%0a> Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a> %0a57c57%0a%3c -rw------- 1 username group nodump 4452 Dec 29 18:53 file%0a---%0a> -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a78c78%0a%3c -rw------- 1 username group - 4452 Dec 29 18:53 file%0a---%0a> -rw------- 1 username username - 4452 Dec 29 18:53 file%0a106c106%0a%3c $ doas dump -0 -a -h 0 -f - /home > home.dmp%0a---%0a> $ doas dump -0 -a -h 0 -f - /home > usr.dmp%0a158c158%0a%3c $ . ~/.profile%0a---%0a> $ . .profile%0a +host:1639673802=2001:8a0:6813:4501:cde4:df17:5501:f119 +author:1620899845=jrmu +diff:1620899845:1620899805:=100c100%0a%3c $ doas dump -0 -a -h 0 -f - /home%0a---%0a> $ doas dump -0 -a -u -h 0 -f - /home%0a106c106%0a%3c $ doas dump -0 -a -h 0 -f - /home > usr.dmp%0a---%0a> $ doas dump -0 -a -u -h 0 -f - /home > usr.dmp%0a112c112%0a%3c $ ssh example.ircnow.org "doas dump -0 -a -h 0 -f - /home" > home.dmp%0a---%0a> $ ssh example.ircnow.org "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a +host:1620899845=125.231.64.76 +author:1620899805=jrmu +diff:1620899805:1609649457:=86c86%0a%3c $ doas dump -0 -a -h 0 -f home.dmp /home%0a---%0a> $ doas dump -0 -a -u -h 0 -f home.dmp /home%0a90a91,92%0a> @@-u@@ update the file /etc/dumpdates to record a successful dump (it's needed to keep track of incremental dumps).%0a> %0a125,131c127,133%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /home/vmm" > vmm.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -h 0 -f - /usr" > usr.dmp%0a---%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a139,145c141,147%0a%3c doas dump -0 -a -h 0 -f - / > root.dmp%0a%3c doas dump -0 -a -h 0 -f - /home > home.dmp%0a%3c doas dump -0 -a -h 0 -f - /home/vmm > vmm.dmp%0a%3c doas dump -0 -a -h 0 -f - /mnt > mnt.dmp%0a%3c doas dump -0 -a -h 0 -f - /var > var.dmp%0a%3c doas dump -0 -a -h 0 -f - /var/www/htdocs > htdocs.dmp%0a%3c doas dump -0 -a -h 0 -f - /usr > usr.dmp%0a---%0a> doas dump -0 -a -u -h 0 -f - / > root.dmp%0a> doas dump -0 -a -u -h 0 -f - /home > home.dmp%0a> doas dump -0 -a -u -h 0 -f - /home/vmm > vmm.dmp%0a> doas dump -0 -a -u -h 0 -f - /mnt > mnt.dmp%0a> doas dump -0 -a -u -h 0 -f - /var > var.dmp%0a> doas dump -0 -a -u -h 0 -f - /var/www/htdocs > htdocs.dmp%0a> doas dump -0 -a -u -h 0 -f - /usr > usr.dmp%0a +host:1620899805=125.231.64.76 +author:1609649457=jrmu +diff:1609649457:1609649261:=27d26%0a%3c [@%0a29,30c28%0a%3c @]%0a%3c %0a---%0a> %0a42d39%0a%3c [@%0a44,45c41%0a%3c @]%0a%3c %0a---%0a> %0a85d80%0a%3c [@%0a87,88c82%0a%3c @]%0a%3c %0a---%0a> %0a98a93%0a> %0a119,122c114,117%0a%3c !! Complete Functions%0a%3c %0a%3c Put the following functions at the end of ~/.profile:%0a%3c %0a---%0a> !! Complete Function%0a> %0a> Put the following function at the end of ~/.profile:%0a> %0a153,156d147%0a%3c @@dump-local@@ will make a complete local backup of the current system, and @@dump-ssh@@ will make a complete remote backup of the server you specify.%0a%3c %0a%3c '''WARNING''': If you have any other partitions besides the ones in the function, you must add them, or the partition will '''not''' get backed up.%0a%3c %0a162,163c153%0a%3c $ dump-local%0a%3c @]%0a\ No newline at end of file%0a---%0a> @]%0a +host:1609649457=125.231.63.134 +author:1609649261=jrmu +diff:1609649261:1609648745:=81,82c81,82%0a%3c $ doas dump -0 -a -u -h 0 -f home.dmp /home%0a%3c %0a---%0a> $ doas dump -0 -a -u -h 0 -f /home.dmp%0a> %0a91,95c91,114%0a%3c You can dump to standard output instead of to a file by specifying @@-f -@@:%0a%3c %0a%3c %0a%3c '''WARNING''': Do not actually run the next line of code, or else your screen will be garbled and your system may crash. Type @@ctrl+c@@ to cancel if you already have.%0a%3c %0a---%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a> %0a> !! Complete Functions%0a> %0a> To backup filesystems over the internet, we can use dump and then pipe it over ssh.%0a> %0a> Put the following function at the end of ~/.profile:%0a> %0a> dump-ssh () {%0a> echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a> read $cancel%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a> date > date%0a> md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a> }%0a> %0a> Source it, then call it on the server:%0a> %0a97c116,117%0a%3c $ doas dump -0 -a -u -h 0 -f - /home%0a---%0a> $ . .profile%0a> $ dump-ssh example.ircnow.org%0a100,119c120%0a%3c We can redirect standard output to a file:%0a%3c %0a%3c [@%0a%3c $ doas dump -0 -a -u -h 0 -f - /home > usr.dmp%0a%3c @]%0a%3c %0a%3c We can use a remote host to run the dump command using ssh, then redirect the standard output to a file:%0a%3c %0a%3c [@%0a%3c $ ssh example.ircnow.org "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c @]%0a%3c %0a%3c We take this idea and create a script with it in the next section.%0a%3c %0a%3c !! Complete Function%0a%3c %0a%3c Put the following function at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c dump-ssh () {%0a---%0a> dump-local () {%0a122,135d122%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a%3c %0a%3c dump-local () {%0a%3c echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a145,153c132%0a%3c }%0a%3c @]%0a%3c %0a%3c Source it, then call it on the server:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c $ dump-ssh example.ircnow.org%0a%3c @]%0a---%0a> }%0a\ No newline at end of file%0a +host:1609649261=125.231.63.134 +author:1609648745=jrmu +diff:1609648745:1609648158:=7,12c7,10%0a%3c !! Dump Primer%0a%3c %0a%3c [[https://man.openbsd.org/dump|dump]] is a classic BSD tool for backing up entire filesystems.%0a%3c %0a%3c Before you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a%3c %0a---%0a> !! nodump flags%0a> %0a> Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a> %0a14,20c12,14%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a---%0a> $ chflags nodump /path/to/file%0a> $ ls -lo /path/to/file%0a> -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a23,32c17,18%0a%3c Dumping /home will require at least 28.7G of space.%0a%3c %0a%3c Here's a simple way to dump your /home folder:%0a%3c %0a%3c $ doas dump -a -f home.dmp /home%0a%3c %0a%3c This will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a%3c %0a%3c To restore from the dump file to the current directory, first check the size of the dump:%0a%3c %0a---%0a> For example, if you never edit or store any irreplaceable files in /usr, you can run:%0a> %0a34,35c20,27%0a%3c $ du -sh home.dmp%0a%3c 29G home.dmp%0a---%0a> $ doas chflags -R nodump /usr%0a> $ ls -lo /usr%0a> drwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0a> drwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0a> drwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0a> drwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0a> drwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a> ...%0a38,49c30,31%0a%3c We will need at least 29G of disk space in order to restore @@home.dmp@@.%0a%3c %0a%3c $ doas restore -rf home.dmp%0a%3c %0a%3c @@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a%3c %0a%3c '''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a%3c %0a%3c !! nodump flags%0a%3c %0a%3c Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a%3c %0a---%0a> To remove the nodump flag, run:%0a> %0a51c33%0a%3c $ chflags nodump /path/to/file%0a---%0a> $ chflags -R dump /path/to/file%0a53c35%0a%3c -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a---%0a> -rw------- 1 username username - 4452 Dec 29 18:53 file%0a56,57c38,43%0a%3c For example, if you never edit or store any irreplaceable files in /usr, you can run:%0a%3c %0a---%0a> !! Dump Primer%0a> %0a> [[https://man.openbsd.org/dump|dump]] is a classic BSD tool for backing up entire filesystems.%0a> %0a> Before you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a> %0a59,66c45,51%0a%3c $ doas chflags -R nodump /usr%0a%3c $ ls -lo /usr%0a%3c drwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0a%3c drwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0a%3c drwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0a%3c drwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0a%3c drwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a%3c ...%0a---%0a> $ df -h%0a> Filesystem Size Used Avail Capacity Mounted on%0a> /dev/sd0a 1005M 111M 844M 12%25 /%0a> /dev/sd0k 192G 28.7G 153G 16%25 /home%0a> /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a> /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a> /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a69,70c54,63%0a%3c To remove the nodump flag, run:%0a%3c %0a---%0a> Dumping /home will require at least 28.7G of space.%0a> %0a> Here's a simple way to dump your /home folder:%0a> %0a> $ doas dump -a -f home.dmp /home%0a> %0a> This will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a> %0a> To restore from the dump file to the current directory, first check the size of the dump:%0a> %0a72,74c65,66%0a%3c $ chflags -R dump /path/to/file%0a%3c $ ls -lo /path/to/file%0a%3c -rw------- 1 username username - 4452 Dec 29 18:53 file%0a---%0a> $ du -sh home.dmp%0a> 29G home.dmp%0a77,88c69,105%0a%3c !! Options%0a%3c %0a%3c Let's add some helpful options:%0a%3c %0a%3c $ doas dump -0 -a -u -h 0 -f /home.dmp%0a%3c %0a%3c @@-0@@ requests a full backup (a complete copy of the file system). You can use @@-1@@, @@-2@@ and so forth to perform an incremental backup: only files that are new or modified since the last dump of a lower level are copied.%0a%3c %0a%3c @@-u@@ update the file /etc/dumpdates to record a successful dump (it's needed to keep track of incremental dumps).%0a%3c %0a%3c @@-h 0@@ makes dump obey @@nodump@@ flags for dumps at or above level 0 (in other words, always obey nodump flags).%0a%3c %0a---%0a> We will need at least 29G of disk space in order to restore @@home.dmp@@.%0a> %0a> $ doas restore -rf home.dmp%0a> %0a> @@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a> %0a> '''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a> %0a> !!%0a> %0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a> $ dump%0a> dump examines files on a filesystem and determines which files need to be%0a> backed up. These files are copied to the given disk, tape or other%0a> storage medium for safe keeping. A dump that is larger than the output%0a> medium is broken into multiple volumes. On most media the size is%0a> determined by writing until an end-of-media indication is returned. This%0a> can be enforced by using the -a option.%0a> %0a> %0a> %0a> $ dump -0%0a> %0a> -0-9 Dump levels. A level 0, full backup, guarantees the entire file%0a> system is copied (but see also the -h option below). A level%0a> number above 0, incremental backup, tells dump to copy all files%0a> new or modified since the last dump of a lower level. The%0a> default level is 0.%0a> %0a> will backup at level 0%0a> %0a> $ dump -f %3cfile>%0a> %0a> $ dump -f %3cfile> -h 0%0a> %0a> $ dump -f %3cfile> -h 0 %3cfiles>%0a> %0a90,93d106%0a%3c %0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c %0a%3c !! Complete Functions%0a +host:1609648745=125.231.63.134 +author:1609648158=jrmu +diff:1609648158:1609646036:=42,55d41%0a%3c Before you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a%3c %0a%3c [@%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a%3c @]%0a%3c %0a%3c Dumping /home will require at least 28.7G of space.%0a%3c %0a58,77c44,48%0a%3c $ doas dump -a -f home.dmp /home%0a%3c %0a%3c This will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a%3c %0a%3c To restore from the dump file to the current directory, first check the size of the dump:%0a%3c %0a%3c [@%0a%3c $ du -sh home.dmp%0a%3c 29G home.dmp%0a%3c @]%0a%3c %0a%3c We will need at least 29G of disk space in order to restore @@home.dmp@@.%0a%3c %0a%3c $ doas restore -rf home.dmp%0a%3c %0a%3c @@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a%3c %0a%3c '''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a%3c %0a%3c !!%0a---%0a> $ doas dump -f home.dmp /home%0a> %0a> This will create home.dmp in your current directory. To restore it:%0a> %0a> $ doas restore %0a +host:1609648158=125.231.63.134 +author:1609646036=jrmu +diff:1609646036:1609644554:=37,75d36%0a%3c %0a%3c !! Dump Primer%0a%3c %0a%3c [[https://man.openbsd.org/dump|dump]] is a classic BSD tool for backing up entire filesystems.%0a%3c %0a%3c Here's a simple way to dump your /home folder:%0a%3c %0a%3c $ doas dump -f home.dmp /home%0a%3c %0a%3c This will create home.dmp in your current directory. To restore it:%0a%3c %0a%3c $ doas restore %0a%3c %0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c $ dump%0a%3c dump examines files on a filesystem and determines which files need to be%0a%3c backed up. These files are copied to the given disk, tape or other%0a%3c storage medium for safe keeping. A dump that is larger than the output%0a%3c medium is broken into multiple volumes. On most media the size is%0a%3c determined by writing until an end-of-media indication is returned. This%0a%3c can be enforced by using the -a option.%0a%3c %0a%3c %0a%3c %0a%3c $ dump -0%0a%3c %0a%3c -0-9 Dump levels. A level 0, full backup, guarantees the entire file%0a%3c system is copied (but see also the -h option below). A level%0a%3c number above 0, incremental backup, tells dump to copy all files%0a%3c new or modified since the last dump of a lower level. The%0a%3c default level is 0.%0a%3c %0a%3c will backup at level 0%0a%3c %0a%3c $ dump -f %3cfile>%0a%3c %0a%3c $ dump -f %3cfile> -h 0%0a%3c %0a%3c $ dump -f %3cfile> -h 0 %3cfiles>%0a +host:1609646036=125.231.63.134 +author:1609644554=jrmu +diff:1609644554:1609644482:=12c12%0a%3c $ chflags nodump /path/to/file%0a---%0a> $ doas chflags nodump /path/to/file%0a +host:1609644554=125.231.63.134 +author:1609644482=jrmu +diff:1609644482:1609593215:=3c3%0a%3c Dump is a very useful tool for backing up entire partitions on OpenBSD. It can be done remotely.%0a---%0a> Dump is a very useful tool for backup entire partitions on OpenBSD. It can be done remotely.%0a +host:1609644482=125.231.63.134 +author:1609593215=jrmu +diff:1609593215:1609592698:=49c49%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a---%0a> ssh $1 "doas dump -0 -a -u -h 0 -f - /home/sftp" > sftp.dmp%0a55c55%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a---%0a> md5 root.dmp home.dmp sftp.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a57a58%0a> %0a63,77c64%0a%3c @]%0a%3c %0a%3c dump-local () {%0a%3c echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c doas dump -0 -a -u -h 0 -f - / > root.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /home > home.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /home/vmm > vmm.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /mnt > mnt.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /var > var.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /var/www/htdocs > htdocs.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /usr > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1609593215=125.231.63.134 +author:1609592698=jrmu +diff:1609592698:1609591043:=55c55%0a%3c md5 root.dmp home.dmp sftp.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a---%0a> md5 root.dmp home.dmp var.dmp usr.dmp date > md5%0a57d56%0a%3c %0a +host:1609592698=125.231.63.134 +author:1609591043=jrmu +diff:1609591043:1609590769:=38,45c38,41%0a%3c !! Dump over SSH%0a%3c %0a%3c To backup filesystems over the internet, we can use dump and then pipe it over ssh.%0a%3c %0a%3c Put the following function at the end of ~/.profile:%0a%3c %0a%3c dump-ssh () {%0a%3c echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a---%0a> The following "dump over ssh" script may be useful. Put it at the end of ~/.profile:%0a> %0a> function dump-ssh {%0a> echo "dumping in $PWD: y/n"%0a +host:1609591043=125.231.63.134 +author:1609590769=jrmu +diff:1609590769:1609590487:=34c34%0a%3c $ ls -lo /path/to/file%0a---%0a> tw$ ls -lo /path/to/file%0a +host:1609590769=125.231.63.134 +author:1609590487=jrmu +diff:1609590487:1607165727:=1,37d0%0a%3c (:title Dump:)%0a%3c %0a%3c Dump is a very useful tool for backup entire partitions on OpenBSD. It can be done remotely.%0a%3c %0a%3c '''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%3c %0a%3c !! nodump flags%0a%3c %0a%3c Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a%3c %0a%3c [@%0a%3c $ doas chflags nodump /path/to/file%0a%3c $ ls -lo /path/to/file%0a%3c -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a%3c @]%0a%3c %0a%3c For example, if you never edit or store any irreplaceable files in /usr, you can run:%0a%3c %0a%3c [@%0a%3c $ doas chflags -R nodump /usr%0a%3c $ ls -lo /usr%0a%3c drwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0a%3c drwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0a%3c drwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0a%3c drwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0a%3c drwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a%3c ...%0a%3c @]%0a%3c %0a%3c To remove the nodump flag, run:%0a%3c %0a%3c [@%0a%3c $ chflags -R dump /path/to/file%0a%3c tw$ ls -lo /path/to/file%0a%3c -rw------- 1 username username - 4452 Dec 29 18:53 file%0a%3c @]%0a%3c %0a +host:1609590487=125.231.63.134 +author:1607165727=jrmu +diff:1607165727:1607165727:=1,22d0%0a%3c The following "dump over ssh" script may be useful. Put it at the end of ~/.profile:%0a%3c %0a%3c function dump-ssh {%0a%3c echo "dumping in $PWD: y/n"%0a%3c read $cancel%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/sftp" > sftp.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp var.dmp usr.dmp date > md5%0a%3c }%0a%3c %0a%3c Source it, then call it on the server:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c $ dump-ssh example.ircnow.org%0a%3c @]%0a\ No newline at end of file%0a +host:1607165727=38.81.163.7 blob - /dev/null blob + 26b04d20944c1c9d607291605b631c5e4283a056 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Easyapp @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1601381639 +host=38.81.163.143 +name=Openbsd.Easyapp +rev=1 +targets= +text=httpd.conf needs URL rewriting:%0a%0alocation match "/schedule/(.*php)(.*)" { %0a request rewrite "/schedule/%251?%252" %0a} %0a +time=1601381639 +author:1601381639=jrmu +diff:1601381639:1601381639:=1,5d0%0a%3c httpd.conf needs URL rewriting:%0a%3c %0a%3c location match "/schedule/(.*php)(.*)" { %0a%3c request rewrite "/schedule/%251?%252" %0a%3c } %0a +host:1601381639=38.81.163.143 blob - /dev/null blob + 60a14624fbc20257596f75d2d331a73db580bb8d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ed @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1624864985 +host=198.251.81.133 +name=Openbsd.Ed +rev=8 +targets= +text=ed is a simple text editor, which can be used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0aNote that most of content of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, with help of @artsi0m on telegram. but this document won't explain ed commands and features completely, please read that.%0a%0aed has two modes, first one is command mode, which is default mode when you open ed, second one is input mode, which is used for adding text into your file like any other editor.%0a%0a! input mode%0aas mentioned before, input mode is where you change the text directly using stdin of your terminal.%0abelow, are few examples of commands can used to start input mode:%0a%0a|| border=1%0a|| a || append text the end of file ||%0a|| i || insert text to current line ||%0a|| c || change and replace current line ||%0a%0anote that you can exit input mode and switching back to command mode using a single dot (.) on a blank line and length of file will shown afterwards. for example:%0a[@%0a$ ed file%0ai%0aHello, world.%0a.%0a14%0a@]%0a%0a%0a! basic examples%0aopening a file:%0a%0a[@%0a$ ed file%0a@]%0a%0ausing a custom prompt:%0a[@%0a$ ed -p '~' file%0a@]%0a%0ausing ed without noise, suitable for usage on scripts:%0a[@%0a$ ed -s file%0a@]%0a%0a! basic ed commands%0a%0anote that you can combine some (if not all?) commands, like wq for writing and quitting.%0a%0a|| border=1%0a|| a || append, for adding text into the end of your file (or buffer). ||%0a|| e || opens first argument as file to edit (!command is accepted). cleans buffer before doing this. if there is no argument, uses default file name (see f). ||%0a|| E || like e, but won't show warnings about unwritten changes ||%0a|| f || sets default filename (see f) ||%0a|| H || prints error explanation for next errors ||%0a|| h || prints error explanation for the last error ||%0a|| n || same as p, but shows with line numbers. ||%0a|| p || means print, to show the file you are editing. ||%0a|| P || toggles prompt, enabled only when you've used -p while executing ed || %0a|| Q || like q, but won't show you a warning about unsaved stuff ||%0a|| q || quits ed ||%0a|| u || undo, only saves last thing (this includes undo too, of course) ||%0a|| r || read from file (or !command), can take a address. (like 9r will open 9th line) ||%0a|| w || writes buffer into file ||%0a|| = || works like wc -l ||%0a|| any number || switches to that line, for example 9 will switch to 9th line of file ( or buffer?) ||%0a%0a! advanced ed commands%0a|| border=1%0a|| m,nd || deletes mth line until nth line in buffer ||%0a|| m,nG/re/ || finds and moves on lines which include regular expression re from mth line, until nth line ||%0a|| m,nj || joins all lines from mth line to nth line ||%0a|| m.ng/re/command || finds all lines containing re regular expression and executes (ed) command on them. ||%0a|| s/re/replacements || replaces all all "re"'s with replacements ||%0a|| m.nV/re/ || like G, but reverse (all lines that does not contain re) ||%0a%0a! ed symbols%0a|| border=1%0a|| , or %25 || all lines from first line until current line ||%0a|| ?? || repeats last search done by ?re? ||%0a|| ?re? || previous line containing regular expression re ||%0a|| -n or ^n || nth previous line ||%0a|| - or ^ || previous line ||%0a|| n || nthn line in buffer ||%0a|| . || current line ||%0a|| $ || last line in buffer ||%0a|| +n || n line upper ||%0a|| /re/ || next line containing regular expression re ||%0a|| // || repeats last search done by /re/ ||%0a|| + || one line upper ||%0a|| %25 || file name ||%0a|| 'lc || shows (book?)marked line in buffer (see k command) ||%0a%0a%0a +time=1624896250 +author:1624896250=mkf +diff:1624896250:1624892920:=2,3c2,3%0a%3c Note that most of content of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, with help of @artsi0m on telegram. but this document won't explain ed commands and features completely, please read that.%0a%3c %0a---%0a> Note that most of content of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, but this document won't explain ed commands and features completely, please read that.%0a> %0a74d73%0a%3c || border=1%0a88,90c87%0a%3c || 'lc || shows (book?)marked line in buffer (see k command) ||%0a%3c %0a%3c %0a---%0a> || 'lc || shows (book?)marked line in buffer (see k command) ||%0a\ No newline at end of file%0a +host:1624896250=198.251.81.133 +author:1624892920=mkf +csum:1624892920=grammer +diff:1624892920:1624868632:minor=2,3c2,3%0a%3c Note that most of content of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, but this document won't explain ed commands and features completely, please read that.%0a%3c %0a---%0a> note that most of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, but this document won't explain ed commands and features completely, please read that.%0a> %0a15c15%0a%3c note that you can exit input mode and switching back to command mode using a single dot (.) on a blank line and length of file will shown afterwards. for example:%0a---%0a> note that you can exit input mode and switching back to command mode using a single dot (.) on a blank line and length of file shown afterwards. for example:%0a +host:1624892920=198.251.81.133 +author:1624868632=mkf +diff:1624868632:1624867071:=15c15%0a%3c note that you can exit input mode and switching back to command mode using a single dot (.) on a blank line and length of file shown afterwards. for example:%0a---%0a> note that you can exit input mode and switching back to command mode using a single dot (.) on a line and length of file shown afterwards. for example:%0a +host:1624868632=198.251.81.133 +author:1624867071=mkf +csum:1624867071=%25 +diff:1624867071:1624866826:minor=86d85%0a%3c || %25 || file name ||%0a +host:1624867071=198.251.81.133 +author:1624866826=mkf +diff:1624866826:1624865735:=1c1%0a%3c ed is a simple text editor, which can be used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0a---%0a> ed is a simple text editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0a +host:1624866826=198.251.81.133 +author:1624865735=mkf +diff:1624865735:1624865581:=23a24,25%0a> some characters has special meaning on ed, for example.%0a> . (dot) means current line, or -n means nth previous line.%0a +host:1624865735=198.251.81.133 +author:1624865581=mkf +diff:1624865581:1624864985:minor=1c1%0a%3c ed is a simple text editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0a---%0a> ed is a simple editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0a +host:1624865581=198.251.81.133 +author:1624864985=mkf +csum:1624864985=Hello! +diff:1624864985:1624864985:=1,88d0%0a%3c ed is a simple editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not available.%0a%3c note that most of this page has taken from [[https://man.openbsd.org/ed|ed(1)]] man page, but this document won't explain ed commands and features completely, please read that.%0a%3c %0a%3c ed has two modes, first one is command mode, which is default mode when you open ed, second one is input mode, which is used for adding text into your file like any other editor.%0a%3c %0a%3c ! input mode%0a%3c as mentioned before, input mode is where you change the text directly using stdin of your terminal.%0a%3c below, are few examples of commands can used to start input mode:%0a%3c %0a%3c || border=1%0a%3c || a || append text the end of file ||%0a%3c || i || insert text to current line ||%0a%3c || c || change and replace current line ||%0a%3c %0a%3c note that you can exit input mode and switching back to command mode using a single dot (.) on a line and length of file shown afterwards. for example:%0a%3c [@%0a%3c $ ed file%0a%3c i%0a%3c Hello, world.%0a%3c .%0a%3c 14%0a%3c @]%0a%3c %0a%3c some characters has special meaning on ed, for example.%0a%3c . (dot) means current line, or -n means nth previous line.%0a%3c %0a%3c ! basic examples%0a%3c opening a file:%0a%3c %0a%3c [@%0a%3c $ ed file%0a%3c @]%0a%3c %0a%3c using a custom prompt:%0a%3c [@%0a%3c $ ed -p '~' file%0a%3c @]%0a%3c %0a%3c using ed without noise, suitable for usage on scripts:%0a%3c [@%0a%3c $ ed -s file%0a%3c @]%0a%3c %0a%3c ! basic ed commands%0a%3c %0a%3c note that you can combine some (if not all?) commands, like wq for writing and quitting.%0a%3c %0a%3c || border=1%0a%3c || a || append, for adding text into the end of your file (or buffer). ||%0a%3c || e || opens first argument as file to edit (!command is accepted). cleans buffer before doing this. if there is no argument, uses default file name (see f). ||%0a%3c || E || like e, but won't show warnings about unwritten changes ||%0a%3c || f || sets default filename (see f) ||%0a%3c || H || prints error explanation for next errors ||%0a%3c || h || prints error explanation for the last error ||%0a%3c || n || same as p, but shows with line numbers. ||%0a%3c || p || means print, to show the file you are editing. ||%0a%3c || P || toggles prompt, enabled only when you've used -p while executing ed || %0a%3c || Q || like q, but won't show you a warning about unsaved stuff ||%0a%3c || q || quits ed ||%0a%3c || u || undo, only saves last thing (this includes undo too, of course) ||%0a%3c || r || read from file (or !command), can take a address. (like 9r will open 9th line) ||%0a%3c || w || writes buffer into file ||%0a%3c || = || works like wc -l ||%0a%3c || any number || switches to that line, for example 9 will switch to 9th line of file ( or buffer?) ||%0a%3c %0a%3c ! advanced ed commands%0a%3c || border=1%0a%3c || m,nd || deletes mth line until nth line in buffer ||%0a%3c || m,nG/re/ || finds and moves on lines which include regular expression re from mth line, until nth line ||%0a%3c || m,nj || joins all lines from mth line to nth line ||%0a%3c || m.ng/re/command || finds all lines containing re regular expression and executes (ed) command on them. ||%0a%3c || s/re/replacements || replaces all all "re"'s with replacements ||%0a%3c || m.nV/re/ || like G, but reverse (all lines that does not contain re) ||%0a%3c %0a%3c ! ed symbols%0a%3c || , or %25 || all lines from first line until current line ||%0a%3c || ?? || repeats last search done by ?re? ||%0a%3c || ?re? || previous line containing regular expression re ||%0a%3c || -n or ^n || nth previous line ||%0a%3c || - or ^ || previous line ||%0a%3c || n || nthn line in buffer ||%0a%3c || . || current line ||%0a%3c || $ || last line in buffer ||%0a%3c || +n || n line upper ||%0a%3c || /re/ || next line containing regular expression re ||%0a%3c || // || repeats last search done by /re/ ||%0a%3c || + || one line upper ||%0a%3c || 'lc || shows (book?)marked line in buffer (see k command) ||%0a\ No newline at end of file%0a +host:1624864985=198.251.81.133 blob - /dev/null blob + 99ff96265a778b60d450eca11b965b97a8447f0a (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ed,del-1624607607 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=ED IS STANDARD EDITOR! +ctime=1624607357 +host=198.251.81.133 +name=Openbsd.Ed +rev=1 +targets= +text=ed is a simple editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not avaliable.%0a# examples%0aopening a file:%0a[@%0a$ ed file%0a@]%0a%0ausing a custom prompt:%0a[@%0a$ ed -p 'ed> ' file%0a@]%0a%0ausing ed without noise, suitable for usage on scripts:%0a[@%0a$ ed -s file%0a@]%0a%0a# ed commands%0aa means append, for adding text into the end of your file.%0ap means print, to show the file you are editing.%0an same as p, but shows with line numbers.%0ae can used for editing files, if you have not opend them using [@ ed file @] +time=1624607357 +author:1624607357=mkf +csum:1624607357=ED IS STANDARD EDITOR! +diff:1624607357:1624607357:=1,22d0%0a%3c ed is a simple editor, which can used where usage of a terminal is not supported, or visual editors (such as vi) are not avaliable.%0a%3c # examples%0a%3c opening a file:%0a%3c [@%0a%3c $ ed file%0a%3c @]%0a%3c %0a%3c using a custom prompt:%0a%3c [@%0a%3c $ ed -p 'ed> ' file%0a%3c @]%0a%3c %0a%3c using ed without noise, suitable for usage on scripts:%0a%3c [@%0a%3c $ ed -s file%0a%3c @]%0a%3c %0a%3c # ed commands%0a%3c a means append, for adding text into the end of your file.%0a%3c p means print, to show the file you are editing.%0a%3c n same as p, but shows with line numbers.%0a%3c e can used for editing files, if you have not opend them using [@ ed file @]%0a\ No newline at end of file%0a +host:1624607357=198.251.81.133 blob - /dev/null blob + bcdc973d5206a7e7b12338b404ac632b5c5ba0bb (mode 644) --- /dev/null +++ wiki.d/Openbsd.Eggdrop @@ -0,0 +1,41 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1597743978 +host=125.231.34.36 +name=Openbsd.Eggdrop +rev=9 +targets=Openbsd.Tcltls +text=(:redirect Eggdrop.Install:)%0aTo install eggdrop:%0a%0a[@%0a$ cd ~%0a$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a$ sha256 eggdrop-1.8.4.tar.gz%0a@]%0a%0aThe SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a%0a[@%0a$ tar xvzf eggdrop-1.8.4.tar.gz%0a$ rm eggdrop-1.8.4.tar.gz%0a$ cd eggdrop-1.8.4%0a$ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a$ make config%0a$ make%0a$ make install%0a$ cd ~%0a$ cd eggdrop%0a@]%0a%0aEdit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a[@%0a$ ./eggdrop -m %3cconfiguration filename>.conf%0a@]%0a%0aTo verify the signature:%0a%0a[@%0a$ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a@]%0a%0a%0aAn Example for below configuration file.%0a%0a[@%0aCore Setting Example:%0a%0aset admin "ABC" %0aset nick "Shooter" %0aset altnick "Shooter_" %0aset realname "Channel Bot"%0a%0aAN example of Set Server:%0a%0aset network "ircnow" %0aset net-type "5"%0aset init-server { putserv "mode Shooter i" }%0aset default-port 6667%0aset servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a@]%0a%0a%0aHere is a simple configuration file to use.%0aJust make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0aStrings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%0a%0a[@%0a### Core Settings ### %0a%0aset admin "OWNERNICK" %0aset nick "BOTNICK" %0aset altnick "ALTBOTNICK" %0aset realname "CHANNEL BOT"%0a%0a#### SERVER MODULE ####%0a# What is your network?%0a# Type = Network Name%0a# 0 = EFnet%0a# 1 = IRCnet%0a# 2 = Undernet%0a# 3 = DALnet%0a# 4 = +e/+I/max-modes 20 Hybrid%0a# 5 = Others%0a %0aset network "NETWORK NAME" %0aset net-type "5" %0aset init-server { putserv "mode BOTNICK i" } %0aset default-port 6667 %0aset servers {%0a YOU.NEED.TO.CHANGE.THIS:6667%0a ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a SSL.EXAMPLE.NET:+6697%0a}%0aset timezone "GMT" %0aset offset "0" %0aset env(TZ) "$timezone $offset" %0aset my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0aset my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a%0a### Logfile Settings ### %0a%0aset max-logs 5 %0aset max-logsize 0 %0aset quick-logs 0 %0aset raw-log 0%0alogfile mcobxs * "logs/BOTNICK.log"%0alogfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0aset log-time 1 %0aset keep-all-logs 1 %0aset logfile-suffix ".%25d%25b%25Y"%0aset switch-logfiles-at 300 %0aset quiet-save 0 %0a%0a### Console Settings ### %0a%0aset console "mkcobxs" %0a%0a### File & Directory Settings ### %0a# Replace "BOTNICK" below with your bot nick.%0a%0aset userfile "BOTNICK.user" %0aset pidfile "pid.BOTNICK" %0aset chanfile "BOTNICK.chan" %0aset force-expire 0 %0aset share-greet 0 %0aset use-info 1 %0aset sort-users 0 %0aset help-path "help/" %0aset text-path "text/" %0aset temp-path "/tmp" %0aset motd "text/motd" %0aset telnet-banner "text/banner" %0aset userfile-perm 0600 %0aset mod-path "modules/" %0a%0a##### BOTNET/DCC/TELNET #####%0a# Replace "BOTNICK" below with your bot nick.%0a%0aset botnet-nick "BOTNICK" %0a%0a# If you wish to use only one port, use this format:%0a# listen 3333 all%0a# change the port number in order to open%0a# the listen port. You should not keep this set to 3333.%0a# Put your shell/server listening port below and uncomment it. (remove # )%0a%0a#listen 1337 all %0aset remote-boots 0 %0aset shareunlinks 0- %0aset protect-telnet 1 %0aset dcc-sanitycheck 1 %0aset ident-timeout 0 %0aset require-p 1 %0aset open-telnets 1 %0aset stealth-telnets 0 %0aset use-telnet-banner 0 %0aset connect-timeout 30 %0aset dcc-flood-thr 3 %0aset telnet-flood 5:60 %0aset paranoid-telnet-flood 1 %0aset resolve-timeout 15 %0a%0a### Channel Settings ### %0a%0aloadmodule channels %0aset default-flood-chan 15:60%0aset default-flood-deop 3:10%0aset default-flood-kick 3:10%0aset default-flood-join 5:60%0aset default-flood-ctcp 3:60%0aset default-flood-nick 5:60%0aset default-aop-delay 0:00%0aset default-idle-kick 0%0aset default-chanmode "nt"%0aset default-stopnethack-mode 0%0aset default-revenge-mode 0%0aset default-ban-type 3%0aset default-ban-time 120%0aset default-exempt-time 60%0aset default-invite-time 60%0a%0aset default-chanset {%0a -autoop -autovoice%0a -bitch +cycle%0a +dontkickops +dynamicbans%0a +dynamicexempts +dynamicinvites%0a -enforcebans +greet%0a -inactive -nodesynch%0a -protectfriends +protectops%0a -revenge -revengebot%0a -secret -seen%0a +shared -statuslog%0a +userbans +userexempts%0a +userinvites -protecthalfops%0a -autohalfop -static%0a}%0a%0a# Replace your channel name with below-mentioned CHANNELNAME%0a%0achannel add #CHANNELNAME { %0achanmode "+tn" %0aidle-kick 0 %0aflood-chan 5:4 %0aflood-join 5:10 %0aflood-ctcp 3:60 %0aflood-deop 0:0 %0aflood-kick 0:0 } %0achannel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a%0a%0a### Advanced Settings ### %0a%0aset ignore-time 5 %0aset hourly-updates 00 %0a%0a# Replace Your nick name with below mention “OWNERNICK”%0a%0aset owner "OWNERNICK" %0a%0a# Also replace below mention port no 1337 with your listening port no.%0a%0aset notify-newusers "1337" %0a%0aset default-flags "hp" %0aset whois-fields "url birthday" %0aset die-on-sighup 0 %0aset die-on-sigterm 1%0a%0a%0a# if you wish to disable the .tcl and .set commands.%0a# Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a%0a#unbind dcc n tcl *dcc:tcl %0a#unbind dcc n set *dcc:set %0aset muste-owner 1%0aunbind dcc n simul *dcc:simul %0aset max-dcc 50 %0aset enable-simul 1 %0aset allow-dk-cmds 1 %0aset dupwait-timeout 5 %0a%0a### Module Settings ### %0aloadmodule dns%0aloadmodule transfer %0aloadmodule share %0aloadmodule server %0aloadmodule ctcp %0aloadmodule irc %0aloadmodule notes %0aloadmodule console %0aloadmodule blowfish %0acheckmodule blowfish %0aloadmodule uptime %0aloadmodule channels%0aset keep-nick 1 %0aset strict-host 0 %0aset quiet-reject 1 %0aset lowercase-ctcp 0 %0aset answer-ctcp 3 %0aset flood-msg 5:5 %0aset flood-ctcp 3:60 %0aset never-give-up 1 %0aset strict-servernames 0 %0aset server-cycle-wait 60 %0aset server-timeout 60 %0aset servlimit 0 %0aset check-stoned 1 %0aset use-console-r 0 %0aset debug-output 0 %0aset serverror-quit 1 %0aset max-queue-msg 300 %0aset trigger-on-ignore 0 %0aset double-mode 0 %0aset double-server 0 %0aset double-help 0 %0aset optimize-kicks 1 %0aset stack-limit 4 %0aset ctcp-mode 0 %0aset bounce-bans 1 %0aset bounce-modes 0 %0aset max-bans 100 %0aset max-modes 30 %0aset kick-fun 0 %0aset ban-fun 0 %0aset learn-users 0 %0aset wait-split 600 %0aset wait-info 180 %0aset mode-buf-length 200 %0abind msg - ident *msg:ident %0abind msg - addhost *msg:addhost %0aset no-chanrec-info 0 %0aset bounce-exempts 0 %0aset bounce-invites 0 %0aset max-exempts 20 %0aset max-invites 20 %0aset prevent-mixing 1 %0aset max-dloads 3 %0aset dcc-block 1024 %0aset copy-to-tmp 1 %0aset xfer-timeout 30 %0aset share-compressed 1 %0aset max-notes 50 %0aset note-life 60 %0aset allow-fwd 0 %0aset notify-users 1 %0aset notify-onjoin 1 %0aset console-autosave 1 %0aset force-channel 0 %0aset info-party 0 %0a%0a### Script Settings ### %0a# For additional TCL scripts, addition can be made under Script Settings .%0a# You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a# and then can add below line as source scripts/example.tcl%0a# Resash the eggdrop after adding the scripts to work.%0a%0asource scripts/alltools.tcl %0asource scripts/action.fix.tcl %0asource scripts/cmd_resolve.tcl %0asource scripts/compat.tcl%0a@]%0a%0a!! Troubleshooting%0a%0aCheck logs/ for error messages.%0a%0a# [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0aThis is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a +time=1625196047 +author:1625196047=jrmu +diff:1625196047:1617253462:=1d0%0a%3c (:redirect Eggdrop.Install:)%0a322c321%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a---%0a> This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a\ No newline at end of file%0a +host:1625196047=125.231.34.36 +author:1617253462=jrmu +diff:1617253462:1609860506:=15c15%0a%3c $ ./configure --with-tcllib=/usr/local/lib/libtcl86.so.1.8%0a---%0a> $ ./configure%0a +host:1617253462=125.224.23.84 +author:1609860506=jrmu +diff:1609860506:1598953279:=314,321c314%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Check logs/ for error messages.%0a%3c %0a%3c # [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)\\%0a%3c This is due to an obsolete [[openbsd/tcltls|tcltls]]. You'll need to compile the latest release from source.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1609860506=125.231.63.134 +author:1598953279=jrmu +diff:1598953279:1597969626:=3a4%0a> $ doas pkg_add tcl-8.6.8p2%0a +host:1598953279=38.81.163.143 +author:1597969626=jrmu +diff:1597969626:1597959715:=1,2c1,2%0a%3c To install eggdrop:%0a%3c %0a---%0a> Before the install, add the TCL package via %0a> %0a4,7c4,19%0a%3c $ doas pkg_add tcl-8.6.8p2%0a%3c $ cd ~%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a%3c $ sha256 eggdrop-1.8.4.tar.gz%0a---%0a> doas pkg_add TCL%0a> @]%0a> %0a> If it asks%0a> %0a> [@%0a> Ambiguous: choose package for tcl%0a> a 0: %3cNone>%0a> 1: tcl-8.5.19p4%0a> 2: tcl-8.6.8p2%0a> @]%0a> Then select option 2.%0a> %0a> Then proceed to the install. To install eggdrop:%0a> %0a> [@%0a +host:1597969626=38.81.163.143 +author:1597959715=gry +csum:1597959715=+ +diff:1597959715:1597959675:=6,15d5%0a%3c %0a%3c If it asks%0a%3c %0a%3c [@%0a%3c Ambiguous: choose package for tcl%0a%3c a 0: %3cNone>%0a%3c 1: tcl-8.5.19p4%0a%3c 2: tcl-8.6.8p2%0a%3c @]%0a%3c Then select option 2.%0a +host:1597959715=203.129.25.247 +author:1597959675=gry +diff:1597959675:1597959668:=5c5%0a%3c @]%0a---%0a> $]%0a +host:1597959675=203.129.25.247 +author:1597959668=gry +csum:1597959668=tcl instructions +diff:1597959668:1597743978:=1,7c1,2%0a%3c Before the install, add the TCL package via %0a%3c %0a%3c [@%0a%3c doas pkg_add TCL%0a%3c $]%0a%3c %0a%3c Then proceed to the install. To install eggdrop:%0a---%0a> To install eggdrop:%0a> %0a +host:1597959668=203.129.25.247 +author:1597743978=jrmu +diff:1597743978:1597743978:=1,314d0%0a%3c To install eggdrop:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz%0a%3c $ sha256 eggdrop-1.8.4.tar.gz%0a%3c @]%0a%3c %0a%3c The SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e%0a%3c %0a%3c [@%0a%3c $ tar xvzf eggdrop-1.8.4.tar.gz%0a%3c $ rm eggdrop-1.8.4.tar.gz%0a%3c $ cd eggdrop-1.8.4%0a%3c $ ./configure%0a%3c $ make config%0a%3c $ make%0a%3c $ make install%0a%3c $ cd ~%0a%3c $ cd eggdrop%0a%3c @]%0a%3c %0a%3c Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:%0a%3c [@%0a%3c $ ./eggdrop -m %3cconfiguration filename>.conf%0a%3c @]%0a%3c %0a%3c To verify the signature:%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF%0a%3c @]%0a%3c %0a%3c %0a%3c An Example for below configuration file.%0a%3c %0a%3c [@%0a%3c Core Setting Example:%0a%3c %0a%3c set admin "ABC" %0a%3c set nick "Shooter" %0a%3c set altnick "Shooter_" %0a%3c set realname "Channel Bot"%0a%3c %0a%3c AN example of Set Server:%0a%3c %0a%3c set network "ircnow" %0a%3c set net-type "5"%0a%3c set init-server { putserv "mode Shooter i" }%0a%3c set default-port 6667%0a%3c set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } %0a%3c @]%0a%3c %0a%3c %0a%3c Here is a simple configuration file to use.%0a%3c Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example.%0a%3c Strings with # as prefix are comments. Edit & save this config with your botname.conf .%0a%3c %0a%3c %0a%3c [@%0a%3c ### Core Settings ### %0a%3c %0a%3c set admin "OWNERNICK" %0a%3c set nick "BOTNICK" %0a%3c set altnick "ALTBOTNICK" %0a%3c set realname "CHANNEL BOT"%0a%3c %0a%3c #### SERVER MODULE ####%0a%3c # What is your network?%0a%3c # Type = Network Name%0a%3c # 0 = EFnet%0a%3c # 1 = IRCnet%0a%3c # 2 = Undernet%0a%3c # 3 = DALnet%0a%3c # 4 = +e/+I/max-modes 20 Hybrid%0a%3c # 5 = Others%0a%3c %0a%3c set network "NETWORK NAME" %0a%3c set net-type "5" %0a%3c set init-server { putserv "mode BOTNICK i" } %0a%3c set default-port 6667 %0a%3c set servers {%0a%3c YOU.NEED.TO.CHANGE.THIS:6667%0a%3c ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY%0a%3c SSL.EXAMPLE.NET:+6697%0a%3c }%0a%3c set timezone "GMT" %0a%3c set offset "0" %0a%3c set env(TZ) "$timezone $offset" %0a%3c set my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE IT BLANK" %0a%3c set my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE IT BLANK" %0a%3c %0a%3c ### Logfile Settings ### %0a%3c %0a%3c set max-logs 5 %0a%3c set max-logsize 0 %0a%3c set quick-logs 0 %0a%3c set raw-log 0%0a%3c logfile mcobxs * "logs/BOTNICK.log"%0a%3c logfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"%0a%3c set log-time 1 %0a%3c set keep-all-logs 1 %0a%3c set logfile-suffix ".%25d%25b%25Y"%0a%3c set switch-logfiles-at 300 %0a%3c set quiet-save 0 %0a%3c %0a%3c ### Console Settings ### %0a%3c %0a%3c set console "mkcobxs" %0a%3c %0a%3c ### File & Directory Settings ### %0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set userfile "BOTNICK.user" %0a%3c set pidfile "pid.BOTNICK" %0a%3c set chanfile "BOTNICK.chan" %0a%3c set force-expire 0 %0a%3c set share-greet 0 %0a%3c set use-info 1 %0a%3c set sort-users 0 %0a%3c set help-path "help/" %0a%3c set text-path "text/" %0a%3c set temp-path "/tmp" %0a%3c set motd "text/motd" %0a%3c set telnet-banner "text/banner" %0a%3c set userfile-perm 0600 %0a%3c set mod-path "modules/" %0a%3c %0a%3c ##### BOTNET/DCC/TELNET #####%0a%3c # Replace "BOTNICK" below with your bot nick.%0a%3c %0a%3c set botnet-nick "BOTNICK" %0a%3c %0a%3c # If you wish to use only one port, use this format:%0a%3c # listen 3333 all%0a%3c # change the port number in order to open%0a%3c # the listen port. You should not keep this set to 3333.%0a%3c # Put your shell/server listening port below and uncomment it. (remove # )%0a%3c %0a%3c #listen 1337 all %0a%3c set remote-boots 0 %0a%3c set shareunlinks 0- %0a%3c set protect-telnet 1 %0a%3c set dcc-sanitycheck 1 %0a%3c set ident-timeout 0 %0a%3c set require-p 1 %0a%3c set open-telnets 1 %0a%3c set stealth-telnets 0 %0a%3c set use-telnet-banner 0 %0a%3c set connect-timeout 30 %0a%3c set dcc-flood-thr 3 %0a%3c set telnet-flood 5:60 %0a%3c set paranoid-telnet-flood 1 %0a%3c set resolve-timeout 15 %0a%3c %0a%3c ### Channel Settings ### %0a%3c %0a%3c loadmodule channels %0a%3c set default-flood-chan 15:60%0a%3c set default-flood-deop 3:10%0a%3c set default-flood-kick 3:10%0a%3c set default-flood-join 5:60%0a%3c set default-flood-ctcp 3:60%0a%3c set default-flood-nick 5:60%0a%3c set default-aop-delay 0:00%0a%3c set default-idle-kick 0%0a%3c set default-chanmode "nt"%0a%3c set default-stopnethack-mode 0%0a%3c set default-revenge-mode 0%0a%3c set default-ban-type 3%0a%3c set default-ban-time 120%0a%3c set default-exempt-time 60%0a%3c set default-invite-time 60%0a%3c %0a%3c set default-chanset {%0a%3c -autoop -autovoice%0a%3c -bitch +cycle%0a%3c +dontkickops +dynamicbans%0a%3c +dynamicexempts +dynamicinvites%0a%3c -enforcebans +greet%0a%3c -inactive -nodesynch%0a%3c -protectfriends +protectops%0a%3c -revenge -revengebot%0a%3c -secret -seen%0a%3c +shared -statuslog%0a%3c +userbans +userexempts%0a%3c +userinvites -protecthalfops%0a%3c -autohalfop -static%0a%3c }%0a%3c %0a%3c # Replace your channel name with below-mentioned CHANNELNAME%0a%3c %0a%3c channel add #CHANNELNAME { %0a%3c chanmode "+tn" %0a%3c idle-kick 0 %0a%3c flood-chan 5:4 %0a%3c flood-join 5:10 %0a%3c flood-ctcp 3:60 %0a%3c flood-deop 0:0 %0a%3c flood-kick 0:0 } %0a%3c channel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends%0a%3c %0a%3c %0a%3c ### Advanced Settings ### %0a%3c %0a%3c set ignore-time 5 %0a%3c set hourly-updates 00 %0a%3c %0a%3c # Replace Your nick name with below mention “OWNERNICK”%0a%3c %0a%3c set owner "OWNERNICK" %0a%3c %0a%3c # Also replace below mention port no 1337 with your listening port no.%0a%3c %0a%3c set notify-newusers "1337" %0a%3c %0a%3c set default-flags "hp" %0a%3c set whois-fields "url birthday" %0a%3c set die-on-sighup 0 %0a%3c set die-on-sigterm 1%0a%3c %0a%3c %0a%3c # if you wish to disable the .tcl and .set commands.%0a%3c # Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these%0a%3c %0a%3c #unbind dcc n tcl *dcc:tcl %0a%3c #unbind dcc n set *dcc:set %0a%3c set muste-owner 1%0a%3c unbind dcc n simul *dcc:simul %0a%3c set max-dcc 50 %0a%3c set enable-simul 1 %0a%3c set allow-dk-cmds 1 %0a%3c set dupwait-timeout 5 %0a%3c %0a%3c ### Module Settings ### %0a%3c loadmodule dns%0a%3c loadmodule transfer %0a%3c loadmodule share %0a%3c loadmodule server %0a%3c loadmodule ctcp %0a%3c loadmodule irc %0a%3c loadmodule notes %0a%3c loadmodule console %0a%3c loadmodule blowfish %0a%3c checkmodule blowfish %0a%3c loadmodule uptime %0a%3c loadmodule channels%0a%3c set keep-nick 1 %0a%3c set strict-host 0 %0a%3c set quiet-reject 1 %0a%3c set lowercase-ctcp 0 %0a%3c set answer-ctcp 3 %0a%3c set flood-msg 5:5 %0a%3c set flood-ctcp 3:60 %0a%3c set never-give-up 1 %0a%3c set strict-servernames 0 %0a%3c set server-cycle-wait 60 %0a%3c set server-timeout 60 %0a%3c set servlimit 0 %0a%3c set check-stoned 1 %0a%3c set use-console-r 0 %0a%3c set debug-output 0 %0a%3c set serverror-quit 1 %0a%3c set max-queue-msg 300 %0a%3c set trigger-on-ignore 0 %0a%3c set double-mode 0 %0a%3c set double-server 0 %0a%3c set double-help 0 %0a%3c set optimize-kicks 1 %0a%3c set stack-limit 4 %0a%3c set ctcp-mode 0 %0a%3c set bounce-bans 1 %0a%3c set bounce-modes 0 %0a%3c set max-bans 100 %0a%3c set max-modes 30 %0a%3c set kick-fun 0 %0a%3c set ban-fun 0 %0a%3c set learn-users 0 %0a%3c set wait-split 600 %0a%3c set wait-info 180 %0a%3c set mode-buf-length 200 %0a%3c bind msg - ident *msg:ident %0a%3c bind msg - addhost *msg:addhost %0a%3c set no-chanrec-info 0 %0a%3c set bounce-exempts 0 %0a%3c set bounce-invites 0 %0a%3c set max-exempts 20 %0a%3c set max-invites 20 %0a%3c set prevent-mixing 1 %0a%3c set max-dloads 3 %0a%3c set dcc-block 1024 %0a%3c set copy-to-tmp 1 %0a%3c set xfer-timeout 30 %0a%3c set share-compressed 1 %0a%3c set max-notes 50 %0a%3c set note-life 60 %0a%3c set allow-fwd 0 %0a%3c set notify-users 1 %0a%3c set notify-onjoin 1 %0a%3c set console-autosave 1 %0a%3c set force-channel 0 %0a%3c set info-party 0 %0a%3c %0a%3c ### Script Settings ### %0a%3c # For additional TCL scripts, addition can be made under Script Settings .%0a%3c # You can add any desire tcl script example.tcl file in scripits folder: /user/eggdrop/scripts %0a%3c # and then can add below line as source scripts/example.tcl%0a%3c # Resash the eggdrop after adding the scripts to work.%0a%3c %0a%3c source scripts/alltools.tcl %0a%3c source scripts/action.fix.tcl %0a%3c source scripts/cmd_resolve.tcl %0a%3c source scripts/compat.tcl%0a%3c @]%0a\ No newline at end of file%0a +host:1597743978=38.81.163.143 blob - /dev/null blob + f739983cd01951649f28fc329c9cb64f97500960 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Fdisk @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 +author=bejelentkezni +charset=UTF-8 +csum= +ctime=1621222027 +host=184.99.100.20 +name=Openbsd.Fdisk +rev=1 +targets= +text=(:title fdisk:)%0a%0a[[https://man.openbsd.org/fdisk|fdisk(8)]] is a disk partitioning utility. It is optionally used when installing OpenBSD to change the default partition layout of the disk.%0a%0a!!Usage%0a%0aConsult the man pages for fdisk(8), [[https://man.openbsd.org/disklabel|disklabel(8)]], and [[https://man.openbsd.org/fstab|fstab(5)]]. If you are familiar with Linux, read these twice, because they work a little differently in OpenBSD. +time=1621222027 +title=fdisk +author:1621222027=bejelentkezni +diff:1621222027:1621222027:=1,7d0%0a%3c (:title fdisk:)%0a%3c %0a%3c [[https://man.openbsd.org/fdisk|fdisk(8)]] is a disk partitioning utility. It is optionally used when installing OpenBSD to change the default partition layout of the disk.%0a%3c %0a%3c !!Usage%0a%3c %0a%3c Consult the man pages for fdisk(8), [[https://man.openbsd.org/disklabel|disklabel(8)]], and [[https://man.openbsd.org/fstab|fstab(5)]]. If you are familiar with Linux, read these twice, because they work a little differently in OpenBSD.%0a\ No newline at end of file%0a +host:1621222027=184.99.100.20 blob - /dev/null blob + 813b5e93fc0a53bd2d1c408ad1da9af43d649bc4 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Fdm @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745206 +host=38.81.163.143 +name=Openbsd.Fdm +rev=1 +targets= +text='''fdm''' stands for __fetch and deliver mail__. It fetches mail from a POP3 or IMAP server to your computer so you can read it locally using a mail client like bsd mail.%0a%0aIn ~/.fdm.conf:%0a%0a[@%0aset no-received # don't insert a ‘Received’ header into each mail%0aset verify-certificates # verify SSL certificates%0a# Catch-all action (mbox):%0aaction "inbox" mbox "/var/mail/%25u" # download mail in mbox format to /var/mail/user123%0a# Catch-all action (maildir):%0a#action "inbox" maildir "%25h/Mail/INBOX" # download mail in maildir format to ~/Mail/INBOX, but commented out%0a%0aaccount "user123" imaps server "imap.ircnow.org"%0a user "user123@ircnow.org" pass "pass123" new-only keep%0a%0a# Match all mail and deliver using the 'inbox' action.%0amatch all action "inbox"%0a@]%0a%0aReplace user123 and pass123 with your real username and password.%0a%0aFor extra user accounts, simply add another two lines:%0a%0a[@%0aaccount "user123" imaps server "imap.ircnow.org"%0a user "user123@ircnow.org" pass "pass123" new-only keep%0a@]%0a%0aMake sure you have the keep keyword, or else fdm will request the IMAP server to delete your mail. new-only tells fdm only to download new mail (and not all mail).%0a%0aTo fetch mail, simply run:%0a%0a[@%0a$ fdm -v fetch%0a@] +time=1597745206 +author:1597745206=jrmu +diff:1597745206:1597745206:=1,35d0%0a%3c '''fdm''' stands for __fetch and deliver mail__. It fetches mail from a POP3 or IMAP server to your computer so you can read it locally using a mail client like bsd mail.%0a%3c %0a%3c In ~/.fdm.conf:%0a%3c %0a%3c [@%0a%3c set no-received # don't insert a ‘Received’ header into each mail%0a%3c set verify-certificates # verify SSL certificates%0a%3c # Catch-all action (mbox):%0a%3c action "inbox" mbox "/var/mail/%25u" # download mail in mbox format to /var/mail/user123%0a%3c # Catch-all action (maildir):%0a%3c #action "inbox" maildir "%25h/Mail/INBOX" # download mail in maildir format to ~/Mail/INBOX, but commented out%0a%3c %0a%3c account "user123" imaps server "imap.ircnow.org"%0a%3c user "user123@ircnow.org" pass "pass123" new-only keep%0a%3c %0a%3c # Match all mail and deliver using the 'inbox' action.%0a%3c match all action "inbox"%0a%3c @]%0a%3c %0a%3c Replace user123 and pass123 with your real username and password.%0a%3c %0a%3c For extra user accounts, simply add another two lines:%0a%3c %0a%3c [@%0a%3c account "user123" imaps server "imap.ircnow.org"%0a%3c user "user123@ircnow.org" pass "pass123" new-only keep%0a%3c @]%0a%3c %0a%3c Make sure you have the keep keyword, or else fdm will request the IMAP server to delete your mail. new-only tells fdm only to download new mail (and not all mail).%0a%3c %0a%3c To fetch mail, simply run:%0a%3c %0a%3c [@%0a%3c $ fdm -v fetch%0a%3c @]%0a\ No newline at end of file%0a +host:1597745206=38.81.163.143 blob - /dev/null blob + 5403df54731acdecdfa3367e08d071ceac38bac8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.FilePermissions @@ -0,0 +1,124 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:85.0) Gecko/20100101 Firefox/85.0 +author=Nate S +charset=UTF-8 +csum= +ctime=1608358180 +host=199.66.14.109 +name=Openbsd.FilePermissions +rev=37 +targets=Openbsd.Setuid +text=(:title Secure File Permissions:)%0a%0a!! Who Privacy%0a%0aOn shell accounts, it is possible to snoop around to see which users are logged in and what their home IPs are:%0a%0a[@%0a$ who%0ausername1 ttyp0 Jan 25 03:17 (192.168.0.1)%0ausername2 ttyp6 Jan 25 03:35 (10.0.0.1)%0a@]%0a%0aThis is quite dangerous for user privacy, so we recommend disabling world read access%0a%0a[@%0a$ doas chmod o-rwx /var/run/utmp /var/log/wtmp*%0a$ who%0awho: /var/run/utmp: Permission denied%0a@]%0a%0aNow users cannot see other IPs so easily. The downside is that commands like uptime break also:%0a%0a[@%0a$ uptime%0auptime: /var/run/utmp: Permission denied%0a@]%0a%0aThere is unfortunately no way to prevent users from viewing other processes. See the mailing list archive. ([[https://marc.info/?l=openbsd-tech&m=148089896932537&w=2|marc.info]] and [[http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html|nabble.com]])%0a%0a!! Hiding logs%0a%0aWe want to hide our logs from prying eyes:%0a%0a[@%0a# chmod -R o-rwx /var/log/ /var/www/logs/%0a# chown -R _smtpd:_dovecot /etc/mail%0a# chmod -R o-rx /etc/mail%0a@]%0a%0a!! Hiding home folders%0a%0aMake sure to check file permissions for folders in /home:%0a%0a[@%0a# chmod o-rx /home/botnow%0a# usermod -G znc botnow%0a# usermod -G znc _identd%0a# chown -R znc:znc /home/znc%0a# chmod -R o-rx /home/znc/home/znc/.znc%0a@]%0a%0a!! Hiding /var%0a%0aHide data related to botnow:%0a%0a[@%0a# chown -R botnow:daemon /var/www/botnow/ /var/www/htdocs/botnow/%0a@]%0a%0a!! Hiding /etc%0a%0a[@%0a# cd /etc%0a# chmod -R o-rx X11 acme acme-client.conf adduser.conf amd authpf doas.conf%0a@]%0a%0a!! SUID Binaries%0a%0aCheck for any unexpected [[openbsd/setuid|SUID binaries]] with:%0a%0a[@%0a# find / -perm -4000%0a/usr/bin/chfn%0a/usr/bin/chpass%0a/usr/bin/chsh%0a/usr/bin/doas%0a/usr/bin/lpr%0a/usr/bin/lprm%0a/usr/bin/passwd%0a/usr/bin/su%0a/usr/libexec/auth/login_chpass%0a/usr/libexec/auth/login_lchpass%0a/usr/libexec/auth/login_passwd%0a/usr/libexec/lockspool%0a/usr/libexec/ssh-keysign%0a/usr/sbin/authpf%0a/usr/sbin/authpf-noip%0a/usr/sbin/pppd%0a/usr/sbin/traceroute%0a/usr/sbin/traceroute6%0a/sbin/ping%0a/sbin/ping6%0a/sbin/shutdown%0a@]%0a%0a'''WARNING''': If you see any other binaries, then watch out! You may want to delete packages that created those files, or delete the files themselves. These files may be a serious security risk to your server. %0a%0a'''WARNING''': If you installed LaTeX, this is the new setuid root program:%0a%0a[@%0a-rwsr-x--- 1 root _dbus - 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a@]%0a%0aTo prevent this:%0a%0a[@%0a$ doas chmod 0750 /usr/local/libexec/dbus-daemon-launch-helper %0a$ ls -lh /usr/local/libexec/dbus-daemon-launch-helper %0a-rwxr-x--- 1 root _dbus 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a@]%0a%0a!! Checking Group Permissions%0a%0a# Check /etc/groups to make sure that no unauthorized user is a member of wheel. Otherwise, they could use su to get root powers.%0a# As soon as a team member leaves make sure to remove retired teammates from wheel and doas.conf.%0a%0aCheck /etc/doas.conf to make sure only authorized users are added, and don't allow others to read doas.conf:%0a[@%0a$ doas chmod o-r /etc/doas.conf%0a@]%0a%0aIn /etc/ssh/sshd_config, turn off X11 forwarding%0a +time=1629426028 +title=Secure File Permissions +author:1629426028=Nate S +diff:1629426028:1629425839:=115c115%0a%3c # As soon as a team member leaves make sure to remove retired teammates from wheel and doas.conf.%0a---%0a> # Every month or so, make sure to remove retired teammates from wheel and doas.conf.%0a +host:1629426028=199.66.14.109 +author:1629425839=jrmu +diff:1629425839:1627997823:=114,115c114%0a%3c # Check /etc/groups to make sure that no unauthorized user is a member of wheel. Otherwise, they could use su to get root powers.%0a%3c # Every month or so, make sure to remove retired teammates from wheel and doas.conf.%0a---%0a> # Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a +host:1629425839=125.231.22.17 +author:1627997823=jrmu +diff:1627997823:1623222446:=97,110d96%0a%3c %0a%3c '''WARNING''': If you installed LaTeX, this is the new setuid root program:%0a%3c %0a%3c [@%0a%3c -rwsr-x--- 1 root _dbus - 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a%3c @]%0a%3c %0a%3c To prevent this:%0a%3c %0a%3c [@%0a%3c $ doas chmod 0750 /usr/local/libexec/dbus-daemon-launch-helper %0a%3c $ ls -lh /usr/local/libexec/dbus-daemon-launch-helper %0a%3c -rwxr-x--- 1 root _dbus 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a%3c @]%0a +host:1627997823=38.87.162.8 +author:1623222446=jrmu +diff:1623222446:1622797780:=36c36%0a%3c # chown -R _smtpd:_dovecot /etc/mail%0a---%0a> # chown -R _smtpd:_mail /etc/mail%0a +host:1623222446=38.81.163.143 +author:1622797780=jrmu +diff:1622797780:1612103535:=36c36%0a%3c # chown -R _smtpd:_mail /etc/mail%0a---%0a> # chown -R root:_dovecot /etc/mail%0a107c107%0a%3c In /etc/ssh/sshd_config, turn off X11 forwarding%0a---%0a> In /etc/ssh/sshd_config, turn off X11 forwarding%0a\ No newline at end of file%0a +host:1622797780=38.81.163.143 +author:1612103535=jrmu +diff:1612103535:1612102234:=64c64%0a%3c # chmod -R o-rx X11 acme acme-client.conf adduser.conf amd authpf doas.conf%0a---%0a> # chmod -R o-rx X11 acme acme-client.conf adduser.conf amd authpf%0a +host:1612103535=125.224.24.163 +author:1612102234=jrmu +diff:1612102234:1612097762:=60,61c60,61%0a%3c !! Hiding /etc%0a%3c %0a---%0a> Then hide:%0a> %0a63,64c63%0a%3c # cd /etc%0a%3c # chmod -R o-rx X11 acme acme-client.conf adduser.conf amd authpf%0a---%0a> %0a +host:1612102234=125.224.24.163 +author:1612097762=jrmu +diff:1612097762:1612009151:= +host:1612097762=125.224.24.163 +author:1612009151=fizi +diff:1612009151:1611818376:=45c45%0a%3c # chmod o-rx /home/botnow%0a---%0a> # chown o-rx /home/botnow%0a +host:1612009151=39.42.17.173 +author:1611818376=jrmu +diff:1611818376:1611818332:=54,55d53%0a%3c Hide data related to botnow:%0a%3c %0a57,63c55%0a%3c # chown -R botnow:daemon /var/www/botnow/ /var/www/htdocs/botnow/%0a%3c @]%0a%3c %0a%3c Then hide:%0a%3c %0a%3c [@%0a%3c %0a---%0a> $ doas chown -R botnow:daemon /var/www/botnow/ /var/www/htdocs/botnow/%0a +host:1611818376=125.231.24.226 +author:1611818332=jrmu +diff:1611818332:1611817793:=55c55%0a%3c $ doas chown -R botnow:daemon /var/www/botnow/ /var/www/htdocs/botnow/%0a---%0a> %0a +host:1611818332=125.231.24.226 +author:1611817793=jrmu +diff:1611817793:1611817371:=50,55d49%0a%3c @]%0a%3c %0a%3c !! Hiding /var%0a%3c %0a%3c [@%0a%3c %0a +host:1611817793=125.231.24.226 +author:1611817371=jrmu +diff:1611817371:1611817075:=83,87c83,92%0a%3c !! Checking Group Permissions%0a%3c %0a%3c # Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a%3c %0a%3c Check /etc/doas.conf to make sure only authorized users are added, and don't allow others to read doas.conf:%0a---%0a> First make sure to set quotas%0a> %0a> /home/username%0a> %0a> We symlinked /htdocs inside each user's home folder to /var/www/htdocs/%3cusername>%0a> %0a> We installed%0a> %0a> To set the user's default prompt to "username$ ", stick this into /etc/profile:%0a> %0a89c94%0a%3c $ doas chmod o-r /etc/doas.conf%0a---%0a> export PS1="`whoami`$ "%0a92c97,133%0a%3c In /etc/ssh/sshd_config, turn off X11 forwarding%0a\ No newline at end of file%0a---%0a> add login.conf rules%0a> %0a> For each new user:%0a> %0a> any new suid binary's with %0a> %0a> Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a> %0a> In /etc/ssh/sshd_config, turn off X11 forwarding%0a> %0a> Create symlinks for users so they don't complain:%0a> %0a> %3ccode>%0a> ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0a> ln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a> %3c/code>%0a> %0a> You will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a> %0a> %3ccode>%0a> # mkdir /var/www/etc/%0a> # cp /etc/resolv.conf /var/www/etc/%0a> # chown -R www:daemon /var/www/etc%0a> %3c/code>%0a> %0a> %0a> [@%0a> $ doas chown :daemon /etc/mail/passwd%0a> $ doas chmod o-rx /etc/mail/passwd%0a> $ ls -lha /etc/mail/passwd%0a> -rw-r----- 1 root daemon 737B Oct 20 16:16 passwd%0a> @]%0a> %0a> Don't allow others to read doas.conf:%0a> [@%0a> $ doas chmod o-r /etc/doas.conf%0a> @]%0a\ No newline at end of file%0a +host:1611817371=125.231.24.226 +author:1611817075=jrmu +diff:1611817075:1611804814:=54,55c54,55%0a%3c Check for any unexpected [[openbsd/setuid|SUID binaries]] with:%0a%3c %0a---%0a> Check any new SUID binaries with:%0a> %0a58,78d57%0a%3c /usr/bin/chfn%0a%3c /usr/bin/chpass%0a%3c /usr/bin/chsh%0a%3c /usr/bin/doas%0a%3c /usr/bin/lpr%0a%3c /usr/bin/lprm%0a%3c /usr/bin/passwd%0a%3c /usr/bin/su%0a%3c /usr/libexec/auth/login_chpass%0a%3c /usr/libexec/auth/login_lchpass%0a%3c /usr/libexec/auth/login_passwd%0a%3c /usr/libexec/lockspool%0a%3c /usr/libexec/ssh-keysign%0a%3c /usr/sbin/authpf%0a%3c /usr/sbin/authpf-noip%0a%3c /usr/sbin/pppd%0a%3c /usr/sbin/traceroute%0a%3c /usr/sbin/traceroute6%0a%3c /sbin/ping%0a%3c /sbin/ping6%0a%3c /sbin/shutdown%0a80,81d58%0a%3c %0a%3c '''WARNING''': If you see any other binaries, then watch out! You may want to delete packages that created those files, or delete the files themselves. These files may be a serious security risk to your server. %0a +host:1611817075=125.231.24.226 +author:1611804814=jrmu +diff:1611804814:1611804447:=40,41d39%0a%3c !! Hiding home folders%0a%3c %0a52,59d49%0a%3c !! SUID Binaries%0a%3c %0a%3c Check any new SUID binaries with:%0a%3c %0a%3c [@%0a%3c # find / -perm -4000%0a%3c @]%0a%3c %0a68,69c58,59%0a%3c To set the user's default prompt to "username$ ", stick this into /etc/profile:%0a%3c %0a---%0a> Inside /etc/httpd.conf:%0a> %0a71c61,64%0a%3c export PS1="`whoami`$ "%0a---%0a> location "/~username/*" {%0a> root "/htdocs/username"%0a> request strip 1%0a> }%0a73a67,76%0a> %0a> To set the user's default prompt to "username$ ", stick this into /etc/profile:%0a> %0a> [@%0a> export PS1="`whoami`$ "%0a> @]%0a> %0a> %0a> to turn accounting on.. only users love making use of it too%0a> %0a77a81,82%0a> In nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a> %0a78a84,86%0a> %3ccode>%0a> # find / -perm -4000%0a> %3c/code>%0a +host:1611804814=125.231.24.226 +author:1611804447=jrmu +diff:1611804447:1611802080:=47c47%0a%3c # chmod -R o-rx /home/znc/home/znc/.znc%0a---%0a> # chmod -R o-rx /home/znc%0a +host:1611804447=125.231.24.226 +author:1611802080=jrmu +diff:1611802080:1611801795:=81,83d80%0a%3c In nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a%3c %0a%3c any new suid binary's with %0a85c82,88%0a%3c # find / -perm -4000%0a---%0a> # adduser%0a> # chmod 700 /home/username /home/username/.ssh%0a> # chmod 600 /home/username/{.Xdefaults,.cshrc,.cvsrc,.login,.mailrc,.profile}%0a> # mkdir /var/www/htdocs/username%0a> # ln -s /var/www/htdocs/username /home/username/htdocs%0a> # chown username:username /var/www/htdocs/username /home/username/htdocs%0a> # edquota username%0a88,93c91,92%0a%3c Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a%3c %0a%3c In /etc/ssh/sshd_config, turn off X11 forwarding%0a%3c %0a%3c Create symlinks for users so they don't complain:%0a%3c %0a---%0a> In /etc/httpd.conf:%0a> %0a95,96c94,97%0a%3c ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0a%3c ln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a---%0a> location "/~username/*" {%0a> root "/htdocs/username"%0a> request strip 1 %0a> }%0a99,100c100,102%0a%3c You will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a%3c %0a---%0a> In nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a> %0a> any new suid binary's with %0a102,104c104%0a%3c # mkdir /var/www/etc/%0a%3c # cp /etc/resolv.conf /var/www/etc/%0a%3c # chown -R www:daemon /var/www/etc%0a---%0a> # find / -perm -4000%0a107c107,126%0a%3c %0a---%0a> Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a> %0a> In /etc/ssh/sshd_config, turn off X11 forwarding%0a> %0a> Create symlinks for users so they don't complain:%0a> %0a> %3ccode>%0a> ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0a> ln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a> %3c/code>%0a> %0a> You will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a> %0a> %3ccode>%0a> # mkdir /var/www/etc/%0a> # cp /etc/resolv.conf /var/www/etc/%0a> # chown -R www:daemon /var/www/etc%0a> %3c/code>%0a> %0a> %0a117a137,143%0a> @]%0a> %0a> Don't allow others to read inside .znc:%0a> %0a> [@%0a> $ doas chown -R znc:daemon /home/znc/home/znc/.znc/%0a> $ doas chmod -R o-rx /home/znc/home/znc/.znc/%0a +host:1611802080=125.231.24.226 +author:1611801795=jrmu +diff:1611801795:1611801768:=47c47%0a%3c # chmod -R o-rx /home/znc%0a---%0a> # chmod o-rx /home/znc%0a +host:1611801795=125.231.24.226 +author:1611801768=jrmu +diff:1611801768:1611801465:= +host:1611801768=125.231.24.226 +author:1611801465=jrmu +diff:1611801465:1611801381:=47c47%0a%3c # chmod o-rx /home/znc%0a---%0a> # chown o-rx /home/znc%0a +host:1611801465=125.231.24.226 +author:1611801381=jrmu +diff:1611801381:1611801256:=43,47c43%0a%3c # chown o-rx /home/botnow%0a%3c # usermod -G znc botnow%0a%3c # usermod -G znc _identd%0a%3c # chown -R znc:znc /home/znc%0a%3c # chown o-rx /home/znc%0a---%0a> # chown o-rx /home/{botnow,znc}%0a +host:1611801381=125.231.24.226 +author:1611801256=jrmu +diff:1611801256:1611800924:=43c43%0a%3c # chown o-rx /home/{botnow,znc}%0a---%0a> %0a +host:1611801256=125.231.24.226 +author:1611800924=jrmu +diff:1611800924:1611800853:=29a30%0a> %0a40,45d40%0a%3c Make sure to check file permissions for folders in /home:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a47a43,44%0a> Second, make sure to change file permissions for%0a> %0a62a60,64%0a> Update: hiding logs was causing problems%0a> %0a> We also hide logs in /var/logs and /var/www/logs%0a> %0a> [[Guava/Packages|Packages installed]]%0a +host:1611800924=125.231.24.226 +author:1611800853=jrmu +diff:1611800853:1611581528:=37d36%0a%3c # chown -R root:_dovecot /etc/mail%0a +host:1611800853=125.231.24.226 +author:1611581528=jrmu +diff:1611581528:1611580680:=36c36,40%0a%3c # chmod -R o-rwx /var/log/ /var/www/logs/%0a---%0a> # chmod -R o-rwx /var/log/%0a> # chmod -R o-rwx /var/www/logs/%0a> # chmod 640 /var/www/logs/*%0a> # chmod 750 /var/log%0a> # chmod o-rx /var/log/*%0a38a43%0a> %0a +host:1611581528=125.231.20.163 +author:1611580680=jrmu +diff:1611580680:1611580053:=16c16%0a%3c $ doas chmod o-rwx /var/run/utmp /var/log/wtmp*%0a---%0a> $ doas chmod o-rx /var/run/utmp /var/log/wtmp*%0a36,37c36,41%0a%3c # chmod -R o-rwx /var/log/%0a%3c # chmod -R o-rwx /var/www/logs/%0a---%0a> # chmod -R o-rx /var/log/%0a> @]%0a> %0a> %0a> [@%0a> # chmod 750 /var/www/logs/%0a +host:1611580680=125.231.20.163 +author:1611580053=jrmu +diff:1611580053:1611579892:=28c28%0a%3c There is unfortunately no way to prevent users from viewing other processes. See the mailing list archive. ([[https://marc.info/?l=openbsd-tech&m=148089896932537&w=2|marc.info]] and [[http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html|nabble.com]])%0a---%0a> There is unfortunately no way to prevent users from viewing other processes. See the mailing list archive. http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a +host:1611580053=125.231.20.163 +author:1611579892=jrmu +diff:1611579892:1611576507:=28,30d27%0a%3c There is unfortunately no way to prevent users from viewing other processes. See the mailing list archive. http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a%3c %0a%3c %0a33,34d29%0a%3c We want to hide our logs from prying eyes:%0a%3c %0a36c31%0a%3c # chmod -R o-rx /var/log/%0a---%0a> # chmod -R o-rx /var/log%0a38a34,36%0a> Seems like there is no way to hide processes from users:%0a> %0a> http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a +host:1611579892=125.231.20.163 +author:1611576507=jrmu +diff:1611576507:1611575852:=3,4c3,4%0a%3c !! Who Privacy%0a%3c %0a---%0a> !! User Privacy%0a> %0a13,14c13,14%0a%3c This is quite dangerous for user privacy, so we recommend disabling world read access%0a%3c %0a---%0a> This is quite dangerous for user privacy, so we recommend%0a> %0a16,31c16,18%0a%3c $ doas chmod o-rx /var/run/utmp /var/log/wtmp*%0a%3c $ who%0a%3c who: /var/run/utmp: Permission denied%0a%3c @]%0a%3c %0a%3c Now users cannot see other IPs so easily. The downside is that commands like uptime break also:%0a%3c %0a%3c [@%0a%3c $ uptime%0a%3c uptime: /var/run/utmp: Permission denied%0a%3c @]%0a%3c %0a%3c !! Hiding logs%0a%3c %0a%3c [@%0a%3c # chmod -R o-rx /var/log%0a---%0a> # chmod -R o-rx /var/log%0a> # chmod o-rx /var/run/utmp%0a> # chmod o-r /var/log/wtmp*%0a +host:1611576507=125.231.20.163 +author:1611575852=jrmu +diff:1611575852:1611575137:=3,33d2%0a%3c !! User Privacy%0a%3c %0a%3c On shell accounts, it is possible to snoop around to see which users are logged in and what their home IPs are:%0a%3c %0a%3c [@%0a%3c $ who%0a%3c username1 ttyp0 Jan 25 03:17 (192.168.0.1)%0a%3c username2 ttyp6 Jan 25 03:35 (10.0.0.1)%0a%3c @]%0a%3c %0a%3c This is quite dangerous for user privacy, so we recommend%0a%3c %0a%3c [@%0a%3c # chmod -R o-rx /var/log%0a%3c # chmod o-rx /var/run/utmp%0a%3c # chmod o-r /var/log/wtmp*%0a%3c @]%0a%3c %0a%3c Seems like there is no way to hide processes from users:%0a%3c %0a%3c http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a%3c %0a%3c [@%0a%3c # chmod 750 /var/www/logs/%0a%3c # chmod 640 /var/www/logs/*%0a%3c # chmod 750 /var/log%0a%3c # chmod o-rx /var/log/*%0a%3c # chmod -R o-rx /etc/mail%0a%3c @]%0a%3c %0a%3c %0a46c15%0a%3c [@%0a---%0a> %3ccode>%0a51,52c20,21%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a61c30%0a%3c [@%0a---%0a> %3ccode>%0a63,64c32,50%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a> # chmod -R o-rx /var/log%0a> # chmod o-rx /var/run/utmp%0a> # chmod o-r /var/log/wtmp*%0a> %3c/code>%0a> %0a> Seems like there is no way to hide processes from users:%0a> %0a> http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a> %0a> %3ccode>%0a> # chmod 750 /var/www/logs/%0a> # chmod 640 /var/www/logs/*%0a> # chmod 750 /var/log%0a> # chmod o-rx /var/log/*%0a> # chmod -R o-rx /etc/mail%0a> %3c/code>%0a +host:1611575852=125.231.20.163 +author:1611575137=jrmu +diff:1611575137:1610103342:=1,2d0%0a%3c (:title Secure File Permissions:)%0a%3c %0a +host:1611575137=125.231.20.163 +author:1610103342=jrmu +diff:1610103342:1610028178:=112,118d111%0a%3c @]%0a%3c %0a%3c Don't allow others to read inside .znc:%0a%3c %0a%3c [@%0a%3c $ doas chown -R znc:daemon /home/znc/home/znc/.znc/%0a%3c $ doas chmod -R o-rx /home/znc/home/znc/.znc/%0a +host:1610103342=125.224.19.86 +author:1610028178=jrmu +diff:1610028178:1610027869:=107,111d106%0a%3c @]%0a%3c %0a%3c Don't allow others to read doas.conf:%0a%3c [@%0a%3c $ doas chmod o-r /etc/doas.conf%0a +host:1610028178=125.231.63.134 +author:1610027869=jrmu +diff:1610027869:1609861668:=103d102%0a%3c $ doas chown :daemon /etc/mail/passwd%0a106c105%0a%3c -rw-r----- 1 root daemon 737B Oct 20 16:16 passwd%0a---%0a> -rw-r----- 1 root wheel 737B Oct 20 16:16 passwd%0a +host:1610027869=125.231.63.134 +author:1609861668=jrmu +diff:1609861668:1608358313:=99,106c99%0a%3c %3c/code>%0a%3c %0a%3c %0a%3c [@%0a%3c $ doas chmod o-rx /etc/mail/passwd%0a%3c $ ls -lha /etc/mail/passwd%0a%3c -rw-r----- 1 root wheel 737B Oct 20 16:16 passwd%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1609861668=125.231.63.134 +author:1608358313=jrmu +diff:1608358313:1608358180:=24c24%0a%3c [[Guava/Packages|Packages installed]]%0a---%0a> [[shell/packages|Packages installed]]%0a +host:1608358313=198.251.81.119 +author:1608358180=jrmu +diff:1608358180:1608358180:=1,99d0%0a%3c First make sure to set quotas%0a%3c %0a%3c Second, make sure to change file permissions for%0a%3c %0a%3c /home/username%0a%3c %0a%3c We symlinked /htdocs inside each user's home folder to /var/www/htdocs/%3cusername>%0a%3c %0a%3c We installed%0a%3c %0a%3c Inside /etc/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c location "/~username/*" {%0a%3c root "/htdocs/username"%0a%3c request strip 1%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Update: hiding logs was causing problems%0a%3c %0a%3c We also hide logs in /var/logs and /var/www/logs%0a%3c %0a%3c [[shell/packages|Packages installed]]%0a%3c %0a%3c To set the user's default prompt to "username$ ", stick this into /etc/profile:%0a%3c %0a%3c %3ccode>%0a%3c export PS1="`whoami`$ "%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # chmod -R o-rx /var/log%0a%3c # chmod o-rx /var/run/utmp%0a%3c # chmod o-r /var/log/wtmp*%0a%3c %3c/code>%0a%3c %0a%3c Seems like there is no way to hide processes from users:%0a%3c %0a%3c http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a%3c %0a%3c %3ccode>%0a%3c # chmod 750 /var/www/logs/%0a%3c # chmod 640 /var/www/logs/*%0a%3c # chmod 750 /var/log%0a%3c # chmod o-rx /var/log/*%0a%3c # chmod -R o-rx /etc/mail%0a%3c %3c/code>%0a%3c %0a%3c to turn accounting on.. only users love making use of it too%0a%3c %0a%3c add login.conf rules%0a%3c %0a%3c For each new user:%0a%3c %0a%3c %3ccode>%0a%3c # adduser%0a%3c # chmod 700 /home/username /home/username/.ssh%0a%3c # chmod 600 /home/username/{.Xdefaults,.cshrc,.cvsrc,.login,.mailrc,.profile}%0a%3c # mkdir /var/www/htdocs/username%0a%3c # ln -s /var/www/htdocs/username /home/username/htdocs%0a%3c # chown username:username /var/www/htdocs/username /home/username/htdocs%0a%3c # edquota username%0a%3c %3c/code>%0a%3c %0a%3c In /etc/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c location "/~username/*" {%0a%3c root "/htdocs/username"%0a%3c request strip 1 %0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c In nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a%3c %0a%3c any new suid binary's with %0a%3c %3ccode>%0a%3c # find / -perm -4000%0a%3c %3c/code>%0a%3c %0a%3c Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a%3c %0a%3c In /etc/ssh/sshd_config, turn off X11 forwarding%0a%3c %0a%3c Create symlinks for users so they don't complain:%0a%3c %0a%3c %3ccode>%0a%3c ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0a%3c ln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a%3c %3c/code>%0a%3c %0a%3c You will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a%3c %0a%3c %3ccode>%0a%3c # mkdir /var/www/etc/%0a%3c # cp /etc/resolv.conf /var/www/etc/%0a%3c # chown -R www:daemon /var/www/etc%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1608358180=198.251.81.119 blob - /dev/null blob + 9dc221385708a8a9bf7400783fa5ead5e7ee3676 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Gopher @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=craziness +charset=UTF-8 +csum= +ctime=1597545619 +host=2601:546:8200:3710::2ba +name=Openbsd.Gopher +rev=8 +targets= +text=https://sdfeu.org/w/tutorials:gopher%0a%0ahttps://codevoid.de%0a%0a[++ What is Gopher? ++]%0a----%0aGopher is a very old web protocol that is kept alive due to it having a developed community. Please note: The Gemini and Spartan protocols are different.%0a%0a[++ History ++]%0a%0a----%0a%0aI will do this tomorrow. Good night +time=1628305764 +author:1628305764=craziness +diff:1628305764:1609035998:=2,13c2%0a%3c %0a%3c https://codevoid.de%0a%3c %0a%3c [++ What is Gopher? ++]%0a%3c ----%0a%3c Gopher is a very old web protocol that is kept alive due to it having a developed community. Please note: The Gemini and Spartan protocols are different.%0a%3c %0a%3c [++ History ++]%0a%3c %0a%3c ----%0a%3c %0a%3c I will do this tomorrow. Good night%0a\ No newline at end of file%0a---%0a> https://codevoid.de%0a\ No newline at end of file%0a +host:1628305764=2601:546:8200:3710::2ba +author:1609035998=jrmu +diff:1609035998:1609035970:=1,2c1%0a%3c https://sdfeu.org/w/tutorials:gopher%0a%3c https://codevoid.de%0a\ No newline at end of file%0a---%0a> %0a +host:1609035998=198.251.81.119 +author:1609035970=jrmu +diff:1609035970:1597545697:=1a2%0a> !! Fear%0a +host:1609035970=198.251.81.119 +author:1597545697=jrmu +diff:1597545697:1597545678:=1,2c1%0a%3c %0a%3c !! Fear%0a---%0a> '+'+'+Fear+'+'+'%0a\ No newline at end of file%0a +host:1597545697=38.81.163.143 +author:1597545678=jrmu +diff:1597545678:1597545663:=1c1%0a%3c '+'+'+Fear+'+'+'%0a\ No newline at end of file%0a---%0a> '-'+'+Fear+'+'-'%0a\ No newline at end of file%0a +host:1597545678=38.81.163.143 +author:1597545663=jrmu +diff:1597545663:1597545639:=1c1%0a%3c '-'+'+Fear+'+'-'%0a\ No newline at end of file%0a---%0a> '+Fear+'%0a\ No newline at end of file%0a +host:1597545663=38.81.163.143 +author:1597545639=jrmu +diff:1597545639:1597545619:=1c1%0a%3c '+Fear+'%0a\ No newline at end of file%0a---%0a> Fear%0a\ No newline at end of file%0a +host:1597545639=38.81.163.143 +author:1597545619=jrmu +diff:1597545619:1597545619:=1d0%0a%3c Fear%0a\ No newline at end of file%0a +host:1597545619=38.81.163.143 blob - /dev/null blob + 5a2be5d3ce96f0a87e37a05aa64724cc437eb467 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Gophernicus @@ -0,0 +1,50 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1611819529 +host=198.251.81.133 +name=Openbsd.Gophernicus +rev=12 +targets= +text=Gopher is an application-layer protocol that provides the ability to extract and view and access various files on remote Web servers. Gopher was conceived in 1991 as one of the Internet’s first data/file access protocols to run on top of a TCP/IP network. It was developed at University of Minnesota and is named after the school's mascot.%0a%0aThere are many gopher server are available but many of them are not under development. Gophernicus is a one of the most modern, full-featured and secure gopher daemon.%0a%0a!!Installation%0a%0a[@%0a$ doas pkg_add gophernicus%0a@]%0a%0aYou need to create @@/etc/inetd.conf@@%0aAnd add the following line:%0a[@%0agopher stream tcp nowait nobody /usr/local/libexec/in.gophernicus in.gophernicus -h %3chostname>%0a@]%0a%0aChange %3chostname> to you actual hostname.%0a%0aEnable and start inetd%0a[@%0a$ doas rcctl enable inetd%0a$ doas rcctl start inetd%0a@]%0a%0aAnd you are all set.%0aPut some files under @@/var/gopher@@%0a%0aThen Fire up your gopher client pointing to your host.%0afor example:%0a[@%0alynx gopher://localhost%0a@]%0a%0a!!Configureation arguments%0a%0a!!!hostname%0aThis is by default attempted to be auto-detected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a%0a%0a!!!gopherroot%0aThe location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a%0a!!Post Install Configuration%0a%0aHere are all the options which can be use for post install configuration. you can user them only by typing %0a[@%0a$gophernicus -h example.com. %0a%0a-h hostname Change server hostname (FQDN) [$HOSTNAME]%0a%0a-p port Change server port [70]%0a%0a-T port Change TLS/SSL port [0 = disabled]%0a%0a-r root Change gopher root [/var/gopher]%0a%0a-t type Change default gopher filetype [0]%0a%0a-g mapfile Change gophermap file [gophermap]%0a%0a-a tagfile Change gophertag file [gophertag]%0a%0a-c cgidir Change CGI script directory [/cgi-bin/]%0a%0a-u userdir Change users personal gopherspace [public_gopher]%0a%0a-l logfile Log to Apache-compatible combined format logfile%0a%0a%0a-w width Change default page width [67]%0a%0a-o charset Change default output charset [UTF-8]%0a%0a%0a-s seconds Session timeout in seconds [1800]%0a%0a-i hits Maximum hits until throttling [4096]%0a%0a-k kbytes Maximum transfer until throttling [4194304]%0a%0a%0a-f filterdir Specify directory for output filters%0a%0a-e ext=type Map file extension to gopher filetype%0a%0a-R old=new Rewrite the beginning of a selector%0a%0a%0a-D text|file Set or load server description for caps.txt%0a%0a-L text|file Set or load server location for caps.txt%0a%0a-A admin Set admin email for caps.txt%0a%0a%0a-U paths Specify a colon-separated list of extra unveil(2) paths%0a%0a (OpenBSD only).%0a%0a-nv Disable virtual hosting%0a%0a-nl Disable parent directory links%0a%0a-nh Disable menu header (title)%0a%0a-nf Disable menu footer%0a%0a-nd Disable dates and filesizes in menus%0a%0a-nc Disable file content detection%0a%0a-no Disable charset conversion for output%0a%0a-nq Disable HTTP-style query strings (?query)%0a%0a-ns Disable logging to syslog%0a%0a-na Disable autogenerated caps.txt%0a%0a-nt Disable /server-status%0a%0a-nm Disable shared memory use (for debugging)%0a%0a-nr Disable root user checking (for debugging)%0a%0a-np Disable HAproxy proxy protocol%0a%0a-nx Disable execution of gophermaps and scripts%0a%0a-nu Disable personal gopherspaces%0a%0a%0a-d Debug output in syslog and /server-status%0a%0a-v Display version number and build date%0a%0a-b Display the BSD license%0a%0a-? Display this help %0a@] +time=1628993186 +author:1628993186=mkf +diff:1628993186:1628992764:=28,33c28,30%0a%3c Then Fire up your gopher client pointing to your host.%0a%3c for example:%0a%3c [@%0a%3c lynx gopher://localhost%0a%3c @]%0a%3c %0a---%0a> And fire up your gopher browser pointing to your host.%0a> lynx gopher://your-host-name%0a> %0a37,39c34,36%0a%3c This is by default attempted to be auto-detected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a%3c %0a%3c %0a---%0a> This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a> %0a> %0a46c43%0a%3c [@%0a---%0a> %0a140d136%0a%3c @]%0a\ No newline at end of file%0a +host:1628993186=198.251.81.133 +author:1628992764=mkf +diff:1628992764:1628992735:=33c33%0a%3c !!!hostname%0a---%0a> !!!hostname. %0a +host:1628992764=198.251.81.133 +author:1628992735=mkf +diff:1628992735:1628992669:=5,6c5%0a%3c !!Installation%0a%3c %0a---%0a> !!Installatio%0a31,38c30,35%0a%3c !!Configureation arguments%0a%3c %0a%3c !!!hostname. %0a%3c This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a%3c %0a%3c %0a%3c !!!gopherroot%0a%3c The location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a---%0a> !!Important configure arguments include%0a> %0a> !!!hostname. This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a> %0a> %0a> !!!gopherroot. The location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a +host:1628992735=198.251.81.133 +author:1628992669=mkf +diff:1628992669:1628304552:=5,10c5,11%0a%3c !!Installatio%0a%3c [@%0a%3c $ doas pkg_add gophernicus%0a%3c @]%0a%3c %0a%3c You need to create @@/etc/inetd.conf@@%0a---%0a> !!Installation :%0a> pkg_add -vr gophernicus%0a> %0a> You need to create the following file:%0a> %0a> vi /etc/inetd.conf%0a> %0a12c13%0a%3c [@%0a---%0a> %0a14,15c15%0a%3c @]%0a%3c %0a---%0a> %0a19,23c19,23%0a%3c [@%0a%3c $ doas rcctl enable inetd%0a%3c $ doas rcctl start inetd%0a%3c @]%0a%3c %0a---%0a> %0a> doas rcctl enable inetd%0a> %0a> doas rcctl start inetd%0a> %0a25,26c25,28%0a%3c Put some files under @@/var/gopher@@%0a%3c %0a---%0a> Put some files under%0a> %0a> /var/gopher%0a> %0a30,35c32,37%0a%3c !!Important configure arguments include%0a%3c %0a%3c !!!hostname. This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a%3c %0a%3c %0a%3c !!!gopherroot. The location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a---%0a> !!Important configure arguments include:%0a> %0a> --hostname. This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a> %0a> %0a> --gopherroot. The location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a +host:1628992669=198.251.81.133 +author:1628304552=craziness +csum:1628304552=lines accidentally combined +diff:1628304552:1628304317:=21d20%0a%3c %0a +host:1628304552=2601:546:8200:3710::2ba +author:1628304317=craziness +csum:1628304317=changed misspellings +diff:1628304317:1612172947:=16c16%0a%3c Change %3chostname> to you actual hostname.%0a---%0a> Change %3chosname> to you actuall hostname.%0a +host:1628304317=2601:546:8200:3710::2ba +author:1612172947=wiz +diff:1612172947:1612172672:= +host:1612172947=2a02:c7d:75fa:4000:8f2:abef:e135:d533 +author:1612172672=wiz +diff:1612172672:1611820918:=6,30c6,16%0a%3c pkg_add -vr gophernicus%0a%3c %0a%3c You need to create the following file:%0a%3c %0a%3c vi /etc/inetd.conf%0a%3c %0a%3c And add the following line:%0a%3c %0a%3c gopher stream tcp nowait nobody /usr/local/libexec/in.gophernicus in.gophernicus -h %3chostname>%0a%3c %0a%3c Change %3chosname> to you actuall hostname.%0a%3c %0a%3c Enable and start inetd%0a%3c %0a%3c doas rcctl enable inetd%0a%3c doas rcctl start inetd%0a%3c %0a%3c And you are all set.%0a%3c Put some files under%0a%3c %0a%3c /var/gopher%0a%3c %0a%3c And fire up your gopher browser pointing to your host.%0a%3c lynx gopher://your-host-name%0a%3c %0a---%0a> %0a> $ git clone -b 3.1.1 https://github.com/gophernicus/gophernicus.git%0a> %0a> $ cd gophernicus %0a> %0a> $ ./configure --listener=inetd%0a> %0a> $ make%0a> %0a> $ doas make install%0a> %0a32a19,21%0a> --listener. This is the only required argument. You must choose a listener that passes network requests to gophernicus, as gophernicus dosen't do this by itself. There are few other options but as we are using OPENBSD we are going to user inetd.%0a> %0a> %0a36a26,46%0a> %0a> Ao the command becomes like %0a> $ ./configure --listener=inetd --hostname=example.com --gopherroot=/var/gopher%0a> %0a> Add the following line in inetd.conf. ( /etc/inetd.conf )%0a> %0a> gopher stream tcp nowait nobody /usr/local/libexec/in.gophernicus in.gophernicus -h example.com%0a> %0a> doas rcctl enable inetd%0a> %0a> doas rcctl start inetd%0a> %0a> %0a> your gopher server is ready to server. Try to lynx gopher://example.com to access your gopher index. %0a> %0a> %0a> Please keep it in mind you cannot access gopher server with the regular browser unless you have browser extensions installed for gopher. %0a> %0a> %0a> you can find some userful information about browser extenstions here : [[https://gopher.floodgap.com/gopher/]]%0a> %0a +host:1612172672=2a02:c7d:75fa:4000:8f2:abef:e135:d533 +author:1611820918=wiz +diff:1611820918:1611819728:=15c15%0a%3c $ doas make install%0a---%0a> $ sudo make install%0a +host:1611820918=77.100.11.104 +author:1611819728=wiz +diff:1611819728:1611819585:=17,18c17,18%0a%3c !!Important configure arguments include:%0a%3c %0a---%0a> '''Important configure arguments include:%0a> '''%0a21d20%0a%3c %0a24d22%0a%3c %0a27c25%0a%3c Ao the command becomes like %0a---%0a> so the command becomes like %0a31d28%0a%3c %0a35d31%0a%3c %0a38d33%0a%3c %0a41d35%0a%3c %0a44d37%0a%3c %0a48,49c41,42%0a%3c !!Post Install Configuration%0a%3c %0a---%0a> '''Post Install Configuration'''%0a> %0a51d43%0a%3c %0a55d46%0a%3c %0a57d47%0a%3c %0a59d48%0a%3c %0a61d49%0a%3c %0a63d50%0a%3c %0a65d51%0a%3c %0a67d52%0a%3c %0a69d53%0a%3c %0a71d54%0a%3c %0a74d56%0a%3c %0a76d57%0a%3c %0a79d59%0a%3c %0a81d60%0a%3c %0a83d61%0a%3c %0a86d63%0a%3c %0a88d64%0a%3c %0a90d65%0a%3c %0a93d67%0a%3c %0a95d68%0a%3c %0a97d69%0a%3c %0a100d71%0a%3c %0a102d72%0a%3c %0a106d75%0a%3c %0a108d76%0a%3c %0a110d77%0a%3c %0a112d78%0a%3c %0a114d79%0a%3c %0a116d80%0a%3c %0a118d81%0a%3c %0a120d82%0a%3c %0a122d83%0a%3c %0a124d84%0a%3c %0a126d85%0a%3c %0a128d86%0a%3c %0a130d87%0a%3c %0a132d88%0a%3c %0a134d89%0a%3c %0a137d91%0a%3c %0a139d92%0a%3c %0a141d93%0a%3c %0a143d94%0a%3c %0a +host:1611819728=77.100.11.104 +author:1611819585=wiz +diff:1611819585:1611819529:=5,6c5,6%0a%3c !!Installation :%0a%3c %0a---%0a> '''Installation :%0a> '''%0a8d7%0a%3c %0a10d8%0a%3c %0a12d9%0a%3c %0a14d10%0a%3c %0a +host:1611819585=77.100.11.104 +author:1611819529=wiz +diff:1611819529:1611819529:=1,91d0%0a%3c Gopher is an application-layer protocol that provides the ability to extract and view and access various files on remote Web servers. Gopher was conceived in 1991 as one of the Internet’s first data/file access protocols to run on top of a TCP/IP network. It was developed at University of Minnesota and is named after the school's mascot.%0a%3c %0a%3c There are many gopher server are available but many of them are not under development. Gophernicus is a one of the most modern, full-featured and secure gopher daemon.%0a%3c %0a%3c '''Installation :%0a%3c '''%0a%3c $ git clone -b 3.1.1 https://github.com/gophernicus/gophernicus.git%0a%3c $ cd gophernicus %0a%3c $ ./configure --listener=inetd%0a%3c $ make%0a%3c $ sudo make install%0a%3c %0a%3c '''Important configure arguments include:%0a%3c '''%0a%3c --listener. This is the only required argument. You must choose a listener that passes network requests to gophernicus, as gophernicus dosen't do this by itself. There are few other options but as we are using OPENBSD we are going to user inetd.%0a%3c %0a%3c --hostname. This is by default attempted to be autodetected by the configure script, using the command hostname. It is expected to be the publicly-accessible address of the server. However, this might be completely wrong, especially on your personal machine at home or on some cheap VPS. If you know you have a fixed numerical IP, you can also directly use that. For testing, just keep the default value of localhost which will result in selectors working only when you're connecting locally.%0a%3c %0a%3c --gopherroot. The location in which your gopher server will serve from. By default is /var/gopher. Also can be changed later using the -r %3croot> parameter in configuration files.%0a%3c %0a%3c so the command becomes like %0a%3c $ ./configure --listener=inetd --hostname=example.com --gopherroot=/var/gopher%0a%3c %0a%3c Add the following line in inetd.conf. ( /etc/inetd.conf )%0a%3c gopher stream tcp nowait nobody /usr/local/libexec/in.gophernicus in.gophernicus -h example.com%0a%3c %0a%3c doas rcctl enable inetd%0a%3c doas rcctl start inetd%0a%3c %0a%3c your gopher server is ready to server. Try to lynx gopher://example.com to access your gopher index. %0a%3c %0a%3c Please keep it in mind you cannot access gopher server with the regular browser unless you have browser extensions installed for gopher. %0a%3c %0a%3c you can find some userful information about browser extenstions here : [[https://gopher.floodgap.com/gopher/]]%0a%3c %0a%3c %0a%3c '''Post Install Configuration'''%0a%3c %0a%3c Here are all the options which can be use for post install configuration. you can user them only by typing %0a%3c $gophernicus -h example.com. %0a%3c %0a%3c -h hostname Change server hostname (FQDN) [$HOSTNAME]%0a%3c -p port Change server port [70]%0a%3c -T port Change TLS/SSL port [0 = disabled]%0a%3c -r root Change gopher root [/var/gopher]%0a%3c -t type Change default gopher filetype [0]%0a%3c -g mapfile Change gophermap file [gophermap]%0a%3c -a tagfile Change gophertag file [gophertag]%0a%3c -c cgidir Change CGI script directory [/cgi-bin/]%0a%3c -u userdir Change users personal gopherspace [public_gopher]%0a%3c -l logfile Log to Apache-compatible combined format logfile%0a%3c %0a%3c -w width Change default page width [67]%0a%3c -o charset Change default output charset [UTF-8]%0a%3c %0a%3c -s seconds Session timeout in seconds [1800]%0a%3c -i hits Maximum hits until throttling [4096]%0a%3c -k kbytes Maximum transfer until throttling [4194304]%0a%3c %0a%3c -f filterdir Specify directory for output filters%0a%3c -e ext=type Map file extension to gopher filetype%0a%3c -R old=new Rewrite the beginning of a selector%0a%3c %0a%3c -D text|file Set or load server description for caps.txt%0a%3c -L text|file Set or load server location for caps.txt%0a%3c -A admin Set admin email for caps.txt%0a%3c %0a%3c -U paths Specify a colon-separated list of extra unveil(2) paths%0a%3c (OpenBSD only).%0a%3c %0a%3c -nv Disable virtual hosting%0a%3c -nl Disable parent directory links%0a%3c -nh Disable menu header (title)%0a%3c -nf Disable menu footer%0a%3c -nd Disable dates and filesizes in menus%0a%3c -nc Disable file content detection%0a%3c -no Disable charset conversion for output%0a%3c -nq Disable HTTP-style query strings (?query)%0a%3c -ns Disable logging to syslog%0a%3c -na Disable autogenerated caps.txt%0a%3c -nt Disable /server-status%0a%3c -nm Disable shared memory use (for debugging)%0a%3c -nr Disable root user checking (for debugging)%0a%3c -np Disable HAproxy proxy protocol%0a%3c -nx Disable execution of gophermaps and scripts%0a%3c -nu Disable personal gopherspaces%0a%3c %0a%3c -d Debug output in syslog and /server-status%0a%3c -v Display version number and build date%0a%3c -b Display the BSD license%0a%3c -? Display this help %0a +host:1611819529=77.100.11.104 blob - /dev/null blob + c25c788d88c7182a2dbda1a65c288ad3e4d5708e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Got,del-1636298193 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1636286703 +host=38.87.162.47 +name=Openbsd.Got +rev=2 +targets= +text=(:delete:)%0a +time=1636298036 +author:1636298036=jrmu +diff:1636298036:1636286703:=1c1,3%0a%3c (:delete:)%0a---%0a> [@%0a> $ doas pkg_add got%0a> @]%0a +host:1636298036=38.87.162.47 +author:1636286703=jrmu +diff:1636286703:1636286703:=1,3d0%0a%3c [@%0a%3c $ doas pkg_add got%0a%3c @]%0a +host:1636286703=38.87.162.47 blob - /dev/null blob + 8d4ea3d046b4c93ccee22183b1b3f81cff68e59b (mode 644) --- /dev/null +++ wiki.d/Openbsd.Gotweb @@ -0,0 +1,38 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744188 +host=38.87.162.47 +name=Openbsd.Gotweb +rev=8 +targets= +text=(:redirect Gotweb.Install:)%0aTo import a project into got:%0a%0a[@%0a$ doas pkg_add got%0a$ got init reponame%0a$ export GOT_AUTHOR="YOURNAME %3cYOUR EMAIL>"%0a$ got import -m "Initial import" -r repo-path files/%0a@]%0a%0aTo set up gotweb:%0a%0a[@%0a$ doas pkg_add gotweb%0a@]%0a%0aInside /etc/httpd.conf:%0a%0a[@%0atypes { include "/usr/share/misc/mime.types" }%0aserver "gotweb.example.com" {%0a listen on * port 80%0a root "/htdocs/gotweb"%0a location "/cgi-bin/*" {%0a root "/"%0a fastcgi%0a }%0a location "/*" {%0a directory index "index.html"%0a }%0a}%0a@]%0a%0a[@%0a$ doas mkdir -p /var/www/etc%0a@]%0a%0aInside /var/www/etc/gotweb.conf%0a%0a[@%0agot_site_name "IRCNow Software"%0agot_site_owner "IRCNow"%0agot_logo_url "https://git.ircnow.org"%0a@]%0a%0ayou'll need to have these running:%0a%0a[@%0a$ doas rcctl enable httpd slowcgi%0a$ doas rcctl start httpd slowcgi%0a@]%0a +time=1639668970 +author:1639668970=jrmu +diff:1639668970:1638155138:=1d0%0a%3c (:redirect Gotweb.Install:)%0a +host:1639668970=38.87.162.47 +author:1638155138=mkf +diff:1638155138:1638155096:=45c45,48%0a%3c you'll need to have these running:%0a---%0a> **Remember** to fix this permission bug!%0a> %0a> %0a> Otherwise, you will see this cryptic error message: @@got_opentempfd: Permission denied@@%0a +host:1638155138=188.210.114.32 +author:1638155096=mkf +diff:1638155096:1638154811:=45,48c45,51%0a%3c **Remember** to fix this permission bug!%0a%3c %0a%3c %0a%3c Otherwise, you will see this cryptic error message: @@got_opentempfd: Permission denied@@%0a---%0a> **Remember** to fix this permission bug!%0a> %0a> [@%0a> $ doas chown www:daemon /var/www/got/tmp%0a> @]%0a> %0a> Otherwise, you will see this cryptic error message: got_opentempfd: Permission denied%0a +host:1638155096=188.210.114.32 +author:1638154811=mkf +diff:1638154811:1638154667:=39a40%0a> got_repos_path "/got/public"%0a +host:1638154811=188.210.114.32 +author:1638154667=mkf +csum:1638154667=hmm +diff:1638154667:1628480880:=40a41%0a> got_max_commits_display 50%0a42a44,45%0a> got_site_link "repos"%0a> got_logo "got.png"%0a +host:1638154667=188.210.114.32 +author:1628480880=jrmu +diff:1628480880:1612514014:=32a33,34%0a> Inside /var/www/etc/gotweb.conf%0a> %0a34,39d35%0a%3c $ doas mkdir -p /var/www/etc%0a%3c @]%0a%3c %0a%3c Inside /var/www/etc/gotweb.conf%0a%3c %0a%3c [@%0a60c56%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1628480880=38.87.162.8 +author:1612514014=miniontoby +csum:1612514014=got_author +diff:1612514014:1597744188:=6d5%0a%3c $ export GOT_AUTHOR="YOURNAME %3cYOUR EMAIL>"%0a +host:1612514014=141.138.217.186 +author:1597744188=jrmu +diff:1597744188:1597744188:=1,55d0%0a%3c To import a project into got:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add got%0a%3c $ got init reponame%0a%3c $ got import -m "Initial import" -r repo-path files/%0a%3c @]%0a%3c %0a%3c To set up gotweb:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add gotweb%0a%3c @]%0a%3c %0a%3c Inside /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c types { include "/usr/share/misc/mime.types" }%0a%3c server "gotweb.example.com" {%0a%3c listen on * port 80%0a%3c root "/htdocs/gotweb"%0a%3c location "/cgi-bin/*" {%0a%3c root "/"%0a%3c fastcgi%0a%3c }%0a%3c location "/*" {%0a%3c directory index "index.html"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Inside /var/www/etc/gotweb.conf%0a%3c %0a%3c [@%0a%3c got_repos_path "/got/public"%0a%3c got_max_commits_display 50%0a%3c got_site_name "IRCNow Software"%0a%3c got_site_owner "IRCNow"%0a%3c got_site_link "repos"%0a%3c got_logo "got.png"%0a%3c got_logo_url "https://git.ircnow.org"%0a%3c @]%0a%3c %0a%3c **Remember** to fix this permission bug!%0a%3c %0a%3c [@%0a%3c $ doas chown www:daemon /var/www/got/tmp%0a%3c @]%0a%3c %0a%3c Otherwise, you will see this cryptic error message: got_opentempfd: Permission denied%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable httpd slowcgi%0a%3c $ doas rcctl start httpd slowcgi%0a%3c @]%0a\ No newline at end of file%0a +host:1597744188=38.81.163.143 blob - /dev/null blob + b4c7ff71a6935e385e94b1c737a485d677ab1dab (mode 644) --- /dev/null +++ wiki.d/Openbsd.Growfs @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1611458508 +host=38.87.162.8 +name=Openbsd.Growfs +rev=14 +targets=Openbsd.Backup,Openbsd.Announce,Openbsd.Fsck +text=(:title Growing a partition:)%0a%0a'''WARNING''': '''BE CAREFUL!''' Some commands in this tutorial can cause permanent data loss. We recommend you [[openbsd/backup|backup]] your files before attempting to run these commands. You should also double check every command to make sure you have made no typos or mistakes. A single typo could destroy your data forever!%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]] and [[https://www.openbsd.org/faq/faq14.html#GrowPartition|Growing a Partition]].%0a%0a'''NOTE''': Before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a%0aOn OpenBSD, there are two disk drivers: [[https://man.openbsd.org/wd|wd]] and [[https://man.openbsd.org/sd|sd]]. wd is an IDE-like disk, and sd is a SCSI-like disk (including USB disks). To list all your available disks:%0a%0a[@%0a# dmesg | grep -E '(sd[0-9]|wd[0-9])'%0asd0 at scsibus1 targ 0 lun 0: %3cATA, WDC WD10EZEX-21M, 01.0> naa.50014ee25f5d927d%0asd0: 953869MB, 512 bytes/sector, 1953525168 sectors%0a@]%0a%0aWe see here there is one hard disk with over 900GB of disk space. Let's see how much we are using:%0a%0a[@%0a# df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd0a 986M 103M 833M 11%25 /%0a/dev/sd0k 295G 151G 130G 54%25 /home%0a/dev/sd0d 3.9G 16.0K 3.7G 0%25 /tmp%0a/dev/sd0f 5.8G 1.6G 3.9G 29%25 /usr%0a/dev/sd0g 986M 234M 702M 25%25 /usr/X11R6%0a/dev/sd0h 19.4G 5.3G 13.1G 29%25 /usr/local%0a/dev/sd0j 5.8G 2.0K 5.5G 0%25 /usr/obj%0a/dev/sd0i 1.9G 2.0K 1.8G 0%25 /usr/src%0a/dev/sd0e 11.3G 30.9M 10.7G 0%25 /var%0a@]%0a%0aOnly around 300G of the total 900GB is actually formatted and available for use. If you check disklabel, you will see that 500GB of disk space is free:%0a%0a[@%0a# disklabel -E sd0%0aLabel editor (enter '?' for help at any prompt)%0asd0> p G%0aOpenBSD area: 64-1953520065; size: 931.5G; free: 575.7G%0a# size offset fstype [fsize bsize cpg]%0a a: 1.0G 64 4.2BSD 2048 16384 12960 # /%0a b: 4.1G 2097216 swap # none%0a c: 931.5G 0 unused %0a d: 4.0G 10690752 4.2BSD 2048 16384 12960 # /tmp%0a e: 11.7G 19079328 4.2BSD 2048 16384 12960 # /var%0a f: 6.0G 43606400 4.2BSD 2048 16384 12960 # /usr%0a g: 1.0G 56189312 4.2BSD 2048 16384 12960 # /usr/X11R6%0a h: 20.0G 58286464 4.2BSD 2048 16384 12960 # /usr/local%0a i: 2.0G 100229504 4.2BSD 2048 16384 12960 # /usr/src%0a j: 6.0G 104423808 4.2BSD 2048 16384 12960 # /usr/obj%0a k: 300.0G 117006720 4.2BSD 4096 32768 26062 # /home%0a@]%0a%0a@@p G@@ means to print in Gigabytes, to make it more human readable.%0a%0aThe disk partition labeled c represents the entire disk; the total disk size is 931.5G. We can also see that 575.7G disk space is free, which means we can use it to grow the last partition on our disk (partition k).%0a%0a'''NOTE''': The free space must follow the partition you want to grow. Otherwise, you will be unable to grow the partition.%0a%0a'''WARNING''': The partition you want to grow must be unmounted before you grow it. Otherwise, your partition may become corrupt and you will lose all your data.%0a%0aFirst, we need to unmount the partition:%0a%0a[@%0a# unmount /dev/sd0k%0a@]%0a%0a'''NOTE''': In order to unmount the /home partition like we did above, you may need to log out of all users except the root user, then log in as root. If any user is in their /home folder, the filesystem will be busy and you will be unable to unmount.%0a%0aAfterwards, we will edit the disklabel and enlarge the size of sd0k:%0a%0a[@%0a# disklabel -E sd0 %0aLabel editor (enter '?' for help at any prompt)%0asd0> ? %0aAvailable commands:%0a ? | h - show help n [part] - set mount point%0a A - auto partition all space p [unit] - print partitions%0a a [part] - add partition q - quit & save changes%0a b - set OpenBSD boundaries R [part] - resize auto allocated partition%0a c [part] - change partition size r - display free space%0a D - reset label to default s [path] - save label to file%0a d [part] - delete partition U - undo all changes%0a e - edit drive parameters u - undo last change%0a g [d|u] - [d]isk or [u]ser geometry w - write label to disk%0a i - modify disklabel UID X - toggle expert mode%0a l [unit] - print disk label header x - exit & lose changes%0a M - disklabel(8) man page z - delete all partitions%0a m [part] - modify partition%0a@]%0a%0aIf disklabel is not showing all the free space available, you may first need to run%0ab to set the OpenBSD boundary. This can occur if your disk is greater than 2TB or%0aif you are in a virtual machine and enlarged the size of your disk space after%0ainstallation.%0a%0a[@%0asd0> b%0aStarting sector: [64] %0aSize ('*' for entire disk): [1953520065] *%0asd0> %0a@]%0a%0aWe want to @@c k@@ change the size of partition k:%0a%0a[@%0asd0> c k%0aPartition k is currently 629145600 sectors in size, and can have a maximum%0asize of 1836513345 sectors.%0asize: [629145600] *%0asd0*> p G%0aOpenBSD area: 64-1953520065; size: 931.5G; free: 0.0G%0a# size offset fstype [fsize bsize cpg]%0a a: 1.0G 64 4.2BSD 2048 16384 12960 # /%0a b: 4.1G 2097216 swap # none%0a c: 931.5G 0 unused %0a d: 4.0G 10690752 4.2BSD 2048 16384 12960 # /tmp%0a e: 11.7G 19079328 4.2BSD 2048 16384 12960 # /var%0a f: 6.0G 43606400 4.2BSD 2048 16384 12960 # /usr%0a g: 1.0G 56189312 4.2BSD 2048 16384 12960 # /usr/X11R6%0a h: 20.0G 58286464 4.2BSD 2048 16384 12960 # /usr/local%0a i: 2.0G 100229504 4.2BSD 2048 16384 12960 # /usr/src%0a j: 6.0G 104423808 4.2BSD 2048 16384 12960 # /usr/obj%0a k: 875.7G 117006720 4.2BSD 4096 32768 26062 # /home%0asd0*> w%0asd0> q%0a@]%0a%0aFinally, we grow the disk:%0a%0a[@%0a# growfs /dev/sd0k%0aWe strongly recommend you to make a backup before growing the Filesystem%0a%0a Did you backup your data (Yes/No) ? yes%0anew filesystem size is: 229564168 frags%0aWarning: 80576 sector(s) cannot be allocated.%0agrowfs: 896695.7MB (1836432768 sectors) block size 32768, fragment size 4096%0a using 1101 cylinder groups of 814.44MB, 26062 blks, 52224 inodes.%0asuper-block backups (for fsck -b #) at:%0a 630492096, 632160064, 633828032, 635496000, 637163968, 638831936, 640499904,%0a 642167872, 643835840, 645503808, 647171776, 648839744, 650507712, 652175680,%0a 653843648, 655511616, 657179584, 658847552, 660515520, 662183488, 663851456,%0a@]%0a%0aWe perform a [[openbsd/fsck|fsck]] to ensure consistency:%0a%0a[@%0a# fsck /dev/sd0k%0a** /dev/rsd0k%0a** Last Mounted on /home%0a** Phase 1 - Check Blocks and Sizes%0a** Phase 2 - Check Pathnames%0a** Phase 3 - Check Connectivity%0a** Phase 4 - Check Reference Counts%0a** Phase 5 - Check Cyl groups%0a1929 files, 39512255 used, 186430532 free (28 frags, 23303813 blocks, 0.0%25 fragmentation)%0a%0aMARK FILE SYSTEM CLEAN? [Fyn?] F%0a%0a***** FILE SYSTEM WAS MODIFIED *****%0a@]%0a%0aTo finish up, we mount the partition again, then check the files to ensure that everything is there:%0a%0a[@%0a# mount /dev/sd0k /home%0a# ls /home/%0a...%0a# df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a...%0a/dev/sd0k 862G 155M 819G 0%25 /home%0a...%0a@]%0a%0aSee Also:%0a +time=1628815451 +title=Growing a partition +author:1628815451=jrmu +diff:1628815451:1628814646:=96,102d95%0a%3c %0a%3c [@%0a%3c sd0> b%0a%3c Starting sector: [64] %0a%3c Size ('*' for entire disk): [1953520065] *%0a%3c sd0> %0a%3c @]%0a +host:1628815451=38.87.162.8 +author:1628814646=jrmu +diff:1628814646:1611461706:=92,96d91%0a%3c If disklabel is not showing all the free space available, you may first need to run%0a%3c b to set the OpenBSD boundary. This can occur if your disk is greater than 2TB or%0a%3c if you are in a virtual machine and enlarged the size of your disk space after%0a%3c installation.%0a%3c %0a170c165%0a%3c See Also:%0a---%0a> See Also:%0a\ No newline at end of file%0a +host:1628814646=38.87.162.8 +author:1611461706=jrmu +diff:1611461706:1611461244:=157,162d156%0a%3c ...%0a%3c # df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c ...%0a%3c /dev/sd0k 862G 155M 819G 0%25 /home%0a%3c ...%0a +host:1611461706=125.231.20.163 +author:1611461244=jrmu +diff:1611461244:1611460892:=134,135c134,135%0a%3c We perform a [[openbsd/fsck|fsck]] to ensure consistency:%0a%3c %0a---%0a> Finally we perform a [[openbsd/fsck|fsck]] to ensure consistency:%0a> %0a150,159c150%0a%3c @]%0a%3c %0a%3c To finish up, we mount the partition again, then check the files to ensure that everything is there:%0a%3c %0a%3c [@%0a%3c # mount /dev/sd0k /home%0a%3c # ls /home/%0a%3c @]%0a%3c %0a%3c See Also:%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1611461244=125.231.20.163 +author:1611460892=jrmu +diff:1611460892:1611460844:=138,149d137%0a%3c ** /dev/rsd0k%0a%3c ** Last Mounted on /home%0a%3c ** Phase 1 - Check Blocks and Sizes%0a%3c ** Phase 2 - Check Pathnames%0a%3c ** Phase 3 - Check Connectivity%0a%3c ** Phase 4 - Check Reference Counts%0a%3c ** Phase 5 - Check Cyl groups%0a%3c 1929 files, 39512255 used, 186430532 free (28 frags, 23303813 blocks, 0.0%25 fragmentation)%0a%3c %0a%3c MARK FILE SYSTEM CLEAN? [Fyn?] F%0a%3c %0a%3c ***** FILE SYSTEM WAS MODIFIED *****%0a +host:1611460892=125.231.20.163 +author:1611460844=jrmu +diff:1611460844:1611460786:=120c120%0a%3c # growfs /dev/sd0k%0a---%0a> # growfs sd0k%0a132,137d131%0a%3c @]%0a%3c %0a%3c Finally we perform a [[openbsd/fsck|fsck]] to ensure consistency:%0a%3c %0a%3c [@%0a%3c # fsck /dev/sd0k%0a +host:1611460844=125.231.20.163 +author:1611460786=jrmu +diff:1611460786:1611460728:=120,131c120%0a%3c # growfs sd0k%0a%3c We strongly recommend you to make a backup before growing the Filesystem%0a%3c %0a%3c Did you backup your data (Yes/No) ? yes%0a%3c new filesystem size is: 229564168 frags%0a%3c Warning: 80576 sector(s) cannot be allocated.%0a%3c growfs: 896695.7MB (1836432768 sectors) block size 32768, fragment size 4096%0a%3c using 1101 cylinder groups of 814.44MB, 26062 blks, 52224 inodes.%0a%3c super-block backups (for fsck -b #) at:%0a%3c 630492096, 632160064, 633828032, 635496000, 637163968, 638831936, 640499904,%0a%3c 642167872, 643835840, 645503808, 647171776, 648839744, 650507712, 652175680,%0a%3c 653843648, 655511616, 657179584, 658847552, 660515520, 662183488, 663851456,%0a---%0a> # growfs /dev/sd0k%0a +host:1611460786=125.231.20.163 +author:1611460728=jrmu +diff:1611460728:1611460517:=12c12%0a%3c # dmesg | grep -E '(sd[0-9]|wd[0-9])'%0a---%0a> $ dmesg | grep -E '(sd[0-9]|wd[0-9])'%0a20c20%0a%3c # df -h%0a---%0a> $ df -h%0a36c36%0a%3c # disklabel -E sd0%0a---%0a> $ doas disklabel -E sd0%0a65c65%0a%3c # unmount /dev/sd0k%0a---%0a> $ doas unmount /dev/sd0k%0a68,69d67%0a%3c '''NOTE''': In order to unmount the /home partition like we did above, you may need to log out of all users except the root user, then log in as root. If any user is in their /home folder, the filesystem will be busy and you will be unable to unmount.%0a%3c %0a115,120d112%0a%3c @]%0a%3c %0a%3c Finally, we grow the disk:%0a%3c %0a%3c [@%0a%3c # growfs /dev/sd0k%0a +host:1611460728=125.231.20.163 +author:1611460517=jrmu +diff:1611460517:1611460271:=73,92d72%0a%3c sd0> ? %0a%3c Available commands:%0a%3c ? | h - show help n [part] - set mount point%0a%3c A - auto partition all space p [unit] - print partitions%0a%3c a [part] - add partition q - quit & save changes%0a%3c b - set OpenBSD boundaries R [part] - resize auto allocated partition%0a%3c c [part] - change partition size r - display free space%0a%3c D - reset label to default s [path] - save label to file%0a%3c d [part] - delete partition U - undo all changes%0a%3c e - edit drive parameters u - undo last change%0a%3c g [d|u] - [d]isk or [u]ser geometry w - write label to disk%0a%3c i - modify disklabel UID X - toggle expert mode%0a%3c l [unit] - print disk label header x - exit & lose changes%0a%3c M - disklabel(8) man page z - delete all partitions%0a%3c m [part] - modify partition%0a%3c @]%0a%3c %0a%3c We want to @@c k@@ change the size of partition k:%0a%3c %0a%3c [@%0a111,112d90%0a%3c sd0*> w%0a%3c sd0> q%0a +host:1611460517=125.231.20.163 +author:1611460271=jrmu +diff:1611460271:1611459238:=71,90c71%0a%3c # disklabel -E sd0 %0a%3c Label editor (enter '?' for help at any prompt)%0a%3c sd0> c k%0a%3c Partition k is currently 629145600 sectors in size, and can have a maximum%0a%3c size of 1836513345 sectors.%0a%3c size: [629145600] *%0a%3c sd0*> p G%0a%3c OpenBSD area: 64-1953520065; size: 931.5G; free: 0.0G%0a%3c # size offset fstype [fsize bsize cpg]%0a%3c a: 1.0G 64 4.2BSD 2048 16384 12960 # /%0a%3c b: 4.1G 2097216 swap # none%0a%3c c: 931.5G 0 unused %0a%3c d: 4.0G 10690752 4.2BSD 2048 16384 12960 # /tmp%0a%3c e: 11.7G 19079328 4.2BSD 2048 16384 12960 # /var%0a%3c f: 6.0G 43606400 4.2BSD 2048 16384 12960 # /usr%0a%3c g: 1.0G 56189312 4.2BSD 2048 16384 12960 # /usr/X11R6%0a%3c h: 20.0G 58286464 4.2BSD 2048 16384 12960 # /usr/local%0a%3c i: 2.0G 100229504 4.2BSD 2048 16384 12960 # /usr/src%0a%3c j: 6.0G 104423808 4.2BSD 2048 16384 12960 # /usr/obj%0a%3c k: 875.7G 117006720 4.2BSD 4096 32768 26062 # /home%0a---%0a> %0a +host:1611460271=125.231.20.163 +author:1611459238=jrmu +diff:1611459238:1611459055:=68,72d67%0a%3c Afterwards, we will edit the disklabel and enlarge the size of sd0k:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1611459238=125.231.20.163 +author:1611459055=jrmu +diff:1611459055:1611458650:=56,67c56%0a%3c The disk partition labeled c represents the entire disk; the total disk size is 931.5G. We can also see that 575.7G disk space is free, which means we can use it to grow the last partition on our disk (partition k).%0a%3c %0a%3c '''NOTE''': The free space must follow the partition you want to grow. Otherwise, you will be unable to grow the partition.%0a%3c %0a%3c '''WARNING''': The partition you want to grow must be unmounted before you grow it. Otherwise, your partition may become corrupt and you will lose all your data.%0a%3c %0a%3c First, we need to unmount the partition:%0a%3c %0a%3c [@%0a%3c $ doas unmount /dev/sd0k%0a%3c @]%0a%3c %0a---%0a> The disk partition labeled c represents the entire disk; the total disk size is 931.5G. We can also see that 575.7G disk space is free, which means we can use it to grow the last partition on our disk (partition k).%0a\ No newline at end of file%0a +host:1611459055=125.231.20.163 +author:1611458650=jrmu +diff:1611458650:1611458508:=5c5%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]] and [[https://www.openbsd.org/faq/faq14.html#GrowPartition|Growing a Partition]].%0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]].%0a +host:1611458650=125.231.20.163 +author:1611458508=jrmu +diff:1611458508:1611458508:=1,56d0%0a%3c (:title Growing a partition:)%0a%3c %0a%3c '''WARNING''': '''BE CAREFUL!''' Some commands in this tutorial can cause permanent data loss. We recommend you [[openbsd/backup|backup]] your files before attempting to run these commands. You should also double check every command to make sure you have made no typos or mistakes. A single typo could destroy your data forever!%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]].%0a%3c %0a%3c '''NOTE''': Before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a%3c %0a%3c On OpenBSD, there are two disk drivers: [[https://man.openbsd.org/wd|wd]] and [[https://man.openbsd.org/sd|sd]]. wd is an IDE-like disk, and sd is a SCSI-like disk (including USB disks). To list all your available disks:%0a%3c %0a%3c [@%0a%3c $ dmesg | grep -E '(sd[0-9]|wd[0-9])'%0a%3c sd0 at scsibus1 targ 0 lun 0: %3cATA, WDC WD10EZEX-21M, 01.0> naa.50014ee25f5d927d%0a%3c sd0: 953869MB, 512 bytes/sector, 1953525168 sectors%0a%3c @]%0a%3c %0a%3c We see here there is one hard disk with over 900GB of disk space. Let's see how much we are using:%0a%3c %0a%3c [@%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 986M 103M 833M 11%25 /%0a%3c /dev/sd0k 295G 151G 130G 54%25 /home%0a%3c /dev/sd0d 3.9G 16.0K 3.7G 0%25 /tmp%0a%3c /dev/sd0f 5.8G 1.6G 3.9G 29%25 /usr%0a%3c /dev/sd0g 986M 234M 702M 25%25 /usr/X11R6%0a%3c /dev/sd0h 19.4G 5.3G 13.1G 29%25 /usr/local%0a%3c /dev/sd0j 5.8G 2.0K 5.5G 0%25 /usr/obj%0a%3c /dev/sd0i 1.9G 2.0K 1.8G 0%25 /usr/src%0a%3c /dev/sd0e 11.3G 30.9M 10.7G 0%25 /var%0a%3c @]%0a%3c %0a%3c Only around 300G of the total 900GB is actually formatted and available for use. If you check disklabel, you will see that 500GB of disk space is free:%0a%3c %0a%3c [@%0a%3c $ doas disklabel -E sd0%0a%3c Label editor (enter '?' for help at any prompt)%0a%3c sd0> p G%0a%3c OpenBSD area: 64-1953520065; size: 931.5G; free: 575.7G%0a%3c # size offset fstype [fsize bsize cpg]%0a%3c a: 1.0G 64 4.2BSD 2048 16384 12960 # /%0a%3c b: 4.1G 2097216 swap # none%0a%3c c: 931.5G 0 unused %0a%3c d: 4.0G 10690752 4.2BSD 2048 16384 12960 # /tmp%0a%3c e: 11.7G 19079328 4.2BSD 2048 16384 12960 # /var%0a%3c f: 6.0G 43606400 4.2BSD 2048 16384 12960 # /usr%0a%3c g: 1.0G 56189312 4.2BSD 2048 16384 12960 # /usr/X11R6%0a%3c h: 20.0G 58286464 4.2BSD 2048 16384 12960 # /usr/local%0a%3c i: 2.0G 100229504 4.2BSD 2048 16384 12960 # /usr/src%0a%3c j: 6.0G 104423808 4.2BSD 2048 16384 12960 # /usr/obj%0a%3c k: 300.0G 117006720 4.2BSD 4096 32768 26062 # /home%0a%3c @]%0a%3c %0a%3c @@p G@@ means to print in Gigabytes, to make it more human readable.%0a%3c %0a%3c The disk partition labeled c represents the entire disk; the total disk size is 931.5G. We can also see that 575.7G disk space is free, which means we can use it to grow the last partition on our disk (partition k).%0a\ No newline at end of file%0a +host:1611458508=125.231.20.163 blob - /dev/null blob + 92af2f987ec88814daa22e42e0bbd71b3c632363 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Guides @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596189997 +host=38.81.163.143 +name=Openbsd.Guides +rev=8 +targets=OpenBSDHardware.Hardware,OpenBSDNet.Net,OpenBSDWww.Www,OpenBSDIRC.IRC,Openbsd.OpenbsdXmpp,Openbsd.OpenbsdMatrix,Openbsd.OpenbsdDns,Openbsd.OpenbsdCrypto,Openbsd.OpenbsdMedia,Openbsd.OpenbsdMail,Openbsd.OpenbsdVcs,Openbsd.OpenbsdTelephony,Openbsd.OpenbsdDesktop,Openbsd.OpenbsdUtilities,Openbsd.OpenbsdLdap,Openbsd.OpenbsdFile,Openbsd.OpenbsdNews,Openbsd.OpenbsdRss,Openbsd.OpenbsdLangs,Openbsd.OpenbsdUpgrade,Openbsd.OpenbsdShell,Openbsd.OpenbsdVmm +text=(:title OpenBSD Guides:)%0a%0aThe [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%0a!! Sample Config Files%0a%0aMany system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. Then start like so:%0a%0a[@%0a$ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a@]%0a%0aAnd work using that configuration file as a template.%0a%0a!! Mailing Lists%0a%0aYou can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%0a!! IRC Chat Room%0a%0aYou can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]].%0a%0a# [[OpenBSDHardware.Hardware|Hardware]]%0a# [[OpenBSDNet.Net|Networking]]%0a# [[OpenBSDWww/Www|Web]]%0a# [[OpenBSDIRC/IRC|IRC]]%0a# [[openbsd:xmpp|XMPP]]%0a# [[openbsd:matrix|Matrix]]%0a# [[openbsd:dns|DNS]]%0a# [[openbsd:crypto|Cryptography]]%0a# [[openbsd:media|Multimedia]]%0a# [[openbsd:mail|Mail]]%0a# [[openbsd:vcs|Version Control]]%0a# [[openbsd:telephony|Telephony]]%0a# [[openbsd:desktop|Desktop]]%0a# [[openbsd:utilities|Utilities]]%0a# [[openbsd:ldap|LDAP]]%0a# [[openbsd:file|File System]]%0a# [[openbsd:news|Newsreaders]]%0a# [[openbsd:rss|RSS]]%0a# [[openbsd:langs|Programming Languages]]%0a# [[openbsd:upgrade|Upgrading]]%0a# [[openbsd:shell|Shell accounts]]%0a# [[openbsd:vmm|Virtualization]] +time=1597030926 +title=OpenBSD Guides +author:1597030926=jrmu +diff:1597030926:1597030906:=25c25%0a%3c # [[OpenBSDWww/Www|Web]]%0a---%0a> # [[OpenBSD.Www/Www|Web]]%0a +host:1597030926=38.81.163.143 +author:1597030906=jrmu +diff:1597030906:1597030876:=26c26%0a%3c # [[OpenBSDIRC/IRC|IRC]]%0a---%0a> # [[openbsd:irc|IRC]]%0a +host:1597030906=38.81.163.143 +author:1597030876=jrmu +diff:1597030876:1596442138:=23,44c23,44%0a%3c # [[OpenBSDHardware.Hardware|Hardware]]%0a%3c # [[OpenBSDNet.Net|Networking]]%0a%3c # [[OpenBSD.Www/Www|Web]]%0a%3c # [[openbsd:irc|IRC]]%0a%3c # [[openbsd:xmpp|XMPP]]%0a%3c # [[openbsd:matrix|Matrix]]%0a%3c # [[openbsd:dns|DNS]]%0a%3c # [[openbsd:crypto|Cryptography]]%0a%3c # [[openbsd:media|Multimedia]]%0a%3c # [[openbsd:mail|Mail]]%0a%3c # [[openbsd:vcs|Version Control]]%0a%3c # [[openbsd:telephony|Telephony]]%0a%3c # [[openbsd:desktop|Desktop]]%0a%3c # [[openbsd:utilities|Utilities]]%0a%3c # [[openbsd:ldap|LDAP]]%0a%3c # [[openbsd:file|File System]]%0a%3c # [[openbsd:news|Newsreaders]]%0a%3c # [[openbsd:rss|RSS]]%0a%3c # [[openbsd:langs|Programming Languages]]%0a%3c # [[openbsd:upgrade|Upgrading]]%0a%3c # [[openbsd:shell|Shell accounts]]%0a%3c # [[openbsd:vmm|Virtualization]]%0a\ No newline at end of file%0a---%0a> - [[openbsd:hardware|Hardware]]%0a> - [[openbsd:net|Networking]]%0a> - [[openbsd:www|Web]]%0a> - [[openbsd:irc|IRC]]%0a> - [[openbsd:xmpp|XMPP]]%0a> - [[openbsd:matrix|Matrix]]%0a> - [[openbsd:dns|DNS]]%0a> - [[openbsd:crypto|Cryptography]]%0a> - [[openbsd:media|Multimedia]]%0a> - [[openbsd:mail|Mail]]%0a> - [[openbsd:vcs|Version Control]]%0a> - [[openbsd:telephony|Telephony]]%0a> - [[openbsd:desktop|Desktop]]%0a> - [[openbsd:utilities|Utilities]]%0a> - [[openbsd:ldap|LDAP]]%0a> - [[openbsd:file|File System]]%0a> - [[openbsd:news|Newsreaders]]%0a> - [[openbsd:rss|RSS]]%0a> - [[openbsd:langs|Programming Languages]]%0a> - [[openbsd:upgrade|Upgrading]]%0a> - [[openbsd:shell|Shell accounts]]%0a> - [[openbsd:vmm|Virtualization]]%0a\ No newline at end of file%0a +host:1597030876=38.81.163.143 +author:1596442138=jrmu +diff:1596442138:1596442101:=21c21%0a%3c You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]].%0a---%0a> You can find help in our unofficial [[ircs://irc.ircnow.org/#openbsd|OpenBSD]] IRC channel.%0a +host:1596442138=38.81.163.143 +author:1596442101=jrmu +diff:1596442101:1596441921:= +host:1596442101=38.81.163.143 +author:1596441921=jrmu +diff:1596441921:1596441727:=9c9%0a%3c [@%0a---%0a> %3ccode>%0a11c11%0a%3c @]%0a---%0a> %3c/code>%0a +host:1596441921=38.81.163.143 +author:1596441727=jrmu +diff:1596441727:1596189997:=1,6c1,6%0a%3c (:title OpenBSD Guides:)%0a%3c %0a%3c The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%3c %0a%3c !! Sample Config Files%0a%3c %0a---%0a> ====== OpenBSD FAQ ======%0a> %0a> The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the authoritative source for information. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|opensmtpd]].%0a> %0a> ====== Sample Config Files ======%0a> %0a15,16c15,16%0a%3c !! Mailing Lists%0a%3c %0a---%0a> ====== Mailing Lists ======%0a> %0a19c19%0a%3c !! IRC Chat Room%0a---%0a> ====== IRC Chat Room ======%0a +host:1596441727=38.81.163.143 +author:1596189997=jrmu +diff:1596189997:1596189997:=1,44d0%0a%3c ====== OpenBSD FAQ ======%0a%3c %0a%3c The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the authoritative source for information. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|opensmtpd]].%0a%3c %0a%3c ====== Sample Config Files ======%0a%3c %0a%3c Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. Then start like so:%0a%3c %0a%3c %3ccode>%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c %3c/code>%0a%3c %0a%3c And work using that configuration file as a template.%0a%3c %0a%3c ====== Mailing Lists ======%0a%3c %0a%3c You can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%3c %0a%3c ====== IRC Chat Room ======%0a%3c %0a%3c You can find help in our unofficial [[ircs://irc.ircnow.org/#openbsd|OpenBSD]] IRC channel.%0a%3c %0a%3c - [[openbsd:hardware|Hardware]]%0a%3c - [[openbsd:net|Networking]]%0a%3c - [[openbsd:www|Web]]%0a%3c - [[openbsd:irc|IRC]]%0a%3c - [[openbsd:xmpp|XMPP]]%0a%3c - [[openbsd:matrix|Matrix]]%0a%3c - [[openbsd:dns|DNS]]%0a%3c - [[openbsd:crypto|Cryptography]]%0a%3c - [[openbsd:media|Multimedia]]%0a%3c - [[openbsd:mail|Mail]]%0a%3c - [[openbsd:vcs|Version Control]]%0a%3c - [[openbsd:telephony|Telephony]]%0a%3c - [[openbsd:desktop|Desktop]]%0a%3c - [[openbsd:utilities|Utilities]]%0a%3c - [[openbsd:ldap|LDAP]]%0a%3c - [[openbsd:file|File System]]%0a%3c - [[openbsd:news|Newsreaders]]%0a%3c - [[openbsd:rss|RSS]]%0a%3c - [[openbsd:langs|Programming Languages]]%0a%3c - [[openbsd:upgrade|Upgrading]]%0a%3c - [[openbsd:shell|Shell accounts]]%0a%3c - [[openbsd:vmm|Virtualization]]%0a\ No newline at end of file%0a +host:1596189997=38.81.163.143 blob - /dev/null blob + 7f4167ca6159cbea7982097f7d630cfeeb221fd7 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Hopm @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597743831 +host=125.231.20.163 +name=Openbsd.Hopm +rev=3 +targets=Openbsd.Doas +text=!! Pre-requisites%0a# It is assumed you have ''[[Openbsd/Doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a# It is assumed you have ran ''adduser'' before. If not, you can run it and the majority of the defaults are fine.%0a# It is **also** assumed you have your own favourite text editor. If you **do not have** a favourite text editor, I recommend installing ''nano'' via ''doas pkg_add nano''. You must know how to use your favourite text editor as I won't cover you on how to use it.%0a%0a!! Installation%0aCreate hopm as its own user.%0a%0a[@%0a$ doas adduser%0aUse option ``-silent'' if you don't want to see all warnings and questions.%0a%0aReading /etc/shells%0aCheck /etc/master.passwd%0aCheck /etc/group%0a%0aOk, let's go.%0aDon't worry about mistakes. There will be a chance later to correct any input.%0aEnter username []: hopm%0aEnter full name []: hopm%0aEnter shell bash csh jk_chrootsh ksh nologin sh [ksh]: nologin%0aUid [1002]: 65532%0aLogin group hopm [hopm]: %0aLogin group is ``hopm''. Invite hopm into other groups: guest no %0a[no]: %0aLogin class authpf bgpd daemon default pbuild staff unbound znc %0a[default]: daemon%0aEnter password []: %0aDisable password logins for the user? (y/n) [n]: y%0a%0aName: hopm%0aPassword: ****%0aFullname: hopm%0aUid: 65532%0aGid: 65532 (hopm)%0aGroups: hopm %0aLogin Class: daemon%0aHOME: /home/hopm%0aShell: /sbin/nologin%0aOK? (y/n) [y]: %0aAdded user ``hopm''%0aCopy files from /etc/skel to /home/hopm%0aAdd another user? (y/n) [y]: n%0aGoodbye!%0a@]%0a%0aInstall the necessary ''wget'' package which is required for pulling files. ''gmake'' is required for compiling and installing.%0a[@%0a$ doas pkg_add wget gmake%0a@]%0a%0aGrab the latest [[https://github.com/ircd-hybrid/hopm/releases|hopm]]. As of writing, 1.1.6 is the latest.%0a[@%0a$ doas -u hopm wget "https://github.com/ircd-hybrid/hopm/archive/1.1.6.tar.gz" -O "/home/hopm/hopm-1.1.6.tar.gz"%0a@]%0a%0aDecompress the downloaded tarball, after you navigate into its own home directory.%0a[@%0a$ cd /home/hopm%0a$ doas -u hopm tar zxf hopm-1.1.6.tar.gz%0a@]%0a%0aNavigate into the extracted path and run configure within it.%0a[@%0a$ cd hopm-1.1.6%0a$ doas -u hopm ./configure%0a@]%0a%0aRun ''gmake'' as per instructed. Then ''gmake install'' which will install into its ''$HOME/hopm'' by default.%0a[@%0a$ doas -u hopm gmake%0a$ doas -u hopm gmake install%0a@]%0a%0aCopy ''hopm/etc/reference.conf'' as ''hopm/etc/hopm.conf'' and edit with **your own favourite text editor**. In my case I use ''vim''.%0a[@%0a$ cd ../hopm/etc%0a$ doas -u hopm cp reference.conf hopm.conf%0a$ doas -u hopm vim hopm.conf%0a@]%0a%0aMake necessary adjustments within the ''hopm.conf'' to suit your server/network configuration. Save and exit out of **your own favourite text editor**. In the first few running instances, I would enable debug mode to see if there were any issues with the configuration.%0a[@%0a$ cd ../bin%0a$ doas -u hopm hopm -dd%0a@]%0a%0a!! Troubleshooting%0aGetting hopm configured right can be tricky. So, here are some few hints and tips.%0a%0a# Ideally, for the initial testing/trialling phase, you do not want hopm to be running in the background. This is especially true if you aren't familiar with UNIX. To workaround this, you can run hopm with -d, e.g.%0a[@%0a$ ./hopm -d%0a@]%0aYou can specify the -d however many times needed but its usefulness typically stops after the second "d",%0a[@%0a$ ./hopm -dd%0a@]%0aAlso see [[https://github.com/ircd-hybrid/hopm/blob/master/README|here]]%0a%0aIf you see this error:%0a%0a[@%0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a[2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a@]%0a%0aThis may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a%0a!! Run Hopm as System Daemon%0aFor this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a%0a# Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed. +time=1611418362 +author:1611418362=jrmu +diff:1611418362:1610543985:=100,109d99%0a%3c %0a%3c If you see this error:%0a%3c %0a%3c [@%0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a%3c [2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a%3c @]%0a%3c %0a%3c This may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a +host:1611418362=125.231.20.163 +author:1610543985=miniontoby +csum:1610543985=doas url fix +diff:1610543985:1597743831:=2c2%0a%3c # It is assumed you have ''[[Openbsd/Doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a---%0a> # It is assumed you have ''[[openbsd:doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a +host:1610543985=145.132.146.30 +author:1597743831=jrmu +diff:1597743831:1597743831:=1,104d0%0a%3c !! Pre-requisites%0a%3c # It is assumed you have ''[[openbsd:doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a%3c # It is assumed you have ran ''adduser'' before. If not, you can run it and the majority of the defaults are fine.%0a%3c # It is **also** assumed you have your own favourite text editor. If you **do not have** a favourite text editor, I recommend installing ''nano'' via ''doas pkg_add nano''. You must know how to use your favourite text editor as I won't cover you on how to use it.%0a%3c %0a%3c !! Installation%0a%3c Create hopm as its own user.%0a%3c %0a%3c [@%0a%3c $ doas adduser%0a%3c Use option ``-silent'' if you don't want to see all warnings and questions.%0a%3c %0a%3c Reading /etc/shells%0a%3c Check /etc/master.passwd%0a%3c Check /etc/group%0a%3c %0a%3c Ok, let's go.%0a%3c Don't worry about mistakes. There will be a chance later to correct any input.%0a%3c Enter username []: hopm%0a%3c Enter full name []: hopm%0a%3c Enter shell bash csh jk_chrootsh ksh nologin sh [ksh]: nologin%0a%3c Uid [1002]: 65532%0a%3c Login group hopm [hopm]: %0a%3c Login group is ``hopm''. Invite hopm into other groups: guest no %0a%3c [no]: %0a%3c Login class authpf bgpd daemon default pbuild staff unbound znc %0a%3c [default]: daemon%0a%3c Enter password []: %0a%3c Disable password logins for the user? (y/n) [n]: y%0a%3c %0a%3c Name: hopm%0a%3c Password: ****%0a%3c Fullname: hopm%0a%3c Uid: 65532%0a%3c Gid: 65532 (hopm)%0a%3c Groups: hopm %0a%3c Login Class: daemon%0a%3c HOME: /home/hopm%0a%3c Shell: /sbin/nologin%0a%3c OK? (y/n) [y]: %0a%3c Added user ``hopm''%0a%3c Copy files from /etc/skel to /home/hopm%0a%3c Add another user? (y/n) [y]: n%0a%3c Goodbye!%0a%3c @]%0a%3c %0a%3c Install the necessary ''wget'' package which is required for pulling files. ''gmake'' is required for compiling and installing.%0a%3c [@%0a%3c $ doas pkg_add wget gmake%0a%3c @]%0a%3c %0a%3c Grab the latest [[https://github.com/ircd-hybrid/hopm/releases|hopm]]. As of writing, 1.1.6 is the latest.%0a%3c [@%0a%3c $ doas -u hopm wget "https://github.com/ircd-hybrid/hopm/archive/1.1.6.tar.gz" -O "/home/hopm/hopm-1.1.6.tar.gz"%0a%3c @]%0a%3c %0a%3c Decompress the downloaded tarball, after you navigate into its own home directory.%0a%3c [@%0a%3c $ cd /home/hopm%0a%3c $ doas -u hopm tar zxf hopm-1.1.6.tar.gz%0a%3c @]%0a%3c %0a%3c Navigate into the extracted path and run configure within it.%0a%3c [@%0a%3c $ cd hopm-1.1.6%0a%3c $ doas -u hopm ./configure%0a%3c @]%0a%3c %0a%3c Run ''gmake'' as per instructed. Then ''gmake install'' which will install into its ''$HOME/hopm'' by default.%0a%3c [@%0a%3c $ doas -u hopm gmake%0a%3c $ doas -u hopm gmake install%0a%3c @]%0a%3c %0a%3c Copy ''hopm/etc/reference.conf'' as ''hopm/etc/hopm.conf'' and edit with **your own favourite text editor**. In my case I use ''vim''.%0a%3c [@%0a%3c $ cd ../hopm/etc%0a%3c $ doas -u hopm cp reference.conf hopm.conf%0a%3c $ doas -u hopm vim hopm.conf%0a%3c @]%0a%3c %0a%3c Make necessary adjustments within the ''hopm.conf'' to suit your server/network configuration. Save and exit out of **your own favourite text editor**. In the first few running instances, I would enable debug mode to see if there were any issues with the configuration.%0a%3c [@%0a%3c $ cd ../bin%0a%3c $ doas -u hopm hopm -dd%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c Getting hopm configured right can be tricky. So, here are some few hints and tips.%0a%3c %0a%3c # Ideally, for the initial testing/trialling phase, you do not want hopm to be running in the background. This is especially true if you aren't familiar with UNIX. To workaround this, you can run hopm with -d, e.g.%0a%3c [@%0a%3c $ ./hopm -d%0a%3c @]%0a%3c You can specify the -d however many times needed but its usefulness typically stops after the second "d",%0a%3c [@%0a%3c $ ./hopm -dd%0a%3c @]%0a%3c Also see [[https://github.com/ircd-hybrid/hopm/blob/master/README|here]]%0a%3c %0a%3c !! Run Hopm as System Daemon%0a%3c For this refer to this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a%3c %0a%3c # Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a +host:1597743831=38.81.163.143 blob - /dev/null blob + 27d8b43307146657c6b157c8d80160617ca08456 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Hopm-Arthur @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0 +author=Arthur +charset=UTF-8 +csum= +ctime=1620390347 +host=179.228.49.181 +name=Openbsd.Hopm-Arthur +rev=4 +targets=Openbsd.Doas +text=!! Pre-requisites%0a# It is assumed you have ''[[Openbsd/Doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a# It is assumed you have ran ''adduser'' before. If not, you can run it and the majority of the defaults are fine.%0a# It is **also** assumed you have your own favourite text editor. If you **do not have** a favourite text editor, I recommend installing ''nano'' via ''doas pkg_add nano''. You must know how to use your favourite text editor as I won't cover you on how to use it.%0a%0a!! Installation%0aCreate hopm as its own user.%0a%0a[@%0a$ doas adduser%0aUse option ``-silent'' if you don't want to see all warnings and questions.%0a%0aReading /etc/shells%0aCheck /etc/master.passwd%0aCheck /etc/group%0a%0aOk, let's go.%0aDon't worry about mistakes. There will be a chance later to correct any input.%0aEnter username []: hopm%0aEnter full name []: hopm%0aEnter shell bash csh jk_chrootsh ksh nologin sh [ksh]: nologin%0aUid [1002]: 65532%0aLogin group hopm [hopm]: %0aLogin group is ``hopm''. Invite hopm into other groups: guest no %0a[no]: %0aLogin class authpf bgpd daemon default pbuild staff unbound znc %0a[default]: daemon%0aEnter password []: %0aDisable password logins for the user? (y/n) [n]: y%0a%0aName: hopm%0aPassword: ****%0aFullname: hopm%0aUid: 65532%0aGid: 65532 (hopm)%0aGroups: hopm %0aLogin Class: daemon%0aHOME: /home/hopm%0aShell: /sbin/nologin%0aOK? (y/n) [y]: %0aAdded user ``hopm''%0aCopy files from /etc/skel to /home/hopm%0aAdd another user? (y/n) [y]: n%0aGoodbye!%0a@]%0a%0aInstall the necessary ''wget'' package which is required for pulling files. ''gmake'' is required for compiling and installing.%0a[@%0a$ doas pkg_add wget gmake%0a@]%0a%0aGrab the latest [[https://github.com/ircd-hybrid/hopm/releases|hopm]]. As of writing, 1.1.6 is the latest.%0a[@%0a$ doas -u hopm wget "https://github.com/ircd-hybrid/hopm/archive/1.1.6.tar.gz" -O "/home/hopm/hopm-1.1.6.tar.gz"%0a@]%0a%0aDecompress the downloaded tarball, after you navigate into its own home directory.%0a[@%0a$ cd /home/hopm%0a$ doas -u hopm tar zxf hopm-1.1.6.tar.gz%0a@]%0a%0aNavigate into the extracted path and run configure within it.%0a[@%0a$ cd hopm-1.1.6%0a$ doas -u hopm ./configure%0a@]%0a%0aRun ''gmake'' as per instructed. Then ''gmake install'' which will install into its ''$HOME/hopm'' by default.%0a[@%0a$ doas -u hopm gmake%0a$ doas -u hopm gmake install%0a@]%0a%0aCopy ''hopm/etc/reference.conf'' as ''hopm/etc/hopm.conf'' and edit with **your own favourite text editor**. In my case I use ''vim''.%0a[@%0a$ cd ../hopm/etc%0a$ doas -u hopm cp reference.conf hopm.conf%0a$ doas -u hopm vim hopm.conf%0a@]%0a%0aMake necessary adjustments within the ''hopm.conf'' to suit your server/network configuration. Save and exit out of **your own favourite text editor**. In the first few running instances, I would enable debug mode to see if there were any issues with the configuration.%0a[@%0a$ cd ../bin%0a$ doas -u hopm hopm -dd%0a@]%0a%0a!! Troubleshooting%0aGetting hopm configured right can be tricky. So, here are some few hints and tips.%0a%0a# Ideally, for the initial testing/trialling phase, you do not want hopm to be running in the background. This is especially true if you aren't familiar with UNIX. To workaround this, you can run hopm with -d, e.g.%0a[@%0a$ ./hopm -d%0a@]%0aYou can specify the -d however many times needed but its usefulness typically stops after the second "d",%0a[@%0a$ ./hopm -dd%0a@]%0aAlso see [[https://github.com/ircd-hybrid/hopm/blob/master/README|here]]%0a%0aIf you see this error:%0a%0a[@%0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a[2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a[2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a@]%0a%0aThis may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a%0a!! Run Hopm as System Daemon%0aCreate a file at /etc/rc.d/hopm%0a%0aAdd the following lines to it:%0a%0a[@%0a#!/bin/ksh%0adaemon="/home/hopm/hopm/bin/hopm"%0a. /etc/rc.d/rc.subr%0arc_cmd $1%0a@]%0a%0aRun these commands to start hopm immediately and have it started on every boot:%0a%0a[@%0adoas chmod +x /etc/rc.d/hopm%0adoas rcctl start hopm%0adoas rcctl enable hopm%0a@]%0a%0aAdditional details can be found on this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a%0aSyntax errors when hopm is running in foreground: this is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed. +time=1620390512 +author:1620390512=Arthur +diff:1620390512:1620390441:=114,115c114,115%0a%3c Add the following lines to it:%0a%3c %0a---%0a> Add the following script to it:%0a> %0a123c123%0a%3c Run these commands to start hopm immediately and have it started on every boot:%0a---%0a> Run these commands to start hopm immediately and also make sure that it is started on boot:%0a +host:1620390512=179.228.49.181 +author:1620390441=Arthur +diff:1620390441:1620390391:=133c133%0a%3c Syntax errors when hopm is running in foreground: this is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a---%0a> '''Troubleshooting:''' Syntax errors when hopm is running in foreground: this is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a +host:1620390441=179.228.49.181 +author:1620390391=Arthur +diff:1620390391:1620390347:=126d125%0a%3c doas chmod +x /etc/rc.d/hopm%0a +host:1620390391=179.228.49.181 +author:1620390347=Arthur +diff:1620390347:1620390347:=1,132d0%0a%3c !! Pre-requisites%0a%3c # It is assumed you have ''[[Openbsd/Doas|doas]]'' configured properly. If you do not have this configured properly and are interfacing with your server as root, you are asking for trouble!%0a%3c # It is assumed you have ran ''adduser'' before. If not, you can run it and the majority of the defaults are fine.%0a%3c # It is **also** assumed you have your own favourite text editor. If you **do not have** a favourite text editor, I recommend installing ''nano'' via ''doas pkg_add nano''. You must know how to use your favourite text editor as I won't cover you on how to use it.%0a%3c %0a%3c !! Installation%0a%3c Create hopm as its own user.%0a%3c %0a%3c [@%0a%3c $ doas adduser%0a%3c Use option ``-silent'' if you don't want to see all warnings and questions.%0a%3c %0a%3c Reading /etc/shells%0a%3c Check /etc/master.passwd%0a%3c Check /etc/group%0a%3c %0a%3c Ok, let's go.%0a%3c Don't worry about mistakes. There will be a chance later to correct any input.%0a%3c Enter username []: hopm%0a%3c Enter full name []: hopm%0a%3c Enter shell bash csh jk_chrootsh ksh nologin sh [ksh]: nologin%0a%3c Uid [1002]: 65532%0a%3c Login group hopm [hopm]: %0a%3c Login group is ``hopm''. Invite hopm into other groups: guest no %0a%3c [no]: %0a%3c Login class authpf bgpd daemon default pbuild staff unbound znc %0a%3c [default]: daemon%0a%3c Enter password []: %0a%3c Disable password logins for the user? (y/n) [n]: y%0a%3c %0a%3c Name: hopm%0a%3c Password: ****%0a%3c Fullname: hopm%0a%3c Uid: 65532%0a%3c Gid: 65532 (hopm)%0a%3c Groups: hopm %0a%3c Login Class: daemon%0a%3c HOME: /home/hopm%0a%3c Shell: /sbin/nologin%0a%3c OK? (y/n) [y]: %0a%3c Added user ``hopm''%0a%3c Copy files from /etc/skel to /home/hopm%0a%3c Add another user? (y/n) [y]: n%0a%3c Goodbye!%0a%3c @]%0a%3c %0a%3c Install the necessary ''wget'' package which is required for pulling files. ''gmake'' is required for compiling and installing.%0a%3c [@%0a%3c $ doas pkg_add wget gmake%0a%3c @]%0a%3c %0a%3c Grab the latest [[https://github.com/ircd-hybrid/hopm/releases|hopm]]. As of writing, 1.1.6 is the latest.%0a%3c [@%0a%3c $ doas -u hopm wget "https://github.com/ircd-hybrid/hopm/archive/1.1.6.tar.gz" -O "/home/hopm/hopm-1.1.6.tar.gz"%0a%3c @]%0a%3c %0a%3c Decompress the downloaded tarball, after you navigate into its own home directory.%0a%3c [@%0a%3c $ cd /home/hopm%0a%3c $ doas -u hopm tar zxf hopm-1.1.6.tar.gz%0a%3c @]%0a%3c %0a%3c Navigate into the extracted path and run configure within it.%0a%3c [@%0a%3c $ cd hopm-1.1.6%0a%3c $ doas -u hopm ./configure%0a%3c @]%0a%3c %0a%3c Run ''gmake'' as per instructed. Then ''gmake install'' which will install into its ''$HOME/hopm'' by default.%0a%3c [@%0a%3c $ doas -u hopm gmake%0a%3c $ doas -u hopm gmake install%0a%3c @]%0a%3c %0a%3c Copy ''hopm/etc/reference.conf'' as ''hopm/etc/hopm.conf'' and edit with **your own favourite text editor**. In my case I use ''vim''.%0a%3c [@%0a%3c $ cd ../hopm/etc%0a%3c $ doas -u hopm cp reference.conf hopm.conf%0a%3c $ doas -u hopm vim hopm.conf%0a%3c @]%0a%3c %0a%3c Make necessary adjustments within the ''hopm.conf'' to suit your server/network configuration. Save and exit out of **your own favourite text editor**. In the first few running instances, I would enable debug mode to see if there were any issues with the configuration.%0a%3c [@%0a%3c $ cd ../bin%0a%3c $ doas -u hopm hopm -dd%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c Getting hopm configured right can be tricky. So, here are some few hints and tips.%0a%3c %0a%3c # Ideally, for the initial testing/trialling phase, you do not want hopm to be running in the background. This is especially true if you aren't familiar with UNIX. To workaround this, you can run hopm with -d, e.g.%0a%3c [@%0a%3c $ ./hopm -d%0a%3c @]%0a%3c You can specify the -d however many times needed but its usefulness typically stops after the second "d",%0a%3c [@%0a%3c $ ./hopm -dd%0a%3c @]%0a%3c Also see [[https://github.com/ircd-hybrid/hopm/blob/master/README|here]]%0a%3c %0a%3c If you see this error:%0a%3c %0a%3c [@%0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused %0a%3c [2021-01-23T09:59:14-0600] IRC -> Connection to (username.coconut.ircnow.org) failed, reconnecting. %0a%3c [2021-01-23T09:59:14-0600] IRC -> connect(): error connecting to username.coconut.ircnow.org: Connection refused%0a%3c @]%0a%3c %0a%3c This may be due to a configuration issue with ngircd. In particular, if the hostname has an AAAA record, hopm may be trying to connect via IPv6 but ngircd does not listen to IPv6 connections.%0a%3c %0a%3c !! Run Hopm as System Daemon%0a%3c Create a file at /etc/rc.d/hopm%0a%3c %0a%3c Add the following script to it:%0a%3c %0a%3c [@%0a%3c #!/bin/ksh%0a%3c daemon="/home/hopm/hopm/bin/hopm"%0a%3c . /etc/rc.d/rc.subr%0a%3c rc_cmd $1%0a%3c @]%0a%3c %0a%3c Run these commands to start hopm immediately and also make sure that it is started on boot:%0a%3c %0a%3c [@%0a%3c doas rcctl start hopm%0a%3c doas rcctl enable hopm%0a%3c @]%0a%3c %0a%3c Additional details can be found on this page https://ircnow.org/kb/doku.php?id=openbsd:rc.d%0a%3c %0a%3c '''Troubleshooting:''' Syntax errors when hopm is running in foreground: this is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a\ No newline at end of file%0a +host:1620390347=179.228.49.181 blob - /dev/null blob + 1dac15764a7255182aae11ad66b320a1e87c7f16 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Httpopenproxy @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611916611 +host=125.231.24.226 +name=Openbsd.Httpopenproxy +rev=5 +targets=Openbsd.Openhttpd,Openbsd.Pf +text=(:title HTTP Open Proxies:)%0a%0aAn open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%0aIRC Networks will often check to see if your IP address is running an HTTP open proxy. If they discover it, they may ban your entire IP address:%0a%0a[@%0a17:55 -!- usename [username@fruit.ircnow.org] has quit [K-banned: [exp/proxy] Open proxies are not allowed on DALnet. See http://kline.dal.net/proxy/proxyinfo.php?proxy=HTTPPOST&ip=192.168.0.1&port=8080 for more information. (2021/01/29 09.55)]%0a@]%0a%0aNormally this should not occur if you have properly configured [[openbsd/openhttpd|openhttpd]] and have not installed any insecure web applications or open web proxies.%0a%0aFirst, double check to make sure there are no insecure web applications or open web proxies.%0a%0aSecondly, make sure your firewall bans any packets to incoming ports except those that have been whitelisted by [[openbsd/pf|your firewall]]. For example, blocking port 8080 here would have prevented the proxy scanner from reporting an open proxy. +time=1611918062 +title=HTTP Open Proxies +author:1611918062=jrmu +diff:1611918062:1611918027:=11c11%0a%3c Normally this should not occur if you have properly configured [[openbsd/openhttpd|openhttpd]] and have not installed any insecure web applications or open web proxies.%0a---%0a> Normally this should not occur if you have properly configured [[openbsd/|openhttpd|openhttpd]] and have not installed any insecure web applications or open web proxies.%0a +host:1611918062=125.231.24.226 +author:1611918027=jrmu +diff:1611918027:1611916937:=15c15,16%0a%3c Secondly, make sure your firewall bans any packets to incoming ports except those that have been whitelisted by [[openbsd/pf|your firewall]]. For example, blocking port 8080 here would have prevented the proxy scanner from reporting an open proxy.%0a\ No newline at end of file%0a---%0a> Secondly, make sure your firewall bans any packets to incoming ports except those that have been whitelisted by [[openbsd/pf|your firewall]].%0a> %0a +host:1611918027=125.231.24.226 +author:1611916937=jrmu +diff:1611916937:1611916750:=7,16c7%0a%3c [@%0a%3c 17:55 -!- usename [username@fruit.ircnow.org] has quit [K-banned: [exp/proxy] Open proxies are not allowed on DALnet. See http://kline.dal.net/proxy/proxyinfo.php?proxy=HTTPPOST&ip=192.168.0.1&port=8080 for more information. (2021/01/29 09.55)]%0a%3c @]%0a%3c %0a%3c Normally this should not occur if you have properly configured [[openbsd/|openhttpd|openhttpd]] and have not installed any insecure web applications or open web proxies.%0a%3c %0a%3c First, double check to make sure there are no insecure web applications or open web proxies.%0a%3c %0a%3c Secondly, make sure your firewall bans any packets to incoming ports except those that have been whitelisted by [[openbsd/pf|your firewall]].%0a%3c %0a---%0a> 17:55 -!- usename [username@fruit.ircnow.org] has quit [K-banned: [exp/proxy] Open proxies are not allowed on DALnet. See http://kline.dal.net/proxy/proxyinfo.php?proxy=HTTPPOST&ip=192.168.0.1&port=80 for more information. (2021/01/29 09.55)]%0a +host:1611916937=125.231.24.226 +author:1611916750=jrmu +diff:1611916750:1611916611:=3,7d2%0a%3c An open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%3c %0a%3c IRC Networks will often check to see if your IP address is running an HTTP open proxy. If they discover it, they may ban your entire IP address:%0a%3c %0a%3c 17:55 -!- usename [username@fruit.ircnow.org] has quit [K-banned: [exp/proxy] Open proxies are not allowed on DALnet. See http://kline.dal.net/proxy/proxyinfo.php?proxy=HTTPPOST&ip=192.168.0.1&port=80 for more information. (2021/01/29 09.55)]%0a +host:1611916750=125.231.24.226 +author:1611916611=jrmu +diff:1611916611:1611916611:=1,2d0%0a%3c (:title HTTP Open Proxies:)%0a%3c %0a +host:1611916611=125.231.24.226 blob - /dev/null blob + 09e6aeb7c27626d9c3397b280d9faaa3815b84c8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.INN @@ -0,0 +1,54 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 +author=Dima +charset=UTF-8 +csum= +ctime=1610200298 +host=31.220.3.148 +name=Openbsd.INN +rev=14 +targets=OpenBSD.CPAN +text='''INCOMPLETE how-to.'''%0a%0a[@%0a1) Download Berkeley DB 4.8 at http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz%0a2) Verify sha256 checksum: e0491a07cdb21fb9aa82773bbbedaeb7639cbd0e7f96147ab46141e0045db72a%0a3) Get patch for Berkeley DB at https://gist.github.com/danieldk/5700533 .%0a4) Extract Berkeley DB source from archive.%0a5) Without a patch Berkeley DB won't build on OpenBSD. Execeute command "patch -p1 %3c gistfile1.txt", your target is "dbinc/atomic.h" file.%0a6) Create directory for installation: /home/deb3f6/bdb%0a7) Change dir to "build_unix", type there "../dist/configure --prefix=/home/deb3f6/bdb".%0a8) When complete previous step, type "make".%0a9) When complete previous step, type "make install clean".%0a%0aLibraries have been installed in:%0a /home/deb3f6/bdb/lib%0a%0a1) Dowoad Inn and pgp signature at ftp://ftp.isc.org/isc/inn/inn-2.6.3.tar.gz , ftp://ftp.isc.org/isc/inn/inn-2.6.3.tar.gz.asc%0a2) Verify PGP signature.%0a3) Extract Inn source from archive.%0a4) Change dir to "inn-2.6.3".%0a5) Execute "./autogen".%0a6) Execute "./configure --prefix=/home/deb3f6/inn --with-news-user=nobody --with-news-group=nobody --with-bdb=/home/deb3f6/bdb --without-openssl".%0a7) You may need to set variable "AUTOCONF_VERSION". Type ' AUTOCONF_VERSION="2.69" ; export AUTOCONF_VERSION '.%0a8) You may need to set variable ' LD_LIBRARY_PATH="/home/deb3f6/bdb/lib" ; export LD_LIBRARY_PATH '%0a9) Repeat step 6 if needed.%0a10) Execute "make install clean" command.%0a%0aLibraries have been installed in:%0a /home/deb3f6/inn/lib%0a%0acd /home/deb3f6/inn/db%0atouch history%0a../bin/makedbz -i%0amv history.n.dir history.dir %0amv history.n.hash history.hash %0amv history.n.index history.index%0achmod 644 *%0a@]%0a%0a!! Troubleshooting%0a@@■@@ [[OpenBSD.CPAN|CPAN issue]]: perl libraries may become unavailable due custom umask value. +time=1610461006 +author:1610461006=Dima +diff:1610461006:1610459896:=41c41,64%0a%3c @@■@@ [[OpenBSD.CPAN|CPAN issue]]: perl libraries may become unavailable due custom umask value.%0a\ No newline at end of file%0a---%0a> @@■@@ [[OpenBSD.CPAN|CPAN issue]]: perl libraries may become unavailable due custom umask value.%0a> %0a> [@%0a> 19:42 %3c Dima> I have this error. How to fix it? Can't load%0a> perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode:%0a> File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@%0a> at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a> 19:43 %3c Dima> jrmu: inn floods my log with this error%0a> 19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a> 19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima%0a> 19:44 %3c Dima> jrmu: I had it installed with CPAN%0a> 20:25 %3c~jrmu> I think this is the path on openbsd:%0a> /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a> 20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result%0a> only user "dima" had access to the required perl libraries.%0a> 20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with%0a> its task. I was wrong. I had a better opinion about perl.%0a> 20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a> 20:58 %3c~jrmu> write it down%0a> 20:58 %3c~jrmu> even if it's buggy%0a> 20:58 %3c~jrmu> we can always fix bugs later%0a> 20:59 %3c Dima> I did chmod 755%0a> 20:59 %3c Dima> there was something like rxw-x-x%0a> @]%0a\ No newline at end of file%0a +host:1610461006=31.220.3.148 +author:1610459896=Dima +diff:1610459896:1610459666:=41c41%0a%3c @@■@@ [[OpenBSD.CPAN|CPAN issue]]: perl libraries may become unavailable due custom umask value.%0a---%0a> [[OpenBSD.CPAN|CPAN issue]]%0a +host:1610459896=31.220.2.108 +author:1610459666=Dima +diff:1610459666:1610459577:=40a41,42%0a> %0a> [@%0a42,43c44,45%0a%3c %0a%3c [@%0a---%0a> [[OpenBSD/CPAN|Title]%0a> [[Openbsd/CPAN|CPAN issue]]%0a +host:1610459666=31.220.2.108 +author:1610459577=Dima +diff:1610459577:1610459543:=45d44%0a%3c [[Openbsd/CPAN|CPAN issue]]%0a +host:1610459577=31.220.2.108 +author:1610459543=deleted +diff:1610459543:1610459479:=44d43%0a%3c [[OpenBSD/CPAN|Title]%0a +host:1610459543=31.220.2.108 +author:1610459479=deleted +diff:1610459479:1610459360:=43c43%0a%3c [[OpenBSD.CPAN|CPAN issue]]%0a---%0a> [[https://wiki.ircnow.org/index.php?n=OpenBSD.CPAN|CPAN issue]]%0a +host:1610459479=31.220.2.108 +author:1610459360=deleted +diff:1610459360:1610459058:=43c43%0a%3c [[https://wiki.ircnow.org/index.php?n=OpenBSD.CPAN|CPAN issue]]%0a---%0a> [[Troubleshooting]] [[https://wiki.ircnow.org/index.php?n=OpenBSD.Perl]]%0a +host:1610459360=31.220.3.148 +author:1610459058=deleted +diff:1610459058:1610458903:=43c43%0a%3c [[Troubleshooting]] [[https://wiki.ircnow.org/index.php?n=OpenBSD.Perl]]%0a---%0a> [[Troubleshooting]], [[https://wiki.ircnow.org/index.php?n=OpenBSD.Perl]]%0a +host:1610459058=31.220.3.148 +author:1610458903=deleted +diff:1610458903:1610458402:=43d42%0a%3c [[Troubleshooting]], [[https://wiki.ircnow.org/index.php?n=OpenBSD.Perl]]%0a +host:1610458903=31.220.3.148 +author:1610458402=jrmu +diff:1610458402:1610458299:=38,62d37%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c [@%0a%3c 19:42 %3c Dima> I have this error. How to fix it? Can't load%0a%3c perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode:%0a%3c File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@%0a%3c at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a%3c 19:43 %3c Dima> jrmu: inn floods my log with this error%0a%3c 19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a%3c 19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima%0a%3c 19:44 %3c Dima> jrmu: I had it installed with CPAN%0a%3c 20:25 %3c~jrmu> I think this is the path on openbsd:%0a%3c /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a%3c 20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result%0a%3c only user "dima" had access to the required perl libraries.%0a%3c 20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with%0a%3c its task. I was wrong. I had a better opinion about perl.%0a%3c 20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a%3c 20:58 %3c~jrmu> write it down%0a%3c 20:58 %3c~jrmu> even if it's buggy%0a%3c 20:58 %3c~jrmu> we can always fix bugs later%0a%3c 20:59 %3c Dima> I did chmod 755%0a%3c 20:59 %3c Dima> there was something like rxw-x-x%0a +host:1610458402=125.224.27.48 +author:1610458299=jrmu +diff:1610458299:1610458197:=3d2%0a%3c [@%0a37,38c36%0a%3c chmod 644 *%0a%3c @]%0a\ No newline at end of file%0a---%0a> chmod 644 *%0a\ No newline at end of file%0a +host:1610458299=125.224.27.48 +author:1610458197=dima +diff:1610458197:1610200362:=1,36c1,22%0a%3c '''INCOMPLETE how-to.'''%0a%3c %0a%3c 1) Download Berkeley DB 4.8 at http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz%0a%3c 2) Verify sha256 checksum: e0491a07cdb21fb9aa82773bbbedaeb7639cbd0e7f96147ab46141e0045db72a%0a%3c 3) Get patch for Berkeley DB at https://gist.github.com/danieldk/5700533 .%0a%3c 4) Extract Berkeley DB source from archive.%0a%3c 5) Without a patch Berkeley DB won't build on OpenBSD. Execeute command "patch -p1 %3c gistfile1.txt", your target is "dbinc/atomic.h" file.%0a%3c 6) Create directory for installation: /home/deb3f6/bdb%0a%3c 7) Change dir to "build_unix", type there "../dist/configure --prefix=/home/deb3f6/bdb".%0a%3c 8) When complete previous step, type "make".%0a%3c 9) When complete previous step, type "make install clean".%0a%3c %0a%3c Libraries have been installed in:%0a%3c /home/deb3f6/bdb/lib%0a%3c %0a%3c 1) Dowoad Inn and pgp signature at ftp://ftp.isc.org/isc/inn/inn-2.6.3.tar.gz , ftp://ftp.isc.org/isc/inn/inn-2.6.3.tar.gz.asc%0a%3c 2) Verify PGP signature.%0a%3c 3) Extract Inn source from archive.%0a%3c 4) Change dir to "inn-2.6.3".%0a%3c 5) Execute "./autogen".%0a%3c 6) Execute "./configure --prefix=/home/deb3f6/inn --with-news-user=nobody --with-news-group=nobody --with-bdb=/home/deb3f6/bdb --without-openssl".%0a%3c 7) You may need to set variable "AUTOCONF_VERSION". Type ' AUTOCONF_VERSION="2.69" ; export AUTOCONF_VERSION '.%0a%3c 8) You may need to set variable ' LD_LIBRARY_PATH="/home/deb3f6/bdb/lib" ; export LD_LIBRARY_PATH '%0a%3c 9) Repeat step 6 if needed.%0a%3c 10) Execute "make install clean" command.%0a%3c %0a%3c Libraries have been installed in:%0a%3c /home/deb3f6/inn/lib%0a%3c %0a%3c cd /home/deb3f6/inn/db%0a%3c touch history%0a%3c ../bin/makedbz -i%0a%3c mv history.n.dir history.dir %0a%3c mv history.n.hash history.hash %0a%3c mv history.n.index history.index%0a%3c chmod 644 *%0a\ No newline at end of file%0a---%0a> [@%0a> 19:42 %3c Dima> I have this error. How to fix it? Can't load %0a> perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode: %0a> File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@ %0a> at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a> 19:43 %3c Dima> jrmu: inn floods my log with this error%0a> 19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a> 19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima %0a> 19:44 %3c Dima> jrmu: I had it installed with CPAN%0a> 20:25 %3c~jrmu> I think this is the path on openbsd: %0a> /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a> 20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result %0a> only user "dima" had access to the required perl libraries.%0a> 20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with %0a> its task. I was wrong. I had a better opinion about perl.%0a> 20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a> 20:58 %3c~jrmu> write it down%0a> 20:58 %3c~jrmu> even if it's buggy%0a> 20:58 %3c~jrmu> we can always fix bugs later%0a> 20:59 %3c Dima> I did chmod 755%0a> 20:59 %3c Dima> there was something like rxw-x-x%0a> @]%0a\ No newline at end of file%0a +host:1610458197=31.220.2.222 +author:1610200362=jrmu +diff:1610200362:1610200298:=1d0%0a%3c [@%0a22d20%0a%3c @]%0a\ No newline at end of file%0a +host:1610200362=125.224.19.86 +author:1610200298=jrmu +diff:1610200298:1610200298:=1,20d0%0a%3c 19:42 %3c Dima> I have this error. How to fix it? Can't load %0a%3c perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode: %0a%3c File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@ %0a%3c at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a%3c 19:43 %3c Dima> jrmu: inn floods my log with this error%0a%3c 19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a%3c 19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima %0a%3c 19:44 %3c Dima> jrmu: I had it installed with CPAN%0a%3c 20:25 %3c~jrmu> I think this is the path on openbsd: %0a%3c /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a%3c 20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result %0a%3c only user "dima" had access to the required perl libraries.%0a%3c 20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with %0a%3c its task. I was wrong. I had a better opinion about perl.%0a%3c 20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a%3c 20:58 %3c~jrmu> write it down%0a%3c 20:58 %3c~jrmu> even if it's buggy%0a%3c 20:58 %3c~jrmu> we can always fix bugs later%0a%3c 20:59 %3c Dima> I did chmod 755%0a%3c 20:59 %3c Dima> there was something like rxw-x-x%0a +host:1610200298=125.224.19.86 blob - /dev/null blob + d571dbbc975bf1cc047de1fa9436567611165e99 (mode 644) --- /dev/null +++ wiki.d/Openbsd.IPv6 @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597060209 +host=38.81.163.143 +name=Openbsd.IPv6 +rev=3 +targets= +text=IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%0aUnfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%0aIPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%0aWith IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%0aIn DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC. +time=1597242098 +author:1597242098=jrmu +diff:1597242098:1597241612:=3,9c3,5%0a%3c Unfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%3c %0a%3c IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%3c %0a%3c With IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%3c %0a%3c In DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC.%0a\ No newline at end of file%0a---%0a> Unfortunately, IPv6 is not backwards compatible with IPv4. Older IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to avoid losing users. This will increase the work for sysadmins. %0a> %0a> IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a\ No newline at end of file%0a +host:1597242098=38.81.163.143 +author:1597241612=jrmu +diff:1597241612:1597060209:=1,5c1,106%0a%3c IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%3c %0a%3c Unfortunately, IPv6 is not backwards compatible with IPv4. Older IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to avoid losing users. This will increase the work for sysadmins. %0a%3c %0a%3c IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a\ No newline at end of file%0a---%0a> If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a> %0a> Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a> %0a> Replace if with your own device name. Inside /etc/hostname.if0, put:%0a> %0a> [@%0a> inet 192.168.1.2 255.255.255.0%0a> inet alias 192.168.1.3 255.255.255.0%0a> inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a> inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a> inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a> inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a> inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a> inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a> inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a> inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a> inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a> inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a> inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a> inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a> inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a> inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a> inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a> inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a> inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a> inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a> inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a> inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a> inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a> inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a> inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a> inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a> inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a> inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a> inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a> inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a> inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a> inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a> inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a> inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a> inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a> @]%0a> %0a> Let's look at the first two lines:%0a> %0a> %3ccode>%0a> inet 192.168.1.2 255.255.255.0%0a> inet alias 192.168.1.3 255.255.255.0%0a> %3c/code>%0a> %0a> The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a> %0a> Let's look at lines 3 and 4:%0a> %0a> %3ccode>%0a> inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a> inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a> %3c/code>%0a> %0a> The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a> %0a> You will also need to specify the default gateway in /etc/mygate:%0a> %0a> %3ccode>%0a> 192.168.1.1%0a> 2001:0db8:0000:0000::1%0a> %3c/code>%0a> %0a> Sometimes, to restart networking, I will run:%0a> %0a> %3ccode>%0a> $ doas sh /etc/netstart%0a> %3c/code>%0a> %0a> But this doesn't seem to properly reset the networking sometimes.%0a> %0a> Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a> %0a> If you later decide you want to add a new ipv6 address, use ifconfig:%0a> %0a> %3ccode>%0a> $ doas ifconfig if0 inet6 2001:0db8::/64%0a> %3c/code>%0a> %0a> To delete the IPv6 address:%0a> %0a> %3ccode>%0a> $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a> %3c/code>%0a> %0a> Replace if0 with your specific interface.%0a> %0a> ----%0a> %0a> To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a> %0a> %3ccode>%0a> $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a> nick newnick%0a> user newuser * * :newuser%0a> PING :12345%0a> PONG :12345%0a> %3c/code>%0a> %0a> If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597241612=38.81.163.143 +author:1597060209=jrmu +diff:1597060209:1597060209:=1,106d0%0a%3c If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a%3c %0a%3c Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%3c %0a%3c Replace if with your own device name. Inside /etc/hostname.if0, put:%0a%3c %0a%3c [@%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a%3c inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a%3c inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a%3c inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a%3c inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a%3c inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a%3c inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a%3c inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a%3c inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a%3c inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a%3c inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a%3c inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a%3c inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a%3c inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a%3c inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a%3c inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a%3c inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a%3c inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a%3c inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a%3c inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a%3c inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a%3c inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a%3c inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a%3c inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a%3c inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a%3c inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a%3c inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a%3c @]%0a%3c %0a%3c Let's look at the first two lines:%0a%3c %0a%3c %3ccode>%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c %3c/code>%0a%3c %0a%3c The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%3c %0a%3c Let's look at lines 3 and 4:%0a%3c %0a%3c %3ccode>%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c %3c/code>%0a%3c %0a%3c The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c You will also need to specify the default gateway in /etc/mygate:%0a%3c %0a%3c %3ccode>%0a%3c 192.168.1.1%0a%3c 2001:0db8:0000:0000::1%0a%3c %3c/code>%0a%3c %0a%3c Sometimes, to restart networking, I will run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas sh /etc/netstart%0a%3c %3c/code>%0a%3c %0a%3c But this doesn't seem to properly reset the networking sometimes.%0a%3c %0a%3c Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a%3c %0a%3c If you later decide you want to add a new ipv6 address, use ifconfig:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64%0a%3c %3c/code>%0a%3c %0a%3c To delete the IPv6 address:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a%3c %3c/code>%0a%3c %0a%3c Replace if0 with your specific interface.%0a%3c %0a%3c ----%0a%3c %0a%3c To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%3c %0a%3c %3ccode>%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c %3c/code>%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597060209=38.81.163.143 blob - /dev/null blob + cdc4036e049f832f207d7400511ef8d6fc313cf0 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Icecast @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44 +author=mkf +charset=UTF-8 +csum= +ctime=1636420483 +host=5.238.160.208 +name=Openbsd.Icecast +rev=5 +targets= +text=Icecast is a modular free media audio software, written in C++.%0aIcecast itself is unable to manage audio formats and requires addons called "@@sources@@" to do.%0ain this guide, we use ices as our source.%0a!! Install%0a[@%0a$ doas pkg_add ices-0.4p12 icecast%0a@]%0a%0aedit @@/var/icecast/icecast.xml@@%0a[@%0a%3cicecast>%0a %3clocation>Earth%3c/location>%0a %3cadmin>username%3c/admin>%0a %3climits>%0a %3cclients>100%3c/clients>%0a %3csources>2%3c/sources>%0a %3cqueue-size>524288%3c/queue-size>%0a %3cclient-timeout>30%3c/client-timeout>%0a %3cheader-timeout>15%3c/header-timeout>%0a %3csource-timeout>10%3c/source-timeout>%0a %3cburst-on-connect>1%3c/burst-on-connect>%0a %3cburst-size>65535%3c/burst-size>%0a %3c/limits>%0a@]%0areplace username and Earth with your values.%0a%0a[@%0a %3cauthentication>%0a %3csource-password>hackme%3c/source-password>%0a %3cadmin-user>username%3c/admin-user>%0a %3cadmin-password>hackmemore%3c/admin-password>%0a %3c/authentication>%0a %3cshoutcast-mount>/shoutcast%3c/shoutcast-mount>%0a@]%0areplace @@source-passowrd@@ and @@admin-password@@ with a secure passoword and chanage username to your prefered value.%0a[@%0a %3chostname>example.com%3c/hostname>%0a %3clisten-socket>%0a %3cport>8000%3c/port>%0a %3cbind-address>0.0.0.0%3c/bind-address>%0a %3c/listen-socket>%0a %3clisten-socket>%0a %3cport>8080%3c/port>%0a %3c/listen-socket>%0a %3clisten-socket>%0a %3cport>8443%3c/port>%0a %3cssl>1%3c/ssl>%0a %3c/listen-socket>%0a@]%0areplace @@example.com@@ with your domain.%0anote that icecast can only listen to IPv4 or IPv6 (and not both)%0a%0a[@%0a %3cmount type="normal">%0a %3cmount-name>/radio%3c/mount-name>%0a %3cpublic>0%3c/public>%0a %3c/mount>%0a %3cfileserve>1%3c/fileserve>%0a@]%0aeach stream on icecast is called a mount, we will connect to mounts using our sources%0a%0a[@%0a %3cpaths>%0a %3cbasedir>/var/icecast%3c/basedir>%0a %3clogdir>/log%3c/logdir>%0a %3cwebroot>/web%3c/webroot>%0a %3cadminroot>/admin%3c/adminroot>%0a %3cpidfile>/var/run/icecast.pid%3c/pidfile>%0a %3calias source="/" destination="/status.xsl"/>%0a %3c!-- %3cssl-certificate>/var/icecast/etc/icecast.pem%3c/ssl-certificate> -->%0a %3c/paths>%0a@]%0ahere we configure paths, and ssl for port 8443. note that ssl certificate should have both private and public cert on same file. you can do that using%0a[@%0a# cat /path/to/public/cert.pem /path/to/private/key.key > /var/icecast/etc/icecast.pem%0a@]%0aand that will create it on @@/var/icecast/etc/icecast.pem@@%0a[@%0a %3clogging>%0a %3caccesslog>access.log%3c/accesslog>%0a %3cerrorlog>error.log%3c/errorlog>%0a %3c!-- %3cplaylistlog>playlist.log%3c/playlistlog> -->%0a %3cloglevel>3%3c/loglevel> %3c!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->%0a %3clogsize>10000%3c/logsize> %3c!-- Max size of a logfile -->%0a %3c/logging>%0a %3csecurity>%0a %3cchroot>1%3c/chroot>%0a %3cchangeowner>%0a %3cuser>_icecast%3c/user>%0a %3cgroup>_icecast%3c/group>%0a %3c/changeowner>%0a %3c/security>%0a%3c/icecast>%0a@]%0a%0anow, run and enable icecast%0a[@%0a$ doas rcctl enable icecast%0a$ doas rcctl start icecast%0a@]%0a%0a!! Ices%0anow we configure our source.%0acurrently there are two versions of Ices on OpenBSD repos, one is 0.4 and another one is 2.0%0aversion 2.0 only supports ogg files and version 0.4 only supports mp3 files, in this guide, we will use version 0.4%0atake a backup of /etc/ices.conf%0a[@%0a$ doas cp /etc/ices.conf /etc/ices.conf.bk%0a@]%0a%0aopen /etc/ices.conf%0a[@%0a%3c?xml version="1.0"?>%0a%3cices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">%0a %3cPlaylist>%0a %3cFile>/etc/radio.playlist%3c/File>%0a %3cRandomize>1%3c/Randomize>%0a %3cType>builtin%3c/Type>%0a %3cModule>ices%3c/Module>%0a %3cCrossfade>4%3c/Crossfade>%0a %3c/Playlist>%0a%0a %3cExecution>%0a %3cBackground>0%3c/Background>%0a %3cVerbose>0%3c/Verbose>%0a %3cBaseDirectory>/tmp/%3c/BaseDirectory>%0a %3c/Execution>%0a%0a %3cStream>%0a %3cServer>%0a %3cHostname>localhost%3c/Hostname>%0a %3cPort>8000%3c/Port>%0a %3cPassword>hackme/Password>%0a %3cProtocol>http%3c/Protocol>%0a %3c/Server>%0a%0a %3cMountpoint>/radio%3c/Mountpoint>%0a %3cName>My radio%3c/Name>%0a %3cGenre>Music%3c/Genre>%0a %3cDescription>This is my radio%3c/Description>%0a %3cBitrate>128%3c/Bitrate>%0a %3cChannels>2%3c/Channels>%0a %3c/Stream>%0a%3c/ices:Configuration>%0a@]%0a%0aadd your songs on /etc/radio.plist in following format%0a[@%0a/path/to/mp3/file.mp3%0a/path/to/another/mp3 file.mp3%0a@]%0a%0anote that they can include spaces as well.%0aafterwards, run ices%0a[@%0a$ doas ices -c /etc/ices.conf%0a@]%0a%0athen you can point your media player or browser to http://example.com:8000/radio and enjoy. +time=1636420973 +author:1636420973=mkf +diff:1636420973:1636420839:minor=2,3c2,3%0a%3c Icecast itself is unable to manage audio formats and requires addons called "@@sources@@" to do.%0a%3c in this guide, we use ices as our source.%0a---%0a> Icecast itself is unable to manage audio formats and requires addons called @@sources@@ to do.%0a> in this guide, we use Ices-0.4 as our source.%0a +host:1636420973=5.238.160.208 +author:1636420839=mkf +diff:1636420839:1636420775:minor=133c133%0a%3c %3cPassword>hackme/Password>%0a---%0a> %3cPassword>hackmemore/Password>%0a +host:1636420839=5.238.160.208 +author:1636420775=mkf +csum:1636420775=wheee +diff:1636420775:1636420510:=96,101d95%0a%3c now, run and enable icecast%0a%3c [@%0a%3c $ doas rcctl enable icecast%0a%3c $ doas rcctl start icecast%0a%3c @]%0a%3c %0a110d103%0a%3c %0a146,159d138%0a%3c %0a%3c add your songs on /etc/radio.plist in following format%0a%3c [@%0a%3c /path/to/mp3/file.mp3%0a%3c /path/to/another/mp3 file.mp3%0a%3c @]%0a%3c %0a%3c note that they can include spaces as well.%0a%3c afterwards, run ices%0a%3c [@%0a%3c $ doas ices -c /etc/ices.conf%0a%3c @]%0a%3c %0a%3c then you can point your media player or browser to http://example.com:8000/radio and enjoy.%0a\ No newline at end of file%0a +host:1636420775=5.238.160.208 +author:1636420510=mkf +csum:1636420510=no refunds, still. +diff:1636420510:1636420483:minor=3c3%0a%3c in this guide, we use Ices-0.4 as our source.%0a---%0a> in this guide, we use IceS-0.4 as our source.%0a +host:1636420510=5.238.160.208 +author:1636420483=mkf +csum:1636420483=tada! no refunds. +diff:1636420483:1636420483:=1,138d0%0a%3c Icecast is a modular free media audio software, written in C++.%0a%3c Icecast itself is unable to manage audio formats and requires addons called @@sources@@ to do.%0a%3c in this guide, we use IceS-0.4 as our source.%0a%3c !! Install%0a%3c [@%0a%3c $ doas pkg_add ices-0.4p12 icecast%0a%3c @]%0a%3c %0a%3c edit @@/var/icecast/icecast.xml@@%0a%3c [@%0a%3c %3cicecast>%0a%3c %3clocation>Earth%3c/location>%0a%3c %3cadmin>username%3c/admin>%0a%3c %3climits>%0a%3c %3cclients>100%3c/clients>%0a%3c %3csources>2%3c/sources>%0a%3c %3cqueue-size>524288%3c/queue-size>%0a%3c %3cclient-timeout>30%3c/client-timeout>%0a%3c %3cheader-timeout>15%3c/header-timeout>%0a%3c %3csource-timeout>10%3c/source-timeout>%0a%3c %3cburst-on-connect>1%3c/burst-on-connect>%0a%3c %3cburst-size>65535%3c/burst-size>%0a%3c %3c/limits>%0a%3c @]%0a%3c replace username and Earth with your values.%0a%3c %0a%3c [@%0a%3c %3cauthentication>%0a%3c %3csource-password>hackme%3c/source-password>%0a%3c %3cadmin-user>username%3c/admin-user>%0a%3c %3cadmin-password>hackmemore%3c/admin-password>%0a%3c %3c/authentication>%0a%3c %3cshoutcast-mount>/shoutcast%3c/shoutcast-mount>%0a%3c @]%0a%3c replace @@source-passowrd@@ and @@admin-password@@ with a secure passoword and chanage username to your prefered value.%0a%3c [@%0a%3c %3chostname>example.com%3c/hostname>%0a%3c %3clisten-socket>%0a%3c %3cport>8000%3c/port>%0a%3c %3cbind-address>0.0.0.0%3c/bind-address>%0a%3c %3c/listen-socket>%0a%3c %3clisten-socket>%0a%3c %3cport>8080%3c/port>%0a%3c %3c/listen-socket>%0a%3c %3clisten-socket>%0a%3c %3cport>8443%3c/port>%0a%3c %3cssl>1%3c/ssl>%0a%3c %3c/listen-socket>%0a%3c @]%0a%3c replace @@example.com@@ with your domain.%0a%3c note that icecast can only listen to IPv4 or IPv6 (and not both)%0a%3c %0a%3c [@%0a%3c %3cmount type="normal">%0a%3c %3cmount-name>/radio%3c/mount-name>%0a%3c %3cpublic>0%3c/public>%0a%3c %3c/mount>%0a%3c %3cfileserve>1%3c/fileserve>%0a%3c @]%0a%3c each stream on icecast is called a mount, we will connect to mounts using our sources%0a%3c %0a%3c [@%0a%3c %3cpaths>%0a%3c %3cbasedir>/var/icecast%3c/basedir>%0a%3c %3clogdir>/log%3c/logdir>%0a%3c %3cwebroot>/web%3c/webroot>%0a%3c %3cadminroot>/admin%3c/adminroot>%0a%3c %3cpidfile>/var/run/icecast.pid%3c/pidfile>%0a%3c %3calias source="/" destination="/status.xsl"/>%0a%3c %3c!-- %3cssl-certificate>/var/icecast/etc/icecast.pem%3c/ssl-certificate> -->%0a%3c %3c/paths>%0a%3c @]%0a%3c here we configure paths, and ssl for port 8443. note that ssl certificate should have both private and public cert on same file. you can do that using%0a%3c [@%0a%3c # cat /path/to/public/cert.pem /path/to/private/key.key > /var/icecast/etc/icecast.pem%0a%3c @]%0a%3c and that will create it on @@/var/icecast/etc/icecast.pem@@%0a%3c [@%0a%3c %3clogging>%0a%3c %3caccesslog>access.log%3c/accesslog>%0a%3c %3cerrorlog>error.log%3c/errorlog>%0a%3c %3c!-- %3cplaylistlog>playlist.log%3c/playlistlog> -->%0a%3c %3cloglevel>3%3c/loglevel> %3c!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->%0a%3c %3clogsize>10000%3c/logsize> %3c!-- Max size of a logfile -->%0a%3c %3c/logging>%0a%3c %3csecurity>%0a%3c %3cchroot>1%3c/chroot>%0a%3c %3cchangeowner>%0a%3c %3cuser>_icecast%3c/user>%0a%3c %3cgroup>_icecast%3c/group>%0a%3c %3c/changeowner>%0a%3c %3c/security>%0a%3c %3c/icecast>%0a%3c @]%0a%3c %0a%3c !! Ices%0a%3c now we configure our source.%0a%3c currently there are two versions of Ices on OpenBSD repos, one is 0.4 and another one is 2.0%0a%3c version 2.0 only supports ogg files and version 0.4 only supports mp3 files, in this guide, we will use version 0.4%0a%3c take a backup of /etc/ices.conf%0a%3c [@%0a%3c $ doas cp /etc/ices.conf /etc/ices.conf.bk%0a%3c @]%0a%3c open /etc/ices.conf%0a%3c [@%0a%3c %3c?xml version="1.0"?>%0a%3c %3cices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">%0a%3c %3cPlaylist>%0a%3c %3cFile>/etc/radio.playlist%3c/File>%0a%3c %3cRandomize>1%3c/Randomize>%0a%3c %3cType>builtin%3c/Type>%0a%3c %3cModule>ices%3c/Module>%0a%3c %3cCrossfade>4%3c/Crossfade>%0a%3c %3c/Playlist>%0a%3c %0a%3c %3cExecution>%0a%3c %3cBackground>0%3c/Background>%0a%3c %3cVerbose>0%3c/Verbose>%0a%3c %3cBaseDirectory>/tmp/%3c/BaseDirectory>%0a%3c %3c/Execution>%0a%3c %0a%3c %3cStream>%0a%3c %3cServer>%0a%3c %3cHostname>localhost%3c/Hostname>%0a%3c %3cPort>8000%3c/Port>%0a%3c %3cPassword>hackmemore/Password>%0a%3c %3cProtocol>http%3c/Protocol>%0a%3c %3c/Server>%0a%3c %0a%3c %3cMountpoint>/radio%3c/Mountpoint>%0a%3c %3cName>My radio%3c/Name>%0a%3c %3cGenre>Music%3c/Genre>%0a%3c %3cDescription>This is my radio%3c/Description>%0a%3c %3cBitrate>128%3c/Bitrate>%0a%3c %3cChannels>2%3c/Channels>%0a%3c %3c/Stream>%0a%3c %3c/ices:Configuration>%0a%3c @]%0a +host:1636420483=5.238.160.208 blob - /dev/null blob + 388d4d4fd344b54151e25292d19d65bf170a7d5f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Identd @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597743540 +host=38.81.163.143 +name=Openbsd.Identd +rev=1 +targets=Openbsd.Znc,Openbsd.Oidentd +text=Getting started with the identd provided by OpenBSD base is very simple.%0a%0a[@%0a$ doas rcctl enable identd%0a$ doas rcctl start identd%0a@]%0a%0aThat's it, you're set.%0a%0aThe one caveat is you can't spoof ident replies for bouncers like [[openbsd/znc|znc]]. For that, you will want to follow the instructions for [[openbsd/oidentd|oidentd]]. +time=1597743540 +author:1597743540=jrmu +diff:1597743540:1597743540:=1,10d0%0a%3c Getting started with the identd provided by OpenBSD base is very simple.%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable identd%0a%3c $ doas rcctl start identd%0a%3c @]%0a%3c %0a%3c That's it, you're set.%0a%3c %0a%3c The one caveat is you can't spoof ident replies for bouncers like [[openbsd/znc|znc]]. For that, you will want to follow the instructions for [[openbsd/oidentd|oidentd]].%0a\ No newline at end of file%0a +host:1597743540=38.81.163.143 blob - /dev/null blob + a6e1331d551895aa48e1490cbbe0c2caa31342a7 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Iked @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=updated, still doesn't work on 6.9 +ctime=1597227135 +host=198.251.81.133 +name=Openbsd.Iked +rev=7 +targets= +text=Note: this is made for OpenBSD 6.6, it has been not updated for latest version of OpenBSD (which is currently 6.9)%0a%0aAdd this to /etc/iked.conf (replace 192.168.1.1 with your server's public IP address):%0a%0a[@%0auser 'username' 'password'%0aikev2 'vpn.ircnow.org' passive esp \%0a from 0.0.0.0/0 to 0.0.0.0/0 \%0a local 192.168.1.1 peer any \%0a srcid vpn.ircnow.org \%0a eap "mschap-v2" \%0a config address 10.0.5.0/24 \%0a config name-server 192.168.1.1 \%0a tag "ROADW"%0a@]%0a%0aThe 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%0aAdd this to /etc/pf.conf:%0a%0a[@%0apass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0apass in inet proto esp tag IKED%0apass on enc0 inet tagged ROADW%0amatch out on vio inet tagged ROADW nat-to vio0%0amatch in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0aTo reload the new pf ruleset:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf %0a@]%0a%0aAt this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%0a[@%0a# ikectl ca vpn create%0a# ikectl ca vpn install%0acertificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0aCRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a# ikectl ca vpn certificate server1.domain create%0a# ikectl ca vpn certificate server1.domain install%0awriting RSA key%0a# cp /etc/iked/ca/ca.crt /var/www/htdocs/%0a@]%0a%0aWe will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%0a/etc/resolv.conf:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0a/etc/resolv.conf.tail:%0a%0a[@%0alookup file bind%0a@]%0a%0a/var/unbound/etc/unbound.conf:%0a%0a[@%0aoutgoing-interface: 203.0.113.5%0aaccess-control: 10.0.0.0/8 allow%0a...%0a%0alocal-zone: "www.domain.com" static%0a%0a...%0a@]%0a%0aThe local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%0a[@%0a$ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a@]%0a%0aWe need to reformat this hosts file:%0a%0a[@%0a$ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a$ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a$ sed 's/ "/"/' newhosts2 > newhosts3%0a@]%0a%0aManually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%0aDoes this need to be added to /etc/sysctl.conf:%0a%0a[@%0anet.inet.ip.forwarding=1%0anet.inet.ipcomp.enable=1%0a@]%0a%0a%0aTo start iked,%0a%0a[@%0a$ doas rcctl enable iked%0a$ doas rcctl start iked%0a@]%0a%0aTo turn on debugging, replace the last step with:%0a%0a[@%0a$ doas iked -dv%0a@]%0a%0aNote: You may consider using blacklists from here:%0a[@%0ahttps://dsi.ut-capitole.fr/blacklists/index_en.php%0ahttps://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0ahttps://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a@] +time=1628989736 +author:1628989736=mkf +csum:1628989736=updated, still doesn't work on 6.9 +diff:1628989736:1628967008:=95c95,98%0a%3c net.inet.ipcomp.enable=1%0a---%0a> #net.inet.ipcomp.enable=1%0a> #net.inet.esp.enable=1%0a> #these two are enabled?%0a> net.inet.ah.enable=1%0a102a106%0a> $ doas rcctl set iked flags -6%0a109c113%0a%3c $ doas iked -dv%0a---%0a> $ doas iked -6 -dv%0a +host:1628989736=198.251.81.133 +author:1628967008=mkf +diff:1628967008:1628966702:=95,97c95,96%0a%3c #net.inet.ipcomp.enable=1%0a%3c #net.inet.esp.enable=1%0a%3c #these two are enabled?%0a---%0a> net.inet.ipcomp.enable=1%0a> net.inet.esp.enable=1%0a +host:1628967008=198.251.81.133 +author:1628966702=mkf +diff:1628966702:1628960165:=3,4c3,4%0a%3c Add this to /etc/iked.conf (replace 192.168.1.1 with your server's public IP address):%0a%3c %0a---%0a> Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address):%0a> %0a9c9%0a%3c local 192.168.1.1 peer any \%0a---%0a> local 203.0.113.5 peer any \%0a13c13%0a%3c config name-server 192.168.1.1 \%0a---%0a> config name-server 203.0.113.5 \%0a25c25%0a%3c match out on vio inet tagged ROADW nat-to vio0%0a---%0a> match out on $ext_if inet tagged ROADW nat-to $ext_if%0a28a29,30%0a> where ext_if is your external interface.%0a> %0a72a75,80%0a> %0a> forward-zone:%0a> forward-addr: 185.121.177.177%0a> forward-addr: 169.239.202.202%0a> %0a> ...%0a116d123%0a%3c [@%0a120c127,132%0a%3c @]%0a\ No newline at end of file%0a---%0a> %0a> Banned networks:%0a> %0a> irc.p2p-network.net%0a> irc.gazellegames.net%0a> irc.nzbs.in%0a\ No newline at end of file%0a +host:1628966702=198.251.81.133 +author:1628960165=mkf +diff:1628960165:1620873930:=1c1%0a%3c Note: this is made for OpenBSD 6.6, it has been not updated for latest version of OpenBSD (which is currently 6.9)%0a---%0a> ====== OpenBSD 6.6 on amd64 ======%0a +host:1628960165=2.178.173.183 +author:1620873930=st13g +diff:1620873930:1612350661:= +host:1620873930=200.121.220.221 +author:1612350661=jrmu +diff:1612350661:1597227135:=5c5%0a%3c [@%0a---%0a> %3ccode>%0a15,16c15,16%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a21c21%0a%3c [@%0a---%0a> %3ccode>%0a27,28c27,28%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a33c33%0a%3c [@%0a---%0a> %3ccode>%0a35,36c35,36%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a39c39%0a%3c [@%0a---%0a> %3ccode>%0a48,49c48,49%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a54c54%0a%3c [@%0a---%0a> %3ccode>%0a57,58c57,58%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a61c61%0a%3c [@%0a---%0a> %3ccode>%0a63,64c63,64%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a67c67%0a%3c [@%0a---%0a> %3ccode>%0a81,82c81,82%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a85c85%0a%3c [@%0a---%0a> %3ccode>%0a87,88c87,88%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a91c91%0a%3c [@%0a---%0a> %3ccode>%0a95,96c95,96%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a101c101%0a%3c [@%0a---%0a> %3ccode>%0a106,108c106,108%0a%3c @]%0a%3c %0a%3c %0a---%0a> %3c/code>%0a> %0a> %0a111c111%0a%3c [@%0a---%0a> %3ccode>%0a115,116c115,116%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a119c119%0a%3c [@%0a---%0a> %3ccode>%0a121c121%0a%3c @]%0a---%0a> %3c/code>%0a +host:1612350661=125.231.56.15 +author:1597227135=jrmu +diff:1597227135:1597227135:=1,132d0%0a%3c ====== OpenBSD 6.6 on amd64 ======%0a%3c %0a%3c Add this to /etc/iked.conf (replace 203.0.113.5 with your server's public IP address):%0a%3c %0a%3c %3ccode>%0a%3c user 'username' 'password'%0a%3c ikev2 'vpn.ircnow.org' passive esp \%0a%3c from 0.0.0.0/0 to 0.0.0.0/0 \%0a%3c local 203.0.113.5 peer any \%0a%3c srcid vpn.ircnow.org \%0a%3c eap "mschap-v2" \%0a%3c config address 10.0.5.0/24 \%0a%3c config name-server 203.0.113.5 \%0a%3c tag "ROADW"%0a%3c %3c/code>%0a%3c %0a%3c The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%3c %0a%3c Add this to /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $ext_if inet tagged ROADW nat-to $ext_if%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %3c/code>%0a%3c %0a%3c where ext_if is your external interface.%0a%3c %0a%3c To reload the new pf ruleset:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -f /etc/pf.conf %0a%3c %3c/code>%0a%3c %0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%3c %0a%3c %3ccode>%0a%3c # ikectl ca vpn create%0a%3c # ikectl ca vpn install%0a%3c certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt%0a%3c CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl%0a%3c # ikectl ca vpn certificate server1.domain create%0a%3c # ikectl ca vpn certificate server1.domain install%0a%3c writing RSA key%0a%3c # cp /etc/iked/ca/ca.crt /var/www/htdocs/%0a%3c %3c/code>%0a%3c %0a%3c We will use unbound as the caching DNS resolver. Our servers have static IP addresses so we do not use DHCP (if DHCP is used, you must ignore the provided name servers):%0a%3c %0a%3c /etc/resolv.conf:%0a%3c %0a%3c %3ccode>%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c %3c/code>%0a%3c %0a%3c /etc/resolv.conf.tail:%0a%3c %0a%3c %3ccode>%0a%3c lookup file bind%0a%3c %3c/code>%0a%3c %0a%3c /var/unbound/etc/unbound.conf:%0a%3c %0a%3c %3ccode>%0a%3c outgoing-interface: 203.0.113.5%0a%3c access-control: 10.0.0.0/8 allow%0a%3c ...%0a%3c %0a%3c local-zone: "www.domain.com" static%0a%3c %0a%3c ...%0a%3c %0a%3c forward-zone:%0a%3c forward-addr: 185.121.177.177%0a%3c forward-addr: 169.239.202.202%0a%3c %0a%3c ...%0a%3c %3c/code>%0a%3c %0a%3c The local-zone lines are only needed if you want to filter/censor domains. You can obtain a list of domains to block using [[https://github.com/StevenBlack/hosts|StevenBlack's hosts]] files. I used the [[https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts|unified hosts + porn + gambling]] filter to block unwanted content.%0a%3c %0a%3c %3ccode>%0a%3c $ curl -L -O https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts%0a%3c %3c/code>%0a%3c %0a%3c We need to reformat this hosts file:%0a%3c %0a%3c %3ccode>%0a%3c $ awk '!/^ *#/ && NF' hosts > newhosts # taken from stevenblack's list%0a%3c $ sed 's/0\.0\.0\.0 \([^#]*\).*$/local-zone: "\1" static/' newhosts > newhosts2%0a%3c $ sed 's/ "/"/' newhosts2 > newhosts3%0a%3c %3c/code>%0a%3c %0a%3c Manually check for malformed entries, then put this into /var/unbound/etc/unbound.conf.%0a%3c %0a%3c Does this need to be added to /etc/sysctl.conf:%0a%3c %0a%3c %3ccode>%0a%3c net.inet.ip.forwarding=1%0a%3c net.inet.ipcomp.enable=1%0a%3c net.inet.esp.enable=1%0a%3c net.inet.ah.enable=1%0a%3c %3c/code>%0a%3c %0a%3c %0a%3c To start iked,%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl enable iked%0a%3c $ doas rcctl set iked flags -6%0a%3c $ doas rcctl start iked%0a%3c %3c/code>%0a%3c %0a%3c To turn on debugging, replace the last step with:%0a%3c %0a%3c %3ccode>%0a%3c $ doas iked -6 -dv%0a%3c %3c/code>%0a%3c %0a%3c Note: You may consider using blacklists from here:%0a%3c https://dsi.ut-capitole.fr/blacklists/index_en.php%0a%3c https://github.com/4skinSkywalker/anti-porn-hosts-file/blob/master/HOSTS.txt%0a%3c https://mirror1.malwaredomains.com/files/justdomains https://blocklist.site/app/dl/piracy https://blocklist.site/app/dl/torrent https://mirror1.malwaredomains.com/files/justdomains https://github.com/mmotti/pihole-regex/blob/master/regex.list https://blocklist.site/app/dl/porn%0a%3c %0a%3c Banned networks:%0a%3c %0a%3c irc.p2p-network.net%0a%3c irc.gazellegames.net%0a%3c irc.nzbs.in%0a\ No newline at end of file%0a +host:1597227135=38.81.163.143 blob - /dev/null blob + 27f14acbba91bb2c2705f057db50721873c8e395 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ilines @@ -0,0 +1,66 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597228591 +host=125.224.28.113 +name=Openbsd.Ilines +rev=18 +targets=Openbsd.TeamIrcIlines +text=(:redirect Ambassador.Ilines:)%0a-> Greetings,%0a%0a-> I'd like to request an connection limit exception for:%0a%0a-> IPv4 addresses: %0a-> 1. 198.251.81.44 (cherry.ircnow.org)%0a-> 2. 198.251.81.119 (pear.ircnow.org)%0a-> 3. 198.251.80.229 (mango.ircnow.org)%0a-> 4. 209.141.39.173 (peach.ircnow.org)%0a-> 5. 198.251.83.183 (banana.ircnow.org)%0a-> 6. 209.141.39.228 (guava.ircnow.org)%0a-> 7. 209.141.39.184 (jujube.ircnow.org)%0a-> 8. 198.251.84.240 (plum.ircnow.org)%0a-> 9. 198.251.89.130 (fig.ircnow.org)%0a-> 10. 209.141.38.137 (orange.ircnow.org)%0a-> 11. 198.251.81.133 (lemon.ircnow.org)%0a-> 12. 198.251.89.91 (grape.ircnow.org)%0a-> 13. 198.251.84.158 (pineapple.ircnow.org)%0a%0a-> IPv6 addresses:%0a-> 1. 2605:6400:0010:069d::/64 (cherry.ircnow.org)%0a-> 2. 2605:6400:0010:05bf::/64 (pear.ircnow.org)%0a-> 3. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a-> 4. 2605:6400:0020:0bb8::/64 (peach.ircnow.org)%0a-> 5. 2605:6400:0010:071b::/64 (banana.ircnow.org)%0a-> 6. 2605:6400:0020:00b4::/64 (guava.ircnow.org)%0a-> 7. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a-> 8. 2605:6400:0030:fc15::/64 (plum.ircnow.org)%0a-> 9. 2605:6400:0030:f8de::/64 (fig.ircnow.org)%0a-> 10. 2605:6400:0020:05cc::/64 (orange.ircnow.org)%0a-> 11. 2605:6400:0010:00fe::/64 (lemon.ircnow.org)%0a-> 12. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a-> 13. 2605:6400:30:f633::/64 (pineapple.ircnow.org)%0a%0a-> I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a%0a-> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 700-800 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a%0a-> We will soon be registering as a business. Our current mailing address is PO Box 35-48 Taichung 40699, and you can reach us by phone at 1(458)888-2063.%0a%0a-> IRCNow%0a%0a[[team:irc:ilines|current ilines]]%0a +time=1634265392 +author:1634265392=jrmu +diff:1634265392:1621480499:=1d0%0a%3c (:redirect Ambassador.Ilines:)%0a44c43%0a%3c [[team:irc:ilines|current ilines]]%0a---%0a> [[team:irc:ilines|current ilines]]%0a\ No newline at end of file%0a +host:1634265392=125.224.28.113 +author:1621480499=jrmu +diff:1621480499:1621480266:=35,37c35,37%0a%3c -> I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a%3c %0a%3c -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 700-800 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a---%0a> -> We provide free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a> %0a> -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 1200 users ( See https://netsplit.de/networks/IRCNow/ ). They have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a +host:1621480499=125.231.29.99 +author:1621480266=bejelentkezni +diff:1621480266:1621480074:=37c37%0a%3c -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 1200 users ( See https://netsplit.de/networks/IRCNow/ ). They have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a---%0a> -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 1200 users ( See https://netsplit.de/networks/IRCNow ). They have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a +host:1621480266=184.99.100.20 +author:1621480074=bejelentkezni +diff:1621480074:1617354134:=35,37c35,37%0a%3c -> We provide free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a%3c %0a%3c -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 1200 users ( See https://netsplit.de/networks/IRCNow ). They have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a---%0a> -> I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a> %0a> -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 700-800 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a +host:1621480074=184.99.100.20 +author:1617354134=jrmu +diff:1617354134:1609179636:=18,19c18%0a%3c -> 13. 198.251.84.158 (pineapple.ircnow.org)%0a%3c %0a---%0a> %0a33d31%0a%3c -> 13. 2605:6400:30:f633::/64 (pineapple.ircnow.org)%0a +host:1617354134=198.251.81.44 +author:1609179636=jrmu +diff:1609179636:1609179047:=6,18c6,17%0a%3c -> 1. 198.251.81.44 (cherry.ircnow.org)%0a%3c -> 2. 198.251.81.119 (pear.ircnow.org)%0a%3c -> 3. 198.251.80.229 (mango.ircnow.org)%0a%3c -> 4. 209.141.39.173 (peach.ircnow.org)%0a%3c -> 5. 198.251.83.183 (banana.ircnow.org)%0a%3c -> 6. 209.141.39.228 (guava.ircnow.org)%0a%3c -> 7. 209.141.39.184 (jujube.ircnow.org)%0a%3c -> 8. 198.251.84.240 (plum.ircnow.org)%0a%3c -> 9. 198.251.89.130 (fig.ircnow.org)%0a%3c -> 10. 209.141.38.137 (orange.ircnow.org)%0a%3c -> 11. 198.251.81.133 (lemon.ircnow.org)%0a%3c -> 12. 198.251.89.91 (grape.ircnow.org)%0a%3c %0a---%0a> -> 1. 198.251.89.130 (fig.ircnow.org)%0a> -> 2. 198.251.83.183 (banana.ircnow.org)%0a> -> 3. 209.141.39.184 (jujube.ircnow.org)%0a> -> 4. 209.141.39.228 (guava.ircnow.org)%0a> -> 5. 198.251.84.240 (plum.ircnow.org)%0a> -> 6. 198.251.80.229 (mango.ircnow.org)%0a> -> 7. 198.251.81.119 (pear.ircnow.org)%0a> -> 8. 209.141.39.173 (peach.ircnow.org)%0a> -> 9. 198.251.89.91 (grape.ircnow.org)%0a> -> 10. 198.251.81.44 (cherry.ircnow.org)%0a> -> 11. 209.141.38.137 (orange.ircnow.org)%0a> -> 12. 198.251.81.133 (lemon.ircnow.org)%0a20,31c19,30%0a%3c -> 1. 2605:6400:0010:069d::/64 (cherry.ircnow.org)%0a%3c -> 2. 2605:6400:0010:05bf::/64 (pear.ircnow.org)%0a%3c -> 3. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a%3c -> 4. 2605:6400:0020:0bb8::/64 (peach.ircnow.org)%0a%3c -> 5. 2605:6400:0010:071b::/64 (banana.ircnow.org)%0a%3c -> 6. 2605:6400:0020:00b4::/64 (guava.ircnow.org)%0a%3c -> 7. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a%3c -> 8. 2605:6400:0030:fc15::/64 (plum.ircnow.org)%0a%3c -> 9. 2605:6400:0030:f8de::/64 (fig.ircnow.org)%0a%3c -> 10. 2605:6400:0020:05cc::/64 (orange.ircnow.org)%0a%3c -> 11. 2605:6400:0010:00fe::/64 (lemon.ircnow.org)%0a%3c -> 12. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a---%0a> -> 1. 2605:6400:0030:f8de::/64 (fig.ircnow.org)%0a> -> 2. 2605:6400:0010:071b::/64 (banana.ircnow.org)%0a> -> 3. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a> -> 4. 2605:6400:0020:00b4::/64 (guava.ircnow.org)%0a> -> 5. 2605:6400:0010:05bf::/64 (pear.ircnow.org)%0a> -> 6. 2605:6400:0030:fc15::/64 (plum.ircnow.org)%0a> -> 7. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a> -> 8. 2605:6400:0020:0bb8::/64 (peach.ircnow.org)%0a> -> 9. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a> -> 10. 2605:6400:0010:069d::/64 (cherry.ircnow.org)%0a> -> 11. 2605:6400:0020:05cc::/64 (orange.ircnow.org)%0a> -> 12. 2605:6400:0010:00fe::/64 (lemon.ircnow.org)%0a +host:1609179636=198.251.81.119 +author:1609179047=jrmu +diff:1609179047:1609178590:=14c14%0a%3c -> 9. 198.251.89.91 (grape.ircnow.org)%0a---%0a> -> 9. 198.251.89.91%0a16,17c16,17%0a%3c -> 11. 209.141.38.137 (orange.ircnow.org)%0a%3c -> 12. 198.251.81.133 (lemon.ircnow.org)%0a---%0a> -> 11. 209.141.38.137 %0a> -> 12. 198.251.81.133%0a27c27%0a%3c -> 9. 2605:6400:0030:faa1::/64 (grape.ircnow.org)%0a---%0a> -> 9. 2605:6400:0030:faa1::/64%0a29,30c29,30%0a%3c -> 11. 2605:6400:0020:05cc::/64 (orange.ircnow.org)%0a%3c -> 12. 2605:6400:0010:00fe::/64 (lemon.ircnow.org)%0a---%0a> -> 11. 2605:6400:0020:05cc::/64%0a> -> 12. 2605:6400:0010:00fe::/64%0a +host:1609179047=198.251.81.119 +author:1609178590=jrmu +diff:1609178590:1609178436:=6c6%0a%3c -> 1. 198.251.89.130 (fig.ircnow.org)%0a---%0a> -> 1. 198.251.89.130%0a8c8%0a%3c -> 3. 209.141.39.184 (jujube.ircnow.org)%0a---%0a> -> 3. 209.141.39.184%0a10c10%0a%3c -> 5. 198.251.84.240 (plum.ircnow.org)%0a---%0a> -> 5. 198.251.84.240%0a19c19%0a%3c -> 1. 2605:6400:0030:f8de::/64 (fig.ircnow.org)%0a---%0a> -> 1. 2605:6400:0030:f8de::/64%0a21c21%0a%3c -> 3. 2605:6400:0020:0434::/64 (jujube.ircnow.org)%0a---%0a> -> 3. 2605:6400:0020:0434::/64%0a24c24%0a%3c -> 6. 2605:6400:0030:fc15::/64 (plum.ircnow.org)%0a---%0a> -> 6. 2605:6400:0030:fc15::/64%0a +host:1609178590=198.251.81.119 +author:1609178436=jrmu +diff:1609178436:1609178422:=22c22%0a%3c -> 4. 2605:6400:0020:00b4::/64 (guava.ircnow.org)%0a---%0a> -> 4. 2605:6400:0020:00b4::/64%0a +host:1609178436=198.251.81.119 +author:1609178422=jrmu +diff:1609178422:1609178372:=9c9%0a%3c -> 4. 209.141.39.228 (guava.ircnow.org)%0a---%0a> -> 4. 209.141.39.228%0a +host:1609178422=198.251.81.119 +author:1609178372=jrmu +diff:1609178372:1609178260:=13c13%0a%3c -> 8. 209.141.39.173 (peach.ircnow.org)%0a---%0a> -> 8. 209.141.39.173 %0a26c26%0a%3c -> 8. 2605:6400:0020:0bb8::/64 (peach.ircnow.org)%0a---%0a> -> 8. 2605:6400:0020:0bb8::/64%0a +host:1609178372=198.251.81.119 +author:1609178260=jrmu +diff:1609178260:1609177998:=7c7%0a%3c -> 2. 198.251.83.183 (banana.ircnow.org)%0a---%0a> -> 2. 198.251.83.183%0a11c11%0a%3c -> 6. 198.251.80.229 (mango.ircnow.org)%0a---%0a> -> 6. 198.251.80.229%0a13c13%0a%3c -> 8. 209.141.39.173 %0a---%0a> -> 8. 209.141.39.173%0a20c20%0a%3c -> 2. 2605:6400:0010:071b::/64 (banana.ircnow.org)%0a---%0a> -> 2. 2605:6400:0010:071b::/64%0a25c25%0a%3c -> 7. 2605:6400:0020:1290::/64 (mango.ircnow.org)%0a---%0a> -> 7. 2605:6400:0020:1290::/64%0a +host:1609178260=198.251.81.119 +author:1609177998=jrmu +diff:1609177998:1604335263:=12c12%0a%3c -> 7. 198.251.81.119 (pear.ircnow.org)%0a---%0a> -> 7. 198.251.81.119%0a15c15%0a%3c -> 10. 198.251.81.44 (cherry.ircnow.org)%0a---%0a> -> 10. 198.251.81.44%0a23c23%0a%3c -> 5. 2605:6400:0010:05bf::/64 (pear.ircnow.org)%0a---%0a> -> 5. 2605:6400:0010:05bf::/64%0a28c28%0a%3c -> 10. 2605:6400:0010:069d::/64 (cherry.ircnow.org)%0a---%0a> -> 10. 2605:6400:0010:069d::/64%0a +host:1609177998=198.251.81.119 +author:1604335263=Noxturnix +diff:1604335263:1604182928:=17a18%0a> -> 13. 198.251.89.91 %0a30a32%0a> -> 13. 2605:6400:0030:faa1::/64%0a +host:1604335263=2601:646:8600:a2b0::25f1 +author:1604182928=jrmu +diff:1604182928:1601629552:=36c36%0a%3c -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 700-800 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 30 new users each week.%0a---%0a> -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 500-600 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 10 new users each week.%0a +host:1604182928=198.251.81.119 +author:1601629552=jrmu +diff:1601629552:1597743241:=38a39,40%0a> %0a> -> We have a strict policy that bans warez, pornography, violence, and illegal drugs. We only offer shell accounts after an interview.%0a +host:1601629552=38.81.163.143 +author:1597743241=jrmu +diff:1597743241:1597228591:=1,42c1,42%0a%3c -> Greetings,%0a%3c %0a%3c -> I'd like to request an connection limit exception for:%0a%3c %0a%3c -> IPv4 addresses: %0a%3c -> 1. 198.251.89.130%0a%3c -> 2. 198.251.83.183%0a%3c -> 3. 209.141.39.184%0a%3c -> 4. 209.141.39.228%0a%3c -> 5. 198.251.84.240%0a%3c -> 6. 198.251.80.229%0a%3c -> 7. 198.251.81.119%0a%3c -> 8. 209.141.39.173%0a%3c -> 9. 198.251.89.91%0a%3c -> 10. 198.251.81.44%0a%3c -> 11. 209.141.38.137 %0a%3c -> 12. 198.251.81.133%0a%3c -> 13. 198.251.89.91 %0a%3c -> IPv6 addresses:%0a%3c -> 1. 2605:6400:0030:f8de::/64%0a%3c -> 2. 2605:6400:0010:071b::/64%0a%3c -> 3. 2605:6400:0020:0434::/64%0a%3c -> 4. 2605:6400:0020:00b4::/64%0a%3c -> 5. 2605:6400:0010:05bf::/64%0a%3c -> 6. 2605:6400:0030:fc15::/64%0a%3c -> 7. 2605:6400:0020:1290::/64%0a%3c -> 8. 2605:6400:0020:0bb8::/64%0a%3c -> 9. 2605:6400:0030:faa1::/64%0a%3c -> 10. 2605:6400:0010:069d::/64%0a%3c -> 11. 2605:6400:0020:05cc::/64%0a%3c -> 12. 2605:6400:0010:00fe::/64%0a%3c -> 13. 2605:6400:0030:faa1::/64%0a%3c %0a%3c -> I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a%3c %0a%3c -> You can contact our team at admin@ircnow.org if you need any other details. We currently have around 500-600 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 10 new users each week.%0a%3c %0a%3c -> We will soon be registering as a business. Our current mailing address is PO Box 35-48 Taichung 40699, and you can reach us by phone at 1(458)888-2063.%0a%3c %0a%3c -> We have a strict policy that bans warez, pornography, violence, and illegal drugs. We only offer shell accounts after an interview.%0a%3c %0a%3c -> IRCNow%0a---%0a> > Greetings,%0a> >%0a> > I'd like to request an connection limit exception for:%0a> >%0a> > IPv4 addresses: %0a> > 1. 198.251.89.130%0a> > 2. 198.251.83.183%0a> > 3. 209.141.39.184%0a> > 4. 209.141.39.228%0a> > 5. 198.251.84.240%0a> > 6. 198.251.80.229%0a> > 7. 198.251.81.119%0a> > 8. 209.141.39.173%0a> > 9. 198.251.89.91%0a> > 10. 198.251.81.44%0a> > 11. 209.141.38.137 %0a> > 12. 198.251.81.133%0a> > 13. 198.251.89.91 %0a> > IPv6 addresses:%0a> > 1. 2605:6400:0030:f8de::/64%0a> > 2. 2605:6400:0010:071b::/64%0a> > 3. 2605:6400:0020:0434::/64%0a> > 4. 2605:6400:0020:00b4::/64%0a> > 5. 2605:6400:0010:05bf::/64%0a> > 6. 2605:6400:0030:fc15::/64%0a> > 7. 2605:6400:0020:1290::/64%0a> > 8. 2605:6400:0020:0bb8::/64%0a> > 9. 2605:6400:0030:faa1::/64%0a> > 10. 2605:6400:0010:069d::/64%0a> > 11. 2605:6400:0020:05cc::/64%0a> > 12. 2605:6400:0010:00fe::/64%0a> > 13. 2605:6400:0030:faa1::/64%0a> >%0a> > I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a> >%0a> > You can contact our team at admin@ircnow.org if you need any other details. We currently have around 500-600 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 10 new users each week.%0a> >%0a> > We will soon be registering as a business. Our current mailing address is PO Box 35-48 Taichung 40699, and you can reach us by phone at 1(458)888-2063.%0a> >%0a> > We have a strict policy that bans warez, pornography, violence, and illegal drugs. We only offer shell accounts after an interview.%0a> >%0a> > IRCNow%0a +host:1597743241=38.81.163.143 +author:1597228591=jrmu +diff:1597228591:1597228591:=1,44d0%0a%3c > Greetings,%0a%3c >%0a%3c > I'd like to request an connection limit exception for:%0a%3c >%0a%3c > IPv4 addresses: %0a%3c > 1. 198.251.89.130%0a%3c > 2. 198.251.83.183%0a%3c > 3. 209.141.39.184%0a%3c > 4. 209.141.39.228%0a%3c > 5. 198.251.84.240%0a%3c > 6. 198.251.80.229%0a%3c > 7. 198.251.81.119%0a%3c > 8. 209.141.39.173%0a%3c > 9. 198.251.89.91%0a%3c > 10. 198.251.81.44%0a%3c > 11. 209.141.38.137 %0a%3c > 12. 198.251.81.133%0a%3c > 13. 198.251.89.91 %0a%3c > IPv6 addresses:%0a%3c > 1. 2605:6400:0030:f8de::/64%0a%3c > 2. 2605:6400:0010:071b::/64%0a%3c > 3. 2605:6400:0020:0434::/64%0a%3c > 4. 2605:6400:0020:00b4::/64%0a%3c > 5. 2605:6400:0010:05bf::/64%0a%3c > 6. 2605:6400:0030:fc15::/64%0a%3c > 7. 2605:6400:0020:1290::/64%0a%3c > 8. 2605:6400:0020:0bb8::/64%0a%3c > 9. 2605:6400:0030:faa1::/64%0a%3c > 10. 2605:6400:0010:069d::/64%0a%3c > 11. 2605:6400:0020:05cc::/64%0a%3c > 12. 2605:6400:0010:00fe::/64%0a%3c > 13. 2605:6400:0030:faa1::/64%0a%3c >%0a%3c > I am providing free public bouncers, bots, relays, and shell accounts. Our website is at https://ircnow.org. and we are listed on the ZNC providers page ( https://wiki.znc.in/Providers ). Our provider name is IRCNow. You can reach us on our network at irc.ircnow.org.%0a%3c >%0a%3c > You can contact our team at admin@ircnow.org if you need any other details. We currently have around 500-600 users. They should have ident configured, and we provide unique IPv6 addresses to our bouncers. If possible, can you authorize 50 connections per IP in case it is needed? We seem to be adding around 10 new users each week.%0a%3c >%0a%3c > We will soon be registering as a business. Our current mailing address is PO Box 35-48 Taichung 40699, and you can reach us by phone at 1(458)888-2063.%0a%3c >%0a%3c > We have a strict policy that bans warez, pornography, violence, and illegal drugs. We only offer shell accounts after an interview.%0a%3c >%0a%3c > IRCNow%0a%3c %0a%3c [[team:irc:ilines|current ilines]]%0a\ No newline at end of file%0a +host:1597228591=38.81.163.143 blob - /dev/null blob + ba6a3cc16ecdc28874f83b014424b5782185f6a8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Install,del-1607098537 @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607075263 +host=38.81.163.7 +name=Openbsd.Install +rev=27 +targets=Openbsd.Botnow,Openbsd.Dns,Openbsd.Vhost,Openbsd.Staticnet +text=(:title OpenBSD Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%0aUse your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%0a# Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0aAttach:install-panel-01.png%0a# Click on Settings.%0a # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a # Make sure to click on Save Settings.\\%0aAttach:install-panel-02.png%0a# Click on Networking.%0a # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0aAttach:install-panel-03.png%0a# Click on IPv6%0a # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0aAttach:install-panel-04.png%0a# You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0aAttach:install-panel-05.png%0a# Configure the IPv6 addresses:%0a # Click on the Status buttons and set each IPv6 address to On.%0a # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a # '''Remember''': Click Save Changes to apply.%0a# To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0aAttach:install-panel-06.png%0a# Click on Routed Subnets%0a # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0aAttach:install-panel-07.png%0a# Configure the name servers%0a # Set the nexthop IP address to one of your IPv6 addresses%0a # Set the delegated nameservers to two of your rDNS nameservers.\\%0aAttach:install-panel-08.png%0a# Click on CD-ROM%0a # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0aAttach:install-panel-09.png%0a# Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a # Upload your ISO.\\%0aAttach:install-panel-10.png%0a# Click on Volumes%0a # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0aAttach:install-panel-11.png%0a# Click on Power State at the top right, then Boot. Then, click on Console.%0aAttach:install-panel-12.png%0a# Begin installation%0a # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0aAttach:install-panel-13.png%0a# Follow the install instructions.%0aAttach:install-panel-14.png +time=1607083332 +title=OpenBSD Install Guide +author:1607083332=jrmu +diff:1607083332:1607083163:=51,53c51%0a%3c Attach:install-panel-13.png%0a%3c # Follow the install instructions.%0a%3c Attach:install-panel-14.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-13.png%0a\ No newline at end of file%0a +host:1607083332=38.81.163.7 +author:1607083163=jrmu +diff:1607083163:1607082356:=47,51c47%0a%3c Attach:install-panel-12.png%0a%3c # Begin installation%0a%3c # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a%3c # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a%3c Attach:install-panel-13.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-12.png%0a\ No newline at end of file%0a +host:1607083163=38.81.163.7 +author:1607082356=jrmu +diff:1607082356:1607081617:=45,47c45%0a%3c Attach:install-panel-11.png%0a%3c # Click on Power State at the top right, then Boot. Then, click on Console.%0a%3c Attach:install-panel-12.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-11.png%0a\ No newline at end of file%0a +host:1607082356=38.81.163.7 +author:1607081617=jrmu +diff:1607081617:1607081405:=37,38c37,39%0a%3c # Click on CD-ROM%0a%3c # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0a---%0a> # Click on %0a> # Set the nexthop IP address to one of your IPv6 addresses%0a> # Set the delegated nameservers to two of your rDNS nameservers.\\%0a40,41c41,43%0a%3c # Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a%3c # Upload your ISO.\\%0a---%0a> # Configure the name servers%0a> # Set the nexthop IP address to one of your IPv6 addresses%0a> # Set the delegated nameservers to two of your rDNS nameservers.\\%0a43,44c45,47%0a%3c # Click on Volumes%0a%3c # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0a---%0a> # Configure the name servers%0a> # Set the nexthop IP address to one of your IPv6 addresses%0a> # Set the delegated nameservers to two of your rDNS nameservers.\\%0a +host:1607081617=38.81.163.7 +author:1607081405=jrmu +diff:1607081405:1607080554:=27,28c27,28%0a%3c # '''Remember''': Click Save Changes to apply.%0a%3c # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0a---%0a> # '''Remember''': Click Save Changes to apply.\\%0a> # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD.%0a +host:1607081405=38.81.163.7 +author:1607080554=jrmu +diff:1607080554:1607080349:=17c17%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0a---%0a> # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA DNS records.\\%0a28d27%0a%3c # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD.%0a +host:1607080554=198.251.81.119 +author:1607080349=jrmu +diff:1607080349:1607080048:=11c11%0a%3c # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a---%0a> # Make sure the hostname matches what you want. Click Save.%0a16,17c16,17%0a%3c # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA DNS records.\\%0a---%0a> # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline.%0a> # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes.\\%0a36c36%0a%3c # Click on %0a---%0a> # Configure the name servers%0a +host:1607080349=198.251.81.119 +author:1607080048=jrmu +diff:1607080048:1607079095:=35,47c35%0a%3c Attach:install-panel-08.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-09.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-10.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-11.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-08.png%0a\ No newline at end of file%0a +host:1607080048=198.251.81.119 +author:1607079095=jrmu +diff:1607079095:1607079048:=30c30%0a%3c # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0a---%0a> # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.%0a +host:1607079095=198.251.81.119 +author:1607079048=jrmu +diff:1607079048:1607079011:=17c17%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes.\\%0a---%0a> # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes.%0a +host:1607079048=198.251.81.119 +author:1607079011=jrmu +diff:1607079011:1607078308:=20c20%0a%3c # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0a---%0a> # For IPv6\\%0a22d21%0a%3c # You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0a24,27d22%0a%3c # Configure the IPv6 addresses:%0a%3c # Click on the Status buttons and set each IPv6 address to On.%0a%3c # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a%3c # '''Remember''': Click Save Changes to apply.\\%0a29,30d23%0a%3c # Click on Routed Subnets%0a%3c # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.%0a32,35c25,26%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-08.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-08.png%0a> %0a +host:1607079011=198.251.81.119 +author:1607078308=jrmu +diff:1607078308:1607078070:=15,17d14%0a%3c # Click on Networking.%0a%3c # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline.%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes.%0a19,20d15%0a%3c # Click on IPv6%0a%3c # For IPv6\\%0a +host:1607078308=198.251.81.119 +author:1607078070=jrmu +diff:1607078070:1607078045:=10c10%0a%3c # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a---%0a> # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]].%0a +host:1607078070=198.251.81.119 +author:1607078045=jrmu +diff:1607078045:1607077894:=10,13c10,13%0a%3c # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]].%0a%3c # Make sure the hostname matches what you want. Click Save.%0a%3c # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a%3c # Make sure to click on Save Settings.\\%0a---%0a> # Click on the Generate button for API settings. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]].%0a> # Make sure the hostname matches what you want.%0a> # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO.%0a> %0a +host:1607078045=198.251.81.119 +author:1607077894=jrmu +diff:1607077894:1607077813:=10c10%0a%3c # Click on the Generate button for API settings. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]].%0a---%0a> # Click on the Generate button for API settings.%0a +host:1607077894=198.251.81.119 +author:1607077813=jrmu +diff:1607077813:1607077807:=7,8c7,8%0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a---%0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!%0a> \\Attach:install-panel-01.png%0a +host:1607077813=198.251.81.119 +author:1607077807=jrmu +diff:1607077807:1607077745:= +host:1607077807=198.251.81.119 +author:1607077745=jrmu +diff:1607077745:1607077631:=8c8,10%0a%3c \\Attach:install-panel-01.png%0a---%0a> %0a> Attach:install-panel-01.png%0a> %0a +host:1607077745=198.251.81.119 +author:1607077631=jrmu +diff:1607077631:1607077591:=7,8d6%0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!%0a%3c %0a9a8,9%0a> %0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!%0a +host:1607077631=198.251.81.119 +author:1607077591=jrmu +diff:1607077591:1607077493:=9c9%0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!%0a---%0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS.%0a +host:1607077591=198.251.81.119 +author:1607077493=jrmu +diff:1607077493:1607076200:=16,23c16%0a%3c Attach:install-panel-02.png%0a%3c Attach:install-panel-03.png%0a%3c Attach:install-panel-04.png%0a%3c Attach:install-panel-05.png%0a%3c Attach:install-panel-06.png%0a%3c Attach:install-panel-07.png%0a%3c Attach:install-panel-08.png%0a%3c %0a---%0a> Attach:install-panel-02.png%0a\ No newline at end of file%0a +host:1607077493=198.251.81.119 +author:1607076200=jrmu +diff:1607076200:1607076195:=16c16%0a%3c Attach:install-panel-02.png%0a\ No newline at end of file%0a---%0a> Attach:install-panel-01.png%0a\ No newline at end of file%0a +host:1607076200=198.251.81.119 +author:1607076195=jrmu +diff:1607076195:1607075935:=15,16d14%0a%3c %0a%3c Attach:install-panel-01.png%0a\ No newline at end of file%0a +host:1607076195=198.251.81.119 +author:1607075935=jrmu +diff:1607075935:1607075795:=11,14c11%0a%3c # Click on Settings.%0a%3c # Click on the Generate button for API settings.%0a%3c # Make sure the hostname matches what you want.%0a%3c # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO.%0a---%0a> # Click on Console%0a\ No newline at end of file%0a +host:1607075935=198.251.81.119 +author:1607075795=jrmu +diff:1607075795:1607075653:=5,11c5%0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c Attach:install-panel-01.png%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS.%0a%3c %0a%3c # Click on Console%0a\ No newline at end of file%0a---%0a> Attach:install-panel-01.png%0a\ No newline at end of file%0a +host:1607075795=198.251.81.119 +author:1607075653=jrmu +diff:1607075653:1607075263:=1,5c1%0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Attach:install-panel-01.png%0a\ No newline at end of file%0a---%0a> (:title OpenBSD Install Guide:)%0a\ No newline at end of file%0a +host:1607075653=198.251.81.119 +author:1607075263=jrmu +diff:1607075263:1607075263:=1d0%0a%3c (:title OpenBSD Install Guide:)%0a\ No newline at end of file%0a +host:1607075263=198.251.81.119 blob - /dev/null blob + d357659dc29fad9199e32780f2a6921ff1878a35 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Install67 @@ -0,0 +1,130 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607085385 +host=38.81.163.7 +name=Openbsd.Install67 +rev=39 +targets=Openbsd.Buyvm,Vps.Intro,Openbsd.Staticnet,Openbsd.Netmask,Openbsd.Unbound,Openbsd.Fdisk,Openbsd.Disklabel +text=(:title OpenBSD 6.7 Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.7.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]] and [[vps/intro|VMM]] install guides.%0a# At bootup, type @@boot@@ then press enter. Or wait a few seconds to boot automatically.%0a# '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a# Type @@i@@ for install\\%0aAttach:install67-1.png%0a# Press enter to use the default keyboard layout.%0a# Your system hostname is probably a fruit.\\%0aAttach:install67-2.png%0a# Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a# Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a# Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a# Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a# BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.\\%0aAttach:install67-3.png%0a# BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a# For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a# Press enter when done.\\%0aAttach:install67-4.png%0a# DNS domain name will be either ircnow.org or the domain you purchased.%0a# DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a# Type in your root password twice.%0a# Type enter, you want to start sshd by default (or else you would be unable to log in).%0a# No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a# Enter your username, type in a name, then type the password twice.\\%0aAttach:install67-5.png%0a# Don't allow root ssh login. Press enter.%0a# Set the timezone (matching the server's physical location).%0a# Press ? to see information about available disks.%0a# Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0aAttach:install67-6.png%0a#You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0aAttach:install67-6b.png%0a#For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0aAttach:install67-6c.png%0a#Once you are done formatting disks, press enter for done.\\%0aAttach:install67-6d.png%0a# Installing the sets%0a # OpenBSD has a concept of base sets, which includes the default software with each install.%0a # If you used a CD-ROM ISO, select cd0.%0a # If you used a flash drive, select disk.%0a # If you want to download from the internet, select http.%0a # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.%0a# The pathname to the sets should be 6.7/amd64. Nothing to change so just press enter.%0a# Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a# If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0aAttach:install67-7.png%0a# Type enter for done.%0a# Type enter to reboot.\\%0aAttach:install67-8.png%0a# Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this. +time=1607252585 +title=OpenBSD 6.7 Install Guide +author:1607252585=jrmu +diff:1607252585:1607252550:=22,23c22,23%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a%3c # Press enter when done.\\%0a---%0a> # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.\\%0a> # Press enter when done.%0a +host:1607252585=38.81.163.7 +author:1607252550=jrmu +diff:1607252550:1607166909:=23d22%0a%3c # Press enter when done.%0a +host:1607252550=38.81.163.7 +author:1607166909=jrmu +diff:1607166909:1607165229:=9d8%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a +host:1607166909=38.81.163.7 +author:1607165229=jrmu +diff:1607165229:1607098288:=4,5d3%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a +host:1607165229=38.81.163.7 +author:1607098288=jrmu +diff:1607098288:1607097628:=33c33%0a%3c #You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0a---%0a> #You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.%0a +host:1607098288=38.81.163.7 +author:1607097628=jrmu +diff:1607097628:1607096809:=33c33%0a%3c #You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.%0a---%0a> #\\%0a35c35%0a%3c #For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0a---%0a> #\\%0a37c37%0a%3c #Once you are done formatting disks, press enter for done.\\%0a---%0a> #\\%0a39,43c39,41%0a%3c # Installing the sets%0a%3c # OpenBSD has a concept of base sets, which includes the default software with each install.%0a%3c # If you used a CD-ROM ISO, select cd0.%0a%3c # If you used a flash drive, select disk.%0a%3c # If you want to download from the internet, select http.%0a---%0a> #\\%0a> Attach:install67-6e.png%0a> # If you used a CD-ROM ISO, select cd0. If you used a flash drive, select disk. If you want to download from the internet, select http.%0a +host:1607097628=38.81.163.7 +author:1607096809=jrmu +diff:1607096809:1607096685:=33d32%0a%3c #\\%0a35d33%0a%3c #\\%0a37d34%0a%3c #\\%0a39d35%0a%3c #\\%0a +host:1607096809=38.81.163.7 +author:1607096685=jrmu +diff:1607096685:1607096350:=33,36d32%0a%3c Attach:install67-6b.png%0a%3c Attach:install67-6c.png%0a%3c Attach:install67-6d.png%0a%3c Attach:install67-6e.png%0a +host:1607096685=38.81.163.7 +author:1607096350=jrmu +diff:1607096350:1607093548:=14c14%0a%3c # Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a---%0a> # Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0\\%0a +host:1607096350=38.81.163.7 +author:1607093548=jrmu +diff:1607093548:1607091755:=31c31%0a%3c # Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0a---%0a> # Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!%0a37c37%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0a---%0a> # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a40c40%0a%3c # Type enter to reboot.\\%0a---%0a> # Type enter to reboot.%0a +host:1607093548=38.81.163.7 +author:1607091755=jrmu +diff:1607091755:1607091571:=39,42c39,40%0a%3c # Type enter for done.%0a%3c # Type enter to reboot.%0a%3c Attach:install67-8.png%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a---%0a> # %0a> Attach:install67-8.png%0a\ No newline at end of file%0a +host:1607091755=125.224.25.38 +author:1607091571=jrmu +diff:1607091571:1607091556:=40c40%0a%3c Attach:install67-8.png%0a\ No newline at end of file%0a---%0a> install67-8.png%0a\ No newline at end of file%0a +host:1607091571=125.224.25.38 +author:1607091556=jrmu +diff:1607091556:1607091374:=38,40c38%0a%3c Attach:install67-7.png%0a%3c # %0a%3c install67-8.png%0a\ No newline at end of file%0a---%0a> Attach:install67-7.png%0a\ No newline at end of file%0a +host:1607091556=125.224.25.38 +author:1607091374=jrmu +diff:1607091374:1607091350:=34a35%0a> Attach:install67-7.png%0a37,38c38%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a%3c Attach:install67-7.png%0a\ No newline at end of file%0a---%0a> # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a\ No newline at end of file%0a +host:1607091374=125.224.25.38 +author:1607091350=jrmu +diff:1607091350:1607091035:=33,38c33,34%0a%3c # If you used a CD-ROM ISO, select cd0. If you used a flash drive, select disk. If you want to download from the internet, select http.%0a%3c # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.%0a%3c Attach:install67-7.png%0a%3c # The pathname to the sets should be 6.7/amd64. Nothing to change so just press enter.%0a%3c # Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a\ No newline at end of file%0a---%0a> #%0a> Attach:install67-7.png%0a\ No newline at end of file%0a +host:1607091350=125.224.25.38 +author:1607091035=jrmu +diff:1607091035:1607090943:=33d32%0a%3c #%0a +host:1607091035=125.224.25.38 +author:1607090943=jrmu +diff:1607090943:1607090759:=32,33c32%0a%3c Attach:install67-6.png%0a%3c Attach:install67-7.png%0a\ No newline at end of file%0a---%0a> Attach:install67-6.png%0a\ No newline at end of file%0a +host:1607090943=125.224.25.38 +author:1607090759=jrmu +diff:1607090759:1607090722:=31c31%0a%3c # Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!%0a---%0a> # Select the correct disk.%0a +host:1607090759=125.224.25.38 +author:1607090722=jrmu +diff:1607090722:1607090597:=26c26%0a%3c # Enter your username, type in a name, then type the password twice.\\%0a---%0a> # Enter your username, then type the password twice.%0a28,31d27%0a%3c # Don't allow root ssh login. Press enter.%0a%3c # Set the timezone (matching the server's physical location).%0a%3c # Press ? to see information about available disks.%0a%3c # Select the correct disk.%0a +host:1607090722=125.224.25.38 +author:1607090597=jrmu +diff:1607090597:1607090286:=27,28c27%0a%3c Attach:install67-5.png%0a%3c Attach:install67-6.png%0a\ No newline at end of file%0a---%0a> Attach:install67-5.png%0a\ No newline at end of file%0a +host:1607090597=125.224.25.38 +author:1607090286=jrmu +diff:1607090286:1607090256:=19d18%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.\\%0a20a20%0a> # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a27d26%0a%3c Attach:install67-5.png%0a\ No newline at end of file%0a +host:1607090286=125.224.25.38 +author:1607090256=jrmu +diff:1607090256:1607090220:=19d18%0a%3c Attach:install67-4.png%0a26a26%0a> Attach:install67-4.png%0a\ No newline at end of file%0a +host:1607090256=125.224.25.38 +author:1607090220=jrmu +diff:1607090220:1607090108:=22,25d21%0a%3c # Type in your root password twice.%0a%3c # Type enter, you want to start sshd by default (or else you would be unable to log in).%0a%3c # No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a%3c # Enter your username, then type the password twice.%0a +host:1607090220=125.224.25.38 +author:1607090108=jrmu +diff:1607090108:1607089929:=20,21d19%0a%3c # DNS domain name will be either ircnow.org or the domain you purchased.%0a%3c # DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a +host:1607090108=125.224.25.38 +author:1607089929=jrmu +diff:1607089929:1607089811:=19d18%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a +host:1607089929=125.224.25.38 +author:1607089811=jrmu +diff:1607089811:1607089623:=18c18%0a%3c # BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a---%0a> #%0a +host:1607089811=125.224.25.38 +author:1607089623=jrmu +diff:1607089623:1607089452:=7c7%0a%3c # Type @@i@@ for install\\%0a---%0a> # Type @@i@@ for install%0a10c10%0a%3c # Your system hostname is probably a fruit.\\%0a---%0a> # Your system hostname is probably a fruit.%0a16,19c16,17%0a%3c # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.\\%0a%3c Attach:install67-3.png%0a%3c #%0a%3c Attach:install67-4.png%0a\ No newline at end of file%0a---%0a> # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a> Attach:install67-3.png%0a\ No newline at end of file%0a +host:1607089623=125.224.25.38 +author:1607089452=jrmu +diff:1607089452:1607089434:=16c16%0a%3c # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a---%0a> # BuyVM's IPv6 prefix length is 48, not 64.%0a +host:1607089452=125.224.25.38 +author:1607089434=jrmu +diff:1607089434:1607089293:=15,16d14%0a%3c # Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a%3c # BuyVM's IPv6 prefix length is 48, not 64.%0a +host:1607089434=125.224.25.38 +author:1607089293=jrmu +diff:1607089293:1607089242:=13,14c13%0a%3c # Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a%3c # Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0\\%0a---%0a> # Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.\\%0a +host:1607089293=125.224.25.38 +author:1607089242=jrmu +diff:1607089242:1607089088:=13d12%0a%3c # Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.\\%0a +host:1607089242=125.224.25.38 +author:1607089088=jrmu +diff:1607089088:1607088941:=10a11%0a> # %0a12c13%0a%3c # Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a---%0a> %0a +host:1607089088=125.224.25.38 +author:1607088941=jrmu +diff:1607088941:1607088904:=14d13%0a%3c Attach:install67-3.png%0a\ No newline at end of file%0a +host:1607088941=125.224.25.38 +author:1607088904=jrmu +diff:1607088904:1607088885:=9d8%0a%3c # Press enter to use the default keyboard layout.%0a +host:1607088904=125.224.25.38 +author:1607088885=jrmu +diff:1607088885:1607088278:=6,7c6%0a%3c # At bootup, type @@boot@@ then press enter. Or wait a few seconds to boot automatically.%0a%3c # Type @@i@@ for install%0a---%0a> %0a9,10d7%0a%3c # Your system hostname is probably a fruit.%0a%3c # %0a +host:1607088885=125.224.25.38 +author:1607088278=jrmu +diff:1607088278:1607088080:=4,5d3%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]] and [[vps/intro|VMM]] install guides.%0a +host:1607088278=125.224.25.38 +author:1607088080=jrmu +diff:1607088080:1607085475:=3,7c3%0a%3c This is a quick install guide for OpenBSD 6.7.%0a%3c %0a%3c Attach:install67-1.png%0a%3c Attach:install67-2.png%0a%3c %0a---%0a> This is a quick install guide for OpenBSD 6.7.%0a\ No newline at end of file%0a +host:1607088080=125.224.25.38 +author:1607085475=jrmu +diff:1607085475:1607085385:=1,3c1,53%0a%3c (:title OpenBSD 6.7 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.7.%0a\ No newline at end of file%0a---%0a> (:title OpenBSD Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a> %0a> Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a> %0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a> Attach:install-panel-01.png%0a> # Click on Settings.%0a> # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a> # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a> # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a> # Make sure to click on Save Settings.\\%0a> Attach:install-panel-02.png%0a> # Click on Networking.%0a> # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a> # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0a> Attach:install-panel-03.png%0a> # Click on IPv6%0a> # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0a> Attach:install-panel-04.png%0a> # You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0a> Attach:install-panel-05.png%0a> # Configure the IPv6 addresses:%0a> # Click on the Status buttons and set each IPv6 address to On.%0a> # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a> # '''Remember''': Click Save Changes to apply.%0a> # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0a> Attach:install-panel-06.png%0a> # Click on Routed Subnets%0a> # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0a> Attach:install-panel-07.png%0a> # Configure the name servers%0a> # Set the nexthop IP address to one of your IPv6 addresses%0a> # Set the delegated nameservers to two of your rDNS nameservers.\\%0a> Attach:install-panel-08.png%0a> # Click on CD-ROM%0a> # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0a> Attach:install-panel-09.png%0a> # Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a> # Upload your ISO.\\%0a> Attach:install-panel-10.png%0a> # Click on Volumes%0a> # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0a> Attach:install-panel-11.png%0a> # Click on Power State at the top right, then Boot. Then, click on Console.%0a> Attach:install-panel-12.png%0a> # Begin installation%0a> # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a> # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a> Attach:install-panel-13.png%0a> # Follow the install instructions.%0a> Attach:install-panel-14.png%0a\ No newline at end of file%0a +host:1607085475=38.81.163.7 +author:1607085385=jrmu +diff:1607085385:1607085385:=1,53d0%0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a%3c # Click on Settings.%0a%3c # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a%3c # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a%3c # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a%3c # Make sure to click on Save Settings.\\%0a%3c Attach:install-panel-02.png%0a%3c # Click on Networking.%0a%3c # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0a%3c Attach:install-panel-03.png%0a%3c # Click on IPv6%0a%3c # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0a%3c Attach:install-panel-04.png%0a%3c # You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0a%3c Attach:install-panel-05.png%0a%3c # Configure the IPv6 addresses:%0a%3c # Click on the Status buttons and set each IPv6 address to On.%0a%3c # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a%3c # '''Remember''': Click Save Changes to apply.%0a%3c # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0a%3c Attach:install-panel-06.png%0a%3c # Click on Routed Subnets%0a%3c # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0a%3c Attach:install-panel-07.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-08.png%0a%3c # Click on CD-ROM%0a%3c # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0a%3c Attach:install-panel-09.png%0a%3c # Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a%3c # Upload your ISO.\\%0a%3c Attach:install-panel-10.png%0a%3c # Click on Volumes%0a%3c # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0a%3c Attach:install-panel-11.png%0a%3c # Click on Power State at the top right, then Boot. Then, click on Console.%0a%3c Attach:install-panel-12.png%0a%3c # Begin installation%0a%3c # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a%3c # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a%3c Attach:install-panel-13.png%0a%3c # Follow the install instructions.%0a%3c Attach:install-panel-14.png%0a\ No newline at end of file%0a +host:1607085385=38.81.163.7 blob - /dev/null blob + 0624251706e4a05b64e507c08d47a652e5035cb2 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Install68 @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607162929 +host=198.251.81.119 +name=Openbsd.Install68 +rev=15 +targets=Openbsd.Buyvm,Vps.Intro,Openbsd.Bsdrd,Openbsd.Staticnet,Openbsd.Netmask,Openbsd.Unbound,Openbsd.Fdisk,Openbsd.Disklabel +text=(:title OpenBSD 6.8 Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.8.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a# At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0aAttach:install68-1.png%0a# '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0aAttach:install68-2.png%0a# Type @@i@@ for install\\%0aAttach:install68-3.png%0a# Press enter to use the default keyboard layout.%0a# Your system hostname is probably a fruit.%0a# Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a# Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a# Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a# Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a# BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a# Press enter when done.\\%0aAttach:install68-4.png%0a# BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a# For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a# Press enter when done.\\%0aAttach:install68-5.png%0a# DNS domain name will be either ircnow.org or the domain you purchased.%0a# DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a# Type in your root password twice.%0a# Type enter, you want to start sshd by default (or else you would be unable to log in).%0a# No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a# Enter your username, type in a name, then type the password twice.%0a# Don't allow root ssh login. Press enter.%0a# Set the timezone (matching the server's physical location).%0a# Press ? to see information about available disks.%0a# Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0aAttach:install68-6.png%0a#You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0aAttach:install68-7.png%0a#For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0aAttach:install68-8.png%0a#Once you are done formatting disks, press enter for done.\\%0aAttach:install68-9.png%0a# Installing the sets%0a # OpenBSD has a concept of base sets, which includes the default software with each install.%0a # If you used a CD-ROM ISO, type cd0.%0a # If you used a flash drive, type disk.%0a # If you want to download from the internet, type http.%0a # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.\\%0aAttach:install68-10.png%0a# The pathname to the sets should be 6.8/amd64. Nothing to change so just press enter.%0a# Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a# If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0aAttach:install68-14.png%0a# Type enter for done.%0a# Type enter to reboot.\\%0aAttach:install68-15.png%0a# Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this. +time=1607854403 +title=OpenBSD 6.8 Install Guide +author:1607854403=jrmu +diff:1607854403:1607854372:=21c21%0a%3c # Press enter when done.\\%0a---%0a> # Press enter when done.%0a +host:1607854403=198.251.81.119 +author:1607854372=jrmu +diff:1607854372:1607254572:=20c20%0a%3c # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a---%0a> # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.\\%0a +host:1607854372=198.251.81.119 +author:1607254572=jrmu +diff:1607254572:1607254526:=53c53,54%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0a---%0a> # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a> # Type enter for done.\\%0a55,58c56,58%0a%3c # Type enter for done.%0a%3c # Type enter to reboot.\\%0a%3c Attach:install68-15.png%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a---%0a> # Type enter to reboot.%0a> # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.\\%0a> Attach:install68-15.png%0a\ No newline at end of file%0a +host:1607254572=38.81.163.7 +author:1607254526=jrmu +diff:1607254526:1607254514:=55c55%0a%3c Attach:install68-14.png%0a---%0a> Attach:install68-14.png\\%0a +host:1607254526=38.81.163.7 +author:1607254514=jrmu +diff:1607254514:1607253364:=57c57%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.\\%0a---%0a> # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a +host:1607254514=38.81.163.7 +author:1607253364=jrmu +diff:1607253364:1607252919:=54,56c54,56%0a%3c # Type enter for done.\\%0a%3c Attach:install68-14.png\\%0a%3c # Type enter to reboot.%0a---%0a> # Type enter for done.%0a> # Type enter to reboot.\\%0a> Attach:install68-13.png%0a57a58%0a> Attach:install68-14.png%0a +host:1607253364=38.81.163.7 +author:1607252919=jrmu +diff:1607252919:1607252731:=46,49c46,52%0a%3c # If you used a CD-ROM ISO, type cd0.%0a%3c # If you used a flash drive, type disk.%0a%3c # If you want to download from the internet, type http.%0a%3c # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.\\%0a---%0a> # If you used a CD-ROM ISO, select cd0.%0a> # If you used a flash drive, select disk.%0a> # If you want to download from the internet, select http.%0a> # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.%0a> # The pathname to the sets should be 6.7/amd64. Nothing to change so just press enter.%0a> # Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a> # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0a51,53d53%0a%3c # The pathname to the sets should be 6.8/amd64. Nothing to change so just press enter.%0a%3c # Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.%0a56c56%0a%3c Attach:install68-13.png%0a---%0a> Attach:install68-11.png%0a57a58,59%0a> Attach:install68-12.png%0a> Attach:install68-13.png%0a +host:1607252919=38.81.163.7 +author:1607252731=jrmu +diff:1607252731:1607252534:=24,25c24%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a%3c # Press enter when done.\\%0a---%0a> # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.\\%0a +host:1607252731=38.81.163.7 +author:1607252534=jrmu +diff:1607252534:1607252274:=21d20%0a%3c # Press enter when done.%0a +host:1607252534=38.81.163.7 +author:1607252274=jrmu +diff:1607252274:1607252134:=21d20%0a%3c Attach:install68-4.png%0a24c23%0a%3c Attach:install68-5.png%0a---%0a> Attach:install68-4.png%0a30c29,30%0a%3c # Enter your username, type in a name, then type the password twice.%0a---%0a> # Enter your username, type in a name, then type the password twice.\\%0a> Attach:install68-5.png%0a +host:1607252274=38.81.163.7 +author:1607252134=jrmu +diff:1607252134:1607250698:=7,8c7,10%0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a---%0a> # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]] and [[vps/intro|VMM]] install guides.%0a> # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.%0a> # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a> # Type @@i@@ for install\\%0a10c12,13%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0a---%0a> # Press enter to use the default keyboard layout.%0a> # Your system hostname is probably a fruit.\\%0a12,15d14%0a%3c # Type @@i@@ for install\\%0a%3c Attach:install68-3.png%0a%3c # Press enter to use the default keyboard layout.%0a%3c # Your system hostname is probably a fruit.%0a20a20%0a> Attach:install68-3.png%0a +host:1607252134=38.81.163.7 +author:1607250698=jrmu +diff:1607250698:1607172715:=8c8%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.%0a---%0a> # At bootup, type @@boot@@ then press enter. Or wait a few seconds to boot automatically.%0a +host:1607250698=38.81.163.7 +author:1607172715=jrmu +diff:1607172715:1607168926:=11c11%0a%3c Attach:install68-1.png%0a---%0a> Attach:install67-1.png%0a14c14%0a%3c Attach:install68-2.png%0a---%0a> Attach:install67-2.png%0a20c20%0a%3c Attach:install68-3.png%0a---%0a> Attach:install67-3.png%0a23c23%0a%3c Attach:install68-4.png%0a---%0a> Attach:install67-4.png%0a30c30%0a%3c Attach:install68-5.png%0a---%0a> Attach:install67-5.png%0a35c35%0a%3c Attach:install68-6.png%0a---%0a> Attach:install67-6.png%0a37c37%0a%3c Attach:install68-7.png%0a---%0a> Attach:install67-6b.png%0a39c39%0a%3c Attach:install68-8.png%0a---%0a> Attach:install67-6c.png%0a41c41%0a%3c Attach:install68-9.png%0a---%0a> Attach:install67-6d.png%0a51c51%0a%3c Attach:install68-10.png%0a---%0a> Attach:install67-7.png%0a54,59c54,55%0a%3c Attach:install68-11.png%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a%3c Attach:install68-12.png%0a%3c Attach:install68-13.png%0a%3c Attach:install68-14.png%0a%3c Attach:install68-15.png%0a\ No newline at end of file%0a---%0a> Attach:install67-8.png%0a> # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a +host:1607172715=38.81.163.7 +author:1607168926=jrmu +diff:1607168926:1607162929:=1,6c1,4%0a%3c (:title OpenBSD 6.8 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a---%0a> (:title OpenBSD 6.7 Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.7.%0a> %0a9d6%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.%0a +host:1607168926=38.81.163.7 +author:1607162929=jrmu +diff:1607162929:1607162929:=1,52d0%0a%3c (:title OpenBSD 6.7 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.7.%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]] and [[vps/intro|VMM]] install guides.%0a%3c # At bootup, type @@boot@@ then press enter. Or wait a few seconds to boot automatically.%0a%3c # Type @@i@@ for install\\%0a%3c Attach:install67-1.png%0a%3c # Press enter to use the default keyboard layout.%0a%3c # Your system hostname is probably a fruit.\\%0a%3c Attach:install67-2.png%0a%3c # Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a%3c # Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a%3c # Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a%3c # Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a%3c # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.\\%0a%3c Attach:install67-3.png%0a%3c # BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.\\%0a%3c Attach:install67-4.png%0a%3c # DNS domain name will be either ircnow.org or the domain you purchased.%0a%3c # DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a%3c # Type in your root password twice.%0a%3c # Type enter, you want to start sshd by default (or else you would be unable to log in).%0a%3c # No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a%3c # Enter your username, type in a name, then type the password twice.\\%0a%3c Attach:install67-5.png%0a%3c # Don't allow root ssh login. Press enter.%0a%3c # Set the timezone (matching the server's physical location).%0a%3c # Press ? to see information about available disks.%0a%3c # Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0a%3c Attach:install67-6.png%0a%3c #You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0a%3c Attach:install67-6b.png%0a%3c #For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0a%3c Attach:install67-6c.png%0a%3c #Once you are done formatting disks, press enter for done.\\%0a%3c Attach:install67-6d.png%0a%3c # Installing the sets%0a%3c # OpenBSD has a concept of base sets, which includes the default software with each install.%0a%3c # If you used a CD-ROM ISO, select cd0.%0a%3c # If you used a flash drive, select disk.%0a%3c # If you want to download from the internet, select http.%0a%3c # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.%0a%3c # The pathname to the sets should be 6.7/amd64. Nothing to change so just press enter.%0a%3c # Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0a%3c Attach:install67-7.png%0a%3c # Type enter for done.%0a%3c # Type enter to reboot.\\%0a%3c Attach:install67-8.png%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a +host:1607162929=38.81.163.7 blob - /dev/null blob + 1b6025bb09283d460d3f37f7974ced9611a31710 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Install69 @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1620450452 +host=125.231.18.235 +name=Openbsd.Install69 +rev=5 +targets=Openbsd.Buyvm,Vps.Intro,Openbsd.Bsdrd,Openbsd.Staticnet,Openbsd.Netmask,Openbsd.Unbound,Openbsd.Fdisk,Openbsd.Disklabel +text=(:title OpenBSD 6.9 Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.9.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a# At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0aAttach:install68-1.png%0a# '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0aAttach:install68-2.png%0a# Type @@i@@ for install\\%0aAttach:install68-3.png%0a# Press enter to use the default keyboard layout.%0a# Your system hostname is probably a fruit.%0a# Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a# Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a# Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a# Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a# BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a# Press enter when done.\\%0aAttach:install68-4.png%0a# BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. The default gateway will be specified in your email.%0a# For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. Otherwise, the default gateway will be specified in your email.%0a# Press enter when done.\\%0aAttach:install68-5.png%0a# DNS domain name will be either ircnow.org or the domain you purchased.%0a# DNS nameservers: You can use 8.8.8.8 from Google, 1.1.1.1 from Cloudflare, 9.9.9.9 from the [[https://servers.opennic.org/|OpenNIC servers]], or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a# Type in your root password twice.%0a# Type enter, you want to start sshd by default (or else you would be unable to log in).%0a# No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a# Enter your username, type in a name, then type the password twice.%0a# Don't allow root ssh login. Press enter.%0a# Set the timezone (matching the server's physical location).%0a# Press ? to see information about available disks.%0a# Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0aAttach:install68-6.png%0a#You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0aAttach:install68-7.png%0a#For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0aAttach:install68-8.png%0a#Once you are done formatting disks, press enter for done.\\%0aAttach:install68-9.png%0a# Installing the sets%0a # OpenBSD has a concept of base sets, which includes the default software with each install.%0a # If you used a CD-ROM ISO, type cd0.%0a # If you used a flash drive, type disk.%0a # If you want to download from the internet, type http.%0a # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.\\%0aAttach:install68-10.png%0a# The pathname to the sets should be 6.8/amd64. Nothing to change so just press enter.%0a# Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a# If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0aAttach:install68-14.png%0a# Type enter for done.%0a# Type enter to reboot.\\%0aAttach:install68-15.png%0a# Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a +time=1632765554 +title=OpenBSD 6.9 Install Guide +author:1632765554=jrmu +diff:1632765554:1631248656:=23,24c23,24%0a%3c # BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. The default gateway will be specified in your email.%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. Otherwise, the default gateway will be specified in your email.%0a---%0a> # BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a> # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a +host:1632765554=125.231.18.235 +author:1631248656=jrmu +diff:1631248656:1620450589:=28c28%0a%3c # DNS nameservers: You can use 8.8.8.8 from Google, 1.1.1.1 from Cloudflare, 9.9.9.9 from the [[https://servers.opennic.org/|OpenNIC servers]], or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a---%0a> # DNS nameservers: You can use 1.1.1.1 from Cloudflare or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a58c58%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a---%0a> # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a +host:1631248656=38.87.162.8 +author:1620450589=bejelentkezni +diff:1620450589:1620450463:=1,4c1,4%0a%3c (:title OpenBSD 6.9 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.9.%0a%3c %0a---%0a> (:title OpenBSD 6.8 Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.8.%0a> %0a28c28%0a%3c # DNS nameservers: You can use 1.1.1.1 from Cloudflare or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a---%0a> # DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a +host:1620450589=184.99.100.20 +author:1620450463=bejelentkezni +csum:1620450463=initial commit +diff:1620450463:1620450452:= +host:1620450463=184.99.100.20 +author:1620450452=bejelentkezni +csum:1620450452=initial commit +diff:1620450452:1620450452:=1,58d0%0a%3c (:title OpenBSD 6.8 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a%3c Attach:install68-1.png%0a%3c # '''NOTE''': At any time during the installation, if you make a mistake, you can type ctrl+c to cancel the install process. Then, press ctrl+d to bring back the installation options.\\%0a%3c Attach:install68-2.png%0a%3c # Type @@i@@ for install\\%0a%3c Attach:install68-3.png%0a%3c # Press enter to use the default keyboard layout.%0a%3c # Your system hostname is probably a fruit.%0a%3c # Configure the vio0 interface ([[https://man.openbsd.org/vio|vio]] is short for VirtIO). If you lack vio0 and have some other interface (like em0), you may want to change the networking drivers in [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]].%0a%3c # Don't use DHCP. Instead, check BuyVM's web panel for the IPv4 address and enter it manually. Don't worry if you chose DHCP by accident, though. It is always possible to later reconfigure the VPS to use [[Openbsd/staticnet|static networking]]. The benefit of using static networking is that your IPs are guaranteed not to change. DHCP allocates the IP addresses dynamically and sometimes routers can change your addresses during a reboot, causing your users to be unable to connect.%0a%3c # Leave the [[Openbsd/netmask|netmask]] as 255.255.255.0%0a%3c # Don't use autoconf. Instead, manually type in your IPv6 addresses.%0a%3c # BuyVM's IPv6 prefix length is 48, not 64. Coconut's is 64.%0a%3c # Press enter when done.\\%0a%3c Attach:install68-4.png%0a%3c # BuyVM's default IPv4 route is just the same as your IPv4 address but the last number replaced with 1. So for example, if you had the IP address 192.168.0.14, the default gateway would be 192.168.0.1. For coconut, the default gateway has the last number replaced with 129.%0a%3c # For BuyVM, the default router for subnets inside 2605:6400:0010/48 is 2605:6400:0010::1. For coconut, it is 2001:550:3402:1::1.%0a%3c # Press enter when done.\\%0a%3c Attach:install68-5.png%0a%3c # DNS domain name will be either ircnow.org or the domain you purchased.%0a%3c # DNS nameservers: You can use 8.8.8.8 from Google or [[https://servers.opennic.org/|OpenNIC servers]] or 127.0.0.1 if you configure [[Openbsd/unbound|unbound]] right after installation. '''NOTE''': If you use 127.0.0.1, you will not be able to download packages for installation without using the trick described below.%0a%3c # Type in your root password twice.%0a%3c # Type enter, you want to start sshd by default (or else you would be unable to log in).%0a%3c # No, you not want to run X Windows by default. You will install the X packages but enabling X windows is a security risk given that you are working on a headless (no GUI) server.%0a%3c # Enter your username, type in a name, then type the password twice.%0a%3c # Don't allow root ssh login. Press enter.%0a%3c # Set the timezone (matching the server's physical location).%0a%3c # Press ? to see information about available disks.%0a%3c # Select the correct disk. '''WARNING''': Be very careful! Selecting the wrong disk may erase data forever!\\%0a%3c Attach:install68-6.png%0a%3c #You may want to read up on [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]. For a simple install, type W to use the (W)hole Disk.\\%0a%3c Attach:install68-7.png%0a%3c #For a simple install, type enter to use (A)uto layout. If you have special needs, read up on [[openbsd/disklabel|disklabel]].\\%0a%3c Attach:install68-8.png%0a%3c #Once you are done formatting disks, press enter for done.\\%0a%3c Attach:install68-9.png%0a%3c # Installing the sets%0a%3c # OpenBSD has a concept of base sets, which includes the default software with each install.%0a%3c # If you used a CD-ROM ISO, type cd0.%0a%3c # If you used a flash drive, type disk.%0a%3c # If you want to download from the internet, type http.%0a%3c # '''NOTE''': If you download from the internet, sometimes DNS will not work properly. There is a trick -- instead of using a hostname like ftp4.usa.openbsd.org, use its IPv4 address 66.111.2.37.\\%0a%3c Attach:install68-10.png%0a%3c # The pathname to the sets should be 6.8/amd64. Nothing to change so just press enter.%0a%3c # Install all the sets. Do '''not''' skip the X sets because they are often needed even if you run headless (without a GUI). If you skip it now, you may eventually have to reboot the server and install it later -- a huge waste of time with no benefit. The X packages are only a few hundred megabytes and present no security risk so long as X is disabled.%0a%3c # If you're using CD, hopefully you verified the ISO before you installed. You can continue without verification. If you are using HTTP, you '''must''' verify the sets to be safe. Do not use unverified sets over HTTP.\\%0a%3c Attach:install68-14.png%0a%3c # Type enter for done.%0a%3c # Type enter to reboot.\\%0a%3c Attach:install68-15.png%0a%3c # Power off the VPS and make sure to boot from the hard drive. You may need to go to [[Openbsd/buyvm|BuyVM]]'s [[https://manage.buyvm.net|web panel]] to fix this.%0a\ No newline at end of file%0a +host:1620450452=184.99.100.20 blob - /dev/null blob + 521fb9bd01706a4f700f3ba05d93f168b8e94060 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Install70 @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635072204 +host=38.87.162.8 +name=Openbsd.Install70 +rev=4 +targets= +text=vmctl: qcow2 imagefile created%0aVM created for username!%0aok%0aok%0aok%0aok%0ahost$ doas vmctl console username%0aConnected to /dev/ttypm (speed 115200)%0a%0a(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? i%0aAt any prompt except password prompts you can escape to a shel%0al by%0atyping '!'. Default answers are shown in []'s and are selected%0a by%0apressing RETURN. You can exit this program at any time by pre%0assing%0aControl-C, but this can leave your system in an inconsistent s%0atate.%0a%0aTerminal type? [vt220]%0aSystem hostname? (short form, e.g. 'foo') username%0a%0aAvailable network interfaces are: vio0 vlan0.%0aWhich network interface do you wish to configure? (or 'done')%0a[vio0]%0aIPv4 address for vio0? (or 'autoconf' or 'none') [autoconf] 38%0a.87.162.179%0aNetmask for vio0? [255.255.255.0]%0aIPv6 address for vio0? (or 'autoconf' or 'none') [none] 2602:f%0accf:1:1179::%0aIPv6 prefix length for vio0? [64] 48%0aAvailable network interfaces are: vio0 vlan0.%0aWhich network interface do you wish to configure? (or 'done')%0a[done]%0aDefault IPv4 route? (IPv4 address or none) 38.87.162.1%0aadd net default: gateway 38.87.162.1%0a1) none%0aIPv6 default router? (list #, IPv6 address or 'none') 2602:fcc%0af:1::1%0aadd net default: gateway 2602:fccf:1::1%0aDNS domain name? (e.g. 'example.com') [my.domain] host.thunder%0airc.net%0aDNS nameservers? (IP address list or 'none') [none] 8.8.8.8%0a%0aPassword for root account? (will not echo)%0aPassword for root account? (again)%0aPasswords do not match, try again.%0aPassword for root account? (will not echo)%0aPassword for root account? (again)%0aStart sshd(8) by default? [yes]%0aChange the default console to com0? [yes]%0aAvailable speeds are: 9600 19200 38400 57600 115200.%0aWhich speed should com0 use? (or 'done') [115200]%0aSetup a user? (enter a lower-case loginname, or 'no') [no] mel%0afa%0aFull name for user username? [username]%0aPassword for user username? (will not echo)%0aPassword for user username? (again)%0aWARNING: root is targeted by password guessing attacks, pubkey%0as are safer.%0aAllow root ssh login? (yes, no, prohibit-password) [no]%0aWhat timezone are you in? ('?' for list) [US/Eastern]%0a%0aAvailable disks are: sd0.%0aWhich disk is the root disk? ('?' for details) [sd0]%0aNo valid MBR or GPT.%0aUse (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole]%0aSetting OpenBSD MBR partition to whole sd0...done.%0aThe auto-allocated layout for sd0 is:%0a# size offset fstype [fsize bsize%0acpg]%0a a: 634.6M 64 4.2BSD 2048 16384%0a 1 # /%0a b: 1049.1M 1299648 swap%0a%0a c: 20480.0M 0 unused%0a%0a d: 895.3M 3448288 4.2BSD 2048 16384%0a 1 # /tmp%0a e: 1339.9M 5281888 4.2BSD 2048 16384%0a 1 # /var%0a f: 2469.1M 8025952 4.2BSD 2048 16384%0a 1 # /usr%0a g: 674.7M 13082752 4.2BSD 2048 16384%0a 1 # /usr/X11R6%0a h: 2477.7M 14464608 4.2BSD 2048 16384%0a 1 # /usr/local%0a i: 1493.8M 19538944 4.2BSD 2048 16384%0a 1 # /usr/src%0a j: 5507.7M 22598304 4.2BSD 2048 16384%0a 1 # /usr/obj%0a k: 3931.5M 33877984 4.2BSD 2048 16384%0a 1 # /home%0aUse (A)uto layout, (E)dit auto layout, or create (C)ustom layo%0aut? [a]%0a/dev/rsd0a: 634.6MB in 1299584 sectors of 512 bytes%0a4 cylinder groups of 158.64MB, 10153 blocks, 20352 inodes each%0a/dev/rsd0k: 3931.5MB in 8051648 sectors of 512 bytes%0a20 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0ah%0a/dev/rsd0d: 895.3MB in 1833600 sectors of 512 bytes%0a5 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a/dev/rsd0f: 2469.1MB in 5056800 sectors of 512 bytes%0a13 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0ah%0anewfs: reduced number of fragments per cylinder group from 863%0a60 to 85680 to enlarge last cylinder group%0a/dev/rsd0g: 674.7MB in 1381856 sectors of 512 bytes%0a5 cylinder groups of 167.34MB, 10710 blocks, 21440 inodes each%0a/dev/rsd0h: 2477.7MB in 5074336 sectors of 512 bytes%0a13 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0ah%0a/dev/rsd0j: 5507.7MB in 11279680 sectors of 512 bytes%0a28 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0ah%0a/dev/rsd0i: 1493.8MB in 3059360 sectors of 512 bytes%0a8 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a/dev/rsd0e: 1339.9MB in 2744064 sectors of 512 bytes%0a7 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a/dev/sd0a (b8a4714aab650659.a) on /mnt type ffs (rw, asynchron%0aous, local)%0a/dev/sd0k (b8a4714aab650659.k) on /mnt/home type ffs (rw, asyn%0achronous, local, nodev, nosuid)%0a/dev/sd0d (b8a4714aab650659.d) on /mnt/tmp type ffs (rw, async%0ahronous, local, nodev, nosuid)%0a/dev/sd0f (b8a4714aab650659.f) on /mnt/usr type ffs (rw, async%0ahronous, local, nodev)%0a/dev/sd0g (b8a4714aab650659.g) on /mnt/usr/X11R6 type ffs (rw,%0a asynchronous, local, nodev)%0a/dev/sd0h (b8a4714aab650659.h) on /mnt/usr/local type ffs (rw,%0a asynchronous, local, nodev)%0a/dev/sd0j (b8a4714aab650659.j) on /mnt/usr/obj type ffs (rw, a%0asynchronous, local, nodev, nosuid)%0a/dev/sd0i (b8a4714aab650659.i) on /mnt/usr/src type ffs (rw, a%0asynchronous, local, nodev, nosuid)%0a/dev/sd0e (b8a4714aab650659.e) on /mnt/var type ffs (rw, async%0ahronous, local, nodev, nosuid)%0a%0aLet's install the sets!%0aLocation of sets? (cd0 disk http nfs or 'done') [cd0]%0aPathname to the sets? (or 'done') [7.0/amd64]%0a%0aSelect sets by entering a set name, a file name pattern or 'al%0al'. De-select%0asets by prepending a '-', e.g.: '-game*'. Selected sets are la%0abelled '[X]'.%0a [X] bsd [X] comp70.tgz [X] xbase70.tgz [X]%0axserv70.tgz%0a [X] bsd.rd [X] man70.tgz [X] xshare70.tgz%0a [X] base70.tgz [X] game70.tgz [X] xfont70.tgz%0aSet name(s)? (or 'abort' or 'done') [done]%0aDirectory does not contain SHA256.sig. Continue without verifi%0acation? [no] yes%0aInstalling bsd 0%25 | |%0aInstalling bsd 29%25 |******* | 627%0aInstalling bsd 58%25 |*************** | 1241%0aInstalling bsd 88%25 |********************** | 1868%0aInstalling bsd 100%25 |**************************| 2109%0a0 KB 00:03%0aInstalling bsd.rd 0%25 | |%0aInstalling bsd.rd 100%25 |**************************| 410%0a9 KB 00:00%0aInstalling base70.tgz 0%25 | |%0aInstalling base70.tgz 0%25 | | 230%0aInstalling base70.tgz 1%25 | | 448%0aInstalling base70.tgz 2%25 | | 780%0aInstalling base70.tgz 3%25 | | 1113%0aInstalling base70.tgz 4%25 |* | 1433%0aInstalling base70.tgz 5%25 |* | 1766%0aInstalling base70.tgz 6%25 |* | 1958%0aInstalling base70.tgz 7%25 |* | 2227%0aInstalling base70.tgz 8%25 |** | 2521%0aInstalling base70.tgz 9%25 |** | 2816%0aInstalling base70.tgz 10%25 |** | 3148%0aInstalling base70.tgz 11%25 |** | 3456%0aInstalling base70.tgz 12%25 |*** | 3788%0aInstalling base70.tgz 13%25 |*** | 4147%0aInstalling base70.tgz 14%25 |*** | 4467%0aInstalling base70.tgz 15%25 |*** | 4684%0aInstalling base70.tgz 15%25 |*** | 4915%0aInstalling base70.tgz 16%25 |**** | 5260%0aInstalling base70.tgz 18%25 |**** | 5593%0aInstalling base70.tgz 19%25 |**** | 5952%0aInstalling base70.tgz 20%25 |***** | 6272%0aInstalling base70.tgz 21%25 |***** | 6617%0aInstalling base70.tgz 22%25 |***** | 6937%0aInstalling base70.tgz 23%25 |***** | 7257%0aInstalling base70.tgz 24%25 |****** | 7449%0aInstalling base70.tgz 25%25 |****** | 7769%0aInstalling base70.tgz 26%25 |****** | 8128%0aInstalling base70.tgz 27%25 |******* | 8460%0aInstalling base70.tgz 28%25 |******* | 8793%0aInstalling base70.tgz 29%25 |******* | 9113%0aInstalling base70.tgz 30%25 |******* | 9369%0aInstalling base70.tgz 30%25 |******* | 9574%0aInstalling base70.tgz 31%25 |******** | 9792%0aInstalling base70.tgz 32%25 |******** | 9%0aInstalling base70.tgz 33%25 |******** | 10%0aInstalling base70.tgz 33%25 |******** | 10%0aInstalling base70.tgz 34%25 |******** | 10%0aInstalling base70.tgz 35%25 |********* | 10%0aInstalling base70.tgz 36%25 |********* | 11%0aInstalling base70.tgz 37%25 |********* | 11%0aInstalling base70.tgz 39%25 |********** | 11%0aInstalling base70.tgz 41%25 |********** | 12%0aInstalling base70.tgz 42%25 |********** | 12%0aInstalling base70.tgz 44%25 |*********** | 13%0aInstalling base70.tgz 45%25 |*********** | 13%0aInstalling base70.tgz 47%25 |************ | 14%0aInstalling base70.tgz 49%25 |************ | 14%0aInstalling base70.tgz 50%25 |************* | 15%0aInstalling base70.tgz 52%25 |************* | 15%0aInstalling base70.tgz 53%25 |************* | 16%0aInstalling base70.tgz 55%25 |************** | 16%0aInstalling base70.tgz 57%25 |************** | 17%0aInstalling base70.tgz 58%25 |*************** | 17%0aInstalling base70.tgz 60%25 |*************** | 18%0aInstalling base70.tgz 61%25 |*************** | 18%0aInstalling base70.tgz 63%25 |**************** | 19%0aInstalling base70.tgz 65%25 |**************** | 19%0aInstalling base70.tgz 66%25 |***************** | 20%0aInstalling base70.tgz 68%25 |***************** | 20%0aInstalling base70.tgz 70%25 |****************** | 21%0aInstalling base70.tgz 71%25 |****************** | 21%0aInstalling base70.tgz 73%25 |****************** | 22%0aInstalling base70.tgz 74%25 |******************* | 22%0aInstalling base70.tgz 76%25 |******************* | 23%0aInstalling base70.tgz 77%25 |******************** | 23%0aInstalling base70.tgz 79%25 |******************** | 24%0aInstalling base70.tgz 80%25 |******************** | 24%0aInstalling base70.tgz 82%25 |********************* | 24%0aInstalling base70.tgz 84%25 |********************* | 25%0aInstalling base70.tgz 85%25 |********************** | 25%0aInstalling base70.tgz 87%25 |********************** | 26%0aInstalling base70.tgz 88%25 |********************** | 26%0aInstalling base70.tgz 90%25 |*********************** | 27%0aInstalling base70.tgz 92%25 |*********************** | 27%0aInstalling base70.tgz 93%25 |************************ | 28%0aInstalling base70.tgz 95%25 |************************ | 28%0aInstalling base70.tgz 97%25 |************************* | 29%0aInstalling base70.tgz 98%25 |************************* | 29%0aInstalling base70.tgz 98%25 |************************* | 29%0aInstalling base70.tgz 99%25 |************************* | 30%0aInstalling base70.tgz 99%25 |************************* | 30%0aInstalling base70.tgz 100%25 |**************************| 30%0a2 MB 01:21%0aExtracting etc.tgz 0%25 | |%0aExtracting etc.tgz 100%25 |**************************| 24%0a6 KB 00:00%0aInstalling comp70.tgz 0%25 | |%0aInstalling comp70.tgz 2%25 | | 217%0aInstalling comp70.tgz 5%25 |* | 435%0aInstalling comp70.tgz 9%25 |** | 665%0aInstalling comp70.tgz 12%25 |*** | 908%0aInstalling comp70.tgz 16%25 |**** | 1177%0aInstalling comp70.tgz 19%25 |**** | 1446%0aInstalling comp70.tgz 23%25 |***** | 1715%0aInstalling comp70.tgz 27%25 |******* | 1984%0aInstalling comp70.tgz 30%25 |******* | 2252%0aInstalling comp70.tgz 34%25 |******** | 2508%0aInstalling comp70.tgz 37%25 |********* | 2764%0aInstalling comp70.tgz 41%25 |********** | 3046%0aInstalling comp70.tgz 45%25 |*********** | 3353%0aInstalling comp70.tgz 49%25 |************ | 3609%0aInstalling comp70.tgz 53%25 |************* | 3916%0aInstalling comp70.tgz 58%25 |*************** | 4249%0aInstalling comp70.tgz 62%25 |**************** | 4582%0aInstalling comp70.tgz 66%25 |***************** | 4889%0aInstalling comp70.tgz 70%25 |****************** | 5145%0aInstalling comp70.tgz 75%25 |******************* | 5478%0aInstalling comp70.tgz 79%25 |******************** | 5785%0aInstalling comp70.tgz 83%25 |********************* | 6118%0aInstalling comp70.tgz 86%25 |********************** | 6348%0aInstalling comp70.tgz 89%25 |*********************** | 6515%0aInstalling comp70.tgz 90%25 |*********************** | 6643%0aInstalling comp70.tgz 93%25 |************************ | 6796%0aInstalling comp70.tgz 95%25 |************************ | 6950%0aInstalling comp70.tgz 97%25 |************************* | 7091%0aInstalling comp70.tgz 99%25 |************************* | 7257%0aInstalling comp70.tgz 100%25 |**************************| 7300%0a2 KB 00:29%0aInstalling man70.tgz 0%25 | |%0aInstalling man70.tgz 35%25 |********* | 268%0aInstalling man70.tgz 60%25 |*************** | 460%0aInstalling man70.tgz 79%25 |******************** | 601%0aInstalling man70.tgz 100%25 |**************************| 758%0a0 KB 00:03%0aInstalling game70.tgz 0%25 | |%0aInstalling game70.tgz 100%25 |**************************| 274%0a3 KB 00:00%0aInstalling xbase70.tgz 0%25 | |%0aInstalling xbase70.tgz 5%25 |* | 281%0aInstalling xbase70.tgz 11%25 |** | 601%0aInstalling xbase70.tgz 14%25 |*** | 780%0aInstalling xbase70.tgz 19%25 |**** | 1049%0aInstalling xbase70.tgz 25%25 |****** | 1408%0aInstalling xbase70.tgz 32%25 |******** | 1766%0aInstalling xbase70.tgz 39%25 |********** | 2124%0aInstalling xbase70.tgz 45%25 |*********** | 2457%0aInstalling xbase70.tgz 50%25 |************* | 2752%0aInstalling xbase70.tgz 55%25 |************** | 3046%0aInstalling xbase70.tgz 60%25 |*************** | 3289%0aInstalling xbase70.tgz 65%25 |**************** | 3558%0aInstalling xbase70.tgz 69%25 |***************** | 3788%0aInstalling xbase70.tgz 74%25 |******************* | 4032%0aInstalling xbase70.tgz 79%25 |******************** | 4313%0aInstalling xbase70.tgz 83%25 |********************* | 4531%0aInstalling xbase70.tgz 87%25 |********************** | 4774%0aInstalling xbase70.tgz 93%25 |************************ | 5068%0aInstalling xbase70.tgz 97%25 |************************* | 5299%0aInstalling xbase70.tgz 100%25 |**************************| 5440%0a8 KB 00:19%0aExtracting xetc.tgz 0%25 | |%0aExtracting xetc.tgz 100%25 |**************************| 707%0a0 00:00%0aInstalling xshare70.tgz 0%25 | |%0aInstalling xshare70.tgz 31%25 |******** | 140%0aInstalling xshare70.tgz 45%25 |*********** | 204%0aInstalling xshare70.tgz 74%25 |******************* | 332%0aInstalling xshare70.tgz 100%25 |**************************| 449%0a4 KB 00:03%0aInstalling xfont70.tgz 0%25 | |%0aInstalling xfont70.tgz 15%25 |*** | 345%0aInstalling xfont70.tgz 35%25 |********* | 806%0aInstalling xfont70.tgz 48%25 |************ | 1113%0aInstalling xfont70.tgz 64%25 |**************** | 1472%0aInstalling xfont70.tgz 76%25 |******************* | 1753%0aInstalling xfont70.tgz 95%25 |************************ | 2188%0aInstalling xfont70.tgz 100%25 |**************************| 2296%0a5 KB 00:06%0aInstalling xserv70.tg100 24545 100 24545 0 0 56249 0 --:--:-- --:--:-- --:--:-- 584k%0az 0%25 | |%0aInstalling xserv70.tgz 16%25 |**** | 332%0aInstalling xserv70.tgz 32%25 |******** | 640%0aInstalling xserv70.tgz 48%25 |************ | 960%0aInstalling xserv70.tgz 61%25 |*************** | 1203%0aInstalling xserv70.tgz 78%25 |******************** | 1536%0aInstalling xserv70.tgz 92%25 |*********************** | 1817%0aInstalling xserv70.tgz 100%25 |**************************| 1965%0a9 KB 00:06%0aLocation of sets? (cd0 disk http nfs or 'done') [done]%0aSaving configuration files... done.%0a%0aMaking all device nodes... done.%0aRelinking to create unique kernel... done.%0a%0aCONGRATULATIONS! Your OpenBSD install has been successfully co%0ampleted!%0a%0aWhen you login to your new system the first time, please read%0ayour mail%0ausing the 'mail' command.%0a%0aExit to (S)hell, (H)alt or (R)eboot? [reboot] syncing disks...%0a done%0avmmci0: powerdown%0arebooting...%0aUsing drive 0, partition 3.%0aLoading......%0aprobing: pc0 com0 mem[638K 1022M a20=on]%0adisk: hd0+%0a>> OpenBSD/amd64 BOOT 3.53%0a\%0acom0: 115200 baud%0aswitching console to com0%0a>> OpenBSD/amd64 BOOT 3.53%0aboot>%0abooting hd0a:/bsd: 14746904+3367952+348800+0+1167360 [1065252+%0a128+1163832+876369]=0x15b1738%0aentry point at 0xffffffff81001000%0a[ using 3106616 bytes of bsd ELF symbol table ]%0aCopyright (c) 1982, 1986, 1989, 1991, 1993%0a The Regents of the University of California. All righ%0ats reserved.%0aCopyright (c) 1995-2021 OpenBSD. All rights reserved. https:/%0a/www.OpenBSD.org%0a%0aOpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021%0a deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/%0aGENERIC%0areal mem = 1056948224 (1007MB)%0aavail mem = 1009053696 (962MB)%0arandom: good seed from bootblocks%0ampath0 at root%0ascsibus0 at mpath0: 256 targets%0amainbus0 at root%0abios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf3f40 (10 entries)%0abios0: vendor SeaBIOS version "1.11.0p3-OpenBSD-vmm" date 01/0%0a1/2011%0abios0: OpenBSD VMM%0aacpi at bios0 not configured%0acpu0 at mainbus0: (uniprocessor)%0acpu0: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 2301.78 MHz, 0%0a6-2d-07%0acpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,CF%0aLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,CX16,SSE4.1,SSE4.2,PO%0aPCNT,AES,XSAVE,AVX,HV,NXE,PAGE1GB,LONG,LAHF,ITSC,MD_CLEAR,MELT%0aDOWN%0acpu0: 256KB 64b/line 8-way L2 cache%0acpu0: smt 0, core 0, package 0%0acpu0: using VERW MDS workaround%0apvbus0 at mainbus0: OpenBSD%0apvclock0 at pvbus0%0apci0 at mainbus0 bus 0%0apchb0 at pci0 dev 0 function 0 "OpenBSD VMM Host" rev 0x00%0avirtio0 at pci0 dev 1 function 0 "Qumranet Virtio RNG" rev 0x0%0a0%0aviornd0 at virtio0%0avirtio0: irq 3%0avirtio1 at pci0 dev 2 function 0 "Qumranet Virtio Network" rev%0a 0x00%0avio0 at virtio1: address f8:67:d3:c4:66:35%0avirtio1: irq 5%0avirtio2 at pci0 dev 3 function 0 "Qumranet Virtio Storage" rev%0a 0x00%0avioblk0 at virtio2%0ascsibus1 at vioblk0: 1 targets%0asd0 at scsibus1 targ 0 lun 0: %3cVirtIO, Block Device, >%0asd0: 20480MB, 512 bytes/sector, 41943040 sectors%0avirtio2: irq 6%0avirtio3 at pci0 dev 4 function 0 "Qumranet Virtio SCSI" rev 0x%0a00%0avioscsi0 at virtio3: qsize 128%0ascsibus2 at vioscsi0: 1 targets%0acd0 at scsibus2 targ 0 lun 0: %3cOpenBSD, VMM CD-ROM, 001> remov%0aable%0avirtio3: irq 7%0avirtio4 at pci0 dev 5 function 0 "OpenBSD VMM Control" rev 0x0%0a0%0avmmci0 at virtio4%0avirtio4: irq 9%0aisa0 at mainbus0%0aisadma0 at isa0%0acom0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo%0acom0: console%0adt: 445 probes%0avscsi0 at root%0ascsibus3 at vscsi0: 256 targets%0asoftraid0 at root%0ascsibus4 at softraid0: 256 targets%0aroot on sd0a (b8a4714aab650659.a) swap on sd0b dump on sd0b%0aAutomatic boot in progress: starting file system checks.%0a/dev/sd0a (b8a4714aab650659.a): file system is clean; not chec%0aking%0a/dev/sd0k (b8a4714aab650659.k): file system is clean; not chec%0aking%0a/dev/sd0d (b8a4714aab650659.d): file system is clean; not chec%0aking%0a/dev/sd0f (b8a4714aab650659.f): file system is clean; not chec%0aking%0a/dev/sd0g (b8a4714aab650659.g): file system is clean; not chec%0aking%0a/dev/sd0h (b8a4714aab650659.h): file system is clean; not chec%0aking%0a/dev/sd0j (b8a4714aab650659.j): file system is clean; not chec%0aking%0a/dev/sd0i (b8a4714aab650659.i): file system is clean; not chec%0aking%0a/dev/sd0e (b8a4714aab650659.e): file system is clean; not chec%0aking%0apf enabled%0astarting network%0areordering libraries: done.%0aopenssl: generating isakmpd/iked RSA keys... done.%0assh-keygen: generating new host keys: RSA DSA ECDSA ED25519%0astarting early daemons: syslogd pflogd ntpd.%0astarting RPC daemons:.%0asavecore: no core dump%0achecking quotas: done.%0aclearing /tmp%0akern.securelevel: 0 -> 1%0acreating runtime link editor directory cache.%0apreserving editor files.%0astarting network daemons: sshd smtpd sndiod.%0arunning rc.firsttime%0aPath to firmware: http://firmware.openbsd.org/firmware/7.0/%0aInstalling: intel-firmware%0a^Cstarting local daemons: cron.%0aTue Oct 26 10:03:42 EDT 2021%0a%0aOpenBSD/amd64 (username.host.thunderirc.net) (tty00)%0a%0alogin: root%0aPassword:%0aOpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021%0a%0aWelcome to OpenBSD: The proactively secure Unix-like operating%0a system.%0a%0aPlease use the sendbug(1) utility to report bugs in the system%0a.%0aBefore reporting a bug, please try to reproduce it with the la%0atest%0aversion of the code. With bug reports, please try to ensure t%0ahat%0aenough information to reproduce the problem is enclosed, and i%0af a%0aknown fix for it exists, include that as well.%0a%0aYou have mail.%0a%0ausername# crontab -e%0a#%0aSHELL=/bin/sh%0aPATH=/bin:/sbin:/usr/bin:/usr/sbin%0aHOME=/var/log%0a#%0a#minute hour mday month wday [flags] command%0a#%0a# rotate log files every hour, if necessary%0a0 * * * * /usr/bin/newsyslog%0a# send log file notifications, if necessary%0a#1-59 * * * * /usr/bin/newsyslog -m%0a#%0a# do daily/weekly/monthly maintenance%0a30 1 * * * /bin/sh /etc/daily%0a30 3 * * 6 /bin/sh /etc/weekly%0a30 5 1 * * /bin/sh /etc/monthly%0a#~ * * * * /usr/libexec/spamd-set%0aup%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38%0a.87.162.1; done'\; * * -ns rpki-client -v &&%0a~%0a~%0aFile modified since last complete write; write or use ! to ove%0a:q%0acrontab: installing new crontab%0ausername# @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping%0ausername# /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.%0ausername# tmux ae'\>%0aPING 38.87.162.1 (38.87.162.1): 56 data bytes%0a64 bytes from 38.87.162.1: icmp_seq=0 ttl=255 time=1.103 ms%0aPING 38.87.162.1 (38.87.162.1): 56 data bytes%0a64 bytes from 38.87.162.1: icmp_seq=0 ttl=255 time=1.103 ms%0a64 bytes from 38.87.162.1: icmp_seq=1 ttl=255 time=0.628 ms%0a64 bytes from 38.87.162.1: icmp_seq=2 ttl=255 time=20.692 ms%0a64 bytes from 38.87.162.1: icmp_seq=3 ttl=255 time=0.599 ms%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a[0] 0:ping* "username.host.thunderir%0ac" 10:10 26-Oct-21%0a[detached (from session 0)]%0ausername# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a1024 MD5:f1:6d:f7:c4:fc:be:29:e8:5d:b9:be:9f:b5:8e:fb:3f root@%0ausername.host.thunderirc.net (DSA)%0ausername# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a256 MD5:9e:19:f2:7c:42:e3:f9:2f:3f:37:50:ff:a9:fd:e2:e9 root@m%0aelfa.host.thunderirc.net (ECDSA)%0ausername# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a256 MD5:62:2c:81:73:58:4c:67:e6:18:61:f8:63:5e:e6:38:76 root@m%0aelfa.host.thunderirc.net (ED25519)%0ausername# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a3072 MD5:c1:68:3e:c4:45:1e:5a:4e:10:a8:73:6b:48:12:df:66 root@%0ausername.host.thunderirc.net (RSA)%0ausername# ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a1024 SHA256:IXmAJAIdZC86j0R9QjE34xd/BBZYbwF5+awvzMpvjyE root@m%0aelfa.host.thunderirc.net (DSA)%0ausername# ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a256 SHA256:6Q8iFOnyPAgikH1uBA7e24blVLwY8B+7NSIAxc6Wqlk root@me%0alfa.host.thunderirc.net (ECDSA)%0ausername# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a256 SHA256:GGCJN9QEJGxFA6rM9eWyqKMYTWclj0xbv3g1xz/y4Zc root@me%0alfa.host.thunderirc.net (ED25519)%0ausername# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a3072 SHA256:fFyz8lcRkP0Euza+S90wbyAdDRRXki3iF+j+DNLzjdc root@m%0aelfa.host.thunderirc.net (RSA)%0ausername#%0a%0a%0aecho "@reboot /usr/bin/tmux new -d 'while true; do /sbin/pin%0ag -i5 38.87.162.1; done' \;" >> /var/cron/tabs/root%0a/usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.16%0a2.1; done' \;%0a%0a1024 MD5:77:9a:c8:2f:34:1d:56:2e:a1:07:42:c0:c7:ce:ee:b5 roo%0at@username.host.thunderirc.net (DSA)%0a256 MD5:f0:54:35:63:78:82:31:90:72:8d:de:84:0d:45:06:4c root%0a@username.host.thunderirc.net (ECDSA)%0a256 MD5:b1:22:7f:1f:00:92:9a:0d:00:da:4f:85:00:2e:2f:ab root%0a@username.host.thunderirc.net (ED25519)%0a3072 MD5:a1:e9:a6:99:b5:1b:4b:bd:fa:2b:5d:a7:7b:59:70:57 roo%0at@username.host.thunderirc.net (RSA)%0a1024 SHA256:OKiReau1PTeTgD2ttInI6TUYi/MqLx5Q3OVTmWUKbE8 root%0a@username.host.thunderirc.net (DSA)%0a256 SHA256:+NvGOkgfWN39Hspmugsd2PyPwrehEqsD9qXu0dfl14U root@%0ausername.host.thunderirc.net (ECDSA)%0a256 SHA256:hag6/gJDg/ORNptEMM6yVz4qePHw30Zl/ZKPWu8NCgs root@%0ausername.host.thunderirc.net (ED25519)%0a3072 SHA256:At2JRcwCVDC9Wirs7CCWvCtML2ZLB9hW08dbCS4OCAQ root%0a@username.host.thunderirc.net (RSA)%0a +time=1635268321 +author:1635268321=jrmu +diff:1635268321:1635076266:=1,583c1%0a%3c vmctl: qcow2 imagefile created%0a%3c VM created for username!%0a%3c ok%0a%3c ok%0a%3c ok%0a%3c ok%0a%3c host$ doas vmctl console username%0a%3c Connected to /dev/ttypm (speed 115200)%0a%3c %0a%3c (I)nstall, (U)pgrade, (A)utoinstall or (S)hell? i%0a%3c At any prompt except password prompts you can escape to a shel%0a%3c l by%0a%3c typing '!'. Default answers are shown in []'s and are selected%0a%3c by%0a%3c pressing RETURN. You can exit this program at any time by pre%0a%3c ssing%0a%3c Control-C, but this can leave your system in an inconsistent s%0a%3c tate.%0a%3c %0a%3c Terminal type? [vt220]%0a%3c System hostname? (short form, e.g. 'foo') username%0a%3c %0a%3c Available network interfaces are: vio0 vlan0.%0a%3c Which network interface do you wish to configure? (or 'done')%0a%3c [vio0]%0a%3c IPv4 address for vio0? (or 'autoconf' or 'none') [autoconf] 38%0a%3c .87.162.179%0a%3c Netmask for vio0? [255.255.255.0]%0a%3c IPv6 address for vio0? (or 'autoconf' or 'none') [none] 2602:f%0a%3c ccf:1:1179::%0a%3c IPv6 prefix length for vio0? [64] 48%0a%3c Available network interfaces are: vio0 vlan0.%0a%3c Which network interface do you wish to configure? (or 'done')%0a%3c [done]%0a%3c Default IPv4 route? (IPv4 address or none) 38.87.162.1%0a%3c add net default: gateway 38.87.162.1%0a%3c 1) none%0a%3c IPv6 default router? (list #, IPv6 address or 'none') 2602:fcc%0a%3c f:1::1%0a%3c add net default: gateway 2602:fccf:1::1%0a%3c DNS domain name? (e.g. 'example.com') [my.domain] host.thunder%0a%3c irc.net%0a%3c DNS nameservers? (IP address list or 'none') [none] 8.8.8.8%0a%3c %0a%3c Password for root account? (will not echo)%0a%3c Password for root account? (again)%0a%3c Passwords do not match, try again.%0a%3c Password for root account? (will not echo)%0a%3c Password for root account? (again)%0a%3c Start sshd(8) by default? [yes]%0a%3c Change the default console to com0? [yes]%0a%3c Available speeds are: 9600 19200 38400 57600 115200.%0a%3c Which speed should com0 use? (or 'done') [115200]%0a%3c Setup a user? (enter a lower-case loginname, or 'no') [no] mel%0a%3c fa%0a%3c Full name for user username? [username]%0a%3c Password for user username? (will not echo)%0a%3c Password for user username? (again)%0a%3c WARNING: root is targeted by password guessing attacks, pubkey%0a%3c s are safer.%0a%3c Allow root ssh login? (yes, no, prohibit-password) [no]%0a%3c What timezone are you in? ('?' for list) [US/Eastern]%0a%3c %0a%3c Available disks are: sd0.%0a%3c Which disk is the root disk? ('?' for details) [sd0]%0a%3c No valid MBR or GPT.%0a%3c Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole]%0a%3c Setting OpenBSD MBR partition to whole sd0...done.%0a%3c The auto-allocated layout for sd0 is:%0a%3c # size offset fstype [fsize bsize%0a%3c cpg]%0a%3c a: 634.6M 64 4.2BSD 2048 16384%0a%3c 1 # /%0a%3c b: 1049.1M 1299648 swap%0a%3c %0a%3c c: 20480.0M 0 unused%0a%3c %0a%3c d: 895.3M 3448288 4.2BSD 2048 16384%0a%3c 1 # /tmp%0a%3c e: 1339.9M 5281888 4.2BSD 2048 16384%0a%3c 1 # /var%0a%3c f: 2469.1M 8025952 4.2BSD 2048 16384%0a%3c 1 # /usr%0a%3c g: 674.7M 13082752 4.2BSD 2048 16384%0a%3c 1 # /usr/X11R6%0a%3c h: 2477.7M 14464608 4.2BSD 2048 16384%0a%3c 1 # /usr/local%0a%3c i: 1493.8M 19538944 4.2BSD 2048 16384%0a%3c 1 # /usr/src%0a%3c j: 5507.7M 22598304 4.2BSD 2048 16384%0a%3c 1 # /usr/obj%0a%3c k: 3931.5M 33877984 4.2BSD 2048 16384%0a%3c 1 # /home%0a%3c Use (A)uto layout, (E)dit auto layout, or create (C)ustom layo%0a%3c ut? [a]%0a%3c /dev/rsd0a: 634.6MB in 1299584 sectors of 512 bytes%0a%3c 4 cylinder groups of 158.64MB, 10153 blocks, 20352 inodes each%0a%3c /dev/rsd0k: 3931.5MB in 8051648 sectors of 512 bytes%0a%3c 20 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0a%3c h%0a%3c /dev/rsd0d: 895.3MB in 1833600 sectors of 512 bytes%0a%3c 5 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a%3c /dev/rsd0f: 2469.1MB in 5056800 sectors of 512 bytes%0a%3c 13 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0a%3c h%0a%3c newfs: reduced number of fragments per cylinder group from 863%0a%3c 60 to 85680 to enlarge last cylinder group%0a%3c /dev/rsd0g: 674.7MB in 1381856 sectors of 512 bytes%0a%3c 5 cylinder groups of 167.34MB, 10710 blocks, 21440 inodes each%0a%3c /dev/rsd0h: 2477.7MB in 5074336 sectors of 512 bytes%0a%3c 13 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0a%3c h%0a%3c /dev/rsd0j: 5507.7MB in 11279680 sectors of 512 bytes%0a%3c 28 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes eac%0a%3c h%0a%3c /dev/rsd0i: 1493.8MB in 3059360 sectors of 512 bytes%0a%3c 8 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a%3c /dev/rsd0e: 1339.9MB in 2744064 sectors of 512 bytes%0a%3c 7 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each%0a%3c /dev/sd0a (b8a4714aab650659.a) on /mnt type ffs (rw, asynchron%0a%3c ous, local)%0a%3c /dev/sd0k (b8a4714aab650659.k) on /mnt/home type ffs (rw, asyn%0a%3c chronous, local, nodev, nosuid)%0a%3c /dev/sd0d (b8a4714aab650659.d) on /mnt/tmp type ffs (rw, async%0a%3c hronous, local, nodev, nosuid)%0a%3c /dev/sd0f (b8a4714aab650659.f) on /mnt/usr type ffs (rw, async%0a%3c hronous, local, nodev)%0a%3c /dev/sd0g (b8a4714aab650659.g) on /mnt/usr/X11R6 type ffs (rw,%0a%3c asynchronous, local, nodev)%0a%3c /dev/sd0h (b8a4714aab650659.h) on /mnt/usr/local type ffs (rw,%0a%3c asynchronous, local, nodev)%0a%3c /dev/sd0j (b8a4714aab650659.j) on /mnt/usr/obj type ffs (rw, a%0a%3c synchronous, local, nodev, nosuid)%0a%3c /dev/sd0i (b8a4714aab650659.i) on /mnt/usr/src type ffs (rw, a%0a%3c synchronous, local, nodev, nosuid)%0a%3c /dev/sd0e (b8a4714aab650659.e) on /mnt/var type ffs (rw, async%0a%3c hronous, local, nodev, nosuid)%0a%3c %0a%3c Let's install the sets!%0a%3c Location of sets? (cd0 disk http nfs or 'done') [cd0]%0a%3c Pathname to the sets? (or 'done') [7.0/amd64]%0a%3c %0a%3c Select sets by entering a set name, a file name pattern or 'al%0a%3c l'. De-select%0a%3c sets by prepending a '-', e.g.: '-game*'. Selected sets are la%0a%3c belled '[X]'.%0a%3c [X] bsd [X] comp70.tgz [X] xbase70.tgz [X]%0a%3c xserv70.tgz%0a%3c [X] bsd.rd [X] man70.tgz [X] xshare70.tgz%0a%3c [X] base70.tgz [X] game70.tgz [X] xfont70.tgz%0a%3c Set name(s)? (or 'abort' or 'done') [done]%0a%3c Directory does not contain SHA256.sig. Continue without verifi%0a%3c cation? [no] yes%0a%3c Installing bsd 0%25 | |%0a%3c Installing bsd 29%25 |******* | 627%0a%3c Installing bsd 58%25 |*************** | 1241%0a%3c Installing bsd 88%25 |********************** | 1868%0a%3c Installing bsd 100%25 |**************************| 2109%0a%3c 0 KB 00:03%0a%3c Installing bsd.rd 0%25 | |%0a%3c Installing bsd.rd 100%25 |**************************| 410%0a%3c 9 KB 00:00%0a%3c Installing base70.tgz 0%25 | |%0a%3c Installing base70.tgz 0%25 | | 230%0a%3c Installing base70.tgz 1%25 | | 448%0a%3c Installing base70.tgz 2%25 | | 780%0a%3c Installing base70.tgz 3%25 | | 1113%0a%3c Installing base70.tgz 4%25 |* | 1433%0a%3c Installing base70.tgz 5%25 |* | 1766%0a%3c Installing base70.tgz 6%25 |* | 1958%0a%3c Installing base70.tgz 7%25 |* | 2227%0a%3c Installing base70.tgz 8%25 |** | 2521%0a%3c Installing base70.tgz 9%25 |** | 2816%0a%3c Installing base70.tgz 10%25 |** | 3148%0a%3c Installing base70.tgz 11%25 |** | 3456%0a%3c Installing base70.tgz 12%25 |*** | 3788%0a%3c Installing base70.tgz 13%25 |*** | 4147%0a%3c Installing base70.tgz 14%25 |*** | 4467%0a%3c Installing base70.tgz 15%25 |*** | 4684%0a%3c Installing base70.tgz 15%25 |*** | 4915%0a%3c Installing base70.tgz 16%25 |**** | 5260%0a%3c Installing base70.tgz 18%25 |**** | 5593%0a%3c Installing base70.tgz 19%25 |**** | 5952%0a%3c Installing base70.tgz 20%25 |***** | 6272%0a%3c Installing base70.tgz 21%25 |***** | 6617%0a%3c Installing base70.tgz 22%25 |***** | 6937%0a%3c Installing base70.tgz 23%25 |***** | 7257%0a%3c Installing base70.tgz 24%25 |****** | 7449%0a%3c Installing base70.tgz 25%25 |****** | 7769%0a%3c Installing base70.tgz 26%25 |****** | 8128%0a%3c Installing base70.tgz 27%25 |******* | 8460%0a%3c Installing base70.tgz 28%25 |******* | 8793%0a%3c Installing base70.tgz 29%25 |******* | 9113%0a%3c Installing base70.tgz 30%25 |******* | 9369%0a%3c Installing base70.tgz 30%25 |******* | 9574%0a%3c Installing base70.tgz 31%25 |******** | 9792%0a%3c Installing base70.tgz 32%25 |******** | 9%0a%3c Installing base70.tgz 33%25 |******** | 10%0a%3c Installing base70.tgz 33%25 |******** | 10%0a%3c Installing base70.tgz 34%25 |******** | 10%0a%3c Installing base70.tgz 35%25 |********* | 10%0a%3c Installing base70.tgz 36%25 |********* | 11%0a%3c Installing base70.tgz 37%25 |********* | 11%0a%3c Installing base70.tgz 39%25 |********** | 11%0a%3c Installing base70.tgz 41%25 |********** | 12%0a%3c Installing base70.tgz 42%25 |********** | 12%0a%3c Installing base70.tgz 44%25 |*********** | 13%0a%3c Installing base70.tgz 45%25 |*********** | 13%0a%3c Installing base70.tgz 47%25 |************ | 14%0a%3c Installing base70.tgz 49%25 |************ | 14%0a%3c Installing base70.tgz 50%25 |************* | 15%0a%3c Installing base70.tgz 52%25 |************* | 15%0a%3c Installing base70.tgz 53%25 |************* | 16%0a%3c Installing base70.tgz 55%25 |************** | 16%0a%3c Installing base70.tgz 57%25 |************** | 17%0a%3c Installing base70.tgz 58%25 |*************** | 17%0a%3c Installing base70.tgz 60%25 |*************** | 18%0a%3c Installing base70.tgz 61%25 |*************** | 18%0a%3c Installing base70.tgz 63%25 |**************** | 19%0a%3c Installing base70.tgz 65%25 |**************** | 19%0a%3c Installing base70.tgz 66%25 |***************** | 20%0a%3c Installing base70.tgz 68%25 |***************** | 20%0a%3c Installing base70.tgz 70%25 |****************** | 21%0a%3c Installing base70.tgz 71%25 |****************** | 21%0a%3c Installing base70.tgz 73%25 |****************** | 22%0a%3c Installing base70.tgz 74%25 |******************* | 22%0a%3c Installing base70.tgz 76%25 |******************* | 23%0a%3c Installing base70.tgz 77%25 |******************** | 23%0a%3c Installing base70.tgz 79%25 |******************** | 24%0a%3c Installing base70.tgz 80%25 |******************** | 24%0a%3c Installing base70.tgz 82%25 |********************* | 24%0a%3c Installing base70.tgz 84%25 |********************* | 25%0a%3c Installing base70.tgz 85%25 |********************** | 25%0a%3c Installing base70.tgz 87%25 |********************** | 26%0a%3c Installing base70.tgz 88%25 |********************** | 26%0a%3c Installing base70.tgz 90%25 |*********************** | 27%0a%3c Installing base70.tgz 92%25 |*********************** | 27%0a%3c Installing base70.tgz 93%25 |************************ | 28%0a%3c Installing base70.tgz 95%25 |************************ | 28%0a%3c Installing base70.tgz 97%25 |************************* | 29%0a%3c Installing base70.tgz 98%25 |************************* | 29%0a%3c Installing base70.tgz 98%25 |************************* | 29%0a%3c Installing base70.tgz 99%25 |************************* | 30%0a%3c Installing base70.tgz 99%25 |************************* | 30%0a%3c Installing base70.tgz 100%25 |**************************| 30%0a%3c 2 MB 01:21%0a%3c Extracting etc.tgz 0%25 | |%0a%3c Extracting etc.tgz 100%25 |**************************| 24%0a%3c 6 KB 00:00%0a%3c Installing comp70.tgz 0%25 | |%0a%3c Installing comp70.tgz 2%25 | | 217%0a%3c Installing comp70.tgz 5%25 |* | 435%0a%3c Installing comp70.tgz 9%25 |** | 665%0a%3c Installing comp70.tgz 12%25 |*** | 908%0a%3c Installing comp70.tgz 16%25 |**** | 1177%0a%3c Installing comp70.tgz 19%25 |**** | 1446%0a%3c Installing comp70.tgz 23%25 |***** | 1715%0a%3c Installing comp70.tgz 27%25 |******* | 1984%0a%3c Installing comp70.tgz 30%25 |******* | 2252%0a%3c Installing comp70.tgz 34%25 |******** | 2508%0a%3c Installing comp70.tgz 37%25 |********* | 2764%0a%3c Installing comp70.tgz 41%25 |********** | 3046%0a%3c Installing comp70.tgz 45%25 |*********** | 3353%0a%3c Installing comp70.tgz 49%25 |************ | 3609%0a%3c Installing comp70.tgz 53%25 |************* | 3916%0a%3c Installing comp70.tgz 58%25 |*************** | 4249%0a%3c Installing comp70.tgz 62%25 |**************** | 4582%0a%3c Installing comp70.tgz 66%25 |***************** | 4889%0a%3c Installing comp70.tgz 70%25 |****************** | 5145%0a%3c Installing comp70.tgz 75%25 |******************* | 5478%0a%3c Installing comp70.tgz 79%25 |******************** | 5785%0a%3c Installing comp70.tgz 83%25 |********************* | 6118%0a%3c Installing comp70.tgz 86%25 |********************** | 6348%0a%3c Installing comp70.tgz 89%25 |*********************** | 6515%0a%3c Installing comp70.tgz 90%25 |*********************** | 6643%0a%3c Installing comp70.tgz 93%25 |************************ | 6796%0a%3c Installing comp70.tgz 95%25 |************************ | 6950%0a%3c Installing comp70.tgz 97%25 |************************* | 7091%0a%3c Installing comp70.tgz 99%25 |************************* | 7257%0a%3c Installing comp70.tgz 100%25 |**************************| 7300%0a%3c 2 KB 00:29%0a%3c Installing man70.tgz 0%25 | |%0a%3c Installing man70.tgz 35%25 |********* | 268%0a%3c Installing man70.tgz 60%25 |*************** | 460%0a%3c Installing man70.tgz 79%25 |******************** | 601%0a%3c Installing man70.tgz 100%25 |**************************| 758%0a%3c 0 KB 00:03%0a%3c Installing game70.tgz 0%25 | |%0a%3c Installing game70.tgz 100%25 |**************************| 274%0a%3c 3 KB 00:00%0a%3c Installing xbase70.tgz 0%25 | |%0a%3c Installing xbase70.tgz 5%25 |* | 281%0a%3c Installing xbase70.tgz 11%25 |** | 601%0a%3c Installing xbase70.tgz 14%25 |*** | 780%0a%3c Installing xbase70.tgz 19%25 |**** | 1049%0a%3c Installing xbase70.tgz 25%25 |****** | 1408%0a%3c Installing xbase70.tgz 32%25 |******** | 1766%0a%3c Installing xbase70.tgz 39%25 |********** | 2124%0a%3c Installing xbase70.tgz 45%25 |*********** | 2457%0a%3c Installing xbase70.tgz 50%25 |************* | 2752%0a%3c Installing xbase70.tgz 55%25 |************** | 3046%0a%3c Installing xbase70.tgz 60%25 |*************** | 3289%0a%3c Installing xbase70.tgz 65%25 |**************** | 3558%0a%3c Installing xbase70.tgz 69%25 |***************** | 3788%0a%3c Installing xbase70.tgz 74%25 |******************* | 4032%0a%3c Installing xbase70.tgz 79%25 |******************** | 4313%0a%3c Installing xbase70.tgz 83%25 |********************* | 4531%0a%3c Installing xbase70.tgz 87%25 |********************** | 4774%0a%3c Installing xbase70.tgz 93%25 |************************ | 5068%0a%3c Installing xbase70.tgz 97%25 |************************* | 5299%0a%3c Installing xbase70.tgz 100%25 |**************************| 5440%0a%3c 8 KB 00:19%0a%3c Extracting xetc.tgz 0%25 | |%0a%3c Extracting xetc.tgz 100%25 |**************************| 707%0a%3c 0 00:00%0a%3c Installing xshare70.tgz 0%25 | |%0a%3c Installing xshare70.tgz 31%25 |******** | 140%0a%3c Installing xshare70.tgz 45%25 |*********** | 204%0a%3c Installing xshare70.tgz 74%25 |******************* | 332%0a%3c Installing xshare70.tgz 100%25 |**************************| 449%0a%3c 4 KB 00:03%0a%3c Installing xfont70.tgz 0%25 | |%0a%3c Installing xfont70.tgz 15%25 |*** | 345%0a%3c Installing xfont70.tgz 35%25 |********* | 806%0a%3c Installing xfont70.tgz 48%25 |************ | 1113%0a%3c Installing xfont70.tgz 64%25 |**************** | 1472%0a%3c Installing xfont70.tgz 76%25 |******************* | 1753%0a%3c Installing xfont70.tgz 95%25 |************************ | 2188%0a%3c Installing xfont70.tgz 100%25 |**************************| 2296%0a%3c 5 KB 00:06%0a%3c Installing xserv70.tg100 24545 100 24545 0 0 56249 0 --:--:-- --:--:-- --:--:-- 584k%0a%3c z 0%25 | |%0a%3c Installing xserv70.tgz 16%25 |**** | 332%0a%3c Installing xserv70.tgz 32%25 |******** | 640%0a%3c Installing xserv70.tgz 48%25 |************ | 960%0a%3c Installing xserv70.tgz 61%25 |*************** | 1203%0a%3c Installing xserv70.tgz 78%25 |******************** | 1536%0a%3c Installing xserv70.tgz 92%25 |*********************** | 1817%0a%3c Installing xserv70.tgz 100%25 |**************************| 1965%0a%3c 9 KB 00:06%0a%3c Location of sets? (cd0 disk http nfs or 'done') [done]%0a%3c Saving configuration files... done.%0a%3c %0a%3c Making all device nodes... done.%0a%3c Relinking to create unique kernel... done.%0a%3c %0a%3c CONGRATULATIONS! Your OpenBSD install has been successfully co%0a%3c mpleted!%0a%3c %0a%3c When you login to your new system the first time, please read%0a%3c your mail%0a%3c using the 'mail' command.%0a%3c %0a%3c Exit to (S)hell, (H)alt or (R)eboot? [reboot] syncing disks...%0a%3c done%0a%3c vmmci0: powerdown%0a%3c rebooting...%0a%3c Using drive 0, partition 3.%0a%3c Loading......%0a%3c probing: pc0 com0 mem[638K 1022M a20=on]%0a%3c disk: hd0+%0a%3c >> OpenBSD/amd64 BOOT 3.53%0a%3c \%0a%3c com0: 115200 baud%0a%3c switching console to com0%0a%3c >> OpenBSD/amd64 BOOT 3.53%0a%3c boot>%0a%3c booting hd0a:/bsd: 14746904+3367952+348800+0+1167360 [1065252+%0a%3c 128+1163832+876369]=0x15b1738%0a%3c entry point at 0xffffffff81001000%0a%3c [ using 3106616 bytes of bsd ELF symbol table ]%0a%3c Copyright (c) 1982, 1986, 1989, 1991, 1993%0a%3c The Regents of the University of California. All righ%0a%3c ts reserved.%0a%3c Copyright (c) 1995-2021 OpenBSD. All rights reserved. https:/%0a%3c /www.OpenBSD.org%0a%3c %0a%3c OpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021%0a%3c deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/%0a%3c GENERIC%0a%3c real mem = 1056948224 (1007MB)%0a%3c avail mem = 1009053696 (962MB)%0a%3c random: good seed from bootblocks%0a%3c mpath0 at root%0a%3c scsibus0 at mpath0: 256 targets%0a%3c mainbus0 at root%0a%3c bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf3f40 (10 entries)%0a%3c bios0: vendor SeaBIOS version "1.11.0p3-OpenBSD-vmm" date 01/0%0a%3c 1/2011%0a%3c bios0: OpenBSD VMM%0a%3c acpi at bios0 not configured%0a%3c cpu0 at mainbus0: (uniprocessor)%0a%3c cpu0: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 2301.78 MHz, 0%0a%3c 6-2d-07%0a%3c cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,CF%0a%3c LUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,CX16,SSE4.1,SSE4.2,PO%0a%3c PCNT,AES,XSAVE,AVX,HV,NXE,PAGE1GB,LONG,LAHF,ITSC,MD_CLEAR,MELT%0a%3c DOWN%0a%3c cpu0: 256KB 64b/line 8-way L2 cache%0a%3c cpu0: smt 0, core 0, package 0%0a%3c cpu0: using VERW MDS workaround%0a%3c pvbus0 at mainbus0: OpenBSD%0a%3c pvclock0 at pvbus0%0a%3c pci0 at mainbus0 bus 0%0a%3c pchb0 at pci0 dev 0 function 0 "OpenBSD VMM Host" rev 0x00%0a%3c virtio0 at pci0 dev 1 function 0 "Qumranet Virtio RNG" rev 0x0%0a%3c 0%0a%3c viornd0 at virtio0%0a%3c virtio0: irq 3%0a%3c virtio1 at pci0 dev 2 function 0 "Qumranet Virtio Network" rev%0a%3c 0x00%0a%3c vio0 at virtio1: address f8:67:d3:c4:66:35%0a%3c virtio1: irq 5%0a%3c virtio2 at pci0 dev 3 function 0 "Qumranet Virtio Storage" rev%0a%3c 0x00%0a%3c vioblk0 at virtio2%0a%3c scsibus1 at vioblk0: 1 targets%0a%3c sd0 at scsibus1 targ 0 lun 0: %3cVirtIO, Block Device, >%0a%3c sd0: 20480MB, 512 bytes/sector, 41943040 sectors%0a%3c virtio2: irq 6%0a%3c virtio3 at pci0 dev 4 function 0 "Qumranet Virtio SCSI" rev 0x%0a%3c 00%0a%3c vioscsi0 at virtio3: qsize 128%0a%3c scsibus2 at vioscsi0: 1 targets%0a%3c cd0 at scsibus2 targ 0 lun 0: %3cOpenBSD, VMM CD-ROM, 001> remov%0a%3c able%0a%3c virtio3: irq 7%0a%3c virtio4 at pci0 dev 5 function 0 "OpenBSD VMM Control" rev 0x0%0a%3c 0%0a%3c vmmci0 at virtio4%0a%3c virtio4: irq 9%0a%3c isa0 at mainbus0%0a%3c isadma0 at isa0%0a%3c com0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo%0a%3c com0: console%0a%3c dt: 445 probes%0a%3c vscsi0 at root%0a%3c scsibus3 at vscsi0: 256 targets%0a%3c softraid0 at root%0a%3c scsibus4 at softraid0: 256 targets%0a%3c root on sd0a (b8a4714aab650659.a) swap on sd0b dump on sd0b%0a%3c Automatic boot in progress: starting file system checks.%0a%3c /dev/sd0a (b8a4714aab650659.a): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0k (b8a4714aab650659.k): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0d (b8a4714aab650659.d): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0f (b8a4714aab650659.f): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0g (b8a4714aab650659.g): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0h (b8a4714aab650659.h): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0j (b8a4714aab650659.j): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0i (b8a4714aab650659.i): file system is clean; not chec%0a%3c king%0a%3c /dev/sd0e (b8a4714aab650659.e): file system is clean; not chec%0a%3c king%0a%3c pf enabled%0a%3c starting network%0a%3c reordering libraries: done.%0a%3c openssl: generating isakmpd/iked RSA keys... done.%0a%3c ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519%0a%3c starting early daemons: syslogd pflogd ntpd.%0a%3c starting RPC daemons:.%0a%3c savecore: no core dump%0a%3c checking quotas: done.%0a%3c clearing /tmp%0a%3c kern.securelevel: 0 -> 1%0a%3c creating runtime link editor directory cache.%0a%3c preserving editor files.%0a%3c starting network daemons: sshd smtpd sndiod.%0a%3c running rc.firsttime%0a%3c Path to firmware: http://firmware.openbsd.org/firmware/7.0/%0a%3c Installing: intel-firmware%0a%3c ^Cstarting local daemons: cron.%0a%3c Tue Oct 26 10:03:42 EDT 2021%0a%3c %0a%3c OpenBSD/amd64 (username.host.thunderirc.net) (tty00)%0a%3c %0a%3c login: root%0a%3c Password:%0a%3c OpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021%0a%3c %0a%3c Welcome to OpenBSD: The proactively secure Unix-like operating%0a%3c system.%0a%3c %0a%3c Please use the sendbug(1) utility to report bugs in the system%0a%3c .%0a%3c Before reporting a bug, please try to reproduce it with the la%0a%3c test%0a%3c version of the code. With bug reports, please try to ensure t%0a%3c hat%0a%3c enough information to reproduce the problem is enclosed, and i%0a%3c f a%0a%3c known fix for it exists, include that as well.%0a%3c %0a%3c You have mail.%0a%3c %0a%3c username# crontab -e%0a%3c #%0a%3c SHELL=/bin/sh%0a%3c PATH=/bin:/sbin:/usr/bin:/usr/sbin%0a%3c HOME=/var/log%0a%3c #%0a%3c #minute hour mday month wday [flags] command%0a%3c #%0a%3c # rotate log files every hour, if necessary%0a%3c 0 * * * * /usr/bin/newsyslog%0a%3c # send log file notifications, if necessary%0a%3c #1-59 * * * * /usr/bin/newsyslog -m%0a%3c #%0a%3c # do daily/weekly/monthly maintenance%0a%3c 30 1 * * * /bin/sh /etc/daily%0a%3c 30 3 * * 6 /bin/sh /etc/weekly%0a%3c 30 5 1 * * /bin/sh /etc/monthly%0a%3c #~ * * * * /usr/libexec/spamd-set%0a%3c up%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38%0a%3c .87.162.1; done'\; * * -ns rpki-client -v &&%0a%3c ~%0a%3c ~%0a%3c File modified since last complete write; write or use ! to ove%0a%3c :q%0a%3c crontab: installing new crontab%0a%3c username# @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping%0a%3c username# /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.%0a%3c username# tmux ae'\>%0a%3c PING 38.87.162.1 (38.87.162.1): 56 data bytes%0a%3c 64 bytes from 38.87.162.1: icmp_seq=0 ttl=255 time=1.103 ms%0a%3c PING 38.87.162.1 (38.87.162.1): 56 data bytes%0a%3c 64 bytes from 38.87.162.1: icmp_seq=0 ttl=255 time=1.103 ms%0a%3c 64 bytes from 38.87.162.1: icmp_seq=1 ttl=255 time=0.628 ms%0a%3c 64 bytes from 38.87.162.1: icmp_seq=2 ttl=255 time=20.692 ms%0a%3c 64 bytes from 38.87.162.1: icmp_seq=3 ttl=255 time=0.599 ms%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c [0] 0:ping* "username.host.thunderir%0a%3c c" 10:10 26-Oct-21%0a%3c [detached (from session 0)]%0a%3c username# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c 1024 MD5:f1:6d:f7:c4:fc:be:29:e8:5d:b9:be:9f:b5:8e:fb:3f root@%0a%3c username.host.thunderirc.net (DSA)%0a%3c username# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c 256 MD5:9e:19:f2:7c:42:e3:f9:2f:3f:37:50:ff:a9:fd:e2:e9 root@m%0a%3c elfa.host.thunderirc.net (ECDSA)%0a%3c username# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c 256 MD5:62:2c:81:73:58:4c:67:e6:18:61:f8:63:5e:e6:38:76 root@m%0a%3c elfa.host.thunderirc.net (ED25519)%0a%3c username# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c 3072 MD5:c1:68:3e:c4:45:1e:5a:4e:10:a8:73:6b:48:12:df:66 root@%0a%3c username.host.thunderirc.net (RSA)%0a%3c username# ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c 1024 SHA256:IXmAJAIdZC86j0R9QjE34xd/BBZYbwF5+awvzMpvjyE root@m%0a%3c elfa.host.thunderirc.net (DSA)%0a%3c username# ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c 256 SHA256:6Q8iFOnyPAgikH1uBA7e24blVLwY8B+7NSIAxc6Wqlk root@me%0a%3c lfa.host.thunderirc.net (ECDSA)%0a%3c username# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c 256 SHA256:GGCJN9QEJGxFA6rM9eWyqKMYTWclj0xbv3g1xz/y4Zc root@me%0a%3c lfa.host.thunderirc.net (ED25519)%0a%3c username# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c 3072 SHA256:fFyz8lcRkP0Euza+S90wbyAdDRRXki3iF+j+DNLzjdc root@m%0a%3c elfa.host.thunderirc.net (RSA)%0a%3c username#%0a---%0a> %0a +host:1635268321=38.87.162.8 +author:1635076266=jrmu +diff:1635076266:1635072301:=1,3d0%0a%3c %0a%3c %0a%3c %0a +host:1635076266=38.87.162.8 +author:1635072301=jrmu +diff:1635072301:1635072204:=5,21d4%0a%3c %0a%3c 1024 MD5:77:9a:c8:2f:34:1d:56:2e:a1:07:42:c0:c7:ce:ee:b5 roo%0a%3c t@username.host.thunderirc.net (DSA)%0a%3c 256 MD5:f0:54:35:63:78:82:31:90:72:8d:de:84:0d:45:06:4c root%0a%3c @username.host.thunderirc.net (ECDSA)%0a%3c 256 MD5:b1:22:7f:1f:00:92:9a:0d:00:da:4f:85:00:2e:2f:ab root%0a%3c @username.host.thunderirc.net (ED25519)%0a%3c 3072 MD5:a1:e9:a6:99:b5:1b:4b:bd:fa:2b:5d:a7:7b:59:70:57 roo%0a%3c t@username.host.thunderirc.net (RSA)%0a%3c 1024 SHA256:OKiReau1PTeTgD2ttInI6TUYi/MqLx5Q3OVTmWUKbE8 root%0a%3c @username.host.thunderirc.net (DSA)%0a%3c 256 SHA256:+NvGOkgfWN39Hspmugsd2PyPwrehEqsD9qXu0dfl14U root@%0a%3c username.host.thunderirc.net (ECDSA)%0a%3c 256 SHA256:hag6/gJDg/ORNptEMM6yVz4qePHw30Zl/ZKPWu8NCgs root@%0a%3c username.host.thunderirc.net (ED25519)%0a%3c 3072 SHA256:At2JRcwCVDC9Wirs7CCWvCtML2ZLB9hW08dbCS4OCAQ root%0a%3c @username.host.thunderirc.net (RSA)%0a +host:1635072301=38.87.162.8 +author:1635072204=jrmu +diff:1635072204:1635072204:=1,4d0%0a%3c echo "@reboot /usr/bin/tmux new -d 'while true; do /sbin/pin%0a%3c g -i5 38.87.162.1; done' \;" >> /var/cron/tabs/root%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.16%0a%3c 2.1; done' \;%0a +host:1635072204=38.87.162.8 blob - /dev/null blob + a719ce43ca059fc2625b0d1259087839b2600404 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Intro @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614772792 +host=198.251.81.119 +name=Openbsd.Intro +rev=1 +targets=Ircnow.Howtoask +text=(:title OpenBSD Introduction:)%0a%0aThe [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%0a!! Sample Config Files%0a%0aMany system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a%0a[@%0a$ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a@]%0a%0aThen work using that configuration file as a template.%0a%0a!! Package READMEs%0a%0aTake a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a%0a!! Mailing Lists%0a%0aYou can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%0a!! IRC Chat Room%0a%0aYou can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]]. +time=1614772792 +title=OpenBSD Introduction +author:1614772792=jrmu +diff:1614772792:1614772792:=1,25d0%0a%3c (:title OpenBSD Introduction:)%0a%3c %0a%3c The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%3c %0a%3c !! Sample Config Files%0a%3c %0a%3c Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c Then work using that configuration file as a template.%0a%3c %0a%3c !! Package READMEs%0a%3c %0a%3c Take a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a%3c %0a%3c !! Mailing Lists%0a%3c %0a%3c You can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%3c %0a%3c !! IRC Chat Room%0a%3c %0a%3c You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]].%0a\ No newline at end of file%0a +host:1614772792=198.251.81.119 blob - /dev/null blob + 15cc66f4174a8dad22c0369566596167232162a9 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Irssi @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611558523 +host=125.231.20.163 +name=Openbsd.Irssi +rev=1 +targets= +text=(:title Irssi:)%0a%0aIrssi is an extremely valuable tool for minutemin to quickly diagnose IRC problems and police for abuse.%0a%0a[2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a[2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a[2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a%0a%0a%0a%0a23:24 -!- ERROR Closing link: (unknown@198.251.81.119) [G-Lined: [TuSaiChi] This %0a connection is not autorizzed on GlobalIRC Network - Questa connessione non e' %0a autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]%0a +time=1611558523 +title=Irssi +author:1611558523=jrmu +diff:1611558523:1611558523:=1,14d0%0a%3c (:title Irssi:)%0a%3c %0a%3c Irssi is an extremely valuable tool for minutemin to quickly diagnose IRC problems and police for abuse.%0a%3c %0a%3c [2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c 23:24 -!- ERROR Closing link: (unknown@198.251.81.119) [G-Lined: [TuSaiChi] This %0a%3c connection is not autorizzed on GlobalIRC Network - Questa connessione non e' %0a%3c autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]%0a +host:1611558523=125.231.20.163 blob - /dev/null blob + 3e7d4cedb16494cf1c43cf14ee494d59cefa77e6 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Leafnode @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0 +author=chewy +charset=UTF-8 +csum= +ctime=1610922389 +host=2a02:1205:34c1:94e0:a83:218e:8ec5:ba67 +name=Openbsd.Leafnode +rev=3 +targets= +text=(:title Leafnode:)%0a%0aLeafnode is a simple to install and easy to maintain newsserver.%0a%0a[@%0a%0aAttention! do not:%0a%0a$ doas pkg_add leafnode%0a%0a%0a%0aYou have to install leafnode from source, because the package came with openbsd is too old.%0a%0aFirst go with your Browser to: https://leafnode.sourceforge.io/download.shtml%0a%0athen scroll down and select leafnode-2.0.0.alpha20081229a.tar.bz2 to open up in a new tab. Then copy the domain in this tab and go back to bsd.%0a%0aDownload from source:%0a%0a $ wget krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta/leafnode-2.0.0.alpha20081229a.tar.bz2%0a%0abzip2 extract the dir:%0a%0a $ bzip2 -d leafnode-2.0.0.alpha20081229a.tar.bz2%0a%0atar the new file:%0a%0a $ tar -xf leafnode-2.0.0.alpha20081229a.tar%0a%0aGo to the folder:%0a%0a $ cd leafnode-2.0.0.alpha20081229a%0a%0aFinally install the program:%0a%0a $ doas ./configure%0a%0a $ doas make%0a%0a $ doas make install%0a%0aCreate a usergroup (as many as you nees):%0a%0a $ touch /etc/leafnode/local.groups%0a%0a $ doas nano /etc/leafnode/local.groups%0a%0aHere is an example what to put in this file:%0a%0a IRCNow.Group y description%0a %0a IRCNow.Group 2 y description%0a%0aPlease dont use spaces between these elements, use tabs.%0a%0aThen Exit and save the file.%0a%0aAdd package "lynx":%0a%0a $ doas pkg_add lynx%0a%0aYou also have to add inetd, if you havent it already:%0a%0a $ doas pkg_add inetd%0a%0aThen you have to edit inetd;%0a%0a $ doas nano /etc/inetd.conf%0a%0ain this file you have to put following and delete everything else in the file:%0a%0anntp stream tcp nowait news /usr/local/sbin/leafnode%0a%0aMake sure you use tab instead of spaces, otherwise it will go into Errors.%0a%0aIf youre done then restart indetd:%0a%0a $ doas rcctl restart inedtd%0a%0aNow you should be able to start the server:%0a%0a $ lynx news://example.ircnow.org (replace example with your server)%0a%0aYou should see now the 2 groups you added in the local.groups file and are now able to add/read new posts.%0a@] +time=1613137204 +title=Leafnode +author:1613137204=chewy +diff:1613137204:1613137151:=7,11c7,9%0a%3c Attention! do not:%0a%3c %0a%3c $ doas pkg_add leafnode%0a%3c %0a%3c %0a---%0a> '+!! Attention! do not:+'%0a> %0a> '+$ doas pkg_add leafnode+'%0a +host:1613137204=2a02:1205:34c1:94e0:a83:218e:8ec5:ba67 +author:1613137151=chewy +diff:1613137151:1610922389:=3,4c3,4%0a%3c Leafnode is a simple to install and easy to maintain newsserver.%0a%3c %0a---%0a> Leafnode is a simple to install and easy to maintain newserver.%0a> %0a6,83c6%0a%3c %0a%3c '+!! Attention! do not:+'%0a%3c %0a%3c '+$ doas pkg_add leafnode+'%0a%3c %0a%3c You have to install leafnode from source, because the package came with openbsd is too old.%0a%3c %0a%3c First go with your Browser to: https://leafnode.sourceforge.io/download.shtml%0a%3c %0a%3c then scroll down and select leafnode-2.0.0.alpha20081229a.tar.bz2 to open up in a new tab. Then copy the domain in this tab and go back to bsd.%0a%3c %0a%3c Download from source:%0a%3c %0a%3c $ wget krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta/leafnode-2.0.0.alpha20081229a.tar.bz2%0a%3c %0a%3c bzip2 extract the dir:%0a%3c %0a%3c $ bzip2 -d leafnode-2.0.0.alpha20081229a.tar.bz2%0a%3c %0a%3c tar the new file:%0a%3c %0a%3c $ tar -xf leafnode-2.0.0.alpha20081229a.tar%0a%3c %0a%3c Go to the folder:%0a%3c %0a%3c $ cd leafnode-2.0.0.alpha20081229a%0a%3c %0a%3c Finally install the program:%0a%3c %0a%3c $ doas ./configure%0a%3c %0a%3c $ doas make%0a%3c %0a%3c $ doas make install%0a%3c %0a%3c Create a usergroup (as many as you nees):%0a%3c %0a%3c $ touch /etc/leafnode/local.groups%0a%3c %0a%3c $ doas nano /etc/leafnode/local.groups%0a%3c %0a%3c Here is an example what to put in this file:%0a%3c %0a%3c IRCNow.Group y description%0a%3c %0a%3c IRCNow.Group 2 y description%0a%3c %0a%3c Please dont use spaces between these elements, use tabs.%0a%3c %0a%3c Then Exit and save the file.%0a%3c %0a%3c Add package "lynx":%0a%3c %0a%3c $ doas pkg_add lynx%0a%3c %0a%3c You also have to add inetd, if you havent it already:%0a%3c %0a%3c $ doas pkg_add inetd%0a%3c %0a%3c Then you have to edit inetd;%0a%3c %0a%3c $ doas nano /etc/inetd.conf%0a%3c %0a%3c in this file you have to put following and delete everything else in the file:%0a%3c %0a%3c nntp stream tcp nowait news /usr/local/sbin/leafnode%0a%3c %0a%3c Make sure you use tab instead of spaces, otherwise it will go into Errors.%0a%3c %0a%3c If youre done then restart indetd:%0a%3c %0a%3c $ doas rcctl restart inedtd%0a%3c %0a%3c Now you should be able to start the server:%0a%3c %0a%3c $ lynx news://example.ircnow.org (replace example with your server)%0a%3c %0a%3c You should see now the 2 groups you added in the local.groups file and are now able to add/read new posts.%0a---%0a> $ doas pkg_add leafnode%0a +host:1613137151=2a02:1205:34c1:94e0:a83:218e:8ec5:ba67 +author:1610922389=jrmu +diff:1610922389:1610922389:=1,7d0%0a%3c (:title Leafnode:)%0a%3c %0a%3c Leafnode is a simple to install and easy to maintain newserver.%0a%3c %0a%3c [@%0a%3c $ doas pkg_add leafnode%0a%3c @]%0a\ No newline at end of file%0a +host:1610922389=125.224.21.52 blob - /dev/null blob + 156f308da7221da67e7ef6b4e999b82e6969744e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Loginconf @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610210326 +host=125.224.19.86 +name=Openbsd.Loginconf +rev=3 +targets=Openbsd.Singleuser +text=(:title login.conf:)%0a%0a!! Troubleshooting%0a%0aSuppose /etc/login.conf and /etc/login.conf.db are missing or were deleted. You might see this error:%0a%0a[@%0aOpenBSD/amd64 (example.ircnow.org) (tty00)%0a%0alogin: root%0alogin: Failure to retrieve default class%0a@]%0a%0aThe way to fix this is to reboot the system into [[openbsd/singleuser|single user mode]] as described in the [[https://www.openbsd.org/faq/faq8.html#LostPW|OpenBSD FAQ]]:%0a%0a[@%0a$ vmctl stop username%0astopping vm user: requested to shutdown vm 11%0a$ vmctl start username%0avmctl: started vm 11 successfully, tty /dev/ttypa%0a@]%0a%0aYou then have to quickly load the console before the system boots:%0a%0a[@%0acoconut$ vmctl console username%0aConnected to /dev/ttypa (speed 115200)%0aUsing drive 0, partition 3.%0aLoading......%0aprobing: pc0 com0 mem[638K 510M a20=on]%0adisk: hd0+%0a>> OpenBSD/amd64 BOOT 3.52%0a/%0acom0: 115200 baud%0aswitching console to com0%0a>> OpenBSD/amd64 BOOT 3.52%0a@]%0a%0a(Hint: You may want to press some alphanumeric letters on your keyboard to prevent automatic bootup, then delete them)%0a%0aType @@boot -s@@ to boot into single user mode:%0a%0a[@%0aboot> boot -s%0a...%0acom0: console%0avscsi0 at root%0ascsibus3 at vscsi0: 256 targets%0asoftraid0 at root%0ascsibus4 at softraid0: 256 targets%0aroot on sd0a (6dd62d70bdd3bab6.a) swap on sd0b dump on sd0b%0aEnter pathname of shell or RETURN for sh:%0a@]%0a%0aPress enter to continue:%0a%0a[@%0a# mount -rw /%0a# mount /usr%0a# export TERM=xterm%0a# vi /etc/login.conf%0a@]%0a%0aHere we are mounting the root partition as read-write (previously it was read-only). Then, we mount /usr in order to have access to basic system utilities. Then, we set the terminal type, then edit /etc/login.conf.%0a%0aYou can grab the default login.conf from [[https://cvsweb.openbsd.org/|CVSWeb]], following the src -> etc -> etc.amd64 -> login.conf -> [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/etc.amd64/login.conf?rev=1.18&content-type=text/plain|Revision 1.18 download link]]. Copy paste this into /etc/login.conf, save, then quit.%0a%0a[@%0a# cap_mkdb /etc/login.conf%0a# shutdown -r now %0a@]%0a%0aNow, log in as usual. +time=1610212591 +title=login.conf +author:1610212591=jrmu +diff:1610212591:1610210381:=1,6d0%0a%3c (:title login.conf:)%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Suppose /etc/login.conf and /etc/login.conf.db are missing or were deleted. You might see this error:%0a%3c %0a8,9c2,3%0a%3c OpenBSD/amd64 (example.ircnow.org) (tty00)%0a%3c %0a---%0a> OpenBSD/amd64 (siva.us5.ircnow.org) (tty00)%0a> %0a12,19c6,13%0a%3c @]%0a%3c %0a%3c The way to fix this is to reboot the system into [[openbsd/singleuser|single user mode]] as described in the [[https://www.openbsd.org/faq/faq8.html#LostPW|OpenBSD FAQ]]:%0a%3c %0a%3c [@%0a%3c $ vmctl stop username%0a%3c stopping vm user: requested to shutdown vm 11%0a%3c $ vmctl start username%0a---%0a> %0a> The way to fix this is to reboot the system into single user mode:%0a> %0a> https://www.openbsd.org/faq/faq8.html#LostPW%0a> %0a> coconut$ vmctl stop siva%0a> stopping vm siva: requested to shutdown vm 11%0a> coconut$ vmctl start siva %0a21,22c15%0a%3c @]%0a%3c %0a---%0a> %0a25,26c18%0a%3c [@%0a%3c coconut$ vmctl console username%0a---%0a> coconut$ vmctl console siva%0a37,43d28%0a%3c @]%0a%3c %0a%3c (Hint: You may want to press some alphanumeric letters on your keyboard to prevent automatic bootup, then delete them)%0a%3c %0a%3c Type @@boot -s@@ to boot into single user mode:%0a%3c %0a%3c [@%0a44a30%0a> %0a45a32%0a> %0a53,57c40,42%0a%3c @]%0a%3c %0a%3c Press enter to continue:%0a%3c %0a%3c [@%0a---%0a> %0a> Press enter to continue%0a> %0a62,68c47,59%0a%3c @]%0a%3c %0a%3c Here we are mounting the root partition as read-write (previously it was read-only). Then, we mount /usr in order to have access to basic system utilities. Then, we set the terminal type, then edit /etc/login.conf.%0a%3c %0a%3c You can grab the default login.conf from [[https://cvsweb.openbsd.org/|CVSWeb]], following the src -> etc -> etc.amd64 -> login.conf -> [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/etc.amd64/login.conf?rev=1.18&content-type=text/plain|Revision 1.18 download link]]. Copy paste this into /etc/login.conf, save, then quit.%0a%3c %0a%3c [@%0a---%0a> I noticed this file is completely missing!%0a> %0a> So, I go to %0a> %0a> https://cvsweb.openbsd.org/%0a> %0a> src -> etc -> etc.amd64 -> login.conf -> Revision 1.18 download%0a> %0a> https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/etc.amd64/login.conf?rev=1.%0a> 18&content-type=text/plain%0a> %0a> Copy paste that into /etc/login.conf, save, then quit.%0a> %0a71,73c62%0a%3c @]%0a%3c %0a%3c Now, log in as usual.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1610212591=125.224.19.86 +author:1610210381=jrmu +diff:1610210381:1610210326:=1d0%0a%3c [@%0a62d60%0a%3c @]%0a\ No newline at end of file%0a +host:1610210381=125.224.19.86 +author:1610210326=jrmu +diff:1610210326:1610210326:=1,60d0%0a%3c OpenBSD/amd64 (siva.us5.ircnow.org) (tty00)%0a%3c %0a%3c login: root%0a%3c login: Failure to retrieve default class%0a%3c %0a%3c The way to fix this is to reboot the system into single user mode:%0a%3c %0a%3c https://www.openbsd.org/faq/faq8.html#LostPW%0a%3c %0a%3c coconut$ vmctl stop siva%0a%3c stopping vm siva: requested to shutdown vm 11%0a%3c coconut$ vmctl start siva %0a%3c vmctl: started vm 11 successfully, tty /dev/ttypa%0a%3c %0a%3c You then have to quickly load the console before the system boots:%0a%3c %0a%3c coconut$ vmctl console siva%0a%3c Connected to /dev/ttypa (speed 115200)%0a%3c Using drive 0, partition 3.%0a%3c Loading......%0a%3c probing: pc0 com0 mem[638K 510M a20=on]%0a%3c disk: hd0+%0a%3c >> OpenBSD/amd64 BOOT 3.52%0a%3c /%0a%3c com0: 115200 baud%0a%3c switching console to com0%0a%3c >> OpenBSD/amd64 BOOT 3.52%0a%3c boot> boot -s%0a%3c %0a%3c ...%0a%3c %0a%3c com0: console%0a%3c vscsi0 at root%0a%3c scsibus3 at vscsi0: 256 targets%0a%3c softraid0 at root%0a%3c scsibus4 at softraid0: 256 targets%0a%3c root on sd0a (6dd62d70bdd3bab6.a) swap on sd0b dump on sd0b%0a%3c Enter pathname of shell or RETURN for sh:%0a%3c %0a%3c Press enter to continue%0a%3c %0a%3c # mount -rw /%0a%3c # mount /usr%0a%3c # export TERM=xterm%0a%3c # vi /etc/login.conf%0a%3c I noticed this file is completely missing!%0a%3c %0a%3c So, I go to %0a%3c %0a%3c https://cvsweb.openbsd.org/%0a%3c %0a%3c src -> etc -> etc.amd64 -> login.conf -> Revision 1.18 download%0a%3c %0a%3c https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/etc.amd64/login.conf?rev=1.%0a%3c 18&content-type=text/plain%0a%3c %0a%3c Copy paste that into /etc/login.conf, save, then quit.%0a%3c %0a%3c # cap_mkdb /etc/login.conf%0a%3c # shutdown -r now %0a +host:1610210326=125.224.19.86 blob - /dev/null blob + 7f3999b8f1503432fd962efb3e4087c679742eec (mode 644) --- /dev/null +++ wiki.d/Openbsd.Mailopenproxy,del-1629922775 @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610159729 +host=125.224.19.86 +name=Openbsd.Mailopenproxy +rev=8 +targets=Openbsd.Dnsbl,Openbsd.Dkimproxy,Openbsd.Netcat,Openbsd.Opensmtpd +text=(:title Beware Mail Open Proxies!:)%0a%0aAn open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%0aAn open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%0a!! Why stop open proxies?%0a%0a# It could be used to send malware (viruses, trojans, or worms)%0a# It can be used to send spam%0a# Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%0a!! Sample Config%0a%0aHere is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%0a[@%0amatch from any for any relay%0a@]%0a%0aIf you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%0a[@%0amatch from any for any action "relay_dkim"%0a@]%0a%0aDon't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%0a!! Testing for Open Mail Relays%0a%0aHere's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0a!! Open Mail Relay%0a%0aHere's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3circnownetwork@gmail.com>%0a550 Invalid recipient: %3circnownetwork@gmail.com>%0a@]%0a%0aYou should get @@Invalid recipient@@ or some similar rejection message.%0a%0aHere's how it appears when the mail server is improperly configured:%0a%0a[@%0a$ nc bangcat.coconut.ircnow.org 25 %0a220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3ctest@gmail.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aNotice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%0a!! How to Fix%0a%0aYou will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%0a!! See Also +time=1610201424 +title=Beware Mail Open Proxies! +author:1610201424=jrmu +diff:1610201424:1610201114:=130,136c130%0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%3c %0a%3c !! How to Fix%0a%3c %0a%3c You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%3c %0a%3c !! See Also%0a\ No newline at end of file%0a---%0a> Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a\ No newline at end of file%0a +host:1610201424=125.224.19.86 +author:1610201114=jrmu +diff:1610201114:1610200623:=117,130c117%0a%3c Here's how it appears when the mail server is improperly configured:%0a%3c %0a%3c [@%0a%3c $ nc bangcat.coconut.ircnow.org 25 %0a%3c 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3ctest@gmail.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a\ No newline at end of file%0a---%0a> Here's how it appears when the mail server is improperly configured:%0a\ No newline at end of file%0a +host:1610201114=125.224.19.86 +author:1610200623=jrmu +diff:1610200623:1610200116:=32a33%0a> %0a98,117c99%0a%3c @]%0a%3c %0a%3c !! Open Mail Relay%0a%3c %0a%3c Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3circnownetwork@gmail.com>%0a%3c 550 Invalid recipient: %3circnownetwork@gmail.com>%0a%3c @]%0a%3c %0a%3c You should get @@Invalid recipient@@ or some similar rejection message.%0a%3c %0a%3c Here's how it appears when the mail server is improperly configured:%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1610200623=125.224.19.86 +author:1610200116=jrmu +diff:1610200116:1610160526:=29,99c29%0a%3c !! Testing for Open Mail Relays%0a%3c %0a%3c Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%3c %0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a\ No newline at end of file%0a---%0a> !! Testing for Open Mail Relays%0a\ No newline at end of file%0a +host:1610200116=125.224.19.86 +author:1610160526=jrmu +diff:1610160526:1610160460:=26,29d25%0a%3c %0a%3c Don't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%3c %0a%3c !! Testing for Open Mail Relays%0a\ No newline at end of file%0a +host:1610160526=125.224.19.86 +author:1610160460=jrmu +diff:1610160460:1610160439:=15c15%0a%3c Here is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a---%0a> Here is a sample misconfiguration:%0a +host:1610160460=125.224.19.86 +author:1610160439=jrmu +diff:1610160439:1610159729:=3,16c3,4%0a%3c An open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%3c %0a%3c An open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%3c %0a%3c !! Why stop open proxies?%0a%3c %0a%3c # It could be used to send malware (viruses, trojans, or worms)%0a%3c # It can be used to send spam%0a%3c # Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%3c %0a%3c !! Sample Config%0a%3c %0a%3c Here is a sample misconfiguration:%0a%3c %0a---%0a> Some users have%0a> %0a18,23d5%0a%3c match from any for any relay%0a%3c @]%0a%3c %0a%3c If you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%3c %0a%3c [@%0a25c7%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1610160439=125.224.19.86 +author:1610159729=jrmu +diff:1610159729:1610159729:=1,7d0%0a%3c (:title Beware Mail Open Proxies!:)%0a%3c %0a%3c Some users have%0a%3c %0a%3c [@%0a%3c match from any for any action "relay_dkim"%0a%3c @]%0a\ No newline at end of file%0a +host:1610159729=125.224.19.86 blob - /dev/null blob + 40476f9e581f8fedc74910a33d0974325740d8ac (mode 644) --- /dev/null +++ wiki.d/Openbsd.Matterbridge @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627906711 +host=198.251.81.133 +name=Openbsd.Matterbridge +rev=10 +targets= +text=matterbrige is a bridge written in go, with support of many protocols and chat programs.%0ain this guide, we will create a bridge from IRC to Telegram.%0a%0a!!configuartion%0a%0afirst, download matterbridge binary from author's github%0a%0a[@%0a$ ftp https://github.com/42wim/matterbridge/releases/download/v1.20.0/matterbridge-1.20.0-openbsd-64bit%0a@]%0a%0a'''Note''': due to a bug in newer version which lead to segfault, 1.20 is used%0a%0aafterwards, create a bot at @botfather in telegram, choose a name for it and disable group privacy, add it to your supergroup and make IRCchannel.%0athen fire up your editor and edit @@matterbridge.toml@@%0a%0a[@%0a[irc.ircbridge]%0aServer="example.com:6667"%0aNick="BotNick"%0a@]%0a%0afirst line defines a new bridge with name @@ircbridge@@, second line sets server and port to connect and last line sets BotNick for our bot%0a%0a'''Note''': currently, only plain-text is supported for IRC.%0a%0a[@%0a[telegram.telebridge]%0aToken="%3ctoken>"%0a@]%0a%0afirst line will adds another bridge and replace %3ctoken> in second line with your bot token.%0a%0a[@%0a[gateway]%0aname="gateway" %0aenable=true%0a%0a[[gateway.inout]] %0aaccount="irc.ircgateway"%0achannel="#channel"%0a %0a[[gateway.inout]]%0aaccount="telegram.telegateway"%0achannel="-10012345678"%0a@]%0a%0ain first three lines defined our gateway with name "gateway", in next lines we have defined our IRC channel ( #channel) with irc.ircgateway bridge and our supergroup with telegateway.%0areplace #channel and -10012345678 as your needs, note that telegram supergroups require -100 before their id.%0a%0athen run @@chmod +x matterbridge-1.20.0-openbsd-64bit@@ and @@./matterbridge-1.20.0-openbsd-64bit@@%0a%0a!!configuration file%0a%0a[@%0a[irc.ircbridge]%0aServer="example.com:6667"%0aNick="BotNick"%0a%0a[telegram.telebridge]%0aToken="%3ctoken>"%0a%0a[gateway]%0aname="gateway" %0aenable=true%0a%0a[[gateway.inout]] %0aaccount="irc.ircgateway"%0achannel="#channel"%0a %0a[[gateway.inout]]%0aaccount="telegram.telegateway"%0achannel="-10012345678"%0a@]%0a%0a!!troubleshooting%0a%0asometimes running matterbridge with @@-d@@ can help.%0a%0aif you can send messages from IRC to telegram, but messages won't come from telegram to IRC, chances are you've not disabled group privacy in botfather.%0a +time=1627907605 +author:1627907605=mkf +diff:1627907605:1627907573:=24d23%0a%3c %0a +host:1627907605=198.251.81.133 +author:1627907573=mkf +diff:1627907573:1627907500:=1a2%0a> %0a14a16%0a> %0a +host:1627907573=198.251.81.133 +author:1627907500=mkf +diff:1627907500:1627907425:=8d7%0a%3c %0a12d10%0a%3c %0a15,16c13,14%0a%3c afterwards, create a bot at @botfather in telegram, choose a name for it and disable group privacy, add it to your supergroup and make IRCchannel.%0a%3c %0a---%0a> afterwards, create a bot at @botfather in telegram, choose a name for it and disable group privacy, add it to your supergroup and make irc channel.%0a> %0a49c47%0a%3c in first three lines defined our gateway with name "gateway", in next lines we have defined our IRC channel ( #channel) with irc.ircgateway bridge and our supergroup with telegateway.%0a---%0a> in first three lines defined our gateway with name "gateway", in next lines we have defined our irc channel ( #channel) with irc.ircgateway bridge and our supergroup with telegateway.%0a55a54%0a> %0a78d76%0a%3c %0a81c79%0a%3c if you can send messages from IRC to telegram, but messages won't come from telegram to IRC, chances are you've not disabled group privacy in botfather.%0a---%0a> if you can send messages from irc to telegram, but messages won't come from telegram to irc, chances are you've not disabled group privacy in botfather.%0a +host:1627907500=198.251.81.133 +author:1627907425=mkf +diff:1627907425:1627907367:=4d3%0a%3c %0a7c6%0a%3c first, download matterbridge binary from author's github%0a---%0a> first, download matterbridge binary%0a +host:1627907425=198.251.81.133 +author:1627907367=mkf +diff:1627907367:1627907341:=15d14%0a%3c %0a +host:1627907367=198.251.81.133 +author:1627907341=mkf +diff:1627907341:1627907247:=10,11c10,11%0a%3c '''Note''': due to a bug in newer version which lead to segfault, 1.20 is used%0a%3c %0a---%0a> 'Note': due to a bug in newer version which lead to segfault, 1.20 is used%0a> %0a22,23c22,23%0a%3c '''Note''': currently, only plain-text is supported for IRC.%0a%3c %0a---%0a> 'Note': currently, only plain-text is supported for IRC.%0a> %0a51d50%0a%3c %0a +host:1627907341=198.251.81.133 +author:1627907247=mkf +diff:1627907247:1627907181:=10,11c10,11%0a%3c 'Note': due to a bug in newer version which lead to segfault, 1.20 is used%0a%3c %0a---%0a> '''Note: due to a bug in newer version which lead to segfault, 1.20 is used%0a> %0a22c22%0a%3c 'Note': currently, only plain-text is supported for IRC.%0a---%0a> '''Note: currently, only plain-text is supported for IRC.%0a +host:1627907247=198.251.81.133 +author:1627907181=mkf +diff:1627907181:1627907132:=71,72d70%0a%3c @]%0a%3c %0a +host:1627907181=198.251.81.133 +author:1627907132=mkf +diff:1627907132:1627906711:minor=4,5d3%0a%3c !!configuartion%0a%3c %0a17,18c15,16%0a%3c Server="example.com:6667"%0a%3c Nick="BotNick"%0a---%0a> Server="example.com:6667" %0a> Nick="BotNick" %0a25c23%0a%3c [telegram.telebridge]%0a---%0a> [telegram.telebridge] %0a32,37c30,35%0a%3c [gateway]%0a%3c name="gateway" %0a%3c enable=true%0a%3c %0a%3c [[gateway.inout]] %0a%3c account="irc.ircgateway"%0a---%0a> [gateway] %0a> name="gateway" %0a> enable=true %0a> %0a> [[gateway.inout]] %0a> account="irc.ircgateway" %0a40,42c38,40%0a%3c [[gateway.inout]]%0a%3c account="telegram.telegateway"%0a%3c channel="-10012345678"%0a---%0a> [[gateway.inout]] %0a> account="telegram.telegateway" %0a> channel="-10012345678" %0a46,74c44%0a%3c replace #channel and -10012345678 as your needs, note that telegram supergroups require -100 before their id.%0a%3c %0a%3c then run @@chmod +x matterbridge-1.20.0-openbsd-64bit@@ and @@./matterbridge-1.20.0-openbsd-64bit@@%0a%3c %0a%3c !!configuration file%0a%3c %0a%3c [@%0a%3c [irc.ircbridge]%0a%3c Server="example.com:6667"%0a%3c Nick="BotNick"%0a%3c %0a%3c [telegram.telebridge]%0a%3c Token="%3ctoken>"%0a%3c %0a%3c [gateway]%0a%3c name="gateway" %0a%3c enable=true%0a%3c %0a%3c [[gateway.inout]] %0a%3c account="irc.ircgateway"%0a%3c channel="#channel"%0a%3c %0a%3c [[gateway.inout]]%0a%3c account="telegram.telegateway"%0a%3c channel="-10012345678"%0a%3c !!troubleshooting%0a%3c sometimes running matterbridge with @@-d@@ can help.%0a%3c %0a%3c if you can send messages from irc to telegram, but messages won't come from telegram to irc, chances are you've not disabled group privacy in botfather.%0a---%0a> replace #channel and -10012345678 as your needs, note that telegram supergroups require -100 before theor id.%0a\ No newline at end of file%0a +host:1627907132=198.251.81.133 +author:1627906711=mkf +diff:1627906711:1627906711:=1,44d0%0a%3c matterbrige is a bridge written in go, with support of many protocols and chat programs.%0a%3c %0a%3c in this guide, we will create a bridge from IRC to Telegram.%0a%3c first, download matterbridge binary%0a%3c [@%0a%3c $ ftp https://github.com/42wim/matterbridge/releases/download/v1.20.0/matterbridge-1.20.0-openbsd-64bit%0a%3c @]%0a%3c '''Note: due to a bug in newer version which lead to segfault, 1.20 is used%0a%3c %0a%3c afterwards, create a bot at @botfather in telegram, choose a name for it and disable group privacy, add it to your supergroup and make irc channel.%0a%3c %0a%3c then fire up your editor and edit @@matterbridge.toml@@%0a%3c [@%0a%3c [irc.ircbridge]%0a%3c Server="example.com:6667" %0a%3c Nick="BotNick" %0a%3c @]%0a%3c %0a%3c first line defines a new bridge with name @@ircbridge@@, second line sets server and port to connect and last line sets BotNick for our bot%0a%3c '''Note: currently, only plain-text is supported for IRC.%0a%3c %0a%3c [@%0a%3c [telegram.telebridge] %0a%3c Token="%3ctoken>"%0a%3c @]%0a%3c %0a%3c first line will adds another bridge and replace %3ctoken> in second line with your bot token.%0a%3c %0a%3c [@%0a%3c [gateway] %0a%3c name="gateway" %0a%3c enable=true %0a%3c %0a%3c [[gateway.inout]] %0a%3c account="irc.ircgateway" %0a%3c channel="#channel"%0a%3c %0a%3c [[gateway.inout]] %0a%3c account="telegram.telegateway" %0a%3c channel="-10012345678" %0a%3c @]%0a%3c %0a%3c in first three lines defined our gateway with name "gateway", in next lines we have defined our irc channel ( #channel) with irc.ircgateway bridge and our supergroup with telegateway.%0a%3c replace #channel and -10012345678 as your needs, note that telegram supergroups require -100 before theor id.%0a\ No newline at end of file%0a +host:1627906711=198.251.81.133 blob - /dev/null blob + ad6b3e172112f54f8de02f1c2ac14e86a4a41554 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Minetest @@ -0,0 +1,75 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1607347000 +host=77.168.188.164 +name=Openbsd.Minetest +rev=16 +targets= +text=!! Install server software for minetest on Openbsd:%0a%0a!!! Install Dependencies:%0a[@doas pkg_add g++ cmake luajit sqlite git@]%0a%0a!!! Build IrrlichtMt: %0a[@git clone https://github.com/minetest/irrlicht.git;%0acd irrlicht;%0acmake . -B build -DBUILD_SHARED_LIBS=FALSE;%0acmake --build build;@]%0a%0a%0a!!! Build Minetest: %0a[@cd ../;%0agit clone https://github.com/minetest/minetest.git;%0acd minetest;%0acmake . -B build -DCMAKE_PREFIX_PATH=../irrlicht/build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DBUILD_SERVER=TRUE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;%0acmake --build build;@]%0a%0a%0a!! Running the server:%0a%0a!!! Running a server the default way%0a%0a* add world folder or let it be created.%0a* Edit minetest.conf: %3cSOMETHING> = required, [SOMETHING] = optional, %3csomething || anything> = or%0a[@name = %3cINGAME NICKNAME>%0aserver_name = %3cSERVER NAME>%0aserver_description = %3cSERVER DESCRIPTION>%0aserver_address = %3cYOUR VPS ADDRESS>%0aserver_url = [YOUR SERVER PAGE URL]%0aserver_announce = %3ctrue || false>%0aserverlist_url = servers.minetest.net%0aport = %3cYOUR PORT>%0abind_address = [YOUR BIND ADDRESS]%0aipv6_server = %3ctrue || false>%0amotd = Welcome by my server%0amax_users = %3cYOUR MAX>%0aenable_damage = %3ctrue || false>%0acreative_mode = %3ctrue || false>@]%0a* run the world: [@ ./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf@]%0a%0a!!! Running multiple servers the easier way%0a%0aCheck mtctl: [[https://wiki.miniontoby.host.ircnow.org/Miniontoby/Mtctl]]%0a%0aThere is full instruction for installing and usage +time=1634221131 +author:1634221131=miniontoby +diff:1634221131:1632581634:=45,47c45,68%0a%3c Check mtctl: [[https://wiki.miniontoby.host.ircnow.org/Miniontoby/Mtctl]]%0a%3c %0a%3c There is full instruction for installing and usage%0a\ No newline at end of file%0a---%0a> !!!! Install the packages%0a> %0a> Firstly you need to install the mtctl command that I, Miniontoby, have written.%0a> %0a> You can do that by executing: [@$ curl -sSL https://ircforever.org/mtctl.php | doas ksh@]%0a> %0a> '-if curl and/or wget are not installed, execute: [@$ doas pkg_add curl wget@]-'%0a> %0a> %0a> After that has been done, you need to firstly do: [@$ mtctl list@]%0a> That will setup your settings, you need to fill in 'YES', then the folder where you installed minetest in (Can be /home/YOURUSERNAME/minetest), then you are done%0a> %0a> !!!! Usage%0a> %0a> To create a server, just execute [@$ mtctl create %3cworldname>@]%0a> %0a> To start a server, just execute [@$ mtctl start %3cworldname>@]%0a> %0a> To stop a server, just execute [@$ mtctl stop %3cworldname>@]%0a> %0a> To restart a server, just execute [@$ mtctl restart %3cworldname>@]%0a> %0a> To list all your servers, just execute [@$ mtctl list@]%0a> %0a +host:1634221131=77.168.188.164 +author:1632581634=miniontoby +csum:1632581634=added mtctl +diff:1632581634:1632581121:=23,24d22%0a%3c !!! Running a server the default way%0a%3c %0a42,68d39%0a%3c %0a%3c !!! Running multiple servers the easier way%0a%3c %0a%3c !!!! Install the packages%0a%3c %0a%3c Firstly you need to install the mtctl command that I, Miniontoby, have written.%0a%3c %0a%3c You can do that by executing: [@$ curl -sSL https://ircforever.org/mtctl.php | doas ksh@]%0a%3c %0a%3c '-if curl and/or wget are not installed, execute: [@$ doas pkg_add curl wget@]-'%0a%3c %0a%3c %0a%3c After that has been done, you need to firstly do: [@$ mtctl list@]%0a%3c That will setup your settings, you need to fill in 'YES', then the folder where you installed minetest in (Can be /home/YOURUSERNAME/minetest), then you are done%0a%3c %0a%3c !!!! Usage%0a%3c %0a%3c To create a server, just execute [@$ mtctl create %3cworldname>@]%0a%3c %0a%3c To start a server, just execute [@$ mtctl start %3cworldname>@]%0a%3c %0a%3c To stop a server, just execute [@$ mtctl stop %3cworldname>@]%0a%3c %0a%3c To restart a server, just execute [@$ mtctl restart %3cworldname>@]%0a%3c %0a%3c To list all your servers, just execute [@$ mtctl list@]%0a%3c %0a +host:1632581634=77.168.188.164 +author:1632581121=miniontoby +csum:1632581121=cleaned up the code +diff:1632581121:1632579310:=4,5c4,5%0a%3c [@doas pkg_add g++ cmake luajit sqlite git@]%0a%3c %0a---%0a> doas pkg_add g++ cmake luajit sqlite git%0a> %0a7c7%0a%3c [@git clone https://github.com/minetest/irrlicht.git;%0a---%0a> git clone https://github.com/minetest/irrlicht.git;%0a10,12c10,12%0a%3c cmake --build build;@]%0a%3c %0a%3c %0a---%0a> cmake --build build;%0a> %0a> %0a14c14%0a%3c [@cd ../;%0a---%0a> cd ..;%0a17,18c17,18%0a%3c cmake . -B build -DCMAKE_PREFIX_PATH=../irrlicht/build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DBUILD_SERVER=TRUE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;%0a%3c cmake --build build;@]%0a---%0a> [@cmake . -B build -DCMAKE_PREFIX_PATH=../irrlicht/build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;@]%0a> cmake --build build;%0a +host:1632581121=77.168.188.164 +author:1632579310=miniontoby +csum:1632579310=Added git to install list +diff:1632579310:1632540905:=4c4%0a%3c doas pkg_add g++ cmake luajit sqlite git%0a---%0a> doas pkg_add g++ cmake luajit sqlite%0a +host:1632579310=77.168.188.164 +author:1632540905=josiah +csum:1632540905=fix missing parts of instructions +diff:1632540905:1632540458:=14,17c14%0a%3c cd ..;%0a%3c git clone https://github.com/minetest/minetest.git;%0a%3c cd minetest;%0a%3c [@cmake . -B build -DCMAKE_PREFIX_PATH=../irrlicht/build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;@]%0a---%0a> [@cmake . -B build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;@]%0a +host:1632540905=38.87.162.143 +author:1632540458=josiah +csum:1632540458=fix missing semicolon +diff:1632540458:1632540363:minor=9c9%0a%3c cmake . -B build -DBUILD_SHARED_LIBS=FALSE;%0a---%0a> cmake . -B build -DBUILD_SHARED_LIBS=FALSE%0a +host:1632540458=38.87.162.143 +author:1632540363=josiah +csum:1632540363=Complete first draft of updated build instructions +diff:1632540363:1632540231:= +host:1632540363=38.87.162.143 +author:1632540231=josiah +csum:1632540231=Complete first draft of updated build instructions +diff:1632540231:1632539063:=3,5c3%0a%3c !!! Install Dependencies:%0a%3c doas pkg_add g++ cmake luajit sqlite%0a%3c %0a---%0a> %0a8,17c6,14%0a%3c cd irrlicht;%0a%3c cmake . -B build -DBUILD_SHARED_LIBS=FALSE%0a%3c cmake --build build;%0a%3c %0a%3c %0a%3c !!! Build Minetest: %0a%3c [@cmake . -B build -DRUN_IN_PLACE=TRUE -DBUILD_CLIENT=FALSE -DENABLE_SOUND=OFF -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF -DENABLE_POSTGRESQL=OFF -DENABLE_LEVELDB=OFF -DENABLE_REDIS=OFF -DENABLE_SPATIAL=OFF;@]%0a%3c cmake --build build;%0a%3c %0a%3c %0a---%0a> cd irrlicht;cmake -S . -B build -DBUILD_SHARED_LIBS=FALSE;%0a> cmake --build build;@]%0a> %0a> %0a> !!! Build: %0a> [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0 -DENABLE_SOUND=0 -DRUN_IN_PLACE=1;%0a> make -j2;@]%0a> %0a> %0a36c33%0a%3c * run the world: [@ ./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf@]%0a---%0a> * run the world: [@ ./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf@]%0a\ No newline at end of file%0a +host:1632540231=38.87.162.143 +author:1632539063=josiah +csum:1632539063=test +diff:1632539063:1632537977:minor=6c6%0a%3c cd irrlicht;cmake -S . -B build -DBUILD_SHARED_LIBS=FALSE;%0a---%0a> [cmake -S . -B build -DBUILD_SHARED_LIBS=FALSE;%0a +host:1632539063=38.87.162.143 +author:1632537977=josiah +csum:1632537977=Finish IrrlichtMt build instructions +diff:1632537977:1632537629:minor=6,7c6,7%0a%3c [cmake -S . -B build -DBUILD_SHARED_LIBS=FALSE;%0a%3c cmake --build build;@]%0a---%0a> git clone https://github.com/minetest/minetest.git;%0a> cd minetest;@]%0a +host:1632537977=38.87.162.143 +author:1632537629=josiah +csum:1632537629=Rename header and add command to clone IrrlichtMt +diff:1632537629:1629380016:minor=4,5c4,5%0a%3c !!! Build IrrlichtMt: %0a%3c git clone https://github.com/minetest/irrlicht.git;%0a---%0a> !!! Install: %0a> [@doas pkg_add git cmake sqlite3 luajit irrlicht spatialindex;%0a +host:1632537629=38.87.162.143 +author:1629380016=miniontoby +csum:1629380016=updated the cmake command +diff:1629380016:1607525179:=11c11%0a%3c [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0 -DENABLE_SOUND=0 -DRUN_IN_PLACE=1;%0a---%0a> [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0 -DRUN_IN_PLACE=1;%0a +host:1629380016=77.168.188.164 +author:1607525179=miniontoby +csum:1607525179=RUN_IN_PLACE +diff:1607525179:1607347464:=11c11%0a%3c [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0 -DRUN_IN_PLACE=1;%0a---%0a> [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0;%0a +host:1607525179=145.132.146.30 +author:1607347464=miniontoby +csum:1607347464=run +diff:1607347464:1607347217:=33c33%0a%3c * run the world: [@ ./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf@]%0a\ No newline at end of file%0a---%0a> * run the world: [@./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf%0a\ No newline at end of file%0a +host:1607347464=141.138.217.186 +author:1607347217=miniontoby +csum:1607347217=spatialindex +diff:1607347217:1607347000:=5c5%0a%3c [@doas pkg_add git cmake sqlite3 luajit irrlicht spatialindex;%0a---%0a> [@doas pkg_add git cmake sqlite3 luajit irrlicht;%0a +host:1607347217=141.138.217.186 +author:1607347000=miniontoby +csum:1607347000=created +diff:1607347000:1607347000:=1,33d0%0a%3c !! Install server software for minetest on Openbsd:%0a%3c %0a%3c %0a%3c !!! Install: %0a%3c [@doas pkg_add git cmake sqlite3 luajit irrlicht;%0a%3c git clone https://github.com/minetest/minetest.git;%0a%3c cd minetest;@]%0a%3c %0a%3c %0a%3c !!! Build: %0a%3c [@cmake . -DBUILD_CLIENT=0 -DBUILD_SERVER=1 -DENABLE_SYSTEM_JSONCPP=1 -DENABLE_LEVELDB=0 -DENABLE_POSTGRESQL=0 -DENABLE_SPATIAL=0 -DENABLE_GETTEXT=0 -DENABLE_CURSES=0;%0a%3c make -j2;@]%0a%3c %0a%3c %0a%3c !! Running the server:%0a%3c %0a%3c * add world folder or let it be created.%0a%3c * Edit minetest.conf: %3cSOMETHING> = required, [SOMETHING] = optional, %3csomething || anything> = or%0a%3c [@name = %3cINGAME NICKNAME>%0a%3c server_name = %3cSERVER NAME>%0a%3c server_description = %3cSERVER DESCRIPTION>%0a%3c server_address = %3cYOUR VPS ADDRESS>%0a%3c server_url = [YOUR SERVER PAGE URL]%0a%3c server_announce = %3ctrue || false>%0a%3c serverlist_url = servers.minetest.net%0a%3c port = %3cYOUR PORT>%0a%3c bind_address = [YOUR BIND ADDRESS]%0a%3c ipv6_server = %3ctrue || false>%0a%3c motd = Welcome by my server%0a%3c max_users = %3cYOUR MAX>%0a%3c enable_damage = %3ctrue || false>%0a%3c creative_mode = %3ctrue || false>@]%0a%3c * run the world: [@./bin/minetestserver --world worlds/%3cWORLDNAME> --config minetest.conf%0a\ No newline at end of file%0a +host:1607347000=141.138.217.186 blob - /dev/null blob + 6219f74e474abdf6a39b80f14474268ad5987297 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Mlmmj @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1609494408 +host=38.81.163.143 +name=Openbsd.Mlmmj +rev=3 +targets= +text=(:redirect mlmmj/install:)%0aThis page will show you how to install the mlmmj mailing list package on OpenBSD. It covers mostly installation as maintenance and tweaking of how it will work is covered very well in the official documentation at https://mlmmj.org/docs/readme%0aThere is nothing special required to get the core package installed in OpenBSD, simply:%0a[@%0a$ doas pkg_add mlmmj%0a@]%0a%0aThe documentation says to make sure you setup a recipient delimiter, which is already at the default of +. This is what is used to separate commands from mailing list identification. For instance, mailto:mlmmj-test+subscribe@orange.ircnow.org is a request to subscribe to the mlmmj-test email list.%0a%0aIn order to start to get the mailing list up and running, we need to create an initial mailing list. The tool mlmmj-make-ml is used to start this process. Running this and all other modifications to your email list must keep _smptd as the owner of all files. %0aThis can be be done a few ways:%0a[@%0a$ doas -u _smtpd mlmmj-make-ml%0a$ doas -u _smtpd %3ccommand to edit files>%0a@]%0aYou can make your modifications normally, then at the end when you are ready to test them run:%0a[@%0a$ doas chown -R _smtpd:_smtpd /var/spool/mlmmj%0a@]%0aYou can run a shell as the _smtpd user; this should probably only be used when modifying files under your /var/spool/mlmmj/mlmmj-test directory for tweaking of headers and setup of each specific mailing list. %0a%0aTo start, run mlmmj-make-ml and use all default suggestions. Make sure you keep _smtpd as the owner /var/spool/mlmmj directories as stated above.%0a%0aNow for each mailing list you want, you will need to add an entry into the /etc/mail/aliases file. For more information on this, refer to the opensmtp wiki page.%0a%0aEach mailing list needs to have email sent to the mlmmj-receive program to properly handle requests. This is accomplished by adding a command like the following into the /etc/mail/aliases file:%0a[@%0amlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a@]%0aA seperate line will be required for each mailing list. Once you have added all the mailing list aliases you need, make sure you run:%0a[@%0a$ doas newaliases%0a@]%0aThat will update the mail system without needing to restart it.%0a%0aThe alias modification is required to send email to the mailing list handling software, however, there is still some other things that need to be done periodically to keep your mailing lists working smoothly. You need to add a task to your crontab that looks like:%0a0 */2 * * * /bin/sh -c "/usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj >>/var/log/mlmmj.log 2>&1"%0aThe above is needed, and not like how the documentation shows it. If you don't add the '/bin/sh -c' you will get a weird 'file not found' error in your crontab logs. Use this form of the command so that mlmmj-maintd is run on all mailing lists running. The documentation shows a slightly different syntax that can be used for a specific mailing list, but that is not suggested.%0a%0aThe mlmmj tools send all email from 127.0.0.1, which needs to be explicitly added to the /etc/mail/hosts file, having 'localhost' present is not enough.%0a%0aNormally the mailing list is only handled on the server, all emails sent to it are for virtual users, or external users. If you have a need to send to a local user, meaning someone with a /home/bangcat directory, you need to modify /etc/mail/smtpd.conf to add a 'table locals file:/etc/mail/locals' and an action to forward email to local users like 'action "local" mbox alias %3clocals>'. The /etc/mail/locals should have a line for each local user that needs to get email.%0aThis is not required in most cases.%0a%0aYou are now done with the initial setup. You should start back on the official read me file at https://mlmmj.org/docs/readme to fine tune your setup. Although you can sign up people manually with mlmmj-sub, it is better to have the actual users send mail to the mailing list to do that themselves. All the files you need to tweak for an individual list will be located at /var/spool/mlmmj/%3cmailing-list-name>.%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a +time=1625737372 +author:1625737372=jrmu +diff:1625737372:1611495781:=1d0%0a%3c (:redirect mlmmj/install:)%0a +host:1625737372=38.81.163.143 +author:1611495781=bangcat +diff:1611495781:1609494408:=1,2d0%0a%3c This page will show you how to install the mlmmj mailing list package on OpenBSD. It covers mostly installation as maintenance and tweaking of how it will work is covered very well in the official documentation at https://mlmmj.org/docs/readme%0a%3c There is nothing special required to get the core package installed in OpenBSD, simply:%0a5,57c3,4%0a%3c @]%0a%3c %0a%3c The documentation says to make sure you setup a recipient delimiter, which is already at the default of +. This is what is used to separate commands from mailing list identification. For instance, mailto:mlmmj-test+subscribe@orange.ircnow.org is a request to subscribe to the mlmmj-test email list.%0a%3c %0a%3c In order to start to get the mailing list up and running, we need to create an initial mailing list. The tool mlmmj-make-ml is used to start this process. Running this and all other modifications to your email list must keep _smptd as the owner of all files. %0a%3c This can be be done a few ways:%0a%3c [@%0a%3c $ doas -u _smtpd mlmmj-make-ml%0a%3c $ doas -u _smtpd %3ccommand to edit files>%0a%3c @]%0a%3c You can make your modifications normally, then at the end when you are ready to test them run:%0a%3c [@%0a%3c $ doas chown -R _smtpd:_smtpd /var/spool/mlmmj%0a%3c @]%0a%3c You can run a shell as the _smtpd user; this should probably only be used when modifying files under your /var/spool/mlmmj/mlmmj-test directory for tweaking of headers and setup of each specific mailing list. %0a%3c %0a%3c To start, run mlmmj-make-ml and use all default suggestions. Make sure you keep _smtpd as the owner /var/spool/mlmmj directories as stated above.%0a%3c %0a%3c Now for each mailing list you want, you will need to add an entry into the /etc/mail/aliases file. For more information on this, refer to the opensmtp wiki page.%0a%3c %0a%3c Each mailing list needs to have email sent to the mlmmj-receive program to properly handle requests. This is accomplished by adding a command like the following into the /etc/mail/aliases file:%0a%3c [@%0a%3c mlmmj-test: "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test/"%0a%3c @]%0a%3c A seperate line will be required for each mailing list. Once you have added all the mailing list aliases you need, make sure you run:%0a%3c [@%0a%3c $ doas newaliases%0a%3c @]%0a%3c That will update the mail system without needing to restart it.%0a%3c %0a%3c The alias modification is required to send email to the mailing list handling software, however, there is still some other things that need to be done periodically to keep your mailing lists working smoothly. You need to add a task to your crontab that looks like:%0a%3c 0 */2 * * * /bin/sh -c "/usr/local/bin/mlmmj-maintd -F -d /var/spool/mlmmj >>/var/log/mlmmj.log 2>&1"%0a%3c The above is needed, and not like how the documentation shows it. If you don't add the '/bin/sh -c' you will get a weird 'file not found' error in your crontab logs. Use this form of the command so that mlmmj-maintd is run on all mailing lists running. The documentation shows a slightly different syntax that can be used for a specific mailing list, but that is not suggested.%0a%3c %0a%3c The mlmmj tools send all email from 127.0.0.1, which needs to be explicitly added to the /etc/mail/hosts file, having 'localhost' present is not enough.%0a%3c %0a%3c Normally the mailing list is only handled on the server, all emails sent to it are for virtual users, or external users. If you have a need to send to a local user, meaning someone with a /home/bangcat directory, you need to modify /etc/mail/smtpd.conf to add a 'table locals file:/etc/mail/locals' and an action to forward email to local users like 'action "local" mbox alias %3clocals>'. The /etc/mail/locals should have a line for each local user that needs to get email.%0a%3c This is not required in most cases.%0a%3c %0a%3c You are now done with the initial setup. You should start back on the official read me file at https://mlmmj.org/docs/readme to fine tune your setup. Although you can sign up people manually with mlmmj-sub, it is better to have the actual users send mail to the mailing list to do that themselves. All the files you need to tweak for an individual list will be located at /var/spool/mlmmj/%3cmailing-list-name>.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> %0a> @]%0a\ No newline at end of file%0a +host:1611495781=75.73.129.135 +author:1609494408=jrmu +diff:1609494408:1609494408:=1,4d0%0a%3c [@%0a%3c $ doas pkg_add mlmmj%0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1609494408=198.251.81.119 blob - /dev/null blob + 3e3eba277cd30d8b55478984b0fc9c3c6bbff512 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Netadmin @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1599100221 +host=198.251.81.119 +name=Openbsd.Netadmin +rev=4 +targets= +text=The Network Admin Code%0a%0a[@%0aRepeat after me:%0a%0aThis is my network. %0a%0aIt is mine %0atechnically it belongs to WE THE USERS%0ait is my responsibility %0aand I care for it with all my heart%0a%0athere are many other networks a lot like mine,%0abut none are just like it.%0a%0aI will not mindlessly paste from HOWTOs.%0a@]%0a%0aBased on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]] +time=1613300198 +author:1613300198=jrmu +diff:1613300198:1609328401:= +host:1613300198=198.251.81.119 +author:1609328401=jrmu +diff:1609328401:1599100271:=4,5d3%0a%3c Repeat after me:%0a%3c %0a9c7%0a%3c technically it belongs to WE THE USERS%0a---%0a> or technically my employer's, %0a15a14,15%0a> %0a> %0a19c19%0a%3c Based on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]]%0a\ No newline at end of file%0a---%0a> Courtesy of https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html%0a\ No newline at end of file%0a +host:1609328401=198.251.81.119 +author:1599100271=jrmu +diff:1599100271:1599100221:=17,19c17%0a%3c @]%0a%3c %0a%3c Courtesy of https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1599100271=38.81.163.143 +author:1599100221=jrmu +diff:1599100221:1599100221:=1,17d0%0a%3c The Network Admin Code%0a%3c %0a%3c [@%0a%3c This is my network. %0a%3c %0a%3c It is mine %0a%3c or technically my employer's, %0a%3c it is my responsibility %0a%3c and I care for it with all my heart%0a%3c %0a%3c there are many other networks a lot like mine,%0a%3c but none are just like it.%0a%3c %0a%3c %0a%3c %0a%3c I will not mindlessly paste from HOWTOs.%0a%3c @]%0a\ No newline at end of file%0a +host:1599100221=38.81.163.143 blob - /dev/null blob + 9b59aebaa67fe1b108e4aa267bcff2652088f4c2 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Netcat @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597223083 +host=125.224.19.86 +name=Openbsd.Netcat +rev=6 +targets=Openbsd.Mailopenproxy +text=(:title Troubleshooting with netcat:)%0a%0anetcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%0a!! Debugging IRC%0a%0aTo test if you are able to establish an IRC connection, you can use netcat:%0a%0a[@%0a$ nc irc.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING: 12345%0aPONG: 12345%0a@]%0a%0a'''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a%0aIf you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%0aYou can specifically use netcat to test if an IPv6 address is working:%0a%0a[@%0a$ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0aNICK newnick%0aUSER newuser * * :newuser%0aPING :12345%0aPONG :12345%0a@]%0a%0aThis will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%0aYou should see something like the following from the server's reply:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0aostname now%0a:newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a@]%0a%0aIn this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%0a[@%0a:irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a:newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a@]%0a%0aTo check your vhost, type @@WHOIS newnick@@:%0a%0a[@%0aWHOIS newnick%0a:irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aIn this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%0a[@%0a:irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a:irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a:irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a:irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a:irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a:irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a@]%0a%0aTo join a channel:%0a%0a[@%0aJOIN #ircnow%0a@]%0a%0aTo part a channel:%0a%0a[@%0aPART #ircnow%0a@]%0a%0aTo send a message to a channel or user:%0a%0a[@%0aPRIVMSG #ircnow :Hello, world!%0aPRIVMSG Mom :Look ma, no client!%0a@]%0a%0aTo identify with NickServ:%0a%0a[@%0aPRIVMSG Nickserv :identify PASSWORD%0a@]%0a%0aTo quit, just type CTRL+C.%0a%0a!! Debugging SMTP%0a%0aYou can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%0aHere's how to send a simple letter:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc ircnow.org 25 %0a220 ircnow.org ESMTP OpenSMTPD%0aHELO example.com%0a250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ctest@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cjrmu@ircnow.org>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0a%0a!! Debugging Web Servers +time=1610202009 +title=Troubleshooting with netcat +author:1610202009=jrmu +diff:1610202009:1602944792:=99,170d98%0a%3c %0a%3c You can use netcat to test for SMTP errors such as [[openbsd/mailopenproxy|open mail relays]].%0a%3c %0a%3c Here's how to send a simple letter:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a +host:1610202009=125.224.19.86 +author:1602944792=jrmu +diff:1602944792:1602944781:=17c17%0a%3c '''WARNING''': Do not ever connect to IRC as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a---%0a> '''WARNING''': Do not ever connect as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a +host:1602944792=125.231.17.204 +author:1602944781=jrmu +diff:1602944781:1597224616:=16,17d15%0a%3c %0a%3c '''WARNING''': Do not ever connect as root. Some networks will gline your entire IP address if you attempt to connect as root because you will appear to be a drone.%0a +host:1602944781=125.231.17.204 +author:1597224616=jrmu +diff:1597224616:1597223421:=5,8c5,8%0a%3c !! Debugging IRC%0a%3c %0a%3c To test if you are able to establish an IRC connection, you can use netcat:%0a%3c %0a---%0a> !! Testing Networking%0a> %0a> To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a> %0a10,14c10,14%0a%3c $ nc irc.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING: 12345%0a%3c PONG: 12345%0a---%0a> $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a> nick newnick%0a> user newuser * * :newuser%0a> PING :12345%0a> PONG :12345%0a17,98c17,21%0a%3c If you successfully see the message of the day (MOTD) and other replies from the IRC server, then the IRC connection has succeeded.%0a%3c %0a%3c You can specifically use netcat to test if an IPv6 address is working:%0a%3c %0a%3c [@%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c NICK newnick%0a%3c USER newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c @]%0a%3c %0a%3c This will cause netcat to bind to the IPv6 address 2001:0db8::. If you configured the IPv6 address 2001:0db8:: correctly, you should be able to see the MOTD.%0a%3c %0a%3c You should see something like the following from the server's reply:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick 2001:0db8:20:b4:f117:2f18:11eb:3a85 :is your displayed h%0a%3c ostname now%0a%3c :newnick!newnick@2001:0db8:20:b4:f117:2f18:11eb:3a85 MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c In this case, the vhost is not a nice hostname, which means that either your rDNS or DNS AAAA record is not configured properly. When done properly, you should see something like:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 396 newnick newnick.example.ircnow.org :is your displayed hostname now%0a%3c :newnick!newnick@newnick.example.ircnow.org MODE newnick :+iC%0a%3c @]%0a%3c %0a%3c To check your vhost, type @@WHOIS newnick@@:%0a%3c %0a%3c [@%0a%3c WHOIS newnick%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick 2001:0db8:: * :newuser%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@2001:0db8::%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 15 1597224116 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c In this above example, the vhost is not showing up properly. If it shows up properly, you should see something like this:%0a%3c %0a%3c [@%0a%3c :irc.example.ircnow.org 311 newnick newnick newnick newnick.example.ircnow.org * :newnick%0a%3c :irc.example.ircnow.org 312 newnick newnick irc.example.ircnow.org :irc.example.ircnow.org%0a%3c :irc.example.ircnow.org 378 newnick newnick :is connecting from *@newnick.example.ircnow.org 2001:0db8:20:b4:f8fb:b8fa:9812:2562%0a%3c :irc.example.ircnow.org 379 newnick newnick :is using modes +iC%0a%3c :irc.example.ircnow.org 317 newnick newnick 86 1597224404 :seconds idle, signon time%0a%3c :irc.example.ircnow.org 318 newnick newnick :End of WHOIS list%0a%3c @]%0a%3c %0a%3c To join a channel:%0a%3c %0a%3c [@%0a%3c JOIN #ircnow%0a%3c @]%0a%3c %0a%3c To part a channel:%0a%3c %0a%3c [@%0a%3c PART #ircnow%0a%3c @]%0a%3c %0a%3c To send a message to a channel or user:%0a%3c %0a%3c [@%0a%3c PRIVMSG #ircnow :Hello, world!%0a%3c PRIVMSG Mom :Look ma, no client!%0a%3c @]%0a%3c %0a%3c To identify with NickServ:%0a%3c %0a%3c [@%0a%3c PRIVMSG Nickserv :identify PASSWORD%0a%3c @]%0a%3c %0a%3c To quit, just type CTRL+C.%0a%3c %0a%3c !! Debugging SMTP%0a%3c %0a%3c !! Debugging Web Servers%0a\ No newline at end of file%0a---%0a> If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a> %0a> !! Debugging Code%0a> %0a> !! Debugging Applications%0a\ No newline at end of file%0a +host:1597224616=38.81.163.143 +author:1597223421=jrmu +diff:1597223421:1597223083:=1,6c1%0a%3c (:title Troubleshooting with netcat:)%0a%3c %0a%3c netcat is the swiss-army knife of networking. It is an extremely valuable tool to help diagnose any networking errors. You can and should use it often when working on sysadmin and writing code.%0a%3c %0a%3c !! Testing Networking%0a%3c %0a---%0a> %0a9c4%0a%3c [@%0a---%0a> %3ccode>%0a15,21c10,12%0a%3c @]%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a%3c %0a%3c !! Debugging Code%0a%3c %0a%3c !! Debugging Applications%0a\ No newline at end of file%0a---%0a> %3c/code>%0a> %0a> If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597223421=38.81.163.143 +author:1597223083=jrmu +diff:1597223083:1597223083:=1,12d0%0a%3c %0a%3c To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%3c %0a%3c %3ccode>%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c %3c/code>%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597223083=38.81.163.143 blob - /dev/null blob + a718dc8eb6c731f541c21730056c7db5e71d113d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Newdisk @@ -0,0 +1,127 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609652102 +host=198.251.81.119 +name=Openbsd.Newdisk +rev=38 +targets=Openbsd.Backup,Openbsd.Announce,Openbsd.Dump,Openbsd.Restore,Openbsd.Growpartition,Openbsd.Vmmuser,Openbsd.Buyvm,Openbsd.Ed +text=(:title Adding a New Disk:)%0a%0a'''WARNING''': '''BE CAREFUL!''' Some commands in this tutorial can cause permanent data loss. We recommend you [[openbsd/backup|backup]] your files before attempting to run these commands. You should also double check every command to make sure you have made no typos or mistakes. A single typo could destroy your data forever!%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]].%0a%0a'''NOTE''': Before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a%0aOn OpenBSD, there are two disk drivers: [[https://man.openbsd.org/wd|wd]] and [[https://man.openbsd.org/sd|sd]]. wd is an IDE-like disk, and sd is a SCSI-like disk (including USB disks). To list all your available disks:%0a%0a[@%0a$ dmesg | grep -E '(sd[0-9]|wd[0-9])'%0asd0 at scsibus2 targ 0 lun 0: %3cBUYVM, SLAB, 2.5+> serial.BUYVM_SLAB_VOLUME-4047%0asd0: 524288MB, 512 bytes/sector, 1073741824 sectors, thin%0asd1 at scsibus3 targ 0 lun 0: %3cVirtIO, Block Device, >%0asd1: 40960MB, 512 bytes/sector, 83886080 sectors%0a@]%0a%0aIn this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. The disks are numbered by the order in which they are detected at boot time. The first SCSI-like disk will be sd0, the second sd1, and so forth.%0a%0aThe first disk @@sd0@@ can store around 500GB of data, the second disk @@sd1@@ can store around 40GB.%0a%0aWe will now add the new space from @@sd0@@ by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a%0a'''WARNING''': Double check your commands and make certain you are editing the correct disk. You must substitute the disk in the example for the one you actually want to format. Typing the wrong disk by accident could destroy all your data forever.%0a%0a!! Creating a New Partition%0a%0aThe first task is to use fdisk to create fdisk partitions (Master Boot Record partitions). Now, the easy way is to run this one command:%0a%0a[@%0a$ doas fdisk -iy sd0%0a@]%0a%0aThis automatically creates an fdisk partition that spans the entire disk. That said, you can (and should!) learn how to edit this interactively, to fine tune your options.%0a%0a[@%0a$ doas fdisk -e sd0%0aEnter 'help' for information%0a@]%0a%0aType @@help@@ to get help, @@manual@@ to read the [[https://man.openbsd.org/fdisk|fdisk]] man page, and @@print@@ to view the partitions:%0a%0a[@%0asd0: 1> help%0a help Command help list%0a manual Show entire OpenBSD man page for fdisk%0a reinit Re-initialize loaded MBR (to defaults)%0a setpid Set the identifier of a given table entry%0a disk Edit current drive stats%0a edit Edit given table entry%0a flag Flag given table entry as bootable%0a update Update machine code in loaded MBR%0a select Select extended partition table entry MBR%0a swap Swap two partition entries%0a print Print loaded MBR partition table%0a write Write loaded MBR to disk%0a exit Exit edit of current MBR, without saving changes%0a quit Quit edit of current MBR, saving current changes%0a abort Abort program without saving current changes%0asd0: 1> print%0aDisk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0aOffset: 0 Signature: 0x0%0a Starting Ending LBA Info:%0a #: id C H S - C H S [ start: size ]%0a-------------------------------------------------------------------------------%0a 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a@]%0a%0aThis disk sd0 is completely blank, so it is probably safe to edit the fdisk partitions and format the disk.%0a%0a'''WARNING''': If the disk already has existing partitions, double check to make sure you are not wiping out data!%0a%0aFirst, let's reinit. This should automatically create an fdisk partition on the last partition, partition 3, for OpenBSD and use all available space. It will also initialize this as the boot block.%0a%0a[@%0asd0: 1> reinit%0aDisk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0aOffset: 0 Signature: 0xAA55%0a Starting Ending LBA Info:%0a #: id C H S - C H S [ start: size ]%0a-------------------------------------------------------------------------------%0a 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a*3: A6 0 1 2 - 66836 254 63 [ 64: 1073736341 ] OpenBSD %0aUse 'write' to update disk.%0a@]%0a%0aNotice that the Signature changes from 0x0 to 0xAA55, and partition #3 is now set to id A6 (the OpenBSD partition type).%0a%0aThis can also be done manually by using the edit command on partition 3:%0a%0a[@%0asd0: 1> edit 3%0a Starting Ending LBA Info:%0a #: id C H S - C H S [ start: size ]%0a-------------------------------------------------------------------------------%0a 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0aPartition id ('0' to disable) [01 - FF]: [0] (? for help) A6%0aDo you wish to edit in CHS mode? [n] y%0aBIOS Starting cylinder [0 - 66836]: [0] %0aBIOS Starting head [0 - 254]: [1] %0aBIOS Starting sector [1 - 63]: [2] %0aBIOS Ending cylinder [0 - 66836]: [0] 66836%0aBIOS Ending head [0 - 254]: [0] 254%0aBIOS Ending sector [1 - 63]: [1] 63%0a@]%0a%0aWe need to edit in [[https://en.wikipedia.org/wiki/Cylinder-head-sector|Cylinder-Head-Sector]] ('''CHS''') mode. To use the full space of the disk, you will want to choose the lowest numbers in the range for the starting cylinder, head, and sector; and the highest possible numbers for the ending cylinder, head, and sector.%0a%0aWe now write to disk:%0a%0a[@%0asd0*: 1> write%0aWriting MBR at offset 0.%0a@]%0a%0aWe'll @@print G@@ to see everything in gigabytes:%0a%0a[@%0asd0: 1> print G%0aDisk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0aOffset: 0 Signature: 0xAA55%0a Starting Ending LBA Info:%0a #: id C H S - C H S [ start: size ]%0a-------------------------------------------------------------------------------%0a 0: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a 1: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a 2: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a*3: A6 0 1 2 - 66836 254 63 [ 64: 512G] OpenBSD %0a@]%0a%0aIf everything looks good, %0a%0a[@%0asd0: 1> quit%0a@]%0a%0a!! Disklabel%0a%0aNext, we need to use [[https://man.openbsd.org/disklabel|disklabel]] to manage OpenBSD filesystem partitions (these disklabel partitions exist inside of an fdisk partition).%0a%0aWe should leave the first logical track unused, so the first partition should start at block 64.%0a%0aEach fdisk partition can be sliced into OpenBSD disklabel partitions with letters as labels. The @@a@@ partition is your root partition, @@b@@ is your swap, and @@c@@ is the entire disk.%0a%0aIf you already have the operating system installed on another disk (like we do here), you just need 1 single partition: the @@a@@ partition with the same size as the disk.%0a%0a[@%0a$ doas disklabel -E sd0%0aLabel editor (enter '?' for help at any prompt)%0asd0> ?%0aAvailable commands:%0a ? | h - show help n [part] - set mount point%0a A - auto partition all space p [unit] - print partitions%0a a [part] - add partition q - quit & save changes%0a b - set OpenBSD boundaries R [part] - resize auto allocated partition%0a c [part] - change partition size r - display free space%0a D - reset label to default s [path] - save label to file%0a d [part] - delete partition U - undo all changes%0a e - edit drive parameters u - undo last change%0a g [d|u] - [d]isk or [u]ser geometry w - write label to disk%0a i - modify disklabel UID X - toggle expert mode%0a l [unit] - print disk label header x - exit & lose changes%0a M - disklabel(8) man page z - delete all partitions%0a m [part] - modify partition%0a%0aSuffixes can be used to indicate units other than sectors:%0a 'b' (bytes), 'k' (kilobytes), 'm' (megabytes), 'g' (gigabytes) 't' (terabytes)%0a 'c' (cylinders), '%25' (%25 of total disk), '&' (%25 of free space).%0aValues in non-sector units are truncated to the nearest cylinder boundary.%0a@]%0a%0aTo print the partitions in gigabytes:%0a%0a[@%0asd0> p G%0aOpenBSD area: 64-1073736405; size: 512.0G; free: 512.0G%0a# size offset fstype [fsize bsize cpg]%0a c: 512.0G 0 unused %0a@]%0a%0aWe want to add the @@a@@ partition. We'll use defaults for offset, size, and FS type:%0a%0a[@%0asd0> a a%0aoffset: [64] %0asize: [1073736341] %0aFS type: [4.2BSD] %0asd0*> p G%0aOpenBSD area: 64-1073736405; size: 512.0G; free: 0.0G%0a# size offset fstype [fsize bsize cpg]%0a a: 512.0G 64 4.2BSD 4096 32768 1 %0a c: 512.0G 0 unused %0a@]%0a%0aThen write the changes to disk and quit:%0a%0a[@%0asd0*> w%0asd0> q%0aNo label changes.%0a@]%0a%0aNext, you'll want to format the disk:%0a%0a[@%0a$ doas newfs sd0a%0a/dev/rsd0a: 524285.3MB in 1073736320 sectors of 512 bytes %0a644 cylinder groups of 814.44MB, 26062 blocks, 52224 inodes each %0asuper-block backups (for fsck -b #) at: %0a...%0a@]%0a%0aWe now have sd0a formatted, but we need to mount it. Let's look at where our system's partitions are currently mounted:%0a%0a[@%0a$ mount %0a/dev/sd1a on / type ffs (local)%0a/dev/sd1k on /home type ffs (local, nodev, nosuid)%0a/dev/sd1d on /tmp type ffs (local, nodev, nosuid)%0a/dev/sd1f on /usr type ffs (local, nodev)%0a/dev/sd1g on /usr/X11R6 type ffs (local, nodev)%0a/dev/sd1h on /usr/local type ffs (local, nodev, wxallowed)%0a/dev/sd1j on /usr/obj type ffs (local, nodev, nosuid)%0a/dev/sd1i on /usr/src type ffs (local, nodev, nosuid)%0a/dev/sd1e on /var type ffs (local, nodev, nosuid)%0a@]%0a%0aWe can also see the size of these partitions:%0a%0a[@%0a$ df -h %0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd1a 615M 232M 352M 40%25 /%0a/dev/sd1k 3.7G 2.1G 1.4G 59%25 /home%0a/dev/sd1d 863M 28.0K 820M 0%25 /tmp%0a/dev/sd1f 2.3G 1.6G 600M 74%25 /usr%0a/dev/sd1g 648M 238M 378M 39%25 /usr/X11R6%0a/dev/sd1h 2.3G 2.2G 50.2M 98%25 /usr/local%0a/dev/sd1j 5.2G 2.0K 4.9G 0%25 /usr/obj%0a/dev/sd1i 1.4G 2.0K 1.3G 0%25 /usr/src%0a/dev/sd1e 1.3G 318M 913M 26%25 /var%0a@]%0a%0aFor this example, /home is too small for our server, so we're going to copy all the data from sd1k to sd0, then mount sd0a as the new /home.%0a%0a[@%0a$ doas su%0a# mount /dev/sd0a /mnt%0a# cd /mnt%0a@]%0a%0aThen we [[openbsd/dump|dump]] and [[openbsd/restore|restore]] to clone the partition:%0a%0a[@%0a# dump -0 -a -f - /home | restore -rf -%0a@]%0a%0aYou will want to replace /home with whatever partition you want to back up on the new disk.%0a%0aAlternatively, you can copy the files manually by running:%0a%0a[@%0a# cp -R /home/* /home/.* /mnt/%0a@]%0a%0aInspect the files in the partition to make sure they copied successfully:%0a%0a[@%0a# ls -a /mnt/%0a@]%0a%0aThen unmount the partition:%0a%0a[@%0a# umount /mnt/%0a# ^D%0a@]%0a%0a(Type ctrl+d or ^D to exit)%0a%0aThe next steps will take the system offline, so before performing any more steps, you will want to [[openbsd/announce|announce]] to your users and teammates that they should save all files and prepare for downtime.%0a%0aNow we need to automatically mount this partition at bootup. Let's take a look at the current [[https://man.openbsd.org/fstab|/etc/fstab]]:%0a%0a[@%0a37deb3c1c30cbfbf.b none swap sw%0a37deb3c1c30cbfbf.a / ffs rw 1 1%0a37deb3c1c30cbfbf.k /home ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a@]%0a%0aThe string @@37deb3c1c30cbfbf@@ is called the disklabel unique identifier ('''DUID'''). Each disk partition has its own unique DUID. Let's find the DUID of our new disk partition:%0a%0a[@%0a$ sysctl hw.disknames %0ahw.disknames=cd0:,sd0:f433d9e11879420f,sd1:37deb3c1c30cbfbf,fd0:%0a@]%0a%0aThe DUID for sd0 is f433d9e11879420f. So, we need to replace /home's partition 37deb3c1c30cbfbf.k with f433d9e11879420f.a (since we are trying to mount sd0a):%0a%0a[@%0a37deb3c1c30cbfbf.b none swap sw%0a37deb3c1c30cbfbf.a / ffs rw 1 1%0af433d9e11879420f.a /home ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a@]%0a%0aThen, reboot:%0a%0a[@%0a$ doas shutdown -r now%0a@]%0a%0aIf everything was done correctly, the system should automatically mount sd0a as /home upon bootup. The old partition, /dev/sd1k, can still be mounted if you need it:%0a%0a[@%0a$ doas mount /dev/sd1k /mnt/%0a@]%0a%0aDouble check to make sure the files on /home exactly match those on /mnt from sd1k. If they do not, you will need to clone the disk again using [[openbsd/dump|dump]]/[[openbsd/restore|restore]] or cp.%0a%0aOnce you are certain the files have been copied properly, you can use unmount the partition:%0a%0a[@%0a$ doas umount /mnt%0a@]%0a%0aThen you can clear out the free space to [[openbsd/growpartition|grow an existing partition]] or you can create a new partition with it and mount it elsewhere.%0a%0a!! Troubleshooting:%0a%0a!!! Uh oh, my system won't reboot!%0a%0aThis can happen if you foul up [[https://man.openbsd.org/fstab|/etc/fstab]]. For example, suppose I had made this error in /etc/fstab:%0a%0a[@%0a37deb3c1c30cbfbf.b none swap sw%0a37deb3c1c30cbfbf.a / ffs rw 1 1%0af433d9e11879420f.b /home ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a@]%0a%0aFor the third line, instead of putting .a, I put .b by accident. When I reboot the system by running @@doas shutdown -r now@@, I can no longer ssh into the system. When I log in via serial console (cu for [[openbsd/vmmuser|vmm]] or VNC for [[openbsd/Buyvm|BuyVM]])%0a%0a[@%0aroot on sd0a (a0e97b069eed0743.a) swap on sd0b dump on sd0b%0aAutomatic boot in progress: starting file system checks.%0a/dev/sd0a (a0e97b069eed0743.a): file system is clean; not checking%0aCan't open d40a0cfcd4551ac7.b: No such file or directory%0aCAN'T CHECK FILE SYSTEM.%0ad40a0cfcd4551ac7.b: UNEXPECTED INCONSISTENCY; RUN fsck_ffs MANUALLY.%0a/dev/sd0k (a0e97b069eed0743.k): file system is clean; not checking%0a/dev/sd0d (a0e97b069eed0743.d): file system is clean; not checking%0a/dev/sd0f (a0e97b069eed0743.f): file system is clean; not checking%0a/dev/sd0g (a0e97b069eed0743.g): file system is clean; not checking%0a/dev/sd0h (a0e97b069eed0743.h): file system is clean; not checking%0a/dev/sd0j (a0e97b069eed0743.j): file system is clean; not checking%0a/dev/sd0i (a0e97b069eed0743.i): file system is clean; not checking%0a/dev/sd0e (a0e97b069eed0743.e): file system is clean; not checking%0aTHE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY:%0a ffs: d40a0cfcd4551ac7.b (/home)%0aAutomatic file system check failed; help!%0aEnter pathname of shell or RETURN for sh: %0a@]%0a%0aIn order to boot up, you'll need to fix fstab. So, press the enter key to enter into the shell. Then, to view your /etc/fstab, type:%0a%0a[@%0a# cat /etc/fstab%0a@]%0a%0aCheck how your partitions are mounted:%0a%0a[@%0a# mount%0aroot_device on / type ffs (local, read-only)%0a@]%0a%0aYou'll notice that only / is mounted (so you can't use programs from /usr or view files in /home). This means you'll lack basic utilities like less and text editors like vi and mg. You'll also be unable to edit and save /etc/fstab, since / is mounted read-only. So first, let's fix that.%0a%0a[@%0a# mount -rw /%0a# mount -rw /dev/sd0f /usr%0a@]%0a%0aOur fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. %0aAlso, [@ TERM=vt220 @] will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a%0a[@%0a# export TERM=vt220%0a# vi /etc/fstab%0a@]%0a%0aReplace f433d9e11879420f.b with f433d9e11879420f.a, save and quit, then reboot the system:%0a%0a[@%0a# shutdown -r now%0a@] +time=1624980202 +title=Adding a New Disk +author:1624980202=jrmu +diff:1624980202:1624606581:=411,412c411,412%0a%3c Also, [@ TERM=vt220 @] will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a%3c %0a---%0a> Also, [@ TERM=xterm @] will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a> %0a414c414%0a%3c # export TERM=vt220%0a---%0a> # export TERM=xterm%0a +host:1624980202=198.251.81.119 +author:1624606581=mkf +diff:1624606581:1609820273:minor=410,411c410%0a%3c Our fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. %0a%3c Also, [@ TERM=xterm @] will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a---%0a> Our fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. This will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a +host:1624606581=198.251.81.133 +author:1609820273=jrmu +diff:1609820273:1609820059:=410,421c410%0a%3c Our fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. This will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a%3c %0a%3c [@%0a%3c # export TERM=xterm%0a%3c # vi /etc/fstab%0a%3c @]%0a%3c %0a%3c Replace f433d9e11879420f.b with f433d9e11879420f.a, save and quit, then reboot the system:%0a%3c %0a%3c [@%0a%3c # shutdown -r now%0a%3c @]%0a\ No newline at end of file%0a---%0a> Our fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. This will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a\ No newline at end of file%0a +host:1609820273=125.231.63.134 +author:1609820059=jrmu +diff:1609820059:1609819903:=403,404c403,404%0a%3c You'll notice that only / is mounted (so you can't use programs from /usr or view files in /home). This means you'll lack basic utilities like less and text editors like vi and mg. You'll also be unable to edit and save /etc/fstab, since / is mounted read-only. So first, let's fix that.%0a%3c %0a---%0a> You'll notice that only / is mounted (so you can't use programs from /usr or view files in /home). This means you'll lack basic utilities like less and text editors like vi and mg. You'll also be unable to edit and save /etc/fstab, since / is mounted read-only. So first, let's fix that:%0a> %0a407d406%0a%3c # mount -rw /dev/sd0f /usr%0a410c409,410%0a%3c Our fstab says a0e97b069eed0743.f is used for /usr so we mount /dev/sd0f to /usr. This will allow us to use text editors like vi to edit (you could, of course, use [[openbsd/ed|ed]]).%0a\ No newline at end of file%0a---%0a> %0a> Unfortunately, you're being forced to boot in single user mode, which lacks normal utilities like vi and emacs.%0a\ No newline at end of file%0a +host:1609820059=125.231.63.134 +author:1609819903=jrmu +diff:1609819903:1609819299:=390,408c390%0a%3c In order to boot up, you'll need to fix fstab. So, press the enter key to enter into the shell. Then, to view your /etc/fstab, type:%0a%3c %0a%3c [@%0a%3c # cat /etc/fstab%0a%3c @]%0a%3c %0a%3c Check how your partitions are mounted:%0a%3c %0a%3c [@%0a%3c # mount%0a%3c root_device on / type ffs (local, read-only)%0a%3c @]%0a%3c %0a%3c You'll notice that only / is mounted (so you can't use programs from /usr or view files in /home). This means you'll lack basic utilities like less and text editors like vi and mg. You'll also be unable to edit and save /etc/fstab, since / is mounted read-only. So first, let's fix that:%0a%3c %0a%3c [@%0a%3c # mount -rw /%0a%3c @]%0a%3c %0a---%0a> In order to boot up, you'll need to fix fstab.%0a +host:1609819903=125.231.63.134 +author:1609819299=jrmu +diff:1609819299:1609816235:=352,353c352,353%0a%3c This can happen if you foul up [[https://man.openbsd.org/fstab|/etc/fstab]]. For example, suppose I had made this error in /etc/fstab:%0a%3c %0a---%0a> This can happen if you foul up [[https://man.openbsd.org/fstab|/etc/fstab]]. For example, suppose I had put this in /etc/fstab:%0a> %0a367,392c367%0a%3c For the third line, instead of putting .a, I put .b by accident. When I reboot the system by running @@doas shutdown -r now@@, I can no longer ssh into the system. When I log in via serial console (cu for [[openbsd/vmmuser|vmm]] or VNC for [[openbsd/Buyvm|BuyVM]])%0a%3c %0a%3c [@%0a%3c root on sd0a (a0e97b069eed0743.a) swap on sd0b dump on sd0b%0a%3c Automatic boot in progress: starting file system checks.%0a%3c /dev/sd0a (a0e97b069eed0743.a): file system is clean; not checking%0a%3c Can't open d40a0cfcd4551ac7.b: No such file or directory%0a%3c CAN'T CHECK FILE SYSTEM.%0a%3c d40a0cfcd4551ac7.b: UNEXPECTED INCONSISTENCY; RUN fsck_ffs MANUALLY.%0a%3c /dev/sd0k (a0e97b069eed0743.k): file system is clean; not checking%0a%3c /dev/sd0d (a0e97b069eed0743.d): file system is clean; not checking%0a%3c /dev/sd0f (a0e97b069eed0743.f): file system is clean; not checking%0a%3c /dev/sd0g (a0e97b069eed0743.g): file system is clean; not checking%0a%3c /dev/sd0h (a0e97b069eed0743.h): file system is clean; not checking%0a%3c /dev/sd0j (a0e97b069eed0743.j): file system is clean; not checking%0a%3c /dev/sd0i (a0e97b069eed0743.i): file system is clean; not checking%0a%3c /dev/sd0e (a0e97b069eed0743.e): file system is clean; not checking%0a%3c THE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY:%0a%3c ffs: d40a0cfcd4551ac7.b (/home)%0a%3c Automatic file system check failed; help!%0a%3c Enter pathname of shell or RETURN for sh: %0a%3c @]%0a%3c %0a%3c In order to boot up, you'll need to fix fstab.%0a%3c %0a%3c Unfortunately, you're being forced to boot in single user mode, which lacks normal utilities like vi and emacs.%0a\ No newline at end of file%0a---%0a> For the third line, instead of putting .a, I put .b by accident.%0a\ No newline at end of file%0a +host:1609819299=125.231.63.134 +author:1609816235=jrmu +diff:1609816235:1609815144:=346,367c346%0a%3c Then you can clear out the free space to [[openbsd/growpartition|grow an existing partition]] or you can create a new partition with it and mount it elsewhere.%0a%3c %0a%3c !! Troubleshooting:%0a%3c %0a%3c !!! Uh oh, my system won't reboot!%0a%3c %0a%3c This can happen if you foul up [[https://man.openbsd.org/fstab|/etc/fstab]]. For example, suppose I had put this in /etc/fstab:%0a%3c %0a%3c [@%0a%3c 37deb3c1c30cbfbf.b none swap sw%0a%3c 37deb3c1c30cbfbf.a / ffs rw 1 1%0a%3c f433d9e11879420f.b /home ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a%3c 37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a%3c @]%0a%3c %0a%3c For the third line, instead of putting .a, I put .b by accident.%0a\ No newline at end of file%0a---%0a> Then you can clear out the free space to [[openbsd/growpartition|grow an existing partition]] or you can create a new partition with it and mount it elsewhere.%0a\ No newline at end of file%0a +host:1609816235=125.231.63.134 +author:1609815144=jrmu +diff:1609815144:1609814801:=332,346c332%0a%3c If everything was done correctly, the system should automatically mount sd0a as /home upon bootup. The old partition, /dev/sd1k, can still be mounted if you need it:%0a%3c %0a%3c [@%0a%3c $ doas mount /dev/sd1k /mnt/%0a%3c @]%0a%3c %0a%3c Double check to make sure the files on /home exactly match those on /mnt from sd1k. If they do not, you will need to clone the disk again using [[openbsd/dump|dump]]/[[openbsd/restore|restore]] or cp.%0a%3c %0a%3c Once you are certain the files have been copied properly, you can use unmount the partition:%0a%3c %0a%3c [@%0a%3c $ doas umount /mnt%0a%3c @]%0a%3c %0a%3c Then you can clear out the free space to [[openbsd/growpartition|grow an existing partition]] or you can create a new partition with it and mount it elsewhere.%0a\ No newline at end of file%0a---%0a> If everything was done correctly, the system should automatically mount sd0a as /home upon bootup.%0a\ No newline at end of file%0a +host:1609815144=125.231.63.134 +author:1609814801=jrmu +diff:1609814801:1609814743:=287a288,294%0a> %0a> You'll want to list the files to verify that everything has been copied correctly:%0a> %0a> [@%0a> $ doas ls /mnt/home/%0a> ...%0a> @]%0a +host:1609814801=125.231.63.134 +author:1609814743=jrmu +diff:1609814743:1609814690:= +host:1609814743=125.231.63.134 +author:1609814690=jrmu +diff:1609814690:1609814559:=258,259c258,259%0a%3c Then we [[openbsd/dump|dump]] and [[openbsd/restore|restore]] to clone the partition:%0a%3c %0a---%0a> Then we dump and restore to clone the partition:%0a> %0a285a286,293%0a> %0a> %0a> %0a> [@%0a> $ doas mount /dev/sd0a /mnt%0a> $ doas cp -R /home/ /mnt/%0a> $ doas umount /mnt/%0a> @]%0a +host:1609814690=125.231.63.134 +author:1609814559=jrmu +diff:1609814559:1609814252:=255a256,258%0a> # dump -0 -a -f - / | restore -rf -%0a> # umount /mnt/%0a> # ^D%0a258,287c261,264%0a%3c Then we dump and restore to clone the partition:%0a%3c %0a%3c [@%0a%3c # dump -0 -a -f - /home | restore -rf -%0a%3c @]%0a%3c %0a%3c You will want to replace /home with whatever partition you want to back up on the new disk.%0a%3c %0a%3c Alternatively, you can copy the files manually by running:%0a%3c %0a%3c [@%0a%3c # cp -R /home/* /home/.* /mnt/%0a%3c @]%0a%3c %0a%3c Inspect the files in the partition to make sure they copied successfully:%0a%3c %0a%3c [@%0a%3c # ls -a /mnt/%0a%3c @]%0a%3c %0a%3c Then unmount the partition:%0a%3c %0a%3c [@%0a%3c # umount /mnt/%0a%3c # ^D%0a%3c @]%0a%3c %0a%3c (Type ctrl+d or ^D to exit)%0a%3c %0a%3c %0a---%0a> (Type ctrl+d or ^D to exit)%0a> %0a> Alternatively, you can copy the files simply by running:%0a> %0a +host:1609814559=125.231.63.134 +author:1609814252=jrmu +diff:1609814252:1609814226:=255d254%0a%3c # cd /mnt%0a +host:1609814252=125.231.63.134 +author:1609814226=jrmu +diff:1609814226:1609770565:=251,262d250%0a%3c %0a%3c [@%0a%3c $ doas su%0a%3c # mount /dev/sd0a /mnt%0a%3c # dump -0 -a -f - / | restore -rf -%0a%3c # umount /mnt/%0a%3c # ^D%0a%3c @]%0a%3c %0a%3c (Type ctrl+d or ^D to exit)%0a%3c %0a%3c Alternatively, you can copy the files simply by running:%0a +host:1609814226=125.231.63.134 +author:1609770565=jrmu +diff:1609770565:1609682122:=250c250%0a%3c For this example, /home is too small for our server, so we're going to copy all the data from sd1k to sd0, then mount sd0a as the new /home.%0a---%0a> /home is too small for our server, so we're going to copy all the data from sd1k to sd0, then mount sd0a as the new /home.%0a +host:1609770565=125.231.63.134 +author:1609682122=jrmu +diff:1609682122:1609681990:=39a40%0a> sd0: 1> %0a +host:1609682122=125.231.63.134 +author:1609681990=jrmu +diff:1609681990:1609680663:=19c19%0a%3c In this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. The disks are numbered by the order in which they are detected at boot time. The first SCSI-like disk will be sd0, the second sd1, and so forth.%0a---%0a> In this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. The disks are numbered by the ordered in which they are detected at boot time. The first SCSI-like disk will be sd0, the second sd1, and so forth.%0a +host:1609681990=125.231.63.134 +author:1609680663=jrmu +diff:1609680663:1609679838:=259,311c259%0a%3c The next steps will take the system offline, so before performing any more steps, you will want to [[openbsd/announce|announce]] to your users and teammates that they should save all files and prepare for downtime.%0a%3c %0a%3c You'll want to list the files to verify that everything has been copied correctly:%0a%3c %0a%3c [@%0a%3c $ doas ls /mnt/home/%0a%3c ...%0a%3c @]%0a%3c %0a%3c Now we need to automatically mount this partition at bootup. Let's take a look at the current [[https://man.openbsd.org/fstab|/etc/fstab]]:%0a%3c %0a%3c [@%0a%3c 37deb3c1c30cbfbf.b none swap sw%0a%3c 37deb3c1c30cbfbf.a / ffs rw 1 1%0a%3c 37deb3c1c30cbfbf.k /home ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a%3c 37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a%3c @]%0a%3c %0a%3c The string @@37deb3c1c30cbfbf@@ is called the disklabel unique identifier ('''DUID'''). Each disk partition has its own unique DUID. Let's find the DUID of our new disk partition:%0a%3c %0a%3c [@%0a%3c $ sysctl hw.disknames %0a%3c hw.disknames=cd0:,sd0:f433d9e11879420f,sd1:37deb3c1c30cbfbf,fd0:%0a%3c @]%0a%3c %0a%3c The DUID for sd0 is f433d9e11879420f. So, we need to replace /home's partition 37deb3c1c30cbfbf.k with f433d9e11879420f.a (since we are trying to mount sd0a):%0a%3c %0a%3c [@%0a%3c 37deb3c1c30cbfbf.b none swap sw%0a%3c 37deb3c1c30cbfbf.a / ffs rw 1 1%0a%3c f433d9e11879420f.a /home ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.d /tmp ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.f /usr ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.g /usr/X11R6 ffs rw,nodev 1 2%0a%3c 37deb3c1c30cbfbf.h /usr/local ffs rw,wxallowed,nodev 1 2%0a%3c 37deb3c1c30cbfbf.j /usr/obj ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.i /usr/src ffs rw,nodev,nosuid 1 2%0a%3c 37deb3c1c30cbfbf.e /var ffs rw,nodev,nosuid 1 2%0a%3c @]%0a%3c %0a%3c Then, reboot:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a%3c %0a%3c If everything was done correctly, the system should automatically mount sd0a as /home upon bootup.%0a\ No newline at end of file%0a---%0a> The next steps will take the system offline, so before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a\ No newline at end of file%0a +host:1609680663=125.231.63.134 +author:1609679838=jrmu +diff:1609679838:1609678850:=7,8d6%0a%3c '''NOTE''': Before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a%3c %0a259c257%0a%3c The next steps will take the system offline, so before performing the upgrades, you will want to [[openbsd/announce|announce]] the changes to your users and teammates.%0a\ No newline at end of file%0a---%0a> [[openbsd/announce|announce]]%0a +host:1609679838=125.231.63.134 +author:1609678850=jrmu +diff:1609678850:1609678804:=254,257c254%0a%3c $ doas umount /mnt/%0a%3c @]%0a%3c %0a%3c [[openbsd/announce|announce]]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1609678850=125.231.63.134 +author:1609678804=jrmu +diff:1609678804:1609677726:=210,254c210,211%0a%3c [@%0a%3c $ doas newfs sd0a%0a%3c /dev/rsd0a: 524285.3MB in 1073736320 sectors of 512 bytes %0a%3c 644 cylinder groups of 814.44MB, 26062 blocks, 52224 inodes each %0a%3c super-block backups (for fsck -b #) at: %0a%3c ...%0a%3c @]%0a%3c %0a%3c We now have sd0a formatted, but we need to mount it. Let's look at where our system's partitions are currently mounted:%0a%3c %0a%3c [@%0a%3c $ mount %0a%3c /dev/sd1a on / type ffs (local)%0a%3c /dev/sd1k on /home type ffs (local, nodev, nosuid)%0a%3c /dev/sd1d on /tmp type ffs (local, nodev, nosuid)%0a%3c /dev/sd1f on /usr type ffs (local, nodev)%0a%3c /dev/sd1g on /usr/X11R6 type ffs (local, nodev)%0a%3c /dev/sd1h on /usr/local type ffs (local, nodev, wxallowed)%0a%3c /dev/sd1j on /usr/obj type ffs (local, nodev, nosuid)%0a%3c /dev/sd1i on /usr/src type ffs (local, nodev, nosuid)%0a%3c /dev/sd1e on /var type ffs (local, nodev, nosuid)%0a%3c @]%0a%3c %0a%3c We can also see the size of these partitions:%0a%3c %0a%3c [@%0a%3c $ df -h %0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd1a 615M 232M 352M 40%25 /%0a%3c /dev/sd1k 3.7G 2.1G 1.4G 59%25 /home%0a%3c /dev/sd1d 863M 28.0K 820M 0%25 /tmp%0a%3c /dev/sd1f 2.3G 1.6G 600M 74%25 /usr%0a%3c /dev/sd1g 648M 238M 378M 39%25 /usr/X11R6%0a%3c /dev/sd1h 2.3G 2.2G 50.2M 98%25 /usr/local%0a%3c /dev/sd1j 5.2G 2.0K 4.9G 0%25 /usr/obj%0a%3c /dev/sd1i 1.4G 2.0K 1.3G 0%25 /usr/src%0a%3c /dev/sd1e 1.3G 318M 913M 26%25 /var%0a%3c @]%0a%3c %0a%3c /home is too small for our server, so we're going to copy all the data from sd1k to sd0, then mount sd0a as the new /home.%0a%3c %0a%3c [@%0a%3c $ doas mount /dev/sd0a /mnt%0a%3c $ doas cp -R /home/ /mnt/%0a%3c @]%0a\ No newline at end of file%0a---%0a> # newfs /dev/rsd0g%0a> # mount /dev/sd0g /mnt%0a +host:1609678804=125.231.63.134 +author:1609677726=jrmu +diff:1609677726:1609677551:=186,209c186,188%0a%3c We want to add the @@a@@ partition. We'll use defaults for offset, size, and FS type:%0a%3c %0a%3c [@%0a%3c sd0> a a%0a%3c offset: [64] %0a%3c size: [1073736341] %0a%3c FS type: [4.2BSD] %0a%3c sd0*> p G%0a%3c OpenBSD area: 64-1073736405; size: 512.0G; free: 0.0G%0a%3c # size offset fstype [fsize bsize cpg]%0a%3c a: 512.0G 64 4.2BSD 4096 32768 1 %0a%3c c: 512.0G 0 unused %0a%3c @]%0a%3c %0a%3c Then write the changes to disk and quit:%0a%3c %0a%3c [@%0a%3c sd0*> w%0a%3c sd0> q%0a%3c No label changes.%0a%3c @]%0a%3c %0a%3c Next, you'll want to format the disk:%0a%3c %0a---%0a> We want to add a partition%0a> %0a> # disklabel%0a +host:1609677726=125.231.63.134 +author:1609677551=jrmu +diff:1609677551:1609677157:=151,186d150%0a%3c %0a%3c [@%0a%3c $ doas disklabel -E sd0%0a%3c Label editor (enter '?' for help at any prompt)%0a%3c sd0> ?%0a%3c Available commands:%0a%3c ? | h - show help n [part] - set mount point%0a%3c A - auto partition all space p [unit] - print partitions%0a%3c a [part] - add partition q - quit & save changes%0a%3c b - set OpenBSD boundaries R [part] - resize auto allocated partition%0a%3c c [part] - change partition size r - display free space%0a%3c D - reset label to default s [path] - save label to file%0a%3c d [part] - delete partition U - undo all changes%0a%3c e - edit drive parameters u - undo last change%0a%3c g [d|u] - [d]isk or [u]ser geometry w - write label to disk%0a%3c i - modify disklabel UID X - toggle expert mode%0a%3c l [unit] - print disk label header x - exit & lose changes%0a%3c M - disklabel(8) man page z - delete all partitions%0a%3c m [part] - modify partition%0a%3c %0a%3c Suffixes can be used to indicate units other than sectors:%0a%3c 'b' (bytes), 'k' (kilobytes), 'm' (megabytes), 'g' (gigabytes) 't' (terabytes)%0a%3c 'c' (cylinders), '%25' (%25 of total disk), '&' (%25 of free space).%0a%3c Values in non-sector units are truncated to the nearest cylinder boundary.%0a%3c @]%0a%3c %0a%3c To print the partitions in gigabytes:%0a%3c %0a%3c [@%0a%3c sd0> p G%0a%3c OpenBSD area: 64-1073736405; size: 512.0G; free: 512.0G%0a%3c # size offset fstype [fsize bsize cpg]%0a%3c c: 512.0G 0 unused %0a%3c @]%0a%3c %0a%3c We want to add a partition%0a +host:1609677551=125.231.63.134 +author:1609677157=jrmu +diff:1609677157:1609656989:=148,150c148%0a%3c Each fdisk partition can be sliced into OpenBSD disklabel partitions with letters as labels. The @@a@@ partition is your root partition, @@b@@ is your swap, and @@c@@ is the entire disk.%0a%3c %0a%3c If you already have the operating system installed on another disk (like we do here), you just need 1 single partition: the @@a@@ partition with the same size as the disk.%0a---%0a> %0a +host:1609677157=125.231.63.134 +author:1609656989=jrmu +diff:1609656989:1609656753:=143,148d142%0a%3c %0a%3c Next, we need to use [[https://man.openbsd.org/disklabel|disklabel]] to manage OpenBSD filesystem partitions (these disklabel partitions exist inside of an fdisk partition).%0a%3c %0a%3c We should leave the first logical track unused, so the first partition should start at block 64.%0a%3c %0a%3c %0a +host:1609656989=125.231.63.134 +author:1609656753=jrmu +diff:1609656753:1609656511:=27,33c27,28%0a%3c The first task is to use fdisk to create fdisk partitions (Master Boot Record partitions). Now, the easy way is to run this one command:%0a%3c %0a%3c [@%0a%3c $ doas fdisk -iy sd0%0a%3c @]%0a%3c %0a%3c This automatically creates an fdisk partition that spans the entire disk. That said, you can (and should!) learn how to edit this interactively, to fine tune your options.%0a---%0a> The first task is to use fdisk to create fdisk partitions (Master Boot Record partitions).%0a> %0a +host:1609656753=125.231.63.134 +author:1609656511=jrmu +diff:1609656511:1609655206:=66,71c66,68%0a%3c This disk sd0 is completely blank, so it is probably safe to edit the fdisk partitions and format the disk.%0a%3c %0a%3c '''WARNING''': If the disk already has existing partitions, double check to make sure you are not wiping out data!%0a%3c %0a%3c First, let's reinit. This should automatically create an fdisk partition on the last partition, partition 3, for OpenBSD and use all available space. It will also initialize this as the boot block.%0a%3c %0a---%0a> This disk sd0 is completely blank.%0a> %0a> %0a73,137c70%0a%3c sd0: 1> reinit%0a%3c Disk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0a%3c Offset: 0 Signature: 0xAA55%0a%3c Starting Ending LBA Info:%0a%3c #: id C H S - C H S [ start: size ]%0a%3c -------------------------------------------------------------------------------%0a%3c 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c *3: A6 0 1 2 - 66836 254 63 [ 64: 1073736341 ] OpenBSD %0a%3c Use 'write' to update disk.%0a%3c @]%0a%3c %0a%3c Notice that the Signature changes from 0x0 to 0xAA55, and partition #3 is now set to id A6 (the OpenBSD partition type).%0a%3c %0a%3c This can also be done manually by using the edit command on partition 3:%0a%3c %0a%3c [@%0a%3c sd0: 1> edit 3%0a%3c Starting Ending LBA Info:%0a%3c #: id C H S - C H S [ start: size ]%0a%3c -------------------------------------------------------------------------------%0a%3c 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c Partition id ('0' to disable) [01 - FF]: [0] (? for help) A6%0a%3c Do you wish to edit in CHS mode? [n] y%0a%3c BIOS Starting cylinder [0 - 66836]: [0] %0a%3c BIOS Starting head [0 - 254]: [1] %0a%3c BIOS Starting sector [1 - 63]: [2] %0a%3c BIOS Ending cylinder [0 - 66836]: [0] 66836%0a%3c BIOS Ending head [0 - 254]: [0] 254%0a%3c BIOS Ending sector [1 - 63]: [1] 63%0a%3c @]%0a%3c %0a%3c We need to edit in [[https://en.wikipedia.org/wiki/Cylinder-head-sector|Cylinder-Head-Sector]] ('''CHS''') mode. To use the full space of the disk, you will want to choose the lowest numbers in the range for the starting cylinder, head, and sector; and the highest possible numbers for the ending cylinder, head, and sector.%0a%3c %0a%3c We now write to disk:%0a%3c %0a%3c [@%0a%3c sd0*: 1> write%0a%3c Writing MBR at offset 0.%0a%3c @]%0a%3c %0a%3c We'll @@print G@@ to see everything in gigabytes:%0a%3c %0a%3c [@%0a%3c sd0: 1> print G%0a%3c Disk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0a%3c Offset: 0 Signature: 0xAA55%0a%3c Starting Ending LBA Info:%0a%3c #: id C H S - C H S [ start: size ]%0a%3c -------------------------------------------------------------------------------%0a%3c 0: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a%3c 1: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a%3c 2: 00 0 0 0 - 0 0 0 [ 0: 0G] unused %0a%3c *3: A6 0 1 2 - 66836 254 63 [ 64: 512G] OpenBSD %0a%3c @]%0a%3c %0a%3c If everything looks good, %0a%3c %0a%3c [@%0a%3c sd0: 1> quit%0a%3c @]%0a%3c %0a%3c !! Disklabel%0a%3c %0a---%0a> # fdisk%0a +host:1609656511=125.231.63.134 +author:1609655206=jrmu +diff:1609655206:1609655144:=63a64%0a> %0a66c67%0a%3c This disk sd0 is completely blank.%0a---%0a> First, let's print%0a +host:1609655206=125.231.63.134 +author:1609655144=jrmu +diff:1609655144:1609654883:=11c11%0a%3c sd0 at scsibus2 targ 0 lun 0: %3cBUYVM, SLAB, 2.5+> serial.BUYVM_SLAB_VOLUME-4047%0a---%0a> sd0 at scsibus2 targ 0 lun 0: %3cBUYVM, SLAB, 2.5+> serial.BUYVM_SLAB_VOLUME-1305%0a19,22c19,20%0a%3c The first disk @@sd0@@ can store around 500GB of data, the second disk @@sd1@@ can store around 40GB.%0a%3c %0a%3c We will now add the new space from @@sd0@@ by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a%3c %0a---%0a> We will now add this new space by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a> %0a32c30%0a%3c sd0: 1> %0a---%0a> sd2: 1> %0a38c36%0a%3c sd0: 1> help%0a---%0a> sd2: 1> %0a54,56c52,54%0a%3c sd0: 1> print%0a%3c Disk: sd0 geometry: 66837/255/63 [1073741824 Sectors]%0a%3c Offset: 0 Signature: 0x0%0a---%0a> sd2: 1> print%0a> Disk: sd2 geometry: 949/255/63 [15261696 Sectors]%0a> Offset: 0 Signature: 0xAA55%0a60c58%0a%3c 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a---%0a> 0: EF 0 1 2 - 0 16 16 [ 64: 960 ] EFI Sys %0a63,64c61%0a%3c 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c %0a---%0a> *3: A6 0 16 17 - 84 165 17 [ 1024: 1358848 ] OpenBSD %0a +host:1609655144=125.231.63.134 +author:1609654883=jrmu +diff:1609654883:1609653927:=28,30c28%0a%3c $ doas fdisk -e sd0%0a%3c Enter 'help' for information%0a%3c sd2: 1> %0a---%0a> $ doas fdisk sd0%0a33,64d30%0a%3c Type @@help@@ to get help, @@manual@@ to read the [[https://man.openbsd.org/fdisk|fdisk]] man page, and @@print@@ to view the partitions:%0a%3c %0a%3c [@%0a%3c sd2: 1> %0a%3c help Command help list%0a%3c manual Show entire OpenBSD man page for fdisk%0a%3c reinit Re-initialize loaded MBR (to defaults)%0a%3c setpid Set the identifier of a given table entry%0a%3c disk Edit current drive stats%0a%3c edit Edit given table entry%0a%3c flag Flag given table entry as bootable%0a%3c update Update machine code in loaded MBR%0a%3c select Select extended partition table entry MBR%0a%3c swap Swap two partition entries%0a%3c print Print loaded MBR partition table%0a%3c write Write loaded MBR to disk%0a%3c exit Exit edit of current MBR, without saving changes%0a%3c quit Quit edit of current MBR, saving current changes%0a%3c abort Abort program without saving current changes%0a%3c sd2: 1> print%0a%3c Disk: sd2 geometry: 949/255/63 [15261696 Sectors]%0a%3c Offset: 0 Signature: 0xAA55%0a%3c Starting Ending LBA Info:%0a%3c #: id C H S - C H S [ start: size ]%0a%3c -------------------------------------------------------------------------------%0a%3c 0: EF 0 1 2 - 0 16 16 [ 64: 960 ] EFI Sys %0a%3c 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused %0a%3c *3: A6 0 16 17 - 84 165 17 [ 1024: 1358848 ] OpenBSD %0a%3c @]%0a%3c %0a%3c First, let's print%0a +host:1609654883=125.231.63.134 +author:1609653927=jrmu +diff:1609653927:1609653679:= +host:1609653927=125.231.63.134 +author:1609653679=jrmu +diff:1609653679:1609653561:=4,5d3%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the section on [[https://www.openbsd.org/faq/faq14.html|Disk Setup]].%0a +host:1609653679=125.231.63.134 +author:1609653561=jrmu +diff:1609653561:1609653222:=3,4d2%0a%3c '''WARNING''': '''BE CAREFUL!''' Some commands in this tutorial can cause permanent data loss. We recommend you [[openbsd/backup|backup]] your files before attempting to run these commands. You should also double check every command to make sure you have made no typos or mistakes. A single typo could destroy your data forever!%0a%3c %0a19,20d16%0a%3c '''WARNING''': Double check your commands and make certain you are editing the correct disk. You must substitute the disk in the example for the one you actually want to format. Typing the wrong disk by accident could destroy all your data forever.%0a%3c %0a23,29c19,20%0a%3c The first task is to use fdisk to create fdisk partitions (Master Boot Record partitions).%0a%3c %0a%3c [@%0a%3c $ doas fdisk sd0%0a%3c @]%0a%3c %0a%3c %0a---%0a> If you need to add a new disk%0a> %0a +host:1609653561=125.231.63.134 +author:1609653222=jrmu +diff:1609653222:1609653146:=13,15c13%0a%3c In this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. The disks are numbered by the ordered in which they are detected at boot time. The first SCSI-like disk will be sd0, the second sd1, and so forth.%0a%3c %0a%3c We will now add this new space by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a---%0a> In this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. We will now add this new space by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a +host:1609653222=125.231.63.134 +author:1609653146=jrmu +diff:1609653146:1609652893:=7,10c7,8%0a%3c sd0 at scsibus2 targ 0 lun 0: %3cBUYVM, SLAB, 2.5+> serial.BUYVM_SLAB_VOLUME-1305%0a%3c sd0: 524288MB, 512 bytes/sector, 1073741824 sectors, thin%0a%3c sd1 at scsibus3 targ 0 lun 0: %3cVirtIO, Block Device, >%0a%3c sd1: 40960MB, 512 bytes/sector, 83886080 sectors%0a---%0a> sd0 at scsibus3 targ 0 lun 0: %3cVirtIO, Block Device, >%0a> sd0: 10240MB, 512 bytes/sector, 20971520 sectors%0a13,15c11%0a%3c In this example, our server has two SCSI-like disks (a BuyVM slab and a VirtIO block device). In this case, the VirtIO block device is the hard disk the operating system is installed on, and the slab is extra storage we purchased. We will now add this new space by creating a new partition for the disk, formatting it, and then mounting it to the filesystem.%0a%3c %0a%3c !! Creating a New Partition%0a---%0a> In this example, our server uses a SCSI-like disk (VirtIO block device). The disk itself is about 10G in size.%0a +host:1609653146=125.231.63.134 +author:1609652893=jrmu +diff:1609652893:1609652335:=3,4c3,4%0a%3c On OpenBSD, there are two disk drivers: [[https://man.openbsd.org/wd|wd]] and [[https://man.openbsd.org/sd|sd]]. wd is an IDE-like disk, and sd is a SCSI-like disk (including USB disks). To list all your available disks:%0a%3c %0a---%0a> On OpenBSD, there are two disk drivers: wd and sd. To list all your available disks:%0a> %0a6,8c6%0a%3c $ dmesg | grep -E '(sd[0-9]|wd[0-9])'%0a%3c sd0 at scsibus3 targ 0 lun 0: %3cVirtIO, Block Device, >%0a%3c sd0: 10240MB, 512 bytes/sector, 20971520 sectors%0a---%0a> $ dmesg | grep -E '(sd|wd)'%0a11,19d8%0a%3c In this example, our server uses a SCSI-like disk (VirtIO block device). The disk itself is about 10G in size.%0a%3c %0a%3c If you need to add a new disk%0a%3c %0a%3c [@%0a%3c # fdisk%0a%3c # disklabel%0a%3c # newfs /dev/rsd0g%0a%3c # mount /dev/sd0g /mnt%0a +host:1609652893=125.231.63.134 +author:1609652335=jrmu +diff:1609652335:1609652102:=1,8c1,5%0a%3c (:title Adding a New Disk:)%0a%3c %0a%3c On OpenBSD, there are two disk drivers: wd and sd. To list all your available disks:%0a%3c %0a%3c [@%0a%3c $ dmesg | grep -E '(sd|wd)'%0a%3c @]%0a%3c %0a---%0a> %0a> # fdisk%0a> # disklabel%0a> # newfs /dev/rsd0g%0a> # mount /dev/sd0g /mnt%0a +host:1609652335=125.231.63.134 +author:1609652102=jrmu +diff:1609652102:1609652102:=1,5d0%0a%3c %0a%3c # fdisk%0a%3c # disklabel%0a%3c # newfs /dev/rsd0g%0a%3c # mount /dev/sd0g /mnt%0a +host:1609652102=125.231.63.134 blob - /dev/null blob + 5831c26273c3ad6e0ff7eb045f5930b8a768bd59 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ngircd @@ -0,0 +1,196 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1597288187 +host=125.224.16.135 +name=Openbsd.Ngircd +rev=61 +targets=Openbsd.Netcat,Password.Management,Openbsd.Chroot,Rcctl.Rcctl,Ngircd.Ssl,Ngircd.Link,Anope.Install,Achurch.Install,Hopm.Install,Acopm.Install +text=(:redirect ngircd.install:)%0a(:title Ngircd -- The Next Generation IRCd:)%0a%0aIn this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%0aAdvantages:%0a%0a# The source code runs well on OpenBSD%0a# The server has a very simple, easy-to-understand configuration%0a# Fewer features means the manual pages are short%0a# The server is a clean implementation which was written from scratch%0a# The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a # Customized censorship to block NSFW content%0a # Spam filters%0a# The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%0aBefore you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a%0a!! Installation%0a%0a!!! From packages%0a%0a[@%0a$ doas pkg_add ngircd%0a$ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a@]%0a%0angIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a%0a!!! From source%0a%0a[@%0a$ ftp https://ircnow.org/software/ngircd.tgz%0a$ tar xvzf ngircd.tgz%0a$ cd ngircd-26.1/%0a$ sh build.sh%0a@]%0a%0a!! Configuration%0a%0aEdit /etc/ngircd/ngircd.conf:%0a%0a'''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a%0a!!! Global Block%0a%0a[@%0a[Global]%0a Name = username.fruit.ircnow.org%0a AdminInfo1 = Fruit Server on IRCNow%0a AdminInfo2 = Planet Earth%0a AdminEMail = admin@username.fruit.ircnow.org%0a Info = username.fruit.ircnow.org%0a@]%0a%0aFor Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a%0a[@%0a Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a@]%0a%0aUncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%0a'''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%0a[@%0a MotdFile = /etc/ngircd/ngircd.motd%0a Network = IRCNow%0a@]%0a%0aPaste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%0a[@%0aIRCNow - The Users' Network%0a%0aIRCNow is the network of the user, by the user, for the user.%0a%0a * No porn / illegal drugs / promotion of violence%0a * No slander / libel / gambling%0a * No spam, illegal cracking, or DDoS%0a * No copyright infrigement%0a%0aYou must agree to our terms of service and our privacy policy %0ato use this network:%0a%0ahttps://wiki.ircnow.org/index.php?n=Terms.Terms%0a%0aOnly 5 connections per IP address. If you need help, please speak with staff on #help.%0a@]%0a%0a[@%0a Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a MaxConnectionsIP = 0%0a MaxJoins = 300%0a MaxNickLength = 16%0a MaxListSize = 1000%0a PingTimeout = 300%0a PongTimeout = 300%0a@]%0a%0aThe above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a%0a!!! Options Block%0a%0a[@%0a[Options]%0a AllowRemoteOper = no%0a ChrootDir = /var/ngircd%0a CloakHost = %25x%0a CloakHostModeX = jrmu.coconut.ircnow.org%0a CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a DefaultUserModes = iC%0a NoticeBeforeRegistration = yes%0a OperChanPAutoOp = no %0a RequireAuthPing = yes%0a SyslogFacility = daemon%0a@]%0a%0aFor security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a%0aUserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a%0a!!! Configuring syslog%0a%0aYou want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%0a[@%0a!!ngircd%0a*.* /var/log/ngircd.log%0a!*%0a@]%0a%0aThis directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%0aNext, create the file /var/log/ngircd.log and restart syslogd:%0a%0a[@%0a$ doas touch /var/log/ngircd.log%0a$ doas rcctl restart syslogd%0a@]%0a%0a!!! Operator Block%0a%0a[@%0a[Operator]%0a Name = username%0a Password = password%0a@]%0a%0aPlease use a [[password/management|long, random string]] for your password.%0a%0aIf you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%0aFor more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a%0a!! Chroot%0a%0aWe need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a%0a[@%0a$ doas mkdir /var/ngircd/etc/%0a$ doas cp -R /etc/ngircd /var/ngircd/etc/%0a$ doas chown -R _ngircd:_ngircd /var/ngircd/%0a$ doas rm -r /etc/ngircd%0a$ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a@]%0a%0aThis will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%0a!! Starting ngircd%0a%0aTo start ngircd:%0a%0a[@%0adoas rcctl enable ngircd%0adoas rcctl start ngircd%0a@]%0a%0a[[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a%0aNext, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a%0a!! Troubleshooting%0a%0aIf you run into any errors, you can test to see if your configuration file has errors:%0a%0a[@%0a$ doas ngircd -t%0a@]%0a%0aTo run ngircd in debug mode:%0a%0a[@%0a$ doas ngircd -n%0a@]%0a%0aCheck /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%0aRemember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a%0a!! Reloading and Restarting ngIRCd%0a%0aAfter you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a%0a[@%0a$ doas rcctl reload ngircd%0a@]%0a%0aAlternatively, you can run:%0a%0a[@%0a$ doas pkill -HUP ngircd%0a@]%0a%0a'''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a%0aTo restart the ircd:%0a%0a[@%0a$ doas rcctl restart ngircd%0a@]%0a%0a'''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%0a'''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%0a!! See Also%0a%0a# Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a# [[ngircd/link|Link your ngircd]] with another server to create a network%0a# Install [[anope/install|anope]] to provide services%0a# Install [[achurch/install|achurch]] to test achurch services%0a# Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a# Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a +time=1624414865 +title=Ngircd -- The Next Generation IRCd +author:1624414865=jrmu +diff:1624414865:1612974527:=1d0%0a%3c (:redirect ngircd.install:)%0a234c233%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a---%0a> # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a\ No newline at end of file%0a +host:1624414865=125.224.16.135 +author:1612974527=jrmu +diff:1612974527:1612974496:=232a233%0a> # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a +host:1612974527=198.251.81.119 +author:1612974496=jrmu +diff:1612974496:1612974269:=226,234c226,232%0a%3c !! See Also%0a%3c %0a%3c # Configure [[ngircd/ssl|SSL]] for ngircd to ensure secure connections%0a%3c # [[ngircd/link|Link your ngircd]] with another server to create a network%0a%3c # Install [[anope/install|anope]] to provide services%0a%3c # Install [[achurch/install|achurch]] to test achurch services%0a%3c # Configure [[hopm/install|hopm]], an open proxy monitor to stop spammers.%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a%3c # Configure [[acopm/install|acopm]], a minimalist open proxy monitor to stop spammers.%0a\ No newline at end of file%0a---%0a> Make sure to configure [[openbsd/hopm|hopm]].%0a> %0a> !! Related Software%0a> %0a> You will want to install, configure, and run [[openbsd/hopm|HOPM]] to block spammers. Eventually, IRCNow plans to use a fork of [[openbsd/acopm|ACOPM]].%0a> %0a> ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a\ No newline at end of file%0a +host:1612974496=198.251.81.119 +author:1612974269=jrmu +diff:1612974269:1612973813:=155,158c155,158%0a%3c !! Chroot%0a%3c %0a%3c We need to set up the [[openbsd/chroot|chroot]] for ngircd. Let's copy the files into the chroot:%0a%3c %0a---%0a> !! Starting ngircd%0a> %0a> To start ngircd:%0a> %0a160,164c160,161%0a%3c $ doas mkdir /var/ngircd/etc/%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a%3c $ doas rm -r /etc/ngircd%0a%3c $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a---%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a167,177d163%0a%3c This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%3c %0a%3c !! Starting ngircd%0a%3c %0a%3c To start ngircd:%0a%3c %0a%3c [@%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a%3c @]%0a%3c %0a196,199c182,185%0a%3c Check /var/log/ngircd.log to see if ngircd is listening on the correct IP addresses and ports. Connect to those ports using your IRC client to verify that the server is working as intended.%0a%3c %0a%3c Remember, if you are connecting using port 6667 without SSL, any eavesdropper can read all your text, including your passwords. Don't send any sensitive information until you have upgraded to [[ngircd/ssl|SSL]].%0a%3c %0a---%0a> Check ''/var/log/messages'' to see if it is also listening on ports ''6697'' and ''9999''. Then connect to those ports via your IRC client to verify that SSL does work as intended.%0a> %0a> Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a> %0a202,203c188,189%0a%3c After you edit /etc/ngircd/ngircd.conf for a running ngircd server, you will need to reload the configuration file:%0a%3c %0a---%0a> To reload the configuration file, you can:%0a> %0a208,209c194,195%0a%3c Alternatively, you can run:%0a%3c %0a---%0a> or:%0a> %0a214,215d199%0a%3c '''Reloading''' a configuration file will '''not''' disconnect any active connections. So, try to reload the configuration where possible.%0a%3c %0a222,224c206,239%0a%3c '''WARNING''': '''Restarting''' the ircd '''will''' disconnect all existing connections. So, try to restart ngircd only when absolutely necessary.%0a%3c %0a%3c '''Warning''': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a---%0a> '''WARNING''': '''Reloading''' a configuration file will '''not''' disconnect any active connections. However, '''restarting''' the ircd '''will''' disconnect all existing connections. So make sure to restart ngircd only when absolutely necessary.%0a> %0a> ''Note'': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a> %0a> MaxNickLength must be the same on all servers on a network. On IRCNow, MaxNickLength = 16.%0a> %0a> In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a> %0a> [@%0a> [Server]%0a> Name = irc.example.ircnow.org%0a> Host = irc.example.ircnow.org%0a> Port = 6667%0a> MyPassword = password12345%0a> PeerPassword = password12345%0a> @]%0a> %0a> Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a> %0a> !! Chroot%0a> %0a> Make sure to [[openbsd/chroot|chroot]] ngircd.%0a> %0a> Once you have finished configuring /etc/ngircd/ngircd.conf, you can copy the files into the chroot:%0a> %0a> [@%0a> $ doas mkdir /var/ngircd/etc/%0a> $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a> $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a> $ doas rm -r /etc/ngircd%0a> $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a> @]%0a> %0a> This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a +host:1612974269=198.251.81.119 +author:1612973813=jrmu +diff:1612973813:1612973386:=240a241,311%0a> !! SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a> %0a> [@%0a> $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a> $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a> @]%0a> %0a> In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a> %0a> [@%0a> # SSL Server Key Certificate%0a> CertFile = /etc/ngircd/example.com.fullchain.pem%0a> ...%0a> # SSL Server Key%0a> KeyFile = /etc/ngircd/example.com.key%0a> ...%0a> # Additional Listen Ports that expect SSL/TLS encrypted connections%0a> Ports = 6697, 9999, 16697%0a> @]%0a> %0a> ''Optional'': If you want to have a DHFile,%0a> %0a> [@%0a> $ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a> $ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a> @]%0a> %0a> Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a> %0a> !! Autostart%0a> %0a> To automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a> %0a> [@%0a> doas touch /usr/local/libexec/project/ngircd.sh%0a> doas chmod +x /usr/local/libexec/project/ngircd.sh%0a> @]%0a> %0a> Inside /usr/local/libexec/project/ngircd.sh:%0a> %0a> [@%0a> #!/bin/sh%0a> %0a> SERVICE_NAME="ngircd"%0a> SERVICE_USER="_ngircd"%0a> SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a> %0a> if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a> then%0a> if [ -f $SERVICE_PID ]; then%0a> rm -f $SERVICE_PID%0a> rcctl -d start $SERVICE_NAME%0a> fi%0a> fi%0a> @]%0a> %0a> Add this as a cronjob:%0a> %0a> [@%0a> $ doas crontab -e%0a> %0a> * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a> @]%0a> %0a> For the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a> [@%0a> PidFile = /var/run/ngircd/ngircd.pid%0a> @]%0a> %0a247c318,389%0a%3c ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a\ No newline at end of file%0a---%0a> ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a> %0a> %0a> %0a> %0a> %0a> === Example ngIRCd server configurations ===%0a> To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a> [@%0a> [Global]%0a> Name = irc.foo.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> @]%0a> %0a> Server "bar" has the following configuration,%0a> [@%0a> [Global]%0a> Name = irc.bar.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a> @]%0a> %0a> [@%0a> [Server]%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a> @]%0a> %0a> Likewise under server "bar",%0a> [@%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a> PeerPassword = Jp5meaikMiRAKsbBy6G6%0a> @]%0a> %0a> Sysadmins should have proper [[openbsd/passwords|password management]].%0a> %0a> Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a> %0a> See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a> %0a> === Summing it up ===%0a> To sum it up in the prior example,%0a> Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a> [@%0a> [Server]%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a> @]%0a> and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a> [@%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a> @]%0a +host:1612973813=198.251.81.119 +author:1612973386=jrmu +diff:1612973386:1612972811:=155,158c155,158%0a%3c !! Starting ngircd%0a%3c %0a%3c To start ngircd:%0a%3c %0a---%0a> !! Debug%0a> %0a> To test your configuration:%0a> %0a160,161c160%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a---%0a> $ doas ngircd -t%0a164,171c163,164%0a%3c [[rcctl/rcctl|rcctl]] controls how system daemons are run.%0a%3c %0a%3c Next, use your IRC client to connect to the server, which may have the hostname user.fruit.ircnow.org. Join a few channels and chat inside.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you run into any errors, you can test to see if your configuration file has errors:%0a%3c %0a---%0a> To run ngircd in debug mode:%0a> %0a173c166%0a%3c $ doas ngircd -t%0a---%0a> $ doas ngircd -n%0a176,177c169,170%0a%3c To run ngircd in debug mode:%0a%3c %0a---%0a> To start ngircd:%0a> %0a179c172,173%0a%3c $ doas ngircd -n%0a---%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a180a175,176%0a> %0a> OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a +host:1612973386=198.251.81.119 +author:1612972811=jrmu +diff:1612972811:1612972391:=149,153d148%0a%3c Please use a [[password/management|long, random string]] for your password.%0a%3c %0a%3c If you uncomment Mask, your hostmask must match the operator hostmask in order for the /OPER command to be accepted. If it differs at all, then your /OPER command will be rejected. If you don't want to check the hostmask, leave Mask commented out.%0a%3c %0a%3c For more security, you can uncomment Mask and have it match your vhost. However, please be aware that this will make it impossible to authenticate if you ever have to connect from a different IP address.%0a +host:1612972811=198.251.81.119 +author:1612972391=jrmu +diff:1612972391:1612972215:=44,45d43%0a%3c !!! Global Block%0a%3c %0a102,103d99%0a%3c !!! Options Block%0a%3c %0a122,123c118,119%0a%3c !!! Configuring syslog%0a%3c %0a---%0a> !! Configuring syslog%0a> %0a140,148d135%0a%3c %0a%3c !!! Operator Block%0a%3c %0a%3c [@%0a%3c [Operator]%0a%3c Name = username%0a%3c Password = password%0a%3c @]%0a%3c %0a +host:1612972391=198.251.81.119 +author:1612972215=jrmu +diff:1612972215:1612971710:=111d110%0a%3c SyslogFacility = daemon%0a116,117c115,116%0a%3c UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]]. We're going to log using syslog (see section below).%0a%3c %0a---%0a> UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]].%0a> %0a120,121c119,120%0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not anywhere else, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a---%0a> You want all the messages from ngircd to go to /var/log/ngircd.log and not /var/log/messages, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a> %0a130c129%0a%3c Next, create the file /var/log/ngircd.log and restart syslogd:%0a---%0a> Next, restart syslogd:%0a +host:1612972215=198.251.81.119 +author:1612971710=jrmu +diff:1612971710:1612971598:=132d131%0a%3c $ doas touch /var/log/ngircd.log%0a +host:1612971710=198.251.81.119 +author:1612971598=jrmu +diff:1612971598:1612949587:=116,133d115%0a%3c %0a%3c !! Configuring syslog%0a%3c %0a%3c You want all the messages from ngircd to go to /var/log/ngircd.log and not /var/log/messages, so we insert these three lines starting at line 3 (at the top) in /etc/syslog.conf:%0a%3c %0a%3c [@%0a%3c !!ngircd%0a%3c *.* /var/log/ngircd.log%0a%3c !*%0a%3c @]%0a%3c %0a%3c This directs all logs from ngircd to go straight to /var/log/ngircd.log and nowhere else.%0a%3c %0a%3c Next, restart syslogd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart syslogd%0a%3c @]%0a +host:1612971598=198.251.81.119 +author:1612949587=jrmu +diff:1612949587:1612947944:= +host:1612949587=198.251.81.119 +author:1612947944=jrmu +diff:1612947944:1612947223:=115c115,117%0a%3c UserMode i keeps the user invisible, and C means that only users that share channels can send a message. Both settings help reduce spam, stalking, and harassment. Receiving a notice before registration can help with debugging with [[openbsd/netcat|netcat]].%0a---%0a> DefaultUserModes%0a> %0a> NoticeBeforeRegistration%0a +host:1612947944=198.251.81.119 +author:1612947223=jrmu +diff:1612947223:1612947072:=16c16%0a%3c Before you begin, please read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a---%0a> Before you begin, read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a +host:1612947223=198.251.81.119 +author:1612947072=jrmu +diff:1612947072:1612946671:=1,15d0%0a%3c (:title Ngircd -- The Next Generation IRCd:)%0a%3c %0a%3c In this guide, we'll setup ngircd, a free, portable, lightweight IRC server.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # The source code runs well on OpenBSD%0a%3c # The server has a very simple, easy-to-understand configuration%0a%3c # Fewer features means the manual pages are short%0a%3c # The server is a clean implementation which was written from scratch%0a%3c # The source code is written in modern, portable C. It will be easy to fork to new features such as:%0a%3c # Customized censorship to block NSFW content%0a%3c # Spam filters%0a%3c # The lead developer po||ux actively hangs out on the IRC server barton.ngircd.de on #ngircd%0a%3c %0a +host:1612947072=198.251.81.119 +author:1612946671=jrmu +diff:1612946671:1612946480:=99,102d98%0a%3c %0a%3c DefaultUserModes%0a%3c %0a%3c NoticeBeforeRegistration%0a +host:1612946671=198.251.81.119 +author:1612946480=jrmu +diff:1612946480:1612946274:=95a96%0a> %0a97,98d97%0a%3c %0a%3c For security reasons, we do not want to allow remote opers. Each team appoints their own opers, so you may not necessarily trust an oper on another server. We want to chroot to /var/ngircd to prevent a security compromise. We will cloak the host using a unique salt; contact another sysadmin for the exact salt.%0a +host:1612946480=198.251.81.119 +author:1612946274=jrmu +diff:1612946274:1612945592:=88,95d87%0a%3c ChrootDir = /var/ngircd%0a%3c CloakHost = %25x%0a%3c CloakHostModeX = jrmu.coconut.ircnow.org%0a%3c CloakHostSalt = abcdefghijklmnopqrstuvwxyz%0a%3c DefaultUserModes = iC%0a%3c NoticeBeforeRegistration = yes%0a%3c OperChanPAutoOp = no %0a%3c RequireAuthPing = yes%0a +host:1612946274=198.251.81.119 +author:1612945592=jrmu +diff:1612945592:1612945145:=80a81%0a> %0a83,89c84%0a%3c The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls. Note that the MaxNickLength must be identical to all servers on the network. On IRCNow, MaxNickLength is 16.%0a%3c %0a%3c [@%0a%3c [Options]%0a%3c AllowRemoteOper = no%0a%3c %0a%3c @]%0a---%0a> The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls.%0a +host:1612945592=198.251.81.119 +author:1612945145=jrmu +diff:1612945145:1612945079:= +host:1612945145=198.251.81.119 +author:1612945079=jrmu +diff:1612945079:1612944533:=78,81d77%0a%3c MaxListSize = 1000%0a%3c PingTimeout = 300%0a%3c PongTimeout = 300%0a%3c %0a +host:1612945079=198.251.81.119 +author:1612944533=jrmu +diff:1612944533:1612944382:=77d76%0a%3c MaxNickLength = 16%0a +host:1612944533=198.251.81.119 +author:1612944382=jrmu +diff:1612944382:1612943875:=74,76c74,75%0a%3c Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a%3c MaxConnectionsIP = 0%0a%3c MaxJoins = 300%0a---%0a> Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a> MaxConnectionsIP = 0%0a +host:1612944382=198.251.81.119 +author:1612943875=jrmu +diff:1612943875:1612942979:=50d49%0a%3c Network = IRCNow%0a53,54c52,53%0a%3c Paste your Message of the Day in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a---%0a> Paste your Message of the Dat in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a> %0a72,78d70%0a%3c %0a%3c [@%0a%3c Ports = 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7000, 16667%0a%3c MaxConnectionsIP = 0%0a%3c @]%0a%3c %0a%3c The above are default plaintext ports we listen on; we provide ports besides the standard 6667 to allow users to evade their network firewalls.%0a +host:1612943875=198.251.81.119 +author:1612942979=jrmu +diff:1612942979:1612942732:=44,70c44,49%0a%3c Uncomment this line and provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid listing IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a%3c %0a%3c '''Note''': if you do not uncomment on this line, you will listen to all IPs by default, which is probably a mistake.%0a%3c %0a%3c [@%0a%3c MotdFile = /etc/ngircd/ngircd.motd%0a%3c @]%0a%3c %0a%3c Paste your Message of the Dat in /etc/ngircd/ngircd.motd. Here's a suggested template:%0a%3c %0a%3c [@%0a%3c IRCNow - The Users' Network%0a%3c %0a%3c IRCNow is the network of the user, by the user, for the user.%0a%3c %0a%3c * No porn / illegal drugs / promotion of violence%0a%3c * No slander / libel / gambling%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * No copyright infrigement%0a%3c %0a%3c You must agree to our terms of service and our privacy policy %0a%3c to use this network:%0a%3c %0a%3c https://wiki.ircnow.org/index.php?n=Terms.Terms%0a%3c %0a%3c Only 5 connections per IP address. If you need help, please speak with staff on #help.%0a%3c @]%0a---%0a> We must provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid using IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a> %0a> !! Debug%0a> %0a> To test your configuration:%0a> %0a +host:1612942979=198.251.81.119 +author:1612942732=jrmu +diff:1612942732:1612942212:=39,44d38%0a%3c %0a%3c [@%0a%3c Listen = 127.0.0.1,192.168.1.1,2001:db8::%0a%3c @]%0a%3c %0a%3c We must provide every single IP address we want ngircd to listen on. This includes localhost (127.0.0.1), and our public IPv4 and IPv6 addresses. If you are hosting a public service and not on training, avoid using IPs that are not DDoS-filtered. IRC servers are heavily DDoSed and using an unfiltered IP will get you nullrouted.%0a +host:1612942732=198.251.81.119 +author:1612942212=jrmu +diff:1612942212:1612941602:=35c35%0a%3c Info = username.fruit.ircnow.org%0a---%0a> Info = Server Info Text%0a +host:1612942212=198.251.81.119 +author:1612941602=jrmu +diff:1612941602:1612941572:=35d34%0a%3c Info = Server Info Text%0a +host:1612941602=198.251.81.119 +author:1612941572=jrmu +diff:1612941572:1612941501:=27,28d26%0a%3c '''Note''': Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line.%0a%3c %0a37a36,37%0a> %0a> **Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line%0a +host:1612941572=198.251.81.119 +author:1612941501=jrmu +diff:1612941501:1612941400:=35c35%0a%3c For Name, use your hostname (like username.fruit.ircnow.org). If you are on a team, use irc.example.com, replacing example.com with your team's custom domain. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a---%0a> For Name, use your hostname (like username.fruit.ircnow.org).. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a +host:1612941501=198.251.81.119 +author:1612941400=jrmu +diff:1612941400:1612941192:=29,32c29,34%0a%3c Name = username.fruit.ircnow.org%0a%3c AdminInfo1 = Fruit Server on IRCNow%0a%3c AdminInfo2 = Planet Earth%0a%3c AdminEMail = admin@username.fruit.ircnow.org%0a---%0a> Name = irc.example.net%0a> # Information about the server and the administrator, used by the%0a> # ADMIN command. Not required by server but by RFC!%0a> ;AdminInfo1 = Description%0a> ;AdminInfo2 = Location%0a> ;AdminEMail = admin@irc.server%0a35c37%0a%3c For Name, use your hostname (like username.fruit.ircnow.org).. For AdminInfo1, provide a description; for AdminInfo2, provide the location.%0a---%0a> For Name, use your hostname (like username.fruit.ircnow.org).%0a +host:1612941400=198.251.81.119 +author:1612941192=jrmu +diff:1612941192:1612940983:=26a27,32%0a> **Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line%0a> %0a> !! Debug%0a> %0a> To test your configuration:%0a> %0a28,34c34%0a%3c [Global]%0a%3c Name = irc.example.net%0a%3c # Information about the server and the administrator, used by the%0a%3c # ADMIN command. Not required by server but by RFC!%0a%3c ;AdminInfo1 = Description%0a%3c ;AdminInfo2 = Location%0a%3c ;AdminEMail = admin@irc.server%0a---%0a> $ doas ngircd -t%0a37,44c37,38%0a%3c For Name, use your hostname (like username.fruit.ircnow.org).%0a%3c %0a%3c **Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line%0a%3c %0a%3c !! Debug%0a%3c %0a%3c To test your configuration:%0a%3c %0a---%0a> To run ngircd in debug mode:%0a> %0a46c40%0a%3c $ doas ngircd -t%0a---%0a> $ doas ngircd -n%0a49,50c43,44%0a%3c To run ngircd in debug mode:%0a%3c %0a---%0a> To start ngircd:%0a> %0a52c46,47%0a%3c $ doas ngircd -n%0a---%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a55,61d49%0a%3c To start ngircd:%0a%3c %0a%3c [@%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a%3c @]%0a%3c %0a204a193,197%0a> %0a> %0a> %0a> ==== MyPassword and PeerPassword dilemma ====%0a> Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a +host:1612941192=198.251.81.119 +author:1612940983=jrmu +diff:1612940983:1612940885:=25c25,27%0a%3c Edit /etc/ngircd/ngircd.conf:%0a---%0a> [@%0a> $ doas vi /etc/ngircd/ngircd.conf%0a> @]%0a +host:1612940983=198.251.81.119 +author:1612940885=jrmu +diff:1612940885:1612940824:= +host:1612940885=198.251.81.119 +author:1612940824=jrmu +diff:1612940824:1609606061:=2a3,4%0a> If you are unfamiliar with [[https://www.openbsd.org/faq/faq15.html|OpenBSD's package system]], please read the FAQ first.%0a> %0a5,6c7,8%0a%3c !!! From packages%0a%3c %0a---%0a> To install from packages:%0a> %0a11a14,15%0a> !! Warnings%0a> %0a14,15c18,19%0a%3c !!! From source%0a%3c %0a---%0a> To build from source:%0a> %0a17,20c21,31%0a%3c $ ftp https://ircnow.org/software/ngircd.tgz%0a%3c $ tar xvzf ngircd.tgz%0a%3c $ cd ngircd-26.1/%0a%3c $ sh build.sh%0a---%0a> $ doas pkg_add ngircd # this will provide files /etc/rc.d/ startup scripts%0a> $ export CFLAGS=-static%0a> $ doas pkg_add libiconv-1.16p0%0a> $ doas pkg_add libident-0.32p1%0a> $ doas pkg_add autoconf-2.69p3%0a> $ doas pkg_add automake-1.11.6p3%0a> $ ./autogen.sh%0a> $ ./configure --enable-ipv6 --with-openssl --with-ident=/usr/local/ --with-iconv=/usr/local/ --with-syslog --sysconfdir=/etc/ngircd/ --mandir=/usr/local/man/%0a> $ export AUTOCONF_VERSION="2.69"%0a> $ make%0a> $ doas make install%0a +host:1612940824=198.251.81.119 +author:1609606061=jrmu +diff:1609606061:1604504975:=29d28%0a%3c $ export AUTOCONF_VERSION="2.69"%0a +host:1609606061=125.231.63.134 +author:1604504975=jrmu +diff:1604504975:1604504607:=154,157c154,159%0a%3c !! Autostart%0a%3c %0a%3c To automatically restart ngIRCd if it was terminated unexpectedly, create a script in /usr/local/libexec/project/ngircd.sh:%0a%3c %0a---%0a> '''Autostart'''%0a> %0a> This solution automatically restarts the service if its work was terminated unexpectedly.%0a> %0a> Create an executable worker script%0a> %0a159,160c161,162%0a%3c doas touch /usr/local/libexec/project/ngircd.sh%0a%3c doas chmod +x /usr/local/libexec/project/ngircd.sh%0a---%0a> doas touch /usr/local/libexec/project/checker_ngircd.sh%0a> doas chmod +x /usr/local/libexec/project/checker_ngircd.sh%0a163,164c165,166%0a%3c Inside /usr/local/libexec/project/ngircd.sh:%0a%3c %0a---%0a> /usr/local/libexec/project/checker_ngircd.sh:%0a> %0a181,182c183%0a%3c Add this as a cronjob:%0a%3c %0a---%0a> Add it to the operating system planner%0a184,185c185%0a%3c $ doas crontab -e%0a%3c %0a---%0a> doas crontab -e%0a189c189%0a%3c For the solution to work, you need to enable the use of pid files in /etc/ngircd/ngircd.conf:%0a---%0a> For the solution to work, you need to enable the use of pid files. Like this:%0a +host:1604504975=38.81.163.7 +author:1604504607=jrmu +diff:1604504607:1604503920:=94,95c94,98%0a%3c In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a%3c %0a---%0a> ==== MyPassword and PeerPassword dilemma ====%0a> Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a> %0a> === Example ngIRCd server configurations ===%0a> To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a96a100,103%0a> [Global]%0a> Name = irc.foo.org%0a> Ports = 6667%0a> ...%0a98,102c105%0a%3c Name = irc.example.ircnow.org%0a%3c Host = irc.example.ircnow.org%0a%3c Port = 6667%0a%3c MyPassword = password12345%0a%3c PeerPassword = password12345%0a---%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a105,112c108%0a%3c Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c Make sure to [[openbsd/chroot|chroot]] ngircd.%0a%3c %0a%3c Once you have finished configuring /etc/ngircd/ngircd.conf, you can copy the files into the chroot:%0a%3c %0a---%0a> Server "bar" has the following configuration,%0a114,118c110,115%0a%3c $ doas mkdir /var/ngircd/etc/%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a%3c $ doas rm -r /etc/ngircd%0a%3c $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a---%0a> [Global]%0a> Name = irc.bar.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a121,126c118%0a%3c This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a%3c %0a%3c !! SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a%3c %0a---%0a> Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a128,129c120,134%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a---%0a> # Define a (case insensitive) list of masks matching nicknames that%0a> # should be treated as IRC services when introduced via this remote%0a> # server, separated by commas (",").%0a> # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a> # (which is the default).%0a> # When you are connecting IRC services which mask as a IRC server%0a> # and which use "virtual users" to communicate with, for example%0a> # "NickServ" and "ChanServ", you should set this parameter to%0a> # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a> ;ServiceMask = *Serv,Global%0a> %0a> [Server]%0a> # More [Server] sections, if you like ...%0a> %0a> [Channel]%0a132,133c137%0a%3c In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a%3c %0a---%0a> See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a135,142c139,144%0a%3c # SSL Server Key Certificate%0a%3c CertFile = /etc/ngircd/example.com.fullchain.pem%0a%3c ...%0a%3c # SSL Server Key%0a%3c KeyFile = /etc/ngircd/example.com.key%0a%3c ...%0a%3c # Additional Listen Ports that expect SSL/TLS encrypted connections%0a%3c Ports = 6697, 9999, 16697%0a---%0a> [Server]%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a145,146c147%0a%3c ''Optional'': If you want to have a DHFile,%0a%3c %0a---%0a> Likewise under server "bar",%0a148,149c149,154%0a%3c $ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a%3c $ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a---%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a> PeerPassword = Jp5meaikMiRAKsbBy6G6%0a152,159c157,165%0a%3c Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a%3c %0a%3c '''Autostart'''%0a%3c %0a%3c This solution automatically restarts the service if its work was terminated unexpectedly.%0a%3c %0a%3c Create an executable worker script%0a%3c %0a---%0a> Sysadmins should have proper [[openbsd/passwords|password management]].%0a> %0a> Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a> %0a> See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a> %0a> === Summing it up ===%0a> To sum it up in the prior example,%0a> Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a161,162c167,172%0a%3c doas touch /usr/local/libexec/project/checker_ngircd.sh%0a%3c doas chmod +x /usr/local/libexec/project/checker_ngircd.sh%0a---%0a> [Server]%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a164,166c174%0a%3c %0a%3c /usr/local/libexec/project/checker_ngircd.sh:%0a%3c %0a---%0a> and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a168,180c176,181%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="ngircd"%0a%3c SERVICE_USER="_ngircd"%0a%3c SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d start $SERVICE_NAME%0a%3c fi%0a%3c fi%0a---%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a183c184,194%0a%3c Add it to the operating system planner%0a---%0a> You replace the contents of,%0a> * ''Name'', ''Host'' and ''Port'', keeping in mind that ''[Server]'' needs to be explicitly implied in the ''/etc/ngircd/ngircd.conf'' or ''ngircd'' will not understand what to do with the following contents.%0a> %0a> The following should be very self explanatory, on the string that is to be replaced,%0a> * ''Password_To_Be_Set_On_IRCBARORG's_PeerPassword'',%0a> * ''Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword'',%0a> * ''Password_To_Be_Set_On_IRCFOOORG's_PeerPassword'', and%0a> * ''Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword''%0a> %0a> In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a> %0a185,186c196,201%0a%3c doas crontab -e%0a%3c * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a---%0a> [Server]%0a> Name = irc.example.ircnow.org%0a> Host = irc.example.ircnow.org%0a> Port = 6667%0a> MyPassword = password12345%0a> PeerPassword = password12345%0a189c204,211%0a%3c For the solution to work, you need to enable the use of pid files. Like this:%0a---%0a> Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a> %0a> !! Chroot%0a> %0a> Make sure to [[openbsd/chroot|chroot]] ngircd.%0a> %0a> Once you have finished configuring /etc/ngircd/ngircd.conf, you can copy the files into the chroot:%0a> %0a191c213,217%0a%3c PidFile = /var/run/ngircd/ngircd.pid%0a---%0a> $ doas mkdir /var/ngircd/etc/%0a> $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a> $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a> $ doas rm -r /etc/ngircd%0a> $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a194,212c220,225%0a%3c Make sure to configure [[openbsd/hopm|hopm]].%0a%3c %0a%3c !! Related Software%0a%3c %0a%3c You will want to install, configure, and run [[openbsd/hopm|HOPM]] to block spammers. Eventually, IRCNow plans to use a fork of [[openbsd/acopm|ACOPM]].%0a%3c %0a%3c ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c ==== MyPassword and PeerPassword dilemma ====%0a%3c Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a%3c %0a%3c === Example ngIRCd server configurations ===%0a%3c To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a---%0a> This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a> %0a> !! SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a> %0a214,219c227,228%0a%3c [Global]%0a%3c Name = irc.foo.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a> $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a222c231,232%0a%3c Server "bar" has the following configuration,%0a---%0a> In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a> %0a224,226c234,235%0a%3c [Global]%0a%3c Name = irc.bar.org%0a%3c Ports = 6667%0a---%0a> # SSL Server Key Certificate%0a> CertFile = /etc/ngircd/example.com.fullchain.pem%0a228,229c237,241%0a%3c [Server]%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> # SSL Server Key%0a> KeyFile = /etc/ngircd/example.com.key%0a> ...%0a> # Additional Listen Ports that expect SSL/TLS encrypted connections%0a> Ports = 6697, 9999, 16697%0a231a244,245%0a> ''Optional'': If you want to have a DHFile,%0a> %0a233,238c247,248%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> $ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a> $ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a241c251,258%0a%3c Likewise under server "bar",%0a---%0a> Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a> %0a> '''Autostart'''%0a> %0a> This solution automatically restarts the service if its work was terminated unexpectedly.%0a> %0a> Create an executable worker script%0a> %0a243,248c260,261%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c PeerPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> doas touch /usr/local/libexec/project/checker_ngircd.sh%0a> doas chmod +x /usr/local/libexec/project/checker_ngircd.sh%0a251,259c264,265%0a%3c Sysadmins should have proper [[openbsd/passwords|password management]].%0a%3c %0a%3c Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%3c %0a%3c See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%3c %0a%3c === Summing it up ===%0a%3c To sum it up in the prior example,%0a%3c Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a---%0a> /usr/local/libexec/project/checker_ngircd.sh:%0a> %0a261,266c267,279%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a---%0a> #!/bin/sh%0a> %0a> SERVICE_NAME="ngircd"%0a> SERVICE_USER="_ngircd"%0a> SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a> %0a> if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a> then%0a> if [ -f $SERVICE_PID ]; then%0a> rm -f $SERVICE_PID%0a> rcctl -d start $SERVICE_NAME%0a> fi%0a> fi%0a268c281,282%0a%3c and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a---%0a> %0a> Add it to the operating system planner%0a270,275c284,285%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a---%0a> doas crontab -e%0a> * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a276a287,299%0a> %0a> For the solution to work, you need to enable the use of pid files. Like this:%0a> [@%0a> PidFile = /var/run/ngircd/ngircd.pid%0a> @]%0a> %0a> Make sure to configure [[openbsd/hopm|hopm]].%0a> %0a> !! Related Software%0a> %0a> You will want to install, configure, and run [[openbsd/hopm|HOPM]] to block spammers. Eventually, IRCNow plans to use a fork of [[openbsd/acopm|ACOPM]].%0a> %0a> ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a\ No newline at end of file%0a +host:1604504607=38.81.163.7 +author:1604503920=jrmu +diff:1604503920:1604503822:=297c297%0a%3c You will want to install, configure, and run [[openbsd/hopm|HOPM]] to block spammers. Eventually, IRCNow plans to use a fork of [[openbsd/acopm|ACOPM]].%0a---%0a> [[https://packages.alphachat.net/projects/ACOPM.git/plain/README.md|AlphaChat Open Proxy Monitor (ACOPM)]] can be configured for ''ngircd''. [[openbsd:irc:acopm|Click here to read more about it]].%0a +host:1604503920=38.81.163.7 +author:1604503822=jrmu +diff:1604503822:1604503580:=64,65d63%0a%3c Check ''/var/log/messages'' to see if it is also listening on ports ''6697'' and ''9999''. Then connect to those ports via your IRC client to verify that SSL does work as intended.%0a%3c %0a160a159,161%0a> %0a> You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a> %0a244,245c245,246%0a%3c ''Optional'': If you want to have a DHFile,%0a%3c %0a---%0a> ''Optional'': If you want have a DHFile,%0a> %0a248c249%0a%3c $ doas chown _ngircd:_ngircd /etc/ngircd/dhparams.pem%0a---%0a> $ doas cp /etc/ngircd/dhparams.pem /var/ngircd/etc/ngircd%0a250,251c251,253%0a%3c %0a%3c Then, uncomment @@DHFile = /etc/ngircd/dhparams.pem@@ in /etc/ngircd/ngircd.conf.%0a---%0a> Then once you have generated that file. Make sure you uncomment it in your ''ngircd.conf''%0a> %0a> Save, and reload/restart your ''ngircd''. Check ''/var/log/messages'' to see if it is also listening on ports ''6697'' and ''9999''. Then connect to those ports via your IRC client to verify that SSL does work as intended.%0a +host:1604503822=38.81.163.7 +author:1604503580=jrmu +diff:1604503580:1604503263:=90c90,99%0a%3c MaxNickLength must be the same on all servers on a network. On IRCNow, MaxNickLength = 16.%0a---%0a> ===== Linking (Peering) =====%0a> ==== MaxNickLength ====%0a> There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a> [@%0a> # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a> # Please note that all servers in an IRC network MUST use the same%0a> # maximum nickname length!%0a> ;MaxNickLength = 9%0a> @]%0a> **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a +host:1604503580=38.81.163.7 +author:1604503263=jrmu +diff:1604503263:1604503059:=41,44c41%0a%3c !! Debug%0a%3c %0a%3c To test your configuration:%0a%3c %0a---%0a> You will then need to create missing directories within your ''ChrootDir''. Assuming you are using the defaults, for which ''ChrootDir'' is ''/var/ngircd'', you will need to create the following base layout,%0a46c43,47%0a%3c $ doas ngircd -t%0a---%0a> /var%0a> /var/ngircd%0a> /var/ngircd/etc%0a> /var/ngircd/etc/ngircd%0a> /var/ngircd/etc/ngircd.conf%0a48,50c49,51%0a%3c %0a%3c To run ngircd in debug mode:%0a%3c %0a---%0a> ''man 7 hier'' to get an understanding of how the filesystem is laid out.%0a> %0a> This means you will need to create parent directories leading up to ''/var/ngircd/etc/ngircd/ngircd.conf'',%0a52c53%0a%3c $ doas ngircd -n%0a---%0a> $ doas mkdir -p /var/ngircd/etc/ngircd%0a55,56c56%0a%3c To start ngircd:%0a%3c %0a---%0a> Copy the ''ngircd.conf'' from ''/etc/ngircd'' into ''/var/ngircd/etc/ngircd'',%0a58,59c58%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a---%0a> $ doas cp /etc/ngircd/ngircd.conf /var/ngircd/etc/ngircd%0a62,69c61%0a%3c OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a%3c %0a%3c Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a%3c %0a%3c !! Reloading and Restarting ngIRCd%0a%3c %0a%3c To reload the configuration file, you can:%0a%3c %0a---%0a> Make sure the path to ''/var/ngircd/etc/ngircd'' has the correct permissions. The following sets permissions as ''drwxrw-rw'', ''man chmod'' if in doubt,%0a71c63%0a%3c $ doas rcctl reload ngircd%0a---%0a> $ find /var/ngircd -type d -exec doas chmod 755 '{}' \;%0a74,75c66,100%0a%3c or:%0a%3c %0a---%0a> Make sure any of the files within ''/var/ngircd'' does not have others/world read/write/execute capability. You currently only have one file within it anyway,%0a> [@%0a> $ find /var/ngircd -type f -exec doas chmod 640 '{}' \;%0a> @]%0a> %0a> You should now be able to execute either ''doas rcctl reload ngircd'' or ''/quote rehash'' from either the console or your IRC client respectively.%0a> %0a> !! Debug%0a> %0a> To test your configuration:%0a> %0a> [@%0a> $ doas ngircd -t%0a> @]%0a> %0a> To run ngircd in debug mode:%0a> %0a> [@%0a> $ doas ngircd -n%0a> @]%0a> %0a> To start ngircd:%0a> %0a> [@%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a> @]%0a> %0a> OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a> %0a> Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a> %0a> !! Reloading and Restarting ngIRCd%0a> %0a> To reload the configuration file, run:%0a +host:1604503263=38.81.163.7 +author:1604503059=jrmu +diff:1604503059:1604502251:=267,268c267,268%0a%3c In /etc/ngircd/ngircd.conf, change the following lines in the [SSL] block:%0a%3c %0a---%0a> ==== Configuration ====%0a> In your ''ngircd.conf'', you will need to have the following,%0a269a270,274%0a> [SSL]%0a> # SSL-related configuration options. Please note that this section%0a> # is only available when ngIRCd is compiled with support for SSL!%0a> # So don't forget to remove the ";" above if this is the case ...%0a> %0a272c277,289%0a%3c ...%0a---%0a> %0a> # Select cipher suites allowed for SSL/TLS connections. This defaults%0a> # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).%0a> # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init'%0a> # (GnuTLS) for details.%0a> # For OpenSSL:%0a> CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3%0a> # For GnuTLS:%0a> ;CipherList = SECURE128:-VERS-SSL3.0%0a> %0a> # Diffie-Hellman parameters%0a> ;DHFile = /etc/ngircd/dhparams.pem%0a> %0a275c292,295%0a%3c ...%0a---%0a> %0a> # password to decrypt SSLKeyFile (OpenSSL only)%0a> ;KeyFilePassword = secret%0a> %0a277c297%0a%3c Ports = 6697, 9999, 16697%0a---%0a> Ports = 6697, 9999%0a280,281c300,302%0a%3c ''Optional'': If you want have a DHFile,%0a%3c %0a---%0a> Notice how I,%0a> * Left the ''CipherList'' under the words ''For GnuTLS'' as-is, without uncommenting it? We're not using GnuTLS as OpenBSD does not include that by default.%0a> * Left ''DHFile'' commented out? This is **unnecessary**, however, if you feel you must have a DHFile set, you can do,%0a +host:1604503059=38.81.163.7 +author:1604502251=jrmu +diff:1604502251:1604502186:= +host:1604502251=38.81.163.7 +author:1604502186=jrmu +diff:1604502186:1604501312:=246,247c246,247%0a%3c Once you have finished configuring /etc/ngircd/ngircd.conf, you can copy the files into the chroot:%0a%3c %0a---%0a> Once you have %0a> %0a249,253c249%0a%3c $ doas mkdir /var/ngircd/etc/%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/etc/%0a%3c $ doas chown -R _ngircd:_ngircd /var/ngircd/%0a%3c $ doas rm -r /etc/ngircd%0a%3c $ doas ln -s /var/ngircd/etc/ngircd /etc/ngircd%0a---%0a> $ doas cp -R /etc/ngircd /var/ngircd/%0a255,256d250%0a%3c %0a%3c This will create a symlink so that only one set of configuration files needs to be maintained inside and outside of the chroot. Otherwise, ngircd will require two sets of configuration files, one inside and the other outside of the chroot.%0a +host:1604502186=38.81.163.7 +author:1604501312=jrmu +diff:1604501312:1604500973:=115a116,119%0a> !! Enable SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a> %0a246,247c250,253%0a%3c Once you have %0a%3c %0a---%0a> ==== Pre-configuration ====%0a> Copy the necessary certificates into both your ''/etc/ngircd'' directory and your chrooted ''ngircd'' directory. Chrooted ''ngircd'' directory by default is ''/var/ngircd'' but can be altered. If you have a custom chroot directory, you will need to copy the certificates there.%0a> %0a> Assuming you got your certificates from Let's Encrypt via following the aforementioned [[https://ircnow.org/kb/doku.php?id=openbsd:acme-client|acme-client]] guide,%0a249c255,256%0a%3c $ doas cp -R /etc/ngircd /var/ngircd/%0a---%0a> $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd%0a> $ doas cp /etc/ssl/private/example.com.key /etc/ngircd%0a252,255c259%0a%3c !! SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a%3c %0a---%0a> The same with your chrooted ''ngircd''. Again assuming defaults,%0a257,258c261,262%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd/%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd/%0a---%0a> $ doas cp /etc/ssl/example.com.fullchain.pem /var/ngircd/etc/ngircd%0a> $ doas cp /etc/ssl/private/example.com.key /var/ngircd/etc/ngircd%0a259a264,265%0a> %0a> Note: if /var/ngircd/etc/ doesn't exist, you can create it.%0a +host:1604501312=38.81.163.7 +author:1604500973=jrmu +diff:1604500973:1604500528:=233,234c233,241%0a%3c In the server block, for Host, it is better to use a [[openbsd/dns|symbolic hostname]] (don't use an IP address).%0a%3c %0a---%0a> ==== Fancy IRC domain names ====%0a> If you or other ''ngircd'' owners chooses to use a domain name that resolves to a different IP, say ''irc.freenode.net'', you **must** set ''Host'' parameter, which points to their actual ''ngircd'''s [[https://en.wikipedia.org/wiki/Fully_qualified_domain_name|Fully Qualified Domain Name (FQDN)]] ''or'' their ''ngircd'''s IP address. I personally **do not** condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name.%0a> %0a> Let's use the prior example with the ''[Server]'' block. This time we assume,%0a> * ''irc.bar.org'' is owned by another operator, and%0a> * the owner of ''irc.bar.org'' wants to use ''irc.freenode.net'',%0a> * the owner has indicated under their ''Name'' key, under ''[Global]'' section is ''irc.freenode.net''%0a> %0a> You **should** try to check if it resolves,%0a236,241c243%0a%3c [Server]%0a%3c Name = irc.example.ircnow.org%0a%3c Host = irc.example.ircnow.org%0a%3c Port = 6667%0a%3c MyPassword = password12345%0a%3c PeerPassword = password12345%0a---%0a> $ host irc.freenode.net%0a244,256c246,275%0a%3c Notice that Host = irc.example.ircnow.org and not an IP address like 1.2.3.4. This makes it less work to configure when the other server changes its IP address.%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c Make sure to [[openbsd/chroot|chroot]] ngircd.%0a%3c %0a%3c ==== Pre-configuration ====%0a%3c Copy the necessary certificates into both your ''/etc/ngircd'' directory and your chrooted ''ngircd'' directory. Chrooted ''ngircd'' directory by default is ''/var/ngircd'' but can be altered. If you have a custom chroot directory, you will need to copy the certificates there.%0a%3c %0a%3c Assuming you got your certificates from Let's Encrypt via following the aforementioned [[https://ircnow.org/kb/doku.php?id=openbsd:acme-client|acme-client]] guide,%0a%3c [@%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd%0a---%0a> Regardless if it resolves or not, you need to confirm whether or not it points to their server's FQDN or their IP address. The owner of ''irc.foo.org'' needs to confirm the FQDN/IP address(es) for the owner of ''irc.freenode.net'' who is formerly the owner of ''irc.bar.org'', by asking the operator to perform the following,%0a> [@%0a> $ ifconfig | grep broadcast%0a> @]%0a> %0a> Note that it is the literal pipe character ''|'' , not the letter ''l'' in between ''ifconfig'' and ''grep''.%0a> %0a> If the IP address(es) irc.bar.org states does not match the output of ''irc.freenode.net'', or say for example ''host irc.freenode.net'' returns not found, you should then, decide to ask for their FQDN or the IP address to connect to. Now, there's two ways to go about on this, in terms of filling in the information. You can either choose to fill in (as owner of ''irc.foo.org''),%0a> %0a> [@%0a> [Server]%0a> Name = irc.freenode.net%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a> @]%0a> %0a> See how ''Host = irc.bar.org'' is specified when the name they provided from within their config mentions ''irc.freenode.net''? This is one way. Assume that they give you the IP address to connect to on their server, and assume that the IP address is ''127.0.0.2'',%0a> %0a> [@%0a> [Server]%0a> Name = irc.freenode.net%0a> Host = 127.0.0.2%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a> @]%0a> %0a> ''Host = 127.0.0.2'' is implied, instead of ''Host = irc.bar.org''. Specifying the IP address in the ''Host'' key is more //ideal// as it does not require ''ngircd'' to query the [[https://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism|Domain Name System (DNS)]] for the IP address of a given FQDN. As an added bonus, connections to the said server via IP address //persists// even when the domain name has expired or changed hands (and therefore resolves to different IP address).%0a +host:1604500973=38.81.163.7 +author:1604500528=jrmu +diff:1604500528:1604500249:=98,101c98,100%0a%3c !! Reloading and Restarting ngIRCd%0a%3c %0a%3c To reload the configuration file, run:%0a%3c %0a---%0a> ===== Linking (Peering) =====%0a> ==== MaxNickLength ====%0a> There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a103c102,105%0a%3c $ doas pkill -HUP ngircd%0a---%0a> # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a> # Please note that all servers in an IRC network MUST use the same%0a> # maximum nickname length!%0a> ;MaxNickLength = 9%0a105,107c107,113%0a%3c %0a%3c To restart the ircd:%0a%3c %0a---%0a> **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a> %0a> ==== MyPassword and PeerPassword dilemma ====%0a> Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a> %0a> === Example ngIRCd server configurations ===%0a> To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a109c115,120%0a%3c $ doas rcctl restart ngircd%0a---%0a> [Global]%0a> Name = irc.foo.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a112,122c123%0a%3c '''WARNING''': '''Reloading''' a configuration file will '''not''' disconnect any active connections. However, '''restarting''' the ircd '''will''' disconnect all existing connections. So make sure to restart ngircd only when absolutely necessary.%0a%3c %0a%3c ''Note'': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a%3c %0a%3c !! Enable SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a%3c %0a%3c ===== Linking (Peering) =====%0a%3c ==== MaxNickLength ====%0a%3c There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a---%0a> Server "bar" has the following configuration,%0a124,127c125,130%0a%3c # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a%3c # Please note that all servers in an IRC network MUST use the same%0a%3c # maximum nickname length!%0a%3c ;MaxNickLength = 9%0a---%0a> [Global]%0a> Name = irc.bar.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a129,135c132,133%0a%3c **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a%3c %0a%3c ==== MyPassword and PeerPassword dilemma ====%0a%3c Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a%3c %0a%3c === Example ngIRCd server configurations ===%0a%3c To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a---%0a> %0a> Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a137,140c135,145%0a%3c [Global]%0a%3c Name = irc.foo.org%0a%3c Ports = 6667%0a%3c ...%0a---%0a> # Define a (case insensitive) list of masks matching nicknames that%0a> # should be treated as IRC services when introduced via this remote%0a> # server, separated by commas (",").%0a> # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a> # (which is the default).%0a> # When you are connecting IRC services which mask as a IRC server%0a> # and which use "virtual users" to communicate with, for example%0a> # "NickServ" and "ChanServ", you should set this parameter to%0a> # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a> ;ServiceMask = *Serv,Global%0a> %0a142c147,149%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> # More [Server] sections, if you like ...%0a> %0a> [Channel]%0a145c152%0a%3c Server "bar" has the following configuration,%0a---%0a> See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a147c154%0a%3c [Global]%0a---%0a> [Server]%0a149,152c156,159%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a155c162%0a%3c Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a---%0a> Likewise under server "bar",%0a157,167d163%0a%3c # Define a (case insensitive) list of masks matching nicknames that%0a%3c # should be treated as IRC services when introduced via this remote%0a%3c # server, separated by commas (",").%0a%3c # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a%3c # (which is the default).%0a%3c # When you are connecting IRC services which mask as a IRC server%0a%3c # and which use "virtual users" to communicate with, for example%0a%3c # "NickServ" and "ChanServ", you should set this parameter to%0a%3c # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a%3c ;ServiceMask = *Serv,Global%0a%3c %0a169,171c165,169%0a%3c # More [Server] sections, if you like ...%0a%3c %0a%3c [Channel]%0a---%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a> PeerPassword = Jp5meaikMiRAKsbBy6G6%0a174c172,185%0a%3c See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a---%0a> === Password considerations ===%0a> %0a> [[openbsd/passwords|Password Management]]%0a> %0a> Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a> %0a> %0a> You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a> %0a> See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a> %0a> === Summing it up ===%0a> To sum it up in the prior example,%0a> Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a180,181c191,192%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a183,184c194%0a%3c %0a%3c Likewise under server "bar",%0a---%0a> and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a190,191c200,201%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c PeerPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a194,223d203%0a%3c Sysadmins should have proper [[openbsd/passwords|password management]].%0a%3c %0a%3c Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%3c %0a%3c %0a%3c You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a%3c %0a%3c See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%3c %0a%3c === Summing it up ===%0a%3c To sum it up in the prior example,%0a%3c Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a%3c [@%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a%3c @]%0a%3c and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a%3c [@%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a%3c @]%0a%3c %0a279a260,279%0a> %0a> To reload the configuration file, run:%0a> %0a> [@%0a> $ doas pkill -HUP ngircd%0a> @]%0a> %0a> To restart the ircd:%0a> %0a> [@%0a> $ doas rcctl restart ngircd%0a> @]%0a> %0a> '''WARNING''': '''Reloading''' a configuration file will '''not''' disconnect any active connections. However, '''restarting''' the ircd '''will''' disconnect all existing connections. So make sure to restart ngircd only when absolutely necessary.%0a> %0a> ''Note'': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a> %0a> !! Enable SSL%0a> %0a> Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a +host:1604500528=38.81.163.7 +author:1604500249=jrmu +diff:1604500249:1604496192:=14,17d13%0a%3c !! Warnings%0a%3c %0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a%3c %0a384,385c380%0a%3c !! Related Software%0a%3c %0a---%0a> ===== ACOPM =====%0a388c383,388%0a%3c ngIRCd can be linked with [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|services]]. The services currently used is anope but IRCNow plans to switch over to [[openbsd/achurch|achurch]].%0a\ No newline at end of file%0a---%0a> ===== IRC services =====%0a> You may wish to refer to [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|this link]] for more information on hints with setting up IRC services for ''ngircd''.%0a> %0a> !! Warnings%0a> %0a> ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a\ No newline at end of file%0a +host:1604500249=38.81.163.7 +author:1604496192=jrmu +diff:1604496192:1604496033:=386,388c386,395%0a%3c !! Warnings%0a%3c %0a%3c ngIRCd v26 provided by OpenBSD 6.8 ports does not have ident support. You must eventually compile from source to get ident support, which is necessary on a production server.%0a\ No newline at end of file%0a---%0a> ===== Caveats =====%0a> ngIRCd v25 provided by OpenBSD 6.6 via ports does not have the following compiled:%0a> * IDENT support,%0a> * PAM support%0a> ngIRCd without these compiled **can not** be enabled in ''/etc/ngircd/ngircd.conf''! %0a> %0a> IDENT support will be covered in [[openbsd:irc:ngircd:adv_topics|advanced topics]].%0a> %0a> ===== See also =====%0a> * [[openbsd:irc:ngircd:adv_topics|Advanced topics on ngIRCd]].%0a\ No newline at end of file%0a +host:1604496192=38.81.163.7 +author:1604496033=jrmu +diff:1604496033:1604495476:=169,171d168%0a%3c %0a%3c [[openbsd/passwords|Password Management]]%0a%3c %0a173a171,191%0a> Considering how the passwords for linking are revealed when linking, you //do not// need to generate by hand a password that is to either be shared amongst your peering server(s), or for every new peer server(s), that you need to arbitrarily give it a different password. According to [[https://www.reddit.com/r/openbsd/comments/a1fyd5/generating_a_pseudorandom_password_from_the/|this link (reddit)]], you can simply make the system generate a pseudo random password, which isn't dictionary based, and can be arbitrarily lengthened (or shortened) to however long you wish,%0a> [@%0a> $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 20 | head -1"%0a> @]%0a> %0a> This will generate a pseudo password of up to 21 characters long, whenever you type the command ''pw'',%0a> [@%0a> $ pw%0a> LwF33FVlnBbHLFlgA6pc%0a> @]%0a> %0a> If you want to lengthen or shorten the length of the password, in the ''fold -w 20'', replace ''20'' with whatever number you wish. Keep in mind that the number you specify, doesn't include the very first character. In other words, specifying ''fold -w 29'' instead of ''fold -w 20'',%0a> [@%0a> $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 29 | head -1"%0a> @]%0a> %0a> This will generate a pseudo password of up to 30 characters long,%0a> [@%0a> $ pw%0a> dtkqvMhZDxBs5OJYewWBlK1Gnqbpa%0a> @]%0a +host:1604496033=38.81.163.7 +author:1604495476=jrmu +diff:1604495476:1604495420:= +host:1604495476=38.81.163.7 +author:1604495420=jrmu +diff:1604495420:1604494868:=4a5%0a> %0a37c38,41%0a%3c You will then need to create missing directories within your ''ChrootDir''. Assuming you are using the defaults, for which ''ChrootDir'' is ''/var/ngircd'', you will need to create the following base layout,%0a---%0a> !! Debug%0a> %0a> To test your configuration:%0a> %0a39,43c43%0a%3c /var%0a%3c /var/ngircd%0a%3c /var/ngircd/etc%0a%3c /var/ngircd/etc/ngircd%0a%3c /var/ngircd/etc/ngircd.conf%0a---%0a> $ doas ngircd -t%0a45,47c45,47%0a%3c ''man 7 hier'' to get an understanding of how the filesystem is laid out.%0a%3c %0a%3c This means you will need to create parent directories leading up to ''/var/ngircd/etc/ngircd/ngircd.conf'',%0a---%0a> %0a> To run ngircd in debug mode:%0a> %0a49c49%0a%3c $ doas mkdir -p /var/ngircd/etc/ngircd%0a---%0a> $ doas ngircd -n%0a52c52,53%0a%3c Copy the ''ngircd.conf'' from ''/etc/ngircd'' into ''/var/ngircd/etc/ngircd'',%0a---%0a> To start ngircd:%0a> %0a54c55,56%0a%3c $ doas cp /etc/ngircd/ngircd.conf /var/ngircd/etc/ngircd%0a---%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a57c59,65%0a%3c Make sure the path to ''/var/ngircd/etc/ngircd'' has the correct permissions. The following sets permissions as ''drwxrw-rw'', ''man chmod'' if in doubt,%0a---%0a> OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a> %0a> Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a> %0a> ===== Linking (Peering) =====%0a> ==== MaxNickLength ====%0a> There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a59c67,70%0a%3c $ find /var/ngircd -type d -exec doas chmod 755 '{}' \;%0a---%0a> # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a> # Please note that all servers in an IRC network MUST use the same%0a> # maximum nickname length!%0a> ;MaxNickLength = 9%0a61,62c72,78%0a%3c %0a%3c Make sure any of the files within ''/var/ngircd'' does not have others/world read/write/execute capability. You currently only have one file within it anyway,%0a---%0a> **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a> %0a> ==== MyPassword and PeerPassword dilemma ====%0a> Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a> %0a> === Example ngIRCd server configurations ===%0a> To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a64c80,85%0a%3c $ find /var/ngircd -type f -exec doas chmod 640 '{}' \;%0a---%0a> [Global]%0a> Name = irc.foo.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a67,72c88%0a%3c You should now be able to execute either ''doas rcctl reload ngircd'' or ''/quote rehash'' from either the console or your IRC client respectively.%0a%3c %0a%3c !! Debug%0a%3c %0a%3c To test your configuration:%0a%3c %0a---%0a> Server "bar" has the following configuration,%0a74c90,95%0a%3c $ doas ngircd -t%0a---%0a> [Global]%0a> Name = irc.bar.org%0a> Ports = 6667%0a> ...%0a> [Server]%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a77,78c98%0a%3c To run ngircd in debug mode:%0a%3c %0a---%0a> Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a80c100,114%0a%3c $ doas ngircd -n%0a---%0a> # Define a (case insensitive) list of masks matching nicknames that%0a> # should be treated as IRC services when introduced via this remote%0a> # server, separated by commas (",").%0a> # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a> # (which is the default).%0a> # When you are connecting IRC services which mask as a IRC server%0a> # and which use "virtual users" to communicate with, for example%0a> # "NickServ" and "ChanServ", you should set this parameter to%0a> # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a> ;ServiceMask = *Serv,Global%0a> %0a> [Server]%0a> # More [Server] sections, if you like ...%0a> %0a> [Channel]%0a83,84c117%0a%3c To start ngircd:%0a%3c %0a---%0a> See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a86,87c119,124%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a---%0a> [Server]%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a90,96c127%0a%3c OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a%3c %0a%3c Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a%3c %0a%3c ===== Linking (Peering) =====%0a%3c ==== MaxNickLength ====%0a%3c There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a---%0a> Likewise under server "bar",%0a98,101c129,134%0a%3c # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a%3c # Please note that all servers in an IRC network MUST use the same%0a%3c # maximum nickname length!%0a%3c ;MaxNickLength = 9%0a---%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a> PeerPassword = Jp5meaikMiRAKsbBy6G6%0a103,109c136,140%0a%3c **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a%3c %0a%3c ==== MyPassword and PeerPassword dilemma ====%0a%3c Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a%3c %0a%3c === Example ngIRCd server configurations ===%0a%3c To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a---%0a> %0a> === Password considerations ===%0a> Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a> %0a> Considering how the passwords for linking are revealed when linking, you //do not// need to generate by hand a password that is to either be shared amongst your peering server(s), or for every new peer server(s), that you need to arbitrarily give it a different password. According to [[https://www.reddit.com/r/openbsd/comments/a1fyd5/generating_a_pseudorandom_password_from_the/|this link (reddit)]], you can simply make the system generate a pseudo random password, which isn't dictionary based, and can be arbitrarily lengthened (or shortened) to however long you wish,%0a111,116c142%0a%3c [Global]%0a%3c Name = irc.foo.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 20 | head -1"%0a119c145%0a%3c Server "bar" has the following configuration,%0a---%0a> This will generate a pseudo password of up to 21 characters long, whenever you type the command ''pw'',%0a121,126c147,148%0a%3c [Global]%0a%3c Name = irc.bar.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> $ pw%0a> LwF33FVlnBbHLFlgA6pc%0a129c151%0a%3c Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a---%0a> If you want to lengthen or shorten the length of the password, in the ''fold -w 20'', replace ''20'' with whatever number you wish. Keep in mind that the number you specify, doesn't include the very first character. In other words, specifying ''fold -w 29'' instead of ''fold -w 20'',%0a131,145c153%0a%3c # Define a (case insensitive) list of masks matching nicknames that%0a%3c # should be treated as IRC services when introduced via this remote%0a%3c # server, separated by commas (",").%0a%3c # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a%3c # (which is the default).%0a%3c # When you are connecting IRC services which mask as a IRC server%0a%3c # and which use "virtual users" to communicate with, for example%0a%3c # "NickServ" and "ChanServ", you should set this parameter to%0a%3c # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a%3c ;ServiceMask = *Serv,Global%0a%3c %0a%3c [Server]%0a%3c # More [Server] sections, if you like ...%0a%3c %0a%3c [Channel]%0a---%0a> $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 29 | head -1"%0a148c156%0a%3c See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a---%0a> This will generate a pseudo password of up to 30 characters long,%0a150,155c158,159%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> $ pw%0a> dtkqvMhZDxBs5OJYewWBlK1Gnqbpa%0a158c162,168%0a%3c Likewise under server "bar",%0a---%0a> You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a> %0a> See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a> %0a> === Summing it up ===%0a> To sum it up in the prior example,%0a> Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a161,162c171,172%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a---%0a> Name = irc.bar.org%0a> Host = irc.bar.org%0a164,165c174,175%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c PeerPassword = Jp5meaikMiRAKsbBy6G6%0a---%0a> MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a167,171c177%0a%3c %0a%3c === Password considerations ===%0a%3c Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%3c %0a%3c Considering how the passwords for linking are revealed when linking, you //do not// need to generate by hand a password that is to either be shared amongst your peering server(s), or for every new peer server(s), that you need to arbitrarily give it a different password. According to [[https://www.reddit.com/r/openbsd/comments/a1fyd5/generating_a_pseudorandom_password_from_the/|this link (reddit)]], you can simply make the system generate a pseudo random password, which isn't dictionary based, and can be arbitrarily lengthened (or shortened) to however long you wish,%0a---%0a> and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a173c179,184%0a%3c $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 20 | head -1"%0a---%0a> [Server]%0a> Name = irc.foo.org%0a> Host = irc.foo.org%0a> Port = 6667%0a> MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a> PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a176c187,204%0a%3c This will generate a pseudo password of up to 21 characters long, whenever you type the command ''pw'',%0a---%0a> You replace the contents of,%0a> * ''Name'', ''Host'' and ''Port'', keeping in mind that ''[Server]'' needs to be explicitly implied in the ''/etc/ngircd/ngircd.conf'' or ''ngircd'' will not understand what to do with the following contents.%0a> %0a> The following should be very self explanatory, on the string that is to be replaced,%0a> * ''Password_To_Be_Set_On_IRCBARORG's_PeerPassword'',%0a> * ''Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword'',%0a> * ''Password_To_Be_Set_On_IRCFOOORG's_PeerPassword'', and%0a> * ''Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword''%0a> %0a> ==== Fancy IRC domain names ====%0a> If you or other ''ngircd'' owners chooses to use a domain name that resolves to a different IP, say ''irc.freenode.net'', you **must** set ''Host'' parameter, which points to their actual ''ngircd'''s [[https://en.wikipedia.org/wiki/Fully_qualified_domain_name|Fully Qualified Domain Name (FQDN)]] ''or'' their ''ngircd'''s IP address. I personally **do not** condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name.%0a> %0a> Let's use the prior example with the ''[Server]'' block. This time we assume,%0a> * ''irc.bar.org'' is owned by another operator, and%0a> * the owner of ''irc.bar.org'' wants to use ''irc.freenode.net'',%0a> * the owner has indicated under their ''Name'' key, under ''[Global]'' section is ''irc.freenode.net''%0a> %0a> You **should** try to check if it resolves,%0a178,179c206%0a%3c $ pw%0a%3c LwF33FVlnBbHLFlgA6pc%0a---%0a> $ host irc.freenode.net%0a182c209%0a%3c If you want to lengthen or shorten the length of the password, in the ''fold -w 20'', replace ''20'' with whatever number you wish. Keep in mind that the number you specify, doesn't include the very first character. In other words, specifying ''fold -w 29'' instead of ''fold -w 20'',%0a---%0a> Regardless if it resolves or not, you need to confirm whether or not it points to their server's FQDN or their IP address. The owner of ''irc.foo.org'' needs to confirm the FQDN/IP address(es) for the owner of ''irc.freenode.net'' who is formerly the owner of ''irc.bar.org'', by asking the operator to perform the following,%0a184c211%0a%3c $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 29 | head -1"%0a---%0a> $ ifconfig | grep broadcast%0a187c214,217%0a%3c This will generate a pseudo password of up to 30 characters long,%0a---%0a> Note that it is the literal pipe character ''|'' , not the letter ''l'' in between ''ifconfig'' and ''grep''.%0a> %0a> If the IP address(es) irc.bar.org states does not match the output of ''irc.freenode.net'', or say for example ''host irc.freenode.net'' returns not found, you should then, decide to ask for their FQDN or the IP address to connect to. Now, there's two ways to go about on this, in terms of filling in the information. You can either choose to fill in (as owner of ''irc.foo.org''),%0a> %0a189,190c219,224%0a%3c $ pw%0a%3c dtkqvMhZDxBs5OJYewWBlK1Gnqbpa%0a---%0a> [Server]%0a> Name = irc.freenode.net%0a> Host = irc.bar.org%0a> Port = 6667%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a193,199c227,228%0a%3c You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a%3c %0a%3c See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%3c %0a%3c === Summing it up ===%0a%3c To sum it up in the prior example,%0a%3c Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a---%0a> See how ''Host = irc.bar.org'' is specified when the name they provided from within their config mentions ''irc.freenode.net''? This is one way. Assume that they give you the IP address to connect to on their server, and assume that the IP address is ''127.0.0.2'',%0a> %0a202,203c231,232%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a---%0a> Name = irc.freenode.net%0a> Host = 127.0.0.2%0a205,206c234,235%0a%3c MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a---%0a> MyPassword = Jp5meaikMiRAKsbBy6G6%0a> PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a208c237,249%0a%3c and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a---%0a> %0a> ''Host = 127.0.0.2'' is implied, instead of ''Host = irc.bar.org''. Specifying the IP address in the ''Host'' key is more //ideal// as it does not require ''ngircd'' to query the [[https://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism|Domain Name System (DNS)]] for the IP address of a given FQDN. As an added bonus, connections to the said server via IP address //persists// even when the domain name has expired or changed hands (and therefore resolves to different IP address).%0a> %0a> ===== Chrooting =====%0a> ==== Why chroot ====%0a> You can simply reload your daemon without needing to restart it.%0a> %0a> Reloading your daemon makes it re-read any of the associated configuration files without restarting. In the case of ''ngircd'' the existing IRC connections/sessions you have active will be kept active.%0a> %0a> Restarting your daemon will also make it re-read any of the associated configuration files. **However**, it will also terminate any of your existing IRC connection/sessions.%0a> %0a> ==== Configuration ====%0a> There are three values that you will need to unset it as a key. These are (in ''ngircd.conf''),%0a210,215c251,273%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a---%0a> [Global]%0a> ...%0a> # Group ID under which the ngIRCd should run; you can use the name%0a> # of the group or the numerical ID. ATTENTION: For this to work the%0a> # server must have been started with root privileges!%0a> ServerGID = _ngircd%0a> %0a> # User ID under which the server should run; you can use the name%0a> # of the user or the numerical ID. ATTENTION: For this to work the%0a> # server must have been started with root privileges! In addition,%0a> # the configuration and MOTD files must be readable by this user,%0a> # otherwise RESTART and REHASH won't work!%0a> ServerUID = _ngircd%0a> ...%0a> [Options]%0a> ...%0a> # A directory to chroot in when everything is initialized. It%0a> # doesn't need to be populated if ngIRCd is compiled as a static%0a> # binary. By default ngIRCd won't use the chroot() feature.%0a> # ATTENTION: For this to work the server must have been started%0a> # with root privileges!%0a> ChrootDir = /var/ngircd%0a> ...%0a218,235c276%0a%3c You replace the contents of,%0a%3c * ''Name'', ''Host'' and ''Port'', keeping in mind that ''[Server]'' needs to be explicitly implied in the ''/etc/ngircd/ngircd.conf'' or ''ngircd'' will not understand what to do with the following contents.%0a%3c %0a%3c The following should be very self explanatory, on the string that is to be replaced,%0a%3c * ''Password_To_Be_Set_On_IRCBARORG's_PeerPassword'',%0a%3c * ''Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword'',%0a%3c * ''Password_To_Be_Set_On_IRCFOOORG's_PeerPassword'', and%0a%3c * ''Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword''%0a%3c %0a%3c ==== Fancy IRC domain names ====%0a%3c If you or other ''ngircd'' owners chooses to use a domain name that resolves to a different IP, say ''irc.freenode.net'', you **must** set ''Host'' parameter, which points to their actual ''ngircd'''s [[https://en.wikipedia.org/wiki/Fully_qualified_domain_name|Fully Qualified Domain Name (FQDN)]] ''or'' their ''ngircd'''s IP address. I personally **do not** condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name.%0a%3c %0a%3c Let's use the prior example with the ''[Server]'' block. This time we assume,%0a%3c * ''irc.bar.org'' is owned by another operator, and%0a%3c * the owner of ''irc.bar.org'' wants to use ''irc.freenode.net'',%0a%3c * the owner has indicated under their ''Name'' key, under ''[Global]'' section is ''irc.freenode.net''%0a%3c %0a%3c You **should** try to check if it resolves,%0a---%0a> You will then need to create missing directories within your ''ChrootDir''. Assuming you are using the defaults, for which ''ChrootDir'' is ''/var/ngircd'', you will need to create the following base layout,%0a237c278,282%0a%3c $ host irc.freenode.net%0a---%0a> /var%0a> /var/ngircd%0a> /var/ngircd/etc%0a> /var/ngircd/etc/ngircd%0a> /var/ngircd/etc/ngircd.conf%0a239,240c284,286%0a%3c %0a%3c Regardless if it resolves or not, you need to confirm whether or not it points to their server's FQDN or their IP address. The owner of ''irc.foo.org'' needs to confirm the FQDN/IP address(es) for the owner of ''irc.freenode.net'' who is formerly the owner of ''irc.bar.org'', by asking the operator to perform the following,%0a---%0a> ''man 7 hier'' to get an understanding of how the filesystem is laid out.%0a> %0a> This means you will need to create parent directories leading up to ''/var/ngircd/etc/ngircd/ngircd.conf'',%0a242c288%0a%3c $ ifconfig | grep broadcast%0a---%0a> $ doas mkdir -p /var/ngircd/etc/ngircd%0a245,248c291%0a%3c Note that it is the literal pipe character ''|'' , not the letter ''l'' in between ''ifconfig'' and ''grep''.%0a%3c %0a%3c If the IP address(es) irc.bar.org states does not match the output of ''irc.freenode.net'', or say for example ''host irc.freenode.net'' returns not found, you should then, decide to ask for their FQDN or the IP address to connect to. Now, there's two ways to go about on this, in terms of filling in the information. You can either choose to fill in (as owner of ''irc.foo.org''),%0a%3c %0a---%0a> Copy the ''ngircd.conf'' from ''/etc/ngircd'' into ''/var/ngircd/etc/ngircd'',%0a250,255c293%0a%3c [Server]%0a%3c Name = irc.freenode.net%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> $ doas cp /etc/ngircd/ngircd.conf /var/ngircd/etc/ngircd%0a258,259c296%0a%3c See how ''Host = irc.bar.org'' is specified when the name they provided from within their config mentions ''irc.freenode.net''? This is one way. Assume that they give you the IP address to connect to on their server, and assume that the IP address is ''127.0.0.2'',%0a%3c %0a---%0a> Make sure the path to ''/var/ngircd/etc/ngircd'' has the correct permissions. The following sets permissions as ''drwxrw-rw'', ''man chmod'' if in doubt,%0a261,266c298%0a%3c [Server]%0a%3c Name = irc.freenode.net%0a%3c Host = 127.0.0.2%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a---%0a> $ find /var/ngircd -type d -exec doas chmod 755 '{}' \;%0a269,276c301%0a%3c ''Host = 127.0.0.2'' is implied, instead of ''Host = irc.bar.org''. Specifying the IP address in the ''Host'' key is more //ideal// as it does not require ''ngircd'' to query the [[https://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism|Domain Name System (DNS)]] for the IP address of a given FQDN. As an added bonus, connections to the said server via IP address //persists// even when the domain name has expired or changed hands (and therefore resolves to different IP address).%0a%3c %0a%3c !! Chroot%0a%3c %0a%3c Make sure to [[openbsd/chroot|chroot]] ngircd.%0a%3c %0a%3c To reload the configuration file, run:%0a%3c %0a---%0a> Make sure any of the files within ''/var/ngircd'' does not have others/world read/write/execute capability. You currently only have one file within it anyway,%0a278c303%0a%3c $ doas pkill -HUP ngircd%0a---%0a> $ find /var/ngircd -type f -exec doas chmod 640 '{}' \;%0a281,289c306%0a%3c To restart the ircd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart ngircd%0a%3c @]%0a%3c %0a%3c '''WARNING''': '''Reloading''' a configuration file will '''not''' disconnect any active connections. However, '''restarting''' the ircd '''will''' disconnect all existing connections. So make sure to restart ngircd only when absolutely necessary.%0a%3c %0a%3c ''Note'': ngircd appears to have a bug where the ircd will crash if you reload the configuration file while a message is being sent. Be careful to avoid reloading configuration files when many users are chatting.%0a---%0a> You should now be able to execute either ''doas rcctl reload ngircd'' or ''/quote rehash'' from either the console or your IRC client respectively.%0a +host:1604495420=38.81.163.7 +author:1604494868=jrmu +diff:1604494868:1604494583:=33c33%0a%3c $ doas vi /etc/ngircd/ngircd.conf%0a---%0a> doas vi /etc/ngircd/ngircd.conf%0a43c43%0a%3c $ doas ngircd -t%0a---%0a> doas ngircd -t%0a46,47c46,47%0a%3c To run ngircd in debug mode:%0a%3c %0a---%0a> To start ngircd:%0a> %0a49c49,50%0a%3c $ doas ngircd -n%0a---%0a> doas rcctl enable ngircd%0a> doas rcctl start ngircd%0a52,58d52%0a%3c To start ngircd:%0a%3c %0a%3c [@%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a%3c @]%0a%3c %0a61,62c55,56%0a%3c Now, connect to ngircd using your IRC client. Use the OPER command to log in as operator.%0a%3c %0a---%0a> Once all that is set, connect to your IRCd via your IRC client. Test to see if you can connect and can login as an IRC Operator.%0a> %0a308,310c302,304%0a%3c !! Enable SSL%0a%3c %0a%3c Use [[openbsd/acme-client|acme-client]] to get an SSL certificate signed by Let's Encrypt.%0a---%0a> ===== SSL via TLS =====%0a> ==== Pre-requisites ====%0a> * You have a certificate that you can use with ''ngircd''. If you do not have one, I **recommend** that you obtain a free certificate from Let's Encrypt, following [[https://ircnow.org/kb/doku.php?id=openbsd:acme-client|this guide]].%0a +host:1604494868=38.81.163.7 +author:1604494583=jrmu +diff:1604494583:1604494496:=407c407,408%0a%3c Make sure to configure [[openbsd/hopm|hopm]].%0a---%0a> ===== HOPM =====%0a> [[https://github.com/ircd-hybrid/hopm/blob/master/README|Hybrid Open Proxy Monitor (HOPM)]] can be configured for ''ngircd''. [[openbsd:irc:hopm|Click here to read more about it]].%0a +host:1604494583=38.81.163.7 +author:1604494496=jrmu +diff:1604494496:1604494333:=36,41c36,39%0a%3c **Lines that begin with # or ; are comments and will be ignored. Remove # or ; to uncomment the line%0a%3c %0a%3c !! Debug%0a%3c %0a%3c To test your configuration:%0a%3c %0a---%0a> ==== Configuration file ====%0a> **Any lines begins with either "#" or ";" in ''ngircd.conf'' are comments. The example configuration file has lots of these lines, make sure you un-comment it where needed**%0a> %0a> **Example**%0a43c41,42%0a%3c doas ngircd -t%0a---%0a> # This is a comment in ngircd.conf. ngircd will ignore this line.%0a> ;This is a also a comment in ngircd.conf. ngircd will ignore this line as well.%0a46,47c45,46%0a%3c To start ngircd:%0a%3c %0a---%0a> Example within ''ngircd.conf'',%0a> %0a49,50c48,57%0a%3c doas rcctl enable ngircd%0a%3c doas rcctl start ngircd%0a---%0a> [Global]%0a> # The [Global] section of this file is used to define the main%0a> # configuration of the server, like the server name and the ports%0a> # on which the server should be listening.%0a> # These settings depend on your personal preferences, so you should%0a> # make sure that they correspond to your installation and setup!%0a> %0a> # Server name in the IRC network, must contain at least one dot%0a> # (".") and be unique in the IRC network. Required!%0a> ;Name = irc.example.com%0a52,59c59,105%0a%3c %0a%3c OpenBSD uses [[https://www.openbsd.org/faq/faq10.html#rc|rcctl]] to control how system daemons are run.%0a%3c %0a%3c Once all that is set, connect to your IRCd via your IRC client. Test to see if you can connect and can login as an IRC Operator.%0a%3c %0a%3c ===== Linking (Peering) =====%0a%3c ==== MaxNickLength ====%0a%3c There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a---%0a> This should really be,%0a> [@%0a> [Global]%0a> # The [Global] section of this file is used to define the main%0a> # configuration of the server, like the server name and the ports%0a> # on which the server should be listening.%0a> # These settings depend on your personal preferences, so you should%0a> # make sure that they correspond to your installation and setup!%0a> %0a> # Server name in the IRC network, must contain at least one dot%0a> # (".") and be unique in the IRC network. Required!%0a> Name = irc.acme.ircnow.org%0a> @]%0a> %0a> Note how:%0a> %0a> [@%0a> ;Name = irc.acme.ircnow.org%0a> @]%0a> %0a> Became:%0a> %0a> [@%0a> Name = irc.acme.ircnow.org%0a> @]%0a> %0a> You have now successfully turned from what was a comment into an actual parameter.%0a> %0a> You will need to uncomment and set any line that begins with semi-colon (;) character at the beginning of the line for any feature that you want. **Without removing that semi-colon that feature is either disabled or the defaults are used!**%0a> %0a> ===== Testing and running =====%0a> To save yourself the hassles of finding out why ''ngircd'' fails to start, it is advised that you make ''ngircd'' test your configuration,%0a> [@%0a> doas ngircd -t%0a> @]%0a> Any errors and such will be shown along with waiting for you to press enter to show the configuration, without the comments. Remember how I emphasised that both "#" and ";" are at the beginning of the line, indicates a comment? those will not be visible by ''ngircd''! instead they are ignored.%0a> %0a> Once you are happy with your configuration and that ''ngircd'' no longer is reporting errors and such, simply,%0a> [@%0a> doas rcctl start ngircd%0a> @]%0a> To start ''ngircd'', if you want to have it started whenever you reboot the machine, replace the words "start" with "enable", e.g.,%0a> [@%0a> doas rcctl enable ngircd%0a> @]%0a> %0a> Read [[https://www.openbsd.org/faq/faq10.html#rc|here]] on how to control system daemons such as using ''rcctl'' command above. %0a +host:1604494496=38.81.163.7 +author:1604494333=jrmu +diff:1604494333:1604494049:=33c33%0a%3c doas vi /etc/ngircd/ngircd.conf%0a---%0a> doas vim /etc/ngircd/ngircd.conf%0a34a35,42%0a> %0a> ''vim'' is not installed by default on OpenBSD! so you will need to install it before you can use it. In the previous example with installing ngircd, you just replace it with ''vim'', e.g.%0a> %0a> [@%0a> doas pkg_add vim%0a> @]%0a> %0a> **If your favourite text editor is not ''vim'', please do not simply just install ''vim''! Instead, replace ''vim'' with whatever text editor you are familiar with. If you are a novice to command line text editors, I suggest you to install/use ''nano'' or ''pico'' instead. Please also do ensure that you read up the relevant text editor documentation of your choice.**%0a +host:1604494333=38.81.163.7 +author:1604494049=jrmu +diff:1604494049:1602321545:=1,9c1,10%0a%3c Before you begin, read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]].%0a%3c %0a%3c If you are unfamiliar with [[https://www.openbsd.org/faq/faq15.html|OpenBSD's package system]], please read the FAQ first.%0a%3c %0a%3c %0a%3c !! Installation%0a%3c %0a%3c To install from packages:%0a%3c %0a---%0a> ===== Pre-requisites ======%0a> It is assumed the following:%0a> * You have already read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]]. This wiki page is **just a supplementary guide**%0a> * You already have configured ''[[openbsd:doas|doas]]''. If you have not configured ''doas'' and are running everything as root (user), you are asking for trouble!%0a> * You already have a text editor you prefer using. If you **do not** have a preference or have no idea about text editors. I personally suggest ''nano''%0a> * This guide will not help you understand how to use ''nano'' or ''vim'' or whatever other editors that you may fancy%0a> * You already know how to install packages on OpenBSD, if not [[https://www.openbsd.org/faq/faq15.html#PkgInstall|read here]].%0a> %0a> ===== Installation =====%0a> %0a15,16c16,17%0a%3c To build from source:%0a%3c %0a---%0a> If you want to build from source: %0a> %0a20,22c21%0a%3c $ doas pkg_add libiconv-1.16p0%0a%3c $ doas pkg_add libident-0.32p1%0a%3c $ doas pkg_add autoconf-2.69p3%0a---%0a> $ doas pkg_add autoconf-2.69p2%0a24c23,24%0a%3c $ ./autogen.sh%0a---%0a> $ doas pkg_add libident%0a> $ doas pkg_add libiconv%0a30c30,32%0a%3c !! Configuration%0a---%0a> ===== Configuration =====%0a> ==== Text editors ====%0a> Edit ''/etc/ngircd/ngircd.conf'' **with your favourite editor**, making sure to prefix doas at the beginning. For example, if your favourite editor is ''vim'', you would do,%0a +host:1604494049=38.81.163.7 +author:1602321545=jrmu +diff:1602321545:1597827205:=10,11c10%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a14,15c13,14%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a18c17%0a%3c [@%0a---%0a> %3ccode>%0a25c24,25%0a%3c $ ./configure --enable-ipv6 --with-openssl --with-ident=/usr/local/ --with-iconv=/usr/local/ --with-syslog --sysconfdir=/etc/ngircd/ --mandir=/usr/local/man/%0a---%0a> $ ./configure --enable-ipv6 --with-openssl --with-ident=/usr/local/ --with-iconv=/usr/loca%0a> l/ --with-syslog --sysconfdir=/etc/ngircd/ --mandir=/usr/local/man/%0a28,29c28,29%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a34c34%0a%3c [@%0a---%0a> %3ccode>%0a36,37c36,37%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a40c40%0a%3c [@%0a---%0a> %3ccode>%0a42,43c42,43%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a50c50%0a%3c [@%0a---%0a> %3ccode>%0a51a52,54%0a> %3c/code>%0a> %0a> %3ccode>%0a53,54c56,57%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a56,57c59%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a68c70%0a%3c @]%0a---%0a> %3c/code>%0a70c72%0a%3c [@%0a---%0a> %3ccode>%0a81,82c83,84%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a85c87%0a%3c [@%0a---%0a> %3ccode>%0a87,88c89,90%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a91c93%0a%3c [@%0a---%0a> %3ccode>%0a93,94c95,96%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a101c103%0a%3c [@%0a---%0a> %3ccode>%0a103c105%0a%3c @]%0a---%0a> %3c/code>%0a107c109%0a%3c [@%0a---%0a> %3ccode>%0a109c111%0a%3c @]%0a---%0a> %3c/code>%0a111c113%0a%3c [@%0a---%0a> %3ccode>%0a113,114c115,116%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a122c124%0a%3c [@%0a---%0a> %3ccode>%0a127c129%0a%3c @]%0a---%0a> %3c/code>%0a135c137%0a%3c [@%0a---%0a> %3ccode>%0a142,143c144,145%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a145c147%0a%3c [@%0a---%0a> %3ccode>%0a152,153c154,155%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a155c157%0a%3c [@%0a---%0a> %3ccode>%0a171,172c173,174%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a174c176%0a%3c [@%0a---%0a> %3ccode>%0a181,182c183,184%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a184c186%0a%3c [@%0a---%0a> %3ccode>%0a191,192c193,194%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a197c199%0a%3c [@%0a---%0a> %3ccode>%0a199,200c201,202%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a202c204%0a%3c [@%0a---%0a> %3ccode>%0a205,206c207,208%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a208c210%0a%3c [@%0a---%0a> %3ccode>%0a210,211c212,213%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a213c215%0a%3c [@%0a---%0a> %3ccode>%0a216,217c218,219%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a225c227%0a%3c [@%0a---%0a> %3ccode>%0a232c234%0a%3c @]%0a---%0a> %3c/code>%0a234c236%0a%3c [@%0a---%0a> %3ccode>%0a241,242c243,244%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a261c263%0a%3c [@%0a---%0a> %3ccode>%0a263,264c265,266%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a266c268%0a%3c [@%0a---%0a> %3ccode>%0a268,269c270,271%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a274c276%0a%3c [@%0a---%0a> %3ccode>%0a281,282c283,284%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a285c287%0a%3c [@%0a---%0a> %3ccode>%0a292,293c294,295%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a306c308%0a%3c [@%0a---%0a> %3ccode>%0a330,331c332,333%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a333c335%0a%3c [@%0a---%0a> %3ccode>%0a339c341%0a%3c @]%0a---%0a> %3c/code>%0a343c345%0a%3c [@%0a---%0a> %3ccode>%0a345,346c347,348%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a348c350%0a%3c [@%0a---%0a> %3ccode>%0a350,351c352,353%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a353c355%0a%3c [@%0a---%0a> %3ccode>%0a355,356c357,358%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a358c360%0a%3c [@%0a---%0a> %3ccode>%0a360,361c362,363%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a372c374%0a%3c [@%0a---%0a> %3ccode>%0a375,376c377,378%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a378c380%0a%3c [@%0a---%0a> %3ccode>%0a381,382c383,384%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a387c389%0a%3c [@%0a---%0a> %3ccode>%0a416,417c418,419%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a421c423%0a%3c [@%0a---%0a> %3ccode>%0a424c426%0a%3c @]%0a---%0a> %3c/code>%0a434,435c436%0a%3c %0a%3c [@%0a---%0a> [=%0a438,439c439,440%0a%3c @]%0a%3c %0a---%0a> =]%0a> %0a441,442c442%0a%3c %0a%3c [@%0a---%0a> [=%0a456,457c456,457%0a%3c @]%0a%3c %0a---%0a> =]%0a> %0a459c459%0a%3c [@%0a---%0a> [=%0a462,463c462,463%0a%3c @]%0a%3c %0a---%0a> =]%0a> %0a465c465%0a%3c [@%0a---%0a> [=%0a467c467%0a%3c @]%0a---%0a> =]%0a +host:1602321545=125.231.67.217 +author:1597827205=baytuch +diff:1597827205:1597288187:=430,467d429%0a%3c %0a%3c '''Autostart'''%0a%3c %0a%3c This solution automatically restarts the service if its work was terminated unexpectedly.%0a%3c %0a%3c Create an executable worker script%0a%3c [=%0a%3c doas touch /usr/local/libexec/project/checker_ngircd.sh%0a%3c doas chmod +x /usr/local/libexec/project/checker_ngircd.sh%0a%3c =]%0a%3c %0a%3c /usr/local/libexec/project/checker_ngircd.sh:%0a%3c [=%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="ngircd"%0a%3c SERVICE_USER="_ngircd"%0a%3c SERVICE_PID="/var/ngircd/var/run/ngircd/ngircd.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d start $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c =]%0a%3c %0a%3c Add it to the operating system planner%0a%3c [=%0a%3c doas crontab -e%0a%3c * * * * * /usr/local/libexec/project/checker_ngircd.sh > /dev/null 2>&1%0a%3c =]%0a%3c %0a%3c For the solution to work, you need to enable the use of pid files. Like this:%0a%3c [=%0a%3c PidFile = /var/run/ngircd/ngircd.pid%0a%3c =]%0a +host:1597827205=91.228.147.58 +author:1597288187=searchsocial +diff:1597288187:1597288187:=1,449d0%0a%3c ===== Pre-requisites ======%0a%3c It is assumed the following:%0a%3c * You have already read the official [[https://ngircd.barton.de/documentation.php.en|ngIRCd documentation]]. This wiki page is **just a supplementary guide**%0a%3c * You already have configured ''[[openbsd:doas|doas]]''. If you have not configured ''doas'' and are running everything as root (user), you are asking for trouble!%0a%3c * You already have a text editor you prefer using. If you **do not** have a preference or have no idea about text editors. I personally suggest ''nano''%0a%3c * This guide will not help you understand how to use ''nano'' or ''vim'' or whatever other editors that you may fancy%0a%3c * You already know how to install packages on OpenBSD, if not [[https://www.openbsd.org/faq/faq15.html#PkgInstall|read here]].%0a%3c %0a%3c ===== Installation =====%0a%3c %3ccode>%0a%3c $ doas pkg_add ngircd%0a%3c $ doas cp /usr/local/share/examples/ngircd/sample-ngircd.conf /etc/ngircd/ngircd.conf%0a%3c %3c/code>%0a%3c %0a%3c If you want to build from source: %0a%3c %0a%3c %3ccode>%0a%3c $ doas pkg_add ngircd # this will provide files /etc/rc.d/ startup scripts%0a%3c $ export CFLAGS=-static%0a%3c $ doas pkg_add autoconf-2.69p2%0a%3c $ doas pkg_add automake-1.11.6p3%0a%3c $ doas pkg_add libident%0a%3c $ doas pkg_add libiconv%0a%3c $ ./configure --enable-ipv6 --with-openssl --with-ident=/usr/local/ --with-iconv=/usr/loca%0a%3c l/ --with-syslog --sysconfdir=/etc/ngircd/ --mandir=/usr/local/man/%0a%3c $ make%0a%3c $ doas make install%0a%3c %3c/code>%0a%3c %0a%3c ===== Configuration =====%0a%3c ==== Text editors ====%0a%3c Edit ''/etc/ngircd/ngircd.conf'' **with your favourite editor**, making sure to prefix doas at the beginning. For example, if your favourite editor is ''vim'', you would do,%0a%3c %0a%3c %3ccode>%0a%3c doas vim /etc/ngircd/ngircd.conf%0a%3c %3c/code>%0a%3c %0a%3c ''vim'' is not installed by default on OpenBSD! so you will need to install it before you can use it. In the previous example with installing ngircd, you just replace it with ''vim'', e.g.%0a%3c %0a%3c %3ccode>%0a%3c doas pkg_add vim%0a%3c %3c/code>%0a%3c %0a%3c **If your favourite text editor is not ''vim'', please do not simply just install ''vim''! Instead, replace ''vim'' with whatever text editor you are familiar with. If you are a novice to command line text editors, I suggest you to install/use ''nano'' or ''pico'' instead. Please also do ensure that you read up the relevant text editor documentation of your choice.**%0a%3c %0a%3c ==== Configuration file ====%0a%3c **Any lines begins with either "#" or ";" in ''ngircd.conf'' are comments. The example configuration file has lots of these lines, make sure you un-comment it where needed**%0a%3c %0a%3c **Example**%0a%3c %3ccode>%0a%3c # This is a comment in ngircd.conf. ngircd will ignore this line.%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c ;This is a also a comment in ngircd.conf. ngircd will ignore this line as well.%0a%3c %3c/code>%0a%3c %0a%3c Example within ''ngircd.conf'',%0a%3c %3ccode>%0a%3c [Global]%0a%3c # The [Global] section of this file is used to define the main%0a%3c # configuration of the server, like the server name and the ports%0a%3c # on which the server should be listening.%0a%3c # These settings depend on your personal preferences, so you should%0a%3c # make sure that they correspond to your installation and setup!%0a%3c %0a%3c # Server name in the IRC network, must contain at least one dot%0a%3c # (".") and be unique in the IRC network. Required!%0a%3c ;Name = irc.example.com%0a%3c %3c/code>%0a%3c This should really be,%0a%3c %3ccode>%0a%3c [Global]%0a%3c # The [Global] section of this file is used to define the main%0a%3c # configuration of the server, like the server name and the ports%0a%3c # on which the server should be listening.%0a%3c # These settings depend on your personal preferences, so you should%0a%3c # make sure that they correspond to your installation and setup!%0a%3c %0a%3c # Server name in the IRC network, must contain at least one dot%0a%3c # (".") and be unique in the IRC network. Required!%0a%3c Name = irc.acme.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c Note how:%0a%3c %0a%3c %3ccode>%0a%3c ;Name = irc.acme.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c Became:%0a%3c %0a%3c %3ccode>%0a%3c Name = irc.acme.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c You have now successfully turned from what was a comment into an actual parameter.%0a%3c %0a%3c You will need to uncomment and set any line that begins with semi-colon (;) character at the beginning of the line for any feature that you want. **Without removing that semi-colon that feature is either disabled or the defaults are used!**%0a%3c %0a%3c ===== Testing and running =====%0a%3c To save yourself the hassles of finding out why ''ngircd'' fails to start, it is advised that you make ''ngircd'' test your configuration,%0a%3c %3ccode>%0a%3c doas ngircd -t%0a%3c %3c/code>%0a%3c Any errors and such will be shown along with waiting for you to press enter to show the configuration, without the comments. Remember how I emphasised that both "#" and ";" are at the beginning of the line, indicates a comment? those will not be visible by ''ngircd''! instead they are ignored.%0a%3c %0a%3c Once you are happy with your configuration and that ''ngircd'' no longer is reporting errors and such, simply,%0a%3c %3ccode>%0a%3c doas rcctl start ngircd%0a%3c %3c/code>%0a%3c To start ''ngircd'', if you want to have it started whenever you reboot the machine, replace the words "start" with "enable", e.g.,%0a%3c %3ccode>%0a%3c doas rcctl enable ngircd%0a%3c %3c/code>%0a%3c %0a%3c Read [[https://www.openbsd.org/faq/faq10.html#rc|here]] on how to control system daemons such as using ''rcctl'' command above. %0a%3c %0a%3c Once all that is set, connect to your IRCd via your IRC client. Test to see if you can connect and can login as an IRC Operator.%0a%3c %0a%3c ===== Linking (Peering) =====%0a%3c ==== MaxNickLength ====%0a%3c There's a few gotchas with linking multiple ''ngircd'' servers. First and foremost, ensure that all your ''ngircd.conf'' has ''MaxNickLength'' set to a specific value.%0a%3c %3ccode>%0a%3c # Maximum length of an user nickname (Default: 9, as in RFC 2812).%0a%3c # Please note that all servers in an IRC network MUST use the same%0a%3c # maximum nickname length!%0a%3c ;MaxNickLength = 9%0a%3c %3c/code>%0a%3c **If one or more servers has a value that isn't 9 and/or that field is commented out, you will not be able to link up with that server.** So please ascertain what value to set **prior** to linking.%0a%3c %0a%3c ==== MyPassword and PeerPassword dilemma ====%0a%3c Another simpler catch involves the MyPassword and PeerPassword keys. Your MyPassword should be the password that you set for other servers/peers to connect to your server. On their (these other server/peer end), should be set as PeerPassword when connecting to you. However, when you are connecting to them you need to know their PeerPassword.%0a%3c %0a%3c === Example ngIRCd server configurations ===%0a%3c To illustrate what I mean is, say for example, you have two ''ngircd'' servers that you want to connect to each other. Let's say that the server "foo" has this configuration,%0a%3c %3ccode>%0a%3c [Global]%0a%3c Name = irc.foo.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c %3c/code>%0a%3c %0a%3c Server "bar" has the following configuration,%0a%3c %3ccode>%0a%3c [Global]%0a%3c Name = irc.bar.org%0a%3c Ports = 6667%0a%3c ...%0a%3c [Server]%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c %3c/code>%0a%3c %0a%3c Under "[Server]" section (**not global section**), it should be added as the following for server "foo". Ideally, I would put it in a separate ''[Server]'' section, which would have the following,%0a%3c %3ccode>%0a%3c # Define a (case insensitive) list of masks matching nicknames that%0a%3c # should be treated as IRC services when introduced via this remote%0a%3c # server, separated by commas (",").%0a%3c # REGULAR SERVERS DON'T NEED this parameter, so leave it empty%0a%3c # (which is the default).%0a%3c # When you are connecting IRC services which mask as a IRC server%0a%3c # and which use "virtual users" to communicate with, for example%0a%3c # "NickServ" and "ChanServ", you should set this parameter to%0a%3c # something like "*Serv" or "NickServ,ChanServ,XyzServ".%0a%3c ;ServiceMask = *Serv,Global%0a%3c %0a%3c [Server]%0a%3c # More [Server] sections, if you like ...%0a%3c %0a%3c [Channel]%0a%3c %3c/code>%0a%3c %0a%3c See ''# More [Server] sections, if you like ...''? I would replace that line with the following below,%0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c %3c/code>%0a%3c %0a%3c Likewise under server "bar",%0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c PeerPassword = Jp5meaikMiRAKsbBy6G6%0a%3c %3c/code>%0a%3c %0a%3c === Password considerations ===%0a%3c Keep in mind that ''MyPassword'' is used for linking with other servers. **It is stored in plaintext and has nothing to do with the server password specified under [Global] section, nor is it related to your [Operator] password!**. When other servers connects to you, they **need** to know **your** ''MyPassword'', in which they will then set it as their ''PeerPassword'' on their end. The same thing likewise when you need to peer with them, you **need** to know their ''MyPassword'' so that you can set it as **your** ''PeerPassword''.%0a%3c %0a%3c Considering how the passwords for linking are revealed when linking, you //do not// need to generate by hand a password that is to either be shared amongst your peering server(s), or for every new peer server(s), that you need to arbitrarily give it a different password. According to [[https://www.reddit.com/r/openbsd/comments/a1fyd5/generating_a_pseudorandom_password_from_the/|this link (reddit)]], you can simply make the system generate a pseudo random password, which isn't dictionary based, and can be arbitrarily lengthened (or shortened) to however long you wish,%0a%3c %3ccode>%0a%3c $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 20 | head -1"%0a%3c %3c/code>%0a%3c %0a%3c This will generate a pseudo password of up to 21 characters long, whenever you type the command ''pw'',%0a%3c %3ccode>%0a%3c $ pw%0a%3c LwF33FVlnBbHLFlgA6pc%0a%3c %3c/code>%0a%3c %0a%3c If you want to lengthen or shorten the length of the password, in the ''fold -w 20'', replace ''20'' with whatever number you wish. Keep in mind that the number you specify, doesn't include the very first character. In other words, specifying ''fold -w 29'' instead of ''fold -w 20'',%0a%3c %3ccode>%0a%3c $ alias pw="%3c/dev/random tr -cd [:alnum:] | fold -w 29 | head -1"%0a%3c %3c/code>%0a%3c %0a%3c This will generate a pseudo password of up to 30 characters long,%0a%3c %3ccode>%0a%3c $ pw%0a%3c dtkqvMhZDxBs5OJYewWBlK1Gnqbpa%0a%3c %3c/code>%0a%3c %0a%3c You can also choose to have this ''pw'' command whenever you login, by putting it inside your ''.%3cshell>rc'', where ''%3cshell>'' implies the shell you are currently using, by default on OpenBSD, it is ''ksh'' and therefore it would be ''.kshrc''.%0a%3c %0a%3c See how in the example above how ''irc.foo.org'' ''MyPassword'' is set as ''Jp5meaikMiRAKsbBy6G6'' but when linking with ''irc.bar.org'', whose ''MyPassword'' is set as ''HpNSbcDbrTVQ3lkkqSfq'', that ''irc.foo.org'' ''PeerPassword'' is therefore ''HpNSbcDbrTVQ3lkkqSfq'' for linking to ''irc.bar.org''? The same logic also applies in reverse for when ''irc.bar.org'' is to link up with ''irc.foo.org''.%0a%3c %0a%3c === Summing it up ===%0a%3c To sum it up in the prior example,%0a%3c Server ''irc.foo.org'' has the following for ''irc.bar.org'',%0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.bar.org%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCBARORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword%0a%3c %3c/code>%0a%3c and the same likewise, for ''irc.bar.org'' when linking to ''irc.foo.org'',%0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.foo.org%0a%3c Host = irc.foo.org%0a%3c Port = 6667%0a%3c MyPassword = Password_To_Be_Set_On_IRCFOOORG's_PeerPassword%0a%3c PeerPassword = Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword%0a%3c %3c/code>%0a%3c %0a%3c You replace the contents of,%0a%3c * ''Name'', ''Host'' and ''Port'', keeping in mind that ''[Server]'' needs to be explicitly implied in the ''/etc/ngircd/ngircd.conf'' or ''ngircd'' will not understand what to do with the following contents.%0a%3c %0a%3c The following should be very self explanatory, on the string that is to be replaced,%0a%3c * ''Password_To_Be_Set_On_IRCBARORG's_PeerPassword'',%0a%3c * ''Password_That_Is_To_Be_received_from_owner_of_IRCBARORG's_MyPassword'',%0a%3c * ''Password_To_Be_Set_On_IRCFOOORG's_PeerPassword'', and%0a%3c * ''Password_That_Is_To_Be_received_from_owner_of_IRCFOOORG's_MyPassword''%0a%3c %0a%3c ==== Fancy IRC domain names ====%0a%3c If you or other ''ngircd'' owners chooses to use a domain name that resolves to a different IP, say ''irc.freenode.net'', you **must** set ''Host'' parameter, which points to their actual ''ngircd'''s [[https://en.wikipedia.org/wiki/Fully_qualified_domain_name|Fully Qualified Domain Name (FQDN)]] ''or'' their ''ngircd'''s IP address. I personally **do not** condone the notion of using FQDN that does not belong to you, as the consequences of going public with the named servers //can// potentially end up in lawsuits, for falsely misrepresenting a domain name.%0a%3c %0a%3c Let's use the prior example with the ''[Server]'' block. This time we assume,%0a%3c * ''irc.bar.org'' is owned by another operator, and%0a%3c * the owner of ''irc.bar.org'' wants to use ''irc.freenode.net'',%0a%3c * the owner has indicated under their ''Name'' key, under ''[Global]'' section is ''irc.freenode.net''%0a%3c %0a%3c You **should** try to check if it resolves,%0a%3c %3ccode>%0a%3c $ host irc.freenode.net%0a%3c %3c/code>%0a%3c %0a%3c Regardless if it resolves or not, you need to confirm whether or not it points to their server's FQDN or their IP address. The owner of ''irc.foo.org'' needs to confirm the FQDN/IP address(es) for the owner of ''irc.freenode.net'' who is formerly the owner of ''irc.bar.org'', by asking the operator to perform the following,%0a%3c %3ccode>%0a%3c $ ifconfig | grep broadcast%0a%3c %3c/code>%0a%3c %0a%3c Note that it is the literal pipe character ''|'' , not the letter ''l'' in between ''ifconfig'' and ''grep''.%0a%3c %0a%3c If the IP address(es) irc.bar.org states does not match the output of ''irc.freenode.net'', or say for example ''host irc.freenode.net'' returns not found, you should then, decide to ask for their FQDN or the IP address to connect to. Now, there's two ways to go about on this, in terms of filling in the information. You can either choose to fill in (as owner of ''irc.foo.org''),%0a%3c %0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.freenode.net%0a%3c Host = irc.bar.org%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c %3c/code>%0a%3c %0a%3c See how ''Host = irc.bar.org'' is specified when the name they provided from within their config mentions ''irc.freenode.net''? This is one way. Assume that they give you the IP address to connect to on their server, and assume that the IP address is ''127.0.0.2'',%0a%3c %0a%3c %3ccode>%0a%3c [Server]%0a%3c Name = irc.freenode.net%0a%3c Host = 127.0.0.2%0a%3c Port = 6667%0a%3c MyPassword = Jp5meaikMiRAKsbBy6G6%0a%3c PeerPassword = HpNSbcDbrTVQ3lkkqSfq%0a%3c %3c/code>%0a%3c %0a%3c ''Host = 127.0.0.2'' is implied, instead of ''Host = irc.bar.org''. Specifying the IP address in the ''Host'' key is more //ideal// as it does not require ''ngircd'' to query the [[https://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism|Domain Name System (DNS)]] for the IP address of a given FQDN. As an added bonus, connections to the said server via IP address //persists// even when the domain name has expired or changed hands (and therefore resolves to different IP address).%0a%3c %0a%3c ===== Chrooting =====%0a%3c ==== Why chroot ====%0a%3c You can simply reload your daemon without needing to restart it.%0a%3c %0a%3c Reloading your daemon makes it re-read any of the associated configuration files without restarting. In the case of ''ngircd'' the existing IRC connections/sessions you have active will be kept active.%0a%3c %0a%3c Restarting your daemon will also make it re-read any of the associated configuration files. **However**, it will also terminate any of your existing IRC connection/sessions.%0a%3c %0a%3c ==== Configuration ====%0a%3c There are three values that you will need to unset it as a key. These are (in ''ngircd.conf''),%0a%3c %3ccode>%0a%3c [Global]%0a%3c ...%0a%3c # Group ID under which the ngIRCd should run; you can use the name%0a%3c # of the group or the numerical ID. ATTENTION: For this to work the%0a%3c # server must have been started with root privileges!%0a%3c ServerGID = _ngircd%0a%3c %0a%3c # User ID under which the server should run; you can use the name%0a%3c # of the user or the numerical ID. ATTENTION: For this to work the%0a%3c # server must have been started with root privileges! In addition,%0a%3c # the configuration and MOTD files must be readable by this user,%0a%3c # otherwise RESTART and REHASH won't work!%0a%3c ServerUID = _ngircd%0a%3c ...%0a%3c [Options]%0a%3c ...%0a%3c # A directory to chroot in when everything is initialized. It%0a%3c # doesn't need to be populated if ngIRCd is compiled as a static%0a%3c # binary. By default ngIRCd won't use the chroot() feature.%0a%3c # ATTENTION: For this to work the server must have been started%0a%3c # with root privileges!%0a%3c ChrootDir = /var/ngircd%0a%3c ...%0a%3c %3c/code>%0a%3c %0a%3c You will then need to create missing directories within your ''ChrootDir''. Assuming you are using the defaults, for which ''ChrootDir'' is ''/var/ngircd'', you will need to create the following base layout,%0a%3c %3ccode>%0a%3c /var%0a%3c /var/ngircd%0a%3c /var/ngircd/etc%0a%3c /var/ngircd/etc/ngircd%0a%3c /var/ngircd/etc/ngircd.conf%0a%3c %3c/code>%0a%3c ''man 7 hier'' to get an understanding of how the filesystem is laid out.%0a%3c %0a%3c This means you will need to create parent directories leading up to ''/var/ngircd/etc/ngircd/ngircd.conf'',%0a%3c %3ccode>%0a%3c $ doas mkdir -p /var/ngircd/etc/ngircd%0a%3c %3c/code>%0a%3c %0a%3c Copy the ''ngircd.conf'' from ''/etc/ngircd'' into ''/var/ngircd/etc/ngircd'',%0a%3c %3ccode>%0a%3c $ doas cp /etc/ngircd/ngircd.conf /var/ngircd/etc/ngircd%0a%3c %3c/code>%0a%3c %0a%3c Make sure the path to ''/var/ngircd/etc/ngircd'' has the correct permissions. The following sets permissions as ''drwxrw-rw'', ''man chmod'' if in doubt,%0a%3c %3ccode>%0a%3c $ find /var/ngircd -type d -exec doas chmod 755 '{}' \;%0a%3c %3c/code>%0a%3c %0a%3c Make sure any of the files within ''/var/ngircd'' does not have others/world read/write/execute capability. You currently only have one file within it anyway,%0a%3c %3ccode>%0a%3c $ find /var/ngircd -type f -exec doas chmod 640 '{}' \;%0a%3c %3c/code>%0a%3c %0a%3c You should now be able to execute either ''doas rcctl reload ngircd'' or ''/quote rehash'' from either the console or your IRC client respectively.%0a%3c %0a%3c ===== SSL via TLS =====%0a%3c ==== Pre-requisites ====%0a%3c * You have a certificate that you can use with ''ngircd''. If you do not have one, I **recommend** that you obtain a free certificate from Let's Encrypt, following [[https://ircnow.org/kb/doku.php?id=openbsd:acme-client|this guide]].%0a%3c %0a%3c ==== Pre-configuration ====%0a%3c Copy the necessary certificates into both your ''/etc/ngircd'' directory and your chrooted ''ngircd'' directory. Chrooted ''ngircd'' directory by default is ''/var/ngircd'' but can be altered. If you have a custom chroot directory, you will need to copy the certificates there.%0a%3c %0a%3c Assuming you got your certificates from Let's Encrypt via following the aforementioned [[https://ircnow.org/kb/doku.php?id=openbsd:acme-client|acme-client]] guide,%0a%3c %3ccode>%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /etc/ngircd%0a%3c $ doas cp /etc/ssl/private/example.com.key /etc/ngircd%0a%3c %3c/code>%0a%3c %0a%3c The same with your chrooted ''ngircd''. Again assuming defaults,%0a%3c %3ccode>%0a%3c $ doas cp /etc/ssl/example.com.fullchain.pem /var/ngircd/etc/ngircd%0a%3c $ doas cp /etc/ssl/private/example.com.key /var/ngircd/etc/ngircd%0a%3c %3c/code>%0a%3c %0a%3c Note: if /var/ngircd/etc/ doesn't exist, you can create it.%0a%3c %0a%3c ==== Configuration ====%0a%3c In your ''ngircd.conf'', you will need to have the following,%0a%3c %3ccode>%0a%3c [SSL]%0a%3c # SSL-related configuration options. Please note that this section%0a%3c # is only available when ngIRCd is compiled with support for SSL!%0a%3c # So don't forget to remove the ";" above if this is the case ...%0a%3c %0a%3c # SSL Server Key Certificate%0a%3c CertFile = /etc/ngircd/example.com.fullchain.pem%0a%3c %0a%3c # Select cipher suites allowed for SSL/TLS connections. This defaults%0a%3c # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).%0a%3c # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init'%0a%3c # (GnuTLS) for details.%0a%3c # For OpenSSL:%0a%3c CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3%0a%3c # For GnuTLS:%0a%3c ;CipherList = SECURE128:-VERS-SSL3.0%0a%3c %0a%3c # Diffie-Hellman parameters%0a%3c ;DHFile = /etc/ngircd/dhparams.pem%0a%3c %0a%3c # SSL Server Key%0a%3c KeyFile = /etc/ngircd/example.com.key%0a%3c %0a%3c # password to decrypt SSLKeyFile (OpenSSL only)%0a%3c ;KeyFilePassword = secret%0a%3c %0a%3c # Additional Listen Ports that expect SSL/TLS encrypted connections%0a%3c Ports = 6697, 9999%0a%3c %3c/code>%0a%3c %0a%3c Notice how I,%0a%3c * Left the ''CipherList'' under the words ''For GnuTLS'' as-is, without uncommenting it? We're not using GnuTLS as OpenBSD does not include that by default.%0a%3c * Left ''DHFile'' commented out? This is **unnecessary**, however, if you feel you must have a DHFile set, you can do,%0a%3c %3ccode>%0a%3c $ doas openssl dhparam -out /etc/ngircd/dhparams.pem 2048%0a%3c $ doas cp /etc/ngircd/dhparams.pem /var/ngircd/etc/ngircd%0a%3c %3c/code>%0a%3c Then once you have generated that file. Make sure you uncomment it in your ''ngircd.conf''%0a%3c %0a%3c Save, and reload/restart your ''ngircd''. Check ''/var/log/messages'' to see if it is also listening on ports ''6697'' and ''9999''. Then connect to those ports via your IRC client to verify that SSL does work as intended.%0a%3c %0a%3c ===== HOPM =====%0a%3c [[https://github.com/ircd-hybrid/hopm/blob/master/README|Hybrid Open Proxy Monitor (HOPM)]] can be configured for ''ngircd''. [[openbsd:irc:hopm|Click here to read more about it]].%0a%3c %0a%3c ===== ACOPM =====%0a%3c [[https://packages.alphachat.net/projects/ACOPM.git/plain/README.md|AlphaChat Open Proxy Monitor (ACOPM)]] can be configured for ''ngircd''. [[openbsd:irc:acopm|Click here to read more about it]].%0a%3c %0a%3c ===== IRC services =====%0a%3c You may wish to refer to [[https://github.com/ngircd/ngircd/blob/master/doc/Services.txt|this link]] for more information on hints with setting up IRC services for ''ngircd''.%0a%3c %0a%3c ===== Caveats =====%0a%3c ngIRCd v25 provided by OpenBSD 6.6 via ports does not have the following compiled:%0a%3c * IDENT support,%0a%3c * PAM support%0a%3c ngIRCd without these compiled **can not** be enabled in ''/etc/ngircd/ngircd.conf''! %0a%3c %0a%3c IDENT support will be covered in [[openbsd:irc:ngircd:adv_topics|advanced topics]].%0a%3c %0a%3c ===== See also =====%0a%3c * [[openbsd:irc:ngircd:adv_topics|Advanced topics on ngIRCd]].%0a\ No newline at end of file%0a +host:1597288187=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + 7593f98c5173c1bcc18d51be7f2d5e149a5fe74c (mode 644) --- /dev/null +++ wiki.d/Openbsd.NgircdLink,del-1624391417 @@ -0,0 +1,59 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=?? +ctime=1610900279 +host=198.251.81.133 +name=Openbsd.NgircdLink +rev=14 +targets= +text= +time=1624391229 +author:1624391229=mkf +csum:1624391229=?? +diff:1624391229:1620715720:=0a1%0a> DELETE%0a\ No newline at end of file%0a +host:1624391229=198.251.81.133 +author:1620715720=miniontoby +csum:1620715720=DELETE +diff:1620715720:1615899629:=1c1,34%0a%3c DELETE%0a\ No newline at end of file%0a---%0a> If you have setup ngircd as an training Sysadmin, you can join the IRCNow Trainees Network.%0a> %0a> To do so, you will need to take some steps your own and some steps by our other users from the network.%0a> %0a> Firstly join the trainee-network channel (#trainee-network) and ping Miniontoby.%0a> %0a> If Miniontoby is online you can do the following, (else you cant link)%0a> %0a> %0a> !! Server block%0a> %0a> add to your ngircd.conf file:%0a> [@%0a> [Server]%0a> Name = miniontoby.coconut.ircnow.org%0a> Host = miniontoby.coconut.ircnow.org%0a> Port = 6667%0a> MyPassword = %3cYOUR CONNECTION PASS, PM it MiniontobyPI>%0a> PeerPassword = %3cPeer Password, MiniontobyPI PM's you it>%0a> SSLConnect = false%0a> @]%0a> for the passwords its like: your MyPassword is the helpers PeerPassword, and the helpers MyPassword is your PeerPassword%0a> %0a> !! Other side%0a> And PM the helper the hostname of your vps. %0a> %0a> !! MaxNickLength%0a> %0a> '''''This is REQUIRED!!!!!!''''' %0a> then you need to go into your ngircd.conf and search for [@MaxNickLength@] and set the value of it to [@31@]%0a> %0a> !! Restart%0a> %0a> Then restart your ngircd and it should work, (check it with [@/links@] in IRC)%0a\ No newline at end of file%0a +host:1620715720=77.168.188.164 +author:1615899629=miniontoby +diff:1615899629:1611073641:=5,9c5,9%0a%3c Firstly join the trainee-network channel (#trainee-network) and ping Miniontoby.%0a%3c %0a%3c If Miniontoby is online you can do the following, (else you cant link)%0a%3c %0a%3c %0a---%0a> Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI.%0a> %0a> If MiniontobyPI is online you can do the following, (else you cant link)%0a> %0a> %0a17c17%0a%3c Port = 6667%0a---%0a> Port = 6697%0a20c20%0a%3c SSLConnect = false%0a---%0a> SSLConnect = true%0a +host:1615899629=145.132.146.30 +author:1611073641=miniontoby +diff:1611073641:1611072102:=7c7%0a%3c If MiniontobyPI is online you can do the following, (else you cant link)%0a---%0a> If MiniontobyPI or Error is online you can do the following, (else you cant link)%0a +host:1611073641=145.132.146.30 +author:1611072102=miniontoby +diff:1611072102:1611072034:=29d28%0a%3c '''''This is REQUIRED!!!!!!''''' %0a +host:1611072102=145.132.146.30 +author:1611072034=miniontoby +csum:1611072034=Better titles +diff:1611072034:1611043610:=9,11d8%0a%3c %0a%3c !! Server block%0a%3c %0a24d20%0a%3c !! Other side%0a27,33c23,25%0a%3c !! MaxNickLength%0a%3c %0a%3c then you need to go into your ngircd.conf and search for [@MaxNickLength@] and set the value of it to [@31@]%0a%3c %0a%3c !! Restart%0a%3c %0a%3c Then restart your ngircd and it should work, (check it with [@/links@] in IRC)%0a\ No newline at end of file%0a---%0a> then you need to go into your ngircd.conf again and search for [@MaxNickLength@] and set the value of it to [@31@]%0a> %0a> Then restart (or better reload) your ngircd and it should work, (check it with [@/links@] in IRC)%0a\ No newline at end of file%0a +host:1611072034=145.132.146.30 +author:1611043610=miniontoby +diff:1611043610:1611043436:=13c13%0a%3c Host = miniontoby.coconut.ircnow.org%0a---%0a> Host = 38.81.163.137%0a +host:1611043610=145.132.146.30 +author:1611043436=miniontoby +diff:1611043436:1611043025:=20a21,24%0a> Then PM the helper the MyPassword that you set, %0a> and the helper will react with his MyPassword, %0a> which you need to set as PeerPassword.%0a> %0a23,25c27,29%0a%3c then you need to go into your ngircd.conf again and search for [@MaxNickLength@] and set the value of it to [@31@]%0a%3c %0a%3c Then restart (or better reload) your ngircd and it should work, (check it with [@/links@] in IRC)%0a\ No newline at end of file%0a---%0a> then you need to go into your ngircd.conf again and search for MaxNickLen and set the value of it to 31%0a> %0a> Then restart (or better reload) your ngircd and it should work, (check it with '/links' in IRC)%0a\ No newline at end of file%0a +host:1611043436=145.132.146.30 +author:1611043025=miniontoby +csum:1611043025=password +diff:1611043025:1610996083:=19c19%0a%3c for the passwords its like: your MyPassword is the helpers PeerPassword, and the helpers MyPassword is your PeerPassword%0a---%0a> hostname not always works at host, so use ip%0a +host:1611043025=145.132.146.30 +author:1610996083=wiz +diff:1610996083:1610994101:=5c5%0a%3c Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI.%0a---%0a> Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI and Error%0a +host:1610996083=77.100.11.104 +author:1610994101=miniontoby +diff:1610994101:1610908061:=13c13%0a%3c Host = 38.81.163.137%0a---%0a> Host = miniontoby.coconut.ircnow.org%0a19d18%0a%3c hostname not always works at host, so use ip%0a +host:1610994101=145.132.146.30 +author:1610908061=miniontoby +diff:1610908061:1610902649:=5,8c5,8%0a%3c Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI and Error%0a%3c %0a%3c If MiniontobyPI or Error is online you can do the following, (else you cant link)%0a%3c %0a---%0a> Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI%0a> %0a> If MiniontobyPI is online you can do the following, (else you cant link)%0a> %0a13c13%0a%3c Host = miniontoby.coconut.ircnow.org%0a---%0a> Host = 38.81.163.137 %0a19,21c19,23%0a%3c %0a%3c Then PM the helper the MyPassword that you set, %0a%3c and the helper will react with his MyPassword, %0a---%0a> p.s. for now use ip, domain name not always works%0a> %0a> %0a> Then PM MiniontobyPI the MyPassword that you set, %0a> and MiniontobyPI will react with his MyPassword, %0a24c26%0a%3c And PM the helper the hostname of your vps. %0a---%0a> And PM MiniontobyPI the hostname of your vps. %0a +host:1610908061=145.132.146.30 +author:1610902649=miniontoby +diff:1610902649:1610900279:=13c13%0a%3c Host = 38.81.163.137 %0a---%0a> Host = miniontoby.coconut.ircnow.org%0a19,20d18%0a%3c p.s. for now use ip, domain name not always works%0a%3c %0a +host:1610902649=145.132.146.30 +author:1610900279=miniontoby +csum:1610900279=created and fully writen +diff:1610900279:1610900279:=1,28d0%0a%3c If you have setup ngircd as an training Sysadmin, you can join the IRCNow Trainees Network.%0a%3c %0a%3c To do so, you will need to take some steps your own and some steps by our other users from the network.%0a%3c %0a%3c Firstly join the trainee-network channel (#trainee-network) and ping MiniontobyPI%0a%3c %0a%3c If MiniontobyPI is online you can do the following, (else you cant link)%0a%3c %0a%3c add to your ngircd.conf file:%0a%3c [@%0a%3c [Server]%0a%3c Name = miniontoby.coconut.ircnow.org%0a%3c Host = miniontoby.coconut.ircnow.org%0a%3c Port = 6697%0a%3c MyPassword = %3cYOUR CONNECTION PASS, PM it MiniontobyPI>%0a%3c PeerPassword = %3cPeer Password, MiniontobyPI PM's you it>%0a%3c SSLConnect = true%0a%3c @]%0a%3c %0a%3c Then PM MiniontobyPI the MyPassword that you set, %0a%3c and MiniontobyPI will react with his MyPassword, %0a%3c which you need to set as PeerPassword.%0a%3c %0a%3c And PM MiniontobyPI the hostname of your vps. %0a%3c %0a%3c then you need to go into your ngircd.conf again and search for MaxNickLen and set the value of it to 31%0a%3c %0a%3c Then restart (or better reload) your ngircd and it should work, (check it with '/links' in IRC)%0a\ No newline at end of file%0a +host:1610900279=145.132.146.30 blob - /dev/null blob + e0375dfe5f6ef0677771ddaf874e898772ae1a1b (mode 644) --- /dev/null +++ wiki.d/Openbsd.Npppd @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597226798 +host=198.251.81.133 +name=Openbsd.Npppd +rev=2 +targets= +text=/etc/npppd/npppd.conf:%0a[@%0a%0a/etc/npppd/npppd.conf %0atunnel PPPOE protocol pppoe {%0a listen on interface cpsw0%0a lcp-keepalive yes%0a lcp-keepalive-interval 60%0a lcp-keepalive-retry-interval 30%0a lcp-keepalive-max-retries 40%0a lcp-timeout 3%0a debug-dump-pktin lcp%0a%0a authentication-method pap%0a}%0aauthentication LOCAL type local {%0a users-file "/etc/npppd/npppd-users"%0a}%0aipcp IPCP {%0a dns-servers 8.8.8.8%0a}%0a%0abind tunnel from PPPOE authenticated by LOCAL to pppx0%0a@]%0a%0a/etc/hostname.cpsw0:%0a[@%0aup%0a@]%0a%0a/etc/sysctl.conf:%0a[@%0anet.pipex.enable=1%0a@]%0a%0a???(idk):%0a[@%0ainet 0.0.0.0 255.255.255.255 NONE \%0a pppoedev cpsw0 authproto pap \%0a authname '12345678@isp.net' authkey 'abcd1234' up%0adest 0.0.0.1%0a#inet6 eui64%0a!/sbin/route add default -ifp pppoe0 0.0.0.1%0a#!/sbin/route add -inet6 default -ifp pppoe0 fe80::%25pppoe0%0a@]%0a%0a???:%0a[@%0a/etc/npppd/npppd.conf:19: interface pppx0 is not found%0a@] +time=1629553422 +author:1629553422=mkf +diff:1629553422:1597226798:=1,3c1,3%0a%3c /etc/npppd/npppd.conf:%0a%3c [@%0a%3c %0a---%0a> %3ccode>%0a> # cat /etc/npppd/npppd.conf%0a> %0a24,27c24,27%0a%3c @]%0a%3c %0a%3c /etc/hostname.cpsw0:%0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a> # cat /etc/hostname.cpsw0%0a29,32c29,32%0a%3c @]%0a%3c %0a%3c /etc/sysctl.conf:%0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a> # cat /etc/sysctl.conf%0a34,37c34,36%0a%3c @]%0a%3c %0a%3c ???(idk):%0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a45,48c44,46%0a%3c @]%0a%3c %0a%3c ???:%0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a50c48%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1629553422=198.251.81.133 +author:1597226798=jrmu +diff:1597226798:1597226798:=1,48d0%0a%3c %3ccode>%0a%3c # cat /etc/npppd/npppd.conf%0a%3c %0a%3c /etc/npppd/npppd.conf %0a%3c tunnel PPPOE protocol pppoe {%0a%3c listen on interface cpsw0%0a%3c lcp-keepalive yes%0a%3c lcp-keepalive-interval 60%0a%3c lcp-keepalive-retry-interval 30%0a%3c lcp-keepalive-max-retries 40%0a%3c lcp-timeout 3%0a%3c debug-dump-pktin lcp%0a%3c %0a%3c authentication-method pap%0a%3c }%0a%3c authentication LOCAL type local {%0a%3c users-file "/etc/npppd/npppd-users"%0a%3c }%0a%3c ipcp IPCP {%0a%3c dns-servers 8.8.8.8%0a%3c }%0a%3c %0a%3c bind tunnel from PPPOE authenticated by LOCAL to pppx0%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # cat /etc/hostname.cpsw0%0a%3c up%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # cat /etc/sysctl.conf%0a%3c net.pipex.enable=1%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c inet 0.0.0.0 255.255.255.255 NONE \%0a%3c pppoedev cpsw0 authproto pap \%0a%3c authname '12345678@isp.net' authkey 'abcd1234' up%0a%3c dest 0.0.0.1%0a%3c #inet6 eui64%0a%3c !/sbin/route add default -ifp pppoe0 0.0.0.1%0a%3c #!/sbin/route add -inet6 default -ifp pppoe0 fe80::%25pppoe0%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c /etc/npppd/npppd.conf:19: interface pppx0 is not found%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597226798=38.81.163.143 blob - /dev/null blob + 89dc2d2bad8c7d59e425b7fd77af32ea5e2abb9c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Nsd @@ -0,0 +1,122 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597224805 +host=198.251.81.119 +name=Openbsd.Nsd +rev=35 +targets=Openbsd.Delphinusdnsd,Openbsd.Tcpip,Openbsd.IPv4,Openbsd.IPv6,Openbsd.Dns,Openbsd.Resourcerecords,Openbsd.Dnszones,Openbsd.Sockets,Openbsd.Ifconfig,Openbsd.Hostnameif0,Openbsd.Buyvm,Openbsd.Vmminstall,Openbsd.Domains,Openbsd.Host,Openbsd.Dig,Openbsd.FQDN +text=(:title Configuring nsd:)%0a%0ansd is an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%0aAdvantages of nsd:%0a%0a# Audited by the OpenBSD team%0a# Simpler than BIND%0a%0aDisadvantages of nsd:%0a%0a# More difficult to fork compared to [[openbsd/delphinusdnsd|delphinusdnsd]]%0a%0a'''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a%0a!! Introduction%0a%0aPlease read through the [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-control|nsd-control]] man pages.%0a%0a!! nsd.conf%0a%0aEdit these sections in /var/nsd/etc/nsd.conf:%0a%0a[@%0aserver:%0a hide-version: yes%0a verbosity: 2%0a database: "" # disable database%0a username: _nsd%0a logfile: "/var/log/nsd.log"%0a@]%0a%0aYou'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/sockets|socket]], and we want to log to /var/log/nsd.log.%0a%0a[@%0a## bind to a specific address/port%0a ip-address: 198.51.100.1%0a# ip-address: 192.0.2.53@5678%0a ip-address: 2001:db8::%0a@]%0a%0aWe bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a%0a'''Note''': If you forget your real public IP addresses, you can check [[openbsd/ifconfig|ifconfig]], your [[openbsd/hostnameif0|hostname.if0]], or check your [[openbsd/buyvm|BuyVM]] or [[openbsd/vmminstall|VMM install]] guides.%0a%0a[@%0aremote-control:%0a control-enable: yes%0a control-interface: /var/run/nsd.sock%0a@]%0a%0aThis will allow using [[https://man.openbsd.org/nsd-control|nsd-control]] to control the server.%0a%0a!! Master-Only Server%0a%0aThe [[openbsd/dns|DNS system]] requires you to specify master and slave servers. Internet standards require every zone to have at least two name servers, so you'll normally need to configure both a master and a slave.%0a%0aTo start off, we'll configure just a master name server. This will let us quickly test to see if our name server is working:%0a%0a[@%0a## master zone example%0azone:%0a name: "example.ircnow.org"%0a zonefile: "master/example.ircnow.org"%0a# notify: 192.0.2.1 NOKEY%0a# provide-xfr: 192.0.2.1 NOKEY%0a@]%0a%0aWe'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered, such as @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a%0a!! Write the Zone File%0a%0aWrite your [[openbsd/dnszones|DNS zone]] into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a%0a[@%0a$ORIGIN example.ircnow.org.%0aexample.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a 2021020301 ; serial YYYYMMDDnn%0a 1800 ; refresh%0a 3600 ; retry%0a 86400 ; expire%0a 3600 ) ; minimum TTL%0a 3600 IN MX 10 mail%0a 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0a 3600 IN NS ns1%0a 3600 IN NS ns2%0ans1 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0ans2 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0awww 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0airc 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0aimap 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0asmtp 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0amail 3600 IN A 198.51.100.1%0a 3600 IN AAAA 2001:db8::%0a@]%0a%0aFor an explanation of how to interpret this zone file, please see the section on [[openbsd/dnszones|DNS zones]].%0a%0a!! Start NSD and Test%0a%0aAt this point, we can start nsd:%0a%0a[@%0a$ doas rcctl enable nsd%0a$ doas rcctl start nsd%0a@]%0a%0aIf all was configured correctly, we should now be able to query our nameserver with [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%0a[@%0a$ host www.example.ircnow.org example.ircnow.org%0aUsing domain server:%0aName: example.ircnow.org%0aAddress: 198.51.100.1#53%0aAliases: %0a%0awww.example.ircnow.org has address 198.51.100.1%0awww.example.ircnow.org has IPv6 address 2001:db8::%0a@]%0a%0aThis will query the name server example.ircnow.org for the resource records in www.example.ircnow.org.%0a%0a!! Delegate Zone%0a%0aOnce you've confirmed nsd works, you want to delegate authority for the zone to your nameserver. If you're using an ircnow.org subdomain, you'll need to ask the sysadmin in charge to finish this step. If you registered a domain elsewhere, make sure that the nameserver for the domain points to your nameserver (@@ns1.example.com@@ and @@ns2.example.com@@) and that the glue records are defined.%0a%0a!! Troubleshooting%0a%0aIf at any step you are not getting proper results, you should first check the conf and zones using these helpful tools:%0a%0a[@%0a$ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a/var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0aread /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a@]%0a%0aThe error is found on line 34 of /var/nsd/etc/nsd.conf:%0a%0a[@%0a#zone:%0a name: "example.ircnow.org"%0a zonefile: "master/example.ircnow.org"%0a@]%0a%0aHere we forgot to uncomment @@zone:@@. Once that is done, try again. If there are no errors, [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]] will not return any output -- no news is good news!%0a%0aYou'll also want to check if the zone is valid:%0a%0a[@%0a$ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a[2021-02-02 03:49:14.921] nsd-checkzone[32265]: error: /var/nsd/zones/master/example.ircnow.org:8: out of zone data: out.of.zone.com. is outside the zone for fqdn example.ircnow.org.%0a@]%0a%0aThe error is on line 8 of /var/nsd/zones/master/example.ircnow.org:%0a%0a[@%0aout.of.zone.example.com. 3600 IN A 10.0.0.1%0a@]%0a%0aHere we specify a [[openbsd/FQDN|FQDN]] out.of.zone.example.com. which is outside of the zone for this file (example.ircnow.org). This is invalid so nsd refuses to look any further and quits. In this case, we need to delete this line (or perhaps move it to the proper zone file). Once that is done, run the test again:%0a%0a[@%0a$ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0azone example.ircnow.org is ok%0a@]%0a%0aYou can also run nsd in the foreground or view the logs:%0a%0a[@%0a$ doas nsd -d -V 3 %0a/var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0aread /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a[2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a@]%0a%0aThis is the same error message as before when we ran nsd-checkconf above.%0a%0aSuppose we had deleted /var/nsd/zones/master/example.ircnow.org. When we check /var/log/nsd.log, we see:%0a%0a[@%0a[2021-02-02 07:31:43.898] nsd[37575]: info: zonefile master/example.ircnow.org does not exist%0a@]%0a%0a'''Tip''': Whenever you encounter an error with nsd, always check /var/log/nsd.log.%0a%0a!! See Also%0a%0a[[https://www.denic.de/en/service/tools/nast/|Nameserver Check]] +time=1612272859 +title=Configuring nsd +author:1612272859=jrmu +diff:1612272859:1612272783:=193,195c193%0a%3c !! See Also%0a%3c %0a%3c [[https://www.denic.de/en/service/tools/nast/|Nameserver Check]]%0a\ No newline at end of file%0a---%0a> https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a +host:1612272859=198.251.81.119 +author:1612272783=jrmu +diff:1612272783:1612272062:=174,175c174,175%0a%3c You can also run nsd in the foreground or view the logs:%0a%3c %0a---%0a> either run nsd in the foreground or view the logs:%0a> %0a183,186c183,190%0a%3c This is the same error message as before when we ran nsd-checkconf above.%0a%3c %0a%3c Suppose we had deleted /var/nsd/zones/master/example.ircnow.org. When we check /var/log/nsd.log, we see:%0a%3c %0a---%0a> Here we forgot to create the zonefile /var/nsd/zones/master/example.ircnow.org.%0a> %0a> Often, hints for debugging can be found in /var/log/nsd.log.%0a> %0a> %0a> %0a> Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a> %0a188c192,193%0a%3c [2021-02-02 07:31:43.898] nsd[37575]: info: zonefile master/example.ircnow.org does not exist%0a---%0a> $ doas rcctl enable nsd%0a> $ doas rcctl start nsd%0a191c196,204%0a%3c '''Tip''': Whenever you encounter an error with nsd, always check /var/log/nsd.log.%0a---%0a> If there are issues you can start nsd in debug mode%0a> %0a> [@%0a> doas nsd -d -V 3%0a> @]%0a> %0a> !! Troubleshooting%0a> %0a> Troubleshooting DNS%0a +host:1612272783=198.251.81.119 +author:1612272062=jrmu +diff:1612272062:1612271169:=129,132d128%0a%3c %0a%3c !! Delegate Zone%0a%3c %0a%3c Once you've confirmed nsd works, you want to delegate authority for the zone to your nameserver. If you're using an ircnow.org subdomain, you'll need to ask the sysadmin in charge to finish this step. If you registered a domain elsewhere, make sure that the nameserver for the domain points to your nameserver (@@ns1.example.com@@ and @@ns2.example.com@@) and that the glue records are defined.%0a +host:1612272062=198.251.81.119 +author:1612271169=jrmu +diff:1612271169:1612270698:=84,85c84,85%0a%3c 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a---%0a> 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a88,101c88,101%0a%3c ns1 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c ns2 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c www 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c irc 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c imap 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c smtp 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a%3c mail 3600 IN A 198.51.100.1%0a%3c 3600 IN AAAA 2001:db8::%0a---%0a> ns1 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> ns2 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> www 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> irc 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> imap 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> smtp 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a> mail 3600 IN A 198.251.80.229%0a> 3600 IN AAAA 2605:6400:20:1290::%0a +host:1612271169=198.251.81.119 +author:1612270698=jrmu +diff:1612270698:1612270533:=69c69%0a%3c We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered, such as @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a---%0a> We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered for like @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a +host:1612270698=198.251.81.119 +author:1612270533=jrmu +diff:1612270533:1612268696:=54c54%0a%3c !! Master-Only Server%0a---%0a> !! Master/Slave Servers%0a +host:1612270533=198.251.81.119 +author:1612268696=jrmu +diff:1612268696:1612267739:=33c33%0a%3c You'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/sockets|socket]], and we want to log to /var/log/nsd.log.%0a---%0a> You'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/tcpip|socket]], and we want to log to /var/log/nsd.log.%0a +host:1612268696=198.251.81.119 +author:1612267739=jrmu +diff:1612267739:1612260084:= +host:1612267739=198.251.81.119 +author:1612260084=jrmu +diff:1612260084:1612258614:=37c37%0a%3c ip-address: 198.51.100.1%0a---%0a> ip-address: 198.51.100.0%0a42,43c42,43%0a%3c We bind to our public IPv4 address 198.51.100.1 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a%3c %0a---%0a> We bind to our public IPv4 address 198.51.100.0 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a> %0a119,125d118%0a%3c Using domain server:%0a%3c Name: example.ircnow.org%0a%3c Address: 198.51.100.1#53%0a%3c Aliases: %0a%3c %0a%3c www.example.ircnow.org has address 198.51.100.1%0a%3c www.example.ircnow.org has IPv6 address 2001:db8::%0a128,129c121,122%0a%3c This will query the name server example.ircnow.org for the resource records in www.example.ircnow.org.%0a%3c %0a---%0a> This will query the name server example.ircnow.org for the records for www.example.ircnow.org.%0a> %0a132,133c125,126%0a%3c If at any step you are not getting proper results, you should first check the conf and zones using these helpful tools:%0a%3c %0a---%0a> If at any step you are not getting proper results, you should either run nsd in the foreground or view the logs:%0a> %0a135c128%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a---%0a> $ doas nsd -d -V 3 %0a137a131%0a> [2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a143c137%0a%3c #zone:%0a---%0a> zone:%0a148,151c142,147%0a%3c Here we forgot to uncomment @@zone:@@. Once that is done, try again. If there are no errors, [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]] will not return any output -- no news is good news!%0a%3c %0a%3c You'll also want to check if the zone is valid:%0a%3c %0a---%0a> Here we forgot to create the zonefile /var/nsd/zones/master/example.ircnow.org.%0a> %0a> Often, hints for debugging can be found in /var/log/nsd.log.%0a> %0a> !! Master/Slave Servers%0a> %0a153,154c149,154%0a%3c $ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a%3c [2021-02-02 03:49:14.921] nsd-checkzone[32265]: error: /var/nsd/zones/master/example.ircnow.org:8: out of zone data: out.of.zone.com. is outside the zone for fqdn example.ircnow.org.%0a---%0a> ## slave zone example%0a> #zone:%0a> # name: "example.net"%0a> # zonefile: "slave/example.net"%0a> # allow-notify: 192.0.2.2 tsig1.example.com.%0a> # request-xfr: 192.0.2.2 tsig1.example.com.%0a157,158d156%0a%3c The error is on line 8 of /var/nsd/zones/master/example.ircnow.org:%0a%3c %0a160c158,162%0a%3c out.of.zone.example.com. 3600 IN A 10.0.0.1%0a---%0a> ## tsig key example%0a> key:%0a> name: "example.ircnow.org"%0a> algorithm: hmac-sha256%0a> secret: "bXBjY3B3alVhaDJrYTBSRENtc01RUmNlYmlj"%0a163,164c165,171%0a%3c Here we specify a [[openbsd/FQDN|FQDN]] out.of.zone.example.com. which is outside of the zone for this file (example.ircnow.org). This is invalid so nsd refuses to look any further and quits. In this case, we need to delete this line (or perhaps move it to the proper zone file). Once that is done, run the test again:%0a%3c %0a---%0a> It's a good idea to name the key after your domain, with a final period at the end to show that it is a [[openbsd/FQDN|fully qualified domain name]]. For the secret, you must put in the [[openbsd/base64|base64 encoding]] of a random string. Make it longer for more security.%0a> %0a> %0a> !! Primary and secondary server%0a> %0a> If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a> %0a166,167c173,177%0a%3c $ doas nsd-checkzone example.ircnow.org /var/nsd/zones/master/example.ircnow.org%0a%3c zone example.ircnow.org is ok%0a---%0a> zone:%0a> name: "example.net"%0a> zonefile: "master/example.net"%0a> notify: 20.20.20.20 NOKEY%0a> provide-xfr: 20.20.20.20 NOKEY%0a170,171c180,181%0a%3c either run nsd in the foreground or view the logs:%0a%3c %0a---%0a> Create a new block in the secondary server config file, as in the example:%0a> %0a173,176c183,187%0a%3c $ doas nsd -d -V 3 %0a%3c /var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0a%3c read /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a%3c [2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a---%0a> zone:%0a> name: "example.net"%0a> zonefile: "slave/example.net"%0a> allow-notify: 10.10.10.10 NOKEY%0a> request-xfr: 10.10.10.10 NOKEY%0a179,189c190,223%0a%3c Here we forgot to create the zonefile /var/nsd/zones/master/example.ircnow.org.%0a%3c %0a%3c Often, hints for debugging can be found in /var/log/nsd.log.%0a%3c %0a%3c %0a%3c %0a%3c Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a---%0a> !! The zone file for NSD%0a> %0a> The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a> %0a> [@%0a> ; Domain file from My project%0a> %0a> example.net. 3600 SOA ns.example.net. admin.example.net. (%0a> 2020070701 ; serial YYYYMMDDnn%0a> 10800 ; refresh%0a> 3600 ; retry%0a> 604800 ; expire%0a> 86400 ) ; minimum TTL%0a> %0a> example.net. NS ns.example.net.%0a> example.net. NS ns.secondary.net.%0a> ns A 10.10.10.10%0a> example.net. A 10.10.10.10%0a> www A 10.10.10.10%0a> irc A 10.10.10.10%0a> imap A 10.10.10.10%0a> smtp A 10.10.10.10%0a> example.net. mx 10 smtp.example.net.%0a> @]%0a> %0a> Save this zone file as /var/nsd/zones/master/example.net%0a> %0a> !! Configuration check and start%0a> %0a> NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a> %0a> [@%0a> $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a> @]%0a +host:1612260084=198.251.81.119 +author:1612258614=jrmu +diff:1612258614:1612258218:=122,144d121%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If at any step you are not getting proper results, you should either run nsd in the foreground or view the logs:%0a%3c %0a%3c [@%0a%3c $ doas nsd -d -V 3 %0a%3c /var/nsd/etc/nsd.conf:34: at 'name:': error: syntax error%0a%3c read /var/nsd/etc/nsd.conf failed: 1 errors in configuration file%0a%3c [2021-02-02 03:33:50.261] nsd[93210]: error: could not read config: /var/nsd/etc/nsd.conf%0a%3c @]%0a%3c %0a%3c The error is found on line 34 of /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.ircnow.org"%0a%3c zonefile: "master/example.ircnow.org"%0a%3c @]%0a%3c %0a%3c Here we forgot to create the zonefile /var/nsd/zones/master/example.ircnow.org.%0a%3c %0a%3c Often, hints for debugging can be found in /var/log/nsd.log.%0a +host:1612258614=198.251.81.119 +author:1612258218=jrmu +diff:1612258218:1612258131:=76,77c76,77%0a%3c $ORIGIN example.ircnow.org.%0a%3c example.ircnow.org. 3600 SOA ns1.example.ircnow.org. admin.example.ircnow.org. (%0a---%0a> $ORIGIN user.fruit.ircnow.org.%0a> user.fruit.ircnow.org. 3600 SOA ns1.user.fruit.ircnow.org. admin.user.fruit.ircnow.org. (%0a118c118%0a%3c $ host www.example.ircnow.org example.ircnow.org%0a---%0a> $ host www.user.fruit.ircnow.org user.fruit.ircnow.org%0a121,125c121,122%0a%3c This will query the name server example.ircnow.org for the records for www.example.ircnow.org.%0a%3c %0a%3c !! Master/Slave Servers%0a%3c %0a%3c [@%0a---%0a> This will query the name server user.fruit.ircnow.org for the records for www.user.fruit.ircnow.org.%0a> %0a +host:1612258218=198.251.81.119 +author:1612258131=jrmu +diff:1612258131:1612257904:=104,105d103%0a%3c For an explanation of how to interpret this zone file, please see the section on [[openbsd/dnszones|DNS zones]].%0a%3c %0a118c116%0a%3c $ host www.user.fruit.ircnow.org user.fruit.ircnow.org%0a---%0a> $ host%0a120,121d117%0a%3c %0a%3c This will query the name server user.fruit.ircnow.org for the records for www.user.fruit.ircnow.org.%0a +host:1612258131=198.251.81.119 +author:1612257904=jrmu +diff:1612257904:1612254521:=73,74c73,74%0a%3c Write your [[openbsd/dnszones|DNS zone]] into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a%3c %0a---%0a> Write your DNS zone into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a> %0a76,79c76,80%0a%3c $ORIGIN user.fruit.ircnow.org.%0a%3c user.fruit.ircnow.org. 3600 SOA ns1.user.fruit.ircnow.org. admin.user.fruit.ircnow.org. (%0a%3c 2021020301 ; serial YYYYMMDDnn%0a%3c 1800 ; refresh%0a---%0a> ; Domain file from My project%0a> %0a> example.net. 3600 SOA ns.example.net. admin.example.net. (%0a> 2020070701 ; serial YYYYMMDDnn%0a> 10800 ; refresh%0a81,101c82,93%0a%3c 86400 ; expire%0a%3c 3600 ) ; minimum TTL%0a%3c 3600 IN MX 10 mail%0a%3c 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c 3600 IN NS ns1%0a%3c 3600 IN NS ns2%0a%3c ns1 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c ns2 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c www 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c irc 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c imap 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c smtp 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a%3c mail 3600 IN A 198.251.80.229%0a%3c 3600 IN AAAA 2605:6400:20:1290::%0a---%0a> 604800 ; expire%0a> 86400 ) ; minimum TTL%0a> %0a> example.net. NS ns.example.net.%0a> example.net. NS ns.secondary.net.%0a> ns A 10.10.10.10%0a> example.net. A 10.10.10.10%0a> www A 10.10.10.10%0a> irc A 10.10.10.10%0a> imap A 10.10.10.10%0a> smtp A 10.10.10.10%0a> example.net. mx 10 smtp.example.net.%0a +host:1612257904=198.251.81.119 +author:1612254521=jrmu +diff:1612254521:1612253975:=72,94d71%0a%3c %0a%3c Write your DNS zone into the zone that you specified above, /var/nsd/zones/master/example.ircnow.org:%0a%3c %0a%3c [@%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c @]%0a +host:1612254521=198.251.81.119 +author:1612253975=jrmu +diff:1612253975:1612253728:=69,86c69,71%0a%3c We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]]. It might look like @@username.fruit.ircnow.org@@ or it could be a domain you registered for like @@example.com@@. The zonefile might look like "master/username.fruit.ircnow.org" or "master/example.com" if you registered your own domain.%0a%3c %0a%3c !! Write the Zone File%0a%3c %0a%3c !! Start NSD and Test%0a%3c %0a%3c At this point, we can start nsd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c @]%0a%3c %0a%3c If all was configured correctly, we should now be able to query our nameserver with [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a%3c [@%0a%3c $ host%0a%3c @]%0a---%0a> We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]].%0a> %0a> %0a +host:1612253975=198.251.81.119 +author:1612253728=jrmu +diff:1612253728:1612248403:=54,59d53%0a%3c !! Master/Slave Servers%0a%3c %0a%3c The [[openbsd/dns|DNS system]] requires you to specify master and slave servers. Internet standards require every zone to have at least two name servers, so you'll normally need to configure both a master and a slave.%0a%3c %0a%3c To start off, we'll configure just a master name server. This will let us quickly test to see if our name server is working:%0a%3c %0a62,64c56,58%0a%3c zone:%0a%3c name: "example.ircnow.org"%0a%3c zonefile: "master/example.ircnow.org"%0a---%0a> #zone:%0a> # name: "example.com"%0a> # zonefile: "master/example.com"%0a67,71d60%0a%3c @]%0a%3c %0a%3c We'll uncomment the zone. The name is the name of our [[openbsd/domains|domain or subdomain]].%0a%3c %0a%3c %0a +host:1612253728=198.251.81.119 +author:1612248403=jrmu +diff:1612248403:1612248323:=54d53%0a%3c [@%0a68c67%0a%3c @]%0a---%0a> %0a +host:1612248403=198.251.81.119 +author:1612248323=jrmu +diff:1612248323:1612247316:=53,78d52%0a%3c %0a%3c ## master zone example%0a%3c #zone:%0a%3c # name: "example.com"%0a%3c # zonefile: "master/example.com"%0a%3c # notify: 192.0.2.1 NOKEY%0a%3c # provide-xfr: 192.0.2.1 NOKEY%0a%3c %0a%3c ## slave zone example%0a%3c #zone:%0a%3c # name: "example.net"%0a%3c # zonefile: "slave/example.net"%0a%3c # allow-notify: 192.0.2.2 tsig1.example.com.%0a%3c # request-xfr: 192.0.2.2 tsig1.example.com.%0a%3c %0a%3c %0a%3c [@%0a%3c ## tsig key example%0a%3c key:%0a%3c name: "example.ircnow.org"%0a%3c algorithm: hmac-sha256%0a%3c secret: "bXBjY3B3alVhaDJrYTBSRENtc01RUmNlYmlj"%0a%3c @]%0a%3c %0a%3c It's a good idea to name the key after your domain, with a final period at the end to show that it is a [[openbsd/FQDN|fully qualified domain name]]. For the secret, you must put in the [[openbsd/base64|base64 encoding]] of a random string. Make it longer for more security.%0a%3c %0a +host:1612248323=198.251.81.119 +author:1612247316=jrmu +diff:1612247316:1612246923:=22,23c22,23%0a%3c Edit these sections in /var/nsd/etc/nsd.conf:%0a%3c %0a---%0a> Edit /var/nsd/etc/nsd.conf:%0a> %0a35d34%0a%3c [@%0a37c36%0a%3c ip-address: 198.51.100.0%0a---%0a> ip-address: 38.81.163.143%0a39c38,49%0a%3c ip-address: 2001:db8::%0a---%0a> ip-address: 2001:550:3402:1:143::%0a> %0a> ## make packets as small as possible, on by default%0a> # minimal-responses: yes%0a> %0a> ## respond with truncation for ANY queries over UDP and allow ANY over TCP,%0a> ## on by default%0a> # refuse-any: yes%0a> %0a> remote-control:%0a> control-enable: yes%0a> control-interface: /var/run/nsd.sock%0a41,52d50%0a%3c %0a%3c We bind to our public IPv4 address 198.51.100.0 and our public IPv6 address 2001:db8:: (substitute these with your real public IP addresses).%0a%3c %0a%3c '''Note''': If you forget your real public IP addresses, you can check [[openbsd/ifconfig|ifconfig]], your [[openbsd/hostnameif0|hostname.if0]], or check your [[openbsd/buyvm|BuyVM]] or [[openbsd/vmminstall|VMM install]] guides.%0a%3c %0a%3c [@%0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/run/nsd.sock%0a%3c @]%0a%3c %0a%3c This will allow using [[https://man.openbsd.org/nsd-control|nsd-control]] to control the server.%0a +host:1612247316=198.251.81.119 +author:1612246923=jrmu +diff:1612246923:1612244582:=26,30c26,43%0a%3c hide-version: yes%0a%3c verbosity: 2%0a%3c database: "" # disable database%0a%3c username: _nsd%0a%3c logfile: "/var/log/nsd.log"%0a---%0a> ip-address: 0.0.0.0%0a> ip4-only: yes%0a> identity: "DNS"%0a> hide-version: yes%0a> verbosity: 1%0a> database: ""%0a> username: _nsd%0a> logfile: "/var/log/nsd.log"%0a> pidfile: "/var/nsd/run/nsd.pid"%0a> %0a> remote-control:%0a> control-enable: yes%0a> control-interface: /var/nsd/run/nsd.sock%0a> %0a> zone:%0a> name: "example.com"%0a> zonefile: "master/example.com"%0a> %0a33,51d45%0a%3c You'll want to hide the version, change verbosity to 2 to get errors and warnings about failed transfers. We don't want a database so we leave it blank, we drop to the user _nsd after binding the [[openbsd/tcpip|socket]], and we want to log to /var/log/nsd.log.%0a%3c %0a%3c ## bind to a specific address/port%0a%3c ip-address: 38.81.163.143%0a%3c # ip-address: 192.0.2.53@5678%0a%3c ip-address: 2001:550:3402:1:143::%0a%3c %0a%3c ## make packets as small as possible, on by default%0a%3c # minimal-responses: yes%0a%3c %0a%3c ## respond with truncation for ANY queries over UDP and allow ANY over TCP,%0a%3c ## on by default%0a%3c # refuse-any: yes%0a%3c %0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/run/nsd.sock%0a%3c @]%0a%3c %0a121,124d114%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Troubleshooting DNS%0a +host:1612246923=198.251.81.119 +author:1612244582=jrmu +diff:1612244582:1612240453:=22c22,24%0a%3c Edit /var/nsd/etc/nsd.conf:%0a---%0a> First up, you'll want to open up /var/nsd/etc/nsd.conf (main configuration file)%0a> %0a> Open up /var/nsd/etc/nsd.conf:%0a +host:1612244582=198.251.81.119 +author:1612240453=jrmu +diff:1612240453:1612240293:=18,22c18%0a%3c Please read through the [[https://man.openbsd.org/nsd|nsd]], [[https://man.openbsd.org/nsd.conf|nsd.conf]], [[https://man.openbsd.org/nsd-checkconf|nsd-checkconf]], and [[https://man.openbsd.org/nsd-control|nsd-control]] man pages.%0a%3c %0a%3c !! nsd.conf%0a%3c %0a%3c First up, you'll want to open up /var/nsd/etc/nsd.conf (main configuration file)%0a---%0a> !! /var/nsd/etc/nsd.conf (main configuration file)%0a +host:1612240453=198.251.81.119 +author:1612240293=jrmu +diff:1612240293:1612231276:=14c14%0a%3c '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TCP/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the [[openbsd/dns|domain name system]], [[openbsd/resourcerecords|resource records]], and [[openbsd/dnszones|zone files]].%0a---%0a> '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TC/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the domain name system, resource records, and zone files.%0a +host:1612240293=198.251.81.119 +author:1612231276=jrmu +diff:1612231276:1612231165:=13,16d12%0a%3c %0a%3c '''NOTICE''': This guide assumes you have a basic understanding of [[openbsd/tcpip|TC/IP networking]], [[openbsd/IPv4|IPv4]] and [[openbsd/IPv6|IPv6]] addressing, the domain name system, resource records, and zone files.%0a%3c %0a%3c !! Introduction%0a +host:1612231276=198.251.81.119 +author:1612231165=jrmu +diff:1612231165:1612230627:=12c12%0a%3c # More difficult to fork compared to [[openbsd/delphinusdnsd|delphinusdnsd]]%0a---%0a> # Not as easy to fork as [[openbsd/delphinusdnsd|delphinusdnsd]]%0a +host:1612231165=198.251.81.119 +author:1612230627=jrmu +diff:1612230627:1609673674:=3,12c3%0a%3c nsd is an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c Advantages of nsd:%0a%3c %0a%3c # Audited by the OpenBSD team%0a%3c # Simpler than BIND%0a%3c %0a%3c Disadvantages of nsd:%0a%3c %0a%3c # Not as easy to fork as [[openbsd/delphinusdnsd|delphinusdnsd]]%0a---%0a> nsd is an authoritative name server. Because nsd comes in OpenBSD base, it is our preferred nameserver.%0a +host:1612230627=198.251.81.119 +author:1609673674=jrmu +diff:1609673674:1609242206:=38c38%0a%3c zonefile: "master/example.net"%0a---%0a> zonefile: "master/example.net.zone"%0a48c48%0a%3c zonefile: "slave/example.net"%0a---%0a> zonefile: "slave/example.net.zone"%0a78c78%0a%3c Save this zone file as /var/nsd/zones/master/example.net%0a---%0a> Save this zone file as /var/nsd/zones/master/example.net.zone%0a +host:1609673674=125.231.63.134 +author:1609242206=jrmu +diff:1609242206:1597966747:=68c68%0a%3c example.net. NS ns.secondary.net.%0a---%0a> example.net. NS ns.secondary.net.ua.%0a +host:1609242206=198.251.81.119 +author:1597966747=gry +csum:1597966747=+ +diff:1597966747:1597800518:=93,98d92%0a%3c @]%0a%3c %0a%3c If there are issues you can start nsd in debug mode%0a%3c %0a%3c [@%0a%3c doas nsd -d -V 3%0a +host:1597966747=203.129.25.247 +author:1597800518=gry +csum:1597800518=clarified +diff:1597800518:1597796218:=5c5%0a%3c !! /var/nsd/etc/nsd.conf (main configuration file)%0a---%0a> !! /var/nsd/etc/nsd.conf%0a +host:1597800518=203.129.25.247 +author:1597796218=gry +csum:1597796218=+ +diff:1597796218:1597796198:=32d31%0a%3c %0a53,54c52%0a%3c !! The zone file for NSD%0a%3c %0a---%0a> ====== The zone file for NSD ======%0a +host:1597796218=203.129.25.247 +author:1597796198=gry +csum:1597796198=fmt +diff:1597796198:1597245206:=34c34%0a%3c [@%0a---%0a> %3ccode>%0a40,41c40,41%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a43,44c43%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a50,51c49,50%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a55c54%0a%3c [@%0a---%0a> %3ccode>%0a74,75c73,74%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a78,79c77%0a%3c !! Configuration check and start%0a%3c %0a---%0a> ====== Configuration check and start ======%0a81,82c79%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a84,85c81,82%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a87,88c84%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a91c87%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597796198=203.129.25.247 +author:1597245206=jrmu +diff:1597245206:1597245000:=1,9c1,7%0a%3c (:title Configuring nsd:)%0a%3c %0a%3c nsd is an authoritative name server. Because nsd comes in OpenBSD base, it is our preferred nameserver.%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf%0a%3c %0a%3c Open up /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a---%0a> NSD is an open-source Domain Name System (DNS) server. It was developed by NLnet Labs of Amsterdam in cooperation with the RIPE NCC, from scratch as an authoritative name server. NSD is a NS that comes as a part of OpenBSD base.%0a> %0a> ====== Configuration of NSD ======%0a> The main configuration file for NSD is a file called nsd.conf located in the /var/nsd/etc/ directory.%0a> Now, open/create the new file in your text editor with root privileges. Here's a sample:%0a> %0a> %3ccode>%0a20c18,21%0a%3c %0a---%0a> difffile: "/var/nsd/db/ixfr.db"%0a> xfrdfile: "/var/nsd/db/xfrd.state"%0a> database: "/var/nsd/db/nsd.db"%0a> %0a26,31c27,33%0a%3c name: "example.com"%0a%3c zonefile: "master/example.com"%0a%3c %0a%3c @]%0a%3c %0a%3c !! Primary and secondary server%0a---%0a> name: "example.net"%0a> zonefile: "master/example.net.zone"%0a> #notify: 193.201.116.2 NOKEY%0a> #provide-xfr: 193.201.116.2 NOKEY%0a> %3c/code>%0a> %0a> ====== Primary and secondary server ======%0a +host:1597245206=38.81.163.143 +author:1597245000=jrmu +diff:1597245000:1597224805:=89,91c89%0a%3c %3c/code>%0a%3c %0a%3c https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1597245000=38.81.163.143 +author:1597224805=jrmu +diff:1597224805:1597224805:=1,89d0%0a%3c NSD is an open-source Domain Name System (DNS) server. It was developed by NLnet Labs of Amsterdam in cooperation with the RIPE NCC, from scratch as an authoritative name server. NSD is a NS that comes as a part of OpenBSD base.%0a%3c %0a%3c ====== Configuration of NSD ======%0a%3c The main configuration file for NSD is a file called nsd.conf located in the /var/nsd/etc/ directory.%0a%3c Now, open/create the new file in your text editor with root privileges. Here's a sample:%0a%3c %0a%3c %3ccode>%0a%3c server:%0a%3c ip-address: 0.0.0.0%0a%3c ip4-only: yes%0a%3c identity: "DNS"%0a%3c hide-version: yes%0a%3c verbosity: 1%0a%3c database: ""%0a%3c username: _nsd%0a%3c logfile: "/var/log/nsd.log"%0a%3c pidfile: "/var/nsd/run/nsd.pid"%0a%3c difffile: "/var/nsd/db/ixfr.db"%0a%3c xfrdfile: "/var/nsd/db/xfrd.state"%0a%3c database: "/var/nsd/db/nsd.db"%0a%3c %0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/nsd/run/nsd.sock%0a%3c %0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net.zone"%0a%3c #notify: 193.201.116.2 NOKEY%0a%3c #provide-xfr: 193.201.116.2 NOKEY%0a%3c %3c/code>%0a%3c %0a%3c ====== Primary and secondary server ======%0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a%3c %3ccode>%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net.zone"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a%3c %3c/code>%0a%3c %0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %3ccode>%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "slave/example.net.zone"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a%3c %3c/code>%0a%3c %0a%3c ====== The zone file for NSD ======%0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a%3c %3ccode>%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.ua.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c %3c/code>%0a%3c %0a%3c Save this zone file as /var/nsd/zones/master/example.net.zone%0a%3c %0a%3c ====== Configuration check and start ======%0a%3c NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%3c %3ccode>%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a%3c %3c/code>%0a%3c %0a%3c Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a%3c %3ccode>%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597224805=38.81.163.143 blob - /dev/null blob + 32e0b1339d9dea2d4a61f957d51e44f77c3812bf (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ntpd @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609296143 +host=198.251.81.119 +name=Openbsd.Ntpd +rev=1 +targets= +text=(:title NTPd:)%0a%0aNTPd is very important for ensuring the accurate time on your server.%0a%0aMake sure to specify your non-ddos filtered IPv4 address in /etc/ntpd.conf:%0a%0a[@%0alisten on 192.168.0.1%0aquery from 192.168.0.1%0a@] +time=1609296143 +title=NTPd +author:1609296143=jrmu +diff:1609296143:1609296143:=1,10d0%0a%3c (:title NTPd:)%0a%3c %0a%3c NTPd is very important for ensuring the accurate time on your server.%0a%3c %0a%3c Make sure to specify your non-ddos filtered IPv4 address in /etc/ntpd.conf:%0a%3c %0a%3c [@%0a%3c listen on 192.168.0.1%0a%3c query from 192.168.0.1%0a%3c @]%0a\ No newline at end of file%0a +host:1609296143=198.251.81.119 blob - /dev/null blob + 3f09e9df01581f2dc5a10d5c23207a1fe96cb309 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Oidentd @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597742541 +host=198.251.81.119 +name=Openbsd.Oidentd +rev=7 +targets=Openbsd.Znc +text=Installing oidentd is necessary if you're providing a public bouncer. Ident helps ensure that a user of your bouncer can always be uniquely identified, making it easier to ban that user and prevent abuse.%0a%0aYou may want to consult [[https://wiki.znc.in/Identfile|znc's wiki]] as a reference.%0a%0aFirst, we install oidentd:%0a%0a[@%0a$ doas pkg_add oidentd%0a@]%0a%0aAfterwards, inside /etc/rc.local, we put the following:%0a%0a[@%0aif [ -x /usr/local/sbin/oidentd ]; then%0a echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0afi%0a@]%0a%0a'''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a%0aThis ensures that oident starts at bootup and runs as the user and group _identd.%0a%0aPut this inside /etc/oidentd.conf to spoof ident replies:%0a%0a[@%0auser "znc" {%0a default {%0a allow spoof%0a allow spoof_all%0a }%0a}%0a@]%0a%0aMake sure [[openbsd/znc|the identfile module]] is loaded on znc. %0a%0aWe need to create ~/.oidentd.conf inside the home folder for znc that oidentd will read from to spoof ident replies. This is made more tricky by the fact that znc runs inside a chroot:%0a%0a[@%0a$ doas touch /home/znc/home/znc/.oidentd.conf%0a$ doas ln -s /home/znc/home/znc/.oidentd.conf /home/znc/.oidentd.conf%0a$ doas chmod 664 /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a$ doas chmod 755 /home/znc/ /home/znc/home /home/znc/home/znc%0a$ doas chown znc:znc /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a@]%0a%0aZNC's identfile module will help write to /home/znc/home/znc/.oidentd.conf, which in turn is symlinked to /home/znc/.oidentd.conf . This latter file is what oidentd reads from. We must make sure oidentd can read the .oidentd.conf file by ensuring the permissions on each of the directories leading up the file are at least rwx--x--x.%0a%0aWhile connected to znc using an account with admin rights, send this through your IRC client:%0a%0a[@%0a/msg *status loadmod identfile%0a/msg *identfile setfile ~/.oidentd.conf%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aThis sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a%0a'''Ident Changes by Admins:'''%0a%0aAs we can see, the above command:%0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0awon't allow user to change their ident, and there has been some recent requests on change of ident we admins are required to change it as per the user wants.%0a%0aBut, with the settings above, which reads the znc username as ident reply we can't easily change ident, and hence we used to clone the user account and change the username as their desired ident name, as a result it enforces the user to use new znc username.%0a%0aThere's an alternate way where we can fix this without tampering the username, so upon any ident change requests, we have to run the following in our irc client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25ident%25" }%0a@]%0a%0aWe can then goto the requested users znc settings and change ident box contents to their desired ident for all of their networks, disconnect the user and reconnect the user. %0a%0aVoila, it reads the ident box as "ident", but, this setting alone would also allows the user to change the ident by themself (which we don't want). So, after we successfully confirmed the user's ident reply changed as their desired one. We now have to run the following command on irc-client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aAfter this, '''Do Not''' restart the user. Hence the ident displays the changed one (untill there's a disconnection and reconnection), but also disallows the user to make any changes with it.%0a%0aBut, this is a temporary solution. Everytime the user gets disconnected, upon re-connection, the ident will be changed to their "username".%0a%0aNow, if a single user gets disconnected, we can use the above method to set the new ident and move on.%0aIn the case of server down or other issues, where all znc users get disconnected. We have to do the following in irc-client:%0a%0a[@%0a/msg *identfile setformat global { reply "%25ident%25" }%0a@]%0a%0aAnd '''restart znc''', make sure the idents of the users changed by checking any random user you know whom uses different username and ident,%0a%0aThis way, whatever the user placed on "ident" box would read as ident and gets displayed. %0a%0aAfterwards, the following command should be run via irc-client%0a %0a[@%0a/msg *identfile setformat global { reply "%25user%25" }%0a@]%0a%0aThis ensures the user can't change it afterwards. %0a%0a'''Note: The user must have their desired ident on their znc's identbox'''%0a%0aAs you can see, the process is pretty much manual, everytime we have a znc shutdown by any cause, we have to run the above said commands to make sure the user gets their desired ident as well as we have control over the ident.%0a%0a'''Note : If your server has very less users whom use a different ident from their username, It is advised to do manually fix theirs (individually) and restart their znc's, rather than restarting the whole znc.'''%0a%0aIf you have alternative solutions or a way to automate the process, kindly do suggest them. +time=1606779779 +author:1606779779=jrmu +diff:1606779779:1606779395:=18,19d17%0a%3c %0a%3c '''Warning''': Do not use -a :: as suggested in znc's wiki or ident will not work for IPv4.%0a +host:1606779779=198.251.81.119 +author:1606779395=jrmu +diff:1606779395:1602910375:=15c15%0a%3c echo -n ' oidentd'; /usr/local/sbin/oidentd -u _identd -g _identd%0a---%0a> echo -n ' oidentd'; /usr/local/sbin/oidentd -a :: -u _identd -g _identd%0a +host:1606779395=198.251.81.119 +author:1602910375=siva +diff:1602910375:1602910131:minor=56c56%0a%3c '''Ident Changes by Admins:'''%0a---%0a> '''Ident Reply Spoof by Admins:'''%0a +host:1602910375=2409:4072:6e94:2ed6:2256:c056:51c1:e35b +author:1602910131=siva +csum:1602910131=Added Ident spoof by admins +diff:1602910131:1602910069:= +host:1602910131=2409:4072:6e94:2ed6:2256:c056:51c1:e35b +author:1602910069=siva +diff:1602910069:1597742593:=54,109c54%0a%3c This sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a%3c %0a%3c '''Ident Reply Spoof by Admins:'''%0a%3c %0a%3c As we can see, the above command:%0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c won't allow user to change their ident, and there has been some recent requests on change of ident we admins are required to change it as per the user wants.%0a%3c %0a%3c But, with the settings above, which reads the znc username as ident reply we can't easily change ident, and hence we used to clone the user account and change the username as their desired ident name, as a result it enforces the user to use new znc username.%0a%3c %0a%3c There's an alternate way where we can fix this without tampering the username, so upon any ident change requests, we have to run the following in our irc client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25ident%25" }%0a%3c @]%0a%3c %0a%3c We can then goto the requested users znc settings and change ident box contents to their desired ident for all of their networks, disconnect the user and reconnect the user. %0a%3c %0a%3c Voila, it reads the ident box as "ident", but, this setting alone would also allows the user to change the ident by themself (which we don't want). So, after we successfully confirmed the user's ident reply changed as their desired one. We now have to run the following command on irc-client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c %0a%3c After this, '''Do Not''' restart the user. Hence the ident displays the changed one (untill there's a disconnection and reconnection), but also disallows the user to make any changes with it.%0a%3c %0a%3c But, this is a temporary solution. Everytime the user gets disconnected, upon re-connection, the ident will be changed to their "username".%0a%3c %0a%3c Now, if a single user gets disconnected, we can use the above method to set the new ident and move on.%0a%3c In the case of server down or other issues, where all znc users get disconnected. We have to do the following in irc-client:%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25ident%25" }%0a%3c @]%0a%3c %0a%3c And '''restart znc''', make sure the idents of the users changed by checking any random user you know whom uses different username and ident,%0a%3c %0a%3c This way, whatever the user placed on "ident" box would read as ident and gets displayed. %0a%3c %0a%3c Afterwards, the following command should be run via irc-client%0a%3c %0a%3c [@%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c @]%0a%3c %0a%3c This ensures the user can't change it afterwards. %0a%3c %0a%3c '''Note: The user must have their desired ident on their znc's identbox'''%0a%3c %0a%3c As you can see, the process is pretty much manual, everytime we have a znc shutdown by any cause, we have to run the above said commands to make sure the user gets their desired ident as well as we have control over the ident.%0a%3c %0a%3c '''Note : If your server has very less users whom use a different ident from their username, It is advised to do manually fix theirs (individually) and restart their znc's, rather than restarting the whole znc.'''%0a%3c %0a%3c If you have alternative solutions or a way to automate the process, kindly do suggest them. %0a\ No newline at end of file%0a---%0a> This sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a\ No newline at end of file%0a +host:1602910069=2409:4072:6e94:2ed6:2256:c056:51c1:e35b +author:1597742593=jrmu +diff:1597742593:1597742541:=7c7%0a%3c [@%0a---%0a> %3ccode>%0a9,10c9,10%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a13c13%0a%3c [@%0a---%0a> %3ccode>%0a17,18c17,18%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a23c23%0a%3c [@%0a---%0a> %3ccode>%0a30,33c30,33%0a%3c @]%0a%3c %0a%3c Make sure [[openbsd/znc|the identfile module]] is loaded on znc. %0a%3c %0a---%0a> %3c/code>%0a> %0a> Make sure [[openbsd:irc:znc|the identfile module]] is loaded on znc. %0a> %0a36c36%0a%3c [@%0a---%0a> %3ccode>%0a42,43c42,43%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a48c48%0a%3c [@%0a---%0a> %3ccode>%0a52c52%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597742593=38.81.163.143 +author:1597742541=jrmu +diff:1597742541:1597742541:=1,54d0%0a%3c Installing oidentd is necessary if you're providing a public bouncer. Ident helps ensure that a user of your bouncer can always be uniquely identified, making it easier to ban that user and prevent abuse.%0a%3c %0a%3c You may want to consult [[https://wiki.znc.in/Identfile|znc's wiki]] as a reference.%0a%3c %0a%3c First, we install oidentd:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pkg_add oidentd%0a%3c %3c/code>%0a%3c %0a%3c Afterwards, inside /etc/rc.local, we put the following:%0a%3c %0a%3c %3ccode>%0a%3c if [ -x /usr/local/sbin/oidentd ]; then%0a%3c echo -n ' oidentd'; /usr/local/sbin/oidentd -a :: -u _identd -g _identd%0a%3c fi%0a%3c %3c/code>%0a%3c %0a%3c This ensures that oident starts at bootup and runs as the user and group _identd.%0a%3c %0a%3c Put this inside /etc/oidentd.conf to spoof ident replies:%0a%3c %0a%3c %3ccode>%0a%3c user "znc" {%0a%3c default {%0a%3c allow spoof%0a%3c allow spoof_all%0a%3c }%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Make sure [[openbsd:irc:znc|the identfile module]] is loaded on znc. %0a%3c %0a%3c We need to create ~/.oidentd.conf inside the home folder for znc that oidentd will read from to spoof ident replies. This is made more tricky by the fact that znc runs inside a chroot:%0a%3c %0a%3c %3ccode>%0a%3c $ doas touch /home/znc/home/znc/.oidentd.conf%0a%3c $ doas ln -s /home/znc/home/znc/.oidentd.conf /home/znc/.oidentd.conf%0a%3c $ doas chmod 664 /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a%3c $ doas chmod 755 /home/znc/ /home/znc/home /home/znc/home/znc%0a%3c $ doas chown znc:znc /home/znc/.oidentd.conf /home/znc/home/znc/.oidentd.conf%0a%3c %3c/code>%0a%3c %0a%3c ZNC's identfile module will help write to /home/znc/home/znc/.oidentd.conf, which in turn is symlinked to /home/znc/.oidentd.conf . This latter file is what oidentd reads from. We must make sure oidentd can read the .oidentd.conf file by ensuring the permissions on each of the directories leading up the file are at least rwx--x--x.%0a%3c %0a%3c While connected to znc using an account with admin rights, send this through your IRC client:%0a%3c %0a%3c %3ccode>%0a%3c /msg *status loadmod identfile%0a%3c /msg *identfile setfile ~/.oidentd.conf%0a%3c /msg *identfile setformat global { reply "%25user%25" }%0a%3c %3c/code>%0a%3c %0a%3c This sets the ident reply to be the username (which the user can't change), ensuring that ident replies can't be spoofed by the user.%0a\ No newline at end of file%0a +host:1597742541=38.81.163.143 blob - /dev/null blob + 4708edbf8fffd6e276b5c0296481e173c07a6504 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ongoing @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611538883 +host=125.224.24.163 +name=Openbsd.Ongoing +rev=12 +targets=Ircnow.Networks,Openbsd.Botnow,Openbsd.ZNCUser,Openbsd.ZNCAdmin,Openbsd.Wraith,Openbsd.FilePermissions,Openbsd.Got,Openbsd.Gotweb,Openbsd.Sftp,Openbsd.Sshkeys,Openbsd.Sshbackdoor,Openbsd.Vmmuser,Openbsd.Install68,Openbsd.Vmminstall,Openbsd.Upgrade68,Openbsd.Sysupgrade68,Openbsd.Bsdrd,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Newdisk,Openbsd.Growfs,Openbsd.Tcpdump,Openbsd.Staticnet,Openbsd.Pf,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Ddos,Openbsd.RDNS,Openbsd.Iked,Openbsd.Police +text=(:title Ongoing Training:)%0a%0a!! Claiming Networks%0a%0a# Claim your [[ircnow/networks|team's networks]]%0a%0aOngoing training for minutemin:%0a%0a!! IRC%0a%0a# Practice installing [[openbsd/botnow|botnow]]%0a# Provide customer support for [[Openbsd/ZNCUser|ZNC]]%0a# Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a# If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a%0a!! Security%0a%0a# Fix [[openbsd/FilePermissions|file permissions]]%0a%0a!! Source Control%0a%0a# Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a# Install and configure [[openbsd/gotweb]], a got viewer for the web%0a%0a!! Filesharing%0a%0a# Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a%0a!! System Utilities%0a%0a# Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a# Follow the [[openbsd/vmmuser|VMM User Guide]]%0a# Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a# Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a# Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]%0a# On your practice VPS, [[openbsd/newdisk|add a new disk]] and [[openbsd/growfs|grow a disk partition]]%0a%0a!! Networking%0a%0a# Use [[openbsd/tcpdump|tcpdump]] to read network packets%0a# [[openbsd/Staticnet|Configure static networking]]%0a# Learn about [[Openbsd/pf|packet filter]]%0a# Configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a# Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a# Configure your [[openbsd/RDNS|rDNS zone]] using nsd%0a# Add IPSec VPNs with [[openbsd/iked|iked]]%0a%0a!! Security%0a%0a# Detect abusive users with the [[openbsd/police|policing guide]] +time=1612055954 +title=Ongoing Training +author:1612055954=jrmu +diff:1612055954:1611914502:=15,18d14%0a%3c %0a%3c !! Security%0a%3c %0a%3c # Fix [[openbsd/FilePermissions|file permissions]]%0a +host:1612055954=125.224.24.163 +author:1611914502=jrmu +diff:1611914502:1611543045:=12,13c12%0a%3c # Provide customer support for [[Openbsd/ZNCUser|ZNC]]%0a%3c # Learn the protocol for [[Openbsd/ZNCAdmin|administrating ZNC]]%0a---%0a> # Learn the protocol for [[Openbsd/ZNCDaily|daily upkeep for ZNC]]%0a +host:1611914502=125.231.24.226 +author:1611543045=jrmu +diff:1611543045:1611542446:=9,10d8%0a%3c !! IRC%0a%3c %0a12a11,13%0a> %0a> !! IRC%0a> %0a14a16,17%0a> # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a> %0a26d28%0a%3c # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a +host:1611543045=125.231.20.163 +author:1611542446=jrmu +diff:1611542446:1611542283:=12,13c12,13%0a%3c !! IRC%0a%3c %0a---%0a> !! Configuring botnets%0a> %0a18,19d17%0a%3c !! Source Control%0a%3c %0a22,24d19%0a%3c %0a%3c !! Filesharing%0a%3c %0a26,28c21,23%0a%3c %0a%3c !! System Utilities%0a%3c %0a---%0a> # Set up and configure [[openbsd/pmwiki|pmwiki]], to set up your team wiki%0a> # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a> %0a31a27,29%0a> %0a> !! System Utilities%0a> %0a39,40d36%0a%3c # Learn about [[Openbsd/pf|packet filter]]%0a%3c # Configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a +host:1611542446=125.231.20.163 +author:1611542283=jrmu +diff:1611542283:1611541955:=35,36c35,36%0a%3c # Use [[openbsd/tcpdump|tcpdump]] to read network packets%0a%3c # [[openbsd/Staticnet|Configure static networking]]%0a---%0a> # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a> # Learn how to [[openbsd/Staticnet|configure static networking]]%0a38c38,39%0a%3c # Configure your [[openbsd/RDNS|rDNS zone]] using nsd%0a---%0a> %0a> # Handle [[openbsd/RDNS|your own rDNS zone]] using nsd%0a40,41d40%0a%3c %0a%3c !! Security%0a +host:1611542283=125.231.20.163 +author:1611541955=jrmu +diff:1611541955:1611541746:=32,35d31%0a%3c %0a%3c !! Networking%0a%3c %0a%3c # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a36a33,36%0a> %0a> !! Basic Networking%0a> %0a> # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a38c38,41%0a%3c %0a---%0a> # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a> # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a> # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a> # Add IPSec VPNs with [[openbsd/iked|iked]]%0a40d42%0a%3c # Add IPSec VPNs with [[openbsd/iked|iked]]%0a +host:1611541955=125.231.20.163 +author:1611541746=jrmu +diff:1611541746:1611540639:=5,6c5,6%0a%3c # Claim your [[ircnow/networks|team's networks]]%0a%3c %0a---%0a> # Claim your [[ircnow/networks|team's network]]%0a> %0a27,31c27%0a%3c %0a%3c !! System Utilities%0a%3c %0a%3c # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]]%0a%3c # On your practice VPS, [[openbsd/newdisk|add a new disk]] and [[openbsd/growfs|grow a disk partition]]%0a---%0a> # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]] and [[openbsd/growfs|growing a disk partition]]%0a33,34d28%0a%3c %0a%3c !! Basic Networking%0a +host:1611541746=125.231.20.163 +author:1611540639=jrmu +diff:1611540639:1611539874:= +host:1611540639=125.231.20.163 +author:1611539874=jrmu +diff:1611539874:1611539246:=3,6d2%0a%3c !! Claiming Networks%0a%3c %0a%3c # Claim your [[ircnow/networks|team's network]]%0a%3c %0a11,12d6%0a%3c %0a%3c !! Configuring botnets%0a +host:1611539874=125.231.20.163 +author:1611539246=jrmu +diff:1611539246:1611538952:=2,3d1%0a%3c %0a%3c Ongoing training for minutemin:%0a +host:1611539246=125.231.20.163 +author:1611538952=jrmu +diff:1611538952:1611538883:=1d0%0a%3c (:title Ongoing Training:)%0a +host:1611538952=125.231.20.163 +author:1611538883=jrmu +diff:1611538883:1611538883:=1,29d0%0a%3c %0a%3c # Practice installing [[openbsd/botnow|botnow]]%0a%3c # Learn the protocol for [[Openbsd/ZNCDaily|daily upkeep for ZNC]]%0a%3c %0a%3c # If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a%3c %0a%3c # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a%3c %0a%3c # Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a%3c # Install and configure [[openbsd/gotweb]], a got viewer for the web%0a%3c # Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a%3c # Set up and configure [[openbsd/pmwiki|pmwiki]], to set up your team wiki%0a%3c # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a%3c %0a%3c # Follow the [[openbsd/vmmuser|VMM User Guide]]%0a%3c # Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a%3c # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]] and [[openbsd/growfs|growing a disk partition]]%0a%3c # Learn how to [[openbsd/Staticnet|configure static networking]]%0a%3c %0a%3c # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a%3c # Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c # Add IPSec VPNs with [[openbsd/iked|iked]]%0a%3c # Handle [[openbsd/RDNS|your own rDNS zone]] using nsd%0a%3c %0a%3c # Detect abusive users with the [[openbsd/police|policing guide]]%0a\ No newline at end of file%0a +host:1611538883=125.231.20.163 blob - /dev/null blob + e4347a9003b0b03fe0120d69e9760e1f2bf644da (mode 644) --- /dev/null +++ wiki.d/Openbsd.Openbsd @@ -0,0 +1,695 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1596456291 +host=198.251.81.133 +name=Openbsd.Openbsd +rev=227 +targets=Ircnow.Howtoask,Minutemin.Bootcamp,Openbsd.Ongoing,Openbsd.Stable,Openbsd.Testing,Openbsd.Team,Openbsd.Abuse,Servers.Rights,Minutemin.Code,Minutemin.Server,Minutemin.Duty,Congress.Procedure,Minutemin.Game,Openbsd.Buyvm,Openbsd.Vmminstall,Openbsd.Vmmuser,Openbsd.Vmmlinux,Openbsd.BBB,Openbsd.Bsdrd,Openbsd.Sysupgrade68,Openbsd.Install67,Openbsd.Install68,Openbsd.Upgrade67,Openbsd.Upgrade68,Openbsd.Newdisk,Openbsd.Fdisk,Openbsd.Disklabel,Openbsd.Growfs,Openbsd.Net,Tcpip.Overview,Openbsd.Staticnet,IPv4.Overview,IPv6.Overview,Tcpip.Sockets,Openbsd.Netmask,Openbsd.Anycast,Openbsd.Pf,Openbsd.Ddos,Pf.Guide,Openbsd.SSDP,Openbsd.ACKFlood,Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.HTTPFlood,Openbsd.NTPAmplification,Openbsd.UDPFlood,Openbsd.Amplification,Openbsd.Ping,Openbsd.Netcat,Openbsd.Tcpdump,Ln.Intro,Telnet.Http,Openssl.Http,Openbsd.PFStable,Openbsd.PFTesting,Openbsd.Pfbadhost,Relayd.Acceleration,Openbsd.Stunnel,Openbsd.Npppd,Openbsd.Pppoe,Openbsd.Dhcpd,Dns.Overview,Openbsd.Nsd,Nsd.Masterslave,Nsd.Troubleshoot,Dns.Records,Openbsd.Unbound,Openbsd.Dig,Dns.FQDN,Openbsd.Unboundadblock,Openbsd.Sshkeys,Openbsd.Sshbackdoor,Dns.Zonefile,Openbsd.RDNS,Openbsd.Vhost,Openbsd.Domains,Dns.Registrars,Openbsd.Dnsbl,Openbsd.Rbldns,Openbsd.Delphinusdnsd,Openbsd.Iked,Openbsd.Wireguard,Openbsd.Gopher,Openbsd.Gophernicus,Openbsd.Geomyidae,Bucky.Install,Openbsd.Ntpd,Openbsd.Sftp,Openbsd.Tor,Openbsd.Sshd,Openbsd.Www,Openhttpd.Configure,Openhttpd.Hosting,Acme-client.Configure,Openbsd.Httpopenproxy,Openhttpd.Perl,Openbsd.Php,Openbsd.Dokuwiki,Openbsd.Pmwiki,Openbsd.Squirrelmail,Openbsd.Cgit,Openbsd.Gotweb,Openbsd.Oscommerce,Openbsd.Cumulusclips,Openbsd.Fluxbb,Openbsd.Question2answer,Openbsd.Wordpress,Openbsd.H5ai,Openbsd.Easyapp,Openbsd.Manna,Openbsd.Irc,Znc.Chroot,Openbsd.ZNCAdmin,Openbsd.ZNCSupport,Openbsd.ZNCModules,Openbsd.Psybnc,Openbsd.Ilines,Openbsd.Bitlbee,Openbsd.Botnow,Openbsd.Censord,Openbsd.Identd,Oidentd.Install,Oidentd.ZNC,Openbsd.Eggdrop,Openbsd.Wraith,Openbsd.Biblebot,Openbsd.Tcltls,Pylink.Install,Openbsd.Ircrelayd,Openbsd.Matterbridge,Openbsd.Ii,Openbsd.Sic,Ngircd.Install,Ngircd.Link,Ngircd.Ssl,Openbsd.Hopm,Openbsd.Acopm,Ngircd.Oper,Achurch.Install,Anope.Install,Openbsd.CPAN,Openbsd.Mail,Openbsd.Opensmtpd,Openbsd.Opensmtpd-relay,Openbsd.Opensmtpd-2,Openbsd.Dkimproxy,Openbsd.Dovecot,Openbsd.Dmarc,Openbsd.Spf,Openbsd.Dkim,Openbsd.Spamd,Openbsd.Mlmmj,Openbsd.Mailopenproxy,Openbsd.Alpine,Openbsd.Mutt,Openbsd.Fdm,Openbsd.Av,Openbsd.Utilities,Openbsd.Pkg,Openbsd.Ports,Openbsd.Doas,Openbsd.Oath-toolkit,Openbsd.Ssh,Openbsd.Syspatch,Openbsd.Ffmpeg,Openbsd.Dump,Openbsd.Restore,Openbsd.Backups,Openbsd.Openrsync,Openbsd.Cron,Openbsd.Rcctl,Openbsd.XTerm,Tmux.Config,Openbsd.Iplookup,Openbsd.Vi,Openbsd.Mg,Openbsd.Games,Openbsd.Minetest,Openbsd.Freeciv,Openbsd.Openttd,Openbsd.Asterisk,Openbsd.INN,Leafnode.Install,Webnews.Install,Openbsd.Misc,Openbsd.Prosody,Openbsd.Biboumi,Openbsd.Matrix,Openbsd.Gnupg,Openbsd.Slrn,Openbsd.Chroot,Password.Management,Openbsd.Base64,Openbsd.Uim,Openbsd.Dev,Openbsd.Hosting,Hosting.Providers,Openbsd.Vmm,Openbsd.Announce,Openbsd.Security,Openbsd.Phishing,Openbsd.Dos,Openbsd.Spam,Openbsd.0days,Openbsd.Rootkits,Openbsd.Pledge,Openbsd.Unveil,Openbsd.Databaseperms,Openbsd.Two-FactorAuth,Openbsd.Secureweb,Openbsd.Trust,Openbsd.Defaultdeny,Openbsd.Loginconf,Openbsd.Ids,Openbsd.Setuid,Openbsd.Sa,Openbsd.Edquota,Openbsd.Shell,Openbsd.Police,Openbsd.FilePermissions +text=(:title The Admin's Almanack:)%0a%0aThe [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%0a!! Sample Config Files%0a%0aMany system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a%0a[@%0a$ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a@]%0a%0aThen work using that configuration file as a template.%0a%0a!! Package READMEs%0a%0aTake a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a%0a!! Mailing Lists%0a%0aYou can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%0a!! IRC Chat Room%0a%0aYou can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]].%0a%0a|| border=1 width=100%25 %0a||! Training ||||||||%0a|| [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a|| [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a|| [[minutemin/code|Code of Honor]] || [[minutemin/server|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a|| [[congress/procedure|Congress Procedure]] || [[Minutemin/Game|Minutemin Game]] ||%0a||! Install Guides ||||||||%0a|| [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a|| [[openbsd/BBB|BeagleBone Black]] ||%0a|| [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] ||%0a|| [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a|| [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a||! [[openbsd/net|Networking]] ||||||||%0a|| [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] ||%0a|| [[tcpip/sockets|sockets]] ||%0a|| [[openbsd/netmask|Netmasks]] ||%0a|| [[openbsd/anycast|Anycast Addresses]] || [[openbsd/pf|Packet Filter]] || [[openbsd/ddos|DDoS Defense]] ||%0a|| [[pf/guide|PF Guide]] ||%0a|| [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a|| [[openbsd/SYNFlood|SYN Flood]] || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] ||%0a|| [[openbsd/amplification|amplification attack]] ||%0a|| [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a|| [[ln/intro|symbolic links]] ||%0a|| [[telnet/http|Telnet HTTP]] ||%0a|| [[openssl/http|OpenSSL HTTP]] ||%0a|| [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a|| [[openbsd/pfbadhost|pfbadhost]] ||%0a|| [[relayd/acceleration|relayd TLS Acceleration]] || [[openbsd/stunnel|stunnel]] ||%0a|| [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a|| [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a|| [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a|| [[dns/records|DNS Records]] ||%0a|| [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a|| [[dns/FQDN|FQDN]] ||%0a|| [[openbsd/unboundadblock|unbound adblock]] ||%0a|| [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a|| [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a|| [[dns/registrars|Name Registrars]] ||%0a|| [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] ||%0a|| [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a|| [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] || %0a|| [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] ||%0a|| [[bucky/install|Bucky Install]] ||%0a|| [[openbsd/ntpd|ntpd]] ||%0a|| [[openbsd/sftp|chrooted sftp]] ||%0a|| [[openbsd/tor|tor]] ||%0a|| [[openbsd/sshd|sshd]] ||%0a||! [[openbsd/www|Web]] ||||||||%0a|| [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a|| [[openhttpd/perl|Perl for OpenHTTPd]] ||%0a|| [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] ||%0a|| [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||%0a|| [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a|| [[openbsd/wordpress|Wordpress]] ||%0a|| [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a||! [[openbsd/irc|IRC]] ||||||||%0a|| [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a|| [[openbsd/ZNCModules|ZNC modules]] ||%0a|| [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a|| [[openbsd/bitlbee|bitlbee]] ||%0a|| [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a|| [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a|| [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a|| [[openbsd/tcltls|tcltls]] || %0a|| [[pylink/install|pylink]] ||%0a|| [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a|| [[openbsd/ii|ii]] || [[openbsd/sic|sic]] ||%0a|| [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a|| [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a|| [[ngircd/oper|Oper's Guide]] ||%0a|| [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a||! Languages ||||||||%0a|| [[openbsd/CPAN|CPAN]] ||%0a||! [[openbsd/mail|Mail]] ||||||||%0a|| [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/dkimproxy|dkimproxy]] ||%0a|| [[openbsd/dovecot|dovecot]] ||%0a|| [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a|| [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a|| [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a|| [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a||! [[openbsd/av|Audiovideo]] ||||||||%0a||! [[openbsd/utilities|Utilities]] ||||||||%0a|| [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/doas|sudo]] ||%0a|| [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ssh|ssh]] || [[openbsd/syspatch|syspatch]] ||%0a|| [[openbsd/doas|doas]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a|| [[openbsd/backups|Backups]] || [[openbsd/openrsync|openrsync]] ||%0a|| [[openbsd/cron|cron]] || [[openbsd/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a|| [[tmux/config|tmux Config]] ||%0a|| [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] ||%0a||! [[openbsd/games]] ||%0a|| [[openbsd/minetest|Minetest]] || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] ||%0a||! Telephony ||||||||%0a|| [[openbsd/asterisk|asterisk]] ||%0a||! News ||||||||%0a|| [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a|| [[webnews/install|Web News Install]] ||%0a||! [[openbsd/misc|Misc]] ||||||||%0a|| [[openbsd/prosody|prosody]] || [[openbsd/biboumi|biboumi]] || [[openbsd/matrix|matrix]] || [[openbsd/gnupg|gnupg]] ||%0a|| netpgp || bitcoin || ImageMagick || vorbis ||%0a|| sndiod || sox || icecast || [[openbsd/slrn|slrn]] ||%0a|| [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a|| [[openbsd/uim|Chinese]] ||%0a||! [[openbsd/dev|Development]] ||||||||%0a||! [[openbsd/hosting|Hosting]] ||||||||%0a|| [[hosting/providers|Hosting Providers]] ||%0a|| [[openbsd/vmm|vmm]] ||%0a|| [[openbsd/announce|Announcements]] ||%0a||! [[openbsd/security|Security]] ||||||||%0a|| [[openbsd/phishing|Phishing]] || [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] ||%0a|| [[openbsd/rootkits|Rootkits]] || [[openbsd/chroot|Chroot]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a|| [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] || [[openbsd/Two-Factor Auth]] ||%0a|| [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a|| [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] ||%0a|| [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/edquota|file quotas]] ||%0a|| [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] || +time=1627916665 +title=The Admin's Almanack +author:1627916665=mkf +diff:1627916665:1624391895:=113c113%0a%3c || [[openbsd/cron|cron]] || [[openbsd/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a---%0a> || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a +host:1627916665=198.251.81.133 +author:1624391895=mkf +diff:1624391895:1624194790:=95c95%0a%3c || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a---%0a> || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a +host:1624391895=198.251.81.133 +author:1624194790=mkf +diff:1624194790:1622973108:minor=124c124%0a%3c || [[openbsd/prosody|prosody]] || [[openbsd/biboumi|biboumi]] || [[openbsd/matrix|matrix]] || [[openbsd/gnupg|gnupg]] ||%0a---%0a> || prosody || biboumi || matrix || gnupg ||%0a +host:1624194790=198.251.81.133 +author:1622973108=siva +csum:1622973108=Added Two-Factor auth section +diff:1622973108:1614490694:=137c137%0a%3c || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] || [[openbsd/Two-Factor Auth]] ||%0a---%0a> || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] ||%0a141c141%0a%3c || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] || %0a\ No newline at end of file%0a---%0a> || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a\ No newline at end of file%0a +host:1622973108=223.182.200.161 +author:1614490694=jrmu +diff:1614490694:1614490576:=1c1%0a%3c (:title The Admin's Almanack:)%0a---%0a> (:title The Patriot's Almanack:)%0a +host:1614490694=198.251.81.119 +author:1614490576=jrmu +diff:1614490576:1614484334:=1c1%0a%3c (:title The Patriot's Almanack:)%0a---%0a> (:title Sysadmin Almanack:)%0a +host:1614490576=198.251.81.119 +author:1614484334=jrmu +diff:1614484334:1614484255:=29c29%0a%3c || [[Minutemin/Bootcamp|Minutemin Bootcamp]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a---%0a> || [[Minutemin/Training|Minutemin Training]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a +host:1614484334=198.251.81.119 +author:1614484255=jrmu +diff:1614484255:1614483214:=32c32%0a%3c || [[congress/procedure|Congress Procedure]] || [[Minutemin/Game|Minutemin Game]] ||%0a---%0a> || [[congress/procedure|Congress Procedure]] ||%0a +host:1614484255=198.251.81.119 +author:1614483214=jrmu +diff:1614483214:1614482608:=31c31%0a%3c || [[minutemin/code|Code of Honor]] || [[minutemin/server|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a---%0a> || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a +host:1614483214=198.251.81.119 +author:1614482608=jrmu +diff:1614482608:1614481864:=31c31%0a%3c || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Minutemin's Server]] || [[minutemin/duty|Minutemin's Duty]] ||%0a---%0a> || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Server's Creed]] || [[minutemin/duty]] ||%0a +host:1614482608=198.251.81.119 +author:1614481864=jrmu +diff:1614481864:1614481670:=31c31%0a%3c || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Server's Creed]] || [[minutemin/duty]] ||%0a---%0a> || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Server's Creed]] ||%0a +host:1614481864=198.251.81.119 +author:1614481670=jrmu +diff:1614481670:1614444496:=31c31%0a%3c || [[minutemin/code|Code of Honor]] || [[minutemin/creed|Server's Creed]] ||%0a---%0a> || [[minutemin/code|Code of Honor]] ||%0a +host:1614481670=198.251.81.119 +author:1614444496=jrmu +diff:1614444496:1614427695:=83c83%0a%3c || [[znc/chroot|chroot znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a +host:1614444496=198.251.81.119 +author:1614427695=jrmu +diff:1614427695:1614254800:=75c75%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[openhttpd/hosting|OpenHTTPd Hosting]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a---%0a> || [[openhttpd/configure|OpenHTTPd]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a +host:1614427695=198.251.81.119 +author:1614254800=jrmu +diff:1614254800:1614251086:=49d48%0a%3c || [[ln/intro|symbolic links]] ||%0a +host:1614254800=198.251.81.119 +author:1614251086=jrmu +diff:1614251086:1614250557:=41c41%0a%3c || [[tcpip/sockets|sockets]] ||%0a---%0a> || [[openbsd/sockets|sockets]] ||%0a +host:1614251086=198.251.81.119 +author:1614250557=jrmu +diff:1614250557:1614249275:=120c120%0a%3c || [[openbsd/INN|INN]] || [[leafnode/install|leafnode]] ||%0a---%0a> || [[openbsd/INN|INN]] || [[openbsd/leafnode|leafnode]] ||%0a +host:1614250557=198.251.81.119 +author:1614249275=jrmu +diff:1614249275:1614242286:=53c53%0a%3c || [[relayd/acceleration|relayd TLS Acceleration]] || [[openbsd/stunnel|stunnel]] ||%0a---%0a> || [[openbsd/relayd|relayd]] || [[openbsd/stunnel|stunnel]] ||%0a +host:1614249275=198.251.81.119 +author:1614242286=jrmu +diff:1614242286:1614237164:=56d55%0a%3c || [[nsd/troubleshoot|Troubleshoot Nsd]] ||%0a +host:1614242286=198.251.81.119 +author:1614237164=jrmu +diff:1614237164:1614092619:=55c55%0a%3c || [[dns/overview|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a---%0a> || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a +host:1614237164=198.251.81.119 +author:1614092619=jrmu +diff:1614092619:1614091541:=50d49%0a%3c || [[openssl/http|OpenSSL HTTP]] ||%0a +host:1614092619=198.251.81.119 +author:1614091541=jrmu +diff:1614091541:1614089514:=44d43%0a%3c || [[pf/guide|PF Guide]] ||%0a +host:1614091541=198.251.81.119 +author:1614089514=jrmu +diff:1614089514:1614076661:=48d47%0a%3c || [[telnet/http|Telnet HTTP]] ||%0a +host:1614089514=198.251.81.119 +author:1614076661=jrmu +diff:1614076661:1614073223:=70c70%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[acme-client/configure|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a---%0a> || [[openhttpd/configure|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a +host:1614076661=198.251.81.119 +author:1614073223=jrmu +diff:1614073223:1613879525:=70c70%0a%3c || [[openhttpd/configure|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a---%0a> || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a +host:1614073223=198.251.81.119 +author:1613879525=jrmu +diff:1613879525:1613834379:=117d116%0a%3c || [[webnews/install|Web News Install]] ||%0a +host:1613879525=125.231.57.76 +author:1613834379=jrmu +diff:1613834379:1613665711:=71d70%0a%3c || [[openhttpd/perl|Perl for OpenHTTPd]] ||%0a +host:1613834379=198.251.81.119 +author:1613665711=jrmu +diff:1613665711:1613314105:=64d63%0a%3c || [[bucky/install|Bucky Install]] ||%0a +host:1613665711=198.251.81.119 +author:1613314105=jrmu +diff:1613314105:1613300873:=40c40%0a%3c || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[IPv4/overview|IPv4]] || [[IPv6/overview|IPv6]] ||%0a---%0a> || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[IPv6/overview|IPv6]] ||%0a +host:1613314105=198.251.81.119 +author:1613300873=jrmu +diff:1613300873:1613300532:=40c40%0a%3c || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[IPv6/overview|IPv6]] ||%0a---%0a> || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a +host:1613300873=198.251.81.119 +author:1613300532=jrmu +diff:1613300532:1613299978:=40c40%0a%3c || [[tcpip/overview|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a---%0a> || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a +host:1613300532=198.251.81.119 +author:1613299978=jrmu +diff:1613299978:1613294618:=31d30%0a%3c || [[minutemin/code|Code of Honor]] ||%0a48c47%0a%3c || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a---%0a> || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a +host:1613299978=198.251.81.119 +author:1613294618=jrmu +diff:1613294618:1613276658:=29c29%0a%3c || [[Minutemin/Training|Minutemin Training]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a---%0a> || [[openbsd/training|New Sysadmin]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a +host:1613294618=198.251.81.119 +author:1613276658=jrmu +diff:1613276658:1613133812:=31d30%0a%3c || [[congress/procedure|Congress Procedure]] ||%0a +host:1613276658=125.224.24.204 +author:1613133812=jrmu +diff:1613133812:1613133599:=79c79%0a%3c || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] || [[oidentd/ZNC|oidentd for znc]] ||%0a---%0a> || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] ||%0a +host:1613133812=198.251.81.119 +author:1613133599=jrmu +diff:1613133599:1613133585:=79c79%0a%3c || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]] ||%0a---%0a> || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]]%0a +host:1613133599=198.251.81.119 +author:1613133585=jrmu +diff:1613133585:1613106486:=79c79%0a%3c || [[openbsd/identd|identd]] || [[oidentd/install|oidentd install]]%0a---%0a> || [[openbsd/identd|identd]] || [[openbsd/oidentd|oidentd]] ||%0a +host:1613133585=198.251.81.119 +author:1613106486=jrmu +diff:1613106486:1613106454:=105c105%0a%3c || [[tmux/config|tmux Config]] ||%0a---%0a> || [[tmux/config||tmux Config]] ||%0a +host:1613106486=198.251.81.119 +author:1613106454=jrmu +diff:1613106454:1612974812:=105d104%0a%3c || [[tmux/config||tmux Config]] ||%0a +host:1613106454=198.251.81.119 +author:1612974812=jrmu +diff:1612974812:1612974635:=88c88%0a%3c || [[achurch/install|achurch]] || [[anope/install|anope]] ||%0a---%0a> || [[openbsd/achurch|achurch]] || [[openbsd/anope|anope]] ||%0a +host:1612974812=198.251.81.119 +author:1612974635=jrmu +diff:1612974635:1612974563:=85c85%0a%3c || [[ngircd/install|ngircd install]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a---%0a> || [[openbsd/ngircd|ngircd]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a +host:1612974635=198.251.81.119 +author:1612974563=jrmu +diff:1612974563:1612973584:=1c1%0a%3c (:title Sysadmin Almanack:)%0a---%0a> (:title Sysadmin Library:)%0a +host:1612974563=198.251.81.119 +author:1612973584=jrmu +diff:1612973584:1612973034:=104c104%0a%3c || [[openbsd/cron|cron]] || [[rcctl/rcctl|rcctl]] || [[openbsd/XTerm|XTerm]] ||%0a---%0a> || [[openbsd/cron|cron]] || [[openbsd/XTerm|XTerm]] ||%0a +host:1612973584=198.251.81.119 +author:1612973034=jrmu +diff:1612973034:1612972712:=85,86c85%0a%3c || [[openbsd/ngircd|ngircd]] || [[ngircd/link|ngircd link]] || [[ngircd/ssl|ngircd ssl]] ||%0a%3c || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a---%0a> || [[openbsd/ngircd|ngircd]] || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a +host:1612973034=198.251.81.119 +author:1612972712=jrmu +diff:1612972712:1612947352:=115c115%0a%3c || [[openbsd/chroot|chroot]] || [[Password/Management|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a---%0a> || [[openbsd/chroot|chroot]] || [[openbsd/passwords|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a +host:1612972712=198.251.81.119 +author:1612947352=jrmu +diff:1612947352:1612792020:=86d85%0a%3c || [[ngircd/oper|Oper's Guide]] ||%0a +host:1612947352=198.251.81.119 +author:1612792020=jrmu +diff:1612792020:1612780982:= +host:1612792020=198.251.81.119 +author:1612780982=jrmu +diff:1612780982:1612773111:=82c82%0a%3c || [[pylink/install|pylink]] ||%0a---%0a> || [[openbsd/pylink|pylink]] ||%0a +host:1612780982=198.251.81.119 +author:1612773111=jrmu +diff:1612773111:1612666206:=81,82c81%0a%3c || [[openbsd/tcltls|tcltls]] || %0a%3c || [[openbsd/pylink|pylink]] ||%0a---%0a> || [[openbsd/tcltls|tcltls]] ||%0a +host:1612773111=198.251.81.119 +author:1612666206=jrmu +diff:1612666206:1612456157:=1c1%0a%3c (:title Sysadmin Library:)%0a---%0a> (:title OpenBSD Guides:)%0a +host:1612666206=198.251.81.119 +author:1612456157=jrmu +diff:1612456157:1612450676:=30c30%0a%3c || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[servers/rights|Servers' Rights]] ||%0a---%0a> || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[team/policy]] ||%0a +host:1612456157=198.251.81.119 +author:1612450676=jrmu +diff:1612450676:1612417907:=30c30%0a%3c || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] || [[team/policy]] ||%0a---%0a> || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] ||%0a +host:1612450676=198.251.81.119 +author:1612417907=jrmu +diff:1612417907:1612414115:=53c53%0a%3c || [[dns/FQDN|FQDN]] ||%0a---%0a> || [[openbsd/FQDN|FQDN]] ||%0a +host:1612417907=198.251.81.119 +author:1612414115=jrmu +diff:1612414115:1612414101:=57c57%0a%3c || [[dns/registrars|Name Registrars]] ||%0a---%0a> || [[dns/registrars|DNS Registrars]] ||%0a +host:1612414115=198.251.81.119 +author:1612414101=jrmu +diff:1612414101:1612414027:=57c57%0a%3c || [[dns/registrars|DNS Registrars]] ||%0a---%0a> || [[dns/providers|DNS Providers]] ||%0a +host:1612414101=198.251.81.119 +author:1612414027=jrmu +diff:1612414027:1612413976:=117c117%0a%3c || [[hosting/providers|Hosting Providers]] ||%0a---%0a> || [[hosting/colocation]] ||%0a +host:1612414027=198.251.81.119 +author:1612413976=jrmu +diff:1612413976:1612413099:=117d116%0a%3c || [[hosting/colocation]] ||%0a +host:1612413976=198.251.81.119 +author:1612413099=jrmu +diff:1612413099:1612412957:=51d50%0a%3c || [[dns/records|DNS Records]] ||%0a +host:1612413099=198.251.81.119 +author:1612412957=jrmu +diff:1612412957:1612412905:=55c55%0a%3c || [[dns/zonefile|Zone File]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a---%0a> || [[openbsd/dnszones|DNS Zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a +host:1612412957=198.251.81.119 +author:1612412905=jrmu +diff:1612412905:1612270751:=56d55%0a%3c || [[dns/providers|DNS Providers]] ||%0a +host:1612412905=198.251.81.119 +author:1612270751=jrmu +diff:1612270751:1612268670:=72c72%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCAdmin|ZNC admin]] || [[openbsd/ZNCSupport|ZNC Support]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCAdmin|ZNC admin's guide]] || [[openbsd/ZNCUser|ZNC user's guide]]%0a +host:1612270751=198.251.81.119 +author:1612268670=jrmu +diff:1612268670:1612258932:=39d38%0a%3c || [[openbsd/sockets|sockets]] ||%0a +host:1612268670=198.251.81.119 +author:1612258932=jrmu +diff:1612258932:1612258902:=49,50c49%0a%3c || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave|nsd master slave]] ||%0a%3c || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a---%0a> || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave]]|nsd master slave]] || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a +host:1612258932=198.251.81.119 +author:1612258902=jrmu +diff:1612258902:1612253775:=49c49%0a%3c || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[nsd/masterslave]]|nsd master slave]] || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a---%0a> || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a +host:1612258902=198.251.81.119 +author:1612253775=jrmu +diff:1612253775:1612248168:=53c53%0a%3c || [[openbsd/dnszones|DNS Zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] || [[openbsd/domains|domains]] ||%0a---%0a> || [[openbsd/dnszones|DNS Zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a +host:1612253775=198.251.81.119 +author:1612248168=jrmu +diff:1612248168:1612247463:=50d49%0a%3c || [[openbsd/FQDN|FQDN]] ||%0a +host:1612248168=198.251.81.119 +author:1612247463=jrmu +diff:1612247463:1612240116:=108c108%0a%3c || [[openbsd/chroot|chroot]] || [[openbsd/passwords|Password Mgmt]] || [[openbsd/base64|base64]] ||%0a---%0a> || [[openbsd/chroot|chroot]] || [[openbsd/passwords|Password Mgmt]] ||%0a +host:1612247463=198.251.81.119 +author:1612240116=jrmu +diff:1612240116:1612231593:=46d45%0a%3c || [[openbsd/pfbadhost|pfbadhost]] ||%0a50d48%0a%3c || [[openbsd/unboundadblock|unbound adblock]] ||%0a +host:1612240116=198.251.81.119 +author:1612231593=jrmu +diff:1612231593:1612231562:=38c38%0a%3c || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4|IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a---%0a> || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4/IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a +host:1612231593=198.251.81.119 +author:1612231562=jrmu +diff:1612231562:1612231466:= +host:1612231562=198.251.81.119 +author:1612231466=jrmu +diff:1612231466:1612230735:=38c38%0a%3c || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv4/IPv4]] || [[openbsd/IPv6|IPv6]] ||%0a---%0a> || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv6|IPv6]] ||%0a +host:1612231466=198.251.81.119 +author:1612230735=jrmu +diff:1612230735:1612102328:=52d51%0a%3c || [[openbsd/delphinusdnsd|delphinusdnsd]] ||%0a +host:1612230735=198.251.81.119 +author:1612102328=jrmu +diff:1612102328:1612070997:=97,98d96%0a%3c ||! Telephony ||||||||%0a%3c || [[openbsd/asterisk|asterisk]] ||%0a +host:1612102328=125.224.24.163 +author:1612070997=jrmu +diff:1612070997:1612070837:=30c30%0a%3c || [[openbsd/team|Team procedure]] || [[openbsd/abuse|Abuse]] ||%0a---%0a> || [[openbsd/team|Team procedure]] ||%0a107a108%0a> || [[ircnow/censorship|Censorship]] ||%0a +host:1612070997=125.224.24.163 +author:1612070837=jrmu +diff:1612070837:1612069633:=29c29%0a%3c || [[openbsd/training|New Sysadmin]] || [[openbsd/ongoing|Ongoing Training]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a---%0a> || [[openbsd/training|New Sysadmin]] || [[openbsd/ongoing|Ongoing Training]] || f[[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a +host:1612070837=125.224.24.163 +author:1612069633=jrmu +diff:1612069633:1612069444:=32c32,37%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/vmminstall|VMM Install Guide]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a> || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a> || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a> || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] ||%0a> || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/growfs|Growfs partition]] ||%0a> ||! [[openbsd/hardware|Hardware]] ||||||||%0a34,36d38%0a%3c || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] ||%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a%3c || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] || [[openbsd/growfs|Growfs partition]] ||%0a +host:1612069633=125.224.24.163 +author:1612069444=jrmu +diff:1612069444:1612068889:=29,30c29%0a%3c || [[openbsd/training|New Sysadmin]] || [[openbsd/ongoing|Ongoing Training]] || f[[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a%3c || [[openbsd/team|Team procedure]] ||%0a---%0a> || [[openbsd/training|New Sysadmin]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team procedure]] ||%0a +host:1612069444=125.224.24.163 +author:1612068889=jrmu +diff:1612068889:1612068841:=30c30%0a%3c ||! Install Guides ||||||||%0a---%0a> ||! Install Guides ||%0a79c79%0a%3c ||! Languages ||||||||%0a---%0a> ||! Languages ||%0a98c98%0a%3c ||! News ||||||||%0a---%0a> ||! News ||%0a +host:1612068889=125.224.24.163 +author:1612068841=jrmu +diff:1612068841:1612068785:=28c28%0a%3c ||! Training ||||||||%0a---%0a> ||! Training ||%0a +host:1612068841=125.224.24.163 +author:1612068785=jrmu +diff:1612068785:1612067779:=111c111%0a%3c ||! [[openbsd/security|Security]] ||||||||%0a---%0a> ||! [[openbsd/security|Security]] ||%0a +host:1612068785=125.224.24.163 +author:1612067779=jrmu +diff:1612067779:1612065801:=116c116%0a%3c || [[openbsd/loginconf|login.conf]] || [[openbsd/ids|Intrusion detection system]] ||%0a---%0a> || [[openbsd/loginconf|login.conf]] || [[openbsd/audit|Security Audit]] || [[openbsd/ids|Intrusion detection system]] ||%0a +host:1612067779=125.224.24.163 +author:1612065801=jrmu +diff:1612065801:1612065727:=115c115%0a%3c || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] || [[openbsd/defaultdeny|Default Deny]] ||%0a---%0a> || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] ||%0a +host:1612065801=125.224.24.163 +author:1612065727=jrmu +diff:1612065727:1612065260:=116c116%0a%3c || [[openbsd/loginconf|login.conf]] || [[openbsd/audit|Security Audit]] || [[openbsd/ids|Intrusion detection system]] ||%0a---%0a> || [[openbsd/loginconf|login.conf]] || [[openbsd/audit|Security Audit]] ||%0a +host:1612065727=125.224.24.163 +author:1612065260=jrmu +diff:1612065260:1612063863:=114,115d113%0a%3c || [[openbsd/databaseperms|Database Permissions]] || [[openbsd/ssh|ssh keys]] ||%0a%3c || [[openbsd/secureweb|Secure web apps]] || [[openbsd/trust|Trust]] ||%0a +host:1612065260=125.224.24.163 +author:1612063863=jrmu +diff:1612063863:1611964039:=112,113d111%0a%3c || [[openbsd/phishing|Phishing]] || [[openbsd/dos|Denial of Service]] || [[openbsd/spam|Spam]] || [[openbsd/0days|0days]] ||%0a%3c || [[openbsd/rootkits|Rootkits]] || [[openbsd/chroot|Chroot]] || [[openbsd/pledge|pledge]] || [[openbsd/unveil|unveil]] ||%0a +host:1612063863=125.224.24.163 +author:1611964039=jrmu +diff:1611964039:1611916476:=97c97%0a%3c || [[openbsd/minetest|Minetest]] || [[openbsd/freeciv|FreeCiv]] || [[openbsd/openttd|OpenTTD]] ||%0a---%0a> || [[openbsd/minetest|Minetest]] ||%0a +host:1611964039=125.231.24.226 +author:1611916476=jrmu +diff:1611916476:1611914440:=67c67,68%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCAdmin|ZNC admin's guide]] || [[openbsd/ZNCUser|ZNC user's guide]]%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] ||%0a> || [[openbsd/ZNCAdmin|ZNC admin's guide]] || [[openbsd/ZNCUser|ZNC user's guide]]%0a +host:1611916476=125.231.24.226 +author:1611914440=jrmu +diff:1611914440:1611913562:=68c68%0a%3c || [[openbsd/ZNCAdmin|ZNC admin's guide]] || [[openbsd/ZNCUser|ZNC user's guide]]%0a---%0a> || [[openbsd/zncadmin|ZNC admin's guide]] || [[openbsd/zncuser|ZNC user's guide]]%0a +host:1611914440=125.231.24.226 +author:1611913562=jrmu +diff:1611913562:1611898986:=60c60%0a%3c || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/httpopenproxy|HTTP open proxies]] ||%0a---%0a> || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] ||%0a67,69c67%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] ||%0a%3c || [[openbsd/zncadmin|ZNC admin's guide]] || [[openbsd/zncuser|ZNC user's guide]]%0a%3c || [[openbsd/ZNCModules|ZNC modules]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a +host:1611913562=125.231.24.226 +author:1611898986=jrmu +diff:1611898986:1611847105:=52c52%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] || [[openbsd/rbldns|rbldns]] ||%0a---%0a> || [[openbsd/dnsbl|DNS Blacklists]] ||%0a +host:1611898986=125.231.24.226 +author:1611847105=jrmu +diff:1611847105:1611816916:=112c112%0a%3c || [[openbsd/setuid|setuid binaries]] || [[openbsd/sa|system accounting]] || [[openbsd/edquota|file quotas]] ||%0a---%0a> || [[openbsd/setuid|setuid binaries]] ||%0a +host:1611847105=125.231.24.226 +author:1611816916=jrmu +diff:1611816916:1611816877:=98c98%0a%3c || [[openbsd/INN|INN]] || [[openbsd/leafnode|leafnode]] ||%0a---%0a> || [[openbsd/INN|INN]] ||%0a +host:1611816916=125.231.24.226 +author:1611816877=jrmu +diff:1611816877:1611804947:=54c54%0a%3c || [[openbsd/gopher|gopher]] || [[openbsd/gophernicus|gophernicus]] || [[openbsd/geomyidae|geomyidae]] ||%0a---%0a> || [[openbsd/gopher|gopher]] ||%0a +host:1611816877=125.231.24.226 +author:1611804947=jrmu +diff:1611804947:1611593887:=112d111%0a%3c || [[openbsd/setuid|setuid binaries]] ||%0a +host:1611804947=125.231.24.226 +author:1611593887=jrmu +diff:1611593887:1611574914:=67,68c67%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/ZNCModules|ZNC modules]] ||%0a%3c || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a +host:1611593887=125.231.20.163 +author:1611574914=jrmu +diff:1611574914:1611455790:=110c110%0a%3c || [[openbsd/loginconf|login.conf]] || [[openbsd/audit|Security Audit]] ||%0a---%0a> || [[openbsd/loginconf|login.conf]] ||%0a +host:1611574914=125.231.20.163 +author:1611455790=jrmu +diff:1611455790:1610952810:=35c35%0a%3c || [[openbsd/newdisk|Adding a New Disk]] || [[openbsd/growfs|Growfs partition]] ||%0a---%0a> || [[openbsd/newdisk|Adding a New Disk]] ||%0a +host:1611455790=125.231.20.163 +author:1610952810=jrmu +diff:1610952810:1610459589:=75c75%0a%3c || [[openbsd/ngircd|ngircd]] || [[openbsd/NgircdLink|ngircdlink]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a---%0a> || [[openbsd/ngircd|ngircd]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a +host:1610952810=125.224.21.52 +author:1610459589=Noxturnix +diff:1610459589:1610213166:=77,78d76%0a%3c ||! Languages ||%0a%3c || [[openbsd/CPAN|CPAN]] ||%0a101c99%0a%3c || sndiod || sox || icecast || [[openbsd/slrn|slrn]] ||%0a---%0a> || sndiod || sox || icecast || slrn ||%0a +host:1610459589=125.224.27.48 +author:1610213166=jrmu +diff:1610213166:1610210241:=28,29d27%0a%3c ||! Training ||%0a%3c || [[openbsd/training|New Sysadmin]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team procedure]] ||%0a104c102%0a%3c || [[openbsd/vmm|vmm]] ||%0a---%0a> || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team procedure]] ||%0a +host:1610213166=125.224.19.86 +author:1610210241=jrmu +diff:1610210241:1610196390:=106d105%0a%3c || [[openbsd/loginconf|login.conf]] ||%0a +host:1610210241=125.224.19.86 +author:1610196390=jrmu +diff:1610196390:1610160293:=92,93d91%0a%3c ||! News ||%0a%3c || [[openbsd/INN|INN]] ||%0a +host:1610196390=125.224.19.86 +author:1610160293=jrmu +diff:1610160293:1610159630:=50d49%0a%3c || [[openbsd/dnsbl|DNS Blacklists]] ||%0a +host:1610160293=125.224.19.86 +author:1610159630=jrmu +diff:1610159630:1609901039:=79d78%0a%3c || [[openbsd/mailopenproxy|Mail Open Proxy]] ||%0a +host:1610159630=125.224.19.86 +author:1609901039=jrmu +diff:1609901039:1609678935:=99d98%0a%3c || [[ircnow/censorship|Censorship]] ||%0a +host:1609901039=125.231.63.134 +author:1609678935=jrmu +diff:1609678935:1609678913:=99c99%0a%3c || [[openbsd/announce|Announcements]] ||%0a---%0a> || [[openbsd/announce|Maintenance announcements]] ||%0a +host:1609678935=125.231.63.134 +author:1609678913=jrmu +diff:1609678913:1609652094:=99d98%0a%3c || [[openbsd/announce|Maintenance announcements]] ||%0a +host:1609678913=125.231.63.134 +author:1609652094=jrmu +diff:1609652094:1609650645:=33d32%0a%3c || [[openbsd/newdisk|Adding a New Disk]] ||%0a +host:1609652094=125.231.63.134 +author:1609650645=jrmu +diff:1609650645:1609587750:=84c84%0a%3c || [[openbsd/backups|Backups]] || [[openbsd/openrsync|openrsync]] ||%0a---%0a> || [[openbsd/backups|Backups]] ||%0a +host:1609650645=125.231.63.134 +author:1609587750=jrmu +diff:1609587750:1609476932:=84d83%0a%3c || [[openbsd/backups|Backups]] ||%0a +host:1609587750=125.231.63.134 +author:1609476932=jrmu +diff:1609476932:1609476917:=96c96%0a%3c || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team procedure]] ||%0a---%0a> || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team policy]] ||%0a +host:1609476932=198.251.81.119 +author:1609476917=jrmu +diff:1609476917:1609476471:=96c96%0a%3c || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || [[openbsd/team|Team policy]] ||%0a---%0a> || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || ||%0a +host:1609476917=198.251.81.119 +author:1609476471=jrmu +diff:1609476471:1609472717:=96c96%0a%3c || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] || ||%0a---%0a> || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a +host:1609476471=198.251.81.119 +author:1609472717=jrmu +diff:1609472717:1609329971:=96c96%0a%3c || [[openbsd/vmm|vmm]] || [[openbsd/stable|Stable sysadmin]] || [[openbsd/testing|Testing sysadmin]] ||%0a---%0a> || [[openbsd/vmm|vmm]] || %0a +host:1609472717=198.251.81.119 +author:1609329971=jrmu +diff:1609329971:1609296047:=47c47%0a%3c || [[openbsd/sshkeys|SSH keys]] || [[openbsd/sshbackdoor|SSH backdoor]] ||%0a---%0a> || [[openbsd/sshkeys|SSH keys]] ||%0a +host:1609329971=198.251.81.119 +author:1609296047=jrmu +diff:1609296047:1609294911:=51d50%0a%3c || [[openbsd/ntpd|ntpd]] ||%0a +host:1609296047=198.251.81.119 +author:1609294911=jrmu +diff:1609294911:1609294696:=43c43%0a%3c || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] ||%0a---%0a> || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1609294911=198.251.81.119 +author:1609294696=jrmu +diff:1609294696:1609294651:=62,63c62%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] ||%0a%3c || [[openbsd/bitlbee|bitlbee]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a +host:1609294696=198.251.81.119 +author:1609294651=jrmu +diff:1609294651:1609294625:=43c43%0a%3c || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/PFTesting|PF for Testing]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a---%0a> || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1609294651=198.251.81.119 +author:1609294625=jrmu +diff:1609294625:1609294604:=43c43%0a%3c || [[openbsd/netadmin|Network Admin]] || [[openbsd/PFStable|PF for Stable]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a---%0a> || [[openbsd/netadmin|Network Admin]] || [[openbsd/pf-stable|PF for Stable]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1609294625=198.251.81.119 +author:1609294604=jrmu +diff:1609294604:1609235203:=43c43%0a%3c || [[openbsd/netadmin|Network Admin]] || [[openbsd/pf-stable|PF for Stable]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a---%0a> || [[openbsd/netadmin|Network Admin]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1609294604=198.251.81.119 +author:1609235203=jrmu +diff:1609235203:1609151672:=66d65%0a%3c || [[openbsd/tcltls|tcltls]] ||%0a +host:1609235203=198.251.81.119 +author:1609151672=jrmu +diff:1609151672:1609034338:=81c81%0a%3c || [[openbsd/cron|cron]] || [[openbsd/XTerm|XTerm]] ||%0a---%0a> || [[openbsd/cron|cron]] ||%0a +host:1609151672=198.251.81.119 +author:1609034338=jrmu +diff:1609034338:1608357977:=62c62%0a%3c || [[openbsd/znc|znc]] || [[openbsd/ZNCDaily|ZNC Daily Upkeep]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a---%0a> || [[openbsd/znc|znc]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a +host:1609034338=198.251.81.119 +author:1608357977=jrmu +diff:1608357977:1608355247:=93,95c93%0a%3c || [[openbsd/vmm|vmm]] || %0a%3c ||! [[openbsd/security|Security]] ||%0a%3c || [[openbsd/File Permissions]] || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] ||%0a\ No newline at end of file%0a---%0a> || [[openbsd/shell|Shell Accounts]] || [[openbsd/vmm|vmm]] || [[openbsd/police|Policing Guide]] || [[]] ||%0a\ No newline at end of file%0a +host:1608357977=198.251.81.119 +author:1608355247=jrmu +diff:1608355247:1608201230:=41d40%0a%3c || [[openbsd/amplification|amplification attack]] ||%0a +host:1608355247=198.251.81.119 +author:1608201230=jrmu +diff:1608201230:1608037245:=39,40c39%0a%3c || [[openbsd/SSDP|SSDP attack]] || [[openbsd/ACKFlood|TCP ack flood]] || [[openbsd/RSTFlood|TCP reset flood]] ||%0a%3c || [[openbsd/SYNFlood|SYN Flood]] || [[openbsd/HTTPFlood|HTTP Flood]] || [[openbsd/NTPAmplification|NTP Amplification]] || [[openbsd/UDPFlood|UDP Flood]] ||%0a---%0a> || [[openbsd/SSDP|SSDP attack]] || [[openbsd/tcpackflood|TCP ack flood]] || [[openbsd/tcpresetflood|TCP reset flood]] ||%0a +host:1608201230=198.251.81.119 +author:1608037245=jrmu +diff:1608037245:1607863417:=39c39%0a%3c || [[openbsd/SSDP|SSDP attack]] || [[openbsd/tcpackflood|TCP ack flood]] || [[openbsd/tcpresetflood|TCP reset flood]] ||%0a---%0a> || [[openbsd/ssdp|SSDP attack]] || [[openbsd/tcpackflood|TCP ack flood]] || [[openbsd/tcpresetflood|TCP reset flood]] ||%0a +host:1608037245=198.251.81.119 +author:1607863417=jrmu +diff:1607863417:1607863363:=39a40%0a> %0a +host:1607863417=198.251.81.119 +author:1607863363=jrmu +diff:1607863363:1607791196:=39,40d38%0a%3c || [[openbsd/ssdp|SSDP attack]] || [[openbsd/tcpackflood|TCP ack flood]] || [[openbsd/tcpresetflood|TCP reset flood]] ||%0a%3c %0a +host:1607863363=198.251.81.119 +author:1607791196=jrmu +diff:1607791196:1607689812:=30,31c30,32%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a%3c || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a---%0a> || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a> || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a> || [[openbsd/repair68|OpenBSD 6.8 Repair Guide]] ||%0a +host:1607791196=198.251.81.119 +author:1607689812=jrmu +diff:1607689812:1607681954:=30c30%0a%3c || [[openbsd/upgrade67|OpenBSD 6.7 Upgrade]] || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a---%0a> || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a +host:1607689812=198.251.81.119 +author:1607681954=jrmu +diff:1607681954:1607576425:=30d29%0a%3c || [[openbsd/sysupgrade68|OpenBSD 6.8 Sysupgrade]] ||%0a +host:1607681954=198.251.81.119 +author:1607576425=jrmu +diff:1607576425:1607574841:=77,78c77%0a%3c || [[openbsd/doas|doas]] || [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a%3c || [[openbsd/cron|cron]] ||%0a---%0a> || [[openbsd/doas|doas]] | [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a +host:1607576425=198.251.81.44 +author:1607574841=jrmu +diff:1607574841:1607508960:=31d30%0a%3c || [[openbsd/repair68|OpenBSD 6.8 Repair Guide]] ||%0a +host:1607574841=198.251.81.44 +author:1607508960=jrmu +diff:1607508960:1607340663:=31d30%0a%3c || [[openbsd/fdisk|fdisk]] || [[openbsd/disklabel|disklabel]] ||%0a +host:1607508960=198.251.81.44 +author:1607340663=jrmu +diff:1607340663:1607340521:=77,78d76%0a%3c ||! [[openbsd/games]] ||%0a%3c || [[openbsd/minetest|Minetest]] ||%0a +host:1607340663=198.251.81.119 +author:1607340521=jrmu +diff:1607340521:1607335975:=7,8c7,8%0a%3c Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. First, start with:%0a%3c %0a---%0a> Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. Then start like so:%0a> %0a13c13%0a%3c Then work using that configuration file as a template.%0a---%0a> And work using that configuration file as a template.%0a +host:1607340521=198.251.81.119 +author:1607335975=jrmu +diff:1607335975:1607335956:=42c42%0a%3c || [[openbsd/sshkeys|SSH keys]] ||%0a---%0a> || [[openbsd/sshkeys|SSH keys]]%0a +host:1607335975=198.251.81.119 +author:1607335956=jrmu +diff:1607335956:1607330575:=42d41%0a%3c || [[openbsd/sshkeys|SSH keys]]%0a +host:1607335956=198.251.81.119 +author:1607330575=jrmu +diff:1607330575:1607255307:=30c30%0a%3c || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] || [[openbsd/vmmlinux|VMM Linux Guide]] ||%0a---%0a> || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a +host:1607330575=38.81.163.7 +author:1607255307=jrmu +diff:1607255307:1607254983:=29,30c29,30%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a%3c || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/vmmuser|VMM Install Guide]] ||%0a> || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a +host:1607255307=38.81.163.7 +author:1607254983=jrmu +diff:1607254983:1607250805:=29c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[openbsd/vmmuser|VMM Install Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[vps/intro|VMM Install Guide]] ||%0a +host:1607254983=38.81.163.7 +author:1607250805=jrmu +diff:1607250805:1607162913:=30c30%0a%3c || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] || [[openbsd/bsdrd|OpenBSD Ramdisk Install]] ||%0a---%0a> || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a +host:1607250805=38.81.163.7 +author:1607162913=jrmu +diff:1607162913:1607162809:=29c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.8 Install]] || [[vps/intro|VMM Install Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.7 Install]] || [[vps/intro|VMM Install Guide]] ||%0a +host:1607162913=38.81.163.7 +author:1607162809=jrmu +diff:1607162809:1607162789:=30c30%0a%3c || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]] ||%0a---%0a> || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]]%0a +host:1607162809=38.81.163.7 +author:1607162789=jrmu +diff:1607162789:1607098524:=29,30c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|OpenBSD 6.7 Install]] || [[openbsd/install68|OpenBSD 6.7 Install]] || [[vps/intro|VMM Install Guide]] ||%0a%3c || [[openbsd/upgrade68|OpenBSD 6.8 Upgrade]]%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|Install Guide]] || [[openbsd/install68|Install Guide]] || [[vps/intro|VMM Install Guide]] ||%0a +host:1607162789=38.81.163.7 +author:1607098524=jrmu +diff:1607098524:1607089331:=29c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|Install Guide]] || [[openbsd/install68|Install Guide]] || [[vps/intro|VMM Install Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|Install Guide]] || [[openbsd/install68|Install Guide]] || [[openbsd/install|Install Guide]] ||%0a +host:1607098524=38.81.163.7 +author:1607089331=jrmu +diff:1607089331:1607085445:=34d33%0a%3c || [[openbsd/netmask|Netmasks]] ||%0a +host:1607089331=125.224.25.38 +author:1607085445=jrmu +diff:1607085445:1607083610:=29c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install67|Install Guide]] || [[openbsd/install68|Install Guide]] || [[openbsd/install|Install Guide]] ||%0a---%0a> || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install|Install Guide]] ||%0a +host:1607085445=38.81.163.7 +author:1607083610=jrmu +diff:1607083610:1607083419:=29c29%0a%3c || [[openbsd/buyvm|Buyvm Guide]] || [[openbsd/install|Install Guide]] ||%0a---%0a> || [[opernbsd/buyvm|Buyvm Guide]] || [[openbsd/install|Install Guide]] ||%0a +host:1607083610=38.81.163.7 +author:1607083419=jrmu +diff:1607083419:1607083394:=28,29c28,29%0a%3c ||! Install Guides ||%0a%3c || [[opernbsd/buyvm|Buyvm Guide]] || [[openbsd/install|Install Guide]] ||%0a---%0a> || Install Guides%0a> || [[opernbsd/buyvm|Buyvm Guide]] | [[openbsd/install|Install Guide]]%0a +host:1607083419=38.81.163.7 +author:1607083394=jrmu +diff:1607083394:1607075241:=26a27,28%0a> [[openbsd/install|Install Guide]]%0a> %0a28,29d29%0a%3c || Install Guides%0a%3c || [[opernbsd/buyvm|Buyvm Guide]] | [[openbsd/install|Install Guide]]%0a +host:1607083394=38.81.163.7 +author:1607075241=jrmu +diff:1607075241:1604495561:=26,27d25%0a%3c %0a%3c [[openbsd/install|Install Guide]]%0a +host:1607075241=198.251.81.119 +author:1604495561=jrmu +diff:1604495561:1604495541:=76c76%0a%3c || [[openbsd/chroot|chroot]] || [[openbsd/passwords|Password Mgmt]] ||%0a---%0a> || [[openbsd/chroot|chroot]] || [[openbsd/alnumpass|Random password]] ||%0a +host:1604495561=38.81.163.7 +author:1604495541=jrmu +diff:1604495541:1604495529:=76c76%0a%3c || [[openbsd/chroot|chroot]] || [[openbsd/alnumpass|Random password]] ||%0a---%0a> || [[openbsd/chroot|chroot]] || [[openbsd/newpass|Random password]] ||%0a +host:1604495541=38.81.163.7 +author:1604495529=jrmu +diff:1604495529:1604494968:=76c76%0a%3c || [[openbsd/chroot|chroot]] || [[openbsd/newpass|Random password]] ||%0a---%0a> || [[openbsd/chroot|chroot]] ||%0a +host:1604495529=38.81.163.7 +author:1604494968=jrmu +diff:1604494968:1604494949:=75,76c75%0a%3c || sndiod || sox || icecast || slrn ||%0a%3c || [[openbsd/chroot|chroot]] ||%0a---%0a> || sndiod || sox || icecast || slrn || [[openbsd/chroot|chroot]] ||%0a +host:1604494968=38.81.163.7 +author:1604494949=jrmu +diff:1604494949:1604493599:=71c71%0a%3c || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]] ||%0a---%0a> || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]]%0a75c75%0a%3c || sndiod || sox || icecast || slrn || [[openbsd/chroot|chroot]] ||%0a---%0a> || sndiod || sox || icecast || slrn ||%0a +host:1604494949=38.81.163.7 +author:1604493599=jrmu +diff:1604493599:1604493525:=71c71%0a%3c || [[openbsd/iplookup|iplookup]] || [[openbsd/vi|vi]] || [[openbsd/mg|mg]]%0a---%0a> || [[openbsd/iplookup|iplookup]] ||%0a +host:1604493599=38.81.163.7 +author:1604493525=jrmu +diff:1604493525:1604493359:=68c68%0a%3c || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/doas|sudo]] ||%0a---%0a> || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/sudo|sudo]] ||%0a +host:1604493525=38.81.163.7 +author:1604493359=jrmu +diff:1604493359:1602889057:=68c68%0a%3c || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] || [[openbsd/sudo|sudo]] ||%0a---%0a> || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] ||%0a +host:1604493359=38.81.163.7 +author:1602889057=jrmu +diff:1602889057:1601381616:=49d48%0a%3c || [[openbsd/wordpress|Wordpress]] ||%0a +host:1602889057=198.251.81.119 +author:1601381616=jrmu +diff:1601381616:1601381571:=49,50c49,50%0a%3c || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] || [[openbsd/easyapp|EasyApp]] ||%0a%3c ||! [[openbsd/irc|IRC]] ||||||||%0a---%0a> || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a> ||! [[openbsd/irc|IRC]] | [[openbsd/easyapp|EasyApp]] |||||||%0a +host:1601381616=38.81.163.143 +author:1601381571=jrmu +diff:1601381571:1599100184:=50c50%0a%3c ||! [[openbsd/irc|IRC]] | [[openbsd/easyapp|EasyApp]] |||||||%0a---%0a> ||! [[openbsd/irc|IRC]] ||||||||%0a +host:1601381571=38.81.163.143 +author:1599100184=jrmu +diff:1599100184:1599100124:=34c34%0a%3c || [[openbsd/netadmin|Network Admin]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a---%0a> || [[openbsd/netadmin||Network Admin]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1599100184=38.81.163.143 +author:1599100124=jrmu +diff:1599100124:1598938270:=34d33%0a%3c || [[openbsd/netadmin||Network Admin]] || [[openbsd/pf-bnc|PF for BNC]] ||%0a +host:1599100124=38.81.163.143 +author:1598938270=jrmu +diff:1598938270:1598328323:=14,17d13%0a%3c %0a%3c !! Package READMEs%0a%3c %0a%3c Take a look at any README files in /usr/local/share/doc/pkg-readmes/ . Often there are special configuration instructions to get a package to work properly on OpenBSD.%0a +host:1598938270=38.81.163.143 +author:1598328323=jrmu +diff:1598328323:1597983055:=36d35%0a%3c || [[openbsd/sftp|chrooted sftp]] ||%0a +host:1598328323=38.81.163.143 +author:1597983055=jrmu +diff:1597983055:1597983015:=33c33%0a%3c || [[openbsd/dnszones|DNS Zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a---%0a> || [[openbsd/dnszones|DNS zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a +host:1597983055=38.81.163.143 +author:1597983015=jrmu +diff:1597983015:1597982394:=33c33%0a%3c || [[openbsd/dnszones|DNS zones]] || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a---%0a> || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a +host:1597983015=38.81.163.143 +author:1597982394=jrmu +diff:1597982394:1597982126:=33c33%0a%3c || [[openbsd/rDNS|rDNS]] || [[openbsd/vhost|vhost]] ||%0a---%0a> || [[openbsd/vhost|vhost]] ||%0a +host:1597982394=38.81.163.143 +author:1597982126=jrmu +diff:1597982126:1597970532:=33d32%0a%3c || [[openbsd/vhost|vhost]] ||%0a +host:1597982126=38.81.163.143 +author:1597970532=jrmu +diff:1597970532:1597777948:=21c21%0a%3c You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]]. But before you ask a question, learn [[ircnow/howtoask|how to ask questions]].%0a---%0a> You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]].%0a +host:1597970532=38.81.163.143 +author:1597777948=baytuch +diff:1597777948:1597745388:=39c39%0a%3c || [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] || [[openbsd/squirrelmail|SquirrelMail]] ||%0a---%0a> || [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] ||%0a +host:1597777948=91.228.147.58 +author:1597745388=jrmu +diff:1597745388:1597745351:=68c68%0a%3c || [[openbsd/uim|Chinese]] ||%0a---%0a> || [[openbsd/uim-fep|Chinese]] ||%0a +host:1597745388=38.81.163.143 +author:1597745351=jrmu +diff:1597745351:1597745326:=68c68%0a%3c || [[openbsd/uim-fep|Chinese]] ||%0a---%0a> || Chinese ||%0a +host:1597745351=38.81.163.143 +author:1597745326=jrmu +diff:1597745326:1597744702:=68d67%0a%3c || Chinese ||%0a +host:1597745326=38.81.163.143 +author:1597744702=jrmu +diff:1597744702:1597744548:=53,54c53%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/opensmtpd-2|opensmtpd-2]] || [[openbsd/dkimproxy|dkimproxy]] ||%0a%3c || [[openbsd/dovecot|dovecot]] ||%0a---%0a> || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a +host:1597744702=38.81.163.143 +author:1597744548=jrmu +diff:1597744548:1597744261:=53c53%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/opensmtpd-relay|opensmtpd relay]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a---%0a> || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a +host:1597744548=38.81.163.143 +author:1597744261=jrmu +diff:1597744261:1597239572:=38,39c38,39%0a%3c || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] ||%0a%3c || [[openbsd/php|php]] || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] ||%0a---%0a> || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || %0a> || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] ||%0a +host:1597744261=38.81.163.143 +author:1597239572=jrmu +diff:1597239572:1597239301:=69c69%0a%3c || [[openbsd/shell|Shell Accounts]] || [[openbsd/vmm|vmm]] || [[openbsd/police|Policing Guide]] || [[]] ||%0a\ No newline at end of file%0a---%0a> || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] || ]]%0a\ No newline at end of file%0a +host:1597239572=38.81.163.143 +author:1597239301=jrmu +diff:1597239301:1597239167:=69c69%0a%3c || [[openbsd/shell|Shell Accounts]] || [[openbsd/police|Policing Guide]] || ]]%0a\ No newline at end of file%0a---%0a> || [[openbsd/police|Policing Guide]] || ]]%0a\ No newline at end of file%0a +host:1597239301=38.81.163.143 +author:1597239167=jrmu +diff:1597239167:1597239151:=26c26%0a%3c ||! [[openbsd/net|Networking]] ||||||||%0a---%0a> ||! [[openbsd/net|Networking]] ||||||%0a +host:1597239167=38.81.163.143 +author:1597239151=jrmu +diff:1597239151:1597239118:=24c24%0a%3c ||! [[openbsd/hardware|Hardware]] ||||||||%0a---%0a> ||! [[openbsd/hardware|Hardware]] ||||||%0a +host:1597239151=38.81.163.143 +author:1597239118=jrmu +diff:1597239118:1597239088:=64,66c64,66%0a%3c || prosody || biboumi || matrix || gnupg ||%0a%3c || netpgp || bitcoin || ImageMagick || vorbis ||%0a%3c || sndiod || sox || icecast || slrn ||%0a---%0a> || prosody || biboumi || matrix || gnupg || netpgp ||%0a> || bitcoin || ImageMagick || vorbis || sndiod || sox ||%0a> || icecast || slrn ||%0a +host:1597239118=38.81.163.143 +author:1597239088=jrmu +diff:1597239088:1597239048:=64,66c64,65%0a%3c || prosody || biboumi || matrix || gnupg || netpgp ||%0a%3c || bitcoin || ImageMagick || vorbis || sndiod || sox ||%0a%3c || icecast || slrn ||%0a---%0a> || prosody || biboumi || matrix || gnupg || netpgp || bitcoin ||%0a> || ImageMagick || vorbis || sndiod || sox || icecast || slrn ||%0a +host:1597239088=38.81.163.143 +author:1597239048=jrmu +diff:1597239048:1597238968:=24c24%0a%3c ||! [[openbsd/hardware|Hardware]] ||||||%0a---%0a> ||! [[openbsd/hardware|Hardware]] ||%0a26c26%0a%3c ||! [[openbsd/net|Networking]] ||||||%0a---%0a> ||! [[openbsd/net|Networking]] ||%0a37c37%0a%3c ||! [[openbsd/www|Web]] ||||||||%0a---%0a> ||! [[openbsd/www|Web]] ||%0a43c43%0a%3c ||! [[openbsd/irc|IRC]] ||||||||%0a---%0a> ||! [[openbsd/irc|IRC]] ||%0a52c52%0a%3c ||! [[openbsd/mail|Mail]] ||||||||%0a---%0a> ||! [[openbsd/mail|Mail]] ||%0a57,58c57,58%0a%3c ||! [[openbsd/av|Audiovideo]] ||||||||%0a%3c ||! [[openbsd/utilities|Utilities]] ||||||||%0a---%0a> ||! [[openbsd/av|Audiovideo]] ||%0a> ||! [[openbsd/utilities|Utilities]] ||%0a63c63%0a%3c ||! [[openbsd/misc|Misc]] ||||||||%0a---%0a> ||! [[openbsd/misc|Misc]] ||%0a66,67c66,67%0a%3c ||! [[openbsd/dev|Development]] ||||||||%0a%3c ||! [[openbsd/hosting|Hosting]] ||||||||%0a---%0a> ||! [[openbsd/dev|Development]] ||%0a> ||! [[openbsd/hosting|Hosting]] ||%0a +host:1597239048=38.81.163.143 +author:1597238968=jrmu +diff:1597238968:1597236176:=23d22%0a%3c || border=1 width=100%25 %0a25a25,26%0a> %0a> %0a36a38%0a> %0a42a45%0a> %0a51a55%0a> %0a56a61%0a> %0a57a63,65%0a> || || ||%0a> %0a> %0a62a71%0a> %0a65a75,76%0a> %0a> %0a66a78%0a> %0a +host:1597238968=38.81.163.143 +author:1597236176=jrmu +diff:1597236176:1597235701:=31,32c31%0a%3c || [[openbsd/relayd|relayd]] || [[openbsd/stunnel|stunnel]] ||%0a%3c || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a---%0a> || [[openbsd/relayd|relayd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a34c33%0a%3c || [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] || %0a---%0a> || [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] ||%0a36,38c35%0a%3c || [[openbsd/tor|tor]] ||%0a%3c || [[openbsd/sshd|sshd]] ||%0a%3c %0a---%0a> %0a65d61%0a%3c %0a67,70c63%0a%3c || [[openbsd/pkg|pkg]], pkglocatedb || [[openbsd/ports|ports]] ||%0a%3c || [[openbsd/oath-toolkit|oath-toolkit]] || [[openbsd/ssh|ssh]] || [[openbsd/syspatch|syspatch]] ||%0a%3c || [[openbsd/doas|doas]] | [[openbsd/ffmpeg|ffmpeg]] || [[openbsd/dump|dump]] || [[openbsd/restore|restore]] ||%0a%3c || [[openbsd/iplookup|iplookup]] ||%0a---%0a> || ||%0a +host:1597236176=38.81.163.143 +author:1597235701=jrmu +diff:1597235701:1597235653:=35a36,38%0a> || [[openbsd/ipv6|IPv6]] || %0a> %0a> %0a41a45%0a> %0a +host:1597235701=38.81.163.143 +author:1597235653=jrmu +diff:1597235653:1597228535:=24,26c24,26%0a%3c || [[openbsd/BBB|BeagleBone Black]] ||%0a%3c %0a%3c %0a---%0a> || [[openbsd/BBB|BeagleBone Black]] || ||%0a> %0a> %0a28,38c28,36%0a%3c || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/IPv6|IPv6]] ||%0a%3c || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/pf|Packet Filter]] || [[openbsd/ddos|DDoS Defense]] ||%0a%3c || [[openbsd/ping|ping]] || [[openbsd/netcat|netcat]] || [[openbsd/tcpdump|tcpdump]] ||%0a%3c || [[openbsd/relayd|relayd]] || [[openbsd/npppd|npppd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a%3c || [[openbsd/dns|DNS Overview]] || [[openbsd/nsd|nsd]] || [[openbsd/unbound|unbound]] || [[openbsd/dig|dig]] ||%0a%3c || [[openbsd/iked|iked]] || [[openbsd/wireguard|wireguard]] ||%0a%3c || [[openbsd/gopher|gopher]] ||%0a%3c %0a%3c || [[openbsd/ipv6|IPv6]] || %0a%3c %0a%3c %0a---%0a> || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] ||%0a> || [[openbsd/netcat|netcat]] || [[openbsd/nsd|nsd]] || [[openbsd/unbound|unbound]] ||%0a> || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/dns|DNS Overview]] ||%0a> || [[openbsd/ping|ping]] || [[openbsd/ipv6|IPv6]] || [[openbsd/pf|Packet Filter]] ||%0a> || [[openbsd/tcpdump|tcpdump]] || [[openbsd/ddos|DDoS Defense]] ||%0a> || [[openbsd/relayd|relayd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a> || [[openbsd/npppd|npppd]] || [[openbsd/dig|dig]] || [[openbsd/unbound|unbound]] ||%0a> || [[openbsd/gopher|gopher]] || [[openbsd/iked|iked]] ||%0a> %0a43,46c41,46%0a%3c || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/question2answer|Question2Answer]] ||%0a%3c || [[openbsd/h5ai|h5ai]] || [[openbsd/manna]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c %0a%3c %0a---%0a> || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/manna]] || [[openbsd/]] ||%0a> || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/h5ai|h5ai]] ||%0a> || [[openbsd/question2answer|Question2Answer]] ||%0a> || [[openbsd/squirrelmail|squirrelmail]] ||%0a> %0a> %0a48,56c48,54%0a%3c || [[openbsd/znc|znc]] || [[openbsd/psybnc|psybnc]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a%3c || [[openbsd/botnow|botnow]] || [[openbsd/censord|censord]] ||%0a%3c || [[openbsd/identd|identd]] || [[openbsd/oidentd|oidentd]] ||%0a%3c || [[openbsd/eggdrop|eggdrop]] || [[openbsd/wraith|wraith]] || [[openbsd/biblebot|biblebot]] ||%0a%3c || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] ||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/sic|sic]] ||%0a%3c || [[openbsd/ngircd|ngircd]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] ||%0a%3c || [[openbsd/achurch|achurch]] || [[openbsd/anope|anope]] ||%0a%3c %0a---%0a> || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] || [[openbsd/ii|ii]] ||%0a> || [[openbsd/ii|ii]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a> || [[openbsd/biblebot|biblebot]] || [[openbsd/bncnow|bncnow]] || [[openbsd/ngircd|ngircd]] ||%0a> || [[openbsd/sic|sic]] || [[openbsd/identd|identd]] || [[openbsd/oidentd|oidentd]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] || [[openbsd/achurch|achurch]] || [[openbsd/anope|anope]] ||%0a> || [[openbsd/wraith|wraith]] || [[openbsd/znc|znc]] || [[openbsd/eggdrop|eggdrop]] ||%0a> || [[openbsd/psybnc|psybnc]] || [[openbsd/censord|censord]] ||%0a> %0a58d55%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a60,61c57,59%0a%3c || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a---%0a> || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a> || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a> || [[openbsd/squirrelmail|squirrelmail]] ||%0a +host:1597235653=38.81.163.143 +author:1597228535=jrmu +diff:1597228535:1597227535:=48,53c48%0a%3c || [[openbsd/ircrelayd|ircrelayd]] || [[openbsd/matterbridge|matterbridge]] || [[openbsd/ii|ii]] ||%0a%3c || [[openbsd/ii|ii]] || [[openbsd/ilines|ilines]] || [[openbsd/bitlbee|bitlbee]] ||%0a%3c || [[openbsd/biblebot|biblebot]] || [[openbsd/bncnow|bncnow]] || [[openbsd/ngircd|ngircd]] ||%0a%3c || [[openbsd/sic|sic]] || [[openbsd/identd|identd]] || [[openbsd/oidentd|oidentd]] || [[openbsd/hopm|hopm]] || [[openbsd/acopm|acopm]] || [[openbsd/achurch|achurch]] || [[openbsd/anope|anope]] ||%0a%3c || [[openbsd/wraith|wraith]] || [[openbsd/znc|znc]] || [[openbsd/eggdrop|eggdrop]] ||%0a%3c || [[openbsd/psybnc|psybnc]] || [[openbsd/censord|censord]] ||%0a---%0a> || || ||%0a +host:1597228535=38.81.163.143 +author:1597227535=jrmu +diff:1597227535:1597227066:=44,46c44%0a%3c || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c %0a%3c %0a---%0a> %0a51,56d48%0a%3c || [[openbsd/dmarc|dmarc]] || [[openbsd/spf|spf]] || [[openbsd/dkim|dkim]] ||%0a%3c || [[openbsd/opensmtpd|opensmtpd]] || [[openbsd/dkimproxy|dkimproxy]] || [[openbsd/dovecot|dovecot]] ||%0a%3c || [[openbsd/spamd|spamd]] || [[openbsd/mlmmj|mlmmj]] || [[openbsd/alpine|alpine]] || [[openbsd/mutt|mutt]] || [[openbsd/fdm|fdm]] ||%0a%3c || [[openbsd/squirrelmail|squirrelmail]] ||%0a%3c %0a%3c ||! [[openbsd/av|Audiovideo]] ||%0a58a51,53%0a> ||! [[openbsd/av|Audiovideo]] ||%0a> || || ||%0a> %0a62,65c57%0a%3c ||! [[openbsd/misc|Misc]] ||%0a%3c || prosody || biboumi || matrix || gnupg || netpgp || bitcoin ||%0a%3c || ImageMagick || vorbis || sndiod || sox || icecast || slrn ||%0a%3c %0a---%0a> ||! [[openbsd/news|Newsreaders]] ||%0a +host:1597227535=38.81.163.143 +author:1597227066=jrmu +diff:1597227066:1597226920:=35d34%0a%3c || [[openbsd/gopher|gopher]] || [[openbsd/iked|iked]] ||%0a +host:1597227066=38.81.163.143 +author:1597226920=jrmu +diff:1597226920:1597226880:=34c34%0a%3c || [[openbsd/npppd|npppd]] || [[openbsd/dig|dig]] || [[openbsd/unbound|unbound]] ||%0a---%0a> || [[openbsd/npppd|npppd]] || [[openbsd/dig|dig]] ||%0a +host:1597226920=38.81.163.143 +author:1597226880=jrmu +diff:1597226880:1597226790:=34c34%0a%3c || [[openbsd/npppd|npppd]] || [[openbsd/dig|dig]] ||%0a---%0a> || [[openbsd/npppd|npppd]] ||%0a +host:1597226880=38.81.163.143 +author:1597226790=jrmu +diff:1597226790:1597226737:=34d33%0a%3c || [[openbsd/npppd|npppd]] ||%0a +host:1597226790=38.81.163.143 +author:1597226737=jrmu +diff:1597226737:1597226700:=33c33%0a%3c || [[openbsd/relayd|relayd]] || [[openbsd/pppoe|pppoe]] || [[openbsd/dhcpd]] ||%0a---%0a> || [[openbsd/relayd|relayd]] || [[openbsd/pppoe|pppoe]] ||%0a +host:1597226737=38.81.163.143 +author:1597226700=jrmu +diff:1597226700:1597226653:=33c33%0a%3c || [[openbsd/relayd|relayd]] || [[openbsd/pppoe|pppoe]] ||%0a---%0a> || [[openbsd/relayd|relayd]] ||%0a +host:1597226700=38.81.163.143 +author:1597226653=jrmu +diff:1597226653:1597226547:=33d32%0a%3c || [[openbsd/relayd|relayd]] ||%0a +host:1597226653=38.81.163.143 +author:1597226547=jrmu +diff:1597226547:1597226447:=39,40d38%0a%3c || [[openbsd/cumulusclips|cumulus clips]] || [[openbsd/fluxbb|fluxbb]] || [[openbsd/h5ai|h5ai]] ||%0a%3c || [[openbsd/question2answer|Question2Answer]] ||%0a +host:1597226547=38.81.163.143 +author:1597226447=jrmu +diff:1597226447:1597225545:=38d37%0a%3c || [[openbsd/oscommerce|OSCommerce]] || [[openbsd/manna]] || [[openbsd/]] ||%0a +host:1597226447=38.81.163.143 +author:1597225545=jrmu +diff:1597225545:1597225310:=32d31%0a%3c || [[openbsd/tcpdump|tcpdump]] || [[openbsd/ddos|DDoS Defense]] ||%0a +host:1597225545=38.81.163.143 +author:1597225310=jrmu +diff:1597225310:1597225237:=34,36c34,35%0a%3c || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || %0a%3c || [[openbsd/dokuwiki|dokuwiki]] || [[openbsd/pmwiki|pmwiki]] ||%0a%3c || [[openbsd/cgit|cgit]] || [[openbsd/gotweb|gotweb]] ||%0a---%0a> || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/dokuwiki|dokuwiki]] ||%0a> || [[openbsd/pmwiki|pmwiki]] ||%0a +host:1597225310=38.81.163.143 +author:1597225237=jrmu +diff:1597225237:1597225161:=34,35c34%0a%3c || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] || [[openbsd/dokuwiki|dokuwiki]] ||%0a%3c || [[openbsd/pmwiki|pmwiki]] ||%0a---%0a> || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] ||%0a +host:1597225237=38.81.163.143 +author:1597225161=jrmu +diff:1597225161:1597225075:=31c31%0a%3c || [[openbsd/ping|ping]] || [[openbsd/ipv6|IPv6]] || [[openbsd/pf|Packet Filter]] ||%0a---%0a> || [[openbsd/ping|ping]] || [[openbsd/ipv6|IPv6]] ||%0a +host:1597225161=38.81.163.143 +author:1597225075=jrmu +diff:1597225075:1597224794:=28c28%0a%3c || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] ||%0a---%0a> || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] || [[openbsd/acme-client|acme-client]] ||%0a34d33%0a%3c || [[openbsd/openhttpd|OpenHTTPd]] || [[openbsd/acme-client|acme-client]] ||%0a +host:1597225075=38.81.163.143 +author:1597224794=jrmu +diff:1597224794:1597223075:=29c29%0a%3c || [[openbsd/netcat|netcat]] || [[openbsd/nsd|nsd]] || [[openbsd/unbound|unbound]] ||%0a---%0a> || [[openbsd/netcat|netcat]] ||%0a +host:1597224794=38.81.163.143 +author:1597223075=jrmu +diff:1597223075:1597217068:=29d28%0a%3c || [[openbsd/netcat|netcat]] ||%0a +host:1597223075=38.81.163.143 +author:1597217068=jrmu +diff:1597217068:1597217045:=30a31,32%0a> %0a> IPv6%0a +host:1597217068=38.81.163.143 +author:1597217045=jrmu +diff:1597217045:1597216463:=30,32d29%0a%3c || [[openbsd/ping|ping]] || [[openbsd/ipv6|IPv6]] ||%0a%3c %0a%3c IPv6%0a +host:1597217045=38.81.163.143 +author:1597216463=jrmu +diff:1597216463:1597204289:=29c29%0a%3c || [[openbsd/tcpip|TCP/IP Overview]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/dns|DNS Overview]] ||%0a---%0a> || [[openbsd/sockets|TCP/IP sockets]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/dns|DNS Overview]] ||%0a +host:1597216463=38.81.163.143 +author:1597204289=jrmu +diff:1597204289:1597203374:=29c29%0a%3c || [[openbsd/sockets|TCP/IP sockets]] || [[openbsd/staticnet|Static Networking]] || [[openbsd/dns|DNS Overview]] ||%0a---%0a> || [[openbsd/sockets|TCP/IP sockets]] || [[openbsd/staticnet|Static Networking]] ||%0a +host:1597204289=38.81.163.143 +author:1597203374=jrmu +diff:1597203374:1597203356:=29c29%0a%3c || [[openbsd/sockets|TCP/IP sockets]] || [[openbsd/staticnet|Static Networking]] ||%0a---%0a> || [[openbsd/sockets|TCP/IP sockets]] || [openbsd/staticnet|Static Networking]] ||%0a +host:1597203374=38.81.163.143 +author:1597203356=jrmu +diff:1597203356:1597200975:=29c29%0a%3c || [[openbsd/sockets|TCP/IP sockets]] || [openbsd/staticnet|Static Networking]] ||%0a---%0a> || [[openbsd/sockets|TCP/IP sockets]] ||%0a +host:1597203356=38.81.163.143 +author:1597200975=jrmu +diff:1597200975:1597119567:=29d28%0a%3c || [[openbsd/sockets|TCP/IP sockets]] ||%0a +host:1597200975=38.81.163.143 +author:1597119567=jrmu +diff:1597119567:1597060749:=48,49c48%0a%3c ||! [[openbsd/hosting|Hosting]] ||%0a%3c || [[openbsd/police|Policing Guide]] || ]]%0a\ No newline at end of file%0a---%0a> ||! [[openbsd/hosting|Hosting]] ||%0a\ No newline at end of file%0a +host:1597119567=38.81.163.143 +author:1597060749=jrmu +diff:1597060749:1597060367:=28c28%0a%3c || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] || [[openbsd/acme-client|acme-client]] ||%0a---%0a> || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] ||%0a +host:1597060749=38.81.163.143 +author:1597060367=jrmu +diff:1597060367:1597060194:=30,32c30%0a%3c ||! [[openbsd/www|Web]] ||%0a%3c %0a%3c ||! [[openbsd/irc|IRC]] ||%0a---%0a> ||! [[openbsd/www|Web]][[openbsd/irc|IRC]] ||%0a41,48c39,42%0a%3c ||! [[openbsd/utilities|Utilities]] ||%0a%3c || ||%0a%3c %0a%3c ||! [[openbsd/news|Newsreaders]] ||%0a%3c %0a%3c ||! [[openbsd/dev|Development]] ||%0a%3c %0a%3c ||! [[openbsd/hosting|Hosting]] ||%0a\ No newline at end of file%0a---%0a> [[openbsd/utilities|Utilities]]%0a> [[openbsd/news|Newsreaders]]%0a> [[openbsd/dev|Development]]%0a> [[openbsd/hosting|Hosting]]%0a\ No newline at end of file%0a +host:1597060367=38.81.163.143 +author:1597060194=jrmu +diff:1597060194:1597059017:=24,26c24,26%0a%3c || [[openbsd/BBB|BeagleBone Black]] || ||%0a%3c %0a%3c %0a---%0a> || [[OpenbsdHardware/BBB|BeagleBone Black]] || ||%0a> %0a> %0a28c28%0a%3c || [[openbsd/anycast|Anycast Addresses]] || [[openbsd/IPv6|IPv6]] ||%0a---%0a> || [[OpenbsdNet/Anycast|Anycast Addresses]] || [[OpenbsdNet/IPv6|IPv6]] ||%0a +host:1597060194=38.81.163.143 +author:1597059017=jrmu +diff:1597059017:1597057377:=24,26c24,26%0a%3c || [[OpenbsdHardware/BBB|BeagleBone Black]] || ||%0a%3c %0a%3c %0a---%0a> || || ||%0a> %0a> %0a28c28%0a%3c || [[OpenbsdNet/Anycast|Anycast Addresses]] || [[OpenbsdNet/IPv6|IPv6]] ||%0a---%0a> || || ||%0a +host:1597059017=38.81.163.143 +author:1597057377=jrmu +diff:1597057377:1597057256:=23,38c23,28%0a%3c ||! [[openbsd/hardware|Hardware]] ||%0a%3c || || ||%0a%3c %0a%3c %0a%3c ||! [[openbsd/net|Networking]] ||%0a%3c || || ||%0a%3c %0a%3c ||! [[openbsd/www|Web]][[openbsd/irc|IRC]] ||%0a%3c || || ||%0a%3c %0a%3c ||! [[openbsd/mail|Mail]] ||%0a%3c || || ||%0a%3c %0a%3c ||! [[openbsd/av|Audiovideo]] ||%0a%3c || || ||%0a%3c %0a---%0a> [[openbsd/hardware|Hardware]]%0a> [[openbsd/net|Networking]]%0a> [[openbsd/www|Web]]%0a> [[openbsd/irc|IRC]]%0a> [[openbsd/mail|Mail]]%0a> [[openbsd/av|Audiovideo]]%0a +host:1597057377=38.81.163.143 +author:1597057256=jrmu +diff:1597057256:1596983178:=23,32c23,42%0a%3c [[openbsd/hardware|Hardware]]%0a%3c [[openbsd/net|Networking]]%0a%3c [[openbsd/www|Web]]%0a%3c [[openbsd/irc|IRC]]%0a%3c [[openbsd/mail|Mail]]%0a%3c [[openbsd/av|Audiovideo]]%0a%3c [[openbsd/utilities|Utilities]]%0a%3c [[openbsd/news|Newsreaders]]%0a%3c [[openbsd/dev|Development]]%0a%3c [[openbsd/hosting|Hosting]]%0a\ No newline at end of file%0a---%0a> - [[openbsd/hardware|Hardware]]%0a> - [[openbsd/net|Networking]]%0a> - [[openbsd/www|Web]]%0a> - [[openbsd/irc|IRC]]%0a> - [[openbsd/xmpp|XMPP]]%0a> - [[openbsd/dns|DNS]]%0a> - [[openbsd/crypto|Cryptography]]%0a> - [[openbsd/media|Multimedia]]%0a> - [[openbsd/mail|Mail]]%0a> - [[openbsd/vcs|Version Control]]%0a> - [[openbsd/telephony|Telephony]]%0a> - [[openbsd/desktop|Desktop]]%0a> - [[openbsd/utilities|Utilities]]%0a> - [[openbsd/file|File System]]%0a> - [[openbsd/news|Newsreaders]]%0a> - [[openbsd/rss|RSS]]%0a> - [[openbsd/langs|Programming Languages]]%0a> - [[openbsd/upgrade|Upgrading]]%0a> - [[openbsd/shell|Shell accounts]]%0a> - [[openbsd/vmm|Virtualization]]%0a\ No newline at end of file%0a +host:1597057256=38.81.163.143 +author:1596983178=jrmu +diff:1596983178:1596983045:=23,42c23,42%0a%3c - [[openbsd/hardware|Hardware]]%0a%3c - [[openbsd/net|Networking]]%0a%3c - [[openbsd/www|Web]]%0a%3c - [[openbsd/irc|IRC]]%0a%3c - [[openbsd/xmpp|XMPP]]%0a%3c - [[openbsd/dns|DNS]]%0a%3c - [[openbsd/crypto|Cryptography]]%0a%3c - [[openbsd/media|Multimedia]]%0a%3c - [[openbsd/mail|Mail]]%0a%3c - [[openbsd/vcs|Version Control]]%0a%3c - [[openbsd/telephony|Telephony]]%0a%3c - [[openbsd/desktop|Desktop]]%0a%3c - [[openbsd/utilities|Utilities]]%0a%3c - [[openbsd/file|File System]]%0a%3c - [[openbsd/news|Newsreaders]]%0a%3c - [[openbsd/rss|RSS]]%0a%3c - [[openbsd/langs|Programming Languages]]%0a%3c - [[openbsd/upgrade|Upgrading]]%0a%3c - [[openbsd/shell|Shell accounts]]%0a%3c - [[openbsd/vmm|Virtualization]]%0a\ No newline at end of file%0a---%0a> - [[openbsd:hardware|Hardware]]%0a> - [[openbsd:net|Networking]]%0a> - [[openbsd:www|Web]]%0a> - [[openbsd:irc|IRC]]%0a> - [[openbsd:xmpp|XMPP]]%0a> - [[openbsd:dns|DNS]]%0a> - [[openbsd:crypto|Cryptography]]%0a> - [[openbsd:media|Multimedia]]%0a> - [[openbsd:mail|Mail]]%0a> - [[openbsd:vcs|Version Control]]%0a> - [[openbsd:telephony|Telephony]]%0a> - [[openbsd:desktop|Desktop]]%0a> - [[openbsd:utilities|Utilities]]%0a> - [[openbsd:file|File System]]%0a> - [[openbsd:news|Newsreaders]]%0a> - [[openbsd:rss|RSS]]%0a> - [[openbsd:langs|Programming Languages]]%0a> - [[openbsd:upgrade|Upgrading]]%0a> - [[openbsd:shell|Shell accounts]]%0a> - [[openbsd:vmm|Virtualization]]%0a\ No newline at end of file%0a +host:1596983178=38.81.163.143 +author:1596983045=jrmu +diff:1596983045:1596456291:=27a28%0a> - [[openbsd:matrix|Matrix]]%0a35a37%0a> - [[openbsd:ldap|LDAP]]%0a +host:1596983045=38.81.163.143 +author:1596456291=jrmu +diff:1596456291:1596456291:=1,44d0%0a%3c (:title OpenBSD Guides:)%0a%3c %0a%3c The [[https://openbsd.org/faq|OpenBSD FAQ]] and [[https://man.openbsd.org/cgi-bin/man.cgi|man pages]] are the final source of information for OpenBSD. You can also often search official project pages. For example, here are the project pages for [[https://bsd.plumbing/|relayd]] and [[https://www.opensmtpd.org/|OpenSMTPd]].%0a%3c %0a%3c !! Sample Config Files%0a%3c %0a%3c Many system daemons that come bundled in OpenBSD base have sample configuration files that you can reference in /etc/examples/. For example, suppose you want to configure a web server. Then start like so:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c And work using that configuration file as a template.%0a%3c %0a%3c !! Mailing Lists%0a%3c %0a%3c You can often find your questions answered by searching through the OpenBSD mailing lists, which are conveniently archived at [[https://marc.info/?l=openbsd-misc|marc.info]]. These are often answered by the OpenBSD developers themselves.%0a%3c %0a%3c !! IRC Chat Room%0a%3c %0a%3c You can find help in our unofficial OpenBSD IRC channel at [[ircs://irc.ircnow.org/#openbsd|irc.ircnow.org/#openbsd]].%0a%3c %0a%3c - [[openbsd:hardware|Hardware]]%0a%3c - [[openbsd:net|Networking]]%0a%3c - [[openbsd:www|Web]]%0a%3c - [[openbsd:irc|IRC]]%0a%3c - [[openbsd:xmpp|XMPP]]%0a%3c - [[openbsd:matrix|Matrix]]%0a%3c - [[openbsd:dns|DNS]]%0a%3c - [[openbsd:crypto|Cryptography]]%0a%3c - [[openbsd:media|Multimedia]]%0a%3c - [[openbsd:mail|Mail]]%0a%3c - [[openbsd:vcs|Version Control]]%0a%3c - [[openbsd:telephony|Telephony]]%0a%3c - [[openbsd:desktop|Desktop]]%0a%3c - [[openbsd:utilities|Utilities]]%0a%3c - [[openbsd:ldap|LDAP]]%0a%3c - [[openbsd:file|File System]]%0a%3c - [[openbsd:news|Newsreaders]]%0a%3c - [[openbsd:rss|RSS]]%0a%3c - [[openbsd:langs|Programming Languages]]%0a%3c - [[openbsd:upgrade|Upgrading]]%0a%3c - [[openbsd:shell|Shell accounts]]%0a%3c - [[openbsd:vmm|Virtualization]]%0a\ No newline at end of file%0a +host:1596456291=38.81.163.143 blob - /dev/null blob + f4b57ffa38d11ee9241019c9271e75bc1b423658 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Openhttpd @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597225100 +host=125.224.24.181 +name=Openbsd.Openhttpd +rev=3 +targets=Openbsd.Acme-client +text=(:redirect Openhttpd.Configure:)%0a%0aSetting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a%0a[@%0a$ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a@]%0a%0aHere is what /etc/httpd.conf contains:%0a%0a[@%0aserver "example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a%0aserver "example.com" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/example.com.fullchain.pem"%0a key "/etc/ssl/private/example.com.key"%0a }%0a location "/pub/*" {%0a directory auto index%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a@]%0a%0aYou must replace example.com everywhere with your domain name.%0a%0aSimply enable and start the web server:%0a%0a[@%0a$ doas rcctl enable httpd%0a$ doas rcctl start httpd%0a@]%0a%0aMake sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%0a[@%0apass in proto tcp to port {http https}%0a@]%0a%0aThen, reload the pf rulesets:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0aAt this point, you should test to see if the web server is working on port 80. This test should be run on some other computer besides the web server (your local workstation is fine). Make sure you have curl installed:%0a%0a[@%0a$ doas pkg_add curl%0a$ curl example.com%0a@]%0a%0aYou should a response similar to the one below:%0a%0a[@%0a%3c!DOCTYPE html>%0a%3chtml>%0a%3chead>%0a%3cmeta http-equiv="Content-Type" content="text/html; charset=utf-8"/>%0a%3ctitle>302 Found%3c/title>%0a%3cstyle type="text/css">%3c!--%0abody { background-color: white; color: black; font-family: 'Comic Sans%0a MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0ahr { border: 0; border-bottom: 1px dashed; }%0a%0a-->%3c/style>%0a%3c/head>%0a%3cbody>%0a%3ch1>302 Found%3c/h1>%0a%3chr>%0a%3caddress>OpenBSD httpd%3c/address>%0a%3c/body>%0a%3c/html>%0a@]%0a%0aNow you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd/acme-client|acme-client]] instructions, then reset your web server:%0a%0a%3ccode>%0a$ doas rcctl restart httpd%0a%3c/code>%0a%0aTo test if your web server is working and has a correct SSL cert, run:%0a%0a%3ccode>%0a$ openssl s_client -connect example.com:443%0a%3c/code>%0a%0aYou should see the correct SSL subject and issuer:%0a%0a%3ccode>%0asubject=/CN=example.com%0aissuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3%0a%3c/code>%0a%0a{{ :openbsd:www:ssl-cert.png?direct |}}%0a +time=1628839772 +author:1628839772=jrmu +diff:1628839772:1597744112:=1,2d0%0a%3c (:redirect Openhttpd.Configure:)%0a%3c %0a109c107%0a%3c {{ :openbsd:www:ssl-cert.png?direct |}}%0a---%0a> {{ :openbsd:www:ssl-cert.png?direct |}}%0a\ No newline at end of file%0a +host:1628839772=125.224.24.181 +author:1597744112=jrmu +diff:1597744112:1597225100:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a5,6c5,6%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a9c9%0a%3c [@%0a---%0a> %3ccode>%0a35,36c35,36%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a41c41%0a%3c [@%0a---%0a> %3ccode>%0a44,45c44,45%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a48c48%0a%3c [@%0a---%0a> %3ccode>%0a50,51c50,51%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a54c54%0a%3c [@%0a---%0a> %3ccode>%0a56,57c56,57%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a60c60%0a%3c [@%0a---%0a> %3ccode>%0a63,64c63,64%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a67c67%0a%3c [@%0a---%0a> %3ccode>%0a86,88c86,88%0a%3c @]%0a%3c %0a%3c Now you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd/acme-client|acme-client]] instructions, then reset your web server:%0a---%0a> %3c/code>%0a> %0a> Now you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd:acme-client|acme-client]] instructions, then reset your web server:%0a +host:1597744112=38.81.163.143 +author:1597225100=jrmu +diff:1597225100:1597225100:=1,107d0%0a%3c Setting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c %3c/code>%0a%3c %0a%3c Here is what /etc/httpd.conf contains:%0a%3c %0a%3c %3ccode>%0a%3c server "example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c %0a%3c server "example.com" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c You must replace example.com everywhere with your domain name.%0a%3c %0a%3c Simply enable and start the web server:%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl enable httpd%0a%3c $ doas rcctl start httpd%0a%3c %3c/code>%0a%3c %0a%3c Make sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c pass in proto tcp to port {http https}%0a%3c %3c/code>%0a%3c %0a%3c Then, reload the pf rulesets:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c %3c/code>%0a%3c %0a%3c At this point, you should test to see if the web server is working on port 80. This test should be run on some other computer besides the web server (your local workstation is fine). Make sure you have curl installed:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pkg_add curl%0a%3c $ curl example.com%0a%3c %3c/code>%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c %3ccode>%0a%3c %3c!DOCTYPE html>%0a%3c %3chtml>%0a%3c %3chead>%0a%3c %3cmeta http-equiv="Content-Type" content="text/html; charset=utf-8"/>%0a%3c %3ctitle>302 Found%3c/title>%0a%3c %3cstyle type="text/css">%3c!--%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans%0a%3c MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a%3c hr { border: 0; border-bottom: 1px dashed; }%0a%3c %0a%3c -->%3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>302 Found%3c/h1>%0a%3c %3chr>%0a%3c %3caddress>OpenBSD httpd%3c/address>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c %3c/code>%0a%3c %0a%3c Now you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd:acme-client|acme-client]] instructions, then reset your web server:%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl restart httpd%0a%3c %3c/code>%0a%3c %0a%3c To test if your web server is working and has a correct SSL cert, run:%0a%3c %0a%3c %3ccode>%0a%3c $ openssl s_client -connect example.com:443%0a%3c %3c/code>%0a%3c %0a%3c You should see the correct SSL subject and issuer:%0a%3c %0a%3c %3ccode>%0a%3c subject=/CN=example.com%0a%3c issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3%0a%3c %3c/code>%0a%3c %0a%3c {{ :openbsd:www:ssl-cert.png?direct |}}%0a\ No newline at end of file%0a +host:1597225100=38.81.163.143 blob - /dev/null blob + c3da65e644f5d6011cb3242c090627f6b60a328f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Openrsync @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1610436474 +host=38.87.162.8 +name=Openbsd.Openrsync +rev=7 +targets= +text=(:redirect rsync/usage:)%0a(:title Rsync:)%0a%0a[[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a%0a'''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%0a!! Rsync Primer%0a%0aOpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%0aHere's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file ./%0a@]%0a%0aWe add the option @@-a@@ for archive mode.%0a%0aIf you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a@]%0a%0aThis copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a@]%0a%0aWe add @@-v@@ options to turn on verbosity (it will display each file copied).%0a%0a[@%0a$ rsync username@ircnow.org:/path/to/file ./%0a@]%0a%0a%0a!! Quick Check%0a%0aBefore you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%0a[@%0a$ df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd0a 1005M 111M 844M 12%25 /%0a/dev/sd0k 192G 28.7G 153G 16%25 /home%0a/dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a/dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a/dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a@]%0a%0aBacking up /home will require at least 28.7G of space.%0a%0a%0a[@%0a$ rsync --rsync-path="doas rsync" -av jrmu@jrmu.coconut.ircnow.org:/home /dest/path/%0a@]%0a%0aThis will copy everything in /home into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files).%0a%0a!! Complete Functions%0a%0aPut the following functions at the end of ~/.profile:%0a%0a[@%0arsync-all () {%0a echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a read $cancel%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a date > date%0a md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a}%0a%0a@@rsync-all@@ will make a complete backup of the remote system you specify.%0a%0aSource it, then call it on the server:%0a%0a[@%0a$ . .profile%0a$ rsync-all example.ircnow.org%0a@]%0a +time=1626616918 +title=Rsync +author:1626616918=jrmu +diff:1626616918:1610438988:=1d0%0a%3c (:redirect rsync/usage:)%0a88c87%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1626616918=38.87.162.8 +author:1610438988=jrmu +diff:1610438988:1610438235:=12,31d11%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c We add the option @@-a@@ for archive mode.%0a%3c %0a%3c If you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c This copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c We add @@-v@@ options to turn on verbosity (it will display each file copied).%0a +host:1610438988=125.224.27.48 +author:1610438235=jrmu +diff:1610438235:1610438110:=7,12c7,10%0a%3c !! Rsync Primer%0a%3c %0a%3c OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%3c %0a%3c Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%3c %0a---%0a> !! Quick Check%0a> %0a> Before you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a> %0a14c12,18%0a%3c $ rsync username@ircnow.org:/path/to/file ./%0a---%0a> $ df -h%0a> Filesystem Size Used Avail Capacity Mounted on%0a> /dev/sd0a 1005M 111M 844M 12%25 /%0a> /dev/sd0k 192G 28.7G 153G 16%25 /home%0a> /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a> /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a> /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a17,21c21,28%0a%3c %0a%3c !! Quick Check%0a%3c %0a%3c Before you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%3c %0a---%0a> Backing up /home will require at least 28.7G of space.%0a> %0a> !! Rsync Primer%0a> %0a> OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a> %0a> Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a> %0a23,29c30%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a---%0a> $ rsync username@ircnow.org:/path/to/file ./%0a32c33%0a%3c Backing up /home will require at least 28.7G of space.%0a---%0a> %0a +host:1610438235=125.224.27.48 +author:1610438110=jrmu +diff:1610438110:1610437835:=23,24c23,24%0a%3c !! Rsync Primer%0a%3c %0a---%0a> !! Dump Primer%0a> %0a26,34d25%0a%3c %0a%3c Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%3c %0a%3c [@%0a%3c $ rsync username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c %0a%3c %0a +host:1610438110=125.224.27.48 +author:1610437835=jrmu +diff:1610437835:1610437026:=38,39c38,39%0a%3c rsync-all () {%0a%3c echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a---%0a> dump-ssh () {%0a> echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a52,53c52,70%0a%3c @@rsync-all@@ will make a complete backup of the remote system you specify.%0a%3c %0a---%0a> dump-local () {%0a> echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a> read $cancel%0a> doas dump -0 -a -u -h 0 -f - / > root.dmp%0a> doas dump -0 -a -u -h 0 -f - /home > home.dmp%0a> doas dump -0 -a -u -h 0 -f - /home/vmm > vmm.dmp%0a> doas dump -0 -a -u -h 0 -f - /mnt > mnt.dmp%0a> doas dump -0 -a -u -h 0 -f - /var > var.dmp%0a> doas dump -0 -a -u -h 0 -f - /var/www/htdocs > htdocs.dmp%0a> doas dump -0 -a -u -h 0 -f - /usr > usr.dmp%0a> date > date%0a> md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a> }%0a> @]%0a> %0a> @@dump-local@@ will make a complete local backup of the current system, and @@dump-ssh@@ will make a complete remote backup of the server you specify.%0a> %0a> '''WARNING''': If you have any other partitions besides the ones in the function, you must add them, or the partition will '''not''' get backed up.%0a> %0a58c75,76%0a%3c $ rsync-all example.ircnow.org%0a---%0a> $ dump-ssh example.ircnow.org%0a> $ dump-local%0a +host:1610437835=125.224.27.48 +author:1610437026=jrmu +diff:1610437026:1610436474:=3,4c3,4%0a%3c [[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a%3c %0a---%0a> Rsync is a very useful tool for backing up files on OpenBSD. It can be used remotely.%0a> %0a7,10c7,10%0a%3c !! Quick Check%0a%3c %0a%3c Before you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%3c %0a---%0a> !! Dump Primer%0a> %0a> OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]].%0a> %0a11a12,17%0a> $ openrsync --rsync-path=openrsync -av jrmu@jrmu.coconut.ircnow.org:/home/jrmu ./%0a> @]%0a> %0a> Before you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a> %0a> [@%0a21,26c27,30%0a%3c Backing up /home will require at least 28.7G of space.%0a%3c %0a%3c !! Dump Primer%0a%3c %0a%3c OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%3c %0a---%0a> Dumping /home will require at least 28.7G of space.%0a> %0a> Here's a simple way to dump your /home folder:%0a> %0a28c32%0a%3c $ rsync --rsync-path="doas rsync" -av jrmu@jrmu.coconut.ircnow.org:/home /dest/path/%0a---%0a> $ doas dump -a -f home.dmp /home%0a31,36c35,121%0a%3c This will copy everything in /home into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files).%0a%3c %0a%3c !! Complete Functions%0a%3c %0a%3c Put the following functions at the end of ~/.profile:%0a%3c %0a---%0a> This will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a> %0a> To restore from the dump file to the current directory, first check the size of the dump:%0a> %0a> [@%0a> $ du -sh home.dmp%0a> 29G home.dmp%0a> @]%0a> %0a> We will need at least 29G of disk space in order to restore @@home.dmp@@.%0a> %0a> [@%0a> $ doas restore -rf home.dmp%0a> @]%0a> %0a> @@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a> %0a> '''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a> %0a> !! nodump flags%0a> %0a> Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a> %0a> [@%0a> $ chflags nodump /path/to/file%0a> $ ls -lo /path/to/file%0a> -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a> @]%0a> %0a> For example, if you never edit or store any irreplaceable files in /usr, you can run:%0a> %0a> [@%0a> $ doas chflags -R nodump /usr%0a> $ ls -lo /usr%0a> drwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0a> drwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0a> drwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0a> drwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0a> drwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a> ...%0a> @]%0a> %0a> To remove the nodump flag, run:%0a> %0a> [@%0a> $ chflags -R dump /path/to/file%0a> $ ls -lo /path/to/file%0a> -rw------- 1 username username - 4452 Dec 29 18:53 file%0a> @]%0a> %0a> !! Options%0a> %0a> Let's add some helpful options:%0a> %0a> [@%0a> $ doas dump -0 -a -u -h 0 -f home.dmp /home%0a> @]%0a> %0a> @@-0@@ requests a full backup (a complete copy of the file system). You can use @@-1@@, @@-2@@ and so forth to perform an incremental backup: only files that are new or modified since the last dump of a lower level are copied.%0a> %0a> @@-u@@ update the file /etc/dumpdates to record a successful dump (it's needed to keep track of incremental dumps).%0a> %0a> @@-h 0@@ makes dump obey @@nodump@@ flags for dumps at or above level 0 (in other words, always obey nodump flags).%0a> %0a> !! Dump over SSH%0a> %0a> You can dump to standard output instead of to a file by specifying @@-f -@@:%0a> %0a> '''WARNING''': Do not actually run the next line of code, or else your screen will be garbled and your system may crash. Type @@ctrl+c@@ to cancel if you already have.%0a> %0a> [@%0a> $ doas dump -0 -a -u -h 0 -f - /home%0a> @]%0a> %0a> We can redirect standard output to a file:%0a> %0a> [@%0a> $ doas dump -0 -a -u -h 0 -f - /home > usr.dmp%0a> @]%0a> %0a> We can use a remote host to run the dump command using ssh, then redirect the standard output to a file:%0a> %0a> [@%0a> $ ssh example.ircnow.org "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a> @]%0a> %0a> We take this idea and create a script with it in the next section.%0a +host:1610437026=125.224.27.48 +author:1610436474=jrmu +diff:1610436474:1610436474:=1,167d0%0a%3c (:title Rsync:)%0a%3c %0a%3c Rsync is a very useful tool for backing up files on OpenBSD. It can be used remotely.%0a%3c %0a%3c '''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%3c %0a%3c !! Dump Primer%0a%3c %0a%3c OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]].%0a%3c %0a%3c [@%0a%3c $ openrsync --rsync-path=openrsync -av jrmu@jrmu.coconut.ircnow.org:/home/jrmu ./%0a%3c @]%0a%3c %0a%3c Before you dump, make sure you have enough disk space for the entire dump. To see how much space it will take, and how much you have available, run:%0a%3c %0a%3c [@%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a%3c @]%0a%3c %0a%3c Dumping /home will require at least 28.7G of space.%0a%3c %0a%3c Here's a simple way to dump your /home folder:%0a%3c %0a%3c [@%0a%3c $ doas dump -a -f home.dmp /home%0a%3c @]%0a%3c %0a%3c This will create home.dmp in your current directory. @@-f@@ tells you where the dump file will be created, @@/home@@ is the partition, and @@-a@@ tells dump to "auto-size".%0a%3c %0a%3c To restore from the dump file to the current directory, first check the size of the dump:%0a%3c %0a%3c [@%0a%3c $ du -sh home.dmp%0a%3c 29G home.dmp%0a%3c @]%0a%3c %0a%3c We will need at least 29G of disk space in order to restore @@home.dmp@@.%0a%3c %0a%3c [@%0a%3c $ doas restore -rf home.dmp%0a%3c @]%0a%3c %0a%3c @@-r@@ restores the file system and @@-f@@ reads it from the file home.dmp.%0a%3c %0a%3c '''NOTE''': It is recommended that you restore on a newly created filesystem, see [[https://man.openbsd.org/restore|the man page]] for details.%0a%3c %0a%3c !! nodump flags%0a%3c %0a%3c Some files do not need to backed up because they can easily be downloaded elsewhere. These files can be set to @@nodump@@ using @@chflags@@. You can then use @@ls -lo@@ to view the special flag:%0a%3c %0a%3c [@%0a%3c $ chflags nodump /path/to/file%0a%3c $ ls -lo /path/to/file%0a%3c -rw------- 1 username username nodump 4452 Dec 29 18:53 file%0a%3c @]%0a%3c %0a%3c For example, if you never edit or store any irreplaceable files in /usr, you can run:%0a%3c %0a%3c [@%0a%3c $ doas chflags -R nodump /usr%0a%3c $ ls -lo /usr%0a%3c drwxr-xr-x 7 root wheel nodump 512 Oct 4 18:47 X11R6%0a%3c drwxr-xr-x 2 root wheel nodump 5632 Nov 21 22:17 bin%0a%3c drwxr-xr-x 2 root wheel nodump 1024 Nov 21 22:14 games%0a%3c drwxr-xr-x 33 root bin nodump 3072 Nov 21 22:14 include%0a%3c drwxr-xr-x 7 root wheel nodump 4608 Dec 8 19:22 lib%0a%3c ...%0a%3c @]%0a%3c %0a%3c To remove the nodump flag, run:%0a%3c %0a%3c [@%0a%3c $ chflags -R dump /path/to/file%0a%3c $ ls -lo /path/to/file%0a%3c -rw------- 1 username username - 4452 Dec 29 18:53 file%0a%3c @]%0a%3c %0a%3c !! Options%0a%3c %0a%3c Let's add some helpful options:%0a%3c %0a%3c [@%0a%3c $ doas dump -0 -a -u -h 0 -f home.dmp /home%0a%3c @]%0a%3c %0a%3c @@-0@@ requests a full backup (a complete copy of the file system). You can use @@-1@@, @@-2@@ and so forth to perform an incremental backup: only files that are new or modified since the last dump of a lower level are copied.%0a%3c %0a%3c @@-u@@ update the file /etc/dumpdates to record a successful dump (it's needed to keep track of incremental dumps).%0a%3c %0a%3c @@-h 0@@ makes dump obey @@nodump@@ flags for dumps at or above level 0 (in other words, always obey nodump flags).%0a%3c %0a%3c !! Dump over SSH%0a%3c %0a%3c You can dump to standard output instead of to a file by specifying @@-f -@@:%0a%3c %0a%3c '''WARNING''': Do not actually run the next line of code, or else your screen will be garbled and your system may crash. Type @@ctrl+c@@ to cancel if you already have.%0a%3c %0a%3c [@%0a%3c $ doas dump -0 -a -u -h 0 -f - /home%0a%3c @]%0a%3c %0a%3c We can redirect standard output to a file:%0a%3c %0a%3c [@%0a%3c $ doas dump -0 -a -u -h 0 -f - /home > usr.dmp%0a%3c @]%0a%3c %0a%3c We can use a remote host to run the dump command using ssh, then redirect the standard output to a file:%0a%3c %0a%3c [@%0a%3c $ ssh example.ircnow.org "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c @]%0a%3c %0a%3c We take this idea and create a script with it in the next section.%0a%3c %0a%3c !! Complete Functions%0a%3c %0a%3c Put the following functions at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c dump-ssh () {%0a%3c echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a%3c %0a%3c dump-local () {%0a%3c echo "Dumping in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c doas dump -0 -a -u -h 0 -f - / > root.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /home > home.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /home/vmm > vmm.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /mnt > mnt.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /var > var.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /var/www/htdocs > htdocs.dmp%0a%3c doas dump -0 -a -u -h 0 -f - /usr > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a%3c @]%0a%3c %0a%3c @@dump-local@@ will make a complete local backup of the current system, and @@dump-ssh@@ will make a complete remote backup of the server you specify.%0a%3c %0a%3c '''WARNING''': If you have any other partitions besides the ones in the function, you must add them, or the partition will '''not''' get backed up.%0a%3c %0a%3c Source it, then call it on the server:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c $ dump-ssh example.ircnow.org%0a%3c $ dump-local%0a%3c @]%0a\ No newline at end of file%0a +host:1610436474=125.224.27.48 blob - /dev/null blob + e97f4108e822e1bc0f2d6d7386b356f55d492cd7 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Opensmtpd @@ -0,0 +1,97 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20190105 +author=jrmu +charset=UTF-8 +csum= +ctime=1597284304 +host=125.224.16.135 +name=Openbsd.Opensmtpd +rev=27 +targets=Opensmtpd.Configure,Openbsd.Dovecot,Openbsd.Dkimproxy,Openbsd.Mailopenproxy +text=(:redirect opensmtpd.configure:)%0aNote: This old page is kept for historical purposes. Please consult the [[opensmtpd/configure|new guide]] for an up-to-date version.%0a%0aHere is how I set up my independent mail server. It is based on the old (now deleted) [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14|OpenSMTPd FAQ]].%0a%0a!! Install%0a%0aMake sure to install opensmtpd-extras:%0a%0a[@%0a$ doas pkg_add opensmtpd-extras%0a@]%0a%0a!! Configuration%0a%0aIn my /etc/mail/smtpd.conf:%0a%0a[@%0a# PKI for TLS%0apki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0apki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a%0a# tables setup%0atable aliases file:/etc/mail/aliases%0atable domains file:/etc/mail/domains%0atable passwd passwd:/etc/mail/passwd%0atable virtuals file:/etc/mail/virtuals%0atable hosts file:/etc/mail/hosts%0atable spammers file:/etc/mail/spammers%0a%0a# Blocks junk mail%0afilter check_rdns phase connect match !rdns junk%0afilter check_fcrdns phase connect match !fcrdns junk%0afilter check_spammers phase connect match src %3cspammers> junk%0a%0a# listeners%0aipv4 = "192.168.1.1"%0aipv6 = "2001:db8::"%0a%0a# listeners%0alisten on lo0 mask-src%0alisten on lo0 port 10028 tag DKIM mask-src%0alisten on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%0aaction "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0aaction "relay" relay%0aaction "relay_dkim" relay host smtp://127.0.0.1:10027%0a%0a# If mail is for any of our domains, pass it to dovecot%0amatch from any for domain %3cdomains> action "lmtp"%0a%0a# If mail is tagged with DKIM, relay it out%0amatch tag DKIM for any action "relay"%0a%0a# If mail comes from known good hosts or has been authenticated, relay it to dkimproxy_out%0amatch from src %3chosts> for any action "relay_dkim"%0amatch auth from any for any action "relay_dkim"%0a@]%0a%0aA single user vmail will receive mail for all virtual users:%0a%0a[@%0a$ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a@]%0a%0aThe /etc/passwd file will contain a line similar to this:%0a%0a[@%0avmail:*:1000:1000:Virtual Mail:/var/vmail:/sbin/nologin%0a@]%0a%0a/var/vmail is used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a%0a!! Adding users%0a%0aAt the bottom of /etc/mail/aliases, add these lines:%0a%0a[@%0avmail: /dev/null%0aroot: admin@ircnow.org%0ajrmu: jrmu@ircnow.org%0ausername: username@ircnow.org%0a@]%0a%0aAdd one line for each user.%0a%0aCreate a new file /etc/mail/virtuals and add these lines:%0a%0a[@%0aadmin@ircnow.org vmail%0ajrmu@ircnow.org vmail%0ausername@ircnow.org vmail%0a@]%0a%0aA whitelist of known good senders goes into /etc/mail/hosts:%0a%0a[@%0alocalhost%0a192.168.1.1%0a2001:db8::%0a@]%0a%0aFor /etc/mail/spammers, create a blank file.%0a%0aThe mail sender's hostname goes in /etc/mail/mailname:%0a%0a[@%0amail.ircnow.org%0a@]%0a%0aThe list of domains you send mail for go in /etc/mail/domains:%0a%0a[@%0aircnow.org%0amail.ircnow.org%0a@]%0a%0aIn /etc/mail/passwd, we have a list of colon-separated user credentials:%0a%0a[@%0aadmin@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0ajrmu@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0ausername@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a@]%0a%0a'''WARNING''': Some special characters like $, when used in passwords, will cause issue with opensmtpd. To be safe, you may want to use alphanumeric characters only for your password.%0a%0aMake sure to set the proper permissions:%0a%0a[@%0a$ doas chown -R _smtpd:_dovecot /etc/mail/%0a$ doas chmod o-rx /etc/mail/%0a@]%0a%0a!! Spammers%0a%0aIn /etc/mail/spammers, we have IP addresses separated by newlines.%0a%0a!! IMAP and POP3 via dovecot; mail signing via dkimproxy%0a%0aTake a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[dkimproxy|dkimproxy]] setup for mail signing.%0a%0aThere are some additional steps for how to add a new user here:%0a%0aBased on: https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14%0a%0aTo get hashes:%0a%0a[@%0a$ smtpctl encrypt%0a@]%0a%0a!! Troubleshooting%0a%0aSometimes OpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a%0asmtpd[]: pony express: smtpd: socket: Too many open files%0a%0aTo fix this, you can delete all the temporary files inside OpenSMTPD. '''WARNING''': this will delete any messages in the queue:%0a%0a[@%0a$ doas rcctl stop smtpd%0a$ doas rm -r /var/spool/smtpd/queue/*%0a$ doas rm -r /var/spool/smtpd/offline/*%0a@]%0a%0aAt times, opensmtpd may be unable to connect because outgoing packets are being filtered. For example, suppose you are trying to send a letter to yahoo, but you get errors similar to following, showing a connection timeout:%0a%0a[@%0asmtpd[]: smtp-out: Enabling route [] %3c-> 67.195.204.77 (mtaproxy1.free.mail.vip.bf1.yahoo.com)%0asmtpd[]: smtp-out: Enabling route [] %3c-> 67.195.228.106 (mtaproxy2.free.mail.vip.gq1.yahoo.com)%0asmtpd[]: mta error reason=Connection timeout%0asmtpd[]: smtp-out: Disabling route [] %3c-> 104.47.55.33 (104.47.55.33) for 15s%0a@]%0a%0aAn easy way to test if your packets are being filtered is:%0a%0a[@%0a$ dig -t mx yahoo.com%0a;; ANSWER SECTION:%0ayahoo.com. 395 IN MX 1 mta6.am0.yahoodns.net.%0ayahoo.com. 395 IN MX 1 mta5.am0.yahoodns.net.%0ayahoo.com. 395 IN MX 1 mta7.am0.yahoodns.net.%0a$ nc mta5.am0.yahoodns.net 25%0a@]%0a%0aIf you get no response, then outgoing packets to port 25 are being blocked (often due to firewalls by your VPS provider to block spam). If mail is working, you should see a 220 reply:%0a%0a[@%0a$ nc mta5.am0.yahoodns.net 25%0a220 mtaproxy511.free.mail.ne1.yahoo.com ESMTP ready%0a@]%0a%0aIt is also possible that TLS is being dropped by the firewall. You can test using openssl:%0a%0a[@%0a$ openssl s_client -starttls smtp -connect mta5.am0.yahoodns.net:25%0aCONNECTED(00000003)%0adepth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA%0averify return:1%0adepth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA%0averify return:1%0adepth=0 C = US, ST = California, L = Sunnyvale, O = Oath Inc, CN = *.am0.yahoodns.net%0a...%0a250 STARTTLS%0a@]%0a%0aYou should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a%0aIf you see this warning message in /var/log/maillog:%0a%0a[@%0aDec 6 03:44:17 smtpd[]: info: OpenSMTPD 6.7.0 starting %0aDec 6 03:44:17 smtpd[]: pony express: smtpd: socket: Too many open files %0aDec 6 03:44:17 smtpd[]: warn: lost child: pony express exited abnormally %0a@]%0a%0aThis is due to having too many IP addresses that opensmtpd tries to bind to. This happens when you have a rule that says @@listen on egress@@:%0a%0alisten on egress port 25 tls pki fruit.ircnow.org mask-src filter { check_rdns check_fcrdns }%0alisten on egress port 587 tls-require pki fruit.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a%0aThese two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a%0a[@%0a# listeners%0aipv4 = "192.168.1.1"%0aipv6 = "2001:db8::"%0a%0a...%0a%0a# listeners%0alisten on lo0 mask-src%0alisten on lo0 port 10028 tag DKIM mask-src%0alisten on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0alisten on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a@]%0a%0a!!! Open Mail Relay%0a%0aIf all your email is being marked as spam, check @@/var/log/maillog@@ . If you see a message like the following:%0a%0aJan 8 11:00:29 smtpd[39035]: 83bd6b3b1669649f mta delivery evpid=a8d16cd2144222fa from=%3cspammer@example.com> to=%3cvictim@example.com> rcpt=%3c-> source="192.168.0.1" relay="10.0.0.1 (10.0.0.1)" delay=16h2s result="TempFail" stat="451 4.7.650 The mail server [192.168.0.1] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.example.com (S843)"%0a%0aThen your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a +time=1624414910 +author:1624414910=jrmu +diff:1624414910:1622985096:=1d0%0a%3c (:redirect opensmtpd.configure:)%0a +host:1624414910=125.224.16.135 +author:1622985096=jrmu +diff:1622985096:1612797363:=1,2d0%0a%3c Note: This old page is kept for historical purposes. Please consult the [[opensmtpd/configure|new guide]] for an up-to-date version.%0a%3c %0a249c247%0a%3c Then your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a---%0a> Then your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a\ No newline at end of file%0a +host:1622985096=38.81.163.143 +author:1612797363=jrmu +diff:1612797363:1611800546:=131c131%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/%0a---%0a> $ doas chown -R root:_dovecot /etc/mail/%0a +host:1612797363=198.251.81.119 +author:1611800546=jrmu +diff:1611800546:1611800108:=131c131,133%0a%3c $ doas chown -R root:_dovecot /etc/mail/%0a---%0a> $ doas usermod -G vmail _smtpd%0a> $ doas usermod -G vmail _dovecot%0a> $ doas chown -R root:vmail /etc/mail/%0a +host:1611800546=125.231.24.226 +author:1611800108=jrmu +diff:1611800108:1611582833:=131,133c131,134%0a%3c $ doas usermod -G vmail _smtpd%0a%3c $ doas usermod -G vmail _dovecot%0a%3c $ doas chown -R root:vmail /etc/mail/%0a---%0a> $ doas groupadd mail%0a> $ doas usermod -G mail _smtpd%0a> $ doas usermod -G mail _dovecot%0a> $ doas chown -R root:mail /etc/mail/%0a +host:1611800108=125.231.24.226 +author:1611582833=jrmu +diff:1611582833:1611582526:=134,135c134,137%0a%3c $ doas chown -R root:mail /etc/mail/%0a%3c $ doas chmod o-rx /etc/mail/%0a---%0a> $ doas chown :mail /etc/mail/passwd%0a> $ doas chmod o-rx /etc/mail/passwd%0a> $ ls -lha /etc/mail/passwd%0a> -rw-r----- 1 root mail 737B Oct 20 16:16 passwd%0a +host:1611582833=125.231.20.163 +author:1611582526=jrmu +diff:1611582526:1611496108:=131,134c131,133%0a%3c $ doas groupadd mail%0a%3c $ doas usermod -G mail _smtpd%0a%3c $ doas usermod -G mail _dovecot%0a%3c $ doas chown :mail /etc/mail/passwd%0a---%0a> $ doas usermod -G daemon _smtpd%0a> $ doas usermod -G daemon _dovecot%0a> $ doas chown :daemon /etc/mail/passwd%0a137c136%0a%3c -rw-r----- 1 root mail 737B Oct 20 16:16 passwd%0a---%0a> -rw-r----- 1 root daemon 737B Oct 20 16:16 passwd%0a +host:1611582526=125.231.20.163 +author:1611496108=jrmu +diff:1611496108:1610204226:=131,132d130%0a%3c $ doas usermod -G daemon _smtpd%0a%3c $ doas usermod -G daemon _dovecot%0a +host:1611496108=125.231.20.163 +author:1610204226=jrmu +diff:1610204226:1609937630:=241,249c241%0a%3c @]%0a%3c %0a%3c !!! Open Mail Relay%0a%3c %0a%3c If all your email is being marked as spam, check @@/var/log/maillog@@ . If you see a message like the following:%0a%3c %0a%3c Jan 8 11:00:29 smtpd[39035]: 83bd6b3b1669649f mta delivery evpid=a8d16cd2144222fa from=%3cspammer@example.com> to=%3cvictim@example.com> rcpt=%3c-> source="192.168.0.1" relay="10.0.0.1 (10.0.0.1)" delay=16h2s result="TempFail" stat="451 4.7.650 The mail server [192.168.0.1] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.example.com (S843)"%0a%3c %0a%3c Then your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1610204226=125.224.19.86 +author:1609937630=jrmu +diff:1609937630:1609861461:=131d130%0a%3c $ doas chown :daemon /etc/mail/passwd%0a134c133%0a%3c -rw-r----- 1 root daemon 737B Oct 20 16:16 passwd%0a---%0a> -rw-r----- 1 root wheel 737B Oct 20 16:16 passwd%0a +host:1609937630=125.231.63.134 +author:1609861461=jrmu +diff:1609861461:1607872077:=127,134d126%0a%3c %0a%3c Make sure to set the proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chmod o-rx /etc/mail/passwd%0a%3c $ ls -lha /etc/mail/passwd%0a%3c -rw-r----- 1 root wheel 737B Oct 20 16:16 passwd%0a%3c @]%0a +host:1609861461=125.231.63.134 +author:1607872077=miniontoby +csum:1607872077=dkimproxy link fixed +diff:1607872077:1607438471:=134c134%0a%3c Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[dkimproxy|dkimproxy]] setup for mail signing.%0a---%0a> Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a +host:1607872077=145.132.146.30 +author:1607438471=jrmu +diff:1607438471:1607249640:=216c216%0a%3c These two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a---%0a> These two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@@. To fix this, you must specify the IP addresses you want to listen to:%0a +host:1607438471=198.251.81.119 +author:1607249640=jrmu +diff:1607249640:1606197330:=201,232c201%0a%3c You should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a%3c %0a%3c If you see this warning message in /var/log/maillog:%0a%3c %0a%3c [@%0a%3c Dec 6 03:44:17 smtpd[]: info: OpenSMTPD 6.7.0 starting %0a%3c Dec 6 03:44:17 smtpd[]: pony express: smtpd: socket: Too many open files %0a%3c Dec 6 03:44:17 smtpd[]: warn: lost child: pony express exited abnormally %0a%3c @]%0a%3c %0a%3c This is due to having too many IP addresses that opensmtpd tries to bind to. This happens when you have a rule that says @@listen on egress@@:%0a%3c %0a%3c listen on egress port 25 tls pki fruit.ircnow.org mask-src filter { check_rdns check_fcrdns }%0a%3c listen on egress port 587 tls-require pki fruit.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a%3c %0a%3c These two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@@. To fix this, you must specify the IP addresses you want to listen to:%0a%3c %0a%3c [@%0a%3c # listeners%0a%3c ipv4 = "192.168.1.1"%0a%3c ipv6 = "2001:db8::"%0a%3c %0a%3c ...%0a%3c %0a%3c # listeners%0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c @]%0a\ No newline at end of file%0a---%0a> You should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a\ No newline at end of file%0a +host:1607249640=38.81.163.7 +author:1606197330=jrmu +diff:1606197330:1603804474:=40,41c40,41%0a%3c listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a---%0a> listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src { check_rdns check_fcrdns } hostname ircnow.org%0a +host:1606197330=198.251.81.119 +author:1603804474=jrmu +diff:1603804474:1602945139:=34,37d33%0a%3c ipv4 = "192.168.1.1"%0a%3c ipv6 = "2001:db8::"%0a%3c %0a%3c # listeners%0a40,43c36,37%0a%3c listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a---%0a> listen on egress port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns check_spammers } hostname ircnow.org%0a> listen on egress port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a +host:1603804474=125.231.28.105 +author:1602945139=jrmu +diff:1602945139:1602330906:=119,120d118%0a%3c %0a%3c '''WARNING''': Some special characters like $, when used in passwords, will cause issue with opensmtpd. To be safe, you may want to use alphanumeric characters only for your password.%0a +host:1602945139=125.231.17.204 +author:1602330906=jrmu +diff:1602330906:1599709894:=150,193c150%0a%3c @]%0a%3c %0a%3c At times, opensmtpd may be unable to connect because outgoing packets are being filtered. For example, suppose you are trying to send a letter to yahoo, but you get errors similar to following, showing a connection timeout:%0a%3c %0a%3c [@%0a%3c smtpd[]: smtp-out: Enabling route [] %3c-> 67.195.204.77 (mtaproxy1.free.mail.vip.bf1.yahoo.com)%0a%3c smtpd[]: smtp-out: Enabling route [] %3c-> 67.195.228.106 (mtaproxy2.free.mail.vip.gq1.yahoo.com)%0a%3c smtpd[]: mta error reason=Connection timeout%0a%3c smtpd[]: smtp-out: Disabling route [] %3c-> 104.47.55.33 (104.47.55.33) for 15s%0a%3c @]%0a%3c %0a%3c An easy way to test if your packets are being filtered is:%0a%3c %0a%3c [@%0a%3c $ dig -t mx yahoo.com%0a%3c ;; ANSWER SECTION:%0a%3c yahoo.com. 395 IN MX 1 mta6.am0.yahoodns.net.%0a%3c yahoo.com. 395 IN MX 1 mta5.am0.yahoodns.net.%0a%3c yahoo.com. 395 IN MX 1 mta7.am0.yahoodns.net.%0a%3c $ nc mta5.am0.yahoodns.net 25%0a%3c @]%0a%3c %0a%3c If you get no response, then outgoing packets to port 25 are being blocked (often due to firewalls by your VPS provider to block spam). If mail is working, you should see a 220 reply:%0a%3c %0a%3c [@%0a%3c $ nc mta5.am0.yahoodns.net 25%0a%3c 220 mtaproxy511.free.mail.ne1.yahoo.com ESMTP ready%0a%3c @]%0a%3c %0a%3c It is also possible that TLS is being dropped by the firewall. You can test using openssl:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -starttls smtp -connect mta5.am0.yahoodns.net:25%0a%3c CONNECTED(00000003)%0a%3c depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA%0a%3c verify return:1%0a%3c depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA%0a%3c verify return:1%0a%3c depth=0 C = US, ST = California, L = Sunnyvale, O = Oath Inc, CN = *.am0.yahoodns.net%0a%3c ...%0a%3c 250 STARTTLS%0a%3c @]%0a%3c %0a%3c You should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1602330906=38.81.163.143 +author:1599709894=locustlord +diff:1599709894:1599709481:=26d25%0a%3c table spammers file:/etc/mail/spammers%0a +host:1599709894=70.69.142.62 +author:1599709481=locustlord +diff:1599709481:1598939135:=95,96d94%0a%3c %0a%3c For /etc/mail/spammers, create a blank file.%0a +host:1599709481=70.69.142.62 +author:1598939135=jrmu +diff:1598939135:1598765301:=133,146d132%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Sometimes OpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a%3c %0a%3c smtpd[]: pony express: smtpd: socket: Too many open files%0a%3c %0a%3c To fix this, you can delete all the temporary files inside OpenSMTPD. '''WARNING''': this will delete any messages in the queue:%0a%3c %0a%3c [@%0a%3c $ doas rcctl stop smtpd%0a%3c $ doas rm -r /var/spool/smtpd/queue/*%0a%3c $ doas rm -r /var/spool/smtpd/offline/*%0a +host:1598939135=38.81.163.143 +author:1598765301=jrmu +diff:1598765301:1598218302:=123,133c123%0a%3c Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a%3c %0a%3c There are some additional steps for how to add a new user here:%0a%3c %0a%3c Based on: https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14%0a%3c %0a%3c To get hashes:%0a%3c %0a%3c [@%0a%3c $ smtpctl encrypt%0a%3c @]%0a\ No newline at end of file%0a---%0a> Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a\ No newline at end of file%0a +host:1598765301=38.81.163.143 +author:1598218302=gry +csum:1598218302=added heading +diff:1598218302:1598174119:=3,4c3,4%0a%3c !! Install%0a%3c %0a---%0a> !! Install and configuration%0a> %0a10,11d9%0a%3c %0a%3c !! Configuration%0a +host:1598218302=203.129.25.247 +author:1598174119=gry +csum:1598174119=added headings +diff:1598174119:1598079727:=3,4d2%0a%3c !! Install and configuration%0a%3c %0a65,66d62%0a%3c !! Adding users%0a%3c %0a115,116d110%0a%3c !! Spammers%0a%3c %0a119,121c113%0a%3c !! IMAP and POP3 via dovecot; mail signing via dkimproxy%0a%3c %0a%3c Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a\ No newline at end of file%0a---%0a> Take a look at the sample [[openbsd:mail:dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a\ No newline at end of file%0a +host:1598174119=203.129.25.247 +author:1598079727=jrmu +diff:1598079727:1597915784:=110,111d109%0a%3c %0a%3c In /etc/mail/spammers, we have IP addresses separated by newlines.%0a +host:1598079727=38.81.163.143 +author:1597915784=gry +csum:1597915784=format +diff:1597915784:1597284304:=5c5%0a%3c [@%0a---%0a> %3ccode>%0a7,8c7,8%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a11c11%0a%3c [@%0a---%0a> %3ccode>%0a47,48c47,48%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a51c51%0a%3c [@%0a---%0a> %3ccode>%0a53,54c53,54%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a57c57%0a%3c [@%0a---%0a> %3ccode>%0a59,60c59,60%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a65c65%0a%3c [@%0a---%0a> %3ccode>%0a70,71c70,71%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a76c76%0a%3c [@%0a---%0a> %3ccode>%0a80,81c80,81%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a84c84%0a%3c [@%0a---%0a> %3ccode>%0a88,89c88,89%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a92c92%0a%3c [@%0a---%0a> %3ccode>%0a94,95c94,95%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a98c98%0a%3c [@%0a---%0a> %3ccode>%0a101,102c101,102%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a105c105%0a%3c [@%0a---%0a> %3ccode>%0a109c109%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597915784=203.129.25.247 +author:1597284304=jrmu +diff:1597284304:1597284304:=1,111d0%0a%3c Here is how I set up my independent mail server. It is based on the old (now deleted) [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14|OpenSMTPd FAQ]].%0a%3c %0a%3c Make sure to install opensmtpd-extras:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pkg_add opensmtpd-extras%0a%3c %3c/code>%0a%3c %0a%3c In my /etc/mail/smtpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c # PKI for TLS%0a%3c pki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0a%3c pki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a%3c %0a%3c # tables setup%0a%3c table aliases file:/etc/mail/aliases%0a%3c table domains file:/etc/mail/domains%0a%3c table passwd passwd:/etc/mail/passwd%0a%3c table virtuals file:/etc/mail/virtuals%0a%3c table hosts file:/etc/mail/hosts%0a%3c %0a%3c # Blocks junk mail%0a%3c filter check_rdns phase connect match !rdns junk%0a%3c filter check_fcrdns phase connect match !fcrdns junk%0a%3c filter check_spammers phase connect match src %3cspammers> junk%0a%3c %0a%3c # listeners%0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on egress port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns check_spammers } hostname ircnow.org%0a%3c listen on egress port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c %0a%3c action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0a%3c action "relay" relay%0a%3c action "relay_dkim" relay host smtp://127.0.0.1:10027%0a%3c %0a%3c # If mail is for any of our domains, pass it to dovecot%0a%3c match from any for domain %3cdomains> action "lmtp"%0a%3c %0a%3c # If mail is tagged with DKIM, relay it out%0a%3c match tag DKIM for any action "relay"%0a%3c %0a%3c # If mail comes from known good hosts or has been authenticated, relay it to dkimproxy_out%0a%3c match from src %3chosts> for any action "relay_dkim"%0a%3c match auth from any for any action "relay_dkim"%0a%3c %3c/code>%0a%3c %0a%3c A single user vmail will receive mail for all virtual users:%0a%3c %0a%3c %3ccode>%0a%3c $ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a%3c %3c/code>%0a%3c %0a%3c The /etc/passwd file will contain a line similar to this:%0a%3c %0a%3c %3ccode>%0a%3c vmail:*:1000:1000:Virtual Mail:/var/vmail:/sbin/nologin%0a%3c %3c/code>%0a%3c %0a%3c /var/vmail is used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a%3c %0a%3c At the bottom of /etc/mail/aliases, add these lines:%0a%3c %0a%3c %3ccode>%0a%3c vmail: /dev/null%0a%3c root: admin@ircnow.org%0a%3c jrmu: jrmu@ircnow.org%0a%3c username: username@ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c Add one line for each user.%0a%3c %0a%3c Create a new file /etc/mail/virtuals and add these lines:%0a%3c %0a%3c %3ccode>%0a%3c admin@ircnow.org vmail%0a%3c jrmu@ircnow.org vmail%0a%3c username@ircnow.org vmail%0a%3c %3c/code>%0a%3c %0a%3c A whitelist of known good senders goes into /etc/mail/hosts:%0a%3c %0a%3c %3ccode>%0a%3c localhost%0a%3c 192.168.1.1%0a%3c 2001:db8::%0a%3c %3c/code>%0a%3c %0a%3c The mail sender's hostname goes in /etc/mail/mailname:%0a%3c %0a%3c %3ccode>%0a%3c mail.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c The list of domains you send mail for go in /etc/mail/domains:%0a%3c %0a%3c %3ccode>%0a%3c ircnow.org%0a%3c mail.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c In /etc/mail/passwd, we have a list of colon-separated user credentials:%0a%3c %0a%3c %3ccode>%0a%3c admin@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c jrmu@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c username@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c %3c/code>%0a%3c %0a%3c Take a look at the sample [[openbsd:mail:dovecot|dovecot]] setup for IMAP and POP3, and the sample [[openbsd:mail:dkimproxy|dkimproxy]] setup for mail signing.%0a\ No newline at end of file%0a +host:1597284304=38.81.163.143 blob - /dev/null blob + 4934534470b08cc6a00419f1104c9c985e98d22d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Opensmtpd-2 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744791 +host=38.81.163.143 +name=Openbsd.Opensmtpd-2 +rev=1 +targets= +text=This document describes the process of configuring the OpenSMTPD service as part of the server mail system. The mail system includes the following services: OpenSMTPD, DKIMproxy and Dovecot. But only OpenSMTPD will be considered here.%0a%0a!! Creation of additional service files%0a%0aFirst, let's create additional service files for the server, which will contain users, a list of hosts, and so on. And also we will restrict access to them for other users of the system.%0a%0a[@%0adoas touch /etc/mail/domains%0adoas touch /etc/mail/vusers%0adoas touch /etc/mail/hosts%0adoas touch /etc/mail/passwd%0a@]%0a%0a[@%0adoas chmod 640 /etc/mail/domains%0adoas chmod 640 /etc/mail/vusers%0adoas chmod 640 /etc/mail/hosts%0adoas chmod 640 /etc/mail/passwd%0adoas chmod 640 /etc/mail/smtpd.conf%0a@]%0a%0a!! Creating a configuration file%0a%0aThe next step is to replace the contents of the standard configuration file as here:%0a%0a[@%0apki example.com cert "/etc/ssl/example/example.pem"%0apki example.com key "/etc/ssl/example/private/example.key"%0a%0asmtp max-message-size 5M%0a%0atable aliases file:/etc/mail/aliases%0atable domains file:/etc/mail/domains%0atable hosts file:/etc/mail/hosts%0atable vusers file:/etc/mail/vusers%0atable passwd file:/etc/mail/passwd%0a%0afilter check_rdns phase connect match !rdns junk%0afilter check_fcrdns phase connect match !fcrdns junk%0a%0alisten on lo0 mask-src%0alisten on lo0 port 10028 tag DKIM mask-src%0alisten on egress port 25 tls pki example.com mask-src filter { check_rdns check_fcrdns }%0alisten on egress port 587 tls-require pki grape.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a%0aaction "local_mail" mbox alias %3caliases>%0aaction "relay_dkim" relay host smtp://127.0.0.1:10027%0aaction "relay" relay%0aaction "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvusers>%0a%0amatch from local for rcpt-to regex "^root@|^abuse@|^security@" action "local_mail"%0amatch from local for domain %3cdomains> action "lmtp"%0amatch tag DKIM for any action "relay"%0amatch from local for any action "relay_dkim"%0amatch from src %3chosts> for any action "relay_dkim"%0amatch from auth for any action "relay_dkim"%0amatch from any for domain %3cdomains> action "lmtp"%0a@]%0a%0a!! Additional files%0a%0aIn the first step, we created additional files, now we need to fill them with data.%0a%0aThe domains file is used to receive mail. Therefore, it must contain a list of domains from which the server is an endpoint. In our case, this is so:%0a[@%0aexample.com%0a@]%0a%0aThe hosts file is used for relay operation. It contains a list of remote hosts for which you are allowed to relay mail without authorization. In our case, this is so:%0a[@%0a10.10.10.10%0a@]%0a%0aThe vusers file is used to receive mail. It contains a list of mailboxes. This is an example:%0a[@%0aadmin@example.com mailman%0ahostmaster@example.com mailman%0aircnowguy@example.com mailman%0a@]%0a%0aThe passwd file contains a list of accounts for authorization. This is a possible option:%0a[@%0aircnowguy@example.com:$2b$09$hD17XLkUb4doE3bjvn4v1uYVF3/tldQBKvDTcCbDta1a6NZNA1zue%0a@]%0a%0a!! Service start%0a%0a[@%0adoas rcctl stop smtpd%0adoas rm -r /var/spool/smtpd%0adoas rcctl -d start smtpd%0a@]%0a%0a[@%0adoas rcctl -d start smtpd%0adoing _rc_parse_conf%0adoing _rc_quirks%0asmtpd_flags empty, using default >%3c%0adoing rc_check%0asmtpd%0adoing rc_start%0adoing _rc_wait start%0adoing rc_check%0adoing _rc_write_runfile%0a(ok)%0a@] +time=1597744791 +author:1597744791=jrmu +diff:1597744791:1597744791:=1,106d0%0a%3c This document describes the process of configuring the OpenSMTPD service as part of the server mail system. The mail system includes the following services: OpenSMTPD, DKIMproxy and Dovecot. But only OpenSMTPD will be considered here.%0a%3c %0a%3c !! Creation of additional service files%0a%3c %0a%3c First, let's create additional service files for the server, which will contain users, a list of hosts, and so on. And also we will restrict access to them for other users of the system.%0a%3c %0a%3c [@%0a%3c doas touch /etc/mail/domains%0a%3c doas touch /etc/mail/vusers%0a%3c doas touch /etc/mail/hosts%0a%3c doas touch /etc/mail/passwd%0a%3c @]%0a%3c %0a%3c [@%0a%3c doas chmod 640 /etc/mail/domains%0a%3c doas chmod 640 /etc/mail/vusers%0a%3c doas chmod 640 /etc/mail/hosts%0a%3c doas chmod 640 /etc/mail/passwd%0a%3c doas chmod 640 /etc/mail/smtpd.conf%0a%3c @]%0a%3c %0a%3c !! Creating a configuration file%0a%3c %0a%3c The next step is to replace the contents of the standard configuration file as here:%0a%3c %0a%3c [@%0a%3c pki example.com cert "/etc/ssl/example/example.pem"%0a%3c pki example.com key "/etc/ssl/example/private/example.key"%0a%3c %0a%3c smtp max-message-size 5M%0a%3c %0a%3c table aliases file:/etc/mail/aliases%0a%3c table domains file:/etc/mail/domains%0a%3c table hosts file:/etc/mail/hosts%0a%3c table vusers file:/etc/mail/vusers%0a%3c table passwd file:/etc/mail/passwd%0a%3c %0a%3c filter check_rdns phase connect match !rdns junk%0a%3c filter check_fcrdns phase connect match !fcrdns junk%0a%3c %0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on egress port 25 tls pki example.com mask-src filter { check_rdns check_fcrdns }%0a%3c listen on egress port 587 tls-require pki grape.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a%3c %0a%3c action "local_mail" mbox alias %3caliases>%0a%3c action "relay_dkim" relay host smtp://127.0.0.1:10027%0a%3c action "relay" relay%0a%3c action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvusers>%0a%3c %0a%3c match from local for rcpt-to regex "^root@|^abuse@|^security@" action "local_mail"%0a%3c match from local for domain %3cdomains> action "lmtp"%0a%3c match tag DKIM for any action "relay"%0a%3c match from local for any action "relay_dkim"%0a%3c match from src %3chosts> for any action "relay_dkim"%0a%3c match from auth for any action "relay_dkim"%0a%3c match from any for domain %3cdomains> action "lmtp"%0a%3c @]%0a%3c %0a%3c !! Additional files%0a%3c %0a%3c In the first step, we created additional files, now we need to fill them with data.%0a%3c %0a%3c The domains file is used to receive mail. Therefore, it must contain a list of domains from which the server is an endpoint. In our case, this is so:%0a%3c [@%0a%3c example.com%0a%3c @]%0a%3c %0a%3c The hosts file is used for relay operation. It contains a list of remote hosts for which you are allowed to relay mail without authorization. In our case, this is so:%0a%3c [@%0a%3c 10.10.10.10%0a%3c @]%0a%3c %0a%3c The vusers file is used to receive mail. It contains a list of mailboxes. This is an example:%0a%3c [@%0a%3c admin@example.com mailman%0a%3c hostmaster@example.com mailman%0a%3c ircnowguy@example.com mailman%0a%3c @]%0a%3c %0a%3c The passwd file contains a list of accounts for authorization. This is a possible option:%0a%3c [@%0a%3c ircnowguy@example.com:$2b$09$hD17XLkUb4doE3bjvn4v1uYVF3/tldQBKvDTcCbDta1a6NZNA1zue%0a%3c @]%0a%3c %0a%3c !! Service start%0a%3c %0a%3c [@%0a%3c doas rcctl stop smtpd%0a%3c doas rm -r /var/spool/smtpd%0a%3c doas rcctl -d start smtpd%0a%3c @]%0a%3c %0a%3c [@%0a%3c doas rcctl -d start smtpd%0a%3c doing _rc_parse_conf%0a%3c doing _rc_quirks%0a%3c smtpd_flags empty, using default >%3c%0a%3c doing rc_check%0a%3c smtpd%0a%3c doing rc_start%0a%3c doing _rc_wait start%0a%3c doing rc_check%0a%3c doing _rc_write_runfile%0a%3c (ok)%0a%3c @]%0a\ No newline at end of file%0a +host:1597744791=38.81.163.143 blob - /dev/null blob + 34f268dae59f4c0710eb37428123a0920b4b0b0b (mode 644) --- /dev/null +++ wiki.d/Openbsd.Opensmtpd-relay @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744591 +host=38.81.163.143 +name=Openbsd.Opensmtpd-relay +rev=1 +targets= +text=Inside the sender's /etc/mail/smtpd.conf:%0a%0a[@%0atable aliases file:/etc/mail/aliases%0atable secrets file:/etc/mail/secrets%0a%0alisten on lo0%0a%0aaction "local_mail" mbox alias %3caliases>%0aaction "outbound" relay host smtp+tls://support@ircnow.org:587 \%0aauth %3csecrets>%0a%0amatch for local action "local_mail"%0amatch for any action "outbound"%0a@]%0a%0aInside /etc/mail/secrets:%0a[@%0asupport support@ircnow.org:PASSWORD%0a@]%0a%0a**Note**: You must include the full domain in the username (it may even be necessary to restart opensmtpd) or else you may get an 535 Authentication failed error.%0a%0aInside the mail relay's /etc/mail/smtpd.conf:%0a%0a[@%0apki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0apki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a%0a# tables setup%0atable aliases file:/etc/mail/aliases%0atable domains file:/etc/mail/domains%0atable passwd passwd:/etc/mail/passwd%0atable virtuals file:/etc/mail/virtuals%0atable hosts file:/etc/mail/hosts%0a%0alisten on lo0 mask-src%0alisten on lo0 port 10028 tag DKIM mask-src%0alisten on egress port 25 tls pki mail.ircnow.org mask-src%0alisten on egress port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src %0aaction "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0aaction "relay" relay%0aaction "relay_dkim" relay host smtp://127.0.0.1:10027%0a%0amatch from any for domain %3cdomains> action "lmtp"%0amatch tag DKIM for any action "relay"%0amatch from src %3chosts> for any action "relay_dkim"%0amatch auth from any for any action "relay_dkim"%0a@]%0a%0a**Note**: If you are getting 421 4.3.0 Temporary Error and the following message when you run # smtpd -dv -T all:%0a%0aimsg: pony %3c- queue: IMSG_SMTP_MESSAGE_CREATE (len=12)%0asmtp: >>> 421 4.3.0 Temporary Error%0a%0aThis means smtpd has failed to create the directory or file holding the message. It is a permissions error that can probably be solved by doing this:%0a%0a[@%0a# rcctl stop smtpd%0a# rm -r /var/spool/smtpd%0a# rcctl start smtpd%0a@]%0a +time=1597744591 +author:1597744591=jrmu +diff:1597744591:1597744591:=1,62d0%0a%3c Inside the sender's /etc/mail/smtpd.conf:%0a%3c %0a%3c [@%0a%3c table aliases file:/etc/mail/aliases%0a%3c table secrets file:/etc/mail/secrets%0a%3c %0a%3c listen on lo0%0a%3c %0a%3c action "local_mail" mbox alias %3caliases>%0a%3c action "outbound" relay host smtp+tls://support@ircnow.org:587 \%0a%3c auth %3csecrets>%0a%3c %0a%3c match for local action "local_mail"%0a%3c match for any action "outbound"%0a%3c @]%0a%3c %0a%3c Inside /etc/mail/secrets:%0a%3c [@%0a%3c support support@ircnow.org:PASSWORD%0a%3c @]%0a%3c %0a%3c **Note**: You must include the full domain in the username (it may even be necessary to restart opensmtpd) or else you may get an 535 Authentication failed error.%0a%3c %0a%3c Inside the mail relay's /etc/mail/smtpd.conf:%0a%3c %0a%3c [@%0a%3c pki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0a%3c pki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a%3c %0a%3c # tables setup%0a%3c table aliases file:/etc/mail/aliases%0a%3c table domains file:/etc/mail/domains%0a%3c table passwd passwd:/etc/mail/passwd%0a%3c table virtuals file:/etc/mail/virtuals%0a%3c table hosts file:/etc/mail/hosts%0a%3c %0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on egress port 25 tls pki mail.ircnow.org mask-src%0a%3c listen on egress port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src %0a%3c action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0a%3c action "relay" relay%0a%3c action "relay_dkim" relay host smtp://127.0.0.1:10027%0a%3c %0a%3c match from any for domain %3cdomains> action "lmtp"%0a%3c match tag DKIM for any action "relay"%0a%3c match from src %3chosts> for any action "relay_dkim"%0a%3c match auth from any for any action "relay_dkim"%0a%3c @]%0a%3c %0a%3c **Note**: If you are getting 421 4.3.0 Temporary Error and the following message when you run # smtpd -dv -T all:%0a%3c %0a%3c imsg: pony %3c- queue: IMSG_SMTP_MESSAGE_CREATE (len=12)%0a%3c smtp: >>> 421 4.3.0 Temporary Error%0a%3c %0a%3c This means smtpd has failed to create the directory or file holding the message. It is a permissions error that can probably be solved by doing this:%0a%3c %0a%3c [@%0a%3c # rcctl stop smtpd%0a%3c # rm -r /var/spool/smtpd%0a%3c # rcctl start smtpd%0a%3c @]%0a +host:1597744591=38.81.163.143 blob - /dev/null blob + dc6a8f9671e874f5542cec9a0c0fc6de72412bee (mode 644) --- /dev/null +++ wiki.d/Openbsd.Oscommerce @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597226457 +host=38.81.163.143 +name=Openbsd.Oscommerce +rev=1 +targets= +text=When initially setting up oscommerce, one must first create a database and a user for said database, and the database server should be set to 127.0.0.1 when installing oscommerce (not localhost) in order to function correctly.%0a%0aAlso make sure that /etc/resolv.conf has been coped to /var/www/etc, one can do so with the following command:%0a%0acp /etc/resolv.conf /var/www/etc%0a%0aThe SQL command to create a database is as follows:%0a%0aCREATE DATABASE databasename;%0a%0aThe SQL command to create a user and grant said user permissions to use the database created previously are as follows:%0a%0aGRANT ALL PRIVILEGES ON databasename.* TO "oscuser"@"localhost" IDENTIFIED BY "password";%0a%0aAfter both are created, the permissions should be flushed with the following command:%0a%0aFLUSH PRIVILEGES;%0a%0aThe following section applies only if you are accepting cryptocurrency payments with globee:%0aIn globee module settings, make sure your currency is set to the fiat currency you're listing your prices in, for example if you're listing your prices in USD, make sure you type in USD and only USD, as by default many currencies are there (which should be erased).%0a%0aYou also must move your /etc/cert.pem into the chroot, which can be done with the following command:%0a%0amkdir -p /var/www/etc/ssl && cp /etc/ssl/cert.pem /var/www/etc/ssl%0a%0a +time=1597226457 +author:1597226457=jrmu +diff:1597226457:1597226457:=1,25d0%0a%3c When initially setting up oscommerce, one must first create a database and a user for said database, and the database server should be set to 127.0.0.1 when installing oscommerce (not localhost) in order to function correctly.%0a%3c %0a%3c Also make sure that /etc/resolv.conf has been coped to /var/www/etc, one can do so with the following command:%0a%3c %0a%3c cp /etc/resolv.conf /var/www/etc%0a%3c %0a%3c The SQL command to create a database is as follows:%0a%3c %0a%3c CREATE DATABASE databasename;%0a%3c %0a%3c The SQL command to create a user and grant said user permissions to use the database created previously are as follows:%0a%3c %0a%3c GRANT ALL PRIVILEGES ON databasename.* TO "oscuser"@"localhost" IDENTIFIED BY "password";%0a%3c %0a%3c After both are created, the permissions should be flushed with the following command:%0a%3c %0a%3c FLUSH PRIVILEGES;%0a%3c %0a%3c The following section applies only if you are accepting cryptocurrency payments with globee:%0a%3c In globee module settings, make sure your currency is set to the fiat currency you're listing your prices in, for example if you're listing your prices in USD, make sure you type in USD and only USD, as by default many currencies are there (which should be erased).%0a%3c %0a%3c You also must move your /etc/cert.pem into the chroot, which can be done with the following command:%0a%3c %0a%3c mkdir -p /var/www/etc/ssl && cp /etc/ssl/cert.pem /var/www/etc/ssl%0a%3c %0a +host:1597226457=38.81.163.143 blob - /dev/null blob + 6fcb2c193a2e377e1e4b32f27087f12eb65b7a85 (mode 644) --- /dev/null +++ wiki.d/Openbsd.PFStable @@ -0,0 +1,106 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum= +ctime=1609294740 +host=77.168.188.164 +name=Openbsd.PFStable +rev=31 +targets=Openbsd.Netadmin,Openbsd.Buyvm,Openbsd.Vmmuser,Openbsd.Tcpdump,Openbsd.SYNFlood,Openbsd.Ilines,Openbsd.Ntpd,Openbsd.Nsd,Openbsd.Sshbackdoor,Openbsd.Iked,Openbsd.Pf,Openbsd.Ddos +text=(:title Sample PF for Stable:)%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section and the [[openbsd/netadmin|NetAdmin Code]].%0a%0a!! Ruleset with Explanation%0a%0aHere's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers). We include a rule-by-rule explanation. For the complete ruleset (without commentary), see the next section.%0a%0a[@%0aExtIf = "vio0"%0aIP4 = "10.0.0.1"%0aUnIP4 = "192.168.0.1"%0aIP6 = "2001:db8::/80"%0a@]%0a%0aExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmuser|VMM]] users), IP4 is your DDoS-filtered IPv4 address, UnIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%0a[@%0aFlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0aFlush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0aFlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a@]%0a%0aThis defines 3 macros.%0a%0aFor FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a%0aFor Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%0aFlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%0a[@%0aset skip on lo0%0aset loginterface $ExtIf%0a#set ruleset-optimization profile%0aset syncookies adaptive (start 25%25, end 12%25)%0a@]%0a%0aWe skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a%0a[@%0atable %3cilines> persist file "/etc/pf/ilines"%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a@]%0a%0aWe load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a%0a[@%0ablock in log quick from %3cbadhosts>%0apass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0apass in log quick proto udp to {$UnIP4 $IP6} port ntp $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0ablock in log quick proto udp to {$IP4 $IP6}%0ablock in log quick from urpf-failed%0amatch in log all scrub (no-df random-id max-mss 1440)%0a@]%0a%0aWe immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a%0a'''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a%0a[@%0apass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0apass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag (MTU)%0apass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a@]%0a%0aWe allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a%0a[@%0apass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0apass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0apass in log quick proto tcp to {$IP4 $IP6} port { 12742 29173 } $Flush #wraith%0apass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #paster%0apass in log quick proto tcp to {$IP4 $UnIP4 $IP6} port ssh $FlushStrict%0a@]%0a%0aWe immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a%0aIf the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a%0aWe immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer, wraith, or the paster.%0a%0aFor ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a%0a[@%0a# road warrior vpn%0apass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0apass in log inet proto esp to {$IP4 $IP6} tag IKED%0apass log on enc0 inet tagged ROADW%0amatch out log on $ExtIf inet tagged ROADW nat-to $IP4%0amatch in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0aThis section is for IPSec VPNs using [[openbsd/iked|iked]].%0a%0a[@%0ablock in log all%0ablock out log on $UnIP4%0apass out quick from {$IP4 $IP6} # allow non-spoofed packets%0apass out quick proto tcp from $UnIP4 to port ssh%0apass out quick proto udp from $UnIP4 to port ntp%0apass out quick proto {udp tcp} from $UnIP4 to port {domain}%0apass out quick inet proto icmp from $UnIP4 # allow ICMP%0a@]%0a%0aWe block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a%0a!! Complete Ruleset%0a%0aHere's the /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers) without any commentary:%0a%0a[@%0aExtIf = "vio0"%0aIP4 = "10.0.0.1"%0aUnIP4 = "192.168.0.1"%0aIP6 = "2001:db8::/80"%0aFlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0aFlush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0aFlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%0aset skip on lo0%0aset loginterface $ExtIf%0a#set ruleset-optimization profile%0aset syncookies adaptive (start 25%25, end 12%25)%0a%0atable %3cilines> persist file "/etc/pf/ilines"%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a%0a# udp and icmp%0ablock in log quick from %3cbadhosts>%0apass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0apass in log quick proto udp to {$UnIP4 $IP6} port ntp $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0ablock in log quick proto udp to {$IP4 $IP6}%0ablock in log quick from urpf-failed%0amatch in log all scrub (no-df random-id max-mss 1440)%0apass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0apass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag (MTU)%0apass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a# tcp%0apass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0apass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0apass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0apass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #paster%0apass in log quick proto tcp to {$IP4 $UnIP4 $IP6} port ssh $FlushStrict%0a%0a# road warrior vpn%0apass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0apass in log inet proto esp to {$IP4 $IP6} tag IKED%0apass log on enc0 inet tagged ROADW%0amatch out log on $ExtIf inet tagged ROADW nat-to $IP4%0amatch in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%0ablock in log all%0ablock out log on $UnIP4%0apass out quick from {$IP4 $IP6} # allow non-spoofed packets%0apass out quick proto tcp from $UnIP4 to port ssh%0apass out quick proto udp from $UnIP4 to port ntp%0apass out quick proto {udp tcp} from $UnIP4 to port {domain}%0apass out quick inet proto icmp from $UnIP4 # allow ICMP%0a@]%0a%0aYou will then need to create a folder:%0a%0a[@%0a$ doas mkdir /etc/pf/%0a@]%0a%0aThen, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%0a[@%0a198.251.89.130%0a198.251.83.183%0a209.141.39.184%0a209.141.39.228%0a198.251.84.240%0a198.251.80.229%0a198.251.81.119%0a209.141.39.173%0a198.251.89.91%0a198.251.81.44%0a209.141.38.137%0a198.251.81.133%0a2605:6400:0030:f8de::/64%0a2605:6400:0010:071b::/64%0a2605:6400:0020:0434::/64%0a2605:6400:0020:00b4::/64%0a2605:6400:0010:05bf::/64%0a2605:6400:0030:fc15::/64%0a2605:6400:0020:1290::/64%0a2605:6400:0020:0bb8::/64%0a2605:6400:0030:faa1::/64%0a2605:6400:0010:069d::/64%0a2605:6400:0020:05cc::/64%0a2605:6400:0010:00fe::/64%0a@]%0a%0aAfterwards, any badhosts can be added to /etc/pf/badhosts:%0a%0a[@%0a0.0.0.0/8%0a127.0.0.0/8%0a169.254.0.0/16%0a172.16.0.0/12%0a192.0.0.0/24%0a192.0.2.0/24%0a224.0.0.0/3%0a192.168.0.0/16%0a198.18.0.0/15%0a198.51.100.0/24%0a203.0.113.0/24%0a@]%0a%0aThese are all reserved IPs and no authentic traffic should come from these source IPs. Note that we deliberately leave out 10.0.0.0/8 because we will use this subnet for IPSec.%0a%0aTo load the new configuration:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a!! Troubleshooting%0a%0a'''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a%0aTo test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a%0aPlease also set aside 24-48 hours to monitor any bug reports from users.%0a%0a!! See Also%0a%0a|| [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a +time=1632497293 +title=Sample PF for Stable +author:1632497293=miniontoby +diff:1632497293:1621206957:=64c64,65%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag (MTU)%0a---%0a> pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a> (MTU)%0a144c145,146%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag (MTU)%0a---%0a> pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a> (MTU)%0a +host:1632497293=77.168.188.164 +author:1621206957=jrmu +diff:1621206957:1619703735:=80d79%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #paster%0a88,89c87,88%0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer, wraith, or the paster.%0a%3c %0a---%0a> We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a> %0a157d155%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 7777 $Flush #paster%0a245c243%0a%3c || [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a---%0a> || [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a\ No newline at end of file%0a +host:1621206957=38.81.163.143 +author:1619703735=jrmu +diff:1619703735:1612701835:=16c16%0a%3c ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmuser|VMM]] users), IP4 is your DDoS-filtered IPv4 address, UnIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a---%0a> ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, UnIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a +host:1619703735=198.251.81.119 +author:1612701835=jrmu +diff:1612701835:1611849771:=12c12%0a%3c UnIP4 = "192.168.0.1"%0a---%0a> IntIP4 = "192.168.0.1"%0a16,17c16,17%0a%3c ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, UnIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%3c %0a---%0a> ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a> %0a51c51%0a%3c pass in log quick proto udp to {$UnIP4 $IP6} port ntp $FlushUDP%0a---%0a> pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a80c80%0a%3c pass in log quick proto tcp to {$IP4 $UnIP4 $IP6} port ssh $FlushStrict%0a---%0a> pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a104c104%0a%3c block out log on $UnIP4%0a---%0a> block out log on $IntIP4%0a106,109c106,109%0a%3c pass out quick proto tcp from $UnIP4 to port ssh%0a%3c pass out quick proto udp from $UnIP4 to port ntp%0a%3c pass out quick proto {udp tcp} from $UnIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $UnIP4 # allow ICMP%0a---%0a> pass out quick proto tcp from $IntIP4 to port ssh%0a> pass out quick proto udp from $IntIP4 to port ntp%0a> pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a> pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a121c121%0a%3c UnIP4 = "192.168.0.1"%0a---%0a> IntIP4 = "192.168.0.1"%0a138c138%0a%3c pass in log quick proto udp to {$UnIP4 $IP6} port ntp $FlushUDP%0a---%0a> pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a156,157c156,157%0a%3c pass in log quick proto tcp to {$IP4 $UnIP4 $IP6} port ssh $FlushStrict%0a%3c %0a---%0a> pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a> %0a166c166%0a%3c block out log on $UnIP4%0a---%0a> block out log on $IntIP4%0a168,171c168,171%0a%3c pass out quick proto tcp from $UnIP4 to port ssh%0a%3c pass out quick proto udp from $UnIP4 to port ntp%0a%3c pass out quick proto {udp tcp} from $UnIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $UnIP4 # allow ICMP%0a---%0a> pass out quick proto tcp from $IntIP4 to port ssh%0a> pass out quick proto udp from $IntIP4 to port ntp%0a> pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a> pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a +host:1612701835=198.251.81.119 +author:1611849771=jrmu +diff:1611849771:1609501291:=79c79%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 12742 29173 } $Flush #wraith%0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a +host:1611849771=125.231.24.226 +author:1609501291=jrmu +diff:1609501291:1609500859:=213,214c213,214%0a%3c 127.0.0.0/8%0a%3c 169.254.0.0/16%0a---%0a> 127.0.0.0/8 %0a> 169.254.0.0/16 %0a217,218c217,218%0a%3c 192.0.2.0/24%0a%3c 224.0.0.0/3%0a---%0a> 192.0.2.0/24 %0a> 224.0.0.0/3 %0a220,221c220,221%0a%3c 198.18.0.0/15%0a%3c 198.51.100.0/24%0a---%0a> 198.18.0.0/15 %0a> 198.51.100.0/24 %0a +host:1609501291=198.251.81.119 +author:1609500859=jrmu +diff:1609500859:1609470430:=209,225c209%0a%3c Afterwards, any badhosts can be added to /etc/pf/badhosts:%0a%3c %0a%3c [@%0a%3c 0.0.0.0/8%0a%3c 127.0.0.0/8 %0a%3c 169.254.0.0/16 %0a%3c 172.16.0.0/12%0a%3c 192.0.0.0/24%0a%3c 192.0.2.0/24 %0a%3c 224.0.0.0/3 %0a%3c 192.168.0.0/16%0a%3c 198.18.0.0/15 %0a%3c 198.51.100.0/24 %0a%3c 203.0.113.0/24%0a%3c @]%0a%3c %0a%3c These are all reserved IPs and no authentic traffic should come from these source IPs. Note that we deliberately leave out 10.0.0.0/8 because we will use this subnet for IPSec.%0a---%0a> Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a +host:1609500859=198.251.81.119 +author:1609470430=jrmu +diff:1609470430:1609332077:=5,8c5,6%0a%3c !! Ruleset with Explanation%0a%3c %0a%3c Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers). We include a rule-by-rule explanation. For the complete ruleset (without commentary), see the next section.%0a%3c %0a---%0a> Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers). See the Comments section below for a rule-by-rule explanation:%0a> %0a14,18d11%0a%3c @]%0a%3c %0a%3c ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%3c %0a%3c [@%0a22,32c15%0a%3c @]%0a%3c %0a%3c This defines 3 macros.%0a%3c %0a%3c For FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a%3c %0a%3c For Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a%3c FlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a%3c [@%0a---%0a> %0a37,41c20%0a%3c @]%0a%3c %0a%3c We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a%3c %0a%3c [@%0a---%0a> %0a44,48c23,24%0a%3c @]%0a%3c %0a%3c We load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a%3c %0a%3c [@%0a---%0a> %0a> # udp and icmp%0a56,62d31%0a%3c @]%0a%3c %0a%3c We immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a%3c %0a%3c '''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a%3c %0a%3c [@%0a67,71c36%0a%3c @]%0a%3c %0a%3c We allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a%3c %0a%3c [@%0a---%0a> # tcp%0a81,91c46%0a%3c @]%0a%3c %0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a%3c %0a%3c If the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a%3c %0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a%3c %0a%3c For ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a%3c %0a%3c [@%0a---%0a> %0a98,102c53%0a%3c @]%0a%3c %0a%3c This section is for IPSec VPNs using [[openbsd/iked|iked]].%0a%3c %0a%3c [@%0a---%0a> %0a112,117c63,64%0a%3c We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a%3c %0a%3c !! Complete Ruleset%0a%3c %0a%3c Here's the /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers) without any commentary:%0a%3c %0a---%0a> You will then need to create a folder:%0a> %0a118a66,116%0a> $ doas mkdir /etc/pf/%0a> @]%0a> %0a> Then, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a> %0a> [@%0a> 198.251.89.130%0a> 198.251.83.183%0a> 209.141.39.184%0a> 209.141.39.228%0a> 198.251.84.240%0a> 198.251.80.229%0a> 198.251.81.119%0a> 209.141.39.173%0a> 198.251.89.91%0a> 198.251.81.44%0a> 209.141.38.137%0a> 198.251.81.133%0a> 2605:6400:0030:f8de::/64%0a> 2605:6400:0010:071b::/64%0a> 2605:6400:0020:0434::/64%0a> 2605:6400:0020:00b4::/64%0a> 2605:6400:0010:05bf::/64%0a> 2605:6400:0030:fc15::/64%0a> 2605:6400:0020:1290::/64%0a> 2605:6400:0020:0bb8::/64%0a> 2605:6400:0030:faa1::/64%0a> 2605:6400:0010:069d::/64%0a> 2605:6400:0020:05cc::/64%0a> 2605:6400:0010:00fe::/64%0a> @]%0a> %0a> Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a> %0a> To load the new configuration:%0a> %0a> [@%0a> $ doas pfctl -f /etc/pf.conf%0a> @]%0a> %0a> !! Troubleshooting%0a> %0a> '''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a> %0a> To test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a> %0a> Please also set aside 24-48 hours to monitor any bug reports from users.%0a> %0a> !! Comments%0a> %0a> [@%0a122a121,125%0a> @]%0a> %0a> ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a> %0a> [@%0a126c129,139%0a%3c %0a---%0a> @]%0a> %0a> This defines 3 macros.%0a> %0a> For FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a> %0a> For Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a> %0a> FlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a> %0a> [@%0a131c144,148%0a%3c %0a---%0a> @]%0a> %0a> We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a> %0a> [@%0a134,135c151,155%0a%3c %0a%3c # udp and icmp%0a---%0a> @]%0a> %0a> We load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a> %0a> [@%0a142a163,169%0a> @]%0a> %0a> We immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a> %0a> '''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a> %0a> [@%0a147c174,178%0a%3c # tcp%0a---%0a> @]%0a> %0a> We allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a> %0a> [@%0a157c188,198%0a%3c %0a---%0a> @]%0a> %0a> We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a> %0a> If the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a> %0a> We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a> %0a> For ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a> %0a> [@%0a164c205,209%0a%3c %0a---%0a> @]%0a> %0a> This section is for IPSec VPNs using [[openbsd/iked|iked]].%0a> %0a> [@%0a174,223c219%0a%3c You will then need to create a folder:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /etc/pf/%0a%3c @]%0a%3c %0a%3c Then, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%3c %0a%3c [@%0a%3c 198.251.89.130%0a%3c 198.251.83.183%0a%3c 209.141.39.184%0a%3c 209.141.39.228%0a%3c 198.251.84.240%0a%3c 198.251.80.229%0a%3c 198.251.81.119%0a%3c 209.141.39.173%0a%3c 198.251.89.91%0a%3c 198.251.81.44%0a%3c 209.141.38.137%0a%3c 198.251.81.133%0a%3c 2605:6400:0030:f8de::/64%0a%3c 2605:6400:0010:071b::/64%0a%3c 2605:6400:0020:0434::/64%0a%3c 2605:6400:0020:00b4::/64%0a%3c 2605:6400:0010:05bf::/64%0a%3c 2605:6400:0030:fc15::/64%0a%3c 2605:6400:0020:1290::/64%0a%3c 2605:6400:0020:0bb8::/64%0a%3c 2605:6400:0030:faa1::/64%0a%3c 2605:6400:0010:069d::/64%0a%3c 2605:6400:0020:05cc::/64%0a%3c 2605:6400:0010:00fe::/64%0a%3c @]%0a%3c %0a%3c Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a%3c %0a%3c To load the new configuration:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c '''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a%3c %0a%3c To test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a%3c %0a%3c Please also set aside 24-48 hours to monitor any bug reports from users.%0a---%0a> We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a +host:1609470430=198.251.81.119 +author:1609332077=jrmu +diff:1609332077:1609331006:=105,112d104%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c '''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a%3c %0a%3c To test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a%3c %0a%3c Please also set aside 24-48 hours to monitor any bug reports from users.%0a +host:1609332077=198.251.81.119 +author:1609331006=jrmu +diff:1609331006:1609330964:=57,58c57%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto udp from $IntIP4 to port ntp%0a---%0a> pass out quick proto tcp from $IntIP4 to port {ssh ntp}%0a205,206c204%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto udp from $IntIP4 to port ntp%0a---%0a> pass out quick proto tcp from $IntIP4 to port {ssh ntp}%0a +host:1609331006=198.251.81.119 +author:1609330964=jrmu +diff:1609330964:1609330938:=57c57%0a%3c pass out quick proto tcp from $IntIP4 to port {ssh ntp}%0a---%0a> pass out quick proto tcp from $IntIP4 to port ssh%0a +host:1609330964=198.251.81.119 +author:1609330938=jrmu +diff:1609330938:1609330893:=209c209%0a%3c We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a---%0a> We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh domain queries%0a +host:1609330938=198.251.81.119 +author:1609330893=jrmu +diff:1609330893:1609329879:=137,138c137,138%0a%3c We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a%3c %0a---%0a> We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a> %0a204c204%0a%3c pass out quick proto tcp from $IntIP4 to port {ssh ntp}%0a---%0a> pass out quick proto tcp from $IntIP4 to port ssh%0a208,209d207%0a%3c %0a%3c We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh domain queries%0a +host:1609330893=198.251.81.119 +author:1609329879=jrmu +diff:1609329879:1609329539:=172c172,173%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a> op3s} $Flush%0a174,175c175,178%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0a---%0a> pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a> 9999 16667 16697 } #irc%0a> pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a> 697 } $Flush #irc%0a181,187c184%0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a%3c %0a%3c If the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a%3c %0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a%3c %0a%3c For ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a---%0a> We allow%0a +host:1609329879=198.251.81.119 +author:1609329539=jrmu +diff:1609329539:1609329326:=160d159%0a%3c [@%0a165,169c164%0a%3c @]%0a%3c %0a%3c We allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a%3c %0a%3c [@%0a---%0a> # tcp%0a182,186c177%0a%3c @]%0a%3c %0a%3c We allow%0a%3c %0a%3c [@%0a---%0a> %0a193,197c184%0a%3c @]%0a%3c %0a%3c This section is for IPSec VPNs using [[openbsd/iked|iked]].%0a%3c %0a%3c [@%0a---%0a> %0a204c191%0a%3c @]%0a---%0a> %0a +host:1609329539=198.251.81.119 +author:1609329326=jrmu +diff:1609329326:1609329124:=156,158c156%0a%3c We immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a%3c %0a%3c '''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a---%0a> We immediately block all packets from '''badhosts'''%0a +host:1609329326=198.251.81.119 +author:1609329124=jrmu +diff:1609329124:1609328928:=144,145c144,145%0a%3c We load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a%3c %0a---%0a> We load two tables, one with ilines (with IRCNow-approved IPs), and another with a list of badhosts (known criminals and enemies).%0a> %0a146a147%0a> # udp and icmp%0a155,156d155%0a%3c %0a%3c We immediately block all packets from '''badhosts'''%0a +host:1609329124=198.251.81.119 +author:1609328928=jrmu +diff:1609328928:1609328423:=139d138%0a%3c [@%0a142,146c141%0a%3c @]%0a%3c %0a%3c We load two tables, one with ilines (with IRCNow-approved IPs), and another with a list of badhosts (known criminals and enemies).%0a%3c %0a%3c [@%0a---%0a> %0a155,156d149%0a%3c @]%0a%3c %0a +host:1609328928=198.251.81.119 +author:1609328423=jrmu +diff:1609328423:1609328369:=3c3,21%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section and the [[openbsd/netadmin|NetAdmin Code]].%0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section.%0a> %0a> [@%0a> Repeat after me:%0a> %0a> This is my network. %0a> %0a> It is mine %0a> technically it belongs to WE THE USERS%0a> it is my responsibility %0a> and I care for it with all my heart%0a> %0a> there are many other networks a lot like mine,%0a> but none are just like it.%0a> %0a> I will not mindlessly paste from HOWTOs.%0a> @]%0a> %0a> (Based on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]])%0a +host:1609328423=198.251.81.119 +author:1609328369=jrmu +diff:1609328369:1609328346:=6,7d5%0a%3c Repeat after me:%0a%3c %0a +host:1609328369=198.251.81.119 +author:1609328346=jrmu +diff:1609328346:1609328098:=4,19d3%0a%3c %0a%3c [@%0a%3c This is my network. %0a%3c %0a%3c It is mine %0a%3c technically it belongs to WE THE USERS%0a%3c it is my responsibility %0a%3c and I care for it with all my heart%0a%3c %0a%3c there are many other networks a lot like mine,%0a%3c but none are just like it.%0a%3c %0a%3c I will not mindlessly paste from HOWTOs.%0a%3c @]%0a%3c %0a%3c (Based on [[https://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html]])%0a +host:1609328346=198.251.81.119 +author:1609328098=jrmu +diff:1609328098:1609328021:=137c137%0a%3c We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a---%0a> We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/synflood|synflood]] attacks.%0a +host:1609328098=198.251.81.119 +author:1609328021=jrmu +diff:1609328021:1609327950:=5c5%0a%3c Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers). See the Comments section below for a rule-by-rule explanation:%0a---%0a> Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a +host:1609328021=198.251.81.119 +author:1609327950=jrmu +diff:1609327950:1609327811:=2,3d1%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section.%0a +host:1609327950=198.251.81.119 +author:1609327811=jrmu +diff:1609327811:1609327575:=16c16%0a%3c #set ruleset-optimization profile%0a---%0a> set ruleset-optimization profile%0a126,128c126%0a%3c FlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a%3c [@%0a---%0a> %0a131c129%0a%3c #set ruleset-optimization profile%0a---%0a> set ruleset-optimization profile%0a133,135d130%0a%3c @]%0a%3c %0a%3c We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/synflood|synflood]] attacks.%0a +host:1609327811=198.251.81.119 +author:1609327575=jrmu +diff:1609327575:1609327314:=10,13c10,16%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a---%0a> FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a> 200, max-src-states 200)"%0a> Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a> 00/10 overload %3cbadhosts> flush global)"%0a> FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a> te 50/10 overload %3cbadhosts> flush global)"%0a> %0a37c40,41%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a> op3s} $Flush%0a39,40c43,46%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0a---%0a> pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a> 9999 16667 16697 } #irc%0a> pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a> 697 } $Flush #irc%0a114,125c120,125%0a%3c [@%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%3c @]%0a%3c %0a%3c This defines 3 macros.%0a%3c %0a%3c For FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a%3c %0a%3c For Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a---%0a> FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a> 200, max-src-states 200)"%0a> Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a> 00/10 overload %3cbadhosts> flush global)"%0a> FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a> te 50/10 overload %3cbadhosts> flush global)"%0a +host:1609327575=198.251.81.119 +author:1609327314=jrmu +diff:1609327314:1609327134:=108,174d107%0a%3c %0a%3c !! Comments%0a%3c %0a%3c [@%0a%3c ExtIf = "vio0"%0a%3c IP4 = "10.0.0.1"%0a%3c IntIP4 = "192.168.0.1"%0a%3c IP6 = "2001:db8::/80"%0a%3c @]%0a%3c %0a%3c ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%3c %0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a%3c 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a%3c 00/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a%3c te 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a%3c set skip on lo0%0a%3c set loginterface $ExtIf%0a%3c set ruleset-optimization profile%0a%3c set syncookies adaptive (start 25%25, end 12%25)%0a%3c %0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a%3c %0a%3c # udp and icmp%0a%3c block in log quick from %3cbadhosts>%0a%3c pass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0a%3c pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0a%3c block in log quick proto udp to {$IP4 $IP6}%0a%3c block in log quick from urpf-failed%0a%3c match in log all scrub (no-df random-id max-mss 1440)%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a%3c (MTU)%0a%3c pass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a%3c # tcp%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a%3c op3s} $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a%3c 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a%3c 697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%3c %0a%3c # road warrior vpn%0a%3c pass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED%0a%3c pass log on enc0 inet tagged ROADW%0a%3c match out log on $ExtIf inet tagged ROADW nat-to $IP4%0a%3c match in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a%3c block in log all%0a%3c block out log on $IntIP4%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a%3c %0a +host:1609327314=198.251.81.119 +author:1609327134=jrmu +diff:1609327134:1609326929:=47c47%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0a +host:1609327134=198.251.81.119 +author:1609326929=jrmu +diff:1609326929:1609326272:= +host:1609326929=198.251.81.119 +author:1609326272=jrmu +diff:1609326272:1609294740:=28c28%0a%3c pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a---%0a> pass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0a +host:1609326272=198.251.81.119 +author:1609294740=jrmu +diff:1609294740:1609294740:=1,111d0%0a%3c (:title Sample PF for Stable:)%0a%3c %0a%3c Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a%3c %0a%3c [@%0a%3c ExtIf = "vio0"%0a%3c IP4 = "10.0.0.1"%0a%3c IntIP4 = "192.168.0.1"%0a%3c IP6 = "2001:db8::/80"%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a%3c 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a%3c 00/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a%3c te 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a%3c set skip on lo0%0a%3c set loginterface $ExtIf%0a%3c set ruleset-optimization profile%0a%3c set syncookies adaptive (start 25%25, end 12%25)%0a%3c %0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a%3c %0a%3c # udp and icmp%0a%3c block in log quick from %3cbadhosts>%0a%3c pass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0a%3c block in log quick proto udp to {$IP4 $IP6}%0a%3c block in log quick from urpf-failed%0a%3c match in log all scrub (no-df random-id max-mss 1440)%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a%3c (MTU)%0a%3c pass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a%3c # tcp%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a%3c op3s} $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a%3c 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a%3c 697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%3c %0a%3c # road warrior vpn%0a%3c pass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED%0a%3c pass log on enc0 inet tagged ROADW%0a%3c match out log on $ExtIf inet tagged ROADW nat-to $IP4%0a%3c match in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a%3c block in log all%0a%3c block out log on $IntIP4%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a%3c @]%0a%3c %0a%3c You will then need to create a folder:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /etc/pf/%0a%3c @]%0a%3c %0a%3c Then, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%3c %0a%3c [@%0a%3c 198.251.89.130%0a%3c 198.251.83.183%0a%3c 209.141.39.184%0a%3c 209.141.39.228%0a%3c 198.251.84.240%0a%3c 198.251.80.229%0a%3c 198.251.81.119%0a%3c 209.141.39.173%0a%3c 198.251.89.91%0a%3c 198.251.81.44%0a%3c 209.141.38.137%0a%3c 198.251.81.133%0a%3c 2605:6400:0030:f8de::/64%0a%3c 2605:6400:0010:071b::/64%0a%3c 2605:6400:0020:0434::/64%0a%3c 2605:6400:0020:00b4::/64%0a%3c 2605:6400:0010:05bf::/64%0a%3c 2605:6400:0030:fc15::/64%0a%3c 2605:6400:0020:1290::/64%0a%3c 2605:6400:0020:0bb8::/64%0a%3c 2605:6400:0030:faa1::/64%0a%3c 2605:6400:0010:069d::/64%0a%3c 2605:6400:0020:05cc::/64%0a%3c 2605:6400:0010:00fe::/64%0a%3c @]%0a%3c %0a%3c Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a%3c %0a%3c To load the new configuration:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a\ No newline at end of file%0a +host:1609294740=198.251.81.119 blob - /dev/null blob + 9e6e57ab5d10779569160fedf31f361ca1989ef0 (mode 644) --- /dev/null +++ wiki.d/Openbsd.PFTesting @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609294892 +host=125.231.20.163 +name=Openbsd.PFTesting +rev=6 +targets=Openbsd.Netadmin,Ircnow.Stable,Ircnow.Testing,Openbsd.Ilines,Openbsd.Buyvm,Openbsd.Vmmusers,Openbsd.Tcpdump,Openbsd.SYNFlood,Openbsd.Ntpd,Openbsd.Nsd,Openbsd.Sshbackdoor,Openbsd.Iked,Openbsd.Pf,Openbsd.Ddos +text=(:title Sample PF for Testing:)%0a%0a!! NOT DONE DO NOT USE%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section and the [[openbsd/netadmin|NetAdmin Code]].%0a%0aHere's a sample /etc/pf.conf for [[ircnow/testing]] servers (do '''NOT''' use this for [[ircnow/stable|stable]], znc-only servers). See the Comments section below for a rule-by-rule explanation:%0a%0a[@%0aExtIf = "vio0"%0aIP4 = "10.0.0.1"%0aIntIP4 = "192.168.0.1"%0aIP6 = "2001:db8::/80"%0aFlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0aFlush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0aFlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%0aset skip on lo0%0aset loginterface $ExtIf%0a#set ruleset-optimization profile%0aset syncookies adaptive (start 25%25, end 12%25)%0a%0atable %3cilines> persist file "/etc/pf/ilines"%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a%0a# udp and icmp%0ablock in log quick from %3cbadhosts>%0apass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0apass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0ablock in log quick proto udp to {$IP4 $IP6}%0ablock in log quick from urpf-failed%0amatch in log all scrub (no-df random-id max-mss 1440)%0apass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0apass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a (MTU)%0apass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a# tcp%0apass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0apass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0apass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0apass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%0a# road warrior vpn%0apass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0apass in log inet proto esp to {$IP4 $IP6} tag IKED%0apass log on enc0 inet tagged ROADW%0amatch out log on $ExtIf inet tagged ROADW nat-to $IP4%0amatch in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%0ablock in log all%0ablock out log on $IntIP4%0apass out quick from {$IP4 $IP6} # allow non-spoofed packets%0apass out quick proto tcp from $IntIP4 to port ssh%0apass out quick proto udp from $IntIP4 to port ntp%0apass out quick proto {udp tcp} from $IntIP4 to port {domain}%0apass out quick inet proto icmp from $IntIP4 # allow ICMP%0a@]%0a%0aYou will then need to create a folder:%0a%0a[@%0a$ doas mkdir /etc/pf/%0a@]%0a%0aThen, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%0a[@%0a198.251.89.130%0a198.251.83.183%0a209.141.39.184%0a209.141.39.228%0a198.251.84.240%0a198.251.80.229%0a198.251.81.119%0a209.141.39.173%0a198.251.89.91%0a198.251.81.44%0a209.141.38.137%0a198.251.81.133%0a2605:6400:0030:f8de::/64%0a2605:6400:0010:071b::/64%0a2605:6400:0020:0434::/64%0a2605:6400:0020:00b4::/64%0a2605:6400:0010:05bf::/64%0a2605:6400:0030:fc15::/64%0a2605:6400:0020:1290::/64%0a2605:6400:0020:0bb8::/64%0a2605:6400:0030:faa1::/64%0a2605:6400:0010:069d::/64%0a2605:6400:0020:05cc::/64%0a2605:6400:0010:00fe::/64%0a@]%0a%0aAfterwards, any badhosts can be added to /etc/pf/badhosts.%0a%0aTo load the new configuration:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a!! Troubleshooting%0a%0a'''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a%0aTo test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a%0aPlease also set aside 24-48 hours to monitor any bug reports from users.%0a%0a!! Comments%0a%0a[@%0aExtIf = "vio0"%0aIP4 = "10.0.0.1"%0aIntIP4 = "192.168.0.1"%0aIP6 = "2001:db8::/80"%0a@]%0a%0aExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%0a[@%0aFlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0aFlush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0aFlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a@]%0a%0aThis defines 3 macros.%0a%0aFor FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a%0aFor Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%0aFlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%0a[@%0aset skip on lo0%0aset loginterface $ExtIf%0a#set ruleset-optimization profile%0aset syncookies adaptive (start 25%25, end 12%25)%0a@]%0a%0aWe skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a%0a[@%0atable %3cilines> persist file "/etc/pf/ilines"%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a@]%0a%0aWe load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a%0a[@%0ablock in log quick from %3cbadhosts>%0apass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0apass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0ablock in log quick proto udp to {$IP4 $IP6}%0ablock in log quick from urpf-failed%0amatch in log all scrub (no-df random-id max-mss 1440)%0a@]%0a%0aWe immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a%0a'''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a%0a[@%0apass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0apass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a (MTU)%0apass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a@]%0a%0aWe allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a%0a[@%0apass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0apass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0apass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0apass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a@]%0a%0aWe immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a%0aIf the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a%0aWe immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a%0aFor ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a%0a[@%0a# road warrior vpn%0apass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0apass in log inet proto esp to {$IP4 $IP6} tag IKED%0apass log on enc0 inet tagged ROADW%0amatch out log on $ExtIf inet tagged ROADW nat-to $IP4%0amatch in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0aThis section is for IPSec VPNs using [[openbsd/iked|iked]].%0a%0a[@%0ablock in log all%0ablock out log on $IntIP4%0apass out quick from {$IP4 $IP6} # allow non-spoofed packets%0apass out quick proto tcp from $IntIP4 to port ssh%0apass out quick proto udp from $IntIP4 to port ntp%0apass out quick proto {udp tcp} from $IntIP4 to port {domain}%0apass out quick inet proto icmp from $IntIP4 # allow ICMP%0a@]%0a%0aWe block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a%0a!! See Also%0a%0a|| [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] || +time=1611588489 +title=Sample PF for Testing +author:1611588489=jrmu +diff:1611588489:1609332194:=2,3d1%0a%3c %0a%3c !! NOT DONE DO NOT USE%0a +host:1611588489=125.231.20.163 +author:1609332194=jrmu +diff:1609332194:1609295962:=1,6c1,4%0a%3c (:title Sample PF for Testing:)%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/pf|Packet Filter Guide]]. In particular, you must read the Basic Configuration section and the [[openbsd/netadmin|NetAdmin Code]].%0a%3c %0a%3c Here's a sample /etc/pf.conf for [[ircnow/testing]] servers (do '''NOT''' use this for [[ircnow/stable|stable]], znc-only servers). See the Comments section below for a rule-by-rule explanation:%0a%3c %0a---%0a> (:title Sample PF for Stable:)%0a> %0a> Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a> %0a12,15c10,16%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a---%0a> FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a> 200, max-src-states 200)"%0a> Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a> 00/10 overload %3cbadhosts> flush global)"%0a> FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a> te 50/10 overload %3cbadhosts> flush global)"%0a> %0a39c40,41%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0a---%0a> pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a> op3s} $Flush%0a41,43c43,47%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0a---%0a> pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a> 9999 16667 16697 } #irc%0a> pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a> 697 } $Flush #irc%0a> pass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0a58d61%0a%3c pass out quick proto udp from $IntIP4 to port ntp%0a106,115c109,112%0a%3c !! Troubleshooting%0a%3c %0a%3c '''WARNING''': When you apply new firewall rules, '''make sure''' to test that all services are working after the rules have been applied. If you do not test, you might break something for users and not notice it for days or weeks!%0a%3c %0a%3c To test, connect to each and every one of the services you provide, both from your home IP address and another proxy (vpn, vps) that you have.%0a%3c %0a%3c Please also set aside 24-48 hours to monitor any bug reports from users.%0a%3c %0a%3c !! Comments%0a%3c %0a---%0a> !! Maintenance%0a> %0a> You should check to see who is on the badhosts table:%0a> %0a117,120c114%0a%3c ExtIf = "vio0"%0a%3c IP4 = "10.0.0.1"%0a%3c IntIP4 = "192.168.0.1"%0a%3c IP6 = "2001:db8::/80"%0a---%0a> $ doas pfctl -t badhosts -T show%0a123,124c117,118%0a%3c ExtIf is the external interface (vio0 for [[openbsd/buyvm|BuyVM]] and [[openbsd/vmmusers|VMM]] users), IP4 is your DDoS-filtered IPv4 address, IntIP4 is your secret unfiltered IPv4 address, and IP6 is your IPv6 subnet range.%0a%3c %0a---%0a> Periodically, once a week perhaps, you should flush this table%0a> %0a126,128c120%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a---%0a> $ doas pfctl -t badhosts -T flush%0a130,219d121%0a%3c %0a%3c This defines 3 macros.%0a%3c %0a%3c For FlushUDP, if the packet rate exceeds 10000 packets per 10 seconds, PF will refuse to process any further packets. It will keep track of state for ICMP and UDP packets; if there are more than 1000 state entries, it will stop accepting new packets. If there are more than 200 unique IPs in the state entry table, or if a single IP has more than 200 entries, it will stop accepting new connections.%0a%3c %0a%3c For Flush, if there are 1000 state entries, it will stop accepting new connections. If there are more than 200 unique IPs in the state entry table, or if a single IP makes more than 500 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a%3c FlushStrict is the same but more strict. If there are 100 state entries, it will stop accepting new connections. If there are more than 20 unique IPs in the state entry table, or if a single IP makes more than 50 connections in 10 seconds, it will disconnect all connections from this user and add them to the table '''badhosts'''.%0a%3c %0a%3c [@%0a%3c set skip on lo0%0a%3c set loginterface $ExtIf%0a%3c #set ruleset-optimization profile%0a%3c set syncookies adaptive (start 25%25, end 12%25)%0a%3c @]%0a%3c %0a%3c We skip filtering on loopback (localhost). We are going to log all packets that pass through the external interface vio0. You can view these using [[openbsd/tcpdump|tcpdump]] in /var/log/pflog*. You can optionally optimize the ruleset based on the profile, but I have not yet tested to see if the optimization is intelligent, so I left it commented out. We will use syncookies to defend against [[openbsd/SYNFlood|synflood]] attacks.%0a%3c %0a%3c [@%0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a%3c @]%0a%3c %0a%3c We load two tables, one with [[openbsd/ilines|ilines]] (with IRCNow-approved IPs), and another with a list of '''badhosts''' (known criminals and enemies).%0a%3c %0a%3c [@%0a%3c block in log quick from %3cbadhosts>%0a%3c pass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0a%3c pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0a%3c block in log quick proto udp to {$IP4 $IP6}%0a%3c block in log quick from urpf-failed%0a%3c match in log all scrub (no-df random-id max-mss 1440)%0a%3c @]%0a%3c %0a%3c We immediately block all packets from '''badhosts'''. We pass in all DNS UDP packets on the DDoS-filtered IPv4 and IPv6 subnet (but not the secret unfiltered IPv4 address). We pass in all NTP UDP packets for the unfiltered IPv4 address and IPv6 subnet, but not the DDoS-filtered IPv4 address because NTP packets get mangled by DDoS-filtering.%0a%3c %0a%3c '''WARNING''': Please follow the [[openbsd/ntpd|ntpd guide]] to set it up properly -- if you do not, your system's time will be wrong, causing all sorts of hard to troubleshoot problems like issues with [[openbsd/nsd|nsd]].%0a%3c %0a%3c [@%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a%3c (MTU)%0a%3c pass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a%3c @]%0a%3c %0a%3c We allow in ICMP and ICMPv6 packets passing through our external interface. '''NOTE''': Do '''not''' block ICMP packets, or else strange and hard to diagnose problems can occur. For example, blocking ICMPv6 packets can interfere with proper IPv6 routing.%0a%3c %0a%3c [@%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 pop3s} $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 13140 1337 31337 } $Flush #bnc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%3c @]%0a%3c %0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's for DNS (domain), ident (auth), sending mail (smtp submission smtps), reading mail (imap imaps pop3 pop3s), gopher, the web (http https).%0a%3c %0a%3c If the sender is present on our ilines, we pass in all IRC traffic without normal Flush limits. If not, we have normal Flush limits.%0a%3c %0a%3c We immediately pass in all TCP packets for the public IPv4 address and IPv6 subnet if it's headed for the bouncer or wraith.%0a%3c %0a%3c For ssh, we allow incoming packets to the secret, unfiltered IPv4 address and we apply more strict rules to prevent bruteforce attacks. The unfiltered IPv4 address will provide a [[openbsd/sshbackdoor|hidden backdoor]] to access the server in case of a DDoS attack.%0a%3c %0a%3c [@%0a%3c # road warrior vpn%0a%3c pass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED%0a%3c pass log on enc0 inet tagged ROADW%0a%3c match out log on $ExtIf inet tagged ROADW nat-to $IP4%0a%3c match in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c @]%0a%3c %0a%3c This section is for IPSec VPNs using [[openbsd/iked|iked]].%0a%3c %0a%3c [@%0a%3c block in log all%0a%3c block out log on $IntIP4%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto udp from $IntIP4 to port ntp%0a%3c pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a%3c @]%0a%3c %0a%3c We block all incoming packets but '''not''' immediately. By default, if the '''quick''' keyword is missing, the last rule that matches applies to a packet. We then block all outgoing packets from the secret, unfiltered IPv4 address except whitelisted traffic for ssh, ntp, dns, and ICMP packets.%0a +host:1609332194=198.251.81.119 +author:1609295962=jrmu +diff:1609295962:1609295341:=28c28%0a%3c pass in log quick proto udp to {$IntIP4 $IP6} port ntp $FlushUDP%0a---%0a> pass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0a +host:1609295962=198.251.81.119 +author:1609295341=jrmu +diff:1609295341:1609295194:=107,120d106%0a%3c @]%0a%3c %0a%3c !! Maintenance%0a%3c %0a%3c You should check to see who is on the badhosts table:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -t badhosts -T show%0a%3c @]%0a%3c %0a%3c Periodically, once a week perhaps, you should flush this table%0a%3c %0a%3c [@%0a%3c $ doas pfctl -t badhosts -T flush%0a +host:1609295341=198.251.81.119 +author:1609295194=jrmu +diff:1609295194:1609294892:=19c19%0a%3c #set ruleset-optimization profile%0a---%0a> set ruleset-optimization profile%0a +host:1609295194=198.251.81.119 +author:1609294892=jrmu +diff:1609294892:1609294892:=1,111d0%0a%3c (:title Sample PF for Stable:)%0a%3c %0a%3c Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a%3c %0a%3c [@%0a%3c ExtIf = "vio0"%0a%3c IP4 = "10.0.0.1"%0a%3c IntIP4 = "192.168.0.1"%0a%3c IP6 = "2001:db8::/80"%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a%3c 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a%3c 00/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a%3c te 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a%3c set skip on lo0%0a%3c set loginterface $ExtIf%0a%3c set ruleset-optimization profile%0a%3c set syncookies adaptive (start 25%25, end 12%25)%0a%3c %0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a%3c %0a%3c # udp and icmp%0a%3c block in log quick from %3cbadhosts>%0a%3c pass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0a%3c block in log quick proto udp to {$IP4 $IP6}%0a%3c block in log quick from urpf-failed%0a%3c match in log all scrub (no-df random-id max-mss 1440)%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a%3c (MTU)%0a%3c pass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a%3c # tcp%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a%3c op3s} $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a%3c 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a%3c 697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%3c %0a%3c # road warrior vpn%0a%3c pass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED%0a%3c pass log on enc0 inet tagged ROADW%0a%3c match out log on $ExtIf inet tagged ROADW nat-to $IP4%0a%3c match in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a%3c block in log all%0a%3c block out log on $IntIP4%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets%0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a%3c @]%0a%3c %0a%3c You will then need to create a folder:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /etc/pf/%0a%3c @]%0a%3c %0a%3c Then, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%3c %0a%3c [@%0a%3c 198.251.89.130%0a%3c 198.251.83.183%0a%3c 209.141.39.184%0a%3c 209.141.39.228%0a%3c 198.251.84.240%0a%3c 198.251.80.229%0a%3c 198.251.81.119%0a%3c 209.141.39.173%0a%3c 198.251.89.91%0a%3c 198.251.81.44%0a%3c 209.141.38.137%0a%3c 198.251.81.133%0a%3c 2605:6400:0030:f8de::/64%0a%3c 2605:6400:0010:071b::/64%0a%3c 2605:6400:0020:0434::/64%0a%3c 2605:6400:0020:00b4::/64%0a%3c 2605:6400:0010:05bf::/64%0a%3c 2605:6400:0030:fc15::/64%0a%3c 2605:6400:0020:1290::/64%0a%3c 2605:6400:0020:0bb8::/64%0a%3c 2605:6400:0030:faa1::/64%0a%3c 2605:6400:0010:069d::/64%0a%3c 2605:6400:0020:05cc::/64%0a%3c 2605:6400:0010:00fe::/64%0a%3c @]%0a%3c %0a%3c Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a%3c %0a%3c To load the new configuration:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a\ No newline at end of file%0a +host:1609294892=198.251.81.119 blob - /dev/null blob + 72ee2f577e3b55eb78177edd6c04d4938175edf5 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Passwords @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1604495914 +host=125.231.63.134 +name=Openbsd.Passwords +rev=3 +targets= +text=(:title Password Management:)%0a%0aPassword management is a critical role for any sysadmin. These four functions can help you with password management.%0a%0aAppend these lines at the end of ~/.profile:%0a%0a[@%0a# Generates a new random password 80 chars in length%0afunction newpass {%0a jot -rc -s '' 80 33 127%0a}%0a%0a# Generates a new alphanumeric password 80 chars in length%0afunction alnumpass {%0a cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-80} | head -n 1%0a}%0a%0a# Pages through all your passwords%0afunction getpass {%0a openssl aes-256-cbc -d -a -in $HOME/password.asc | less%0a}%0a%0a# Writes all your passwords to ~/password%0afunction allpass {%0a openssl aes-256-cbc -d -a -in $HOME/password.asc -out $HOME/password%0a}%0a%0a# Takes your passwords in ~/password, encrypts them, then overwrites password.asc%0afunction savepass {%0a openssl aes-256-cbc -a -in $HOME/password -out $HOME/password.asc && rm -P $HOME/password%0a}%0a@]%0a%0aTo use the functions, first source the file:%0a%0a[@%0a$ . .profile%0a@]%0a%0aAfterwards, type the function in the command line:%0a%0a[@%0a$ newpass%0a@] +time=1609676431 +title=Password Management +author:1609676431=jrmu +diff:1609676431:1604503664:=8c8%0a%3c # Generates a new random password 80 chars in length%0a---%0a> # Generates a new alphanumeric password 80 chars in length%0a10,14d9%0a%3c jot -rc -s '' 80 33 127%0a%3c }%0a%3c %0a%3c # Generates a new alphanumeric password 80 chars in length%0a%3c function alnumpass {%0a +host:1609676431=125.231.63.134 +author:1604503664=jrmu +diff:1604503664:1604495914:=29,35c29,30%0a%3c To use the functions, first source the file:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c @]%0a%3c %0a%3c Afterwards, type the function in the command line:%0a---%0a> To use the functions, simply type them in the command line:%0a> %0a +host:1604503664=38.81.163.7 +author:1604495914=jrmu +diff:1604495914:1604495914:=1,33d0%0a%3c (:title Password Management:)%0a%3c %0a%3c Password management is a critical role for any sysadmin. These four functions can help you with password management.%0a%3c %0a%3c Append these lines at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c # Generates a new alphanumeric password 80 chars in length%0a%3c function newpass {%0a%3c cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-80} | head -n 1%0a%3c }%0a%3c %0a%3c # Pages through all your passwords%0a%3c function getpass {%0a%3c openssl aes-256-cbc -d -a -in $HOME/password.asc | less%0a%3c }%0a%3c %0a%3c # Writes all your passwords to ~/password%0a%3c function allpass {%0a%3c openssl aes-256-cbc -d -a -in $HOME/password.asc -out $HOME/password%0a%3c }%0a%3c %0a%3c # Takes your passwords in ~/password, encrypts them, then overwrites password.asc%0a%3c function savepass {%0a%3c openssl aes-256-cbc -a -in $HOME/password -out $HOME/password.asc && rm -P $HOME/password%0a%3c }%0a%3c @]%0a%3c %0a%3c To use the functions, simply type them in the command line:%0a%3c %0a%3c [@%0a%3c $ newpass%0a%3c @]%0a\ No newline at end of file%0a +host:1604495914=38.81.163.7 blob - /dev/null blob + a51f3e3a959b95dd0cc6c019c5b414d74a6b9922 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Perl @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1610200356 +host=125.224.19.86 +name=Openbsd.Perl +rev=1 +targets= +text=[@%0a19:42 %3c Dima> I have this error. How to fix it? Can't load %0a perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode: %0a File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@ %0a at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a19:43 %3c Dima> jrmu: inn floods my log with this error%0a19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima %0a19:44 %3c Dima> jrmu: I had it installed with CPAN%0a20:25 %3c~jrmu> I think this is the path on openbsd: %0a /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result %0a only user "dima" had access to the required perl libraries.%0a20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with %0a its task. I was wrong. I had a better opinion about perl.%0a20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a20:58 %3c~jrmu> write it down%0a20:58 %3c~jrmu> even if it's buggy%0a20:58 %3c~jrmu> we can always fix bugs later%0a20:59 %3c Dima> I did chmod 755%0a20:59 %3c Dima> there was something like rxw-x-x%0a@] +time=1610200356 +author:1610200356=jrmu +diff:1610200356:1610200356:=1,22d0%0a%3c [@%0a%3c 19:42 %3c Dima> I have this error. How to fix it? Can't load %0a%3c perl5/lib/perl5/amd64-openbsd/auto/Encode/Encode.so for module Encode: %0a%3c File not found at perl5/lib/perl5/amd64-openbsd/XSLoader.pm line 96. ^@ %0a%3c at perl5/lib/perl5/amd64-openbsd/Encode.pm line 12.%0a%3c 19:43 %3c Dima> jrmu: inn floods my log with this error%0a%3c 19:43 %3c~jrmu> I suspect maybe you need to install it with CPAN%0a%3c 19:44 %3c~jrmu> what do you think about using a more minimal NNTP Dima %0a%3c 19:44 %3c Dima> jrmu: I had it installed with CPAN%0a%3c 20:25 %3c~jrmu> I think this is the path on openbsd: %0a%3c /usr/local/libdata/perl5/site_perl/amd64-openbsd/%0a%3c 20:58 %3c Dima> custom umask caused incorrect permissions for some perl dirs. as result %0a%3c only user "dima" had access to the required perl libraries.%0a%3c 20:58 %3c Dima> it seemed to me that perl was able to adjust the value in accordance with %0a%3c its task. I was wrong. I had a better opinion about perl.%0a%3c 20:58 %3c~jrmu> ok so you changed perms, $ doas chmod -R o+rx or something?%0a%3c 20:58 %3c~jrmu> write it down%0a%3c 20:58 %3c~jrmu> even if it's buggy%0a%3c 20:58 %3c~jrmu> we can always fix bugs later%0a%3c 20:59 %3c Dima> I did chmod 755%0a%3c 20:59 %3c Dima> there was something like rxw-x-x%0a%3c @]%0a\ No newline at end of file%0a +host:1610200356=125.224.19.86 blob - /dev/null blob + a52c316945c1e9cc609ec6c02a1a328c378c1c58 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pf @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597225169 +host=198.251.81.119 +name=Openbsd.Pf +rev=3 +targets= +text=On a workstation where you are the only user, you can use a very simple /etc/pf.conf:%0a%0a[@%0aset skip on lo0 # don't filter localhost packets%0aext_if = "em0" # replace em0 with your external interface%0a%0aset block-policy drop # by default, drop packets. You can also set block-policy reject%0aset loginterface $ext_if # log that interface%0a%0ablock all # block all traffic by default%0apass in inet proto icmp icmp-type 8 code 0 # icmp packets%0apass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0apass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0apass out all # pass all outgoing traffic%0a@]%0a%0aThis will allow the necessary ICMP traffic (useful for network diagnosis) while blocking all other incoming connections.%0a%0a(As a general rule, the last matching rule determines the action.)%0a%0aI generally don't whitelist by IP addresses because I've had times where I needed to access a system from a different IP. I also avoid OS fingerprinting because, although it is available, it's not 100%25 accurate.%0a%0aTo load the ruleset once you've edited it, run:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0aTo disable the firewall (useful for diagnosing the network), run:%0a%0a[@%0a$ doas pfctl -d%0a@]%0a%0aTo enable it again:%0a%0a[@%0a$ doas pfctl -e%0a@]%0a%0aFor a server, you will want to, at a minimum, allow incoming ssh packets:%0a%0a[@%0aset skip on lo0 # don't filter localhost packets%0aext_if = "em0" # my external interface is em0%0a%0aset block-policy drop # by default, drop packets. You can also set block-policy reject%0aset loginterface $ext_if # log that interface%0a%0apass in proto tcp from 192.168.1.1 to port ssh%0apass in inet proto icmp icmp-type 8 code 0 # icmp packets%0apass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0apass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0apass out all # pass all outgoing traffic%0a@]%0a%0aReplace 192.168.1.1 with your IP.%0a%0aAs a general rule, your servers should also accept incoming http and https connections. This is necessary for running a web server and also for acquiring a properly signed SSL certificate. Here is the /etc/pf.conf:%0a%0a[@%0aset skip on lo0 # don't filter localhost packets%0aext_if = "em0" # my external interface is em0%0a%0aset block-policy drop # by default, drop packets. You can also set block-policy reject%0aset loginterface $ext_if # log that interface%0a%0apass in proto tcp from 192.168.1.1 to port ssh%0apass in inet proto icmp icmp-type 8 code 0 # icmp packets%0apass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0apass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0apass in proto tcp to port {http https}%0apass out all # pass all outgoing traffic%0a@]%0a%0aTo see how many packets are arriving:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0aThis will empty the existing state tables for pf. Then, run%0a%0a[@%0a$ doas pfctl -sr -v%0a@]%0a%0aThis will show you how many packets are arriving. Since you emptied the state tables, if you now see 1000s of packets coming in, those packets came in the last few seconds, indicating that you are certainly under attack. +time=1607860999 +author:1607860999=jrmu +diff:1607860999:1599996783:=74,88c74%0a%3c @]%0a%3c %0a%3c To see how many packets are arriving:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c This will empty the existing state tables for pf. Then, run%0a%3c %0a%3c [@%0a%3c $ doas pfctl -sr -v%0a%3c @]%0a%3c %0a%3c This will show you how many packets are arriving. Since you emptied the state tables, if you now see 1000s of packets coming in, those packets came in the last few seconds, indicating that you are certainly under attack.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1607860999=198.251.81.119 +author:1599996783=gry +csum:1599996783=- +diff:1599996783:1597225169:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a15,16c15,16%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a25c25%0a%3c [@%0a---%0a> %3ccode>%0a27,28c27,28%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a31c31%0a%3c [@%0a---%0a> %3ccode>%0a33,34c33,34%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a37c37%0a%3c [@%0a---%0a> %3ccode>%0a39,40c39,40%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a43c43%0a%3c [@%0a---%0a> %3ccode>%0a55,56c55,56%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a61c61%0a%3c [@%0a---%0a> %3ccode>%0a74c74%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1599996783=203.129.25.247 +author:1597225169=jrmu +diff:1597225169:1597225169:=1,74d0%0a%3c On a workstation where you are the only user, you can use a very simple /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c set skip on lo0 # don't filter localhost packets%0a%3c ext_if = "em0" # replace em0 with your external interface%0a%3c %0a%3c set block-policy drop # by default, drop packets. You can also set block-policy reject%0a%3c set loginterface $ext_if # log that interface%0a%3c %0a%3c block all # block all traffic by default%0a%3c pass in inet proto icmp icmp-type 8 code 0 # icmp packets%0a%3c pass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0a%3c pass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0a%3c pass out all # pass all outgoing traffic%0a%3c %3c/code>%0a%3c %0a%3c This will allow the necessary ICMP traffic (useful for network diagnosis) while blocking all other incoming connections.%0a%3c %0a%3c (As a general rule, the last matching rule determines the action.)%0a%3c %0a%3c I generally don't whitelist by IP addresses because I've had times where I needed to access a system from a different IP. I also avoid OS fingerprinting because, although it is available, it's not 100%25 accurate.%0a%3c %0a%3c To load the ruleset once you've edited it, run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c %3c/code>%0a%3c %0a%3c To disable the firewall (useful for diagnosing the network), run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -d%0a%3c %3c/code>%0a%3c %0a%3c To enable it again:%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -e%0a%3c %3c/code>%0a%3c %0a%3c For a server, you will want to, at a minimum, allow incoming ssh packets:%0a%3c %0a%3c %3ccode>%0a%3c set skip on lo0 # don't filter localhost packets%0a%3c ext_if = "em0" # my external interface is em0%0a%3c %0a%3c set block-policy drop # by default, drop packets. You can also set block-policy reject%0a%3c set loginterface $ext_if # log that interface%0a%3c %0a%3c pass in proto tcp from 192.168.1.1 to port ssh%0a%3c pass in inet proto icmp icmp-type 8 code 0 # icmp packets%0a%3c pass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0a%3c pass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0a%3c pass out all # pass all outgoing traffic%0a%3c %3c/code>%0a%3c %0a%3c Replace 192.168.1.1 with your IP.%0a%3c %0a%3c As a general rule, your servers should also accept incoming http and https connections. This is necessary for running a web server and also for acquiring a properly signed SSL certificate. Here is the /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c set skip on lo0 # don't filter localhost packets%0a%3c ext_if = "em0" # my external interface is em0%0a%3c %0a%3c set block-policy drop # by default, drop packets. You can also set block-policy reject%0a%3c set loginterface $ext_if # log that interface%0a%3c %0a%3c pass in proto tcp from 192.168.1.1 to port ssh%0a%3c pass in inet proto icmp icmp-type 8 code 0 # icmp packets%0a%3c pass in inet proto icmp icmp-type 3 code 4 # icmp needfrag (MTU)%0a%3c pass in inet6 proto ipv6-icmp icmp6-type {2 128} keep state%0a%3c pass in proto tcp to port {http https}%0a%3c pass out all # pass all outgoing traffic%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597225169=38.81.163.143 blob - /dev/null blob + 9900e3b8b161caaaa3bae1c51c6517c71fa6d160 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pf-bnc @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1599100403 +host=198.251.81.119 +name=Openbsd.Pf-bnc +rev=12 +targets=Openbsd.Ilines,Openbsd.Pf,Openbsd.Ddos,Openbsd.Tcpdump +text=(:title Sample PF for Stable:)%0a%0aHere's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a%0a[@%0aExtIf = "vio0"%0aIP4 = "10.0.0.1"%0aIntIP4 = "192.168.0.1"%0aIP6 = "2001:db8::/80"%0aFlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a 200, max-src-states 200)"%0aFlush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a00/10 overload %3cbadhosts> flush global)"%0aFlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0ate 50/10 overload %3cbadhosts> flush global)"%0a%0aset skip on lo0%0aset loginterface $ExtIf%0aset ruleset-optimization profile%0aset syncookies adaptive (start 25%25, end 12%25)%0a%0atable %3cilines> persist file "/etc/pf/ilines"%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a%0a# udp and icmp%0ablock in log quick from %3cbadhosts>%0apass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0apass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0ablock in log quick proto udp to {$IP4 $IP6}%0ablock in log quick from urpf-failed%0amatch in log all scrub (no-df random-id max-mss 1440)%0apass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0apass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a (MTU)%0apass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a# tcp%0apass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0aop3s} $Flush%0apass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0apass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a 9999 16667 16697 } #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a697 } $Flush #irc%0apass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0apass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0apass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a%0a# road warrior vpn%0apass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0apass in log inet proto esp to {$IP4 $IP6} tag IKED%0apass log on enc0 inet tagged ROADW%0amatch out log on $ExtIf inet tagged ROADW nat-to $IP4%0amatch in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%0ablock in log all%0ablock out log on $IntIP4%0apass out quick from {$IP4 $IP6} # allow non-spoofed packets%0apass out quick proto tcp from $IntIP4 to port ssh%0apass out quick proto {udp tcp} from $IntIP4 to port {domain}%0apass out quick inet proto icmp from $IntIP4 # allow ICMP%0a@]%0a%0aYou will then need to create a folder:%0a%0a[@%0a$ doas mkdir /etc/pf/%0a@]%0a%0aThen, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%0a[@%0a198.251.89.130%0a198.251.83.183%0a209.141.39.184%0a209.141.39.228%0a198.251.84.240%0a198.251.80.229%0a198.251.81.119%0a209.141.39.173%0a198.251.89.91%0a198.251.81.44%0a209.141.38.137%0a198.251.81.133%0a2605:6400:0030:f8de::/64%0a2605:6400:0010:071b::/64%0a2605:6400:0020:0434::/64%0a2605:6400:0020:00b4::/64%0a2605:6400:0010:05bf::/64%0a2605:6400:0030:fc15::/64%0a2605:6400:0020:1290::/64%0a2605:6400:0020:0bb8::/64%0a2605:6400:0030:faa1::/64%0a2605:6400:0010:069d::/64%0a2605:6400:0020:05cc::/64%0a2605:6400:0010:00fe::/64%0a@]%0a%0aAfterwards, any badhosts can be added to /etc/pf/badhosts.%0a%0aTo load the new configuration:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a!! See Also%0a%0a|| [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] || +time=1609266636 +title=Sample PF for Stable +author:1609266636=jrmu +diff:1609266636:1609266249:=3c3%0a%3c Here's a sample /etc/pf.conf for stable servers (do '''NOT''' use this for shell servers):%0a---%0a> Here's a sample /etc/pf.conf for stable servers:%0a +host:1609266636=198.251.81.119 +author:1609266249=jrmu +diff:1609266249:1609265082:=63a64%0a> pass out quick from $IntIP4 proto ipv6-icmp # allow ICMP6%0a +host:1609266249=198.251.81.119 +author:1609265082=jrmu +diff:1609265082:1609264862:=49c49%0a%3c pass in log quick proto tcp to {$IP4 $IntIP4 $IP6} port ssh $FlushStrict%0a---%0a> pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict%0a +host:1609265082=198.251.81.119 +author:1609264862=jrmu +diff:1609264862:1609264685:=7,9c7,9%0a%3c IP4 = "10.0.0.1"%0a%3c IntIP4 = "192.168.0.1"%0a%3c IP6 = "2001:db8::/80"%0a---%0a> IP4 = "38.81.163.143"%0a> IntIP4 = "38.81.163.143"%0a> IP6 = "2001:550:3402:1:143::/80"%0a +host:1609264862=198.251.81.119 +author:1609264685=jrmu +diff:1609264685:1609264610:=36a37%0a> %0a49,50c50,53%0a%3c pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict%0a%3c %0a---%0a> pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict %0a> pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a> pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict %0a> %0a53c56%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED%0a---%0a> pass in log inet proto esp to {$IP4 $IP6} tag IKED %0a60c63%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets%0a---%0a> pass out quick from {$IP4 $IP6} # allow non-spoofed packets %0a +host:1609264685=198.251.81.119 +author:1609264610=jrmu +diff:1609264610:1609176978:=10,16c10,12%0a%3c FlushUDP = "max-pkt-rate 10000/10 keep state (max 1000, source-track rule, max-src-nodes%0a%3c 200, max-src-states 200)"%0a%3c Flush = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a%3c 00/10 overload %3cbadhosts> flush global)"%0a%3c FlushStrict = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a%3c te 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a---%0a> FLUSH = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a> FLUSHSTRICT = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a> %0a25c21,26%0a%3c # udp and icmp%0a---%0a> pass in log quick on $IP4 proto udp to port domain%0a> pass in log quick on $IP4 proto udp to port ntp%0a> pass in log quick on $IP4 proto udp to port {isakmp ipsec-nat-t}%0a> block in log quick on $IP4 proto udp%0a> match in all scrub (no-df random-id max-mss 1440)%0a> block in log quick from urpf-failed%0a27,53c28,42%0a%3c pass in log quick proto udp to {$IP4 $IP6} port domain $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port ntp $FlushUDP%0a%3c pass in log quick proto udp to {$IP4 $IP6} port {isakmp ipsec-nat-t} $FlushUDP%0a%3c block in log quick proto udp to {$IP4 $IP6}%0a%3c block in log quick from urpf-failed%0a%3c match in log all scrub (no-df random-id max-mss 1440)%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 8 code 0 $FlushUDP # icmp packets%0a%3c pass in log quick on $ExtIf inet proto icmp icmp-type 3 code 4 $FlushUDP # icmp needfrag%0a%3c (MTU)%0a%3c pass in log quick on $ExtIf proto ipv6-icmp $FlushUDP%0a%3c %0a%3c # tcp%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port domain $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port auth $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {smtp submission smtps imap imaps pop3 p%0a%3c op3s} $Flush%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port {gopher http https} $Flush%0a%3c pass in log quick proto tcp from %3cilines> to {$IP4 $IP6} port { 6660:6669 6697 6997 7000%0a%3c 9999 16667 16697 } #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 6660:6669 6697 6997 7000 9999 16667 16%0a%3c 697 } $Flush #irc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port { 1314 21314 1337 31337 } $Flush #bnc%0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict %0a%3c pass in log quick proto tcp to {$IP4 $IP6} port 29173 $Flush #wraith%0a%3c pass in log quick proto tcp to $IntIP4 port ssh $FlushStrict %0a%3c %0a---%0a> %0a> pass in quick on $ExtIf inet proto icmp icmp-type 8 code 0 max-pkt-rate 1000/10 # icmp packets%0a> pass in quick on $ExtIf inet proto icmp icmp-type 3 code 4 max-pkt-rate 1000/10# icmp needfrag (MTU)%0a> pass in quick on $ExtIf proto ipv6-icmp max-pkt-rate 1000/10%0a> pass in quick on $IP4 proto tcp to port domain $FLUSH%0a> pass in quick on $IP4 proto tcp to port auth $FLUSH%0a> pass in quick on $IP4 proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} $FLUSH%0a> pass in quick on $IP4 proto tcp to port {gopher http https} $FLUSH%0a> pass in quick on $IP4 proto tcp from %3cilines> to port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a> pass in quick on $IP6 inet6 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697 } $FLUSH #irc%0a> pass in log quick on $IP4 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697 } $FLUSH #irc%0a> pass in log quick on $IP4 proto tcp to port { 1314 21314 1337 31337 } $FLUSH #bnc%0a> pass in log quick on $IP4 proto tcp to port 29173 $FLUSH #wraith%0a> pass in quick on IntIP4 proto tcp to port ssh $FLUSHSTRICT%0a> %0a55,60c44,49%0a%3c pass in log inet proto udp to {$IP4 $IP6} port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in log inet proto esp to {$IP4 $IP6} tag IKED %0a%3c pass log on enc0 inet tagged ROADW%0a%3c match out log on $ExtIf inet tagged ROADW nat-to $IP4%0a%3c match in log quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a---%0a> pass in on $IP4 inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a> pass in on $IP4 inet proto esp tag IKED%0a> pass on enc0 inet tagged ROADW%0a> match out on $IP4 inet tagged ROADW nat-to $IP4%0a> match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a> %0a63,67c52,53%0a%3c pass out quick from {$IP4 $IP6} # allow non-spoofed packets %0a%3c pass out quick proto tcp from $IntIP4 to port ssh%0a%3c pass out quick proto {udp tcp} from $IntIP4 to port {domain}%0a%3c pass out quick inet proto icmp from $IntIP4 # allow ICMP%0a%3c pass out quick from $IntIP4 proto ipv6-icmp # allow ICMP6%0a---%0a> pass out from {$IP4 $IP6} # prevent spoofed packets%0a> pass out from IntIP4 to port ssh # only allow ssh%0a +host:1609264610=198.251.81.119 +author:1609176978=jrmu +diff:1609176978:1609176881:=97,101c97%0a%3c @]%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[openbsd/pf|PF Guide]] || [[openbsd/ddos|DDoS Filtering Guide]] || [[openbsd/tcpdump|tcpdump]] ||%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1609176978=198.251.81.119 +author:1609176881=jrmu +diff:1609176881:1609176430:=1,4c1,2%0a%3c (:title Sample PF for Stable:)%0a%3c %0a%3c Here's a sample /etc/pf.conf for stable servers:%0a%3c %0a---%0a> Here's a sample /etc/pf.conf for %0a> %0a54,96d51%0a%3c @]%0a%3c %0a%3c You will then need to create a folder:%0a%3c %0a%3c [@%0a%3c $ doas mkdir /etc/pf/%0a%3c @]%0a%3c %0a%3c Then, add the list of [[openbsd/ilines|ilines]] to /etc/pf/ilines.%0a%3c %0a%3c [@%0a%3c 198.251.89.130%0a%3c 198.251.83.183%0a%3c 209.141.39.184%0a%3c 209.141.39.228%0a%3c 198.251.84.240%0a%3c 198.251.80.229%0a%3c 198.251.81.119%0a%3c 209.141.39.173%0a%3c 198.251.89.91%0a%3c 198.251.81.44%0a%3c 209.141.38.137%0a%3c 198.251.81.133%0a%3c 2605:6400:0030:f8de::/64%0a%3c 2605:6400:0010:071b::/64%0a%3c 2605:6400:0020:0434::/64%0a%3c 2605:6400:0020:00b4::/64%0a%3c 2605:6400:0010:05bf::/64%0a%3c 2605:6400:0030:fc15::/64%0a%3c 2605:6400:0020:1290::/64%0a%3c 2605:6400:0020:0bb8::/64%0a%3c 2605:6400:0030:faa1::/64%0a%3c 2605:6400:0010:069d::/64%0a%3c 2605:6400:0020:05cc::/64%0a%3c 2605:6400:0010:00fe::/64%0a%3c @]%0a%3c %0a%3c Afterwards, any badhosts can be added to /etc/pf/badhosts.%0a%3c %0a%3c To load the new configuration:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a +host:1609176881=198.251.81.119 +author:1609176430=jrmu +diff:1609176430:1609176362:=1,2c1,2%0a%3c Here's a sample /etc/pf.conf for %0a%3c %0a---%0a> A sample /etc/pf.conf for a BNC server:%0a> %0a21a22%0a> pass in log quick on $IP4 proto udp to port 60000:61000 $FLUSH #mosh%0a +host:1609176430=198.251.81.119 +author:1609176362=jrmu +diff:1609176362:1609176297:=8,10c8,12%0a%3c FLUSH = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 500/10 overload %3cbadhosts> flush global)"%0a%3c FLUSHSTRICT = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-rate 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a---%0a> FLUSH = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a> 00/10 overload %3cbadhosts> flush global)"%0a> FLUSHSTRICT = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a> te 50/10 overload %3cbadhosts> flush global)"%0a> %0a28,29c30,33%0a%3c pass in quick on $ExtIf inet proto icmp icmp-type 8 code 0 max-pkt-rate 1000/10 # icmp packets%0a%3c pass in quick on $ExtIf inet proto icmp icmp-type 3 code 4 max-pkt-rate 1000/10# icmp needfrag (MTU)%0a---%0a> pass in quick on $ExtIf inet proto icmp icmp-type 8 code 0 max-pkt-rate 1000/10 # icmp p%0a> ackets%0a> pass in quick on $ExtIf inet proto icmp icmp-type 3 code 4 max-pkt-rate 1000/10# icmp ne%0a> edfrag (MTU)%0a33c37,38%0a%3c pass in quick on $IP4 proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} $FLUSH%0a---%0a> pass in quick on $IP4 proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} $F%0a> LUSH%0a35,37c40,45%0a%3c pass in quick on $IP4 proto tcp from %3cilines> to port { 6660:6669 6697 6997 7000 9999 16667 16697 } #irc%0a%3c pass in quick on $IP6 inet6 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697 } $FLUSH #irc%0a%3c pass in log quick on $IP4 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697 } $FLUSH #irc%0a---%0a> pass in quick on $IP4 proto tcp from %3cilines> to port { 6660:6669 6697 6997 7000 9999 16%0a> 667 16697 } #irc%0a> pass in quick on $IP6 inet6 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 1669%0a> 7 } $FLUSH #irc%0a> pass in log quick on $IP4 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697%0a> } $FLUSH #irc%0a +host:1609176362=198.251.81.119 +author:1609176297=jrmu +diff:1609176297:1599100403:=4,12c4,5%0a%3c ExtIf = "vio0"%0a%3c IP4 = "38.81.163.143"%0a%3c IntIP4 = "38.81.163.143"%0a%3c IP6 = "2001:550:3402:1:143::/80"%0a%3c FLUSH = "keep state (max 1000, source-track rule, max-src-nodes 200, max-src-conn-rate 5%0a%3c 00/10 overload %3cbadhosts> flush global)"%0a%3c FLUSHSTRICT = "keep state (max 100, source-track rule, max-src-nodes 20, max-src-conn-ra%0a%3c te 50/10 overload %3cbadhosts> flush global)"%0a%3c %0a---%0a> ext_ip = "198.251.81.119"%0a> %0a14,60c7,26%0a%3c set loginterface $ExtIf%0a%3c set ruleset-optimization profile%0a%3c set syncookies adaptive (start 25%25, end 12%25)%0a%3c %0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a%3c %0a%3c pass in log quick on $IP4 proto udp to port domain%0a%3c pass in log quick on $IP4 proto udp to port ntp%0a%3c pass in log quick on $IP4 proto udp to port {isakmp ipsec-nat-t}%0a%3c pass in log quick on $IP4 proto udp to port 60000:61000 $FLUSH #mosh%0a%3c block in log quick on $IP4 proto udp%0a%3c match in all scrub (no-df random-id max-mss 1440)%0a%3c block in log quick from urpf-failed%0a%3c block in log quick from %3cbadhosts>%0a%3c %0a%3c pass in quick on $ExtIf inet proto icmp icmp-type 8 code 0 max-pkt-rate 1000/10 # icmp p%0a%3c ackets%0a%3c pass in quick on $ExtIf inet proto icmp icmp-type 3 code 4 max-pkt-rate 1000/10# icmp ne%0a%3c edfrag (MTU)%0a%3c pass in quick on $ExtIf proto ipv6-icmp max-pkt-rate 1000/10%0a%3c pass in quick on $IP4 proto tcp to port domain $FLUSH%0a%3c pass in quick on $IP4 proto tcp to port auth $FLUSH%0a%3c pass in quick on $IP4 proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} $F%0a%3c LUSH%0a%3c pass in quick on $IP4 proto tcp to port {gopher http https} $FLUSH%0a%3c pass in quick on $IP4 proto tcp from %3cilines> to port { 6660:6669 6697 6997 7000 9999 16%0a%3c 667 16697 } #irc%0a%3c pass in quick on $IP6 inet6 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 1669%0a%3c 7 } $FLUSH #irc%0a%3c pass in log quick on $IP4 proto tcp to port { 6660:6669 6697 6997 7000 9999 16667 16697%0a%3c } $FLUSH #irc%0a%3c pass in log quick on $IP4 proto tcp to port { 1314 21314 1337 31337 } $FLUSH #bnc%0a%3c pass in log quick on $IP4 proto tcp to port 29173 $FLUSH #wraith%0a%3c pass in quick on IntIP4 proto tcp to port ssh $FLUSHSTRICT%0a%3c %0a%3c # road warrior vpn%0a%3c pass in on $IP4 inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in on $IP4 inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $IP4 inet tagged ROADW nat-to $IP4%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c %0a%3c block in log all%0a%3c block out log on $IntIP4%0a%3c pass out from {$IP4 $IP6} # prevent spoofed packets%0a%3c pass out from IntIP4 to port ssh # only allow ssh%0a---%0a> set loginterface $ext_if%0a> set block-policy drop%0a> %0a> block in log quick from urpf-failed # somehow blocks bad packets, don't ask me how%0a> block log all # drops all packets by default unless whitelisted below%0a> %0a> match in all scrub (no-df random-id max-mss 1440) # somehow fixes segments that are too long, don't ask me how%0a> pass in log quick inet proto icmp icmp-type 8 code 0 # support ping%0a> pass in log quick inet proto icmp icmp-type 3 code 4 # support ping%0a> pass in log quick proto ipv6-icmp # necessary for ipv6 %0a> pass in log quick proto {udp tcp} to port {domain 853 8952} %0a> pass in log quick proto tcp to port {auth} %0a> pass in log quick proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} %0a> pass in log quick proto tcp to port ssh keep state (max-src-conn-rate 20/60)%0a> pass in log quick proto tcp to port {http https} keep state (max-src-conn 60, max-src-conn-rate 60/60)%0a> pass in log quick inet6 proto tcp to port { 6660:7000 16667 16697 } keep state (max 1000) #irc%0a> pass in log quick proto tcp to port { 6660:7000 16667 16697 } keep state (max 1000) #irc%0a> pass in log quick proto tcp to port { 1314 1337 21314 31337 } keep state (max 10000) #znc and psybnc%0a> pass in log quick proto tcp to port 29173 keep state (max 300) #wraith%0a> pass out all%0a +host:1609176297=198.251.81.119 +author:1599100403=jrmu +diff:1599100403:1599100403:=1,27d0%0a%3c A sample /etc/pf.conf for a BNC server:%0a%3c %0a%3c [@%0a%3c ext_ip = "198.251.81.119"%0a%3c %0a%3c set skip on lo0%0a%3c set loginterface $ext_if%0a%3c set block-policy drop%0a%3c %0a%3c block in log quick from urpf-failed # somehow blocks bad packets, don't ask me how%0a%3c block log all # drops all packets by default unless whitelisted below%0a%3c %0a%3c match in all scrub (no-df random-id max-mss 1440) # somehow fixes segments that are too long, don't ask me how%0a%3c pass in log quick inet proto icmp icmp-type 8 code 0 # support ping%0a%3c pass in log quick inet proto icmp icmp-type 3 code 4 # support ping%0a%3c pass in log quick proto ipv6-icmp # necessary for ipv6 %0a%3c pass in log quick proto {udp tcp} to port {domain 853 8952} %0a%3c pass in log quick proto tcp to port {auth} %0a%3c pass in log quick proto tcp to port {smtp submission smtps imap imaps pop3 pop3s} %0a%3c pass in log quick proto tcp to port ssh keep state (max-src-conn-rate 20/60)%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 60, max-src-conn-rate 60/60)%0a%3c pass in log quick inet6 proto tcp to port { 6660:7000 16667 16697 } keep state (max 1000) #irc%0a%3c pass in log quick proto tcp to port { 6660:7000 16667 16697 } keep state (max 1000) #irc%0a%3c pass in log quick proto tcp to port { 1314 1337 21314 31337 } keep state (max 10000) #znc and psybnc%0a%3c pass in log quick proto tcp to port 29173 keep state (max 300) #wraith%0a%3c pass out all%0a%3c @]%0a\ No newline at end of file%0a +host:1599100403=38.81.163.143 blob - /dev/null blob + c30159345e667cc5668ff285fd07606e2ec221f0 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pfa @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=navic +charset=UTF-8 +csum= +ctime=1622947901 +host=2001:bc8:3c96:200::74 +name=Openbsd.Pfa +rev=9 +targets= +text=!! remember this%0a[@%0aok so the configuration file is located at /etc/pf.conf%0ato load new changes you will use # pfctl -f /etc/pf.conf%0ausing rc to do it does not work last time I checked :/%0a%0ato enable packet filter run # pfctl -e%0ato disable packet filter run # pfctl -d%0a%0aremember that the last rule applies so if you deny someone from connecting to a port but then allow it right after then the port will be allowed,%0aunless you use `quick` because that means apply now and stop reading%0a@]%0a----%0a%0a!! configuration%0a[@%0aset skip on lo0 # this makes it so packet filter doesn't affect the loop back device%0a%0a# :P marker #1%0a%0ablock in # makes it so by default nothing is allowed in%0apass out # makes it so by default everything is allowed out%0a%0a# now you want to allow some ports%0a# first you type `pass in quick proto`%0a# then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a# now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a# now define the ports `to port {`the ports separated by a space or use : to specify a range'}'%0a%0a# here's a few examples%0apass in quick proto {udp tcp} from any to port {53} # allow anyone to access the dns server%0apass in quick proto tcp from any to port {6667:6669 6697:6699 9999} # allow anyone to access some common irc ports%0a# you can also use certain words but I don't know where you can find the list%0apass in quick proto tcp from any to port {http https} # (80 443) allow anyone to access the http server%0a# now what about restricting ssh?%0apass in quick proto tcp from 1.2.3.4 to port {22} # makes it so the ip 1.2.3.4 can access port 22%0a%0a# cough cough cough%0a# now what about blocking some evil doers?%0a# this is bill bob%0a# _-_%0a# >:%3c%0a# \_/%0a# hes super evil and we know we wants to hack your server so he can boot people,%0a# but we don't want that because that can get us in trouble,%0a# we happen to have gathered a list of all his hacking servers.%0a# we create a folder in /etc called pf and in that folder (/etc/pf) we put in a text file called badhosts%0a# inside that file (/etc/pf/badhosts) we will put in all of bill bob's ips and also other ips of other evil doers like bill bob%0a# so now lets make it take affect%0atable %3cbadhosts> persist file "/etc/pf/badhosts"%0a# now we have the table called %3cbadhosts> loaded and can use %3cbadhost> whenever we want to apply a rule to all those ips inside that table%0ablock in quick from %3cbadhosts> # this line basically says all the ips in the badhosts table, 's connections will be dropped now%0a# but remember that the last rule applies so it will only really affect rules below and prevent bill bob and other evil doers from connecting to ports below,%0a# so because of this you should load the table and add the block before placing all the passes,%0a# the best place to put it would be where marker #1 is%0a# keep in mind that changes to the table only take affect after a reload with the command # pfctl -f /etc/pf.conf%0a%0a# now what about timmy?%0a# this is timmy's upper body... I'm not drawing his entire body again...%0a# ._.%0a# |_|%0a# ; ;%0a# \ \%0a# ...%0a# timmy is a super good boi, timmy is a helper,%0a# timmy will stop at nothing but to protect your server from evil doers like bill bob,%0a# but sometimes you make mistakes, we all do, even timmy,%0a# so sometimes it might be necessary to give timmy access to all ports but this is almost never necessary.%0a# just like above in the bill bob section we will create a table but this table will be called ilines instead of badhosts.%0a# so in /etc/pf/ilines you will put timmy's ip but of course only when necessary%0atable %3cilines> persist file "/etc/pf/ilines"%0a# and then allow access to the ports%0apass in quick from %3cilines>%0a# you can put this above marker #1 or below it or just at the very bottom of the configuration file,%0a# but to make the least possible errors that can occur with a big bulky configuration file,%0a# it is advised (recommended) to put it above marker #1.%0a%0a# You can make as meany tables as you want and make groups of whom may access what ports and who isn't allowed to.%0a# go nuts!%0a%0a@] +time=1622951346 +author:1622951346=navic +diff:1622951346:1622951129:=30c30%0a%3c # here's a few examples%0a---%0a> # heres a few examples%0a52c52%0a%3c block in quick from %3cbadhosts> # this line basically says all the ips in the badhosts table, 's connections will be dropped now%0a---%0a> block in quick from %3cbadhosts> # this line basicly says all the ips in the badhosts table, 's connections will be dropped now%0a +host:1622951346=2001:bc8:3c96:200::74 +author:1622951129=navic +diff:1622951129:1622951076:=39c39%0a%3c # now what about blocking some evil doers?%0a---%0a> # now what about blocking some bad peoples?%0a48c48%0a%3c # inside that file (/etc/pf/badhosts) we will put in all of bill bob's ips and also other ips of other evil doers like bill bob%0a---%0a> # inside that file (/etc/pf/badhosts) we will put in all of bill bob's ips and also other ips of other bad people like bill bob%0a +host:1622951129=2001:bc8:3c96:200::74 +author:1622951076=navic +diff:1622951076:1622949763:=5,11c5,10%0a%3c using rc to do it does not work last time I checked :/%0a%3c %0a%3c to enable packet filter run # pfctl -e%0a%3c to disable packet filter run # pfctl -d%0a%3c %0a%3c remember that the last rule applies so if you deny someone from connecting to a port but then allow it right after then the port will be allowed,%0a%3c unless you use `quick` because that means apply now and stop reading%0a---%0a> useing rc to do it does not work last time I checked :/%0a> %0a> enable packet filter with # pfctl -e%0a> disable packet filter with # pfctl -d%0a> %0a> remember last rule applys so if you deny someone from connecting to a port but then allow it right after then the port will be allowed unless you use `quick` becuse that means apply now and stop reading%0a15c14%0a%3c !! configuration%0a---%0a> !! configureation%0a23a23%0a> %0a28,29c28,29%0a%3c # now define the ports `to port {`the ports separated by a space or use : to specify a range'}'%0a%3c %0a---%0a> # now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a> %0a33c33%0a%3c # you can also use certain words but I don't know where you can find the list%0a---%0a> # you can also use certin words but I don't know whare you can find a list%0a44,46c44,46%0a%3c # hes super evil and we know we wants to hack your server so he can boot people,%0a%3c # but we don't want that because that can get us in trouble,%0a%3c # we happen to have gathered a list of all his hacking servers.%0a---%0a> # hes super evil and we know we wants to hack your server so he can boot people%0a> # but we don't want that becuse that can get us in trouble%0a> # we happend to have gathered a list of all his hacking servers%0a50c50%0a%3c table %3cbadhosts> persist file "/etc/pf/badhosts"%0a---%0a> table %3cbadhosts> presist file "/etc/pf/badhosts"%0a52,55c52,55%0a%3c block in quick from %3cbadhosts> # this line basicly says all the ips in the badhosts table, 's connections will be dropped now%0a%3c # but remember that the last rule applies so it will only really affect rules below and prevent bill bob and other evil doers from connecting to ports below,%0a%3c # so because of this you should load the table and add the block before placing all the passes,%0a%3c # the best place to put it would be where marker #1 is%0a---%0a> block in quick from %3cbadhosts> # this line basicly says all the ips in the badhosts table, 's connections will be droped now%0a> # but remeber that the last rule applys so it will only really affect rules below and prevent bill bob and other evil doers from connecting to ports below%0a> # so becuse of this you should load the table and add the block before placeing all the passes%0a> # the best place to put it would be whare marker #1 is%0a68,71c68,71%0a%3c # so sometimes it might be necessary to give timmy access to all ports but this is almost never necessary.%0a%3c # just like above in the bill bob section we will create a table but this table will be called ilines instead of badhosts.%0a%3c # so in /etc/pf/ilines you will put timmy's ip but of course only when necessary%0a%3c table %3cilines> persist file "/etc/pf/ilines"%0a---%0a> # so sometimes it might be nesseary to give timmy access to all ports but this is almost never nesseary.%0a> # just like above in the bill bob section we will create a table but this table will be called ilines instead of badhosts%0a> # so in /etc/pf/ilines you will put timmy's ip but ofcourse only when nessesary%0a> table %3cilines> presist file "/etc/pf/ilines"%0a75c75%0a%3c # but to make the least possible errors that can occur with a big bulky configuration file,%0a---%0a> # but to make the least possible errors that can accour with a big bulky configuration file,%0a +host:1622951076=2001:bc8:3c96:200::74 +author:1622949763=navic +diff:1622949763:1622948202:=18,19d17%0a%3c # :P marker #1%0a%3c %0a23d20%0a%3c %0a37,80d33%0a%3c %0a%3c # cough cough cough%0a%3c # now what about blocking some bad peoples?%0a%3c # this is bill bob%0a%3c # _-_%0a%3c # >:%3c%0a%3c # \_/%0a%3c # hes super evil and we know we wants to hack your server so he can boot people%0a%3c # but we don't want that becuse that can get us in trouble%0a%3c # we happend to have gathered a list of all his hacking servers%0a%3c # we create a folder in /etc called pf and in that folder (/etc/pf) we put in a text file called badhosts%0a%3c # inside that file (/etc/pf/badhosts) we will put in all of bill bob's ips and also other ips of other bad people like bill bob%0a%3c # so now lets make it take affect%0a%3c table %3cbadhosts> presist file "/etc/pf/badhosts"%0a%3c # now we have the table called %3cbadhosts> loaded and can use %3cbadhost> whenever we want to apply a rule to all those ips inside that table%0a%3c block in quick from %3cbadhosts> # this line basicly says all the ips in the badhosts table, 's connections will be droped now%0a%3c # but remeber that the last rule applys so it will only really affect rules below and prevent bill bob and other evil doers from connecting to ports below%0a%3c # so becuse of this you should load the table and add the block before placeing all the passes%0a%3c # the best place to put it would be whare marker #1 is%0a%3c # keep in mind that changes to the table only take affect after a reload with the command # pfctl -f /etc/pf.conf%0a%3c %0a%3c # now what about timmy?%0a%3c # this is timmy's upper body... I'm not drawing his entire body again...%0a%3c # ._.%0a%3c # |_|%0a%3c # ; ;%0a%3c # \ \%0a%3c # ...%0a%3c # timmy is a super good boi, timmy is a helper,%0a%3c # timmy will stop at nothing but to protect your server from evil doers like bill bob,%0a%3c # but sometimes you make mistakes, we all do, even timmy,%0a%3c # so sometimes it might be nesseary to give timmy access to all ports but this is almost never nesseary.%0a%3c # just like above in the bill bob section we will create a table but this table will be called ilines instead of badhosts%0a%3c # so in /etc/pf/ilines you will put timmy's ip but ofcourse only when nessesary%0a%3c table %3cilines> presist file "/etc/pf/ilines"%0a%3c # and then allow access to the ports%0a%3c pass in quick from %3cilines>%0a%3c # you can put this above marker #1 or below it or just at the very bottom of the configuration file,%0a%3c # but to make the least possible errors that can accour with a big bulky configuration file,%0a%3c # it is advised (recommended) to put it above marker #1.%0a%3c %0a%3c # You can make as meany tables as you want and make groups of whom may access what ports and who isn't allowed to.%0a%3c # go nuts!%0a%3c %0a +host:1622949763=2a0b:f4c2:2::1 +author:1622948202=navic +diff:1622948202:1622948148:=7,8c7,11%0a%3c enable packet filter with # pfctl -e%0a%3c disable packet filter with # pfctl -d%0a---%0a> enable with%0a> # pfctl -e%0a> %0a> disable with%0a> # pfctl -d%0a +host:1622948202=2a0b:f4c0:16c:1::1 +author:1622948148=navic +diff:1622948148:1622948106:=1d0%0a%3c !! remember this%0a2a2,3%0a> !! remember this%0a> %0a14c15%0a%3c @]%0a---%0a> %0a18c19%0a%3c [@%0a---%0a> %0a20a22%0a> %0a36a39%0a> %0a +host:1622948148=2a0b:f4c0:16c:1::1 +author:1622948106=navic +diff:1622948106:1622948003:=1d0%0a%3c [@%0a5c4,6%0a%3c to load new changes you will use # pfctl -f /etc/pf.conf%0a---%0a> %0a> to load new changes you will use $ pfctl -f /etc/pf.conf%0a> %0a8,13d8%0a%3c enable with%0a%3c # pfctl -e%0a%3c %0a%3c disable with%0a%3c # pfctl -d%0a%3c %0a26,32c21,27%0a%3c # now you want to allow some ports%0a%3c # first you type `pass in quick proto`%0a%3c # then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a%3c # now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a%3c # now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a%3c %0a%3c # heres a few examples%0a---%0a> \# now you want to allow some ports%0a> \# first you type `pass in quick proto`%0a> \# then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a> \# now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a> \# now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a> %0a> \# heres a few examples%0a35c30%0a%3c # you can also use certin words but I don't know whare you can find a list%0a---%0a> \# you can also use certin words but I don't know whare you can find a list%0a37c32%0a%3c # now what about restricting ssh?%0a---%0a> \# now what about restricting ssh?%0a40d34%0a%3c @]%0a\ No newline at end of file%0a +host:1622948106=2a0b:f4c0:16c:1::1 +author:1622948003=navic +diff:1622948003:1622947901:=21,27c21,27%0a%3c \# now you want to allow some ports%0a%3c \# first you type `pass in quick proto`%0a%3c \# then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a%3c \# now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a%3c \# now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a%3c %0a%3c \# heres a few examples%0a---%0a> # now you want to allow some ports%0a> # first you type `pass in quick proto`%0a> # then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a> # now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a> # now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a> %0a> # heres a few examples%0a30c30%0a%3c \# you can also use certin words but I don't know whare you can find a list%0a---%0a> # you can also use certin words but I don't know whare you can find a list%0a32c32%0a%3c \# now what about restricting ssh?%0a---%0a> # now what about restricting ssh?%0a +host:1622948003=2a0b:f4c0:16c:1::1 +author:1622947901=navic +diff:1622947901:1622947901:=1,34d0%0a%3c !! remember this%0a%3c %0a%3c ok so the configuration file is located at /etc/pf.conf%0a%3c %0a%3c to load new changes you will use $ pfctl -f /etc/pf.conf%0a%3c %0a%3c useing rc to do it does not work last time I checked :/%0a%3c %0a%3c remember last rule applys so if you deny someone from connecting to a port but then allow it right after then the port will be allowed unless you use `quick` becuse that means apply now and stop reading%0a%3c %0a%3c ----%0a%3c %0a%3c !! configureation%0a%3c %0a%3c set skip on lo0 # this makes it so packet filter doesn't affect the loop back device%0a%3c %0a%3c %0a%3c block in # makes it so by default nothing is allowed in%0a%3c pass out # makes it so by default everything is allowed out%0a%3c %0a%3c # now you want to allow some ports%0a%3c # first you type `pass in quick proto`%0a%3c # then you want to type either udp or tcp, if you're not sure then just allow both by saying `{udp tcp}`%0a%3c # now you want to say who is allowed, this can either be a ip, table or "any" `from any`%0a%3c # now define the ports `to port {`the ports seperated by space or use : to spesify a range'}'%0a%3c %0a%3c # heres a few examples%0a%3c pass in quick proto {udp tcp} from any to port {53} # allow anyone to access the dns server%0a%3c pass in quick proto tcp from any to port {6667:6669 6697:6699 9999} # allow anyone to access some common irc ports%0a%3c # you can also use certin words but I don't know whare you can find a list%0a%3c pass in quick proto tcp from any to port {http https} # (80 443) allow anyone to access the http server%0a%3c # now what about restricting ssh?%0a%3c pass in quick proto tcp from 1.2.3.4 to port {22} # makes it so the ip 1.2.3.4 can access port 22%0a%3c %0a +host:1622947901=2a0b:f4c0:16c:1::1 blob - /dev/null blob + 8a70282b60efdbafd88fd88e71fd25521536a0ac (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pfbadhost @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612240157 +host=198.251.81.119 +name=Openbsd.Pfbadhost +rev=1 +targets= +text=https://www.geoghegan.ca/pfbadhost.html#download +time=1612240157 +author:1612240157=jrmu +diff:1612240157:1612240157:=1d0%0a%3c https://www.geoghegan.ca/pfbadhost.html#download%0a\ No newline at end of file%0a +host:1612240157=198.251.81.119 blob - /dev/null blob + 6de68faa9bb1e5bf57e50fb69f6153aaa1ce1bd4 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Phishing @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612067368 +host=125.224.24.163 +name=Openbsd.Phishing +rev=7 +targets=Openbsd.Pgp,Openbsd.Vhost,Openbsd.Znc,Openbsd.Dkimproxy +text=Phishing is when you try to steal usernames, passwords, credit cards, and other data by pretending to be someone trustworthy. A common phishing attempt occurs when an attacker tries to send a fake email that appears to come from a well-known company. The word phishing comes from two words: fishing and phreaking (as in telephone phreaking).%0a%0aInside a typical phishing email, there is a website that matches the original look of the real website. Phishing is commonly used to steal data from users. IRCNow users are vulnerable to phishing unless you work hard to protect them.%0a%0aBasic Phishing Defenses:%0a%0a# Set up and [[openbsd/pgp|use PGP signatures]] to detect forged emails%0a# Always log in and identify with NickServ to prevent fake IRC nicks%0a# Set up a [[openbsd/vhost|custom vhost]] for your [[openbsd/znc|znc bouncer]]%0a# Set +O mode on important team channels to prevent non-opers from joining%0a# Check and verify [[openbsd/dkimproxy|DKIM signatures]] on email headers to detect forged emails%0a# Confirm important transactions using two different messaging systems (by IRC and email, or by IRC and phone)%0a# Beware of forged SMS messages and phone calls +time=1612069377 +author:1612069377=jrmu +diff:1612069377:1612069362:=12c12%0a%3c # Confirm important transactions using two different messaging systems (by IRC and email, or by IRC and phone)%0a---%0a> # Confirm important transactions using two different messaging systems (by IRC and email, or by IRC and phone, or by IRC and web)%0a +host:1612069377=125.224.24.163 +author:1612069362=jrmu +diff:1612069362:1612069330:=12c12%0a%3c # Confirm important transactions using two different messaging systems (by IRC and email, or by IRC and phone, or by IRC and web)%0a---%0a> # Confirm important transactions using two different messaging systems%0a +host:1612069362=125.224.24.163 +author:1612069330=jrmu +diff:1612069330:1612069289:=5,6c5,6%0a%3c Basic Phishing Defenses:%0a%3c %0a---%0a> Email Phishing Defense:%0a> %0a12d11%0a%3c # Confirm important transactions using two different messaging systems%0a +host:1612069330=125.224.24.163 +author:1612069289=jrmu +diff:1612069289:1612067412:=7,8c7,8%0a%3c # Set up and [[openbsd/pgp|use PGP signatures]] to detect forged emails%0a%3c # Always log in and identify with NickServ to prevent fake IRC nicks%0a---%0a> # Set up and [[openbsd/pgp|use PGP signatures]] to prevent forged emails%0a> # Always log in and identify with NickServ%0a11,12c11%0a%3c # Check and verify [[openbsd/dkimproxy|DKIM signatures]] on email headers to detect forged emails%0a%3c # Beware of forged SMS messages and phone calls%0a\ No newline at end of file%0a---%0a> # Check and verify [[openbsd/dkimproxy|DKIM signatures]] on email headers%0a\ No newline at end of file%0a +host:1612069289=125.224.24.163 +author:1612067412=jrmu +diff:1612067412:1612067390:=10,11c10%0a%3c # Set +O mode on important team channels to prevent non-opers from joining%0a%3c # Check and verify [[openbsd/dkimproxy|DKIM signatures]] on email headers%0a\ No newline at end of file%0a---%0a> # Set +O mode on important team channels to prevent non-opers from joining%0a\ No newline at end of file%0a +host:1612067412=125.224.24.163 +author:1612067390=jrmu +diff:1612067390:1612067368:=10c10%0a%3c # Set +O mode on important team channels to prevent non-opers from joining%0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1612067390=125.224.24.163 +author:1612067368=jrmu +diff:1612067368:1612067368:=1,10d0%0a%3c Phishing is when you try to steal usernames, passwords, credit cards, and other data by pretending to be someone trustworthy. A common phishing attempt occurs when an attacker tries to send a fake email that appears to come from a well-known company. The word phishing comes from two words: fishing and phreaking (as in telephone phreaking).%0a%3c %0a%3c Inside a typical phishing email, there is a website that matches the original look of the real website. Phishing is commonly used to steal data from users. IRCNow users are vulnerable to phishing unless you work hard to protect them.%0a%3c %0a%3c Email Phishing Defense:%0a%3c %0a%3c # Set up and [[openbsd/pgp|use PGP signatures]] to prevent forged emails%0a%3c # Always log in and identify with NickServ%0a%3c # Set up a [[openbsd/vhost|custom vhost]] for your [[openbsd/znc|znc bouncer]]%0a%3c # %0a\ No newline at end of file%0a +host:1612067368=125.224.24.163 blob - /dev/null blob + 26ada68d7f2d85aef37250518e921a42812a96fa (mode 644) --- /dev/null +++ wiki.d/Openbsd.Php @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597744296 +host=38.87.162.8 +name=Openbsd.Php +rev=3 +targets= +text=(:redirect Php.Install:)%0a[@%0a$ doas pkg_add php%0a@]%0a%0a[@%0a$ doas rcctl enable php74_fpm%0a$ doas rcctl start php74_fpm%0a@]%0a%0a[@%0aserver "example.com" {%0a listen on * port 8080%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a}%0a@]%0a%0aTo check for PHP configuration errors:%0a%0a[@%0a# less /var/www/logs/access.log%0a# less /var/www/logs/error.log%0a@]%0a +time=1627397623 +author:1627397623=jrmu +diff:1627397623:1598250366:=1d0%0a%3c (:redirect Php.Install:)%0a25c24%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1627397623=38.87.162.8 +author:1598250366=baytuch +diff:1598250366:1597744296:= +host:1598250366=91.228.147.58 +author:1597744296=jrmu +diff:1597744296:1597744296:=1,24d0%0a%3c [@%0a%3c $ doas pkg_add php%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable php74_fpm%0a%3c $ doas rcctl start php74_fpm%0a%3c @]%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 8080%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c To check for PHP configuration errors:%0a%3c %0a%3c [@%0a%3c # less /var/www/logs/access.log%0a%3c # less /var/www/logs/error.log%0a%3c @]%0a\ No newline at end of file%0a +host:1597744296=38.81.163.143 blob - /dev/null blob + 44a8a2a641ebed2f0de9b6b84d47c0742549d9d4 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ping @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597221268 +host=38.81.163.143 +name=Openbsd.Ping +rev=1 +targets= +text=(:title Troubleshooting with Ping:)%0a%0aOne important tool for troubleshooting networking is ping. To test if a device has proper networking, you can run ping on an IP address or a hostname. Once you are done, press CTRL+C (abbreviated ^C):%0a%0a[@%0a$ ping ircnow.org%0aPING ircnow.org (209.141.39.173): 56 data bytes%0a64 bytes from 209.141.39.173: icmp_seq=0 ttl=244 time=251.636 ms%0a64 bytes from 209.141.39.173: icmp_seq=1 ttl=244 time=252.236 ms%0a64 bytes from 209.141.39.173: icmp_seq=2 ttl=244 time=249.526 ms%0a64 bytes from 209.141.39.173: icmp_seq=3 ttl=244 time=249.869 ms%0a64 bytes from 209.141.39.173: icmp_seq=4 ttl=244 time=248.836 ms%0a64 bytes from 209.141.39.173: icmp_seq=5 ttl=244 time=251.230 ms%0a64 bytes from 209.141.39.173: icmp_seq=6 ttl=244 time=249.227 ms%0a64 bytes from 209.141.39.173: icmp_seq=7 ttl=244 time=249.550 ms%0a^C%0a--- ircnow.org ping statistics ---%0a8 packets transmitted, 8 packets received, 0.0%25 packet loss%0around-trip min/avg/max/std-dev = 248.836/250.264/252.236/1.174 ms%0a@]%0a%0aping uses the Internet Control Message Protocol (ICMP) to test for problems. Here, we see it takes roughly 250 milliseconds for ircnow.org to reply to our messages. Of the 8 packets sent, all 8 were received, so we have 0 packet loss.%0a%0aIf you need to test out IPv6, then use the ping6 command. For both IPv4 and IPv6, you may find it helpful to bind to a specific IP address (send packets using a specific IP address). In that case, use the option -I. For example:%0a%0a[@%0a$ ping6 -I 1234:5678:abcd:ef::1 ircnow.org%0a@]%0a%0aThis will force ping6 to send and receive packets using the (fake) IPv6 address 1234:5678:abcd:ef::1.%0a%0aSometimes, you may see ping results that require further investigation:%0a%0a[@%0a--- fake.ircnow.org ping statistics ---%0a2779223 packets transmitted, 2669400 packets received, 4.0%25 packet loss%0around-trip min/avg/max/std-dev = 510.548/600.687/535545.801/958.211 ms%0a@]%0a%0aHere, our ping suffers 4%25 packet loss. This is quite high and should be investigated. Perhaps there is an issue with the hardware or the networking equipment is faulty. The average latency of 600ms is also very high. Ideally, when the client and server are on the same continent, latency should be under 100ms. A latency of around 200ms is average, and anything above 300ms is quite high and feels ''laggy''.%0a%0aIf you get packet loss that is less than 100%25, then some packets are still arriving. Networking is working somewhat, but there may be a misconfiguration somewhere, or faulty hardware. However, if you are getting 100%25 packet loss, then either your hardware is altogether broken, or your configuration is wrong.%0a%0aYou also should check your firewall. Because ping and ping6 both use ICMP, any firewall rules that block ICMP should be disabled. Be careful: rate-limiting ICMP may cause issues. +time=1597221268 +title=Troubleshooting with Ping +author:1597221268=jrmu +diff:1597221268:1597221268:=1,44d0%0a%3c (:title Troubleshooting with Ping:)%0a%3c %0a%3c One important tool for troubleshooting networking is ping. To test if a device has proper networking, you can run ping on an IP address or a hostname. Once you are done, press CTRL+C (abbreviated ^C):%0a%3c %0a%3c [@%0a%3c $ ping ircnow.org%0a%3c PING ircnow.org (209.141.39.173): 56 data bytes%0a%3c 64 bytes from 209.141.39.173: icmp_seq=0 ttl=244 time=251.636 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=1 ttl=244 time=252.236 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=2 ttl=244 time=249.526 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=3 ttl=244 time=249.869 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=4 ttl=244 time=248.836 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=5 ttl=244 time=251.230 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=6 ttl=244 time=249.227 ms%0a%3c 64 bytes from 209.141.39.173: icmp_seq=7 ttl=244 time=249.550 ms%0a%3c ^C%0a%3c --- ircnow.org ping statistics ---%0a%3c 8 packets transmitted, 8 packets received, 0.0%25 packet loss%0a%3c round-trip min/avg/max/std-dev = 248.836/250.264/252.236/1.174 ms%0a%3c @]%0a%3c %0a%3c ping uses the Internet Control Message Protocol (ICMP) to test for problems. Here, we see it takes roughly 250 milliseconds for ircnow.org to reply to our messages. Of the 8 packets sent, all 8 were received, so we have 0 packet loss.%0a%3c %0a%3c If you need to test out IPv6, then use the ping6 command. For both IPv4 and IPv6, you may find it helpful to bind to a specific IP address (send packets using a specific IP address). In that case, use the option -I. For example:%0a%3c %0a%3c [@%0a%3c $ ping6 -I 1234:5678:abcd:ef::1 ircnow.org%0a%3c @]%0a%3c %0a%3c This will force ping6 to send and receive packets using the (fake) IPv6 address 1234:5678:abcd:ef::1.%0a%3c %0a%3c Sometimes, you may see ping results that require further investigation:%0a%3c %0a%3c [@%0a%3c --- fake.ircnow.org ping statistics ---%0a%3c 2779223 packets transmitted, 2669400 packets received, 4.0%25 packet loss%0a%3c round-trip min/avg/max/std-dev = 510.548/600.687/535545.801/958.211 ms%0a%3c @]%0a%3c %0a%3c Here, our ping suffers 4%25 packet loss. This is quite high and should be investigated. Perhaps there is an issue with the hardware or the networking equipment is faulty. The average latency of 600ms is also very high. Ideally, when the client and server are on the same continent, latency should be under 100ms. A latency of around 200ms is average, and anything above 300ms is quite high and feels ''laggy''.%0a%3c %0a%3c If you get packet loss that is less than 100%25, then some packets are still arriving. Networking is working somewhat, but there may be a misconfiguration somewhere, or faulty hardware. However, if you are getting 100%25 packet loss, then either your hardware is altogether broken, or your configuration is wrong.%0a%3c %0a%3c You also should check your firewall. Because ping and ping6 both use ICMP, any firewall rules that block ICMP should be disabled. Be careful: rate-limiting ICMP may cause issues.%0a\ No newline at end of file%0a +host:1597221268=38.81.163.143 blob - /dev/null blob + 08e8d375d7c288c3511ba93e48576f72ae7fff0c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pkg @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597745287 +host=91.185.156.66 +name=Openbsd.Pkg +rev=4 +targets= +text=(:title Openbsd Packages:)%0a%0aIf you are unfamiliar with [[https://www.openbsd.org/faq/faq15.html|OpenBSD's package system]], please read the FAQ first.%0a%0aTo install a package (like nvi):%0a%0a[@%0a$ doas pkg_add nvi%0a@]%0a%0aTo delete a package:%0a%0a[@%0a$ doas pkg_delete nvi%0a@]%0a%0aTo delete unused dependencies:%0a%0a[@%0a$ doas pkg_delete -a%0a@]%0a%0aTo find a package from repositories%0a%0a[@%0a$ doas pkg_info -Q nvi%0a@]%0a +time=1621147284 +title=Openbsd Packages +author:1621147284=mkf +diff:1621147284:1621146749:minor=24d23%0a%3c %0a +host:1621147284=91.185.156.66 +author:1621146749=mkf +csum:1621146749=pkg_info -Q +diff:1621146749:1612940369:=21,26c21%0a%3c @]%0a%3c %0a%3c To find a package from repositories%0a%3c [@%0a%3c $ doas pkg_info -Q nvi%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1621146749=91.185.156.66 +author:1612940369=jrmu +diff:1612940369:1597745287:=1,4d0%0a%3c (:title Openbsd Packages:)%0a%3c %0a%3c If you are unfamiliar with [[https://www.openbsd.org/faq/faq15.html|OpenBSD's package system]], please read the FAQ first.%0a%3c %0a +host:1612940369=198.251.81.119 +author:1597745287=jrmu +diff:1597745287:1597745287:=1,17d0%0a%3c To install a package (like nvi):%0a%3c %0a%3c [@%0a%3c $ doas pkg_add nvi%0a%3c @]%0a%3c %0a%3c To delete a package:%0a%3c %0a%3c [@%0a%3c $ doas pkg_delete nvi%0a%3c @]%0a%3c %0a%3c To delete unused dependencies:%0a%3c %0a%3c [@%0a%3c $ doas pkg_delete -a%0a%3c @]%0a\ No newline at end of file%0a +host:1597745287=38.81.163.143 blob - /dev/null blob + 7edd0657225d0edae3ab0d6348590c26bdedc850 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pmwiki @@ -0,0 +1,60 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=added credits +ctime=1597537582 +host=77.168.188.164 +name=Openbsd.Pmwiki +rev=14 +targets= +text=pmwiki is a 2 step install. It's on the official pmwiki page, there's not that much to do.%0a%0aTo change the password prompt page, edit Site.AuthForm.%0a%0aTo create a password hash for https://example.com/index.php?n=SiteAdmin.AuthUser, run this command:%0a%0a[@%0a$ php-7.4 %0a%3c?php echo password_hash("PASSWORD", PASSWORD_BCRYPT); ?>%0a@]%0a%0aReplace PASSWORD with your real password.%0a%0a!! Clean url's %0a%0aIf you want clean url's you need to do the following (written by Miniontoby) %0a%0aChange your httpd.conf block for your wiki so it looks like:%0a[@%0aserver "wiki.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a root "/htdocs/wiki.example.com"%0a }%0a directory {%0a index "index.php"%0a }%0a location match "/pub/(.*)" {%0a request rewrite "/pub/%251"%0a }%0a location match "/cookbook/(.*)" {%0a request rewrite "/cookbook/%251"%0a }%0a location match "/uploads/(.*)" {%0a request rewrite "/uploads/%251"%0a }%0a location match "/local/(.*)" {%0a request rewrite "/local/%251"%0a }%0a location match "/favicon.(.*)" {%0a request rewrite "/favicon.%251"%0a }%0a location match "/(.*)/(.*)" {%0a request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a }%0a location match "/(.*)" {%0a request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a }%0a connection max request body 104857600%0a}%0a@]%0a%0aand edit your /var/www/htdocs/pmwiki/local/config.php:%0a[@$EnablePathInfo = 1; //for enabling automatic use%0a$ScriptUrl = 'https://wiki.example.com'; //for the homepage%0a$PubDirUrl = 'https://wiki.example.com/pub'; //for the pub dir%0a$UploadDir = "/var/www/htdocs/pmwiki/uploads"; //for the upload dir (plz make it firstly if not exist)%0a$UploadUrlFmt = "https://wiki.example.com/uploads"; //for upload dir on the wiki@]%0a%0a!! Mirroring%0a%0aWhen mirroring, make sure to delete:%0a%0a[@%0alocal/config.php%0awiki.d/SiteAdmin.AuthUser%0a@]%0a +time=1634220888 +author:1634220888=miniontoby +csum:1634220888=added credits +diff:1634220888:1632320745:=16c16%0a%3c If you want clean url's you need to do the following (written by Miniontoby) %0a---%0a> If you want clean url's you need to do the following (which I (Miniontoby) didn't really wanted to share) %0a +host:1634220888=77.168.188.164 +author:1632320745=miniontoby +csum:1632320745=smarter +diff:1632320745:1632320367:minor=36c36%0a%3c location match "/cookbook/(.*)" {%0a---%0a> location "/cookbook/*" {%0a39c39%0a%3c location match "/uploads/(.*)" {%0a---%0a> location "/uploads/*" {%0a42c42%0a%3c location match "/local/(.*)" {%0a---%0a> location "/local/*" {%0a45,46c45,46%0a%3c location match "/favicon.(.*)" {%0a%3c request rewrite "/favicon.%251"%0a---%0a> location "/favicon.jpg" {%0a> request rewrite "/favicon.jpg"%0a +host:1632320745=77.168.188.164 +author:1632320367=miniontoby +csum:1632320367=updated the code +diff:1632320367:1632320226:minor=21,25c21,27%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a---%0a> listen on * port 8080%0a> root "/htdocs/pmwiki"%0a> directory index "pmwiki.php"%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a28d29%0a%3c root "/htdocs/wiki.example.com"%0a30,32d30%0a%3c directory {%0a%3c index "index.php"%0a%3c }%0a54d51%0a%3c connection max request body 104857600%0a +host:1632320367=77.168.188.164 +author:1632320226=miniontoby +csum:1632320226=changed the httpd.conf adding to just the whole thing +diff:1632320226:1628699195:=18c18%0a%3c Change your httpd.conf block for your wiki so it looks like:%0a---%0a> add to your httpd.conf wiki block%0a20,26c20,21%0a%3c server "wiki.example.com" {%0a%3c listen on * port 8080%0a%3c root "/htdocs/pmwiki"%0a%3c directory index "pmwiki.php"%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a---%0a> location match "/pub/(.*)" {%0a> request rewrite "/pub/%251"%0a28,29c23,24%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a---%0a> location match "/cookbook/(.*)" {%0a> request rewrite "/cookbook/%251"%0a31,32c26,27%0a%3c location match "/pub/(.*)" {%0a%3c request rewrite "/pub/%251"%0a---%0a> location match "/uploads/(.*)" {%0a> request rewrite "/uploads/%251"%0a34,35c29,30%0a%3c location "/cookbook/*" {%0a%3c request rewrite "/cookbook/%251"%0a---%0a> location match "/(.*)/(.*)" {%0a> request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a37,38c32,33%0a%3c location "/uploads/*" {%0a%3c request rewrite "/uploads/%251"%0a---%0a> location match "/(.*)" {%0a> request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a40,52d34%0a%3c location "/local/*" {%0a%3c request rewrite "/local/%251"%0a%3c }%0a%3c location "/favicon.jpg" {%0a%3c request rewrite "/favicon.jpg"%0a%3c }%0a%3c location match "/(.*)/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a%3c }%0a%3c location match "/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a%3c }%0a%3c }%0a +host:1632320226=77.168.188.164 +author:1628699195=jrmu +diff:1628699195:1628699177:=48d47%0a%3c [@%0a50,51c49%0a%3c wiki.d/SiteAdmin.AuthUser%0a%3c @]%0a---%0a> wiki.d/iteAdmin.AuthUser%0a +host:1628699195=38.87.162.8 +author:1628699177=jrmu +diff:1628699177:1628699173:= +host:1628699177=38.87.162.8 +author:1628699173=jrmu +diff:1628699173:1614565409:=43,49d42%0a%3c %0a%3c !! Mirroring%0a%3c %0a%3c When mirroring, make sure to delete:%0a%3c %0a%3c local/config.php%0a%3c wiki.d/iteAdmin.AuthUser%0a +host:1628699173=38.87.162.8 +author:1614565409=jrmu +diff:1614565409:1614565297:=9c9%0a%3c %3c?php echo password_hash("PASSWORD", PASSWORD_BCRYPT); ?>%0a---%0a> %3c?php echo password_hash("PASSWORD", PASSWORD_DEFAULT); ?>%0a +host:1614565409=125.224.26.27 +author:1614565297=jrmu +diff:1614565297:1614565286:=12c12%0a%3c Replace PASSWORD with your real password.%0a---%0a> Replace PASSWORD with your rela password.%0a +host:1614565297=125.224.26.27 +author:1614565286=jrmu +diff:1614565286:1609771974:=5,12d4%0a%3c To create a password hash for https://example.com/index.php?n=SiteAdmin.AuthUser, run this command:%0a%3c %0a%3c [@%0a%3c $ php-7.4 %0a%3c %3c?php echo password_hash("PASSWORD", PASSWORD_DEFAULT); ?>%0a%3c @]%0a%3c %0a%3c Replace PASSWORD with your rela password.%0a +host:1614565286=125.224.26.27 +author:1609771974=miniontoby +csum:1609771974=Clean urls +diff:1609771974:1600397456:=3,34c3%0a%3c To change the password prompt page, edit Site.AuthForm.%0a%3c %0a%3c %0a%3c !! Clean url's %0a%3c %0a%3c If you want clean url's you need to do the following (which I (Miniontoby) didn't really wanted to share) %0a%3c %0a%3c add to your httpd.conf wiki block%0a%3c [@%0a%3c location match "/pub/(.*)" {%0a%3c request rewrite "/pub/%251"%0a%3c }%0a%3c location match "/cookbook/(.*)" {%0a%3c request rewrite "/cookbook/%251"%0a%3c }%0a%3c location match "/uploads/(.*)" {%0a%3c request rewrite "/uploads/%251"%0a%3c }%0a%3c location match "/(.*)/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a%3c }%0a%3c location match "/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a%3c }%0a%3c @]%0a%3c %0a%3c and edit your /var/www/htdocs/pmwiki/local/config.php:%0a%3c [@$EnablePathInfo = 1; //for enabling automatic use%0a%3c $ScriptUrl = 'https://wiki.example.com'; //for the homepage%0a%3c $PubDirUrl = 'https://wiki.example.com/pub'; //for the pub dir%0a%3c $UploadDir = "/var/www/htdocs/pmwiki/uploads"; //for the upload dir (plz make it firstly if not exist)%0a%3c $UploadUrlFmt = "https://wiki.example.com/uploads"; //for upload dir on the wiki@]%0a---%0a> To change the password prompt page, edit Site.AuthForm.%0a\ No newline at end of file%0a +host:1609771974=145.132.146.30 +author:1600397456=gry +csum:1600397456=+ +diff:1600397456:1597537605:=1,2d0%0a%3c pmwiki is a 2 step install. It's on the official pmwiki page, there's not that much to do.%0a%3c %0a +host:1600397456=203.129.25.247 +author:1597537605=jrmu +diff:1597537605:1597537582:=1c1,3%0a%3c To change the password prompt page, edit Site.AuthForm.%0a\ No newline at end of file%0a---%0a> How do I change the password prompt screen?%0a> %0a> If your question is about how to make changes to that page... edit Site.AuthForm. If your question is about how to change which page you are sent to when prompted for a password, you might check out the Cookbook:CustomAuthForm for help.%0a\ No newline at end of file%0a +host:1597537605=38.81.163.143 +author:1597537582=jrmu +diff:1597537582:1597537582:=1,3d0%0a%3c How do I change the password prompt screen?%0a%3c %0a%3c If your question is about how to make changes to that page... edit Site.AuthForm. If your question is about how to change which page you are sent to when prompted for a password, you might check out the Cookbook:CustomAuthForm for help. %0a\ No newline at end of file%0a +host:1597537582=38.81.163.143 blob - /dev/null blob + 3f1f68a13e1e876a128e5d31c69b5d41ed4bef31 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Police @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597119585 +host=38.81.163.143 +name=Openbsd.Police +rev=2 +targets= +text=Here are the rules:%0a%0a# Never break the law%0a# Avoid reporting to the police unless someone is in physical danger%0a# Don't do this from home: use a VPS, shell account, or bouncer%0a# Never reveal any personally identifiable information%0a# If you make a phone call, use a company phone to hide your number%0a# If you send an email, use a disposable email or company email%0a# If you visit a shady website, disable all javascript%0a%0aSetting up irssi to connect via tor:%0a%0a[@%0a$ tmux%0a$ doas pkg_add tor torsocks irssi%0a$ doas rcctl enable tor%0a$ doas rcctl start%0a$ torsocks irssi%0a%0a/set real_name %3crealname>%0a/set user_name %3cusername>%0a/set nick %3cnick>%0a/set ctcp_userinfo_reply mIRC 7.61%0a/set ctcp_version_reply mIRC 7.61%0a/set autolog on%0a/save%0a@]%0a%0aYou can use something besides mIRC 7.61 for the ctcp reply. Just pick something realistic looking besides irssi.%0a%0aIn order to infiltrate a criminal network, you will need to do some research. Figure out what they are interested in (ddos attacks, phishing, credit card fraud, spamming). Try to understand what language they speak, what they are passionate about, and see if you can strike up a conversation with them. This helps build trust so they will be willing to share more information.%0a%0aUse a little creativity. Don't commit any illegal crime, don't suggest they commit any crimes. However, feel free to chat with them, ask them how they are doing, what hobbies they enjoy etc. Try to ask them for information to learn more about them, but...be subtle, be subtle! I recommend you avoid lying. However, you are welcome to change your persona. Use a new dialect. If you normally chat using formal English, use lots of slang. Talk like someone their age. Spell things wrong on purpose if it helps you fit in. Go ahead and use bad grammar if it helps. Feel free to use Google translate for the conversation. Have fun!%0a%0aFirst, make sure you have proof they have committed a real crime. If there is no evidence, then stop collecting logs. If there is proof, then collect as much data as you can. Make sure you have logging turned on. Figure out what networks they join, what software they use, what servers are their hubs. Data you want to collect:%0a%0a# Real legal name%0a# Age, date of birth, phone number, home address, social media accounts%0a# Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a# What crime networks they collect to. IP addresses, domain names%0a# Their criminal friends%0a# Source code of the software they use%0a%0aDocument everything.%0a%0aYour biggest tool is your brain. Look for clues. For example, use /list to figure out what are the channels inside the network. Join some of them and see who is around. Are there any bots? What are their IP addresses? Who hosts them? Type /who #channel to list all the users within a channel. Type /names to see all the users in a channel. Type /whois username to get more info about a user. However, be careful, as some ircds may notify the admin when a user runs the /whois command. It helps to hang around in a channel for a few weeks.%0a%0aFor example, suppose you found the IP 1.2.3.4 is hosting an IRC command and control botnet for crime. You can run:%0a%0a[@%0a$ whois 1.2.3.4%0aVPS Hosting Generic VPS-INC (NET-1.2.3.4) 1.2.3.0 - 1.2.6.0%0a@]%0a%0aThis tells you that the server is hosted with Generic VPS, inc. So, head over to Generic VPS's website and go to their abuse page and contact them. Send them an email to support@ or abuse@example.com, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a%0aSuppose you realize that the domain example.com is being used for the illegal botnet:%0a%0a[@%0a$ whois example.com%0aDomain Name: EXAMPLE.COM%0aRegistry Domain ID: D1234567890%0aRegistrar WHOIS Server:%0aRegistrar URL: http://www.genericregistrarexample.com%0aUpdated Date: 2020-05-06T00:41:36Z%0aCreation Date: 2018-04-15T05:08:12Z%0aRegistry Expiry Date: 2021-04-15T05:08:12Z%0aRegistrar Registration Expiration Date:%0aRegistrar: Generic Registrar Ltd%0aRegistrar IANA ID: 12345678%0aRegistrar Abuse Contact Email: feedback@genericregistrarexample.com%0aRegistrar Abuse Contact Phone: +1234567890%0aReseller:%0aDomain Status: ok https://icann.org/epp#ok%0aDomain Status: autoRenewPeriod https://icann.org/epp#autoRenewPeriod%0aRegistrant Organization: Hacker Inc%0aRegistrant State/Province: CA%0aRegistrant Country: US%0aName Server: NS1.EXAMPLE.COM%0aName Server: NS2.EXAMPLE.COM%0aDNSSEC: unsigned%0aURL of the ICANN Whois Inaccuracy Complaint Form https://www.icann.org/wicf/)%0a>>> Last update of WHOIS database: 2020-05-07T13:23:58Z %3c%3c%3c%0a@]%0a%0aThis tells us that the domain example.com was registered by Hacker Inc with the registrar http://www.genericregistrarexample.com, and that abuse should be reported to feedback@genericregistrarexample.com. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In one particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a%0aSuppose you see one of the criminals joining like this:%0a%0a14:25 -!- hacker [thief@shell.example.com] has joined #illegal%0a%0aBased on his vhost mask, you can tell that he's connecting from shell.example.com . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case thief) and not just the nick (hacker). The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a%0a[@%0a$ dig shell.example.com%0a; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> shell.example.com%0a;; global options: printcmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 39025%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%0a;; QUESTION SECTION:%0a;shell.example.com. IN A%0a%0a;; ANSWER SECTION:%0ashell.example.com. 300 IN A 192.168.0.1%0a%0a;; Query time: 295 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Thu May 7 22:01:41 2020%0a;; MSG SIZE rcvd: 57%0a@]%0a%0aThis tells you that the IP address for the server is 192.168.0.1. So you then run:%0a%0a[@%0a$ whois 192.168.0.1%0aOrgName: Cloud%0aOrgId: CLD%0aAddress: 123 Nowhere St%0aCity: Nowhere%0aStateProv: NY%0aPostalCode: 12345%0aCountry: US%0aRegDate: 2008-04-24%0aUpdated: 2019-06-28%0aComment: http://www.completelyrandomcloudexample.com%0aRef: https://rdap.arin.net/registry/entity/LINOD%0aOrgNOCHandle: LN1234567-ARIN%0aOrgNOCName: Cloud Network Operations%0aOrgNOCPhone: +1-234-567-8900%0aOrgNOCEmail: support@completelyrandomcloudexample.com%0aOrgNOCRef: https://rdap.arin.net/registry/entity/LN1234567-ARIN%0a%0aOrgAbuseHandle: LAS1234567-ARIN %0aOrgAbuseName: Cloud Abuse Support%0aOrgAbusePhone: +1-234-567-8900%0aOrgAbuseEmail: abuse@completelyrandomcloudexample.com%0aOrgAbuseRef: https://rdap.arin.net/registry/entity/LAS12-ARIN%0a%0aOrgTechHandle: LNO1234567-ARIN%0aOrgTechName: Cloud Network Operations%0aOrgTechPhone: +1-234-567-8900%0aOrgTechEmail: support@completelyrandomcloudexample.com%0aOrgTechRef: https://rdap.arin.net/registry/entity/LNO21-ARIN%0a@]%0a%0aThis shell provider uses a Cloud VPS. So, contact Cloud's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Cloud and the shell provider close the guilty accounts.%0a%0aSometimes you have an IP but you don't know who owns it. You can run this:%0a%0a[@%0a$ dig -x 192.168.0.1%0a; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 192.168.0.1%0a;; global options: printcmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 6039%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%0a;; QUESTION SECTION:%0a;1.0.168.192.in-addr.arpa. IN PTR%0a%0a;; ANSWER SECTION:%0a1.0.168.192.in-addr.arpa. 86400 IN PTR criminal.example.com.%0a%0a;; Query time: 4943 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Thu May 7 22:05:55 2020%0a;; MSG SIZE rcvd: 80%0a@]%0a%0aThis tells you that the domain name is criminal.example.com.%0a%0aOnce you get this basic information, use a search engine to gather more. Search their name, their network, their websites -- look for any software they might have written, anything about them that might be useful. Their nicknames might show up on old logs, they might have malware associated. This research is very important for proving someone is guilty of a crime.%0a%0aIn your email, make sure to document the crime clearly and provide clear evidence. Use screenshots, videos, chat logs, whatever is most effective.%0a%0aMake sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to abuse@ircnow.org so our team can take a look.%0a%0aWhen you start filing reports, make sure you go in this order:%0a%0a# Take down domains%0a# Take down irc servers%0a# Take down shell accounts / bouncers used by admins/criminals%0a# Finally, take down stolen servers and bots used for stealing%0a%0aThere are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and IRC servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a%0aThe reason we take down domains first is because it causes the most disruption while still allowing you to connect to the IRCd for further spying. Afterwards, we can cause netsplits by taking down the IRC servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else. +time=1597120611 +author:1597120611=jrmu +diff:1597120611:1597119585:=3,10c3,10%0a%3c # Never break the law%0a%3c # Avoid reporting to the police unless someone is in physical danger%0a%3c # Don't do this from home: use a VPS, shell account, or bouncer%0a%3c # Never reveal any personally identifiable information%0a%3c # If you make a phone call, use a company phone to hide your number%0a%3c # If you send an email, use a disposable email or company email%0a%3c # If you visit a shady website, disable all javascript%0a%3c %0a---%0a> - Never break the law%0a> - Avoid reporting to the police unless someone is in physical danger%0a> - Don't do this from home, use a VPS, shell account, or bouncer%0a> - Never reveal any personally identifiable information%0a> - If you make a phone call, use a company phone to hide your number%0a> - If you send an email, use a disposable email or company email%0a> - If you visit a shady website, disable all javascript%0a> %0a13c13%0a%3c [@%0a---%0a> %3ccode>%0a27,28c27,28%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a37,45c37,45%0a%3c # Real legal name%0a%3c # Age, date of birth, phone number, home address, social media accounts%0a%3c # Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a%3c # What crime networks they collect to. IP addresses, domain names%0a%3c # Their criminal friends%0a%3c # Source code of the software they use%0a%3c %0a%3c Document everything.%0a%3c %0a---%0a> - Real legal name%0a> - Age, date of birth, phone number, home address, social media accounts%0a> - Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a> - What crime networks they collect to. IP addresses, domain names%0a> - Their criminal friends%0a> - Source code of the software they use%0a> %0a> Document everything.%0a> %0a48,62c48,63%0a%3c For example, suppose you found the IP 1.2.3.4 is hosting an IRC command and control botnet for crime. You can run:%0a%3c %0a%3c [@%0a%3c $ whois 1.2.3.4%0a%3c VPS Hosting Generic VPS-INC (NET-1.2.3.4) 1.2.3.0 - 1.2.6.0%0a%3c @]%0a%3c %0a%3c This tells you that the server is hosted with Generic VPS, inc. So, head over to Generic VPS's website and go to their abuse page and contact them. Send them an email to support@ or abuse@example.com, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a%3c %0a%3c Suppose you realize that the domain example.com is being used for the illegal botnet:%0a%3c %0a%3c [@%0a%3c $ whois example.com%0a%3c Domain Name: EXAMPLE.COM%0a%3c Registry Domain ID: D1234567890%0a---%0a> For example, suppose you found the IP 70.39.99.207 is hosting an IRC command and control botnet for crime. You can run:%0a> %0a> %3ccode>%0a> $ whois 70.39.99.207%0a> Sharktech SHARKTECH-INC (NET-70-39-64-0-1) 70.39.64.0 - 70.39.127.255%0a> Sharktech ST-DEN (NET-70-39-64-0-2) 70.39.64.0 - 70.39.127.255%0a> %3c/code>%0a> %0a> This tells you that the server is hosted with Sharktech. So, you head over to [[https://sharktech.net|Sharktech's website]] and go to their abuse page and contact them. Send them an email to support@ or abuse@sharktech.net, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a> %0a> Suppose you realize that the domain merantau.org is being used for the illegal botnet:%0a> %0a> %3ccode>%0a> $ whois merantau.org%0a> Domain Name: MERANTAU.ORG%0a> Registry Domain ID: D402200000005816262-LROR%0a64c65%0a%3c Registrar URL: http://www.genericregistrarexample.com%0a---%0a> Registrar URL: http://www.planetdomain.com.au%0a69,72c70,73%0a%3c Registrar: Generic Registrar Ltd%0a%3c Registrar IANA ID: 12345678%0a%3c Registrar Abuse Contact Email: feedback@genericregistrarexample.com%0a%3c Registrar Abuse Contact Phone: +1234567890%0a---%0a> Registrar: PlanetDomain Pty Ltd%0a> Registrar IANA ID: 240%0a> Registrar Abuse Contact Email: feedback@netregistry.com.au%0a> Registrar Abuse Contact Phone: +61.299340501%0a76,80c77,81%0a%3c Registrant Organization: Hacker Inc%0a%3c Registrant State/Province: CA%0a%3c Registrant Country: US%0a%3c Name Server: NS1.EXAMPLE.COM%0a%3c Name Server: NS2.EXAMPLE.COM%0a---%0a> Registrant Organization: sem%0a> Registrant State/Province: samarinda%0a> Registrant Country: ID%0a> Name Server: NS1.NETREGISTRY.NET%0a> Name Server: NS2.NETREGISTRY.NET%0a84,87c85,88%0a%3c @]%0a%3c %0a%3c This tells us that the domain example.com was registered by Hacker Inc with the registrar http://www.genericregistrarexample.com, and that abuse should be reported to feedback@genericregistrarexample.com. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In one particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a%3c %0a---%0a> %3c/code>%0a> %0a> This tells us that the domain merantau.org was registered by sem with the registrar http://www.planetdomain.com.au, and that abuse should be reported to feedback@netregistry.com.au. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In this particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a> %0a90,96c91,97%0a%3c 14:25 -!- hacker [thief@shell.example.com] has joined #illegal%0a%3c %0a%3c Based on his vhost mask, you can tell that he's connecting from shell.example.com . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case thief) and not just the nick (hacker). The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a%3c %0a%3c [@%0a%3c $ dig shell.example.com%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> shell.example.com%0a---%0a> 14:25 -!- jasad [jasad@gprs1.telecom.ronsor.pw] has joined #meRANTAU%0a> %0a> Based on his vhost mask, you can tell that he's connecting from gprs1.telecom.ronsor.pw . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case jasad) and not just the nick. The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a> %0a> %3ccode>%0a> $ dig gprs1.telecom.ronsor.pw%0a> ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> gprs1.telecom.ronsor.pw%0a103,104c104,105%0a%3c ;shell.example.com. IN A%0a%3c %0a---%0a> ;gprs1.telecom.ronsor.pw. IN A%0a> %0a106,107c107,108%0a%3c shell.example.com. 300 IN A 192.168.0.1%0a%3c %0a---%0a> gprs1.telecom.ronsor.pw. 300 IN A 45.79.78.155%0a> %0a112,138c113,139%0a%3c @]%0a%3c %0a%3c This tells you that the IP address for the server is 192.168.0.1. So you then run:%0a%3c %0a%3c [@%0a%3c $ whois 192.168.0.1%0a%3c OrgName: Cloud%0a%3c OrgId: CLD%0a%3c Address: 123 Nowhere St%0a%3c City: Nowhere%0a%3c StateProv: NY%0a%3c PostalCode: 12345%0a%3c Country: US%0a%3c RegDate: 2008-04-24%0a%3c Updated: 2019-06-28%0a%3c Comment: http://www.completelyrandomcloudexample.com%0a%3c Ref: https://rdap.arin.net/registry/entity/LINOD%0a%3c OrgNOCHandle: LN1234567-ARIN%0a%3c OrgNOCName: Cloud Network Operations%0a%3c OrgNOCPhone: +1-234-567-8900%0a%3c OrgNOCEmail: support@completelyrandomcloudexample.com%0a%3c OrgNOCRef: https://rdap.arin.net/registry/entity/LN1234567-ARIN%0a%3c %0a%3c OrgAbuseHandle: LAS1234567-ARIN %0a%3c OrgAbuseName: Cloud Abuse Support%0a%3c OrgAbusePhone: +1-234-567-8900%0a%3c OrgAbuseEmail: abuse@completelyrandomcloudexample.com%0a---%0a> %3c/code>%0a> %0a> This tells you that the IP address for the server is 45.79.78.155. So you then run:%0a> %0a> %3ccode>%0a> $ whois 45.79.78.155%0a> OrgName: Linode%0a> OrgId: LINOD%0a> Address: 249 Arch St %0a> City: Philadelphia %0a> StateProv: PA %0a> PostalCode: 19106 %0a> Country: US %0a> RegDate: 2008-04-24 %0a> Updated: 2019-06-28 %0a> Comment: http://www.linode.com %0a> Ref: https://rdap.arin.net/registry/entity/LINOD %0a> OrgNOCHandle: LNO21-ARIN %0a> OrgNOCName: Linode Network Operations %0a> OrgNOCPhone: +1-609-380-7304 %0a> OrgNOCEmail: support@linode.com %0a> OrgNOCRef: https://rdap.arin.net/registry/entity/LNO21-ARIN %0a> %0a> OrgAbuseHandle: LAS12-ARIN %0a> OrgAbuseName: Linode Abuse Support%0a> OrgAbusePhone: +1-609-380-7100%0a> OrgAbuseEmail: abuse@linode.com%0a141,144c142,145%0a%3c OrgTechHandle: LNO1234567-ARIN%0a%3c OrgTechName: Cloud Network Operations%0a%3c OrgTechPhone: +1-234-567-8900%0a%3c OrgTechEmail: support@completelyrandomcloudexample.com%0a---%0a> OrgTechHandle: LNO21-ARIN%0a> OrgTechName: Linode Network Operations%0a> OrgTechPhone: +1-609-380-7304%0a> OrgTechEmail: support@linode.com%0a146,149c147,150%0a%3c @]%0a%3c %0a%3c This shell provider uses a Cloud VPS. So, contact Cloud's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Cloud and the shell provider close the guilty accounts.%0a%3c %0a---%0a> %3c/code>%0a> %0a> This shell provider uses a Linode VPS. So, contact Linode's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Linode and the shell provider close the guilty accounts.%0a> %0a152,154c153,155%0a%3c [@%0a%3c $ dig -x 192.168.0.1%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 192.168.0.1%0a---%0a> %3ccode>%0a> $ dig -x 45.79.78.155%0a> ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 45.79.78.155%0a161,162c162,163%0a%3c ;1.0.168.192.in-addr.arpa. IN PTR%0a%3c %0a---%0a> ;155.78.79.45.in-addr.arpa. IN PTR%0a> %0a164,165c165,166%0a%3c 1.0.168.192.in-addr.arpa. 86400 IN PTR criminal.example.com.%0a%3c %0a---%0a> 155.78.79.45.in-addr.arpa. 86400 IN PTR gprs1.telecom.ronsor.pw.%0a> %0a170,173c171,174%0a%3c @]%0a%3c %0a%3c This tells you that the domain name is criminal.example.com.%0a%3c %0a---%0a> %3c/code>%0a> %0a> This tells you that the domain name is gprs1.telecom.ronsor.pw.%0a> %0a178,179c179,180%0a%3c Make sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to abuse@ircnow.org so our team can take a look.%0a%3c %0a---%0a> Make sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to rahab@ircnow.org so our team can take a look.%0a> %0a182,189c183,190%0a%3c # Take down domains%0a%3c # Take down irc servers%0a%3c # Take down shell accounts / bouncers used by admins/criminals%0a%3c # Finally, take down stolen servers and bots used for stealing%0a%3c %0a%3c There are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and IRC servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a%3c %0a%3c The reason we take down domains first is because it causes the most disruption while still allowing you to connect to the IRCd for further spying. Afterwards, we can cause netsplits by taking down the IRC servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else.%0a\ No newline at end of file%0a---%0a> - Take down domains%0a> - Take down irc servers%0a> - Take down shell accounts / bouncers used by admins/criminals%0a> - Finally, take down stolen servers and bots used for stealing%0a> %0a> There are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and irc servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a> %0a> The reason we take down domains first is because it causes the most disruption while still allowing you to connect to the ircd for further spying. Afterwards, we can cause netsplits by taking down the irc servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else.%0a\ No newline at end of file%0a +host:1597120611=38.81.163.143 +author:1597119585=jrmu +diff:1597119585:1597119585:=1,190d0%0a%3c Here are the rules:%0a%3c %0a%3c - Never break the law%0a%3c - Avoid reporting to the police unless someone is in physical danger%0a%3c - Don't do this from home, use a VPS, shell account, or bouncer%0a%3c - Never reveal any personally identifiable information%0a%3c - If you make a phone call, use a company phone to hide your number%0a%3c - If you send an email, use a disposable email or company email%0a%3c - If you visit a shady website, disable all javascript%0a%3c %0a%3c Setting up irssi to connect via tor:%0a%3c %0a%3c %3ccode>%0a%3c $ tmux%0a%3c $ doas pkg_add tor torsocks irssi%0a%3c $ doas rcctl enable tor%0a%3c $ doas rcctl start%0a%3c $ torsocks irssi%0a%3c %0a%3c /set real_name %3crealname>%0a%3c /set user_name %3cusername>%0a%3c /set nick %3cnick>%0a%3c /set ctcp_userinfo_reply mIRC 7.61%0a%3c /set ctcp_version_reply mIRC 7.61%0a%3c /set autolog on%0a%3c /save%0a%3c %3c/code>%0a%3c %0a%3c You can use something besides mIRC 7.61 for the ctcp reply. Just pick something realistic looking besides irssi.%0a%3c %0a%3c In order to infiltrate a criminal network, you will need to do some research. Figure out what they are interested in (ddos attacks, phishing, credit card fraud, spamming). Try to understand what language they speak, what they are passionate about, and see if you can strike up a conversation with them. This helps build trust so they will be willing to share more information.%0a%3c %0a%3c Use a little creativity. Don't commit any illegal crime, don't suggest they commit any crimes. However, feel free to chat with them, ask them how they are doing, what hobbies they enjoy etc. Try to ask them for information to learn more about them, but...be subtle, be subtle! I recommend you avoid lying. However, you are welcome to change your persona. Use a new dialect. If you normally chat using formal English, use lots of slang. Talk like someone their age. Spell things wrong on purpose if it helps you fit in. Go ahead and use bad grammar if it helps. Feel free to use Google translate for the conversation. Have fun!%0a%3c %0a%3c First, make sure you have proof they have committed a real crime. If there is no evidence, then stop collecting logs. If there is proof, then collect as much data as you can. Make sure you have logging turned on. Figure out what networks they join, what software they use, what servers are their hubs. Data you want to collect:%0a%3c %0a%3c - Real legal name%0a%3c - Age, date of birth, phone number, home address, social media accounts%0a%3c - Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a%3c - What crime networks they collect to. IP addresses, domain names%0a%3c - Their criminal friends%0a%3c - Source code of the software they use%0a%3c %0a%3c Document everything.%0a%3c %0a%3c Your biggest tool is your brain. Look for clues. For example, use /list to figure out what are the channels inside the network. Join some of them and see who is around. Are there any bots? What are their IP addresses? Who hosts them? Type /who #channel to list all the users within a channel. Type /names to see all the users in a channel. Type /whois username to get more info about a user. However, be careful, as some ircds may notify the admin when a user runs the /whois command. It helps to hang around in a channel for a few weeks.%0a%3c %0a%3c For example, suppose you found the IP 70.39.99.207 is hosting an IRC command and control botnet for crime. You can run:%0a%3c %0a%3c %3ccode>%0a%3c $ whois 70.39.99.207%0a%3c Sharktech SHARKTECH-INC (NET-70-39-64-0-1) 70.39.64.0 - 70.39.127.255%0a%3c Sharktech ST-DEN (NET-70-39-64-0-2) 70.39.64.0 - 70.39.127.255%0a%3c %3c/code>%0a%3c %0a%3c This tells you that the server is hosted with Sharktech. So, you head over to [[https://sharktech.net|Sharktech's website]] and go to their abuse page and contact them. Send them an email to support@ or abuse@sharktech.net, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a%3c %0a%3c Suppose you realize that the domain merantau.org is being used for the illegal botnet:%0a%3c %0a%3c %3ccode>%0a%3c $ whois merantau.org%0a%3c Domain Name: MERANTAU.ORG%0a%3c Registry Domain ID: D402200000005816262-LROR%0a%3c Registrar WHOIS Server:%0a%3c Registrar URL: http://www.planetdomain.com.au%0a%3c Updated Date: 2020-05-06T00:41:36Z%0a%3c Creation Date: 2018-04-15T05:08:12Z%0a%3c Registry Expiry Date: 2021-04-15T05:08:12Z%0a%3c Registrar Registration Expiration Date:%0a%3c Registrar: PlanetDomain Pty Ltd%0a%3c Registrar IANA ID: 240%0a%3c Registrar Abuse Contact Email: feedback@netregistry.com.au%0a%3c Registrar Abuse Contact Phone: +61.299340501%0a%3c Reseller:%0a%3c Domain Status: ok https://icann.org/epp#ok%0a%3c Domain Status: autoRenewPeriod https://icann.org/epp#autoRenewPeriod%0a%3c Registrant Organization: sem%0a%3c Registrant State/Province: samarinda%0a%3c Registrant Country: ID%0a%3c Name Server: NS1.NETREGISTRY.NET%0a%3c Name Server: NS2.NETREGISTRY.NET%0a%3c DNSSEC: unsigned%0a%3c URL of the ICANN Whois Inaccuracy Complaint Form https://www.icann.org/wicf/)%0a%3c >>> Last update of WHOIS database: 2020-05-07T13:23:58Z %3c%3c%3c%0a%3c %3c/code>%0a%3c %0a%3c This tells us that the domain merantau.org was registered by sem with the registrar http://www.planetdomain.com.au, and that abuse should be reported to feedback@netregistry.com.au. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In this particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a%3c %0a%3c Suppose you see one of the criminals joining like this:%0a%3c %0a%3c 14:25 -!- jasad [jasad@gprs1.telecom.ronsor.pw] has joined #meRANTAU%0a%3c %0a%3c Based on his vhost mask, you can tell that he's connecting from gprs1.telecom.ronsor.pw . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case jasad) and not just the nick. The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a%3c %0a%3c %3ccode>%0a%3c $ dig gprs1.telecom.ronsor.pw%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> gprs1.telecom.ronsor.pw%0a%3c ;; global options: printcmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 39025%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%3c %0a%3c ;; QUESTION SECTION:%0a%3c ;gprs1.telecom.ronsor.pw. IN A%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c gprs1.telecom.ronsor.pw. 300 IN A 45.79.78.155%0a%3c %0a%3c ;; Query time: 295 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Thu May 7 22:01:41 2020%0a%3c ;; MSG SIZE rcvd: 57%0a%3c %3c/code>%0a%3c %0a%3c This tells you that the IP address for the server is 45.79.78.155. So you then run:%0a%3c %0a%3c %3ccode>%0a%3c $ whois 45.79.78.155%0a%3c OrgName: Linode%0a%3c OrgId: LINOD%0a%3c Address: 249 Arch St %0a%3c City: Philadelphia %0a%3c StateProv: PA %0a%3c PostalCode: 19106 %0a%3c Country: US %0a%3c RegDate: 2008-04-24 %0a%3c Updated: 2019-06-28 %0a%3c Comment: http://www.linode.com %0a%3c Ref: https://rdap.arin.net/registry/entity/LINOD %0a%3c OrgNOCHandle: LNO21-ARIN %0a%3c OrgNOCName: Linode Network Operations %0a%3c OrgNOCPhone: +1-609-380-7304 %0a%3c OrgNOCEmail: support@linode.com %0a%3c OrgNOCRef: https://rdap.arin.net/registry/entity/LNO21-ARIN %0a%3c %0a%3c OrgAbuseHandle: LAS12-ARIN %0a%3c OrgAbuseName: Linode Abuse Support%0a%3c OrgAbusePhone: +1-609-380-7100%0a%3c OrgAbuseEmail: abuse@linode.com%0a%3c OrgAbuseRef: https://rdap.arin.net/registry/entity/LAS12-ARIN%0a%3c %0a%3c OrgTechHandle: LNO21-ARIN%0a%3c OrgTechName: Linode Network Operations%0a%3c OrgTechPhone: +1-609-380-7304%0a%3c OrgTechEmail: support@linode.com%0a%3c OrgTechRef: https://rdap.arin.net/registry/entity/LNO21-ARIN%0a%3c %3c/code>%0a%3c %0a%3c This shell provider uses a Linode VPS. So, contact Linode's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Linode and the shell provider close the guilty accounts.%0a%3c %0a%3c Sometimes you have an IP but you don't know who owns it. You can run this:%0a%3c %0a%3c %3ccode>%0a%3c $ dig -x 45.79.78.155%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 45.79.78.155%0a%3c ;; global options: printcmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 6039%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%3c %0a%3c ;; QUESTION SECTION:%0a%3c ;155.78.79.45.in-addr.arpa. IN PTR%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c 155.78.79.45.in-addr.arpa. 86400 IN PTR gprs1.telecom.ronsor.pw.%0a%3c %0a%3c ;; Query time: 4943 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Thu May 7 22:05:55 2020%0a%3c ;; MSG SIZE rcvd: 80%0a%3c %3c/code>%0a%3c %0a%3c This tells you that the domain name is gprs1.telecom.ronsor.pw.%0a%3c %0a%3c Once you get this basic information, use a search engine to gather more. Search their name, their network, their websites -- look for any software they might have written, anything about them that might be useful. Their nicknames might show up on old logs, they might have malware associated. This research is very important for proving someone is guilty of a crime.%0a%3c %0a%3c In your email, make sure to document the crime clearly and provide clear evidence. Use screenshots, videos, chat logs, whatever is most effective.%0a%3c %0a%3c Make sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to rahab@ircnow.org so our team can take a look.%0a%3c %0a%3c When you start filing reports, make sure you go in this order:%0a%3c %0a%3c - Take down domains%0a%3c - Take down irc servers%0a%3c - Take down shell accounts / bouncers used by admins/criminals%0a%3c - Finally, take down stolen servers and bots used for stealing%0a%3c %0a%3c There are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and irc servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a%3c %0a%3c The reason we take down domains first is because it causes the most disruption while still allowing you to connect to the ircd for further spying. Afterwards, we can cause netsplits by taking down the irc servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else.%0a\ No newline at end of file%0a +host:1597119585=38.81.163.143 blob - /dev/null blob + fc4ceac6b87780a4e31cfe8c765c9dd60bedf82d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ports @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745549 +host=38.81.163.143 +name=Openbsd.Ports +rev=1 +targets= +text=OpenBSD provides a [[https://www.openbsd.org/faq/ports/ports.html|ports tree]] for installing software. You can find a copy of the ports from [[https://www.openbsd.org/ftp.html|the mirrors page]].%0a%0a[@%0a$ cd /tmp%0a$ ftp https://cdn.openbsd.org/pub/OpenBSD/$(uname -r)/{ports.tar.gz,SHA256.sig}%0a$ signify -Cp /etc/signify/openbsd-$(uname -r | cut -c 1,3)-base.pub -x SHA256.sig ports.tar.gz%0a@]%0a%0aIf that returns OK, then the download was successful and valid. As root, run:%0a%0a[@%0a# cd /usr%0a# tar xzf /tmp/ports.tar.gz%0a@]%0a%0aTo build a package from ports,%0a%0a[@%0a$ cd /usr/ports/%3cfolder>/%3cpackage>%0a$ doas make install%0a@]%0a%0a(This last step is bad practice since building can be done without being root; only installation requires root privileges) +time=1597745549 +author:1597745549=jrmu +diff:1597745549:1597745549:=1,23d0%0a%3c OpenBSD provides a [[https://www.openbsd.org/faq/ports/ports.html|ports tree]] for installing software. You can find a copy of the ports from [[https://www.openbsd.org/ftp.html|the mirrors page]].%0a%3c %0a%3c [@%0a%3c $ cd /tmp%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/$(uname -r)/{ports.tar.gz,SHA256.sig}%0a%3c $ signify -Cp /etc/signify/openbsd-$(uname -r | cut -c 1,3)-base.pub -x SHA256.sig ports.tar.gz%0a%3c @]%0a%3c %0a%3c If that returns OK, then the download was successful and valid. As root, run:%0a%3c %0a%3c [@%0a%3c # cd /usr%0a%3c # tar xzf /tmp/ports.tar.gz%0a%3c @]%0a%3c %0a%3c To build a package from ports,%0a%3c %0a%3c [@%0a%3c $ cd /usr/ports/%3cfolder>/%3cpackage>%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c (This last step is bad practice since building can be done without being root; only installation requires root privileges)%0a\ No newline at end of file%0a +host:1597745549=38.81.163.143 blob - /dev/null blob + 5b2525901585a814b1d231ffe3ad81f7f79e1b82 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pppoe @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1597226714 +host=198.251.81.133 +name=Openbsd.Pppoe +rev=3 +targets= +text=In /etc/hostname.pppoe0:%0a%0a[@%0ainet 0.0.0.0 255.255.255.255 NONE \%0a pppoedev nfe0 authproto pap \%0a authname '12345@example.com' authkey 'abcd1234' up%0adest 0.0.0.1%0a!/sbin/route add default -ifp pppoe0 0.0.0.1%0a@]%0a%0aIn /etc/hostname.nfe0:%0a%0a[@%0aup%0a@]%0a%0aIn /etc/pf.conf:%0a%0a[@%0amatch on pppoe0 scrub (max-mss 1440)%0a@]%0a%0aMake sure to run @@syspatch@@ or you may encounter "pppoe0: LCP keepalive timeout" errors. +time=1628596562 +author:1628596562=mkf +diff:1628596562:1628596546:=10d9%0a%3c %0a +host:1628596562=198.251.81.133 +author:1628596546=mkf +diff:1628596546:1597226714:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a9c9,10%0a%3c @]%0a---%0a> %3c/code>%0a> %0a12c13%0a%3c [@%0a---%0a> %3ccode>%0a14,15c15,16%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a18c19%0a%3c [@%0a---%0a> %3ccode>%0a20,22c21,23%0a%3c @]%0a%3c %0a%3c Make sure to run @@syspatch@@ or you may encounter "pppoe0: LCP keepalive timeout" errors.%0a\ No newline at end of file%0a---%0a> %3c/code>%0a> %0a> Make sure to run syspatch or you may encounter "pppoe0: LCP keepalive timeout" errors.%0a\ No newline at end of file%0a +host:1628596546=198.251.81.133 +author:1597226714=jrmu +diff:1597226714:1597226714:=1,23d0%0a%3c In /etc/hostname.pppoe0:%0a%3c %0a%3c %3ccode>%0a%3c inet 0.0.0.0 255.255.255.255 NONE \%0a%3c pppoedev nfe0 authproto pap \%0a%3c authname '12345@example.com' authkey 'abcd1234' up%0a%3c dest 0.0.0.1%0a%3c !/sbin/route add default -ifp pppoe0 0.0.0.1%0a%3c %3c/code>%0a%3c %0a%3c In /etc/hostname.nfe0:%0a%3c %0a%3c %3ccode>%0a%3c up%0a%3c %3c/code>%0a%3c %0a%3c In /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c match on pppoe0 scrub (max-mss 1440)%0a%3c %3c/code>%0a%3c %0a%3c Make sure to run syspatch or you may encounter "pppoe0: LCP keepalive timeout" errors.%0a\ No newline at end of file%0a +host:1597226714=38.81.163.143 blob - /dev/null blob + 716f062e0c8bc69ac6b77169801208c3acc2f224 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Psybnc @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597718661 +host=38.81.163.143 +name=Openbsd.Psybnc +rev=15 +targets=Openbsd.Rcd +text=Create a new user for psybnc:%0a%0a[@%0a$ doas useradd -m -g =uid -c "psybnc" -d /home/psybnc -s /bin/ksh psybnc%0a$ doas adduser%0a$ doas su psybnc%0a@]%0a%0aInstall c-ares then build psybnc:%0a%0a[@%0a$ doas pkg_add libcares%0a$ cd ~%0a$ ftp http://www.psybnc.dk/download/psyBNC-2.4BETA2.tar.gz%0a$ tar zxf psyBNC-2.4BETA2.tar.gz%0a$ rm psyBNC-2.4BETA2.tar.gz%0a$ cd psybnc%0a$ make%0a@]%0a%0aInside @@psybnc.conf@@:%0a%0a[@%0aPSYBNC.SYSTEM.PORT1=1314%0aPSYBNC.SYSTEM.HOST1=*%0aPSYBNC.SYSTEM.PORT2=21314%0aPSYBNC.SYSTEM.HOST2=S=*%0aPSYBNC.HOSTALLOWS.ENTRY0=*;*%0a@]%0a%0aRun psybnc:%0a%0a[@%0a$ ./psybnc%0a@]%0a%0aIt is possible then you may wish to see [[openbsd/rcd]] to add psybnc to system startup.%0a%0a----%0a%0aWhen interacting with psybnc%0a%0aNICK nickname%0aUSER nickname nickname example.ircnow.org :nickname%0a%0aall fields must be filled in -- it checks ident for login%0a%0aTo change nicks on a different network:%0a/nick #ircnow~jrmu%0a%0aI could not figure out how to send a raw command to a specific network, so I just made ircnow the main network%0a%0ato send a privmsg to a specific network%0a/query #network~nickname hello, world!%0a/query #ircnow~Nickserv identify password%0a%0aTo add a network:%0a/quote addnetwork network%0a%0aFor no SSL:%0a%0a/quote addserver network~irc.example.com :6667%0a%0aFor SSL:%0a%0a/quote addserver network~S=irc.example.com :6697%0a%0aBe careful, if it defaults to IPv4 and you attempt to connect IPv6, psybnc crashes '''each and every time''' you load it +time=1597982065 +author:1597982065=jrmu +diff:1597982065:1597981991:= +host:1597982065=38.81.163.143 +author:1597981991=jrmu +diff:1597981991:1597981954:=9,10d8%0a%3c Install c-ares then build psybnc:%0a%3c %0a18a17%0a> $ ./psybnc%0a29,34d27%0a%3c @]%0a%3c %0a%3c Run psybnc:%0a%3c %0a%3c [@%0a%3c $ ./psybnc%0a +host:1597981991=38.81.163.143 +author:1597981954=jrmu +diff:1597981954:1597981776:=4d3%0a%3c $ doas useradd -m -g =uid -c "psybnc" -d /home/psybnc -s /bin/ksh psybnc%0a +host:1597981954=38.81.163.143 +author:1597981776=jrmu +diff:1597981776:1597981685:=1,2c1,2%0a%3c Create a new user for psybnc:%0a%3c %0a---%0a> ''Optional'': Create a new user for psybnc:%0a> %0a4a5%0a> $ doas pkg_add libcares%0a9d9%0a%3c $ doas pkg_add libcares%0a +host:1597981776=38.81.163.143 +author:1597981685=gry +csum:1597981685=reorder +diff:1597981685:1597981559:=5d4%0a%3c $ doas pkg_add libcares%0a14a14%0a> $ doas pkg_add libcares%0a +host:1597981685=203.129.25.247 +author:1597981559=jrmu +diff:1597981559:1597981540:=26a27%0a> %0a29c30%0a%3c It is possible then you may wish to see [[openbsd/rcd]] to add psybnc to system startup.%0a---%0a> It is possible then you may wish to see [[openbsd:rc.d]] to add psybnc to system startup.%0a +host:1597981559=38.81.163.143 +author:1597981540=jrmu +diff:1597981540:1597981512:=19c19%0a%3c Inside @@psybnc.conf@@:%0a---%0a> Fill out relevant details here as needed, consult [[http://www.exodus.ro/psybnc.php]] if in doubt. Make sure to save this file as ''psybnc.conf'' and in the same directory as where you saved ''config.h''.%0a +host:1597981540=38.81.163.143 +author:1597981512=jrmu +diff:1597981512:1597981480:= +host:1597981512=38.81.163.143 +author:1597981480=jrmu +diff:1597981480:1597757471:=19,20c19%0a%3c Fill out relevant details here as needed, consult [[http://www.exodus.ro/psybnc.php]] if in doubt. Make sure to save this file as ''psybnc.conf'' and in the same directory as where you saved ''config.h''.%0a%3c %0a---%0a> Edit ''config.h'' file. Save the contents of the following code block as ''config.h'', using your favourite text editor where you have all the other psyBNC files. Edit accordingly and save changes.%0a22,27c21,252%0a%3c PSYBNC.SYSTEM.PORT1=1314%0a%3c PSYBNC.SYSTEM.HOST1=*%0a%3c PSYBNC.SYSTEM.PORT2=21314%0a%3c PSYBNC.SYSTEM.HOST2=S=*%0a%3c PSYBNC.HOSTALLOWS.ENTRY0=*;*%0a%3c %0a---%0a> /*%0a> * Configuration file for psyBNC, created by menuconf%0a> */%0a> %0a> /* Encryption%0a> * Support Encryption - This encrypts all your passwords, %0a> * and enables support for channel encryption, relay %0a> * encryption, etc. It is recommended to leave this enabled.%0a> */%0a> %0a> #define CRYPT%0a> %0a> /* Encryption Type%0a> * There are no other encryption types offered other than%0a> * blowfish. It is also used in OpenBSD password-hashing%0a> * method (crypt $2, i.e. bcrypt), but a derived%0a> * algorithm.%0a> */%0a> %0a> #define BLOWFISH%0a> %0a> /* Allow Translation %0a> * This lets you type in English (or whatever your %0a> * language is) and have the text in the channel appear %0a> * in a different language. You will have to consult the %0a> * README for more information.%0a> */%0a> %0a> #define TRANSLATE%0a> %0a> /* Allow internal network %0a> * This lets you use the internal IRCd that psyBNC has. %0a> * Think of it as a big partyline where you can set %0a> * modes/bans/topic/etc.%0a> */%0a> %0a> #define INTNET%0a> %0a> /* Allow traffic logging %0a> * This enables support for logging channels when you are%0a> * not around. It can be handy, but it can also eat up your %0a> * host machine's disk space VERY fast So be careful if %0a> * you enable this. %0a> *%0a> * Note: You can leave support for it enabled here, then %0a> * disable it after it is compiled by simply turning it off.%0a> */%0a> %0a> #define TRAFFICLOG%0a> %0a> /* Allow linkage of bouncers %0a> * If you want your BNC to link to others, or for others to %0a> * link to yours, enable this.%0a> */%0a> %0a> #define LINKAGE%0a> %0a> /* Allow the DCC File-Functions %0a> * DCC or Direct Client Connect, allows users to directly%0a> * connect to each other without going through an intermediary%0a> * such as an IRCd or a BNC. This option allows users to send%0a> * and receive files over DCC.%0a> */%0a> %0a> #define DCCFILES%0a> %0a> /* Pipe DCC Chats %0a> * DCC or Direct Client Connect, allows users to directly%0a> * connect to each other without going through an intermediary%0a> * such as an IRCd or a BNC. This option allows users to%0a> * communicate with each other via DCC.%0a> */%0a> %0a> #define DCCCHAT%0a> %0a> /* Allow to add more users %0a> * Enabling this option allows your bouncer to have other users%0a> * using your bouncer, other than yourself.%0a> * Disabling this feature will also remove psyBNC's bouncer%0a> * administration capabilities. To disable, replace MULTIUSER%0a> * with SINGLEUSER.%0a> */%0a> %0a> #define MULTIUSER%0a> %0a> /* Number of max. Users %0a> * Defines how many users are allowed to connect to the BNC.%0a> * Setting this value to 0 allows infinite amount of users to%0a> * connect to the BNC.%0a> */%0a> %0a> #define MAXUSER 0%0a> %0a> /* Number of max. Connections per User %0a> * Defines the maximum amount of connections each user are%0a> * allowed to have. For each additional user, they will need%0a> * at least 2 (incoming/outgoing) connections per network. %0a> * More connections will be required for each and every active%0a> * DCC chat/send. It is suggested to leave it at 25.%0a> */%0a> %0a> #define MAXCONN 0%0a> %0a> /* Allow the usage of scripts %0a> * Defines whether or not psyBNC allows scripts to be executed %0a> * by users. Whilst it can be handy for certain tasks, such as%0a> * automating user creation. It can also inadvertedly be used%0a> * to run malicious scripts. If you are going to enable this%0a> * setting, it would be wiser to run psyBNC in an unprivileged%0a> * and in resource constrained host machine's environment.%0a> */%0a> %0a> #define SCRIPTING%0a> %0a> /* Support oIdentd %0a> * Defines on whether or not to offer ident changing. On%0a> * certain networks like IRCNet, identd needs to be enabled,%0a> * or you will not be allowed to connect to their network. On%0a> * other networks, the lack of identd support simply means your%0a> * username will be prefixed with ~.%0a> */%0a> %0a> #define OIDENTD%0a> %0a> /* Allow multiple IRC connections per user %0a> * This allows users to connect to more than one network with %0a> * the same IRC client. It is recommended to leave this on if%0a> * or your users wants to participate in multiple IRC networks.%0a> */%0a> %0a> #define NETWORK%0a> %0a> /* Allow proxy usage%0a> * If you want to further anonymise your connection by bouncing%0a> * from your IRC client to BNC, and from BNC to a proxy which%0a> * is then finally connected to your IRC network of choice.%0a> * You can enable this. However, most IRC servers check for%0a> * open proxies such as HOPM and ACOPM, this will not work in%0a> * many cases.%0a> */%0a> %0a> // #define PROXYS%0a> %0a> /* Allow anonymous bouncer usage%0a> * Defines whether or not to allow non-logged in users, i.e.%0a> * anonymous users to connect to your bouncer and use freely.%0a> * Not recommended if you do not want the entire world to use%0a> * your psyBNC freely.%0a> */%0a> %0a> // #define ANONYMOUS%0a> %0a> /* No permanent IRC connections%0a> * If this option is enabled, psyBNC will disconnect you from%0a> * IRC when you disconnect from the BNC. If disabled, you%0a> * will always remain connected to IRC unless you for psyBNC%0a> * to quit.%0a> */%0a> %0a> // #define DYNAMIC %0a> %0a> /* The logging level %0a> * Defines the logging level for psyBNC to output into logs.%0a> * 0 = Errors%0a> * 1 = Errors and warnings%0a> * 2 = Errors only%0a> */%0a> %0a> #define LOGLEVEL 0%0a> %0a> /* Use the 2.1.1 compatible partyline%0a> * If you are going to be linking to old psyBNC's. Enabling%0a> * this option might be a good idea. However, if you are%0a> * the only psyBNC, or if all the other psyBNC are you%0a> * going to link are running 2.2.1. It is best to disable%0a> * this option.%0a> */%0a> %0a> // #define PARTYCHANNEL%0a> %0a> /* Version reply%0a> * Defines the response when others requests a CTCP VERSION%0a> * from you. Note, when you are connected to the BNC,%0a> * psyBNC will be transparent, and all CTCP requests will be%0a> * handled automatically by your IRC Client. When you are%0a> * not connected to your BNC, psyBNC will only answer the%0a> * string as defined below. Defaults are also shown if%0a> * it is not defined.%0a> */%0a> %0a> // #define CTCPVERSION "psyBNC 2.4-BETA1 by the most psychoid"%0a> %0a> /* SSL-Security */%0a> %0a> #define SSLSEC 0%0a> %0a> /* Insure */%0a> %0a> #define INSURE%0a> @]%0a> %0a> Fill out relevant details here as needed, consult [[http://www.exodus.ro/psybnc.php]] if in doubt. Make sure to save this file as ''psybnc.conf'' and in the same directory as where you saved ''config.h''.%0a> %0a> [@%0a> PSYBNC.SYSTEM.PORT1=31337%0a> PSYBNC.SYSTEM.DEFAULTIPV6=0%0a> PSYBNC.SYSTEM.HOST1=S=*%0a> PSYBNC.HOSTALLOWS.ENTRY0=*;*%0a> USER1.USER.NICK=%0a> USER1.USER.NETWORK=%0a> USER1.USER.USER=%0a> USER1.USER.PASS=%0a> USER1.USER.RIGHTS=0%0a> USER1.USER.SYSMSG=0%0a> USER1.USER.VLINK=0%0a> USER1.USER.PPORT=0%0a> USER1.USER.PARENT=0%0a> USER1.USER.QUITTED=0%0a> USER1.USER.DCCENABLED=1%0a> USER1.USER.AUTOGETDCC=0%0a> USER1.USER.AIDLE=1%0a> USER1.USER.LEAVEQUIT=0%0a> USER1.USER.AUTOREJOIN=0%0a> USER1.USER.LASTLOG=0%0a> USER1.USER.CERT=+%0a> USER1.USER.VHOST=%0a> USER1.USER.PREFERIPV6=1%0a> USER1.USER.LOGIN=%0a> USER1.SERVERS.PORT1=6667%0a> USER1.SERVERS.SERVER1=S=irc.ircnow.org%0a> USER1.CHANNELS.ENTRY0=#example-ch%0a> USER1.CHANNELS.ENTRY2=##example-ch%0a +host:1597981480=38.81.163.143 +author:1597757471=jrmu +diff:1597757471:1597751829:=267,286c267%0a%3c /nick #ircnow~jrmu%0a%3c %0a%3c I could not figure out how to send a raw command to a specific network, so I just made ircnow the main network%0a%3c %0a%3c to send a privmsg to a specific network%0a%3c /query #network~nickname hello, world!%0a%3c /query #ircnow~Nickserv identify password%0a%3c %0a%3c To add a network:%0a%3c /quote addnetwork network%0a%3c %0a%3c For no SSL:%0a%3c %0a%3c /quote addserver network~irc.example.com :6667%0a%3c %0a%3c For SSL:%0a%3c %0a%3c /quote addserver network~S=irc.example.com :6697%0a%3c %0a%3c Be careful, if it defaults to IPv4 and you attempt to connect IPv6, psybnc crashes '''each and every time''' you load it%0a\ No newline at end of file%0a---%0a> /nick #ircnow~jrmu%0a\ No newline at end of file%0a +host:1597757471=38.81.163.143 +author:1597751829=jrmu +diff:1597751829:1597722230:=264,267c264%0a%3c all fields must be filled in -- it checks ident for login%0a%3c %0a%3c To change nicks on a different network:%0a%3c /nick #ircnow~jrmu%0a\ No newline at end of file%0a---%0a> all fields must be filled in -- it checks ident for login%0a\ No newline at end of file%0a +host:1597751829=38.81.163.143 +author:1597722230=jrmu +diff:1597722230:1597720637:=1,2c1,2%0a%3c ''Optional'': Create a new user for psybnc:%0a%3c %0a---%0a> Note: you may want to create a new user for psybnc using the 'adduser' command? Or use chroot? Clarification should be added here.%0a> %0a4,8d3%0a%3c $ doas adduser%0a%3c $ doas su psybnc%0a%3c @]%0a%3c %0a%3c [@%0a14,16d8%0a%3c $ doas pkg_add libcares%0a%3c $ make%0a%3c $ ./psybnc%0a19c11%0a%3c Edit ''config.h'' file. Save the contents of the following code block as ''config.h'', using your favourite text editor where you have all the other psyBNC files. Edit accordingly and save changes.%0a---%0a> Example ''config.h'' file. Save the contents of the following code block as ''config.h'', using your favourite text editor where you have all the other psyBNC files. Edit accordingly and save changes.%0a223,224c215%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a253,254c244,290%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a> $ make%0a> %3c/code>%0a> After running $make command , if you get this message....%0a> %0a> System: OpenBSD%0a> DNS Library (c-ares): Not Available%0a> %0a> Your system does not appear to have the c-ares liberary installed. This library is required for psyBNC to do DNS lookups (as of version 2.4)%0a> %0a> Then you need to add this package prior to run $ make command.%0a> %0a> %3ccode>%0a> doas pkg_add libcares%0a> %3c/code>%0a> %0a> After adding the package now you can run the below commands.%0a> %0a> %3ccode>%0a> $ make%0a> %3c/code>%0a> %0a> Running psyBNC%0a> %3ccode>%0a> $ ./psybnc%0a> %3c/code>%0a> %0a> Now open your preferred irc client and write:%0a> %0a> %3ccode>%0a> /server host:port password%0a> %3c/code>%0a> %0a> For example, assuming these are your parameters:%0a> %0a> Host/IP : 82.211.13.24%0a> Port : 31337%0a> Pass : abcdef%0a> %0a> you must type:%0a> %0a> %3ccode>%0a> /server 82.211.13.24:31337 abcdef%0a> %3c/code>%0a> %0a255a292%0a> %0a +host:1597722230=38.81.163.143 +author:1597720637=jrmu +diff:1597720637:1597718919:=291,301c291%0a%3c It is possible then you may wish to see [[openbsd:rc.d]] to add psybnc to system startup.%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c When interacting with psybnc%0a%3c %0a%3c NICK nickname%0a%3c USER nickname nickname example.ircnow.org :nickname%0a%3c %0a%3c all fields must be filled in -- it checks ident for login%0a\ No newline at end of file%0a---%0a> It is possible then you may wish to see [[openbsd:rc.d]] to add psybnc to system startup.%0a\ No newline at end of file%0a +host:1597720637=38.81.163.143 +author:1597718919=jrmu +diff:1597718919:1597718661:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a5a6,8%0a> %3c/code>%0a> %0a> %3ccode>%0a9,10c12,13%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a12c15%0a%3c [@%0a---%0a> %3ccode>%0a212c215%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597718919=38.81.163.143 +author:1597718661=jrmu +diff:1597718661:1597718661:=1,294d0%0a%3c Note: you may want to create a new user for psybnc using the 'adduser' command? Or use chroot? Clarification should be added here.%0a%3c %0a%3c %3ccode>%0a%3c $ cd ~%0a%3c $ ftp http://www.psybnc.dk/download/psyBNC-2.4BETA2.tar.gz%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c $ tar zxf psyBNC-2.4BETA2.tar.gz%0a%3c $ rm psyBNC-2.4BETA2.tar.gz%0a%3c $ cd psybnc%0a%3c %3c/code>%0a%3c %0a%3c Example ''config.h'' file. Save the contents of the following code block as ''config.h'', using your favourite text editor where you have all the other psyBNC files. Edit accordingly and save changes.%0a%3c %3ccode>%0a%3c /*%0a%3c * Configuration file for psyBNC, created by menuconf%0a%3c */%0a%3c %0a%3c /* Encryption%0a%3c * Support Encryption - This encrypts all your passwords, %0a%3c * and enables support for channel encryption, relay %0a%3c * encryption, etc. It is recommended to leave this enabled.%0a%3c */%0a%3c %0a%3c #define CRYPT%0a%3c %0a%3c /* Encryption Type%0a%3c * There are no other encryption types offered other than%0a%3c * blowfish. It is also used in OpenBSD password-hashing%0a%3c * method (crypt $2, i.e. bcrypt), but a derived%0a%3c * algorithm.%0a%3c */%0a%3c %0a%3c #define BLOWFISH%0a%3c %0a%3c /* Allow Translation %0a%3c * This lets you type in English (or whatever your %0a%3c * language is) and have the text in the channel appear %0a%3c * in a different language. You will have to consult the %0a%3c * README for more information.%0a%3c */%0a%3c %0a%3c #define TRANSLATE%0a%3c %0a%3c /* Allow internal network %0a%3c * This lets you use the internal IRCd that psyBNC has. %0a%3c * Think of it as a big partyline where you can set %0a%3c * modes/bans/topic/etc.%0a%3c */%0a%3c %0a%3c #define INTNET%0a%3c %0a%3c /* Allow traffic logging %0a%3c * This enables support for logging channels when you are%0a%3c * not around. It can be handy, but it can also eat up your %0a%3c * host machine's disk space VERY fast So be careful if %0a%3c * you enable this. %0a%3c *%0a%3c * Note: You can leave support for it enabled here, then %0a%3c * disable it after it is compiled by simply turning it off.%0a%3c */%0a%3c %0a%3c #define TRAFFICLOG%0a%3c %0a%3c /* Allow linkage of bouncers %0a%3c * If you want your BNC to link to others, or for others to %0a%3c * link to yours, enable this.%0a%3c */%0a%3c %0a%3c #define LINKAGE%0a%3c %0a%3c /* Allow the DCC File-Functions %0a%3c * DCC or Direct Client Connect, allows users to directly%0a%3c * connect to each other without going through an intermediary%0a%3c * such as an IRCd or a BNC. This option allows users to send%0a%3c * and receive files over DCC.%0a%3c */%0a%3c %0a%3c #define DCCFILES%0a%3c %0a%3c /* Pipe DCC Chats %0a%3c * DCC or Direct Client Connect, allows users to directly%0a%3c * connect to each other without going through an intermediary%0a%3c * such as an IRCd or a BNC. This option allows users to%0a%3c * communicate with each other via DCC.%0a%3c */%0a%3c %0a%3c #define DCCCHAT%0a%3c %0a%3c /* Allow to add more users %0a%3c * Enabling this option allows your bouncer to have other users%0a%3c * using your bouncer, other than yourself.%0a%3c * Disabling this feature will also remove psyBNC's bouncer%0a%3c * administration capabilities. To disable, replace MULTIUSER%0a%3c * with SINGLEUSER.%0a%3c */%0a%3c %0a%3c #define MULTIUSER%0a%3c %0a%3c /* Number of max. Users %0a%3c * Defines how many users are allowed to connect to the BNC.%0a%3c * Setting this value to 0 allows infinite amount of users to%0a%3c * connect to the BNC.%0a%3c */%0a%3c %0a%3c #define MAXUSER 0%0a%3c %0a%3c /* Number of max. Connections per User %0a%3c * Defines the maximum amount of connections each user are%0a%3c * allowed to have. For each additional user, they will need%0a%3c * at least 2 (incoming/outgoing) connections per network. %0a%3c * More connections will be required for each and every active%0a%3c * DCC chat/send. It is suggested to leave it at 25.%0a%3c */%0a%3c %0a%3c #define MAXCONN 0%0a%3c %0a%3c /* Allow the usage of scripts %0a%3c * Defines whether or not psyBNC allows scripts to be executed %0a%3c * by users. Whilst it can be handy for certain tasks, such as%0a%3c * automating user creation. It can also inadvertedly be used%0a%3c * to run malicious scripts. If you are going to enable this%0a%3c * setting, it would be wiser to run psyBNC in an unprivileged%0a%3c * and in resource constrained host machine's environment.%0a%3c */%0a%3c %0a%3c #define SCRIPTING%0a%3c %0a%3c /* Support oIdentd %0a%3c * Defines on whether or not to offer ident changing. On%0a%3c * certain networks like IRCNet, identd needs to be enabled,%0a%3c * or you will not be allowed to connect to their network. On%0a%3c * other networks, the lack of identd support simply means your%0a%3c * username will be prefixed with ~.%0a%3c */%0a%3c %0a%3c #define OIDENTD%0a%3c %0a%3c /* Allow multiple IRC connections per user %0a%3c * This allows users to connect to more than one network with %0a%3c * the same IRC client. It is recommended to leave this on if%0a%3c * or your users wants to participate in multiple IRC networks.%0a%3c */%0a%3c %0a%3c #define NETWORK%0a%3c %0a%3c /* Allow proxy usage%0a%3c * If you want to further anonymise your connection by bouncing%0a%3c * from your IRC client to BNC, and from BNC to a proxy which%0a%3c * is then finally connected to your IRC network of choice.%0a%3c * You can enable this. However, most IRC servers check for%0a%3c * open proxies such as HOPM and ACOPM, this will not work in%0a%3c * many cases.%0a%3c */%0a%3c %0a%3c // #define PROXYS%0a%3c %0a%3c /* Allow anonymous bouncer usage%0a%3c * Defines whether or not to allow non-logged in users, i.e.%0a%3c * anonymous users to connect to your bouncer and use freely.%0a%3c * Not recommended if you do not want the entire world to use%0a%3c * your psyBNC freely.%0a%3c */%0a%3c %0a%3c // #define ANONYMOUS%0a%3c %0a%3c /* No permanent IRC connections%0a%3c * If this option is enabled, psyBNC will disconnect you from%0a%3c * IRC when you disconnect from the BNC. If disabled, you%0a%3c * will always remain connected to IRC unless you for psyBNC%0a%3c * to quit.%0a%3c */%0a%3c %0a%3c // #define DYNAMIC %0a%3c %0a%3c /* The logging level %0a%3c * Defines the logging level for psyBNC to output into logs.%0a%3c * 0 = Errors%0a%3c * 1 = Errors and warnings%0a%3c * 2 = Errors only%0a%3c */%0a%3c %0a%3c #define LOGLEVEL 0%0a%3c %0a%3c /* Use the 2.1.1 compatible partyline%0a%3c * If you are going to be linking to old psyBNC's. Enabling%0a%3c * this option might be a good idea. However, if you are%0a%3c * the only psyBNC, or if all the other psyBNC are you%0a%3c * going to link are running 2.2.1. It is best to disable%0a%3c * this option.%0a%3c */%0a%3c %0a%3c // #define PARTYCHANNEL%0a%3c %0a%3c /* Version reply%0a%3c * Defines the response when others requests a CTCP VERSION%0a%3c * from you. Note, when you are connected to the BNC,%0a%3c * psyBNC will be transparent, and all CTCP requests will be%0a%3c * handled automatically by your IRC Client. When you are%0a%3c * not connected to your BNC, psyBNC will only answer the%0a%3c * string as defined below. Defaults are also shown if%0a%3c * it is not defined.%0a%3c */%0a%3c %0a%3c // #define CTCPVERSION "psyBNC 2.4-BETA1 by the most psychoid"%0a%3c %0a%3c /* SSL-Security */%0a%3c %0a%3c #define SSLSEC 0%0a%3c %0a%3c /* Insure */%0a%3c %0a%3c #define INSURE%0a%3c %3c/code>%0a%3c %0a%3c Fill out relevant details here as needed, consult [[http://www.exodus.ro/psybnc.php]] if in doubt. Make sure to save this file as ''psybnc.conf'' and in the same directory as where you saved ''config.h''.%0a%3c %3ccode>%0a%3c PSYBNC.SYSTEM.PORT1=31337%0a%3c PSYBNC.SYSTEM.DEFAULTIPV6=0%0a%3c PSYBNC.SYSTEM.HOST1=S=*%0a%3c PSYBNC.HOSTALLOWS.ENTRY0=*;*%0a%3c USER1.USER.NICK=%0a%3c USER1.USER.NETWORK=%0a%3c USER1.USER.USER=%0a%3c USER1.USER.PASS=%0a%3c USER1.USER.RIGHTS=0%0a%3c USER1.USER.SYSMSG=0%0a%3c USER1.USER.VLINK=0%0a%3c USER1.USER.PPORT=0%0a%3c USER1.USER.PARENT=0%0a%3c USER1.USER.QUITTED=0%0a%3c USER1.USER.DCCENABLED=1%0a%3c USER1.USER.AUTOGETDCC=0%0a%3c USER1.USER.AIDLE=1%0a%3c USER1.USER.LEAVEQUIT=0%0a%3c USER1.USER.AUTOREJOIN=0%0a%3c USER1.USER.LASTLOG=0%0a%3c USER1.USER.CERT=+%0a%3c USER1.USER.VHOST=%0a%3c USER1.USER.PREFERIPV6=1%0a%3c USER1.USER.LOGIN=%0a%3c USER1.SERVERS.PORT1=6667%0a%3c USER1.SERVERS.SERVER1=S=irc.ircnow.org%0a%3c USER1.CHANNELS.ENTRY0=#example-ch%0a%3c USER1.CHANNELS.ENTRY2=##example-ch%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c $ make%0a%3c %3c/code>%0a%3c After running $make command , if you get this message....%0a%3c %0a%3c System: OpenBSD%0a%3c DNS Library (c-ares): Not Available%0a%3c %0a%3c Your system does not appear to have the c-ares liberary installed. This library is required for psyBNC to do DNS lookups (as of version 2.4)%0a%3c %0a%3c Then you need to add this package prior to run $ make command.%0a%3c %0a%3c %3ccode>%0a%3c doas pkg_add libcares%0a%3c %3c/code>%0a%3c %0a%3c After adding the package now you can run the below commands.%0a%3c %0a%3c %3ccode>%0a%3c $ make%0a%3c %3c/code>%0a%3c %0a%3c Running psyBNC%0a%3c %3ccode>%0a%3c $ ./psybnc%0a%3c %3c/code>%0a%3c %0a%3c Now open your preferred irc client and write:%0a%3c %0a%3c %3ccode>%0a%3c /server host:port password%0a%3c %3c/code>%0a%3c %0a%3c For example, assuming these are your parameters:%0a%3c %0a%3c Host/IP : 82.211.13.24%0a%3c Port : 31337%0a%3c Pass : abcdef%0a%3c %0a%3c you must type:%0a%3c %0a%3c %3ccode>%0a%3c /server 82.211.13.24:31337 abcdef%0a%3c %3c/code>%0a%3c %0a%3c It is possible then you may wish to see [[openbsd:rc.d]] to add psybnc to system startup.%0a\ No newline at end of file%0a +host:1597718661=38.81.163.143 blob - /dev/null blob + c835f5b6c5ac8697f3809aa2512453cc4bfba8f4 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Pylink @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612773161 +host=198.251.81.119 +name=Openbsd.Pylink +rev=2 +targets= +text=[@%0a$ ftp https://github.com/jlu5/PyLink/archive/master.zip%0a$ unzip master.zip%0a$ cd PyLink-master/%0a@] +time=1612773211 +author:1612773211=jrmu +diff:1612773211:1612773161:=4c4%0a%3c $ cd PyLink-master/%0a---%0a> %0a +host:1612773211=198.251.81.119 +author:1612773161=jrmu +diff:1612773161:1612773161:=1,5d0%0a%3c [@%0a%3c $ ftp https://github.com/jlu5/PyLink/archive/master.zip%0a%3c $ unzip master.zip%0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1612773161=198.251.81.119 blob - /dev/null blob + 623836cd710ccaf45e04171ab32c2850e6b043b5 (mode 644) --- /dev/null +++ wiki.d/Openbsd.RDNS @@ -0,0 +1,73 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1606815945 +host=38.87.162.8 +name=Openbsd.RDNS +rev=20 +targets=Openbsd.Nsd,Openbsd.IPv6,Openbsd.Host,Openbsd.Dig,Openbsd.Netcat +text=(:redirect DNS/ipv6rDNS:)%0a(:title Configuring rDNS using NSD:)%0a%0aWe can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%0a'''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%0a!! IPv6 Subnet%0a%0aSuppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%0a[@%0a2001:550:3402:1:143:: # original subnet%0a2001:0550:3402:0001:0143:: # fill in the missing zeros%0a2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a@]%0a%0aHere is a simple command to do this:%0a%0a[@%0aecho "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a@]%0a%0a(:if false:)%0agrep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a(:ifend:)%0a%0aReplace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a%0aFor example:%0a%0a[@%0aecho "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a@]%0a%0a!! Zone File%0a%0aNow we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a%0a[@%0a$ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a@ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a 2021020105 1800 3600 1209600 3600 )%0a 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a@]%0a%0a!! /var/nsd/etc/nsd.conf%0a%0aNow we only need to add this section to /var/nsd/etc/nsd.conf:%0a%0a[@%0azone:%0a name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a@]%0a%0a!! Restart nsd and test%0a%0a[@%0a$ doas rcctl restart nsd%0a@]%0a%0aWe can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%0a[@%0ahost 2001:550:3402:1:143::1 %3cnameserver-ip>%0a@]%0a%0aReplace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a%0aYou can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a%0a(:if false:)%0a!! Troubleshooting%0a%0a!! Primary and secondary server%0a%0aIf you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "master/example.net"%0a notify: 20.20.20.20 NOKEY%0a provide-xfr: 20.20.20.20 NOKEY%0a@]%0a%0aCreate a new block in the secondary server config file, as in the example:%0a%0a[@%0azone:%0a name: "example.net"%0a zonefile: "slave/example.net"%0a allow-notify: 10.10.10.10 NOKEY%0a request-xfr: 10.10.10.10 NOKEY%0a@]%0a%0a!! The zone file for NSD%0a%0aThe next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%0a[@%0a; Domain file from My project%0a%0aexample.net. 3600 SOA ns.example.net. admin.example.net. (%0a 2020070701 ; serial YYYYMMDDnn%0a 10800 ; refresh%0a 3600 ; retry%0a 604800 ; expire%0a 86400 ) ; minimum TTL%0a%0aexample.net. NS ns.example.net.%0aexample.net. NS ns.secondary.net.%0ans A 10.10.10.10%0aexample.net. A 10.10.10.10%0awww A 10.10.10.10%0airc A 10.10.10.10%0aimap A 10.10.10.10%0asmtp A 10.10.10.10%0aexample.net. mx 10 smtp.example.net.%0a@]%0a%0aSave this zone file as /var/nsd/zones/master/example.net%0a%0a!! Configuration check and start%0a%0aNSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%0a[@%0a$ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a@]%0a%0aAny errors are reported, so no news are good news. You can go ahead and start NSD:%0a%0a[@%0a$ doas rcctl enable nsd%0a$ doas rcctl start nsd%0a@]%0a%0aIf there are issues you can start nsd in debug mode%0a%0a[@%0adoas nsd -d -V 3%0a@]%0a%0ahttps://www.denic.de/en/service/tools/nast/%0a%0a%0a%0a[@%0a$ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a@ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a 2020112906 1800 3600 1209600 3600 )%0a 3600 IN NS cherry.ircnow.org.%0a 3600 IN NS pear.ircnow.org.%0a 3600 IN NS mango.ircnow.org.%0a 3600 IN NS peach.ircnow.org.%0a 3600 IN NS banana.ircnow.org.%0a 3600 IN NS guava.ircnow.org.%0a 3600 IN NS jujube.ircnow.org.%0a 3600 IN NS plum.ircnow.org.%0a 3600 IN NS fig.ircnow.org.%0a 3600 IN NS orange.ircnow.org.%0a 3600 IN NS lemon.ircnow.org.%0a 3600 IN NS grape.ircnow.org.%0a 3600 IN NS coconut.ircnow.org.%0a0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a@]%0a%0aIn /var/nsd/etc/nsd.conf:%0a%0a[@%0azone:%0a name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a include-pattern: "ircnow.org"%0a@]%0a(:ifend:)%0a +time=1627022661 +title=Configuring rDNS using NSD +author:1627022661=jrmu +diff:1627022661:1619353356:=1d0%0a%3c (:redirect DNS/ipv6rDNS:)%0a184c183%0a%3c (:ifend:)%0a---%0a> (:ifend:)%0a\ No newline at end of file%0a +host:1627022661=38.87.162.8 +author:1619353356=jrmu +diff:1619353356:1619352861:=24,27d23%0a%3c %0a%3c (:if false:)%0a%3c grep inet6.*48 /etc/hostname.vio0|awk '{print$2}'|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c (:ifend:)%0a +host:1619353356=198.251.81.119 +author:1619352861=jrmu +diff:1619352861:1617625259:= +host:1619352861=198.251.81.119 +author:1617625259=jrmu +diff:1617625259:1617609240:=22c22%0a%3c echo "%3cIPv6 subnet>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a---%0a> echo "%3cIPv6 address>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a25,31c25%0a%3c Replace %3cIPv6 subnet> with your real IPv6 subnet. Make sure to fill in any missing zeros.%0a%3c %0a%3c For example:%0a%3c %0a%3c [@%0a%3c echo "2001:0550:3402:0001"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a%3c @]%0a---%0a> Replace %3cIPv6 address> with your real IPv6 address.%0a +host:1617625259=198.251.81.44 +author:1617609240=jrmu +diff:1617609240:1617608292:=22c22%0a%3c echo "%3cIPv6 address>"|rev|sed "s/://g;s/\(.\)/\1./g;s/$/ip6.arpa/"%0a---%0a> echo "2001:0550:3402:0001:0143"|rev|sed "s/://g;s/\(.\)/\1./g"%0a24,25d23%0a%3c %0a%3c Replace %3cIPv6 address> with your real IPv6 address.%0a +host:1617609240=198.251.81.44 +author:1617608292=jrmu +diff:1617608292:1612245460:=17,22d16%0a%3c @]%0a%3c %0a%3c Here is a simple command to do this:%0a%3c %0a%3c [@%0a%3c echo "2001:0550:3402:0001:0143"|rev|sed "s/://g;s/\(.\)/\1./g"%0a +host:1617608292=198.251.81.44 +author:1612245460=jrmu +diff:1612245460:1612239800:=59d58%0a%3c (:if false:)%0a164,165c163%0a%3c @]%0a%3c (:ifend:)%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1612245460=198.251.81.119 +author:1612239800=jrmu +diff:1612239800:1612230426:= +host:1612239800=198.251.81.119 +author:1612230426=jrmu +diff:1612230426:1612196762:=43,44d42%0a%3c !! Restart nsd and test%0a%3c %0a49,50c47,50%0a%3c We can test using [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a---%0a> !! Troubleshooting%0a> %0a> To test if it works, use [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a> %0a58,59d57%0a%3c %0a%3c !! Troubleshooting%0a +host:1612230426=198.251.81.119 +author:1612196762=jrmu +diff:1612196762:1612196703:=55,57c55%0a%3c Replace %3cnameserver-ip> with your actual nameserver IP. Once you have confirmed this is working, you can then ask to have your zone delegated to your nameserver.%0a%3c %0a%3c You can then test if both forward and reverse DNS lookup work by using [[openbsd/netcat|netcat]] to connect to IRC.%0a---%0a> Replace %3cnameserver-ip> with your actual nameserver IP. %0a +host:1612196762=198.251.81.119 +author:1612196703=jrmu +diff:1612196703:1612196273:=19,20d18%0a%3c !! Zone File%0a%3c %0a22a21,24%0a> !! /var/nsd/etc/nsd.conf%0a> %0a> We only need to add two sections to /var/nsd/etc/nsd.conf:%0a> %0a24,30c26,28%0a%3c $ORIGIN 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2021020105 1800 3600 1209600 3600 )%0a%3c 3600 IN NS ns1.jrmu.coconut.ircnow.org.%0a%3c 3600 IN NS ns2.jrmu.coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user1.coconut.ircnow.org.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR user2.coconut.ircnow.org.%0a---%0a> zone:%0a> name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a32,55d29%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf%0a%3c %0a%3c Now we only need to add this section to /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart nsd%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c To test if it works, use [[openbsd/host|host]] or [[openbsd/dig|dig]]:%0a%3c %0a%3c [@%0a%3c host 2001:550:3402:1:143::1 %3cnameserver-ip>%0a%3c @]%0a%3c %0a%3c Replace %3cnameserver-ip> with your actual nameserver IP. %0a +host:1612196703=198.251.81.119 +author:1612196273=jrmu +diff:1612196273:1612195574:=1,10c1,2%0a%3c (:title Configuring rDNS using NSD:)%0a%3c %0a%3c We can configure our rDNS using [[openbsd/nsd|nsd]], an authoritative name server. nsd comes as part of openbsd base so no installation will be necessary.%0a%3c %0a%3c '''NOTICE''': This guide assumes you have already configured [[openbsd/nsd|nsd]] for forward DNS resolution.%0a%3c %0a%3c !! IPv6 Subnet%0a%3c %0a%3c Suppose we have been delegated the rDNS zone for our [[openbsd/IPv6|IPv6]] subnet, 2001:550:3402:1:143::/80. To find out our zone, we need to fill in all the missing zeros, put periods between each digit, reverse the digits, then add ip6.arpa:%0a%3c %0a---%0a> Suppose you were delegated the rDNS zone for 2001:550:3402:1::/48. Fill in the missing zeros, then put periods between each digit, reverse them, then add ip6.arpa to get 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a> %0a12,16c4,21%0a%3c 2001:550:3402:1:143:: # original subnet%0a%3c 2001:0550:3402:0001:0143:: # fill in the missing zeros%0a%3c 2.0.0.1.0.5.5.0.3.4.0.2.0.0.0.1.0.1.4.3 # add periods between each digit%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2 # reverse the digits%0a%3c 3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa # add ip6.arpa%0a---%0a> $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a> @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a> 2020112906 1800 3600 1209600 3600 )%0a> 3600 IN NS cherry.ircnow.org.%0a> 3600 IN NS pear.ircnow.org.%0a> 3600 IN NS mango.ircnow.org.%0a> 3600 IN NS peach.ircnow.org.%0a> 3600 IN NS banana.ircnow.org.%0a> 3600 IN NS guava.ircnow.org.%0a> 3600 IN NS jujube.ircnow.org.%0a> 3600 IN NS plum.ircnow.org.%0a> 3600 IN NS fig.ircnow.org.%0a> 3600 IN NS orange.ircnow.org.%0a> 3600 IN NS lemon.ircnow.org.%0a> 3600 IN NS grape.ircnow.org.%0a> 3600 IN NS coconut.ircnow.org.%0a> 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a19,24c24,25%0a%3c Now we must create the zone file in /var/nsd/zones/master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf%0a%3c %0a%3c We only need to add two sections to /var/nsd/etc/nsd.conf:%0a%3c %0a---%0a> In /var/nsd/etc/nsd.conf:%0a> %0a27,28c28,30%0a%3c name: "3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/3.4.1.0.1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a---%0a> name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a> include-pattern: "ircnow.org"%0a31,34c33,40%0a%3c !! Primary and secondary server%0a%3c %0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a---%0a> (:title Configuring nsd:)%0a> %0a> nsd is an authoritative name server. Because nsd comes in OpenBSD base, it is our preferred nameserver.%0a> %0a> !! /var/nsd/etc/nsd.conf (main configuration file)%0a> %0a> Open up /var/nsd/etc/nsd.conf:%0a> %0a35a42,56%0a> server:%0a> ip-address: 0.0.0.0%0a> ip4-only: yes%0a> identity: "DNS"%0a> hide-version: yes%0a> verbosity: 1%0a> database: ""%0a> username: _nsd%0a> logfile: "/var/log/nsd.log"%0a> pidfile: "/var/nsd/run/nsd.pid"%0a> %0a> remote-control:%0a> control-enable: yes%0a> control-interface: /var/nsd/run/nsd.sock%0a> %0a37,40c58,60%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a---%0a> name: "example.com"%0a> zonefile: "master/example.com"%0a> %0a43,44c63,66%0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %0a---%0a> !! Primary and secondary server%0a> %0a> If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a> %0a48,50c70,72%0a%3c zonefile: "slave/example.net"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a---%0a> zonefile: "master/example.net"%0a> notify: 20.20.20.20 NOKEY%0a> provide-xfr: 20.20.20.20 NOKEY%0a53,56c75,76%0a%3c !! The zone file for NSD%0a%3c %0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a---%0a> Create a new block in the secondary server config file, as in the example:%0a> %0a57a78,89%0a> zone:%0a> name: "example.net"%0a> zonefile: "slave/example.net"%0a> allow-notify: 10.10.10.10 NOKEY%0a> request-xfr: 10.10.10.10 NOKEY%0a> @]%0a> %0a> !! The zone file for NSD%0a> %0a> The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a> %0a> [@%0a101,133c133%0a%3c https://www.denic.de/en/service/tools/nast/%0a%3c %0a%3c %0a%3c %0a%3c [@%0a%3c $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2020112906 1800 3600 1209600 3600 )%0a%3c 3600 IN NS cherry.ircnow.org.%0a%3c 3600 IN NS pear.ircnow.org.%0a%3c 3600 IN NS mango.ircnow.org.%0a%3c 3600 IN NS peach.ircnow.org.%0a%3c 3600 IN NS banana.ircnow.org.%0a%3c 3600 IN NS guava.ircnow.org.%0a%3c 3600 IN NS jujube.ircnow.org.%0a%3c 3600 IN NS plum.ircnow.org.%0a%3c 3600 IN NS fig.ircnow.org.%0a%3c 3600 IN NS orange.ircnow.org.%0a%3c 3600 IN NS lemon.ircnow.org.%0a%3c 3600 IN NS grape.ircnow.org.%0a%3c 3600 IN NS coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a%3c @]%0a%3c %0a%3c In /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c include-pattern: "ircnow.org"%0a%3c @]%0a\ No newline at end of file%0a---%0a> https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a +host:1612196273=198.251.81.119 +author:1612195574=jrmu +diff:1612195574:1612098792:=31,133c31%0a%3c @]%0a%3c %0a%3c (:title Configuring nsd:)%0a%3c %0a%3c nsd is an authoritative name server. Because nsd comes in OpenBSD base, it is our preferred nameserver.%0a%3c %0a%3c !! /var/nsd/etc/nsd.conf (main configuration file)%0a%3c %0a%3c Open up /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c server:%0a%3c ip-address: 0.0.0.0%0a%3c ip4-only: yes%0a%3c identity: "DNS"%0a%3c hide-version: yes%0a%3c verbosity: 1%0a%3c database: ""%0a%3c username: _nsd%0a%3c logfile: "/var/log/nsd.log"%0a%3c pidfile: "/var/nsd/run/nsd.pid"%0a%3c %0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/nsd/run/nsd.sock%0a%3c %0a%3c zone:%0a%3c name: "example.com"%0a%3c zonefile: "master/example.com"%0a%3c %0a%3c @]%0a%3c %0a%3c !! Primary and secondary server%0a%3c %0a%3c If you need a secondary server to host the zone, you can do this as follows. Add to the block that describes your master zone, records about the secondary zone as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "master/example.net"%0a%3c notify: 20.20.20.20 NOKEY%0a%3c provide-xfr: 20.20.20.20 NOKEY%0a%3c @]%0a%3c %0a%3c Create a new block in the secondary server config file, as in the example:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "example.net"%0a%3c zonefile: "slave/example.net"%0a%3c allow-notify: 10.10.10.10 NOKEY%0a%3c request-xfr: 10.10.10.10 NOKEY%0a%3c @]%0a%3c %0a%3c !! The zone file for NSD%0a%3c %0a%3c The next step is to write the zone files for NSD. First the forward lookup zone example.net:%0a%3c %0a%3c [@%0a%3c ; Domain file from My project%0a%3c %0a%3c example.net. 3600 SOA ns.example.net. admin.example.net. (%0a%3c 2020070701 ; serial YYYYMMDDnn%0a%3c 10800 ; refresh%0a%3c 3600 ; retry%0a%3c 604800 ; expire%0a%3c 86400 ) ; minimum TTL%0a%3c %0a%3c example.net. NS ns.example.net.%0a%3c example.net. NS ns.secondary.net.%0a%3c ns A 10.10.10.10%0a%3c example.net. A 10.10.10.10%0a%3c www A 10.10.10.10%0a%3c irc A 10.10.10.10%0a%3c imap A 10.10.10.10%0a%3c smtp A 10.10.10.10%0a%3c example.net. mx 10 smtp.example.net.%0a%3c @]%0a%3c %0a%3c Save this zone file as /var/nsd/zones/master/example.net%0a%3c %0a%3c !! Configuration check and start%0a%3c %0a%3c NSD bring along a tool to check the configuration file before you start or reload the daemon:%0a%3c %0a%3c [@%0a%3c $ doas nsd-checkconf /var/nsd/etc/nsd.conf%0a%3c @]%0a%3c %0a%3c Any errors are reported, so no news are good news. You can go ahead and start NSD:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable nsd%0a%3c $ doas rcctl start nsd%0a%3c @]%0a%3c %0a%3c If there are issues you can start nsd in debug mode%0a%3c %0a%3c [@%0a%3c doas nsd -d -V 3%0a%3c @]%0a%3c %0a%3c https://www.denic.de/en/service/tools/nast/%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1612195574=198.251.81.119 +author:1612098792=jrmu +diff:1612098792:1612098681:=1,2c1,2%0a%3c Suppose you were delegated the rDNS zone for 2001:550:3402:1::/48. Fill in the missing zeros, then put periods between each digit, reverse them, then add ip6.arpa to get 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa:%0a%3c %0a---%0a> Suppose you were delegated the rDNS zone for 2001:550:3402:1::/48. Put periods between each digit, reverse them, then add ip6.arpa to get 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a> %0a4c4%0a%3c $ORIGIN 1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa.%0a---%0a> $ORIGIN 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.%0a28,29c28,29%0a%3c name: "1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.0.2.0.4.3.0.5.5.0.1.0.0.2.ip6.arpa"%0a---%0a> name: "1.0.0.4.0.0.4.6.5.0.6.2.ip6.arpa"%0a> zonefile: "master/1.0.0.4.0.0.4.6.5.0.6.2.ip6.arpa"%0a +host:1612098792=125.224.24.163 +author:1612098681=jrmu +diff:1612098681:1606922326:=1c1%0a%3c Suppose you were delegated the rDNS zone for 2001:550:3402:1::/48. Put periods between each digit, reverse them, then add ip6.arpa to get 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a---%0a> Suppose you were delegated the rDNS zone for 2001:5503:4021::/48. Put periods between each digit, reverse them, then add ip6.arpa to get 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a +host:1612098681=125.224.24.163 +author:1606922326=jrmu +diff:1606922326:1606922113:=1c1%0a%3c Suppose you were delegated the rDNS zone for 2001:5503:4021::/48. Put periods between each digit, reverse them, then add ip6.arpa to get 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa. In /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a---%0a> Suppose you were delegated the rDNS zone for 2001:5503:4021::/48. Then, in /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a +host:1606922326=125.224.25.38 +author:1606922113=jrmu +diff:1606922113:1606815986:=1,2c1,2%0a%3c Suppose you were delegated the rDNS zone for 2001:5503:4021::/48. Then, in /var/nsd/zones/master/1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.:%0a%3c %0a---%0a> Sample rdns zone file:%0a> %0a22,30d21%0a%3c @]%0a%3c %0a%3c In /var/nsd/etc/nsd.conf:%0a%3c %0a%3c [@%0a%3c zone:%0a%3c name: "1.0.0.4.0.0.4.6.5.0.6.2.ip6.arpa"%0a%3c zonefile: "master/1.0.0.4.0.0.4.6.5.0.6.2.ip6.arpa"%0a%3c include-pattern: "ircnow.org"%0a +host:1606922113=125.224.25.38 +author:1606815986=jrmu +diff:1606815986:1606815964:=21c21%0a%3c 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a---%0a> 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a +host:1606815986=198.251.81.119 +author:1606815964=jrmu +diff:1606815964:1606815945:=3d2%0a%3c [@%0a21,22c20%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a%3c @]%0a\ No newline at end of file%0a---%0a> 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a\ No newline at end of file%0a +host:1606815964=198.251.81.119 +author:1606815945=jrmu +diff:1606815945:1606815945:=1,20d0%0a%3c Sample rdns zone file:%0a%3c %0a%3c $ORIGIN 1.2.0.4.3.0.5.5.1.0.0.2.ip6.arpa.%0a%3c @ 3600 IN SOA ns1.ircnow.org. admin.ircnow.org. (%0a%3c 2020112906 1800 3600 1209600 3600 )%0a%3c 3600 IN NS cherry.ircnow.org.%0a%3c 3600 IN NS pear.ircnow.org.%0a%3c 3600 IN NS mango.ircnow.org.%0a%3c 3600 IN NS peach.ircnow.org.%0a%3c 3600 IN NS banana.ircnow.org.%0a%3c 3600 IN NS guava.ircnow.org.%0a%3c 3600 IN NS jujube.ircnow.org.%0a%3c 3600 IN NS plum.ircnow.org.%0a%3c 3600 IN NS fig.ircnow.org.%0a%3c 3600 IN NS orange.ircnow.org.%0a%3c 3600 IN NS lemon.ircnow.org.%0a%3c 3600 IN NS grape.ircnow.org.%0a%3c 3600 IN NS coconut.ircnow.org.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.com.%0a%3c 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 3600 IN PTR www.example.org.%0a\ No newline at end of file%0a +host:1606815945=198.251.81.119 blob - /dev/null blob + c331450287ffc348c4187e3584a91bf000a0b57e (mode 644) --- /dev/null +++ wiki.d/Openbsd.RSTFlood @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608201296 +host=198.251.81.119 +name=Openbsd.RSTFlood +rev=1 +targets=Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title TCP Ack Flood:)%0a%0a!! TCP Ack Flood%0a%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%0aHere are some other packets:%0a%0a[@%0a@]%0a%0aThis packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%0a[@%0aext_ip="192.168.0.1"%0ablock drop quick proto udp from any to $ext_ip port 1900%0a@]%0a%0aA better solution is to block all udp packets except for a few ports that you whitelist:%0a%0a[@%0aext_ip="192.168.0.1"%0apass in quick proto udp to $ext_ip port {domain ntp}%0ablock drop quick proto udp to $ext_ip port 1900%0a@]%0a%0aThis would whitelist DNS and NTP packets but drop all other UDP packets.%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1608201296 +title=TCP Ack Flood +author:1608201296=jrmu +diff:1608201296:1608201296:=1,45d0%0a%3c (:title TCP Ack Flood:)%0a%3c %0a%3c !! TCP Ack Flood%0a%3c %0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a%3c [@%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c @]%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a +host:1608201296=198.251.81.119 blob - /dev/null blob + ade80e20cd661a7ff2d87c04c4b71e959dd2f6dc (mode 644) --- /dev/null +++ wiki.d/Openbsd.Rbldns @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611899107 +host=125.231.24.226 +name=Openbsd.Rbldns +rev=1 +targets= +text=https://rbldnsd.io/%0ahttps://cr.yp.to/djbdns.html%0ahttp://www.blue-quartz.com/rbl/ +time=1611899107 +author:1611899107=jrmu +diff:1611899107:1611899107:=1,3d0%0a%3c https://rbldnsd.io/%0a%3c https://cr.yp.to/djbdns.html%0a%3c http://www.blue-quartz.com/rbl/%0a\ No newline at end of file%0a +host:1611899107=125.231.24.226 blob - /dev/null blob + 299b673e3c756cbd9eeeda6a18b175184b38f39a (mode 644) --- /dev/null +++ wiki.d/Openbsd.Rcctl @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627916572 +host=198.251.81.133 +name=Openbsd.Rcctl +rev=3 +targets= +text=rcctl(8) is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0athankfully since rcctl is part of base system, nothing is needed to install it.%0a%0a!!commands%0a!!!ls%0a%0a@@rcctl ls@@ can used for list-ing kinds of services%0aexamples:%0a%0a[@%0a$ doas rcctl ls failed%0a@]%0a[@%0a$ doas rcctl ls on%0a@]%0a%0a!!!check%0a@@rcctl check@@ can used to check if a service is still running or not.%0afor example:%0a[@%0a$ doas rcctl check vmd%0a@]%0a%0aif vmd is running:%0a[@%0avmd(ok)%0a@]%0a%0aotherwise:%0a[@%0avmd(failed)%0a@]%0a%0a!!!enable%0a@@rcctl enable@@ enables services, making them executed on next boot.%0ait doesn't show anything after running.%0asee start for starting a service without rebooting.%0a[@%0a$ doas rcctl enable xenodm%0a@]%0a%0a!!!disable%0a@@rcctl disable@@ disables services, and don't let them to run on next boot. you might want to stop these as well.%0a[@%0arcctl disable xendom%0a@]%0a%0a!!!start%0a@@rcctl start@@ is for starting services which are allowed to run.%0aif you try to run a disabled service, following will happen:%0a[@%0a$ doas rcctl start sndiod%0a/etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a@]%0a%0ayou can enable it's service, or use @@rcctl start -f@@ to start it without enabling it.%0a%0ain both cases, you will see this:%0a[@%0asndiod(ok)%0a@]%0a%0a!!!stop%0a@@rcctl stop@@ stops running services, if a service is not running or not enabled, it won't say anything.%0a[@ %0a$doas rcctl stop sndiod%0asndiod(ok)%0a@]%0a%0a!!!restart%0a@@rcctl restart@@ it first stop services, then starts them again (thats why it shows two). this is useful for when you have updated configurations. however, you most use reload always. (unless service is stopped or it doesn't support reload)%0a[@%0a$doas rcctl restart smtpd%0asmtpd(ok)%0asmtpd(ok)%0a@]%0a%0a!!!reload%0a@@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected. not all services support this action.%0ait will send a signal to called service in order to reload it:%0a[@%0a$ doas rcctl reload nsd%0ansd(ok)%0a@]%0a%0a!!!flag%0asome deamons ship with custom flags to change their functionality instad of a config file, you can change them with @@flags@@ if they are enabled.%0aapmd is a example of following, you can set @@-H@ to apmd to set maximum perforamce mode on apmd%0a[@%0a$ doas rcctl set apmd flags -H%0a@]%0a%0a!!!get%0ayou can get information from services (no matter if they are running or not)%0ausing @@rcctl get@@:%0a[@%0a$ rcctl get pflogd%0apflogd_class=daemon%0apflogd_flags=%0apflogd_logger=%0apflogd_rtable=0%0apflogd_timeout=30%0apflogd_user=root%0a@] +time=1629666468 +author:1629666468=mkf +diff:1629666468:1627916763:=1c1%0a%3c rcctl(8) is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0a---%0a> rcctl is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0a3a4%0a> %0a4a6%0a> %0a +host:1629666468=198.251.81.133 +author:1627916763=mkf +diff:1627916763:1627916572:= +host:1627916763=198.251.81.133 +author:1627916572=mkf +diff:1627916572:1627916572:=1,106d0%0a%3c rcctl is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0a%3c thankfully since rcctl is part of base system, nothing is needed to install it.%0a%3c %0a%3c %0a%3c !!commands%0a%3c %0a%3c !!!ls%0a%3c %0a%3c @@rcctl ls@@ can used for list-ing kinds of services%0a%3c examples:%0a%3c %0a%3c [@%0a%3c $ doas rcctl ls failed%0a%3c @]%0a%3c [@%0a%3c $ doas rcctl ls on%0a%3c @]%0a%3c %0a%3c !!!check%0a%3c @@rcctl check@@ can used to check if a service is still running or not.%0a%3c for example:%0a%3c [@%0a%3c $ doas rcctl check vmd%0a%3c @]%0a%3c %0a%3c if vmd is running:%0a%3c [@%0a%3c vmd(ok)%0a%3c @]%0a%3c %0a%3c otherwise:%0a%3c [@%0a%3c vmd(failed)%0a%3c @]%0a%3c %0a%3c !!!enable%0a%3c @@rcctl enable@@ enables services, making them executed on next boot.%0a%3c it doesn't show anything after running.%0a%3c see start for starting a service without rebooting.%0a%3c [@%0a%3c $ doas rcctl enable xenodm%0a%3c @]%0a%3c %0a%3c !!!disable%0a%3c @@rcctl disable@@ disables services, and don't let them to run on next boot. you might want to stop these as well.%0a%3c [@%0a%3c rcctl disable xendom%0a%3c @]%0a%3c %0a%3c !!!start%0a%3c @@rcctl start@@ is for starting services which are allowed to run.%0a%3c if you try to run a disabled service, following will happen:%0a%3c [@%0a%3c $ doas rcctl start sndiod%0a%3c /etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a%3c @]%0a%3c %0a%3c you can enable it's service, or use @@rcctl start -f@@ to start it without enabling it.%0a%3c %0a%3c in both cases, you will see this:%0a%3c [@%0a%3c sndiod(ok)%0a%3c @]%0a%3c %0a%3c !!!stop%0a%3c @@rcctl stop@@ stops running services, if a service is not running or not enabled, it won't say anything.%0a%3c [@ %0a%3c $doas rcctl stop sndiod%0a%3c sndiod(ok)%0a%3c @]%0a%3c %0a%3c !!!restart%0a%3c @@rcctl restart@@ it first stop services, then starts them again (thats why it shows two). this is useful for when you have updated configurations. however, you most use reload always. (unless service is stopped or it doesn't support reload)%0a%3c [@%0a%3c $doas rcctl restart smtpd%0a%3c smtpd(ok)%0a%3c smtpd(ok)%0a%3c @]%0a%3c %0a%3c !!!reload%0a%3c @@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected. not all services support this action.%0a%3c it will send a signal to called service in order to reload it:%0a%3c [@%0a%3c $ doas rcctl reload nsd%0a%3c nsd(ok)%0a%3c @]%0a%3c %0a%3c !!!flag%0a%3c some deamons ship with custom flags to change their functionality instad of a config file, you can change them with @@flags@@ if they are enabled.%0a%3c apmd is a example of following, you can set @@-H@ to apmd to set maximum perforamce mode on apmd%0a%3c [@%0a%3c $ doas rcctl set apmd flags -H%0a%3c @]%0a%3c %0a%3c !!!get%0a%3c you can get information from services (no matter if they are running or not)%0a%3c using @@rcctl get@@:%0a%3c [@%0a%3c $ rcctl get pflogd%0a%3c pflogd_class=daemon%0a%3c pflogd_flags=%0a%3c pflogd_logger=%0a%3c pflogd_rtable=0%0a%3c pflogd_timeout=30%0a%3c pflogd_user=root%0a%3c @]%0a\ No newline at end of file%0a +host:1627916572=198.251.81.133 blob - /dev/null blob + d16acf734284e4c9aae9f5fca69afeedfe4f67ac (mode 644) --- /dev/null +++ wiki.d/Openbsd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0 +charset=UTF-8 +ctime=1596189997 +host=2001:8a0:6813:4501:cde4:df17:5501:f119 +name=Openbsd.RecentChanges +rev=1681 +text=* [[Openbsd/Dump]] . . . December 16, 2021, at 04:56 PM by [[~Hawk]]: [==]%0a* [[Openbsd/Gotweb]] . . . December 16, 2021, at 03:36 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Training]] . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Openbsd/Icecast]] . . . November 09, 2021, at 01:22 AM by [[~mkf]]: [==]%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/Vipw]] . . . October 31, 2021, at 03:48 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Adduser]] . . . October 30, 2021, at 10:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Install70]] . . . October 26, 2021, at 05:12 PM by [[~jrmu]]: [==]%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/Minetest]] . . . October 14, 2021, at 02:18 PM by [[~miniontoby]]: [==]%0a* [[Openbsd/Pmwiki]] . . . October 14, 2021, at 02:14 PM by [[~miniontoby]]: [=added credits =]%0a* [[Openbsd/Install69]] . . . September 27, 2021, at 05:59 PM by [[~jrmu]]: [==]%0a* [[Openbsd/PFStable]] . . . September 24, 2021, at 03:28 PM by [[~miniontoby]]: [==]%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/Rcctl]] . . . August 22, 2021, at 09:07 PM by [[~mkf]]: [==]%0a* [[Openbsd/Npppd]] . . . August 21, 2021, at 01:43 PM by [[~mkf]]: [==]%0a* [[Openbsd/FilePermissions]] . . . August 20, 2021, at 02:20 AM by [[~Nate S]]: [==]%0a* [[Openbsd/Vmmlinux]] . . . August 15, 2021, at 05:36 PM by [[~fgm]]: [==]%0a* [[Openbsd/Gophernicus]] . . . August 15, 2021, at 02:06 AM by [[~mkf]]: [==]%0a* [[Openbsd/Iked]] . . . August 15, 2021, at 01:08 AM by [[~mkf]]: [=updated, still doesn't work on 6.9=]%0a* [[Openbsd/Openhttpd]] . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Growfs]] . . . August 13, 2021, at 12:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/ZNCModules]] . . . August 11, 2021, at 03:06 PM by [[~wiz]]: [==]%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/Gopher]] . . . August 07, 2021, at 03:09 AM by [[~craziness]]: [==]%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/Openbsd]] . . . August 02, 2021, at 03:04 PM by [[~mkf]]: [==]%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/Mlmmj]] . . . July 08, 2021, at 09:42 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/Ngircd]] . . . 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/Anope]] . . . May 31, 2021, at 10:24 AM by [[~miniontoby]]: [=cp=]%0a* [[Openbsd/Ddos]] . . . May 29, 2021, at 06:36 AM by [[~mkf]]: [=a bit clean up.=]%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/Pkg]] . . . May 16, 2021, at 06:41 AM by [[~mkf]]: [==]%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/Intro]] . . . March 03, 2021, at 11:59 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* [[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/Dns]] . . . February 04, 2021, at 04:44 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Stable]] . . . February 02, 2021, at 02:25 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Nsd]] . . . February 02, 2021, at 01:34 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/Hopm]] . . . January 23, 2021, at 04:12 PM 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/INN]] . . . January 12, 2021, at 02:16 PM by [[~Dima]]: [==]%0a* [[Openbsd/Loginconf]] . . . January 09, 2021, at 05:16 PM by [[~jrmu]]: [==]%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/Announce]] . . . January 03, 2021, at 01:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Passwords]] . . . January 03, 2021, at 12:20 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Team]] . . . January 02, 2021, at 12:43 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/Ntpd]] . . . December 30, 2020, at 02:42 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Pf-bnc]] . . . December 29, 2020, at 06:30 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Tcltls]] . . . December 29, 2020, at 09:53 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* [[Openbsd/Pf]] . . . December 13, 2020, at 12:03 PM by [[~jrmu]]: [==]%0a* [[Openbsd/Upgrade68]] . . . December 13, 2020, at 11:12 AM 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/Bsdrd]] . . . December 06, 2020, at 11:58 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* [[Openbsd/Botnow]] . . . December 04, 2020, at 10:32 AM 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/Sftp]] . . . August 28, 2020, at 05:19 AM by [[~gry]]: [=+=]%0a* [[Openbsd/Psybnc]] . . . August 21, 2020, at 03:54 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Bchs]] . . . August 20, 2020, at 07:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Ports]] . . . August 18, 2020, at 10:12 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Uim]] . . . August 18, 2020, at 10:10 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/Censord]] . . . August 18, 2020, at 09:47 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/Tcpip]] . . . August 12, 2020, at 08:46 AM by [[~gry]]: [=fmt=]%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/Police]] . . . August 11, 2020, at 04:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd/BBB]] . . . August 10, 2020, at 11:55 AM by [[~jrmu]]: [==]%0a* [[Openbsd/Guides]] . . . August 10, 2020, at 03:42 AM by [[~jrmu]]: [==]%0a +time=1639673802 blob - /dev/null blob + 3f5dcb6dd2cc00f6f877fc21a7151ec5ba1a83a9 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Relayd @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597226664 +host=38.87.162.8 +name=Openbsd.Relayd +rev=6 +targets= +text=(:redirect Relayd.Acceleration:)%0aSuppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a%0a!! Howto%0a%0aYou need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a%0a[@%0aip4="192.168.1.1"%0aip6="2001:db8::"%0awebhost="127.0.0.1"%0a%0atable %3cwww> { $webhost }%0atable %3cbnc> { $webhost }%0ahttp protocol https {%0a match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a match request header append "X-Forwarded-By" \%0a value "$SERVER_ADDR:$SERVER_PORT"%0a match request header set "Connection" value "close"%0a%0a # Various TCP options%0a tcp { sack, backlog 128 }%0a%0a# tls { no tlsv1.0, ciphers HIGH } %0a# tls no session tickets%0a match request header "Host" value "bnc.ircnow.org" forward to %3cbnc>%0a match request header "Host" value "www.ircnow.org" forward to %3cwww>%0a}%0a%0arelay wwwtls {%0a # Run as a SSL/TLS accelerator%0a listen on $ip4 port 443 tls%0a listen on $ip6 port 443 tls%0a protocol https%0a%0a # Forward to hosts in the table%0a forward to %3cbnc> port 1338 mode loadbalance check icmp%0a forward to %3cwww> port 8080 mode loadbalance check icmp%0a} %0a@]%0a%0aYou'll need corresponding TLS certs:%0a%0a[@%0a# ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a# ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a# ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a# ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a# rcctl enable relayd%0a# rcctl start relayd%0a@]%0a%0a'''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a%0a'''WARNING''': Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a%0aIf your httpd is listening on port 443 with TLS, adjust it to another port and without tls. In the prior example where ''%3cwww>'' is to be redirected to port 8080, you should have it set to something like ''listen on 192.168.1.1 port 8080'' instead, in your ''/etc/httpd.conf''. %0a%0aMake sure to also reload/restart your httpd once you made adjustments. You can alternatively check to ensure your config file does not contain error prior to reloading/restarting. To do that, you can do,%0a%0a[@%0a# httpd -nf /etc/httpd.conf%0a@]%0a%0a!! Troubleshooting%0a%0a!!! relayd fails to start%0aIf for whatever reason you fail to start relayd, you can troubleshoot it via making it perform a config test:%0a%0a[@%0a# relayd -n%0a@]%0a%0aIf it does not show ''configuration OK'', it will typically indicate which line(s) containing error(s).%0a%0a!!! relayd doesn't show verbose information%0aAccording to [[https://man.openbsd.org/relayd.conf.5|man 5 relayd.conf]], you can add in the following close towards the top of your ''/etc/relayd.conf'',%0a%0a[@%0alog connection%0a@]%0a%0aThen reload/restart your relayd. %0a%0a'''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%0aIn addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%0a!!! common errors%0a%0a# Make sure httpd is not also listening on port 443%0a# Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a# Make sure nsd is set up properly%0a# Make sure znc is listening on port 1338%0a# Make sure packet filter is turned on%0a +time=1626101113 +author:1626101113=jrmu +diff:1626101113:1608386567:=1d0%0a%3c (:redirect Relayd.Acceleration:)%0a95c94%0a%3c # Make sure packet filter is turned on%0a---%0a> # Make sure packet filter is turned on%0a\ No newline at end of file%0a +host:1626101113=38.87.162.8 +author:1608386567=jrmu +diff:1608386567:1608364202:=45d44%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a47d45%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a +host:1608386567=125.231.58.78 +author:1608364202=jrmu +diff:1608364202:1600267682:=8,9c8%0a%3c ip4="192.168.1.1"%0a%3c ip6="2001:db8::"%0a---%0a> ext_addr="192.168.1.1"%0a31,32c30%0a%3c listen on $ip4 port 443 tls%0a%3c listen on $ip6 port 443 tls%0a---%0a> listen on $ext_addr port 443 tls%0a +host:1608364202=198.251.81.119 +author:1600267682=jrmu +diff:1600267682:1597727479:=89,90c89%0a%3c # Make sure znc is listening on port 1338%0a%3c # Make sure packet filter is turned on%0a\ No newline at end of file%0a---%0a> # Make sure znc is listening on port 1338%0a\ No newline at end of file%0a +host:1600267682=38.81.163.143 +author:1597727479=jrmu +diff:1597727479:1597226664:=3,4c3%0a%3c !! Howto%0a%3c %0a---%0a> ===== HOWTO =====%0a6,7c5%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a37,38c35,36%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a41c39%0a%3c [@%0a---%0a> %3ccode>%0a46,51c44,49%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a%3c %0a%3c '''WARNING''': Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a%3c %0a---%0a> %3c/code>%0a> %0a> **WARNING**: Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a> %0a> **WARNING**: Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a> %0a55,56c53%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a58,62c55,59%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c !!! relayd fails to start%0a---%0a> %3c/code>%0a> %0a> ===== Troubleshooting =====%0a> %0a> ==== relayd fails to start ====%0a64,65c61%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a67,68c63%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a71c66%0a%3c !!! relayd doesn't show verbose information%0a---%0a> ==== relayd doesn't show verbose information ====%0a73,74c68%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a76,77c70%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a80,81c73,74%0a%3c '''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%3c %0a---%0a> **WARNING**: This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a> %0a84,89c77,82%0a%3c !!! common errors%0a%3c %0a%3c # Make sure httpd is not also listening on port 443%0a%3c # Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a%3c # Make sure nsd is set up properly%0a%3c # Make sure znc is listening on port 1338%0a\ No newline at end of file%0a---%0a> ==== common errors ====%0a> %0a> Make sure httpd is not also listening on port 443%0a> Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a> Make sure nsd is set up properly%0a> Make sure znc is listening on port 1338%0a\ No newline at end of file%0a +host:1597727479=38.81.163.143 +author:1597226664=jrmu +diff:1597226664:1597226664:=1,82d0%0a%3c Suppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a%3c %0a%3c ===== HOWTO =====%0a%3c You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a%3c %3ccode>%0a%3c ext_addr="192.168.1.1"%0a%3c webhost="127.0.0.1"%0a%3c %0a%3c table %3cwww> { $webhost }%0a%3c table %3cbnc> { $webhost }%0a%3c http protocol https {%0a%3c match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a%3c match request header append "X-Forwarded-By" \%0a%3c value "$SERVER_ADDR:$SERVER_PORT"%0a%3c match request header set "Connection" value "close"%0a%3c %0a%3c # Various TCP options%0a%3c tcp { sack, backlog 128 }%0a%3c %0a%3c # tls { no tlsv1.0, ciphers HIGH } %0a%3c # tls no session tickets%0a%3c match request header "Host" value "bnc.ircnow.org" forward to %3cbnc>%0a%3c match request header "Host" value "www.ircnow.org" forward to %3cwww>%0a%3c }%0a%3c %0a%3c relay wwwtls {%0a%3c # Run as a SSL/TLS accelerator%0a%3c listen on $ext_addr port 443 tls%0a%3c protocol https%0a%3c %0a%3c # Forward to hosts in the table%0a%3c forward to %3cbnc> port 1338 mode loadbalance check icmp%0a%3c forward to %3cwww> port 8080 mode loadbalance check icmp%0a%3c } %0a%3c %3c/code>%0a%3c %0a%3c You'll need corresponding TLS certs:%0a%3c %0a%3c %3ccode>%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a%3c # rcctl enable relayd%0a%3c # rcctl start relayd%0a%3c %3c/code>%0a%3c %0a%3c **WARNING**: Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a%3c %0a%3c **WARNING**: Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a%3c %0a%3c If your httpd is listening on port 443 with TLS, adjust it to another port and without tls. In the prior example where ''%3cwww>'' is to be redirected to port 8080, you should have it set to something like ''listen on 192.168.1.1 port 8080'' instead, in your ''/etc/httpd.conf''. %0a%3c %0a%3c Make sure to also reload/restart your httpd once you made adjustments. You can alternatively check to ensure your config file does not contain error prior to reloading/restarting. To do that, you can do,%0a%3c %3ccode>%0a%3c # httpd -nf /etc/httpd.conf%0a%3c %3c/code>%0a%3c %0a%3c ===== Troubleshooting =====%0a%3c %0a%3c ==== relayd fails to start ====%0a%3c If for whatever reason you fail to start relayd, you can troubleshoot it via making it perform a config test:%0a%3c %3ccode>%0a%3c # relayd -n%0a%3c %3c/code>%0a%3c If it does not show ''configuration OK'', it will typically indicate which line(s) containing error(s).%0a%3c %0a%3c ==== relayd doesn't show verbose information ====%0a%3c According to [[https://man.openbsd.org/relayd.conf.5|man 5 relayd.conf]], you can add in the following close towards the top of your ''/etc/relayd.conf'',%0a%3c %3ccode>%0a%3c log connection%0a%3c %3c/code>%0a%3c Then reload/restart your relayd. %0a%3c %0a%3c **WARNING**: This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%3c %0a%3c In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%3c %0a%3c ==== common errors ====%0a%3c %0a%3c Make sure httpd is not also listening on port 443%0a%3c Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a%3c Make sure nsd is set up properly%0a%3c Make sure znc is listening on port 1338%0a\ No newline at end of file%0a +host:1597226664=38.81.163.143 blob - /dev/null blob + 6cc16b23b0a3e011d114132c87adfb3759230f68 (mode 644) --- /dev/null +++ wiki.d/Openbsd.SSDP @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1608087239 +host=80.191.34.206 +name=Openbsd.SSDP +rev=7 +targets=Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title SSDP Attacks:)%0a%0a!! SSDP Attacks%0a%0aMany devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0aE.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%0aHere are some other packets:%0a%0a[@%0a16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0aE..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0aE..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0aE.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0aCACHE-CONTROL: max-age=1800%0aDATE: Sat, 25 Jul 2020 00:47:17 GMT%0aEXT:%0aLOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0aOPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0aSERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0aX-User-Agent: redsonic%0aST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0aUSN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a@]%0a%0aThis packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are on [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%0a[@%0aext_ip="192.168.0.1"%0ablock drop quick proto udp from any to $ext_ip port 1900%0a@]%0a%0aA better solution is to block all udp packets except for a few ports that you whitelist:%0a%0a[@%0aext_ip="192.168.0.1"%0apass in quick proto udp to $ext_ip port {domain ntp}%0ablock drop quick proto udp to $ext_ip%0a@]%0a%0aThis would whitelist DNS and NTP packets but drop all other UDP packets.%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1622269081 +title=SSDP Attacks +author:1622269081=mkf +diff:1622269081:1608288048:minor=47c47%0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are on [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a---%0a> First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a +host:1622269081=80.191.34.206 +author:1608288048=jrmu +diff:1608288048:1608112680:=61c61%0a%3c block drop quick proto udp to $ext_ip%0a---%0a> block drop quick proto udp to $ext_ip port 1900%0a +host:1608288048=198.251.81.119 +author:1608112680=jrmu +diff:1608112680:1608095837:=64,68c64%0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a---%0a> This would whitelist DNS and NTP packets but drop all other UDP packets.%0a\ No newline at end of file%0a +host:1608112680=198.251.81.119 +author:1608095837=jrmu +diff:1608095837:1608088679:=54,64c54%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1608095837=198.251.81.119 +author:1608088679=jrmu +diff:1608088679:1608087396:=9,10d8%0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a12,13c10,11%0a%3c 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a---%0a> 16:47:17.409625 106.182.147.148 > 198.251.81.119: icmp: 106.182.147.148 udp port 1900 unreachable [icmp cksum ok] (ttl 247, id 33870, len 146)%0a> E....N....(_j.....Qw..lE....E..vU.....]...Qwj......l.b..M-SEARCH * HTTP/1.1%0a18,25c16,293%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a---%0a> %0a> %0a> 16:47:17.409684 179.56.76.72 > 198.251.81.119: icmp: 179.56.76.72 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a> E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.409773 86.47.127.77.1027 > 198.251.81.119.16546: [udp sum ok] udp 250 (DF) (ttl 55, id 0, len 278)%0a> E.....@.7.T.V/.M..Qw..@....aHTTP/1.1 200 OK%0a> ST:upnp:rootdevice%0a> USN:uuid:11111111-0000-c0a8-01fe-60319731f320::upnp:rootdevice%0a> Location:http://192.168.1.254:5555/DeviceDescription.xml%0a> Cache-Control:max-age=900%0a> Server:Allegro-Software-RomUpnp/4.07 UPnP/1.0 IGD/1.00%0a> Ext:%0a> %0a> %0a> 16:47:17.409794 58.40.78.34 > 198.251.81.119: icmp: 58.40.78.34 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 12306, len 146)%0a> E...0...5...:(N"..Qw...2....E .v......S...Qw:(N"@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.409808 201.220.105.102 > 198.251.81.119: icmp: 201.220.105.102 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 13203, len 146)%0a> E...3...6..[..if..Qw..gP....E(.v%0a> .....s...Qw..if...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410013 106.182.104.110 > 198.251.81.119: icmp: 106.182.104.110 udp port 1900 unreachable [icmp cksum ok] (ttl 56, id 32493, len 146)%0a> E...~...8...j.hn..Qw...2....E..v.2........Qwj.hn@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410155 201.221.194.96 > 198.251.81.119: icmp: 201.221.194.96 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 56786, len 146)%0a> E.......6.. ...`..Qw..gP....E(.v......~...Qw...`...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410176 41.34.136.18 > 198.251.81.119: icmp: 41.34.136.18 udp port 1900 unreachable [icmp cksum ok] [tos 0xe0] (ttl 49, id 53678, len 146)%0a> E.......1..5)"....Qw..gP....E..vdy.....V..Qw)".....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410190 60.253.21.5 > 198.251.81.119: icmp: 60.253.21.5 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 16826, len 146)%0a> E...A...7..|%3c.....Qw...2....E..v.......h..Qw%3c...@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410392 203.122.18.236 > 198.251.81.119: icmp: 203.122.18.236 udp port 1900 unreachable [icmp cksum ok] [tos 0x28] (ttl 53, id 5978, len 146)%0a> E(...Z..5.w..z....Qw..gP....E..v.J....FK..Qw.z.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410401 220.173.24.88 > 198.251.81.119: icmp: 220.173.24.88 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 32820, len 146)%0a> E....4..4......X..Qw..gP....E..v......&%0a> ..Qw...X...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410413 133.160.134.170 > 198.251.81.119: icmp: host 220.209.245.212 unreachable [icmp cksum ok] (ttl 244, id 42776, len 56)%0a> E..8..............Qw..'.....E..vQ.........Qw.......l.b..%0a> 16:47:17.410446 60.175.86.232 > 198.251.81.119: icmp: 60.175.86.232 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 15062, len 146)%0a> E...:...4...%3c.V...Qw...2....E..v.(.....D..Qw%3c.V.@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410458 61.190.175.43 > 198.251.81.119: icmp: 61.190.175.43 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 34017, len 146)%0a> E.......4..m=..+..Qw...2....E..v.3........Qw=..+@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410465 117.81.252.85 > 198.251.81.119: icmp: 117.81.252.85 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 3681, len 146)%0a> E....a..4..0uQ.U..Qw........E..ve......i..QwuQ.U...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410529 106.148.232.68 > 198.251.81.119: icmp: 106.148.232.68 udp port 1900 unreachable [icmp cksum ok] (ttl 120, id 440, len 146)%0a> E.......x..gj..D..Qw...2....E..v.s....Y...Qwj..D@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410562 190.79.221.241 > 198.251.81.119: icmp: 190.79.221.241 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 59106, len 146)%0a> E.......5....O....Qw...%0a> ....E..v......v...Qw.O.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410878 201.209.169.91 > 198.251.81.119: icmp: 201.209.169.91 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 56912, len 146)%0a> E....P..5......[..Qw..z.....E..vO......U..Qw...[...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410888 115.49.100.42 > 198.251.81.119: icmp: 115.49.100.42 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 51, id 5788, len 146)%0a> E.......3..As1d*..Qw........E..v......7...Qws1d*...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410894 109.110.193.128 > 198.251.81.119: icmp: 109.110.193.128 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 48934, len 146)%0a> E....&..9.z#mn....Qw........E..v......./..Qwmn.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410908 60.170.125.86 > 198.251.81.119: icmp: 60.170.125.86 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 54754, len 146)%0a> E.......4..U%3c.}V..Qw...2....E..vb......m..Qw%3c.}V@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.410915 212.111.23.151 > 198.251.81.119: icmp: 212.111.23.151 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 58, id 23469, len 146)%0a> E...[...:....o....Qw...2....E..v&V........Qw.o..@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411057 46.98.236.195 > 198.251.81.119: icmp: 46.98.236.195 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 43472, len 146)%0a> E.......9..B.b....Qw..lE....E..v.......L..Qw.b.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411064 119.104.193.235 > 198.251.81.119: icmp: 119.104.193.235 udp port 1900 unreachable [icmp cksum ok] (ttl 116, id 643, len 146)%0a> E.......t..!wh....Qw........E..vF.....4...Qwwh.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411133 101.108.127.208 > 198.251.81.119: icmp: 101.108.127.208 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 25642, len 146)%0a> E...d*..5.".el....Qw..lE....E..v.4........Qwel.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411140 5.103.26.62 > 198.251.81.119: icmp: 5.103.26.62 udp port 1900 unreachable [icmp cksum ok] (ttl 51, id 46197, len 146)%0a> E....u..3....g.>..Qw..gP....E..v..........Qw.g.>...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411280 101.109.161.191 > 198.251.81.119: icmp: 101.109.161.191 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 54, id 1901, len 146)%0a> E....m..6.\.em....Qw..lE....E..v.n.....h..Qwem.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411287 190.57.194.163 > 198.251.81.119: icmp: 190.57.194.163 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 58, id 43550, len 146)%0a> E.......:.%3c=.9....Qw...%0a> ....E..v.5........Qw.9.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411294 199.38.86.127 > 198.251.81.119: icmp: 199.38.86.127 udp port 3283 unreachable [icmp cksum ok] (ttl 53, id 64226, len 56)%0a> E..8....5.T..&V...Qw...q....E..!.*....t...Qw.&V......%0a> ..%0a> 16:47:17.411391 60.173.185.36 > 198.251.81.119: icmp: 60.173.185.36 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 40666, len 146)%0a> E.......4...%3c..$..Qw...2....E..vg.....R...Qw%3c..$@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411398 190.79.217.30 > 198.251.81.119: icmp: 190.79.217.30 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 28031, len 146)%0a> E...m...5.gK.O....Qw..z.....E..v@B.....S..Qw.O.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411491 116.229.120.85 > 198.251.81.119: icmp: 116.229.120.85 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 54567, len 146)%0a> E....'..5...t.xU..Qw........E..v.j.....^..Qwt.xU...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411547 201.208.200.92 > 198.251.81.119: icmp: 201.208.200.92 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 17814, len 146)%0a> E...E...5..u...\..Qw..z.....E..v.e....eq..Qw...\...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411554 223.241.109.188 > 198.251.81.119: icmp: 223.241.109.188 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 26427, len 146)%0a> E...g;..4..O..m...Qw..gP....E..v..........Qw..m....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411617 47.216.148.57 > 198.251.81.119: icmp: 47.216.148.57 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 56, id 58965, len 146)%0a> E....U..8.../..9..Qw..lE....E..v.......j..Qw/..9...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411681 115.151.100.136 > 198.251.81.119: icmp: 115.151.100.136 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 18376, len 146)%0a> E...G...4.N.s.d...Qw........E..v.......?..Qws.d....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.411700 190.205.9.110 > 198.251.81.119: icmp: 190.205.9.110 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a27c295%0a%3c 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a---%0a> 16:47:17.411751 202.213.51.174 > 198.251.81.119: icmp: 202.213.51.174 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a29c297%0a%3c 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a---%0a> 16:47:17.411888 72.235.245.4.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a40a309,517%0a> %0a> %0a> 16:47:17.411896 201.242.106.21 > 198.251.81.119: icmp: 201.242.106.21 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 15020, len 146)%0a> E...:...5.....j...Qw..z.....E..v'.....VW..Qw..j....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412024 190.37.246.60 > 198.251.81.119: icmp: 190.37.246.60 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 55811, len 146)%0a> E.......5....%25.%3c..Qw..gP....E(.v......N...Qw.%25.%3c...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412070 60.178.248.153 > 198.251.81.119: icmp: 60.178.248.153 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 839, len 146)%0a> E....G..4.5f%3c.....Qw...2....E..v).....Q7..Qw%3c...@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412236 46.176.61.166 > 198.251.81.119: icmp: host 46.176.61.166 unreachable [icmp cksum ok] (ttl 56, id 33848, len 146)%0a> E....8..8.yj..=...Qw...4....E..v.J.....c..Qw..=.@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412268 46.98.2.173 > 198.251.81.119: icmp: 46.98.2.173 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 10567, len 146)%0a> E...)G..9.%0a> ..b....Qw..lE....E..v.~.....v..Qw.b.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412277 36.11.66.242 > 198.251.81.119: icmp: 36.11.66.242 udp port 1900 unreachable [icmp cksum ok] (ttl 56, id 31764, len 146)%0a> E...|...8...$.B...Qw..gP....E..v.......k..Qw$.B....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412291 5.76.195.122 > 198.251.81.119: icmp: 5.76.195.122 udp port 1900 unreachable [icmp cksum ok] [tos 0x20] (ttl 56, id 24132, len 146)%0a> E ..^D..8.B..L.z..Qw...2....E..v.......w..Qw.L.z@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412298 117.70.61.191 > 198.251.81.119: icmp: 117.70.61.191 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 31279, len 146)%0a> E...z/..4.@.uF=...Qw........E..v.5....'...QwuF=....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412377 190.206.83.113 > 198.251.81.119: icmp: 190.206.83.113 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 244, id 44160, len 146)%0a> E..........w..Sq..Qw..z.....E..vu%0a> ....+...Qw..Sq...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412393 175.38.60.86.56278 > 198.251.81.119.51343: [udp sum ok] udp 244 (DF) (ttl 55, id 54854, len 272)%0a> E....F@.7.h..&%3cV..Qw........HTTP/1.1 200 OK%0a> Location: http://192.168.0.6:1784/%0a> Cache-Control: max-age=1800%0a> Server: WebOS/4.1.0 UPnP/1.0%0a> EXT: %0a> USN: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c::upnp:rootdevice%0a> ST: upnp:rootdevice%0a> Date: Sat, 25 Jul 2020 00:47:16 GMT%0a> %0a> %0a> 16:47:17.412406 201.242.161.246 > 198.251.81.119: icmp: 201.242.161.246 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 14463, len 146)%0a> E...8...5.........Qw..gP....E..vr`........Qw.......l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412515 197.48.80.219 > 198.251.81.119: icmp: 197.48.80.219 udp port 1900 unreachable [icmp cksum ok] [tos 0x28] (ttl 51, id 13330, len 56)%0a> E(.84...3.%25%0a> .0P...Qw..;.....E..v.d........Qw.0P....l.b..%0a> 16:47:17.412522 200.109.149.177 > 198.251.81.119: icmp: 200.109.149.177 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 43108, len 146)%0a> E....d..4.f..m....Qw..z.....E..v.......X..Qw.m.....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412529 60.174.37.182 > 198.251.81.119: icmp: 60.174.37.182 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 44813, len 146)%0a> E....%0a> ..4.[.%3c.%25...Qw...2....E..v..........Qw%3c.%25.@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412692 190.205.75.123 > 198.251.81.119: icmp: 190.205.75.123 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 22111, len 146)%0a> E...V_..5.....K{..Qw..z.....E(.vh.....%3c...Qw..K{...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412698 96.71.117.134.53722 > 198.251.81.119.20571: [udp sum ok] udp 174 (ttl 117, id 60578, len 202)%0a> E.......u.j@`Gu...Qw..P[..E.......%0a> %3cR.{..%0a> .%0a> ....%3cR.{..%0a> ..J..X...BodyShop...UniFi Video................$NVR.x86_64.3.10.8.73f13d.190919.0918%0a> .%3c788a2047fc430000000002d409b70000000002f0149e000000005a0e3b0d%0a> 16:47:17.412749 36.40.114.60 > 198.251.81.119: icmp: 36.40.114.60 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 35452, len 146)%0a> E....|..4.M.$(r%3c..Qw..gP....E..vc5.....j..Qw$(r%3c...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412795 58.40.134.22 > 198.251.81.119: icmp: 58.40.134.22 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 16882, len 146)%0a> E...A...5.j.:(....Qw...2....E .v......#...Qw:(..@..l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412916 175.38.60.86.56278 > 198.251.81.119.51343: [udp sum ok] udp 253 (DF) (ttl 55, id 54857, len 281)%0a> E....I@.7.h..&%3cV..Qw.......THTTP/1.1 200 OK%0a> Location: http://192.168.0.6:1784/%0a> Cache-Control: max-age=1800%0a> Server: WebOS/4.1.0 UPnP/1.0%0a> EXT: %0a> USN: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c%0a> ST: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c%0a> Date: Sat, 25 Jul 2020 00:47:16 GMT%0a> %0a> %0a> 16:47:17.412939 175.38.60.86.35166 > 198.251.81.119.51343: [udp sum ok] udp 254 (DF) (ttl 55, id 54855, len 282)%0a> E....G@.7.h..&%3cV..Qw.^.....CHTTP/1.1 200 OK%0a> Location: http://192.168.0.6:1198/%0a> Cache-Control: max-age=1800%0a> Server: WebOS/1.5 UPnP/1.0 webOSTV/1.0%0a> EXT: %0a> USN: uuid:a07c4f49-c398-4af6-ae82-8a238832609f::upnp:rootdevice%0a> ST: upnp:rootdevice%0a> Date: Sat, 25 Jul 2020 00:47:16 GMT%0a> %0a> %0a> 16:47:17.412947 175.38.60.86.35166 > 198.251.81.119.51343: [udp sum ok] udp 263 (DF) (ttl 55, id 54856, len 291)%0a> E..#.H@.7.h..&%3cV..Qw.^....98HTTP/1.1 200 OK%0a> Location: http://192.168.0.6:1198/%0a> Cache-Control: max-age=1800%0a> Server: WebOS/1.5 UPnP/1.0 webOSTV/1.0%0a> EXT: %0a> USN: uuid:a07c4f49-c398-4af6-ae82-8a238832609f%0a> ST: uuid:a07c4f49-c398-4af6-ae82-8a238832609f%0a> Date: Sat, 25 Jul 2020 00:47:16 GMT%0a> %0a> %0a> 16:47:17.412953 220.180.203.103 > 198.251.81.119: icmp: 220.180.203.103 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 29236, len 146)%0a> E...r4..4.R....g..Qw..gP....E..v!......)..Qw...g...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412960 190.39.49.229 > 198.251.81.119: icmp: 190.39.49.229 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 60367, len 146)%0a> E.......5..T.'1...Qw..z.....E(.v.P....9...Qw.'1....l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412987 222.72.109.78 > 198.251.81.119: icmp: 222.72.109.78 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 62228, len 146)%0a> E.......5.-..HmN..Qw..gP....E .v!.....CX..Qw.HmN...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a> %0a> %0a> 16:47:17.412999 117.247.154.139 > 198.251.81.119: icmp: 117.247.154.139 udp port 1900 unreachable [icmp cksum ok] (ttl 50, id 863, len 146)%0a> E...._..2.\.u.....Qw..lE....E..v.......k..Qwu......l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a42,43d518%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a +host:1608088679=198.251.81.119 +author:1608087396=jrmu +diff:1608087396:1608087239:=4a5,9%0a> %0a> SSDP packets Your server is flooded with packets from Universal Plug and Play (UPnP) devices%0a> %0a> !! Sample Pcap%0a> %0a6,518d10%0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c [@%0a%3c 16:47:17.409625 106.182.147.148 > 198.251.81.119: icmp: 106.182.147.148 udp port 1900 unreachable [icmp cksum ok] (ttl 247, id 33870, len 146)%0a%3c E....N....(_j.....Qw..lE....E..vU.....]...Qwj......l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.409684 179.56.76.72 > 198.251.81.119: icmp: 179.56.76.72 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.409773 86.47.127.77.1027 > 198.251.81.119.16546: [udp sum ok] udp 250 (DF) (ttl 55, id 0, len 278)%0a%3c E.....@.7.T.V/.M..Qw..@....aHTTP/1.1 200 OK%0a%3c ST:upnp:rootdevice%0a%3c USN:uuid:11111111-0000-c0a8-01fe-60319731f320::upnp:rootdevice%0a%3c Location:http://192.168.1.254:5555/DeviceDescription.xml%0a%3c Cache-Control:max-age=900%0a%3c Server:Allegro-Software-RomUpnp/4.07 UPnP/1.0 IGD/1.00%0a%3c Ext:%0a%3c %0a%3c %0a%3c 16:47:17.409794 58.40.78.34 > 198.251.81.119: icmp: 58.40.78.34 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 12306, len 146)%0a%3c E...0...5...:(N"..Qw...2....E .v......S...Qw:(N"@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.409808 201.220.105.102 > 198.251.81.119: icmp: 201.220.105.102 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 13203, len 146)%0a%3c E...3...6..[..if..Qw..gP....E(.v%0a%3c .....s...Qw..if...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410013 106.182.104.110 > 198.251.81.119: icmp: 106.182.104.110 udp port 1900 unreachable [icmp cksum ok] (ttl 56, id 32493, len 146)%0a%3c E...~...8...j.hn..Qw...2....E..v.2........Qwj.hn@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410155 201.221.194.96 > 198.251.81.119: icmp: 201.221.194.96 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 56786, len 146)%0a%3c E.......6.. ...`..Qw..gP....E(.v......~...Qw...`...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410176 41.34.136.18 > 198.251.81.119: icmp: 41.34.136.18 udp port 1900 unreachable [icmp cksum ok] [tos 0xe0] (ttl 49, id 53678, len 146)%0a%3c E.......1..5)"....Qw..gP....E..vdy.....V..Qw)".....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410190 60.253.21.5 > 198.251.81.119: icmp: 60.253.21.5 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 16826, len 146)%0a%3c E...A...7..|%3c.....Qw...2....E..v.......h..Qw%3c...@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410392 203.122.18.236 > 198.251.81.119: icmp: 203.122.18.236 udp port 1900 unreachable [icmp cksum ok] [tos 0x28] (ttl 53, id 5978, len 146)%0a%3c E(...Z..5.w..z....Qw..gP....E..v.J....FK..Qw.z.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410401 220.173.24.88 > 198.251.81.119: icmp: 220.173.24.88 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 32820, len 146)%0a%3c E....4..4......X..Qw..gP....E..v......&%0a%3c ..Qw...X...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410413 133.160.134.170 > 198.251.81.119: icmp: host 220.209.245.212 unreachable [icmp cksum ok] (ttl 244, id 42776, len 56)%0a%3c E..8..............Qw..'.....E..vQ.........Qw.......l.b..%0a%3c 16:47:17.410446 60.175.86.232 > 198.251.81.119: icmp: 60.175.86.232 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 15062, len 146)%0a%3c E...:...4...%3c.V...Qw...2....E..v.(.....D..Qw%3c.V.@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410458 61.190.175.43 > 198.251.81.119: icmp: 61.190.175.43 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 34017, len 146)%0a%3c E.......4..m=..+..Qw...2....E..v.3........Qw=..+@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410465 117.81.252.85 > 198.251.81.119: icmp: 117.81.252.85 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 3681, len 146)%0a%3c E....a..4..0uQ.U..Qw........E..ve......i..QwuQ.U...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410529 106.148.232.68 > 198.251.81.119: icmp: 106.148.232.68 udp port 1900 unreachable [icmp cksum ok] (ttl 120, id 440, len 146)%0a%3c E.......x..gj..D..Qw...2....E..v.s....Y...Qwj..D@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410562 190.79.221.241 > 198.251.81.119: icmp: 190.79.221.241 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 59106, len 146)%0a%3c E.......5....O....Qw...%0a%3c ....E..v......v...Qw.O.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410878 201.209.169.91 > 198.251.81.119: icmp: 201.209.169.91 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 56912, len 146)%0a%3c E....P..5......[..Qw..z.....E..vO......U..Qw...[...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410888 115.49.100.42 > 198.251.81.119: icmp: 115.49.100.42 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 51, id 5788, len 146)%0a%3c E.......3..As1d*..Qw........E..v......7...Qws1d*...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410894 109.110.193.128 > 198.251.81.119: icmp: 109.110.193.128 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 48934, len 146)%0a%3c E....&..9.z#mn....Qw........E..v......./..Qwmn.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410908 60.170.125.86 > 198.251.81.119: icmp: 60.170.125.86 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 54754, len 146)%0a%3c E.......4..U%3c.}V..Qw...2....E..vb......m..Qw%3c.}V@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410915 212.111.23.151 > 198.251.81.119: icmp: 212.111.23.151 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 58, id 23469, len 146)%0a%3c E...[...:....o....Qw...2....E..v&V........Qw.o..@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411057 46.98.236.195 > 198.251.81.119: icmp: 46.98.236.195 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 43472, len 146)%0a%3c E.......9..B.b....Qw..lE....E..v.......L..Qw.b.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411064 119.104.193.235 > 198.251.81.119: icmp: 119.104.193.235 udp port 1900 unreachable [icmp cksum ok] (ttl 116, id 643, len 146)%0a%3c E.......t..!wh....Qw........E..vF.....4...Qwwh.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411133 101.108.127.208 > 198.251.81.119: icmp: 101.108.127.208 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 25642, len 146)%0a%3c E...d*..5.".el....Qw..lE....E..v.4........Qwel.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411140 5.103.26.62 > 198.251.81.119: icmp: 5.103.26.62 udp port 1900 unreachable [icmp cksum ok] (ttl 51, id 46197, len 146)%0a%3c E....u..3....g.>..Qw..gP....E..v..........Qw.g.>...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411280 101.109.161.191 > 198.251.81.119: icmp: 101.109.161.191 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 54, id 1901, len 146)%0a%3c E....m..6.\.em....Qw..lE....E..v.n.....h..Qwem.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411287 190.57.194.163 > 198.251.81.119: icmp: 190.57.194.163 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 58, id 43550, len 146)%0a%3c E.......:.%3c=.9....Qw...%0a%3c ....E..v.5........Qw.9.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411294 199.38.86.127 > 198.251.81.119: icmp: 199.38.86.127 udp port 3283 unreachable [icmp cksum ok] (ttl 53, id 64226, len 56)%0a%3c E..8....5.T..&V...Qw...q....E..!.*....t...Qw.&V......%0a%3c ..%0a%3c 16:47:17.411391 60.173.185.36 > 198.251.81.119: icmp: 60.173.185.36 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 40666, len 146)%0a%3c E.......4...%3c..$..Qw...2....E..vg.....R...Qw%3c..$@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411398 190.79.217.30 > 198.251.81.119: icmp: 190.79.217.30 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 28031, len 146)%0a%3c E...m...5.gK.O....Qw..z.....E..v@B.....S..Qw.O.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411491 116.229.120.85 > 198.251.81.119: icmp: 116.229.120.85 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 54567, len 146)%0a%3c E....'..5...t.xU..Qw........E..v.j.....^..Qwt.xU...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411547 201.208.200.92 > 198.251.81.119: icmp: 201.208.200.92 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 17814, len 146)%0a%3c E...E...5..u...\..Qw..z.....E..v.e....eq..Qw...\...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411554 223.241.109.188 > 198.251.81.119: icmp: 223.241.109.188 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 26427, len 146)%0a%3c E...g;..4..O..m...Qw..gP....E..v..........Qw..m....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411617 47.216.148.57 > 198.251.81.119: icmp: 47.216.148.57 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 56, id 58965, len 146)%0a%3c E....U..8.../..9..Qw..lE....E..v.......j..Qw/..9...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411681 115.151.100.136 > 198.251.81.119: icmp: 115.151.100.136 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 18376, len 146)%0a%3c E...G...4.N.s.d...Qw........E..v.......?..Qws.d....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.411700 190.205.9.110 > 198.251.81.119: icmp: 190.205.9.110 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a%3c E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a%3c 16:47:17.411751 202.213.51.174 > 198.251.81.119: icmp: 202.213.51.174 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a%3c E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a%3c 16:47:17.411888 72.235.245.4.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a%3c E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: max-age=1800%0a%3c DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a%3c EXT:%0a%3c LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a%3c OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a%3c 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a%3c SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a%3c X-User-Agent: redsonic%0a%3c ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c %0a%3c %0a%3c 16:47:17.411896 201.242.106.21 > 198.251.81.119: icmp: 201.242.106.21 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 15020, len 146)%0a%3c E...:...5.....j...Qw..z.....E..v'.....VW..Qw..j....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412024 190.37.246.60 > 198.251.81.119: icmp: 190.37.246.60 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 55811, len 146)%0a%3c E.......5....%25.%3c..Qw..gP....E(.v......N...Qw.%25.%3c...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412070 60.178.248.153 > 198.251.81.119: icmp: 60.178.248.153 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 839, len 146)%0a%3c E....G..4.5f%3c.....Qw...2....E..v).....Q7..Qw%3c...@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412236 46.176.61.166 > 198.251.81.119: icmp: host 46.176.61.166 unreachable [icmp cksum ok] (ttl 56, id 33848, len 146)%0a%3c E....8..8.yj..=...Qw...4....E..v.J.....c..Qw..=.@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412268 46.98.2.173 > 198.251.81.119: icmp: 46.98.2.173 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 57, id 10567, len 146)%0a%3c E...)G..9.%0a%3c ..b....Qw..lE....E..v.~.....v..Qw.b.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412277 36.11.66.242 > 198.251.81.119: icmp: 36.11.66.242 udp port 1900 unreachable [icmp cksum ok] (ttl 56, id 31764, len 146)%0a%3c E...|...8...$.B...Qw..gP....E..v.......k..Qw$.B....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412291 5.76.195.122 > 198.251.81.119: icmp: 5.76.195.122 udp port 1900 unreachable [icmp cksum ok] [tos 0x20] (ttl 56, id 24132, len 146)%0a%3c E ..^D..8.B..L.z..Qw...2....E..v.......w..Qw.L.z@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412298 117.70.61.191 > 198.251.81.119: icmp: 117.70.61.191 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 31279, len 146)%0a%3c E...z/..4.@.uF=...Qw........E..v.5....'...QwuF=....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412377 190.206.83.113 > 198.251.81.119: icmp: 190.206.83.113 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 244, id 44160, len 146)%0a%3c E..........w..Sq..Qw..z.....E..vu%0a%3c ....+...Qw..Sq...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412393 175.38.60.86.56278 > 198.251.81.119.51343: [udp sum ok] udp 244 (DF) (ttl 55, id 54854, len 272)%0a%3c E....F@.7.h..&%3cV..Qw........HTTP/1.1 200 OK%0a%3c Location: http://192.168.0.6:1784/%0a%3c Cache-Control: max-age=1800%0a%3c Server: WebOS/4.1.0 UPnP/1.0%0a%3c EXT: %0a%3c USN: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c::upnp:rootdevice%0a%3c ST: upnp:rootdevice%0a%3c Date: Sat, 25 Jul 2020 00:47:16 GMT%0a%3c %0a%3c %0a%3c 16:47:17.412406 201.242.161.246 > 198.251.81.119: icmp: 201.242.161.246 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 14463, len 146)%0a%3c E...8...5.........Qw..gP....E..vr`........Qw.......l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412515 197.48.80.219 > 198.251.81.119: icmp: 197.48.80.219 udp port 1900 unreachable [icmp cksum ok] [tos 0x28] (ttl 51, id 13330, len 56)%0a%3c E(.84...3.%25%0a%3c .0P...Qw..;.....E..v.d........Qw.0P....l.b..%0a%3c 16:47:17.412522 200.109.149.177 > 198.251.81.119: icmp: 200.109.149.177 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 43108, len 146)%0a%3c E....d..4.f..m....Qw..z.....E..v.......X..Qw.m.....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412529 60.174.37.182 > 198.251.81.119: icmp: 60.174.37.182 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 44813, len 146)%0a%3c E....%0a%3c ..4.[.%3c.%25...Qw...2....E..v..........Qw%3c.%25.@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412692 190.205.75.123 > 198.251.81.119: icmp: 190.205.75.123 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 22111, len 146)%0a%3c E...V_..5.....K{..Qw..z.....E(.vh.....%3c...Qw..K{...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412698 96.71.117.134.53722 > 198.251.81.119.20571: [udp sum ok] udp 174 (ttl 117, id 60578, len 202)%0a%3c E.......u.j@`Gu...Qw..P[..E.......%0a%3c %3cR.{..%0a%3c .%0a%3c ....%3cR.{..%0a%3c ..J..X...BodyShop...UniFi Video................$NVR.x86_64.3.10.8.73f13d.190919.0918%0a%3c .%3c788a2047fc430000000002d409b70000000002f0149e000000005a0e3b0d%0a%3c 16:47:17.412749 36.40.114.60 > 198.251.81.119: icmp: 36.40.114.60 udp port 1900 unreachable [icmp cksum ok] (ttl 52, id 35452, len 146)%0a%3c E....|..4.M.$(r%3c..Qw..gP....E..vc5.....j..Qw$(r%3c...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412795 58.40.134.22 > 198.251.81.119: icmp: 58.40.134.22 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 16882, len 146)%0a%3c E...A...5.j.:(....Qw...2....E .v......#...Qw:(..@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412916 175.38.60.86.56278 > 198.251.81.119.51343: [udp sum ok] udp 253 (DF) (ttl 55, id 54857, len 281)%0a%3c E....I@.7.h..&%3cV..Qw.......THTTP/1.1 200 OK%0a%3c Location: http://192.168.0.6:1784/%0a%3c Cache-Control: max-age=1800%0a%3c Server: WebOS/4.1.0 UPnP/1.0%0a%3c EXT: %0a%3c USN: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c%0a%3c ST: uuid:d4804a8c-4e4c-d395-9449-a9a7c29f068c%0a%3c Date: Sat, 25 Jul 2020 00:47:16 GMT%0a%3c %0a%3c %0a%3c 16:47:17.412939 175.38.60.86.35166 > 198.251.81.119.51343: [udp sum ok] udp 254 (DF) (ttl 55, id 54855, len 282)%0a%3c E....G@.7.h..&%3cV..Qw.^.....CHTTP/1.1 200 OK%0a%3c Location: http://192.168.0.6:1198/%0a%3c Cache-Control: max-age=1800%0a%3c Server: WebOS/1.5 UPnP/1.0 webOSTV/1.0%0a%3c EXT: %0a%3c USN: uuid:a07c4f49-c398-4af6-ae82-8a238832609f::upnp:rootdevice%0a%3c ST: upnp:rootdevice%0a%3c Date: Sat, 25 Jul 2020 00:47:16 GMT%0a%3c %0a%3c %0a%3c 16:47:17.412947 175.38.60.86.35166 > 198.251.81.119.51343: [udp sum ok] udp 263 (DF) (ttl 55, id 54856, len 291)%0a%3c E..#.H@.7.h..&%3cV..Qw.^....98HTTP/1.1 200 OK%0a%3c Location: http://192.168.0.6:1198/%0a%3c Cache-Control: max-age=1800%0a%3c Server: WebOS/1.5 UPnP/1.0 webOSTV/1.0%0a%3c EXT: %0a%3c USN: uuid:a07c4f49-c398-4af6-ae82-8a238832609f%0a%3c ST: uuid:a07c4f49-c398-4af6-ae82-8a238832609f%0a%3c Date: Sat, 25 Jul 2020 00:47:16 GMT%0a%3c %0a%3c %0a%3c 16:47:17.412953 220.180.203.103 > 198.251.81.119: icmp: 220.180.203.103 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 52, id 29236, len 146)%0a%3c E...r4..4.R....g..Qw..gP....E..v!......)..Qw...g...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412960 190.39.49.229 > 198.251.81.119: icmp: 190.39.49.229 udp port 1900 unreachable [icmp cksum ok] [tos 0xc8] (ttl 53, id 60367, len 146)%0a%3c E.......5..T.'1...Qw..z.....E(.v.P....9...Qw.'1....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412987 222.72.109.78 > 198.251.81.119: icmp: 222.72.109.78 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 53, id 62228, len 146)%0a%3c E.......5.-..HmN..Qw..gP....E .v!.....CX..Qw.HmN...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.412999 117.247.154.139 > 198.251.81.119: icmp: 117.247.154.139 udp port 1900 unreachable [icmp cksum ok] (ttl 50, id 863, len 146)%0a%3c E...._..2.\.u.....Qw..lE....E..v.......k..Qwu......l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c @]%0a +host:1608087396=198.251.81.119 +author:1608087239=jrmu +diff:1608087239:1608087239:=1,21d0%0a%3c (:title SSDP Attacks:)%0a%3c %0a%3c !! SSDP Attacks%0a%3c %0a%3c %0a%3c SSDP packets Your server is flooded with packets from Universal Plug and Play (UPnP) devices%0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a\ No newline at end of file%0a +host:1608087239=198.251.81.119 blob - /dev/null blob + 1bd66ee7afdfbbef519316e69bfd61b4eab2d39d (mode 644) --- /dev/null +++ wiki.d/Openbsd.Security @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.163 Mobile/15E148 Safari/604.1 +author=caesar +charset=UTF-8 +csum= +ctime=1612067745 +host=209.205.141.198 +name=Openbsd.Security +rev=4 +targets=Openbsd.Ddos,Openbsd.Phishing,Openbsd.Shellinjection,Openbsd.Rootkit,Openbsd.Backdoor,Openbsd.Dos,Openbsd.Spamming,Openbsd.0days,Openbsd.Rootkits,Openbsd.Chroot,Openbsd.Pledge,Openbsd.Unveil,Openbsd.Pf,Openbsd.FilePermissions,Openbsd.Databaseperms,Openbsd.Passwords,Openbsd.Ssh,Openbsd.Secureweb,Openbsd.Ids,Openbsd.Trust,Openbsd.Defaultdeny +text=(:title Security Overview:)%0a%0aSecurity is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a%0aNo system is perfectly secure. You must constantly work to improve security. The more users and the more important your data is, the more effort attackers will spend to harm you. On the other hand, the more security you add, the more difficult the system becomes to use. For example, if you make your firewall too secure, you might lock yourself out.%0a%0aSecurity is extremely important for IRCNow's reputation. Here are some possible disasters when you don't secure your servers:%0a%0a# All our servers could be [[openbsd/ddos|DDoSed offline]]%0a# Customer emails, passwords, credit card info, private chats, and files are stolen%0a# Your personal IP and name are leaked on the Internet%0a# Your website is vandalized or loaded with illegal files for filesharing%0a# Your server is used for [[openbsd/phishing|phishing]], [[openbsd/ddos|DDoS attacks]], or [[openbsd/shellinjection|shell injection attacks]]%0a# A [[openbsd/rootkit|rootkit]] is planted in your server and [[openbsd/backdoor|backdoors]] are placed in your source code%0a%0a!! Attack Types%0a%0a# [[openbsd/phishing|Phishing]]: An attacker does '''not''' have to use advanced high-tech hacking skills. It's much easier for him to lie to you or pretend to be someone you trust. He can use a fake nick or use a fake email to impersonate one of our teammates. This is called [[openbsd/phishing|phishing]].%0a# [[openbsd/dos|Denial of Service]]: An attacker can cause your systems to fail and deny service. This doesn't require as much work as exploiting bugs or vulnerabilities in code.%0a# [[openbsd/spamming|Spamming]]: An attacker can spam your network, it is similar to a denial of service.%0a# [[openbsd/0days|0days]]: An attacker may exploit 0days%0a# [[openbsd/rootkits|Rootkits]]: Planting rootkits%0a%0a!! System Vulnerabilities%0a%0a# Are your [[openbsd/0days|public services secure]]?%0a# If the software is not secure, have you taken basic mitigation steps? For example, you can [[openbsd/chroot|set up a chroot]] or consider [[openbsd/pledge|pledge]] and [[openbsd/unveil|unveil]]%0a# Are your public services properly configured?%0a# Do you have a [[openbsd/pf|firewall]] enabled to block private services?%0a# Can an intruder [[openbsd/FilePermissions|read files, write to files, or execute files]] he is not supposed to?%0a# Can they [[openbsd/databaseperms|read databases]] they should not have access to?%0a# Can they [[openbsd/passwords|steal your password]] or [[openbsd/ssh|ssh keys]]?%0a# Are your [[openbsd/secureweb|web apps secure]]?%0a# Do you have proper logging? An [[openbsd/ids|intrusion detection system]] in place?%0a# [[openbsd/trust|Who can you trust?]]%0a%0a!! Default Deny%0a%0aThe best security policy is to [[openbsd/defaultdeny|deny everything except what you expressly permit]].%0a%0a%0aEven if you have a single dial up PPP account, or just a small site, this does not mean intruders won't be interested in your systems. Large, high-profile sites are not the only targets -- many intruders simply want to exploit as many sites as possible, regardless of their size. Additionally, they may use a security hole in your site to gain access to other sites you're connected to.%0a%0aIntruders have a lot of time on their hands, and can avoid guessing how you've obscured your system just by trying all the possibilities. There are also a number of reasons an intruder may be interested in your systems, which we will discuss later.%0a2.5.1. Host Security%0a%0aPerhaps the area of security on which administrators concentrate most is host-based security. This typically involves making sure your own system is secure, and hoping everyone else on your network does the same. Choosing good passwords, securing your host's local network services, keeping good accounting records, and upgrading programs with known security exploits are among the things the local security administrator is responsible for doing. Although this is absolutely necessary, it can become a daunting task once your network becomes larger than a few machines.%0a2.5.2. Local Network Security%0a%0aNetwork security is as necessary as local host security. With hundreds, thousands, or more computers on the same network, you can't rely on each one of those systems being secure. Ensuring that only authorized users can use your network, building firewalls, using strong encryption, and ensuring there are no "rogue" (that is, unsecured) machines on your network are all part of the network security administrator's duties.%0a%0aThis document will discuss some of the techniques used to secure your site, and hopefully show you some of the ways to prevent an intruder from gaining access to what you are trying to protect.%0a2.5.3. Security Through Obscurity%0a%0aOne type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections.%0a%0a%0a2.5.4 Hardening Guides%0a%0aSSHD Configuration %0a +time=1620962043 +title=Security Overview +author:1620962043=caesar +diff:1620962043:1620961343:=56,60c56%0a%3c %0a%3c %0a%3c 2.5.4 Hardening Guides%0a%3c %0a%3c SSHD Configuration %0a---%0a> 2.5.4 Hardening Guides%0a\ No newline at end of file%0a +host:1620962043=209.205.141.198 +author:1620961343=caesar +diff:1620961343:1612067755:=55,56c55%0a%3c One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections.%0a%3c 2.5.4 Hardening Guides%0a\ No newline at end of file%0a---%0a> One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections.%0a\ No newline at end of file%0a +host:1620961343=209.205.141.198 +author:1612067755=jrmu +diff:1612067755:1612067745:=1c1%0a%3c (:title Security Overview:)%0a---%0a> (:title Security Audit:)%0a +host:1612067755=125.224.24.163 +author:1612067745=jrmu +diff:1612067745:1612067745:=1,55d0%0a%3c (:title Security Audit:)%0a%3c %0a%3c Security is not a product; it is a state of mind. Just because your software has a reputation for being secure does not make it secure. You and your users can be attacked by crackers, script kiddies, spammers, and thieves. You must have a pro-active approach towards defense!%0a%3c %0a%3c No system is perfectly secure. You must constantly work to improve security. The more users and the more important your data is, the more effort attackers will spend to harm you. On the other hand, the more security you add, the more difficult the system becomes to use. For example, if you make your firewall too secure, you might lock yourself out.%0a%3c %0a%3c Security is extremely important for IRCNow's reputation. Here are some possible disasters when you don't secure your servers:%0a%3c %0a%3c # All our servers could be [[openbsd/ddos|DDoSed offline]]%0a%3c # Customer emails, passwords, credit card info, private chats, and files are stolen%0a%3c # Your personal IP and name are leaked on the Internet%0a%3c # Your website is vandalized or loaded with illegal files for filesharing%0a%3c # Your server is used for [[openbsd/phishing|phishing]], [[openbsd/ddos|DDoS attacks]], or [[openbsd/shellinjection|shell injection attacks]]%0a%3c # A [[openbsd/rootkit|rootkit]] is planted in your server and [[openbsd/backdoor|backdoors]] are placed in your source code%0a%3c %0a%3c !! Attack Types%0a%3c %0a%3c # [[openbsd/phishing|Phishing]]: An attacker does '''not''' have to use advanced high-tech hacking skills. It's much easier for him to lie to you or pretend to be someone you trust. He can use a fake nick or use a fake email to impersonate one of our teammates. This is called [[openbsd/phishing|phishing]].%0a%3c # [[openbsd/dos|Denial of Service]]: An attacker can cause your systems to fail and deny service. This doesn't require as much work as exploiting bugs or vulnerabilities in code.%0a%3c # [[openbsd/spamming|Spamming]]: An attacker can spam your network, it is similar to a denial of service.%0a%3c # [[openbsd/0days|0days]]: An attacker may exploit 0days%0a%3c # [[openbsd/rootkits|Rootkits]]: Planting rootkits%0a%3c %0a%3c !! System Vulnerabilities%0a%3c %0a%3c # Are your [[openbsd/0days|public services secure]]?%0a%3c # If the software is not secure, have you taken basic mitigation steps? For example, you can [[openbsd/chroot|set up a chroot]] or consider [[openbsd/pledge|pledge]] and [[openbsd/unveil|unveil]]%0a%3c # Are your public services properly configured?%0a%3c # Do you have a [[openbsd/pf|firewall]] enabled to block private services?%0a%3c # Can an intruder [[openbsd/FilePermissions|read files, write to files, or execute files]] he is not supposed to?%0a%3c # Can they [[openbsd/databaseperms|read databases]] they should not have access to?%0a%3c # Can they [[openbsd/passwords|steal your password]] or [[openbsd/ssh|ssh keys]]?%0a%3c # Are your [[openbsd/secureweb|web apps secure]]?%0a%3c # Do you have proper logging? An [[openbsd/ids|intrusion detection system]] in place?%0a%3c # [[openbsd/trust|Who can you trust?]]%0a%3c %0a%3c !! Default Deny%0a%3c %0a%3c The best security policy is to [[openbsd/defaultdeny|deny everything except what you expressly permit]].%0a%3c %0a%3c %0a%3c Even if you have a single dial up PPP account, or just a small site, this does not mean intruders won't be interested in your systems. Large, high-profile sites are not the only targets -- many intruders simply want to exploit as many sites as possible, regardless of their size. Additionally, they may use a security hole in your site to gain access to other sites you're connected to.%0a%3c %0a%3c Intruders have a lot of time on their hands, and can avoid guessing how you've obscured your system just by trying all the possibilities. There are also a number of reasons an intruder may be interested in your systems, which we will discuss later.%0a%3c 2.5.1. Host Security%0a%3c %0a%3c Perhaps the area of security on which administrators concentrate most is host-based security. This typically involves making sure your own system is secure, and hoping everyone else on your network does the same. Choosing good passwords, securing your host's local network services, keeping good accounting records, and upgrading programs with known security exploits are among the things the local security administrator is responsible for doing. Although this is absolutely necessary, it can become a daunting task once your network becomes larger than a few machines.%0a%3c 2.5.2. Local Network Security%0a%3c %0a%3c Network security is as necessary as local host security. With hundreds, thousands, or more computers on the same network, you can't rely on each one of those systems being secure. Ensuring that only authorized users can use your network, building firewalls, using strong encryption, and ensuring there are no "rogue" (that is, unsecured) machines on your network are all part of the network security administrator's duties.%0a%3c %0a%3c This document will discuss some of the techniques used to secure your site, and hopefully show you some of the ways to prevent an intruder from gaining access to what you are trying to protect.%0a%3c 2.5.3. Security Through Obscurity%0a%3c %0a%3c One type of security that must be discussed is "security through obscurity". This means, for example, moving a service that has known security vulnerabilities to a non-standard port in hopes that attackers won't notice it's there and thus won't exploit it. Rest assured that they can determine that it's there and will exploit it. Security through obscurity is no security at all. Simply because you may have a small site, or a relatively low profile, does not mean an intruder won't be interested in what you have. We'll discuss what you're protecting in the next sections.%0a\ No newline at end of file%0a +host:1612067745=125.224.24.163 blob - /dev/null blob + c45452bacb1141b6b1821baa3ab201359224fce0 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Setuid @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611806689 +host=125.231.24.226 +name=Openbsd.Setuid +rev=8 +targets= +text=(:title SetUID:)%0a%0asetuid and setgid are short for "set user ID" and "set group ID". It allows users to run a program with the same user and group as the owner and group of the executable. This lets the user temporarily have more privileges than he normally would. For example, if a program has the setuid flag set and is owned by root, the program will have the user root when executed by a normal user. This is essential for allowing non-staff users to run programs such as ping, because ping must send and listen to packets on a network interface. Normally, only root would have access to the network interface, but setuid allows any user to run ping.%0a%0aAs you can probably guess, this could be a massive security risk. If the setuid is set for a badly designed program, a user could exploit a bug to become root.%0a%0aHere is a command to detect any files that have the setuid flag:%0a%0a[@%0a# find / -perm -4000%0a/usr/bin/chfn%0a/usr/bin/chpass%0a/usr/bin/chsh%0a/usr/bin/doas%0a/usr/bin/lpr%0a/usr/bin/lprm%0a/usr/bin/passwd%0a/usr/bin/su%0a/usr/libexec/auth/login_chpass%0a/usr/libexec/auth/login_lchpass%0a/usr/libexec/auth/login_passwd%0a/usr/libexec/lockspool%0a/usr/libexec/ssh-keysign%0a/usr/sbin/authpf%0a/usr/sbin/authpf-noip%0a/usr/sbin/pppd%0a/usr/sbin/traceroute%0a/usr/sbin/traceroute6%0a/sbin/ping%0a/sbin/ping6%0a/sbin/shutdown%0a@]%0a%0aThe files above are trusted and audited by the OpenBSD developers and part of the operating system.%0a%0a'''WARNING''': If you see any other binaries, then watch out! You may want to delete packages that created those files, or delete the files themselves. These files may be a serious security risk to your server. +time=1611816784 +title=SetUID +author:1611816784=jrmu +diff:1611816784:1611816424:=14c14%0a%3c /usr/bin/doas%0a---%0a> /usr/bin/doas %0a16,18c16,18%0a%3c /usr/bin/lprm%0a%3c /usr/bin/passwd%0a%3c /usr/bin/su%0a---%0a> /usr/bin/lprm %0a> /usr/bin/passwd %0a> /usr/bin/su %0a22c22%0a%3c /usr/libexec/lockspool%0a---%0a> /usr/libexec/lockspool %0a24c24%0a%3c /usr/sbin/authpf%0a---%0a> /usr/sbin/authpf %0a +host:1611816784=125.231.24.226 +author:1611816424=jrmu +diff:1611816424:1611815956:=34,36c34%0a%3c The files above are trusted and audited by the OpenBSD developers and part of the operating system.%0a%3c %0a%3c '''WARNING''': If you see any other binaries, then watch out! You may want to delete packages that created those files, or delete the files themselves. These files may be a serious security risk to your server.%0a\ No newline at end of file%0a---%0a> Those files are trusted and audited by the OpenBSD developers. However, if you see any other binaries, then watch out! You may want to delete packages that create those files because they may pose a serious security risk to your server.%0a\ No newline at end of file%0a +host:1611816424=125.231.24.226 +author:1611815956=jrmu +diff:1611815956:1611815779:=5,8c5,6%0a%3c As you can probably guess, this could be a massive security risk. If the setuid is set for a badly designed program, a user could exploit a bug to become root.%0a%3c %0a%3c Here is a command to detect any files that have the setuid flag:%0a%3c %0a---%0a> As you can probably guess, this could be a massive security risk.%0a> %0a10a9%0a> %0a32,34c31%0a%3c @]%0a%3c %0a%3c Those files are trusted and audited by the OpenBSD developers. However, if you see any other binaries, then watch out! You may want to delete packages that create those files because they may pose a serious security risk to your server.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1611815956=125.231.24.226 +author:1611815779=jrmu +diff:1611815779:1611815696:= +host:1611815779=125.231.24.226 +author:1611815696=jrmu +diff:1611815696:1611815363:=1,5d0%0a%3c (:title SetUID:)%0a%3c %0a%3c setuid and setgid are short for "set user ID" and "set group ID". It allows users to run a program with the same user and group as the owner and group of the executable. This lets the user temporarily have more privileges than he normally would. For example, if a program has the setuid flag set and is owned by root, the program will have the user root when executed by a normal user. This is essential for allowing non-staff users to run programs such as ping, because ping must send and listen to packets on a network interface. Normally, only root would have access to the network interface, but setuid allows any user to run ping.%0a%3c %0a%3c As you can probably guess, this could be a massive security risk.%0a +host:1611815696=125.231.24.226 +author:1611815363=jrmu +diff:1611815363:1611806717:=0a1%0a> %0a +host:1611815363=125.231.24.226 +author:1611806717=jrmu +diff:1611806717:1611806689:=1,5d0%0a%3c %0a%3c %0a%3c [@%0a%3c # find / -perm -4000%0a%3c %0a27d21%0a%3c @]%0a\ No newline at end of file%0a +host:1611806717=125.231.24.226 +author:1611806689=jrmu +diff:1611806689:1611806689:=1,21d0%0a%3c /usr/bin/chfn%0a%3c /usr/bin/chpass%0a%3c /usr/bin/chsh%0a%3c /usr/bin/doas %0a%3c /usr/bin/lpr%0a%3c /usr/bin/lprm %0a%3c /usr/bin/passwd %0a%3c /usr/bin/su %0a%3c /usr/libexec/auth/login_chpass%0a%3c /usr/libexec/auth/login_lchpass%0a%3c /usr/libexec/auth/login_passwd%0a%3c /usr/libexec/lockspool %0a%3c /usr/libexec/ssh-keysign%0a%3c /usr/sbin/authpf %0a%3c /usr/sbin/authpf-noip%0a%3c /usr/sbin/pppd%0a%3c /usr/sbin/traceroute%0a%3c /usr/sbin/traceroute6%0a%3c /sbin/ping%0a%3c /sbin/ping6%0a%3c /sbin/shutdown%0a +host:1611806689=125.231.24.226 blob - /dev/null blob + b3ca3f02348213f403b0730e121fca55c00c7097 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sftp @@ -0,0 +1,50 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=+ +ctime=1598328415 +host=203.129.25.247 +name=Openbsd.Sftp +rev=10 +targets= +text=!! Users with sftp access without ssh access (for file hosting)%0a%0a1. Do one time setup%0a%0a[@%0a$ doas mkdir /var/www/OrangeShare/%0a$ doas groupadd sftponly%0a@]%0a%0aEdit your httpd config to set "/OrangeShare" as the root location.%0a%0aAdd this into sshd_config%0a%0a[@%0aSubsystem sftp internal-sftp%0aMatch Group sftponly%0a PasswordAuthentication yes%0a ForceCommand internal-sftp%0a ChrootDirectory /var/www/OrangeShare/%25u%0a AllowTcpForwarding no%0a AllowAgentForwarding no%0a PermitTunnel no%0a PermitTTY no%0a X11Forwarding no%0a@]%0a%0aSave script for adding new user%0a%0a[@%0a#!/bin/ksh%0a# add user%0adoas adduser%0a# add user to sftponly group, otherwise they will have full ssh access%0adoas usermod -g sftponly $1%0a# make user's directory%0adoas mkdir /var/www/OrangeShare/$1%0adoas mkdir /var/www/OrangeShare/$1/pub%0adoas chown $1:$1 /var/www/OrangeShare/$1/pub%0a# set the user's password%0adoas passwd $1%0a@]%0a%0a2. For each new user %0a%0a $ ksh newuser.sh usernameHere%0a Then email to the user their credentials, from either your personal email or from your team email if it has one.%0a%0a----%0a%0aSources:%0a[@%0ahttp://undeadly.org/cgi?action=article&sid=20080220110039%0ahttps://man.openbsd.org/sftp-server%0ahttps://unix.stackexchange.com/questions/503312/is-it-possible-to-grant-users-sftp-access-without-shell-access-if-yes-how-is-i%0a@]%0a%0a!! To change sftp accessed directory from /home/USER to /var/www/htdocs/USER%0a +time=1598591960 +author:1598591960=gry +csum:1598591960=+ +diff:1598591960:1598585367:=34c34%0a%3c doas usermod -g sftponly $1%0a---%0a> usermod -G sftponly $1%0a +host:1598591960=203.129.25.247 +author:1598585367=gry +csum:1598585367=+ +diff:1598585367:1598524246:=6c6,7%0a%3c $ doas mkdir /var/www/OrangeShare/%0a---%0a> $ doas chown root:daemon /var/www/htdocs/%0a> $ doas mkdir /var/www/htdocs/orange-chat%0a10,11d10%0a%3c Edit your httpd config to set "/OrangeShare" as the root location.%0a%3c %0a19c18%0a%3c ChrootDirectory /var/www/OrangeShare/%25u%0a---%0a> ChrootDirectory /var/www/htdocs/orange-chat/%25u%0a31,34d29%0a%3c # add user%0a%3c doas adduser%0a%3c # add user to sftponly group, otherwise they will have full ssh access%0a%3c usermod -G sftponly $1%0a36,39c31,37%0a%3c doas mkdir /var/www/OrangeShare/$1%0a%3c doas mkdir /var/www/OrangeShare/$1/pub%0a%3c doas chown $1:$1 /var/www/OrangeShare/$1/pub%0a%3c # set the user's password%0a---%0a> doas mkdir /var/www/htdocs/orange-chat/$1%0a> doas chown root:sftponly /var/www/htdocs/orange-chat/$1%0a> doas chmod 775 /var/www/htdocs/orange-chat/$1%0a> # add user%0a> doas adduser%0a> # add user to sftponly group, otherwise they will have full ssh access%0a> usermod -G sftponly $1%0a +host:1598585367=203.129.25.247 +author:1598524246=gry +csum:1598524246=+ +diff:1598524246:1598522823:=33d32%0a%3c doas chmod 775 /var/www/htdocs/orange-chat/$1%0a +host:1598524246=203.129.25.247 +author:1598522823=gry +csum:1598522823=+ +diff:1598522823:1598522802:=8c8%0a%3c $ doas groupadd sftponly%0a---%0a> $ doas addgroup sftponly%0a +host:1598522823=203.129.25.247 +author:1598522802=gry +csum:1598522802=+ +diff:1598522802:1598520430:=18c18%0a%3c ChrootDirectory /var/www/htdocs/orange-chat/%25u%0a---%0a> ChrootDirectory %25h%0a37d36%0a%3c doas passwd $1%0a42,43c41,42%0a%3c $ ksh newuser.sh usernameHere%0a%3c Then email to the user their credentials, from either your personal email or from your team email if it has one.%0a---%0a> * run this script and then %0a> * email to the user their credentials, from either your personal email or from your team email if it has one.%0a +host:1598522802=203.129.25.247 +author:1598520430=gry +csum:1598520430=+ +diff:1598520430:1598520396:=3,4c3,4%0a%3c 1. Do one time setup%0a%3c %0a---%0a> 1. Add this into sshd_config%0a> %0a6,13d5%0a%3c $ doas chown root:daemon /var/www/htdocs/%0a%3c $ doas mkdir /var/www/htdocs/orange-chat%0a%3c $ doas addgroup sftponly%0a%3c @]%0a%3c %0a%3c Add this into sshd_config%0a%3c %0a%3c [@%0a26,27c18,19%0a%3c Save script for adding new user%0a%3c %0a---%0a> 2. Do one time setup%0a> %0a28a21,28%0a> $ doas chown root:daemon /var/www/htdocs/%0a> $ doas mkdir /var/www/htdocs/orange-chat%0a> $ doas addgroup sftponly%0a> @]%0a> %0a> 3. Save script for adding new user%0a> %0a> [@%0a39c39%0a%3c 2. For each new user %0a---%0a> 4. For each new user %0a +host:1598520430=203.129.25.247 +author:1598520396=gry +csum:1598520396=expanded +diff:1598520396:1598329723:=1,4c1,4%0a%3c !! Users with sftp access without ssh access (for file hosting)%0a%3c %0a%3c 1. Add this into sshd_config%0a%3c %0a---%0a> !! To add users with sftp access without ssh access%0a> %0a> 1. Toss that into sshd_config%0a> %0a18,44c18,23%0a%3c 2. Do one time setup%0a%3c %0a%3c [@%0a%3c $ doas chown root:daemon /var/www/htdocs/%0a%3c $ doas mkdir /var/www/htdocs/orange-chat%0a%3c $ doas addgroup sftponly%0a%3c @]%0a%3c %0a%3c 3. Save script for adding new user%0a%3c %0a%3c [@%0a%3c #!/bin/ksh%0a%3c # make user's directory%0a%3c doas mkdir /var/www/htdocs/orange-chat/$1%0a%3c doas chown root:sftponly /var/www/htdocs/orange-chat/$1%0a%3c # add user%0a%3c doas adduser%0a%3c # add user to sftponly group, otherwise they will have full ssh access%0a%3c usermod -G sftponly $1%0a%3c @]%0a%3c %0a%3c 4. For each new user %0a%3c %0a%3c * run this script and then %0a%3c * email to the user their credentials, from either your personal email or from your team email if it has one.%0a%3c %0a%3c ----%0a---%0a> %0a> 2. The user's home folder /home/username must be owned by root:wheel%0a> %0a> 3. The new users must be in the 'sftponly' group.%0a> %0a> Sources:%0a +host:1598520396=203.129.25.247 +author:1598329723=gry +csum:1598329723=clarified +diff:1598329723:1598328430:=1,4d0%0a%3c !! To add users with sftp access without ssh access%0a%3c %0a%3c 1. Toss that into sshd_config%0a%3c %0a6,24c2,17%0a%3c Subsystem sftp internal-sftp%0a%3c Match Group sftponly%0a%3c PasswordAuthentication yes%0a%3c ForceCommand internal-sftp%0a%3c ChrootDirectory %25h%0a%3c AllowTcpForwarding no%0a%3c AllowAgentForwarding no%0a%3c PermitTunnel no%0a%3c PermitTTY no%0a%3c X11Forwarding no%0a%3c @]%0a%3c %0a%3c %0a%3c 2. The user's home folder /home/username must be owned by root:wheel%0a%3c %0a%3c 3. The new users must be in the 'sftponly' group.%0a%3c %0a%3c Sources:%0a%3c [@%0a---%0a> 12:02 %3c jrmu> let me see if I've got it somewhere%0a> 12:02 %3c jrmu> Subsystem sftp internal-sftp%0a> 12:02 %3c jrmu> Match User username%0a> 12:02 %3c jrmu> PasswordAuthentication yes%0a> 12:02 %3c jrmu> ForceCommand internal-sftp%0a> 12:02 %3c jrmu> ChrootDirectory %25h%0a> 12:02 %3c jrmu> AllowTcpForwarding no%0a> 12:02 %3c jrmu> AllowAgentForwarding no%0a> 12:02 %3c jrmu> PermitTunnel no%0a> 12:02 %3c jrmu> PermitTTY no%0a> 12:02 %3c jrmu> X11Forwarding no%0a> 12:02 %3c jrmu> toss that into sshd_config%0a> 12:03 %3c jrmu> then the user's home folder /home/username%0a> 12:03 %3c jrmu> must be owned by root:wheel%0a> %0a> %0a27,30c20%0a%3c https://unix.stackexchange.com/questions/503312/is-it-possible-to-grant-users-sftp-access-without-shell-access-if-yes-how-is-i%0a%3c @]%0a%3c %0a%3c !! To change sftp accessed directory from /home/USER to /var/www/htdocs/USER%0a---%0a> @]%0a\ No newline at end of file%0a +host:1598329723=203.129.25.247 +author:1598328430=jrmu +diff:1598328430:1598328415:=1d0%0a%3c [@%0a19,20c18%0a%3c https://man.openbsd.org/sftp-server%0a%3c @]%0a\ No newline at end of file%0a---%0a> https://man.openbsd.org/sftp-server%0a\ No newline at end of file%0a +host:1598328430=38.81.163.143 +author:1598328415=jrmu +diff:1598328415:1598328415:=1,18d0%0a%3c 12:02 %3c jrmu> let me see if I've got it somewhere%0a%3c 12:02 %3c jrmu> Subsystem sftp internal-sftp%0a%3c 12:02 %3c jrmu> Match User username%0a%3c 12:02 %3c jrmu> PasswordAuthentication yes%0a%3c 12:02 %3c jrmu> ForceCommand internal-sftp%0a%3c 12:02 %3c jrmu> ChrootDirectory %25h%0a%3c 12:02 %3c jrmu> AllowTcpForwarding no%0a%3c 12:02 %3c jrmu> AllowAgentForwarding no%0a%3c 12:02 %3c jrmu> PermitTunnel no%0a%3c 12:02 %3c jrmu> PermitTTY no%0a%3c 12:02 %3c jrmu> X11Forwarding no%0a%3c 12:02 %3c jrmu> toss that into sshd_config%0a%3c 12:03 %3c jrmu> then the user's home folder /home/username%0a%3c 12:03 %3c jrmu> must be owned by root:wheel%0a%3c %0a%3c %0a%3c http://undeadly.org/cgi?action=article&sid=20080220110039%0a%3c https://man.openbsd.org/sftp-server%0a\ No newline at end of file%0a +host:1598328415=38.81.163.143 blob - /dev/null blob + d8655c94f5a44ea5cac29bac40e53b5670956610 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Shell @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597239367 +host=38.81.163.143 +name=Openbsd.Shell +rev=5 +targets=Guava.Packages +text======= Creating a folder tree ======%0a%0aCreate a new folder tree for hosting web server resources and additional services.%0a%0a%3ccode>%0adoas mkdir -p /home/www/acme%0adoas mkdir -p /home/www/bin%0adoas mkdir -p /home/www/cache%0adoas mkdir -p /home/www/cgi-bin%0adoas mkdir -p /home/www/conf%0adoas mkdir -p /home/www/htdocs%0adoas mkdir -p /home/www/logs%0adoas mkdir -p /home/www/run%0adoas mkdir -p /home/www/tmp%0adoas mkdir -p /home/www/usr%0a%3c/code>%0a%0a====== Setting directory owners ======%0a%0aNext, you need to set the correct owners for the new folder tree.%0a%0a%3ccode>%0adoas chown root:daemon /home/www/acme%0adoas chown root:daemon /home/www/bin%0adoas chown www:daemon /home/www/cache%0adoas chown root:daemon /home/www/cgi-bin%0adoas chown root:daemon /home/www/conf%0adoas chown root:daemon /home/www/htdocs%0adoas chown root:daemon /home/www/logs%0adoas chown root:daemon /home/www/run%0adoas chown www:www /home/www/tmp%0adoas chown root:daemon /home/www/usr%0a%3c/code>%0a%0a====== Copying service files ======%0a%0aThe next step is to copy the old files into the new folder tree.%0a%0a%3ccode>%0adoas cp /var/www/bin/* /home/www/bin/%0adoas chown root:bin /home/www/bin/*%0adoas cp /var/www/cgi-bin/* /home/www/cgi-bin/%0adoas chown root:bin /home/www/cgi-bin/*%0adoas cp /var/www/conf/* /home/www/conf/%0adoas chown root:wheel /home/www/conf/*%0adoas mkdir -p /home/www/usr/sbin%0adoas chown root:daemon /home/www/usr/sbin%0adoas cp /var/www/usr/sbin/sendmail /home/www/usr/sbin/sendmail%0adoas chown root:daemon /home/www/usr/sbin/sendmail%0a%3c/code>%0a%0a====== Stopping services ======%0a%0aYou need to stop the web server and its additional services.%0a%0a%3ccode>%0adoas rcctl -d stop httpd%0adoas rcctl -d stop php73_fpm%0a%3c/code>%0a%0a====== Making changes to the configuration ======%0a%0aThe next step is to make changes to the configuration files of the web server and its services.%0a%0a/etc/httpd.conf:%0a%3ccode>%0achroot "/home/www"%0a%3c/code>%0a%0a/etc/php-fpm.conf:%0a%3ccode>%0alisten = /home/www/run/php-fpm.sock%0achroot = /home/www%0a%3c/code>%0a%0a====== Email security settings ======%0aSetting the minimum rights for the mail system%0a%3ccode>%0adoas chmod 640 /etc/mail/domains%0adoas chmod 640 /etc/mail/vusers%0adoas chmod 640 /etc/mail/hosts%0adoas chmod 640 /etc/mail/passwd%0adoas chmod 640 /etc/mail/vusers%0adoas chmod 640 /etc/mail/smtpd.conf%0adoas chown _dovecot:_dovecot /etc/dovecot/dovecot.conf%0adoas chown _dovecot:_dovecot /etc/dovecot/users.txt%0adoas chmod 640 /etc/dovecot/dovecot.conf%0adoas chmod 640 /etc/dovecot/users.txt%0a%3c/code>%0a%0aFirst make sure to set quotas%0a%0aSecond, make sure to change file permissions for%0a%0a/home/username%0a%0aWe symlinked /htdocs inside each user's home folder to /var/www/htdocs/%3cusername>%0a%0aWe installed%0a%0aInside /etc/httpd.conf:%0a%0a%3ccode>%0a location "/~username/*" {%0a root "/htdocs/username"%0a request strip 1%0a }%0a%3c/code>%0a%0aUpdate: hiding logs was causing problems%0a%0aWe also hide logs in /var/logs and /var/www/logs%0a%0a[[Guava/Packages|Packages installed]]%0a%0aPackages installed:%0a%0a%3ccode>%0aImageMagick-6.9.10.62 image processing tools%0aalpine-2.21p3 UW e-mail client%0aanthy-9100hp2 japanese input method%0aantiword-0.37p0 converts MSWord Documents to ASCII Text and PostScript%0aapr-1.6.5p0 Apache Portable Runtime%0aapr-util-1.6.1p2 companion library to APR%0aargon2-20171227 C implementation of Argon2 - password hashing function%0aaspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0abash-5.0.11 GNU Bourne Again Shell%0aboehm-gc-7.6.0p3 garbage collection and memory leak detection for C and C++%0aboost-1.66.0p7 free peer-reviewed portable C++ source libraries%0abzip2-1.0.8 block-sorting file compressor, unencumbered%0acmake-3.15.3v0 portable build system%0acoreutils-8.31p1 file, shell and text manipulation utilities%0acurl-7.66.0 get files from FTP, Gopher, HTTP or HTTPS servers%0acvsps-2.1p2 generate patchsets from CVS repositories%0acyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0adb-4.6.21p7v0 Berkeley DB package, revision 4%0adesktop-file-utils-0.24p0 utilities for dot.desktop entries%0adjvulibre-3.5.27p6 view, decode and encode DjVu files%0adocx2txt-1.4p0 command line converter from Microsoft docx to ASCII text%0aelvis-2.2.0p5-no_x11 clone of the ex/vi text editor%0aemacs-26.3-no_x11 GNU editor: extensible, customizable, self-documenting%0afdm-2.0 fetch, filter and deliver mail%0afetchmail-6.3.26p3 mail retrieval utility for POP2, POP3, KPOP, IMAP and more%0afftw3-3.3.8p1 C routines for computing the Discrete Fourier Transform%0afftw3-common-3.3.8p1 common files for the fftw3 packages%0afiglet-2.2.5 generates ASCII banner art%0agawk-5.0.0p0 GNU awk%0agdk-pixbuf-2.38.2 graphic library for gtk+2%0ageomyidae-0.34 Gopher protocol daemon%0agettext-runtime-0.20.1p0 GNU gettext runtime libraries and programs%0agiflib-5.1.6 tools and library routines for working with GIF images%0agit-2.23.0 GIT - Tree History Storage Tool%0aglib2-2.60.7 general-purpose utility library%0agmake-4.2.1p4 GNU make%0agnupg-1.4.23p3 GNU privacy guard - a free PGP replacement%0agnupg-2.2.12p0 GNU privacy guard - a free PGP replacement%0agot-0.17 game of trees version control system%0agroff-1.22.4p0 GNU troff typesetter%0agtk-update-icon-cache-3.24.12 gtk+ icon theme caching utility%0ahicolor-icon-theme-0.17 fallback theme of the icon theme specification%0aicu4c-64.2p0 International Components for Unicode%0aii-1.7p3 minimalist IRC client%0airssi-1.2.2 modular IRC client with many features%0ajasper-2.0.14 reference implementation of JPEG-2000%0ajbigkit-2.1 lossless image compression library, with lightweight version%0ajpeg-2.0.3v0 SIMD-accelerated JPEG codec replacement of libjpeg%0ajq-1.6p0 lightweight and flexible command-line JSON processor%0ajsoncpp-1.8.4p2 JSON parsing C++ API%0alcms2-2.9p0 color management library%0aledger-3.1.1p4 command line double-entry accounting ledger%0alibarchive-3.4.0 multi-format archive and compression library%0alibb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0alibffi-3.2.1p5 Foreign Function Interface%0alibiconv-1.16p0 character set conversion library%0alibidn2-2.3.0 implementation of IDNA2008 internationalized domain names%0alibraw-0.19.5 library for reading RAW files%0alibtasn1-4.14 Abstract Syntax Notation One structure parser library%0alibunbound-1.9.4 validating DNS resolver library%0alibunistring-0.9.7 manipulate Unicode strings%0alibuv-1.30.1 multi-platform library for asynchronous I/O%0alibwebp-1.0.3 Google WebP image format conversion tool%0alibxml-2.9.9 XML parsing library%0alinks-1.03p0 text browser, displays while downloading%0alua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0alynx-2.8.9rel1p0 text web browser%0alz4-1.9.2 fast BSD-licensed data compression%0amariadb-client-10.3.20v1 multithreaded SQL database (client)%0amariadb-server-10.3.20v1 multithreaded SQL database (server)%0amawk-1.3.4.20171017 fast POSIX-compliant awk%0amcabber-1.1.0p4 console jabber client%0amercurial-5.0.2 fast, lightweight source control management%0amultitail-6.4.2p0 multi-window tail(1) utility%0amutt-1.12.2v3-sasl tty-based e-mail client%0anano-4.4 simple editor, inspired by Pico%0aneovim-0.3.8 continuation and extension of Vim%0anewsboat-2.15p0 RSS/Atom feed reader for text terminals%0anghttp2-1.39.2 library for HTTP/2%0angircd-25 lightweight irc server%0anode-10.16.3 V8 JavaScript for clients and servers%0anvi-2.1.3p2 ex/vi text editor with wide character support%0aoath-toolkit-2.6.2p1 toolkit for OATH/HOTP and TOTP%0aopenjp2-2.3.1 open-source JPEG 2000 codec library%0ap11-kit-0.23.18.1 library for loading and enumerating PKCS#11 modules%0apcre-8.41p2 perl-compatible regular expression library%0aphp-7.3.12 server-side HTML-embedded scripting language%0apico-5.09p20 UW text editor%0apkglocatedb-1.5 database of packages for use with locate(1)%0apng-1.6.37 library for manipulating PNG images%0aprofanity-0.7.1 console based XMPP client%0apy-pip-19.1.1 tool for installing Python packages%0apy3-neovim-0.3.2p0 Python plugin support for Neovim%0apy3-pip-19.1.1 tool for installing Python packages%0apython-2.7.16p1 interpreted object-oriented programming language%0apython-3.7.4 interpreted object-oriented programming language%0aquirks-3.182 exceptions to pkg_add rules%0arhash-1.3.5p0 utility and library for computing hash sums%0arsync-3.1.3 mirroring/synchronization over low bandwidth links%0aruby-2.6.5 object oriented script language with threads%0arust-1.38.0 compiler for Rust Language%0asacc-1.00 simple console gopher client%0ascreen-4.6.2 multi-screen window manager%0ashared-mime-info-1.10p5 shared mime database for desktops%0asic-1.2p1 simple irc client%0aslrn-1.0.2p2 SLang-based newsreader%0asqlite3-3.29.0 embedded SQL implementation%0asubversion-1.12.2 subversion revision control system%0atcsh-6.20.00p1 extended C-shell with many useful features%0atiff-4.0.10 tools and library routines for working with TIFF images%0atree-0.62 print ascii formatted tree of a directory structure%0atrn-4.0.77p2 threaded newsreader%0auim-1.8.8p0 multilingual input method library%0auim-chewing-0.1.0p2 chewing input method for uim%0aunzip-6.0p12 extract, list & test files in a ZIP archive%0avim-8.1.2061-no_x11 vi clone, many additional features%0aw3m-0.5.3p8 pager/text-based web browser%0aweechat-2.6 fast, light and extensible chat client%0awget-1.20.3p1 retrieve files from the web via HTTP, HTTPS and FTP%0axlsx2csv-20150318p1 convert XLSX files to CSV%0axz-5.2.4 LZMA compression and decompression tools%0azh-fonts-kc-1.05p2 extra chinese fonts%0azh-libchewing-0.5.1p0 intelligent phonetic input method library%0azip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0azstd-1.4.3 zstandard fast real-time compression algorithm%0a%3c/code>%0a%0aTo set the user's default prompt to "username$ ", stick this into /etc/profile:%0a%0a%3ccode>%0aexport PS1="`whoami`$ "%0a%3c/code>%0a%0a%3ccode>%0a # chmod -R o-rx /var/log%0a # chmod o-rx /var/run/utmp%0a # chmod o-r /var/log/wtmp*%0a%3c/code>%0a%0aSeems like there is no way to hide processes from users:%0a%0ahttp://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a%0a%3ccode>%0a# chmod 750 /var/www/logs/%0a# chmod 640 /var/www/logs/*%0a# chmod 750 /var/log%0a# chmod o-rx /var/log/*%0a# chmod -R o-rx /etc/mail%0a%3c/code>%0a%0ato turn accounting on.. only users love making use of it too%0a%0aadd login.conf rules%0a%0a[@%0afree:\%0a :maxproc-cur=50:\%0a :maxproc-max=100:\%0a :openfiles-cur=512:\%0a :openfiles-max=1024:\%0a :memoryuse-cur=32M:\%0a :memoryuse-max=64M:\%0a :vmemoryuse-cur=64M:\%0a :vmemoryuse-max=128M:\%0a :memorylocked-cur=32M:\%0a :memorylocked-max=64M:\%0a :stacksize-cur=32M:\%0a :stacksize-max=64M:\%0a :localcipher=blowfish,a:\%0a :minpasswordlen=10:\%0a :requirehome@:\%0a :umask=022:%0a%0aguest:\%0a :maxproc-cur=25:\%0a :maxproc-max=50:\%0a :openfiles-cur=512:\%0a :openfiles-max=1024:\%0a :memoryuse-cur=32M:\%0a :memoryuse-max=64M:\%0a :vmemoryuse-cur=64M:\%0a :vmemoryuse-max=128M:\%0a :memorylocked-cur=32M:\%0a :memorylocked-max=64M:\%0a :stacksize-cur=32M:\%0a :stacksize-max=64M:\%0a :localcipher=blowfish,a:\%0a :minpasswordlen=10:\%0a :requirehome@:\%0a :umask=022:%0a@]%0a%0aFor each new user:%0a%0a%3ccode>%0a# adduser%0a# chmod 700 /home/username /home/username/.ssh%0a# chmod 600 /home/username/{.Xdefaults,.cshrc,.cvsrc,.login,.mailrc,.profile}%0a# mkdir /var/www/htdocs/username%0a# ln -s /var/www/htdocs/username /home/username/htdocs%0a# chown username:username /var/www/htdocs/username /home/username/htdocs%0a# edquota username%0a%3c/code>%0a%0aIn /etc/httpd.conf:%0a%0a%3ccode>%0a location "/~username/*" {%0a root "/htdocs/username"%0a request strip 1 %0a }%0a%3c/code>%0a%0aIn nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a%0aany new suid binary's with %0a%3ccode>%0a # find / -perm -4000%0a%3c/code>%0a%0aCheck /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a%0aIn /etc/ssh/sshd_config, turn off X11 forwarding%0a%0aCreate symlinks for users so they don't complain:%0a%0a%3ccode>%0aln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0aln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a%3c/code>%0a%0aYou will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a%0a%3ccode>%0a# mkdir /var/www/etc/%0a# cp /etc/resolv.conf /var/www/etc/%0a# chown -R www:daemon /var/www/etc%0a%3c/code>%0a +time=1623404219 +author:1623404219=jrmu +diff:1623404219:1623404169:=276,309c276,291%0a%3c :maxproc-cur=50:\%0a%3c :maxproc-max=100:\%0a%3c :openfiles-cur=512:\%0a%3c :openfiles-max=1024:\%0a%3c :memoryuse-cur=32M:\%0a%3c :memoryuse-max=64M:\%0a%3c :vmemoryuse-cur=64M:\%0a%3c :vmemoryuse-max=128M:\%0a%3c :memorylocked-cur=32M:\%0a%3c :memorylocked-max=64M:\%0a%3c :stacksize-cur=32M:\%0a%3c :stacksize-max=64M:\%0a%3c :localcipher=blowfish,a:\%0a%3c :minpasswordlen=10:\%0a%3c :requirehome@:\%0a%3c :umask=022:%0a%3c %0a%3c guest:\%0a%3c :maxproc-cur=25:\%0a%3c :maxproc-max=50:\%0a%3c :openfiles-cur=512:\%0a%3c :openfiles-max=1024:\%0a%3c :memoryuse-cur=32M:\%0a%3c :memoryuse-max=64M:\%0a%3c :vmemoryuse-cur=64M:\%0a%3c :vmemoryuse-max=128M:\%0a%3c :memorylocked-cur=32M:\%0a%3c :memorylocked-max=64M:\%0a%3c :stacksize-cur=32M:\%0a%3c :stacksize-max=64M:\%0a%3c :localcipher=blowfish,a:\%0a%3c :minpasswordlen=10:\%0a%3c :requirehome@:\%0a%3c :umask=022:%0a---%0a> :maxproc-cur=50:\%0a> :maxproc-max=100:\%0a> :openfiles-cur=512:\%0a> :openfiles-max=1024:\%0a> :memoryuse-cur=32M:\%0a> :memoryuse-max=64M:\%0a> :vmemoryuse-cur=64M:\%0a> :vmemoryuse-max=128M:\%0a> :memorylocked-cur=32M:\%0a> :memorylocked-max=64M:\%0a> :stacksize-cur=32M:\%0a> :stacksize-max=64M:\%0a> :localcipher=blowfish,a:\%0a> :minpasswordlen=10:\%0a> :requirehome@:\%0a> :umask=022:%0a +host:1623404219=38.81.163.143 +author:1623404169=jrmu +diff:1623404169:1623403760:=275c275%0a%3c free:\%0a---%0a> freeshell:\%0a +host:1623404169=38.81.163.143 +author:1623403760=jrmu +diff:1623403760:1611800974:=274,293d273%0a%3c [@%0a%3c freeshell:\%0a%3c :maxproc-cur=50:\%0a%3c :maxproc-max=100:\%0a%3c :openfiles-cur=512:\%0a%3c :openfiles-max=1024:\%0a%3c :memoryuse-cur=32M:\%0a%3c :memoryuse-max=64M:\%0a%3c :vmemoryuse-cur=64M:\%0a%3c :vmemoryuse-max=128M:\%0a%3c :memorylocked-cur=32M:\%0a%3c :memorylocked-max=64M:\%0a%3c :stacksize-cur=32M:\%0a%3c :stacksize-max=64M:\%0a%3c :localcipher=blowfish,a:\%0a%3c :minpasswordlen=10:\%0a%3c :requirehome@:\%0a%3c :umask=022:%0a%3c @]%0a%3c %0a339c319%0a%3c %3c/code>%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1623403760=38.81.163.143 +author:1611800974=jrmu +diff:1611800974:1597239367:=0a1%0a> %0a113,114d113%0a%3c %0a%3c [[Guava/Packages|Packages installed]]%0a +host:1611800974=125.231.24.226 +author:1597239367=jrmu +diff:1597239367:1597239367:=1,318d0%0a%3c %0a%3c ====== Creating a folder tree ======%0a%3c %0a%3c Create a new folder tree for hosting web server resources and additional services.%0a%3c %0a%3c %3ccode>%0a%3c doas mkdir -p /home/www/acme%0a%3c doas mkdir -p /home/www/bin%0a%3c doas mkdir -p /home/www/cache%0a%3c doas mkdir -p /home/www/cgi-bin%0a%3c doas mkdir -p /home/www/conf%0a%3c doas mkdir -p /home/www/htdocs%0a%3c doas mkdir -p /home/www/logs%0a%3c doas mkdir -p /home/www/run%0a%3c doas mkdir -p /home/www/tmp%0a%3c doas mkdir -p /home/www/usr%0a%3c %3c/code>%0a%3c %0a%3c ====== Setting directory owners ======%0a%3c %0a%3c Next, you need to set the correct owners for the new folder tree.%0a%3c %0a%3c %3ccode>%0a%3c doas chown root:daemon /home/www/acme%0a%3c doas chown root:daemon /home/www/bin%0a%3c doas chown www:daemon /home/www/cache%0a%3c doas chown root:daemon /home/www/cgi-bin%0a%3c doas chown root:daemon /home/www/conf%0a%3c doas chown root:daemon /home/www/htdocs%0a%3c doas chown root:daemon /home/www/logs%0a%3c doas chown root:daemon /home/www/run%0a%3c doas chown www:www /home/www/tmp%0a%3c doas chown root:daemon /home/www/usr%0a%3c %3c/code>%0a%3c %0a%3c ====== Copying service files ======%0a%3c %0a%3c The next step is to copy the old files into the new folder tree.%0a%3c %0a%3c %3ccode>%0a%3c doas cp /var/www/bin/* /home/www/bin/%0a%3c doas chown root:bin /home/www/bin/*%0a%3c doas cp /var/www/cgi-bin/* /home/www/cgi-bin/%0a%3c doas chown root:bin /home/www/cgi-bin/*%0a%3c doas cp /var/www/conf/* /home/www/conf/%0a%3c doas chown root:wheel /home/www/conf/*%0a%3c doas mkdir -p /home/www/usr/sbin%0a%3c doas chown root:daemon /home/www/usr/sbin%0a%3c doas cp /var/www/usr/sbin/sendmail /home/www/usr/sbin/sendmail%0a%3c doas chown root:daemon /home/www/usr/sbin/sendmail%0a%3c %3c/code>%0a%3c %0a%3c ====== Stopping services ======%0a%3c %0a%3c You need to stop the web server and its additional services.%0a%3c %0a%3c %3ccode>%0a%3c doas rcctl -d stop httpd%0a%3c doas rcctl -d stop php73_fpm%0a%3c %3c/code>%0a%3c %0a%3c ====== Making changes to the configuration ======%0a%3c %0a%3c The next step is to make changes to the configuration files of the web server and its services.%0a%3c %0a%3c /etc/httpd.conf:%0a%3c %3ccode>%0a%3c chroot "/home/www"%0a%3c %3c/code>%0a%3c %0a%3c /etc/php-fpm.conf:%0a%3c %3ccode>%0a%3c listen = /home/www/run/php-fpm.sock%0a%3c chroot = /home/www%0a%3c %3c/code>%0a%3c %0a%3c ====== Email security settings ======%0a%3c Setting the minimum rights for the mail system%0a%3c %3ccode>%0a%3c doas chmod 640 /etc/mail/domains%0a%3c doas chmod 640 /etc/mail/vusers%0a%3c doas chmod 640 /etc/mail/hosts%0a%3c doas chmod 640 /etc/mail/passwd%0a%3c doas chmod 640 /etc/mail/vusers%0a%3c doas chmod 640 /etc/mail/smtpd.conf%0a%3c doas chown _dovecot:_dovecot /etc/dovecot/dovecot.conf%0a%3c doas chown _dovecot:_dovecot /etc/dovecot/users.txt%0a%3c doas chmod 640 /etc/dovecot/dovecot.conf%0a%3c doas chmod 640 /etc/dovecot/users.txt%0a%3c %3c/code>%0a%3c %0a%3c First make sure to set quotas%0a%3c %0a%3c Second, make sure to change file permissions for%0a%3c %0a%3c /home/username%0a%3c %0a%3c We symlinked /htdocs inside each user's home folder to /var/www/htdocs/%3cusername>%0a%3c %0a%3c We installed%0a%3c %0a%3c Inside /etc/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c location "/~username/*" {%0a%3c root "/htdocs/username"%0a%3c request strip 1%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Update: hiding logs was causing problems%0a%3c %0a%3c We also hide logs in /var/logs and /var/www/logs%0a%3c %0a%3c Packages installed:%0a%3c %0a%3c %3ccode>%0a%3c ImageMagick-6.9.10.62 image processing tools%0a%3c alpine-2.21p3 UW e-mail client%0a%3c anthy-9100hp2 japanese input method%0a%3c antiword-0.37p0 converts MSWord Documents to ASCII Text and PostScript%0a%3c apr-1.6.5p0 Apache Portable Runtime%0a%3c apr-util-1.6.1p2 companion library to APR%0a%3c argon2-20171227 C implementation of Argon2 - password hashing function%0a%3c aspell-0.60.6.1p10 spell checker designed to eventually replace Ispell%0a%3c bash-5.0.11 GNU Bourne Again Shell%0a%3c boehm-gc-7.6.0p3 garbage collection and memory leak detection for C and C++%0a%3c boost-1.66.0p7 free peer-reviewed portable C++ source libraries%0a%3c bzip2-1.0.8 block-sorting file compressor, unencumbered%0a%3c cmake-3.15.3v0 portable build system%0a%3c coreutils-8.31p1 file, shell and text manipulation utilities%0a%3c curl-7.66.0 get files from FTP, Gopher, HTTP or HTTPS servers%0a%3c cvsps-2.1p2 generate patchsets from CVS repositories%0a%3c cyrus-sasl-2.1.27p1 RFC 2222 SASL (Simple Authentication and Security Layer)%0a%3c db-4.6.21p7v0 Berkeley DB package, revision 4%0a%3c desktop-file-utils-0.24p0 utilities for dot.desktop entries%0a%3c djvulibre-3.5.27p6 view, decode and encode DjVu files%0a%3c docx2txt-1.4p0 command line converter from Microsoft docx to ASCII text%0a%3c elvis-2.2.0p5-no_x11 clone of the ex/vi text editor%0a%3c emacs-26.3-no_x11 GNU editor: extensible, customizable, self-documenting%0a%3c fdm-2.0 fetch, filter and deliver mail%0a%3c fetchmail-6.3.26p3 mail retrieval utility for POP2, POP3, KPOP, IMAP and more%0a%3c fftw3-3.3.8p1 C routines for computing the Discrete Fourier Transform%0a%3c fftw3-common-3.3.8p1 common files for the fftw3 packages%0a%3c figlet-2.2.5 generates ASCII banner art%0a%3c gawk-5.0.0p0 GNU awk%0a%3c gdk-pixbuf-2.38.2 graphic library for gtk+2%0a%3c geomyidae-0.34 Gopher protocol daemon%0a%3c gettext-runtime-0.20.1p0 GNU gettext runtime libraries and programs%0a%3c giflib-5.1.6 tools and library routines for working with GIF images%0a%3c git-2.23.0 GIT - Tree History Storage Tool%0a%3c glib2-2.60.7 general-purpose utility library%0a%3c gmake-4.2.1p4 GNU make%0a%3c gnupg-1.4.23p3 GNU privacy guard - a free PGP replacement%0a%3c gnupg-2.2.12p0 GNU privacy guard - a free PGP replacement%0a%3c got-0.17 game of trees version control system%0a%3c groff-1.22.4p0 GNU troff typesetter%0a%3c gtk-update-icon-cache-3.24.12 gtk+ icon theme caching utility%0a%3c hicolor-icon-theme-0.17 fallback theme of the icon theme specification%0a%3c icu4c-64.2p0 International Components for Unicode%0a%3c ii-1.7p3 minimalist IRC client%0a%3c irssi-1.2.2 modular IRC client with many features%0a%3c jasper-2.0.14 reference implementation of JPEG-2000%0a%3c jbigkit-2.1 lossless image compression library, with lightweight version%0a%3c jpeg-2.0.3v0 SIMD-accelerated JPEG codec replacement of libjpeg%0a%3c jq-1.6p0 lightweight and flexible command-line JSON processor%0a%3c jsoncpp-1.8.4p2 JSON parsing C++ API%0a%3c lcms2-2.9p0 color management library%0a%3c ledger-3.1.1p4 command line double-entry accounting ledger%0a%3c libarchive-3.4.0 multi-format archive and compression library%0a%3c libb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp%0a%3c libffi-3.2.1p5 Foreign Function Interface%0a%3c libiconv-1.16p0 character set conversion library%0a%3c libidn2-2.3.0 implementation of IDNA2008 internationalized domain names%0a%3c libraw-0.19.5 library for reading RAW files%0a%3c libtasn1-4.14 Abstract Syntax Notation One structure parser library%0a%3c libunbound-1.9.4 validating DNS resolver library%0a%3c libunistring-0.9.7 manipulate Unicode strings%0a%3c libuv-1.30.1 multi-platform library for asynchronous I/O%0a%3c libwebp-1.0.3 Google WebP image format conversion tool%0a%3c libxml-2.9.9 XML parsing library%0a%3c links-1.03p0 text browser, displays while downloading%0a%3c lua-5.3.5 powerful, light-weight programming language (version 5.3.5)%0a%3c lynx-2.8.9rel1p0 text web browser%0a%3c lz4-1.9.2 fast BSD-licensed data compression%0a%3c mariadb-client-10.3.20v1 multithreaded SQL database (client)%0a%3c mariadb-server-10.3.20v1 multithreaded SQL database (server)%0a%3c mawk-1.3.4.20171017 fast POSIX-compliant awk%0a%3c mcabber-1.1.0p4 console jabber client%0a%3c mercurial-5.0.2 fast, lightweight source control management%0a%3c multitail-6.4.2p0 multi-window tail(1) utility%0a%3c mutt-1.12.2v3-sasl tty-based e-mail client%0a%3c nano-4.4 simple editor, inspired by Pico%0a%3c neovim-0.3.8 continuation and extension of Vim%0a%3c newsboat-2.15p0 RSS/Atom feed reader for text terminals%0a%3c nghttp2-1.39.2 library for HTTP/2%0a%3c ngircd-25 lightweight irc server%0a%3c node-10.16.3 V8 JavaScript for clients and servers%0a%3c nvi-2.1.3p2 ex/vi text editor with wide character support%0a%3c oath-toolkit-2.6.2p1 toolkit for OATH/HOTP and TOTP%0a%3c openjp2-2.3.1 open-source JPEG 2000 codec library%0a%3c p11-kit-0.23.18.1 library for loading and enumerating PKCS#11 modules%0a%3c pcre-8.41p2 perl-compatible regular expression library%0a%3c php-7.3.12 server-side HTML-embedded scripting language%0a%3c pico-5.09p20 UW text editor%0a%3c pkglocatedb-1.5 database of packages for use with locate(1)%0a%3c png-1.6.37 library for manipulating PNG images%0a%3c profanity-0.7.1 console based XMPP client%0a%3c py-pip-19.1.1 tool for installing Python packages%0a%3c py3-neovim-0.3.2p0 Python plugin support for Neovim%0a%3c py3-pip-19.1.1 tool for installing Python packages%0a%3c python-2.7.16p1 interpreted object-oriented programming language%0a%3c python-3.7.4 interpreted object-oriented programming language%0a%3c quirks-3.182 exceptions to pkg_add rules%0a%3c rhash-1.3.5p0 utility and library for computing hash sums%0a%3c rsync-3.1.3 mirroring/synchronization over low bandwidth links%0a%3c ruby-2.6.5 object oriented script language with threads%0a%3c rust-1.38.0 compiler for Rust Language%0a%3c sacc-1.00 simple console gopher client%0a%3c screen-4.6.2 multi-screen window manager%0a%3c shared-mime-info-1.10p5 shared mime database for desktops%0a%3c sic-1.2p1 simple irc client%0a%3c slrn-1.0.2p2 SLang-based newsreader%0a%3c sqlite3-3.29.0 embedded SQL implementation%0a%3c subversion-1.12.2 subversion revision control system%0a%3c tcsh-6.20.00p1 extended C-shell with many useful features%0a%3c tiff-4.0.10 tools and library routines for working with TIFF images%0a%3c tree-0.62 print ascii formatted tree of a directory structure%0a%3c trn-4.0.77p2 threaded newsreader%0a%3c uim-1.8.8p0 multilingual input method library%0a%3c uim-chewing-0.1.0p2 chewing input method for uim%0a%3c unzip-6.0p12 extract, list & test files in a ZIP archive%0a%3c vim-8.1.2061-no_x11 vi clone, many additional features%0a%3c w3m-0.5.3p8 pager/text-based web browser%0a%3c weechat-2.6 fast, light and extensible chat client%0a%3c wget-1.20.3p1 retrieve files from the web via HTTP, HTTPS and FTP%0a%3c xlsx2csv-20150318p1 convert XLSX files to CSV%0a%3c xz-5.2.4 LZMA compression and decompression tools%0a%3c zh-fonts-kc-1.05p2 extra chinese fonts%0a%3c zh-libchewing-0.5.1p0 intelligent phonetic input method library%0a%3c zip-3.0p1 create/update ZIP files compatible with PKZip(tm)%0a%3c zstd-1.4.3 zstandard fast real-time compression algorithm%0a%3c %3c/code>%0a%3c %0a%3c To set the user's default prompt to "username$ ", stick this into /etc/profile:%0a%3c %0a%3c %3ccode>%0a%3c export PS1="`whoami`$ "%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # chmod -R o-rx /var/log%0a%3c # chmod o-rx /var/run/utmp%0a%3c # chmod o-r /var/log/wtmp*%0a%3c %3c/code>%0a%3c %0a%3c Seems like there is no way to hide processes from users:%0a%3c %0a%3c http://openbsd-archive.7691.n7.nabble.com/KERNEL-PATCH-add-process-hiding-fixed-td309339.html%0a%3c %0a%3c %3ccode>%0a%3c # chmod 750 /var/www/logs/%0a%3c # chmod 640 /var/www/logs/*%0a%3c # chmod 750 /var/log%0a%3c # chmod o-rx /var/log/*%0a%3c # chmod -R o-rx /etc/mail%0a%3c %3c/code>%0a%3c %0a%3c to turn accounting on.. only users love making use of it too%0a%3c %0a%3c add login.conf rules%0a%3c %0a%3c For each new user:%0a%3c %0a%3c %3ccode>%0a%3c # adduser%0a%3c # chmod 700 /home/username /home/username/.ssh%0a%3c # chmod 600 /home/username/{.Xdefaults,.cshrc,.cvsrc,.login,.mailrc,.profile}%0a%3c # mkdir /var/www/htdocs/username%0a%3c # ln -s /var/www/htdocs/username /home/username/htdocs%0a%3c # chown username:username /var/www/htdocs/username /home/username/htdocs%0a%3c # edquota username%0a%3c %3c/code>%0a%3c %0a%3c In /etc/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c location "/~username/*" {%0a%3c root "/htdocs/username"%0a%3c request strip 1 %0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c In nsd zone files, create 1 subdomain per user so users get: username.shell.ircnow.org%0a%3c %0a%3c any new suid binary's with %0a%3c %3ccode>%0a%3c # find / -perm -4000%0a%3c %3c/code>%0a%3c %0a%3c Check /etc/groups to make sure that no user is a member of wheel. This will prevent them from su to root even if they know the password.%0a%3c %0a%3c In /etc/ssh/sshd_config, turn off X11 forwarding%0a%3c %0a%3c Create symlinks for users so they don't complain:%0a%3c %0a%3c %3ccode>%0a%3c ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh%0a%3c ln -s /usr/local/bin/python3.7 /usr/local/bin/python%0a%3c %3c/code>%0a%3c %0a%3c You will want to have /var/www/etc/resolv.conf to allow DNS lookup inside the chroot:%0a%3c %0a%3c %3ccode>%0a%3c # mkdir /var/www/etc/%0a%3c # cp /etc/resolv.conf /var/www/etc/%0a%3c # chown -R www:daemon /var/www/etc%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597239367=38.81.163.143 blob - /dev/null blob + 7baefee449c76f27650802801aa6dc7492dde4dc (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sic @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=first edit. +ctime=1626890241 +host=188.210.102.116 +name=Openbsd.Sic +rev=1 +targets= +text=sic is a simple irc client by suckless community, written in less than 250 lines of C code.%0ait reads commands and messages from stdio and prints messages into stdout, making suitable for using in scripts, or where quick access to irc needed.%0asic doesn't support SSL/TLS natively %0a!!!Installation %0a[@%0a$ doas pkg_add sic%0a@]%0a!!!Usage%0aunlike most common clients, [@/command@]s doesn't work and they are used with [@:command@]%0afor joining a channel%0a[@:j #channel@]%0a%0afor leaving a channel%0a[@:l #channel@]%0a%0asending a message to [@nick@]%0a[@:m nick message@]%0a%0asetting target (default place which messages are sent to)%0a[@:s #channel@]%0a[@:s nick@]%0a%0a!!!examples%0a[@%0a$ sic -h irc.ircnow.org -n ircuser%0a@]%0a%0a +time=1626890241 +author:1626890241=mkf +csum:1626890241=first edit. +diff:1626890241:1626890241:minor=1,27d0%0a%3c sic is a simple irc client by suckless community, written in less than 250 lines of C code.%0a%3c it reads commands and messages from stdio and prints messages into stdout, making suitable for using in scripts, or where quick access to irc needed.%0a%3c sic doesn't support SSL/TLS natively %0a%3c !!!Installation %0a%3c [@%0a%3c $ doas pkg_add sic%0a%3c @]%0a%3c !!!Usage%0a%3c unlike most common clients, [@/command@]s doesn't work and they are used with [@:command@]%0a%3c for joining a channel%0a%3c [@:j #channel@]%0a%3c %0a%3c for leaving a channel%0a%3c [@:l #channel@]%0a%3c %0a%3c sending a message to [@nick@]%0a%3c [@:m nick message@]%0a%3c %0a%3c setting target (default place which messages are sent to)%0a%3c [@:s #channel@]%0a%3c [@:s nick@]%0a%3c %0a%3c !!!examples%0a%3c [@%0a%3c $ sic -h irc.ircnow.org -n ircuser%0a%3c @]%0a%3c %0a +host:1626890241=188.210.102.116 blob - /dev/null blob + 2d6f84bd4500fa3084247dff595baf2c68d91fe9 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Slrn @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=Noxturnix +charset=UTF-8 +csum= +ctime=1610459415 +host=125.224.27.48 +name=Openbsd.Slrn +rev=4 +targets= +text=!! Installation%0a%0a!!! From Ports%0a%0a[@%0a$ doas pkg_add slrn%0a@]%0a%0a!!! Compiling%0a%0a[@%0a# First, download slrn to $HOME%0acd ~/%0awget "http://jedsoft.org/releases/slrn/slrn-1.0.3a.tar.bz2" # You can find the latest version%0a# Extract and install to ~/.local/ with SSL support%0atar -xjvf slrn-1.0.3a.tar.bz2%0acd slrn-1.0.3/%0a./configure --prefix "/home/$USER/.local" --with-ssl%0amake%0amake install%0a# Add slrn to $PATH%0aexport PATH="/home/$USER/.local/bin:$PATH"%0a# Use slrn to connect to a SSL NNTP server%0aslrn -h snews://example.ircnow.org -p PORT --create%0a@]%0a%0a!! Usage%0a%0a[@%0a$ slrn -h snews://example.ircnow.org -p 563 --create%0a@]%0a%0aAttach:slrn1.png +time=1610462423 +author:1610462423=Noxturnix +diff:1610462423:1610462334:=32,33d31%0a%3c %0a%3c Attach:slrn1.png%0a\ No newline at end of file%0a +host:1610462423=125.224.27.48 +author:1610462334=Noxturnix +diff:1610462334:1610462069:=24c24%0a%3c slrn -h snews://example.ircnow.org -p PORT --create%0a---%0a> slrn -h snews://fruit.ircnow.org -p PORT --create%0a29,31c29,30%0a%3c [@%0a%3c $ slrn -h snews://example.ircnow.org -p 563 --create%0a%3c @]%0a---%0a> $ slrn -h snews://fig.ircnow.org -p 563 --create%0a> %0a +host:1610462334=125.224.27.48 +author:1610462069=Noxturnix +diff:1610462069:1610459415:=1,11d0%0a%3c !! Installation%0a%3c %0a%3c !!! From Ports%0a%3c %0a%3c [@%0a%3c $ doas pkg_add slrn%0a%3c @]%0a%3c %0a%3c !!! Compiling%0a%3c %0a%3c [@%0a12a2%0a> %0a14c4,5%0a%3c wget "http://jedsoft.org/releases/slrn/slrn-1.0.3a.tar.bz2" # You can find the latest version%0a---%0a> wget "http://jedsoft.org/releases/slrn/slrn-1.0.3a.tar.bz2" # You can find the latest ve%0a> %0a15a7%0a> %0a20a13%0a> %0a21a15%0a> %0a22a17%0a> %0a23a19%0a> %0a25,30c21,22%0a%3c @]%0a%3c %0a%3c !! Usage%0a%3c %0a%3c $ slrn -h snews://fig.ircnow.org -p 563 --create%0a%3c %0a---%0a> %0a> # Enjoy%0a +host:1610462069=125.224.27.48 +author:1610459415=Noxturnix +diff:1610459415:1610459415:=1,22d0%0a%3c # First, download slrn to $HOME%0a%3c %0a%3c cd ~/%0a%3c wget "http://jedsoft.org/releases/slrn/slrn-1.0.3a.tar.bz2" # You can find the latest ve%0a%3c %0a%3c # Extract and install to ~/.local/ with SSL support%0a%3c %0a%3c tar -xjvf slrn-1.0.3a.tar.bz2%0a%3c cd slrn-1.0.3/%0a%3c ./configure --prefix "/home/$USER/.local" --with-ssl%0a%3c make%0a%3c make install%0a%3c %0a%3c # Add slrn to $PATH%0a%3c %0a%3c export PATH="/home/$USER/.local/bin:$PATH"%0a%3c %0a%3c # Use slrn to connect to a SSL NNTP server%0a%3c %0a%3c slrn -h snews://fruit.ircnow.org -p PORT --create%0a%3c %0a%3c # Enjoy%0a +host:1610459415=125.224.27.48 blob - /dev/null blob + 137ec67200987fc9f108225bda75557e0eb57309 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sockets,del-1597216580 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597203074 +host=38.81.163.143 +name=Openbsd.Sockets +rev=2 +targets= +text=Every computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%0aTCP is used when we need to send data in a reliable way (for example, email uses TCP because you don't want to lose any words!). UDP is used when some data loss is acceptable and speed is most important (for example, a slightly worse quality voice call is not a big deal). You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%0aTCP/IP is used to carry basic packets. Inside those packets, we have different protocols to describe different applications. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%0aEach computer has network interfaces to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports from 1 to 65535. When you combine an IP address with a port, you have a socket. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%0aTCP/IP relies on client-server architecture. One thing will act as the server, and another the client. The client requests something, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a mysterious data center somewhere. The server is often an expensive, professional machine in an expensive data center, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. Your phone could even run a web server and deliver web pages. The important thing to remember is that the client requests information and a server responds to it. %0a%0aEvery client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, if you request from a web server with IP 192.168.0.1 on port 443 using TCP, if the web server is listening on a different socket (IP 192.168.0.1 port 80 using TCP), your web server will '''not''' be able to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP addres, port, or protocol type is wrong, the client-server connection will not work.%0a%0aInternet Control Message Protocol (ICMP)%0aIPv6%0a%0aNetwork address translation (NAT)%0aDNS%0aSSL/TLS%0asubnetting%0aEthernet MAC address%0ahex and /24%0afor example , 0xffffff00%0aSubnet Mask and Default Gateway%0a%0areserved ip addresses%0a%0aloopback ip addresses: 127.0.0.0 to 127.255.255.255.%0a%0aSome devices have multiple network interfaces +time=1597204106 +author:1597204106=jrmu +diff:1597204106:1597203074:=18,29c18%0a%3c SSL/TLS%0a%3c subnetting%0a%3c Ethernet MAC address%0a%3c hex and /24%0a%3c for example , 0xffffff00%0a%3c Subnet Mask and Default Gateway%0a%3c %0a%3c reserved ip addresses%0a%3c %0a%3c loopback ip addresses: 127.0.0.0 to 127.255.255.255.%0a%3c %0a%3c Some devices have multiple network interfaces%0a\ No newline at end of file%0a---%0a> SSL/TLS%0a\ No newline at end of file%0a +host:1597204106=38.81.163.143 +author:1597203074=jrmu +diff:1597203074:1597203074:=1,18d0%0a%3c Every computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%3c %0a%3c TCP is used when we need to send data in a reliable way (for example, email uses TCP because you don't want to lose any words!). UDP is used when some data loss is acceptable and speed is most important (for example, a slightly worse quality voice call is not a big deal). You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%3c %0a%3c TCP/IP is used to carry basic packets. Inside those packets, we have different protocols to describe different applications. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%3c %0a%3c Each computer has network interfaces to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports from 1 to 65535. When you combine an IP address with a port, you have a socket. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%3c %0a%3c TCP/IP relies on client-server architecture. One thing will act as the server, and another the client. The client requests something, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a mysterious data center somewhere. The server is often an expensive, professional machine in an expensive data center, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. Your phone could even run a web server and deliver web pages. The important thing to remember is that the client requests information and a server responds to it. %0a%3c %0a%3c Every client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, if you request from a web server with IP 192.168.0.1 on port 443 using TCP, if the web server is listening on a different socket (IP 192.168.0.1 port 80 using TCP), your web server will '''not''' be able to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP addres, port, or protocol type is wrong, the client-server connection will not work.%0a%3c %0a%3c Internet Control Message Protocol (ICMP)%0a%3c IPv6%0a%3c %0a%3c Network address translation (NAT)%0a%3c DNS%0a%3c SSL/TLS%0a\ No newline at end of file%0a +host:1597203074=38.81.163.143 blob - /dev/null blob + 0d3016215ed17d0d86927894b81174cac6b7632e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Spf @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626059305 +host=38.81.163.143 +name=Openbsd.Spf +rev=1 +targets= +text=(:redirect DNS.SPF:)%0a +time=1626059305 +author:1626059305=jrmu +diff:1626059305:1626059305:=1d0%0a%3c (:redirect DNS.SPF:)%0a +host:1626059305=38.81.163.143 blob - /dev/null blob + 29ca97ab93a859e1e40287acd84827f55f6af0d8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Squirrelmail @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=baytuch +charset=UTF-8 +csum= +ctime=1597778798 +host=38.87.162.8 +name=Openbsd.Squirrelmail +rev=7 +targets= +text=(:redirect Squirrelmail.Install:)%0aFor the application to work, the mail system must already be configured and started on the server.%0a%0a%0a'''Create a new subdomain to host the application'''%0a%0a [=%0a/var/nsd/zones/master/example.com.zone:%0a; webmail service%0awebmail A 10.10.10.10%0awebmail AAAA 2605:6400:30:faa1::%0a%0adoas rcctl -d restart nsd%0adoas rcctl -d restart unbound%0a =]%0a%0a'''Creating a new virtual host where applications will be hosted''''%0a%0a [=%0a/etc/httpd.conf:%0aserver "webmail.example.com.zone" {%0a listen on * port 80%0a #listen on * tls port 443%0a #tls {%0a # certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a # key "/etc/ssl/private/webmail.example.com.org.key"%0a #}%0a directory index index.php%0a root "/htdocs/webmail"%0a location "/class/*" {%0a block return 403%0a }%0a location "/config/*" {%0a block return 403%0a }%0a location "/contrib/*" {%0a block return 403%0a }%0a location "/data/*" {%0a block return 403%0a }%0a location "/doc/*" {%0a block return 403%0a }%0a location "/functions/*" {%0a block return 403%0a }%0a location "/help/*" {%0a block return 403%0a }%0a location "/include/*" {%0a block return 403%0a }%0a location "/locale/*" {%0a block return 403%0a }%0a location "/po/*" {%0a block return 403%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a log access "webmail_access.log"%0a log error "webmail_error.log"%0a}%0a =]%0a%0a%0adoas rcctl -d restart httpd%0a%0a%0a'''Configuring the certificate generation service'''%0a%0a [=%0a/etc/acme-client.conf:%0adomain webmail.example.com {%0a domain key "/etc/ssl/private/webmail.example.com.key"%0a domain certificate "/etc/ssl/webmail.example.com.crt"%0a domain full chain certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a sign with letsencrypt%0a challengedir "/var/www/acme"%0a}%0a =]%0adoas acme-client -Fv webmail.example.com%0a(!)you must set new certs to virtual host config and restart httpd again%0a%0a%0a'''Creating an environment for the application to work'''%0a [=%0adoas mkdir /var/www/webmail%0adoas mkdir /var/www/webmail/data%0adoas mkdir /var/www/webmail/attachments%0a%0adoas chown www:www /var/www/webmail%0adoas chown www:www /var/www/webmail/data%0adoas chown www:www /var/www/webmail/attachments%0a%0adoas chmod 700 /var/www/webmail%0adoas chmod 700 /var/www/webmail/data%0adoas chmod 700 /var/www/webmail/attachments%0a =]%0a%0a'''Installing the application on the server'''%0a [=%0acd ~/%0awget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0atar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0adoas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a%0acd /var/www/htdocs/%0adoas chown root:bin webmail%0adoas find ./webmail -type d -exec chmod 755 {} \;%0adoas find ./webmail -type f -exec chmod 644 {} \;%0adoas rm /var/www/htdocs/webmail/README %0adoas rm /var/www/htdocs/webmail/configure%0a =]%0a%0a'''PHP 7 compatibility fix'''%0a [=%0afunctions/global.php (451):%0afunction sqsession_is_active() {%0a if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a sqsession_start();%0a}%0a =]%0a%0a'''Configuring'''%0a [=%0adoas touch /var/www/htdocs/webmail/config/config.php%0adoas chown www:www /var/www/htdocs/webmail/config/config.php%0adoas chmod 400 /var/www/htdocs/webmail/config/config.php%0a =]%0a%0a[[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a +time=1628245920 +author:1628245920=baytuch +diff:1628245920:1600876328:=1d0%0a%3c (:redirect Squirrelmail.Install:)%0a138c137%0a%3c [[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a---%0a> [[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a\ No newline at end of file%0a +host:1628245920=38.87.162.8 +author:1600876328=miniontoby +csum:1600876328=removed * from "doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/" +diff:1600876328:1597780169:=111c111%0a%3c doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a---%0a> doas cp -r squirrelmail-webmail-1.4.22/* /var/www/htdocs/webmail/%0a +host:1600876328=145.132.146.30 +author:1597780169=baytuch +diff:1597780169:1597780124:=111c111%0a%3c doas cp -r squirrelmail-webmail-1.4.22/* /var/www/htdocs/webmail/%0a---%0a> doas cp -r squirrelmail-webmail-1.4.22/* /home/www/htdocs/webmail/%0a +host:1597780169=91.228.147.58 +author:1597780124=baytuch +diff:1597780124:1597779520:=136,137d135%0a%3c %0a%3c [[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a\ No newline at end of file%0a +host:1597780124=91.228.147.58 +author:1597779520=baytuch +diff:1597779520:1597779109:=6d5%0a%3c [=%0a14,15c13,14%0a%3c =]%0a%3c %0a---%0a> %0a> %0a18d16%0a%3c [=%0a69,71c67,68%0a%3c =]%0a%3c %0a%3c %0a---%0a> %0a> %0a77d73%0a%3c [=%0a86c82%0a%3c =]%0a---%0a> %0a92c88%0a%3c [=%0a---%0a> %0a104,105c100,101%0a%3c =]%0a%3c %0a---%0a> %0a> %0a107c103%0a%3c [=%0a---%0a> %0a119,122c115,117%0a%3c =]%0a%3c %0a%3c '''PHP 7 compatibility fix'''%0a%3c [=%0a---%0a> %0a> %0a> PHP 7 compatibility fix:%0a128,129c123,124%0a%3c =]%0a%3c %0a---%0a> %0a> %0a131c126%0a%3c [=%0a---%0a> %0a135c130%0a%3c =]%0a---%0a> %0a +host:1597779520=91.228.147.58 +author:1597779109=baytuch +diff:1597779109:1597778798:=4,5c4,5%0a%3c '''Create a new subdomain to host the application'''%0a%3c %0a---%0a> # Create a new subdomain to host the application%0a> %0a15,16c15%0a%3c '''Creating a new virtual host where applications will be hosted''''%0a%3c %0a---%0a> # Creating a new virtual host where applications will be hosted%0a72,73c71,72%0a%3c '''Configuring the certificate generation service'''%0a%3c %0a---%0a> # Configuring the certificate generation service%0a> %0a84,88c83,86%0a%3c (!)you must set new certs to virtual host config and restart httpd again%0a%3c %0a%3c %0a%3c '''Creating an environment for the application to work'''%0a%3c %0a---%0a> * you must set new certs to virtual host config and restart httpd again%0a> %0a> %0a> # Creating an environment for the application to work%0a102,103c100%0a%3c '''Installing the application on the server'''%0a%3c %0a---%0a> # Installing the application on the server%0a117c114%0a%3c PHP 7 compatibility fix:%0a---%0a> # PHP 7 compatibility fix:%0a125,126c122%0a%3c '''Configuring'''%0a%3c %0a---%0a> # Configuring%0a +host:1597779109=91.228.147.58 +author:1597778798=baytuch +diff:1597778798:1597778798:=1,126d0%0a%3c For the application to work, the mail system must already be configured and started on the server.%0a%3c %0a%3c %0a%3c # Create a new subdomain to host the application%0a%3c %0a%3c /var/nsd/zones/master/example.com.zone:%0a%3c ; webmail service%0a%3c webmail A 10.10.10.10%0a%3c webmail AAAA 2605:6400:30:faa1::%0a%3c %0a%3c doas rcctl -d restart nsd%0a%3c doas rcctl -d restart unbound%0a%3c %0a%3c %0a%3c # Creating a new virtual host where applications will be hosted%0a%3c /etc/httpd.conf:%0a%3c server "webmail.example.com.zone" {%0a%3c listen on * port 80%0a%3c #listen on * tls port 443%0a%3c #tls {%0a%3c # certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a%3c # key "/etc/ssl/private/webmail.example.com.org.key"%0a%3c #}%0a%3c directory index index.php%0a%3c root "/htdocs/webmail"%0a%3c location "/class/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/config/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/contrib/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/data/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/doc/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/functions/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/help/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/include/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/locale/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/po/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c log access "webmail_access.log"%0a%3c log error "webmail_error.log"%0a%3c }%0a%3c %0a%3c %0a%3c doas rcctl -d restart httpd%0a%3c %0a%3c %0a%3c # Configuring the certificate generation service%0a%3c %0a%3c /etc/acme-client.conf:%0a%3c domain webmail.example.com {%0a%3c domain key "/etc/ssl/private/webmail.example.com.key"%0a%3c domain certificate "/etc/ssl/webmail.example.com.crt"%0a%3c domain full chain certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a%3c sign with letsencrypt%0a%3c challengedir "/var/www/acme"%0a%3c }%0a%3c %0a%3c doas acme-client -Fv webmail.example.com%0a%3c * you must set new certs to virtual host config and restart httpd again%0a%3c %0a%3c %0a%3c # Creating an environment for the application to work%0a%3c doas mkdir /var/www/webmail%0a%3c doas mkdir /var/www/webmail/data%0a%3c doas mkdir /var/www/webmail/attachments%0a%3c %0a%3c doas chown www:www /var/www/webmail%0a%3c doas chown www:www /var/www/webmail/data%0a%3c doas chown www:www /var/www/webmail/attachments%0a%3c %0a%3c doas chmod 700 /var/www/webmail%0a%3c doas chmod 700 /var/www/webmail/data%0a%3c doas chmod 700 /var/www/webmail/attachments%0a%3c %0a%3c %0a%3c # Installing the application on the server%0a%3c cd ~/%0a%3c wget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a%3c tar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0a%3c doas cp -r squirrelmail-webmail-1.4.22/* /home/www/htdocs/webmail/%0a%3c %0a%3c cd /var/www/htdocs/%0a%3c doas chown root:bin webmail%0a%3c doas find ./webmail -type d -exec chmod 755 {} \;%0a%3c doas find ./webmail -type f -exec chmod 644 {} \;%0a%3c doas rm /var/www/htdocs/webmail/README %0a%3c doas rm /var/www/htdocs/webmail/configure%0a%3c %0a%3c %0a%3c # PHP 7 compatibility fix:%0a%3c functions/global.php (451):%0a%3c function sqsession_is_active() {%0a%3c if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a%3c sqsession_start();%0a%3c }%0a%3c %0a%3c %0a%3c # Configuring%0a%3c doas touch /var/www/htdocs/webmail/config/config.php%0a%3c doas chown www:www /var/www/htdocs/webmail/config/config.php%0a%3c doas chmod 400 /var/www/htdocs/webmail/config/config.php%0a%3c %0a +host:1597778798=91.228.147.58 blob - /dev/null blob + 9562bed828cff90b43b3a558dfe43a688e457e97 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Ssdp,del-1608037175 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608030983 +host=198.251.81.119 +name=Openbsd.Ssdp +rev=1 +targets= +text=%0a[@%0a16:47:17.409625 106.182.147.148 > 198.251.81.119: icmp: 106.182.147.148 udp port 1900 un%0areachable [icmp cksum ok] (ttl 247, id 33870, len 146)%0aE....N....(_j.....Qw..lE....E..vU.....]...Qwj......l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a%0a16:47:17.409684 179.56.76.72 > 198.251.81.119: icmp: 179.56.76.72 udp port 1900 unreacha%0able [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0aE.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a16:47:17.409773 86.47.127.77.1027 > 198.251.81.119.16546: [udp sum ok] udp 250 (DF) (ttl%0a 55, id 0, len 278)%0aE.....@.7.T.V/.M..Qw..@....aHTTP/1.1 200 OK%0aST:upnp:rootdevice%0aUSN:uuid:11111111-0000-c0a8-01fe-60319731f320::upnp:rootdevice%0aLocation:http://192.168.1.254:5555/DeviceDescription.xml%0aCache-Control:max-age=900%0aServer:Allegro-Software-RomUpnp/4.07 UPnP/1.0 IGD/1.00%0aExt:%0a%0a%0a16:47:17.409794 58.40.78.34 > 198.251.81.119: icmp: 58.40.78.34 udp port 1900 unreachabl%0ae [icmp cksum ok] (ttl 53, id 12306, len 146)%0aE...0...5...:(N"..Qw...2....E .v......S...Qw:(N"@..l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a16:47:17.409808 201.220.105.102 > 198.251.81.119: icmp: 201.220.105.102 udp port 1900 un%0areachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 13203, len 146)%0aE...3...6..[..if..Qw..gP....E(.v^M.....s...Qw..if...l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a%0a16:47:17.410013 106.182.104.110 > 198.251.81.119: icmp: 106.182.104.110 udp port 1900 un%0areachable [icmp cksum ok] (ttl 56, id 32493, len 146)%0aE...~...8...j.hn..Qw...2....E..v.2........Qwj.hn@..l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a%0a16:47:17.410155 201.221.194.96 > 198.251.81.119: icmp: 201.221.194.96 udp port 1900 unre%0aachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 56786, len 146)%0aE.......6.. ...`..Qw..gP....E(.v......~...Qw...`...l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a%0a16:47:17.410176 41.34.136.18 > 198.251.81.119: icmp: 41.34.136.18 udp port 1900 unreacha%0able [icmp cksum ok] [tos 0xe0] (ttl 49, id 53678, len 146)%0aE.......1..5)"....Qw..gP....E..vdy.....V..Qw)".....l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a%0a%0a@]%0a +time=1608030983 +author:1608030983=jrmu +diff:1608030983:1608030983:=1,75d0%0a%3c %0a%3c [@%0a%3c 16:47:17.409625 106.182.147.148 > 198.251.81.119: icmp: 106.182.147.148 udp port 1900 un%0a%3c reachable [icmp cksum ok] (ttl 247, id 33870, len 146)%0a%3c E....N....(_j.....Qw..lE....E..vU.....]...Qwj......l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.409684 179.56.76.72 > 198.251.81.119: icmp: 179.56.76.72 udp port 1900 unreacha%0a%3c ble [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c 16:47:17.409773 86.47.127.77.1027 > 198.251.81.119.16546: [udp sum ok] udp 250 (DF) (ttl%0a%3c 55, id 0, len 278)%0a%3c E.....@.7.T.V/.M..Qw..@....aHTTP/1.1 200 OK%0a%3c ST:upnp:rootdevice%0a%3c USN:uuid:11111111-0000-c0a8-01fe-60319731f320::upnp:rootdevice%0a%3c Location:http://192.168.1.254:5555/DeviceDescription.xml%0a%3c Cache-Control:max-age=900%0a%3c Server:Allegro-Software-RomUpnp/4.07 UPnP/1.0 IGD/1.00%0a%3c Ext:%0a%3c %0a%3c %0a%3c 16:47:17.409794 58.40.78.34 > 198.251.81.119: icmp: 58.40.78.34 udp port 1900 unreachabl%0a%3c e [icmp cksum ok] (ttl 53, id 12306, len 146)%0a%3c E...0...5...:(N"..Qw...2....E .v......S...Qw:(N"@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c 16:47:17.409808 201.220.105.102 > 198.251.81.119: icmp: 201.220.105.102 udp port 1900 un%0a%3c reachable [icmp cksum ok] [tos 0xc8] (ttl 54, id 13203, len 146)%0a%3c E...3...6..[..if..Qw..gP....E(.v^M.....s...Qw..if...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410013 106.182.104.110 > 198.251.81.119: icmp: 106.182.104.110 udp port 1900 un%0a%3c reachable [icmp cksum ok] (ttl 56, id 32493, len 146)%0a%3c E...~...8...j.hn..Qw...2....E..v.2........Qwj.hn@..l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410155 201.221.194.96 > 198.251.81.119: icmp: 201.221.194.96 udp port 1900 unre%0a%3c achable [icmp cksum ok] [tos 0xc8] (ttl 54, id 56786, len 146)%0a%3c E.......6.. ...`..Qw..gP....E(.v......~...Qw...`...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c 16:47:17.410176 41.34.136.18 > 198.251.81.119: icmp: 41.34.136.18 udp port 1900 unreacha%0a%3c ble [icmp cksum ok] [tos 0xe0] (ttl 49, id 53678, len 146)%0a%3c E.......1..5)"....Qw..gP....E..vdy.....V..Qw)".....l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c %0a%3c %0a%3c @]%0a +host:1608030983=198.251.81.119 blob - /dev/null blob + 9cd6d875f9a8f936a60c344b0865e46566648498 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sshbackdoor @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609330435 +host=198.251.81.119 +name=Openbsd.Sshbackdoor +rev=2 +targets= +text=(:title SSH Backdoor:)%0a%0aEach server should have a public, DDoS filtered IPv4 address and a hidden, unfiltered IPv4 address. The DDoS filtered IPv4 address should be used for receiving and sending packets for public services. The unfiltered IPv4 address should only allow ICMP packets, ssh, ntp packets, and outbound DNS. +time=1609330457 +title=SSH Backdoor +author:1609330457=jrmu +diff:1609330457:1609330435:=3c3%0a%3c Each server should have a public, DDoS filtered IPv4 address and a hidden, unfiltered IPv4 address. The DDoS filtered IPv4 address should be used for receiving and sending packets for public services. The unfiltered IPv4 address should only allow ICMP packets, ssh, ntp packets, and outbound DNS.%0a\ No newline at end of file%0a---%0a> Each server should have a public, DDoS filtered IPv4 address and a hidden, unfiltered IPv4 address. The DDoS filtered IPv4 address should be used for receiving and sending packets for public services. The unfiltered IPv4 address should only allow ICMP packets, ssh, and outbound DNS queries, and nothing else.%0a\ No newline at end of file%0a +host:1609330457=198.251.81.119 +author:1609330435=jrmu +diff:1609330435:1609330435:=1,3d0%0a%3c (:title SSH Backdoor:)%0a%3c %0a%3c Each server should have a public, DDoS filtered IPv4 address and a hidden, unfiltered IPv4 address. The DDoS filtered IPv4 address should be used for receiving and sending packets for public services. The unfiltered IPv4 address should only allow ICMP packets, ssh, and outbound DNS queries, and nothing else.%0a\ No newline at end of file%0a +host:1609330435=198.251.81.119 blob - /dev/null blob + a26b329dae1cf8e670e1128d41e9786b0a783143 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sshkeys @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1607336133 +host=38.87.162.8 +name=Openbsd.Sshkeys +rev=9 +targets= +text=(:redirect ssh.fingerprints:)%0aYou can use this script to quickly get the ssh fingerprints for all ssh keys:%0a%0a!! SSH Fingerprints%0a%0a[@%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a@]%0a%0aThe first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a%0a!! Generating SSH Keys%0a%0a[@%0a$ ssh-keygen -t ed25519%0aGenerating public/private ed25519 key pair.%0aEnter file in which to save the key (/home/username/.ssh/id_ed25519): %0aEnter passphrase (empty for no passphrase): %0aEnter same passphrase again: %0aYour identification has been saved in /home/username/ssh/id_ed25519%0aYour public key has been saved in /home/username/ssh/id_ed25519.pub%0aThe key fingerprint is:%0a...%0a@]%0a%0aSave the key fingerprint and image art, you will use it for verifying the key later.%0a%0aYou can repeat this process with other types of keys:%0a%0aNow, read ~/.ssh/id_ed25519.pub:%0a%0a[@%0a$ cat .ssh/id_ed25519.pub%0a@]%0a%0aYou will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a%0a[@%0a$ ssh username@example.ircnow.org%0a$ vi .ssh/authorized_keys%0a@]%0a%0a!! Alternative SSH Keys%0a%0aOn your desktop PC, you can generate other ssh key types:%0a%0a[@%0a$ ssh-keygen -t ecdsa -a 100%0a$ ssh-keygen -t rsa -b 4096 -o -a 100%0a@]%0a%0a!! Publish SSHFP%0a%0aTo publish ssh keys online, run:%0a%0a[@%0a$ ssh-keygen -r ircnow.org %0aircnow.org IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0aircnow.org IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0aircnow.org IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0aircnow.org IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0aircnow.org IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0aircnow.org IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0aircnow.org IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0aircnow.org IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a@]%0a%0aReplace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a +time=1628527366 +author:1628527366=jrmu +diff:1628527366:1613643862:=1d0%0a%3c (:redirect ssh.fingerprints:)%0a75c74%0a%3c Replace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a---%0a> Replace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a\ No newline at end of file%0a +host:1628527366=38.87.162.8 +author:1613643862=jrmu +diff:1613643862:1613642406:=56,74c56%0a%3c @]%0a%3c %0a%3c !! Publish SSHFP%0a%3c %0a%3c To publish ssh keys online, run:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -r ircnow.org %0a%3c ircnow.org IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0a%3c ircnow.org IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0a%3c ircnow.org IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0a%3c ircnow.org IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0a%3c ircnow.org IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0a%3c ircnow.org IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0a%3c ircnow.org IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0a%3c ircnow.org IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a%3c @]%0a%3c %0a%3c Replace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1613643862=198.251.81.119 +author:1613642406=jrmu +diff:1613642406:1613642131:=3,4d2%0a%3c !! SSH Fingerprints%0a%3c %0a17,18d14%0a%3c %0a%3c !! Generating SSH Keys%0a +host:1613642406=198.251.81.119 +author:1613642131=jrmu +diff:1613642131:1613642113:=44,45d43%0a%3c %0a%3c !! Alternative SSH Keys%0a +host:1613642131=198.251.81.119 +author:1613642113=jrmu +diff:1613642113:1612796766:=30,31d29%0a%3c You can repeat this process with other types of keys:%0a%3c %0a43,49d40%0a%3c @]%0a%3c %0a%3c On your desktop PC, you can generate other ssh key types:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ecdsa -a 100%0a%3c $ ssh-keygen -t rsa -b 4096 -o -a 100%0a +host:1613642113=198.251.81.119 +author:1612796766=jrmu +diff:1612796766:1612790170:=29,41d28%0a%3c %0a%3c Now, read ~/.ssh/id_ed25519.pub:%0a%3c %0a%3c [@%0a%3c $ cat .ssh/id_ed25519.pub%0a%3c @]%0a%3c %0a%3c You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a%3c %0a%3c [@%0a%3c $ ssh username@example.ircnow.org%0a%3c $ vi .ssh/authorized_keys%0a%3c @]%0a\ No newline at end of file%0a +host:1612796766=198.251.81.119 +author:1612790170=jrmu +diff:1612790170:1607336172:=14,28c14%0a%3c The first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ed25519%0a%3c Generating public/private ed25519 key pair.%0a%3c Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a%3c Enter passphrase (empty for no passphrase): %0a%3c Enter same passphrase again: %0a%3c Your identification has been saved in /home/username/ssh/id_ed25519%0a%3c Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a%3c The key fingerprint is:%0a%3c ...%0a%3c @]%0a%3c %0a%3c Save the key fingerprint and image art, you will use it for verifying the key later.%0a---%0a> The first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a\ No newline at end of file%0a +host:1612790170=198.251.81.119 +author:1607336172=jrmu +diff:1607336172:1607336133:= +host:1607336172=198.251.81.119 +author:1607336133=jrmu +diff:1607336133:1607336133:=1,14d0%0a%3c You can use this script to quickly get the ssh fingerprints for all ssh keys:%0a%3c %0a%3c [@%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c @]%0a%3c %0a%3c The first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a\ No newline at end of file%0a +host:1607336133=198.251.81.119 blob - /dev/null blob + 6f4b68cd49470afe2d4c969343858f9016adff9c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Stable @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609476748 +host=198.251.81.119 +name=Openbsd.Stable +rev=5 +targets=Ircnow.Servers +text=Team Procedure:%0a%0a# All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a# All team members '''must''' check support@fruit.ircnow.org emails daily%0a# For each action taken, report it on IRC%0a# For major changes, email the entire team by sending to support@fruit.ircnow.org%0a# Read all of the scrollback in the IRC team channel and read all team emails every day%0a# Check your username@ircnow.org email daily%0a# When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a# The team leader should assign each team member separate tasks to avoid collision%0a# If you need to work on another team member's task, make sure to notify that team member in advance +time=1612275938 +author:1612275938=jrmu +diff:1612275938:1609476865:=10c10%0a%3c # The team leader should assign each team member separate tasks to avoid collision%0a---%0a> # The team leader should assigned each team member separate tasks to avoid collision%0a +host:1612275938=198.251.81.119 +author:1609476865=jrmu +diff:1609476865:1609476830:=10c10%0a%3c # The team leader should assigned each team member separate tasks to avoid collision%0a---%0a> # Each team member should be assigned separate tasks to avoid collision%0a +host:1609476865=198.251.81.119 +author:1609476830=jrmu +diff:1609476830:1609476764:=5,7c5,6%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the IRC team channel and read all team emails every day%0a---%0a> # For each action taken, report it on irc; for major successfully completed changes, email the entire team by sending to support@fruit.ircnow.org%0a> # Read all of the scrollback in the team channel and all team emails every day%0a10,11c9%0a%3c # Each team member should be assigned separate tasks to avoid collision%0a%3c # If you need to work on another team member's task, make sure to notify that team member in advance%0a\ No newline at end of file%0a---%0a> # Each team member should be assigned separate tasks to avoid collision; if you need to work on another team member's task, make sure to notify that team member in advance%0a\ No newline at end of file%0a +host:1609476830=198.251.81.119 +author:1609476764=jrmu +diff:1609476764:1609476748:= +host:1609476764=198.251.81.119 +author:1609476748=jrmu +diff:1609476748:1609476748:=1,9d0%0a%3c Team Procedure:%0a%3c %0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a%3c # For each action taken, report it on irc; for major successfully completed changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the team channel and all team emails every day%0a%3c # Check your username@ircnow.org email daily%0a%3c # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a%3c # Each team member should be assigned separate tasks to avoid collision; if you need to work on another team member's task, make sure to notify that team member in advance%0a\ No newline at end of file%0a +host:1609476748=198.251.81.119 blob - /dev/null blob + a167465d56be6a83c67e738bed77e0989c315f60 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Staticnet @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597203404 +host=38.87.162.8 +name=Openbsd.Staticnet +rev=7 +targets=Openbsd.Ping,Openbsd.Netcat,Openbsd.Traceroute +text=(:redirect hostnameif.static:)%0a(:title Configuring Static Networking:)%0a%0aMost computer users don't have to deal with networking because they use DHCP, where the router automatically figures out and assign IP addresses to each device. However, if you are running a server, it's important to configure static networking so that your IP addresses don't change in an unpredictable manner. Static networking is preferred to get reliable IPv4 and IPv6 networking.%0a%0aIf you chose DHCP when first installing OpenBSD, you will need to follow the steps below to configure the networking manually.%0a%0a'''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use VNC in case ssh stops working.%0a%0a!! hostname.if%0a%0aOpenBSD requires one hostname.if per networking interface, where the letters 'if' are replaced with an abbreviation followed by a device number. For example, if you have a virtio networking interface, it will be abbreviated by vio, so you will need an /etc/hostname.vio0 file.%0a%0aInside /etc/hostname.if (where you replace if with your device), you should put something similar to the following lines:%0a%0a[@%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0ainet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0ainet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0ainet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0ainet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a@]%0a%0aNote: Do '''not''' use those exact IP addresses. Use the real IP addresses you were assigned by your ISP.%0a%0aLet's look at the first two lines:%0a%0a[@%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0a@]%0a%0aThe first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%0aIt makes sense to have an aliased IP address when two or more IP addresses share the exact same networking interface. You will see this being done if you have one normal IPv4 address and a DDoS filtered IPv4 address. Both of them actually share the same networking interface, so the unfiltered IPv4 address is actually an alias of the filtered one.%0a%0aLet's look at lines 3 and 4:%0a%0a[@%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a@]%0a%0aThe first line sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. Each time you need a new IPv6 address, just add a new aliased IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%0aIn the file /etc/mygate, you specify the default gateway:%0a%0a[@%0a192.168.1.1%0a2001:0db8:0000:0000::1%0a@]%0a%0aThe default gateway is the router that your server is connected to. This is where all the IP packets from your server will immediately forward its packets to. The default gateway will be provided by your ISP.%0a%0aTo restart networking, run:%0a%0a[@%0a$ doas sh /etc/netstart%0a@]%0a%0aIf this doesn't properly reset the networking, you can do the following:%0a%0a'''WARNING''': This will definitely disconnect all network connections.%0a%0a[@%0a$ doas ifconfig if0 down%0a$ doas route flush%0a$ doas sh /etc/netstart%0a@]%0a%0aNote: Make sure to replace if0 with your real device.%0a%0a!! ifconfig%0a%0aYou can add new IPv4 addresses on the fly, without rebooting, by using ifconfig:%0a%0a[@%0a$ doas ifconfig if0 alias 192.168.1.3 255.255.255.0%0a@]%0a%0aFor IPv6:%0a%0a[@%0a$ doas ifconfig if0 inet6 2001:0db8::/48%0a@]%0a%0aTo delete an IPv4 address:%0a%0a[@%0a$ doas ifconfig if0 192.168.1.3 delete%0a@]%0a%0aTo delete the IPv6 address:%0a%0a[@%0a$ doas ifconfig if0 inet6 2001:0db8::/48 delete%0a@]%0a%0aNote: replace if0 with your specific interface, and replace the IP addresses and subnet masks.%0a%0aTo test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a +time=1626112120 +title=Configuring Static Networking +author:1626112120=jrmu +diff:1626112120:1609088216:=1d0%0a%3c (:redirect hostnameif.static:)%0a104c103%0a%3c To test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a---%0a> To test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a\ No newline at end of file%0a +host:1626112120=38.87.162.8 +author:1609088216=jrmu +diff:1609088216:1602296247:=80c80%0a%3c $ doas ifconfig if0 alias 192.168.1.3 255.255.255.0%0a---%0a> $ doas ifconfig if0 192.168.1.3 255.255.255.0%0a +host:1609088216=198.251.81.119 +author:1602296247=jrmu +diff:1602296247:1597223140:=86c86%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/48%0a---%0a> $ doas ifconfig if0 inet6 2001:0db8::/64%0a98c98%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/48 delete%0a---%0a> $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a +host:1602296247=38.81.163.143 +author:1597223140=jrmu +diff:1597223140:1597223105:=103c103%0a%3c To test if an IP address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a\ No newline at end of file%0a---%0a> To test if an IPv6 address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a\ No newline at end of file%0a +host:1597223140=38.81.163.143 +author:1597223105=jrmu +diff:1597223105:1597221508:=5,14c5,13%0a%3c If you chose DHCP when first installing OpenBSD, you will need to follow the steps below to configure the networking manually.%0a%3c %0a%3c '''WARNING''': Make sure you warn any connected users before attempting to change your networking. Any mistakes here can cause all your users to get disconnected. If you are worried about making mistakes, you should practice first on a separate server. Please also be prepared to use VNC in case ssh stops working.%0a%3c %0a%3c !! hostname.if%0a%3c %0a%3c OpenBSD requires one hostname.if per networking interface, where the letters 'if' are replaced with an abbreviation followed by a device number. For example, if you have a virtio networking interface, it will be abbreviated by vio, so you will need an /etc/hostname.vio0 file.%0a%3c %0a%3c Inside /etc/hostname.if (where you replace if with your device), you should put something similar to the following lines:%0a%3c %0a---%0a> If you chose DHCP when first installing OpenBSD, you will need to edit the networking configuration manually.%0a> %0a> OpenBSD requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a> %0a> %0a> %0a> %0a> Replace if with your own device name. Inside /etc/hostname.if0, put:%0a> %0a26,27d24%0a%3c Note: Do '''not''' use those exact IP addresses. Use the real IP addresses you were assigned by your ISP.%0a%3c %0a30c27%0a%3c [@%0a---%0a> %3ccode>%0a33,34c30,31%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a37,38d33%0a%3c It makes sense to have an aliased IP address when two or more IP addresses share the exact same networking interface. You will see this being done if you have one normal IPv4 address and a DDoS filtered IPv4 address. Both of them actually share the same networking interface, so the unfiltered IPv4 address is actually an alias of the filtered one.%0a%3c %0a41c36%0a%3c [@%0a---%0a> %3ccode>%0a44,50c39,45%0a%3c @]%0a%3c %0a%3c The first line sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. Each time you need a new IPv6 address, just add a new aliased IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c In the file /etc/mygate, you specify the default gateway:%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a> %0a> You will also need to specify the default gateway in /etc/mygate:%0a> %0a> %3ccode>%0a53,59c48,52%0a%3c @]%0a%3c %0a%3c The default gateway is the router that your server is connected to. This is where all the IP packets from your server will immediately forward its packets to. The default gateway will be provided by your ISP.%0a%3c %0a%3c To restart networking, run:%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> Sometimes, to restart networking, I will run:%0a> %0a> %3ccode>%0a61,85c54,62%0a%3c @]%0a%3c %0a%3c If this doesn't properly reset the networking, you can do the following:%0a%3c %0a%3c '''WARNING''': This will definitely disconnect all network connections.%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 down%0a%3c $ doas route flush%0a%3c $ doas sh /etc/netstart%0a%3c @]%0a%3c %0a%3c Note: Make sure to replace if0 with your real device.%0a%3c %0a%3c !! ifconfig%0a%3c %0a%3c You can add new IPv4 addresses on the fly, without rebooting, by using ifconfig:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 192.168.1.3 255.255.255.0%0a%3c @]%0a%3c %0a%3c For IPv6:%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> But this doesn't seem to properly reset the networking sometimes.%0a> %0a> Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a> %0a> If you later decide you want to add a new ipv6 address, use ifconfig:%0a> %0a> %3ccode>%0a87,94c64,65%0a%3c @]%0a%3c %0a%3c To delete an IPv4 address:%0a%3c %0a%3c [@%0a%3c $ doas ifconfig if0 192.168.1.3 delete%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a97c68%0a%3c [@%0a---%0a> %3ccode>%0a99,103c70,86%0a%3c @]%0a%3c %0a%3c Note: replace if0 with your specific interface, and replace the IP addresses and subnet masks.%0a%3c %0a%3c To test if an IPv6 address is working, you can use [[openbsd/ping|ping]], [[openbsd/netcat|netcat]], and [[openbsd/traceroute|traceroute]].%0a\ No newline at end of file%0a---%0a> %3c/code>%0a> %0a> Replace if0 with your specific interface.%0a> %0a> ----%0a> %0a> To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a> %0a> %3ccode>%0a> $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a> nick newnick%0a> user newuser * * :newuser%0a> PING :12345%0a> PONG :12345%0a> %3c/code>%0a> %0a> If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597223105=38.81.163.143 +author:1597221508=jrmu +diff:1597221508:1597203404:=1,11c1,6%0a%3c (:title Configuring Static Networking:)%0a%3c %0a%3c Most computer users don't have to deal with networking because they use DHCP, where the router automatically figures out and assign IP addresses to each device. However, if you are running a server, it's important to configure static networking so that your IP addresses don't change in an unpredictable manner. Static networking is preferred to get reliable IPv4 and IPv6 networking.%0a%3c %0a%3c If you chose DHCP when first installing OpenBSD, you will need to edit the networking configuration manually.%0a%3c %0a%3c OpenBSD requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> %0a> %0a> If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a> %0a> Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a> %0a22a18,44%0a> inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a> inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a> inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a> inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a> inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a> inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a> inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a> inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a> inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a> inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a> inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a> inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a> inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a> inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a> inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a> inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a> inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a> inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a> inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a> inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a> inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a> inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a> inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a> inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a> inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a> inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a> inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a +host:1597221508=38.81.163.143 +author:1597203404=jrmu +diff:1597203404:1597203404:=1,108d0%0a%3c %0a%3c %0a%3c If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a%3c %0a%3c Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%3c %0a%3c Replace if with your own device name. Inside /etc/hostname.if0, put:%0a%3c %0a%3c [@%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a%3c inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a%3c inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a%3c inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a%3c inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a%3c inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a%3c inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a%3c inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a%3c inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a%3c inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a%3c inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a%3c inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a%3c inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a%3c inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a%3c inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a%3c inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a%3c inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a%3c inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a%3c inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a%3c inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a%3c inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a%3c inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a%3c inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a%3c inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a%3c inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a%3c inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a%3c inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a%3c @]%0a%3c %0a%3c Let's look at the first two lines:%0a%3c %0a%3c %3ccode>%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c %3c/code>%0a%3c %0a%3c The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%3c %0a%3c Let's look at lines 3 and 4:%0a%3c %0a%3c %3ccode>%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c %3c/code>%0a%3c %0a%3c The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c You will also need to specify the default gateway in /etc/mygate:%0a%3c %0a%3c %3ccode>%0a%3c 192.168.1.1%0a%3c 2001:0db8:0000:0000::1%0a%3c %3c/code>%0a%3c %0a%3c Sometimes, to restart networking, I will run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas sh /etc/netstart%0a%3c %3c/code>%0a%3c %0a%3c But this doesn't seem to properly reset the networking sometimes.%0a%3c %0a%3c Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a%3c %0a%3c If you later decide you want to add a new ipv6 address, use ifconfig:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64%0a%3c %3c/code>%0a%3c %0a%3c To delete the IPv6 address:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a%3c %3c/code>%0a%3c %0a%3c Replace if0 with your specific interface.%0a%3c %0a%3c ----%0a%3c %0a%3c To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%3c %0a%3c %3ccode>%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c %3c/code>%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597203404=38.81.163.143 blob - /dev/null blob + bc69920838c5d3c0f79fb5f7b7d48b3e141044db (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sudo,del-1604493499 @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1604493397 +host=38.81.163.7 +name=Openbsd.Sudo +rev=4 +targets= +text=(: delete:) +time=1604493460 +author:1604493460=jrmu +diff:1604493460:1604493445:=1c1%0a%3c (: delete:)%0a\ No newline at end of file%0a---%0a> (:delete:)%0a\ No newline at end of file%0a +host:1604493460=38.81.163.7 +author:1604493445=jrmu +diff:1604493445:1604493429:=1d0%0a%3c (:delete:)%0a\ No newline at end of file%0a +host:1604493445=38.81.163.7 +author:1604493429=jrmu +diff:1604493429:1604493397:=0a1%0a> OpenBSD does not use sudo by default. Please use [[openbsd/doas|doas]]. You will want to avoid running everything as root.%0a\ No newline at end of file%0a +host:1604493429=38.81.163.7 +author:1604493397=jrmu +diff:1604493397:1604493397:=1d0%0a%3c OpenBSD does not use sudo by default. Please use [[openbsd/doas|doas]]. You will want to avoid running everything as root.%0a\ No newline at end of file%0a +host:1604493397=38.81.163.7 blob - /dev/null blob + 1c59421d1dc74de62a3ce1df36398924632651cb (mode 644) --- /dev/null +++ wiki.d/Openbsd.Syspatch @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745646 +host=198.251.81.119 +name=Openbsd.Syspatch +rev=3 +targets= +text=(:title Syspatch:)%0a%0a[[https://man.openbsd.org/syspatch|syspatch]] helps provide binary patches to OpenBSD.%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aSystem patching can be automated by setting up a cronjob:%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAt the bottom, add this line:%0a%0a[@%0a0 * * * * sleep $((RANDOM %25 43200)) && /usr/sbin/syspatch%0a@]%0a%0aA random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system. +time=1613300402 +title=Syspatch +author:1613300402=jrmu +diff:1613300402:1612242996:=1,3c1%0a%3c (:title Syspatch:)%0a%3c %0a%3c [[https://man.openbsd.org/syspatch|syspatch]] helps provide binary patches to OpenBSD.%0a---%0a> syspatch helps provide binary patches to OpenBSD.%0a +host:1613300402=198.251.81.119 +author:1612242996=jrmu +diff:1612242996:1597745646:=1,2c1,2%0a%3c syspatch helps provide binary patches to OpenBSD.%0a%3c %0a---%0a> syspatch helps provide binary patches to OpenBSD. Simply run:%0a> %0a7,8c7%0a%3c System patching can be automated by setting up a cronjob:%0a%3c %0a---%0a> This process can be automated by setting up a cronjob:%0a13,14d11%0a%3c At the bottom, add this line:%0a%3c %0a19c16%0a%3c A random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system.%0a\ No newline at end of file%0a---%0a> Notice that a random sleep has been inserted to ensure that the update starts at a unique time. This is designed to prevent all machines from running the exact same job at the exact same time, which would cause performance issues.%0a\ No newline at end of file%0a +host:1612242996=198.251.81.119 +author:1597745646=jrmu +diff:1597745646:1597745646:=1,16d0%0a%3c syspatch helps provide binary patches to OpenBSD. Simply run:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c This process can be automated by setting up a cronjob:%0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c [@%0a%3c 0 * * * * sleep $((RANDOM %25 43200)) && /usr/sbin/syspatch%0a%3c @]%0a%3c %0a%3c Notice that a random sleep has been inserted to ensure that the update starts at a unique time. This is designed to prevent all machines from running the exact same job at the exact same time, which would cause performance issues.%0a\ No newline at end of file%0a +host:1597745646=38.81.163.143 blob - /dev/null blob + dc23b1ce5a562b698ffe35ce118aa97e439f088c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sysupgrade68 @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607681987 +host=198.251.81.119 +name=Openbsd.Sysupgrade68 +rev=3 +targets=Openbsd.Dump,Openbsd.Restore,Openbsd.Cu,VPS.Intro,Openbsd.Buyvm,Openbsd.Top,Openbsd.Syspatch +text=(:title OpenBSD 6.8 Sysupgrade Guide:)%0a%0aThis is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a%0aFirst, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%0aNext, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%0a[@%0a$ doas sysupgrade%0a@]%0a%0aThe upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%0aAttach:upgrade68-1.png%0aAttach:upgrade68-2.png%0aAttach:upgrade68-3.png%0aAttach:upgrade68-4.png%0aAttach:upgrade68-5.png%0aAttach:upgrade68-6.png%0a%0aTo check if installation succeeded:%0a%0a[@%0a$ uname -a%0aOpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a@]%0a%0aTo check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%0aAttach:upgrade68-7.png%0a%0aYou will want to [[Openbsd/syspatch|patch]] the system:%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aThen, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%0a[@%0a$ doas sysmerge%0a@]%0a%0aThen, make sure to upgrade your packages:%0a%0a[@%0a$ doas pkg_add -u%0a@]%0a%0aRead and fix any error messages that you may see.%0a%0aYou will want to reboot after some patches:%0a%0a[@%0a$ doas shutdown -r now%0a@] +time=1607682421 +title=OpenBSD 6.8 Sysupgrade Guide +author:1607682421=jrmu +diff:1607682421:1607682074:=30,33d29%0a%3c %0a%3c To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%3c %0a%3c Attach:upgrade68-7.png%0a +host:1607682421=198.251.81.119 +author:1607682074=jrmu +diff:1607682074:1607681987:=1,3c1,3%0a%3c (:title OpenBSD 6.8 Sysupgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a---%0a> (:title OpenBSD 6.8 Upgrade Guide:)%0a> %0a> This is a quick upgrade guide for OpenBSD 6.8.%0a +host:1607682074=198.251.81.119 +author:1607681987=jrmu +diff:1607681987:1607681987:=1,55d0%0a%3c (:title OpenBSD 6.8 Upgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a%3c %0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%3c %0a%3c Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c %0a%3c [@%0a%3c $ doas sysupgrade%0a%3c @]%0a%3c %0a%3c The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%3c %0a%3c Attach:upgrade68-1.png%0a%3c Attach:upgrade68-2.png%0a%3c Attach:upgrade68-3.png%0a%3c Attach:upgrade68-4.png%0a%3c Attach:upgrade68-5.png%0a%3c Attach:upgrade68-6.png%0a%3c %0a%3c To check if installation succeeded:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a%3c @]%0a%3c %0a%3c You will want to [[Openbsd/syspatch|patch]] the system:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%3c %0a%3c [@%0a%3c $ doas sysmerge%0a%3c @]%0a%3c %0a%3c Then, make sure to upgrade your packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Read and fix any error messages that you may see.%0a%3c %0a%3c You will want to reboot after some patches:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a\ No newline at end of file%0a +host:1607681987=198.251.81.119 blob - /dev/null blob + f7115430f8380764f7901fe618f9dd7721f93792 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sysupgrade69 @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1620450651 +host=38.81.163.143 +name=Openbsd.Sysupgrade69 +rev=3 +targets=Openbsd.Dump,Openbsd.Restore,Openbsd.Cu,VPS.Intro,Openbsd.Buyvm,Openbsd.Top,Openbsd.Syspatch +text=(:title OpenBSD 6.9 Sysupgrade Guide:)%0a%0aThis is a quick upgrade guide for [[https://openbsd.org/69.html|OpenBSD 6.9]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade69.html|Upgrade Guide]].%0a%0aFirst, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.9 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%0aNext, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%0a[@%0a$ doas sysupgrade%0a@]%0a%0aThe upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%0aAttach:upgrade68-1.png%0aAttach:upgrade68-2.png%0aAttach:upgrade68-3.png%0aAttach:upgrade68-4.png%0aAttach:upgrade68-5.png%0aAttach:upgrade68-6.png%0a%0aTo check if installation succeeded:%0a%0a[@%0a$ uname -a%0aOpenBSD pear.my.domain 6.9 GENERIC.MP#98 amd64%0a@]%0a%0aTo check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%0aAttach:upgrade68-7.png%0a%0aYou will want to [[Openbsd/syspatch|patch]] the system:%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aThen, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%0a[@%0a$ doas sysmerge%0a@]%0a%0aThen, make sure to upgrade your packages:%0a%0a[@%0a$ doas pkg_add -Uu%0a@]%0a%0aRead and fix any error messages that you may see.%0a%0aYou will want to reboot after some patches:%0a%0a[@%0a$ doas shutdown -r now%0a@]%0a +time=1624600008 +title=OpenBSD 6.9 Sysupgrade Guide +author:1624600008=jrmu +diff:1624600008:1620450709:=5,6c5,6%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade69.html|Upgrade Guide]].%0a%3c %0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a> %0a59c59%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1624600008=38.81.163.143 +author:1620450709=bejelentkezni +diff:1620450709:1620450651:=1,4c1,4%0a%3c (:title OpenBSD 6.9 Sysupgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for [[https://openbsd.org/69.html|OpenBSD 6.9]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%3c %0a---%0a> (:title OpenBSD 6.8 Sysupgrade Guide:)%0a> %0a> This is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a> %0a7,8c7,8%0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.9 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%3c %0a---%0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a> %0a28c28%0a%3c OpenBSD pear.my.domain 6.9 GENERIC.MP#98 amd64%0a---%0a> OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a50c50%0a%3c $ doas pkg_add -Uu%0a---%0a> $ doas pkg_add -u%0a +host:1620450709=184.99.100.20 +author:1620450651=bejelentkezni +csum:1620450651=initial commit +diff:1620450651:1620450651:=1,59d0%0a%3c (:title OpenBSD 6.8 Sysupgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a%3c %0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%3c %0a%3c Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c %0a%3c [@%0a%3c $ doas sysupgrade%0a%3c @]%0a%3c %0a%3c The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%3c %0a%3c Attach:upgrade68-1.png%0a%3c Attach:upgrade68-2.png%0a%3c Attach:upgrade68-3.png%0a%3c Attach:upgrade68-4.png%0a%3c Attach:upgrade68-5.png%0a%3c Attach:upgrade68-6.png%0a%3c %0a%3c To check if installation succeeded:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a%3c @]%0a%3c %0a%3c To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%3c %0a%3c Attach:upgrade68-7.png%0a%3c %0a%3c You will want to [[Openbsd/syspatch|patch]] the system:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%3c %0a%3c [@%0a%3c $ doas sysmerge%0a%3c @]%0a%3c %0a%3c Then, make sure to upgrade your packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Read and fix any error messages that you may see.%0a%3c %0a%3c You will want to reboot after some patches:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a\ No newline at end of file%0a +host:1620450651=184.99.100.20 blob - /dev/null blob + 86e61824a965bf327c14d43938d1fd928be40d5f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Sysupgrade70 @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47 +author=mkf +charset=UTF-8 +csum=humans are easily confused. +ctime=1634278098 +host=188.210.99.18 +name=Openbsd.Sysupgrade70 +rev=3 +targets=Openbsd.Dump,Openbsd.Restore,Openbsd.Cu,VPS.Intro,Openbsd.Buyvm,Openbsd.Top,Openbsd.Syspatch +text=(:title OpenBSD 7.0 Sysupgrade Guide:)%0a%0aThis is a quick upgrade guide for [[https://openbsd.org/70.html|OpenBSD 7.0]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade70.html|Upgrade Guide]].%0a%0aFirst, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -r@@. If it says @@OpenBSD6.9@@, you need to upgrade. If it says @@7.0@@, or @@7.0-beta@@ you are on the most recent OS version.%0a%0aNext, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%0a[@%0a$ doas sysupgrade%0a@]%0a%0aThe upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%0aAttach:upgrade68-1.png%0aAttach:upgrade68-2.png%0aAttach:upgrade68-3.png%0aAttach:upgrade68-4.png%0aAttach:upgrade68-5.png%0aAttach:upgrade68-6.png%0a%0aTo check if installation succeeded:%0a%0a[@%0a$ uname -a%0aOpenBSD pear.my.domain 6.9 GENERIC.MP#98 amd64%0a@]%0a%0aTo check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%0aAttach:upgrade68-7.png%0a%0aYou will want to [[Openbsd/syspatch|patch]] the system:%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aThen, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%0a[@%0a$ doas sysmerge%0a@]%0a%0aThen, make sure to upgrade your packages:%0a%0a[@%0a$ doas pkg_add -Uu%0a@]%0a%0aRead and fix any error messages that you may see.%0a%0aYou will want to reboot after some patches:%0a%0a[@%0a$ doas shutdown -r now%0a@]%0a +time=1634295720 +title=OpenBSD 7.0 Sysupgrade Guide +author:1634295720=mkf +csum:1634295720=humans are easily confused. +diff:1634295720:1634278170:=7c7%0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -r@@. If it says @@OpenBSD6.9@@, you need to upgrade. If it says @@7.0@@, or @@7.0-beta@@ you are on the most recent OS version.%0a---%0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD username.example.com 6.9 GENERIC#5 amd64@@, you need to upgrade. If it says @@OpenBSD username.example.com 7.0 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a +host:1634295720=188.210.99.18 +author:1634278170=jrmu +diff:1634278170:1634278098:=7c7%0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD username.example.com 6.9 GENERIC#5 amd64@@, you need to upgrade. If it says @@OpenBSD username.example.com 7.0 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a---%0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.9 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a +host:1634278170=125.224.28.113 +author:1634278098=jrmu +diff:1634278098:1634278098:=1,59d0%0a%3c (:title OpenBSD 7.0 Sysupgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for [[https://openbsd.org/70.html|OpenBSD 7.0]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade70.html|Upgrade Guide]].%0a%3c %0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.9 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%3c %0a%3c Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c %0a%3c [@%0a%3c $ doas sysupgrade%0a%3c @]%0a%3c %0a%3c The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%3c %0a%3c Attach:upgrade68-1.png%0a%3c Attach:upgrade68-2.png%0a%3c Attach:upgrade68-3.png%0a%3c Attach:upgrade68-4.png%0a%3c Attach:upgrade68-5.png%0a%3c Attach:upgrade68-6.png%0a%3c %0a%3c To check if installation succeeded:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD pear.my.domain 6.9 GENERIC.MP#98 amd64%0a%3c @]%0a%3c %0a%3c To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%3c %0a%3c Attach:upgrade68-7.png%0a%3c %0a%3c You will want to [[Openbsd/syspatch|patch]] the system:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%3c %0a%3c [@%0a%3c $ doas sysmerge%0a%3c @]%0a%3c %0a%3c Then, make sure to upgrade your packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -Uu%0a%3c @]%0a%3c %0a%3c Read and fix any error messages that you may see.%0a%3c %0a%3c You will want to reboot after some patches:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a +host:1634278098=125.224.28.113 blob - /dev/null blob + 86d70eebe61084bd7782a6e0977f9e71bb2b1f74 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Tcltls @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609235593 +host=198.251.81.119 +name=Openbsd.Tcltls +rev=1 +targets= +text=(:title tcl-tls:)%0a%0aIf you are running a shell provider, you will need to build tcl-tls for eggdrop.%0a%0a[@%0a$ ftp https://core.tcl-lang.org/tcltls/uv/tcltls-1.7.22.tar.gz%0a$ tar xvzf tcltls-1.7.22.tar.gz%0a$ cd tcltls-1.7.22/%0a$ ./configure%0a$ make%0a$ doas make install%0a@]%0a +time=1609235593 +title=tcl-tls +author:1609235593=jrmu +diff:1609235593:1609235593:=1,12d0%0a%3c (:title tcl-tls:)%0a%3c %0a%3c If you are running a shell provider, you will need to build tcl-tls for eggdrop.%0a%3c %0a%3c [@%0a%3c $ ftp https://core.tcl-lang.org/tcltls/uv/tcltls-1.7.22.tar.gz%0a%3c $ tar xvzf tcltls-1.7.22.tar.gz%0a%3c $ cd tcltls-1.7.22/%0a%3c $ ./configure%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a +host:1609235593=198.251.81.119 blob - /dev/null blob + 15fb5309a2b27122da6f20974d92c3cd825ceb46 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Tcpackflood,del-1608201362 @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1608112794 +host=198.251.81.119 +name=Openbsd.Tcpackflood +rev=2 +targets=Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title TCP Ack Flood:)%0a%0a!! TCP Ack Flood%0a%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%0aHere are some other packets:%0a%0a[@%0a@]%0a%0aThis packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%0a[@%0aext_ip="192.168.0.1"%0ablock drop quick proto udp from any to $ext_ip port 1900%0a@]%0a%0aA better solution is to block all udp packets except for a few ports that you whitelist:%0a%0a[@%0aext_ip="192.168.0.1"%0apass in quick proto udp to $ext_ip port {domain ntp}%0ablock drop quick proto udp to $ext_ip port 1900%0a@]%0a%0aThis would whitelist DNS and NTP packets but drop all other UDP packets.%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1608112941 +title=TCP Ack Flood +author:1608112941=jrmu +diff:1608112941:1608112794:=1,5c1,6%0a%3c (:title TCP Ack Flood:)%0a%3c %0a%3c !! TCP Ack Flood%0a%3c %0a%3c %0a---%0a> (:title SSDP Attacks:)%0a> %0a> !! SSDP Attacks%0a> %0a> Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a> %0a10a12,17%0a> 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a> E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a17a25,40%0a> 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a> E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a> 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a> E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a> 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a> E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a> CACHE-CONTROL: max-age=1800%0a> DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a> EXT:%0a> LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a> OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a> 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a> SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a> X-User-Agent: redsonic%0a> ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a> USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a +host:1608112941=198.251.81.119 +author:1608112794=jrmu +diff:1608112794:1608112794:=1,68d0%0a%3c (:title SSDP Attacks:)%0a%3c %0a%3c !! SSDP Attacks%0a%3c %0a%3c Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a%3c [@%0a%3c 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a%3c E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a%3c 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a%3c E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a%3c 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a%3c E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: max-age=1800%0a%3c DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a%3c EXT:%0a%3c LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a%3c OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a%3c 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a%3c SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a%3c X-User-Agent: redsonic%0a%3c ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c @]%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a +host:1608112794=198.251.81.119 blob - /dev/null blob + 151c3197ddae8c72be851803ef5f7bb23458b5df (mode 644) --- /dev/null +++ wiki.d/Openbsd.Tcpdump @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597225574 +host=198.251.81.119 +name=Openbsd.Tcpdump +rev=18 +targets=Openbsd.RSTFlood,Openbsd.SYNFlood,Openbsd.SYNACKFlood +text=(:title tcpdump:)%0a%0a[[https://man.openbsd.org/tcpdump|tcpdump]] is a tool you will often use to troubleshoot networking problems. It's much more convenient than wireshark because you can use it on a server without a GUI. It can process enormous files very quickly and input and output can be processed using standard UNIX utilities.%0a%0a!! Basics%0a%0aThe simplest way to log network traffic is to run:%0a%0a[@%0a$ doas tcpdump -w YYYYMMDDSS.pcap%0a@]%0a%0aThis will log all network packets into the file @@YYYYMMDDSS.pcap@@. Replace YYYY with the year, MM with the month, DD with the day, and SS with the serial number.%0a%0a'''NOTE''': tcpdump requires you to run as root (use doas) when you are logging network traffic because normal users should not have permission to view this sensitive data.%0a%0aYou can choose which network interface to log by including the option -i:%0a%0a[@%0a$ doas tcpdump -i vio0 -w YYYYMMDDSS.pcap%0a@]%0a%0aThis logs only packets from vio0.%0a%0aTo stop collection, type [ctrl]+c, @@^C@@.%0a%0aTo read a pcap file, you use tcpdump with the -r option. I recommend also using -n to avoid doing hostname lookup (this dramatically speeds up tcpdump):%0a%0a[@%0a$ doas tcpdump -n -r YYYYMMDDSS.pcap%0a@]%0a%0aTo get more verbose output, use -v. This will include the time to live (TTL) and type of service (ToS) of the packet:%0a%0a[@%0a$ doas tcpdump -n -v -r YYYYMMDDSS.pcap%0a@]%0a%0aTo see the first 1500 bytes of data in ASCII format, add -s 1500 -A:%0a%0a[@%0a$ doas tcpdump -n -v -s 1500 -A -r YYYYMMDDSS.pcap%0a@]%0a%0a!! Filtering%0a%0aThe power of tcpdump lies in the ability to filter packets easily using english-like syntax:%0a%0aTo show only packets that are coming from or going to IP 10.0.0.1:%0a%0a[@%0a$ doas tcpdump 'host 10.0.0.1'%0a@]%0a%0aTo show only packets that have source IP 192.168.0.1, then to show only packets with destination IP 172.16.0.1:%0a[@%0a$ doas tcpdump 'src 192.168.0.1'%0a$ doas tcpdump 'dst 172.16.0.1'%0a@]%0a%0aYou can combine these with @@and &&@@, @@or ||@@, and @@not !@@.%0a%0aTo show only packets that have source IP 192.168.0.1 '''and''' destination IP 172.16.0.1%0a%0a[@%0a$ doas tcpdump 'src 192.168.0.1 && dst 172.16.0.1'%0a@]%0a%0aTo show only packets from network 192.168.0.0/24 headed for destination network 172.16.0.1/16 but no packets going to or from port 22:%0a%0a[@%0a$ doas tcpdump '(src net 192.168.0.0/24 and dst net 172.16.0.1/16) and !port 22'%0a@]%0a%0aThe keyword @@net@@ is used for specifying subnets and parentheses @@()@@ are used for grouping.%0a%0aTo show only traffic from certain protocols, use keywords like icmp or ip6. For example:%0a%0a[@%0a$ doas tcpdump '(udp || tcp) && portrange 6667-7000'%0a@]%0a%0aThis shows UDP and TCP packets that involve ports 6667 to 7000 (port ranges used for IRC).%0a%0aHere are two different ways for finding RST (reset) packets (see [[openbsd/RSTFlood|TCP RST flood]]):%0a%0a[@%0a$ doas tcpdump 'tcp[13]&4 != 0'%0a$ doas tcpdump 'tcp[tcpflags] == tcp-rst'%0a@]%0a%0aHere are two different ways for finding SYN packets (see [[openbsd/SYNFlood|SYN flood]]):%0a%0a[@%0a$ doas tcpdump 'tcp[13]&2 != 0'%0a$ doas tcpdump 'tcp[tcpflags] == tcp-syn'%0a@]%0a%0aHere's how to find SYN-ACK packets (see [[openbsd/SYNACKFlood|SYN-ACK flood]]):%0a%0a[@%0a$ doas tcpdump 'tcp[13] = 18'%0a@]%0a%0aHere's how to find ACK packets:%0a%0a[@%0a$ doas tcpdump 'tcp[13]&16 != 0'%0a$ doas tcpdump 'tcp[tcpflags] == tcp-ack'%0a@]%0a%0aAnd FIN packets:%0a%0a[@%0a$ doas tcpdump 'tcp[13]&1 != 0'%0a$ doas tcpdump 'tcp[tcpflags] == tcp-fin'%0a@]%0a%0aFind the evil bit, which is always malicious:%0a%0a[@%0a$ doas tcpdump 'ip[6]&128 != 0'%0a@]%0a%0a!! External Links%0a%0aMuch of this content was adapted from [[https://danielmiessler.com/study/tcpdump/|Daniel Miessler's TCPDump Guide]]%0a%0a!! See Also%0a%0a[[https://man.openbsd.org/tcpdump|tcpdump(8)]] +time=1608282725 +title=tcpdump +author:1608282725=jrmu +diff:1608282725:1608218414:=129,131c129%0a%3c !! See Also%0a%3c %0a%3c [[https://man.openbsd.org/tcpdump|tcpdump(8)]]%0a\ No newline at end of file%0a---%0a> !! See Also%0a\ No newline at end of file%0a +host:1608282725=198.251.81.119 +author:1608218414=jrmu +diff:1608218414:1608218227:=119,124d118%0a%3c Find the evil bit, which is always malicious:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'ip[6]&128 != 0'%0a%3c @]%0a%3c %0a127c121%0a%3c Much of this content was adapted from [[https://danielmiessler.com/study/tcpdump/|Daniel Miessler's TCPDump Guide]]%0a---%0a> [[https://danielmiessler.com/study/tcpdump/|Daniel Miessler's TCPDump Guide]]%0a +host:1608218414=198.251.81.119 +author:1608218227=jrmu +diff:1608218227:1608216888:=105,106c105,106%0a%3c Here's how to find ACK packets:%0a%3c %0a---%0a> Here's how to find FIN packets:%0a> %0a108,116c108%0a%3c $ doas tcpdump 'tcp[13]&16 != 0'%0a%3c $ doas tcpdump 'tcp[tcpflags] == tcp-ack'%0a%3c @]%0a%3c %0a%3c And FIN packets:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'tcp[13]&1 != 0'%0a%3c $ doas tcpdump 'tcp[tcpflags] == tcp-fin'%0a---%0a> $ doas tcpdump 'tcp[13]&8 != 0'%0a +host:1608218227=198.251.81.119 +author:1608216888=jrmu +diff:1608216888:1608216286:=84,109d83%0a%3c %0a%3c Here are two different ways for finding RST (reset) packets (see [[openbsd/RSTFlood|TCP RST flood]]):%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'tcp[13]&4 != 0'%0a%3c $ doas tcpdump 'tcp[tcpflags] == tcp-rst'%0a%3c @]%0a%3c %0a%3c Here are two different ways for finding SYN packets (see [[openbsd/SYNFlood|SYN flood]]):%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'tcp[13]&2 != 0'%0a%3c $ doas tcpdump 'tcp[tcpflags] == tcp-syn'%0a%3c @]%0a%3c %0a%3c Here's how to find SYN-ACK packets (see [[openbsd/SYNACKFlood|SYN-ACK flood]]):%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'tcp[13] = 18'%0a%3c @]%0a%3c %0a%3c Here's how to find FIN packets:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'tcp[13]&8 != 0'%0a%3c @]%0a +host:1608216888=198.251.81.119 +author:1608216286=jrmu +diff:1608216286:1608216023:=77,78c77,78%0a%3c To show only traffic from certain protocols, use keywords like icmp or ip6. For example:%0a%3c %0a---%0a> To show only traffic from a single protocol:%0a> %0a80c80,81%0a%3c $ doas tcpdump '(udp || tcp) && portrange 6667-7000'%0a---%0a> $ doas tcpdump icmp%0a> $ doas tcpdump ip6%0a83c84,86%0a%3c This shows UDP and TCP packets that involve ports 6667 to 7000 (port ranges used for IRC).%0a---%0a> The first line shows only ICMP packets and the second only IPv6.%0a> %0a> %0a +host:1608216286=198.251.81.119 +author:1608216023=jrmu +diff:1608216023:1608215901:=75,86c75%0a%3c The keyword @@net@@ is used for specifying subnets and parentheses @@()@@ are used for grouping.%0a%3c %0a%3c To show only traffic from a single protocol:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump icmp%0a%3c $ doas tcpdump ip6%0a%3c @]%0a%3c %0a%3c The first line shows only ICMP packets and the second only IPv6.%0a%3c %0a%3c %0a---%0a> The keyword net is used for specifying subnets and parentheses @@()@@ are used for grouping.%0a +host:1608216023=198.251.81.119 +author:1608215901=jrmu +diff:1608215901:1608213875:=68,75d67%0a%3c %0a%3c To show only packets from network 192.168.0.0/24 headed for destination network 172.16.0.1/16 but no packets going to or from port 22:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump '(src net 192.168.0.0/24 and dst net 172.16.0.1/16) and !port 22'%0a%3c @]%0a%3c %0a%3c The keyword net is used for specifying subnets and parentheses @@()@@ are used for grouping.%0a +host:1608215901=198.251.81.119 +author:1608213875=jrmu +diff:1608213875:1608213864:= +host:1608213875=198.251.81.119 +author:1608213864=jrmu +diff:1608213864:1608206767:=49,50d48%0a%3c To show only packets that are coming from or going to IP 10.0.0.1:%0a%3c %0a52c50%0a%3c $ doas tcpdump 'host 10.0.0.1'%0a---%0a> $ doas tcpdump host 1.1.1.1%0a54,68d51%0a%3c %0a%3c To show only packets that have source IP 192.168.0.1, then to show only packets with destination IP 172.16.0.1:%0a%3c [@%0a%3c $ doas tcpdump 'src 192.168.0.1'%0a%3c $ doas tcpdump 'dst 172.16.0.1'%0a%3c @]%0a%3c %0a%3c You can combine these with @@and &&@@, @@or ||@@, and @@not !@@.%0a%3c %0a%3c To show only packets that have source IP 192.168.0.1 '''and''' destination IP 172.16.0.1%0a%3c %0a%3c [@%0a%3c $ doas tcpdump 'src 192.168.0.1 && dst 172.16.0.1'%0a%3c @]%0a%3c %0a +host:1608213864=198.251.81.119 +author:1608206767=jrmu +diff:1608206767:1608204841:=49,51c49,50%0a%3c [@%0a%3c $ doas tcpdump host 1.1.1.1%0a%3c @]%0a---%0a> %0a> %0a +host:1608206767=125.231.22.25 +author:1608204841=jrmu +diff:1608204841:1608204707:= +host:1608204841=198.251.81.119 +author:1608204707=jrmu +diff:1608204707:1608204574:= +host:1608204707=198.251.81.119 +author:1608204574=jrmu +diff:1608204574:1608204366:=45,49c45,60%0a%3c !! Filtering%0a%3c %0a%3c The power of tcpdump lies in the ability to filter packets easily using english-like syntax:%0a%3c %0a%3c %0a---%0a> %0a> To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a> %0a> [@%0a> $ doas tcpdump -r YYYYMMDDSS.pcap%0a> @]%0a> %0a> or%0a> %0a> [@%0a> $ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a> @]%0a> %0a> If you want to inspect packets going through interface if0 going to or from example.com, then run:%0a> %0a> $ doas tcpdump -v -n -i if0 'host example.com'%0a +host:1608204574=198.251.81.119 +author:1608204366=jrmu +diff:1608204366:1608202897:=25,28c25,26%0a%3c To stop collection, type [ctrl]+c, @@^C@@.%0a%3c %0a%3c To read a pcap file, you use tcpdump with the -r option. I recommend also using -n to avoid doing hostname lookup (this dramatically speeds up tcpdump):%0a%3c %0a---%0a> I highly recommend %0a> %0a30c28%0a%3c $ doas tcpdump -n -r YYYYMMDDSS.pcap%0a---%0a> $ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a33,44c31,36%0a%3c To get more verbose output, use -v. This will include the time to live (TTL) and type of service (ToS) of the packet:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -n -v -r YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c To see the first 1500 bytes of data in ASCII format, add -s 1500 -A:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -n -v -s 1500 -A -r YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a---%0a> In the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a> %0a> To stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a> %0a> To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a> %0a +host:1608204366=198.251.81.119 +author:1608202897=jrmu +diff:1608202897:1608201702:=3,4c3,4%0a%3c [[https://man.openbsd.org/tcpdump|tcpdump]] is a tool you will often use to troubleshoot networking problems. It's much more convenient than wireshark because you can use it on a server without a GUI. It can process enormous files very quickly and input and output can be processed using standard UNIX utilities.%0a%3c %0a---%0a> tcpdump is a tool you will often use to troubleshoot networking problems. It's much more convenient than wireshark because you can use it on a server without a GUI. It can process enormous files very quickly and input and output can be processed using standard UNIX utilities.%0a> %0a7,8c7,9%0a%3c The simplest way to log network traffic is to run:%0a%3c %0a---%0a> %0a> If you suspect an attack, you should log the packets that are coming in:%0a> %0a13,25c14,17%0a%3c This will log all network packets into the file @@YYYYMMDDSS.pcap@@. Replace YYYY with the year, MM with the month, DD with the day, and SS with the serial number.%0a%3c %0a%3c '''NOTE''': tcpdump requires you to run as root (use doas) when you are logging network traffic because normal users should not have permission to view this sensitive data.%0a%3c %0a%3c You can choose which network interface to log by including the option -i:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -w YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c This logs only packets from vio0.%0a%3c %0a%3c I highly recommend %0a---%0a> This will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a> %0a> You can fine-tune this:%0a> %0a +host:1608202897=198.251.81.119 +author:1608201702=jrmu +diff:1608201702:1607945928:=1,36c1%0a%3c (:title tcpdump:)%0a%3c %0a%3c tcpdump is a tool you will often use to troubleshoot networking problems. It's much more convenient than wireshark because you can use it on a server without a GUI. It can process enormous files very quickly and input and output can be processed using standard UNIX utilities.%0a%3c %0a%3c !! Basics%0a%3c %0a%3c %0a%3c If you suspect an attack, you should log the packets that are coming in:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -w YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c This will log the packets onto the file @@YYYYMMDDSS.pcap@@, where YYYY is the year, MM is the month, DD is the day, and SS is the serial number.%0a%3c %0a%3c You can fine-tune this:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -w YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c In the above command, the argument -i specifies the interface @@vio0@@, -s 1500 analyzes the first 1500 bytes, -A prints each packet in ASCII, -v provides more verbose output, and -n avoids address conversion. Make sure to read up on [[openbsd/tcpdump|tcpdump]].%0a%3c %0a%3c To stop collection, type [ctrl]+c, @@^C@@. If you log for a few seconds and only receive a few hundred packets, perhaps you are '''not''' under attack. If, however, you see millions of packets arriving within a few seconds, you are certainly under attack. Save the pcap file because it is very useful for forensics. We will use it for reporting the attacker and for blocking his attacks.%0a%3c %0a%3c To read the pcap, you can transfer the pcap to your desktop using [[openbsd/scp|scp]] or [[openbsd/sftp|sftp]]. Or, more quickly, you can analyze it on the server itself using tcpdump. Use the same options but replace -w with -r:%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -r YYYYMMDDSS.pcap%0a%3c @]%0a%3c %0a%3c or%0a%3c %0a%3c [@%0a%3c $ doas tcpdump -i vio0 -s 1500 -A -v -n -r YYYYMMDDSS.pcap%0a%3c @]%0a---%0a> tcpdump is invaluable for troubleshooting networking.%0a +host:1608201702=198.251.81.119 +author:1607945928=jrmu +diff:1607945928:1597225574:=5,11c5%0a%3c $ doas tcpdump -v -n -i if0 'host example.com'%0a%3c %0a%3c !! External Links%0a%3c %0a%3c [[https://danielmiessler.com/study/tcpdump/|Daniel Miessler's TCPDump Guide]]%0a%3c %0a%3c !! See Also%0a\ No newline at end of file%0a---%0a> $ doas tcpdump -v -n -i if0 'host example.com'%0a\ No newline at end of file%0a +host:1607945928=198.251.81.119 +author:1597225574=jrmu +diff:1597225574:1597225574:=1,5d0%0a%3c tcpdump is invaluable for troubleshooting networking.%0a%3c %0a%3c If you want to inspect packets going through interface if0 going to or from example.com, then run:%0a%3c %0a%3c $ doas tcpdump -v -n -i if0 'host example.com'%0a\ No newline at end of file%0a +host:1597225574=38.81.163.143 blob - /dev/null blob + 307a29d94fdaec2020a526344d15b4fca0bc0e48 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Tcpip @@ -0,0 +1,29 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=fmt +ctime=1597216592 +host=203.129.25.247 +name=Openbsd.Tcpip +rev=5 +targets= +text=(:title TCP/IP Overview:)%0a%0aEvery computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%0a'''TCP''' is used when we need to send data in a '''reliable''' way. For example, email uses TCP because every word in a letter is important. '''UDP''' is used when some data loss is acceptable and '''speed''' is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%0aIP is used to carry packets of information. Inside those packets, we have different data that follows different protocols depending upon the application. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%0aTCP/IP relies on client-server architecture. One side will act as the '''server''', and another side the '''client'''. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a%0a!! IP Addresses%0a%0aEach computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%0aEvery client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, suppose you send a request to a web server with IP 192.168.0.1 on port 443 using TCP. If the web server is instead listening on a different socket (IP 192.168.0.1 port 80 using TCP), the web server will '''not''' to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP address, port, or protocol type is wrong, the client-server connection will not work.%0a%0aIP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a%0aServers sometimes ask you to '''bind''' to an IP address. This means that the server will listen and send packets using only that IP address. This can be important if your server has multiple IP addresses it can choose from; you may only want to use one for your server.%0a%0a!! Subnets%0a%0aIPv4 addresses are written as four numbers separated by periods (dotted-quad notation). They are, however, stored on the computer using binary. For example, 192.168.0.1 in binary could be represented as 11000000.10101000.00000000.00000001. Each IPv4 address can be separated into a '''subnet identifier''' and a '''host identifier'''.%0a%0aThe Internet has billions of computers on it, so it is helpful to be able to divide all these computers into smaller subnetworks, or '''subnets''' for short. Once we group up all the computers into subnets, it will make it much easier to find a subnet, and then to find a computer inside the subnet. Routers use this in order to help with routing (delivering) packets to the right place.%0a%0aSuppose the first 24 bits of the IPv4 address are part of the subnet identifier. We would indicate this by adding /24 at the end of the IPv4 address: 192.168.0.1/24. This tells us that the first 24 bits of the IPv4 address indicate what subnet the address is a part of; and that the last 8 bits indicate the device on the subnet.%0a%0aComputers often use bitmasks in order to quickly calculate the subnet identifier and the host identifier. The '''subnet mask''' is basically a number where all the binary digits of the subnet are 1s, and the rest are 0s. So a /24 subnet mask could be described in three ways. In binary, it would be 11111111.11111111.11111111.00000000. In dotted-quad notation, it is 255.255.255.0. In hexadecimal, it is 0xffffff00. You will find this information very valuable later when you configure your network interface's subnet mask and default gateway.%0a%0a!! Special Addresses%0a%0aSome IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses. This address refers to your current computer itself. Instead of using the network to connect to another computer, you use the network to connect to yourself. Using a loopback address helps you test a network service without having to use the Internet. For example, you might install a web server and then view it locally by visiting http://127.0.0.1.%0a%0aNotice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a%0aThere are a few other reserved IP addresses you should also be aware of. For example, 192.0.0.0/24 refers to a private network that is not connected to the Internet. For this reason, an IP address like 192.168.0.1 can '''never''' be used for a public Internet service. +time=1597222001 +title=TCP/IP Overview +author:1597222001=gry +csum:1597222001=fmt +diff:1597222001:1597221130:minor=5,6c5,6%0a%3c '''TCP''' is used when we need to send data in a '''reliable''' way. For example, email uses TCP because every word in a letter is important. '''UDP''' is used when some data loss is acceptable and '''speed''' is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%3c %0a---%0a> TCP is used when we need to send data in a reliable way. For example, email uses TCP because every word in a letter is important. UDP is used when some data loss is acceptable and speed is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a> %0a9c9%0a%3c TCP/IP relies on client-server architecture. One side will act as the '''server''', and another side the '''client'''. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a---%0a> TCP/IP relies on client-server architecture. One side will act as the server, and another side the client. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a +host:1597222001=203.129.25.247 +author:1597221130=jrmu +diff:1597221130:1597220094:=18,19d17%0a%3c %0a%3c Servers sometimes ask you to '''bind''' to an IP address. This means that the server will listen and send packets using only that IP address. This can be important if your server has multiple IP addresses it can choose from; you may only want to use one for your server.%0a +host:1597221130=38.81.163.143 +author:1597220094=jrmu +diff:1597220094:1597219024:=8a9,10%0a> Each computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a> %0a11,14d12%0a%3c !! IP Addresses%0a%3c %0a%3c Each computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%3c %0a17,20d14%0a%3c IP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a%3c %0a%3c !! Subnets%0a%3c %0a29,35c23,27%0a%3c !! Special Addresses%0a%3c %0a%3c Some IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses. This address refers to your current computer itself. Instead of using the network to connect to another computer, you use the network to connect to yourself. Using a loopback address helps you test a network service without having to use the Internet. For example, you might install a web server and then view it locally by visiting http://127.0.0.1.%0a%3c %0a%3c Notice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a%3c %0a%3c There are a few other reserved IP addresses you should also be aware of. For example, 192.0.0.0/24 refers to a private network that is not connected to the Internet. For this reason, an IP address like 192.168.0.1 can '''never''' be used for a public Internet service.%0a\ No newline at end of file%0a---%0a> IP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a> %0a> Some IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses: they referr. Notice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a> %0a> reserved ip addresses%0a +host:1597220094=38.81.163.143 +author:1597219024=jrmu +diff:1597219024:1597216592:=5,26c5,26%0a%3c TCP is used when we need to send data in a reliable way. For example, email uses TCP because every word in a letter is important. UDP is used when some data loss is acceptable and speed is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%3c %0a%3c IP is used to carry packets of information. Inside those packets, we have different data that follows different protocols depending upon the application. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%3c %0a%3c Each computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%3c %0a%3c TCP/IP relies on client-server architecture. One side will act as the server, and another side the client. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a%3c %0a%3c Every client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, suppose you send a request to a web server with IP 192.168.0.1 on port 443 using TCP. If the web server is instead listening on a different socket (IP 192.168.0.1 port 80 using TCP), the web server will '''not''' to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP address, port, or protocol type is wrong, the client-server connection will not work.%0a%3c %0a%3c IPv4 addresses are written as four numbers separated by periods (dotted-quad notation). They are, however, stored on the computer using binary. For example, 192.168.0.1 in binary could be represented as 11000000.10101000.00000000.00000001. Each IPv4 address can be separated into a '''subnet identifier''' and a '''host identifier'''.%0a%3c %0a%3c The Internet has billions of computers on it, so it is helpful to be able to divide all these computers into smaller subnetworks, or '''subnets''' for short. Once we group up all the computers into subnets, it will make it much easier to find a subnet, and then to find a computer inside the subnet. Routers use this in order to help with routing (delivering) packets to the right place.%0a%3c %0a%3c Suppose the first 24 bits of the IPv4 address are part of the subnet identifier. We would indicate this by adding /24 at the end of the IPv4 address: 192.168.0.1/24. This tells us that the first 24 bits of the IPv4 address indicate what subnet the address is a part of; and that the last 8 bits indicate the device on the subnet.%0a%3c %0a%3c Computers often use bitmasks in order to quickly calculate the subnet identifier and the host identifier. The '''subnet mask''' is basically a number where all the binary digits of the subnet are 1s, and the rest are 0s. So a /24 subnet mask could be described in three ways. In binary, it would be 11111111.11111111.11111111.00000000. In dotted-quad notation, it is 255.255.255.0. In hexadecimal, it is 0xffffff00. You will find this information very valuable later when you configure your network interface's subnet mask and default gateway.%0a%3c %0a%3c IP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a%3c %0a%3c Some IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses: they referr. Notice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a%3c %0a---%0a> TCP is used when we need to send data in a reliable way (for example, email uses TCP because you don't want to lose any words!). UDP is used when some data loss is acceptable and speed is most important (for example, a slightly worse quality voice call is not a big deal). You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a> %0a> TCP/IP is used to carry basic packets. Inside those packets, we have different protocols to describe different applications. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a> %0a> Each computer has network interfaces to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports from 1 to 65535. When you combine an IP address with a port, you have a socket. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a> %0a> TCP/IP relies on client-server architecture. One thing will act as the server, and another the client. The client requests something, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a mysterious data center somewhere. The server is often an expensive, professional machine in an expensive data center, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. Your phone could even run a web server and deliver web pages. The important thing to remember is that the client requests information and a server responds to it. %0a> %0a> Every client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, if you request from a web server with IP 192.168.0.1 on port 443 using TCP, if the web server is listening on a different socket (IP 192.168.0.1 port 80 using TCP), your web server will '''not''' be able to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP addres, port, or protocol type is wrong, the client-server connection will not work.%0a> %0a> Internet Control Message Protocol (ICMP)%0a> IPv6%0a> %0a> Network address translation (NAT)%0a> DNS%0a> SSL/TLS%0a> subnetting%0a> Ethernet MAC address%0a> hex and /24%0a> for example , 0xffffff00%0a> Subnet Mask and Default Gateway%0a> %0a27a28,31%0a> %0a> loopback ip addresses: 127.0.0.0 to 127.255.255.255.%0a> %0a> Some devices have multiple network interfaces%0a\ No newline at end of file%0a +host:1597219024=38.81.163.143 +author:1597216592=jrmu +diff:1597216592:1597216592:=1,31d0%0a%3c (:title TCP/IP Overview:)%0a%3c %0a%3c Every computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%3c %0a%3c TCP is used when we need to send data in a reliable way (for example, email uses TCP because you don't want to lose any words!). UDP is used when some data loss is acceptable and speed is most important (for example, a slightly worse quality voice call is not a big deal). You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%3c %0a%3c TCP/IP is used to carry basic packets. Inside those packets, we have different protocols to describe different applications. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%3c %0a%3c Each computer has network interfaces to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports from 1 to 65535. When you combine an IP address with a port, you have a socket. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%3c %0a%3c TCP/IP relies on client-server architecture. One thing will act as the server, and another the client. The client requests something, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a mysterious data center somewhere. The server is often an expensive, professional machine in an expensive data center, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. Your phone could even run a web server and deliver web pages. The important thing to remember is that the client requests information and a server responds to it. %0a%3c %0a%3c Every client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, if you request from a web server with IP 192.168.0.1 on port 443 using TCP, if the web server is listening on a different socket (IP 192.168.0.1 port 80 using TCP), your web server will '''not''' be able to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP addres, port, or protocol type is wrong, the client-server connection will not work.%0a%3c %0a%3c Internet Control Message Protocol (ICMP)%0a%3c IPv6%0a%3c %0a%3c Network address translation (NAT)%0a%3c DNS%0a%3c SSL/TLS%0a%3c subnetting%0a%3c Ethernet MAC address%0a%3c hex and /24%0a%3c for example , 0xffffff00%0a%3c Subnet Mask and Default Gateway%0a%3c %0a%3c reserved ip addresses%0a%3c %0a%3c loopback ip addresses: 127.0.0.0 to 127.255.255.255.%0a%3c %0a%3c Some devices have multiple network interfaces%0a\ No newline at end of file%0a +host:1597216592=38.81.163.143 blob - /dev/null blob + 79d35c0d6f96b4aaa551f1dcea49bd8d7cd06146 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Tcpresetflood,del-1608201287 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608112791 +host=198.251.81.119 +name=Openbsd.Tcpresetflood +rev=1 +targets=Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title SSDP Attacks:)%0a%0a!! SSDP Attacks%0a%0aMany devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0aE.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0aHost:239.255.255.250:1900%0aST:ssdp:all%0aMan:"ssdp:discover"%0aMX:3%0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%0aHere are some other packets:%0a%0a[@%0a16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0aE..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0aE..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0aE.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0aCACHE-CONTROL: max-age=1800%0aDATE: Sat, 25 Jul 2020 00:47:17 GMT%0aEXT:%0aLOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0aOPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0aSERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0aX-User-Agent: redsonic%0aST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0aUSN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a@]%0a%0aThis packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%0a[@%0aext_ip="192.168.0.1"%0ablock drop quick proto udp from any to $ext_ip port 1900%0a@]%0a%0aA better solution is to block all udp packets except for a few ports that you whitelist:%0a%0a[@%0aext_ip="192.168.0.1"%0apass in quick proto udp to $ext_ip port {domain ntp}%0ablock drop quick proto udp to $ext_ip port 1900%0a@]%0a%0aThis would whitelist DNS and NTP packets but drop all other UDP packets.%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1608112791 +title=SSDP Attacks +author:1608112791=jrmu +diff:1608112791:1608112791:=1,68d0%0a%3c (:title SSDP Attacks:)%0a%3c %0a%3c !! SSDP Attacks%0a%3c %0a%3c Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a%3c [@%0a%3c 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a%3c E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a%3c 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a%3c E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a%3c 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a%3c E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: max-age=1800%0a%3c DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a%3c EXT:%0a%3c LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a%3c OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a%3c 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a%3c SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a%3c X-User-Agent: redsonic%0a%3c ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c @]%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a +host:1608112791=198.251.81.119 blob - /dev/null blob + bd65e9be6e326f5350a9a251cfff74b607367890 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Team @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609476962 +host=125.231.63.134 +name=Openbsd.Team +rev=7 +targets=Ircnow.Servers,Openbsd.Police,Openbsd.Ilines +text=Team Procedure:%0a%0a# All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a# For each action taken, report it on IRC to your team channel%0a# For major changes, email the entire team by sending to support@fruit.ircnow.org%0a# Read all of the scrollback in the IRC team channel and read all team emails every day%0a# Check your username@ircnow.org email daily%0a# When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a# The team leader should assigned each team member separate tasks to avoid collision%0a# If you need to work on another team member's task, make sure to notify that team member in advance%0a# Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and @@/msg *status broadcast %3cmsg>@@ on ZNC at least ten minutes in advance.%0a%0aIRC:%0a%0a# Be present on #ircnow on the networks you claim and help with customer support%0a# Be present on #opers for sensitive oper-related discussion%0a# Be present on #wheel to meet new teammates in training%0a%0aZNC:%0a%0a# Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a# Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a# If you see a user with frequent disconnects, fix his network connection for him.%0a# If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a%0aSMTP:%0a%0a# All team members '''must''' check support@fruit.ircnow.org emails daily +time=1609591405 +author:1609591405=jrmu +diff:1609591405:1609591293:=4c4,5%0a%3c # For each action taken, report it on IRC to your team channel%0a---%0a> # All team members '''must''' check support@fruit.ircnow.org emails daily%0a> # For each action taken, report it on IRC%0a24,28c25%0a%3c # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a%3c %0a%3c SMTP:%0a%3c %0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a\ No newline at end of file%0a---%0a> # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a +host:1609591405=125.231.63.134 +author:1609591293=jrmu +diff:1609591293:1609591183:=22d21%0a%3c # Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a +host:1609591293=125.231.63.134 +author:1609591183=jrmu +diff:1609591183:1609576903:=18,24c18%0a%3c # Be present on #wheel to meet new teammates in training%0a%3c %0a%3c ZNC:%0a%3c %0a%3c # Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a%3c # If you see a user with frequent disconnects, fix his network connection for him.%0a%3c # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a---%0a> # Be present on #wheel to meet new teammates in training%0a\ No newline at end of file%0a +host:1609591183=125.231.63.134 +author:1609576903=jrmu +diff:1609576903:1609513814:=11a12%0a> # Be present on #ircnow on the networks you claim and help with customer support%0a13,18d13%0a%3c %0a%3c IRC:%0a%3c %0a%3c # Be present on #ircnow on the networks you claim and help with customer support%0a%3c # Be present on #opers for sensitive oper-related discussion%0a%3c # Be present on #wheel to meet new teammates in training%0a\ No newline at end of file%0a +host:1609576903=125.231.63.134 +author:1609513814=jrmu +diff:1609513814:1609513716:=12,13c12%0a%3c # Be present on #ircnow on the networks you claim and help with customer support%0a%3c # Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and @@/msg *status broadcast %3cmsg>@@ on ZNC at least ten minutes in advance.%0a---%0a> # Be present on #ircnow on the networks you claim and help with customer support%0a\ No newline at end of file%0a +host:1609513814=198.251.81.119 +author:1609513716=jrmu +diff:1609513716:1609476962:=11,12c11%0a%3c # If you need to work on another team member's task, make sure to notify that team member in advance%0a%3c # Be present on #ircnow on the networks you claim and help with customer support%0a\ No newline at end of file%0a---%0a> # If you need to work on another team member's task, make sure to notify that team member in advance%0a\ No newline at end of file%0a +host:1609513716=198.251.81.119 +author:1609476962=jrmu +diff:1609476962:1609476962:=1,11d0%0a%3c Team Procedure:%0a%3c %0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the IRC team channel and read all team emails every day%0a%3c # Check your username@ircnow.org email daily%0a%3c # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a%3c # The team leader should assigned each team member separate tasks to avoid collision%0a%3c # If you need to work on another team member's task, make sure to notify that team member in advance%0a\ No newline at end of file%0a +host:1609476962=198.251.81.119 blob - /dev/null blob + 6457b12f30658d7bfc1976d7ac54b60e55dd4ae6 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Training @@ -0,0 +1,217 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1610213322 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=Openbsd.Training +rev=68 +targets=Shell.Shell,Unix101.Unix101,Unix201.Unix201,Unix301.Unix301,Unix401.Unix401,Perl.101,Unix601.Unix601,Ircnow.Goals,Ircnow.Roadmap,Freedom.Freedom,Ircnow.Constitution,Minutemin.Code,Minutemin.Creed,Minutemin.Duty,Openbsd.Doas,Openbsd.Syspatch,Tcpip.Overview,IPv4.Overview,IPv6.Overview,Ngircd.Install,Hopm.Install,Openbsd.Netcat,Openbsd.Ping,Openbsd.Dig,Openhttpd.Configure,Acme-client.Configure,Openbsd.Php,Openbsd.Pmwiki,Znc.Chroot,Openbsd.Relayd,Oidentd.Install,Openbsd.Dns,Openbsd.Vhost,Openbsd.Host,Openbsd.Unbound,Nsd.Configure,Openbsd.Staticnet,Openbsd.Opensmtpd,Openbsd.Spf,Openbsd.Dkimproxy,Openbsd.Dmarc,Opensmtpd.Openrelay,Openbsd.Dovecot,Openbsd.Team,Openbsd.Stable,Openbsd.Testing,Openbsd.Ongoing +text=(:title Minutemin Bootcamp:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a%0aWelcome to IRCNow!%0a%0a!! Before you apply%0a%0a# Sign up for a [[shell/shell|liberty shell]]%0a# [[unix101/unix101|Unix101]]: Learn the Command Line%0a# [[unix201/unix201|Unix201]]: Understand Network Civics%0a# [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a# [[unix401/unix401|Unix401]]: Shell Script%0a# [[perl/101|Perl101]]: Perl Scripting%0a# [[unix601/unix601|Unix601]]: Program in C%0a%0a!! Required for Training%0a%0a!!! Get Familiar with IRCNow Culture%0a%0a# Read up on our [[Ircnow/Goals|goals for IRC]]%0a# Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a# Learn about our commitment to [[Freedom/Freedom|user freedom]]%0a# Read and understand the [[Ircnow/Constitution|IRCNow Constitution]]%0a# Read the [[Minutemin/Code|Code of Honor]], the [[Minutemin/Creed|Server Creed]], and the [[Minutemin/Duty|Call of Duty]].%0a%0a!!! Learning Basic Utilities%0a%0a# Give yourself root powers using [[openbsd/doas|doas]]%0a# Patch your system using [[openbsd/syspatch|syspatch]]%0a# Read about basic [[tcpip/overview|TCP/IP networking]]%0a# Read about [[IPv4/overview|IPv4 networking]]%0a# Read about [[IPv6/overview|IPv6 networking]]%0a%0a!!! Setting up IRC%0a%0a# Setup [[ngircd/install|Ngircd]], your IRC server%0a# Configure [[hopm/install|hopm]], an open proxy monitor that detects and bans spammers%0a%0a!!! Network Troubleshooting%0a%0a# Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a# Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a# Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%0a!!! Setting up SSL%0a%0a# Configure your webserver, [[openhttpd/configure|openhttpd]]%0a# Get an SSL certificate to go with your web server with [[acme-client/configure|acme-client]]%0a%0a!!! Customizing your Web Server%0a%0a# Set up and configure [[openbsd/php|PHP]]%0a# Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a%0a!!! Installing a Bouncer%0a%0a# Set up [[znc/chroot|znc]], a bouncer we will provide for users%0a# Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a# Set up [[oidentd/install|oidentd]], which is needed to prevent abuse for the bouncer%0a%0a!!! Configuring DNS%0a%0a# Learn about [[openbsd/Dns|DNS fundamentals]]%0a# Learn how to configure a [[openbsd/vhost]]%0a# Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a# Configure your local caching nameserver using [[openbsd/unbound]]%0a# Configure your authoritative nameserver, [[nsd/configure|nsd]].%0a%0a!! Configuring Networking%0a%0a# Configure [[openbsd/staticnet|new IPv6 addresses]]%0a# Test basic connectivity with [[openbsd/ping|ping]]%0a%0a!!! Setting up a Mail Server%0a%0a# Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a# Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a# Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a# Double check to ensure you do not have an [[opensmtpd/openrelay|open mail relay]]%0a# Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a%0a!! Congratulations! Join the Team!%0a%0a# Read up on [[Openbsd/Team|team procedure]].%0a # and [[Openbsd/Stable]] server protocol.%0a # and [[Openbsd/Testing]] server protocol.%0a%0aPlease continue with [[openbsd/ongoing|ongoing training]]. +time=1637076647 +title=Minutemin Bootcamp +author:1637076647=Hawk +diff:1637076647:1631252051:minor=80c80%0a%3c # Double check to ensure you do not have an [[opensmtpd/openrelay|open mail relay]]%0a---%0a> # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a +host:1637076647=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1631252051=mkf +diff:1631252051:1616855208:=14c14%0a%3c # [[perl/101|Perl101]]: Perl Scripting%0a---%0a> # [[unix501/unix501|Unix501]]: Perl Script%0a +host:1631252051=2.178.154.172 +author:1616855208=chewy +diff:1616855208:1616854857:=68c68%0a%3c # Configure your authoritative nameserver, [[nsd/configure|nsd]].%0a---%0a> # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a +host:1616855208=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616854857=chewy +diff:1616854857:1616854816:=60c60%0a%3c # Set up [[oidentd/install|oidentd]], which is needed to prevent abuse for the bouncer%0a---%0a> # Set up [[oidentd/install]], which is needed to prevent abuse for the bouncer%0a +host:1616854857=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616854816=chewy +diff:1616854816:1616854683:=60c60%0a%3c # Set up [[oidentd/install]], which is needed to prevent abuse for the bouncer%0a---%0a> # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a +host:1616854816=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616854683=chewy +diff:1616854683:1616854227:=48,50c48,50%0a%3c # Configure your webserver, [[openhttpd/configure|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[acme-client/configure|acme-client]]%0a%3c %0a---%0a> # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a> # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a> %0a58c58%0a%3c # Set up [[znc/chroot|znc]], a bouncer we will provide for users%0a---%0a> # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a +host:1616854683=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616854227=jrmu +diff:1616854227:1616854130:=38c38%0a%3c # Configure [[hopm/install|hopm]], an open proxy monitor that detects and bans spammers%0a---%0a> # Configure [[hopm/install|homp]], an open proxy monitor that detects and bans spammers%0a +host:1616854227=198.251.81.44 +author:1616854130=chewy +diff:1616854130:1616853718:=38c38%0a%3c # Configure [[hopm/install|homp]], an open proxy monitor that detects and bans spammers%0a---%0a> # Configure [[openbsd/hopm|HOPM.Install]], an open proxy monitor that detects and bans spammers%0a +host:1616854130=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616853718=chewy +diff:1616853718:1616853595:=37c37%0a%3c # Setup [[ngircd/install|Ngircd]], your IRC server%0a---%0a> # Setup [[openbsd/ngircd|Ngircd Install Guide]], your IRC server%0a +host:1616853718=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616853595=chewy +diff:1616853595:1616853149:=37c37%0a%3c # Setup [[openbsd/ngircd|Ngircd Install Guide]], your IRC server%0a---%0a> # Setup [[openbsd/ngircd|Ngircd.Install]], your IRC server%0a +host:1616853595=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616853149=chewy +diff:1616853149:1616853049:=38c38%0a%3c # Configure [[openbsd/hopm|HOPM.Install]], an open proxy monitor that detects and bans spammers%0a---%0a> # Configure [[openbsd/hopm|hopm.install]], an open proxy monitor that detects and bans spammers%0a +host:1616853149=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616853049=chewy +diff:1616853049:1616852942:=38c38%0a%3c # Configure [[openbsd/hopm|hopm.install]], an open proxy monitor that detects and bans spammers%0a---%0a> # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a +host:1616853049=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616852942=chewy +diff:1616852942:1616852893:=37c37%0a%3c # Setup [[openbsd/ngircd|Ngircd.Install]], your IRC server%0a---%0a> # Setup [[openbsd/ngircd.install|Ngircd.Install]], your IRC server%0a +host:1616852942=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616852893=chewy +diff:1616852893:1616852733:=37c37%0a%3c # Setup [[openbsd/ngircd.install|Ngircd.Install]], your IRC server%0a---%0a> # Setup [[openbsd/ngircd|Ngircd.Install]], your IRC server%0a +host:1616852893=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1616852733=chewy +diff:1616852733:1614492020:=37c37%0a%3c # Setup [[openbsd/ngircd|Ngircd.Install]], your IRC server%0a---%0a> # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a +host:1616852733=2a02:1205:34c1:94e0:1519:e2fd:b709:801e +author:1614492020=jrmu +diff:1614492020:1614484183:=5c5%0a%3c Welcome to IRCNow!%0a---%0a> Welcome!%0a +host:1614492020=198.251.81.119 +author:1614484183=jrmu +diff:1614484183:1614483849:= +host:1614484183=198.251.81.119 +author:1614483849=jrmu +diff:1614483849:1614479553:=25c25%0a%3c # Read the [[Minutemin/Code|Code of Honor]], the [[Minutemin/Creed|Server Creed]], and the [[Minutemin/Duty|Call of Duty]].%0a---%0a> # Memorize and recite the [[Minutemin/Code|Code of Honor]] and the [[Minutemin/Creed|Server Creed]].%0a +host:1614483849=198.251.81.119 +author:1614479553=jrmu +diff:1614479553:1613314186:=25c25%0a%3c # Memorize and recite the [[Minutemin/Code|Code of Honor]] and the [[Minutemin/Creed|Server Creed]].%0a---%0a> # Memorize and recite the [[Minutemin/Code|Code of Honor]]%0a +host:1614479553=198.251.81.119 +author:1613314186=jrmu +diff:1613314186:1613292327:=9,16c9,10%0a%3c # Sign up for a [[shell/shell|liberty shell]]%0a%3c # [[unix101/unix101|Unix101]]: Learn the Command Line%0a%3c # [[unix201/unix201|Unix201]]: Understand Network Civics%0a%3c # [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a%3c # [[unix401/unix401|Unix401]]: Shell Script%0a%3c # [[unix501/unix501|Unix501]]: Perl Script%0a%3c # [[unix601/unix601|Unix601]]: Program in C%0a%3c %0a---%0a> # Please check out our [[shell/shell|liberty shell tutorials]] and finish the basic training%0a> %0a19,20c13,14%0a%3c !!! Get Familiar with IRCNow Culture%0a%3c %0a---%0a> !!! Get Familiar with the Culture%0a> %0a25,26c19,20%0a%3c # Memorize and recite the [[Minutemin/Code|Code of Honor]]%0a%3c %0a---%0a> # Memorize and recite the [[Openbsd/Netadmin|Admin Code of Honor]]%0a> %0a31,34c25,27%0a%3c # Read about basic [[tcpip/overview|TCP/IP networking]]%0a%3c # Read about [[IPv4/overview|IPv4 networking]]%0a%3c # Read about [[IPv6/overview|IPv6 networking]]%0a%3c %0a---%0a> # Get a quick overview of basic [[openbsd/tcpip|TCP/IP]] networking%0a> # Get introduced to [[Openbsd/IPv6|IPv6 networking]]%0a> %0a69,73d61%0a%3c %0a%3c !! Configuring Networking%0a%3c %0a%3c # Configure [[openbsd/staticnet|new IPv6 addresses]]%0a%3c # Test basic connectivity with [[openbsd/ping|ping]]%0a +host:1613314186=198.251.81.119 +author:1613292327=jrmu +diff:1613292327:1612243056:=2,3d1%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/minutemin.png%0a +host:1613292327=198.251.81.119 +author:1612243056=jrmu +diff:1612243056:1611541938:=22d21%0a%3c # Patch your system using [[openbsd/syspatch|syspatch]]%0a +host:1612243056=198.251.81.119 +author:1611541938=jrmu +diff:1611541938:1611539653:=29,34d28%0a%3c %0a%3c !!! Network Troubleshooting%0a%3c %0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a +host:1611541938=125.231.20.163 +author:1611539653=jrmu +diff:1611539653:1611539082:=68c68,70%0a%3c Please continue with [[openbsd/ongoing|ongoing training]].%0a\ No newline at end of file%0a---%0a> See Also:%0a> %0a> [[openbsd/ongoing|Ongoing training]]%0a\ No newline at end of file%0a +host:1611539653=125.231.20.163 +author:1611539082=jrmu +diff:1611539082:1611538863:=1c1%0a%3c (:title Minutemin Bootcamp:)%0a---%0a> (:title New Sysadmin Training:)%0a +host:1611539082=125.231.20.163 +author:1611538863=jrmu +diff:1611538863:1611538716:=62,63c62,63%0a%3c !! Congratulations! Join the Team!%0a%3c %0a---%0a> !!! Getting a %0a> %0a68,70c68,97%0a%3c See Also:%0a%3c %0a%3c [[openbsd/ongoing|Ongoing training]]%0a\ No newline at end of file%0a---%0a> !! Ongoing training%0a> %0a> # Practice installing [[openbsd/botnow|botnow]]%0a> # Learn the protocol for [[Openbsd/ZNCDaily|daily upkeep for ZNC]]%0a> %0a> # If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a> %0a> # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a> %0a> # Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a> # Install and configure [[openbsd/gotweb]], a got viewer for the web%0a> # Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a> # Set up and configure [[openbsd/pmwiki|pmwiki]], to set up your team wiki%0a> # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a> %0a> # Follow the [[openbsd/vmmuser|VMM User Guide]]%0a> # Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a> # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a> # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]] and [[openbsd/growfs|growing a disk partition]]%0a> # Learn how to [[openbsd/Staticnet|configure static networking]]%0a> %0a> # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a> # Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a> # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a> # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a> # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a> # Add IPSec VPNs with [[openbsd/iked|iked]]%0a> # Handle [[openbsd/RDNS|your own rDNS zone]] using nsd%0a> %0a> # Detect abusive users with the [[openbsd/police|policing guide]]%0a\ No newline at end of file%0a +host:1611538863=125.231.20.163 +author:1611538716=jrmu +diff:1611538716:1611538602:= +host:1611538716=125.231.20.163 +author:1611538602=jrmu +diff:1611538602:1611538248:=54,56c54,55%0a%3c !!! Setting up a Mail Server%0a%3c %0a%3c # Configure [[openbsd/opensmtpd|OpenSMTPd]], our mail server%0a---%0a> %0a> # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server%0a59a59%0a> %0a61,62d60%0a%3c %0a%3c !!! Getting a %0a +host:1611538602=125.231.20.163 +author:1611538248=jrmu +diff:1611538248:1611538170:=49,50d48%0a%3c # Learn how to configure a [[openbsd/vhost]]%0a%3c # Troubleshoot DNS issues with [[openbsd/host]] and [[openbsd/dig]]%0a53c51%0a%3c %0a---%0a> # Learn how to configure a [[openbsd/vhost]]%0a +host:1611538248=125.231.20.163 +author:1611538170=jrmu +diff:1611538170:1611538064:=48c48%0a%3c # Learn about [[openbsd/Dns|DNS fundamentals]]%0a---%0a> # Learn about [[openbsd/DNS|DNS fundamentals]]%0a +host:1611538170=125.231.20.163 +author:1611538064=jrmu +diff:1611538064:1611537372:=40,41d39%0a%3c !!! Installing a Bouncer%0a%3c %0a43c41%0a%3c # Configure [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a---%0a> # Use [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a46,49d43%0a%3c !!! Configuring DNS%0a%3c %0a%3c # Learn about [[openbsd/DNS|DNS fundamentals]]%0a%3c # Configure your local caching nameserver using [[openbsd/unbound]]%0a50a45%0a> # Configure your local caching nameserver using [[openbsd/unbound]]%0a +host:1611538064=125.231.20.163 +author:1611537372=jrmu +diff:1611537372:1611536161:=30,31d29%0a%3c !!! Setting up SSL%0a%3c %0a34,38d31%0a%3c %0a%3c !!! Customizing your Web Server%0a%3c %0a%3c # Set up and configure [[openbsd/php|PHP]]%0a%3c # Install [[openbsd/pmwiki|PMWiki]], your own private wiki%0a +host:1611537372=125.231.20.163 +author:1611536161=jrmu +diff:1611536161:1611535883:=24,26d23%0a%3c %0a%3c !!! Setting up IRC%0a%3c %0a +host:1611536161=125.231.20.163 +author:1611535883=jrmu +diff:1611535883:1611535645:= +host:1611535883=125.231.20.163 +author:1611535645=jrmu +diff:1611535645:1611535132:=17c17%0a%3c # Memorize and recite the [[Openbsd/Netadmin|Admin Code of Honor]]%0a---%0a> # Memorize and recite the [[Openbsd/Netadmin|Admin code of honor]]%0a +host:1611535645=125.231.20.163 +author:1611535132=jrmu +diff:1611535132:1611534753:=11,12d10%0a%3c !!! Get Familiar with the Culture%0a%3c %0a16d13%0a%3c # Read and understand the [[Ircnow/Constitution|IRCNow Constitution]]%0a18,19d14%0a%3c %0a%3c !!! Learning Basic Utilities%0a +host:1611535132=125.231.20.163 +author:1611534753=jrmu +diff:1611534753:1611462187:=5,6c5,6%0a%3c !! Before you apply%0a%3c %0a---%0a> !! Before your application%0a> %0a9,13c9,13%0a%3c !! Required for Training%0a%3c %0a%3c # Read up on our [[Ircnow/Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow/Roadmap|IRCNow's roadmap]]%0a%3c # Learn about our commitment to [[Freedom/Freedom|user freedom]]%0a---%0a> !! Required for Root Powers%0a> %0a> # Read up on our [[Ircnow.Goals|goals for IRC]]%0a> # Read up on [[Ircnow.Roadmap|IRCNow's roadmap]]%0a> # Learn about our commitment to [[Freedom.Freedom|user freedom]]%0a +host:1611534753=125.231.20.163 +author:1611462187=jrmu +diff:1611462187:1611457780:=71d70%0a%3c # Handle [[openbsd/RDNS|your own rDNS zone]] using nsd%0a +host:1611462187=125.231.20.163 +author:1611457780=jrmu +diff:1611457780:1611454461:=62c62%0a%3c # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]] and [[openbsd/growfs|growing a disk partition]]%0a---%0a> # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]]%0a +host:1611457780=125.231.20.163 +author:1611454461=jrmu +diff:1611454461:1611454331:=50,51d49%0a%3c %0a%3c # Learn how to use [[openbsd/sshkeys|ssh keys]] and the [[Openbsd/Sshbackdoor|ssh backdoor]]%0a +host:1611454461=125.231.20.163 +author:1611454331=jrmu +diff:1611454331:1611452841:=14d13%0a%3c # Memorize and recite the [[Openbsd/Netadmin|Admin code of honor]]%0a +host:1611454331=125.231.20.163 +author:1611452841=jrmu +diff:1611452841:1611452834:= +host:1611452841=125.231.20.163 +author:1611452834=jrmu +diff:1611452834:1611452756:=67,69c67%0a%3c # Add IPSec VPNs with [[openbsd/iked|iked]]%0a%3c %0a%3c # Detect abusive users with the [[openbsd/police|policing guide]]%0a\ No newline at end of file%0a---%0a> # Add IPSec VPNs with [[openbsd/iked|iked]]%0a\ No newline at end of file%0a +host:1611452834=125.231.20.163 +author:1611452756=jrmu +diff:1611452756:1611452709:=60d59%0a%3c # Learn how to [[openbsd/Staticnet|configure static networking]]%0a +host:1611452756=125.231.20.163 +author:1611452709=jrmu +diff:1611452709:1611452676:=59c59%0a%3c # Learn about [[openbsd/fdisk|fdisk]] and [[openbsd/disklabel|disklabel]], then practice [[openbsd/newdisk|adding a new disk]]%0a---%0a> # Practice [[openbsd/newdisk|adding a new disk]]%0a +host:1611452709=125.231.20.163 +author:1611452676=jrmu +diff:1611452676:1611452529:=59d58%0a%3c # Practice [[openbsd/newdisk|adding a new disk]]%0a +host:1611452676=125.231.20.163 +author:1611452529=jrmu +diff:1611452529:1611452477:=47,48d46%0a%3c %0a%3c # If your team claims a network which offers botnets as a service, read up on [[Openbsd/Wraith|Wraith]]%0a +host:1611452529=125.231.20.163 +author:1611452477=jrmu +diff:1611452477:1611452384:=45d44%0a%3c # Practice installing [[openbsd/botnow|botnow]]%0a +host:1611452477=125.231.20.163 +author:1611452384=jrmu +diff:1611452384:1611452310:=44,45d43%0a%3c %0a%3c # Learn the protocol for [[Openbsd/ZNCDaily|daily upkeep for ZNC]]%0a +host:1611452384=125.231.20.163 +author:1611452310=jrmu +diff:1611452310:1611452283:=53a54,55%0a> %0a> - For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a +host:1611452310=125.231.20.163 +author:1611452283=jrmu +diff:1611452283:1611452250:=53c53%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd]] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a---%0a> # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a +host:1611452283=125.231.20.163 +author:1611452250=jrmu +diff:1611452250:1611452195:=53c53%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a---%0a> # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a +host:1611452250=125.231.20.163 +author:1611452195=jrmu +diff:1611452195:1611452073:=17c17%0a%3c # Get introduced to [[Openbsd/IPv6|IPv6 networking]]%0a---%0a> # Get introduced to [[Openbsd/IPv6 networking]]%0a +host:1611452195=125.231.20.163 +author:1611452073=jrmu +diff:1611452073:1611452028:=49c49%0a%3c # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/PFStable|stable]] and [[openbsd/PFTesting|testing]] servers%0a---%0a> # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/pfstable|stable]] and [[openbsd/pftesting|testing]] servers%0a +host:1611452073=125.231.20.163 +author:1611452028=jrmu +diff:1611452028:1611451892:=49c49%0a%3c # Learn about [[Openbsd/pf|packet filter]] and configure a firewall for [[openbsd/pfstable|stable]] and [[openbsd/pftesting|testing]] servers%0a---%0a> # Configure and test your [[Openbsd/pf|firewall]]%0a +host:1611452028=125.231.20.163 +author:1611451892=jrmu +diff:1611451892:1611451678:=32,36c32,33%0a%3c # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server%0a%3c # Configure [[openbsd/spf|SPF]], [[openbsd/dkimproxy|DKIM]], and [[Openbsd/dmarc|DMARC]]%0a%3c # Send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a%3c # Double check to ensure you do not have an [[Openbsd/Mailopenproxy|open mail relay]]%0a%3c %0a---%0a> # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server, and send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a> %0a39c36%0a%3c # Read up on [[Openbsd/Team|team procedure]].%0a---%0a> # Read up on [[Openbsd/Team|team procedure].%0a53a51,52%0a> %0a> - jrmu has some website for email compliance check%0a +host:1611451892=125.231.20.163 +author:1611451678=jrmu +diff:1611451678:1611451367:=5,8d4%0a%3c !! Before your application%0a%3c %0a%3c # Please check out our [[shell/shell|liberty shell tutorials]] and finish the basic training%0a%3c %0a27a24%0a> #%0a52a50,51%0a> %0a> - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a +host:1611451678=125.231.20.163 +author:1611451367=jrmu +diff:1611451367:1611450958:=47c47%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade68|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a---%0a> # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a +host:1611451367=125.231.20.163 +author:1611450958=jrmu +diff:1611450958:1611449563:=44,47d43%0a%3c %0a%3c # Follow the [[openbsd/vmmuser|VMM User Guide]]%0a%3c # Reinstall [[openbsd/install68|OpenBSD 6.8]] on your VPS using the [[openbsd/vmminstall|VMM install guide]]%0a%3c # Upgrade [[openbsd/upgrade68|OpenBSD 6.8]] using [[openbsd/sysupgrade|sysupgrade]] and [[openbsd/bsdrd|/bsd.rd] using the [[openbsd/vmminstall|VMM upgrade guide]]%0a +host:1611450958=125.231.20.163 +author:1611449563=jrmu +diff:1611449563:1611449401:=51,56c51,61%0a%3c # Learn how to use [[openbsd/tcpdump|tcpdump]] to read network packets%0a%3c # Read the guide on [[openbsd/ddos|ddos defense]], practicing at home on a simulated lab where you have permission to test%0a%3c # Troubleshoot networking applications with [[openbsd/netcat|netcat]]%0a%3c # Troubleshoot basic networking connectivity with [[openbsd/ping|ping]]%0a%3c # Troubleshoot DNS servers and records with [[openbsd/dig|dig]]%0a%3c # Add IPSec VPNs with [[openbsd/iked|iked]]%0a\ No newline at end of file%0a---%0a> - ddos defense - to be added%0a> %0a> - tcpdump - to be added%0a> %0a> - netcat - to be added%0a> %0a> - ping - to be added%0a> %0a> - dig - to be added%0a> %0a> - iked - to be added%0a\ No newline at end of file%0a +host:1611449563=125.231.20.163 +author:1611449401=jrmu +diff:1611449401:1611449181:=5,6c5,6%0a%3c !! Required for Root Powers%0a%3c %0a---%0a> !! Required%0a> %0a37,43c37,50%0a%3c !! Ongoing training%0a%3c %0a%3c # Install and configure your source control repo using [[openbsd/got|got]], a minimalist git clone%0a%3c # Install and configure [[openbsd/gotweb]], a got viewer for the web%0a%3c # Setup a chrooted [[openbsd/sftp]] user account for users' file storage%0a%3c # Set up and configure [[openbsd/pmwiki|pmwiki]], to set up your team wiki%0a%3c # Configure and test your [[Openbsd/pf|firewall]]%0a---%0a> %0a> %0a> !! Optional%0a> %0a> %0a> G. Hosting code:%0a> %0a> - gotweb - to be added%0a> %0a> - sftponly + PHP web hosting (in production at orange) - tutorial to be added%0a> %0a> Others:%0a> %0a> - [[Openbsd.pf]] - follow the tutorial; successfully block port 1337 (plain text znc port) then unblock it;%0a +host:1611449401=125.231.20.163 +author:1611449181=jrmu +diff:1611449181:1611449098:=13d12%0a%3c # Get introduced to [[Openbsd/IPv6 networking]]%0a +host:1611449181=125.231.20.163 +author:1611449098=jrmu +diff:1611449098:1611448934:=31,34d30%0a%3c %0a%3c # Read up on [[Openbsd/Team|team procedure].%0a%3c # and [[Openbsd/Stable]] server protocol.%0a%3c # and [[Openbsd/Testing]] server protocol.%0a +host:1611449098=125.231.20.163 +author:1611448934=jrmu +diff:1611448934:1611448683:=28,30c28,31%0a%3c # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server, and send an email message to your personal email address such as Gmail or Outlook. Also practice sending a message from your personal email to your mail server.%0a%3c %0a%3c # Install and configure [[Openbsd/Dovecot|Dovecot]], our IMAP server. Connect your email client to the server%0a---%0a> # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server, and send an email message to your personal email address such as GMail or Outlook.%0a> %0a> %0a> # [[Openbsd.dovecot]] - receive a test message%0a +host:1611448934=125.231.20.163 +author:1611448683=jrmu +diff:1611448683:1610213847:=12d11%0a%3c # Get a quick overview of basic [[openbsd/tcpip|TCP/IP]] networking%0a20d18%0a%3c # Use [[openbsd/relayd|relayd]] as a reverse proxy for your znc web panel%0a23d20%0a%3c #%0a28,34d24%0a%3c # Configure [[Openbsd/opensmtpd|OpenSMTPd]], our mail server, and send an email message to your personal email address such as GMail or Outlook.%0a%3c %0a%3c %0a%3c # [[Openbsd.dovecot]] - receive a test message%0a%3c %0a%3c %0a%3c %0a36a27,40%0a> # [[Openbsd/Eggdrop]] - install and join to #test with any tcl plugin you like%0a> %0a> %0a> - [[openbsd.oidentd]] - configure to use bouncer username for the user's ident%0a> %0a> E. Bouncer and httpd related (requires B, C, D):%0a> %0a> - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a> %0a> F. Email related:%0a> %0a> - [[Openbsd.dovecot]] - receive a test message%0a> %0a> - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address; send to a gmail address and stay in inbox%0a +host:1611448683=125.231.20.163 +author:1610213847=jrmu +diff:1610213847:1610213490:=5,6d4%0a%3c !! Required%0a%3c %0a12,20c10,11%0a%3c # Setup [[openbsd/ngircd|ngircd]], your IRC server%0a%3c # Configure [[openbsd/hopm|hopm]], an open proxy monitor that detects and bans spammers%0a%3c %0a%3c # Configure your webserver, [[openbsd/openhttpd|openhttpd]]%0a%3c # Get an SSL certificate to go with your web server with [[openbsd/acme-client|acme-client]]%0a%3c %0a%3c # Set up [[openbsd/znc|znc]], a bouncer we will provide for users%0a%3c # Set up [[openbsd/oidentd]], which is needed to prevent abuse for the bouncer%0a%3c %0a---%0a> %0a> %0a23,28c14,39%0a%3c # Learn how to configure a [[openbsd/vhost]]%0a%3c %0a%3c !! Optional%0a%3c %0a%3c # [[Openbsd/Eggdrop]] - install and join to #test with any tcl plugin you like%0a%3c %0a---%0a> %0a> B. Web server things and encryption:%0a> %0a> - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a> %0a> - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a> %0a> - PHP - to be added (optional)%0a> %0a> - kcgi (web coding in C) - to be added (optional)%0a> %0a> C. IRC related:%0a> %0a> - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a> %0a> - [[openbsd.hopm]] - check that it detects and bans tor%0a> %0a> - [[openbsd.oidentd]] - install. check that it overrides users' preferences for username%0a> %0a> D. Bouncer related (required C):%0a> %0a> - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a> %0a> - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a> %0a> - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a +host:1610213847=125.224.19.86 +author:1610213490=jrmu +diff:1610213490:1610213322:=8,79d7%0a%3c %0a%3c # Give yourself root powers using [[openbsd/doas|doas]]%0a%3c %0a%3c %0a%3c # Configure your authoritative nameserver, [[openbsd/nsd|nsd]].%0a%3c # Configure your local caching nameserver using [[openbsd/unbound]]%0a%3c %0a%3c B. Web server things and encryption:%0a%3c %0a%3c - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%3c %0a%3c - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%3c %0a%3c - PHP - to be added (optional)%0a%3c %0a%3c - kcgi (web coding in C) - to be added (optional)%0a%3c %0a%3c C. IRC related:%0a%3c %0a%3c - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%3c %0a%3c - [[openbsd.hopm]] - check that it detects and bans tor%0a%3c %0a%3c - [[openbsd.oidentd]] - install. check that it overrides users' preferences for username%0a%3c %0a%3c D. Bouncer related (required C):%0a%3c %0a%3c - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%3c %0a%3c - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%3c %0a%3c - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%3c %0a%3c - [[openbsd.oidentd]] - configure to use bouncer username for the user's ident%0a%3c %0a%3c E. Bouncer and httpd related (requires B, C, D):%0a%3c %0a%3c - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%3c %0a%3c F. Email related:%0a%3c %0a%3c - [[Openbsd.dovecot]] - receive a test message%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address; send to a gmail address and stay in inbox%0a%3c %0a%3c G. Hosting code:%0a%3c %0a%3c - gotweb - to be added%0a%3c %0a%3c - sftponly + PHP web hosting (in production at orange) - tutorial to be added%0a%3c %0a%3c Others:%0a%3c %0a%3c - [[Openbsd.pf]] - follow the tutorial; successfully block port 1337 (plain text znc port) then unblock it;%0a%3c %0a%3c - jrmu has some website for email compliance check%0a%3c %0a%3c - [[Tutorial.Tutorial]] - connect to our shell to complete interactive tutorials about shell and basic programming (skip this for now, work in progress)%0a%3c %0a%3c - For the Orange team: ensure you have one nick on IRC for all bncs, so that in your absence others know which one to highlight or message%0a%3c %0a%3c - ddos defense - to be added%0a%3c %0a%3c - tcpdump - to be added%0a%3c %0a%3c - netcat - to be added%0a%3c %0a%3c - ping - to be added%0a%3c %0a%3c - dig - to be added%0a%3c %0a%3c - iked - to be added%0a\ No newline at end of file%0a +host:1610213490=125.224.19.86 +author:1610213322=jrmu +diff:1610213322:1610213322:=1,7d0%0a%3c (:title New Sysadmin Training:)%0a%3c %0a%3c Welcome!%0a%3c %0a%3c # Read up on our [[Ircnow.Goals|goals for IRC]]%0a%3c # Read up on [[Ircnow.Roadmap|IRCNow's roadmap]]%0a%3c # Learn about our commitment to [[Freedom.Freedom|user freedom]]%0a +host:1610213322=125.224.19.86 blob - /dev/null blob + 0c5e579269518c8da2dc2935313fdb14734fc2d7 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Two-FactorAuth @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum=login.db compiling is no longer recommended. +ctime=1622979992 +host=198.251.81.133 +name=Openbsd.Two-FactorAuth +rev=5 +targets= +text=[++'''Two Factor Authentication on OpenBSD with SSH and S/Key'''++]%0a%0aAssuming you guys already setup SSH using [[https://wiki.ircnow.org/index.php?n=Openbsd.Sshkeys | SSH Keys]] , If not, kindly setup SSH first before proceeding.%0a%0aTo improve security of one's system, it is better combine both SSH public key and an OTP (One Time Password).%0a%0a[+'''Configuring S/Key'''+]%0a%0aS/Key is a simple, secure OTP system based on hash functions md5, rmd160 or sha1. S/key is standard part of OpenBSD distributions, however it is disabled by default.%0a%0aTo enable, use%0a%0a[@%0a$ doas skeyinit -E%0a@]%0a%0aThen each user using S/Key needs to initialize their account with skeyinit. %0a%0a'''Note:''' You should be on a secure terminal before using 'skeyinit', Only use this method if you are directly connected or have an encrypted channel.%0a %0a[@%0a$ skeyinit%0aPassword: %3cEnter your VPS Password here>%0a@]%0a%0aIf you're using 'telnet' use skeyinit -s (read here for more info: [[https://man.openbsd.org/skeyinit.1 |skeyinit.1]])%0a%0aOnce you entered password, it'll show%0a%0a[@%0a[Adding user with md5]%0a@] %0aand asks for a passphrase, this passphrase is used to generate the OTP keys%0a%0a[@%0aEnter new secret passphrase: %3cEnter your desired passphrase here>%0aAgain secret passphrase: %3cRetype the above passphrase>%0a@]%0a%0a'''Note:''' The passphrase should be minimum 10 characters%0a%0aOnce done, the account is now setup and skeyinit echoes the next challenge and corresponding password.%0a%0a[@%0aID user skey is otp-md5 100 user41451%0aNext login password: HONE HOOF RILL BULK HEAL COWL%0a@]%0a%0a'''Note:''' By default it creates md5 hash based key, to change it to sha1, you can use%0a[@%0a$ skeyinit -sha1%0a@]%0a%0aThe next step is to force the login to use S/Key instead of the traditional password.%0a%0aEdit login.conf and make the following changes%0a%0a"By default, it should be "auth-defaults:passwd,skey:" change it as follows"%0a[@%0a auth-defaults:auth=skey:%0a@]%0a%0anote that you must include the whitespace, otherwise it won't work.%0a %0aNow, change sshd-config file to require SSH to use both authentication methods.%0a%0a[@%0a$ doas nano /etc/ssh/sshd_config%0a@]%0a%0aunder "# Authentication:"%0a%0a[@%0aAuthenticationMethods publickey,keyboard-interactive%0a@]%0a%0aSave and exit.%0a%0a[@%0a$ doas rcctl restart sshd%0a@]%0a%0aand done, any user with default login profile will be forced to have a vaild SSH key on their PC and S/Key OTP to connect to the server.%0a%0a'''CAUTION:''' Do not disconnect the current window that already logged in to the server. Use a new window/tab to test the "ssh + otp" is working, incase if something went wrong you will want redo the steps properly or enable password login sshd_config and restart sshd again.%0a%0aNow, to calculate the challenge, Android users download [[https://play.google.com/store/apps/details?id=de.ub0r.android.otpdroid| OTPdroid]] or on iOS download [[https://apps.apple.com/us/app/otp/id539922062 | OTP]]%0a%0a'''CAUTION:''' The android and iPhone apps only have md5 and sha1 methods, if you're using rmd160, kindly find any app that supports it or use the alternative way below.%0a %0aalternatively, if you don't have phone, you can print next challenges on a paper or write down somewhere by using%0a%0a[@%0a$ skey -n 10 `skeyinfo`%0a@]%0a%0aThe above command will print next 10 challenges on screen. (Do not use this method when you're on telnet).%0a%0aNow that all set, you can try login in terminal%0a%0a ___________________________%0a%0a | @@ssh user@youruserhost@@ |%0a | @@otp-md5 97 user12446@@ |%0a | @@S/Key Password: @@ |%0a ___________________________%0a%0aafter you tried ssh, it echoes the challenge: key type and sequence number and user12446 (user id with some random numbers)%0aand asks for S/Key Password (the OTP).%0a%0aTo generate OTP, open the mobile app%0a%0aEnter your passphrase (the secret passphrase you entered above) , under 'challenge' select the key 'md5' or 'sha1' (as you see in the terminal) and type the sequence number (97) and (user12446) %0a%0aScreenshot 1: https://ibb.co/8BrYNdV%0a %0aTap on 'Calculate' , you'll get a response , a OTP of six words as shown in the image below:%0a%0aScreenshot 2: https://ibb.co/Qb8h6YP%0a%0aYou can enter the OTP on terminal as "cook days eros well fell gas" and press enter to login, although the OTP shown all capitalized in the screenshot, you can type without capitalizing.%0a%0a'''Note:''' Before the sequence ends up, you might wanna generate another set of keys using "skeyinit".%0a%0a%0a +time=1629747572 +author:1629747572=mkf +csum:1629747572=login.db compiling is no longer recommended. +diff:1629747572:1629747508:=63c63,67%0a%3c note that you must include the whitespace, otherwise it won't work.%0a---%0a> Then recompile the login.conf file%0a> %0a> [@%0a> $ doas cap_mkdb /etc/login.conf%0a> @]%0a +host:1629747572=198.251.81.133 +author:1629747508=mkf +csum:1629747508=wiki-ish. +diff:1629747508:1622980851:=13,16c13,14%0a%3c [@%0a%3c $ doas skeyinit -E%0a%3c @]%0a%3c %0a---%0a> @@user$ doas skeyinit -E@@%0a> %0a21,25c19,21%0a%3c [@%0a%3c $ skeyinit%0a%3c Password: %3cEnter your VPS Password here>%0a%3c @]%0a%3c %0a---%0a> @@user$ skeyinit@@%0a> @@Password: %3cEnter your VPS Password here>@@%0a> %0a30,32c26,27%0a%3c [@%0a%3c [Adding user with md5]%0a%3c @] %0a---%0a> @@[Adding user with md5]@@%0a> %0a35,41c30,34%0a%3c [@%0a%3c Enter new secret passphrase: %3cEnter your desired passphrase here>%0a%3c Again secret passphrase: %3cRetype the above passphrase>%0a%3c @]%0a%3c %0a%3c '''Note:''' The passphrase should be minimum 10 characters%0a%3c %0a---%0a> @@Enter new secret passphrase: %3cEnter your desired passphrase here>@@%0a> @@Again secret passphrase: %3cRetype the above passphrase>@@%0a> %0a> Note: The passphrase should be minimum 10 characters%0a> %0a44,48c37,41%0a%3c [@%0a%3c ID user skey is otp-md5 100 user41451%0a%3c Next login password: HONE HOOF RILL BULK HEAL COWL%0a%3c @]%0a%3c %0a---%0a> @@ID user skey is otp-md5 100 user41451@@%0a> @@Next login password: HONE HOOF RILL BULK HEAL COWL@@%0a> %0a> @@user$@@%0a> %0a50,53c43,44%0a%3c [@%0a%3c $ skeyinit -sha1%0a%3c @]%0a%3c %0a---%0a> @@user$ skeyinit -sha1@@%0a> %0a59,62c50,52%0a%3c [@%0a%3c auth-defaults:auth=skey:%0a%3c @]%0a%3c %0a---%0a> %0a> @@auth-defaults:auth=skey:@@%0a> %0a65,68c55,56%0a%3c [@%0a%3c $ doas cap_mkdb /etc/login.conf%0a%3c @]%0a%3c %0a---%0a> @@user$ doas cap_mkdb /etc/login.conf@@%0a> %0a71,74c59,60%0a%3c [@%0a%3c $ doas nano /etc/ssh/sshd_config%0a%3c @]%0a%3c %0a---%0a> @@$ doas nano /etc/ssh/sshd_config@@%0a> %0a76,80c62,63%0a%3c %0a%3c [@%0a%3c AuthenticationMethods publickey,keyboard-interactive%0a%3c @]%0a%3c %0a---%0a> @@AuthenticationMethods publickey,keyboard-interactive@@%0a> %0a83,86c66,69%0a%3c [@%0a%3c $ doas rcctl restart sshd%0a%3c @]%0a%3c %0a---%0a> @@user$ doas rcctl restart sshd@@%0a> @@sshd(ok)@@%0a> @@sshd(ok)@@%0a> %0a91,92c74,75%0a%3c Now, to calculate the challenge, Android users download [[https://play.google.com/store/apps/details?id=de.ub0r.android.otpdroid| OTPdroid]] or on iOS download [[https://apps.apple.com/us/app/otp/id539922062 | OTP]]%0a%3c %0a---%0a> Now, to calculate the challenge, Android users download [[https://play.google.com/store/apps/details?id=de.ub0r.android.otpdroid&hl=en&gl=US | OTPdroid]] or on iOS download [[https://apps.apple.com/us/app/otp/id539922062 | OTP]]%0a> %0a97,100c80,81%0a%3c [@%0a%3c $ skey -n 10 `skeyinfo`%0a%3c @]%0a%3c %0a---%0a> @@user$ skey -n 10 `skeyinfo`@@%0a> %0a119c100%0a%3c Screenshot 1: https://ibb.co/8BrYNdV%0a---%0a> @@Screenshot 1: https://ibb.co/8BrYNdV @@%0a123,124c104,105%0a%3c Screenshot 2: https://ibb.co/Qb8h6YP%0a%3c %0a---%0a> @@Screenshot 2: https://ibb.co/Qb8h6YP @@%0a> %0a127c108%0a%3c '''Note:''' Before the sequence ends up, you might wanna generate another set of keys using "skeyinit".%0a---%0a> '''Note:''' Before the sequence ends up, you might wanna generate another set of keys using " @@ user$ skeyinit@@ ".%0a +host:1629747508=198.251.81.133 +author:1622980851=siva +csum:1622980851=Tutorial Created +diff:1622980851:1622980574:=15,17c15%0a%3c Then each user using S/Key needs to initialize their account with skeyinit. %0a%3c %0a%3c '''Note:''' You should be on a secure terminal before using 'skeyinit', Only use this method if you are directly connected or have an encrypted channel.%0a---%0a> Then each user using S/Key needs to initialize their account with skeyinit. Note: You should be on a secure terminal before using 'skeyinit', Only use this method if you are directly connected or have an encrypted channel.%0a +host:1622980851=223.182.200.161 +author:1622980574=siva +diff:1622980574:1622979992:=96,98c96,98%0a%3c Enter your passphrase (the secret passphrase you entered above) , under 'challenge' select the key 'md5' or 'sha1' (as you see in the terminal) and type the sequence number (97) and (user12446) %0a%3c %0a%3c @@Screenshot 1: https://ibb.co/8BrYNdV @@%0a---%0a> Enter your passphrase, under 'challenge' select the key 'md5' or 'sha1' (as you see in the terminal) and type the sequence number (97) and (user12446) %0a> %0a> [img]https://i.ibb.co/8BrYNdV/SKey-File01.jpg[/img]%0a100,101c100,101%0a%3c Tap on 'Calculate' , you'll get a response , a OTP of six words as shown in the image below:%0a%3c %0a---%0a> Tap on 'Calculate' , you'll get a response , a password of six words like above @@"HONE HOOF RILL BULK HEAL COWL"@@ this is your OTP.%0a> %0a104,108c104%0a%3c You can enter the OTP on terminal as "cook days eros well fell gas" and press enter to login, although the OTP shown all capitalized in the screenshot, you can type without capitalizing.%0a%3c %0a%3c '''Note:''' Before the sequence ends up, you might wanna generate another set of keys using " @@ user$ skeyinit@@ ".%0a%3c %0a%3c %0a---%0a> You can enter the OTP on terminal and press enter to login, although the OTP shown in all capitalized, you can type without capitalizing.%0a +host:1622980574=223.182.200.161 +author:1622979992=siva +diff:1622979992:1622979992:=1,104d0%0a%3c [++'''Two Factor Authentication on OpenBSD with SSH and S/Key'''++]%0a%3c %0a%3c Assuming you guys already setup SSH using [[https://wiki.ircnow.org/index.php?n=Openbsd.Sshkeys | SSH Keys]] , If not, kindly setup SSH first before proceeding.%0a%3c %0a%3c To improve security of one's system, it is better combine both SSH public key and an OTP (One Time Password).%0a%3c %0a%3c [+'''Configuring S/Key'''+]%0a%3c %0a%3c S/Key is a simple, secure OTP system based on hash functions md5, rmd160 or sha1. S/key is standard part of OpenBSD distributions, however it is disabled by default.%0a%3c %0a%3c To enable, use%0a%3c %0a%3c @@user$ doas skeyinit -E@@%0a%3c %0a%3c Then each user using S/Key needs to initialize their account with skeyinit. Note: You should be on a secure terminal before using 'skeyinit', Only use this method if you are directly connected or have an encrypted channel.%0a%3c %0a%3c @@user$ skeyinit@@%0a%3c @@Password: %3cEnter your VPS Password here>@@%0a%3c %0a%3c If you're using 'telnet' use skeyinit -s (read here for more info: [[https://man.openbsd.org/skeyinit.1 |skeyinit.1]])%0a%3c %0a%3c Once you entered password, it'll show%0a%3c %0a%3c @@[Adding user with md5]@@%0a%3c %0a%3c and asks for a passphrase, this passphrase is used to generate the OTP keys%0a%3c %0a%3c @@Enter new secret passphrase: %3cEnter your desired passphrase here>@@%0a%3c @@Again secret passphrase: %3cRetype the above passphrase>@@%0a%3c %0a%3c Note: The passphrase should be minimum 10 characters%0a%3c %0a%3c Once done, the account is now setup and skeyinit echoes the next challenge and corresponding password.%0a%3c %0a%3c @@ID user skey is otp-md5 100 user41451@@%0a%3c @@Next login password: HONE HOOF RILL BULK HEAL COWL@@%0a%3c %0a%3c @@user$@@%0a%3c %0a%3c '''Note:''' By default it creates md5 hash based key, to change it to sha1, you can use%0a%3c @@user$ skeyinit -sha1@@%0a%3c %0a%3c The next step is to force the login to use S/Key instead of the traditional password.%0a%3c %0a%3c Edit login.conf and make the following changes%0a%3c %0a%3c "By default, it should be "auth-defaults:passwd,skey:" change it as follows"%0a%3c %0a%3c @@auth-defaults:auth=skey:@@%0a%3c %0a%3c Then recompile the login.conf file%0a%3c %0a%3c @@user$ doas cap_mkdb /etc/login.conf@@%0a%3c %0a%3c Now, change sshd-config file to require SSH to use both authentication methods.%0a%3c %0a%3c @@$ doas nano /etc/ssh/sshd_config@@%0a%3c %0a%3c under "# Authentication:"%0a%3c @@AuthenticationMethods publickey,keyboard-interactive@@%0a%3c %0a%3c Save and exit.%0a%3c %0a%3c @@user$ doas rcctl restart sshd@@%0a%3c @@sshd(ok)@@%0a%3c @@sshd(ok)@@%0a%3c %0a%3c and done, any user with default login profile will be forced to have a vaild SSH key on their PC and S/Key OTP to connect to the server.%0a%3c %0a%3c '''CAUTION:''' Do not disconnect the current window that already logged in to the server. Use a new window/tab to test the "ssh + otp" is working, incase if something went wrong you will want redo the steps properly or enable password login sshd_config and restart sshd again.%0a%3c %0a%3c Now, to calculate the challenge, Android users download [[https://play.google.com/store/apps/details?id=de.ub0r.android.otpdroid&hl=en&gl=US | OTPdroid]] or on iOS download [[https://apps.apple.com/us/app/otp/id539922062 | OTP]]%0a%3c %0a%3c '''CAUTION:''' The android and iPhone apps only have md5 and sha1 methods, if you're using rmd160, kindly find any app that supports it or use the alternative way below.%0a%3c %0a%3c alternatively, if you don't have phone, you can print next challenges on a paper or write down somewhere by using%0a%3c %0a%3c @@user$ skey -n 10 `skeyinfo`@@%0a%3c %0a%3c The above command will print next 10 challenges on screen. (Do not use this method when you're on telnet).%0a%3c %0a%3c Now that all set, you can try login in terminal%0a%3c %0a%3c ___________________________%0a%3c %0a%3c | @@ssh user@youruserhost@@ |%0a%3c | @@otp-md5 97 user12446@@ |%0a%3c | @@S/Key Password: @@ |%0a%3c ___________________________%0a%3c %0a%3c after you tried ssh, it echoes the challenge: key type and sequence number and user12446 (user id with some random numbers)%0a%3c and asks for S/Key Password (the OTP).%0a%3c %0a%3c To generate OTP, open the mobile app%0a%3c %0a%3c Enter your passphrase, under 'challenge' select the key 'md5' or 'sha1' (as you see in the terminal) and type the sequence number (97) and (user12446) %0a%3c %0a%3c [img]https://i.ibb.co/8BrYNdV/SKey-File01.jpg[/img]%0a%3c %0a%3c Tap on 'Calculate' , you'll get a response , a password of six words like above @@"HONE HOOF RILL BULK HEAL COWL"@@ this is your OTP.%0a%3c %0a%3c @@Screenshot 2: https://ibb.co/Qb8h6YP @@%0a%3c %0a%3c You can enter the OTP on terminal and press enter to login, although the OTP shown in all capitalized, you can type without capitalizing.%0a +host:1622979992=223.182.200.161 blob - /dev/null blob + b84c20230659a58d4cdd34050de521d9fb036504 (mode 644) --- /dev/null +++ wiki.d/Openbsd.UDPFlood @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608286117 +host=198.251.81.119 +name=Openbsd.UDPFlood +rev=6 +targets=Openbsd.Tcpdump,Openbsd.Buyvm,Openbsd.Pf,Openbsd.Ddos +text=(:title UDP Flood:)%0a%0a!! UDP Flood%0a%0aAn attacker can flood a server with UDP packets targeted at random ports. The server will process the packet, discover there is no application, and then waste time sending an ICMP Destination Unreachable reply.%0a%0a!! Sample Pcap%0a%0aFollow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%0a[@%0a13:02:41.051373 192.168.0.1.1935 > 198.251.81.119.17710: udp 341 (DF) [tos 0x28] (ttl 48, id 0, len 369)%0aE(.q..@.0..Q......Qw..E..]..HTTP/1.1 200 OK%0aCACHE-CONTROL: %0a@]%0a%0aIn the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 17710 (our server). It is a udp packet with the DF (don't fragment) flag set.%0a%0aThe content of the packet shows that it is an HTTP reply.%0a%0aHere's another similar packet:%0a%0a[@%0a13:02:41.081976 172.16.0.1.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0aEH....@.2.'N.-....Qw...+..%0a.HTTP/1.1 200 OK%0aCACHE-CONTROL: %0a@]%0a%0aThis time, the source IP (172.16.0.1) is sending a UDP packet to 198.251.81.119 port 38699 (our server). Notice each time, the UDP packets are sent to a different, random port.%0a%0a!! How to Block%0a%0aFirst, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%0aUsing the [[openbsd/pf|packet filter]] firewall, you will want to block all unwanted UDP packets. The easiest way to do this is to first whitelist the packets you want (create a rule that allows all good UDP packets in), then blacklist all remaining UDP (create a rule to drop all remaining UDP packets):%0a%0a[@%0aext_ip="192.168.0.1"%0apass in quick proto udp to $ext_ip port {domain ntp}%0ablock drop quick proto udp to $ext_ip%0a@]%0a%0aThis would whitelist DNS and NTP packets but drop all other UDP packets.%0a%0a!! See Also%0a%0a[[openbsd/Ddos|DDoS Defense]] +time=1608287989 +title=UDP Flood +author:1608287989=jrmu +diff:1608287989:1608287743:= +host:1608287989=198.251.81.119 +author:1608287743=jrmu +diff:1608287743:1608287494:=5c5,6%0a%3c An attacker can flood a server with UDP packets targeted at random ports. The server will process the packet, discover there is no application, and then waste time sending an ICMP Destination Unreachable reply.%0a---%0a> An attacker can flood a server with UDP packets targeted at random ports.%0a> The server will process the packet, discover there is no application, and then waste time sending an ICMP Destination Unreachable reply.%0a +host:1608287743=198.251.81.119 +author:1608287494=jrmu +diff:1608287494:1608286437:=7a8,14%0a> %0a> %0a> %0a> This attack can be managed by deploying firewalls at key points in a network to filter out unwanted network traffic. The potential victim never receives and never responds to the malicious UDP packets because the firewall stops them. However, as firewalls are 'stateful' i.e. can only hold a number of sessions, firewalls can also be susceptible to flood attacks. %0a> %0a> Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a> %0a13,15c20,25%0a%3c 13:02:41.051373 192.168.0.1.1935 > 198.251.81.119.17710: udp 341 (DF) [tos 0x28] (ttl 48, id 0, len 369)%0a%3c E(.q..@.0..Q......Qw..E..]..HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a---%0a> 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a> E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a> Host:239.255.255.250:1900%0a> ST:ssdp:all%0a> Man:"ssdp:discover"%0a> MX:3%0a18,23c28,31%0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 17710 (our server). It is a udp packet with the DF (don't fragment) flag set.%0a%3c %0a%3c The content of the packet shows that it is an HTTP reply.%0a%3c %0a%3c Here's another similar packet:%0a%3c %0a---%0a> In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a> %0a> Here are some other packets:%0a> %0a25,28c33,48%0a%3c 13:02:41.081976 172.16.0.1.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0a%3c EH....@.2.'N.-....Qw...+..%0a%3c .HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a---%0a> 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a> E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a> 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a> E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a> 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a> E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a> CACHE-CONTROL: max-age=1800%0a> DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a> EXT:%0a> LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a> OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a> 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a> SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a> X-User-Agent: redsonic%0a> ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a> USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a31,32c51,52%0a%3c This time, the source IP (172.16.0.1) is sending a UDP packet to 198.251.81.119 port 38699 (our server). Notice each time, the UDP packets are sent to a different, random port.%0a%3c %0a---%0a> This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a> %0a37,38c57,58%0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block all unwanted UDP packets. The easiest way to do this is to first whitelist the packets you want (create a rule that allows all good UDP packets in), then blacklist all remaining UDP (create a rule to drop all remaining UDP packets):%0a%3c %0a---%0a> Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a> %0a41,42c61%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip%0a---%0a> block drop quick proto udp from any to $ext_ip port 1900%0a44a64,71%0a> A better solution is to block all udp packets except for a few ports that you whitelist:%0a> %0a> [@%0a> ext_ip="192.168.0.1"%0a> pass in quick proto udp to $ext_ip port {domain ntp}%0a> block drop quick proto udp to $ext_ip port 1900%0a> @]%0a> %0a49c76,103%0a%3c [[openbsd/Ddos|DDoS Defense]]%0a\ No newline at end of file%0a---%0a> [[openbsd/Ddos|DDoS Defense]]%0a> %0a> 13:02:41.051373 162.251.189.148.1935 > 198.251.81.119.17710: udp 341 (DF) [tos 0x28] (ttl 48, id 0, len 369)%0a> E(.q..@.0..Q......Qw..E..]..HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.081976 46.45.217.22.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0a> EH....@.2.'N.-....Qw...+..%0a> .HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.113066 138.94.194.9.60969 > 198.251.81.119.343: udp 339 (DF) [tos 0x48] (ttl 47, id 0, len 367)%0a> EH.o..@./..[.^. ..Qw.).W.[..HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.159200 162.251.189.148.1935 > 198.251.81.119.17710: udp 306 (DF) [tos 0x28] (ttl 48, id 0, len 334)%0a> E(.N..@.0..t......Qw..E..:F.HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.185989 46.45.217.22.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0a> EH....@.2.'N.-....Qw...+..%0a> .HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.214410 138.94.194.9.60969 > 198.251.81.119.343: udp 339 (DF) [tos 0x48] (ttl 47, id 0, len 367)%0a> EH.o..@./..[.^. ..Qw.).W.[..HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.253971 162.251.189.148.1935 > 198.251.81.119.17710: udp 306 (DF) [tos 0x28] (ttl 48, id 0, len 334)%0a> E(.N..@.0..t......Qw..E..:F.HTTP/1.1 200 OK%0a> CACHE-CONTROL: %0a> 13:02:41.294352 46.45.217.22.47892 > 198.251.81.119.38699: udp 383 (DF) [tos 0x48] (ttl 50, id 0, len 411)%0a> EH....@.2.'T.-....Qw...+...hHTTP/1.1 200 OK%0a> CACHE-CONTROL:%0a\ No newline at end of file%0a +host:1608287494=198.251.81.119 +author:1608286437=jrmu +diff:1608286437:1608286129:=5,12d4%0a%3c An attacker can flood a server with UDP packets targeted at random ports.%0a%3c The server will process the packet, discover there is no application, and then waste time sending an ICMP Destination Unreachable reply.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c This attack can be managed by deploying firewalls at key points in a network to filter out unwanted network traffic. The potential victim never receives and never responds to the malicious UDP packets because the firewall stops them. However, as firewalls are 'stateful' i.e. can only hold a number of sessions, firewalls can also be susceptible to flood attacks. %0a%3c %0a103c95%0a%3c CACHE-CONTROL: %0a\ No newline at end of file%0a---%0a> CACHE-CONTROL:%0a\ No newline at end of file%0a +host:1608286437=198.251.81.119 +author:1608286129=jrmu +diff:1608286129:1608286117:=1,4c1,4%0a%3c (:title UDP Flood:)%0a%3c %0a%3c !! UDP Flood%0a%3c %0a---%0a> (:title SSDP Attacks:)%0a> %0a> !! SSDP Attacks%0a> %0a95c95%0a%3c CACHE-CONTROL: %0a\ No newline at end of file%0a---%0a> CACHE-CONTROL:%0a\ No newline at end of file%0a +host:1608286129=198.251.81.119 +author:1608286117=jrmu +diff:1608286117:1608286117:=1,95d0%0a%3c (:title SSDP Attacks:)%0a%3c %0a%3c !! SSDP Attacks%0a%3c %0a%3c Many devices today use Universal Plug and Play (UPnP) in order to communicate. They use the Simple Service Discovery Protocol (SSDP) to tell other devices that they exist on the network. For example, a UPnP printer would broadcast all services it has to offer to all devices on the network. Attackers can spoof traffic to take advantage of these plug-and-play devices in an amplification attack. The attackers messages these UPnP devices using your IP address, and the devices reply with a message that is much larger than the original message. This amplifies the attack and floods your server with useless SSDP packets.%0a%3c %0a%3c !! Sample Pcap%0a%3c %0a%3c Follow the [[openbsd/tcpdump|tcpdump]] guide to record a pcap during an attack to analyze it.%0a%3c %0a%3c [@%0a%3c 16:47:17.409684 192.168.0.1 > 198.251.81.119: icmp: 192.168.0.2 udp port 1900 unreachable [icmp cksum ok] [tos 0xc0] (ttl 55, id 51372, len 146)%0a%3c E.......7....8LH..Qw........E..v......!...Qw.8LH...l.b..M-SEARCH * HTTP/1.1%0a%3c Host:239.255.255.250:1900%0a%3c ST:ssdp:all%0a%3c Man:"ssdp:discover"%0a%3c MX:3%0a%3c @]%0a%3c %0a%3c In the above, we see the source IP (192.168.0.1) is sending a UDP packet to 198.251.81.119 port 1900 (our server). The content shows that it is an SSDP packet.%0a%3c %0a%3c Here are some other packets:%0a%3c %0a%3c [@%0a%3c 16:47:17.411700 192.168.0.1 > 198.251.81.119: icmp: 172.16.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 53, id 60583, len 56)%0a%3c E..8....5..o.. n..Qw..;.....E..vtW....vq..Qw.. n...l.b..%0a%3c 16:47:17.411751 192.168.0.1 > 198.251.81.119: icmp: 10.0.0.1 udp port 1900 unreachable [icmp cksum ok] (ttl 54, id 58810, len 56)%0a%3c E..8....6.....3...Qw..'.....E..v*.........Qw..3....l.b..%0a%3c 16:47:17.411888 192.168.0.1.46465 > 198.251.81.119.16546: [udp sum ok] udp 498 (DF) (ttl 58, id 0, len 526)%0a%3c E.....@.:..|H.....Qw..@.....HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: max-age=1800%0a%3c DATE: Sat, 25 Jul 2020 00:47:17 GMT%0a%3c EXT:%0a%3c LOCATION: http://192.168.1.1:49152/IGDdevicedesc.xml%0a%3c OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01%0a%3c 01-NLS: d78a3592-1dd1-11b2-ae53-a94a2ae2af72%0a%3c SERVER: Linux/2.6.36, UPnP/1.0, Portable SDK for UPnP devices/1.6.17%0a%3c X-User-Agent: redsonic%0a%3c ST: urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c USN: uuid:ebf5a0a0-1dd1-11b2-a93f-94103e83c76b::urn:schemas-upnp-org:service:LANHostConfigManagement:1%0a%3c @]%0a%3c %0a%3c This packet is coming from a Linux UPnP device. It could be a printer, a phone, a router...%0a%3c %0a%3c !! How to Block%0a%3c %0a%3c First, you want to make sure that you have no exposed public IPs that are not DDoS filtered. If you are [[openbsd/buyvm|BuyVM]], check the [[https://manage.buyvm.net|web panel]] to see if any non-filtered IPs are exposed. These should be disabled. You will also want to remove them from any publicly visible DNS records in /var/nsd/zones/master/.%0a%3c %0a%3c Using the [[openbsd/pf|packet filter]] firewall, you will want to block UDP packets on port 1900. You could put these two rules at the beginning of /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c block drop quick proto udp from any to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c A better solution is to block all udp packets except for a few ports that you whitelist:%0a%3c %0a%3c [@%0a%3c ext_ip="192.168.0.1"%0a%3c pass in quick proto udp to $ext_ip port {domain ntp}%0a%3c block drop quick proto udp to $ext_ip port 1900%0a%3c @]%0a%3c %0a%3c This would whitelist DNS and NTP packets but drop all other UDP packets.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c [[openbsd/Ddos|DDoS Defense]]%0a%3c %0a%3c 13:02:41.051373 162.251.189.148.1935 > 198.251.81.119.17710: udp 341 (DF) [tos 0x28] (ttl 48, id 0, len 369)%0a%3c E(.q..@.0..Q......Qw..E..]..HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.081976 46.45.217.22.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0a%3c EH....@.2.'N.-....Qw...+..%0a%3c .HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.113066 138.94.194.9.60969 > 198.251.81.119.343: udp 339 (DF) [tos 0x48] (ttl 47, id 0, len 367)%0a%3c EH.o..@./..[.^. ..Qw.).W.[..HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.159200 162.251.189.148.1935 > 198.251.81.119.17710: udp 306 (DF) [tos 0x28] (ttl 48, id 0, len 334)%0a%3c E(.N..@.0..t......Qw..E..:F.HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.185989 46.45.217.22.57760 > 198.251.81.119.38699: udp 389 (DF) [tos 0x48] (ttl 50, id 0, len 417)%0a%3c EH....@.2.'N.-....Qw...+..%0a%3c .HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.214410 138.94.194.9.60969 > 198.251.81.119.343: udp 339 (DF) [tos 0x48] (ttl 47, id 0, len 367)%0a%3c EH.o..@./..[.^. ..Qw.).W.[..HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.253971 162.251.189.148.1935 > 198.251.81.119.17710: udp 306 (DF) [tos 0x28] (ttl 48, id 0, len 334)%0a%3c E(.N..@.0..t......Qw..E..:F.HTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a%3c 13:02:41.294352 46.45.217.22.47892 > 198.251.81.119.38699: udp 383 (DF) [tos 0x48] (ttl 50, id 0, len 411)%0a%3c EH....@.2.'T.-....Qw...+...hHTTP/1.1 200 OK%0a%3c CACHE-CONTROL: %0a\ No newline at end of file%0a +host:1608286117=198.251.81.119 blob - /dev/null blob + c41d95259bac10f0fea8328b5fd938cea70be08e (mode 644) --- /dev/null +++ wiki.d/Openbsd.Uim @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597745430 +host=38.81.163.143 +name=Openbsd.Uim +rev=1 +targets= +text=I download these packages:%0a%0a[@%0a$ doas pkg_add ubuntu-fonts uim uim-chewing uim-gtk \%0a uim-gtk3 zh-fonts-arphicttf zh-fonts-kc zh-libchewing \%0a zh-libpinyin zh-wqy-bitmapfont zh-wqy-zenhei-ttf%0a@]%0a%0aThis includes the font packs and UIM input engine for zhuyin (chewing) and pinyin.%0a%0aInside ~/.profile, I put this line:%0a%0a[@%0aexport LC_CTYPE=en_US.UTF-8%0a@]%0a%0aYou will also want to run that command in your current terminal.%0a%0aWhen you need to type Chinese in firefox, I run:%0a%0a[@%0a$ uim-toolbar-gtk3%0a@]%0a%0aWhen I need to type Chinese in Xterm, I type:%0a%0a[@%0a$ uim-fep%0a@]%0a%0aTo toggle between Chinese and English, type ctrl+space.%0a%0aFor xterm, I add the following lines:%0a%0a[@%0aXTerm*forcePackedFont: true%0aXTerm*cjkWidth: false%0aXTerm*mkWidth: true%0axterm*faceName: DejaVu Sans Mono%0axterm*faceSize: 25%0a@]%0a%0aChange xterm*faceSize: 25 to match your desired font size. Open a new xterm window to see the new settings. +time=1597745430 +author:1597745430=jrmu +diff:1597745430:1597745430:=1,43d0%0a%3c I download these packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add ubuntu-fonts uim uim-chewing uim-gtk \%0a%3c uim-gtk3 zh-fonts-arphicttf zh-fonts-kc zh-libchewing \%0a%3c zh-libpinyin zh-wqy-bitmapfont zh-wqy-zenhei-ttf%0a%3c @]%0a%3c %0a%3c This includes the font packs and UIM input engine for zhuyin (chewing) and pinyin.%0a%3c %0a%3c Inside ~/.profile, I put this line:%0a%3c %0a%3c [@%0a%3c export LC_CTYPE=en_US.UTF-8%0a%3c @]%0a%3c %0a%3c You will also want to run that command in your current terminal.%0a%3c %0a%3c When you need to type Chinese in firefox, I run:%0a%3c %0a%3c [@%0a%3c $ uim-toolbar-gtk3%0a%3c @]%0a%3c %0a%3c When I need to type Chinese in Xterm, I type:%0a%3c %0a%3c [@%0a%3c $ uim-fep%0a%3c @]%0a%3c %0a%3c To toggle between Chinese and English, type ctrl+space.%0a%3c %0a%3c For xterm, I add the following lines:%0a%3c %0a%3c [@%0a%3c XTerm*forcePackedFont: true%0a%3c XTerm*cjkWidth: false%0a%3c XTerm*mkWidth: true%0a%3c xterm*faceName: DejaVu Sans Mono%0a%3c xterm*faceSize: 25%0a%3c @]%0a%3c %0a%3c Change xterm*faceSize: 25 to match your desired font size. Open a new xterm window to see the new settings.%0a\ No newline at end of file%0a +host:1597745430=38.81.163.143 blob - /dev/null blob + 603609502df4888a71e651a51deb7cadcd83097c (mode 644) --- /dev/null +++ wiki.d/Openbsd.Unbound @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597224841 +host=38.81.163.143 +name=Openbsd.Unbound +rev=12 +targets=Openbsd.Znc +text=(:redirect Unbound.Configure:)%0aUnbound is a caching DNS resolver that comes as a part of OpenBSD base. You can use this to provide faster as well as more secure DNS lookup for the users on your network.%0a%0aHere's a sample /var/unbound/etc/unbound.conf:%0a%0a[@%0aserver:%0a interface: 127.0.0.1 # listen on localhost%0a interface: ::1%0a #interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a #do-ip6: no%0a%0a access-control: 0.0.0.0/0 refuse # block all users by default%0a access-control: 10.0.0.0/8 allow # allow users on the internal network to use unbound%0a access-control: 127.0.0.0/8 allow # allow localhost to use unbound%0a access-control: ::0/0 refuse # block all IPv6 users by default%0a access-control: ::1 allow # allow IPv6 localhost to use unbound%0a%0a hide-identity: yes%0a hide-version: yes%0a%0aremote-control:%0a control-enable: yes%0a control-interface: /var/run/unbound.sock%0a%0aforward-zone:%0a name: "."%0a forward-addr: 185.117.154.144%0a forward-addr: 165.227.40.43%0a forward-addr: 217.144.132.169%0a forward-addr: 212.237.22.141%0a forward-addr: 165.227.108.86%0a@]%0a%0aThe forward-addr lines indicate which nameserver unbound will query. You can find a list of public servers on [[https://servers.opennic.org/|OpenNIC]].%0a%0aif you are using another server as a master, set forwarding from this server as a priority:%0a[@%0aforward-zone:%0a name: "example.com."%0a forward-addr: 10.10.10.10@53%0a forward-first: no%0a forward-no-cache: no%0a@]%0a%0aIf you need to store local zones, add a block to the "server" section about it:%0a[@%0a local-zone: "localhost." static%0a local-data: "localhost. 10800 IN NS localhost."%0a local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"%0a local-data: "localhost. 10800 IN A 127.0.0.1"%0a local-data: "localhost. 10800 IN AAAA ::1"%0a@]%0a%0aTo start unbound:%0a[@%0a$ doas rcctl enable unbound%0a$ doas rcctl start unbound%0a@]%0a%0aFor the computer that runs unbound, you'll want to make sure /etc/resolv.conf uses 127.0.0.1 as the nameserver (that is, you query unbound running on port 53). In /etc/resolv.conf:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0aCheck to make sure /etc/resolv.conf.tail does not contain any other name servers except 127.0.0.1. All your nameservers should instead be specified in /var/unbound/etc/unbound.conf.%0a%0aIf the computer running unbound uses DHCP for network configuration, you will want to include this line in /etc/dhclient.conf:%0a%0a[@%0aignore domain-name-servers;%0a@]%0a%0aThis tells OpenBSD's dhclient to ignore the name server provided by the dhcp server.%0a%0aIf the computer running unbound is also providing a dhcp server for your local network, you will want to add this line inside your /etc/dhcpd.conf blocks:%0a%0a[@%0aoption domain-name-servers 192.168.1.1;%0a@]%0a%0a%0aHere's how to use unbound as a local caching resolver:%0a%0aEdit /etc/resolv.conf so it queries localhost on port 53:%0a%0a[@%0a# Generated by age0 dhclient%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0aInside /var/unbound/etc/unbound.conf, you will see this at the top:%0a%0a[@%0aserver:%0a interface: 127.0.0.1%0a interface: ::1%0a%0a # override the default "any" address to send queries; if multiple%0a # addresses are available, they are used randomly to counter spoofing%0a #outgoing-interface: 192.0.2.1%0a #outgoing-interface: 2001:db8::53%0a%0a access-control: 0.0.0.0/0 refuse%0a access-control: 127.0.0.0/8 allow%0a access-control: ::0/0 refuse%0a access-control: ::1 allow%0a@]%0a%0aMake sure you are listening on 127.0.0.1 (for localhost) so that your VPS can query localhost on port 53, and also ::1 on port 53 (for IPv6).%0a%0aFor access control, you want to refuse 0.0.0.0/0 (all IPv4s) but allow 127.0.0.0/8 (everything that originates locally). Again, refuse ::0/0 (all IPv6s) but allow ::1 (localhost).%0a%0aPut this at the bottom of the file:%0a%0a[@%0aforward-zone:%0a name: "." # use for ALL queries%0aforward-addr: 163.53.248.170%0aforward-addr: 103.236.162.119%0aforward-addr: 192.99.85.244%0aforward-addr: 31.171.251.118%0aforward-addr: 51.254.25.115%0aforward-addr: 46.101.70.183%0aforward-addr: 45.71.112.70%0aforward-addr: 87.98.175.85%0aforward-addr: 185.208.208.141%0aforward-addr: 89.35.39.64%0aforward-addr: 87.98.175.85%0aforward-addr: 172.98.193.42%0aforward-addr: 111.67.20.8%0a@]%0a%0aThese are IP addresses for DNS servers which I got from [[https://servers.opennic.org/]]. However, the servers change regularly so make sure you update the list.%0a%0a'''Tip''': To quickly get the IPs from OpenNIC, click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a%0a[@%0aclear();data=document.querySelectorAll("html body div#frame div#view div#srvlist div p");document.body.innerText="forward-addr: 9.9.9.9";data.forEach(line=>{%0a if (line.childNodes[0].childNodes[1].title == "No logs kept"){%0a document.body.innerHTML+=`%3cbr>forward-addr: ${line.childNodes[2].childNodes[0].data}`;%0a }%0a});%0a@]%0a%0aTo start unbound:%0a%0a[@%0a$ doas rcctl enable unbound%0a$ doas rcctl start unbound%0a@]%0a%0aTo test if unbound is working:%0a%0a[@%0a$ dig @127.0.0.1 google.com%0a@]%0a%0aYou should see something like this:%0a%0a[@%0a;; ANSWER SECTION:%0agoogle.com. 29 IN A 172.217.27.142%0a@]%0a%0a!! DNSSec%0a%0aIn /var/unbound/etc/unbound.conf, there are these two lines:%0a%0a# auto-trust-anchor-file: "/var/unbound/db/root.key"%0a# aggressive-nsec: no%0a%0aBoth should be commented to turn off DNSSEC. %0a%0aI have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a%0a!! Stale hostname%0a%0aIf you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%0aMake sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a +time=1624795975 +author:1624795975=jrmu +diff:1624795975:1616239235:=1d0%0a%3c (:redirect Unbound.Configure:)%0a184c183%0a%3c Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a---%0a> Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a\ No newline at end of file%0a +host:1624795975=38.81.163.143 +author:1616239235=jrmu +diff:1616239235:1616239161:=138c138%0a%3c '''Tip''': To quickly get the IPs from OpenNIC, click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a---%0a> '''Tip''': Click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a +host:1616239235=125.231.65.235 +author:1616239161=jrmu +diff:1616239161:1616238860:=137,146d136%0a%3c %0a%3c '''Tip''': Click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a%3c %0a%3c [@%0a%3c clear();data=document.querySelectorAll("html body div#frame div#view div#srvlist div p");document.body.innerText="forward-addr: 9.9.9.9";data.forEach(line=>{%0a%3c if (line.childNodes[0].childNodes[1].title == "No logs kept"){%0a%3c document.body.innerHTML+=`%3cbr>forward-addr: ${line.childNodes[2].childNodes[0].data}`;%0a%3c }%0a%3c });%0a%3c @]%0a +host:1616239161=125.231.65.235 +author:1616238860=jrmu +diff:1616238860:1612084392:=167,173c167%0a%3c I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a%3c %0a%3c !! Stale hostname%0a%3c %0a%3c If you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%3c %0a%3c Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a\ No newline at end of file%0a---%0a> I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a\ No newline at end of file%0a +host:1616238860=125.231.65.235 +author:1612084392=jrmu +diff:1612084392:1609682822:=9c9%0a%3c #interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a---%0a> interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a +host:1612084392=125.224.24.163 +author:1609682822=jrmu +diff:1609682822:1609681854:=9d8%0a%3c interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a13d11%0a%3c access-control: 10.0.0.0/8 allow # allow users on the internal network to use unbound%0a +host:1609682822=125.231.63.134 +author:1609681854=Kont +diff:1609681854:1608540573:=7a8%0a> interface: 192.168.1.1 # listen on 192.168.1.1 to provide DNS for users on a network%0a12a14%0a> access-control: 192.168.0.0/16 allow # allow users on your network to use unbound%0a +host:1609681854=157.230.15.4 +author:1608540573=jrmu +diff:1608540573:1600657394:=156,167c156%0a%3c @]%0a%3c %0a%3c !! DNSSec%0a%3c %0a%3c In /var/unbound/etc/unbound.conf, there are these two lines:%0a%3c %0a%3c # auto-trust-anchor-file: "/var/unbound/db/root.key"%0a%3c # aggressive-nsec: no%0a%3c %0a%3c Both should be commented to turn off DNSSEC. %0a%3c %0a%3c I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1608540573=38.81.163.7 +author:1600657394=gry +csum:1600657394=formatting +diff:1600657394:1597227009:=5c5%0a%3c [@%0a---%0a> %3ccode>%0a32,33c32,33%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a37c37%0a%3c [@%0a---%0a> %3ccode>%0a43,44c43,44%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a46c46%0a%3c [@%0a---%0a> %3ccode>%0a52,53c52,53%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a55c55%0a%3c [@%0a---%0a> %3ccode>%0a58,59c58,59%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a62c62%0a%3c [@%0a---%0a> %3ccode>%0a65,66c65,66%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a71c71%0a%3c [@%0a---%0a> %3ccode>%0a73,74c73,74%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a79c79%0a%3c [@%0a---%0a> %3ccode>%0a81,83c81,83%0a%3c @]%0a%3c %0a%3c %0a---%0a> %3c/code>%0a> %0a> %0a88c88%0a%3c [@%0a---%0a> %3ccode>%0a92,93c92,93%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a96c96%0a%3c [@%0a---%0a> %3ccode>%0a110,111c110,111%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a118c118%0a%3c [@%0a---%0a> %3ccode>%0a134,135c134,135%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a140c140%0a%3c [@%0a---%0a> %3ccode>%0a143,144c143,144%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a147c147%0a%3c [@%0a---%0a> %3ccode>%0a149,150c149,150%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a153c153%0a%3c [@%0a---%0a> %3ccode>%0a156c156%0a%3c @]%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1600657394=203.129.25.247 +author:1597227009=jrmu +diff:1597227009:1597226988:=153,156c153%0a%3c %3ccode>%0a%3c ;; ANSWER SECTION:%0a%3c google.com. 29 IN A 172.217.27.142%0a%3c %3c/code>%0a\ No newline at end of file%0a---%0a> %3ccode>%0a\ No newline at end of file%0a +host:1597227009=38.81.163.143 +author:1597226988=jrmu +diff:1597226988:1597224841:=81,153c81%0a%3c %3c/code>%0a%3c %0a%3c %0a%3c Here's how to use unbound as a local caching resolver:%0a%3c %0a%3c Edit /etc/resolv.conf so it queries localhost on port 53:%0a%3c %0a%3c %3ccode>%0a%3c # Generated by age0 dhclient%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c %3c/code>%0a%3c %0a%3c Inside /var/unbound/etc/unbound.conf, you will see this at the top:%0a%3c %0a%3c %3ccode>%0a%3c server:%0a%3c interface: 127.0.0.1%0a%3c interface: ::1%0a%3c %0a%3c # override the default "any" address to send queries; if multiple%0a%3c # addresses are available, they are used randomly to counter spoofing%0a%3c #outgoing-interface: 192.0.2.1%0a%3c #outgoing-interface: 2001:db8::53%0a%3c %0a%3c access-control: 0.0.0.0/0 refuse%0a%3c access-control: 127.0.0.0/8 allow%0a%3c access-control: ::0/0 refuse%0a%3c access-control: ::1 allow%0a%3c %3c/code>%0a%3c %0a%3c Make sure you are listening on 127.0.0.1 (for localhost) so that your VPS can query localhost on port 53, and also ::1 on port 53 (for IPv6).%0a%3c %0a%3c For access control, you want to refuse 0.0.0.0/0 (all IPv4s) but allow 127.0.0.0/8 (everything that originates locally). Again, refuse ::0/0 (all IPv6s) but allow ::1 (localhost).%0a%3c %0a%3c Put this at the bottom of the file:%0a%3c %0a%3c %3ccode>%0a%3c forward-zone:%0a%3c name: "." # use for ALL queries%0a%3c forward-addr: 163.53.248.170%0a%3c forward-addr: 103.236.162.119%0a%3c forward-addr: 192.99.85.244%0a%3c forward-addr: 31.171.251.118%0a%3c forward-addr: 51.254.25.115%0a%3c forward-addr: 46.101.70.183%0a%3c forward-addr: 45.71.112.70%0a%3c forward-addr: 87.98.175.85%0a%3c forward-addr: 185.208.208.141%0a%3c forward-addr: 89.35.39.64%0a%3c forward-addr: 87.98.175.85%0a%3c forward-addr: 172.98.193.42%0a%3c forward-addr: 111.67.20.8%0a%3c %3c/code>%0a%3c %0a%3c These are IP addresses for DNS servers which I got from [[https://servers.opennic.org/]]. However, the servers change regularly so make sure you update the list.%0a%3c %0a%3c To start unbound:%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl enable unbound%0a%3c $ doas rcctl start unbound%0a%3c %3c/code>%0a%3c %0a%3c To test if unbound is working:%0a%3c %0a%3c %3ccode>%0a%3c $ dig @127.0.0.1 google.com%0a%3c %3c/code>%0a%3c %0a%3c You should see something like this:%0a%3c %0a%3c %3ccode>%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1597226988=38.81.163.143 +author:1597224841=jrmu +diff:1597224841:1597224841:=1,81d0%0a%3c Unbound is a caching DNS resolver that comes as a part of OpenBSD base. You can use this to provide faster as well as more secure DNS lookup for the users on your network.%0a%3c %0a%3c Here's a sample /var/unbound/etc/unbound.conf:%0a%3c %0a%3c %3ccode>%0a%3c server:%0a%3c interface: 127.0.0.1 # listen on localhost%0a%3c interface: 192.168.1.1 # listen on 192.168.1.1 to provide DNS for users on a network%0a%3c interface: ::1%0a%3c #do-ip6: no%0a%3c %0a%3c access-control: 0.0.0.0/0 refuse # block all users by default%0a%3c access-control: 127.0.0.0/8 allow # allow localhost to use unbound%0a%3c access-control: 192.168.0.0/16 allow # allow users on your network to use unbound%0a%3c access-control: ::0/0 refuse # block all IPv6 users by default%0a%3c access-control: ::1 allow # allow IPv6 localhost to use unbound%0a%3c %0a%3c hide-identity: yes%0a%3c hide-version: yes%0a%3c %0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/run/unbound.sock%0a%3c %0a%3c forward-zone:%0a%3c name: "."%0a%3c forward-addr: 185.117.154.144%0a%3c forward-addr: 165.227.40.43%0a%3c forward-addr: 217.144.132.169%0a%3c forward-addr: 212.237.22.141%0a%3c forward-addr: 165.227.108.86%0a%3c %3c/code>%0a%3c %0a%3c The forward-addr lines indicate which nameserver unbound will query. You can find a list of public servers on [[https://servers.opennic.org/|OpenNIC]].%0a%3c %0a%3c if you are using another server as a master, set forwarding from this server as a priority:%0a%3c %3ccode>%0a%3c forward-zone:%0a%3c name: "example.com."%0a%3c forward-addr: 10.10.10.10@53%0a%3c forward-first: no%0a%3c forward-no-cache: no%0a%3c %3c/code>%0a%3c %0a%3c If you need to store local zones, add a block to the "server" section about it:%0a%3c %3ccode>%0a%3c local-zone: "localhost." static%0a%3c local-data: "localhost. 10800 IN NS localhost."%0a%3c local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"%0a%3c local-data: "localhost. 10800 IN A 127.0.0.1"%0a%3c local-data: "localhost. 10800 IN AAAA ::1"%0a%3c %3c/code>%0a%3c %0a%3c To start unbound:%0a%3c %3ccode>%0a%3c $ doas rcctl enable unbound%0a%3c $ doas rcctl start unbound%0a%3c %3c/code>%0a%3c %0a%3c For the computer that runs unbound, you'll want to make sure /etc/resolv.conf uses 127.0.0.1 as the nameserver (that is, you query unbound running on port 53). In /etc/resolv.conf:%0a%3c %0a%3c %3ccode>%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c %3c/code>%0a%3c %0a%3c Check to make sure /etc/resolv.conf.tail does not contain any other name servers except 127.0.0.1. All your nameservers should instead be specified in /var/unbound/etc/unbound.conf.%0a%3c %0a%3c If the computer running unbound uses DHCP for network configuration, you will want to include this line in /etc/dhclient.conf:%0a%3c %0a%3c %3ccode>%0a%3c ignore domain-name-servers;%0a%3c %3c/code>%0a%3c %0a%3c This tells OpenBSD's dhclient to ignore the name server provided by the dhcp server.%0a%3c %0a%3c If the computer running unbound is also providing a dhcp server for your local network, you will want to add this line inside your /etc/dhcpd.conf blocks:%0a%3c %0a%3c %3ccode>%0a%3c option domain-name-servers 192.168.1.1;%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597224841=38.81.163.143 blob - /dev/null blob + 3d1c1cb1d33e09653dfd5e79dfb34a7591f96af1 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Unboundadblock @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612240167 +host=198.251.81.119 +name=Openbsd.Unboundadblock +rev=1 +targets= +text=https://www.geoghegan.ca/unbound-adblock.html +time=1612240167 +author:1612240167=jrmu +diff:1612240167:1612240167:=1d0%0a%3c https://www.geoghegan.ca/unbound-adblock.html%0a\ No newline at end of file%0a +host:1612240167=198.251.81.119 blob - /dev/null blob + 3d62ed9f4a50045db35a46813ef95ae25e56a933 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Upgrade67 @@ -0,0 +1,91 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607689838 +host=198.251.81.119 +name=Openbsd.Upgrade67 +rev=26 +targets=Openbsd.Bsdrd,Openbsd.Sysupgrade68,Openbsd.Upgrade68,Openbsd.Dump,Openbsd.Restore,Openbsd.Vmmuser,Openbsd.Cu,Openbsd.Buyvm,Openbsd.Pkgadd,Openbsd.Ssh,Openbsd.Top,Openbsd.Syspatch,Openbsd.Fwupdate +text=(:title OpenBSD 6.7 Upgrade Guide:)%0a%0aThis is an upgrade guide for [[https://openbsd.org/67.html|OpenBSD 6.7]] using [[openbsd/bsdrd|bsd.rd]]. It assumes you have OpenBSD 6.6 or 6.7 installed and working networking. It can be used to repair OpenBSD 6.6 or 6.7.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade67.html|6.7 Upgrade Guide]].%0a%0aCheck to see if you need to upgrade your OS. To find out your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a%0a# Make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a# Make sure to notify all your users in advance that there will be downtime during the upgrade.%0a# You will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a# First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]].%0a# Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:\\%0a[@%0a$ ftp https://ftp.openbsd.org/pub/OpenBSD/6.7/amd64/bsd.rd%0a$ ftp https://ftp.openbsd.org/pub/OpenBSD/6.7/amd64/SHA256.sig%0a$ signify -C -p /etc/signify/openbsd-67-base.pub -x SHA256.sig bsd.rd%0a$ doas cp bsd.rd /bsd.rd%0a$ doas shutdown -r now%0a@]\\%0aAttach:upgrade67-1.png\\%0a'''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a# At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.\\%0aAttach:upgrade67-2a.png%0a# If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.\\%0aAttach:upgrade67-2b.png%0a# Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.%0a# Press enter for vt220.%0a# To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a# There is no probably need to force check clean non-root filesystems, so just press enter.\\%0aAttach:upgrade67-3.png%0a# You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0aAttach:upgrade67-4.png%0a# For this tutorial, we will not use a proxy. Press enter for none.%0a# For the HTTP server, press ? to show a list of servers. Choose the one closest to your location.%0a# Leave the server directory as pub/OpenBSD/6.7/amd64 and press enter.%0a# Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.\\%0aAttach:upgrade67-5.png%0a# If downloading sets over http, make sure that the SHA256.sig file is verified.%0a# Press enter for done.\\%0aAttach:upgrade67-6.png%0a# Press enter to reboot.%0a# '''NOTE''': If you booted from ISO, flash drive, or some other external install media, you will need to make sure that the bootloader boots from the proper hard disk. If you're using BuyVM, see the [[Openbsd/Buyvm|BuyVM User Guide]] for how to switch the default boot order.%0a# The system will automatically boot OpenBSD 6.7.\\%0aAttach:upgrade67-7.png%0a# You will see a list of patches that need to be installed and conf files that need to be updated.\\%0aAttach:upgrade67-8.png%0a# At this point, you can now use [[openbsd/ssh|ssh]] to log in.%0a# Make sure to read and fix any error messages that you may see.%0a# To check if installation succeeded:\\%0a[@%0a$ uname -a%0aOpenBSD fruit.ircnow.org 6.7 GENERIC#179 amd64%0a@]%0a# To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].\\%0aAttach:upgrade68-7.png%0a# You will want to [[Openbsd/syspatch|patch]] the system:\\%0a[@%0a$ doas syspatch%0a@]%0a# Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:\\%0a[@%0a$ doas sysmerge%0a@]%0a# Then, make sure to upgrade your packages:\\%0a[@%0a$ doas pkg_add -u%0a@]%0a# You may optionally install any firmware by running [[openbsd/fwupdate|fw_update]]:\\%0a[@%0a$ doas fw_update -a%0a@]%0a# This is not advised, however, because some of the firmware may be proprietary.%0a# You will want to reboot after installing patches:\\%0a[@%0a$ doas shutdown -r now%0a@] +time=1607832141 +title=OpenBSD 6.7 Upgrade Guide +author:1607832141=jrmu +diff:1607832141:1607774290:=7c7%0a%3c Check to see if you need to upgrade your OS. To find out your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a---%0a> Check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a +host:1607832141=198.251.81.119 +author:1607774290=jrmu +diff:1607774290:1607773861:=46c46%0a%3c # You will see a list of patches that need to be installed and conf files that need to be updated.\\%0a---%0a> # You will see a list of patches that need to be installed and conf files that need to be updated.%0a +host:1607774290=38.81.163.7 +author:1607773861=jrmu +diff:1607773861:1607773387:=44c44%0a%3c # The system will automatically boot OpenBSD 6.7.\\%0a---%0a> # The system will automatically boot OpenBSD 6.7.%0a46d45%0a%3c # You will see a list of patches that need to be installed and conf files that need to be updated.%0a48,50c47,52%0a%3c # At this point, you can now use [[openbsd/ssh|ssh]] to log in.%0a%3c # Make sure to read and fix any error messages that you may see.%0a%3c # To check if installation succeeded:\\%0a---%0a> Attach:upgrade67-9.png%0a> Attach:upgrade67-10.png%0a> Attach:upgrade67-11.png%0a> %0a> To check if installation succeeded:%0a> %0a53c55%0a%3c OpenBSD fruit.ircnow.org 6.7 GENERIC#179 amd64%0a---%0a> OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a55c57,59%0a%3c # To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].\\%0a---%0a> %0a> To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a> %0a57c61,63%0a%3c # You will want to [[Openbsd/syspatch|patch]] the system:\\%0a---%0a> %0a> You will want to [[Openbsd/syspatch|patch]] the system:%0a> %0a61c67,69%0a%3c # Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:\\%0a---%0a> %0a> Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a> %0a65c73,75%0a%3c # Then, make sure to upgrade your packages:\\%0a---%0a> %0a> Then, make sure to upgrade your packages:%0a> %0a69c79,83%0a%3c # You may optionally install any firmware by running [[openbsd/fwupdate|fw_update]]:\\%0a---%0a> %0a> Read and fix any error messages that you may see.%0a> %0a> You will want to reboot after some patches:%0a> %0a71c85%0a%3c $ doas fw_update -a%0a---%0a> $ doas shutdown -r now%0a73,77d86%0a%3c # This is not advised, however, because some of the firmware may be proprietary.%0a%3c # You will want to reboot after installing patches:\\%0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a\ No newline at end of file%0a +host:1607773861=38.81.163.7 +author:1607773387=jrmu +diff:1607773387:1607773325:=25c25%0a%3c # If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.\\%0a---%0a> # If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.%0a +host:1607773387=38.81.163.7 +author:1607773325=jrmu +diff:1607773325:1607773162:=42,44d41%0a%3c # Press enter to reboot.%0a%3c # '''NOTE''': If you booted from ISO, flash drive, or some other external install media, you will need to make sure that the bootloader boots from the proper hard disk. If you're using BuyVM, see the [[Openbsd/Buyvm|BuyVM User Guide]] for how to switch the default boot order.%0a%3c # The system will automatically boot OpenBSD 6.7.%0a45a43%0a> # Press enter to reboot the system.\\%0a +host:1607773325=38.81.163.7 +author:1607773162=jrmu +diff:1607773162:1607773005:=39,40c39%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.%0a%3c # Press enter for done.\\%0a---%0a> # If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0a41a41%0a> # Press enter for done.\\%0a +host:1607773162=38.81.163.7 +author:1607773005=jrmu +diff:1607773005:1607772904:=27c27%0a%3c # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.%0a---%0a> # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.\\%0a +host:1607773005=38.81.163.7 +author:1607772904=jrmu +diff:1607772904:1607772666:=26d25%0a%3c Attach:upgrade67-2b.png%0a27a27%0a> Attach:upgrade67-2b.png%0a +host:1607772904=38.81.163.7 +author:1607772666=jrmu +diff:1607772666:1607772642:=25c25%0a%3c # If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.%0a---%0a> # If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.\\%0a +host:1607772666=38.81.163.7 +author:1607772642=jrmu +diff:1607772642:1607772461:=22c22%0a%3c '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a---%0a> '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.\\%0a +host:1607772642=38.81.163.7 +author:1607772461=jrmu +diff:1607772461:1607744945:=5c5%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade67.html|6.7 Upgrade Guide]].%0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade67.html|Upgrade Guide]].%0a +host:1607772461=38.81.163.7 +author:1607744945=jrmu +diff:1607744945:1607741844:= +host:1607744945=198.251.81.119 +author:1607741844=jrmu +diff:1607741844:1607741417:=26d25%0a%3c # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.\\%0a27a27,28%0a> # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.\\%0a> Attach:upgrade67-3.png%0a31,32d31%0a%3c Attach:upgrade67-3.png%0a%3c # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a33a33,34%0a> # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a> Attach:upgrade67-5.png%0a38,39d38%0a%3c Attach:upgrade67-5.png%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0a40a40,41%0a> # If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0a> Attach:upgrade67-7.png%0a42,43d42%0a%3c Attach:upgrade67-7.png%0a%3c # Press enter to reboot the system.\\%0a44a44%0a> # Press enter to reboot the system.\\%0a +host:1607741844=198.251.81.119 +author:1607741417=jrmu +diff:1607741417:1607741043:=31c31,32%0a%3c # There is no probably need to force check clean non-root filesystems, so just press enter.\\%0a---%0a> # Press enter to install%0a> %0a33d33%0a%3c # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a35,38d34%0a%3c # For this tutorial, we will not use a proxy. Press enter for none.%0a%3c # For the HTTP server, press ? to show a list of servers. Choose the one closest to your location.%0a%3c # Leave the server directory as pub/OpenBSD/6.7/amd64 and press enter.%0a%3c # Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.\\%0a40d35%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0a42d36%0a%3c # Press enter for done.\\%0a44d37%0a%3c # Press enter to reboot the system.\\%0a +host:1607741417=198.251.81.119 +author:1607741043=jrmu +diff:1607741043:1607740941:=29,31c29,34%0a%3c # Press enter for vt220.%0a%3c # To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a%3c # Press enter to install%0a---%0a> %0a> Press enter for vt220.%0a> %0a> To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a> %0a> Press enter to install%0a +host:1607741043=198.251.81.119 +author:1607740941=jrmu +diff:1607740941:1607740721:=7,13c7,16%0a%3c Check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a%3c %0a%3c # Make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c # Make sure to notify all your users in advance that there will be downtime during the upgrade.%0a%3c # You will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a%3c # First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]].%0a%3c # Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:\\%0a---%0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a> %0a> First, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a> %0a> Secondly, make sure to notify all your users in advance that there will be downtime during the upgrade.%0a> %0a> Next, you will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a> %0a> First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]]. Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:%0a> %0a20,23c23,30%0a%3c @]\\%0a%3c Attach:upgrade67-1.png\\%0a%3c '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.\\%0a%3c # At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.\\%0a---%0a> @]%0a> %0a> Attach:upgrade67-1.png%0a> %0a> '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a> %0a> At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.%0a> %0a25c32,34%0a%3c # If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.\\%0a---%0a> %0a> If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.%0a> %0a27c36,38%0a%3c # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.\\%0a---%0a> %0a> Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.%0a> %0a29,35d39%0a%3c %0a%3c Press enter for vt220.%0a%3c %0a%3c To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a%3c %0a%3c Press enter to install%0a%3c %0a +host:1607740941=198.251.81.119 +author:1607740721=jrmu +diff:1607740721:1607740613:=36,37d35%0a%3c %0a%3c Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.7. You can use this to either upgrade from 6.6 or to repair an existing 6.7 system.%0a +host:1607740721=198.251.81.119 +author:1607740613=jrmu +diff:1607740613:1607740476:=27,28d26%0a%3c '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a%3c %0a30d27%0a%3c %0a32,34d28%0a%3c %0a%3c If you did everything correctly, you should see OpenBSD 6.7 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.6, you did not follow the above steps correctly.%0a%3c %0a +host:1607740613=198.251.81.119 +author:1607740476=jrmu +diff:1607740476:1607740071:=25,30c25%0a%3c Attach:upgrade67-1.png%0a%3c %0a%3c At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.%0a%3c Attach:upgrade67-2a.png%0a%3c Attach:upgrade67-2b.png%0a%3c %0a---%0a> Attach:upgrade67-2.png%0a +host:1607740476=198.251.81.119 +author:1607740071=jrmu +diff:1607740071:1607739884:=15,16c15,16%0a%3c First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]]. Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:%0a%3c %0a---%0a> First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]]. Then, verify the signature:%0a> %0a20a21,27%0a> @]%0a> %0a> Attach:upgrade67-1.png%0a> %0a> Replace /bsd.rd with the new bsd.rd, then reboot:%0a> %0a> [@%0a +host:1607740071=198.251.81.119 +author:1607739884=jrmu +diff:1607739884:1607739561:=11,12d10%0a%3c Secondly, make sure to notify all your users in advance that there will be downtime during the upgrade.%0a%3c %0a15,22d12%0a%3c First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]]. Then, verify the signature:%0a%3c %0a%3c [@%0a%3c $ ftp https://ftp.openbsd.org/pub/OpenBSD/6.7/amd64/bsd.rd%0a%3c $ ftp https://ftp.openbsd.org/pub/OpenBSD/6.7/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-67-base.pub -x SHA256.sig bsd.rd%0a%3c @]%0a%3c %0a24,31d13%0a%3c %0a%3c Replace /bsd.rd with the new bsd.rd, then reboot:%0a%3c %0a%3c [@%0a%3c $ doas cp bsd.rd /bsd.rd%0a%3c $ doas shutdown -r now%0a%3c @]%0a%3c %0a +host:1607739884=198.251.81.119 +author:1607739561=jrmu +diff:1607739561:1607739480:=13,24d12%0a%3c Attach:upgrade67-1.png%0a%3c Attach:upgrade67-2.png%0a%3c Attach:upgrade67-3.png%0a%3c Attach:upgrade67-4.png%0a%3c Attach:upgrade67-5.png%0a%3c Attach:upgrade67-6.png%0a%3c Attach:upgrade67-7.png%0a%3c Attach:upgrade67-8.png%0a%3c Attach:upgrade67-9.png%0a%3c Attach:upgrade67-10.png%0a%3c Attach:upgrade67-11.png%0a%3c %0a60a49,60%0a> %0a> Attach:upgrade67-1.png%0a> Attach:upgrade67-2.png%0a> Attach:upgrade67-3.png%0a> Attach:upgrade67-4.png%0a> Attach:upgrade67-5.png%0a> Attach:upgrade67-6.png%0a> Attach:upgrade67-7.png%0a> Attach:upgrade67-8.png%0a> Attach:upgrade67-9.png%0a> Attach:upgrade67-10.png%0a> Attach:upgrade67-11.png%0a\ No newline at end of file%0a +host:1607739561=198.251.81.119 +author:1607739480=jrmu +diff:1607739480:1607738359:=11c11,15%0a%3c Next, you will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a---%0a> [@%0a> $ doas sysupgrade%0a> @]%0a> %0a> The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a +host:1607739480=198.251.81.119 +author:1607738359=jrmu +diff:1607738359:1607738021:=3,4c3,4%0a%3c This is an upgrade guide for [[https://openbsd.org/67.html|OpenBSD 6.7]] using [[openbsd/bsdrd|bsd.rd]]. It assumes you have OpenBSD 6.6 or 6.7 installed and working networking. It can be used to repair OpenBSD 6.6 or 6.7.%0a%3c %0a---%0a> This is a quick upgrade guide for [[https://openbsd.org/67.html|OpenBSD 6.7]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a> %0a7,9c7,9%0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS, or you can follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides to upgrade.%0a%3c %0a%3c First, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a---%0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you need to follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides.%0a> %0a> Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a +host:1607738359=198.251.81.119 +author:1607738021=jrmu +diff:1607738021:1607689838:=1,53d0%0a%3c (:title OpenBSD 6.7 Upgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for [[https://openbsd.org/67.html|OpenBSD 6.7]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade67.html|Upgrade Guide]].%0a%3c %0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.6 GENERIC#6 amd64@@, you need to upgrade to 6.7 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC.MP#98 amd64@@, you need to follow the [[openbsd/sysupgrade68|Sysupgrade 6.8]] or the [[openbsd/upgrade68|Upgrade 6.8]] guides.%0a%3c %0a%3c Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c %0a%3c [@%0a%3c $ doas sysupgrade%0a%3c @]%0a%3c %0a%3c The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a%3c %0a%3c To check if installation succeeded:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a%3c @]%0a%3c %0a%3c To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%3c %0a%3c Attach:upgrade68-7.png%0a%3c %0a%3c You will want to [[Openbsd/syspatch|patch]] the system:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%3c %0a%3c [@%0a%3c $ doas sysmerge%0a%3c @]%0a%3c %0a%3c Then, make sure to upgrade your packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Read and fix any error messages that you may see.%0a%3c %0a%3c You will want to reboot after some patches:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a%3c %0a +host:1607738021=198.251.81.119 +author:1607689838=jrmu +diff:1607689838:1607689838:=1,11d0%0a%3c Attach:upgrade67-1.png%0a%3c Attach:upgrade67-2.png%0a%3c Attach:upgrade67-3.png%0a%3c Attach:upgrade67-4.png%0a%3c Attach:upgrade67-5.png%0a%3c Attach:upgrade67-6.png%0a%3c Attach:upgrade67-7.png%0a%3c Attach:upgrade67-8.png%0a%3c Attach:upgrade67-9.png%0a%3c Attach:upgrade67-10.png%0a%3c Attach:upgrade67-11.png%0a\ No newline at end of file%0a +host:1607689838=198.251.81.119 blob - /dev/null blob + ce1c20a853350f5590bc83d9356b03f75cc72d91 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Upgrade68 @@ -0,0 +1,70 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607165405 +host=198.251.81.119 +name=Openbsd.Upgrade68 +rev=19 +targets=Openbsd.Bsdrd,Openbsd.Dump,Openbsd.Restore,Openbsd.Vmmuser,Openbsd.Cu,Openbsd.Buyvm,Openbsd.Pkgadd,Openbsd.Ssh,Openbsd.Top,Openbsd.Syspatch,Openbsd.Fwupdate +text=(:title OpenBSD 6.8 Upgrade Guide:)%0a%0aThis is an upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[openbsd/bsdrd|bsd.rd]]. It assumes you have OpenBSD 6.7 or 6.8 installed and working networking. It can be used to repair OpenBSD 6.7 or 6.8.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|6.8 Upgrade Guide]].%0a%0aCheck to see if you need to upgrade your OS. To find out your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you can upgrade to 6.8 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS. Otherwise, there is no need to upgrade.%0a%0a# Make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a# Make sure to notify all your users in advance that there will be downtime during the upgrade.%0a# You will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a# First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]].%0a# Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:\\%0a[@%0a$ ftp https://ftp.openbsd.org/pub/OpenBSD/6.8/amd64/bsd.rd%0a$ ftp https://ftp.openbsd.org/pub/OpenBSD/6.8/amd64/SHA256.sig%0a$ signify -C -p /etc/signify/openbsd-68-base.pub -x SHA256.sig bsd.rd%0a$ doas cp bsd.rd /bsd.rd%0a$ doas shutdown -r now%0a@]\\%0aAttach:upgrade68-1.png\\%0a'''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a# At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.\\%0aAttach:upgrade68-2.png%0a# If you did everything correctly, you should see OpenBSD 6.8 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.7, you did not follow the above steps correctly.\\%0aAttach:upgrade68-2b.png%0a# Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.8. You can use this to either upgrade from 6.7 or to repair an existing 6.8 system.\\%0aAttach:upgrade68-3.png%0a# Press enter for vt220.%0a# To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a# There is no probably need to force check clean non-root filesystems, so just press enter.\\%0aAttach:upgrade68-3b.png%0a# You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.%0a# For this tutorial, we will not use a proxy. Press enter for none.%0a# For the HTTP server, press ? to show a list of servers. Choose the one closest to your location.%0a# Leave the server directory as pub/OpenBSD/6.8/amd64 and press enter.%0a# Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.%0a# If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0aAttach:upgrade68-4.png%0a# Press enter for done.%0a# Press enter to reboot.%0a# '''NOTE''': If you booted from ISO, flash drive, or some other external install media, you will need to make sure that the bootloader boots from the proper hard disk. If you're using BuyVM, see the [[Openbsd/Buyvm|BuyVM User Guide]] for how to switch the default boot order.%0a# The system will automatically boot OpenBSD 6.8.\\%0aAttach:upgrade68-5.png%0a# You will see a list of patches that need to be installed and conf files that need to be updated.%0a# At this point, you can now use [[openbsd/ssh|ssh]] to log in.%0a# Make sure to read and fix any error messages that you may see.\\%0aAttach:upgrade68-6.png%0a# To check if installation succeeded:\\%0a[@%0a$ uname -a%0aOpenBSD fruit.ircnow.org 6.8 GENERIC#179 amd64%0a@]%0a# If you see 6.7, installation did not succeed.%0a# To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].\\%0aAttach:upgrade68-7.png%0a# If you do not see the correct number of cores, make sure to reinstall all the base sets by following this upgrade guide from the beginning.%0a# You will want to [[Openbsd/syspatch|patch]] the system:\\%0a[@%0a$ doas syspatch%0a@]%0a# Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:\\%0a[@%0a$ doas sysmerge%0a@]%0a# Then, make sure to upgrade your packages:\\%0a[@%0a$ doas pkg_add -u%0a@]%0a# You may optionally install any firmware by running [[openbsd/fwupdate|fw_update]]:\\%0a[@%0a$ doas fw_update -a%0a@]%0a# This is not advised, however, because some of the firmware may be proprietary.%0a# You will want to reboot after installing patches:\\%0a[@%0a$ doas shutdown -r now%0a@] +time=1607857929 +title=OpenBSD 6.8 Upgrade Guide +author:1607857929=jrmu +diff:1607857929:1607857759:=54d53%0a%3c # If you see 6.7, installation did not succeed.%0a57d55%0a%3c # If you do not see the correct number of cores, make sure to reinstall all the base sets by following this upgrade guide from the beginning.%0a +host:1607857929=198.251.81.119 +author:1607857759=jrmu +diff:1607857759:1607857663:=47c47%0a%3c # Make sure to read and fix any error messages that you may see.\\%0a---%0a> # Make sure to read and fix any error messages that you may see.%0a +host:1607857759=198.251.81.119 +author:1607857663=jrmu +diff:1607857663:1607857090:=44a45,46%0a> Attach:upgrade68-6.png%0a> Attach:upgrade68-7.png%0a48d49%0a%3c Attach:upgrade68-6.png%0a +host:1607857663=198.251.81.119 +author:1607857090=jrmu +diff:1607857090:1607856591:=37,38c37%0a%3c # Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.\\%0a---%0a> # Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.\\%0a40c39,43%0a%3c # Press enter for done.%0a---%0a> # If downloading sets over http, make sure that the SHA256.sig file is verified.%0a> # Press enter for done.\\%0a> Attach:upgrade68-5.png%0a> Attach:upgrade68-6.png%0a> Attach:upgrade68-7.png%0a43,46c46%0a%3c # The system will automatically boot OpenBSD 6.8.\\%0a%3c Attach:upgrade68-5.png%0a%3c Attach:upgrade68-6.png%0a%3c Attach:upgrade68-7.png%0a---%0a> # The system will automatically boot OpenBSD 6.8.%0a +host:1607857090=198.251.81.119 +author:1607856591=jrmu +diff:1607856591:1607856247:=33c33,34%0a%3c # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.%0a---%0a> # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a> Attach:upgrade68-4.png%0a38,40d38%0a%3c Attach:upgrade68-4.png%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.%0a%3c # Press enter for done.\\%0a42a41,42%0a> # If downloading sets over http, make sure that the SHA256.sig file is verified.%0a> # Press enter for done.\\%0a +host:1607856591=198.251.81.119 +author:1607856247=jrmu +diff:1607856247:1607855954:=33d32%0a%3c # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a34a34,35%0a> # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a> Attach:upgrade68-5.png%0a39d39%0a%3c Attach:upgrade68-5.png%0a +host:1607856247=198.251.81.119 +author:1607855954=jrmu +diff:1607855954:1607833717:=32d31%0a%3c Attach:upgrade68-3b.png%0a +host:1607855954=198.251.81.119 +author:1607833717=jrmu +diff:1607833717:1607832144:=26,27d25%0a%3c Attach:upgrade68-2b.png%0a%3c # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.8. You can use this to either upgrade from 6.7 or to repair an existing 6.8 system.\\%0a28a27%0a> # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.8. You can use this to either upgrade from 6.7 or to repair an existing 6.8 system.%0a +host:1607833717=198.251.81.119 +author:1607832144=jrmu +diff:1607832144:1607791477:=7c7%0a%3c Check to see if you need to upgrade your OS. To find out your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you can upgrade to 6.8 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS. Otherwise, there is no need to upgrade.%0a---%0a> Check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you can upgrade to 6.8 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS. Otherwise, there is no need to upgrade.%0a +host:1607832144=198.251.81.119 +author:1607791477=jrmu +diff:1607791477:1607682583:=3,13c3,10%0a%3c This is an upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[openbsd/bsdrd|bsd.rd]]. It assumes you have OpenBSD 6.7 or 6.8 installed and working networking. It can be used to repair OpenBSD 6.7 or 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|6.8 Upgrade Guide]].%0a%3c %0a%3c Check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you can upgrade to 6.8 using this guide. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you can follow this guide to repair your OS. Otherwise, there is no need to upgrade.%0a%3c %0a%3c # Make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c # Make sure to notify all your users in advance that there will be downtime during the upgrade.%0a%3c # You will need a way to view the serial console. If you are using [[Openbsd/Vmmuser|VMM]], you can view it using the [[Openbsd/cu|serial console]]. If you are using [[Openbsd/Buyvm|BuyVM]], you should use VNC. Make sure to have the serial console open so you can interrupt the normal bootup process during the upgrade.%0a%3c # First, download bsd.rd and the SHA256 signature file from an [[https://openbsd.org/ftp.html|OpenBSD mirror]].%0a%3c # Verify the signature, replace /bsd.rd with the new bsd.rd, then reboot:\\%0a---%0a> This is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a> %0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a> %0a> First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a> %0a> Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a> %0a15,23c12,17%0a%3c $ ftp https://ftp.openbsd.org/pub/OpenBSD/6.8/amd64/bsd.rd%0a%3c $ ftp https://ftp.openbsd.org/pub/OpenBSD/6.8/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-68-base.pub -x SHA256.sig bsd.rd%0a%3c $ doas cp bsd.rd /bsd.rd%0a%3c $ doas shutdown -r now%0a%3c @]\\%0a%3c Attach:upgrade68-1.png\\%0a%3c '''NOTE''': You must type something within 3 seconds or else bootup will continue automatically. If bootup does happen automatically, login and reboot by typing @@doas shutdown -r now@@.%0a%3c # At the serial console (either cu or VNC), before automatic bootup, type @@boot /bsd.rd@@.\\%0a---%0a> $ doas sysupgrade%0a> @]%0a> %0a> The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a> %0a> Attach:upgrade68-1.png%0a25d18%0a%3c # If you did everything correctly, you should see OpenBSD 6.8 (RAMDISK_CD) in the boot screen. If you see OpenBSD 6.7, you did not follow the above steps correctly.\\%0a27,30d19%0a%3c # Type u for (U)pgrade. Upgrading will allow you to install OpenBSD 6.8. You can use this to either upgrade from 6.7 or to repair an existing 6.8 system.%0a%3c # Press enter for vt220.%0a%3c # To check which root disk, press ? for details. '''NOTE''': Be careful to install to the correct disk.%0a%3c # There is no probably need to force check clean non-root filesystems, so just press enter.\\%0a32d20%0a%3c # You can get the base sets from cd (ISO), disk (such as USB flash drive), or http. For this tutorial, we will use http.\\%0a34,37d21%0a%3c # For this tutorial, we will not use a proxy. Press enter for none.%0a%3c # For the HTTP server, press ? to show a list of servers. Choose the one closest to your location.%0a%3c # Leave the server directory as pub/OpenBSD/6.8/amd64 and press enter.%0a%3c # Install all the sets. It is not possible to install missing sets using [[openbsd/pkgadd|pkg_add]]; you will be required to re-run the installer. So, we don't recommend skipping any sets. Missing sets may cause issues later.\\%0a39,40c23,32%0a%3c # If downloading sets over http, make sure that the SHA256.sig file is verified.%0a%3c # Press enter for done.\\%0a---%0a> %0a> To check if installation succeeded:%0a> %0a> [@%0a> $ uname -a%0a> OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a> @]%0a> %0a> To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a> %0a42,48c34,36%0a%3c # Press enter to reboot.%0a%3c # '''NOTE''': If you booted from ISO, flash drive, or some other external install media, you will need to make sure that the bootloader boots from the proper hard disk. If you're using BuyVM, see the [[Openbsd/Buyvm|BuyVM User Guide]] for how to switch the default boot order.%0a%3c # The system will automatically boot OpenBSD 6.8.%0a%3c # You will see a list of patches that need to be installed and conf files that need to be updated.%0a%3c # At this point, you can now use [[openbsd/ssh|ssh]] to log in.%0a%3c # Make sure to read and fix any error messages that you may see.%0a%3c # To check if installation succeeded:\\%0a---%0a> %0a> You will want to [[Openbsd/syspatch|patch]] the system:%0a> %0a50,51c38%0a%3c $ uname -a%0a%3c OpenBSD fruit.ircnow.org 6.8 GENERIC#179 amd64%0a---%0a> $ doas syspatch%0a53,55c40,42%0a%3c # To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].\\%0a%3c Attach:upgrade68-7.png%0a%3c # You will want to [[Openbsd/syspatch|patch]] the system:\\%0a---%0a> %0a> Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a> %0a57c44%0a%3c $ doas syspatch%0a---%0a> $ doas sysmerge%0a59c46,48%0a%3c # Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:\\%0a---%0a> %0a> Then, make sure to upgrade your packages:%0a> %0a61c50%0a%3c $ doas sysmerge%0a---%0a> $ doas pkg_add -u%0a63,72c52,56%0a%3c # Then, make sure to upgrade your packages:\\%0a%3c [@%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c # You may optionally install any firmware by running [[openbsd/fwupdate|fw_update]]:\\%0a%3c [@%0a%3c $ doas fw_update -a%0a%3c @]%0a%3c # This is not advised, however, because some of the firmware may be proprietary.%0a%3c # You will want to reboot after installing patches:\\%0a---%0a> %0a> Read and fix any error messages that you may see.%0a> %0a> You will want to reboot after some patches:%0a> %0a +host:1607791477=198.251.81.119 +author:1607682583=jrmu +diff:1607682583:1607571182:=3,4c3,4%0a%3c This is a quick upgrade guide for [[https://openbsd.org/68.html|OpenBSD 6.8]] using [[https://man.openbsd.org/sysupgrade|sysupgrade]].%0a%3c %0a---%0a> This is a quick upgrade guide for OpenBSD 6.8.%0a> %0a30,33d29%0a%3c %0a%3c To check if you have the proper amount of RAM and number of cores, run [[openbsd/top|top]].%0a%3c %0a%3c Attach:upgrade68-7.png%0a +host:1607682583=198.251.81.119 +author:1607571182=jrmu +diff:1607571182:1607439463:=42,49d41%0a%3c %0a%3c Then, make sure to upgrade your packages:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Read and fix any error messages that you may see.%0a +host:1607571182=125.231.36.229 +author:1607439463=jrmu +diff:1607439463:1607168647:=7,9c7%0a%3c First, check to see if you need to upgrade your OS. To find our your operating system version, type: @@uname -a@@. If it says @@OpenBSD fruit.ircnow.org 6.7 GENERIC#6 amd64@@, you need to upgrade. If it says @@OpenBSD fruit.ircnow.org 6.8 GENERIC.MP#98 amd64@@, you are on the most recent OS version.%0a%3c %0a%3c Next, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a---%0a> First, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a +host:1607439463=198.251.81.119 +author:1607168647=jrmu +diff:1607168647:1607168409:=22,24c22%0a%3c To check if installation succeeded:%0a%3c %0a%3c [@%0a---%0a> To check if installation%0a26,45c24%0a%3c OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a%3c @]%0a%3c %0a%3c You will want to [[Openbsd/syspatch|patch]] the system:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c Then, you'll want to run [[https://man.openbsd.org/sysmerge|sysmerge]] to merge any configuration files:%0a%3c %0a%3c [@%0a%3c $ doas sysmerge%0a%3c @]%0a%3c %0a%3c You will want to reboot after some patches:%0a%3c %0a%3c [@%0a%3c $ doas shutdown -r now%0a%3c @]%0a\ No newline at end of file%0a---%0a> OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a\ No newline at end of file%0a +host:1607168647=38.81.163.7 +author:1607168409=jrmu +diff:1607168409:1607168264:=12,13d11%0a%3c %0a%3c The upgrade should begin automatically. You can view it in the [[Openbsd/cu|serial console]] for [[VPS/intro|VMM]] or in VNC for [[Openbsd/buyvm|BuyVM]].%0a +host:1607168409=38.81.163.7 +author:1607168264=jrmu +diff:1607168264:1607166436:=11,22c11%0a%3c @]%0a%3c %0a%3c Attach:upgrade68-1.png%0a%3c Attach:upgrade68-2.png%0a%3c Attach:upgrade68-3.png%0a%3c Attach:upgrade68-4.png%0a%3c Attach:upgrade68-5.png%0a%3c Attach:upgrade68-6.png%0a%3c %0a%3c To check if installation%0a%3c $ uname -a%0a%3c OpenBSD pear.my.domain 6.8 GENERIC.MP#98 amd64%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1607168264=38.81.163.7 +author:1607166436=jrmu +diff:1607166436:1607165831:=10,11c10%0a%3c $ doas sysupgrade%0a%3c @]%0a\ No newline at end of file%0a---%0a> $ doas sysupgrade%0a\ No newline at end of file%0a +host:1607166436=38.81.163.7 +author:1607165831=jrmu +diff:1607165831:1607165405:=5,10c5%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]].%0a%3c %0a%3c First, make sure to back up any files. Use [[Openbsd/dump|dump]] and [[Openbsd/restore|restore]].%0a%3c %0a%3c [@%0a%3c $ doas sysupgrade%0a\ No newline at end of file%0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]]%0a\ No newline at end of file%0a +host:1607165831=38.81.163.7 +author:1607165405=jrmu +diff:1607165405:1607165405:=1,5d0%0a%3c (:title OpenBSD 6.8 Upgrade Guide:)%0a%3c %0a%3c This is a quick upgrade guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/upgrade68.html|Upgrade Guide]]%0a\ No newline at end of file%0a +host:1607165405=38.81.163.7 blob - /dev/null blob + 7592db7fd12f6042b04566443aa0809f61feb3f7 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vhost @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597982362 +host=38.87.162.8 +name=Openbsd.Vhost +rev=7 +targets=Openbsd.Openbsd,Openbsd.Znc,Openbsd.Psybnc +text=(:redirect dns.vhost:)%0a(:title Configuring unique vhosts:)%0a%0aIRC users often ask for custom vhosts.%0a%0a!! How IRC servers check vhosts%0a%0aWhen an IRC client first connects to an IRC server, the server will take your IP address and perform a [[openbsd|rDNS/reverse lookup]]. For example, suppose your IP address is @@192.168.0.1@@. To perform a reverse lookup, run:%0a%0a[@%0a$ dig -x 192.168.0.1%0a%0a;; ANSWER SECTION:%0a1.0.168.19.in-addr.arpa. 60 IN PTR example.ircnow.org.%0a@]%0a%0aThis means that the IP address 192.168.0.1 is pointed to by the domain example.ircnow.org. Now, the IRC client will perform forward DNS resolution, which you can perform yourself by running:%0a%0a[@%0a$ dig example.ircnow.org%0a%0a;; ANSWER SECTION:%0aexample.ircnow.org. 3600 IN A 192.168.0.1%0a@]%0a%0aNotice how the reverse and forward DNS lookups both match and confirm one another. When this happens, anyone IRC connection that connects from this IPv4 address will have the vhost example.ircnow.org. So, if you logged in with nickname @@john@@ and ident @@brown@@, you would have the following hostmask: @@john!brown@example.ircnow.org@@.%0a%0a!! IPv6 to the Rescue%0a%0aNotice however that a single IP address can only have one possible vhost. Even if you have multiple domains pointing to the same IP address, each IP address can only have a single rDNS entry associated with it. In other words, when you run @@$ dig -x 192.168.0.1@@, you only get one possible answer.%0a%0aIf we only had IPv4 addresses, each IPv4 address can only have one possible vhost. Since the world is running out of IPv4 addresses, it would cost a lot of money to assign unique vhosts using IPv4 addresses only.%0a%0aThis is why we rely upon IPv6 addresses to provide unique vhosts. Normally, the ISP will provide an entire /64 or /48 subnet of IPv6 addresses for each server instead of a single IPv4 address.%0a%0aNow you can assign vhosts to your heart's content. All you need is one AAAA record for each hostname and to configure the rDNS entry for the IPv6 address.%0a%0aFor example, suppose you configure cooldude.ircnow.org to point to 2001:db8::c001:d00d, and you configure the rDNS of 2001:db8::c001:d00d to point to cooldude.ircnow.org. Then, when you bind to the IPv6 address 2001:db8::c001:d00d to connect to an IRC network which supports IPv6 connections, the IPv6 server will give you the vhost @@cooldude.ircnow.org@@.%0a%0a!! Binding to an IP address%0a%0aWhen you use a bouncer (such as [[openbsd/znc|znc]] or [[openbsd/psybnc|psybnc]]), you tell the bouncer to set the bindhost of a user to a specific IPv6 address or hostname. That way, the bouncer will use that IP address to connect. If you want a custom vhost, set it to the hostname or IPv6 address that you want to give to the user. And remember -- both the forward and reverse DNS must be configured properly!%0a%0aWhen creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a +time=1627871572 +title=Configuring unique vhosts +author:1627871572=jrmu +diff:1627871572:1597983996:=1d0%0a%3c (:redirect dns.vhost:)%0a44c43%0a%3c When creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a---%0a> When creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a\ No newline at end of file%0a +host:1627871572=38.87.162.8 +author:1597983996=jrmu +diff:1597983996:1597983811:=38,39d37%0a%3c %0a%3c !! Binding to an IP address%0a +host:1597983996=38.81.163.143 +author:1597983811=jrmu +diff:1597983811:1597983680:=41c41,51%0a%3c When creating DNS records, I recommend creating both an A and AAAA record for each hostname. This will provide a fallback for networks that only support either IPv4 or IPv6. For example, cooldude.ircnow.org could have both an A record of 192.168.0.1 and an AAAA record of 2001:db8::c001:d00d. That way, when the bouncer binds to the hostname cooldude.ircnow.org, it can choose the IPv6 address if the IRC network supports IPv6, and it can choose IPv4 if the IRC network only supports IPv4.%0a\ No newline at end of file%0a---%0a> When configuring%0a> %0a> 11:53 %3c%25jrmu> so the way vhosts work gry is%0a> 11:53 %3c%25jrmu> i recommend actually you test this manually first%0a> 11:53 %3c%25jrmu> without psybnc, so you can see how it works%0a> 11:54 %3c%25jrmu> vhosts work with both IPv4 and IPv6%0a> 11:54 %3c%25jrmu> what you need is a unique A/AAAA record and a matching rDNS record%0a> 11:54 %3c%25jrmu> of course, you only have one ipv4 address%0a> 11:54 %3c%25jrmu> and you get a billion ipv6 addresses%0a> 11:54 %3c%25jrmu> so unless you want to pay $5 per vhost you give out%0a> 11:54 %3c%25jrmu> custom vhosts use ipv6 :)%0a +host:1597983811=38.81.163.143 +author:1597983680=jrmu +diff:1597983680:1597982893:=36,41d35%0a%3c %0a%3c For example, suppose you configure cooldude.ircnow.org to point to 2001:db8::c001:d00d, and you configure the rDNS of 2001:db8::c001:d00d to point to cooldude.ircnow.org. Then, when you bind to the IPv6 address 2001:db8::c001:d00d to connect to an IRC network which supports IPv6 connections, the IPv6 server will give you the vhost @@cooldude.ircnow.org@@.%0a%3c %0a%3c When you use a bouncer (such as [[openbsd/znc|znc]] or [[openbsd/psybnc|psybnc]]), you tell the bouncer to set the bindhost of a user to a specific IPv6 address or hostname. That way, the bouncer will use that IP address to connect. If you want a custom vhost, set it to the hostname or IPv6 address that you want to give to the user. And remember -- both the forward and reverse DNS must be configured properly!%0a%3c %0a%3c When configuring%0a +host:1597983680=38.81.163.143 +author:1597982893=jrmu +diff:1597982893:1597982685:=26,35d25%0a%3c %0a%3c !! IPv6 to the Rescue%0a%3c %0a%3c Notice however that a single IP address can only have one possible vhost. Even if you have multiple domains pointing to the same IP address, each IP address can only have a single rDNS entry associated with it. In other words, when you run @@$ dig -x 192.168.0.1@@, you only get one possible answer.%0a%3c %0a%3c If we only had IPv4 addresses, each IPv4 address can only have one possible vhost. Since the world is running out of IPv4 addresses, it would cost a lot of money to assign unique vhosts using IPv4 addresses only.%0a%3c %0a%3c This is why we rely upon IPv6 addresses to provide unique vhosts. Normally, the ISP will provide an entire /64 or /48 subnet of IPv6 addresses for each server instead of a single IPv4 address.%0a%3c %0a%3c Now you can assign vhosts to your heart's content. All you need is one AAAA record for each hostname and to configure the rDNS entry for the IPv6 address.%0a +host:1597982893=38.81.163.143 +author:1597982685=jrmu +diff:1597982685:1597982362:=11,13d10%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c 1.0.168.19.in-addr.arpa. 60 IN PTR example.ircnow.org.%0a16,25d12%0a%3c This means that the IP address 192.168.0.1 is pointed to by the domain example.ircnow.org. Now, the IRC client will perform forward DNS resolution, which you can perform yourself by running:%0a%3c %0a%3c [@%0a%3c $ dig example.ircnow.org%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c example.ircnow.org. 3600 IN A 192.168.0.1%0a%3c @]%0a%3c %0a%3c Notice how the reverse and forward DNS lookups both match and confirm one another. When this happens, anyone IRC connection that connects from this IPv4 address will have the vhost example.ircnow.org. So, if you logged in with nickname @@john@@ and ident @@brown@@, you would have the following hostmask: @@john!brown@example.ircnow.org@@.%0a +host:1597982685=38.81.163.143 +author:1597982362=jrmu +diff:1597982362:1597982362:=1,22d0%0a%3c (:title Configuring unique vhosts:)%0a%3c %0a%3c IRC users often ask for custom vhosts.%0a%3c %0a%3c !! How IRC servers check vhosts%0a%3c %0a%3c When an IRC client first connects to an IRC server, the server will take your IP address and perform a [[openbsd|rDNS/reverse lookup]]. For example, suppose your IP address is @@192.168.0.1@@. To perform a reverse lookup, run:%0a%3c %0a%3c [@%0a%3c $ dig -x 192.168.0.1%0a%3c @]%0a%3c %0a%3c %0a%3c 11:53 %3c%25jrmu> so the way vhosts work gry is%0a%3c 11:53 %3c%25jrmu> i recommend actually you test this manually first%0a%3c 11:53 %3c%25jrmu> without psybnc, so you can see how it works%0a%3c 11:54 %3c%25jrmu> vhosts work with both IPv4 and IPv6%0a%3c 11:54 %3c%25jrmu> what you need is a unique A/AAAA record and a matching rDNS record%0a%3c 11:54 %3c%25jrmu> of course, you only have one ipv4 address%0a%3c 11:54 %3c%25jrmu> and you get a billion ipv6 addresses%0a%3c 11:54 %3c%25jrmu> so unless you want to pay $5 per vhost you give out%0a%3c 11:54 %3c%25jrmu> custom vhosts use ipv6 :)%0a +host:1597982362=38.81.163.143 blob - /dev/null blob + 1071f19adca335a8e02c8067476cf498cb6f5240 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vi @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1604494288 +host=38.81.163.7 +name=Openbsd.Vi +rev=2 +targets= +text=If you are unfamiliar with vi:%0a%0a[@%0a$ doas pkg_add vim%0a$ vimtutor%0a@] +time=1604494299 +author:1604494299=jrmu +diff:1604494299:1604494288:=3d2%0a%3c [@%0a5,6c4%0a%3c $ vimtutor%0a%3c @]%0a\ No newline at end of file%0a---%0a> $ vimtutor%0a\ No newline at end of file%0a +host:1604494299=38.81.163.7 +author:1604494288=jrmu +diff:1604494288:1604494288:=1,4d0%0a%3c If you are unfamiliar with vi:%0a%3c %0a%3c $ doas pkg_add vim%0a%3c $ vimtutor%0a\ No newline at end of file%0a +host:1604494288=38.81.163.7 blob - /dev/null blob + 5c253a567f844dc88324f13e3623fecd04b67a33 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vipw @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635695258 +host=38.87.162.47 +name=Openbsd.Vipw +rev=2 +targets= +text=[@%0a$ doas vipw%0a@]%0a%0aThere should bea line with zncthat looks like this (I check %0ato make sure znc has the right login class; the '1001' is the %0auid, which you may find to be different from this example, butit should not be changed):%0a%0a[@%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a +time=1635695284 +author:1635695284=jrmu +diff:1635695284:1635695258:=3,10d2%0a%3c @]%0a%3c %0a%3c There should bea line with zncthat looks like this (I check %0a%3c to make sure znc has the right login class; the '1001' is the %0a%3c uid, which you may find to be different from this example, butit should not be changed):%0a%3c %0a%3c [@%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a +host:1635695284=38.87.162.47 +author:1635695258=jrmu +diff:1635695258:1635695258:=1,3d0%0a%3c [@%0a%3c $ doas vipw%0a%3c @]%0a +host:1635695258=38.87.162.47 blob - /dev/null blob + 4f3441a5ce66e043d9c2b0c27f2d6eb8fd5a1061 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vmm @@ -0,0 +1,112 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597239582 +host=38.87.162.8 +name=Openbsd.Vmm +rev=33 +targets= +text=(:redirect Vmm.Configure:)%0aYou will need to install vmm-firmware (which appears to be free software):%0a%0a[@%0a$ doas pkg_add vmm-firmware%0a@]%0a%0aBy default, there are only four tap interfaces. We need to create sufficient devices for all our virtual machines:%0a%0a[@%0a# cd /dev%0a# for i in $(jot 50 4 50); do sh MAKEDEV tap$i; done%0a@]%0a%0aWe need to increase arpq because we may have so many virtual machines on the same switch:%0a%0a[@%0a# sysctl net.inet.ip.arpq.maxlen=1024%0a# echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a@]%0a%0aWe will need to permit IPv4 and IPv6 forwarding for our virtual machines:%0a%0a[@%0a# sysctl net.inet.ip.forwarding=1%0a# echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a# sysctl net.inet6.ip6.forwarding=1%0a# echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a@]%0a%0aNext we must create /etc/hostname.bridge0:%0a%0a[@%0aadd if0%0a@]%0a%0awhere if0 is the interface device.%0a%0aWe edit /etc/vm.conf:%0a%0a[@%0asocket owner :vmdusers%0a%0aswitch "switch0" {%0a interface bridge0%0a}%0a%0avm "user123" {%0a owner user123%0a memory 512M%0a cdrom "/home/iso/install69.iso"%0a disk /home/user123/user123.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:01%0a switch "switch0"%0a }%0a}%0a@]%0a%0a***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appaer as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a%0aNext we will need to download our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a%0a[@%0a$ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso%0a$ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/install69.iso%0a$ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/SHA256.sig%0a$ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig install69.iso%0aSignature Verified%0ainstall69.iso: OK%0a$ doas mv install68.iso /home/iso/%0a$ doas mv SHA256.sig /home/iso/%0a$ doas chown -R iso:iso /home/iso/%0a@]%0a%0aIf the signature does not verify, don't proceed.%0a%0aWe will want to enable and start vmd:%0a%0a[@%0a$ doas rcctl enable vmd%0a$ doas rcctl start vmd %0a@]%0a%0aWe need to create a new group vmdusers for each of our users so they can access the serial console:%0a%0a[@%0a# groupadd vmdusers%0a# chown root:vmdusers /var/run/vmd.sock%0a@]%0a%0aFor each virtual machine, we create a user and a disk image using install.pl:%0a%0a[@%0a$ ./install.pl%0a@]%0a%0a[@%0a# vmctl create -s 20G user.qcow2%0a@]%0a%0aYou will need to add this crontab entry for a user to prevent the networking from timing out:%0a%0aFor openbsd:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aFor debian:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0a%0aIf some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a +time=1627536255 +author:1627536255=jrmu +diff:1627536255:1626704390:=1d0%0a%3c (:redirect Vmm.Configure:)%0a +host:1627536255=38.87.162.8 +author:1626704390=mkf +csum:1626704390=6.8 -> 6.9 +diff:1626704390:1626410780:minor=4c4%0a%3c $ doas pkg_add vmm-firmware%0a---%0a> # pkg_add vmm-firmware%0a50c50%0a%3c cdrom "/home/iso/install69.iso"%0a---%0a> cdrom "/home/iso/install68.iso"%0a65,67c65,67%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/install69.iso%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig install69.iso%0a---%0a> $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/install68.iso%0a> $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/SHA256.sig%0a> $ signify -C -p /etc/signify/openbsd-68-base.pub -x SHA256.sig install68.iso%0a69c69%0a%3c install69.iso: OK%0a---%0a> install68.iso: OK%0a +host:1626704390=198.251.81.133 +author:1626410780=jrmu +diff:1626410780:1622530431:=59,60d58%0a%3c ***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appaer as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a%3c %0a106c104%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.128; done' \;%0a112c110%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.128; done' \;%0a +host:1626410780=38.87.162.8 +author:1622530431=jrmu +diff:1622530431:1622528390:=1c1%0a%3c You will need to install vmm-firmware (which appears to be free software):%0a---%0a> You will need to install vmm-firmware:%0a +host:1622530431=125.231.17.115 +author:1622528390=jrmu +diff:1622528390:1622164722:=1,6d0%0a%3c You will need to install vmm-firmware:%0a%3c %0a%3c [@%0a%3c # pkg_add vmm-firmware%0a%3c @]%0a%3c %0a +host:1622528390=125.231.17.115 +author:1622164722=jrmu +diff:1622164722:1622160186:=21c21%0a%3c # echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a---%0a> # echo "net.inet6.ip.forwarding=1" >> /etc/sysctl.conf%0a +host:1622164722=125.231.17.115 +author:1622160186=jrmu +diff:1622160186:1621394643:=21a22,23%0a> # sysctl hw.smt=1%0a> # echo "hw.smt=1" >> /etc/sysctl.conf%0a108c110%0a%3c If some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a---%0a> If some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a\ No newline at end of file%0a +host:1622160186=125.231.17.115 +author:1621394643=jrmu +diff:1621394643:1611313177:=22,23d21%0a%3c # sysctl hw.smt=1%0a%3c # echo "hw.smt=1" >> /etc/sysctl.conf%0a +host:1621394643=198.251.81.119 +author:1611313177=jrmu +diff:1611313177:1611312353:=68,74d67%0a%3c %0a%3c We will want to enable and start vmd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable vmd%0a%3c $ doas rcctl start vmd %0a%3c @]%0a +host:1611313177=125.231.35.24 +author:1611312353=jrmu +diff:1611312353:1611057096:=69,70c69,70%0a%3c We need to create a new group vmdusers for each of our users so they can access the serial console:%0a%3c %0a---%0a> For each virtual machine, we create a user and a disk image:%0a> %0a72,73c72,76%0a%3c # groupadd vmdusers%0a%3c # chown root:vmdusers /var/run/vmd.sock%0a---%0a> %0a> echo "Creating for $username"%0a> # vmctl create -s 20G $username.qcow2%0a> usermod -G vmdusers $username%0a> done%0a76,77d78%0a%3c For each virtual machine, we create a user and a disk image using install.pl:%0a%3c %0a79c80%0a%3c $ ./install.pl%0a---%0a> # vmctl create -s 20G user.qcow2%0a82,85d82%0a%3c [@%0a%3c # vmctl create -s 20G user.qcow2%0a%3c @]%0a%3c %0a99a97,100%0a> [@%0a> # groupadd vmdusers%0a> # chown root:vmdusers /var/run/vmd.sock%0a> @]%0a +host:1611312353=125.231.35.24 +author:1611057096=jrmu +diff:1611057096:1611056252:= +host:1611057096=125.224.21.52 +author:1611056252=jrmu +diff:1611056252:1611055921:=68,77d67%0a%3c %0a%3c For each virtual machine, we create a user and a disk image:%0a%3c %0a%3c [@%0a%3c %0a%3c echo "Creating for $username"%0a%3c # vmctl create -s 20G $username.qcow2%0a%3c usermod -G vmdusers $username%0a%3c done%0a%3c @]%0a +host:1611056252=125.224.21.52 +author:1611055921=jrmu +diff:1611055921:1611055816:= +host:1611055921=125.224.21.52 +author:1611055816=jrmu +diff:1611055816:1611053208:=53c53%0a%3c Next we will need to download our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a---%0a> Next we will need to put our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a +host:1611055816=125.224.21.52 +author:1611053208=jrmu +diff:1611053208:1611053113:=63,64c63%0a%3c $ doas mv SHA256.sig /home/iso/%0a%3c $ doas chown -R iso:iso /home/iso/%0a---%0a> $ doas chown iso:iso /home/iso/install68.iso%0a +host:1611053208=125.224.21.52 +author:1611053113=jrmu +diff:1611053113:1611053005:=56c56%0a%3c $ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso%0a---%0a> $ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso %0a +host:1611053113=125.224.21.52 +author:1611053005=jrmu +diff:1611053005:1611052826:=56c56%0a%3c $ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso %0a---%0a> $ doas %0a62,63d61%0a%3c $ doas mv install68.iso /home/iso/%0a%3c $ doas chown iso:iso /home/iso/install68.iso%0a +host:1611053005=125.224.21.52 +author:1611052826=jrmu +diff:1611052826:1611052127:=56d55%0a%3c $ doas %0a59,61c58%0a%3c $ signify -C -p /etc/signify/openbsd-68-base.pub -x SHA256.sig install68.iso%0a%3c Signature Verified%0a%3c install68.iso: OK%0a---%0a> $ signify -C -p /etc/signify/openbsd-base%0a63,64d59%0a%3c %0a%3c If the signature does not verify, don't proceed.%0a +host:1611052826=125.224.21.52 +author:1611052127=jrmu +diff:1611052127:1611051831:=32,33c32,33%0a%3c We edit /etc/vm.conf:%0a%3c %0a---%0a> From /etc/vm.conf:%0a> %0a51,58d50%0a%3c @]%0a%3c %0a%3c Next we will need to put our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a%3c %0a%3c [@%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/install68.iso%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-base%0a +host:1611052127=125.224.21.52 +author:1611051831=jrmu +diff:1611051831:1611051642:=27c27%0a%3c add if0%0a---%0a> %0a30c30%0a%3c where if0 is the interface device.%0a---%0a> %0a +host:1611051831=125.224.21.52 +author:1611051642=jrmu +diff:1611051642:1611051383:=23,30d22%0a%3c %0a%3c Next we must create /etc/hostname.bridge0:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a%3c %0a +host:1611051642=125.224.21.52 +author:1611051383=jrmu +diff:1611051383:1611051179:=19c19%0a%3c # echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a---%0a> # echo "sysctl net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a21c21%0a%3c # echo "net.inet6.ip.forwarding=1" >> /etc/sysctl.conf%0a---%0a> # echo "sysctl net.inet6.ip.forwarding=1" >> /etc/sysctl.conf%0a +host:1611051383=125.224.21.52 +author:1611051179=jrmu +diff:1611051179:1611050870:=12c12%0a%3c # echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a---%0a> net.inet.ip.arpq.maxlen: 50 -> 1024%0a19c19%0a%3c # echo "sysctl net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a---%0a> net.inet.ip.forwarding: 0 -> 1%0a21c21%0a%3c # echo "sysctl net.inet6.ip.forwarding=1" >> /etc/sysctl.conf%0a---%0a> net.inet6.ip6.forwarding: 0 -> 1%0a +host:1611051179=125.224.21.52 +author:1611050870=jrmu +diff:1611050870:1611050830:=13,21d12%0a%3c @]%0a%3c %0a%3c We will need to permit IPv4 and IPv6 forwarding for our virtual machines:%0a%3c %0a%3c [@%0a%3c # sysctl net.inet.ip.forwarding=1%0a%3c net.inet.ip.forwarding: 0 -> 1%0a%3c # sysctl net.inet6.ip6.forwarding=1%0a%3c net.inet6.ip6.forwarding: 0 -> 1%0a +host:1611050870=125.224.21.52 +author:1611050830=jrmu +diff:1611050830:1611050756:=13a14,15%0a> %0a> %0a +host:1611050830=125.224.21.52 +author:1611050756=jrmu +diff:1611050756:1611050387:=1,2c1,2%0a%3c By default, there are only four tap interfaces. We need to create sufficient devices for all our virtual machines:%0a%3c %0a---%0a> We need to create sufficient tap devices for all our virtual machines:%0a> %0a7,15d6%0a%3c %0a%3c We need to increase arpq because we may have so many virtual machines on the same switch:%0a%3c %0a%3c [@%0a%3c # sysctl net.inet.ip.arpq.maxlen=1024%0a%3c net.inet.ip.arpq.maxlen: 50 -> 1024%0a%3c @]%0a%3c %0a%3c %0a +host:1611050756=125.224.21.52 +author:1611050387=jrmu +diff:1611050387:1611050326:= +host:1611050387=125.224.21.52 +author:1611050326=jrmu +diff:1611050326:1611050184:=1,7d0%0a%3c We need to create sufficient tap devices for all our virtual machines:%0a%3c %0a%3c [@%0a%3c # cd /dev%0a%3c # for i in $(jot 50 4 50); do sh MAKEDEV tap$i; done%0a%3c @]%0a%3c %0a +host:1611050326=125.224.21.52 +author:1611050184=jrmu +diff:1611050184:1611049961:=9d8%0a%3c %0a16,17c15,27%0a%3c locked lladdr aa:bb:cc:dd:ee:01%0a%3c switch "switch0"%0a---%0a> locked lladdr 7d:7a:cf:a8:ec:81%0a> switch "my_switch"%0a> }%0a> }%0a> %0a> %0a> vm "user123" {%0a> memory 512M%0a> cdrom "/home/user/install66.iso"%0a> disk "/home/user/user123.qcow2"%0a> interface {%0a> locked lladdr aa:bb:cc:dd:ee:ff%0a> switch "switch0"%0a +host:1611050184=125.224.21.52 +author:1611049961=jrmu +diff:1611049961:1611049604:=9,20d8%0a%3c vm "user123" {%0a%3c owner user123%0a%3c memory 512M%0a%3c cdrom "/home/iso/install68.iso"%0a%3c disk /home/user123/user123.qcow2%0a%3c interface { %0a%3c locked lladdr 7d:7a:cf:a8:ec:81%0a%3c switch "my_switch"%0a%3c }%0a%3c }%0a%3c %0a%3c %0a +host:1611049961=125.224.21.52 +author:1611049604=jrmu +diff:1611049604:1607945370:=4,6c4%0a%3c socket owner :vmdusers%0a%3c %0a%3c switch "switch0" {%0a---%0a> switch "my_switch" {%0a15c13%0a%3c switch "switch0"%0a---%0a> switch "my_switch"%0a +host:1611049604=125.224.21.52 +author:1607945370=jrmu +diff:1607945370:1597239582:=3c3%0a%3c [@%0a---%0a> %3ccode>%0a16,18c16,18%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a20,21c20,21%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a26c26%0a%3c [@%0a---%0a> %3ccode>%0a28,29c28,29%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a32c32%0a%3c [@%0a---%0a> %3ccode>%0a34,36c34,36%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a39,41c39%0a%3c @]%0a%3c %0a%3c If some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a\ No newline at end of file%0a---%0a> %3c/code>%0a\ No newline at end of file%0a +host:1607945370=198.251.81.119 +author:1597239582=jrmu +diff:1597239582:1597239582:=1,39d0%0a%3c From /etc/vm.conf:%0a%3c %0a%3c %3ccode>%0a%3c switch "my_switch" {%0a%3c interface bridge0%0a%3c }%0a%3c vm "user123" {%0a%3c memory 512M%0a%3c cdrom "/home/user/install66.iso"%0a%3c disk "/home/user/user123.qcow2"%0a%3c interface {%0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "my_switch"%0a%3c }%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # vmctl create -s 20G user.qcow2%0a%3c %3c/code>%0a%3c %0a%3c You will need to add this crontab entry for a user to prevent the networking from timing out:%0a%3c %0a%3c For openbsd:%0a%3c %0a%3c %3ccode>%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.128; done' \;%0a%3c %3c/code>%0a%3c %0a%3c For debian:%0a%3c %0a%3c %3ccode>%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.128; done' \;%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # groupadd vmdusers%0a%3c # chown root:vmdusers /var/run/vmd.sock%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1597239582=38.81.163.143 blob - /dev/null blob + 0842efa5b8ab0a38da895ae57785c51af996c877 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vmminstall @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1607255356 +host=38.87.162.8 +name=Openbsd.Vmminstall +rev=27 +targets=Shell.ShellPutty,Openbsd.Install68,Openbsd.Bsdrd,Openbsd.Staticnet,Openbsd.Vi,Openbsd.Vmmuser +text=(:redirect Vmm.install:)%0a(:title OpenBSD VMM Install Guide:)%0a%0aThis is a quick OpenBSD install guide for VMM.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a# '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a# Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0aAttach:vmminstall-1.png%0a# At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a# You can safely ignore the error message @@Boot failed: not a bootable disk@@. By default, your virtual machine will boot from the OpenBSD ISO image when there is no operating system installed. After the OS is installed, your virtual machine will automatically boot from hard disk instead of ISO image. There is no need to mount/unmount the ISO image.\\%0aAttach:vmminstall-2.png%0a# Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].\\%0aAttach:vmminstall-5.png%0a%0a!! Upgrade/Reinstall%0a%0a# If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a# If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username. Afterwards:\\%0a[@%0acd ~/%0arm %3cVM name>.qcow2 # The VM name is probably your username%0avmctl create -s 20G %3cVM name>.qcow2%0avmctl start %3cVM name>%0avmctl console %3cVM name>%0a@]\\%0aAttach:vmminstall-3.png%0a# During [[openbsd/install68|installation]], here are the networking values you need for [[openbsd/staticnet|static networking]]:%0a # IPv4 address: 38.87.162.xxx, subnet mask 255.255.255.0 -- replace 38.87.162.xxx with your assigned IP address%0a # IPv6 address: 2602:fccf:1:1xxx::, subnet /64 -- replace 2602:fccf:1:1xxx:: with your assigned subnet%0a # Default IPv4 gateway/router: 38.87.162.1%0a # Default IPv6 gateway/router: 2602:fccf:1::1%0a%0aFollow the installation guide: [[https://wiki.ircnow.org/index.php?n=Openbsd.Install69]]%0a%0a!! Bug fixes%0a%0aVMM appears to have a bug where VMs lose network connectivity after a few hours. Here is one workaround.%0a%0aEdit your crontab by typing @@crontab -e@@ ('''NOTE''': the default text editor is [[openbsd/vi|vi]]). Type @@G@@ (capital G) to scroll to the bottom, then type @@o@@ (lowercase o) to add a new line at the bottom, then paste this line:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aPress @@[Esc]@@, then type @@:wq@@ (colon, then w, then q) then press enter to save the file.%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aThis helps ensure that a ping runs in the background to keep the network alive.%0a%0a!! See Also%0a%0a|| [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a +time=1627536494 +title=OpenBSD VMM Install Guide +author:1627536494=jrmu +diff:1627536494:1626410450:=1d0%0a%3c (:redirect Vmm.install:)%0a +host:1627536494=38.87.162.8 +author:1626410450=jrmu +diff:1626410450:1624967124:=32,36c32,36%0a%3c # IPv4 address: 38.87.162.xxx, subnet mask 255.255.255.0 -- replace 38.87.162.xxx with your assigned IP address%0a%3c # IPv6 address: 2602:fccf:1:1xxx::, subnet /64 -- replace 2602:fccf:1:1xxx:: with your assigned subnet%0a%3c # Default IPv4 gateway/router: 38.87.162.1%0a%3c # Default IPv6 gateway/router: 2602:fccf:1::1%0a%3c %0a---%0a> # IPv4 address: 38.81.163.xxx, subnet mask 255.255.255.0 -- replace 38.81.163.xxx with your assigned IP address%0a> # IPv6 address: 2001:550:3402:1:xxx::, subnet /64 -- replace 2001:550:3402:1:xxx:: with your assigned subnet%0a> # Default IPv4 gateway/router: 38.81.163.129%0a> # Default IPv6 gateway/router: 2001:550:3402:1::1%0a> %0a46c46%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a54c54%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a---%0a> /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a61c61%0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a---%0a> || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a\ No newline at end of file%0a +host:1626410450=38.87.162.8 +author:1624967124=mistera +diff:1624967124:1624965672:=37c37%0a%3c Follow the installation guide: [[https://wiki.ircnow.org/index.php?n=Openbsd.Install69]]%0a---%0a> Follow the installation guide:[[https://wiki.ircnow.org/index.php?n=Openbsd.Install68]]%0a +host:1624967124=204.111.39.57 +author:1624965672=mistera +diff:1624965672:1607341097:=36,37d35%0a%3c %0a%3c Follow the installation guide:[[https://wiki.ircnow.org/index.php?n=Openbsd.Install68]]%0a +host:1624965672=204.111.39.57 +author:1607341097=jrmu +diff:1607341097:1607340098:=7c7%0a%3c # [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a---%0a> # [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a +host:1607341097=198.251.81.119 +author:1607340098=jrmu +diff:1607340098:1607339988:=15c15%0a%3c Attach:vmminstall-2.png%0a---%0a> Attach:vmminstall-3.png%0a30c30%0a%3c Attach:vmminstall-3.png%0a---%0a> Attach:vmminstall-2.png%0a +host:1607340098=198.251.81.119 +author:1607339988=jrmu +diff:1607339988:1607339438:=18,20d17%0a%3c %0a%3c !! Upgrade/Reinstall%0a%3c %0a31,42c28,32%0a%3c # During [[openbsd/install68|installation]], here are the networking values you need for [[openbsd/staticnet|static networking]]:%0a%3c # IPv4 address: 38.81.163.xxx, subnet mask 255.255.255.0 -- replace 38.81.163.xxx with your assigned IP address%0a%3c # IPv6 address: 2001:550:3402:1:xxx::, subnet /64 -- replace 2001:550:3402:1:xxx:: with your assigned subnet%0a%3c # Default IPv4 gateway/router: 38.81.163.129%0a%3c # Default IPv6 gateway/router: 2001:550:3402:1::1%0a%3c %0a%3c !! Bug fixes%0a%3c %0a%3c VMM appears to have a bug where VMs lose network connectivity after a few hours. Here is one workaround.%0a%3c %0a%3c Edit your crontab by typing @@crontab -e@@ ('''NOTE''': the default text editor is [[openbsd/vi|vi]]). Type @@G@@ (capital G) to scroll to the bottom, then type @@o@@ (lowercase o) to add a new line at the bottom, then paste this line:%0a%3c %0a---%0a> %0a> **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a> %0a> Once you log in, you can access the serial console:%0a> %0a44c34%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a---%0a> $ vmctl console %3cvm-name>%0a47,50c37,38%0a%3c Press @@[Esc]@@, then type @@:wq@@ (colon, then w, then q) then press enter to save the file.%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a---%0a> To shutdown the VM:%0a> %0a52c40%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a---%0a> $ vmctl stop %3cvm-name>%0a55c43,195%0a%3c This helps ensure that a ping runs in the background to keep the network alive.%0a---%0a> To boot the VM:%0a> %0a> [@%0a> $ vmctl start %3cvm-name>%0a> @]%0a> %0a> To pause the VM:%0a> %0a> [@%0a> $ vmctl pause %3cvm-name>%0a> @]%0a> %0a> To unpause the VM:%0a> %0a> [@%0a> $ vmctl unpause %3cvm-name>%0a> @]%0a> %0a> To escape serial console, type ~~. %0a> %0a> ----%0a> %0a> To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a> %0a> For convenience, you can log in to your VPS as follows:%0a> %0a> [@%0a> $ ssh username@username.coconut.ircnow.org%0a> @]%0a> %0a> Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a> %0a> ----%0a> %0a> To reinstall OpenBSD 6.6:%0a> %0a> [@%0a> $ ssh username@coconut.ircnow.org%0a> $ cd ~%0a> $ rm username.qcow2%0a> $ vmctl create -s 20G username.qcow2%0a> $ vmctl start username%0a> $ vmctl start username%0a> $ vmctl console username%0a> @]%0a> %0a> Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a> %0a> ----%0a> %0a> For OpenBSD, here is how you statically assign your IP address:%0a> %0a> Inside /etc/hostname.vio0:%0a> %0a> [@%0a> inet 38.81.163.xxx 255.255.255.0%0a> @]%0a> %0a> Replace 38.81.163.xxx with your assigned IP address.%0a> %0a> Inside /etc/mygate:%0a> %0a> [@%0a> 38.81.163.129%0a> @]%0a> %0a> For Alpine:%0a> %0a> To restart networking:%0a> %0a> [@%0a> # service networking restart%0a> @]%0a> %0a> For Debian:%0a> %0a> [@%0a> systemctl restart networking%0a> @]%0a> %0a> Inside /etc/network/interfaces:%0a> %0a> [@%0a> source /etc/network/interfaces.d/*%0a> %0a> # The loopback network interface%0a> auto lo%0a> iface lo inet loopback%0a> %0a> # The primary network interface%0a> auto enp0s2%0a> iface enp0s2 inet static%0a> address 38.81.163.x%0a> netmask 255.255.255.0%0a> gateway 38.81.163.129%0a> @]%0a> %0a> ----%0a> %0a> Losing network connectivity:%0a> %0a> For OpenBSD, put this in your crontab:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> For Debian:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a> @]%0a> %0a> For Alpine:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> ----%0a> %0a> To reinstall OpenBSD:%0a> %0a> First, log in to the host:%0a> %0a> [@%0a> $ ssh username@coconut.ircnow.org%0a> $ vmctl stop username%0a> $ rm username.qcow2%0a> $ vmctl create -s 20G username.qcow2%0a> $ vmctl start username%0a> $ vmctl console username%0a> @]%0a> %0a> Then, do the installation as usual.%0a +host:1607339988=198.251.81.119 +author:1607339438=jrmu +diff:1607339438:1607339382:=18c18%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a---%0a> # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.\\%0a27a28%0a> %0a +host:1607339438=198.251.81.119 +author:1607339382=jrmu +diff:1607339382:1607339192:=18,26c18,19%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.\\%0a%3c # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username. Afterwards:\\%0a%3c [@%0a%3c cd ~/%0a%3c rm %3cVM name>.qcow2 # The VM name is probably your username%0a%3c vmctl create -s 20G %3cVM name>.qcow2%0a%3c vmctl start %3cVM name>%0a%3c vmctl console %3cVM name>%0a%3c @]\\%0a---%0a> # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a> # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a28d20%0a%3c %0a +host:1607339382=198.251.81.119 +author:1607339192=jrmu +diff:1607339192:1607335209:=15c15%0a%3c Attach:vmminstall-3.png%0a---%0a> Attach:vmminstall-2.png%0a20c20%0a%3c Attach:vmminstall-2.png%0a---%0a> Attach:vmminstall-3.png%0a +host:1607339192=198.251.81.119 +author:1607335209=jrmu +diff:1607335209:1607333423:=16,19c16,18%0a%3c # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].\\%0a%3c Attach:vmminstall-5.png%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a%3c # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a---%0a> # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].%0a> # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a> # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a20a20,35%0a> %0a> %0a> %0a> Attach:vmminstall-4.png%0a> Attach:vmminstall-5.png%0a> %0a> %0a> You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a> %0a> You will be given a username and password for your account. This will create a username on our host system:%0a> %0a> [@%0a> $ ssh username@coconut.ircnow.org%0a> @]%0a> %0a> ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a +host:1607335209=38.81.163.7 +author:1607333423=jrmu +diff:1607333423:1607332844:=15c15%0a%3c Attach:vmminstall-2.png%0a---%0a> Attach:vmminstall-3.png%0a19c19%0a%3c Attach:vmminstall-3.png%0a---%0a> Attach:vmminstall-2.png%0a +host:1607333423=38.81.163.7 +author:1607332844=jrmu +diff:1607332844:1607332658:=14,15d13%0a%3c # You can safely ignore the error message @@Boot failed: not a bootable disk@@. By default, your virtual machine will boot from the OpenBSD ISO image when there is no operating system installed. After the OS is installed, your virtual machine will automatically boot from hard disk instead of ISO image. There is no need to mount/unmount the ISO image.\\%0a%3c Attach:vmminstall-3.png%0a22c20%0a%3c %0a---%0a> Attach:vmminstall-3.png%0a +host:1607332844=38.81.163.7 +author:1607332658=jrmu +diff:1607332658:1607332627:=15,16c15%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a%3c # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a---%0a> # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.\\%0a22a22,23%0a> %0a> # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a +host:1607332658=38.81.163.7 +author:1607332627=jrmu +diff:1607332627:1607332572:=15a16%0a> %0a17,18d17%0a%3c %0a%3c %0a +host:1607332627=38.81.163.7 +author:1607332572=jrmu +diff:1607332572:1607332015:=11,12c11%0a%3c # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a%3c Attach:vmminstall-1.png%0a---%0a> # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.%0a16c15%0a%3c %0a---%0a> Attach:vmminstall-1.png%0a +host:1607332572=38.81.163.7 +author:1607332015=jrmu +diff:1607332015:1607331733:=19d18%0a%3c Attach:vmminstall-5.png%0a +host:1607332015=38.81.163.7 +author:1607331733=jrmu +diff:1607331733:1607330339:=16,18d15%0a%3c Attach:vmminstall-2.png%0a%3c Attach:vmminstall-3.png%0a%3c Attach:vmminstall-4.png%0a +host:1607331733=38.81.163.7 +author:1607330339=jrmu +diff:1607330339:1607329577:= +host:1607330339=38.81.163.7 +author:1607329577=jrmu +diff:1607329577:1607326296:=14,16c14%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.\\%0a%3c Attach:vmminstall-1.png%0a%3c %0a---%0a> # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a18,19c16,27%0a%3c %0a%3c %0a---%0a> Attach:install68-1.png%0a> %0a> %0a> (:title OpenBSD Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a> %0a> Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a> %0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a> Attach:install-panel-01.png%0a> # Click on Settings.%0a +host:1607329577=38.81.163.7 +author:1607326296=jrmu +diff:1607326296:1607324985:=11c11%0a%3c # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.%0a---%0a> # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cusername>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup.%0a13,15c13,15%0a%3c # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].%0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a%3c # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username.\\%0a---%0a> # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]]. '''Note''': Make sure to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system does automatically boot, you will want to restart the system.%0a> # You can log in and then run @@$ doas shutdown -r now@@ to try to reboot the system.%0a> by typing ~. and then.%0a +host:1607326296=38.81.163.7 +author:1607324985=jrmu +diff:1607324985:1607261456:=12c12%0a%3c # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a---%0a> # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period). Sometimes, you may need to press enter a few times before the @@~.@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a +host:1607324985=38.81.163.7 +author:1607261456=jrmu +diff:1607261456:1607256974:=8,9c8,9%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a---%0a> # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@%0a> # For Windows, you can use [[Shell/ShellPutty|PuTTY]].%0a11,15c11,12%0a%3c # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cusername>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup.%0a%3c # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period). Sometimes, you may need to press enter a few times before the @@~.@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%3c # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]]. '''Note''': Make sure to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system does automatically boot, you will want to restart the system.%0a%3c # You can log in and then run @@$ doas shutdown -r now@@ to try to reboot the system.%0a%3c by typing ~. and then.%0a---%0a> # Once inside, type @@vmctl console %3cusername>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see %0a> # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a +host:1607261456=125.231.38.251 +author:1607256974=jrmu +diff:1607256974:1607256594:=7c7%0a%3c # [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a---%0a> # || [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a10,11d9%0a%3c # '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%3c # Once inside, type @@vmctl console %3cusername>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see %0a +host:1607256974=125.231.38.251 +author:1607256594=jrmu +diff:1607256594:1607256295:=7,9c7%0a%3c # || [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]].%0a---%0a> # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a +host:1607256594=125.231.38.251 +author:1607256295=jrmu +diff:1607256295:1607255356:=1,4c1,4%0a%3c (:title OpenBSD VMM Install Guide:)%0a%3c %0a%3c This is a quick OpenBSD install guide for VMM.%0a%3c %0a---%0a> (:title OpenBSD 6.8 Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.8.%0a> %0a197,201c197%0a%3c Then, do the installation as usual.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a\ No newline at end of file%0a---%0a> Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1607256295=125.231.38.251 +author:1607255356=jrmu +diff:1607255356:1607255356:=1,197d0%0a%3c (:title OpenBSD 6.8 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a%3c Attach:install68-1.png%0a%3c %0a%3c %0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a%3c # Click on Settings.%0a%3c You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%3c %0a%3c You will be given a username and password for your account. This will create a username on our host system:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%3c %0a%3c **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%3c %0a%3c Once you log in, you can access the serial console:%0a%3c %0a%3c [@%0a%3c $ vmctl console %3cvm-name>%0a%3c @]%0a%3c %0a%3c To shutdown the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl stop %3cvm-name>%0a%3c @]%0a%3c %0a%3c To boot the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl start %3cvm-name>%0a%3c @]%0a%3c %0a%3c To pause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl pause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To unpause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl unpause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To escape serial console, type ~~. %0a%3c %0a%3c ----%0a%3c %0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a%3c %0a%3c For convenience, you can log in to your VPS as follows:%0a%3c %0a%3c [@%0a%3c $ ssh username@username.coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD 6.6:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ cd ~%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a%3c %0a%3c ----%0a%3c %0a%3c For OpenBSD, here is how you statically assign your IP address:%0a%3c %0a%3c Inside /etc/hostname.vio0:%0a%3c %0a%3c [@%0a%3c inet 38.81.163.xxx 255.255.255.0%0a%3c @]%0a%3c %0a%3c Replace 38.81.163.xxx with your assigned IP address.%0a%3c %0a%3c Inside /etc/mygate:%0a%3c %0a%3c [@%0a%3c 38.81.163.129%0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c To restart networking:%0a%3c %0a%3c [@%0a%3c # service networking restart%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c systemctl restart networking%0a%3c @]%0a%3c %0a%3c Inside /etc/network/interfaces:%0a%3c %0a%3c [@%0a%3c source /etc/network/interfaces.d/*%0a%3c %0a%3c # The loopback network interface%0a%3c auto lo%0a%3c iface lo inet loopback%0a%3c %0a%3c # The primary network interface%0a%3c auto enp0s2%0a%3c iface enp0s2 inet static%0a%3c address 38.81.163.x%0a%3c netmask 255.255.255.0%0a%3c gateway 38.81.163.129%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c Losing network connectivity:%0a%3c %0a%3c For OpenBSD, put this in your crontab:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD:%0a%3c %0a%3c First, log in to the host:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ vmctl stop username%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1607255356=38.81.163.7 blob - /dev/null blob + 929571500e168ad730a4b672c85bb872b42ab426 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vmmlinux @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=fgm +charset=UTF-8 +csum= +ctime=1607330912 +host=38.87.162.8 +name=Openbsd.Vmmlinux +rev=2 +targets= +text=You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%0aYou will be given a username and password for your account. This will create a username on our host system:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a@]%0a%0aECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%0a**Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%0aOnce you log in, you can access the serial console:%0a%0a[@%0a$ vmctl console %3cvm-name>%0a@]%0a%0aTo shutdown the VM:%0a%0a[@%0a$ vmctl stop %3cvm-name>%0a@]%0a%0aTo boot the VM:%0a%0a[@%0a$ vmctl start %3cvm-name>%0a@]%0a%0aTo pause the VM:%0a%0a[@%0a$ vmctl pause %3cvm-name>%0a@]%0a%0aTo unpause the VM:%0a%0a[@%0a$ vmctl unpause %3cvm-name>%0a@]%0a%0aTo escape serial console, type ~~. %0a%0a----%0a%0aTo connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.87.162.1.%0a%0aFor convenience, you can log in to your VPS as follows:%0a%0a[@%0a$ ssh username@username.coconut.ircnow.org%0a@]%0a%0aPlease note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%0a----%0a%0aTo reinstall OpenBSD 6.6:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a$ cd ~%0a$ rm username.qcow2%0a$ vmctl create -s 20G username.qcow2%0a$ vmctl start username%0a$ vmctl start username%0a$ vmctl console username%0a@]%0a%0aMake sure to configure static networking as well as to set up ping in the background as outlined below.%0a%0a----%0a%0aFor OpenBSD, here is how you statically assign your IP address:%0a%0aInside /etc/hostname.vio0:%0a%0a[@%0ainet 38.87.162.xxx 255.255.255.0%0a@]%0a%0aReplace 38.87.162.xxx with your assigned IP address.%0a%0aInside /etc/mygate:%0a%0a[@%0a38.87.162.1%0a@]%0a%0aFor Alpine:%0a%0aTo restart networking:%0a%0a[@%0a# service networking restart%0a@]%0a%0aFor Debian:%0a%0a[@%0asystemctl restart networking%0a@]%0a%0aInside /etc/network/interfaces:%0a%0a[@%0asource /etc/network/interfaces.d/*%0a%0a# The loopback network interface%0aauto lo%0aiface lo inet loopback%0a%0a# The primary network interface%0aauto enp0s2%0aiface enp0s2 inet static%0a address 38.87.162.x%0a netmask 255.255.255.0%0a gateway 38.87.162.1%0a@]%0a%0a----%0a%0aLosing network connectivity:%0a%0aFor OpenBSD, put this in your crontab:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aFor Debian:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; %0a@]%0a%0aFor Alpine:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0a----%0a%0aTo reinstall OpenBSD:%0a%0aFirst, log in to the host:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a$ vmctl stop username%0a$ rm username.qcow2%0a$ vmctl create -s 20G username.qcow2%0a$ vmctl start username%0a$ vmctl console username%0a@]%0a%0aThen, do the installation as usual.%0a +time=1629048999 +author:1629048999=fgm +diff:1629048999:1607330912:=47,48c47,48%0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.87.162.1.%0a%3c %0a---%0a> To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a> %0a80c80%0a%3c inet 38.87.162.xxx 255.255.255.0%0a---%0a> inet 38.81.163.xxx 255.255.255.0%0a83,84c83,84%0a%3c Replace 38.87.162.xxx with your assigned IP address.%0a%3c %0a---%0a> Replace 38.81.163.xxx with your assigned IP address.%0a> %0a88c88%0a%3c 38.87.162.1%0a---%0a> 38.81.163.129%0a117c117%0a%3c address 38.87.162.x%0a---%0a> address 38.81.163.x%0a119c119%0a%3c gateway 38.87.162.1%0a---%0a> gateway 38.81.163.129%0a129c129%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a135c135%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a---%0a> /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a141c141%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a147c147%0a%3c /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; %0a---%0a> /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a153c153%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a---%0a> @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a159c159%0a%3c /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a---%0a> /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a177c177%0a%3c Then, do the installation as usual.%0a---%0a> Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1629048999=38.87.162.8 +author:1607330912=jrmu +diff:1607330912:1607330912:=1,177d0%0a%3c You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%3c %0a%3c You will be given a username and password for your account. This will create a username on our host system:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%3c %0a%3c **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%3c %0a%3c Once you log in, you can access the serial console:%0a%3c %0a%3c [@%0a%3c $ vmctl console %3cvm-name>%0a%3c @]%0a%3c %0a%3c To shutdown the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl stop %3cvm-name>%0a%3c @]%0a%3c %0a%3c To boot the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl start %3cvm-name>%0a%3c @]%0a%3c %0a%3c To pause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl pause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To unpause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl unpause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To escape serial console, type ~~. %0a%3c %0a%3c ----%0a%3c %0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a%3c %0a%3c For convenience, you can log in to your VPS as follows:%0a%3c %0a%3c [@%0a%3c $ ssh username@username.coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD 6.6:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ cd ~%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a%3c %0a%3c ----%0a%3c %0a%3c For OpenBSD, here is how you statically assign your IP address:%0a%3c %0a%3c Inside /etc/hostname.vio0:%0a%3c %0a%3c [@%0a%3c inet 38.81.163.xxx 255.255.255.0%0a%3c @]%0a%3c %0a%3c Replace 38.81.163.xxx with your assigned IP address.%0a%3c %0a%3c Inside /etc/mygate:%0a%3c %0a%3c [@%0a%3c 38.81.163.129%0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c To restart networking:%0a%3c %0a%3c [@%0a%3c # service networking restart%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c systemctl restart networking%0a%3c @]%0a%3c %0a%3c Inside /etc/network/interfaces:%0a%3c %0a%3c [@%0a%3c source /etc/network/interfaces.d/*%0a%3c %0a%3c # The loopback network interface%0a%3c auto lo%0a%3c iface lo inet loopback%0a%3c %0a%3c # The primary network interface%0a%3c auto enp0s2%0a%3c iface enp0s2 inet static%0a%3c address 38.81.163.x%0a%3c netmask 255.255.255.0%0a%3c gateway 38.81.163.129%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c Losing network connectivity:%0a%3c %0a%3c For OpenBSD, put this in your crontab:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD:%0a%3c %0a%3c First, log in to the host:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ vmctl stop username%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1607330912=38.81.163.7 blob - /dev/null blob + 424ea195df01c242a2c9c5c031629ce6fa1c1999 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Vmmuser @@ -0,0 +1,61 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1607255001 +host=38.87.162.8 +name=Openbsd.Vmmuser +rev=16 +targets=Shell.ShellPutty,Openbsd.Vmminstall +text=(:redirect Vmctl.Usage:)%0a(:title VMM User Guide:)%0a%0a[[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host.%0a%0a!! Connect to the Virtual Machine%0a%0aConnect to the guest, username.coconut.ircnow.org.%0a# For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a# For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%0a!! Manage the Virtual Machine%0a%0aConnect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a# For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a# For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%0a'''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%0aAttach:vmminstall-1.png%0a%0aOnce inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a%0a# To view the [[https://man.openbsd.org/cu|serial console]] to [[openbsd/vmminstall|install, upgrade, or repair]] the system:%0a%0a[@%0a$ vmctl console %3cvm-name>%0a@]%0a%0aTo shutdown the VM:%0a%0a[@%0a$ vmctl stop %3cvm-name>%0a@]%0a%0aTo boot the VM:%0a%0a[@%0a$ vmctl start %3cvm-name>%0a@]%0a%0aTo pause the VM:%0a%0a[@%0a$ vmctl pause %3cvm-name>%0a@]%0a%0aTo unpause the VM:%0a%0a[@%0a$ vmctl unpause %3cvm-name>%0a@]%0a%0aAt any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%0a!! Install, Upgrade, Repair%0a%0aIf you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a%0a!! See Also%0a%0a|| [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a +time=1627536700 +title=VMM User Guide +author:1627536700=jrmu +diff:1627536700:1627536631:=1c1%0a%3c (:redirect Vmctl.Usage:)%0a---%0a> (:title Vmctl Usage:)%0a +host:1627536700=38.87.162.8 +author:1627536631=jrmu +diff:1627536631:1607508515:=1d0%0a%3c (:title Vmctl Usage:)%0a62c61%0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a---%0a> || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a\ No newline at end of file%0a +host:1627536631=38.87.162.8 +author:1607508515=jrmu +diff:1607508515:1607508311:=5,10d4%0a%3c !! Connect to the Virtual Machine%0a%3c %0a%3c Connect to the guest, username.coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%3c %0a17a12,17%0a> %0a> !! Connect to the Virtual Machine%0a> %0a> Connect to the guest, username.coconut.ircnow.org.%0a> # For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a> # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a +host:1607508515=198.251.81.44 +author:1607508311=jrmu +diff:1607508311:1607508260:=5,7c5%0a%3c !! Manage the Virtual Machine%0a%3c %0a%3c Connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a---%0a> To manage the virtual machine, you will need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a13,15c11%0a%3c !! Connect to the Virtual Machine%0a%3c %0a%3c Connect to the guest, username.coconut.ircnow.org.%0a---%0a> To connect to the virtual machine, you will need to connect to the guest, username.coconut.ircnow.org.%0a +host:1607508311=198.251.81.44 +author:1607508260=jrmu +diff:1607508260:1607506974:= +host:1607508260=198.251.81.44 +author:1607506974=jrmu +diff:1607506974:1607342047:=3,5c3%0a%3c [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host.%0a%3c %0a%3c To manage the virtual machine, you will need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a---%0a> [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a10,13d7%0a%3c %0a%3c To connect to the virtual machine, you will need to connect to the guest, username.coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a +host:1607506974=198.251.81.44 +author:1607342047=jrmu +diff:1607342047:1607341293:=11,14c11,12%0a%3c Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a%3c %0a%3c # To view the [[https://man.openbsd.org/cu|serial console]] to [[openbsd/vmminstall|install, upgrade, or repair]] the system:%0a%3c %0a---%0a> Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands:%0a> %0a43c41,124%0a%3c At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a---%0a> To escape serial console, type @@~.@@%0a> %0a> # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a> Attach:vmminstall-1.png%0a> # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a> %0a> This opens up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a> %0a> ----%0a> %0a> To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a> %0a> For convenience, you can log in to your VPS as follows:%0a> %0a> [@%0a> $ ssh username@username.coconut.ircnow.org%0a> @]%0a> %0a> Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a> %0a> ----%0a> %0a> To reinstall OpenBSD 6.6:%0a> %0a> [@%0a> $ ssh username@coconut.ircnow.org%0a> $ cd ~%0a> $ rm username.qcow2%0a> $ vmctl create -s 20G username.qcow2%0a> $ vmctl start username%0a> $ vmctl start username%0a> $ vmctl console username%0a> @]%0a> %0a> Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a> %0a> ----%0a> %0a> For OpenBSD, here is how you statically assign your IP address:%0a> %0a> Inside /etc/hostname.vio0:%0a> %0a> [@%0a> inet 38.81.163.xxx 255.255.255.0%0a> @]%0a> %0a> Replace 38.81.163.xxx with your assigned IP address.%0a> %0a> Inside /etc/mygate:%0a> %0a> [@%0a> 38.81.163.129%0a> @]%0a> %0a> For Alpine:%0a> %0a> To restart networking:%0a> %0a> [@%0a> # service networking restart%0a> @]%0a> %0a> For Debian:%0a> %0a> [@%0a> systemctl restart networking%0a> @]%0a> %0a> Inside /etc/network/interfaces:%0a> %0a> [@%0a> source /etc/network/interfaces.d/*%0a> %0a> # The loopback network interface%0a> auto lo%0a> iface lo inet loopback%0a> %0a> # The primary network interface%0a> auto enp0s2%0a> iface enp0s2 inet static%0a> address 38.81.163.x%0a> netmask 255.255.255.0%0a> gateway 38.81.163.129%0a> @]%0a +host:1607342047=198.251.81.119 +author:1607341293=jrmu +diff:1607341293:1607341194:=8a9%0a> Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands:%0a11,12c12,13%0a%3c Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands:%0a%3c %0a---%0a> Once you log in, you can access the serial console:%0a> %0a41,47c42,44%0a%3c To escape serial console, type @@~.@@%0a%3c %0a%3c # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a%3c Attach:vmminstall-1.png%0a%3c # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%3c %0a%3c This opens up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a---%0a> To escape serial console, type ~~. %0a> %0a> type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a +host:1607341293=198.251.81.119 +author:1607341194=jrmu +diff:1607341194:1607340477:=3,11c3,4%0a%3c [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c %0a%3c '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%3c %0a%3c Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands:%0a%3c Attach:vmminstall-1.png%0a%3c %0a---%0a> If you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a> %0a44,45d36%0a%3c type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a%3c %0a123,125d113%0a%3c !! Install, Upgrade, Repair%0a%3c %0a%3c If you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a +host:1607341194=198.251.81.119 +author:1607340477=jrmu +diff:1607340477:1607340353:=3,4d2%0a%3c If you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a%3c %0a112a111,117%0a> This is a quick install guide for OpenBSD 6.8.%0a> %0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]].%0a> %0a> # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a> # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a> Attach:install68-1.png%0a +host:1607340477=198.251.81.119 +author:1607340353=jrmu +diff:1607340353:1607340321:=2d1%0a%3c %0a122c121%0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a\ No newline at end of file%0a---%0a> || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a\ No newline at end of file%0a +host:1607340353=198.251.81.119 +author:1607340321=jrmu +diff:1607340321:1607331461:=1c1%0a%3c (:title VMM User Guide:)%0a---%0a> (:title OpenBSD 6.8 Install Guide:)%0a +host:1607340321=198.251.81.119 +author:1607331461=jrmu +diff:1607331461:1607255674:=2,3c2,24%0a%3c Once you log in, you can access the serial console:%0a%3c %0a---%0a> %0a> This is a quick install guide for OpenBSD 6.8.%0a> %0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]].%0a> %0a> # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a> # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a> Attach:install68-1.png%0a> %0a> %0a> (:title OpenBSD Install Guide:)%0a> %0a> This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a> %0a> Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a> %0a> # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a> Attach:install-panel-01.png%0a> # Click on Settings.%0a> You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a> %0a> You will be given a username and password for your account. This will create a username on our host system:%0a> %0a5c26%0a%3c $ vmctl console %3cvm-name>%0a---%0a> $ ssh username@coconut.ircnow.org%0a8,9c29,34%0a%3c To shutdown the VM:%0a%3c %0a---%0a> ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a> %0a> **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a> %0a> Once you log in, you can access the serial console:%0a> %0a11c36%0a%3c $ vmctl stop %3cvm-name>%0a---%0a> $ vmctl console %3cvm-name>%0a14,15c39,40%0a%3c To boot the VM:%0a%3c %0a---%0a> To shutdown the VM:%0a> %0a17c42%0a%3c $ vmctl start %3cvm-name>%0a---%0a> $ vmctl stop %3cvm-name>%0a20,21c45,46%0a%3c To pause the VM:%0a%3c %0a---%0a> To boot the VM:%0a> %0a23c48%0a%3c $ vmctl pause %3cvm-name>%0a---%0a> $ vmctl start %3cvm-name>%0a26,27c51,52%0a%3c To unpause the VM:%0a%3c %0a---%0a> To pause the VM:%0a> %0a29c54%0a%3c $ vmctl unpause %3cvm-name>%0a---%0a> $ vmctl pause %3cvm-name>%0a31a57,62%0a> To unpause the VM:%0a> %0a> [@%0a> $ vmctl unpause %3cvm-name>%0a> @]%0a> %0a110,117c141,197%0a%3c This is a quick install guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]].%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a%3c Attach:install68-1.png%0a%3c %0a---%0a> %0a> ----%0a> %0a> Losing network connectivity:%0a> %0a> For OpenBSD, put this in your crontab:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> For Debian:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a> @]%0a> %0a> For Alpine:%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> Afterwards, to ensure it runs right away, execute this once:%0a> %0a> [@%0a> /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a> @]%0a> %0a> ----%0a> %0a> To reinstall OpenBSD:%0a> %0a> First, log in to the host:%0a> %0a> [@%0a> $ ssh username@coconut.ircnow.org%0a> $ vmctl stop username%0a> $ rm username.qcow2%0a> $ vmctl create -s 20G username.qcow2%0a> $ vmctl start username%0a> $ vmctl console username%0a> @]%0a> %0a> Then, do the installation as usual.%0a +host:1607331461=38.81.163.7 +author:1607255674=jrmu +diff:1607255674:1607255093:=5,6c5,6%0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]].%0a%3c %0a---%0a> '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a> %0a197,201c197%0a%3c Then, do the installation as usual.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a\ No newline at end of file%0a---%0a> Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1607255674=38.81.163.7 +author:1607255093=jrmu +diff:1607255093:1607255001:=1,20d0%0a%3c (:title OpenBSD 6.8 Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a%3c # First, you'll want to boot up from the install ISO. Please consult the [[Openbsd/buyvm|BuyVM]], [[vps/intro|VMM]], and [[Openbsd/bsdrd|bsd.rd]] install guides.%0a%3c # At bootup, type @@boot@@, then press enter. Or wait a few seconds to boot automatically.\\%0a%3c Attach:install68-1.png%0a%3c %0a%3c %0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a%3c # Click on Settings.%0a +host:1607255093=38.81.163.7 +author:1607255001=jrmu +diff:1607255001:1607255001:=1,177d0%0a%3c You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%3c %0a%3c You will be given a username and password for your account. This will create a username on our host system:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%3c %0a%3c **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%3c %0a%3c Once you log in, you can access the serial console:%0a%3c %0a%3c [@%0a%3c $ vmctl console %3cvm-name>%0a%3c @]%0a%3c %0a%3c To shutdown the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl stop %3cvm-name>%0a%3c @]%0a%3c %0a%3c To boot the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl start %3cvm-name>%0a%3c @]%0a%3c %0a%3c To pause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl pause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To unpause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl unpause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To escape serial console, type ~~. %0a%3c %0a%3c ----%0a%3c %0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a%3c %0a%3c For convenience, you can log in to your VPS as follows:%0a%3c %0a%3c [@%0a%3c $ ssh username@username.coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD 6.6:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ cd ~%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a%3c %0a%3c ----%0a%3c %0a%3c For OpenBSD, here is how you statically assign your IP address:%0a%3c %0a%3c Inside /etc/hostname.vio0:%0a%3c %0a%3c [@%0a%3c inet 38.81.163.xxx 255.255.255.0%0a%3c @]%0a%3c %0a%3c Replace 38.81.163.xxx with your assigned IP address.%0a%3c %0a%3c Inside /etc/mygate:%0a%3c %0a%3c [@%0a%3c 38.81.163.129%0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c To restart networking:%0a%3c %0a%3c [@%0a%3c # service networking restart%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c systemctl restart networking%0a%3c @]%0a%3c %0a%3c Inside /etc/network/interfaces:%0a%3c %0a%3c [@%0a%3c source /etc/network/interfaces.d/*%0a%3c %0a%3c # The loopback network interface%0a%3c auto lo%0a%3c iface lo inet loopback%0a%3c %0a%3c # The primary network interface%0a%3c auto enp0s2%0a%3c iface enp0s2 inet static%0a%3c address 38.81.163.x%0a%3c netmask 255.255.255.0%0a%3c gateway 38.81.163.129%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c Losing network connectivity:%0a%3c %0a%3c For OpenBSD, put this in your crontab:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c For Debian:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a%3c @]%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD:%0a%3c %0a%3c First, log in to the host:%0a%3c %0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c $ vmctl stop username%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c @]%0a%3c %0a%3c Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1607255001=38.81.163.7 blob - /dev/null blob + ae7c265e2b29493a9f266e63b95dc9a8c205e921 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Wordpress @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621725776 +host=125.231.28.9 +name=Openbsd.Wordpress +rev=4 +targets= +text='''Install WordPress on OpenBSD'''%0a%0a'''Introduction'''%0aThis post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a%0a'''Installation of packages'''%0aYou can install all the required software that is not part of OpenBSD base from the packages:%0a%0a$ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0aThe PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a%0a'''Configuration of PHP'''%0aYou must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a%0a$ cd /etc/php-7.4.sample/%0a%0a$ for i in * ; do%0a%0a> doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a%0a> done%0a%0a'''Configuration of MariaDB'''%0aI recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a%0amysqld:\%0a :openfiles-cur=1024:\%0a :openfiles-max=2048:\%0a :tc=daemon:%0a%0a'''Create the initial database for MariaDB:'''%0a%0a$ doas mysql_install_db%0aNow you can start mysqld(8) and secure the installation:%0a%0a$ doas rcctl enable mysqld%0a$ doas rcctl start mysqld%0a$ doas mysql_secure_installation%0aWith httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a%0a$ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0aSecond you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a%0a[client-server]%0asocket = /var/www/var/run/mysql/mysql.sock%0aYou must restart mysqld(8) in order to activate the new socket:%0a%0a$ doas rcctl restart mysqld%0aThe last step is to create the database for WordPress:%0a%0a$ mysql -u root -p%0aEnter password:%0aWelcome to the MariaDB monitor. Commands end with ; or \g.%0aYour MariaDB connection id is 3%0aServer version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a%0aCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a%0aType 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a%0aMariaDB [(none)]> CREATE DATABASE wordpress;%0aQuery OK, 1 row affected (0.01 sec)%0a%0aMariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a -> IDENTIFIED BY "password";%0aQuery OK, 1 row affected (0.00 sec)%0a%0aMariaDB [(none)]> FLUSH PRIVILEGES;%0aQuery OK, 1 row affected (0.00 sec)%0a%0aMariaDB [(none)]> EXIT%0aBye%0a%0a'''Configuration of httpd(8)'''%0aI assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a%0aserver "default" {%0a listen on egress port http%0a log style combined%0a%0a root "/wordpress"%0a directory index index.php%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a}%0a%0atypes {%0a include "/usr/share/misc/mime.types"%0a}%0aYou may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a%0aIn order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a%0a$ cd /var/www%0a$ doas mkdir etc%0a$ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0aInstallation of WordPress%0aFirst you should fetch the latest version of WordPress:%0a%0a$ cd%0a$ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0aNext you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a%0a$ cd /var/www%0a$ doas tar xzf /home/user/wordpress.tar.gz%0a$ cd wordpress%0a$ find . -type d -exec doas chown www:daemon {} \;%0a$ find . -type f -exec doas chown www:bin {} \;%0a$ doas cp wp-config-sample.php wp-config.php%0aEdit the new file wp-config.php and add or set the following values:%0a%0adefine('DB_NAME', 'wordpress');%0adefine('DB_USER', 'wordpress');%0adefine('DB_PASSWORD', 'password');%0adefine('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0aWordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a%0adefine('WP_PROXY_HOST', 'proxy.example.net');%0adefine('WP_PROXY_PORT', '8080');%0adefine('WP_PROXY_USERNAME', '');%0adefine('WP_PROXY_PASSWORD', '');%0adefine('WP_PROXY_BYPASS_HOSTS', 'localhost');%0aStart services and finish setup%0aNow it is time to actually start httpd(8) and php-fpm:%0a%0a$ doas rcctl enable php74_fpm httpd%0a$ doas rcctl start php74_fpm httpd%0aIf both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a +time=1622782511 +author:1622782511=jrmu +diff:1622782511:1621725881:=1,129d0%0a%3c '''Install WordPress on OpenBSD'''%0a%3c %0a%3c '''Introduction'''%0a%3c This post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a%3c %0a%3c '''Installation of packages'''%0a%3c You can install all the required software that is not part of OpenBSD base from the packages:%0a%3c %0a%3c $ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0a%3c The PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a%3c %0a%3c '''Configuration of PHP'''%0a%3c You must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a%3c %0a%3c $ cd /etc/php-7.4.sample/%0a%3c %0a%3c $ for i in * ; do%0a%3c %0a%3c > doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a%3c %0a%3c > done%0a%3c %0a%3c '''Configuration of MariaDB'''%0a%3c I recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a%3c %0a%3c mysqld:\%0a%3c :openfiles-cur=1024:\%0a%3c :openfiles-max=2048:\%0a%3c :tc=daemon:%0a%3c %0a%3c '''Create the initial database for MariaDB:'''%0a%3c %0a%3c $ doas mysql_install_db%0a%3c Now you can start mysqld(8) and secure the installation:%0a%3c %0a%3c $ doas rcctl enable mysqld%0a%3c $ doas rcctl start mysqld%0a%3c $ doas mysql_secure_installation%0a%3c With httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a%3c %0a%3c $ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0a%3c Second you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a%3c %0a%3c [client-server]%0a%3c socket = /var/www/var/run/mysql/mysql.sock%0a%3c You must restart mysqld(8) in order to activate the new socket:%0a%3c %0a%3c $ doas rcctl restart mysqld%0a%3c The last step is to create the database for WordPress:%0a%3c %0a%3c $ mysql -u root -p%0a%3c Enter password:%0a%3c Welcome to the MariaDB monitor. Commands end with ; or \g.%0a%3c Your MariaDB connection id is 3%0a%3c Server version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a%3c %0a%3c Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a%3c %0a%3c Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a%3c %0a%3c MariaDB [(none)]> CREATE DATABASE wordpress;%0a%3c Query OK, 1 row affected (0.01 sec)%0a%3c %0a%3c MariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a%3c -> IDENTIFIED BY "password";%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> FLUSH PRIVILEGES;%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> EXIT%0a%3c Bye%0a%3c %0a%3c '''Configuration of httpd(8)'''%0a%3c I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a%3c %0a%3c server "default" {%0a%3c listen on egress port http%0a%3c log style combined%0a%3c %0a%3c root "/wordpress"%0a%3c directory index index.php%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c }%0a%3c %0a%3c types {%0a%3c include "/usr/share/misc/mime.types"%0a%3c }%0a%3c You may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a%3c %0a%3c In order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas mkdir etc%0a%3c $ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0a%3c Installation of WordPress%0a%3c First you should fetch the latest version of WordPress:%0a%3c %0a%3c $ cd%0a%3c $ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0a%3c Next you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas tar xzf /home/user/wordpress.tar.gz%0a%3c $ cd wordpress%0a%3c $ find . -type d -exec doas chown www:daemon {} \;%0a%3c $ find . -type f -exec doas chown www:bin {} \;%0a%3c $ doas cp wp-config-sample.php wp-config.php%0a%3c Edit the new file wp-config.php and add or set the following values:%0a%3c %0a%3c define('DB_NAME', 'wordpress');%0a%3c define('DB_USER', 'wordpress');%0a%3c define('DB_PASSWORD', 'password');%0a%3c define('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0a%3c WordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a%3c %0a%3c define('WP_PROXY_HOST', 'proxy.example.net');%0a%3c define('WP_PROXY_PORT', '8080');%0a%3c define('WP_PROXY_USERNAME', '');%0a%3c define('WP_PROXY_PASSWORD', '');%0a%3c define('WP_PROXY_BYPASS_HOSTS', 'localhost');%0a%3c Start services and finish setup%0a%3c Now it is time to actually start httpd(8) and php-fpm:%0a%3c %0a%3c $ doas rcctl enable php74_fpm httpd%0a%3c $ doas rcctl start php74_fpm httpd%0a%3c If both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a +host:1622782511=125.231.28.9 +author:1621725881=usr +diff:1621725881:1621725828:=0a1,129%0a> '''Install WordPress on OpenBSD'''%0a> %0a> '''Introduction'''%0a> This post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a> %0a> '''Installation of packages'''%0a> You can install all the required software that is not part of OpenBSD base from the packages:%0a> %0a> $ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0a> The PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a> %0a> '''Configuration of PHP'''%0a> You must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a> %0a> $ cd /etc/php-7.4.sample/%0a> %0a> $ for i in * ; do%0a> %0a> > doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a> %0a> > done%0a> %0a> '''Configuration of MariaDB'''%0a> I recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a> %0a> mysqld:\%0a> :openfiles-cur=1024:\%0a> :openfiles-max=2048:\%0a> :tc=daemon:%0a> %0a> '''Create the initial database for MariaDB:'''%0a> %0a> $ doas mysql_install_db%0a> Now you can start mysqld(8) and secure the installation:%0a> %0a> $ doas rcctl enable mysqld%0a> $ doas rcctl start mysqld%0a> $ doas mysql_secure_installation%0a> With httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a> %0a> $ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0a> Second you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a> %0a> [client-server]%0a> socket = /var/www/var/run/mysql/mysql.sock%0a> You must restart mysqld(8) in order to activate the new socket:%0a> %0a> $ doas rcctl restart mysqld%0a> The last step is to create the database for WordPress:%0a> %0a> $ mysql -u root -p%0a> Enter password:%0a> Welcome to the MariaDB monitor. Commands end with ; or \g.%0a> Your MariaDB connection id is 3%0a> Server version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a> %0a> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a> %0a> Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a> %0a> MariaDB [(none)]> CREATE DATABASE wordpress;%0a> Query OK, 1 row affected (0.01 sec)%0a> %0a> MariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a> -> IDENTIFIED BY "password";%0a> Query OK, 1 row affected (0.00 sec)%0a> %0a> MariaDB [(none)]> FLUSH PRIVILEGES;%0a> Query OK, 1 row affected (0.00 sec)%0a> %0a> MariaDB [(none)]> EXIT%0a> Bye%0a> %0a> '''Configuration of httpd(8)'''%0a> I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a> %0a> server "default" {%0a> listen on egress port http%0a> log style combined%0a> %0a> root "/wordpress"%0a> directory index index.php%0a> location "*.php" {%0a> fastcgi socket "/run/php-fpm.sock"%0a> }%0a> }%0a> %0a> types {%0a> include "/usr/share/misc/mime.types"%0a> }%0a> You may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a> %0a> In order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a> %0a> $ cd /var/www%0a> $ doas mkdir etc%0a> $ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0a> Installation of WordPress%0a> First you should fetch the latest version of WordPress:%0a> %0a> $ cd%0a> $ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0a> Next you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a> %0a> $ cd /var/www%0a> $ doas tar xzf /home/user/wordpress.tar.gz%0a> $ cd wordpress%0a> $ find . -type d -exec doas chown www:daemon {} \;%0a> $ find . -type f -exec doas chown www:bin {} \;%0a> $ doas cp wp-config-sample.php wp-config.php%0a> Edit the new file wp-config.php and add or set the following values:%0a> %0a> define('DB_NAME', 'wordpress');%0a> define('DB_USER', 'wordpress');%0a> define('DB_PASSWORD', 'password');%0a> define('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0a> WordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a> %0a> define('WP_PROXY_HOST', 'proxy.example.net');%0a> define('WP_PROXY_PORT', '8080');%0a> define('WP_PROXY_USERNAME', '');%0a> define('WP_PROXY_PASSWORD', '');%0a> define('WP_PROXY_BYPASS_HOSTS', 'localhost');%0a> Start services and finish setup%0a> Now it is time to actually start httpd(8) and php-fpm:%0a> %0a> $ doas rcctl enable php74_fpm httpd%0a> $ doas rcctl start php74_fpm httpd%0a> If both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a\ No newline at end of file%0a +host:1621725881=89.108.172.16 +author:1621725828=usr +diff:1621725828:1621725776:=16d15%0a%3c %0a18d16%0a%3c %0a20d17%0a%3c %0a +host:1621725828=89.108.172.16 +author:1621725776=usr +diff:1621725776:1621725776:=1,126d0%0a%3c '''Install WordPress on OpenBSD'''%0a%3c %0a%3c '''Introduction'''%0a%3c This post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a%3c %0a%3c '''Installation of packages'''%0a%3c You can install all the required software that is not part of OpenBSD base from the packages:%0a%3c %0a%3c $ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0a%3c The PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a%3c %0a%3c '''Configuration of PHP'''%0a%3c You must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a%3c %0a%3c $ cd /etc/php-7.4.sample/%0a%3c $ for i in * ; do%0a%3c > doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a%3c > done%0a%3c %0a%3c '''Configuration of MariaDB'''%0a%3c I recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a%3c %0a%3c mysqld:\%0a%3c :openfiles-cur=1024:\%0a%3c :openfiles-max=2048:\%0a%3c :tc=daemon:%0a%3c %0a%3c '''Create the initial database for MariaDB:'''%0a%3c %0a%3c $ doas mysql_install_db%0a%3c Now you can start mysqld(8) and secure the installation:%0a%3c %0a%3c $ doas rcctl enable mysqld%0a%3c $ doas rcctl start mysqld%0a%3c $ doas mysql_secure_installation%0a%3c With httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a%3c %0a%3c $ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0a%3c Second you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a%3c %0a%3c [client-server]%0a%3c socket = /var/www/var/run/mysql/mysql.sock%0a%3c You must restart mysqld(8) in order to activate the new socket:%0a%3c %0a%3c $ doas rcctl restart mysqld%0a%3c The last step is to create the database for WordPress:%0a%3c %0a%3c $ mysql -u root -p%0a%3c Enter password:%0a%3c Welcome to the MariaDB monitor. Commands end with ; or \g.%0a%3c Your MariaDB connection id is 3%0a%3c Server version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a%3c %0a%3c Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a%3c %0a%3c Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a%3c %0a%3c MariaDB [(none)]> CREATE DATABASE wordpress;%0a%3c Query OK, 1 row affected (0.01 sec)%0a%3c %0a%3c MariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a%3c -> IDENTIFIED BY "password";%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> FLUSH PRIVILEGES;%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> EXIT%0a%3c Bye%0a%3c %0a%3c '''Configuration of httpd(8)'''%0a%3c I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a%3c %0a%3c server "default" {%0a%3c listen on egress port http%0a%3c log style combined%0a%3c %0a%3c root "/wordpress"%0a%3c directory index index.php%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c }%0a%3c %0a%3c types {%0a%3c include "/usr/share/misc/mime.types"%0a%3c }%0a%3c You may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a%3c %0a%3c In order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas mkdir etc%0a%3c $ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0a%3c Installation of WordPress%0a%3c First you should fetch the latest version of WordPress:%0a%3c %0a%3c $ cd%0a%3c $ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0a%3c Next you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas tar xzf /home/user/wordpress.tar.gz%0a%3c $ cd wordpress%0a%3c $ find . -type d -exec doas chown www:daemon {} \;%0a%3c $ find . -type f -exec doas chown www:bin {} \;%0a%3c $ doas cp wp-config-sample.php wp-config.php%0a%3c Edit the new file wp-config.php and add or set the following values:%0a%3c %0a%3c define('DB_NAME', 'wordpress');%0a%3c define('DB_USER', 'wordpress');%0a%3c define('DB_PASSWORD', 'password');%0a%3c define('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0a%3c WordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a%3c %0a%3c define('WP_PROXY_HOST', 'proxy.example.net');%0a%3c define('WP_PROXY_PORT', '8080');%0a%3c define('WP_PROXY_USERNAME', '');%0a%3c define('WP_PROXY_PASSWORD', '');%0a%3c define('WP_PROXY_BYPASS_HOSTS', 'localhost');%0a%3c Start services and finish setup%0a%3c Now it is time to actually start httpd(8) and php-fpm:%0a%3c %0a%3c $ doas rcctl enable php74_fpm httpd%0a%3c $ doas rcctl start php74_fpm httpd%0a%3c If both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a\ No newline at end of file%0a +host:1621725776=89.108.172.16 blob - /dev/null blob + 3c2a60a0c8cde718b55b4482e5fbb4206890503f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Wraith @@ -0,0 +1,175 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597743873 +host=198.251.81.119 +name=Openbsd.Wraith +rev=54 +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 +title=Wraith +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 +author:1611923481=jrmu +diff:1611923481:1611396550:=299c299%0a%3c .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> .chanset #chan -fastop mdop deop manop deop mop deop +nomassjoin -autoop +private bad-cookie kick flood-mjoin 6:1 flood-kick 2:30 +protect%0a +host:1611923481=125.231.24.226 +author:1611396550=jrmu +diff:1611396550:1610985341:=74d73%0a%3c doas mkdir -p /home/$USER/.../%0a +host:1611396550=125.231.35.24 +author:1610985341=jrmu +diff:1610985341:1610982446:=52c52%0a%3c $ tar xvzf wraith-v1.4.10a.tar.gz%0a---%0a> $ tar wraith-v1.4.10a.tar.gz%0a +host:1610985341=125.224.21.52 +author:1610982446=jrmu +diff:1610982446:1610982209:=85,88d84%0a%3c read IGNORE;%0a%3c doas su -l $USER -c "/home/$USER/wraith -C"%0a%3c doas chsh -s /sbin/nologin $USER%0a%3c print -n "Bots configured! Press enter to continue";%0a +host:1610982446=125.224.21.52 +author:1610982209=jrmu +diff:1610982209:1610980938:=73d72%0a%3c doas mkdir -p /home/$USER/tmp/%0a83c82%0a%3c doas su -l $USER -c "/home/$USER/wraith -Q"%0a---%0a> doas su $USER -c "/home/$USER/wraith -Q"%0a84a84,87%0a> read IGNORE;%0a> doas su $USER -c "/home/$USER/wraith -C"%0a> doas chsh -s /sbin/nologin $USER%0a> print -n "Bots configured! Press enter to continue";%0a +host:1610982209=125.224.21.52 +author:1610980938=jrmu +diff:1610980938:1610979324:= +host:1610980938=125.224.21.52 +author:1610979324=jrmu +diff:1610979324:1610965538:=139c139%0a%3c Replace 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---%0a> Replace hubnick with your network name (efnet, ircnet, undernet) and hub.network.ircnow.org with your IPv6 hostname. Make sure to include the + to use IPv6. You will then want to specify a min port and max port for updating bot info.%0a +host:1610979324=125.224.21.52 +author:1610965538=jrmu +diff:1610965538:1610926952:=134c134%0a%3c hubnick hub.network.ircnow.org%0a---%0a> hubnick +hub.network.ircnow.org%0a144c144%0a%3c hubnick hub.network.ircnow.org%0a---%0a> hubnick +hub.network.ircnow.org%0a179c179%0a%3c botnick vhost%0a---%0a> botnick +vhost%0a +host:1610965538=125.224.21.52 +author:1610926952=jrmu +diff:1610926952:1610926857:=134c134%0a%3c hubnick +hub.network.ircnow.org%0a---%0a> hubnick +fruit.network.ircnow.org%0a156c156%0a%3c ! hub networkname hub.network.ircnow.org 12742%0a---%0a> ! hub undernet undernet.ircnow.org 29173%0a +host:1610926952=125.224.21.52 +author:1610926857=jrmu +diff:1610926857:1610926230:=101a102,103%0a> Afterwards, it will ask for the owner password. Next, it will ask you for your OWNER password and bot configuration information. You will want to add one line at the top:%0a> %0a103,107c105,107%0a%3c $ sh wraith-setup.sh %0a%3c Create new bot (WARNING: WILL DELETE!): networkname%0a%3c Command: /bin/rm -rf /home/undernet > /dev/null 2>&1 || true%0a%3c // Paste in your PACKCONFIG. Reference https://github.com/wraith/wraith/wiki/PackConfig%0a%3c // Press %3center> if it gets hung up. If that doesn't work hit ^D (CTRL+d)%0a---%0a> hubnick +vhost%0a> ! portmin 64000%0a> ! portmax 64100%0a110,170c110,119%0a%3c We paste something like this:%0a%3c %0a%3c [@%0a%3c PACKNAME yourpackname%0a%3c BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a%3c DCCPREFIX .%0a%3c OWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB yourhubname hub.network.ircnow.org 12742%0a%3c SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a%3c SALT2 ThTQF8IFeEe5ox0i%0a%3c @]%0a%3c %0a%3c The terminal will show:%0a%3c %0a%3c [@%0a%3c ........%0a%3c * Wrote settings to binary.%0a%3c Botpack configured! Press enter to continue%0a%3c Enter your binary password: %0a%3c @]%0a%3c %0a%3c Afterwards, it will ask for your OWNER password and bot configuration information. You will want to these three lines at the top:%0a%3c %0a%3c [@%0a%3c hubnick +fruit.network.ircnow.org%0a%3c ! portmin 64000%0a%3c ! portmax 64100%0a%3c @]%0a%3c %0a%3c Replace hubnick with your network name (efnet, ircnet, undernet) and hub.network.ircnow.org with your IPv6 hostname. Make sure to include the + to use IPv6. You will then want to specify a min port and max port for updating bot info.%0a%3c %0a%3c It should look like this:%0a%3c %0a%3c [@%0a%3c hubnick +hub.network.ircnow.org%0a%3c ! portmin 64000%0a%3c ! portmax 64100%0a%3c %0a%3c # Automatically updated with -C%0a%3c ! uid 1025%0a%3c #! uid -1%0a%3c %0a%3c ! username undernet%0a%3c ! homedir /home/undernet%0a%3c %0a%3c # Hubs this bot will connect to%0a%3c ! hub undernet undernet.ircnow.org 29173%0a%3c %0a%3c # '|' means OR, [] means the enclosed is optional%0a%3c # A '+' in front of HOST means the HOST is ipv6%0a%3c # A '/' in front of BOT will disable that bot.%0a%3c #[/]BOT IP|* [+]HOST|* [IPV6-IP]%0a%3c #bot ip vhost%0a%3c #bot2 * vhost%0a%3c #bot3 ip%0a%3c #bot4 * +ipv6.vhost.com%0a%3c #bot5 * * ip:v6:ip:goes:here::%0a%3c ### Hubs should have their own binary ###%0a%3c @]%0a%3c %0a%3c Save and quit.%0a---%0a> Replace hubnick with your network name (efnet, ircnet, undernet) and vhost with your IPv6 hostname (network.ircnow.org). Make sure to include the + to use IPv6. You will then want to specify a min port and max port for updating bot info.%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> %0a> If 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> [@%0a> botnick +vhost%0a +host:1610926857=125.224.21.52 +author:1610926230=jrmu +diff:1610926230:1610925492:=224,238c224%0a%3c Enter your username, then enter your password.%0a%3c %0a%3c !! Default Secure Channel%0a%3c %0a%3c For an explanation of the channel settings:%0a%3c %0a%3c [@%0a%3c .help chaninfo%0a%3c @]%0a%3c %0a%3c This will make your channel secure by default:%0a%3c %0a%3c [@%0a%3c .chanset #chan -fastop mdop deop manop deop mop deop +nomassjoin -autoop +private bad-cookie kick flood-mjoin 6:1 flood-kick 2:30 +protect%0a%3c @]%0a\ No newline at end of file%0a---%0a> Enter your username, then enter your password.%0a\ No newline at end of file%0a +host:1610926230=125.224.21.52 +author:1610925492=jrmu +diff:1610925492:1610925190:=206,224c206%0a%3c @]%0a%3c %0a%3c !!! DCC into a leaf%0a%3c %0a%3c If your hostmask is recognized by the bot, then in your IRC client, type:%0a%3c %0a%3c [@%0a%3c /DCC CHAT botnick%0a%3c @]%0a%3c %0a%3c Enter your password.%0a%3c %0a%3c If your hostmask is not recognized, type:%0a%3c %0a%3c [@%0a%3c /CTCP botnick CHAT%0a%3c @]%0a%3c %0a%3c Enter your username, then enter your password.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1610925492=125.224.21.52 +author:1610925190=jrmu +diff:1610925190:1610921794:=198,205d197%0a%3c @]%0a%3c %0a%3c !!! Voice and Limits%0a%3c %0a%3c Use +y to voice and +l to set limits:%0a%3c %0a%3c [@%0a%3c .chattr bot +ly%0a +host:1610925190=125.224.21.52 +author:1610921794=jrmu +diff:1610921794:1610920732:=176d175%0a%3c %0a +host:1610921794=125.224.21.52 +author:1610920732=jrmu +diff:1610920732:1610920551:=173,178d172%0a%3c @]%0a%3c %0a%3c To use a specific bot:%0a%3c [@%0a%3c .botcmd botnick op user *%0a%3c .bl op user *%0a +host:1610920732=125.224.21.52 +author:1610920551=jrmu +diff:1610920551:1610898232:=152,166d151%0a%3c @]%0a%3c %0a%3c !!! Joining channels%0a%3c %0a%3c To make the bot join and leave a channel:%0a%3c %0a%3c [@%0a%3c .+chan #chan%0a%3c .-chan #chan%0a%3c @]%0a%3c %0a%3c If the channel is keyed:%0a%3c %0a%3c [@%0a%3c .chanset #chan chanmode { +ntk key }%0a +host:1610920551=125.224.21.52 +author:1610898232=jrmu +diff:1610898232:1610889045:= +host:1610898232=125.231.29.130 +author:1610889045=jrmu +diff:1610889045:1610888697:=106,107d105%0a%3c ! portmin 64000%0a%3c ! portmax 64100%0a110c108%0a%3c Replace hubnick with your network name (efnet, ircnet, undernet) and vhost with your IPv6 hostname (network.ircnow.org). Make sure to include the + to use IPv6. You will then want to specify a min port and max port for updating bot info.%0a---%0a> Replace hubnick with your network name (efnet, ircnet, undernet) and vhost with your IPv6 hostname (network.ircnow.org). Make sure to include the + to use IPv6.%0a +host:1610889045=125.231.29.130 +author:1610888697=jrmu +diff:1610888697:1610888405:=152,159c152,153%0a%3c !!! Giving users ops%0a%3c %0a%3c [@%0a%3c .op #chan %3cnick>%0a%3c @]%0a%3c %0a%3c !!! Cookie-ops%0a%3c %0a---%0a> !! Cookie-ops%0a> %0a161,162d154%0a%3c %0a%3c '''NOTE''': If ops are not working, disable op cookies.%0a +host:1610888697=125.231.29.130 +author:1610888405=jrmu +diff:1610888405:1610887958:=136,165d135%0a%3c @]%0a%3c %0a%3c !! Controlling Wraith%0a%3c %0a%3c To administer wraith, you will need to log in to your server using ssh:%0a%3c %0a%3c [@%0a%3c $ ssh network.ircnow.org%0a%3c @]%0a%3c %0a%3c Once connected, run [[openbsd/netcat|netcat]] to your host and port:%0a%3c %0a%3c [@%0a%3c $ nc network.ircnow.org 12742%0a%3c @]%0a%3c %0a%3c !! Cookie-ops%0a%3c %0a%3c Cookie-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%3c %0a%3c To use op cookies:%0a%3c %0a%3c [@%0a%3c .chanset #chan -fastop%0a%3c @]%0a%3c %0a%3c To disable op cookies:%0a%3c %0a%3c [@%0a%3c .chanset #chan +fastop%0a +host:1610888405=125.231.29.130 +author:1610887958=jrmu +diff:1610887958:1610886997:=58,59c58,59%0a%3c Then, copy this install script into ~/wraith-setup.sh:%0a%3c %0a---%0a> Then, copy the install script into ~/wraith-setup.sh:%0a> %0a98,99c98,99%0a%3c !! Hub%0a%3c %0a---%0a> WRAITHPATH is /home/username/wraith-v1.4.10/wraith%0a> %0a102,122c102,113%0a%3c Afterwards, it will ask for the owner password. Next, it will ask you for your OWNER password and bot configuration information. You will want to add one line at the top:%0a%3c %0a%3c [@%0a%3c hubnick +vhost%0a%3c @]%0a%3c %0a%3c Replace hubnick with your network name (efnet, ircnet, undernet) and vhost with your IPv6 hostname (network.ircnow.org). Make sure to include the + to use IPv6.%0a%3c %0a%3c '''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%3c %0a%3c !! Bots%0a%3c %0a%3c If 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%3c %0a%3c [@%0a%3c botnick +vhost%0a%3c @]%0a%3c %0a%3c Replace botnick with your fruit name (fruit01, fruit02, fruit03) and vhost with your IPv6 hostname (fruit.network.ircnow.org).%0a%3c %0a%3c !! Backup and Delete Wraith%0a---%0a> Afterwards, it will ask for the owner password. Next, %0a> %0a> Don't connect the hub to IRC directly. It is better if the hub is not on a public IP address. The hub contains data that if stolen, can cause your entire botnet to get compromised.%0a> %0a> If you are creating a leaf node, name each leaf node after your server's fruit name (fruit01, fruit02, fruit03). Do not put all three leaf nodes in the same shell account. You want three separate shell accounts. Don't create any more since it will waste your IP connection limit and it will not provide much additional protection.%0a> %0a> %0a> %0a> After you are done, make sure to copy the dynamic wraith binary to somewhere safe and delete it for security reasons.%0a> %0a> Run this on your backup PC:%0a> %0a +host:1610887958=198.251.81.119 +author:1610886997=jrmu +diff:1610886997:1610886853:=61,62c61,63%0a%3c WRAITHPATH=~/wraith-v1.4.10/wraith%0a%3c %0a---%0a> print -n "WRAITHPATH: ";%0a> read WRAITHPATH;%0a> %0a67,82c68,83%0a%3c doas userdel -rv $USER;%0a%3c doas groupdel -v $USER;%0a%3c doas useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a%3c doas mkdir -p /home/$USER/usr/lib/%0a%3c doas mkdir -p /home/$USER/usr/libexec/%0a%3c doas mkdir -p /home/$USER/etc/%0a%3c doas cp $WRAITHPATH /home/$USER/%0a%3c doas cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a%3c doas cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a%3c doas cp /etc/resolv.conf /home/$USER/etc/%0a%3c doas chown -R $USER:$USER /home/$USER%0a%3c doas su $USER -c "/home/$USER/wraith -Q"%0a---%0a> userdel -rv $USER;%0a> groupdel -v $USER;%0a> useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a> mkdir -p /home/$USER/usr/lib/%0a> mkdir -p /home/$USER/usr/libexec/%0a> mkdir -p /home/$USER/etc/%0a> cp $WRAITHPATH /home/$USER/%0a> cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a> cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a> cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a> cp /etc/resolv.conf /home/$USER/etc/%0a> chown -R $USER:$USER /home/$USER%0a> su $USER -c "/home/$USER/wraith -Q"%0a85,86c86,87%0a%3c doas su $USER -c "/home/$USER/wraith -C"%0a%3c doas chsh -s /sbin/nologin $USER%0a---%0a> su $USER -c "/home/$USER/wraith -C"%0a> chsh -s /sbin/nologin $USER%0a95c96%0a%3c $ sh ~/wraith-setup.sh%0a---%0a> $ doas sh ~/wraith-setup.sh%0a +host:1610886997=198.251.81.119 +author:1610886853=jrmu +diff:1610886853:1610886559:=99,109c99,108%0a%3c WRAITHPATH is /home/username/wraith-v1.4.10/wraith%0a%3c %0a%3c If 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%3c %0a%3c Afterwards, it will ask for the owner password. Next, %0a%3c %0a%3c Don't connect the hub to IRC directly. It is better if the hub is not on a public IP address. The hub contains data that if stolen, can cause your entire botnet to get compromised.%0a%3c %0a%3c If you are creating a leaf node, name each leaf node after your server's fruit name (fruit01, fruit02, fruit03). Do not put all three leaf nodes in the same shell account. You want three separate shell accounts. Don't create any more since it will waste your IP connection limit and it will not provide much additional protection.%0a%3c %0a%3c %0a---%0a> WRAITHPATH=/home/username/wraith-v1.4.10/wraith%0a> %0a> %0a> You may need to create either a bot for the hub or a bot for the leaf nodes. It depends upon your network architecture.%0a> %0a> Avoid putting the hub on a public IP address, and definitely don't connect the hub bot to IRC directly. I recommend naming the hub after the network (efnet, ircnet, undernet).%0a> %0a> If you are using a server for leaf nodes, I recommend no more than 3 per server. Each leaf node needs a separate user. I recommend naming the leaf nodes after the server's fruit name (fruit01, fruit02, fruit03 etc). Do not put all three leaf nodes in the same username. You want three separate processes to ensure redundancy in case of an attack.%0a> %0a> For the hub, you will need to provide packconfig which you generated and saved above. Paste it. Afterwards, it will ask for the owner password. Next, %0a +host:1610886853=198.251.81.119 +author:1610886559=jrmu +diff:1610886559:1610886246:=35,38c35,38%0a%3c Run 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%3c %0a%3c Replace @@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%3c %0a---%0a> Run this twice with different values for SALT and PASS to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash for both BINARYPASS and OWNER in a safe place! Use the hashes to fill in the config above.%0a> %0a> I recommend you replace @@yourpackname@@ with the network name (such as efnet, ircnet, undernet). @@yournick@@ should be replaced with the login username, @@yourhubname@@ with your network name, and @@hub.network.ircnow.org@@ with the real hostname. Pick a free port to use.%0a> %0a45,46c45,46%0a%3c [[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%3c %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. 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> %0a61,63c61,62%0a%3c print -n "WRAITHPATH: ";%0a%3c read WRAITHPATH;%0a%3c %0a---%0a> WRAITHPATH=/home/username/wraith-v1.4.10/wraith%0a> %0a98,100d96%0a%3c %0a%3c WRAITHPATH=/home/username/wraith-v1.4.10/wraith%0a%3c %0a +host:1610886559=198.251.81.119 +author:1610886246=jrmu +diff:1610886246:1610886238:= +host:1610886246=198.251.81.119 +author:1610886238=jrmu +diff:1610886238:1610886022:=15c15%0a%3c [[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---%0a> [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing. 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 +host:1610886238=198.251.81.119 +author:1610886022=jrmu +diff:1610886022:1610885115:=13c13%0a%3c First, 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> First, 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 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 +host:1610886022=198.251.81.119 +author:1610885115=jrmu +diff:1610885115:1610884266:=106,109d105%0a%3c After you are done, make sure to copy the dynamic wraith binary to somewhere safe and delete it for security reasons.%0a%3c %0a%3c Run this on your backup PC:%0a%3c %0a111c107,108%0a%3c $ scp fruit.ircnow.org:/home/username/wraith-v1.4.10/wraith /path/to/dest/%0a---%0a> $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a> $ su hub%0a113,118d109%0a%3c %0a%3c Then on the server:%0a%3c %0a%3c [@%0a%3c $ rm -rf /home/username/wraith-v1.4.10/%0a%3c @]%0a\ No newline at end of file%0a +host:1610885115=125.231.29.130 +author:1610884266=jrmu +diff:1610884266:1610722436:=45c45%0a%3c [[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. 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> [[https://github.com/wraith/wraith/wiki/Download|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. 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 +host:1610884266=125.231.29.130 +author:1610722436=jrmu +diff:1610722436:1610711888:=100c100%0a%3c Avoid putting the hub on a public IP address, and definitely don't connect the hub bot to IRC directly. I recommend naming the hub after the network (efnet, ircnet, undernet).%0a---%0a> It is recommended not to put the hub on a public IP address, and definitely not to connect the hub bot to IRC directly. I recommend naming the hub after the network (efnet, ircnet, undernet).%0a +host:1610722436=125.231.29.130 +author:1610711888=jrmu +diff:1610711888:1610711615:=98,104c98,100%0a%3c You may need to create either a bot for the hub or a bot for the leaf nodes. It depends upon your network architecture.%0a%3c %0a%3c It is recommended not to put the hub on a public IP address, and definitely not to connect the hub bot to IRC directly. I recommend naming the hub after the network (efnet, ircnet, undernet).%0a%3c %0a%3c If you are using a server for leaf nodes, I recommend no more than 3 per server. Each leaf node needs a separate user. I recommend naming the leaf nodes after the server's fruit name (fruit01, fruit02, fruit03 etc). Do not put all three leaf nodes in the same username. You want three separate processes to ensure redundancy in case of an attack.%0a%3c %0a%3c For the hub, you will need to provide packconfig which you generated and saved above. Paste it. Afterwards, it will ask for the owner password. Next, %0a---%0a> You will need to create a bot for the hub and for the leaf nodes. I recommend naming the hub after the network (efnet, ircnet, undernet). I recommend naming the leaf nodes after the server's fruit name (fruit01, fruit02, fruit03 etc).%0a> %0a> It will ask you for the packconfig which you generated and saved above. Paste it. Afterwards, it will ask for the owner password. Next, %0a +host:1610711888=125.231.29.130 +author:1610711615=jrmu +diff:1610711615:1610710527:=98d97%0a%3c You will need to create a bot for the hub and for the leaf nodes. I recommend naming the hub after the network (efnet, ircnet, undernet). I recommend naming the leaf nodes after the server's fruit name (fruit01, fruit02, fruit03 etc).%0a +host:1610711615=125.231.29.130 +author:1610710527=jrmu +diff:1610710527:1610710164:=58,59d57%0a%3c Then, copy the install script into ~/wraith-setup.sh:%0a%3c %0a91,99d88%0a%3c %0a%3c Run the script:%0a%3c %0a%3c [@%0a%3c $ doas sh ~/wraith-setup.sh%0a%3c @]%0a%3c %0a%3c %0a%3c It will ask you for the packconfig which you generated and saved above. Paste it. Afterwards, it will ask for the owner password. Next, %0a +host:1610710527=125.231.29.130 +author:1610710164=jrmu +diff:1610710164:1610709973:=59,61c59%0a%3c WRAITHPATH=/home/username/wraith-v1.4.10/wraith%0a%3c %0a%3c while [[ -n $USER ]]%0a---%0a> for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19%0a63,67d60%0a%3c print -n "Create new bot (WARNING: WILL DELETE!): ";%0a%3c read USER;%0a%3c userdel -rv $USER;%0a%3c groupdel -v $USER;%0a%3c useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a71c64%0a%3c cp $WRAITHPATH /home/$USER/%0a---%0a> cp ~/wraith-v1.4.10/wraith /home/$USER/%0a80,86c73%0a%3c su $USER -c "/home/$USER/wraith -Q"%0a%3c print -n "Botpack configured! Press enter to continue";%0a%3c read IGNORE;%0a%3c su $USER -c "/home/$USER/wraith -C"%0a%3c chsh -s /sbin/nologin $USER%0a%3c print -n "Bots configured! Press enter to continue";%0a%3c read IGNORE;%0a---%0a> # chown -R root:wheel /home/$USER/usr%0a +host:1610710164=125.231.29.130 +author:1610709973=jrmu +diff:1610709973:1610709534:=17,18c17,18%0a%3c Here is a sample config:%0a%3c %0a---%0a> Create a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a> %0a19a20,25%0a> SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a> @]%0a> %0a> You will use this to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash in a safe place! Use the hashes to fill in the config below:%0a> %0a> [@%0a28,35d33%0a%3c %0a%3c Create a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a%3c %0a%3c [@%0a%3c SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a%3c @]%0a%3c %0a%3c Run this twice with different values for SALT and PASS to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash for both BINARYPASS and OWNER in a safe place! Use the hashes to fill in the config above.%0a +host:1610709973=125.231.29.130 +author:1610709534=jrmu +diff:1610709534:1610709239:=26c26%0a%3c PACKNAME yourpackname%0a---%0a> PACKNAME mypackname%0a29,30c29,30%0a%3c OWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB yourhubname hub.network.ircnow.org 12742%0a---%0a> OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a> HUB myhubname hub.network.ircnow.org 12742%0a35,41c35%0a%3c I recommend you replace @@yourpackname@@ with the network name (such as efnet, ircnet, undernet). @@yournick@@ should be replaced with the login username, @@yourhubname@@ with your network name, and @@hub.network.ircnow.org@@ with the real hostname. Pick a free port to use.%0a%3c %0a%3c To generate SALT1 and SALT2, run this script: %0a%3c %0a%3c [@%0a%3c SALT1=`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%3c @]%0a---%0a> I recommend you replace mypackname with the network name (such as efnet, ircnet, undernet). I recommend replacing myhubname with the network name, and hub.network.ircnow.org with the real hostname. Pick a free port to use. %0a +host:1610709534=125.231.29.130 +author:1610709239=jrmu +diff:1610709239:1610709064:=1,72c1%0a%3c (:title Wraith:)%0a%3c %0a%3c [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a%3c %0a%3c Pros:%0a%3c # Stronger than eggdrop%0a%3c %0a%3c Cons:%0a%3c # Written in C++%0a%3c # OpenBSD is not officially supported%0a%3c # Complex, not easy to use%0a%3c %0a%3c First, 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 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%3c %0a%3c [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing. 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%3c %0a%3c Create a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a%3c %0a%3c [@%0a%3c SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a%3c @]%0a%3c %0a%3c You will use this to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash in a safe place! Use the hashes to fill in the config below:%0a%3c %0a%3c [@%0a%3c PACKNAME mypackname%0a%3c BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a%3c DCCPREFIX .%0a%3c OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB myhubname hub.network.ircnow.org 12742%0a%3c SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a%3c SALT2 ThTQF8IFeEe5ox0i%0a%3c @]%0a%3c %0a%3c I recommend you replace mypackname with the network name (such as efnet, ircnet, undernet). I recommend replacing myhubname with the network name, and hub.network.ircnow.org with the real hostname. Pick a free port to use. %0a%3c %0a%3c [[https://github.com/wraith/wraith/wiki/Download|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. 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%3c %0a%3c [@%0a%3c $ doas pkg_add gmake-4.3%0a%3c $ doas pkg_add g++-8.4.0%0a%3c $ cd ~%0a%3c $ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz%0a%3c $ tar wraith-v1.4.10a.tar.gz%0a%3c $ cd wraith-v1.4.10/%0a%3c $ ./configure%0a%3c $ gmake%0a%3c @]%0a%3c %0a%3c [@%0a%3c for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19%0a%3c do%0a%3c mkdir -p /home/$USER/usr/lib/%0a%3c mkdir -p /home/$USER/usr/libexec/%0a%3c mkdir -p /home/$USER/etc/%0a%3c cp ~/wraith-v1.4.10/wraith /home/$USER/%0a%3c cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a%3c cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a%3c cp /etc/resolv.conf /home/$USER/etc/%0a%3c chown -R $USER:$USER /home/$USER%0a%3c # chown -R root:wheel /home/$USER/usr%0a%3c done%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a%3c $ su hub%0a%3c @]%0a---%0a> [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services. Pros: # Stronger than eggdrop Cons: # Written in C++ # OpenBSD is not officially supported # Complex, not easy to use First, 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 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. [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing. 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]]. Create a salted password hash by choosing a random 5 character alphanumeric salt and random password: [@ SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}" @] You will use this to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash in a safe place! Use the hashes to fill in the config below: [@ PACKNAME mypackname BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb DCCPREFIX . OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c HUB myhubname hub.network.ircnow.org 12742 SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX SALT2 ThTQF8IFeEe5ox0i @] I recommend you replace mypackname with the network name (such as efnet, ircnet, undernet). I recommend replacing myhubname with the network name, and hub.network.ircnow.org with the real hostname. Pick a free port to use. [[https://github.com/wraith/wraith/wiki/Download|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. 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. [@ $ doas pkg_add gmake-4.3 $ doas pkg_add g++-8.4.0 $ cd ~ $ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz $ tar wraith-v1.4.10a.tar.gz $ cd wraith-v1.4.10/ $ ./configure $ gmake @] [@ for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19 do mkdir -p /home/$USER/usr/lib/ mkdir -p /home/$USER/usr/libexec/ mkdir -p /home/$USER/etc/ cp ~/wraith-v1.4.10/wraith /home/$USER/ cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/ cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/ cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/ cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/ cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/ cp /usr/libexec/ld.so /home/$USER/usr/libexec/ cp /etc/resolv.conf /home/$USER/etc/ chown -R $USER:$USER /home/$USER # chown -R root:wheel /home/$USER/usr done @] [@ $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub $ su hub @]%0a\ No newline at end of file%0a +host:1610709239=125.231.29.130 +author:1610709064=jrmu +diff:1610709064:1610691627:=1c1,70%0a%3c [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services. Pros: # Stronger than eggdrop Cons: # Written in C++ # OpenBSD is not officially supported # Complex, not easy to use First, 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 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. [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing. 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]]. Create a salted password hash by choosing a random 5 character alphanumeric salt and random password: [@ SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}" @] You will use this to create two random hashes for BINARYPASS and OWNER. Make sure to save the unhashed password and salted hash in a safe place! Use the hashes to fill in the config below: [@ PACKNAME mypackname BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb DCCPREFIX . OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c HUB myhubname hub.network.ircnow.org 12742 SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX SALT2 ThTQF8IFeEe5ox0i @] I recommend you replace mypackname with the network name (such as efnet, ircnet, undernet). I recommend replacing myhubname with the network name, and hub.network.ircnow.org with the real hostname. Pick a free port to use. [[https://github.com/wraith/wraith/wiki/Download|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. 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. [@ $ doas pkg_add gmake-4.3 $ doas pkg_add g++-8.4.0 $ cd ~ $ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz $ tar wraith-v1.4.10a.tar.gz $ cd wraith-v1.4.10/ $ ./configure $ gmake @] [@ for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19 do mkdir -p /home/$USER/usr/lib/ mkdir -p /home/$USER/usr/libexec/ mkdir -p /home/$USER/etc/ cp ~/wraith-v1.4.10/wraith /home/$USER/ cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/ cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/ cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/ cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/ cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/ cp /usr/libexec/ld.so /home/$USER/usr/libexec/ cp /etc/resolv.conf /home/$USER/etc/ chown -R $USER:$USER /home/$USER # chown -R root:wheel /home/$USER/usr done @] [@ $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub $ su hub @]%0a\ No newline at end of file%0a---%0a> [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a> %0a> Pros:%0a> # Stronger than eggdrop%0a> %0a> Cons:%0a> # Written in C++%0a> # OpenBSD is not officially supported%0a> # Complex, not easy to use%0a> %0a> First, 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 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. 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> %0a> Create a salted password hash by choosing a random 5 character alphanumeric salt%0a> %0a> [@%0a> SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a> @]%0a> %0a> Your pack config should look similar to below:%0a> %0a> [@%0a> PACKNAME mypackname%0a> BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a> DCCPREFIX .%0a> OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a> HUB hub1 hub1.mydomain.net 12742%0a> HUB hub2 hub2.mydomain.net 27134%0a> HUB hub3 hub3.mydomain.net 32712%0a> SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a> SALT2 ThTQF8IFeEe5ox0i%0a> @]%0a> %0a> [[https://github.com/wraith/wraith/wiki/Download|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. 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 wraith-v1.4.10a.tar.gz%0a> $ cd wraith-v1.4.10/%0a> $ ./configure%0a> $ gmake%0a> @]%0a> %0a> [@%0a> for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19%0a> do%0a> mkdir -p /home/$USER/usr/lib/%0a> mkdir -p /home/$USER/usr/libexec/%0a> mkdir -p /home/$USER/etc/%0a> cp ~/wraith-v1.4.10/wraith /home/$USER/%0a> cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a> cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a> cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a> cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a> cp /etc/resolv.conf /home/$USER/etc/%0a> chown -R $USER:$USER /home/$USER%0a> # chown -R root:wheel /home/$USER/usr%0a> done%0a> @]%0a> %0a> [@%0a> $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a> $ su hub%0a> @]%0a +host:1610709064=125.231.29.130 +author:1610691627=jrmu +diff:1610691627:1610689443:= +host:1610691627=125.231.29.130 +author:1610689443=jrmu +diff:1610689443:1610688861:=13,16c13,14%0a%3c [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|The pack config]] instructions are very confusing. 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%3c %0a%3c Create a salted password hash by choosing a random 5 character alphanumeric salt%0a%3c %0a---%0a> [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|Follow the pack config]] instructions. Each bot needs to be created with these instructions. Save this config in a safe file; make sure to back it up.%0a> %0a18c16%0a%3c SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a---%0a> SALT='AbCd3'; PASS='abcdefghijkl'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a +host:1610689443=125.231.29.130 +author:1610688861=jrmu +diff:1610688861:1610607433:=1,12c1,4%0a%3c [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a%3c %0a%3c Pros:%0a%3c # Stronger than eggdrop%0a%3c %0a%3c Cons:%0a%3c # Written in C++%0a%3c # OpenBSD is not officially supported%0a%3c # Complex, not easy to use%0a%3c %0a%3c First, 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 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%3c %0a---%0a> [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services. The main drawback is it is written in C++ and has dropped support for OpenBSD. Eventually it must be replaced with a custom fork of eggdrop.%0a> %0a> First, 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. Create name server records such as hub1.ircnow.org, leaf1.ircnow.org, leaf2.ircnow.org, and so forth. This will help you better keep track of the hubs and leaves.%0a> %0a14,17d5%0a%3c %0a%3c [@%0a%3c SALT='AbCd3'; PASS='abcdefghijkl'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a%3c @]%0a +host:1610688861=125.231.29.130 +author:1610607433=jrmu +diff:1610607433:1610606071:=32,50d31%0a%3c @]%0a%3c %0a%3c [@%0a%3c for USER in hub1 ircnow10 ircnow11 ircnow12 ircnow13 ircnow14 ircnow15 ircnow16 ircnow17 ircnow18 ircnow19%0a%3c do%0a%3c mkdir -p /home/$USER/usr/lib/%0a%3c mkdir -p /home/$USER/usr/libexec/%0a%3c mkdir -p /home/$USER/etc/%0a%3c cp ~/wraith-v1.4.10/wraith /home/$USER/%0a%3c cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a%3c cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a%3c cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a%3c cp /etc/resolv.conf /home/$USER/etc/%0a%3c chown -R $USER:$USER /home/$USER%0a%3c # chown -R root:wheel /home/$USER/usr%0a%3c done%0a +host:1610607433=125.224.27.48 +author:1610606071=jrmu +diff:1610606071:1610605826:=21,22c21,22%0a%3c [[https://github.com/wraith/wraith/wiki/Download|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. 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%3c %0a---%0a> Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]] and tested on OpenBSD 6.7.%0a> %0a25a26,27%0a> $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a> $ su hub%0a28c30%0a%3c $ tar wraith-v1.4.10a.tar.gz%0a---%0a> $ tar xvzf wraith-release.tar.gz%0a34,37d35%0a%3c [@%0a%3c $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a%3c $ su hub%0a%3c @]%0a +host:1610606071=125.224.27.48 +author:1610605826=jrmu +diff:1610605826:1610546340:=29c29%0a%3c $ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz%0a---%0a> $ curl -L -O http://botpack.net/wraith-release.tar.gz%0a +host:1610605826=125.224.27.48 +author:1610546340=jrmu +diff:1610546340:1598446867:=25c25%0a%3c $ doas pkg_add g++-8.4.0%0a---%0a> $ doas pkg_add g++-8.3.0p5%0a +host:1610546340=125.224.27.48 +author:1598446867=jrmu +diff:1598446867:1598446693:minor=7,8c7,8%0a%3c Your pack config should look similar to below:%0a%3c %0a---%0a> Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]] and tested on OpenBSD 6.7.%0a> %0a10,23d9%0a%3c PACKNAME mypackname%0a%3c BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a%3c DCCPREFIX .%0a%3c OWNER me +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB hub1 hub1.mydomain.net 12742%0a%3c HUB hub2 hub2.mydomain.net 27134%0a%3c HUB hub3 hub3.mydomain.net 32712%0a%3c SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a%3c SALT2 ThTQF8IFeEe5ox0i%0a%3c @]%0a%3c %0a%3c Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]] and tested on OpenBSD 6.7.%0a%3c %0a%3c [@%0a35a22%0a> https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html%0a\ No newline at end of file%0a +host:1598446867=38.81.163.143 +author:1598446693=jrmu +diff:1598446693:1598446604:minor= +host:1598446693=38.81.163.143 +author:1598446604=jrmu +diff:1598446604:1598446419:minor=10,11c10%0a%3c $ doas pkg_add gmake-4.3%0a%3c $ doas pkg_add g++-8.3.0p5%0a---%0a> $ doas pkg_add gmake%0a +host:1598446604=38.81.163.143 +author:1598446419=jrmu +diff:1598446419:1598446343:=7,8c7,8%0a%3c Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]] and tested on OpenBSD 6.7.%0a%3c %0a---%0a> Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]].%0a> %0a10d9%0a%3c $ doas pkg_add gmake%0a +host:1598446419=38.81.163.143 +author:1598446343=jrmu +diff:1598446343:1598445413:=5,8c5,10%0a%3c [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|Follow the pack config]] instructions. Each bot needs to be created with these instructions. Save this config in a safe file; make sure to back it up.%0a%3c %0a%3c Next, on the hub, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]].%0a%3c %0a---%0a> [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|Follow the pack config]] instructions. Each bot needs to be created with these instructions.%0a> %0a> First, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]].%0a> %0a> Go into the directory and compile the software using gmake:%0a> %0a11,12c13%0a%3c $ su hub%0a%3c $ cd ~%0a---%0a> $ doas useradd%0a14,15d14%0a%3c $ tar xvzf wraith-release.tar.gz%0a%3c $ cd wraith-v1.4.10/%0a +host:1598446343=38.81.163.143 +author:1598445413=jrmu +diff:1598445413:1598444599:=3,6d2%0a%3c First, 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. Create name server records such as hub1.ircnow.org, leaf1.ircnow.org, leaf2.ircnow.org, and so forth. This will help you better keep track of the hubs and leaves.%0a%3c %0a%3c [[https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html|Follow the pack config]] instructions. Each bot needs to be created with these instructions.%0a%3c %0a12,14d7%0a%3c $ doas useradd -m -g =uid -c "hub" -d /home/hub -s /bin/ksh hub%0a%3c $ doas useradd%0a%3c $ curl -L -O http://botpack.net/wraith-release.tar.gz%0a +host:1598445413=38.81.163.143 +author:1598444599=jrmu +diff:1598444599:1597743873:=1,4c1,2%0a%3c [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services. The main drawback is it is written in C++ and has dropped support for OpenBSD. Eventually it must be replaced with a custom fork of eggdrop.%0a%3c %0a%3c First, download the source tarball from [[https://github.com/wraith/wraith/wiki/Download|wraith's git repo]]. These instructions are based on [[http://botpack.net/wraith-release.tar.gz|release v1.4.10]].%0a%3c %0a---%0a> First, download the source tarball from [[https://wraith.botpack.net/wiki/Download|wraith's website]]. I chose [[https://botpack.net/wraith-release.tar.gz|release v1.4.9]].%0a> %0a10,12c8%0a%3c @]%0a%3c %0a%3c https://wraith.botpack.net/wraith.botpack.net/wiki/PackConfig.html%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1598444599=38.81.163.143 +author:1597743873=jrmu +diff:1597743873:1597743873:=1,8d0%0a%3c First, download the source tarball from [[https://wraith.botpack.net/wiki/Download|wraith's website]]. I chose [[https://botpack.net/wraith-release.tar.gz|release v1.4.9]].%0a%3c %0a%3c Go into the directory and compile the software using gmake:%0a%3c %0a%3c [@%0a%3c $ ./configure%0a%3c $ gmake%0a%3c @]%0a\ No newline at end of file%0a +host:1597743873=38.81.163.143 blob - /dev/null blob + bbf5eaec8488c62963f05054f625946b1f380ba4 (mode 644) --- /dev/null +++ wiki.d/Openbsd.XTerm @@ -0,0 +1,32 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=copyright +ctime=1610027390 +host=145.132.146.30 +name=Openbsd.XTerm +rev=5 +targets= +text=If you want just to have your console to look different? Follow this guide%0a%0a%0a!! .kshrc%0a%0aIf you want to let it work good and the best to see though, use .kshrc and do the following%0a%0aadd to your ~/.profile%0a%0a[@export ENV="$HOME/.kshrc"@]%0a%0a%0a!! History file%0a%0aIf you want to let your history of commands be saved do the following%0a%0aadd to your ~/.kshrc%0a%0a[@HISTFILE="$HOME/.ksh_history"%0aHISTSIZE=5000%0aalias __A=$(print '\0020') # ^P = up = previous command%0aalias __B=$(print '\0016') # ^N = down = next command%0aalias __C=$(print '\0006') # ^F = right = forward a character%0aalias __D=$(print '\0002') # ^B = left = back a character%0aalias __H=$(print '\0001') # ^A = home = beginning of line@]%0a%0a%0a!! Standart edit program%0a%0aIf you want your favorite editor to be also used at e.g. crontab, do the following%0a%0aadd to your ~/.kshrc%0a%0a[@export VISUAL="%3cEDITOR COMMAND NAME HERE>"%0aexport EDITOR="$VISUAL"@]%0a%0a%0a!! Colored PS1%0a%0aIf you want your text before where you execute your commands to look sth else (your PS1), then do the following%0a%0a%0a!!! Linux like%0a%0aadd to your ~/.kshrc%0a%0a[@export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '@]%0a%0a%0a!!! Just your own color with openbsd standart ps1%0a%0aadd to your ~/.kshrc%0a%0a[@export PS1='\[\033[01;%3cCOLOR NUMBER HERE>m\]\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '@]%0a%0awhere %3cCOLOR NUMBER HERE> equals to one of the below named color codes:%0a%0a* 39 Default foreground color%0a* 30 Black%0a* 31 Red%0a* 32 Green%0a* 33 Yellow%0a* 34 Blue%0a* 35 Magenta%0a* 36 Cyan%0a* 37 Light gray%0a* 90 Dark gray%0a* 91 Light red%0a* 92 Light green%0a* 93 Light yellow%0a* 94 Light blue%0a* 95 Light magenta%0a* 96 Light cyan%0a* 97 White%0a%0a%0a!! Add the title bar to the PS1%0a%0aif you want to get a%0an custom title on your ssh connection, do the following%0a%0a%0a!!! Linux like%0a%0aadd to your ~/.kshrc%0a[@case "$TERM" in%0axterm*|rxvt*)%0a export PS1="\[\e]0;\u@\h: \w\a\]$PS1"%0a ;;%0a*)%0a ;;%0aesac@]%0a%0a%0a!!! Openbsd like%0a%0aadd to your ~/.kshrc%0a%0a[@case "$TERM" in%0axterm*|rxvt*)%0a export PS1="\[\e]0;\h: \w\a\]$PS1"%0a ;;%0a*)%0a ;;%0aesac@]%0a%0a%0a!! Language change %0a%0aIf you are originaly from an other land and you want your console to be translated (not fully but yeah), do the following%0a%0afirst find out if you language exists:%0a%0a[@locale -a | grep "%3cThe two characters of you language>"@]%0a%0athen use that output (if there are multiply just choose 1 line) as your %3cCODE HERE>%0a%0aadd to your ~/.kshrc%0a%0a[@export LANG=%3cCODE HERE>%0aexport LC_ALL=%3cCODE HERE>@]%0a%0a%0a!! Colored ls%0a%0aIf you want colors in you ls use colorls, check here how to download it%0a%0ainstall colorls: [@doas pkg_add colorls @]%0a%0aadd to your ~/.kshrc%0a%0a[@alias ls='colorls -G'%0aexport LSCOLORS=fxexcxdxbxegedabagacad@] %0a%0athe LSCOLORS you can change to what ever you want, use this way:%0a[@Colors:%0aa black%0ab red%0ac green%0ad brown%0ae blue%0af magenta%0ag cyan%0ah light grey%0aA bold black, usually shows up as dark grey%0aB bold red%0aC bold green%0aD bold brown, usually shows up as yellow%0aE bold blue%0aF bold magenta%0aG bold cyan%0aH bold light grey; looks like bright white%0ax default foreground or background%0a%0aThe order of the attributes are as follows:%0a1. directory%0a2. symbolic link%0a3. socket%0a4. pipe%0a5. executable%0a6. block special%0a7. character special%0a8. executable with setuid bit set%0a9. executable with setgid bit set%0a10. directory writable to others, with sticky bit%0a11. directory writable to others, without sticky bit@]%0a%0athere are 22 chars in the LS_COLORS string. %0a%0athe odd number characters are the foreground color and the even number characters are the background color.%0a%0aThe (nearly) linux like colorcode is the following: %0a[@export LS_COLORS='ExGxxxxxCxxxxxCxCxBxbx'@]%0a%0a----%0a%0aCopyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a +time=1610891322 +author:1610891322=miniontoby +csum:1610891322=copyright +diff:1610891322:1610719990:=177c177%0a%3c Copyright (C) 2021 by Miniontoby %3cminiontoby@ircnow.org>%0a---%0a> Writen by Miniontoby%0a +host:1610891322=145.132.146.30 +author:1610719990=miniontoby +csum:1610719990=color codes +diff:1610719990:1610717986:=133,173c133,136%0a%3c export LSCOLORS=fxexcxdxbxegedabagacad@] %0a%3c %0a%3c the LSCOLORS you can change to what ever you want, use this way:%0a%3c [@Colors:%0a%3c a black%0a%3c b red%0a%3c c green%0a%3c d brown%0a%3c e blue%0a%3c f magenta%0a%3c g cyan%0a%3c h light grey%0a%3c A bold black, usually shows up as dark grey%0a%3c B bold red%0a%3c C bold green%0a%3c D bold brown, usually shows up as yellow%0a%3c E bold blue%0a%3c F bold magenta%0a%3c G bold cyan%0a%3c H bold light grey; looks like bright white%0a%3c x default foreground or background%0a%3c %0a%3c The order of the attributes are as follows:%0a%3c 1. directory%0a%3c 2. symbolic link%0a%3c 3. socket%0a%3c 4. pipe%0a%3c 5. executable%0a%3c 6. block special%0a%3c 7. character special%0a%3c 8. executable with setuid bit set%0a%3c 9. executable with setgid bit set%0a%3c 10. directory writable to others, with sticky bit%0a%3c 11. directory writable to others, without sticky bit@]%0a%3c %0a%3c there are 22 chars in the LS_COLORS string. %0a%3c %0a%3c the odd number characters are the foreground color and the even number characters are the background color.%0a%3c %0a%3c The (nearly) linux like colorcode is the following: %0a%3c [@export LS_COLORS='ExGxxxxxCxxxxxCxCxBxbx'@]%0a---%0a> LSCOLORS=fxexcxdxbxegedabagacad%0a> export LSCOLORS@] %0a> %0a> the LSCOLORS you can change to what ever you want, check: [@man colorls@]%0a +host:1610719990=145.132.146.30 +author:1610717986=miniontoby +csum:1610717986=colorls +diff:1610717986:1610027441:=113d112%0a%3c %0a115d113%0a%3c %0a123,136d120%0a%3c %0a%3c !! Colored ls%0a%3c %0a%3c If you want colors in you ls use colorls, check here how to download it%0a%3c %0a%3c install colorls: [@doas pkg_add colorls @]%0a%3c %0a%3c add to your ~/.kshrc%0a%3c %0a%3c [@alias ls='colorls -G'%0a%3c LSCOLORS=fxexcxdxbxegedabagacad%0a%3c export LSCOLORS@] %0a%3c %0a%3c the LSCOLORS you can change to what ever you want, check: [@man colorls@]%0a +host:1610717986=145.132.146.30 +author:1610027441=miniontoby +csum:1610027441=enters +diff:1610027441:1610027390:=9d8%0a%3c %0a18d16%0a%3c %0a33d30%0a%3c %0a46d42%0a%3c %0a53d48%0a%3c %0a55d49%0a%3c %0a79,82c73,75%0a%3c if you want to get a%0a%3c n custom title on your ssh connection, do the following%0a%3c %0a%3c %0a---%0a> if you want to get an custom title on your ssh connection, do the following%0a> %0a> %0a98d90%0a%3c %0a117d108%0a%3c %0a +host:1610027441=145.132.146.30 +author:1610027390=miniontoby +csum:1610027390=created and fully writen +diff:1610027390:1610027390:=1,115d0%0a%3c If you want just to have your console to look different? Follow this guide%0a%3c %0a%3c %0a%3c !! .kshrc%0a%3c %0a%3c If you want to let it work good and the best to see though, use .kshrc and do the following%0a%3c %0a%3c add to your ~/.profile%0a%3c [@export ENV="$HOME/.kshrc"@]%0a%3c %0a%3c %0a%3c !! History file%0a%3c %0a%3c If you want to let your history of commands be saved do the following%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@HISTFILE="$HOME/.ksh_history"%0a%3c HISTSIZE=5000%0a%3c alias __A=$(print '\0020') # ^P = up = previous command%0a%3c alias __B=$(print '\0016') # ^N = down = next command%0a%3c alias __C=$(print '\0006') # ^F = right = forward a character%0a%3c alias __D=$(print '\0002') # ^B = left = back a character%0a%3c alias __H=$(print '\0001') # ^A = home = beginning of line@]%0a%3c %0a%3c %0a%3c !! Standart edit program%0a%3c %0a%3c If you want your favorite editor to be also used at e.g. crontab, do the following%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@export VISUAL="%3cEDITOR COMMAND NAME HERE>"%0a%3c export EDITOR="$VISUAL"@]%0a%3c %0a%3c %0a%3c !! Colored PS1%0a%3c %0a%3c If you want your text before where you execute your commands to look sth else (your PS1), then do the following%0a%3c %0a%3c %0a%3c !!! Linux like%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '@]%0a%3c %0a%3c %0a%3c !!! Just your own color with openbsd standart ps1%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@export PS1='\[\033[01;%3cCOLOR NUMBER HERE>m\]\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '@]%0a%3c where %3cCOLOR NUMBER HERE> equals to one of the below named color codes:%0a%3c %0a%3c * 39 Default foreground color%0a%3c * 30 Black%0a%3c * 31 Red%0a%3c * 32 Green%0a%3c * 33 Yellow%0a%3c * 34 Blue%0a%3c * 35 Magenta%0a%3c * 36 Cyan%0a%3c * 37 Light gray%0a%3c * 90 Dark gray%0a%3c * 91 Light red%0a%3c * 92 Light green%0a%3c * 93 Light yellow%0a%3c * 94 Light blue%0a%3c * 95 Light magenta%0a%3c * 96 Light cyan%0a%3c * 97 White%0a%3c %0a%3c %0a%3c !! Add the title bar to the PS1%0a%3c %0a%3c if you want to get an custom title on your ssh connection, do the following%0a%3c %0a%3c %0a%3c !!! Linux like%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@case "$TERM" in%0a%3c xterm*|rxvt*)%0a%3c export PS1="\[\e]0;\u@\h: \w\a\]$PS1"%0a%3c ;;%0a%3c *)%0a%3c ;;%0a%3c esac@]%0a%3c %0a%3c %0a%3c !!! Openbsd like%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@case "$TERM" in%0a%3c xterm*|rxvt*)%0a%3c export PS1="\[\e]0;\h: \w\a\]$PS1"%0a%3c ;;%0a%3c *)%0a%3c ;;%0a%3c esac@]%0a%3c %0a%3c %0a%3c !! Language change %0a%3c %0a%3c If you are originaly from an other land and you want your console to be translated (not fully but yeah), do the following%0a%3c %0a%3c first find out if you language exists:%0a%3c [@locale -a | grep "%3cThe two characters of you language>"@]%0a%3c then use that output (if there are multiply just choose 1 line) as your %3cCODE HERE>%0a%3c %0a%3c add to your ~/.kshrc%0a%3c [@export LANG=%3cCODE HERE>%0a%3c export LC_ALL=%3cCODE HERE>@]%0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c Writen by Miniontoby%0a +host:1610027390=145.132.146.30 blob - /dev/null blob + e2f28c40abf450cdca5a81b0380a26b6a1c14e19 (mode 644) --- /dev/null +++ wiki.d/Openbsd.ZNCAdmin @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1611914466 +host=38.87.162.8 +name=Openbsd.ZNCAdmin +rev=7 +targets=Debate.Dogfooding,Bouncer.Bouncer,Openbsd.Less,Openbsd.Ilines,Openbsd.Irssi,Ircnow.Networks,Openbsd.Vhost,Openbsd.Ddos +text=(:redirect ZNC.Admin:)%0a(:title Daily Maintenance for ZNC:)%0a%0aEvery admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%0aEach day, you should check for errors with your znc.%0a%0a[@%0a$ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aScroll to the bottom by typing G.%0a%0a[@%0a[2021-01-25 03:12:52] [user/network] disconnected from IRC%0a[2021-01-25 03:15:29] [user/network] disconnected from IRC%0a[2021-01-25 03:19:21] [user/network] disconnected from IRC%0a[2021-01-25 03:23:12] [user/network] disconnected from IRC%0a@]%0a%0aIf you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%0a'''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%0a!! G-lined%0a%0aUse [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%0a[@%0a[2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a@]%0a%0aThis shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%0aIf that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%0a[@%0a/msg *controlpanel disconnect user network%0a@]%0a%0a!! Fixing a Network Configuration Error%0a%0aSometimes a disconnection error in znc.log is caused by bad network configuration:%0a%0a[@%0a[2021-01-25 03:06:24] [user/network] disconnected from IRC%0a[2021-01-25 03:14:09] [user/network] disconnected from IRC%0a@]%0a%0aLet's investigate the cause through the web panel:%0a%0a# Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0aAttach:znc1.png%0a# Click on the Manage Users link\\%0aAttach:znc2.png%0a# Click on the Edit link next to user1\\%0aAttach:znc3.png%0a# Scroll down and click on the Edit link next to the network globalirc-it:\\%0aAttach:znc4.png%0a# Check @@Servers of this IRC network@@:%0a # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0aAttach:znc5.png\\%0a# Click on @@Save and Continue@@\\%0aAttach:znc6.png%0a%0aYou should soon see a line similar to below in znc.log:%0a%0a[@%0a[2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a@]%0a%0aThis indicates that @@user@@ successfully connected to @@network@@.%0a%0a!! Forcing IPv6%0a%0aWhenever possible, you should force your users to connect to an IRC network using IPv6 rather than IPv4. Benefits include:%0a%0a# Users get to pick a [[openbsd/vhost|unique vhost]] which they enjoy%0a# The [[openbsd/vhost|unique vhost]] helps to reduce ban evasion and abuse%0a# Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a# IPv6 [[openbsd/ddos|ddos attacks]] are less common%0a%0aFor these reasons and more, it is important to ensure that your ZNC users are forced to use IPv6 wherever possible.%0a%0aOftentimes, major networks will have servers that are exclusively used for IPv6. For example, dalnet offers both IPv4 and IPv6 for irc.dal.net, and the IPv6-only irc6.dal.net.%0a%0aHere's one quick way to scan to see which servers are being used:%0a%0a[@%0a$ doas grep 'irc.dal.net' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a[2021-01-29 09:23:33] [user1/dalnet] connected to IRC: irc.dal.net%0a[2021-01-29 09:26:50] [user2/dalnet] connected to IRC: irc.dal.net%0a[2021-01-29 09:26:51] [user3/2600net] connected to IRC: irc.dal.net%0a[2021-01-29 09:28:12] [user4/2600net] connected to IRC: irc.dal.net%0a...%0a@]%0a%0aThis is a quick way to spot which need to be forced to irc6.dal.net. You can then follow instructions above to edit his network's server to irc6.dal.net.%0a%0a!! Dealing with Abuse%0a%0a +time=1627452880 +title=Daily Maintenance for ZNC +author:1627452880=jrmu +diff:1627452880:1611919083:=1d0%0a%3c (:redirect ZNC.Admin:)%0a +host:1627452880=38.87.162.8 +author:1611919083=jrmu +diff:1611919083:1611918685:=85,101d84%0a%3c %0a%3c For these reasons and more, it is important to ensure that your ZNC users are forced to use IPv6 wherever possible.%0a%3c %0a%3c Oftentimes, major networks will have servers that are exclusively used for IPv6. For example, dalnet offers both IPv4 and IPv6 for irc.dal.net, and the IPv6-only irc6.dal.net.%0a%3c %0a%3c Here's one quick way to scan to see which servers are being used:%0a%3c %0a%3c [@%0a%3c $ doas grep 'irc.dal.net' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c [2021-01-29 09:23:33] [user1/dalnet] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:26:50] [user2/dalnet] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:26:51] [user3/2600net] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:28:12] [user4/2600net] connected to IRC: irc.dal.net%0a%3c ...%0a%3c @]%0a%3c %0a%3c This is a quick way to spot which need to be forced to irc6.dal.net. You can then follow instructions above to edit his network's server to irc6.dal.net.%0a +host:1611919083=125.231.24.226 +author:1611918685=jrmu +diff:1611918685:1611918411:=83c83%0a%3c # Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a---%0a> # Innocent users sharing the same IPv4 address won't get GLINEd if [[openbsd/police|an abuser]] gets banned%0a86,87c86%0a%3c !! Dealing with Abuse%0a%3c %0a---%0a> !! Dealing with Abuse%0a\ No newline at end of file%0a +host:1611918685=125.231.24.226 +author:1611918411=jrmu +diff:1611918411:1611918378:=83c83%0a%3c # Innocent users sharing the same IPv4 address won't get GLINEd if [[openbsd/police|an abuser]] gets banned%0a---%0a> # Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a +host:1611918411=125.231.24.226 +author:1611918378=jrmu +diff:1611918378:1611918254:=81,82c81%0a%3c # Users get to pick a [[openbsd/vhost|unique vhost]] which they enjoy%0a%3c # The [[openbsd/vhost|unique vhost]] helps to reduce ban evasion and abuse%0a---%0a> # Users get a unique vhost which helps to reduce ban evasion and abuse%0a84c83%0a%3c # IPv6 [[openbsd/ddos|ddos attacks]] are less common%0a---%0a> # %0a +host:1611918378=125.231.24.226 +author:1611918254=jrmu +diff:1611918254:1611914466:=76,83d75%0a%3c %0a%3c !! Forcing IPv6%0a%3c %0a%3c Whenever possible, you should force your users to connect to an IRC network using IPv6 rather than IPv4. Benefits include:%0a%3c %0a%3c # Users get a unique vhost which helps to reduce ban evasion and abuse%0a%3c # Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a%3c # %0a +host:1611918254=125.231.24.226 +author:1611914466=jrmu +diff:1611914466:1611914466:=1,77d0%0a%3c (:title Daily Maintenance for ZNC:)%0a%3c %0a%3c Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%3c %0a%3c Each day, you should check for errors with your znc.%0a%3c %0a%3c [@%0a%3c $ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c Scroll to the bottom by typing G.%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:12:52] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:15:29] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:19:21] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:23:12] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%3c %0a%3c '''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%3c %0a%3c !! G-lined%0a%3c %0a%3c Use [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a%3c @]%0a%3c %0a%3c This shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%3c %0a%3c If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel disconnect user network%0a%3c @]%0a%3c %0a%3c !! Fixing a Network Configuration Error%0a%3c %0a%3c Sometimes a disconnection error in znc.log is caused by bad network configuration:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:06:24] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:14:09] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c Let's investigate the cause through the web panel:%0a%3c %0a%3c # Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0a%3c Attach:znc1.png%0a%3c # Click on the Manage Users link\\%0a%3c Attach:znc2.png%0a%3c # Click on the Edit link next to user1\\%0a%3c Attach:znc3.png%0a%3c # Scroll down and click on the Edit link next to the network globalirc-it:\\%0a%3c Attach:znc4.png%0a%3c # Check @@Servers of this IRC network@@:%0a%3c # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a%3c # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a%3c # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a%3c # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0a%3c Attach:znc5.png\\%0a%3c # Click on @@Save and Continue@@\\%0a%3c Attach:znc6.png%0a%3c %0a%3c You should soon see a line similar to below in znc.log:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a%3c @]%0a%3c %0a%3c This indicates that @@user@@ successfully connected to @@network@@.%0a%3c %0a%3c !! Dealing with Abuse%0a\ No newline at end of file%0a +host:1611914466=125.231.24.226 blob - /dev/null blob + a145ddab382779b30bf5e0c16f9e141297b0c390 (mode 644) --- /dev/null +++ wiki.d/Openbsd.ZNCDaily @@ -0,0 +1,94 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611543145 +host=125.231.20.163 +name=Openbsd.ZNCDaily +rev=27 +targets=Debate.Dogfooding,Bouncer.Bouncer,Openbsd.Less,Openbsd.Ilines,Openbsd.Irssi,Ircnow.Networks +text=(:title Daily Maintenance for ZNC:)%0a%0aEvery admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%0aEach day, you should check for errors with your znc.%0a%0a[@%0a$ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aScroll to the bottom by typing G.%0a%0a[@%0a[2021-01-25 03:12:52] [user/network] disconnected from IRC%0a[2021-01-25 03:15:29] [user/network] disconnected from IRC%0a[2021-01-25 03:19:21] [user/network] disconnected from IRC%0a[2021-01-25 03:23:12] [user/network] disconnected from IRC%0a@]%0a%0aIf you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%0a'''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%0a!! G-lined%0a%0aUse [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%0a[@%0a[2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a@]%0a%0aThis shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%0aIf that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%0a[@%0a/msg *controlpanel disconnect user network%0a@]%0a%0a!! Fixing a Network Configuration Error%0a%0aSometimes a disconnection error in znc.log is caused by bad network configuration:%0a%0a[@%0a[2021-01-25 03:06:24] [user/network] disconnected from IRC%0a[2021-01-25 03:14:09] [user/network] disconnected from IRC%0a@]%0a%0aLet's investigate the cause through the web panel:%0a%0a# Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0aAttach:znc1.png%0a# Click on the Manage Users link\\%0aAttach:znc2.png%0a# Click on the Edit link next to user1\\%0aAttach:znc3.png%0a# Scroll down and click on the Edit link next to the network globalirc-it:\\%0aAttach:znc4.png%0a# Check @@Servers of this IRC network@@:%0a # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0aAttach:znc5.png\\%0a# Click on @@Save and Continue@@\\%0aAttach:znc6.png%0a%0aYou should soon see a line similar to below in znc.log:%0a%0a[@%0a[2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a@]%0a%0aThis indicates that @@user@@ successfully connected to @@network@@.%0a%0a!! Dealing with Abuse +time=1611574514 +title=Daily Maintenance for ZNC +author:1611574514=jrmu +diff:1611574514:1611558483:=21,22d20%0a%3c %0a%3c '''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a +host:1611574514=125.231.20.163 +author:1611558483=jrmu +diff:1611558483:1611558420:=73a74,84%0a> %0a> [2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a> [2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a> [2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a> %0a> %0a> %0a> %0a> 23:24 -!- ERROR Closing link: (unknown@198.251.81.119) [G-Lined: [TuSaiChi] This %0a> connection is not autorizzed on GlobalIRC Network - Questa connessione non e' %0a> autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]%0a +host:1611558483=125.231.20.163 +author:1611558420=jrmu +diff:1611558420:1611558260:=61c61%0a%3c # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a---%0a> # The user may be glined from the network for abuse. In this case, see the section on abuse.%0a66,73d65%0a%3c %0a%3c You should soon see a line similar to below in znc.log:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a%3c @]%0a%3c %0a%3c This indicates that @@user@@ successfully connected to @@network@@.%0a +host:1611558420=125.231.20.163 +author:1611558260=jrmu +diff:1611558260:1611558179:= +host:1611558260=125.231.20.163 +author:1611558179=jrmu +diff:1611558179:1611557691:=47,48c47,48%0a%3c Let's investigate the cause through the web panel:%0a%3c %0a---%0a> Let's investigate user first:%0a> %0a59,60c59,60%0a%3c # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a---%0a> # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines.%0a> # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections%0a +host:1611558179=125.231.20.163 +author:1611557691=jrmu +diff:1611557691:1611557657:=47c47%0a%3c Let's investigate user first:%0a---%0a> Let's investigate user1 first:%0a +host:1611557691=125.231.20.163 +author:1611557657=jrmu +diff:1611557657:1611557427:=14,17c14,22%0a%3c [2021-01-25 03:12:52] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:15:29] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:19:21] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:23:12] [user/network] disconnected from IRC%0a---%0a> [2021-01-25 03:12:52] [user1/globalirc-it] disconnected from IRC%0a> [2021-01-25 03:06:24] [user2/irchighway] disconnected from IRC%0a> [2021-01-25 03:14:09] [user2/irchighway] disconnected from IRC%0a> [2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a> [2021-01-25 03:15:29] [user1/globalirc-it] disconnected from IRC%0a> [2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a> [2021-01-25 03:19:21] [user1/globalirc-it] disconnected from IRC%0a> [2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a> [2021-01-25 03:23:12] [user1/globalirc-it] disconnected from IRC%0a27c32%0a%3c [2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a---%0a> [2021-01-25 03:55:25] [user1/globalirc-it] disconnected from IRC: irc.globalirc.it [:Closing link: (user1@fruit.ircnow.org) [G-Lined: [TuSaiChi] This connection is not autorizzed on GlobalIRC Network - Questa connessione non e' autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]]%0a30,37c35,38%0a%3c This shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%3c %0a%3c If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel disconnect user network%0a%3c @]%0a%3c %0a---%0a> This shows that globalirc-it has G-lined fruit.ircnow.org from connecting. Because the vhost is not unique, this is most likely the IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to IPv6 and hope that is not banned.%0a> %0a> If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), %0a> %0a40,46d40%0a%3c Sometimes a disconnection error in znc.log is caused by bad network configuration:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:06:24] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:14:09] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a66,69d59%0a%3c %0a%3c [2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a +host:1611557657=125.231.20.163 +author:1611557427=jrmu +diff:1611557427:1611557374:= +host:1611557427=125.231.20.163 +author:1611557374=jrmu +diff:1611557374:1611557240:=35,39c35,37%0a%3c This shows that globalirc-it has G-lined fruit.ircnow.org from connecting. Because the vhost is not unique, this is most likely the IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to IPv6 and hope that is not banned.%0a%3c %0a%3c If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), %0a%3c %0a%3c !! Fixing a Network Configuration Error%0a---%0a> This shows that globalirc-it has G-lined fruit.ircnow.org from connecting. Because the vhost is not unique, this is most likely the IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to IPv6.%0a> %0a> !! %0a +host:1611557374=125.231.20.163 +author:1611557240=jrmu +diff:1611557240:1611557220:= +host:1611557240=125.231.20.163 +author:1611557220=jrmu +diff:1611557220:1611556841:=25,38c25,26%0a%3c If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%3c %0a%3c !! G-lined%0a%3c %0a%3c Use [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:55:25] [user1/globalirc-it] disconnected from IRC: irc.globalirc.it [:Closing link: (user1@fruit.ircnow.org) [G-Lined: [TuSaiChi] This connection is not autorizzed on GlobalIRC Network - Questa connessione non e' autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]]%0a%3c @]%0a%3c %0a%3c This shows that globalirc-it has G-lined fruit.ircnow.org from connecting. Because the vhost is not unique, this is most likely the IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to IPv6.%0a%3c %0a%3c !! %0a%3c %0a---%0a> If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is caused by a network configuration error.%0a> %0a55c43%0a%3c Attach:znc5.png\\%0a---%0a> Attach:znc5.png%0a58,60d45%0a%3c %0a%3c %0a%3c %0a +host:1611557220=125.231.20.163 +author:1611556841=jrmu +diff:1611556841:1611548792:=38c38%0a%3c # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a---%0a> # The server may be improperly configured. + means SSL, which is usually on port 6697. If there is no +, it's plaintext, which is usually on port 6667. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a +host:1611556841=125.231.20.163 +author:1611548792=jrmu +diff:1611548792:1611548563:=41,42c41%0a%3c # The user may be glined from the network for abuse. In this case, see the section on abuse.%0a%3c # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0a---%0a> # The user may be glined from the network for abuse. In this case, see the section on abuse.\\%0a44c43%0a%3c # Click on @@Save and Continue@@\\%0a---%0a> %0a46,49d44%0a%3c %0a%3c 23:24 -!- ERROR Closing link: (unknown@198.251.81.119) [G-Lined: [TuSaiChi] This %0a%3c connection is not autorizzed on GlobalIRC Network - Questa connessione non e' %0a%3c autorizzata su GlobalIRC Network (ID: VL0GY6RV79)]%0a +host:1611548792=125.231.20.163 +author:1611548563=jrmu +diff:1611548563:1611548478:= +host:1611548563=125.231.20.163 +author:1611548478=jrmu +diff:1611548478:1611548294:=41d40%0a%3c # The user may be glined from the network for abuse. In this case, see the section on abuse.\\%0a44,46c43%0a%3c Attach:znc6.png%0a%3c %0a%3c !! Dealing with Abuse%0a\ No newline at end of file%0a---%0a> Attach:znc6.png%0a\ No newline at end of file%0a +host:1611548478=125.231.20.163 +author:1611548294=jrmu +diff:1611548294:1611548154:=37c37%0a%3c # Check @@Servers of this IRC network@@:%0a---%0a> # Check @@Servers of this IRC network@@:\\%0a40c40%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections%0a---%0a> # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address.%0a +host:1611548294=125.231.20.163 +author:1611548154=jrmu +diff:1611548154:1611548091:=39,40c39%0a%3c # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines.%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address.%0a---%0a> # %0a +host:1611548154=125.231.20.163 +author:1611548091=jrmu +diff:1611548091:1611547558:=37,39c37%0a%3c # Check @@Servers of this IRC network@@:\\%0a%3c # The server may be improperly configured. + means SSL, which is usually on port 6697. If there is no +, it's plaintext, which is usually on port 6667. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a%3c # %0a---%0a> # Check the servers.%0a41d38%0a%3c %0a +host:1611548091=125.231.20.163 +author:1611547558=jrmu +diff:1611547558:1611547403:=27,29c27,28%0a%3c Let's investigate user1 first:%0a%3c %0a%3c # Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0a---%0a> Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/%0a> %0a31d29%0a%3c # Click on the Manage Users link\\%0a33d30%0a%3c # Click on the Edit link next to user1\\%0a35d31%0a%3c # Scroll down and click on the Edit link next to the network globalirc-it:\\%0a37d32%0a%3c # Check the servers.%0a +host:1611547558=125.231.20.163 +author:1611547403=jrmu +diff:1611547403:1611546788:= +host:1611547403=125.231.20.163 +author:1611546788=jrmu +diff:1611546788:1611546479:=29,34d28%0a%3c Attach:znc1.png%0a%3c Attach:znc2.png%0a%3c Attach:znc3.png%0a%3c Attach:znc4.png%0a%3c Attach:znc5.png%0a%3c Attach:znc6.png%0a\ No newline at end of file%0a +host:1611546788=125.231.20.163 +author:1611546479=jrmu +diff:1611546479:1611545227:=27,28c27%0a%3c Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/%0a%3c %0a---%0a> To troubleshoot,%0a\ No newline at end of file%0a +host:1611546479=125.231.20.163 +author:1611545227=jrmu +diff:1611545227:1611544785:=7,27c7%0a%3c [@%0a%3c $ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c Scroll to the bottom by typing G.%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:12:52] [user1/globalirc-it] disconnected from IRC%0a%3c [2021-01-25 03:06:24] [user2/irchighway] disconnected from IRC%0a%3c [2021-01-25 03:14:09] [user2/irchighway] disconnected from IRC%0a%3c [2021-01-25 03:15:26] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:15:29] [user1/globalirc-it] disconnected from IRC%0a%3c [2021-01-25 03:19:18] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:19:21] [user1/globalirc-it] disconnected from IRC%0a%3c [2021-01-25 03:23:09] [user3/technet] disconnected from IRC%0a%3c [2021-01-25 03:23:12] [user1/globalirc-it] disconnected from IRC%0a%3c @]%0a%3c %0a%3c If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is caused by a network configuration error.%0a%3c %0a%3c To troubleshoot,%0a\ No newline at end of file%0a---%0a> #%0a\ No newline at end of file%0a +host:1611545227=125.231.20.163 +author:1611544785=jrmu +diff:1611544785:1611544748:=3c3%0a%3c Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a---%0a> Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]].%0a +host:1611544785=125.231.20.163 +author:1611544748=jrmu +diff:1611544748:1611543194:=3c3%0a%3c Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]].%0a---%0a> Every minutemin should use the bouncer on their server to make sure.%0a +host:1611544748=125.231.20.163 +author:1611543194=jrmu +diff:1611543194:1611543145:=3,7d2%0a%3c Every minutemin should use the bouncer on their server to make sure.%0a%3c %0a%3c Each day, you should check for errors with your znc.%0a%3c %0a%3c #%0a\ No newline at end of file%0a +host:1611543194=125.231.20.163 +author:1611543145=jrmu +diff:1611543145:1611543145:=1,2d0%0a%3c (:title Daily Maintenance for ZNC:)%0a%3c %0a +host:1611543145=125.231.20.163 blob - /dev/null blob + 5685f32f35d083d57466b5d99af6e8d02c1a7f57 (mode 644) --- /dev/null +++ wiki.d/Openbsd.ZNCModules @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 OPR/77.0.4054.277 +author=wiz +charset=UTF-8 +csum= +ctime=1611593974 +host=77.100.13.190 +name=Openbsd.ZNCModules +rev=7 +targets= +text=(:title ZNC Modules:)%0a%0aSuppose you want to install [[https://github.com/CyberShadow/znc-clientbuffer/archive/master.zip|clientbuffer]], a 3rd party module. Download the source code:%0a%0a[@%0a$ cd%0a$ ftp https://github.com/CyberShadow/znc-clientbuffer/archive/master.zip%0a$ unzip master.zip%0a$ mv znc-clientbuffer-master/{Makefile,clientbuffer.cpp} znc-1.8.2/modules/%0a$ cd znc-1.8.2/modules/%0a$ gmake%0a$ doas su mkdir /home/znc/home/znc/.znc/modules%0a$ doas cp clientbuffer.so /home/znc/home/znc/.znc/modules/%0a$ doas chown -R znc:daemon /home/znc/home/znc/.znc/modules/%0a@]%0a%0a!! Tips%0a%0aPlease don't use fail2ban for znc; one team tried to do it and immediately %0abroke their web panel because fail2ban banned 127.0.0.1 (which relayd uses): %0a%0a[@ %0a20:37 %3cjrmu> help %0a20:37 %3c*fail2ban> Attempts [count]: The number of allowed failed login attempts. %0a20:37 %3c*fail2ban> Ban %3chosts>: Ban the specified hosts. %0a20:37 %3c*fail2ban> Help %3csearch>: Generate this output %0a20:37 %3c*fail2ban> List: List banned hosts. %0a20:37 %3c*fail2ban> Timeout [minutes]: The number of minutes IPs are blocked after a %0a failed login. %0a20:37 %3c*fail2ban> Unban %3chosts>: Unban the specified hosts. %0a20:37 %3cjrmu> list %0a20:37 %3c*fail2ban> 127.0.0.1: 2 %0a20:37 %3cjrmu> unban 127.0.0.1 %0a20:37 %3c*fail2ban> Unbanned: 127.0.0.1 %0a20:37 %3cjrmu> list %0a20:37 %3c*fail2ban> No bans %0a@]%0a%0aI had to unload the module to restore web panel access. %0a%0a%0aZnc has some extra modules like tcl, python etc, if you want to active one or more of these modules for your znc the command would be%0a./configure.sh --enable-tcl --enable-python %0a%0afor help or list of the options you can use %0a./configure --help%0a%0aNB. you got to be in znc directory to issue this command.%0a%0a +time=1628694419 +title=ZNC Modules +author:1628694419=wiz +diff:1628694419:1612269753:=40,49d39%0a%3c %0a%3c %0a%3c Znc has some extra modules like tcl, python etc, if you want to active one or more of these modules for your znc the command would be%0a%3c ./configure.sh --enable-tcl --enable-python %0a%3c %0a%3c for help or list of the options you can use %0a%3c ./configure --help%0a%3c %0a%3c NB. you got to be in znc directory to issue this command.%0a%3c %0a +host:1628694419=77.100.13.190 +author:1612269753=jrmu +diff:1612269753:1612269715:=21,22c21%0a%3c %0a%3c [@ %0a---%0a> %0a37,38c36%0a%3c @]%0a%3c %0a---%0a> %0a +host:1612269753=198.251.81.119 +author:1612269715=jrmu +diff:1612269715:1611594829:=16,37d15%0a%3c %0a%3c !! Tips%0a%3c %0a%3c Please don't use fail2ban for znc; one team tried to do it and immediately %0a%3c broke their web panel because fail2ban banned 127.0.0.1 (which relayd uses): %0a%3c %0a%3c 20:37 %3cjrmu> help %0a%3c 20:37 %3c*fail2ban> Attempts [count]: The number of allowed failed login attempts. %0a%3c 20:37 %3c*fail2ban> Ban %3chosts>: Ban the specified hosts. %0a%3c 20:37 %3c*fail2ban> Help %3csearch>: Generate this output %0a%3c 20:37 %3c*fail2ban> List: List banned hosts. %0a%3c 20:37 %3c*fail2ban> Timeout [minutes]: The number of minutes IPs are blocked after a %0a%3c failed login. %0a%3c 20:37 %3c*fail2ban> Unban %3chosts>: Unban the specified hosts. %0a%3c 20:37 %3cjrmu> list %0a%3c 20:37 %3c*fail2ban> 127.0.0.1: 2 %0a%3c 20:37 %3cjrmu> unban 127.0.0.1 %0a%3c 20:37 %3c*fail2ban> Unbanned: 127.0.0.1 %0a%3c 20:37 %3cjrmu> list %0a%3c 20:37 %3c*fail2ban> No bans %0a%3c %0a%3c I had to unload the module to restore web panel access. %0a +host:1612269715=198.251.81.119 +author:1611594829=jrmu +diff:1611594829:1611594644:=12,13c12,13%0a%3c $ doas su mkdir /home/znc/home/znc/.znc/modules%0a%3c $ doas cp clientbuffer.so /home/znc/home/znc/.znc/modules/%0a---%0a> $ doas su mkdir /home/znc/home/znc/.znc/modules %0a> $ doas cp clientbuffer.so /home/znc/home/znc/.znc/modules/ %0a +host:1611594829=125.231.20.163 +author:1611594644=jrmu +diff:1611594644:1611594346:=12,14d11%0a%3c $ doas su mkdir /home/znc/home/znc/.znc/modules %0a%3c $ doas cp clientbuffer.so /home/znc/home/znc/.znc/modules/ %0a%3c $ doas chown -R znc:daemon /home/znc/home/znc/.znc/modules/%0a +host:1611594644=125.231.20.163 +author:1611594346=jrmu +diff:1611594346:1611593974:=6d5%0a%3c $ cd%0a8,11d6%0a%3c $ unzip master.zip%0a%3c $ mv znc-clientbuffer-master/{Makefile,clientbuffer.cpp} znc-1.8.2/modules/%0a%3c $ cd znc-1.8.2/modules/%0a%3c $ gmake%0a +host:1611594346=125.231.20.163 +author:1611593974=jrmu +diff:1611593974:1611593974:=1,7d0%0a%3c (:title ZNC Modules:)%0a%3c %0a%3c Suppose you want to install [[https://github.com/CyberShadow/znc-clientbuffer/archive/master.zip|clientbuffer]], a 3rd party module. Download the source code:%0a%3c %0a%3c [@%0a%3c $ ftp https://github.com/CyberShadow/znc-clientbuffer/archive/master.zip%0a%3c @]%0a +host:1611593974=125.231.20.163 blob - /dev/null blob + 080fa402254c776e5264511aeb3a4fdd1f0544d8 (mode 644) --- /dev/null +++ wiki.d/Openbsd.ZNCSupport @@ -0,0 +1,154 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1612270840 +host=38.87.162.8 +name=Openbsd.ZNCSupport +rev=47 +targets=Bouncer.Bouncer,Ircnow.Networks,Ircnow.Servers,Bouncer.MIRC,Debate.Zncflaws,Openbsd.Police,Openbsd.Ilines,Openbsd.Phishing +text=(:redirect ZNC/Support:)%0a(:title ZNC Support:)%0a%0aWelcome and thanks for helping with ZNC support!%0a%0a!! Register a team ZNC%0a%0a# Join your team channel and register a bouncer by typing !help%0a# Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a# Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a# Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%0a!! Getting Started on IRC%0a%0a# Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a# Join your team channels, #fruit and #fruit-team%0a# Read all messages in your IRC team channel every day%0a%0a!! Getting Caught Up%0a%0a# Read all team emails sent to support@fruit.ircnow.org every day%0a# Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a# Read all emails sent to your personal user@ircnow.org account every day%0a# All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a# For each action taken, report it on IRC%0a# For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%0a!! Service with a Smiley%0a%0aChatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%0aUsers need your help -- and they love service with a smiley! :)%0a%0a# Service with a smiley%0a# Keep instructions short and easy to understand%0a# Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a# We support every IRC client known to man!%0a# Remember, users -- not code or servers -- are the most important part of our network%0a# Word of mouth from satisfied users are the best form of advertising%0a%0a[@%0a21:20 %3c user> !bnc%0a21:20 %3c@PLUM> user: Please check private message%0a21:20 %3c user> help what is the captcha%0a21:22 %3c user> type /msg PLUM !bnc captcha 235%0a21:24 %3c user> now how do i connect%0a21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:24 %3c user> ok%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx works%0a21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a21:29 %3c user> ok bye%0a@]%0a%0a!! Check if Users Connected%0a%0aNever assume a user has connected successfully -- always check and verify.%0a%0a'''Our job is not done until the user has connected is chatting!'''%0a%0aYou can load notify_connect if it has not been loaded already:%0a%0a[@%0a/msg *status loadmod notify_connect%0a@]%0a%0anotify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%0aIf you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a%0a!! Common Problems%0a%0a!!! Can't read captcha%0a%0aIf the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%0a[@%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aYou can also just register the bouncer for the user if you know which email he is using.%0a%0a[@%0a/msg %3cbotname> !bnc %3cusername> %3cemail>%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aThe username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%0a!!! How do I connect?%0a%0aTo help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%0a[@%0a/ctcp %3cnick> version%0a23:54 [ctcp(Guest58404)] VERSION %0a23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a@]%0a%0aIn this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%0a[@%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:27 %3c user> thx works%0a@]%0a%0a'''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%0a!! You are currently disconnected%0a%0a[@%0a13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a@]%0a%0aThere are two possibilities.%0a%0aFirst, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%0a(Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%0aThe user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%0a%0aSecondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%0a!!! Network %3cname> doesn't exist%0a%0aFirst, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! Why am I on the wrong network?%0a%0aMost likely because you didn't type in the password in the right way:%0a%0a[@%0a21:29 %3c user> why did u send me to the wrong network%0a21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx sorry%0a@]%0a%0aThis happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%0a'''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%0aAn alternative method for jumping networks is to type:%0a%0a[@%0a/znc jumpnetwork NETWORK%0a@]%0a%0aReplace NETWORK with the real network you want.%0a%0a!!! Where is the web panel?%0a%0ahttps://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! How do I change my password?%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cpassword>%0a@]%0a%0aHe can also use the webpanel at https://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! What networks do you support?%0a%0aAfter a user connects, he should type:%0a%0a[@%0a/msg *controlpanel listnetworks%0a@]%0a%0ato list all available networks.%0a%0a!!! How do I add a network?%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! How do I delete all these networks?%0a%0aDon't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a%0a!!! I can't connect%0a%0aAsk the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%0a# Did the user successfully connect?%0a - Load the notify_connect module and see if you can see the user's IP connecting.%0a - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%0aTo fix his network settings, log in to the web panel:%0a%0ahttps://bnc.fruit.ircnow.org%0a%0a# Check the nickname/altnick%0a - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a - This could prevent your user from connecting%0a%0a# Double check the bindhost is set properly and that dns works%0a%0a!!! Why am I GLINEd?%0a%0a01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%0aGLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a%0a!!! How do I auto-identify on...%0a%0adalnet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a@]%0a%0afreenode, rizon, oftc, snoonet:%0a%0a[@%0a/msg *status loadmod nickserv%0a/msg *nickserv set PASSWORD%0a@]%0a%0aThat will ensure you identify upon reconnect. To identify immediately, type:%0a%0a[@%0a/msg NickServ identify PASSWORD%0a@]%0a%0aircnow:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add SQUERY NickServ :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a@]%0a%0aundernet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a/msg *perform Add mode %3cusername> +x%0a@]%0a%0aquake:%0a%0a[@%0a/msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a@]%0a%0aefnet, ircnet:%0a%0aThere are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%0a!!! How do I change my ident? My vhost?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%0aThere's currently no way to change the ident besides deleting the account and registering a new one.%0a%0aFor the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a%0a!!! How do I delete my account or reset the password?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%0aEmail the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%0aAn admin can reset the password as follows:%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cnewpass>%0a@]%0a%0aSend them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%0aTo delete an account, type:%0a%0a[@%0a/msg *blockuser block %3cusername>%0a@]%0a%0aAgain, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%0a!!! How can I log chats permanently?%0a%0aDon't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%0a!!! How do I use SASL?%0a%0a[@%0a/msg *status loadmodule SASL%0a/msg *SASL Mechanism plain%0a/msg *SASL Set %3cusername> %3cpassword>%0a@]%0a +time=1627452847 +title=ZNC Support +author:1627452847=jrmu +diff:1627452847:1612836897:=1d0%0a%3c (:redirect ZNC/Support:)%0a331c330%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1627452847=38.87.162.8 +author:1612836897=jrmu +diff:1612836897:1612335664:=217,222d216%0a%3c %0a%3c # Check the nickname/altnick%0a%3c - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a%3c - This could prevent your user from connecting%0a%3c %0a%3c # Double check the bindhost is set properly and that dns works%0a +host:1612836897=198.251.81.119 +author:1612335664=jrmu +diff:1612335664:1612335543:=223a224,225%0a> %0a> !!! I can't connect to port 6697%0a +host:1612335664=198.251.81.119 +author:1612335543=jrmu +diff:1612335543:1612335021:=218,223c218,220%0a%3c !!! Why am I GLINEd?%0a%3c %0a%3c 01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a%3c 01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%3c %0a%3c GLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a---%0a> !!! %0a> %0a> If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a +host:1612335543=198.251.81.119 +author:1612335021=jrmu +diff:1612335021:1612334594:=217,218d216%0a%3c %0a%3c !!! %0a +host:1612335021=198.251.81.119 +author:1612334594=jrmu +diff:1612334594:1612334402:=21d20%0a%3c # Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a23a23%0a> # All team members '''must''' check support@fruit.ircnow.org emails daily%0a321c321,323%0a%3c @]%0a\ No newline at end of file%0a---%0a> @]%0a> %0a> !!!%0a\ No newline at end of file%0a +host:1612334594=198.251.81.119 +author:1612334402=jrmu +diff:1612334402:1612334239:=313,323c313%0a%3c Don't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%3c %0a%3c !!! How do I use SASL?%0a%3c %0a%3c [@%0a%3c /msg *status loadmodule SASL%0a%3c /msg *SASL Mechanism plain%0a%3c /msg *SASL Set %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c !!!%0a\ No newline at end of file%0a---%0a> Don't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a\ No newline at end of file%0a +host:1612334402=198.251.81.119 +author:1612334239=jrmu +diff:1612334239:1612334152:=309,313c309%0a%3c Again, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%3c %0a%3c !!! How can I log chats permanently?%0a%3c %0a%3c Don't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a\ No newline at end of file%0a---%0a> Again, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a\ No newline at end of file%0a +host:1612334239=198.251.81.119 +author:1612334152=jrmu +diff:1612334152:1612334002:=281,284c281,282%0a%3c !!! How do I change my ident? My vhost?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%3c %0a---%0a> !!! How do I change my ident?%0a> %0a286,287d283%0a%3c %0a%3c For the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a +host:1612334152=198.251.81.119 +author:1612334002=jrmu +diff:1612334002:1612333582:=279,305c279%0a%3c There are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%3c %0a%3c !!! How do I change my ident?%0a%3c %0a%3c There's currently no way to change the ident besides deleting the account and registering a new one.%0a%3c %0a%3c !!! How do I delete my account or reset the password?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%3c %0a%3c Email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%3c %0a%3c An admin can reset the password as follows:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cnewpass>%0a%3c @]%0a%3c %0a%3c Send them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%3c %0a%3c To delete an account, type:%0a%3c %0a%3c [@%0a%3c /msg *blockuser block %3cusername>%0a%3c @]%0a%3c %0a%3c Again, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a\ No newline at end of file%0a---%0a> There are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a\ No newline at end of file%0a +host:1612334002=198.251.81.119 +author:1612333582=jrmu +diff:1612333582:1612333562:=279c279%0a%3c There are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a\ No newline at end of file%0a---%0a> There are no services here. You'll need a bouncer to hold on to a nick.%0a\ No newline at end of file%0a +host:1612333582=198.251.81.119 +author:1612333562=jrmu +diff:1612333562:1612333446:=275,279c275%0a%3c @]%0a%3c %0a%3c efnet, ircnet:%0a%3c %0a%3c There are no services here. You'll need a bouncer to hold on to a nick.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1612333562=198.251.81.119 +author:1612333446=jrmu +diff:1612333446:1612333368:=237c237%0a%3c freenode, rizon, oftc, snoonet:%0a---%0a> freenode, rizon, oftc:%0a +host:1612333446=198.251.81.119 +author:1612333368=jrmu +diff:1612333368:1612333132:=269,274d268%0a%3c @]%0a%3c %0a%3c quake:%0a%3c %0a%3c [@%0a%3c /msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a +host:1612333368=198.251.81.119 +author:1612333132=jrmu +diff:1612333132:1612332607:=222,223c222,223%0a%3c !!! How do I auto-identify on...%0a%3c %0a---%0a> !!! How do I identify on...%0a> %0a244,249d243%0a%3c That will ensure you identify upon reconnect. To identify immediately, type:%0a%3c %0a%3c [@%0a%3c /msg NickServ identify PASSWORD%0a%3c @]%0a%3c %0a252,262d245%0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add SQUERY NickServ :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a%3c @]%0a%3c %0a265,269d247%0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a%3c /msg *perform Add mode %3cusername> +x%0a%3c @]%0a\ No newline at end of file%0a +host:1612333132=198.251.81.119 +author:1612332607=jrmu +diff:1612332607:1612332008:=220,247c220%0a%3c !!! I can't connect to port 6697%0a%3c %0a%3c !!! How do I identify on...%0a%3c %0a%3c dalnet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a%3c @]%0a%3c %0a%3c freenode, rizon, oftc:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod nickserv%0a%3c /msg *nickserv set PASSWORD%0a%3c @]%0a%3c %0a%3c ircnow:%0a%3c %0a%3c undernet:%0a%3c %0a---%0a> !!! I can't connect to port 6697%0a\ No newline at end of file%0a +host:1612332607=198.251.81.119 +author:1612332008=jrmu +diff:1612332008:1612331828:=209,217c209,211%0a%3c # Did the user successfully connect?%0a%3c - Load the notify_connect module and see if you can see the user's IP connecting.%0a%3c - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a%3c - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%3c %0a%3c To fix his network settings, log in to the web panel:%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a---%0a> Did the user successfully connect?%0a> %0a> If a user has a problem connecting to a network, try to fix his network connection for him%0a +host:1612332008=198.251.81.119 +author:1612331828=jrmu +diff:1612331828:1612331739:=130,131c130,131%0a%3c First, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%3c %0a---%0a> First, make sure the user has correctly typed in the password (it should have the form username/network:password). If there are no mistakes, then you need to add the network:%0a> %0a138,139d137%0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a142c140%0a%3c Most likely because you didn't type in the password in the right way:%0a---%0a> Because you didn't follow instructions! :) But say that in a kinder way:%0a +host:1612331828=198.251.81.119 +author:1612331739=jrmu +diff:1612331739:1612331564:=130,136c130,139%0a%3c First, make sure the user has correctly typed in the password (it should have the form username/network:password). If there are no mistakes, then you need to add the network:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a%3c @]%0a---%0a> 10:03 %3c*status> Network sturtz doesn't exist.%0a> 10:04 %3cjrmu> addnetwork sturtz%0a> 10:04 %3c*status> Network added. Use /znc JumpNetwork sturtz, or connect to ZNC with %0a> username jrmu/sturtz (instead of just jrmu) to connect to it.%0a> 10:04 %3cjrmu> jumpnetwork sturtz%0a> 10:04 %3c*status> Switched to sturtz%0a> 10:04 %3cjrmu> addserver irc.sturtz.cf +6697%0a> 10:04 %3c*status> Server added%0a> 10:04 %3cjrmu> connect%0a> %0a +host:1612331739=198.251.81.119 +author:1612331564=jrmu +diff:1612331564:1612331276:= +host:1612331564=198.251.81.119 +author:1612331276=jrmu +diff:1612331276:1612331241:= +host:1612331276=198.251.81.119 +author:1612331241=jrmu +diff:1612331241:1612330647:=75,76c75,76%0a%3c If the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%3c %0a---%0a> If the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Tell the user the number to message the bot:%0a> %0a110,139d109%0a%3c %0a%3c !! You are currently disconnected%0a%3c %0a%3c [@%0a%3c 13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a%3c @]%0a%3c %0a%3c There are two possibilities.%0a%3c %0a%3c First, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%3c %0a%3c (Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%3c %0a%3c The user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%3c %0a%3c %0a%3c Secondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%3c %0a%3c !!! Network %3cname> doesn't exist%0a%3c %0a%3c 10:03 %3c*status> Network sturtz doesn't exist.%0a%3c 10:04 %3cjrmu> addnetwork sturtz%0a%3c 10:04 %3c*status> Network added. Use /znc JumpNetwork sturtz, or connect to ZNC with %0a%3c username jrmu/sturtz (instead of just jrmu) to connect to it.%0a%3c 10:04 %3cjrmu> jumpnetwork sturtz%0a%3c 10:04 %3c*status> Switched to sturtz%0a%3c 10:04 %3cjrmu> addserver irc.sturtz.cf +6697%0a%3c 10:04 %3c*status> Server added%0a%3c 10:04 %3cjrmu> connect%0a%3c %0a +host:1612331241=198.251.81.119 +author:1612330647=jrmu +diff:1612330647:1612330202:= +host:1612330647=198.251.81.119 +author:1612330202=jrmu +diff:1612330202:1612330070:=61,62c61,62%0a%3c You can load notify_connect if it has not been loaded already:%0a%3c %0a---%0a> Make sure you load%0a> %0a66,69d65%0a%3c %0a%3c notify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%3c %0a%3c If you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a +host:1612330202=198.251.81.119 +author:1612330070=jrmu +diff:1612330070:1612329792:=10,11c10%0a%3c # Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%3c %0a---%0a> %0a53,64d51%0a%3c @]%0a%3c %0a%3c !! Check if Users Connected%0a%3c %0a%3c Never assume a user has connected successfully -- always check and verify.%0a%3c %0a%3c '''Our job is not done until the user has connected is chatting!'''%0a%3c %0a%3c Make sure you load%0a%3c %0a%3c [@%0a%3c /msg *status loadmod notify_connect%0a +host:1612330070=198.251.81.119 +author:1612329792=jrmu +diff:1612329792:1612283159:=161,164d160%0a%3c Ask the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%3c %0a%3c Did the user successfully connect?%0a%3c %0a166,168c162%0a%3c If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a%3c %0a%3c !!! I can't connect to port 6697%0a\ No newline at end of file%0a---%0a> If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a +host:1612329792=198.251.81.119 +author:1612283159=jrmu +diff:1612283159:1612283024:=149,150c149,150%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a---%0a> /msg *controlpanel addserver %3cnetwork> %3chostname>%0a> /msg *controlpanel reconnect %3cnetwork>%0a153,154d152%0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a159,162c157,158%0a%3c !!! I can't connect%0a%3c %0a%3c If a user has a problem connecting to a network, try to fix his network connection for him%0a%3c If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a---%0a> # If a user has a problem connecting to a network, try to fix his network connection for him%0a> # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a +host:1612283159=198.251.81.119 +author:1612283024=jrmu +diff:1612283024:1612282810:=92,93c92,93%0a%3c '''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%3c %0a---%0a> '''IMPORTANT''': Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a> %0a107,118c107,108%0a%3c This happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%3c %0a%3c '''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%3c %0a%3c An alternative method for jumping networks is to type:%0a%3c %0a%3c [@%0a%3c /znc jumpnetwork NETWORK%0a%3c @]%0a%3c %0a%3c Replace NETWORK with the real network you want.%0a%3c %0a---%0a> This happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]]. %0a> %0a144,155d133%0a%3c %0a%3c !!! How do I add a network?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cnetwork> %3chostname>%0a%3c /msg *controlpanel reconnect %3cnetwork>%0a%3c @]%0a%3c %0a%3c !!! How do I delete all these networks?%0a%3c %0a%3c Don't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a +host:1612283024=198.251.81.119 +author:1612282810=jrmu +diff:1612282810:1612282521:=45c45%0a%3c 21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a---%0a> 21:24 %3c~staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a47,48c47,48%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a---%0a> 21:24 %3c staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a> 21:25 %3c staff> replace NETWORK with your network and PASSWORD with the password in the email%0a50c50%0a%3c 21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a---%0a> 21:28 %3c staff> you're welcome user, please let your friends know about IRCNow!%0a86,88c86,88%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a---%0a> 21:24 %3c staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a> 21:25 %3c staff> replace NETWORK with your network and PASSWORD with the password in the email%0a> 21:25 %3c~staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a93,107d92%0a%3c %0a%3c !!! Why am I on the wrong network?%0a%3c %0a%3c Because you didn't follow instructions! :) But say that in a kinder way:%0a%3c %0a%3c [@%0a%3c 21:29 %3c user> why did u send me to the wrong network%0a%3c 21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a%3c 21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx sorry%0a%3c @]%0a%3c %0a%3c This happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]]. %0a +host:1612282810=198.251.81.119 +author:1612282521=jrmu +diff:1612282521:1612282232:= +host:1612282521=198.251.81.119 +author:1612282232=jrmu +diff:1612282232:1612281916:=94,118c94%0a%3c !!! Where is the web panel?%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! How do I change my password?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c He can also use the webpanel at https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! What networks do you support?%0a%3c %0a%3c After a user connects, he should type:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel listnetworks%0a%3c @]%0a%3c %0a%3c to list all available networks.%0a---%0a> !!! I can't connect%0a +host:1612282232=198.251.81.119 +author:1612281916=jrmu +diff:1612281916:1612281771:=92,94c92%0a%3c '''IMPORTANT''': Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%3c %0a%3c !!! I can't connect%0a---%0a> ZNC:%0a +host:1612281916=198.251.81.119 +author:1612281771=jrmu +diff:1612281771:1612281049:=32,38d31%0a%3c # Service with a smiley%0a%3c # Keep instructions short and easy to understand%0a%3c # Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a%3c # We support every IRC client known to man!%0a%3c # Remember, users -- not code or servers -- are the most important part of our network%0a%3c # Word of mouth from satisfied users are the best form of advertising%0a%3c %0a68,89d60%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c The username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%3c %0a%3c !!! How do I connect?%0a%3c %0a%3c To help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%3c %0a%3c [@%0a%3c /ctcp %3cnick> version%0a%3c 23:54 [ctcp(Guest58404)] VERSION %0a%3c 23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a%3c @]%0a%3c %0a%3c In this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%3c %0a%3c [@%0a%3c 21:24 %3c staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:25 %3c~staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:27 %3c user> thx works%0a +host:1612281771=198.251.81.119 +author:1612281049=jrmu +diff:1612281049:1612280859:=50,61d49%0a%3c %0a%3c If the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Tell the user the number to message the bot:%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c You can also just register the bouncer for the user if you know which email he is using.%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc %3cusername> %3cemail>%0a%3c @]%0a +host:1612281049=198.251.81.119 +author:1612280859=jrmu +diff:1612280859:1612280810:=47,50d46%0a%3c !! Common Problems%0a%3c %0a%3c !!! Can't read captcha%0a%3c %0a54c50,51%0a%3c # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a\ No newline at end of file%0a---%0a> # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a> %0a +host:1612280859=198.251.81.119 +author:1612280810=jrmu +diff:1612280810:1612278402:=32,45c32%0a%3c [@%0a%3c 21:20 %3c user> !bnc%0a%3c 21:20 %3c@PLUM> user: Please check private message%0a%3c 21:20 %3c user> help what is the captcha%0a%3c 21:22 %3c user> type /msg PLUM !bnc captcha 235%0a%3c 21:24 %3c user> now how do i connect%0a%3c 21:24 %3c~staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:24 %3c user> ok%0a%3c 21:24 %3c staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx works%0a%3c 21:28 %3c staff> you're welcome user, please let your friends know about IRCNow!%0a%3c 21:29 %3c user> ok bye%0a%3c @]%0a---%0a> User Support%0a +host:1612280810=198.251.81.119 +author:1612278402=jrmu +diff:1612278402:1612277849:=26,33d25%0a%3c !! Service with a Smiley%0a%3c %0a%3c Chatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%3c %0a%3c Users need your help -- and they love service with a smiley! :)%0a%3c %0a%3c User Support%0a%3c %0a38a31,38%0a> Team Procedure:%0a> %0a> %0a> %0a> %0a> %0a> %0a> service with a smiley%0a\ No newline at end of file%0a +host:1612278402=198.251.81.119 +author:1612277849=jrmu +diff:1612277849:1612277666:=4a5,7%0a> # Read and get familiar with our goals for IRC%0a> # https://wiki.ircnow.org/index.php?n=Freedom.Freedom%0a> %0a24a28,29%0a> %0a> # Check your username@ircnow.org email daily%0a +host:1612277849=198.251.81.119 +author:1612277666=jrmu +diff:1612277666:1612277571:= +host:1612277666=198.251.81.119 +author:1612277571=jrmu +diff:1612277571:1612277348:=5,7d4%0a%3c # Read and get familiar with our goals for IRC%0a%3c # https://wiki.ircnow.org/index.php?n=Freedom.Freedom%0a%3c %0a18,30c15%0a%3c # Read all messages in your IRC team channel every day%0a%3c %0a%3c !! Getting Caught Up%0a%3c %0a%3c # Read all team emails sent to support@fruit.ircnow.org every day%0a%3c # Read all emails sent to your personal user@ircnow.org account every day%0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c %0a%3c # Check your username@ircnow.org email daily%0a%3c %0a---%0a> %0a38c23,28%0a%3c %0a---%0a> # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a> # All team members '''must''' check support@fruit.ircnow.org emails daily%0a> # For each action taken, report it on IRC%0a> # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a> # Read all of the scrollback in the IRC team channel and read all team emails every day%0a> # Check your username@ircnow.org email daily%0a +host:1612277571=198.251.81.119 +author:1612277348=jrmu +diff:1612277348:1612276883:=9,10c9,10%0a%3c # Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a%3c %0a---%0a> # Get familiar with the different [[bouncer/bouncer|IRC client types]]. Download as many IRC clients as possible and test them out!%0a> %0a13,14c13,15%0a%3c # Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a%3c # Join your team channels, #fruit and #fruit-team%0a---%0a> # Be present on #ircnow on the networks you claim and help with customer support%0a> # Be present on #opers for sensitive oper-related discussion%0a> # Be present on #wheel to meet new teammates in training%0a +host:1612277348=198.251.81.119 +author:1612276883=jrmu +diff:1612276883:1612276163:=5,11c5,7%0a%3c !! Register a team ZNC%0a%3c %0a%3c # Join your team channel and register a bouncer by typing !help%0a%3c # Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a%3c # Get familiar with the different [[bouncer/bouncer|IRC client types]]. Download as many IRC clients as possible and test them out!%0a%3c %0a%3c !! Getting Started on IRC%0a---%0a> !! Getting Started%0a> %0a> IRC:%0a +host:1612276883=198.251.81.119 +author:1612276163=jrmu +diff:1612276163:1612276070:=3,6c3,6%0a%3c Welcome and thanks for helping with ZNC support!%0a%3c %0a%3c !! Getting Started%0a%3c %0a---%0a> First read up on:%0a> %0a> # [[Openbsd/Stable|Stable team procedure]]%0a> %0a17,28d16%0a%3c %0a%3c Team Procedure:%0a%3c %0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the IRC team channel and read all team emails every day%0a%3c # Check your username@ircnow.org email daily%0a%3c %0a%3c %0a%3c %0a +host:1612276163=198.251.81.119 +author:1612276070=jrmu +diff:1612276070:1612275643:=3,6c3,24%0a%3c First read up on:%0a%3c %0a%3c # [[Openbsd/Stable|Stable team procedure]]%0a%3c %0a---%0a> # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a> # All team members '''must''' check support@fruit.ircnow.org emails daily%0a> # For each action taken, report it on IRC%0a> # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a> # Read all of the scrollback in the IRC team channel and read all team emails every day%0a> # Check your username@ircnow.org email daily%0a> # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a> # The team leader should assigned each team member separate tasks to avoid collision%0a> # If you need to work on another team member's task, make sure to notify that team member in advance%0a> %0a> Team Procedure:%0a> %0a> # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a> # For each action taken, report it on IRC to your team channel%0a> # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a> # Read all of the scrollback in the IRC team channel and read all team emails every day%0a> # Check your username@ircnow.org email daily%0a> # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a> # The team leader should assigned each team member separate tasks to avoid collision%0a> # If you need to work on another team member's task, make sure to notify that team member in advance%0a> # Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and @@/msg *status broadcast %3cmsg>@@ on ZNC at least ten minutes in advance.%0a> %0a15c33,35%0a%3c # If a user has a problem connecting to a network, try to fix his network connection for him%0a---%0a> # Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a> # Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a> # If you see a user with frequent disconnects, fix his network connection for him.%0a16a37,40%0a> %0a> SMTP:%0a> %0a> # All team members '''must''' check support@fruit.ircnow.org emails daily%0a +host:1612276070=198.251.81.119 +author:1612275643=jrmu +diff:1612275643:1612275508:=3,40c3%0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the IRC team channel and read all team emails every day%0a%3c # Check your username@ircnow.org email daily%0a%3c # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a%3c # The team leader should assigned each team member separate tasks to avoid collision%0a%3c # If you need to work on another team member's task, make sure to notify that team member in advance%0a%3c %0a%3c Team Procedure:%0a%3c %0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # For each action taken, report it on IRC to your team channel%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c # Read all of the scrollback in the IRC team channel and read all team emails every day%0a%3c # Check your username@ircnow.org email daily%0a%3c # When editing a config, save a backup copy with a timestamp and serial number. For example, @@doas cp doas.conf doas.conf.2020123100@@%0a%3c # The team leader should assigned each team member separate tasks to avoid collision%0a%3c # If you need to work on another team member's task, make sure to notify that team member in advance%0a%3c # Before any changes that may cause downtime for users, make sure to announce to everyone on your IRC channels and @@/msg *status broadcast %3cmsg>@@ on ZNC at least ten minutes in advance.%0a%3c %0a%3c IRC:%0a%3c %0a%3c # Be present on #ircnow on the networks you claim and help with customer support%0a%3c # Be present on #opers for sensitive oper-related discussion%0a%3c # Be present on #wheel to meet new teammates in training%0a%3c %0a%3c ZNC:%0a%3c %0a%3c # Log in to your own ZNC server every day. You should use the same ZNC that you provide to your users. That way, if there are any bugs, you will notice them right away.%0a%3c # Each day, check /home/znc/home/znc/.znc/moddata/adminlog/znc.log to check for any connection issues.%0a%3c # If you see a user with frequent disconnects, fix his network connection for him.%0a%3c # If you see a user GLINEd, you need to either [[openbsd/police|investigate abuse]] or [[openbsd/ilines|request an iline]].%0a%3c %0a%3c SMTP:%0a%3c %0a%3c # All team members '''must''' check support@fruit.ircnow.org emails daily%0a---%0a> %0a +host:1612275643=198.251.81.119 +author:1612275508=jrmu +diff:1612275508:1612270840:=2,3d1%0a%3c %0a%3c %0a +host:1612275508=198.251.81.119 +author:1612270840=jrmu +diff:1612270840:1612270840:=1,3d0%0a%3c (:title ZNC Support:)%0a%3c %0a%3c service with a smiley%0a\ No newline at end of file%0a +host:1612270840=198.251.81.119 blob - /dev/null blob + 6fc2ac5c6da1647c0ec16d2f09cd613d4acb11e0 (mode 644) --- /dev/null +++ wiki.d/Openbsd.Znc @@ -0,0 +1,186 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1597726139 +host=38.87.162.8 +name=Openbsd.Znc +rev=58 +targets=Openbsd.Syspatch,Oidentd.Znc,Openbsd.Relayd,Openbsd.Nsd,Openbsd.Buyvm +text=(:redirect Znc.Chroot:)%0aYou will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a%0aCreate the user znc:%0a%0a[@%0a$ doas adduser%0a@]%0a%0a[@%0aName: znc%0aPassword: ****%0aFullname: znc%0aUid: 1001%0aGid: 1001 (znc)%0aGroups: znc %0aLogin Class: default%0aHOME: /home/znc%0aShell: /sbin/nologin%0aOK? (y/n) [y]: y%0a@]%0a%0aI am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a%0a[@%0aznc:\%0a :openfiles-cur=4096:\%0a :openfiles-max=8182:\%0a :openfiles=4096:\%0a :stacksize-cur=48M:\%0a :stacksize-max=48M:\%0a :maxproc-max=infinity:\%0a :maxproc-cur=4096:\%0a :tc=daemon:%0a@]%0a%0a'''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a%0aI check to make sure znc is set to the right login class.%0a%0a[@%0a$ doas vipw%0a@]%0a%0aThere should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a%0a[@%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a%0aYou will want to run cap_mkdb:%0a%0a[@%0a$ doas cap_mkdb /etc/login.conf%0a@]%0a%0aNow change znc shell to /bin/ksh , then continue with the steps below.%0a%0a[@%0a$ doas su -c znc znc%0a$ ulimit -a%0atime(cpu-seconds) unlimited%0afile(blocks) unlimited%0acoredump(blocks) unlimited%0adata(kbytes) 33554432%0astack(kbytes) 32768%0alockedmem(kbytes) 329478%0amemory(kbytes) 985092%0anofiles(descriptors) 4096%0aprocesses 1310%0a@]%0a%0aI then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%0a[@%0a$ doas vipw%0a%0a...%0a%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a%0aInstall needed dependencies:%0a%0a[@%0a$ doas pkg_add icu4c-67.1%0a$ doas pkg_add boost-1.67.0p0%0a$ doas pkg_add cmake%0a@]%0a%0aThe below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a%0a[@%0a$ uname -a%0aOpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a$ doas syspatch%0a@]%0a%0a[@%0a$ cd ~%0a$ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a$ tar xvzf znc-1.8.2a.tar.gz%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ cmake ..%0a$ make%0a$ doas make install%0a@]%0a%0a'''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a%0aThen run as root:%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/.znc%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0acp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0acp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0acp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc botnow%0ausermod -G znc _identd%0a@]%0a%0aAt first, you will need to create a conf file:%0a%0a[@%0a# export HOME=/home/znc/%0a# chroot -u znc -g znc /home/znc znc --makeconf%0a@]%0a%0a[@%0a[ .. ] Checking for list of available modules...%0a[ ** ] %0a[ ** ] -- Global settings --%0a[ ** ] %0a[ ?? ] Listen on port (1025 to 65534): 31337%0a[ ?? ] Listen using SSL (yes/no) [no]: yes%0a[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a[ .. ] Verifying the listener...%0a[ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a[ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a[ ** ] Enabled global modules [webadmin]%0a[ ** ] %0a[ ** ] -- Admin user settings --%0a[ ** ] %0a[ ?? ] Username (alphanumeric): %0a@]%0a%0a[@%0a# cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a# cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a# chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a@]%0a%0aInside ~:%0a%0a[@%0a$ openssl dhparam -out dhparam.pem 2048%0a$ doas chown znc:znc dhparam.pem%0a$ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a@]%0a%0aAfterwards, to run znc:%0a%0a[@%0a# export HOME=/home/znc%0a# /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aNow you must add this rule in /etc/pf.conf:%0a%0a[@%0apass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0apass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a@]%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a(Here the steps are a bit out of chronology)%0a%0aTo start the bouncer, I run this command:%0a%0a[@%0a# HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aIf your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%0a[@%0a/msg *status saveconfig%0a@]%0a%0aThen, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%0a[@%0aAnonIPLimit = 10000%0aAuthOnlyViaModule = false%0aConfigWriteDelay = 0%0aConnectDelay = 1%0aHideVersion = false%0aLoadModule = chansaver%0aLoadModule = lastseen%0aLoadModule = adminlog%0aLoadModule = identfile%0aLoadModule = webadmin%0aLoadModule = certauth%0aMaxBufferSize = 10000%0aProtectWebSessions = true%0aSSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0aSSLDHParamFile = /home/znc/.znc/dhparam.pem%0aSSLKeyFile = /home/znc/.znc/my.example.com.key%0aPidFile = /home/znc/.znc/znc.pid%0aServerThrottle = 1%0aVersion = 1.8.2%0a%0a%3cListener listener0>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener1>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener2>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener3>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener4>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener5>%0a AllowIRC = false%0a AllowWeb = true%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1338%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a@]%0a%0aWe will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a%0aI have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%0aReplace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a%0a[@%0a/msg *status rehash%0a@]%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAdd a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a%0a[@%0aHOME=/home/znc%0a*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aTo test the connection (and SSL certificate), run:%0a%0a[@%0a$ openssl s_client -connect my.example.com:31337%0a@]%0a%0aMake sure you have the proper SSL cert configured.%0a%0aWhile you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%0a[@%0aserver "bnc.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a@]%0a%0aGo ahead and reboot the web server:%0a%0a[@%0a$ doas rcctl restart httpd%0a@]%0a%0aNote: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a%0a'''Integration with the operating system'''%0a%0a[@%0adoas touch /etc/rc.d/znc%0adoas chmod +x /etc/rc.d/znc%0a@]%0a%0a [= %0a#!/bin/ksh%0a#%0a# $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%0adaemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0adaemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%0a%0aservice_stop() {%0a if [ -f $daemon_pidfile ]; then%0a pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a kill $pid%0a fi%0a}%0a%0acase "$1" in%0a stop)%0a service_stop%0a ;;%0aesac%0a%0a%0a. /etc/rc.d/rc.subr%0a%0arc_reload=NO%0a%0arc_cmd $1%0a%0a%0a =]%0a%0a'''Automatic start'''%0a%0aAutomatic start of the service in case of a crash. %0a%0aThis prevents the loss of users due to software errors. Make sure your users feel good.%0a [=%0adoas mkdir /usr/local/project_name/%0adoas touch /usr/local/project_name/checker_znc.sh%0adoas chmod +x /usr/local/project_name/checker_znc.sh%0a =]%0a%0a [=%0a#!/bin/sh%0a%0aSERVICE_NAME="znc"%0aSERVICE_USER="znc"%0aSERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%0aif ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0athen%0a if [ -f $SERVICE_PID ]; then%0a rm -f $SERVICE_PID%0a rcctl -d restart $SERVICE_NAME%0a fi%0afi%0a%0a =]%0a%0a [=%0a doas crontab -e%0a =]%0a%0a [=%0a*/2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a =]%0a%0a'''ZNC console'''%0a%0aConnect%0a [=%0a/quote PASS admin:mysuperadminpassqwerty%0a =]%0a%0aGenerate new pass for user%0a [=%0aGo to site: https://passwordsgenerator.net/%0aand disable "Include Symbols"%0aclick "generate password"%0aor you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a =]%0a%0aUser login%0a [=%0ausername must be the same or derived from the network login (contain a suffix)%0a =]%0a%0aCreate new user%0a [=%0a/msg *controlpanel AddUser bob 12345678%0a/msg *controlpanel LoadModule bob perform%0a =]%0a%0aAdd network for new ner%0a [=%0a/msg *controlpanel AddNetwork bob IRCNow%0a/msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a/msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a/msg *controlpanel help%0a =]%0a%0aSet channels%0a [=%0a/msg *controlpanel AddChan bob IRCNow #ircnow%0a =]%0a%0aSet pass (this must be done with a user account or offer to run this command yourself) %0a [=%0a/msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a/msg *perform help%0a =]%0a%0aReconnect user`s network%0a [=%0a/msg *controlpanel Reconnect bob IRCNow%0a =]%0a%0aSaving settings to disk (please save your changes to disk immediately)%0a [=%0a/msg *status SaveConfig%0a =]%0a%0aDeleting user and user entities%0a [=%0a/msg *controlpanel DelUser bob%0a/msg *controlpanel DelNetwork bob IRCNow%0a =]%0a%0a!! Custom vhosts%0a%0a'''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%0aIt is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%0aIf a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%0aFor example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%0aOnce example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%0aKeeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%0a!! Troubleshooting%0a%0aIf your user is getting disconnected, these are the most likely causes:%0a%0a# mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a# SSL is not supported%0a# user has a server password where none belongs (most likely he confused server password with nickserv password)%0a# ident is not working%0a# ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a# typo of server name or IP address%0a# dns lookup error%0a%0aYou may be need to install icu4c-67.1 .%0a%0a!! WARNING%0a%0aIf a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a%0aTo prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a%0aA quick way to check if there are DNS errors:%0a%0a[@%0a$ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a$ vi ~/bindhost%0a@]%0a%0aThen with vi:%0a%0a[@%0a:%25s_.* = _host _g%0a@]%0a%0aThen:%0a%0a[@%0a$ sh ~/bindhost%0a@]%0a%0aIf you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%0a!!! Missing libraries%0a%0aIf you are getting errors such as:%0a%0a[@%0ald.so: znc: can't load library 'libc++abi.so.2.1' %0a@]%0a%0aThen it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%0a[@%0a$ doas syspatch%0a$ doas pkg_add -u%0a@]%0a%0aThen, delete the build folder and compile again.%0a%0a!! Adding ICU support%0a%0aCopy the following directories:%0a%0a[@%0a# cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a# cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a@]%0a%0aThen, restart BNC. Encoding options should be available.%0a%0a(The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a%0a!! Obsolete Setups%0a%0aThe old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0acp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0apkg_add -B /home/znc znc%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achown -R znc:znc /home/znc/%0ausermod -G znc botnow%0ausermod -G znc _identd%0a@]%0a%0a!! Running znc in debug mode%0a%0a[@%0a$ cd ~%0a$ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a$ tar xvzf znc-1.8.2.tar.gz%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ ../configure --enable-debug CXX=c++%0a$ gmake%0a$ doas make install%0a@]%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0acp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0acp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0acp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc botnow%0ausermod -G znc _identd%0a@]%0a%0a$ doas gdb chroot%0a%0a +time=1626432193 +author:1626432193=jrmu +diff:1626432193:1613133739:=1d0%0a%3c (:redirect Znc.Chroot:)%0a +host:1626432193=38.87.162.8 +author:1613133739=jrmu +diff:1613133739:1611802427:=323c323%0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a---%0a> We will load the identfile module by default. This is necessary to provide proper ident using [[openbsd/oidentd|oidentd]]. Please follow the instructions in the link to configure ident.%0a +host:1613133739=198.251.81.119 +author:1611802427=jrmu +diff:1611802427:1611802340:=155d154%0a%3c chown -R znc:znc /home/znc/%0a156a156%0a> chown -R znc:znc /home/znc/%0a624,626c624%0a%3c chown -R znc:znc /home/znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a---%0a> chown -R znc:znc /home/znc/home/znc/%0a684d681%0a%3c chown -R znc:znc /home/znc/%0a685a683%0a> chown -R znc:znc /home/znc/%0a +host:1611802427=125.231.24.226 +author:1611802340=jrmu +diff:1611802340:1611802168:=683c683,684%0a%3c chown -R znc:znc /home/znc/%0a---%0a> chown -R znc:znc /home/znc/home/znc/%0a> chown -R znc:daemon /home/znc/home/znc/.znc/%0a685,686d685%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a +host:1611802340=125.231.24.226 +author:1611802168=jrmu +diff:1611802168:1611279146:=156c156,157%0a%3c chown -R znc:znc /home/znc/%0a---%0a> chown -R znc:znc /home/znc/home/znc/%0a> chown -R znc:daemon /home/znc/home/znc/.znc/%0a158,159d158%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a +host:1611802168=125.231.24.226 +author:1611279146=wiz +diff:1611279146:1611153746:=384,394c384,392%0a%3c # $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%3c %0a%3c daemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0a%3c daemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%3c %0a%3c %0a%3c service_stop() {%0a%3c if [ -f $daemon_pidfile ]; then%0a%3c pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a%3c kill $pid%0a%3c fi%0a---%0a> # $OpenBSD: znc,v 1.2 2018/01/11 19:27:07 rpe Exp $%0a> %0a> daemon="znc"%0a> chroot_exec="env HOME=/home/znc /usr/sbin/chroot -u _znc -g _znc /home/znc"%0a> %0a> . /etc/rc.d/rc.subr%0a> %0a> rc_start() {%0a> ${rcexec} "$chroot_exec ${daemon} ${daemon_flags}"%0a397,405d394%0a%3c case "$1" in%0a%3c stop)%0a%3c service_stop%0a%3c ;;%0a%3c esac%0a%3c %0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a410c399%0a%3c %0a---%0a> echo $rcexec%0a +host:1611279146=77.100.11.104 +author:1611153746=jrmu +diff:1611153746:1611149544:=150d149%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a +host:1611153746=125.224.21.52 +author:1611149544=jrmu +diff:1611149544:1611140794:=149d148%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a +host:1611149544=125.224.21.52 +author:1611140794=jrmu +diff:1611140794:1610926137:=13,14c13,14%0a%3c Uid: 1001%0a%3c Gid: 1001 (znc)%0a---%0a> Uid: 10%0a> Gid: 1017 (znc)%0a +host:1611140794=125.224.21.52 +author:1610926137=jrmu +diff:1610926137:1610925946:=149d148%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a +host:1610926137=125.224.21.52 +author:1610925946=jrmu +diff:1610925946:1610925857:=148d147%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a +host:1610925946=125.224.21.52 +author:1610925857=jrmu +diff:1610925857:1610341483:=147d146%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a +host:1610925857=125.224.21.52 +author:1610341483=Noxturnix +diff:1610341483:1610339459:=146a147,148%0a> cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a> cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a565,577d566%0a%3c %0a%3c !! Adding ICU support%0a%3c %0a%3c Copy the following directories:%0a%3c %0a%3c [@%0a%3c # cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a%3c # cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a%3c @]%0a%3c %0a%3c Then, restart BNC. Encoding options should be available.%0a%3c %0a%3c (The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a +host:1610341483=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1610339459=Noxturnix +diff:1610339459:1610287161:=147,148d146%0a%3c cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a +host:1610339459=2601:646:8601:3010:beeb:beeb:beeb:cafe +author:1610287161=jrmu +diff:1610287161:1610281549:=524,527c524,531%0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a%3c %0a%3c To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a%3c %0a---%0a> If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will segfault:%0a> %0a> TDNS: initiating resolving of [irc.example.net] and bindhost [user.fruit.ircnow.org] Segmentation fault (core dumped)%0a> %0a> This causes all your users to disconnect!%0a> %0a> To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, it could cause your ZNC to crash every few hours mysteriously!%0a> %0a529d532%0a%3c %0a549,552c552,555%0a%3c !!! Missing libraries%0a%3c %0a%3c If you are getting errors such as:%0a%3c %0a---%0a> !! Obsolete Setups%0a> %0a> The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a> %0a554,570d556%0a%3c ld.so: znc: can't load library 'libc++abi.so.2.1' %0a%3c @]%0a%3c %0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Then, delete the build folder and compile again.%0a%3c %0a%3c !! Obsolete Setups%0a%3c %0a%3c The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a%3c %0a%3c [@%0a658,659c644%0a%3c $ doas gdb chroot%0a%3c %0a---%0a> $ doas gdb chroot%0a\ No newline at end of file%0a +host:1610287161=125.224.19.86 +author:1610281549=jrmu +diff:1610281549:1610281348:=90,96c90,91%0a%3c The below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a%3c $ doas syspatch%0a%3c @]%0a---%0a> Run this install script (tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a> %0a +host:1610281549=125.224.19.86 +author:1610281348=jrmu +diff:1610281348:1610280281:=90c90%0a%3c Run this install script (tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a---%0a> Run this install script (tested for OpenBSD 6.8 and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a +host:1610281348=125.224.19.86 +author:1610280281=jrmu +diff:1610280281:1610272314:=118c118%0a%3c mkdir -p /home/znc/home/znc/.znc%0a---%0a> mkdir -p /home/znc/home/znc/%0a +host:1610280281=125.224.19.86 +author:1610272314=jrmu +diff:1610272314:1610111093:=87d86%0a%3c $ doas pkg_add cmake%0a +host:1610272314=125.224.19.86 +author:1610111093=jrmu +diff:1610111093:1610103302:=633,634d632%0a%3c chown -R znc:daemon /home/znc/home/znc/.znc/%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a +host:1610111093=125.224.19.86 +author:1610103302=jrmu +diff:1610103302:1610103253:= +host:1610103302=125.224.19.86 +author:1610103253=jrmu +diff:1610103253:1610078845:=145,146d144%0a%3c chown -R znc:daemon /home/znc/home/znc/.znc/%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a +host:1610103253=125.224.19.86 +author:1610078845=jrmu +diff:1610078845:1609587886:=82,83c82,83%0a%3c Install needed dependencies:%0a%3c %0a---%0a> Run this install script (tested for OpenBSD 6.8 and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a> %0a85,91d84%0a%3c $ doas pkg_add icu4c-67.1%0a%3c $ doas pkg_add boost-1.67.0p0%0a%3c @]%0a%3c %0a%3c Run this install script (tested for OpenBSD 6.8 and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a%3c %0a%3c [@%0a100a94,95%0a> $ doas pkg_add icu4c-67.1%0a> $ doas pkg_add boost-1.67.0p0%0a +host:1610078845=125.224.19.86 +author:1609587886=jrmu +diff:1609587886:1609064291:=95d94%0a%3c $ doas pkg_add boost-1.67.0p0%0a +host:1609587886=125.231.63.134 +author:1609064291=fizi +diff:1609064291:1609064213:= +host:1609064291=39.42.29.159 +author:1609064213=jrmu +diff:1609064213:1608863653:=87c87%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a---%0a> $ tar xvzf znc-1.8.2.tar.gz%0a +host:1609064213=198.251.81.119 +author:1608863653=jrmu +diff:1608863653:1608863397:=96,97d95%0a%3c %0a%3c '''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a +host:1608863653=198.251.81.119 +author:1608863397=jrmu +diff:1608863397:1608848760:=86c86%0a%3c $ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a---%0a> $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a +host:1608863397=198.251.81.119 +author:1608848760=jrmu +diff:1608848760:1608722128:=94d93%0a%3c $ doas pkg_add icu4c-67.1%0a +host:1608848760=198.251.81.119 +author:1608722128=jrmu +diff:1608722128:1608722072:=575c575%0a%3c $ gmake%0a---%0a> $ make%0a +host:1608722128=198.251.81.119 +author:1608722072=jrmu +diff:1608722072:1608718303:=567,577c567%0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a---%0a> ../configure --enable-debug%0a +host:1608722072=198.251.81.119 +author:1608718303=jrmu +diff:1608718303:1608692900:=215c215%0a%3c ConnectDelay = 1%0a---%0a> ConnectDelay = 5%0a229,230c229,230%0a%3c ServerThrottle = 1%0a%3c Version = 1.8.2%0a---%0a> ServerThrottle = 30%0a> Version = 1.7.5%0a +host:1608718303=198.251.81.119 +author:1608692900=jrmu +diff:1608692900:1608692453:= +host:1608692900=198.251.81.119 +author:1608692453=jrmu +diff:1608692453:1608614909:=564,614d563%0a%3c %0a%3c !! Running znc in debug mode%0a%3c %0a%3c ../configure --enable-debug%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chown -R znc:znc /home/znc/home/znc/%0a%3c @]%0a%3c %0a%3c $ doas gdb chroot%0a\ No newline at end of file%0a +host:1608692453=198.251.81.119 +author:1608614909=jrmu +diff:1608614909:1608612414:=502,503d501%0a%3c You may be need to install icu4c-67.1 .%0a%3c %0a563c561%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1608614909=38.81.163.7 +author:1608612414=jrmu +diff:1608612414:1608563613:=96c96%0a%3c Then run as root:%0a---%0a> Then:%0a +host:1608612414=38.81.163.7 +author:1608563613=jrmu +diff:1608563613:1608562789:=88d87%0a%3c $ cd znc-1.8.2%0a +host:1608563613=38.81.163.7 +author:1608562789=jrmu +diff:1608562789:1608562456:=99c99%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a---%0a> mkdir -p /home/znc/usr/lib/pkgconfig%0a101d100%0a%3c mkdir -p /home/znc/usr/local/share/%0a122a122%0a> cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a +host:1608562789=38.81.163.7 +author:1608562456=jrmu +diff:1608562456:1608562003:=99c99%0a%3c mkdir -p /home/znc/usr/lib/pkgconfig%0a---%0a> mkdir -p /home/znc/usr/local/lib/pkgconfig%0a100a101%0a> mkdir -p /home/znc/usr/local/share/%0a123d123%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a129,130c129%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a---%0a> cp -R /usr/local/share/znc /home/znc/usr/local/share/znc%0a +host:1608562456=38.81.163.7 +author:1608562003=jrmu +diff:1608562003:1608559392:=99c99%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a---%0a> mkdir -p /home/znc/usr/lib/pkgconfig%0a101d100%0a%3c mkdir -p /home/znc/usr/local/share/%0a124,128d122%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a129a124,127%0a> cp -R /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a> cp -R /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a> cp -R /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a> cp -R /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a +host:1608562003=38.81.163.7 +author:1608559392=jrmu +diff:1608559392:1608559231:=83,95d82%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ cmake ..%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c Then:%0a +host:1608559392=38.81.163.7 +author:1608559231=jrmu +diff:1608559231:1608483836:=82,83c82,83%0a%3c Run this install script (tested for OpenBSD 6.8 and znc-1.8.2) as root to put znc inside the chroot at /home/znc:%0a%3c %0a---%0a> Run this install script (tested for OpenBSD 6.7 and znc-1.7.5) as root to put znc inside the chroot at /home/znc:%0a> %0a86,88d85%0a%3c mkdir -p /home/znc/usr/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a109,116c106%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/znc%0a%3c cp -R /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp -R /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp -R /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp -R /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a---%0a> pkg_add -B /home/znc znc%0a513,544c503%0a%3c If you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%3c %0a%3c !! Obsolete Setups%0a%3c %0a%3c The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c pkg_add -B /home/znc znc%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chown -R znc:znc /home/znc/home/znc/%0a%3c @]%0a\ No newline at end of file%0a---%0a> If you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a\ No newline at end of file%0a +host:1608559231=38.81.163.7 +author:1608483836=jrmu +diff:1608483836:1608203890:=483,503c483%0a%3c To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, it could cause your ZNC to crash every few hours mysteriously!%0a%3c %0a%3c A quick way to check if there are DNS errors:%0a%3c [@%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a%3c $ vi ~/bindhost%0a%3c @]%0a%3c %0a%3c Then with vi:%0a%3c %0a%3c [@%0a%3c :%25s_.* = _host _g%0a%3c @]%0a%3c %0a%3c Then:%0a%3c %0a%3c [@%0a%3c $ sh ~/bindhost%0a%3c @]%0a%3c %0a%3c If you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a\ No newline at end of file%0a---%0a> To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, it could cause your ZNC to crash every few hours mysteriously!%0a\ No newline at end of file%0a +host:1608483836=38.81.163.7 +author:1608203890=jrmu +diff:1608203890:1607436535:=473,483c473%0a%3c # dns lookup error%0a%3c %0a%3c !! WARNING%0a%3c %0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will segfault:%0a%3c %0a%3c TDNS: initiating resolving of [irc.example.net] and bindhost [user.fruit.ircnow.org] Segmentation fault (core dumped)%0a%3c %0a%3c This causes all your users to disconnect!%0a%3c %0a%3c To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, it could cause your ZNC to crash every few hours mysteriously!%0a\ No newline at end of file%0a---%0a> # dns lookup error%0a\ No newline at end of file%0a +host:1608203890=198.251.81.119 +author:1607436535=jrmu +diff:1607436535:1607435744:=449,462d448%0a%3c !! Custom vhosts%0a%3c %0a%3c '''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%3c %0a%3c It is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%3c %0a%3c If a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%3c %0a%3c For example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%3c %0a%3c Once example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%3c %0a%3c Keeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%3c %0a473c459,463%0a%3c # dns lookup error%0a\ No newline at end of file%0a---%0a> # dns lookup error%0a> %0a> '''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a> %0a> It is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a\ No newline at end of file%0a +host:1607436535=198.251.81.119 +author:1607435744=jrmu +diff:1607435744:1603713856:=459,463c459%0a%3c # dns lookup error%0a%3c %0a%3c '''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%3c %0a%3c It is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a\ No newline at end of file%0a---%0a> # dns lookup error%0a\ No newline at end of file%0a +host:1607435744=198.251.81.119 +author:1603713856=jrmu +diff:1603713856:1603524151:=26,33c26,33%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a---%0a> :openfiles-cur=4096:\%0a> :openfiles-max=8182:\%0a> :openfiles=4096:\%0a> :stacksize-cur=48M:\%0a> :stacksize-max=48M:\%0a> :maxproc-max=infinity:\%0a> :maxproc-cur=4096:\%0a> :tc=daemon:%0a35,36d34%0a%3c %0a%3c '''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a +host:1603713856=125.231.28.105 +author:1603524151=jrmu +diff:1603524151:1599194040:=92,93c92,93%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a---%0a> cp /usr/lib/libc++.so.4.0 /home/znc/usr/lib/libc++.so.4.0%0a> cp /usr/lib/libc++abi.so.2.1 /home/znc/usr/lib/libc++abi.so.2.1%0a +host:1603524151=125.224.28.18 +author:1599194040=jrmu +diff:1599194040:1599119766:=445,457c445%0a%3c =]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If your user is getting disconnected, these are the most likely causes:%0a%3c %0a%3c # mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a%3c # SSL is not supported%0a%3c # user has a server password where none belongs (most likely he confused server password with nickserv password)%0a%3c # ident is not working%0a%3c # ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a%3c # typo of server name or IP address%0a%3c # dns lookup error%0a\ No newline at end of file%0a---%0a> =]%0a\ No newline at end of file%0a +host:1599194040=38.81.163.143 +author:1599119766=baytuch +diff:1599119766:1598014764:=155,156c155,156%0a%3c Now you must add this rule in /etc/pf.conf:%0a%3c %0a---%0a> Creating a start script:%0a> %0a158,159c158,159%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a%3c pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a---%0a> doas touch /etc/rc.d/znc%0a> doas chmod +x /etc/rc.d/znc%0a161a162%0a> File contents:%0a163c164,190%0a%3c $ doas pfctl -f /etc/pf.conf%0a---%0a> #!/bin/ksh%0a> #%0a> # $OpenBSD: znc,v 1.2 2018/01/11 19:27:07 rpe Exp $%0a> %0a> daemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0a> daemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a> %0a> %0a> service_stop() {%0a> if [ -f $daemon_pidfile ]; then%0a> pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a> kill $pid%0a> fi%0a> }%0a> %0a> case "$1" in%0a> stop)%0a> service_stop%0a> ;;%0a> esac%0a> %0a> %0a> . /etc/rc.d/rc.subr%0a> %0a> rc_reload=NO%0a> %0a> rc_cmd $1%0a166,169d192%0a%3c (Here the steps are a bit out of chronology)%0a%3c %0a%3c To start the bouncer, I run this command:%0a%3c %0a171c194,195%0a%3c # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a---%0a> doas rcctl start znc%0a> doas rcctl stop znc%0a174,175c198,199%0a%3c If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%3c %0a---%0a> Now you must add this rule in /etc/pf.conf:%0a> %0a177c201,202%0a%3c /msg *status saveconfig%0a---%0a> pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a> pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a180,181d204%0a%3c Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%3c %0a182a206,225%0a> $ doas pfctl -f /etc/pf.conf%0a> @]%0a> %0a> (Here the steps are a bit out of chronology)%0a> %0a> To start the bouncer, I run this command:%0a> %0a> [@%0a> # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a> @]%0a> %0a> If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a> %0a> [@%0a> /msg *status saveconfig%0a> @]%0a> %0a> Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a> %0a> [@%0a322,328c365,366%0a%3c '''Integration with the operating system'''%0a%3c %0a%3c [@%0a%3c doas touch /etc/rc.d/znc%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c @]%0a%3c %0a---%0a> Integration with the operating system:%0a> %0a350,384d387%0a%3c '''Automatic start'''%0a%3c %0a%3c Automatic start of the service in case of a crash. %0a%3c %0a%3c This prevents the loss of users due to software errors. Make sure your users feel good.%0a%3c [=%0a%3c doas mkdir /usr/local/project_name/%0a%3c doas touch /usr/local/project_name/checker_znc.sh%0a%3c doas chmod +x /usr/local/project_name/checker_znc.sh%0a%3c =]%0a%3c %0a%3c [=%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="znc"%0a%3c SERVICE_USER="znc"%0a%3c SERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d restart $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c %0a%3c =]%0a%3c %0a%3c [=%0a%3c doas crontab -e%0a%3c =]%0a%3c %0a%3c [=%0a%3c */2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a%3c =]%0a +host:1599119766=91.228.147.58 +author:1598014764=baytuch +diff:1598014764:1597920980:=386,447d385%0a%3c =]%0a%3c %0a%3c %0a%3c '''ZNC console'''%0a%3c %0a%3c Connect%0a%3c [=%0a%3c /quote PASS admin:mysuperadminpassqwerty%0a%3c =]%0a%3c %0a%3c Generate new pass for user%0a%3c [=%0a%3c Go to site: https://passwordsgenerator.net/%0a%3c and disable "Include Symbols"%0a%3c click "generate password"%0a%3c or you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a%3c =]%0a%3c %0a%3c User login%0a%3c [=%0a%3c username must be the same or derived from the network login (contain a suffix)%0a%3c =]%0a%3c %0a%3c Create new user%0a%3c [=%0a%3c /msg *controlpanel AddUser bob 12345678%0a%3c /msg *controlpanel LoadModule bob perform%0a%3c =]%0a%3c %0a%3c Add network for new ner%0a%3c [=%0a%3c /msg *controlpanel AddNetwork bob IRCNow%0a%3c /msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a%3c /msg *controlpanel help%0a%3c =]%0a%3c %0a%3c Set channels%0a%3c [=%0a%3c /msg *controlpanel AddChan bob IRCNow #ircnow%0a%3c =]%0a%3c %0a%3c Set pass (this must be done with a user account or offer to run this command yourself) %0a%3c [=%0a%3c /msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a%3c /msg *perform help%0a%3c =]%0a%3c %0a%3c Reconnect user`s network%0a%3c [=%0a%3c /msg *controlpanel Reconnect bob IRCNow%0a%3c =]%0a%3c %0a%3c Saving settings to disk (please save your changes to disk immediately)%0a%3c [=%0a%3c /msg *status SaveConfig%0a%3c =]%0a%3c %0a%3c Deleting user and user entities%0a%3c [=%0a%3c /msg *controlpanel DelUser bob%0a%3c /msg *controlpanel DelNetwork bob IRCNow%0a +host:1598014764=91.228.147.58 +author:1597920980=baytuch +diff:1597920980:1597742156:=363,386c363%0a%3c Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a%3c %0a%3c Integration with the operating system:%0a%3c %0a%3c [= %0a%3c #!/bin/ksh%0a%3c #%0a%3c # $OpenBSD: znc,v 1.2 2018/01/11 19:27:07 rpe Exp $%0a%3c %0a%3c daemon="znc"%0a%3c chroot_exec="env HOME=/home/znc /usr/sbin/chroot -u _znc -g _znc /home/znc"%0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c rc_start() {%0a%3c ${rcexec} "$chroot_exec ${daemon} ${daemon_flags}"%0a%3c }%0a%3c %0a%3c rc_reload=NO%0a%3c %0a%3c rc_cmd $1%0a%3c %0a%3c echo $rcexec%0a%3c =]%0a\ No newline at end of file%0a---%0a> Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a\ No newline at end of file%0a +host:1597920980=91.228.147.58 +author:1597742156=jrmu +diff:1597742156:1597727095:=313,315c313,315%0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[openbsd/oidentd|oidentd]]. Please follow the instructions in the link to configure ident.%0a%3c %0a%3c I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a---%0a> We will load the identfile module by default. This is necessary to provide proper ident using [[openbsd:irc:oidentd|oidentd]]. Please follow the instructions in the link to configure ident.%0a> %0a> I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd:net:relayd|relayd]] to provide TLS acceleration on port 443.%0a +host:1597742156=38.81.163.143 +author:1597727095=jrmu +diff:1597727095:1597726300:=156,157c156%0a%3c %0a%3c [@%0a---%0a> %3ccode>%0a160,161c159,160%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a163c162%0a%3c [@%0a---%0a> %3ccode>%0a191,193c190,192%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a196,197c195,196%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a200c199%0a%3c [@%0a---%0a> %3ccode>%0a203,205c202,204%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a207,208c206,207%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a213c212%0a%3c [@%0a---%0a> %3ccode>%0a215,216c214,215%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a219c218%0a%3c [@%0a---%0a> %3ccode>%0a221,222c220,221%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a225c224%0a%3c [@%0a---%0a> %3ccode>%0a311,312c310,311%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a319c318%0a%3c [@%0a---%0a> %3ccode>%0a321,323c320,322%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a325,326c324,325%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a329c328%0a%3c [@%0a---%0a> %3ccode>%0a332,333c331,332%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a336c335%0a%3c [@%0a---%0a> %3ccode>%0a338,339c337,338%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a344c343%0a%3c [@%0a---%0a> %3ccode>%0a355,356c354,355%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a359c358%0a%3c [@%0a---%0a> %3ccode>%0a361c360%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597727095=38.81.163.143 +author:1597726300=jrmu +diff:1597726300:1597726225:=82c82%0a%3c [@%0a---%0a> %3ccode>%0a107,108c107,108%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a111c111%0a%3c [@%0a---%0a> %3ccode>%0a114,116c114,116%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a132,134c132,134%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a138,139c138,139%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a142c142%0a%3c [@%0a---%0a> %3ccode>%0a146,147c146,147%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a150c150%0a%3c [@%0a---%0a> %3ccode>%0a153c153%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597726300=38.81.163.143 +author:1597726225=jrmu +diff:1597726225:1597726188:=50c50%0a%3c [@%0a---%0a> %3ccode>%0a52,53c52,53%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a56c56%0a%3c [@%0a---%0a> %3ccode>%0a68,69c68,70%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a> %0a72c73%0a%3c [@%0a---%0a> %3ccode>%0a78c79%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597726225=38.81.163.143 +author:1597726188=jrmu +diff:1597726188:1597726139:=5c5%0a%3c [@%0a---%0a> %3ccode>%0a7,9c7,9%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> %3c/code>%0a> %0a> %3ccode>%0a20,21c20,21%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a24c24%0a%3c [@%0a---%0a> %3ccode>%0a34,35c34,35%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a38c38%0a%3c [@%0a---%0a> %3ccode>%0a40,41c40,41%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a44c44%0a%3c [@%0a---%0a> %3ccode>%0a46c46%0a%3c @]%0a---%0a> %3c/code>%0a +host:1597726188=38.81.163.143 +author:1597726139=jrmu +diff:1597726139:1597726139:=1,363d0%0a%3c You will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a%3c %0a%3c Create the user znc:%0a%3c %0a%3c %3ccode>%0a%3c $ doas adduser%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c Name: znc%0a%3c Password: ****%0a%3c Fullname: znc%0a%3c Uid: 10%0a%3c Gid: 1017 (znc)%0a%3c Groups: znc %0a%3c Login Class: default%0a%3c HOME: /home/znc%0a%3c Shell: /sbin/nologin%0a%3c OK? (y/n) [y]: y%0a%3c %3c/code>%0a%3c %0a%3c I am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a%3c %0a%3c %3ccode>%0a%3c znc:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a%3c %3c/code>%0a%3c %0a%3c I check to make sure znc is set to the right login class.%0a%3c %0a%3c %3ccode>%0a%3c $ doas vipw%0a%3c %3c/code>%0a%3c %0a%3c There should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a%3c %0a%3c %3ccode>%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c %3c/code>%0a%3c %0a%3c You will want to run cap_mkdb:%0a%3c %0a%3c %3ccode>%0a%3c $ doas cap_mkdb /etc/login.conf%0a%3c %3c/code>%0a%3c %0a%3c Now change znc shell to /bin/ksh , then continue with the steps below.%0a%3c %0a%3c %3ccode>%0a%3c $ doas su -c znc znc%0a%3c $ ulimit -a%0a%3c time(cpu-seconds) unlimited%0a%3c file(blocks) unlimited%0a%3c coredump(blocks) unlimited%0a%3c data(kbytes) 33554432%0a%3c stack(kbytes) 32768%0a%3c lockedmem(kbytes) 329478%0a%3c memory(kbytes) 985092%0a%3c nofiles(descriptors) 4096%0a%3c processes 1310%0a%3c %3c/code>%0a%3c %0a%3c %0a%3c I then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a%3c %3ccode>%0a%3c $ doas vipw%0a%3c %0a%3c ...%0a%3c %0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c %3c/code>%0a%3c %0a%3c Run this install script (tested for OpenBSD 6.7 and znc-1.7.5) as root to put znc inside the chroot at /home/znc:%0a%3c %0a%3c %3ccode>%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.4.0 /home/znc/usr/lib/libc++.so.4.0%0a%3c cp /usr/lib/libc++abi.so.2.1 /home/znc/usr/lib/libc++abi.so.2.1%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c pkg_add -B /home/znc znc%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chown -R znc:znc /home/znc/home/znc/%0a%3c %3c/code>%0a%3c %0a%3c At first, you will need to create a conf file:%0a%3c %0a%3c %3ccode>%0a%3c # export HOME=/home/znc/%0a%3c # chroot -u znc -g znc /home/znc znc --makeconf%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c [ .. ] Checking for list of available modules...%0a%3c [ ** ] %0a%3c [ ** ] -- Global settings --%0a%3c [ ** ] %0a%3c [ ?? ] Listen on port (1025 to 65534): 31337%0a%3c [ ?? ] Listen using SSL (yes/no) [no]: yes%0a%3c [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a%3c [ .. ] Verifying the listener...%0a%3c [ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a%3c [ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a%3c [ ** ] Enabled global modules [webadmin]%0a%3c [ ** ] %0a%3c [ ** ] -- Admin user settings --%0a%3c [ ** ] %0a%3c [ ?? ] Username (alphanumeric): %0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c # cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a%3c # cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a%3c # chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a%3c %3c/code>%0a%3c %0a%3c Inside ~:%0a%3c %0a%3c %3ccode>%0a%3c $ openssl dhparam -out dhparam.pem 2048%0a%3c $ doas chown znc:znc dhparam.pem%0a%3c $ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a%3c %3c/code>%0a%3c %0a%3c Afterwards, to run znc:%0a%3c %0a%3c %3ccode>%0a%3c # export HOME=/home/znc%0a%3c # /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c %3c/code>%0a%3c %0a%3c Creating a start script:%0a%3c %3ccode>%0a%3c doas touch /etc/rc.d/znc%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c %3c/code>%0a%3c %0a%3c File contents:%0a%3c %3ccode>%0a%3c #!/bin/ksh%0a%3c #%0a%3c # $OpenBSD: znc,v 1.2 2018/01/11 19:27:07 rpe Exp $%0a%3c %0a%3c daemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0a%3c daemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%3c %0a%3c %0a%3c service_stop() {%0a%3c if [ -f $daemon_pidfile ]; then%0a%3c pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a%3c kill $pid%0a%3c fi%0a%3c }%0a%3c %0a%3c case "$1" in%0a%3c stop)%0a%3c service_stop%0a%3c ;;%0a%3c esac%0a%3c %0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c rc_reload=NO%0a%3c %0a%3c rc_cmd $1%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c doas rcctl start znc%0a%3c doas rcctl stop znc%0a%3c %3c/code>%0a%3c %0a%3c Now you must add this rule in /etc/pf.conf:%0a%3c %0a%3c %3ccode>%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a%3c pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c %3c/code>%0a%3c %0a%3c (Here the steps are a bit out of chronology)%0a%3c %0a%3c To start the bouncer, I run this command:%0a%3c %0a%3c %3ccode>%0a%3c # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c %3c/code>%0a%3c %0a%3c If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%3c %0a%3c %3ccode>%0a%3c /msg *status saveconfig%0a%3c %3c/code>%0a%3c %0a%3c Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%3c %0a%3c %3ccode>%0a%3c AnonIPLimit = 10000%0a%3c AuthOnlyViaModule = false%0a%3c ConfigWriteDelay = 0%0a%3c ConnectDelay = 5%0a%3c HideVersion = false%0a%3c LoadModule = chansaver%0a%3c LoadModule = lastseen%0a%3c LoadModule = adminlog%0a%3c LoadModule = identfile%0a%3c LoadModule = webadmin%0a%3c LoadModule = certauth%0a%3c MaxBufferSize = 10000%0a%3c ProtectWebSessions = true%0a%3c SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a%3c SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a%3c SSLKeyFile = /home/znc/.znc/my.example.com.key%0a%3c PidFile = /home/znc/.znc/znc.pid%0a%3c ServerThrottle = 30%0a%3c Version = 1.7.5%0a%3c %0a%3c %3cListener listener0>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener1>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener2>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener3>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener4>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener5>%0a%3c AllowIRC = false%0a%3c AllowWeb = true%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1338%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %3c/code>%0a%3c %0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[openbsd:irc:oidentd|oidentd]]. Please follow the instructions in the link to configure ident.%0a%3c %0a%3c I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd:net:relayd|relayd]] to provide TLS acceleration on port 443.%0a%3c %0a%3c Replace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a%3c %0a%3c %3ccode>%0a%3c /msg *status rehash%0a%3c %3c/code>%0a%3c %0a%3c %3ccode>%0a%3c $ doas crontab -e%0a%3c %3c/code>%0a%3c %0a%3c Add a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a%3c %0a%3c %3ccode>%0a%3c HOME=/home/znc%0a%3c */5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c %3c/code>%0a%3c %0a%3c To test the connection (and SSL certificate), run:%0a%3c %0a%3c %3ccode>%0a%3c $ openssl s_client -connect my.example.com:31337%0a%3c %3c/code>%0a%3c %0a%3c Make sure you have the proper SSL cert configured.%0a%3c %0a%3c While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%3c %0a%3c %3ccode>%0a%3c server "bnc.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c %3c/code>%0a%3c %0a%3c Go ahead and reboot the web server:%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl restart httpd%0a%3c %3c/code>%0a%3c %0a%3c Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a\ No newline at end of file%0a +host:1597726139=38.81.163.143 blob - /dev/null blob + 87b168ac502f75b78576760853abfacae125945f (mode 644) --- /dev/null +++ wiki.d/Openbsd.Zncadmin,del-1611914454 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1611914384 +host=125.231.24.226 +name=Openbsd.Zncadmin +rev=1 +targets=Debate.Dogfooding,Bouncer.Bouncer,Openbsd.Less,Openbsd.Ilines,Openbsd.Irssi,Ircnow.Networks +text=(:title Daily Maintenance for ZNC:)%0a%0aEvery admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%0aEach day, you should check for errors with your znc.%0a%0a[@%0a$ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aScroll to the bottom by typing G.%0a%0a[@%0a[2021-01-25 03:12:52] [user/network] disconnected from IRC%0a[2021-01-25 03:15:29] [user/network] disconnected from IRC%0a[2021-01-25 03:19:21] [user/network] disconnected from IRC%0a[2021-01-25 03:23:12] [user/network] disconnected from IRC%0a@]%0a%0aIf you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%0a'''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%0a!! G-lined%0a%0aUse [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%0a[@%0a[2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a@]%0a%0aThis shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%0aIf that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%0a[@%0a/msg *controlpanel disconnect user network%0a@]%0a%0a!! Fixing a Network Configuration Error%0a%0aSometimes a disconnection error in znc.log is caused by bad network configuration:%0a%0a[@%0a[2021-01-25 03:06:24] [user/network] disconnected from IRC%0a[2021-01-25 03:14:09] [user/network] disconnected from IRC%0a@]%0a%0aLet's investigate the cause through the web panel:%0a%0a# Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0aAttach:znc1.png%0a# Click on the Manage Users link\\%0aAttach:znc2.png%0a# Click on the Edit link next to user1\\%0aAttach:znc3.png%0a# Scroll down and click on the Edit link next to the network globalirc-it:\\%0aAttach:znc4.png%0a# Check @@Servers of this IRC network@@:%0a # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0aAttach:znc5.png\\%0a# Click on @@Save and Continue@@\\%0aAttach:znc6.png%0a%0aYou should soon see a line similar to below in znc.log:%0a%0a[@%0a[2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a@]%0a%0aThis indicates that @@user@@ successfully connected to @@network@@.%0a%0a!! Dealing with Abuse +time=1611914384 +title=Daily Maintenance for ZNC +author:1611914384=jrmu +diff:1611914384:1611914384:=1,77d0%0a%3c (:title Daily Maintenance for ZNC:)%0a%3c %0a%3c Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%3c %0a%3c Each day, you should check for errors with your znc.%0a%3c %0a%3c [@%0a%3c $ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c Scroll to the bottom by typing G.%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:12:52] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:15:29] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:19:21] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:23:12] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%3c %0a%3c '''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%3c %0a%3c !! G-lined%0a%3c %0a%3c Use [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a%3c @]%0a%3c %0a%3c This shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%3c %0a%3c If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel disconnect user network%0a%3c @]%0a%3c %0a%3c !! Fixing a Network Configuration Error%0a%3c %0a%3c Sometimes a disconnection error in znc.log is caused by bad network configuration:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:06:24] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:14:09] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c Let's investigate the cause through the web panel:%0a%3c %0a%3c # Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0a%3c Attach:znc1.png%0a%3c # Click on the Manage Users link\\%0a%3c Attach:znc2.png%0a%3c # Click on the Edit link next to user1\\%0a%3c Attach:znc3.png%0a%3c # Scroll down and click on the Edit link next to the network globalirc-it:\\%0a%3c Attach:znc4.png%0a%3c # Check @@Servers of this IRC network@@:%0a%3c # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a%3c # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a%3c # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a%3c # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0a%3c Attach:znc5.png\\%0a%3c # Click on @@Save and Continue@@\\%0a%3c Attach:znc6.png%0a%3c %0a%3c You should soon see a line similar to below in znc.log:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a%3c @]%0a%3c %0a%3c This indicates that @@user@@ successfully connected to @@network@@.%0a%3c %0a%3c !! Dealing with Abuse%0a\ No newline at end of file%0a +host:1611914384=125.231.24.226 blob - /dev/null blob + ddbe8bd318b729c81f1b8d7f9d71bb5344cdc1a2 (mode 644) --- /dev/null +++ wiki.d/OpenbsdNet.IPv6,del-1597060162 @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597059807 +host=38.81.163.143 +name=OpenbsdNet.IPv6 +rev=3 +targets= +text=If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a%0aOpenbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%0aReplace if with your own device name. Inside /etc/hostname.if0, put:%0a%0a[@%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0ainet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0ainet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0ainet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0ainet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0ainet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0ainet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0ainet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0ainet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0ainet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0ainet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0ainet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0ainet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0ainet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0ainet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0ainet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0ainet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0ainet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0ainet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0ainet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0ainet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0ainet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0ainet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0ainet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0ainet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0ainet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0ainet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0ainet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0ainet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0ainet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0ainet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0ainet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a@]%0a%0aLet's look at the first two lines:%0a%0a%3ccode>%0ainet 192.168.1.2 255.255.255.0%0ainet alias 192.168.1.3 255.255.255.0%0a%3c/code>%0a%0aThe first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%0aLet's look at lines 3 and 4:%0a%0a%3ccode>%0ainet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0ainet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c/code>%0a%0aThe first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%0aYou will also need to specify the default gateway in /etc/mygate:%0a%0a%3ccode>%0a192.168.1.1%0a2001:0db8:0000:0000::1%0a%3c/code>%0a%0aSometimes, to restart networking, I will run:%0a%0a%3ccode>%0a$ doas sh /etc/netstart%0a%3c/code>%0a%0aBut this doesn't seem to properly reset the networking sometimes.%0a%0aWatch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a%0aIf you later decide you want to add a new ipv6 address, use ifconfig:%0a%0a%3ccode>%0a$ doas ifconfig if0 inet6 2001:0db8::/64%0a%3c/code>%0a%0aTo delete the IPv6 address:%0a%0a%3ccode>%0a$ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a%3c/code>%0a%0aReplace if0 with your specific interface.%0a%0a----%0a%0aTo test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%0a%3ccode>%0a$ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0anick newnick%0auser newuser * * :newuser%0aPING :12345%0aPONG :12345%0a%3c/code>%0a%0aIf that loads a message, then you configured the IPv6 address 2001:0db8:: correctly. +time=1597059987 +author:1597059987=jrmu +diff:1597059987:1597059971:=7c7%0a%3c [@%0a---%0a> @[%0a43c43%0a%3c @]%0a---%0a> ]@%0a +host:1597059987=38.81.163.143 +author:1597059971=jrmu +diff:1597059971:1597059807:=7c7%0a%3c @[%0a---%0a> %3ccode>%0a43c43%0a%3c ]@%0a---%0a> %3c/code>%0a +host:1597059971=38.81.163.143 +author:1597059807=jrmu +diff:1597059807:1597059807:=1,106d0%0a%3c If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a%3c %0a%3c Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%3c %0a%3c Replace if with your own device name. Inside /etc/hostname.if0, put:%0a%3c %0a%3c %3ccode>%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a%3c inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a%3c inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a%3c inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a%3c inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a%3c inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a%3c inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a%3c inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a%3c inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a%3c inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a%3c inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a%3c inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a%3c inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a%3c inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a%3c inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a%3c inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a%3c inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a%3c inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a%3c inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a%3c inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a%3c inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a%3c inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a%3c inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a%3c inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a%3c inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a%3c inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a%3c inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a%3c %3c/code>%0a%3c %0a%3c Let's look at the first two lines:%0a%3c %0a%3c %3ccode>%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c %3c/code>%0a%3c %0a%3c The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%3c %0a%3c Let's look at lines 3 and 4:%0a%3c %0a%3c %3ccode>%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c %3c/code>%0a%3c %0a%3c The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c You will also need to specify the default gateway in /etc/mygate:%0a%3c %0a%3c %3ccode>%0a%3c 192.168.1.1%0a%3c 2001:0db8:0000:0000::1%0a%3c %3c/code>%0a%3c %0a%3c Sometimes, to restart networking, I will run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas sh /etc/netstart%0a%3c %3c/code>%0a%3c %0a%3c But this doesn't seem to properly reset the networking sometimes.%0a%3c %0a%3c Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a%3c %0a%3c If you later decide you want to add a new ipv6 address, use ifconfig:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64%0a%3c %3c/code>%0a%3c %0a%3c To delete the IPv6 address:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a%3c %3c/code>%0a%3c %0a%3c Replace if0 with your specific interface.%0a%3c %0a%3c ----%0a%3c %0a%3c To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%3c %0a%3c %3ccode>%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c %3c/code>%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a +host:1597059807=38.81.163.143 blob - /dev/null blob + da21117bd5493b6cc3be9b99f8ffd34e34187e98 (mode 644) --- /dev/null +++ wiki.d/OpenbsdNet.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1597059807 +host=38.81.163.143 +name=OpenbsdNet.RecentChanges +rev=4 +text=* [[OpenbsdNet/IPv6]] . . . August 10, 2020, at 11:49 AM by [[~jrmu]]: [==]%0a +time=1597060162 blob - /dev/null blob + 1e4c458fff2ba08b984b0099abdda9e92a8242ad (mode 644) --- /dev/null +++ wiki.d/Openhttpd.Configure @@ -0,0 +1,130 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614073261 +host=38.87.162.8 +name=Openhttpd.Configure +rev=39 +targets=Acme-client.Configure,Telnet.Http,Pf.Guide,Openssl.Http +text=(:title Basic OpenHTTPd Configuration:)%0a%0a[[https://bsd.plumbing/about.html|OpenHTTPd]] is a light-weight web server developed by the OpenBSD dev team.%0a%0a!! Overview%0a%0aPros:%0a# Lean: Small, no plugins%0a# Clean code%0a# Secure: Strict validity checking, privilege separation, strong cryptography%0a# Fast%0a# Easy to configure with good manpage documentation%0a%0a!! Docs and references%0a%0aYou'll want to consult the [[https://man.openbsd.org/httpd|httpd]] and [[https://man.openbsd.org/httpd.conf|httpd.conf]] man pages.%0a%0a!! Configuring%0a%0a'''NOTE''': You must replace example.com with your own domain%0a%0aCopy the example file in [@ /etc/examples/httpd.conf @]:%0a%0a[@%0a$ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a@]%0a%0a%0aEdit [@ /etc/httpd.conf @]:%0a%0a!!! Server block #1%0a%0a%0a[@%0aserver "example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a }%0a@]%0a%0aserver: this block specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a%0alisten on: tells the web server to listen on all IPs on port 80.%0a%0alocation: (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%0alocation: (Lines 7-9) indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%0a'''Note''': You must have a server block listening on port 80. Do not delete this block or else [[acme-client/configure|acme-client]] will not work.%0a%0a!!! Server block #2%0a%0a[@%0aserver "example.com" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/example.com.crt"%0a key "/etc/ssl/private/example.com.key"%0a }%0a location "/pub/*" {%0a directory auto index%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a@]%0a%0aThis block is similar to before. Replace [@ example.com @].%0a%0aThere are only two differences.%0a%0aLines 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a%0aLines 7-9 say that for any request that begins with https://example.com/pub/ should automatically show a directory listing. Normally this is not a good idea for security reasons, but for a public folder it should be fine.%0a%0aMake sure to replace every instance of @@example.com@@ with your real hostname, then enable and start the web server:%0a%0a%0a!! Starting the server%0a%0a[@%0a$ doas rcctl enable httpd%0a$ doas rcctl start httpd%0a@]%0a%0a!! Testing, testing%0aLet's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a%0a[@%0a$ telnet example.com 80%0aGET /index.html HTTP/1.1%0aHost: example.com%0a@]%0a%0aYou should a response similar to the one below:%0a%0a[@%0aHTTP/1.0 302 Found%0aDate: Tue, 23 Feb 2021 14:01:28 GMT%0aOpenBSD httpd%0aConnection: close%0aContent-Type: text/html%0aContent-Length: 486%0aLocation: https://example.com/index.html%0a%0a%3c!DOCTYPE html>%0a%3chtml> %0a%3chead>%0a%3cmeta charset="utf-8"> %0a%3ctitle>302 Found%3c/title>%0a%3cstyle type="text/css">%3c!--%0abody { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0ahr { border: 0; border-bottom: 1px dashed; }%0a@media (prefers-color-scheme: dark) {%0abody { background-color: #1E1F21; color: #EEEFF1; }%0aa { color: #BAD7FF; }%0a}%0a-->%3c/style>%0a%3c/head>%0a%3cbody>%0a%3ch1>302 Found%3c/h1>%0a%3chr>%0a%3caddress>OpenBSD httpd%3c/address>%0a%3c/body>%0a%3c/html>%0aConnection closed by foreign host.%0a@]%0a%0a!!! Troubleshooting%0a%0aIf you were unable to establish the connection above, it may be because your [[pf/guide|firewall]] is blocking port 80.%0a%0aYou can ensure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%0a[@%0apass in quick proto tcp to port {http https}%0a@]%0a%0aThen, reload the pf rulesets:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a!! Adding TLS%0a%0aNext, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. %0a%0aGo do that now, I'll wait...%0a%0aOnce you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a%0a[@%0a tls {%0a certificate "/etc/ssl/example.com.crt"%0a key "/etc/ssl/private/example.com.key"%0a }%0a@]%0a%0achange [@ /etc/ssl/example.com.crt @] and [@ /etc/ssl/private/example.com.key @] so that the certificate and key match the real location of your SSL cert.%0a%0aThen, restart the web server:%0a%0a[@%0a$ doas rcctl restart httpd%0a@]%0a%0aTo test if your web server has a working SSL cert, use [[openssl/http|openssl]]:%0a%0a[@%0a$ openssl s_client -connect example.com:443%0a@]%0a%0aYou should see the correct SSL subject and issuer:%0a%0a[@%0a$ openssl s_client -connect example.org:443%0aCONNECTED(00000003)%0adepth=2 O = Digital Signature Trust Co., CN = DST Root CA X3%0averify return:1%0adepth=1 C = US, O = Let's Encrypt, CN = R3%0averify return:1%0adepth=0 CN = example.com%0averify return:1%0adepth=0 CN = example.com%0averify return:1%0awrite W BLOCK%0a---%0aCertificate chain%0a 0 s:/CN=example.com%0a i:/C=US/O=Let's Encrypt/CN=R3%0a 1 s:/C=US/O=Let's Encrypt/CN=R3%0a i:/O=Digital Signature Trust Co./CN=DST Root CA X3%0a---%0aServer certificate%0a-----BEGIN CERTIFICATE-----%0a...%0a-----END CERTIFICATE-----%0asubject=/CN=example.com%0aissuer=/C=US/O=Let's Encrypt/CN=R3%0a---%0aNo client certificate CA names sent%0aServer Temp Key: ECDH, X25519, 253 bits%0a---%0aSSL handshake has read 3730 bytes and written 367 bytes%0a---%0aNew, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384%0aServer public key is 4096 bit%0aSecure Renegotiation IS NOT supported%0aCompression: NONE%0aExpansion: NONE%0aNo ALPN negotiated%0aSSL-Session:%0a Protocol : TLSv1.3%0a Cipher : AEAD-AES256-GCM-SHA384%0a Session-ID:%0a Session-ID-ctx:%0a Master-Key:%0a Start Time: 1614233943%0a Timeout : 7200 (sec)%0a Verify return code: 0 (ok)%0a---%0a@]%0a%0aYou can also visit the website using your web browser. Load your domain (e.g. [@ https://example.com @] ). While you are likely to see an error such as 403 Forbidden if you havent set up a website, look for the SSL padlock in the address bar (which indicates your site is secure), then view more information about the certificate:%0a%0aAttach:ssl-cert.png%0a +time=1639147446 +title=Basic OpenHTTPd Configuration +author:1639147446=jrmu +diff:1639147446:1626874065:=63c63%0a%3c certificate "/etc/ssl/example.com.crt"%0a---%0a> certificate "/etc/ssl/example.com.fullchain.pem"%0a163c163%0a%3c certificate "/etc/ssl/example.com.crt"%0a---%0a> certificate "/etc/ssl/example.com.fullchain.pem"%0a168c168%0a%3c change [@ /etc/ssl/example.com.crt @] and [@ /etc/ssl/private/example.com.key @] so that the certificate and key match the real location of your SSL cert.%0a---%0a> change [@ /etc/ssl/example.com.fullchain.pem @] and [@ /etc/ssl/private/example.com.key @] so that the certificate and key match the real location of your SSL cert.%0a +host:1639147446=38.87.162.8 +author:1626874065=mistera +diff:1626874065:1626787627:=233c233%0a%3c You can also visit the website using your web browser. Load your domain (e.g. [@ https://example.com @] ). While you are likely to see an error such as 403 Forbidden if you havent set up a website, look for the SSL padlock in the address bar (which indicates your site is secure), then view more information about the certificate:%0a---%0a> You can also visit the website using your web browser. Load your domain (e.g. [@ https://example.com @] ), then look for the SSL padlock, then view more information about the certificate:%0a +host:1626874065=204.111.39.57 +author:1626787627=mistera +diff:1626787627:1626783891:=5c5%0a%3c !! Overview%0a---%0a> !! Theory%0a +host:1626787627=204.111.39.57 +author:1626783891=mistera +diff:1626783891:1626702588:=168,169c168,169%0a%3c change [@ /etc/ssl/example.com.fullchain.pem @] and [@ /etc/ssl/private/example.com.key @] so that the certificate and key match the real location of your SSL cert.%0a%3c %0a---%0a> Edit these lines so that the certificate and key match the real location of your SSL cert.%0a> %0a233c233%0a%3c You can also visit the website using your web browser. Load your domain (e.g. [@ https://example.com @] ), then look for the SSL padlock, then view more information about the certificate:%0a---%0a> You can also visit the website using your web browser. Load https://example.com, then look for the SSL padlock, then view more information about the certificate:%0a +host:1626783891=204.111.39.57 +author:1626702588=mistera +diff:1626702588:1626702529:=87,88c87,88%0a%3c !! Starting the server%0a%3c %0a---%0a> !!! Starting the server%0a> %0a137c137%0a%3c !!! Troubleshooting%0a---%0a> !! Troubleshooting%0a +host:1626702588=204.111.39.57 +author:1626702529=mistera +diff:1626702529:1626700500:=24c24%0a%3c [@%0a---%0a> %25code%25[@%0a33,44c33,42%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a---%0a> [@server "example.com" {%0a> listen on * port 80%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> location * {%0a> block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a> }%0a> }%0a86,88d83%0a%3c %0a%3c !!! Starting the server%0a%3c %0a94d88%0a%3c !! Testing, testing%0a155,159c149%0a%3c Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. %0a%3c %0a%3c Go do that now, I'll wait...%0a%3c %0a%3c Once you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a---%0a> Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a +host:1626702529=204.111.39.57 +author:1626700500=mistera +diff:1626700500:1626700425:=0a1%0a> %0a20c21,23%0a%3c '''NOTE''': You must replace example.com with your own domain%0a---%0a> '''When you see %3ctext> it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a> %0a> Meaning, when you see [@ %3cexample.com> @] replace it with your web domain such as with user.host.ircnow.org. Completely remove the angle brackets! They are there to indicate that you should replace the text!%0a +host:1626700500=204.111.39.57 +author:1626700425=mistera +diff:1626700425:1626696883:=1d0%0a%3c %0a21,24c20,21%0a%3c '''When you see %3ctext> it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a%3c %0a%3c Meaning, when you see [@ %3cexample.com> @] replace it with your web domain such as with user.host.ircnow.org. Completely remove the angle brackets! They are there to indicate that you should replace the text!%0a%3c %0a---%0a> '''NOTE''': You must replace example.com with your own domain:%0a> %0a27c24%0a%3c %25code%25[@%0a---%0a> [@%0a32,36c29,34%0a%3c Edit [@ /etc/httpd.conf @]:%0a%3c %0a%3c !!! Server block #1%0a%3c %0a%3c [@server "example.com" {%0a---%0a> Edit [@/etc/httpd.conf@]:%0a> %0a> !!! The first server block%0a> %0a> [@%0a> server "example.com" {%0a48,55c46,53%0a%3c server: this block specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a%3c %0a%3c listen on: tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c location: (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c location: (Lines 7-9) indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%3c %0a---%0a> server (line 1): this specifies the hostname ([@example.com@]). Change [@example.com@] to your personal hostname, such as [@username.fruit.ircnow.org@]. On other web servers, this might be known as the '''virtual host'''. %0a> %0a> listen on (line 2): tells the web server to listen on all IPs on port 80.%0a> %0a> location (lines 3-6): is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a> location (lines 7-9): indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a> %0a58,59c56,57%0a%3c !!! Server block #2%0a%3c %0a---%0a> !!! The second server block%0a> %0a77,81c75,77%0a%3c This block is similar to before. Replace [@ example.com @].%0a%3c %0a%3c There are only two differences.%0a%3c %0a%3c Lines 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a---%0a> This block is similar to before. There are only two differences.%0a> %0a> Line 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a +host:1626700425=204.111.39.57 +author:1626696883=jrmu +diff:1626696883:1626696853:=46c46%0a%3c server (line 1): this specifies the hostname ([@example.com@]). Change [@example.com@] to your personal hostname, such as [@username.fruit.ircnow.org@]. On other web servers, this might be known as the '''virtual host'''. %0a---%0a> server (line 1): this specifies the hostname ([@example.com@])". Change [@example.com@] to your personal hostname, such as [@username.fruit.ircnow.org@]. On other web servers, this might be known as the '''virtual host'''. %0a +host:1626696883=198.251.81.119 +author:1626696853=jrmu +diff:1626696853:1626696752:=46c46%0a%3c server (line 1): this specifies the hostname ([@example.com@])". Change [@example.com@] to your personal hostname, such as [@username.fruit.ircnow.org@]. On other web servers, this might be known as the '''virtual host'''. %0a---%0a> server (line 1): this specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a +host:1626696853=198.251.81.119 +author:1626696752=jrmu +diff:1626696752:1626696585:=46,52c46,52%0a%3c server (line 1): this specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a%3c %0a%3c listen on (line 2): tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c location (lines 3-6): is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c location (lines 7-9): indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a---%0a> server: this block specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a> %0a> listen on: tells the web server to listen on all IPs on port 80.%0a> %0a> location: (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a> location: (Lines 7-9) indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a +host:1626696752=198.251.81.119 +author:1626696585=jrmu +diff:1626696585:1626696142:=20,21c20,21%0a%3c '''NOTE''': You must replace example.com with your own domain:%0a%3c %0a---%0a> '''When you see %3ctext> it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a> %0a29,30c29,30%0a%3c Edit [@/etc/httpd.conf@]:%0a%3c %0a---%0a> Edit [@ /etc/httpd.conf @]:%0a> %0a34c34%0a%3c server "example.com" {%0a---%0a> server "%3cexample.com>" {%0a +host:1626696585=198.251.81.119 +author:1626696142=mistera +diff:1626696142:1626695724:=31,32d30%0a%3c !!! The first server block%0a%3c %0a50,53c48,51%0a%3c location: (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c location: (Lines 7-9) indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%3c %0a---%0a> The location block (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a> Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a> %0a55,56d52%0a%3c %0a%3c !!! The second server block%0a +host:1626696142=204.111.39.57 +author:1626695724=mistera +diff:1626695724:1626695252:=20,21d19%0a%3c '''When you see %3ctext> it indicates that you must replace the text with something that fits your unique situation; do not just copy it in.'''%0a%3c %0a28,30c26,27%0a%3c %0a%3c Edit [@ /etc/httpd.conf @]:%0a%3c %0a---%0a> Edit the contents of [@ /etc/httpd.conf @]:%0a> %0a32c29%0a%3c server "%3cexample.com>" {%0a---%0a> server "example.com" {%0a44,46c41,43%0a%3c server: this block specifies the hostname ([@ example.com @])". Change [@ example.com @] to your personal hostname, such as [@ username.fruit.ircnow.org @]. On other web servers, this might be known as the '''virtual host'''. %0a%3c %0a%3c listen on: tells the web server to listen on all IPs on port 80.%0a---%0a> Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to your personal hostname, such as username.fruit.ircnow.org.%0a> %0a> Line 2 tells the web server to listen on all IPs on port 80.%0a +host:1626695724=204.111.39.57 +author:1626695252=mistera +diff:1626695252:1626695067:=26c26%0a%3c Edit the contents of [@ /etc/httpd.conf @]:%0a---%0a> Edit the contents of /etc/httpd.conf:%0a +host:1626695252=204.111.39.57 +author:1626695067=mistera +diff:1626695067:1614236130:=5,6d4%0a%3c !! Theory%0a%3c %0a14,15d11%0a%3c !! Docs and references%0a%3c %0a20c16%0a%3c Copy the example file in [@ /etc/examples/httpd.conf @]:%0a---%0a> Setting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a +host:1626695067=204.111.39.57 +author:1614236130=jrmu +diff:1614236130:1614235866:=44,45d43%0a%3c %0a%3c '''Note''': You must have a server block listening on port 80. Do not delete this block or else [[acme-client/configure|acme-client]] will not work.%0a +host:1614236130=198.251.81.119 +author:1614235866=jrmu +diff:1614235866:1614234303:=208,209d207%0a%3c %0a%3c You can also visit the website using your web browser. Load https://example.com, then look for the SSL padlock, then view more information about the certificate:%0a +host:1614235866=198.251.81.119 +author:1614234303=jrmu +diff:1614234303:1614234186:=172c172%0a%3c ---%0a---%0a> --- %0a182c182%0a%3c -----END CERTIFICATE-----%0a---%0a> -----END CERTIFICATE----- %0a184,204c184,204%0a%3c issuer=/C=US/O=Let's Encrypt/CN=R3%0a%3c ---%0a%3c No client certificate CA names sent%0a%3c Server Temp Key: ECDH, X25519, 253 bits%0a%3c ---%0a%3c SSL handshake has read 3730 bytes and written 367 bytes%0a%3c ---%0a%3c New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384%0a%3c Server public key is 4096 bit%0a%3c Secure Renegotiation IS NOT supported%0a%3c Compression: NONE%0a%3c Expansion: NONE%0a%3c No ALPN negotiated%0a%3c SSL-Session:%0a%3c Protocol : TLSv1.3%0a%3c Cipher : AEAD-AES256-GCM-SHA384%0a%3c Session-ID:%0a%3c Session-ID-ctx:%0a%3c Master-Key:%0a%3c Start Time: 1614233943%0a%3c Timeout : 7200 (sec)%0a---%0a> issuer=/C=US/O=Let's Encrypt/CN=R3 %0a> --- %0a> No client certificate CA names sent %0a> Server Temp Key: ECDH, X25519, 253 bits %0a> --- %0a> SSL handshake has read 3730 bytes and written 367 bytes %0a> --- %0a> New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384 %0a> Server public key is 4096 bit %0a> Secure Renegotiation IS NOT supported %0a> Compression: NONE %0a> Expansion: NONE %0a> No ALPN negotiated %0a> SSL-Session: %0a> Protocol : TLSv1.3 %0a> Cipher : AEAD-AES256-GCM-SHA384 %0a> Session-ID: %0a> Session-ID-ctx: %0a> Master-Key: %0a> Start Time: 1614233943 %0a> Timeout : 7200 (sec) %0a +host:1614234303=198.251.81.119 +author:1614234186=jrmu +diff:1614234186:1614093252:=161,182d160%0a%3c $ openssl s_client -connect example.org:443%0a%3c CONNECTED(00000003)%0a%3c depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3%0a%3c verify return:1%0a%3c depth=1 C = US, O = Let's Encrypt, CN = R3%0a%3c verify return:1%0a%3c depth=0 CN = example.com%0a%3c verify return:1%0a%3c depth=0 CN = example.com%0a%3c verify return:1%0a%3c write W BLOCK%0a%3c --- %0a%3c Certificate chain%0a%3c 0 s:/CN=example.com%0a%3c i:/C=US/O=Let's Encrypt/CN=R3%0a%3c 1 s:/C=US/O=Let's Encrypt/CN=R3%0a%3c i:/O=Digital Signature Trust Co./CN=DST Root CA X3%0a%3c ---%0a%3c Server certificate%0a%3c -----BEGIN CERTIFICATE-----%0a%3c ...%0a%3c -----END CERTIFICATE----- %0a184,206c162%0a%3c issuer=/C=US/O=Let's Encrypt/CN=R3 %0a%3c --- %0a%3c No client certificate CA names sent %0a%3c Server Temp Key: ECDH, X25519, 253 bits %0a%3c --- %0a%3c SSL handshake has read 3730 bytes and written 367 bytes %0a%3c --- %0a%3c New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384 %0a%3c Server public key is 4096 bit %0a%3c Secure Renegotiation IS NOT supported %0a%3c Compression: NONE %0a%3c Expansion: NONE %0a%3c No ALPN negotiated %0a%3c SSL-Session: %0a%3c Protocol : TLSv1.3 %0a%3c Cipher : AEAD-AES256-GCM-SHA384 %0a%3c Session-ID: %0a%3c Session-ID-ctx: %0a%3c Master-Key: %0a%3c Start Time: 1614233943 %0a%3c Timeout : 7200 (sec) %0a%3c Verify return code: 0 (ok)%0a%3c ---%0a---%0a> issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3%0a +host:1614234186=198.251.81.119 +author:1614093252=jrmu +diff:1614093252:1614092486:=165c165%0a%3c Attach:ssl-cert.png%0a---%0a> {{ :openbsd:www:ssl-cert.png?direct |}}%0a +host:1614093252=198.251.81.119 +author:1614092486=jrmu +diff:1614092486:1614092283:=135,136c135,136%0a%3c Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a%3c %0a---%0a> Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, restart the web server:%0a> %0a138,141c138%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a---%0a> $ doas rcctl restart httpd%0a144,147c141,142%0a%3c Edit these lines so that the certificate and key match the real location of your SSL cert.%0a%3c %0a%3c Then, restart the web server:%0a%3c %0a---%0a> To test if your web server is working and has a correct SSL cert, run:%0a> %0a149c144%0a%3c $ doas rcctl restart httpd%0a---%0a> $ openssl s_client -connect example.com:443%0a152,157d146%0a%3c To test if your web server has a working SSL cert, use [[openssl/http|openssl]]:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect example.com:443%0a%3c @]%0a%3c %0a160c149%0a%3c [@%0a---%0a> %3ccode>%0a163c152%0a%3c @]%0a---%0a> %3c/code>%0a +host:1614092486=198.251.81.119 +author:1614092283=jrmu +diff:1614092283:1614091285:=135,137c135,137%0a%3c Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, restart the web server:%0a%3c %0a%3c [@%0a---%0a> Next, let's request an SSL cert using [[acme-client/configure|acme-client]], then restart the web server:%0a> %0a> %3ccode>%0a139,140c139,140%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a143c143%0a%3c [@%0a---%0a> %3ccode>%0a145c145%0a%3c @]%0a---%0a> %3c/code>%0a +host:1614092283=198.251.81.119 +author:1614091285=jrmu +diff:1614091285:1614090263:=119,120c119,120%0a%3c If you were unable to establish the connection above, it may be because your [[pf/guide|firewall]] is blocking port 80.%0a%3c %0a---%0a> If you were unable to establish the connection above, it may be because your firewall is blocking port 80.%0a> %0a132,133d131%0a%3c %0a%3c !! Adding TLS%0a +host:1614091285=198.251.81.119 +author:1614090263=jrmu +diff:1614090263:1614090067:=117,132d116%0a%3c !! Troubleshooting%0a%3c %0a%3c If you were unable to establish the connection above, it may be because your firewall is blocking port 80.%0a%3c %0a%3c You can ensure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in quick proto tcp to port {http https}%0a%3c @]%0a%3c %0a%3c Then, reload the pf rulesets:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a152a137,150%0a> %0a> !! Troubleshooting%0a> %0a> Make sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a> %0a> [@%0a> pass in proto tcp to port {http https}%0a> @]%0a> %0a> Then, reload the pf rulesets:%0a> %0a> [@%0a> $ doas pfctl -f /etc/pf.conf%0a> @]%0a\ No newline at end of file%0a +host:1614090263=198.251.81.119 +author:1614090067=jrmu +diff:1614090067:1614089124:=92c92%0a%3c Location: https://example.com/index.html%0a---%0a> Location: https://ircnow.org/index.html%0a +host:1614090067=198.251.81.119 +author:1614089124=jrmu +diff:1614089124:1614077762:=75,76c75,76%0a%3c Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a%3c %0a---%0a> Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use netcat%0a> %0a78,80c78%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a---%0a> $%0a86,93d83%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://ircnow.org/index.html%0a%3c %0a95c85%0a%3c %3chtml> %0a---%0a> %3chtml>%0a97c87%0a%3c %3cmeta charset="utf-8"> %0a---%0a> %3cmeta http-equiv="Content-Type" content="text/html; charset=utf-8"/>%0a100c90,91%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a---%0a> body { background-color: white; color: black; font-family: 'Comic Sans%0a> MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a102,105c93%0a%3c @media (prefers-color-scheme: dark) {%0a%3c body { background-color: #1E1F21; color: #EEEFF1; }%0a%3c a { color: #BAD7FF; }%0a%3c }%0a---%0a> %0a114d101%0a%3c Connection closed by foreign host.%0a +host:1614089124=198.251.81.119 +author:1614077762=jrmu +diff:1614077762:1614077710:= +host:1614077762=198.251.81.119 +author:1614077710=jrmu +diff:1614077710:1614077287:=75,76c75,76%0a%3c Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use netcat%0a%3c %0a---%0a> Make sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a> %0a78c78%0a%3c $%0a---%0a> pass in proto tcp to port {http https}%0a81,82c81,82%0a%3c You should a response similar to the one below:%0a%3c %0a---%0a> Then, reload the pf rulesets:%0a> %0a83a84,96%0a> $ doas pfctl -f /etc/pf.conf%0a> @]%0a> %0a> At this point, you should test to see if the web server is working on port 80. This test should be run on some other computer besides the web server (your local workstation is fine). Make sure you have curl installed:%0a> %0a> [@%0a> $ doas pkg_add curl%0a> $ curl example.com%0a> @]%0a> %0a> You should a response similar to the one below:%0a> %0a> [@%0a104,105c117,118%0a%3c Next, let's request an SSL cert using [[acme-client/configure|acme-client]], then restart the web server:%0a%3c %0a---%0a> Now you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd/acme-client|acme-client]] instructions, then reset your web server:%0a> %0a123,137c136%0a%3c {{ :openbsd:www:ssl-cert.png?direct |}}%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Make sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in proto tcp to port {http https}%0a%3c @]%0a%3c %0a%3c Then, reload the pf rulesets:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a\ No newline at end of file%0a---%0a> {{ :openbsd:www:ssl-cert.png?direct |}}%0a\ No newline at end of file%0a +host:1614077710=198.251.81.119 +author:1614077287=jrmu +diff:1614077287:1614076897:=22,23c22,23%0a%3c Edit the contents of /etc/httpd.conf:%0a%3c %0a---%0a> Let's break down the contents of /etc/httpd.conf:%0a> %0a66,68c66,73%0a%3c Lines 7-9 say that for any request that begins with https://example.com/pub/ should automatically show a directory listing. Normally this is not a good idea for security reasons, but for a public folder it should be fine.%0a%3c %0a%3c Make sure to replace every instance of @@example.com@@ with your real hostname, then enable and start the web server:%0a---%0a> Lines 7-9 indicate that%0a> location "/pub/*" {%0a> directory auto index%0a> }%0a> %0a> You must replace example.com everywhere with your domain name.%0a> %0a> Simply enable and start the web server:%0a +host:1614077287=198.251.81.119 +author:1614076897=jrmu +diff:1614076897:1614076621:=43,44c43,44%0a%3c Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%3c %0a---%0a> Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, probably should be using TLS on port 443 instead.%0a> %0a62,69c62,64%0a%3c This block is similar to before. There are only two differences.%0a%3c %0a%3c Line 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a%3c %0a%3c Lines 7-9 indicate that%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a---%0a> This block is similar to before. It is for the hostname "example.com". The difference is the second line tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use.%0a> %0a> The location block on the third line says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually /var/www/acme/. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a +host:1614076897=198.251.81.119 +author:1614076621=jrmu +diff:1614076621:1614076414:=37,38c37,38%0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to your personal hostname, such as username.fruit.ircnow.org.%0a%3c %0a---%0a> Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to you%0a> %0a41,43c41,43%0a%3c The location block (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, probably should be using TLS on port 443 instead.%0a---%0a> The location block (lines 3-6) says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a> Lines 7-9 indicate that for all other requests, return a 302 forwarded%0a +host:1614076621=198.251.81.119 +author:1614076414=jrmu +diff:1614076414:1614076135:=37,45c37,42%0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to you%0a%3c %0a%3c Line 2 tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c The location block (lines 3-6) says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c Lines 7-9 indicate that for all other requests, return a 302 forwarded%0a%3c %0a%3c [@%0a---%0a> The first line says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''.%0a> %0a> The second line tells the web server to listen on all IPs on port 80.%0a> %0a> The location block on the third line says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually /var/www/acme/. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a61,64d57%0a%3c %0a%3c This block is similar to before. It is for the hostname "example.com". The difference is the second line tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use.%0a%3c %0a%3c The location block on the third line says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually /var/www/acme/. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a +host:1614076414=198.251.81.119 +author:1614076135=jrmu +diff:1614076135:1614075220:=41c41%0a%3c The location block on the third line says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually /var/www/acme/. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a---%0a> The third line says that for %0a +host:1614076135=198.251.81.119 +author:1614075220=jrmu +diff:1614075220:1614073808:=22,23c22,23%0a%3c Let's break down the contents of /etc/httpd.conf:%0a%3c %0a---%0a> Here is what /etc/httpd.conf contains:%0a> %0a35,41d34%0a%3c @]%0a%3c %0a%3c The first line says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''.%0a%3c %0a%3c The second line tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c The third line says that for %0a +host:1614075220=198.251.81.119 +author:1614073808=jrmu +diff:1614073808:1614073724:=10,12c10%0a%3c # Easy to configure with good manpage documentation%0a%3c %0a%3c You'll want to consult the [[https://man.openbsd.org/httpd|httpd]] and [[https://man.openbsd.org/httpd.conf|httpd.conf]] man pages.%0a---%0a> # Easy to configure with good documentation%0a +host:1614073808=198.251.81.119 +author:1614073724=jrmu +diff:1614073724:1614073670:=3,4c3,4%0a%3c [[https://bsd.plumbing/about.html|OpenHTTPd]] is a light-weight web server developed by the OpenBSD dev team.%0a%3c %0a---%0a> [[https://bsd.plumbing/about.html|OpenHTTPd]]] is a light-weight web server developed by the OpenBSD dev team.%0a> %0a7c7%0a%3c # Clean code%0a---%0a> # Clean: The code is beautiful%0a +host:1614073724=198.251.81.119 +author:1614073670=jrmu +diff:1614073670:1614073261:=2,12d1%0a%3c %0a%3c [[https://bsd.plumbing/about.html|OpenHTTPd]]] is a light-weight web server developed by the OpenBSD dev team.%0a%3c %0a%3c Pros:%0a%3c # Lean: Small, no plugins%0a%3c # Clean: The code is beautiful%0a%3c # Secure: Strict validity checking, privilege separation, strong cryptography%0a%3c # Fast%0a%3c # Easy to configure with good documentation%0a%3c %0a%3c !! Configuring%0a +host:1614073670=198.251.81.119 +author:1614073261=jrmu +diff:1614073261:1614073261:=1,109d0%0a%3c (:title Basic OpenHTTPd Configuration:)%0a%3c %0a%3c Setting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c Here is what /etc/httpd.conf contains:%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c %0a%3c server "example.com" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c You must replace example.com everywhere with your domain name.%0a%3c %0a%3c Simply enable and start the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable httpd%0a%3c $ doas rcctl start httpd%0a%3c @]%0a%3c %0a%3c Make sure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in proto tcp to port {http https}%0a%3c @]%0a%3c %0a%3c Then, reload the pf rulesets:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c At this point, you should test to see if the web server is working on port 80. This test should be run on some other computer besides the web server (your local workstation is fine). Make sure you have curl installed:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add curl%0a%3c $ curl example.com%0a%3c @]%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c [@%0a%3c %3c!DOCTYPE html>%0a%3c %3chtml>%0a%3c %3chead>%0a%3c %3cmeta http-equiv="Content-Type" content="text/html; charset=utf-8"/>%0a%3c %3ctitle>302 Found%3c/title>%0a%3c %3cstyle type="text/css">%3c!--%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans%0a%3c MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a%3c hr { border: 0; border-bottom: 1px dashed; }%0a%3c %0a%3c -->%3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>302 Found%3c/h1>%0a%3c %3chr>%0a%3c %3caddress>OpenBSD httpd%3c/address>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c @]%0a%3c %0a%3c Now you will almost certainly want openhttpd to use an SSL cert, so follow the [[openbsd/acme-client|acme-client]] instructions, then reset your web server:%0a%3c %0a%3c %3ccode>%0a%3c $ doas rcctl restart httpd%0a%3c %3c/code>%0a%3c %0a%3c To test if your web server is working and has a correct SSL cert, run:%0a%3c %0a%3c %3ccode>%0a%3c $ openssl s_client -connect example.com:443%0a%3c %3c/code>%0a%3c %0a%3c You should see the correct SSL subject and issuer:%0a%3c %0a%3c %3ccode>%0a%3c subject=/CN=example.com%0a%3c issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3%0a%3c %3c/code>%0a%3c %0a%3c {{ :openbsd:www:ssl-cert.png?direct |}}%0a\ No newline at end of file%0a +host:1614073261=198.251.81.119 blob - /dev/null blob + 9e71f20a0ea3bebd1b6f3ebaa38310da3d9ff2d7 (mode 644) --- /dev/null +++ wiki.d/Openhttpd.Hosting @@ -0,0 +1,73 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614427720 +host=198.251.81.119 +name=Openhttpd.Hosting +rev=20 +targets=Openhttpd.Configure,Acme-client.Configure,Relayd.Acceleration,Telnet.Http,Pf.Guide +text=(:title Hosting OpenHTTPd:)%0a%0a!! Goal%0a%0aThis is a guide for providing web hosting for multiple users. This setup will support multiple, custom domain names. Afterwards, we will use relayd to provide TLS encryption.%0a%0aThis guide assumes you have read the [[openhttpd/configure|basic openhttpd configuration]] guide. This is a slightly more advanced setup.%0a%0a!! Configuration%0a%0aFor each user we want to support, we must add two blocks to [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]]. Here's the first block:%0a%0a[@%0aserver "example.com" {%0a alias "www.example.com"%0a listen on * port 80%0a root "/htdocs/example.com/"%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a@]%0a%0aLine 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. For each extra domain name, add a new alias line. If he does not have an alternative name, you can delete the @@alias "www.example.com"@@ line.%0a%0aLine 3 tells the web server to listen on all IPs on port 80.%0a%0aLine 4 tells us that the root directory for all web documents are in @@/var/www/htdocs/example.com/@@. A request to @@https://example.com/webpage.html@@ would reply with the file in @@/var/www/htdocs/example.com/webpage.html@@.%0a%0aLines 5-8 (the location block) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with @@http://example.com/.well-known/acme-challenge/@@, look for the documents in the new root /acme. By default, openhttpd chroots to @@/var/www@@, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%0aLines 8-10 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%0a'''Note''': You must have a server block listening on port 80. Do not delete this block or else [[acme-client/configure|acme-client]] will not work.%0a%0a'''Note''': Unlike in /etc/examples/httpd.conf, we will not automatically redirect to port 443. This is because some web browsers do not support TLS, and we do not want to break backwards compatibility.%0a%0aNotice that we do not add any blocks with TLS. TLS will be provided by [[relayd/acceleration|relayd]].%0a%0a!! Creating Web Files%0a%0aNext, we'll create a directory for each web folder, and a symbolic link in each user's home folder that points to that web folder:%0a%0a[@%0a$ doas mkdir -p /var/www/htdocs/example.com/%0a$ doas ln -s /var/www/htdocs/example.com/ /home/username/htdocs%0a$ doas chown -R username:daemon /var/www/htdocs/example.com/%0a@]%0a%0aMake sure to replace @@username@@ with the user's actual username, and @@example.com@@ with his actual domain.%0a%0aFrom now on, users will be able to create new web files by putting them in @@~/htdocs/@@. For your test below, you may want to create the file @@/home/username/htdocs/index.html@@.%0a%0a!! Start the Server and Test%0a%0aEnable and restart the web server:%0a%0a[@%0a$ doas rcctl enable httpd%0a$ doas rcctl restart httpd%0a@]%0a%0a!!! Testing Port 80%0a%0aLet's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a%0a[@%0a$ telnet example.com 80%0aGET /index.html HTTP/1.1%0aHost: example.com%0a@]%0a%0aYou should a response similar to the one below:%0a%0a[@%0aHTTP/1.1 200 OK%0aConnection: keep-alive%0aContent-Length: 34%0aContent-Type: text/html%0aDate: Sun, 28 Feb 2021 02:07:55 GMT%0aLast-Modified: Sat, 27 Feb 2021 10:22:27 GMT%0aServer: OpenBSD httpd%0a@]%0a%0a!!! Troubleshooting%0a%0aIf you were unable to establish the connection above, it may be because your [[pf/guide|firewall]] is blocking port 80.%0a%0aYou can ensure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%0a[@%0apass in quick proto tcp to port {http https}%0a@]%0a%0aThen, reload the pf rulesets:%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a!! Adding TLS%0a%0aNext, you'll want to request an SSL cert using [[acme-client/configure|acme-client]] for each domain the user requested.%0a%0a!! TLS Acceleration%0a%0aFinally, you'll want to configure [[relayd/acceleration|relayd]] for TLS acceleration.%0a%0a!! Troubleshooting%0a%0aTo check for any configuration errors, run:%0a%0a[@%0a$ doas httpd -n%0a@]%0a%0aAt any time, you can run openhttpd in debug mode:%0a%0a[@%0a$ doas httpd -dvv%0a@] +time=1614478150 +title=Hosting OpenHTTPd +author:1614478150=jrmu +diff:1614478150:1614478104:= +host:1614478150=198.251.81.119 +author:1614478104=jrmu +diff:1614478104:1614477735:=77,79c77,80%0a%3c HTTP/1.1 200 OK%0a%3c Connection: keep-alive%0a%3c Content-Length: 34%0a---%0a> HTTP/1.0 302 Found%0a> Date: Tue, 23 Feb 2021 14:01:28 GMT%0a> OpenBSD httpd%0a> Connection: close%0a81,83c82,105%0a%3c Date: Sun, 28 Feb 2021 02:07:55 GMT%0a%3c Last-Modified: Sat, 27 Feb 2021 10:22:27 GMT%0a%3c Server: OpenBSD httpd%0a---%0a> Content-Length: 486%0a> Location: https://example.com/index.html%0a> %0a> %3c!DOCTYPE html>%0a> %3chtml> %0a> %3chead>%0a> %3cmeta charset="utf-8"> %0a> %3ctitle>302 Found%3c/title>%0a> %3cstyle type="text/css">%3c!--%0a> body { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a> hr { border: 0; border-bottom: 1px dashed; }%0a> @media (prefers-color-scheme: dark) {%0a> body { background-color: #1E1F21; color: #EEEFF1; }%0a> a { color: #BAD7FF; }%0a> }%0a> -->%3c/style>%0a> %3c/head>%0a> %3cbody>%0a> %3ch1>302 Found%3c/h1>%0a> %3chr>%0a> %3caddress>OpenBSD httpd%3c/address>%0a> %3c/body>%0a> %3c/html>%0a> Connection closed by foreign host.%0a100a123,134%0a> %0a> !!! Testing Port 8001%0a> %0a> Next, on the server itself, run the test again using telnet:%0a> %0a> [@%0a> $ telnet 127.0.0.1 8001%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a> @]%0a> %0a> This test must be run on the server.%0a +host:1614478104=198.251.81.119 +author:1614477735=jrmu +diff:1614477735:1614477704:= +host:1614477735=198.251.81.119 +author:1614477704=jrmu +diff:1614477704:1614477694:= +host:1614477704=198.251.81.119 +author:1614477694=jrmu +diff:1614477694:1614447112:=17d16%0a%3c root "/htdocs/example.com/"%0a21a21,23%0a> location * {%0a> block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a> }%0a29,32c31,32%0a%3c Line 4 tells us that the root directory for all web documents are in @@/var/www/htdocs/example.com/@@. A request to @@https://example.com/webpage.html@@ would reply with the file in @@/var/www/htdocs/example.com/webpage.html@@.%0a%3c %0a%3c Lines 5-8 (the location block) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with @@http://example.com/.well-known/acme-challenge/@@, look for the documents in the new root /acme. By default, openhttpd chroots to @@/var/www@@, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a---%0a> The location block (lines 4-7) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with @@http://example.com/.well-known/acme-challenge/@@, look for the documents in the new root /acme. By default, openhttpd chroots to @@/var/www@@, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a37,39c37,57%0a%3c '''Note''': Unlike in /etc/examples/httpd.conf, we will not automatically redirect to port 443. This is because some web browsers do not support TLS, and we do not want to break backwards compatibility.%0a%3c %0a%3c Notice that we do not add any blocks with TLS. TLS will be provided by [[relayd/acceleration|relayd]].%0a---%0a> We then add a second block to /etc/httpd.conf:%0a> %0a> [@%0a> server "example.com" {%0a> alias "www.example.com"%0a> listen on * port 8001%0a> root "/htdocs/example.com/"%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> }%0a> @]%0a> %0a> This block is similar to before. There are only two differences.%0a> %0a> Line 3 tells the web server to listen on port 8001. There is nothing special about port 8001; it is an arbitrary port we chose. Users will not connect directly to port 8001. Instead, relayd will accept connections on port 443, the standard HTTPS port, then forward to port 8001.%0a> %0a> Line 4 tells us that the root directory for all web documents are in @@/var/www/htdocs/example.com/@@. A request to @@https://example.com/webpage.html@@ would reply with the file in @@/var/www/htdocs/example.com/webpage.html@@.%0a> %0a> Notice that none of our blocks use TLS. TLS will be provided by relayd.%0a +host:1614477694=198.251.81.119 +author:1614447112=jrmu +diff:1614447112:1614444424:=160,174c160%0a%3c Finally, you'll want to configure [[relayd/acceleration|relayd]] for TLS acceleration.%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c To check for any configuration errors, run:%0a%3c %0a%3c [@%0a%3c $ doas httpd -n%0a%3c @]%0a%3c %0a%3c At any time, you can run openhttpd in debug mode:%0a%3c %0a%3c [@%0a%3c $ doas httpd -dvv%0a%3c @]%0a\ No newline at end of file%0a---%0a> Finally, you'll want to configure [[relayd/acceleration|relayd]] for TLS acceleration.%0a\ No newline at end of file%0a +host:1614447112=198.251.81.119 +author:1614444424=jrmu +diff:1614444424:1614443455:=6,7d5%0a%3c %0a%3c This guide assumes you have read the [[openhttpd/configure|basic openhttpd configuration]] guide. This is a slightly more advanced setup.%0a +host:1614444424=198.251.81.119 +author:1614443455=jrmu +diff:1614443455:1614443341:=145c145%0a%3c $ telnet 127.0.0.1 8001%0a---%0a> $ telnet example.com 8001%0a150,151c150,151%0a%3c This test must be run on the server.%0a%3c %0a---%0a> This test must be run on the server because port 8001 may be blocked by a firewall.%0a> %0a155,156d154%0a%3c %0a%3c !! TLS Acceleration%0a +host:1614443455=198.251.81.119 +author:1614443341=jrmu +diff:1614443341:1614443260:=69c69%0a%3c From now on, users will be able to create new web files by putting them in @@~/htdocs/@@. For your test below, you may want to create the file @@/home/username/htdocs/index.html@@.%0a---%0a> From now on, users will be able to create new web files by putting them in @@~/htdocs/@@.%0a +host:1614443341=198.251.81.119 +author:1614443260=jrmu +diff:1614443260:1614441966:=63d62%0a%3c $ doas ln -s /var/www/htdocs/example.com/ /home/username/htdocs%0a64a64%0a> $ doas ln -s /var/www/htdocs/example.com/ /home/username/htdocs%0a +host:1614443260=198.251.81.119 +author:1614441966=jrmu +diff:1614441966:1614441869:=25c25%0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. For each extra domain name, add a new alias line. If he does not have an alternative name, you can delete the @@alias "www.example.com"@@ line.%0a---%0a> Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. For each extra domain name, add a new alias line. If he does not, you can delete the @@alias "www.example.com"@@ line.%0a +host:1614441966=198.251.81.119 +author:1614441869=jrmu +diff:1614441869:1614441425:=9c9%0a%3c For each user we want to support, we must add two blocks to [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]]. Here's the first block:%0a---%0a> We add one block to [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]]:%0a +host:1614441869=198.251.81.119 +author:1614441425=jrmu +diff:1614441425:1614441345:=156c156,221%0a%3c Finally, you'll want to configure [[relayd/acceleration|relayd]] for TLS acceleration.%0a\ No newline at end of file%0a---%0a> Then, restart the web server:%0a> %0a> [@%0a> $ doas rcctl restart httpd%0a> @]%0a> %0a> To test if your web server has a working SSL cert, use [[openssl/http|openssl]]:%0a> %0a> [@%0a> $ openssl s_client -connect example.com:443%0a> @]%0a> %0a> You should see the correct SSL subject and issuer:%0a> %0a> [@%0a> $ openssl s_client -connect example.org:443%0a> CONNECTED(00000003)%0a> depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3%0a> verify return:1%0a> depth=1 C = US, O = Let's Encrypt, CN = R3%0a> verify return:1%0a> depth=0 CN = example.com%0a> verify return:1%0a> depth=0 CN = example.com%0a> verify return:1%0a> write W BLOCK%0a> ---%0a> Certificate chain%0a> 0 s:/CN=example.com%0a> i:/C=US/O=Let's Encrypt/CN=R3%0a> 1 s:/C=US/O=Let's Encrypt/CN=R3%0a> i:/O=Digital Signature Trust Co./CN=DST Root CA X3%0a> ---%0a> Server certificate%0a> -----BEGIN CERTIFICATE-----%0a> ...%0a> -----END CERTIFICATE-----%0a> subject=/CN=example.com%0a> issuer=/C=US/O=Let's Encrypt/CN=R3%0a> ---%0a> No client certificate CA names sent%0a> Server Temp Key: ECDH, X25519, 253 bits%0a> ---%0a> SSL handshake has read 3730 bytes and written 367 bytes%0a> ---%0a> New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384%0a> Server public key is 4096 bit%0a> Secure Renegotiation IS NOT supported%0a> Compression: NONE%0a> Expansion: NONE%0a> No ALPN negotiated%0a> SSL-Session:%0a> Protocol : TLSv1.3%0a> Cipher : AEAD-AES256-GCM-SHA384%0a> Session-ID:%0a> Session-ID-ctx:%0a> Master-Key:%0a> Start Time: 1614233943%0a> Timeout : 7200 (sec)%0a> Verify return code: 0 (ok)%0a> ---%0a> @]%0a> %0a> You can also visit the website using your web browser. Load https://example.com, then look for the SSL padlock, then view more information about the certificate:%0a> %0a> Attach:ssl-cert.png%0a +host:1614441425=198.251.81.119 +author:1614441345=jrmu +diff:1614441345:1614439833:=80,81d79%0a%3c !!! Testing Port 80%0a%3c %0a124,125c122,123%0a%3c !!! Troubleshooting%0a%3c %0a---%0a> !! Troubleshooting%0a> %0a140,141c138,139%0a%3c !!! Testing Port 8001%0a%3c %0a---%0a> !! Testing Port 8001%0a> %0a221c219%0a%3c Attach:ssl-cert.png%0a---%0a> Attach:ssl-cert.png%0a\ No newline at end of file%0a +host:1614441345=198.251.81.119 +author:1614439833=jrmu +diff:1614439833:1614439264:=25,26c25,26%0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. For each extra domain name, add a new alias line. If he does not, you can delete the @@alias "www.example.com"@@ line.%0a%3c %0a---%0a> Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. If he does not, you can delete the @@alias "www.example.com"@@ line.%0a> %0a57,60c57,62%0a%3c !! Creating Web Files%0a%3c %0a%3c Next, we'll create a directory for each web folder, and a symbolic link in each user's home folder that points to that web folder:%0a%3c %0a---%0a> %0a> %0a> !! Start the Server and Test%0a> %0a> Enable and start the web server:%0a> %0a62,64c64,65%0a%3c $ doas mkdir -p /var/www/htdocs/example.com/%0a%3c $ doas chown -R username:daemon /var/www/htdocs/example.com/%0a%3c $ doas ln -s /var/www/htdocs/example.com/ /home/username/htdocs%0a---%0a> $ doas rcctl enable httpd%0a> $ doas rcctl start httpd%0a67,74c68,69%0a%3c Make sure to replace @@username@@ with the user's actual username, and @@example.com@@ with his actual domain.%0a%3c %0a%3c From now on, users will be able to create new web files by putting them in @@~/htdocs/@@.%0a%3c %0a%3c !! Start the Server and Test%0a%3c %0a%3c Enable and restart the web server:%0a%3c %0a---%0a> Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a> %0a76,77c71,73%0a%3c $ doas rcctl enable httpd%0a%3c $ doas rcctl restart httpd%0a---%0a> $ telnet example.com 80%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a80,81c76,77%0a%3c Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a%3c %0a---%0a> You should a response similar to the one below:%0a> %0a83,90d78%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a%3c @]%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c [@%0a138,141c126,129%0a%3c !! Testing Port 8001%0a%3c %0a%3c Next, on the server itself, run the test again using telnet:%0a%3c %0a---%0a> !! Adding TLS%0a> %0a> Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a> %0a143,145c131,134%0a%3c $ telnet example.com 8001%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a---%0a> tls {%0a> certificate "/etc/ssl/example.com.fullchain.pem"%0a> key "/etc/ssl/private/example.com.key"%0a> }%0a148,152c137%0a%3c This test must be run on the server because port 8001 may be blocked by a firewall.%0a%3c %0a%3c !! Adding TLS%0a%3c %0a%3c Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]] for each domain the user requested.%0a---%0a> Edit these lines so that the certificate and key match the real location of your SSL cert.%0a +host:1614439833=198.251.81.119 +author:1614439264=jrmu +diff:1614439264:1614431977:=56,57d55%0a%3c %0a%3c %0a +host:1614439264=198.251.81.119 +author:1614431977=jrmu +diff:1614431977:1614428640:=39,44c39,42%0a%3c alias "www.example.com"%0a%3c listen on * port 8001%0a%3c root "/htdocs/example.com/"%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a---%0a> listen on * tls port 443%0a> tls {%0a> certificate "/etc/ssl/example.com.fullchain.pem"%0a> key "/etc/ssl/private/example.com.key"%0a45a44,50%0a> location "/pub/*" {%0a> directory auto index%0a> }%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a51,59c56,60%0a%3c Line 3 tells the web server to listen on port 8001. There is nothing special about port 8001; it is an arbitrary port we chose. Users will not connect directly to port 8001. Instead, relayd will accept connections on port 443, the standard HTTPS port, then forward to port 8001.%0a%3c %0a%3c Line 4 tells us that the root directory for all web documents are in @@/var/www/htdocs/example.com/@@. A request to @@https://example.com/webpage.html@@ would reply with the file in @@/var/www/htdocs/example.com/webpage.html@@.%0a%3c %0a%3c Notice that none of our blocks use TLS. TLS will be provided by relayd.%0a%3c %0a%3c !! Start the Server and Test%0a%3c %0a%3c Enable and start the web server:%0a---%0a> Line 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a> %0a> Lines 7-9 say that for any request that begins with https://example.com/pub/ should automatically show a directory listing. Normally this is not a good idea for security reasons, but for a public folder it should be fine.%0a> %0a> Make sure to replace every instance of @@example.com@@ with your real hostname, then enable and start the web server:%0a +host:1614431977=198.251.81.119 +author:1614428640=jrmu +diff:1614428640:1614428198:=9,10c9,10%0a%3c We add one block to [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]]:%0a%3c %0a---%0a> If [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]] '''already''' exists, skip this step. Otherwise, start by copying the example file in /etc/examples/httpd.conf:%0a> %0a11a12,17%0a> $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a> @]%0a> %0a> Next, edit the contents of /etc/httpd.conf:%0a> %0a> [@%0a13d18%0a%3c alias "www.example.com"%0a25,32c30,37%0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. Replace this with the domain that your user signed up for, such as @@username.fruit.ircnow.org@@. Your user can also custom request a domain. If your user has an alternative domain name he wishes to use, replace @@www.example.com@@ with that name. If he does not, you can delete the @@alias "www.example.com"@@ line.%0a%3c %0a%3c Line 3 tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c The location block (lines 4-7) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with @@http://example.com/.well-known/acme-challenge/@@, look for the documents in the new root /acme. By default, openhttpd chroots to @@/var/www@@, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c Lines 8-10 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%3c %0a---%0a> Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to your personal hostname, such as username.fruit.ircnow.org.%0a> %0a> Line 2 tells the web server to listen on all IPs on port 80.%0a> %0a> The location block (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a> %0a> Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a> %0a34,35d38%0a%3c %0a%3c We then add a second block to /etc/httpd.conf:%0a +host:1614428640=198.251.81.119 +author:1614428198=jrmu +diff:1614428198:1614427720:=1,10c1,17%0a%3c (:title Hosting OpenHTTPd:)%0a%3c %0a%3c !! Goal%0a%3c %0a%3c This is a guide for providing web hosting for multiple users. This setup will support multiple, custom domain names. Afterwards, we will use relayd to provide TLS encryption.%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c If [[https://man.openbsd.org/httpd.conf|/etc/httpd.conf]] '''already''' exists, skip this step. Otherwise, start by copying the example file in /etc/examples/httpd.conf:%0a%3c %0a---%0a> (:title Basic OpenHTTPd Configuration:)%0a> %0a> [[https://bsd.plumbing/about.html|OpenHTTPd]] is a light-weight web server developed by the OpenBSD dev team.%0a> %0a> Pros:%0a> # Lean: Small, no plugins%0a> # Clean code%0a> # Secure: Strict validity checking, privilege separation, strong cryptography%0a> # Fast%0a> # Easy to configure with good manpage documentation%0a> %0a> You'll want to consult the [[https://man.openbsd.org/httpd|httpd]] and [[https://man.openbsd.org/httpd.conf|httpd.conf]] man pages.%0a> %0a> !! Configuring%0a> %0a> Setting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a> %0a15c22%0a%3c Next, edit the contents of /etc/httpd.conf:%0a---%0a> Edit the contents of /etc/httpd.conf:%0a +host:1614428198=198.251.81.119 +author:1614427720=jrmu +diff:1614427720:1614427720:=1,213d0%0a%3c (:title Basic OpenHTTPd Configuration:)%0a%3c %0a%3c [[https://bsd.plumbing/about.html|OpenHTTPd]] is a light-weight web server developed by the OpenBSD dev team.%0a%3c %0a%3c Pros:%0a%3c # Lean: Small, no plugins%0a%3c # Clean code%0a%3c # Secure: Strict validity checking, privilege separation, strong cryptography%0a%3c # Fast%0a%3c # Easy to configure with good manpage documentation%0a%3c %0a%3c You'll want to consult the [[https://man.openbsd.org/httpd|httpd]] and [[https://man.openbsd.org/httpd.conf|httpd.conf]] man pages.%0a%3c %0a%3c !! Configuring%0a%3c %0a%3c Setting up OpenBSD's default web server, openhttpd, is relatively simple. Start off by copying the example file in /etc/examples/httpd.conf:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/httpd.conf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c Edit the contents of /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Line 1 says that this block is for the hostname "example.com". On other web servers, this might be known as the '''virtual host'''. You will want to change the domain to your personal hostname, such as username.fruit.ircnow.org.%0a%3c %0a%3c Line 2 tells the web server to listen on all IPs on port 80.%0a%3c %0a%3c The location block (lines 3-6) is used for requesting certificates using [[acme-client/configure|ACME]]. It says that for any request that begins with http://example.com/.well-known/acme-challenge/, look for the documents in the new root /acme. By default, openhttpd chroots to /var/www, so the document root is actually @@/var/www/acme/@@. The directive @@request strip 2@@ is needed so that openhttpd searches in @@/var/www/acme/@@ and not @@/var/www/acme/.well-known/acme-challenge/@@.%0a%3c %0a%3c Lines 7-9 indicate that for all other requests, use the HTTP 302 response to forward the web browser to a new URL address. Any user that connects to your web server using port 80, except for [[acme-client/configure|ACME]] verification, will be forwarded to use TLS on port 443 instead.%0a%3c %0a%3c '''Note''': You must have a server block listening on port 80. Do not delete this block or else [[acme-client/configure|acme-client]] will not work.%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c This block is similar to before. There are only two differences.%0a%3c %0a%3c Line 2-6 tells the web server to listen on all IPs on port 443. As a result, we need a tls block to specify which SSL certs to use. Later, after you run [[acme-client/configure|acme-client]], you will need to change the certificate and key to match your real files.%0a%3c %0a%3c Lines 7-9 say that for any request that begins with https://example.com/pub/ should automatically show a directory listing. Normally this is not a good idea for security reasons, but for a public folder it should be fine.%0a%3c %0a%3c Make sure to replace every instance of @@example.com@@ with your real hostname, then enable and start the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable httpd%0a%3c $ doas rcctl start httpd%0a%3c @]%0a%3c %0a%3c Let's test to see if the web server is working on port 80. This test should be run on some other computer besides your web server (your home PC or phone is fine). Let's use [[telnet/http|telnet]]:%0a%3c %0a%3c [@%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a%3c @]%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c [@%0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://example.com/index.html%0a%3c %0a%3c %3c!DOCTYPE html>%0a%3c %3chtml> %0a%3c %3chead>%0a%3c %3cmeta charset="utf-8"> %0a%3c %3ctitle>302 Found%3c/title>%0a%3c %3cstyle type="text/css">%3c!--%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a%3c hr { border: 0; border-bottom: 1px dashed; }%0a%3c @media (prefers-color-scheme: dark) {%0a%3c body { background-color: #1E1F21; color: #EEEFF1; }%0a%3c a { color: #BAD7FF; }%0a%3c }%0a%3c -->%3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>302 Found%3c/h1>%0a%3c %3chr>%0a%3c %3caddress>OpenBSD httpd%3c/address>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c Connection closed by foreign host.%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If you were unable to establish the connection above, it may be because your [[pf/guide|firewall]] is blocking port 80.%0a%3c %0a%3c You can ensure pf allows incoming http connections by putting this line into /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in quick proto tcp to port {http https}%0a%3c @]%0a%3c %0a%3c Then, reload the pf rulesets:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c !! Adding TLS%0a%3c %0a%3c Next, you'll want to request an SSL cert using [[acme-client/configure|acme-client]]. Once you have a valid SSL cert, you'll want to open up /etc/httpd.conf and look for the tls block:%0a%3c %0a%3c [@%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c @]%0a%3c %0a%3c Edit these lines so that the certificate and key match the real location of your SSL cert.%0a%3c %0a%3c Then, restart the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c To test if your web server has a working SSL cert, use [[openssl/http|openssl]]:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect example.com:443%0a%3c @]%0a%3c %0a%3c You should see the correct SSL subject and issuer:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect example.org:443%0a%3c CONNECTED(00000003)%0a%3c depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3%0a%3c verify return:1%0a%3c depth=1 C = US, O = Let's Encrypt, CN = R3%0a%3c verify return:1%0a%3c depth=0 CN = example.com%0a%3c verify return:1%0a%3c depth=0 CN = example.com%0a%3c verify return:1%0a%3c write W BLOCK%0a%3c ---%0a%3c Certificate chain%0a%3c 0 s:/CN=example.com%0a%3c i:/C=US/O=Let's Encrypt/CN=R3%0a%3c 1 s:/C=US/O=Let's Encrypt/CN=R3%0a%3c i:/O=Digital Signature Trust Co./CN=DST Root CA X3%0a%3c ---%0a%3c Server certificate%0a%3c -----BEGIN CERTIFICATE-----%0a%3c ...%0a%3c -----END CERTIFICATE-----%0a%3c subject=/CN=example.com%0a%3c issuer=/C=US/O=Let's Encrypt/CN=R3%0a%3c ---%0a%3c No client certificate CA names sent%0a%3c Server Temp Key: ECDH, X25519, 253 bits%0a%3c ---%0a%3c SSL handshake has read 3730 bytes and written 367 bytes%0a%3c ---%0a%3c New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384%0a%3c Server public key is 4096 bit%0a%3c Secure Renegotiation IS NOT supported%0a%3c Compression: NONE%0a%3c Expansion: NONE%0a%3c No ALPN negotiated%0a%3c SSL-Session:%0a%3c Protocol : TLSv1.3%0a%3c Cipher : AEAD-AES256-GCM-SHA384%0a%3c Session-ID:%0a%3c Session-ID-ctx:%0a%3c Master-Key:%0a%3c Start Time: 1614233943%0a%3c Timeout : 7200 (sec)%0a%3c Verify return code: 0 (ok)%0a%3c ---%0a%3c @]%0a%3c %0a%3c You can also visit the website using your web browser. Load https://example.com, then look for the SSL padlock, then view more information about the certificate:%0a%3c %0a%3c Attach:ssl-cert.png%0a\ No newline at end of file%0a +host:1614427720=198.251.81.119 blob - /dev/null blob + f7b4b7204372aa77014b49723659a88649ac3c8c (mode 644) --- /dev/null +++ wiki.d/Openhttpd.Perl @@ -0,0 +1,57 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1613835047 +host=38.87.162.47 +name=Openhttpd.Perl +rev=15 +targets= +text=In /etc/httpd.conf:%0a%0a[@%0aserver "www.example.com" {%0a listen on * port 80%0a root "/htdocs/perl"%0a location "*.pl" { %0a fastcgi%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a@]%0a%0aTo figure out what files need to be copied into the chroot:%0a%0a$ ldd /usr/bin/perl %0a/usr/bin/perl:%0a Start End Type Open Ref GrpRef Name%0a 0000022622dc8000 0000022622dcd000 exe 1 0 0 /usr/bin/perl%0a 000002285bdc7000 000002285c133000 rlib 0 1 0 /usr/lib/libperl.so.20.0%0a 00000228c7de6000 00000228c7e16000 rlib 0 2 0 /usr/lib/libm.so.10.1%0a 000002282f00d000 000002282f101000 rlib 0 2 0 /usr/lib/libc.so.96.0%0a 0000022914fb2000 0000022914fb2000 ld.so 0 1 0 /usr/libexec/ld.so%0a%0a%0aSo I start with this initial guess to build the chroot. I run the following as root:%0a%0a[@%0amkdir -p /var/www/usr/{bin,lib,libexec}%0acp /usr/bin/perl /var/www/usr/bin/%0acp -p /usr/lib/lib{c,m,perl}.so* /var/www/usr/lib/%0acp /usr/libexec/ld.so /var/www/usr/libexec/%0a@]%0a%0aWe need to turn on slowcgi:%0a%0a[@%0a$ doas rcctl enable slowcgi%0a$ doas rcctl start slowcgi%0a@]%0a%0aThen we run:%0a%0a$ doas chroot -u www -g daemon /var/www perl%0a%0aI test some random gibberish to make sure perl works inside the chroot:%0a%0a[@%0aprint "shibboleth";%0a@]%0a%0aThen ctrl+d to escape; and since it echoes @@shibboleth@@, it works.%0a%0aNext, I create the directory to hold perl scripts:%0a%0a[@%0amkdir -p /var/www/htdocs/perl/%0a@]%0a%0aNow I put an index.pl in /var/www/htdocs/perl/ just to see if the web server loads it:%0a%0a[@%0a#!/usr/bin/perl -w%0ause strict;%0aprint "Content-Type:text/html\n\n";%0aprint "This is the index file for www.example.com\n";%0a@]%0a%0aMake sure to set the proper permissions:%0a%0a[@%0a$ doas chown -R www:daemon /var/www/htdocs/perl/%0a$ doas chmod +x /var/www/htdocs/perl/index.pl%0a@]%0a%0aAt this point I try running this command:%0a%0a[@%0a$ curl example.com/index.pl%0a@]%0a%0aI get a 500 Internal Error, which means perl is not able to execute properly.%0a%0aSo I search for missing perl libraries:%0a%0a[@%0a$ doas find / -iname '*perl*'%0a@]%0a%0aThe interesting one is the folder /usr/libdata/perl5 . We definitely need these libraries, so I update my script for creating the chroot:%0a%0a[@%0amkdir -p /var/www/usr/{bin,lib,libexec,libdata}%0acp /usr/bin/perl /var/www/usr/bin/%0acp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* /var/www/usr/lib/%0acp /usr/libexec/ld.so /var/www/usr/libexec/%0acp -R /usr/libdata/perl5 /var/www/usr/libdata/%0amkdir -p /var/www/{tmp,dev}%0achown www:daemon /var/www/tmp%0atouch /var/www/dev/null%0a@]%0a +time=1634227713 +author:1634227713=jrmu +diff:1634227713:1634227679:=82c82%0a%3c $ curl example.com/index.pl%0a---%0a> $ curl example.ircnow.org:8080/index.pl%0a +host:1634227713=38.87.162.47 +author:1634227679=jrmu +diff:1634227679:1634227443:=4c4%0a%3c server "www.example.com" {%0a---%0a> server "example.ircnow.org" {%0a69c69%0a%3c print "This is the index file for www.example.com\n";%0a---%0a> print "This is the index file for perl.oddprotocol.cf\n";%0a +host:1634227679=38.87.162.47 +author:1634227443=jrmu +diff:1634227443:1634226675:=56,61d55%0a%3c %0a%3c Next, I create the directory to hold perl scripts:%0a%3c %0a%3c [@%0a%3c mkdir -p /var/www/htdocs/perl/%0a%3c @]%0a +host:1634227443=38.87.162.47 +author:1634226675=jrmu +diff:1634226675:1634226648:=95,97d94%0a%3c mkdir -p /var/www/{tmp,dev}%0a%3c chown www:daemon /var/www/tmp%0a%3c touch /var/www/dev/null%0a +host:1634226675=38.87.162.47 +author:1634226648=jrmu +diff:1634226648:1634226322:=34c34,36%0a%3c cp -p /usr/lib/lib{c,m,perl}.so* /var/www/usr/lib/%0a---%0a> cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a> cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a92c94,96%0a%3c cp -p /usr/lib/lib{c,m,perl,pthread,util,z}.so* /var/www/usr/lib/%0a---%0a> cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a> cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a> cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a +host:1634226648=38.87.162.47 +author:1634226322=jrmu +diff:1634226322:1634224002:=5c5%0a%3c listen on * port 80%0a---%0a> listen on * port 8080%0a +host:1634226322=38.87.162.47 +author:1634224002=jrmu +diff:1634224002:1634221998:=92c92,95%0a%3c mkdir -p /var/www/usr/{bin,lib,libexec,libdata}%0a---%0a> mkdir -p /var/www/usr/bin/%0a> mkdir -p /var/www/usr/lib/%0a> mkdir -p /var/www/usr/libexec/%0a> mkdir -p /var/www/usr/libdata/%0a +host:1634224002=38.87.162.47 +author:1634221998=jrmu +diff:1634221998:1614760349:=32c32,34%0a%3c mkdir -p /var/www/usr/{bin,lib,libexec}%0a---%0a> mkdir -p /var/www/usr/bin/%0a> mkdir -p /var/www/usr/lib/%0a> mkdir -p /var/www/usr/libexec/%0a102c104%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1634221998=38.87.162.47 +author:1614760349=jrmu +diff:1614760349:1613878114:=40,46d39%0a%3c @]%0a%3c %0a%3c We need to turn on slowcgi:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable slowcgi%0a%3c $ doas rcctl start slowcgi%0a +host:1614760349=198.251.81.119 +author:1613878114=jrmu +diff:1613878114:1613836132:=61,67d60%0a%3c @]%0a%3c %0a%3c Make sure to set the proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R www:daemon /var/www/htdocs/perl/%0a%3c $ doas chmod +x /var/www/htdocs/perl/index.pl%0a +host:1613878114=125.231.57.76 +author:1613836132=jrmu +diff:1613836132:1613836122:= +host:1613836132=198.251.81.119 +author:1613836122=jrmu +diff:1613836122:1613835464:=29,30c29,30%0a%3c So I start with this initial guess to build the chroot. I run the following as root:%0a%3c %0a---%0a> So we run the following as root:%0a> %0a44,90c44%0a%3c $ doas chroot -u www -g daemon /var/www perl%0a%3c %0a%3c I test some random gibberish to make sure perl works inside the chroot:%0a%3c %0a%3c [@%0a%3c print "shibboleth";%0a%3c @]%0a%3c %0a%3c Then ctrl+d to escape; and since it echoes @@shibboleth@@, it works.%0a%3c %0a%3c Now I put an index.pl in /var/www/htdocs/perl/ just to see if the web server loads it:%0a%3c %0a%3c [@%0a%3c #!/usr/bin/perl -w%0a%3c use strict;%0a%3c print "Content-Type:text/html\n\n";%0a%3c print "This is the index file for perl.oddprotocol.cf\n";%0a%3c @]%0a%3c %0a%3c At this point I try running this command:%0a%3c %0a%3c [@%0a%3c $ curl example.ircnow.org:8080/index.pl%0a%3c @]%0a%3c %0a%3c I get a 500 Internal Error, which means perl is not able to execute properly.%0a%3c %0a%3c So I search for missing perl libraries:%0a%3c %0a%3c [@%0a%3c $ doas find / -iname '*perl*'%0a%3c @]%0a%3c %0a%3c The interesting one is the folder /usr/libdata/perl5 . We definitely need these libraries, so I update my script for creating the chroot:%0a%3c %0a%3c [@%0a%3c mkdir -p /var/www/usr/bin/%0a%3c mkdir -p /var/www/usr/lib/%0a%3c mkdir -p /var/www/usr/libexec/%0a%3c mkdir -p /var/www/usr/libdata/%0a%3c cp /usr/bin/perl /var/www/usr/bin/%0a%3c cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a%3c cp /usr/libexec/ld.so /var/www/usr/libexec/%0a%3c cp -R /usr/libdata/perl5 /var/www/usr/libdata/%0a%3c @]%0a\ No newline at end of file%0a---%0a> $ doas chroot -u www -g daemon /var/www perl%0a\ No newline at end of file%0a +host:1613836122=198.251.81.119 +author:1613835464=jrmu +diff:1613835464:1613835412:= +host:1613835464=198.251.81.119 +author:1613835412=jrmu +diff:1613835412:1613835047:=15,44c15%0a%3c @]%0a%3c %0a%3c To figure out what files need to be copied into the chroot:%0a%3c %0a%3c $ ldd /usr/bin/perl %0a%3c /usr/bin/perl:%0a%3c Start End Type Open Ref GrpRef Name%0a%3c 0000022622dc8000 0000022622dcd000 exe 1 0 0 /usr/bin/perl%0a%3c 000002285bdc7000 000002285c133000 rlib 0 1 0 /usr/lib/libperl.so.20.0%0a%3c 00000228c7de6000 00000228c7e16000 rlib 0 2 0 /usr/lib/libm.so.10.1%0a%3c 000002282f00d000 000002282f101000 rlib 0 2 0 /usr/lib/libc.so.96.0%0a%3c 0000022914fb2000 0000022914fb2000 ld.so 0 1 0 /usr/libexec/ld.so%0a%3c %0a%3c %0a%3c So we run the following as root:%0a%3c %0a%3c [@%0a%3c mkdir -p /var/www/usr/bin/%0a%3c mkdir -p /var/www/usr/lib/%0a%3c mkdir -p /var/www/usr/libexec/%0a%3c cp /usr/bin/perl /var/www/usr/bin/%0a%3c cp /usr/lib/libperl.so.20.0 /var/www/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /var/www/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /var/www/usr/lib/%0a%3c cp /usr/libexec/ld.so /var/www/usr/libexec/%0a%3c @]%0a%3c %0a%3c Then we run:%0a%3c %0a%3c $ doas chroot -u www -g daemon /var/www perl%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1613835412=198.251.81.119 +author:1613835047=jrmu +diff:1613835047:1613835047:=1,15d0%0a%3c In /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "example.ircnow.org" {%0a%3c listen on * port 8080%0a%3c root "/htdocs/perl"%0a%3c location "*.pl" { %0a%3c fastcgi%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a\ No newline at end of file%0a +host:1613835047=198.251.81.119 blob - /dev/null blob + 8fb743810bdab288eb4aa0bb498fbc63d237042d (mode 644) --- /dev/null +++ wiki.d/Openhttpd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1613835047 +host=38.87.162.8 +name=Openhttpd.RecentChanges +rev=74 +text=* [[Openhttpd/Configure]] . . . December 10, 2021, at 02:44 PM by [[~jrmu]]: [==]%0a* [[Openhttpd/Perl]] . . . October 14, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Openhttpd/Hosting]] . . . February 28, 2021, at 02:09 AM by [[~jrmu]]: [==]%0a +time=1639147446 blob - /dev/null blob + a2c9ec3ff6171e3c41691189db367722ca19414e (mode 644) --- /dev/null +++ wiki.d/Openrsync.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1638367297 +host=38.87.162.8 +name=Openrsync.RecentChanges +rev=12 +text=* [[Openrsync/Usage]] . . . December 02, 2021, at 11:52 AM by [[~jrmu]]: [==]%0a +time=1638445945 blob - /dev/null blob + c48abf654b11647597c99aa056ac28c22362f7f0 (mode 644) --- /dev/null +++ wiki.d/Openrsync.Usage @@ -0,0 +1,49 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1638367297 +host=38.87.162.8 +name=Openrsync.Usage +rev=12 +targets= +text=(:title Using Openrsync:)%0a%0a[[https://www.openrsync.org/|OpenRsync]] is OpenBSD's rewrite of rsync. [[https://man.openbsd.org/openrsync|openrsync]] is designed to be lightweight and simple. It may, however, be a little buggy.%0a%0a'''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%0a!! OpenRsync Primer%0a%0aTo back up the file /path/to/file on example.com with username to the current directory:%0a%0a[@%0a$ openrsync -a username@example.com:/path/to/file ./%0a@]%0a%0aThis table explains the most common options:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Option ||! Purpose ||%0a|| a || (a)rchive mode, shorthand for Dgloprt ||%0a|| D || Transfers (D)evice and special files ||%0a|| g || Sets (g)roup to match the source ||%0a|| l || Transfers symbolic (l)inks ||%0a|| o || Sets (o)wner to match the source (needs root) ||%0a|| p || Synchronizes (p)ermissions ||%0a|| r || (r)ecursive ||%0a|| t || Synchronize (t)imestamps ||%0a|| v || Increase (v)erbosity ||%0a%0aIf you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%0a[@%0a$ openrsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a@]%0a%0aThis copies both /path/to/file and /path/to/second/file from example.com to your current local directory.%0a%0aopenrsync can also copy folders recursively. To see each file copied, turn on verbosity with @@-v@@. In the next example, we copy from /path/to/folder on the local system to /path/to/destination in @@example.com@@:%0a%0a[@%0a$ rsync -av /path/to/folder username@example.com:/path/to/destination/%0a@]%0a%0a!! Quick Check%0a%0aBefore you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%0a[@%0a$ df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd0a 1005M 111M 844M 12%25 /%0a/dev/sd0k 192G 28.7G 153G 16%25 /home%0a/dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a/dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a/dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a@]%0a%0aBacking up /home will require at least 28.7G of space.%0a%0a[@%0a$ openrsync -av username@example.com:/home/username /dest/path/%0a@]%0a%0aThis will copy everything in /home/username on @@example.com@@ into /dest/path/.%0a%0a(:if false:)%0a!! Complete Functions%0a%0aPut the following functions at the end of ~/.profile:%0a%0a[@%0arsync-all () {%0a echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a read $cancel%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a date > date%0a md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a}%0a%0a@@rsync-all@@ will make a complete backup of the remote system you specify.%0a%0aSource it, then call it on the server:%0a%0a[@%0a$ . .profile%0a$ rsync-all example.com%0a@]%0a(:ifend:)%0a +time=1638445945 +title=Using Openrsync +author:1638445945=jrmu +diff:1638445945:1638445881:=60c60%0a%3c $ openrsync -av username@example.com:/home/username /dest/path/%0a---%0a> $ openrsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a63c63%0a%3c This will copy everything in /home/username on @@example.com@@ into /dest/path/.%0a---%0a> This will copy everything in /home/username on example.com into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files), and @@z@@ tells rsync to compress during the transfer..%0a +host:1638445945=38.87.162.8 +author:1638445881=jrmu +diff:1638445881:1638445753:=58a59%0a> %0a60c61%0a%3c $ openrsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a---%0a> $ rsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a +host:1638445881=38.87.162.8 +author:1638445753=jrmu +diff:1638445753:1638445126:=9,10c9,10%0a%3c To back up the file /path/to/file on example.com with username to the current directory:%0a%3c %0a---%0a> To back up the folder /path/to/folder on example.com with username to the current directory:%0a> %0a12c12%0a%3c $ openrsync -a username@example.com:/path/to/file ./%0a---%0a> $ openrsync -aDgloprtv username@example.com:/path/to/folder ./%0a15,16c15,16%0a%3c This table explains the most common options:%0a%3c %0a---%0a> This table explains what the options mean:%0a> %0a19c19%0a%3c || a || (a)rchive mode, shorthand for Dgloprt ||%0a---%0a> || a || (a)rchive mode ||%0a32c32%0a%3c $ openrsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a---%0a> $ rsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a37,38d36%0a%3c openrsync can also copy folders recursively. To see each file copied, turn on verbosity with @@-v@@. In the next example, we copy from /path/to/folder on the local system to /path/to/destination in @@example.com@@:%0a%3c %0a40c38%0a%3c $ rsync -av /path/to/folder username@example.com:/path/to/destination/%0a---%0a> $ rsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a41a40,46%0a> %0a> We add @@-v@@ options to turn on verbosity (it will display each file copied).%0a> %0a> [@%0a> $ rsync -v username@example.com:/path/to/file ./%0a> @]%0a> %0a +host:1638445753=38.87.162.8 +author:1638445126=jrmu +diff:1638445126:1638444835:=9,10c9,10%0a%3c To back up the folder /path/to/folder on example.com with username to the current directory:%0a%3c %0a---%0a> To back up the file /path/to/file on example.com with username to the current directory:%0a> %0a12c12%0a%3c $ openrsync -aDgloprtv username@example.com:/path/to/folder ./%0a---%0a> $ rsync -aDgloprt username@example.com:/path/to/file ./%0a15,16d14%0a%3c This table explains what the options mean:%0a%3c %0a26,27c24,26%0a%3c || t || Synchronize (t)imestamps ||%0a%3c || v || Increase (v)erbosity ||%0a---%0a> || t || ||%0a> || v || ||%0a> %0a +host:1638445126=38.87.162.8 +author:1638444835=jrmu +diff:1638444835:1638444588:=15,26c15%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Option ||! Purpose ||%0a%3c || a || (a)rchive mode ||%0a%3c || D || Transfers (D)evice and special files ||%0a%3c || g || Sets (g)roup to match the source ||%0a%3c || l || Transfers symbolic (l)inks ||%0a%3c || o || Sets (o)wner to match the source (needs root) ||%0a%3c || p || Synchronizes (p)ermissions ||%0a%3c || r || (r)ecursive ||%0a%3c || t || ||%0a%3c || v || ||%0a%3c %0a---%0a> @@-a@@ is for archive mode, @@-D@@ transfers device and special files, @@-g@@ sets the group to match the source, @@-l@@ transfers links, @@-o@@ sets the owner to match the source (requires running as root), @@-p@@ synchronizes permissions, @@-r@@ recursive:%0a +host:1638444835=38.87.162.8 +author:1638444588=jrmu +diff:1638444588:1638444473:=15c15%0a%3c @@-a@@ is for archive mode, @@-D@@ transfers device and special files, @@-g@@ sets the group to match the source, @@-l@@ transfers links, @@-o@@ sets the owner to match the source (requires running as root), @@-p@@ synchronizes permissions, @@-r@@ recursive:%0a---%0a> We add the option @@-a@@ for archive mode.%0a +host:1638444588=38.87.162.8 +author:1638444473=jrmu +diff:1638444473:1638444396:= +host:1638444473=38.87.162.8 +author:1638444396=jrmu +diff:1638444396:1638431383:=12c12%0a%3c $ rsync -aDgloprt username@example.com:/path/to/file ./%0a---%0a> $ rsync -a username@example.com:/path/to/file ./%0a +host:1638444396=38.87.162.8 +author:1638431383=jrmu +diff:1638431383:1638369375:=1,4c1,4%0a%3c (:title Using Openrsync:)%0a%3c %0a%3c [[https://www.openrsync.org/|OpenRsync]] is OpenBSD's rewrite of rsync. [[https://man.openbsd.org/openrsync|openrsync]] is designed to be lightweight and simple. It may, however, be a little buggy.%0a%3c %0a---%0a> (:title Openrsync:)%0a> %0a> [[https://www.openrsync.org/|OpenRsync]] is a very useful tool for backing up files. It can be used remotely.%0a> %0a7,9c7,11%0a%3c !! OpenRsync Primer%0a%3c %0a%3c To back up the file /path/to/file on example.com with username to the current directory:%0a---%0a> !! Rsync Primer%0a> %0a> OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a> %0a> Here's how to back up the file /path/to/file on example.com with username to the current directory:%0a +host:1638431383=38.87.162.8 +author:1638369375=jrmu +diff:1638369375:1638367480:=11,12c11,12%0a%3c Here's how to back up the file /path/to/file on example.com with username to the current directory:%0a%3c %0a---%0a> Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a> %0a14c14%0a%3c $ rsync -a username@example.com:/path/to/file ./%0a---%0a> $ rsync -a username@ircnow.org:/path/to/file ./%0a22c22%0a%3c $ rsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a---%0a> $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a25,26c25,26%0a%3c This copies both /path/to/file and /path/to/second/file from example.com to your current local directory.%0a%3c %0a---%0a> This copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a> %0a28c28%0a%3c $ rsync -a username@example.com:/path/to/file :/path/to/second/file ./%0a---%0a> $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a34c34%0a%3c $ rsync -v username@example.com:/path/to/file ./%0a---%0a> $ rsync -v username@ircnow.org:/path/to/file ./%0a87c87%0a%3c $ rsync-all example.com%0a---%0a> $ rsync-all example.ircnow.org%0a +host:1638369375=38.87.162.8 +author:1638367480=jrmu +diff:1638367480:1638367297:=1,3c1,3%0a%3c (:title Openrsync:)%0a%3c %0a%3c [[https://www.openrsync.org/|OpenRsync]] is a very useful tool for backing up files. It can be used remotely.%0a---%0a> (:title Rsync:)%0a> %0a> [[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a +host:1638367480=38.87.162.8 +author:1638367297=jrmu +diff:1638367297:1638367297:=1,89d0%0a%3c (:title Rsync:)%0a%3c %0a%3c [[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a%3c %0a%3c '''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%3c %0a%3c !! Rsync Primer%0a%3c %0a%3c OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%3c %0a%3c Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c We add the option @@-a@@ for archive mode.%0a%3c %0a%3c If you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c This copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c We add @@-v@@ options to turn on verbosity (it will display each file copied).%0a%3c %0a%3c [@%0a%3c $ rsync -v username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c %0a%3c !! Quick Check%0a%3c %0a%3c Before you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%3c %0a%3c [@%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a%3c @]%0a%3c %0a%3c Backing up /home will require at least 28.7G of space.%0a%3c %0a%3c %0a%3c [@%0a%3c $ rsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a%3c @]%0a%3c %0a%3c This will copy everything in /home/username on example.com into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files), and @@z@@ tells rsync to compress during the transfer..%0a%3c %0a%3c (:if false:)%0a%3c !! Complete Functions%0a%3c %0a%3c Put the following functions at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c rsync-all () {%0a%3c echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a%3c %0a%3c @@rsync-all@@ will make a complete backup of the remote system you specify.%0a%3c %0a%3c Source it, then call it on the server:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c $ rsync-all example.ircnow.org%0a%3c @]%0a%3c (:ifend:)%0a +host:1638367297=38.87.162.8 blob - /dev/null blob + ce7c4593319d1b1df26f495a1310c2bc0cfc92f1 (mode 644) --- /dev/null +++ wiki.d/Opensmtpd.Configure @@ -0,0 +1,156 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1621253792 +host=38.87.162.8 +name=Opensmtpd.Configure +rev=47 +targets=Dns.Overview,Nsd.Configure,DNS.Mail,Acme-client.Configure,Opensmtpd.Openrelay,Dovecot.Install,DNS.DKIM,Opensmtpd.Troubleshoot +text=Let's set up a mail server with dkim signing and basic spam checks:%0a%0a!! Before we begin%0a%0aRead the the man pages for [[https://man.openbsd.org/smtpd|opensmtpd]], [[https://man.openbsd.org/smtpd.conf|smtpd.conf]], and [[https://man.openbsd.org/smtpctl|smtpctl]]. %0a%0aRead the [[https://github.com/poolpOrg/OpenSMTPD-book|free OpenSMTPd book]] by the%0aauthor of OpenSMTPd%0a%0a!! DNS%0a%0aRunning a mail server requires proper DNS records. If you have not already, you will%0awant to read up on [[dns/overview|DNS]] and [[nsd/configure|set up your name server]].%0a%0aYou will need to [[DNS/Mail|add proper DNS records]] to your domain and make sure they work.%0a%0a!! Install%0a%0aOpensmtpd is part of OpenBSD base, but we will also want to install some%0aopensmtpd-related packages and dovecot:%0a%0a[@%0a$ doas pkg_add opensmtpd-extras opensmtpd-filter-dkimsign-- dovecot%0a@]%0a%0a!! Configuration%0a%0a!!! TLS%0a%0aYou will want to use [[acme-client/configure|acme-client]] to request a TLS public cert and private key%0ain /etc/ssl/.%0a%0aNext, we'll create our smtpd configuration file in /etc/mail/smtpd.conf:%0a%0a[@%0a# PKI for TLS%0apki example.com cert "/etc/ssl/example.com.fullchain.pem"%0apki example.com key "/etc/ssl/private/example.com.key"%0a@]%0a%0aThis defines our public and private key pair for TLS encryption.%0a%0a!!! Tables%0a%0aNext, we define 5 tables:%0a%0a[@%0a# tables setup%0atable domains file:/etc/mail/domains%0atable passwd passwd:/etc/mail/passwd%0atable virtuals file:/etc/mail/virtuals%0atable hosts file:/etc/mail/hosts%0atable users file:/etc/mail/users%0a@]%0a%0aThe domains table contains a list of domains that our mail server should %0areceive mail on.%0a%0aThe passwd table contains a colon-separated list of username/password/disk quota%0aentries.%0a%0aThe virtuals file shows which virtual user should handle whose mail. They are written as @@key: value@@ pairs.%0aSee [[https://man.openbsd.org/aliases|aliases(5)]] for more information.%0a%0aThe hosts file contains a list of trusted sending hosts.%0a%0aThe users file contains a list of valid sending users.%0a%0aAll of these tables will be explained further in the following sections.%0a%0a!!! Dealing with Spam%0a%0a[@%0a# Blocks junk mail%0afilter check_rdns phase connect match !rdns junk%0afilter check_fcrdns phase connect match !fcrdns junk%0afilter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _smtpd group _smtpd%0a@]%0a%0aThe first filter will check if the sender has an rdns entry. If not, the mail%0awill be labeled as junk.%0a%0aThe second filter will check if the sender's forward and reverse dns entry match. If%0anot, the mail will be labeled as junk.%0a%0aThe third filter will sign any email with the DKIM private key.%0a%0a# -d specifies the domain name to sign for; you must replace example.com with your real domain.%0a# -s specifies the selector (in this case mail).%0a# -k specifies the path of the private key.%0a# user and group both specify _smtpd, the user and group that does the signing%0a%0a!!! Macros%0a%0aA macro defines a variable that will be replaced with a block of text:%0a%0a[@%0a# macros%0aipv4 = "192.168.0.1"%0aipv6 = "2001:db8::"%0acheck = "pki example.com mask-src filter { check_rdns check_fcrdns } hostname example.com"%0aauthcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a@]%0a%0aLines 2 and 3 define the IPv4 and IPv6 addresses used for sending and receiving mail.%0a%0aLine 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We mask the sender's source (the '''from''' part of the @@Received@@ header). We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of the default server name.%0a%0aLine 5 is identical to line 4 except it requires authentication with the password file and it checks if the sender is allowed.%0a%0a!!! Listeners%0a%0aThe listeners tell us what network interfaces, IP addresses, and ports to listen on.%0a%0a[@%0a# listeners%0alisten on socket filter "dkimsign"%0alisten on lo0 filter "dkimsign"%0alisten on $ipv4 port 25 tls $check%0alisten on $ipv6 port 25 tls $check%0alisten on $ipv4 port 465 smtps $authcheck%0alisten on $ipv6 port 465 smtps $authcheck%0alisten on $ipv4 port 587 tls-require $authcheck%0alisten on $ipv6 port 587 tls-require $authcheck%0a@]%0a%0aLine 2 tells smtpd to listen to the UNIX domain socket and to DKIM sign all %0aemails. Line 3 tells us to listen to the loopback interface and also%0asign all emails.%0a%0aLines 4-5 tells smtpd to listen on the IPv4 and IPv6 address on port 25, to provide%0aTLS if supported but to offer plaintext as a fallback. Only basic checking is done.%0a%0aLines 6-7 tells smtpd to listen on the IPv4 and IPv6 address on port 465, for SMTPS.%0aTLS encryption is required and authentication checking is forced because this socket%0acan be used for sending mail to other servers. We want to avoid an%0a[[opensmtpd/openrelay|open mail relay]].%0a%0aLines 8-9 is similar except it's for port 587, which is the SMTP submission port.%0a%0a!!! Rules%0a%0aNext we define the actions that opensmtpd can take and how to decide which%0aaction to follow:%0a%0a[@%0a# rules%0aaction "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0aaction "relay" relay src $ipv4%0a%0amatch from any for domain %3cdomains> action "lmtp"%0amatch from local for any action "relay"%0amatch from src %3chosts> for any action "relay"%0amatch auth from any for any action "relay"%0a@]%0a%0aIn line 2, we define the action "lmtp": we pass the mail to dovecot to handle using the Local Mail Transfer Protocol (LMTP). The actual recipient will be translated using the virtuals table.%0a%0aIn line 3, we define the action "relay": we relay (send) the email out.%0a%0aLine 4 defines our first matching rule: any email headed for one of our domains should be handed over to lmtp (handed over to dovecot).%0a%0aLine 5 defines our second matching rule: any email from a local IP address or queue can relay (send) without authentication.%0a%0aLine 6 defines our third matching rule: any email from our trusted /etc/mail/hosts file will automatically be relayed (sent) without authentication.%0a%0aLine 7 defines our last matching rule: any email that has been properly authenticated will be relayed (sent).%0a%0a!!! Complete configuration file%0a%0aHere is the entire configuration file in /etc/mail/smtpd.conf:%0a%0a[@%0a# PKI for TLS%0apki example.com cert "/etc/ssl/example.com.fullchain.pem"%0apki example.com key "/etc/ssl/private/example.com.key"%0a%0a# tables setup%0atable domains file:/etc/mail/domains%0atable passwd passwd:/etc/mail/passwd%0atable virtuals file:/etc/mail/virtuals%0atable hosts file:/etc/mail/hosts%0atable users file:/etc/mail/users%0a%0a# Blocks junk mail%0afilter check_rdns phase connect match !rdns junk%0afilter check_fcrdns phase connect match !fcrdns junk%0afilter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _smtpd group _smtpd%0a%0a# macros%0aipv4 = "192.168.0.1"%0aipv6 = "2001:db8::"%0acheck = "pki example.com mask-src filter { check_rdns check_fcrdns } hostname example.com"%0aauthcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a%0a# listeners%0alisten on socket filter "dkimsign"%0alisten on lo0 filter "dkimsign"%0alisten on $ipv4 port 25 tls $check%0alisten on $ipv6 port 25 tls $check%0alisten on $ipv4 port 465 smtps $authcheck%0alisten on $ipv6 port 465 smtps $authcheck%0alisten on $ipv4 port 587 tls-require $authcheck%0alisten on $ipv6 port 587 tls-require $authcheck%0a%0a# rules%0aaction "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0aaction "relay" relay src $ipv4%0a%0amatch from any for domain %3cdomains> action "lmtp"%0amatch from local for any action "relay"%0amatch from src %3chosts> for any action "relay"%0amatch auth from any for any action "relay"%0a@]%0a%0a!! Configuring Virtual Users%0a%0aA single user vmail will receive mail for all virtual users:%0a%0a[@%0a$ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a@]%0a%0a/var/vmail will be used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a%0a!! Adding users%0a%0aCreate a new file /etc/mail/virtuals and add these lines:%0a%0a[@%0aroot admin@example.com%0aadmin@example.com vmail%0ausername@example.com vmail%0a@]%0a%0aNow, any mail sent to root will get forwarded to admin@example.com.%0a%0aYou can optionally add one line for each user to provide aliases.%0a%0aFor each new user account, you will want to create a new line.%0a%0aYou'll also need to create one line for each user in /etc/mail/users:%0a%0a[@%0aadmin@example.com: admin@example.com%0ausername@example.com: username@example.com%0a@]%0a%0aA whitelist of known good senders goes into /etc/mail/hosts:%0a%0a[@%0alocalhost%0a127.0.0.1%0a192.168.1.1%0a2001:db8::%0a@]%0a%0aReplace IP addresses 192.168.1.1 and 2001:db8:: with your server's real IP addresses.%0a%0aIn /etc/mail/mailname, put in the name you want to use for your mail server. This%0ais very important for passing anti-spam checks:%0a%0a[@%0aexample.com%0a@]%0a%0aThe list of domains you want to receive mail for will go inside /etc/mail/domains:%0a%0a[@%0aexample.com%0amail.example.com%0a@]%0a%0aIn /etc/mail/passwd, we have a list of colon-separated user credentials:%0a%0a[@%0aadmin@example.com:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0ausername@example.com:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a@]%0a%0aEach field is separated with a colon.%0a%0aThe first field tells you the username. Note that usernames include a domain -- this is because you might host mail for multiple domains. So, when logging in to the mail server, your mail client must be of the format username@example.com.%0a%0aThe second field is the password hash. To generate a hash, you can run encrypt:%0a%0a[@%0a$ encrypt%0a@]%0a%0aType your password, then press enter. Type ctrl+d to quit.%0a%0a@@smtpctl encrypt@@ also does the same thing:%0a%0a[@%0a$ smtpctl encrypt%0a@]%0a%0a'''WARNING''': Special characters like $, when used in passwords, may cause issues with your mail client or with opensmtpd. To be safe, you might want to use only alphanumeric characters for your password. You can increase the length of the password for more security.%0a%0aThe last field sets how much data storage each user is allowed. The default here is 1 gigabyte.%0a%0a!!! File Permissions%0a%0aMake sure to set the proper permissions:%0a%0a[@%0a$ doas chown -R _smtpd:_dovecot /etc/mail/%0a$ doas chmod -R o-rx /etc/mail/%0a@]%0a%0a!! IMAP and POP3 via dovecot%0a%0aTo finish the setup, we need to [[dovecot/install|install and configure dovecot]].%0a%0a!! DKIM signing%0a%0aWe will need to set up [[DNS/DKIM|dkim]] to have the mail properly signed.%0a%0a!! Troubleshooting%0a%0aOpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a%0asmtpd[]: pony express: smtpd: socket: Too many open files%0a%0aTo fix this, you can delete all the temporary files inside OpenSMTPD.%0a%0a'''WARNING''': this will delete any messages in the queue:%0a%0a[@%0a$ doas rcctl stop smtpd%0a$ doas rm -r /var/spool/smtpd/queue/*%0a$ doas rm -r /var/spool/smtpd/offline/*%0a@]%0a%0aAt times, opensmtpd may be unable to connect because outgoing packets are being filtered. For example, suppose you are trying to send a letter to yahoo, but you get errors similar to following, showing a connection timeout:%0a%0a[@%0asmtpd[]: smtp-out: Enabling route [] %3c-> 67.195.204.77 (mtaproxy1.free.mail.vip.bf1.yahoo.com)%0asmtpd[]: smtp-out: Enabling route [] %3c-> 67.195.228.106 (mtaproxy2.free.mail.vip.gq1.yahoo.com)%0asmtpd[]: mta error reason=Connection timeout%0asmtpd[]: smtp-out: Disabling route [] %3c-> 104.47.55.33 (104.47.55.33) for 15s%0a@]%0a%0aAn easy way to test if your packets are being filtered is:%0a%0a[@%0a$ dig -t mx yahoo.com%0a;; ANSWER SECTION:%0ayahoo.com. 395 IN MX 1 mta6.am0.yahoodns.net.%0ayahoo.com. 395 IN MX 1 mta5.am0.yahoodns.net.%0ayahoo.com. 395 IN MX 1 mta7.am0.yahoodns.net.%0a$ nc mta5.am0.yahoodns.net 25%0a@]%0a%0aIf you get no response, then outgoing packets to port 25 are being blocked (often due to firewalls by your VPS provider to block spam). If mail is working, you should see a 220 reply:%0a%0a[@%0a$ nc mta5.am0.yahoodns.net 25%0a220 mtaproxy511.free.mail.ne1.yahoo.com ESMTP ready%0a@]%0a%0aIt is also possible that TLS is being dropped by the firewall. You can test using openssl:%0a%0a[@%0a$ openssl s_client -starttls smtp -connect mta5.am0.yahoodns.net:25%0aCONNECTED(00000003)%0adepth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA%0averify return:1%0adepth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA%0averify return:1%0adepth=0 C = US, ST = California, L = Sunnyvale, O = Oath Inc, CN = *.am0.yahoodns.net%0a...%0a250 STARTTLS%0a@]%0a%0aYou should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a%0aIf you see this warning message in /var/log/maillog:%0a%0a[@%0aDec 6 03:44:17 smtpd[]: info: OpenSMTPD 6.7.0 starting %0aDec 6 03:44:17 smtpd[]: pony express: smtpd: socket: Too many open files %0aDec 6 03:44:17 smtpd[]: warn: lost child: pony express exited abnormally %0a@]%0a%0aThis is due to having too many IP addresses that opensmtpd tries to bind to. This happens when you have a rule that says @@listen on egress@@:%0a%0a[@%0alisten on egress port 25 tls pki fruit.ircnow.org mask-src filter { check_rdns check_fcrdns }%0alisten on egress port 587 tls-require pki fruit.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a@]%0a%0aThese two lines mean that opensmtpd will listen to '''all''' available ip addresses, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a%0a[@%0aipv4 = "38.81.163.143"%0aipv6 = "2602:fccf:1:143::"%0acheck = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0aauthcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a%0a# listeners%0alisten on socket filter "dkimsign"%0alisten on lo0 filter "dkimsign"%0alisten on $ipv4 port 25 tls $check%0alisten on $ipv6 port 25 tls $check%0alisten on $ipv4 port 465 smtps $authcheck%0alisten on $ipv6 port 465 smtps $authcheck%0alisten on $ipv4 port 587 tls-require $authcheck%0alisten on $ipv6 port 587 tls-require $authcheck%0a@]%0a%0a!!! Open Mail Relay%0a%0aIf all your email is being marked as spam, check @@/var/log/maillog@@ . If you see a message like the following:%0a[@%0aJan 8 11:00:29 smtpd[39035]: 83bd6b3b1669649f mta delivery evpid=a8d16cd2144222fa from=%3cspammer@example.com> to=%3cvictim@example.com> rcpt=%3c-> source="192.168.0.1" relay="10.0.0.1 (10.0.0.1)" delay=16h2s result="TempFail" stat="451 4.7.650 The mail server [192.168.0.1] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.example.com (S843)"%0a@]%0aThen your server is being exploited as an [[opensmtpd/openrelay|open mail relay]]! Please follow the guide to fix it.%0a%0a!! [[opensmtpd/troubleshoot|Troubleshooting OpenSMTPd]]%0a +time=1638775014 +author:1638775014=jrmu +diff:1638775014:1638453453:=152d151%0a%3c match from local for any action "relay"%0a163,168c162,165%0a%3c Line 5 defines our second matching rule: any email from a local IP address or queue can relay (send) without authentication.%0a%3c %0a%3c Line 6 defines our third matching rule: any email from our trusted /etc/mail/hosts file will automatically be relayed (sent) without authentication.%0a%3c %0a%3c Line 7 defines our last matching rule: any email that has been properly authenticated will be relayed (sent).%0a%3c %0a---%0a> Line 5 defines our second matching rule: any email from our trusted /etc/mail/hosts file will automatically be relayed (sent) without authentication.%0a> %0a> Line 6 defines our last matching rule: any email that has been properly authenticated will be relayed (sent).%0a> %0a211d207%0a%3c match from local for any action "relay"%0a +host:1638775014=38.87.162.8 +author:1638453453=jrmu +diff:1638453453:1637076046:=23c23%0a%3c $ doas pkg_add opensmtpd-extras opensmtpd-filter-dkimsign-- dovecot%0a---%0a> $ doas pkg_add opensmtpd-extras opensmtpd-filter-dkimsign dovecot%0a +host:1638453453=38.87.162.8 +author:1637076046=Hawk +diff:1637076046:1636545387:=12c12%0a%3c Running a mail server requires proper DNS records. If you have not already, you will%0a---%0a> Running a mail server requires a proper DNS records. If you have not already, you will%0a65,66c65,66%0a%3c The hosts file contains a list of trusted sending hosts.%0a%3c %0a---%0a> The hosts file contains a list of trusted sending hosts:%0a> %0a137,138c137,138%0a%3c [[opensmtpd/openrelay|open mail relay]].%0a%3c %0a---%0a> [[openbsd/mailopenproxy|open mail relay]].%0a> %0a164,165c164,165%0a%3c Line 6 defines our last matching rule: any email that has been properly authenticated will be relayed (sent).%0a%3c %0a---%0a> Line 6 defines our last matching rule: any email that has been properly authenticated will be related (sent).%0a> %0a234,235c234,235%0a%3c You can optionally add one line for each user to provide aliases.%0a%3c %0a---%0a> You can optionally one line for each user to provide aliases.%0a> %0a263,264c263,264%0a%3c The list of domains you want to receive mail for will go inside /etc/mail/domains:%0a%3c %0a---%0a> The list of domains you can want to receive mail for will go inside /etc/mail/domains:%0a> %0a390c390%0a%3c These two lines mean that opensmtpd will listen to '''all''' available ip addresses, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a---%0a> These two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a +host:1637076046=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1636545387=Hawk +diff:1636545387:1635519284:minor=415c415%0a%3c Then your server is being exploited as an [[opensmtpd/openrelay|open mail relay]]! Please follow the guide to fix it.%0a---%0a> Then your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a +host:1636545387=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1635519284=jrmu +diff:1635519284:1635518599:=62c62%0a%3c The virtuals file shows which virtual user should handle whose mail. They are written as @@key: value@@ pairs.%0a---%0a> The virtuals file shows which virtual user should handle whose mail.%0a231,234d230%0a%3c %0a%3c Now, any mail sent to root will get forwarded to admin@example.com.%0a%3c %0a%3c You can optionally one line for each user to provide aliases.%0a +host:1635519284=38.87.162.8 +author:1635518599=noisytoot +csum:1635518599=Replace aliases with virtuals +diff:1635518599:1635518379:=45,46c45,46%0a%3c Next, we define 5 tables:%0a%3c %0a---%0a> Next, we define 6 tables:%0a> %0a55a56,58%0a> The aliases table provides a list of aliases in @@key: value@@ pairs.%0a> See [[https://man.openbsd.org/aliases|aliases(5)]] for more information.%0a> %0a63,64c66%0a%3c See [[https://man.openbsd.org/aliases|aliases(5)]] for more information.%0a%3c %0a---%0a> %0a175a178%0a> table aliases file:/etc/mail/aliases%0a224,225c227,228%0a%3c Create a new file /etc/mail/virtuals and add these lines:%0a%3c %0a---%0a> At the bottom of /etc/mail/aliases, add these lines:%0a> %0a227c230,241%0a%3c root admin@example.com%0a---%0a> vmail: /dev/null%0a> root: admin@example.com%0a> @]%0a> %0a> Now, any mail sent to vmail will get thrown away; and any mail send to root will get%0a> forwarded to admin@example.com.%0a> %0a> You can optionally one line for each user to provide aliases.%0a> %0a> Create a new file /etc/mail/virtuals and add these lines:%0a> %0a> [@%0a +host:1635518599=2.29.34.246 +author:1635518379=noisytoot +csum:1635518379=The aliases table is unused +diff:1635518379:1631377045:=48a49%0a> table aliases file:/etc/mail/aliases%0a +host:1635518379=2.29.34.246 +author:1631377045=jrmu +diff:1631377045:1629671234:=124,125c124,125%0a%3c listen on $ipv4 port 465 smtps $authcheck%0a%3c listen on $ipv6 port 465 smtps $authcheck%0a---%0a> listen on $ipv4 port 465 tls-require $authcheck%0a> listen on $ipv6 port 465 tls-require $authcheck%0a202,203c202,203%0a%3c listen on $ipv4 port 465 smtps $authcheck%0a%3c listen on $ipv6 port 465 smtps $authcheck%0a---%0a> listen on $ipv4 port 465 tls-require $authcheck%0a> listen on $ipv6 port 465 tls-require $authcheck%0a414,415c414,415%0a%3c listen on $ipv4 port 465 smtps $authcheck%0a%3c listen on $ipv6 port 465 smtps $authcheck%0a---%0a> listen on $ipv4 port 465 tls-require $authcheck%0a> listen on $ipv6 port 465 tls-require $authcheck%0a +host:1631377045=38.87.162.8 +author:1629671234=mkf +diff:1629671234:1628156436:=423c423%0a%3c [@%0a---%0a> %0a425c425%0a%3c @]%0a---%0a> %0a +host:1629671234=198.251.81.133 +author:1628156436=jrmu +diff:1628156436:1625798671:=316c316%0a%3c $ doas chmod -R o-rx /etc/mail/%0a---%0a> $ doas chmod o-rx /etc/mail/%0a +host:1628156436=38.87.162.8 +author:1625798671=jrmu +diff:1625798671:1625229708:=68,69c68,69%0a%3c The hosts file contains a list of trusted sending hosts:%0a%3c %0a---%0a> The hosts file contains a list of trusted sending hosts.%0a> %0a260d259%0a%3c 127.0.0.1%0a265c264%0a%3c Replace IP addresses 192.168.1.1 and 2001:db8:: with your server's real IP addresses.%0a---%0a> Replace the IP addresses above with real IP addresses.%0a +host:1625798671=38.81.163.143 +author:1625229708=jrmu +diff:1625229708:1624190558:=152,153c152,153%0a%3c action "relay" relay src $ipv4%0a%3c %0a---%0a> action "relay" relay%0a> %0a209c209%0a%3c action "relay" relay src $ipv4%0a---%0a> action "relay" relay%0a +host:1625229708=125.231.34.36 +author:1624190558=jrmu +diff:1624190558:1624172254:=184d183%0a%3c table users file:/etc/mail/users%0a +host:1624190558=125.224.16.135 +author:1624172254=jrmu +diff:1624172254:1623807106:=105c105%0a%3c authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a---%0a> authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns } hostname example.com"%0a194,195c194,195%0a%3c authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a%3c %0a---%0a> authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns } hostname example.com"%0a> %0a405c405%0a%3c authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns dkimsign } hostname example.com"%0a---%0a> authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a +host:1624172254=38.81.163.143 +author:1623807106=jrmu +diff:1623807106:1623806972:=191,194c191,194%0a%3c ipv4 = "192.168.0.1"%0a%3c ipv6 = "2001:db8::"%0a%3c check = "pki example.com mask-src filter { check_rdns check_fcrdns } hostname example.com"%0a%3c authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns } hostname example.com"%0a---%0a> ipv4 = "38.81.163.143"%0a> ipv6 = "2602:fccf:1:143::"%0a> check = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0a> authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a +host:1623807106=125.231.25.80 +author:1623806972=jrmu +diff:1623806972:1623806787:= +host:1623806972=125.231.25.80 +author:1623806787=jrmu +diff:1623806787:1623223089:=188c188%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _smtpd group _smtpd%0a---%0a> filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a +host:1623806787=125.231.25.80 +author:1623223089=jrmu +diff:1623223089:1623222265:=425,426d424%0a%3c %0a%3c !! [[opensmtpd/troubleshoot|Troubleshooting OpenSMTPd]]%0a +host:1623223089=38.81.163.143 +author:1623222265=jrmu +diff:1623222265:1623222095:=313c313,315%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/%0a---%0a> $ doas groupadd -v _mail%0a> $ doas usermod -G _mail _smtpd%0a> $ doas chown -R _smtpd:_mail /etc/mail/%0a +host:1623222265=38.81.163.143 +author:1623222095=jrmu +diff:1623222095:1622985626:=80c80%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _smtpd group _smtpd%0a---%0a> filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _mail%0a94c94%0a%3c # user and group both specify _smtpd, the user and group that does the signing%0a---%0a> # user and group both specify _dkimsign, the user and group that does the signing%0a +host:1623222095=38.81.163.143 +author:1622985626=jrmu +diff:1622985626:1622963097:=325c325%0a%3c We will need to set up [[DNS/DKIM|dkim]] to have the mail properly signed.%0a---%0a> We will need to set up [[dkim/dkimsign|dkim]] to have the mail properly signed.%0a +host:1622985626=38.81.163.143 +author:1622963097=mkf +csum:1622963097=w +diff:1622963097:1622798643:=396d395%0a%3c [@%0a399d397%0a%3c @]%0a +host:1622963097=104.200.30.145 +author:1622798643=jrmu +diff:1622798643:1622797573:=80c80%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _mail%0a---%0a> filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a +host:1622798643=38.81.163.143 +author:1622797573=jrmu +diff:1622797573:1622797526:=314d313%0a%3c $ doas usermod -G _mail _smtpd%0a +host:1622797573=38.81.163.143 +author:1622797526=jrmu +diff:1622797526:1622720574:=313,314c313%0a%3c $ doas groupadd -v _mail%0a%3c $ doas chown -R _smtpd:_mail /etc/mail/%0a---%0a> $ doas chown -R _smtpd:_dovecot /etc/mail/%0a +host:1622797526=38.81.163.143 +author:1622720574=jrmu +diff:1622720574:1622719953:=105c105%0a%3c authcheck = "pki example.com auth %3cpasswd> mask-src senders %3cusers> filter { check_rdns check_fcrdns } hostname example.com"%0a---%0a> authcheck = "pki example.com auth %3cpasswd> mask-src senders filter { check_rdns check_fcrdns } hostname example.com"%0a +host:1622720574=38.81.163.143 +author:1622719953=jrmu +diff:1622719953:1622719371:=247,253d246%0a%3c %0a%3c You'll also need to create one line for each user in /etc/mail/users:%0a%3c %0a%3c [@%0a%3c admin@example.com: admin@example.com%0a%3c username@example.com: username@example.com%0a%3c @]%0a +host:1622719953=38.81.163.143 +author:1622719371=jrmu +diff:1622719371:1621334412:=102,103c102,103%0a%3c ipv4 = "192.168.0.1"%0a%3c ipv6 = "2001:db8::"%0a---%0a> ipv4 = "38.81.163.143"%0a> ipv6 = "2602:fccf:1:143::"%0a +host:1622719371=38.81.163.143 +author:1621334412=jrmu +diff:1621334412:1621334369:=15c15%0a%3c You will need to [[DNS/Mail|add proper DNS records]] to your domain and make sure they work.%0a---%0a> You will need to [[dns/mail|add proper DNS records]] to your domain and make sure they work.%0a +host:1621334412=38.81.163.143 +author:1621334369=jrmu +diff:1621334369:1621333842:=10,11d9%0a%3c !! DNS%0a%3c %0a14,15d11%0a%3c %0a%3c You will need to [[dns/mail|add proper DNS records]] to your domain and make sure they work.%0a +host:1621334369=38.81.163.143 +author:1621333842=jrmu +diff:1621333842:1621332833:=184,185c184,185%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a%3c %0a---%0a> filter "dkimsign" proc-exec "filter-dkimsign -d jrmu.coconut.ircnow.org -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a> %0a189,191c189,191%0a%3c check = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0a%3c authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a%3c %0a---%0a> check = "pki jrmu.coconut.ircnow.org filter { check_rdns check_fcrdns } hostname jrmu.coconut.ircnow.org"%0a> authcheck = "pki jrmu.coconut.ircnow.org auth %3cpasswd> filter { check_rdns check_fcrdns } hostname jrmu.coconut.ircnow.org"%0a> %0a210a211,212%0a> To finish the configuration, we need to [[dovecot/install|install and configure dovecot]].%0a> %0a295,298d296%0a%3c The last field sets how much data storage each user is allowed. The default here is 1 gigabyte.%0a%3c %0a%3c !!! File Permissions%0a%3c %0a306,313c304,310%0a%3c !! IMAP and POP3 via dovecot%0a%3c %0a%3c To finish the setup, we need to [[dovecot/install|install and configure dovecot]].%0a%3c %0a%3c !! DKIM signing%0a%3c %0a%3c We will need to set up [[dkim/dkimsign|dkim]] to have the mail properly signed.%0a%3c %0a---%0a> !! IMAP and POP3 via dovecot; mail signing via dkimproxy%0a> %0a> Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[dkimproxy|dkimproxy]] setup for mail signing.%0a> %0a> There are some additional steps for how to add a new user here:%0a> %0a> %0a316,317c313,314%0a%3c OpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a%3c %0a---%0a> Sometimes OpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a> %0a320,323c317,318%0a%3c To fix this, you can delete all the temporary files inside OpenSMTPD.%0a%3c %0a%3c '''WARNING''': this will delete any messages in the queue:%0a%3c %0a---%0a> To fix this, you can delete all the temporary files inside OpenSMTPD. '''WARNING''': this will delete any messages in the queue:%0a> %0a389,393d383%0a%3c ipv4 = "38.81.163.143"%0a%3c ipv6 = "2602:fccf:1:143::"%0a%3c check = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0a%3c authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a%3c %0a395,402c385,396%0a%3c listen on socket filter "dkimsign"%0a%3c listen on lo0 filter "dkimsign"%0a%3c listen on $ipv4 port 25 tls $check%0a%3c listen on $ipv6 port 25 tls $check%0a%3c listen on $ipv4 port 465 tls-require $authcheck%0a%3c listen on $ipv6 port 465 tls-require $authcheck%0a%3c listen on $ipv4 port 587 tls-require $authcheck%0a%3c listen on $ipv6 port 587 tls-require $authcheck%0a---%0a> ipv4 = "192.168.1.1"%0a> ipv6 = "2001:db8::"%0a> %0a> ...%0a> %0a> # listeners%0a> listen on lo0 mask-src%0a> listen on lo0 port 10028 tag DKIM mask-src%0a> listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a +host:1621333842=38.81.163.143 +author:1621332833=jrmu +diff:1621332833:1621330901:=213,214d212%0a%3c !! Configuring Virtual Users%0a%3c %0a221,226c219,220%0a%3c /var/vmail will be used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a%3c %0a%3c !! Adding users%0a%3c %0a%3c At the bottom of /etc/mail/aliases, add these lines:%0a%3c %0a---%0a> The /etc/passwd file will contain a line similar to this:%0a> %0a228,229c222%0a%3c vmail: /dev/null%0a%3c root: admin@example.com%0a---%0a> vmail:*:1000:1000:Virtual Mail:/var/vmail:/sbin/nologin%0a232,238c225,230%0a%3c Now, any mail sent to vmail will get thrown away; and any mail send to root will get%0a%3c forwarded to admin@example.com.%0a%3c %0a%3c You can optionally one line for each user to provide aliases.%0a%3c %0a%3c Create a new file /etc/mail/virtuals and add these lines:%0a%3c %0a---%0a> /var/vmail is used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a> %0a> !! Adding users%0a> %0a> At the bottom of /etc/mail/aliases, add these lines:%0a> %0a240,241c232,235%0a%3c admin@example.com vmail%0a%3c username@example.com vmail%0a---%0a> vmail: /dev/null%0a> root: admin@ircnow.org%0a> jrmu: jrmu@ircnow.org%0a> username: username@ircnow.org%0a244,247c238,241%0a%3c For each new user account, you will want to create a new line.%0a%3c %0a%3c A whitelist of known good senders goes into /etc/mail/hosts:%0a%3c %0a---%0a> Add one line for each user.%0a> %0a> Create a new file /etc/mail/virtuals and add these lines:%0a> %0a249,251c243,245%0a%3c localhost%0a%3c 192.168.1.1%0a%3c 2001:db8::%0a---%0a> admin@ircnow.org vmail%0a> jrmu@ircnow.org vmail%0a> username@ircnow.org vmail%0a254,258c248,249%0a%3c Replace the IP addresses above with real IP addresses.%0a%3c %0a%3c In /etc/mail/mailname, put in the name you want to use for your mail server. This%0a%3c is very important for passing anti-spam checks:%0a%3c %0a---%0a> A whitelist of known good senders goes into /etc/mail/hosts:%0a> %0a260c251,253%0a%3c example.com%0a---%0a> localhost%0a> 192.168.1.1%0a> 2001:db8::%0a263,264c256,259%0a%3c The list of domains you can want to receive mail for will go inside /etc/mail/domains:%0a%3c %0a---%0a> For /etc/mail/spammers, create a blank file.%0a> %0a> The mail sender's hostname goes in /etc/mail/mailname:%0a> %0a266,267c261%0a%3c example.com%0a%3c mail.example.com%0a---%0a> mail.ircnow.org%0a270,271c264,265%0a%3c In /etc/mail/passwd, we have a list of colon-separated user credentials:%0a%3c %0a---%0a> The list of domains you send mail for go in /etc/mail/domains:%0a> %0a273,274c267,268%0a%3c admin@example.com:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c username@example.com:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a---%0a> ircnow.org%0a> mail.ircnow.org%0a277,282c271,272%0a%3c Each field is separated with a colon.%0a%3c %0a%3c The first field tells you the username. Note that usernames include a domain -- this is because you might host mail for multiple domains. So, when logging in to the mail server, your mail client must be of the format username@example.com.%0a%3c %0a%3c The second field is the password hash. To generate a hash, you can run encrypt:%0a%3c %0a---%0a> In /etc/mail/passwd, we have a list of colon-separated user credentials:%0a> %0a284c274,276%0a%3c $ encrypt%0a---%0a> admin@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a> jrmu@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a> username@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a287,290c279,282%0a%3c Type your password, then press enter. Type ctrl+d to quit.%0a%3c %0a%3c @@smtpctl encrypt@@ also does the same thing:%0a%3c %0a---%0a> '''WARNING''': Some special characters like $, when used in passwords, will cause issue with opensmtpd. To be safe, you may want to use alphanumeric characters only for your password.%0a> %0a> Make sure to set the proper permissions:%0a> %0a292c284,285%0a%3c $ smtpctl encrypt%0a---%0a> $ doas chown -R _smtpd:_dovecot /etc/mail/%0a> $ doas chmod o-rx /etc/mail/%0a295,303c288,291%0a%3c '''WARNING''': Special characters like $, when used in passwords, may cause issues with your mail client or with opensmtpd. To be safe, you might want to use only alphanumeric characters for your password. You can increase the length of the password for more security.%0a%3c %0a%3c Make sure to set the proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/%0a%3c $ doas chmod o-rx /etc/mail/%0a%3c @]%0a%3c %0a---%0a> !! Spammers%0a> %0a> In /etc/mail/spammers, we have IP addresses separated by newlines.%0a> %0a309a298,303%0a> %0a> To get hashes:%0a> %0a> [@%0a> $ smtpctl encrypt%0a> @]%0a +host:1621332833=38.81.163.143 +author:1621330901=jrmu +diff:1621330901:1621330719:=9,11d8%0a%3c %0a%3c Running a mail server requires a proper DNS records. If you have not already, you will%0a%3c want to read up on [[dns/overview|DNS]] and [[nsd/configure|set up your name server]].%0a +host:1621330901=38.81.163.143 +author:1621330719=jrmu +diff:1621330719:1621329978:=156,161c156,157%0a%3c Line 4 defines our first matching rule: any email headed for one of our domains should be handed over to lmtp (handed over to dovecot).%0a%3c %0a%3c Line 5 defines our second matching rule: any email from our trusted /etc/mail/hosts file will automatically be relayed (sent) without authentication.%0a%3c %0a%3c Line 6 defines our last matching rule: any email that has been properly authenticated will be related (sent).%0a%3c %0a---%0a> Line 4%0a> %0a208c204,206%0a%3c To finish the configuration, we need to [[dovecot/install|install and configure dovecot]].%0a---%0a> # If mail is for any of our domains, pass it to dovecot%0a> # If mail comes from a trusted host, send it%0a> # If the user is authenticated, send it%0a +host:1621330719=38.81.163.143 +author:1621329978=jrmu +diff:1621329978:1621329891:=103c103%0a%3c Line 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We mask the sender's source (the '''from''' part of the @@Received@@ header). We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of the default server name.%0a---%0a> Line 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We mask the sender's source (the '''from''' part of the @@Received@@ header). We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a +host:1621329978=38.81.163.143 +author:1621329891=jrmu +diff:1621329891:1621329393:=84c84,85%0a%3c # -d specifies the domain name to sign for; you must replace example.com with your real domain.%0a---%0a> # -d specifies the domain name to sign for; you must replace example.com with your real%0a> domain.%0a +host:1621329891=38.81.163.143 +author:1621329393=jrmu +diff:1621329393:1621329048:=129,137c129,130%0a%3c TLS if supported but to offer plaintext as a fallback. Only basic checking is done.%0a%3c %0a%3c Lines 6-7 tells smtpd to listen on the IPv4 and IPv6 address on port 465, for SMTPS.%0a%3c TLS encryption is required and authentication checking is forced because this socket%0a%3c can be used for sending mail to other servers. We want to avoid an%0a%3c [[openbsd/mailopenproxy|open mail relay]].%0a%3c %0a%3c Lines 8-9 is similar except it's for port 587, which is the SMTP submission port.%0a%3c %0a---%0a> TLS if supported but to offer plaintext as a fallback.%0a> %0a140,142d132%0a%3c Next we define the actions that opensmtpd can take and how to decide which%0a%3c action to follow:%0a%3c %0a152,157d141%0a%3c %0a%3c In line 2, we define the action "lmtp": we pass the mail to dovecot to handle using the Local Mail Transfer Protocol (LMTP). The actual recipient will be translated using the virtuals table.%0a%3c %0a%3c In line 3, we define the action "relay": we relay (send) the email out.%0a%3c %0a%3c Line 4%0a +host:1621329393=38.81.163.143 +author:1621329048=jrmu +diff:1621329048:1621328344:=98,99c98,99%0a%3c check = "pki example.com mask-src filter { check_rdns check_fcrdns } hostname example.com"%0a%3c authcheck = "pki example.com auth %3cpasswd> mask-src senders filter { check_rdns check_fcrdns } hostname example.com"%0a---%0a> check = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0a> authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a104,106c104,106%0a%3c Line 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We mask the sender's source (the '''from''' part of the @@Received@@ header). We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a%3c %0a%3c Line 5 is identical to line 4 except it requires authentication with the password file and it checks if the sender is allowed.%0a---%0a> Line 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a> %0a> Line 5 is identical to line 4 except it requires authentication with the password file.%0a +host:1621329048=38.81.163.143 +author:1621328344=jrmu +diff:1621328344:1621328329:= +host:1621328344=38.81.163.143 +author:1621328329=jrmu +diff:1621328329:1621327178:=38,39c38,39%0a%3c Next, we define 6 tables:%0a%3c %0a---%0a> Next, we define 4 tables:%0a> %0a47d46%0a%3c table users file:/etc/mail/users%0a63,64d61%0a%3c The users file contains a list of valid sending users.%0a%3c %0a102,107c99,102%0a%3c Lines 2 and 3 define the IPv4 and IPv6 addresses used for sending and receiving mail.%0a%3c %0a%3c Line 4 tells opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a%3c %0a%3c Line 5 is identical to line 4 except it requires authentication with the password file.%0a%3c %0a---%0a> In the first two lines, we define the IPv4 and IPv6 addresses used for sending and receiving mail.%0a> %0a> In the third line, we tell opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a> %0a110,111d104%0a%3c The listeners tell us what network interfaces, IP addresses, and ports to listen on.%0a%3c %0a123,129d115%0a%3c %0a%3c Line 2 tells smtpd to listen to the UNIX domain socket and to DKIM sign all %0a%3c emails. Line 3 tells us to listen to the loopback interface and also%0a%3c sign all emails.%0a%3c %0a%3c Lines 4-5 tells smtpd to listen on the IPv4 and IPv6 address on port 25, to provide%0a%3c TLS if supported but to offer plaintext as a fallback.%0a +host:1621328329=38.81.163.143 +author:1621327178=jrmu +diff:1621327178:1621265244:=52c52%0a%3c The domains table contains a list of domains that our mail server should %0a---%0a> The domains table contains a list of domains that our mail server should to%0a55,57c55,56%0a%3c The passwd table contains a colon-separated list of username/password/disk quota%0a%3c entries.%0a%3c %0a---%0a> The passwd table contains a list of username/password/quota entries.%0a> %0a70c69%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a---%0a> filter "dkimsign" proc-exec "filter-dkimsign -d jrmu.coconut.ircnow.org -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a73,129d71%0a%3c The first filter will check if the sender has an rdns entry. If not, the mail%0a%3c will be labeled as junk.%0a%3c %0a%3c The second filter will check if the sender's forward and reverse dns entry match. If%0a%3c not, the mail will be labeled as junk.%0a%3c %0a%3c The third filter will sign any email with the DKIM private key.%0a%3c %0a%3c # -d specifies the domain name to sign for; you must replace example.com with your real%0a%3c domain.%0a%3c # -s specifies the selector (in this case mail).%0a%3c # -k specifies the path of the private key.%0a%3c # user and group both specify _dkimsign, the user and group that does the signing%0a%3c %0a%3c !!! Macros%0a%3c %0a%3c A macro defines a variable that will be replaced with a block of text:%0a%3c %0a%3c [@%0a%3c # macros%0a%3c ipv4 = "38.81.163.143"%0a%3c ipv6 = "2602:fccf:1:143::"%0a%3c check = "pki example.com filter { check_rdns check_fcrdns } hostname example.com"%0a%3c authcheck = "pki example.com auth %3cpasswd> filter { check_rdns check_fcrdns } hostname example.com"%0a%3c @]%0a%3c %0a%3c In the first two lines, we define the IPv4 and IPv6 addresses used for sending and receiving mail.%0a%3c %0a%3c In the third line, we tell opensmtpd to use the public/private keys we defined earlier for @@example.com@@. We also apply two filters to check for proper forward and reverse confirmed DNS entries. Finally, we indicate that the sending hostname must be example.com instead of default server name.%0a%3c %0a%3c !!! Listeners%0a%3c %0a%3c [@%0a%3c # listeners%0a%3c listen on socket filter "dkimsign"%0a%3c listen on lo0 filter "dkimsign"%0a%3c listen on $ipv4 port 25 tls $check%0a%3c listen on $ipv6 port 25 tls $check%0a%3c listen on $ipv4 port 465 tls-require $authcheck%0a%3c listen on $ipv6 port 465 tls-require $authcheck%0a%3c listen on $ipv4 port 587 tls-require $authcheck%0a%3c listen on $ipv6 port 587 tls-require $authcheck%0a%3c @]%0a%3c %0a%3c !!! Rules%0a%3c %0a%3c [@%0a%3c # rules%0a%3c action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0a%3c action "relay" relay%0a%3c %0a%3c match from any for domain %3cdomains> action "lmtp"%0a%3c match from src %3chosts> for any action "relay"%0a%3c match auth from any for any action "relay"%0a%3c @]%0a%3c %0a%3c !!! Complete configuration file%0a +host:1621327178=38.81.163.143 +author:1621265244=jrmu +diff:1621265244:1621263438:=21,22d20%0a%3c !!! TLS%0a%3c %0a26,27c24,25%0a%3c Next, we'll create our smtpd configuration file in /etc/mail/smtpd.conf:%0a%3c %0a---%0a> In my /etc/mail/smtpd.conf:%0a> %0a32,40c30%0a%3c @]%0a%3c %0a%3c This defines our public and private key pair for TLS encryption.%0a%3c %0a%3c !!! Tables%0a%3c %0a%3c Next, we define 4 tables:%0a%3c %0a%3c [@%0a---%0a> %0a47,65c37%0a%3c @]%0a%3c %0a%3c The aliases table provides a list of aliases in @@key: value@@ pairs.%0a%3c See [[https://man.openbsd.org/aliases|aliases(5)]] for more information.%0a%3c %0a%3c The domains table contains a list of domains that our mail server should to%0a%3c receive mail on.%0a%3c %0a%3c The passwd table contains a list of username/password/quota entries.%0a%3c %0a%3c The virtuals file shows which virtual user should handle whose mail.%0a%3c %0a%3c The hosts file contains a list of trusted sending hosts.%0a%3c %0a%3c All of these tables will be explained further in the following sections.%0a%3c %0a%3c !!! Dealing with Spam%0a%3c %0a%3c [@%0a---%0a> %0a70,91c42%0a%3c @]%0a%3c %0a%3c %0a%3c Here is the entire configuration file in /etc/mail/smtpd.conf:%0a%3c %0a%3c [@%0a%3c # PKI for TLS%0a%3c pki example.com cert "/etc/ssl/example.com.fullchain.pem"%0a%3c pki example.com key "/etc/ssl/private/example.com.key"%0a%3c %0a%3c # tables setup%0a%3c table aliases file:/etc/mail/aliases%0a%3c table domains file:/etc/mail/domains%0a%3c table passwd passwd:/etc/mail/passwd%0a%3c table virtuals file:/etc/mail/virtuals%0a%3c table hosts file:/etc/mail/hosts%0a%3c %0a%3c # Blocks junk mail%0a%3c filter check_rdns phase connect match !rdns junk%0a%3c filter check_fcrdns phase connect match !fcrdns junk%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d jrmu.coconut.ircnow.org -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a%3c %0a---%0a> %0a111a63%0a> # If mail is for any of our domains, pass it to dovecot%0a112a65,66%0a> %0a> # If mail comes from a trusted host, send it%0a113a68,69%0a> %0a> # If the user is authenticated, send it%0a116,119d71%0a%3c %0a%3c # If mail is for any of our domains, pass it to dovecot%0a%3c # If mail comes from a trusted host, send it%0a%3c # If the user is authenticated, send it%0a +host:1621265244=38.81.163.143 +author:1621263438=jrmu +diff:1621263438:1621263299:minor=21,23d20%0a%3c You will want to use [[acme-client/configure|acme-client]] to request a TLS public cert and private key%0a%3c in /etc/ssl/.%0a%3c %0a28,29c25,26%0a%3c pki example.com cert "/etc/ssl/example.com.fullchain.pem"%0a%3c pki example.com key "/etc/ssl/private/example.com.key"%0a---%0a> pki jrmu.coconut.ircnow.org cert "/etc/ssl/jrmu.coconut.ircnow.org.fullchain.pem"%0a> pki jrmu.coconut.ircnow.org key "/etc/ssl/private/jrmu.coconut.ircnow.org.key"%0a +host:1621263438=38.81.163.143 +author:1621263299=jrmu +diff:1621263299:1621263186:minor=7c7%0a%3c Read the [[https://github.com/poolpOrg/OpenSMTPD-book|free OpenSMTPd book]] by the%0a---%0a> Read the [[github.com/poolpOrg/OpenSMTPD-book|free OpenSMTPd book]] by the%0a +host:1621263299=38.81.163.143 +author:1621263186=jrmu +diff:1621263186:1621262883:minor=3,9d2%0a%3c !! Before we begin%0a%3c %0a%3c Read the the man pages for [[https://man.openbsd.org/smtpd|opensmtpd]], [[https://man.openbsd.org/smtpd.conf|smtpd.conf]], and [[https://man.openbsd.org/smtpctl|smtpctl]]. %0a%3c %0a%3c Read the [[github.com/poolpOrg/OpenSMTPD-book|free OpenSMTPd book]] by the%0a%3c author of OpenSMTPd%0a%3c %0a154a148%0a> Based on: https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14%0a +host:1621263186=38.81.163.143 +author:1621262883=jrmu +diff:1621262883:1621253792:=1,2c1,2%0a%3c Let's set up a mail server with dkim signing and basic spam checks:%0a%3c %0a---%0a> Here is how I set up my independent mail server. It is based on the old (now deleted) [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14|OpenSMTPd FAQ]].%0a> %0a5,7c5,6%0a%3c Opensmtpd is part of OpenBSD base, but we will also want to install some%0a%3c opensmtpd-related packages and dovecot:%0a%3c %0a---%0a> Make sure to install opensmtpd-extras:%0a> %0a9c8%0a%3c $ doas pkg_add opensmtpd-extras opensmtpd-filter-dkimsign dovecot%0a---%0a> $ doas pkg_add opensmtpd-extras%0a18,20c17,19%0a%3c pki jrmu.coconut.ircnow.org cert "/etc/ssl/jrmu.coconut.ircnow.org.fullchain.pem"%0a%3c pki jrmu.coconut.ircnow.org key "/etc/ssl/private/jrmu.coconut.ircnow.org.key"%0a%3c %0a---%0a> pki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0a> pki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a> %0a27c26,27%0a%3c %0a---%0a> table spammers file:/etc/mail/spammers%0a> %0a31,38c31,32%0a%3c filter "dkimsign" proc-exec "filter-dkimsign -d jrmu.coconut.ircnow.org -s mail -k /etc/mail/dkim/private.key" user _dkimsign group _dkimsign%0a%3c %0a%3c # macros%0a%3c ipv4 = "38.81.163.143"%0a%3c ipv6 = "2602:fccf:1:143::"%0a%3c check = "pki jrmu.coconut.ircnow.org filter { check_rdns check_fcrdns } hostname jrmu.coconut.ircnow.org"%0a%3c authcheck = "pki jrmu.coconut.ircnow.org auth %3cpasswd> filter { check_rdns check_fcrdns } hostname jrmu.coconut.ircnow.org"%0a%3c %0a---%0a> filter check_spammers phase connect match src %3cspammers> junk%0a> %0a40,49c34,44%0a%3c listen on socket filter "dkimsign"%0a%3c listen on lo0 filter "dkimsign"%0a%3c listen on $ipv4 port 25 tls $check%0a%3c listen on $ipv6 port 25 tls $check%0a%3c listen on $ipv4 port 465 tls-require $authcheck%0a%3c listen on $ipv6 port 465 tls-require $authcheck%0a%3c listen on $ipv4 port 587 tls-require $authcheck%0a%3c listen on $ipv6 port 587 tls-require $authcheck%0a%3c %0a%3c # rules%0a---%0a> ipv4 = "192.168.1.1"%0a> ipv6 = "2001:db8::"%0a> %0a> # listeners%0a> listen on lo0 mask-src%0a> listen on lo0 port 10028 tag DKIM mask-src%0a> listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a> %0a52c47,48%0a%3c %0a---%0a> action "relay_dkim" relay host smtp://127.0.0.1:10027%0a> %0a56,60c52,57%0a%3c # If mail comes from a trusted host, send it%0a%3c match from src %3chosts> for any action "relay"%0a%3c %0a%3c # If the user is authenticated, send it%0a%3c match auth from any for any action "relay"%0a---%0a> # If mail is tagged with DKIM, relay it out%0a> match tag DKIM for any action "relay"%0a> %0a> # If mail comes from known good hosts or has been authenticated, relay it to dkimproxy_out%0a> match from src %3chosts> for any action "relay_dkim"%0a> match auth from any for any action "relay_dkim"%0a +host:1621262883=38.81.163.143 +author:1621253792=jrmu +diff:1621253792:1621253792:=1,247d0%0a%3c Here is how I set up my independent mail server. It is based on the old (now deleted) [[https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14|OpenSMTPd FAQ]].%0a%3c %0a%3c !! Install%0a%3c %0a%3c Make sure to install opensmtpd-extras:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add opensmtpd-extras%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c In my /etc/mail/smtpd.conf:%0a%3c %0a%3c [@%0a%3c # PKI for TLS%0a%3c pki mail.ircnow.org cert "/etc/ssl/ircnow.org.fullchain.pem"%0a%3c pki mail.ircnow.org key "/etc/ssl/private/ircnow.org.key"%0a%3c %0a%3c # tables setup%0a%3c table aliases file:/etc/mail/aliases%0a%3c table domains file:/etc/mail/domains%0a%3c table passwd passwd:/etc/mail/passwd%0a%3c table virtuals file:/etc/mail/virtuals%0a%3c table hosts file:/etc/mail/hosts%0a%3c table spammers file:/etc/mail/spammers%0a%3c %0a%3c # Blocks junk mail%0a%3c filter check_rdns phase connect match !rdns junk%0a%3c filter check_fcrdns phase connect match !fcrdns junk%0a%3c filter check_spammers phase connect match src %3cspammers> junk%0a%3c %0a%3c # listeners%0a%3c ipv4 = "192.168.1.1"%0a%3c ipv6 = "2001:db8::"%0a%3c %0a%3c # listeners%0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c %0a%3c action "lmtp" lmtp "/var/dovecot/lmtp" rcpt-to virtual %3cvirtuals>%0a%3c action "relay" relay%0a%3c action "relay_dkim" relay host smtp://127.0.0.1:10027%0a%3c %0a%3c # If mail is for any of our domains, pass it to dovecot%0a%3c match from any for domain %3cdomains> action "lmtp"%0a%3c %0a%3c # If mail is tagged with DKIM, relay it out%0a%3c match tag DKIM for any action "relay"%0a%3c %0a%3c # If mail comes from known good hosts or has been authenticated, relay it to dkimproxy_out%0a%3c match from src %3chosts> for any action "relay_dkim"%0a%3c match auth from any for any action "relay_dkim"%0a%3c @]%0a%3c %0a%3c A single user vmail will receive mail for all virtual users:%0a%3c %0a%3c [@%0a%3c $ doas useradd -m -g =uid -c "Virtual Mail" -d /var/vmail -s /sbin/nologin vmail%0a%3c @]%0a%3c %0a%3c The /etc/passwd file will contain a line similar to this:%0a%3c %0a%3c [@%0a%3c vmail:*:1000:1000:Virtual Mail:/var/vmail:/sbin/nologin%0a%3c @]%0a%3c %0a%3c /var/vmail is used to store virtual users' maildir folders. It will be managed by dovecot, which receives mail via LMTP.%0a%3c %0a%3c !! Adding users%0a%3c %0a%3c At the bottom of /etc/mail/aliases, add these lines:%0a%3c %0a%3c [@%0a%3c vmail: /dev/null%0a%3c root: admin@ircnow.org%0a%3c jrmu: jrmu@ircnow.org%0a%3c username: username@ircnow.org%0a%3c @]%0a%3c %0a%3c Add one line for each user.%0a%3c %0a%3c Create a new file /etc/mail/virtuals and add these lines:%0a%3c %0a%3c [@%0a%3c admin@ircnow.org vmail%0a%3c jrmu@ircnow.org vmail%0a%3c username@ircnow.org vmail%0a%3c @]%0a%3c %0a%3c A whitelist of known good senders goes into /etc/mail/hosts:%0a%3c %0a%3c [@%0a%3c localhost%0a%3c 192.168.1.1%0a%3c 2001:db8::%0a%3c @]%0a%3c %0a%3c For /etc/mail/spammers, create a blank file.%0a%3c %0a%3c The mail sender's hostname goes in /etc/mail/mailname:%0a%3c %0a%3c [@%0a%3c mail.ircnow.org%0a%3c @]%0a%3c %0a%3c The list of domains you send mail for go in /etc/mail/domains:%0a%3c %0a%3c [@%0a%3c ircnow.org%0a%3c mail.ircnow.org%0a%3c @]%0a%3c %0a%3c In /etc/mail/passwd, we have a list of colon-separated user credentials:%0a%3c %0a%3c [@%0a%3c admin@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c jrmu@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c username@ircnow.org:$2b$10$h5itbhzs73T4jsHAj9YX6Tf63yRatAquGBxoCX67wyekhCH4ZqioD6lKh::::::userdb_quota_rule=*:storage=1G%0a%3c @]%0a%3c %0a%3c '''WARNING''': Some special characters like $, when used in passwords, will cause issue with opensmtpd. To be safe, you may want to use alphanumeric characters only for your password.%0a%3c %0a%3c Make sure to set the proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown -R _smtpd:_dovecot /etc/mail/%0a%3c $ doas chmod o-rx /etc/mail/%0a%3c @]%0a%3c %0a%3c !! Spammers%0a%3c %0a%3c In /etc/mail/spammers, we have IP addresses separated by newlines.%0a%3c %0a%3c !! IMAP and POP3 via dovecot; mail signing via dkimproxy%0a%3c %0a%3c Take a look at the sample [[openbsd.dovecot|dovecot]] setup for IMAP and POP3, and the sample [[dkimproxy|dkimproxy]] setup for mail signing.%0a%3c %0a%3c There are some additional steps for how to add a new user here:%0a%3c %0a%3c Based on: https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/www/opensmtpd/faq/Attic/example1.html?rev=1.14%0a%3c %0a%3c To get hashes:%0a%3c %0a%3c [@%0a%3c $ smtpctl encrypt%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Sometimes OpenSMTPD may end up in an inconsistent state. This can happen due to a misconfiguration. One symptom is you see this error:%0a%3c %0a%3c smtpd[]: pony express: smtpd: socket: Too many open files%0a%3c %0a%3c To fix this, you can delete all the temporary files inside OpenSMTPD. '''WARNING''': this will delete any messages in the queue:%0a%3c %0a%3c [@%0a%3c $ doas rcctl stop smtpd%0a%3c $ doas rm -r /var/spool/smtpd/queue/*%0a%3c $ doas rm -r /var/spool/smtpd/offline/*%0a%3c @]%0a%3c %0a%3c At times, opensmtpd may be unable to connect because outgoing packets are being filtered. For example, suppose you are trying to send a letter to yahoo, but you get errors similar to following, showing a connection timeout:%0a%3c %0a%3c [@%0a%3c smtpd[]: smtp-out: Enabling route [] %3c-> 67.195.204.77 (mtaproxy1.free.mail.vip.bf1.yahoo.com)%0a%3c smtpd[]: smtp-out: Enabling route [] %3c-> 67.195.228.106 (mtaproxy2.free.mail.vip.gq1.yahoo.com)%0a%3c smtpd[]: mta error reason=Connection timeout%0a%3c smtpd[]: smtp-out: Disabling route [] %3c-> 104.47.55.33 (104.47.55.33) for 15s%0a%3c @]%0a%3c %0a%3c An easy way to test if your packets are being filtered is:%0a%3c %0a%3c [@%0a%3c $ dig -t mx yahoo.com%0a%3c ;; ANSWER SECTION:%0a%3c yahoo.com. 395 IN MX 1 mta6.am0.yahoodns.net.%0a%3c yahoo.com. 395 IN MX 1 mta5.am0.yahoodns.net.%0a%3c yahoo.com. 395 IN MX 1 mta7.am0.yahoodns.net.%0a%3c $ nc mta5.am0.yahoodns.net 25%0a%3c @]%0a%3c %0a%3c If you get no response, then outgoing packets to port 25 are being blocked (often due to firewalls by your VPS provider to block spam). If mail is working, you should see a 220 reply:%0a%3c %0a%3c [@%0a%3c $ nc mta5.am0.yahoodns.net 25%0a%3c 220 mtaproxy511.free.mail.ne1.yahoo.com ESMTP ready%0a%3c @]%0a%3c %0a%3c It is also possible that TLS is being dropped by the firewall. You can test using openssl:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -starttls smtp -connect mta5.am0.yahoodns.net:25%0a%3c CONNECTED(00000003)%0a%3c depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA%0a%3c verify return:1%0a%3c depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA%0a%3c verify return:1%0a%3c depth=0 C = US, ST = California, L = Sunnyvale, O = Oath Inc, CN = *.am0.yahoodns.net%0a%3c ...%0a%3c 250 STARTTLS%0a%3c @]%0a%3c %0a%3c You should see the entire SSL cert plus 250 STARTTLS reply. If you see the response hang at any point (eg, it returns CONNECTED(00000003) and nothing else), then TLS on port 25 is being filtered.%0a%3c %0a%3c If you see this warning message in /var/log/maillog:%0a%3c %0a%3c [@%0a%3c Dec 6 03:44:17 smtpd[]: info: OpenSMTPD 6.7.0 starting %0a%3c Dec 6 03:44:17 smtpd[]: pony express: smtpd: socket: Too many open files %0a%3c Dec 6 03:44:17 smtpd[]: warn: lost child: pony express exited abnormally %0a%3c @]%0a%3c %0a%3c This is due to having too many IP addresses that opensmtpd tries to bind to. This happens when you have a rule that says @@listen on egress@@:%0a%3c %0a%3c listen on egress port 25 tls pki fruit.ircnow.org mask-src filter { check_rdns check_fcrdns }%0a%3c listen on egress port 587 tls-require pki fruit.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns }%0a%3c %0a%3c These two lines mean that opensmtpd will listen to '''all''' available ip address, including the hundreds of IPv6 addresses you may have in /etc/hostname.vio0 and @@ifconfig vio0@@. To fix this, you must specify the IP addresses you want to listen to:%0a%3c %0a%3c [@%0a%3c # listeners%0a%3c ipv4 = "192.168.1.1"%0a%3c ipv6 = "2001:db8::"%0a%3c %0a%3c ...%0a%3c %0a%3c # listeners%0a%3c listen on lo0 mask-src%0a%3c listen on lo0 port 10028 tag DKIM mask-src%0a%3c listen on $ipv4 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 25 tls pki mail.ircnow.org mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv4 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c listen on $ipv6 port 587 tls-require pki mail.ircnow.org auth %3cpasswd> mask-src filter { check_rdns check_fcrdns } hostname ircnow.org%0a%3c @]%0a%3c %0a%3c !!! Open Mail Relay%0a%3c %0a%3c If all your email is being marked as spam, check @@/var/log/maillog@@ . If you see a message like the following:%0a%3c %0a%3c Jan 8 11:00:29 smtpd[39035]: 83bd6b3b1669649f mta delivery evpid=a8d16cd2144222fa from=%3cspammer@example.com> to=%3cvictim@example.com> rcpt=%3c-> source="192.168.0.1" relay="10.0.0.1 (10.0.0.1)" delay=16h2s result="TempFail" stat="451 4.7.650 The mail server [192.168.0.1] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.example.com (S843)"%0a%3c %0a%3c Then your server is being exploited as an [[openbsd/mailopenproxy|open mail relay]]! Please follow the guide to fix it.%0a +host:1621253792=38.81.163.143 blob - /dev/null blob + cc51f3d4f8529fd42c29f65cb556e492bfad5ff7 (mode 644) --- /dev/null +++ wiki.d/Opensmtpd.Openrelay @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44 +author=mkf +charset=UTF-8 +csum= +ctime=1622801276 +host=2.178.177.209 +name=Opensmtpd.Openrelay +rev=4 +targets=Openbsd.Dnsbl,Openbsd.Dkimproxy,Netcat.SMTP,Openbsd.Opensmtpd +text=(:title Beware Open Relays!:)%0a%0aAn open mail relay allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%0aChances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%0a!! Why prevent open relays?%0a%0a# It could be used to send malware (viruses, trojans, or worms)%0a# It can be used to send spam%0a# Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%0a!! Sample Config%0a%0aHere is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%0a[@%0amatch from any for any relay%0a@]%0a%0aIf you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%0a[@%0amatch from any for any action "relay_dkim"%0a@]%0a%0aDon't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%0a!! Testing for Open Mail Relays%0a%0aHere's how we test if a mail server is an open relay using [[netcat/SMTP|netcat]]:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO fakedomain.com%0a250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ccriminal@fakedomain.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cvictim@otherplace.com>%0a550 Invalid recipient: %3cvictim@otherplace.com>%0a@]%0a%0aIn this example, you are pretending to send email from criminal@fakedomain.com to%0avictim@otherplace.com using example.com as a relay.%0a%0aYou should get @@Invalid recipient@@ or some similar rejection message.%0aIf you do not, example.com is likely running an open mail relay.%0a%0aHere's how it appears when the mail server is improperly configured:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO fakedomain.com%0a250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ccriminal@fakedomain.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cvictim@otherplace.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aNotice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use '''your''' server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%0a!! How to Fix%0a%0aYou will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%0a!! See Also%0a%0a!! Open Mail Relay%0a +time=1636627059 +title=Beware Open Relays! +author:1636627059=mkf +diff:1636627059:1629668600:=63c63%0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use '''your''' server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a---%0a> Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use **your** server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a +host:1636627059=2.178.177.209 +author:1629668600=mkf +diff:1629668600:1622810316:=1,2c1,2%0a%3c (:title Beware Open Relays!:)%0a%3c %0a---%0a> (:title Beware Open Relays!!:)%0a> %0a63c63%0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use **your** server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a---%0a> Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a +host:1629668600=198.251.81.133 +author:1622810316=jrmu +diff:1622810316:1622801276:=31,32c31,32%0a%3c Here's how we test if a mail server is an open relay using [[netcat/SMTP|netcat]]:%0a%3c %0a---%0a> Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a> %0a34,41c34,35%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a%3c HELO fakedomain.com%0a%3c 250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ccriminal@fakedomain.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cvictim@otherplace.com>%0a%3c 550 Invalid recipient: %3cvictim@otherplace.com>%0a---%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a44,51c38,39%0a%3c In this example, you are pretending to send email from criminal@fakedomain.com to%0a%3c victim@otherplace.com using example.com as a relay.%0a%3c %0a%3c You should get @@Invalid recipient@@ or some similar rejection message.%0a%3c If you do not, example.com is likely running an open mail relay.%0a%3c %0a%3c Here's how it appears when the mail server is improperly configured:%0a%3c %0a---%0a> Next, we type HELO followed by our sending domain:%0a> %0a53,60c41,42%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a%3c HELO fakedomain.com%0a%3c 250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ccriminal@fakedomain.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cvictim@otherplace.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a---%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a63,70c45,99%0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%3c %0a%3c !! How to Fix%0a%3c %0a%3c You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%3c %0a%3c !! See Also%0a%3c %0a---%0a> Afterwards, we type our sending mail address:%0a> %0a> [@%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> @]%0a> %0a> And the destination mail address:%0a> %0a> [@%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> @]%0a> %0a> Then we type DATA followed by our email:%0a> %0a> [@%0a> DATA%0a> 354 Enter mail, end with "." on a line by itself%0a> Subject: Alpha Bravo Charlie Delta%0a> %0a> Echo Foxtrot Golf Hotel%0a> @]%0a> %0a> We then type . to end the email, then QUIT:%0a> %0a> [@%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a> %0a> Here's the complete process:%0a> %0a> [@%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> DATA%0a> 354 Enter mail, end with "." on a line by itself%0a> Subject: Alpha Bravo Charlie Delta%0a> %0a> Echo Foxtrot Golf Hotel%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a> %0a71a101,136%0a> %0a> Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a> %0a> [@%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> RCPT TO: %3circnownetwork@gmail.com>%0a> 550 Invalid recipient: %3circnownetwork@gmail.com>%0a> @]%0a> %0a> You should get @@Invalid recipient@@ or some similar rejection message.%0a> %0a> Here's how it appears when the mail server is improperly configured:%0a> %0a> [@%0a> $ nc bangcat.coconut.ircnow.org 25 %0a> 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> RCPT TO: %3ctest@gmail.com>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> @]%0a> %0a> Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a> %0a> !! How to Fix%0a> %0a> You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a> %0a> !! See Also%0a +host:1622810316=38.81.163.143 +author:1622801276=jrmu +diff:1622801276:1622801276:=1,136d0%0a%3c (:title Beware Open Relays!!:)%0a%3c %0a%3c An open mail relay allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%3c %0a%3c Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%3c %0a%3c !! Why prevent open relays?%0a%3c %0a%3c # It could be used to send malware (viruses, trojans, or worms)%0a%3c # It can be used to send spam%0a%3c # Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%3c %0a%3c !! Sample Config%0a%3c %0a%3c Here is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%3c %0a%3c [@%0a%3c match from any for any relay%0a%3c @]%0a%3c %0a%3c If you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%3c %0a%3c [@%0a%3c match from any for any action "relay_dkim"%0a%3c @]%0a%3c %0a%3c Don't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%3c %0a%3c !! Testing for Open Mail Relays%0a%3c %0a%3c Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c !! Open Mail Relay%0a%3c %0a%3c Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3circnownetwork@gmail.com>%0a%3c 550 Invalid recipient: %3circnownetwork@gmail.com>%0a%3c @]%0a%3c %0a%3c You should get @@Invalid recipient@@ or some similar rejection message.%0a%3c %0a%3c Here's how it appears when the mail server is improperly configured:%0a%3c %0a%3c [@%0a%3c $ nc bangcat.coconut.ircnow.org 25 %0a%3c 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3ctest@gmail.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%3c %0a%3c !! How to Fix%0a%3c %0a%3c You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%3c %0a%3c !! See Also%0a +host:1622801276=38.81.163.143 blob - /dev/null blob + 4f9ce1ce817017605aa85f93af0e138af1bfcd49 (mode 644) --- /dev/null +++ wiki.d/Opensmtpd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1621253792 +host=38.87.162.8 +name=Opensmtpd.RecentChanges +rev=68 +text=* [[Opensmtpd/Configure]] . . . December 06, 2021, at 07:16 AM by [[~jrmu]]: [==]%0a* [[Opensmtpd/Openrelay]] . . . November 11, 2021, at 10:37 AM by [[~mkf]]: [==]%0a* [[Opensmtpd/Test]] . . . October 07, 2021, at 01:59 PM by [[~jrmu]]: [==]%0a* [[Opensmtpd/Troubleshoot]] . . . October 07, 2021, at 09:28 AM by [[~mkf]]: [==]%0a +time=1638775014 blob - /dev/null blob + 2a575dca43d013d623ec42b3b11741d5b1296e8a (mode 644) --- /dev/null +++ wiki.d/Opensmtpd.Test @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1622794110 +host=125.231.16.237 +name=Opensmtpd.Test +rev=13 +targets=Email.Email,Netcat.SMTP,Opensmtpd.Openrelay,Openbsd.Opensmtpd +text=(:title Test your mail server:)%0a%0a!! Basic Sending of Mail%0a%0aAs a first basic test, try to send mail using sendmail. You'll want to log in%0ato the server using ssh. Then on the server, create the file ~/samplemail:%0a%0a[@%0a$ sendmail -v -F fromname -f from@example.com to@example.com%0aSubject: Alpha Bravo%0aMIME-Version: 1.0 %0aContent-Type: text/plain; charset=us-ascii%0aContent-Disposition: inline%0a%0aCharlie Delta Echo Foxtrot%0a@]%0a%0aReplace @@fromname@@ with the name of the sender (your name), @@from@example.com@@%0awith the sender's address, and @@to@example.com@@ with the email you want to send%0ato.%0a%0aPress ctrl+d to end the letter.%0a%0aYou should see the following output:%0a%0a[@%0a%3c%3c%3c 220 example.com ESMTP OpenSMTPD%0a>>> EHLO localhost%0a%3c%3c%3c 250-example.com Hello localhost [local], pleased to meet you%0a%3c%3c%3c 250-8BITMIME%0a%3c%3c%3c 250-ENHANCEDSTATUSCODES%0a%3c%3c%3c 250-SIZE 36700160%0a%3c%3c%3c 250-DSN%0a%3c%3c%3c 250 HELP%0a>>> MAIL FROM:%3cfrom@example.com> %0a%3c%3c%3c 250 2.0.0 Ok%0a>>> RCPT TO:%3cto@example.com> %0a%3c%3c%3c 250 2.1.5 Destination address valid: Recipient ok%0a>>> DATA%0a%3c%3c%3c 354 Enter mail, end with "." on a line by itself%0a>>> .%0a%3c%3c%3c 250 2.0.0 379ec228 Message accepted for delivery%0a>>> QUIT%0a%3c%3c%3c 221 2.0.0 Bye%0a@]%0a%0a!! Sending with your mail client%0a%0aYou should also send email from a known, working email address to your new%0amail server. Afterwards, configure your [[email/email|e-mail client]] to see if%0ayou were able to receive the letter.%0a%0a!! Sending with netcat%0a%0aYou can test to see if you can send a letter to your server using [[netcat/SMTP|netcat]]:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0a@]%0a%0aNext, we type HELO followed by our sending domain:%0a%0a[@%0aHELO example.com%0a250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a@]%0a%0aAfterwards, we type our sending mail address:%0a%0a[@%0aMAIL FROM: %3cfrom@example.com>%0a250 2.0.0 Ok%0a@]%0a%0aAnd the destination mail address:%0a%0a[@%0aRCPT TO: %3cto@example.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aThen we type DATA followed by our email:%0a%0a[@%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a@]%0a%0aWe then type . to end the email, then QUIT:%0a%0a[@%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0aHere's the complete process:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO example.com%0a250 example.com Hello example.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3cfrom@example.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cto@example.com>%0a250 2.1.5 Destination address valid: Recipient ok%0aDATA%0a354 Enter mail, end with "." on a line by itself%0aSubject: Alpha Bravo Charlie Delta%0a%0aEcho Foxtrot Golf Hotel%0a.%0a250 2.0.0 e57f9a36 Message accepted for delivery%0aQUIT%0a221 2.0.0 Bye%0a@]%0a%0a!! Open Mail Relay%0a%0aMake sure your mail server is not an [[opensmtpd/openrelay|open relay]]!%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO fakedomain.com%0a250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ccriminal@fakedomain.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cvictim@otherplace.com>%0a550 Invalid recipient: %3cvictim@otherplace.com>%0a@]%0a%0aIn this example, you are pretending to send email from criminal@fakedomain.com to%0avictim@otherplace.com using example.com as a relay.%0a%0aYou should get @@Invalid recipient@@ or some similar rejection message.%0aIf you do not, example.com is likely running an open mail relay.%0a%0aHere's how it appears when the mail server is improperly configured:%0a%0a[@%0a$ nc example.com 25 %0a220 example.com ESMTP OpenSMTPD%0aHELO fakedomain.com%0a250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0aMAIL FROM: %3ccriminal@fakedomain.com>%0a250 2.0.0 Ok%0aRCPT TO: %3cvictim@otherplace.com>%0a250 2.1.5 Destination address valid: Recipient ok%0a@]%0a%0aNotice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%0a!! Testing Deliverability%0a%0a|| URL || What's Tested ||%0a|| https://dkimvalidator.com/ || Send a test email and see if DKIM/SPF validation passes ||%0a|| http://multirbl.valli.org || Send a test email and look for any red flags ||%0a|| https://dmarc.org/resources/deployment-tools/ || ||%0a|| https://toolbox.googleapps.com/apps/checkmx || ||%0a|| https://postmaster.google.com/u/0/managedomains || ||%0a|| https://www.mail-tester.com || ||%0a|| https://www.spamscore.net/ ||%0a|| https://glockapps.com/||%0a|| https://www.senderscore.org/ || %0a|| https://www.gmass.co/inbox ||%0a|| autoreply@dmarctest.org || ||%0a|| check-auth@verifier.port25.com || ||%0a|| mailtest@unlocktheinbox.com || ||%0a%0a!! How to Fix%0a%0aYou will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%0a!! See Also%0a +time=1633615189 +title=Test your mail server +author:1633615189=jrmu +diff:1633615189:1622809434:=169,172c169%0a%3c || https://www.spamscore.net/ ||%0a%3c || https://glockapps.com/||%0a%3c || https://www.senderscore.org/ || %0a%3c || https://www.gmass.co/inbox ||%0a---%0a> %0a +host:1633615189=125.231.16.237 +author:1622809434=jrmu +diff:1622809434:1622805956:=163,164c163,164%0a%3c || https://dkimvalidator.com/ || Send a test email and see if DKIM/SPF validation passes ||%0a%3c || http://multirbl.valli.org || Send a test email and look for any red flags ||%0a---%0a> || https://dkimvalidator.com/ || ||%0a> || http://multirbl.valli.org || ||%0a +host:1622809434=38.81.163.143 +author:1622805956=jrmu +diff:1622805956:1622804586:=162,172c162,172%0a%3c || URL || What's Tested ||%0a%3c || https://dkimvalidator.com/ || ||%0a%3c || http://multirbl.valli.org || ||%0a%3c || https://dmarc.org/resources/deployment-tools/ || ||%0a%3c || https://toolbox.googleapps.com/apps/checkmx || ||%0a%3c || https://postmaster.google.com/u/0/managedomains || ||%0a%3c || https://www.mail-tester.com || ||%0a%3c %0a%3c || autoreply@dmarctest.org || ||%0a%3c || check-auth@verifier.port25.com || ||%0a%3c || mailtest@unlocktheinbox.com || ||%0a---%0a> * https://www.dnswl.org%0a> * https://dkimvalidator.com/%0a> * http://multirbl.valli.org%0a> * https://dmarc.org/resources/deployment-tools/%0a> * https://toolbox.googleapps.com/apps/checkmx%0a> * https://postmaster.google.com/u/0/managedomains%0a> * https://www.mail-tester.com%0a> %0a> * autoreply@dmarctest.org%0a> * check-auth@verifier.port25.com%0a> * mailtest@unlocktheinbox.com%0a +host:1622805956=38.81.163.143 +author:1622804586=jrmu +diff:1622804586:1622803977:=47,48c47,50%0a%3c !! Sending with your mail client%0a%3c %0a---%0a> !! Basic Receiving of Mail%0a> %0a> !!! Sending with your mail client%0a> %0a53,54c55,56%0a%3c !! Sending with netcat%0a%3c %0a---%0a> !!! Sending with netcat%0a> %0a160,172c162,174%0a%3c !! Testing Deliverability%0a%3c %0a%3c * https://www.dnswl.org%0a%3c * https://dkimvalidator.com/%0a%3c * http://multirbl.valli.org%0a%3c * https://dmarc.org/resources/deployment-tools/%0a%3c * https://toolbox.googleapps.com/apps/checkmx%0a%3c * https://postmaster.google.com/u/0/managedomains%0a%3c * https://www.mail-tester.com%0a%3c %0a%3c * autoreply@dmarctest.org%0a%3c * check-auth@verifier.port25.com%0a%3c * mailtest@unlocktheinbox.com%0a---%0a> %0a> * https://www.dnswl.org%0a> * https://dkimvalidator.com/%0a> * http://multirbl.valli.org%0a> * https://dmarc.org/resources/deployment-tools/%0a> * https://toolbox.googleapps.com/apps/checkmx%0a> * https://postmaster.google.com/u/0/managedomains%0a> * https://www.mail-tester.com%0a> %0a> * autoreply@dmarctest.org%0a> * check-auth@verifier.port25.com%0a> * mailtest@unlocktheinbox.com%0a> %0a +host:1622804586=38.81.163.143 +author:1622803977=jrmu +diff:1622803977:1622802181:=135c135%0a%3c MAIL FROM: %3ccriminal@fakedomain.com>%0a---%0a> MAIL FROM: %3cusername@example.com>%0a137,138c137,138%0a%3c RCPT TO: %3cvictim@otherplace.com>%0a%3c 550 Invalid recipient: %3cvictim@otherplace.com>%0a---%0a> RCPT TO: %3cvictim@example.com>%0a> 550 Invalid recipient: %3cvictim@example.com>%0a141,143c141,143%0a%3c In this example, you are pretending to send email from criminal@fakedomain.com to%0a%3c victim@otherplace.com using example.com as a relay.%0a%3c %0a---%0a> In this example, you are pretending to send email from username@example.com to%0a> victim@example.com.%0a> %0a154c154%0a%3c MAIL FROM: %3ccriminal@fakedomain.com>%0a---%0a> MAIL FROM: %3cusername@example.com>%0a156c156%0a%3c RCPT TO: %3cvictim@otherplace.com>%0a---%0a> RCPT TO: %3cvictim@example.com>%0a160c160%0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam another mail server with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a---%0a> Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a +host:1622803977=38.81.163.143 +author:1622802181=jrmu +diff:1622802181:1622801307:=133,135c133,135%0a%3c HELO fakedomain.com%0a%3c 250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3cusername@example.com>%0a---%0a> HELO example.com%0a> 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a137,138c137,138%0a%3c RCPT TO: %3cvictim@example.com>%0a%3c 550 Invalid recipient: %3cvictim@example.com>%0a---%0a> RCPT TO: %3circnownetwork@gmail.com>%0a> 550 Invalid recipient: %3circnownetwork@gmail.com>%0a141,143d140%0a%3c In this example, you are pretending to send email from username@example.com to%0a%3c victim@example.com.%0a%3c %0a145,146c142%0a%3c If you do not, example.com is likely running an open mail relay.%0a%3c %0a---%0a> %0a150,154c146,150%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a%3c HELO fakedomain.com%0a%3c 250 example.com Hello fakedomain.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3cusername@example.com>%0a---%0a> $ nc bangcat.coconut.ircnow.org 25 %0a> 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a156c152%0a%3c RCPT TO: %3cvictim@example.com>%0a---%0a> RCPT TO: %3ctest@gmail.com>%0a +host:1622802181=38.81.163.143 +author:1622801307=jrmu +diff:1622801307:1622800727:=57,58c57,58%0a%3c You can test to see if you can send a letter to your server using [[netcat/SMTP|netcat]]:%0a%3c %0a---%0a> Here's how to send a letter using [[netcat/usage|netcat]]:%0a> %0a125a126,138%0a> %0a> * https://www.dnswl.org%0a> * https://dkimvalidator.com/%0a> * http://multirbl.valli.org%0a> * https://dmarc.org/resources/deployment-tools/%0a> * https://toolbox.googleapps.com/apps/checkmx%0a> * https://postmaster.google.com/u/0/managedomains%0a> * https://www.mail-tester.com%0a> %0a> * autoreply@dmarctest.org%0a> * check-auth@verifier.port25.com%0a> * mailtest@unlocktheinbox.com%0a> %0a128,129c141,142%0a%3c Make sure your mail server is not an [[opensmtpd/openrelay|open relay]]!%0a%3c %0a---%0a> Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a> %0a157,170d169%0a%3c %0a%3c %0a%3c * https://www.dnswl.org%0a%3c * https://dkimvalidator.com/%0a%3c * http://multirbl.valli.org%0a%3c * https://dmarc.org/resources/deployment-tools/%0a%3c * https://toolbox.googleapps.com/apps/checkmx%0a%3c * https://postmaster.google.com/u/0/managedomains%0a%3c * https://www.mail-tester.com%0a%3c %0a%3c * autoreply@dmarctest.org%0a%3c * check-auth@verifier.port25.com%0a%3c * mailtest@unlocktheinbox.com%0a%3c %0a +host:1622801307=38.81.163.143 +author:1622800727=jrmu +diff:1622800727:1622799974:=60,61c60,61%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a---%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a68c68%0a%3c 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a---%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a74c74%0a%3c MAIL FROM: %3cfrom@example.com>%0a---%0a> MAIL FROM: %3ctest@example.com>%0a81c81%0a%3c RCPT TO: %3cto@example.com>%0a---%0a> RCPT TO: %3cjrmu@ircnow.org>%0a107,108c107,108%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a---%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a110,111c110,111%0a%3c 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3cfrom@example.com>%0a---%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a113c113%0a%3c RCPT TO: %3cto@example.com>%0a---%0a> RCPT TO: %3cjrmu@ircnow.org>%0a144,145c144,145%0a%3c $ nc example.com 25 %0a%3c 220 example.com ESMTP OpenSMTPD%0a---%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a147c147%0a%3c 250 example.com Hello example.com [38.81.163.143], pleased to meet you%0a---%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a +host:1622800727=38.81.163.143 +author:1622799974=jrmu +diff:1622799974:1622799532:=49,50d48%0a%3c !!! Sending with your mail client%0a%3c %0a55,57c53%0a%3c !!! Sending with netcat%0a%3c %0a%3c Here's how to send a letter using [[netcat/usage|netcat]]:%0a---%0a> Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a +host:1622799974=38.81.163.143 +author:1622799532=jrmu +diff:1622799532:1622799367:=46,51d45%0a%3c %0a%3c !! Basic Receiving of Mail%0a%3c %0a%3c You should also send email from a known, working email address to your new%0a%3c mail server. Afterwards, configure your [[email/email|e-mail client]] to see if%0a%3c you were able to receive the letter.%0a +host:1622799532=38.81.163.143 +author:1622799367=jrmu +diff:1622799367:1622794925:=9d8%0a%3c $ sendmail -v -F fromname -f from@example.com to@example.com%0a18,25c17%0a%3c Replace @@fromname@@ with the name of the sender (your name), @@from@example.com@@%0a%3c with the sender's address, and @@to@example.com@@ with the email you want to send%0a%3c to.%0a%3c %0a%3c Press ctrl+d to end the letter.%0a%3c %0a%3c You should see the following output:%0a%3c %0a---%0a> %0a27c19,25%0a%3c %3c%3c%3c 220 example.com ESMTP OpenSMTPD%0a---%0a> $ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a> @]%0a> %0a> Inside ~/samplemail:%0a> %0a> [@%0a> %3c%3c%3c 220 mail.ircnow.org ESMTP OpenSMTPD%0a29c27%0a%3c %3c%3c%3c 250-example.com Hello localhost [local], pleased to meet you%0a---%0a> %3c%3c%3c 250-mail.ircnow.org Hello localhost [local], pleased to meet you%0a33d30%0a%3c %3c%3c%3c 250-DSN%0a35c32%0a%3c >>> MAIL FROM:%3cfrom@example.com> %0a---%0a> >>> MAIL FROM:%3cexample@ircnow.org> %0a37c34%0a%3c >>> RCPT TO:%3cto@example.com> %0a---%0a> >>> RCPT TO:%3cmailtest@unlocktheinbox.com> %0a42c39%0a%3c %3c%3c%3c 250 2.0.0 379ec228 Message accepted for delivery%0a---%0a> %3c%3c%3c 250 2.0.0 66f4c965 Message accepted for delivery%0a47,48c44,71%0a%3c Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%3c %0a---%0a> * https://www.dnswl.org%0a> * https://dkimvalidator.com/%0a> * http://multirbl.valli.org%0a> * https://dmarc.org/resources/deployment-tools/%0a> * https://toolbox.googleapps.com/apps/checkmx%0a> * https://postmaster.google.com/u/0/managedomains%0a> * https://www.mail-tester.com%0a> %0a> * autoreply@dmarctest.org%0a> * check-auth@verifier.port25.com%0a> * mailtest@unlocktheinbox.com%0a> %0a> %0a> %0a> An open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a> %0a> An open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a> %0a> !! Why stop open proxies?%0a> %0a> # It could be used to send malware (viruses, trojans, or worms)%0a> # It can be used to send spam%0a> # Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a> %0a> !! Sample Config%0a> %0a> Here is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a> %0a50,51c73%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a---%0a> match from any for any relay%0a54,55c76,77%0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a---%0a> If you're using [[openbsd/dkimproxy|dkimproxy]]:%0a> %0a57,58c79%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a---%0a> match from any for any action "relay_dkim"%0a61,62c82,87%0a%3c Afterwards, we type our sending mail address:%0a%3c %0a---%0a> Don't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a> %0a> !! Testing for Open Mail Relays%0a> %0a> Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a> %0a64,65c89,90%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a---%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a68,69c93,94%0a%3c And the destination mail address:%0a%3c %0a---%0a> Next, we type HELO followed by our sending domain:%0a> %0a71,72c96,97%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a---%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a75,76c100,101%0a%3c Then we type DATA followed by our email:%0a%3c %0a---%0a> Afterwards, we type our sending mail address:%0a> %0a78,82c103,104%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a---%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a85,86c107,108%0a%3c We then type . to end the email, then QUIT:%0a%3c %0a---%0a> And the destination mail address:%0a> %0a88,91c110,111%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a---%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a94,95c114,115%0a%3c Here's the complete process:%0a%3c %0a---%0a> Then we type DATA followed by our email:%0a> %0a97,104d116%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a110,113d121%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a116,127c124,153%0a%3c %0a%3c * https://www.dnswl.org%0a%3c * https://dkimvalidator.com/%0a%3c * http://multirbl.valli.org%0a%3c * https://dmarc.org/resources/deployment-tools/%0a%3c * https://toolbox.googleapps.com/apps/checkmx%0a%3c * https://postmaster.google.com/u/0/managedomains%0a%3c * https://www.mail-tester.com%0a%3c %0a%3c * autoreply@dmarctest.org%0a%3c * check-auth@verifier.port25.com%0a%3c * mailtest@unlocktheinbox.com%0a---%0a> We then type . to end the email, then QUIT:%0a> %0a> [@%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a> %0a> Here's the complete process:%0a> %0a> [@%0a> $ nc ircnow.org 25 %0a> 220 ircnow.org ESMTP OpenSMTPD%0a> HELO example.com%0a> 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a> MAIL FROM: %3ctest@example.com>%0a> 250 2.0.0 Ok%0a> RCPT TO: %3cjrmu@ircnow.org>%0a> 250 2.1.5 Destination address valid: Recipient ok%0a> DATA%0a> 354 Enter mail, end with "." on a line by itself%0a> Subject: Alpha Bravo Charlie Delta%0a> %0a> Echo Foxtrot Golf Hotel%0a> .%0a> 250 2.0.0 e57f9a36 Message accepted for delivery%0a> QUIT%0a> 221 2.0.0 Bye%0a> @]%0a +host:1622799367=38.81.163.143 +author:1622794925=jrmu +diff:1622794925:1622794110:=1,7c1,2%0a%3c (:title Test your mail server:)%0a%3c %0a%3c !! Basic Sending of Mail%0a%3c %0a%3c As a first basic test, try to send mail using sendmail. You'll want to log in%0a%3c to the server using ssh. Then on the server, create the file ~/samplemail:%0a%3c %0a---%0a> To check that the mail server works:%0a> %0a9,14c4%0a%3c Subject: Alpha Bravo%0a%3c MIME-Version: 1.0 %0a%3c Content-Type: text/plain; charset=us-ascii%0a%3c Content-Disposition: inline%0a%3c %0a%3c Charlie Delta Echo Foxtrot%0a---%0a> $ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a17c7,8%0a%3c %0a---%0a> Inside ~/samplemail:%0a> %0a19c10,17%0a%3c $ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a---%0a> From: example %3cexample@ircnow.org>%0a> To: mailtest@unlocktheinbox.com%0a> Subject: Alpha Bravo%0a> MIME-Version: 1.0 %0a> Content-Type: text/plain; charset=us-ascii%0a> Content-Disposition: inline%0a> %0a> Charlie Delta Echo Foxtrot%0a22,23d19%0a%3c Inside ~/samplemail:%0a%3c %0a56,191d51%0a%3c %0a%3c %0a%3c An open proxy allows any Internet user to send or receive messages using that server to hide the sender. Sometimes it can be used to provide privacy for users and bypass censorship, but often times it is unintentional. Your server could be abused to send spam because of a misconfiguration of your server.%0a%3c %0a%3c An open proxy for mail is referred to as an open mail relay. Chances are, if you're reading this, it's because your mail server has been banned for being an open mail relay.%0a%3c %0a%3c !! Why stop open proxies?%0a%3c %0a%3c # It could be used to send malware (viruses, trojans, or worms)%0a%3c # It can be used to send spam%0a%3c # Your IP will get blacklisted and put on a [[openbsd/dnsbl|DNS blacklist]]%0a%3c %0a%3c !! Sample Config%0a%3c %0a%3c Here is a sample '''misconfiguration''' (do '''NOT''' use these configs):%0a%3c %0a%3c [@%0a%3c match from any for any relay%0a%3c @]%0a%3c %0a%3c If you're using [[openbsd/dkimproxy|dkimproxy]]:%0a%3c %0a%3c [@%0a%3c match from any for any action "relay_dkim"%0a%3c @]%0a%3c %0a%3c Don't use either of the above configurations, or your mail server will be used by spammers and crackers to flood the internet with trash mail.%0a%3c %0a%3c !! Testing for Open Mail Relays%0a%3c %0a%3c Here's how we test sending a letter using [[openbsd/netcat|netcat]]:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c @]%0a%3c %0a%3c Next, we type HELO followed by our sending domain:%0a%3c %0a%3c [@%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c @]%0a%3c %0a%3c Afterwards, we type our sending mail address:%0a%3c %0a%3c [@%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c @]%0a%3c %0a%3c And the destination mail address:%0a%3c %0a%3c [@%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Then we type DATA followed by our email:%0a%3c %0a%3c [@%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c @]%0a%3c %0a%3c We then type . to end the email, then QUIT:%0a%3c %0a%3c [@%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c Here's the complete process:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3cjrmu@ircnow.org>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c DATA%0a%3c 354 Enter mail, end with "." on a line by itself%0a%3c Subject: Alpha Bravo Charlie Delta%0a%3c %0a%3c Echo Foxtrot Golf Hotel%0a%3c .%0a%3c 250 2.0.0 e57f9a36 Message accepted for delivery%0a%3c QUIT%0a%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c !! Open Mail Relay%0a%3c %0a%3c Here's how a proper mail server (not an open relay) will do when you send from a spoofed domain to another external domain:%0a%3c %0a%3c [@%0a%3c $ nc ircnow.org 25 %0a%3c 220 ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3circnownetwork@gmail.com>%0a%3c 550 Invalid recipient: %3circnownetwork@gmail.com>%0a%3c @]%0a%3c %0a%3c You should get @@Invalid recipient@@ or some similar rejection message.%0a%3c %0a%3c Here's how it appears when the mail server is improperly configured:%0a%3c %0a%3c [@%0a%3c $ nc bangcat.coconut.ircnow.org 25 %0a%3c 220 bangcat.coconut.ircnow.org ESMTP OpenSMTPD%0a%3c HELO example.com%0a%3c 250 bangcat.coconut.ircnow.org Hello example.com [38.81.163.143], pleased to meet you%0a%3c MAIL FROM: %3ctest@example.com>%0a%3c 250 2.0.0 Ok%0a%3c RCPT TO: %3ctest@gmail.com>%0a%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c @]%0a%3c %0a%3c Notice this time it says @@Recipient ok@@ even though it comes from a spoofed sender to an external domain. This will allow anyone to use @@your@@ server to spam external domains with forged addresses. If you don't fix this, you will get blacklisted for spam!%0a%3c %0a%3c !! How to Fix%0a%3c %0a%3c You will want to check your [[openbsd/opensmtpd|smtpd.conf]] ruleset to make sure you '''never''' allow any domain to send to any domain. You should only allow local hosts to send to external domains, and for any host to send to your domains.%0a%3c %0a%3c !! See Also%0a +host:1622794925=38.81.163.143 +author:1622794110=jrmu +diff:1622794110:1622794110:=1,51d0%0a%3c To check that the mail server works:%0a%3c %0a%3c [@%0a%3c $ sendmail -tv -F example -f example@ircnow.org %3c ~/samplemail%0a%3c @]%0a%3c %0a%3c Inside ~/samplemail:%0a%3c %0a%3c [@%0a%3c From: example %3cexample@ircnow.org>%0a%3c To: mailtest@unlocktheinbox.com%0a%3c Subject: Alpha Bravo%0a%3c MIME-Version: 1.0 %0a%3c Content-Type: text/plain; charset=us-ascii%0a%3c Content-Disposition: inline%0a%3c %0a%3c Charlie Delta Echo Foxtrot%0a%3c @]%0a%3c %0a%3c [@%0a%3c %3c%3c%3c 220 mail.ircnow.org ESMTP OpenSMTPD%0a%3c >>> EHLO localhost%0a%3c %3c%3c%3c 250-mail.ircnow.org Hello localhost [local], pleased to meet you%0a%3c %3c%3c%3c 250-8BITMIME%0a%3c %3c%3c%3c 250-ENHANCEDSTATUSCODES%0a%3c %3c%3c%3c 250-SIZE 36700160%0a%3c %3c%3c%3c 250 HELP%0a%3c >>> MAIL FROM:%3cexample@ircnow.org> %0a%3c %3c%3c%3c 250 2.0.0 Ok%0a%3c >>> RCPT TO:%3cmailtest@unlocktheinbox.com> %0a%3c %3c%3c%3c 250 2.1.5 Destination address valid: Recipient ok%0a%3c >>> DATA%0a%3c %3c%3c%3c 354 Enter mail, end with "." on a line by itself%0a%3c >>> .%0a%3c %3c%3c%3c 250 2.0.0 66f4c965 Message accepted for delivery%0a%3c >>> QUIT%0a%3c %3c%3c%3c 221 2.0.0 Bye%0a%3c @]%0a%3c %0a%3c * https://www.dnswl.org%0a%3c * https://dkimvalidator.com/%0a%3c * http://multirbl.valli.org%0a%3c * https://dmarc.org/resources/deployment-tools/%0a%3c * https://toolbox.googleapps.com/apps/checkmx%0a%3c * https://postmaster.google.com/u/0/managedomains%0a%3c * https://www.mail-tester.com%0a%3c %0a%3c * autoreply@dmarctest.org%0a%3c * check-auth@verifier.port25.com%0a%3c * mailtest@unlocktheinbox.com%0a%3c %0a +host:1622794110=38.81.163.143 blob - /dev/null blob + 6f25cc5e2146f3c57e8a51d120d06997b37d76ff (mode 644) --- /dev/null +++ wiki.d/Opensmtpd.Troubleshoot @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Edg/94.0.992.38 +author=mkf +charset=UTF-8 +csum= +ctime=1623219853 +host=46.166.142.215 +name=Opensmtpd.Troubleshoot +rev=4 +targets= +text=This is due to permissions issues:%0a[@%0aJun 4 04:16:51 jrmu smtpd[71633]: dkimsign: Can't open key file (/etc/mail/dkim/private.key): Permission denied%0aJun 4 04:16:51 jrmu smtpd[50276]: warn: lost processor: dkimsign exited abnormally%0aJun 3 01:30:08 jrmu smtpd[63168]: 366fb2a5ce9a0764 smtp envelope evpid=2fee16ca81516ba5 from=%3croot@jrmu.host.oddprotocol.org> to=%3croot@jrmu.host.oddprotocol.org>%0aJun 3 01:30:08 jrmu smtpd[63168]: 366fb2a7e3bb9d4b mda delivery evpid=2fee16ca81516ba5 from=%3croot@jrmu.host.oddprotocol.org> to=%3croot@jrmu.host.oddprotocol.org> rcpt=%3croot@jrmu.host.oddprotocol.org> user=jrmu delay=0s result=Ok stat=Delivered%0a@] +time=1633598936 +author:1633598936=mkf +diff:1633598936:1624187746:minor=4a5,6%0a> %0a> %0a +host:1633598936=46.166.142.215 +author:1624187746=mkf +diff:1624187746:1623220180:minor=2c2%0a%3c [@%0a---%0a> %0a9d8%0a%3c @]%0a\ No newline at end of file%0a +host:1624187746=5.238.164.102 +author:1623220180=jrmu +diff:1623220180:1623219853:=6,8d5%0a%3c %0a%3c Jun 3 01:30:08 jrmu smtpd[63168]: 366fb2a5ce9a0764 smtp envelope evpid=2fee16ca81516ba5 from=%3croot@jrmu.host.oddprotocol.org> to=%3croot@jrmu.host.oddprotocol.org>%0a%3c Jun 3 01:30:08 jrmu smtpd[63168]: 366fb2a7e3bb9d4b mda delivery evpid=2fee16ca81516ba5 from=%3croot@jrmu.host.oddprotocol.org> to=%3croot@jrmu.host.oddprotocol.org> rcpt=%3croot@jrmu.host.oddprotocol.org> user=jrmu delay=0s result=Ok stat=Delivered%0a +host:1623220180=38.81.163.143 +author:1623219853=jrmu +diff:1623219853:1623219853:=1,5d0%0a%3c This is due to permissions issues:%0a%3c %0a%3c Jun 4 04:16:51 jrmu smtpd[71633]: dkimsign: Can't open key file (/etc/mail/dkim/private.key): Permission denied%0a%3c Jun 4 04:16:51 jrmu smtpd[50276]: warn: lost processor: dkimsign exited abnormally%0a%3c %0a +host:1623219853=38.81.163.143 blob - /dev/null blob + 2b3c9784d632f5557564023ef905fe4b2e735af9 (mode 644) --- /dev/null +++ wiki.d/Openssl.Check @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626787667 +host=38.87.162.8 +name=Openssl.Check +rev=1 +targets= +text=To check if a certificate and key match:%0a%0a[@%0aopenssl x509 -noout -text -in example.com.fullchain.pem | openssl md5%0aopenssl rsa -noout -text -in example.com.key | openssl md5%0a@]%0a%0aIf you do not have a matching md5 checksum, then the public key and%0aprivate key don't match. You will need to request them again.%0a +time=1626787667 +author:1626787667=jrmu +diff:1626787667:1626787667:=1,9d0%0a%3c To check if a certificate and key match:%0a%3c %0a%3c [@%0a%3c openssl x509 -noout -text -in example.com.fullchain.pem | openssl md5%0a%3c openssl rsa -noout -text -in example.com.key | openssl md5%0a%3c @]%0a%3c %0a%3c If you do not have a matching md5 checksum, then the public key and%0a%3c private key don't match. You will need to request them again.%0a +host:1626787667=38.87.162.8 blob - /dev/null blob + 6dd3a1d292eea8b07c5a41de7b67ec300c547871 (mode 644) --- /dev/null +++ wiki.d/Openssl.Http @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1614235116 +host=91.185.130.228 +name=Openssl.Http +rev=3 +targets= +text=To get the certificate from a website, type the command below, replacing example.com:%0a%0a[@%0a$ openssl s_client -connect example.com:443 2>&1 | sed -n '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.com.pem%0a@] +time=1625028293 +author:1625028293=mkf +diff:1625028293:1614235502:=4c4%0a%3c $ openssl s_client -connect example.com:443 2>&1 | sed -n '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.com.pem%0a---%0a> openssl s_client -connect example.com:443 2>&1 | sed -n '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.com.pem%0a +host:1625028293=91.185.130.228 +author:1614235502=jrmu +diff:1614235502:1614235116:= +host:1614235502=198.251.81.119 +author:1614235116=jrmu +diff:1614235116:1614235116:=1,5d0%0a%3c To get the certificate from a website, type the command below, replacing example.com:%0a%3c %0a%3c [@%0a%3c openssl s_client -connect example.com:443 2>&1 | sed -n '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.com.pem%0a%3c @]%0a\ No newline at end of file%0a +host:1614235116=198.251.81.119 blob - /dev/null blob + 8337bddce6368f32d49914f6733820acdde82a7b (mode 644) --- /dev/null +++ wiki.d/Openssl.Imap @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +ctime=1615217206 +host=185.83.214.69 +name=Openssl.Imap +rev=18 +targets= +text=(:title Imap:)%0a%0aThis section describes HOW :%0a%0a* to telnet into your IMAP "Dovecot" server,%0a* to test (fast method) if your IMAP authentication process (login, password) is correct and working%0a* to check if any Inbox exist,%0a* to check if any other mailbox(es) exist,%0a* to gracefully logout from telnet session.%0a%0aSyntax : openssl s_client -starttls imap -connect %3cyourserver>:143%0a%0aExample : openssl s_client -starttls imap -connect example.com:143%0a%0aFollow the process as outlined below for IMAP telnet-ting:%0a%0a'''[1] To start telnet session,'''%0a%0a* '''type:''' $ openssl s_client -starttls imap -connect example.com:143%0a%0aOnce your telnet session is successful, you shall see responses:%0a%0aTrying example.com...%0aConnected to example.com.%0aEscape character is '^]'.%0a* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot ready.%0a%0a'''[2] Telnet session shall wait for you to authenticate. To enter username and password,'''%0a%0a* '''type:''' a login "username@example.com" "password" .......OR%0a* '''type:''' a login "username" "password"%0a%0a''NOTE: The syntax of either %3cusername@hostname> or %3cusername> is dependent on the type of configurations you may have on your server.''%0a%0aOnce your logon is successful, you shall see responses (details may differ + depends on server configurations, capabilities or features):%0a%0aa OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE]%0aLogged in.%0a%0a'''[3] To check if InBox exist,'''%0a%0a* '''type:''' b select inbox%0a%0aIf your Inbox exist, you shall see responses (details may differ + depends on server configurations):%0a%0a* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)%0a* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.%0a* 1 EXISTS%0a* 1 RECENT%0a* OK [UIDVALIDITY 1106186941] UIDs valid%0a* OK [UIDNEXT 2] Predicted next UID%0ab OK [READ-WRITE] Select completed.%0a* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)%0a* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.%0a* 1 EXISTS%0a* 1 RECENT%0a* OK [UIDVALIDITY 1106186941] UIDs valid%0a* OK [UIDNEXT 2] Predicted next UID%0ab OK [READ-WRITE] Select completed.%0a%0a'''[4] To check other mailbox(es) if they exist,'''%0a%0a* '''type:''' c list "" *%0a%0aIf your other mailbox(es) exist, you shall see responses (details may differ + depends on server configurations):%0a%0a* LIST (\HasNoChildren) "." INBOX%0ac OK List completed (0.001 + 0.000 secs).%0a%0a'''[5] To close the connection session and issue a graceful exit or logout:'''%0a%0a* '''type:''' e logout%0a%0ayou shall see responses:%0a%0a* BYE Logging out%0ae OK Logout completed (0.001 + 0.000 secs).%0aConnection closed by foreign host.%0a%0a%0a[END]%0a +time=1629518750 +title=Imap +author:1629518750=AncientWisdom +diff:1629518750:1628197306:=1,2d0%0a%3c (:title Imap:)%0a%3c %0a +host:1629518750=185.83.214.69 +author:1628197306=AncientWisdom +diff:1628197306:1628182908:=33c33%0a%3c Once your logon is successful, you shall see responses (details may differ + depends on server configurations, capabilities or features):%0a---%0a> Once your logon is successful, you shall see responses (details may differ + depends on server configurations):%0a +host:1628197306=2a03:e600:100::29 +author:1628182908=AncientWisdom +diff:1628182908:1628182309:=4c4%0a%3c * to test (fast method) if your IMAP authentication process (login, password) is correct and working%0a---%0a> * to test if your authentication process (login, password) is correct and working (fast method)%0a +host:1628182908=2a03:e600:100::29 +author:1628182309=AncientWisdom +diff:1628182309:1628182251:=61,62c61,62%0a%3c * '''type:''' c list "" *%0a%3c %0a---%0a> '''type:''' c list "" *%0a> %0a70c70%0a%3c * '''type:''' e logout%0a---%0a> '''type:''' e logout%0a +host:1628182309=2a03:e600:100::29 +author:1628182251=AncientWisdom +diff:1628182251:1628182106:=17,18c17,18%0a%3c * '''type:''' $ openssl s_client -starttls imap -connect example.com:143%0a%3c %0a---%0a> '''type:''' $ openssl s_client -starttls imap -connect example.com:143%0a> %0a28,30c28,30%0a%3c * '''type:''' a login "username@example.com" "password" .......OR%0a%3c * '''type:''' a login "username" "password"%0a%3c %0a---%0a> '''type:''' a login "username@example.com" "password" OR%0a> '''type:''' a login "username" "password"%0a> %0a40,41c40,41%0a%3c * '''type:''' b select inbox%0a%3c %0a---%0a> '''type:'''b select inbox%0a> %0a61,62c61,62%0a%3c '''type:''' c list "" *%0a%3c %0a---%0a> '''type:'''c list "" *%0a> %0a70c70%0a%3c '''type:''' e logout%0a---%0a> '''type:'''e logout%0a +host:1628182251=2a03:e600:100::29 +author:1628182106=AncientWisdom +diff:1628182106:1628182017:=26,30c26,30%0a%3c '''[2] Telnet session shall wait for you to authenticate. To enter username and password,'''%0a%3c %0a%3c '''type:''' a login "username@example.com" "password" OR%0a%3c '''type:''' a login "username" "password"%0a%3c %0a---%0a> '''[2] Telnet session shall wait for you to authenticate. To enter username and password, type:'''%0a> %0a> a login "username@example.com" "password" OR%0a> a login "username" "password"%0a> %0a38,41c38,41%0a%3c '''[3] To check if InBox exist,'''%0a%3c %0a%3c '''type:'''b select inbox%0a%3c %0a---%0a> '''[3] To check if InBox exist, type'''%0a> %0a> b select inbox%0a> %0a59,62c59,62%0a%3c '''[4] To check other mailbox(es) if they exist,'''%0a%3c %0a%3c '''type:'''c list "" *%0a%3c %0a---%0a> '''[4] To check other mailbox(es) if they exist, type'''%0a> %0a> c list "" *%0a> %0a68,70c68,70%0a%3c '''[5] To close the connection session and issue a graceful exit or logout:'''%0a%3c %0a%3c '''type:'''e logout%0a---%0a> '''[5] To close the connection session and issue a graceful exit or logout: type'''%0a> %0a> e logout%0a +host:1628182106=2a03:e600:100::29 +author:1628182017=AncientWisdom +diff:1628182017:1628181970:=15,17c15,17%0a%3c '''[1] To start telnet session,'''%0a%3c %0a%3c '''type:''' $ openssl s_client -starttls imap -connect example.com:143%0a---%0a> '''[1] To start telnet session,%0a> %0a> type:''' $ openssl s_client -starttls imap -connect example.com:143%0a +host:1628182017=2a03:e600:100::29 +author:1628181970=AncientWisdom +diff:1628181970:1628181224:=15,17c15,17%0a%3c '''[1] To start telnet session,%0a%3c %0a%3c type:''' $ openssl s_client -starttls imap -connect example.com:143%0a---%0a> '''[1] To start telnet session, type:'''%0a> %0a> $ openssl s_client -starttls imap -connect example.com:143%0a +host:1628181970=2a03:e600:100::29 +author:1628181224=AncientWisdom +diff:1628181224:1628181172:=4c4%0a%3c * to test if your authentication process (login, password) is correct and working (fast method)%0a---%0a> * to test if your authentication process (login, password) is correct and working (without using other ,%0a +host:1628181224=2a03:e600:100::29 +author:1628181172=AncientWisdom +diff:1628181172:1628180829:=1,4c1,3%0a%3c This section describes HOW :%0a%3c %0a%3c * to telnet into your IMAP "Dovecot" server,%0a%3c * to test if your authentication process (login, password) is correct and working (without using other ,%0a---%0a> This section describes HOWTO telnet into your IMAP "Dovecot" server and%0a> %0a> * to test if your authentication process (login, password) is correct and working,%0a +host:1628181172=2a03:e600:100::29 +author:1628180829=AncientWisdom +diff:1628180829:1628180721:=37,38c37,38%0a%3c '''[3] To check if InBox exist, type'''%0a%3c %0a---%0a> '''[3] To check if InBox exist: type'''%0a> %0a58c58%0a%3c '''[4] To check other mailbox(es) if they exist, type'''%0a---%0a> '''[4] To check other mailbox(es) if they exist: type'''%0a +host:1628180829=2a03:e600:100::29 +author:1628180721=AncientWisdom +diff:1628180721:1628180547:=1,6c1%0a%3c This section describes HOWTO telnet into your IMAP "Dovecot" server and%0a%3c %0a%3c * to test if your authentication process (login, password) is correct and working,%0a%3c * to check if any Inbox exist,%0a%3c * to check if any other mailbox(es) exist,%0a%3c * to gracefully logout from telnet session.%0a---%0a> This section describes HOWTO telnet into your IMAP "Dovecot" server and to test if your authentication process (login, password) is correct and working.%0a +host:1628180721=2a03:e600:100::29 +author:1628180547=AncientWisdom +diff:1628180547:1628180305:=1,2c1,2%0a%3c This section describes HOWTO telnet into your IMAP "Dovecot" server and to test if your authentication process (login, password) is correct and working.%0a%3c %0a---%0a> This section describes HOWTO telnet into your IMAP "Dovecot" server and to test if your login and password is correct.%0a> %0a14d13%0a%3c %0a20,21c19,20%0a%3c '''[2] Telnet session shall wait for you to authenticate. To enter username and password, type:'''%0a%3c %0a---%0a> '''[2] Then, telnet session shall wait for you to authenticate. To enter username and password, type:'''%0a> %0a28d26%0a%3c %0a37d34%0a%3c %0a53,54c50,51%0a%3c '''[4] To check other mailbox(es) if they exist: type'''%0a%3c %0a---%0a> '''[4] To check other Mailbox if they exist: type'''%0a> %0a57,58c54%0a%3c If your other mailbox(es) exist, you shall see responses (details may differ + depends on server configurations):%0a%3c %0a---%0a> If your other Mailbox exist, you shall see responses (details may differ + depends on server configurations):%0a67d62%0a%3c %0a71d65%0a%3c %0a +host:1628180547=2a03:e600:100::29 +author:1628180305=AncientWisdom +diff:1628180305:1628180166:=7,10c7,10%0a%3c Follow the process as outlined below for IMAP telnet-ting:%0a%3c %0a%3c '''[1] To start telnet session, type:'''%0a%3c %0a---%0a> Follow the process as outline below for IMAP telnet-ting:%0a> %0a> '''[1] To start telnet, type:'''%0a> %0a13c13%0a%3c Once your telnet session is successful, you shall see responses:%0a---%0a> Once your telnet is successful, you shall see responses:%0a19c19%0a%3c '''[2] Then, telnet session shall wait for you to authenticate. To enter username and password, type:'''%0a---%0a> '''[2] To enter username and password, type:'''%0a +host:1628180305=2a03:e600:100::30 +author:1628180166=AncientWisdom +diff:1628180166:1628179949:=10d9%0a%3c %0a19,20c18%0a%3c '''[2] To enter username and password, type:'''%0a%3c %0a---%0a> '''[2] Enter %3cusername@hostname> %3cpassword> OR %3cusername> %3cpassword>. NOTE: Login with %3cusername@hostname> or %3cusername> is dependent on the type of configurations you may have on your server.''' %0a24,25d21%0a%3c ''NOTE: The syntax of either %3cusername@hostname> or %3cusername> is dependent on the type of configurations you may have on your server.''%0a%3c %0a31d26%0a%3c %0a51d45%0a%3c %0a59d52%0a%3c %0a +host:1628180166=2a03:e600:100::30 +author:1628179949=AncientWisdom +diff:1628179949:1628179807:=4d3%0a%3c %0a9c8%0a%3c '''[1] To start telnet, type:'''%0a---%0a> '''[1] Start telnet'''%0a11,12d9%0a%3c %0a%3c Once your telnet is successful, you shall see responses:%0a +host:1628179949=2a03:e600:100::30 +author:1628179807=AncientWisdom +diff:1628179807:1615217206:=1,57c1%0a%3c This section describes HOWTO telnet into your IMAP "Dovecot" server and to test if your login and password is correct.%0a%3c %0a%3c Syntax : openssl s_client -starttls imap -connect %3cyourserver>:143%0a%3c Example : openssl s_client -starttls imap -connect example.com:143%0a%3c %0a%3c Follow the process as outline below for IMAP telnet-ting:%0a%3c %0a%3c '''[1] Start telnet'''%0a%3c $ openssl s_client -starttls imap -connect example.com:143%0a%3c Trying example.com...%0a%3c Connected to example.com.%0a%3c Escape character is '^]'.%0a%3c * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot ready.%0a%3c %0a%3c '''[2] Enter %3cusername@hostname> %3cpassword> OR %3cusername> %3cpassword>. NOTE: Login with %3cusername@hostname> or %3cusername> is dependent on the type of configurations you may have on your server.''' %0a%3c a login "username@example.com" "password" OR%0a%3c a login "username" "password"%0a%3c %0a%3c Once your logon is successful, you shall see responses (details may differ + depends on server configurations):%0a%3c a OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE]%0a%3c Logged in.%0a%3c %0a%3c '''[3] To check if InBox exist: type'''%0a%3c b select inbox%0a%3c %0a%3c If your Inbox exist, you shall see responses (details may differ + depends on server configurations):%0a%3c * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)%0a%3c * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.%0a%3c * 1 EXISTS%0a%3c * 1 RECENT%0a%3c * OK [UIDVALIDITY 1106186941] UIDs valid%0a%3c * OK [UIDNEXT 2] Predicted next UID%0a%3c b OK [READ-WRITE] Select completed.%0a%3c * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)%0a%3c * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.%0a%3c * 1 EXISTS%0a%3c * 1 RECENT%0a%3c * OK [UIDVALIDITY 1106186941] UIDs valid%0a%3c * OK [UIDNEXT 2] Predicted next UID%0a%3c b OK [READ-WRITE] Select completed.%0a%3c %0a%3c '''[4] To check other Mailbox if they exist: type'''%0a%3c c list "" *%0a%3c %0a%3c If your other Mailbox exist, you shall see responses (details may differ + depends on server configurations):%0a%3c * LIST (\HasNoChildren) "." INBOX%0a%3c c OK List completed (0.001 + 0.000 secs).%0a%3c %0a%3c '''[5] To close the connection session and issue a graceful exit or logout: type'''%0a%3c e logout%0a%3c %0a%3c you shall see responses:%0a%3c * BYE Logging out%0a%3c e OK Logout completed (0.001 + 0.000 secs).%0a%3c Connection closed by foreign host.%0a%3c %0a%3c [END]%0a---%0a> openssl s_client -starttls imap -connect %3cyourserver>:143%0a\ No newline at end of file%0a +host:1628179807=2a03:e600:100::30 +author:1615217206=jrmu +diff:1615217206:1615217206:=1d0%0a%3c openssl s_client -starttls imap -connect %3cyourserver>:143%0a\ No newline at end of file%0a +host:1615217206=198.251.81.119 blob - /dev/null blob + 091da470d3891172e491308fa0889acc73227e2f (mode 644) --- /dev/null +++ wiki.d/Openssl.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1614235116 +host=185.83.214.69 +name=Openssl.RecentChanges +rev=22 +text=* [[Openssl/Imap]] . . . August 21, 2021, at 04:05 AM by [[~AncientWisdom]]: [==]%0a* [[Openssl/Check]] . . . July 20, 2021, at 01:27 PM by [[~jrmu]]: [==]%0a* [[Openssl/Http]] . . . June 30, 2021, at 04:44 AM by [[~mkf]]: [==]%0a +time=1629518750 blob - /dev/null blob + f50de4075dfc8ea95f3db6bfd8dd179b4405ece5 (mode 644) --- /dev/null +++ wiki.d/Opera.Connect @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 OPR/81.0.4196.37 +author=wiz +charset=UTF-8 +csum= +ctime=1636986425 +host=77.100.13.190 +name=Opera.Connect +rev=8 +targets= +text=!! Opera Mail Client Setup%0a%0a%0aDouble-click on the downloaded file (ending in the EXE extension) in order to start the installation.%0a%0aAttach:operamail-setup1.jpg%0a%0aYou will see a window open that shows the Opera Mail icon and a statement that asks you to agree with their Terms of Service. Click on Accept and Install to proceed or Cancel to stop the installation%0a%0a%0a!!! Setting up the Email account in Opera Mail%0a%0a%0aAfter you completed adding the software to your computer, the next section is simply setting up your email account in the Opera New Account Wizard.%0a%0aStep 1%0aSelect EMAIL, then click NEXT%0a%0aStep 2%0aType in Name, email address and organization into the corresponding fields%0a%0aAttach:1.jpg%0a%0aStep3%0aType in your login name and password for your email account – this is the email account address for InMotion%0a%0aAttach:3a.jpg%0a%0aStep 4%0aSelect the Email Account type (POP or IMAP)%0a%0aAttach:4a.jpg%0a%0aStep 5%0aType in Incoming Mail Server and Outgoing server%0a%0aAttach:6a.jpg%0a%0aStep 6 %0aClick on the check box labeled “Use secure connection” if you are using a using Secure connection.%0a%0aStep 7%0aClick on FINISH to complete the setup.%0a%0aCongratulations on setting up Opera Mail! Check out the image below to see the clean interface of Opera Mail in action.%0a%0aAttach:7.jpg%0a%0a'''Additional email accounts'''%0a%0aStep 8%0a%0aTo add additional email accounts click on the top left opera mail button %0a%0aAttach:10.png %0a%0aThen follow again from Step 2 %0a%0a'''Add newsgroups'''%0a%0aYou are also can add news groups %0a%0aFollow step 8 and a window will open as Step 2 select newsgroup and follow on%0a%0a'''Customisation'''%0aIf you want to customise you mail server port according to you providers specification follow step 8, select the specific account you want to edit. Click on Edit button on right a window will pop-up as follow.%0a%0aAttach:12.png%0a%0aon top you will find 4 tabs you can select and edit as you require. %0a%0aHappy Days ;) +time=1637021549 +author:1637021549=wiz +diff:1637021549:1636989957:=49,72c49,51%0a%3c '''Additional email accounts'''%0a%3c %0a%3c Step 8%0a%3c %0a%3c To add additional email accounts click on the top left opera mail button %0a%3c %0a%3c Attach:10.png %0a%3c %0a%3c Then follow again from Step 2 %0a%3c %0a%3c '''Add newsgroups'''%0a%3c %0a%3c You are also can add news groups %0a%3c %0a%3c Follow step 8 and a window will open as Step 2 select newsgroup and follow on%0a%3c %0a%3c '''Customisation'''%0a%3c If you want to customise you mail server port according to you providers specification follow step 8, select the specific account you want to edit. Click on Edit button on right a window will pop-up as follow.%0a%3c %0a%3c Attach:12.png%0a%3c %0a%3c on top you will find 4 tabs you can select and edit as you require. %0a%3c %0a%3c Happy Days ;)%0a\ No newline at end of file%0a---%0a> Additional email account and newsgroup%0a> %0a> Attach:8.jpg %0a +host:1637021549=77.100.13.190 +author:1636989957=wiz +diff:1636989957:1636989390:=48,51d47%0a%3c %0a%3c Additional email account and newsgroup%0a%3c %0a%3c Attach:8.jpg %0a +host:1636989957=77.100.13.190 +author:1636989390=wiz +diff:1636989390:1636989192:=37,38c37,38%0a%3c Attach:6a.jpg%0a%3c %0a---%0a> Attach:6.jpg%0a> %0a47c47%0a%3c Attach:7.jpg%0a---%0a> Attach:6.png%0a +host:1636989390=77.100.13.190 +author:1636989192=wiz +diff:1636989192:1636987212:=22,23c22,23%0a%3c Attach:1.jpg%0a%3c %0a---%0a> Attach:kb-opera-new-account-wizard-1.png%0a> %0a27,28c27,28%0a%3c Attach:3a.jpg%0a%3c %0a---%0a> Attach:new-account-wiz-2.jpg%0a> %0a32,33c32,33%0a%3c Attach:4a.jpg%0a%3c %0a---%0a> Attach:new-account-wiz-3.jpg%0a> %0a37,38c37%0a%3c Attach:6.jpg%0a%3c %0a---%0a> Attach:new-account-wiz-4.jpg%0a47c46%0a%3c Attach:6.png%0a---%0a> Attach:Opera_Mail_screenshot.png%0a +host:1636989192=77.100.13.190 +author:1636987212=wiz +diff:1636987212:1636986908:=22,23c22,25%0a%3c Attach:kb-opera-new-account-wizard-1.png%0a%3c %0a---%0a> Attach:operamail-setup1.jpg%0a> %0a> Attach:1.jpg %0a> %0a26d27%0a%3c %0a28d28%0a%3c %0a31d30%0a%3c %0a33d31%0a%3c %0a36d33%0a%3c %0a40d36%0a%3c %0a45d40%0a%3c %0a +host:1636987212=77.100.13.190 +author:1636986908=wiz +diff:1636986908:1636986834:=21,22d20%0a%3c %0a%3c Attach:operamail-setup1.jpg%0a +host:1636986908=77.100.13.190 +author:1636986834=wiz +diff:1636986834:1636986425:=0a1%0a> %0a18d18%0a%3c %0a21,23c21%0a%3c %0a%3c Attach:1.jpg %0a%3c %0a---%0a> Attach:new-account-wiz.jpg %0a +host:1636986834=77.100.13.190 +author:1636986425=wiz +diff:1636986425:1636986425:=1,37d0%0a%3c %0a%3c !! Opera Mail Client Setup%0a%3c %0a%3c %0a%3c Double-click on the downloaded file (ending in the EXE extension) in order to start the installation.%0a%3c %0a%3c Attach:operamail-setup1.jpg%0a%3c %0a%3c You will see a window open that shows the Opera Mail icon and a statement that asks you to agree with their Terms of Service. Click on Accept and Install to proceed or Cancel to stop the installation%0a%3c %0a%3c %0a%3c !!! Setting up the Email account in Opera Mail%0a%3c %0a%3c %0a%3c After you completed adding the software to your computer, the next section is simply setting up your email account in the Opera New Account Wizard.%0a%3c %0a%3c Step 1%0a%3c Select EMAIL, then click NEXT%0a%3c Step 2%0a%3c Type in Name, email address and organization into the corresponding fields%0a%3c Attach:new-account-wiz.jpg %0a%3c Step3%0a%3c Type in your login name and password for your email account – this is the email account address for InMotion%0a%3c Attach:new-account-wiz-2.jpg%0a%3c Step 4%0a%3c Select the Email Account type (POP or IMAP)%0a%3c Attach:new-account-wiz-3.jpg%0a%3c Step 5%0a%3c Type in Incoming Mail Server and Outgoing server%0a%3c Attach:new-account-wiz-4.jpg%0a%3c Step 6 %0a%3c Click on the check box labeled “Use secure connection” if you are using a using Secure connection.%0a%3c Step 7%0a%3c Click on FINISH to complete the setup.%0a%3c %0a%3c Congratulations on setting up Opera Mail! Check out the image below to see the clean interface of Opera Mail in action.%0a%3c Attach:Opera_Mail_screenshot.png%0a +host:1636986425=77.100.13.190 blob - /dev/null blob + 5aa5a8fee5676a5d413287ae40736c2695cd07aa (mode 644) --- /dev/null +++ wiki.d/Opera.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 OPR/81.0.4196.37 +charset=UTF-8 +ctime=1636986425 +host=77.100.13.190 +name=Opera.RecentChanges +rev=8 +text=* [[Opera/Connect]] . . . November 16, 2021, at 12:12 AM by [[~wiz]]: [==]%0a +time=1637021549 blob - /dev/null blob + 7412039fe066db5654eed2dfa8904aaa7db1f43e (mode 644) --- /dev/null +++ wiki.d/Opernbsd.Buyvm,del-1607083597 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607083559 +host=38.81.163.7 +name=Opernbsd.Buyvm +rev=1 +targets=Openbsd.Botnow,Openbsd.Dns,Openbsd.Vhost,Openbsd.Staticnet +text=(:title OpenBSD Install Guide:)%0a%0aThis is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%0aUse your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%0a# Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0aAttach:install-panel-01.png%0a# Click on Settings.%0a # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a # Make sure to click on Save Settings.\\%0aAttach:install-panel-02.png%0a# Click on Networking.%0a # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0aAttach:install-panel-03.png%0a# Click on IPv6%0a # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0aAttach:install-panel-04.png%0a# You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0aAttach:install-panel-05.png%0a# Configure the IPv6 addresses:%0a # Click on the Status buttons and set each IPv6 address to On.%0a # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a # '''Remember''': Click Save Changes to apply.%0a# To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0aAttach:install-panel-06.png%0a# Click on Routed Subnets%0a # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0aAttach:install-panel-07.png%0a# Configure the name servers%0a # Set the nexthop IP address to one of your IPv6 addresses%0a # Set the delegated nameservers to two of your rDNS nameservers.\\%0aAttach:install-panel-08.png%0a# Click on CD-ROM%0a # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0aAttach:install-panel-09.png%0a# Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a # Upload your ISO.\\%0aAttach:install-panel-10.png%0a# Click on Volumes%0a # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0aAttach:install-panel-11.png%0a# Click on Power State at the top right, then Boot. Then, click on Console.%0aAttach:install-panel-12.png%0a# Begin installation%0a # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0aAttach:install-panel-13.png%0a# Follow the install instructions.%0aAttach:install-panel-14.png +time=1607083559 +title=OpenBSD Install Guide +author:1607083559=jrmu +diff:1607083559:1607083559:=1,53d0%0a%3c (:title OpenBSD Install Guide:)%0a%3c %0a%3c This is a quick install guide for OpenBSD 6.8 on BuyVM.%0a%3c %0a%3c Use your web browser to go to [[https://manage.buyvm.net]]. Use the username and password that was given you.%0a%3c %0a%3c # Click on the [Power State] button, then [Power Off] the server. Any time new changes to hardware apply (upgrading RAM, CPUs, patches), you must hard power off and then boot the VPS. '''WARNING''': Make sure notify your users in advance, then power off your server by running @@$ doas shutdown -p now@@ -- or else you may lose data!\\%0a%3c Attach:install-panel-01.png%0a%3c # Click on Settings.%0a%3c # Click on Enable for API settings, then click Generate. Make sure to copy these values down for use for [[Openbsd/botnow|botnow]]. They will allow you to configure rDNS records automatically using scripts.%0a%3c # Make sure the hostname matches what you want. It should probably be @@%3cfruit>.ircnow.org@@. Click Save.%0a%3c # In the KVM settings on the right, change the CPU model to QEMU, Ethernet Driver to VIRTIO, and Hard Disk Driver to VIRTIO. I suspect this hardware to be most stable (but I am not sure).%0a%3c # Make sure to click on Save Settings.\\%0a%3c Attach:install-panel-02.png%0a%3c # Click on Networking.%0a%3c # For IPv4, change the main IP address to use your DDoS filtered IP address. Make sure to save changes. Do not share your non-DDoS filtered IP address with non-teammates! If you do, you can get DDoSed and forced offline. You will have two IPs -- the DDoS filtered IP is what you share with the public, the internal IP can be used as a backdoor to log in.%0a%3c # Make sure the Status is set to On for each IP address you have. Configure the rDNS records. Save Changes. '''NOTE''': In order for rDNS to apply, you must have properly configured A/AAAA [[Openbsd/dns|DNS records]]. Please read up on [[Openbsd/vhost|vhosts]].\\%0a%3c Attach:install-panel-03.png%0a%3c # Click on IPv6%0a%3c # To use IPv6, you must assign IPv6 addresses from the dedicated IPv6 subnet. Click on Assign IPv6 Address, then Assign Multiple IPv6 Addresses.\\%0a%3c Attach:install-panel-04.png%0a%3c # You can add hundreds of IPv6 addresses, but you must add them 8 at a time. Click Add IPv6 Addresses.\\%0a%3c Attach:install-panel-05.png%0a%3c # Configure the IPv6 addresses:%0a%3c # Click on the Status buttons and set each IPv6 address to On.%0a%3c # Click on the spinning gear icon to configure rDNS or to delete the IP address.%0a%3c # '''Remember''': Click Save Changes to apply.%0a%3c # To use these IP addresses, see [[Openbsd/Staticnet|configuring static networking]] on OpenBSD. You will need to record the information about the IP addresses, the subnet, and the default gateway.\\%0a%3c Attach:install-panel-06.png%0a%3c # Click on Routed Subnets%0a%3c # This will enable you to get a /48 subnet without needing to manually enter IP addresses. You will also be given delegation for the rDNS entries.\\%0a%3c Attach:install-panel-07.png%0a%3c # Configure the name servers%0a%3c # Set the nexthop IP address to one of your IPv6 addresses%0a%3c # Set the delegated nameservers to two of your rDNS nameservers.\\%0a%3c Attach:install-panel-08.png%0a%3c # Click on CD-ROM%0a%3c # Search for OpenBSD (at the very bottom), then click Mount ISO.\\%0a%3c Attach:install-panel-09.png%0a%3c # Alternatively, to get a more recent ISO, while inside CD-ROM, click on Upload ISO.%0a%3c # Upload your ISO.\\%0a%3c Attach:install-panel-10.png%0a%3c # Click on Volumes%0a%3c # Click on the gear icon to Attach To Virtual Server. Make note of the hard disk size so you can partition and format it later.\\%0a%3c Attach:install-panel-11.png%0a%3c # Click on Power State at the top right, then Boot. Then, click on Console.%0a%3c Attach:install-panel-12.png%0a%3c # Begin installation%0a%3c # Error 1: If you see "No bootable device", double check to make sure you have mounted the CD-ROM ISO.%0a%3c # Error 2: The operating system has booted from hard disk instead of the ISO. In this case, you will want to log in and reboot using $ @@doas shutdown -r now@@ . Rebooting using software will avoid damaging your files. Do '''not''' use @@CTRL+ALT+DEL@@, @@Graceful Restart@@, @@Graceful Shutdown@@, @@Reset@@, or @@Power Off@@ unless absolutely necessary, because this will result in data corruption.%0a%3c Attach:install-panel-13.png%0a%3c # Follow the install instructions.%0a%3c Attach:install-panel-14.png%0a\ No newline at end of file%0a +host:1607083559=38.81.163.7 blob - /dev/null blob + e4530ef930ade03ea870cca296eda708c81191cb (mode 644) --- /dev/null +++ wiki.d/Opernbsd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1607083559 +host=38.81.163.7 +name=Opernbsd.RecentChanges +rev=2 +text=* [[Opernbsd/Buyvm]] . . . December 04, 2020, at 12:06 PM by [[~jrmu]]: [==]%0a +time=1607083597 blob - /dev/null blob + 292fd94541e4359d10f6e0a9fc5fc9855b3e4bc6 (mode 644) --- /dev/null +++ wiki.d/Opsofliberty.Bootcamp @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1636219004 +host=125.231.23.181 +name=Opsofliberty.Bootcamp +rev=1 +targets= +text=* [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a* [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a* [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a* [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a* [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a* [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a* [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a* [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a* [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +time=1636219004 +author:1636219004=jrmu +diff:1636219004:1636219004:=1,11d0%0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Support|ZNC Support]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=ZNC.Admin|ZNC Admin]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Ngircd.Oper|Ngircd Oper's guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Irc.Chanop|Channel Op guide]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Duty|Minutemin's duty]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Minutemin.Server|Minutemin's Server]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Team|Team procedure]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Servers.Rights|Servers' Rights]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Announce|Announcements]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Abuse.Code|Handling Abuse]]%0a%3c * [[https://wiki.ircnow.org/index.php?n=Openbsd.Police|Police Guide]]%0a +host:1636219004=125.231.23.181 blob - /dev/null blob + f60d8ce323f9f986c434ff2ecb24f7ce5cf88274 (mode 644) --- /dev/null +++ wiki.d/Opsofliberty.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1636219004 +host=125.231.23.181 +name=Opsofliberty.RecentChanges +rev=1 +text=* [[Opsofliberty/Bootcamp]] . . . November 06, 2021, at 05:16 PM by [[~jrmu]]: [==]%0a +time=1636219004 blob - /dev/null blob + ac19fe8e9fe3cb63f49807dc90622fd602fbeea5 (mode 644) --- /dev/null +++ wiki.d/Orange.Id @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=+ +ctime=1599558681 +host=203.129.25.247 +name=Orange.Id +rev=1 +targets= +text=Welkom bij IRCNow Orange. Beschikbare services:%0a%0a * tekst live chat via IRC - training en opleiding van burgers om gecentraliseerd toezicht en internetmonopolie te overwinnen;%0a * bouncer, een applicatie die je verbonden houdt met de IRC-chat als je een onstabiele verbinding of meerdere apparaten hebt;%0a * chatbots, zoals in Perl, voor games en zoekopdrachten in livechat; %0a * systeembeheer en programmering training - omvat gestructureerde cursussen met ondersteuning via IRC-chat of per e-mail; OpenBSD-platform;%0a * bestandshosting (bèta) - 1GB. Lezen via HTTP, lezen / schrijven via sftp; PHP inbegrepen. Op verzoek of na een eerste test vergroten we de opslagcapaciteit. %0a%0aU kunt zich aanmelden via onze livechat of per e-mail:%0a%0a * #ircnow op je favoriete IRC-netwerk, als het bestaat%0a * #ircnow op onze chatserver%0a * e-mail support@orange.ircnow.org %0a%0aOnze diensten zijn erop gericht om goed onderhouden en stabiel te zijn. We stellen uw feedback op prijs. Het zal worden gebruikt om onze diensten te innoveren en te verbeteren, nieuwe functies te ontwikkelen, documentatie te verbeteren en deze gebruiksvriendelijker en nuttiger te maken.%0a%0aTalen die we spreken zijn Engels, Frans, Russisch, Arabisch, Hindi, Nederlands. Ons team bestaat uit een aantal vrijwillige systeembeheerders, die de IRCNow Orange-services in hun vrije tijd onderhouden. %0a%0a%0a%0a%0a Welcome to irc.orange.ircnow.org%0a %0a ██████████%0a ██░░▒▒▒▒▒▒██%0a ██ ██▒▒▒▒▒▒▓▓██%0a ████▓▓▓▓▓▓██%0a ██ ██████%0a ██%0a ████████████%0a ████░░▒▒██▒▒▒▒▒▒████%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a ████████████%0a +time=1599558681 +author:1599558681=gry +csum:1599558681=+ +diff:1599558681:1599558681:=1,50d0%0a%3c Welkom bij IRCNow Orange. Beschikbare services:%0a%3c %0a%3c * tekst live chat via IRC - training en opleiding van burgers om gecentraliseerd toezicht en internetmonopolie te overwinnen;%0a%3c * bouncer, een applicatie die je verbonden houdt met de IRC-chat als je een onstabiele verbinding of meerdere apparaten hebt;%0a%3c * chatbots, zoals in Perl, voor games en zoekopdrachten in livechat; %0a%3c * systeembeheer en programmering training - omvat gestructureerde cursussen met ondersteuning via IRC-chat of per e-mail; OpenBSD-platform;%0a%3c * bestandshosting (bèta) - 1GB. Lezen via HTTP, lezen / schrijven via sftp; PHP inbegrepen. Op verzoek of na een eerste test vergroten we de opslagcapaciteit. %0a%3c %0a%3c U kunt zich aanmelden via onze livechat of per e-mail:%0a%3c %0a%3c * #ircnow op je favoriete IRC-netwerk, als het bestaat%0a%3c * #ircnow op onze chatserver%0a%3c * e-mail support@orange.ircnow.org %0a%3c %0a%3c Onze diensten zijn erop gericht om goed onderhouden en stabiel te zijn. We stellen uw feedback op prijs. Het zal worden gebruikt om onze diensten te innoveren en te verbeteren, nieuwe functies te ontwikkelen, documentatie te verbeteren en deze gebruiksvriendelijker en nuttiger te maken.%0a%3c %0a%3c Talen die we spreken zijn Engels, Frans, Russisch, Arabisch, Hindi, Nederlands. Ons team bestaat uit een aantal vrijwillige systeembeheerders, die de IRCNow Orange-services in hun vrije tijd onderhouden. %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Welcome to irc.orange.ircnow.org%0a%3c %0a%3c ██████████%0a%3c ██░░▒▒▒▒▒▒██%0a%3c ██ ██▒▒▒▒▒▒▓▓██%0a%3c ████▓▓▓▓▓▓██%0a%3c ██ ██████%0a%3c ██%0a%3c ████████████%0a%3c ████░░▒▒██▒▒▒▒▒▒████%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a%3c ████████████%0a +host:1599558681=203.129.25.247 blob - /dev/null blob + 21ea0793584384285a267dc8b56a2d5f2d3ccfc7 (mode 644) --- /dev/null +++ wiki.d/Orange.Nl @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=Dutch correct page +ctime=1600332211 +host=145.132.146.30 +name=Orange.Nl +rev=1 +targets= +text=Welkom bij IRCNow Orange. Beschikbare services:%0a%0a * tekst live chat via IRC - training en opleiding van burgers om gecentraliseerd toezicht en internetmonopolie te overwinnen;%0a * bouncer, een applicatie die je verbonden houdt met de IRC-chat als je een onstabiele verbinding of meerdere apparaten hebt;%0a * chatbots, zoals in Perl, voor games en zoekopdrachten in livechat; %0a * systeembeheer en programmering training - omvat gestructureerde cursussen met ondersteuning via IRC-chat of per e-mail; OpenBSD-platform;%0a * bestandshosting (bèta) - 1GB. Lezen via HTTP, lezen / schrijven via sftp; PHP inbegrepen. Op verzoek of na een eerste test vergroten we de opslagcapaciteit. %0a%0aU kunt zich aanmelden via onze livechat of per e-mail:%0a%0a * #ircnow op je favoriete IRC-netwerk, als het bestaat%0a * #ircnow op onze chatserver%0a * e-mail support@orange.ircnow.org %0a%0aOnze diensten zijn erop gericht om goed onderhouden en stabiel te zijn. We stellen uw feedback op prijs. Het zal worden gebruikt om onze diensten te innoveren en te verbeteren, nieuwe functies te ontwikkelen, documentatie te verbeteren en deze gebruiksvriendelijker en nuttiger te maken.%0a%0aTalen die we spreken zijn Engels, Frans, Russisch, Arabisch, Hindi, Nederlands. Ons team bestaat uit een aantal vrijwillige systeembeheerders, die de IRCNow Orange-services in hun vrije tijd onderhouden. %0a%0a%0a%0a%0a Welcome to irc.orange.ircnow.org%0a %0a ██████████%0a ██░░▒▒▒▒▒▒██%0a ██ ██▒▒▒▒▒▒▓▓██%0a ████▓▓▓▓▓▓██%0a ██ ██████%0a ██%0a ████████████%0a ████░░▒▒██▒▒▒▒▒▒████%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a ████████████%0a +time=1600332211 +author:1600332211=miniontoby +csum:1600332211=Dutch correct page +diff:1600332211:1600332211:=1,50d0%0a%3c Welkom bij IRCNow Orange. Beschikbare services:%0a%3c %0a%3c * tekst live chat via IRC - training en opleiding van burgers om gecentraliseerd toezicht en internetmonopolie te overwinnen;%0a%3c * bouncer, een applicatie die je verbonden houdt met de IRC-chat als je een onstabiele verbinding of meerdere apparaten hebt;%0a%3c * chatbots, zoals in Perl, voor games en zoekopdrachten in livechat; %0a%3c * systeembeheer en programmering training - omvat gestructureerde cursussen met ondersteuning via IRC-chat of per e-mail; OpenBSD-platform;%0a%3c * bestandshosting (bèta) - 1GB. Lezen via HTTP, lezen / schrijven via sftp; PHP inbegrepen. Op verzoek of na een eerste test vergroten we de opslagcapaciteit. %0a%3c %0a%3c U kunt zich aanmelden via onze livechat of per e-mail:%0a%3c %0a%3c * #ircnow op je favoriete IRC-netwerk, als het bestaat%0a%3c * #ircnow op onze chatserver%0a%3c * e-mail support@orange.ircnow.org %0a%3c %0a%3c Onze diensten zijn erop gericht om goed onderhouden en stabiel te zijn. We stellen uw feedback op prijs. Het zal worden gebruikt om onze diensten te innoveren en te verbeteren, nieuwe functies te ontwikkelen, documentatie te verbeteren en deze gebruiksvriendelijker en nuttiger te maken.%0a%3c %0a%3c Talen die we spreken zijn Engels, Frans, Russisch, Arabisch, Hindi, Nederlands. Ons team bestaat uit een aantal vrijwillige systeembeheerders, die de IRCNow Orange-services in hun vrije tijd onderhouden. %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Welcome to irc.orange.ircnow.org%0a%3c %0a%3c ██████████%0a%3c ██░░▒▒▒▒▒▒██%0a%3c ██ ██▒▒▒▒▒▒▓▓██%0a%3c ████▓▓▓▓▓▓██%0a%3c ██ ██████%0a%3c ██%0a%3c ████████████%0a%3c ████░░▒▒██▒▒▒▒▒▒████%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a%3c ████████████%0a +host:1600332211=145.132.146.30 blob - /dev/null blob + 7c83e0903b5ea835f6438d6f3cc89e164d6ddc33 (mode 644) --- /dev/null +++ wiki.d/Orange.Notes @@ -0,0 +1,40 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=expanded +ctime=1597785445 +host=203.129.25.247 +name=Orange.Notes +rev=7 +targets=Openbsd.Ngircd,Openbsd.Hopm,Openbsd.Openhttpd,Openbsd.Acme-client,Openbsd.Znc,Openbsd.Relayd,Openbsd.Oidentd,Openbsd.Eggdrop,Openbsd.Nsd,Openbsd.Opensmtpd,Openbsd.Vhost,Openbsd.Dovecot +text=!! Course%0a%0aCourse outcomes:%0a%0a- learn to log in to OpenBSD in command line. use basic commands and a text editor%0a- learn to set up a chat server, web server, bouncer, and domain names%0a- learn to compile and edit configuration files%0a- learn to troubleshoot services which are not configured correctly, such as read manuals and log files%0a%0a%0aCourse components:%0a%0a- [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%0a- [[openbsd.hopm]] - check that it detects and bans tor%0a%0a- [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%0a- [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%0a- [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%0a- [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%0a- [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a%0a- [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%0a- [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%0a- [[Openbsd.opensmtpd]] - send and receive one email%0a%0a- [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%0a- [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address%0a%0a- [[Openbsd.dovecot]] - ???%0a%0a- ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a%0a!! How can I use CPAN as a non-root user?%0a%0a"The easiest method I have found so far is to say%0a%0a[@%0awget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib%0aeval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`%0aecho 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile%0aecho 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile%0a@]%0a%0aThis assumes your profile is named .profile, you may need to change that to be .bash_profile, .bashrc, etc. After that you can install modules by saying%0a%0a[@%0acpanm Module::Name%0a@]%0a%0aand simply use them the same way you would if the were installed in the root directories." --Juan A. Navarro, brian d foy, 2010%0a%0a...%0a%0a..%0a%0a. +time=1598499497 +author:1598499497=gry +csum:1598499497=expanded +diff:1598499497:1597987659:=34,39d33%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send one email message from your vps to your personal email address%0a%3c %0a%3c - [[Openbsd.dovecot]] - ???%0a%3c %0a%3c - ??? - configure email client with smtp and imap. Send a test message, and receive a test message.%0a +host:1598499497=203.129.25.247 +author:1597987659=gry +csum:1597987659== +diff:1597987659:1597986125:=2,11d1%0a%3c %0a%3c Course outcomes:%0a%3c %0a%3c - learn to log in to OpenBSD in command line. use basic commands and a text editor%0a%3c - learn to set up a chat server, web server, bouncer, and domain names%0a%3c - learn to compile and edit configuration files%0a%3c - learn to troubleshoot services which are not configured correctly, such as read manuals and log files%0a%3c %0a%3c %0a%3c Course components:%0a +host:1597987659=203.129.25.247 +author:1597986125=gry +csum:1597986125=+ +diff:1597986125:1597800426:=1,24d0%0a%3c !! Course%0a%3c %0a%3c - [[openbsd.ngircd]] - connect to your ircd and link it with someone else%0a%3c %0a%3c - [[openbsd.hopm]] - check that it detects and bans tor%0a%3c %0a%3c - [[openbsd.openhttpd]] - publish a 'hello world' web page%0a%3c %0a%3c - [[openbsd.acme-client]] - make "https://your vps address" work without cert errors%0a%3c %0a%3c - [[openbsd.znc]] - create account for yourself and join a channel. log in the web panel once.%0a%3c %0a%3c - [[openbsd.relayd]] - get a second subdomain; "https://your vps address" will show your httpd and "https://your other subdomain" will show your znc web panel%0a%3c %0a%3c - [[openbsd.oidentd]] - install and set it up for znc. check that it overrides users' preferences for username%0a%3c %0a%3c - [[Openbsd.Eggdrop]] - install and join to #test with any tcl plugin you like%0a%3c %0a%3c - [[Openbsd.nsd]] - install and add 'mytest' subdomain to your vps hostname address%0a%3c %0a%3c - [[Openbsd.opensmtpd]] - send and receive one email%0a%3c %0a%3c - [[Openbsd.Vhost]] - connect to irc with a custom vhost once%0a%3c %0a +host:1597986125=203.129.25.247 +author:1597800426=gry +csum:1597800426=I like trains. +diff:1597800426:1597792813:=22,24c22%0a%3c ..%0a%3c %0a%3c .%0a\ No newline at end of file%0a---%0a> ..%0a\ No newline at end of file%0a +host:1597800426=203.129.25.247 +author:1597792813=gry +csum:1597792813=+ +diff:1597792813:1597792133:=20,22c20%0a%3c ...%0a%3c %0a%3c ..%0a\ No newline at end of file%0a---%0a> ...%0a\ No newline at end of file%0a +host:1597792813=203.129.25.247 +author:1597792133=gry +csum:1597792133=dummy edit +diff:1597792133:1597785445:=18,20c18%0a%3c and simply use them the same way you would if the were installed in the root directories." --Juan A. Navarro, brian d foy, 2010%0a%3c %0a%3c ...%0a\ No newline at end of file%0a---%0a> and simply use them the same way you would if the were installed in the root directories." --Juan A. Navarro, brian d foy, 2010%0a\ No newline at end of file%0a +host:1597792133=203.129.25.247 +author:1597785445=gry +csum:1597785445=created +diff:1597785445:1597785445:=1,18d0%0a%3c !! How can I use CPAN as a non-root user?%0a%3c %0a%3c "The easiest method I have found so far is to say%0a%3c %0a%3c [@%0a%3c wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib%0a%3c eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`%0a%3c echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile%0a%3c echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile%0a%3c @]%0a%3c %0a%3c This assumes your profile is named .profile, you may need to change that to be .bash_profile, .bashrc, etc. After that you can install modules by saying%0a%3c %0a%3c [@%0a%3c cpanm Module::Name%0a%3c @]%0a%3c %0a%3c and simply use them the same way you would if the were installed in the root directories." --Juan A. Navarro, brian d foy, 2010%0a\ No newline at end of file%0a +host:1597785445=203.129.25.247 blob - /dev/null blob + eee62bc75e55f1de007fdb19e0b3a012722d7753 (mode 644) --- /dev/null +++ wiki.d/Orange.Orange @@ -0,0 +1,135 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597040548 +host=125.231.63.134 +name=Orange.Orange +rev=31 +targets=Orange.Ru,Orange.Nl,Orange.Todo +text=Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[nl|Dutch]]):%0a%0a* text '''live chat via IRC''' - citizen training and education to overcome centralized surveillance and Internet monopoly;%0a** bouncer, an application that keeps you connected to the IRC chat if you have an unstable connection or multiple devices;%0a** chat bots, like in [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]], for games and search lookup in live chat;%0a* system administration and programming '''training''' - includes structured courses with support by IRC chat or by email; OpenBSD platform;%0a* '''file hosting''' (beta) - 1GB. Read via HTTP, read/write via sftp; PHP included. We will increase storage capacity by request, or after initial testing.%0a%0aYou can sign up at our live chat or by email:%0a%0a* #ircnow at your favourite IRC network, if it exists%0a* #ircnow at our chat server [[irc://irc.orange.ircnow.org]]%0a* email support@orange.ircnow.org%0a%0aOur services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a%0aLanguages we speak include '''English, French, Russian, Arabic, Hindi, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time.%0a%0a%0a%0a%0a Welcome to irc.orange.ircnow.org%0a %0a ██████████%0a ██░░▒▒▒▒▒▒██%0a ██ ██▒▒▒▒▒▒▓▓██%0a ████▓▓▓▓▓▓██%0a ██ ██████%0a ██%0a ████████████%0a ████░░▒▒██▒▒▒▒▒▒████%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a ████████████%0a%0a[[orange/todo|Todo List]] +time=1609683054 +author:1609683054=jrmu +diff:1609683054:1600332224:=51,52d50%0a%3c %0a%3c [[orange/todo|Todo List]]%0a\ No newline at end of file%0a +host:1609683054=125.231.63.134 +author:1600332224=miniontoby +csum:1600332224=nl link +diff:1600332224:1600332183:=1c1%0a%3c Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[nl|Dutch]]):%0a---%0a> Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[id|Dutch]]):%0a +host:1600332224=145.132.146.30 +author:1600332183=miniontoby +csum:1600332183=indonesian to Dutch +diff:1600332183:1599558627:=1c1%0a%3c Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[id|Dutch]]):%0a---%0a> Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[id|Indonesian]]):%0a +host:1600332183=145.132.146.30 +author:1599558627=gry +csum:1599558627=+[[id|Indonesian]] +diff:1599558627:1599521321:=1c1%0a%3c Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]], [[id|Indonesian]]):%0a---%0a> Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]]):%0a +host:1599558627=203.129.25.247 +author:1599521321=gry +csum:1599521321=+ +diff:1599521321:1599521257:=1c1%0a%3c Welcome to IRCNow Orange. Available services (see also in [[ru|Russian]]):%0a---%0a> Welcome to IRCNow Orange. Available services (see also in [[orange.orange.ru|Russian]]):%0a +host:1599521321=203.129.25.247 +author:1599521257=gry +csum:1599521257=+ +diff:1599521257:1599482106:=1c1%0a%3c Welcome to IRCNow Orange. Available services (see also in [[orange.orange.ru|Russian]]):%0a---%0a> Welcome to IRCNow Orange. Available services:%0a +host:1599521257=203.129.25.247 +author:1599482106=miniontoby +csum:1599482106=Added Dutch to language list +diff:1599482106:1599366591:=17c17%0a%3c Languages we speak include '''English, French, Russian, Arabic, Hindi, Dutch'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time.%0a---%0a> Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time.%0a +host:1599482106=145.132.146.30 +author:1599366591=gry +csum:1599366591=''' +diff:1599366591:1599366569:=3c3%0a%3c * text '''live chat via IRC''' - citizen training and education to overcome centralized surveillance and Internet monopoly;%0a---%0a> * text live chat via IRC - citizen training and education to overcome centralized surveillance and Internet monopoly;%0a6,7c6,7%0a%3c * system administration and programming '''training''' - includes structured courses with support by IRC chat or by email; OpenBSD platform;%0a%3c * '''file hosting''' (beta) - 1GB. Read via HTTP, read/write via sftp; PHP included. We will increase storage capacity by request, or after initial testing.%0a---%0a> * system administration and programming training - includes structured courses with support by IRC chat or by email; OpenBSD platform;%0a> * file hosting (beta) - 1GB. Read via HTTP, read/write via sftp; PHP included. We will increase storage capacity by request, or after initial testing.%0a +host:1599366591=203.129.25.247 +author:1599366569=gry +csum:1599366569=+- +diff:1599366569:1599365877:=1,2c1,4%0a%3c Welcome to IRCNow Orange. Available services:%0a%3c %0a---%0a> !! Welcome to IRCNow Orange%0a> %0a> Available services:%0a> %0a8a11,12%0a> !! Sign up%0a> %0a14a19,20%0a> !! Goals%0a> %0a16a23,24%0a> !! Our team%0a> %0a18a27%0a> !! Our logo%0a +host:1599366569=203.129.25.247 +author:1599365877=gry +csum:1599365877=clarified. +diff:1599365877:1599365784:=5,9c5,9%0a%3c * text live chat via IRC - citizen training and education to overcome centralized surveillance and Internet monopoly;%0a%3c ** bouncer, an application that keeps you connected to the IRC chat if you have an unstable connection or multiple devices;%0a%3c ** chat bots, like in [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]], for games and search lookup in live chat;%0a%3c * system administration and programming training - includes structured courses with support by IRC chat or by email; OpenBSD platform;%0a%3c * file hosting (beta) - 1GB. Read via HTTP, read/write via sftp; PHP included. We will increase storage capacity by request, or after initial testing.%0a---%0a> * text live chat via IRC - citizen training and education to overcome centralized surveillance and Internet monopoly%0a> ** bouncer, an application that keeps you connected to the IRC chat if you have an unstable connection or multiple devices%0a> ** chat bots, like in [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]], for games and search lookup in live chat%0a> * system administration and programming training - includes structured courses with support by IRC chat or by email; OpenBSD platform%0a> * file hosting (beta) - 1GB storage, accessible from the web to read and via sftp for read-write access; we will increase storage capacity by request after initial testing%0a +host:1599365877=203.129.25.247 +author:1599365784=gry +csum:1599365784=simplified +diff:1599365784:1598577944:=3,20c3,28%0a%3c Available services:%0a%3c %0a%3c * text live chat via IRC - citizen training and education to overcome centralized surveillance and Internet monopoly%0a%3c ** bouncer, an application that keeps you connected to the IRC chat if you have an unstable connection or multiple devices%0a%3c ** chat bots, like in [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]], for games and search lookup in live chat%0a%3c * system administration and programming training - includes structured courses with support by IRC chat or by email; OpenBSD platform%0a%3c * file hosting (beta) - 1GB storage, accessible from the web to read and via sftp for read-write access; we will increase storage capacity by request after initial testing%0a%3c %0a%3c !! Sign up%0a%3c %0a%3c You can sign up at our live chat or by email:%0a%3c %0a%3c * #ircnow at your favourite IRC network, if it exists%0a%3c * #ircnow at our chat server [[irc://irc.orange.ircnow.org]]%0a%3c * email support@orange.ircnow.org%0a%3c %0a%3c !! Goals%0a%3c %0a---%0a> [++IRCNow Orange provides 24/7 training, via live chat, to help you run common services to overcome centralized surveillance and Internet monopoly. The focus is on public file hosting and education.++]%0a> %0a> [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance.+]%0a> %0a> !! Available services at IRCNow Orange:%0a> %0a> * IRCNow Orange IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.orange.ircnow.org]] (opens in your IRC chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a> %0a> * IRCNow Orange IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a> %0a> * IRCNow Orange IRC '''chat bot (beta)'''. We take help with set up of existing bot plugins, such as most things listed at [[https://metacpan.org/search?size=20&q=irc+bot+plugin|this page]]. This includes trivia, infobots, dice games, channel management, web search, weather, and other features. We also help you customize these existing plugins, or write your own with the help of our enthusiastic volunteers.%0a> %0a> * IRCNow Orange '''system administration and programming training'''. IRCNow currently provides a system administration and programming training programme free of charge. As a first step, you will be required to learn OpenBSD and IRC server administration on our VPS. We will give you the VPS and a few tasks to complete (with good documentation and a few helpers available to assist you) for a month. If you like it and progress well, then we can move from OpenBSD to your next preferred focus, such as teaching, customer support, programming, or service administration.%0a> %0a> * IRCNow Orange '''file hosting (beta)'''. 1GB personal storage, accessible from the web to read and via sftp for read-write access. Currently in beta. We plan to increase the storage capacity after initial testing.%0a> %0a> !! How to sign up%0a> %0a> To receive one of these services, please follow the steps below:%0a> %0a> 1. Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. %0a> %0a> (Again, if you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].)%0a> %0a> 2. Say hi, and ask to register. Please mention "IRCNow Orange" and name the service which you are interested in. Then a volunteer will assist you shortly.%0a> %0a25c33%0a%3c Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time.%0a---%0a> Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: '''gry, planetofnix. locustlord, compTECH, Siva'''.%0a +host:1599365784=203.129.25.247 +author:1598577944=gry +csum:1598577944=clarified +diff:1598577944:1597896643:=3,4c3,4%0a%3c [++IRCNow Orange provides 24/7 training, via live chat, to help you run common services to overcome centralized surveillance and Internet monopoly. The focus is on public file hosting and education.++]%0a%3c %0a---%0a> [++IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a> %0a16,17d15%0a%3c %0a%3c * IRCNow Orange '''file hosting (beta)'''. 1GB personal storage, accessible from the web to read and via sftp for read-write access. Currently in beta. We plan to increase the storage capacity after initial testing.%0a +host:1598577944=203.129.25.247 +author:1597896643=gry +csum:1597896643=dummy edit +diff:1597896643:1597622699:=1c1%0a%3c !! Welcome to IRCNow Orange%0a---%0a> !! Welcome %0a +host:1597896643=203.129.25.247 +author:1597622699=gry +csum:1597622699=expanded +diff:1597622699:1597574304:=14,15d13%0a%3c %0a%3c * IRCNow Orange '''system administration and programming training'''. IRCNow currently provides a system administration and programming training programme free of charge. As a first step, you will be required to learn OpenBSD and IRC server administration on our VPS. We will give you the VPS and a few tasks to complete (with good documentation and a few helpers available to assist you) for a month. If you like it and progress well, then we can move from OpenBSD to your next preferred focus, such as teaching, customer support, programming, or service administration.%0a +host:1597622699=203.129.25.247 +author:1597574304=gry +csum:1597574304=added +diff:1597574304:1597574269:=20,21d19%0a%3c %0a%3c (Again, if you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].)%0a +host:1597574304=203.129.25.247 +author:1597574269=gry +csum:1597574269=clarified +diff:1597574269:1597574229:=21c21%0a%3c 2. Say hi, and ask to register. Please mention "IRCNow Orange" and name the service which you are interested in. Then a volunteer will assist you shortly.%0a---%0a> 2. Say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly.%0a +host:1597574269=203.129.25.247 +author:1597574229=gry +csum:1597574229=clarified +diff:1597574229:1597574103:=1,2d0%0a%3c !! Welcome %0a%3c %0a5,7c3%0a%3c [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance.+]%0a%3c %0a%3c !! Available services at IRCNow Orange:%0a---%0a> [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Orange:+]%0a15,16d10%0a%3c !! How to sign up%0a%3c %0a25,29c19%0a%3c !! Our team%0a%3c %0a%3c Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: '''gry, planetofnix. locustlord, compTECH, Siva'''.%0a%3c %0a%3c !! Our logo%0a---%0a> Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: '''gry, planetofnix. locustlord, compTECH, Siva'''. Our logo:%0a +host:1597574229=203.129.25.247 +author:1597574103=gry +csum:1597574103=added beta service of irc bot +diff:1597574103:1597534925:=9,17c9%0a%3c * IRCNow Orange IRC '''chat bot (beta)'''. We take help with set up of existing bot plugins, such as most things listed at [[https://metacpan.org/search?size=20&q=irc+bot+plugin|this page]]. This includes trivia, infobots, dice games, channel management, web search, weather, and other features. We also help you customize these existing plugins, or write your own with the help of our enthusiastic volunteers.%0a%3c %0a%3c To receive one of these services, please follow the steps below:%0a%3c %0a%3c 1. Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. %0a%3c %0a%3c 2. Say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly.%0a%3c %0a%3c Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a---%0a> Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a +host:1597574103=203.129.25.247 +author:1597534925=gry +csum:1597534925=+ +diff:1597534925:1597045253:=5c5%0a%3c * IRCNow Orange IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.orange.ircnow.org]] (opens in your IRC chat client). If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. Our chat server is located in the US.%0a---%0a> * IRCNow Orange IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.orange.ircnow.org]] (opens in your IRC chat client). Our chat server is located in the US.%0a +host:1597534925=203.129.25.247 +author:1597045253=gry +csum:1597045253=- +diff:1597045253:1597041473:=3c3%0a%3c [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary surveillance. Available services at IRCNow Orange:+]%0a---%0a> [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:+]%0a +host:1597045253=203.129.25.247 +author:1597041473=gry +csum:1597041473=+ +diff:1597041473:1597041433:=1,3c1%0a%3c [++IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! ++]%0a%3c %0a%3c [+You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:+]%0a---%0a> [++IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:++]%0a +host:1597041473=203.129.25.247 +author:1597041433=gry +csum:1597041433=fmt +diff:1597041433:1597041356:minor=1c1%0a%3c [++IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:++]%0a---%0a> IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:%0a +host:1597041433=203.129.25.247 +author:1597041356=gry +csum:1597041356=+ +diff:1597041356:1597041327:=1c1%0a%3c IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and proprietary government surveillance. Available services at IRCNow Orange:%0a---%0a> IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a +host:1597041356=203.129.25.247 +author:1597041327=gry +csum:1597041327=+ +diff:1597041327:1597041302:minor=9c9%0a%3c Languages we speak include '''English, French, Russian, Arabic, Hindi'''. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: '''gry, planetofnix. locustlord, compTECH, Siva'''. Our logo:%0a---%0a> Languages we speak include English, French, Russian, Arabic, Hindi. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva. Our logo:%0a +host:1597041327=203.129.25.247 +author:1597041302=gry +csum:1597041302=+ +diff:1597041302:1597041268:=1c1%0a%3c IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how services work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a---%0a> IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how computers work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a +host:1597041302=203.129.25.247 +author:1597041268=gry +csum:1597041268=+ +diff:1597041268:1597040802:=1c1%0a%3c IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and '''learn how computers work''' and '''have fun''' with us, guided in real time, effectively! You can also help everyone create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a---%0a> IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and learn how you can help create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a +host:1597041268=203.129.25.247 +author:1597040802=gry +csum:1597040802=fmt +diff:1597040802:1597040743:minor=9c9,25%0a%3c Languages we speak include English, French, Russian, Arabic, Hindi. Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time: gry, planetofnix. locustlord, compTECH, Siva. Our logo:%0a---%0a> Languages we speak:%0a> %0a> * English%0a> * French%0a> * Russian%0a> * Arabic%0a> * Hindi%0a> %0a> Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time:%0a> %0a> * gry%0a> * planetofnix%0a> * locustlord%0a> * compTECH%0a> * Siva%0a> %0a> Our logo:%0a +host:1597040802=203.129.25.247 +author:1597040743=gry +csum:1597040743=fmt +diff:1597040743:1597040729:=1c1,5%0a%3c IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. Come and learn how you can help create free (libre) local communication services to reduce monopolization and government surveillance. Available services at IRCNow Orange:%0a---%0a> IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. %0a> %0a> Come and learn how you can help create free (libre) local communication services to reduce monopolization and government surveillance.%0a> %0a> Available services at IRCNow Orange:%0a +host:1597040743=203.129.25.247 +author:1597040729=gry +csum:1597040729=fmt +diff:1597040729:1597040585:minor=11c11,15%0a%3c Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added. Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly. Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a---%0a> Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added.%0a> %0a> Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly.%0a> %0a> Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a +host:1597040729=203.129.25.247 +author:1597040585=gry +csum:1597040585=+ +diff:1597040585:1597040548:=31d30%0a%3c * Siva%0a +host:1597040585=203.129.25.247 +author:1597040548=gry +csum:1597040548=created +diff:1597040548:1597040548:=1,64d0%0a%3c IRCNow Orange is a part of the IRCNow network, an infrastructure for training the next generation of people who are in control of their computing. %0a%3c %0a%3c Come and learn how you can help create free (libre) local communication services to reduce monopolization and government surveillance.%0a%3c %0a%3c Available services at IRCNow Orange:%0a%3c %0a%3c * IRCNow Orange IRC '''chat server'''. A collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, BSD, Android, iOS. Access our chat server at [[irc://irc.orange.ircnow.org]] (opens in your IRC chat client). Our chat server is located in the US.%0a%3c %0a%3c * IRCNow Orange IRC '''bouncer'''. An application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the sign-up and configuration in your favourite chat client. Available on Windows, Mac, Linux, BSD, Android, iOS. Access details provided upon successful registration. Our bouncer service is located in the US.%0a%3c %0a%3c Provided you agree to the [[Terms.Terms|terms of service (IRCNow)]], you may request any of our services '''at #ircnow at your favourite IRC network'''. If it doesn't exist, please contact us at [[irc://orange.ircnow.org/ircnow|#IRCNow (ircnow.org)]], and ask for your favourite network to be added.%0a%3c %0a%3c Come and say hi, and ask to register. Please name the service which you are interested in, and a volunteer will assist you shortly.%0a%3c %0a%3c Our services aim to be well maintained and stable. We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentation, and make them easier to use and also more useful.%0a%3c %0a%3c Languages we speak:%0a%3c %0a%3c * English%0a%3c * French%0a%3c * Russian%0a%3c * Arabic%0a%3c * Hindi%0a%3c %0a%3c Our team comprises a number of volunteer system administrators, who maintain the IRCNow Orange services in their free time:%0a%3c %0a%3c * gry%0a%3c * planetofnix%0a%3c * locustlord%0a%3c * compTECH%0a%3c %0a%3c Our logo:%0a%3c %0a%3c %0a%3c %0a%3c Welcome to irc.orange.ircnow.org%0a%3c %0a%3c ██████████%0a%3c ██░░▒▒▒▒▒▒██%0a%3c ██ ██▒▒▒▒▒▒▓▓██%0a%3c ████▓▓▓▓▓▓██%0a%3c ██ ██████%0a%3c ██%0a%3c ████████████%0a%3c ████░░▒▒██▒▒▒▒▒▒████%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██%0a%3c ████▒▒▒▒▒▒▒▒▒▒▒▒████%0a%3c ████████████%0a +host:1597040548=203.129.25.247 blob - /dev/null blob + ff2f02b2bb3cc326ed8a6bd5b15c0d10f7e31100 (mode 644) --- /dev/null +++ wiki.d/Orange.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1597040548 +host=125.231.24.226 +name=Orange.RecentChanges +rev=54 +text=* [[Orange/Todo]] . . . January 30, 2021, at 11:31 AM by [[~jrmu]]: [==]%0a* [[Orange/Orange]] . . . January 03, 2021, at 02:10 PM by [[~jrmu]]: [==]%0a* [[Orange/Nl]] . . . September 17, 2020, at 08:43 AM by [[~miniontoby]]: [=Dutch correct page=]%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* [[Orange/Notes]] . . . August 27, 2020, at 03:38 AM by [[~gry]]: [=expanded=]%0a +time=1612006314 blob - /dev/null blob + acdc9073b26ef783c02b44c0dd724e863a2a36ad (mode 644) --- /dev/null +++ wiki.d/Orange.Ru @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=+ +ctime=1599521351 +host=203.129.25.247 +name=Orange.Ru +rev=1 +targets=Orange.Orange +text=Добро пожаловать в IRCNow Orange (IRC сейчас, с апельсином).%0a%0aМы предоставляем услуги (также на [[orange|английском]]):%0a%0a* IRC-чат - в режиме прямого эфира, просто текст%0a** Вы можете создать свою чат-группу с друзьями%0a** баунсер - помогает подключаться к чату с одного ника, если у Вас много разных ПК%0a** боты на [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]] для вашей чат-группы - дают погоду, игры и т.п.%0a* файл-хостинг (бета), 1ГБ для пользователя, с PHP. Доступ через sftp.%0a%0aРегистрация сейчас производится по чату или эл. почте. Веб-регистрация будет добавлена позже.%0a%0a* #ircnow на Вашей IRC-сети, если есть. Мы есть на руснете.%0a* #ircnow на нашем чат-сервере [[irc://irc.orange.ircnow.org]]%0a* эл. почта support@orange.ircnow.org (принимаются запросы на английском и русском языках)%0a%0aХотите помочь? Пишите нам - мы будем рады слышать Ваши отзывы и совершенствовать наши услуги.%0a%0aК нам можно обращаться на английском, французском, русском, арабском, индийском и датском языках.%0a +time=1599521351 +author:1599521351=gry +csum:1599521351=+ +diff:1599521351:1599521351:=1,19d0%0a%3c Добро пожаловать в IRCNow Orange (IRC сейчас, с апельсином).%0a%3c %0a%3c Мы предоставляем услуги (также на [[orange|английском]]):%0a%3c %0a%3c * IRC-чат - в режиме прямого эфира, просто текст%0a%3c ** Вы можете создать свою чат-группу с друзьями%0a%3c ** баунсер - помогает подключаться к чату с одного ника, если у Вас много разных ПК%0a%3c ** боты на [[https://metacpan.org/search?size=20&q=irc+bot+plugin|Perl]] для вашей чат-группы - дают погоду, игры и т.п.%0a%3c * файл-хостинг (бета), 1ГБ для пользователя, с PHP. Доступ через sftp.%0a%3c %0a%3c Регистрация сейчас производится по чату или эл. почте. Веб-регистрация будет добавлена позже.%0a%3c %0a%3c * #ircnow на Вашей IRC-сети, если есть. Мы есть на руснете.%0a%3c * #ircnow на нашем чат-сервере [[irc://irc.orange.ircnow.org]]%0a%3c * эл. почта support@orange.ircnow.org (принимаются запросы на английском и русском языках)%0a%3c %0a%3c Хотите помочь? Пишите нам - мы будем рады слышать Ваши отзывы и совершенствовать наши услуги.%0a%3c %0a%3c К нам можно обращаться на английском, французском, русском, арабском, индийском и датском языках.%0a +host:1599521351=203.129.25.247 blob - /dev/null blob + 0896a8ef880b6ccc4bd695632750eb69f2ec2b4b (mode 644) --- /dev/null +++ wiki.d/Orange.Todo @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1609683267 +host=125.231.24.226 +name=Orange.Todo +rev=13 +targets=Openbsd.Install68,Openbsd.Vmminstall,Openbsd.Vmmuser,Openbsd.Bsdrd,Openbsd.Newdisk,Openbsd.Backup,Openbsd.ZNCAdmin,Openbsd.ZNCUser,Openbsd.Upgrade68,Openbsd.Buyvm,Openbsd.Znc,Openbsd.PFStable,Openbsd.Httpopenproxy +text=(:title Orange Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a %0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Practice installing [[Openbsd/Install68|OpenBSD 6.8]] on [[Openbsd/Vmminstall|Vmm]] and read the [[Openbsd/Vmmuser|VMM User's Guide]]. You also need to be familiar with the [[Openbsd/Bsdrd|bsd.rd guide]].%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a# Read up on the [[openbsd/ZNCAdmin|ZNC admin's guide]]%0a# Read up on the [[openbsd/ZNCUser|ZNC user's guide]]%0a%0aBe familiar:%0a%0a# jrmu upgraded to [[openbsd/upgrade68|Openbsd 6.8]] and added bsd.mp for multiprocessor support because team orange took too long. Please be familiar with the [[Openbsd/Buyvm|BuyVM guide]], and the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a# jrmu upgraded to [[openbsd/znc|znc version 1.8.2]] because team orange took too long%0a# jrmu configured the firewall because team orange took too long; please read and be familiar with how to [[openbsd/PFStable|configure the firewall]]%0a# How to fix [[openbsd/httpopenproxy|your open proxies]]%0a%0aDone: +time=1612006314 +title=Orange Todo list +author:1612006314=jrmu +diff:1612006314:1611913462:=10,11c10,11%0a%3c # Read up on the [[openbsd/ZNCAdmin|ZNC admin's guide]]%0a%3c # Read up on the [[openbsd/ZNCUser|ZNC user's guide]]%0a---%0a> # Read up on the [[openbsd/zncadmin|ZNC admin's guide]]%0a> # Read up on the [[openbsd/zncuser|ZNC user's guide]]%0a +host:1612006314=125.231.24.226 +author:1611913462=jrmu +diff:1611913462:1611913433:=15,17c15,17%0a%3c # jrmu upgraded to [[openbsd/upgrade68|Openbsd 6.8]] and added bsd.mp for multiprocessor support because team orange took too long. Please be familiar with the [[Openbsd/Buyvm|BuyVM guide]], and the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a%3c # jrmu upgraded to [[openbsd/znc|znc version 1.8.2]] because team orange took too long%0a%3c # jrmu configured the firewall because team orange took too long; please read and be familiar with how to [[openbsd/PFStable|configure the firewall]]%0a---%0a> # I upgraded to [[openbsd/upgrade68|Openbsd 6.8]] and added bsd.mp for multiprocessor support because team orange took too long. Please be familiar with the [[Openbsd/Buyvm|BuyVM guide]], and the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a> # I upgraded to [[openbsd/znc|znc version 1.8.2]] because team orange took too long%0a> # I configured the firewall because team orange took too long; please read and be familiar with how to [[openbsd/PFStable|configure the firewall]]%0a +host:1611913462=125.231.24.226 +author:1611913433=jrmu +diff:1611913433:1611913297:=11,12c11%0a%3c # Read up on the [[openbsd/zncuser|ZNC user's guide]]%0a%3c %0a---%0a> %0a18d16%0a%3c # How to fix [[openbsd/httpopenproxy|your open proxies]]%0a +host:1611913433=125.231.24.226 +author:1611913297=jrmu +diff:1611913297:1611913130:=10d9%0a%3c # Read up on the [[openbsd/zncadmin|ZNC admin's guide]]%0a +host:1611913297=125.231.24.226 +author:1611913130=jrmu +diff:1611913130:1609938254:=8a9,11%0a> # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support. You will need to be familiar with the [[Openbsd/Buyvm|BuyVM guide]], the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a> # Check if your ZNC is running version 1.8.2. If not, upgrade your [[openbsd/znc|znc]]%0a> # [[openbsd/PFStable|Configure the firewall]]%0a10,15d12%0a%3c %0a%3c Be familiar:%0a%3c %0a%3c # I upgraded to [[openbsd/upgrade68|Openbsd 6.8]] and added bsd.mp for multiprocessor support because team orange took too long. Please be familiar with the [[Openbsd/Buyvm|BuyVM guide]], and the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a%3c # I upgraded to [[openbsd/znc|znc version 1.8.2]] because team orange took too long%0a%3c # I configured the firewall because team orange took too long; please read and be familiar with how to [[openbsd/PFStable|configure the firewall]]%0a +host:1611913130=125.231.24.226 +author:1609938254=jrmu +diff:1609938254:1609938207:=7c7%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a---%0a> # Setup a way to collect money in your country -- Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938254=125.231.63.134 +author:1609938207=jrmu +diff:1609938207:1609743462:=7d6%0a%3c # Setup a way to collect money in your country -- Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938207=125.231.63.134 +author:1609743462=jrmu +diff:1609743462:1609743426:=7c7%0a%3c # Practice installing [[Openbsd/Install68|OpenBSD 6.8]] on [[Openbsd/Vmminstall|Vmm]] and read the [[Openbsd/Vmmuser|VMM User's Guide]]. You also need to be familiar with the [[Openbsd/Bsdrd|bsd.rd guide]].%0a---%0a> # Practice installing [[Openbsd/Install68|OpenBSD 6.8]] on [[Openbsd/Vmminstall|Vmm]] and read the [[Openbsd/Vmmuser|VMM User's Guide]].%0a +host:1609743462=125.231.63.134 +author:1609743426=jrmu +diff:1609743426:1609684217:=7,8c7%0a%3c # Practice installing [[Openbsd/Install68|OpenBSD 6.8]] on [[Openbsd/Vmminstall|Vmm]] and read the [[Openbsd/Vmmuser|VMM User's Guide]].%0a%3c # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support. You will need to be familiar with the [[Openbsd/Buyvm|BuyVM guide]], the [[Openbsd/Install68|OpenBSD 6.8 Install guide]].%0a---%0a> # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a +host:1609743426=125.231.63.134 +author:1609684217=jrmu +diff:1609684217:1609683787:=8c8%0a%3c # Check if your ZNC is running version 1.8.2. If not, upgrade your [[openbsd/znc|znc]]%0a---%0a> # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a +host:1609684217=125.231.63.134 +author:1609683787=jrmu +diff:1609683787:1609683326:=4,5d3%0a%3c %0a%3c Todo:%0a10,12c8%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a---%0a> # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a\ No newline at end of file%0a +host:1609683787=125.231.63.134 +author:1609683326=jrmu +diff:1609683326:1609683267:=1,2d0%0a%3c (:title Orange Todo list:)%0a%3c %0a +host:1609683326=125.231.63.134 +author:1609683267=jrmu +diff:1609683267:1609683267:=1,6d0%0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c # Follow the [[openbsd/upgrade68|Upgrade 6.8]] guide to install bsd.mp for multiprocessor support%0a%3c # Upgrade [[openbsd/znc|znc]] to 1.8.2%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a\ No newline at end of file%0a +host:1609683267=125.231.63.134 blob - /dev/null blob + a255d4c2343c365f386032ce78b9adac1f3a87a0 (mode 644) --- /dev/null +++ wiki.d/Outlook.Connect @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613920887 +host=198.251.81.119 +name=Outlook.Connect +rev=2 +targets= +text= Outlook Settings%0a%0aFirst of all open outlook then in the left corner press file.%0a%0aAttach:outlook01.jpg%0a%0aThen press the new account button!%0a%0aAttach:outlook02.jpg%0a%0aThen you seen this%0a%0aAttach:outlook03.jpg%0a%0aThen the following steps.%0a%0a Username%0a Email%0a Password%0a Password%0a%0aAfter this press NEXT Now the server will look for all settings (Don't change anything)%0a%0aThe server will check the options and send a test mail too this email adress.%0a%0aNow the email is ready too go.%0a%0aIf you have any kind of buggs / error's please join #email and let us know. +time=1613920990 +author:1613920990=jrmu +diff:1613920990:1613920887:=5,6c5,6%0a%3c Attach:outlook01.jpg%0a%3c %0a---%0a> Attach:outlook01.png%0a> %0a9,10c9,10%0a%3c Attach:outlook02.jpg%0a%3c %0a---%0a> Attach:outlook02.png%0a> %0a13c13%0a%3c Attach:outlook03.jpg%0a---%0a> Attach:outlook03.png%0a +host:1613920990=198.251.81.119 +author:1613920887=jrmu +diff:1613920887:1613920887:=1,28d0%0a%3c Outlook Settings%0a%3c %0a%3c First of all open outlook then in the left corner press file.%0a%3c %0a%3c Attach:outlook01.png%0a%3c %0a%3c Then press the new account button!%0a%3c %0a%3c Attach:outlook02.png%0a%3c %0a%3c Then you seen this%0a%3c %0a%3c Attach:outlook03.png%0a%3c %0a%3c Then the following steps.%0a%3c %0a%3c Username%0a%3c Email%0a%3c Password%0a%3c Password%0a%3c %0a%3c After this press NEXT Now the server will look for all settings (Don't change anything)%0a%3c %0a%3c The server will check the options and send a test mail too this email adress.%0a%3c %0a%3c Now the email is ready too go.%0a%3c %0a%3c If you have any kind of buggs / error's please join #email and let us know. %0a\ No newline at end of file%0a +host:1613920887=198.251.81.119 blob - /dev/null blob + 279090b2b15867bf3d5657e81af6a2c52dabdfe5 (mode 644) --- /dev/null +++ wiki.d/Outlook.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613920887 +host=198.251.81.119 +name=Outlook.RecentChanges +rev=2 +text=* [[Outlook/Connect]] . . . February 21, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a +time=1613920990 blob - /dev/null blob + 4772f297e4ffd9cb534236b29fcca01c1d88aa24 (mode 644) --- /dev/null +++ wiki.d/PSFTP.Connect @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613923058 +host=198.251.81.119 +name=PSFTP.Connect +rev=1 +targets= +text=Attach:PSFTP01.png +time=1613923058 +author:1613923058=jrmu +diff:1613923058:1613923058:=1d0%0a%3c Attach:PSFTP01.png%0a\ No newline at end of file%0a +host:1613923058=198.251.81.119 blob - /dev/null blob + 7adbe3aa3fd720b6f67e69a934b196c50e0916d0 (mode 644) --- /dev/null +++ wiki.d/PSFTP.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613923058 +host=198.251.81.119 +name=PSFTP.RecentChanges +rev=1 +text=* [[PSFTP/Connect]] . . . February 21, 2021, at 03:57 PM by [[~jrmu]]: [==]%0a +time=1613923058 blob - /dev/null blob + 6dd3c0e2c26dd6774c286d529c86d658c684e964 (mode 644) --- /dev/null +++ wiki.d/Password.Management @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612972788 +host=198.251.81.119 +name=Password.Management +rev=1 +targets= +text=(:title Password Management:)%0a%0aPassword management is a critical role for any sysadmin. These four functions can help you with password management.%0a%0aAppend these lines at the end of ~/.profile:%0a%0a[@%0a# Generates a new random password 80 chars in length%0afunction newpass {%0a jot -rc -s '' 80 33 127%0a}%0a%0a# Generates a new alphanumeric password 80 chars in length%0afunction alnumpass {%0a cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-80} | head -n 1%0a}%0a%0a# Pages through all your passwords%0afunction getpass {%0a openssl aes-256-cbc -d -a -in $HOME/password.asc | less%0a}%0a%0a# Writes all your passwords to ~/password%0afunction allpass {%0a openssl aes-256-cbc -d -a -in $HOME/password.asc -out $HOME/password%0a}%0a%0a# Takes your passwords in ~/password, encrypts them, then overwrites password.asc%0afunction savepass {%0a openssl aes-256-cbc -a -in $HOME/password -out $HOME/password.asc && rm -P $HOME/password%0a}%0a@]%0a%0aTo use the functions, first source the file:%0a%0a[@%0a$ . .profile%0a@]%0a%0aAfterwards, type the function in the command line:%0a%0a[@%0a$ newpass%0a@] +time=1612972788 +title=Password Management +author:1612972788=jrmu +diff:1612972788:1612972788:=1,44d0%0a%3c (:title Password Management:)%0a%3c %0a%3c Password management is a critical role for any sysadmin. These four functions can help you with password management.%0a%3c %0a%3c Append these lines at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c # Generates a new random password 80 chars in length%0a%3c function newpass {%0a%3c jot -rc -s '' 80 33 127%0a%3c }%0a%3c %0a%3c # Generates a new alphanumeric password 80 chars in length%0a%3c function alnumpass {%0a%3c cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-80} | head -n 1%0a%3c }%0a%3c %0a%3c # Pages through all your passwords%0a%3c function getpass {%0a%3c openssl aes-256-cbc -d -a -in $HOME/password.asc | less%0a%3c }%0a%3c %0a%3c # Writes all your passwords to ~/password%0a%3c function allpass {%0a%3c openssl aes-256-cbc -d -a -in $HOME/password.asc -out $HOME/password%0a%3c }%0a%3c %0a%3c # Takes your passwords in ~/password, encrypts them, then overwrites password.asc%0a%3c function savepass {%0a%3c openssl aes-256-cbc -a -in $HOME/password -out $HOME/password.asc && rm -P $HOME/password%0a%3c }%0a%3c @]%0a%3c %0a%3c To use the functions, first source the file:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c @]%0a%3c %0a%3c Afterwards, type the function in the command line:%0a%3c %0a%3c [@%0a%3c $ newpass%0a%3c @]%0a\ No newline at end of file%0a +host:1612972788=198.251.81.119 blob - /dev/null blob + 4bb8f215b8eed5f9fd46cc7d17d1e7c1516a75a7 (mode 644) --- /dev/null +++ wiki.d/Password.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1612972788 +host=198.251.81.119 +name=Password.RecentChanges +rev=1 +text=* [[Password/Management]] . . . February 10, 2021, at 03:59 PM by [[~jrmu]]: [==]%0a +time=1612972788 blob - /dev/null blob + 50b2e57cea52ee8962c46cc17a6c930d54ba47f7 (mode 644) --- /dev/null +++ wiki.d/Paster.Install @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1622643270 +host=38.87.162.8 +name=Paster.Install +rev=3 +targets= +text=[@%0a$ doas pkg_add kcgi%0a$ ftp http://releases.malikania.fr/paster/0.2.1/paster-0.2.1.tar.xz%0a$ unxz paster-0.2.1.tar.xz%0a$ tar xvf paster-0.2.1.tar%0a$ cd paster-0.2.1%0a@]%0a%0aIn the Makefile, add -I/usr/local/include%0a%0aAlternate instructions%0a%0a[@%0a$ doas pkg_add mercurial kcgi%0a$ hg clone http://hg.malikania.fr/paster/%0a$ unxz paster-0.2.1.tar.xz%0a$ tar xvf paster-0.2.1.tar%0a$ cd paster-0.2.1%0a$ make%0a$ doas make install%0a%0aIn the Makefile, add -I/usr/local/include%0a@]%0a +time=1626446750 +author:1626446750=jrmu +diff:1626446750:1622644171:=1d0%0a%3c [@%0a7,8c6%0a%3c @]%0a%3c %0a---%0a> %0a10,23d7%0a%3c %0a%3c Alternate instructions%0a%3c %0a%3c [@%0a%3c $ doas pkg_add mercurial kcgi%0a%3c $ hg clone http://hg.malikania.fr/paster/%0a%3c $ unxz paster-0.2.1.tar.xz%0a%3c $ tar xvf paster-0.2.1.tar%0a%3c $ cd paster-0.2.1%0a%3c $ make%0a%3c $ doas make install%0a%3c %0a%3c In the Makefile, add -I/usr/local/include%0a%3c @]%0a +host:1626446750=38.87.162.8 +author:1622644171=jrmu +diff:1622644171:1622643270:=1,7c1,22%0a%3c $ doas pkg_add kcgi%0a%3c $ ftp http://releases.malikania.fr/paster/0.2.1/paster-0.2.1.tar.xz%0a%3c $ unxz paster-0.2.1.tar.xz%0a%3c $ tar xvf paster-0.2.1.tar%0a%3c $ cd paster-0.2.1%0a%3c %0a%3c In the Makefile, add -I/usr/local/include%0a---%0a> get a tls cert for paste.ircnow.org%0a> %0a> in /etc/httpd.conf:%0a> %0a> server "paste.ircnow.org" {%0a> listen on egress tls port 443%0a> tls {%0a> certificate "/etc/ssl/paste.ircnow.org.fullchain.pem"%0a> key "/etc/ssl/private/paste.ircnow.org.key"%0a> }%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> location "*~" {%0a> block drop%0a> }%0a> root "/htdocs/ircnow/paste/"%0a> directory {%0a> index "index.txt"%0a> }%0a> }%0a +host:1622644171=38.81.163.143 +author:1622643270=jrmu +diff:1622643270:1622643270:=1,22d0%0a%3c get a tls cert for paste.ircnow.org%0a%3c %0a%3c in /etc/httpd.conf:%0a%3c %0a%3c server "paste.ircnow.org" {%0a%3c listen on egress tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/paste.ircnow.org.fullchain.pem"%0a%3c key "/etc/ssl/private/paste.ircnow.org.key"%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*~" {%0a%3c block drop%0a%3c }%0a%3c root "/htdocs/ircnow/paste/"%0a%3c directory {%0a%3c index "index.txt"%0a%3c }%0a%3c }%0a +host:1622643270=38.81.163.143 blob - /dev/null blob + 9c2f27344407bb5dbb1873e90045f2221b2ecf54 (mode 644) --- /dev/null +++ wiki.d/Paster.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1622643270 +host=38.87.162.8 +name=Paster.RecentChanges +rev=3 +text=* [[Paster/Install]] . . . July 16, 2021, at 02:45 PM by [[~jrmu]]: [==]%0a +time=1626446750 blob - /dev/null blob + 13b6fc27aef337bc66577ef9f5257ccecda4772b (mode 644) --- /dev/null +++ wiki.d/Pear.Pear @@ -0,0 +1,84 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0 +author=dennis +charset=UTF-8 +csum= +ctime=1600253923 +host=31.21.104.59 +name=Pear.Pear +rev=24 +targets=Pear.Todo +text=IRCNow Pear is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%0aCome and learn how services work and have fun with us, guided in real time, effectively!%0a%0aAvailable services at IRCNow Pear:%0a%0aIRCNow Pear IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.pear.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%0aIRCNow Pear IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%0aProvided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0aOur team is ready to receive donations for the server and Upgrades we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | '+DONATION+']] %3c--%0a%0aLanguages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are "Teamleader: dennis, Co-Leader: fizi, Recruiter: Quo-fan, Sysadmin: Chewbakka85" %0a%0a %0a%0a ██▓▓ %0a ▓▓▓▓██ %0a ▓▓▓▓██░░ %0a ▓▓██ %0a ▓▓██ %0a ██▓▓██ %0a ▓▓▓▓▓▓██ %0a ██▓▓██ %0a ▒▒▓▓▓▓▓▓▒▒ %0a ▓▓░░░░░░░░░░██ %0a ▒▒░░░░░░░░░░░░░░▓▓ %0a ▓▓░░ ░░░░░░░░░░░░░░██ %0a ▓▓░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░ ░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓ ░░░░░░ ░░░░░░░░░░░░██ %0a ▓▓░░░░░░ ░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░ ░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ %0a ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ %0a ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ %0a ▓▓▒▒░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░▓▓ %0a ▓▓▒▒░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ %0a ▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓ %0a ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ %0a ░░░░░░░░ ░░%0a%0a %0a %0a %0a %0aGreetz: Pear-Team%0a%0a[[pear/todo|Todo list]] +time=1611943763 +author:1611943763=dennis +diff:1611943763:1611762529:=14c14%0a%3c Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are "Teamleader: dennis, Co-Leader: fizi, Recruiter: Quo-fan, Sysadmin: Chewbakka85" %0a---%0a> Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are "dennis, fizi, Quo-fan, Chewbakka85" %0a +host:1611943763=31.21.104.59 +author:1611762529=dennis +diff:1611762529:1611762524:= +host:1611762529=31.21.104.59 +author:1611762524=dennis +diff:1611762524:1611762482:=14c14%0a%3c Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are "dennis, fizi, Quo-fan, Chewbakka85" %0a---%0a> Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85. %0a +host:1611762524=31.21.104.59 +author:1611762482=dennis +diff:1611762482:1611762477:= +host:1611762482=31.21.104.59 +author:1611762477=dennis +diff:1611762477:1611676504:=12c12%0a%3c Our team is ready to receive donations for the server and Upgrades we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | '+DONATION+']] %3c--%0a---%0a> Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | '+TEAM DONATION+']] %3c--%0a +host:1611762477=31.21.104.59 +author:1611676504=dennis +diff:1611676504:1611676445:=12,14c12,14%0a%3c Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | '+TEAM DONATION+']] %3c--%0a%3c %0a%3c Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85. %0a---%0a> Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | TEAM DONATION]] %3c--%0a> %0a> Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85. '+HEY+'%0a +host:1611676504=31.21.104.59 +author:1611676445=dennis +diff:1611676445:1611676280:=14c14%0a%3c Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85. '+HEY+'%0a---%0a> Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85'''.%0a +host:1611676445=31.21.104.59 +author:1611676280=dennis +diff:1611676280:1611676230:=12c12%0a%3c Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | TEAM DONATION]] %3c--%0a---%0a> Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | Team Donation]] %3c--%0a +host:1611676280=31.21.104.59 +author:1611676230=dennis +diff:1611676230:1611676219:= +host:1611676230=31.21.104.59 +author:1611676219=dennis +diff:1611676219:1611510763:=12c12%0a%3c Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate by clicking --> [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | Team Donation]] %3c--%0a---%0a> Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate to this email account if you like [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | Team Donation]] %0a +host:1611676219=31.21.104.59 +author:1611510763=dennis +diff:1611510763:1611509568:=14c14%0a%3c Languages we speak include English, Dutch, German, Swiss, Spanish, Urdu, Hindi, Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85'''.%0a---%0a> Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85'''.%0a +host:1611510763=31.21.104.59 +author:1611509568=dennis +diff:1611509568:1611239194:=14c14%0a%3c Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan, Chewbakka85'''.%0a---%0a> Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan'''.%0a +host:1611509568=31.21.104.59 +author:1611239194=dennis +diff:1611239194:1611239130:= +host:1611239194=31.21.104.59 +author:1611239130=dennis +diff:1611239130:1610885638:=12c12%0a%3c Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate to this email account if you like [[https://www.paypal.com/donate?hosted_button_id=XJBH9XMXGNSKG | Team Donation]] %0a---%0a> Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate to this email account if you like ( support@pear.ircnow.org )%0a +host:1611239130=31.21.104.59 +author:1610885638=dennis +diff:1610885638:1610885183:=14c14%0a%3c Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, fizi, Quo-fan'''.%0a---%0a> Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a +host:1610885638=31.21.104.59 +author:1610885183=dennis +diff:1610885183:1609684239:=12d11%0a%3c Our team is ready to receive donations for the server and we made a special Paypal account for this so people could donate to this email account if you like ( support@pear.ircnow.org )%0a +host:1610885183=31.21.104.59 +author:1609684239=jrmu +diff:1609684239:1600256089:=61,62c61,68%0a%3c %0a%3c [[pear/todo|Todo list]]%0a\ No newline at end of file%0a---%0a> %0a> %0a> %0a> %0a> %0a> %0a> %0a> %0a +host:1609684239=125.231.63.134 +author:1600256089=fizi +diff:1600256089:1600254778:=13c13%0a%3c Languages we speak include English,Dutch, Urdu , Hindi , Punjabi. Our team consist of volunteer System Administrators, who maintain the IRCNow Pear services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a---%0a> Languages we speak include English,Dutch, Pakistans. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a +host:1600256089=39.42.4.229 +author:1600254778=dennis +diff:1600254778:1600254467:=13c13%0a%3c Languages we speak include English,Dutch, Pakistans. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a---%0a> Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a +host:1600254778=31.21.104.59 +author:1600254467=dennis +diff:1600254467:1600254391:=0a1%0a> %0a17c18%0a%3c ██▓▓ %0a---%0a> * ██▓▓ %0a60,61c61,66%0a%3c Greetz: Pear-Team%0a%3c %0a---%0a> _ __ ___ __ _ _ __ %0a> | '_ \ / _ \/ _` | '__|%0a> | |_) | __/ (_| | | %0a> | .__/ \___|\__,_|_| %0a> | | %0a> |_| %0a +host:1600254467=31.21.104.59 +author:1600254391=dennis +diff:1600254391:1600254371:=0a1%0a> Pear%0a +host:1600254391=31.21.104.59 +author:1600254371=dennis +diff:1600254371:1600253929:=17,74c17,32%0a%3c %0a%3c %0a%3c * ██▓▓ %0a%3c ▓▓▓▓██ %0a%3c ▓▓▓▓██░░ %0a%3c ▓▓██ %0a%3c ▓▓██ %0a%3c ██▓▓██ %0a%3c ▓▓▓▓▓▓██ %0a%3c ██▓▓██ %0a%3c ▒▒▓▓▓▓▓▓▒▒ %0a%3c ▓▓░░░░░░░░░░██ %0a%3c ▒▒░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░ ░░░░░░░░░░░░░░██ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░ ░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓ ░░░░░░ ░░░░░░░░░░░░██ %0a%3c ▓▓░░░░░░ ░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░ ░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░▓▓ %0a%3c ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ %0a%3c ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░▓▓ %0a%3c ▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ %0a%3c ▓▓▒▒░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░▓▓ %0a%3c ▓▓▒▒░░░░░░░░░░░░░░░░▒▒▒▒░░░░▓▓ %0a%3c ▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓ %0a%3c ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ %0a%3c ░░░░░░░░ ░░%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c _ __ ___ __ _ _ __ %0a%3c | '_ \ / _ \/ _` | '__|%0a%3c | |_) | __/ (_| | | %0a%3c | .__/ \___|\__,_|_| %0a%3c | | %0a%3c |_| %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> /)%0a> ,.//,%0a> /` `'` `\%0a> : :%0a> : :%0a> : :%0a> : :%0a> : ;%0a> : :%0a> ; ;%0a> ; ;%0a> : :%0a> \ /%0a> `._,.='``'-.,_,.`%0a> '-._ ~ _.-'%0a> `'''`%0a\ No newline at end of file%0a +host:1600254371=31.21.104.59 +author:1600253929=dennis +diff:1600253929:1600253923:= +host:1600253929=31.21.104.59 +author:1600253923=dennis +diff:1600253923:1600253923:=1,32d0%0a%3c Pear%0a%3c %0a%3c IRCNow Pear is part of the IRCNow network, our team at IRCNow wants to make IRC better today without changing the IRC protocol. We want to build a thriving free network with quality software. In support of IRCNow goal as an experiment to create a network run by users for the benefit of users. It is an experiment to create a truly open and free network.%0a%3c %0a%3c Come and learn how services work and have fun with us, guided in real time, effectively!%0a%3c %0a%3c Available services at IRCNow Pear:%0a%3c %0a%3c IRCNow Pear IRC chat server, a collaborative text chat platform with group chats in your topic of interest. Available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access our chat server at irc.pear.ircnow.org (type this in your favorite IRC client to connect to us). Our chat server is located at New York,USA.%0a%3c %0a%3c IRCNow Pear IRC bouncer is an application that keeps you connected to IRC. Good for unstable or mobile connections, or to access the live chat from multiple devices. This can be connected to an unlimited number of networks. Our team may help you with the easy sign up and configuration in your favourite chat client that make available on Windows, Mac, Linux, OpenBSD, Android, iOS. Access details provided upon successful registration. Remember that our bouncer service is totally free!%0a%3c %0a%3c Provided you agree to the terms of services (IRCNow), you may request any of our services at channel #IRCnow once you are connected to our servers. Currently we support more than 15 famous IRC networks and more to come. If your favourite network is not supported, kindly contact us at #IRCNow channel, and ask for your favourite network to be added. Come and say hi to our friendly staff members as we are ready to assist. Please name the service which you are interested in, and a staff member or a volunteer will assist you shortly. Our services is well maintained and IRCNow is a federation that unites together self-governing servers to provide a common network for the free and open source software community.We welcome your feedback. It will be used to innovate and improve our services, develop new features, improve documentations, and make them easier to use and also more useful by making IRC great again!%0a%3c %0a%3c Languages we speak include English, Bahasa Melayu,. Our team consist of volunteer System Administrators, who maintain the IRCNow Lemon services in their free time. They are '''dennis, Silence, fizi, Quo-fan'''.%0a%3c %0a%3c /)%0a%3c ,.//,%0a%3c /` `'` `\%0a%3c : :%0a%3c : :%0a%3c : :%0a%3c : :%0a%3c : ;%0a%3c : :%0a%3c ; ;%0a%3c ; ;%0a%3c : :%0a%3c \ /%0a%3c `._,.='``'-.,_,.`%0a%3c '-._ ~ _.-'%0a%3c `'''`%0a\ No newline at end of file%0a +host:1600253923=31.21.104.59 blob - /dev/null blob + 65a53010a7c63766f5e028a33c234bac8bff5658 (mode 644) --- /dev/null +++ wiki.d/Pear.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0 +charset=UTF-8 +ctime=1600253923 +host=31.21.104.59 +name=Pear.RecentChanges +rev=26 +text=* [[Pear/Pear]] . . . January 29, 2021, at 06:09 PM by [[~dennis]]: [==]%0a* [[Pear/Todo]] . . . January 06, 2021, at 01:05 PM by [[~jrmu]]: [==]%0a +time=1611943763 blob - /dev/null blob + b49f6bb7872b9d2fa5aba8890b50459161ee873c (mode 644) --- /dev/null +++ wiki.d/Pear.Todo @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1609684344 +host=125.231.63.134 +name=Pear.Todo +rev=2 +targets=Openbsd.Upgrade68,Openbsd.Install68,Openbsd.Newdisk,Openbsd.Backup,Openbsd.Znc,Openbsd.PFStable +text=(:title Pear Todo list:)%0a%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0aTodo:%0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Follow the [[openbsd/upgrade68|Upgrade 6.8]] and [[openbsd/install68|Install 6.8]] guides to install bsd.mp for multiprocessor support on your new VPS%0a# Migrate your data to the new VPS by [[openbsd/newdisk|adding a new disk]] and [[openbsd/backup|backing up files]]%0a# Check if your ZNC version is 1.8.2. If not, upgade your [[openbsd/znc|znc]]%0a# [[openbsd/PFStable|Configure the firewall]]%0a%0aDone: +time=1609938320 +title=Pear Todo list +author:1609938320=jrmu +diff:1609938320:1609684344:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938320=125.231.63.134 +author:1609684344=jrmu +diff:1609684344:1609684344:=1,12d0%0a%3c (:title Pear Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Follow the [[openbsd/upgrade68|Upgrade 6.8]] and [[openbsd/install68|Install 6.8]] guides to install bsd.mp for multiprocessor support on your new VPS%0a%3c # Migrate your data to the new VPS by [[openbsd/newdisk|adding a new disk]] and [[openbsd/backup|backing up files]]%0a%3c # Check if your ZNC version is 1.8.2. If not, upgade your [[openbsd/znc|znc]]%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609684344=125.231.63.134 blob - /dev/null blob + 031ccce00a31d8061f9accdd9852a94d51656f02 (mode 644) --- /dev/null +++ wiki.d/Pf.Guide @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 +author=bejelentkezni +charset=UTF-8 +csum= +ctime=1621222673 +host=184.99.100.20 +name=Pf.Guide +rev=1 +targets= +text=(:title Packet Filter:)%0a%0a[[https://man.openbsd.org/pf|pf(4)]], or Packet Filter, is OpenBSD's built-in firewall. Consult the relevant man page, as well as the one for [[https://man.openbsd.org/pf.conf|pf.conf(5)]].%0a%0a!!Usage%0a%0aFor examples on how Packet Filter is to be used in IRCNow production environments, consult the [[https://wiki.ircnow.org/index.php?n=Openbsd.PFStable|sample pf.conf for stable servers]]. +time=1621222673 +title=Packet Filter +author:1621222673=bejelentkezni +diff:1621222673:1621222673:=1,7d0%0a%3c (:title Packet Filter:)%0a%3c %0a%3c [[https://man.openbsd.org/pf|pf(4)]], or Packet Filter, is OpenBSD's built-in firewall. Consult the relevant man page, as well as the one for [[https://man.openbsd.org/pf.conf|pf.conf(5)]].%0a%3c %0a%3c !!Usage%0a%3c %0a%3c For examples on how Packet Filter is to be used in IRCNow production environments, consult the [[https://wiki.ircnow.org/index.php?n=Openbsd.PFStable|sample pf.conf for stable servers]].%0a\ No newline at end of file%0a +host:1621222673=184.99.100.20 blob - /dev/null blob + 57f8209c348a99e722b0bcac98e9984c5e4d4bac (mode 644) --- /dev/null +++ wiki.d/Pf.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 +charset=UTF-8 +ctime=1621222673 +host=184.99.100.20 +name=Pf.RecentChanges +rev=1 +text=* [[Pf/Guide]] . . . May 17, 2021, at 03:37 AM by [[~bejelentkezni]]: [==]%0a +time=1621222673 blob - /dev/null blob + 3d386b7d17b8b208243e7275c8a8a266bc9e256b (mode 644) --- /dev/null +++ wiki.d/Pgp.Create @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613707784 +host=198.251.81.119 +name=Pgp.Create +rev=4 +targets= +text=!! Upload your key%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Org || || URL ||%0a|| || || https://pgp.mit.edu/ ||%0a|| || || https://keyserver.pgp.com/ ||%0a|| || || https://pgp.key-server.io/ ||%0a|| || || https://keyserver.ubuntu.com/ ||%0a|| || || http://pgp.surfnet.nl/ ||%0a|| || || http://nyms.io/ ||%0a|| || || https://keys.openpgp.org/ ||%0a|| || || https://hockeypuck.github.io/ ||%0a|| || || https://sks-keyservers.net/ ||%0a|| || || https://leap.se/en/docs/design/nicknym ||%0a|| || || https://keys.mailvelope.com/ || +time=1613708017 +author:1613708017=jrmu +diff:1613708017:1613707993:=1,2d0%0a%3c !! Upload your key%0a%3c %0a +host:1613708017=198.251.81.119 +author:1613707993=jrmu +diff:1613707993:1613707911:=1c1%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a---%0a> %0a +host:1613707993=198.251.81.119 +author:1613707911=jrmu +diff:1613707911:1613707784:=2,13c2,13%0a%3c ||! Org || || URL ||%0a%3c || || || https://pgp.mit.edu/ ||%0a%3c || || || https://keyserver.pgp.com/ ||%0a%3c || || || https://pgp.key-server.io/ ||%0a%3c || || || https://keyserver.ubuntu.com/ ||%0a%3c || || || http://pgp.surfnet.nl/ ||%0a%3c || || || http://nyms.io/ ||%0a%3c || || || https://keys.openpgp.org/ ||%0a%3c || || || https://hockeypuck.github.io/ ||%0a%3c || || || https://sks-keyservers.net/ ||%0a%3c || || || https://leap.se/en/docs/design/nicknym ||%0a%3c || || || https://keys.mailvelope.com/ ||%0a\ No newline at end of file%0a---%0a> %0a> https://pgp.mit.edu/pks/lookup?search=0xBF8DC186&op=index%0a> https://keyserver.pgp.com/vkd/ResponseScreen.event%0a> https://pgp.key-server.io/%0a> https://keyserver.ubuntu.com/%0a> http://pgp.surfnet.nl/%0a> http://nyms.io/%0a> https://keys.openpgp.org/%0a> https://hockeypuck.github.io/%0a> https://sks-keyservers.net/%0a> https://leap.se/en/docs/design/nicknym%0a> https://keys.mailvelope.com/%0a\ No newline at end of file%0a +host:1613707911=198.251.81.119 +author:1613707784=jrmu +diff:1613707784:1613707784:=1,13d0%0a%3c %0a%3c %0a%3c https://pgp.mit.edu/pks/lookup?search=0xBF8DC186&op=index%0a%3c https://keyserver.pgp.com/vkd/ResponseScreen.event%0a%3c https://pgp.key-server.io/%0a%3c https://keyserver.ubuntu.com/%0a%3c http://pgp.surfnet.nl/%0a%3c http://nyms.io/%0a%3c https://keys.openpgp.org/%0a%3c https://hockeypuck.github.io/%0a%3c https://sks-keyservers.net/%0a%3c https://leap.se/en/docs/design/nicknym%0a%3c https://keys.mailvelope.com/%0a\ No newline at end of file%0a +host:1613707784=198.251.81.119 blob - /dev/null blob + 351825dbbb57a19e08cd7c87351fc6b17dc13780 (mode 644) --- /dev/null +++ wiki.d/Pgp.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613707784 +host=198.251.81.119 +name=Pgp.RecentChanges +rev=5 +text=* [[Pgp/Upload]] . . . February 19, 2021, at 04:26 PM by [[~jrmu]]: [==]%0a* [[Pgp/Create]] . . . February 19, 2021, at 04:13 AM by [[~jrmu]]: [==]%0a +time=1613751985 blob - /dev/null blob + 131e7f40db91a01c53b7f9e0ce12fbb858b3b909 (mode 644) --- /dev/null +++ wiki.d/Pgp.Upload @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613751985 +host=198.251.81.119 +name=Pgp.Upload +rev=1 +targets= +text=!! Upload your key%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Org || || URL ||%0a|| || || https://pgp.mit.edu/ ||%0a|| || || https://keyserver.pgp.com/ ||%0a|| || || https://pgp.key-server.io/ ||%0a|| || || https://keyserver.ubuntu.com/ ||%0a|| || || http://pgp.surfnet.nl/ ||%0a|| || || http://nyms.io/ ||%0a|| || || https://keys.openpgp.org/ ||%0a|| || || https://hockeypuck.github.io/ ||%0a|| || || https://sks-keyservers.net/ ||%0a|| || || https://leap.se/en/docs/design/nicknym ||%0a|| || || https://keys.mailvelope.com/ || +time=1613751985 +author:1613751985=jrmu +diff:1613751985:1613751985:=1,15d0%0a%3c !! Upload your key%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Org || || URL ||%0a%3c || || || https://pgp.mit.edu/ ||%0a%3c || || || https://keyserver.pgp.com/ ||%0a%3c || || || https://pgp.key-server.io/ ||%0a%3c || || || https://keyserver.ubuntu.com/ ||%0a%3c || || || http://pgp.surfnet.nl/ ||%0a%3c || || || http://nyms.io/ ||%0a%3c || || || https://keys.openpgp.org/ ||%0a%3c || || || https://hockeypuck.github.io/ ||%0a%3c || || || https://sks-keyservers.net/ ||%0a%3c || || || https://leap.se/en/docs/design/nicknym ||%0a%3c || || || https://keys.mailvelope.com/ ||%0a\ No newline at end of file%0a +host:1613751985=198.251.81.119 blob - /dev/null blob + ca8df7022a506979aa599902b63a0f0cd54cb702 (mode 644) --- /dev/null +++ wiki.d/Php.Install @@ -0,0 +1,35 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=Added upgarding notes +ctime=1627380291 +host=82.170.78.91 +name=Php.Install +rev=7 +targets=Acme-client.Configure,Openhttpd.TLS,Relayd.Acceleration +text=(:title Install PHP for OpenHTTPd:)%0a%0a!! Install%0a%0a[@%0a$ doas pkg_add php-8.0.8%0a$ doas rcctl enable php80_fpm%0a$ doas rcctl start php80_fpm%0a@]%0a%0a'''Note''': SquirrleMail does not support PHP-8.x. The latest known supported PHP version is 7.x.%0a%0aThen, in /etc/httpd.conf, add the following block:%0a%0a[@%0aserver "example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a root "/htdocs/example.com"%0a }%0a}%0a@]%0a%0aLines 3-7, the @@location "/.well-known/acme-challenge/*"@@ block, is for [[acme-client/configure|acme-client]], for requesting new SSL certs.%0a%0aLines 8-11, the @@location "*.php"@@ block, tells the web server to use PHP for any file that ends with a @@.php@@ file extension.%0a%0aLine 10 says where the '''document root''' is located -- where web files should be placed. By default, openhttpd chroots into /var/www, so if your document root is /htdocs/example.com, then your actual web files need to be placed in /var/www/htdocs/example.com. %0a%0a'''NOTE''': Make sure to replace example.com with your real domain.%0a%0aTo test your installation, create the file /var/www/htdocs/example.com/index.php:%0a%0a[@%0a%3c?php phpinfo(); ?>%0a@]%0a%0aThen, have your web browser visit http://example.com/ . If you set everything up correctly, you should see a screen full of PHP installation information.%0a%0aFor SSL, you will want to follow the [[openhttpd/TLS|OpenHTTPD TLS]] or [[relayd/acceleration|relayd]] guides.%0a%0a!! Troubleshooting %0a%0aIf you run into any PHP configuration errors, check the logs folder in /var/www/logs:%0a%0a[@%0a$ less /var/www/logs/access.log%0a$ less /var/www/logs/error.log%0a@]%0a%0a!! Files%0a%0a|| File Path || Purpose ||%0a|| /var/www/logs/access.log || Web access logs ||%0a|| /var/www/logs/error.log || Web error logs ||%0a%0a%0a!! Upgrading Notes%0a%0aIf you are upgrading to php8.0 and you have got pmwiki, then make sure that you update your pmwiki, else it will spam your logs and it will be within a minute that you got no space left on /var %0a +time=1637932804 +title=Install PHP for OpenHTTPd +author:1637932804=miniontoby +csum:1637932804=Added upgarding notes +diff:1637932804:1637797470:=61,65d60%0a%3c %0a%3c %0a%3c !! Upgrading Notes%0a%3c %0a%3c If you are upgrading to php8.0 and you have got pmwiki, then make sure that you update your pmwiki, else it will spam your logs and it will be within a minute that you got no space left on /var %0a +host:1637932804=82.170.78.91 +author:1637797470=bugzbunny +diff:1637797470:1627381487:=10,11d9%0a%3c %0a%3c '''Note''': SquirrleMail does not support PHP-8.x. The latest known supported PHP version is 7.x.%0a +host:1637797470=72.78.238.236 +author:1627381487=jrmu +diff:1627381487:1627381296:=35,43c35%0a%3c To test your installation, create the file /var/www/htdocs/example.com/index.php:%0a%3c %0a%3c [@%0a%3c %3c?php phpinfo(); ?>%0a%3c @]%0a%3c %0a%3c Then, have your web browser visit http://example.com/ . If you set everything up correctly, you should see a screen full of PHP installation information.%0a%3c %0a%3c For SSL, you will want to follow the [[openhttpd/TLS|OpenHTTPD TLS]] or [[relayd/acceleration|relayd]] guides.%0a---%0a> To test your installation,%0a +host:1627381487=38.87.162.8 +author:1627381296=jrmu +diff:1627381296:1627380982:=22d21%0a%3c root "/htdocs/example.com"%0a29,35c28%0a%3c Lines 8-11, the @@location "*.php"@@ block, tells the web server to use PHP for any file that ends with a @@.php@@ file extension.%0a%3c %0a%3c Line 10 says where the '''document root''' is located -- where web files should be placed. By default, openhttpd chroots into /var/www, so if your document root is /htdocs/example.com, then your actual web files need to be placed in /var/www/htdocs/example.com. %0a%3c %0a%3c '''NOTE''': Make sure to replace example.com with your real domain.%0a%3c %0a%3c To test your installation,%0a---%0a> Lines 8-10, the @@location "*.php"@@ block, tells the web server to use PHP for any file that ends with a @@.php@@ file extension.%0a +host:1627381296=38.87.162.8 +author:1627380982=jrmu +diff:1627380982:1627380946:=42,43c42,43%0a%3c || /var/www/logs/access.log || Web access logs ||%0a%3c || /var/www/logs/error.log || Web error logs ||%0a---%0a> || /var/www/logs/ || Web logs ||%0a> || ||%0a +host:1627380982=38.87.162.8 +author:1627380946=jrmu +diff:1627380946:1627380291:=6,8c6%0a%3c $ doas pkg_add php-8.0.8%0a%3c $ doas rcctl enable php80_fpm%0a%3c $ doas rcctl start php80_fpm%0a---%0a> $ doas pkg_add php%0a11,12d8%0a%3c Then, in /etc/httpd.conf, add the following block:%0a%3c %0a13a10,14%0a> $ doas rcctl enable php74_fpm%0a> $ doas rcctl start php74_fpm%0a> @]%0a> %0a> [@%0a15,19c16%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a---%0a> listen on * port 8080%0a26,33c23,24%0a%3c Lines 3-7, the @@location "/.well-known/acme-challenge/*"@@ block, is for [[acme-client/configure|acme-client]], for requesting new SSL certs.%0a%3c %0a%3c Lines 8-10, the @@location "*.php"@@ block, tells the web server to use PHP for any file that ends with a @@.php@@ file extension.%0a%3c %0a%3c !! Troubleshooting %0a%3c %0a%3c If you run into any PHP configuration errors, check the logs folder in /var/www/logs:%0a%3c %0a---%0a> To check for PHP configuration errors:%0a> %0a35,36c26,27%0a%3c $ less /var/www/logs/access.log%0a%3c $ less /var/www/logs/error.log%0a---%0a> # less /var/www/logs/access.log%0a> # less /var/www/logs/error.log%0a38,43d28%0a%3c %0a%3c !! Files%0a%3c %0a%3c || File Path || Purpose ||%0a%3c || /var/www/logs/ || Web logs ||%0a%3c || ||%0a +host:1627380946=38.87.162.8 +author:1627380291=jrmu +diff:1627380291:1627380291:=1,28d0%0a%3c (:title Install PHP for OpenHTTPd:)%0a%3c %0a%3c !! Install%0a%3c %0a%3c [@%0a%3c $ doas pkg_add php%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable php74_fpm%0a%3c $ doas rcctl start php74_fpm%0a%3c @]%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 8080%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c To check for PHP configuration errors:%0a%3c %0a%3c [@%0a%3c # less /var/www/logs/access.log%0a%3c # less /var/www/logs/error.log%0a%3c @]%0a +host:1627380291=38.87.162.8 blob - /dev/null blob + 86b78a3ea22136b99c6ef5b3961175c8dc446c2f (mode 644) --- /dev/null +++ wiki.d/Php.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +charset=UTF-8 +ctime=1627380291 +host=82.170.78.91 +name=Php.RecentChanges +rev=7 +text=* [[Php/Install]] . . . November 26, 2021, at 01:20 PM by [[~miniontoby]]: [=Added upgarding notes=]%0a +time=1637932804 blob - /dev/null blob + 072f4de4843001a9a0d83b3788194fe5ac0d13cc (mode 644) --- /dev/null +++ wiki.d/Pidgin.Connect @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637137730 +host=38.87.162.8 +name=Pidgin.Connect +rev=7 +targets=Xmpp.Xmpp +text=[[https://pidgin.im|Pidgin]] is a chat program that allows logging into multiple chat networks at the same time. Pidgin can connect to XMPP, IRC, SILC, Bonjour, Gadu-Gadu, SIMPLE, and much more.%0a%0a# Open pidgin:%0a# If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a# Click on @@Add@@.\\%0aAttach:pidgin-welcome.png%0a# Fill in details:\\%0aAttach:pidgin-modifyaccount.png%0a # Protocol: XMPP%0a # Username: Fill in your username%0a # Domain: See the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a # Password: Fill in your password.%0a # Check @@Remember password@@.%0a # Check @@Create this new account on the server@@.%0a # Click @@Save@@.%0a# Select the @@Enabled@@ checkbox for your new account.\\%0aAttach:pidgin-accounts.png%0a# Choose your username and password:\\%0aAttach:pidgin-createaccount.png%0a# Your account has been created!\\%0aAttach:pidgin-registrationsuccessful.png%0a +time=1637144335 +author:1637144335=jrmu +diff:1637144335:1637144226:=18c18%0a%3c # Choose your username and password:\\%0a---%0a> # Fill in your username and password. Then click on @@Sign Up@@.\\%0a20c20%0a%3c # Your account has been created!\\%0a---%0a> # Click @@Connect@@.%0a +host:1637144335=38.87.162.8 +author:1637144226=jrmu +diff:1637144226:1637144197:=11c11%0a%3c # Domain: See the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a---%0a> # Domain: See the lsit of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a +host:1637144226=38.87.162.8 +author:1637144197=jrmu +diff:1637144197:1637144149:=8c8%0a%3c Attach:pidgin-modifyaccount.png%0a---%0a> Attach:pidgin-modifyaccount.png\\%0a +host:1637144197=38.87.162.8 +author:1637144149=jrmu +diff:1637144149:1637144120:=4c4%0a%3c # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a---%0a> # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.\\%0a7,8c7,8%0a%3c # Fill in details:\\%0a%3c Attach:pidgin-modifyaccount.png\\%0a---%0a> Attach:pidgin-modifyaccount.png%0a> # Fill in details:%0a +host:1637144149=38.87.162.8 +author:1637144120=jrmu +diff:1637144120:1637144091:=5d4%0a%3c # Click on @@Add@@.\\%0a6a6%0a> # Click on @@Add@@.\\%0a +host:1637144120=38.87.162.8 +author:1637144091=jrmu +diff:1637144091:1637137730:=3,4c3%0a%3c # Open pidgin:%0a%3c # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.\\%0a---%0a> # Open pidgin:\\%0a5a5%0a> # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a +host:1637144091=38.87.162.8 +author:1637137730=jrmu +diff:1637137730:1637137730:=1,21d0%0a%3c [[https://pidgin.im|Pidgin]] is a chat program that allows logging into multiple chat networks at the same time. Pidgin can connect to XMPP, IRC, SILC, Bonjour, Gadu-Gadu, SIMPLE, and much more.%0a%3c %0a%3c # Open pidgin:\\%0a%3c Attach:pidgin-welcome.png%0a%3c # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a%3c # Click on @@Add@@.\\%0a%3c Attach:pidgin-modifyaccount.png%0a%3c # Fill in details:%0a%3c # Protocol: XMPP%0a%3c # Username: Fill in your username%0a%3c # Domain: See the lsit of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a%3c # Password: Fill in your password.%0a%3c # Check @@Remember password@@.%0a%3c # Check @@Create this new account on the server@@.%0a%3c # Click @@Save@@.%0a%3c # Select the @@Enabled@@ checkbox for your new account.\\%0a%3c Attach:pidgin-accounts.png%0a%3c # Fill in your username and password. Then click on @@Sign Up@@.\\%0a%3c Attach:pidgin-createaccount.png%0a%3c # Click @@Connect@@.%0a%3c Attach:pidgin-registrationsuccessful.png%0a +host:1637137730=38.87.162.8 blob - /dev/null blob + a744f0dc5079959ea47a7be3c866355ebea41830 (mode 644) --- /dev/null +++ wiki.d/Pidgin.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637137730 +host=38.87.162.8 +name=Pidgin.RecentChanges +rev=7 +text=* [[Pidgin/Connect]] . . . November 17, 2021, at 10:18 AM by [[~jrmu]]: [==]%0a +time=1637144335 blob - /dev/null blob + b85b7eee7e68ca68df0af4aacaec38953a971269 (mode 644) --- /dev/null +++ wiki.d/Pipes.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1629690498 +host=198.251.81.119 +name=Pipes.RecentChanges +rev=2 +text=* [[Pipes/Redirection]] . . . August 23, 2021, at 03:50 AM by [[~jrmu]]: [==]%0a +time=1629690655 blob - /dev/null blob + dfa5665a244f6a0c8b2b6d1b5b58d4ea4ddd58e7 (mode 644) --- /dev/null +++ wiki.d/Pipes.Redirection,del-1629690655 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1629690498 +host=198.251.81.119 +name=Pipes.Redirection +rev=1 +targets= +text='''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info. +time=1629690498 +author:1629690498=jrmu +diff:1629690498:1629690498:=1d0%0a%3c '''Note''': redirection (@@>@@, @@>>@@) is done by ''your shell'', so just using @@$ doas echo "%3cconfig line>" > /etc/doas.conf@@ would '''not''' work if your current non-root user doesn't have write permissions to that config file! See this [[https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr|link]] for more info.%0a\ No newline at end of file%0a +host:1629690498=198.251.81.119 blob - /dev/null blob + 50c5ec33782a6602400d560435bb86170f28490a (mode 644) --- /dev/null +++ wiki.d/Planetofnix.Hardware @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627825588 +host=38.87.162.8 +name=Planetofnix.Hardware +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627825588 +author:1627825588=jrmu +diff:1627825588:1627825588:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a +host:1627825588=38.87.162.8 blob - /dev/null blob + 5f1fe44c68e99d7c210fa85830fa8bd19cf637a2 (mode 644) --- /dev/null +++ wiki.d/Planetofnix.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627825588 +host=38.87.162.8 +name=Planetofnix.RecentChanges +rev=1 +text=* [[Planetofnix/Hardware]] . . . August 01, 2021, at 01:46 PM by [[~jrmu]]: [==]%0a +time=1627825588 blob - /dev/null blob + 00404b9d88bd2e0234972a352ded5ede30b33ad9 (mode 644) --- /dev/null +++ wiki.d/Plum.Plum @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 OPR/73.0.3856.329 +author=wiz +charset=UTF-8 +csum= +ctime=1609684605 +host=77.100.11.104 +name=Plum.Plum +rev=13 +targets=Irc.Guide,Freedom.Software,Plum.Todo +text='''Plum''' is an '''IRCNow''' project -underdevelopment. A root to introduce the power of the users to control computing and %0a'''internet.'''IRCNow''' provides an OPENBSD oriented training completely free of cost and '''PLUM@Team''' is trained and sponsored by '''IRCNow'''.%0a%0a'''PLUM''' aims to create an user circle who will believe ''knowledge'' and ''knowledge based'' services can be shared for free as well as %0a''freedom of speech''.%0a %0a%0a[+'''PLUM@Services'''+]%0a-------------------%0a %0a'''IRC:'''' '''PLUM@IRCNow''' is a chat server which is located in the heart of Europe. IRC is an old school text based chat platform with group chatter in their topic of interest. Available in a vast computing medium ( Windows, Mac, Linux, BSD, Android, iOS.) %0a%0a[[Irc.Guide|guide to IRC]]%0a %0a'''BOUNCER:''' '''PLUM@IRCNow''' offers an IRC Bouncer service. An application that keeps you connected on IRC so you would not miss anything on your favorite chat-room and topic. This can be connected to an unlimited number of networks. Our team provides a 24/7 support service to solve any issues an user may face in Windows, Mac, Linux, BSD, Android, iOS operating system. %0a %0a'''VHOSTS:''' '''PLUM@IRCNow''' aiming to offer a vast range of vhost which match your identity or your interests. Which will make your appearance according to your character and your interests as well as your nickname. We can also set up a customise vhosts for you if you require.%0a %0a'''PLUM@IRCNow''' is looking forward to introduce a few more services in future for users, which will enhance your entertainment and knowledge. As it's an underdevelopment project, we are open to your '''valuable suggestions'''. If you have any service to recommend please contact our team and we will get it onboard.%0a %0aAs we are a part of '''IRCNow''', the terms and conditions of our services are as '''IRCNow'''. You must agree with the terms and conditions in terms of using it. %0a %0aAs an open network we are open to share our work ethics with users. You can find it [[Freedom.Software|here]]%0a %0aThis is the most interesting part of this long text. Users can seek and ask for help in NINE different languages including English. Available %0alanguages for support are '''spanish''', '''portuguese''', '''french''', '''hebrew''', '''arabic''', '''bengali''', '''hindi''', '''urdu'''. %0a %0a %0a[+'''PLUM@Team'''+]%0a---------------%0aTeam Members : '''Error''' | '''^st13g''' | '''^M''' | '''Be'''%0a%0a!!!'''channels : #ircnow, #plum'''%0a%0a%0a[[plum/todo|Todo list]] +time=1610463753 +author:1610463753=wiz +diff:1610463753:1610462163:=26c26%0a%3c languages for support are '''spanish''', '''portuguese''', '''french''', '''hebrew''', '''arabic''', '''bengali''', '''hindi''', '''urdu'''. %0a---%0a> languages for support are '''spanish''', '''protuguese''', '''french''', '''hebrew''', '''arabic''', '''bengali''', '''hindi''', '''urdu'''. %0a +host:1610463753=77.100.11.104 +author:1610462163=wiz +diff:1610462163:1610462037:=29c29%0a%3c [+'''PLUM@Team'''+]%0a---%0a> !!!PLUM@Team%0a +host:1610462163=77.100.11.104 +author:1610462037=wiz +diff:1610462037:1610461671:=8c8%0a%3c [+'''PLUM@Services'''+]%0a---%0a> !!! '''PLUM@Services'''%0a +host:1610462037=77.100.11.104 +author:1610461671=wiz +diff:1610461671:1610460861:=13c13%0a%3c [[Irc.Guide|guide to IRC]]%0a---%0a> [Guide to IRC]%0a23c23%0a%3c As an open network we are open to share our work ethics with users. You can find it [[Freedom.Software|here]]%0a---%0a> As an open network we are open to share our work ethics with users. You can find it [[here]].%0a29,30d28%0a%3c !!!PLUM@Team%0a%3c ---------------%0a +host:1610461671=77.100.11.104 +author:1610460861=wiz +diff:1610460861:1610460726:=23c23%0a%3c As an open network we are open to share our work ethics with users. You can find it [[here]].%0a---%0a> As an open network we are open to share our work ethics with users. You can find it here.%0a +host:1610460861=77.100.11.104 +author:1610460726=wiz +diff:1610460726:1610458850:=1,5c1,4%0a%3c '''Plum''' is an '''IRCNow''' project -underdevelopment. A root to introduce the power of the users to control computing and %0a%3c '''internet.'''IRCNow''' provides an OPENBSD oriented training completely free of cost and '''PLUM@Team''' is trained and sponsored by '''IRCNow'''.%0a%3c %0a%3c '''PLUM''' aims to create an user circle who will believe ''knowledge'' and ''knowledge based'' services can be shared for free as well as %0a%3c ''freedom of speech''.%0a---%0a> !!!'''Plum''' is an '''IRCNow''' project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a> %0a> PLUM aims to create an user circle who will believe knowledge and knowledge %0a> based services can be shared for free as well as freedom of speech.%0a7,9c6%0a%3c %0a%3c !!! '''PLUM@Services'''%0a%3c -------------------%0a---%0a> PLUM@Services %0a11,13c8,12%0a%3c '''IRC:'''' '''PLUM@IRCNow''' is a chat server which is located in the heart of Europe. IRC is an old school text based chat platform with group chatter in their topic of interest. Available in a vast computing medium ( Windows, Mac, Linux, BSD, Android, iOS.) %0a%3c %0a%3c [Guide to IRC]%0a---%0a> IRC : PLUM@IRCNow is a chat server which is located in the heart of %0a> Europe. IRC is an old school text based chat platform with group chatter in their %0a> topic of interest. Available in a vast computing medium ( Windows, Mac, %0a> Linux, BSD, Android, iOS.) %0a> Guide to IRC..%0a15c14,18%0a%3c '''BOUNCER:''' '''PLUM@IRCNow''' offers an IRC Bouncer service. An application that keeps you connected on IRC so you would not miss anything on your favorite chat-room and topic. This can be connected to an unlimited number of networks. Our team provides a 24/7 support service to solve any issues an user may face in Windows, Mac, Linux, BSD, Android, iOS operating system. %0a---%0a> BOUNCER: PLUM@IRCNow offers an IRC Bouncer service. An application that %0a> keeps you connected on IRC so you wouldnt miss anything on your %0a> favorite chat-room and topic. This can be connected to an unlimited number of %0a> networks. Our team provides a 24/7 support service to solve any issues an user may face %0a> in Windows, Mac, Linux, BSD, Android, iOS operating system. %0a17c20,23%0a%3c '''VHOSTS:''' '''PLUM@IRCNow''' aiming to offer a vast range of vhost which match your identity or your interests. Which will make your appearance according to your character and your interests as well as your nickname. We can also set up a customise vhosts for you if you require.%0a---%0a> VHOSTS: PLUM@IRCNow aming to offer a vast range of vhost which match your %0a> identity or your interests. Which will make your appearance according to your %0a> character and your interests as well as your nickname. We can also set up %0a> a customise vhost for you if you require.%0a19c25,29%0a%3c '''PLUM@IRCNow''' is looking forward to introduce a few more services in future for users, which will enhance your entertainment and knowledge. As it's an underdevelopment project, we are open to your '''valuable suggestions'''. If you have any service to recommend please contact our team and we will get it onboard.%0a---%0a> PLUM@IRCNow is looking forward to introduce a few more services in %0a> future for users, which will enhance your entertainment and knowledge. As it's an %0a> underdevelopment project, we are open to your valuable suggestions. If you %0a> have any service to recommend please contact our team and we will get it %0a> onboard.%0a21c31,33%0a%3c As we are a part of '''IRCNow''', the terms and conditions of our services are as '''IRCNow'''. You must agree with the terms and conditions in terms of using it. %0a---%0a> As we are a part of IRCNow, the terms and conditions of our services are %0a> as IRCNow. You must agree with the terms and conditions in terms of using %0a> it. %0a23c35,36%0a%3c As an open network we are open to share our work ethics with users. You can find it here.%0a---%0a> As an open network we are open to share our work ethics with users. You %0a> can find it here.%0a25,26c38,41%0a%3c This is the most interesting part of this long text. Users can seek and ask for help in NINE different languages including English. Available %0a%3c languages for support are '''spanish''', '''protuguese''', '''french''', '''hebrew''', '''arabic''', '''bengali''', '''hindi''', '''urdu'''. %0a---%0a> This is the most interesting part of this long text. Users can seek and %0a> ask for help in NINE different languages including English. Available %0a> languages for support are spanish, protuguese, french, hebrew, arabic, %0a> bengali, hindi, urdu. %0a29,33c44,46%0a%3c Team Members : '''Error''' | '''^st13g''' | '''^M''' | '''Be'''%0a%3c %0a%3c !!!'''channels : #ircnow, #plum'''%0a%3c %0a%3c %0a---%0a> Team Members : Error | ^st13g | ^M | Be%0a> %0a> channels : #ircnow #plum%0a +host:1610460726=77.100.11.104 +author:1610458850=wiz +diff:1610458850:1610458764:=1c1%0a%3c !!!'''Plum''' is an '''IRCNow''' project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a---%0a> !!!!Plum is an IRCNow project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a +host:1610458850=77.100.11.104 +author:1610458764=wiz +diff:1610458764:1610458745:=1,2c1,2%0a%3c !!!!Plum is an IRCNow project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a%3c %0a---%0a> '+Plum is an IRCNow project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a> +' %0a +host:1610458764=77.100.11.104 +author:1610458745=wiz +diff:1610458745:1610458694:=1,2c1,4%0a%3c '+Plum is an IRCNow project -underdevelopment. A root to introduce the power of the users to control computing and internet.IRCNow provide OPENBSD oriented training completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a%3c +' %0a---%0a> !!!!Plum is an IRCNow project -underdevelopment. A root to introduce the power %0a> of the users to control computing and internet.IRCNow provide OPENBSD oriented training %0a> completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a> %0a +host:1610458745=77.100.11.104 +author:1610458694=wiz +diff:1610458694:1610383730:=1,3c1,3%0a%3c !!!!Plum is an IRCNow project -underdevelopment. A root to introduce the power %0a%3c of the users to control computing and internet.IRCNow provide OPENBSD oriented training %0a%3c completely free of cost and PLUM@Team is trained and sponsored by IRCNow.%0a---%0a> (:table style="padding:20px;margin:10px;font-size: 25px;color:#f5f6fa; background-color:#6D214F":)%0a> (:cellnr:)%0a> IRCNow Plum is part of the IRCNow network, in support of IRCNow goal is an experiment to create a network run by users for the benefit of users. Just for the aim to create a truly open and free network.Due to this crucial moment, some groups want to silence certain voices on the Internet, we believe every one of us deserves equal access to free Internet regarless of where they live or what they can afford to pay.%0a5,48c5,14%0a%3c PLUM aims to create an user circle who will believe knowledge and knowledge %0a%3c based services can be shared for free as well as freedom of speech.%0a%3c %0a%3c PLUM@Services %0a%3c %0a%3c IRC : PLUM@IRCNow is a chat server which is located in the heart of %0a%3c Europe. IRC is an old school text based chat platform with group chatter in their %0a%3c topic of interest. Available in a vast computing medium ( Windows, Mac, %0a%3c Linux, BSD, Android, iOS.) %0a%3c Guide to IRC..%0a%3c %0a%3c BOUNCER: PLUM@IRCNow offers an IRC Bouncer service. An application that %0a%3c keeps you connected on IRC so you wouldnt miss anything on your %0a%3c favorite chat-room and topic. This can be connected to an unlimited number of %0a%3c networks. Our team provides a 24/7 support service to solve any issues an user may face %0a%3c in Windows, Mac, Linux, BSD, Android, iOS operating system. %0a%3c %0a%3c VHOSTS: PLUM@IRCNow aming to offer a vast range of vhost which match your %0a%3c identity or your interests. Which will make your appearance according to your %0a%3c character and your interests as well as your nickname. We can also set up %0a%3c a customise vhost for you if you require.%0a%3c %0a%3c PLUM@IRCNow is looking forward to introduce a few more services in %0a%3c future for users, which will enhance your entertainment and knowledge. As it's an %0a%3c underdevelopment project, we are open to your valuable suggestions. If you %0a%3c have any service to recommend please contact our team and we will get it %0a%3c onboard.%0a%3c %0a%3c As we are a part of IRCNow, the terms and conditions of our services are %0a%3c as IRCNow. You must agree with the terms and conditions in terms of using %0a%3c it. %0a%3c %0a%3c As an open network we are open to share our work ethics with users. You %0a%3c can find it here.%0a%3c %0a%3c This is the most interesting part of this long text. Users can seek and %0a%3c ask for help in NINE different languages including English. Available %0a%3c languages for support are spanish, protuguese, french, hebrew, arabic, %0a%3c bengali, hindi, urdu. %0a%3c %0a%3c %0a%3c Team Members : Error | ^st13g | ^M | Be%0a%3c %0a%3c channels : #ircnow #plum%0a---%0a> %25color=#dcdde1%25 '''Available services at IRCNow Guava:''' %25%25%0a> %0a> *'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a> %0a> *'''Bouncers:''' To get started with a free bouncer, connect to %25color=#55E6C1%25ircs://irc.ircnow.org/%25%25 and %25color=#55E6C1%25 /join #ircnow %25%25. Then, type %25color=#55E6C1%25 !bnc %25%25 for a free bouncer.%0a> %0a> *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to %25color=#55E6C1%25#ircnow.%25%25 We can guide you learning sysadmin stuff and if you want to join us, its up to you! But trust me, you'll find an amazing community here!%0a> %0a> (:tableend:)%0a> %0a +host:1610458694=77.100.11.104 +author:1610383730=st13g +diff:1610383730:1610382554:=1c1,2%0a%3c (:table style="padding:20px;margin:10px;font-size: 25px;color:#f5f6fa; background-color:#6D214F":)%0a---%0a> !! Setup your page!%0a> (:table style="color:#f5f6fa; background-color:#6D214F":)%0a6d6%0a%3c %0a8,11c8,9%0a%3c %0a%3c *'''Bouncers:''' To get started with a free bouncer, connect to %25color=#55E6C1%25ircs://irc.ircnow.org/%25%25 and %25color=#55E6C1%25 /join #ircnow %25%25. Then, type %25color=#55E6C1%25 !bnc %25%25 for a free bouncer.%0a%3c %0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to %25color=#55E6C1%25#ircnow.%25%25 We can guide you learning sysadmin stuff and if you want to join us, its up to you! But trust me, you'll find an amazing community here!%0a---%0a> *'''Bouncers:''' To get started with a free bouncer, connect to ircs://irc.ircnow.org/ and %25color=#55E6C1/join #ircnow%25%25. Then, type %25color=#55E6C1!bnc%25%25 for a free bouncer.%0a> *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow. We can guide you learning sysadmin stuff and if you want to join us, its up to you! But trust me, you'll find an amazing community there!%0a +host:1610383730=181.67.40.146 +author:1610382554=st13g +diff:1610382554:1609684605:=2,11d1%0a%3c (:table style="color:#f5f6fa; background-color:#6D214F":)%0a%3c (:cellnr:)%0a%3c IRCNow Plum is part of the IRCNow network, in support of IRCNow goal is an experiment to create a network run by users for the benefit of users. Just for the aim to create a truly open and free network.Due to this crucial moment, some groups want to silence certain voices on the Internet, we believe every one of us deserves equal access to free Internet regarless of where they live or what they can afford to pay.%0a%3c %0a%3c %25color=#dcdde1%25 '''Available services at IRCNow Guava:''' %25%25%0a%3c *'''IRCNow Guava IRC chat server:''' is a collaborative text chat platform with group chats in your topic of interest. You can access from your favorite IRC client,from the operating system of your choice, we have guides to you, to configure properly to get access, not just to our network,but to any network that you would desire.%0a%3c *'''Bouncers:''' To get started with a free bouncer, connect to ircs://irc.ircnow.org/ and %25color=#55E6C1/join #ircnow%25%25. Then, type %25color=#55E6C1!bnc%25%25 for a free bouncer.%0a%3c *'''Learning:''' Maybe you want to learn more about OpenBSD, just enter to #ircnow. We can guide you learning sysadmin stuff and if you want to join us, its up to you! But trust me, you'll find an amazing community there!%0a%3c %0a%3c (:tableend:)%0a +host:1610382554=181.67.40.146 +author:1609684605=jrmu +diff:1609684605:1609684605:=1,3d0%0a%3c !! Setup your page!%0a%3c %0a%3c [[plum/todo|Todo list]]%0a\ No newline at end of file%0a +host:1609684605=125.231.63.134 blob - /dev/null blob + e1743fcc35e1dd94ba6d0ce327b2b55d773d1c7e (mode 644) --- /dev/null +++ wiki.d/Plum.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 +charset=UTF-8 +ctime=1609684605 +host=181.67.40.146 +name=Plum.RecentChanges +rev=19 +text=* [[Plum/Todo]] . . . January 16, 2021, at 12:09 AM by [[~st13g]]: [==]%0a* [[Plum/Plum]] . . . January 12, 2021, at 03:02 PM by [[~wiz]]: [==]%0a +time=1610755740 blob - /dev/null blob + 8cb79f13dbe40645cfa422802b96e5632005bb8d (mode 644) --- /dev/null +++ wiki.d/Plum.Todo @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 +author=st13g +charset=UTF-8 +csum= +ctime=1609684697 +host=181.67.40.146 +name=Plum.Todo +rev=6 +targets=Openbsd.Upgrade68,Openbsd.PFStable,Openbsd.Newdisk,Openbsd.Backup,Plum.Plum +text=(:title Plum Todo list:)%0a(:table style="color:#f5f6fa; background-color:#44bd32":)%0a(:cellnr:)%0a'''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%0a'''Todo:'''%0a%0a# Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a# Be familiar with the [[openbsd/upgrade68|Upgrade 6.8]] guide%0a# [[openbsd/PFStable|Configure the firewall]]%0a# Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a(:tableend:)%0a%0a(:table style="color:#f5f6fa; background-color:#b33939":)%0a(:cellnr:)%0a'''Done:'''%0a%0a# [[plum/plum|Setup your page!]]%0a# Setup up the wiki page%0a(:tableend:) +time=1610755740 +title=Plum Todo list +author:1610755740=st13g +diff:1610755740:1610384053:=19d18%0a%3c # Setup up the wiki page%0a +host:1610755740=181.67.40.146 +author:1610384053=st13g +diff:1610384053:1610384025:=6,7c6,7%0a%3c '''Todo:'''%0a%3c %0a---%0a> Todo:%0a> %0a16c16%0a%3c '''Done:'''%0a---%0a> Done:%0a +host:1610384053=181.67.40.146 +author:1610384025=st13g +diff:1610384025:1609938356:=2,3c2%0a%3c (:table style="color:#f5f6fa; background-color:#44bd32":)%0a%3c (:cellnr:)%0a---%0a> %0a8a8%0a> # [[plum/plum|Setup your page!]]%0a12,19c12,13%0a%3c (:tableend:)%0a%3c %0a%3c (:table style="color:#f5f6fa; background-color:#b33939":)%0a%3c (:cellnr:)%0a%3c Done:%0a%3c %0a%3c # [[plum/plum|Setup your page!]]%0a%3c (:tableend:)%0a\ No newline at end of file%0a---%0a> %0a> Done:%0a\ No newline at end of file%0a +host:1610384025=181.67.40.146 +author:1609938356=jrmu +diff:1609938356:1609684714:=7d6%0a%3c # Setup a way to collect money in your country -- perhaps Paypal, Patreon, Skrill, Payza, Stripe, etc. You need a way to collect donations.%0a +host:1609938356=125.231.63.134 +author:1609684714=jrmu +diff:1609684714:1609684697:=6,7c6%0a%3c %0a%3c # [[plum/plum|Setup your page!]]%0a---%0a> %0a +host:1609684714=125.231.63.134 +author:1609684697=jrmu +diff:1609684697:1609684697:=1,11d0%0a%3c (:title Plum Todo list:)%0a%3c %0a%3c '''NOTE''': Please practice first on coconut.ircnow.org before attempting any of these major changes on the stable server.%0a%3c %0a%3c Todo:%0a%3c %0a%3c # Be familiar with the [[openbsd/upgrade68|Upgrade 6.8]] guide%0a%3c # [[openbsd/PFStable|Configure the firewall]]%0a%3c # Be familiar with how to [[openbsd/newdisk|add a new disk]] and how to [[openbsd/backup|back up files]]%0a%3c %0a%3c Done:%0a\ No newline at end of file%0a +host:1609684697=125.231.63.134 blob - /dev/null blob + 87c8ea226cabdda46f8f1852ebc5c79d148d0940 (mode 644) --- /dev/null +++ wiki.d/Pmwiki.Install @@ -0,0 +1,87 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627378629 +host=198.251.82.194 +name=Pmwiki.Install +rev=24 +targets=Nsd.Configure,Nsd.Zone,Php.Install,Relayd.Acceleration,Openhttpd.Tls +text=(:title Install PmWiki:)%0a%0a!! Overview%0a%0a[[https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd. It also does not require the user's browser to support javascript, which helps improve accessibility.%0a%0a!! Install%0a%0a[[https://www.pmwiki.org/wiki/PmWiki/Download|Download a copy]] of PmWiki. In this guide, we'll grab [[https://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz|the latest stable release]].%0a%0a[@%0a$ ftp https://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz%0a$ tar xvzf pmwiki-latest.tgz%0a$ doas mv pmwiki-2.2.141/ /var/www/htdocs/wiki.example.com%0a$ doas chown -R www:daemon /var/www/htdocs/wiki.example.com%0a@]%0a%0aMake sure to replace wiki.example.com with your actual domain name. For flexibility, we recommend you run your own nameserver using [[nsd/configure|nsd]] and [[nsd/zone|create a records]] for wiki.example.com.%0a%0a!! Configure OpenHTTPd%0a%0aBefore you begin, make sure you have [[php/install|PHP installed]].%0a%0aNext, add a new block to @@/etc/httpd.conf@@:%0a%0a[@%0aserver "wiki.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a root "/htdocs/wiki.example.com"%0a }%0a directory {%0a index "index.php"%0a }%0a connection max request body 104857600%0a}%0a@]%0a%0aLines 7-8 above tell httpd to evaluate any file that ends with .php as a PHP script. Line 9 says that the document root for the web files is /htdocs/wiki.example.com. Keep in mind, however, that httpd automatically chroots to /var/www/, so the actual path will be /var/www/htdocs/wiki.example.com/.%0a%0aLine 11-13 tell httpd to automatically serve index.php as the default file when a directory is requested by the user. In other words, if a user requests @@https://wiki.example.com@@, he will actually receive @@https://wiki.example.com/index.php@@.%0a%0aLine 14 tells httpd that it can receive uploads as large as 100MB. By default, httpd is limited to only 1MB, so this setting is necessary if you want to allow large file uploads for your wiki.%0a%0aWhile not required, it helps to put in /var/www/htdocs/wiki.example.com/index.php:%0a%0a[@%0a%3c?php include('pmwiki.php');%0a@]%0a%0aThen give it proper permissions:%0a%0a[@%0a$ doas chown www:daemon /var/www/htdocs/wiki.example.com/index.php%0a@]%0a%0aFinally, restart httpd:%0a%0a[@%0a$ doas rcctl restart httpd%0a@]%0a%0aUse your browser to view @@http://wiki.example.com@@.%0a%0aTo add TLS, you can use either [[relayd/acceleration|relayd for TLS acceleration]] (recommended) or [[openhttpd/tls|openhttpd's TLS]].%0a%0a!! Configuring PmWiki%0a%0aCopy the sample configuration file and then edit it:%0a%0a[@%0a$ doas cp /var/www/htdocs/wiki.ircnow.org/docs/sample-config.php /var/www/htdocs/wiki.ircnow.org/local/config.php%0a@]%0a%0aEdit @@/var/www/htdocs/wiki.ircnow.org/local/config.php@@.%0a%0a!! Documentation%0a%0aMake sure you get familiar with the docs. They are located in:%0a%0a[@%0a/var/www/htdocs/wiki.ircnow.org/README.txt%0a/var/www/htdocs/wiki.ircnow.org/docs/%0a@]%0a%0a!! Mirroring Content%0a%0aWhen mirroring content, you want to skip the passwords in these two files:%0a%0a[@%0a/var/www/htdocs/wiki.example.com/local/config.php%0a/var/www/htdocs/wiki.example.com/wiki.d/SiteAdmin.AuthUser%0a@]%0a%0a(:if false:)%0a[@%0a$ doas cp -R wiki.example.com/ /var/www/htdocs/wiki.example.com/%0a$ doas chown -R www:daemon /var/www/htdocs/wiki.example.com/%0a@]%0a(:ifend:)%0a%0a!! Password Protect Pages%0a%0aTo change the password prompt page, edit Site.AuthForm.%0a%0aBy default, PmWiki allows creation of password hashes using blowfish, so in the command line, you can type:%0a%0a[@%0a$ blowfish%0aTypeYourPasswordThenPressCtrl+d%0a$2b$09$KcHFdL42rABog//yC9qehuv0wHgu19QqVHOnhW1zutMC/esVfDfwa%0a@]%0a%0aYou can use these password hashes for https://example.com/index.php?n=SiteAdmin.AuthUser%0a%0a!! Clean URLs%0a%0aThe following URL rewrite rules can provide 'clean' URLs:%0a%0a[@%0a location match "/pub/(.*)" {%0a request rewrite "/pub/%251"%0a }%0a location match "/cookbook/(.*)" {%0a request rewrite "/cookbook/%251"%0a }%0a location match "/uploads/(.*)" {%0a request rewrite "/uploads/%251"%0a }%0a location match "/local/(.*)" {%0a request rewrite "/local/%251"%0a }%0a location match "/favicon.(.*)" {%0a request rewrite "/favicon.%251"%0a }%0a location match "/(.*)/(.*)" {%0a request rewrite "/index.php?n=%251.%252?$QUERY_STRING"%0a }%0a location match "/(.*)" {%0a request rewrite "/index.php?n=%251?$QUERY_STRING"%0a }%0a@]%0a%0aEdit /var/www/htdocs/pmwiki/local/config.php:%0a%0a[@%0a$EnablePathInfo = 1;%0a$ScriptUrl = 'https://wiki.example.com';%0a$PubDirUrl = 'https://wiki.example.com/pub';%0a$UploadDir = "/var/www/htdocs/wiki.example.com/pmwiki/uploads";%0a$UploadUrlFmt = "https://wiki.example.com/uploads";%0a@]%0a%0a!! Syncing with Got%0a%0aCreating the almanack got repo, assuming ~/almanack will be the working directory:%0a%0a[@%0a$ openrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0a$ got init /var/git/almanack%0a$ got import -m "Import sources" -r /var/git/almanack ~/almanack%0a@]%0a%0aDelete the copy of the almanack and then check it out:%0a%0a[@%0a$ rm -r ~/almanack%0a$ cd ~/%0a$ got checkout /var/git/almanack%0a@]%0a%0aThen, set up a cronjob:%0a%0a[@%0a$ crontab -e%0aopenrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0acd ~/ && got -r /var/git/almanack -m "Daily backup" commit%0a@]%0a%0a +time=1639757956 +title=Install PmWiki +author:1639757956=jrmu +diff:1639757956:1639756409:=161,162c161,162%0a%3c Creating the almanack got repo, assuming ~/almanack will be the working directory:%0a%3c %0a---%0a> Creating the almanack got repo:%0a> %0a164,166c164%0a%3c $ openrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0a%3c $ got init /var/git/almanack%0a%3c $ got import -m "Import sources" -r /var/git/almanack ~/almanack%0a---%0a> %0a169,170c167,168%0a%3c Delete the copy of the almanack and then check it out:%0a%3c %0a---%0a> Assuming ~/almanack is your working directory:%0a> %0a172,182c170,171%0a%3c $ rm -r ~/almanack%0a%3c $ cd ~/%0a%3c $ got checkout /var/git/almanack%0a%3c @]%0a%3c %0a%3c Then, set up a cronjob:%0a%3c %0a%3c [@%0a%3c $ crontab -e%0a%3c openrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0a%3c cd ~/ && got -r /var/git/almanack -m "Daily backup" commit%0a---%0a> $ openrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0a> $ got -m "Daily backup" commit%0a +host:1639757956=198.251.82.194 +author:1639756409=jrmu +diff:1639756409:1632320687:=158,173d157%0a%3c %0a%3c !! Syncing with Got%0a%3c %0a%3c Creating the almanack got repo:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a%3c Assuming ~/almanack is your working directory:%0a%3c %0a%3c [@%0a%3c $ openrsync -a --delete --rsync-path=openrsync --exclude config.php --exclude wiki.d/SiteAdmin.AuthUser /var/www/htdocs/wiki.ircnow.org/ ~/almanack%0a%3c $ got -m "Daily backup" commit%0a%3c @]%0a%3c %0a +host:1639756409=198.251.82.194 +author:1632320687=miniontoby +csum:1632320687=updated it a bit +diff:1632320687:1632320519:=129c129%0a%3c location match "/cookbook/(.*)" {%0a---%0a> location "/cookbook/*" {%0a132c132%0a%3c location match "/uploads/(.*)" {%0a---%0a> location "/uploads/*" {%0a135c135%0a%3c location match "/local/(.*)" {%0a---%0a> location "/local/*" {%0a138,139c138,139%0a%3c location match "/favicon.(.*)" {%0a%3c request rewrite "/favicon.%251"%0a---%0a> location "/favicon.jpg" {%0a> request rewrite "/favicon.jpg"%0a +host:1632320687=77.168.188.164 +author:1632320519=miniontoby +csum:1632320519=updated cleanurls +diff:1632320519:1627398507:minor=129c129%0a%3c location "/cookbook/*" {%0a---%0a> location match "/cookbook/(.*)" {%0a132c132%0a%3c location "/uploads/*" {%0a---%0a> location match "/uploads/(.*)" {%0a135,136c135,136%0a%3c location "/local/*" {%0a%3c request rewrite "/local/%251"%0a---%0a> location match "/(.*)/(.*)" {%0a> request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a138,145c138,139%0a%3c location "/favicon.jpg" {%0a%3c request rewrite "/favicon.jpg"%0a%3c }%0a%3c location match "/(.*)/(.*)" {%0a%3c request rewrite "/index.php?n=%251.%252?$QUERY_STRING"%0a%3c }%0a%3c location match "/(.*)" {%0a%3c request rewrite "/index.php?n=%251?$QUERY_STRING"%0a---%0a> location match "/(.*)" {%0a> request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a +host:1632320519=77.168.188.164 +author:1627398507=jrmu +diff:1627398507:1627397570:=72,75c72,75%0a%3c !! Configuring PmWiki%0a%3c %0a%3c Copy the sample configuration file and then edit it:%0a%3c %0a---%0a> !! Mirroring Content%0a> %0a> When mirroring content, you want to edit out passwords in these two files:%0a> %0a77c77,78%0a%3c $ doas cp /var/www/htdocs/wiki.ircnow.org/docs/sample-config.php /var/www/htdocs/wiki.ircnow.org/local/config.php%0a---%0a> /var/www/htdocs/wiki.example.com/local/config.php%0a> /var/www/htdocs/wiki.example.com/wiki.d/SiteAdmin.AuthUser%0a80,85c81%0a%3c Edit @@/var/www/htdocs/wiki.ircnow.org/local/config.php@@.%0a%3c %0a%3c !! Documentation%0a%3c %0a%3c Make sure you get familiar with the docs. They are located in:%0a%3c %0a---%0a> (:if false:)%0a87,88c83,84%0a%3c /var/www/htdocs/wiki.ircnow.org/README.txt%0a%3c /var/www/htdocs/wiki.ircnow.org/docs/%0a---%0a> $ doas cp -R wiki.example.com/ /var/www/htdocs/wiki.example.com/%0a> $ doas chown -R www:daemon /var/www/htdocs/wiki.example.com/%0a90,94c86,93%0a%3c %0a%3c !! Mirroring Content%0a%3c %0a%3c When mirroring content, you want to skip the passwords in these two files:%0a%3c %0a---%0a> (:ifend:)%0a> %0a> !! Password Protect Pages%0a> %0a> To change the password prompt page, edit Site.AuthForm.%0a> %0a> By default, PmWiki allows creation of password hashes using blowfish, so in the command line, you can type:%0a> %0a96,97c95,97%0a%3c /var/www/htdocs/wiki.example.com/local/config.php%0a%3c /var/www/htdocs/wiki.example.com/wiki.d/SiteAdmin.AuthUser%0a---%0a> $ blowfish%0a> TypeYourPasswordThenPressCtrl+d%0a> $2b$09$KcHFdL42rABog//yC9qehuv0wHgu19QqVHOnhW1zutMC/esVfDfwa%0a100c100,101%0a%3c (:if false:)%0a---%0a> To create a password hash for https://example.com/index.php?n=SiteAdmin.AuthUser, run this command:%0a> %0a102,103c103,104%0a%3c $ doas cp -R wiki.example.com/ /var/www/htdocs/wiki.example.com/%0a%3c $ doas chown -R www:daemon /var/www/htdocs/wiki.example.com/%0a---%0a> $ php-7.4 %0a> %3c?php echo password_hash("PASSWORD", PASSWORD_BCRYPT); ?>%0a105,119c106,112%0a%3c (:ifend:)%0a%3c %0a%3c !! Password Protect Pages%0a%3c %0a%3c To change the password prompt page, edit Site.AuthForm.%0a%3c %0a%3c By default, PmWiki allows creation of password hashes using blowfish, so in the command line, you can type:%0a%3c %0a%3c [@%0a%3c $ blowfish%0a%3c TypeYourPasswordThenPressCtrl+d%0a%3c $2b$09$KcHFdL42rABog//yC9qehuv0wHgu19QqVHOnhW1zutMC/esVfDfwa%0a%3c @]%0a%3c %0a%3c You can use these password hashes for https://example.com/index.php?n=SiteAdmin.AuthUser%0a---%0a> %0a> Replace PASSWORD with your real password.%0a> %0a> !! Clean URLs%0a> %0a> The following URL rewrite rules can provide 'clean' URLs:%0a> %0a +host:1627398507=38.87.162.8 +author:1627397570=jrmu +diff:1627397570:1627397494:=81d80%0a%3c (:if false:)%0a86d84%0a%3c (:ifend:)%0a +host:1627397570=38.87.162.8 +author:1627397494=jrmu +diff:1627397494:1627397019:=74,75d73%0a%3c When mirroring content, you want to edit out passwords in these two files:%0a%3c %0a77,82c75,76%0a%3c /var/www/htdocs/wiki.example.com/local/config.php%0a%3c /var/www/htdocs/wiki.example.com/wiki.d/SiteAdmin.AuthUser%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas cp -R wiki.example.com/ /var/www/htdocs/wiki.example.com/%0a---%0a> $ doas cp -a wiki.d/ /var/www/htdocs/wiki.example.com/%0a> $ doas chown -R www:daemon /var/www/htdocs/wiki.example.com/%0a +host:1627397494=38.87.162.8 +author:1627397019=jrmu +diff:1627397019:1627396942:=76d75%0a%3c $ doas chown -R www:daemon /var/www/htdocs/wiki.example.com/%0a +host:1627397019=38.87.162.8 +author:1627396942=jrmu +diff:1627396942:1627396424:=71,76d70%0a%3c %0a%3c !! Mirroring Content%0a%3c %0a%3c [@%0a%3c $ doas cp -a wiki.d/ /var/www/htdocs/wiki.example.com/%0a%3c @]%0a +host:1627396942=38.87.162.8 +author:1627396424=jrmu +diff:1627396424:1627395013:=72,73c72,73%0a%3c !! Password Protect Pages%0a%3c %0a---%0a> !!%0a> %0a75,82d74%0a%3c %0a%3c By default, PmWiki allows creation of password hashes using blowfish, so in the command line, you can type:%0a%3c %0a%3c [@%0a%3c $ blowfish%0a%3c TypeYourPasswordThenPressCtrl+d%0a%3c $2b$09$KcHFdL42rABog//yC9qehuv0wHgu19QqVHOnhW1zutMC/esVfDfwa%0a%3c @]%0a +host:1627396424=38.87.162.8 +author:1627395013=jrmu +diff:1627395013:1627394765:=85,88c85,89%0a%3c !! Clean URLs%0a%3c %0a%3c The following URL rewrite rules can provide 'clean' URLs:%0a%3c %0a---%0a> !! Clean url's %0a> %0a> If you want clean url's you need to do the following (which I (Miniontoby) didn't really wanted to share) %0a> %0a> add to your httpd.conf wiki block%0a107,115c108,113%0a%3c Edit /var/www/htdocs/pmwiki/local/config.php:%0a%3c %0a%3c [@%0a%3c $EnablePathInfo = 1;%0a%3c $ScriptUrl = 'https://wiki.example.com';%0a%3c $PubDirUrl = 'https://wiki.example.com/pub';%0a%3c $UploadDir = "/var/www/htdocs/wiki.example.com/pmwiki/uploads";%0a%3c $UploadUrlFmt = "https://wiki.example.com/uploads";%0a%3c @]%0a---%0a> and edit your /var/www/htdocs/pmwiki/local/config.php:%0a> [@$EnablePathInfo = 1; //for enabling automatic use%0a> $ScriptUrl = 'https://wiki.example.com'; //for the homepage%0a> $PubDirUrl = 'https://wiki.example.com/pub'; //for the pub dir%0a> $UploadDir = "/var/www/htdocs/pmwiki/uploads"; //for the upload dir (plz make it firstly if not exist)%0a> $UploadUrlFmt = "https://wiki.example.com/uploads"; //for upload dir on the wiki@]%0a +host:1627395013=38.87.162.8 +author:1627394765=jrmu +diff:1627394765:1627394461:= +host:1627394765=38.87.162.8 +author:1627394461=jrmu +diff:1627394461:1627394316:=61,70d60%0a%3c %0a%3c Finally, restart httpd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c Use your browser to view @@http://wiki.example.com@@.%0a%3c %0a%3c To add TLS, you can use either [[relayd/acceleration|relayd for TLS acceleration]] (recommended) or [[openhttpd/tls|openhttpd's TLS]].%0a +host:1627394461=38.87.162.8 +author:1627394316=jrmu +diff:1627394316:1627393854:=49,60d48%0a%3c %0a%3c While not required, it helps to put in /var/www/htdocs/wiki.example.com/index.php:%0a%3c %0a%3c [@%0a%3c %3c?php include('pmwiki.php');%0a%3c @]%0a%3c %0a%3c Then give it proper permissions:%0a%3c %0a%3c [@%0a%3c $ doas chown www:daemon /var/www/htdocs/wiki.example.com/index.php%0a%3c @]%0a +host:1627394316=38.87.162.8 +author:1627393854=jrmu +diff:1627393854:1627383010:=15d14%0a%3c $ doas chown -R www:daemon /var/www/htdocs/wiki.example.com%0a +host:1627393854=38.87.162.8 +author:1627383010=jrmu +diff:1627383010:1627382674:=21,24c21%0a%3c Before you begin, make sure you have [[php/install|PHP installed]].%0a%3c %0a%3c Next, add a new block to @@/etc/httpd.conf@@:%0a%3c %0a---%0a> Add a new block to @@/etc/httpd.conf@@:%0a42,49d38%0a%3c %0a%3c Lines 7-8 above tell httpd to evaluate any file that ends with .php as a PHP script. Line 9 says that the document root for the web files is /htdocs/wiki.example.com. Keep in mind, however, that httpd automatically chroots to /var/www/, so the actual path will be /var/www/htdocs/wiki.example.com/.%0a%3c %0a%3c Line 11-13 tell httpd to automatically serve index.php as the default file when a directory is requested by the user. In other words, if a user requests @@https://wiki.example.com@@, he will actually receive @@https://wiki.example.com/index.php@@.%0a%3c %0a%3c Line 14 tells httpd that it can receive uploads as large as 100MB. By default, httpd is limited to only 1MB, so this setting is necessary if you want to allow large file uploads for your wiki.%0a%3c %0a%3c !!%0a +host:1627383010=38.87.162.8 +author:1627382674=jrmu +diff:1627382674:1627382359:=5c5%0a%3c [[https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd. It also does not require the user's browser to support javascript, which helps improve accessibility.%0a---%0a> [[https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd.%0a +host:1627382674=38.87.162.8 +author:1627382359=jrmu +diff:1627382359:1627381876:=18,38d17%0a%3c %0a%3c !! Configure OpenHTTPd%0a%3c %0a%3c Add a new block to @@/etc/httpd.conf@@:%0a%3c [@%0a%3c server "wiki.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c root "/htdocs/wiki.example.com"%0a%3c }%0a%3c directory {%0a%3c index "index.php"%0a%3c }%0a%3c connection max request body 104857600%0a%3c }%0a%3c @]%0a +host:1627382359=38.87.162.8 +author:1627381876=jrmu +diff:1627381876:1627380192:=17c17%0a%3c Make sure to replace wiki.example.com with your actual domain name. For flexibility, we recommend you run your own nameserver using [[nsd/configure|nsd]] and [[nsd/zone|create a records]] for wiki.example.com.%0a---%0a> Make sure to replace wiki.example.com with your actual domain name.%0a +host:1627381876=38.87.162.8 +author:1627380192=jrmu +diff:1627380192:1627380173:=17c17%0a%3c Make sure to replace wiki.example.com with your actual domain name.%0a---%0a> Make sure to replace example.com with your actual domain name.%0a +host:1627380192=38.87.162.8 +author:1627380173=jrmu +diff:1627380173:1627379432:=5,6c5,6%0a%3c [[https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd.%0a%3c %0a---%0a> [https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd.%0a> %0a10,17d9%0a%3c %0a%3c [@%0a%3c $ ftp https://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz%0a%3c $ tar xvzf pmwiki-latest.tgz%0a%3c $ doas mv pmwiki-2.2.141/ /var/www/htdocs/wiki.example.com%0a%3c @]%0a%3c %0a%3c Make sure to replace example.com with your actual domain name.%0a +host:1627380173=38.87.162.8 +author:1627379432=jrmu +diff:1627379432:1627378757:=1,9c1%0a%3c (:title Install PmWiki:)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c [https://www.pmwiki.org|PmWiki]] is a simple and lightweight wiki that doesn't require a database. Instead, content for the wiki is stored in simple text files. Its only requirement is PHP, making it very simple to host with OpenBSD's openhttpd.%0a%3c %0a%3c !! Install%0a%3c %0a%3c [[https://www.pmwiki.org/wiki/PmWiki/Download|Download a copy]] of PmWiki. In this guide, we'll grab [[https://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz|the latest stable release]].%0a---%0a> pmwiki is a 2 step install. It's on the official pmwiki page, there's not that much to do.%0a +host:1627379432=38.87.162.8 +author:1627378757=jrmu +diff:1627378757:1627378629:= +host:1627378757=38.87.162.8 +author:1627378629=jrmu +diff:1627378629:1627378629:=1,42d0%0a%3c pmwiki is a 2 step install. It's on the official pmwiki page, there's not that much to do.%0a%3c %0a%3c To change the password prompt page, edit Site.AuthForm.%0a%3c %0a%3c To create a password hash for https://example.com/index.php?n=SiteAdmin.AuthUser, run this command:%0a%3c %0a%3c [@%0a%3c $ php-7.4 %0a%3c %3c?php echo password_hash("PASSWORD", PASSWORD_BCRYPT); ?>%0a%3c @]%0a%3c %0a%3c Replace PASSWORD with your real password.%0a%3c %0a%3c !! Clean url's %0a%3c %0a%3c If you want clean url's you need to do the following (which I (Miniontoby) didn't really wanted to share) %0a%3c %0a%3c add to your httpd.conf wiki block%0a%3c [@%0a%3c location match "/pub/(.*)" {%0a%3c request rewrite "/pub/%251"%0a%3c }%0a%3c location match "/cookbook/(.*)" {%0a%3c request rewrite "/cookbook/%251"%0a%3c }%0a%3c location match "/uploads/(.*)" {%0a%3c request rewrite "/uploads/%251"%0a%3c }%0a%3c location match "/(.*)/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a%3c }%0a%3c location match "/(.*)" {%0a%3c request rewrite "/pmwiki.php?n=%251?$QUERY_STRING"%0a%3c }%0a%3c @]%0a%3c %0a%3c and edit your /var/www/htdocs/pmwiki/local/config.php:%0a%3c [@$EnablePathInfo = 1; //for enabling automatic use%0a%3c $ScriptUrl = 'https://wiki.example.com'; //for the homepage%0a%3c $PubDirUrl = 'https://wiki.example.com/pub'; //for the pub dir%0a%3c $UploadDir = "/var/www/htdocs/pmwiki/uploads"; //for the upload dir (plz make it firstly if not exist)%0a%3c $UploadUrlFmt = "https://wiki.example.com/uploads"; //for upload dir on the wiki@]%0a +host:1627378629=38.87.162.8 blob - /dev/null blob + 68efbdfabcb9cb9119321d74395f6c66c22dd493 (mode 644) --- /dev/null +++ wiki.d/Pmwiki.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1619702964 +host=198.251.82.194 +name=Pmwiki.RecentChanges +rev=26 +text=* [[Pmwiki/Install]] . . . December 17, 2021, at 04:19 PM by [[~jrmu]]: [==]%0a* [[Pmwiki/Simpleurl]] . . . April 29, 2021, at 02:46 PM by [[~punk]]: [==]%0a +time=1639757956 blob - /dev/null blob + eb0dba029195245b1f6670ff6f83686e1f461325 (mode 644) --- /dev/null +++ wiki.d/Pmwiki.Simpleurl @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=punk +charset=UTF-8 +csum= +ctime=1619702964 +host=188.80.109.149 +name=Pmwiki.Simpleurl +rev=2 +targets= +text=Httpd%0a%0aOpenBSD http server.%0aInitial setup%0a%0aTo setup let's encript ...%0aDefault setup%0a%0a[@%0a# $OpenBSD: httpd.conf,v 1.20 2018/06/13 15:08:24 reyk Exp $%0a%0atypes {%0a include "/usr/share/misc/mime.types"%0a}%0a%0a#ext_addr="egress"%0aext_addr="0.0.0.0"%0a%0aserver "default" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a@]%0a%0aPmwiki%0a%0aReference for this solution is from ircnow, it was hard to get it working with requests containing query string and without. Solution was to comment a condition on pmwiki.php file in order to stop redirecting without disabling clean path config variable.%0a%0aHttpd configuration;%0a%0a[@%0aserver "wiki.leetio.dev" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a key "/etc/ssl/private/leetio.dev.key"%0a }%0a root "/htdocs/wiki"%0a directory index "/pmwiki.php"%0a%0a location "/" {%0a root "/htdocs/wiki/pmwiki.php"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location match "/pub/(.*)" {%0a request rewrite "/pub/%251"%0a }%0a location match "/cookbook/(.*)" {%0a request rewrite "/cookbook/%251"%0a }%0a location match "/uploads/(.*)" {%0a request rewrite "/uploads/%251"%0a }%0a%0a location match "/(.+)/(.+)" {%0a # check pmwiki.php ResolvePageName %0a # loop redirects without query string%0a # disable redirect condition solved %0a # problem%0a root "/htdocs/wiki"%0a request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location match "/(.+)" {%0a root "/htdocs/wiki"%0a request rewrite "/pmwiki.php?n=%251?QUERY_STRING"%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a location "*.php*" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a%0a}%0a@]%0a%0aFile pmwiki.php change;%0a%0a[@%0a## ResolvePageName "normalizes" a pagename based on the current%0a## settings of $DefaultPage and $PagePathFmt. It's normally used%0a## during initialization to fix up any missing or partial pagenames.%0afunction ResolvePageName($pagename) {%0a global $DefaultPage, $DefaultGroup, $DefaultName,%0a $GroupPattern, $NamePattern, $EnableFixedUrlRedirect;%0a SDV($DefaultPage, "$DefaultGroup.$DefaultName");%0a $pagename = preg_replace('!([./][^./]+)\\.html?$!', '$1', $pagename);%0a if ($pagename == '') return $DefaultPage;%0a $p = MakePageName($DefaultPage, $pagename);%0a if (!preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $p)) {%0a header('HTTP/1.1 404 Not Found');%0a Abort('$[?invalid page name]');%0a }%0a if (preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $pagename))%0a return $p;%0a //if (IsEnabled($EnableFixedUrlRedirect, 1)%0a // && $p && (PageExists($p) || preg_match('/[\\/.]/', $pagename)))%0a // { Redirect($p); exit(); }%0a return MakePageName($DefaultPage, "$pagename.$pagename");%0a}%0a@]%0a%0aCgit%0a%0a[@%0aserver "git.leetio.dev" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a key "/etc/ssl/private/leetio.dev.key"%0a }%0a root "/htdocs/wiki"%0a # don't serve static files from cgit CGI: cgit.css and cgit.png%0a location "/cgit.*" {%0a root "/cgit"%0a no fastcgi%0a }%0a root "/cgi-bin/cgit.cgi"%0a fastcgi socket "/run/slowcgi.sock"%0a}%0a@]%0a +time=1619707587 +author:1619707587=punk +diff:1619707587:1619702964:= +host:1619707587=188.80.109.149 +author:1619702964=jrmu +diff:1619702964:1619702964:=1,129d0%0a%3c Httpd%0a%3c %0a%3c OpenBSD http server.%0a%3c Initial setup%0a%3c %0a%3c To setup let's encript ...%0a%3c Default setup%0a%3c %0a%3c [@%0a%3c # $OpenBSD: httpd.conf,v 1.20 2018/06/13 15:08:24 reyk Exp $%0a%3c %0a%3c types {%0a%3c include "/usr/share/misc/mime.types"%0a%3c }%0a%3c %0a%3c #ext_addr="egress"%0a%3c ext_addr="0.0.0.0"%0a%3c %0a%3c server "default" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Pmwiki%0a%3c %0a%3c Reference for this solution is from ircnow, it was hard to get it working with requests containing query string and without. Solution was to comment a condition on pmwiki.php file in order to stop redirecting without disabling clean path config variable.%0a%3c %0a%3c Httpd configuration;%0a%3c %0a%3c [@%0a%3c server "wiki.leetio.dev" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a%3c key "/etc/ssl/private/leetio.dev.key"%0a%3c }%0a%3c root "/htdocs/wiki"%0a%3c directory index "/pmwiki.php"%0a%3c %0a%3c location "/" {%0a%3c root "/htdocs/wiki/pmwiki.php"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location match "/pub/(.*)" {%0a%3c request rewrite "/pub/%251"%0a%3c }%0a%3c location match "/cookbook/(.*)" {%0a%3c request rewrite "/cookbook/%251"%0a%3c }%0a%3c location match "/uploads/(.*)" {%0a%3c request rewrite "/uploads/%251"%0a%3c }%0a%3c %0a%3c location match "/(.+)/(.+)" {%0a%3c # check pmwiki.php ResolvePageName %0a%3c # loop redirects without query string%0a%3c # disable redirect condition solved %0a%3c # problem%0a%3c root "/htdocs/wiki"%0a%3c request rewrite "/pmwiki.php?n=%251.%252?$QUERY_STRING"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location match "/(.+)" {%0a%3c root "/htdocs/wiki"%0a%3c request rewrite "/pmwiki.php?n=%251?QUERY_STRING"%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c location "*.php*" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c %0a%3c }%0a%3c @]%0a%3c %0a%3c File pmwiki.php change;%0a%3c %0a%3c [@%0a%3c ## ResolvePageName "normalizes" a pagename based on the current%0a%3c ## settings of $DefaultPage and $PagePathFmt. It's normally used%0a%3c ## during initialization to fix up any missing or partial pagenames.%0a%3c function ResolvePageName($pagename) {%0a%3c global $DefaultPage, $DefaultGroup, $DefaultName,%0a%3c $GroupPattern, $NamePattern, $EnableFixedUrlRedirect;%0a%3c SDV($DefaultPage, "$DefaultGroup.$DefaultName");%0a%3c $pagename = preg_replace('!([./][^./]+)\\.html?$!', '$1', $pagename);%0a%3c if ($pagename == '') return $DefaultPage;%0a%3c $p = MakePageName($DefaultPage, $pagename);%0a%3c if (!preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $p)) {%0a%3c header('HTTP/1.1 404 Not Found');%0a%3c Abort('$[?invalid page name]');%0a%3c }%0a%3c if (preg_match("/^($GroupPattern)[.\\/]($NamePattern)$/i", $pagename))%0a%3c return $p;%0a%3c //if (IsEnabled($EnableFixedUrlRedirect, 1)%0a%3c // && $p && (PageExists($p) || preg_match('/[\\/.]/', $pagename)))%0a%3c // { Redirect($p); exit(); }%0a%3c return MakePageName($DefaultPage, "$pagename.$pagename");%0a%3c }%0a%3c @]%0a%3c %0a%3c Cgit%0a%3c %0a%3c [@%0a%3c server "git.leetio.dev" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/leetio.dev.fullchain.pem"%0a%3c key "/etc/ssl/private/leetio.dev.key"%0a%3c }%0a%3c root "/htdocs/wiki"%0a%3c # don't serve static files from cgit CGI: cgit.css and cgit.png%0a%3c location "/cgit.*" {%0a%3c root "/cgit"%0a%3c no fastcgi%0a%3c }%0a%3c root "/cgi-bin/cgit.cgi"%0a%3c fastcgi socket "/run/slowcgi.sock"%0a%3c }%0a%3c @]%0a +host:1619702964=198.251.81.119 blob - /dev/null blob + 71987ba741c5eaaf34920739478f5728914674cb (mode 644) --- /dev/null +++ wiki.d/Police.Intro @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1624102955 +host=38.81.163.143 +name=Police.Intro +rev=1 +targets= +text=Here are the rules:%0a%0a# Never break the law%0a# Avoid reporting to the police unless someone is in physical danger%0a# Don't do this from home: use a VPS, shell account, or bouncer%0a# Never reveal any personally identifiable information%0a# If you make a phone call, use a company phone to hide your number%0a# If you send an email, use a disposable email or company email%0a# If you visit a shady website, disable all javascript%0a%0aSetting up irssi to connect via tor:%0a%0a[@%0a$ tmux%0a$ doas pkg_add tor torsocks irssi%0a$ doas rcctl enable tor%0a$ doas rcctl start%0a$ torsocks irssi%0a%0a/set real_name %3crealname>%0a/set user_name %3cusername>%0a/set nick %3cnick>%0a/set ctcp_userinfo_reply mIRC 7.61%0a/set ctcp_version_reply mIRC 7.61%0a/set autolog on%0a/save%0a@]%0a%0aYou can use something besides mIRC 7.61 for the ctcp reply. Just pick something realistic looking besides irssi.%0a%0aIn order to infiltrate a criminal network, you will need to do some research. Figure out what they are interested in (ddos attacks, phishing, credit card fraud, spamming). Try to understand what language they speak, what they are passionate about, and see if you can strike up a conversation with them. This helps build trust so they will be willing to share more information.%0a%0aUse a little creativity. Don't commit any illegal crime, don't suggest they commit any crimes. However, feel free to chat with them, ask them how they are doing, what hobbies they enjoy etc. Try to ask them for information to learn more about them, but...be subtle, be subtle! I recommend you avoid lying. However, you are welcome to change your persona. Use a new dialect. If you normally chat using formal English, use lots of slang. Talk like someone their age. Spell things wrong on purpose if it helps you fit in. Go ahead and use bad grammar if it helps. Feel free to use Google translate for the conversation. Have fun!%0a%0aFirst, make sure you have proof they have committed a real crime. If there is no evidence, then stop collecting logs. If there is proof, then collect as much data as you can. Make sure you have logging turned on. Figure out what networks they join, what software they use, what servers are their hubs. Data you want to collect:%0a%0a# Real legal name%0a# Age, date of birth, phone number, home address, social media accounts%0a# Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a# What crime networks they collect to. IP addresses, domain names%0a# Their criminal friends%0a# Source code of the software they use%0a%0aDocument everything.%0a%0aYour biggest tool is your brain. Look for clues. For example, use /list to figure out what are the channels inside the network. Join some of them and see who is around. Are there any bots? What are their IP addresses? Who hosts them? Type /who #channel to list all the users within a channel. Type /names to see all the users in a channel. Type /whois username to get more info about a user. However, be careful, as some ircds may notify the admin when a user runs the /whois command. It helps to hang around in a channel for a few weeks.%0a%0aFor example, suppose you found the IP 1.2.3.4 is hosting an IRC command and control botnet for crime. You can run:%0a%0a[@%0a$ whois 1.2.3.4%0aVPS Hosting Generic VPS-INC (NET-1.2.3.4) 1.2.3.0 - 1.2.6.0%0a@]%0a%0aThis tells you that the server is hosted with Generic VPS, inc. So, head over to Generic VPS's website and go to their abuse page and contact them. Send them an email to support@ or abuse@example.com, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a%0aSuppose you realize that the domain example.com is being used for the illegal botnet:%0a%0a[@%0a$ whois example.com%0aDomain Name: EXAMPLE.COM%0aRegistry Domain ID: D1234567890%0aRegistrar WHOIS Server:%0aRegistrar URL: http://www.genericregistrarexample.com%0aUpdated Date: 2020-05-06T00:41:36Z%0aCreation Date: 2018-04-15T05:08:12Z%0aRegistry Expiry Date: 2021-04-15T05:08:12Z%0aRegistrar Registration Expiration Date:%0aRegistrar: Generic Registrar Ltd%0aRegistrar IANA ID: 12345678%0aRegistrar Abuse Contact Email: feedback@genericregistrarexample.com%0aRegistrar Abuse Contact Phone: +1234567890%0aReseller:%0aDomain Status: ok https://icann.org/epp#ok%0aDomain Status: autoRenewPeriod https://icann.org/epp#autoRenewPeriod%0aRegistrant Organization: Hacker Inc%0aRegistrant State/Province: CA%0aRegistrant Country: US%0aName Server: NS1.EXAMPLE.COM%0aName Server: NS2.EXAMPLE.COM%0aDNSSEC: unsigned%0aURL of the ICANN Whois Inaccuracy Complaint Form https://www.icann.org/wicf/)%0a>>> Last update of WHOIS database: 2020-05-07T13:23:58Z %3c%3c%3c%0a@]%0a%0aThis tells us that the domain example.com was registered by Hacker Inc with the registrar http://www.genericregistrarexample.com, and that abuse should be reported to feedback@genericregistrarexample.com. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In one particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a%0aSuppose you see one of the criminals joining like this:%0a%0a14:25 -!- hacker [thief@shell.example.com] has joined #illegal%0a%0aBased on his vhost mask, you can tell that he's connecting from shell.example.com . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case thief) and not just the nick (hacker). The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a%0a[@%0a$ dig shell.example.com%0a; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> shell.example.com%0a;; global options: printcmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 39025%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%0a;; QUESTION SECTION:%0a;shell.example.com. IN A%0a%0a;; ANSWER SECTION:%0ashell.example.com. 300 IN A 192.168.0.1%0a%0a;; Query time: 295 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Thu May 7 22:01:41 2020%0a;; MSG SIZE rcvd: 57%0a@]%0a%0aThis tells you that the IP address for the server is 192.168.0.1. So you then run:%0a%0a[@%0a$ whois 192.168.0.1%0aOrgName: Cloud%0aOrgId: CLD%0aAddress: 123 Nowhere St%0aCity: Nowhere%0aStateProv: NY%0aPostalCode: 12345%0aCountry: US%0aRegDate: 2008-04-24%0aUpdated: 2019-06-28%0aComment: http://www.completelyrandomcloudexample.com%0aRef: https://rdap.arin.net/registry/entity/LINOD%0aOrgNOCHandle: LN1234567-ARIN%0aOrgNOCName: Cloud Network Operations%0aOrgNOCPhone: +1-234-567-8900%0aOrgNOCEmail: support@completelyrandomcloudexample.com%0aOrgNOCRef: https://rdap.arin.net/registry/entity/LN1234567-ARIN%0a%0aOrgAbuseHandle: LAS1234567-ARIN %0aOrgAbuseName: Cloud Abuse Support%0aOrgAbusePhone: +1-234-567-8900%0aOrgAbuseEmail: abuse@completelyrandomcloudexample.com%0aOrgAbuseRef: https://rdap.arin.net/registry/entity/LAS12-ARIN%0a%0aOrgTechHandle: LNO1234567-ARIN%0aOrgTechName: Cloud Network Operations%0aOrgTechPhone: +1-234-567-8900%0aOrgTechEmail: support@completelyrandomcloudexample.com%0aOrgTechRef: https://rdap.arin.net/registry/entity/LNO21-ARIN%0a@]%0a%0aThis shell provider uses a Cloud VPS. So, contact Cloud's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Cloud and the shell provider close the guilty accounts.%0a%0aSometimes you have an IP but you don't know who owns it. You can run this:%0a%0a[@%0a$ dig -x 192.168.0.1%0a; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 192.168.0.1%0a;; global options: printcmd%0a;; Got answer:%0a;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 6039%0a;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%0a;; QUESTION SECTION:%0a;1.0.168.192.in-addr.arpa. IN PTR%0a%0a;; ANSWER SECTION:%0a1.0.168.192.in-addr.arpa. 86400 IN PTR criminal.example.com.%0a%0a;; Query time: 4943 msec%0a;; SERVER: 127.0.0.1#53(127.0.0.1)%0a;; WHEN: Thu May 7 22:05:55 2020%0a;; MSG SIZE rcvd: 80%0a@]%0a%0aThis tells you that the domain name is criminal.example.com.%0a%0aOnce you get this basic information, use a search engine to gather more. Search their name, their network, their websites -- look for any software they might have written, anything about them that might be useful. Their nicknames might show up on old logs, they might have malware associated. This research is very important for proving someone is guilty of a crime.%0a%0aIn your email, make sure to document the crime clearly and provide clear evidence. Use screenshots, videos, chat logs, whatever is most effective.%0a%0aMake sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to abuse@ircnow.org so our team can take a look.%0a%0aWhen you start filing reports, make sure you go in this order:%0a%0a# Take down domains%0a# Take down irc servers%0a# Take down shell accounts / bouncers used by admins/criminals%0a# Finally, take down stolen servers and bots used for stealing%0a%0aThere are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and IRC servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a%0aThe reason we take down domains first is because it causes the most disruption while still allowing you to connect to the IRCd for further spying. Afterwards, we can cause netsplits by taking down the IRC servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else.%0a +time=1624102955 +author:1624102955=jrmu +diff:1624102955:1624102955:=1,189d0%0a%3c Here are the rules:%0a%3c %0a%3c # Never break the law%0a%3c # Avoid reporting to the police unless someone is in physical danger%0a%3c # Don't do this from home: use a VPS, shell account, or bouncer%0a%3c # Never reveal any personally identifiable information%0a%3c # If you make a phone call, use a company phone to hide your number%0a%3c # If you send an email, use a disposable email or company email%0a%3c # If you visit a shady website, disable all javascript%0a%3c %0a%3c Setting up irssi to connect via tor:%0a%3c %0a%3c [@%0a%3c $ tmux%0a%3c $ doas pkg_add tor torsocks irssi%0a%3c $ doas rcctl enable tor%0a%3c $ doas rcctl start%0a%3c $ torsocks irssi%0a%3c %0a%3c /set real_name %3crealname>%0a%3c /set user_name %3cusername>%0a%3c /set nick %3cnick>%0a%3c /set ctcp_userinfo_reply mIRC 7.61%0a%3c /set ctcp_version_reply mIRC 7.61%0a%3c /set autolog on%0a%3c /save%0a%3c @]%0a%3c %0a%3c You can use something besides mIRC 7.61 for the ctcp reply. Just pick something realistic looking besides irssi.%0a%3c %0a%3c In order to infiltrate a criminal network, you will need to do some research. Figure out what they are interested in (ddos attacks, phishing, credit card fraud, spamming). Try to understand what language they speak, what they are passionate about, and see if you can strike up a conversation with them. This helps build trust so they will be willing to share more information.%0a%3c %0a%3c Use a little creativity. Don't commit any illegal crime, don't suggest they commit any crimes. However, feel free to chat with them, ask them how they are doing, what hobbies they enjoy etc. Try to ask them for information to learn more about them, but...be subtle, be subtle! I recommend you avoid lying. However, you are welcome to change your persona. Use a new dialect. If you normally chat using formal English, use lots of slang. Talk like someone their age. Spell things wrong on purpose if it helps you fit in. Go ahead and use bad grammar if it helps. Feel free to use Google translate for the conversation. Have fun!%0a%3c %0a%3c First, make sure you have proof they have committed a real crime. If there is no evidence, then stop collecting logs. If there is proof, then collect as much data as you can. Make sure you have logging turned on. Figure out what networks they join, what software they use, what servers are their hubs. Data you want to collect:%0a%3c %0a%3c # Real legal name%0a%3c # Age, date of birth, phone number, home address, social media accounts%0a%3c # Business, education background, what software they use (irc daemons, irc clients, irc bots)%0a%3c # What crime networks they collect to. IP addresses, domain names%0a%3c # Their criminal friends%0a%3c # Source code of the software they use%0a%3c %0a%3c Document everything.%0a%3c %0a%3c Your biggest tool is your brain. Look for clues. For example, use /list to figure out what are the channels inside the network. Join some of them and see who is around. Are there any bots? What are their IP addresses? Who hosts them? Type /who #channel to list all the users within a channel. Type /names to see all the users in a channel. Type /whois username to get more info about a user. However, be careful, as some ircds may notify the admin when a user runs the /whois command. It helps to hang around in a channel for a few weeks.%0a%3c %0a%3c For example, suppose you found the IP 1.2.3.4 is hosting an IRC command and control botnet for crime. You can run:%0a%3c %0a%3c [@%0a%3c $ whois 1.2.3.4%0a%3c VPS Hosting Generic VPS-INC (NET-1.2.3.4) 1.2.3.0 - 1.2.6.0%0a%3c @]%0a%3c %0a%3c This tells you that the server is hosted with Generic VPS, inc. So, head over to Generic VPS's website and go to their abuse page and contact them. Send them an email to support@ or abuse@example.com, call their phone, chat with them on live chat, fill out a support ticket. Do whatever it takes to let them know that their customer is using the VPS for illegal purposes and needs to be shut down.%0a%3c %0a%3c Suppose you realize that the domain example.com is being used for the illegal botnet:%0a%3c %0a%3c [@%0a%3c $ whois example.com%0a%3c Domain Name: EXAMPLE.COM%0a%3c Registry Domain ID: D1234567890%0a%3c Registrar WHOIS Server:%0a%3c Registrar URL: http://www.genericregistrarexample.com%0a%3c Updated Date: 2020-05-06T00:41:36Z%0a%3c Creation Date: 2018-04-15T05:08:12Z%0a%3c Registry Expiry Date: 2021-04-15T05:08:12Z%0a%3c Registrar Registration Expiration Date:%0a%3c Registrar: Generic Registrar Ltd%0a%3c Registrar IANA ID: 12345678%0a%3c Registrar Abuse Contact Email: feedback@genericregistrarexample.com%0a%3c Registrar Abuse Contact Phone: +1234567890%0a%3c Reseller:%0a%3c Domain Status: ok https://icann.org/epp#ok%0a%3c Domain Status: autoRenewPeriod https://icann.org/epp#autoRenewPeriod%0a%3c Registrant Organization: Hacker Inc%0a%3c Registrant State/Province: CA%0a%3c Registrant Country: US%0a%3c Name Server: NS1.EXAMPLE.COM%0a%3c Name Server: NS2.EXAMPLE.COM%0a%3c DNSSEC: unsigned%0a%3c URL of the ICANN Whois Inaccuracy Complaint Form https://www.icann.org/wicf/)%0a%3c >>> Last update of WHOIS database: 2020-05-07T13:23:58Z %3c%3c%3c%0a%3c @]%0a%3c %0a%3c This tells us that the domain example.com was registered by Hacker Inc with the registrar http://www.genericregistrarexample.com, and that abuse should be reported to feedback@genericregistrarexample.com. So, go to that website, file an abuse report, send them an email, go on live chat with them, make a phone call -- do whatever it takes to get their attention to take the server offline. In one particular case, I had to email the registrar 6 times, filed 6 tickets, made 3 phone calls, and went on live chat twice. It took me over two weeks. But finally the domain got suspended.%0a%3c %0a%3c Suppose you see one of the criminals joining like this:%0a%3c %0a%3c 14:25 -!- hacker [thief@shell.example.com] has joined #illegal%0a%3c %0a%3c Based on his vhost mask, you can tell that he's connecting from shell.example.com . Use a browser with Javascript turned off (perhaps using noscript or umatrix) and visit the site on your web browser. You find out that this is a free shell hosting provider. So contact that shell provider's email, phone, and IRC until he closes the account. Make sure you notify him of the ident (in this case thief) and not just the nick (hacker). The ident is the word that comes right before the @ sign. If the shell provider doesn't respond, then you can do this:%0a%3c %0a%3c [@%0a%3c $ dig shell.example.com%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> shell.example.com%0a%3c ;; global options: printcmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 39025%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%3c %0a%3c ;; QUESTION SECTION:%0a%3c ;shell.example.com. IN A%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c shell.example.com. 300 IN A 192.168.0.1%0a%3c %0a%3c ;; Query time: 295 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Thu May 7 22:01:41 2020%0a%3c ;; MSG SIZE rcvd: 57%0a%3c @]%0a%3c %0a%3c This tells you that the IP address for the server is 192.168.0.1. So you then run:%0a%3c %0a%3c [@%0a%3c $ whois 192.168.0.1%0a%3c OrgName: Cloud%0a%3c OrgId: CLD%0a%3c Address: 123 Nowhere St%0a%3c City: Nowhere%0a%3c StateProv: NY%0a%3c PostalCode: 12345%0a%3c Country: US%0a%3c RegDate: 2008-04-24%0a%3c Updated: 2019-06-28%0a%3c Comment: http://www.completelyrandomcloudexample.com%0a%3c Ref: https://rdap.arin.net/registry/entity/LINOD%0a%3c OrgNOCHandle: LN1234567-ARIN%0a%3c OrgNOCName: Cloud Network Operations%0a%3c OrgNOCPhone: +1-234-567-8900%0a%3c OrgNOCEmail: support@completelyrandomcloudexample.com%0a%3c OrgNOCRef: https://rdap.arin.net/registry/entity/LN1234567-ARIN%0a%3c %0a%3c OrgAbuseHandle: LAS1234567-ARIN %0a%3c OrgAbuseName: Cloud Abuse Support%0a%3c OrgAbusePhone: +1-234-567-8900%0a%3c OrgAbuseEmail: abuse@completelyrandomcloudexample.com%0a%3c OrgAbuseRef: https://rdap.arin.net/registry/entity/LAS12-ARIN%0a%3c %0a%3c OrgTechHandle: LNO1234567-ARIN%0a%3c OrgTechName: Cloud Network Operations%0a%3c OrgTechPhone: +1-234-567-8900%0a%3c OrgTechEmail: support@completelyrandomcloudexample.com%0a%3c OrgTechRef: https://rdap.arin.net/registry/entity/LNO21-ARIN%0a%3c @]%0a%3c %0a%3c This shell provider uses a Cloud VPS. So, contact Cloud's abuse and support email, phone number, and go to their IRC channel. I spent about two hours chatting over IRC and sent around 4 emails. Do what it takes to make sure Cloud and the shell provider close the guilty accounts.%0a%3c %0a%3c Sometimes you have an IP but you don't know who owns it. You can run this:%0a%3c %0a%3c [@%0a%3c $ dig -x 192.168.0.1%0a%3c ; %3c%3c>> DiG 9.4.2-P2 %3c%3c>> -x 192.168.0.1%0a%3c ;; global options: printcmd%0a%3c ;; Got answer:%0a%3c ;; ->>HEADER%3c%3c- opcode: QUERY, status: NOERROR, id: 6039%0a%3c ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0%0a%3c %0a%3c ;; QUESTION SECTION:%0a%3c ;1.0.168.192.in-addr.arpa. IN PTR%0a%3c %0a%3c ;; ANSWER SECTION:%0a%3c 1.0.168.192.in-addr.arpa. 86400 IN PTR criminal.example.com.%0a%3c %0a%3c ;; Query time: 4943 msec%0a%3c ;; SERVER: 127.0.0.1#53(127.0.0.1)%0a%3c ;; WHEN: Thu May 7 22:05:55 2020%0a%3c ;; MSG SIZE rcvd: 80%0a%3c @]%0a%3c %0a%3c This tells you that the domain name is criminal.example.com.%0a%3c %0a%3c Once you get this basic information, use a search engine to gather more. Search their name, their network, their websites -- look for any software they might have written, anything about them that might be useful. Their nicknames might show up on old logs, they might have malware associated. This research is very important for proving someone is guilty of a crime.%0a%3c %0a%3c In your email, make sure to document the crime clearly and provide clear evidence. Use screenshots, videos, chat logs, whatever is most effective.%0a%3c %0a%3c Make sure that any screenshots or videos you send do not contain any of your personal information! Double check for your own safety. If you want, you can first email to abuse@ircnow.org so our team can take a look.%0a%3c %0a%3c When you start filing reports, make sure you go in this order:%0a%3c %0a%3c # Take down domains%0a%3c # Take down irc servers%0a%3c # Take down shell accounts / bouncers used by admins/criminals%0a%3c # Finally, take down stolen servers and bots used for stealing%0a%3c %0a%3c There are reasons why we must follow this order. Many times, when you report abuse, the providers won't trust your logs and will want to verify the crime in person. If you take down the bots and IRC servers before the admin can log in, he will be unable to see any evidence and he may think you are lying. Therefore, you want to preserve as much evidence as possible until the last moment.%0a%3c %0a%3c The reason we take down domains first is because it causes the most disruption while still allowing you to connect to the IRCd for further spying. Afterwards, we can cause netsplits by taking down the IRC servers, and then take down his shell accounts / bouncers to cause confusion. We save bots and stolen servers for last because this is your evidence. Once you take these down, you will be unable to do anything else.%0a +host:1624102955=38.81.163.143 blob - /dev/null blob + b1021c4c41234739a6ccb8dd498a48f5b4c0dacf (mode 644) --- /dev/null +++ wiki.d/Police.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1624102955 +host=38.81.163.143 +name=Police.RecentChanges +rev=1 +text=* [[Police/Intro]] . . . June 19, 2021, at 11:42 AM by [[~jrmu]]: [==]%0a +time=1624102955 blob - /dev/null blob + ef4f67a5e55934e7f860594ba49b88b567f2d6cd (mode 644) --- /dev/null +++ wiki.d/PowerShell.Connect @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1623237054 +host=125.231.25.80 +name=PowerShell.Connect +rev=1 +targets= +text=(:title Windows PowerShell:)%0a%0aRecent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%0aIf you are running Windows 10, [[https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse|you can install it here]].%0a%0a# Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a# Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server. Then type your password (the password is invisible):\\%0aAttach:win10-ssh2.png +time=1623237054 +title=Windows PowerShell +author:1623237054=jrmu +diff:1623237054:1623237054:=1,9d0%0a%3c (:title Windows PowerShell:)%0a%3c %0a%3c Recent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%3c %0a%3c If you are running Windows 10, [[https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse|you can install it here]].%0a%3c %0a%3c # Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a%3c # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server. Then type your password (the password is invisible):\\%0a%3c Attach:win10-ssh2.png%0a\ No newline at end of file%0a +host:1623237054=125.231.25.80 blob - /dev/null blob + 6ce72eadee5b16189af603fab2b019ee4bab2696 (mode 644) --- /dev/null +++ wiki.d/PowerShell.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1623237054 +host=125.231.25.80 +name=PowerShell.RecentChanges +rev=1 +text=* [[PowerShell/Connect]] . . . June 09, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a +time=1623237054 blob - /dev/null blob + 571036ed307e98a4c3964f6f834c7d21de858e7c (mode 644) --- /dev/null +++ wiki.d/Prosody.Install @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1632623766 +host=198.251.82.194 +name=Prosody.Install +rev=6 +targets=Mercurial.Usage +text=$ doas pkg_add prosody%0a%0aRead /usr/local/share/doc/pkg-readmes/prosody%0a%0a[@%0a# echo "~ * * * * acme-client -v xmpp.example.com && cp /etc/ssl/{xmpp.example.com.crt,private/xmpp.example.com.key} /etc/prosody/certs/ && chown _prosody:_prosody /etc/prosody/certs/xmpp.example.com.{crt,key}" >> /var/cron/tabs/root%0a@]%0a%0aUsing [[mercurial/usage|mercurial]], download the modules:%0a%0a[@%0a$ hg clone https://hg.prosody.im/prosody-modules/ prosody-modules%0a@]%0a%0a[@%0a$ doas mkdir -p /usr/local/lib/prosody/extras/%0a$ doas cp -R mod_auto_accept_subscriptions mod_cloud_notify mod_csi mod_deny_omemo mod_group_bookmarks mod_http_upload mod_message_logging mod_muc_log mod_roster_allinall mod_roster_command mod_smacks mod_support_contact mod_throttle_presence mod_block_registrations mod_muc_limits mod_filter_chatstates mod_muc_ban_ip mod_captcha_registration mod_support_room mod_throttle_unsolicited mod_bookmarks mod_firewall /usr/local/lib/prosody/extras/%0a@]%0a +time=1637128942 +author:1637128942=jrmu +diff:1637128942:1637050944:=13,17d12%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /usr/local/lib/prosody/extras/%0a%3c $ doas cp -R mod_auto_accept_subscriptions mod_cloud_notify mod_csi mod_deny_omemo mod_group_bookmarks mod_http_upload mod_message_logging mod_muc_log mod_roster_allinall mod_roster_command mod_smacks mod_support_contact mod_throttle_presence mod_block_registrations mod_muc_limits mod_filter_chatstates mod_muc_ban_ip mod_captcha_registration mod_support_room mod_throttle_unsolicited mod_bookmarks mod_firewall /usr/local/lib/prosody/extras/%0a +host:1637128942=198.251.82.194 +author:1637050944=jrmu +diff:1637050944:1637047246:=7,12d6%0a%3c @]%0a%3c %0a%3c Using [[mercurial/usage|mercurial]], download the modules:%0a%3c %0a%3c [@%0a%3c $ hg clone https://hg.prosody.im/prosody-modules/ prosody-modules%0a +host:1637050944=198.251.82.194 +author:1637047246=jrmu +diff:1637047246:1637045325:=6c6,7%0a%3c # echo "~ * * * * acme-client -v xmpp.example.com && cp /etc/ssl/{xmpp.example.com.crt,private/xmpp.example.com.key} /etc/prosody/certs/ && chown _prosody:_prosody /etc/prosody/certs/xmpp.example.com.{crt,key}" >> /var/cron/tabs/root%0a---%0a> # echo "~ * * * * acme-client -v xmpp.example.com" >> /var/cron/tabs/root%0a> # echo "~ * * * * cp /etc/ssl/{xmpp.example.com.crt,private/xmpp.example.com.key} /etc/prosody/certs/" >> /var/cron/tabs/root%0a +host:1637047246=198.251.82.194 +author:1637045325=jrmu +diff:1637045325:1637045304:=5d4%0a%3c [@%0a8d6%0a%3c @]%0a +host:1637045325=198.251.82.194 +author:1637045304=jrmu +diff:1637045304:1632623766:=2a3%0a> %0a4,6d4%0a%3c %0a%3c # echo "~ * * * * acme-client -v xmpp.example.com" >> /var/cron/tabs/root%0a%3c # echo "~ * * * * cp /etc/ssl/{xmpp.example.com.crt,private/xmpp.example.com.key} /etc/prosody/certs/" >> /var/cron/tabs/root%0a +host:1637045304=198.251.82.194 +author:1632623766=jrmu +diff:1632623766:1632623766:=1,4d0%0a%3c $ doas pkg_add prosody%0a%3c %0a%3c %0a%3c Read /usr/local/share/doc/pkg-readmes/prosody%0a +host:1632623766=125.231.18.235 blob - /dev/null blob + d5039140d25a47dfa8b1c85e61053ebdfa06665c (mode 644) --- /dev/null +++ wiki.d/Prosody.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1632623766 +host=198.251.82.194 +name=Prosody.RecentChanges +rev=6 +text=* [[Prosody/Install]] . . . November 17, 2021, at 06:02 AM by [[~jrmu]]: [==]%0a +time=1637128942 blob - /dev/null blob + 02f897335de7182badadacf8c5a6902f43f79d0d (mode 644) --- /dev/null +++ wiki.d/Ps.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627443740 +host=38.87.162.8 +name=Ps.RecentChanges +rev=1 +text=* [[Ps/Usage]] . . . July 28, 2021, at 03:42 AM by [[~jrmu]]: [==]%0a +time=1627443740 blob - /dev/null blob + ed682d5a0ef90b76e5cabacd59f0cb6bb031192a (mode 644) --- /dev/null +++ wiki.d/Ps.Usage @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627443740 +host=38.87.162.8 +name=Ps.Usage +rev=1 +targets= +text= +time=1627443740 +author:1627443740=jrmu +diff:1627443740:1627443740:= +host:1627443740=38.87.162.8 blob - /dev/null blob + 0d2105c43fd5c5566c949b2c9e7efea16be8be98 (mode 644) --- /dev/null +++ wiki.d/Psi.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637158033 +host=38.87.162.8 +name=Psi.Connect +rev=4 +targets=Xmpp.Xmpp +text=[[https://psi-im.org|Psi]] is a free (as in freedom) XMPP chat app. It is fast and lightweight, and works on Windows, Linux, and macOS. It has full unicode support and easy file transfers.%0a%0a# Open Psi.%0a# If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a# Click @@Register new account@@.\\%0aAttach:psi-accountsetup.png%0a# You can pick a server from the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a# Click @@Next@@.\\%0aAttach:psi-registeraccount.png%0a# Choose your username and password:\\%0aAttach:psi-chooseusername.png%0a# Your account has been created:\\%0aAttach:psi-success.png\\%0aAttach:psi-contacts.png%0a +time=1637162598 +author:1637162598=jrmu +diff:1637162598:1637162414:=8c8%0a%3c # Click @@Next@@.\\%0a---%0a> # Click @@Next@@.%0a12c12%0a%3c # Your account has been created:\\%0a---%0a> # Your account has been created:%0a +host:1637162598=38.87.162.8 +author:1637162414=jrmu +diff:1637162414:1637158255:=3c3%0a%3c # Open Psi.%0a---%0a> # Open Psi:%0a5d4%0a%3c # Click @@Register new account@@.\\%0a7,8c6%0a%3c # You can pick a server from the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a%3c # Click @@Next@@.%0a---%0a> # Click @@Register new account@@.\\%0a9a8,9%0a> # For server, type see the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a> # Click @@Next@@.%0a11,13c11,12%0a%3c Attach:psi-chooseusername.png%0a%3c # Your account has been created:%0a%3c Attach:psi-success.png\\%0a---%0a> Attach:psi-success.png%0a> # Your account has been created!\\%0a +host:1637162414=38.87.162.8 +author:1637158255=jrmu +diff:1637158255:1637158033:=5d4%0a%3c Attach:psi-accountsetup.png%0a7c6%0a%3c Attach:psi-registeraccount.png%0a---%0a> Attach:psi-accountsetup.png%0a +host:1637158255=38.87.162.8 +author:1637158033=jrmu +diff:1637158033:1637158033:=1,12d0%0a%3c [[https://psi-im.org|Psi]] is a free (as in freedom) XMPP chat app. It is fast and lightweight, and works on Windows, Linux, and macOS. It has full unicode support and easy file transfers.%0a%3c %0a%3c # Open Psi:%0a%3c # If you already have an existing account, click on @@Accounts@@ -> @@Manage Accounts@@.%0a%3c # Click @@Register new account@@.\\%0a%3c Attach:psi-accountsetup.png%0a%3c # For server, type see the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@.%0a%3c # Click @@Next@@.%0a%3c # Choose your username and password:\\%0a%3c Attach:psi-success.png%0a%3c # Your account has been created!\\%0a%3c Attach:psi-contacts.png%0a +host:1637158033=38.87.162.8 blob - /dev/null blob + f5db3d9874a6426358e0d7f4fdbbf7683497b622 (mode 644) --- /dev/null +++ wiki.d/Psi.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637158033 +host=38.87.162.8 +name=Psi.RecentChanges +rev=4 +text=* [[Psi/Connect]] . . . November 17, 2021, at 03:23 PM by [[~jrmu]]: [==]%0a +time=1637162598 blob - /dev/null blob + 1cc8afbab70b002d4e565e73136c90145d9fee7b (mode 644) --- /dev/null +++ wiki.d/Psybnc.Install @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614959815 +host=198.251.81.119 +name=Psybnc.Install +rev=1 +targets=Openbsd.Rcd +text=Create a new user for psybnc:%0a%0a[@%0a$ doas useradd -m -g =uid -c "psybnc" -d /home/psybnc -s /bin/ksh psybnc%0a$ doas adduser%0a$ doas su psybnc%0a@]%0a%0aInstall c-ares then build psybnc:%0a%0a[@%0a$ doas pkg_add libcares%0a$ cd ~%0a$ ftp http://www.psybnc.dk/download/psyBNC-2.4BETA2.tar.gz%0a$ tar zxf psyBNC-2.4BETA2.tar.gz%0a$ rm psyBNC-2.4BETA2.tar.gz%0a$ cd psybnc%0a$ make%0a@]%0a%0aInside @@psybnc.conf@@:%0a%0a[@%0aPSYBNC.SYSTEM.PORT1=1314%0aPSYBNC.SYSTEM.HOST1=*%0aPSYBNC.SYSTEM.PORT2=21314%0aPSYBNC.SYSTEM.HOST2=S=*%0aPSYBNC.HOSTALLOWS.ENTRY0=*;*%0a@]%0a%0aRun psybnc:%0a%0a[@%0a$ ./psybnc%0a@]%0a%0aIt is possible then you may wish to see [[openbsd/rcd]] to add psybnc to system startup.%0a%0a----%0a%0aWhen interacting with psybnc%0a%0aNICK nickname%0aUSER nickname nickname example.ircnow.org :nickname%0a%0aall fields must be filled in -- it checks ident for login%0a%0aTo change nicks on a different network:%0a/nick #ircnow~jrmu%0a%0aI could not figure out how to send a raw command to a specific network, so I just made ircnow the main network%0a%0ato send a privmsg to a specific network%0a/query #network~nickname hello, world!%0a/query #ircnow~Nickserv identify password%0a%0aTo add a network:%0a/quote addnetwork network%0a%0aFor no SSL:%0a%0a/quote addserver network~irc.example.com :6667%0a%0aFor SSL:%0a%0a/quote addserver network~S=irc.example.com :6697%0a%0aBe careful, if it defaults to IPv4 and you attempt to connect IPv6, psybnc crashes '''each and every time''' you load it +time=1614959815 +author:1614959815=jrmu +diff:1614959815:1614959815:=1,68d0%0a%3c Create a new user for psybnc:%0a%3c %0a%3c [@%0a%3c $ doas useradd -m -g =uid -c "psybnc" -d /home/psybnc -s /bin/ksh psybnc%0a%3c $ doas adduser%0a%3c $ doas su psybnc%0a%3c @]%0a%3c %0a%3c Install c-ares then build psybnc:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add libcares%0a%3c $ cd ~%0a%3c $ ftp http://www.psybnc.dk/download/psyBNC-2.4BETA2.tar.gz%0a%3c $ tar zxf psyBNC-2.4BETA2.tar.gz%0a%3c $ rm psyBNC-2.4BETA2.tar.gz%0a%3c $ cd psybnc%0a%3c $ make%0a%3c @]%0a%3c %0a%3c Inside @@psybnc.conf@@:%0a%3c %0a%3c [@%0a%3c PSYBNC.SYSTEM.PORT1=1314%0a%3c PSYBNC.SYSTEM.HOST1=*%0a%3c PSYBNC.SYSTEM.PORT2=21314%0a%3c PSYBNC.SYSTEM.HOST2=S=*%0a%3c PSYBNC.HOSTALLOWS.ENTRY0=*;*%0a%3c @]%0a%3c %0a%3c Run psybnc:%0a%3c %0a%3c [@%0a%3c $ ./psybnc%0a%3c @]%0a%3c %0a%3c It is possible then you may wish to see [[openbsd/rcd]] to add psybnc to system startup.%0a%3c %0a%3c ----%0a%3c %0a%3c When interacting with psybnc%0a%3c %0a%3c NICK nickname%0a%3c USER nickname nickname example.ircnow.org :nickname%0a%3c %0a%3c all fields must be filled in -- it checks ident for login%0a%3c %0a%3c To change nicks on a different network:%0a%3c /nick #ircnow~jrmu%0a%3c %0a%3c I could not figure out how to send a raw command to a specific network, so I just made ircnow the main network%0a%3c %0a%3c to send a privmsg to a specific network%0a%3c /query #network~nickname hello, world!%0a%3c /query #ircnow~Nickserv identify password%0a%3c %0a%3c To add a network:%0a%3c /quote addnetwork network%0a%3c %0a%3c For no SSL:%0a%3c %0a%3c /quote addserver network~irc.example.com :6667%0a%3c %0a%3c For SSL:%0a%3c %0a%3c /quote addserver network~S=irc.example.com :6697%0a%3c %0a%3c Be careful, if it defaults to IPv4 and you attempt to connect IPv6, psybnc crashes '''each and every time''' you load it%0a\ No newline at end of file%0a +host:1614959815=198.251.81.119 blob - /dev/null blob + 46e810a26549592b0df98abc45cc802daca21d78 (mode 644) --- /dev/null +++ wiki.d/Psybnc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614959815 +host=198.251.81.119 +name=Psybnc.RecentChanges +rev=1 +text=* [[Psybnc/Install]] . . . March 05, 2021, at 03:56 PM by [[~jrmu]]: [==]%0a +time=1614959815 blob - /dev/null blob + 4c02476f40d33a8091cad722981f37f18c2c9b40 (mode 644) --- /dev/null +++ wiki.d/PuTTY.Connect @@ -0,0 +1,107 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1613921277 +host=38.87.162.8 +name=PuTTY.Connect +rev=31 +targets=Shell.Sshfingerprints,PuTTY.PuTTYgen +text=(:title Connecting on Windows:)%0a%0a!! PuTTY%0a%0aDownload and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%0a# Open PuTTY:\\%0aAttach:putty-config.png%0a # @@Host Name@@: @@username@fruit.ircnow.org@@ -- for example, if your username is john, and your server address is fruit.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a # @@Port@@: 22%0a # Click @@Open@@ at the bottom.%0a# Verify the SSH host keys:\\%0aAttach:putty-fpr.png%0a # You can consult the [[Shell/Sshfingerprints|SSH Fingerprints]] page or check the DNS SSHFP records.%0a# Type in your password (the password is invisible):\\%0aAttach:putty-login.png%0a%0a'''NOTE''': In PuTTY, you must use Shift+[Ins] in order to paste. Ctrl+v does not work for PuTTY.%0a%0a!! Fixing the [Esc] key%0a%0aCtrl+[ is an alternate key for [Esc].%0a%0aTo get the [Esc] key to work properly on PuTTY:%0a%0a# Go to @@Terminal > Keyboard@@ and change @@The Function keys and keypad@@ to @@VT100+@@.\\%0aAttach:putty-keyboard.png%0a# Go to @@Terminal > Features@@ and check @@Disable application keypad mode@@.%0a%0a!! Logging in with Keys%0a%0aTo log in with private keys, please see [[PuTTY/PuTTYgen|the PuTTYgen guide]].%0a +time=1638187998 +title=Connecting on Windows +author:1638187998=jrmu +diff:1638187998:1638187962:=5c5%0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a---%0a> Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.76-installer.msi|32-bit installer]].%0a +host:1638187998=38.87.162.8 +author:1638187962=jrmu +diff:1638187962:1638016068:=5c5%0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.76-installer.msi|32-bit installer]].%0a---%0a> Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.75-installer.msi|32-bit installer]].%0a +host:1638187962=38.87.162.8 +author:1638016068=jrmu +diff:1638016068:1628529892:=17,18d16%0a%3c %0a%3c '''NOTE''': In PuTTY, you must use Shift+[Ins] in order to paste. Ctrl+v does not work for PuTTY.%0a +host:1638016068=38.87.162.8 +author:1628529892=jrmu +diff:1628529892:1628526063:=28,30c28,77%0a%3c !! Logging in with Keys%0a%3c %0a%3c To log in with private keys, please see [[PuTTY/PuTTYgen|the PuTTYgen guide]].%0a---%0a> !! PuTTYgen%0a> %0a> !!! Generate Public/Private Key%0a> %0a> For additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure.%0a> %0a> # In the parameters field at the bottom, select the type of key to generate. This guide uses Ed25519.%0a> # Click @@Generate@@\\%0a> Attach:puttygen-random.png%0a> # '''Optional''': In @@Key passphrase@@, provide a passphrase and write it down securely. Type the passphrase again in @@Confirm passphrase@@. '''WARNING''': If you use a passphrase, the key becomes worthless if you forget the passphrase!%0a> # Click @@Save public key@@. Give it a name like @@publickey.pub@@. This key can be shared with anyone.%0a> # Click @@Save private key@@. Give it a name like @@privatekey.ppk@@. Keep the private key safe; '''never''' share this key!%0a> %0a> '''Optional''': To export this key for another ssh client, click on @@Conversions@@ in the menu at top, then click @@Export OpenSSH key@@. Give it a name like @@private.key@@.%0a> %0a> You have now generated your public and private key!%0a> %0a> !! Adding the Public Key%0a> %0a> # Connect with PuTTY using a password as described at top.%0a> # Edit @@~/.ssh/authorized_keys@@:\\%0a> Attach:putty-editauthorized.png%0a> # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.\\%0a> Attach:putty-copyauthorized.png%0a> # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a> # Alternatively, you can get the public key from the .ppk you created earlier. Open it with Notepad. It should look like this:%0a> %0a> [@%0a> ---- BEGIN SSH2 PUBLIC KEY ----%0a> Comment: "ed25519-key-20210809"%0a> AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3h%0a> fTDF%0a> ---- END SSH2 PUBLIC KEY ----%0a> @]%0a> %0a> Ignore the comment lines, copying only the key; join the lines together, and add @@ssh-ed25519@@ in front:%0a> %0a> [@%0a> ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3hfTDF%0a> @]%0a> %0a> !! Logging in with Private Key%0a> %0a> # Open PuTTY%0a> # Go to @@Connection > SSH > Auth@@%0a> # In @@Private key file for authentication@@, click @@Browse@@,%0a> and load your private key ('''hint''': it ends in .ppk).%0a> # Click @@Session@@ and fill in @@Hostname@@ as described at top. Then, click @@Open@@.%0a> # If you used a passphrase for the key, type it in.\\%0a> Attach:putty-keypassphrase.png%0a +host:1628529892=38.87.162.8 +author:1628526063=jrmu +diff:1628526063:1628526003:=75c75%0a%3c # Click @@Session@@ and fill in @@Hostname@@ as described at top. Then, click @@Open@@.%0a---%0a> # Fill in @@Session > Hostname@@ as described at top. Then, click @@Open@@.%0a +host:1628526063=38.87.162.8 +author:1628526003=jrmu +diff:1628526003:1628525975:=74c74%0a%3c and load your private key ('''hint''': it ends in .ppk).%0a---%0a> and find your private key ('''hint''': it ends in .ppk).%0a +host:1628526003=38.87.162.8 +author:1628525975=jrmu +diff:1628525975:1628525756:=72c72%0a%3c # Go to @@Connection > SSH > Auth@@%0a---%0a> # Go to @@Connection > Ssh > Auth@@%0a +host:1628525975=38.87.162.8 +author:1628525756=jrmu +diff:1628525756:1628510931:=37c37,38%0a%3c # '''Optional''': In @@Key passphrase@@, provide a passphrase and write it down securely. Type the passphrase again in @@Confirm passphrase@@. '''WARNING''': If you use a passphrase, the key becomes worthless if you forget the passphrase!%0a---%0a> # In @@Key passphrase@@, provide a passphrase and write it down securely.%0a> # Type the passphrase again in @@Confirm passphrase@@.%0a +host:1628525756=38.87.162.8 +author:1628510931=jrmu +diff:1628510931:1628510702:=78a79,83%0a> %0a> Attach:puttygen-exportssh.png%0a> (:if false:)%0a> Attach:puttygen-ed25519.png%0a> (:ifend:)%0a +host:1628510931=38.87.162.8 +author:1628510702=jrmu +diff:1628510702:1628510360:=78c78%0a%3c Attach:putty-keypassphrase.png%0a---%0a> Attach:putty-keylogin.png%0a +host:1628510702=38.87.162.8 +author:1628510360=jrmu +diff:1628510360:1628510177:=49,50c49%0a%3c # Edit @@~/.ssh/authorized_keys@@:\\%0a%3c Attach:putty-editauthorized.png%0a---%0a> # Edit @@~/.ssh/authorized_keys@@:%0a53c52,53%0a%3c # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a---%0a> # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.\\%0a> Attach:putty-editauthorized.png%0a +host:1628510360=38.87.162.8 +author:1628510177=jrmu +diff:1628510177:1628510029:=50,53c50,52%0a%3c # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.\\%0a%3c Attach:putty-copyauthorized.png%0a%3c # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.\\%0a%3c Attach:putty-editauthorized.png%0a---%0a> # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.%0a> Attach:putty-authorized.png%0a> # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a +host:1628510177=38.87.162.8 +author:1628510029=jrmu +diff:1628510029:1628507372:=76,78c76%0a%3c # If you used a passphrase for the key, type it in.\\%0a%3c Attach:putty-keylogin.png%0a%3c %0a---%0a> # If you used a passphrase for the key, type it in.%0a +host:1628510029=38.87.162.8 +author:1628507372=jrmu +diff:1628507372:1628507326:=20c20%0a%3c Ctrl+[ is an alternate key for [Esc].%0a---%0a> @@Ctrl+[@@ is an alternate key for [Esc].%0a +host:1628507372=38.87.162.8 +author:1628507326=jrmu +diff:1628507326:1628507199:=71,76c71,81%0a%3c # Open PuTTY%0a%3c # Go to @@Connection > Ssh > Auth@@%0a%3c # In @@Private key file for authentication@@, click @@Browse@@,%0a%3c and find your private key ('''hint''': it ends in .ppk).%0a%3c # Fill in @@Session > Hostname@@ as described at top. Then, click @@Open@@.%0a%3c # If you used a passphrase for the key, type it in.%0a---%0a> When you want to connect, open PuTTY%0a> go to Connection > Ssh > Auth%0a> %0a> in the Private key file for authentication, click Browse,%0a> and find your private key (ends in .ppk)%0a> %0a> Make sure Session > Hostname is filled in properly, as%0a> usual, then click Open%0a> %0a> if it asks you for the Passphrase, type it in%0a> %0a77a83,84%0a> # Open PuTTY and load the key\\%0a> %0a +host:1628507326=38.87.162.8 +author:1628507199=jrmu +diff:1628507199:1628506698:=46,47c46,47%0a%3c !! Adding the Public Key%0a%3c %0a---%0a> !! Login with Private Key%0a> %0a49,50c49,50%0a%3c # Edit @@~/.ssh/authorized_keys@@:%0a%3c # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.%0a---%0a> # Edit @@~/.ssh/authorizedkeys@@:%0a> # Copy the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@.%0a52,69c52,58%0a%3c # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a%3c # Alternatively, you can get the public key from the .ppk you created earlier. Open it with Notepad. It should look like this:%0a%3c %0a%3c [@%0a%3c ---- BEGIN SSH2 PUBLIC KEY ----%0a%3c Comment: "ed25519-key-20210809"%0a%3c AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3h%0a%3c fTDF%0a%3c ---- END SSH2 PUBLIC KEY ----%0a%3c @]%0a%3c %0a%3c Ignore the comment lines, copying only the key; join the lines together, and add @@ssh-ed25519@@ in front:%0a%3c %0a%3c [@%0a%3c ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3hfTDF%0a%3c @]%0a%3c %0a%3c !! Logging in with Private Key%0a---%0a> # Alternatively, you can open the public key you created earlier ending in .ppk with Notepad.%0a> paste by copying with ctrl plus c on windows then shift plus insert on putty%0a> (the .ppk file) into ~/.ssh/authorized_keys\\%0a> # Paste in your public key from publickey (open it with notepad)%0a> Don't paste BEGIN SSH2 PUBLIC KEY%0a> or the comment lines, make sure to join the line%0a> %0a +host:1628507199=38.87.162.8 +author:1628506698=jrmu +diff:1628506698:1628506349:=30,31d29%0a%3c !!! Generate Public/Private Key%0a%3c %0a41,52c39,48%0a%3c %0a%3c '''Optional''': To export this key for another ssh client, click on @@Conversions@@ in the menu at top, then click @@Export OpenSSH key@@. Give it a name like @@private.key@@.%0a%3c %0a%3c You have now generated your public and private key!%0a%3c %0a%3c !! Login with Private Key%0a%3c %0a%3c # Connect with PuTTY using a password as described at top.%0a%3c # Edit @@~/.ssh/authorizedkeys@@:%0a%3c # Copy the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@.%0a%3c Attach:putty-authorized.png%0a%3c # Alternatively, you can open the public key you created earlier ending in .ppk with Notepad.%0a---%0a> # If you need to export this key so that it can be used on another ssh client, then at the Conversions menu bar at top, click on Export OpenSSH key %0a> # name it private.key%0a> %0a> Next, login as you normally would with PuTTY above.%0a> %0a> Open .ssh/authorizedkeys%0a> $ vi .ssh/authorizedkeys%0a> %0a> # Paste the public key (the .ppk file) into ~/.ssh/authorized_keys\\%0a> # Paste in your public key from publickey (open it with notepad)%0a54,55d49%0a%3c (the .ppk file) into ~/.ssh/authorized_keys\\%0a%3c # Paste in your public key from publickey (open it with notepad)%0a58a53,54%0a> Or you can copy from PuTTyGen, in the place where it says%0a> Public key for pasting into OpenSSH authorized keys file%0a +host:1628506698=38.87.162.8 +author:1628506349=jrmu +diff:1628506349:1628505736:=26,27c26,27%0a%3c # Go to @@Terminal > Features@@ and check @@Disable application keypad mode@@.%0a%3c %0a---%0a> ## Go to @@Terminal > Features@@ and check @@Disable application keypad mode@@.%0a> %0a30,33c30,33%0a%3c For additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure.%0a%3c %0a%3c # In the parameters field at the bottom, select the type of key to generate. This guide uses Ed25519.%0a%3c # Click @@Generate@@\\%0a---%0a> For additional security, you can use a public/private key pair to login. This will avoid using passwords, which might be less secure.%0a> %0a> # In the parameters box at the bottom, select the type of key to generate. We suggest Ed25519; it is a very strong key.%0a> # Click on the Generate button\\%0a35,38c35,39%0a%3c # In @@Key passphrase@@, provide a passphrase and write it down securely.%0a%3c # Type the passphrase again in @@Confirm passphrase@@.%0a%3c # Click @@Save public key@@. Give it a name like @@publickey.pub@@. This key can be shared with anyone.%0a%3c # Click @@Save private key@@. Give it a name like @@privatekey.ppk@@. Keep the private key safe; '''never''' share this key!%0a---%0a> # You can give the key a passphrase%0a> # Click on Save public key%0a> # call it publickey.pub%0a> # Click on Save Private key%0a> # call ir privatekey.ppk%0a +host:1628506349=38.87.162.8 +author:1628505736=jrmu +diff:1628505736:1628505345:=20,26c20,24%0a%3c @@Ctrl+[@@ is an alternate key for [Esc].%0a%3c %0a%3c To get the [Esc] key to work properly on PuTTY:%0a%3c %0a%3c # Go to @@Terminal > Keyboard@@ and change @@The Function keys and keypad@@ to @@VT100+@@.\\%0a%3c Attach:putty-keyboard.png%0a%3c ## Go to @@Terminal > Features@@ and check @@Disable application keypad mode@@.%0a---%0a> Ctrl+[ is an alternate key for [Esc].%0a> %0a> Go to Terminal > Keyboard and change the Function Keys and Keypad to VT100+ emulation.%0a> %0a> Then Terminal > Features > "Disable application keypad mode" (check it)%0a +host:1628505736=38.87.162.8 +author:1628505345=jrmu +diff:1628505345:1623237418:=30,31c30%0a%3c # In the parameters box at the bottom, select the type of key to generate. We suggest Ed25519; it is a very strong key.%0a%3c # Click on the Generate button\\%0a---%0a> # Generate the .ppk file:\\%0a33,45d31%0a%3c # You can give the key a passphrase%0a%3c # Click on Save public key%0a%3c # call it publickey.pub%0a%3c # Click on Save Private key%0a%3c # call ir privatekey.ppk%0a%3c # If you need to export this key so that it can be used on another ssh client, then at the Conversions menu bar at top, click on Export OpenSSH key %0a%3c # name it private.key%0a%3c %0a%3c Next, login as you normally would with PuTTY above.%0a%3c %0a%3c Open .ssh/authorizedkeys%0a%3c $ vi .ssh/authorizedkeys%0a%3c %0a47,65d32%0a%3c # Paste in your public key from publickey (open it with notepad)%0a%3c paste by copying with ctrl plus c on windows then shift plus insert on putty%0a%3c Don't paste BEGIN SSH2 PUBLIC KEY%0a%3c or the comment lines, make sure to join the line%0a%3c %0a%3c Or you can copy from PuTTyGen, in the place where it says%0a%3c Public key for pasting into OpenSSH authorized keys file%0a%3c %0a%3c When you want to connect, open PuTTY%0a%3c go to Connection > Ssh > Auth%0a%3c %0a%3c in the Private key file for authentication, click Browse,%0a%3c and find your private key (ends in .ppk)%0a%3c %0a%3c Make sure Session > Hostname is filled in properly, as%0a%3c usual, then click Open%0a%3c %0a%3c if it asks you for the Passphrase, type it in%0a%3c %0a +host:1628505345=38.87.162.8 +author:1623237418=jrmu +diff:1623237418:1623237338:=29a30%0a> Attach:puttygen01.png%0a +host:1623237418=125.231.25.80 +author:1623237338=jrmu +diff:1623237338:1623166217:=30d29%0a%3c Attach:puttygen01.png%0a32c31%0a%3c Attach:puttygen-random.png%0a---%0a> Attach:puttygen01.png%0a34c33%0a%3c Attach:puttygen-exportssh.png%0a---%0a> Attach:puttygen02.png%0a36,37c35,36%0a%3c %0a%3c (:if false:)%0a---%0a> Attach:puttygen03.png%0a> %0a39c38,39%0a%3c (:ifend:)%0a---%0a> Attach:puttygen-random.png%0a> Attach:puttygen-exportssh.png%0a\ No newline at end of file%0a +host:1623237338=125.231.25.80 +author:1623166217=mkf +csum:1623166217=0.74 -> 0.75 +diff:1623166217:1619796511:minor=5c5%0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.75-installer.msi|32-bit installer]].%0a---%0a> Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.74-installer.msi|32-bit installer]].%0a +host:1623166217=38.81.163.198 +author:1619796511=jrmu +diff:1619796511:1619796402:=23,24d22%0a%3c %0a%3c Then Terminal > Features > "Disable application keypad mode" (check it)%0a +host:1619796511=198.251.81.119 +author:1619796402=jrmu +diff:1619796402:1613922460:=17,22d16%0a%3c %0a%3c !! Fixing the [Esc] key%0a%3c %0a%3c Ctrl+[ is an alternate key for [Esc].%0a%3c %0a%3c Go to Terminal > Keyboard and change the Function Keys and Keypad to VT100+ emulation.%0a +host:1619796402=198.251.81.119 +author:1613922460=jrmu +diff:1613922460:1613922393:=30,31c30%0a%3c Attach:puttygen-random.png%0a%3c Attach:puttygen-exportssh.png%0a\ No newline at end of file%0a---%0a> Attach:puttygen-random.png%0a\ No newline at end of file%0a +host:1613922460=198.251.81.119 +author:1613922393=jrmu +diff:1613922393:1613922306:=29,30c29%0a%3c Attach:puttygen-ed25519.png%0a%3c Attach:puttygen-random.png%0a\ No newline at end of file%0a---%0a> Attach:puttygen-ed25519.png%0a\ No newline at end of file%0a +host:1613922393=198.251.81.119 +author:1613922306=jrmu +diff:1613922306:1613921786:=27,29c27%0a%3c Attach:puttygen03.png%0a%3c %0a%3c Attach:puttygen-ed25519.png%0a\ No newline at end of file%0a---%0a> Attach:puttygen03.png%0a\ No newline at end of file%0a +host:1613922306=198.251.81.119 +author:1613921786=jrmu +diff:1613921786:1613921304:=5,6c5,6%0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]]. We recommend the [[https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.74-installer.msi|32-bit installer]].%0a%3c %0a---%0a> Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a> %0a20,27c20%0a%3c For additional security, you can use a public/private key pair to login. This will avoid using passwords, which might be less secure.%0a%3c %0a%3c # Generate the .ppk file:\\%0a%3c Attach:puttygen01.png%0a%3c # Paste the public key (the .ppk file) into ~/.ssh/authorized_keys\\%0a%3c Attach:puttygen02.png%0a%3c # Open PuTTY and load the key\\%0a%3c Attach:puttygen03.png%0a\ No newline at end of file%0a---%0a> Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1613921786=198.251.81.119 +author:1613921304=jrmu +diff:1613921304:1613921277:=18c18%0a%3c !! PuTTYgen%0a---%0a> !! Puttygen%0a +host:1613921304=198.251.81.119 +author:1613921277=jrmu +diff:1613921277:1613921277:=1,20d0%0a%3c (:title Connecting on Windows:)%0a%3c %0a%3c !! PuTTY%0a%3c %0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%3c %0a%3c # Open PuTTY:\\%0a%3c Attach:putty-config.png%0a%3c # @@Host Name@@: @@username@fruit.ircnow.org@@ -- for example, if your username is john, and your server address is fruit.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a%3c # @@Port@@: 22%0a%3c # Click @@Open@@ at the bottom.%0a%3c # Verify the SSH host keys:\\%0a%3c Attach:putty-fpr.png%0a%3c # You can consult the [[Shell/Sshfingerprints|SSH Fingerprints]] page or check the DNS SSHFP records.%0a%3c # Type in your password (the password is invisible):\\%0a%3c Attach:putty-login.png%0a%3c %0a%3c !! Puttygen%0a%3c %0a%3c Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1613921277=198.251.81.119 blob - /dev/null blob + 43382028dbd1aa2540e889b69bee4c1fa2f668cb (mode 644) --- /dev/null +++ wiki.d/PuTTY.PuTTYgen @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628529787 +host=38.87.162.8 +name=PuTTY.PuTTYgen +rev=7 +targets=Sshd.Disablepassword,PuTTY.Connect +text=(:title Creating SSH keys with PuTTYgen:)%0a%0aAttach:puttygen.gif%0aAttach:puttygen.mp4%0a%0a!! Generate Public/Private Key%0a%0aFor additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure.%0a%0a# In the parameters field at the bottom, select the type of key to generate. This guide uses Ed25519.%0a# Click @@Generate@@\\%0aAttach:puttygen-random.png%0a# '''Optional''': In @@Key passphrase@@, provide a passphrase and write it down securely. Type the passphrase again in @@Confirm passphrase@@. '''WARNING''': If you use a passphrase, the key becomes worthless if you forget the passphrase!%0a# Click @@Save public key@@. Give it a name like @@publickey.pub@@. This key can be shared with anyone.%0a# Click @@Save private key@@. Give it a name like @@privatekey.ppk@@. Keep the private key safe; '''never''' share this key!%0a%0a'''Optional''': To export this key for another ssh client, click on @@Conversions@@ in the menu at top, then click @@Export OpenSSH key@@. Give it a name like @@private.key@@.%0a%0aYou have now generated your public and private key!%0a%0a!! Adding the Public Key%0a%0a# Connect with PuTTY using a password as described at top.%0a# Edit @@~/.ssh/authorized_keys@@:\\%0aAttach:putty-editauthorized.png%0a # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.\\%0aAttach:putty-copyauthorized.png%0a # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a # Alternatively, you can get the public key from the .ppk you created earlier. Open it with Notepad. It should look like this:%0a%0a[@%0a---- BEGIN SSH2 PUBLIC KEY ----%0aComment: "ed25519-key-20210809"%0aAAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3h%0afTDF%0a---- END SSH2 PUBLIC KEY ----%0a@]%0a%0aIgnore the comment lines, copying only the key; join the lines together, and add @@ssh-ed25519@@ in front:%0a%0a[@%0assh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3hfTDF%0a@]%0a%0a!! Logging in with Private Key%0a%0a# Open PuTTY%0a# Go to @@Connection > SSH > Auth@@%0a# In @@Private key file for authentication@@, click @@Browse@@,%0aand load your private key ('''hint''': it ends in .ppk).%0a# Click @@Session@@ and fill in @@Hostname@@ as described in the [[PuTTY/Connect|PuTTY connect guide]]. Then, click @@Open@@.%0a# If you used a passphrase for the key, type it in.\\%0aAttach:putty-keypassphrase.png%0a +time=1637216010 +title=Creating SSH keys with PuTTYgen +author:1637216010=jrmu +diff:1637216010:1637206777:=4c4,7%0a%3c Attach:puttygen.mp4%0a---%0a> Attach:puttygen1.mp4%0a> Attach:puttygen2.mp4%0a> Attach:puttygen3.mp4%0a> Attach:puttygen4.mp4%0a +host:1637216010=38.87.162.8 +author:1637206777=jrmu +diff:1637206777:1637206628:=4,7d3%0a%3c Attach:puttygen1.mp4%0a%3c Attach:puttygen2.mp4%0a%3c Attach:puttygen3.mp4%0a%3c Attach:puttygen4.mp4%0a +host:1637206777=38.87.162.8 +author:1637206628=jrmu +diff:1637206628:1637203484:=3c3%0a%3c Attach:puttygen.gif%0a---%0a> Attach:puttygen.mp4%0a +host:1637206628=38.87.162.8 +author:1637203484=jrmu +diff:1637203484:1637135678:=3c3,6%0a%3c Attach:puttygen.mp4%0a---%0a> Attach:puttygen1.mp4%0a> Attach:puttygen2.mp4%0a> Attach:puttygen3.mp4%0a> Attach:puttygen4.mp4%0a +host:1637203484=38.87.162.8 +author:1637135678=jrmu +diff:1637135678:1637134594:=3,6c3,6%0a%3c Attach:puttygen1.mp4%0a%3c Attach:puttygen2.mp4%0a%3c Attach:puttygen3.mp4%0a%3c Attach:puttygen4.mp4%0a---%0a> Attach:putty1.mp4%0a> Attach:putty2.mp4%0a> Attach:putty3.mp4%0a> Attach:putty4.mp4%0a +host:1637135678=38.87.162.8 +author:1637134594=jrmu +diff:1637134594:1628529787:=2,6d1%0a%3c %0a%3c Attach:putty1.mp4%0a%3c Attach:putty2.mp4%0a%3c Attach:putty3.mp4%0a%3c Attach:putty4.mp4%0a +host:1637134594=38.87.162.8 +author:1628529787=jrmu +diff:1628529787:1628529787:=1,50d0%0a%3c (:title Creating SSH keys with PuTTYgen:)%0a%3c %0a%3c !! Generate Public/Private Key%0a%3c %0a%3c For additional security, you can use a public/private key pair to login. If you disable [[sshd/disablepassword|password authentication]], your sshd setup will be more secure.%0a%3c %0a%3c # In the parameters field at the bottom, select the type of key to generate. This guide uses Ed25519.%0a%3c # Click @@Generate@@\\%0a%3c Attach:puttygen-random.png%0a%3c # '''Optional''': In @@Key passphrase@@, provide a passphrase and write it down securely. Type the passphrase again in @@Confirm passphrase@@. '''WARNING''': If you use a passphrase, the key becomes worthless if you forget the passphrase!%0a%3c # Click @@Save public key@@. Give it a name like @@publickey.pub@@. This key can be shared with anyone.%0a%3c # Click @@Save private key@@. Give it a name like @@privatekey.ppk@@. Keep the private key safe; '''never''' share this key!%0a%3c %0a%3c '''Optional''': To export this key for another ssh client, click on @@Conversions@@ in the menu at top, then click @@Export OpenSSH key@@. Give it a name like @@private.key@@.%0a%3c %0a%3c You have now generated your public and private key!%0a%3c %0a%3c !! Adding the Public Key%0a%3c %0a%3c # Connect with PuTTY using a password as described at top.%0a%3c # Edit @@~/.ssh/authorized_keys@@:\\%0a%3c Attach:putty-editauthorized.png%0a%3c # Select the public key from PuTTyGen, from the field @@Public key for pasting into OpenSSH authorized keys file@@. Type @@ctrl+c@@ to copy.\\%0a%3c Attach:putty-copyauthorized.png%0a%3c # Paste the key into @@~/.ssh/authorized_keys@@ by pressing @@Shift+[Ins]@@.%0a%3c # Alternatively, you can get the public key from the .ppk you created earlier. Open it with Notepad. It should look like this:%0a%3c %0a%3c [@%0a%3c ---- BEGIN SSH2 PUBLIC KEY ----%0a%3c Comment: "ed25519-key-20210809"%0a%3c AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3h%0a%3c fTDF%0a%3c ---- END SSH2 PUBLIC KEY ----%0a%3c @]%0a%3c %0a%3c Ignore the comment lines, copying only the key; join the lines together, and add @@ssh-ed25519@@ in front:%0a%3c %0a%3c [@%0a%3c ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCB6GpCoQPG4byfLwqHyA2SMyTV7RjfVw+bqO3hfTDF%0a%3c @]%0a%3c %0a%3c !! Logging in with Private Key%0a%3c %0a%3c # Open PuTTY%0a%3c # Go to @@Connection > SSH > Auth@@%0a%3c # In @@Private key file for authentication@@, click @@Browse@@,%0a%3c and load your private key ('''hint''': it ends in .ppk).%0a%3c # Click @@Session@@ and fill in @@Hostname@@ as described in the [[PuTTY/Connect|PuTTY connect guide]]. Then, click @@Open@@.%0a%3c # If you used a passphrase for the key, type it in.\\%0a%3c Attach:putty-keypassphrase.png%0a +host:1628529787=38.87.162.8 blob - /dev/null blob + c09d9c6c1fb193e710fe515af59b76ff9e2b9310 (mode 644) --- /dev/null +++ wiki.d/PuTTY.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1613921277 +host=38.87.162.8 +name=PuTTY.RecentChanges +rev=38 +text=* [[PuTTY/Connect]] . . . November 29, 2021, at 12:13 PM by [[~jrmu]]: [==]%0a* [[PuTTY/PuTTYgen]] . . . November 18, 2021, at 06:13 AM by [[~jrmu]]: [==]%0a +time=1638187998 blob - /dev/null blob + ee9301e6dee29fa737b4f5e37c0737d890bbc546 (mode 644) --- /dev/null +++ wiki.d/Pylink.Chroot @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627710549 +host=38.87.162.8 +name=Pylink.Chroot +rev=4 +targets=Oidentd.Install +text=(:title Pylink Install Guide:)%0a%0aPyLink is a relay that can help connect channels across multiple networks together.%0a%0aAdvantages:%0a%0a# Can link up channels on multiple networks quickly%0a# Shows all users on the home server%0a%0aDisadvantages:%0a%0a# Bloated and insecure%0a# Buggy and unstable, crashes frequently%0a# Requires channel owner to op the bot to link%0a# Bad spam defenses%0a%0aPyLink should eventually be replaced with a more reliable relay written in pure C.%0a%0a!! Installation%0a%0aFirst we install all python related dependencies:%0a%0a[@%0a$ doas pkg_add python%253.8 py3-pip git%0a$ doas useradd -m -g =uid -c pylink -d /home/pylink -s /bin/ksh pylink%0a$ doas su pylink%0a$ cd%0a$ git clone https://github.com/jlu5/PyLink && cd PyLink%0a$ pip3.8 install setuptools --user%0a$ pip3.8 install pyyaml --user%0a$ pip3.8 install cachetools --user%0a$ pip3.8 install passlib --user%0a$ pip3.8 install Unidecode --user%0a$ pip3.8 install psutil --user%0a$ cd PyLink%0a$ python3 setup.py install --user%0a@]%0a%0aPyLink does not appear very secure, so we will create a chroot for it. We run the following commands as root:%0a%0a[@%0amkdir -p /home/pylink/usr/local/bin%0amkdir -p /home/pylink/usr/local/lib%0amkdir -p /home/pylink/usr/local/include/%0amkdir -p /home/pylink/usr/local/lib/pkgconfig/%0amkdir -p /home/pylink/usr/local/share/doc/%0amkdir -p /home/pylink/usr/lib%0amkdir -p /home/pylink/usr/libexec%0amkdir -p /home/pylink/var/run/%0amkdir -p /home/pylink/usr/local/man/man1/%0amkdir -p /home/pylink/usr/local/share/aclocal-1.11/am/%0amkdir -p /home/pylink/etc/ssl/%0acp /usr/local/bin/python3 /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3.8-config /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3-config /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3.8 /home/pylink/usr/local/bin/%0acp /usr/local/lib/libpython3.8.so.0.0 /home/pylink/usr/local/lib/%0acp /usr/local/lib/libintl.so.7.0 /home/pylink/usr/local/lib/%0acp /usr/lib/libpthread.so.26.1 /home/pylink/usr/lib/%0acp /usr/lib/libutil.so.15.0 /home/pylink/usr/lib/%0acp /usr/lib/libm.so.10.1 /home/pylink/usr/lib/%0acp /usr/lib/libc.so.96.0 /home/pylink/usr/lib/%0acp /usr/local/lib/libiconv.so.7.0 /home/pylink/usr/local/lib/%0acp /usr/libexec/ld.so /home/pylink/usr/libexec/%0acp /var/run/ld.so.hints /home/pylink/var/run/%0acp -R /usr/local/include/python3.8 /home/pylink/usr/local/include/%0acp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python3.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0acp -R /usr/local/lib/python3.8 /home/pylink/usr/local/lib/%0acp /usr/local/man/man1/python3.1 /home/pylink/usr/local/man/man1/%0acp /usr/local/man/man1/python3.8.1 /home/pylink/usr/local/man/man1/%0acp -R /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0acp /usr/local/share/aclocal-1.11/python.m4 /home/pylink/usr/local/share/aclocal-1.11/%0acp /usr/local/share/automake-1.11/am/python.am /home/pylink/usr/local/share/aclocal-1.11/am/%0acp /etc/resolv.conf /home/pylink/etc/%0acp /etc/ssl/cert.pem /home/pylink/etc/ssl/%0acp /usr/local/bin/pip3.8 /home/pylink/usr/local/bin/%0acp -R /usr/lib/ /home/pylink/usr/%0acp -R /usr/local/lib/ /home/pylink/usr/local/%0achroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install cachetools --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install passlib --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install unidecode --user%0a@]%0a%0a(:if false:)%0achroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a(:ifend:)%0a%0aAfterwards, we run the following as the user pylink:%0a%0a[@%0a$ cd ~/PyLink%0a$ cp example-conf.yml pylink.yml%0a@]%0a%0aWe then edit pylink.yml:%0a%0a[@%0apylink:%0a nick: BotNick%0a ident: BotIdent%0a realname: Relay%0a serverdesc: Relay%0a prefix: "&"%0a spawn_services: false%0a@]%0a%0aIn order for ident to display properly, you must install and configure [[oidentd/install|oidentd]].%0a%0aYou will want to run this as the user pylink to generate a password hash:%0a%0a[@%0a/home/pylink/PyLink/pylink-mkpasswd%0aPassword: %0a$pbkdf2-sha256$29000$AeBcKwWA0HqvNUYIgbBWqg$9EPkgnfsLsZHJk9YJy16MKqTEKCvZohdT1MyAbXQTjQ%0a@]%0a%0aThe login section below lets us pick a username and password for administering the bot. Use the password hash you generated above:%0a%0a[@%0alogin:%0a accounts:%0a username:%0a password: "$6$rounds=81447$WlVlZYCgbnjPmVqy$28Tu/Zl0xNpePqimax2wABKn5GCoWomYEI1Pu5jqYyQNULazR4BxQmscZ0MgBHqBCCke.3u5eOtBSZwL3WwVf0"%0a encrypted: true%0a #require_oper: true%0a #hosts: ["*!*@localhost", "*!*@trusted.isp"]%0apermissions:%0a "username":%0a - "*"%0a@]%0a%0aFor extra security, we recommend you uncomment #require_oper and set it to true, so that only opers can login. We also recommend you uncomment #hosts and set it to properly match your vhost. This will make it harder for someone to steal your relay.%0a%0aIn the permissions block, you can replace username with a full hostmask for more security.%0a%0aNow we specify the server running on our VPS:%0a%0a[@%0aservers:%0a your:%0a ip: 127.0.0.1%0a port: 16667%0a recvpass: "abcdefghijklmnopqrstuvwxyz"%0a sendpass: "abcdefghijklmnopqrstuvwxyz"%0a bindhost: 10.0.0.1%0a netname: "YourNet"%0a hostname: "relay.example.com"%0a sid: "0PY"%0a sidrange: "8##"%0a protocol: "ngircd"%0a maxnicklen: 16%0a ssl: false%0a autoconnect: 10%0a@]%0a%0aFor the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is YourNet, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%0aFor each server you want to connect, add a new block like below:%0a%0a[@%0a oftc:%0a ip: irc.oftc.net%0a port: 6697%0a netname: "OFTC"%0a protocol: "clientbot"%0a pylink_nick: BotNick%0a pylink_ident: BotIdent%0a pylink_altnicks: ["BotNick`", "BotNick-"]%0a ssl: true%0a autoconnect: 30%0a throttle_time: 1.0%0a@]%0a%0aThis block is for OFTC.%0a%0a[@%0aplugins:%0a - commands%0a - networks%0a - ctcp%0a - relay%0a - relay_clientbot%0a - servprotect%0a - antispam%0a - raw%0a@]%0a%0aWe are going to uncomment the relay and relay_clientbot plugins so we can relay in client mode.%0a%0aNext, we set up logging:%0a%0a[@%0alogging:%0a console: INFO%0a channels:%0a# your:%0a# "#services":%0a# loglevel: INFO%0a# "#pylink-notifications":%0a# loglevel: WARNING%0a files:%0a "errors":%0a loglevel: ERROR%0a "commands":%0a loglevel: INFO%0a@]%0a%0aIf you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console and files.%0a%0aWe delete the changehost plugin, then add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a%0a[@%0arelay:%0a allow_free_oper_links: true%0a tag_nicks: true%0a forcetag_nicks:%0a - "*Serv"%0a separator: "/"%0a allow_clientbot_pms: true%0a hideoper: true%0a show_netsplits: false%0a accept_weird_senders: false%0a whois_show_accounts: all%0a whois_show_server: opers%0a clientbot_styles:%0a ACTION: ""%0a JOIN: ""%0a KICK: ""%0a MESSAGE: "%3c$sender> $text"%0a MODE: ""%0a NICK: ""%0a NOTICE: "%3c$sender> $text"%0a PART: ""%0a PM: "PM from $sender on $netname: $text"%0a PNOTICE: "%3c$sender> $text"%0a QUIT: ""%0a SJOIN: ""%0a SQUIT: ""%0a@]%0a%0aI delete the games and global plugin. Then, for automode and stats:%0a%0a[@%0aautomode:%0a nick: Automode%0a joinmodes: 'o'%0a prefix: "@"%0astats:%0a time_format: "%25c"%0a@]%0a%0aNow we configure antispam to block mass highlights, part/quit floods, and profanity. You can adjust the word lists (the word shibboleth is used as a test phrase):%0a%0a[@%0aantispam:%0a masshighlight:%0a enabled: true%0a punishment: block%0a reason: "Mass highlight spam is prohibited"%0a min_length: 50%0a min_nicks: 5%0a textfilter:%0a enabled: true%0a punishment: block%0a reason: "Spam is prohibited"%0a watch_pms: true%0a textfilter_globs:%0a - "*shibboleth*"%0a partquit:%0a@]%0a%0aYou'll need to add this to /etc/ngircd/ngircd.conf:%0a%0a[@%0a[Server]%0a Name = relay.example.com%0a Host = 127.0.0.1%0a Bind = 38.81.163.143%0a Port = 16667%0a MyPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a PeerPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a ;Group = 123%0a Passive = no%0a SSLConnect = no %0a@]%0a%0aReplace 38.81.163.143 with your IP address.%0a%0aWe reload ngircd.conf:%0a%0a[@%0a$ doas rcctl reload ngircd%0a@]%0a%0aThen we start PyLink by running it inside a chroot:%0a%0a[@%0a$ doas su%0a# export HOME=/%0a# chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a@]%0a%0a!! Logging in%0a%0a[@%0a/msg %3cbotnick> login username password%0a/msg %3cbotnick> create #channel%0a/msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a15:39 -botnick(botident@f6e1cdd3)- Joining '#channel' now to check for op status; please run this command again after I join.%0a@]%0a%0aNow op the bot, then run the command again:%0a%0a[@%0a/msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a15:39 -botnick(botident@f6e1cdd3)- Done.%0a@]%0a%0aFinally, to prevent pylink from accidentally de-opping other users:%0a%0a[@%0a/msg %3cbotnick> claim #channel -%0a@]%0a%0a!! Troubleshooting%0a%0aSometimes PyLink may crash, and when you attempt to restart it, it says that the PID file already exists: %0a%0a[@%0a$ doas su%0a# export HOME=/%0a# chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a2021-02-12 00:19:39,495 [ERROR] PID file 'pylink.pid' exists; aborting!%0a@]%0a%0aSimply remove the file:%0a%0a[@%0a# rm /home/pylink/pylink.pid%0a# rm /home/pylink/PyLink/pylink.pid%0a@]%0a%0aIf the bot ever gets stuck and you can't kill it:%0a%0a[@%0a$ ps ax | grep pylink%0a22986 p7 S+ 0:03.08 python3.8 PyLink/pylink PyLink/pylink.yml%0a$ doas kill -KILL 22986%0a@]%0a%0aReplace 22986 with whatever process ID python has.%0a%0aOr use an simpler command:%0a%0a[@%0acd /home/pylink%0adoas kill -KILL `cat pylink.pid`%0a@]%0a +time=1638453790 +title=Pylink Install Guide +author:1638453790=jrmu +diff:1638453790:1638453683:=272a273,310%0a> - "* arse *"%0a> - "* ass *"%0a> - "* asses *"%0a> - "*asshole*"%0a> - "*bastard*"%0a> - "*bitch*"%0a> - "*blow job*"%0a> - "*blowjob*"%0a> - "*bollock*"%0a> - "* boner *"%0a> - "* boob *"%0a> - "* boobs *"%0a> - "* cock *"%0a> - "* cocks *" %0a> - "*cocksuck*"%0a> - "* crap*" %0a> - "* cum *"%0a> - "* cumming*"%0a> - "* cunt*" %0a> - "*dick*"%0a> - "* dildo*" %0a> - "*ejaculat*"%0a> - "* fag*"%0a> - "*fatass*"%0a> - "*fuck*"%0a> - "* jizz*"%0a> - "* horny*"%0a> - "*mast?rbat*"%0a> - "*nigger*"%0a> - "*nigga*"%0a> - "* piss*"%0a> - "*pussies*"%0a> - "*pussy*"%0a> - "* shit*"%0a> - "* slut*"%0a> - "* suck*"%0a> - "* tits*"%0a> - "* whore*"%0a +host:1638453790=38.87.162.8 +author:1638453683=jrmu +diff:1638453683:1638453591:=24c24%0a%3c $ doas pkg_add python%253.8 py3-pip git%0a---%0a> $ doas pkg_add python%253.8 py3-pip%2520.1 git%0a +host:1638453683=38.87.162.8 +author:1638453591=jrmu +diff:1638453591:1627710549:=24c24%0a%3c $ doas pkg_add python%253.8 py3-pip%2520.1 git%0a---%0a> $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0 git%0a +host:1638453591=38.87.162.8 +author:1627710549=jrmu +diff:1627710549:1627710549:=1,401d0%0a%3c (:title Pylink Install Guide:)%0a%3c %0a%3c PyLink is a relay that can help connect channels across multiple networks together.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # Can link up channels on multiple networks quickly%0a%3c # Shows all users on the home server%0a%3c %0a%3c Disadvantages:%0a%3c %0a%3c # Bloated and insecure%0a%3c # Buggy and unstable, crashes frequently%0a%3c # Requires channel owner to op the bot to link%0a%3c # Bad spam defenses%0a%3c %0a%3c PyLink should eventually be replaced with a more reliable relay written in pure C.%0a%3c %0a%3c !! Installation%0a%3c %0a%3c First we install all python related dependencies:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0 git%0a%3c $ doas useradd -m -g =uid -c pylink -d /home/pylink -s /bin/ksh pylink%0a%3c $ doas su pylink%0a%3c $ cd%0a%3c $ git clone https://github.com/jlu5/PyLink && cd PyLink%0a%3c $ pip3.8 install setuptools --user%0a%3c $ pip3.8 install pyyaml --user%0a%3c $ pip3.8 install cachetools --user%0a%3c $ pip3.8 install passlib --user%0a%3c $ pip3.8 install Unidecode --user%0a%3c $ pip3.8 install psutil --user%0a%3c $ cd PyLink%0a%3c $ python3 setup.py install --user%0a%3c @]%0a%3c %0a%3c PyLink does not appear very secure, so we will create a chroot for it. We run the following commands as root:%0a%3c %0a%3c [@%0a%3c mkdir -p /home/pylink/usr/local/bin%0a%3c mkdir -p /home/pylink/usr/local/lib%0a%3c mkdir -p /home/pylink/usr/local/include/%0a%3c mkdir -p /home/pylink/usr/local/lib/pkgconfig/%0a%3c mkdir -p /home/pylink/usr/local/share/doc/%0a%3c mkdir -p /home/pylink/usr/lib%0a%3c mkdir -p /home/pylink/usr/libexec%0a%3c mkdir -p /home/pylink/var/run/%0a%3c mkdir -p /home/pylink/usr/local/man/man1/%0a%3c mkdir -p /home/pylink/usr/local/share/aclocal-1.11/am/%0a%3c mkdir -p /home/pylink/etc/ssl/%0a%3c cp /usr/local/bin/python3 /home/pylink/usr/local/bin/%0a%3c cp /usr/local/bin/python3.8-config /home/pylink/usr/local/bin/%0a%3c cp /usr/local/bin/python3-config /home/pylink/usr/local/bin/%0a%3c cp /usr/local/bin/python3.8 /home/pylink/usr/local/bin/%0a%3c cp /usr/local/lib/libpython3.8.so.0.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/local/lib/libintl.so.7.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/lib/libpthread.so.26.1 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libutil.so.15.0 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /home/pylink/usr/lib/%0a%3c cp /usr/local/lib/libiconv.so.7.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/libexec/ld.so /home/pylink/usr/libexec/%0a%3c cp /var/run/ld.so.hints /home/pylink/var/run/%0a%3c cp -R /usr/local/include/python3.8 /home/pylink/usr/local/include/%0a%3c cp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/pkgconfig/python3.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp -R /usr/local/lib/python3.8 /home/pylink/usr/local/lib/%0a%3c cp /usr/local/man/man1/python3.1 /home/pylink/usr/local/man/man1/%0a%3c cp /usr/local/man/man1/python3.8.1 /home/pylink/usr/local/man/man1/%0a%3c cp -R /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0a%3c cp /usr/local/share/aclocal-1.11/python.m4 /home/pylink/usr/local/share/aclocal-1.11/%0a%3c cp /usr/local/share/automake-1.11/am/python.am /home/pylink/usr/local/share/aclocal-1.11/am/%0a%3c cp /etc/resolv.conf /home/pylink/etc/%0a%3c cp /etc/ssl/cert.pem /home/pylink/etc/ssl/%0a%3c cp /usr/local/bin/pip3.8 /home/pylink/usr/local/bin/%0a%3c cp -R /usr/lib/ /home/pylink/usr/%0a%3c cp -R /usr/local/lib/ /home/pylink/usr/local/%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install cachetools --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install passlib --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install unidecode --user%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a%3c (:ifend:)%0a%3c %0a%3c Afterwards, we run the following as the user pylink:%0a%3c %0a%3c [@%0a%3c $ cd ~/PyLink%0a%3c $ cp example-conf.yml pylink.yml%0a%3c @]%0a%3c %0a%3c We then edit pylink.yml:%0a%3c %0a%3c [@%0a%3c pylink:%0a%3c nick: BotNick%0a%3c ident: BotIdent%0a%3c realname: Relay%0a%3c serverdesc: Relay%0a%3c prefix: "&"%0a%3c spawn_services: false%0a%3c @]%0a%3c %0a%3c In order for ident to display properly, you must install and configure [[oidentd/install|oidentd]].%0a%3c %0a%3c You will want to run this as the user pylink to generate a password hash:%0a%3c %0a%3c [@%0a%3c /home/pylink/PyLink/pylink-mkpasswd%0a%3c Password: %0a%3c $pbkdf2-sha256$29000$AeBcKwWA0HqvNUYIgbBWqg$9EPkgnfsLsZHJk9YJy16MKqTEKCvZohdT1MyAbXQTjQ%0a%3c @]%0a%3c %0a%3c The login section below lets us pick a username and password for administering the bot. Use the password hash you generated above:%0a%3c %0a%3c [@%0a%3c login:%0a%3c accounts:%0a%3c username:%0a%3c password: "$6$rounds=81447$WlVlZYCgbnjPmVqy$28Tu/Zl0xNpePqimax2wABKn5GCoWomYEI1Pu5jqYyQNULazR4BxQmscZ0MgBHqBCCke.3u5eOtBSZwL3WwVf0"%0a%3c encrypted: true%0a%3c #require_oper: true%0a%3c #hosts: ["*!*@localhost", "*!*@trusted.isp"]%0a%3c permissions:%0a%3c "username":%0a%3c - "*"%0a%3c @]%0a%3c %0a%3c For extra security, we recommend you uncomment #require_oper and set it to true, so that only opers can login. We also recommend you uncomment #hosts and set it to properly match your vhost. This will make it harder for someone to steal your relay.%0a%3c %0a%3c In the permissions block, you can replace username with a full hostmask for more security.%0a%3c %0a%3c Now we specify the server running on our VPS:%0a%3c %0a%3c [@%0a%3c servers:%0a%3c your:%0a%3c ip: 127.0.0.1%0a%3c port: 16667%0a%3c recvpass: "abcdefghijklmnopqrstuvwxyz"%0a%3c sendpass: "abcdefghijklmnopqrstuvwxyz"%0a%3c bindhost: 10.0.0.1%0a%3c netname: "YourNet"%0a%3c hostname: "relay.example.com"%0a%3c sid: "0PY"%0a%3c sidrange: "8##"%0a%3c protocol: "ngircd"%0a%3c maxnicklen: 16%0a%3c ssl: false%0a%3c autoconnect: 10%0a%3c @]%0a%3c %0a%3c For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is YourNet, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%3c %0a%3c For each server you want to connect, add a new block like below:%0a%3c %0a%3c [@%0a%3c oftc:%0a%3c ip: irc.oftc.net%0a%3c port: 6697%0a%3c netname: "OFTC"%0a%3c protocol: "clientbot"%0a%3c pylink_nick: BotNick%0a%3c pylink_ident: BotIdent%0a%3c pylink_altnicks: ["BotNick`", "BotNick-"]%0a%3c ssl: true%0a%3c autoconnect: 30%0a%3c throttle_time: 1.0%0a%3c @]%0a%3c %0a%3c This block is for OFTC.%0a%3c %0a%3c [@%0a%3c plugins:%0a%3c - commands%0a%3c - networks%0a%3c - ctcp%0a%3c - relay%0a%3c - relay_clientbot%0a%3c - servprotect%0a%3c - antispam%0a%3c - raw%0a%3c @]%0a%3c %0a%3c We are going to uncomment the relay and relay_clientbot plugins so we can relay in client mode.%0a%3c %0a%3c Next, we set up logging:%0a%3c %0a%3c [@%0a%3c logging:%0a%3c console: INFO%0a%3c channels:%0a%3c # your:%0a%3c # "#services":%0a%3c # loglevel: INFO%0a%3c # "#pylink-notifications":%0a%3c # loglevel: WARNING%0a%3c files:%0a%3c "errors":%0a%3c loglevel: ERROR%0a%3c "commands":%0a%3c loglevel: INFO%0a%3c @]%0a%3c %0a%3c If you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console and files.%0a%3c %0a%3c We delete the changehost plugin, then add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a%3c %0a%3c [@%0a%3c relay:%0a%3c allow_free_oper_links: true%0a%3c tag_nicks: true%0a%3c forcetag_nicks:%0a%3c - "*Serv"%0a%3c separator: "/"%0a%3c allow_clientbot_pms: true%0a%3c hideoper: true%0a%3c show_netsplits: false%0a%3c accept_weird_senders: false%0a%3c whois_show_accounts: all%0a%3c whois_show_server: opers%0a%3c clientbot_styles:%0a%3c ACTION: ""%0a%3c JOIN: ""%0a%3c KICK: ""%0a%3c MESSAGE: "%3c$sender> $text"%0a%3c MODE: ""%0a%3c NICK: ""%0a%3c NOTICE: "%3c$sender> $text"%0a%3c PART: ""%0a%3c PM: "PM from $sender on $netname: $text"%0a%3c PNOTICE: "%3c$sender> $text"%0a%3c QUIT: ""%0a%3c SJOIN: ""%0a%3c SQUIT: ""%0a%3c @]%0a%3c %0a%3c I delete the games and global plugin. Then, for automode and stats:%0a%3c %0a%3c [@%0a%3c automode:%0a%3c nick: Automode%0a%3c joinmodes: 'o'%0a%3c prefix: "@"%0a%3c stats:%0a%3c time_format: "%25c"%0a%3c @]%0a%3c %0a%3c Now we configure antispam to block mass highlights, part/quit floods, and profanity. You can adjust the word lists (the word shibboleth is used as a test phrase):%0a%3c %0a%3c [@%0a%3c antispam:%0a%3c masshighlight:%0a%3c enabled: true%0a%3c punishment: block%0a%3c reason: "Mass highlight spam is prohibited"%0a%3c min_length: 50%0a%3c min_nicks: 5%0a%3c textfilter:%0a%3c enabled: true%0a%3c punishment: block%0a%3c reason: "Spam is prohibited"%0a%3c watch_pms: true%0a%3c textfilter_globs:%0a%3c - "* arse *"%0a%3c - "* ass *"%0a%3c - "* asses *"%0a%3c - "*asshole*"%0a%3c - "*bastard*"%0a%3c - "*bitch*"%0a%3c - "*blow job*"%0a%3c - "*blowjob*"%0a%3c - "*bollock*"%0a%3c - "* boner *"%0a%3c - "* boob *"%0a%3c - "* boobs *"%0a%3c - "* cock *"%0a%3c - "* cocks *" %0a%3c - "*cocksuck*"%0a%3c - "* crap*" %0a%3c - "* cum *"%0a%3c - "* cumming*"%0a%3c - "* cunt*" %0a%3c - "*dick*"%0a%3c - "* dildo*" %0a%3c - "*ejaculat*"%0a%3c - "* fag*"%0a%3c - "*fatass*"%0a%3c - "*fuck*"%0a%3c - "* jizz*"%0a%3c - "* horny*"%0a%3c - "*mast?rbat*"%0a%3c - "*nigger*"%0a%3c - "*nigga*"%0a%3c - "* piss*"%0a%3c - "*pussies*"%0a%3c - "*pussy*"%0a%3c - "* shit*"%0a%3c - "* slut*"%0a%3c - "* suck*"%0a%3c - "* tits*"%0a%3c - "* whore*"%0a%3c - "*shibboleth*"%0a%3c partquit:%0a%3c @]%0a%3c %0a%3c You'll need to add this to /etc/ngircd/ngircd.conf:%0a%3c %0a%3c [@%0a%3c [Server]%0a%3c Name = relay.example.com%0a%3c Host = 127.0.0.1%0a%3c Bind = 38.81.163.143%0a%3c Port = 16667%0a%3c MyPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a%3c PeerPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a%3c ;Group = 123%0a%3c Passive = no%0a%3c SSLConnect = no %0a%3c @]%0a%3c %0a%3c Replace 38.81.163.143 with your IP address.%0a%3c %0a%3c We reload ngircd.conf:%0a%3c %0a%3c [@%0a%3c $ doas rcctl reload ngircd%0a%3c @]%0a%3c %0a%3c Then we start PyLink by running it inside a chroot:%0a%3c %0a%3c [@%0a%3c $ doas su%0a%3c # export HOME=/%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a%3c @]%0a%3c %0a%3c !! Logging in%0a%3c %0a%3c [@%0a%3c /msg %3cbotnick> login username password%0a%3c /msg %3cbotnick> create #channel%0a%3c /msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a%3c 15:39 -botnick(botident@f6e1cdd3)- Joining '#channel' now to check for op status; please run this command again after I join.%0a%3c @]%0a%3c %0a%3c Now op the bot, then run the command again:%0a%3c %0a%3c [@%0a%3c /msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a%3c 15:39 -botnick(botident@f6e1cdd3)- Done.%0a%3c @]%0a%3c %0a%3c Finally, to prevent pylink from accidentally de-opping other users:%0a%3c %0a%3c [@%0a%3c /msg %3cbotnick> claim #channel -%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c Sometimes PyLink may crash, and when you attempt to restart it, it says that the PID file already exists: %0a%3c %0a%3c [@%0a%3c $ doas su%0a%3c # export HOME=/%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a%3c 2021-02-12 00:19:39,495 [ERROR] PID file 'pylink.pid' exists; aborting!%0a%3c @]%0a%3c %0a%3c Simply remove the file:%0a%3c %0a%3c [@%0a%3c # rm /home/pylink/pylink.pid%0a%3c # rm /home/pylink/PyLink/pylink.pid%0a%3c @]%0a%3c %0a%3c If the bot ever gets stuck and you can't kill it:%0a%3c %0a%3c [@%0a%3c $ ps ax | grep pylink%0a%3c 22986 p7 S+ 0:03.08 python3.8 PyLink/pylink PyLink/pylink.yml%0a%3c $ doas kill -KILL 22986%0a%3c @]%0a%3c %0a%3c Replace 22986 with whatever process ID python has.%0a%3c %0a%3c Or use an simpler command:%0a%3c %0a%3c [@%0a%3c cd /home/pylink%0a%3c doas kill -KILL `cat pylink.pid`%0a%3c @]%0a +host:1627710549=38.87.162.8 blob - /dev/null blob + aabb233c62219aa53845c389c6f98c3af57fa184 (mode 644) --- /dev/null +++ wiki.d/Pylink.Install @@ -0,0 +1,296 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1612781017 +host=38.87.162.8 +name=Pylink.Install +rev=94 +targets=Oidentd.Install +text=(:title Pylink Install Guide:)%0a%0aPyLink is a relay that can help connect channels across multiple networks together.%0a%0aAdvantages:%0a%0a# Can link up channels on multiple networks quickly%0a# Shows all users on the home server%0a%0aDisadvantages:%0a%0a# Bloated and insecure%0a# Buggy and unstable, crashes frequently%0a# Requires channel owner to op the bot to link%0a# Bad spam defenses%0a%0aPyLink should eventually be replaced with a more reliable relay written in pure C.%0a%0a!! Installation%0a%0aFirst we install all python related dependencies:%0a%0a[@%0a$ doas pkg_add python%253.8 py3-pip git%0a$ doas useradd -m -g =uid -c pylink -d /home/pylink -s /bin/ksh pylink%0a$ doas su pylink%0a$ cd%0a$ git clone https://github.com/jlu5/PyLink && cd PyLink%0a$ pip3.8 install setuptools --user%0a$ pip3.8 install pyyaml --user%0a$ pip3.8 install cachetools --user%0a$ pip3.8 install passlib --user%0a$ pip3.8 install Unidecode --user%0a$ pip3.8 install psutil --user%0a$ cd PyLink%0a$ python3 setup.py install --user%0a@]%0a%0aPyLink does not appear very secure, so we will create a chroot for it. We run the following commands as root:%0a%0a[@%0amkdir -p /home/pylink/usr/local/bin%0amkdir -p /home/pylink/usr/local/lib%0amkdir -p /home/pylink/usr/local/include/%0amkdir -p /home/pylink/usr/local/lib/pkgconfig/%0amkdir -p /home/pylink/usr/local/share/doc/%0amkdir -p /home/pylink/usr/lib%0amkdir -p /home/pylink/usr/libexec%0amkdir -p /home/pylink/var/run/%0amkdir -p /home/pylink/usr/local/man/man1/%0amkdir -p /home/pylink/usr/local/share/aclocal-1.11/am/%0amkdir -p /home/pylink/etc/ssl/%0acp /usr/local/bin/python3 /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3.8-config /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3-config /home/pylink/usr/local/bin/%0acp /usr/local/bin/python3.8 /home/pylink/usr/local/bin/%0acp /usr/local/lib/libpython3.8.so.0.0 /home/pylink/usr/local/lib/%0acp /usr/local/lib/libintl.so.7.0 /home/pylink/usr/local/lib/%0acp /usr/lib/libpthread.so.26.1 /home/pylink/usr/lib/%0acp /usr/lib/libutil.so.15.0 /home/pylink/usr/lib/%0acp /usr/lib/libm.so.10.1 /home/pylink/usr/lib/%0acp /usr/lib/libc.so.96.0 /home/pylink/usr/lib/%0acp /usr/local/lib/libiconv.so.7.0 /home/pylink/usr/local/lib/%0acp /usr/libexec/ld.so /home/pylink/usr/libexec/%0acp /var/run/ld.so.hints /home/pylink/var/run/%0acp -R /usr/local/include/python3.8 /home/pylink/usr/local/include/%0acp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python3.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0acp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0acp -R /usr/local/lib/python3.8 /home/pylink/usr/local/lib/%0acp /usr/local/man/man1/python3.1 /home/pylink/usr/local/man/man1/%0acp /usr/local/man/man1/python3.8.1 /home/pylink/usr/local/man/man1/%0acp -R /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0acp /usr/local/share/aclocal-1.11/python.m4 /home/pylink/usr/local/share/aclocal-1.11/%0acp /usr/local/share/automake-1.11/am/python.am /home/pylink/usr/local/share/aclocal-1.11/am/%0acp /etc/resolv.conf /home/pylink/etc/%0acp /etc/ssl/cert.pem /home/pylink/etc/ssl/%0acp /usr/local/bin/pip3.8 /home/pylink/usr/local/bin/%0acp -R /usr/lib/ /home/pylink/usr/%0acp -R /usr/local/lib/ /home/pylink/usr/local/%0achroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install cachetools --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install passlib --user%0achroot -u pylink -g pylink /home/pylink pip3.8 install unidecode --user%0a@]%0a%0a(:if false:)%0achroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a(:ifend:)%0a%0aAfterwards, we run the following as the user pylink:%0a%0a[@%0a$ cd ~/PyLink%0a$ cp example-conf.yml pylink.yml%0a@]%0a%0aWe then edit pylink.yml:%0a%0a[@%0apylink:%0a nick: BotNick%0a ident: BotIdent%0a realname: Relay%0a serverdesc: Relay%0a prefix: "&"%0a spawn_services: false%0a@]%0a%0aIn order for ident to display properly, you must install and configure [[oidentd/install|oidentd]].%0a%0aYou will want to run this as the user pylink to generate a password hash:%0a%0a[@%0a/home/pylink/PyLink/pylink-mkpasswd%0aPassword: %0a$pbkdf2-sha256$29000$AeBcKwWA0HqvNUYIgbBWqg$9EPkgnfsLsZHJk9YJy16MKqTEKCvZohdT1MyAbXQTjQ%0a@]%0a%0aThe login section below lets us pick a username and password for administering the bot. Use the password hash you generated above:%0a%0a[@%0alogin:%0a accounts:%0a username:%0a password: "$6$rounds=81447$WlVlZYCgbnjPmVqy$28Tu/Zl0xNpePqimax2wABKn5GCoWomYEI1Pu5jqYyQNULazR4BxQmscZ0MgBHqBCCke.3u5eOtBSZwL3WwVf0"%0a encrypted: true%0a #require_oper: true%0a #hosts: ["*!*@localhost", "*!*@trusted.isp"]%0apermissions:%0a "username":%0a - "*"%0a@]%0a%0aFor extra security, we recommend you uncomment #require_oper and set it to true, so that only opers can login. We also recommend you uncomment #hosts and set it to properly match your vhost. This will make it harder for someone to steal your relay.%0a%0aIn the permissions block, you can replace username with a full hostmask for more security.%0a%0aNow we specify the server running on our VPS:%0a%0a[@%0aservers:%0a your:%0a ip: 127.0.0.1%0a port: 16667%0a recvpass: "abcdefghijklmnopqrstuvwxyz"%0a sendpass: "abcdefghijklmnopqrstuvwxyz"%0a bindhost: 10.0.0.1%0a netname: "YourNet"%0a hostname: "relay.example.com"%0a sid: "0PY"%0a sidrange: "8##"%0a protocol: "ngircd"%0a maxnicklen: 16%0a ssl: false%0a autoconnect: 10%0a@]%0a%0aFor the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is YourNet, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%0aFor each server you want to connect, add a new block like below:%0a%0a[@%0a oftc:%0a ip: irc.oftc.net%0a port: 6697%0a netname: "OFTC"%0a protocol: "clientbot"%0a pylink_nick: BotNick%0a pylink_ident: BotIdent%0a pylink_altnicks: ["BotNick`", "BotNick-"]%0a ssl: true%0a autoconnect: 30%0a throttle_time: 1.0%0a@]%0a%0aThis block is for OFTC.%0a%0a[@%0aplugins:%0a - commands%0a - networks%0a - ctcp%0a - relay%0a - relay_clientbot%0a - servprotect%0a - antispam%0a - raw%0a@]%0a%0aWe are going to uncomment the relay and relay_clientbot plugins so we can relay in client mode.%0a%0aNext, we set up logging:%0a%0a[@%0alogging:%0a console: INFO%0a channels:%0a# your:%0a# "#services":%0a# loglevel: INFO%0a# "#pylink-notifications":%0a# loglevel: WARNING%0a files:%0a "errors":%0a loglevel: ERROR%0a "commands":%0a loglevel: INFO%0a@]%0a%0aIf you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console and files.%0a%0aWe delete the changehost plugin, then add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a%0a[@%0arelay:%0a allow_free_oper_links: true%0a tag_nicks: true%0a forcetag_nicks:%0a - "*Serv"%0a separator: "/"%0a allow_clientbot_pms: true%0a hideoper: true%0a show_netsplits: false%0a accept_weird_senders: false%0a whois_show_accounts: all%0a whois_show_server: opers%0a clientbot_styles:%0a ACTION: ""%0a JOIN: ""%0a KICK: ""%0a MESSAGE: "%3c$sender> $text"%0a MODE: ""%0a NICK: ""%0a NOTICE: "%3c$sender> $text"%0a PART: ""%0a PM: "PM from $sender on $netname: $text"%0a PNOTICE: "%3c$sender> $text"%0a QUIT: ""%0a SJOIN: ""%0a SQUIT: ""%0a@]%0a%0aI delete the games and global plugin. Then, for automode and stats:%0a%0a[@%0aautomode:%0a nick: Automode%0a joinmodes: 'o'%0a prefix: "@"%0astats:%0a time_format: "%25c"%0a@]%0a%0aNow we configure antispam to block mass highlights, part/quit floods, and profanity. You can adjust the word lists (the word shibboleth is used as a test phrase):%0a%0a[@%0aantispam:%0a masshighlight:%0a enabled: true%0a punishment: block%0a reason: "Mass highlight spam is prohibited"%0a min_length: 50%0a min_nicks: 5%0a textfilter:%0a enabled: true%0a punishment: block%0a reason: "Spam is prohibited"%0a watch_pms: true%0a textfilter_globs:%0a - "*shibboleth*"%0a partquit:%0a@]%0a%0aYou'll need to add this to /etc/ngircd/ngircd.conf:%0a%0a[@%0a[Server]%0a Name = relay.example.com%0a Host = 127.0.0.1%0a Bind = 38.81.163.143%0a Port = 16667%0a MyPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a PeerPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a ;Group = 123%0a Passive = no%0a SSLConnect = no %0a@]%0a%0aReplace 38.81.163.143 with your IP address.%0a%0aWe reload ngircd.conf:%0a%0a[@%0a$ doas rcctl reload ngircd%0a@]%0a%0aThen we start PyLink by running it inside a chroot:%0a%0a[@%0a$ doas su%0a# export HOME=/%0a# chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a@]%0a%0a!! Logging in%0a%0a[@%0a/msg %3cbotnick> login username password%0a/msg %3cbotnick> create #channel%0a/msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a15:39 -botnick(botident@f6e1cdd3)- Joining '#channel' now to check for op status; please run this command again after I join.%0a@]%0a%0aNow op the bot, then run the command again:%0a%0a[@%0a/msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a15:39 -botnick(botident@f6e1cdd3)- Done.%0a@]%0a%0aFinally, to prevent pylink from accidentally de-opping other users:%0a%0a[@%0a/msg %3cbotnick> claim #channel -%0a@]%0a%0a!! Troubleshooting%0a%0aSometimes PyLink may crash, and when you attempt to restart it, it says that the PID file already exists: %0a%0a[@%0a$ doas su%0a# export HOME=/%0a# chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a2021-02-12 00:19:39,495 [ERROR] PID file 'pylink.pid' exists; aborting!%0a@]%0a%0aSimply remove the file:%0a%0a[@%0a# rm /home/pylink/pylink.pid%0a# rm /home/pylink/PyLink/pylink.pid%0a@]%0a%0aIf the bot ever gets stuck and you can't kill it:%0a%0a[@%0a$ ps ax | grep pylink%0a22986 p7 S+ 0:03.08 python3.8 PyLink/pylink PyLink/pylink.yml%0a$ doas kill -KILL 22986%0a@]%0a%0aReplace 22986 with whatever process ID python has.%0a%0aOr use an simpler command:%0a%0a[@%0acd /home/pylink%0adoas kill -KILL `cat pylink.pid`%0a@]%0a +time=1638453762 +title=Pylink Install Guide +author:1638453762=jrmu +diff:1638453762:1638453705:=272a273,310%0a> - "* arse *"%0a> - "* ass *"%0a> - "* asses *"%0a> - "*asshole*"%0a> - "*bastard*"%0a> - "*bitch*"%0a> - "*blow job*"%0a> - "*blowjob*"%0a> - "*bollock*"%0a> - "* boner *"%0a> - "* boob *"%0a> - "* boobs *"%0a> - "* cock *"%0a> - "* cocks *" %0a> - "*cocksuck*"%0a> - "* crap*" %0a> - "* cum *"%0a> - "* cumming*"%0a> - "* cunt*" %0a> - "*dick*"%0a> - "* dildo*" %0a> - "*ejaculat*"%0a> - "* fag*"%0a> - "*fatass*"%0a> - "*fuck*"%0a> - "* jizz*"%0a> - "* horny*"%0a> - "*mast?rbat*"%0a> - "*nigger*"%0a> - "*nigga*"%0a> - "* piss*"%0a> - "*pussies*"%0a> - "*pussy*"%0a> - "* shit*"%0a> - "* slut*"%0a> - "* suck*"%0a> - "* tits*"%0a> - "* whore*"%0a +host:1638453762=38.87.162.8 +author:1638453705=jrmu +diff:1638453705:1614990676:=24c24%0a%3c $ doas pkg_add python%253.8 py3-pip git%0a---%0a> $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0 git%0a401c401%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1638453705=38.87.162.8 +author:1614990676=jrmu +diff:1614990676:1614529499:=360,365d359%0a%3c @]%0a%3c %0a%3c Finally, to prevent pylink from accidentally de-opping other users:%0a%3c %0a%3c [@%0a%3c /msg %3cbotnick> claim #channel -%0a +host:1614990676=198.251.81.119 +author:1614529499=jrmu +diff:1614529499:1614524235:=329,330d328%0a%3c %0a%3c Replace 38.81.163.143 with your IP address.%0a +host:1614529499=198.251.81.119 +author:1614524235=jrmu +diff:1614524235:1613811946:=39c39%0a%3c PyLink does not appear very secure, so we will create a chroot for it. We run the following commands as root:%0a---%0a> PyLink does not appear very secure, so we will create a chroot for it:%0a +host:1614524235=198.251.81.119 +author:1613811946=jrmu +diff:1613811946:1613805713:=91c91%0a%3c (:ifend:)%0a---%0a> (:endif:)%0a +host:1613811946=198.251.81.119 +author:1613805713=jrmu +diff:1613805713:1613724103:=86a87%0a> chroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a88,91d88%0a%3c %0a%3c (:if false:)%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a%3c (:endif:)%0a +host:1613805713=198.251.81.119 +author:1613724103=jrmu +diff:1613724103:1613484632:=130c130%0a%3c "username":%0a---%0a> "username"%0a +host:1613724103=198.251.81.119 +author:1613484632=jrmu +diff:1613484632:1613398342:=106d105%0a%3c spawn_services: false%0a +host:1613484632=198.251.81.119 +author:1613398342=fizi +diff:1613398342:1613397662:=35d34%0a%3c $ cd PyLink%0a +host:1613398342=39.42.103.95 +author:1613397662=jrmu +diff:1613397662:1613388265:=29,34c29,34%0a%3c $ pip3.8 install setuptools --user%0a%3c $ pip3.8 install pyyaml --user%0a%3c $ pip3.8 install cachetools --user%0a%3c $ pip3.8 install passlib --user%0a%3c $ pip3.8 install Unidecode --user%0a%3c $ pip3.8 install psutil --user%0a---%0a> $ pip3 install setuptools --user%0a> $ pip3 install pyyaml --user%0a> $ pip3 install cachetools --user%0a> $ pip3 install passlib --user%0a> $ pip3 install Unidecode --user%0a> $ pip3 install psutil --user%0a +host:1613397662=198.251.81.119 +author:1613388265=miniontoby +csum:1613388265=added simple command +diff:1613388265:1613292131:=381,388c381%0a%3c Replace 22986 with whatever process ID python has.%0a%3c %0a%3c Or use an simpler command:%0a%3c %0a%3c [@%0a%3c cd /home/pylink%0a%3c doas kill -KILL `cat pylink.pid`%0a%3c @]%0a\ No newline at end of file%0a---%0a> Replace 22986 with whatever process ID python has.%0a\ No newline at end of file%0a +host:1613388265=145.132.146.30 +author:1613292131=jrmu +diff:1613292131:1613291742:=357,358d356%0a%3c Sometimes PyLink may crash, and when you attempt to restart it, it says that the PID file already exists: %0a%3c %0a360,362c358%0a%3c $ doas su%0a%3c # export HOME=/%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a---%0a> $ python3 pylink%0a364,370c360%0a%3c @]%0a%3c %0a%3c Simply remove the file:%0a%3c %0a%3c [@%0a%3c # rm /home/pylink/pylink.pid%0a%3c # rm /home/pylink/PyLink/pylink.pid%0a---%0a> $ rm pylink.pid%0a +host:1613292131=198.251.81.119 +author:1613291742=jrmu +diff:1613291742:1613290855:=241,242c241,242%0a%3c I delete the games and global plugin. Then, for automode and stats:%0a%3c %0a---%0a> I delete the games, global plugin:%0a> %0a252c252%0a%3c Now we configure antispam to block mass highlights, part/quit floods, and profanity. You can adjust the word lists (the word shibboleth is used as a test phrase):%0a---%0a> Now we configure antispam to block mass highlights, part/quit floods, and profanity:%0a +host:1613291742=198.251.81.119 +author:1613290855=jrmu +diff:1613290855:1613290484:=146,147c146,147%0a%3c netname: "YourNet"%0a%3c hostname: "relay.example.com"%0a---%0a> netname: "IRCNow"%0a> hostname: "relay.ircnow.org"%0a156,157c156,157%0a%3c For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is YourNet, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%3c %0a---%0a> For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a> %0a166,168c166,168%0a%3c pylink_nick: BotNick%0a%3c pylink_ident: BotIdent%0a%3c pylink_altnicks: ["BotNick`", "BotNick-"]%0a---%0a> pylink_nick: ircnow%0a> pylink_ident: ircnow%0a> pylink_altnicks: ["ircnow`", "ircnow-"]%0a314c314%0a%3c Name = relay.example.com%0a---%0a> Name = relay.ircnow.org%0a345c345%0a%3c 15:39 -botnick(botident@f6e1cdd3)- Joining '#channel' now to check for op status; please run this command again after I join.%0a---%0a> 15:39 -ircnow(ircnow@f6e1cdd3)- Joining '#ircnow-test' now to check for op status; please run this command again after I join.%0a352c352%0a%3c 15:39 -botnick(botident@f6e1cdd3)- Done.%0a---%0a> 15:39 -ircnow(ircnow@f6e1cdd3)- Done.%0a +host:1613290855=198.251.81.119 +author:1613290484=jrmu +diff:1613290484:1613282999:=156c156%0a%3c For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname depends upon your team's domain. You can leave sid and sidrange unchanged.%0a---%0a> For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname is depends upon your team's domain. You can leave sid and sidrange unchanged.%0a +host:1613290484=198.251.81.119 +author:1613282999=jrmu +diff:1613282999:1613282921:= +host:1613282999=198.251.81.119 +author:1613282921=jrmu +diff:1613282921:1613282428:=286a287%0a> - "*damn*"%0a294a296,297%0a> - "* lmao*"%0a> - "* lmfao*"%0a +host:1613282921=198.251.81.119 +author:1613282428=jrmu +diff:1613282428:1613281981:=250,310d249%0a%3c @]%0a%3c %0a%3c Now we configure antispam to block mass highlights, part/quit floods, and profanity:%0a%3c %0a%3c [@%0a%3c antispam:%0a%3c masshighlight:%0a%3c enabled: true%0a%3c punishment: block%0a%3c reason: "Mass highlight spam is prohibited"%0a%3c min_length: 50%0a%3c min_nicks: 5%0a%3c textfilter:%0a%3c enabled: true%0a%3c punishment: block%0a%3c reason: "Spam is prohibited"%0a%3c watch_pms: true%0a%3c textfilter_globs:%0a%3c - "* arse *"%0a%3c - "* ass *"%0a%3c - "* asses *"%0a%3c - "*asshole*"%0a%3c - "*bastard*"%0a%3c - "*bitch*"%0a%3c - "*blow job*"%0a%3c - "*blowjob*"%0a%3c - "*bollock*"%0a%3c - "* boner *"%0a%3c - "* boob *"%0a%3c - "* boobs *"%0a%3c - "* cock *"%0a%3c - "* cocks *" %0a%3c - "*cocksuck*"%0a%3c - "* crap*" %0a%3c - "* cum *"%0a%3c - "* cumming*"%0a%3c - "* cunt*" %0a%3c - "*damn*"%0a%3c - "*dick*"%0a%3c - "* dildo*" %0a%3c - "*ejaculat*"%0a%3c - "* fag*"%0a%3c - "*fatass*"%0a%3c - "*fuck*"%0a%3c - "* jizz*"%0a%3c - "* horny*"%0a%3c - "* lmao*"%0a%3c - "* lmfao*"%0a%3c - "*mast?rbat*"%0a%3c - "*nigger*"%0a%3c - "*nigga*"%0a%3c - "* piss*"%0a%3c - "*pussies*"%0a%3c - "*pussy*"%0a%3c - "* shit*"%0a%3c - "* slut*"%0a%3c - "* suck*"%0a%3c - "* tits*"%0a%3c - "* whore*"%0a%3c - "*shibboleth*"%0a%3c partquit:%0a +host:1613282428=198.251.81.119 +author:1613281981=jrmu +diff:1613281981:1613281850:=241c241%0a%3c I delete the games, global plugin:%0a---%0a> I delete the games plugin:%0a +host:1613281981=198.251.81.119 +author:1613281850=jrmu +diff:1613281850:1613281521:=241,242c241,242%0a%3c I delete the games plugin:%0a%3c %0a---%0a> The remaining plugins:%0a> %0a247a248,250%0a> games:%0a> nick: Games%0a> prefix: "./"%0a +host:1613281850=198.251.81.119 +author:1613281521=jrmu +diff:1613281521:1613145225:=210c210,225%0a%3c We delete the changehost plugin, then add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a---%0a> [@%0a> changehost:%0a> enabled_nets:%0a> - inspnet%0a> - ts6net%0a> enforce_exceptions:%0a> - "*!*@yournet/staff/*"%0a> hosts:%0a> "*!yourname@*.yournet.com": "$nick.opers.yournet.com"%0a> "*!*@localhost": "some-server.hostname"%0a> "*!*@bnc-server.yournet.com": "yournet/bnc-users/$ident"%0a> "*!*@ircip?.mibbit.com": "$ident.$realhost"%0a> "WebchatUser*!*@*": "webchat/users/$ident"%0a> @]%0a> %0a> We add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a +host:1613281521=198.251.81.119 +author:1613145225=jrmu +diff:1613145225:1613144903:=237d236%0a%3c accept_weird_senders: false%0a +host:1613145225=198.251.81.119 +author:1613144903=jrmu +diff:1613144903:1613144582:= +host:1613144903=198.251.81.119 +author:1613144582=jrmu +diff:1613144582:1613144020:=234c234%0a%3c allow_clientbot_pms: true%0a---%0a> allow_clientbot_pms: false%0a +host:1613144582=198.251.81.119 +author:1613144020=jrmu +diff:1613144020:1613143860:=208c208%0a%3c If you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console and files.%0a---%0a> If you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console.%0a +host:1613144020=198.251.81.119 +author:1613143860=jrmu +diff:1613143860:1613143420:=190,191d189%0a%3c Next, we set up logging:%0a%3c %0a196,200c194,198%0a%3c # your:%0a%3c # "#services":%0a%3c # loglevel: INFO%0a%3c # "#pylink-notifications":%0a%3c # loglevel: WARNING%0a---%0a> inspnet:%0a> loglevel: INFO%0a> loglevel: WARNING%0a> ts6net:%0a> loglevel: INFO%0a206,210d203%0a%3c @]%0a%3c %0a%3c If you want to log to a channel, uncomment those lines, then replace @@your@@ with your shortened network name and replace with your channel names. I prefer to just have error messages go to console.%0a%3c %0a%3c [@%0a +host:1613143860=198.251.81.119 +author:1613143420=jrmu +diff:1613143420:1613142955:=185d184%0a%3c - raw%0a +host:1613143420=198.251.81.119 +author:1613142955=jrmu +diff:1613142955:1613141743:=184d183%0a%3c - antispam%0a +host:1613142955=198.251.81.119 +author:1613141743=jrmu +diff:1613141743:1613141430:= +host:1613141743=198.251.81.119 +author:1613141430=jrmu +diff:1613141430:1613141385:=134c134%0a%3c In the permissions block, you can replace username with a full hostmask for more security.%0a---%0a> In the permissions block, you can replace username with a full vhost for more security.%0a +host:1613141430=198.251.81.119 +author:1613141385=jrmu +diff:1613141385:1613141269:=128c128%0a%3c "username"%0a---%0a> "username":%0a133,134d132%0a%3c %0a%3c In the permissions block, you can replace username with a full vhost for more security.%0a +host:1613141385=198.251.81.119 +author:1613141269=jrmu +diff:1613141269:1613133528:=125,126d124%0a%3c #require_oper: true%0a%3c #hosts: ["*!*@localhost", "*!*@trusted.isp"]%0a131,132d128%0a%3c %0a%3c For extra security, we recommend you uncomment #require_oper and set it to true, so that only opers can login. We also recommend you uncomment #hosts and set it to properly match your vhost. This will make it harder for someone to steal your relay.%0a +host:1613141269=198.251.81.119 +author:1613133528=jrmu +diff:1613133528:1613117335:=106,107d105%0a%3c %0a%3c In order for ident to display properly, you must install and configure [[oidentd/install|oidentd]].%0a +host:1613133528=198.251.81.119 +author:1613117335=jrmu +diff:1613117335:1613117121:=38,39c38,39%0a%3c PyLink does not appear very secure, so we will create a chroot for it:%0a%3c %0a---%0a> Then we run this script as root:%0a> %0a206,210d205%0a%3c @]%0a%3c %0a%3c We add clientbot_styles to the relay plugin in order to make the relay less noisy:%0a%3c %0a%3c [@%0a236,240d230%0a%3c @]%0a%3c %0a%3c The remaining plugins:%0a%3c %0a%3c [@%0a267,269d256%0a%3c We reload ngircd.conf:%0a%3c %0a%3c [@%0a271,273d257%0a%3c @]%0a%3c %0a%3c Then we start PyLink by running it inside a chroot:%0a +host:1613117335=198.251.81.119 +author:1613117121=jrmu +diff:1613117121:1613116306:=167a168,169%0a> The rest of the settings below have been left untouched:%0a> %0a176,180d177%0a%3c @]%0a%3c %0a%3c We are going to uncomment the relay and relay_clientbot plugins so we can relay in client mode.%0a%3c %0a%3c [@%0a +host:1613117121=198.251.81.119 +author:1613116306=jrmu +diff:1613116306:1613116255:= +host:1613116306=198.251.81.119 +author:1613116255=jrmu +diff:1613116255:1613115665:=214,227d213%0a%3c clientbot_styles:%0a%3c ACTION: ""%0a%3c JOIN: ""%0a%3c KICK: ""%0a%3c MESSAGE: "%3c$sender> $text"%0a%3c MODE: ""%0a%3c NICK: ""%0a%3c NOTICE: "%3c$sender> $text"%0a%3c PART: ""%0a%3c PM: "PM from $sender on $netname: $text"%0a%3c PNOTICE: "%3c$sender> $text"%0a%3c QUIT: ""%0a%3c SJOIN: ""%0a%3c SQUIT: ""%0a +host:1613116255=198.251.81.119 +author:1613115665=jrmu +diff:1613115665:1613115644:=261d260%0a%3c 15:39 -ircnow(ircnow@f6e1cdd3)- Done.%0a +host:1613115665=198.251.81.119 +author:1613115644=jrmu +diff:1613115644:1613115401:=251,260c251%0a%3c /msg %3cbotnick> login username password%0a%3c /msg %3cbotnick> create #channel%0a%3c /msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a%3c 15:39 -ircnow(ircnow@f6e1cdd3)- Joining '#ircnow-test' now to check for op status; please run this command again after I join.%0a%3c @]%0a%3c %0a%3c Now op the bot, then run the command again:%0a%3c %0a%3c [@%0a%3c /msg %3cbotnick> remote %3cother> link %3cyour> #channel%0a---%0a> /msg login username password%0a +host:1613115644=198.251.81.119 +author:1613115401=jrmu +diff:1613115401:1613115290:=175,176d174%0a%3c - relay%0a%3c - relay_clientbot%0a +host:1613115401=198.251.81.119 +author:1613115290=jrmu +diff:1613115290:1613115247:=244,249d243%0a%3c @]%0a%3c %0a%3c !! Logging in%0a%3c %0a%3c [@%0a%3c /msg login username password%0a +host:1613115290=198.251.81.119 +author:1613115247=jrmu +diff:1613115247:1613114786:=252,262c252%0a%3c @]%0a%3c %0a%3c If the bot ever gets stuck and you can't kill it:%0a%3c %0a%3c [@%0a%3c $ ps ax | grep pylink%0a%3c 22986 p7 S+ 0:03.08 python3.8 PyLink/pylink PyLink/pylink.yml%0a%3c $ doas kill -KILL 22986%0a%3c @]%0a%3c %0a%3c Replace 22986 with whatever process ID python has.%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1613115247=198.251.81.119 +author:1613114786=jrmu +diff:1613114786:1613114688:=51c51%0a%3c mkdir -p /home/pylink/etc/ssl/%0a---%0a> mkdir -p /home/pylink/etc/%0a77d76%0a%3c cp /etc/ssl/cert.pem /home/pylink/etc/ssl/%0a +host:1613114786=198.251.81.119 +author:1613114688=jrmu +diff:1613114688:1613114528:=242c242,244%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink PyLink/pylink.yml%0a---%0a> # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink %0a> ERROR: Failed to load config from 'pylink.yml': FileNotFoundError: [Errno 2] No such file or directory: 'pylink.yml'%0a> # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink pylink.yml%0a +host:1613114688=198.251.81.119 +author:1613114528=jrmu +diff:1613114528:1613114380:=238a239,241%0a> $ doas chroot -u pylink -g pylink /home/pylink python3%0a> %0a> %0a240,244c243,245%0a%3c $ doas su%0a%3c # export HOME=/%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink %0a%3c ERROR: Failed to load config from 'pylink.yml': FileNotFoundError: [Errno 2] No such file or directory: 'pylink.yml'%0a%3c # chroot -u pylink -g pylink /home/pylink python3.8 PyLink/pylink pylink.yml%0a---%0a> $ ftp https://github.com/jlu5/PyLink/archive/master.zip%0a> $ unzip master.zip%0a> $ cd PyLink-master/%0a +host:1613114528=198.251.81.119 +author:1613114380=jrmu +diff:1613114380:1613113403:=147,165c147,150%0a%3c For the short network name (here named @@your@@), pick something 3-5 letters that represents your network. Keep it short. ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname is depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%3c %0a%3c For each server you want to connect, add a new block like below:%0a%3c %0a%3c [@%0a%3c oftc:%0a%3c ip: irc.oftc.net%0a%3c port: 6697%0a%3c netname: "OFTC"%0a%3c protocol: "clientbot"%0a%3c pylink_nick: ircnow%0a%3c pylink_ident: ircnow%0a%3c pylink_altnicks: ["ircnow`", "ircnow-"]%0a%3c ssl: true%0a%3c autoconnect: 30%0a%3c throttle_time: 1.0%0a%3c @]%0a%3c %0a%3c This block is for OFTC.%0a---%0a> ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname is depends upon your team's domain. You can leave sid and sidrange unchanged.%0a> %0a> The rest of the settings below have been left untouched:%0a> %0a +host:1613114380=198.251.81.119 +author:1613113403=jrmu +diff:1613113403:1613111739:=38,39c38,39%0a%3c Then we run this script as root:%0a%3c %0a---%0a> Then we run this script:%0a> %0a88,89c88%0a%3c Afterwards, we run the following as the user pylink:%0a%3c %0a---%0a> %0a92a92%0a> $ vi pylink.yml%0a95,96d94%0a%3c We then edit pylink.yml:%0a%3c %0a104,117d101%0a%3c @]%0a%3c %0a%3c You will want to run this as the user pylink to generate a password hash:%0a%3c %0a%3c [@%0a%3c /home/pylink/PyLink/pylink-mkpasswd%0a%3c Password: %0a%3c $pbkdf2-sha256$29000$AeBcKwWA0HqvNUYIgbBWqg$9EPkgnfsLsZHJk9YJy16MKqTEKCvZohdT1MyAbXQTjQ%0a%3c @]%0a%3c %0a%3c The login section below lets us pick a username and password for administering the bot. Use the password hash you generated above:%0a%3c %0a%3c [@%0a%3c login:%0a119c103%0a%3c username:%0a---%0a> adminnick:%0a123c107%0a%3c "username":%0a---%0a> "ABC123":%0a125,129d108%0a%3c @]%0a%3c %0a%3c Now we specify the server running on our VPS:%0a%3c %0a%3c [@%0a131c110%0a%3c your:%0a---%0a> irc:%0a145,201d123%0a%3c @]%0a%3c %0a%3c ip should remain 127.0.0.1 in order to connect to localhost. We want to use port 16667 (ports 16667 and 16697 are reserved for server to server links). Note that we do not need to use SSL because we are connecting to localhost. recvpass and sendpass are the server passwords we must specify in /etc/ngircd/ngircd.conf in the [Server] block. The netname is IRCNow, the hostname is depends upon your team's domain. You can leave sid and sidrange unchanged.%0a%3c %0a%3c The rest of the settings below have been left untouched:%0a%3c %0a%3c [@%0a%3c plugins:%0a%3c - commands%0a%3c - networks%0a%3c - ctcp%0a%3c - servprotect%0a%3c logging:%0a%3c console: INFO%0a%3c channels:%0a%3c inspnet:%0a%3c loglevel: INFO%0a%3c loglevel: WARNING%0a%3c ts6net:%0a%3c loglevel: INFO%0a%3c files:%0a%3c "errors":%0a%3c loglevel: ERROR%0a%3c "commands":%0a%3c loglevel: INFO%0a%3c changehost:%0a%3c enabled_nets:%0a%3c - inspnet%0a%3c - ts6net%0a%3c enforce_exceptions:%0a%3c - "*!*@yournet/staff/*"%0a%3c hosts:%0a%3c "*!yourname@*.yournet.com": "$nick.opers.yournet.com"%0a%3c "*!*@localhost": "some-server.hostname"%0a%3c "*!*@bnc-server.yournet.com": "yournet/bnc-users/$ident"%0a%3c "*!*@ircip?.mibbit.com": "$ident.$realhost"%0a%3c "WebchatUser*!*@*": "webchat/users/$ident"%0a%3c relay:%0a%3c allow_free_oper_links: true%0a%3c tag_nicks: true%0a%3c forcetag_nicks:%0a%3c - "*Serv"%0a%3c separator: "/"%0a%3c allow_clientbot_pms: false%0a%3c hideoper: true%0a%3c show_netsplits: false%0a%3c whois_show_accounts: all%0a%3c whois_show_server: opers%0a%3c automode:%0a%3c nick: Automode%0a%3c joinmodes: 'o'%0a%3c prefix: "@"%0a%3c games:%0a%3c nick: Games%0a%3c prefix: "./"%0a%3c stats:%0a%3c time_format: "%25c"%0a +host:1613113403=198.251.81.119 +author:1613111739=jrmu +diff:1613111739:1613111680:= +host:1613111739=198.251.81.119 +author:1613111680=jrmu +diff:1613111680:1613110895:= +host:1613111680=198.251.81.119 +author:1613110895=jrmu +diff:1613110895:1613110839:=122c122%0a%3c ssl: false%0a---%0a> ssl: true%0a123a124%0a> %0a +host:1613110895=198.251.81.119 +author:1613110839=jrmu +diff:1613110839:1613110762:=151,158d150%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c [@%0a%3c $ python3 pylink%0a%3c 2021-02-12 00:19:39,495 [ERROR] PID file 'pylink.pid' exists; aborting!%0a%3c $ rm pylink.pid%0a +host:1613110839=198.251.81.119 +author:1613110762=jrmu +diff:1613110762:1613110444:=112c112%0a%3c port: 16667%0a---%0a> port: 6667%0a115d114%0a%3c bindhost: 10.0.0.1%0a127,142c126%0a%3c You'll need to add this to /etc/ngircd/ngircd.conf:%0a%3c %0a%3c [@%0a%3c [Server]%0a%3c Name = relay.ircnow.org%0a%3c Host = 127.0.0.1%0a%3c Bind = 38.81.163.143%0a%3c Port = 16667%0a%3c MyPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a%3c PeerPassword = fyLnwwxSvxc2gpn3AM994FMitD%0a%3c ;Group = 123%0a%3c Passive = no%0a%3c SSLConnect = no %0a%3c @]%0a%3c %0a%3c $ doas rcctl reload ngircd%0a---%0a> %0a +host:1613110762=198.251.81.119 +author:1613110444=jrmu +diff:1613110444:1613110410:=99,100c99,100%0a%3c realname: Relay%0a%3c serverdesc: Relay%0a---%0a> realname: Town Crier%0a> serverdesc: Town Crier%0a116c116%0a%3c hostname: "relay.ircnow.org"%0a---%0a> hostname: "relay.irc.ircnow.org"%0a +host:1613110444=198.251.81.119 +author:1613110410=jrmu +diff:1613110410:1613109322:=113,114c113,114%0a%3c recvpass: "abcdefghijklmnopqrstuvwxyz"%0a%3c sendpass: "abcdefghijklmnopqrstuvwxyz"%0a---%0a> #recvpass: "abcd"%0a> #sendpass: "abcd"%0a116,122c116%0a%3c hostname: "relay.irc.ircnow.org"%0a%3c sid: "0PY"%0a%3c sidrange: "8##"%0a%3c protocol: "ngircd"%0a%3c maxnicklen: 16%0a%3c ssl: true%0a%3c autoconnect: 10%0a---%0a> hostname: "towncrier.irc.ircnow.org"%0a +host:1613110410=198.251.81.119 +author:1613109322=jrmu +diff:1613109322:1613108845:=110,116d109%0a%3c irc:%0a%3c ip: 127.0.0.1%0a%3c port: 6667%0a%3c #recvpass: "abcd"%0a%3c #sendpass: "abcd"%0a%3c netname: "IRCNow"%0a%3c hostname: "towncrier.irc.ircnow.org"%0a +host:1613109322=198.251.81.119 +author:1613108845=jrmu +diff:1613108845:1613108506:=95d94%0a%3c [@%0a97,112c96,101%0a%3c nick: BotNick%0a%3c ident: BotIdent%0a%3c realname: Town Crier%0a%3c serverdesc: Town Crier%0a%3c prefix: "&"%0a%3c accounts:%0a%3c adminnick:%0a%3c password: "$6$rounds=81447$WlVlZYCgbnjPmVqy$28Tu/Zl0xNpePqimax2wABKn5GCoWomYEI1Pu5jqYyQNULazR4BxQmscZ0MgBHqBCCke.3u5eOtBSZwL3WwVf0"%0a%3c encrypted: true%0a%3c permissions:%0a%3c "ABC123":%0a%3c - "*"%0a%3c servers:%0a%3c %0a%3c @]%0a%3c %0a---%0a> nick: PyLink%0a> ident: pylink%0a> realname: PyLink Service Client%0a> %0a> # Server description (shown in /links, /whois, etc.)%0a> serverdesc: IRCNow Town Crier%0a +host:1613108845=198.251.81.119 +author:1613108506=jrmu +diff:1613108506:1613108400:=87,102d86%0a%3c %0a%3c %0a%3c [@%0a%3c $ cd ~/PyLink%0a%3c $ cp example-conf.yml pylink.yml%0a%3c $ vi pylink.yml%0a%3c @]%0a%3c %0a%3c pylink:%0a%3c nick: PyLink%0a%3c ident: pylink%0a%3c realname: PyLink Service Client%0a%3c %0a%3c # Server description (shown in /links, /whois, etc.)%0a%3c serverdesc: IRCNow Town Crier%0a%3c %0a +host:1613108506=198.251.81.119 +author:1613108400=jrmu +diff:1613108400:1613062204:=28,35d27%0a%3c $ git clone https://github.com/jlu5/PyLink && cd PyLink%0a%3c $ pip3 install setuptools --user%0a%3c $ pip3 install pyyaml --user%0a%3c $ pip3 install cachetools --user%0a%3c $ pip3 install passlib --user%0a%3c $ pip3 install Unidecode --user%0a%3c $ pip3 install psutil --user%0a%3c $ python3 setup.py install --user%0a +host:1613108400=198.251.81.119 +author:1613062204=jrmu +diff:1613062204:1613061966:= +host:1613062204=198.251.81.119 +author:1613061966=jrmu +diff:1613061966:1613061361:=24c24%0a%3c $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0 git%0a---%0a> $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0%0a +host:1613061966=198.251.81.119 +author:1613061361=jrmu +diff:1613061361:1613061156:=72,77d71%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install cachetools --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install passlib --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install unidecode --user%0a%3c chroot -u pylink -g pylink /home/pylink pip3.8 install psutil --user%0a79c73,74%0a%3c %0a---%0a> $ doas chroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0a> $ doas chroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0a80a76,82%0a> %0a> Setuptools (pip3 install setuptools)%0a> PyYAML (pip3 install pyyaml)%0a> cachetools (pip3 install cachetools)%0a> For hashed password support: Passlib >= 1.7.0 (pip3 install passlib)%0a> For Unicode support in Relay: unidecode (pip3 install Unidecode)%0a> For extended PID file tracking (i.e. removing stale PID files after a crash): psutil (pip3 install psutil)%0a +host:1613061361=198.251.81.119 +author:1613061156=jrmu +diff:1613061156:1613060957:=71d70%0a%3c cp -R /usr/local/lib/ /home/pylink/usr/local/%0a +host:1613061156=198.251.81.119 +author:1613060957=jrmu +diff:1613060957:1613060854:=43d42%0a%3c mkdir -p /home/pylink/etc/%0a68d66%0a%3c cp /etc/resolv.conf /home/pylink/etc/%0a +host:1613060957=198.251.81.119 +author:1613060854=jrmu +diff:1613060854:1613060824:=71d70%0a%3c $ doas chroot -u pylink -g pylink /home/pylink pip3.8 install pyyaml --user%0a +host:1613060854=198.251.81.119 +author:1613060824=jrmu +diff:1613060824:1613060680:=70c70%0a%3c $ doas chroot -u pylink -g pylink /home/pylink pip3.8 install setuptools --user%0a---%0a> %0a +host:1613060824=198.251.81.119 +author:1613060680=jrmu +diff:1613060680:1613060086:= +host:1613060680=198.251.81.119 +author:1613060086=jrmu +diff:1613060086:1613060023:=68c68%0a%3c cp -R /usr/lib/ /home/pylink/usr/%0a---%0a> cp /usr/lib/ /home/pylink/usr/lib/%0a +host:1613060086=198.251.81.119 +author:1613060023=jrmu +diff:1613060023:1613059735:= +host:1613060023=198.251.81.119 +author:1613059735=jrmu +diff:1613059735:1613059666:=68d67%0a%3c cp /usr/lib/ /home/pylink/usr/lib/%0a +host:1613059735=198.251.81.119 +author:1613059666=jrmu +diff:1613059666:1613055813:=67d66%0a%3c cp /usr/local/bin/pip3.8 /home/pylink/usr/local/bin/%0a +host:1613059666=198.251.81.119 +author:1613055813=jrmu +diff:1613055813:1613055781:= +host:1613055813=198.251.81.119 +author:1613055781=jrmu +diff:1613055781:1613055390:=64c64%0a%3c cp -R /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0a---%0a> cp /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0a +host:1613055781=198.251.81.119 +author:1613055390=jrmu +diff:1613055390:1613055126:=42d41%0a%3c mkdir -p /home/pylink/usr/local/share/aclocal-1.11/am/%0a +host:1613055390=198.251.81.119 +author:1613055126=jrmu +diff:1613055126:1613055108:= +host:1613055126=198.251.81.119 +author:1613055108=jrmu +diff:1613055108:1613055082:=36c36%0a%3c mkdir -p /home/pylink/usr/local/lib/pkgconfig/%0a---%0a> mkdir -p /home/pylink/usr/local/lib/pkconfig/%0a +host:1613055108=198.251.81.119 +author:1613055082=jrmu +diff:1613055082:1613055041:=56c56%0a%3c cp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkgconfig/%0a---%0a> cp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkconfig/%0a58,59c58,59%0a%3c cp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkgconfig/%0a---%0a> cp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkconfig/%0a> cp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkconfig/%0a +host:1613055082=198.251.81.119 +author:1613055041=jrmu +diff:1613055041:1613054968:=64,65c64,66%0a%3c cp /usr/local/share/aclocal-1.11/python.m4 /home/pylink/usr/local/share/aclocal-1.11/%0a%3c cp /usr/local/share/automake-1.11/am/python.am /home/pylink/usr/local/share/aclocal-1.11/am/%0a---%0a> cp /usr/local/share/aclocal-1.11/python.m4%0a> cp /usr/local/share/automake-1.11/am/python.am%0a> %0a +host:1613055041=198.251.81.119 +author:1613054968=jrmu +diff:1613054968:1613053470:=37d36%0a%3c mkdir -p /home/pylink/usr/local/share/doc/%0a62,63c61,62%0a%3c cp /usr/local/man/man1/python3.8.1 /home/pylink/usr/local/man/man1/%0a%3c cp /usr/local/share/doc/python3.8 /home/pylink/usr/local/share/doc/%0a---%0a> cp /usr/local/man/man1/python3.8.1%0a> cp /usr/local/share/doc/python3.8%0a +host:1613054968=198.251.81.119 +author:1613053470=jrmu +diff:1613053470:1613052991:=35,36d34%0a%3c mkdir -p /home/pylink/usr/local/include/%0a%3c mkdir -p /home/pylink/usr/local/lib/pkconfig/%0a40d37%0a%3c mkdir -p /home/pylink/usr/local/man/man1/%0a60,64c57,62%0a%3c cp /usr/local/man/man1/python3.1 /home/pylink/usr/local/man/man1/%0a%3c cp /usr/local/man/man1/python3.8.1%0a%3c cp /usr/local/share/doc/python3.8%0a%3c cp /usr/local/share/aclocal-1.11/python.m4%0a%3c cp /usr/local/share/automake-1.11/am/python.am%0a---%0a> /usr/local/man/man1/python3.1%0a> /usr/local/man/man1/python3.8.1%0a> /usr/local/share/doc/python3.8%0a> /usr/local/share/aclocal-1.11/python.m4%0a> /usr/local/share/automake-1.11/am/python.am%0a> /var/db/pkg/python-3.8.6p0%0a +host:1613053470=198.251.81.119 +author:1613052991=jrmu +diff:1613052991:1613052762:=39,41d38%0a%3c cp /usr/local/bin/python3.8-config /home/pylink/usr/local/bin/%0a%3c cp /usr/local/bin/python3-config /home/pylink/usr/local/bin/%0a%3c cp /usr/local/bin/python3.8 /home/pylink/usr/local/bin/%0a51,63d47%0a%3c cp -R /usr/local/include/python3.8 /home/pylink/usr/local/include/%0a%3c cp /usr/local/lib/pkgconfig/python-3.8.pc /home/pylink/usr/local/lib/pkconfig/%0a%3c cp /usr/local/lib/pkgconfig/python3.pc /home/pylink/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/pkgconfig/python-3.8-embed.pc /home/pylink/usr/local/lib/pkconfig/%0a%3c cp /usr/local/lib/pkgconfig/python3-embed.pc /home/pylink/usr/local/lib/pkconfig/%0a%3c cp -R /usr/local/lib/python3.8 /home/pylink/usr/local/lib/%0a%3c /usr/local/man/man1/python3.1%0a%3c /usr/local/man/man1/python3.8.1%0a%3c /usr/local/share/doc/python3.8%0a%3c /usr/local/share/aclocal-1.11/python.m4%0a%3c /usr/local/share/automake-1.11/am/python.am%0a%3c /var/db/pkg/python-3.8.6p0%0a%3c %0a +host:1613052991=198.251.81.119 +author:1613052762=jrmu +diff:1613052762:1613052701:=23d22%0a%3c [@%0a28,29c27%0a%3c @]%0a%3c %0a---%0a> %0a32d29%0a%3c [@%0a48d44%0a%3c @]%0a +host:1613052762=198.251.81.119 +author:1613052701=jrmu +diff:1613052701:1613052624:=34d33%0a%3c mkdir -p /home/pylink/var/run/%0a44d42%0a%3c cp /var/run/ld.so.hints /home/pylink/var/run/%0a +host:1613052701=198.251.81.119 +author:1613052624=jrmu +diff:1613052624:1613052599:= +host:1613052624=198.251.81.119 +author:1613052599=jrmu +diff:1613052599:1613052518:= +host:1613052599=198.251.81.119 +author:1613052518=jrmu +diff:1613052518:1613052399:= +host:1613052518=198.251.81.119 +author:1613052399=jrmu +diff:1613052399:1613052242:=42a43%0a> %0a +host:1613052399=198.251.81.119 +author:1613052242=jrmu +diff:1613052242:1613052152:=44,45d43%0a%3c %0a%3c $ doas chroot -u pylink -g pylink /home/pylink python3%0a +host:1613052242=198.251.81.119 +author:1613052152=jrmu +diff:1613052152:1613051246:=24,44c24%0a%3c $ doas useradd -m -g =uid -c pylink -d /home/pylink -s /bin/ksh pylink%0a%3c $ doas su pylink%0a%3c $ cd%0a%3c %0a%3c Then we run this script:%0a%3c %0a%3c mkdir -p /home/pylink/usr/local/bin%0a%3c mkdir -p /home/pylink/usr/local/lib%0a%3c mkdir -p /home/pylink/usr/lib%0a%3c mkdir -p /home/pylink/usr/libexec%0a%3c cp /usr/local/bin/python3 /home/pylink/usr/local/bin/%0a%3c cp /usr/local/lib/libpython3.8.so.0.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/local/lib/libintl.so.7.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/lib/libpthread.so.26.1 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libutil.so.15.0 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libm.so.10.1 /home/pylink/usr/lib/%0a%3c cp /usr/lib/libc.so.96.0 /home/pylink/usr/lib/%0a%3c cp /usr/local/lib/libiconv.so.7.0 /home/pylink/usr/local/lib/%0a%3c cp /usr/libexec/ld.so /home/pylink/usr/libexec/%0a%3c %0a%3c %0a---%0a> $ doas%0a +host:1613052152=198.251.81.119 +author:1613051246=jrmu +diff:1613051246:1613051095:=24c24%0a%3c $ doas%0a---%0a> %0a +host:1613051246=198.251.81.119 +author:1613051095=jrmu +diff:1613051095:1613050876:=22,23c22%0a%3c %0a%3c $ doas pkg_add python-3.8.6p0 py3-pip-20.1.1p0%0a---%0a> First, make sure the following dependencies are met:%0a +host:1613051095=198.251.81.119 +author:1613050876=jrmu +diff:1613050876:1612788769:=2,30d1%0a%3c %0a%3c PyLink is a relay that can help connect channels across multiple networks together.%0a%3c %0a%3c Advantages:%0a%3c %0a%3c # Can link up channels on multiple networks quickly%0a%3c # Shows all users on the home server%0a%3c %0a%3c Disadvantages:%0a%3c %0a%3c # Bloated and insecure%0a%3c # Buggy and unstable, crashes frequently%0a%3c # Requires channel owner to op the bot to link%0a%3c # Bad spam defenses%0a%3c %0a%3c PyLink should eventually be replaced with a more reliable relay written in pure C.%0a%3c %0a%3c !! Installation%0a%3c %0a%3c First we install all python related dependencies:%0a%3c First, make sure the following dependencies are met:%0a%3c %0a%3c Setuptools (pip3 install setuptools)%0a%3c PyYAML (pip3 install pyyaml)%0a%3c cachetools (pip3 install cachetools)%0a%3c For hashed password support: Passlib >= 1.7.0 (pip3 install passlib)%0a%3c For Unicode support in Relay: unidecode (pip3 install Unidecode)%0a%3c For extended PID file tracking (i.e. removing stale PID files after a crash): psutil (pip3 install psutil)%0a%3c %0a +host:1613050876=198.251.81.119 +author:1612788769=jrmu +diff:1612788769:1612781017:= +host:1612788769=198.251.81.119 +author:1612781017=jrmu +diff:1612781017:1612781017:=1,7d0%0a%3c (:title Pylink Install Guide:)%0a%3c %0a%3c [@%0a%3c $ ftp https://github.com/jlu5/PyLink/archive/master.zip%0a%3c $ unzip master.zip%0a%3c $ cd PyLink-master/%0a%3c @]%0a\ No newline at end of file%0a +host:1612781017=198.251.81.119 blob - /dev/null blob + f60c110c7bc9b4b4905860028640f22f509cf109 (mode 644) --- /dev/null +++ wiki.d/Pylink.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1612781017 +host=38.87.162.8 +name=Pylink.RecentChanges +rev=98 +text=* [[Pylink/Chroot]] . . . December 02, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Pylink/Install]] . . . December 02, 2021, at 02:02 PM by [[~jrmu]]: [==]%0a +time=1638453790 blob - /dev/null blob + 18c2958ae66300ec530eb442b23b30653dddbdbb (mode 644) --- /dev/null +++ wiki.d/Rbldnsd.Install @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum=wiki-ish. +ctime=1627956120 +host=198.251.81.133 +name=Rbldnsd.Install +rev=2 +targets= +text=(:title Install Rbldnsd:)%0a%0arbldnsd is a lightweight realtime dns-based banlist daemon. its commonly used to block email spammers and irc spam bots%0a%0a!! installation%0a%0arbldnsd is in ports, its easiest to download it from there%0a%0a[@%0a$ doas pkg_add rbldnsd%0a@]%0a%0a!!! making a user%0alets make a user for rbldnsd to chroot into%0a%0a[@%0a$ doas useradd -m -d /home/rbl rbl%0a@]%0a%0a!!! zonefiles%0a%0a[@%0a# su rbl%0a$ cd%0a$ mkdir zones%0a$ vi zones/naughty%0a@]%0a%0arbldnsd zonefiles are a bit different than @@bind@@ or @@nsd@@ zonefiles, read the [[https://rbldnsd.io/documentation/rbldnsd.8.html|manpage]] or the [[https://rbldnsd.io/documentation/|website's shortened documentation]] for how they are written. below is a simple example.%0a%0a[@%0a# just a normal ip%0a37.15.183.105%0a# custom A response%0a41.60.76.102 :5%0a# make a TXT record%0a45.48.17.20 this sent naughty spam%0a# custom A response and TXT record%0a45.83.40.14 :7: this is an infected host%0a@]%0a%0a!!!rc.d service%0a%0a/etc/rc.d/rbldnsd:%0a[@%0a%0a#!/bin/ksh%0a%0adaemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.example.org:ip4set:naughty"%0a%0a. /etc/rc.d/rc.subr%0a%0apexp="rbldnsd .*"%0arc_cmd $1%0a@]%0a%0alets enable it to start on boot and turn it on%0a%0a[@%0a$ doas rcctl enable rbldnsd%0a$ doas rcctl start rbldnsd%0a@]%0a%0a!!!debugging%0aif it fails, you can run the command from the @@daemon=@@ line as root and it should give you more verbose output. remember to @@rcctl restart rbldnsd@@ to make sure the rc.d file works after%0a%0a!!! delegate dns to it%0anote that you would also put an @@A@@ record if you made rbldnsd listen on ipv4 too%0a%0a[@%0ans1.dnsbl 3600 IN AAAA 2602:fccf:1:1017::6%0adnsbl 3600 IN NS ns1.dnsbl%0a@]%0a%0a!! test if it works%0aassuming you have @@41.60.76.102@@ listed from the above example zone,%0areverse the octets and dig it!%0a%0a[@%0adig 102.76.60.41.dnsbl.example.org A%0a@]%0a%0a!! finding ips to list%0a%0a!!! scraping proxy lists%0asometimes you can find websites listing proxy ips with [[https://www.google.com/search?q=46.166.142.214+proxy|google]]%0a%0a!!! using an api%0awebsites like [[https://shodan.io|shodan]] let you search for ips meeting certain criteria like a certain port open with a socks proxy etc%0a%0a!!! portscanning%0anote that this is frowned upon by many hosting providers, so make sure%0ayou have permission, eg a Linode Researcher account, or else your host might ban you%0a%0a!! this section is probably a bad idea%0a%0a!!! globbing in the rc file%0asince rbldnsd does not support globbing its zonefile names, you can do it with its rc%0afile, so you do not have to manually edit it every time you make more zones.%0a%0a[@%0a#!/bin/ksh%0acd /home/rbl/zones%0adaemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.example.org:ip4set:$(echo ipv4* | tr [[:space:]] ,) dnsbl.example.org:ip6trie:$(echo ipv6* | tr [[:space:]] ,) dnsbl.example.org:combined:$(echo combined* | tr [[:space:]] ,)"%0a%0a. /etc/rc.d/rc.subr%0a%0apexp="rbldnsd .*"%0a%0arc_cmd $1%0a@] +time=1629662299 +title=Install Rbldnsd +author:1629662299=mkf +csum:1629662299=wiki-ish. +diff:1629662299:1627956120:=10c10%0a%3c $ doas pkg_add rbldnsd%0a---%0a> # pkg_add rbldnsd%0a17c17%0a%3c $ doas useradd -m -d /home/rbl rbl%0a---%0a> # useradd -m -d /home/rbl rbl%0a20,21c20,22%0a%3c !!! zonefiles%0a%3c %0a---%0a> !!! editing the zonefiles%0a> lets make some zones!%0a> %0a42,44c43,45%0a%3c !!!rc.d service%0a%3c %0a%3c /etc/rc.d/rbldnsd:%0a---%0a> !!! setup the rc.d service%0a> time to make the rc.d script!%0a> %0a46c47,48%0a%3c %0a---%0a> # vi /etc/rc.d/rbldnsd%0a> %0a49,50c51,52%0a%3c daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.example.org:ip4set:naughty"%0a%3c %0a---%0a> daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.xfnw.coconut.ircnow.org:ip4set:naughty"%0a> %0a53a56%0a> %0a60,61c63,64%0a%3c $ doas rcctl enable rbldnsd%0a%3c $ doas rcctl start rbldnsd%0a---%0a> # rcctl enable rbldnsd%0a> # rcctl start rbldnsd%0a64c67%0a%3c !!!debugging%0a---%0a> !!! debugging it%0a80c83%0a%3c dig 102.76.60.41.dnsbl.example.org A%0a---%0a> dig 102.76.60.41.dnsbl.xfnw.coconut.ircnow.org A%0a102a106%0a> %0a104c108%0a%3c daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.example.org:ip4set:$(echo ipv4* | tr [[:space:]] ,) dnsbl.example.org:ip6trie:$(echo ipv6* | tr [[:space:]] ,) dnsbl.example.org:combined:$(echo combined* | tr [[:space:]] ,)"%0a---%0a> daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.xfnw.coconut.ircnow.org:ip4set:$(echo ipv4* | tr [[:space:]] ,) dnsbl.xfnw.coconut.ircnow.org:ip6trie:$(echo ipv6* | tr [[:space:]] ,) dnsbl.xfnw.coconut.ircnow.org:combined:$(echo combined* | tr [[:space:]] ,)"%0a +host:1629662299=198.251.81.133 +author:1627956120=xfnw +csum:1627956120=create page +diff:1627956120:1627956120:=1,115d0%0a%3c (:title Install Rbldnsd:)%0a%3c %0a%3c rbldnsd is a lightweight realtime dns-based banlist daemon. its commonly used to block email spammers and irc spam bots%0a%3c %0a%3c !! installation%0a%3c %0a%3c rbldnsd is in ports, its easiest to download it from there%0a%3c %0a%3c [@%0a%3c # pkg_add rbldnsd%0a%3c @]%0a%3c %0a%3c !!! making a user%0a%3c lets make a user for rbldnsd to chroot into%0a%3c %0a%3c [@%0a%3c # useradd -m -d /home/rbl rbl%0a%3c @]%0a%3c %0a%3c !!! editing the zonefiles%0a%3c lets make some zones!%0a%3c %0a%3c [@%0a%3c # su rbl%0a%3c $ cd%0a%3c $ mkdir zones%0a%3c $ vi zones/naughty%0a%3c @]%0a%3c %0a%3c rbldnsd zonefiles are a bit different than @@bind@@ or @@nsd@@ zonefiles, read the [[https://rbldnsd.io/documentation/rbldnsd.8.html|manpage]] or the [[https://rbldnsd.io/documentation/|website's shortened documentation]] for how they are written. below is a simple example.%0a%3c %0a%3c [@%0a%3c # just a normal ip%0a%3c 37.15.183.105%0a%3c # custom A response%0a%3c 41.60.76.102 :5%0a%3c # make a TXT record%0a%3c 45.48.17.20 this sent naughty spam%0a%3c # custom A response and TXT record%0a%3c 45.83.40.14 :7: this is an infected host%0a%3c @]%0a%3c %0a%3c !!! setup the rc.d service%0a%3c time to make the rc.d script!%0a%3c %0a%3c [@%0a%3c # vi /etc/rc.d/rbldnsd%0a%3c %0a%3c #!/bin/ksh%0a%3c %0a%3c daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.xfnw.coconut.ircnow.org:ip4set:naughty"%0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c pexp="rbldnsd .*"%0a%3c %0a%3c rc_cmd $1%0a%3c @]%0a%3c %0a%3c lets enable it to start on boot and turn it on%0a%3c %0a%3c [@%0a%3c # rcctl enable rbldnsd%0a%3c # rcctl start rbldnsd%0a%3c @]%0a%3c %0a%3c !!! debugging it%0a%3c if it fails, you can run the command from the @@daemon=@@ line as root and it should give you more verbose output. remember to @@rcctl restart rbldnsd@@ to make sure the rc.d file works after%0a%3c %0a%3c !!! delegate dns to it%0a%3c note that you would also put an @@A@@ record if you made rbldnsd listen on ipv4 too%0a%3c %0a%3c [@%0a%3c ns1.dnsbl 3600 IN AAAA 2602:fccf:1:1017::6%0a%3c dnsbl 3600 IN NS ns1.dnsbl%0a%3c @]%0a%3c %0a%3c !! test if it works%0a%3c assuming you have @@41.60.76.102@@ listed from the above example zone,%0a%3c reverse the octets and dig it!%0a%3c %0a%3c [@%0a%3c dig 102.76.60.41.dnsbl.xfnw.coconut.ircnow.org A%0a%3c @]%0a%3c %0a%3c !! finding ips to list%0a%3c %0a%3c !!! scraping proxy lists%0a%3c sometimes you can find websites listing proxy ips with [[https://www.google.com/search?q=46.166.142.214+proxy|google]]%0a%3c %0a%3c !!! using an api%0a%3c websites like [[https://shodan.io|shodan]] let you search for ips meeting certain criteria like a certain port open with a socks proxy etc%0a%3c %0a%3c !!! portscanning%0a%3c note that this is frowned upon by many hosting providers, so make sure%0a%3c you have permission, eg a Linode Researcher account, or else your host might ban you%0a%3c %0a%3c !! this section is probably a bad idea%0a%3c %0a%3c !!! globbing in the rc file%0a%3c since rbldnsd does not support globbing its zonefile names, you can do it with its rc%0a%3c file, so you do not have to manually edit it every time you make more zones.%0a%3c %0a%3c [@%0a%3c #!/bin/ksh%0a%3c %0a%3c cd /home/rbl/zones%0a%3c daemon="/usr/local/sbin/rbldnsd -ve -b 2602:fccf:1:1017::6 -u rbl:rbl -r /home/rbl -w zones dnsbl.xfnw.coconut.ircnow.org:ip4set:$(echo ipv4* | tr [[:space:]] ,) dnsbl.xfnw.coconut.ircnow.org:ip6trie:$(echo ipv6* | tr [[:space:]] ,) dnsbl.xfnw.coconut.ircnow.org:combined:$(echo combined* | tr [[:space:]] ,)"%0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c pexp="rbldnsd .*"%0a%3c %0a%3c rc_cmd $1%0a%3c @]%0a\ No newline at end of file%0a +host:1627956120=96.231.99.178 blob - /dev/null blob + f7107eb4e16b399e25eaa2f4dcad5e28d1360e28 (mode 644) --- /dev/null +++ wiki.d/Rbldnsd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +charset=UTF-8 +ctime=1627956120 +host=198.251.81.133 +name=Rbldnsd.RecentChanges +rev=2 +text=* [[Rbldnsd/Install]] . . . August 22, 2021, at 07:58 PM by [[~mkf]]: [=wiki-ish.=]%0a +time=1629662299 blob - /dev/null blob + 642144575e807b993631a99655ee9166e84070e3 (mode 644) --- /dev/null +++ wiki.d/Rcctl.Rcctl,del-1627916586 @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627911723 +host=198.251.81.133 +name=Rcctl.Rcctl +rev=3 +targets= +text=rcctl is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0athankfully since rcctl is part of base system, nothing is needed to install it.%0a%0a%0a!!commands%0a%0a!!!ls%0a%0a@@rcctl ls@@ can used for list-ing kinds of services%0aexamples:%0a%0a[@%0a$ doas rcctl ls failed%0a@]%0a[@%0a$ doas rcctl ls on%0a@]%0a%0a!!!check%0a@@rcctl check@@ can used to check if a service is still running or not.%0afor example:%0a[@%0a$ doas rcctl check vmd%0a@]%0a%0aif vmd is running:%0a[@%0avmd(ok)%0a@]%0a%0aotherwise:%0a[@%0avmd(failed)%0a@]%0a%0a!!!enable%0a@@rcctl enable@@ enables services, making them executed on next boot.%0ait doesn't show anything after running.%0asee start for starting a service without rebooting.%0a[@%0a$ doas rcctl enable xenodm%0a@]%0a%0a!!!disable%0a@@rcctl disable@@ disables services, and don't let them to run on next boot. you might want to stop these as well.%0a[@%0arcctl disable xendom%0a@]%0a%0a!!!start%0a@@rcctl start@@ is for starting services which are allowed to run.%0aif you try to run a disabled service, following will happen:%0a[@%0a$ doas rcctl start sndiod%0a/etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a@]%0a%0ayou can enable it's service, or use @@rcctl start -f@@ to start it without enabling it.%0a%0ain both cases, you will see this:%0a[@%0asndiod(ok)%0a@]%0a%0a!!!stop%0a@@rcctl stop@@ stops running services, if a service is not running or not enabled, it won't say anything.%0a[@ %0a$doas rcctl stop sndiod%0asndiod(ok)%0a@]%0a%0a!!!restart%0a@@rcctl restart@@ it first stop services, then starts them again (thats why it shows two). this is useful for when you have updated configurations. however, you most use reload always. (unless service is stopped or it doesn't support reload)%0a[@%0a$doas rcctl restart smtpd%0asmtpd(ok)%0asmtpd(ok)%0a@]%0a%0a!!!reload%0a@@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected. not all services support this action.%0ait will send a signal to called service in order to reload it:%0a[@%0a$ doas rcctl reload nsd%0ansd(ok)%0a@]%0a%0a!!!flag%0asome deamons ship with custom flags to change their functionality instad of a config file, you can change them with @@flags@@ if they are enabled.%0aapmd is a example of following, you can set @@-H@ to apmd to set maximum perforamce mode on apmd%0a[@%0a$ doas rcctl set apmd flags -H%0a@]%0a%0a!!!get%0ayou can get information from services (no matter if they are running or not)%0ausing @@rcctl get@@:%0a[@%0a$ rcctl get pflogd%0apflogd_class=daemon%0apflogd_flags=%0apflogd_logger=%0apflogd_rtable=0%0apflogd_timeout=30%0apflogd_user=root%0a@] +time=1627914973 +author:1627914973=mkf +diff:1627914973:1627914536:=19d18%0a%3c !!!check%0a36d34%0a%3c !!!enable%0a44d41%0a%3c !!!disable%0a50d46%0a%3c !!!start%0a65d60%0a%3c !!!stop%0a72d66%0a%3c !!!restart%0a79,80d72%0a%3c %0a%3c !!!reload%0a88d79%0a%3c !!!flag%0a93,105d83%0a%3c @]%0a%3c %0a%3c !!!get%0a%3c you can get information from services (no matter if they are running or not)%0a%3c using @@rcctl get@@:%0a%3c [@%0a%3c $ rcctl get pflogd%0a%3c pflogd_class=daemon%0a%3c pflogd_flags=%0a%3c pflogd_logger=%0a%3c pflogd_rtable=0%0a%3c pflogd_timeout=30%0a%3c pflogd_user=root%0a +host:1627914973=198.251.81.133 +author:1627914536=mkf +diff:1627914536:1627911723:=42c42,43%0a%3c @@rcctl disable@@ disables services, and don't let them to run on next boot. you might want to stop these as well.%0a---%0a> @@rcctl start@@ is for starting services which are allowed to run.%0a> if you try to run a disabled service, following will happen:%0a44c45,46%0a%3c rcctl disable xendom%0a---%0a> $ doas rcctl start sndiod%0a> /etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a46,84c48,51%0a%3c %0a%3c @@rcctl start@@ is for starting services which are allowed to run.%0a%3c if you try to run a disabled service, following will happen:%0a%3c [@%0a%3c $ doas rcctl start sndiod%0a%3c /etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a%3c @]%0a%3c %0a%3c you can enable it's service, or use @@rcctl start -f@@ to start it without enabling it.%0a%3c %0a%3c in both cases, you will see this:%0a%3c [@%0a%3c sndiod(ok)%0a%3c @]%0a%3c %0a%3c @@rcctl stop@@ stops running services, if a service is not running or not enabled, it won't say anything.%0a%3c [@ %0a%3c $doas rcctl stop sndiod%0a%3c sndiod(ok)%0a%3c @]%0a%3c %0a%3c @@rcctl restart@@ it first stop services, then starts them again (thats why it shows two). this is useful for when you have updated configurations. however, you most use reload always. (unless service is stopped or it doesn't support reload)%0a%3c [@%0a%3c $doas rcctl restart smtpd%0a%3c smtpd(ok)%0a%3c smtpd(ok)%0a%3c @]%0a%3c @@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected. not all services support this action.%0a%3c it will send a signal to called service in order to reload it:%0a%3c [@%0a%3c $ doas rcctl reload nsd%0a%3c nsd(ok)%0a%3c @]%0a%3c %0a%3c some deamons ship with custom flags to change their functionality instad of a config file, you can change them with @@flags@@ if they are enabled.%0a%3c apmd is a example of following, you can set @@-H@ to apmd to set maximum perforamce mode on apmd%0a%3c [@%0a%3c $ doas rcctl set apmd flags -H%0a%3c @]%0a\ No newline at end of file%0a---%0a> you can enable it's service, or use @@rcctl %0a> %0a> @@rcctl restart@@%0a> @@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected.%0a +host:1627914536=198.251.81.133 +author:1627911723=mkf +diff:1627911723:1627911723:=1,51d0%0a%3c rcctl is a utility to manage @@/etc/rc.conf.local@@, for running, killing and managing system services.%0a%3c thankfully since rcctl is part of base system, nothing is needed to install it.%0a%3c %0a%3c %0a%3c !!commands%0a%3c %0a%3c !!!ls%0a%3c %0a%3c @@rcctl ls@@ can used for list-ing kinds of services%0a%3c examples:%0a%3c %0a%3c [@%0a%3c $ doas rcctl ls failed%0a%3c @]%0a%3c [@%0a%3c $ doas rcctl ls on%0a%3c @]%0a%3c %0a%3c @@rcctl check@@ can used to check if a service is still running or not.%0a%3c for example:%0a%3c [@%0a%3c $ doas rcctl check vmd%0a%3c @]%0a%3c %0a%3c if vmd is running:%0a%3c [@%0a%3c vmd(ok)%0a%3c @]%0a%3c %0a%3c otherwise:%0a%3c [@%0a%3c vmd(failed)%0a%3c @]%0a%3c %0a%3c @@rcctl enable@@ enables services, making them executed on next boot.%0a%3c it doesn't show anything after running.%0a%3c see start for starting a service without rebooting.%0a%3c [@%0a%3c $ doas rcctl enable xenodm%0a%3c @]%0a%3c %0a%3c @@rcctl start@@ is for starting services which are allowed to run.%0a%3c if you try to run a disabled service, following will happen:%0a%3c [@%0a%3c $ doas rcctl start sndiod%0a%3c /etc/rc.d/sndiod: need -f to force start since sndiod_flags=NO%0a%3c @]%0a%3c you can enable it's service, or use @@rcctl %0a%3c %0a%3c @@rcctl restart@@%0a%3c @@rcctl reload@@ is used to tell a service to reload it's configuration files. it's useful for places such as an irc server which restarting will cause all users getting disconnected.%0a +host:1627911723=198.251.81.133 blob - /dev/null blob + ebdbf9ddc1e14d7723669e44d5e6524ad393ecd3 (mode 644) --- /dev/null +++ wiki.d/Rcctl.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1627911723 +host=198.251.81.133 +name=Rcctl.RecentChanges +rev=4 +text=* [[Rcctl/Rcctl]] . . . August 02, 2021, at 03:03 PM by [[~mkf]]: [==]%0a +time=1627916586 blob - /dev/null blob + 51b4795ff825e8a06c07c95f153061d08d24b681 (mode 644) --- /dev/null +++ wiki.d/Rcd.Configure @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +author=mkf +charset=UTF-8 +csum= +ctime=1622817059 +host=2.178.173.183 +name=Rcd.Configure +rev=2 +targets=Irc.Hopm +text=(:Daemon control and mangement system (rcctl):)%0aThe rcctl utility can enable or disable a base system service or a base system or package daemon in rc.conf.local or display its configuration and status. For a daemon, it can also change the command line arguments, the user to run as, the rc.d action timeout or call its rc.d daemon control script.%0a%0aThe /etc/rc.d directory contains shell scripts to start, stop, and reconfigure daemon programs (“services”).%0a%0a**Services installed from packages may be started at boot time in the order specified by the pkg_scripts variable from rc.conf the order will be reversed during shutdown. Services comprising OpenBSD base are started by rc.**%0a%0aThe options are as follows:%0a%0a-d........Setting this option will print the function names as they are called and prevent the rc.subr framework from redirecting stdout and stderr to /dev/null. This is used to allow debugging of failed actions.%0a%0a-f.........This option only affects the start action. It will forcibly start the daemon whatever value daemon_flags is set to. If daemon_flags is set to “NO”, execution will continue with the script's own defaults unless other flags are specified.%0a%0aEach such script responds to the following actions:%0a%0astart...........-Start the service, if not already running.\\%0astop...........-Stop the service.\\%0areload.......-Tell the daemon to reload its configuration.\\%0arestart.......-Perform a stop, then a start.\\%0acheck.........-Return 0 if the daemon is running or 1 if it is not.\\%0a%0a%0a%0a!! Run a process as system daemon%0a * This topic shows how to run a simple process as priviledged system daemon which enable it be started/stopped/enabled by rcctl daemon control system%0a * Here we'll use hopm process to explain how to launch it into system daemon.%0a * For this to work , we'll first install hopm as user hopm, group hopm as usual refer more of it [[irc/hopm|hopm]]%0a * Then we'll create a rc.d script in /etc/rc.d dir by name of "hopm"%0a * Then We'll lauch the process by calling "rcctl start hopm" with root priviledge%0a%0a!! Creating rc.d file for process (hopm)%0aNow give following commands -%0a[@%0adoas cd /etc/rc.d%0adoas nano hopm%0a@]%0aIn nano editor add the following code daemon should be set equal to "/path/to/daemon"%0a[@%0a#!/bin/ksh%0adaemon="/home/hopm/hopm/bin/hopm"%0a. /etc/rc.d/rc.subr%0arc_cmd $1%0a@]%0asave the file and run the following command.%0a[@%0a$ doas rcctl start hopm%0a$ doas rcctl enable hopm%0a@]%0a%0aFirst command will start the processs(hopm) with root priviledge system daemon and second command will enable it to be restarted automatically at booting up.%0a +time=1628956892 +author:1628956892=mkf +diff:1628956892:1622817059:minor=1c1%0a%3c (:Daemon control and mangement system (rcctl):)%0a---%0a> ===== Daemon control and mangement system (rcctl) =====%0a24c24%0a%3c !! Run a process as system daemon%0a---%0a> ===== Run a process as system daemon =====%0a27c27%0a%3c * For this to work , we'll first install hopm as user hopm, group hopm as usual refer more of it [[irc/hopm|hopm]]%0a---%0a> * For this to work , we'll first install hopm as user hopm, group hopm as usual refer more of it here [[https://ircnow.org/kb/doku.php?id=openbsd:irc:hopm]]%0a30,31c30%0a%3c %0a%3c !! Creating rc.d file for process (hopm)%0a---%0a> ===== Creating rc.d file for process (hopm) =====%0a33c32%0a%3c [@%0a---%0a> %3ccode>%0a36c35%0a%3c @]%0a---%0a> %3c/code>%0a38c37%0a%3c [@%0a---%0a> %3ccode>%0a43c42%0a%3c @]%0a---%0a> %3c/code>%0a45,49c44,47%0a%3c [@%0a%3c $ doas rcctl start hopm%0a%3c $ doas rcctl enable hopm%0a%3c @]%0a%3c %0a---%0a> %3ccode>%0a> doas rcctl start hopm%0a> doas rcctl enable hopm%0a> %3c/code>%0a50a49,50%0a> %0a> * Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a +host:1628956892=2.178.173.183 +author:1622817059=jrmu +diff:1622817059:1622817059:=1,50d0%0a%3c ===== Daemon control and mangement system (rcctl) =====%0a%3c The rcctl utility can enable or disable a base system service or a base system or package daemon in rc.conf.local or display its configuration and status. For a daemon, it can also change the command line arguments, the user to run as, the rc.d action timeout or call its rc.d daemon control script.%0a%3c %0a%3c The /etc/rc.d directory contains shell scripts to start, stop, and reconfigure daemon programs (“services”).%0a%3c %0a%3c **Services installed from packages may be started at boot time in the order specified by the pkg_scripts variable from rc.conf the order will be reversed during shutdown. Services comprising OpenBSD base are started by rc.**%0a%3c %0a%3c The options are as follows:%0a%3c %0a%3c -d........Setting this option will print the function names as they are called and prevent the rc.subr framework from redirecting stdout and stderr to /dev/null. This is used to allow debugging of failed actions.%0a%3c %0a%3c -f.........This option only affects the start action. It will forcibly start the daemon whatever value daemon_flags is set to. If daemon_flags is set to “NO”, execution will continue with the script's own defaults unless other flags are specified.%0a%3c %0a%3c Each such script responds to the following actions:%0a%3c %0a%3c start...........-Start the service, if not already running.\\%0a%3c stop...........-Stop the service.\\%0a%3c reload.......-Tell the daemon to reload its configuration.\\%0a%3c restart.......-Perform a stop, then a start.\\%0a%3c check.........-Return 0 if the daemon is running or 1 if it is not.\\%0a%3c %0a%3c %0a%3c %0a%3c ===== Run a process as system daemon =====%0a%3c * This topic shows how to run a simple process as priviledged system daemon which enable it be started/stopped/enabled by rcctl daemon control system%0a%3c * Here we'll use hopm process to explain how to launch it into system daemon.%0a%3c * For this to work , we'll first install hopm as user hopm, group hopm as usual refer more of it here [[https://ircnow.org/kb/doku.php?id=openbsd:irc:hopm]]%0a%3c * Then we'll create a rc.d script in /etc/rc.d dir by name of "hopm"%0a%3c * Then We'll lauch the process by calling "rcctl start hopm" with root priviledge%0a%3c ===== Creating rc.d file for process (hopm) =====%0a%3c Now give following commands -%0a%3c %3ccode>%0a%3c doas cd /etc/rc.d%0a%3c doas nano hopm%0a%3c %3c/code>%0a%3c In nano editor add the following code daemon should be set equal to "/path/to/daemon"%0a%3c %3ccode>%0a%3c #!/bin/ksh%0a%3c daemon="/home/hopm/hopm/bin/hopm"%0a%3c . /etc/rc.d/rc.subr%0a%3c rc_cmd $1%0a%3c %3c/code>%0a%3c save the file and run the following command.%0a%3c %3ccode>%0a%3c doas rcctl start hopm%0a%3c doas rcctl enable hopm%0a%3c %3c/code>%0a%3c First command will start the processs(hopm) with root priviledge system daemon and second command will enable it to be restarted automatically at booting up.%0a%3c %0a%3c * Syntax errors when hopm is running in foreground. This is either the result of missing brackets where needed in config file, or that the file has DOS encodings. See [[https://github.com/ircd-hybrid/hopm/issues/22#issuecomment-301276082]] here. The missing brackets where it was needed may come from the previous section, compared to the line/s where it is indicated by hopm when executed.%0a +host:1622817059=38.81.163.143 blob - /dev/null blob + 8ebc9739aa4e408282c2c00d56bd5ac38a7c3a1f (mode 644) --- /dev/null +++ wiki.d/Rcd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +charset=UTF-8 +ctime=1622817059 +host=2.178.173.183 +name=Rcd.RecentChanges +rev=2 +text=* [[Rcd/Configure]] . . . August 14, 2021, at 04:01 PM by [[~mkf]]: [==]%0a +time=1628956892 blob - /dev/null blob + 50d22f19cd90011f988f37ebf404cb8d3cdfd0ea (mode 644) --- /dev/null +++ wiki.d/Relay.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1620400859 +host=198.251.81.119 +name=Relay.RecentChanges +rev=4 +text=* [[Relay/Relay]] . . . May 12, 2021, at 09:10 AM by [[~jrmu]]: [==]%0a +time=1620810644 blob - /dev/null blob + b38ea7e389df668ade11615db0454318bc545ade (mode 644) --- /dev/null +++ wiki.d/Relay.Relay @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1620400859 +host=198.251.81.119 +name=Relay.Relay +rev=4 +targets= +text=(:title The Union Relay: Bringing Federation to IRC:)%0a%0aAn IRC Relay that unites IRC networks together.%0a%0aFeatures:%0a%0a* Core is pure C, inspired by [[http://tools.suckless.org/sic|sic]] and [[https://c9x.me/irc/|irc.c]]%0a* Supports client-to-server connections only, no server-to-server connections%0a* Each relayed user will appear in the form of username@server.com, to create a unique namespace for each network%0a* Supports scripting filters that inspect and modify messages.%0a * Should eventually work in any number of interpreted languages. Should eventually allow the use of yahoo open nsfw.%0a* Relays messages to networks without requiring any special channel op or operator permission%0a* Simple configuration with sensible defaults%0a* Permissively licensed (IRCNow license) +time=1620810644 +title=The Union Relay: Bringing Federation to IRC +author:1620810644=jrmu +diff:1620810644:1620810436:=1,2c1,2%0a%3c (:title The Union Relay: Bringing Federation to IRC:)%0a%3c %0a---%0a> (:title The Union Relay: Federating IRC:)%0a> %0a9d8%0a%3c * Each relayed user will appear in the form of username@server.com, to create a unique namespace for each network%0a +host:1620810644=198.251.81.119 +author:1620810436=jrmu +diff:1620810436:1620401090:=3,4c3,4%0a%3c An IRC Relay that unites IRC networks together.%0a%3c %0a---%0a> An IRC Relay lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a> %0a7,12c7,9%0a%3c * Core is pure C, inspired by [[http://tools.suckless.org/sic|sic]] and [[https://c9x.me/irc/|irc.c]]%0a%3c * Supports client-to-server connections only, no server-to-server connections%0a%3c * Supports scripting filters that inspect and modify messages.%0a%3c * Should eventually work in any number of interpreted languages. Should eventually allow the use of yahoo open nsfw.%0a%3c * Relays messages to networks without requiring any special channel op or operator permission%0a%3c * Simple configuration with sensible defaults%0a---%0a> * Core is pure C%0a> * Supports scripting filters in any number of interpreted languages. Designed to work with yahoo open nsfw%0a> * Relays messages to networks without requiring any permission%0a +host:1620810436=198.251.81.119 +author:1620401090=jrmu +diff:1620401090:1620400859:=8c8%0a%3c * Supports scripting filters in any number of interpreted languages. Designed to work with yahoo open nsfw%0a---%0a> * Supports scripting in any number of interpreted languages%0a +host:1620401090=198.251.81.119 +author:1620400859=jrmu +diff:1620400859:1620400859:=1,10d0%0a%3c (:title The Union Relay: Federating IRC:)%0a%3c %0a%3c An IRC Relay lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a%3c %0a%3c Features:%0a%3c %0a%3c * Core is pure C%0a%3c * Supports scripting in any number of interpreted languages%0a%3c * Relays messages to networks without requiring any permission%0a%3c * Permissively licensed (IRCNow license)%0a\ No newline at end of file%0a +host:1620400859=198.251.81.119 blob - /dev/null blob + 17bd3ace05976f422f4f34d27987e3ef656229c4 (mode 644) --- /dev/null +++ wiki.d/Relayd.Acceleration @@ -0,0 +1,208 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614249312 +host=38.87.162.47 +name=Relayd.Acceleration +rev=65 +targets=Pf.Guide,Leafnode.Install,Tcpip.Sockets,Znc.Relayd,Openhttpd.Configure,Dns.Records,Host.Usage,Openhttpd.Hosting,Znc.Chroot,Telnet.Http,Netcat.Http,Acme-client.Configure,Ln.Intro,Ip.Myaddress,Openbsd.Ddos,Openbsd.Loginconf,Openbsd.Rcctl,Openssl.Http,Openbsd.Syslogd +text=(:title TLS Acceleration with relayd:)%0a%0a[[https://bsd.plumbing/about.html|relayd]] can provide secure TLS acceleration.%0a%0aFeatures:%0a# Load balancer%0a# Application layer gateway%0a# Transparent proxy%0a# SSL/TLS gateway%0a%0aPros:%0a# Simpler to configure than haproxy or stunnel%0a# Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a# Secure%0a%0a!! Introduction%0a%0aSometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption. It serves all its content as plaintext, exposing users' data to eavesdropping and forgery. When this happens, you can use relayd to provide TLS. This will encrypt connections and protect your users.%0a%0aAnother time relayd is useful is when we have two servers that both need to listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[znc/relayd|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port, 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a%0a!! Before You Begin%0a%0a!!! Configure DNS%0a%0aBefore you begin, you will want to make sure [[dns/records|DNS records]] are configured properly. You will want to use [[host/usage|host]] to test if your hostnames are resolving properly:%0a%0a[@%0a$ host service1.example.com%0aservice1.example.com has address 192.168.1.1%0aservice1.example.com has IPv6 address 2001:db8::%0a@]%0a%0a!!! Check Server in Plaintext%0a%0aBefore using relayd, you must make sure your server can serve its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a%0a# For webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]].%0a# For public bouncers, please see the [[znc/chroot|znc chroot guide]].%0a%0aAfterward, you will want to test the setup using the [[telnet/http|telnet]] or [[netcat/http|netcat]] troubleshooting guides. openhttpd usually listens on port 80, and on IRCNow, the convention is to use port 1338 for znc's web server.%0a%0a!!! httpd must NOT listen on port 443%0a%0a'''WARNING''': If you are using relayd for TLS acceleration for openhttpd, make sure openhttpd does '''not''' have a listener on port 443. Look for blocks like the ones below:%0a%0a[@%0aserver "example.com" {%0a listen on * tls port 443%0a tls {%0a certificate "/etc/ssl/example.com.fullchain.pem"%0a key "/etc/ssl/private/example.com.key"%0a }%0a location "/pub/*" {%0a directory auto index%0a }%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a}%0a@]%0a%0aNotice the line @@listen on * tls port 443@@ and the @@tls {...}@@ block. If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a%0aIn the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 80.%0a%0a!!! Request SSL Certs%0a%0aYou will need the SSL certs for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%0aBy default, [[https://man.openbsd.org/relayd|relayd]] searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/private/name:port.key@@ for the public/private keypair. If those are not present, it uses @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@.%0a%0aIf your public cert and private key have different names, you should update [[acme-client/configure|/etc/acme-client.conf]]. It's recommended to use @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@, where @@name@@ is replaced with your actual domain name.%0a%0a'''Optional''': If you used the template from @@/etc/examples/acme-client.conf@@, your public cert ends in .fullchain.pem instead of .crt. In that case, you can create [[ln/intro|symbolic links]]:%0a%0a[@%0a$ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a@]%0a%0aYou will want to replace @@example.com@@ with your real domain. This will allow relayd to detect your public key. However, it is still highly recommended that you change [[acme-client/configure|acme-client.conf]] to create public keys that end with the extension @@.crt@@.%0a%0a!! Edit relayd.conf%0a%0aLet's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. Here is what we will put, one block at a time:%0a%0a[@%0aip4="192.168.1.1"%0aip6="2001:db8::"%0atable %3cservice1> { 127.0.0.1 }%0atable %3cservice2> { 127.0.0.1 }%0alog connection%0a@]%0a%0aReplace @@192.168.1.1@@ and @@2001:db8::@@ with your [[ip/myaddress|real IPv4 and IPv6 address]]. Make sure the IPv4 is [[openbsd/ddos|DDoS-filtered]] if you have that option.%0a%0aReplace @@service1@@ and @@service2@@ with the names of your real services, such as bnc, www, and mail.%0a%0aDo '''NOT''' replace @@127.0.0.1@@. You want relayd to forward its requests to the web server listening on localhost.%0a%0a[@%0ahttp protocol https {%0a match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a match request header append "X-Forwarded-By" \%0a value "$SERVER_ADDR:$SERVER_PORT"%0a match request header set "Connection" value "close"%0a tcp { sack, backlog 128 }%0a tls { keypair service1.example.com }%0a tls { keypair service2.example.com }%0a match request header "Host" value "service1.example.com" forward to %3cservice1>%0a match request header "Host" value "service2.example.com" forward to %3cservice2>%0a}%0a@]%0a%0aHere we define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a%0aWe turn on selective acknowledgments and set the maximum queue to 128 connections in the tcp block.%0a%0aWe define the keypair names. Below is a table which shows the order in which relayd searches for them. Replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a%0aThe last two lines in relayd.conf forward to the proper service based on the Host HTTP header.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Hostname: service1.example.com ||||||%0a||! Priority ||! Public Cert ||! Private Key ||%0a|| 1 || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a|| 2 || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Hostname: service2.example.com ||||||%0a||! Priority ||! Public Cert ||! Private Key ||%0a|| 1 || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a|| 2 || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a%0aThe next section in relayd.conf indicates what port relayd should listen on, and where to forward:%0a%0a[@%0arelay wwwtls {%0a listen on $ip4 port 443 tls%0a protocol https%0a forward to %3cservice1> port 80 check icmp%0a forward to %3cservice2> port 80 check icmp%0a}%0arelay www6tls {%0a listen on $ip6 port 443 tls%0a protocol https%0a forward to %3cservice1> port 80 check icmp%0a forward to %3cservice2> port 80 check icmp%0a}%0a@]%0a%0aReplace @@service1@@ and @@service2@@ with the names of your real services.%0a%0aWe create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%0a!! Complete relayd.conf%0a%0aHere is the entire [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]] without commentary:%0a%0aAttach:relayd.conf%0a%0a[@%0aip4="192.168.1.1"%0aip6="2001:db8::"%0atable %3cservice1> { 127.0.0.1 }%0atable %3cservice2> { 127.0.0.1 }%0alog connection%0a%0ahttp protocol https {%0a match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a match request header append "X-Forwarded-By" \%0a value "$SERVER_ADDR:$SERVER_PORT"%0a match request header set "Connection" value "close"%0a tcp { sack, backlog 128 }%0a tls { keypair service1.example.com }%0a tls { keypair service2.example.com }%0a match request header "Host" value "service1.example.com" forward to %3cservice1>%0a match request header "Host" value "service2.example.com" forward to %3cservice2>%0a}%0a%0arelay wwwtls {%0a listen on $ip4 port 443 tls%0a protocol https%0a forward to %3cservice1> port 80 check icmp%0a forward to %3cservice2> port 80 check icmp%0a}%0arelay www6tls {%0a listen on $ip6 port 443 tls%0a protocol https%0a forward to %3cservice1> port 80 check icmp%0a forward to %3cservice2> port 80 check icmp%0a}%0a@]%0a%0a!! Login class permissions%0a%0aIf you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[openbsd/loginconf|/etc/login.conf]]:%0a%0a[@%0arelayd:\%0a :openfiles=4096:\%0a :stacksize-cur=96M:\%0a :stacksize-max=96M:\%0a :tc=daemon:%0a@]%0a%0aMake sure there is no @@login.conf.db@@ database, which would prevent the changes in [[openbsd/loginconf|login.conf]] from being applied:%0a%0a[@%0a$ doas rm /etc/login.conf.db%0a@]%0a%0a!! Starting relayd%0a%0aTo start relayd, use [[openbsd/rcctl|rcctl]]:%0a%0a[@%0a$ doas rcctl enable relayd%0a$ doas rcctl start relayd%0a@]%0a%0a'''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a%0a[@%0a$ doas pfctl -e%0a@]%0a%0aTo test relayd, use [[openssl/http|openssl]].%0a%0a!!! Syslogd%0a%0aThe setting @@log connection@@ produces enormous logs which will quickly fill up @@/var/log/daemon@@. To avoid this, configure [[openbsd/syslogd|syslogd]] to send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%0aIn addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%0a!! Configuring syslog%0a%0aAll log messages from relayd should go to [@/var/log/relayd.log@]. To do this, insert these three lines starting at line 3 (at the top) into [@/etc/syslog.conf@]:%0a%0a[@%0a!!relayd%0a*.* /var/log/relayd.log%0a!*%0a@]%0a%0aThis directs all logs from relayd to go straight to /var/log/relayd.log.%0a%0aNext, create the file /var/log/relayd.log and restart syslogd:%0a%0a[@%0a$ doas touch /var/log/relayd.log%0a$ doas rcctl restart syslogd%0a@]%0a%0a!! Troubleshooting%0a%0aIf relayd fails to start, you will see this message:%0a%0a[@%0arelayd(failed)%0a@]%0a%0aFirst, check the conf file to see if there are any errors:%0a%0a[@%0a$ doas relayd -n%0a@]%0a%0aWhen properly configured, relayd will say @@configuration OK@@.%0a%0a!!! Sample Errors%0a%0a# @@/etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls@@\\%0aCheck line NN. Your keypair may be missing, have the wrong permissions, or are not labeled correctly.%0a# @@/etc/relayd.conf:NN: syntax error@@%0aCheck line NN for syntax errors.%0a%0aTo turn on debugging, first stop any running instances of relayd, then run it in the foreground:%0a%0a[@%0a$ doas rcctl stop relayd%0a$ doas relayd -dvv%0a@]%0a%0a@@-d@@ is for debug and @@-v@@ is to increase verbosity.%0a%0a!! Common Mistakes%0a%0a# Make sure httpd is '''not''' also listening on port 443. Only one daemon can bind to the same [[tcpip/sockets|socket]] at any time.%0a# Make sure [[dns/records|DNS records]] are properly configured; test with [[host/usage|host]]%0a# Make sure znc is listening on port 1338; test with [[netcat/http|netcat]] or [[telnet/http|telnet]]%0a# Make sure [[pf/guide|packet filter]] is turned on%0a +time=1636212106 +title=TLS Acceleration with relayd +author:1636212106=jrmu +diff:1636212106:1636212059:minor= +host:1636212106=38.87.162.47 +author:1636212059=jrmu +diff:1636212059:1636038705:minor=41c41%0a%3c Afterward, you will want to test the setup using the [[telnet/http|telnet]] or [[netcat/http|netcat]] troubleshooting guides. openhttpd usually listens on port 80, and on IRCNow, the convention is to use port 1338 for znc's web server.%0a---%0a> Afterward configuration, you will want to test the setup using the [[telnet/http|telnet]] or [[netcat/http|netcat]] troubleshooting guides. openhttpd usually listens on port 80, and on IRCNow, the convention is to use port 1338 for znc's web server.%0a +host:1636212059=38.87.162.47 +author:1636038705=jrmu +diff:1636038705:1636038179:=120,121c120,121%0a%3c We define the keypair names. Below is a table which shows the order in which relayd searches for them. Replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a%3c %0a---%0a> We define the keypair names. Below is a table which shows the order in which relayd searches for them. You will want to replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a> %0a153,154d152%0a%3c Replace @@service1@@ and @@service2@@ with the names of your real services.%0a%3c %0a160,161d157%0a%3c %0a%3c Attach:relayd.conf%0a +host:1636038705=38.87.162.47 +author:1636038179=jrmu +diff:1636038179:1636035501:=76c76%0a%3c '''Optional''': If you used the template from @@/etc/examples/acme-client.conf@@, your public cert ends in .fullchain.pem instead of .crt. In that case, you can create [[ln/intro|symbolic links]]:%0a---%0a> '''Optional''': If your public cert ends in .fullchain.pem instead of .crt, you can create [[ln/intro|symbolic links]]:%0a +host:1636038179=38.87.162.47 +author:1636035501=jrmu +diff:1636035501:1636035305:=287,289c287,290%0a%3c # Make sure [[dns/records|DNS records]] are properly configured; test with [[host/usage|host]]%0a%3c # Make sure znc is listening on port 1338; test with [[netcat/http|netcat]] or [[telnet/http|telnet]]%0a%3c # Make sure [[pf/guide|packet filter]] is turned on%0a---%0a> # Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a> # Make sure nsd is set up properly%0a> # Make sure znc is listening on port 1338%0a> # Make sure packet filter is turned on%0a +host:1636035501=38.87.162.47 +author:1636035305=jrmu +diff:1636035305:1636024894:=227,236c227,230%0a%3c !!! Syslogd%0a%3c %0a%3c The setting @@log connection@@ produces enormous logs which will quickly fill up @@/var/log/daemon@@. To avoid this, configure [[openbsd/syslogd|syslogd]] to send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%3c %0a%3c In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%3c %0a%3c !! Configuring syslog%0a%3c %0a%3c All log messages from relayd should go to [@/var/log/relayd.log@]. To do this, insert these three lines starting at line 3 (at the top) into [@/etc/syslog.conf@]:%0a%3c %0a---%0a> !! Troubleshooting%0a> %0a> If relayd fails to start, you will see this message:%0a> %0a238,240c232%0a%3c !!relayd%0a%3c *.* /var/log/relayd.log%0a%3c !*%0a---%0a> relayd(failed)%0a243,246c235,236%0a%3c This directs all logs from relayd to go straight to /var/log/relayd.log.%0a%3c %0a%3c Next, create the file /var/log/relayd.log and restart syslogd:%0a%3c %0a---%0a> First, check the conf file to see if there are any errors:%0a> %0a248,249c238%0a%3c $ doas touch /var/log/relayd.log%0a%3c $ doas rcctl restart syslogd%0a---%0a> $ doas relayd -n%0a252,265d240%0a%3c !! Troubleshooting%0a%3c %0a%3c If relayd fails to start, you will see this message:%0a%3c %0a%3c [@%0a%3c relayd(failed)%0a%3c @]%0a%3c %0a%3c First, check the conf file to see if there are any errors:%0a%3c %0a%3c [@%0a%3c $ doas relayd -n%0a%3c @]%0a%3c %0a284c259,269%0a%3c !! Common Mistakes%0a---%0a> !!! %0a> %0a> [@%0a> log connection%0a> @]%0a> %0a> '''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a> %0a> In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a> %0a> !!! Common Mistakes%0a +host:1636035305=38.87.162.47 +author:1636024894=jrmu +diff:1636024894:1635959543:=22,35c22,23%0a%3c !! Before You Begin%0a%3c %0a%3c !!! Configure DNS%0a%3c %0a%3c Before you begin, you will want to make sure [[dns/records|DNS records]] are configured properly. You will want to use [[host/usage|host]] to test if your hostnames are resolving properly:%0a%3c %0a%3c [@%0a%3c $ host service1.example.com%0a%3c service1.example.com has address 192.168.1.1%0a%3c service1.example.com has IPv6 address 2001:db8::%0a%3c @]%0a%3c %0a%3c !!! Check Server in Plaintext%0a%3c %0a---%0a> !! Check Server in Plaintext%0a> %0a43,44c31,32%0a%3c !!! httpd must NOT listen on port 443%0a%3c %0a---%0a> !! httpd must NOT listen on port 443%0a> %0a68,69c56,57%0a%3c !!! Request SSL Certs%0a%3c %0a---%0a> !! Request SSL Certs%0a> %0a96,101c84,85%0a%3c Replace @@192.168.1.1@@ and @@2001:db8::@@ with your [[ip/myaddress|real IPv4 and IPv6 address]]. Make sure the IPv4 is [[openbsd/ddos|DDoS-filtered]] if you have that option.%0a%3c %0a%3c Replace @@service1@@ and @@service2@@ with the names of your real services, such as bnc, www, and mail.%0a%3c %0a%3c Do '''NOT''' replace @@127.0.0.1@@. You want relayd to forward its requests to the web server listening on localhost.%0a%3c %0a---%0a> Replace ip4 and ip6 with the actual IPv4 and IPv6 address you want to listen on. Make sure the IPv4 is DDoS-filtered if you have that option.%0a> %0a109,110c93,94%0a%3c tls { keypair service1.example.com }%0a%3c tls { keypair service2.example.com }%0a---%0a> tls { keypair service1.example.com%0a> keypair service2.example.com }%0a120,123c104,105%0a%3c We define the keypair names. Below is a table which shows the order in which relayd searches for them. You will want to replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a%3c %0a%3c The last two lines in relayd.conf forward to the proper service based on the Host HTTP header.%0a%3c %0a---%0a> We then define the keypair names. Here's where relayd searches for them:%0a> %0a125,137c107,113%0a%3c ||! Hostname: service1.example.com ||||||%0a%3c ||! Priority ||! Public Cert ||! Private Key ||%0a%3c || 1 || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a%3c || 2 || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Hostname: service2.example.com ||||||%0a%3c ||! Priority ||! Public Cert ||! Private Key ||%0a%3c || 1 || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a%3c || 2 || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a%3c %0a%3c The next section in relayd.conf indicates what port relayd should listen on, and where to forward:%0a%3c %0a---%0a> ||! Name ||! Public Cert ||! Private Key ||%0a> || name || /etc/ssl/name:443.crt || /etc/ssl/private/name:443.key ||%0a> || service1.example.com || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a> || service2.example.com || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a> %0a> The last two lines forward to the proper service based on the Host HTTP header.%0a> %0a153,154c129,130%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a---%0a> We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a> %0a172,173c148,149%0a%3c tls { keypair service1.example.com }%0a%3c tls { keypair service2.example.com }%0a---%0a> tls { keypair service1.example.com%0a> keypair service2.example.com }%0a177d152%0a%3c %0a194,195c169,170%0a%3c If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[openbsd/loginconf|/etc/login.conf]]:%0a%3c %0a---%0a> If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a> %0a204,205c179,180%0a%3c Make sure there is no @@login.conf.db@@ database, which would prevent the changes in [[openbsd/loginconf|login.conf]] from being applied:%0a%3c %0a---%0a> Then we must make sure there is no @@login.conf.db@@ database:%0a> %0a212,213d186%0a%3c To start relayd, use [[openbsd/rcctl|rcctl]]:%0a%3c %0a225,230c198,199%0a%3c To test relayd, use [[openssl/http|openssl]].%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If relayd fails to start, you will see this message:%0a%3c %0a---%0a> To test relayd, we'll use [[openssl/http|openssl]]:%0a> %0a232c201%0a%3c relayd(failed)%0a---%0a> %0a235,236c204,207%0a%3c First, check the conf file to see if there are any errors:%0a%3c %0a---%0a> !! Troubleshooting%0a> %0a> If relayd fails to start, you will see this message:%0a> %0a238c209%0a%3c $ doas relayd -n%0a---%0a> relayd(failed)%0a240a212,217%0a> First, we check the conf file to see if there are any errors:%0a> %0a> [@%0a> $ doas relayd -n%0a> @]%0a> %0a243,245c220,222%0a%3c !!! Sample Errors%0a%3c %0a%3c # @@/etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls@@\\%0a---%0a> Sample errors:%0a> %0a> # /etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls\\%0a247c224%0a%3c # @@/etc/relayd.conf:NN: syntax error@@%0a---%0a> # /etc/relayd.conf:NN: syntax error%0a250,251c227,228%0a%3c To turn on debugging, first stop any running instances of relayd, then run it in the foreground:%0a%3c %0a---%0a> To turn on debugging, first stop any running instances of relayd then run it in the foreground:%0a> %0a257,258c234,235%0a%3c @@-d@@ is for debug and @@-v@@ is to increase verbosity.%0a%3c %0a---%0a> -d is for debug and -v is to increase verbosity.%0a> %0a269,271c246,248%0a%3c !!! Common Mistakes%0a%3c %0a%3c # Make sure httpd is '''not''' also listening on port 443. Only one daemon can bind to the same [[tcpip/sockets|socket]] at any time.%0a---%0a> !!! common errors%0a> %0a> # Make sure httpd is not also listening on port 443%0a +host:1636024894=38.87.162.47 +author:1635959543=jrmu +diff:1635959543:1628324627:=18,21c18,21%0a%3c Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption. It serves all its content as plaintext, exposing users' data to eavesdropping and forgery. When this happens, you can use relayd to provide TLS. This will encrypt connections and protect your users.%0a%3c %0a%3c Another time relayd is useful is when we have two servers that both need to listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[znc/relayd|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port, 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a%3c %0a---%0a> Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption by default. It serves all its content as plaintext, exposing users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a> %0a> Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a> %0a26,32c26,28%0a%3c # For webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]].%0a%3c # For public bouncers, please see the [[znc/chroot|znc chroot guide]].%0a%3c %0a%3c Afterward configuration, you will want to test the setup using the [[telnet/http|telnet]] or [[netcat/http|netcat]] troubleshooting guides. openhttpd usually listens on port 80, and on IRCNow, the convention is to use port 1338 for znc's web server.%0a%3c %0a%3c !! httpd must NOT listen on port 443%0a%3c %0a---%0a> # For providing webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]]. Afterwards, test the setup using the [[telnet/http|telnet troubleshooting guide]].%0a> # For providing public bouncers, please see the [[znc/chroot|znc chroot guide]]. Afterwards, test the setup using the [[openbsd/netcat|netcat troubleshooting guide]].%0a> %0a58,65c54,57%0a%3c You will need the SSL certs for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%3c %0a%3c By default, [[https://man.openbsd.org/relayd|relayd]] searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/private/name:port.key@@ for the public/private keypair. If those are not present, it uses @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@.%0a%3c %0a%3c If your public cert and private key have different names, you should update [[acme-client/configure|/etc/acme-client.conf]]. It's recommended to use @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@, where @@name@@ is replaced with your actual domain name.%0a%3c %0a%3c '''Optional''': If your public cert ends in .fullchain.pem instead of .crt, you can create [[ln/intro|symbolic links]]:%0a%3c %0a---%0a> Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a> %0a> By default, relayd searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/name:port.key@@ for the public/private keypair. So, we will create symlinks:%0a> %0a67c59,60%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a---%0a> $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com:443.crt%0a> $ doas ln -s /etc/ssl/private/example.com.key /etc/ssl/private/example.com:443.key%0a69,70d61%0a%3c %0a%3c You will want to replace @@example.com@@ with your real domain. This will allow relayd to detect your public key. However, it is still highly recommended that you change [[acme-client/configure|acme-client.conf]] to create public keys that end with the extension @@.crt@@.%0a +host:1635959543=38.87.162.47 +author:1628324627=jrmu +diff:1628324627:1628324504:=87a88%0a> match request header "Host" value "*" forward to %3cwww>%0a142a144%0a> match request header "Host" value "*" forward to %3cservice2>%0a148a151%0a> forward to %3cwww> port 80 check icmp%0a154a158%0a> forward to %3cwww> port 80 check icmp%0a +host:1628324627=38.87.162.8 +author:1628324504=jrmu +diff:1628324504:1623735705:=88d87%0a%3c match request header "Host" value "*" forward to %3cwww>%0a144d142%0a%3c match request header "Host" value "*" forward to %3cservice2>%0a151d148%0a%3c forward to %3cwww> port 80 check icmp%0a158d154%0a%3c forward to %3cwww> port 80 check icmp%0a +host:1628324504=38.87.162.8 +author:1623735705=jrmu +diff:1623735705:1615027455:=50,51c50,51%0a%3c In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 80.%0a%3c %0a---%0a> In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 8001.%0a> %0a109,110c109,110%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a---%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8001 check icmp%0a115,116c115,116%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a---%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8001 check icmp%0a120,121c120,121%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a---%0a> We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 8001 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a> %0a147,148c147,148%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a---%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8001 check icmp%0a153,154c153,154%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a---%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8001 check icmp%0a243c243%0a%3c # Make sure packet filter is turned on%0a---%0a> # Make sure packet filter is turned on%0a\ No newline at end of file%0a +host:1623735705=125.231.25.80 +author:1615027455=jrmu +diff:1615027455:1615027423:=170c170%0a%3c Then we must make sure there is no @@login.conf.db@@ database:%0a---%0a> Then:%0a +host:1615027455=198.251.81.119 +author:1615027423=jrmu +diff:1615027423:1614608648:=156,173d155%0a%3c @]%0a%3c %0a%3c !! Login class permissions%0a%3c %0a%3c If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a%3c %0a%3c [@%0a%3c relayd:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=96M:\%0a%3c :stacksize-max=96M:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c Then:%0a%3c %0a%3c [@%0a%3c $ doas rm /etc/login.conf.db%0a +host:1615027423=198.251.81.119 +author:1614608648=jrmu +diff:1614608648:1614449510:=70,71c70,71%0a%3c table %3cservice1> { 127.0.0.1 }%0a%3c table %3cservice2> { 127.0.0.1 }%0a---%0a> table %3cservice1> { localhost }%0a> table %3cservice2> { localhost }%0a129,130c129,130%0a%3c table %3cservice1> { 127.0.0.1 }%0a%3c table %3cservice2> { 127.0.0.1 }%0a---%0a> table %3cservice1> { localhost }%0a> table %3cservice2> { localhost }%0a +host:1614608648=198.251.81.119 +author:1614449510=jrmu +diff:1614449510:1614449226:=171,176c171,172%0a%3c To test relayd, we'll use [[openssl/http|openssl]]:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a---%0a> To test relayd:%0a> %0a195,201c191,196%0a%3c # /etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls\\%0a%3c Check line NN. Your keypair may be missing, have the wrong permissions, or are not labeled correctly.%0a%3c # /etc/relayd.conf:NN: syntax error%0a%3c Check line NN for syntax errors.%0a%3c %0a%3c To turn on debugging, first stop any running instances of relayd then run it in the foreground:%0a%3c %0a---%0a> # /etc/relayd.conf:30: cannot load keypair example.com for relay wwwtls\\%0a> Check line 30. Either your keypair is not specified correctly, or your SSL public and private keys are not labeled correctly.%0a> # /etc/relayd.conf:21: syntax error%0a> Check%0a> %0a> %0a203d197%0a%3c $ doas rcctl stop relayd%0a209,210d202%0a%3c !!! %0a%3c %0a212c204%0a%3c log connection%0a---%0a> /etc/relayd.conf:30: cannot load keypair jrmu.coconut.ircnow.org for relay wwwtls%0a213a206,215%0a> %0a> %0a> !!! relayd doesn't show verbose information%0a> According to [[https://man.openbsd.org/relayd.conf.5|man 5 relayd.conf]], you can add in the following close towards the top of your ''/etc/relayd.conf'',%0a> %0a> [@%0a> log connection%0a> @]%0a> %0a> Then reload/restart your relayd. %0a +host:1614449510=198.251.81.119 +author:1614449226=jrmu +diff:1614449226:1614449018:=103,104d102%0a%3c The last two lines forward to the proper service based on the Host HTTP header.%0a%3c %0a120,125d117%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 8001 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a%3c !! Complete relayd.conf%0a%3c %0a%3c Here is the entire [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]] without commentary:%0a%3c %0a170,171d161%0a%3c %0a%3c To test relayd:%0a +host:1614449226=198.251.81.119 +author:1614449018=jrmu +diff:1614449018:1614448903:= +host:1614449018=198.251.81.119 +author:1614448903=jrmu +diff:1614448903:1614448882:=99c99%0a%3c || name || /etc/ssl/name:443.crt || /etc/ssl/private/name:443.key ||%0a---%0a> || name || /etc/ssl/name:port.crt || /etc/ssl/private/name:port.key ||%0a +host:1614448903=198.251.81.119 +author:1614448882=jrmu +diff:1614448882:1614448807:=99d98%0a%3c || name || /etc/ssl/name:port.crt || /etc/ssl/private/name:port.key ||%0a +host:1614448882=198.251.81.119 +author:1614448807=jrmu +diff:1614448807:1614448703:=97,98c97%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Name ||! Public Cert ||! Private Key ||%0a---%0a> || Name || Public Cert || Private Key ||%0a +host:1614448807=198.251.81.119 +author:1614448703=jrmu +diff:1614448703:1614448096:=90,99d89%0a%3c %0a%3c Here we define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a%3c %0a%3c We turn on selective acknowledgments and set the maximum queue to 128 connections in the tcp block.%0a%3c %0a%3c We then define the keypair names. Here's where relayd searches for them:%0a%3c %0a%3c || Name || Public Cert || Private Key ||%0a%3c || service1.example.com || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a%3c || service2.example.com || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a +host:1614448703=198.251.81.119 +author:1614448096=jrmu +diff:1614448096:1614447000:=65,66c65,66%0a%3c Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. Here is what we will put, one block at a time:%0a%3c %0a---%0a> First copy the template for [[https://man.openbsd.org/relayd.conf|relayd.conf]] from /etc/examples/:%0a> %0a67a68,73%0a> $ doas cp /etc/examples/relayd.conf /etc/relayd.conf%0a> @]%0a> %0a> Next, edit [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]:%0a> %0a> [@%0a73,77c79%0a%3c @]%0a%3c %0a%3c Replace ip4 and ip6 with the actual IPv4 and IPv6 address you want to listen on. Make sure the IPv4 is DDoS-filtered if you have that option.%0a%3c %0a%3c [@%0a---%0a> %0a89,91d90%0a%3c @]%0a%3c %0a%3c [@%0a105a105,106%0a> !! Starting relayd%0a> %0a107,135c108,109%0a%3c ip4="192.168.1.1"%0a%3c ip6="2001:db8::"%0a%3c table %3cservice1> { localhost }%0a%3c table %3cservice2> { localhost }%0a%3c log connection%0a%3c %0a%3c http protocol https {%0a%3c match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a%3c match request header append "X-Forwarded-By" \%0a%3c value "$SERVER_ADDR:$SERVER_PORT"%0a%3c match request header set "Connection" value "close"%0a%3c tcp { sack, backlog 128 }%0a%3c tls { keypair service1.example.com%0a%3c keypair service2.example.com }%0a%3c match request header "Host" value "service1.example.com" forward to %3cservice1>%0a%3c match request header "Host" value "service2.example.com" forward to %3cservice2>%0a%3c }%0a%3c relay wwwtls {%0a%3c listen on $ip4 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8001 check icmp%0a%3c }%0a%3c relay www6tls {%0a%3c listen on $ip6 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8001 check icmp%0a%3c }%0a---%0a> $ doas rcctl enable relayd%0a> $ doas rcctl start relayd%0a138,139c112,113%0a%3c !! Starting relayd%0a%3c %0a---%0a> '''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a> %0a141,142c115%0a%3c $ doas rcctl enable relayd%0a%3c $ doas rcctl start relayd%0a---%0a> $ doas pfctl -e%0a145,150d117%0a%3c '''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -e%0a%3c @]%0a%3c %0a159c126%0a%3c First, we check the conf file to see if there are any errors:%0a---%0a> First, let's check the conf file to see if there are any errors:%0a +host:1614448096=198.251.81.119 +author:1614447000=jrmu +diff:1614447000:1614446907:=115a116,123%0a> @]%0a> %0a> If your httpd is listening on port 443 with TLS, adjust it to another port and without tls. In the prior example where ''%3cwww>'' is to be redirected to port 8080, you should have it set to something like ''listen on 192.168.1.1 port 8080'' instead, in your ''/etc/httpd.conf''. %0a> %0a> Make sure to also reload/restart your httpd once you made adjustments. You can alternatively check to ensure your config file does not contain error prior to reloading/restarting. To do that, you can do,%0a> %0a> [@%0a> # httpd -nf /etc/httpd.conf%0a +host:1614447000=198.251.81.119 +author:1614446907=jrmu +diff:1614446907:1614446562:=112,116c112,113%0a%3c '''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -e%0a%3c @]%0a---%0a> %0a> '''WARNING''': Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a +host:1614446907=198.251.81.119 +author:1614446562=jrmu +diff:1614446562:1614445897:=20,21c20,21%0a%3c Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a%3c %0a---%0a> Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. In order to have two servers share the same socket, it is necessary to use relayd.%0a> %0a90a91%0a> %0a91a93%0a> # Run as a SSL/TLS accelerator%0a92a95%0a> listen on $ip6 port 443 tls%0a94,95c97,100%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8001 check icmp%0a---%0a> %0a> # Forward to hosts in the table%0a> forward to %3cbnc> port 1338 check icmp%0a> forward to %3cwww> port 8080 check icmp%0a97,102d101%0a%3c relay www6tls {%0a%3c listen on $ip6 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8001 check icmp%0a%3c }%0a105,106d103%0a%3c !! Starting relayd%0a%3c %0a110a108,114%0a> %0a> %0a> %0a> %0a> Suppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a> %0a> %0a +host:1614446562=198.251.81.119 +author:1614445897=jrmu +diff:1614445897:1614445794:=101c101%0a%3c }%0a---%0a> } %0a +host:1614445897=198.251.81.119 +author:1614445794=jrmu +diff:1614445794:1614445697:= +host:1614445794=198.251.81.119 +author:1614445697=jrmu +diff:1614445697:1614445376:=76,79c76,79%0a%3c table %3cservice1> { localhost }%0a%3c table %3cservice2> { localhost }%0a%3c log connection%0a%3c %0a---%0a> webhost="127.0.0.1"%0a> %0a> table %3cwww> { $webhost }%0a> table %3cbnc> { $webhost }%0a84a85,86%0a> %0a> # Various TCP options%0a86,89c88,92%0a%3c tls { keypair service1.example.com%0a%3c keypair service2.example.com }%0a%3c match request header "Host" value "service1.example.com" forward to %3cservice1>%0a%3c match request header "Host" value "service2.example.com" forward to %3cservice2>%0a---%0a> %0a> # tls { no tlsv1.0, ciphers HIGH } %0a> # tls no session tickets%0a> match request header "Host" value "bnc.ircnow.org" forward to %3cbnc>%0a> match request header "Host" value "www.ircnow.org" forward to %3cwww>%0a +host:1614445697=198.251.81.119 +author:1614445376=jrmu +diff:1614445376:1614445288:= +host:1614445376=198.251.81.119 +author:1614445288=jrmu +diff:1614445288:1614445004:=50,60c50,77%0a%3c In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 8001.%0a%3c %0a%3c !! Request SSL Certs%0a%3c %0a%3c Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%3c %0a%3c By default, relayd searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/name:port.key@@ for the public/private keypair. So, we will create symlinks:%0a%3c %0a%3c [@%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com:443.crt%0a%3c $ doas ln -s /etc/ssl/private/example.com.key /etc/ssl/private/example.com:443.key%0a---%0a> If a listener on port 443 is present, you will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443. We will change it to listen on port 8001 without TLS and remove the tls block:%0a> %0a> [@%0a> server "example.com" {%0a> listen on * port 8001%0a> location "/pub/*" {%0a> directory auto index%0a> }%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> }%0a> @]%0a> %0a> Restart the [[openhttpd/configure|web server]], then [[telnet/http|test using telnet]] to verify it works:%0a> %0a> [@%0a> $ doas rcctl restart httpd%0a> $ telnet localhost 80%0a> GET /index.html HTTP/1.1%0a> Host: example.com%0a> ...%0a> @]%0a> %0a> !! Request SSL Certs%0a> %0a> Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a +host:1614445288=198.251.81.119 +author:1614445004=jrmu +diff:1614445004:1614444783:=26,27c26,27%0a%3c # For providing webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]]. Afterwards, test the setup using the [[telnet/http|telnet troubleshooting guide]].%0a%3c # For providing public bouncers, please see the [[znc/chroot|znc chroot guide]]. Afterwards, test the setup using the [[openbsd/netcat|netcat troubleshooting guide]].%0a---%0a> # For [[openhttpd/configure|openhttpd]], see the [[telnet/http|telnet troubleshooting guide]].%0a> # For [[znc/chroot|znc]], see the [[openbsd/netcat|netcat troubleshooting guide]].%0a +host:1614445004=198.251.81.119 +author:1614444783=jrmu +diff:1614444783:1614444573:= +host:1614444783=198.251.81.119 +author:1614444573=jrmu +diff:1614444573:1614335932:=27c27%0a%3c # For [[znc/chroot|znc]], see the [[openbsd/netcat|netcat troubleshooting guide]].%0a---%0a> # For [[znc/install|znc]], see the [[openbsd/netcat|netcat troubleshooting guide]].%0a +host:1614444573=198.251.81.119 +author:1614335932=jrmu +diff:1614335932:1614320244:=123,124c123,124%0a%3c forward to %3cbnc> port 1338 check icmp%0a%3c forward to %3cwww> port 8080 check icmp%0a---%0a> forward to %3cbnc> port 1338 mode loadbalance check icmp%0a> forward to %3cwww> port 8080 mode loadbalance check icmp%0a +host:1614335932=198.251.81.119 +author:1614320244=jrmu +diff:1614320244:1614320034:=80,81c80%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com:443.crt%0a%3c $ doas ln -s /etc/ssl/private/example.com.key /etc/ssl/private/example.com:443.key%0a---%0a> $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a +host:1614320244=198.251.81.119 +author:1614320034=jrmu +diff:1614320034:1614319293:=79,82d78%0a%3c [@%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a%3c @]%0a%3c %0a152,153c148,150%0a%3c If relayd fails to start, you will see this message:%0a%3c %0a---%0a> !!! relayd fails to start%0a> If for whatever reason you fail to start relayd, you can troubleshoot it via making it perform a config test:%0a> %0a155c152%0a%3c relayd(failed)%0a---%0a> # relayd -n%0a158,183c155,159%0a%3c First, let's check the conf file to see if there are any errors:%0a%3c %0a%3c [@%0a%3c $ doas relayd -n%0a%3c @]%0a%3c %0a%3c When properly configured, relayd will say @@configuration OK@@.%0a%3c %0a%3c Sample errors:%0a%3c %0a%3c # /etc/relayd.conf:30: cannot load keypair example.com for relay wwwtls\\%0a%3c Check line 30. Either your keypair is not specified correctly, or your SSL public and private keys are not labeled correctly.%0a%3c # /etc/relayd.conf:21: syntax error%0a%3c Check%0a%3c %0a%3c %0a%3c [@%0a%3c $ doas relayd -dvv%0a%3c @]%0a%3c %0a%3c -d is for debug and -v is to increase verbosity.%0a%3c %0a%3c [@%0a%3c /etc/relayd.conf:30: cannot load keypair jrmu.coconut.ircnow.org for relay wwwtls%0a%3c @]%0a%3c %0a---%0a> If it does not show ''configuration OK'', it will typically indicate which line(s) containing error(s).%0a> %0a> !!! relayd doesn't show verbose information%0a> According to [[https://man.openbsd.org/relayd.conf.5|man 5 relayd.conf]], you can add in the following close towards the top of your ''/etc/relayd.conf'',%0a> %0a +host:1614320034=198.251.81.119 +author:1614319293=jrmu +diff:1614319293:1614316768:=121a122%0a> %0a +host:1614319293=198.251.81.119 +author:1614316768=jrmu +diff:1614316768:1614316688:= +host:1614316768=198.251.81.119 +author:1614316688=jrmu +diff:1614316688:1614316568:=81,82c81,82%0a%3c First copy the template for [[https://man.openbsd.org/relayd.conf|relayd.conf]] from /etc/examples/:%0a%3c %0a---%0a> First copy the template relayd.conf from /etc/examples/:%0a> %0a87c87%0a%3c Next, edit [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]:%0a---%0a> Edit [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]:%0a +host:1614316688=198.251.81.119 +author:1614316568=jrmu +diff:1614316568:1614316415:=81,87c81,82%0a%3c First copy the template relayd.conf from /etc/examples/:%0a%3c %0a%3c [@%0a%3c $ doas cp /etc/examples/relayd.conf /etc/relayd.conf%0a%3c @]%0a%3c %0a%3c Edit [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]:%0a---%0a> You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a> %0a +host:1614316568=198.251.81.119 +author:1614316415=jrmu +diff:1614316415:1614316336:=72d71%0a%3c ...%0a +host:1614316415=198.251.81.119 +author:1614316336=jrmu +diff:1614316336:1614316097:=48,50c48,50%0a%3c Notice the line @@listen on * tls port 443@@ and the @@tls {...}@@ block. If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a%3c %0a%3c If a listener on port 443 is present, you will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443. We will change it to listen on port 8001 without TLS and remove the tls block:%0a---%0a> If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a> %0a> You will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443. We will change it to listen on port 8001 without TLS and remove the tls block:%0a +host:1614316336=198.251.81.119 +author:1614316097=jrmu +diff:1614316097:1614316056:= +host:1614316097=198.251.81.119 +author:1614316056=jrmu +diff:1614316056:1614315997:=20c20%0a%3c Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. In order to have two servers share the same socket, it is necessary to use relayd.%0a---%0a> Another time you will need relayd is when you have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve the same HTTPS content on the same IP address on the same port 443. In order to have two servers share the same socket, it is necessary to use relayd.%0a +host:1614316056=198.251.81.119 +author:1614315997=jrmu +diff:1614315997:1614255886:=18c18%0a%3c Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption by default. It serves all its content as plaintext, exposing users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a---%0a> Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] by default lack TLS encryption. It serves all its content as plaintext, exposing all your users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a +host:1614315997=198.251.81.119 +author:1614255886=jrmu +diff:1614255886:1614255766:=80,81d79%0a%3c You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a%3c %0a82a81,89%0a> $ doas rcctl enable relayd%0a> $ doas rcctl start relayd%0a> @]%0a> %0a> %0a> %0a> You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a> %0a> [@%0a115,123d121%0a%3c %0a%3c %0a%3c [@%0a%3c $ doas rcctl enable relayd%0a%3c $ doas rcctl start relayd%0a%3c @]%0a%3c %0a%3c %0a%3c %0a +host:1614255886=198.251.81.119 +author:1614255766=jrmu +diff:1614255766:1614254767:=78,79c78,79%0a%3c !! Edit relayd.conf%0a%3c %0a---%0a> Next, you'll want to create [[ln/intro|symbolic links]] for each of the TLS certs:%0a> %0a81,82c81,86%0a%3c $ doas rcctl enable relayd%0a%3c $ doas rcctl start relayd%0a---%0a> # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a> # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a> # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a> # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a> # rcctl enable relayd%0a> # rcctl start relayd%0a +host:1614255766=198.251.81.119 +author:1614254767=jrmu +diff:1614254767:1614254582:=78c78%0a%3c Next, you'll want to create [[ln/intro|symbolic links]] for each of the TLS certs:%0a---%0a> Next, you'll want to create symbolic links for each of the TLS certs:%0a +host:1614254767=198.251.81.119 +author:1614254582=jrmu +diff:1614254582:1614254535:=76,78c76,78%0a%3c Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%3c %0a%3c Next, you'll want to create symbolic links for each of the TLS certs:%0a---%0a> Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]].%0a> %0a> You'll need corresponding TLS certs:%0a +host:1614254582=198.251.81.119 +author:1614254535=jrmu +diff:1614254535:1614254472:=48c48%0a%3c If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a---%0a> If httpd is listening on port 443 while relayd is running, the reverse proxy will erratically fail to forward for android, iOS, and other devices!%0a +host:1614254535=198.251.81.119 +author:1614254472=jrmu +diff:1614254472:1614254052:= +host:1614254472=198.251.81.119 +author:1614254052=jrmu +diff:1614254052:1614253988:=75,76d74%0a%3c %0a%3c Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]].%0a +host:1614254052=198.251.81.119 +author:1614253988=jrmu +diff:1614253988:1614253603:=65,66c65,66%0a%3c Restart the [[openhttpd/configure|web server]], then [[telnet/http|test using telnet]] to verify it works:%0a%3c %0a---%0a> Restart the web server, then test using telnet to verify it works:%0a> %0a69,71c69%0a%3c $ telnet localhost 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a---%0a> $%0a +host:1614253988=198.251.81.119 +author:1614253603=jrmu +diff:1614253603:1614253340:=48,70c48,51%0a%3c If httpd is listening on port 443 while relayd is running, the reverse proxy will erratically fail to forward for android, iOS, and other devices!%0a%3c %0a%3c You will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443. We will change it to listen on port 8001 without TLS and remove the tls block:%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * port 8001%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Restart the web server, then test using telnet to verify it works:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c $%0a%3c @]%0a---%0a> If httpd is listening on port 443 while relayd is running, the reverse proxy will erratically fail for android, iOS, and other devices!%0a> %0a> You will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443.%0a> %0a +host:1614253603=198.251.81.119 +author:1614253340=jrmu +diff:1614253340:1614251591:=29,51c29%0a%3c '''WARNING''': If you are using relayd for TLS acceleration for openhttpd, make sure openhttpd does '''not''' have a listener on port 443. Look for blocks like the ones below:%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c If httpd is listening on port 443 while relayd is running, the reverse proxy will erratically fail for android, iOS, and other devices!%0a%3c %0a%3c You will need to modify the server blocks above so that they listen in plaintext on some other port instead of using TLS on port 443.%0a%3c %0a---%0a> '''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a +host:1614253340=198.251.81.119 +author:1614251591=jrmu +diff:1614251591:1614251365:=22,30d21%0a%3c !! Check Server in Plaintext%0a%3c %0a%3c Before using relayd, you must make sure your server can serve its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a%3c %0a%3c # For [[openhttpd/configure|openhttpd]], see the [[telnet/http|telnet troubleshooting guide]].%0a%3c # For [[znc/install|znc]], see the [[openbsd/netcat|netcat troubleshooting guide]].%0a%3c %0a%3c '''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a%3c %0a33,34c24,25%0a%3c You'll need corresponding TLS certs:%0a%3c %0a---%0a> You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a> %0a36,48d26%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a%3c # rcctl enable relayd%0a%3c # rcctl start relayd%0a%3c @]%0a%3c %0a%3c %0a%3c %0a%3c You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a%3c %0a%3c [@%0a85c63,74%0a%3c %0a---%0a> You'll need corresponding TLS certs:%0a> %0a> [@%0a> # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a> # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a> # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a> # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a> # rcctl enable relayd%0a> # rcctl start relayd%0a> @]%0a> %0a> '''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a +host:1614251591=198.251.81.119 +author:1614251365=jrmu +diff:1614251365:1614251214:=22,23c22,25%0a%3c !! Request SSL Certs%0a%3c %0a---%0a> Suppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a> %0a> !! Howto%0a> %0a59,61d60%0a%3c %0a%3c Suppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a%3c %0a +host:1614251365=198.251.81.119 +author:1614251214=jrmu +diff:1614251214:1614250956:=20c20%0a%3c Another time you will need relayd is when you have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve the same HTTPS content on the same IP address on the same port 443. In order to have two servers share the same socket, it is necessary to use relayd.%0a---%0a> There is also%0a +host:1614251214=198.251.81.119 +author:1614250956=jrmu +diff:1614250956:1614250536:= +host:1614250956=198.251.81.119 +author:1614250536=jrmu +diff:1614250536:1614250330:=17,20d16%0a%3c %0a%3c Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] by default lack TLS encryption. It serves all its content as plaintext, exposing all your users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a%3c %0a%3c There is also%0a +host:1614250536=198.251.81.119 +author:1614250330=jrmu +diff:1614250330:1614250113:=4a5,8%0a> Pros:%0a> # Much simpler than haproxy or stunnel%0a> # Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a> %0a10,14d13%0a%3c %0a%3c Pros:%0a%3c # Simpler to configure than haproxy or stunnel%0a%3c # Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a%3c # Secure%0a +host:1614250330=198.251.81.119 +author:1614250113=jrmu +diff:1614250113:1614250076:=14,15d13%0a%3c %0a%3c !! Introduction%0a +host:1614250113=198.251.81.119 +author:1614250076=jrmu +diff:1614250076:1614249408:=3,13d2%0a%3c [[https://bsd.plumbing/about.html|relayd]] can provide secure TLS acceleration.%0a%3c %0a%3c Pros:%0a%3c # Much simpler than haproxy or stunnel%0a%3c # Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a%3c %0a%3c Features:%0a%3c # Load balancer%0a%3c # Application layer gateway%0a%3c # Transparent proxy%0a%3c # SSL/TLS gateway%0a +host:1614250076=198.251.81.119 +author:1614249408=jrmu +diff:1614249408:1614249312:=1,3d0%0a%3c (:title TLS Acceleration with relayd:)%0a%3c %0a%3c %0a +host:1614249408=198.251.81.119 +author:1614249312=jrmu +diff:1614249312:1614249312:=1,94d0%0a%3c Suppose you want to have relayd act as a reverse proxy for two different domains served on separate ports. In this case, suppose both www.ircnow.org and bnc.ircnow.org need relayd to provide TLS acceleration, but run on separate ports (1338 and 8080).%0a%3c %0a%3c !! Howto%0a%3c %0a%3c You need to edit ''/etc/relayd.conf'' with the following contents. Alternatively, you can copy a sample config file from ''/etc/examples/relayd.conf'' and adjust it to your needs.%0a%3c %0a%3c [@%0a%3c ip4="192.168.1.1"%0a%3c ip6="2001:db8::"%0a%3c webhost="127.0.0.1"%0a%3c %0a%3c table %3cwww> { $webhost }%0a%3c table %3cbnc> { $webhost }%0a%3c http protocol https {%0a%3c match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a%3c match request header append "X-Forwarded-By" \%0a%3c value "$SERVER_ADDR:$SERVER_PORT"%0a%3c match request header set "Connection" value "close"%0a%3c %0a%3c # Various TCP options%0a%3c tcp { sack, backlog 128 }%0a%3c %0a%3c # tls { no tlsv1.0, ciphers HIGH } %0a%3c # tls no session tickets%0a%3c match request header "Host" value "bnc.ircnow.org" forward to %3cbnc>%0a%3c match request header "Host" value "www.ircnow.org" forward to %3cwww>%0a%3c }%0a%3c %0a%3c relay wwwtls {%0a%3c # Run as a SSL/TLS accelerator%0a%3c listen on $ip4 port 443 tls%0a%3c listen on $ip6 port 443 tls%0a%3c protocol https%0a%3c %0a%3c # Forward to hosts in the table%0a%3c forward to %3cbnc> port 1338 mode loadbalance check icmp%0a%3c forward to %3cwww> port 8080 mode loadbalance check icmp%0a%3c } %0a%3c @]%0a%3c %0a%3c You'll need corresponding TLS certs:%0a%3c %0a%3c [@%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/192.168.1.1:443.crt%0a%3c # ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/2001:db8::.crt%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/192.168.1.1:443.key%0a%3c # ln -s /etc/ssl/private/example.com.key /etc/ssl/private/2001:db8::.key%0a%3c # rcctl enable relayd%0a%3c # rcctl start relayd%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not have httpd listen on port 443, or else the reverse proxy will fail to forward based on hostname for android and iOS devices!%0a%3c %0a%3c '''WARNING''': Make sure that packet filter is enabled! relayd will not run if pf is disabled.%0a%3c %0a%3c If your httpd is listening on port 443 with TLS, adjust it to another port and without tls. In the prior example where ''%3cwww>'' is to be redirected to port 8080, you should have it set to something like ''listen on 192.168.1.1 port 8080'' instead, in your ''/etc/httpd.conf''. %0a%3c %0a%3c Make sure to also reload/restart your httpd once you made adjustments. You can alternatively check to ensure your config file does not contain error prior to reloading/restarting. To do that, you can do,%0a%3c %0a%3c [@%0a%3c # httpd -nf /etc/httpd.conf%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c !!! relayd fails to start%0a%3c If for whatever reason you fail to start relayd, you can troubleshoot it via making it perform a config test:%0a%3c %0a%3c [@%0a%3c # relayd -n%0a%3c @]%0a%3c %0a%3c If it does not show ''configuration OK'', it will typically indicate which line(s) containing error(s).%0a%3c %0a%3c !!! relayd doesn't show verbose information%0a%3c According to [[https://man.openbsd.org/relayd.conf.5|man 5 relayd.conf]], you can add in the following close towards the top of your ''/etc/relayd.conf'',%0a%3c %0a%3c [@%0a%3c log connection%0a%3c @]%0a%3c %0a%3c Then reload/restart your relayd. %0a%3c %0a%3c '''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%3c %0a%3c In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%3c %0a%3c !!! common errors%0a%3c %0a%3c # Make sure httpd is not also listening on port 443%0a%3c # Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a%3c # Make sure nsd is set up properly%0a%3c # Make sure znc is listening on port 1338%0a%3c # Make sure packet filter is turned on%0a\ No newline at end of file%0a +host:1614249312=198.251.81.119 blob - /dev/null blob + d918571aa523ef62e126e9bbc25b70a6550119d0 (mode 644) --- /dev/null +++ wiki.d/Relayd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1614249312 +host=38.87.162.8 +name=Relayd.RecentChanges +rev=69 +text=* [[Relayd/TLSMulti]] . . . November 13, 2021, at 03:19 AM by [[~jrmu]]: [==]%0a* [[Relayd/Acceleration]] . . . November 06, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a +time=1636773591 blob - /dev/null blob + 529025ad243c974dd6078189106a583f1c179d07 (mode 644) --- /dev/null +++ wiki.d/Relayd.TLSMulti @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628324722 +host=38.87.162.8 +name=Relayd.TLSMulti +rev=4 +targets=Relayd.Acceleration,Openhttpd.Hosting,Acme-client.Configure,Ln.Intro,Ip.Myaddress,Openbsd.Ddos,Openbsd.Loginconf +text=(:title TLS Acceleration for Multiple Domains with relayd:)%0a%0a!! Before You Begin%0a%0aPlease see the [[relayd/acceleration|TLS acceleration guide with relayd]] before following this guide.%0a%0aIn this guide, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and your http services are listening on port 80.%0a%0a!! Request SSL Certs%0a%0aYou will need the SSL certs for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%0aBy default, [[https://man.openbsd.org/relayd|relayd]] searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/private/name:port.key@@ for the public/private keypair. If those are not present, it uses @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@.%0a%0aIf your public cert and private key have different names, you should update [[acme-client/configure|/etc/acme-client.conf]]. It's recommended to use @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@, where @@name@@ is replaced with your actual domain name.%0a%0a'''Optional''': If your public cert ends in .fullchain.pem instead of .crt, you can create [[ln/intro|symbolic links]]:%0a%0a[@%0a$ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a@]%0a%0aYou will want to replace @@example.com@@ with your real domain. This will allow relayd to detect your public key. However, it is still highly recommended that you change [[acme-client/configure|acme-client.conf]] to create public keys that end with the extension @@.crt@@.%0a%0aMake sure to replace example.com with your actual domain.%0a%0a!! Edit relayd.conf%0a%0aLet's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. This configuration will provide TLS acceleration for three services: for a webserver that listens on port 80, a second which listens on port 8000, and a third which listens on port 8080. Here is what we will put, one block at a time:%0a%0a[@%0aip4="192.168.1.1"%0aip6="2001:db8::"%0atable %3cwww> { 127.0.0.1 }%0atable %3cservice1> { 127.0.0.1 }%0atable %3cservice2> { 127.0.0.1 }%0alog connection%0a@]%0a%0aReplace @@192.168.1.1@@ and @@2001:db8::@@ with your [[ip/myaddress|real IPv4 and IPv6 address]]. Make sure the IPv4 is [[openbsd/ddos|DDoS-filtered]] if you have that option.%0a%0aReplace @@service1@@ and @@service2@@ with the names of your real services, such as bnc, www, and mail.%0a%0aDo '''NOT''' replace @@127.0.0.1@@. You want relayd to forward its requests to the web server listening on localhost.%0a%0a[@%0ahttp protocol https {%0a match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a match request header append "X-Forwarded-By" \%0a value "$SERVER_ADDR:$SERVER_PORT"%0a match request header set "Connection" value "close"%0a tcp { sack, backlog 128 }%0a tls { keypair www.example.com }%0a tls { keypair www.sub.example.com }%0a tls { keypair service1.example.com }%0a tls { keypair service2.example.com }%0a match request header "Host" value "*" forward to %3cwww>%0a match request header "Host" value "service1.example.com" forward to %3cservice1>%0a match request header "Host" value "service2.example.com" forward to %3cservice2>%0a}%0a@]%0a%0arelayd will inspect the headers of the HTTP requests that users send. By default, request for any hostnames are forwarded to port 80 for [[openhttpd/hosting|openhttpd]] to handle. However, if the header says service1.example.com, it will forward to port 8000 for service1 to handle. If it says service2, then it will forward to port 8080 for service2. Note that relayd does last rule matching, so that the wildcard * must be placed as the first match rule.%0a%0aWe also define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a%0aWe turn on selective acknowledgments and set the maximum queue to 128 connections in the tcp block.%0a%0aWe define the keypair names. Below is a table which shows the order in which relayd searches for them. You will want to replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a%0aThe last two lines in relayd.conf forward to the proper service based on the Host HTTP header.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Hostname: service1.example.com ||||||%0a||! Priority ||! Public Cert ||! Private Key ||%0a|| 1 || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a|| 2 || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Hostname: service2.example.com ||||||%0a||! Priority ||! Public Cert ||! Private Key ||%0a|| 1 || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a|| 2 || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a%0a[@%0arelay wwwtls {%0a listen on $ip4 port 443 tls%0a protocol https%0a forward to %3cwww> port 80 check icmp%0a forward to %3cservice1> port 8000 check icmp%0a forward to %3cservice2> port 8080 check icmp%0a}%0arelay www6tls {%0a listen on $ip6 port 443 tls%0a protocol https%0a forward to %3cwww> port 80 check icmp%0a forward to %3cservice1> port 8000 check icmp%0a forward to %3cservice2> port 8080 check icmp%0a}%0a@]%0a%0aWe create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%0aWe create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 80, 8000, and 8080 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%0a!! Complete relayd.conf%0a%0aHere is the entire [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]] without commentary:%0a%0a[@%0aip4="192.168.1.1"%0aip6="2001:db8::"%0atable %3cwww> { 127.0.0.1 }%0atable %3cservice1> { 127.0.0.1 }%0atable %3cservice2> { 127.0.0.1 }%0alog connection%0a%0ahttp protocol https {%0a match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a match request header append "X-Forwarded-By" \%0a value "$SERVER_ADDR:$SERVER_PORT"%0a match request header set "Connection" value "close"%0a tcp { sack, backlog 128 }%0a tls { keypair www.example.com }%0a tls { keypair www.sub.example.com }%0a tls { keypair service1.example.com }%0a tls { keypair service2.example.com }%0a match request header "Host" value "*" forward to %3cwww>%0a match request header "Host" value "service1.example.com" forward to %3cservice1>%0a match request header "Host" value "service2.example.com" forward to %3cservice2>%0a}%0a%0arelay wwwtls {%0a listen on $ip4 port 443 tls%0a protocol https%0a forward to %3cwww> port 80 check icmp%0a forward to %3cservice1> port 8000 check icmp%0a forward to %3cservice2> port 8080 check icmp%0a}%0arelay www6tls {%0a listen on $ip6 port 443 tls%0a protocol https%0a forward to %3cwww> port 80 check icmp%0a forward to %3cservice1> port 8000 check icmp%0a forward to %3cservice2> port 8080 check icmp%0a}%0a@]%0a%0aWe create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%0aWe create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 80, 8000, and 8080 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%0a!! Login class permissions%0a%0aIf you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[openbsd/loginconf|/etc/login.conf]]:%0a%0a[@%0arelayd:\%0a :openfiles=4096:\%0a :stacksize-cur=96M:\%0a :stacksize-max=96M:\%0a :tc=daemon:%0a@]%0a%0aMake sure there is no @@login.conf.db@@ database, which would prevent the changes in [[openbsd/loginconf|login.conf]] from being applied:%0a%0a[@%0a$ doas rm /etc/login.conf.db%0a@]%0a +time=1636773591 +title=TLS Acceleration for Multiple Domains with relayd +author:1636773591=jrmu +diff:1636773591:1636217532:=57d56%0a%3c match request header "Host" value "*" forward to %3cwww>%0a59a59%0a> match request header "Host" value "*" forward to %3cwww>%0a63,64c63,64%0a%3c relayd will inspect the headers of the HTTP requests that users send. By default, request for any hostnames are forwarded to port 80 for [[openhttpd/hosting|openhttpd]] to handle. However, if the header says service1.example.com, it will forward to port 8000 for service1 to handle. If it says service2, then it will forward to port 8080 for service2. Note that relayd does last rule matching, so that the wildcard * must be placed as the first match rule.%0a%3c %0a---%0a> relayd will inspect the headers of the HTTP requests that users send. If the header says service1.example.com, it will forward to port 8000 for service1 to handle. If it says service2, then it will forward to port 8080 for service2. And finally, all the remaining hostnames are forwarded to port 80 for [[openhttpd/hosting|openhttpd]] to handle.%0a> %0a128d127%0a%3c match request header "Host" value "*" forward to %3cwww>%0a130a130%0a> match request header "Host" value "*" forward to %3cwww>%0a +host:1636773591=38.87.162.8 +author:1636217532=jrmu +diff:1636217532:1628325508:=3,18c3,10%0a%3c !! Before You Begin%0a%3c %0a%3c Please see the [[relayd/acceleration|TLS acceleration guide with relayd]] before following this guide.%0a%3c %0a%3c In this guide, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and your http services are listening on port 80.%0a%3c %0a%3c !! Request SSL Certs%0a%3c %0a%3c You will need the SSL certs for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%3c %0a%3c By default, [[https://man.openbsd.org/relayd|relayd]] searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/private/name:port.key@@ for the public/private keypair. If those are not present, it uses @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@.%0a%3c %0a%3c If your public cert and private key have different names, you should update [[acme-client/configure|/etc/acme-client.conf]]. It's recommended to use @@/etc/ssl/name.crt@@ and @@/etc/ssl/private/name.key@@, where @@name@@ is replaced with your actual domain name.%0a%3c %0a%3c '''Optional''': If your public cert ends in .fullchain.pem instead of .crt, you can create [[ln/intro|symbolic links]]:%0a%3c %0a---%0a> Please see the [[relayd/acceleration|TLS acceleration guide with relayd]] before consulting this guide. Concepts from the earlier guide will be expanded upon in this guide.%0a> %0a> !! Check Server in Plaintext%0a> %0a> Before using relayd, make sure your server serves its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a> %0a> '''WARNING''': If you are using relayd for TLS acceleration for openhttpd, make sure openhttpd does '''not''' have a listener on port 443. Look for blocks like the ones below:%0a> %0a20c12,25%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com.crt%0a---%0a> server "example.com" {%0a> listen on * tls port 443%0a> tls {%0a> certificate "/etc/ssl/example.com.fullchain.pem"%0a> key "/etc/ssl/private/example.com.key"%0a> }%0a> location "/pub/*" {%0a> directory auto index%0a> }%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> }%0a23,24c28,42%0a%3c You will want to replace @@example.com@@ with your real domain. This will allow relayd to detect your public key. However, it is still highly recommended that you change [[acme-client/configure|acme-client.conf]] to create public keys that end with the extension @@.crt@@.%0a%3c %0a---%0a> Notice the line @@listen on * tls port 443@@ and the @@tls {...}@@ block. If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a> %0a> In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and your http services are listening on port 80.%0a> %0a> !! Request SSL Certs%0a> %0a> Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a> %0a> By default, relayd searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/name:port.key@@ for the public/private keypair. So, we will create symlinks:%0a> %0a> [@%0a> $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com:443.crt%0a> $ doas ln -s /etc/ssl/private/example.com.key /etc/ssl/private/example.com:443.key%0a> @]%0a> %0a29,30c47,48%0a%3c Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. This configuration will provide TLS acceleration for three services: for a webserver that listens on port 80, a second which listens on port 8000, and a third which listens on port 8080. Here is what we will put, one block at a time:%0a%3c %0a---%0a> Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. This configuration will provide TLS acceleration for three services: one that listens on port 8001, a second which listens on port 8002, and a third which listens on port 80. Here is what we will put, one block at a time:%0a> %0a34d51%0a%3c table %3cwww> { 127.0.0.1 }%0a36a54%0a> table %3cwww> { 127.0.0.1 }%0a40,45c58,59%0a%3c Replace @@192.168.1.1@@ and @@2001:db8::@@ with your [[ip/myaddress|real IPv4 and IPv6 address]]. Make sure the IPv4 is [[openbsd/ddos|DDoS-filtered]] if you have that option.%0a%3c %0a%3c Replace @@service1@@ and @@service2@@ with the names of your real services, such as bnc, www, and mail.%0a%3c %0a%3c Do '''NOT''' replace @@127.0.0.1@@. You want relayd to forward its requests to the web server listening on localhost.%0a%3c %0a---%0a> Replace ip4 and ip6 with the actual IPv4 and IPv6 address you want to listen on. Make sure the IPv4 is DDoS-filtered if you have that option.%0a> %0a53,54d66%0a%3c tls { keypair www.example.com }%0a%3c tls { keypair www.sub.example.com }%0a56a69,70%0a> tls { keypair www.example.com }%0a> tls { keypair www.sub.example.com }%0a63,64c77,78%0a%3c relayd will inspect the headers of the HTTP requests that users send. If the header says service1.example.com, it will forward to port 8000 for service1 to handle. If it says service2, then it will forward to port 8080 for service2. And finally, all the remaining hostnames are forwarded to port 80 for [[openhttpd/hosting|openhttpd]] to handle.%0a%3c %0a---%0a> relayd will inspect the headers of the HTTP requests that users send. If the header says service1.example.com, it will forward to port 8001 for service1 to handle. If it says service2, then it will forward to port 8002 for service2. And finally, all the remaining domains are forwarded to port 80 for openhttpd to handle.%0a> %0a69,72c83,84%0a%3c We define the keypair names. Below is a table which shows the order in which relayd searches for them. You will want to replace @@service1.example.com@@ and @@service2.example.com@@ with your real hostnames.%0a%3c %0a%3c The last two lines in relayd.conf forward to the proper service based on the Host HTTP header.%0a%3c %0a---%0a> We then define the keypair names. Here's where relayd searches for them:%0a> %0a74,84c86,94%0a%3c ||! Hostname: service1.example.com ||||||%0a%3c ||! Priority ||! Public Cert ||! Private Key ||%0a%3c || 1 || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a%3c || 2 || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Hostname: service2.example.com ||||||%0a%3c ||! Priority ||! Public Cert ||! Private Key ||%0a%3c || 1 || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a%3c || 2 || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a%3c %0a---%0a> ||! Name ||! Public Cert ||! Private Key ||%0a> || name || /etc/ssl/name.crt || /etc/ssl/private/name.key ||%0a> || service1.example.com || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a> || service2.example.com || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a> || www.example.com || /etc/ssl/www.example.com.crt || /etc/ssl/private/www.example.com.key ||%0a> || www.sub.example.com || /etc/ssl/www.sub.example.com.crt || /etc/ssl/private/www.sub.example.com.key ||%0a> %0a> The last two lines forward to the proper service based on the Host HTTP header.%0a> %0a88a99,100%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8002 check icmp%0a90,91d101%0a%3c forward to %3cservice1> port 8000 check icmp%0a%3c forward to %3cservice2> port 8080 check icmp%0a95a106,107%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8002 check icmp%0a97,98d108%0a%3c forward to %3cservice1> port 8000 check icmp%0a%3c forward to %3cservice2> port 8080 check icmp%0a102,105c112,113%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 80, 8000, and 8080 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a---%0a> We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 8001, 8002, and 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a> %0a113d120%0a%3c table %3cwww> { 127.0.0.1 }%0a115a123%0a> table %3cwww> { 127.0.0.1 }%0a124,125d131%0a%3c tls { keypair www.example.com }%0a%3c tls { keypair www.sub.example.com }%0a127a134,135%0a> tls { keypair www.example.com }%0a> tls { keypair www.sub.example.com }%0a132d139%0a%3c %0a135a143,144%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8002 check icmp%0a137,138d145%0a%3c forward to %3cservice1> port 8000 check icmp%0a%3c forward to %3cservice2> port 8080 check icmp%0a142a150,151%0a> forward to %3cservice1> port 8001 check icmp%0a> forward to %3cservice2> port 8020 check icmp%0a144,145d152%0a%3c forward to %3cservice1> port 8000 check icmp%0a%3c forward to %3cservice2> port 8080 check icmp%0a149,152d155%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 80, 8000, and 8080 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a155,156c158,159%0a%3c If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[openbsd/loginconf|/etc/login.conf]]:%0a%3c %0a---%0a> If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a> %0a165,166c168,169%0a%3c Make sure there is no @@login.conf.db@@ database, which would prevent the changes in [[openbsd/loginconf|login.conf]] from being applied:%0a%3c %0a---%0a> Then we must make sure there is no @@login.conf.db@@ database:%0a> %0a169a173,240%0a> %0a> !! Starting relayd%0a> %0a> [@%0a> $ doas rcctl enable relayd%0a> $ doas rcctl start relayd%0a> @]%0a> %0a> '''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a> %0a> [@%0a> $ doas pfctl -e%0a> @]%0a> %0a> To test relayd, we'll use [[openssl/http|openssl]]:%0a> %0a> [@%0a> %0a> @]%0a> %0a> !! Troubleshooting%0a> %0a> If relayd fails to start, you will see this message:%0a> %0a> [@%0a> relayd(failed)%0a> @]%0a> %0a> First, we check the conf file to see if there are any errors:%0a> %0a> [@%0a> $ doas relayd -n%0a> @]%0a> %0a> When properly configured, relayd will say @@configuration OK@@.%0a> %0a> Sample errors:%0a> %0a> # /etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls\\%0a> Check line NN. Your keypair may be missing, have the wrong permissions, or are not labeled correctly.%0a> # /etc/relayd.conf:NN: syntax error%0a> Check line NN for syntax errors.%0a> %0a> To turn on debugging, first stop any running instances of relayd then run it in the foreground:%0a> %0a> [@%0a> $ doas rcctl stop relayd%0a> $ doas relayd -dvv%0a> @]%0a> %0a> -d is for debug and -v is to increase verbosity.%0a> %0a> !!! %0a> %0a> [@%0a> log connection%0a> @]%0a> %0a> '''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a> %0a> In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a> %0a> !!! common errors%0a> %0a> # Make sure httpd is not listening on port 443%0a> # Make sure all domains have real dns records%0a> # Make sure nsd is set up properly%0a> # Make sure packet filter is turned on%0a +host:1636217532=38.87.162.47 +author:1628325508=jrmu +diff:1628325508:1628324722:=3,4c3,21%0a%3c Please see the [[relayd/acceleration|TLS acceleration guide with relayd]] before consulting this guide. Concepts from the earlier guide will be expanded upon in this guide.%0a%3c %0a---%0a> [[https://bsd.plumbing/about.html|relayd]] can provide secure TLS acceleration.%0a> %0a> Features:%0a> # Load balancer%0a> # Application layer gateway%0a> # Transparent proxy%0a> # SSL/TLS gateway%0a> %0a> Pros:%0a> # Simpler to configure than haproxy or stunnel%0a> # Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a> # Secure%0a> %0a> !! Introduction%0a> %0a> Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption by default. It serves all its content as plaintext, exposing users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a> %0a> Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a> %0a7,8c24,28%0a%3c Before using relayd, make sure your server serves its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a%3c %0a---%0a> Before using relayd, you must make sure your server can serve its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a> %0a> # For providing webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]]. Afterwards, test the setup using the [[telnet/http|telnet troubleshooting guide]].%0a> # For providing public bouncers, please see the [[znc/chroot|znc chroot guide]]. Afterwards, test the setup using the [[openbsd/netcat|netcat troubleshooting guide]].%0a> %0a30,31c50,51%0a%3c In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and your http services are listening on port 80.%0a%3c %0a---%0a> In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 80.%0a> %0a43,44d62%0a%3c Make sure to replace example.com with your actual domain.%0a%3c %0a47,48c65,66%0a%3c Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. This configuration will provide TLS acceleration for three services: one that listens on port 8001, a second which listens on port 8002, and a third which listens on port 80. Here is what we will put, one block at a time:%0a%3c %0a---%0a> Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. Here is what we will put, one block at a time:%0a> %0a54d71%0a%3c table %3cwww> { 127.0.0.1 }%0a67,70c84,85%0a%3c tls { keypair service1.example.com }%0a%3c tls { keypair service2.example.com }%0a%3c tls { keypair www.example.com }%0a%3c tls { keypair www.sub.example.com }%0a---%0a> tls { keypair service1.example.com%0a> keypair service2.example.com }%0a73d87%0a%3c match request header "Host" value "*" forward to %3cwww>%0a77,80c91,92%0a%3c relayd will inspect the headers of the HTTP requests that users send. If the header says service1.example.com, it will forward to port 8001 for service1 to handle. If it says service2, then it will forward to port 8002 for service2. And finally, all the remaining domains are forwarded to port 80 for openhttpd to handle.%0a%3c %0a%3c We also define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a%3c %0a---%0a> Here we define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a> %0a87,92c99,102%0a%3c || name || /etc/ssl/name.crt || /etc/ssl/private/name.key ||%0a%3c || service1.example.com || /etc/ssl/service1.example.com.crt || /etc/ssl/private/service1.example.com.key ||%0a%3c || service2.example.com || /etc/ssl/service2.example.com.crt || /etc/ssl/private/service2.example.com.key ||%0a%3c || www.example.com || /etc/ssl/www.example.com.crt || /etc/ssl/private/www.example.com.key ||%0a%3c || www.sub.example.com || /etc/ssl/www.sub.example.com.crt || /etc/ssl/private/www.sub.example.com.key ||%0a%3c %0a---%0a> || name || /etc/ssl/name:443.crt || /etc/ssl/private/name:443.key ||%0a> || service1.example.com || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a> || service2.example.com || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a> %0a99,101c109,110%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8002 check icmp%0a%3c forward to %3cwww> port 80 check icmp%0a---%0a> forward to %3cservice1> port 80 check icmp%0a> forward to %3cservice2> port 80 check icmp%0a106,108c115,116%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8002 check icmp%0a%3c forward to %3cwww> port 80 check icmp%0a---%0a> forward to %3cservice1> port 80 check icmp%0a> forward to %3cservice2> port 80 check icmp%0a112,113c120,121%0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on ports 8001, 8002, and 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a---%0a> We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a> %0a123d130%0a%3c table %3cwww> { 127.0.0.1 }%0a132,135c139,140%0a%3c tls { keypair service1.example.com }%0a%3c tls { keypair service2.example.com }%0a%3c tls { keypair www.example.com }%0a%3c tls { keypair www.sub.example.com }%0a---%0a> tls { keypair service1.example.com%0a> keypair service2.example.com }%0a138d142%0a%3c match request header "Host" value "*" forward to %3cwww>%0a143,145c147,148%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8002 check icmp%0a%3c forward to %3cwww> port 80 check icmp%0a---%0a> forward to %3cservice1> port 80 check icmp%0a> forward to %3cservice2> port 80 check icmp%0a150,152c153,154%0a%3c forward to %3cservice1> port 8001 check icmp%0a%3c forward to %3cservice2> port 8020 check icmp%0a%3c forward to %3cwww> port 80 check icmp%0a---%0a> forward to %3cservice1> port 80 check icmp%0a> forward to %3cservice2> port 80 check icmp%0a237,238c239,240%0a%3c # Make sure httpd is not listening on port 443%0a%3c # Make sure all domains have real dns records%0a---%0a> # Make sure httpd is not also listening on port 443%0a> # Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a239a242%0a> # Make sure znc is listening on port 1338%0a +host:1628325508=38.87.162.8 +author:1628324722=jrmu +diff:1628324722:1628324722:=1,243d0%0a%3c (:title TLS Acceleration for Multiple Domains with relayd:)%0a%3c %0a%3c [[https://bsd.plumbing/about.html|relayd]] can provide secure TLS acceleration.%0a%3c %0a%3c Features:%0a%3c # Load balancer%0a%3c # Application layer gateway%0a%3c # Transparent proxy%0a%3c # SSL/TLS gateway%0a%3c %0a%3c Pros:%0a%3c # Simpler to configure than haproxy or stunnel%0a%3c # Tight integration with OpenBSD's [[pf/guide|packet filter]]%0a%3c # Secure%0a%3c %0a%3c !! Introduction%0a%3c %0a%3c Sometimes a server does not provide TLS encryption by default. For example, [[leafnode/install|leafnode]] lacks TLS encryption by default. It serves all its content as plaintext, exposing users' data to eavesdropping. To protect your users, you can use TLS acceleration using relayd.%0a%3c %0a%3c Another time we will need relayd is when we have two servers that need to both listen on the same [[tcpip/sockets|socket]] (the same IP address and port). For example, the [[openbsd/znc|znc web panel]] and [[openhttpd/configure|openhttpd]] both normally serve HTTPS content on the same IP address and on the same port 443. It is not possible, however, to have two servers bind to the same socket. To share the same socket, it is necessary to use relayd with TLS Server Name Indication (SNI).%0a%3c %0a%3c !! Check Server in Plaintext%0a%3c %0a%3c Before using relayd, you must make sure your server can serve its content in plaintext. If the server doesn't respond to plaintext requests, relayd won't work, either.%0a%3c %0a%3c # For providing webhosting, please see the [[openhttpd/hosting|openhttpd hosting guide]]. Afterwards, test the setup using the [[telnet/http|telnet troubleshooting guide]].%0a%3c # For providing public bouncers, please see the [[znc/chroot|znc chroot guide]]. Afterwards, test the setup using the [[openbsd/netcat|netcat troubleshooting guide]].%0a%3c %0a%3c '''WARNING''': If you are using relayd for TLS acceleration for openhttpd, make sure openhttpd does '''not''' have a listener on port 443. Look for blocks like the ones below:%0a%3c %0a%3c [@%0a%3c server "example.com" {%0a%3c listen on * tls port 443%0a%3c tls {%0a%3c certificate "/etc/ssl/example.com.fullchain.pem"%0a%3c key "/etc/ssl/private/example.com.key"%0a%3c }%0a%3c location "/pub/*" {%0a%3c directory auto index%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Notice the line @@listen on * tls port 443@@ and the @@tls {...}@@ block. If httpd is listening on port 443 while relayd is running, the reverse proxy will fail to forward for android, iOS, and other devices!%0a%3c %0a%3c In the configuration below, we assume you are following the [[openhttpd/hosting|openhttpd hosting guide]] and listening on port 80.%0a%3c %0a%3c !! Request SSL Certs%0a%3c %0a%3c Make sure you have the SSL certs you need for the domains you want to provide TLS acceleration for. Request them using [[acme-client/configure|acme-client]] if you have not already.%0a%3c %0a%3c By default, relayd searches @@/etc/ssl/name:port.crt@@ and @@/etc/ssl/name:port.key@@ for the public/private keypair. So, we will create symlinks:%0a%3c %0a%3c [@%0a%3c $ doas ln -s /etc/ssl/example.com.fullchain.pem /etc/ssl/example.com:443.crt%0a%3c $ doas ln -s /etc/ssl/private/example.com.key /etc/ssl/private/example.com:443.key%0a%3c @]%0a%3c %0a%3c !! Edit relayd.conf%0a%3c %0a%3c Let's create [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]]. Here is what we will put, one block at a time:%0a%3c %0a%3c [@%0a%3c ip4="192.168.1.1"%0a%3c ip6="2001:db8::"%0a%3c table %3cservice1> { 127.0.0.1 }%0a%3c table %3cservice2> { 127.0.0.1 }%0a%3c log connection%0a%3c @]%0a%3c %0a%3c Replace ip4 and ip6 with the actual IPv4 and IPv6 address you want to listen on. Make sure the IPv4 is DDoS-filtered if you have that option.%0a%3c %0a%3c [@%0a%3c http protocol https {%0a%3c match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a%3c match request header append "X-Forwarded-By" \%0a%3c value "$SERVER_ADDR:$SERVER_PORT"%0a%3c match request header set "Connection" value "close"%0a%3c tcp { sack, backlog 128 }%0a%3c tls { keypair service1.example.com%0a%3c keypair service2.example.com }%0a%3c match request header "Host" value "service1.example.com" forward to %3cservice1>%0a%3c match request header "Host" value "service2.example.com" forward to %3cservice2>%0a%3c }%0a%3c @]%0a%3c %0a%3c Here we define how to handle the http protocol. We add X-Forwarded-For, X-Forwarded-By, and Connection headers to HTTP requests before forwarding it to [[openhttpd/hosting|openhttpd]].%0a%3c %0a%3c We turn on selective acknowledgments and set the maximum queue to 128 connections in the tcp block.%0a%3c %0a%3c We then define the keypair names. Here's where relayd searches for them:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Name ||! Public Cert ||! Private Key ||%0a%3c || name || /etc/ssl/name:443.crt || /etc/ssl/private/name:443.key ||%0a%3c || service1.example.com || /etc/ssl/service1.example.com:443.crt || /etc/ssl/private/service1.example.com:443.key ||%0a%3c || service2.example.com || /etc/ssl/service2.example.com:443.crt || /etc/ssl/private/service2.example.com:443.key ||%0a%3c %0a%3c The last two lines forward to the proper service based on the Host HTTP header.%0a%3c %0a%3c [@%0a%3c relay wwwtls {%0a%3c listen on $ip4 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a%3c }%0a%3c relay www6tls {%0a%3c listen on $ip6 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a%3c }%0a%3c @]%0a%3c %0a%3c We create two relays, one for IPv4 and another for IPv6. Both of them listen on port 443 using TLS. They handle use the protocol template for https and forward to the proper service on port 80 (see the above [[openhttpd/hosting|openhttpd hosting guide]]). Both check ICMP to see if the service is available.%0a%3c %0a%3c !! Complete relayd.conf%0a%3c %0a%3c Here is the entire [[https://man.openbsd.org/relayd.conf|/etc/relayd.conf]] without commentary:%0a%3c %0a%3c [@%0a%3c ip4="192.168.1.1"%0a%3c ip6="2001:db8::"%0a%3c table %3cservice1> { 127.0.0.1 }%0a%3c table %3cservice2> { 127.0.0.1 }%0a%3c log connection%0a%3c %0a%3c http protocol https {%0a%3c match request header append "X-Forwarded-For" value "$REMOTE_ADDR"%0a%3c match request header append "X-Forwarded-By" \%0a%3c value "$SERVER_ADDR:$SERVER_PORT"%0a%3c match request header set "Connection" value "close"%0a%3c tcp { sack, backlog 128 }%0a%3c tls { keypair service1.example.com%0a%3c keypair service2.example.com }%0a%3c match request header "Host" value "service1.example.com" forward to %3cservice1>%0a%3c match request header "Host" value "service2.example.com" forward to %3cservice2>%0a%3c }%0a%3c relay wwwtls {%0a%3c listen on $ip4 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a%3c }%0a%3c relay www6tls {%0a%3c listen on $ip6 port 443 tls%0a%3c protocol https%0a%3c forward to %3cservice1> port 80 check icmp%0a%3c forward to %3cservice2> port 80 check icmp%0a%3c }%0a%3c @]%0a%3c %0a%3c !! Login class permissions%0a%3c %0a%3c If you have a large number of TLS certs, you will need to increase the maximum number of files that relayd can open. Add this to the bottom of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a%3c %0a%3c [@%0a%3c relayd:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=96M:\%0a%3c :stacksize-max=96M:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c Then we must make sure there is no @@login.conf.db@@ database:%0a%3c %0a%3c [@%0a%3c $ doas rm /etc/login.conf.db%0a%3c @]%0a%3c %0a%3c !! Starting relayd%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable relayd%0a%3c $ doas rcctl start relayd%0a%3c @]%0a%3c %0a%3c '''WARNING''': Make sure that [[pf/guide|packet filter]] is enabled! relayd will not run if pf is disabled. You can enable it by typing:%0a%3c %0a%3c [@%0a%3c $ doas pfctl -e%0a%3c @]%0a%3c %0a%3c To test relayd, we'll use [[openssl/http|openssl]]:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If relayd fails to start, you will see this message:%0a%3c %0a%3c [@%0a%3c relayd(failed)%0a%3c @]%0a%3c %0a%3c First, we check the conf file to see if there are any errors:%0a%3c %0a%3c [@%0a%3c $ doas relayd -n%0a%3c @]%0a%3c %0a%3c When properly configured, relayd will say @@configuration OK@@.%0a%3c %0a%3c Sample errors:%0a%3c %0a%3c # /etc/relayd.conf:NN: cannot load keypair example.com for relay wwwtls\\%0a%3c Check line NN. Your keypair may be missing, have the wrong permissions, or are not labeled correctly.%0a%3c # /etc/relayd.conf:NN: syntax error%0a%3c Check line NN for syntax errors.%0a%3c %0a%3c To turn on debugging, first stop any running instances of relayd then run it in the foreground:%0a%3c %0a%3c [@%0a%3c $ doas rcctl stop relayd%0a%3c $ doas relayd -dvv%0a%3c @]%0a%3c %0a%3c -d is for debug and -v is to increase verbosity.%0a%3c %0a%3c !!! %0a%3c %0a%3c [@%0a%3c log connection%0a%3c @]%0a%3c %0a%3c '''WARNING''': This may produce a verbose output which can dramatically increase the size of your ''/var/log/daemon'', especially on busy networks. To avoid this, simply have your ''syslogd'' send all relayd messages into its own file. To that, see [[http://openbsd-archive.7691.n7.nabble.com/relayd-log-file-td76656.html|here]].%0a%3c %0a%3c In addition to splitting relayd logs to its own file, you may wish to create a new entry in your ''/etc/newsyslog.conf'' to handle log rotation for your relayd.%0a%3c %0a%3c !!! common errors%0a%3c %0a%3c # Make sure httpd is not also listening on port 443%0a%3c # Make sure both www.ircnow.org and bnc.ircnow.org have real dns records%0a%3c # Make sure nsd is set up properly%0a%3c # Make sure znc is listening on port 1338%0a%3c # Make sure packet filter is turned on%0a +host:1628324722=38.87.162.8 blob - /dev/null blob + 2eefb642f850b56c6ebb1782620d83c7e4243549 (mode 644) --- /dev/null +++ wiki.d/Relays.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1597535120 +host=198.251.81.119 +name=Relays.RecentChanges +rev=5 +text=* [[Relays/Relays]] . . . February 22, 2021, at 04:22 PM by [[~jrmu]]: [==]%0a +time=1614010948 blob - /dev/null blob + f6d73069362700b9a29a5ddefcfb2f744a67bf03 (mode 644) --- /dev/null +++ wiki.d/Relays.Relays @@ -0,0 +1,29 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597535120 +host=198.251.81.119 +name=Relays.Relays +rev=5 +targets=Irc.Guide +text=(:title Union Relays:)%0a%0a%25rfloat%25 Attach:Marketing/morse.jpg%0a%0aAn IRC Relay lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a%0aRelays allow to connect one live chat (IRC) channel between different networks. A message sent to the channel will be displayed at several networks simultaneously. %0a%0aWe have a relay in #ircnow channel at the IRCNow network. This channel is linked via a relay to over ten different IRC networks. We are working to make our relay as user-friendly and robust as possible. We expect that this channel will help to connect together the system administrators and artists from different chat networks with our IRCNow network. This will make our services easier to access, and perhaps also easier for you to meet other people with similar interests.%0a%0aIf you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]]. +time=1614010948 +title=Union Relays +author:1614010948=jrmu +diff:1614010948:1614007340:=2,3d1%0a%3c %0a%3c %25rfloat%25 Attach:Marketing/morse.jpg%0a +host:1614010948=198.251.81.119 +author:1614007340=jrmu +diff:1614007340:1612662317:=1c1%0a%3c (:title Union Relays:)%0a---%0a> (:title IRC Relays:)%0a +host:1614007340=198.251.81.119 +author:1612662317=jrmu +diff:1612662317:1609817081:=1,3c1,3%0a%3c (:title IRC Relays:)%0a%3c %0a%3c An IRC Relay lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a---%0a> (:title The Pony Express:)%0a> %0a> The Pony Express lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a +host:1612662317=198.251.81.119 +author:1609817081=jrmu +diff:1609817081:1597535120:=1,4d0%0a%3c (:title The Pony Express:)%0a%3c %0a%3c The Pony Express lets you connect channels from one IRC network to another. We plan to someday have it connect from one protocol to another.%0a%3c %0a +host:1609817081=125.231.63.134 +author:1597535120=gry +csum:1597535120=created +diff:1597535120:1597535120:=1,5d0%0a%3c Relays allow to connect one live chat (IRC) channel between different networks. A message sent to the channel will be displayed at several networks simultaneously. %0a%3c %0a%3c We have a relay in #ircnow channel at the IRCNow network. This channel is linked via a relay to over ten different IRC networks. We are working to make our relay as user-friendly and robust as possible. We expect that this channel will help to connect together the system administrators and artists from different chat networks with our IRCNow network. This will make our services easier to access, and perhaps also easier for you to meet other people with similar interests.%0a%3c %0a%3c If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a\ No newline at end of file%0a +host:1597535120=203.129.25.247 blob - /dev/null blob + cf1ac7cef7102c185312e3235364daefc5f38e01 (mode 644) --- /dev/null +++ wiki.d/Rio.Customize @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1634894535 +host=38.87.162.8 +name=Rio.Customize +rev=1 +targets= +text=To have nice, large fonts, in /usr/glenda/lib/profile replace:%0a%0a[@%0ario -i riostart%0a@]%0a%0awith:%0a%0a[@%0ario -i riostart -f /lib/font/bit/lucidasans/typeunicode.16.font%0a@]%0a +time=1634894535 +author:1634894535=jrmu +diff:1634894535:1634894535:=1,11d0%0a%3c To have nice, large fonts, in /usr/glenda/lib/profile replace:%0a%3c %0a%3c [@%0a%3c rio -i riostart%0a%3c @]%0a%3c %0a%3c with:%0a%3c %0a%3c [@%0a%3c rio -i riostart -f /lib/font/bit/lucidasans/typeunicode.16.font%0a%3c @]%0a +host:1634894535=38.87.162.8 blob - /dev/null blob + dcab89ac3898cbe4c43e34be24865e385c43041d (mode 644) --- /dev/null +++ wiki.d/Rio.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1634894535 +host=38.87.162.8 +name=Rio.RecentChanges +rev=1 +text=* [[Rio/Customize]] . . . October 22, 2021, at 09:22 AM by [[~jrmu]]: [==]%0a +time=1634894535 blob - /dev/null blob + fbfbc729eae5ea72aac30625e1e66bd2b63fa755 (mode 644) --- /dev/null +++ wiki.d/Rsync.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1626616894 +host=38.87.162.8 +name=Rsync.RecentChanges +rev=4 +text=* [[Rsync/Usage]] . . . July 19, 2021, at 02:30 AM by [[~jrmu]]: [==]%0a +time=1626661855 blob - /dev/null blob + aee343eb3bb4cc547436968b2ae0bb61e240b8f6 (mode 644) --- /dev/null +++ wiki.d/Rsync.Usage @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626616894 +host=38.87.162.8 +name=Rsync.Usage +rev=4 +targets= +text=(:title Rsync:)%0a%0a[[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a%0a'''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%0a!! Rsync Primer%0a%0aOpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%0aHere's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file ./%0a@]%0a%0aWe add the option @@-a@@ for archive mode.%0a%0aIf you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a@]%0a%0aThis copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a%0a[@%0a$ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a@]%0a%0aWe add @@-v@@ options to turn on verbosity (it will display each file copied).%0a%0a[@%0a$ rsync -v username@ircnow.org:/path/to/file ./%0a@]%0a%0a%0a!! Quick Check%0a%0aBefore you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%0a[@%0a$ df -h%0aFilesystem Size Used Avail Capacity Mounted on%0a/dev/sd0a 1005M 111M 844M 12%25 /%0a/dev/sd0k 192G 28.7G 153G 16%25 /home%0a/dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a/dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a/dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a@]%0a%0aBacking up /home will require at least 28.7G of space.%0a%0a%0a[@%0a$ rsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a@]%0a%0aThis will copy everything in /home/username on example.com into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files), and @@z@@ tells rsync to compress during the transfer..%0a%0a(:if false:)%0a!! Complete Functions%0a%0aPut the following functions at the end of ~/.profile:%0a%0a[@%0arsync-all () {%0a echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a read $cancel%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a date > date%0a md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a}%0a%0a@@rsync-all@@ will make a complete backup of the remote system you specify.%0a%0aSource it, then call it on the server:%0a%0a[@%0a$ . .profile%0a$ rsync-all example.ircnow.org%0a@]%0a(:ifend:)%0a +time=1626661855 +title=Rsync +author:1626661855=jrmu +diff:1626661855:1626661826:=61c61%0a%3c (:if false:)%0a---%0a> (:if false)%0a +host:1626661855=38.87.162.8 +author:1626661826=jrmu +diff:1626661826:1626617401:=61d60%0a%3c (:if false)%0a89d87%0a%3c (:ifend:)%0a +host:1626661826=38.87.162.8 +author:1626617401=jrmu +diff:1626617401:1626616894:=34c34%0a%3c $ rsync -v username@ircnow.org:/path/to/file ./%0a---%0a> $ rsync username@ircnow.org:/path/to/file ./%0a56c56%0a%3c $ rsync --rsync-path="doas rsync" -avz username@example.com:/home/username /dest/path/%0a---%0a> $ rsync --rsync-path="doas rsync" -av jrmu@jrmu.coconut.ircnow.org:/home /dest/path/%0a59c59%0a%3c This will copy everything in /home/username on example.com into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files), and @@z@@ tells rsync to compress during the transfer..%0a---%0a> This will copy everything in /home into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files).%0a +host:1626617401=38.87.162.8 +author:1626616894=jrmu +diff:1626616894:1626616894:=1,87d0%0a%3c (:title Rsync:)%0a%3c %0a%3c [[https://rsync.samba.org/|Rsync]] is a very useful tool for backing up files. It can be used remotely.%0a%3c %0a%3c '''WARNING''': If your filesystem is being actively written to, data corruption may occur.%0a%3c %0a%3c !! Rsync Primer%0a%3c %0a%3c OpenBSD includes its own rewrite of rsync called [[https://man.openbsd.org/openrsync|openrsync]]. It seems to be a bit buggy so I am going to use rsync instead. The commands below, however, will work with either openrsync or rsync.%0a%3c %0a%3c Here's how to back up the file /path/to/file on ircnow.org with username to the current directory:%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c We add the option @@-a@@ for archive mode.%0a%3c %0a%3c If you have multiple files, you can use the shorthand of :/path/to/second/file:%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c This copies both /path/to/file and /path/to/second/file from ircnow.org to your current local directory.%0a%3c %0a%3c [@%0a%3c $ rsync -a username@ircnow.org:/path/to/file :/path/to/second/file ./%0a%3c @]%0a%3c %0a%3c We add @@-v@@ options to turn on verbosity (it will display each file copied).%0a%3c %0a%3c [@%0a%3c $ rsync username@ircnow.org:/path/to/file ./%0a%3c @]%0a%3c %0a%3c %0a%3c !! Quick Check%0a%3c %0a%3c Before you backup your files, make sure you have enough disk space. To see how much space it will take, and how much you have available, run:%0a%3c %0a%3c [@%0a%3c $ df -h%0a%3c Filesystem Size Used Avail Capacity Mounted on%0a%3c /dev/sd0a 1005M 111M 844M 12%25 /%0a%3c /dev/sd0k 192G 28.7G 153G 16%25 /home%0a%3c /dev/sd0d 3.9G 22.1M 3.7G 1%25 /tmp%0a%3c /dev/sd0f 12.3G 7.3G 4.4G 63%25 /usr%0a%3c /dev/sd0e 14.7G 41.2M 14.0G 0%25 /var%0a%3c @]%0a%3c %0a%3c Backing up /home will require at least 28.7G of space.%0a%3c %0a%3c %0a%3c [@%0a%3c $ rsync --rsync-path="doas rsync" -av jrmu@jrmu.coconut.ircnow.org:/home /dest/path/%0a%3c @]%0a%3c %0a%3c This will copy everything in /home into /dest/path/. @@-a@@ specifies this is an archive, @@-v@@ tells rsync to be more verbose (show files).%0a%3c %0a%3c !! Complete Functions%0a%3c %0a%3c Put the following functions at the end of ~/.profile:%0a%3c %0a%3c [@%0a%3c rsync-all () {%0a%3c echo "Backing up in $PWD: type ctrl+c to abort, enter to continue"%0a%3c read $cancel%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /" > root.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home" > home.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /home/vmm" > vmm.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /mnt" > mnt.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var" > var.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /var/www/htdocs" > htdocs.dmp%0a%3c ssh $1 "doas dump -0 -a -u -h 0 -f - /usr" > usr.dmp%0a%3c date > date%0a%3c md5 root.dmp home.dmp vmm.dmp mnt.dmp var.dmp htdocs.dmp usr.dmp date > md5sum%0a%3c }%0a%3c %0a%3c @@rsync-all@@ will make a complete backup of the remote system you specify.%0a%3c %0a%3c Source it, then call it on the server:%0a%3c %0a%3c [@%0a%3c $ . .profile%0a%3c $ rsync-all example.ircnow.org%0a%3c @]%0a +host:1626616894=38.87.162.8 blob - /dev/null blob + 9c9cd44efca3bd26c45e7b35baa13c3f30569fa1 (mode 644) --- /dev/null +++ wiki.d/Sandbox.0dev @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1636595019 +host=125.165.111.73 +name=Sandbox.0dev +rev=3 +targets= +text=[[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | press up Arrow until you saw cursor blinking at install than ]]%0a +time=1636595110 +author:1636595110=dodocrypto +diff:1636595110:1636595032:=1d0%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | press up Arrow until you saw cursor blinking at install than ]]%0a +host:1636595110=125.165.111.73 +author:1636595032=dodocrypto +diff:1636595032:1636595019:=0a1%0a> [[https://www.example.com|text for hyperlink]]%0a\ No newline at end of file%0a +host:1636595032=125.165.111.73 +author:1636595019=dodocrypto +diff:1636595019:1636595019:=1d0%0a%3c [[https://www.example.com|text for hyperlink]]%0a\ No newline at end of file%0a +host:1636595019=125.165.111.73 blob - /dev/null blob + d4469d0bcde58711ae323f577f3318ceee5d9575 (mode 644) --- /dev/null +++ wiki.d/Sandbox.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +charset=UTF-8 +ctime=1636595019 +host=125.165.111.73 +name=Sandbox.RecentChanges +rev=3 +text=* [[Sandbox/0dev]] . . . November 11, 2021, at 01:45 AM by [[~dodocrypto]]: [==]%0a +time=1636595110 blob - /dev/null blob + 38af13c20a49ea72f9fdebaed71e41da0efdeeec (mode 644) --- /dev/null +++ wiki.d/Seamonkey.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +author=mkf +charset=UTF-8 +csum= +ctime=1630150430 +host=89.187.179.59 +name=Seamonkey.Connect +rev=4 +targets= +text=[[https://www.seamonkey-project.org/|SeaMonkey]] is a internet suite, contains News reader, IRC client, Email Client and Web navigator.%0a%0a!!Email%0aafter opening SeaMonkey Email program, you'll see:%0a%0aAttach:SeaMonkey-welcome.PNG%0aChoose "Email account"%0a%0aAttach:SeaMonkey-account.PNG%0aThen, insert your name and your email address.%0a%0aAttach:SeaMonkey-server-IMAP.PNG%0aChoose IMAP. set "Incoming Server" as imap.ircnow.org and set "User Name" as your email address.%0a%0aAttach:SeaMonkey-server-SMTP.PNG%0aSet "Outgoing Server" as smtp.ircnow.org and set "Outgoing User Name" as your email address.%0a%0aAttach:SeaMonkey-account.PNG%0aChoose a name for this account.%0a%0aAttach:SeaMonkey-server-TLS.PNG%0anote that SeaMonkey uses plain-text connections instead of encrypted by default. you need to enable TLS/STARTTLS for better security.%0aon "Account Settings", go on "Server Settings" under your account name.%0a%0aAttach:SeaMonkey-server-IMAP-TLS.PNG%0aand select on "Security Settings" as "Connection security"%0a%0aAttach:SeaMonkey-server-SMTP-TLS.PNG%0aselect "Outgoing Server (SMTP)" and click on "Edit"%0a%0aAttach:SeaMonkey-server-SMTP-TLS2.PNG%0aUnder "Security and Authentication", Set "Connection security" to STARTTLS +time=1630155917 +author:1630155917=mkf +diff:1630155917:1630151812:=12c12%0a%3c Attach:SeaMonkey-server-IMAP.PNG%0a---%0a> Attach:SeaMonkey-IMAP.PNG%0a15c15%0a%3c Attach:SeaMonkey-server-SMTP.PNG%0a---%0a> Attach:SeaMonkey-SMTP.PNG%0a21c21%0a%3c Attach:SeaMonkey-server-TLS.PNG%0a---%0a> Attach:SeaMonkey-Server-TLS.PNG%0a +host:1630155917=89.187.179.59 +author:1630151812=mkf +diff:1630151812:1630150863:=10,11c10,11%0a%3c Then, insert your name and your email address.%0a%3c %0a---%0a> then, insert your name and your email address.%0a> %0a13,32c13,15%0a%3c Choose IMAP. set "Incoming Server" as imap.ircnow.org and set "User Name" as your email address.%0a%3c %0a%3c Attach:SeaMonkey-SMTP.PNG%0a%3c Set "Outgoing Server" as smtp.ircnow.org and set "Outgoing User Name" as your email address.%0a%3c %0a%3c Attach:SeaMonkey-account.PNG%0a%3c Choose a name for this account.%0a%3c %0a%3c Attach:SeaMonkey-Server-TLS.PNG%0a%3c note that SeaMonkey uses plain-text connections instead of encrypted by default. you need to enable TLS/STARTTLS for better security.%0a%3c on "Account Settings", go on "Server Settings" under your account name.%0a%3c %0a%3c Attach:SeaMonkey-server-IMAP-TLS.PNG%0a%3c and select on "Security Settings" as "Connection security"%0a%3c %0a%3c Attach:SeaMonkey-server-SMTP-TLS.PNG%0a%3c select "Outgoing Server (SMTP)" and click on "Edit"%0a%3c %0a%3c Attach:SeaMonkey-server-SMTP-TLS2.PNG%0a%3c Under "Security and Authentication", Set "Connection security" to STARTTLS%0a\ No newline at end of file%0a---%0a> choose IMAP. set "Incoming Server" as imap.ircnow.org and set "User Name" as your email adress%0a> %0a> Attach:SeaMonkey-SMTP.PNG%0a\ No newline at end of file%0a +host:1630151812=190.2.131.205 +author:1630150863=mkf +diff:1630150863:1630150430:=5d4%0a%3c %0a7,15d5%0a%3c Choose "Email account"%0a%3c %0a%3c Attach:SeaMonkey-account.PNG%0a%3c then, insert your name and your email address.%0a%3c %0a%3c Attach:SeaMonkey-IMAP.PNG%0a%3c choose IMAP. set "Incoming Server" as imap.ircnow.org and set "User Name" as your email adress%0a%3c %0a%3c Attach:SeaMonkey-SMTP.PNG%0a\ No newline at end of file%0a +host:1630150863=190.2.131.205 +author:1630150430=mkf +diff:1630150430:1630150430:=1,5d0%0a%3c [[https://www.seamonkey-project.org/|SeaMonkey]] is a internet suite, contains News reader, IRC client, Email Client and Web navigator.%0a%3c %0a%3c !!Email%0a%3c after opening SeaMonkey Email program, you'll see:%0a%3c Attach:SeaMonkey-welcome.PNG%0a +host:1630150430=190.2.131.205 blob - /dev/null blob + 5c5b1d1b8fd6bd390ebd61e653dbf99588bb06c5 (mode 644) --- /dev/null +++ wiki.d/Seamonkey.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73 +charset=UTF-8 +ctime=1630150430 +host=89.187.179.59 +name=Seamonkey.RecentChanges +rev=4 +text=* [[Seamonkey/Connect]] . . . August 28, 2021, at 01:05 PM by [[~mkf]]: [==]%0a +time=1630155917 blob - /dev/null blob + 2221255e435551e6b23c9c4f74fb10e0945299f2 (mode 644) --- /dev/null +++ wiki.d/SerFISH.Connect @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1628269507 +host=125.231.70.149 +name=SerFISH.Connect +rev=1 +targets= +text=https://www.serfish.com/console/ +time=1628269507 +author:1628269507=jrmu +diff:1628269507:1628269507:=1d0%0a%3c https://www.serfish.com/console/%0a\ No newline at end of file%0a +host:1628269507=125.231.70.149 blob - /dev/null blob + 88e32d9f479fd082076580d3e9fe79a439880168 (mode 644) --- /dev/null +++ wiki.d/SerFISH.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1628269507 +host=125.231.70.149 +name=SerFISH.RecentChanges +rev=1 +text=* [[SerFISH/Connect]] . . . August 06, 2021, at 05:05 PM by [[~jrmu]]: [==]%0a +time=1628269507 blob - /dev/null blob + 64543b3ac18307725b2ccad2e2934076b930aa43 (mode 644) --- /dev/null +++ wiki.d/Servers.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1612455239 +host=198.251.81.119 +name=Servers.RecentChanges +rev=5 +text=* [[Servers/Rights]] . . . February 28, 2021, at 12:37 PM by [[~jrmu]]: [==]%0a +time=1614515855 blob - /dev/null blob + 641fdebdbd1696891a5f2f7ddca114e511170116 (mode 644) --- /dev/null +++ wiki.d/Servers.Rights @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612455239 +host=198.251.81.119 +name=Servers.Rights +rev=5 +targets=Freedom.Federation,Ircnow.Team,Openbsd.Training,Third.Third,Ircnow.Networks,Ircnow.Constitution +text=(:title Servers' Rights:)%0a%0aIRCNow is a [[freedom/federation|federation]]. Each server governs itself.%0a%0aEach server picks its own staff:%0a# Your team is encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a# Your team should interview trainees and get to know them to see if they are trustworthy%0a# Your team chooses whether to ask trainees for a resume, legal name, or phone number%0a%0aEach server chooses its own services:%0a# Your team decides whether to host web, bouncers, mail, bots, games...%0a# Your team decides which [[third/third|third party services]] it wants to provide%0a# Your team claims its own [[ircnow/networks|IRC Networks]] to manage%0a# Your team is responsible for #ircnow on your [[ircnow/networks|claimed networks]]%0a%0aEach server sets its own policies:%0a# Please create a terms of service and a privacy policy%0a# Your team defines what is abuse and your terms of service%0a%0aEach server handles its own abuse:%0a# Each team owns the official #ircnow channel on [[ircnow/networks|each network it claims]]%0a# Each team can ban abusive users from their channels, IRC server, and other services%0a%0aEach server manages its own money:%0a# Your team sets up its own payment gateway (eg Paypal, Skrill, Patreon)%0a# Your team sets up its own cryptocurrency wallet%0a# Your team registers as its own business or non-profit organization%0a# Your team collects its own donations and revenues and manages them%0a# Your team will pay for its own expenses%0a# Your team can choose how to pay salaries%0a# If our network needs money to pay for common expenses like software development, we vote for it in Congress%0a# We ask each server to account for all revenues and expenses so that our network has transparency about how much each team earns and spends.%0a%0aEach server participates in elections:%0a# Each server must eventually allow users to vote%0a# In the future, each server will vote for president.%0a%0aEach server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]], which is modeled after the US constitution.%0a%0aWe unite together to provide one common, strong network:%0a%0aLiberty and Union, one and separable, IRCNow and forever! +time=1614515855 +title=Servers' Rights +author:1614515855=jrmu +diff:1614515855:1612492159:=5a6%0a> %0a18,23c19,20%0a%3c # Your team defines what is abuse and your terms of service%0a%3c %0a%3c Each server handles its own abuse:%0a%3c # Each team owns the official #ircnow channel on [[ircnow/networks|each network it claims]]%0a%3c # Each team can ban abusive users from their channels, IRC server, and other services%0a%3c %0a---%0a> # Your team decides how to ban users and your terms of service%0a> %0a40,42c37%0a%3c We unite together to provide one common, strong network:%0a%3c %0a%3c Liberty and Union, one and separable, IRCNow and forever!%0a\ No newline at end of file%0a---%0a> We unite together to provide one common, strong network.%0a\ No newline at end of file%0a +host:1614515855=198.251.81.119 +author:1612492159=jrmu +diff:1612492159:1612456844:=19c19%0a%3c # Your team decides how to ban users and your terms of service%0a---%0a> # Your team decides how to ban users and your censorship policy%0a +host:1612492159=125.231.56.15 +author:1612456844=jrmu +diff:1612456844:1612455539:=14,15d13%0a%3c # Your team claims its own [[ircnow/networks|IRC Networks]] to manage%0a%3c # Your team is responsible for #ircnow on your [[ircnow/networks|claimed networks]]%0a +host:1612456844=198.251.81.119 +author:1612455539=jrmu +diff:1612455539:1612455239:=1,2d0%0a%3c (:title Servers' Rights:)%0a%3c %0a +host:1612455539=198.251.81.119 +author:1612455239=jrmu +diff:1612455239:1612455239:=1,33d0%0a%3c IRCNow is a [[freedom/federation|federation]]. Each server governs itself.%0a%3c %0a%3c Each server picks its own staff:%0a%3c %0a%3c # Your team is encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a%3c # Your team should interview trainees and get to know them to see if they are trustworthy%0a%3c # Your team chooses whether to ask trainees for a resume, legal name, or phone number%0a%3c %0a%3c Each server chooses its own services:%0a%3c # Your team decides whether to host web, bouncers, mail, bots, games...%0a%3c # Your team decides which [[third/third|third party services]] it wants to provide%0a%3c %0a%3c Each server sets its own policies:%0a%3c # Please create a terms of service and a privacy policy%0a%3c # Your team decides how to ban users and your censorship policy%0a%3c %0a%3c Each server manages its own money:%0a%3c # Your team sets up its own payment gateway (eg Paypal, Skrill, Patreon)%0a%3c # Your team sets up its own cryptocurrency wallet%0a%3c # Your team registers as its own business or non-profit organization%0a%3c # Your team collects its own donations and revenues and manages them%0a%3c # Your team will pay for its own expenses%0a%3c # Your team can choose how to pay salaries%0a%3c # If our network needs money to pay for common expenses like software development, we vote for it in Congress%0a%3c # We ask each server to account for all revenues and expenses so that our network has transparency about how much each team earns and spends.%0a%3c %0a%3c Each server participates in elections:%0a%3c # Each server must eventually allow users to vote%0a%3c # In the future, each server will vote for president.%0a%3c %0a%3c Each server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]], which is modeled after the US constitution.%0a%3c %0a%3c We unite together to provide one common, strong network.%0a\ No newline at end of file%0a +host:1612455239=198.251.81.119 blob - /dev/null blob + e642448d80e9d0f3783f712adfceedb2b1091421 (mode 644) --- /dev/null +++ wiki.d/Shell.Applications @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 +author=fizi +charset=UTF-8 +csum= +ctime=1596456218 +host=39.42.117.94 +name=Shell.Applications +rev=6 +targets= +text=Software that comes preinstalled with your shell account:%0a|| border=5 width=100%25 class="sortable simpletable"%0a%0a||ImageMagick-6.9.10.62 ||%0a||alpine-2.21p3 ||%0a||anthy-9100hp2 ||%0a||antiword-0.37p0 ||%0a||apr-1.6.5p0||%0a||apr-util-1.6.1p2||%0a||argon2-20171227||%0a||aspell-0.60.6.1p10|| %0a||bash-5.0.11|| %0a||boehm-gc-7.6.0p3|| %0a||boost-1.66.0p7|| %0a||bzip2-1.0.8 || %0a||cmake-3.15.3v0 || %0a||coreutils-8.31p1||%0a||curl-7.66.0 || %0a||cvsps-2.1p2 ||%0a||cyrus-sasl-2.1.27p1 || %0a||db-4.6.21p7v0 || %0a||desktop-file-utils-0.24p0 || %0a||djvulibre-3.5.27p6 || %0a||docx2txt-1.4p0 || %0a||elvis-2.2.0p5-no_x11 || %0a||emacs-26.3-no_x11 || %0a||fdm-2.0 || %0a||fetchmail-6.3.26p3 || %0a||fftw3-3.3.8p1 || %0a||fftw3-common-3.3.8p1 || %0a||figlet-2.2.5 || %0a||gawk-5.0.0p0 || %0a||gdk-pixbuf-2.38.2 || %0a||geomyidae-0.34 || %0a||gettext-runtime-0.20.1p0 || %0a||giflib-5.1.6 || %0a||git-2.23.0 || %0a||glib2-2.60.7 || %0a||gmake-4.2.1p4 || %0a||gnupg-1.4.23p3 || %0a||gnupg-2.2.12p0 || %0a||got-0.17 || %0a||groff-1.22.4p0 || %0a||gtk-update-icon-cache-3.24.12 || %0a||hicolor-icon-theme-0.17 || %0a||icu4c-64.2p0 || %0a||ii-1.7p3 || %0a||irssi-1.2.2 || %0a||jasper-2.0.14 || %0a||jbigkit-2.1 || %0a||jpeg-2.0.3v0 || %0a||jq-1.6p0 || %0a||jsoncpp-1.8.4p2 || %0a||lcms2-2.9p0 || %0a||ledger-3.1.1p4|| %0a||links-1.03p0 || %0a||lynx-2.8.9rel1p0 || %0a||lz4-1.9.2 || %0a||mariadb-client-10.3.20v1 || %0a||mariadb-server-10.3.20v1|| %0a||mcabber-1.1.0p4 || %0a||mercurial-5.0.2 || %0a||multitail-6.4.2p0 || %0a||mutt-1.12.2v3-sasl || %0a||nano-4.4 || %0a||newsboat-2.15p0 || %0a||nghttp2-1.39.2 || %0a||ngircd-25 || %0a||node-10.16.3 || %0a||nvi-2.1.3p2 || %0a||oath-toolkit-2.6.2p1|| %0a||openjp2-2.3.1 || %0a||p11-kit-0.23.18.1 || %0a||pcre-8.41p2 || %0a||php-7.3.12 || %0a||pico-5.09p20 || %0a||pkglocatedb-1.5 || %0a||png-1.6.37 || %0a||profanity-0.7.1 || %0a||py-pip-19.1.1 || %0a||py3-pip-19.1.1 || %0a||python-2.7.16p1 || %0a||python-3.7.4 || %0a||python-3.7.4 || %0a||quirks-3.182 || %0a||rhash-1.3.5p0 || %0a||rsync-3.1.3 || %0a||sacc-1.00 || %0a||screen-4.6.2 || %0a||shared-mime-info-1.10p5 || %0a||sic-1.2p1 || %0a||slrn-1.0.2p2 || %0a||sqlite3-3.29.0 || %0a||subversion-1.12.2 || %0a||tcsh-6.20.00p1 || %0a||tiff-4.0.10 || %0a||tree-0.62 || %0a||trn-4.0.77p2 || %0a||uim-1.8.8p0 || %0a||uim-chewing-0.1.0p2 || %0a||unzip-6.0p12 || %0a||vim-8.1.2061-no_x11|| %0a||w3m-0.5.3p8 || %0a||weechat-2.6 || %0a||wget-1.20.3p1 || %0a||wkhtmltopdf-0.12.5p1|| %0a||xlsx2csv-20150318p1 || %0a||xz-5.2.4|| %0a||zh-fonts-arphicttf-2.11p4 || %0a||zh-fonts-kc-1.05p2 || %0a||zh-libchewing-0.5.1p0 || %0a||zh-libpinyin-2.3.0 || %0a||zh-wqy-bitmapfont-0.9.9.0p2 || %0a||zh-wqy-zenhei-ttf-0.6.26.0p2 || %0a||zip-3.0p1|| %0a||znc-1.7.4|| %0a||zstd-1.4.3|| %0a +time=1608402100 +author:1608402100=fizi +diff:1608402100:1608402058:=2c2%0a%3c || border=5 width=100%25 class="sortable simpletable"%0a---%0a> || border=1 width=100%25 class="sortable simpletable"%0a +host:1608402100=39.42.117.94 +author:1608402058=fizi +diff:1608402058:1608401427:=23,117c23,117%0a%3c ||djvulibre-3.5.27p6 || %0a%3c ||docx2txt-1.4p0 || %0a%3c ||elvis-2.2.0p5-no_x11 || %0a%3c ||emacs-26.3-no_x11 || %0a%3c ||fdm-2.0 || %0a%3c ||fetchmail-6.3.26p3 || %0a%3c ||fftw3-3.3.8p1 || %0a%3c ||fftw3-common-3.3.8p1 || %0a%3c ||figlet-2.2.5 || %0a%3c ||gawk-5.0.0p0 || %0a%3c ||gdk-pixbuf-2.38.2 || %0a%3c ||geomyidae-0.34 || %0a%3c ||gettext-runtime-0.20.1p0 || %0a%3c ||giflib-5.1.6 || %0a%3c ||git-2.23.0 || %0a%3c ||glib2-2.60.7 || %0a%3c ||gmake-4.2.1p4 || %0a%3c ||gnupg-1.4.23p3 || %0a%3c ||gnupg-2.2.12p0 || %0a%3c ||got-0.17 || %0a%3c ||groff-1.22.4p0 || %0a%3c ||gtk-update-icon-cache-3.24.12 || %0a%3c ||hicolor-icon-theme-0.17 || %0a%3c ||icu4c-64.2p0 || %0a%3c ||ii-1.7p3 || %0a%3c ||irssi-1.2.2 || %0a%3c ||jasper-2.0.14 || %0a%3c ||jbigkit-2.1 || %0a%3c ||jpeg-2.0.3v0 || %0a%3c ||jq-1.6p0 || %0a%3c ||jsoncpp-1.8.4p2 || %0a%3c ||lcms2-2.9p0 || %0a%3c ||ledger-3.1.1p4|| %0a%3c ||links-1.03p0 || %0a%3c ||lynx-2.8.9rel1p0 || %0a%3c ||lz4-1.9.2 || %0a%3c ||mariadb-client-10.3.20v1 || %0a%3c ||mariadb-server-10.3.20v1|| %0a%3c ||mcabber-1.1.0p4 || %0a%3c ||mercurial-5.0.2 || %0a%3c ||multitail-6.4.2p0 || %0a%3c ||mutt-1.12.2v3-sasl || %0a%3c ||nano-4.4 || %0a%3c ||newsboat-2.15p0 || %0a%3c ||nghttp2-1.39.2 || %0a%3c ||ngircd-25 || %0a%3c ||node-10.16.3 || %0a%3c ||nvi-2.1.3p2 || %0a%3c ||oath-toolkit-2.6.2p1|| %0a%3c ||openjp2-2.3.1 || %0a%3c ||p11-kit-0.23.18.1 || %0a%3c ||pcre-8.41p2 || %0a%3c ||php-7.3.12 || %0a%3c ||pico-5.09p20 || %0a%3c ||pkglocatedb-1.5 || %0a%3c ||png-1.6.37 || %0a%3c ||profanity-0.7.1 || %0a%3c ||py-pip-19.1.1 || %0a%3c ||py3-pip-19.1.1 || %0a%3c ||python-2.7.16p1 || %0a%3c ||python-3.7.4 || %0a%3c ||python-3.7.4 || %0a%3c ||quirks-3.182 || %0a%3c ||rhash-1.3.5p0 || %0a%3c ||rsync-3.1.3 || %0a%3c ||sacc-1.00 || %0a%3c ||screen-4.6.2 || %0a%3c ||shared-mime-info-1.10p5 || %0a%3c ||sic-1.2p1 || %0a%3c ||slrn-1.0.2p2 || %0a%3c ||sqlite3-3.29.0 || %0a%3c ||subversion-1.12.2 || %0a%3c ||tcsh-6.20.00p1 || %0a%3c ||tiff-4.0.10 || %0a%3c ||tree-0.62 || %0a%3c ||trn-4.0.77p2 || %0a%3c ||uim-1.8.8p0 || %0a%3c ||uim-chewing-0.1.0p2 || %0a%3c ||unzip-6.0p12 || %0a%3c ||vim-8.1.2061-no_x11|| %0a%3c ||w3m-0.5.3p8 || %0a%3c ||weechat-2.6 || %0a%3c ||wget-1.20.3p1 || %0a%3c ||wkhtmltopdf-0.12.5p1|| %0a%3c ||xlsx2csv-20150318p1 || %0a%3c ||xz-5.2.4|| %0a%3c ||zh-fonts-arphicttf-2.11p4 || %0a%3c ||zh-fonts-kc-1.05p2 || %0a%3c ||zh-libchewing-0.5.1p0 || %0a%3c ||zh-libpinyin-2.3.0 || %0a%3c ||zh-wqy-bitmapfont-0.9.9.0p2 || %0a%3c ||zh-wqy-zenhei-ttf-0.6.26.0p2 || %0a%3c ||zip-3.0p1|| %0a%3c ||znc-1.7.4|| %0a%3c ||zstd-1.4.3|| %0a---%0a> ||djvulibre-3.5.27p6%0a> ||docx2txt-1.4p0 %0a> ||elvis-2.2.0p5-no_x11 %0a> ||emacs-26.3-no_x11 %0a> ||fdm-2.0 %0a> ||fetchmail-6.3.26p3 %0a> ||fftw3-3.3.8p1 %0a> ||fftw3-common-3.3.8p1 %0a> ||figlet-2.2.5 %0a> ||gawk-5.0.0p0 %0a> ||gdk-pixbuf-2.38.2 %0a> ||geomyidae-0.34%0a> ||gettext-runtime-0.20.1p0 %0a> ||giflib-5.1.6 %0a> ||git-2.23.0 %0a> ||glib2-2.60.7 %0a> ||gmake-4.2.1p4 %0a> ||gnupg-1.4.23p3 %0a> ||gnupg-2.2.12p0 %0a> ||got-0.17 %0a> ||groff-1.22.4p0 %0a> ||gtk-update-icon-cache-3.24.12%0a> ||hicolor-icon-theme-0.17 %0a> ||icu4c-64.2p0 %0a> ||ii-1.7p3 %0a> ||irssi-1.2.2 %0a> ||jasper-2.0.14%0a> ||jbigkit-2.1 %0a> ||jpeg-2.0.3v0 %0a> ||jq-1.6p0 %0a> ||jsoncpp-1.8.4p2 %0a> ||lcms2-2.9p0 %0a> ||ledger-3.1.1p4%0a> ||links-1.03p0 %0a> ||lynx-2.8.9rel1p0 %0a> ||lz4-1.9.2 %0a> ||mariadb-client-10.3.20v1 %0a> ||mariadb-server-10.3.20v1%0a> ||mcabber-1.1.0p4 %0a> ||mercurial-5.0.2 %0a> ||multitail-6.4.2p0 %0a> ||mutt-1.12.2v3-sasl %0a> ||nano-4.4 %0a> ||newsboat-2.15p0 %0a> ||nghttp2-1.39.2 %0a> ||ngircd-25 %0a> ||node-10.16.3 %0a> ||nvi-2.1.3p2 %0a> ||oath-toolkit-2.6.2p1%0a> ||openjp2-2.3.1 %0a> ||p11-kit-0.23.18.1 %0a> ||pcre-8.41p2 %0a> ||php-7.3.12 %0a> ||pico-5.09p20 %0a> ||pkglocatedb-1.5 %0a> ||png-1.6.37 %0a> ||profanity-0.7.1 %0a> ||py-pip-19.1.1 %0a> ||py3-pip-19.1.1 %0a> ||python-2.7.16p1 %0a> ||python-3.7.4 %0a> ||python-3.7.4 %0a> ||quirks-3.182 %0a> ||rhash-1.3.5p0 %0a> ||rsync-3.1.3 %0a> ||sacc-1.00 %0a> ||screen-4.6.2 %0a> ||shared-mime-info-1.10p5 %0a> ||sic-1.2p1 %0a> ||slrn-1.0.2p2 %0a> ||sqlite3-3.29.0 %0a> ||subversion-1.12.2 %0a> ||tcsh-6.20.00p1 %0a> ||tiff-4.0.10 %0a> ||tree-0.62 %0a> ||trn-4.0.77p2 %0a> ||uim-1.8.8p0 %0a> ||uim-chewing-0.1.0p2 %0a> ||unzip-6.0p12 %0a> ||vim-8.1.2061-no_x11%0a> ||w3m-0.5.3p8 %0a> ||weechat-2.6 %0a> ||wget-1.20.3p1 %0a> ||wkhtmltopdf-0.12.5p1%0a> ||xlsx2csv-20150318p1 %0a> ||xz-5.2.4%0a> ||zh-fonts-arphicttf-2.11p4%0a> ||zh-fonts-kc-1.05p2%0a> ||zh-libchewing-0.5.1p0%0a> ||zh-libpinyin-2.3.0 %0a> ||zh-wqy-bitmapfont-0.9.9.0p2%0a> ||zh-wqy-zenhei-ttf-0.6.26.0p2 %0a> ||zip-3.0p1%0a> ||znc-1.7.4%0a> ||zstd-1.4.3%0a +host:1608402058=39.42.117.94 +author:1608401427=fizi +diff:1608401427:1608401355:=5,22c5,22%0a%3c ||alpine-2.21p3 ||%0a%3c ||anthy-9100hp2 ||%0a%3c ||antiword-0.37p0 ||%0a%3c ||apr-1.6.5p0||%0a%3c ||apr-util-1.6.1p2||%0a%3c ||argon2-20171227||%0a%3c ||aspell-0.60.6.1p10|| %0a%3c ||bash-5.0.11|| %0a%3c ||boehm-gc-7.6.0p3|| %0a%3c ||boost-1.66.0p7|| %0a%3c ||bzip2-1.0.8 || %0a%3c ||cmake-3.15.3v0 || %0a%3c ||coreutils-8.31p1||%0a%3c ||curl-7.66.0 || %0a%3c ||cvsps-2.1p2 ||%0a%3c ||cyrus-sasl-2.1.27p1 || %0a%3c ||db-4.6.21p7v0 || %0a%3c ||desktop-file-utils-0.24p0 || %0a---%0a> ||alpine-2.21p3%0a> ||anthy-9100hp2%0a> ||antiword-0.37p0%0a> ||apr-1.6.5p0%0a> ||apr-util-1.6.1p2%0a> ||argon2-20171227%0a> ||aspell-0.60.6.1p10 %0a> ||bash-5.0.11 %0a> ||boehm-gc-7.6.0p3 %0a> ||boost-1.66.0p7 %0a> ||bzip2-1.0.8 %0a> ||cmake-3.15.3v0 %0a> ||coreutils-8.31p1%0a> ||curl-7.66.0 %0a> ||cvsps-2.1p2%0a> ||cyrus-sasl-2.1.27p1 %0a> ||db-4.6.21p7v0 %0a> ||desktop-file-utils-0.24p0 %0a +host:1608401427=39.42.117.94 +author:1608401355=fizi +diff:1608401355:1608401144:=5,117c5,118%0a%3c ||alpine-2.21p3%0a%3c ||anthy-9100hp2%0a%3c ||antiword-0.37p0%0a%3c ||apr-1.6.5p0%0a%3c ||apr-util-1.6.1p2%0a%3c ||argon2-20171227%0a%3c ||aspell-0.60.6.1p10 %0a%3c ||bash-5.0.11 %0a%3c ||boehm-gc-7.6.0p3 %0a%3c ||boost-1.66.0p7 %0a%3c ||bzip2-1.0.8 %0a%3c ||cmake-3.15.3v0 %0a%3c ||coreutils-8.31p1%0a%3c ||curl-7.66.0 %0a%3c ||cvsps-2.1p2%0a%3c ||cyrus-sasl-2.1.27p1 %0a%3c ||db-4.6.21p7v0 %0a%3c ||desktop-file-utils-0.24p0 %0a%3c ||djvulibre-3.5.27p6%0a%3c ||docx2txt-1.4p0 %0a%3c ||elvis-2.2.0p5-no_x11 %0a%3c ||emacs-26.3-no_x11 %0a%3c ||fdm-2.0 %0a%3c ||fetchmail-6.3.26p3 %0a%3c ||fftw3-3.3.8p1 %0a%3c ||fftw3-common-3.3.8p1 %0a%3c ||figlet-2.2.5 %0a%3c ||gawk-5.0.0p0 %0a%3c ||gdk-pixbuf-2.38.2 %0a%3c ||geomyidae-0.34%0a%3c ||gettext-runtime-0.20.1p0 %0a%3c ||giflib-5.1.6 %0a%3c ||git-2.23.0 %0a%3c ||glib2-2.60.7 %0a%3c ||gmake-4.2.1p4 %0a%3c ||gnupg-1.4.23p3 %0a%3c ||gnupg-2.2.12p0 %0a%3c ||got-0.17 %0a%3c ||groff-1.22.4p0 %0a%3c ||gtk-update-icon-cache-3.24.12%0a%3c ||hicolor-icon-theme-0.17 %0a%3c ||icu4c-64.2p0 %0a%3c ||ii-1.7p3 %0a%3c ||irssi-1.2.2 %0a%3c ||jasper-2.0.14%0a%3c ||jbigkit-2.1 %0a%3c ||jpeg-2.0.3v0 %0a%3c ||jq-1.6p0 %0a%3c ||jsoncpp-1.8.4p2 %0a%3c ||lcms2-2.9p0 %0a%3c ||ledger-3.1.1p4%0a%3c ||links-1.03p0 %0a%3c ||lynx-2.8.9rel1p0 %0a%3c ||lz4-1.9.2 %0a%3c ||mariadb-client-10.3.20v1 %0a%3c ||mariadb-server-10.3.20v1%0a%3c ||mcabber-1.1.0p4 %0a%3c ||mercurial-5.0.2 %0a%3c ||multitail-6.4.2p0 %0a%3c ||mutt-1.12.2v3-sasl %0a%3c ||nano-4.4 %0a%3c ||newsboat-2.15p0 %0a%3c ||nghttp2-1.39.2 %0a%3c ||ngircd-25 %0a%3c ||node-10.16.3 %0a%3c ||nvi-2.1.3p2 %0a%3c ||oath-toolkit-2.6.2p1%0a%3c ||openjp2-2.3.1 %0a%3c ||p11-kit-0.23.18.1 %0a%3c ||pcre-8.41p2 %0a%3c ||php-7.3.12 %0a%3c ||pico-5.09p20 %0a%3c ||pkglocatedb-1.5 %0a%3c ||png-1.6.37 %0a%3c ||profanity-0.7.1 %0a%3c ||py-pip-19.1.1 %0a%3c ||py3-pip-19.1.1 %0a%3c ||python-2.7.16p1 %0a%3c ||python-3.7.4 %0a%3c ||python-3.7.4 %0a%3c ||quirks-3.182 %0a%3c ||rhash-1.3.5p0 %0a%3c ||rsync-3.1.3 %0a%3c ||sacc-1.00 %0a%3c ||screen-4.6.2 %0a%3c ||shared-mime-info-1.10p5 %0a%3c ||sic-1.2p1 %0a%3c ||slrn-1.0.2p2 %0a%3c ||sqlite3-3.29.0 %0a%3c ||subversion-1.12.2 %0a%3c ||tcsh-6.20.00p1 %0a%3c ||tiff-4.0.10 %0a%3c ||tree-0.62 %0a%3c ||trn-4.0.77p2 %0a%3c ||uim-1.8.8p0 %0a%3c ||uim-chewing-0.1.0p2 %0a%3c ||unzip-6.0p12 %0a%3c ||vim-8.1.2061-no_x11%0a%3c ||w3m-0.5.3p8 %0a%3c ||weechat-2.6 %0a%3c ||wget-1.20.3p1 %0a%3c ||wkhtmltopdf-0.12.5p1%0a%3c ||xlsx2csv-20150318p1 %0a%3c ||xz-5.2.4%0a%3c ||zh-fonts-arphicttf-2.11p4%0a%3c ||zh-fonts-kc-1.05p2%0a%3c ||zh-libchewing-0.5.1p0%0a%3c ||zh-libpinyin-2.3.0 %0a%3c ||zh-wqy-bitmapfont-0.9.9.0p2%0a%3c ||zh-wqy-zenhei-ttf-0.6.26.0p2 %0a%3c ||zip-3.0p1%0a%3c ||znc-1.7.4%0a%3c ||zstd-1.4.3%0a---%0a> alpine-2.21p3%0a> anthy-9100hp2%0a> antiword-0.37p0%0a> apr-1.6.5p0%0a> apr-util-1.6.1p2%0a> argon2-20171227%0a> aspell-0.60.6.1p10 %0a> bash-5.0.11 %0a> boehm-gc-7.6.0p3 %0a> boost-1.66.0p7 %0a> bzip2-1.0.8 %0a> cmake-3.15.3v0 %0a> coreutils-8.31p1%0a> curl-7.66.0 %0a> cvsps-2.1p2%0a> cyrus-sasl-2.1.27p1 %0a> db-4.6.21p7v0 %0a> desktop-file-utils-0.24p0 %0a> djvulibre-3.5.27p6%0a> docx2txt-1.4p0 %0a> elvis-2.2.0p5-no_x11 %0a> emacs-26.3-no_x11 %0a> fdm-2.0 %0a> fetchmail-6.3.26p3 %0a> fftw3-3.3.8p1 %0a> fftw3-common-3.3.8p1 %0a> figlet-2.2.5 %0a> gawk-5.0.0p0 %0a> gdk-pixbuf-2.38.2 %0a> geomyidae-0.34%0a> gettext-runtime-0.20.1p0 %0a> giflib-5.1.6 %0a> git-2.23.0 %0a> glib2-2.60.7 %0a> gmake-4.2.1p4 %0a> gnupg-1.4.23p3 %0a> gnupg-2.2.12p0 %0a> got-0.17 %0a> groff-1.22.4p0 %0a> gtk-update-icon-cache-3.24.12%0a> hicolor-icon-theme-0.17 %0a> icu4c-64.2p0 %0a> ii-1.7p3 %0a> irssi-1.2.2 %0a> jasper-2.0.14%0a> jbigkit-2.1 %0a> jpeg-2.0.3v0 %0a> jq-1.6p0 %0a> jsoncpp-1.8.4p2 %0a> lcms2-2.9p0 %0a> ledger-3.1.1p4%0a> links-1.03p0 %0a> lynx-2.8.9rel1p0 %0a> lz4-1.9.2 %0a> mariadb-client-10.3.20v1 %0a> mariadb-server-10.3.20v1%0a> mcabber-1.1.0p4 %0a> mercurial-5.0.2 %0a> multitail-6.4.2p0 %0a> mutt-1.12.2v3-sasl %0a> nano-4.4 %0a> newsboat-2.15p0 %0a> nghttp2-1.39.2 %0a> ngircd-25 %0a> node-10.16.3 %0a> nvi-2.1.3p2 %0a> oath-toolkit-2.6.2p1%0a> openjp2-2.3.1 %0a> p11-kit-0.23.18.1 %0a> pcre-8.41p2 %0a> php-7.3.12 %0a> pico-5.09p20 %0a> pkglocatedb-1.5 %0a> png-1.6.37 %0a> profanity-0.7.1 %0a> py-pip-19.1.1 %0a> py3-pip-19.1.1 %0a> python-2.7.16p1 %0a> python-3.7.4 %0a> python-3.7.4 %0a> quirks-3.182 %0a> rhash-1.3.5p0 %0a> rsync-3.1.3 %0a> sacc-1.00 %0a> screen-4.6.2 %0a> shared-mime-info-1.10p5 %0a> sic-1.2p1 %0a> slrn-1.0.2p2 %0a> sqlite3-3.29.0 %0a> subversion-1.12.2 %0a> tcsh-6.20.00p1 %0a> tiff-4.0.10 %0a> tree-0.62 %0a> trn-4.0.77p2 %0a> uim-1.8.8p0 %0a> uim-chewing-0.1.0p2 %0a> unzip-6.0p12 %0a> vim-8.1.2061-no_x11%0a> w3m-0.5.3p8 %0a> weechat-2.6 %0a> wget-1.20.3p1 %0a> wkhtmltopdf-0.12.5p1%0a> xlsx2csv-20150318p1 %0a> xz-5.2.4%0a> zh-fonts-arphicttf-2.11p4%0a> zh-fonts-kc-1.05p2%0a> zh-libchewing-0.5.1p0%0a> zh-libpinyin-2.3.0 %0a> zh-wqy-bitmapfont-0.9.9.0p2%0a> zh-wqy-zenhei-ttf-0.6.26.0p2 %0a> zip-3.0p1%0a> znc-1.7.4%0a> zstd-1.4.3%0a> %3c/code>%0a\ No newline at end of file%0a +host:1608401355=39.42.117.94 +author:1608401144=fizi +diff:1608401144:1596456218:=2,4c2,4%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c %0a%3c ||ImageMagick-6.9.10.62 ||%0a---%0a> %0a> %3ccode>%0a> ImageMagick-6.9.10.62%0a +host:1608401144=39.42.117.94 +author:1596456218=jrmu +diff:1596456218:1596456218:=1,118d0%0a%3c Software that comes preinstalled with your shell account:%0a%3c %0a%3c %3ccode>%0a%3c ImageMagick-6.9.10.62%0a%3c alpine-2.21p3%0a%3c anthy-9100hp2%0a%3c antiword-0.37p0%0a%3c apr-1.6.5p0%0a%3c apr-util-1.6.1p2%0a%3c argon2-20171227%0a%3c aspell-0.60.6.1p10 %0a%3c bash-5.0.11 %0a%3c boehm-gc-7.6.0p3 %0a%3c boost-1.66.0p7 %0a%3c bzip2-1.0.8 %0a%3c cmake-3.15.3v0 %0a%3c coreutils-8.31p1%0a%3c curl-7.66.0 %0a%3c cvsps-2.1p2%0a%3c cyrus-sasl-2.1.27p1 %0a%3c db-4.6.21p7v0 %0a%3c desktop-file-utils-0.24p0 %0a%3c djvulibre-3.5.27p6%0a%3c docx2txt-1.4p0 %0a%3c elvis-2.2.0p5-no_x11 %0a%3c emacs-26.3-no_x11 %0a%3c fdm-2.0 %0a%3c fetchmail-6.3.26p3 %0a%3c fftw3-3.3.8p1 %0a%3c fftw3-common-3.3.8p1 %0a%3c figlet-2.2.5 %0a%3c gawk-5.0.0p0 %0a%3c gdk-pixbuf-2.38.2 %0a%3c geomyidae-0.34%0a%3c gettext-runtime-0.20.1p0 %0a%3c giflib-5.1.6 %0a%3c git-2.23.0 %0a%3c glib2-2.60.7 %0a%3c gmake-4.2.1p4 %0a%3c gnupg-1.4.23p3 %0a%3c gnupg-2.2.12p0 %0a%3c got-0.17 %0a%3c groff-1.22.4p0 %0a%3c gtk-update-icon-cache-3.24.12%0a%3c hicolor-icon-theme-0.17 %0a%3c icu4c-64.2p0 %0a%3c ii-1.7p3 %0a%3c irssi-1.2.2 %0a%3c jasper-2.0.14%0a%3c jbigkit-2.1 %0a%3c jpeg-2.0.3v0 %0a%3c jq-1.6p0 %0a%3c jsoncpp-1.8.4p2 %0a%3c lcms2-2.9p0 %0a%3c ledger-3.1.1p4%0a%3c links-1.03p0 %0a%3c lynx-2.8.9rel1p0 %0a%3c lz4-1.9.2 %0a%3c mariadb-client-10.3.20v1 %0a%3c mariadb-server-10.3.20v1%0a%3c mcabber-1.1.0p4 %0a%3c mercurial-5.0.2 %0a%3c multitail-6.4.2p0 %0a%3c mutt-1.12.2v3-sasl %0a%3c nano-4.4 %0a%3c newsboat-2.15p0 %0a%3c nghttp2-1.39.2 %0a%3c ngircd-25 %0a%3c node-10.16.3 %0a%3c nvi-2.1.3p2 %0a%3c oath-toolkit-2.6.2p1%0a%3c openjp2-2.3.1 %0a%3c p11-kit-0.23.18.1 %0a%3c pcre-8.41p2 %0a%3c php-7.3.12 %0a%3c pico-5.09p20 %0a%3c pkglocatedb-1.5 %0a%3c png-1.6.37 %0a%3c profanity-0.7.1 %0a%3c py-pip-19.1.1 %0a%3c py3-pip-19.1.1 %0a%3c python-2.7.16p1 %0a%3c python-3.7.4 %0a%3c python-3.7.4 %0a%3c quirks-3.182 %0a%3c rhash-1.3.5p0 %0a%3c rsync-3.1.3 %0a%3c sacc-1.00 %0a%3c screen-4.6.2 %0a%3c shared-mime-info-1.10p5 %0a%3c sic-1.2p1 %0a%3c slrn-1.0.2p2 %0a%3c sqlite3-3.29.0 %0a%3c subversion-1.12.2 %0a%3c tcsh-6.20.00p1 %0a%3c tiff-4.0.10 %0a%3c tree-0.62 %0a%3c trn-4.0.77p2 %0a%3c uim-1.8.8p0 %0a%3c uim-chewing-0.1.0p2 %0a%3c unzip-6.0p12 %0a%3c vim-8.1.2061-no_x11%0a%3c w3m-0.5.3p8 %0a%3c weechat-2.6 %0a%3c wget-1.20.3p1 %0a%3c wkhtmltopdf-0.12.5p1%0a%3c xlsx2csv-20150318p1 %0a%3c xz-5.2.4%0a%3c zh-fonts-arphicttf-2.11p4%0a%3c zh-fonts-kc-1.05p2%0a%3c zh-libchewing-0.5.1p0%0a%3c zh-libpinyin-2.3.0 %0a%3c zh-wqy-bitmapfont-0.9.9.0p2%0a%3c zh-wqy-zenhei-ttf-0.6.26.0p2 %0a%3c zip-3.0p1%0a%3c znc-1.7.4%0a%3c zstd-1.4.3%0a%3c %3c/code>%0a\ No newline at end of file%0a +host:1596456218=38.81.163.143 blob - /dev/null blob + 0e42fa2bf12a624082050cad6973d9a980b6c7e5 (mode 644) --- /dev/null +++ wiki.d/Shell.Bash @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614939589 +host=198.251.81.119 +name=Shell.Bash +rev=1 +targets= +text=!! What are my options?%0a%0aYou can switch to BASH if you are very familiar with BASH, however it is '''recommended''' to stick with KSH as KSH is more POSIX compliant.%0a%0aThat said, you '''can''' also make KSH behave more like BASH, which is more preferable than switching over to BASH.%0a%0a!! I want to switch to bash%0a%0aIf you prefer bash,%0a%0a[@%0a$ chsh -s /usr/local/bin/bash username%0a@]%0a%0aReplace @@username@@ with your real username.%0a%0aLog out and log back in to make your default shell bash.%0a%0a!! How can I make ksh behave like bash?%0a%0aEdit your ~/.profile to declare the HOSTNAME variable, as the actual hostname is stored within /etc/myname. Then, you want to make sure that your ~/.profile reads its environment from your ~/.kshrc. So your ~/.profile should look something like this,%0a%0a[@%0a# $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $%0a#%0a# sh/ksh initialization%0a%0aPATH=$HOME/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/games%0aexport PATH HOME TERM%0a%0aHOSTNAME="$(cat /etc/myname)"%0aENV="$HOME/.kshrc"; export ENV%0a@]%0a%0aOnce you have that down, it is now time to edit your ~/.kshrc file.%0a%0a[@%0afunction _cd {%0a \cd "$@"%0a PS1=$(%0a print -n "$LOGNAME@$HOSTNAME:"%0a if [[ "${PWD#$HOME}" != "$PWD" ]]; then%0a print -n "~${PWD#$HOME}"%0a else%0a print -n "$PWD"%0a fi%0a print "$ "%0a )%0a}%0a%0aalias cd=_cd%0a%0acd "$PWD"%0a@]%0a%0a[[https://stackoverflow.com/questions/1171663/how-to-custom-display-prompt-in-kornshell-to-show-hostname-and-current-directory/8468165#8468165|Source: Stack Overflow]]%0a%0a!! Implement command history%0a%0a"For the arrow keys, you can put this into your the .kshrc file [(pdksh and mksh both use .mkshrc, not .kshrc)] in your home directory:%0a%0a[@%0aset -o emacs%0aalias __A=`echo "\020"` # up arrow = ^p = back a command%0aalias __B=`echo "\016"` # down arrow = ^n = down a command%0aalias __C=`echo "\006"` # right arrow = ^f = forward a character%0aalias __D=`echo "\002"` # left arrow = ^b = back a character%0aalias __H=`echo "\001"` # home = ^a = start of line%0aalias __Y=`echo "\005"` # end = ^e = end of line%0a@]%0a%0a[[https://unix.stackexchange.com/a/388258|Source: Stack Exchange]]%0a%0a!! How do I change my password?%0a%0a[@%0a$ passwd%0aChanging password for $user%0aOld password:%0aNew password:%0aRetype new password:%0a$%0a@] +time=1614939589 +author:1614939589=jrmu +diff:1614939589:1614939589:=1,83d0%0a%3c !! What are my options?%0a%3c %0a%3c You can switch to BASH if you are very familiar with BASH, however it is '''recommended''' to stick with KSH as KSH is more POSIX compliant.%0a%3c %0a%3c That said, you '''can''' also make KSH behave more like BASH, which is more preferable than switching over to BASH.%0a%3c %0a%3c !! I want to switch to bash%0a%3c %0a%3c If you prefer bash,%0a%3c %0a%3c [@%0a%3c $ chsh -s /usr/local/bin/bash username%0a%3c @]%0a%3c %0a%3c Replace @@username@@ with your real username.%0a%3c %0a%3c Log out and log back in to make your default shell bash.%0a%3c %0a%3c !! How can I make ksh behave like bash?%0a%3c %0a%3c Edit your ~/.profile to declare the HOSTNAME variable, as the actual hostname is stored within /etc/myname. Then, you want to make sure that your ~/.profile reads its environment from your ~/.kshrc. So your ~/.profile should look something like this,%0a%3c %0a%3c [@%0a%3c # $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $%0a%3c #%0a%3c # sh/ksh initialization%0a%3c %0a%3c PATH=$HOME/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/games%0a%3c export PATH HOME TERM%0a%3c %0a%3c HOSTNAME="$(cat /etc/myname)"%0a%3c ENV="$HOME/.kshrc"; export ENV%0a%3c @]%0a%3c %0a%3c Once you have that down, it is now time to edit your ~/.kshrc file.%0a%3c %0a%3c [@%0a%3c function _cd {%0a%3c \cd "$@"%0a%3c PS1=$(%0a%3c print -n "$LOGNAME@$HOSTNAME:"%0a%3c if [[ "${PWD#$HOME}" != "$PWD" ]]; then%0a%3c print -n "~${PWD#$HOME}"%0a%3c else%0a%3c print -n "$PWD"%0a%3c fi%0a%3c print "$ "%0a%3c )%0a%3c }%0a%3c %0a%3c alias cd=_cd%0a%3c %0a%3c cd "$PWD"%0a%3c @]%0a%3c %0a%3c [[https://stackoverflow.com/questions/1171663/how-to-custom-display-prompt-in-kornshell-to-show-hostname-and-current-directory/8468165#8468165|Source: Stack Overflow]]%0a%3c %0a%3c !! Implement command history%0a%3c %0a%3c "For the arrow keys, you can put this into your the .kshrc file [(pdksh and mksh both use .mkshrc, not .kshrc)] in your home directory:%0a%3c %0a%3c [@%0a%3c set -o emacs%0a%3c alias __A=`echo "\020"` # up arrow = ^p = back a command%0a%3c alias __B=`echo "\016"` # down arrow = ^n = down a command%0a%3c alias __C=`echo "\006"` # right arrow = ^f = forward a character%0a%3c alias __D=`echo "\002"` # left arrow = ^b = back a character%0a%3c alias __H=`echo "\001"` # home = ^a = start of line%0a%3c alias __Y=`echo "\005"` # end = ^e = end of line%0a%3c @]%0a%3c %0a%3c [[https://unix.stackexchange.com/a/388258|Source: Stack Exchange]]%0a%3c %0a%3c !! How do I change my password?%0a%3c %0a%3c [@%0a%3c $ passwd%0a%3c Changing password for $user%0a%3c Old password:%0a%3c New password:%0a%3c Retype new password:%0a%3c $%0a%3c @]%0a\ No newline at end of file%0a +host:1614939589=198.251.81.119 blob - /dev/null blob + 50b303e48351f74ddd4cd6c52f983c772898aa9b (mode 644) --- /dev/null +++ wiki.d/Shell.Lynx,del-1597147582 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596690282 +host=38.81.163.143 +name=Shell.Lynx +rev=2 +targets= +text=To visit a webpage, press G, then enter the URL. Lynx can handle HTTP,%0aGopher, and FTP. You can also tell lynx which webpage to open when you first%0arun it:%0a%0a$ lynx https://wiki.ircnow.org +time=1596690715 +author:1596690715=jrmu +diff:1596690715:1596690282:=1,5c1%0a%3c To visit a webpage, press G, then enter the URL. Lynx can handle HTTP,%0a%3c Gopher, and FTP. You can also tell lynx which webpage to open when you first%0a%3c run it:%0a%3c %0a%3c $ lynx https://wiki.ircnow.org%0a\ No newline at end of file%0a---%0a> test%0a\ No newline at end of file%0a +host:1596690715=38.81.163.143 +author:1596690282=jrmu +diff:1596690282:1596690282:=1d0%0a%3c test%0a\ No newline at end of file%0a +host:1596690282=38.81.163.143 blob - /dev/null blob + 735b0c630bdb5f935dafd35e19bb6934d848b36e (mode 644) --- /dev/null +++ wiki.d/Shell.Mac @@ -0,0 +1,43 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612347694 +host=198.251.81.119 +name=Shell.Mac +rev=10 +targets=Shell.Sshfingerprints +text=(:title Connecting on Mac:)%0a%0a# Click on the Launchpad%0a# Click on Other\\%0aAttach:macterm1.png%0a# Click on the Terminal app\\%0aAttach:macterm2.png%0a# Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.\\%0aAttach:macterm3.png%0a# [[Shell/Sshfingerprints|Verify the ssh fingerprint]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0aAttach:macterm4.png%0a# You're done!\\%0aAttach:macterm5.png +time=1613726049 +title=Connecting on Mac +author:1613726049=jrmu +diff:1613726049:1613726007:=4,5c4%0a%3c # Click on Other\\%0a%3c Attach:macterm1.png%0a---%0a> # Click on Other%0a +host:1613726049=198.251.81.119 +author:1613726007=jrmu +diff:1613726007:1612788894:=4c4,5%0a%3c # Click on Other%0a---%0a> # Click on Other\\%0a> Attach:macterm1.png%0a +host:1613726007=198.251.81.119 +author:1612788894=jrmu +diff:1612788894:1612788442:=10c10%0a%3c # [[Shell/Sshfingerprints|Verify the ssh fingerprint]]. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a---%0a> # Verify the ssh key. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a +host:1612788894=198.251.81.119 +author:1612788442=jrmu +diff:1612788442:1612788393:=12,13c12,15%0a%3c # You're done!\\%0a%3c Attach:macterm5.png%0a\ No newline at end of file%0a---%0a> # You're done!%0a> Attach:macterm5.png%0a> %0a> Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1612788442=198.251.81.119 +author:1612788393=jrmu +diff:1612788393:1612788320:=10c10%0a%3c # Verify the ssh key. If it matches, type @@yes@@ and press enter. Enter your password.\\%0a---%0a> # Verify the ssh key. If it matches, type @@yes@@ and press enter.\\%0a12c12%0a%3c # You're done!%0a---%0a> # Enter your password.\\%0a +host:1612788393=198.251.81.119 +author:1612788320=jrmu +diff:1612788320:1612788286:=3c3%0a%3c # Click on the Launchpad%0a---%0a> # Click on the Launchpad\\%0a8c8%0a%3c # Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.\\%0a---%0a> # Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.%0a10c10%0a%3c # Verify the ssh key. If it matches, type @@yes@@ and press enter.\\%0a---%0a> # Verify the ssh key. If it matches, type @@yes@@ and press enter.%0a12c12%0a%3c # Enter your password.\\%0a---%0a> # Enter your password.%0a +host:1612788320=198.251.81.119 +author:1612788286=jrmu +diff:1612788286:1612787978:=2a3,5%0a> macOS has a native terminal app.%0a> %0a> Attach:macterm1.png%0a3a7%0a> Attach:macterm2.png%0a5c9%0a%3c Attach:macterm1.png%0a---%0a> Attach:macterm3.png%0a7c11%0a%3c Attach:macterm2.png%0a---%0a> Attach:macterm4.png%0a9,12d12%0a%3c Attach:macterm3.png%0a%3c # Verify the ssh key. If it matches, type @@yes@@ and press enter.%0a%3c Attach:macterm4.png%0a%3c # Enter your password.%0a13a14,37%0a> # Verify the ssh key.%0a> %0a> Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a> %0a> # After opening PuTTY, fill in the details:\\%0a> Attach:putty-config.png%0a> # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a> # @@Port@@: 22%0a> # Click @@Open@@ at the bottom.%0a> # Enter your password.\\%0a> Attach:putty-pass.png%0a> %0a> ----%0a> %0a> !! Built-in SSH%0a> %0a> Recent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a> %0a> # Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a> # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0a> Attach:win10-ssh.png\\%0a> Attach:win10-ssh2.png%0a> %0a> ----%0a +host:1612788286=198.251.81.119 +author:1612787978=jrmu +diff:1612787978:1612787651:=5d4%0a%3c Attach:macterm1.png%0a6a6,7%0a> Attach:macterm1.png%0a> # Click on Others\\%0a8,9d8%0a%3c # Click on Other\\%0a%3c Attach:macterm3.png%0a10a10%0a> Attach:macterm3.png%0a12d11%0a%3c # Type @@ssh username@fruit.ircnow.org@@ -- replace username with your real username, fruit.ircnow.org with your real server.%0a14c13%0a%3c # Verify the ssh key.%0a---%0a> Attach:macterm6.png%0a +host:1612787978=198.251.81.119 +author:1612787651=jrmu +diff:1612787651:1612347694:=11,13d10%0a%3c Attach:macterm4.png%0a%3c Attach:macterm5.png%0a%3c Attach:macterm6.png%0a +host:1612787651=198.251.81.119 +author:1612347694=jrmu +diff:1612347694:1612347694:=1,35d0%0a%3c (:title Connecting on Mac:)%0a%3c %0a%3c macOS has a native terminal app.%0a%3c %0a%3c # Click on the Launchpad\\%0a%3c Attach:macterm1.png%0a%3c # Click on Others\\%0a%3c Attach:macterm2.png%0a%3c # Click on the Terminal app\\%0a%3c Attach:macterm3.png%0a%3c %0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%3c %0a%3c # After opening PuTTY, fill in the details:\\%0a%3c Attach:putty-config.png%0a%3c # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a%3c # @@Port@@: 22%0a%3c # Click @@Open@@ at the bottom.%0a%3c # Enter your password.\\%0a%3c Attach:putty-pass.png%0a%3c %0a%3c ----%0a%3c %0a%3c !! Built-in SSH%0a%3c %0a%3c Recent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%3c %0a%3c # Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a%3c # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0a%3c Attach:win10-ssh.png\\%0a%3c Attach:win10-ssh2.png%0a%3c %0a%3c ----%0a%3c %0a%3c Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1612347694=198.251.81.119 blob - /dev/null blob + 95e8d94ab17cb64b9946a72f2682ac8bc5785445 (mode 644) --- /dev/null +++ wiki.d/Shell.Putty @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1598337415 +host=38.81.163.143 +name=Shell.Putty +rev=7 +targets=Shell.Sshfingerprints +text=(:title Connecting on Windows:)%0a%0a!! PuTTY%0a%0aDownload and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%0a# Open PuTTY:\\%0aAttach:putty-config.png%0a # @@Host Name@@: @@username@fruit.ircnow.org@@ -- for example, if your username is john, and your server address is fruit.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a # @@Port@@: 22%0a # Click @@Open@@ at the bottom.%0a# Verify the SSH host keys:\\%0aAttach:putty-fpr.png%0a # You can consult the [[Shell/Sshfingerprints|SSH Fingerprints]] page or check the DNS SSHFP records.%0a# Type in your password (the password is invisible):\\%0aAttach:putty-login.png%0a%0a!! Built-in SSH%0a%0aRecent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0aIf you are running Windows 10, [[https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse|you can install it here]].%0a%0a# Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a# Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server. Then type your password (the password is invisible):\\%0aAttach:win10-ssh2.png%0a%0a----%0a%0aPutty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a +time=1621837011 +title=Connecting on Windows +author:1621837011=jrmu +diff:1621837011:1613920047:=21,22c21%0a%3c If you are running Windows 10, [[https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse|you can install it here]].%0a%3c %0a---%0a> %0a29c28%0a%3c Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a---%0a> Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1621837011=38.81.163.143 +author:1613920047=jrmu +diff:1613920047:1613832130:=23c23,24%0a%3c # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server. Then type your password (the password is invisible):\\%0a---%0a> # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0a> Attach:win10-ssh.png\\%0a +host:1613920047=198.251.81.119 +author:1613832130=jrmu +diff:1613832130:1613831917:=14d13%0a%3c # You can consult the [[Shell/Sshfingerprints|SSH Fingerprints]] page or check the DNS SSHFP records.%0a +host:1613832130=198.251.81.119 +author:1613831917=jrmu +diff:1613831917:1613831766:=7c7%0a%3c # Open PuTTY:\\%0a---%0a> # Open PuTTY\\%0a12c12,14%0a%3c # Verify the SSH host keys:\\%0a---%0a> # Enter your password.\\%0a> Attach:putty-pass.png%0a> # Verify the SSH host keys%0a14c16%0a%3c # Type in your password (the password is invisible):\\%0a---%0a> # You're logged in!%0a +host:1613831917=198.251.81.119 +author:1613831766=jrmu +diff:1613831766:1607337750:=7c7%0a%3c # Open PuTTY\\%0a---%0a> # After opening PuTTY, fill in the details:\\%0a9c9%0a%3c # @@Host Name@@: @@username@fruit.ircnow.org@@ -- for example, if your username is john, and your server address is fruit.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a---%0a> # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a14,17c14,15%0a%3c # Verify the SSH host keys%0a%3c Attach:putty-fpr.png%0a%3c # You're logged in!%0a%3c Attach:putty-login.png%0a---%0a> %0a> ----%0a +host:1613831766=198.251.81.119 +author:1607337750=jrmu +diff:1607337750:1598337415:=1,27d0%0a%3c (:title Connecting on Windows:)%0a%3c %0a%3c !! PuTTY%0a%3c %0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%3c %0a%3c # After opening PuTTY, fill in the details:\\%0a%3c Attach:putty-config.png%0a%3c # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a%3c # @@Port@@: 22%0a%3c # Click @@Open@@ at the bottom.%0a%3c # Enter your password.\\%0a%3c Attach:putty-pass.png%0a%3c %0a%3c ----%0a%3c %0a%3c !! Built-in SSH%0a%3c %0a%3c Recent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%3c %0a%3c # Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a%3c # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0a%3c Attach:win10-ssh.png\\%0a%3c Attach:win10-ssh2.png%0a%3c %0a%3c ----%0a%3c %0a +host:1607337750=198.251.81.119 +author:1598337415=locustlord +diff:1598337415:1598337415:=1d0%0a%3c Putty is an ssh client for windows. To generate a public/private key pair for use in putty download puttygen (you'll need to download this if you don't have it) and use that to generate the .ppk file. Paste the public key (you'll know it's the public one cause it'll be a .ppk file) into ~/.ssh/authorized_keys. After that when you're connecting go down and hit the auth button in putty then select your private key (the one that isn't the .ppk). After that you're all set and ready to connect. Have fun!%0a\ No newline at end of file%0a +host:1598337415=70.69.142.62 blob - /dev/null blob + 2edf3d207b136975b3e42aec9729f965b4294cd6 (mode 644) --- /dev/null +++ wiki.d/Shell.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1596396756 +host=38.87.162.8 +name=Shell.RecentChanges +rev=104 +text=* [[Shell/Shell]] . . . August 21, 2021, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Shell/Sshfingerprints]] . . . August 10, 2021, at 08:55 AM by [[~jrmu]]: [==]%0a* [[Shell/Putty]] . . . May 24, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a* [[Shell/Bash]] . . . March 05, 2021, at 10:19 AM by [[~jrmu]]: [==]%0a* [[Shell/Mac]] . . . February 19, 2021, at 09:14 AM by [[~jrmu]]: [==]%0a* [[Shell/Applications]] . . . December 19, 2020, at 06:21 PM by [[~fizi]]: [==]%0a* [[Shell/Sshkeys]] . . . December 07, 2020, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Shell/ShellSSHKEYS]] . . . August 25, 2020, at 10:00 PM by [[~gry]]: [=permissions added=]%0a* [[Shell/ShellPutty]] . . . August 19, 2020, at 12:45 PM by [[~jrmu]]: [==]%0a* [[Shell/Unix101]] . . . August 11, 2020, at 12:06 PM by [[~jrmu]]: [==]%0a* [[Shell/Lynx]] . . . August 11, 2020, at 12:06 PM by [[~jrmu]]: [==]%0a* [[Shell/Tutorial]] . . . August 11, 2020, at 11:42 AM by [[~jrmu]]: [==]%0a +time=1629546179 blob - /dev/null blob + d32c014a56f4ba04b1fa6668636032b2d6a65b95 (mode 644) --- /dev/null +++ wiki.d/Shell.Shell @@ -0,0 +1,161 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596396756 +host=38.87.162.8 +name=Shell.Shell +rev=49 +targets=Vhost.Request,Shell.Applications,Shell.Tutorial,Terms.Terms,Terms.Privacy,Unix101.Unix101,Unix201.Unix201,Unix301.Unix301,Unix401.Unix401,Unix501.Unix501,Unix601.Unix601,Shell.Faq,Shell.Bash,PowerShell.Connect,PuTTY.Connect,PuTTY.PuTTYgen,OpenSSH.Connect,OpenSSH.Keygen,Dropbear.Connect,KiTTY.Connect,Termius.Connect,Terminus.Connect,ConnectBot.Connect,ConnectBot.Keys,Termux.Connect,JuiceSSH.Connect,GetConsole.Connect,Blink.Connect,ITerminal.Connect,Shelly.Connect,WebSSH.Connect,MacTerminal.Connect,SerFISH.Connect,Sshwifty.Connect,Shell.Sshfingerprints,Shell.Termux +text=(:title Liberty Shells:)%0a%0aAttach:libertybell.png%0a%0a-> Proclaim Liberty through all the LAN to all the users thereof%0a%0aWe are offering '''liberty shells''': free shell accounts on OpenBSD. Here's what we provide with each '''liberty shell''':%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Disk ||! RAM ||! IPv4 ||! IPv6 ||! Processes ||! Bandwidth ||%0a|| 100MB || 32MB || Shared DDoS filtered IPv4 || Unique IPv6 || Up to 10 || Shared 100Mbps ||%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Web Hosting ||! SSL Cert ||! Vhosts ||! Applications ||%0a|| PHP || One free cert || [[vhost/request]] || [[shell/applications]] || %0a%0a'''Free''' of charge running '''free software''' with real time support from IRCNow over live chat.%0a%0aTo get started with shell account, connect to [[ircs://irc.ircnow.org|irc.ircnow.org]] and /join #shell. Then, request account creation and we will help you with the setup.%0a%0aA shell account requires that you learn the UNIX '''command line'''. We have a set of [[tutorial|tutorials]] designed to help novices learn quickly. You must be prepared to do some reading and learning, but the knowledge you gain will be very useful if you want to learn more about computers and programming.%0a%0aPlease see our [[terms/terms|terms of service]] and [[terms/privacy|privacy policy]].%0a%0aTo get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #shell to ask for an account. We currently have an interview process to make sure accounts are not abused.%0a%0a# [[unix101/unix101|Unix101]]: Learn the Command Line%0a# [[unix201/unix201|Unix201]]: Understand Network Civics%0a# [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a# [[unix401/unix401|Unix401]]: Shell Script%0a# [[unix501/unix501|Unix501]]: Perl Script%0a# [[unix601/unix601|Unix601]]: Program in C%0a# [[shell/faq|FAQ]]%0a# [[shell/bash|For Bash users]]%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! SSH Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||! Create SSH Keys ||%0a|| [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || BSD || ||%0a|| [[PuTTY/Connect|Putty]] || ✓ || || || || || || GPL || [[PuTTY/PuTTYgen|PuTTYgen Keys]] ||%0a|| [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || ✓ || ✓ || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a|| [[Dropbear/connect|DropBear]] || || ✓ || ✓ || || || || MIT || ||%0a|| [[KiTTY/Connect|KiTTY]] || ✓ || || || || || || ? || ||%0a|| [[Termius/Connect|Termius]] || ✓ || || || || || || ? || ||%0a|| [[Terminus/Connect|Terminus]] || ✓ || || || || || || ? || ||%0a|| [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || [[ConnectBot/keys|ConnectBot Keys]] ||%0a|| [[Termux/Connect|Termux]] || || || || ✓ || || || GPL || ||%0a|| [[JuiceSSH/Connect|JuiceSSH]] || || || || ✓ || || || ? || ||%0a|| [[GetConsole/Connect|GetConsole]] || || || || ✓ || || || ? || ||%0a|| [[Blink/Connect|Blink]] || || || || ✓ || || || ? || ||%0a|| [[iTerminal/Connect|iTerminal]] || || || || ✓ || || || ? || ||%0a|| [[Shelly/Connect|Shelly]] || || || || ✓ || || || ? || ||%0a|| [[WebSSH/Connect|WebSSH]] || || || || ✓ || || || ? || ||%0a|| [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a|| [[serFISH/Connect|serFISH]] || || || || || || ✓ || ? || ||%0a|| [[sshwifty/Connect|sshwifty]] || || || || || || ✓ || AGPL || ||%0a%0a# [[shell/sshfingerprints|SSH fingerprints]]%0a%0a# [[shell/termux|Android users]]%0a +time=1629546179 +title=Liberty Shells +author:1629546179=jrmu +diff:1629546179:1628870739:=48a49%0a> || [[Termius/Connect|Termius]] || || || || ✓ || || || ? || ||%0a +host:1629546179=38.87.162.8 +author:1628870739=jrmu +diff:1628870739:1628660757:=44d43%0a%3c || [[Termius/Connect|Termius]] || ✓ || || || || || || ? || ||%0a61c60%0a%3c # [[shell/termux|Android users]]%0a---%0a> # [[shell/termux|Android users]]%0a\ No newline at end of file%0a +host:1628870739=38.87.162.8 +author:1628660757=jrmu +diff:1628660757:1628660723:=45c45%0a%3c || [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || [[ConnectBot/keys|ConnectBot Keys]] ||%0a---%0a> || [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || [[ConnectBot/key]] ||%0a +host:1628660757=125.224.19.156 +author:1628660723=jrmu +diff:1628660723:1628597775:=45c45%0a%3c || [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || [[ConnectBot/key]] ||%0a---%0a> || [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || ||%0a +host:1628660723=125.224.19.156 +author:1628597775=mkf +diff:1628597775:1628591504:=42d41%0a%3c || [[Dropbear/connect|DropBear]] || || ✓ || ✓ || || || || MIT || ||%0a +host:1628597775=198.251.81.133 +author:1628591504=jrmu +diff:1628591504:1628534450:=41c41%0a%3c || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || ✓ || ✓ || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a---%0a> || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a +host:1628591504=125.224.19.156 +author:1628534450=jrmu +diff:1628534450:1628534393:=52d51%0a%3c || [[WebSSH/Connect|WebSSH]] || || || || ✓ || || || ? || ||%0a +host:1628534450=125.224.19.156 +author:1628534393=jrmu +diff:1628534393:1628534315:=51d50%0a%3c || [[Shelly/Connect|Shelly]] || || || || ✓ || || || ? || ||%0a +host:1628534393=125.224.19.156 +author:1628534315=jrmu +diff:1628534315:1628534253:=50d49%0a%3c || [[iTerminal/Connect|iTerminal]] || || || || ✓ || || || ? || ||%0a +host:1628534315=125.224.19.156 +author:1628534253=jrmu +diff:1628534253:1628533860:=49d48%0a%3c || [[Blink/Connect|Blink]] || || || || ✓ || || || ? || ||%0a +host:1628534253=125.224.19.156 +author:1628533860=jrmu +diff:1628533860:1628532100:=42,43d41%0a%3c || [[KiTTY/Connect|KiTTY]] || ✓ || || || || || || ? || ||%0a%3c || [[Terminus/Connect|Terminus]] || ✓ || || || || || || ? || ||%0a +host:1628533860=125.224.19.156 +author:1628532100=jrmu +diff:1628532100:1628531381:=42d41%0a%3c || [[ConnectBot/Connect|ConnectBot]] || || || || ✓ || || || ? || ||%0a44,46c43%0a%3c || [[JuiceSSH/Connect|JuiceSSH]] || || || || ✓ || || || ? || ||%0a%3c || [[Termius/Connect|Termius]] || || || || ✓ || || || ? || ||%0a%3c || [[GetConsole/Connect|GetConsole]] || || || || ✓ || || || ? || ||%0a---%0a> || [[JuiceSSH/Connect|JuiceSSH]] || || || || ✓ || || || GPL || ||%0a +host:1628532100=125.224.19.156 +author:1628531381=jrmu +diff:1628531381:1628530413:=43d42%0a%3c || [[JuiceSSH/Connect|JuiceSSH]] || || || || ✓ || || || GPL || ||%0a +host:1628531381=125.224.19.156 +author:1628530413=jrmu +diff:1628530413:1628529288:=38c38%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||! Create SSH Keys ||%0a---%0a> ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || Create SSH Keys ||%0a +host:1628530413=125.224.19.156 +author:1628529288=jrmu +diff:1628529288:1628269137:=38,45c38,45%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || Create SSH Keys ||%0a%3c || [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || BSD || ||%0a%3c || [[PuTTY/Connect|Putty]] || ✓ || || || || || || GPL || [[PuTTY/PuTTYgen|PuTTYgen Keys]] ||%0a%3c || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a%3c || [[Termux/Connect|Termux]] || || || || ✓ || || || GPL || ||%0a%3c || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD || [[OpenSSH/keygen|ssh-keygen]] ||%0a%3c || [[serFISH/Connect|serFISH]] || || || || || || ✓ || ? || ||%0a%3c || [[sshwifty/Connect|sshwifty]] || || || || || || ✓ || AGPL || ||%0a---%0a> ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a> || [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || BSD ||%0a> || [[PuTTY/Connect|Putty]] || ✓ || || || || || || GPL ||%0a> || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || BSD ||%0a> || [[Termux/Connect|Termux]] || || || || ✓ || || || GPL ||%0a> || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD ||%0a> || [[serFISH/Connect|serFISH]] || || || || || || ✓ || ? ||%0a> || [[sshwifty/Connect|sshwifty]] || || || || || || ✓ || AGPL ||%0a +host:1628529288=125.224.19.156 +author:1628269137=jrmu +diff:1628269137:1625027594:=43,45c43%0a%3c || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD ||%0a%3c || [[serFISH/Connect|serFISH]] || || || || || || ✓ || ? ||%0a%3c || [[sshwifty/Connect|sshwifty]] || || || || || || ✓ || AGPL ||%0a---%0a> || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD||%0a +host:1628269137=125.231.70.149 +author:1625027594=mkf +diff:1625027594:1625027568:=14,15c14,15%0a%3c ||! Web Hosting ||! SSL Cert ||! Vhosts ||! Applications ||%0a%3c || PHP || One free cert || [[vhost/request]] || [[shell/applications]] || %0a---%0a> ||! Web Hosting ||! SSL Cert ||! Vhosts ||! Applications || || ||%0a> || PHP || One free cert || [[vhost/request]] || [[shell/applications]] || || ||%0a +host:1625027594=91.185.130.228 +author:1625027568=mkf +diff:1625027568:1623238116:minor=12,13d11%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a19,20c17,18%0a%3c To get started with shell account, connect to [[ircs://irc.ircnow.org|irc.ircnow.org]] and /join #shell. Then, request account creation and we will help you with the setup.%0a%3c %0a---%0a> To get started with shell account, connect to [[ircs://irc.ircnow.org/]] and /join #shell. Then, request account creation and we will help you with the setup.%0a> %0a32a31%0a> %0a33a33%0a> %0a39c39%0a%3c || [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || BSD ||%0a---%0a> || [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || ||%0a41c41%0a%3c || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || BSD ||%0a---%0a> || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || GPL ||%0a43c43%0a%3c || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || BSD||%0a---%0a> || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || ||%0a +host:1625027568=91.185.130.228 +author:1623238116=jrmu +diff:1623238116:1623237602:=46a47%0a> # %0a +host:1623238116=125.231.25.80 +author:1623237602=jrmu +diff:1623237602:1623237562:= +host:1623237602=125.231.25.80 +author:1623237562=jrmu +diff:1623237562:1623237226:=43,44d42%0a%3c || [[MacTerminal/Connect|Mac Terminal]] || || ✓ || || || || || ||%0a%3c %0a47c45%0a%3c # %0a---%0a> # [[shell/mac|Mac Users]]%0a +host:1623237562=125.231.25.80 +author:1623237226=jrmu +diff:1623237226:1623236986:=44a45%0a> # [[shell/putty|Windows Users]]%0a +host:1623237226=125.231.25.80 +author:1623236986=jrmu +diff:1623236986:1623236446:=33c33,36%0a%3c %0a---%0a> # [[shell/putty|Windows Users]]%0a> # [[shell/mac|Mac Users]]%0a> # [[shell/termux|Android users]]%0a> # [[shell/sshfingerprints|SSH fingerprints]]%0a42,47c45%0a%3c || [[Termux/Connect|Termux]] || || || || ✓ || || || GPL ||%0a%3c # [[shell/sshfingerprints|SSH fingerprints]]%0a%3c %0a%3c # [[shell/putty|Windows Users]]%0a%3c # [[shell/mac|Mac Users]]%0a%3c # [[shell/termux|Android users]]%0a\ No newline at end of file%0a---%0a> || [[Termux/Connect|Termux]] || || || || ✓ || || || GPL ||%0a\ No newline at end of file%0a +host:1623236986=125.231.25.80 +author:1623236446=jrmu +diff:1623236446:1623235800:=9,15c9,19%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Disk ||! RAM ||! IPv4 ||! IPv6 ||! Processes ||! Bandwidth ||%0a%3c || 100MB || 32MB || Shared DDoS filtered IPv4 || Unique IPv6 || Up to 10 || Shared 100Mbps ||%0a%3c ||! Web Hosting ||! SSL Cert ||! Vhosts ||! Applications || || ||%0a%3c || PHP || One free cert || [[vhost/request]] || [[shell/applications]] || || ||%0a%3c %0a%3c '''Free''' of charge running '''free software''' with real time support from IRCNow over live chat.%0a---%0a> * 100MB disk space%0a> * 32MB RAM%0a> * Shared DDoS filtered IPv4 address%0a> * up to 10 processes%0a> * 100Mbps shared connection%0a> * Web hosting with PHP%0a> * Free SSL certificate%0a> * email%0a> * ...and [[shell/applications|many applications]].%0a> * free of charge, with free software%0a> * real time support from IRCNow over live chat%0a +host:1623236446=125.231.25.80 +author:1623235800=jrmu +diff:1623235800:1614939314:=2,3d1%0a%3c %0a%3c Attach:libertybell.png%0a +host:1623235800=125.231.25.80 +author:1614939314=jrmu +diff:1614939314:1613920325:=39d38%0a%3c # [[shell/bash|For Bash users]]%0a +host:1614939314=198.251.81.119 +author:1613920325=jrmu +diff:1613920325:1613298956:=38,46c38%0a%3c # [[shell/sshfingerprints|SSH fingerprints]]%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! SSH Clients !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[PowerShell/Connect|PowerShell]] || ✓ || || || || || || ||%0a%3c || [[PuTTY/Connect|Putty]] || ✓ || || || || || || GPL ||%0a%3c || [[OpenSSH/Connect|OpenSSH]] || ✓ || ✓ || ✓ || || || || GPL ||%0a%3c || [[Termux/Connect|Termux]] || || || || ✓ || || || GPL ||%0a\ No newline at end of file%0a---%0a> # [[shell/sshfingerprints|SSH fingerprints]]%0a\ No newline at end of file%0a +host:1613920325=198.251.81.119 +author:1613298956=jrmu +diff:1613298956:1613298471:=27,32c27,32%0a%3c # [[unix101/unix101|Unix101]]: Learn the Command Line%0a%3c # [[unix201/unix201|Unix201]]: Understand Network Civics%0a%3c # [[unix301/unix301|Unix301]]: Learn the Unix Work Ethic%0a%3c # [[unix401/unix401|Unix401]]: Shell Script%0a%3c # [[unix501/unix501|Unix501]]: Perl Script%0a%3c # [[unix601/unix601|Unix601]]: Program in C%0a---%0a> # [[unix101/unix101|UNIX101]]: Introduction to the command line%0a> # [[unix201/unix201|UNIX201]]: Network Civics%0a> # [[unix301/unix301|UNIX301]]: Introduction to OpenBSD%0a> # [[unix401/unix401|UNIX401]]: Basic shell scripting%0a> # [[unix501/unix501|UNIX501]]: Basic perl scripting%0a> # [[unix601/unix601|UNIX601]]: C programming%0a +host:1613298956=198.251.81.119 +author:1613298471=jrmu +diff:1613298471:1609816722:=28,32c28,31%0a%3c # [[unix201/unix201|UNIX201]]: Network Civics%0a%3c # [[unix301/unix301|UNIX301]]: Introduction to OpenBSD%0a%3c # [[unix401/unix401|UNIX401]]: Basic shell scripting%0a%3c # [[unix501/unix501|UNIX501]]: Basic perl scripting%0a%3c # [[unix601/unix601|UNIX601]]: C programming%0a---%0a> # [[unix201/unix201|UNIX201]]: Introduction to OpenBSD%0a> # [[unix301/unix301|UNIX301]]: Basic shell scripting%0a> # [[unix401/unix401|UNIX401]]: Basic perl scripting%0a> # [[unix501/unix501|UNIX501]]: C programming%0a +host:1613298471=198.251.81.119 +author:1609816722=jrmu +diff:1609816722:1609471522:=2,3d1%0a%3c %0a%3c -> Proclaim Liberty through all the LAN to all the users thereof%0a +host:1609816722=125.231.63.134 +author:1609471522=jrmu +diff:1609471522:1608393932:=25,29c25%0a%3c # [[unix101/unix101|UNIX101]]: Introduction to the command line%0a%3c # [[unix201/unix201|UNIX201]]: Introduction to OpenBSD%0a%3c # [[unix301/unix301|UNIX301]]: Basic shell scripting%0a%3c # [[unix401/unix401|UNIX401]]: Basic perl scripting%0a%3c # [[unix501/unix501|UNIX501]]: C programming%0a---%0a> [[shell/unix101|UNIX 101: Newbie's Guide to UNIX]]%0a +host:1609471522=198.251.81.119 +author:1608393932=jrmu +diff:1608393932:1608043495:=5c5%0a%3c * 100MB disk space%0a---%0a> * 1GB disk space%0a +host:1608393932=198.251.81.119 +author:1608043495=jrmu +diff:1608043495:1607339050:=8c8%0a%3c * up to 10 processes%0a---%0a> * up to 20 processes%0a +host:1608043495=125.231.22.25 +author:1607339050=jrmu +diff:1607339050:1607338354:= +host:1607339050=198.251.81.119 +author:1607338354=jrmu +diff:1607338354:1607338271:=3c3%0a%3c We are offering '''liberty shells''': free shell accounts on OpenBSD. Here's what we provide with each '''liberty shell''':%0a---%0a> We are offering '''liberty shells''': free shell accounts on OpenBSD. Here's what we provide with each liberty shell:%0a +host:1607338354=198.251.81.119 +author:1607338271=jrmu +diff:1607338271:1607337668:=1,4c1,2%0a%3c (:title Liberty Shells:)%0a%3c %0a%3c We are offering '''liberty shells''': free shell accounts on OpenBSD. Here's what we provide with each liberty shell:%0a%3c %0a---%0a> We are offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a> %0a18a17,18%0a> (:title Free Shell Accounts:)%0a> %0a19a20,21%0a> %0a> %0a +host:1607338271=198.251.81.119 +author:1607337668=jrmu +diff:1607337668:1607337601:=29,32c29,33%0a%3c # [[shell/faq|FAQ]]%0a%3c # [[shell/putty|Windows Users]]%0a%3c # [[shell/mac|Mac Users]]%0a%3c # [[shell/termux|Android users]]%0a---%0a> # [[shell:faq|FAQ]]%0a> # [[shell:putty|Windows Users]]%0a> # [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a> # [[shell:termux|Android users]]%0a> # [[shell:SSH_KEYS|How to access your shell with ssh keys]]%0a +host:1607337668=198.251.81.119 +author:1607337601=jrmu +diff:1607337601:1607337342:=26a27,35%0a> SSH fingerprints:%0a> [@%0a> 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a> 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a> 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a> 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a> 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a> @]%0a> %0a34c43%0a%3c # [[shell/sshfingerprints|SSH fingerprints]]%0a\ No newline at end of file%0a---%0a> # [[shell/sshfingerprints|List of ssh fingerprints]]%0a\ No newline at end of file%0a +host:1607337601=198.251.81.119 +author:1607337342=jrmu +diff:1607337342:1607334376:=43c43%0a%3c # [[shell/sshfingerprints|List of ssh fingerprints]]%0a\ No newline at end of file%0a---%0a> # [[shell/sshkeys|List of ssh keys]]%0a\ No newline at end of file%0a +host:1607337342=198.251.81.119 +author:1607334376=jrmu +diff:1607334376:1597900164:=38,43c38,42%0a%3c # [[shell:faq|FAQ]]%0a%3c # [[shell:putty|Windows Users]]%0a%3c # [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a%3c # [[shell:termux|Android users]]%0a%3c # [[shell:SSH_KEYS|How to access your shell with ssh keys]]%0a%3c # [[shell/sshkeys|List of ssh keys]]%0a\ No newline at end of file%0a---%0a> * [[shell:faq|FAQ]]%0a> * [[shell:putty|Windows Users]]%0a> * [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a> * [[shell:termux|Android users]]%0a> * [[shell:SSH_KEYS|How to access your shell with ssh keys]]%0a\ No newline at end of file%0a +host:1607334376=38.81.163.7 +author:1597900164=gry +csum:1597900164=clarified +diff:1597900164:1597839934:=0a1,14%0a> (:title Free Shell Accounts:)%0a> %0a> A shell account is shared space on a server on the Internet. You can use it to:%0a> %0a> * Serve a website with a custom domain name%0a> * Instant message friends%0a> * Check your email%0a> * Surf the web%0a> * Backup files%0a> * Create a chatbot for IRC%0a> * Learn to code%0a> %0a> A shell account requires that you learn the UNIX '''command line'''. We have a set of [[tutorial|tutorials]] designed to help novices learn quickly. You must be prepared to do some reading and learning, but the knowledge you gain will be very useful if you want to learn more about computers and programming.%0a> %0a10,21c24,25%0a%3c * email%0a%3c * ...and [[shell/applications|many applications]].%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a%3c To get started with shell account, connect to [[ircs://irc.ircnow.org/]] and /join #shell. Then, request account creation and we will help you with the setup.%0a%3c %0a%3c (:title Free Shell Accounts:)%0a%3c %0a%3c A shell account requires that you learn the UNIX '''command line'''. We have a set of [[tutorial|tutorials]] designed to help novices learn quickly. You must be prepared to do some reading and learning, but the knowledge you gain will be very useful if you want to learn more about computers and programming.%0a%3c %0a%3c %0a---%0a> %0a> ...and [[shell/applications|many applications]].%0a +host:1597900164=203.129.25.247 +author:1597839934=jrmu +diff:1597839934:1597839855:= +host:1597839934=38.81.163.143 +author:1597839855=jrmu +diff:1597839855:1597839184:=1,16c1,2%0a%3c (:title Free Shell Accounts:)%0a%3c %0a%3c A shell account is shared space on a server on the Internet. You can use it to:%0a%3c %0a%3c * Serve a website with a custom domain name%0a%3c * Instant message friends%0a%3c * Check your email%0a%3c * Surf the web%0a%3c * Backup files%0a%3c * Create a chatbot for IRC%0a%3c * Learn to code%0a%3c %0a%3c A shell account requires that you learn the UNIX '''command line'''. We have a set of [[tutorial|tutorials]] designed to help novices learn quickly. You must be prepared to do some reading and learning, but the knowledge you gain will be very useful if you want to learn more about computers and programming.%0a%3c %0a%3c We are offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a%3c %0a---%0a> Learn UNIX with friends and bring the fun back into computing! We are now offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a> %0a25a12,20%0a> %0a> Here's a sample of what you can do with the account:%0a> %0a> * Run a command-line IRC client%0a> * Host your homepage with a custom domain name you already own%0a> * Check your email%0a> * Instant message friends on other networks using Bitlbee%0a> * Surf the web using lynx%0a> * Edit images using ImageMagick%0a +host:1597839855=38.81.163.143 +author:1597839184=jrmu +diff:1597839184:1596690122:=28d27%0a%3c 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a +host:1597839184=38.81.163.143 +author:1596690122=jrmu +diff:1596690122:1596690107:=34c34%0a%3c [[shell/unix101|UNIX 101: Newbie's Guide to UNIX]]%0a---%0a> [[shell/unix101:UNIX 101: Newbie's Guide to UNIX]]%0a +host:1596690122=38.81.163.143 +author:1596690107=jrmu +diff:1596690107:1596444161:=33,34d32%0a%3c %0a%3c [[shell/unix101:UNIX 101: Newbie's Guide to UNIX]]%0a +host:1596690107=38.81.163.143 +author:1596444161=jrmu +diff:1596444161:1596397053:=27c27%0a%3c [@%0a---%0a> %3ccode>%0a32c32%0a%3c @]%0a---%0a> %3c/code>%0a +host:1596444161=38.81.163.143 +author:1596397053=jrmu +diff:1596397053:1596396756:=3,10c3,10%0a%3c * 1GB disk space%0a%3c * 32MB RAM%0a%3c * Shared DDoS filtered IPv4 address%0a%3c * up to 20 processes%0a%3c * 100Mbps shared connection%0a%3c * Web hosting with PHP%0a%3c * Free SSL certificate%0a%3c %0a---%0a> - 1GB disk space%0a> - 32MB RAM%0a> - Shared DDoS filtered IPv4 address%0a> - up to 20 processes%0a> - 100Mbps shared connection%0a> - Web hosting with PHP%0a> - Free SSL certificate%0a> %0a15,21c15,21%0a%3c * Run a command-line IRC client%0a%3c * Host your homepage with a custom domain name you already own%0a%3c * Check your email%0a%3c * Instant message friends on other networks using Bitlbee%0a%3c * Surf the web using lynx%0a%3c * Edit images using ImageMagick%0a%3c %0a---%0a> - Run a command-line IRC client%0a> - Host your homepage with a custom domain name you already own%0a> - Check your email%0a> - Instant message friends on other networks using Bitlbee%0a> - Surf the web using lynx%0a> - Edit images using ImageMagick%0a> %0a22a23,30%0a> %0a> Technical restrictions:%0a> * Only one connection per IRC network%0a> * No malicious bots allowed%0a> * Running tor is not allowed%0a> * Torrents are not allowed%0a> * Cryptocurrency mining is not allowed%0a> * No port scanning without permission%0a +host:1596397053=38.81.163.143 +author:1596396756=jrmu +diff:1596396756:1596396756:=1,46d0%0a%3c Learn UNIX with friends and bring the fun back into computing! We are now offering free OpenBSD shell accounts. Here's what we provide for free with each account:%0a%3c %0a%3c - 1GB disk space%0a%3c - 32MB RAM%0a%3c - Shared DDoS filtered IPv4 address%0a%3c - up to 20 processes%0a%3c - 100Mbps shared connection%0a%3c - Web hosting with PHP%0a%3c - Free SSL certificate%0a%3c %0a%3c ...and [[shell/applications|many applications]].%0a%3c %0a%3c Here's a sample of what you can do with the account:%0a%3c %0a%3c - Run a command-line IRC client%0a%3c - Host your homepage with a custom domain name you already own%0a%3c - Check your email%0a%3c - Instant message friends on other networks using Bitlbee%0a%3c - Surf the web using lynx%0a%3c - Edit images using ImageMagick%0a%3c %0a%3c Please see our [[terms/terms|terms of service]] and [[terms/privacy|privacy policy]].%0a%3c %0a%3c Technical restrictions:%0a%3c * Only one connection per IRC network%0a%3c * No malicious bots allowed%0a%3c * Running tor is not allowed%0a%3c * Torrents are not allowed%0a%3c * Cryptocurrency mining is not allowed%0a%3c * No port scanning without permission%0a%3c %0a%3c To get an account, join our community at [[ircs://irc.ircnow.org|irc.ircnow.org]] and join #shell to ask for an account. We currently have an interview process to make sure accounts are not abused.%0a%3c %0a%3c SSH fingerprints:%0a%3c %3ccode>%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a%3c %3c/code>%0a%3c %0a%3c * [[shell:faq|FAQ]]%0a%3c * [[shell:putty|Windows Users]]%0a%3c * [[start:using_a_mac_to_access_your_shell|Mac Users]]%0a%3c * [[shell:termux|Android users]]%0a%3c * [[shell:SSH_KEYS|How to access your shell with ssh keys]]%0a\ No newline at end of file%0a +host:1596396756=38.81.163.143 blob - /dev/null blob + ff6d6a65512668af3836c35c3a352359929b5e29 (mode 644) --- /dev/null +++ wiki.d/Shell.ShellPutty @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597148480 +host=38.81.163.143 +name=Shell.ShellPutty +rev=7 +targets= +text=(:title Connecting on Windows:)%0a%0a!! PuTTY%0a%0aDownload and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%0a# After opening PuTTY, fill in the details:\\%0aAttach:putty-config.png%0a # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a # @@Port@@: 22%0a # Click @@Open@@ at the bottom.%0a# Enter your password.\\%0aAttach:putty-pass.png%0a%0a----%0a%0a!! Built-in SSH%0a%0aRecent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%0a# Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a# Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0aAttach:win10-ssh.png\\%0aAttach:win10-ssh2.png +time=1597841133 +title=Connecting on Windows +author:1597841133=jrmu +diff:1597841133:1597840518:=22,23c22,28%0a%3c # Type @@ssh username@example.ircnow.org@@ -- replace username with your real username, and replace example.ircnow.org with your shell account server.\\%0a%3c Attach:win10-ssh.png\\%0a---%0a> # Type%0a> [@%0a> ssh username@example.ircnow.org%0a> @]%0a> Replace username with your real username, and replace example.ircnow.org with your shell account server.%0a> %0a> Attach:win10-ssh.png%0a +host:1597841133=38.81.163.143 +author:1597840518=jrmu +diff:1597840518:1597840505:=14,15d13%0a%3c %0a%3c ----%0a +host:1597840518=38.81.163.143 +author:1597840505=jrmu +diff:1597840505:1597840484:=3,4d2%0a%3c !! PuTTY%0a%3c %0a14,15d11%0a%3c %0a%3c !! Built-in SSH%0a +host:1597840505=38.81.163.143 +author:1597840484=jrmu +diff:1597840484:1597840402:=1,2d0%0a%3c (:title Connecting on Windows:)%0a%3c %0a +host:1597840484=38.81.163.143 +author:1597840402=jrmu +diff:1597840402:1597838081:=1,3c1,8%0a%3c Download and install the latest version of [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTY]].%0a%3c %0a%3c # After opening PuTTY, fill in the details:\\%0a---%0a> https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html%0a> %0a> Once you have installed PuTTY then to SSH in first run it.%0a> %0a> Once it runs enter your Hostname/ip address in the first field.%0a> %0a> For example Hostname/ip: user123@shell.ircnow.org %0a> %0a5,8c10,12%0a%3c # @@Host Name@@: @@username@example.ircnow.org@@ -- for example, if your username is john, and your server address is example.ircnow.org, then fill in @@john@example.ircnow.org@@.%0a%3c # @@Port@@: 22%0a%3c # Click @@Open@@ at the bottom.%0a%3c # Enter your password.\\%0a---%0a> %0a> Everything else is already set. Click "Open" button after that and enter your password when it prompts.%0a> %0a11,21c15,25%0a%3c Recent versions of Windows 10 come with ssh by default, so PuTTY is not necessary.%0a%3c %0a%3c # Right-click the Start button or press Windows+X, then select @@Windows PowerShell@@.%0a%3c # Type%0a%3c [@%0a%3c ssh username@example.ircnow.org%0a%3c @]%0a%3c Replace username with your real username, and replace example.ircnow.org with your shell account server.%0a%3c %0a%3c Attach:win10-ssh.png%0a%3c Attach:win10-ssh2.png%0a\ No newline at end of file%0a---%0a> you are all set!%0a> %0a> If you are on windows 10 you can do it without puTTY. All you need is Command Prompt.%0a> %0a> After Running Command Prompt enter **ssh yourUsername** for example in my case ssh user123@shell.ircnow.org%0a> %0a> {{:shelloncmd.png?direct&400|}}%0a> %0a> next enter your password and you are all set%0a> %0a> {{:shelloncmd1.png?direct&400|}}%0a\ No newline at end of file%0a +host:1597840402=38.81.163.143 +author:1597838081=jrmu +diff:1597838081:1597148480:=9,10c9,10%0a%3c Attach:putty-config.png%0a%3c %0a---%0a> {{:putty.png?direct&400|}}%0a> %0a13c13%0a%3c Attach:putty-pass.png%0a---%0a> {{:putty1.png?direct&400|}}%0a +host:1597838081=38.81.163.143 +author:1597148480=jrmu +diff:1597148480:1597148480:=1,25d0%0a%3c https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html%0a%3c %0a%3c Once you have installed PuTTY then to SSH in first run it.%0a%3c %0a%3c Once it runs enter your Hostname/ip address in the first field.%0a%3c %0a%3c For example Hostname/ip: user123@shell.ircnow.org %0a%3c %0a%3c {{:putty.png?direct&400|}}%0a%3c %0a%3c Everything else is already set. Click "Open" button after that and enter your password when it prompts.%0a%3c %0a%3c {{:putty1.png?direct&400|}}%0a%3c %0a%3c you are all set!%0a%3c %0a%3c If you are on windows 10 you can do it without puTTY. All you need is Command Prompt.%0a%3c %0a%3c After Running Command Prompt enter **ssh yourUsername** for example in my case ssh user123@shell.ircnow.org%0a%3c %0a%3c {{:shelloncmd.png?direct&400|}}%0a%3c %0a%3c next enter your password and you are all set%0a%3c %0a%3c {{:shelloncmd1.png?direct&400|}}%0a\ No newline at end of file%0a +host:1597148480=38.81.163.143 blob - /dev/null blob + 976c5452526097cfd7192198781084be9be46bc0 (mode 644) --- /dev/null +++ wiki.d/Shell.ShellSSHKEYS @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 +author=gry +charset=UTF-8 +csum=permissions added +ctime=1597841309 +host=203.129.25.247 +name=Shell.ShellSSHKEYS +rev=4 +targets= +text=(:title SSH key authentication:)%0a%0aSSH-keys are used a lot in many applications such as git, to access an account without the need for username and password. It is also more safe since there is the need of actual data present in your pc, which cannot be "guessed", unlike many passwords.%0a%0aOnce created you can log in to the shell using your username and password for the first time. In order to set up ssh-key based authentication you just need to add your public key to the authorized_keys file in the .ssh folder. %0a%0aFirst this guide will show you how to do that and in the second part there will be links on how to generate an ssh-key pair for those who want one.%0a%0a!! Part 1: Create your SSH key(pair)%0a%0aCreating SSH keys is a platform specific procedure.%0a%0aFor Windows users detailed instructions can be found at:\\%0ahttps://www.ssh.com/ssh/putty/windows/puttygen \\%0a%0aFor Linux, Mac, and Termux (Android) users detailed instructions can be found at: \\%0ahttps://www.ssh.com/ssh/keygen%0a%0aOn Linux or UNIX, ssh key pair can be generated with%0a%0a[@%0a$ ssh-keygen -t rsa%0a@]%0a%0a%0a!! Part 2: Configure SSH key(pair) access%0a%0aAssuming you are log into your shell and you see **%3cYourName>$**, press ''ls -a'' to show all the items in your home directory. Notice the **.ssh** folder, that is the one we want. Press ''cd .ssh'' to change into it and press again ls to see the **authorized_keys** file that we were looking for.%0a%0aTime to open this file for editing, one way to do this is the command ''nano authorized_keys''. The file should be empty, if it is not go to a new empty row and leave the cursor there for a moment.%0a%0a[@%0a$ nano .ssh/authorized_keys%0a$ chmod 700 $HOME%0a$ chmod 700 $HOME/.ssh%0a$ chmod 600 $HOME/.ssh/authorized_keys%0a@]%0a%0aNow let's go to our public key file in our pc, open it with any program and copy all the text you see starting from the //ssh-rsa// all the way to the e-mail at the end (including it). Select all the text (''Ctrl+A''), copy all the text either with ''Ctrl+C'', either with right click and copy.%0a**Important:** __Make sure it is the public key and it begins with //ssh-rsa// !!__%0a%0aHaving the key copied in the clipboard we can change back to the ircnow shell and press right click and paste or ''Ctrl+Shift+V'', and the text should appear on the new row in the file. %0a%0aNow let's close the editor, if you used nano the command is ''Ctrl+x'' and press ''Yes'' at the prompt that asks you whether to save or discard the changes.%0a%0aNext time you ssh into your shell there will be no need to insert the password, if you added a passphrase to you key during creation, that might be requested instead, otherwise you will log in directly! +time=1598392828 +title=SSH key authentication +author:1598392828=gry +csum:1598392828=permissions added +diff:1598392828:1598391443:=34,36d33%0a%3c $ chmod 700 $HOME%0a%3c $ chmod 700 $HOME/.ssh%0a%3c $ chmod 600 $HOME/.ssh/authorized_keys%0a +host:1598392828=203.129.25.247 +author:1598391443=gry +csum:1598391443=+ +diff:1598391443:1598391407:=31,34d30%0a%3c %0a%3c [@%0a%3c $ nano .ssh/authorized_keys%0a%3c @]%0a +host:1598391443=203.129.25.247 +author:1598391407=gry +csum:1598391407=clarified +diff:1598391407:1597841309:=9,10c9,25%0a%3c !! Part 1: Create your SSH key(pair)%0a%3c %0a---%0a> !! Part 1%0a> %0a> Assuming you are log into your shell and you see **%3cYourName>$**, press ''ls -a'' to show all the items in your home directory. Notice the **.ssh** folder, that is the one we want. Press ''cd .ssh'' to change into it and press again ls to see the **authorized_keys** file that we were looking for.%0a> %0a> Time to open this file for editing, one way to do this is the command ''nano authorized_keys''. The file should be empty, if it is not go to a new empty row and leave the cursor there for a moment.%0a> %0a> Now let's go to our public key file in our pc, open it with any program and copy all the text you see starting from the //ssh-rsa// all the way to the e-mail at the end (including it). Select all the text (''Ctrl+A''), copy all the text either with ''Ctrl+C'', either with right click and copy.%0a> **Important:** __Make sure it is the public key and it begins with //ssh-rsa// !!__%0a> %0a> Having the key copied in the clipboard we can change back to the ircnow shell and press right click and paste or ''Ctrl+Shift+V'', and the text should appear on the new row in the file. %0a> %0a> Now let's close the editor, if you used nano the command is ''Ctrl+x'' and press ''Yes'' at the prompt that asks you whether to save or discard the changes.%0a> %0a> Next time you ssh into your shell there will be no need to insert the password, if you added a passphrase to you key during creation, that might be requested instead, otherwise you will log in directly!%0a> %0a> !! Part 2%0a> %0a18,39d32%0a%3c %0a%3c On Linux or UNIX, ssh key pair can be generated with%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t rsa%0a%3c @]%0a%3c %0a%3c %0a%3c !! Part 2: Configure SSH key(pair) access%0a%3c %0a%3c Assuming you are log into your shell and you see **%3cYourName>$**, press ''ls -a'' to show all the items in your home directory. Notice the **.ssh** folder, that is the one we want. Press ''cd .ssh'' to change into it and press again ls to see the **authorized_keys** file that we were looking for.%0a%3c %0a%3c Time to open this file for editing, one way to do this is the command ''nano authorized_keys''. The file should be empty, if it is not go to a new empty row and leave the cursor there for a moment.%0a%3c %0a%3c Now let's go to our public key file in our pc, open it with any program and copy all the text you see starting from the //ssh-rsa// all the way to the e-mail at the end (including it). Select all the text (''Ctrl+A''), copy all the text either with ''Ctrl+C'', either with right click and copy.%0a%3c **Important:** __Make sure it is the public key and it begins with //ssh-rsa// !!__%0a%3c %0a%3c Having the key copied in the clipboard we can change back to the ircnow shell and press right click and paste or ''Ctrl+Shift+V'', and the text should appear on the new row in the file. %0a%3c %0a%3c Now let's close the editor, if you used nano the command is ''Ctrl+x'' and press ''Yes'' at the prompt that asks you whether to save or discard the changes.%0a%3c %0a%3c Next time you ssh into your shell there will be no need to insert the password, if you added a passphrase to you key during creation, that might be requested instead, otherwise you will log in directly!%0a\ No newline at end of file%0a +host:1598391407=203.129.25.247 +author:1597841309=jrmu +diff:1597841309:1597841309:=1,32d0%0a%3c (:title SSH key authentication:)%0a%3c %0a%3c SSH-keys are used a lot in many applications such as git, to access an account without the need for username and password. It is also more safe since there is the need of actual data present in your pc, which cannot be "guessed", unlike many passwords.%0a%3c %0a%3c Once created you can log in to the shell using your username and password for the first time. In order to set up ssh-key based authentication you just need to add your public key to the authorized_keys file in the .ssh folder. %0a%3c %0a%3c First this guide will show you how to do that and in the second part there will be links on how to generate an ssh-key pair for those who want one.%0a%3c %0a%3c !! Part 1%0a%3c %0a%3c Assuming you are log into your shell and you see **%3cYourName>$**, press ''ls -a'' to show all the items in your home directory. Notice the **.ssh** folder, that is the one we want. Press ''cd .ssh'' to change into it and press again ls to see the **authorized_keys** file that we were looking for.%0a%3c %0a%3c Time to open this file for editing, one way to do this is the command ''nano authorized_keys''. The file should be empty, if it is not go to a new empty row and leave the cursor there for a moment.%0a%3c %0a%3c Now let's go to our public key file in our pc, open it with any program and copy all the text you see starting from the //ssh-rsa// all the way to the e-mail at the end (including it). Select all the text (''Ctrl+A''), copy all the text either with ''Ctrl+C'', either with right click and copy.%0a%3c **Important:** __Make sure it is the public key and it begins with //ssh-rsa// !!__%0a%3c %0a%3c Having the key copied in the clipboard we can change back to the ircnow shell and press right click and paste or ''Ctrl+Shift+V'', and the text should appear on the new row in the file. %0a%3c %0a%3c Now let's close the editor, if you used nano the command is ''Ctrl+x'' and press ''Yes'' at the prompt that asks you whether to save or discard the changes.%0a%3c %0a%3c Next time you ssh into your shell there will be no need to insert the password, if you added a passphrase to you key during creation, that might be requested instead, otherwise you will log in directly!%0a%3c %0a%3c !! Part 2%0a%3c %0a%3c Creating SSH keys is a platform specific procedure.%0a%3c %0a%3c For Windows users detailed instructions can be found at:\\%0a%3c https://www.ssh.com/ssh/putty/windows/puttygen \\%0a%3c %0a%3c For Linux, Mac, and Termux (Android) users detailed instructions can be found at: \\%0a%3c https://www.ssh.com/ssh/keygen%0a +host:1597841309=38.81.163.143 blob - /dev/null blob + 7eb2cb56fc1a996497d24d4008c314ae3c3ed1c4 (mode 644) --- /dev/null +++ wiki.d/Shell.Sshfingerprints @@ -0,0 +1,34 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1607337375 +host=38.87.162.8 +name=Shell.Sshfingerprints +rev=7 +targets= +text=(:redirect ircnow/SSHFingerprints:)%0a%0a(:title SSH fingerprints:)%0a%0ashelltalk.net%0a%0a[@%0a1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 (DSA)%0a256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 (ECDSA)%0a256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 (ED25519)%0a3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d (RSA)%0a1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w (DSA)%0a256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE (ECDSA)%0a256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU (ED25519)%0a3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk (RSA)%0a@]%0a%0aircology.com%0a%0a[@%0a1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db (DSA)%0a256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 (ECDSA)%0a256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 (ED25519)%0a3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 (RSA)%0a1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA (DSA)%0a256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY (ECDSA)%0a256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro (ED25519)%0a3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso (RSA)%0a@]%0a%0absdforall.org%0a%0a[@%0a1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 (DSA)%0a256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c (ECDSA)%0a256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 (ED25519)%0a3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 (RSA)%0a1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo (DSA)%0a256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA (ECDSA)%0a256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 (ED25519)%0a3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac (RSA)%0a@]%0a%0ahost.ircnow.org%0a%0a[@%0a1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 (DSA)%0a256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b (ECDSA)%0a256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 (ED25519)%0a3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 (RSA)%0a1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU (DSA)%0a256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc (ECDSA)%0a256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI (ED25519)%0a3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ (RSA)%0a@]%0a%0afreeirc.org%0a%0a[@%0a1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f (DSA)%0a256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 (ECDSA)%0a256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 (ED25519)%0a3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 (RSA)%0a1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 (DSA)%0a256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU (ECDSA)%0a256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E (ED25519)%0a3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM (RSA)%0a@]%0a +time=1628585751 +title=SSH fingerprints +author:1628585751=jrmu +diff:1628585751:1628585729:=1c1%0a%3c (:redirect ircnow/SSHFingerprints:)%0a---%0a> (:redirect ircnow.SSHFingerprints:)%0a +host:1628585751=38.87.162.8 +author:1628585729=jrmu +diff:1628585729:1628585683:=2d1%0a%3c %0a +host:1628585729=38.87.162.8 +author:1628585683=jrmu +diff:1628585683:1625055091:=1d0%0a%3c (:redirect ircnow.SSHFingerprints:)%0a7,14c6,13%0a%3c 1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 (DSA)%0a%3c 256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 (ECDSA)%0a%3c 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 (ED25519)%0a%3c 3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d (RSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w (DSA)%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE (ECDSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk (RSA)%0a---%0a> 1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 root@shell.ircnow.org (DSA)%0a> 256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 root@shell.ircnow.org (ECDSA)%0a> 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a> 3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d root@shell.ircnow.org (RSA)%0a> 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w root@shell.ircnow.org (DSA)%0a> 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE root@shell.ircnow.org (ECDSA)%0a> 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU root@shell.ircnow.org (ED25519)%0a> 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk root@shell.ircnow.org (RSA)%0a20,27c19,26%0a%3c 1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db (DSA)%0a%3c 256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 (ECDSA)%0a%3c 256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 (ED25519)%0a%3c 3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 (RSA)%0a%3c 1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA (DSA)%0a%3c 256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY (ECDSA)%0a%3c 256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro (ED25519)%0a%3c 3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso (RSA)%0a---%0a> 1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db root@grape.ircnow.org (DSA)%0a> 256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 root@grape.ircnow.org (ECDSA)%0a> 256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 root@grape.ircnow.org (ED25519)%0a> 3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 root@grape.ircnow.org (RSA)%0a> 1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA root@grape.ircnow.org (DSA)%0a> 256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY root@grape.ircnow.org (ECDSA)%0a> 256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro root@grape.ircnow.org (ED25519)%0a> 3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso root@grape.ircnow.org (RSA)%0a33,40c32,39%0a%3c 1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 (DSA)%0a%3c 256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c (ECDSA)%0a%3c 256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 (ED25519)%0a%3c 3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 (RSA)%0a%3c 1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo (DSA)%0a%3c 256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA (ECDSA)%0a%3c 256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 (ED25519)%0a%3c 3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac (RSA)%0a---%0a> 1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 root@lemon.lemon.ircnow.org (DSA)%0a> 256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c root@lemon.lemon.ircnow.org (ECDSA)%0a> 256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 root@lemon.lemon.ircnow.org (ED25519)%0a> 3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 root@lemon.lemon.ircnow.org (RSA)%0a> 1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo root@lemon.lemon.ircnow.org (DSA)%0a> 256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA root@lemon.lemon.ircnow.org (ECDSA)%0a> 256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 root@lemon.lemon.ircnow.org (ED25519)%0a> 3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac root@lemon.lemon.ircnow.org (RSA)%0a43,44c42,43%0a%3c host.ircnow.org%0a%3c %0a---%0a> coconut.ircnow.org%0a> %0a46,53c45,52%0a%3c 1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 (DSA)%0a%3c 256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b (ECDSA)%0a%3c 256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 (ED25519)%0a%3c 3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 (RSA)%0a%3c 1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU (DSA)%0a%3c 256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc (ECDSA)%0a%3c 256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI (ED25519)%0a%3c 3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ (RSA)%0a---%0a> 1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 root@srv1.aliendata.com (DSA)%0a> 256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b root@srv1.aliendata.com (ECDSA)%0a> 256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 root@srv1.aliendata.com (ED25519)%0a> 3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 root@srv1.aliendata.com (RSA)%0a> 1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU root@srv1.aliendata.com (DSA)%0a> 256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc root@srv1.aliendata.com (ECDSA)%0a> 256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI root@srv1.aliendata.com (ED25519)%0a> 3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ root@srv1.aliendata.com (RSA)%0a59,67c58,66%0a%3c 1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f (DSA)%0a%3c 256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 (ECDSA)%0a%3c 256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 (ED25519)%0a%3c 3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 (RSA)%0a%3c 1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 (DSA)%0a%3c 256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU (ECDSA)%0a%3c 256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E (ED25519)%0a%3c 3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM (RSA)%0a%3c @]%0a---%0a> 1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f root@pineapple.ircnow.org (DSA)%0a> 256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 root@pineapple.ircnow.org (ECDSA)%0a> 256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 root@pineapple.ircnow.org (ED25519)%0a> 3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 root@pineapple.ircnow.org (RSA)%0a> 1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 root@pineapple.ircnow.org (DSA)%0a> 256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU root@pineapple.ircnow.org (ECDSA)%0a> 256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E root@pineapple.ircnow.org (ED25519)%0a> 3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM root@pineapple.ircnow.org (RSA)%0a> @]%0a\ No newline at end of file%0a +host:1628585683=38.87.162.8 +author:1625055091=jrmu +diff:1625055091:1619760177:=3,4c3,4%0a%3c shelltalk.net%0a%3c %0a---%0a> guava.ircnow.org%0a> %0a16,17c16,17%0a%3c ircology.com%0a%3c %0a---%0a> grape.ircnow.org%0a> %0a29,30c29,30%0a%3c bsdforall.org%0a%3c %0a---%0a> lemon.ircnow.org%0a> %0a55c55%0a%3c freeirc.org%0a---%0a> pineapple.ircnow.org%0a +host:1625055091=198.251.81.119 +author:1619760177=jrmu +diff:1619760177:1607338974:=53,65d52%0a%3c @]%0a%3c %0a%3c pineapple.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:c8:2e:4b:d9:b2:bf:8f:c0:25:2f:46:5f:51:4c:19:0f root@pineapple.ircnow.org (DSA)%0a%3c 256 MD5:b5:77:68:64:45:b9:b4:b3:c0:a7:b6:44:46:19:28:44 root@pineapple.ircnow.org (ECDSA)%0a%3c 256 MD5:22:d7:86:17:c4:2b:c5:d0:2c:64:9c:09:45:01:0d:c7 root@pineapple.ircnow.org (ED25519)%0a%3c 3072 MD5:ac:39:bc:90:d7:fa:f2:11:28:51:a7:a9:b1:c7:6f:66 root@pineapple.ircnow.org (RSA)%0a%3c 1024 SHA256:sUO14qmMAdFTez9dzgYbhFRNYP9crEEs5mRVVr6e0T8 root@pineapple.ircnow.org (DSA)%0a%3c 256 SHA256:tFgNTqEYNKiSu0cpHmEZrlBKYVUYlnnF9QuAkPiJrAU root@pineapple.ircnow.org (ECDSA)%0a%3c 256 SHA256:XdIjhgrA3n+ZkFhl6NsICcTw3iaLN0RizvhcQWGWz+E root@pineapple.ircnow.org (ED25519)%0a%3c 3072 SHA256:IPou7tXY1Ze7NWI2+Ohv2fwpI2sLHmx7utwgZTpHvCM root@pineapple.ircnow.org (RSA)%0a +host:1619760177=198.251.81.119 +author:1607338974=jrmu +diff:1607338974:1607337375:=52d51%0a%3c 3072 SHA256:EvpP/6YrmnjLqzXX/M6sD5iyYj5m1G7zDcFVhBrZCeQ root@srv1.aliendata.com (RSA)%0a +host:1607338974=198.251.81.119 +author:1607337375=jrmu +diff:1607337375:1607337375:=1,52d0%0a%3c (:title SSH fingerprints:)%0a%3c %0a%3c guava.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 root@shell.ircnow.org (DSA)%0a%3c 256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 root@shell.ircnow.org (ECDSA)%0a%3c 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a%3c 3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d root@shell.ircnow.org (RSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w root@shell.ircnow.org (DSA)%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE root@shell.ircnow.org (ECDSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU root@shell.ircnow.org (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk root@shell.ircnow.org (RSA)%0a%3c @]%0a%3c %0a%3c grape.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db root@grape.ircnow.org (DSA)%0a%3c 256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 root@grape.ircnow.org (ECDSA)%0a%3c 256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 root@grape.ircnow.org (ED25519)%0a%3c 3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 root@grape.ircnow.org (RSA)%0a%3c 1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA root@grape.ircnow.org (DSA)%0a%3c 256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY root@grape.ircnow.org (ECDSA)%0a%3c 256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro root@grape.ircnow.org (ED25519)%0a%3c 3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso root@grape.ircnow.org (RSA)%0a%3c @]%0a%3c %0a%3c lemon.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 root@lemon.lemon.ircnow.org (DSA)%0a%3c 256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c root@lemon.lemon.ircnow.org (ECDSA)%0a%3c 256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 root@lemon.lemon.ircnow.org (ED25519)%0a%3c 3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 root@lemon.lemon.ircnow.org (RSA)%0a%3c 1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo root@lemon.lemon.ircnow.org (DSA)%0a%3c 256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA root@lemon.lemon.ircnow.org (ECDSA)%0a%3c 256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 root@lemon.lemon.ircnow.org (ED25519)%0a%3c 3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac root@lemon.lemon.ircnow.org (RSA)%0a%3c @]%0a%3c %0a%3c coconut.ircnow.org%0a%3c %0a%3c [@%0a%3c 1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 root@srv1.aliendata.com (DSA)%0a%3c 256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b root@srv1.aliendata.com (ECDSA)%0a%3c 256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 root@srv1.aliendata.com (ED25519)%0a%3c 3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 root@srv1.aliendata.com (RSA)%0a%3c 1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU root@srv1.aliendata.com (DSA)%0a%3c 256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc root@srv1.aliendata.com (ECDSA)%0a%3c 256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI root@srv1.aliendata.com (ED25519)%0a%3c @]%0a\ No newline at end of file%0a +host:1607337375=198.251.81.119 blob - /dev/null blob + e73ec72b69a77ab8f782452bd21cebd84940fe49 (mode 644) --- /dev/null +++ wiki.d/Shell.Sshkeys,del-1607337382 @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1607335865 +host=198.251.81.119 +name=Shell.Sshkeys +rev=5 +targets= +text=(:title SSH fingerprints:)%0a%0aguava.ircnow.org%0a%0a[@%0a1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 root@shell.ircnow.org (DSA)%0a256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 root@shell.ircnow.org (ECDSA)%0a256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d root@shell.ircnow.org (RSA)%0a1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w root@shell.ircnow.org (DSA)%0a256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE root@shell.ircnow.org (ECDSA)%0a256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU root@shell.ircnow.org (ED25519)%0a3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk root@shell.ircnow.org (RSA)%0a@]%0a%0agrape.ircnow.org%0a%0a[@%0a1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db root@grape.ircnow.org (DSA)%0a256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 root@grape.ircnow.org (ECDSA)%0a256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 root@grape.ircnow.org (ED25519)%0a3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 root@grape.ircnow.org (RSA)%0a1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA root@grape.ircnow.org (DSA)%0a256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY root@grape.ircnow.org (ECDSA)%0a256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro root@grape.ircnow.org (ED25519)%0a3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso root@grape.ircnow.org (RSA)%0a@]%0a%0alemon.ircnow.org%0a%0a[@%0a1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 root@lemon.lemon.ircnow.org (DSA)%0a256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c root@lemon.lemon.ircnow.org (ECDSA)%0a256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 root@lemon.lemon.ircnow.org (ED25519)%0a3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 root@lemon.lemon.ircnow.org (RSA)%0a1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo root@lemon.lemon.ircnow.org (DSA)%0a256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA root@lemon.lemon.ircnow.org (ECDSA)%0a256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 root@lemon.lemon.ircnow.org (ED25519)%0a3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac root@lemon.lemon.ircnow.org (RSA)%0a@]%0a%0acoconut.ircnow.org%0a%0a[@%0a1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 root@srv1.aliendata.com (DSA)%0a256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b root@srv1.aliendata.com (ECDSA)%0a256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 root@srv1.aliendata.com (ED25519)%0a3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 root@srv1.aliendata.com (RSA)%0a1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU root@srv1.aliendata.com (DSA)%0a256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc root@srv1.aliendata.com (ECDSA)%0a256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI root@srv1.aliendata.com (ED25519)%0a@] +time=1607337294 +title=SSH fingerprints +author:1607337294=jrmu +diff:1607337294:1607337239:=30,40d29%0a%3c %0a%3c [@%0a%3c 1024 MD5:59:e2:be:0f:fc:f0:b5:fa:f0:6c:13:62:2a:f2:31:60 root@lemon.lemon.ircnow.org (DSA)%0a%3c 256 MD5:f0:b3:6f:1a:c7:cb:2e:e3:99:de:0f:5c:e0:51:65:5c root@lemon.lemon.ircnow.org (ECDSA)%0a%3c 256 MD5:e3:ec:2d:7a:b1:01:37:77:20:81:f1:6f:5d:c2:5e:19 root@lemon.lemon.ircnow.org (ED25519)%0a%3c 3072 MD5:a7:03:25:39:af:d6:0c:6d:96:02:00:a9:cd:4f:a2:a0 root@lemon.lemon.ircnow.org (RSA)%0a%3c 1024 SHA256:TCfBFMPBmI1pcoXk6o804onoiBp1ttyImKVlu8oCzLo root@lemon.lemon.ircnow.org (DSA)%0a%3c 256 SHA256:QKxOV5N+7CD3/MmMmKyJstnpsAgvrr4MjSmtRyqtMkA root@lemon.lemon.ircnow.org (ECDSA)%0a%3c 256 SHA256:fNu7cx1gxdJeXNNAsnR5QW6b3nkwTYrbti/syoUALj8 root@lemon.lemon.ircnow.org (ED25519)%0a%3c 3072 SHA256:c+xXbMiZLXi8KZel2souqdITUy7C7B4dNZgFgi/+2Ac root@lemon.lemon.ircnow.org (RSA)%0a%3c @]%0a +host:1607337294=198.251.81.119 +author:1607337239=jrmu +diff:1607337239:1607336984:=33a34%0a> jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a34a36,37%0a> you have mail in /var/mail/jrmu%0a> jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a35a39%0a> jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a36a41%0a> jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a37a43%0a> jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a38a45%0a> jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a39a47%0a> jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a40a49%0a> jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub %0a +host:1607337239=198.251.81.119 +author:1607336984=jrmu +diff:1607336984:1607336817:=29,50c29%0a%3c lemon.ircnow.org%0a%3c %0a%3c coconut.ircnow.org%0a%3c %0a%3c [@%0a%3c jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c 1024 MD5:c5:6e:96:2e:1f:be:de:a2:54:79:94:a5:03:10:13:73 root@srv1.aliendata.com (DSA)%0a%3c you have mail in /var/mail/jrmu%0a%3c jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c 256 MD5:a4:7c:fa:d9:b7:35:a2:27:e9:f9:52:ee:3a:27:af:6b root@srv1.aliendata.com (ECDSA)%0a%3c jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c 256 MD5:9a:41:5d:c7:14:28:10:25:87:00:3c:76:85:c6:63:98 root@srv1.aliendata.com (ED25519)%0a%3c jrmu$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c 3072 MD5:20:d9:08:76:fb:90:3d:59:19:42:15:24:f5:40:e3:c7 root@srv1.aliendata.com (RSA)%0a%3c jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c 1024 SHA256:P1+Hm/Razh8bpYVQL51ZcjfETDj8nZpjDq+TZx3l4wU root@srv1.aliendata.com (DSA)%0a%3c jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c 256 SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc root@srv1.aliendata.com (ECDSA)%0a%3c jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c 256 SHA256:V6gS4O9j+dLivmtX59tkWK2vkrl/RL2KXoCObj66/gI root@srv1.aliendata.com (ED25519)%0a%3c jrmu$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub %0a%3c @]%0a\ No newline at end of file%0a---%0a> lemon.ircnow.org%0a\ No newline at end of file%0a +host:1607336984=198.251.81.119 +author:1607336817=jrmu +diff:1607336817:1607335865:=6,7d5%0a%3c 1024 MD5:16:6e:92:73:cc:9b:05:bc:11:d2:51:3b:b9:75:7d:00 root@shell.ircnow.org (DSA)%0a%3c 256 MD5:c0:10:fd:78:1e:30:db:5c:32:1a:f3:5a:95:25:07:02 root@shell.ircnow.org (ECDSA)%0a9,13c7,10%0a%3c 3072 MD5:7d:bd:32:3f:6a:79:f9:70:4b:fd:fb:26:3f:5f:ac:1d root@shell.ircnow.org (RSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w root@shell.ircnow.org (DSA)%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE root@shell.ircnow.org (ECDSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU root@shell.ircnow.org (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk root@shell.ircnow.org (RSA)%0a---%0a> 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a> 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a> 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a> 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a17,27d13%0a%3c %0a%3c [@%0a%3c 1024 MD5:62:37:3d:69:bd:c8:32:72:f2:9d:3b:09:16:36:2b:db root@grape.ircnow.org (DSA)%0a%3c 256 MD5:88:78:26:aa:46:8d:f9:9b:25:60:91:bb:d4:89:2c:74 root@grape.ircnow.org (ECDSA)%0a%3c 256 MD5:81:e0:08:1e:96:76:e5:a7:b6:fe:6e:c6:0a:52:fa:b3 root@grape.ircnow.org (ED25519)%0a%3c 3072 MD5:40:d7:95:0b:35:63:b3:ba:15:bd:f8:04:34:d0:41:b0 root@grape.ircnow.org (RSA)%0a%3c 1024 SHA256:QCVQbFIdAONLA4MY8cuipYACB7UWltu3AcIi22uaKRA root@grape.ircnow.org (DSA)%0a%3c 256 SHA256:mz0kUriQSfWecNNmk0wme8nZQJBIMslwJO4jMqOl/uY root@grape.ircnow.org (ECDSA)%0a%3c 256 SHA256:npWMt4HZQ1/eIgwxHWF+1agi3M2ylUkchgMq3SMX8ro root@grape.ircnow.org (ED25519)%0a%3c 3072 SHA256:B8EG6KpH0ENOA80gZRsywdPbfitTqkcQpA5ZlLytNso root@grape.ircnow.org (RSA)%0a%3c @]%0a +host:1607336817=198.251.81.119 +author:1607335865=jrmu +diff:1607335865:1607335865:=1,15d0%0a%3c (:title SSH fingerprints:)%0a%3c %0a%3c guava.ircnow.org%0a%3c %0a%3c [@%0a%3c 256 MD5:fc:59:e3:be:2c:5c:55:0d:0b:cf:4b:8f:98:8f:b8:b6 root@shell.ircnow.org (ED25519)%0a%3c 256 SHA256:mGpvXOEbMT/FFKusyMiYoAy9aTXdulByeeewxLT/9YE shell.ircnow.org (ECDSA)%0a%3c 1024 SHA256:ZUyvmIvS4PTTgMHUTgLTygRIZRhvuGq1AV9KeQhQw8w shell.ircnow.org (DSA)%0a%3c 256 SHA256:dDVPjfDfSMP0BTTyZ84o5OhLXtmwPhp8GWDIpWC4rvU shell.ircnow.org (ED25519)%0a%3c 3072 SHA256:cLMVQu0Q8PiX7Hv92ocmm5pOHxfYvyn33hCxkN0MFRk shell.ircnow.org (RSA)%0a%3c @]%0a%3c %0a%3c grape.ircnow.org%0a%3c %0a%3c lemon.ircnow.org%0a\ No newline at end of file%0a +host:1607335865=198.251.81.119 blob - /dev/null blob + ba620013ef390d06460a13f3a7b6af44512ba649 (mode 644) --- /dev/null +++ wiki.d/Shell.Tutorial @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596863773 +host=38.81.163.143 +name=Shell.Tutorial +rev=2 +targets= +text= +time=1597146146 +author:1597146146=jrmu +diff:1597146146:1596863773:=0a1%0a> UNIX101: Learn how to use the command line%0a\ No newline at end of file%0a +host:1597146146=38.81.163.143 +author:1596863773=jrmu +diff:1596863773:1596863773:=1d0%0a%3c UNIX101: Learn how to use the command line%0a\ No newline at end of file%0a +host:1596863773=38.81.163.143 blob - /dev/null blob + 66eddcbb06093af5860ea0bb59e0e4c35ba7b059 (mode 644) --- /dev/null +++ wiki.d/Shell.Unix101,del-1597147589 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596690138 +host=38.81.163.143 +name=Shell.Unix101 +rev=1 +targets=Shell.Lynx +text=[[shell/lynx|Lynx Tutorial]] +time=1596690138 +author:1596690138=jrmu +diff:1596690138:1596690138:=1d0%0a%3c [[shell/lynx|Lynx Tutorial]]%0a\ No newline at end of file%0a +host:1596690138=38.81.163.143 blob - /dev/null blob + eb5203679f598d9cb740a9f161070979192cb412 (mode 644) --- /dev/null +++ wiki.d/Siskin.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637683595 +host=38.87.162.8 +name=Siskin.Connect +rev=4 +targets=Xmpp.Xmpp +text=[[https://siskin.im/|Siskin IM]] is a lightweight and powerful XMPP app for iOS. It offers multiple color themes, an easy way to share photos, multi-device sync, video calling, and end-to-end encryption with OMEMO. It is GPLv3 licensed.%0a%0a'''WARNING''': Apple's App store and iOS are non-free. To better protect your security and privacy, you should consider using another OS.%0a%0a# To install Siskin, first download it from the Apple app store:\\%0aAttach:siskin-appstore.png%0a# If prompted to allow notifications, tap @@Allow@@:\\%0aAttach:siskin-sendnotifications.png%0a# Tap @@Create new XMPP account@@:\\%0aAttach:siskin-home.png%0a# For @@Preferred Domain Name@@, use one of our [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Then, tap @@Next@@:\\%0aAttach:siskin-preferreddomain.png%0a# Fill in the username and password:\\%0aAttach:siskin-usernamepassword.png%0a# Tap @@Enable@@ to allow push notifications:\\%0aAttach:siskin-pushnotifications.png%0a# Registration is complete:\\%0aAttach:siskin-chats.png%0a +time=1637685538 +author:1637685538=jrmu +diff:1637685538:1637684924:=11c11,12%0a%3c # For @@Preferred Domain Name@@, use one of our [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Then, tap @@Next@@:\\%0a---%0a> # Tap @@Create new XMPP account@@:\\%0a> Attach:siskin-pushnotifications.png%0a13c14%0a%3c # Fill in the username and password:\\%0a---%0a> Attach:siskin-chats.png%0a15,18d15%0a%3c # Tap @@Enable@@ to allow push notifications:\\%0a%3c Attach:siskin-pushnotifications.png%0a%3c # Registration is complete:\\%0a%3c Attach:siskin-chats.png%0a +host:1637685538=38.87.162.8 +author:1637684924=jrmu +diff:1637684924:1637684704:=1,4c1,2%0a%3c [[https://siskin.im/|Siskin IM]] is a lightweight and powerful XMPP app for iOS. It offers multiple color themes, an easy way to share photos, multi-device sync, video calling, and end-to-end encryption with OMEMO. It is GPLv3 licensed.%0a%3c %0a%3c '''WARNING''': Apple's App store and iOS are non-free. To better protect your security and privacy, you should consider using another OS.%0a%3c %0a---%0a> [[https://siskin.im/|Siskin IM]] is a lightweight and powerful XMPP app for iOS. It offers multiple color themes, an easy way to share photos, multi-device sync, video calling, and end-to-end encryption with OMEMO.%0a> %0a7c5,7%0a%3c # If prompted to allow notifications, tap @@Allow@@:\\%0a---%0a> #%0a> Attach:siskin-preferreddomain.png%0a> Attach:siskin-pushnotifications.png%0a9c9%0a%3c # Tap @@Create new XMPP account@@:\\%0a---%0a> Attach:siskin-chats.png%0a11,14d10%0a%3c # Tap @@Create new XMPP account@@:\\%0a%3c Attach:siskin-pushnotifications.png%0a%3c Attach:siskin-preferreddomain.png%0a%3c Attach:siskin-chats.png%0a +host:1637684924=38.87.162.8 +author:1637684704=jrmu +diff:1637684704:1637683595:=3,5c3%0a%3c # To install Siskin, first download it from the Apple app store:\\%0a%3c Attach:siskin-appstore.png%0a%3c #%0a---%0a> # To install Siskin, first install [[Fdroid/Install|F-droid]]:\\%0a8a7%0a> Attach:siskin-appstore.png%0a11a11,14%0a> # Tap @@Allow@@:\\%0a> # Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0a> # After login, tap @@Start Using Siskin@@:\\%0a> # Tap the contacts icon at the top-right corner:\\%0a +host:1637684704=38.87.162.8 +author:1637683595=jrmu +diff:1637683595:1637683595:=1,14d0%0a%3c [[https://siskin.im/|Siskin IM]] is a lightweight and powerful XMPP app for iOS. It offers multiple color themes, an easy way to share photos, multi-device sync, video calling, and end-to-end encryption with OMEMO.%0a%3c %0a%3c # To install Siskin, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:siskin-preferreddomain.png%0a%3c Attach:siskin-pushnotifications.png%0a%3c Attach:siskin-sendnotifications.png%0a%3c Attach:siskin-appstore.png%0a%3c Attach:siskin-chats.png%0a%3c Attach:siskin-home.png%0a%3c Attach:siskin-usernamepassword.png%0a%3c # Tap @@Allow@@:\\%0a%3c # Fill in your username and password. The username must include the domain. In this example, our username is @@username@ircnow.org@@). Then, tap @@Login@@:\\%0a%3c # After login, tap @@Start Using Siskin@@:\\%0a%3c # Tap the contacts icon at the top-right corner:\\%0a +host:1637683595=38.87.162.8 blob - /dev/null blob + 874570382483be39c35aeeb2f424a55ad75b3f04 (mode 644) --- /dev/null +++ wiki.d/Siskin.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637683595 +host=38.87.162.8 +name=Siskin.RecentChanges +rev=4 +text=* [[Siskin/Connect]] . . . November 23, 2021, at 04:38 PM by [[~jrmu]]: [==]%0a +time=1637685538 blob - /dev/null blob + 6619d2412b8cf137f4caac7074bff4329e25a405 (mode 644) --- /dev/null +++ wiki.d/Site.AllRecentChanges @@ -0,0 +1,11 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1596101899 +host=198.251.82.194 +name=Site.AllRecentChanges +rev=9357 +text=* [[Pmwiki.Install]] . . . December 17, 2021, at 04:19 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Servers]] . . . December 17, 2021, at 04:09 PM by [[~AncientWisdom]]: [==]%0a* [[Almanack.Almanack]] . . . December 17, 2021, at 03:42 PM by [[~jrmu]]: [==]%0a* [[Ircnowd.Ircnowd]] . . . December 17, 2021, at 02:08 PM by [[~jrmu]]: [==]%0a* [[Irc.Federation]] . . . December 17, 2021, at 02:03 PM by [[~jrmu]]: [==]%0a* [[Got.Server]] . . . December 17, 2021, at 01:45 PM by [[~jrmu]]: [==]%0a* [[Gotweb.Install]] . . . December 17, 2021, at 01:42 PM by [[~jrmu]]: [==]%0a* [[Main.HomePage]] . . . December 17, 2021, at 09:25 AM by [[~AncientWisdom]]: [==]%0a* [[Marketing.Memes]] . . . December 17, 2021, at 05:12 AM by [[~jrmu]]: [==]%0a* [[Got.Repo]] . . . December 17, 2021, at 04:26 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dump]] . . . December 16, 2021, at 04:56 PM by [[~Hawk]]: [==]%0a* [[Openbsd.Gotweb]] . . . December 16, 2021, at 03:36 PM by [[~jrmu]]: [==]%0a* [[SiteAdmin.AuthUser]] . . . December 15, 2021, at 04:59 PM by [[~jrmu]]: [==]%0a* [[Irc.Chanop]] . . . December 14, 2021, at 04:58 AM by [[~mkf]]: [==]%0a* [[9.9gridchan]] . . . December 14, 2021, at 04:37 AM by [[~mkf]]: [==]%0a* [[Openhttpd.Configure]] . . . December 10, 2021, at 02:44 PM by [[~jrmu]]: [==]%0a* [[Ngircd.Install]] . . . December 07, 2021, at 01:44 PM by [[~jrmu]]: [==]%0a* [[Hopm.Install]] . . . December 06, 2021, at 08:58 PM by [[~xfnw]]: [=warn about +x=]%0a* [[Opensmtpd.Configure]] . . . December 06, 2021, at 07:16 AM by [[~jrmu]]: [==]%0a* [[Ircnow.SSHFingerprints]] . . . December 06, 2021, at 02:03 AM by [[~jrmu]]: [==]%0a* [[9.Todo]] . . . December 03, 2021, at 07:52 PM by [[~mkf]]: [==]%0a* [[Vps.Vps]] . . . December 03, 2021, at 12:35 PM by [[~dodocrypto]]: [==]%0a* [[AncientWisdom.Bio]] . . . December 03, 2021, at 07:43 AM by [[~AncientWisdom]]: [==]%0a* [[Cloud9p.Roadmap]] . . . December 03, 2021, at 05:04 AM by [[~hydragyrum]]: [==]%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* [[Openrsync.Usage]] . . . December 02, 2021, at 11:52 AM 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* [[Biboumi.Install]] . . . November 29, 2021, at 12:44 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* [[Dovecot.Install]] . . . November 28, 2021, at 12:30 PM by [[~Hawk]]: [==]%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* [[Xmpp.Xmpp]] . . . November 27, 2021, at 12:33 PM by [[~jrmu]]: [==]%0a* [[Squirrelmail.Install]] . . . November 26, 2021, at 10:50 PM by [[~bugzbunny]]: [=Whoops, setup unbound first=]%0a* [[Mcabber.Connect]] . . . November 26, 2021, at 01:38 PM by [[~jrmu]]: [==]%0a* [[Php.Install]] . . . November 26, 2021, at 01:20 PM by [[~miniontoby]]: [=Added upgarding notes=]%0a* [[ChatSecure.Connect]] . . . November 26, 2021, at 11:36 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Projects]] . . . November 24, 2021, at 04:24 PM by [[~mkf]]: [==]%0a* [[Ircnow.Explorer]] . . . November 24, 2021, at 03:16 PM 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* [[Minutemin.Bootcamp]] . . . November 22, 2021, at 09:56 AM by [[~jrmu]]: [==]%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* [[Vmm.DebianIso]] . . . November 19, 2021, at 09:35 PM by [[~nicoz]]: [==]%0a* [[Unix.History]] . . . November 18, 2021, at 02:08 PM by [[~jrmu]]: [==]%0a* [[NodeJS.Install]] . . . November 18, 2021, at 12:02 PM by [[~dodocrypto]]: [==]%0a* [[PuTTY.PuTTYgen]] . . . November 18, 2021, at 06:13 AM by [[~jrmu]]: [==]%0a* [[Znc.Install]] . . . November 17, 2021, at 11:28 PM by [[~jrmu]]: [==]%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* [[Prosody.Install]] . . . November 17, 2021, at 06:02 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Training]] . . . November 16, 2021, at 03:30 PM by [[~Hawk]]: [==]%0a* [[Site.SideBar]] . . . November 16, 2021, at 01:16 PM by [[~jrmu]]: [==]%0a* [[Opera.Connect]] . . . November 16, 2021, at 12:12 AM by [[~wiz]]: [==]%0a* [[Vhost.Ircnow]] . . . November 15, 2021, at 11:13 AM by [[~AncientWisdom]]: [==]%0a* [[Acme-client.Configure]] . . . November 14, 2021, at 04:33 PM by [[~theguest]]: [==]%0a* [[Got.Usage]] . . . November 14, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Relayd.TLSMulti]] . . . November 13, 2021, at 03:19 AM by [[~jrmu]]: [==]%0a* [[0dev.0dev]] . . . November 12, 2021, at 03:00 AM by [[~dodocrypto]]: [==]%0a* [[Doas.Configure]] . . . November 11, 2021, at 01:30 PM by [[~starewind]]: [=then overwrite doas.conf - changed to then append to doas.conf=]%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* [[Dns.Records]] . . . November 10, 2021, at 12:16 PM by [[~Hawk]]: [==]%0a* [[Nsd.Configure]] . . . November 10, 2021, at 11:58 AM by [[~Hawk]]: [==]%0a* [[Openbsd.Icecast]] . . . November 09, 2021, at 01:22 AM by [[~mkf]]: [==]%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* [[Opsofliberty.Bootcamp]] . . . November 06, 2021, at 05: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* [[Relayd.Acceleration]] . . . November 06, 2021, at 03:21 PM by [[~jrmu]]: [==]%0a* [[Vmm.Configure]] . . . November 05, 2021, at 09:44 PM by [[~mkf]]: [=so we look cool now.=]%0a* [[Vmm.Plan9]] . . . November 05, 2021, at 09:31 PM by [[~mkf]]: [=???=]%0a* [[Vmm.Vmm]] . . . November 05, 2021, at 09:26 PM by [[~mkf]]: [=more placebo's=]%0a* [[9.Ideas]] . . . November 05, 2021, at 11:46 AM by [[~jrmu]]: [==]%0a* [[9.Stone]] . . . November 04, 2021, at 04:09 PM by [[~meeekeeef]]: [==]%0a* [[9.Drawterm]] . . . November 04, 2021, at 04:03 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* [[Znc.Chroot]] . . . November 03, 2021, at 02:50 PM by [[~jrmu]]: [==]%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* [[Openbsd.Vipw]] . . . October 31, 2021, at 03:48 PM by [[~jrmu]]: [==]%0a* [[Debian.Debian]] . . . October 31, 2021, at 12:34 PM by [[~monaco]]: [==]%0a* [[Unbound.Configure]] . . . October 30, 2021, at 03:11 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Adduser]] . . . October 30, 2021, at 10:29 AM by [[~jrmu]]: [==]%0a* [[Donations.Donations]] . . . October 30, 2021, at 09:39 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Victorycpus]] . . . October 30, 2021, at 08:17 AM by [[~jrmu]]: [==]%0a* [[Gpg.Verify]] . . . October 30, 2021, at 02:46 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Team]] . . . October 30, 2021, at 02:25 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sonsofliberty]] . . . October 30, 2021, at 02:16 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* [[Ircnow.Milestones]] . . . October 29, 2021, at 01:06 PM by [[~AncientWisdom]]: [==]%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* [[Openbsd.Install70]] . . . October 26, 2021, at 05:12 PM by [[~jrmu]]: [==]%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* [[Ircnow.Networks]] . . . October 24, 2021, at 11:34 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* [[Unrealircd.Install]] . . . October 24, 2021, at 06:25 AM by [[~mkf]]: [=and more=]%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.Install]] . . . October 23, 2021, at 02:23 PM by [[~Hawk]]: [==]%0a* [[TigerVNC.SSH]] . . . October 23, 2021, at 11:56 AM by [[~Hawk]]: [==]%0a* [[Rio.Customize]] . . . October 22, 2021, at 09:22 AM by [[~jrmu]]: [==]%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* [[9.Install]] . . . October 19, 2021, at 02:36 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* [[Vmctl.Usage]] . . . October 17, 2021, at 06:14 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* [[Openhttpd.Perl]] . . . October 14, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Minetest]] . . . October 14, 2021, at 02:18 PM by [[~miniontoby]]: [==]%0a* [[Openbsd.Pmwiki]] . . . October 14, 2021, at 02:14 PM by [[~miniontoby]]: [=added credits =]%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* [[Terms.Privacy]] . . . October 11, 2021, at 11:48 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Roadmap]] . . . October 10, 2021, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Ssh.Fingerprints]] . . . October 09, 2021, at 10:41 PM by [[~xfnw]]: [=make the top row of the table the head=]%0a* [[Xfce.Install]] . . . October 09, 2021, at 11:27 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* [[Opensmtpd.Test]] . . . October 07, 2021, at 01:59 PM by [[~jrmu]]: [==]%0a* [[Opensmtpd.Troubleshoot]] . . . October 07, 2021, at 09:28 AM by [[~mkf]]: [==]%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* [[Letsencrypt.Expired]] . . . October 05, 2021, at 02:46 PM by [[~miniontoby]]: [=added .pem =]%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* [[9.Partdisk]] . . . September 27, 2021, at 08:13 AM by [[~jrmu]]: [==]%0a* [[Cvs.Guide]] . . . September 26, 2021, at 02:28 PM by [[~Miniontoby]]: [==]%0a* [[Openbsd.PFStable]] . . . September 24, 2021, at 03:28 PM by [[~miniontoby]]: [==]%0a* [[License.IrcnowV2]] . . . September 21, 2021, at 03:53 AM by [[~jrmu]]: [==]%0a* [[9.9]] . . . September 18, 2021, at 02:20 AM by [[~mkf]]: [==]%0a* [[Dhcpd.Configure]] . . . September 15, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a* [[Dns.Registrars]] . . . September 15, 2021, at 07:44 AM 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* [[Mutt.Connect]] . . . September 10, 2021, at 06:01 AM by [[~mkf]]: [=6.8 -> 6.9=]%0a* [[Ircnow.Minutemin]] . . . September 10, 2021, at 05:53 AM by [[~mkf]]: [=it's getting smaller.=]%0a* [[DNS.DKIM]] . . . September 09, 2021, at 04:00 PM by [[~jrmu]]: [==]%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* [[Fiche.Install]] . . . August 25, 2021, at 02:21 PM by [[~Almajd]]: [==]%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* [[Debate.Debiandanger]] . . . August 23, 2021, at 04:48 PM by [[~mkf]]: [==]%0a* [[Mariadb.Install]] . . . August 23, 2021, at 04:42 PM by [[~wiz]]: [==]%0a* [[Main.WikiSandbox]] . . . August 23, 2021, at 04:39 PM by [[~mkf]]: [==]%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* [[DNS.RDNS]] . . . August 22, 2021, at 11:20 PM by [[~jrmu]]: [==]%0a* [[Debate.Providers]] . . . August 22, 2021, at 09:22 PM by [[~mkf]]: [==]%0a* [[Openbsd.Rcctl]] . . . August 22, 2021, at 09:07 PM by [[~mkf]]: [==]%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* [[Vmm.DevuanIso]] . . . August 22, 2021, at 05:44 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* [[Openbsd.FilePermissions]] . . . August 20, 2021, at 02:20 AM by [[~Nate S]]: [==]%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.Vmmlinux]] . . . August 15, 2021, at 05:36 PM by [[~fgm]]: [==]%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* [[Openbsd.Iked]] . . . August 15, 2021, at 01:08 AM by [[~mkf]]: [=updated, still doesn't work on 6.9=]%0a* [[EmailTray.Connect]] . . . August 15, 2021, at 12:11 AM by [[~mkf]]: [==]%0a* [[Iked.Linux]] . . . August 14, 2021, at 06:26 PM by [[~mkf]]: [==]%0a* [[Asterisk.Install]] . . . August 14, 2021, at 06:03 PM by [[~jrmu]]: [==]%0a* [[Rcd.Configure]] . . . August 14, 2021, at 04:01 PM by [[~mkf]]: [==]%0a* [[Bouncer.Konversation]] . . . August 14, 2021, at 02:46 PM by [[~mkf]]: [==]%0a* [[Bouncer.Bouncer]] . . . August 14, 2021, at 02:41 PM by [[~mkf]]: [=Hydra IRC is too old.=]%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* [[JuiceSSH.Connect]] . . . August 13, 2021, at 04:04 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Openhttpd]] . . . August 13, 2021, at 07:29 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Growfs]] . . . August 13, 2021, at 12:44 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* [[Openbsd.ZNCModules]] . . . August 11, 2021, at 03:06 PM by [[~wiz]]: [==]%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* [[Sylpheed.Connect]] . . . August 10, 2021, at 11:50 AM by [[~mkf]]: [=eh, forgot that "[" again=]%0a* [[MacTerminal.Connect]] . . . August 10, 2021, at 10:33 AM by [[~jrmu]]: [==]%0a* [[Gomuks.Install]] . . . August 10, 2021, at 10:26 AM by [[~mkf]]: [=mster.zip might not compile, using packages is better than compiling manually=]%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* [[Ircnow.Pioneer]] . . . August 10, 2021, at 12:37 AM by [[~jrmu]]: [==]%0a* [[OpenSSH.Keygen]] . . . August 09, 2021, at 06:27 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Sshkeys]] . . . August 09, 2021, at 04:42 PM by [[~jrmu]]: [==]%0a* [[Unix101.Unix101]] . . . August 09, 2021, at 06:41 AM by [[~mkf]]: [==]%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* [[Iked.Configure]] . . . August 07, 2021, at 05:23 PM by [[~jrmu]]: [==]%0a* [[IP.Myaddress]] . . . August 07, 2021, at 05:14 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Gopher]] . . . August 07, 2021, at 03:09 AM by [[~craziness]]: [==]%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* [[Eggdrop.NickServ]] . . . August 05, 2021, at 07:27 AM by [[~jrmu]]: [==]%0a* [[Medals.Intro]] . . . August 04, 2021, at 08:34 AM by [[~jrmu]]: [==]%0a* [[Texlive.Install]] . . . August 03, 2021, at 01:51 PM by [[~mkf]]: [==]%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* [[Openbsd.Openbsd]] . . . August 02, 2021, at 03:04 PM by [[~mkf]]: [==]%0a* [[Rcctl.Rcctl]] . . . August 02, 2021, at 03:03 PM by [[~mkf]]: [==]%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* [[Eggdrop191.Install]] . . . August 02, 2021, at 05:07 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* [[Eggdrop184.Install]] . . . August 01, 2021, at 07:07 AM by [[~jrmu]]: [==]%0a* [[Congress.Procedure]] . . . August 01, 2021, at 06:41 AM by [[~jrmu]]: [==]%0a* [[Chroot.Intro]] . . . July 31, 2021, at 02:55 PM 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* [[Vmm.Install]] . . . July 29, 2021, at 05:25 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* [[Nsd.Zone]] . . . July 27, 2021, at 11:21 AM 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* [[DNS.Ipv4rDNS]] . . . July 23, 2021, at 01:24 PM by [[~jrmu]]: [==]%0a* [[Openbsd.RDNS]] . . . July 23, 2021, at 06:44 AM by [[~jrmu]]: [==]%0a* [[Bitlbee.Install]] . . . July 21, 2021, at 07:12 PM by [[~mkf]]: [==]%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.Packages]] . . . July 21, 2021, at 06:35 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* [[Eggdrop.DuckHunt]] . . . July 17, 2021, at 06:34 AM by [[~jrmu]]: [==]%0a* [[Paster.Install]] . . . July 16, 2021, at 02:45 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* [[Hostnameif.Static]] . . . July 12, 2021, at 05:51 PM 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* [[Mlmmj.Install]] . . . July 08, 2021, at 04:02 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Mlmmj]] . . . July 08, 2021, at 09:42 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* [[Debate.Debate]] . . . June 29, 2021, at 03:16 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* [[Tor.Hidden]] . . . June 26, 2021, at 08:56 PM by [[~mkf]]: [==]%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.Ngircd]] . . . 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.Googledanger]] . . . June 20, 2021, at 08:05 AM by [[~mkf]]: [==]%0a* [[Debate.Linuxflaws]] . . . June 20, 2021, at 08:03 AM by [[~mkf]]: [=making hyperlinks=]%0a* [[Debate.Outreachkids]] . . . June 20, 2021, at 07:54 AM by [[~mkf]]: [==]%0a* [[Police.Intro]] . . . June 19, 2021, at 11:42 AM by [[~jrmu]]: [==]%0a* [[Freedom.Destiny]] . . . June 18, 2021, at 05:31 AM by [[~jrmu]]: [==]%0a* [[DNS.Mail]] . . . June 17, 2021, at 03:21 PM 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* [[Syspatch.Syspatch]] . . . June 10, 2021, at 04:23 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* [[Netcat.Usage]] . . . June 04, 2021, at 09:47 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* [[Bouncer.Irssi]] . . . June 04, 2021, at 06:09 AM by [[~jrmu]]: [==]%0a* [[Vpn.VpnIos]] . . . June 04, 2021, at 05:52 AM by [[~jrmu]]: [==]%0a* [[Vpn.VpnMac]] . . . June 04, 2021, at 05:40 AM by [[~jrmu]]: [==]%0a* [[Vpn.Vpn]] . . . June 04, 2021, at 05:34 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* [[Terms.Terms]] . . . June 02, 2021, at 01:40 PM by [[~jrmu]]: [==]%0a* [[HostServ.Rules]] . . . June 01, 2021, at 08:11 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Anope]] . . . May 31, 2021, at 10:24 AM by [[~miniontoby]]: [=cp=]%0a* [[Openbsd.Ddos]] . . . May 29, 2021, at 06:36 AM by [[~mkf]]: [=a bit clean up.=]%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.Ilines]] . . . May 27, 2021, at 04:29 PM by [[~jrmu]]: [==]%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* [[Jrmu.Bio]] . . . May 23, 2021, at 03:14 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* [[Anope.Install]] . . . May 16, 2021, at 06:47 AM by [[~mkf]]: [=replaced nano with vi, nano is not installed by default. added "$" in lines=]%0a* [[Openbsd.Pkg]] . . . May 16, 2021, at 06:41 AM by [[~mkf]]: [==]%0a* [[Minetest.Minetest]] . . . May 15, 2021, at 08:56 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* [[Botnow.Botnow]] . . . May 08, 2021, at 09:44 AM by [[~jrmu]]: [==]%0a* [[Census.Census]] . . . May 07, 2021, at 02:06 PM by [[~jrmu]]: [==]%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* [[Cherry.Cherry]] . . . May 02, 2021, at 01:43 PM by [[~Oz]]: [==]%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.Android]] . . . April 18, 2021, at 08:06 PM by [[~st13g]]: [==]%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* [[CodeForce.Bootcamp]] . . . March 22, 2021, at 01:20 PM by [[~miniontoby]]: [==]%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* [[Marketing.Marketing]] . . . March 20, 2021, at 01:39 AM by [[~jrmu]]: [==]%0a* [[NewsNow.Teams]] . . . March 18, 2021, at 09:47 AM by [[~miniontoby]]: [=banana=]%0a* [[NewsNow.NewsNow]] . . . March 17, 2021, at 04:33 PM by [[~miniontoby]]: [=more ways=]%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* [[Debate.Zncflaws]] . . . March 09, 2021, at 02:49 AM by [[~jrmu]]: [==]%0a* [[Webnews.Install]] . . . March 08, 2021, at 05:13 PM by [[~jrmu]]: [==]%0a* [[Congress.Documents]] . . . March 07, 2021, at 04:50 AM by [[~jrmu]]: [==]%0a* [[Hosting.Providers]] . . . March 06, 2021, at 02:24 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Goals]] . . . March 06, 2021, at 09:33 AM by [[~jrmu]]: [==]%0a* [[Psybnc.Install]] . . . March 05, 2021, at 03:56 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Codeforce]] . . . March 05, 2021, at 02:15 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Chatforce]] . . . March 05, 2021, at 02:15 PM by [[~jrmu]]: [==]%0a* [[Netcat.Irc]] . . . March 05, 2021, at 10:58 AM 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* [[Minutemin.Minutemin]] . . . March 03, 2021, at 01:40 PM by [[~jrmu]]: [==]%0a* [[Ircnow.Howtoask]] . . . March 03, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Minutemin.Questions]] . . . March 03, 2021, at 12:35 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Intro]] . . . March 03, 2021, at 11:59 AM 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.Server]] . . . February 28, 2021, at 03:29 AM by [[~jrmu]]: [==]%0a* [[Minutemin.Creed]] . . . February 28, 2021, at 03:21 AM by [[~jrmu]]: [==]%0a* [[Openhttpd.Hosting]] . . . February 28, 2021, at 02:09 AM by [[~jrmu]]: [==]%0a* [[Oidentd.ZNC]] . . . February 27, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Oidentd.Install]] . . . February 27, 2021, at 08:32 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* [[Dns.Overview]] . . . February 25, 2021, at 07:13 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* [[Jujube.Jujube]] . . . February 21, 2021, at 04:22 PM by [[~fizi]]: [==]%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* [[Pgp.Upload]] . . . February 19, 2021, at 04:26 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* [[Pgp.Create]] . . . February 19, 2021, at 04:13 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* [[Tmux.Config]] . . . February 12, 2021, at 05:12 AM 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* [[Ngircd.Ssl]] . . . February 10, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[Achurch.Install]] . . . February 10, 2021, at 04:33 PM by [[~jrmu]]: [==]%0a* [[Ngircd.Link]] . . . February 10, 2021, at 04:16 PM by [[~jrmu]]: [==]%0a* [[Password.Management]] . . . February 10, 2021, at 03:59 PM by [[~jrmu]]: [==]%0a* [[Ngircd.Oper]] . . . February 10, 2021, at 09:03 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Pylink]] . . . February 08, 2021, at 08:33 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Ally]] . . . February 06, 2021, at 12:54 PM 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* [[Freedom.Privacy]] . . . February 05, 2021, at 07:26 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.Dns]] . . . February 04, 2021, at 06:32 AM by [[~jrmu]]: [==]%0a* [[Dns.FQDN]] . . . February 04, 2021, at 06:31 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Dns]] . . . February 04, 2021, at 04:44 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.Nsd]] . . . February 02, 2021, at 01:34 PM by [[~jrmu]]: [==]%0a* [[Nsd.Masterslave]] . . . February 02, 2021, at 09:42 AM 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* [[Stopm.Stopm]] . . . January 31, 2021, at 12:36 PM by [[~jrmu]]: [==]%0a* [[Lemon.Lemon]] . . . January 31, 2021, at 12:02 PM by [[~nix]]: [==]%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* [[Debate.Dogfooding]] . . . January 25, 2021, at 03:12 AM by [[~jrmu]]: [==]%0a* [[Ircnow.Sysadmins]] . . . January 24, 2021, at 10:36 AM by [[~jrmu]]: [==]%0a* [[Openbsd.Hopm]] . . . January 23, 2021, at 04:12 PM 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.INN]] . . . January 12, 2021, at 02:16 PM by [[~Dima]]: [==]%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.Loginconf]] . . . January 09, 2021, at 05:16 PM 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.Announce]] . . . January 03, 2021, at 01:13 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Passwords]] . . . January 03, 2021, at 12:20 PM by [[~jrmu]]: [==]%0a* [[Openbsd.Team]] . . . January 02, 2021, at 12:43 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.Ntpd]] . . . December 30, 2020, at 02:42 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* [[Openbsd.Tcltls]] . . . December 29, 2020, at 09:53 AM 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.Openweb]] . . . December 27, 2020, at 02:59 AM by [[~jrmu]]: [==]%0a* [[Debate.Slackdanger]] . . . December 27, 2020, at 02:56 AM by [[~jrmu]]: [==]%0a* [[Debate.Youtubedanger]] . . . December 27, 2020, at 02:49 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* [[Bouncer.ZNC]] . . . December 20, 2020, at 02:34 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.Upgrade68]] . . . December 13, 2020, at 11:12 AM 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.Bsdrd]] . . . December 06, 2020, at 11:58 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* [[Openbsd.Botnow]] . . . December 04, 2020, at 10:32 AM 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.XChat]] . . . November 24, 2020, at 11:35 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* [[Grape.Minetest]] . . . August 30, 2020, at 08:42 AM by [[~baytuch]]: [==]%0a* [[Openbsd.Sftp]] . . . August 28, 2020, at 05:19 AM by [[~gry]]: [=+=]%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* [[Bots.Bots]] . . . August 25, 2020, at 12:02 PM by [[~jrmu]]: [==]%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.Psybnc]] . . . August 21, 2020, at 03:54 AM by [[~jrmu]]: [==]%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=1639757956 +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 - /dev/null blob + f8348149d3524155379910562cc3aa8f11979f86 (mode 644) --- /dev/null +++ wiki.d/Site.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1596179645 +host=38.87.162.8 +name=Site.RecentChanges +rev=115 +text=* [[Site/SideBar]] . . . November 16, 2021, at 01:16 PM by [[~jrmu]]: [==]%0a +time=1637068616 blob - /dev/null blob + 6d85b10911c7946aea81e493d50b8b23c9667991 (mode 644) --- /dev/null +++ wiki.d/Site.SideBar @@ -0,0 +1,358 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +host=38.87.162.8 +name=Site.SideBar +passwdedit=@_site_edit +rev=115 +targets=Ircnow.Servers,Bouncer.Bouncer,Xmpp.Xmpp,Shell.Shell,Email.Email,Vpn.Vpn,Vps.Vps,Minetest.Minetest,Relays.Relays,Bots.Bots,Hosting.Hosting,Gazette.Gazette,Code.Code,Podcast.Podcast,Debate.Debate,Ircnow.Goals,Freedom.Freedom,Ircnow.Team,Minutemin.Bootcamp,Opsofliberty.Bootcamp,Almanack.Almanack,Netizen.Become,Terms.Terms,License.License,Ircnow.Ally,Ircnow.Projects,Donations.Donations,Ircnow.Contact,Site.SideBar +text=* [[ircnow/servers|IRCNow Servers]]%0a* [[bouncer/bouncer|IRC Bouncers]]%0a* [[xmpp/xmpp|XMPP clients]]%0a* [[shell/shell|Liberty Shells]]%0a* [[email/email|Pony Express Email]]%0a* [[vpn/vpn|Patriot VPNs]]%0a* [[vps/vps|Homestead VPSes]]%0a* [[minetest/minetest|Minetest]]%0a%0a* [[relays/relays|Union Relays]]%0a* [[bots/bots|IRC Bots]]%0a* [[hosting/hosting|Log Cabin Hosting]]%0a* [[gazette/gazette|Gazette News]]%0a* [[code/code|Code Armory]]%0a%0a* [[podcast/podcast|Fireside Chat]]%0a* [[debate/debate|Debated Policy]]%0a* [[ircnow/goals|IRCNow Goals]]%0a* [[freedom/freedom|User Freedom]]%0a%0a* [[ircnow/team|Join the Team]]%0a* [[minutemin/bootcamp|Minutemin Bootcamp]]%0a* [[opsofliberty/bootcamp|Ops Bootcamp]]%0a* [[almanack/almanack|User's Almanack]]%0a* [[netizen/become|Netizenship]]%0a%0a* [[terms/terms|Terms of Service]]%0a* [[license/license|Licenses]]%0a* [[ircnow/ally|Ally Networks]]%0a* [[ircnow/projects|Software Projects]]%0a* [[donations/donations|Donations]]%0a%0a* '''[[ircnow/contact|Contact Us]]'''%0a%0a* [[Site/SideBar|Edit Sidebar]]%0a +time=1637068616 +author:1637068616=jrmu +diff:1637068616:1636218985:=3d2%0a%3c * [[xmpp/xmpp|XMPP clients]]%0a +host:1637068616=38.87.162.8 +author:1636218985=jrmu +diff:1636218985:1629546643:=21,22c21%0a%3c * [[minutemin/bootcamp|Minutemin Bootcamp]]%0a%3c * [[opsofliberty/bootcamp|Ops Bootcamp]]%0a---%0a> * [[minutemin/bootcamp|Bootcamp]]%0a +host:1636218985=125.231.23.181 +author:1629546643=jrmu +diff:1629546643:1628603156:=6d5%0a%3c * [[vps/vps|Homestead VPSes]]%0a +host:1629546643=38.87.162.8 +author:1628603156=mkf +diff:1628603156:1628603125:=32c32%0a%3c * [[Site/SideBar|Edit Sidebar]]%0a---%0a> * [[Site/SideBar|Edit Sidebar%0a +host:1628603156=198.251.81.133 +author:1628603125=mkf +diff:1628603125:1628603040:=5a6%0a> %0a13d13%0a%3c %0a14a15%0a> %0a32d32%0a%3c * [[Site/SideBar|Edit Sidebar%0a +host:1628603125=198.251.81.133 +author:1628603040=mkf +diff:1628603040:1627890692:=3c3,4%0a%3c * [[shell/shell|Liberty Shells]]%0a---%0a> * [[relays/relays|Union Relays]]%0a> * [[bots/bots|IRC Bots]]%0a6,10d6%0a%3c %0a%3c * [[minetest/minetest|Minetest]]%0a%3c %0a%3c * [[relays/relays|Union Relays]]%0a%3c * [[bots/bots|IRC Bots]]%0a13a10,12%0a> * [[shell/shell|Liberty Shells]]%0a> * [[minetest/minetest|Minetest]]%0a> * [[vps/vps|Homestead VPSes]]%0a15c14,15%0a%3c %0a---%0a> * [[minutemin/bootcamp|Bootcamp]]%0a> * [[almanack/almanack|User's Almanack]]%0a19d18%0a%3c %0a21,22d19%0a%3c * [[minutemin/bootcamp|Bootcamp]]%0a%3c * [[almanack/almanack|User's Almanack]]%0a24c21%0a%3c %0a---%0a> * [[ircnow/ally|Ally Networks]]%0a27d23%0a%3c * [[ircnow/ally|Ally Networks]]%0a30d25%0a%3c %0a32a28%0a> * [[Site/SideBar|Edit Sidebar]]%0a +host:1628603040=198.251.81.133 +author:1627890692=jrmu +diff:1627890692:1620797234:=15a16%0a> * [[almanack/alt|Alt Almanack]]%0a28c29%0a%3c * [[Site/SideBar|Edit Sidebar]]%0a---%0a> * [[Site/SideBar|Edit Sidebar]]%0a\ No newline at end of file%0a +host:1627890692=38.87.162.8 +author:1620797234=jrmu +diff:1620797234:1618530027:=14d13%0a%3c * [[minutemin/bootcamp|Bootcamp]]%0a +host:1620797234=198.251.81.119 +author:1618530027=jrmu +diff:1618530027:1616845290:=16c16%0a%3c * [[debate/debate|Debated Policy]]%0a---%0a> * [[debate/debate|Tech Policy]]%0a +host:1618530027=198.251.81.119 +author:1616845290=jrmu +diff:1616845290:1616845236:=25a26%0a> * [[third/devs|3rd Party Devs ]]%0a +host:1616845290=198.251.81.44 +author:1616845236=jrmu +diff:1616845236:1616845197:=26c26%0a%3c * [[third/devs|3rd Party Devs ]]%0a---%0a> * [[third/third|3rd Party Devs ]]%0a +host:1616845236=198.251.81.44 +author:1616845197=jrmu +diff:1616845197:1614787634:=26d25%0a%3c * [[third/third|3rd Party Devs ]]%0a +host:1616845197=198.251.81.44 +author:1614787634=jrmu +diff:1614787634:1614688039:=14c14%0a%3c * [[almanack/almanack|User's Almanack]]%0a---%0a> * [[almanack/almanack|Admin's Almanack]]%0a +host:1614787634=198.251.81.119 +author:1614688039=jrmu +diff:1614688039:1614599821:=15d14%0a%3c * [[almanack/alt|Alt Almanack]]%0a +host:1614688039=198.251.81.119 +author:1614599821=jrmu +diff:1614599821:1614526320:=13d12%0a%3c * [[podcast/podcast|Fireside Chat]]%0a +host:1614599821=125.224.26.27 +author:1614526320=jrmu +diff:1614526320:1614525433:=18c18%0a%3c * [[netizen/become|Netizenship]]%0a---%0a> * [[ircnow/Netizen|Netizenship]]%0a +host:1614526320=198.251.81.119 +author:1614525433=jrmu +diff:1614525433:1614500708:=18c18%0a%3c * [[ircnow/Netizen|Netizenship]]%0a---%0a> * [[ircnow/IRCitizen|IRCitizenship]]%0a +host:1614525433=198.251.81.119 +author:1614500708=jrmu +diff:1614500708:1614500682:= +host:1614500708=198.251.81.119 +author:1614500682=jrmu +diff:1614500682:1614500506:=2a3%0a> * [[irc/guide|IRC Guide]]%0a +host:1614500682=198.251.81.119 +author:1614500506=jrmu +diff:1614500506:1614500006:=7c7%0a%3c * [[vpn/vpn|Patriot VPNs]]%0a---%0a> * [[vpn/vpn|VPNs]]%0a +host:1614500506=198.251.81.119 +author:1614500006=jrmu +diff:1614500006:1614499935:=8c8%0a%3c * [[hosting/hosting|Log Cabin Hosting]]%0a---%0a> * [[file/file|Log Cabin Hosting]]%0a +host:1614500006=198.251.81.119 +author:1614499935=jrmu +diff:1614499935:1614490628:=8c8,9%0a%3c * [[file/file|Log Cabin Hosting]]%0a---%0a> * [[file/file|Log Cabin Storage]]%0a> * [[www/www|Web Hosting]]%0a +host:1614499935=198.251.81.119 +author:1614490628=jrmu +diff:1614490628:1614490601:=15c15%0a%3c * [[almanack/almanack|Admin's Almanack]]%0a---%0a> * [[almanack/almanack|Almanack]]%0a +host:1614490628=198.251.81.119 +author:1614490601=jrmu +diff:1614490601:1614007325:=15c15%0a%3c * [[almanack/almanack|Almanack]]%0a---%0a> * [[openbsd/openbsd|Sysadmin Almanack]]%0a +host:1614490601=198.251.81.119 +author:1614007325=jrmu +diff:1614007325:1613367088:=4c4%0a%3c * [[relays/relays|Union Relays]]%0a---%0a> * [[relays/relays|Town Crier Relays]]%0a +host:1614007325=198.251.81.119 +author:1613367088=jrmu +diff:1613367088:1613048593:=20c20%0a%3c * [[ircnow/IRCitizen|IRCitizenship]]%0a---%0a> * [[ircnow/netizen|Be a Netizen]]%0a +host:1613367088=198.251.81.119 +author:1613048593=jrmu +diff:1613048593:1612875980:=8c8%0a%3c * [[file/file|Log Cabin Storage]]%0a---%0a> * [[file/file|File Storage]]%0a +host:1613048593=198.251.81.119 +author:1612875980=jrmu +diff:1612875980:1612875730:=20c20%0a%3c * [[ircnow/netizen|Be a Netizen]]%0a---%0a> * [[ircnow/netizen|Netizenship]]%0a +host:1612875980=198.251.81.119 +author:1612875730=jrmu +diff:1612875730:1612875606:=10c10%0a%3c * [[gazette/gazette|Gazette News]]%0a---%0a> * [[gazette/gazette|The Gazette]]%0a +host:1612875730=198.251.81.119 +author:1612875606=jrmu +diff:1612875606:1612875582:=4c4%0a%3c * [[relays/relays|Town Crier Relays]]%0a---%0a> * [[relays/relays|Town Crier]]%0a +host:1612875606=198.251.81.119 +author:1612875582=jrmu +diff:1612875582:1612873726:=4c4%0a%3c * [[relays/relays|Town Crier]]%0a---%0a> * [[relays/relays|IRC Relay]]%0a +host:1612875582=198.251.81.119 +author:1612873726=jrmu +diff:1612873726:1612873585:=15c15%0a%3c * [[openbsd/openbsd|Sysadmin Almanack]]%0a---%0a> * [[openbsd/openbsd|Sysadmin Library]]%0a +host:1612873726=125.231.27.112 +author:1612873585=jrmu +diff:1612873585:1612873283:=10c10%0a%3c * [[gazette/gazette|The Gazette]]%0a---%0a> * [[gazette/gazette|Gazette News]]%0a +host:1612873585=125.231.27.112 +author:1612873283=jrmu +diff:1612873283:1612873260:=10c10%0a%3c * [[gazette/gazette|Gazette News]]%0a---%0a> * [[gazette/gazette|Gazette]]%0a +host:1612873283=125.231.27.112 +author:1612873260=jrmu +diff:1612873260:1612873184:=10d9%0a%3c * [[gazette/gazette|Gazette]]%0a +host:1612873260=125.231.27.112 +author:1612873184=jrmu +diff:1612873184:1612873079:= +host:1612873184=125.231.27.112 +author:1612873079=jrmu +diff:1612873079:1612666190:=10c10%0a%3c * [[code/code|Code Armory]]%0a---%0a> * [[code/code|Code Hosting]]%0a +host:1612873079=125.231.27.112 +author:1612666190=jrmu +diff:1612666190:1612666155:= +host:1612666190=198.251.81.119 +author:1612666155=jrmu +diff:1612666155:1612662361:=14c14%0a%3c * [[openbsd/openbsd|Sysadmin Library]]%0a---%0a> * [[openbsd/openbsd|OpenBSD Guides]]%0a +host:1612666155=198.251.81.119 +author:1612662361=jrmu +diff:1612662361:1612662290:=6c6%0a%3c * [[email/email|Pony Express Email]]%0a---%0a> * [[email/email|Pony Express]]%0a +host:1612662361=198.251.81.119 +author:1612662290=jrmu +diff:1612662290:1612630875:=4c4%0a%3c * [[relays/relays|IRC Relay]]%0a---%0a> * [[relays/relays|Pony Express]]%0a6c6%0a%3c * [[email/email|Pony Express]]%0a---%0a> * [[email/email|Email]]%0a +host:1612662290=198.251.81.119 +author:1612630875=jrmu +diff:1612630875:1612617208:= +host:1612630875=198.251.81.119 +author:1612617208=jrmu +diff:1612617208:1612617169:=18c18%0a%3c * [[ircnow/team|Join the Team]]%0a---%0a> * [[ircnow/team|IRCNow Team]]%0a +host:1612617208=198.251.81.119 +author:1612617169=jrmu +diff:1612617169:1612615957:=19c19%0a%3c * [[ircnow/netizen|Netizenship]]%0a---%0a> * [[ircnow/netizen|IRCNow Netizen]]%0a +host:1612617169=198.251.81.119 +author:1612615957=jrmu +diff:1612615957:1612526005:=20c20%0a%3c * [[ircnow/ally|Ally Networks]]%0a---%0a> * [[ircnow/partners|Partner Networks]]%0a +host:1612615957=198.251.81.119 +author:1612526005=jrmu +diff:1612526005:1610018250:=13c13%0a%3c * [[vps/vps|Homestead VPSes]]%0a---%0a> * [[vps/vps|OpenBSD VPSes]]%0a +host:1612526005=198.251.81.119 +author:1610018250=jrmu +diff:1610018250:1609845918:=19d18%0a%3c * [[ircnow/netizen|IRCNow Netizen]]%0a +host:1610018250=125.231.63.134 +author:1609845918=jrmu +diff:1609845918:1609817014:=19d18%0a%3c * [[ircnow/partners|Partner Networks]]%0a +host:1609845918=125.231.63.134 +author:1609817014=jrmu +diff:1609817014:1609816311:=4c4%0a%3c * [[relays/relays|Pony Express]]%0a---%0a> * [[relays/relays|IRC Relays]]%0a +host:1609817014=125.231.63.134 +author:1609816311=jrmu +diff:1609816311:1609474895:=11c11%0a%3c * [[shell/shell|Liberty Shells]]%0a---%0a> * [[shell/shell|Shell Accounts]]%0a +host:1609816311=125.231.63.134 +author:1609474895=jrmu +diff:1609474895:1609472453:=15d14%0a%3c * [[debate/debate|Tech Policy]]%0a +host:1609474895=198.251.81.119 +author:1609472453=jrmu +diff:1609472453:1609471679:=13d12%0a%3c * [[vps/vps|OpenBSD VPSes]]%0a +host:1609472453=198.251.81.119 +author:1609471679=jrmu +diff:1609471679:1609471596:=19a20%0a> * [[third/third|Third Party]]%0a +host:1609471679=198.251.81.119 +author:1609471596=jrmu +diff:1609471596:1609471489:=18a19%0a> * [[debate/debate|Debated Issues]]%0a +host:1609471596=198.251.81.119 +author:1609471489=jrmu +diff:1609471489:1609471393:=12a13%0a> * [[tutorial/tutorial|UNIX Tutorials]]%0a +host:1609471489=198.251.81.119 +author:1609471393=jrmu +diff:1609471393:1609470701:=22a23%0a> * [[marketing/marketing|Marketing]]%0a +host:1609471393=198.251.81.119 +author:1609470701=jrmu +diff:1609470701:1609470115:=2a3,4%0a> * [[ircnow/goals|IRCNow Goals]]%0a> * [[ircnow/team|IRCNow Team]]%0a5a8%0a> * [[freedom/freedom|User Freedom]]%0a15,17d17%0a%3c * [[ircnow/goals|IRCNow Goals]]%0a%3c * [[freedom/freedom|User Freedom]]%0a%3c * [[ircnow/team|IRCNow Team]]%0a +host:1609470701=198.251.81.119 +author:1609470115=jrmu +diff:1609470115:1608396004:=3a4%0a> * [[ircnow/roadmap|IRCNow Roadmap]]%0a +host:1609470115=198.251.81.119 +author:1608396004=jrmu +diff:1608396004:1608394520:=2d1%0a%3c * [[bouncer/bouncer|IRC Bouncers]]%0a3a3%0a> * [[bouncer/bouncer|IRC Bouncers]]%0a +host:1608396004=198.251.81.119 +author:1608394520=jrmu +diff:1608394520:1608372046:=9a10%0a> * [[freedom/federation|IRCNow Federation]]%0a +host:1608394520=198.251.81.119 +author:1608372046=jrmu +diff:1608372046:1607681817:=26d25%0a%3c * [[donations/donations|Donations]]%0a +host:1608372046=198.251.81.119 +author:1607681817=jrmu +diff:1607681817:1607575851:=3d2%0a%3c * [[bouncer/bouncer|IRC Bouncers]]%0a4a4,5%0a> * [[freedom/freedom|User Freedom]]%0a> * [[freedom/federation|IRCNow Federation]]%0a6a8%0a> * [[bouncer/bouncer|IRC Bouncers]]%0a9,10d10%0a%3c * [[freedom/freedom|User Freedom]]%0a%3c * [[freedom/federation|IRCNow Federation]]%0a +host:1607681817=198.251.81.119 +author:1607575851=jrmu +diff:1607575851:1607331621:=21c21%0a%3c * [[license/license|Licenses]]%0a---%0a> * [[license/ircnow|IRCNow License]]%0a +host:1607575851=198.251.81.44 +author:1607331621=jrmu +diff:1607331621:1607259677:=18a19%0a> * [[vps/vps|OpenBSD VPSes]]%0a +host:1607331621=38.81.163.7 +author:1607259677=jrmu +diff:1607259677:1606444264:=17d16%0a%3c * [[minetest/minetest|Minetest]]%0a +host:1607259677=125.231.38.251 +author:1606444264=jrmu +diff:1606444264:1602811933:=25d24%0a%3c * [[marketing/marketing|Marketing]]%0a +host:1606444264=198.251.81.119 +author:1602811933=jrmu +diff:1602811933:1602811917:=24c24%0a%3c * [[third/third|Third Party]]%0a---%0a> * [[ircnow/thirdparty|Third Party]]%0a +host:1602811933=125.231.17.204 +author:1602811917=jrmu +diff:1602811917:1601858335:=24d23%0a%3c * [[ircnow/thirdparty|Third Party]]%0a +host:1602811917=125.231.17.204 +author:1601858335=jrmu +diff:1601858335:1597906123:=23d22%0a%3c * [[ircnow/projects|Software Projects]]%0a +host:1601858335=38.81.163.143 +author:1597906123=jrmu +diff:1597906123:1597899370:=3d2%0a%3c * [[ircnow/roadmap|IRCNow Roadmap]]%0a +host:1597906123=38.81.163.143 +author:1597899370=gry +csum:1597899370=fmt +diff:1597899370:1597146139:minor=22c22%0a%3c * '''[[ircnow/contact|Contact Us]]'''%0a---%0a> * [[ircnow/contact|Contact Us]]%0a +host:1597899370=203.129.25.247 +author:1597146139=jrmu +diff:1597146139:1597119078:=16c16%0a%3c * [[tutorial/tutorial|UNIX Tutorials]]%0a---%0a> * [[shell/tutorial|Shell Tutorials]]%0a +host:1597146139=38.81.163.143 +author:1597119078=jrmu +diff:1597119078:1596863736:=5d4%0a%3c * [[ircnow/team|IRCNow Team]]%0a +host:1597119078=38.81.163.143 +author:1596863736=jrmu +diff:1596863736:1596863725:=14c14%0a%3c * [[shell/shell|Shell Accounts]]%0a---%0a> * [[shell/shell|Shell accounts]]%0a +host:1596863736=38.81.163.143 +author:1596863725=jrmu +diff:1596863725:1596461676:=15d14%0a%3c * [[shell/tutorial|Shell Tutorials]]%0a +host:1596863725=38.81.163.143 +author:1596461676=jrmu +diff:1596461676:1596461645:=12d11%0a%3c * [[www/www|Web Hosting]]%0a +host:1596461676=38.81.163.143 +author:1596461645=jrmu +diff:1596461645:1596461566:=17d16%0a%3c * [[license/ircnow|IRCNow License]]%0a19a19%0a> * [[license/ircnow|IRCNow License]]%0a +host:1596461645=38.81.163.143 +author:1596461566=jrmu +diff:1596461566:1596461008:=19,20c19,20%0a%3c * [[license/ircnow|IRCNow License]]%0a%3c %0a---%0a> %0a> * [[license/license|Open Licenses]]%0a +host:1596461566=38.81.163.143 +author:1596461008=jrmu +diff:1596461008:1596460985:=1d0%0a%3c * [[ircnow/servers|IRCNow Servers]]%0a4c3,4%0a%3c * [[freedom/federation|IRCNow Federation]]%0a---%0a> * [[ircnow/federation|IRCNow Federation]]%0a> * [[ircnow/servers|IRCNow Servers]]%0a +host:1596461008=38.81.163.143 +author:1596460985=jrmu +diff:1596460985:1596460971:=6c6%0a%3c * [[bouncer/bouncer|IRC Bouncers]]%0a---%0a> * [[bouncers/bouncers|IRC Bouncers]]%0a +host:1596460985=38.81.163.143 +author:1596460971=jrmu +diff:1596460971:1596460944:=6,7c6,7%0a%3c * [[bouncers/bouncers|IRC Bouncers]]%0a%3c * [[relays/relays|IRC Relays]]%0a---%0a> * [[bouncer/bouncer|IRC Bouncers]]%0a> * [[irc/relays|IRC Relays]]%0a +host:1596460971=38.81.163.143 +author:1596460944=jrmu +diff:1596460944:1596460911:=18c18%0a%3c * [[ircnow/contact|Contact Us]]%0a---%0a> * [[ircnow/contact|Contact]]%0a +host:1596460944=38.81.163.143 +author:1596460911=jrmu +diff:1596460911:1596460577:=18,19c18,19%0a%3c * [[ircnow/contact|Contact]]%0a%3c %0a---%0a> * [[ircnow/team|IRCNow Team]]%0a> %0a20a21%0a> * [[!contact|Contact]]%0a +host:1596460911=38.81.163.143 +author:1596460577=jrmu +diff:1596460577:1596460503:=6c6%0a%3c * [[bouncer/bouncer|IRC Bouncers]]%0a---%0a> * [[irc/bouncer|IRC Bouncers]]%0a +host:1596460577=38.81.163.143 +author:1596460503=jrmu +diff:1596460503:1596460454:=8c8%0a%3c * [[bots/bots|IRC Bots]]%0a---%0a> * [[ircbots/ircbots|IRC Bots]]%0a +host:1596460503=38.81.163.143 +author:1596460454=jrmu +diff:1596460454:1596459511:=8c8%0a%3c * [[ircbots/ircbots|IRC Bots]]%0a---%0a> * [[irc/bots|IRC Bots]]%0a +host:1596460454=38.81.163.143 +author:1596459511=jrmu +diff:1596459511:1596456411:=20c20%0a%3c * [[license/license|Open Licenses]]%0a---%0a> * [[license/ircnow|License]]%0a +host:1596459511=38.81.163.143 +author:1596456411=jrmu +diff:1596456411:1596456333:=10c10%0a%3c * [[vpn/vpn|VPNs]]%0a---%0a> * [[vpn/iked|VPNs]]%0a12,14c12,14%0a%3c * [[code/code|Code Hosting]]%0a%3c * [[shell/shell|Shell accounts]]%0a%3c * [[vps/vps|OpenBSD VPSes]]%0a---%0a> * [[code/got|Code Hosting]]%0a> * [[main/shell|Shell accounts]]%0a> * [[main/vps|OpenBSD VPSes]]%0a16,18c16,18%0a%3c * [[terms/terms|Terms of Service]]%0a%3c * [[debate/debate|Debated Issues]]%0a%3c * [[ircnow/team|IRCNow Team]]%0a---%0a> * [[main/terms|Terms of Service]]%0a> * [[main/debate|Debated Issues]]%0a> * [[main/team|IRCNow Team]]%0a +host:1596456411=38.81.163.143 +author:1596456333=jrmu +diff:1596456333:1596455964:=15c15%0a%3c * [[openbsd/openbsd|OpenBSD Guides]]%0a---%0a> * [[main/openbsd|OpenBSD Guides]]%0a +host:1596456333=38.81.163.143 +author:1596455964=jrmu +diff:1596455964:1596455938:=13,18c13,18%0a%3c * [[main/shell|Shell accounts]]%0a%3c * [[main/vps|OpenBSD VPSes]]%0a%3c * [[main/openbsd|OpenBSD Guides]]%0a%3c * [[main/terms|Terms of Service]]%0a%3c * [[main/debate|Debated Issues]]%0a%3c * [[main/team|IRCNow Team]]%0a---%0a> * [[shell|Shell accounts]]%0a> * [[vps|OpenBSD VPSes]]%0a> * [[openbsd|OpenBSD Guides]]%0a> * [[terms|Terms of Service]]%0a> * [[debate|Debated Issues]]%0a> * [[team|IRCNow Team]]%0a +host:1596455964=38.81.163.143 +author:1596455938=jrmu +diff:1596455938:1596336756:=13,18c13,18%0a%3c * [[shell|Shell accounts]]%0a%3c * [[vps|OpenBSD VPSes]]%0a%3c * [[openbsd|OpenBSD Guides]]%0a%3c * [[terms|Terms of Service]]%0a%3c * [[debate|Debated Issues]]%0a%3c * [[team|IRCNow Team]]%0a---%0a> * [[shell/shell|Shell accounts]]%0a> * [[vps/openbsd|OpenBSD VPSes]]%0a> * [[openbsd/guides|OpenBSD Guides]]%0a> * [[terms/terms|Terms of Service]]%0a> * [[debate/debate|Debated Issues]]%0a> * [[team/team|IRCNow Team]]%0a +host:1596455938=38.81.163.143 +author:1596336756=jrmu +diff:1596336756:1596259139:=0a1%0a> * [[irc/guide|IRC Guide]]%0a2d2%0a%3c * [[freedom/freedom|User Freedom]]%0a5d4%0a%3c * [[irc/guide|IRC Guide]]%0a19c18%0a%3c %0a---%0a> * [[freedom/freedom|User Freedom]]%0a +host:1596336756=38.81.163.143 +author:1596259139=jrmu +diff:1596259139:1596257357:=1d0%0a%3c * [[irc/guide|IRC Guide]]%0a +host:1596259139=38.81.163.143 +author:1596257357=jrmu +diff:1596257357:1596257032:=17c17%0a%3c * [[freedom/freedom|User Freedom]]%0a---%0a> * [[freedom/freedom|Freedom]]%0a +host:1596257357=38.81.163.143 +author:1596257032=jrmu +diff:1596257032:1596256923:=17d16%0a%3c * [[freedom/freedom|Freedom]]%0a +host:1596257032=38.81.163.143 +author:1596256923=jrmu +diff:1596256923:1596256896:=5c5%0a%3c * [[irc/relays|IRC Relays]]%0a---%0a> * [[irc/relay|IRC Relay]]%0a +host:1596256923=38.81.163.143 +author:1596256896=jrmu +diff:1596256896:1596256693:=5d4%0a%3c * [[irc/relay|IRC Relay]]%0a +host:1596256896=38.81.163.143 +author:1596256693=jrmu +diff:1596256693:1596256261:=16d15%0a%3c * [[license/ircnow|License]]%0a +host:1596256693=38.81.163.143 +author:1596256261=jrmu +diff:1596256261:1596256205:=6,11c6,11%0a%3c * [[email/email|Email]]%0a%3c * [[vpn/iked|VPNs]]%0a%3c * [[file/file|File Storage]]%0a%3c * [[code/got|Code Hosting]]%0a%3c * [[shell/shell|Shell accounts]]%0a%3c * [[vps/openbsd|OpenBSD VPSes]]%0a---%0a> * [[!email|Email]]%0a> * [[!vpn|VPNs]]%0a> * [[!file|File Storage]]%0a> * [[!code|Code Hosting]]%0a> * [[!shell|Shell accounts]]%0a> * [[!vps|OpenBSD VPSes]]%0a13c13%0a%3c * [[terms/terms|Terms of Service]]%0a---%0a> * [[!terms|Terms of Service]]%0a +host:1596256261=38.81.163.143 +author:1596256205=jrmu +diff:1596256205:1596254659:=14d13%0a%3c * [[debate/debate|Debated Issues]]%0a +host:1596256205=38.81.163.143 +author:1596254659=jrmu +diff:1596254659:1596190157:=14d13%0a%3c * [[team/team|IRCNow Team]]%0a +host:1596254659=38.81.163.143 +author:1596190157=jrmu +diff:1596190157:1596189988:=2d1%0a%3c * [[ircnow/federation|IRCNow Federation]]%0a14a14%0a> * [[ircnow/constitution|IRCNow Constitution]]%0a +host:1596190157=38.81.163.143 +author:1596189988=jrmu +diff:1596189988:1596189969:=11c11%0a%3c * [[openbsd/guides|OpenBSD Guides]]%0a---%0a> * [[openbsd|OpenBSD Guides]]%0a +host:1596189988=38.81.163.143 +author:1596189969=jrmu +diff:1596189969:1596188176:=11c11%0a%3c * [[openbsd|OpenBSD Guides]]%0a---%0a> * [[!openbsd|OpenBSD Guides]]%0a +host:1596189969=38.81.163.143 +author:1596188176=jrmu +diff:1596188176:1596187307:=14d13%0a%3c * [[ircnow/constitution|IRCNow Constitution]]%0a +host:1596188176=38.81.163.143 +author:1596187307=jrmu +diff:1596187307:1596181049:=2c2%0a%3c * [[ircnow/servers|IRCNow Servers]]%0a---%0a> * [[irc/servers|IRCNow Servers]]%0a +host:1596187307=38.81.163.143 +author:1596181049=jrmu +diff:1596181049:1596181010:=1c1%0a%3c * [[ircnow/goals|IRCNow Goals]]%0a---%0a> * [[!ircnow|IRCNow Goals]]%0a +host:1596181049=38.81.163.143 +author:1596181010=jrmu +diff:1596181010:1596180382:=1,2c1,2%0a%3c * [[!ircnow|IRCNow Goals]]%0a%3c * [[irc/servers|IRCNow Servers]]%0a---%0a> * [[!ircnow|IRCNow]]%0a> * [[irc/servers|IRCNow servers]]%0a +host:1596181010=38.81.163.143 +author:1596180382=jrmu +diff:1596180382:1596180194:=2d1%0a%3c * [[irc/servers|IRCNow servers]]%0a11,13c10%0a%3c * [[!openbsd|OpenBSD Guides]]%0a%3c * [[!terms|Terms of Service]]%0a%3c * [[!contact|Contact]]%0a---%0a> * [[!openbsd|OpenBSD]]%0a +host:1596180382=38.81.163.143 +author:1596180194=jrmu +diff:1596180194:1596180000:minor=10,11c10%0a%3c * [[!openbsd|OpenBSD]]%0a%3c * [[Site/SideBar|Edit Sidebar]]%0a\ No newline at end of file%0a---%0a> * [[!openbsd|OpenBSD]]%0a\ No newline at end of file%0a +host:1596180194=38.81.163.143 +author:1596180000=jrmu +diff:1596180000:1596179827:=1c1%0a%3c * [[!ircnow|IRCNow]]%0a---%0a> * [[irc/ircnow|IRCNow]]%0a4,10c4,10%0a%3c * [[!email|Email]]%0a%3c * [[!vpn|VPNs]]%0a%3c * [[!file|File Storage]]%0a%3c * [[!code|Code Hosting]]%0a%3c * [[!shell|Shell accounts]]%0a%3c * [[!vps|OpenBSD VPSes]]%0a%3c * [[!openbsd|OpenBSD]]%0a\ No newline at end of file%0a---%0a> * [[email|Email]]%0a> * [[vpn|VPNs]]%0a> * [[file|File Storage]]%0a> * [[code|Code Hosting]]%0a> * [[shell|Shell accounts]]%0a> * [[vps|OpenBSD VPSes]]%0a> * [[openbsd|OpenBSD]]%0a\ No newline at end of file%0a +host:1596180000=38.81.163.143 +author:1596179827=jrmu +diff:1596179827:1596179800:=1c1%0a%3c * [[irc/ircnow|IRCNow]]%0a---%0a> * [[ircnow|IRCNow]]%0a +host:1596179827=38.81.163.143 +author:1596179800=jrmu +diff:1596179800:1596179664:= +host:1596179800=38.81.163.143 +author:1596179664=jrmu +diff:1596179664:1596179645:=1c1%0a%3c * [[ircnow|IRCNow]]%0a---%0a> * [[ircnow]]%0a +host:1596179664=38.81.163.143 +author:1596179645=jrmu +diff:1596179645:1125550800:=1,10c1,19%0a%3c * [[ircnow]]%0a%3c * [[irc/bouncer|IRC Bouncers]]%0a%3c * [[irc/bots|IRC Bots]]%0a%3c * [[email|Email]]%0a%3c * [[vpn|VPNs]]%0a%3c * [[file|File Storage]]%0a%3c * [[code|Code Hosting]]%0a%3c * [[shell|Shell accounts]]%0a%3c * [[vps|OpenBSD VPSes]]%0a%3c * [[openbsd|OpenBSD]]%0a\ No newline at end of file%0a---%0a> * [[Main/HomePage]]%0a> * [[Main/WikiSandbox]]%0a> %0a> %25sidehead%25 [[PmWiki/PmWiki]]%0a> * [[PmWiki/Initial Setup Tasks]] %0a> * [[PmWiki/Basic Editing]]%0a> * [[PmWiki/Documentation Index]]%0a> * [[PmWiki/FAQ | PmWiki FAQ ]]%0a> * [[PmWiki/PmWikiPhilosophy]]%0a> * [[PmWiki/Release Notes]]%0a> * [[PmWiki/ChangeLog]]%0a> %0a> %25sidehead%25 [[http://www.pmwiki.org | pmwiki.org ]]%0a> * [[Cookbook:Cookbook | Cookbook (addons) ]]%0a> * [[Cookbook:Skins | Skins (themes) ]]%0a> * [[PITS:PITS | PITS (issue tracking) ]]%0a> * [[PmWiki/Mailing Lists]]%0a> %0a> %25right%25 [-[[Site.SideBar?action=edit | edit SideBar]]-]%0a\ No newline at end of file%0a +host:1596179645=38.81.163.143 blob - /dev/null blob + 5ca1e78e843f75dde9856efb0bbdc0650572073e (mode 644) --- /dev/null +++ wiki.d/SiteAdmin.Blocklist-MoinMaster @@ -0,0 +1,10 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1596101899 +host=38.87.162.47 +name=SiteAdmin.Blocklist-MoinMaster +passwdread=@lock +rev=375 +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=1639704798 blob - /dev/null blob + acaf05c96f4fa5e31429d2194b66b9d06e216bda (mode 644) --- /dev/null +++ wiki.d/SiteAdmin.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1597020793 +host=38.87.162.8 +name=SiteAdmin.RecentChanges +rev=87 +text=* [[SiteAdmin/AuthUser]] . . . December 15, 2021, at 04:59 PM by [[~jrmu]]: [==]%0a +time=1639587576 blob - /dev/null blob + 17abac8aa8ea8cb983380c8099d5ca61dfe467b9 (mode 644) --- /dev/null +++ wiki.d/SiteAdmin.Status @@ -0,0 +1,12 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=simon +charset=ISO-8859-1 +csum=Add summary, see how long a summary lasts?! +host=38.81.163.143 +name=SiteAdmin.Status +rev=25 +targets= +text=(:Summary: PmWiki version {$Version} (VersionNum={$VersionNum}):)%0a(:comment Any local edits to this page may be lost!:)%0a%0aThis site is running {$Version} (VersionNum={$VersionNum}).%0a +time=1596100312 +updatedto=2002130 blob - /dev/null blob + 622a925ce0e6eed91d552618e2c27f815205e09b (mode 644) Binary files /dev/null and wiki.d/Squirrelmail.Connect differ blob - /dev/null blob + db52d0963fdfd8ef59273ea6e2b2bb09568993d9 (mode 644) --- /dev/null +++ wiki.d/Squirrelmail.Install @@ -0,0 +1,41 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0 +author=bugzbunny +charset=UTF-8 +csum=Whoops, setup unbound first +ctime=1628245866 +host=72.78.238.236 +name=Squirrelmail.Install +rev=9 +targets=Opensmtpd.Configure,Dovecot.Install,Opensmtpd.Test,Php74.Install,Relayd.TLSMulti,Openhttpd.Intro,Unbound.Configure +text=(:title Install SquirrelMail:)%0a%0aSquirrelMail is webmail written in PHP. It uses HTML 4.0 with no JavaScript required, making it compatible across many browsers. It does not require any databases and is very easy to install and configure. It is GPL-licensed.%0a%0aIts main drawback is its use of frames, which is bad for accessibility. Development, unfortunately, has stalled, so a C-based replacement will be needed.%0a%0a!! Required%0a%0aBefore installing squirrelmail, [[opensmtpd/configure|opensmtpd]] must be properly configured, and [[dovecot/install|dovecot]] must be installed and properly configured. Please [[opensmtpd/test|test]] both sending and receiving email using another mail client before attempting to setup Squirrelmail.%0a%0aYou must install and configure [[php74/install|php-7.4.22]]. The latest release of Squirrelmail cannot run on php-8.0 without modifications.%0a%0a'''WARNING''': You must use php-7.4.22%0a%0a[@%0a$ ftp https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a$ tar xvzf squirrelmail-webmail-1.4.22.tar.gz%0a@]%0a%0a''Optional'': you can delete the original tarball once you are done extracting:%0a%0a[@%0a$ rm squirrelmail-webmail-1.4.22.tar.gz%0a@]%0a%0aNext, you want to move squirrelmail into your web documents folder. Make sure to replace @@mail.example.com@@ with your actual domain:%0a%0a[@%0a$ doas mv squirrelmail-webmail-1.4.22 /var/www/htdocs/mail.example.com%0a$ doas chown -R www:daemon /var/www/htdocs/mail.example.com/%0a$ doas chmod -R o-rx /var/www/htdocs/mail.example.com/%0a@]%0a%0a'''NOTE''': make sure to replace @@mail.example.com@@ with your actual domain.%0a%0aIf the domain does not already exist, add the subdomain mail in /var/nsd/zones/master/example.com:%0a%0a[@%0amail A 10.0.0.1%0amail AAAA 2001:db8::%0a@]%0a%0aReplace 10.0.0.1 and 2001:db8:: with your real IPv4 and IPv6 addresses. Make sure to update the serial number, then:%0a%0a[@%0a$ doas nsd-control reload%0a@]%0a%0aAdd this to /etc/httpd.conf:%0a%0a[@%0aserver "mail.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a root "/htdocs/mail.example.com"%0a }%0a directory index "index.php"%0a connection max request body 26214400%0a log access "webmail_access.log"%0a log error "webmail_error.log"%0a}%0a@]%0a(:if false:)%0a location "/class/*" {%0a block return 403%0a }%0a location "/config/*" {%0a block return 403%0a }%0a location "/contrib/*" {%0a block return 403%0a }%0a location "/data/*" {%0a block return 403%0a }%0a location "/doc/*" {%0a block return 403%0a }%0a location "/functions/*" {%0a block return 403%0a }%0a location "/help/*" {%0a block return 403%0a }%0a location "/include/*" {%0a block return 403%0a }%0a location "/locale/*" {%0a block return 403%0a }%0a location "/po/*" {%0a block return 403%0a }%0a(:ifend:)%0a%0aFor SSL/TLS, we recommend you use [[relayd/TLSMulti|relayd for TLS acceleration]] rather than httpd's native SSL. This is so you can provide web services that do not use [[openhttpd/intro|openhttpd]].%0a%0a!! TLS with relayd%0a%0aWhen [[relayd/TLSMulti|using relayd for TLS acceleration]], all that is needed are a few lines in /etc/relayd.conf:%0a%0a[@%0atls { keypair mail.example.com }%0a@]%0a%0aReplace @@mail.example.com@@ with your real domain. This provides the TLS cert for webmail.%0a%0aIn /etc/acme-client.conf, add this block:%0a%0a[@%0adomain mail.example.com {%0a alternative names { example.com imap.example.com smtp.example.com pop.example.com pop3.example.com}%0a domain key "/etc/ssl/private/mail.example.com.key"%0a domain full chain certificate "/etc/ssl/mail.example.com.crt"%0a sign with letsencrypt%0a}%0a@]%0a%0aRequest the cert:%0a%0a[@%0a$ doas acme-client -v mail.example.com%0a@]%0a%0aNormally, the user www has no login shell for security. However, squirrelmail has this unusual perl configuration script that www needs to run. So first, we give www the default ksh shell:%0a%0a[@%0a$ doas chsh -s /bin/ksh www%0a@]%0a%0aThen, we switch to the user www and run the config script:%0a%0a[@%0a$ doas su www%0a$ cd /var/www/htdocs/mail.example.com/config%0a$ perl conf.pl%0a@]%0a%0aYou should see the interactive menu:%0a%0a[@%0aSquirrelMail Configuration : Read: config_default.php (1.4.0)%0a---------------------------------------------------------%0aMain Menu --%0a1. Organization Preferences%0a2. Server Settings%0a3. Folder Defaults%0a4. General Options%0a5. Themes%0a6. Address Books%0a7. Message of the Day (MOTD)%0a8. Plugins%0a9. Database%0a10. Languages%0a%0aD. Set pre-defined settings for specific IMAP servers%0a%0aC Turn color on%0aS Save data%0aQ Quit%0a%0aCommand >> 2%0a@]%0a%0aType 2 to edit Server Settings:%0a%0a[@%0aServer Settings%0a%0aGeneral%0a-------%0a1. Domain : mail.example.com%0a2. Invert Time : false%0a3. Sendmail or SMTP : SMTP%0a%0aIMAP Settings%0a--------------%0a4. IMAP Server : localhost%0a5. IMAP Port : 143%0a6. Authentication type : login%0a7. Secure IMAP (TLS) : false%0a8. Server software : dovecot%0a9. Delimiter : detect%0a%0aB. Change Sendmail Config : /usr/sbin/sendmail%0aH. Hide IMAP Server Settings%0a%0aR Return to Main Menu%0aC Turn color on%0aS Save data%0aQ Quit%0a%0aCommand >> B%0a@]%0a%0aOnce you're done with configuration, save your work and quit:%0a%0a[@%0aCommand >> S%0aData saved in config.php%0aPress enter to continue...%0a%0aCommand >> Q%0aExiting conf.pl.%0aYou might want to test your configuration by browsing to%0ahttp://your-squirrelmail-location/src/configtest.php%0aHappy SquirrelMailing!%0a@]%0a%0aLogout by typing ctrl+d and then disable the login shell for www:%0a%0a[@%0a$ ^D%0a$ doas chsh -s /sbin/nologin www%0a@]%0a%0aBecause Squirrelmail will connect to IMAP via localhost, you will need a listener for 127.0.0.1 in /etc/dovecot/dovecot.conf:%0a%0a[@%0alisten = 10.0.0.1, 2001:db8::, 127.0.0.1%0a@]%0a%0aMake sure to replace 10.0.0.1 and 2001:db8:: with your real public IPv4 and IPv6 address.%0a%0aYou will want to restart dovecot if you need to make the change:%0a%0a[@%0a$ doas rcctl restart dovecot%0a@]%0a%0aWe need to create folders that squirrelmail can write data to:%0a%0a[@%0a$ doas mkdir -p /var/www/var/local/squirrelmail/data%0a$ doas mkdir -p /var/www/var/local/squirrelmail/attach%0a$ doas chown -R www:daemon /var/www/var/local/squirrelmail%0a$ doas chmod -R o-rx /var/www/var/local/squirrelmail%0a@]%0a%0aRemember, openhttpd runs chrooted in /var/www by default, which means you will%0aneed to copy some essential system files.%0a%0aIf it does not exist already, create /var/www/etc/resolv.conf:%0a%0a[@%0alookup file bind%0anameserver 127.0.0.1%0a@]%0a%0aThis provides information on where to lookup DNS records. You will need%0ato [[unbound/configure|configure unbound]].%0a%0aIf it does not exist already, create /var/www/etc/hosts:%0a%0a[@%0a127.0.0.1 localhost%0a::1 localhost%0a@]%0a%0aThis defines localhost to be 127.0.0.1, which is necessary since squirrelmail will query IMAP and SMTP by using localhost.%0a%0aTroubleshooting:%0a%0a!!! Error opening%0a%0a[@%0aERROR%0aError opening ../data/default_pref%0aCould not create initial preference file!%0a/var/local/squirrelmail/data/ should be writable by user%0aPlease contact your system administrator and report this error.%0aGo to the login page%0a@]%0a%0aMake sure to create folders that squirrelmail can write to:%0a%0a[@%0a$ doas mkdir -p /var/www/var/local/squirrelmail/data%0a$ doas mkdir -p /var/www/var/local/squirrelmail/attach%0a$ doas chown -R www:daemon /var/www/var/local/squirrelmail%0a$ doas chmod -R o-rx /var/www/var/local/squirrelmail%0a@]%0a%0a!!! Squirrelmail cannot connect to IMAP%0a%0aMake sure you have a listener for 127.0.0.1 in /etc/dovecot/dovecot.conf:%0a%0a[@%0alisten = 10.0.0.1, 2001:db8::, 127.0.0.1%0a@]%0a%0aReplace 10.0.0.1 and 2001:db8:: with your real IPv4 and IPv6 addresses.%0a%0aAfterwards, restart dovecot if any changes were made:%0a%0a[@%0a$ doas rcctl restart dovecot%0a@]%0a%0aIf Squirrelmail cannot resolve the name localhost, make sure you have the file /var/www/etc/hosts defined (see above).%0a%0a!!! Check logs%0a%0aCheck /var/www/logs/error.log for additional logs for debugging.%0a%0a!! Sendmail%0a%0aSquirrelmail should be able to use sendmail instead of SMTP. However, on OpenBSD 6.9, there appears to be some issues with the replacement femail instead of sendmail.%0a%0a'''WARNING''': This setup has errors.%0a%0aTo setup femail:%0a%0a$ doas mkdir -p /var/www/etc/%0a%0aCreate /var/www/etc/femail.conf:%0a%0a[@%0asmtphost=127.0.0.1%0amyname=mail.example.com%0a@]%0a%0aTest if femail works%0a%0a[@%0a$ doas chroot -u www -g daemon /var/www /bin/femail -t -fusername@mail.example.com%0aTo: other@domain.com%0aSubject: Alpha Bravo%0aMIME-Version: 1.0%0aContent-Type: text/plain; charset=us-ascii%0aContent-Disposition: inline%0a%0aCharlie Delta Echo Foxtrot%0a@]%0a%0aType ctrl+d to end the message%0a%0a!! PHP 8.0%0a%0aWhen using PHP 8.0+, PHP complains that Squirrelmail is trying to use curly braces in a way that is no longer supported. You should see error messages like the following in /var/www/logs/error.log:%0a%0aPHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.example.com/functions/strings.php on line 634%0a%0aYou need to look up every instance of misused {} curly braces and replace them with brackets [].%0a%0a $String .= $chars[mt_rand(0, $j)];%0a%0a!! Baytuch notes%0a%0a!! Permissions%0a%0a[@%0acd /var/www/htdocs/%0adoas chown root:bin webmail%0adoas find ./webmail -type d -exec chmod 755 {} \;%0adoas find ./webmail -type f -exec chmod 644 {} \;%0adoas rm /var/www/htdocs/webmail/README %0adoas rm /var/www/htdocs/webmail/configure%0a@]%0a%0a!! PHP 7 compatibility fix%0a[@%0afunctions/global.php (451):%0afunction sqsession_is_active() {%0a if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a sqsession_start();%0a}%0a@]%0a%0a!! Configuring%0a[@%0adoas touch /var/www/htdocs/webmail/config/config.php%0adoas chown www:www /var/www/htdocs/webmail/config/config.php%0adoas chmod 400 /var/www/htdocs/webmail/config/config.php%0a@]%0a%0a[[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a +time=1637967048 +title=Install SquirrelMail +author:1637967048=bugzbunny +csum:1637967048=Whoops, setup unbound first +diff:1637967048:1637798105:=183c183%0a%3c 4. IMAP Server : localhost%0a---%0a> 4. IMAP Server : 127.0.0.1%0a +host:1637967048=72.78.238.236 +author:1637798105=bugzbunny +diff:1637798105:1631278989:=183c183%0a%3c 4. IMAP Server : 127.0.0.1%0a---%0a> 4. IMAP Server : localhost%0a +host:1637798105=72.78.238.236 +author:1631278989=jrmu +diff:1631278989:1630422956:=3,4c3,4%0a%3c SquirrelMail is webmail written in PHP. It uses HTML 4.0 with no JavaScript required, making it compatible across many browsers. It does not require any databases and is very easy to install and configure. It is GPL-licensed.%0a%3c %0a---%0a> SquirrelMail is webmail written in PHP. It uses HTML 4.0 with no JavaScript required, making it compatible across many browsers. It does not require any databases and is very easy to install and configure.%0a> %0a5a6,8%0a> %0a> SquirrelMail is GPL-licensed., so there are no license fees to worry about.%0a> More about the license %0a +host:1631278989=125.231.60.101 +author:1630422956=jrmu +diff:1630422956:1628331745:=228c228%0a%3c listen = 10.0.0.1, 2001:db8::, 127.0.0.1%0a---%0a> listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a231,232d230%0a%3c Make sure to replace 10.0.0.1 and 2001:db8:: with your real public IPv4 and IPv6 address.%0a%3c %0a297c295%0a%3c listen = 10.0.0.1, 2001:db8::, 127.0.0.1%0a---%0a> listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a299,300d296%0a%3c %0a%3c Replace 10.0.0.1 and 2001:db8:: with your real IPv4 and IPv6 addresses.%0a +host:1630422956=38.87.162.8 +author:1628331745=jrmu +diff:1628331745:1628331523:=19c19%0a%3c $ ftp https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a---%0a> $ ftp https://managedway.dl.sourceforge.net/project/squirrelmail/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a352,356c352,374%0a%3c !! Baytuch notes%0a%3c %0a%3c !! Permissions%0a%3c %0a%3c [@%0a---%0a> %0a> '''Creating an environment for the application to work'''%0a> [=%0a> doas mkdir /var/www/webmail%0a> doas mkdir /var/www/webmail/data%0a> doas mkdir /var/www/webmail/attachments%0a> %0a> doas chown www:www /var/www/webmail%0a> doas chown www:www /var/www/webmail/data%0a> doas chown www:www /var/www/webmail/attachments%0a> %0a> doas chmod 700 /var/www/webmail%0a> doas chmod 700 /var/www/webmail/data%0a> doas chmod 700 /var/www/webmail/attachments%0a> =]%0a> %0a> '''Installing the application on the server'''%0a> [=%0a> cd ~/%0a> wget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a> tar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0a> doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a> %0a363,366c381,384%0a%3c @]%0a%3c %0a%3c !! PHP 7 compatibility fix%0a%3c [@%0a---%0a> =]%0a> %0a> '''PHP 7 compatibility fix'''%0a> [=%0a372,375c390,393%0a%3c @]%0a%3c %0a%3c !! Configuring%0a%3c [@%0a---%0a> =]%0a> %0a> '''Configuring'''%0a> [=%0a379c397%0a%3c @]%0a---%0a> =]%0a +host:1628331745=38.87.162.8 +author:1628331523=jrmu +diff:1628331523:1628331107:=12,13d11%0a%3c Before installing squirrelmail, [[opensmtpd/configure|opensmtpd]] must be properly configured, and [[dovecot/install|dovecot]] must be installed and properly configured. Please [[opensmtpd/test|test]] both sending and receiving email using another mail client before attempting to setup Squirrelmail.%0a%3c %0a39,40c37,38%0a%3c If the domain does not already exist, add the subdomain mail in /var/nsd/zones/master/example.com:%0a%3c %0a---%0a> Add this to /etc/httpd.conf:%0a> %0a42,54d39%0a%3c mail A 10.0.0.1%0a%3c mail AAAA 2001:db8::%0a%3c @]%0a%3c %0a%3c Replace 10.0.0.1 and 2001:db8:: with your real IPv4 and IPv6 addresses. Make sure to update the serial number, then:%0a%3c %0a%3c [@%0a%3c $ doas nsd-control reload%0a%3c @]%0a%3c %0a%3c Add this to /etc/httpd.conf:%0a%3c %0a%3c [@%0a351,353c336,340%0a%3c %0a%3c %0a%3c '''Creating an environment for the application to work'''%0a---%0a> For the application to work, the mail system must already be configured and started on the server.%0a> %0a> %0a> '''Create a new subdomain to host the application'''%0a> %0a355,365c342,348%0a%3c doas mkdir /var/www/webmail%0a%3c doas mkdir /var/www/webmail/data%0a%3c doas mkdir /var/www/webmail/attachments%0a%3c %0a%3c doas chown www:www /var/www/webmail%0a%3c doas chown www:www /var/www/webmail/data%0a%3c doas chown www:www /var/www/webmail/attachments%0a%3c %0a%3c doas chmod 700 /var/www/webmail%0a%3c doas chmod 700 /var/www/webmail/data%0a%3c doas chmod 700 /var/www/webmail/attachments%0a---%0a> /var/nsd/zones/master/example.com.zone:%0a> ; webmail service%0a> webmail A 10.10.10.10%0a> webmail AAAA 2605:6400:30:faa1::%0a> %0a> doas rcctl -d restart nsd%0a> doas rcctl -d restart unbound%0a368c351,358%0a%3c '''Installing the application on the server'''%0a---%0a> =]%0a> %0a> %0a> doas rcctl -d restart httpd%0a> %0a> %0a> '''Configuring the certificate generation service'''%0a> %0a370,380c360,367%0a%3c cd ~/%0a%3c wget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a%3c tar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0a%3c doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a%3c %0a%3c cd /var/www/htdocs/%0a%3c doas chown root:bin webmail%0a%3c doas find ./webmail -type d -exec chmod 755 {} \;%0a%3c doas find ./webmail -type f -exec chmod 644 {} \;%0a%3c doas rm /var/www/htdocs/webmail/README %0a%3c doas rm /var/www/htdocs/webmail/configure%0a---%0a> /etc/acme-client.conf:%0a> domain webmail.example.com {%0a> domain key "/etc/ssl/private/webmail.example.com.key"%0a> domain certificate "/etc/ssl/webmail.example.com.crt"%0a> domain full chain certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a> sign with letsencrypt%0a> challengedir "/var/www/acme"%0a> }%0a382,383c369,373%0a%3c %0a%3c '''PHP 7 compatibility fix'''%0a---%0a> doas acme-client -Fv webmail.example.com%0a> (!)you must set new certs to virtual host config and restart httpd again%0a> %0a> %0a> '''Creating an environment for the application to work'''%0a385,389c375,385%0a%3c functions/global.php (451):%0a%3c function sqsession_is_active() {%0a%3c if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a%3c sqsession_start();%0a%3c }%0a---%0a> doas mkdir /var/www/webmail%0a> doas mkdir /var/www/webmail/data%0a> doas mkdir /var/www/webmail/attachments%0a> %0a> doas chown www:www /var/www/webmail%0a> doas chown www:www /var/www/webmail/data%0a> doas chown www:www /var/www/webmail/attachments%0a> %0a> doas chmod 700 /var/www/webmail%0a> doas chmod 700 /var/www/webmail/data%0a> doas chmod 700 /var/www/webmail/attachments%0a392c388%0a%3c '''Configuring'''%0a---%0a> '''Installing the application on the server'''%0a394,396c390,400%0a%3c doas touch /var/www/htdocs/webmail/config/config.php%0a%3c doas chown www:www /var/www/htdocs/webmail/config/config.php%0a%3c doas chmod 400 /var/www/htdocs/webmail/config/config.php%0a---%0a> cd ~/%0a> wget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a> tar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0a> doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a> %0a> cd /var/www/htdocs/%0a> doas chown root:bin webmail%0a> doas find ./webmail -type d -exec chmod 755 {} \;%0a> doas find ./webmail -type f -exec chmod 644 {} \;%0a> doas rm /var/www/htdocs/webmail/README %0a> doas rm /var/www/htdocs/webmail/configure%0a398a403,418%0a> '''PHP 7 compatibility fix'''%0a> [=%0a> functions/global.php (451):%0a> function sqsession_is_active() {%0a> if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a> sqsession_start();%0a> }%0a> =]%0a> %0a> '''Configuring'''%0a> [=%0a> doas touch /var/www/htdocs/webmail/config/config.php%0a> doas chown www:www /var/www/htdocs/webmail/config/config.php%0a> doas chmod 400 /var/www/htdocs/webmail/config/config.php%0a> =]%0a> %0a399a420,646%0a> %0a> %0a> [@%0a> %0a> Warning: you must use php-7.4.22%0a> %0a> $ ftp https://managedway.dl.sourceforge.net/project/squirrelmail/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a> $ tar xvzf squirrelmail-webmail-1.4.22.tar.gz%0a> $ doas mv squirrelmail-webmail-1.4.22 /var/www/htdocs/mail.example.com%0a> $ doas chown -R www:daemon /var/www/htdocs/mail.example.com/%0a> $ doas chmod -R o-rx /var/www/htdocs/mail.example.com/%0a> %0a> Add this to /etc/httpd.conf:%0a> %0a> server "mail.example.com" {%0a> listen on * port 80%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> location "*.php" {%0a> fastcgi socket "/run/php-fpm.sock"%0a> root "/htdocs/mail.example.com"%0a> }%0a> directory {%0a> index "index.php"%0a> }%0a> connection max request body 26214400%0a> }%0a> %0a> In /etc/relayd.conf:%0a> %0a> tls { keypair mail.host.ircnow.org }%0a> %0a> In /etc/acme-client.conf:%0a> %0a> domain mail.jrmu.host.ircnow.org {%0a> alternative names { jrmu.host.ircnow.org imap.jrmu.host.ircnow.org smtp.jrmu.hos%0a> t.ircnow.org pop.jrmu.host.ircnow.org pop3.jrmu.host.ircnow.org }%0a> domain key "/etc/ssl/private/mail.jrmu.host.ircnow.org.key"%0a> domain full chain certificate "/etc/ssl/mail.jrmu.host.ircnow.org.crt"%0a> sign with letsencrypt%0a> }%0a> %0a> $ doas chsh -s /bin/ksh www%0a> $ doas su www%0a> $ cd /var/www/htdocs/mail.example.com/config%0a> $ perl conf.pl%0a> %0a> SquirrelMail Configuration : Read: config_default.php (1.4.0)%0a> ---------------------------------------------------------%0a> Main Menu --%0a> 1. Organization Preferences%0a> 2. Server Settings%0a> 3. Folder Defaults%0a> 4. General Options%0a> 5. Themes%0a> 6. Address Books%0a> 7. Message of the Day (MOTD)%0a> 8. Plugins%0a> 9. Database%0a> 10. Languages%0a> %0a> D. Set pre-defined settings for specific IMAP servers%0a> %0a> C Turn color on%0a> S Save data%0a> Q Quit%0a> %0a> Command >> 2%0a> %0a> Server Settings%0a> %0a> General%0a> -------%0a> 1. Domain : jrmu.host.ircnow.org%0a> 2. Invert Time : false%0a> 3. Sendmail or SMTP : Sendmail%0a> %0a> IMAP Settings%0a> --------------%0a> 4. IMAP Server : 127.0.0.1%0a> 5. IMAP Port : 143%0a> 6. Authentication type : login%0a> 7. Secure IMAP (TLS) : false%0a> 8. Server software : dovecot%0a> 9. Delimiter : detect%0a> %0a> B. Change Sendmail Config : /usr/sbin/sendmail%0a> H. Hide IMAP Server Settings%0a> %0a> R Return to Main Menu%0a> C Turn color on%0a> S Save data%0a> Q Quit%0a> %0a> Command >> B%0a> %0a> %0a> SquirrelMail Configuration : Read: config.php (1.4.0)%0a> ---------------------------------------------------------%0a> Server Settings%0a> %0a> General%0a> -------%0a> 1. Domain : jrmu.host.ircnow.org%0a> 2. Invert Time : false%0a> 3. Sendmail or SMTP : Sendmail%0a> %0a> Sendmail%0a> --------%0a> 4. Sendmail Path : /bin/femail%0a> 5. Sendmail arguments : -t%0a> 6. Header encryption key : %0a> %0a> A. Update IMAP Settings : 127.0.0.1:143 (dovecot)%0a> H. Hide Sendmail Settings%0a> %0a> R Return to Main Menu%0a> C Turn color on%0a> S Save data%0a> Q Quit%0a> %0a> Command >> %0a> %0a> %0a> SquirrelMail Configuration : Read: config_default.php (1.4.0)%0a> ---------------------------------------------------------%0a> Main Menu --%0a> 1. Organization Preferences%0a> 2. Server Settings%0a> 3. Folder Defaults%0a> 4. General Options%0a> 5. Themes%0a> 6. Address Books%0a> 7. Message of the Day (MOTD)%0a> 8. Plugins%0a> 9. Database%0a> 10. Languages%0a> %0a> D. Set pre-defined settings for specific IMAP servers%0a> %0a> C Turn color on%0a> S Save data%0a> Q Quit%0a> %0a> Command >> S%0a> %0a> Data saved in config.php%0a> Press enter to continue...%0a> %0a> Exiting conf.pl.%0a> You might want to test your configuration by browsing to%0a> http://your-squirrelmail-location/src/configtest.php%0a> Happy SquirrelMailing!%0a> %0a> jrmu$ ^D%0a> $ doas chsh -s /sbin/nologin www%0a> %0a> %0a> Make sure /etc/dovecot/dovecot.conf:%0a> %0a> listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a> %0a> need 127.0.0.1%0a> %0a> check /var/www/logs/error.log%0a> %0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/strings.php on line 634%0a> %0a> You need to change this one line in /var/www/htdocs/mail.example.com/functions/strings.php:%0a> %0a> $String .= $chars[mt_rand(0, $j)];%0a> %0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 468%0a> %0a> $char = $read[$i]; %0a> %0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 475%0a> %0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 637%0a> %0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_general.php on line 214%0a> PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_general.php on line 215%0a> %0a> $ doas mkdir -p /var/www/var/local/squirreilmail/data%0a> $ doas chown -R www:daemon /var/www/var/local/squirreilmail%0a> $ doas chmod -R o-rx /var/www/var/local/squirreilmail%0a> %0a> Setup femail:%0a> %0a> $ doas mkdir -p /var/www/etc/%0a> %0a> Create /var/www/etc/femail.conf:%0a> %0a> smtphost=127.0.0.1%0a> myname=mail.example.com%0a> %0a> Test if femail works%0a> %0a> $ doas chroot -u www -g daemon /var/www /bin/femail -t -fusername@mail.example.com%0a> To: other@domain.com%0a> Subject: Alpha Bravo%0a> MIME-Version: 1.0%0a> Content-Type: text/plain; charset=us-ascii%0a> Content-Disposition: inline%0a> %0a> Charlie Delta Echo Foxtrot%0a> %0a> Type ctrl+d to end the message%0a> %0a> %0a> Optional:%0a> %0a> $ rm squirrelmail-webmail-1.4.22.tar.gz%0a> %0a> Troubleshooting:%0a> %0a> ERROR%0a> Error opening ../data/default_pref%0a> Could not create initial preference file!%0a> /var/local/squirrelmail/data/ should be writable by user%0a> Please contact your system administrator and report this error.%0a> Go to the login page%0a> %0a> %0a> @]%0a +host:1628331523=38.87.162.8 +author:1628331107=jrmu +diff:1628331107:1628271843:=1,40c1,20%0a%3c (:title Install SquirrelMail:)%0a%3c %0a%3c SquirrelMail is webmail written in PHP. It uses HTML 4.0 with no JavaScript required, making it compatible across many browsers. It does not require any databases and is very easy to install and configure.%0a%3c %0a%3c Its main drawback is its use of frames, which is bad for accessibility. Development, unfortunately, has stalled, so a C-based replacement will be needed.%0a%3c %0a%3c SquirrelMail is GPL-licensed., so there are no license fees to worry about.%0a%3c More about the license %0a%3c %0a%3c !! Required%0a%3c %0a%3c You must install and configure [[php74/install|php-7.4.22]]. The latest release of Squirrelmail cannot run on php-8.0 without modifications.%0a%3c %0a%3c '''WARNING''': You must use php-7.4.22%0a%3c %0a%3c [@%0a%3c $ ftp https://managedway.dl.sourceforge.net/project/squirrelmail/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a%3c $ tar xvzf squirrelmail-webmail-1.4.22.tar.gz%0a%3c @]%0a%3c %0a%3c ''Optional'': you can delete the original tarball once you are done extracting:%0a%3c %0a%3c [@%0a%3c $ rm squirrelmail-webmail-1.4.22.tar.gz%0a%3c @]%0a%3c %0a%3c Next, you want to move squirrelmail into your web documents folder. Make sure to replace @@mail.example.com@@ with your actual domain:%0a%3c %0a%3c [@%0a%3c $ doas mv squirrelmail-webmail-1.4.22 /var/www/htdocs/mail.example.com%0a%3c $ doas chown -R www:daemon /var/www/htdocs/mail.example.com/%0a%3c $ doas chmod -R o-rx /var/www/htdocs/mail.example.com/%0a%3c @]%0a%3c %0a%3c '''NOTE''': make sure to replace @@mail.example.com@@ with your actual domain.%0a%3c %0a%3c Add this to /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "mail.example.com" {%0a---%0a> For the application to work, the mail system must already be configured and started on the server.%0a> %0a> %0a> '''Create a new subdomain to host the application'''%0a> %0a> [=%0a> /var/nsd/zones/master/example.com.zone:%0a> ; webmail service%0a> webmail A 10.10.10.10%0a> webmail AAAA 2605:6400:30:faa1::%0a> %0a> doas rcctl -d restart nsd%0a> doas rcctl -d restart unbound%0a> =]%0a> %0a> '''Creating a new virtual host where applications will be hosted''''%0a> %0a> [=%0a> /etc/httpd.conf:%0a> server "webmail.example.com.zone" {%0a42,44c22,30%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a---%0a> #listen on * tls port 443%0a> #tls {%0a> # certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a> # key "/etc/ssl/private/webmail.example.com.org.key"%0a> #}%0a> directory index index.php%0a> root "/htdocs/webmail"%0a> location "/class/*" {%0a> block return 403%0a46,48c32,33%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c root "/htdocs/mail.example.com"%0a---%0a> location "/config/*" {%0a> block return 403%0a50,57c35%0a%3c directory index "index.php"%0a%3c connection max request body 26214400%0a%3c log access "webmail_access.log"%0a%3c log error "webmail_error.log"%0a%3c }%0a%3c @]%0a%3c (:if false:)%0a%3c location "/class/*" {%0a---%0a> location "/contrib/*" {%0a60c38%0a%3c location "/config/*" {%0a---%0a> location "/data/*" {%0a63c41%0a%3c location "/contrib/*" {%0a---%0a> location "/doc/*" {%0a66c44%0a%3c location "/data/*" {%0a---%0a> location "/functions/*" {%0a69c47%0a%3c location "/doc/*" {%0a---%0a> location "/help/*" {%0a72c50%0a%3c location "/functions/*" {%0a---%0a> location "/include/*" {%0a75c53%0a%3c location "/help/*" {%0a---%0a> location "/locale/*" {%0a78c56%0a%3c location "/include/*" {%0a---%0a> location "/po/*" {%0a81,82c59,61%0a%3c location "/locale/*" {%0a%3c block return 403%0a---%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a84,85c63,64%0a%3c location "/po/*" {%0a%3c block return 403%0a---%0a> location "*.php" {%0a> fastcgi socket "/run/php-fpm.sock"%0a87,108c66,67%0a%3c (:ifend:)%0a%3c %0a%3c For SSL/TLS, we recommend you use [[relayd/TLSMulti|relayd for TLS acceleration]] rather than httpd's native SSL. This is so you can provide web services that do not use [[openhttpd/intro|openhttpd]].%0a%3c %0a%3c !! TLS with relayd%0a%3c %0a%3c When [[relayd/TLSMulti|using relayd for TLS acceleration]], all that is needed are a few lines in /etc/relayd.conf:%0a%3c %0a%3c [@%0a%3c tls { keypair mail.example.com }%0a%3c @]%0a%3c %0a%3c Replace @@mail.example.com@@ with your real domain. This provides the TLS cert for webmail.%0a%3c %0a%3c In /etc/acme-client.conf, add this block:%0a%3c %0a%3c [@%0a%3c domain mail.example.com {%0a%3c alternative names { example.com imap.example.com smtp.example.com pop.example.com pop3.example.com}%0a%3c domain key "/etc/ssl/private/mail.example.com.key"%0a%3c domain full chain certificate "/etc/ssl/mail.example.com.crt"%0a%3c sign with letsencrypt%0a---%0a> log access "webmail_access.log"%0a> log error "webmail_error.log"%0a110,350d68%0a%3c @]%0a%3c %0a%3c Request the cert:%0a%3c %0a%3c [@%0a%3c $ doas acme-client -v mail.example.com%0a%3c @]%0a%3c %0a%3c Normally, the user www has no login shell for security. However, squirrelmail has this unusual perl configuration script that www needs to run. So first, we give www the default ksh shell:%0a%3c %0a%3c [@%0a%3c $ doas chsh -s /bin/ksh www%0a%3c @]%0a%3c %0a%3c Then, we switch to the user www and run the config script:%0a%3c %0a%3c [@%0a%3c $ doas su www%0a%3c $ cd /var/www/htdocs/mail.example.com/config%0a%3c $ perl conf.pl%0a%3c @]%0a%3c %0a%3c You should see the interactive menu:%0a%3c %0a%3c [@%0a%3c SquirrelMail Configuration : Read: config_default.php (1.4.0)%0a%3c ---------------------------------------------------------%0a%3c Main Menu --%0a%3c 1. Organization Preferences%0a%3c 2. Server Settings%0a%3c 3. Folder Defaults%0a%3c 4. General Options%0a%3c 5. Themes%0a%3c 6. Address Books%0a%3c 7. Message of the Day (MOTD)%0a%3c 8. Plugins%0a%3c 9. Database%0a%3c 10. Languages%0a%3c %0a%3c D. Set pre-defined settings for specific IMAP servers%0a%3c %0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> 2%0a%3c @]%0a%3c %0a%3c Type 2 to edit Server Settings:%0a%3c %0a%3c [@%0a%3c Server Settings%0a%3c %0a%3c General%0a%3c -------%0a%3c 1. Domain : mail.example.com%0a%3c 2. Invert Time : false%0a%3c 3. Sendmail or SMTP : SMTP%0a%3c %0a%3c IMAP Settings%0a%3c --------------%0a%3c 4. IMAP Server : localhost%0a%3c 5. IMAP Port : 143%0a%3c 6. Authentication type : login%0a%3c 7. Secure IMAP (TLS) : false%0a%3c 8. Server software : dovecot%0a%3c 9. Delimiter : detect%0a%3c %0a%3c B. Change Sendmail Config : /usr/sbin/sendmail%0a%3c H. Hide IMAP Server Settings%0a%3c %0a%3c R Return to Main Menu%0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> B%0a%3c @]%0a%3c %0a%3c Once you're done with configuration, save your work and quit:%0a%3c %0a%3c [@%0a%3c Command >> S%0a%3c Data saved in config.php%0a%3c Press enter to continue...%0a%3c %0a%3c Command >> Q%0a%3c Exiting conf.pl.%0a%3c You might want to test your configuration by browsing to%0a%3c http://your-squirrelmail-location/src/configtest.php%0a%3c Happy SquirrelMailing!%0a%3c @]%0a%3c %0a%3c Logout by typing ctrl+d and then disable the login shell for www:%0a%3c %0a%3c [@%0a%3c $ ^D%0a%3c $ doas chsh -s /sbin/nologin www%0a%3c @]%0a%3c %0a%3c Because Squirrelmail will connect to IMAP via localhost, you will need a listener for 127.0.0.1 in /etc/dovecot/dovecot.conf:%0a%3c %0a%3c [@%0a%3c listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a%3c @]%0a%3c %0a%3c You will want to restart dovecot if you need to make the change:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart dovecot%0a%3c @]%0a%3c %0a%3c We need to create folders that squirrelmail can write data to:%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /var/www/var/local/squirrelmail/data%0a%3c $ doas mkdir -p /var/www/var/local/squirrelmail/attach%0a%3c $ doas chown -R www:daemon /var/www/var/local/squirrelmail%0a%3c $ doas chmod -R o-rx /var/www/var/local/squirrelmail%0a%3c @]%0a%3c %0a%3c Remember, openhttpd runs chrooted in /var/www by default, which means you will%0a%3c need to copy some essential system files.%0a%3c %0a%3c If it does not exist already, create /var/www/etc/resolv.conf:%0a%3c %0a%3c [@%0a%3c lookup file bind%0a%3c nameserver 127.0.0.1%0a%3c @]%0a%3c %0a%3c This provides information on where to lookup DNS records. You will need%0a%3c to [[unbound/configure|configure unbound]].%0a%3c %0a%3c If it does not exist already, create /var/www/etc/hosts:%0a%3c %0a%3c [@%0a%3c 127.0.0.1 localhost%0a%3c ::1 localhost%0a%3c @]%0a%3c %0a%3c This defines localhost to be 127.0.0.1, which is necessary since squirrelmail will query IMAP and SMTP by using localhost.%0a%3c %0a%3c Troubleshooting:%0a%3c %0a%3c !!! Error opening%0a%3c %0a%3c [@%0a%3c ERROR%0a%3c Error opening ../data/default_pref%0a%3c Could not create initial preference file!%0a%3c /var/local/squirrelmail/data/ should be writable by user%0a%3c Please contact your system administrator and report this error.%0a%3c Go to the login page%0a%3c @]%0a%3c %0a%3c Make sure to create folders that squirrelmail can write to:%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /var/www/var/local/squirrelmail/data%0a%3c $ doas mkdir -p /var/www/var/local/squirrelmail/attach%0a%3c $ doas chown -R www:daemon /var/www/var/local/squirrelmail%0a%3c $ doas chmod -R o-rx /var/www/var/local/squirrelmail%0a%3c @]%0a%3c %0a%3c !!! Squirrelmail cannot connect to IMAP%0a%3c %0a%3c Make sure you have a listener for 127.0.0.1 in /etc/dovecot/dovecot.conf:%0a%3c %0a%3c [@%0a%3c listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a%3c @]%0a%3c %0a%3c Afterwards, restart dovecot if any changes were made:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart dovecot%0a%3c @]%0a%3c %0a%3c If Squirrelmail cannot resolve the name localhost, make sure you have the file /var/www/etc/hosts defined (see above).%0a%3c %0a%3c !!! Check logs%0a%3c %0a%3c Check /var/www/logs/error.log for additional logs for debugging.%0a%3c %0a%3c !! Sendmail%0a%3c %0a%3c Squirrelmail should be able to use sendmail instead of SMTP. However, on OpenBSD 6.9, there appears to be some issues with the replacement femail instead of sendmail.%0a%3c %0a%3c '''WARNING''': This setup has errors.%0a%3c %0a%3c To setup femail:%0a%3c %0a%3c $ doas mkdir -p /var/www/etc/%0a%3c %0a%3c Create /var/www/etc/femail.conf:%0a%3c %0a%3c [@%0a%3c smtphost=127.0.0.1%0a%3c myname=mail.example.com%0a%3c @]%0a%3c %0a%3c Test if femail works%0a%3c %0a%3c [@%0a%3c $ doas chroot -u www -g daemon /var/www /bin/femail -t -fusername@mail.example.com%0a%3c To: other@domain.com%0a%3c Subject: Alpha Bravo%0a%3c MIME-Version: 1.0%0a%3c Content-Type: text/plain; charset=us-ascii%0a%3c Content-Disposition: inline%0a%3c %0a%3c Charlie Delta Echo Foxtrot%0a%3c @]%0a%3c %0a%3c Type ctrl+d to end the message%0a%3c %0a%3c !! PHP 8.0%0a%3c %0a%3c When using PHP 8.0+, PHP complains that Squirrelmail is trying to use curly braces in a way that is no longer supported. You should see error messages like the following in /var/www/logs/error.log:%0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.example.com/functions/strings.php on line 634%0a%3c %0a%3c You need to look up every instance of misused {} curly braces and replace them with brackets [].%0a%3c %0a%3c $String .= $chars[mt_rand(0, $j)];%0a%3c For the application to work, the mail system must already be configured and started on the server.%0a%3c %0a%3c %0a%3c '''Create a new subdomain to host the application'''%0a%3c %0a%3c [=%0a%3c /var/nsd/zones/master/example.com.zone:%0a%3c ; webmail service%0a%3c webmail A 10.10.10.10%0a%3c webmail AAAA 2605:6400:30:faa1::%0a%3c %0a%3c doas rcctl -d restart nsd%0a%3c doas rcctl -d restart unbound%0a%3c =]%0a%3c %0a +host:1628331107=38.87.162.8 +author:1628271843=jrmu +diff:1628271843:1628245866:=138,364d137%0a%3c %0a%3c %0a%3c [@%0a%3c %0a%3c Warning: you must use php-7.4.22%0a%3c %0a%3c $ ftp https://managedway.dl.sourceforge.net/project/squirrelmail/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a%3c $ tar xvzf squirrelmail-webmail-1.4.22.tar.gz%0a%3c $ doas mv squirrelmail-webmail-1.4.22 /var/www/htdocs/mail.example.com%0a%3c $ doas chown -R www:daemon /var/www/htdocs/mail.example.com/%0a%3c $ doas chmod -R o-rx /var/www/htdocs/mail.example.com/%0a%3c %0a%3c Add this to /etc/httpd.conf:%0a%3c %0a%3c server "mail.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c root "/htdocs/mail.example.com"%0a%3c }%0a%3c directory {%0a%3c index "index.php"%0a%3c }%0a%3c connection max request body 26214400%0a%3c }%0a%3c %0a%3c In /etc/relayd.conf:%0a%3c %0a%3c tls { keypair mail.host.ircnow.org }%0a%3c %0a%3c In /etc/acme-client.conf:%0a%3c %0a%3c domain mail.jrmu.host.ircnow.org {%0a%3c alternative names { jrmu.host.ircnow.org imap.jrmu.host.ircnow.org smtp.jrmu.hos%0a%3c t.ircnow.org pop.jrmu.host.ircnow.org pop3.jrmu.host.ircnow.org }%0a%3c domain key "/etc/ssl/private/mail.jrmu.host.ircnow.org.key"%0a%3c domain full chain certificate "/etc/ssl/mail.jrmu.host.ircnow.org.crt"%0a%3c sign with letsencrypt%0a%3c }%0a%3c %0a%3c $ doas chsh -s /bin/ksh www%0a%3c $ doas su www%0a%3c $ cd /var/www/htdocs/mail.example.com/config%0a%3c $ perl conf.pl%0a%3c %0a%3c SquirrelMail Configuration : Read: config_default.php (1.4.0)%0a%3c ---------------------------------------------------------%0a%3c Main Menu --%0a%3c 1. Organization Preferences%0a%3c 2. Server Settings%0a%3c 3. Folder Defaults%0a%3c 4. General Options%0a%3c 5. Themes%0a%3c 6. Address Books%0a%3c 7. Message of the Day (MOTD)%0a%3c 8. Plugins%0a%3c 9. Database%0a%3c 10. Languages%0a%3c %0a%3c D. Set pre-defined settings for specific IMAP servers%0a%3c %0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> 2%0a%3c %0a%3c Server Settings%0a%3c %0a%3c General%0a%3c -------%0a%3c 1. Domain : jrmu.host.ircnow.org%0a%3c 2. Invert Time : false%0a%3c 3. Sendmail or SMTP : Sendmail%0a%3c %0a%3c IMAP Settings%0a%3c --------------%0a%3c 4. IMAP Server : 127.0.0.1%0a%3c 5. IMAP Port : 143%0a%3c 6. Authentication type : login%0a%3c 7. Secure IMAP (TLS) : false%0a%3c 8. Server software : dovecot%0a%3c 9. Delimiter : detect%0a%3c %0a%3c B. Change Sendmail Config : /usr/sbin/sendmail%0a%3c H. Hide IMAP Server Settings%0a%3c %0a%3c R Return to Main Menu%0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> B%0a%3c %0a%3c %0a%3c SquirrelMail Configuration : Read: config.php (1.4.0)%0a%3c ---------------------------------------------------------%0a%3c Server Settings%0a%3c %0a%3c General%0a%3c -------%0a%3c 1. Domain : jrmu.host.ircnow.org%0a%3c 2. Invert Time : false%0a%3c 3. Sendmail or SMTP : Sendmail%0a%3c %0a%3c Sendmail%0a%3c --------%0a%3c 4. Sendmail Path : /bin/femail%0a%3c 5. Sendmail arguments : -t%0a%3c 6. Header encryption key : %0a%3c %0a%3c A. Update IMAP Settings : 127.0.0.1:143 (dovecot)%0a%3c H. Hide Sendmail Settings%0a%3c %0a%3c R Return to Main Menu%0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> %0a%3c %0a%3c %0a%3c SquirrelMail Configuration : Read: config_default.php (1.4.0)%0a%3c ---------------------------------------------------------%0a%3c Main Menu --%0a%3c 1. Organization Preferences%0a%3c 2. Server Settings%0a%3c 3. Folder Defaults%0a%3c 4. General Options%0a%3c 5. Themes%0a%3c 6. Address Books%0a%3c 7. Message of the Day (MOTD)%0a%3c 8. Plugins%0a%3c 9. Database%0a%3c 10. Languages%0a%3c %0a%3c D. Set pre-defined settings for specific IMAP servers%0a%3c %0a%3c C Turn color on%0a%3c S Save data%0a%3c Q Quit%0a%3c %0a%3c Command >> S%0a%3c %0a%3c Data saved in config.php%0a%3c Press enter to continue...%0a%3c %0a%3c Exiting conf.pl.%0a%3c You might want to test your configuration by browsing to%0a%3c http://your-squirrelmail-location/src/configtest.php%0a%3c Happy SquirrelMailing!%0a%3c %0a%3c jrmu$ ^D%0a%3c $ doas chsh -s /sbin/nologin www%0a%3c %0a%3c %0a%3c Make sure /etc/dovecot/dovecot.conf:%0a%3c %0a%3c listen = 38.87.162.8, 2602:fccf:1:1008::, 127.0.0.1%0a%3c %0a%3c need 127.0.0.1%0a%3c %0a%3c check /var/www/logs/error.log%0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/strings.php on line 634%0a%3c %0a%3c You need to change this one line in /var/www/htdocs/mail.example.com/functions/strings.php:%0a%3c %0a%3c $String .= $chars[mt_rand(0, $j)];%0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 468%0a%3c %0a%3c $char = $read[$i]; %0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 475%0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_messages.php on line 637%0a%3c %0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_general.php on line 214%0a%3c PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /htdocs/mail.jrmu.host.ircnow.org/functions/imap_general.php on line 215%0a%3c %0a%3c $ doas mkdir -p /var/www/var/local/squirreilmail/data%0a%3c $ doas chown -R www:daemon /var/www/var/local/squirreilmail%0a%3c $ doas chmod -R o-rx /var/www/var/local/squirreilmail%0a%3c %0a%3c Setup femail:%0a%3c %0a%3c $ doas mkdir -p /var/www/etc/%0a%3c %0a%3c Create /var/www/etc/femail.conf:%0a%3c %0a%3c smtphost=127.0.0.1%0a%3c myname=mail.example.com%0a%3c %0a%3c Test if femail works%0a%3c %0a%3c $ doas chroot -u www -g daemon /var/www /bin/femail -t -fusername@mail.example.com%0a%3c To: other@domain.com%0a%3c Subject: Alpha Bravo%0a%3c MIME-Version: 1.0%0a%3c Content-Type: text/plain; charset=us-ascii%0a%3c Content-Disposition: inline%0a%3c %0a%3c Charlie Delta Echo Foxtrot%0a%3c %0a%3c Type ctrl+d to end the message%0a%3c %0a%3c %0a%3c Optional:%0a%3c %0a%3c $ rm squirrelmail-webmail-1.4.22.tar.gz%0a%3c %0a%3c Troubleshooting:%0a%3c %0a%3c ERROR%0a%3c Error opening ../data/default_pref%0a%3c Could not create initial preference file!%0a%3c /var/local/squirrelmail/data/ should be writable by user%0a%3c Please contact your system administrator and report this error.%0a%3c Go to the login page%0a%3c %0a%3c %0a%3c @]%0a +host:1628271843=38.87.162.8 +author:1628245866=baytuch +diff:1628245866:1628245866:=1,137d0%0a%3c For the application to work, the mail system must already be configured and started on the server.%0a%3c %0a%3c %0a%3c '''Create a new subdomain to host the application'''%0a%3c %0a%3c [=%0a%3c /var/nsd/zones/master/example.com.zone:%0a%3c ; webmail service%0a%3c webmail A 10.10.10.10%0a%3c webmail AAAA 2605:6400:30:faa1::%0a%3c %0a%3c doas rcctl -d restart nsd%0a%3c doas rcctl -d restart unbound%0a%3c =]%0a%3c %0a%3c '''Creating a new virtual host where applications will be hosted''''%0a%3c %0a%3c [=%0a%3c /etc/httpd.conf:%0a%3c server "webmail.example.com.zone" {%0a%3c listen on * port 80%0a%3c #listen on * tls port 443%0a%3c #tls {%0a%3c # certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a%3c # key "/etc/ssl/private/webmail.example.com.org.key"%0a%3c #}%0a%3c directory index index.php%0a%3c root "/htdocs/webmail"%0a%3c location "/class/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/config/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/contrib/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/data/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/doc/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/functions/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/help/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/include/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/locale/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/po/*" {%0a%3c block return 403%0a%3c }%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c log access "webmail_access.log"%0a%3c log error "webmail_error.log"%0a%3c }%0a%3c =]%0a%3c %0a%3c %0a%3c doas rcctl -d restart httpd%0a%3c %0a%3c %0a%3c '''Configuring the certificate generation service'''%0a%3c %0a%3c [=%0a%3c /etc/acme-client.conf:%0a%3c domain webmail.example.com {%0a%3c domain key "/etc/ssl/private/webmail.example.com.key"%0a%3c domain certificate "/etc/ssl/webmail.example.com.crt"%0a%3c domain full chain certificate "/etc/ssl/webmail.example.com.fullchain.pem"%0a%3c sign with letsencrypt%0a%3c challengedir "/var/www/acme"%0a%3c }%0a%3c =]%0a%3c doas acme-client -Fv webmail.example.com%0a%3c (!)you must set new certs to virtual host config and restart httpd again%0a%3c %0a%3c %0a%3c '''Creating an environment for the application to work'''%0a%3c [=%0a%3c doas mkdir /var/www/webmail%0a%3c doas mkdir /var/www/webmail/data%0a%3c doas mkdir /var/www/webmail/attachments%0a%3c %0a%3c doas chown www:www /var/www/webmail%0a%3c doas chown www:www /var/www/webmail/data%0a%3c doas chown www:www /var/www/webmail/attachments%0a%3c %0a%3c doas chmod 700 /var/www/webmail%0a%3c doas chmod 700 /var/www/webmail/data%0a%3c doas chmod 700 /var/www/webmail/attachments%0a%3c =]%0a%3c %0a%3c '''Installing the application on the server'''%0a%3c [=%0a%3c cd ~/%0a%3c wget https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz%0a%3c tar -xvzf squirrelmail-webmail-1.4.22.tar.gz%0a%3c doas cp -r squirrelmail-webmail-1.4.22/ /var/www/htdocs/webmail/%0a%3c %0a%3c cd /var/www/htdocs/%0a%3c doas chown root:bin webmail%0a%3c doas find ./webmail -type d -exec chmod 755 {} \;%0a%3c doas find ./webmail -type f -exec chmod 644 {} \;%0a%3c doas rm /var/www/htdocs/webmail/README %0a%3c doas rm /var/www/htdocs/webmail/configure%0a%3c =]%0a%3c %0a%3c '''PHP 7 compatibility fix'''%0a%3c [=%0a%3c functions/global.php (451):%0a%3c function sqsession_is_active() {%0a%3c if (session_status() === PHP_SESSION_ACTIVE) { return; }%0a%3c sqsession_start();%0a%3c }%0a%3c =]%0a%3c %0a%3c '''Configuring'''%0a%3c [=%0a%3c doas touch /var/www/htdocs/webmail/config/config.php%0a%3c doas chown www:www /var/www/htdocs/webmail/config/config.php%0a%3c doas chmod 400 /var/www/htdocs/webmail/config/config.php%0a%3c =]%0a%3c %0a%3c [[https://wiki.ircnow.org/uploads/Openbsd/config.php.zip|config.php.zip]]%0a +host:1628245866=38.87.162.8 blob - /dev/null blob + 17a5333563e0b7ec470fd16216163d4fe9343d22 (mode 644) --- /dev/null +++ wiki.d/Squirrelmail.RecentChanges @@ -0,0 +1,12 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0 +author=mkf +charset=UTF-8 +csum= +ctime=1628916360 +host=72.78.238.236 +name=Squirrelmail.RecentChanges +rev=6 +targets= +text=connect to your webmail, it's usually on @@webmail.%3cmail server>.org@@ or @@mail.%3cmail server>.org@@%0a* [[Squirrelmail/Install]] . . . November 26, 2021, at 10:50 PM by [[~bugzbunny]]: [=Whoops, setup unbound first=]%0a +time=1637967048 blob - /dev/null blob + 552b44deb0680e7735f15788ae565a8d29a2da7d (mode 644) --- /dev/null +++ wiki.d/Ssh.Fingerprints @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0 +author=xfnw +charset=UTF-8 +csum=make the top row of the table the head +ctime=1628527330 +host=71.246.231.249 +name=Ssh.Fingerprints +rev=5 +targets=MITM.Intro,Openssh.Intro,Dns.FQDN,Nsd.Zone +text=In order to prevent a [[MITM/intro|Man-In-The-Middle attack (MITM)]], SSH requires you to check the fingerprints of the server you connect to.%0a%0a!! Your SSH Fingerprints%0a%0aWhen ssh server is installed, it stores its keys in /etc/ssh. You%0acan run this script to quickly get the ssh fingerprints for all your keys:%0a%0a[@%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0assh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0assh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a@]%0a%0aThe first four fingerprints use MD5 hashing, which is used by PuTTY. The last four uses SHA256 hashing, which is used by [[openssh/intro|OpenSSH]].%0a%0a!! Publish SSHFP%0a%0aA convenient place to publish ssh fingerprints is in DNS using SSHFP records:%0a%0a[@%0a$ ssh-keygen -r example.com.%0aexample.com IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0aexample.com IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0aexample.com IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0aexample.com IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0aexample.com IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0aexample.com IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0aexample.com IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0aexample.com IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a@]%0a%0aReplace @@example.com.@@ with your domain, making sure to include the final period for a [[dns/FQDN|fully qualified domain name (FQDN)]]. ssh will generate all of your SSHFP records for you, which can then be added to your [[nsd/zone|nameserver's zone]] files.%0a%0aSSHFP records follow this format:%0a%0a[@%0a%3cName> [%3cTTL>] [%3cClass>] SSHFP %3cAlgorithm> %3cType> %3cFingerprint>%0a@]%0a%0a|| border=1 width=100%25 class="simpletable"%0a||! Keyword ||! Meaning ||%0a|| TTL || Time to live (seconds) ||%0a|| Protocol || IN for Internet ||%0a|| Algorithm || 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519 ||%0a|| Type || Hash -- 0: reserved; 1: SHA-1; 2: SHA-256) ||%0a|| Fingerprint || Hexadecimal of hash ||%0a +time=1633819313 +author:1633819313=xfnw +csum:1633819313=make the top row of the table the head +diff:1633819313:1633816945:minor=45,46c45,46%0a%3c || border=1 width=100%25 class="simpletable"%0a%3c ||! Keyword ||! Meaning ||%0a---%0a> || border=1 width=100%25 class="sortable simpletable"%0a> || Keyword || Meaning ||%0a +host:1633819313=71.246.231.249 +author:1633816945=mkf +diff:1633816945:1628528550:=47c47%0a%3c || TTL || Time to live (seconds) ||%0a---%0a> || TTL || Time to live (seconds)%0a +host:1633816945=188.210.104.87 +author:1628528550=jrmu +diff:1628528550:1628528035:=26c26%0a%3c $ ssh-keygen -r example.com.%0a---%0a> $ ssh-keygen -r example.com%0a37,40c37,40%0a%3c Replace @@example.com.@@ with your domain, making sure to include the final period for a [[dns/FQDN|fully qualified domain name (FQDN)]]. ssh will generate all of your SSHFP records for you, which can then be added to your [[nsd/zone|nameserver's zone]] files.%0a%3c %0a%3c SSHFP records follow this format:%0a%3c %0a---%0a> Replace @@example.com@@ with your domain. ssh will generate all of your SSHFP records for you, which can then be added to your nameserver's zone files.%0a> %0a> SSHFP records explained:%0a> %0a45,51c45,90%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || Keyword || Meaning ||%0a%3c || TTL || Time to live (seconds)%0a%3c || Protocol || IN for Internet ||%0a%3c || Algorithm || 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519 ||%0a%3c || Type || Hash -- 0: reserved; 1: SHA-1; 2: SHA-256) ||%0a%3c || Fingerprint || Hexadecimal of hash ||%0a---%0a> TTL: Time to live (seconds)%0a> Protocol: IN for Internet%0a> Algorithm: 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519%0a> Type: Hash algorithm: 0: reserved; 1: SHA-1; 2: SHA-256)%0a> Fingerprint: Hexadecimal of hash%0a> %0a> !! Generating SSH Keys%0a> %0a> [@%0a> $ ssh-keygen -t ed25519%0a> Generating public/private ed25519 key pair.%0a> Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a> Enter passphrase (empty for no passphrase): %0a> Enter same passphrase again: %0a> Your identification has been saved in /home/username/ssh/id_ed25519%0a> Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a> The key fingerprint is:%0a> ...%0a> @]%0a> %0a> Save the key fingerprint and image art, you will use it for verifying the key later.%0a> %0a> You can repeat this process with other types of keys:%0a> %0a> Now, read ~/.ssh/id_ed25519.pub:%0a> %0a> [@%0a> $ cat .ssh/id_ed25519.pub%0a> @]%0a> %0a> You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a> %0a> [@%0a> $ ssh username@example.ircnow.org%0a> $ vi .ssh/authorized_keys%0a> @]%0a> %0a> !! Alternative SSH Keys%0a> %0a> On your desktop PC, you can generate other ssh key types:%0a> %0a> [@%0a> $ ssh-keygen -t ecdsa -a 100%0a> $ ssh-keygen -t rsa -b 4096 -o -a 100%0a> @]%0a> %0a +host:1628528550=38.87.162.8 +author:1628528035=jrmu +diff:1628528035:1628527330:=3,7c3,6%0a%3c !! Your SSH Fingerprints%0a%3c %0a%3c When ssh server is installed, it stores its keys in /etc/ssh. You%0a%3c can run this script to quickly get the ssh fingerprints for all your keys:%0a%3c %0a---%0a> You can use this script to quickly get the ssh fingerprints for all ssh keys:%0a> %0a> !! SSH Fingerprints%0a> %0a19,24c18,21%0a%3c The first four fingerprints use MD5 hashing, which is used by PuTTY. The last four uses SHA256 hashing, which is used by [[openssh/intro|OpenSSH]].%0a%3c %0a%3c !! Publish SSHFP%0a%3c %0a%3c A convenient place to publish ssh fingerprints is in DNS using SSHFP records:%0a%3c %0a---%0a> The first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a> %0a> !! Generating SSH Keys%0a> %0a26,34c23,31%0a%3c $ ssh-keygen -r example.com%0a%3c example.com IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0a%3c example.com IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0a%3c example.com IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0a%3c example.com IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0a%3c example.com IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0a%3c example.com IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0a%3c example.com IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0a%3c example.com IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a---%0a> $ ssh-keygen -t ed25519%0a> Generating public/private ed25519 key pair.%0a> Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a> Enter passphrase (empty for no passphrase): %0a> Enter same passphrase again: %0a> Your identification has been saved in /home/username/ssh/id_ed25519%0a> Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a> The key fingerprint is:%0a> ...%0a37,40c34,39%0a%3c Replace @@example.com@@ with your domain. ssh will generate all of your SSHFP records for you, which can then be added to your nameserver's zone files.%0a%3c %0a%3c SSHFP records explained:%0a%3c %0a---%0a> Save the key fingerprint and image art, you will use it for verifying the key later.%0a> %0a> You can repeat this process with other types of keys:%0a> %0a> Now, read ~/.ssh/id_ed25519.pub:%0a> %0a42c41%0a%3c %3cName> [%3cTTL>] [%3cClass>] SSHFP %3cAlgorithm> %3cType> %3cFingerprint>%0a---%0a> $ cat .ssh/id_ed25519.pub%0a45,52c44,45%0a%3c TTL: Time to live (seconds)%0a%3c Protocol: IN for Internet%0a%3c Algorithm: 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519%0a%3c Type: Hash algorithm: 0: reserved; 1: SHA-1; 2: SHA-256)%0a%3c Fingerprint: Hexadecimal of hash%0a%3c %0a%3c !! Generating SSH Keys%0a%3c %0a---%0a> You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a> %0a54,62c47,48%0a%3c $ ssh-keygen -t ed25519%0a%3c Generating public/private ed25519 key pair.%0a%3c Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a%3c Enter passphrase (empty for no passphrase): %0a%3c Enter same passphrase again: %0a%3c Your identification has been saved in /home/username/ssh/id_ed25519%0a%3c Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a%3c The key fingerprint is:%0a%3c ...%0a---%0a> $ ssh username@example.ircnow.org%0a> $ vi .ssh/authorized_keys%0a65,70c51,54%0a%3c Save the key fingerprint and image art, you will use it for verifying the key later.%0a%3c %0a%3c You can repeat this process with other types of keys:%0a%3c %0a%3c Now, read ~/.ssh/id_ed25519.pub:%0a%3c %0a---%0a> !! Alternative SSH Keys%0a> %0a> On your desktop PC, you can generate other ssh key types:%0a> %0a72c56,57%0a%3c $ cat .ssh/id_ed25519.pub%0a---%0a> $ ssh-keygen -t ecdsa -a 100%0a> $ ssh-keygen -t rsa -b 4096 -o -a 100%0a75,76c60,63%0a%3c You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a%3c %0a---%0a> !! Publish SSHFP%0a> %0a> To publish ssh keys online, run:%0a> %0a78,79c65,73%0a%3c $ ssh username@example.ircnow.org%0a%3c $ vi .ssh/authorized_keys%0a---%0a> $ ssh-keygen -r ircnow.org %0a> ircnow.org IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0a> ircnow.org IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0a> ircnow.org IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0a> ircnow.org IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0a> ircnow.org IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0a> ircnow.org IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0a> ircnow.org IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0a> ircnow.org IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a82,90c76,86%0a%3c !! Alternative SSH Keys%0a%3c %0a%3c On your desktop PC, you can generate other ssh key types:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ecdsa -a 100%0a%3c $ ssh-keygen -t rsa -b 4096 -o -a 100%0a%3c @]%0a%3c %0a---%0a> Replace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a> %0a> Here is the DNS record%0a> %0a> %3cName> [%3cTTL>] [%3cClass>] SSHFP %3cAlgorithm> %3cType> %3cFingerprint>%0a> %0a> TTL: Time to live (seconds)%0a> Protocol: IN for Internet%0a> Algorithm: 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519%0a> Type: Hash algorithm: 0: reserved; 1: SHA-1; 2: SHA-256)%0a> Fingerprint: Hexadecimal of hash%0a +host:1628528035=38.87.162.8 +author:1628527330=jrmu +diff:1628527330:1628527330:=1,86d0%0a%3c In order to prevent a [[MITM/intro|Man-In-The-Middle attack (MITM)]], SSH requires you to check the fingerprints of the server you connect to.%0a%3c %0a%3c You can use this script to quickly get the ssh fingerprints for all ssh keys:%0a%3c %0a%3c !! SSH Fingerprints%0a%3c %0a%3c [@%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub%0a%3c ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub%0a%3c @]%0a%3c %0a%3c The first five are MD5 hashes and are used by PuTTY. The last five will be used by Mac/Linux.%0a%3c %0a%3c !! Generating SSH Keys%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ed25519%0a%3c Generating public/private ed25519 key pair.%0a%3c Enter file in which to save the key (/home/username/.ssh/id_ed25519): %0a%3c Enter passphrase (empty for no passphrase): %0a%3c Enter same passphrase again: %0a%3c Your identification has been saved in /home/username/ssh/id_ed25519%0a%3c Your public key has been saved in /home/username/ssh/id_ed25519.pub%0a%3c The key fingerprint is:%0a%3c ...%0a%3c @]%0a%3c %0a%3c Save the key fingerprint and image art, you will use it for verifying the key later.%0a%3c %0a%3c You can repeat this process with other types of keys:%0a%3c %0a%3c Now, read ~/.ssh/id_ed25519.pub:%0a%3c %0a%3c [@%0a%3c $ cat .ssh/id_ed25519.pub%0a%3c @]%0a%3c %0a%3c You will add this line to the bottom of ~/.ssh/authorized_keys on the server. So, we login then edit that file:%0a%3c %0a%3c [@%0a%3c $ ssh username@example.ircnow.org%0a%3c $ vi .ssh/authorized_keys%0a%3c @]%0a%3c %0a%3c !! Alternative SSH Keys%0a%3c %0a%3c On your desktop PC, you can generate other ssh key types:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -t ecdsa -a 100%0a%3c $ ssh-keygen -t rsa -b 4096 -o -a 100%0a%3c @]%0a%3c %0a%3c !! Publish SSHFP%0a%3c %0a%3c To publish ssh keys online, run:%0a%3c %0a%3c [@%0a%3c $ ssh-keygen -r ircnow.org %0a%3c ircnow.org IN SSHFP 1 1 7251d06cf5cf9312b502388edd93ff924c52a73a%0a%3c ircnow.org IN SSHFP 1 2 a0f433e68e5ba29f23825b21a23660d94a5b8a814cd71827fb75cfb4e84e4c49%0a%3c ircnow.org IN SSHFP 2 1 22ccda0cafee42f3e2cc53d5f695244677a1a88f%0a%3c ircnow.org IN SSHFP 2 2 88fbc099391d1e37330409978e68bdeebc50fe9bc41c5e2fd4a2d29ecde20409%0a%3c ircnow.org IN SSHFP 3 1 c9a19b42a7165596f0d0e5bfa947232978901dcb%0a%3c ircnow.org IN SSHFP 3 2 6a9facbb8693644063b1eee91cfce24ada5536ff52df98210fae3d350fffaf34%0a%3c ircnow.org IN SSHFP 4 1 4dc3d59ef28733c89f83e0e078b10a4a816e2a04%0a%3c ircnow.org IN SSHFP 4 2 a1f1388dff27d02f942ea5a9e2cb6008ae3e0a61622e5ff2b1ce746b32049152%0a%3c @]%0a%3c %0a%3c Replace ircnow.org with your domain. Those records can then be added to your nameserver's zone files.%0a%3c %0a%3c Here is the DNS record%0a%3c %0a%3c %3cName> [%3cTTL>] [%3cClass>] SSHFP %3cAlgorithm> %3cType> %3cFingerprint>%0a%3c %0a%3c TTL: Time to live (seconds)%0a%3c Protocol: IN for Internet%0a%3c Algorithm: 0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519%0a%3c Type: Hash algorithm: 0: reserved; 1: SHA-1; 2: SHA-256)%0a%3c Fingerprint: Hexadecimal of hash%0a +host:1628527330=38.87.162.8 blob - /dev/null blob + c40bd3ba09a8180fbe0c6298a24b310394064316 (mode 644) --- /dev/null +++ wiki.d/Ssh.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0 +charset=UTF-8 +ctime=1628527330 +host=71.246.231.249 +name=Ssh.RecentChanges +rev=5 +text=* [[Ssh/Fingerprints]] . . . October 09, 2021, at 10:41 PM by [[~xfnw]]: [=make the top row of the table the head=]%0a +time=1633819313 blob - /dev/null blob + ed6b07b736f5d62d6722d63917083cc0ae2bace7 (mode 644) --- /dev/null +++ wiki.d/Sshwifty.Connect @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1628269247 +host=125.231.70.149 +name=Sshwifty.Connect +rev=1 +targets= +text=https://sshwifty.herokuapp.com/%0a%0ahttps://github.com/nirui/sshwifty +time=1628269247 +author:1628269247=jrmu +diff:1628269247:1628269247:=1,3d0%0a%3c https://sshwifty.herokuapp.com/%0a%3c %0a%3c https://github.com/nirui/sshwifty%0a\ No newline at end of file%0a +host:1628269247=125.231.70.149 blob - /dev/null blob + 60f3267b371b36ea61543d61720b4285d6c75bdb (mode 644) --- /dev/null +++ wiki.d/Sshwifty.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1628269247 +host=125.231.70.149 +name=Sshwifty.RecentChanges +rev=1 +text=* [[Sshwifty/Connect]] . . . August 06, 2021, at 05:00 PM by [[~jrmu]]: [==]%0a +time=1628269247 blob - /dev/null blob + 07f87af18b0aa8a0ef913ed2ef44ef4e444df1eb (mode 644) --- /dev/null +++ wiki.d/Stopm.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1601865020 +host=125.224.24.163 +name=Stopm.RecentChanges +rev=13 +text=* [[Stopm/Stopm]] . . . January 31, 2021, at 12:36 PM by [[~jrmu]]: [==]%0a +time=1612096615 blob - /dev/null blob + b13929860acf317d1f9589fcdb30a0431ab497a2 (mode 644) --- /dev/null +++ wiki.d/Stopm.Stopm @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1601865020 +host=125.224.24.163 +name=Stopm.Stopm +rev=13 +targets=Openbsd.Rbldns,Openbsd.Acopm +text=Statistical Open Proxy Monitor (STOPM)%0a%0a!! Motivation%0a%0aWe want a chat platform that normal people can use without reading manuals. We don't want a social network for elitists, we want a social network for normal users.%0a%0aMost networks today use clumsy ways of dealing with spam and ban evasion. They do an IP address lookup and check if the IP is present on [[openbsd/rbldns|an RBL]]. If so, they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs.%0a%0aHere are some examples:%0a%0a# Some networks completely ban tor or force tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a# Channel operators often set public channels to +R, which forces every use to register before they can chat. Some channels outright ban tor. This prevents unregistered users from chatting, which severely reduces privacy and makes it hard for new users to join.%0a# Users with bad residential ISPs are banned by default because their ISP has a reputation for spam; the entire IP range is placed on a blacklist.%0a# If you try to connect to Freenode from a blacklisted residential ISP, you are forced to install and authenticate using SASL (confusing for new users):\\%0a[@%0a16:45 !cherryh.freenode.net *** Notice -- You need to identify via SASL to use this server%0a16:45 -!- ERROR Closing Link: 10.0.0.1 (SASL access only)%0a@]%0a# Forcing SASL authentication has caused over 95%25 of our znc users to quit using SimoSnap%0a# +l limits to prevent flooding may prevent normal users from joining if limits aren't updated%0a# +Z which bans non-SSL users will ban lots of mIRC 6.x users who lack SSL%0a%0aUnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow bouncers were only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies.%0a%0aAccidental banning happens on a daily basis because UnrealIRCd is too confusing for average users to administer. Channel ops also struggle to be able to administer their own channels because of the needlessly complex settings.%0a%0aHere are some example flags that are highly confusing and of no use:%0a%0a[@%0aD chanmodes/delayjoin Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. Requires +o or higher %0aQ chanmodes/nokick No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. %0aV chanmodes/noinvite /INVITE is not permitted. %0a@]%0a%0a!! Introducing STOPM%0a%0aThe STatistical Open Proxy Monitor (STOPM) is IRCNow's attempt at a good spam filtering system. It is designed to work automatically and should not require admins or users to memorize an endless series of flags.%0a%0aWe believe an intelligent policy will consider a user's fingerprints holistically and assign a statistical probability to guess whether or not it might be a spam bot.%0a%0aA spam system has to be able to scale for a network with >50,000 users and determined attackers. To do this, we must build our own spam fighting system.%0a%0a"The sculptor can more easily carve a fair statue from a rough block, than from the block which has been badly shaped out by another"%0a%0a!! How STOPM works%0a%0aA spam probability score will be assigned ranging from 0.0000 (not spam) to 1.0000 (spam) based on a combination of factors:%0a%0a# Does the IP address appear on an [[openbsd/rbldns|RBL]]?%0a# Does the IP address have DNS and rDNS properly configured?%0a# Does the IP address come from a residential IP or VPN or other proxy?%0a# Is the IP address an open proxy based on port scans?%0a# Is ident enabled?%0a# Did the client use SSL?%0a# Does the irc client respond to CTCP requests?%0a# Does the client have a proper realname and username?%0a%0aWe can also combine this with http and smtp fingerprinting done by services to build a spam score that won't ban innocent users.%0a%0a!! Fork ACOPM%0a%0aWe will use [[openbsd/acopm|ACOPM]] as our base because it is a minimal open proxy monitor, which we can then customize to our needs. +time=1612096615 +author:1612096615=jrmu +diff:1612096615:1612096380:=58,62c58%0a%3c We can also combine this with http and smtp fingerprinting done by services to build a spam score that won't ban innocent users.%0a%3c %0a%3c !! Fork ACOPM%0a%3c %0a%3c We will use [[openbsd/acopm|ACOPM]] as our base because it is a minimal open proxy monitor, which we can then customize to our needs.%0a\ No newline at end of file%0a---%0a> We can also combine this with http and smtp fingerprinting done by services to build a spam score that won't ban innocent users.%0a\ No newline at end of file%0a +host:1612096615=125.224.24.163 +author:1612096380=jrmu +diff:1612096380:1612095754:=50,58c50,53%0a%3c # Does the IP address have DNS and rDNS properly configured?%0a%3c # Does the IP address come from a residential IP or VPN or other proxy?%0a%3c # Is the IP address an open proxy based on port scans?%0a%3c # Is ident enabled?%0a%3c # Did the client use SSL?%0a%3c # Does the irc client respond to CTCP requests?%0a%3c # Does the client have a proper realname and username?%0a%3c %0a%3c We can also combine this with http and smtp fingerprinting done by services to build a spam score that won't ban innocent users.%0a\ No newline at end of file%0a---%0a> 16:41 %3c~jrmu> based on a large combination of factors like whether SSL is enabled, %0a> whether ident is enabled, whether rdns matches fcdns%0a> 16:41 %3c~jrmu> whether the IP is on a blacklist, whether the irc client replies to CTCP %0a> and whois requests%0a +host:1612096380=125.224.24.163 +author:1612095754=jrmu +diff:1612095754:1612095529:=35,42c35,40%0a%3c !! Introducing STOPM%0a%3c %0a%3c The STatistical Open Proxy Monitor (STOPM) is IRCNow's attempt at a good spam filtering system. It is designed to work automatically and should not require admins or users to memorize an endless series of flags.%0a%3c %0a%3c We believe an intelligent policy will consider a user's fingerprints holistically and assign a statistical probability to guess whether or not it might be a spam bot.%0a%3c %0a%3c A spam system has to be able to scale for a network with >50,000 users and determined attackers. To do this, we must build our own spam fighting system.%0a%3c %0a---%0a> A good spam filtering system should work automatically and should not require admins or users to memorize an endless series of flags.%0a> %0a> An intelligent policy will consider a user's fingerprints holistically and assign a statistical probability to guess whether or not it might be a spam bot.%0a> %0a> A spam system has to be able to scale for a network with >50,000 users and determined attackers. To do this, we should build our own spam fighting system.%0a> %0a45,49c43,45%0a%3c !! How STOPM works%0a%3c %0a%3c A spam probability score will be assigned ranging from 0.0000 (not spam) to 1.0000 (spam) based on a combination of factors:%0a%3c %0a%3c # Does the IP address appear on an [[openbsd/rbldns|RBL]]?%0a---%0a> %0a> %0a> 16:41 %3c~jrmu> but basically the idea is to assign a spam probability score%0a +host:1612095754=125.224.24.163 +author:1612095529=jrmu +diff:1612095529:1612095148:=5,6d4%0a%3c We want a chat platform that normal people can use without reading manuals. We don't want a social network for elitists, we want a social network for normal users.%0a%3c %0a11,12c9,10%0a%3c # Some networks completely ban tor or force tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a%3c # Channel operators often set public channels to +R, which forces every use to register before they can chat. Some channels outright ban tor. This prevents unregistered users from chatting, which severely reduces privacy and makes it hard for new users to join.%0a---%0a> # Freenode forces tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a> # Freenode channel operators set most public channels as +R, which forces every use to register before they can chat. Some channels outright ban tor. This prevents unregistered users from chatting, which severely reduces privacy and makes it hard for new users to join.%0a23,28c21,24%0a%3c UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow bouncers were only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies.%0a%3c %0a%3c Accidental banning happens on a daily basis because UnrealIRCd is too confusing for average users to administer. Channel ops also struggle to be able to administer their own channels because of the needlessly complex settings.%0a%3c %0a%3c Here are some example flags that are highly confusing and of no use:%0a%3c %0a---%0a> UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow was only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies. This happens on a daily basis because UnrealIRCd is too confusing to administer. Channel ops also struggled to be able to administer their own channels because of the needlessly complex settings.%0a> %0a> Here are some confusing settings:%0a> %0a35,41c31,49%0a%3c A good spam filtering system should work automatically and should not require admins or users to memorize an endless series of flags.%0a%3c %0a%3c An intelligent policy will consider a user's fingerprints holistically and assign a statistical probability to guess whether or not it might be a spam bot.%0a%3c %0a%3c A spam system has to be able to scale for a network with >50,000 users and determined attackers. To do this, we should build our own spam fighting system.%0a%3c %0a%3c "The sculptor can more easily carve a fair statue from a rough block, than from the block which has been badly shaped out by another"%0a---%0a> A good spam filtering system should work automatically and should not require either admins or users to memorize an endless series of flags.%0a> %0a> A more intelligent policy is to consider a user's fingerprints holistically and assign a statistical probability that he might be a spammer.%0a> %0a> We want a chat platform that normal people can use without reading manuals. We don't want a social network for elitist nerds, we want a social network for the users.%0a> %0a> 17:00 %3c~jrmu> they basically had to force every channel to +R%0a> 17:00 %3c~jrmu> that costs freenode a lot of users%0a> 17:00 %3c~jrmu> the blacklisting by ip model is just not that great, in my opinion%0a> 17:01 %3c~jrmu> it's not necessarily freenode's fault but when you have a big network %0a> with >50,000 users and determined attackers%0a> 17:01 %3c~jrmu> you need a more intelligent approach to spam%0a> 17:01 %3c~jrmu> something probabilistic%0a> 17:08 %3c~jrmu> our network right now if I had to be honest with you%0a> 17:08 %3c~jrmu> is much more primitive than other networks%0a> 17:08 %3c~jrmu> because almost everything will be coded from new%0a> 17:09 %3c~jrmu> My philosophy is ``the sculptor can more easily carve a fair statue from %0a> a rough block, than from the block which has been badly shaped out by %0a> another''%0a +host:1612095529=125.224.24.163 +author:1612095148=jrmu +diff:1612095148:1612093842:=9,12c9,11%0a%3c # Freenode forces tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a%3c # Freenode channel operators set most public channels as +R, which forces every use to register before they can chat. Some channels outright ban tor. This prevents unregistered users from chatting, which severely reduces privacy and makes it hard for new users to join.%0a%3c # Users with bad residential ISPs are banned by default because their ISP has a reputation for spam; the entire IP range is placed on a blacklist.%0a%3c # If you try to connect to Freenode from a blacklisted residential ISP, you are forced to install and authenticate using SASL (confusing for new users):\\%0a---%0a> # Freenode, for example, forces tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a> # Users with bad residential ISPs are banned by default because their ISP has a reputation for spam; the entire IP range is placed on a blacklist. If you try to connect to Freenode from such a residential ISP, you are forced to install and authenticate using SASL:%0a> %0a17,25c16,18%0a%3c # Forcing SASL authentication has caused over 95%25 of our znc users to quit using SimoSnap%0a%3c # +l limits to prevent flooding may prevent normal users from joining if limits aren't updated%0a%3c # +Z which bans non-SSL users will ban lots of mIRC 6.x users who lack SSL%0a%3c %0a%3c UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow was only recently banned by some inexperienced Unreal opers. Just a few days ago, they gave us express permission to connect with an iline, then recently Z-lined our IPs by accident for being proxies. This happens on a daily basis because UnrealIRCd is too confusing to administer. Channel ops also struggled to be able to administer their own channels because of the needlessly complex settings.%0a%3c %0a%3c Here are some confusing settings:%0a%3c %0a%3c [@%0a---%0a> %0a> UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow was only recently banned by inexperienced Unreal opers who, after giving us express permission to connect with an iline, the following day banned our IPs by accident for being proxies. From personal experience, channel ops have struggled to be able to administer their own channels because of the needlessly complex settings.%0a> %0a29,32c22,33%0a%3c @]%0a%3c %0a%3c A good spam filtering system should work automatically and should not require either admins or users to memorize an endless series of flags.%0a%3c %0a---%0a> %0a> %0a> Most measures to deal with abuse on IRC ban too many innocent users.%0a> %0a> %0a> 16:53 %3c~jrmu> and the blacklist overrode the iline%0a> %0a> all of which required sysadmins to be geniuses at memorization%0a> 16:52 %3c~jrmu> it didn't feel automatic at all, and required users to memorize a bunch %0a> of commands%0a> %0a> %0a36a38,41%0a> 16:55 %3c~jrmu> we have to do something more automatic%0a> 16:57 %3c~jrmu> my plan was more of a long-term project of fixing IRC to make it simpler%0a> 17:00 %3c~jrmu> the other thing you can take a look at BugzBunnyQussale is%0a> 17:00 %3c~jrmu> look at how bad the spam moderation is on freenode%0a +host:1612095148=125.224.24.163 +author:1612093842=jrmu +diff:1612093842:1612093758:=35,37c35,42%0a%3c %0a%3c We want a chat platform that normal people can use without reading manuals. We don't want a social network for elitist nerds, we want a social network for the users.%0a%3c %0a---%0a> 16:54 %3c~jrmu> even for usrs%0a> 16:54 %3c~jrmu> even for users%0a> 16:54 %3c~jrmu> it's too confusing%0a> 16:54 %3c~jrmu> it depends what your goal is%0a> 16:54 %3c~jrmu> if you want to make a chat platform that requires nerds read manuals to %0a> use%0a> 16:54 %3c~jrmu> then inspircd and unreal are fine%0a> 16:55 %3c~jrmu> if you want to make a chat platform that normal people can use%0a +host:1612093842=125.224.24.163 +author:1612093758=jrmu +diff:1612093758:1612093183:=5,12c5,6%0a%3c Most networks today use clumsy ways of dealing with spam and ban evasion. They do an IP address lookup and check if the IP is present on [[openbsd/rbldns|an RBL]]. If so, they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs.%0a%3c %0a%3c Here are some examples:%0a%3c %0a%3c # Freenode, for example, forces tor users to first register using a non-tor IP (which defeats the purpose of tor)%0a%3c # Users with bad residential ISPs are banned by default because their ISP has a reputation for spam; the entire IP range is placed on a blacklist. If you try to connect to Freenode from such a residential ISP, you are forced to install and authenticate using SASL:%0a%3c %0a%3c [@%0a---%0a> Most networks today use a very simple and clumsy way of banning users. They do an IP address lookup and see if it's in an RBL, and if so they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs. For example, some residential ISPs are notorious for harboring spammers. As a result, the entire IP range has been blacklisted. If you try to connect to Freenode from a residential ISP, you are forced to install and authenticate using SASL:%0a> %0a14,16c8,11%0a%3c 16:45 -!- ERROR Closing Link: 10.0.0.1 (SASL access only)%0a%3c @]%0a%3c %0a---%0a> 16:45 -!- ERROR Closing Link: 10.0.0.1.net (SASL access only)%0a> %0a> Some networks outright just ban the IP. So IP blacklists can be too draconian at times. Entire countries can be banned by blacklists simply because an ISP does not work hard to stop spammers and abusers. Too many innocent users will be banned by using existing IRC methods.%0a> %0a18,24d12%0a%3c %0a%3c D chanmodes/delayjoin Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. Requires +o or higher %0a%3c Q chanmodes/nokick No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. %0a%3c V chanmodes/noinvite /INVITE is not permitted. %0a%3c %0a%3c %0a%3c Most measures to deal with abuse on IRC ban too many innocent users.%0a +host:1612093758=125.224.24.163 +author:1612093183=jrmu +diff:1612093183:1612092760:=12,17c12,16%0a%3c UnrealIRCd and InspIRCd do not solve spam problems intuitively. They use almost a hundred different flags to ban innocent users in almost a hundred different ways. IRCNow was only recently banned by inexperienced Unreal opers who, after giving us express permission to connect with an iline, the following day banned our IPs by accident for being proxies. From personal experience, channel ops have struggled to be able to administer their own channels because of the needlessly complex settings.%0a%3c %0a%3c %0a%3c 16:53 %3c~jrmu> and the blacklist overrode the iline%0a%3c %0a%3c all of which required sysadmins to be geniuses at memorization%0a---%0a> 16:51 %3c~jrmu> the main reason I chose this was because I saw unreal and inspircd%0a> 16:51 %3c~jrmu> and I was very very very upset with how they did it%0a> 16:51 %3c~jrmu> they had almost a hundred flags and almost a hundred different ways to %0a> ban innocent users%0a> 16:52 %3c~jrmu> all of which required sysadmins to be geniuses at memorization%0a19a19,26%0a> 16:52 %3c~jrmu> as we speak we get banned daily by accident by inexperienced unreal opers%0a> 16:52 %3c~jrmu> chatlatinos just banned us yesterday after giving us an iline%0a> 16:52 %3c~jrmu> they expressly gave us permission then banned us anyway%0a> 16:53 %3c~jrmu> they gave us an iline for our zncs%0a> 16:53 %3c~jrmu> and banned us by accident%0a> 16:53 %3c~jrmu> because they were trying to use all these blacklists that they didn't %0a> understand%0a> 16:53 %3c~jrmu> and the blacklist overrode the iline%0a +host:1612093183=125.224.24.163 +author:1612092760=jrmu +diff:1612092760:1612089578:=5,6c5,6%0a%3c Most networks today use a very simple and clumsy way of banning users. They do an IP address lookup and see if it's in an RBL, and if so they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs. For example, some residential ISPs are notorious for harboring spammers. As a result, the entire IP range has been blacklisted. If you try to connect to Freenode from a residential ISP, you are forced to install and authenticate using SASL:%0a%3c %0a---%0a> Most networks today use a very simple and clumsy way of banning users. They do an IP address lookup and see if it's in an RBL, and if so they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs. For example, jrmu's residential ISP is notorious for harboring spammers. As a result, the entire IP range has been blacklisted. If you try to connect to Freenode from a residential ISP, you are forced to install and authenticate using SASL:%0a> %0a10,11c10,23%0a%3c Some networks outright just ban the IP. So IP blacklists can be too draconian at times. Entire countries can be banned by blacklists simply because an ISP does not work hard to stop spammers and abusers. Too many innocent users will be banned by using existing IRC methods.%0a%3c %0a---%0a> This type of spam filtering is too%0a> %0a> 16:42 %3c~jrmu> freenode banned my entire country%0a> 16:42 %3c~jrmu> so I'm not exactly impressed with their blacklisting%0a> 16:42 %3c~jrmu> they required me to use SASL if I had a domestic IP%0a> 16:42 %3c~jrmu> it's not entirely their fault%0a> 16:42 %3c~jrmu> our country has a ton of spammers%0a> 16:43 %3c~jrmu> and the ISP didn't really do much to fix it%0a> 16:43 %3c~jrmu> that is our ISP provider%0a> 16:43 %3c~jrmu> it wasn't a hard block, it was one that forced you to use SASL to %0a> authenticate%0a> 16:43 %3c~jrmu> but anyway that's a massive pain%0a> 16:44 %3c~jrmu> if you think about it a more wholistic probability makes more sense anyway%0a> 16:45 %3c~jrmu> I'm trying to connect to freenode right now%0a27,29d38%0a%3c %0a%3c %0a%3c A more intelligent policy is to consider a user's fingerprints holistically and assign a statistical probability that he might be a spammer.%0a +host:1612092760=125.224.24.163 +author:1612089578=jrmu +diff:1612089578:1612087819:= +host:1612089578=125.224.24.163 +author:1612087819=jrmu +diff:1612087819:1612086042:=3,11d2%0a%3c !! Motivation%0a%3c %0a%3c Most networks today use a very simple and clumsy way of banning users. They do an IP address lookup and see if it's in an RBL, and if so they ban the user. This unfortunately ends up banning a lot of innocent users. Users behind VPNs and tor are often banned, as are users who have bad ISPs. For example, jrmu's residential ISP is notorious for harboring spammers. As a result, the entire IP range has been blacklisted. If you try to connect to Freenode from a residential ISP, you are forced to install and authenticate using SASL:%0a%3c %0a%3c 16:45 !cherryh.freenode.net *** Notice -- You need to identify via SASL to use this server%0a%3c 16:45 -!- ERROR Closing Link: 10.0.0.1.net (SASL access only)%0a%3c %0a%3c This type of spam filtering is too%0a%3c %0a23a15,20%0a> 16:45 %3c~jrmu> 16:45 !cherryh.freenode.net *** Notice -- You need to identify via SASL %0a> to use this server%0a> 16:46 -!- Irssi: Pasting 2 lines to #wheel. Press Ctrl-K if you wish to do this or %0a> Ctrl-C to cancel.%0a> 16:46 %3c~jrmu> 16:45 -!- ERROR Closing Link: 10.0.0.1.net (SASL access %0a> only)%0a +host:1612087819=125.224.24.163 +author:1612086042=jrmu +diff:1612086042:1601865020:=3,68d2%0a%3c 16:42 %3c~jrmu> freenode banned my entire country%0a%3c 16:42 %3c~jrmu> so I'm not exactly impressed with their blacklisting%0a%3c 16:42 %3c~jrmu> they required me to use SASL if I had a domestic IP%0a%3c 16:42 %3c~jrmu> it's not entirely their fault%0a%3c 16:42 %3c~jrmu> our country has a ton of spammers%0a%3c 16:43 %3c~jrmu> and the ISP didn't really do much to fix it%0a%3c 16:43 %3c~jrmu> that is our ISP provider%0a%3c 16:43 %3c~jrmu> it wasn't a hard block, it was one that forced you to use SASL to %0a%3c authenticate%0a%3c 16:43 %3c~jrmu> but anyway that's a massive pain%0a%3c 16:44 %3c~jrmu> if you think about it a more wholistic probability makes more sense anyway%0a%3c 16:45 %3c~jrmu> I'm trying to connect to freenode right now%0a%3c 16:45 %3c~jrmu> 16:45 !cherryh.freenode.net *** Notice -- You need to identify via SASL %0a%3c to use this server%0a%3c 16:46 -!- Irssi: Pasting 2 lines to #wheel. Press Ctrl-K if you wish to do this or %0a%3c Ctrl-C to cancel.%0a%3c 16:46 %3c~jrmu> 16:45 -!- ERROR Closing Link: 10.0.0.1.net (SASL access %0a%3c only)%0a%3c 16:51 %3c~jrmu> the main reason I chose this was because I saw unreal and inspircd%0a%3c 16:51 %3c~jrmu> and I was very very very upset with how they did it%0a%3c 16:51 %3c~jrmu> they had almost a hundred flags and almost a hundred different ways to %0a%3c ban innocent users%0a%3c 16:52 %3c~jrmu> all of which required sysadmins to be geniuses at memorization%0a%3c 16:52 %3c~jrmu> it didn't feel automatic at all, and required users to memorize a bunch %0a%3c of commands%0a%3c 16:52 %3c~jrmu> as we speak we get banned daily by accident by inexperienced unreal opers%0a%3c 16:52 %3c~jrmu> chatlatinos just banned us yesterday after giving us an iline%0a%3c 16:52 %3c~jrmu> they expressly gave us permission then banned us anyway%0a%3c 16:53 %3c~jrmu> they gave us an iline for our zncs%0a%3c 16:53 %3c~jrmu> and banned us by accident%0a%3c 16:53 %3c~jrmu> because they were trying to use all these blacklists that they didn't %0a%3c understand%0a%3c 16:53 %3c~jrmu> and the blacklist overrode the iline%0a%3c 16:54 %3c~jrmu> even for usrs%0a%3c 16:54 %3c~jrmu> even for users%0a%3c 16:54 %3c~jrmu> it's too confusing%0a%3c 16:54 %3c~jrmu> it depends what your goal is%0a%3c 16:54 %3c~jrmu> if you want to make a chat platform that requires nerds read manuals to %0a%3c use%0a%3c 16:54 %3c~jrmu> then inspircd and unreal are fine%0a%3c 16:55 %3c~jrmu> if you want to make a chat platform that normal people can use%0a%3c 16:55 %3c~jrmu> we have to do something more automatic%0a%3c 16:57 %3c~jrmu> my plan was more of a long-term project of fixing IRC to make it simpler%0a%3c 17:00 %3c~jrmu> the other thing you can take a look at BugzBunnyQussale is%0a%3c 17:00 %3c~jrmu> look at how bad the spam moderation is on freenode%0a%3c 17:00 %3c~jrmu> they basically had to force every channel to +R%0a%3c 17:00 %3c~jrmu> that costs freenode a lot of users%0a%3c 17:00 %3c~jrmu> the blacklisting by ip model is just not that great, in my opinion%0a%3c 17:01 %3c~jrmu> it's not necessarily freenode's fault but when you have a big network %0a%3c with >50,000 users and determined attackers%0a%3c 17:01 %3c~jrmu> you need a more intelligent approach to spam%0a%3c 17:01 %3c~jrmu> something probabilistic%0a%3c 17:08 %3c~jrmu> our network right now if I had to be honest with you%0a%3c 17:08 %3c~jrmu> is much more primitive than other networks%0a%3c 17:08 %3c~jrmu> because almost everything will be coded from new%0a%3c 17:09 %3c~jrmu> My philosophy is ``the sculptor can more easily carve a fair statue from %0a%3c a rough block, than from the block which has been badly shaped out by %0a%3c another''%0a%3c %0a%3c %0a%3c %0a%3c 16:41 %3c~jrmu> but basically the idea is to assign a spam probability score%0a%3c 16:41 %3c~jrmu> based on a large combination of factors like whether SSL is enabled, %0a%3c whether ident is enabled, whether rdns matches fcdns%0a%3c 16:41 %3c~jrmu> whether the IP is on a blacklist, whether the irc client replies to CTCP %0a%3c and whois requests%0a +host:1612086042=125.224.24.163 +author:1601865020=jrmu +diff:1601865020:1601865020:=1,2d0%0a%3c Statistical Open Proxy Monitor (STOPM)%0a%3c %0a +host:1601865020=38.81.163.143 blob - /dev/null blob + 743ee3700784ff17bec8d116851db7d154be1ebe (mode 644) --- /dev/null +++ wiki.d/StorkIM.Connect @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637307401 +host=38.87.162.8 +name=StorkIM.Connect +rev=3 +targets=Fdroid.Install,Xmpp.Xmpp +text=[[https://stork.im|StorkIM]] is a lightweight and powerful XMPP client for Android. StorkIM supports group chat, end-to-end encryption with OMEMO, and sending of photos.%0a%0a# To install StorkIM, first install [[Fdroid/Install|F-droid]]. Then download and install StorkIM:\\%0aAttach:storkim-fdroid.png%0a# Tap @@Install@@:\\%0aAttach:storkim-install.png%0a# Tap @@Allow@@:\\%0aAttach:storkim-allow.png%0a# Tap @@Create New Account@@:\\%0aAttach:storkim-home.png%0a# For @@Preferred domain name@@, see the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Tap @@Next@@:\\%0aAttach:storkim-createnewaccount.png%0a# Fill in your username and password, then tap @@Register@@:\\%0aAttach:storkim-usernamepassword.png%0a# Registration is complete:\\%0aAttach:storkim-contacts.png%0a +time=1637470994 +author:1637470994=jrmu +diff:1637470994:1637430534:=11,16c11,14%0a%3c # For @@Preferred domain name@@, see the list of [[xmpp/xmpp|free XMPP servers]]. In this example, we use @@ircnow.org@@. Tap @@Next@@:\\%0a%3c Attach:storkim-createnewaccount.png%0a%3c # Fill in your username and password, then tap @@Register@@:\\%0a%3c Attach:storkim-usernamepassword.png%0a%3c # Registration is complete:\\%0a%3c Attach:storkim-contacts.png%0a---%0a> # In @@Preferred domain name@@ See the list of free XMPP servers.%0a> Attach:storkim-createnewaccount.png\\%0a> Attach:storkim-usernamepassword.png\\%0a> Attach:storkim-contacts.png\\%0a +host:1637470994=38.87.162.8 +author:1637430534=jrmu +diff:1637430534:1637307401:=1,11c1,7%0a%3c [[https://stork.im|StorkIM]] is a lightweight and powerful XMPP client for Android. StorkIM supports group chat, end-to-end encryption with OMEMO, and sending of photos.%0a%3c %0a%3c # To install StorkIM, first install [[Fdroid/Install|F-droid]]. Then download and install StorkIM:\\%0a%3c Attach:storkim-fdroid.png%0a%3c # Tap @@Install@@:\\%0a%3c Attach:storkim-install.png%0a%3c # Tap @@Allow@@:\\%0a%3c Attach:storkim-allow.png%0a%3c # Tap @@Create New Account@@:\\%0a%3c Attach:storkim-home.png%0a%3c # In @@Preferred domain name@@ See the list of free XMPP servers.%0a---%0a> [[https://conversations.im/|Conversations]] is an XMPP client for Android 5.0+. that is free software (GPLv3 license). It makes it easy share images, video, and other files in your chat. It also supports group chat rooms, end-to-end encryption with [[OMEMO/Intro|OMEMO]] and OpenPGP, multi-device sync, and chat history.%0a> %0a> # To install StorkIM, first install [[Fdroid/Install|F-droid]]:\\%0a> Attach:storkim-fdroid.png\\%0a> Attach:storkim-install.png\\%0a> Attach:storkim-allow.png\\%0a> Attach:storkim-contacts.png\\%0a12a9%0a> Attach:storkim-home.png\\%0a14c11,16%0a%3c Attach:storkim-contacts.png\\%0a---%0a> # Open Conversations.%0a> # Tap @@Create new account@@:\\%0a> # Tap @@Use my own provider@@:\\%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a> # You can tap the avatar, or tap @@Skip@@.\\%0a> # Your account has been created!\\%0a +host:1637430534=38.87.162.8 +author:1637307401=jrmu +diff:1637307401:1637307401:=1,16d0%0a%3c [[https://conversations.im/|Conversations]] is an XMPP client for Android 5.0+. that is free software (GPLv3 license). It makes it easy share images, video, and other files in your chat. It also supports group chat rooms, end-to-end encryption with [[OMEMO/Intro|OMEMO]] and OpenPGP, multi-device sync, and chat history.%0a%3c %0a%3c # To install StorkIM, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:storkim-fdroid.png\\%0a%3c Attach:storkim-install.png\\%0a%3c Attach:storkim-allow.png\\%0a%3c Attach:storkim-contacts.png\\%0a%3c Attach:storkim-createnewaccount.png\\%0a%3c Attach:storkim-home.png\\%0a%3c Attach:storkim-usernamepassword.png\\%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a%3c # Tap @@Use my own provider@@:\\%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a%3c # Your account has been created!\\%0a +host:1637307401=38.87.162.8 blob - /dev/null blob + 3a0daba1135f6610052515cb76433ecb5d9546fd (mode 644) --- /dev/null +++ wiki.d/StorkIM.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637307401 +host=38.87.162.8 +name=StorkIM.RecentChanges +rev=3 +text=* [[StorkIM/Connect]] . . . November 21, 2021, at 05:03 AM by [[~jrmu]]: [==]%0a +time=1637470994 blob - /dev/null blob + d4893fe43751e80841b5012faec19a44f0907c56 (mode 644) --- /dev/null +++ wiki.d/Sylpheed.Connect @@ -0,0 +1,26 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=eh, forgot that "[" again +ctime=1628595628 +host=198.251.81.133 +name=Sylpheed.Connect +rev=4 +targets= +text=[[https://sylpheed.sraoss.jp|Sylpheed]] is a free email client for windows and UNIX-like systems.%0aif you need to connect from Sylpheed from windows, please install [[https://sylpheed.sraoss.jp/en/news.html|cert-update pack]].%0a%0aFirst time you open sylpheed, you will see the following:%0a%0aAttach:Sylpheed-account-type.png%0a%0aif you have made an account before, you can open this window from Configuration>Create New Account...%0a%0achoose IMAP 4.%0a%0a%0aAttach:Sylpheed-account-name.png%0a%0aNow enter your personal information, replace Display name with your name and replace email address with your email address. make sure to enable SSL on both IMAP server and SMTP server.%0a%0aAttach:Sylpheed-account-server.png%0a%0aput email address as your User ID, imap.ircnow.org as your imap server and smtp.ircnow.org as your email address.%0a%0aAttach:Sylpheed-account-done.png%0a%0aconfirm.%0a%0ayou are done, enter your password.%0a%0aAttach:Sylpheed-account-password.png +time=1628596215 +author:1628596215=mkf +csum:1628596215=eh, forgot that "[" again +diff:1628596215:1628596185:minor=2c2%0a%3c if you need to connect from Sylpheed from windows, please install [[https://sylpheed.sraoss.jp/en/news.html|cert-update pack]].%0a---%0a> if you need to connect from Sylpheed from windows, please install [https://sylpheed.sraoss.jp/en/news.html|cert-update pack]].%0a +host:1628596215=198.251.81.133 +author:1628596185=mkf +diff:1628596185:1628596050:minor=2c2%0a%3c if you need to connect from Sylpheed from windows, please install [https://sylpheed.sraoss.jp/en/news.html|cert-update pack]].%0a---%0a> if you need to connect from Sylpheed from windows, please install [https://sylpheed.sraoss.jp/en/news.html[|cert-update pack]].%0a +host:1628596185=198.251.81.133 +author:1628596050=mkf +diff:1628596050:1628595628:=15c15%0a%3c Now enter your personal information, replace Display name with your name and replace email address with your email address. make sure to enable SSL on both IMAP server and SMTP server.%0a---%0a> Now enter your personal information, replace Display name with your name and replace email address with your email address.%0a +host:1628596050=198.251.81.133 +author:1628595628=mkf +csum:1628595628=Hello Sylpheed :D +diff:1628595628:1628595628:=1,27d0%0a%3c [[https://sylpheed.sraoss.jp|Sylpheed]] is a free email client for windows and UNIX-like systems.%0a%3c if you need to connect from Sylpheed from windows, please install [https://sylpheed.sraoss.jp/en/news.html[|cert-update pack]].%0a%3c %0a%3c First time you open sylpheed, you will see the following:%0a%3c %0a%3c Attach:Sylpheed-account-type.png%0a%3c %0a%3c if you have made an account before, you can open this window from Configuration>Create New Account...%0a%3c %0a%3c choose IMAP 4.%0a%3c %0a%3c %0a%3c Attach:Sylpheed-account-name.png%0a%3c %0a%3c Now enter your personal information, replace Display name with your name and replace email address with your email address.%0a%3c %0a%3c Attach:Sylpheed-account-server.png%0a%3c %0a%3c put email address as your User ID, imap.ircnow.org as your imap server and smtp.ircnow.org as your email address.%0a%3c %0a%3c Attach:Sylpheed-account-done.png%0a%3c %0a%3c confirm.%0a%3c %0a%3c you are done, enter your password.%0a%3c %0a%3c Attach:Sylpheed-account-password.png%0a\ No newline at end of file%0a +host:1628595628=198.251.81.133 blob - /dev/null blob + ceec8ff02a383ed15be3ee3bb8a4e0e4f41e6650 (mode 644) --- /dev/null +++ wiki.d/Sylpheed.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1628595628 +host=198.251.81.133 +name=Sylpheed.RecentChanges +rev=4 +text=* [[Sylpheed/Connect]] . . . August 10, 2021, at 11:50 AM by [[~mkf]]: [=eh, forgot that "[" again=]%0a +time=1628596215 blob - /dev/null blob + 03fa335e23f5a437c9d844494de2803354b0a21c (mode 644) --- /dev/null +++ wiki.d/Synapse.Install @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 +author=miniontoby +charset=UTF-8 +csum=Created +ctime=1634050187 +host=77.168.188.164 +name=Synapse.Install +rev=1 +targets= +text=If you want to host a Matrix Server, then you are here on the right place.%0a%0a!! Options:%0a%0aThere are 2 options: %0a%0a# Use pkg_add (which I don't recommend, because it is likely going to fail)%0a# Install using pip%0a%0a%0a!! Option 2:%0a%0a!!! Create user:%0a%0aFirstly make the user called synapse, by using this command:%0a%0a[@$ doas adduser@]%0a%0aAnd fill in the fields like: %0a%0a[@login synapse%0apasswd *%0auid 1010%0agroups synapse%0achange NEVER%0aclass%0agecos synapse%0adir /home/synapse%0ashell /bin/ksh%0aexpire NEVER@]%0a%0aThen login into the user (ssh or su)%0a%0a!!! Install%0a%0aTo install the synapse:%0a%0a[@cd ~/%0amkdir -p ~/synapse%0apython3.8 -mvenv /home/synapse/synapse/env%0a. ~/synapse/env/bin/activate%0apip3.8 install --upgrade pip%0apip3.8 install --upgrade setuptools%0apip3.8 install matrix-synapse%0a@]%0a%0a!!! Create config%0a%0aTo make the config:%0a%0a[@cd ~/synapse%0apython -m synapse.app.homeserver \%0a --server-name my.domain.name \%0a --config-path homeserver.yaml \%0a --generate-config \%0a --report-stats=[yes|no]@]%0a%0a'+'''Make sure to edit homeserver.yaml'''+'%0a%0aAnd make the ssl certs and such... also open the tls port (8448) in the config file and on your firewall%0a%0a%0a!!! Start%0a%0aTo start the server:%0a%0a[@alias synctl="/usr/local/share/synapse/synctl"%0asynctl start@]%0a%0a%0a!!! Recommended%0a%0aRecommended to add this to the synapse account .profile file:%0a%0a[@%0astart_synapse(){%0a python3.8 -mvenv /home/synapse/synapse/env%0a export ENV="/home/synapse/synapse/env/bin/activate"%0a alias synctl="/usr/local/share/synapse/synctl"%0a synctl start%0a}%0a@]%0a%0aThen when you need to start the server, just execute: [@start_synapse@] %0a%0aP.s. only works when you have executed the .profile file...%0a%0a%0a!! Test%0a%0aUse element: [[https://app.element.io]] and try to connect%0a%0a +time=1634050187 +author:1634050187=miniontoby +csum:1634050187=Created +diff:1634050187:1634050187:=1,92d0%0a%3c If you want to host a Matrix Server, then you are here on the right place.%0a%3c %0a%3c !! Options:%0a%3c %0a%3c There are 2 options: %0a%3c %0a%3c # Use pkg_add (which I don't recommend, because it is likely going to fail)%0a%3c # Install using pip%0a%3c %0a%3c %0a%3c !! Option 2:%0a%3c %0a%3c !!! Create user:%0a%3c %0a%3c Firstly make the user called synapse, by using this command:%0a%3c %0a%3c [@$ doas adduser@]%0a%3c %0a%3c And fill in the fields like: %0a%3c %0a%3c [@login synapse%0a%3c passwd *%0a%3c uid 1010%0a%3c groups synapse%0a%3c change NEVER%0a%3c class%0a%3c gecos synapse%0a%3c dir /home/synapse%0a%3c shell /bin/ksh%0a%3c expire NEVER@]%0a%3c %0a%3c Then login into the user (ssh or su)%0a%3c %0a%3c !!! Install%0a%3c %0a%3c To install the synapse:%0a%3c %0a%3c [@cd ~/%0a%3c mkdir -p ~/synapse%0a%3c python3.8 -mvenv /home/synapse/synapse/env%0a%3c . ~/synapse/env/bin/activate%0a%3c pip3.8 install --upgrade pip%0a%3c pip3.8 install --upgrade setuptools%0a%3c pip3.8 install matrix-synapse%0a%3c @]%0a%3c %0a%3c !!! Create config%0a%3c %0a%3c To make the config:%0a%3c %0a%3c [@cd ~/synapse%0a%3c python -m synapse.app.homeserver \%0a%3c --server-name my.domain.name \%0a%3c --config-path homeserver.yaml \%0a%3c --generate-config \%0a%3c --report-stats=[yes|no]@]%0a%3c %0a%3c '+'''Make sure to edit homeserver.yaml'''+'%0a%3c %0a%3c And make the ssl certs and such... also open the tls port (8448) in the config file and on your firewall%0a%3c %0a%3c %0a%3c !!! Start%0a%3c %0a%3c To start the server:%0a%3c %0a%3c [@alias synctl="/usr/local/share/synapse/synctl"%0a%3c synctl start@]%0a%3c %0a%3c %0a%3c !!! Recommended%0a%3c %0a%3c Recommended to add this to the synapse account .profile file:%0a%3c %0a%3c [@%0a%3c start_synapse(){%0a%3c python3.8 -mvenv /home/synapse/synapse/env%0a%3c export ENV="/home/synapse/synapse/env/bin/activate"%0a%3c alias synctl="/usr/local/share/synapse/synctl"%0a%3c synctl start%0a%3c }%0a%3c @]%0a%3c %0a%3c Then when you need to start the server, just execute: [@start_synapse@] %0a%3c %0a%3c P.s. only works when you have executed the .profile file...%0a%3c %0a%3c %0a%3c !! Test%0a%3c %0a%3c Use element: [[https://app.element.io]] and try to connect%0a%3c %0a +host:1634050187=77.168.188.164 blob - /dev/null blob + f844df4984219530aacd77b858e36bb07e9be25f (mode 644) --- /dev/null +++ wiki.d/Synapse.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 +charset=UTF-8 +ctime=1634050187 +host=77.168.188.164 +name=Synapse.RecentChanges +rev=1 +text=* [[Synapse/Install]] . . . October 12, 2021, at 02:49 PM by [[~miniontoby]]: [=Created=]%0a +time=1634050187 blob - /dev/null blob + 0a32386d3b95499cd36a7882ed62f807b81dedbf (mode 644) --- /dev/null +++ wiki.d/Syslogd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627657951 +host=38.87.162.8 +name=Syslogd.RecentChanges +rev=7 +text=* [[Syslogd/Remote]] . . . July 30, 2021, at 03:30 PM by [[~jrmu]]: [==]%0a +time=1627659039 blob - /dev/null blob + 2bb236141beab224bb00cf83d8059077254475b3 (mode 644) --- /dev/null +++ wiki.d/Syslogd.Remote @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627657951 +host=38.87.162.8 +name=Syslogd.Remote +rev=7 +targets= +text=On the host:%0a%0a[@%0a$ doas rcctl set syslogd flags -S host.example.com:55106 -K /etc/ssl/cert.pem%0a@]%0a%0aOn the client:%0a%0a[@%0a$ doas rcctl set syslogd flags -c /etc/ssl/client.example.com.fullchain.pem -k /etc/ssl/private/client.example.com.key%0a@]%0a%0aIn /etc/syslog.conf:%0a%0a[@%0a*.notice;auth,authpriv,cron,ftp,kern,lpr,mail,user.none @tls4://host.example.com:55106%0aauth,daemon,syslog,user.info;authpriv,kern.debug @tls4://host.example.com:55106%0a@]%0a +time=1627659039 +author:1627659039=jrmu +diff:1627659039:1627658688:=4c4%0a%3c $ doas rcctl set syslogd flags -S host.example.com:55106 -K /etc/ssl/cert.pem%0a---%0a> $ doas rcctl set syslogd flags -d -S host.example.com:55106 -K /etc/ssl/cert.pem%0a10c10%0a%3c $ doas rcctl set syslogd flags -c /etc/ssl/client.example.com.fullchain.pem -k /etc/ssl/private/client.example.com.key%0a---%0a> $ doas rcctl set syslogd flags -d -c /etc/ssl/client.example.com.fullchain.pem -k /etc/ssl/private/client.example.com.key%0a +host:1627659039=38.87.162.8 +author:1627658688=jrmu +diff:1627658688:1627658273:=16,17c16,17%0a%3c *.notice;auth,authpriv,cron,ftp,kern,lpr,mail,user.none @tls4://host.example.com:55106%0a%3c auth,daemon,syslog,user.info;authpriv,kern.debug @tls4://host.example.com:55106%0a---%0a> *.notice;auth,authpriv,cron,ftp,kern,lpr,mail,user.none @tls4://host.example.com:12345%0a> auth,daemon,syslog,user.info;authpriv,kern.debug @tls4://host.example.com:12345%0a +host:1627658688=38.87.162.8 +author:1627658273=jrmu +diff:1627658273:1627658187:=10,17c10%0a%3c $ doas rcctl set syslogd flags -d -c /etc/ssl/client.example.com.fullchain.pem -k /etc/ssl/private/client.example.com.key%0a%3c @]%0a%3c %0a%3c In /etc/syslog.conf:%0a%3c %0a%3c [@%0a%3c *.notice;auth,authpriv,cron,ftp,kern,lpr,mail,user.none @tls4://host.example.com:12345%0a%3c auth,daemon,syslog,user.info;authpriv,kern.debug @tls4://host.example.com:12345%0a---%0a> $ doas rcctl set syslogd flags -d -c /etc/ssl/ircnow.org.fullchain.pem -k /etc/ssl/private/ircnow.org.key%0a +host:1627658273=38.87.162.8 +author:1627658187=jrmu +diff:1627658187:1627658087:=4c4%0a%3c $ doas rcctl set syslogd flags -d -S host.example.com:55106 -K /etc/ssl/cert.pem%0a---%0a> doas rcctl set syslogd flags -d -S host.example.com:55106 -K /etc/ssl/cert.pem%0a8,11d7%0a%3c %0a%3c [@%0a%3c $ doas rcctl set syslogd flags -d -c /etc/ssl/ircnow.org.fullchain.pem -k /etc/ssl/private/ircnow.org.key%0a%3c @]%0a +host:1627658187=38.87.162.8 +author:1627658087=jrmu +diff:1627658087:1627658007:=1,7c1%0a%3c On the host:%0a%3c %0a%3c [@%0a%3c doas rcctl set syslogd flags -d -S host.example.com:55106 -K /etc/ssl/cert.pem%0a%3c @]%0a%3c %0a%3c On the client:%0a---%0a> doas rcctl set syslogd flags -d -S client.example.com:55106 -K /etc/ssl/cert.pem%0a +host:1627658087=38.87.162.8 +author:1627658007=jrmu +diff:1627658007:1627657951:=1c1%0a%3c doas rcctl set syslogd flags -d -S client.example.com:55106 -K /etc/ssl/cert.pem%0a---%0a> doas rcctl set syslogd flags -d -S client.example.com:515106 -K /etc/ssl/cert.pem%0a +host:1627658007=38.87.162.8 +author:1627657951=jrmu +diff:1627657951:1627657951:=1d0%0a%3c doas rcctl set syslogd flags -d -S client.example.com:515106 -K /etc/ssl/cert.pem%0a +host:1627657951=38.87.162.8 blob - /dev/null blob + 3f0738ac21579e45f03ba5804396f31fd6d1a020 (mode 644) --- /dev/null +++ wiki.d/Syspatch.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1621222362 +host=38.81.163.143 +name=Syspatch.RecentChanges +rev=3 +text=* [[Syspatch/Syspatch]] . . . June 10, 2021, at 04:23 AM by [[~jrmu]]: [==]%0a +time=1623298989 blob - /dev/null blob + 651ad50955520b30ad2f17b9aa6778da79575377 (mode 644) --- /dev/null +++ wiki.d/Syspatch.Syspatch @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1621222362 +host=38.81.163.143 +name=Syspatch.Syspatch +rev=3 +targets= +text=(:title syspatch:)%0a%0a[[https://man.openbsd.org/syspatch|syspatch]] helps provide binary patches to OpenBSD. It brings your system up-to-date from -release to -stable. These patches do not include feature updates and should be safe to apply to production servers immediately.%0a%0a[@%0a$ doas syspatch%0a@]%0a%0aSystem patching can be automated by setting up a cronjob:%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAt the bottom, add this line:%0a%0a[@%0a~ * * * * /usr/sbin/syspatch%0a@]%0a%0aA random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system.%0a +time=1623298989 +title=syspatch +author:1623298989=jrmu +diff:1623298989:1622782926:=18c18%0a%3c ~ * * * * /usr/sbin/syspatch%0a---%0a> 0 * * * * sleep $((RANDOM %25 43200)) && /usr/sbin/syspatch%0a21c21%0a%3c A random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system.%0a---%0a> A random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system.%0a\ No newline at end of file%0a +host:1623298989=38.81.163.143 +author:1622782926=jrmu +diff:1622782926:1621222362:=3,21c3,7%0a%3c [[https://man.openbsd.org/syspatch|syspatch]] helps provide binary patches to OpenBSD. It brings your system up-to-date from -release to -stable. These patches do not include feature updates and should be safe to apply to production servers immediately.%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c System patching can be automated by setting up a cronjob:%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c At the bottom, add this line:%0a%3c %0a%3c [@%0a%3c 0 * * * * sleep $((RANDOM %25 43200)) && /usr/sbin/syspatch%0a%3c @]%0a%3c %0a%3c A random sleep has been added to ensure that the update starts at a unique time. This prevents all machines from running the exact same job at the exact same time, which would slow down the system.%0a\ No newline at end of file%0a---%0a> [[https://man.openbsd.org/syspatch|syspatch(8)]] updates the binaries in your OpenBSD installation with security and stability patches. In the jargon of OpenBSD's release schedule, you are bringing your system up-to-date from -release to -stable. These patches do not include feature updates and are intended to be safe to apply to production environments immediately.%0a> %0a> !!Usage%0a> %0a> Simply run [@ doas syspatch @], and wait for the binaries to download. Then, you must run [[https://man.openbsd.org/sysmerge|sysmerge(8)]] to merge the patches into your system. This will likely result in having to manually resolve configuration file conflicts. Read each version of each file carefully, and ensure that nothing in current use is lost. Further information can be found in the relevant man pages.%0a\ No newline at end of file%0a +host:1622782926=125.231.28.9 +author:1621222362=bejelentkezni +diff:1621222362:1621222362:=1,7d0%0a%3c (:title syspatch:)%0a%3c %0a%3c [[https://man.openbsd.org/syspatch|syspatch(8)]] updates the binaries in your OpenBSD installation with security and stability patches. In the jargon of OpenBSD's release schedule, you are bringing your system up-to-date from -release to -stable. These patches do not include feature updates and are intended to be safe to apply to production environments immediately.%0a%3c %0a%3c !!Usage%0a%3c %0a%3c Simply run [@ doas syspatch @], and wait for the binaries to download. Then, you must run [[https://man.openbsd.org/sysmerge|sysmerge(8)]] to merge the patches into your system. This will likely result in having to manually resolve configuration file conflicts. Read each version of each file carefully, and ensure that nothing in current use is lost. Further information can be found in the relevant man pages.%0a\ No newline at end of file%0a +host:1621222362=184.99.100.20 blob - /dev/null blob + ef561aa372ca29b4b91085f9d0794da743e11f69 (mode 644) --- /dev/null +++ wiki.d/Tcpip.Overview @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613300552 +host=198.251.81.119 +name=Tcpip.Overview +rev=1 +targets= +text=(:title TCP/IP Overview:)%0a%0aEvery computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%0a'''TCP''' is used when we need to send data in a '''reliable''' way. For example, email uses TCP because every word in a letter is important. '''UDP''' is used when some data loss is acceptable and '''speed''' is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%0aIP is used to carry packets of information. Inside those packets, we have different data that follows different protocols depending upon the application. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%0aTCP/IP relies on client-server architecture. One side will act as the '''server''', and another side the '''client'''. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a%0a!! IP Addresses%0a%0aEach computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%0aEvery client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, suppose you send a request to a web server with IP 192.168.0.1 on port 443 using TCP. If the web server is instead listening on a different socket (IP 192.168.0.1 port 80 using TCP), the web server will '''not''' to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP address, port, or protocol type is wrong, the client-server connection will not work.%0a%0aIP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a%0aServers sometimes ask you to '''bind''' to an IP address. This means that the server will listen and send packets using only that IP address. This can be important if your server has multiple IP addresses it can choose from; you may only want to use one for your server.%0a%0a!! Subnets%0a%0aIPv4 addresses are written as four numbers separated by periods (dotted-quad notation). They are, however, stored on the computer using binary. For example, 192.168.0.1 in binary could be represented as 11000000.10101000.00000000.00000001. Each IPv4 address can be separated into a '''subnet identifier''' and a '''host identifier'''.%0a%0aThe Internet has billions of computers on it, so it is helpful to be able to divide all these computers into smaller subnetworks, or '''subnets''' for short. Once we group up all the computers into subnets, it will make it much easier to find a subnet, and then to find a computer inside the subnet. Routers use this in order to help with routing (delivering) packets to the right place.%0a%0aSuppose the first 24 bits of the IPv4 address are part of the subnet identifier. We would indicate this by adding /24 at the end of the IPv4 address: 192.168.0.1/24. This tells us that the first 24 bits of the IPv4 address indicate what subnet the address is a part of; and that the last 8 bits indicate the device on the subnet.%0a%0aComputers often use bitmasks in order to quickly calculate the subnet identifier and the host identifier. The '''subnet mask''' is basically a number where all the binary digits of the subnet are 1s, and the rest are 0s. So a /24 subnet mask could be described in three ways. In binary, it would be 11111111.11111111.11111111.00000000. In dotted-quad notation, it is 255.255.255.0. In hexadecimal, it is 0xffffff00. You will find this information very valuable later when you configure your network interface's subnet mask and default gateway.%0a%0a!! Special Addresses%0a%0aSome IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses. This address refers to your current computer itself. Instead of using the network to connect to another computer, you use the network to connect to yourself. Using a loopback address helps you test a network service without having to use the Internet. For example, you might install a web server and then view it locally by visiting http://127.0.0.1.%0a%0aNotice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a%0aThere are a few other reserved IP addresses you should also be aware of. For example, 192.0.0.0/24 refers to a private network that is not connected to the Internet. For this reason, an IP address like 192.168.0.1 can '''never''' be used for a public Internet service. +time=1613300552 +title=TCP/IP Overview +author:1613300552=jrmu +diff:1613300552:1613300552:=1,37d0%0a%3c (:title TCP/IP Overview:)%0a%3c %0a%3c Every computer on the internet uses the Internet Protocol (IP). There are two protocols that are added on top of IP: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).%0a%3c %0a%3c '''TCP''' is used when we need to send data in a '''reliable''' way. For example, email uses TCP because every word in a letter is important. '''UDP''' is used when some data loss is acceptable and '''speed''' is the most important. For example, audio phone calls use UDP because losing a few datagrams hurts sound quality only slightly. You can learn more about common applications, their protocols, and their ports by viewing /etc/services.%0a%3c %0a%3c IP is used to carry packets of information. Inside those packets, we have different data that follows different protocols depending upon the application. Common applications include SMTP for email, FTP for uploading/downloading files, SSH for remotely connecting to computers, HTTP for the world wide web, IRC for text messages and chat, and so on.%0a%3c %0a%3c TCP/IP relies on client-server architecture. One side will act as the '''server''', and another side the '''client'''. The client requests information, and the server delivers it. For example, if you use your phone to view a video, your phone is the client, and the server is in a data center. The server is often an expensive machine with a fast internet connection, but not always. Any computer running the right software can act as a server. For example, your home desktop PC could run an IRC server and serve chat messages which your phone could request. In fact, even your phone can run a web server and deliver web pages to other desktop PCs, which would become clients. There is no physical definition of a server; the only definition is that the client requests information and the server responds to it. %0a%3c %0a%3c !! IP Addresses%0a%3c %0a%3c Each computer has at least one network interface to connect it with the global Internet. Each network interface will have at least one IP address, which will look something like 192.168.0.1. Each IP address can have any number of ports starting from 1 to 65535. When you combine an IP address with a port, you have a '''socket'''. For example, 192.168.0.1:443 is the socket that your web server (openhttpd) listens on.%0a%3c %0a%3c Every client must specify a unique socket with a specific protocol, and the server must listen on that exact same combination in order to respond. For example, suppose you send a request to a web server with IP 192.168.0.1 on port 443 using TCP. If the web server is instead listening on a different socket (IP 192.168.0.1 port 80 using TCP), the web server will '''not''' to respond. Port 443 is not the same as port 80. Both the socket and protocol must be identical. If the IP address, port, or protocol type is wrong, the client-server connection will not work.%0a%3c %0a%3c IP addresses are not physically bound to any hardware device. A hardware device can easily change its IP address. As a result, when routing packets, it becomes necessary to know which networking interface an IP address is actually referring to. This is where ethernet MAC addresses often come in. MAC addresses are a unique 48-bit identifier which uniquely identify network interfaces on hardware. They are usually written in hexadecimal (such as 01:23:45:67:89:ab).%0a%3c %0a%3c Servers sometimes ask you to '''bind''' to an IP address. This means that the server will listen and send packets using only that IP address. This can be important if your server has multiple IP addresses it can choose from; you may only want to use one for your server.%0a%3c %0a%3c !! Subnets%0a%3c %0a%3c IPv4 addresses are written as four numbers separated by periods (dotted-quad notation). They are, however, stored on the computer using binary. For example, 192.168.0.1 in binary could be represented as 11000000.10101000.00000000.00000001. Each IPv4 address can be separated into a '''subnet identifier''' and a '''host identifier'''.%0a%3c %0a%3c The Internet has billions of computers on it, so it is helpful to be able to divide all these computers into smaller subnetworks, or '''subnets''' for short. Once we group up all the computers into subnets, it will make it much easier to find a subnet, and then to find a computer inside the subnet. Routers use this in order to help with routing (delivering) packets to the right place.%0a%3c %0a%3c Suppose the first 24 bits of the IPv4 address are part of the subnet identifier. We would indicate this by adding /24 at the end of the IPv4 address: 192.168.0.1/24. This tells us that the first 24 bits of the IPv4 address indicate what subnet the address is a part of; and that the last 8 bits indicate the device on the subnet.%0a%3c %0a%3c Computers often use bitmasks in order to quickly calculate the subnet identifier and the host identifier. The '''subnet mask''' is basically a number where all the binary digits of the subnet are 1s, and the rest are 0s. So a /24 subnet mask could be described in three ways. In binary, it would be 11111111.11111111.11111111.00000000. In dotted-quad notation, it is 255.255.255.0. In hexadecimal, it is 0xffffff00. You will find this information very valuable later when you configure your network interface's subnet mask and default gateway.%0a%3c %0a%3c !! Special Addresses%0a%3c %0a%3c Some IPv4 addresses have special meaning. IP addresses from 127.0.0.0 to 127.255.255.255 are loopback addresses. This address refers to your current computer itself. Instead of using the network to connect to another computer, you use the network to connect to yourself. Using a loopback address helps you test a network service without having to use the Internet. For example, you might install a web server and then view it locally by visiting http://127.0.0.1.%0a%3c %0a%3c Notice that we can rewrite this address range more compactly by using 127.0.0.0/8. Here, we are referring to the entire subnet where the first 8 bits are the same as in the IPv4 address 127.0.0.0.%0a%3c %0a%3c There are a few other reserved IP addresses you should also be aware of. For example, 192.0.0.0/24 refers to a private network that is not connected to the Internet. For this reason, an IP address like 192.168.0.1 can '''never''' be used for a public Internet service.%0a\ No newline at end of file%0a +host:1613300552=198.251.81.119 blob - /dev/null blob + 943bfe3b31f15a24e17022b9aefe201ae0f50677 (mode 644) --- /dev/null +++ wiki.d/Tcpip.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613300552 +host=198.251.81.119 +name=Tcpip.RecentChanges +rev=1 +text=* [[Tcpip/Overview]] . . . February 14, 2021, at 11:02 AM by [[~jrmu]]: [==]%0a +time=1613300552 blob - /dev/null blob + 223b2587a45c2c3bc77a727ca5c4413147ff7a28 (mode 644) --- /dev/null +++ wiki.d/Team.Policy @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612450691 +host=198.251.81.119 +name=Team.Policy +rev=8 +targets=Freedom.Federation,Ircnow.Team,Openbsd.Training,Third.Third,Ircnow.Constitution +text=IRCNow is a [[freedom/federation|federation]]. Each server governs itself.%0a%0aEach server picks its own staff:%0a%0a# Your team is encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a# Your team should interview trainees and get to know them to see if they are trustworthy%0a# Your team chooses whether to ask trainees for a resume, legal name, or phone number%0a%0aEach server chooses its own services:%0a# Your team decides whether to host web, bouncers, mail, bots, games...%0a# Your team decides which [[third/third|third party services]] it wants to provide%0a%0aEach server sets its own policies:%0a# Please create a terms of service and a privacy policy%0a# Your team decides how to ban users and your censorship policy%0a%0aEach server manages its own money:%0a# Your team sets up its own payment gateway (eg Paypal, Skrill, Patreon)%0a# Your team sets up its own cryptocurrency wallet%0a# Your team registers as its own business or non-profit organization%0a# Your team collects its own donations and revenues and manages them%0a# Your team will pay for its own expenses%0a# Your team can choose how to pay salaries%0a# If our network needs money to pay for common expenses like software development, we vote for it in Congress%0a# We ask each server to account for all revenues and expenses so that our network has transparency about how much each team earns and spends.%0a%0aEach server participates in elections:%0a# Each server must eventually allow users to vote%0a# In the future, each server will vote for president.%0a%0aEach server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]], which is modeled after the US constitution.%0a%0aWe unite together to provide one common, strong network. +time=1612454920 +author:1612454920=jrmu +diff:1612454920:1612454722:=1,2c1,2%0a%3c IRCNow is a [[freedom/federation|federation]]. Each server governs itself.%0a%3c %0a---%0a> IRCNow is a federation of self-governing servers.%0a> %0a10,12c10,12%0a%3c # Your team decides whether to host web, bouncers, mail, bots, games...%0a%3c # Your team decides which [[third/third|third party services]] it wants to provide%0a%3c %0a---%0a> # Your team decides whether to host web, bouncers, mail, bots, ...%0a> # %0a> %0a16a17,18%0a> Each server registers its own business:%0a> %0a33c35%0a%3c We unite together to provide one common, strong network.%0a\ No newline at end of file%0a---%0a> its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a +host:1612454920=198.251.81.119 +author:1612454722=jrmu +diff:1612454722:1612454619:=27,28c27%0a%3c # We ask each server to account for all revenues and expenses so that our network has transparency about how much each team earns and spends.%0a%3c %0a---%0a> %0a33a33,36%0a> %0a> %0a> We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a> %0a +host:1612454722=198.251.81.119 +author:1612454619=jrmu +diff:1612454619:1612454366:=5,8c5,8%0a%3c # Your team is encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a%3c # Your team should interview trainees and get to know them to see if they are trustworthy%0a%3c # Your team chooses whether to ask trainees for a resume, legal name, or phone number%0a%3c %0a---%0a> # You are encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a> # You should interview trainees and get to know them to see if they are trustworthy%0a> # You choose whether to ask them for a resume, legal name, or phone number%0a> %0a10,12c10,12%0a%3c # Your team decides whether to host web, bouncers, mail, bots, ...%0a%3c # %0a%3c %0a---%0a> %0a> its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a> %0a20,27c20,24%0a%3c # Your team sets up its own payment gateway (eg Paypal, Skrill, Patreon)%0a%3c # Your team sets up its own cryptocurrency wallet%0a%3c # Your team registers as its own business or non-profit organization%0a%3c # Your team collects its own donations and revenues and manages them%0a%3c # Your team will pay for its own expenses%0a%3c # Your team can choose how to pay salaries%0a%3c # If our network needs money to pay for common expenses like software development, we vote for it in Congress%0a%3c %0a---%0a> # Please set up a payment gateway for your team (eg Paypal, Skrill, Patreon)%0a> # Please set up a cryptocurrency wallet for your team%0a> # Please register as a business or non-profit organization in your team's country%0a> # You collect your own donations and revenues and manage them for your team%0a> %0a32,34c29,31%0a%3c Each server on the network will be bound by the [[ircnow/constitution|IRCNow Constitution]], which is modeled after the US constitution.%0a%3c %0a%3c %0a---%0a> In the future, each server on the network will be bound by the IRCNow Constitution. IRCNow's governance is modeled after the US constitution and its principles of government. This network exists for the public interest, to promote liberty and justice on the Internet. %0a> Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a> %0a37,38d33%0a%3c %0a%3c its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a +host:1612454619=198.251.81.119 +author:1612454366=jrmu +diff:1612454366:1612454026:=7c7%0a%3c # You choose whether to ask them for a resume, legal name, or phone number%0a---%0a> # You%0a +host:1612454366=198.251.81.119 +author:1612454026=jrmu +diff:1612454026:1612453945:=25,28c25%0a%3c Each server participates in elections:%0a%3c # Each server must eventually allow users to vote%0a%3c # In the future, each server will vote for president.%0a%3c %0a---%0a> In the future, each server will vote for president.%0a33a31%0a> To ensure the network is controlled by the users, each server must eventually have some form of elections.%0a +host:1612454026=198.251.81.119 +author:1612453945=jrmu +diff:1612453945:1612453658:=14,16c14%0a%3c # Please create a terms of service and a privacy policy%0a%3c # Your team decides how to ban users and your censorship policy%0a%3c %0a---%0a> %0a20,25c18,22%0a%3c # Please set up a payment gateway for your team (eg Paypal, Skrill, Patreon)%0a%3c # Please set up a cryptocurrency wallet for your team%0a%3c # Please register as a business or non-profit organization in your team's country%0a%3c # You collect your own donations and revenues and manage them for your team%0a%3c %0a%3c In the future, each server will vote for president.%0a---%0a> # %0a> %0a> %0a> %0a> %0a26a24,26%0a> %0a> Each server governs itself. financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a> %0a +host:1612453945=198.251.81.119 +author:1612453658=jrmu +diff:1612453658:1612450691:=1,26c1,2%0a%3c IRCNow is a federation of self-governing servers.%0a%3c %0a%3c Each server picks its own staff:%0a%3c %0a%3c # You are encouraged to recruit [[ircnow/team|your own teammates]] and [[openbsd/training|train them]]%0a%3c # You should interview trainees and get to know them to see if they are trustworthy%0a%3c # You%0a%3c %0a%3c Each server chooses its own services:%0a%3c %0a%3c its own services, has its own staff, writes its own policies, and manages its own money. Each server governs itself. We unite together to provide a strong, united network; to work on software development; and to aid one another against outside threats.%0a%3c %0a%3c Each server sets its own policies:%0a%3c %0a%3c Each server registers its own business:%0a%3c %0a%3c Each server manages its own money:%0a%3c # %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c In the future, each server on the network will be bound by the IRCNow Constitution. IRCNow's governance is modeled after the US constitution and its principles of government. This network exists for the public interest, to promote liberty and justice on the Internet. %0a%3c %0a%3c Each server governs itself. financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a---%0a> Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a> %0a29,31c5%0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a%3c %0a%3c To ensure the network is controlled by the users, each server must eventually have some form of elections.%0a---%0a> We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1612453658=198.251.81.119 +author:1612450691=jrmu +diff:1612450691:1612450691:=1,5d0%0a%3c Each server is semi-independent financially. Each server registers a business or non profit organization in its own country. It registers a bank account and some form of payment processor (eg, PayPal, Skrill, Patreon, Authorize.net) or sets up its own cryptocurrency wallet. It collects its own donations and revenues.%0a%3c %0a%3c Each team controls its own income and expenses and pays its own salaries. The money is not handled by the network directly. Instead. it goes to each team's account. When the network needs money, the teams later vote to voluntarily collect it as a team to fund common expenses like software development and networking infrastructure.%0a%3c %0a%3c We do ask that each server provide an accounting of all bank transactions, so that we have transparency about how much each team earns and spends. Providing an account transaction ledger is enough.%0a\ No newline at end of file%0a +host:1612450691=198.251.81.119 blob - /dev/null blob + 806c902b8082a714c9a3aa143b4b0e748e50ab15 (mode 644) --- /dev/null +++ wiki.d/Team.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1596254597 +host=198.251.81.119 +name=Team.RecentChanges +rev=13 +text=* [[Team/Policy]] . . . February 04, 2021, at 04:08 PM by [[~jrmu]]: [==]%0a* [[Team/Team]] . . . August 03, 2020, at 12:36 PM by [[~jrmu]]: [==]%0a* [[Team/Vps]] . . . August 01, 2020, at 04:03 AM by [[~jrmu]]: [==]%0a +time=1612454920 blob - /dev/null blob + 261695f17a93b344ad62793f7c861bf7b2cbfb1a (mode 644) --- /dev/null +++ wiki.d/Team.Team,del-1596458160 @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596254678 +host=38.81.163.143 +name=Team.Team +rev=3 +targets=Ircnow.Servers,Team.Vps +text=Want to contact us? The best way is [[ircnow/servers|using IRC]], of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL.%0a%0aIRCNow is applying to be a not-for-profit organization.%0a%0aUS Phone Number: 1(458)888-2063%0a%0aBusiness Mailing Address: PO Box 35-48 Taichung 40699%0a%0aCustomer Support Email: //support//**(a)**//ircnow//.org%0a%0aAdmin Email: //admin//**(a)**//ircnow//.org%0a%0aAbuse Email: //abuse//**(a)**//ircnow//.org%0a%0a[[team/vps|VPS Plans]] +time=1596257300 +author:1596257300=jrmu +diff:1596257300:1596257286:=4d3%0a%3c %0a6d4%0a%3c %0a8d5%0a%3c %0a10d6%0a%3c %0a12d7%0a%3c %0a +host:1596257300=38.81.163.143 +author:1596257286=jrmu +diff:1596257286:1596254678:=1,9d0%0a%3c Want to contact us? The best way is [[ircnow/servers|using IRC]], of course! Join our network at irc.ircnow.org port 6667 for plaintext and 6697 for SSL.%0a%3c %0a%3c IRCNow is applying to be a not-for-profit organization.%0a%3c US Phone Number: 1(458)888-2063%0a%3c Business Mailing Address: PO Box 35-48 Taichung 40699%0a%3c Customer Support Email: //support//**(a)**//ircnow//.org%0a%3c Admin Email: //admin//**(a)**//ircnow//.org%0a%3c Abuse Email: //abuse//**(a)**//ircnow//.org%0a%3c %0a +host:1596257286=38.81.163.143 +author:1596254678=jrmu +diff:1596254678:1596254678:=1d0%0a%3c [[team/vps|VPS Plans]]%0a\ No newline at end of file%0a +host:1596254678=38.81.163.143 blob - /dev/null blob + c802e251333d1dedaa24623d9dc566f9137e6aee (mode 644) --- /dev/null +++ wiki.d/Team.Vps @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596254597 +host=38.81.163.143 +name=Team.Vps +rev=1 +targets= +text=Proposed VPS Pricing Plans:%0a%0a^ $4/month ^ $8/month ^ $16/month ^%0a| 1GB RAM | 2GB RAM | 4GB RAM |%0a| 10GB SSD | 20GB SSD | 40GB SSD |%0a| 1 IPv4 Address | 1 IPv4 Address | 1 IPv4 Address |%0a| IPv6 /64 subnet | IPv6 /64 subnet | IPv6 /64 subnet |%0a| 100Mbps sustained | 20Mbps sustained | 40Mbps sustained |%0a| 100Mbps burst | 100Mbps burst | 100Mbps burst |%0a%0aEach additional IPv4 address costs $2/month. Additional 100GB of HDD costs $1/month. A DDoS filtered IP costs an additional $5/month.%0a%0aAll plans include free backups, live IRC and email support, community wikis/videos, and mentorship.%0a%0aAt first we will only support OpenBSD, but we plan to eventually include support for all BSDs and Linux operating systems. +time=1596254597 +author:1596254597=jrmu +diff:1596254597:1596254597:=1,15d0%0a%3c Proposed VPS Pricing Plans:%0a%3c %0a%3c ^ $4/month ^ $8/month ^ $16/month ^%0a%3c | 1GB RAM | 2GB RAM | 4GB RAM |%0a%3c | 10GB SSD | 20GB SSD | 40GB SSD |%0a%3c | 1 IPv4 Address | 1 IPv4 Address | 1 IPv4 Address |%0a%3c | IPv6 /64 subnet | IPv6 /64 subnet | IPv6 /64 subnet |%0a%3c | 100Mbps sustained | 20Mbps sustained | 40Mbps sustained |%0a%3c | 100Mbps burst | 100Mbps burst | 100Mbps burst |%0a%3c %0a%3c Each additional IPv4 address costs $2/month. Additional 100GB of HDD costs $1/month. A DDoS filtered IP costs an additional $5/month.%0a%3c %0a%3c All plans include free backups, live IRC and email support, community wikis/videos, and mentorship.%0a%3c %0a%3c At first we will only support OpenBSD, but we plan to eventually include support for all BSDs and Linux operating systems.%0a\ No newline at end of file%0a +host:1596254597=38.81.163.143 blob - /dev/null blob + 48318c5173ca4f450c783c11a7e172d23e6c834d (mode 644) --- /dev/null +++ wiki.d/Telnet.Http @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614089897 +host=38.87.162.47 +name=Telnet.Http +rev=4 +targets= +text=[@%0a$ telnet example.com 80%0aGET /index.html HTTP/1.1%0aHost: example.com%0a@]%0a%0athen, press enter key twice.%0aYou should a response similar to the one below:%0a%0a[@%0aHTTP/1.0 302 Found%0aDate: Tue, 23 Feb 2021 14:01:28 GMT%0aOpenBSD httpd%0aConnection: close%0aContent-Type: text/html%0aContent-Length: 486%0aLocation: https://example.com/index.html%0a%0a%3c!DOCTYPE html>%0a%3chtml> %0a%3chead>%0a%3cmeta charset="utf-8"> %0a%3ctitle>302 Found%3c/title>%0a%3cstyle type="text/css">%3c!--%0abody { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0ahr { border: 0; border-bottom: 1px dashed; }%0a@media (prefers-color-scheme: dark) {%0abody { background-color: #1E1F21; color: #EEEFF1; }%0aa { color: #BAD7FF; }%0a}%0a-->%3c/style>%0a%3c/head>%0a%3cbody>%0a%3ch1>302 Found%3c/h1>%0a%3chr>%0a%3caddress>OpenBSD httpd%3c/address>%0a%3c/body>%0a%3c/html>%0aConnection closed by foreign host.%0a@] +time=1635949102 +author:1635949102=jrmu +diff:1635949102:1629469215:= +host:1635949102=38.87.162.47 +author:1629469215=mkf +diff:1629469215:1614089940:=7d6%0a%3c then, press enter key twice.%0a +host:1629469215=5.238.165.218 +author:1614089940=jrmu +diff:1614089940:1614089897:=1d0%0a%3c [@%0a5,6c4%0a%3c @]%0a%3c %0a---%0a> %0a9d6%0a%3c [@%0a16,17c13,14%0a%3c Location: https://example.com/index.html%0a%3c %0a---%0a> Location: https://ircnow.org/index.html%0a> %0a39d35%0a%3c @]%0a\ No newline at end of file%0a +host:1614089940=198.251.81.119 +author:1614089897=jrmu +diff:1614089897:1614089897:=1,35d0%0a%3c $ telnet example.com 80%0a%3c GET /index.html HTTP/1.1%0a%3c Host: example.com%0a%3c %0a%3c You should a response similar to the one below:%0a%3c %0a%3c HTTP/1.0 302 Found%0a%3c Date: Tue, 23 Feb 2021 14:01:28 GMT%0a%3c OpenBSD httpd%0a%3c Connection: close%0a%3c Content-Type: text/html%0a%3c Content-Length: 486%0a%3c Location: https://ircnow.org/index.html%0a%3c %0a%3c %3c!DOCTYPE html>%0a%3c %3chtml> %0a%3c %3chead>%0a%3c %3cmeta charset="utf-8"> %0a%3c %3ctitle>302 Found%3c/title>%0a%3c %3cstyle type="text/css">%3c!--%0a%3c body { background-color: white; color: black; font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }%0a%3c hr { border: 0; border-bottom: 1px dashed; }%0a%3c @media (prefers-color-scheme: dark) {%0a%3c body { background-color: #1E1F21; color: #EEEFF1; }%0a%3c a { color: #BAD7FF; }%0a%3c }%0a%3c -->%3c/style>%0a%3c %3c/head>%0a%3c %3cbody>%0a%3c %3ch1>302 Found%3c/h1>%0a%3c %3chr>%0a%3c %3caddress>OpenBSD httpd%3c/address>%0a%3c %3c/body>%0a%3c %3c/html>%0a%3c Connection closed by foreign host.%0a +host:1614089897=198.251.81.119 blob - /dev/null blob + 62d6f57a106b72d437ea0cefa9c00c16bb24719d (mode 644) --- /dev/null +++ wiki.d/Telnet.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1614089897 +host=38.87.162.47 +name=Telnet.RecentChanges +rev=4 +text=* [[Telnet/Http]] . . . November 03, 2021, at 02:18 PM by [[~jrmu]]: [==]%0a +time=1635949102 blob - /dev/null blob + 0d1ea1fd958be1d5fc4697a9ca4049cdcc2c16e0 (mode 644) --- /dev/null +++ wiki.d/Termius.Connect @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1628915058 +host=38.87.162.8 +name=Termius.Connect +rev=2 +targets=Shell.Shell,Ircnow.SSHFingerprints +text=(:title Connect with Termius:)%0a%0a'''NOTE''': Termius is '''not''' free software. Please consider using a [[shell/shell|free/open source alternative]] that respects your rights.%0a%0aFirst, install [[https://apps.apple.com/us/app/termius-ssh-shell-console-terminal/id549039908|Termius]].%0a%0aOpen Termius. Tap @@Learn more@@.%0a%0aAttach:termius-wizard.png%0a%0aDon't create an account with Termius. Instead, tap @@Continue without account@@.%0a%0aAttach:termius-trial.png%0a%0aTap @@SSH@@.%0a%0aAttach:termius-welcome-wizard.png%0a%0aFill the server name. Replace @@fruit.ircnow.org@@ with your server name.%0a%0aAttach:termius-address-port.png%0a%0aFill in your username. Replace @@username@@ with your real username.%0a%0aAttach:termius-username.png%0a%0aType in your password.%0a%0aAttach:termius-password.png%0a%0aTap @@Done@@ at the top-right corner once you are done with the Quick Guide.%0a%0aAttach:termius-quick-guide.png%0a%0aTap @@Save and Connect@@.%0a%0aAttach:termius-save-and-connect.png%0a%0aWhen a connection is first made, Termius will ask if the [[ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check, then tap @@Continue@@ if they match.%0a%0aAttach:termius-host-verify-fingerprints.png%0a%0a'''WARNING''': If the fingerprints do not match, tap @@Cancel@@ and do not connect. Please contact%0ayour sysadmin for help.%0a +time=1628916134 +title=Connect with Termius +author:1628916134=jrmu +diff:1628916134:1628915058:=7,10c7,8%0a%3c Open Termius. Tap @@Learn more@@.%0a%3c %0a%3c Attach:termius-wizard.png%0a%3c %0a---%0a> Open Termius.%0a> %0a19,20d16%0a%3c Fill the server name. Replace @@fruit.ircnow.org@@ with your server name.%0a%3c %0a22a19,22%0a> Fill the server name. Replace @@fruit.ircnow.org@@ with your server name.%0a> %0a> Attach:termius-username.png%0a> %0a25,44c25,57%0a%3c Attach:termius-username.png%0a%3c %0a%3c Type in your password.%0a%3c %0a%3c Attach:termius-password.png%0a%3c %0a%3c Tap @@Done@@ at the top-right corner once you are done with the Quick Guide.%0a%3c %0a%3c Attach:termius-quick-guide.png%0a%3c %0a%3c Tap @@Save and Connect@@.%0a%3c %0a%3c Attach:termius-save-and-connect.png%0a%3c %0a%3c When a connection is first made, Termius will ask if the [[ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check, then tap @@Continue@@ if they match.%0a%3c %0a%3c Attach:termius-host-verify-fingerprints.png%0a%3c %0a%3c '''WARNING''': If the fingerprints do not match, tap @@Cancel@@ and do not connect. Please contact%0a%3c your sysadmin for help.%0a---%0a> Tap the + plus icon at the bottom right corner.%0a> %0a> Attach:connectbot-edit-host-username.png%0a> %0a> Edit three fields:%0a> %0a> # @@Protocol@@: @@ssh@@%0a> # @@username@hostname port@@: Type in your username, followed by the @ sign, then your server name. For example, if you registered @@username@@ and your server is @@fruit.ircnow.org@@, type in @@username@fruit.ircnow.org@@.%0a> # @@Stay connected@@: Toggle this on to reconnect automatically%0a> %0a> Attach:connectbot-stay-connected.png%0a> %0a> Tap on the back arrow at the top left corner.%0a> %0a> To connect, tap on the row you just created:%0a> %0a> Attach:connectbot-hosts-never-connected.png%0a> %0a> When a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check [[Ircnow.SSHFingerprints/the SSH fingerprints]], then tap @@Yes@@ if they match.%0a> %0a> Attach:connectbot-check-fingerprints.png%0a> %0a> '''WARNING''': If the fingerprints do not match, tap @@No@@ and do '''not''' connect. Please contact your sysadmin for help.%0a> %0a> Fill in the password field at the bottom of the screen.%0a> %0a> Attach:connectbot-password.png%0a> %0a> You are now connected.%0a> %0a> Attach:connectbot-login-success.png%0a> %0a> For better security and convenience, learn [[ConnectBot/keys|how to connect with SSH keys]].%0a +host:1628916134=38.87.162.8 +author:1628915058=jrmu +diff:1628915058:1628915058:=1,57d0%0a%3c (:title Connect with Termius:)%0a%3c %0a%3c '''NOTE''': Termius is '''not''' free software. Please consider using a [[shell/shell|free/open source alternative]] that respects your rights.%0a%3c %0a%3c First, install [[https://apps.apple.com/us/app/termius-ssh-shell-console-terminal/id549039908|Termius]].%0a%3c %0a%3c Open Termius.%0a%3c %0a%3c Don't create an account with Termius. Instead, tap @@Continue without account@@.%0a%3c %0a%3c Attach:termius-trial.png%0a%3c %0a%3c Tap @@SSH@@.%0a%3c %0a%3c Attach:termius-welcome-wizard.png%0a%3c %0a%3c Attach:termius-address-port.png%0a%3c %0a%3c Fill the server name. Replace @@fruit.ircnow.org@@ with your server name.%0a%3c %0a%3c Attach:termius-username.png%0a%3c %0a%3c Fill in your username. Replace @@username@@ with your real username.%0a%3c %0a%3c Tap the + plus icon at the bottom right corner.%0a%3c %0a%3c Attach:connectbot-edit-host-username.png%0a%3c %0a%3c Edit three fields:%0a%3c %0a%3c # @@Protocol@@: @@ssh@@%0a%3c # @@username@hostname port@@: Type in your username, followed by the @ sign, then your server name. For example, if you registered @@username@@ and your server is @@fruit.ircnow.org@@, type in @@username@fruit.ircnow.org@@.%0a%3c # @@Stay connected@@: Toggle this on to reconnect automatically%0a%3c %0a%3c Attach:connectbot-stay-connected.png%0a%3c %0a%3c Tap on the back arrow at the top left corner.%0a%3c %0a%3c To connect, tap on the row you just created:%0a%3c %0a%3c Attach:connectbot-hosts-never-connected.png%0a%3c %0a%3c When a connection is first made, Connectbot will ask if the [[Ircnow/SSHFingerprints|SSH fingerprints]] are correct. Double check [[Ircnow.SSHFingerprints/the SSH fingerprints]], then tap @@Yes@@ if they match.%0a%3c %0a%3c Attach:connectbot-check-fingerprints.png%0a%3c %0a%3c '''WARNING''': If the fingerprints do not match, tap @@No@@ and do '''not''' connect. Please contact your sysadmin for help.%0a%3c %0a%3c Fill in the password field at the bottom of the screen.%0a%3c %0a%3c Attach:connectbot-password.png%0a%3c %0a%3c You are now connected.%0a%3c %0a%3c Attach:connectbot-login-success.png%0a%3c %0a%3c For better security and convenience, learn [[ConnectBot/keys|how to connect with SSH keys]].%0a +host:1628915058=38.87.162.8 blob - /dev/null blob + 000295f37ffe5e2a8439b1846c0e8bd20fce0789 (mode 644) --- /dev/null +++ wiki.d/Termius.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1628915058 +host=38.87.162.8 +name=Termius.RecentChanges +rev=2 +text=* [[Termius/Connect]] . . . August 14, 2021, at 04:42 AM by [[~jrmu]]: [==]%0a +time=1628916134 blob - /dev/null blob + e3674a20d57b1c53a01bdf21f8bf81f84d7984f9 (mode 644) --- /dev/null +++ wiki.d/Terms.Privacy @@ -0,0 +1,37 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596202470 +host=125.224.28.132 +name=Terms.Privacy +rev=8 +targets= +text=!! Privacy Policy%0a%0aIRCNow supports user privacy by allowing users to connect to most services anonymously. No real name or phone number is required for most services, and users can often connect via tor.%0a%0aHowever, some services will require your email address. We will also log your IP address and other account metadata such as user agent information. We scan IP addresses for open proxies. This data is stored permanently to allow us to combat spam and abuse. If you have special privacy needs, you are welcome to contact staff for an exception. We can make privacy exceptions for users after an interview.%0a%0aIRCNow does not log IRC chats. Staff members, however, have access to metadata described such as which networks and channels your bouncer is joined to. This metadata is used to prevent abuse. We allow users to log public channels and their own private messages. Emails and files you store on our storage service may be archived permanently. Staff will have access to emails and files. IRCNow uses cookies to allow you to log in to our services.%0a%0aIRCNow may investigate VPSes in response to abuse reports.%0a%0aIRCNow does not sell any personal information to third-parties. However, IRCNow reserves the right to file abuse reports for users who maliciously abuse our network.%0a%0aIRCNow will delete material that is proven to be libellous or illegal. Users may not publish personally identifiable information about another user without consent except to report those who have violated network rules. %0a%0aIf you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[mailto://support@ircnow.org|support@ircnow.org]].%0a +time=1633952933 +author:1633952933=jrmu +diff:1633952933:1624175552:=5c5%0a%3c However, some services will require your email address. We will also log your IP address and other account metadata such as user agent information. We scan IP addresses for open proxies. This data is stored permanently to allow us to combat spam and abuse. If you have special privacy needs, you are welcome to contact staff for an exception. We can make privacy exceptions for users after an interview.%0a---%0a> However, services will require your email address. We will also log your IP address and other account metadata such as user agent information. We scan IP addresses for open proxies. This data is stored permanently to allow us to combat spam and abuse. If you have special privacy needs, you are welcome to contact staff for an exception. We can make privacy exceptions for users after an interview.%0a +host:1633952933=125.224.28.132 +author:1624175552=mkf +csum:1624175552=oops. +diff:1624175552:1624175367:minor=15c15%0a%3c If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[mailto://support@ircnow.org|support@ircnow.org]].%0a---%0a> If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|mailto://support@ircnow.org]].%0a +host:1624175552=198.251.81.133 +author:1624175367=mkf +diff:1624175367:1622867863:minor=15c15%0a%3c If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|mailto://support@ircnow.org]].%0a---%0a> If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|support@ircnow.org]].%0a +host:1624175367=198.251.81.133 +author:1622867863=jrmu +diff:1622867863:1608432215:=9,10d8%0a%3c IRCNow may investigate VPSes in response to abuse reports.%0a%3c %0a15c13%0a%3c If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|support@ircnow.org]].%0a---%0a> If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|support@ircnow.org]].%0a\ No newline at end of file%0a +host:1622867863=38.81.163.143 +author:1608432215=jrmu +diff:1608432215:1608431176:=11c11%0a%3c IRCNow will delete material that is proven to be libellous or illegal. Users may not publish personally identifiable information about another user without consent except to report those who have violated network rules. %0a---%0a> IRCNow will delete material that is proven to be libellous or illegal. Users may not publish private personal information about another user without consent except to report those who have violated network rules. %0a +host:1608432215=198.251.81.119 +author:1608431176=jrmu +diff:1608431176:1608431148:=11c11%0a%3c IRCNow will delete material that is proven to be libellous or illegal. Users may not publish private personal information about another user without consent except to report those who have violated network rules. %0a---%0a> IRCNow will delete material that is proven to be libellous or illegal. Users may not publish private personal information about another user except to report those who have violated network rules. %0a +host:1608431176=198.251.81.119 +author:1608431148=jrmu +diff:1608431148:1596202470:=11c11%0a%3c IRCNow will delete material that is proven to be libellous or illegal. Users may not publish private personal information about another user except to report those who have violated network rules. %0a---%0a> IRCNow will delete material that is proven to be libellous or illegal. Users may not publish home addresses or phone numbers in a way that harasses others.%0a +host:1608431148=198.251.81.119 +author:1596202470=jrmu +diff:1596202470:1596202470:=1,13d0%0a%3c !! Privacy Policy%0a%3c %0a%3c IRCNow supports user privacy by allowing users to connect to most services anonymously. No real name or phone number is required for most services, and users can often connect via tor.%0a%3c %0a%3c However, services will require your email address. We will also log your IP address and other account metadata such as user agent information. We scan IP addresses for open proxies. This data is stored permanently to allow us to combat spam and abuse. If you have special privacy needs, you are welcome to contact staff for an exception. We can make privacy exceptions for users after an interview.%0a%3c %0a%3c IRCNow does not log IRC chats. Staff members, however, have access to metadata described such as which networks and channels your bouncer is joined to. This metadata is used to prevent abuse. We allow users to log public channels and their own private messages. Emails and files you store on our storage service may be archived permanently. Staff will have access to emails and files. IRCNow uses cookies to allow you to log in to our services.%0a%3c %0a%3c IRCNow does not sell any personal information to third-parties. However, IRCNow reserves the right to file abuse reports for users who maliciously abuse our network.%0a%3c %0a%3c IRCNow will delete material that is proven to be libellous or illegal. Users may not publish home addresses or phone numbers in a way that harasses others.%0a%3c %0a%3c If you do not agree to the above policy, do not continue using our services. You should request for us to delete your account by mailing us at [[support@ircnow.org|support@ircnow.org]].%0a\ No newline at end of file%0a +host:1596202470=38.81.163.143 blob - /dev/null blob + a41ed919a4f6ede0a5ef55e65c4a238a9382fd50 (mode 644) --- /dev/null +++ wiki.d/Terms.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1596202470 +host=125.224.28.132 +name=Terms.RecentChanges +rev=34 +text=* [[Terms/Privacy]] . . . October 11, 2021, at 11:48 AM by [[~jrmu]]: [==]%0a* [[Terms/Vps]] . . . October 06, 2021, at 12:30 AM by [[~jrmu]]: [==]%0a* [[Terms/Terms]] . . . June 02, 2021, at 01:40 PM by [[~jrmu]]: [==]%0a* [[Terms/Shell]] . . . August 08, 2020, at 03:31 AM by [[~jrmu]]: [==]%0a +time=1633952933 blob - /dev/null blob + 4bf65d4c332c1b7fb5adf6393942d9d39779aa6f (mode 644) --- /dev/null +++ wiki.d/Terms.Shell @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596397108 +host=38.81.163.143 +name=Terms.Shell +rev=3 +targets= +text=Technical restrictions:%0a%0a* Only one connection per IRC network%0a * DALNet allows up to 4 connections per person%0a * IRCNow allows up to 20 connections per person (max 5 per IPv4)%0a* No malicious bots allowed%0a* Running tor is not allowed%0a* Torrents are not allowed%0a* Cryptocurrency mining is not allowed%0a* No port scanning without permission +time=1596857499 +author:1596857499=jrmu +diff:1596857499:1596857486:=5c5%0a%3c * IRCNow allows up to 20 connections per person (max 5 per IPv4)%0a---%0a> * IRCNow allows up to 10 connections per person (max 5 per IP)%0a +host:1596857499=38.81.163.143 +author:1596857486=jrmu +diff:1596857486:1596397108:=4,5d3%0a%3c * DALNet allows up to 4 connections per person%0a%3c * IRCNow allows up to 10 connections per person (max 5 per IP)%0a +host:1596857486=38.81.163.143 +author:1596397108=jrmu +diff:1596397108:1596397108:=1,8d0%0a%3c Technical restrictions:%0a%3c %0a%3c * Only one connection per IRC network%0a%3c * No malicious bots allowed%0a%3c * Running tor is not allowed%0a%3c * Torrents are not allowed%0a%3c * Cryptocurrency mining is not allowed%0a%3c * No port scanning without permission%0a\ No newline at end of file%0a +host:1596397108=38.81.163.143 blob - /dev/null blob + cb2119f7b4223839929581e196ee2e30568384a6 (mode 644) --- /dev/null +++ wiki.d/Terms.Terms @@ -0,0 +1,58 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596256352 +host=125.231.17.115 +name=Terms.Terms +rev=15 +targets=Terms.Privacy,Terms.Shell,Terms.Vps,License.Ircnow +text=(:title Terms of Service:)%0a%0aIRCNow is the network of the user, by the user, for the user. We ask that everyone follow these rules:%0a%0a* No porn / illegal drugs%0a* No gambling / slander or libel / copyright infringement%0a* No violent threats%0a* No spam, illegal cracking, or DDoS%0a* Only one account per person%0a* Do not share passwords or accounts%0a%0aBy using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a%0aAdditional terms for [[terms/shell|shell account users]]:%0a%0a* Max 2 connections per IRC network per person%0a * DALNet allows up to 4 connections per person%0a * IRCNow allows up to 5 connections per person%0a * Kampungchat allows up to 20 connections per person%0a* No malicious bots allowed%0a* Running tor is not allowed%0a* Torrents are not allowed%0a* Cryptocurrency mining is not allowed%0a* No port scanning without permission%0a%0aAdditional terms for [[terms/vps|VPS users]]:%0a%0a* No malicious network activity%0a* No port scanning without permission%0a* No activities illegal in the USA%0a* No cryptocurrency miners%0a* No tor exit nodes / relays%0a%0aIf you make any contributions to our project, you must agree to use [[license/ircnow|the IRCNow license]]. +time=1622641238 +title=Terms of Service +author:1622641238=jrmu +diff:1622641238:1619884463:=5c5%0a%3c * No porn / illegal drugs%0a---%0a> * No profanity / porn / illegal drugs%0a +host:1622641238=125.231.17.115 +author:1619884463=jrmu +diff:1619884463:1613726866:=32d31%0a%3c * No tor exit nodes / relays%0a +host:1619884463=198.251.81.119 +author:1613726866=jrmu +diff:1613726866:1610690528:=5c5%0a%3c * No profanity / porn / illegal drugs%0a---%0a> * No porn / illegal drugs%0a +host:1613726866=198.251.81.119 +author:1610690528=jrmu +diff:1610690528:1609416888:=5c5%0a%3c * No porn / illegal drugs%0a---%0a> * No profanity / porn / illegal drugs%0a7c7%0a%3c * No violent threats%0a---%0a> * No promotion of violence%0a +host:1610690528=125.231.29.130 +author:1609416888=jrmu +diff:1609416888:1609234660:=19c19%0a%3c * Kampungchat allows up to 20 connections per person%0a---%0a> * Kampungchat allows up to 10 connections per person%0a +host:1609416888=198.251.81.119 +author:1609234660=jrmu +diff:1609234660:1607866364:=19d18%0a%3c * Kampungchat allows up to 10 connections per person%0a +host:1609234660=198.251.81.119 +author:1607866364=jrmu +diff:1607866364:1607865265:=16c16%0a%3c * Max 2 connections per IRC network per person%0a---%0a> * Only one connection per IRC network%0a18c18%0a%3c * IRCNow allows up to 5 connections per person%0a---%0a> * IRCNow allows up to 20 connections per person (max 5 per IPv4)%0a +host:1607866364=198.251.81.119 +author:1607865265=jrmu +diff:1607865265:1607865166:=26,30d25%0a%3c %0a%3c * No malicious network activity%0a%3c * No port scanning without permission%0a%3c * No activities illegal in the USA%0a%3c * No cryptocurrency miners%0a +host:1607865265=198.251.81.119 +author:1607865166=jrmu +diff:1607865166:1607865132:= +host:1607865166=198.251.81.119 +author:1607865132=jrmu +diff:1607865132:1603602378:=14,25c14%0a%3c Additional terms for [[terms/shell|shell account users]]:%0a%3c %0a%3c * Only one connection per IRC network%0a%3c * DALNet allows up to 4 connections per person%0a%3c * IRCNow allows up to 20 connections per person (max 5 per IPv4)%0a%3c * No malicious bots allowed%0a%3c * Running tor is not allowed%0a%3c * Torrents are not allowed%0a%3c * Cryptocurrency mining is not allowed%0a%3c * No port scanning without permission%0a%3c %0a%3c Additional terms for [[terms/vps|VPS users]]:%0a---%0a> See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a +host:1607865132=198.251.81.119 +author:1603602378=jrmu +diff:1603602378:1603177839:=3c3%0a%3c IRCNow is the network of the user, by the user, for the user. We ask that everyone follow these rules:%0a---%0a> IRCNow is a Christian network. We ask that everyone follow these rules:%0a +host:1603602378=125.224.28.18 +author:1603177839=jrmu +diff:1603177839:1597689220:=10a11,12%0a> %0a> Religious or political content may be subject to censorship according to the Bible.%0a +host:1603177839=125.224.23.3 +author:1597689220=jrmu +diff:1597689220:1596444118:=18c18%0a%3c If you make any contributions to our project, you must agree to use [[license/ircnow|the IRCNow license]].%0a\ No newline at end of file%0a---%0a> If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1597689220=38.81.163.143 +author:1596444118=jrmu +diff:1596444118:1596256352:=1,2c1,2%0a%3c (:title Terms of Service:)%0a%3c %0a---%0a> !! Terms of Service%0a> %0a5,10c5,10%0a%3c * No profanity / porn / illegal drugs%0a%3c * No gambling / slander or libel / copyright infringement%0a%3c * No promotion of violence%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * Only one account per person%0a%3c * Do not share passwords or accounts%0a---%0a> * No profanity / porn / illegal drugs%0a> * No gambling / slander or libel / copyright infringement%0a> * No promotion of violence%0a> * No spam, illegal cracking, or DDoS%0a> * Only one account per person%0a> * Do not share passwords or accounts%0a +host:1596444118=38.81.163.143 +author:1596256352=jrmu +diff:1596256352:1596256352:=1,18d0%0a%3c !! Terms of Service%0a%3c %0a%3c IRCNow is a Christian network. We ask that everyone follow these rules:%0a%3c %0a%3c * No profanity / porn / illegal drugs%0a%3c * No gambling / slander or libel / copyright infringement%0a%3c * No promotion of violence%0a%3c * No spam, illegal cracking, or DDoS%0a%3c * Only one account per person%0a%3c * Do not share passwords or accounts%0a%3c %0a%3c Religious or political content may be subject to censorship according to the Bible.%0a%3c %0a%3c By using our servers, you agree to our [[terms/privacy|privacy policy]]. Services which are offered by IRCNow are provided as-is with no warranty. If you sign up to an account, you agree not to hold IRCNow responsible for any data loss, damages, or downtime.%0a%3c %0a%3c See additional terms for [[terms/shell|shell account users]] and [[terms/vps|VPS users]].%0a%3c %0a%3c If you make any contributions to our project, you must agree to use [[freedom/license|the IRCNow license]].%0a\ No newline at end of file%0a +host:1596256352=38.81.163.143 blob - /dev/null blob + f5e5b6d41a73010c16fc565946d98c0c01a938ee (mode 644) --- /dev/null +++ wiki.d/Terms.Vps @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1596457688 +host=125.231.16.237 +name=Terms.Vps +rev=8 +targets= +text=For paid plans, payment must be received before the VPS can be used.%0a%0aIRCNow does not guarantee any technical support for the VPS.%0a%0aYou may cancel at anytime. To cancel, please email support@ircnow.org. Cancellation%0amust be received one week before the billing date. IRCNow cannot give partial%0amonth refunds.%0a%0aIRCNow can terminate service without a refund for any violation of our terms.%0a%0a# No copyright, trademark, intellectual property infringement%0a# No identity theft or fraud%0a# No malicious network activity%0a# No port scanning without permission%0a# No spam%0a# No cryptocurrency miners%0a# No pornographic content%0a# No tor exit nodes / relays%0a# No illegal drugs%0a# No death threats%0a# No gambling%0a# No slander/libel%0a# No activity that is illegal in the USA%0a%0aThe customer agrees to hold IRCNow harmless from any damages that result in complying%0awith local law.%0a%0aAny sites breaking the above rules may be subject to a $50 fine.%0a%0aTo report spam or abuse, please email abuse@ircnow.org.%0a%0aIRCNow may set fair usage limits to prevent any one customer from using an excessive%0aamount of resources.%0a%0aIRCNow is not responsible for insecure passwords and software. Customers are%0aresponsible for all actions that occur under their account, whether authorized or not.%0a%0aIRCNow do not guarantee any backups -- it is your own responsibility to back up your%0aown data. IRCNow is not responsible for any damage or loss of data whatsoever except%0awhere required by law.%0a%0aContact and billing information must be complete, accurate, and up-to-date.%0a%0aExcept as specifically stated, IRCNow makes absolutely no warranties whatsoever.%0a +time=1633480229 +author:1633480229=jrmu +diff:1633480229:1627825109:=1c1%0a%3c For paid plans, payment must be received before the VPS can be used.%0a---%0a> Full payment must be received before the VPS can be used.%0a +host:1633480229=125.231.16.237 +author:1627825109=jrmu +diff:1627825109:1622702398:=5c5%0a%3c You may cancel at anytime. To cancel, please email support@ircnow.org. Cancellation%0a---%0a> You may cancel at anytime. To cancel, please email support@anynode.net. Cancellation%0a +host:1627825109=38.87.162.8 +author:1622702398=jrmu +diff:1622702398:1622702328:=20c20%0a%3c # No death threats%0a---%0a> # No violent threats%0a +host:1622702398=38.81.163.143 +author:1622702328=jrmu +diff:1622702328:1622700064:=19,22d18%0a%3c # No illegal drugs%0a%3c # No violent threats%0a%3c # No gambling%0a%3c # No slander/libel%0a +host:1622702328=38.81.163.143 +author:1622700064=jrmu +diff:1622700064:1622699962:=18d17%0a%3c # No tor exit nodes / relays%0a +host:1622700064=38.81.163.143 +author:1622699962=jrmu +diff:1622699962:1597118937:=1,39c1,4%0a%3c Full payment must be received before the VPS can be used.%0a%3c %0a%3c IRCNow does not guarantee any technical support for the VPS.%0a%3c %0a%3c You may cancel at anytime. To cancel, please email support@anynode.net. Cancellation%0a%3c must be received one week before the billing date. IRCNow cannot give partial%0a%3c month refunds.%0a%3c %0a%3c IRCNow can terminate service without a refund for any violation of our terms.%0a%3c %0a%3c # No copyright, trademark, intellectual property infringement%0a%3c # No identity theft or fraud%0a%3c # No malicious network activity%0a%3c # No port scanning without permission%0a%3c # No spam%0a%3c # No cryptocurrency miners%0a%3c # No pornographic content%0a%3c # No activity that is illegal in the USA%0a%3c %0a%3c The customer agrees to hold IRCNow harmless from any damages that result in complying%0a%3c with local law.%0a%3c %0a%3c Any sites breaking the above rules may be subject to a $50 fine.%0a%3c %0a%3c To report spam or abuse, please email abuse@ircnow.org.%0a%3c %0a%3c IRCNow may set fair usage limits to prevent any one customer from using an excessive%0a%3c amount of resources.%0a%3c %0a%3c IRCNow is not responsible for insecure passwords and software. Customers are%0a%3c responsible for all actions that occur under their account, whether authorized or not.%0a%3c %0a%3c IRCNow do not guarantee any backups -- it is your own responsibility to back up your%0a%3c own data. IRCNow is not responsible for any damage or loss of data whatsoever except%0a%3c where required by law.%0a%3c %0a%3c Contact and billing information must be complete, accurate, and up-to-date.%0a%3c %0a%3c Except as specifically stated, IRCNow makes absolutely no warranties whatsoever.%0a---%0a> * No malicious network activity%0a> * No port scanning without permission%0a> * No activities illegal in the USA%0a> * No cryptocurrency miners%0a\ No newline at end of file%0a +host:1622699962=38.81.163.143 +author:1597118937=jrmu +diff:1597118937:1596457688:=2,4c2%0a%3c * No port scanning without permission%0a%3c * No activities illegal in the USA%0a%3c * No cryptocurrency miners%0a\ No newline at end of file%0a---%0a> * No port scanning without permission%0a\ No newline at end of file%0a +host:1597118937=38.81.163.143 +author:1596457688=jrmu +diff:1596457688:1596457688:=1,2d0%0a%3c * No malicious network activity%0a%3c * No port scanning without permission%0a\ No newline at end of file%0a +host:1596457688=38.81.163.143 blob - /dev/null blob + d67a0d0b3fb07c7df2b34fb657147667d3133176 (mode 644) --- /dev/null +++ wiki.d/Termux.Connect @@ -0,0 +1,55 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1623238556 +host=38.87.162.8 +name=Termux.Connect +rev=13 +targets=Fdroid.Install,MITM.Intro +text=(:title Connect with Termux:)%0a%0aFirst, install Termux from [[Fdroid/Install|F-droid]].%0a%0a'''NOTE''': Although Termux is also available on [[https://play.google.com/store/apps/details?id=com.termux&hl=en&gl=US|Google Play]], it is outdated. Google Play is not free software nor does it respect user data.%0a%0aOpen Termux:%0a%0aAttach:termux-new.png%0a%0aType the command below, but do not type the dollar sign $:%0a%0a[@%0a$ pkg install openssh%0a...%0aDo you want to continue? [Y/n] y%0a@]%0a%0aIf you used Google Play instead of [[Fdroid/Install|F-droid]], termux may not be able to find openssh immediately. If so, you must type:%0a%0a[@%0a$ pkg upgrade%0a$ pkg install openssh%0a@]%0a%0aThis will update the package repos, then install openssh.%0a%0aAfter installation finishes, type (do not type the dollar sign $):%0a%0a[@%0a$ ssh username@example.com%0a@]%0a%0aReplace @@username@@ and @@example.com@@ with your username and server domain.%0a%0aThe first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[Ircnow.SSHFingerprints/known SSH fingerprints]].%0a%0a'''WARNING''': If the fingerprints do not match, do '''not''' connect! Instead, report the error to your sysadmin. There may be a misconfiguration, or in rarer cases, a [[MITM/intro|MITM attack]].%0a%0aAttach:termux-password.png%0a%0aEnter your password:%0a%0aAttach:termux-login-success.png%0a +time=1628659702 +title=Connect with Termux +author:1628659702=jrmu +diff:1628659702:1628589922:=44c44%0a%3c Attach:termux-login-success.png%0a---%0a> Attach:termux-logged-in.png%0a +host:1628659702=38.87.162.8 +author:1628589922=mkf +csum:1628589922=pkg command is an alias for apt update && apt $1 +diff:1628589922:1628587067:=22,23c22,23%0a%3c $ pkg upgrade%0a%3c $ pkg install openssh%0a---%0a> $ pkg update && pkg upgrade%0a> $ apt install openssh%0a +host:1628589922=38.87.162.40 +author:1628587067=jrmu +diff:1628587067:1628586253:=7,8c7,8%0a%3c Open Termux:%0a%3c %0a---%0a> Open Termux, then run:%0a> %0a11,12d10%0a%3c Type the command below, but do not type the dollar sign $:%0a%3c %0a19,20c17,18%0a%3c If you used Google Play instead of [[Fdroid/Install|F-droid]], termux may not be able to find openssh immediately. If so, you must type:%0a%3c %0a---%0a> After it finishes installation, type:%0a> %0a22,23c20%0a%3c $ pkg update && pkg upgrade%0a%3c $ apt install openssh%0a---%0a> $ ssh username@example.com%0a26,35c23,24%0a%3c This will update the package repos, then install openssh.%0a%3c %0a%3c After installation finishes, type (do not type the dollar sign $):%0a%3c %0a%3c [@%0a%3c $ ssh username@example.com%0a%3c @]%0a%3c %0a%3c Replace @@username@@ and @@example.com@@ with your username and server domain.%0a%3c %0a---%0a> Replace @@username@@ and @@example.com@@.%0a> %0a44a34,39%0a> %0a> [@%0a> $ pkg update && pkg upgrade%0a> $ apt install openssh%0a> $ ssh username@example.com%0a> @]%0a +host:1628587067=38.87.162.8 +author:1628586253=jrmu +diff:1628586253:1628585891:=3,5c3%0a%3c First, install Termux from [[Fdroid/Install|F-droid]].%0a%3c %0a%3c '''NOTE''': Although Termux is also available on [[https://play.google.com/store/apps/details?id=com.termux&hl=en&gl=US|Google Play]], it is outdated. Google Play is not free software nor does it respect user data.%0a---%0a> First, install Termux from [[Fdroid/Install|F-droid]]. '''NOTE''': Termux is also available on [[https://play.google.com/store/apps/details?id=com.termux&hl=en&gl=US|Google Play]], but Google Play is not free software and does not respect user data.%0a +host:1628586253=38.87.162.8 +author:1628585891=jrmu +diff:1628585891:1628585565:=29,30d28%0a%3c Enter your password:%0a%3c %0a33d30%0a%3c [@%0a37a35,36%0a> %0a> Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a +host:1628585891=38.87.162.8 +author:1628585565=jrmu +diff:1628585565:1628585544:=25c25%0a%3c '''WARNING''': If the fingerprints do not match, do '''not''' connect! Instead, report the error to your sysadmin. There may be a misconfiguration, or in rarer cases, a [[MITM/intro|MITM attack]].%0a---%0a> '''WARNING''': If the fingerprints do not match, do '''not''' connect! Instead, report the error to your sysadmin. There may be a misconfiguration, or in rarer cases, a [[mitm/intro|MITM attack]].%0a +host:1628585565=38.87.162.8 +author:1628585544=jrmu +diff:1628585544:1628585310:=23c23%0a%3c The first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[Ircnow.SSHFingerprints/known SSH fingerprints]].%0a---%0a> The first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[Servers.SSHFingerprints/known SSH fingerprints]].%0a +host:1628585544=38.87.162.8 +author:1628585310=jrmu +diff:1628585310:1628584975:=3,6c3,4%0a%3c First, install Termux from [[Fdroid/Install|F-droid]]. '''NOTE''': Termux is also available on [[https://play.google.com/store/apps/details?id=com.termux&hl=en&gl=US|Google Play]], but Google Play is not free software and does not respect user data.%0a%3c %0a%3c Open Termux, then run:%0a%3c %0a---%0a> # Install Termux from [[Fdroid/Install|F-droid]]. '''NOTE''': Termux is also available on Google Play, but Google Play is not free software and does not respect user data.%0a> # Open Termux, then run:\\%0a8d5%0a%3c %0a23c20%0a%3c The first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[Servers.SSHFingerprints/known SSH fingerprints]].%0a---%0a> The first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[known SSH fingerprints]].%0a +host:1628585310=38.87.162.8 +author:1628584975=jrmu +diff:1628584975:1628417946:=1,5d0%0a%3c (:title Connect with Termux:)%0a%3c %0a%3c # Install Termux from [[Fdroid/Install|F-droid]]. '''NOTE''': Termux is also available on Google Play, but Google Play is not free software and does not respect user data.%0a%3c # Open Termux, then run:\\%0a%3c Attach:termux-new.png%0a8,27d2%0a%3c ...%0a%3c Do you want to continue? [Y/n] y%0a%3c @]%0a%3c %0a%3c After it finishes installation, type:%0a%3c %0a%3c [@%0a%3c $ ssh username@example.com%0a%3c @]%0a%3c %0a%3c Replace @@username@@ and @@example.com@@.%0a%3c %0a%3c The first time you connect, termux will show a warning followed by SSH fingerprints. To be safe, you should double check that the fingerprints match with [[known SSH fingerprints]].%0a%3c %0a%3c '''WARNING''': If the fingerprints do not match, do '''not''' connect! Instead, report the error to your sysadmin. There may be a misconfiguration, or in rarer cases, a [[mitm/intro|MITM attack]].%0a%3c %0a%3c Attach:termux-password.png%0a%3c %0a%3c Attach:termux-logged-in.png%0a%3c %0a +host:1628584975=38.87.162.8 +author:1628417946=jrmu +csum:1628417946=It does not ship with ssh if downloaded from google play +diff:1628417946:1627894442:=0a1,4%0a> first, install termux from [[F-droid||https://f-droid.org/packages/com.termux/]] if you have not installed Termux.%0a> after installation termux, run following commands%0a> %0a> %0a2d5%0a%3c $ pkg install openssh%0a4d6%0a%3c $ apt install openssh%0a8c10,11%0a%3c Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a---%0a> '''Note: using tmux is recommneded because it will can contiune your session running after you've been disconneted%0a> Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a\ No newline at end of file%0a +host:1628417946=38.87.162.8 +author:1627894442=mkf +csum:1627894442=termux ships with a SSH client +diff:1627894442:1623239147:=1,4d0%0a%3c first, install termux from [[F-droid||https://f-droid.org/packages/com.termux/]] if you have not installed Termux.%0a%3c after installation termux, run following commands%0a%3c %0a%3c %0a5a2%0a> $ pkg install openssh%0a6a4%0a> $ apt install openssh%0a10,11c8%0a%3c '''Note: using tmux is recommneded because it will can contiune your session running after you've been disconneted%0a%3c Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a\ No newline at end of file%0a---%0a> Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a +host:1627894442=188.210.118.143 +author:1623239147=jrmu +diff:1623239147:1623238556:=1d0%0a%3c [@%0a5,8c4%0a%3c $ ssh username@example.com%0a%3c @]%0a%3c %0a%3c Replace @@username@@ with your username and @@example.com@@ with the server's hostname.%0a---%0a> $ ssh unix101@grape.ircnow.org%0a\ No newline at end of file%0a +host:1623239147=38.81.163.143 +author:1623238556=jrmu +diff:1623238556:1623238556:=1,4d0%0a%3c $ pkg install openssh%0a%3c $ pkg update && pkg upgrade%0a%3c $ apt install openssh%0a%3c $ ssh unix101@grape.ircnow.org%0a\ No newline at end of file%0a +host:1623238556=125.231.25.80 blob - /dev/null blob + 15c0ce9c1b9347985281e48111d0e875606431e8 (mode 644) --- /dev/null +++ wiki.d/Termux.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1623238556 +host=38.87.162.8 +name=Termux.RecentChanges +rev=13 +text=* [[Termux/Connect]] . . . August 11, 2021, at 05:28 AM by [[~jrmu]]: [==]%0a +time=1628659702 blob - /dev/null blob + fbeab88351ca1a77638d9d82b75e9097c53c4e8c (mode 644) --- /dev/null +++ wiki.d/Texlive.Install @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627998200 +host=198.251.81.133 +name=Texlive.Install +rev=2 +targets= +text=To install LaTeX:%0a%0a[@%0a$ doas pkg_add texlive_texmf-full-2020p1%0a@]%0a%0aBy default, this creates a setuid root binary, used by dbus:%0a%0a[@%0a-rwsr-x--- 1 root _dbus - 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a@]%0a%0aThis makes the system insecure, so we remove the setuid bit:%0a%0a[@%0a$ doas chmod 0750 /usr/local/libexec/dbus-daemon-launch-helper%0a$ ls -lha /usr/local/libexec/dbus-daemon-launch-helper%0a-rwxr-x--- 1 root _dbus 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a@]%0a%0a +time=1627998686 +author:1627998686=mkf +diff:1627998686:1627998200:=7c7%0a%3c By default, this creates a setuid root binary, used by dbus:%0a---%0a> By default, this creates a setuid root binary:%0a +host:1627998686=198.251.81.133 +author:1627998200=jrmu +diff:1627998200:1627998200:=1,20d0%0a%3c To install LaTeX:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add texlive_texmf-full-2020p1%0a%3c @]%0a%3c %0a%3c By default, this creates a setuid root binary:%0a%3c %0a%3c [@%0a%3c -rwsr-x--- 1 root _dbus - 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a%3c @]%0a%3c %0a%3c This makes the system insecure, so we remove the setuid bit:%0a%3c %0a%3c [@%0a%3c $ doas chmod 0750 /usr/local/libexec/dbus-daemon-launch-helper%0a%3c $ ls -lha /usr/local/libexec/dbus-daemon-launch-helper%0a%3c -rwxr-x--- 1 root _dbus 73.9K Apr 19 12:36 /usr/local/libexec/dbus-daemon-launch-helper%0a%3c @]%0a%3c %0a +host:1627998200=38.87.162.8 blob - /dev/null blob + 62bc76f1dce0e4a82627b8001e94b2a1e15c955b (mode 644) --- /dev/null +++ wiki.d/Texlive.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627998200 +host=38.87.162.8 +name=Texlive.RecentChanges +rev=7 +text=* [[Texlive/Sinhala]] . . . November 28, 2021, at 06:35 AM by [[~jrmu]]: [==]%0a* [[Texlive/Install]] . . . August 03, 2021, at 01:51 PM by [[~mkf]]: [==]%0a +time=1638081303 blob - /dev/null blob + 0ff762a03c9d53587e1c960eb73056964f12d927 (mode 644) --- /dev/null +++ wiki.d/Texlive.Sinhala @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1638081139 +host=38.87.162.8 +name=Texlive.Sinhala +rev=5 +targets=Texlive.Install +text=You'll need to have [[texlive/install|textlive]] installed.%0a%0aDownload Iskoola Potha font:%0a%0a[@%0a$ cd ~%0a$ ftp https://fontsnetwork.com/download/iskoola-pota%0a$ mv iskoola-pota iskoola-pota.ttf%0a@]%0a%0aIn @@~/filename.tex@@:%0a%0a[@%0a\documentclass[12pt]{article}%0a%0a\usepackage[a4paper,left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}%0a\usepackage{fontspec,xltxtra,xunicode}%0a%0a\setmainfont[Extension=.ttf, Language=Sinhala, BoldFont=iskoola-pota, ItalicFont=iskoola-pota]{iskoola-pota}%0a%0a\title{මාතෘකාව මෙතන ලියන්න}%0a\author{අසංක සායක්කාර}%0a\date{2017-07-16}%0a%0a\begin{document}%0a%0a\maketitle%0a%0a\section{සිංහල}%0a%0aමේ මම සිංහලෙන් සකස් කල ලිපියක්. මෙය සකස් කිරිඉමට මම \bf{ලේටෙක්} මෘදුකාංගය පාවිච්චි කලා. එය ඉතාම ප්‍රයෝජනවත් මෙවලමක් මට.%0a%0a\section{English}%0a%0aSome English here and there.%0a%0a\end{document}%0a@]%0a%0a!! Building%0a%0a[@%0a$ xelatex sinhala.tex%0a@]%0a%0aThe output is in sinhala.pdf%0a%0aSource:%0a%0ahttps://recolog.blogspot.com/2017/07/writing-in-sinhala-using-latex-follow.html%0a +time=1638081303 +author:1638081303=jrmu +diff:1638081303:1638081267:=39,46d38%0a%3c %0a%3c !! Building%0a%3c %0a%3c [@%0a%3c $ xelatex sinhala.tex%0a%3c @]%0a%3c %0a%3c The output is in sinhala.pdf%0a +host:1638081303=38.87.162.8 +author:1638081267=jrmu +diff:1638081267:1638081244:=39,42d38%0a%3c %0a%3c Source:%0a%3c %0a%3c https://recolog.blogspot.com/2017/07/writing-in-sinhala-using-latex-follow.html%0a +host:1638081267=38.87.162.8 +author:1638081244=jrmu +diff:1638081244:1638081197:=21,22c21,22%0a%3c \title{මාතෘකාව මෙතන ලියන්න}%0a%3c \author{අසංක සායක්කාර}%0a---%0a> \title{?????????????? ???????? ????????????}%0a> \author{???????? ????????????????}%0a29,31c29,31%0a%3c \section{සිංහල}%0a%3c %0a%3c මේ මම සිංහලෙන් සකස් කල ලිපියක්. මෙය සකස් කිරිඉමට මම \bf{ලේටෙක්} මෘදුකාංගය පාවිච්චි කලා. එය ඉතාම ප්‍රයෝජනවත් මෙවලමක් මට.%0a---%0a> \section{??????????}%0a> %0a> ???? ???? ???????????????? ???????? ???? ??????????????. ?????? ???????? ?????????????? ???? \bf{????????????} ?????????????????? ???????????????? ??????. ???? ???????? ?????????????????????? ?????????????? ????.%0a +host:1638081244=125.231.33.234 +author:1638081197=jrmu +diff:1638081197:1638081139:=14,37c14%0a%3c \documentclass[12pt]{article}%0a%3c %0a%3c \usepackage[a4paper,left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}%0a%3c \usepackage{fontspec,xltxtra,xunicode}%0a%3c %0a%3c \setmainfont[Extension=.ttf, Language=Sinhala, BoldFont=iskoola-pota, ItalicFont=iskoola-pota]{iskoola-pota}%0a%3c %0a%3c \title{?????????????? ???????? ????????????}%0a%3c \author{???????? ????????????????}%0a%3c \date{2017-07-16}%0a%3c %0a%3c \begin{document}%0a%3c %0a%3c \maketitle%0a%3c %0a%3c \section{??????????}%0a%3c %0a%3c ???? ???? ???????????????? ???????? ???? ??????????????. ?????? ???????? ?????????????? ???? \bf{????????????} ?????????????????? ???????????????? ??????. ???? ???????? ?????????????????????? ?????????????? ????.%0a%3c %0a%3c \section{English}%0a%3c %0a%3c Some English here and there.%0a%3c %0a%3c \end{document}%0a---%0a> %0a +host:1638081197=38.87.162.8 +author:1638081139=jrmu +diff:1638081139:1638081139:=1,15d0%0a%3c You'll need to have [[texlive/install|textlive]] installed.%0a%3c %0a%3c Download Iskoola Potha font:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://fontsnetwork.com/download/iskoola-pota%0a%3c $ mv iskoola-pota iskoola-pota.ttf%0a%3c @]%0a%3c %0a%3c In @@~/filename.tex@@:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a +host:1638081139=38.87.162.8 blob - /dev/null blob + de880d35755642eeaa68888945ec440f32d17d95 (mode 644) --- /dev/null +++ wiki.d/Third.Basilisk @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608385089 +host=125.231.58.78 +name=Third.Basilisk +rev=1 +targets= +text=[[https://basilisk-browser.org/|Basilisk]]%0a%0aPros:%0a%0aCons:%0a%0a +time=1608385089 +author:1608385089=jrmu +diff:1608385089:1608385089:=1,6d0%0a%3c [[https://basilisk-browser.org/|Basilisk]]%0a%3c %0a%3c Pros:%0a%3c %0a%3c Cons:%0a%3c %0a +host:1608385089=125.231.58.78 blob - /dev/null blob + e5728b0813d7c122870df590ef34c64102bb4ab1 (mode 644) --- /dev/null +++ wiki.d/Third.Catalog,del-1606117971 @@ -0,0 +1,75 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606097211 +host=125.231.28.211 +name=Third.Catalog +rev=21 +targets=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 +text=Operating Systems%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| OpenBSD || NetBSD || OpenIndiana ||%0a|| Gentoo || Slackware || Alpine Linux || Dragora || Mageia || Devuan ||%0a|| ReactOS ||%0a|| Replicant || LineageOS || PostmarketOS ||%0a%0aWeb Browser%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| Dillo || Basilisk || Surf || GNOME Web || Pale Moon || K-Meleon || Konqueror ||%0a|| Midori || NetSurf || WaterFox || Falkon || qutebrowser ||%0a|| w3m || lynx || links || elinks ||%0a%0aEmail%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| Claws || K-9 || ||%0a|| mutt || alpine ||%0a%0aInstant Messaging%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a|| [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a|| [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a|| [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a|| [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a|| [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a|| [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a|| [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a|| [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a# W = Wine emulation%0a%0aFile Storage%0a%0aWord Processor%0a%0aFile Sharing%0a%0aPassword Manager%0a%0aVideo/phone calling%0a%0aCryptocurrency%0a%0aText Editors%0a%0aGopher%0a%0aMultimedia%0a%0aTo qualify on this list, the software must be fully free and open source, not capable of centralized censorship, and not heavily under corporate control. +time=1606102104 +author:1606102104=jrmu +diff:1606102104:1606102059:=5c5%0a%3c || Gentoo || Slackware || Alpine Linux || Dragora || Mageia || Devuan ||%0a---%0a> || Gentoo || Slackware || Alpine Linux || Dragora || Mageia ||%0a +host:1606102104=125.231.28.211 +author:1606102059=jrmu +diff:1606102059:1606102022:= +host:1606102059=125.231.28.211 +author:1606102022=jrmu +diff:1606102022:1606102011:=5c5%0a%3c || Gentoo || Slackware || Alpine Linux || Dragora || Mageia ||%0a---%0a> || Gentoo || Slackware || Alpine Linux || Dragora ||%0a +host:1606102022=125.231.28.211 +author:1606102011=jrmu +diff:1606102011:1606101915:=4,5c4%0a%3c || OpenBSD || NetBSD || OpenIndiana ||%0a%3c || Gentoo || Slackware || Alpine Linux || Dragora ||%0a---%0a> || OpenBSD || NetBSD || OpenIndiana || Gentoo || Slackware || Alpine Linux ||%0a +host:1606102011=125.231.28.211 +author:1606101915=jrmu +diff:1606101915:1606100816:=4,5c4%0a%3c || OpenBSD || NetBSD || OpenIndiana || Gentoo || Slackware || Alpine Linux ||%0a%3c || ReactOS ||%0a---%0a> || OpenBSD || NetBSD || OpenIndiana || Gentoo || Slackware || ReactOS ||%0a +host:1606101915=125.231.28.211 +author:1606100816=jrmu +diff:1606100816:1606100666:=22,43c22%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC Clients !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a%3c || [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a%3c # W = Wine emulation%0a---%0a> || irssi || weechat ||%0a +host:1606100816=125.231.28.211 +author:1606100666=jrmu +diff:1606100666:1606100350:=5d4%0a%3c || Replicant || LineageOS || PostmarketOS ||%0a +host:1606100666=125.231.28.211 +author:1606100350=jrmu +diff:1606100350:1606099687:=4c4%0a%3c || OpenBSD || NetBSD || OpenIndiana || Gentoo || Slackware || ReactOS ||%0a---%0a> || OpenBSD || NetBSD || Gentoo || Slackware || ReactOS ||%0a +host:1606100350=125.231.28.211 +author:1606099687=jrmu +diff:1606099687:1606099499:=10c10%0a%3c || Midori || NetSurf || WaterFox || Falkon || qutebrowser ||%0a---%0a> || Midori || NetSurf || WaterFox ||%0a16c16%0a%3c || Claws || K-9 || ||%0a---%0a> || Claws || K-9 ||%0a21c21%0a%3c || irssi || weechat ||%0a---%0a> || irssi ||%0a +host:1606099687=125.231.28.211 +author:1606099499=jrmu +diff:1606099499:1606098917:=9,10c9%0a%3c || Dillo || Basilisk || Surf || GNOME Web || Pale Moon || K-Meleon || Konqueror ||%0a%3c || Midori || NetSurf || WaterFox ||%0a---%0a> || Dillo || Basilisk || Surf || GNOME Web || Pale Moon ||%0a +host:1606099499=125.231.28.211 +author:1606098917=jrmu +diff:1606098917:1606098622:=10,11c10,11%0a%3c || w3m || lynx || links || elinks ||%0a%3c %0a---%0a> || w3m || lynx ||%0a> %0a33,38d32%0a%3c %0a%3c Text Editors%0a%3c %0a%3c Gopher%0a%3c %0a%3c Multimedia%0a +host:1606098917=125.231.28.211 +author:1606098622=jrmu +diff:1606098622:1606098605:=9c9%0a%3c || Dillo || Basilisk || Surf || GNOME Web || Pale Moon ||%0a---%0a> || Dillo || Basilisk || Surf || GNOME Web ||%0a +host:1606098622=125.231.28.211 +author:1606098605=jrmu +diff:1606098605:1606098566:=9c9%0a%3c || Dillo || Basilisk || Surf || GNOME Web ||%0a---%0a> || Epiphany || Dillo || Basilisk || Surf ||%0a +host:1606098605=125.231.28.211 +author:1606098566=jrmu +diff:1606098566:1606098492:=26a27,28%0a> %0a> Code Hosting%0a +host:1606098566=125.231.28.211 +author:1606098492=jrmu +diff:1606098492:1606098195:=24c24%0a%3c Word Processor%0a---%0a> Word Processing%0a +host:1606098492=125.231.28.211 +author:1606098195=jrmu +diff:1606098195:1606098078:=9,11c9,10%0a%3c || Epiphany || Dillo || Basilisk || Surf ||%0a%3c || w3m || lynx ||%0a%3c %0a---%0a> || Epiphany || Dillo || Surf || w3m || lynx ||%0a> %0a16,17c15%0a%3c || mutt || alpine ||%0a%3c %0a---%0a> %0a19,20d16%0a%3c %0a%3c || irssi ||%0a +host:1606098195=125.231.28.211 +author:1606098078=jrmu +diff:1606098078:1606097859:=32c32%0a%3c To qualify on this list, the software must be fully free and open source, not capable of centralized censorship, and not heavily under corporate control.%0a\ No newline at end of file%0a---%0a> To qualify on this list, the software must be fully free and open source and not heavily under corporate control.%0a\ No newline at end of file%0a +host:1606098078=125.231.28.211 +author:1606097859=jrmu +diff:1606097859:1606097405:=30,32c30%0a%3c Cryptocurrency%0a%3c %0a%3c To qualify on this list, the software must be fully free and open source and not heavily under corporate control.%0a\ No newline at end of file%0a---%0a> Cryptocurrency%0a\ No newline at end of file%0a +host:1606097859=125.231.28.211 +author:1606097405=jrmu +diff:1606097405:1606097331:=3d2%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a8d6%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a13d10%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1606097405=125.231.28.211 +author:1606097331=jrmu +diff:1606097331:1606097211:=3,4d2%0a%3c || OpenBSD || NetBSD || Gentoo || Slackware || ReactOS ||%0a%3c %0a7,8d4%0a%3c || Epiphany || Dillo || Surf || w3m || lynx ||%0a%3c %0a10,11d5%0a%3c %0a%3c || Claws || K-9 ||%0a +host:1606097331=125.231.28.211 +author:1606097211=jrmu +diff:1606097211:1606097211:=1,21d0%0a%3c Operating Systems%0a%3c %0a%3c Web Browser%0a%3c %0a%3c Email%0a%3c %0a%3c Instant Messaging%0a%3c %0a%3c File Storage%0a%3c %0a%3c Word Processing%0a%3c %0a%3c File Sharing%0a%3c %0a%3c Code Hosting%0a%3c %0a%3c Password Manager%0a%3c %0a%3c Video/phone calling%0a%3c %0a%3c Cryptocurrency%0a\ No newline at end of file%0a +host:1606097211=125.231.28.211 blob - /dev/null blob + 9748c4072a023467e778fd65460f9decf45b77f1 (mode 644) --- /dev/null +++ wiki.d/Third.Devs @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1616845263 +host=198.251.81.44 +name=Third.Devs +rev=1 +targets= +text=Attach:Marketing/madeonirc.png +time=1616845263 +author:1616845263=jrmu +diff:1616845263:1616845263:=1d0%0a%3c Attach:Marketing/madeonirc.png%0a\ No newline at end of file%0a +host:1616845263=198.251.81.44 blob - /dev/null blob + 9a3649ce5952f17176901df2bdb2506c65976a16 (mode 644) --- /dev/null +++ wiki.d/Third.Dillo @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1608385138 +host=125.231.58.78 +name=Third.Dillo +rev=2 +targets= +text=[[https://www.dillo.org|Dillo]]%0a%0aPros:%0a# Supports Windows/Mac/Linux/BSD browser known for its speed and small footprint.%0a# Dillo is written in C and C++.%0a# Dillo is based on FLTK and is statically-linked by default!%0a# Dillo has simple code%0a# Dilo is lightweight and relatively secure%0a%0aCons%0a# Dillo is free software made available under the terms of the GNU General Public License (GPLv3).%0a# No javascript support%0a +time=1608385931 +author:1608385931=jrmu +diff:1608385931:1608385138:=1,12c1%0a%3c [[https://www.dillo.org|Dillo]]%0a%3c %0a%3c Pros:%0a%3c # Supports Windows/Mac/Linux/BSD browser known for its speed and small footprint.%0a%3c # Dillo is written in C and C++.%0a%3c # Dillo is based on FLTK and is statically-linked by default!%0a%3c # Dillo has simple code%0a%3c # Dilo is lightweight and relatively secure%0a%3c %0a%3c Cons%0a%3c # Dillo is free software made available under the terms of the GNU General Public License (GPLv3).%0a%3c # No javascript support%0a---%0a> [[https://www.dillo.org|Dillo]]%0a\ No newline at end of file%0a +host:1608385931=125.231.58.78 +author:1608385138=jrmu +diff:1608385138:1608385138:=1d0%0a%3c [[https://www.dillo.org|Dillo]]%0a\ No newline at end of file%0a +host:1608385138=125.231.58.78 blob - /dev/null blob + 726ec2ac4b1123722c430e999d9b7fe7fcef27a4 (mode 644) --- /dev/null +++ wiki.d/Third.Directory @@ -0,0 +1,48 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1606117952 +host=125.231.58.78 +name=Third.Directory +rev=12 +targets=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 +text=!! Break the Blockade%0a%0aSoftware companies around the world are waging an assault against user freedom. We need to break the blockade and switch our users over to software that protect users' freedom to control their own computers.%0a%0aOperating Systems%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| OpenBSD || NetBSD || OpenIndiana ||%0a|| Gentoo || Slackware || Alpine Linux || Dragora || Mageia || Devuan ||%0a|| ReactOS ||%0a|| Replicant || LineageOS || PostmarketOS ||%0a%0aWeb Browser%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| [[third/Dillo|Dillo]] || [[third/basilisk|Basilisk]] || [[third/surf|Surf]] || [[third/gnomeweb|GNOME Web]] || [[third/palemoon|Pale Moon]] || [[third/kmeleon|K-Meleon]] || [[third/konqueror|Konqueror]] ||%0a|| [[third/midori|Midori]] || [[third/netsurf|NetSurf]] || [[third/waterfox|WaterFox]] || [[third/falkon|Falkon]] || [[third/qutebrowser|qutebrowser]] ||%0a|| w3m || lynx || links || elinks ||%0a%0aEmail%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a|| Claws || K-9 || Evolution || Thunderbird || Balsa || KMail || Sylpheed || Trojita || Mulberry || Geary || Gnumail || spicebird || squirrelmail || %0a|| mutt || alpine || cone || elm || mailx || nmh || gnus ||%0a%0aInstant Messaging%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! IRC Clients !||%0a||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a|| [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a|| [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a|| [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a|| [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a|| [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a|| [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a|| [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a|| [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a|| [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a|| [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a# W = Wine emulation%0a%0aFile Storage%0a%0aFTP clients%0a%0acURL%0aCyberduck%0aFAR Manager%0aFileZilla%0aFireFTP%0aFugu%0agFTP%0alftp%0aMacfusion%0aNcFTP%0anet2ftp%0aRclone%0atnftp%0aWinSCP%0a%0aSFTP clients%0a%0aSCP clients%0a%0aRsync clients%0a%0aSSH clients%0a%0a|| ConnectBot || Dropbear || PuTTY ||%0a%0aWord Processor%0a%0a|| AbiWord || Apache OpenOffice Writer || Calligra Words || LibreOffice || EtherPad ||%0a|| GNU TeXmacs || Groff || LaTeX || JWPce || KWord || LyX || OnlyOffice Desktop Editors || Ted || Trelby || TextEdit ||%0a%0aFile Sharing%0a%0aPassword Manager%0a%0aVideo/phone calling%0a%0aCryptocurrency%0a%0aText Editors%0a%0aGopher%0a%0aMultimedia%0a%0aTo qualify on this list, the software must be fully free and open source, not capable of centralized censorship, and not heavily under corporate control. +time=1608384945 +author:1608384945=jrmu +diff:1608384945:1606788537:=16,17c16,17%0a%3c || [[third/Dillo|Dillo]] || [[third/basilisk|Basilisk]] || [[third/surf|Surf]] || [[third/gnomeweb|GNOME Web]] || [[third/palemoon|Pale Moon]] || [[third/kmeleon|K-Meleon]] || [[third/konqueror|Konqueror]] ||%0a%3c || [[third/midori|Midori]] || [[third/netsurf|NetSurf]] || [[third/waterfox|WaterFox]] || [[third/falkon|Falkon]] || [[third/qutebrowser|qutebrowser]] ||%0a---%0a> || Dillo || Basilisk || Surf || GNOME Web || Pale Moon || K-Meleon || Konqueror ||%0a> || Midori || NetSurf || WaterFox || Falkon || qutebrowser ||%0a +host:1608384945=125.231.58.78 +author:1606788537=jrmu +diff:1606788537:1606786575:=61,69c61,68%0a%3c gFTP%0a%3c lftp%0a%3c Macfusion%0a%3c NcFTP%0a%3c net2ftp%0a%3c Rclone%0a%3c tnftp%0a%3c WinSCP%0a%3c %0a---%0a> gFTP Brian Masney 1998 2.0.19 November 30, 2008; 11 years ago GPL Yes GTK+%0a> lftp Alexander V. Lukyanov 1996 (August) 4.9.2 (August 13, 2020; 3 months ago[4]) [±] GPL Yes CLI%0a> Macfusion Michael Gorbach ? 2.0.4 BSD ? GUI%0a> NcFTP NcFTP Software Inc. 1991 3.2.6 November 27, 2016; 3 years ago Clarified Artistic License Yes CLI%0a> net2ftp David C. Gartner 2003 (January) 0.98 March 1, 2013; 7 years ago GPL ? Web application%0a> Rclone Nick Craig-Wood 2014 (July) 1.53.3 November 19, 2020; 3 days ago MIT Yes CLI%0a> tnftp Luke Mewburn 1999 20151004 October 4, 2015; 5 years ago BSD Yes CLI%0a> WinSCP Martin Přikryl 2000 5.17.9[5] (November 20, 2020; 2 days ago) [±] GPL Yes GUI and CLI%0a +host:1606788537=125.231.24.182 +author:1606786575=jrmu +diff:1606786575:1606783565:=55,60c55,60%0a%3c cURL%0a%3c Cyberduck%0a%3c FAR Manager%0a%3c FileZilla%0a%3c FireFTP%0a%3c Fugu%0a---%0a> cURL Daniel Stenberg 1998 7.73.0 (14 October 2020; 39 days ago[2]) [±] MIT Yes CLI%0a> Cyberduck David V. Kocher 2001 7.2.5 January 1, 2020; 10 months ago GPL Yes GUI and CLI%0a> FAR Manager Eugene Roshal / FAR Group 1996 3.0 build 5665 (12 September 2020; 2 months ago) [±] BSD Yes TUI%0a> *FileZilla Community 2001 (January) 3.51.0 (20 October 2020; 33 days ago) [±][3] GPL Yes GUI%0a> FireFTP Mime Čuvalo 2004 (September) 2.0.32 (February 1, 2019; 21 months ago) [±] MPL 1.1, Charityware Yes (since version 2.0.5) Waterfox, Firefox pre-version 57 addon%0a> Fugu University of Michigan Research Systems Unix Group 2003 1.2.0 May 2, 2005; 15 years ago BSD ? GUI%0a +host:1606786575=125.231.24.182 +author:1606783565=jrmu +diff:1606783565:1606783442:=76,77d75%0a%3c %0a%3c || ConnectBot || Dropbear || PuTTY ||%0a +host:1606783565=198.251.81.119 +author:1606783442=jrmu +diff:1606783442:1606783296:=80c80%0a%3c || GNU TeXmacs || Groff || LaTeX || JWPce || KWord || LyX || OnlyOffice Desktop Editors || Ted || Trelby || TextEdit ||%0a---%0a> || GNU TeXmacs || Groff || LaTeX || JWPce || KWord || LyX || OnlyOffice Desktop Editors || Ted || Trelby ||%0a +host:1606783442=198.251.81.119 +author:1606783296=jrmu +diff:1606783296:1606781870:=53,76d52%0a%3c FTP clients%0a%3c %0a%3c cURL Daniel Stenberg 1998 7.73.0 (14 October 2020; 39 days ago[2]) [±] MIT Yes CLI%0a%3c Cyberduck David V. Kocher 2001 7.2.5 January 1, 2020; 10 months ago GPL Yes GUI and CLI%0a%3c FAR Manager Eugene Roshal / FAR Group 1996 3.0 build 5665 (12 September 2020; 2 months ago) [±] BSD Yes TUI%0a%3c *FileZilla Community 2001 (January) 3.51.0 (20 October 2020; 33 days ago) [±][3] GPL Yes GUI%0a%3c FireFTP Mime Čuvalo 2004 (September) 2.0.32 (February 1, 2019; 21 months ago) [±] MPL 1.1, Charityware Yes (since version 2.0.5) Waterfox, Firefox pre-version 57 addon%0a%3c Fugu University of Michigan Research Systems Unix Group 2003 1.2.0 May 2, 2005; 15 years ago BSD ? GUI%0a%3c gFTP Brian Masney 1998 2.0.19 November 30, 2008; 11 years ago GPL Yes GTK+%0a%3c lftp Alexander V. Lukyanov 1996 (August) 4.9.2 (August 13, 2020; 3 months ago[4]) [±] GPL Yes CLI%0a%3c Macfusion Michael Gorbach ? 2.0.4 BSD ? GUI%0a%3c NcFTP NcFTP Software Inc. 1991 3.2.6 November 27, 2016; 3 years ago Clarified Artistic License Yes CLI%0a%3c net2ftp David C. Gartner 2003 (January) 0.98 March 1, 2013; 7 years ago GPL ? Web application%0a%3c Rclone Nick Craig-Wood 2014 (July) 1.53.3 November 19, 2020; 3 days ago MIT Yes CLI%0a%3c tnftp Luke Mewburn 1999 20151004 October 4, 2015; 5 years ago BSD Yes CLI%0a%3c WinSCP Martin Přikryl 2000 5.17.9[5] (November 20, 2020; 2 days ago) [±] GPL Yes GUI and CLI%0a%3c SFTP clients%0a%3c %0a%3c SCP clients%0a%3c %0a%3c Rsync clients%0a%3c %0a%3c SSH clients%0a%3c %0a78,80d53%0a%3c %0a%3c || AbiWord || Apache OpenOffice Writer || Calligra Words || LibreOffice || EtherPad ||%0a%3c || GNU TeXmacs || Groff || LaTeX || JWPce || KWord || LyX || OnlyOffice Desktop Editors || Ted || Trelby ||%0a +host:1606783296=198.251.81.119 +author:1606781870=jrmu +diff:1606781870:1606781825:=23c23%0a%3c || Claws || K-9 || Evolution || Thunderbird || Balsa || KMail || Sylpheed || Trojita || Mulberry || Geary || Gnumail || spicebird || squirrelmail || %0a---%0a> || Claws || K-9 || Evolution || Thunderbird || balsa || KMail || Sylpheed || Trojita || Mulberry || Geary || Gnumail || spicebird || squirrelmail || %0a +host:1606781870=198.251.81.119 +author:1606781825=jrmu +diff:1606781825:1606120451:=23,24c23,24%0a%3c || Claws || K-9 || Evolution || Thunderbird || balsa || KMail || Sylpheed || Trojita || Mulberry || Geary || Gnumail || spicebird || squirrelmail || %0a%3c || mutt || alpine || cone || elm || mailx || nmh || gnus ||%0a---%0a> || Claws || K-9 || ||%0a> || mutt || alpine ||%0a +host:1606781825=198.251.81.119 +author:1606120451=jrmu +diff:1606120451:1606120438:=1c1%0a%3c !! Break the Blockade%0a---%0a> #Break the Blockade%0a +host:1606120451=198.251.81.119 +author:1606120438=jrmu +diff:1606120438:1606120425:=1,3c1,3%0a%3c #Break the Blockade%0a%3c %0a%3c Software companies around the world are waging an assault against user freedom. We need to break the blockade and switch our users over to software that protect users' freedom to control their own computers.%0a---%0a> Break the Blockade%0a> %0a> Software companies around the world are waging an assault against user freedom. We need to break the blockade and switch our users over to software that protect users' freedom to control their own computer.%0a +host:1606120438=198.251.81.119 +author:1606120425=jrmu +diff:1606120425:1606117952:=1,4d0%0a%3c Break the Blockade%0a%3c %0a%3c Software companies around the world are waging an assault against user freedom. We need to break the blockade and switch our users over to software that protect users' freedom to control their own computer.%0a%3c %0a +host:1606120425=198.251.81.119 +author:1606117952=jrmu +diff:1606117952:1606117952:=1,65d0%0a%3c Operating Systems%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || OpenBSD || NetBSD || OpenIndiana ||%0a%3c || Gentoo || Slackware || Alpine Linux || Dragora || Mageia || Devuan ||%0a%3c || ReactOS ||%0a%3c || Replicant || LineageOS || PostmarketOS ||%0a%3c %0a%3c Web Browser%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || Dillo || Basilisk || Surf || GNOME Web || Pale Moon || K-Meleon || Konqueror ||%0a%3c || Midori || NetSurf || WaterFox || Falkon || qutebrowser ||%0a%3c || w3m || lynx || links || elinks ||%0a%3c %0a%3c Email%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || Claws || K-9 || ||%0a%3c || mutt || alpine ||%0a%3c %0a%3c Instant Messaging%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! IRC Clients !||%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.adium|Adium]] || || ✓ || || || || || GPL ||%0a%3c || [[bouncer.atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.icechat|IceChat]] || ✓ || W || W || || || || GPLv2 ||%0a%3c || [[bouncer.irssi|irssi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.kvirc|KVIrc]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.kiwiirc|KiwiIRC]] || || || || || || ✓ || Apache 2.0 ||%0a%3c || [[bouncer.limechat|Limechat]] || || ✓ || || || ✓ || || GPLv2 ||%0a%3c || [[bouncer.pidgin|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.quassel|Quassel]] || ✓ || ✓ || ✓ || ✓ || ✓ || || GPLv2 ||%0a%3c || [[bouncer.revolutionirc|Revolution IRC]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.simpleirc|simpleirc]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.smuxi|smuxi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[bouncer.thunderbird|Thunderbird]] || ✓ || ✓ || ✓ || || || || MPL 2.0 ||%0a%3c || [[bouncer.weechat|weechat]] || ✓ || ✓ || ✓ || || || ✓ || GPLv3 ||%0a%3c || [[bouncer.yaaic|yaaic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.xchat|XChat]] || ✓ || [[bouncer/XChatAzure|✓]] || ✓ || || || || Proprietary/GPL ||%0a%3c # W = Wine emulation%0a%3c %0a%3c File Storage%0a%3c %0a%3c Word Processor%0a%3c %0a%3c File Sharing%0a%3c %0a%3c Password Manager%0a%3c %0a%3c Video/phone calling%0a%3c %0a%3c Cryptocurrency%0a%3c %0a%3c Text Editors%0a%3c %0a%3c Gopher%0a%3c %0a%3c Multimedia%0a%3c %0a%3c To qualify on this list, the software must be fully free and open source, not capable of centralized censorship, and not heavily under corporate control.%0a\ No newline at end of file%0a +host:1606117952=198.251.81.119 blob - /dev/null blob + 179f2c583c5bbe59b53e24c417695dfe3a700108 (mode 644) --- /dev/null +++ wiki.d/Third.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1602813137 +host=198.251.81.44 +name=Third.RecentChanges +rev=55 +text=* [[Third/Devs]] . . . March 27, 2021, at 11:41 AM by [[~jrmu]]: [==]%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* [[Third/Third]] . . . December 01, 2020, at 01:49 AM by [[~jrmu]]: [==]%0a* [[Third/Catalog]] . . . November 23, 2020, at 07:52 AM by [[~jrmu]]: [==]%0a +time=1616845263 blob - /dev/null blob + de81561b04f98eab3cd8f17cd298947dd90e296d (mode 644) --- /dev/null +++ wiki.d/Third.Third @@ -0,0 +1,64 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1602813137 +host=125.231.24.182 +name=Third.Third +rev=17 +targets=Third.Directory +text=(:title Third Party Free Ecosystem:)%0a%0aSuggested apps:%0a%0a# Games - [[https://www.minetest.net|Minetest.net]], [[https://www.minetest.org|Minetest.org]], [[https://play0ad.com/|0ad]], [[https://www.openttd.org/|OpenTTD]]%0a# Blogs - [[https://www.undeadly.org/|Undeadly]]%0a# Wiki - [[https://www.pmwiki.org/|PMWiki]]%0a# [[https://www.minetest.net/|Minetest]], [[https://www.openttd.org/|OpenTTD]], [[https://play0ad.com/|0ad]]%0a# [[https://icecast.org/|Icecast]]%0a# [[https://www.asterisk.org/|Asterisk (telephony)]]%0a# IRC Forum - [[https://fluxbb.org|FluxBB]]%0a# Marketplace - [[https://www.oscommerce.com|OSCommerce]]%0a# Educational courseware%0a# Pastebins: [[https://projects.malikania.fr/paster|paster]] and [[https://projects.malikania.fr/imgup|imgup]]%0a%0aIRC Bots%0a%0a# Chat Bots - [[https://eggheads.org/|Eggdrop]] + perl + python (using botnow)%0a# Advertising Bots%0a# IRC Data Mining -- python's [[https://www.nltk.org/book/|nltk.org]]%0a# IRC Bridges -- [[https://github.com/42wim/matterbridge|matterbridge]]%0a # Social media for Discord%0a # Telegram%0a # Slack%0a # Signal%0a%0aIRC Web App%0a%0a[[third/directory|User-centered Software Catalog]] +time=1606787377 +title=Third Party Free Ecosystem +author:1606787377=jrmu +diff:1606787377:1606781011:=14d13%0a%3c # Pastebins: [[https://projects.malikania.fr/paster|paster]] and [[https://projects.malikania.fr/imgup|imgup]]%0a +host:1606787377=125.231.24.182 +author:1606781011=jrmu +diff:1606781011:1606557833:=28c28%0a%3c [[third/directory|User-centered Software Catalog]]%0a\ No newline at end of file%0a---%0a> [[third/catalog|User-centered Software Catalog]]%0a\ No newline at end of file%0a +host:1606781011=198.251.81.119 +author:1606557833=jrmu +diff:1606557833:1606556802:=5d4%0a%3c # Games - [[https://www.minetest.net|Minetest.net]], [[https://www.minetest.org|Minetest.org]], [[https://play0ad.com/|0ad]], [[https://www.openttd.org/|OpenTTD]]%0a +host:1606557833=198.251.81.119 +author:1606556802=jrmu +diff:1606556802:1606556489:=3,4d2%0a%3c Suggested apps:%0a%3c %0a10,11c8,9%0a%3c # IRC Forum - [[https://fluxbb.org|FluxBB]]%0a%3c # Marketplace - [[https://www.oscommerce.com|OSCommerce]]%0a---%0a> # IRC Forum - FluxBB?%0a> # Marketplace - OSCommerce?%0a16c14%0a%3c # Chat Bots - [[https://eggheads.org/|Eggdrop]] + perl + python (using botnow)%0a---%0a> # Chat Bots - Eggdrop + perl + python (using botnow)%0a18,23c16,17%0a%3c # IRC Data Mining -- python's [[https://www.nltk.org/book/|nltk.org]]%0a%3c # IRC Bridges -- [[https://github.com/42wim/matterbridge|matterbridge]]%0a%3c # Social media for Discord%0a%3c # Telegram%0a%3c # Slack%0a%3c # Signal%0a---%0a> # IRC Data Mining -- python's nltk.org%0a> # IRC Bridges -- pylink, matterbridge, bitlbee%0a +host:1606556802=198.251.81.119 +author:1606556489=jrmu +diff:1606556489:1606531394:=6,7c6,7%0a%3c # [[https://icecast.org/|Icecast]]%0a%3c # [[https://www.asterisk.org/|Asterisk (telephony)]]%0a---%0a> # Icecast%0a> # Asterisk (phone)%0a +host:1606556489=198.251.81.119 +author:1606531394=jrmu +diff:1606531394:1606530866:=5c5%0a%3c # [[https://www.minetest.net/|Minetest]], [[https://www.openttd.org/|OpenTTD]], [[https://play0ad.com/|0ad]]%0a---%0a> # [[https://www.minetest.net/|Minetest]]%0a +host:1606531394=198.251.81.119 +author:1606530866=jrmu +diff:1606530866:1606530380:=3,5c3,5%0a%3c # Blogs - [[https://www.undeadly.org/|Undeadly]]%0a%3c # Wiki - [[https://www.pmwiki.org/|PMWiki]]%0a%3c # [[https://www.minetest.net/|Minetest]]%0a---%0a> # Blogs%0a> # Wiki - PMWiki%0a> # Minetest%0a +host:1606530866=198.251.81.119 +author:1606530380=jrmu +diff:1606530380:1606528163:=19a20,25%0a> %0a> Requirements:%0a> %0a> 5 hours/week commitment%0a> %0a> connect to irc.ircnow.org and /join #team%0a +host:1606530380=198.251.81.119 +author:1606528163=jrmu +diff:1606528163:1606528109:=0a1,13%0a> (:title Be an IRCNow Helper!:)%0a> %0a> If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a> %0a> !! Your Reward%0a> %0a> # '''Free OpenBSD VPS'''%0a> # Learn UNIX sysadmin with real servers%0a> # Learn to write code for real users%0a> # Hang out with friends while [[ircnow/goals|improving IRC]]%0a> # Add a new work experience for your CV/resume%0a> # Help [[freedom|improve freedom]] on the internet %0a> %0a27c40,64%0a%3c [[third/catalog|User-centered Software Catalog]]%0a\ No newline at end of file%0a---%0a> We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a> %0a> !! How to Apply%0a> %0a> # [[shell/shell|Request a shell account]]%0a> # Learn the system by following our [[tutorial/tutorial|UNIX tutorials]]. We require all recruits finish training tutorials before applying.%0a> # Take the time to learn [[openbsd|OpenBSD]].%0a> # Learn [[ircnow/howtoask|how to ask smart questions]].%0a> # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a> # Send us a resume to [[mailto:admin@ircnow.org|admin@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a> # Meet up with us for an interview.%0a> %0a> If you qualify, we'll invite you to join our team training channel. After training, we will pair you with teammates to work on a server.%0a> %0a> !! Your Duties%0a> %0a> # You must commit to help our network 5 hours per week%0a> # You must be willing to help with customer support, documentation, and other non-coding tasks%0a> %0a> # [[ircnow/roadmap|IRCNow Roadmap]]%0a> # [[ircnow/todo|IRCNow Todo List]]%0a> # [[ircnow/helpers|IRCNow Helpers]]%0a> # [[ircnow/networks|Supported Networks]]%0a> %0a> [[third/directory|User-centered Software Directory]]%0a\ No newline at end of file%0a +host:1606528163=198.251.81.119 +author:1606528109=jrmu +diff:1606528109:1606117945:=1,13d0%0a%3c (:title Be an IRCNow Helper!:)%0a%3c %0a%3c If you would like to help [[ircnow/goals|improve IRC]] while learning sysadmin and coding skills, we would love to have you join our team.%0a%3c %0a%3c !! Your Reward%0a%3c %0a%3c # '''Free OpenBSD VPS'''%0a%3c # Learn UNIX sysadmin with real servers%0a%3c # Learn to write code for real users%0a%3c # Hang out with friends while [[ircnow/goals|improving IRC]]%0a%3c # Add a new work experience for your CV/resume%0a%3c # Help [[freedom|improve freedom]] on the internet %0a%3c %0a39,62d25%0a%3c %0a%3c We would like to someday pay salaries to our staff, but we cannot afford to do so at this time.%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c # [[shell/shell|Request a shell account]]%0a%3c # Learn the system by following our [[tutorial/tutorial|UNIX tutorials]]. We require all recruits finish training tutorials before applying.%0a%3c # Take the time to learn [[openbsd|OpenBSD]].%0a%3c # Learn [[ircnow/howtoask|how to ask smart questions]].%0a%3c # Become familiar with our [[ircnow/goals|goals for IRC]] and our [[freedom/freedom|commitment to user freedom]].%0a%3c # Send us a resume to [[mailto:admin@ircnow.org|admin@ircnow.org]]. Please provide your full legal name, address, phone number, work references, and any websites or social media links about you. %0a%3c # Meet up with us for an interview.%0a%3c %0a%3c If you qualify, we'll invite you to join our team training channel. After training, we will pair you with teammates to work on a server.%0a%3c %0a%3c !! Your Duties%0a%3c %0a%3c # You must commit to help our network 5 hours per week%0a%3c # You must be willing to help with customer support, documentation, and other non-coding tasks%0a%3c %0a%3c # [[ircnow/roadmap|IRCNow Roadmap]]%0a%3c # [[ircnow/todo|IRCNow Todo List]]%0a%3c # [[ircnow/helpers|IRCNow Helpers]]%0a%3c # [[ircnow/networks|Supported Networks]]%0a +host:1606528109=198.251.81.119 +author:1606117945=jrmu +diff:1606117945:1606095666:=27c27%0a%3c [[third/directory|User-centered Software Directory]]%0a\ No newline at end of file%0a---%0a> [[third/catalog|User-centered Software Catalog]]%0a\ No newline at end of file%0a +host:1606117945=198.251.81.119 +author:1606095666=jrmu +diff:1606095666:1602816526:=25,27c25%0a%3c connect to irc.ircnow.org and /join #team%0a%3c %0a%3c [[third/catalog|User-centered Software Catalog]]%0a\ No newline at end of file%0a---%0a> connect to irc.ircnow.org and /join #team%0a\ No newline at end of file%0a +host:1606095666=125.231.28.211 +author:1602816526=jrmu +diff:1602816526:1602816471:=10d9%0a%3c # Educational courseware%0a +host:1602816526=125.231.17.204 +author:1602816471=jrmu +diff:1602816471:1602814650:=19,24d18%0a%3c %0a%3c Requirements:%0a%3c %0a%3c 5 hours/week commitment%0a%3c %0a%3c connect to irc.ircnow.org and /join #team%0a\ No newline at end of file%0a +host:1602816471=125.231.17.204 +author:1602814650=jrmu +diff:1602814650:1602813182:=4c4%0a%3c # Wiki - PMWiki%0a---%0a> # PMWiki%0a8,10c8,10%0a%3c # IRC Forum - FluxBB?%0a%3c # Marketplace - OSCommerce?%0a%3c %0a---%0a> # IRC Forum%0a> # Marketplace%0a> %0a13c13%0a%3c # Chat Bots - Eggdrop + perl + python (using botnow)%0a---%0a> # Chat Bots%0a15,16c15,16%0a%3c # IRC Data Mining -- python's nltk.org%0a%3c # IRC Bridges -- pylink, matterbridge, bitlbee%0a---%0a> # IRC Data Mining%0a> # IRC Bridges%0a +host:1602814650=125.231.17.204 +author:1602813182=jrmu +diff:1602813182:1602813137:=17,18d16%0a%3c %0a%3c IRC Web App%0a +host:1602813182=125.231.17.204 +author:1602813137=jrmu +diff:1602813137:1602813137:=1,16d0%0a%3c (:title Third Party Free Ecosystem:)%0a%3c %0a%3c # Blogs%0a%3c # PMWiki%0a%3c # Minetest%0a%3c # Icecast%0a%3c # Asterisk (phone)%0a%3c # IRC Forum%0a%3c # Marketplace%0a%3c %0a%3c IRC Bots%0a%3c %0a%3c # Chat Bots%0a%3c # Advertising Bots%0a%3c # IRC Data Mining%0a%3c # IRC Bridges%0a +host:1602813137=125.231.17.204 blob - /dev/null blob + 32714881a428a56e9ff399d078f1656c7d39f055 (mode 644) --- /dev/null +++ wiki.d/Thunderbird.Connect @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613716544 +host=198.251.81.119 +name=Thunderbird.Connect +rev=10 +targets=Thunderbird.Pgp +text=# Download and Open Thunderbird%0a# From the menu, select @@Tools@@ → @@Account Settings@@:\\%0aAttach:thunderbird01.png%0a# At the bottom left-corner, click on @@Account Actions@@ → @@Add Mail Account@@:\\%0aAttach:thunderbird02.png%0a# Fill in your name, email address, and password. Then, click on @@Configure manually...@@.\\%0aFor IMAP, @@Server@@ is @@imap.ircnow.org@@, @@Port@@ is 143, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.\\%0aFor SMTP, @@Server@@ is @@mail.ircnow.org@@, @@Port@@ is 587, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.\\%0aAttach:thunderbird05.png%0a# You can customize your new account. Once done, switch to the Inbox tab at the top-left corner.\\%0aAttach:thunderbird06.png%0a# Configuration is complete!\\%0aAttach:thunderbird07.png%0a%0aWe encourage you to [[thunderbird/pgp|configure PGP]] for security. +time=1613727389 +author:1613727389=jrmu +diff:1613727389:1613727363:=8c8%0a%3c For SMTP, @@Server@@ is @@mail.ircnow.org@@, @@Port@@ is 587, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.\\%0a---%0a> For SMTP, @@Server@@ is @@mail.ircnow.org@@, @@Port@@ is 587, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.%0a10c10%0a%3c # You can customize your new account. Once done, switch to the Inbox tab at the top-left corner.\\%0a---%0a> # You can customize your new account. Once done, switch to the Inbox tab at the top-left corner.%0a12c12%0a%3c # Configuration is complete!\\%0a---%0a> # Configuration is complete!%0a +host:1613727389=198.251.81.119 +author:1613727363=jrmu +diff:1613727363:1613726994:=10d9%0a%3c # You can customize your new account. Once done, switch to the Inbox tab at the top-left corner.%0a12,15c11%0a%3c # Configuration is complete!%0a%3c Attach:thunderbird07.png%0a%3c %0a%3c We encourage you to [[thunderbird/pgp|configure PGP]] for security.%0a\ No newline at end of file%0a---%0a> Attach:thunderbird07.png%0a\ No newline at end of file%0a +host:1613727363=198.251.81.119 +author:1613726994=jrmu +diff:1613726994:1613726981:=7c7%0a%3c For IMAP, @@Server@@ is @@imap.ircnow.org@@, @@Port@@ is 143, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.\\%0a---%0a> For IMAP, @@Server@@ is @@imap.ircnow.org@@, @@Port@@ is 143, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.%0a +host:1613726994=198.251.81.119 +author:1613726981=jrmu +diff:1613726981:1613726565:=6,8c6%0a%3c # Fill in your name, email address, and password. Then, click on @@Configure manually...@@.\\%0a%3c For IMAP, @@Server@@ is @@imap.ircnow.org@@, @@Port@@ is 143, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.%0a%3c For SMTP, @@Server@@ is @@mail.ircnow.org@@, @@Port@@ is 587, @@SSL@@ is @@STARTTLS@@, @@Authentication@@ is @@Normal password@@, @@Username@@ is your username.%0a---%0a> # \\%0a +host:1613726981=198.251.81.119 +author:1613726565=jrmu +diff:1613726565:1613726401:=2c2%0a%3c # From the menu, select @@Tools@@ → @@Account Settings@@:\\%0a---%0a> # From the menu, select @@Tools@@ → @@Account Settings@@\\%0a4c4%0a%3c # At the bottom left-corner, click on @@Account Actions@@ → @@Add Mail Account@@:\\%0a---%0a> #\\%0a +host:1613726565=198.251.81.119 +author:1613726401=jrmu +diff:1613726401:1613726250:=2c2%0a%3c # From the menu, select @@Tools@@ → @@Account Settings@@\\%0a---%0a> # \\%0a +host:1613726401=198.251.81.119 +author:1613726250=jrmu +diff:1613726250:1613725830:=1,2d0%0a%3c # Download and Open Thunderbird%0a%3c # \\%0a4d1%0a%3c #\\%0a6d2%0a%3c # \\%0a +host:1613726250=198.251.81.119 +author:1613725830=jrmu +diff:1613725830:1613725502:=5c5,11%0a%3c Attach:thunderbird07.png%0a\ No newline at end of file%0a---%0a> Attach:thunderbird07.png%0a> Attach:thunderbird08.png%0a> Attach:thunderbird09.png%0a> Attach:thunderbird10.png%0a> Attach:thunderbird11.png%0a> Attach:thunderbird12.png%0a> Attach:thunderbird13.png%0a\ No newline at end of file%0a +host:1613725830=198.251.81.119 +author:1613725502=jrmu +diff:1613725502:1613716544:=2a3,4%0a> Attach:thunderbird03.png%0a> Attach:thunderbird04.png%0a +host:1613725502=198.251.81.119 +author:1613716544=jrmu +diff:1613716544:1613716544:=1,13d0%0a%3c Attach:thunderbird01.png%0a%3c Attach:thunderbird02.png%0a%3c Attach:thunderbird03.png%0a%3c Attach:thunderbird04.png%0a%3c Attach:thunderbird05.png%0a%3c Attach:thunderbird06.png%0a%3c Attach:thunderbird07.png%0a%3c Attach:thunderbird08.png%0a%3c Attach:thunderbird09.png%0a%3c Attach:thunderbird10.png%0a%3c Attach:thunderbird11.png%0a%3c Attach:thunderbird12.png%0a%3c Attach:thunderbird13.png%0a\ No newline at end of file%0a +host:1613716544=198.251.81.119 blob - /dev/null blob + 6c8e82d2c6b5cfa01c405f5da124f54cb56b4ce3 (mode 644) --- /dev/null +++ wiki.d/Thunderbird.Pgp @@ -0,0 +1,84 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613742710 +host=198.251.81.119 +name=Thunderbird.Pgp +rev=24 +targets=Pgp.Upload +text=!! Generating a PGP Key%0a%0a# Go to @@Tools@@ → @@Account Settings@@, then from the left panel, select @@End-To-End Encryption@@.%0a# Click on @@Add Key...@@:\\%0aAttach:thunderbird-pgp-07.png%0a# If you have an existing OpenPGP Key, select @@Import an existing OpenPGP Key@@. In this tutorial, we will @@Create a new OpenPGP Key@@, so click @@Continue@@:\\%0aAttach:thunderbird-pgp-08.png%0a# Click @@Generate key@@:\\%0aAttach:thunderbird-pgp-09.png%0a# Click @@Confirm@@:\\%0aAttach:thunderbird-pgp-10.png%0a# Now when you write an email, you can attach your public key, sign the email, or encrypt the email.\\%0aAttach:thunderbird-pgp-11.png%0a%0a!! Importing a PGP Key%0a%0aThere are two ways to add a PGP key:%0a%0a!!! Import from URL%0a%0a# Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0aAttach:thunderbird-pgp-01.png%0a# Go to @@Edit@@ → @@Import Key(s) From URL@@:\\%0aAttach:thunderbird-pgp-02.png%0a# Paste the URL for the public key then click @@OK@@:\\%0aAttach:thunderbird-pgp-03.png%0a# Verify the key fingerprint and emails. Check the fingerprint to make sure it is the key you want.\\%0aYou will want to use an independent method (besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email, photo, or real life visit. If youf don't verify carefully, you can get scammed!\\%0aIf you accept the key, select @@Accepted (unverified)@@ then click @@OK@@.\\%0aAttach:thunderbird-pgp-04.png%0a# Click on @@View Details and manage key acceptance@@.\\%0aAttach:thunderbird-pgp-05.png%0a# For this step, you will need to independently verify that this key truly comes from the user it claims to be from. Use something besides the website URL, like a phone call or secure chat. If you don't verify carefully, you can get scammed!\\%0aIf you have verified the fingerprint, select @@Yes, I have verified in person this key has the correct fingerprint.@@. (The bottom row)\\%0aAttach:thunderbird-pgp-06.png%0a# Click @@OK@@ again, then click @@Close@@.%0a# When you view an email that has been signed with the key you imported, it should show as verified:\\%0aAttach:thunderbird-pgp-06b.png%0a%0a!!! Import from Clipboard%0a%0a# Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0aAttach:thunderbird-pgp-01.png%0a# Copy the entire public key into your clipboard by selecting the fingerprint then typing ⌘+C.%0a# Go to @@Edit@@ → @@Import Key(s) From Clipboard@@:\\%0aAttach:thunderbird-pgp-02.png%0a# Continue from Step 4 on @@Import from URL@@ above.%0a%0a!! Uploading a Public Key%0a%0a# Go to @@Tools@@ → @@OpenPGP Key Manager@@:%0a# Select @@Edit@@ → @@Copy Public Key(s) To Clipboard@@:\\%0aAttach:thunderbird-pgp-12.png%0a# Click @@Close@@:\\%0aAttach:thunderbird-pgp-13.png%0a# [[pgp/upload|Upload your key to a keyserver]]%0a%0a!! Signing an Email%0a%0a# At the top left, select the tab @@Inbox@@, then click on @@Write@@.%0a# At the top of the window, click on @@Security@@. If you click @@Attach My Public Key@@, it will send your key to the receiver so he can send encrypted emails to you and verify your signature. If you click @@Digitally Sign This Message@@, you will sign the email and the receiver can be certain the message was not forged. If you click @@Require Encryption@@, it will encrypt the message.\\%0a'''WARNING:''' If you encrypt the message but your receiver loses his PGP key, the email can never be decrypted and read. For this reason, it may be better not to encrypt email if the contents do not need secrecy.\\%0aAttach:thunderbird-pgp-14.png +time=1613753060 +author:1613753060=jrmu +diff:1613753060:1613752594:=60c60%0a%3c # At the top left, select the tab @@Inbox@@, then click on @@Write@@.%0a---%0a> # At the top left, click on @@Write@@.%0a +host:1613753060=198.251.81.119 +author:1613752594=jrmu +diff:1613752594:1613752054:=60,63c60,63%0a%3c # At the top left, click on @@Write@@.%0a%3c # At the top of the window, click on @@Security@@. If you click @@Attach My Public Key@@, it will send your key to the receiver so he can send encrypted emails to you and verify your signature. If you click @@Digitally Sign This Message@@, you will sign the email and the receiver can be certain the message was not forged. If you click @@Require Encryption@@, it will encrypt the message.\\%0a%3c '''WARNING:''' If you encrypt the message but your receiver loses his PGP key, the email can never be decrypted and read. For this reason, it may be better not to encrypt email if the contents do not need secrecy.\\%0a%3c Attach:thunderbird-pgp-14.png%0a\ No newline at end of file%0a---%0a> # \\%0a> Attach:thunderbird-pgp-14.png%0a> # \\%0a> Attach:thunderbird-pgp-15.png%0a\ No newline at end of file%0a +host:1613752594=198.251.81.119 +author:1613752054=jrmu +diff:1613752054:1613751910:=51c51%0a%3c # Go to @@Tools@@ → @@OpenPGP Key Manager@@:%0a---%0a> # Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0a +host:1613752054=198.251.81.119 +author:1613751910=jrmu +diff:1613751910:1613751441:=51,52c51%0a%3c # Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0a%3c # Select @@Edit@@ → @@Copy Public Key(s) To Clipboard@@:\\%0a---%0a> # \\%0a54c53%0a%3c # Click @@Close@@:\\%0a---%0a> # \\%0a56d54%0a%3c # [[pgp/upload|Upload your key to a keyserver]]%0a +host:1613751910=198.251.81.119 +author:1613751441=jrmu +diff:1613751441:1613751424:=37c37%0a%3c # When you view an email that has been signed with the key you imported, it should show as verified:\\%0a---%0a> # When you view an email that has been signed with the key you imported, it should show as verified:%0a +host:1613751441=198.251.81.119 +author:1613751424=jrmu +diff:1613751424:1613751196:=37,38d36%0a%3c # When you view an email that has been signed with the key you imported, it should show as verified:%0a%3c Attach:thunderbird-pgp-06b.png%0a +host:1613751424=198.251.81.119 +author:1613751196=jrmu +diff:1613751196:1613749831:=45,59c45%0a%3c # Continue from Step 4 on @@Import from URL@@ above.%0a%3c %0a%3c !! Uploading a Public Key%0a%3c %0a%3c # \\%0a%3c Attach:thunderbird-pgp-12.png%0a%3c # \\%0a%3c Attach:thunderbird-pgp-13.png%0a%3c %0a%3c !! Signing an Email%0a%3c %0a%3c # \\%0a%3c Attach:thunderbird-pgp-14.png%0a%3c # \\%0a%3c Attach:thunderbird-pgp-15.png%0a\ No newline at end of file%0a---%0a> # Continue from Step 4 on @@Import from URL@@ above.%0a\ No newline at end of file%0a +host:1613751196=198.251.81.119 +author:1613749831=jrmu +diff:1613749831:1613749603:=12c12%0a%3c # Now when you write an email, you can attach your public key, sign the email, or encrypt the email.\\%0a---%0a> # Now when you write an email, you can attach your public key, sign the email, or encrypt the email.%0a13a14,16%0a> %0a> %0a> Attach:thunderbird-pgp-12.png%0a +host:1613749831=198.251.81.119 +author:1613749603=jrmu +diff:1613749603:1613749508:=12c12%0a%3c # Now when you write an email, you can attach your public key, sign the email, or encrypt the email.%0a---%0a> %0a +host:1613749603=198.251.81.119 +author:1613749508=jrmu +diff:1613749508:1613748961:=4c4%0a%3c # Click on @@Add Key...@@:\\%0a---%0a> # Click on @@Add Key...@@:%0a6c6%0a%3c # If you have an existing OpenPGP Key, select @@Import an existing OpenPGP Key@@. In this tutorial, we will @@Create a new OpenPGP Key@@, so click @@Continue@@:\\%0a---%0a> # If you have an existing OpenPGP Key, select @@Import an existing OpenPGP Key@@. In this tutorial, we will @@Create a new OpenPGP Key@@, so click @@Continue@@:%0a8c8%0a%3c # Click @@Generate key@@:\\%0a---%0a> # Click @@Generate key@@:%0a10c10%0a%3c # Click @@Confirm@@:\\%0a---%0a> # Click @@Confirm@@:%0a +host:1613749508=198.251.81.119 +author:1613748961=jrmu +diff:1613748961:1613747946:= +host:1613748961=198.251.81.119 +author:1613747946=jrmu +diff:1613747946:1613747780:=14,15d13%0a%3c %0a%3c %0a +host:1613747946=198.251.81.119 +author:1613747780=jrmu +diff:1613747780:1613747234:=3,4d2%0a%3c # Go to @@Tools@@ → @@Account Settings@@, then from the left panel, select @@End-To-End Encryption@@.%0a%3c # Click on @@Add Key...@@:%0a6d3%0a%3c # If you have an existing OpenPGP Key, select @@Import an existing OpenPGP Key@@. In this tutorial, we will @@Create a new OpenPGP Key@@, so click @@Continue@@:%0a8d4%0a%3c # Click @@Generate key@@:%0a10d5%0a%3c # Click @@Confirm@@:%0a12d6%0a%3c %0a +host:1613747780=198.251.81.119 +author:1613747234=jrmu +diff:1613747234:1613747178:=1,11d0%0a%3c !! Generating a PGP Key%0a%3c %0a%3c Attach:thunderbird-pgp-07.png%0a%3c Attach:thunderbird-pgp-08.png%0a%3c Attach:thunderbird-pgp-09.png%0a%3c Attach:thunderbird-pgp-10.png%0a%3c Attach:thunderbird-pgp-11.png%0a%3c Attach:thunderbird-pgp-12.png%0a%3c %0a%3c !! Importing a PGP Key%0a%3c %0a14,15c3,4%0a%3c !!! Import from URL%0a%3c %0a---%0a> !! Import from URL%0a> %0a33,34c22,23%0a%3c !!! Import from Clipboard%0a%3c %0a---%0a> !! Import from Clipboard%0a> %0a40c29,37%0a%3c # Continue from Step 4 on @@Import from URL@@ above. %0a\ No newline at end of file%0a---%0a> # Continue from Step 4 on @@Import from URL@@ above. %0a> %0a> %0a> Attach:thunderbird-pgp-07.png%0a> Attach:thunderbird-pgp-08.png%0a> Attach:thunderbird-pgp-09.png%0a> Attach:thunderbird-pgp-10.png%0a> Attach:thunderbird-pgp-11.png%0a> Attach:thunderbird-pgp-12.png%0a\ No newline at end of file%0a +host:1613747234=198.251.81.119 +author:1613747178=jrmu +diff:1613747178:1613747100:=19d18%0a%3c Attach:thunderbird-pgp-06.png%0a31c30%0a%3c %0a---%0a> Attach:thunderbird-pgp-06.png%0a +host:1613747178=198.251.81.119 +author:1613747100=jrmu +diff:1613747100:1613746847:=21,28c21%0a%3c !! Import from Clipboard%0a%3c %0a%3c # Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0a%3c Attach:thunderbird-pgp-01.png%0a%3c # Copy the entire public key into your clipboard by selecting the fingerprint then typing ⌘+C.%0a%3c # Go to @@Edit@@ → @@Import Key(s) From Clipboard@@:\\%0a%3c Attach:thunderbird-pgp-02.png%0a%3c # Continue from Step 4 on @@Import from URL@@ above. %0a---%0a> !! Import from URL%0a +host:1613747100=198.251.81.119 +author:1613746847=jrmu +diff:1613746847:1613746722:=19,22d18%0a%3c # Click @@OK@@ again, then click @@Close@@.%0a%3c %0a%3c !! Import from URL%0a%3c %0a +host:1613746847=198.251.81.119 +author:1613746722=jrmu +diff:1613746722:1613746338:=12d11%0a%3c You will want to use an independent method (besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email, photo, or real life visit. If youf don't verify carefully, you can get scammed!\\%0a17c16%0a%3c # For this step, you will need to independently verify that this key truly comes from the user it claims to be from. Use something besides the website URL, like a phone call or secure chat. If you don't verify carefully, you can get scammed!\\%0a---%0a> # For this step, you will need to use an independent method (besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email, photo, or real life visit. If you don't verify carefully, you can get scammed!\\%0a +host:1613746722=198.251.81.119 +author:1613746338=jrmu +diff:1613746338:1613745677:=11,12c11%0a%3c # Verify the key fingerprint and emails. Check the fingerprint to make sure it is the key you want.\\%0a%3c If you accept the key, select @@Accepted (unverified)@@ then click @@OK@@.\\%0a---%0a> # Paste the URL for the public key then click @@OK@@\\%0a13a13,15%0a> # Verify the key fingerprint and emails. Check the fingerprint to make sure it is the key you want.%0a> If you accept the key, select @@Accepted (unverified)@@ then click @@OK@@.\\%0a> Attach:thunderbird-pgp-05.png%0a15c17%0a%3c Attach:thunderbird-pgp-05.png%0a---%0a> Attach:thunderbird-pgp-06.png%0a17,18c19%0a%3c If you have verified the fingerprint, select @@Yes, I have verified in person this key has the correct fingerprint.@@. (The bottom row)\\%0a%3c Attach:thunderbird-pgp-06.png%0a---%0a> If you have verified the fingerprint, select @@Yes, I have verified in person this key has the correct fingerprint.@@. (The bottom row)%0a +host:1613746338=198.251.81.119 +author:1613745677=jrmu +diff:1613745677:1613744147:=5c5%0a%3c # Go to @@Tools@@ → @@OpenPGP Key Manager@@:\\%0a---%0a> # Go to @@Tools@@ → @@OpenPGP Key Manager@@\\%0a7c7%0a%3c # Go to @@Edit@@ → @@Import Key(s) From URL@@:\\%0a---%0a> # Go to @@Edit@@ → @@Import Key(s) From URL@@\\%0a9c9%0a%3c # Paste the URL for the public key then click @@OK@@:\\%0a---%0a> # Paste the URL for the public key\\%0a +host:1613745677=198.251.81.119 +author:1613744147=jrmu +diff:1613744147:1613743707:=13,14c13%0a%3c # Verify the key fingerprint and emails. Check the fingerprint to make sure it is the key you want.%0a%3c If you accept the key, select @@Accepted (unverified)@@ then click @@OK@@.\\%0a---%0a> # Verify the key fingerprint and emails. For this step, you will need to use an independent method (something besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email. If you don't verify carefully, you can get scammed!%0a16d14%0a%3c # Click on @@View Details and manage key acceptance@@.\\%0a18,19d15%0a%3c # For this step, you will need to use an independent method (besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email, photo, or real life visit. If you don't verify carefully, you can get scammed!\\%0a%3c If you have verified the fingerprint, select @@Yes, I have verified in person this key has the correct fingerprint.@@. (The bottom row)%0a +host:1613744147=198.251.81.119 +author:1613743707=jrmu +diff:1613743707:1613743634:= +host:1613743707=198.251.81.119 +author:1613743634=jrmu +diff:1613743634:1613742710:=1,5d0%0a%3c There are two ways to add a PGP key:%0a%3c %0a%3c !! Import from URL%0a%3c %0a%3c # Go to @@Tools@@ → @@OpenPGP Key Manager@@\\%0a7d1%0a%3c # Go to @@Edit@@ → @@Import Key(s) From URL@@\\%0a9d2%0a%3c # Paste the URL for the public key\\%0a11d3%0a%3c # Paste the URL for the public key then click @@OK@@\\%0a13d4%0a%3c # Verify the key fingerprint and emails. For this step, you will need to use an independent method (something besides the website URL) to be certain this key truly comes from the user it claims to be from. You can use a phone call, IRC chat, email. If you don't verify carefully, you can get scammed!%0a +host:1613743634=198.251.81.119 +author:1613742710=jrmu +diff:1613742710:1613742710:=1,12d0%0a%3c Attach:thunderbird-pgp-01.png%0a%3c Attach:thunderbird-pgp-02.png%0a%3c Attach:thunderbird-pgp-03.png%0a%3c Attach:thunderbird-pgp-04.png%0a%3c Attach:thunderbird-pgp-05.png%0a%3c Attach:thunderbird-pgp-06.png%0a%3c Attach:thunderbird-pgp-07.png%0a%3c Attach:thunderbird-pgp-08.png%0a%3c Attach:thunderbird-pgp-09.png%0a%3c Attach:thunderbird-pgp-10.png%0a%3c Attach:thunderbird-pgp-11.png%0a%3c Attach:thunderbird-pgp-12.png%0a\ No newline at end of file%0a +host:1613742710=198.251.81.119 blob - /dev/null blob + a4be1b7b8a8ed9643812e779348ddf250759e142 (mode 644) --- /dev/null +++ wiki.d/Thunderbird.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613716544 +host=198.251.81.119 +name=Thunderbird.RecentChanges +rev=34 +text=* [[Thunderbird/Pgp]] . . . February 19, 2021, at 04:44 PM by [[~jrmu]]: [==]%0a* [[Thunderbird/Connect]] . . . February 19, 2021, at 09:36 AM by [[~jrmu]]: [==]%0a +time=1613753060 blob - /dev/null blob + fc35cd8fa6b61570341d830ab983c748bb734d69 (mode 644) --- /dev/null +++ wiki.d/Thunderirc.Hardware @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627825674 +host=38.87.162.8 +name=Thunderirc.Hardware +rev=1 +targets= +text=[[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%0a[@%0aCPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0aRAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0aHard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0aStorage Controller: Onboard%0aNICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0aSupermicro 1U 4x 3.5" Drive Bays 1 Nodes%0aServer Chassis/ Case: CSE-815TQ-563CB%0aMotherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0aBackplane: BPN-SAS-815TQ 4-Port TQ backplane%0aPCI-Expansions slots: 1x Full Height PCI-e x8 slot%0aIntegrated Quad Intel 1000BASE-T Ports%0aIntegrated IPMI 2.0 Management%0aOn Board SATA Controller%0a4x 3.5" Supermicro caddy%0aSingle 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0aRail Kit 1U %0a@]%0a +time=1627825674 +author:1627825674=jrmu +diff:1627825674:1627825674:=1,21d0%0a%3c [[https://www.ebay.com/itm/1U-Supermicro-4-Bay-LFF-X9DRI-LN4F-Server-2x-Xeon-E5-2630-6-Core-64GB-RAM-RAILS-/143413344190?_trksid=p2349624.m46890.l49292|1U Supermicro X9DRI-LN4F+ Rev 1.01 System]]%0a%3c %0a%3c [@%0a%3c CPU: 2x Intel Xeon E5-2630 V1 HEX (6) Core 2.3Ghz (will not work with V2 CPU's)%0a%3c RAM: 64GB DDR3 (16 x 4GB - DDR3 - ECC REG)%0a%3c Hard Drives: 1x SATA 500GB 3.5" Any Brand Enterprise level%0a%3c 2x SEAGATE 4TB 7.2K 3.5" SAS ST4000NM0023 CONSTELLATION ES.3 %0a%3c Storage Controller: Onboard%0a%3c NICs: Integrated Onboard Quad 1GB (4x 1GB) Ethernet%0a%3c Supermicro 1U 4x 3.5" Drive Bays 1 Nodes%0a%3c Server Chassis/ Case: CSE-815TQ-563CB%0a%3c Motherboard: X9DRI-LN4F+ 1.10 ( For V1 CPU Only, Will not support V2 CPU)%0a%3c Backplane: BPN-SAS-815TQ 4-Port TQ backplane%0a%3c PCI-Expansions slots: 1x Full Height PCI-e x8 slot%0a%3c Integrated Quad Intel 1000BASE-T Ports%0a%3c Integrated IPMI 2.0 Management%0a%3c On Board SATA Controller%0a%3c 4x 3.5" Supermicro caddy%0a%3c Single 560Watt Power Supply PWS-563-1H Gold ( single Capable only)%0a%3c Rail Kit 1U %0a%3c @]%0a +host:1627825674=38.87.162.8 blob - /dev/null blob + 3be08ef82edc33c3a310068fe3273d24f040604c (mode 644) --- /dev/null +++ wiki.d/Thunderirc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627825674 +host=38.87.162.8 +name=Thunderirc.RecentChanges +rev=1 +text=* [[Thunderirc/Hardware]] . . . August 01, 2021, at 01:47 PM by [[~jrmu]]: [==]%0a +time=1627825674 blob - /dev/null blob + fdf66816c8f62aed67c1a50701717342fe228488 (mode 644) --- /dev/null +++ wiki.d/TigerVNC.Install @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1625109418 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=TigerVNC.Install +rev=3 +targets=TigerVNC.SSH +text=[@%0a$ doas rcctl enable xenodm%0a$ doas rcctl start xenodm%0a$ doas pkg_add tigervnc%0a$ vncpasswd%0a$ vncserver%0a@]%0a%0aYou want to use a vnc viewer like ssvnc to connect%0a%0a'''WARNING''': This setup has zero security. Everything you type including%0apasswords can be keylogged. %0a%0a[[TigerVNC.SSH | How to set up an SSH tunnel for VNC]][[%3c%3c]]%0aHow to set up an SSL tunnel for VNC (incomplete) +time=1634998980 +author:1634998980=Hawk +diff:1634998980:1625277707:=12,15c12,13%0a%3c passwords can be keylogged. %0a%3c %0a%3c [[TigerVNC.SSH | How to set up an SSH tunnel for VNC]][[%3c%3c]]%0a%3c How to set up an SSL tunnel for VNC (incomplete)%0a\ No newline at end of file%0a---%0a> passwords can be keylogged. Someone should research how to set up SSL or%0a> a howto guide for how to tunnel it over SSH.%0a +host:1634998980=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1625277707=jrmu +diff:1625277707:1625109418:=11,13c11%0a%3c '''WARNING''': This setup has zero security. Everything you type including%0a%3c passwords can be keylogged. Someone should research how to set up SSL or%0a%3c a howto guide for how to tunnel it over SSH.%0a---%0a> By default there is no SSL%0a +host:1625277707=125.231.34.36 +author:1625109418=jrmu +diff:1625109418:1625109418:=1,11d0%0a%3c [@%0a%3c $ doas rcctl enable xenodm%0a%3c $ doas rcctl start xenodm%0a%3c $ doas pkg_add tigervnc%0a%3c $ vncpasswd%0a%3c $ vncserver%0a%3c @]%0a%3c %0a%3c You want to use a vnc viewer like ssvnc to connect%0a%3c %0a%3c By default there is no SSL%0a +host:1625109418=125.224.28.174 blob - /dev/null blob + d1cab62c3e2dfb14c06962667f74ccd512e08ab8 (mode 644) --- /dev/null +++ wiki.d/TigerVNC.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +charset=UTF-8 +ctime=1625109418 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=TigerVNC.RecentChanges +rev=6 +text=* [[TigerVNC/Install]] . . . October 23, 2021, at 02:23 PM by [[~Hawk]]: [==]%0a* [[TigerVNC/SSH]] . . . October 23, 2021, at 11:56 AM by [[~Hawk]]: [==]%0a +time=1634998980 blob - /dev/null blob + 16b25c793fcfe6f3d497de9cbdc16dcd03e4008b (mode 644) --- /dev/null +++ wiki.d/TigerVNC.SSH @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36 +author=Hawk +charset=UTF-8 +csum= +ctime=1634987655 +host=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +name=TigerVNC.SSH +rev=3 +targets= +text='''VNC using an SSH Tunnel'''%0a%0aTo start the VNC server type:%0a%0a[@%0a$ vncserver%0a%0auser$ vncserver%0axauth: file /home/user/.Xauthority does not exist%0a%0aNew 'example.com:1 (user)' desktop is example.com:1%0a%0aCreating default startup script /home/user/.vnc/xstartup%0aCreating default config /home/user/.vnc/config%0aStarting applications specified in /home/user/.vnc/xstartup%0aLog file is /home/user/.vnc/example.com:1.log%0a@]%0a%0a%0aYour VNC port number will be 5900+%3cnumber_after_the_colon>.[[%3c%3c]]%0aIn this case your port would be 5901.%0a%0aTo create the SSH Tunnel type:[[%3c%3c]]%0a%0a$ ssh -L %3clocal_port>:localhost:%3cremote_port> -f -N -C user@example.com%0a%0aIn this case it would be:[[%3c%3c]]%0a%0a$ ssh -L %3cport_of_your_choosing>:localhost:5901 -f -N -C user@example.com%0a%0a%0a%0a'''Using PuTTY'''%0a%0aFirst start a new SSH connection to your server host and log in.%0a%0aAttach:putty_change_settings.png%0a%0aThen, left click on the program icon in the top bar -> Change Settings -> Connection -> SSH -> Tunnels.%0a%0aAttach:putty_ssh_tunnels.png%0a%0aSource port: %3clocal_port>[[%3c%3c]]%0aDestination: localhost:%3cremote_port> (localhost here represents the remote host)[[%3c%3c]]%0aKeep the Local and Auto radio buttons selected and click on Add.%0a%0aConnect to localhost:%3clocal_port> using a VNC Client.%0a%0aIt may still show the warning saying "Uncrypted Connection" in the VNC Client when connecting to localhost:%3cport> since it isn't aware of the SSH Tunnel. +time=1634990210 +author:1634990210=Hawk +diff:1634990210:1634989579:=1,2c1,2%0a%3c '''VNC using an SSH Tunnel'''%0a%3c %0a---%0a> '''VNC using a SSH Tunnel'''%0a> %0a39c39%0a%3c Then, left click on the program icon in the top bar -> Change Settings -> Connection -> SSH -> Tunnels.%0a---%0a> Then, left click on the program icon in the top bar -> Change Settings -> Connection -> SSH -> Tunnels%0a +host:1634990210=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1634989579=Hawk +csum:1634989579=Added PuTTY screenshots +diff:1634989579:1634987655:=37,38d36%0a%3c Attach:putty_change_settings.png%0a%3c %0a41,42d38%0a%3c Attach:putty_ssh_tunnels.png%0a%3c %0a45c41%0a%3c Keep the Local and Auto radio buttons selected and click on Add.%0a---%0a> Keep the Local and Auto radio buttons selected.%0a +host:1634989579=2001:8a0:6813:4501:18d4:42f5:d6fb:184f +author:1634987655=Hawk +diff:1634987655:1634987655:=1,45d0%0a%3c '''VNC using a SSH Tunnel'''%0a%3c %0a%3c To start the VNC server type:%0a%3c %0a%3c [@%0a%3c $ vncserver%0a%3c %0a%3c user$ vncserver%0a%3c xauth: file /home/user/.Xauthority does not exist%0a%3c %0a%3c New 'example.com:1 (user)' desktop is example.com:1%0a%3c %0a%3c Creating default startup script /home/user/.vnc/xstartup%0a%3c Creating default config /home/user/.vnc/config%0a%3c Starting applications specified in /home/user/.vnc/xstartup%0a%3c Log file is /home/user/.vnc/example.com:1.log%0a%3c @]%0a%3c %0a%3c %0a%3c Your VNC port number will be 5900+%3cnumber_after_the_colon>.[[%3c%3c]]%0a%3c In this case your port would be 5901.%0a%3c %0a%3c To create the SSH Tunnel type:[[%3c%3c]]%0a%3c %0a%3c $ ssh -L %3clocal_port>:localhost:%3cremote_port> -f -N -C user@example.com%0a%3c %0a%3c In this case it would be:[[%3c%3c]]%0a%3c %0a%3c $ ssh -L %3cport_of_your_choosing>:localhost:5901 -f -N -C user@example.com%0a%3c %0a%3c %0a%3c %0a%3c '''Using PuTTY'''%0a%3c %0a%3c First start a new SSH connection to your server host and log in.%0a%3c %0a%3c Then, left click on the program icon in the top bar -> Change Settings -> Connection -> SSH -> Tunnels%0a%3c %0a%3c Source port: %3clocal_port>[[%3c%3c]]%0a%3c Destination: localhost:%3cremote_port> (localhost here represents the remote host)[[%3c%3c]]%0a%3c Keep the Local and Auto radio buttons selected.%0a%3c %0a%3c Connect to localhost:%3clocal_port> using a VNC Client.%0a%3c %0a%3c It may still show the warning saying "Uncrypted Connection" in the VNC Client when connecting to localhost:%3cport> since it isn't aware of the SSH Tunnel.%0a\ No newline at end of file%0a +host:1634987655=2001:8a0:6813:4501:18d4:42f5:d6fb:184f blob - /dev/null blob + c1bb42358061f5128992d3c319b77301cf9e9870 (mode 644) --- /dev/null +++ wiki.d/Tls.CA @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1629544225 +host=38.87.162.8 +name=Tls.CA +rev=1 +targets= +text=Free CAs that support ACME:%0a%0a[@%0azerossl%0assl.com%0abuypass%0aletsencrypt%0a@]%0a +time=1629544225 +author:1629544225=jrmu +diff:1629544225:1629544225:=1,8d0%0a%3c Free CAs that support ACME:%0a%3c %0a%3c [@%0a%3c zerossl%0a%3c ssl.com%0a%3c buypass%0a%3c letsencrypt%0a%3c @]%0a +host:1629544225=38.87.162.8 blob - /dev/null blob + 9937e054d49105cef3d2cce56652cf707cad1c8b (mode 644) --- /dev/null +++ wiki.d/Tls.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1629544225 +host=38.87.162.8 +name=Tls.RecentChanges +rev=1 +text=* [[Tls/CA]] . . . August 21, 2021, at 11:10 AM by [[~jrmu]]: [==]%0a +time=1629544225 blob - /dev/null blob + 358f0769efc253ee326832b901c09c7e5149abd3 (mode 644) --- /dev/null +++ wiki.d/Tmux.Config @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613106736 +host=198.251.81.119 +name=Tmux.Config +rev=1 +targets= +text=(:title Configuring tmux:)%0a%0a[@%0a$ echo 'set -g status-right "#h"' >> .tmux.conf%0a$ tmux source-file ~/.tmux.conf%0a@] +time=1613106736 +title=Configuring tmux +author:1613106736=jrmu +diff:1613106736:1613106736:=1,6d0%0a%3c (:title Configuring tmux:)%0a%3c %0a%3c [@%0a%3c $ echo 'set -g status-right "#h"' >> .tmux.conf%0a%3c $ tmux source-file ~/.tmux.conf%0a%3c @]%0a\ No newline at end of file%0a +host:1613106736=198.251.81.119 blob - /dev/null blob + 82e420cdc40c896db9350ddb0bcbed711b6444ba (mode 644) --- /dev/null +++ wiki.d/Tmux.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +charset=UTF-8 +ctime=1613106736 +host=198.251.81.133 +name=Tmux.RecentChanges +rev=5 +text=* [[Tmux/Shortcuts]] . . . August 27, 2021, at 12:56 PM by [[~mkf]]: [==]%0a* [[Tmux/Share]] . . . May 15, 2021, at 02:27 AM by [[~mistera]]: [==]%0a* [[Tmux/Config]] . . . February 12, 2021, at 05:12 AM by [[~jrmu]]: [==]%0a +time=1630069009 blob - /dev/null blob + 16c87f96ae18580cb3b2133774d2ea350b3380c8 (mode 644) --- /dev/null +++ wiki.d/Tmux.Share @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 +author=mistera +charset=UTF-8 +csum= +ctime=1621045628 +host=204.111.39.57 +name=Tmux.Share +rev=1 +targets= +text=Read%0ahttps://www.howtoforge.com/sharing-terminal-sessions-with-tmux-and-screen#sharing-terminal-sessions-between-two-different-accounts%0a%0a%0aAssuming a group called "sharegroup", a socket called "shareds", and a sessionname called "shared",%0a%0a%0a%0a%0a%0aTo start a new session to share, do:%0a%0a%0a||border=0 width=80%25 bgcolor=lightgrey%0a||@@$ tmux -S /tmp/shareds new -s shared@@ ||%0a||border=0 width=80%25 bgcolor=lightgrey%0a||@@$ chgrp sharegroup /tmp/shareds@@ ||%0a||border=0 width=80%25 bgcolor=lightgrey%0a||@@$ chmod g+rwx /tmp/shareds@@ ||%0a%0a%0aTo attach to the session, if it is already running, do:%0a%0a||border=0 width=80%25 bgcolor=lightgrey%0a||@@$ tmux -S /tmp/shareds attach -t shared@@ ||%0a%0aplease note that only members of the group "sharedgroup" may access the tmux session. You may have to add users to the group.%0a +time=1621045628 +author:1621045628=mistera +diff:1621045628:1621045628:=1,27d0%0a%3c Read%0a%3c https://www.howtoforge.com/sharing-terminal-sessions-with-tmux-and-screen#sharing-terminal-sessions-between-two-different-accounts%0a%3c %0a%3c %0a%3c Assuming a group called "sharegroup", a socket called "shareds", and a sessionname called "shared",%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c To start a new session to share, do:%0a%3c %0a%3c %0a%3c ||border=0 width=80%25 bgcolor=lightgrey%0a%3c ||@@$ tmux -S /tmp/shareds new -s shared@@ ||%0a%3c ||border=0 width=80%25 bgcolor=lightgrey%0a%3c ||@@$ chgrp sharegroup /tmp/shareds@@ ||%0a%3c ||border=0 width=80%25 bgcolor=lightgrey%0a%3c ||@@$ chmod g+rwx /tmp/shareds@@ ||%0a%3c %0a%3c %0a%3c To attach to the session, if it is already running, do:%0a%3c %0a%3c ||border=0 width=80%25 bgcolor=lightgrey%0a%3c ||@@$ tmux -S /tmp/shareds attach -t shared@@ ||%0a%3c %0a%3c please note that only members of the group "sharedgroup" may access the tmux session. You may have to add users to the group.%0a +host:1621045628=204.111.39.57 blob - /dev/null blob + b8f3ec437e1e30b19d359fa0f04258a8cc17591e (mode 644) --- /dev/null +++ wiki.d/Tmux.Shortcuts @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1630058723 +host=198.251.81.133 +name=Tmux.Shortcuts +rev=3 +targets= +text=start new:%0a[@%0a$ tmux%0a@]%0astart new with session name:%0a[@%0a$ tmux new -s myname%0a@]%0aattach:%0a[@%0a$ tmux a # (or at, or attach)%0a@]%0aattach to named:%0a[@%0a$ tmux a -t myname%0a@]%0alist sessions:%0a[@%0a$ tmux ls%0a@]%0akill session: %0a[@%0a$ tmux kill-session -t session_name%0a@]%0aKill all the tmux sessions:%0a[@%0a$ tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a@] +time=1630069009 +author:1630069009=mkf +diff:1630069009:1630061497:=1,2c1%0a%3c start new:%0a%3c [@%0a---%0a> start new: \\%0a4,6c3,4%0a%3c @]%0a%3c start new with session name:%0a%3c [@%0a---%0a> %0a> start new with session name: \\%0a8,10c6,7%0a%3c @]%0a%3c attach:%0a%3c [@%0a---%0a> %0a> attach: \\%0a12,14c9,10%0a%3c @]%0a%3c attach to named:%0a%3c [@%0a---%0a> %0a> attach to named: \\%0a16,18c12,13%0a%3c @]%0a%3c list sessions:%0a%3c [@%0a---%0a> %0a> list sessions: \\%0a20,28c15,20%0a%3c @]%0a%3c kill session: %0a%3c [@%0a%3c $ tmux kill-session -t session_name%0a%3c @]%0a%3c Kill all the tmux sessions:%0a%3c [@%0a%3c $ tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a%3c @]%0a\ No newline at end of file%0a---%0a> %0a> kill session: \\%0a> $ tmux kill-session -t myname%0a> %0a> Kill all the tmux sessions: \\%0a> $ tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a\ No newline at end of file%0a +host:1630069009=198.251.81.133 +author:1630061497=Almajd +diff:1630061497:1630058723:=1,20c1,20%0a%3c start new: \\%0a%3c $ tmux%0a%3c %0a%3c start new with session name: \\%0a%3c $ tmux new -s myname%0a%3c %0a%3c attach: \\%0a%3c $ tmux a # (or at, or attach)%0a%3c %0a%3c attach to named: \\%0a%3c $ tmux a -t myname%0a%3c %0a%3c list sessions: \\%0a%3c $ tmux ls%0a%3c %0a%3c kill session: \\%0a%3c $ tmux kill-session -t myname%0a%3c %0a%3c Kill all the tmux sessions: \\%0a%3c $ tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a\ No newline at end of file%0a---%0a> start new:%0a> tmux%0a> %0a> start new with session name:%0a> tmux new -s myname%0a> %0a> attach:%0a> tmux a # (or at, or attach)%0a> %0a> attach to named:%0a> tmux a -t myname%0a> %0a> list sessions:%0a> tmux ls%0a> %0a> kill session:%0a> tmux kill-session -t myname%0a> %0a> Kill all the tmux sessions:%0a> tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a\ No newline at end of file%0a +host:1630061497=80.79.148.19 +author:1630058723=Almajd +diff:1630058723:1630058723:=1,20d0%0a%3c start new:%0a%3c tmux%0a%3c %0a%3c start new with session name:%0a%3c tmux new -s myname%0a%3c %0a%3c attach:%0a%3c tmux a # (or at, or attach)%0a%3c %0a%3c attach to named:%0a%3c tmux a -t myname%0a%3c %0a%3c list sessions:%0a%3c tmux ls%0a%3c %0a%3c kill session:%0a%3c tmux kill-session -t myname%0a%3c %0a%3c Kill all the tmux sessions:%0a%3c tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill%0a\ No newline at end of file%0a +host:1630058723=80.79.148.19 blob - /dev/null blob + 143f6b5f2d2d55a05b40c8aef2284a59aff3af33 (mode 644) --- /dev/null +++ wiki.d/Tor.Hidden @@ -0,0 +1,47 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1619871729 +host=198.251.81.133 +name=Tor.Hidden +rev=11 +targets= +text=!!! Installation%0a[@%0a$ doas pkg_add tor%0a@]%0a!!! Configuration%0aNow edit the torrc file %0a[@%0a$ doas $EDITOR /etc/tor/torrc%0a@]%0a%0a[@%0aRunAsDaemon 1%0a%0aHiddenServiceDir /path/to/whare/you/want/the/dir/files # This can be any path it just has to exist%0aHiddenServicePort %3cPort 1> 127.0.0.1:%3cPort 2> # for 99.99%25 of the time you can just set port 1 and 2 as the same port%0a@]%0asince tor is going to runned as _tor user, make sure it has required permissions. %0a%0ato add more ports just add more HiddenServicePort%0ato add more .onion links just add more HiddenServiceDir with HiddenServicePort undernet%0a%0amake sure the HiddenServiceDir path is owned by the user who will run Tor and has permission of 700%0aand then simply run tor using%0a[@%0a$ tor%0a@]%0aas the user you want to run Tor with and it will start%0a%0ato get .onion address run $ doas cat /path/to/whare/you/want/the/dir/files/hostname%0a%0a[@%0a$ doas rcctl enable tor%0a$ doas rcctl start tor%0a@]%0a +time=1624740977 +author:1624740977=mkf +diff:1624740977:1622787254:=17,18d16%0a%3c since tor is going to runned as _tor user, make sure it has required permissions. %0a%3c %0a +host:1624740977=198.251.81.133 +author:1622787254=mkf +csum:1622787254=rcctl +diff:1622787254:1622140200:minor=30,31c30,31%0a%3c $ doas rcctl enable tor%0a%3c $ doas rcctl start tor%0a---%0a> $ doas rccctl enable tor%0a> $ doas rcclt start tor%0a +host:1622787254=198.251.81.133 +author:1622140200=mkf +diff:1622140200:1622135670:=5c5%0a%3c !!! Configuration%0a---%0a> !! Configuration%0a30,31c30,31%0a%3c $ doas rccctl enable tor%0a%3c $ doas rcclt start tor%0a---%0a> I would run $ tor%0a> as a crontab like @reboot tor%0a32a33,34%0a> %0a> I don't recommend running this via rc since so far it seems it will have to run as root and that is less secure, I would recommend you make a user only for running tor and run it there%0a +host:1622140200=5.238.185.195 +author:1622135670=mkf +csum:1622135670=minor edits +diff:1622135670:1619872372:=1c1,4%0a%3c !!! Installation%0a---%0a> First install Tor. $ doas pkg_add tor%0a> %0a> Now edit the torrc file $ doas $EDITOR /etc/tor/torrc%0a> %0a3c6,9%0a%3c $ doas pkg_add tor%0a---%0a> RunAsDaemon 1%0a> %0a> HiddenServiceDir /path/to/whare/you/want/the/dir/files # This can be any path it just has to exist%0a> HiddenServicePort %3cPort 1> 127.0.0.1:%3cPort 2> # for 99.99%25 of the time you can just set port 1 and 2 as the same port%0a5,6c11%0a%3c !! Configuration%0a%3c Now edit the torrc file %0a---%0a> %0a8c13,14%0a%3c $ doas $EDITOR /etc/tor/torrc%0a---%0a> to add more ports just add more HiddenServicePort%0a> to add more .onion links just add more HiddenServiceDir with HiddenServicePort underneth%0a10a17,18%0a> make sure the HiddenServiceDir path is owned by the user who will run Tor and has permission of 700%0a> %0a12,15c20,21%0a%3c RunAsDaemon 1%0a%3c %0a%3c HiddenServiceDir /path/to/whare/you/want/the/dir/files # This can be any path it just has to exist%0a%3c HiddenServicePort %3cPort 1> 127.0.0.1:%3cPort 2> # for 99.99%25 of the time you can just set port 1 and 2 as the same port%0a---%0a> simply run $ tor%0a> as the user you want to run Tor with and it will start%0a17,25d22%0a%3c to add more ports just add more HiddenServicePort%0a%3c to add more .onion links just add more HiddenServiceDir with HiddenServicePort undernet%0a%3c %0a%3c make sure the HiddenServiceDir path is owned by the user who will run Tor and has permission of 700%0a%3c and then simply run tor using%0a%3c [@%0a%3c $ tor%0a%3c @]%0a%3c as the user you want to run Tor with and it will start%0a +host:1622135670=5.238.185.195 +author:1619872372=NavC +diff:1619872372:1619872302:=20c20%0a%3c simply run $ tor%0a---%0a> simple run $ tor%0a +host:1619872372=2a0b:f4c1:2::254 +author:1619872302=navic +diff:1619872302:1619872275:=4a5%0a> ```%0a10a12%0a> ```%0a +host:1619872302=2a0b:f4c1:2::254 +author:1619872275=navic +diff:1619872275:1619872216:=14d13%0a%3c [@%0a15a15%0a> %0a17,18c17%0a%3c @]%0a%3c %0a---%0a> %0a21d19%0a%3c [@%0a22a21%0a> %0a24,25c23%0a%3c @]%0a%3c %0a---%0a> %0a28d25%0a%3c [@%0a29a27%0a> %0a31d28%0a%3c @]%0a +host:1619872275=2a0b:f4c1:2::254 +author:1619872216=navic +diff:1619872216:1619871829:=6c6%0a%3c [@%0a---%0a> %0a9a10%0a> %0a11c12%0a%3c @]%0a---%0a> %0a +host:1619872216=2a0b:f4c1:2::254 +author:1619871829=navic +diff:1619871829:1619871772:=8a9,10%0a> %0a> %0a18a21,22%0a> %0a> %0a20a25,26%0a> %0a> %0a26a33,34%0a> %0a> %0a29a38,39%0a> %0a> %0a +host:1619871829=2a0b:f4c1:2::254 +author:1619871772=navic +diff:1619871772:1619871729:=1,4c1,5%0a%3c First install Tor. $ doas pkg_add tor%0a%3c %0a%3c Now edit the torrc file $ doas $EDITOR /etc/tor/torrc%0a%3c %0a---%0a> First install Tor.%0a> $ doas pkg_add tor%0a> %0a> Now edit the torrc file%0a> $ doas $EDITOR /etc/tor/torrc%0a6d6%0a%3c %0a9,10d8%0a%3c %0a%3c %0a12d9%0a%3c %0a14d10%0a%3c %0a16d11%0a%3c %0a18d12%0a%3c %0a21,22d14%0a%3c %0a%3c %0a25,26d16%0a%3c %0a%3c %0a28d17%0a%3c %0a30d18%0a%3c %0a33,34d20%0a%3c %0a%3c %0a36d21%0a%3c %0a39,41c24%0a%3c %0a%3c %0a%3c I don't recommend running this via rc since so far it seems it will have to run as root and that is less secure, I would recommend you make a user only for running tor and run it there%0a---%0a> I don't recommend running this via rc since so far it seems it will have to run as root and that is less secure, I would recommend you make a user only for running tor and run it there%0a\ No newline at end of file%0a +host:1619871772=2a0b:f4c1:2::254 +author:1619871729=navic +diff:1619871729:1619871729:=1,24d0%0a%3c First install Tor.%0a%3c $ doas pkg_add tor%0a%3c %0a%3c Now edit the torrc file%0a%3c $ doas $EDITOR /etc/tor/torrc%0a%3c ```%0a%3c RunAsDaemon 1%0a%3c %0a%3c HiddenServiceDir /path/to/whare/you/want/the/dir/files # This can be any path it just has to exist%0a%3c HiddenServicePort %3cPort 1> 127.0.0.1:%3cPort 2> # for 99.99%25 of the time you can just set port 1 and 2 as the same port%0a%3c ```%0a%3c to add more ports just add more HiddenServicePort%0a%3c to add more .onion links just add more HiddenServiceDir with HiddenServicePort underneth%0a%3c %0a%3c make sure the HiddenServiceDir path is owned by the user who will run Tor and has permission of 700%0a%3c %0a%3c simple run $ tor%0a%3c as the user you want to run Tor with and it will start%0a%3c to get .onion address run $ doas cat /path/to/whare/you/want/the/dir/files/hostname%0a%3c %0a%3c I would run $ tor%0a%3c as a crontab like @reboot tor%0a%3c %0a%3c I don't recommend running this via rc since so far it seems it will have to run as root and that is less secure, I would recommend you make a user only for running tor and run it there%0a\ No newline at end of file%0a +host:1619871729=2a0b:f4c1:2::254 blob - /dev/null blob + daaebe95570be4616712596ac5379cdd43819e33 (mode 644) --- /dev/null +++ wiki.d/Tor.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1615028307 +host=198.251.81.133 +name=Tor.RecentChanges +rev=16 +text=* [[Tor/Hidden]] . . . June 26, 2021, at 08:56 PM by [[~mkf]]: [==]%0a* [[Tor/Torsocks]] . . . June 04, 2021, at 06:16 AM by [[~jrmu]]: [==]%0a +time=1624740977 blob - /dev/null blob + df3e1917c00ee6916e724bc176033c489b78d1f1 (mode 644) --- /dev/null +++ wiki.d/Tor.Torsocks @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1615028307 +host=125.231.28.9 +name=Tor.Torsocks +rev=5 +targets= +text=Torsocks is a tool to force programs to connect to the internet through tor. It can be used to test if hopm is working:%0a%0a!!! Installation%0a[@%0a$ doas pkg_add torsocks%0a$ doas rcctl enable tor%0a$ doas rcctl start tor%0a@]%0a%0a!!! Connection%0aReplace @@irc.example.com@@ below with your actual server address.%0a%0a[@%0a$ torsocks nc irc.example.com 6667%0anick newnick%0auser newuser * * :realname%0a:irc.example.com 001 nick5 :Welcome to the Internet Relay Network newnick!~newuser@192.168.0.1%0a...%0a@]%0a +time=1622787414 +author:1622787414=jrmu +diff:1622787414:1622135440:=1c1%0a%3c Torsocks is a tool to force programs to connect to the internet through tor. It can be used to test if hopm is working:%0a---%0a> Torsocks is a tool to force programs to connect to internet using tor, for example we can use torsocks to test if hopm is working:%0a +host:1622787414=125.231.28.9 +author:1622135440=mkf +diff:1622135440:1615028819:=1,3c1,2%0a%3c Torsocks is a tool to force programs to connect to internet using tor, for example we can use torsocks to test if hopm is working:%0a%3c %0a%3c !!! Installation%0a---%0a> We can use torsocks to test if hopm is working:%0a> %0a10d8%0a%3c !!! Connection%0a +host:1622135440=5.238.185.195 +author:1615028819=jrmu +diff:1615028819:1615028439:=14,15c14,15%0a%3c user newuser * * :realname%0a%3c :irc.example.com 001 nick5 :Welcome to the Internet Relay Network newnick!~newuser@192.168.0.1%0a---%0a> user newuser * * :newuser%0a> :irc.example.com 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@192.168.0.1%0a +host:1615028819=198.251.81.119 +author:1615028439=jrmu +diff:1615028439:1615028307:=6a7%0a> $ torsocks nc irc.example.com 6667%0a9,10c10,11%0a%3c Replace @@irc.example.com@@ below with your actual server address.%0a%3c %0a---%0a> Replace @@irc.example.com@@ with your actual server address.%0a> %0a12,16c13%0a%3c $ torsocks nc irc.example.com 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c :irc.example.com 001 nick5 :Welcome to the Internet Relay Network nick5!~user5@192.168.0.1%0a%3c ...%0a---%0a> %0a +host:1615028439=198.251.81.119 +author:1615028307=jrmu +diff:1615028307:1615028307:=1,14d0%0a%3c We can use torsocks to test if hopm is working:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add torsocks%0a%3c $ doas rcctl enable tor%0a%3c $ doas rcctl start tor%0a%3c $ torsocks nc irc.example.com 6667%0a%3c @]%0a%3c %0a%3c Replace @@irc.example.com@@ with your actual server address.%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a +host:1615028307=198.251.81.119 blob - /dev/null blob + ab4ddac2d9c40e10ba4c76ab97b461a68279d2a2 (mode 644) --- /dev/null +++ wiki.d/Tutorial.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1597146152 +host=198.251.81.119 +name=Tutorial.RecentChanges +rev=4 +text=* [[Tutorial/Tutorial]] . . . January 01, 2021, at 03:25 AM by [[~jrmu]]: [==]%0a +time=1609471553 blob - /dev/null blob + 984e1d8ee71b19c478292266e00a5d6723c904c7 (mode 644) --- /dev/null +++ wiki.d/Tutorial.Tutorial,del-1609471553 @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597146152 +host=38.81.163.7 +name=Tutorial.Tutorial +rev=3 +targets=Unix101.Unix101,Unix201.Unix201,Unix301.Unix301,Unix401.Unix401,Unix501.Unix501 +text=# [[unix101/unix101|UNIX101]]: Introduction to the command line%0a# [[unix201/unix201|UNIX201]]: Introduction to OpenBSD%0a# [[unix301/unix301|UNIX301]]: Basic shell scripting%0a# [[unix401/unix401|UNIX401]]: Basic perl scripting%0a# [[unix501/unix501|UNIX501]]: C programming%0a +time=1604494194 +author:1604494194=jrmu +diff:1604494194:1597147148:=1,5c1,5%0a%3c # [[unix101/unix101|UNIX101]]: Introduction to the command line%0a%3c # [[unix201/unix201|UNIX201]]: Introduction to OpenBSD%0a%3c # [[unix301/unix301|UNIX301]]: Basic shell scripting%0a%3c # [[unix401/unix401|UNIX401]]: Basic perl scripting%0a%3c # [[unix501/unix501|UNIX501]]: C programming%0a---%0a> # UNIX101: Introduction to the command line%0a> # UNIX201: Introduction to OpenBSD%0a> # UNIX301: Basic shell scripting%0a> # UNIX401: Basic perl scripting%0a> # UNIX501: C programming%0a +host:1604494194=38.81.163.7 +author:1597147148=jrmu +diff:1597147148:1597146152:=1,5c1%0a%3c # UNIX101: Introduction to the command line%0a%3c # UNIX201: Introduction to OpenBSD%0a%3c # UNIX301: Basic shell scripting%0a%3c # UNIX401: Basic perl scripting%0a%3c # UNIX501: C programming%0a---%0a> UNIX101: Learn how to use the command line%0a\ No newline at end of file%0a +host:1597147148=38.81.163.143 +author:1597146152=jrmu +diff:1597146152:1597146152:=1d0%0a%3c UNIX101: Learn how to use the command line%0a\ No newline at end of file%0a +host:1597146152=38.81.163.143 blob - /dev/null blob + 1b03a809f03aa438a1e74a40ef44afed01f13a96 (mode 644) --- /dev/null +++ wiki.d/Unbound.Configure @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1616122566 +host=38.87.162.8 +name=Unbound.Configure +rev=6 +targets=Openbsd.Znc +text=Unbound is a caching DNS resolver that comes as a part of OpenBSD base. You can use this to provide faster as well as more secure DNS lookup for the users on your network.%0a%0aHere's a sample /var/unbound/etc/unbound.conf:%0a%0a[@%0aserver:%0a interface: 127.0.0.1 # listen on localhost%0a interface: ::1%0a #interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a #do-ip6: no%0a%0a access-control: 0.0.0.0/0 refuse # block all users by default%0a access-control: 10.0.0.0/8 allow # allow users on the internal network to use unbound%0a access-control: 127.0.0.0/8 allow # allow localhost to use unbound%0a access-control: ::0/0 refuse # block all IPv6 users by default%0a access-control: ::1 allow # allow IPv6 localhost to use unbound%0a%0a hide-identity: yes%0a hide-version: yes%0a%0aremote-control:%0a control-enable: yes%0a control-interface: /var/run/unbound.sock%0a%0aforward-zone:%0a name: "."%0a forward-addr: 185.117.154.144%0a forward-addr: 165.227.40.43%0a forward-addr: 217.144.132.169%0a forward-addr: 212.237.22.141%0a forward-addr: 165.227.108.86%0a@]%0a%0aThe forward-addr lines indicate which nameserver unbound will query. You can find a list of public servers on [[https://servers.opennic.org/|OpenNIC]].%0a%0a'''Tip''': To quickly get the IPs from OpenNIC, click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a%0a[@%0aclear();data=document.querySelectorAll("html body div#frame div#view div#srvlist div p");document.body.innerText="forward-addr: 9.9.9.9";data.forEach(line=>{%0aif (line.childNodes[0].childNodes[1].title == "No logs kept"){%0adocument.body.innerHTML+=`%3cbr>forward-addr: ${line.childNodes[2].childNodes[0].data}`;%0a}%0a});%0a@]%0a%0aYou can also run these command:%0aAttach:unbound.txt%0a%0a(:if false:)%0aif you are using another server as a master, set forwarding from this server as a priority:%0a[@%0aforward-zone:%0a name: "example.com."%0a forward-addr: 10.10.10.10@53%0a forward-first: no%0a forward-no-cache: no%0a@]%0a(:ifend:)%0a%0aIf you need to store local zones, add a block to the "server" section about it:%0a[@%0a local-zone: "localhost." static%0a local-data: "localhost. 10800 IN NS localhost."%0a local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"%0a local-data: "localhost. 10800 IN A 127.0.0.1"%0a local-data: "localhost. 10800 IN AAAA ::1"%0a@]%0a%0aTo start unbound:%0a[@%0a$ doas rcctl enable unbound%0a$ doas rcctl start unbound%0a@]%0a%0aFor the computer that runs unbound, you'll want to make sure /etc/resolv.conf uses 127.0.0.1 as the nameserver (that is, you query unbound running on port 53). In /etc/resolv.conf:%0a%0a[@%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0aCheck to make sure /etc/resolv.conf.tail does not contain any other name servers except 127.0.0.1. All your nameservers should instead be specified in /var/unbound/etc/unbound.conf.%0a%0aIf the computer running unbound uses DHCP for network configuration, you will want to include this line in /etc/dhclient.conf:%0a%0a[@%0aignore domain-name-servers;%0a@]%0a%0aThis tells OpenBSD's dhclient to ignore the name server provided by the dhcp server.%0a%0aIf the computer running unbound is also providing a dhcp server for your local network, you will want to add this line inside your /etc/dhcpd.conf blocks:%0a%0a[@%0aoption domain-name-servers 192.168.1.1;%0a@]%0a%0a%0aHere's how to use unbound as a local caching resolver:%0a%0aEdit /etc/resolv.conf so it queries localhost on port 53:%0a%0a[@%0a# Generated by age0 dhclient%0anameserver 127.0.0.1%0alookup file bind%0a@]%0a%0aInside /var/unbound/etc/unbound.conf, you will see this at the top:%0a%0a[@%0aserver:%0a interface: 127.0.0.1%0a interface: ::1%0a%0a # override the default "any" address to send queries; if multiple%0a # addresses are available, they are used randomly to counter spoofing%0a #outgoing-interface: 192.0.2.1%0a #outgoing-interface: 2001:db8::53%0a%0a access-control: 0.0.0.0/0 refuse%0a access-control: 127.0.0.0/8 allow%0a access-control: ::0/0 refuse%0a access-control: ::1 allow%0a@]%0a%0aMake sure you are listening on 127.0.0.1 (for localhost) so that your VPS can query localhost on port 53, and also ::1 on port 53 (for IPv6).%0a%0aFor access control, you want to refuse 0.0.0.0/0 (all IPv4s) but allow 127.0.0.0/8 (everything that originates locally). Again, refuse ::0/0 (all IPv6s) but allow ::1 (localhost).%0a%0aPut this at the bottom of the file:%0a%0a[@%0aforward-zone:%0a name: "." # use for ALL queries%0aforward-addr: 163.53.248.170%0aforward-addr: 103.236.162.119%0aforward-addr: 192.99.85.244%0aforward-addr: 31.171.251.118%0aforward-addr: 51.254.25.115%0aforward-addr: 46.101.70.183%0aforward-addr: 45.71.112.70%0aforward-addr: 87.98.175.85%0aforward-addr: 185.208.208.141%0aforward-addr: 89.35.39.64%0aforward-addr: 87.98.175.85%0aforward-addr: 172.98.193.42%0aforward-addr: 111.67.20.8%0a@]%0a%0aThese are IP addresses for DNS servers which I got from [[https://servers.opennic.org/]]. However, the servers change regularly so make sure you update the list.%0a%0aTo start unbound:%0a%0a[@%0a$ doas rcctl enable unbound%0a$ doas rcctl start unbound%0a@]%0a%0aTo test if unbound is working:%0a%0a[@%0a$ dig @127.0.0.1 google.com%0a@]%0a%0aYou should see something like this:%0a%0a[@%0a;; ANSWER SECTION:%0agoogle.com. 29 IN A 172.217.27.142%0a@]%0a%0a!! DNSSec%0a%0aIn /var/unbound/etc/unbound.conf, there are these two lines:%0a%0a# auto-trust-anchor-file: "/var/unbound/db/root.key"%0a# aggressive-nsec: no%0a%0aBoth should be commented to turn off DNSSEC. %0a%0aI have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a%0a!! Stale hostname%0a%0aIf you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%0aMake sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a +time=1635606718 +author:1635606718=jrmu +diff:1635606718:1635591335:=46c46%0a%3c You can also run these command:%0a---%0a> You can also run this command:%0a +host:1635606718=38.87.162.8 +author:1635591335=jrmu +diff:1635591335:1635591231:=47c47%0a%3c Attach:unbound.txt%0a---%0a> Attach:unbound.sh%0a +host:1635591335=38.87.162.8 +author:1635591231=jrmu +diff:1635591231:1632490312:=45,47d44%0a%3c %0a%3c You can also run this command:%0a%3c Attach:unbound.sh%0a +host:1635591231=38.87.162.8 +author:1632490312=jrmu +diff:1632490312:1625984880:=46d45%0a%3c (:if false:)%0a55,56c54%0a%3c (:ifend:)%0a%3c %0a---%0a> %0a185c183%0a%3c Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a---%0a> Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a\ No newline at end of file%0a +host:1632490312=125.231.18.235 +author:1625984880=jrmu +diff:1625984880:1616122566:=36,37c36%0a%3c '''Tip''': To quickly get the IPs from OpenNIC, click on the OK button at the top, then open up your web browser's javascript console window and run this command:%0a%3c %0a---%0a> if you are using another server as a master, set forwarding from this server as a priority:%0a39,47d37%0a%3c clear();data=document.querySelectorAll("html body div#frame div#view div#srvlist div p");document.body.innerText="forward-addr: 9.9.9.9";data.forEach(line=>{%0a%3c if (line.childNodes[0].childNodes[1].title == "No logs kept"){%0a%3c document.body.innerHTML+=`%3cbr>forward-addr: ${line.childNodes[2].childNodes[0].data}`;%0a%3c }%0a%3c });%0a%3c @]%0a%3c %0a%3c if you are using another server as a master, set forwarding from this server as a priority:%0a%3c [@%0a177,183c167%0a%3c I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a%3c %0a%3c !! Stale hostname%0a%3c %0a%3c If you ever change your host's IP address, /etc/hosts may be intercepting the name lookup and giving you the old IP address.%0a%3c %0a%3c Make sure there is no entry in the /etc/hosts files that is causing your machine to use the old IP.%0a\ No newline at end of file%0a---%0a> I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a\ No newline at end of file%0a +host:1625984880=125.224.22.56 +author:1616122566=jrmu +diff:1616122566:1616122566:=1,167d0%0a%3c Unbound is a caching DNS resolver that comes as a part of OpenBSD base. You can use this to provide faster as well as more secure DNS lookup for the users on your network.%0a%3c %0a%3c Here's a sample /var/unbound/etc/unbound.conf:%0a%3c %0a%3c [@%0a%3c server:%0a%3c interface: 127.0.0.1 # listen on localhost%0a%3c interface: ::1%0a%3c #interface: 10.0.0.1 # provide DNS for users on the IPSec internal network%0a%3c #do-ip6: no%0a%3c %0a%3c access-control: 0.0.0.0/0 refuse # block all users by default%0a%3c access-control: 10.0.0.0/8 allow # allow users on the internal network to use unbound%0a%3c access-control: 127.0.0.0/8 allow # allow localhost to use unbound%0a%3c access-control: ::0/0 refuse # block all IPv6 users by default%0a%3c access-control: ::1 allow # allow IPv6 localhost to use unbound%0a%3c %0a%3c hide-identity: yes%0a%3c hide-version: yes%0a%3c %0a%3c remote-control:%0a%3c control-enable: yes%0a%3c control-interface: /var/run/unbound.sock%0a%3c %0a%3c forward-zone:%0a%3c name: "."%0a%3c forward-addr: 185.117.154.144%0a%3c forward-addr: 165.227.40.43%0a%3c forward-addr: 217.144.132.169%0a%3c forward-addr: 212.237.22.141%0a%3c forward-addr: 165.227.108.86%0a%3c @]%0a%3c %0a%3c The forward-addr lines indicate which nameserver unbound will query. You can find a list of public servers on [[https://servers.opennic.org/|OpenNIC]].%0a%3c %0a%3c if you are using another server as a master, set forwarding from this server as a priority:%0a%3c [@%0a%3c forward-zone:%0a%3c name: "example.com."%0a%3c forward-addr: 10.10.10.10@53%0a%3c forward-first: no%0a%3c forward-no-cache: no%0a%3c @]%0a%3c %0a%3c If you need to store local zones, add a block to the "server" section about it:%0a%3c [@%0a%3c local-zone: "localhost." static%0a%3c local-data: "localhost. 10800 IN NS localhost."%0a%3c local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"%0a%3c local-data: "localhost. 10800 IN A 127.0.0.1"%0a%3c local-data: "localhost. 10800 IN AAAA ::1"%0a%3c @]%0a%3c %0a%3c To start unbound:%0a%3c [@%0a%3c $ doas rcctl enable unbound%0a%3c $ doas rcctl start unbound%0a%3c @]%0a%3c %0a%3c For the computer that runs unbound, you'll want to make sure /etc/resolv.conf uses 127.0.0.1 as the nameserver (that is, you query unbound running on port 53). In /etc/resolv.conf:%0a%3c %0a%3c [@%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c Check to make sure /etc/resolv.conf.tail does not contain any other name servers except 127.0.0.1. All your nameservers should instead be specified in /var/unbound/etc/unbound.conf.%0a%3c %0a%3c If the computer running unbound uses DHCP for network configuration, you will want to include this line in /etc/dhclient.conf:%0a%3c %0a%3c [@%0a%3c ignore domain-name-servers;%0a%3c @]%0a%3c %0a%3c This tells OpenBSD's dhclient to ignore the name server provided by the dhcp server.%0a%3c %0a%3c If the computer running unbound is also providing a dhcp server for your local network, you will want to add this line inside your /etc/dhcpd.conf blocks:%0a%3c %0a%3c [@%0a%3c option domain-name-servers 192.168.1.1;%0a%3c @]%0a%3c %0a%3c %0a%3c Here's how to use unbound as a local caching resolver:%0a%3c %0a%3c Edit /etc/resolv.conf so it queries localhost on port 53:%0a%3c %0a%3c [@%0a%3c # Generated by age0 dhclient%0a%3c nameserver 127.0.0.1%0a%3c lookup file bind%0a%3c @]%0a%3c %0a%3c Inside /var/unbound/etc/unbound.conf, you will see this at the top:%0a%3c %0a%3c [@%0a%3c server:%0a%3c interface: 127.0.0.1%0a%3c interface: ::1%0a%3c %0a%3c # override the default "any" address to send queries; if multiple%0a%3c # addresses are available, they are used randomly to counter spoofing%0a%3c #outgoing-interface: 192.0.2.1%0a%3c #outgoing-interface: 2001:db8::53%0a%3c %0a%3c access-control: 0.0.0.0/0 refuse%0a%3c access-control: 127.0.0.0/8 allow%0a%3c access-control: ::0/0 refuse%0a%3c access-control: ::1 allow%0a%3c @]%0a%3c %0a%3c Make sure you are listening on 127.0.0.1 (for localhost) so that your VPS can query localhost on port 53, and also ::1 on port 53 (for IPv6).%0a%3c %0a%3c For access control, you want to refuse 0.0.0.0/0 (all IPv4s) but allow 127.0.0.0/8 (everything that originates locally). Again, refuse ::0/0 (all IPv6s) but allow ::1 (localhost).%0a%3c %0a%3c Put this at the bottom of the file:%0a%3c %0a%3c [@%0a%3c forward-zone:%0a%3c name: "." # use for ALL queries%0a%3c forward-addr: 163.53.248.170%0a%3c forward-addr: 103.236.162.119%0a%3c forward-addr: 192.99.85.244%0a%3c forward-addr: 31.171.251.118%0a%3c forward-addr: 51.254.25.115%0a%3c forward-addr: 46.101.70.183%0a%3c forward-addr: 45.71.112.70%0a%3c forward-addr: 87.98.175.85%0a%3c forward-addr: 185.208.208.141%0a%3c forward-addr: 89.35.39.64%0a%3c forward-addr: 87.98.175.85%0a%3c forward-addr: 172.98.193.42%0a%3c forward-addr: 111.67.20.8%0a%3c @]%0a%3c %0a%3c These are IP addresses for DNS servers which I got from [[https://servers.opennic.org/]]. However, the servers change regularly so make sure you update the list.%0a%3c %0a%3c To start unbound:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable unbound%0a%3c $ doas rcctl start unbound%0a%3c @]%0a%3c %0a%3c To test if unbound is working:%0a%3c %0a%3c [@%0a%3c $ dig @127.0.0.1 google.com%0a%3c @]%0a%3c %0a%3c You should see something like this:%0a%3c %0a%3c [@%0a%3c ;; ANSWER SECTION:%0a%3c google.com. 29 IN A 172.217.27.142%0a%3c @]%0a%3c %0a%3c !! DNSSec%0a%3c %0a%3c In /var/unbound/etc/unbound.conf, there are these two lines:%0a%3c %0a%3c # auto-trust-anchor-file: "/var/unbound/db/root.key"%0a%3c # aggressive-nsec: no%0a%3c %0a%3c Both should be commented to turn off DNSSEC. %0a%3c %0a%3c I have not yet found out how to turn on DNSSEC safely. The problem is that if you turn on DNSSEC it will refuse to serve DNS records that don't have DNSSEC enabled. This can cause [[openbsd/znc|segfaults in znc]]!%0a\ No newline at end of file%0a +host:1616122566=198.251.81.119 blob - /dev/null blob + 9b9729222da53979980038a8191355882ebc3f1c (mode 644) --- /dev/null +++ wiki.d/Unbound.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1616122566 +host=38.87.162.8 +name=Unbound.RecentChanges +rev=6 +text=* [[Unbound/Configure]] . . . October 30, 2021, at 03:11 PM by [[~jrmu]]: [==]%0a +time=1635606718 blob - /dev/null blob + 79c0cd671c6381286de986396efb79a17be8fa36 (mode 644) --- /dev/null +++ wiki.d/Unix.Ethic @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612514370 +host=198.251.81.119 +name=Unix.Ethic +rev=4 +targets=Debate.Dogfooding +text=(:title The Unix Work Ethic:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a%0a# We follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a%0a# We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a # Choose languages native to OpenBSD: C, korn shell, perl%0a # Choose software that is written by OpenBSD developers%0a # Choose the [[https://learnbchs.org|BCHS]] web stack%0a # Choose permissive, 2-clause BSD or MIT license over the GPL%0a # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a # Follow widely-used open Internet standards%0a%0a# We write our own code%0a # Prefer software with better documentation%0a # Prefer software that can be easily audited and forked%0a # Avoid unnecessary, 3rd-party dependencies%0a # We eat our own [[debate/dogfooding|dog food]] +time=1612514923 +title=The Unix Work Ethic +author:1612514923=jrmu +diff:1612514923:1612514823:=12c12%0a%3c # We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a---%0a> # We achieve tight integration with [[https://openbsd.org|OpenBSD]]:%0a18,19c18%0a%3c # Follow widely-used open Internet standards%0a%3c %0a---%0a> %0a24c23,26%0a%3c # We eat our own [[debate/dogfooding|dog food]]%0a\ No newline at end of file%0a---%0a> %0a> # We eat our own [[debate/dogfooding|dog food]]%0a> # Write [[freedom/software|free software]] that follows widely-used open standards%0a> # Provide service with a smiley%0a\ No newline at end of file%0a +host:1612514923=198.251.81.119 +author:1612514823=jrmu +diff:1612514823:1612514526:=26c26,27%0a%3c # Provide service with a smiley%0a\ No newline at end of file%0a---%0a> # Provide service with a smiley%0a> # Choose software that has a long history of being reliable and stable%0a\ No newline at end of file%0a +host:1612514823=198.251.81.119 +author:1612514526=jrmu +diff:1612514526:1612514370:=16,19c16,17%0a%3c # Choose permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a%3c %0a%3c # We write our own code%0a---%0a> # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a> # Prefer software that has a long history of being reliable and stable%0a23a22,25%0a> # We write our own code%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> %0a26,27c28%0a%3c # Provide service with a smiley%0a%3c # Choose software that has a long history of being reliable and stable%0a\ No newline at end of file%0a---%0a> # Provide service with a smiley%0a\ No newline at end of file%0a +host:1612514526=198.251.81.119 +author:1612514370=jrmu +diff:1612514370:1612514370:=1,28d0%0a%3c (:title The Unix Work Ethic:)%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a%3c %0a%3c # We follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c %0a%3c # We achieve tight integration with [[https://openbsd.org|OpenBSD]]:%0a%3c # Choose languages native to OpenBSD: C, korn shell, perl%0a%3c # Choose software that is written by OpenBSD developers%0a%3c # Choose the [[https://learnbchs.org|BCHS]] web stack%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c %0a%3c # We write our own code%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c %0a%3c # We eat our own [[debate/dogfooding|dog food]]%0a%3c # Write [[freedom/software|free software]] that follows widely-used open standards%0a%3c # Provide service with a smiley%0a\ No newline at end of file%0a +host:1612514370=198.251.81.119 blob - /dev/null blob + be16a3b451927687d8cbd8fd2dcf2706284eb35c (mode 644) --- /dev/null +++ wiki.d/Unix.History @@ -0,0 +1,28 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637145110 +host=38.87.162.8 +name=Unix.History +rev=5 +targets= +text=(:title Fifty Years of Freedom: An Interactive Unix History:)%0a%0aLearn about the major milestones in unix history through virtual machines on our network.%0a%0aThis exhibit compiles all the major developments in Unix for a new generation to learn about the joy of software freedom.%0a%0a[[https://en.wikipedia.org/wiki/File:Unix_history-simple.svg|Diagram of Unix history]]%0a%0a!! Unix Past%0a%0a!!! UNIX v6%0a%0a!!! UNIX v8%0a%0aAttach:mux.png%0aAttach:blit.mkv%0a%0a!! Unix Present%0a%0a!!! BSD%0a%0a!!! MINIX%0a%0a!!! GNU/Linux%0a%0a!!! Solaris%0a%0a!! Unix Future%0a%0a!!! Plan 9%0a +time=1637244488 +title=Fifty Years of Freedom: An Interactive Unix History +author:1637244488=jrmu +diff:1637244488:1637146452:=11,16c11%0a%3c !!! UNIX v6%0a%3c %0a%3c !!! UNIX v8%0a%3c %0a%3c Attach:mux.png%0a%3c Attach:blit.mkv%0a---%0a> !!! Research UNIX%0a +host:1637244488=38.87.162.8 +author:1637146452=jrmu +diff:1637146452:1637146015:=1,6c1,2%0a%3c (:title Fifty Years of Freedom: An Interactive Unix History:)%0a%3c %0a%3c Learn about the major milestones in unix history through virtual machines on our network.%0a%3c %0a%3c This exhibit compiles all the major developments in Unix for a new generation to learn about the joy of software freedom.%0a%3c %0a---%0a> (:title Fifty Years of Freedom: An Interactive UNIX History:)%0a> %0a25a22,24%0a> %0a> We can use this diagram, explain it, and educate a new generation about the joys of UNIX%0a> %0a +host:1637146452=38.87.162.8 +author:1637146015=jrmu +diff:1637146015:1637145412:=3,21c3,13%0a%3c [[https://en.wikipedia.org/wiki/File:Unix_history-simple.svg|Diagram of Unix history]]%0a%3c %0a%3c !! Unix Past%0a%3c %0a%3c !!! Research UNIX%0a%3c %0a%3c !! Unix Present%0a%3c %0a%3c !!! BSD%0a%3c %0a%3c !!! MINIX%0a%3c %0a%3c !!! GNU/Linux%0a%3c %0a%3c !!! Solaris%0a%3c %0a%3c !! Unix Future%0a%3c %0a%3c !!! Plan 9%0a---%0a> Research UNIX%0a> 4.3BSD%0a> MINIX%0a> Linux%0a> GNU%0a> BSDs%0a> OpenSolaris%0a> Plan 9%0a> %0a> Unix Past, Present, and Future%0a> https://en.wikipedia.org/wiki/File:Unix_history-simple.svg%0a +host:1637146015=38.87.162.8 +author:1637145412=jrmu +diff:1637145412:1637145110:=2,16d1%0a%3c %0a%3c Research UNIX%0a%3c 4.3BSD%0a%3c MINIX%0a%3c Linux%0a%3c GNU%0a%3c BSDs%0a%3c OpenSolaris%0a%3c Plan 9%0a%3c %0a%3c Unix Past, Present, and Future%0a%3c https://en.wikipedia.org/wiki/File:Unix_history-simple.svg%0a%3c %0a%3c We can use this diagram, explain it, and educate a new generation about the joys of UNIX%0a%3c %0a +host:1637145412=38.87.162.8 +author:1637145110=jrmu +diff:1637145110:1637145110:=1d0%0a%3c (:title Fifty Years of Freedom: An Interactive UNIX History:)%0a +host:1637145110=38.87.162.8 blob - /dev/null blob + e60c59b88dea4416b9aff87de4315243d72e6a39 (mode 644) --- /dev/null +++ wiki.d/Unix.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1612514370 +host=38.87.162.8 +name=Unix.RecentChanges +rev=10 +text=* [[Unix/History]] . . . November 18, 2021, at 02:08 PM 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 +time=1637244488 blob - /dev/null blob + befa6a2d613547993c48058faac40c9434747df6 (mode 644) --- /dev/null +++ wiki.d/Unix.Workethic @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1612514956 +host=198.251.81.119 +name=Unix.Workethic +rev=1 +targets=Debate.Dogfooding +text=(:title The Unix Work Ethic:)%0a%0a%25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a%0a# We follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a%0a# We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a # Choose languages native to OpenBSD: C, korn shell, perl%0a # Choose software that is written by OpenBSD developers%0a # Choose the [[https://learnbchs.org|BCHS]] web stack%0a # Choose permissive, 2-clause BSD or MIT license over the GPL%0a # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a # Follow widely-used open Internet standards%0a%0a# We write our own code%0a # Prefer software with better documentation%0a # Prefer software that can be easily audited and forked%0a # Avoid unnecessary, 3rd-party dependencies%0a # We eat our own [[debate/dogfooding|dog food]] +time=1612514956 +title=The Unix Work Ethic +author:1612514956=jrmu +diff:1612514956:1612514956:=1,24d0%0a%3c (:title The Unix Work Ethic:)%0a%3c %0a%3c %25width=300px rfloat%25 Attach:Marketing/livefreeordie.jpg%0a%3c %0a%3c # We follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c %0a%3c # We tightly integrate with [[https://openbsd.org|OpenBSD]]:%0a%3c # Choose languages native to OpenBSD: C, korn shell, perl%0a%3c # Choose software that is written by OpenBSD developers%0a%3c # Choose the [[https://learnbchs.org|BCHS]] web stack%0a%3c # Choose permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Follow the [[https://man.openbsd.org/style|OpenBSD]] style guidelines%0a%3c # Follow widely-used open Internet standards%0a%3c %0a%3c # We write our own code%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # We eat our own [[debate/dogfooding|dog food]]%0a\ No newline at end of file%0a +host:1612514956=198.251.81.119 blob - /dev/null blob + 341c5ee98855297ca369c9bc77ff8d073ff8db00 (mode 644) --- /dev/null +++ wiki.d/Unix101.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67 +charset=UTF-8 +ctime=1623231979 +host=37.19.205.217 +name=Unix101.RecentChanges +rev=6 +text=* [[Unix101/Unix101]] . . . August 09, 2021, at 06:41 AM by [[~mkf]]: [==]%0a +time=1628491281 blob - /dev/null blob + b283570f9cc57f3f200b87a7f5a7eaccee12bd97 (mode 644) --- /dev/null +++ wiki.d/Unix101.Unix101 @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67 +author=mkf +charset=UTF-8 +csum= +ctime=1623231979 +host=37.19.205.217 +name=Unix101.Unix101 +rev=6 +targets= +text=[@%0aFor Windows: https://wiki.ircnow.org/index.php?n=PuTTY.Connect%0aFor Android: Download termux and run $ ssh unix101@freeirc.org%0aFor *nix: $ ssh unix101@freeirc.org%0a%0aUsername: unix101%0aPassword: (please ask staff)%0aServer: freeirc.org%0aPort: 22 %0a%0aConnect to irc.ircnow.org and ask a staff member for the password on [[ircs://irc.ircnow.org/#team|#team]].%0a%0aIf you finish this, we can provide you with a VPS if you'd like to join our team%0ato help out staff!%0a@]%0a +time=1628491281 +author:1628491281=mkf +diff:1628491281:1628489864:=8c8%0a%3c Server: freeirc.org%0a---%0a> Server: grape.ircnow.org%0a11c11%0a%3c Connect to irc.ircnow.org and ask a staff member for the password on [[ircs://irc.ircnow.org/#team|#team]].%0a---%0a> Connect to irc.ircnow.org and ask a staff member for the password on [[ircs://ircnow.org/#team|#team]].%0a +host:1628491281=37.19.205.217 +author:1628489864=mkf +diff:1628489864:1623247462:=3,5c3,4%0a%3c For Android: Download termux and run $ ssh unix101@freeirc.org%0a%3c For *nix: $ ssh unix101@freeirc.org%0a%3c %0a---%0a> For Android: Download termux and run $ ssh unix101@grape.ircnow.org%0a> %0a11c10%0a%3c Connect to irc.ircnow.org and ask a staff member for the password on [[ircs://ircnow.org/#team|#team]].%0a---%0a> Connect to irc.ircnow.org and ask a staff member for the password on #team.%0a +host:1628489864=103.208.220.198 +author:1623247462=jrmu +diff:1623247462:1623247118:=1,14d0%0a%3c [@%0a%3c For Windows: https://wiki.ircnow.org/index.php?n=PuTTY.Connect%0a%3c For Android: Download termux and run $ ssh unix101@grape.ircnow.org%0a%3c %0a%3c Username: unix101%0a%3c Password: (please ask staff)%0a%3c Server: grape.ircnow.org%0a%3c Port: 22 %0a%3c %0a%3c Connect to irc.ircnow.org and ask a staff member for the password on #team.%0a%3c %0a%3c If you finish this, we can provide you with a VPS if you'd like to join our team%0a%3c to help out staff!%0a%3c @]%0a +host:1623247462=125.231.25.80 +author:1623247118=jrmu +diff:1623247118:1623232270:=0a1,14%0a> [@%0a> For Windows: https://wiki.ircnow.org/index.php?n=PuTTY.Connect%0a> For Android: Download termux and run $ ssh unix101@grape.ircnow.org%0a> %0a> Username: unix101%0a> Password: GG4Xt3bPZpa%0a> Server: grape.ircnow.org%0a> Port: 22 %0a> %0a> If you need help, you can connect to irc.ircnow.org and ask us on #team.%0a> %0a> If you finish this, we can provide you with a VPS if you'd like to join our team%0a> to help out staff!%0a> @]%0a\ No newline at end of file%0a +host:1623247118=125.231.25.80 +author:1623232270=jrmu +diff:1623232270:1623231979:=1d0%0a%3c [@%0a13,14c12%0a%3c to help out staff!%0a%3c @]%0a\ No newline at end of file%0a---%0a> to help out staff!%0a\ No newline at end of file%0a +host:1623232270=125.231.25.80 +author:1623231979=jrmu +diff:1623231979:1623231979:=1,12d0%0a%3c For Windows: https://wiki.ircnow.org/index.php?n=PuTTY.Connect%0a%3c For Android: Download termux and run $ ssh unix101@grape.ircnow.org%0a%3c %0a%3c Username: unix101%0a%3c Password: GG4Xt3bPZpa%0a%3c Server: grape.ircnow.org%0a%3c Port: 22 %0a%3c %0a%3c If you need help, you can connect to irc.ircnow.org and ask us on #team.%0a%3c %0a%3c If you finish this, we can provide you with a VPS if you'd like to join our team%0a%3c to help out staff!%0a\ No newline at end of file%0a +host:1623231979=125.231.25.80 blob - /dev/null blob + 07ce71bfe729cf25042857162441d9dbd5058357 (mode 644) --- /dev/null +++ wiki.d/Unrealircd.Install @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) +author=mkf +charset=UTF-8 +csum=and more +ctime=1618024927 +host=2.178.211.174 +name=Unrealircd.Install +rev=5 +targets= +text=!! Dependencies%0a%0aWe need curl and gmake%0a[@%0a$ doas pkg_add curl gmake%0a@]%0a%0a!! Extra%0aMakeing a new user for unrealircd is recommend.%0a[@%0a$ doas useradd -m ircd%0a@]%0aNow we have a user called "ircd" now lets switch to it%0a[@%0a$ doas su ircd%0a@]%0a%0aYou can do @@$ whoami@@ to verify you're the @@ircd@@ user now go home @@$ cd@@%0a%0a!! Download & install%0aDownload the latest source code tarball , at the time of writeing this is 5.0.9.1 you can find the latest here [[ https://www.unrealircd.org/|www.unrealircd.org]], but this guide will be useing 5.0.9.1, should be the same for newer versions%0a[@%0a$ curl -LO https://www.unrealircd.org/downloads/unrealircd-5.0.9.1.tar.gz%0a@]%0a%0aNow extract it%0a[@%0a$ tar xzf unrealircd-5.0.9.1.tar.gz%0a@]%0a%0aNow go inside that dir%0a[@%0a$ cd unrealircd-5.0.9.1%0a@]%0a%0aNow lets build from sauce%0a[@%0a$ ./Config && make && make install%0a@]%0a%0aIt will ask a bunch of questions but you can just click enter on all of them to get default settings witch are fine for most people%0a%0a!!! Knowen errors%0a%0aIf you get this error "gmake[4]: *** [Makefile:1084: libcares_la-ares_process.lo] Error 1" then you will have to also install cares, this is sadly an issue that acures on openbsd on recent versions, hope it gets fixed soon%0a[@%0a$ exit%0a$ doas pkg_add libcares%0a$ doas su irc%0a$ cd ~/unrealircd-5.0.9.1%0a@]%0a%0aThen rerun the build command%0a[@%0a$ ./Config && make && make install%0a@]%0a%0a!!! Clean up%0aJust delete the tar file, you might want to delete source code folder too if low on storage%0a%0a!! Basic config%0aunrealircd has a example, copy it over and start changing it%0a[@%0a$ cd ~/unrealircd/conf%0a$ cp examples/example.conf unrealircd.conf%0a@]%0a%0aYou might want to edit the example config, when done just start it up%0a[@%0a$ ~/unrealircd/unrealircd start%0a@] +time=1635056747 +author:1635056747=mkf +csum:1635056747=and more +diff:1635056747:1635056717:=18c18%0a%3c You can do @@$ whoami@@ to verify you're the @@ircd@@ user now go home @@$ cd@@%0a---%0a> You can do `$ whoami` to verify you're the "ircd" user now go home `$ cd`%0a +host:1635056747=2.178.211.174 +author:1635056717=mkf +csum:1635056717=more wikify +diff:1635056717:1635056628:=9c9,10%0a%3c Makeing a new user for unrealircd is recommend.%0a---%0a> %0a> makeing a new user for unrealircd is recommend.%0a13a15%0a> %0a20a23%0a> %0a62d64%0a%3c unrealircd has a example, copy it over and start changing it%0a64a67,70%0a> @]%0a> %0a> copy example over%0a> [@%0a +host:1635056717=2.178.211.174 +author:1635056628=mkf +csum:1635056628=wikifiy +diff:1635056628:1618026180:=1,25c1,26%0a%3c !! Dependencies%0a%3c %0a%3c We need curl and gmake%0a%3c [@%0a%3c $ doas pkg_add curl gmake%0a%3c @]%0a%3c %0a%3c !! Extra%0a%3c %0a%3c makeing a new user for unrealircd is recommend.%0a%3c [@%0a%3c $ doas useradd -m ircd%0a%3c @]%0a%3c Now we have a user called "ircd" now lets switch to it%0a%3c %0a%3c [@%0a%3c $ doas su ircd%0a%3c @]%0a%3c %0a%3c You can do `$ whoami` to verify you're the "ircd" user now go home `$ cd`%0a%3c %0a%3c !! Download & install%0a%3c %0a%3c Download the latest source code tarball , at the time of writeing this is 5.0.9.1 you can find the latest here [[ https://www.unrealircd.org/|www.unrealircd.org]], but this guide will be useing 5.0.9.1, should be the same for newer versions%0a%3c [@%0a---%0a> 0. Dependencies%0a> %0a> We need curl%0a> %0a> $ doas pkg_add curl%0a> %0a> We also need gmake%0a> %0a> $ doas pkg_add gmake%0a> %0a> 1. Extra%0a> %0a> Ok so if you own a vm or doing this on coconut or something then I recommend makeing a new user for unrealircd ONLY (letter on also a user ONLY for services)%0a> %0a> $ doas useradd -m irc%0a> %0a> Now we have a user called "irc" now lets switch to it%0a> %0a> $ doas su irc%0a> %0a> You can do `$ whoami` to verify you're the "irc" user now go home `$ cd`%0a> %0a> 2. Download & install%0a> %0a> Download the latest source code tar, at the time of writeing this is 5.0.9.1 you can find the latest here https://www.unrealircd.org/download but this guide will be useing 5.0.9.1, should be the exact same for newer versions%0a> %0a27,30c28,30%0a%3c @]%0a%3c %0a%3c Now extract it%0a%3c [@%0a---%0a> %0a> Now untar it%0a> %0a32,33c32%0a%3c @]%0a%3c %0a---%0a> %0a35c34%0a%3c [@%0a---%0a> %0a37,38c36%0a%3c @]%0a%3c %0a---%0a> %0a40c38%0a%3c [@%0a---%0a> %0a42,43c40%0a%3c @]%0a%3c %0a---%0a> %0a46,47c43,44%0a%3c !!! Knowen errors%0a%3c %0a---%0a> 2.1. Knowen errors%0a> %0a49c46%0a%3c [@%0a---%0a> %0a50a48%0a> %0a51a50%0a> %0a52a52%0a> %0a54,55c54%0a%3c @]%0a%3c %0a---%0a> %0a57c56%0a%3c [@%0a---%0a> %0a59,61c58,60%0a%3c @]%0a%3c %0a%3c !!! Clean up%0a---%0a> %0a> 2.2. Clean up%0a> %0a64,65c63,66%0a%3c !! Basic config%0a%3c [@%0a---%0a> 3. Basic config%0a> %0a> go to the config folder%0a> %0a67,68c68%0a%3c @]%0a%3c %0a---%0a> %0a70c70%0a%3c [@%0a---%0a> %0a72,75c72,74%0a%3c @]%0a%3c %0a%3c You might want to edit the example config, when done just start it up%0a%3c [@%0a---%0a> %0a> You will want to edit the example config, when done just start it up%0a> %0a77d75%0a%3c @]%0a\ No newline at end of file%0a +host:1635056628=2.178.211.174 +author:1618026180=jrmu +diff:1618026180:1618024927:=1,38c1,21%0a%3c 0. Dependencies%0a%3c %0a%3c We need curl%0a%3c %0a%3c $ doas pkg_add curl%0a%3c %0a%3c We also need gmake%0a%3c %0a%3c $ doas pkg_add gmake%0a%3c %0a%3c 1. Extra%0a%3c %0a%3c Ok so if you own a vm or doing this on coconut or something then I recommend makeing a new user for unrealircd ONLY (letter on also a user ONLY for services)%0a%3c %0a%3c $ doas useradd -m irc%0a%3c %0a%3c Now we have a user called "irc" now lets switch to it%0a%3c %0a%3c $ doas su irc%0a%3c %0a%3c You can do `$ whoami` to verify you're the "irc" user now go home `$ cd`%0a%3c %0a%3c 2. Download & install%0a%3c %0a%3c Download the latest source code tar, at the time of writeing this is 5.0.9.1 you can find the latest here https://www.unrealircd.org/download but this guide will be useing 5.0.9.1, should be the exact same for newer versions%0a%3c %0a%3c $ curl -LO https://www.unrealircd.org/downloads/unrealircd-5.0.9.1.tar.gz%0a%3c %0a%3c Now untar it%0a%3c %0a%3c $ tar xzf unrealircd-5.0.9.1.tar.gz%0a%3c %0a%3c Now go inside that dir%0a%3c %0a%3c $ cd unrealircd-5.0.9.1%0a%3c %0a%3c Now lets build from sauce%0a%3c %0a---%0a> Ok this will be bad guide, there is vm issues so I couldnt do it in a vm to be sure%0a> anywho...%0a> %0a> 1. get the source code%0a> %0a> go here https://www.unrealircd.org/download and select whatever the stable branch is and download the latest source code%0a> at the time of writeing this, it is https://www.unrealircd.org/downloads/unrealircd-5.0.9.1.tar.gz%0a> so just download that I guess%0a> %0a> 2.%0a> %0a> You want to install cmake%0a> $ doas pkg_add cmake%0a> %0a> then you want to also untar the tar%0a> $ tar xzf unrealircd-*.tar.gz%0a> %0a> 3.%0a> %0a> Now you want to go inside that dirrectory%0a> Inside the dirrectory run%0a40,75c23,30%0a%3c %0a%3c It will ask a bunch of questions but you can just click enter on all of them to get default settings witch are fine for most people%0a%3c %0a%3c 2.1. Knowen errors%0a%3c %0a%3c If you get this error "gmake[4]: *** [Makefile:1084: libcares_la-ares_process.lo] Error 1" then you will have to also install cares, this is sadly an issue that acures on openbsd on recent versions, hope it gets fixed soon%0a%3c %0a%3c $ exit%0a%3c %0a%3c $ doas pkg_add libcares%0a%3c %0a%3c $ doas su irc%0a%3c %0a%3c $ cd ~/unrealircd-5.0.9.1%0a%3c %0a%3c Then rerun the build command%0a%3c %0a%3c $ ./Config && make && make install%0a%3c %0a%3c 2.2. Clean up%0a%3c %0a%3c Just delete the tar file, you might want to delete source code folder too if low on storage%0a%3c %0a%3c 3. Basic config%0a%3c %0a%3c go to the config folder%0a%3c %0a%3c $ cd ~/unrealircd/conf%0a%3c %0a%3c copy example over%0a%3c %0a%3c $ cp examples/example.conf unrealircd.conf%0a%3c %0a%3c You will want to edit the example config, when done just start it up%0a%3c %0a%3c $ ~/unrealircd/unrealircd start%0a---%0a> and ok done%0a> %0a> .%0a> .%0a> .%0a> %0a> Honestly idk why you don't follow this guide instead: https://www.unrealircd.org/docs/Installing_from_source%0a> %0a +host:1618026180=198.251.81.119 +author:1618024927=jrmu +diff:1618024927:1618024927:=1,30d0%0a%3c Ok this will be bad guide, there is vm issues so I couldnt do it in a vm to be sure%0a%3c anywho...%0a%3c %0a%3c 1. get the source code%0a%3c %0a%3c go here https://www.unrealircd.org/download and select whatever the stable branch is and download the latest source code%0a%3c at the time of writeing this, it is https://www.unrealircd.org/downloads/unrealircd-5.0.9.1.tar.gz%0a%3c so just download that I guess%0a%3c %0a%3c 2.%0a%3c %0a%3c You want to install cmake%0a%3c $ doas pkg_add cmake%0a%3c %0a%3c then you want to also untar the tar%0a%3c $ tar xzf unrealircd-*.tar.gz%0a%3c %0a%3c 3.%0a%3c %0a%3c Now you want to go inside that dirrectory%0a%3c Inside the dirrectory run%0a%3c $ ./Config && make && make install%0a%3c and ok done%0a%3c %0a%3c .%0a%3c .%0a%3c .%0a%3c %0a%3c Honestly idk why you don't follow this guide instead: https://www.unrealircd.org/docs/Installing_from_source%0a%3c %0a +host:1618024927=198.251.81.44 blob - /dev/null blob + d8ae7a2131b978ede88a93194b9c5a1bfea3e011 (mode 644) --- /dev/null +++ wiki.d/Unrealircd.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) +charset=UTF-8 +ctime=1618024927 +host=2.178.211.174 +name=Unrealircd.RecentChanges +rev=5 +text=* [[Unrealircd/Install]] . . . October 24, 2021, at 06:25 AM by [[~mkf]]: [=and more=]%0a +time=1635056747 blob - /dev/null blob + 6be8dea53ba67a65491861aec60d6ef42b0c3ffc (mode 644) --- /dev/null +++ wiki.d/User.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1614929659 +host=198.251.81.119 +name=User.RecentChanges +rev=1 +text=* [[User/Welcome]] . . . March 05, 2021, at 07:34 AM by [[~jrmu]]: [==]%0a +time=1614929659 blob - /dev/null blob + 7ad1754ee4674d5dc698f1d7f78f99c50385fbd2 (mode 644) --- /dev/null +++ wiki.d/User.Welcome @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1614929659 +host=198.251.81.119 +name=User.Welcome +rev=1 +targets= +text=(:title Welcome, New User!:)%0a%0a%25width=150px rfloat%25 Attach:Freedom/torch.png%0a%0aWe hope IRCNow will be your new home online.%0a%0aIRCNow welcomes new users from all parts of the Internet. New users like you help our network thrive and preserve our legacy as a LAN of freedom and opportunity.%0a%0a[@%0aGive me your tired, your poor,%0aYour clueless newbies yearning to chat free,%0aThe Linux users and those from Tor.%0aSend these accountless, shadowbanned to me,%0aWe are free outside the walled app store!%0a@]%0a%0aWe welcome every type and variety of user: of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a%0aIRCNow is dedicted to the four user freedoms:%0a%0a# Religious liberty -- Freedom to worship God%0a# Software liberty -- Freedom from corporate oppression%0a# Economic liberty -- Freedom to start your own internet business%0a# Intellectual liberty -- Freedom of speech, assembly, and the press%0a%0aTo all oppressed users on the Internet, IRCNow openly invites you to come and settle among us and enjoy the blessings of network liberty. +time=1614929659 +title=Welcome, New User! +author:1614929659=jrmu +diff:1614929659:1614929659:=1,26d0%0a%3c (:title Welcome, New User!:)%0a%3c %0a%3c %25width=150px rfloat%25 Attach:Freedom/torch.png%0a%3c %0a%3c We hope IRCNow will be your new home online.%0a%3c %0a%3c IRCNow welcomes new users from all parts of the Internet. New users like you help our network thrive and preserve our legacy as a LAN of freedom and opportunity.%0a%3c %0a%3c [@%0a%3c Give me your tired, your poor,%0a%3c Your clueless newbies yearning to chat free,%0a%3c The Linux users and those from Tor.%0a%3c Send these accountless, shadowbanned to me,%0a%3c We are free outside the walled app store!%0a%3c @]%0a%3c %0a%3c We welcome every type and variety of user: of every nation, language, and creed. It is a network of the users, by the users, for the users.%0a%3c %0a%3c IRCNow is dedicted to the four user freedoms:%0a%3c %0a%3c # Religious liberty -- Freedom to worship God%0a%3c # Software liberty -- Freedom from corporate oppression%0a%3c # Economic liberty -- Freedom to start your own internet business%0a%3c # Intellectual liberty -- Freedom of speech, assembly, and the press%0a%3c %0a%3c To all oppressed users on the Internet, IRCNow openly invites you to come and settle among us and enjoy the blessings of network liberty.%0a\ No newline at end of file%0a +host:1614929659=198.251.81.119 blob - /dev/null blob + 6a3a2a641aad560843f11f367a1e9581d73af3a6 (mode 644) --- /dev/null +++ wiki.d/Users.CategoryMirrory @@ -0,0 +1,78 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirror +charset=UTF-8 +csum= +ctime=1609704750 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=Users.CategoryMirrory +rev=22 +targets=Ircnow.Partners,Ircnow.Sysadmins,Ircnow.Roadmap,Ircnow.Helpers,Category.Users,Users.CategoryMirrory,UsersCategoryMirrory.Test +text=(:toc:)%0a%0a!Techs should factor.%0aTechs should factor.\\%0aFor example, [@find | xargs | tar | gzip@] should work.\\%0a[@tar -z DIR@] is convenient, but what happens when [@xz --block-list@] comes along and you also want [@find -name '*.png'@]?\\%0a%0a%0aThis principle has both agreements and disagreements with the UNIX Philosophy.\\%0a[[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click here to add your comments to the debate on the UNIX Philosophy.]]%0a%0a* '''Agree''': Programs should work well together.%0a* '''Agree''': Try to design the output of one program to be the input of another %0a* '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a* '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a* '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a* '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%0a%25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%0a!Welcome to IRCNow: The Users' Network%0a%0a%25rfloat text-align=center%25 Attach:rosie.png"IRCNow wants YOU to host it!" | '''IRCNow wants YOU to host it!'''%0a%0a'''The Internetwork''' as we know it is dying.\\%0aThough it is easy to blame corporations and government,\\%0aThe real culprit is the apathy of '''We The Users'''.\\%0a%0a%0aOnly a ''well-educated'' and ''well-armed'' citizenry can stand up for themselves.\\%0aIRCNow stands for equipping every User with the methods and the means for ''Self-Hosting'' all their software.\\%0a%0a* '''''If you already self-host''''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a* '''''If you already code''''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a* '''''If you are new to coding''''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a%0a[[%3c%3c]]%0a----%0a----%0a----%0aFooter Links\\%0a[[!users]]\\%0a[[users.category_mirrory]]\\%0a[[users_category_mirrory.test]]\\%0a +time=1609722649 +author:1609722649=category_mirror +diff:1609722649:1609722634:=1,2d0%0a%3c (:toc:)%0a%3c %0a44a43%0a> j%0a\ No newline at end of file%0a +host:1609722649=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609722634=category_mirror +diff:1609722634:1609722619:=43d42%0a%3c j%0a\ No newline at end of file%0a +host:1609722634=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609722619=category_mirror +diff:1609722619:1609708682:=39c39%0a%3c Footer Links\\%0a---%0a> !!!Footer Links%0a +host:1609722619=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609708682=category_mirrory +diff:1609708682:1609708658:=31,33c31,33%0a%3c * '''''If you already self-host''''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a%3c * '''''If you already code''''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a%3c * '''''If you are new to coding''''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a---%0a> * ''''If you already self-host'''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a> * ''''If you already code'''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a> * ''''If you are new to coding'''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a +host:1609708682=99.112.18.250 +author:1609708658=category_mirrory +diff:1609708658:1609708626:=28,33c28,33%0a%3c Only a ''well-educated'' and ''well-armed'' citizenry can stand up for themselves.\\%0a%3c IRCNow stands for equipping every User with the methods and the means for ''Self-Hosting'' all their software.\\%0a%3c %0a%3c * ''''If you already self-host'''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a%3c * ''''If you already code'''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a%3c * ''''If you are new to coding'''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a---%0a> Only a '''well-educated''' and '''well-armed''' citizenry can stand up for themselves.\\%0a> IRCNow stands for equipping every User with the methods and the means for '''Self-Hosting''' all their software.\\%0a> %0a> * ''If you already self-host'': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a> * ''If you already code'': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a> * ''If you are new to coding'': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a +host:1609708658=99.112.18.250 +author:1609708626=category_mirrory +diff:1609708626:1609708595:=31,33c31,33%0a%3c * ''If you already self-host'': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a%3c * ''If you already code'': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a%3c * ''If you are new to coding'': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a---%0a> * '''If you already self-host''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a> * '''If you already code''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a> * '''If you are new to coding''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a +host:1609708626=99.112.18.250 +author:1609708595=category_mirrory +diff:1609708595:1609708549:=26d25%0a%3c %0a +host:1609708595=99.112.18.250 +author:1609708549=category_mirrory +diff:1609708549:1609708495:=34d33%0a%3c [[%3c%3c]]%0a +host:1609708549=99.112.18.250 +author:1609708495=category_mirrory +diff:1609708495:1609708475:=34,36d33%0a%3c ----%0a%3c ----%0a%3c ----%0a +host:1609708495=99.112.18.250 +author:1609708475=category_mirrory +diff:1609708475:1609708439:=34d33%0a%3c !!!Footer Links%0a +host:1609708475=99.112.18.250 +author:1609708439=category_mirrory +diff:1609708439:1609708417:=29d28%0a%3c %0a +host:1609708439=99.112.18.250 +author:1609708417=category_mirrory +diff:1609708417:1609707823:=26,31d25%0a%3c %0a%3c Only a '''well-educated''' and '''well-armed''' citizenry can stand up for themselves.\\%0a%3c IRCNow stands for equipping every User with the methods and the means for '''Self-Hosting''' all their software.\\%0a%3c * '''If you already self-host''': Please [[Ircnow.Partners | partner with us to combat spam, ddosing, and illegal activities]].%0a%3c * '''If you already code''': Please [[Ircnow.Sysadmins | help us to sysadmin]] IRC, VPS, or [[Ircnow.Roadmap | other pet projects]] you might have, so long as they are FLOSS-related%0a%3c * '''If you are new to coding''': We offer training to help you get started self-hosting your own [[Ircnow.Helpers | minetest servers, radio stations, blogs, wikis, bots, and much more]]%0a +host:1609708417=99.112.18.250 +author:1609707823=category_mirrory +diff:1609707823:1609707799:=23c23%0a%3c '''The Internetwork''' as we know it is dying.\\%0a---%0a> **The Internetwork** as we know it is dying.\\%0a25c25%0a%3c The real culprit is the apathy of '''We The Users'''.\\%0a---%0a> The real culprit is the apathy of **We The Users**.\\%0a +host:1609707823=99.112.18.250 +author:1609707799=category_mirrory +diff:1609707799:1609707444:=22,25d21%0a%3c %0a%3c **The Internetwork** as we know it is dying.\\%0a%3c Though it is easy to blame corporations and government,\\%0a%3c The real culprit is the apathy of **We The Users**.\\%0a +host:1609707799=99.112.18.250 +author:1609707444=category_mirrory +diff:1609707444:1609707240:=20,21d19%0a%3c %0a%3c %25rfloat text-align=center%25 Attach:rosie.png"IRCNow wants YOU to host it!" | '''IRCNow wants YOU to host it!'''%0a +host:1609707444=99.112.18.250 +author:1609707240=category_mirrory +diff:1609707240:1609707113:=1c1%0a%3c !Techs should factor.%0a---%0a> !!Techs should factor.%0a19,20d18%0a%3c !Welcome to IRCNow: The Users' Network%0a%3c %0a23c21%0a%3c [[users_category_mirrory.test]]\\%0a---%0a> [[users_category_mirrory.test]]\\%0a\ No newline at end of file%0a +host:1609707240=99.112.18.250 +author:1609707113=category_mirrory +diff:1609707113:1609706783:=19,21c19,21%0a%3c [[!users]]\\%0a%3c [[users.category_mirrory]]\\%0a%3c [[users_category_mirrory.test]]\\%0a\ No newline at end of file%0a---%0a> [[!users]]%0a> [[users.category_mirrory]]%0a> [[users_category_mirrory.test]]%0a\ No newline at end of file%0a +host:1609707113=99.112.18.250 +author:1609706783=category_mirrory +diff:1609706783:1609706756:=14,15c14,15%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a +host:1609706783=99.112.18.250 +author:1609706756=category_mirrory +diff:1609706756:1609706277:=7,9c7,9%0a%3c This principle has both agreements and disagreements with the UNIX Philosophy.\\%0a%3c [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click here to add your comments to the debate on the UNIX Philosophy.]]%0a%3c %0a---%0a> This principle has both agreements and disagreements with [[Freedom.Unix | the UNIX Philosophy]].\\%0a> [[Debate.unix_philosophy | Click here to add your comments to the debate on the UNIX Philosophy.]]%0a> %0a14,15c14,15%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a +host:1609706756=99.112.18.250 +author:1609706277=category_mirrory +diff:1609706277:1609705678:=8,9c8%0a%3c [[Debate.unix_philosophy | Click here to add your comments to the debate on the UNIX Philosophy.]]%0a%3c %0a---%0a> %0a14,15d12%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a +host:1609706277=99.112.18.250 +author:1609705678=category_mirrory +diff:1609705678:1609704750:=6,13d5%0a%3c %0a%3c This principle has both agreements and disagreements with [[Freedom.Unix | the UNIX Philosophy]].\\%0a%3c %0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c %0a16c8,12%0a%3c [[!users]]%0a---%0a> Hello.%0a> %0a> Hello2.%0a> %0a> [[users]]%0a18c14,19%0a%3c [[users_category_mirrory.test]]%0a\ No newline at end of file%0a---%0a> [[users.category_mirrory.test]]%0a> %0a> %0a> (:pagelist:)%0a> %0a> [[!users]]%0a\ No newline at end of file%0a +host:1609705678=99.112.18.250 +author:1609704750=category_mirrory +diff:1609704750:1609704750:=1,19d0%0a%3c !!Techs should factor.%0a%3c Techs should factor.\\%0a%3c For example, [@find | xargs | tar | gzip@] should work.\\%0a%3c [@tar -z DIR@] is convenient, but what happens when [@xz --block-list@] comes along and you also want [@find -name '*.png'@]?\\%0a%3c %0a%3c %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%3c %0a%3c Hello.%0a%3c %0a%3c Hello2.%0a%3c %0a%3c [[users]]%0a%3c [[users.category_mirrory]]%0a%3c [[users.category_mirrory.test]]%0a%3c %0a%3c %0a%3c (:pagelist:)%0a%3c %0a%3c [[!users]]%0a\ No newline at end of file%0a +host:1609704750=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + b9969d4232d6ee79b1802e892e2a62057e531770 (mode 644) --- /dev/null +++ wiki.d/Users.CategoryMirrory,del-1609704395 @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirrory +charset=UTF-8 +csum= +ctime=1609701549 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=Users.CategoryMirrory +rev=4 +targets= +text= +time=1609704344 +author:1609704344=category_mirrory +diff:1609704344:1609703123:=0a1,15%0a> Techs should factor.%0a> For example, programs should work well with other programs.%0a> For example, %0a> %25lfloat text-align=center width=25pct%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a> In other words, technologies should work well together.%0a> %0a> Before1%0a> %0a> Before2%0a> %25lfloat thumb%25 Attach:techs-should.factor.png%0a> After1%0a> %0a> After2%0a> %0a> (:pagelist:)%0a\ No newline at end of file%0a +host:1609704344=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609703123=category_mirrory +diff:1609703123:1609701585:=1,13c1%0a%3c Techs should factor.%0a%3c For example, programs should work well with other programs.%0a%3c For example, %0a%3c %25lfloat text-align=center width=25pct%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%3c In other words, technologies should work well together.%0a%3c %0a%3c Before1%0a%3c %0a%3c Before2%0a%3c %25lfloat thumb%25 Attach:techs-should.factor.png%0a%3c After1%0a%3c %0a%3c After2%0a---%0a> Attach:techs-should-factor.png%0a +host:1609703123=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609701585=category_mirrory +diff:1609701585:1609701549:=1,3c1%0a%3c Attach:techs-should-factor.png%0a%3c %0a%3c (:pagelist:)%0a\ No newline at end of file%0a---%0a> :pagelist:%0a\ No newline at end of file%0a +host:1609701585=99.112.18.250 +author:1609701549=category_mirrory +diff:1609701549:1609701549:=1d0%0a%3c :pagelist:%0a\ No newline at end of file%0a +host:1609701549=99.112.18.250 blob - /dev/null blob + d1b360e8bf9534945835e754df2cf71933f33394 (mode 644) --- /dev/null +++ wiki.d/Users.Categorymirrory,del-1609704757 @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirrory +charset=UTF-8 +csum= +ctime=1609704322 +host=99.112.18.250 +name=Users.Categorymirrory +rev=2 +targets=Users.Users,Users.Categorymirrory,Category.Users +text=!!Techs should factor.%0aTechs should factor.\\%0aFor example, [@find | xargs | tar | gzip@] should work.\\%0a[@tar -z DIR@] is convenient, but what happens when [@xz --block-list@] comes along and you also want [@find -name '*.png'@]?\\%0a%0a%25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%0aHello.%0a%0aHello2.%0a%0a[[users]]%0a[[users.categorymirrory]]%0a[[users.categorymirrory.test]]%0a%0a%0a(:pagelist:)%0a%0a[[!users]] +time=1609704532 +author:1609704532=category_mirrory +diff:1609704532:1609704322:=17,19c17%0a%3c (:pagelist:)%0a%3c %0a%3c [[!users]]%0a\ No newline at end of file%0a---%0a> (:pagelist:)%0a\ No newline at end of file%0a +host:1609704532=99.112.18.250 +author:1609704322=category_mirrory +diff:1609704322:1609704322:=1,17d0%0a%3c !!Techs should factor.%0a%3c Techs should factor.\\%0a%3c For example, [@find | xargs | tar | gzip@] should work.\\%0a%3c [@tar -z DIR@] is convenient, but what happens when [@xz --block-list@] comes along and you also want [@find -name '*.png'@]?\\%0a%3c %0a%3c %25width=25pct lfloat text-align=center%25 Attach:techs-should-factor.png"Techs should factor." | '''Techs should factor.'''%0a%3c %0a%3c Hello.%0a%3c %0a%3c Hello2.%0a%3c %0a%3c [[users]]%0a%3c [[users.categorymirrory]]%0a%3c [[users.categorymirrory.test]]%0a%3c %0a%3c %0a%3c (:pagelist:)%0a\ No newline at end of file%0a +host:1609704322=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + a650989f1b979b697ef1b52cbec36bca19cf2f70 (mode 644) --- /dev/null +++ wiki.d/Users.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +charset=UTF-8 +ctime=1609701549 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=Users.RecentChanges +rev=30 +text=* [[Users/CategoryMirrory]] . . . January 04, 2021, at 01:10 AM by [[~category_mirror]]: [==]%0a* [[Users/Categorymirrory]] . . . January 03, 2021, at 08:12 PM by [[~category_mirrory]]: [=wrong caps=]%0a +time=1609722649 blob - /dev/null blob + 0b7377625fbeb3e2ad07d65dbf245752a4d1c793 (mode 644) --- /dev/null +++ wiki.d/UsersCategoryMirrory.IRCFreeHomesteadVPS @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirror +charset=UTF-8 +csum= +ctime=1627279347 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=UsersCategoryMirrory.IRCFreeHomesteadVPS +rev=2 +targets=Freedom.Freedom,Vps.Vps,Minutemin.Bootcamp,Ircnow.Servers,Ircnow.Goals,Ircnow.Minutemin +text=(:title IRC Free Homestead VPS:)%0a(:notoc:)%0a%0a!! Free 4-Week Sysadmin Course%0a%0aIf you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a %0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%25width=50pct rfloat%25 Attach:montana-free-homestead-vps.jpg%0a%25width=50pct rfloat%25 Attach:willamette-valley.png%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! [[minutemin/bootcamp|What You'll Learn]]%0a%0a# How to set up your own VPN (virtual private network)%0a# How to set up your own mail server%0a# How to set up your own webserver and web applications%0a# How to configure TLS for security%0a# How to run your own IRC social network (includes bots, bouncers, services)%0a# How to set up your own file sharing server%0a# How to set up your own firewall%0a# How to set up your own nameserver and how to purchase a custom domain%0a%0a!! How to Apply%0a%0aTo apply, we will require one of four verification methods:%0a%0a# Get a referral from a friend who is trusted by IRCNow staff%0a# Provide a photo ID%0a# Show us your personal social media/website/blog%0a# Provide us with work portfolio/resume%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a# Send an email to admin@ircnow.org%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks course, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%0a +time=1627279962 +title=IRC Free Homestead VPS +author:1627279962=category_mirror +diff:1627279962:1627279347:=2,3c2%0a%3c (:notoc:)%0a%3c %0a---%0a> %0a11,12d9%0a%3c %25width=50pct rfloat%25 Attach:montana-free-homestead-vps.jpg%0a%3c %25width=50pct rfloat%25 Attach:willamette-valley.png%0a +host:1627279962=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627279347=category_mirror +diff:1627279347:1627279347:=1,47d0%0a%3c (:title IRC Free Homestead VPS:)%0a%3c %0a%3c !! Free 4-Week Sysadmin Course%0a%3c %0a%3c If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a%3c # How to set up your own VPN (virtual private network)%0a%3c # How to set up your own mail server%0a%3c # How to set up your own webserver and web applications%0a%3c # How to configure TLS for security%0a%3c # How to run your own IRC social network (includes bots, bouncers, services)%0a%3c # How to set up your own file sharing server%0a%3c # How to set up your own firewall%0a%3c # How to set up your own nameserver and how to purchase a custom domain%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c To apply, we will require one of four verification methods:%0a%3c %0a%3c # Get a referral from a friend who is trusted by IRCNow staff%0a%3c # Provide a photo ID%0a%3c # Show us your personal social media/website/blog%0a%3c # Provide us with work portfolio/resume%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a%3c # Send an email to admin@ircnow.org%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%3c %0a +host:1627279347=99.112.18.250 blob - /dev/null blob + f77a90f0bf6248e0ef61668a9d87a3f40f9be08a (mode 644) --- /dev/null +++ wiki.d/UsersCategoryMirrory.Pioneer @@ -0,0 +1,36 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirror +charset=UTF-8 +csum= +ctime=1627272668 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=UsersCategoryMirrory.Pioneer +rev=8 +targets=Freedom.Freedom,Vps.Vps,Minutemin.Bootcamp,Ircnow.Servers,Ircnow.Goals,Ircnow.Minutemin +text=%25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%0a! 200 Acres Undeveloped VPS's%0a! Frontier Domains%0a%0a(:notitle:)%0a%0a(:NOTOC:)%0a%0a!! Free 4-Week Sysadmin Course%0a%0aIf you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a %0a!! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%0a%0a%0aDon't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%0aOn our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%0a!! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%0aWelcome to IRCNow, the new center for the startup dream.%0a%0a!! [[minutemin/bootcamp|What You'll Learn]]%0a%0a# How to set up your own VPN (virtual private network)%0a# How to set up your own mail server%0a# How to set up your own webserver and web applications%0a# How to configure TLS for security%0a# How to run your own IRC social network (includes bots, bouncers, services)%0a# How to set up your own file sharing server%0a# How to set up your own firewall%0a# How to set up your own nameserver and how to purchase a custom domain%0a%0a!! How to Apply%0a%0aTo apply, we will require one of four verification methods:%0a%0a# Get a referral from a friend who is trusted by IRCNow staff%0a# Provide a photo ID%0a# Show us your personal social media/website/blog%0a# Provide us with work portfolio/resume%0a# Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a# Send an email to admin@ircnow.org%0a%0a!! Upgrade%0a%0aAt the end of the four free weeks course, you can:%0a%0a# [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a# [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%0a +time=1627273366 +author:1627273366=category_mirror +diff:1627273366:1627273326:=6c6%0a%3c (:notitle:)%0a---%0a> (:title FREE HOMESTEAD VPS:)%0a +host:1627273366=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627273326=category_mirror +diff:1627273326:1627273086:=5,6d4%0a%3c %0a%3c (:title FREE HOMESTEAD VPS:)%0a +host:1627273326=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627273086=category_mirror +diff:1627273086:1627272882:=4a5,6%0a> %0a> (:title HOMESTEADERS WANTED:)%0a +host:1627273086=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627272882=category_mirror +diff:1627272882:1627272832:=3,4c3,4%0a%3c ! 200 Acres Undeveloped VPS's%0a%3c ! Frontier Domains%0a---%0a> ! T1%0a> !! T2%0a +host:1627272882=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627272832=category_mirror +diff:1627272832:1627272737:=1,7c1,2%0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c ! T1%0a%3c !! T2%0a%3c %0a%3c (:title HOMESTEADERS WANTED:)%0a%3c %0a---%0a> (:title Become a Pioneer!:)%0a> %0a16c11%0a%3c %0a---%0a> %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a +host:1627272832=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627272737=category_mirror +diff:1627272737:1627272721:=3c3%0a%3c (:NOTOC:)%0a---%0a> ~~NOTOC~~%0a +host:1627272737=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627272721=category_mirror +diff:1627272721:1627272668:=2,3d1%0a%3c %0a%3c ~~NOTOC~~%0a +host:1627272721=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1627272668=category_mirror +diff:1627272668:1627272668:=1,47d0%0a%3c (:title Become a Pioneer!:)%0a%3c %0a%3c !! Free 4-Week Sysadmin Course%0a%3c %0a%3c If you want independence, you want to run your own virtual private server (VPS). For four weeks, IRCNow is offering a '''FREE''' sysadmin course with a VPS. We will help train pioneers so they can control their own tech.%0a%3c %0a%3c !! [[freedom/freedom|Of the Users, By the Users, For the Users]]%0a%3c %0a%3c %25width=50pct rfloat%25 Attach:Marketing/oregontrail.png%0a%3c %0a%3c Don't build your digital life and business on a platform controlled by a corporate monopoly. There's no future there; the system is rigged against you.%0a%3c %0a%3c On our network, all users are created equal. We don't answer to billionaire CEOs, elites, or corporate monopolies. This LAN was made for you and me.%0a%3c %0a%3c !! [[vps/vps|Claim Your VPS Homestead Today!]]%0a%3c %0a%3c Welcome to IRCNow, the new center for the startup dream.%0a%3c %0a%3c !! [[minutemin/bootcamp|What You'll Learn]]%0a%3c %0a%3c # How to set up your own VPN (virtual private network)%0a%3c # How to set up your own mail server%0a%3c # How to set up your own webserver and web applications%0a%3c # How to configure TLS for security%0a%3c # How to run your own IRC social network (includes bots, bouncers, services)%0a%3c # How to set up your own file sharing server%0a%3c # How to set up your own firewall%0a%3c # How to set up your own nameserver and how to purchase a custom domain%0a%3c %0a%3c !! How to Apply%0a%3c %0a%3c To apply, we will require one of four verification methods:%0a%3c %0a%3c # Get a referral from a friend who is trusted by IRCNow staff%0a%3c # Provide a photo ID%0a%3c # Show us your personal social media/website/blog%0a%3c # Provide us with work portfolio/resume%0a%3c # Join us over on IRC on one of our [[ircnow/servers|servers]] on #vps%0a%3c # Send an email to admin@ircnow.org%0a%3c %0a%3c !! Upgrade%0a%3c %0a%3c At the end of the four free weeks course, you can:%0a%3c %0a%3c # [[vps/vps|Purchase the VPS]] at $5USD/month. Proceeds go towards [[ircnow/goals|supporting a free network]]%0a%3c # [[ircnow/minutemin|Volunteer as staff]] to keep the VPS free of charge%0a%3c %0a +host:1627272668=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + 4d0cd798c645fd7e21c2f3ca8e3ab9536313b538 (mode 644) --- /dev/null +++ wiki.d/UsersCategoryMirrory.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +charset=UTF-8 +ctime=1609705043 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=UsersCategoryMirrory.RecentChanges +rev=14 +text=* [[UsersCategoryMirrory/IRCFreeHomesteadVPS]] . . . July 26, 2021, at 06:12 AM by [[~category_mirror]]: [==]%0a* [[UsersCategoryMirrory/Pioneer]] . . . July 26, 2021, at 04:22 AM by [[~category_mirror]]: [==]%0a* [[UsersCategoryMirrory/Statement]] . . . January 17, 2021, at 02:44 AM by [[~category_mirror]]: [==]%0a* [[UsersCategoryMirrory/Test]] . . . January 03, 2021, at 08:17 PM by [[~category_mirrory]]: [==]%0a +time=1627279962 blob - /dev/null blob + 794a13c61491d9cb3d648531415ae1c8247d842c (mode 644) --- /dev/null +++ wiki.d/UsersCategoryMirrory.Statement @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirror +charset=UTF-8 +csum= +ctime=1610851447 +host=99.112.18.250 +name=UsersCategoryMirrory.Statement +rev=2 +targets= +text=(:title IRCNow Global Moderation Policy:)%0a%0aIRCNow is a network made up of users who run the network by themselves, for the benefit of the users. We train users to work in free software, to run their own servers, and to write their own code. We welcome users of all ages, colors, and creeds.%0a%0a''Tend (nurture, guard, guide, and fold) the flock of God that is [your responsibility], not by coercion or constraint, but willingly; not dishonorably motivated by the advantages and profits [belonging to the office], but eagerly and cheerfully;''\\%0a1 Peter 5:2 AMPC%0a%0aIt is our duty to ensure a safe and healthy environment for all our users. Specific moderation policies are determined by individual servers, but an example is that children should not be exposed to drugs and pornography. We ask for your help in making sure we always do the right thing for our users. +time=1610851490 +title=IRCNow Global Moderation Policy +author:1610851490=category_mirror +diff:1610851490:1610851447:=1c1%0a%3c (:title IRCNow Global Moderation Policy:)%0a---%0a> (:title IRCNow Moderation Policy:)%0a +host:1610851490=99.112.18.250 +author:1610851447=category_mirror +diff:1610851447:1610851447:=1,8d0%0a%3c (:title IRCNow Moderation Policy:)%0a%3c %0a%3c IRCNow is a network made up of users who run the network by themselves, for the benefit of the users. We train users to work in free software, to run their own servers, and to write their own code. We welcome users of all ages, colors, and creeds.%0a%3c %0a%3c ''Tend (nurture, guard, guide, and fold) the flock of God that is [your responsibility], not by coercion or constraint, but willingly; not dishonorably motivated by the advantages and profits [belonging to the office], but eagerly and cheerfully;''\\%0a%3c 1 Peter 5:2 AMPC%0a%3c %0a%3c It is our duty to ensure a safe and healthy environment for all our users. Specific moderation policies are determined by individual servers, but an example is that children should not be exposed to drugs and pornography. We ask for your help in making sure we always do the right thing for our users.%0a\ No newline at end of file%0a +host:1610851447=99.112.18.250 blob - /dev/null blob + 47930d72cb252d15eb25c8f3d13ae1f95bd53eb6 (mode 644) --- /dev/null +++ wiki.d/UsersCategoryMirrory.Test @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0 +author=category_mirrory +charset=UTF-8 +csum= +ctime=1609705043 +host=2600:1700:71b0:2420:aed5:64ff:fedd:25f +name=UsersCategoryMirrory.Test +rev=2 +targets=Users.CategoryMirrory +text=[[users.category_mirrory]]%0a%0a(:pagelist:) +time=1609705055 +author:1609705055=category_mirrory +diff:1609705055:1609705043:=1c1%0a%3c [[users.category_mirrory]]%0a---%0a> [users.category_mirrory]%0a +host:1609705055=2600:1700:71b0:2420:aed5:64ff:fedd:25f +author:1609705043=category_mirrory +diff:1609705043:1609705043:=1,3d0%0a%3c [users.category_mirrory]%0a%3c %0a%3c (:pagelist:)%0a\ No newline at end of file%0a +host:1609705043=2600:1700:71b0:2420:aed5:64ff:fedd:25f blob - /dev/null blob + ef184cd3467ad3e8d47b4a33c57c573609984b32 (mode 644) --- /dev/null +++ wiki.d/Vhost.Freedns @@ -0,0 +1,67 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36 OPR/74.0.3911.218 +author=wiz +charset=UTF-8 +csum= +ctime=1615894310 +host=77.100.11.104 +name=Vhost.Freedns +rev=18 +targets= +text=!!Personalised VHOST %0aYou can grab and go with a personalised host just in few steps.%0a %0a %0a1. visit https://freedns.afraid.org%0a%0a2. create an account with a valid email address.%0aNote: you do need to verify. After verifying %0a%0a3. Click on Subdomain link. Image 1 a page will open Image 2%0a%0aAttach:a.png%0a%25center%25Image 1%0a%0aAttach:b.png%0a%25center%25image 2%0a%0a%25define=likegrapefruit bgcolor=yellow%25%0a%25define=lovelyred color=black%25%0a%0a%25lovelyred likegrapefruit%25 Note: There are a tons of domain hosted on this site. All you got to do is find a one which you like. Please keep it in mind the domain you pick it has to be a public domain. %0a%0a4. Change Type: A to AAAA%0a%0a5. Chance Subdomain name a name that you want and which will go with the rest of the host name. Example I picked "im"%0a%0a6. Now you got to pick up a public domain name to complete your vhost. Example : i have picked "chickenkiller.com" which is a public domain name. %0a%0a7. Now you need to put you ipv6 address to the Destination section. Example : My ivp6 address is 2001:550:3402:1:130::. To get your ipv6 address you need to contact any plum admin. ( can be found in #ircnow or #plum ) %0a%0a8. Fill up the captcha. The completed form will like like the Image bellow.%0a%0aAttach:c.png%0a%25center%25Image 3%0a%0a%25define=likegrapefruit bgcolor=yellow%25%0a%25define=lovelyred color=black%25%0a%0a%25lovelyred likegrapefruit%25 Now click on save and it will take you to a page like bellow %0a%0aAttach:e.png%0a%25center%25image 4%0a%0a%25define=likegrapefruit bgcolor=yellow%25%0a%25define=lovelyred color=black%25%0a%0a%25lovelyred likegrapefruit%25 Clicked on the marked link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up a domain name you like. %0a%0aAttach:d.png%0a%25center%25image 5%0a%0aAttach:f.png%0a%25center%25image 5%0a%0aFor server side configuration you need to inform your system admin your host name. If you are doing it through IRC that's will be easy. But if no system admin online or you cannot find any of them just send and email to support@fruit.ircnow.org with your name, BNC user-name and the host name you picked. %0a%0a +time=1615897363 +author:1615897363=wiz +diff:1615897363:1615897157:=5,6c5,6%0a%3c 1. visit https://freedns.afraid.org%0a%3c %0a---%0a> 1. visit [[https://freedns.afraid.org]]%0a> %0a55c55%0a%3c For server side configuration you need to inform your system admin your host name. If you are doing it through IRC that's will be easy. But if no system admin online or you cannot find any of them just send and email to support@fruit.ircnow.org with your name, BNC user-name and the host name you picked. %0a---%0a> For server side configuration you need to inform your system admin your host name. If you are doing it throuh irc thats will be easy. But if no system admin online or you cannot find any of them just send and email to support@plum.ircnow.org with your name, bnc user-name and the host name you picked. %0a +host:1615897363=77.100.11.104 +author:1615897157=miniontoby +csum:1615897157=URL fix +diff:1615897157:1615896525:=5c5%0a%3c 1. visit [[https://freedns.afraid.org]]%0a---%0a> 1. visit https://https://freedns.afraid.org%0a +host:1615897157=145.132.146.30 +author:1615896525=wiz +diff:1615896525:1615896323:=3a4,7%0a> %25define=likegrapefruit bgcolor=yellow%25%0a> %25define=lovelyred color=red%25%0a> %0a> %25lovelyred likegrapefruit%25 red on a yellow background.%0a18,22c22,23%0a%3c %25define=likegrapefruit bgcolor=yellow%25%0a%3c %25define=lovelyred color=black%25%0a%3c %0a%3c %25lovelyred likegrapefruit%25 Note: There are a tons of domain hosted on this site. All you got to do is find a one which you like. Please keep it in mind the domain you pick it has to be a public domain. %0a%3c %0a---%0a> Note: There are a tons of domain hosted on this site. All you got to do is find a one which you like. Please keep it in mind the domain you pick it has to be a public domain. %0a> %0a32d32%0a%3c %0a36,40c36,37%0a%3c %25define=likegrapefruit bgcolor=yellow%25%0a%3c %25define=lovelyred color=black%25%0a%3c %0a%3c %25lovelyred likegrapefruit%25 Now click on save and it will take you to a page like bellow %0a%3c %0a---%0a> Now click on save and it will take you to a page like bellow %0a> %0a44,48c41,42%0a%3c %25define=likegrapefruit bgcolor=yellow%25%0a%3c %25define=lovelyred color=black%25%0a%3c %0a%3c %25lovelyred likegrapefruit%25 Clicked on the marked link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up a domain name you like. %0a%3c %0a---%0a> Clicked on the marked link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up a domain name you like. %0a> %0a56d49%0a%3c %0a +host:1615896525=77.100.11.104 +author:1615896323=wiz +diff:1615896323:1615896107:=4,8c4%0a%3c %25define=likegrapefruit bgcolor=yellow%25%0a%3c %25define=lovelyred color=red%25%0a%3c %0a%3c %25lovelyred likegrapefruit%25 red on a yellow background.%0a%3c %0a---%0a> %25red bgcolor=#ccc%25 black on a yellow background, %0a +host:1615896323=77.100.11.104 +author:1615896107=wiz +diff:1615896107:1615896063:=4c4%0a%3c %25red bgcolor=#ccc%25 black on a yellow background, %0a---%0a> %25red bgcolor=#ccc%25 black on a yellow background, and %25lovelyred %0a +host:1615896107=77.100.11.104 +author:1615896063=wiz +diff:1615896063:1615895991:=4c4,5%0a%3c %25red bgcolor=#ccc%25 black on a yellow background, and %25lovelyred %0a---%0a> %25red bgcolor=#ccc%25 red on a grey background, and %25lovelyred likegrapefruit%25 red on a yellow background. %0a> %0a +host:1615896063=77.100.11.104 +author:1615895991=wiz +diff:1615895991:1615895952:=4c4%0a%3c %25red bgcolor=#ccc%25 red on a grey background, and %25lovelyred likegrapefruit%25 red on a yellow background. %0a---%0a> %25red%25 This text is red, %25red bgcolor=#ccc%25 red on a grey background, and %25lovelyred likegrapefruit%25 red on a yellow background. %0a +host:1615895991=77.100.11.104 +author:1615895952=wiz +diff:1615895952:1615895804:=4d3%0a%3c %25red%25 This text is red, %25red bgcolor=#ccc%25 red on a grey background, and %25lovelyred likegrapefruit%25 red on a yellow background. %0a +host:1615895952=77.100.11.104 +author:1615895804=wiz +diff:1615895804:1615895751:=11d10%0a%3c %0a17d15%0a%3c %0a21d18%0a%3c %0a23d19%0a%3c %0a25d20%0a%3c %0a27,28c22%0a%3c %0a%3c 8. Fill up the captcha. The completed form will like like the Image bellow.%0a---%0a> 8. Fill up the captcha. The completed form will like like the Image bellow.%0a32,33c26,27%0a%3c Now click on save and it will take you to a page like bellow %0a%3c %0a---%0a> Now click on save and it will take you to a page like bellow %0a> %0a38d31%0a%3c %0a +host:1615895804=77.100.11.104 +author:1615895751=wiz +diff:1615895751:1615895664:=6d5%0a%3c %0a9d7%0a%3c %0a +host:1615895751=77.100.11.104 +author:1615895664=wiz +diff:1615895664:1615895593:=36a37,40%0a> It may take 8-12 hrs to get your vhost active %0a> %0a> %0a> PLUM@team%0a\ No newline at end of file%0a +host:1615895664=77.100.11.104 +author:1615895593=wiz +diff:1615895593:1615895499:=1c1%0a%3c !!Personalised VHOST %0a---%0a> Personalised VHOST %0a +host:1615895593=77.100.11.104 +author:1615895499=wiz +diff:1615895499:1615895318:=10,11c10%0a%3c %25center%25Image 1%0a%3c %0a---%0a> %0a13c12%0a%3c %25center%25image 2%0a---%0a> %0a22,23c21%0a%3c %25center%25Image 3%0a%3c %0a---%0a> %0a27,28c25%0a%3c %25center%25image 4%0a%3c %0a---%0a> %0a31,32c28%0a%3c %25center%25image 5%0a%3c %0a---%0a> %0a34d29%0a%3c %25center%25image 5%0a +host:1615895499=77.100.11.104 +author:1615895318=wiz +diff:1615895318:1615895034:=26c26%0a%3c Clicked on the marked link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up a domain name you like. %0a---%0a> Clicked on the onderlined link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up the one you like. %0a +host:1615895318=77.100.11.104 +author:1615895034=wiz +diff:1615895034:1615894974:=27c27%0a%3c Attach:d.png%0a---%0a> Attach:e.png%0a +host:1615895034=77.100.11.104 +author:1615894974=wiz +diff:1615894974:1615894455:=24c24%0a%3c Attach:e.png%0a---%0a> Attach:d.png%0a +host:1615894974=77.100.11.104 +author:1615894455=wiz +diff:1615894455:1615894310:=9,12c9,12%0a%3c Attach:a.png%0a%3c %0a%3c Attach:b.png%0a%3c %0a---%0a> image 1%0a> %0a> image 2%0a> %0a20,21c20,21%0a%3c Attach:c.png%0a%3c %0a---%0a> image 3%0a> %0a24,25c24,25%0a%3c Attach:d.png%0a%3c %0a---%0a> image 4%0a> %0a27,29c27,29%0a%3c Attach:e.png%0a%3c %0a%3c Attach:f.png%0a---%0a> image 5%0a> %0a> image 6%0a +host:1615894455=77.100.11.104 +author:1615894310=wiz +diff:1615894310:1615894310:=1,35d0%0a%3c Personalised VHOST %0a%3c You can grab and go with a personalised host just in few steps.%0a%3c %0a%3c %0a%3c 1. visit https://https://freedns.afraid.org%0a%3c 2. create an account with a valid email address.%0a%3c Note: you do need to verify. After verifying %0a%3c 3. Click on Subdomain link. Image 1 a page will open Image 2%0a%3c image 1%0a%3c %0a%3c image 2%0a%3c %0a%3c Note: There are a tons of domain hosted on this site. All you got to do is find a one which you like. Please keep it in mind the domain you pick it has to be a public domain. %0a%3c %0a%3c 4. Change Type: A to AAAA%0a%3c 5. Chance Subdomain name a name that you want and which will go with the rest of the host name. Example I picked "im"%0a%3c 6. Now you got to pick up a public domain name to complete your vhost. Example : i have picked "chickenkiller.com" which is a public domain name. %0a%3c 7. Now you need to put you ipv6 address to the Destination section. Example : My ivp6 address is 2001:550:3402:1:130::. To get your ipv6 address you need to contact any plum admin. ( can be found in #ircnow or #plum ) %0a%3c 8. Fill up the captcha. The completed form will like like the Image bellow.%0a%3c image 3%0a%3c %0a%3c Now click on save and it will take you to a page like bellow %0a%3c %0a%3c image 4%0a%3c %0a%3c Clicked on the onderlined link and it will open a list of domain names. Its a huge list you got there, all you got to do is pick up the one you like. %0a%3c image 5%0a%3c %0a%3c image 6%0a%3c %0a%3c For server side configuration you need to inform your system admin your host name. If you are doing it throuh irc thats will be easy. But if no system admin online or you cannot find any of them just send and email to support@plum.ircnow.org with your name, bnc user-name and the host name you picked. %0a%3c It may take 8-12 hrs to get your vhost active %0a%3c %0a%3c %0a%3c PLUM@team%0a\ No newline at end of file%0a +host:1615894310=77.100.11.104 blob - /dev/null blob + 71c1abe53671b73fc9192d8541e81891518f93a9 (mode 644) --- /dev/null +++ wiki.d/Vhost.Ircnow @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +author=AncientWisdom +charset=UTF-8 +csum= +ctime=1619228574 +host=2a03:e600:100::31 +name=Vhost.Ircnow +rev=5 +targets= +text=We offer the following vhosts:%0a%0a|| ircnow.org ||%0a|| bsdforall.org ||%0a|| ircforever.org ||%0a|| ircfree.com ||%0a|| lecturify.com/net/org ||%0a|| nastycode.com ||%0a|| planetofnix.com ||%0a|| oddprotocol.org ||%0a|| shelltalk.net ||%0a|| thunderirc.net ||%0a +time=1636974783 +author:1636974783=AncientWisdom +diff:1636974783:1619588281:=4,5d3%0a%3c || bsdforall.org ||%0a%3c || ircforever.org ||%0a6a5%0a> || planetofnix.com ||%0a7a7%0a> || oddprotocol.org ||%0a9,10c9%0a%3c || planetofnix.com ||%0a%3c || oddprotocol.org ||%0a---%0a> || ircforever.org ||%0a12c11%0a%3c || thunderirc.net ||%0a---%0a> || thunderirc.net ||%0a\ No newline at end of file%0a +host:1636974783=2a03:e600:100::31 +author:1619588281=jrmu +diff:1619588281:1619587841:=4c4%0a%3c || ircfree.com ||%0a---%0a> || ircfree.com/org ||%0a10,11c10%0a%3c || shelltalk.net ||%0a%3c || thunderirc.net ||%0a\ No newline at end of file%0a---%0a> || shelltalk.net ||%0a\ No newline at end of file%0a +host:1619588281=198.251.81.119 +author:1619587841=jrmu +diff:1619587841:1619228615:=4c4%0a%3c || ircfree.com/org ||%0a---%0a> || ircfree.org ||%0a +host:1619587841=198.251.81.119 +author:1619228615=jrmu +diff:1619228615:1619228574:=3,10c3,10%0a%3c || ircnow.org ||%0a%3c || ircfree.org ||%0a%3c || planetofnix.com ||%0a%3c || lecturify.com/net/org ||%0a%3c || oddprotocol.org ||%0a%3c || nastycode.com ||%0a%3c || ircforever.org ||%0a%3c || shelltalk.net ||%0a\ No newline at end of file%0a---%0a> ircnow.org%0a> ircfree.org%0a> planetofnix.com%0a> lecturify.com/net/org%0a> oddprotocol.org%0a> nastycode.com%0a> ircforever.org%0a> shelltalk.net%0a\ No newline at end of file%0a +host:1619228615=198.251.81.119 +author:1619228574=jrmu +diff:1619228574:1619228574:=1,10d0%0a%3c We offer the following vhosts:%0a%3c %0a%3c ircnow.org%0a%3c ircfree.org%0a%3c planetofnix.com%0a%3c lecturify.com/net/org%0a%3c oddprotocol.org%0a%3c nastycode.com%0a%3c ircforever.org%0a%3c shelltalk.net%0a\ No newline at end of file%0a +host:1619228574=198.251.81.119 blob - /dev/null blob + 018f27ca38e1d2593ea4ba98c2f758601c413287 (mode 644) --- /dev/null +++ wiki.d/Vhost.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1615894310 +host=2a03:e600:100::31 +name=Vhost.RecentChanges +rev=23 +text=* [[Vhost/Ircnow]] . . . November 15, 2021, at 11:13 AM by [[~AncientWisdom]]: [==]%0a* [[Vhost/Freedns]] . . . March 16, 2021, at 12:22 PM by [[~wiz]]: [==]%0a +time=1636974783 blob - /dev/null blob + d62f36bc0dc165f09dfae77093fd9cce6e447ce9 (mode 644) --- /dev/null +++ wiki.d/Vim.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 +charset=UTF-8 +ctime=1618169211 +host=185.173.204.160 +name=Vim.RecentChanges +rev=6 +text=* [[Vim/Vim]] . . . April 11, 2021, at 11:14 PM by [[~monaco]]: [==]%0a +time=1618182865 blob - /dev/null blob + f336323b4b445098cddf44ea6c15524ff2df9fe2 (mode 644) --- /dev/null +++ wiki.d/Vim.Vim @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 +author=monaco +charset=UTF-8 +csum= +ctime=1618169211 +host=185.173.204.160 +name=Vim.Vim +rev=6 +targets= +text=!! Vim Cheat Sheet%0a%0a!! How to enter console mode%0a[@%0aESC - Escape on you're keyboard so you can use console%0a@]%0a%0a!! How to triger Console%0a[@%0a:%0a/%0a@]%0a%0a!! Enter INSERT MODE%0a[@%0ai%0a@]%0a!! Exit the document%0a[@%0a:q%0a@]%0a!! Exit the document without saving%0a[@%0a:q!%0a@]%0a!! Navigate UP/DOWN%0a[@%0aj - for up%0ak - for down%0a@]%0a!! Navigate Right/Left%0a[@%0al - for left%0ah - for right%0a@]%0a!! Exit and Save%0a[@%0a:wq%0a@]%0a!! Undo %0a[@%0au - undo%0a:u - undo%0a:undo - undo%0a@]%0a!! Search and Replace ALL for single change u just type "%25s/keyword/newkeyword/ without G%0a[@%0a%25s/keyword/whatuwanttoreplace/g - Replaces anything whith whatuwanttoreplace that is known as keyword%0a@]%0a!! How to save and quit%0a[@%0aESC; :wq - Write and quit or a.k.a Save and quit%0a@]%0a!! How to search%0a[@%0a/keywoard%0a@]%0a!! Show number lines%0a[@%0aESC, :set number%0a@]%0a!! Delete a line%0a[@%0add%0a@]%0a!! Jump to first line%0a[@%0agg%0a@]%0a!! Jump to last/bottom line%0a[@%0aSHIFT+G%0aG%0a@]%0a!! Exit INSERT mode%0a[@%0aESC%0a@]%0a!! Enable Syntax%0a[@%0a:syntax on%0a@]%0a!! Disable Syntax%0a[@%0a:syntax off%0a@]%0a!! Go to specific line%0a[@%0a/20 - Sents you to line 20%0a@]%0a%0aThis commands most of them apply to "vi" to but for full experience please install vim:%0a[@%0apkg_add vim%0a@]%0a +time=1618182865 +author:1618182865=monaco +diff:1618182865:1618169696:=4,7c4,5%0a%3c [@%0a%3c ESC - Escape on you're keyboard so you can use console%0a%3c @]%0a%3c %0a---%0a> `ESC - Escape on you're keyboard so you can use console`%0a> %0a9,10c7%0a%3c [@%0a%3c :%0a---%0a> `:%0a12,13c9,10%0a%3c @]%0a%3c %0a---%0a> `%0a> %0a15,17c12%0a%3c [@%0a%3c i%0a%3c @]%0a---%0a> `i`%0a19,21c14%0a%3c [@%0a%3c :q%0a%3c @]%0a---%0a> `:q`%0a23,25c16%0a%3c [@%0a%3c :q!%0a%3c @]%0a---%0a> `:q!`%0a27c18%0a%3c [@%0a---%0a> `%0a30c21%0a%3c @]%0a---%0a> `%0a32,33c23%0a%3c [@%0a%3c l - for left%0a---%0a> `l - for left%0a35c25%0a%3c @]%0a---%0a> `%0a37,39c27%0a%3c [@%0a%3c :wq%0a%3c @]%0a---%0a> `:wq`%0a41c29%0a%3c [@%0a---%0a> `%0a45c33%0a%3c @]%0a---%0a> `%0a47,49c35%0a%3c [@%0a%3c %25s/keyword/whatuwanttoreplace/g - Replaces anything whith whatuwanttoreplace that is known as keyword%0a%3c @]%0a---%0a> `%25s/keyword/whatuwanttoreplace/g - Replaces anything whith whatuwanttoreplace that is known as keyword`%0a51,53c37%0a%3c [@%0a%3c ESC; :wq - Write and quit or a.k.a Save and quit%0a%3c @]%0a---%0a> `ESC; :wq - Write and quit or a.k.a Save and quit`%0a55,57c39%0a%3c [@%0a%3c /keywoard%0a%3c @]%0a---%0a> `/keywoard`%0a59,61c41%0a%3c [@%0a%3c ESC, :set number%0a%3c @]%0a---%0a> `ESC, :set number`%0a63,65c43%0a%3c [@%0a%3c dd%0a%3c @]%0a---%0a> `dd`%0a67,69c45%0a%3c [@%0a%3c gg%0a%3c @]%0a---%0a> `gg`%0a71,74c47,48%0a%3c [@%0a%3c SHIFT+G%0a%3c G%0a%3c @]%0a---%0a> `SHIFT+G`%0a> `G`%0a76,78c50%0a%3c [@%0a%3c ESC%0a%3c @]%0a---%0a> `ESC`%0a80,82c52%0a%3c [@%0a%3c :syntax on%0a%3c @]%0a---%0a> `:syntax on`%0a84,86c54%0a%3c [@%0a%3c :syntax off%0a%3c @]%0a---%0a> `:syntax off`%0a88,91c56,57%0a%3c [@%0a%3c /20 - Sents you to line 20%0a%3c @]%0a%3c %0a---%0a> `/20 - Sents you to line 20`%0a> %0a93,95c59,60%0a%3c [@%0a%3c pkg_add vim%0a%3c @]%0a---%0a> %0a> `pkg_add vim`%0a +host:1618182865=185.173.204.160 +author:1618169696=monaco +diff:1618169696:1618169435:= +host:1618169696=185.173.204.160 +author:1618169435=monaco +diff:1618169435:1618169388:=2a3,4%0a> ! VIM CHEAT SHEET FROM monaco%0a> %0a4c6%0a%3c `ESC - Escape on you're keyboard so you can use console`%0a---%0a> '_ESC - Escape on you're keyboard so you can use console_'%0a +host:1618169435=185.173.204.160 +author:1618169388=monaco +diff:1618169388:1618169304:=6c6%0a%3c '_ESC - Escape on you're keyboard so you can use console_'%0a---%0a> `ESC - Escape on you're keyboard so you can use console`%0a +host:1618169388=185.173.204.160 +author:1618169304=monaco +diff:1618169304:1618169211:=0a1%0a> %0a3,5c4,6%0a%3c ! VIM CHEAT SHEET FROM monaco%0a%3c %0a%3c !! How to enter console mode%0a---%0a> # VIM CHEAT SHEET FROM monaco%0a> %0a> ## How to enter console mode%0a8c9%0a%3c !! How to triger Console%0a---%0a> ## How to triger Console%0a13c14%0a%3c !! Enter INSERT MODE%0a---%0a> ## Enter INSERT MODE%0a15c16%0a%3c !! Exit the document%0a---%0a> ## Exit the document%0a17c18%0a%3c !! Exit the document without saving%0a---%0a> ## Exit the document without saving%0a19c20%0a%3c !! Navigate UP/DOWN%0a---%0a> ## Navigate UP/DOWN%0a24c25%0a%3c !! Navigate Right/Left%0a---%0a> ## Navigate Right/Left%0a28c29%0a%3c !! Exit and Save%0a---%0a> ## Exit and Save%0a30c31%0a%3c !! Undo %0a---%0a> ## Undo %0a36c37%0a%3c !! Search and Replace ALL for single change u just type "%25s/keyword/newkeyword/ without G%0a---%0a> ## Search and Replace ALL for single change u just type "%25s/keyword/newkeyword/ without G%0a38c39%0a%3c !! How to save and quit%0a---%0a> ## How to save and quit%0a40c41%0a%3c !! How to search%0a---%0a> ## How to search%0a42c43%0a%3c !! Show number lines%0a---%0a> ## Show number lines%0a44c45%0a%3c !! Delete a line%0a---%0a> ## Delete a line%0a46c47%0a%3c !! Jump to first line%0a---%0a> # Jump to first line%0a48c49%0a%3c !! Jump to last/bottom line%0a---%0a> # Jump to last/bottom line%0a51c52%0a%3c !! Exit INSERT mode%0a---%0a> ## Exit INSERT mode%0a53c54%0a%3c !! Enable Syntax%0a---%0a> ## Enable Syntax%0a55c56%0a%3c !! Disable Syntax%0a---%0a> ## Disable Syntax%0a57c58%0a%3c !! Go to specific line%0a---%0a> ## Go to specific line%0a +host:1618169304=185.173.204.160 +author:1618169211=monaco +diff:1618169211:1618169211:=1,63d0%0a%3c %0a%3c !! Vim Cheat Sheet%0a%3c %0a%3c # VIM CHEAT SHEET FROM monaco%0a%3c %0a%3c ## How to enter console mode%0a%3c `ESC - Escape on you're keyboard so you can use console`%0a%3c %0a%3c ## How to triger Console%0a%3c `:%0a%3c /%0a%3c `%0a%3c %0a%3c ## Enter INSERT MODE%0a%3c `i`%0a%3c ## Exit the document%0a%3c `:q`%0a%3c ## Exit the document without saving%0a%3c `:q!`%0a%3c ## Navigate UP/DOWN%0a%3c `%0a%3c j - for up%0a%3c k - for down%0a%3c `%0a%3c ## Navigate Right/Left%0a%3c `l - for left%0a%3c h - for right%0a%3c `%0a%3c ## Exit and Save%0a%3c `:wq`%0a%3c ## Undo %0a%3c `%0a%3c u - undo%0a%3c :u - undo%0a%3c :undo - undo%0a%3c `%0a%3c ## Search and Replace ALL for single change u just type "%25s/keyword/newkeyword/ without G%0a%3c `%25s/keyword/whatuwanttoreplace/g - Replaces anything whith whatuwanttoreplace that is known as keyword`%0a%3c ## How to save and quit%0a%3c `ESC; :wq - Write and quit or a.k.a Save and quit`%0a%3c ## How to search%0a%3c `/keywoard`%0a%3c ## Show number lines%0a%3c `ESC, :set number`%0a%3c ## Delete a line%0a%3c `dd`%0a%3c # Jump to first line%0a%3c `gg`%0a%3c # Jump to last/bottom line%0a%3c `SHIFT+G`%0a%3c `G`%0a%3c ## Exit INSERT mode%0a%3c `ESC`%0a%3c ## Enable Syntax%0a%3c `:syntax on`%0a%3c ## Disable Syntax%0a%3c `:syntax off`%0a%3c ## Go to specific line%0a%3c `/20 - Sents you to line 20`%0a%3c %0a%3c This commands most of them apply to "vi" to but for full experience please install vim:%0a%3c %0a%3c `pkg_add vim`%0a +host:1618169211=185.173.204.160 blob - /dev/null blob + b3a7deaecdc1cb88a79cfefa92cc65c7690d8d27 (mode 644) --- /dev/null +++ wiki.d/Vmctl.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1627536685 +host=125.224.28.113 +name=Vmctl.RecentChanges +rev=4 +text=* [[Vmctl/Usage]] . . . October 17, 2021, at 06:14 AM by [[~jrmu]]: [==]%0a +time=1634451284 blob - /dev/null blob + f7463204976bafd42e9bccdfcdf6b12f9afaab08 (mode 644) --- /dev/null +++ wiki.d/Vmctl.Usage @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627536685 +host=125.224.28.113 +name=Vmctl.Usage +rev=4 +targets=Shell.ShellPutty,Openbsd.Vmminstall +text=(:title Using vmctl:)%0a%0a[[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host.%0a%0a!! Connect to the Virtual Machine%0a%0aConnect to the guest, username.host.example.com.%0a# For Linux/Mac, open up a terminal and run @@$ ssh username@username.host.example.com@@ -- note that the hostname is username.host.example.com and '''not''' host.example.com.%0a# For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.host.example.com@@ -- note that the hostname is username.host.example.com and '''not''' host.example.com.%0a%0a!! Manage the Virtual Machine%0a%0aConnect to the host, which runs the hypervisor. For IRCNow, this host is host.example.com.%0a# For Linux/Mac, open up a terminal and run @@$ ssh username@host.example.com@@ -- note that the hostname is host.example.com and '''not''' username.host.example.com.%0a# For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@host.example.com@@ -- note that the hostname is host.example.com and '''not''' username.host.example.com.%0a%0a'''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.host.example.com, not host.example.com. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%0aAttach:vmminstall-1.png%0a%0aOnce inside the host (host.example.com), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a%0a# To view the [[https://man.openbsd.org/cu|serial console]] to [[openbsd/vmminstall|install, upgrade, or repair]] the system:%0a%0a[@%0a$ vmctl console %3cvm-name>%0a@]%0a%0aTo shutdown the VM:%0a%0a[@%0a$ vmctl stop %3cvm-name>%0a@]%0a%0aTo boot the VM:%0a%0a[@%0a$ vmctl start %3cvm-name>%0a@]%0a%0aTo pause the VM:%0a%0a[@%0a$ vmctl pause %3cvm-name>%0a@]%0a%0aTo unpause the VM:%0a%0a[@%0a$ vmctl unpause %3cvm-name>%0a@]%0a%0aAt any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%0a!! Install, Upgrade, Repair%0a%0aIf you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a%0a!! See Also%0a%0a|| [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a +time=1634451284 +title=Using vmctl +author:1634451284=jrmu +diff:1634451284:1634451246:=21c21%0a%3c Once inside the host (host.example.com), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a---%0a> Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a +host:1634451284=125.224.28.113 +author:1634451246=jrmu +diff:1634451246:1634451240:= +host:1634451246=125.224.28.113 +author:1634451240=jrmu +diff:1634451240:1627536685:=7,10c7,10%0a%3c Connect to the guest, username.host.example.com.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@username.host.example.com@@ -- note that the hostname is username.host.example.com and '''not''' host.example.com.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.host.example.com@@ -- note that the hostname is username.host.example.com and '''not''' host.example.com.%0a%3c %0a---%0a> Connect to the guest, username.coconut.ircnow.org.%0a> # For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a> # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a> %0a13,17c13,17%0a%3c Connect to the host, which runs the hypervisor. For IRCNow, this host is host.example.com.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@host.example.com@@ -- note that the hostname is host.example.com and '''not''' username.host.example.com.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@host.example.com@@ -- note that the hostname is host.example.com and '''not''' username.host.example.com.%0a%3c %0a%3c '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.host.example.com, not host.example.com. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a---%0a> Connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a> # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a> # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a> %0a> '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a +host:1634451240=125.224.28.113 +author:1627536685=jrmu +diff:1627536685:1627536685:=1,61d0%0a%3c (:title Using vmctl:)%0a%3c %0a%3c [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host.%0a%3c %0a%3c !! Connect to the Virtual Machine%0a%3c %0a%3c Connect to the guest, username.coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@username.coconut.ircnow.org@@ -- note that the hostname is username.coconut.ircnow.org and '''not''' coconut.ircnow.org.%0a%3c %0a%3c !! Manage the Virtual Machine%0a%3c %0a%3c Connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c %0a%3c '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%3c %0a%3c Attach:vmminstall-1.png%0a%3c %0a%3c Once inside the host (coconut.ircnow.org), you can control your virtual machine using the following commands. %3cvm-name> is most likely your username.%0a%3c %0a%3c # To view the [[https://man.openbsd.org/cu|serial console]] to [[openbsd/vmminstall|install, upgrade, or repair]] the system:%0a%3c %0a%3c [@%0a%3c $ vmctl console %3cvm-name>%0a%3c @]%0a%3c %0a%3c To shutdown the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl stop %3cvm-name>%0a%3c @]%0a%3c %0a%3c To boot the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl start %3cvm-name>%0a%3c @]%0a%3c %0a%3c To pause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl pause %3cvm-name>%0a%3c @]%0a%3c %0a%3c To unpause the VM:%0a%3c %0a%3c [@%0a%3c $ vmctl unpause %3cvm-name>%0a%3c @]%0a%3c %0a%3c At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%3c %0a%3c !! Install, Upgrade, Repair%0a%3c %0a%3c If you need to upgrade, install, or repair OpenBSD, you will also want to check out the [[Openbsd/vmminstall|VMM Install Guide]].%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmminstall|VMM Install Guide]] ||%0a +host:1627536685=38.87.162.8 blob - /dev/null blob + 2c7d39edd95d4117ef89ee77ba55f78612bbd87c (mode 644) --- /dev/null +++ wiki.d/Vmm.9front,del-1628489768 @@ -0,0 +1,19 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum=front fell off +ctime=1628024239 +host=198.251.81.133 +name=Vmm.9front +rev=2 +targets= +text=boots. +time=1628024525 +author:1628024525=mkf +csum:1628024525=front fell off +diff:1628024525:1628024239:=1d0%0a%3c boots.%0a\ No newline at end of file%0a +host:1628024525=198.251.81.133 +author:1628024239=mkf +diff:1628024239:1628024239:= +host:1628024239=198.251.81.133 blob - /dev/null blob + 7c3c41bbbc4b6bdc5c5c8c859c3af7f23387e541 (mode 644) --- /dev/null +++ wiki.d/Vmm.AlmaLinux @@ -0,0 +1,63 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1637383709 +host=180.241.250.156 +name=Vmm.AlmaLinux +rev=17 +targets= +text=Booting the ISO%0aWhen presented with the boot menu, press the up arrow key to highlight the first entry, "Install AlmaLinux 8.5"%0a%0aNext, hit the TAB key to enable editing of the boot line. After the word "quiet" on the boot line, insert this text:%0a%0ainst.text console=ttyS0,115200%0a%0aremove quiet and add in console=ttyS0,115200 after quiet it should boot up%0a%0aThe full boot line should read:%0a%0a----%0avmlinuz initrd=initrd.img inst.stage2=hd:LABEL=AlmaLinux-8-5-x86_64-dvd inst.text console=ttyS0,115200%0a----%0a%0a%0aAfter editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a%0aINSTALLING INSTRUCTION:%0a%0a-----%0apress up Arrow until you saw cursor blinking at install #than press tab%0a-----%0a%0a----%0aEDIT AND PRESS ENTER vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=AlmaLinux-8-5-x86_64-dvd inst.text console=ttyS0,115200%0a----%0a%0aAttach:Vmm/almasetup1.png%0a%0a----%0aWait Till Boot UP of Installation Appear just like below screenshot%0a----%0a%0aAttach:Vmm/almasetup2.png%0a%0a----%0aLets Configure Installation Destination , press 5 , let's just setup that use all space%0a----%0a%0aAttach:Vmm/almasetup3.png%0a%0a----%0aWe want to use LVM so we can grow and shrink the disk later and press c%0a----%0a%0aAttach:Vmm/almasetup4.png%0a%0a%0a----%0aLets Setup The Network Now , IN our case , the network is at follow :%0a%0a%0a NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a --> IPv4: 38.87.162.188%0a --> IPv6: 2602:fccf:1:1188::/64%0a --> Prefix Length: 48%0a --> IPv4 Default Gateway: 38.87.162.1%0a --> IPv6 Default Gateway: 2602:fccf:1::1%0a --> IPV4 NETMASK 38.87.162.1/24 OR 255.255.255.0%0a %0aFIRST SETUP HOSTNAME = localhost which we can change later.%0aThan Let's Setup the network by pressing 2.%0aAll Good with the screenshot below%0a----%0a%0aAttach:Vmm/almasetup5.png%0a%0a%0a----%0aLASTLY LET'S SETUP USER AND ROOT PASSWORD.%0a%0aPRESS 9%0a---- %0a%0aAttach:Vmm/almasetup6.png%0a%0a%0a----%0aFill IN ALL and don't forget to setup user as administrator.%0aexample user : dodocrypto , don't forget to press 5 to set password%0a---- %0a%0aAttach:Vmm/almasetup7.png%0a%0a%0a----%0aNEXT SETUP ROOT PASSWORD%0a---- %0a%0aAttach:Vmm/almasetup8.png%0a%0a%0a----%0aLASTLY WE need to SETUP software that we want to install, press 4%0achoose minimal and than standard. press c to continue%0a---- %0a%0aAttach:Vmm/almasetup9.png%0a%0aAttach:Vmm/almasetup11.png%0a%0a%0a%0a----%0aOnce your back to main menu press b for installation . Enjoy.%0a----%0a%0aAttach:Vmm/almasetup12.png%0a%0a%0a----%0aDO NOT FORGET TO PRESS ENTER AND WAIT FOR INSTALLATION TO FINISHED AND REBOOT , PLEASE WAIT FOR THE REBOOT OR SYSTEM WILL CRASH%0a---- +time=1637390861 +author:1637390861=dodocrypto +diff:1637390861:1637390620:= +host:1637390861=180.241.250.156 +author:1637390620=dodocrypto +diff:1637390620:1637390596:= +host:1637390620=180.241.250.156 +author:1637390596=dodocrypto +diff:1637390596:1637386399:=109,114c109%0a%3c Attach:Vmm/almasetup12.png%0a%3c %0a%3c %0a%3c ----%0a%3c DO NOT FORGET TO PRESS ENTER AND WAIT FOR INSTALLATION TO FINISHED AND REBOOT , PLEASE WAIT FOR THE REBOOT OR SYSTEM WILL CRASH%0a%3c ----%0a\ No newline at end of file%0a---%0a> Attach:Vmm/almasetup12.png%0a\ No newline at end of file%0a +host:1637390596=180.241.250.156 +author:1637386399=dodocrypto +diff:1637386399:1637386191:=96c96%0a%3c choose minimal and than standard. press c to continue%0a---%0a> %0a99,109c99%0a%3c Attach:Vmm/almasetup9.png%0a%3c %0a%3c Attach:Vmm/almasetup11.png%0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c Once your back to main menu press b for installation . Enjoy.%0a%3c ----%0a%3c %0a%3c Attach:Vmm/almasetup12.png%0a\ No newline at end of file%0a---%0a> Attach:Vmm/almasetup9.png%0a\ No newline at end of file%0a +host:1637386399=180.241.250.156 +author:1637386191=dodocrypto +diff:1637386191:1637386051:=91,99c91%0a%3c Attach:Vmm/almasetup8.png%0a%3c %0a%3c %0a%3c ----%0a%3c LASTLY WE need to SETUP software that we want to install, press 4%0a%3c %0a%3c ---- %0a%3c %0a%3c Attach:Vmm/almasetup9.png%0a\ No newline at end of file%0a---%0a> Attach:Vmm/almasetup8.png%0a\ No newline at end of file%0a +host:1637386191=180.241.250.156 +author:1637386051=dodocrypto +diff:1637386051:1637385891:=85,91d84%0a%3c %0a%3c %0a%3c ----%0a%3c NEXT SETUP ROOT PASSWORD%0a%3c ---- %0a%3c %0a%3c Attach:Vmm/almasetup8.png%0a\ No newline at end of file%0a +host:1637386051=180.241.250.156 +author:1637385891=dodocrypto +diff:1637385891:1637385583:=73d72%0a%3c PRESS 9%0a76,84d74%0a%3c Attach:Vmm/almasetup6.png%0a%3c %0a%3c %0a%3c ----%0a%3c Fill IN ALL and don't forget to setup user as administrator.%0a%3c example user : dodocrypto , don't forget to press 5 to set password%0a%3c ---- %0a%3c %0a%3c Attach:Vmm/almasetup7.png%0a +host:1637385891=180.241.250.156 +author:1637385583=dodocrypto +diff:1637385583:1637384941:=48,74d47%0a%3c %0a%3c %0a%3c ----%0a%3c Lets Setup The Network Now , IN our case , the network is at follow :%0a%3c %0a%3c %0a%3c NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a%3c --> IPv4: 38.87.162.188%0a%3c --> IPv6: 2602:fccf:1:1188::/64%0a%3c --> Prefix Length: 48%0a%3c --> IPv4 Default Gateway: 38.87.162.1%0a%3c --> IPv6 Default Gateway: 2602:fccf:1::1%0a%3c --> IPV4 NETMASK 38.87.162.1/24 OR 255.255.255.0%0a%3c %0a%3c FIRST SETUP HOSTNAME = localhost which we can change later.%0a%3c Than Let's Setup the network by pressing 2.%0a%3c All Good with the screenshot below%0a%3c ----%0a%3c %0a%3c Attach:Vmm/almasetup5.png%0a%3c %0a%3c %0a%3c ----%0a%3c LASTLY LET'S SETUP USER AND ROOT PASSWORD.%0a%3c %0a%3c ---- %0a%3c %0a +host:1637385583=180.241.250.156 +author:1637384941=dodocrypto +diff:1637384941:1637384850:=42,47d41%0a%3c %0a%3c ----%0a%3c We want to use LVM so we can grow and shrink the disk later and press c%0a%3c ----%0a%3c %0a%3c Attach:Vmm/almasetup4.png%0a +host:1637384941=180.241.250.156 +author:1637384850=dodocrypto +diff:1637384850:1637384828:=41c41%0a%3c Attach:Vmm/almasetup3.png%0a---%0a> Attach:Vmm/almasetup5.png%0a +host:1637384850=180.241.250.156 +author:1637384828=dodocrypto +diff:1637384828:1637384752:=38c38%0a%3c Lets Configure Installation Destination , press 5 , let's just setup that use all space%0a---%0a> Lets Configure Installation Destination , press 5%0a41d40%0a%3c Attach:Vmm/almasetup5.png%0a +host:1637384828=180.241.250.156 +author:1637384752=dodocrypto +diff:1637384752:1637384668:=38c38%0a%3c Lets Configure Installation Destination , press 5%0a---%0a> %0a +host:1637384752=180.241.250.156 +author:1637384668=dodocrypto +diff:1637384668:1637384411:=31,39d30%0a%3c ----%0a%3c Wait Till Boot UP of Installation Appear just like below screenshot%0a%3c ----%0a%3c %0a%3c Attach:Vmm/almasetup2.png%0a%3c %0a%3c ----%0a%3c %0a%3c ----%0a +host:1637384668=180.241.250.156 +author:1637384411=dodocrypto +diff:1637384411:1637383950:=29c29%0a%3c Attach:Vmm/almasetup1.png%0a---%0a> %0a +host:1637384411=180.241.250.156 +author:1637383950=dodocrypto +diff:1637383950:1637383835:=23,31c23%0a%3c -----%0a%3c %0a%3c ----%0a%3c EDIT AND PRESS ENTER vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=AlmaLinux-8-5-x86_64-dvd inst.text console=ttyS0,115200%0a%3c ----%0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> -----%0a\ No newline at end of file%0a +host:1637383950=180.241.250.156 +author:1637383835=dodocrypto +diff:1637383835:1637383709:=12,15c12,13%0a%3c ----%0a%3c vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=AlmaLinux-8-5-x86_64-dvd inst.text console=ttyS0,115200%0a%3c ----%0a%3c %0a---%0a> vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd inst.text console=ttyS0,115200%0a> If desired, feel free to remove the word "quiet" from the boot line to see verbose bootup messages.%0a +host:1637383835=180.241.250.156 +author:1637383709=dodocrypto +diff:1637383709:1637383709:=1,21d0%0a%3c Booting the ISO%0a%3c When presented with the boot menu, press the up arrow key to highlight the first entry, "Install AlmaLinux 8.5"%0a%3c %0a%3c Next, hit the TAB key to enable editing of the boot line. After the word "quiet" on the boot line, insert this text:%0a%3c %0a%3c inst.text console=ttyS0,115200%0a%3c %0a%3c remove quiet and add in console=ttyS0,115200 after quiet it should boot up%0a%3c %0a%3c The full boot line should read:%0a%3c %0a%3c vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd inst.text console=ttyS0,115200%0a%3c If desired, feel free to remove the word "quiet" from the boot line to see verbose bootup messages.%0a%3c %0a%3c After editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a%3c %0a%3c INSTALLING INSTRUCTION:%0a%3c %0a%3c -----%0a%3c press up Arrow until you saw cursor blinking at install #than press tab%0a%3c -----%0a\ No newline at end of file%0a +host:1637383709=180.241.250.156 blob - /dev/null blob + 224f2bc20014e5a00707ffcbfb23faf3121c5760 (mode 644) --- /dev/null +++ wiki.d/Vmm.Configure @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Safari/605.1.15 vimb/3.6.0 +author=mkf +charset=UTF-8 +csum=so we look cool now. +ctime=1627536240 +host=2.178.144.223 +name=Vmm.Configure +rev=3 +targets= +text=(:title Configure vmm on OpenBSD:)%0a%0aYou will need to install vmm-firmware (which appears to be free software):%0a%0a[@%0a$ doas pkg_add vmm-firmware%0a@]%0a%0aBy default, there are only four tap interfaces. We need to create sufficient devices for all our virtual machines:%0a%0a[@%0a# cd /dev%0a# for i in $(jot 50 4 50); do sh MAKEDEV tap$i; done%0a@]%0a%0aWe need to increase arpq because we may have so many virtual machines on the same switch:%0a%0a[@%0a# sysctl net.inet.ip.arpq.maxlen=1024%0a# echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a@]%0a%0aWe will need to permit IPv4 and IPv6 forwarding for our virtual machines:%0a%0a[@%0a# sysctl net.inet.ip.forwarding=1%0a# echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a# sysctl net.inet6.ip6.forwarding=1%0a# echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a@]%0a%0aNext we must create /etc/hostname.bridge0:%0a%0a[@%0aadd if0%0a@]%0a%0awhere if0 is the interface device.%0a%0aWe edit /etc/vm.conf:%0a%0a[@%0asocket owner :vmdusers%0a%0aswitch "switch0" {%0a interface bridge0%0a}%0a%0avm "user123" {%0a owner user123%0a memory 512M%0a cdrom "/home/iso/install69.iso"%0a disk /home/user123/user123.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:01%0a switch "switch0"%0a }%0a}%0a@]%0a%0a***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appear as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a%0aNext we will need to download our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a%0a[@%0a$ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso%0a$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/install69.iso%0a$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/SHA256.sig%0a$ signify -C -p /etc/signify/openbsd-70-base.pub -x SHA256.sig install70.iso%0aSignature Verified%0ainstall70.iso: OK%0a$ doas mv install70.iso /home/iso/%0a$ doas mv SHA256.sig /home/iso/%0a$ doas chown -R iso:iso /home/iso/%0a@]%0a%0aIf the signature does not verify, don't proceed.%0a%0aWe will want to enable and start vmd:%0a%0a[@%0a$ doas rcctl enable vmd%0a$ doas rcctl start vmd %0a@]%0a%0aWe need to create a new group vmdusers for each of our users so they can access the serial console:%0a%0a[@%0a# groupadd vmdusers%0a# chown root:vmdusers /var/run/vmd.sock%0a@]%0a%0aFor each virtual machine, we create a user and a disk image using install.pl:%0a%0a[@%0a$ ./install.pl%0a@]%0a%0a[@%0a# vmctl create -s 20G user.qcow2%0a@]%0a%0aYou will need to add this crontab entry for a user to prevent the networking from timing out:%0a%0aFor openbsd:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aFor debian:%0a%0a%0aIf some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a +time=1636148691 +title=Configure vmm on OpenBSD +author:1636148691=mkf +csum:1636148691=so we look cool now. +diff:1636148691:1635242518:=67,69c67,69%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/install69.iso%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-70-base.pub -x SHA256.sig install70.iso%0a---%0a> $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/install69.iso%0a> $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/SHA256.sig%0a> $ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig install69.iso%0a71,72c71,72%0a%3c install70.iso: OK%0a%3c $ doas mv install70.iso /home/iso/%0a---%0a> install69.iso: OK%0a> $ doas mv install68.iso /home/iso/%0a111a112,115%0a> %0a> [@%0a> @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a> @]%0a +host:1636148691=2.178.144.223 +author:1635242518=jrmu +diff:1635242518:1627536240:minor=61c61%0a%3c ***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appear as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a---%0a> ***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appaer as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a +host:1635242518=125.231.56.80 +author:1627536240=jrmu +diff:1627536240:1627536240:=1,118d0%0a%3c (:title Configure vmm on OpenBSD:)%0a%3c %0a%3c You will need to install vmm-firmware (which appears to be free software):%0a%3c %0a%3c [@%0a%3c $ doas pkg_add vmm-firmware%0a%3c @]%0a%3c %0a%3c By default, there are only four tap interfaces. We need to create sufficient devices for all our virtual machines:%0a%3c %0a%3c [@%0a%3c # cd /dev%0a%3c # for i in $(jot 50 4 50); do sh MAKEDEV tap$i; done%0a%3c @]%0a%3c %0a%3c We need to increase arpq because we may have so many virtual machines on the same switch:%0a%3c %0a%3c [@%0a%3c # sysctl net.inet.ip.arpq.maxlen=1024%0a%3c # echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a%3c @]%0a%3c %0a%3c We will need to permit IPv4 and IPv6 forwarding for our virtual machines:%0a%3c %0a%3c [@%0a%3c # sysctl net.inet.ip.forwarding=1%0a%3c # echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a%3c # sysctl net.inet6.ip6.forwarding=1%0a%3c # echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a%3c @]%0a%3c %0a%3c Next we must create /etc/hostname.bridge0:%0a%3c %0a%3c [@%0a%3c add if0%0a%3c @]%0a%3c %0a%3c where if0 is the interface device.%0a%3c %0a%3c We edit /etc/vm.conf:%0a%3c %0a%3c [@%0a%3c socket owner :vmdusers%0a%3c %0a%3c switch "switch0" {%0a%3c interface bridge0%0a%3c }%0a%3c %0a%3c vm "user123" {%0a%3c owner user123%0a%3c memory 512M%0a%3c cdrom "/home/iso/install69.iso"%0a%3c disk /home/user123/user123.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:01%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c ***WARNING***: Do ***not*** use aa:bb:cc:dd:ee:xx. Make sure to choose your own random lladdr. However, make sure not to pick a broadcast MAC address. If the first octet of the address is an odd number (such as f1:xx:xx:xx:xx:xx or f3:xx:xx:xx:xx:xx), it will appaer as a broadcast device and may be the cause of routing issues. Networking will no longer work as a result.%0a%3c %0a%3c Next we will need to download our [[https://openbsd.org/ftp.html|ISO for OpenBSD]].%0a%3c %0a%3c [@%0a%3c $ doas useradd -m -g =uid -c "iso" -d /home/iso -s /sbin/nologin iso%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/install69.iso%0a%3c $ ftp https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/SHA256.sig%0a%3c $ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig install69.iso%0a%3c Signature Verified%0a%3c install69.iso: OK%0a%3c $ doas mv install68.iso /home/iso/%0a%3c $ doas mv SHA256.sig /home/iso/%0a%3c $ doas chown -R iso:iso /home/iso/%0a%3c @]%0a%3c %0a%3c If the signature does not verify, don't proceed.%0a%3c %0a%3c We will want to enable and start vmd:%0a%3c %0a%3c [@%0a%3c $ doas rcctl enable vmd%0a%3c $ doas rcctl start vmd %0a%3c @]%0a%3c %0a%3c We need to create a new group vmdusers for each of our users so they can access the serial console:%0a%3c %0a%3c [@%0a%3c # groupadd vmdusers%0a%3c # chown root:vmdusers /var/run/vmd.sock%0a%3c @]%0a%3c %0a%3c For each virtual machine, we create a user and a disk image using install.pl:%0a%3c %0a%3c [@%0a%3c $ ./install.pl%0a%3c @]%0a%3c %0a%3c [@%0a%3c # vmctl create -s 20G user.qcow2%0a%3c @]%0a%3c %0a%3c You will need to add this crontab entry for a user to prevent the networking from timing out:%0a%3c %0a%3c For openbsd:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c For debian:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c %0a%3c If some users are using the wrong IPs, you can run tcpdump with the -e flag to show the lladdr of tcp packets.%0a +host:1627536240=38.87.162.8 blob - /dev/null blob + 2c0f41a416cac19862bac0422985e6dd595edc44 (mode 644) --- /dev/null +++ wiki.d/Vmm.Debian @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum="LOL" +ctime=1617866331 +host=198.251.81.133 +name=Vmm.Debian +rev=3 +targets= +text=%0aTips for installing a Debian/Devuan VM on a BSD bare metal server running vmd%0a%0a!! Version information%0a%0a * Debian 10.4.0%0a * Devuan 3.0.0%0a * OpenBSD 6.7%0a * 18/6/2020%0a%0aOn BSD bare metal server running vmd:%0a%0a!! Logging on:%0a[@%0assh user@furit.ircnow.org%0a@]%0a!! vm configuration%0a[@%0agrep -B1 -A10 "owner USERNAME" /etc/vm.conf`%0a`vmctl status | grep USERNAME`%0a@]%0a%0a!! making virtual disk%0a[@%0avmctl create -s 16G diskname.qcow2%0afile diskname.qcow2%0als -lh diskname.qcow2%0a@]%0a%0a!! controling vm%0a%0aStart: ''%25%25vmctl start VMNAME%25%25''\\%0aGet in: ''%25%25vmctl console VMNAME%25%25''\\%0aStart and get in: ''%25%25vmctl start -c VMNAME%25%25''\\%0aGet out: ''%25%25%3cNEWLINE>~.%25%25''\\%0aGet out without get out ssh: ''%25%25%3cNEWLINE>~~.%25%25''\\%0aGraceful shutdown: ''%25%25vmctl stop VMNAME%25%25''\\%0aCut Power: ''%25%25vmctl stop -f VMNAME%25%25''\\%0aConsole messes up the screen: ''%25%25reset; clear%25%25''\\%0a%0a!! vm booting%0a%0a * Guess - MBR (no GPT) of diskname.qcow2%0a * If invalid, cdrom%0a * Can’t be controlled without root or something idk ’bout%0a%0a===== Inside my vm =====%0a%0a!! Boot parameters%0a%0a!!! Bad:%0a[@%0a/install.amd/vmlinuz priority=low vga=788 initrd=/install.amd/initrd.gz %0a@]%0a%0a!!! Good:%0a[@%0a/install.amd/vmlinuz priority=low DEBIAN_FRONTEND=text initrd=/install.amd/initrd.gz --- console=ttyS0,115200%0a@]%0a%0aGuesses:%0a * system no like video%0a * system no auto find console or console speed%0a * parameter after — will be copied to system boot menu%0a * curses frontend crashes console%0a%0a=== References: ===%0a%0a * Debian Boot Parameters https://www.debian.org/releases/stable/amd64/ch05s03.en.html%0a * Console Crashes For No Reason https://marc.info/?l=openbsd-tech&m=159028442625596&w=2%0a%0a!! Installation%0a%0a!!! Initial Menu%0a%0aAdvanced options >> Expert install >> %3chtml>%3cTAB>%3c/html> edit boot parameters and boot%0a%0aProtip: Type line at end, then Ctrl+B to edit middle - don’t overshoot! %0a%0a!!! Pre network questions%0a%0aDefaults are fine.%0a%0a!!! Network questions%0a%0aNo autoconfigure.%0aStatic IP address assigned to you hint: ''%25%25dig VMNAME.us5.ircnow.org%25%25''%0aNetmask: 255.255.255.0 (default)%0aGateway: 38.81.163.129 (NOT default)%0aDNS: 8.8.8.8 (NOT default)%0aTimeout for link autodetect - efault of 3 is fine. It never times out anyway if you got it wrong and hangs.%0aProtip: You can never enter the network setup menu (or type %3c to get out of it) to avoid this.%0aHostname: Don’t think it matters.%0aDomain name: does it have to be us5.ircnow.org???%0a%0a%0a!!! Pre disk questions%0a%0aProtip: [@openssl rand -base64 12@] makes a 16 char password%0aProtip: Save password to a file on bare metal computer and copy paste it in%0aProtip: Ctrl+c or Ctrl+shift+c = xsel -b ; Select with mouse = xsel ; Middle mouse button pastes xsel%0aProtip: Can’t only have ssh key because you need to login from console when network is down!%0aProtip: [@grep "Invalid user" /var/log/auth.log | wc -l@]%0a%0a!!! Disk questions%0a%0aProtip: mbt is called “msdos” here\\%0aReminder: GPT no work!!! i think\\%0aProtip: [@expr 1024 \* 1024 \* 1024 \* 4%25%25@] to get 4GiB instead of 4GB, use suffix b%0aProtip: “10 11”%0aProtip: easier to make swap on a separate .qcow2%0a%0a%0a!!! Final questions%0a%0aProtip: “targeted” works%0aEnable backports with “1 2 3”%0aSelect and install software takes a long time do NOT press enter to make it wake up or it will skip choices%0aDon’t install desktop stuff on the SERVER%0aInstall GRUB to the MBR%0aYou don’t need to “remove the installation media”%0a%0a%0a!!! Post installation%0a%0aProtip: Don’t hold keys down or you may lock the console%0a%0a%0aTo keep all .dpkg (to make a local archive later):%0a[@%0aprintf '%25s' 'Binary::apt::APT::Keep-Downloaded-Packages "1";' > /etc/apt/apt.conf.d/99keep-downloaded-packages%0a@]%0aTo trust cdrom:%0a%0a[@%0ased -i 's/deb cdrom/deb [trusted=yes] cdrom/' /etc/apt/sources.list%0a@]%0aTo get new kernel: (IMPORTANT!)%0a%0a[@%0aapt list | egrep 'linux-image.*bpo..-amd64-unsigned'%0a#based on latest above%0aapt install linux-image-5.6.0-0.bpo.2-amd64-unsigned%0auname -r #still old%0areboot%0auname -r #new%0a@]%0aNow you put your authorized_keys in and switch to ssh instead of console.%0a%0aTo see kept .dpkg (to make a local archive later):%0a%0a[@%0afind /var/cache/apt/archives -name '*.deb' | wc -l%0adu -ah /var/cache/apt/archives | sort -h | tail%0a@]%0aTo find an empty .qcow2 disk to put swap on:%0a%0a[@%0alsblk%0amkswap /dev/DONT_GET_THIS_WRONG%0alsblk -o name,UUID | grep DONT_GET_THIS_WRONG%0auuid=$(lsblk -o name,UUID | grep vdc | awk '{print $2}')%0aecho \$uuid #should exist!%0aprintf "%25s\n" "UUID=$uuid none swap" >> /etc/fstab #applies on reboot%0aswapon /dev/DONT_GET_THIS_WRONG #applies now%0aswapon #verify have swap now%0a@]%0aTo not need password to sudo%0a%0a[@%0a/etc/sudoers #edit this file with this line%0aUSERNAME ALL=(ALL:ALL) NOPASSWD:ALL%0a@]%0a===== Packages =====%0a%0a[@%0aapt get apt-file%0a@]%0a +time=1622836126 +author:1622836126=mkf +csum:1622836126="LOL" +diff:1622836126:1622835578:=1a2%0a> %0a49,51c50,53%0a%3c !! Boot parameters%0a%3c %0a%3c !!! Bad:%0a---%0a> ==== Boot parameters ====%0a> %0a> == Bad: ==%0a> %0a55,56c57%0a%3c %0a%3c !!! Good:%0a---%0a> === Good: ===%0a60,61c61,62%0a%3c %0a%3c Guesses:%0a---%0a> === Guess: ===%0a> %0a67,68c68,69%0a%3c === References: ===%0a%3c %0a---%0a> === Reference: ===%0a> %0a72,75c73,76%0a%3c !! Installation%0a%3c %0a%3c !!! Initial Menu%0a%3c %0a---%0a> ==== Sample answers when installing ====%0a> %0a> === Initial Menu ===%0a> %0a78,81c79,83%0a%3c Protip: Type line at end, then Ctrl+B to edit middle - don’t overshoot! %0a%3c %0a%3c !!! Pre network questions%0a%3c %0a---%0a> Protip: Type line at end, then Ctrl+B to edit middle - don’t overshoot! LOL%0a> %0a> === Pre network questions ===%0a> %0a> How to stop from scrolling off screen? lol.\\%0a84,106c86,109%0a%3c !!! Network questions%0a%3c %0a%3c No autoconfigure.%0a%3c Static IP address assigned to you hint: ''%25%25dig VMNAME.us5.ircnow.org%25%25''%0a%3c Netmask: 255.255.255.0 (default)%0a%3c Gateway: 38.81.163.129 (NOT default)%0a%3c DNS: 8.8.8.8 (NOT default)%0a%3c Timeout for link autodetect - efault of 3 is fine. It never times out anyway if you got it wrong and hangs.%0a%3c Protip: You can never enter the network setup menu (or type %3c to get out of it) to avoid this.%0a%3c Hostname: Don’t think it matters.%0a%3c Domain name: does it have to be us5.ircnow.org???%0a%3c %0a%3c %0a%3c !!! Pre disk questions%0a%3c %0a%3c Protip: [@openssl rand -base64 12@] makes a 16 char password%0a%3c Protip: Save password to a file on bare metal computer and copy paste it in%0a%3c Protip: Ctrl+c or Ctrl+shift+c = xsel -b ; Select with mouse = xsel ; Middle mouse button pastes xsel%0a%3c Protip: Can’t only have ssh key because you need to login from console when network is down!%0a%3c Protip: [@grep "Invalid user" /var/log/auth.log | wc -l@]%0a%3c %0a%3c !!! Disk questions%0a%3c %0a---%0a> === Network questions ===%0a> %0a> No autoconfigure.\\%0a> Static IP address assigned to you hint: ''%25%25dig VMNAME.us5.ircnow.org%25%25''\\%0a> Netmask: 255.255.255.0 (default)\\%0a> Gateway: 38.81.163.129 (NOT default)\\%0a> DNS: 8.8.8.8 (NOT default)\\%0a> Timeout for link autodetect - efault of 3 is fine. It never times out anyway if you got it wrong and hangs. LOL\\%0a> Protip: You can never enter the network setup menu (or type %3c to get out of it) to avoid this.\\%0a> Hostname: Don’t think it matters.\\%0a> DOmain name: Does it have to be us5.ircnow.org???\\%0a> %0a> %0a> === Pre disk questions ===%0a> %0a> Protip: ''%25%25openssl rand -base64 12%25%25'' makes a 16 char password\\%0a> Protip: Save password to a file on bare metal computer and copy paste it in\\%0a> Protip: Ctrl+c or Ctrl+shift+c = xsel -b ; Select with mouse = xsel ; Middle mouse button pastes xsel\\%0a> Protip: Can’t only have ssh key because you need to login from console when network is down!\\%0a> Protip: ''%25%25%3c/var/log/auth.log grep "Invalid user" | wc -l%25%25''\\%0a> Protip: Someone tries to guess a password EVERY MINUTE LOL%0a> %0a> === Disk questions ===%0a> %0a109,115c112,118%0a%3c Protip: [@expr 1024 \* 1024 \* 1024 \* 4%25%25@] to get 4GiB instead of 4GB, use suffix b%0a%3c Protip: “10 11”%0a%3c Protip: easier to make swap on a separate .qcow2%0a%3c %0a%3c %0a%3c !!! Final questions%0a%3c %0a---%0a> Protip: ''%25%25expr 1024 \* 1024 \* 1024 \* 4%25%25'' to get 4GiB instead of 4GB, use suffix b\\%0a> Protip: “10 11” enables user and group quotas on /home no comma no quotes LOL\\%0a> Protip: easier to make swap on a separate .qcow2\\%0a> %0a> %0a> === Final questions ===%0a> %0a120c123%0a%3c Install GRUB to the MBR%0a---%0a> Install GRUB to the MBR (make sure you get the right disk LOL 1st disk?)%0a124c127%0a%3c !!! Post installation%0a---%0a> ==== After reboot ====%0a +host:1622836126=198.251.81.133 +author:1622835578=mkf +csum:1622835578=clean up, more style. +diff:1622835578:1617866331:=1,6c1,6%0a%3c %0a%3c %0a%3c Tips for installing a Debian/Devuan VM on a BSD bare metal server running vmd%0a%3c %0a%3c !! Version information%0a%3c %0a---%0a> __TOC__%0a> %0a> ====== Tips for installing a Debian/Devuan VM on a BSD bare metal server running vmd ======%0a> %0a> ===== Version information =====%0a> %0a12,19c12,21%0a%3c On BSD bare metal server running vmd:%0a%3c %0a%3c !! Logging on:%0a%3c [@%0a%3c ssh user@furit.ircnow.org%0a%3c @]%0a%3c !! vm configuration%0a%3c [@%0a---%0a> ===== On BSD bare metal server running vmd =====%0a> %0a> ==== Logging on: ====%0a> %0a> %3ccode bash>%0a> ssh USERNAME@us5.ircnow.org%0a> %3c/code>%0a> ==== What’s my vm: ====%0a> %0a> %3ccode bash>%0a22,25c24,27%0a%3c @]%0a%3c %0a%3c !! making virtual disk%0a%3c [@%0a---%0a> %3c/code>%0a> ==== Disks for my vm: ====%0a> %0a> %3ccode bash>%0a29,32c31,33%0a%3c @]%0a%3c %0a%3c !! controling vm%0a%3c %0a---%0a> %3c/code>%0a> ==== Control my vm: ====%0a> %0a42,43c43,45%0a%3c !! vm booting%0a%3c %0a---%0a> %0a> ==== What does my vm boot from? ====%0a> %0a54,56c56,58%0a%3c [@%0a%3c /install.amd/vmlinuz priority=low vga=788 initrd=/install.amd/initrd.gz %0a%3c @]%0a---%0a> %3ccode bash>%0a> /install.amd/vmlinuz priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a> %3c/code>%0a58c60,61%0a%3c [@%0a---%0a> %0a> %3ccode bash>%0a60c63%0a%3c @]%0a---%0a> %3c/code>%0a119,126c122,129%0a%3c Protip: “targeted” works%0a%3c Enable backports with “1 2 3”%0a%3c Select and install software takes a long time do NOT press enter to make it wake up or it will skip choices%0a%3c Don’t install desktop stuff on the SERVER%0a%3c Install GRUB to the MBR (make sure you get the right disk LOL 1st disk?)%0a%3c You don’t need to “remove the installation media”%0a%3c %0a%3c %0a---%0a> Protip: “targeted” works\\%0a> Enable backports with “1 2 3” no comma no quotes LOL\\%0a> Select and install software takes a long time do NOT press enter to make it wake up or it will skip choices LOL\\%0a> DOn’t install desktop stuff on the SERVER lol\\%0a> Install GRUB to the MBR (make sure you get the right disk LOL 1st disk?)\\%0a> You don’t need to “remove the installation media”\\%0a> %0a> %0a129,131c132,134%0a%3c Protip: Don’t hold keys down or you may lock the console%0a%3c %0a%3c %0a---%0a> Protip: Don’t hold keys down or you may lock the console LOL\\%0a> %0a> %0a133c136,137%0a%3c [@%0a---%0a> %0a> %3ccode bash>%0a135c139%0a%3c @]%0a---%0a> %3c/code>%0a138c142%0a%3c [@%0a---%0a> %3ccode bash>%0a140c144%0a%3c @]%0a---%0a> %3c/code>%0a143c147%0a%3c [@%0a---%0a> %3ccode bash>%0a150c154%0a%3c @]%0a---%0a> %3c/code>%0a155c159%0a%3c [@%0a---%0a> %3ccode bash>%0a158c162%0a%3c @]%0a---%0a> %3c/code>%0a161c165%0a%3c [@%0a---%0a> %3ccode bash>%0a170c174%0a%3c @]%0a---%0a> %3c/code>%0a173c177%0a%3c [@%0a---%0a> %3ccode bash>%0a176c180%0a%3c @]%0a---%0a> %3c/code>%0a179c183%0a%3c [@%0a---%0a> %3ccode bash>%0a181c185%0a%3c @]%0a---%0a> %3c/code>%0a +host:1622835578=198.251.81.133 +author:1617866331=jrmu +diff:1617866331:1617866331:=1,185d0%0a%3c __TOC__%0a%3c %0a%3c ====== Tips for installing a Debian/Devuan VM on a BSD bare metal server running vmd ======%0a%3c %0a%3c ===== Version information =====%0a%3c %0a%3c * Debian 10.4.0%0a%3c * Devuan 3.0.0%0a%3c * OpenBSD 6.7%0a%3c * 18/6/2020%0a%3c %0a%3c ===== On BSD bare metal server running vmd =====%0a%3c %0a%3c ==== Logging on: ====%0a%3c %0a%3c %3ccode bash>%0a%3c ssh USERNAME@us5.ircnow.org%0a%3c %3c/code>%0a%3c ==== What’s my vm: ====%0a%3c %0a%3c %3ccode bash>%0a%3c grep -B1 -A10 "owner USERNAME" /etc/vm.conf`%0a%3c `vmctl status | grep USERNAME`%0a%3c %3c/code>%0a%3c ==== Disks for my vm: ====%0a%3c %0a%3c %3ccode bash>%0a%3c vmctl create -s 16G diskname.qcow2%0a%3c file diskname.qcow2%0a%3c ls -lh diskname.qcow2%0a%3c %3c/code>%0a%3c ==== Control my vm: ====%0a%3c %0a%3c Start: ''%25%25vmctl start VMNAME%25%25''\\%0a%3c Get in: ''%25%25vmctl console VMNAME%25%25''\\%0a%3c Start and get in: ''%25%25vmctl start -c VMNAME%25%25''\\%0a%3c Get out: ''%25%25%3cNEWLINE>~.%25%25''\\%0a%3c Get out without get out ssh: ''%25%25%3cNEWLINE>~~.%25%25''\\%0a%3c Graceful shutdown: ''%25%25vmctl stop VMNAME%25%25''\\%0a%3c Cut Power: ''%25%25vmctl stop -f VMNAME%25%25''\\%0a%3c Console messes up the screen: ''%25%25reset; clear%25%25''\\%0a%3c %0a%3c %0a%3c ==== What does my vm boot from? ====%0a%3c %0a%3c * Guess - MBR (no GPT) of diskname.qcow2%0a%3c * If invalid, cdrom%0a%3c * Can’t be controlled without root or something idk ’bout%0a%3c %0a%3c ===== Inside my vm =====%0a%3c %0a%3c ==== Boot parameters ====%0a%3c %0a%3c == Bad: ==%0a%3c %0a%3c %3ccode bash>%0a%3c /install.amd/vmlinuz priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a%3c %3c/code>%0a%3c === Good: ===%0a%3c %0a%3c %3ccode bash>%0a%3c /install.amd/vmlinuz priority=low DEBIAN_FRONTEND=text initrd=/install.amd/initrd.gz --- console=ttyS0,115200%0a%3c %3c/code>%0a%3c === Guess: ===%0a%3c %0a%3c * system no like video%0a%3c * system no auto find console or console speed%0a%3c * parameter after — will be copied to system boot menu%0a%3c * curses frontend crashes console%0a%3c %0a%3c === Reference: ===%0a%3c %0a%3c * Debian Boot Parameters https://www.debian.org/releases/stable/amd64/ch05s03.en.html%0a%3c * Console Crashes For No Reason https://marc.info/?l=openbsd-tech&m=159028442625596&w=2%0a%3c %0a%3c ==== Sample answers when installing ====%0a%3c %0a%3c === Initial Menu ===%0a%3c %0a%3c Advanced options >> Expert install >> %3chtml>%3cTAB>%3c/html> edit boot parameters and boot%0a%3c %0a%3c Protip: Type line at end, then Ctrl+B to edit middle - don’t overshoot! LOL%0a%3c %0a%3c === Pre network questions ===%0a%3c %0a%3c How to stop from scrolling off screen? lol.\\%0a%3c Defaults are fine.%0a%3c %0a%3c === Network questions ===%0a%3c %0a%3c No autoconfigure.\\%0a%3c Static IP address assigned to you hint: ''%25%25dig VMNAME.us5.ircnow.org%25%25''\\%0a%3c Netmask: 255.255.255.0 (default)\\%0a%3c Gateway: 38.81.163.129 (NOT default)\\%0a%3c DNS: 8.8.8.8 (NOT default)\\%0a%3c Timeout for link autodetect - efault of 3 is fine. It never times out anyway if you got it wrong and hangs. LOL\\%0a%3c Protip: You can never enter the network setup menu (or type %3c to get out of it) to avoid this.\\%0a%3c Hostname: Don’t think it matters.\\%0a%3c DOmain name: Does it have to be us5.ircnow.org???\\%0a%3c %0a%3c %0a%3c === Pre disk questions ===%0a%3c %0a%3c Protip: ''%25%25openssl rand -base64 12%25%25'' makes a 16 char password\\%0a%3c Protip: Save password to a file on bare metal computer and copy paste it in\\%0a%3c Protip: Ctrl+c or Ctrl+shift+c = xsel -b ; Select with mouse = xsel ; Middle mouse button pastes xsel\\%0a%3c Protip: Can’t only have ssh key because you need to login from console when network is down!\\%0a%3c Protip: ''%25%25%3c/var/log/auth.log grep "Invalid user" | wc -l%25%25''\\%0a%3c Protip: Someone tries to guess a password EVERY MINUTE LOL%0a%3c %0a%3c === Disk questions ===%0a%3c %0a%3c Protip: mbt is called “msdos” here\\%0a%3c Reminder: GPT no work!!! i think\\%0a%3c Protip: ''%25%25expr 1024 \* 1024 \* 1024 \* 4%25%25'' to get 4GiB instead of 4GB, use suffix b\\%0a%3c Protip: “10 11” enables user and group quotas on /home no comma no quotes LOL\\%0a%3c Protip: easier to make swap on a separate .qcow2\\%0a%3c %0a%3c %0a%3c === Final questions ===%0a%3c %0a%3c Protip: “targeted” works\\%0a%3c Enable backports with “1 2 3” no comma no quotes LOL\\%0a%3c Select and install software takes a long time do NOT press enter to make it wake up or it will skip choices LOL\\%0a%3c DOn’t install desktop stuff on the SERVER lol\\%0a%3c Install GRUB to the MBR (make sure you get the right disk LOL 1st disk?)\\%0a%3c You don’t need to “remove the installation media”\\%0a%3c %0a%3c %0a%3c ==== After reboot ====%0a%3c %0a%3c Protip: Don’t hold keys down or you may lock the console LOL\\%0a%3c %0a%3c %0a%3c To keep all .dpkg (to make a local archive later):%0a%3c %0a%3c %3ccode bash>%0a%3c printf '%25s' 'Binary::apt::APT::Keep-Downloaded-Packages "1";' > /etc/apt/apt.conf.d/99keep-downloaded-packages%0a%3c %3c/code>%0a%3c To trust cdrom:%0a%3c %0a%3c %3ccode bash>%0a%3c sed -i 's/deb cdrom/deb [trusted=yes] cdrom/' /etc/apt/sources.list%0a%3c %3c/code>%0a%3c To get new kernel: (IMPORTANT!)%0a%3c %0a%3c %3ccode bash>%0a%3c apt list | egrep 'linux-image.*bpo..-amd64-unsigned'%0a%3c #based on latest above%0a%3c apt install linux-image-5.6.0-0.bpo.2-amd64-unsigned%0a%3c uname -r #still old%0a%3c reboot%0a%3c uname -r #new%0a%3c %3c/code>%0a%3c Now you put your authorized_keys in and switch to ssh instead of console.%0a%3c %0a%3c To see kept .dpkg (to make a local archive later):%0a%3c %0a%3c %3ccode bash>%0a%3c find /var/cache/apt/archives -name '*.deb' | wc -l%0a%3c du -ah /var/cache/apt/archives | sort -h | tail%0a%3c %3c/code>%0a%3c To find an empty .qcow2 disk to put swap on:%0a%3c %0a%3c %3ccode bash>%0a%3c lsblk%0a%3c mkswap /dev/DONT_GET_THIS_WRONG%0a%3c lsblk -o name,UUID | grep DONT_GET_THIS_WRONG%0a%3c uuid=$(lsblk -o name,UUID | grep vdc | awk '{print $2}')%0a%3c echo \$uuid #should exist!%0a%3c printf "%25s\n" "UUID=$uuid none swap" >> /etc/fstab #applies on reboot%0a%3c swapon /dev/DONT_GET_THIS_WRONG #applies now%0a%3c swapon #verify have swap now%0a%3c %3c/code>%0a%3c To not need password to sudo%0a%3c %0a%3c %3ccode bash>%0a%3c /etc/sudoers #edit this file with this line%0a%3c USERNAME ALL=(ALL:ALL) NOPASSWD:ALL%0a%3c %3c/code>%0a%3c ===== Packages =====%0a%3c %0a%3c %3ccode bash>%0a%3c apt get apt-file%0a%3c %3c/code>%0a +host:1617866331=198.251.81.44 blob - /dev/null blob + b75389210ac078e7a84f6196491347481993912b (mode 644) --- /dev/null +++ wiki.d/Vmm.DebianInstall @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=nicoz +charset=UTF-8 +csum= +ctime=1637753967 +host=185.104.127.122 +name=Vmm.DebianInstall +rev=2 +targets= +text=!! '''Start'''%0a%0a%0a%0aafter following the instructions in https://wiki.ircnow.org/index.php?n=Vmm.DebianIso%0a%0awe create our vm with the username and the data corresponding to those entered in /etc/vm.conf previously::%0a%0a%0a%0a----%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/debian-11.1.0-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a----%0a%0alet's create our VM:%0a----%0a%0avmctl create -s 16G diskname.qcow2%0a%0afile diskname.qcow2%0a%0als -lh diskname.qcow2%0a----%0a%0aNow let's start the VM and stop it 2 times:%0a----%0avmctl stop diskname%0a%0avmctl start diskname%0a%0avmctl stop -f diskname%0a%0avmctl start diskname%0a----%0a%0aNow let's enter the virtual machine console:%0a----%0avmctl console diskname%0a----%0a%0aPress CTRL + C and the installation menu will start, we go to Advance Options -> Expert install and press TAB, a command line will come out and we write by hand in the console:%0a----%0a/install.amd/vmlinuz priority=low DEBIAN_FRONTEND=text initrd=/install.amd/initrd.gz --- console=ttyS0,115200%0a----%0aDuring installation it will ask you for the network configuration, do not set it in the car, but enter the data provided via the vps email to have a correct network configuration ...%0a%0aI recommend installing SSH SERVER already from the minimal installation, so as not to have to enable it later%0a%0aI remind users not to install graphical environments as soon as they require them, and to install the GRUB on the MBR it is not necessary to "remove the installation media"%0a%0aTo get the new kernel: (IMPORTANT!)%0a----%0aapt list | egrep 'linux-image.*bpo..-amd64-unsigned'%0a%0aapt install linux-image-5.14.0-0.bpo.2-amd64-unsigned%0a----%0aNow enter your authorized_keys ...%0a%0a%0a%0aTo enable sudo on debian just install as root:%0a%0aapt install sudo%0a%0a%0aand now let's go to give sudo permissions to our user:%0a%0aadduser user sudo%0a%0aThen we edit the / etc / sudoers file and add%0a%0a%0aUSERNAME ALL=(ALL:ALL) ALL%0a%0anow we exit as root and we try to run the sudo command by the user even for a simple update we do:%0a%0asudo apt update %0a%0ait will ask you for the user's password to have permissions to run apt%0a%0asudo apt upgrade%0a%0aif there are updates, it will advise you to install them %0afor install other packages use:%0a----%0aapt install namepckg %3c------ by root%0a%0asudo apt install namepckg %3c------ by user%0a----%0anow we close the console and connect to our VPS from SSH and log in +time=1637754286 +author:1637754286=nicoz +diff:1637754286:1637753967:=26d25%0a%3c %0a28d26%0a%3c %0a30d27%0a%3c %0a +host:1637754286=185.104.127.122 +author:1637753967=nicoz +diff:1637753967:1637753967:=1,96d0%0a%3c !! '''Start'''%0a%3c %0a%3c %0a%3c %0a%3c after following the instructions in https://wiki.ircnow.org/index.php?n=Vmm.DebianIso%0a%3c %0a%3c we create our vm with the username and the data corresponding to those entered in /etc/vm.conf previously::%0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/debian-11.1.0-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c ----%0a%3c %0a%3c let's create our VM:%0a%3c ----%0a%3c vmctl create -s 16G diskname.qcow2%0a%3c file diskname.qcow2%0a%3c ls -lh diskname.qcow2%0a%3c ----%0a%3c %0a%3c Now let's start the VM and stop it 2 times:%0a%3c ----%0a%3c vmctl stop diskname%0a%3c %0a%3c vmctl start diskname%0a%3c %0a%3c vmctl stop -f diskname%0a%3c %0a%3c vmctl start diskname%0a%3c ----%0a%3c %0a%3c Now let's enter the virtual machine console:%0a%3c ----%0a%3c vmctl console diskname%0a%3c ----%0a%3c %0a%3c Press CTRL + C and the installation menu will start, we go to Advance Options -> Expert install and press TAB, a command line will come out and we write by hand in the console:%0a%3c ----%0a%3c /install.amd/vmlinuz priority=low DEBIAN_FRONTEND=text initrd=/install.amd/initrd.gz --- console=ttyS0,115200%0a%3c ----%0a%3c During installation it will ask you for the network configuration, do not set it in the car, but enter the data provided via the vps email to have a correct network configuration ...%0a%3c %0a%3c I recommend installing SSH SERVER already from the minimal installation, so as not to have to enable it later%0a%3c %0a%3c I remind users not to install graphical environments as soon as they require them, and to install the GRUB on the MBR it is not necessary to "remove the installation media"%0a%3c %0a%3c To get the new kernel: (IMPORTANT!)%0a%3c ----%0a%3c apt list | egrep 'linux-image.*bpo..-amd64-unsigned'%0a%3c %0a%3c apt install linux-image-5.14.0-0.bpo.2-amd64-unsigned%0a%3c ----%0a%3c Now enter your authorized_keys ...%0a%3c %0a%3c %0a%3c %0a%3c To enable sudo on debian just install as root:%0a%3c %0a%3c apt install sudo%0a%3c %0a%3c %0a%3c and now let's go to give sudo permissions to our user:%0a%3c %0a%3c adduser user sudo%0a%3c %0a%3c Then we edit the / etc / sudoers file and add%0a%3c %0a%3c %0a%3c USERNAME ALL=(ALL:ALL) ALL%0a%3c %0a%3c now we exit as root and we try to run the sudo command by the user even for a simple update we do:%0a%3c %0a%3c sudo apt update %0a%3c %0a%3c it will ask you for the user's password to have permissions to run apt%0a%3c %0a%3c sudo apt upgrade%0a%3c %0a%3c if there are updates, it will advise you to install them %0a%3c for install other packages use:%0a%3c ----%0a%3c apt install namepckg %3c------ by root%0a%3c %0a%3c sudo apt install namepckg %3c------ by user%0a%3c ----%0a%3c now we close the console and connect to our VPS from SSH and log in%0a\ No newline at end of file%0a +host:1637753967=185.104.127.122 blob - /dev/null blob + 6776b24b95ae6e4d5ff1f05e02fbe4bd879f2fc2 (mode 644) --- /dev/null +++ wiki.d/Vmm.DebianIso @@ -0,0 +1,100 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=nicoz +charset=UTF-8 +csum= +ctime=1629000602 +host=185.104.127.122 +name=Vmm.DebianIso +rev=29 +targets= +text=(:title Create Debian ISO for VMM:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide,%0awe download and modify the debian ISO to boot from serial console.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.1.0-amd64-netinst.iso%0a$ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS%0a$ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS.sign%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0athen:%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a$ gpg --verify SHA512SUMS.sign SHA512SUMS%0agpg: Signature made Sat Aug 14 15:22:04 2021 CDT%0agpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0agpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B%0a# sha512 debian-11.0.0-amd64-netinst.iso %0aSHA512 (debian-11.1.0-amd64-netinst.iso) = 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801%0a# grep debian-11.1.0-amd64-netinst.iso SHA512SUMS %0a5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801 debian-11.1.0-amd64-netinst.iso%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation.%0a%0aWe run these steps as root:%0a%0a[@%0a# vnconfig vnd0 debian-11.1.0-amd64-netinst.iso%0a# mkdir old new%0a# mount /dev/vnd0c old%0a# cp -R old/* new%0a# cp -R old/.disk new%0a# umount old%0a# vnconfig -u vnd0%0a@]%0a%0a!! Make Changes%0a%0aHere are the diffs of the changes we make:%0a%0a[@%0a# diff -ru {old,new}/isolinux/ %0adiff -ru old/isolinux/adtxt.cfg new/isolinux/adtxt.cfg %0a--- old/isolinux/adtxt.cfg Sat Aug 14 05:09:00 2021%0a+++ new/isolinux/adtxt.cfg Sat Aug 21 10:52:36 2021%0a@@ -1,9 +1,9 @@%0a label expert %0a menu label E^xpert install%0a kernel /install.amd/vmlinuz %0a- append priority=low vga=788 initrd=/install.amd/initrd.gz --- %0a+ append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,1%0a15200n8 %0a include rqtxt.cfg%0a label auto %0a menu label ^Automated install%0a kernel /install.amd/vmlinuz %0a- append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- qui%0aet %0a+ append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- %0aconsole=ttyS0,115200n8 %0adiff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a--- old/isolinux/isolinux.cfg Sat Aug 14 05:09:00 2021%0a+++ new/isolinux/isolinux.cfg Sat Aug 21 10:51:41 2021%0a@@ -1,5 +1,7 @@%0a # D-I config version 2.0%0a # search path for the c32 support libraries (libcom32, libutil etc.)%0a+serial 0 115200%0a+console 0%0a path %0a include menu.cfg%0a default vesamenu.c32%0adiff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a--- old/isolinux/txt.cfg Sat Aug 14 05:09:00 2021%0a+++ new/isolinux/txt.cfg Sat Aug 21 10:51:56 2021%0a@@ -1,4 +1,4 @@%0a label install%0a menu label ^Install%0a kernel /install.amd/vmlinuz%0a- append vga=788 initrd=/install.amd/initrd.gz --- quiet %0a+ append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a@]%0a%0a!! Generate ISO%0a%0a[@%0a# pkg_add xorriso%0a# xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.1.0-vmm.iso ./new%0a@]%0a%0a(:if false:)%0a'''WARNING''': I tried the follow below but it did not work, so don't attempt it:%0a%0a[@%0a# cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a# dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a# mv isofloppy.bin isolinux.bin%0a# mkhybrid -a -R -T -L -l -d -D -N -o debian-11.1.0-vmm.iso \%0a -A "Debian 11.1.0 amd64 netinst" \%0a -P "Copyright (C) 1997-2021 SPI and others" \%0a -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a -V "Debian/amd64 11.1.0 netinst" \%0a -b isolinux/isolinux.bin -c boot.cat \%0a new%0a@]%0a(:ifend:)%0a%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image:%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/debian-11.1.0-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0a(:ifend false:)%0a%0a# Install%0a%0aInstall grub into /dev/vda%0a%0aIdeas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +time=1637357747 +title=Create Debian ISO for VMM +author:1637357747=nicoz +diff:1637357747:1636197188:=9c9%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.1.0-amd64-netinst.iso%0a---%0a> $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.0.0-amd64-netinst.iso%0a31,33c31,33%0a%3c SHA512 (debian-11.1.0-amd64-netinst.iso) = 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801%0a%3c # grep debian-11.1.0-amd64-netinst.iso SHA512SUMS %0a%3c 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801 debian-11.1.0-amd64-netinst.iso%0a---%0a> SHA512 (debian-11.0.0-amd64-netinst.iso) = 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801%0a> # grep debian-11.0.0-amd64-netinst.iso SHA512SUMS %0a> 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801 debian-11.0.0-amd64-netinst.iso%0a41c41%0a%3c # vnconfig vnd0 debian-11.1.0-amd64-netinst.iso%0a---%0a> # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a100c100%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.1.0-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a110,111c110,111%0a%3c # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.1.0-vmm.iso \%0a%3c -A "Debian 11.1.0 amd64 netinst" \%0a---%0a> # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a> -A "Debian 11.0.0 amd64 netinst" \%0a114c114%0a%3c -V "Debian/amd64 11.1.0 netinst" \%0a---%0a> -V "Debian/amd64 11.0.0 netinst" \%0a129c129%0a%3c cdrom "/home/iso/debian-11.1.0-vmm.iso"%0a---%0a> cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a +host:1637357747=185.104.127.122 +author:1636197188=jrmu +diff:1636197188:1636196660:=9c9%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.0.0-amd64-netinst.iso%0a---%0a> $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.1.0-amd64-netinst.iso%0a +host:1636197188=125.231.23.181 +author:1636196660=jrmu +diff:1636196660:1629737439:=9c9%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.1.0-amd64-netinst.iso%0a---%0a> $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.0.0-amd64-netinst.iso%0a +host:1636196660=125.231.23.181 +author:1629737439=mkf +diff:1629737439:1629567847:=18,19d17%0a%3c %0a%3c then:%0a +host:1629737439=198.251.81.133 +author:1629567847=jrmu +diff:1629567847:1629564173:=53c53%0a%3c # diff -ru {old,new}/isolinux/ %0a---%0a> jrmu# diff -ru {old,new}/isolinux/ %0a +host:1629567847=38.87.162.8 +author:1629564173=jrmu +diff:1629564173:1629560482:=53,74c53,56%0a%3c jrmu# diff -ru {old,new}/isolinux/ %0a%3c diff -ru old/isolinux/adtxt.cfg new/isolinux/adtxt.cfg %0a%3c --- old/isolinux/adtxt.cfg Sat Aug 14 05:09:00 2021%0a%3c +++ new/isolinux/adtxt.cfg Sat Aug 21 10:52:36 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert %0a%3c menu label E^xpert install%0a%3c kernel /install.amd/vmlinuz %0a%3c - append priority=low vga=788 initrd=/install.amd/initrd.gz --- %0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,1%0a%3c 15200n8 %0a%3c include rqtxt.cfg%0a%3c label auto %0a%3c menu label ^Automated install%0a%3c kernel /install.amd/vmlinuz %0a%3c - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- qui%0a%3c et %0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- %0a%3c console=ttyS0,115200n8 %0a%3c diff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a%3c --- old/isolinux/isolinux.cfg Sat Aug 14 05:09:00 2021%0a%3c +++ new/isolinux/isolinux.cfg Sat Aug 21 10:51:41 2021%0a---%0a> ============%0a> %0a> --- old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a> +++ new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a80c62%0a%3c path %0a---%0a> path%0a83,85c65,66%0a%3c diff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a%3c --- old/isolinux/txt.cfg Sat Aug 14 05:09:00 2021%0a%3c +++ new/isolinux/txt.cfg Sat Aug 21 10:51:56 2021%0a---%0a> --- old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a> +++ new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a90c71%0a%3c - append vga=788 initrd=/install.amd/initrd.gz --- quiet %0a---%0a> - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a91a73,86%0a> --- old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a> +++ new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /install.amd/vmlinuz%0a> - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a> + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a> include rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /install.amd/vmlinuz%0a> - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a +host:1629564173=38.87.162.8 +author:1629560482=jrmu +diff:1629560482:1629555729:=55,56c55,56%0a%3c --- old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a---%0a> --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a65,66c65,66%0a%3c --- old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a---%0a> --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a73,74c73,74%0a%3c --- old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a---%0a> --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a +host:1629560482=38.87.162.8 +author:1629555729=jrmu +diff:1629555729:1629554438:=22,23c22,23%0a%3c gpg: Signature made Sat Aug 14 15:22:04 2021 CDT%0a%3c gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a---%0a> gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a> gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a25,31c25,27%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B%0a%3c # sha512 debian-11.0.0-amd64-netinst.iso %0a%3c SHA512 (debian-11.0.0-amd64-netinst.iso) = 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801%0a%3c # grep debian-11.0.0-amd64-netinst.iso SHA512SUMS %0a%3c 5f6aed67b159d7ccc1a90df33cc8a314aa278728a6f50707ebf10c02e46664e383ca5fa19163b0a1c6a4cb77a39587881584b00b45f512b4a470f1138eaa1801 debian-11.0.0-amd64-netinst.iso%0a---%0a> gpg: WARNING: This key is not certified with a trusted signature! %0a> gpg: There is no indication that the signature belongs to the owner. %0a> Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a33,34d28%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation.%0a +host:1629555729=38.87.162.8 +author:1629554438=jrmu +diff:1629554438:1629554413:=83a84,85%0a> %0a> This works:%0a +host:1629554438=38.87.162.8 +author:1629554413=jrmu +diff:1629554413:1629119091:=92d91%0a%3c (:if false:)%0a106a106,107%0a> (:if false:)%0a> # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a +host:1629554413=38.87.162.8 +author:1629119091=jrmu +diff:1629119091:1629114349:=85,86d84%0a%3c This works:%0a%3c %0a88,94d85%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a%3c @]%0a%3c %0a%3c '''WARNING''': I tried the follow below but it did not work, so don't attempt it:%0a%3c %0a%3c [@%0a105a97%0a> %0a107a100,104%0a> %0a> [@%0a> # pkg_add xorriso%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a> @]%0a +host:1629119091=125.231.37.248 +author:1629114349=jrmu +diff:1629114349:1629114094:=86c86%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a---%0a> # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880 conv=notrunc%0a +host:1629114349=38.87.162.8 +author:1629114094=jrmu +diff:1629114094:1629105252:=87c87%0a%3c # dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a---%0a> # dd if=isolinux.bin of=isofloppy.bin bs=512 count=2880 conv=notrunc%0a +host:1629114094=38.87.162.8 +author:1629105252=jrmu +diff:1629105252:1629101717:=117c117%0a%3c disk /home/username/username.qcow2%0a---%0a> disk /home/theguest/username.qcow2%0a +host:1629105252=38.87.162.8 +author:1629101717=jrmu +diff:1629101717:1629101318:=86c86%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880 conv=notrunc%0a---%0a> # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin.txt bs=512 count=2880 conv=notrunc%0a +host:1629101717=38.87.162.8 +author:1629101318=jrmu +diff:1629101318:1629100668:=86c86%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin.txt bs=512 count=2880 conv=notrunc%0a---%0a> # cat /dev/zero | tr '\000' '\220' | dd of=isofloppby.bin.txt bs=512 count=2880 conv=notrunc%0a +host:1629101318=38.87.162.8 +author:1629100668=jrmu +diff:1629100668:1629100573:=84a85,86%0a> # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a> %0a99,100d100%0a%3c # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a%3c %0a +host:1629100668=38.87.162.8 +author:1629100573=jrmu +diff:1629100573:1629081769:=84a85%0a> [@%0a86,88d86%0a%3c %0a%3c [@%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppby.bin.txt bs=512 count=2880 conv=notrunc%0a91,97d88%0a%3c # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a%3c -A "Debian 11.0.0 amd64 netinst" \%0a%3c -P "Copyright (C) 1997-2021 SPI and others" \%0a%3c -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a%3c -V "Debian/amd64 11.0.0 netinst" \%0a%3c -b isolinux/isolinux.bin -c boot.cat \%0a%3c new%0a102,103c93,99%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a---%0a> mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a> -A "Debian 11.0.0 amd64 netinst" \%0a> -P "Copyright (C) 1997-2021 SPI and others" \%0a> -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a> -V "Debian/amd64 11.0.0 netinst" \%0a> -b isolinux/isolinux.bin -c boot.cat \%0a> new%0a105a102,106%0a> %0a> [@%0a> # pkg_add xorriso%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a> @]%0a +host:1629100573=38.87.162.8 +author:1629081769=fgm +diff:1629081769:1629041643:=91d90%0a%3c (:if false:)%0a101,102c100%0a%3c (:ifend:)%0a%3c %0a---%0a> %0a105c103%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-vmm.iso ./new%0a110,112d107%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a114,123c109,111%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a%3c disk /home/theguest/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a---%0a> # vmctl create -s 20G disk.qcow2 %0a> # vmctl start -m 1G -L -i 1 -r debian.iso -d disk.qcow2 debian%0a> # vmctl console debian %0a +host:1629081769=38.87.162.8 +author:1629041643=fgm +diff:1629041643:1629039143:=84,89d83%0a%3c %0a%3c [@%0a%3c # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a%3c # dd if=isolinux.bin of=isofloppy.bin bs=512 count=2880 conv=notrunc%0a%3c # mv isofloppy.bin isolinux.bin%0a%3c @]%0a +host:1629041643=38.87.162.8 +author:1629039143=fgm +diff:1629039143:1629037972:=94a95,96%0a> (:if false:)%0a> you'll need xorriso%0a96,97c98,103%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-vmm.iso ./new%0a---%0a> $ doas pkg_add xorriso%0a> then%0a> [@%0a> xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 \%0a> -A "Debian/VMM" -b debian/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 \%0a> -boot-info-table -o debian-vmm.iso ./new%0a +host:1629039143=38.87.162.8 +author:1629037972=fgm +diff:1629037972:1629037741:=91c91%0a%3c -b isolinux/isolinux.bin -c boot.cat \%0a---%0a> -b debian/isolinux/isolinux.bin -c boot.cat \%0a95d94%0a%3c (:if false:)%0a106d104%0a%3c %0a113,114d110%0a%3c %0a%3c (:ifend false:)%0a +host:1629037972=38.87.162.8 +author:1629037741=fgm +diff:1629037741:1629037717:=85d84%0a%3c [@%0a93d91%0a%3c @]%0a +host:1629037741=38.87.162.8 +author:1629037717=fgm +diff:1629037717:1629030422:=84,92d83%0a%3c %0a%3c mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a%3c -A "Debian 11.0.0 amd64 netinst" \%0a%3c -P "Copyright (C) 1997-2021 SPI and others" \%0a%3c -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a%3c -V "Debian/amd64 11.0.0 netinst" \%0a%3c -b debian/isolinux/isolinux.bin -c boot.cat \%0a%3c new%0a%3c %0a +host:1629037717=38.87.162.8 +author:1629030422=mkf +diff:1629030422:1629008332:minor=84,85c84%0a%3c you'll need xorriso%0a%3c [@%0a---%0a> %0a87c86%0a%3c then%0a---%0a> %0a95c94%0a%3c [@%0a---%0a> %0a99d97%0a%3c @]%0a +host:1629030422=198.251.81.133 +author:1629008332=fgm +diff:1629008332:1629004927:=85,87d84%0a%3c $ doas pkg_add xorriso%0a%3c %0a%3c [@%0a91,95c88,97%0a%3c @]%0a%3c %0a%3c !! VMM%0a%3c %0a%3c # vmctl create -s 20G disk.qcow2 %0a---%0a> %0a> $ doas pkg_add xorriso%0a> %0a> * enable net.inet.ip.forwarding%0a> VM SETUP%0a> ========%0a> %0a> Check https://www.openbsd.org/faq/faq16.html%0a> %0a> # vmctl create -s 50G disk.qcow2 %0a99,101c101,105%0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a---%0a> %0a> INSTALL CONSIDERATIONS%0a> ======================%0a> %0a> Choose install grub into /dev/vda%0a +host:1629008332=38.87.162.8 +author:1629004927=fgm +diff:1629004927:1629003313:=29,33c29%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a---%0a> # vnconfig vnd0 debian.iso%0a36,37c32,33%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a---%0a> # cp -r old/* new%0a> # cp -r old/.disk new%0a40,46c36,39%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a---%0a> %0a> $ doas pkg_add xorriso%0a> %0a> .CFG CHANGES%0a61c54%0a%3c @@ -1,4 +1,4 @@%0a---%0a> @@ -1,4 +1,5 @@%0a63a57%0a> + menu default%0a81,84c75,81%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a---%0a> %0a> %0a> * enable net.inet.ip.forwarding%0a> %0a> VMM-FRIENDLY ISO GENERATION%0a> ===========================%0a> %0a89,91d85%0a%3c $ doas pkg_add xorriso%0a%3c %0a%3c * enable net.inet.ip.forwarding%0a +host:1629004927=38.87.162.8 +author:1629003313=fgm +diff:1629003313:1629000602:=1,28c1,4%0a%3c (:title Create Debian ISO for VMM:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide,%0a%3c we download and modify the debian ISO to boot from serial console.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.0.0-amd64-netinst.iso%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS%0a%3c $ ftp https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS.sign%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a%3c $ gpg --verify SHA512SUMS.sign SHA512SUMS%0a%3c gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a%3c gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a%3c gpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0a%3c gpg: WARNING: This key is not certified with a trusted signature! %0a%3c gpg: There is no indication that the signature belongs to the owner. %0a%3c Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a%3c @]%0a---%0a> * enable net.inet.ip.forwarding%0a> %0a> Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a> %0a37,38d12%0a%3c $ doas pkg_add xorriso%0a%3c %0a77,78c51%0a%3c * enable net.inet.ip.forwarding%0a%3c %0a---%0a> %0a100,101d72%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1629003313=38.87.162.8 +author:1629000602=fgm +diff:1629000602:1629000602:=1,72d0%0a%3c * enable net.inet.ip.forwarding%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a%3c %0a%3c # vnconfig vnd0 debian.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -r old/* new%0a%3c # cp -r old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c %0a%3c .CFG CHANGES%0a%3c ============%0a%3c %0a%3c --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a%3c @@ -1,5 +1,7 @@%0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path%0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a%3c @@ -1,4 +1,5 @@%0a%3c label install%0a%3c menu label ^Install%0a%3c + menu default%0a%3c kernel /install.amd/vmlinuz%0a%3c - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c include rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c %0a%3c %0a%3c %0a%3c VMM-FRIENDLY ISO GENERATION%0a%3c ===========================%0a%3c %0a%3c xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 \%0a%3c -A "Debian/VMM" -b debian/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 \%0a%3c -boot-info-table -o debian-vmm.iso ./new%0a%3c %0a%3c VM SETUP%0a%3c ========%0a%3c %0a%3c Check https://www.openbsd.org/faq/faq16.html%0a%3c %0a%3c # vmctl create -s 50G disk.qcow2 %0a%3c # vmctl start -m 1G -L -i 1 -r debian.iso -d disk.qcow2 debian%0a%3c # vmctl console debian %0a%3c %0a%3c %0a%3c INSTALL CONSIDERATIONS%0a%3c ======================%0a%3c %0a%3c Choose install grub into /dev/vda%0a +host:1629000602=38.87.162.8 blob - /dev/null blob + c6a83943cfb28fff2174a62434ca378994e2d424 (mode 644) --- /dev/null +++ wiki.d/Vmm.Devuan-ISO @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0 +author=siva +charset=UTF-8 +csum= +ctime=1634205031 +host=223.181.212.151 +name=Vmm.Devuan-ISO +rev=1 +targets=Profiles.Siva +text=!!! '+'''Devuan ISO Step-by-Step Installation'''+'%0a%0aIn this tutorial we're gonna see how to install 'Devuan OS' as guest in OpenBSD host server. This tutorial covers the following topics: \\%0a\\%0a1. Downloading and Verifying the Devuan ISO. \\%0a2. Installing Devuan ISO and GRUB. \\%0a3. Modifying GRUB configuration. \\%0a4. Setting up Cronjob for stable internet connectivity. \\%0a5. Setting up Static IP Address. \\%0a%0a----%0a%0a!! 1. Downloading and Verifying the Devuan ISO%0a%0a[@%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a@]%0a\\%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a\\%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.asc SHA256SUMS%0agpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0agpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a$ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0aSHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a$ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a@]%0a\\%0aThe two checksums must match perfectly or else you should stop installation. \\%0a%0a----%0a%0a%0a!! 2. Installing the Devuan ISO%0a%0aBefore we dive into installation, make sure that you updated the cdrom image in VMM. \\%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image: \\%0a(Make sure the path is correct)%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0aNow, we're gonna install the ISO, \\%0a\\%0a[@Run the following commands,%0a$ doas vmctl reload%0a$ doas vmctl stop "username"%0a$ doas vmctl start -c "username"%0a@]%0athe reload command reloads the vm.conf and starts the machine, going into console after that might be okay for other OS distributions, but in Devuan it will stuck at select video size. so after reloading, stop and start into console mode directly.%0a\\%0aNote: the "username" mentioned above is the vm "username" in /etc/vm.conf for the machine. \\%0a'''Warning:''' After the "doas vmctl start -c "username"" command, '''DO NOT''' press Enter key more than once. ( If you do, then you have to restart VPS again to get the installation screen as the image below). \\%0aAttach:Devuan-1.jpeg%0a\\%0aPress '''TAB''' and edit menu entry add "console=ttyS0,115200n8" (without quotes) as shown in the picture %0abelow and press Enter \\%0aAttach:Devuan-2.jpeg%0a\\%0aThe installer will open, it might be bit glitchy while rendering but give it a second it'll show the screen as follows: \\%0aNote: the installer window won't be shown fullscreen (unless your Monitor resolution is small), the images shown below are cropped. \\%0aAttach:Devuan-3.jpeg%0a\\%0aSelect language and press Enter \\%0a\\%0aand the next step, select keyboard configuration (see pic below)%0aAttach:Devuan-4.jpeg%0a\\%0aAfter that the installer configures network with DHCP "'''Do Not''' Press Enter" as it cancels (see pic below) \\%0aAttach:Devuan-5.jpeg%0aand then enter "hostname" "domain name" and "root password" (see pics below for reference) \\%0aAttach:Devuan-6.jpeg \\%0aAttach:Devuan-7.jpeg \\%0aAttach:Devuan-8.jpeg \\%0a\\%0anext is user setup, you can add a user and password. (when setting up passwords, it asks for confirmation password where you have to enter same password again. The pic below only shows the username screen, enter your desired username and followed by password).\\%0aAttach:Devuan-9.jpeg \\%0a\\%0aonce done, you'll be prompted to configure the clock, choose the timezone from the list and continue \\%0aAttach:Devuan-10.jpeg%0a\\%0aThe next step is disk partitioning \\%0aAttach:Devuan-11.jpeg \\%0aI used "Guided - use entire disk" option for partitioning method.\\%0a\\%0aand select disk for partitioning, we have only option "Virtual disk 1 (vda), press Enter%0a\\%0aAttach:Devuan-12.jpeg \\%0a\\%0aafter that, select partitioning scheme (see pic below) \\%0aAttach:Devuan-13.jpeg \\%0a\\%0aI choose seperate /home,/var and /tmp partitions, you can choose as per your use. \\%0a\\%0aIt displays the disk partitions, select "Finish partitioning and write changes to the disk. \\%0aAttach:Devuan-14.jpeg \\%0a\\%0aagain, it asks for confirmation "write changes to the disk" select "yes" and press enter. \\%0aAttach:Devuan-15.jpeg \\%0a\\%0await until it installs the base system. \\%0aAttach:Devuan-16.jpeg \\%0a\\%0anow, the configuration package manager scans the 'cd or dvd' and shows our installation image, and asks you whether to scan another CD or DVD, select "NO" and press enter.%0aAttach:Devuan-17.jpeg \\%0a\\%0athen select the Devuan archive mirror from the list (see the pic), select and press enter \\%0aAttach:Devuan-18.jpeg \\%0a\\%0ayou can setup proxy if you have any, in our case we don't use, so select continue and press enter. \\%0aAttach:Devuan-19.jpeg \\%0a\\%0aafter that, you have to wait until the two process finish (see the following pics) \\%0aAttach:Devuan-20.jpeg \\%0a\\%0a\\%0aAttach:Devuan-21.jpeg \\%0a\\%0a\\%0athe next step it asks for "Participate in pakcage usage survey" , I choose 'NO' \\%0aAttach:Devuan-22.jpeg \\%0a\\%0aand the you have to select Desktop Environments, as we only have serial console support, just scroll the menu and choose "SSH Server and Standard system utilities.\\%0a'''Note:''' By default "Standard system utilities is marked, you only have to mark "SSH Server" and select "Continue" and press enter. \\%0a\\%0aAttach:Devuan-23.jpeg \\%0a\\%0aThe next step is '''important''' make sure you read and understand the information shown (see pic below)\\%0aAttach:Devuan-24.jpeg \\%0a\\%0aI selected here the original "sysvinit" , you can choose as per your needs. But, if you choose other methods, the commands we use later in this tutorial might not work as yours using a different "init", still you can follow this tutorial, just replace the commands as per your system needs.\\%0a\\%0a\\%0aAttach:Devuan-25.jpeg%0a\\%0a\\%0aNext step is GRUB Installation, Select "Yes" and press enter for "Install the GRUB Boot loader to master boot record" and select device "/dev/vda" for bootloader installation (see the following pics) \\%0a\\%0aAttach:Devuan-26.jpeg \\%0a\\%0aAttach:Devuan-27.jpeg \\%0a\\%0aand the installation complete dialogue is shown, select "continue" and press enter, the system will reboot. \\%0ayou might see some glitches on screen \\%0aAttach:Devuan-28.jpeg \\%0a\\%0a\\%0aAttach:Devuan-29.jpeg \\%0a\\%0aand the system starts, you can see the bottom of the screen "error: terminal 'serial' isn't found..' just ignore it as of now and login with the user name and password you provided earlier. it'll launch shell in the /home directory of the user. \\%0aAttach:Devuan-30.jpeg \\%0a%0a----%0a%0a!! 3. Modifying GRUB Configuration%0a%0aYou need to have superuser privileges to do the following, since we don't installed sudo yet, we can't use it so use "su" and enter your "root" password which you set earlier while installation. \\%0a%0a[@%0a$ su%0a$ password:%0a#%0a# nano /etc/default/grub%0a@]%0a%0aIt'll launch nano text editor with the grub configuration open. \\%0a\\%0aGo to the file end and '''comment''' the two options "GRUB_TERMINAL=SERIAL" and "GRUB_SERIAL_COMMAND=serial --unit=0..." lines, it should look like the picture below. \\%0aAttach:Devuan-31.jpeg \\%0a\\%0aScroll up on the same file, and '''uncomment''' the line "GRUB_TERMINAL=console" (If you don't find the line, just add it manually, without the quotes). \\%0a%0aAttach:Devuan-32.jpeg \\%0a%0aPress "Ctrl + X" , it'll ask "Save Modified Buffer", Make sure you enter "Y" and Press Enter. (Note: '''Do Not''' change filename) \\%0a%0aBefore you update grub, we need to make few changes, %0a[@%0a$ export PATH=/usr/sbin/:$PATH%0a@]%0aNote: you must type the "$" after the ":" \\%0a\\%0a%0aand then open ".bashrc", \\%0a[@%0a$ nano ~/.bashrc%0a@]%0a%0aand add "export PATH=/usr/sbin/:$PATH" (without quotes) at the end of the file and save it.%0anow, run update-grub as root user. \\%0a%0a[@%0a# update-grub%0a@]%0a%0aif done correctly, you'll get the following texts on screen \\%0a%0a[@%0aGenerating grub configuration file ...%0aFound linux image: /boot/vmlinuz-4.19.0-18-amd64%0aFound initrd image: /boot/initrd.img-4.19.0-18-amd64%0aFound linux image: /boot/vmlinuz-4.19.0-14-amd64%0aFound initrd image: /boot/initrd.img-4.19.0-14-amd64%0adone%0a@]%0a%0aThat's it GRUB configuration done, but don't restart yet, we still need to do some tasks. \\%0a%0a----%0a%0a!! 4. Setting up Cronjob for stable internet connectivity. %0a%0aYou need superuser privileges for this, use su and enter root password. \\%0a%0a[@%0a# crontab -e%0a@]%0a%0athe shell now asks you to select an editor to use for crontab editing, choose whatever is comfortable for you%0a[@%0aSelect an editor. To change later, run 'select-editor'.%0a 1. /bin/nano %3c---- easiest%0a 2. /usr/bin/vim.tiny%0a@]%0a%0aonce the crontab opened, type the following very carefully,%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aif you choose nano, "Ctrl + X" and "Y" to save the crontab file. \\%0a%0aif you choose vim.tiny, make sure you're in command mode and press ":wq" to write and quit the crontab file. \\%0a%0anext, install tmux package, \\%0a%0a[@%0a# apt-get install tmux%0a@]%0a%0aafter installation complete, run the following%0a%0a[@%0a# /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aType carefully on shell, there might be a chance where your terminal 'columns' ends and the typing contents won't show in next line, instead the cursor is shown previous line or same line beginning, just trust your fingers and type carefully and press enter. \\%0a\\%0aCheck the tmux window if it is pings correct,%0a%0a[@%0a# tmux attach%0a@]%0a%0aif ping works fine, press "C-B + D" to detach (C-B = Ctrl+B) \\%0aif not, kill the process and repeat the same method above to start a new detached session with ping. \\%0a%0a'''Note:''' The '''IP Address''' shown here is the gateway address of your router, if you are not using "lecturify" host, you should change the IP Address as per your router. %0a%0a----%0a%0a!! 5. Setting up Static IP Address.%0a%0aStatic IP address is important if you use ssh login, and since we don't want to login via console every time, you '''must''' have static IP configured. \\%0a%0aBy default, upon installation, the installer choose DHCP connection and configured it. \\%0aNow, you have to find the interface and edit it to be static.\\%0a%0a[@%0a$ ip link%0a@]%0a%0ait shows all the interfaces, you can see which interface showing "state UP", \\%0a[@%0a~$ ip link%0a1: lo: %3cLOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000%0a link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00%0a2: eth0: %3cBROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast '''state UP''' mode DEFAULT group default qlen 1000 link/ether f2:b2:b3:da:eb:07 brd ff:ff:ff:ff:ff:ff%0a@]%0a%0ain our case it was '''"eth0"'''%0a\\%0anow we need to edit the interface file, \\%0a%0ayou need superuser privileges for the editing it, as root user \\%0a%0aopen the file "/etc/network/interfaces" using your favorite text editor ,you can see the following line, \\%0a%0a'''"iface eth0 inet dhcp"''' \\%0a%0achange it to, "'''iface eth0 inet static'''" (without quotes) and add the following lines with appropriate values \\%0a%0a[@%0aiface eth0 inet static%0aaddress xxx.xxx.xxx.xxx%0anetmask 255.255.255.0%0agateway 38.87.162.1%0adns-nameservers 8.8.8.8%0aiface eth0 inet6 static%0aaddress xxxx:xxxx:x:xx::%0anetmask 48%0agateway xxxx:xxxx:x:x::%0a@]%0a\\%0aaddress should be your IP address for the machine, add netmask as it is, gateway IP should be your router IP (if you using lecturify host machine, the above mentioned IP is correct), add dns nameservers as it it is. Now that's it if you only have IPv4 address, if you want IPv6 configured, add the lines from 'iface eth0 inet6 static' and replace the values for address and gateway as per your IPv6 address. \\%0a%0aSave and Exit. \\%0a%0aNow, we have to restart network to make the changes take effect, run the following command \\%0a%0a[@%0a# service networking restart%0a@]%0a%0a'''Note:''' The above command only works, if you've choose the init system as '''sysvinit''' , if you've choose others, use appropriate commands as per the init system. \\%0a%0athat's it, you can reboot the system now, also use with ssh too. \\%0a%0aNote: Do install "sudo" package and setup sudoers file as per your requirement.%0a%0a:-)%0a----%0a[[~siva]] October 14, 2021, at 09:50 AM%0a +time=1634205031 +author:1634205031=siva +diff:1634205031:1634205031:=1,351d0%0a%3c !!! '+'''Devuan ISO Step-by-Step Installation'''+'%0a%3c %0a%3c In this tutorial we're gonna see how to install 'Devuan OS' as guest in OpenBSD host server. This tutorial covers the following topics: \\%0a%3c \\%0a%3c 1. Downloading and Verifying the Devuan ISO. \\%0a%3c 2. Installing Devuan ISO and GRUB. \\%0a%3c 3. Modifying GRUB configuration. \\%0a%3c 4. Setting up Cronjob for stable internet connectivity. \\%0a%3c 5. Setting up Static IP Address. \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 1. Downloading and Verifying the Devuan ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a%3c @]%0a%3c \\%0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c \\%0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.asc SHA256SUMS%0a%3c gpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0a%3c gpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a%3c $ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c SHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a%3c $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a%3c 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c @]%0a%3c \\%0a%3c The two checksums must match perfectly or else you should stop installation. \\%0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c !! 2. Installing the Devuan ISO%0a%3c %0a%3c Before we dive into installation, make sure that you updated the cdrom image in VMM. \\%0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image: \\%0a%3c (Make sure the path is correct)%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Now, we're gonna install the ISO, \\%0a%3c \\%0a%3c [@Run the following commands,%0a%3c $ doas vmctl reload%0a%3c $ doas vmctl stop "username"%0a%3c $ doas vmctl start -c "username"%0a%3c @]%0a%3c the reload command reloads the vm.conf and starts the machine, going into console after that might be okay for other OS distributions, but in Devuan it will stuck at select video size. so after reloading, stop and start into console mode directly.%0a%3c \\%0a%3c Note: the "username" mentioned above is the vm "username" in /etc/vm.conf for the machine. \\%0a%3c '''Warning:''' After the "doas vmctl start -c "username"" command, '''DO NOT''' press Enter key more than once. ( If you do, then you have to restart VPS again to get the installation screen as the image below). \\%0a%3c Attach:Devuan-1.jpeg%0a%3c \\%0a%3c Press '''TAB''' and edit menu entry add "console=ttyS0,115200n8" (without quotes) as shown in the picture %0a%3c below and press Enter \\%0a%3c Attach:Devuan-2.jpeg%0a%3c \\%0a%3c The installer will open, it might be bit glitchy while rendering but give it a second it'll show the screen as follows: \\%0a%3c Note: the installer window won't be shown fullscreen (unless your Monitor resolution is small), the images shown below are cropped. \\%0a%3c Attach:Devuan-3.jpeg%0a%3c \\%0a%3c Select language and press Enter \\%0a%3c \\%0a%3c and the next step, select keyboard configuration (see pic below)%0a%3c Attach:Devuan-4.jpeg%0a%3c \\%0a%3c After that the installer configures network with DHCP "'''Do Not''' Press Enter" as it cancels (see pic below) \\%0a%3c Attach:Devuan-5.jpeg%0a%3c and then enter "hostname" "domain name" and "root password" (see pics below for reference) \\%0a%3c Attach:Devuan-6.jpeg \\%0a%3c Attach:Devuan-7.jpeg \\%0a%3c Attach:Devuan-8.jpeg \\%0a%3c \\%0a%3c next is user setup, you can add a user and password. (when setting up passwords, it asks for confirmation password where you have to enter same password again. The pic below only shows the username screen, enter your desired username and followed by password).\\%0a%3c Attach:Devuan-9.jpeg \\%0a%3c \\%0a%3c once done, you'll be prompted to configure the clock, choose the timezone from the list and continue \\%0a%3c Attach:Devuan-10.jpeg%0a%3c \\%0a%3c The next step is disk partitioning \\%0a%3c Attach:Devuan-11.jpeg \\%0a%3c I used "Guided - use entire disk" option for partitioning method.\\%0a%3c \\%0a%3c and select disk for partitioning, we have only option "Virtual disk 1 (vda), press Enter%0a%3c \\%0a%3c Attach:Devuan-12.jpeg \\%0a%3c \\%0a%3c after that, select partitioning scheme (see pic below) \\%0a%3c Attach:Devuan-13.jpeg \\%0a%3c \\%0a%3c I choose seperate /home,/var and /tmp partitions, you can choose as per your use. \\%0a%3c \\%0a%3c It displays the disk partitions, select "Finish partitioning and write changes to the disk. \\%0a%3c Attach:Devuan-14.jpeg \\%0a%3c \\%0a%3c again, it asks for confirmation "write changes to the disk" select "yes" and press enter. \\%0a%3c Attach:Devuan-15.jpeg \\%0a%3c \\%0a%3c wait until it installs the base system. \\%0a%3c Attach:Devuan-16.jpeg \\%0a%3c \\%0a%3c now, the configuration package manager scans the 'cd or dvd' and shows our installation image, and asks you whether to scan another CD or DVD, select "NO" and press enter.%0a%3c Attach:Devuan-17.jpeg \\%0a%3c \\%0a%3c then select the Devuan archive mirror from the list (see the pic), select and press enter \\%0a%3c Attach:Devuan-18.jpeg \\%0a%3c \\%0a%3c you can setup proxy if you have any, in our case we don't use, so select continue and press enter. \\%0a%3c Attach:Devuan-19.jpeg \\%0a%3c \\%0a%3c after that, you have to wait until the two process finish (see the following pics) \\%0a%3c Attach:Devuan-20.jpeg \\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-21.jpeg \\%0a%3c \\%0a%3c \\%0a%3c the next step it asks for "Participate in pakcage usage survey" , I choose 'NO' \\%0a%3c Attach:Devuan-22.jpeg \\%0a%3c \\%0a%3c and the you have to select Desktop Environments, as we only have serial console support, just scroll the menu and choose "SSH Server and Standard system utilities.\\%0a%3c '''Note:''' By default "Standard system utilities is marked, you only have to mark "SSH Server" and select "Continue" and press enter. \\%0a%3c \\%0a%3c Attach:Devuan-23.jpeg \\%0a%3c \\%0a%3c The next step is '''important''' make sure you read and understand the information shown (see pic below)\\%0a%3c Attach:Devuan-24.jpeg \\%0a%3c \\%0a%3c I selected here the original "sysvinit" , you can choose as per your needs. But, if you choose other methods, the commands we use later in this tutorial might not work as yours using a different "init", still you can follow this tutorial, just replace the commands as per your system needs.\\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-25.jpeg%0a%3c \\%0a%3c \\%0a%3c Next step is GRUB Installation, Select "Yes" and press enter for "Install the GRUB Boot loader to master boot record" and select device "/dev/vda" for bootloader installation (see the following pics) \\%0a%3c \\%0a%3c Attach:Devuan-26.jpeg \\%0a%3c \\%0a%3c Attach:Devuan-27.jpeg \\%0a%3c \\%0a%3c and the installation complete dialogue is shown, select "continue" and press enter, the system will reboot. \\%0a%3c you might see some glitches on screen \\%0a%3c Attach:Devuan-28.jpeg \\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-29.jpeg \\%0a%3c \\%0a%3c and the system starts, you can see the bottom of the screen "error: terminal 'serial' isn't found..' just ignore it as of now and login with the user name and password you provided earlier. it'll launch shell in the /home directory of the user. \\%0a%3c Attach:Devuan-30.jpeg \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 3. Modifying GRUB Configuration%0a%3c %0a%3c You need to have superuser privileges to do the following, since we don't installed sudo yet, we can't use it so use "su" and enter your "root" password which you set earlier while installation. \\%0a%3c %0a%3c [@%0a%3c $ su%0a%3c $ password:%0a%3c #%0a%3c # nano /etc/default/grub%0a%3c @]%0a%3c %0a%3c It'll launch nano text editor with the grub configuration open. \\%0a%3c \\%0a%3c Go to the file end and '''comment''' the two options "GRUB_TERMINAL=SERIAL" and "GRUB_SERIAL_COMMAND=serial --unit=0..." lines, it should look like the picture below. \\%0a%3c Attach:Devuan-31.jpeg \\%0a%3c \\%0a%3c Scroll up on the same file, and '''uncomment''' the line "GRUB_TERMINAL=console" (If you don't find the line, just add it manually, without the quotes). \\%0a%3c %0a%3c Attach:Devuan-32.jpeg \\%0a%3c %0a%3c Press "Ctrl + X" , it'll ask "Save Modified Buffer", Make sure you enter "Y" and Press Enter. (Note: '''Do Not''' change filename) \\%0a%3c %0a%3c Before you update grub, we need to make few changes, %0a%3c [@%0a%3c $ export PATH=/usr/sbin/:$PATH%0a%3c @]%0a%3c Note: you must type the "$" after the ":" \\%0a%3c \\%0a%3c %0a%3c and then open ".bashrc", \\%0a%3c [@%0a%3c $ nano ~/.bashrc%0a%3c @]%0a%3c %0a%3c and add "export PATH=/usr/sbin/:$PATH" (without quotes) at the end of the file and save it.%0a%3c now, run update-grub as root user. \\%0a%3c %0a%3c [@%0a%3c # update-grub%0a%3c @]%0a%3c %0a%3c if done correctly, you'll get the following texts on screen \\%0a%3c %0a%3c [@%0a%3c Generating grub configuration file ...%0a%3c Found linux image: /boot/vmlinuz-4.19.0-18-amd64%0a%3c Found initrd image: /boot/initrd.img-4.19.0-18-amd64%0a%3c Found linux image: /boot/vmlinuz-4.19.0-14-amd64%0a%3c Found initrd image: /boot/initrd.img-4.19.0-14-amd64%0a%3c done%0a%3c @]%0a%3c %0a%3c That's it GRUB configuration done, but don't restart yet, we still need to do some tasks. \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 4. Setting up Cronjob for stable internet connectivity. %0a%3c %0a%3c You need superuser privileges for this, use su and enter root password. \\%0a%3c %0a%3c [@%0a%3c # crontab -e%0a%3c @]%0a%3c %0a%3c the shell now asks you to select an editor to use for crontab editing, choose whatever is comfortable for you%0a%3c [@%0a%3c Select an editor. To change later, run 'select-editor'.%0a%3c 1. /bin/nano %3c---- easiest%0a%3c 2. /usr/bin/vim.tiny%0a%3c @]%0a%3c %0a%3c once the crontab opened, type the following very carefully,%0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c if you choose nano, "Ctrl + X" and "Y" to save the crontab file. \\%0a%3c %0a%3c if you choose vim.tiny, make sure you're in command mode and press ":wq" to write and quit the crontab file. \\%0a%3c %0a%3c next, install tmux package, \\%0a%3c %0a%3c [@%0a%3c # apt-get install tmux%0a%3c @]%0a%3c %0a%3c after installation complete, run the following%0a%3c %0a%3c [@%0a%3c # /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c Type carefully on shell, there might be a chance where your terminal 'columns' ends and the typing contents won't show in next line, instead the cursor is shown previous line or same line beginning, just trust your fingers and type carefully and press enter. \\%0a%3c \\%0a%3c Check the tmux window if it is pings correct,%0a%3c %0a%3c [@%0a%3c # tmux attach%0a%3c @]%0a%3c %0a%3c if ping works fine, press "C-B + D" to detach (C-B = Ctrl+B) \\%0a%3c if not, kill the process and repeat the same method above to start a new detached session with ping. \\%0a%3c %0a%3c '''Note:''' The '''IP Address''' shown here is the gateway address of your router, if you are not using "lecturify" host, you should change the IP Address as per your router. %0a%3c %0a%3c ----%0a%3c %0a%3c !! 5. Setting up Static IP Address.%0a%3c %0a%3c Static IP address is important if you use ssh login, and since we don't want to login via console every time, you '''must''' have static IP configured. \\%0a%3c %0a%3c By default, upon installation, the installer choose DHCP connection and configured it. \\%0a%3c Now, you have to find the interface and edit it to be static.\\%0a%3c %0a%3c [@%0a%3c $ ip link%0a%3c @]%0a%3c %0a%3c it shows all the interfaces, you can see which interface showing "state UP", \\%0a%3c [@%0a%3c ~$ ip link%0a%3c 1: lo: %3cLOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000%0a%3c link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00%0a%3c 2: eth0: %3cBROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast '''state UP''' mode DEFAULT group default qlen 1000 link/ether f2:b2:b3:da:eb:07 brd ff:ff:ff:ff:ff:ff%0a%3c @]%0a%3c %0a%3c in our case it was '''"eth0"'''%0a%3c \\%0a%3c now we need to edit the interface file, \\%0a%3c %0a%3c you need superuser privileges for the editing it, as root user \\%0a%3c %0a%3c open the file "/etc/network/interfaces" using your favorite text editor ,you can see the following line, \\%0a%3c %0a%3c '''"iface eth0 inet dhcp"''' \\%0a%3c %0a%3c change it to, "'''iface eth0 inet static'''" (without quotes) and add the following lines with appropriate values \\%0a%3c %0a%3c [@%0a%3c iface eth0 inet static%0a%3c address xxx.xxx.xxx.xxx%0a%3c netmask 255.255.255.0%0a%3c gateway 38.87.162.1%0a%3c dns-nameservers 8.8.8.8%0a%3c iface eth0 inet6 static%0a%3c address xxxx:xxxx:x:xx::%0a%3c netmask 48%0a%3c gateway xxxx:xxxx:x:x::%0a%3c @]%0a%3c \\%0a%3c address should be your IP address for the machine, add netmask as it is, gateway IP should be your router IP (if you using lecturify host machine, the above mentioned IP is correct), add dns nameservers as it it is. Now that's it if you only have IPv4 address, if you want IPv6 configured, add the lines from 'iface eth0 inet6 static' and replace the values for address and gateway as per your IPv6 address. \\%0a%3c %0a%3c Save and Exit. \\%0a%3c %0a%3c Now, we have to restart network to make the changes take effect, run the following command \\%0a%3c %0a%3c [@%0a%3c # service networking restart%0a%3c @]%0a%3c %0a%3c '''Note:''' The above command only works, if you've choose the init system as '''sysvinit''' , if you've choose others, use appropriate commands as per the init system. \\%0a%3c %0a%3c that's it, you can reboot the system now, also use with ssh too. \\%0a%3c %0a%3c Note: Do install "sudo" package and setup sudoers file as per your requirement.%0a%3c %0a%3c :-)%0a%3c ----%0a%3c [[~siva]] October 14, 2021, at 09:50 AM%0a +host:1634205031=223.181.212.151 blob - /dev/null blob + 6e66ebc1c940fa2a5e75b5ccef0c97f731ad57cd (mode 644) --- /dev/null +++ wiki.d/Vmm.Devuan-Simple @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0 +author=siva +charset=UTF-8 +csum=Tutorial Created +ctime=1634204917 +host=223.181.212.151 +name=Vmm.Devuan-Simple +rev=1 +targets=Profiles.Siva +text=!!! '+'''Devuan ISO Step-by-Step Installation'''+'%0a%0aIn this tutorial we're gonna see how to install 'Devuan OS' as guest in OpenBSD host server. This tutorial covers the following topics: \\%0a\\%0a1. Downloading and Verifying the Devuan ISO. \\%0a2. Installing Devuan ISO and GRUB. \\%0a3. Modifying GRUB configuration. \\%0a4. Setting up Cronjob for stable internet connectivity. \\%0a5. Setting up Static IP Address. \\%0a%0a----%0a%0a!! 1. Downloading and Verifying the Devuan ISO%0a%0a[@%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a@]%0a\\%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a\\%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.asc SHA256SUMS%0agpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0agpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a$ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0aSHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a$ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a@]%0a\\%0aThe two checksums must match perfectly or else you should stop installation. \\%0a%0a----%0a%0a%0a!! 2. Installing the Devuan ISO%0a%0aBefore we dive into installation, make sure that you updated the cdrom image in VMM. \\%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image: \\%0a(Make sure the path is correct)%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0aNow, we're gonna install the ISO, \\%0a\\%0a[@Run the following commands,%0a$ doas vmctl reload%0a$ doas vmctl stop "username"%0a$ doas vmctl start -c "username"%0a@]%0athe reload command reloads the vm.conf and starts the machine, going into console after that might be okay for other OS distributions, but in Devuan it will stuck at select video size. so after reloading, stop and start into console mode directly.%0a\\%0aNote: the "username" mentioned above is the vm "username" in /etc/vm.conf for the machine. \\%0a'''Warning:''' After the "doas vmctl start -c "username"" command, '''DO NOT''' press Enter key more than once. ( If you do, then you have to restart VPS again to get the installation screen as the image below). \\%0aAttach:Devuan-1.jpeg%0a\\%0aPress '''TAB''' and edit menu entry add "console=ttyS0,115200n8" (without quotes) as shown in the picture %0abelow and press Enter \\%0aAttach:Devuan-2.jpeg%0a\\%0aThe installer will open, it might be bit glitchy while rendering but give it a second it'll show the screen as follows: \\%0aNote: the installer window won't be shown fullscreen (unless your Monitor resolution is small), the images shown below are cropped. \\%0aAttach:Devuan-3.jpeg%0a\\%0aSelect language and press Enter \\%0a\\%0aand the next step, select keyboard configuration (see pic below)%0aAttach:Devuan-4.jpeg%0a\\%0aAfter that the installer configures network with DHCP "'''Do Not''' Press Enter" as it cancels (see pic below) \\%0aAttach:Devuan-5.jpeg%0aand then enter "hostname" "domain name" and "root password" (see pics below for reference) \\%0aAttach:Devuan-6.jpeg \\%0aAttach:Devuan-7.jpeg \\%0aAttach:Devuan-8.jpeg \\%0a\\%0anext is user setup, you can add a user and password. (when setting up passwords, it asks for confirmation password where you have to enter same password again. The pic below only shows the username screen, enter your desired username and followed by password).\\%0aAttach:Devuan-9.jpeg \\%0a\\%0aonce done, you'll be prompted to configure the clock, choose the timezone from the list and continue \\%0aAttach:Devuan-10.jpeg%0a\\%0aThe next step is disk partitioning \\%0aAttach:Devuan-11.jpeg \\%0aI used "Guided - use entire disk" option for partitioning method.\\%0a\\%0aand select disk for partitioning, we have only option "Virtual disk 1 (vda), press Enter%0a\\%0aAttach:Devuan-12.jpeg \\%0a\\%0aafter that, select partitioning scheme (see pic below) \\%0aAttach:Devuan-13.jpeg \\%0a\\%0aI choose seperate /home,/var and /tmp partitions, you can choose as per your use. \\%0a\\%0aIt displays the disk partitions, select "Finish partitioning and write changes to the disk. \\%0aAttach:Devuan-14.jpeg \\%0a\\%0aagain, it asks for confirmation "write changes to the disk" select "yes" and press enter. \\%0aAttach:Devuan-15.jpeg \\%0a\\%0await until it installs the base system. \\%0aAttach:Devuan-16.jpeg \\%0a\\%0anow, the configuration package manager scans the 'cd or dvd' and shows our installation image, and asks you whether to scan another CD or DVD, select "NO" and press enter.%0aAttach:Devuan-17.jpeg \\%0a\\%0athen select the Devuan archive mirror from the list (see the pic), select and press enter \\%0aAttach:Devuan-18.jpeg \\%0a\\%0ayou can setup proxy if you have any, in our case we don't use, so select continue and press enter. \\%0aAttach:Devuan-19.jpeg \\%0a\\%0aafter that, you have to wait until the two process finish (see the following pics) \\%0aAttach:Devuan-20.jpeg \\%0a\\%0a\\%0aAttach:Devuan-21.jpeg \\%0a\\%0a\\%0athe next step it asks for "Participate in pakcage usage survey" , I choose 'NO' \\%0aAttach:Devuan-22.jpeg \\%0a\\%0aand the you have to select Desktop Environments, as we only have serial console support, just scroll the menu and choose "SSH Server and Standard system utilities.\\%0a'''Note:''' By default "Standard system utilities is marked, you only have to mark "SSH Server" and select "Continue" and press enter. \\%0a\\%0aAttach:Devuan-23.jpeg \\%0a\\%0aThe next step is '''important''' make sure you read and understand the information shown (see pic below)\\%0aAttach:Devuan-24.jpeg \\%0a\\%0aI selected here the original "sysvinit" , you can choose as per your needs. But, if you choose other methods, the commands we use later in this tutorial might not work as yours using a different "init", still you can follow this tutorial, just replace the commands as per your system needs.\\%0a\\%0a\\%0aAttach:Devuan-25.jpeg%0a\\%0a\\%0aNext step is GRUB Installation, Select "Yes" and press enter for "Install the GRUB Boot loader to master boot record" and select device "/dev/vda" for bootloader installation (see the following pics) \\%0a\\%0aAttach:Devuan-26.jpeg \\%0a\\%0aAttach:Devuan-27.jpeg \\%0a\\%0aand the installation complete dialogue is shown, select "continue" and press enter, the system will reboot. \\%0ayou might see some glitches on screen \\%0aAttach:Devuan-28.jpeg \\%0a\\%0a\\%0aAttach:Devuan-29.jpeg \\%0a\\%0aand the system starts, you can see the bottom of the screen "error: terminal 'serial' isn't found..' just ignore it as of now and login with the user name and password you provided earlier. it'll launch shell in the /home directory of the user. \\%0aAttach:Devuan-30.jpeg \\%0a%0a----%0a%0a!! 3. Modifying GRUB Configuration%0a%0aYou need to have superuser privileges to do the following, since we don't installed sudo yet, we can't use it so use "su" and enter your "root" password which you set earlier while installation. \\%0a%0a[@%0a$ su%0a$ password:%0a#%0a# nano /etc/default/grub%0a@]%0a%0aIt'll launch nano text editor with the grub configuration open. \\%0a\\%0aGo to the file end and '''comment''' the two options "GRUB_TERMINAL=SERIAL" and "GRUB_SERIAL_COMMAND=serial --unit=0..." lines, it should look like the picture below. \\%0aAttach:Devuan-31.jpeg \\%0a\\%0aScroll up on the same file, and '''uncomment''' the line "GRUB_TERMINAL=console" (If you don't find the line, just add it manually, without the quotes). \\%0a%0aAttach:Devuan-32.jpeg \\%0a%0aPress "Ctrl + X" , it'll ask "Save Modified Buffer", Make sure you enter "Y" and Press Enter. (Note: '''Do Not''' change filename) \\%0a%0aBefore you update grub, we need to make few changes, %0a[@%0a$ export PATH=/usr/sbin/:$PATH%0a@]%0aNote: you must type the "$" after the ":" \\%0a\\%0a%0aand then open ".bashrc", \\%0a[@%0a$ nano ~/.bashrc%0a@]%0a%0aand add "export PATH=/usr/sbin/:$PATH" (without quotes) at the end of the file and save it.%0anow, run update-grub as root user. \\%0a%0a[@%0a# update-grub%0a@]%0a%0aif done correctly, you'll get the following texts on screen \\%0a%0a[@%0aGenerating grub configuration file ...%0aFound linux image: /boot/vmlinuz-4.19.0-18-amd64%0aFound initrd image: /boot/initrd.img-4.19.0-18-amd64%0aFound linux image: /boot/vmlinuz-4.19.0-14-amd64%0aFound initrd image: /boot/initrd.img-4.19.0-14-amd64%0adone%0a@]%0a%0aThat's it GRUB configuration done, but don't restart yet, we still need to do some tasks. \\%0a%0a----%0a%0a!! 4. Setting up Cronjob for stable internet connectivity. %0a%0aYou need superuser privileges for this, use su and enter root password. \\%0a%0a[@%0a# crontab -e%0a@]%0a%0athe shell now asks you to select an editor to use for crontab editing, choose whatever is comfortable for you%0a[@%0aSelect an editor. To change later, run 'select-editor'.%0a 1. /bin/nano %3c---- easiest%0a 2. /usr/bin/vim.tiny%0a@]%0a%0aonce the crontab opened, type the following very carefully,%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aif you choose nano, "Ctrl + X" and "Y" to save the crontab file. \\%0a%0aif you choose vim.tiny, make sure you're in command mode and press ":wq" to write and quit the crontab file. \\%0a%0anext, install tmux package, \\%0a%0a[@%0a# apt-get install tmux%0a@]%0a%0aafter installation complete, run the following%0a%0a[@%0a# /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aType carefully on shell, there might be a chance where your terminal 'columns' ends and the typing contents won't show in next line, instead the cursor is shown previous line or same line beginning, just trust your fingers and type carefully and press enter. \\%0a\\%0aCheck the tmux window if it is pings correct,%0a%0a[@%0a# tmux attach%0a@]%0a%0aif ping works fine, press "C-B + D" to detach (C-B = Ctrl+B) \\%0aif not, kill the process and repeat the same method above to start a new detached session with ping. \\%0a%0a'''Note:''' The '''IP Address''' shown here is the gateway address of your router, if you are not using "lecturify" host, you should change the IP Address as per your router. %0a%0a----%0a%0a!! 5. Setting up Static IP Address.%0a%0aStatic IP address is important if you use ssh login, and since we don't want to login via console every time, you '''must''' have static IP configured. \\%0a%0aBy default, upon installation, the installer choose DHCP connection and configured it. \\%0aNow, you have to find the interface and edit it to be static.\\%0a%0a[@%0a$ ip link%0a@]%0a%0ait shows all the interfaces, you can see which interface showing "state UP", \\%0a[@%0a~$ ip link%0a1: lo: %3cLOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000%0a link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00%0a2: eth0: %3cBROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast '''state UP''' mode DEFAULT group default qlen 1000 link/ether f2:b2:b3:da:eb:07 brd ff:ff:ff:ff:ff:ff%0a@]%0a%0ain our case it was '''"eth0"'''%0a\\%0anow we need to edit the interface file, \\%0a%0ayou need superuser privileges for the editing it, as root user \\%0a%0aopen the file "/etc/network/interfaces" using your favorite text editor ,you can see the following line, \\%0a%0a'''"iface eth0 inet dhcp"''' \\%0a%0achange it to, "'''iface eth0 inet static'''" (without quotes) and add the following lines with appropriate values \\%0a%0a[@%0aiface eth0 inet static%0aaddress xxx.xxx.xxx.xxx%0anetmask 255.255.255.0%0agateway 38.87.162.1%0adns-nameservers 8.8.8.8%0aiface eth0 inet6 static%0aaddress xxxx:xxxx:x:xx::%0anetmask 48%0agateway xxxx:xxxx:x:x::%0a@]%0a\\%0aaddress should be your IP address for the machine, add netmask as it is, gateway IP should be your router IP (if you using lecturify host machine, the above mentioned IP is correct), add dns nameservers as it it is. Now that's it if you only have IPv4 address, if you want IPv6 configured, add the lines from 'iface eth0 inet6 static' and replace the values for address and gateway as per your IPv6 address. \\%0a%0aSave and Exit. \\%0a%0aNow, we have to restart network to make the changes take effect, run the following command \\%0a%0a[@%0a# service networking restart%0a@]%0a%0a'''Note:''' The above command only works, if you've choose the init system as '''sysvinit''' , if you've choose others, use appropriate commands as per the init system. \\%0a%0athat's it, you can reboot the system now, also use with ssh too. \\%0a\\%0aNote: Do install "sudo" package and setup sudoers file as per your requirement.%0a%0a:-)%0a----%0a[[~siva]] October 14, 2021, at 09:48 AM%0a +time=1634204917 +author:1634204917=siva +csum:1634204917=Tutorial Created +diff:1634204917:1634204917:=1,351d0%0a%3c !!! '+'''Devuan ISO Step-by-Step Installation'''+'%0a%3c %0a%3c In this tutorial we're gonna see how to install 'Devuan OS' as guest in OpenBSD host server. This tutorial covers the following topics: \\%0a%3c \\%0a%3c 1. Downloading and Verifying the Devuan ISO. \\%0a%3c 2. Installing Devuan ISO and GRUB. \\%0a%3c 3. Modifying GRUB configuration. \\%0a%3c 4. Setting up Cronjob for stable internet connectivity. \\%0a%3c 5. Setting up Static IP Address. \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 1. Downloading and Verifying the Devuan ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a%3c @]%0a%3c \\%0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c \\%0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.asc SHA256SUMS%0a%3c gpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0a%3c gpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a%3c $ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c SHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a%3c $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a%3c 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c @]%0a%3c \\%0a%3c The two checksums must match perfectly or else you should stop installation. \\%0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c !! 2. Installing the Devuan ISO%0a%3c %0a%3c Before we dive into installation, make sure that you updated the cdrom image in VMM. \\%0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image: \\%0a%3c (Make sure the path is correct)%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Now, we're gonna install the ISO, \\%0a%3c \\%0a%3c [@Run the following commands,%0a%3c $ doas vmctl reload%0a%3c $ doas vmctl stop "username"%0a%3c $ doas vmctl start -c "username"%0a%3c @]%0a%3c the reload command reloads the vm.conf and starts the machine, going into console after that might be okay for other OS distributions, but in Devuan it will stuck at select video size. so after reloading, stop and start into console mode directly.%0a%3c \\%0a%3c Note: the "username" mentioned above is the vm "username" in /etc/vm.conf for the machine. \\%0a%3c '''Warning:''' After the "doas vmctl start -c "username"" command, '''DO NOT''' press Enter key more than once. ( If you do, then you have to restart VPS again to get the installation screen as the image below). \\%0a%3c Attach:Devuan-1.jpeg%0a%3c \\%0a%3c Press '''TAB''' and edit menu entry add "console=ttyS0,115200n8" (without quotes) as shown in the picture %0a%3c below and press Enter \\%0a%3c Attach:Devuan-2.jpeg%0a%3c \\%0a%3c The installer will open, it might be bit glitchy while rendering but give it a second it'll show the screen as follows: \\%0a%3c Note: the installer window won't be shown fullscreen (unless your Monitor resolution is small), the images shown below are cropped. \\%0a%3c Attach:Devuan-3.jpeg%0a%3c \\%0a%3c Select language and press Enter \\%0a%3c \\%0a%3c and the next step, select keyboard configuration (see pic below)%0a%3c Attach:Devuan-4.jpeg%0a%3c \\%0a%3c After that the installer configures network with DHCP "'''Do Not''' Press Enter" as it cancels (see pic below) \\%0a%3c Attach:Devuan-5.jpeg%0a%3c and then enter "hostname" "domain name" and "root password" (see pics below for reference) \\%0a%3c Attach:Devuan-6.jpeg \\%0a%3c Attach:Devuan-7.jpeg \\%0a%3c Attach:Devuan-8.jpeg \\%0a%3c \\%0a%3c next is user setup, you can add a user and password. (when setting up passwords, it asks for confirmation password where you have to enter same password again. The pic below only shows the username screen, enter your desired username and followed by password).\\%0a%3c Attach:Devuan-9.jpeg \\%0a%3c \\%0a%3c once done, you'll be prompted to configure the clock, choose the timezone from the list and continue \\%0a%3c Attach:Devuan-10.jpeg%0a%3c \\%0a%3c The next step is disk partitioning \\%0a%3c Attach:Devuan-11.jpeg \\%0a%3c I used "Guided - use entire disk" option for partitioning method.\\%0a%3c \\%0a%3c and select disk for partitioning, we have only option "Virtual disk 1 (vda), press Enter%0a%3c \\%0a%3c Attach:Devuan-12.jpeg \\%0a%3c \\%0a%3c after that, select partitioning scheme (see pic below) \\%0a%3c Attach:Devuan-13.jpeg \\%0a%3c \\%0a%3c I choose seperate /home,/var and /tmp partitions, you can choose as per your use. \\%0a%3c \\%0a%3c It displays the disk partitions, select "Finish partitioning and write changes to the disk. \\%0a%3c Attach:Devuan-14.jpeg \\%0a%3c \\%0a%3c again, it asks for confirmation "write changes to the disk" select "yes" and press enter. \\%0a%3c Attach:Devuan-15.jpeg \\%0a%3c \\%0a%3c wait until it installs the base system. \\%0a%3c Attach:Devuan-16.jpeg \\%0a%3c \\%0a%3c now, the configuration package manager scans the 'cd or dvd' and shows our installation image, and asks you whether to scan another CD or DVD, select "NO" and press enter.%0a%3c Attach:Devuan-17.jpeg \\%0a%3c \\%0a%3c then select the Devuan archive mirror from the list (see the pic), select and press enter \\%0a%3c Attach:Devuan-18.jpeg \\%0a%3c \\%0a%3c you can setup proxy if you have any, in our case we don't use, so select continue and press enter. \\%0a%3c Attach:Devuan-19.jpeg \\%0a%3c \\%0a%3c after that, you have to wait until the two process finish (see the following pics) \\%0a%3c Attach:Devuan-20.jpeg \\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-21.jpeg \\%0a%3c \\%0a%3c \\%0a%3c the next step it asks for "Participate in pakcage usage survey" , I choose 'NO' \\%0a%3c Attach:Devuan-22.jpeg \\%0a%3c \\%0a%3c and the you have to select Desktop Environments, as we only have serial console support, just scroll the menu and choose "SSH Server and Standard system utilities.\\%0a%3c '''Note:''' By default "Standard system utilities is marked, you only have to mark "SSH Server" and select "Continue" and press enter. \\%0a%3c \\%0a%3c Attach:Devuan-23.jpeg \\%0a%3c \\%0a%3c The next step is '''important''' make sure you read and understand the information shown (see pic below)\\%0a%3c Attach:Devuan-24.jpeg \\%0a%3c \\%0a%3c I selected here the original "sysvinit" , you can choose as per your needs. But, if you choose other methods, the commands we use later in this tutorial might not work as yours using a different "init", still you can follow this tutorial, just replace the commands as per your system needs.\\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-25.jpeg%0a%3c \\%0a%3c \\%0a%3c Next step is GRUB Installation, Select "Yes" and press enter for "Install the GRUB Boot loader to master boot record" and select device "/dev/vda" for bootloader installation (see the following pics) \\%0a%3c \\%0a%3c Attach:Devuan-26.jpeg \\%0a%3c \\%0a%3c Attach:Devuan-27.jpeg \\%0a%3c \\%0a%3c and the installation complete dialogue is shown, select "continue" and press enter, the system will reboot. \\%0a%3c you might see some glitches on screen \\%0a%3c Attach:Devuan-28.jpeg \\%0a%3c \\%0a%3c \\%0a%3c Attach:Devuan-29.jpeg \\%0a%3c \\%0a%3c and the system starts, you can see the bottom of the screen "error: terminal 'serial' isn't found..' just ignore it as of now and login with the user name and password you provided earlier. it'll launch shell in the /home directory of the user. \\%0a%3c Attach:Devuan-30.jpeg \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 3. Modifying GRUB Configuration%0a%3c %0a%3c You need to have superuser privileges to do the following, since we don't installed sudo yet, we can't use it so use "su" and enter your "root" password which you set earlier while installation. \\%0a%3c %0a%3c [@%0a%3c $ su%0a%3c $ password:%0a%3c #%0a%3c # nano /etc/default/grub%0a%3c @]%0a%3c %0a%3c It'll launch nano text editor with the grub configuration open. \\%0a%3c \\%0a%3c Go to the file end and '''comment''' the two options "GRUB_TERMINAL=SERIAL" and "GRUB_SERIAL_COMMAND=serial --unit=0..." lines, it should look like the picture below. \\%0a%3c Attach:Devuan-31.jpeg \\%0a%3c \\%0a%3c Scroll up on the same file, and '''uncomment''' the line "GRUB_TERMINAL=console" (If you don't find the line, just add it manually, without the quotes). \\%0a%3c %0a%3c Attach:Devuan-32.jpeg \\%0a%3c %0a%3c Press "Ctrl + X" , it'll ask "Save Modified Buffer", Make sure you enter "Y" and Press Enter. (Note: '''Do Not''' change filename) \\%0a%3c %0a%3c Before you update grub, we need to make few changes, %0a%3c [@%0a%3c $ export PATH=/usr/sbin/:$PATH%0a%3c @]%0a%3c Note: you must type the "$" after the ":" \\%0a%3c \\%0a%3c %0a%3c and then open ".bashrc", \\%0a%3c [@%0a%3c $ nano ~/.bashrc%0a%3c @]%0a%3c %0a%3c and add "export PATH=/usr/sbin/:$PATH" (without quotes) at the end of the file and save it.%0a%3c now, run update-grub as root user. \\%0a%3c %0a%3c [@%0a%3c # update-grub%0a%3c @]%0a%3c %0a%3c if done correctly, you'll get the following texts on screen \\%0a%3c %0a%3c [@%0a%3c Generating grub configuration file ...%0a%3c Found linux image: /boot/vmlinuz-4.19.0-18-amd64%0a%3c Found initrd image: /boot/initrd.img-4.19.0-18-amd64%0a%3c Found linux image: /boot/vmlinuz-4.19.0-14-amd64%0a%3c Found initrd image: /boot/initrd.img-4.19.0-14-amd64%0a%3c done%0a%3c @]%0a%3c %0a%3c That's it GRUB configuration done, but don't restart yet, we still need to do some tasks. \\%0a%3c %0a%3c ----%0a%3c %0a%3c !! 4. Setting up Cronjob for stable internet connectivity. %0a%3c %0a%3c You need superuser privileges for this, use su and enter root password. \\%0a%3c %0a%3c [@%0a%3c # crontab -e%0a%3c @]%0a%3c %0a%3c the shell now asks you to select an editor to use for crontab editing, choose whatever is comfortable for you%0a%3c [@%0a%3c Select an editor. To change later, run 'select-editor'.%0a%3c 1. /bin/nano %3c---- easiest%0a%3c 2. /usr/bin/vim.tiny%0a%3c @]%0a%3c %0a%3c once the crontab opened, type the following very carefully,%0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c if you choose nano, "Ctrl + X" and "Y" to save the crontab file. \\%0a%3c %0a%3c if you choose vim.tiny, make sure you're in command mode and press ":wq" to write and quit the crontab file. \\%0a%3c %0a%3c next, install tmux package, \\%0a%3c %0a%3c [@%0a%3c # apt-get install tmux%0a%3c @]%0a%3c %0a%3c after installation complete, run the following%0a%3c %0a%3c [@%0a%3c # /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c Type carefully on shell, there might be a chance where your terminal 'columns' ends and the typing contents won't show in next line, instead the cursor is shown previous line or same line beginning, just trust your fingers and type carefully and press enter. \\%0a%3c \\%0a%3c Check the tmux window if it is pings correct,%0a%3c %0a%3c [@%0a%3c # tmux attach%0a%3c @]%0a%3c %0a%3c if ping works fine, press "C-B + D" to detach (C-B = Ctrl+B) \\%0a%3c if not, kill the process and repeat the same method above to start a new detached session with ping. \\%0a%3c %0a%3c '''Note:''' The '''IP Address''' shown here is the gateway address of your router, if you are not using "lecturify" host, you should change the IP Address as per your router. %0a%3c %0a%3c ----%0a%3c %0a%3c !! 5. Setting up Static IP Address.%0a%3c %0a%3c Static IP address is important if you use ssh login, and since we don't want to login via console every time, you '''must''' have static IP configured. \\%0a%3c %0a%3c By default, upon installation, the installer choose DHCP connection and configured it. \\%0a%3c Now, you have to find the interface and edit it to be static.\\%0a%3c %0a%3c [@%0a%3c $ ip link%0a%3c @]%0a%3c %0a%3c it shows all the interfaces, you can see which interface showing "state UP", \\%0a%3c [@%0a%3c ~$ ip link%0a%3c 1: lo: %3cLOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000%0a%3c link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00%0a%3c 2: eth0: %3cBROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast '''state UP''' mode DEFAULT group default qlen 1000 link/ether f2:b2:b3:da:eb:07 brd ff:ff:ff:ff:ff:ff%0a%3c @]%0a%3c %0a%3c in our case it was '''"eth0"'''%0a%3c \\%0a%3c now we need to edit the interface file, \\%0a%3c %0a%3c you need superuser privileges for the editing it, as root user \\%0a%3c %0a%3c open the file "/etc/network/interfaces" using your favorite text editor ,you can see the following line, \\%0a%3c %0a%3c '''"iface eth0 inet dhcp"''' \\%0a%3c %0a%3c change it to, "'''iface eth0 inet static'''" (without quotes) and add the following lines with appropriate values \\%0a%3c %0a%3c [@%0a%3c iface eth0 inet static%0a%3c address xxx.xxx.xxx.xxx%0a%3c netmask 255.255.255.0%0a%3c gateway 38.87.162.1%0a%3c dns-nameservers 8.8.8.8%0a%3c iface eth0 inet6 static%0a%3c address xxxx:xxxx:x:xx::%0a%3c netmask 48%0a%3c gateway xxxx:xxxx:x:x::%0a%3c @]%0a%3c \\%0a%3c address should be your IP address for the machine, add netmask as it is, gateway IP should be your router IP (if you using lecturify host machine, the above mentioned IP is correct), add dns nameservers as it it is. Now that's it if you only have IPv4 address, if you want IPv6 configured, add the lines from 'iface eth0 inet6 static' and replace the values for address and gateway as per your IPv6 address. \\%0a%3c %0a%3c Save and Exit. \\%0a%3c %0a%3c Now, we have to restart network to make the changes take effect, run the following command \\%0a%3c %0a%3c [@%0a%3c # service networking restart%0a%3c @]%0a%3c %0a%3c '''Note:''' The above command only works, if you've choose the init system as '''sysvinit''' , if you've choose others, use appropriate commands as per the init system. \\%0a%3c %0a%3c that's it, you can reboot the system now, also use with ssh too. \\%0a%3c \\%0a%3c Note: Do install "sudo" package and setup sudoers file as per your requirement.%0a%3c %0a%3c :-)%0a%3c ----%0a%3c [[~siva]] October 14, 2021, at 09:48 AM%0a +host:1634204917=223.181.212.151 blob - /dev/null blob + a3ef3b3790625b0ced9dd3b92442927e72b8c1d7 (mode 644) --- /dev/null +++ wiki.d/Vmm.Devuan4Iso @@ -0,0 +1,20 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 +author=debiankaios +charset=UTF-8 +csum=changed beowulf_3.1.1 to chimaera_4.0.0 +ctime=1634830147 +host=77.22.249.150 +name=Vmm.Devuan4Iso +rev=2 +targets= +text=(:title Create Devuan ISO for VMM:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide,%0awe download and modify the devuan ISO to boot from serial console.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://files.devuan.org/devuan_chimaera/installer-iso/devuan_chimaera_4.0.0_amd64_netinstall.iso%0a$ ftp https://files.devuan.org/devuan_chimaera/installer-iso/SHA256SUMS%0a$ ftp https://files.devuan.org/devuan_chimaera/installer-iso/SHA256SUMS.asc%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.asc SHA256SUMS%0agpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0agpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a$ sha256 devuan_chimaera_4.0.0_amd64_netinstall.iso%0aSHA256 (devuan_chimaera_4.0.0_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a$ grep devuan_chimaera_4.0.0_amd64_netinstall.iso SHA256SUMS%0a1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_chimaera_4.0.0_amd64_netinstall.iso%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation.%0a%0aWe run these steps as root:%0a%0a[@%0a# vnconfig vnd0 devuan_chimaera_4.0.0_amd64_netinstall.iso%0a# mkdir old new%0a# mount /dev/vnd0c old%0a# cp -R old/* new%0a# cp -R old/.disk new%0a# umount old%0a# vnconfig -u vnd0%0a@]%0a%0a!! Make Changes%0a%0aHere are the diffs of the changes we make:%0a%0a[@%0ajrmu# diff -ru {old,new}/isolinux/%0adiff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a--- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a@@ -1,5 +1,7 @@%0a # D-I config version 2.0%0a # search path for the c32 support libraries (libcom32, libutil etc.)%0a+serial 0 115200%0a+console 0%0a path%0a include menu.cfg%0a default vesamenu.c32%0adiff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a--- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a@@ -2,11 +2,11 @@%0a label live%0a menu label ^Install Ubuntu Server%0a kernel /casper/vmlinuz%0a- append initrd=/casper/initrd quiet ---%0a+ append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a label hwe-live%0a menu label ^Install Ubuntu Server with the HWE kernel%0a kernel /casper/hwe-vmlinuz%0a- append initrd=/casper/hwe-initrd quiet ---%0a+ append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a label memtest%0a menu label Test ^memory%0a kernel /install/mt86plus%0a@]%0a%0a!! Generate ISO%0a%0a[@%0a# pkg_add xorriso%0a# xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-chimaera-4.0.0-vmm.iso ./new%0a@]%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image:%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/devuan-chimaera-4.0.0-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0a# Install%0a%0aInstall grub into /dev/vda%0a%0aIdeas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +time=1634833741 +title=Create Devuan ISO for VMM +author:1634833741=debiankaios +csum:1634833741=changed beowulf_3.1.1 to chimaera_4.0.0 +diff:1634833741:1634830147:=9,11c9,11%0a%3c $ ftp https://files.devuan.org/devuan_chimaera/installer-iso/devuan_chimaera_4.0.0_amd64_netinstall.iso%0a%3c $ ftp https://files.devuan.org/devuan_chimaera/installer-iso/SHA256SUMS%0a%3c $ ftp https://files.devuan.org/devuan_chimaera/installer-iso/SHA256SUMS.asc%0a---%0a> $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a> $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a> $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a31,34c31,34%0a%3c $ sha256 devuan_chimaera_4.0.0_amd64_netinstall.iso%0a%3c SHA256 (devuan_chimaera_4.0.0_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a%3c $ grep devuan_chimaera_4.0.0_amd64_netinstall.iso SHA256SUMS%0a%3c 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_chimaera_4.0.0_amd64_netinstall.iso%0a---%0a> $ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a> SHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a> $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a> 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a42c42%0a%3c # vnconfig vnd0 devuan_chimaera_4.0.0_amd64_netinstall.iso%0a---%0a> # vnconfig vnd0 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a91c91%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-chimaera-4.0.0-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a102c102%0a%3c cdrom "/home/iso/devuan-chimaera-4.0.0-vmm.iso"%0a---%0a> cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a +host:1634833741=77.22.249.150 +author:1634830147=jrmu +diff:1634830147:1634830147:=1,115d0%0a%3c (:title Create Devuan ISO for VMM:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide,%0a%3c we download and modify the devuan ISO to boot from serial console.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.asc SHA256SUMS%0a%3c gpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0a%3c gpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a%3c $ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c SHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a%3c $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a%3c 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c @]%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation.%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a%3c jrmu# diff -ru {old,new}/isolinux/%0a%3c diff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a%3c --- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a%3c @@ -1,5 +1,7 @@%0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path%0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c diff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a%3c --- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a%3c @@ -2,11 +2,11 @@%0a%3c label live%0a%3c menu label ^Install Ubuntu Server%0a%3c kernel /casper/vmlinuz%0a%3c - append initrd=/casper/initrd quiet ---%0a%3c + append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a%3c label hwe-live%0a%3c menu label ^Install Ubuntu Server with the HWE kernel%0a%3c kernel /casper/hwe-vmlinuz%0a%3c - append initrd=/casper/hwe-initrd quiet ---%0a%3c + append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a%3c label memtest%0a%3c menu label Test ^memory%0a%3c kernel /install/mt86plus%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a%3c [@%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a%3c @]%0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1634830147=38.87.162.8 blob - /dev/null blob + 7cc13f9b5248222007d937e6ff3c90ef1970a694 (mode 644) --- /dev/null +++ wiki.d/Vmm.DevuanIso @@ -0,0 +1,52 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1629554585 +host=38.87.162.8 +name=Vmm.DevuanIso +rev=13 +targets= +text=(:title Create Devuan ISO for VMM:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide,%0awe download and modify the devuan ISO to boot from serial console.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a$ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.asc SHA256SUMS%0agpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0agpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0agpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a$ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0aSHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a$ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation.%0a%0aWe run these steps as root:%0a%0a[@%0a# vnconfig vnd0 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a# mkdir old new%0a# mount /dev/vnd0c old%0a# cp -R old/* new%0a# cp -R old/.disk new%0a# umount old%0a# vnconfig -u vnd0%0a@]%0a%0a!! Make Changes%0a%0aHere are the diffs of the changes we make:%0a%0a[@%0ajrmu# diff -ru {old,new}/isolinux/%0adiff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a--- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a@@ -1,5 +1,7 @@%0a # D-I config version 2.0%0a # search path for the c32 support libraries (libcom32, libutil etc.)%0a+serial 0 115200%0a+console 0%0a path%0a include menu.cfg%0a default vesamenu.c32%0adiff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a--- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a@@ -2,11 +2,11 @@%0a label live%0a menu label ^Install Ubuntu Server%0a kernel /casper/vmlinuz%0a- append initrd=/casper/initrd quiet ---%0a+ append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a label hwe-live%0a menu label ^Install Ubuntu Server with the HWE kernel%0a kernel /casper/hwe-vmlinuz%0a- append initrd=/casper/hwe-initrd quiet ---%0a+ append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a label memtest%0a menu label Test ^memory%0a kernel /install/mt86plus%0a@]%0a%0a!! Generate ISO%0a%0a[@%0a# pkg_add xorriso%0a# xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a@]%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image:%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0a# Install%0a%0aInstall grub into /dev/vda%0a%0aIdeas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +time=1629611054 +title=Create Devuan ISO for VMM +author:1629611054=jrmu +diff:1629611054:1629603651:=56,61c56,74%0a%3c jrmu# diff -ru {old,new}/isolinux/%0a%3c diff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a%3c --- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a%3c @@ -1,5 +1,7 @@%0a%3c # D-I config version 2.0%0a---%0a> diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a> --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /boot/isolinux/linux%0a> - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a> + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a> include /boot/isolinux/rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /boot/isolinux/linux%0a> - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a> diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a> --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a> @@ -1,4 +1,6 @@%0a65,66c78%0a%3c path%0a%3c include menu.cfg%0a---%0a> path /boot/isolinux%0a68,84c80,89%0a%3c diff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a%3c --- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a%3c @@ -2,11 +2,11 @@%0a%3c label live%0a%3c menu label ^Install Ubuntu Server%0a%3c kernel /casper/vmlinuz%0a%3c - append initrd=/casper/initrd quiet ---%0a%3c + append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a%3c label hwe-live%0a%3c menu label ^Install Ubuntu Server with the HWE kernel%0a%3c kernel /casper/hwe-vmlinuz%0a%3c - append initrd=/casper/hwe-initrd quiet ---%0a%3c + append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a%3c label memtest%0a%3c menu label Test ^memory%0a%3c kernel /install/mt86plus%0a---%0a> include /boot/isolinux/menu.cfg%0a> diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a> --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a> @@ -1,4 +1,4 @@%0a> label install%0a> menu label ^Install%0a> kernel /boot/isolinux/linux%0a> - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a> + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a91c96%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a +host:1629611054=38.87.162.8 +author:1629603651=jrmu +diff:1629603651:1629567622:=64c64%0a%3c + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a---%0a> + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a70c70%0a%3c + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a---%0a> + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 %0a89c89%0a%3c + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a---%0a> + append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a +host:1629603651=38.87.162.8 +author:1629567622=jrmu +diff:1629567622:1629561268:=33c33%0a%3c $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS%0a---%0a> $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS %0a56,61c56,67%0a%3c diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a%3c --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a---%0a> diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg %0a> --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021 %0a> +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021 %0a> @@ -1,9 +1,9 @@ label expert %0a> menu label E^xpert install %0a> kernel /boot/isolinux/linux %0a> - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- %0a> + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,1%0a> 15200n8%0a> include /boot/isolinux/rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a63,70c69,72%0a%3c - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c include /boot/isolinux/rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /boot/isolinux/linux%0a%3c - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 %0a---%0a> - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initr%0a> d.gz --- quiet %0a> + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- %0a> console=ttyS0,115200n8 %0a +host:1629567622=38.87.162.8 +author:1629561268=jrmu +diff:1629561268:1629560763:=55a56%0a> # diff -ur old/ new/%0a +host:1629561268=38.87.162.8 +author:1629560763=jrmu +diff:1629560763:1629560427:=99c99%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a102,105c102,104%0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a---%0a> (:if false:)%0a> '''WARNING''': I tried the follow below but it did not work, so don't attempt it:%0a> %0a106a106,124%0a> # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a> # dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a> # mv isofloppy.bin isolinux.bin%0a> # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a> -A "Debian 11.0.0 amd64 netinst" \%0a> -P "Copyright (C) 1997-2021 SPI and others" \%0a> -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a> -V "Debian/amd64 11.0.0 netinst" \%0a> -b isolinux/isolinux.bin -c boot.cat \%0a> new%0a> @]%0a> (:ifend:)%0a> %0a> %0a> !! VMM%0a> %0a> In /etc/vm.conf, we update the cdrom image:%0a> %0a> [@%0a110c128%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a---%0a> cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a117a136,137%0a> %0a> (:ifend false:)%0a +host:1629560763=38.87.162.8 +author:1629560427=jrmu +diff:1629560427:1629555860:=56,77c56,61%0a%3c # diff -ur old/ new/%0a%3c diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg %0a%3c --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021 %0a%3c +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021 %0a%3c @@ -1,9 +1,9 @@ label expert %0a%3c menu label E^xpert install %0a%3c kernel /boot/isolinux/linux %0a%3c - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- %0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,1%0a%3c 15200n8%0a%3c include /boot/isolinux/rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /boot/isolinux/linux%0a%3c - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initr%0a%3c d.gz --- quiet %0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- %0a%3c console=ttyS0,115200n8 %0a%3c diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a%3c --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a%3c @@ -1,4 +1,6 @@%0a---%0a> ============%0a> %0a> --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a> @@ -1,5 +1,7 @@%0a> # D-I config version 2.0%0a81c65,66%0a%3c path /boot/isolinux%0a---%0a> path%0a> include menu.cfg%0a83,86c68,69%0a%3c include /boot/isolinux/menu.cfg%0a%3c diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a%3c --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a---%0a> --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a90,91c73,74%0a%3c kernel /boot/isolinux/linux%0a%3c - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a---%0a> kernel /install.amd/vmlinuz%0a> - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a92a76,89%0a> --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /install.amd/vmlinuz%0a> - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a> + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a> include rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /install.amd/vmlinuz%0a> - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a +host:1629560427=38.87.162.8 +author:1629555860=jrmu +diff:1629555860:1629555739:=42c42%0a%3c # vnconfig vnd0 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a---%0a> # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a +host:1629555860=38.87.162.8 +author:1629555739=jrmu +diff:1629555739:1629555357:= +host:1629555739=38.87.162.8 +author:1629555357=jrmu +diff:1629555357:1629555143:=32,34d31%0a%3c SHA256 (devuan_beowulf_3.1.1_amd64_netinstall.iso) = 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b%0a%3c $ grep devuan_beowulf_3.1.1_amd64_netinstall.iso SHA256SUMS %0a%3c 1723cbbeb1aee26a54e1370b688e7dc03921402348d2a60086c58c18cd9cf24b devuan_beowulf_3.1.1_amd64_netinstall.iso%0a36,37d32%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation.%0a +host:1629555357=38.87.162.8 +author:1629555143=jrmu +diff:1629555143:1629555110:=31d30%0a%3c $ sha256 devuan_beowulf_3.1.1_amd64_netinstall.iso%0a +host:1629555143=38.87.162.8 +author:1629555110=jrmu +diff:1629555110:1629554674:=20,30c20,27%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: key 70285BA5CF280BA4: public key "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.asc SHA256SUMS%0a%3c gpg: Signature made Fri Mar 26 17:50:56 2021 CDT%0a%3c gpg: using RSA key E93D7167A4F5FA9E9FED497770285BA5CF280BA4%0a%3c gpg: Good signature from "Ralph Ronnquist (rrq) %3cralph.ronnquist@gmail.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: E93D 7167 A4F5 FA9E 9FED 4977 7028 5BA5 CF28 0BA4%0a---%0a> $ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a> $ gpg --verify SHA512SUMS.sign SHA512SUMS%0a> gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a> gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a> gpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0a> gpg: WARNING: This key is not certified with a trusted signature! %0a> gpg: There is no indication that the signature belongs to the owner. %0a> Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a +host:1629555110=38.87.162.8 +author:1629554674=jrmu +diff:1629554674:1629554585:=9c9%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_netinstall.iso%0a---%0a> $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_server.iso%0a +host:1629554674=38.87.162.8 +author:1629554585=jrmu +diff:1629554585:1629554585:=1,131d0%0a%3c (:title Create Devuan ISO for VMM:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide,%0a%3c we download and modify the devuan ISO to boot from serial console.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/devuan_beowulf_3.1.1_amd64_server.iso%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS%0a%3c $ ftp https://mirror.leaseweb.com/devuan/devuan_beowulf/installer-iso/SHA256SUMS.asc%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a%3c $ gpg --verify SHA512SUMS.sign SHA512SUMS%0a%3c gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a%3c gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a%3c gpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0a%3c gpg: WARNING: This key is not certified with a trusted signature! %0a%3c gpg: There is no indication that the signature belongs to the owner. %0a%3c Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a%3c @]%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a%3c ============%0a%3c %0a%3c --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a%3c @@ -1,5 +1,7 @@%0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path%0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label install%0a%3c menu label ^Install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c include rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a%3c [@%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c '''WARNING''': I tried the follow below but it did not work, so don't attempt it:%0a%3c %0a%3c [@%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a%3c # dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a%3c # mv isofloppy.bin isolinux.bin%0a%3c # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a%3c -A "Debian 11.0.0 amd64 netinst" \%0a%3c -P "Copyright (C) 1997-2021 SPI and others" \%0a%3c -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a%3c -V "Debian/amd64 11.0.0 netinst" \%0a%3c -b isolinux/isolinux.bin -c boot.cat \%0a%3c new%0a%3c @]%0a%3c (:ifend:)%0a%3c %0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c (:ifend false:)%0a%3c %0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1629554585=38.87.162.8 blob - /dev/null blob + 6de10d8ab31093067dbe3d8f8fc5f8a1194f995c (mode 644) --- /dev/null +++ wiki.d/Vmm.DragonflyBSD @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum=logs +ctime=1629747113 +host=198.251.81.133 +name=Vmm.DragonflyBSD +rev=1 +targets= +text=!!booting%0aDragonflyBSD's bootloader on VMM will show each twice, so don't worry if you see things like:%0a[@%0aBBOOOOTTIINNGG%0a@]%0apress esc as fast as you can to bring bootprompt up.%0athen type:%0a[@%0aboot -Cv%0a@]%0ai'm not sure if these are needed, but C will boot from cdrom and v will makes more logs.%0a%0a!!logs%0a[@Copyright (c) 2003-2021 The DragonFly Project.%0aCopyright (c) 1992-2003 The FreeBSD Project.%0aCopyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994%0a The Regents of the University of California. All rights reserved.%0asdt_probe: no RSDP%0amadt_probe: can't locate MADT%0afadt_probe: can't locate FADT%0aDragonFly v6.0.0-RELEASE #2: Fri May 7 22:50:16 EDT 2021%0a root@www.shiningsilence.com:/usr/obj/home/justin/release/6_0/sys/X86_64_GENERIC%0aUsing cputimer i8254_timer2 for TSC calibration%0aTimer latency (in TSC ticks): 130378 min=120208 max=186676%0aTSC invariant clock: 2299750485 Hz%0aCPU: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz (2299.75-MHz K8-class CPU)%0a Origin = "GenuineIntel" Id = 0x206d7 Stepping = 7%0a Features=0x793a97f%3cFPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,%3cb20>,MMX,FXSR,SSE,SSE2>%0a Features2=0x96982203%3cSSE3,PCLMULQDQ,SSSE3,CX16,SSE4.1,SSE4.2,POPCNT,AESNI,XSAVE,AVX,VMM>%0a AMD Features=0x24100800%3cSYSCALL,NX,Page1GB,LM>%0a AMD Features2=0x1%3cLAHF>%0a Structured Extended Features3=0x400%3cMD_CLEAR>%0areal memory = 1048164352 (999 MB)%0aavail memory = 980262912 (934 MB)%0aLAPIC: Can't find LAPIC%0aIOAPIC disabled - lapic was not enabled%0aCPU Topology: cores_per_chip: 1; threads_per_core: 1; chips_per_package: 1;%0aWarning: No next valid APICID found. Returning -1%0asrat_probe: can't locate SRAT%0aInitialize MI interrupts for 1 cpus%0aTSC: cputimer freq 2299750485%0aSpectre: support=( none ) req=ffff operating=( none )%0aMDS: support=( MD_CLEAR ) req=0000 operating=( none )%0aVMM: VMX is not supported by this Intel CPU%0amachdep.meltdown_mitigation enabled to protect against (mostly Intel) meltdown bug%0asystem call performance will be impacted%0ainterrupt uses mplock: swi_taskq%0awdog: In-kernel automatic watchdog reset enabled%0amd0: Malloc disk%0aevdev device loaded.%0akbd0 at kbdmux0%0aFirmware Error (ACPI): A valid RSDP was not found (20210331/tbxfroot-369)%0aACPI: Table initialization failed: AE_NOT_FOUND%0aACPI: Try disabling either ACPI or apic support.%0acryptosoft0: %3csoftware crypto> on motherboard%0aaesni0: %3cAES-CBC,AES-XTS> on motherboard%0apadlock0: No ACE support.%0ardrand0: No RdRand support.%0apcib0 pcibus 0 on motherboard%0apci0: %3cPCI bus> on pcib0%0avirtio_pci0: %3cVirtIO PCI Entropy adapter> port 0x1000-0x1fff irq 3 at device 1.0 on pci0%0avirtio_pci1: %3cVirtIO PCI Network adapter> port 0x2000-0x2fff irq 5 at device 2.0 on pci0%0avtnet0: %3cVirtIO Networking Adapter> on virtio_pci1%0avirtio_pci1: host features: 0x20 %3cMacAddress>%0avirtio_pci1: negotiated features: 0x20 %3cMacAddress>%0avtnet0: MAC address: de:00:00:00:8f:00%0avirtio_pci2: %3cVirtIO PCI Block adapter> port 0x3000-0x3fff irq 6 at device 3.0 on pci0%0avtblk0: %3cVirtIO Block Adapter> on virtio_pci2%0avirtio_pci2: host features: 0x2 %3cMaxSegSize>%0avirtio_pci2: negotiated features: 0x2 %3cMaxSegSize>%0avtblk0: 10240MB (20971520 512 byte sectors: 0H 0S/T 0C)%0avirtio_pci3: %3cVirtIO PCI SCSI adapter> port 0x4000-0x4fff irq 7 at device 4.0 on pci0%0avtscsi0: %3cVirtIO SCSI Adapter> on virtio_pci3%0avirtio_pci3: host features: 0x0%0avirtio_pci3: negotiated features: 0x0%0apci0: %3csimple comms> (vendor 0x0b5d, dev 0x0777) at device 5.0 irq 9%0apci0: %3cold, non-VGA display device> (vendor 0x0000, dev 0x0000) at device 6.0%0apanic: assertion "dev != NULL" failed in siocninit_fini at /home/justin/release/6_0/sys/dev/serial/sio/sio.c:3141%0acpuid = 0%0aTrace beginning at frame 0xffffffff817a4f90%0asiocninit_fini() at siocninit_fini+0x77 0xffffffff80c2cfb7%0asiocninit_fini() at siocninit_fini+0x77 0xffffffff80c2cfb7%0acninit_finish() at cninit_finish+0x9f 0xffffffff806b91ef%0ami_startup() at mi_startup+0xa0 0xffffffff8061d9c0%0aDebugger("panic")%0a%0aCPU0 stopping CPUs: 0x00000000%0a stopped%0aStopped at Debugger+0x7c: movb $0,0xbd14e9(%25rip)%0adb>%0a%0a%0a@] +time=1629747113 +author:1629747113=mkf +csum:1629747113=logs +diff:1629747113:1629747113:=1,93d0%0a%3c !!booting%0a%3c DragonflyBSD's bootloader on VMM will show each twice, so don't worry if you see things like:%0a%3c [@%0a%3c BBOOOOTTIINNGG%0a%3c @]%0a%3c press esc as fast as you can to bring bootprompt up.%0a%3c then type:%0a%3c [@%0a%3c boot -Cv%0a%3c @]%0a%3c i'm not sure if these are needed, but C will boot from cdrom and v will makes more logs.%0a%3c %0a%3c !!logs%0a%3c [@Copyright (c) 2003-2021 The DragonFly Project.%0a%3c Copyright (c) 1992-2003 The FreeBSD Project.%0a%3c Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994%0a%3c The Regents of the University of California. All rights reserved.%0a%3c sdt_probe: no RSDP%0a%3c madt_probe: can't locate MADT%0a%3c fadt_probe: can't locate FADT%0a%3c DragonFly v6.0.0-RELEASE #2: Fri May 7 22:50:16 EDT 2021%0a%3c root@www.shiningsilence.com:/usr/obj/home/justin/release/6_0/sys/X86_64_GENERIC%0a%3c Using cputimer i8254_timer2 for TSC calibration%0a%3c Timer latency (in TSC ticks): 130378 min=120208 max=186676%0a%3c TSC invariant clock: 2299750485 Hz%0a%3c CPU: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz (2299.75-MHz K8-class CPU)%0a%3c Origin = "GenuineIntel" Id = 0x206d7 Stepping = 7%0a%3c Features=0x793a97f%3cFPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,%3cb20>,MMX,FXSR,SSE,SSE2>%0a%3c Features2=0x96982203%3cSSE3,PCLMULQDQ,SSSE3,CX16,SSE4.1,SSE4.2,POPCNT,AESNI,XSAVE,AVX,VMM>%0a%3c AMD Features=0x24100800%3cSYSCALL,NX,Page1GB,LM>%0a%3c AMD Features2=0x1%3cLAHF>%0a%3c Structured Extended Features3=0x400%3cMD_CLEAR>%0a%3c real memory = 1048164352 (999 MB)%0a%3c avail memory = 980262912 (934 MB)%0a%3c LAPIC: Can't find LAPIC%0a%3c IOAPIC disabled - lapic was not enabled%0a%3c CPU Topology: cores_per_chip: 1; threads_per_core: 1; chips_per_package: 1;%0a%3c Warning: No next valid APICID found. Returning -1%0a%3c srat_probe: can't locate SRAT%0a%3c Initialize MI interrupts for 1 cpus%0a%3c TSC: cputimer freq 2299750485%0a%3c Spectre: support=( none ) req=ffff operating=( none )%0a%3c MDS: support=( MD_CLEAR ) req=0000 operating=( none )%0a%3c VMM: VMX is not supported by this Intel CPU%0a%3c machdep.meltdown_mitigation enabled to protect against (mostly Intel) meltdown bug%0a%3c system call performance will be impacted%0a%3c interrupt uses mplock: swi_taskq%0a%3c wdog: In-kernel automatic watchdog reset enabled%0a%3c md0: Malloc disk%0a%3c evdev device loaded.%0a%3c kbd0 at kbdmux0%0a%3c Firmware Error (ACPI): A valid RSDP was not found (20210331/tbxfroot-369)%0a%3c ACPI: Table initialization failed: AE_NOT_FOUND%0a%3c ACPI: Try disabling either ACPI or apic support.%0a%3c cryptosoft0: %3csoftware crypto> on motherboard%0a%3c aesni0: %3cAES-CBC,AES-XTS> on motherboard%0a%3c padlock0: No ACE support.%0a%3c rdrand0: No RdRand support.%0a%3c pcib0 pcibus 0 on motherboard%0a%3c pci0: %3cPCI bus> on pcib0%0a%3c virtio_pci0: %3cVirtIO PCI Entropy adapter> port 0x1000-0x1fff irq 3 at device 1.0 on pci0%0a%3c virtio_pci1: %3cVirtIO PCI Network adapter> port 0x2000-0x2fff irq 5 at device 2.0 on pci0%0a%3c vtnet0: %3cVirtIO Networking Adapter> on virtio_pci1%0a%3c virtio_pci1: host features: 0x20 %3cMacAddress>%0a%3c virtio_pci1: negotiated features: 0x20 %3cMacAddress>%0a%3c vtnet0: MAC address: de:00:00:00:8f:00%0a%3c virtio_pci2: %3cVirtIO PCI Block adapter> port 0x3000-0x3fff irq 6 at device 3.0 on pci0%0a%3c vtblk0: %3cVirtIO Block Adapter> on virtio_pci2%0a%3c virtio_pci2: host features: 0x2 %3cMaxSegSize>%0a%3c virtio_pci2: negotiated features: 0x2 %3cMaxSegSize>%0a%3c vtblk0: 10240MB (20971520 512 byte sectors: 0H 0S/T 0C)%0a%3c virtio_pci3: %3cVirtIO PCI SCSI adapter> port 0x4000-0x4fff irq 7 at device 4.0 on pci0%0a%3c vtscsi0: %3cVirtIO SCSI Adapter> on virtio_pci3%0a%3c virtio_pci3: host features: 0x0%0a%3c virtio_pci3: negotiated features: 0x0%0a%3c pci0: %3csimple comms> (vendor 0x0b5d, dev 0x0777) at device 5.0 irq 9%0a%3c pci0: %3cold, non-VGA display device> (vendor 0x0000, dev 0x0000) at device 6.0%0a%3c panic: assertion "dev != NULL" failed in siocninit_fini at /home/justin/release/6_0/sys/dev/serial/sio/sio.c:3141%0a%3c cpuid = 0%0a%3c Trace beginning at frame 0xffffffff817a4f90%0a%3c siocninit_fini() at siocninit_fini+0x77 0xffffffff80c2cfb7%0a%3c siocninit_fini() at siocninit_fini+0x77 0xffffffff80c2cfb7%0a%3c cninit_finish() at cninit_finish+0x9f 0xffffffff806b91ef%0a%3c mi_startup() at mi_startup+0xa0 0xffffffff8061d9c0%0a%3c Debugger("panic")%0a%3c %0a%3c CPU0 stopping CPUs: 0x00000000%0a%3c stopped%0a%3c Stopped at Debugger+0x7c: movb $0,0xbd14e9(%25rip)%0a%3c db>%0a%3c %0a%3c %0a%3c @]%0a\ No newline at end of file%0a +host:1629747113=198.251.81.133 blob - /dev/null blob + d53131a5911d2b3466a721b02f982496b8e868be (mode 644) --- /dev/null +++ wiki.d/Vmm.GuixIso @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1629132514 +host=38.87.162.8 +name=Vmm.GuixIso +rev=4 +targets= +text=(:title Create Guix ISO for VMM:)%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso%0a$ ftp https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso.sig%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys 27D586A4F8900854329FF09F1260E46482E63562%0a$ gpg --verify guix-system-install-1.3.0.x86_64-linux.iso.sig guix-system-install-1.3.0.x86_64-linux.iso%0agpg: Signature made Tue May 11 18:30:41 2021 CDT%0agpg: using RSA key 27D586A4F8900854329FF09F1260E46482E63562%0agpg: Good signature from "Maxim Cournoyer %3cmaxim.cournoyer@savoirfairelinux.com>" [expired]%0agpg: aka "Maxim Cournoyer %3cmaxim.cournoyer@gmail.com>" [expired]%0agpg: Note: This key has expired!%0aPrimary key fingerprint: 27D5 86A4 F890 0854 329F F09F 1260 E464 82E6 3562%0a@]%0a +time=1629133951 +title=Create Guix ISO for VMM +author:1629133951=jrmu +diff:1629133951:1629133621:=24a25,127%0a> %0a> We run these steps as root:%0a> %0a> [@%0a> # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a> # mkdir old new%0a> # mount /dev/vnd0c old%0a> # cp -R old/* new%0a> # cp -R old/.disk new%0a> # umount old%0a> # vnconfig -u vnd0%0a> @]%0a> %0a> !! Make Changes%0a> %0a> Here are the diffs of the changes we make:%0a> %0a> [@%0a> ============%0a> %0a> --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a> @@ -1,5 +1,7 @@%0a> # D-I config version 2.0%0a> # search path for the c32 support libraries (libcom32, libutil etc.)%0a> +serial 0 115200%0a> +console 0%0a> path%0a> include menu.cfg%0a> default vesamenu.c32%0a> --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a> @@ -1,4 +1,4 @@%0a> label install%0a> menu label ^Install%0a> kernel /install.amd/vmlinuz%0a> - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a> + append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a> --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a> +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /install.amd/vmlinuz%0a> - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a> + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a> include rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /install.amd/vmlinuz%0a> - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a> @]%0a> %0a> !! Generate ISO%0a> %0a> [@%0a> # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a> # dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a> # mv isofloppy.bin isolinux.bin%0a> # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a> -A "Debian 11.0.0 amd64 netinst" \%0a> -P "Copyright (C) 1997-2021 SPI and others" \%0a> -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a> -V "Debian/amd64 11.0.0 netinst" \%0a> -b isolinux/isolinux.bin -c boot.cat \%0a> new%0a> @]%0a> %0a> (:if false:)%0a> # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a> %0a> [@%0a> # pkg_add xorriso%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a> @]%0a> (:ifend:)%0a> %0a> %0a> !! VMM%0a> %0a> In /etc/vm.conf, we update the cdrom image:%0a> %0a> [@%0a> vm "username" {%0a> owner username%0a> memory 1024M%0a> cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a> disk /home/username/username.qcow2%0a> interface { %0a> locked lladdr aa:bb:cc:dd:ee:ff%0a> switch "switch0"%0a> }%0a> }%0a> @]%0a> %0a> (:ifend false:)%0a> %0a> # Install%0a> %0a> Install grub into /dev/vda%0a> %0a> Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1629133951=38.87.162.8 +author:1629133621=jrmu +diff:1629133621:1629133576:=18,23d17%0a%3c gpg: Signature made Tue May 11 18:30:41 2021 CDT%0a%3c gpg: using RSA key 27D586A4F8900854329FF09F1260E46482E63562%0a%3c gpg: Good signature from "Maxim Cournoyer %3cmaxim.cournoyer@savoirfairelinux.com>" [expired]%0a%3c gpg: aka "Maxim Cournoyer %3cmaxim.cournoyer@gmail.com>" [expired]%0a%3c gpg: Note: This key has expired!%0a%3c Primary key fingerprint: 27D5 86A4 F890 0854 329F F09F 1260 E464 82E6 3562%0a +host:1629133621=38.87.162.8 +author:1629133576=jrmu +diff:1629133576:1629132514:=16,17c16,23%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys 27D586A4F8900854329FF09F1260E46482E63562%0a%3c $ gpg --verify guix-system-install-1.3.0.x86_64-linux.iso.sig guix-system-install-1.3.0.x86_64-linux.iso%0a---%0a> $ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a> $ gpg --verify SHA512SUMS.sign SHA512SUMS%0a> gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a> gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a> gpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0a> gpg: WARNING: This key is not certified with a trusted signature! %0a> gpg: There is no indication that the signature belongs to the owner. %0a> Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a +host:1629133576=38.87.162.8 +author:1629132514=jrmu +diff:1629132514:1629132514:=1,127d0%0a%3c (:title Create Guix ISO for VMM:)%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso%0a%3c $ ftp https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso.sig%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B%0a%3c $ gpg --verify SHA512SUMS.sign SHA512SUMS%0a%3c gpg: Signature made Sat Aug 14 15:22:04 2021 CDT %0a%3c gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B %0a%3c gpg: Good signature from "Debian CD signing key %3cdebian-cd@lists.debian.org>" [unknown] %0a%3c gpg: WARNING: This key is not certified with a trusted signature! %0a%3c gpg: There is no indication that the signature belongs to the owner. %0a%3c Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B %0a%3c @]%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 debian-11.0.0-amd64-netinst.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a%3c ============%0a%3c %0a%3c --- debian/old/isolinux/isolinux.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/isolinux.cfg Fri Jul 2 15:55:57 2021%0a%3c @@ -1,5 +1,7 @@%0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path%0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c --- debian/old/isolinux/txt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/txt.cfg Fri Jul 2 15:59:10 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label install%0a%3c menu label ^Install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c --- debian/old/isolinux/adtxt.cfg Sat Jun 19 18:13:41 2021%0a%3c +++ debian/new/isolinux/adtxt.cfg Fri Jul 2 15:59:37 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append priority=low vga=788 initrd=/install.amd/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c include rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /install.amd/vmlinuz%0a%3c - append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a%3c [@%0a%3c # cat /dev/zero | tr '\000' '\220' | dd of=isofloppy.bin bs=512 count=2880%0a%3c # dd if=isolinux.bin of=isofloppy.bin conv=notrunc%0a%3c # mv isofloppy.bin isolinux.bin%0a%3c # mkhybrid -a -R -T -L -l -d -D -N -o debian-11.0.0-vmm.iso \%0a%3c -A "Debian 11.0.0 amd64 netinst" \%0a%3c -P "Copyright (C) 1997-2021 SPI and others" \%0a%3c -p "Aaron Lin %3cjrmu@ircnow.org>" \%0a%3c -V "Debian/amd64 11.0.0 netinst" \%0a%3c -b isolinux/isolinux.bin -c boot.cat \%0a%3c new%0a%3c @]%0a%3c %0a%3c (:if false:)%0a%3c # doas dd if=/dev/zero of=isofloppy.bin bs=512 count=2880%0a%3c %0a%3c [@%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Debian/VMM" -b isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-11.0.0-vmm.iso ./new%0a%3c @]%0a%3c (:ifend:)%0a%3c %0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/debian-11.0.0-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c (:ifend false:)%0a%3c %0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1629132514=38.87.162.8 blob - /dev/null blob + 0d5bd7658a9006acf6e57da3a3a4499cda9a2a8b (mode 644) --- /dev/null +++ wiki.d/Vmm.Haiku @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum= +ctime=1630068512 +host=198.251.81.133 +name=Vmm.Haiku +rev=5 +targets= +text=since Haiku is an GUI only OS and currently VMM doesn't suppot framebuffer or VNC/RDP (and perhaps will never support?) getting Haiku running on VMM is quite hard to get useful.%0athis might can fixed with a pre-installed haiku image with VNC enabled on boot using qemu.%0athere are some packages on HaikuPorts for basic VNC server, i didn't checked them yet. however, here are logs%0a%0aHaiku i386:%0a[@%0aConnected to /dev/ttyp5 (speed 115200)%0aBoot failed: not a bootable disk%0a%0a.......................%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a Welcome to kernel debugger output!%0aHaiku revision: hrev55181+51, debug level: 1%0aCPU: no microcode provided%0areserve_io_interrupt_vectors: reserved 2 vectors starting from 98%0aCPU 0: type 0 family 6 extended_family 0 model 13 extended_model 2 stepping 7, s tring 'GenuineIntel'%0aCPU 0: vendor 'Intel' model name 'Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz'%0aNo CPU topology information available.%0aCPU 0: apic id 0, package 0, core 0, smt 0%0aCPU 0: features: fpu vme de pse tsc msr pae cx8 sep pge cmov pat pse36 clfsh mmx fxsr sse sse2 sse3 pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hype rvisor syscall nx pdpe1gb long%0aCPU 0: patch_level 0%0areserve_io_interrupt_vectors: reserved 16 vectors starting from 0%0ausing PAE paging%0amark_page_range_in_use(0x0, 0x100): start page is before free list%0amark_page_range_in_use(0x0, 0xa0): start page is before free list%0aPANIC: did not find any boot partitions!%0aWelcome to Kernel Debugging Land...%0aThread 14 "main2" running on CPU 0%0astack trace for thread 14 "main2"%0a kernel stack: 0x8260f000 to 0x82613000%0aframe caller %3cimage>:function + offset%0a 0 826129a8 (+ 32) 80148aa2 %3ckernel_x86> arch_debug_stack_trace() + 0x12%0a 1 826129c8 (+ 16) 800a6f33 %3ckernel_x86> stack_trace_trampoline__FPv() + 0x0b%0a 2 826129d8 (+ 12) 8013a3b6 %3ckernel_x86> arch_debug_call_with_fault_handler() + 0x1b%0a 3 826129e4 (+ 48) 800a89d7 %3ckernel_x86> debug_call_with_fault_handler() + 0x 57%0a 4 82612a14 (+ 64) 800a713f %3ckernel_x86> kernel_debugger_loop__FPCcT0Pcl() + 0x207%0a 5 82612a54 (+ 48) 800a74e3 %3ckernel_x86> kernel_debugger_internal__FPCcT0Pcl( ) + 0x77%0a 6 82612a84 (+ 48) 800a8d4a %3ckernel_x86> panic() + 0x3a%0a 7 82612ab4 (+1200) 80103af4 %3ckernel_x86> vfs_mount_boot_file_system() + 0x80%0a 8 82612f64 (+ 80) 80067cb1 %3ckernel_x86> main2__FPv() + 0xad%0a 9 82612fb4 (+ 48) 80088d2e %3ckernel_x86> common_thread_entry__FPv() + 0x3a%0ainitial commands: syslog | tail 15%0aata 0 error: target device not present%0aata 0 error: target device not present%0aata 0 error: invalid target device%0aLast message repeated 12 times.%0aata 1: controller doesn't support DMA, disabling%0aata 1: _DevicePresent: device selection failed for device 0%0aata 1: _DevicePresent: device 1, presence 0%0aata 1: deviceMask 0%0aata 1: ignoring device 0%0aata 1: ignoring device 1%0aata 1 error: target device not present%0aata 1 error: target device not present%0aata 1 error: invalid target device%0aLast message repeated 12 times.%0aKDiskDeviceManager::InitialDeviceScan() returned error: No such file or director y%0akdebug>%0a@]%0a%0aHaiku amd64:%0a[@%0aConnected to /dev/ttyp5 (speed 115200)%0aBoot failed: not a bootable disk%0a%0a.......................%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a Welcome to kernel debugger output!%0aHaiku revision: hrev55181+51, debug level: 1%0aCPU: no microcode provided%0aCPU 0: type 0 family 6 extended_family 0 model 13 extended_model 2 stepping 7, string 'GenuineIntel'%0aCPU 0: vendor 'Intel' model name 'Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz'%0aNo CPU topology information available.%0aCPU 0: apic id 0, package 0, core 0, smt 0%0aCPU 0: features: fpu vme de pse tsc msr pae cx8 sep pge cmov pat pse36 clfsh mmx fxsr sse sse2 sse3 pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor syscall nx pdpe1gb long%0aCPU 0: patch_level 0%0areserve_io_interrupt_vectors: reserved 16 vectors starting from 0%0amark_page_range_in_use(0x0, 0x100): start page is before free list%0amark_page_range_in_use(0x0, 0xa0): start page is before free list%0aPANIC: did not find any boot partitions!%0aWelcome to Kernel Debugging Land...%0aThread 14 "main2" running on CPU 0%0astack trace for thread 14 "main2"%0a kernel stack: 0xffffffff81e7f000 to 0xffffffff81e84000%0aframe caller %3cimage>:function + offset%0a 0 ffffffff81e83928 (+ 24) ffffffff8014510c %3ckernel_x86_64> arch_debug_call_with_fault_handler() + 0x16%0a 1 ffffffff81e83940 (+ 80) ffffffff800a9108 %3ckernel_x86_64> debug_call_with_fault_handler() + 0x88%0a 2 ffffffff81e83990 (+ 96) ffffffff800aaa91 %3ckernel_x86_64> _ZL20kernel_debugger_loopPKcS0_P13__va_list_tagi() + 0xf1%0a 3 ffffffff81e839f0 (+ 80) ffffffff800aad8e %3ckernel_x86_64> _ZL24kernel_debugger_internalPKcS0_P13__va_list_tagi() + 0x6e%0a 4 ffffffff81e83a40 (+ 240) ffffffff800ab0f7 %3ckernel_x86_64> panic() + 0xb7%0a 5 ffffffff81e83b30 (+1072) ffffffff8010bd0e %3ckernel_x86_64> vfs_mount_boot_file_system() + 0x3ae%0a 6 ffffffff81e83f60 (+ 80) ffffffff80062799 %3ckernel_x86_64> _ZL5main2Pv() + 0x99%0a 7 ffffffff81e83fb0 (+ 32) ffffffff8008b5b6 %3ckernel_x86_64> _ZL19common_thread_entryPv() + 0x36%0a 8 ffffffff81e83fd0 (+2115485744) ffffffff81e83fe0%0ainitial commands: syslog | tail 15%0afile system: file_systems/packagefs/v1%0aKDiskDeviceManager::_AddDiskSystem(file_systems/packagefs/v1)%0aKDiskDeviceManager::_AddDiskSystem() done: No error%0afile system: file_systems/iso9660/v1%0aKDiskDeviceManager::_AddDiskSystem(file_systems/iso9660/v1)%0aKDiskDeviceManager::_AddDiskSystem() done: No error%0afile system: file_systems/write_overlay/v1%0aKDiskDeviceManager::_AddDiskSystem(file_systems/write_overlay/v1)%0aKDiskDeviceManager::_AddDiskSystem() done: No error%0afile system: file_systems/bfs/v1%0aKDiskDeviceManager::_AddDiskSystem(file_systems/bfs/v1)%0aKDiskDeviceManager::_AddDiskSystem() done: No error%0anumber of disk systems: 10%0aKDiskDeviceManager::_Scan(/dev/disk)%0aKDiskDeviceManager::InitialDeviceScan() returned error: No such file or directory%0akdebug>%0a@] +time=1630068795 +author:1630068795=mkf +diff:1630068795:1630068746:=3,4c3%0a%3c there are some packages on HaikuPorts for basic VNC server, i didn't checked them yet. however, here are logs%0a%3c %0a---%0a> there are some packages on HaikuPorts for basic VNC server, i didn't checked them yet. however, here is logs%0a +host:1630068795=198.251.81.133 +author:1630068746=mkf +diff:1630068746:1630068723:=3c3,4%0a%3c there are some packages on HaikuPorts for basic VNC server, i didn't checked them yet. however, here is logs%0a---%0a> there are some packages on HaikuPorts for basic VNC server, i didn't checked them yet.%0a> however, here is logs:%0a +host:1630068746=198.251.81.133 +author:1630068723=mkf +diff:1630068723:1630068618:=1c1%0a%3c since Haiku is an GUI only OS and currently VMM doesn't suppot framebuffer or VNC/RDP (and perhaps will never support?) getting Haiku running on VMM is quite hard to get useful.%0a---%0a> since Haiku is an GUI only OS and currently VMM doesn't suppot framebuffer or VNC/RDP (and perhaps will never support?) getting Haiku running on VMM is quite useless.%0a7,9d6%0a%3c Connected to /dev/ttyp5 (speed 115200)%0a%3c Boot failed: not a bootable disk%0a%3c %0a85,87d81%0a%3c Connected to /dev/ttyp5 (speed 115200)%0a%3c Boot failed: not a bootable disk%0a%3c %0a169a164%0a> %0a +host:1630068723=198.251.81.133 +author:1630068618=mkf +diff:1630068618:1630068512:=80c80%0a%3c Haiku amd64:%0a---%0a> Haiku amd64 gives no KDL prompt(not sure?):%0a +host:1630068618=198.251.81.133 +author:1630068512=mkf +diff:1630068512:1630068512:=1,166d0%0a%3c since Haiku is an GUI only OS and currently VMM doesn't suppot framebuffer or VNC/RDP (and perhaps will never support?) getting Haiku running on VMM is quite useless.%0a%3c this might can fixed with a pre-installed haiku image with VNC enabled on boot using qemu.%0a%3c there are some packages on HaikuPorts for basic VNC server, i didn't checked them yet.%0a%3c however, here is logs:%0a%3c Haiku i386:%0a%3c [@%0a%3c .......................%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Welcome to kernel debugger output!%0a%3c Haiku revision: hrev55181+51, debug level: 1%0a%3c CPU: no microcode provided%0a%3c reserve_io_interrupt_vectors: reserved 2 vectors starting from 98%0a%3c CPU 0: type 0 family 6 extended_family 0 model 13 extended_model 2 stepping 7, s tring 'GenuineIntel'%0a%3c CPU 0: vendor 'Intel' model name 'Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz'%0a%3c No CPU topology information available.%0a%3c CPU 0: apic id 0, package 0, core 0, smt 0%0a%3c CPU 0: features: fpu vme de pse tsc msr pae cx8 sep pge cmov pat pse36 clfsh mmx fxsr sse sse2 sse3 pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hype rvisor syscall nx pdpe1gb long%0a%3c CPU 0: patch_level 0%0a%3c reserve_io_interrupt_vectors: reserved 16 vectors starting from 0%0a%3c using PAE paging%0a%3c mark_page_range_in_use(0x0, 0x100): start page is before free list%0a%3c mark_page_range_in_use(0x0, 0xa0): start page is before free list%0a%3c PANIC: did not find any boot partitions!%0a%3c Welcome to Kernel Debugging Land...%0a%3c Thread 14 "main2" running on CPU 0%0a%3c stack trace for thread 14 "main2"%0a%3c kernel stack: 0x8260f000 to 0x82613000%0a%3c frame caller %3cimage>:function + offset%0a%3c 0 826129a8 (+ 32) 80148aa2 %3ckernel_x86> arch_debug_stack_trace() + 0x12%0a%3c 1 826129c8 (+ 16) 800a6f33 %3ckernel_x86> stack_trace_trampoline__FPv() + 0x0b%0a%3c 2 826129d8 (+ 12) 8013a3b6 %3ckernel_x86> arch_debug_call_with_fault_handler() + 0x1b%0a%3c 3 826129e4 (+ 48) 800a89d7 %3ckernel_x86> debug_call_with_fault_handler() + 0x 57%0a%3c 4 82612a14 (+ 64) 800a713f %3ckernel_x86> kernel_debugger_loop__FPCcT0Pcl() + 0x207%0a%3c 5 82612a54 (+ 48) 800a74e3 %3ckernel_x86> kernel_debugger_internal__FPCcT0Pcl( ) + 0x77%0a%3c 6 82612a84 (+ 48) 800a8d4a %3ckernel_x86> panic() + 0x3a%0a%3c 7 82612ab4 (+1200) 80103af4 %3ckernel_x86> vfs_mount_boot_file_system() + 0x80%0a%3c 8 82612f64 (+ 80) 80067cb1 %3ckernel_x86> main2__FPv() + 0xad%0a%3c 9 82612fb4 (+ 48) 80088d2e %3ckernel_x86> common_thread_entry__FPv() + 0x3a%0a%3c initial commands: syslog | tail 15%0a%3c ata 0 error: target device not present%0a%3c ata 0 error: target device not present%0a%3c ata 0 error: invalid target device%0a%3c Last message repeated 12 times.%0a%3c ata 1: controller doesn't support DMA, disabling%0a%3c ata 1: _DevicePresent: device selection failed for device 0%0a%3c ata 1: _DevicePresent: device 1, presence 0%0a%3c ata 1: deviceMask 0%0a%3c ata 1: ignoring device 0%0a%3c ata 1: ignoring device 1%0a%3c ata 1 error: target device not present%0a%3c ata 1 error: target device not present%0a%3c ata 1 error: invalid target device%0a%3c Last message repeated 12 times.%0a%3c KDiskDeviceManager::InitialDeviceScan() returned error: No such file or director y%0a%3c kdebug>%0a%3c @]%0a%3c %0a%3c Haiku amd64 gives no KDL prompt(not sure?):%0a%3c [@%0a%3c .......................%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c Welcome to kernel debugger output!%0a%3c Haiku revision: hrev55181+51, debug level: 1%0a%3c CPU: no microcode provided%0a%3c CPU 0: type 0 family 6 extended_family 0 model 13 extended_model 2 stepping 7, string 'GenuineIntel'%0a%3c CPU 0: vendor 'Intel' model name 'Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz'%0a%3c No CPU topology information available.%0a%3c CPU 0: apic id 0, package 0, core 0, smt 0%0a%3c CPU 0: features: fpu vme de pse tsc msr pae cx8 sep pge cmov pat pse36 clfsh mmx fxsr sse sse2 sse3 pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor syscall nx pdpe1gb long%0a%3c CPU 0: patch_level 0%0a%3c reserve_io_interrupt_vectors: reserved 16 vectors starting from 0%0a%3c mark_page_range_in_use(0x0, 0x100): start page is before free list%0a%3c mark_page_range_in_use(0x0, 0xa0): start page is before free list%0a%3c PANIC: did not find any boot partitions!%0a%3c Welcome to Kernel Debugging Land...%0a%3c Thread 14 "main2" running on CPU 0%0a%3c stack trace for thread 14 "main2"%0a%3c kernel stack: 0xffffffff81e7f000 to 0xffffffff81e84000%0a%3c frame caller %3cimage>:function + offset%0a%3c 0 ffffffff81e83928 (+ 24) ffffffff8014510c %3ckernel_x86_64> arch_debug_call_with_fault_handler() + 0x16%0a%3c 1 ffffffff81e83940 (+ 80) ffffffff800a9108 %3ckernel_x86_64> debug_call_with_fault_handler() + 0x88%0a%3c 2 ffffffff81e83990 (+ 96) ffffffff800aaa91 %3ckernel_x86_64> _ZL20kernel_debugger_loopPKcS0_P13__va_list_tagi() + 0xf1%0a%3c 3 ffffffff81e839f0 (+ 80) ffffffff800aad8e %3ckernel_x86_64> _ZL24kernel_debugger_internalPKcS0_P13__va_list_tagi() + 0x6e%0a%3c 4 ffffffff81e83a40 (+ 240) ffffffff800ab0f7 %3ckernel_x86_64> panic() + 0xb7%0a%3c 5 ffffffff81e83b30 (+1072) ffffffff8010bd0e %3ckernel_x86_64> vfs_mount_boot_file_system() + 0x3ae%0a%3c 6 ffffffff81e83f60 (+ 80) ffffffff80062799 %3ckernel_x86_64> _ZL5main2Pv() + 0x99%0a%3c 7 ffffffff81e83fb0 (+ 32) ffffffff8008b5b6 %3ckernel_x86_64> _ZL19common_thread_entryPv() + 0x36%0a%3c 8 ffffffff81e83fd0 (+2115485744) ffffffff81e83fe0%0a%3c initial commands: syslog | tail 15%0a%3c file system: file_systems/packagefs/v1%0a%3c KDiskDeviceManager::_AddDiskSystem(file_systems/packagefs/v1)%0a%3c KDiskDeviceManager::_AddDiskSystem() done: No error%0a%3c file system: file_systems/iso9660/v1%0a%3c KDiskDeviceManager::_AddDiskSystem(file_systems/iso9660/v1)%0a%3c KDiskDeviceManager::_AddDiskSystem() done: No error%0a%3c file system: file_systems/write_overlay/v1%0a%3c KDiskDeviceManager::_AddDiskSystem(file_systems/write_overlay/v1)%0a%3c KDiskDeviceManager::_AddDiskSystem() done: No error%0a%3c file system: file_systems/bfs/v1%0a%3c KDiskDeviceManager::_AddDiskSystem(file_systems/bfs/v1)%0a%3c KDiskDeviceManager::_AddDiskSystem() done: No error%0a%3c number of disk systems: 10%0a%3c KDiskDeviceManager::_Scan(/dev/disk)%0a%3c KDiskDeviceManager::InitialDeviceScan() returned error: No such file or directory%0a%3c %0a%3c kdebug>%0a%3c @]%0a\ No newline at end of file%0a +host:1630068512=198.251.81.133 blob - /dev/null blob + 6dcde84fc3c8bd45fe288644ffc71b9b1e64163e (mode 644) --- /dev/null +++ wiki.d/Vmm.Homerouter @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635268100 +host=38.87.162.8 +name=Vmm.Homerouter +rev=1 +targets=Vmm.Configure +text=(:title VMM on Home Workstation/Router:)%0a%0aThis guide assumes you have referred to the [[Vmm/Configure|Vmm Configuration]] guide and read the [[https://www.openbsd.org/faq/faq16.html#VMMnet|OpenBSD FAQ]].%0a%0aIn the setup below, re1 is connected to a router%0athat provides NAT and DHCP. re0 is a second interface%0acard on the computer, which provides internet%0aacces to other devices.%0a%0are0 will act as a default gateway for other devices%0aon the network, providing them with NAT:%0a%0a[@%0a$ doas cat /etc/hostname.re0%0ainet 192.168.1.1 255.255.255.0 192.168.1.255%0a@]%0a%0are1 uses DHCP itself to get an IP address from %0athe default gateway 192.168.0.1:%0a%0a[@%0a$ doas cat /etc/hostname.re1%0adhcp%0a@]%0a%0aAs we see later, re1 is assigned the IP address%0a192.168.0.8 by the DHCP server.%0a%0are1 and the virtual machines are bridged via%0abridge0:%0a%0a[@%0a$ doas cat /etc/hostname.bridge0%0aadd re1%0aup%0a@]%0a%0aThe virtual machines are placed on a switch that connects%0ato bridge0:%0a%0a[@%0a$ doas cat /etc/vm.conf%0asocket owner :vmdusers%0a%0aswitch "switch0" {%0a interface bridge0%0a}%0a%0avm "username" {%0a owner username%0a memory 512M%0a cdrom "/home/username/downloads/software/9front/9front-8593.a%0acc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso"%0a disk /home/username/username.qcow2%0a interface {%0a locked lladdr 3a:24:38:91:0e:01%0a switch "switch0"%0a}%0avm "username-bsd" {%0a owner username%0a memory 512M%0a cdrom "/home/username/downloads/software/openbsd/install70.iso%0a"%0a disk /home/username/username-bsd.qcow2%0a interface {%0a locked lladdr 3a:24:38:91:0e:02%0a switch "switch0"%0a }%0a}%0a@]%0a%0a[@%0a$ ifconfig%0alo0: flags=8049%3cUP,LOOPBACK,RUNNING,MULTICAST> mtu 32768%0a index 4 priority 0 llprio 3%0a groups: lo%0a inet6 ::1 prefixlen 128%0a inet6 fe80::1%25lo0 prefixlen 64 scopeid 0x4%0a inet 127.0.0.1 netmask 0xff000000%0are0: flags=8843%3cUP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 15%0a00%0a lladdr 00:e0:4c:05:0f:98%0a index 1 priority 0 llprio 3%0a media: Ethernet autoselect (100baseTX full-duplex)%0a status: active%0a inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.%0a1.255%0are1: flags=808b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLE%0aX,MULTICAST,AUTOCONF4> mtu 1500%0a lladdr c0:3f:d5:55:7d:fd%0a index 2 priority 0 llprio 3%0a groups: egress%0a media: Ethernet autoselect (1000baseT full-duplex)%0a status: active%0a inet 192.168.0.8 netmask 0xffffff00 broadcast 192.168.%0a0.255%0aenc0: flags=0%3c>%0a index 3 priority 0 llprio 3%0a groups: enc%0a status: active%0abridge0: flags=41%3cUP,RUNNING>%0a description: switch1-switch0%0a index 5 llprio 3%0a groups: bridge%0a priority 32768 hellotime 2 fwddelay 15 maxage 20 holdc%0ant 6 proto rstp%0a tap0 flags=3%3cLEARNING,DISCOVER>%0a port 7 ifpriority 0 ifcost 0%0a re1 flags=3%3cLEARNING,DISCOVER>%0a port 2 ifpriority 0 ifcost 0%0apflog0: flags=141%3cUP,RUNNING,PROMISC> mtu 33136%0a index 6 priority 0 llprio 3%0a groups: pflog%0atap0: flags=8943%3cUP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAS%0aT> mtu 1500%0a lladdr fe:e1:ba:d0:e8:b0%0a description: vm1-if0-username-bsd%0a index 7 priority 0 llprio 3%0a groups: tap%0a status: active%0a@]%0a%0a[@%0a$ doas cat /etc/sysctl.conf%0anet.inet.ip.forwarding=1%0anet.inet6.ip6.forwarding=1%0akern.audio.record=1%0anet.inet.ip.arpq.maxlen=1024%0a@]%0a%0aIn the firewall, we skip tap0 and bridge0 because the antispoof and block all rules are filtering the packets. The rest of the firewall rules come from [[https://www.openbsd.org/faq/pf/example1.html|OpenBSD's PF FAQ]].%0a%0a[@%0a$ doas cat /etc/pf.conf%0awired = "re0"%0awifi = "athn0"%0atable %3cmartians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.%0a0/16 \%0a 172.16.0.0/12 224.0.0.0/3 198.18.0.0/15 198%0a.51.100.0/24 \%0a 203.0.113.0/24 }%0aset block-policy drop%0aset loginterface egress%0aset skip on lo0%0aset skip on tap0%0aset skip on bridge0%0amatch in all scrub (no-df random-id max-mss 1440)%0amatch out on egress inet from !(egress:network) to any nat-to%0a(egress:0)%0aantispoof quick for { egress $wired $wifi }%0ablock in quick on egress from %3cmartians> to any%0ablock return out quick on egress from any to %3cmartians>%0ablock all%0apass out quick inet%0apass in on { $wired $wifi } inet%0apass in proto tcp from 192.168.0.0/16 to port ssh%0a@]%0a +time=1635268100 +title=VMM on Home Workstation/Router +author:1635268100=jrmu +diff:1635268100:1635268100:=1,157d0%0a%3c (:title VMM on Home Workstation/Router:)%0a%3c %0a%3c This guide assumes you have referred to the [[Vmm/Configure|Vmm Configuration]] guide and read the [[https://www.openbsd.org/faq/faq16.html#VMMnet|OpenBSD FAQ]].%0a%3c %0a%3c In the setup below, re1 is connected to a router%0a%3c that provides NAT and DHCP. re0 is a second interface%0a%3c card on the computer, which provides internet%0a%3c acces to other devices.%0a%3c %0a%3c re0 will act as a default gateway for other devices%0a%3c on the network, providing them with NAT:%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/hostname.re0%0a%3c inet 192.168.1.1 255.255.255.0 192.168.1.255%0a%3c @]%0a%3c %0a%3c re1 uses DHCP itself to get an IP address from %0a%3c the default gateway 192.168.0.1:%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/hostname.re1%0a%3c dhcp%0a%3c @]%0a%3c %0a%3c As we see later, re1 is assigned the IP address%0a%3c 192.168.0.8 by the DHCP server.%0a%3c %0a%3c re1 and the virtual machines are bridged via%0a%3c bridge0:%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/hostname.bridge0%0a%3c add re1%0a%3c up%0a%3c @]%0a%3c %0a%3c The virtual machines are placed on a switch that connects%0a%3c to bridge0:%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/vm.conf%0a%3c socket owner :vmdusers%0a%3c %0a%3c switch "switch0" {%0a%3c interface bridge0%0a%3c }%0a%3c %0a%3c vm "username" {%0a%3c owner username%0a%3c memory 512M%0a%3c cdrom "/home/username/downloads/software/9front/9front-8593.a%0a%3c cc504c319a4b4188479cfa602e40cb6851c0528.amd64.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface {%0a%3c locked lladdr 3a:24:38:91:0e:01%0a%3c switch "switch0"%0a%3c }%0a%3c vm "username-bsd" {%0a%3c owner username%0a%3c memory 512M%0a%3c cdrom "/home/username/downloads/software/openbsd/install70.iso%0a%3c "%0a%3c disk /home/username/username-bsd.qcow2%0a%3c interface {%0a%3c locked lladdr 3a:24:38:91:0e:02%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ ifconfig%0a%3c lo0: flags=8049%3cUP,LOOPBACK,RUNNING,MULTICAST> mtu 32768%0a%3c index 4 priority 0 llprio 3%0a%3c groups: lo%0a%3c inet6 ::1 prefixlen 128%0a%3c inet6 fe80::1%25lo0 prefixlen 64 scopeid 0x4%0a%3c inet 127.0.0.1 netmask 0xff000000%0a%3c re0: flags=8843%3cUP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 15%0a%3c 00%0a%3c lladdr 00:e0:4c:05:0f:98%0a%3c index 1 priority 0 llprio 3%0a%3c media: Ethernet autoselect (100baseTX full-duplex)%0a%3c status: active%0a%3c inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.%0a%3c 1.255%0a%3c re1: flags=808b43%3cUP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLE%0a%3c X,MULTICAST,AUTOCONF4> mtu 1500%0a%3c lladdr c0:3f:d5:55:7d:fd%0a%3c index 2 priority 0 llprio 3%0a%3c groups: egress%0a%3c media: Ethernet autoselect (1000baseT full-duplex)%0a%3c status: active%0a%3c inet 192.168.0.8 netmask 0xffffff00 broadcast 192.168.%0a%3c 0.255%0a%3c enc0: flags=0%3c>%0a%3c index 3 priority 0 llprio 3%0a%3c groups: enc%0a%3c status: active%0a%3c bridge0: flags=41%3cUP,RUNNING>%0a%3c description: switch1-switch0%0a%3c index 5 llprio 3%0a%3c groups: bridge%0a%3c priority 32768 hellotime 2 fwddelay 15 maxage 20 holdc%0a%3c nt 6 proto rstp%0a%3c tap0 flags=3%3cLEARNING,DISCOVER>%0a%3c port 7 ifpriority 0 ifcost 0%0a%3c re1 flags=3%3cLEARNING,DISCOVER>%0a%3c port 2 ifpriority 0 ifcost 0%0a%3c pflog0: flags=141%3cUP,RUNNING,PROMISC> mtu 33136%0a%3c index 6 priority 0 llprio 3%0a%3c groups: pflog%0a%3c tap0: flags=8943%3cUP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAS%0a%3c T> mtu 1500%0a%3c lladdr fe:e1:ba:d0:e8:b0%0a%3c description: vm1-if0-username-bsd%0a%3c index 7 priority 0 llprio 3%0a%3c groups: tap%0a%3c status: active%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/sysctl.conf%0a%3c net.inet.ip.forwarding=1%0a%3c net.inet6.ip6.forwarding=1%0a%3c kern.audio.record=1%0a%3c net.inet.ip.arpq.maxlen=1024%0a%3c @]%0a%3c %0a%3c In the firewall, we skip tap0 and bridge0 because the antispoof and block all rules are filtering the packets. The rest of the firewall rules come from [[https://www.openbsd.org/faq/pf/example1.html|OpenBSD's PF FAQ]].%0a%3c %0a%3c [@%0a%3c $ doas cat /etc/pf.conf%0a%3c wired = "re0"%0a%3c wifi = "athn0"%0a%3c table %3cmartians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.%0a%3c 0/16 \%0a%3c 172.16.0.0/12 224.0.0.0/3 198.18.0.0/15 198%0a%3c .51.100.0/24 \%0a%3c 203.0.113.0/24 }%0a%3c set block-policy drop%0a%3c set loginterface egress%0a%3c set skip on lo0%0a%3c set skip on tap0%0a%3c set skip on bridge0%0a%3c match in all scrub (no-df random-id max-mss 1440)%0a%3c match out on egress inet from !(egress:network) to any nat-to%0a%3c (egress:0)%0a%3c antispoof quick for { egress $wired $wifi }%0a%3c block in quick on egress from %3cmartians> to any%0a%3c block return out quick on egress from any to %3cmartians>%0a%3c block all%0a%3c pass out quick inet%0a%3c pass in on { $wired $wifi } inet%0a%3c pass in proto tcp from 192.168.0.0/16 to port ssh%0a%3c @]%0a +host:1635268100=38.87.162.8 blob - /dev/null blob + 1d266eea8265727648ddefab8d131f9849097b95 (mode 644) --- /dev/null +++ wiki.d/Vmm.Install @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627536302 +host=38.87.162.8 +name=Vmm.Install +rev=1 +targets=Shell.ShellPutty,Openbsd.Install68,Openbsd.Bsdrd,Openbsd.Staticnet,Openbsd.Vi,Openbsd.Vmmuser +text=(:title OpenBSD VMM Install Guide:)%0a%0aThis is a quick OpenBSD install guide for VMM.%0a%0a'''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%0a# [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a# '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a# Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0aAttach:vmminstall-1.png%0a# At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a# You can safely ignore the error message @@Boot failed: not a bootable disk@@. By default, your virtual machine will boot from the OpenBSD ISO image when there is no operating system installed. After the OS is installed, your virtual machine will automatically boot from hard disk instead of ISO image. There is no need to mount/unmount the ISO image.\\%0aAttach:vmminstall-2.png%0a# Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].\\%0aAttach:vmminstall-5.png%0a%0a!! Upgrade/Reinstall%0a%0a# If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a# If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username. Afterwards:\\%0a[@%0acd ~/%0arm %3cVM name>.qcow2 # The VM name is probably your username%0avmctl create -s 20G %3cVM name>.qcow2%0avmctl start %3cVM name>%0avmctl console %3cVM name>%0a@]\\%0aAttach:vmminstall-3.png%0a# During [[openbsd/install68|installation]], here are the networking values you need for [[openbsd/staticnet|static networking]]:%0a # IPv4 address: 38.87.162.xxx, subnet mask 255.255.255.0 -- replace 38.87.162.xxx with your assigned IP address%0a # IPv6 address: 2602:fccf:1:1xxx::, subnet /64 -- replace 2602:fccf:1:1xxx:: with your assigned subnet%0a # Default IPv4 gateway/router: 38.87.162.1%0a # Default IPv6 gateway/router: 2602:fccf:1::1%0a%0aFollow the installation guide: [[https://wiki.ircnow.org/index.php?n=Openbsd.Install69]]%0a%0a!! Bug fixes%0a%0aVMM appears to have a bug where VMs lose network connectivity after a few hours. Here is one workaround.%0a%0aEdit your crontab by typing @@crontab -e@@ ('''NOTE''': the default text editor is [[openbsd/vi|vi]]). Type @@G@@ (capital G) to scroll to the bottom, then type @@o@@ (lowercase o) to add a new line at the bottom, then paste this line:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aPress @@[Esc]@@, then type @@:wq@@ (colon, then w, then q) then press enter to save the file.%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a@]%0a%0aThis helps ensure that a ping runs in the background to keep the network alive.%0a%0a!! See Also%0a%0a|| [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a +time=1627536302 +title=OpenBSD VMM Install Guide +author:1627536302=jrmu +diff:1627536302:1627536302:=1,61d0%0a%3c (:title OpenBSD VMM Install Guide:)%0a%3c %0a%3c This is a quick OpenBSD install guide for VMM.%0a%3c %0a%3c '''NOTE''': This guide is '''no''' substitute for reading the [[https://www.openbsd.org/faq/|OpenBSD FAQ]]. In particular, you should read the [[https://www.openbsd.org/faq/faq4.html|Installation Guide]]%0a%3c %0a%3c # [[https://man.openbsd.org/vmm|VMM(4)]] is a hypervisor, which allows us to run multiple virtual machines inside a single physical server (a dedicated server). Your virtual machine is a guest which lives inside the host. You will first need to connect to the host, which runs the hypervisor. For IRCNow, this host is coconut.ircnow.org.%0a%3c # For Linux/Mac, open up a terminal and run @@$ ssh username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c # For Windows, you can use [[Shell/ShellPutty|PuTTY]]. For hostname, put @@username@coconut.ircnow.org@@ -- note that the hostname is coconut.ircnow.org and '''not''' username.coconut.ircnow.org.%0a%3c # '''NOTE''': The host is '''not''' your personal VM. Your personal VM is a guest inside the host, and will have the name username.coconut.ircnow.org, not coconut.ircnow.org. The guest lives inside the host, so in order to create the guest, you must first log in to the host.%0a%3c # Once inside the host (coconut.ircnow.org), type @@vmctl console %3cVM name>@@ in order to open up the [[https://man.openbsd.org/cu|serial console]]. The serial console will allow you to see the virtual machine during bootup. Your VM name is most likely your username.\\%0a%3c Attach:vmminstall-1.png%0a%3c # At any time, if you want to escape the serial console, type @@~.@@ (tilde followed by a period) or @@~^d@@ (tilde followed by ctrl+d). '''Note''': ^d is ctrl+d. Sometimes, you may need to press enter a few times before the @@~.@@ or @@~^d@@ combination works. On some keyboards, you may need to type @@~~.@@ (two tildes followed by a period).%0a%3c # You can safely ignore the error message @@Boot failed: not a bootable disk@@. By default, your virtual machine will boot from the OpenBSD ISO image when there is no operating system installed. After the OS is installed, your virtual machine will automatically boot from hard disk instead of ISO image. There is no need to mount/unmount the ISO image.\\%0a%3c Attach:vmminstall-2.png%0a%3c # Once you see the bootup screen, follow the normal [[openbsd/install68|install instructions]].\\%0a%3c Attach:vmminstall-5.png%0a%3c %0a%3c !! Upgrade/Reinstall%0a%3c %0a%3c # If you want to upgrade or reinstall the operating system, follow the [[openbsd/bsdrd|bsd.rd]] install guide. In this case, you will want to type something immediately after you see the boot prompt to prevent the system from automatically booting. If the system automatically boots by accident, you will, you will want to restart the system. You can log in and then run @@$ doas shutdown -r now@@ to reboot.%0a%3c # If you want to delete your existing virtual machine and start from scratch, exit the serial console by typing @@~.@@ or @@~^d@@. Then, shut down your virtual machine by typing @@vmctl stop %3cVM name>@@ -- your VM name is most likely your username. Afterwards:\\%0a%3c [@%0a%3c cd ~/%0a%3c rm %3cVM name>.qcow2 # The VM name is probably your username%0a%3c vmctl create -s 20G %3cVM name>.qcow2%0a%3c vmctl start %3cVM name>%0a%3c vmctl console %3cVM name>%0a%3c @]\\%0a%3c Attach:vmminstall-3.png%0a%3c # During [[openbsd/install68|installation]], here are the networking values you need for [[openbsd/staticnet|static networking]]:%0a%3c # IPv4 address: 38.87.162.xxx, subnet mask 255.255.255.0 -- replace 38.87.162.xxx with your assigned IP address%0a%3c # IPv6 address: 2602:fccf:1:1xxx::, subnet /64 -- replace 2602:fccf:1:1xxx:: with your assigned subnet%0a%3c # Default IPv4 gateway/router: 38.87.162.1%0a%3c # Default IPv6 gateway/router: 2602:fccf:1::1%0a%3c %0a%3c Follow the installation guide: [[https://wiki.ircnow.org/index.php?n=Openbsd.Install69]]%0a%3c %0a%3c !! Bug fixes%0a%3c %0a%3c VMM appears to have a bug where VMs lose network connectivity after a few hours. Here is one workaround.%0a%3c %0a%3c Edit your crontab by typing @@crontab -e@@ ('''NOTE''': the default text editor is [[openbsd/vi|vi]]). Type @@G@@ (capital G) to scroll to the bottom, then type @@o@@ (lowercase o) to add a new line at the bottom, then paste this line:%0a%3c %0a%3c [@%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c Press @@[Esc]@@, then type @@:wq@@ (colon, then w, then q) then press enter to save the file.%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c [@%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.87.162.1; done' \;%0a%3c @]%0a%3c %0a%3c This helps ensure that a ping runs in the background to keep the network alive.%0a%3c %0a%3c !! See Also%0a%3c %0a%3c || [[https://man.openbsd.org/vmctl|vmctl(8)]] || [[openbsd/vmmuser|VMM User Guide]] ||%0a +host:1627536302=38.87.162.8 blob - /dev/null blob + 16bfd2d75aaa18401ebf8a178af8f4ef5e36c706 (mode 644) --- /dev/null +++ wiki.d/Vmm.NetBSD @@ -0,0 +1,29 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 5.1; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 Mypal/29.3.0 +author=mkf +charset=UTF-8 +csum=better logs? +ctime=1629744779 +host=198.251.81.133 +name=Vmm.NetBSD +rev=5 +targets= +text=before letting system boots itself, press 3 (drop to boot prompt) as boot selection:%0atype these:%0a!!loading serial console%0a[@%0aconsdev com0%0aboot%0a@]%0anetbsd will boot. if you needs more logs, use @@boot -x@@ (debug) or @@boot -v@@ (verbose) instead of boot%0anot so far, it will stop somewhere and turns VM off.%0a%0a!! logs%0a[@%0a> boot -x%0a18072260+522816+849344 [892624+940937+17766]=0x14507d0%0aLoading /stand/i386/9.2/modules/cd9660/cd9660.kmod%0a[ 1.0000000] rbus: rbus_min_start set to 0x40000000%0a[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,%0a[ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,%0a[ 1.0000000] 2018, 2019, 2020 The NetBSD Foundation, Inc. All rights reserved.%0a[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993%0a[ 1.0000000] The Regents of the University of California. All rights reserved.%0a%0a[ 1.0000000] NetBSD 9.2 (GENERIC) #0: Wed May 12 13:15:55 UTC 2021%0a[ 1.0000000] mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC%0a[ 1.0000000] total memory = 1000 MB%0a[ 1.0000000] avail memory = 963 MB%0a[ 1.0000000] Prep module path=cd9660 len=61432 pa=1551000%0a[ 1.0000000] WARNING: module error: module `cd9660' pushed by boot loader already exists%0a[ 1.0000000] running cgd selftest aes-xts-256 aes-xts-512 done%0a[ 1.0000030] efi: missing or invalid systbl%0a[ 1.0000030] BIOS32 rev. 0 found at 0xfefc2%0a[ 1.0000030] SMBIOS rev. 2.4 @ 0xf3f40 (10 entries)%0a[ 1.0000030] mainbus0 (root)%0a[ 1.0000030] Firmware Error (ACPI): A valid RSDP was not found (20190405/tbxfroot-261)%0aacpi_probe: failed to initialize tables%0a%0a[ 1.0000030] ACPI Error: Could not remove SCI handler (20190405/evmisc-312)%0a[ 1.0000030] cpu0 at mainbus0%0a[ 1.0000030] cpu0: 8 page colors%0a[ 1.0000030] cpu0: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, id 0x206d7%0a[ 1.0000030] cpu0: package 0, core 0, smt 0%0a[ 1.0000030] pci0 at mainbus0 bus 0: configuration mode 1%0a[ 1.0000030] pchb0 at pci0 dev 0 function 0: vendor 0b5d product 0666 (rev. 0x00)%0a[ 1.0000030] virtio0 at pci0 dev 1 function 0%0a[ 1.0000030] virtio0: Virtio Entropy Device (rev. 0x00)%0a[ 1.0000030] viornd0 at virtio0: Features: 0x0%0a[ 1.0000030] virtio0: pci_msix_count=0%0a[ 1.0000030] virtio0: interrupting at irq 3%0a[ 1.0000030] viornd0: WARNING: power management not supported%0a[ 1.0000030] virtio0: WARNING: power management not supported%0a[ 1.0000030] virtio1 at pci0 dev 2 function 0%0a[ 1.0000030] virtio1: Virtio Network Device (rev. 0x00)%0a[ 1.0000030] vioif0 at virtio1: Features: 0x20%3cMAC>%0a[ 1.0000030] vioif0: Ethernet address de:4b:aa:66:8f:b2%0a[ 1.0000030] virtio1: pci_msix_count=0%0a[ 1.0000030] virtio1: interrupting at irq 5%0a[ 1.0000030] vioif0: WARNING: power management not supported%0a[ 1.0000030] virtio1: WARNING: power management not supported%0a[ 1.0000030] virtio2 at pci0 dev 3 function 0%0a[ 1.0000030] virtio2: Virtio Block Device (rev. 0x00)%0a[ 1.0000030] ld0 at virtio2: Features: 0x2%3cSIZE_MAX>%0a[ 1.0000030] ld0: Clip SEG_MAX from 1024K to 64K%0a[ 1.0000030] virtio2: pci_msix_count=0%0a[ 1.0000030] virtio2: interrupting at irq 6%0a[ 1.0000030] ld0: 10240 MB, 5201 cyl, 64 head, 63 sec, 512 bytes/sect x 20971520 sectors%0a[ 1.0000030] virtio2: WARNING: power management not supported%0a[ 1.0000030] virtio3 at pci0 dev 4 function 0%0a[ 1.0000030] virtio3: Virtio SCSI Device (rev. 0x00)%0a[ 1.0000030] vioscsi0 at virtio3: Features: 0x0%0a[ 1.0000030] vioscsi0: cmd_per_lun 1 qsize 128 seg_max 17 max_target 1 max_lun 1%0a[ 1.0000030] virtio3: pci_msix_count=0%0a[ 1.0000030] virtio3: interrupting at irq 7%0a[ 1.0000030] scsibus0 at vioscsi0: 1 target, 1 lun per target%0a[ 1.0000030] vioscsi0: WARNING: power management not supported%0a[ 1.0000030] virtio3: WARNING: power management not supported%0a[ 1.0000030] vendor 0b5d product 0777 (miscellaneous communications) at pci0 dev 5 function 0 not configured%0a[ 1.0000030] isa0 at mainbus0%0a%0a%0a[EOF]%0a@] +time=1629745281 +author:1629745281=mkf +csum:1629745281=better logs? +diff:1629745281:1629745232:=13c13%0a%3c > boot -x%0a---%0a> booting cd0a:netbsd (howto 0x20000)%0a16c16%0a%3c [ 1.0000000] rbus: rbus_min_start set to 0x40000000%0a---%0a> [ 1.0000000] BIOS CFG: Model-SubM-Rev: fc-00-01, 0x4074%3cEBDA,KBDINT,RTC,IC2,KBDF>%0a27d26%0a%3c [ 1.0000000] Prep module path=cd9660 len=61432 pa=1551000%0a28a28,29%0a> [ 1.0000000] timecounter: Timecounters tick every 10.000 msec%0a> [ 1.0000000] Kernelized RAIDframe activated%0a30,32c31,32%0a%3c [ 1.0000030] efi: missing or invalid systbl%0a%3c [ 1.0000030] BIOS32 rev. 0 found at 0xfefc2%0a%3c [ 1.0000030] SMBIOS rev. 2.4 @ 0xf3f40 (10 entries)%0a---%0a> [ 1.0000000] timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100%0a> [ 1.0000030] OpenBSD VMM%0a36d35%0a%3c %0a39d37%0a%3c [ 1.0000030] cpu0: 8 page colors%0a42a41%0a> [ 1.0000030] pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok%0a47c46,47%0a%3c [ 1.0000030] virtio0: pci_msix_count=0%0a---%0a> [ 1.0000030] virtio0: allocated 8192 byte for virtqueue 0 for Entropy request, size 64%0a> [ 1.0000030] allocated pic pic0 type level pin 3 level 6 to cpu0 slot 3 idt entry 35%0a49,50d48%0a%3c [ 1.0000030] viornd0: WARNING: power management not supported%0a%3c [ 1.0000030] virtio0: WARNING: power management not supported%0a55c53,54%0a%3c [ 1.0000030] virtio1: pci_msix_count=0%0a---%0a> [ 1.0000030] virtio1: allocated 12288 byte for virtqueue 1 for tx0, size 256%0a> [ 1.0000030] allocated pic pic0 type level pin 5 level 6 to cpu0 slot 5 idt entry 37%0a57,58d55%0a%3c [ 1.0000030] vioif0: WARNING: power management not supported%0a%3c [ 1.0000030] virtio1: WARNING: power management not supported%0a63c60,61%0a%3c [ 1.0000030] virtio2: pci_msix_count=0%0a---%0a> [ 1.0000030] virtio2: allocated 8192 byte for virtqueue 0 for I/O request, size 128%0a> [ 1.0000030] allocated pic pic0 type level pin 6 level 6 to cpu0 slot 6 idt entry 38%0a66d63%0a%3c [ 1.0000030] virtio2: WARNING: power management not supported%0a69a67,69%0a> [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 0 for control, size 128%0a> [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 1 for event, size 128%0a> [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 2 for request, size 128%0a71c71%0a%3c [ 1.0000030] virtio3: pci_msix_count=0%0a---%0a> [ 1.0000030] allocated pic pic0 type level pin 7 level 6 to cpu0 slot 7 idt entry 39%0a74,75d73%0a%3c [ 1.0000030] vioscsi0: WARNING: power management not supported%0a%3c [ 1.0000030] virtio3: WARNING: power management not supported%0a78d75%0a%3c %0a +host:1629745281=198.251.81.133 +author:1629745232=mkf +csum:1629745232=boot -x and boot -v +diff:1629745232:1629745031:=8c8%0a%3c netbsd will boot. if you needs more logs, use @@boot -x@@ (debug) or @@boot -v@@ (verbose) instead of boot%0a---%0a> netbsd will boot.%0a +host:1629745232=198.251.81.133 +author:1629745031=mkf +diff:1629745031:1629744903:=53,77d52%0a%3c [ 1.0000030] virtio1: allocated 12288 byte for virtqueue 1 for tx0, size 256%0a%3c [ 1.0000030] allocated pic pic0 type level pin 5 level 6 to cpu0 slot 5 idt entry 37%0a%3c [ 1.0000030] virtio1: interrupting at irq 5%0a%3c [ 1.0000030] virtio2 at pci0 dev 3 function 0%0a%3c [ 1.0000030] virtio2: Virtio Block Device (rev. 0x00)%0a%3c [ 1.0000030] ld0 at virtio2: Features: 0x2%3cSIZE_MAX>%0a%3c [ 1.0000030] ld0: Clip SEG_MAX from 1024K to 64K%0a%3c [ 1.0000030] virtio2: allocated 8192 byte for virtqueue 0 for I/O request, size 128%0a%3c [ 1.0000030] allocated pic pic0 type level pin 6 level 6 to cpu0 slot 6 idt entry 38%0a%3c [ 1.0000030] virtio2: interrupting at irq 6%0a%3c [ 1.0000030] ld0: 10240 MB, 5201 cyl, 64 head, 63 sec, 512 bytes/sect x 20971520 sectors%0a%3c [ 1.0000030] virtio3 at pci0 dev 4 function 0%0a%3c [ 1.0000030] virtio3: Virtio SCSI Device (rev. 0x00)%0a%3c [ 1.0000030] vioscsi0 at virtio3: Features: 0x0%0a%3c [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 0 for control, size 128%0a%3c [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 1 for event, size 128%0a%3c [ 1.0000030] virtio3: allocated 8192 byte for virtqueue 2 for request, size 128%0a%3c [ 1.0000030] vioscsi0: cmd_per_lun 1 qsize 128 seg_max 17 max_target 1 max_lun 1%0a%3c [ 1.0000030] allocated pic pic0 type level pin 7 level 6 to cpu0 slot 7 idt entry 39%0a%3c [ 1.0000030] virtio3: interrupting at irq 7%0a%3c [ 1.0000030] scsibus0 at vioscsi0: 1 target, 1 lun per target%0a%3c [ 1.0000030] vendor 0b5d product 0777 (miscellaneous communications) at pci0 dev 5 function 0 not configured%0a%3c [ 1.0000030] isa0 at mainbus0%0a%3c %0a%3c [EOF]%0a +host:1629745031=198.251.81.133 +author:1629744903=mkf +diff:1629744903:1629744779:minor=1,53c1%0a%3c before letting system boots itself, press 3 (drop to boot prompt) as boot selection:%0a%3c type these:%0a%3c !!loading serial console%0a%3c [@%0a%3c consdev com0%0a%3c boot%0a%3c @]%0a%3c netbsd will boot.%0a%3c not so far, it will stop somewhere and turns VM off.%0a%3c %0a%3c !! logs%0a%3c [@%0a%3c booting cd0a:netbsd (howto 0x20000)%0a%3c 18072260+522816+849344 [892624+940937+17766]=0x14507d0%0a%3c Loading /stand/i386/9.2/modules/cd9660/cd9660.kmod%0a%3c [ 1.0000000] BIOS CFG: Model-SubM-Rev: fc-00-01, 0x4074%3cEBDA,KBDINT,RTC,IC2,KBDF>%0a%3c [ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,%0a%3c [ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,%0a%3c [ 1.0000000] 2018, 2019, 2020 The NetBSD Foundation, Inc. All rights reserved.%0a%3c [ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993%0a%3c [ 1.0000000] The Regents of the University of California. All rights reserved.%0a%3c %0a%3c [ 1.0000000] NetBSD 9.2 (GENERIC) #0: Wed May 12 13:15:55 UTC 2021%0a%3c [ 1.0000000] mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC%0a%3c [ 1.0000000] total memory = 1000 MB%0a%3c [ 1.0000000] avail memory = 963 MB%0a%3c [ 1.0000000] WARNING: module error: module `cd9660' pushed by boot loader already exists%0a%3c [ 1.0000000] timecounter: Timecounters tick every 10.000 msec%0a%3c [ 1.0000000] Kernelized RAIDframe activated%0a%3c [ 1.0000000] running cgd selftest aes-xts-256 aes-xts-512 done%0a%3c [ 1.0000000] timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100%0a%3c [ 1.0000030] OpenBSD VMM%0a%3c [ 1.0000030] mainbus0 (root)%0a%3c [ 1.0000030] Firmware Error (ACPI): A valid RSDP was not found (20190405/tbxfroot-261)%0a%3c acpi_probe: failed to initialize tables%0a%3c [ 1.0000030] ACPI Error: Could not remove SCI handler (20190405/evmisc-312)%0a%3c [ 1.0000030] cpu0 at mainbus0%0a%3c [ 1.0000030] cpu0: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, id 0x206d7%0a%3c [ 1.0000030] cpu0: package 0, core 0, smt 0%0a%3c [ 1.0000030] pci0 at mainbus0 bus 0: configuration mode 1%0a%3c [ 1.0000030] pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok%0a%3c [ 1.0000030] pchb0 at pci0 dev 0 function 0: vendor 0b5d product 0666 (rev. 0x00)%0a%3c [ 1.0000030] virtio0 at pci0 dev 1 function 0%0a%3c [ 1.0000030] virtio0: Virtio Entropy Device (rev. 0x00)%0a%3c [ 1.0000030] viornd0 at virtio0: Features: 0x0%0a%3c [ 1.0000030] virtio0: allocated 8192 byte for virtqueue 0 for Entropy request, size 64%0a%3c [ 1.0000030] allocated pic pic0 type level pin 3 level 6 to cpu0 slot 3 idt entry 35%0a%3c [ 1.0000030] virtio0: interrupting at irq 3%0a%3c [ 1.0000030] virtio1 at pci0 dev 2 function 0%0a%3c [ 1.0000030] virtio1: Virtio Network Device (rev. 0x00)%0a%3c [ 1.0000030] vioif0 at virtio1: Features: 0x20%3cMAC>%0a%3c [ 1.0000030] vioif0: Ethernet address de:4b:aa:66:8f:b2%0a%3c @]%0a\ No newline at end of file%0a---%0a> before letting system boots itself, press 3 (drop to boot prompt) as boot selection:%0a\ No newline at end of file%0a +host:1629744903=198.251.81.133 +author:1629744779=mkf +diff:1629744779:1629744779:=1d0%0a%3c before letting system boots itself, press 3 (drop to boot prompt) as boot selection:%0a\ No newline at end of file%0a +host:1629744779=198.251.81.133 blob - /dev/null blob + aaf54efff6e7b69721277a5c2733f1c2bd3ea025 (mode 644) --- /dev/null +++ wiki.d/Vmm.Optimize @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1621396839 +host=125.231.29.99 +name=Vmm.Optimize +rev=2 +targets= +text=[@%0a11:53 %3c mlarkin> so jrmu the first thing I would do is crank host HZ to 1000 %0a or 2000%0a11:53 %3c jrmu> I'll take your word for it then%0a11:53 %3c mlarkin> that will make an immediate improvement%0a11:53 %3c mlarkin> leave the guests at 100%0a11:53 %3c jrmu> ok so I'd do that with the BIOS settings right?%0a11:53 %3c mlarkin> no%0a11:53 %3c mlarkin> param.h%0a11:54 %3c mlarkin> rebuild host kernel%0a11:54 %3c mlarkin> sorry param.c%0a11:54 %3c mlarkin> try 1000%0a11:54 %3c mlarkin> that usually always works%0a11:54 %3c mlarkin> my success rate with 2000 is more hit/miss%0a11:55 %3c mlarkin> and whatever you do, dont come to tech@/misc@ and complain %0a that HZ=1000 is breaking things.%0a11:55 %3c mlarkin> this is just "hallway conversation"%0a11:55 %3c brynet> I think Misha had a page for tuning things, talk with him. %0a Also would recommend checkout out Dave Voutila's vmm_clock %0a and virtio_vmmci drivers.%0a11:55 %3c jrmu> :) ok thank you%0a11:56 %3c brynet> https://github.com/voutilad%0a11:56 %3c mlarkin> HZ=1000 allows for more efficient servicing of guest clock %0a interrupts%0a11:56 %3c mlarkin> if 1000 works for a while with "lots" of vms, try 2000%0a11:56 %3c brynet> (If you're planning on Linux VMs, that is.)%0a11:57 %3c mlarkin> brynet: HZ=1000 helps with any guests%0a11:57 %3c brynet> right, meant dv@'s drivers. :)%0a11:57 %3c mlarkin> anything > 100%0a11:57 %3c mlarkin> ah%0a11:57 %3c mlarkin> yes%0a11:58 %3c mlarkin> cheloha@ is working on a better clock subsystem that will %0a fix a lot of this but it is a ways away still. to give you %0a an idea how hard that is, he has been continuously working %0a on it since 2019%0a11:58 %3c mlarkin> for now, cranking HZ is the only solution we have%0a11:58 %3c jrmu> thanks, that is interesting, I'll research into it more later%0a11:58 %3c jrmu> I'll put this in my notes%0a@] +time=1621397080 +author:1621397080=jrmu +diff:1621397080:1621396839:=1d0%0a%3c [@%0a39d37%0a%3c @]%0a\ No newline at end of file%0a +host:1621397080=125.231.29.99 +author:1621396839=jrmu +diff:1621396839:1621396839:=1,37d0%0a%3c 11:53 %3c mlarkin> so jrmu the first thing I would do is crank host HZ to 1000 %0a%3c or 2000%0a%3c 11:53 %3c jrmu> I'll take your word for it then%0a%3c 11:53 %3c mlarkin> that will make an immediate improvement%0a%3c 11:53 %3c mlarkin> leave the guests at 100%0a%3c 11:53 %3c jrmu> ok so I'd do that with the BIOS settings right?%0a%3c 11:53 %3c mlarkin> no%0a%3c 11:53 %3c mlarkin> param.h%0a%3c 11:54 %3c mlarkin> rebuild host kernel%0a%3c 11:54 %3c mlarkin> sorry param.c%0a%3c 11:54 %3c mlarkin> try 1000%0a%3c 11:54 %3c mlarkin> that usually always works%0a%3c 11:54 %3c mlarkin> my success rate with 2000 is more hit/miss%0a%3c 11:55 %3c mlarkin> and whatever you do, dont come to tech@/misc@ and complain %0a%3c that HZ=1000 is breaking things.%0a%3c 11:55 %3c mlarkin> this is just "hallway conversation"%0a%3c 11:55 %3c brynet> I think Misha had a page for tuning things, talk with him. %0a%3c Also would recommend checkout out Dave Voutila's vmm_clock %0a%3c and virtio_vmmci drivers.%0a%3c 11:55 %3c jrmu> :) ok thank you%0a%3c 11:56 %3c brynet> https://github.com/voutilad%0a%3c 11:56 %3c mlarkin> HZ=1000 allows for more efficient servicing of guest clock %0a%3c interrupts%0a%3c 11:56 %3c mlarkin> if 1000 works for a while with "lots" of vms, try 2000%0a%3c 11:56 %3c brynet> (If you're planning on Linux VMs, that is.)%0a%3c 11:57 %3c mlarkin> brynet: HZ=1000 helps with any guests%0a%3c 11:57 %3c brynet> right, meant dv@'s drivers. :)%0a%3c 11:57 %3c mlarkin> anything > 100%0a%3c 11:57 %3c mlarkin> ah%0a%3c 11:57 %3c mlarkin> yes%0a%3c 11:58 %3c mlarkin> cheloha@ is working on a better clock subsystem that will %0a%3c fix a lot of this but it is a ways away still. to give you %0a%3c an idea how hard that is, he has been continuously working %0a%3c on it since 2019%0a%3c 11:58 %3c mlarkin> for now, cranking HZ is the only solution we have%0a%3c 11:58 %3c jrmu> thanks, that is interesting, I'll research into it more later%0a%3c 11:58 %3c jrmu> I'll put this in my notes%0a +host:1621396839=125.231.29.99 blob - /dev/null blob + 590227de14aedcc6f29d359fb52b2f6f433a3fc9 (mode 644) --- /dev/null +++ wiki.d/Vmm.Plan9 @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Safari/605.1.15 vimb/3.6.0 +author=mkf +charset=UTF-8 +csum=??? +ctime=1631951679 +host=2.178.144.223 +name=Vmm.Plan9 +rev=3 +targets= +text=[@ %0a%25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a Dload Upload Total Spent Left Speed%0a 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 1680 100 1680 0 0 7850 0 --:--:-- --:--:-- --:--:-- 7887%0ahost# vmctl start -c jrmu%0aConnected to /dev/ttypr (speed 115200)%0aBoot failed: not a bootable disk%0a%0a*e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000%0acdboot=yes%0amouseport=ask%0amonitor=ask%0avgasize=ask%0abootfile=/386/9pc%0a>console=0%0accoonnssoollee==00%0a%0a>>bboooott%0a%0abboooott%0a%0a%0aPlan 9%0a126 holes free%0a0x0001a000 0x0009f000 544768%0a0x0060a000 0x0ffff000 262098944%0a262643712 bytes free%0acpu0: 4612MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0aELCR: 02E8%0a#l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668f07%0ai8042: kbd init failed%0a1024M memory: 256M kernel data, 767M user, 1392M swap%0anusb/usbd: no hubs%0a%0a/dev/sd00: OpenBSD VMM CD-ROM 001%0a/dev/sd00/data 9660%0a/dev/sdF0:%0a/dev/sdF0/data%0abootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data]%0auser[glenda]:%0a%0ainit: starting /bin/rc%0acirno Sep 18 09:50:19 starting dns resolver on /net%0avgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0abind: #i: no frame buffer%0ario: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0ainit: rc exit status: rc 217: rio 345: display open%0a%0ainit: starting /bin/rc%0aterm%25 inst/starteady to install%0aSat Sep 18 07:50:41 CET 2021 Installation process started%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following unfinished tasks are ready to be done:%0a configfs - choose the type of file system to install%0a confignet - configure the network%0a tzsetup - choose time zone%0a%0aTask to do [configfs]:%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a%0a %25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a Dload Upload Total Spent Left Speed%0a 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 16332 100 16332 0 0 74236 0 --:--:-- --:--:-- --:--:-- 74917%0aConnected to /dev/ttypf (speed 115200)%0aBoot failed: not a bootable disk%0a%0a*e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 0x00000000000f0000 0x0000000%0a000100000 1 0x0000000000100000 0x000000003fefc000 2 0x000000003fefc000 0x000000003ff00000 2 0x00000000fffc0000 0x000%0a0000100000000 %0acdboot=yes%0amouseport=ask%0amonitor=ask%0avgasize=ask%0abootfile=/386/9pc%0a>%0a>console=0%0accoonnssoollee==00%0a%0a>>bboooott%0a%0abboooott%0a%0a%0aPlan 9%0a126 holes free%0a0x0001a000 0x0009f000 544768%0a0x00530000 0x0ffff000 262991872%0a263536640 bytes free%0acpu0: 4604MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0aELCR: 02E8%0a#l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668fb2%0ai8042: kbd init failed%0a1023M memory: 256M kernel data, 766M user, 1391M swap%0anusb/usbd: /dev/usb: no hubs%0a%0a/dev/sd00: OpenBSD VMM CD-ROM 001%0a/dev/sd00/data 9660%0a/dev/sdF0:%0a/dev/sdF0/data%0abootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data]%0auser[glenda]: %0a%0ainit: starting /bin/rc%0acirno Sep 18 03:36:24 starting dns resolver on /net%0avgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0abind: #i: no frame buffer%0ario: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0ainit: rc exit status: rc 223: rio 354: display open%0a%0ainit: starting /bin/rc%0aterm%25 inst/start%0aSat Sep 18 01:37:49 CET 2021 Installation process started%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following unfinished tasks are ready to be done:%0a configfs- choose the type of file system to install%0a confignet- configure the network%0a tzsetup- choose time zone%0a%0aTask to do [configfs]: %0a%0a--------------------------------------%0aYou can install the following types of file systems:%0a%0a cwfs64xthe cached-worm file server%0a hjfsthe new 9front file server (experimental!)%0a%0aFile system (cwfs64x, hjfs)[cwfs64x]: hjfs%0a %0a-------------------------------------- %0a %0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a %0aThe following unfinished tasks are ready to be done:%0a partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a mountfs- choose and mount file system partition%0a confignet - configure the network%0a mountfs- choose and mount file system partition%0a confignet- configure the network%0a tzsetup- choose time zone%0a%0aTask to do [partdisk]: %0a%0a--------------------------------------%0aThe following disk devices were found.%0a%0asd00 - OpenBSD VMM CD-ROM 001%0a empty 0 468 (468 cylinders, 1.82 GB) %0a * p1 468 469 (1 cylinders, 4.00 MB) ESP%0a%0asdF0 -%0a%0aDisk to partition (sd00, sdF0)[no default]: sdF0%0aThe disk you selected HAS NO master boot record on its first sector.%0a(Perhaps it is a completely blank disk.)%0aShall we create a blank EFI partition table (GPT)%0aor install traditional DOS partition table (MBR)?%0a%0aInstall mbr or gpt (mbr, gpt)[no default]: mbr%0a%0aThis is disk/fdisk; use it to create a Plan 9 partition.%0aIf there is enough room, a Plan 9 partition will be%0asuggested; you can probably just type 'w' and then 'q'.%0a%0acylinder = 8225280 bytes%0a'* p1 0 2610 (2610 cylinders, 19.99 GB) PLAN9%0a>>> w%0a>>> q%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%0aThe following unfinished tasks are ready to be done:%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a confignet- configure the network%0a tzsetup- choose time zone%0a%0aTask to do [prepdisk]: %0a%0a--------------------------------------%0aThe following Plan 9 disk partitions were found.%0a%0a/dev/sdF0/plan9%0a empty 0 41929587 (41929587 sectors, 19.99 GB)%0a%0aPlan 9 partition to subdivide (/dev/sdF0/plan9)[/dev/sdF0/plan9]: %0aThis is disk/prep; use it to subdivide the Plan 9 partition.%0aIf it is not yet subdivided, a sensible layout will be suggested;%0ayou can probably just type 'w' and then 'q'.%0a%0ano plan9 partition table found%0a9fat 204800%0anvram 1%0afs 41724786%0a' 9fat 0 204800 (204800 sectors, 100.00 MB)%0a' nvram 204800 204801 (1 sectors, 512 B )%0a' fs 204801 41929587 (41724786 sectors, 19.89 GB)%0a>>> w%0a>>> q%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a%0aThe following unfinished tasks are ready to be done:%0a mountfs- choose and mount file system partition%0a confignet- configure the network%0a tzsetup- choose time zone%0a%0aTask to do [mountfs]: %0a%0a--------------------------------------%0a%0aPlease choose your hjfs partition%0a%0a--rw-r----- S 0 glenda glenda 21363090432 Oct 5 2019 /dev/sdF0/fs%0a%0aHjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0a%0a--------------------------------------%0a%0aPlease choose your hjfs partition%0a%0a--rw-r----- S 0 glenda glenda 21363090432 Oct 5 2019 /dev/sdF0/fs%0a%0aHjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0aSize of RAM filesystem cache (MB)? [192]:%0aReam the filesystem? (yes, no)[yes]: yes%0aStarting hjfs file server for /dev/sdF0/fs%0ahjfs: reaming /dev/sdF0/fs%0ahjfs: ream successful%0ahjfs: fs is /dev/sdF0/fs%0aConfiguring hjfs file server for /dev/sdF0/fs%0ahjfs: >create /dist sys sys 775 d%0ahjfs: >create /usr sys sys 775 d%0ahjfs: >newuser glenda%0ahjfs: >newuser adm +glenda%0ahjfs: >newuser sys +glenda%0ahjfs: >newuser upas +glenda%0ahjfs: >echo off%0aMounting hjfs file server for /dev/sdF0/fs%0a%25 mount -c /srv/hjfs.newfs /n/newfs%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a%0aThe following unfinished tasks are ready to be done:%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a tzsetup- choose time zone%0a%0aTask to do [configdist]: %0a%0a--------------------------------------%0aAre you going to download the distribution%0afrom the internet or do you have it on local media?%0a%0aDistribution is from (local, net)[local]: %0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a%0aThe following unfinished tasks are ready to be done:%0a confignet- configure the network%0a mountdist- locate and mount the distribution%0a tzsetup- choose time zone%0a%0aTask to do [confignet]: %0a--------------------------------------%0a%0aWe will configure the ethernet.%0a%0a%0aPlease choose a method for configuring your ethernet connection.%0a%0a manual - specify IP address, network mask, gateway IP address%0a automatic - use DHCP and SLAAC to automatically configure%0a%0aConfiguration method (manual, automatic)[automatic]: %0astarting ethernet automatic config%0aipconfig: write(try fe80::dc4b:aaff:fe66:8fb2 /64): interface does not support multicast%0aipconfig: can't start IPv6 on /net/ether0, address fe80::dc4b:aaff:fe66:8fb2%0aipconfig: dialicmp6: cs: can't translate address%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a%0aThe following unfinished tasks are ready to be done:%0a mountdist- locate and mount the distribution%0a download- download or continue to download the distribution archives%0a tzsetup- choose time zone%0a%0aTask to do [mountdist]: %0a%0a--------------------------------------%0aPlease wait... Scanning storage devices...%0a /dev/sd00/data%0a /dev/sdF0/9fat%0a /dev/sdF0/data%0a /dev/sdF0/fs%0a%0aThe following storage media were detected.%0aChoose the one containing the distribution.%0a%0a /dev/sd00/data (iso9660 cdrom)%0a%0aDistribution disk (/dev/sd00/data, /dev/sdF0/fs, /)[/]: %0a%25 mount /srv/boot /n/distmedia%0a%0aWhich directory contains the distribution?%0aAny of the following will suffice (in order of preference):%0a - the root directory of the cd image%0a - the directory containing 9front.iso%0a - the directory containing 9front.iso.bz2%0a%0aLocation of archives [/]: %0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a mountdist- locate and mount the distribution%0a%0aThe following unfinished tasks are ready to be done:%0a copydist- copy the distribution into the file system%0a tzsetup- choose time zone%0a%0aTask to do [copydist]: %0a%0a--------------------------------------%0aprocessing /sys/lib/sysconfig/proto/allproto%0afile system made%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partit%0aion)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a mountdist- locate and mount the distribution%0a copydist- copy the distribution into the file system%0a%0aThe following unfinished tasks are ready to be done:%0a ndbsetup- setup network configuration%0a tzsetup- choose time zone%0a bootsetup- configure hard disk to boot plan 9%0a%0aTask to do [ndbsetup]: %0a--------------------------------------%0a %0aSetup network configuration %0a %0asysname [cirno]: mkf.host.bsdforall.org %0a-------------------------------------- %0a %0aPreparing menu... %0aThe following tasks are done: %0a configfs - choose the type of file system to install%0a partdisk - edit partition tables (e.g., to create a plan 9 partit%0aion) %0a prepdisk - subdivide plan9 disk partition%0a mountfs- choose and mount file system partition%0a configdist - choose the source of the distribution archive%0a confignet - configure the network %0a mountdist - locate and mount the distribution%0a copydist - copy the distribution into the file system%0a ndbsetup- setup network configuration%0a%0aThe following unfinished tasks are ready to be done:%0a tzsetup- choose time zone%0a bootsetup- configure hard disk to boot plan 9%0a%0aTask to do [tzsetup]: %0a%0a--------------------------------------%0a%0aSetup Time Zone%0a%0aTime Zone (Argentina, Asia_Bahrain, Asia_India, Australia_ACT, Australia_Broken-Hill, Australia_LHI, Australia_NSW, Australia_North, Australia_Queensland, Australia_South, Australia_Sturt, Australia_Tasmania, Australia_Victoria, Australia_West, Australia_Yancowinna, Brazil_Acre, Brazil_DeNoronha, Brazil_East, Brazil_West, CET, Canada_Atlantic, Canada_Central, Canada_East-Saskatchewan, Canada_Eastern, Canada_Mountain, Canada_Newfoundland, Canada_Pacific, Canada_Yukon, Chile_Continental, Chile_EasterIsland, Cuba, EET, Egypt, GB-Eire, GMT, HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Libya, Mexico_BajaNorte, Mexico_BajaSur, Mexico_General, NZ, NZ_CHAT, Navajo, PRC, Poland, ROC, ROK, Singapore, Turkey, US_Alaska, US_Arizona, US_Central, US_East-Indiana, US_Eastern, US_Hawaii, US_Michigan, US_Mountain, US_Pacific, US_Yukon, Uruguay, W-SU, WET)[US_Eastern]: %0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a mountdist- locate and mount the distribution%0a copydist- copy the distribution into the file system%0a ndbsetup- setup network configuration%0a tzsetup- choose time zone%0a%0aThe following unfinished tasks are ready to be done:%0a bootsetup- configure hard disk to boot plan 9%0a%0aTask to do [bootsetup]: %0a%0a%0a--------------------------------------%0a%0aSetup Plan 9 FAT boot partition (9fat)%0a%0aPlan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0adossrv: serving #s/dos%0a%25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak%0a1+0 records in%0a1+0 records out%0aInitializing Plan 9 FAT partition.%0a%25 disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 /dev/sdF0/9fat%0aInitializing FAT file system%0atype hard, 12 tracks, 255 heads, 63 sectors/track, 512 bytes/sec%0aused 4096 bytes%0a%25 mount -c /srv/dos /n/9fat /dev/sdF0/9fat%0a%25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc%0a%25 cp /n/newfs/386/9bootfat /n/9fat/9bootfat%0a%25 chmod +al /n/9fat/9bootfat%0a%25 cp /tmp/plan9.ini /n/9fat/plan9.ini%0a%25 cp /n/newfs/386/9pc /n/9fat/%0a%25 mkdir -p /n/9fat/efi/boot%0a%25 cp /386/bootia32.efi /386/bootx64.efi /n/9fat/efi/boot%0a%25 cp /tmp/pbs.bak /n/9fat%0a%25 unmount /n/9fat%0a%0aIf you use the Windows NT/2000/XP master boot record%0aor a master boot record from a Unix clone (e.g., LILO or%0aFreeBSD bootmgr), it is probably safe to continue using%0athat boot record rather than install the Plan 9 boot record.%0a%0aInstall the Plan 9 master boot record (yes, no)[no default]: yes%0aMark the Plan 9 partition active (yes, no)[no default]: yes%0a%0aThe Plan 9 partition is now marked as active.%0a%0a--------------------------------------%0a%0aPreparing menu...%0aThe following tasks are done: %0a configfs- choose the type of file system to install%0a partdisk- edit partition tables (e.g., to create a plan 9 partit%0aion)%0a prepdisk- subdivide plan 9 disk partition%0a mountfs- choose and mount file system partition%0a configdist- choose the source of the distribution archive%0a confignet- configure the network%0a mountdist- locate and mount the distribution%0a copydist- copy the distribution into the file system%0a ndbsetup- setup network configuration%0a tzsetup- choose time zone%0a bootsetup- configure hard disk to boot plan 9%0a%0aThe following unfinished tasks are ready to be done:%0a finish- finish the installation and reboot%0a%0aTask to do [finish]: %0a%0a--------------------------------------%0aCongratulations; you've completed the install.%0a%0a%0ahalting.../srv/hjfs.newfs.cmd...hjfs: ending%0a%0adone halting%0arebooting...%0acpu0: exiting%0aTakes a licking and keeps on ticking...%0acan't reset%0a%0ahost$ doas vmctl stop mkf%0astopping vm mkf: requested to shutdown vm 1%0ahost$ doas vmctl start -c mkf%0a@] +time=1636147865 +author:1636147865=mkf +csum:1636147865=??? +diff:1636147865:1631953389:=1,2c1%0a%3c [@ %0a%3c %25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a---%0a> %25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a550d548%0a%3c @]%0a\ No newline at end of file%0a +host:1636147865=2.178.144.223 +author:1631953389=jrmu +diff:1631953389:1631951679:=0a1%0a> %0a61,548d61%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a%3c Dload Upload Total Spent Left Speed%0a%3c 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 16332 100 16332 0 0 74236 0 --:--:-- --:--:-- --:--:-- 74917%0a%3c Connected to /dev/ttypf (speed 115200)%0a%3c Boot failed: not a bootable disk%0a%3c %0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 0x00000000000f0000 0x0000000%0a%3c 000100000 1 0x0000000000100000 0x000000003fefc000 2 0x000000003fefc000 0x000000003ff00000 2 0x00000000fffc0000 0x000%0a%3c 0000100000000 %0a%3c cdboot=yes%0a%3c mouseport=ask%0a%3c monitor=ask%0a%3c vgasize=ask%0a%3c bootfile=/386/9pc%0a%3c >%0a%3c >console=0%0a%3c ccoonnssoollee==00%0a%3c %0a%3c >>bboooott%0a%3c %0a%3c bboooott%0a%3c %0a%3c %0a%3c Plan 9%0a%3c 126 holes free%0a%3c 0x0001a000 0x0009f000 544768%0a%3c 0x00530000 0x0ffff000 262991872%0a%3c 263536640 bytes free%0a%3c cpu0: 4604MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a%3c ELCR: 02E8%0a%3c #l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668fb2%0a%3c i8042: kbd init failed%0a%3c 1023M memory: 256M kernel data, 766M user, 1391M swap%0a%3c nusb/usbd: /dev/usb: no hubs%0a%3c %0a%3c /dev/sd00: OpenBSD VMM CD-ROM 001%0a%3c /dev/sd00/data 9660%0a%3c /dev/sdF0:%0a%3c /dev/sdF0/data%0a%3c bootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data]%0a%3c user[glenda]: %0a%3c %0a%3c init: starting /bin/rc%0a%3c cirno Sep 18 03:36:24 starting dns resolver on /net%0a%3c vgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0a%3c bind: #i: no frame buffer%0a%3c rio: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0a%3c init: rc exit status: rc 223: rio 354: display open%0a%3c %0a%3c init: starting /bin/rc%0a%3c term%25 inst/start%0a%3c Sat Sep 18 01:37:49 CET 2021 Installation process started%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following unfinished tasks are ready to be done:%0a%3c configfs- choose the type of file system to install%0a%3c confignet- configure the network%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [configfs]: %0a%3c %0a%3c --------------------------------------%0a%3c You can install the following types of file systems:%0a%3c %0a%3c cwfs64xthe cached-worm file server%0a%3c hjfsthe new 9front file server (experimental!)%0a%3c %0a%3c File system (cwfs64x, hjfs)[cwfs64x]: hjfs%0a%3c %0a%3c -------------------------------------- %0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partition)%0a%3c mountfs- choose and mount file system partition%0a%3c confignet - configure the network%0a%3c mountfs- choose and mount file system partition%0a%3c confignet- configure the network%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [partdisk]: %0a%3c %0a%3c --------------------------------------%0a%3c The following disk devices were found.%0a%3c %0a%3c sd00 - OpenBSD VMM CD-ROM 001%0a%3c empty 0 468 (468 cylinders, 1.82 GB) %0a%3c * p1 468 469 (1 cylinders, 4.00 MB) ESP%0a%3c %0a%3c sdF0 -%0a%3c %0a%3c Disk to partition (sd00, sdF0)[no default]: sdF0%0a%3c The disk you selected HAS NO master boot record on its first sector.%0a%3c (Perhaps it is a completely blank disk.)%0a%3c Shall we create a blank EFI partition table (GPT)%0a%3c or install traditional DOS partition table (MBR)?%0a%3c %0a%3c Install mbr or gpt (mbr, gpt)[no default]: mbr%0a%3c %0a%3c This is disk/fdisk; use it to create a Plan 9 partition.%0a%3c If there is enough room, a Plan 9 partition will be%0a%3c suggested; you can probably just type 'w' and then 'q'.%0a%3c %0a%3c cylinder = 8225280 bytes%0a%3c '* p1 0 2610 (2610 cylinders, 19.99 GB) PLAN9%0a%3c >>> w%0a%3c >>> q%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c confignet- configure the network%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [prepdisk]: %0a%3c %0a%3c --------------------------------------%0a%3c The following Plan 9 disk partitions were found.%0a%3c %0a%3c /dev/sdF0/plan9%0a%3c empty 0 41929587 (41929587 sectors, 19.99 GB)%0a%3c %0a%3c Plan 9 partition to subdivide (/dev/sdF0/plan9)[/dev/sdF0/plan9]: %0a%3c This is disk/prep; use it to subdivide the Plan 9 partition.%0a%3c If it is not yet subdivided, a sensible layout will be suggested;%0a%3c you can probably just type 'w' and then 'q'.%0a%3c %0a%3c no plan9 partition table found%0a%3c 9fat 204800%0a%3c nvram 1%0a%3c fs 41724786%0a%3c ' 9fat 0 204800 (204800 sectors, 100.00 MB)%0a%3c ' nvram 204800 204801 (1 sectors, 512 B )%0a%3c ' fs 204801 41929587 (41724786 sectors, 19.89 GB)%0a%3c >>> w%0a%3c >>> q%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c mountfs- choose and mount file system partition%0a%3c confignet- configure the network%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [mountfs]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Please choose your hjfs partition%0a%3c %0a%3c --rw-r----- S 0 glenda glenda 21363090432 Oct 5 2019 /dev/sdF0/fs%0a%3c %0a%3c Hjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Please choose your hjfs partition%0a%3c %0a%3c --rw-r----- S 0 glenda glenda 21363090432 Oct 5 2019 /dev/sdF0/fs%0a%3c %0a%3c Hjfs partition (/dev/sdF0/fs)[/dev/sdF0/fs]: %0a%3c Size of RAM filesystem cache (MB)? [192]:%0a%3c Ream the filesystem? (yes, no)[yes]: yes%0a%3c Starting hjfs file server for /dev/sdF0/fs%0a%3c hjfs: reaming /dev/sdF0/fs%0a%3c hjfs: ream successful%0a%3c hjfs: fs is /dev/sdF0/fs%0a%3c Configuring hjfs file server for /dev/sdF0/fs%0a%3c hjfs: >create /dist sys sys 775 d%0a%3c hjfs: >create /usr sys sys 775 d%0a%3c hjfs: >newuser glenda%0a%3c hjfs: >newuser adm +glenda%0a%3c hjfs: >newuser sys +glenda%0a%3c hjfs: >newuser upas +glenda%0a%3c hjfs: >echo off%0a%3c Mounting hjfs file server for /dev/sdF0/fs%0a%3c %25 mount -c /srv/hjfs.newfs /n/newfs%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [configdist]: %0a%3c %0a%3c --------------------------------------%0a%3c Are you going to download the distribution%0a%3c from the internet or do you have it on local media?%0a%3c %0a%3c Distribution is from (local, net)[local]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c confignet- configure the network%0a%3c mountdist- locate and mount the distribution%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [confignet]: %0a%3c --------------------------------------%0a%3c %0a%3c We will configure the ethernet.%0a%3c %0a%3c %0a%3c Please choose a method for configuring your ethernet connection.%0a%3c %0a%3c manual - specify IP address, network mask, gateway IP address%0a%3c automatic - use DHCP and SLAAC to automatically configure%0a%3c %0a%3c Configuration method (manual, automatic)[automatic]: %0a%3c starting ethernet automatic config%0a%3c ipconfig: write(try fe80::dc4b:aaff:fe66:8fb2 /64): interface does not support multicast%0a%3c ipconfig: can't start IPv6 on /net/ether0, address fe80::dc4b:aaff:fe66:8fb2%0a%3c ipconfig: dialicmp6: cs: can't translate address%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c mountdist- locate and mount the distribution%0a%3c download- download or continue to download the distribution archives%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [mountdist]: %0a%3c %0a%3c --------------------------------------%0a%3c Please wait... Scanning storage devices...%0a%3c /dev/sd00/data%0a%3c /dev/sdF0/9fat%0a%3c /dev/sdF0/data%0a%3c /dev/sdF0/fs%0a%3c %0a%3c The following storage media were detected.%0a%3c Choose the one containing the distribution.%0a%3c %0a%3c /dev/sd00/data (iso9660 cdrom)%0a%3c %0a%3c Distribution disk (/dev/sd00/data, /dev/sdF0/fs, /)[/]: %0a%3c %25 mount /srv/boot /n/distmedia%0a%3c %0a%3c Which directory contains the distribution?%0a%3c Any of the following will suffice (in order of preference):%0a%3c - the root directory of the cd image%0a%3c - the directory containing 9front.iso%0a%3c - the directory containing 9front.iso.bz2%0a%3c %0a%3c Location of archives [/]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c mountdist- locate and mount the distribution%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c copydist- copy the distribution into the file system%0a%3c tzsetup- choose time zone%0a%3c %0a%3c Task to do [copydist]: %0a%3c %0a%3c --------------------------------------%0a%3c processing /sys/lib/sysconfig/proto/allproto%0a%3c file system made%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partit%0a%3c ion)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c mountdist- locate and mount the distribution%0a%3c copydist- copy the distribution into the file system%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c ndbsetup- setup network configuration%0a%3c tzsetup- choose time zone%0a%3c bootsetup- configure hard disk to boot plan 9%0a%3c %0a%3c Task to do [ndbsetup]: %0a%3c --------------------------------------%0a%3c %0a%3c Setup network configuration %0a%3c %0a%3c sysname [cirno]: mkf.host.bsdforall.org %0a%3c -------------------------------------- %0a%3c %0a%3c Preparing menu... %0a%3c The following tasks are done: %0a%3c configfs - choose the type of file system to install%0a%3c partdisk - edit partition tables (e.g., to create a plan 9 partit%0a%3c ion) %0a%3c prepdisk - subdivide plan9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist - choose the source of the distribution archive%0a%3c confignet - configure the network %0a%3c mountdist - locate and mount the distribution%0a%3c copydist - copy the distribution into the file system%0a%3c ndbsetup- setup network configuration%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c tzsetup- choose time zone%0a%3c bootsetup- configure hard disk to boot plan 9%0a%3c %0a%3c Task to do [tzsetup]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Setup Time Zone%0a%3c %0a%3c Time Zone (Argentina, Asia_Bahrain, Asia_India, Australia_ACT, Australia_Broken-Hill, Australia_LHI, Australia_NSW, Australia_North, Australia_Queensland, Australia_South, Australia_Sturt, Australia_Tasmania, Australia_Victoria, Australia_West, Australia_Yancowinna, Brazil_Acre, Brazil_DeNoronha, Brazil_East, Brazil_West, CET, Canada_Atlantic, Canada_Central, Canada_East-Saskatchewan, Canada_Eastern, Canada_Mountain, Canada_Newfoundland, Canada_Pacific, Canada_Yukon, Chile_Continental, Chile_EasterIsland, Cuba, EET, Egypt, GB-Eire, GMT, HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Libya, Mexico_BajaNorte, Mexico_BajaSur, Mexico_General, NZ, NZ_CHAT, Navajo, PRC, Poland, ROC, ROK, Singapore, Turkey, US_Alaska, US_Arizona, US_Central, US_East-Indiana, US_Eastern, US_Hawaii, US_Michigan, US_Mountain, US_Pacific, US_Yukon, Uruguay, W-SU, WET)[US_Eastern]: %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partition)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c mountdist- locate and mount the distribution%0a%3c copydist- copy the distribution into the file system%0a%3c ndbsetup- setup network configuration%0a%3c tzsetup- choose time zone%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c bootsetup- configure hard disk to boot plan 9%0a%3c %0a%3c Task to do [bootsetup]: %0a%3c %0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Setup Plan 9 FAT boot partition (9fat)%0a%3c %0a%3c Plan 9 FAT partition (/dev/sdF0/9fat)[/dev/sdF0/9fat]: %0a%3c dossrv: serving #s/dos%0a%3c %25 dd -bs 512 -count 1 -if /dev/sdF0/9fat -of /tmp/pbs.bak%0a%3c 1+0 records in%0a%3c 1+0 records out%0a%3c Initializing Plan 9 FAT partition.%0a%3c %25 disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 /dev/sdF0/9fat%0a%3c Initializing FAT file system%0a%3c type hard, 12 tracks, 255 heads, 63 sectors/track, 512 bytes/sec%0a%3c used 4096 bytes%0a%3c %25 mount -c /srv/dos /n/9fat /dev/sdF0/9fat%0a%3c %25 rm -f /n/9fat/9bootfat /n/9fat/plan9.ini /n/9fat/9pc%0a%3c %25 cp /n/newfs/386/9bootfat /n/9fat/9bootfat%0a%3c %25 chmod +al /n/9fat/9bootfat%0a%3c %25 cp /tmp/plan9.ini /n/9fat/plan9.ini%0a%3c %25 cp /n/newfs/386/9pc /n/9fat/%0a%3c %25 mkdir -p /n/9fat/efi/boot%0a%3c %25 cp /386/bootia32.efi /386/bootx64.efi /n/9fat/efi/boot%0a%3c %25 cp /tmp/pbs.bak /n/9fat%0a%3c %25 unmount /n/9fat%0a%3c %0a%3c If you use the Windows NT/2000/XP master boot record%0a%3c or a master boot record from a Unix clone (e.g., LILO or%0a%3c FreeBSD bootmgr), it is probably safe to continue using%0a%3c that boot record rather than install the Plan 9 boot record.%0a%3c %0a%3c Install the Plan 9 master boot record (yes, no)[no default]: yes%0a%3c Mark the Plan 9 partition active (yes, no)[no default]: yes%0a%3c %0a%3c The Plan 9 partition is now marked as active.%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following tasks are done: %0a%3c configfs- choose the type of file system to install%0a%3c partdisk- edit partition tables (e.g., to create a plan 9 partit%0a%3c ion)%0a%3c prepdisk- subdivide plan 9 disk partition%0a%3c mountfs- choose and mount file system partition%0a%3c configdist- choose the source of the distribution archive%0a%3c confignet- configure the network%0a%3c mountdist- locate and mount the distribution%0a%3c copydist- copy the distribution into the file system%0a%3c ndbsetup- setup network configuration%0a%3c tzsetup- choose time zone%0a%3c bootsetup- configure hard disk to boot plan 9%0a%3c %0a%3c The following unfinished tasks are ready to be done:%0a%3c finish- finish the installation and reboot%0a%3c %0a%3c Task to do [finish]: %0a%3c %0a%3c --------------------------------------%0a%3c Congratulations; you've completed the install.%0a%3c %0a%3c %0a%3c halting.../srv/hjfs.newfs.cmd...hjfs: ending%0a%3c %0a%3c done halting%0a%3c rebooting...%0a%3c cpu0: exiting%0a%3c Takes a licking and keeps on ticking...%0a%3c can't reset%0a%3c %0a%3c host$ doas vmctl stop mkf%0a%3c stopping vm mkf: requested to shutdown vm 1%0a%3c host$ doas vmctl start -c mkf%0a +host:1631953389=38.87.162.8 +author:1631951679=jrmu +diff:1631951679:1631951679:=1,61d0%0a%3c %0a%3c %25 Total %25 Received %25 Xferd Average Speed Time Time Time Current%0a%3c Dload Upload Total Spent Left Speed%0a%3c 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 1680 100 1680 0 0 7850 0 --:--:-- --:--:-- --:--:-- 7887%0a%3c host# vmctl start -c jrmu%0a%3c Connected to /dev/ttypr (speed 115200)%0a%3c Boot failed: not a bootable disk%0a%3c %0a%3c *e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000a0000 2 0x00000000000f0000 0x0000000000100000 1 0x0000000000100000 0x000000003fffc000 2 0x000000003fffc000 0x0000000040000000 2 0x00000000fffc0000 0x0000000100000000%0a%3c cdboot=yes%0a%3c mouseport=ask%0a%3c monitor=ask%0a%3c vgasize=ask%0a%3c bootfile=/386/9pc%0a%3c >console=0%0a%3c ccoonnssoollee==00%0a%3c %0a%3c >>bboooott%0a%3c %0a%3c bboooott%0a%3c %0a%3c %0a%3c Plan 9%0a%3c 126 holes free%0a%3c 0x0001a000 0x0009f000 544768%0a%3c 0x0060a000 0x0ffff000 262098944%0a%3c 262643712 bytes free%0a%3c cpu0: 4612MHz GenuineIntel Xeon5000-series (AX 000206D7 CX 96982203 DX 079BA97F)%0a%3c ELCR: 02E8%0a%3c #l0: virtio: 1000Mbps port 0x2000 irq 5 ea de4baa668f07%0a%3c i8042: kbd init failed%0a%3c 1024M memory: 256M kernel data, 767M user, 1392M swap%0a%3c nusb/usbd: no hubs%0a%3c %0a%3c /dev/sd00: OpenBSD VMM CD-ROM 001%0a%3c /dev/sd00/data 9660%0a%3c /dev/sdF0:%0a%3c /dev/sdF0/data%0a%3c bootargs is (tcp, tls, il, local!device)[local!/dev/sd00/data]%0a%3c user[glenda]:%0a%3c %0a%3c init: starting /bin/rc%0a%3c cirno Sep 18 09:50:19 starting dns resolver on /net%0a%3c vgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] text%0a%3c bind: #i: no frame buffer%0a%3c rio: can't open display: initdisplay: /dev/draw/new: '/dev/draw' file does not exist%0a%3c init: rc exit status: rc 217: rio 345: display open%0a%3c %0a%3c init: starting /bin/rc%0a%3c term%25 inst/starteady to install%0a%3c Sat Sep 18 07:50:41 CET 2021 Installation process started%0a%3c %0a%3c --------------------------------------%0a%3c %0a%3c Preparing menu...%0a%3c The following unfinished tasks are ready to be done:%0a%3c configfs - choose the type of file system to install%0a%3c confignet - configure the network%0a%3c tzsetup - choose time zone%0a%3c %0a%3c Task to do [configfs]:%0a +host:1631951679=38.87.162.8 blob - /dev/null blob + f33f1dce1f22f01f3ddf3b923000a0032c193471 (mode 644) --- /dev/null +++ wiki.d/Vmm.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +charset=UTF-8 +ctime=1617866331 +host=185.104.127.122 +name=Vmm.RecentChanges +rev=202 +text=* [[Vmm/DebianInstall]] . . . November 24, 2021, at 11:44 AM by [[~nicoz]]: [==]%0a* [[Vmm/AlmaLinux]] . . . November 20, 2021, at 06:47 AM by [[~dodocrypto]]: [==]%0a* [[Vmm/DebianIso]] . . . November 19, 2021, at 09:35 PM by [[~nicoz]]: [==]%0a* [[Vmm/RockyLinux]] . . . November 11, 2021, at 10:51 AM by [[~dodocrypto]]: [==]%0a* [[Vmm/Configure]] . . . November 05, 2021, at 09:44 PM by [[~mkf]]: [=so we look cool now.=]%0a* [[Vmm/Plan9]] . . . November 05, 2021, at 09:31 PM by [[~mkf]]: [=???=]%0a* [[Vmm/Vmm]] . . . November 05, 2021, at 09:26 PM by [[~mkf]]: [=more placebo's=]%0a* [[Vmm/Homerouter]] . . . October 26, 2021, at 05:08 PM 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* [[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* [[Vmm/Router]] . . . September 14, 2021, at 12:11 PM by [[~jrmu]]: [==]%0a* [[Vmm/Haiku]] . . . August 27, 2021, at 12:53 PM by [[~mkf]]: [==]%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* [[Vmm/UbuntuIso]] . . . August 22, 2021, at 06:40 AM by [[~jrmu]]: [==]%0a* [[Vmm/DevuanIso]] . . . August 22, 2021, at 05:44 AM by [[~jrmu]]: [==]%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* [[Vmm/9front]] . . . August 09, 2021, at 06:16 AM by [[~mkf]]: [==]%0a* [[Vmm/Install]] . . . July 29, 2021, at 05:25 AM by [[~jrmu]]: [==]%0a* [[Vmm/Debian]] . . . June 04, 2021, at 07:48 PM by [[~mkf]]: [="LOL"=]%0a* [[Vmm/Optimize]] . . . May 19, 2021, at 04:04 AM by [[~jrmu]]: [==]%0a +time=1637754286 blob - /dev/null blob + f26d9f66c61b58a085c0032e45c625d6dd8b2acc (mode 644) --- /dev/null +++ wiki.d/Vmm.RockyLinux @@ -0,0 +1,167 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1634472887 +host=180.241.135.150 +name=Vmm.RockyLinux +rev=51 +targets=File.Ext +text= Attach: Attach:file.ext Attach: Attach:file.ext Attach: Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide, we will download the Rocky Linux ISO, modify the boot line to boot from a serial console and use the text-based installer, and then install Rocky Linux.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso%0a$ ftp https://download.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM%0a@]%0a%0a[@%0a$ sha256 Rocky-8.4-x86_64-minimal.iso%0aSHA256 (Rocky-8.4-x86_64-minimal.iso) = 0de5f12eba93e00fefc06cdb0aa4389a0972a4212977362ea18bde46a1a1aa4f%0a$ grep Rocky-8.4-x86_64-minimal.iso CHECKSUM%0aSHA256 (Rocky-8.4-x86_64-minimal.iso) = 0de5f12eba93e00fefc06cdb0aa4389a0972a4212977362ea18bde46a1a1aa4f%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation!%0a%0a!! Booting the ISO%0a%0a%0aWhen presented with the boot menu, press the up arrow key to highlight the first entry, "Install Rocky Linux 8"%0a%0aNext, hit the TAB key to enable editing of the boot line. After the word "quiet" on the boot line, insert this text:%0a%0a[@%0ainst.text console=ttyS0,115200%0aremove quiet and add in console=ttyS0,115200 after quiet it should boot up%0a@]%0a%0aThe full boot line should read:%0a%0a[@%0avmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd inst.text console=ttyS0,115200%0a@]%0a%0aIf desired, feel free to remove the word "quiet" from the boot line to see verbose bootup messages.%0a%0aAfter editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a%0aINSTALLING INSTRUCTION:%0a----%0apress up Arrow until you saw cursor blinking at install #than press tab %0a----%0a%0a Attach:Vmm/rockylinux-setup1.png %0a%0a----%0apress enter and boot it up.%0a----%0a%0a Attach:Vmm/rockylinux-setup2.png %0a%0a----%0await till the installation booting and than follow. %0a----%0a%0a Attach:Vmm/rockylinux-setup3.png %0a%0a----%0afirst press 1 for language setting if it is not right. example press 1 : than choose your language than press c.%0a----%0a%0a Attach:Vmm/rockylinux-setup4.png %0a%0a----%0asecond edit timezone and setup ntp%0a----%0a%0a Attach:Vmm/rockylinux-setup5.png %0a%0a----%0aenter ip and continue%0a----%0a%0a Attach:Vmm/rockylinux-setup6.png %0a%0a----%0alets seup network now.%0a setup your own hostname example0dev or what ever it is, don't worry we can change it out later%0a press 2 to configure device next%0a%0a NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a --> IPv4: 38.87.162.188%0a --> IPv6: 2602:fccf:1:1188::/64%0a --> Prefix Length: 48%0a --> IPv4 Default Gateway: 38.87.162.1%0a --> IPv6 Default Gateway: 2602:fccf:1::1%0a --> IPV4 NETMASK 38.87.162.1/24 OR 255.255.255.0%0a----%0a%0a----%0alets setup one by one , choose 1 for ipv4%0apress 1 and enter ip address%0anext press 2 for ipv4 netmask%0a----%0a Attach:Vmm/rockylinux-setup7.png %0a%0a----%0afinal configuration will look like this.%0a----%0a Attach:Vmm/rockylinux-setup15.png %0a%0a----%0apress 8 once everything is done. to apply to installaton. than press c to continue and press c again to back to main installation.%0aTHE FINAL CONFIGURATION OF NETWORK PART.%0a----%0a%0a Attach:Vmm/rockylinux-setup15.png %0a%0a----%0alet's configure user next . press 9 than press 1 .%0afinal configuration for user will look like this. %0a----%0a%0a Attach:Vmm/rockylinux-setup11.png %0a%0a----%0anext lets configure installation destination , press 5. %0a----%0a%0a Attach:Vmm/rockylinux-setup12.png %0a%0a----%0achoose use all space and lvm press c to continue.%0a----%0a%0a Attach:Vmm/rockylinux-setup13.png %0a%0a----%0alast set root password in case you don't want wheel user or locked or forgot username password , %0awe have root user and you can login to root , we can disable root later , remembered ? %0awhen we setup user we choose administrator whch can gain root access through sudo su command .%0a----%0a%0a----%0afinal configuration will look like this : ALL [X] MARKED.%0a----%0a Attach:Vmm/rockylinux-setup14.png %0a%0a----%0aNEXT PRESS b than enter TO BEGIN INSTALLATION.%0a----%0a %0a%0a%0a%0a%0a%0a%0a Attach: Attach:file.ext Attach: Attach:file.ext Attach:[[file.ext]][[ Attach:http:// | link text Attach: Attach:file.ext]] +time=1636627877 +title=Booting and Installing Rocky Linux +author:1636627877=dodocrypto +diff:1636627877:1636627788:=1,2c1,2%0a%3c Attach: Attach:file.ext Attach: Attach:file.ext Attach: Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a48,49c48,49%0a%3c Attach:Vmm/rockylinux-setup1.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup1.png %0a> %0a54,55c54,55%0a%3c Attach:Vmm/rockylinux-setup2.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup2.png %0a> %0a60,61c60,61%0a%3c Attach:Vmm/rockylinux-setup3.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup3.png %0a> %0a66,67c66,67%0a%3c Attach:Vmm/rockylinux-setup4.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup4.png %0a> %0a72,73c72,73%0a%3c Attach:Vmm/rockylinux-setup5.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup5.png %0a> %0a78,79c78,79%0a%3c Attach:Vmm/rockylinux-setup6.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup6.png %0a> %0a99,100c99,100%0a%3c Attach:Vmm/rockylinux-setup7.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup7.png %0a> %0a104,105c104,105%0a%3c Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a111,112c111,112%0a%3c Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a118,119c118,119%0a%3c Attach:Vmm/rockylinux-setup11.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup11.png %0a> %0a124,125c124,125%0a%3c Attach:Vmm/rockylinux-setup12.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup12.png %0a> %0a130,131c130,131%0a%3c Attach:Vmm/rockylinux-setup13.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup13.png %0a> %0a141,142c141,142%0a%3c Attach:Vmm/rockylinux-setup14.png %0a%3c %0a---%0a> %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup14.png %0a> %0a153c153%0a%3c Attach: Attach:file.ext Attach: Attach:file.ext Attach:[[file.ext]][[ Attach:http:// | link text Attach: Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> %25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:[[file.ext]][[%25width=1000px height=800%25 Attach:http:// | link text%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627877=180.241.135.150 +author:1636627788=dodocrypto +diff:1636627788:1636627712:=1,2c1,2%0a%3c %25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a48,49c48,49%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup1.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a> %0a54,55c54,55%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup2.png %0a%3c %0a---%0a> %25width=1000px height=400%25 %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a> %0a60,61c60,61%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup3.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a> %0a66,67c66,67%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup4.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a> %0a72,73c72,73%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup5.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a> %0a78,79c78,79%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup6.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a> %0a99,100c99,100%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup7.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a> %0a104,105c104,105%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a111,112c111,112%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a118,119c118,119%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup11.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a> %0a124,125c124,125%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup12.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a> %0a130,131c130,131%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup13.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a> %0a141,142c141,142%0a%3c %25width=1000px height=800%25 Attach:Vmm/rockylinux-setup14.png %0a%3c %0a---%0a> %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a> %0a153c153%0a%3c %25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext%25width=1000px height=800%25 Attach:[[file.ext]][[%25width=1000px height=800%25 Attach:http:// | link text%25width=1000px height=800%25 Attach:%25width=1000px height=800%25 Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> %25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:[[file.ext]][[%25width=1000px height=400%25 Attach:http:// | link text%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627788=180.241.135.150 +author:1636627712=dodocrypto +diff:1636627712:1636627663:=1,2c1,2%0a%3c %25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> %25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a48,49c48,49%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a> %0a54,55c54,55%0a%3c %25width=1000px height=400%25 %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a%3c %0a---%0a> %25width=700px height=400%25 %25width=700px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a> %0a60,61c60,61%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a> %0a66,67c66,67%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a> %0a72,73c72,73%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a> %0a78,79c78,79%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a> %0a99,100c99,100%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a> %0a104,105c104,105%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a111,112c111,112%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a118,119c118,119%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a> %0a124,125c124,125%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a> %0a130,131c130,131%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a> %0a141,142c141,142%0a%3c %25width=1000px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a%3c %0a---%0a> %25width=700px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a> %0a153c153%0a%3c %25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext%25width=1000px height=400%25 Attach:[[file.ext]][[%25width=1000px height=400%25 Attach:http:// | link text%25width=1000px height=400%25 Attach:%25width=1000px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> %25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:[[file.ext]][[%25width=700px height=400%25 Attach:http:// | link text%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627712=180.241.135.150 +author:1636627663=dodocrypto +diff:1636627663:1636627576:=1,2c1,2%0a%3c %25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> %25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a48,49c48,49%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a> %0a54,55c54,55%0a%3c %25width=700px height=400%25 %25width=700px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a%3c %0a---%0a> %25width=500px height=400%25 %25width=500px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a> %0a60,61c60,61%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a> %0a66,67c66,67%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a> %0a72,73c72,73%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a> %0a78,79c78,79%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a> %0a99,100c99,100%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a> %0a104,105c104,105%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a111,112c111,112%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a118,119c118,119%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a> %0a124,125c124,125%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a> %0a130,131c130,131%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a> %0a141,142c141,142%0a%3c %25width=700px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a%3c %0a---%0a> %25width=500px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a> %0a153c153%0a%3c %25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext%25width=700px height=400%25 Attach:[[file.ext]][[%25width=700px height=400%25 Attach:http:// | link text%25width=700px height=400%25 Attach:%25width=700px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> %25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:[[file.ext]][[%25width=500px height=400%25 Attach:http:// | link text%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627663=180.241.135.150 +author:1636627576=dodocrypto +diff:1636627576:1636627458:=1,2c1,2%0a%3c %25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> %25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a48,49c48,49%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup1.png %0a%3c %0a---%0a> %25width=500px Attach:Vmm/rockylinux-setup1.png %0a> %0a54,55c54,55%0a%3c %25width=500px height=400%25 %25width=500px height=400%25 Attach:Vmm/rockylinux-setup2.png %0a%3c %0a---%0a> %25width=500px%25 %25width=500px%25 Attach:Vmm/rockylinux-setup2.png %0a> %0a60,61c60,61%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup3.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup3.png %0a> %0a66,67c66,67%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup4.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup4.png %0a> %0a72,73c72,73%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup5.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup5.png %0a> %0a78,79c78,79%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup6.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup6.png %0a> %0a99,100c99,100%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup7.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup7.png %0a> %0a104,105c104,105%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a111,112c111,112%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup15.png %0a> %0a118,119c118,119%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup11.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup11.png %0a> %0a124,125c124,125%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup12.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup12.png %0a> %0a130,131c130,131%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup13.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup13.png %0a> %0a141,142c141,142%0a%3c %25width=500px height=400%25 Attach:Vmm/rockylinux-setup14.png %0a%3c %0a---%0a> %25width=500px%25 Attach:Vmm/rockylinux-setup14.png %0a> %0a153c153%0a%3c %25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext%25width=500px height=400%25 Attach:[[file.ext]][[%25width=500px height=400%25 Attach:http:// | link text%25width=500px height=400%25 Attach:%25width=500px height=400%25 Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> %25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:[[file.ext]][[%25width=500px%25 Attach:http:// | link text%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627576=180.241.135.150 +author:1636627458=dodocrypto +diff:1636627458:1636626796:=1,2c1,2%0a%3c %25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> Attach:Attach:file.extAttach:Attach:file.extAttach:Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a> %0a49a50,51%0a> %0a> %0a50a53,55%0a> %0a> %0a> %25width=500px Attach:Vmm/rockylinux-setup2.png %0a52,56c57%0a%3c ----%0a%3c %0a%3c %25width=500px%25 %25width=500px%25 Attach:Vmm/rockylinux-setup2.png %0a%3c %0a%3c ----%0a---%0a> # Attach:Vmm/rockylinux-setup3.png %0a58,68c59,60%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup3.png %0a%3c %0a%3c ----%0a%3c first press 1 for language setting if it is not right. example press 1 : than choose your language than press c.%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup4.png %0a%3c %0a%3c ----%0a---%0a> # first press 1 for language setting if it is not right. example press 1 : than choose your language than press c.%0a> # Attach:Vmm/rockylinux-setup4.png %0a70,74c62%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup5.png %0a%3c %0a%3c ----%0a---%0a> # Attach:Vmm/rockylinux-setup5.png %0a76,80c64%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup6.png %0a%3c %0a%3c ----%0a---%0a> # Attach:Vmm/rockylinux-setup6.png %0a85c69%0a%3c NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a---%0a> # NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a92,145c76,94%0a%3c ----%0a%3c %0a%3c ----%0a%3c lets setup one by one , choose 1 for ipv4%0a%3c press 1 and enter ip address%0a%3c next press 2 for ipv4 netmask%0a%3c ----%0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup7.png %0a%3c %0a%3c ----%0a%3c final configuration will look like this.%0a%3c ----%0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a%3c ----%0a%3c press 8 once everything is done. to apply to installaton. than press c to continue and press c again to back to main installation.%0a%3c THE FINAL CONFIGURATION OF NETWORK PART.%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup15.png %0a%3c %0a%3c ----%0a%3c let's configure user next . press 9 than press 1 .%0a%3c final configuration for user will look like this. %0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup11.png %0a%3c %0a%3c ----%0a%3c next lets configure installation destination , press 5. %0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup12.png %0a%3c %0a%3c ----%0a%3c choose use all space and lvm press c to continue.%0a%3c ----%0a%3c %0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup13.png %0a%3c %0a%3c ----%0a%3c last set root password in case you don't want wheel user or locked or forgot username password , %0a%3c we have root user and you can login to root , we can disable root later , remembered ? %0a%3c when we setup user we choose administrator whch can gain root access through sudo su command .%0a%3c ----%0a%3c %0a%3c ----%0a%3c final configuration will look like this : ALL [X] MARKED.%0a%3c ----%0a%3c %25width=500px%25 Attach:Vmm/rockylinux-setup14.png %0a%3c %0a%3c ----%0a%3c NEXT PRESS b than enter TO BEGIN INSTALLATION.%0a%3c ----%0a---%0a> %0a> # Attach:Vmm/rockylinux-setup7.png %0a> lets setup one by one , choose 1 for ipv4%0a> # press 1 and enter ip address%0a> # next press 2 for ipv4 netmask%0a> # Attach:Vmm/rockylinux-setup15.png %0a> final configuration will look like this.%0a> # press 8 once everything is done. to apply to installaton. than press c to continue and press c again to back to main installation.%0a> # Attach:Vmm/rockylinux-setup15.png THE FINAL CONFIGURATION OF NETWORK PART.%0a> # let's configure user next . press 9 than press 1 .%0a> # final configuration for user will look like this : Attach:Vmm/rockylinux-setup11.png %0a> # next lets configure installation destination , press 5. Attach:Vmm/rockylinux-setup12.png %0a> # choose use all space and lvm Attach:Vmm/rockylinux-setup13.png press c to continue.%0a> # last set root password in case you don't want wheel user or locked or forgot username password , %0a> we have root user and you can login to root , we can disable root later , remembered ? %0a> when we setup user we choose administrator whch can gain root access through sudo su command .%0a> # final configuration will look like this : Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a> # NEXT PRESS b than enter TO BEGIN INSTALLATION.%0a> %0a153c102%0a%3c %25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext%25width=500px%25 Attach:[[file.ext]][[%25width=500px%25 Attach:http:// | link text%25width=500px%25 Attach:%25width=500px%25 Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> Attach:Attach:file.extAttach:Attach:file.extAttach:[[file.ext]][[Attach:http:// | link textAttach:Attach:file.ext]]%0a\ No newline at end of file%0a +host:1636627458=180.241.135.150 +author:1636626796=dodocrypto +diff:1636626796:1636626599:=43a44,47%0a> %0a> # Attach:Vmm/rockylinux-setup1.png %0a> %0a> %0a48,55c52,53%0a%3c %25width=500px Attach:Vmm/rockylinux-setup1.png %0a%3c %0a%3c %0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c %25width=500px Attach:Vmm/rockylinux-setup2.png %0a---%0a> %0a> # Attach:Vmm/rockylinux-setup2.png %0a +host:1636626796=180.241.135.150 +author:1636626599=dodocrypto +diff:1636626599:1636625694:=46,48d45%0a%3c %0a%3c %0a%3c ----%0a50,52d46%0a%3c ----%0a%3c %0a%3c %0a +host:1636626599=180.241.135.150 +author:1636625694=dodocrypto +diff:1636625694:1636625622:=73c73%0a%3c # Attach:Vmm/rockylinux-setup15.png %0a---%0a> # Attach:Vmm/rockylinux-setup8.png %0a +host:1636625694=180.241.135.150 +author:1636625622=dodocrypto +diff:1636625622:1636603140:=76c76%0a%3c # Attach:Vmm/rockylinux-setup15.png THE FINAL CONFIGURATION OF NETWORK PART.%0a---%0a> # Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a +host:1636625622=180.241.135.150 +author:1636603140=dodocrypto +diff:1636603140:1636603063:=45c45%0a%3c # Attach:Vmm/rockylinux-setup1.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup1.png %0a47c47%0a%3c # Attach:Vmm/rockylinux-setup2.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup2.png %0a49c49%0a%3c # Attach:Vmm/rockylinux-setup3.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup3.png %0a52c52%0a%3c # Attach:Vmm/rockylinux-setup4.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup4.png %0a54c54%0a%3c # Attach:Vmm/rockylinux-setup5.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup5.png %0a56c56%0a%3c # Attach:Vmm/rockylinux-setup6.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup6.png %0a69c69%0a%3c # Attach:Vmm/rockylinux-setup7.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup7.png %0a73c73%0a%3c # Attach:Vmm/rockylinux-setup8.png %0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup8.png %0a76c76%0a%3c # Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a---%0a> # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a78,80c78,80%0a%3c # final configuration for user will look like this : Attach:Vmm/rockylinux-setup11.png %0a%3c # next lets configure installation destination , press 5. Attach:Vmm/rockylinux-setup12.png %0a%3c # choose use all space and lvm Attach:Vmm/rockylinux-setup13.png press c to continue.%0a---%0a> # final configuration for user will look like this : %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup11.png %0a> # next lets configure installation destination , press 5. %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup12.png %0a> # choose use all space and lvm %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup13.png press c to continue.%0a84c84%0a%3c # final configuration will look like this : Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a---%0a> # final configuration will look like this : %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a +host:1636603140=125.165.111.73 +author:1636603063=dodocrypto +diff:1636603063:1636602917:=45c45%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup1.png %0a---%0a> # Attach:Vmm/rockylinux-setup1.png %0a47c47%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup2.png %0a---%0a> # Attach:Vmm/rockylinux-setup2.png %0a49c49%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup3.png %0a---%0a> # Attach:Vmm/rockylinux-setup3.png %0a52c52%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup4.png %0a---%0a> # Attach:Vmm/rockylinux-setup4.png %0a54c54%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup5.png %0a---%0a> # Attach:Vmm/rockylinux-setup5.png %0a56c56%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup6.png %0a---%0a> # Attach:Vmm/rockylinux-setup6.png %0a69c69%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup7.png %0a---%0a> # Attach:Vmm/rockylinux-setup7.png %0a73c73%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup8.png %0a---%0a> # Attach:Vmm/rockylinux-setup8.png %0a76c76%0a%3c # %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a---%0a> # Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a78,80c78,80%0a%3c # final configuration for user will look like this : %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup11.png %0a%3c # next lets configure installation destination , press 5. %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup12.png %0a%3c # choose use all space and lvm %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup13.png press c to continue.%0a---%0a> # final configuration for user will look like this : Attach:Vmm/rockylinux-setup11.png %0a> # next lets configure installation destination , press 5. Attach:Vmm/rockylinux-setup12.png %0a> # choose use all space and lvm Attach:Vmm/rockylinux-setup13.png press c to continue.%0a84c84%0a%3c # final configuration will look like this : %25width=400px rfloat%25 Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a---%0a> # final configuration will look like this : Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a +host:1636603063=125.165.111.73 +author:1636602917=dodocrypto +diff:1636602917:1636602233:= +host:1636602917=125.165.111.73 +author:1636602233=dodocrypto +diff:1636602233:1636600549:=49,60c49,55%0a%3c # Attach:Vmm/rockylinux-setup3.png %0a%3c wait till the installation booting and than follow. %0a%3c # first press 1 for language setting if it is not right. example press 1 : than choose your language than press c.%0a%3c # Attach:Vmm/rockylinux-setup4.png %0a%3c second edit timezone and setup ntp%0a%3c # Attach:Vmm/rockylinux-setup5.png %0a%3c enter ip and continue%0a%3c # Attach:Vmm/rockylinux-setup6.png %0a%3c lets seup network now.%0a%3c setup your own hostname example0dev or what ever it is, don't worry we can change it out later%0a%3c press 2 to configure device next%0a%3c %0a---%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png ]] %3c---- wait till the installation booting and than follow. %0a> # FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose your language than press c.%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup4.png ]] SECOND EDIT TIMEZONE AND SETUP NTP%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup5.png ]] ENTER IP AND CONTINUE%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup6.png ]] LETS SETUP NETWORK NOW.%0a> SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a> PRESS 2 TO CONFIGURE DEVICE NEXT.%0a69,84c64,77%0a%3c # Attach:Vmm/rockylinux-setup7.png %0a%3c lets setup one by one , choose 1 for ipv4%0a%3c # press 1 and enter ip address%0a%3c # next press 2 for ipv4 netmask%0a%3c # Attach:Vmm/rockylinux-setup8.png %0a%3c final configuration will look like this.%0a%3c # press 8 once everything is done. to apply to installaton. than press c to continue and press c again to back to main installation.%0a%3c # Attach:Vmm/rockylinux-setup9.png THE FINAL CONFIGURATION OF NETWORK PART.%0a%3c # let's configure user next . press 9 than press 1 .%0a%3c # final configuration for user will look like this : Attach:Vmm/rockylinux-setup11.png %0a%3c # next lets configure installation destination , press 5. Attach:Vmm/rockylinux-setup12.png %0a%3c # choose use all space and lvm Attach:Vmm/rockylinux-setup13.png press c to continue.%0a%3c # last set root password in case you don't want wheel user or locked or forgot username password , %0a%3c we have root user and you can login to root , we can disable root later , remembered ? %0a%3c when we setup user we choose administrator whch can gain root access through sudo su command .%0a%3c # final configuration will look like this : Attach:Vmm/rockylinux-setup14.png ALL [X] MARKED.%0a---%0a> # [[https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup7.png]] LETS SETUP ONE BY ONE , CHOOSE 1 FOR IPV4%0a> # PRESS 1 AND ENTER IP ADDRESS.%0a> # NEXT PRESS 2 FOR IPV4 NETMASK%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup8.png ]] THE CONFIGURATION WILL LOOK LIKE THIS.%0a> # PRESS 8 ONCE EVERYTHING IS DONE. TO APPLY TO INSTALLATION. THAN PRESS C TO CONTINUE AND PRESS C AGAIN TO BACK TO MAIN INSTALLATION.%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup9.png ]] THE FINAL CONFIGURATION OF NETWORK PART.%0a> # LET'S CONFIGURE USER NEXT . PRESS 9. THAN PRESS 1 .%0a> # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup11.png ]] %0a> # NEXT LETS CONFIGURE INSTALLATION DESTINATION , PRESS 5. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup12.png ]]%0a> # CHOOSE USE ALL SPACE AND LVM [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup13.png ]] PRESS C TO CONTINUE.%0a> # LAST SET ROOT PASSWORD IN CASE YOU DON'T WANT WHEEL USER OR LOCKED OR FORGOT USERNAME PASSWORD , WE HAVE ROOT USER%0a> AND YOU CAN LOGIN TO ROOT , WE CAN DISABLE ROOT LATER , REMEMBER WHEN WE SETUP USER WE CHOOSE ADMINISTRATOR WHICH %0a> BE ROOT USID SUDO.%0a> # FINAL CONFIGURATION WILL LOOK LIKE THIS [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup14.png ]] ALL [X] MARKED.%0a88d80%0a%3c %0a +host:1636602233=125.165.111.73 +author:1636600549=dodocrypto +diff:1636600549:1636600435:=45,48c45,46%0a%3c # Attach:Vmm/rockylinux-setup1.png %0a%3c press up Arrow until you saw cursor blinking at install #than press tab %0a%3c # Attach:Vmm/rockylinux-setup2.png %0a%3c press enter and boot it up.%0a---%0a> # Attach:Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png ]] %3c%3c --- press enter and boot it up.%0a +host:1636600549=125.165.111.73 +author:1636600435=dodocrypto +diff:1636600435:1636600227:=45c45%0a%3c # Attach:Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a---%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a +host:1636600435=125.165.111.73 +author:1636600227=dodocrypto +diff:1636600227:1636600194:=44c44%0a%3c %0a---%0a> Attach:https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png%0a +host:1636600227=125.165.111.73 +author:1636600194=dodocrypto +diff:1636600194:1636599681:=44d43%0a%3c Attach:https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png%0a +host:1636600194=125.165.111.73 +author:1636599681=dodocrypto +diff:1636599681:1636599394:=71,75c71%0a%3c # LAST SET ROOT PASSWORD IN CASE YOU DON'T WANT WHEEL USER OR LOCKED OR FORGOT USERNAME PASSWORD , WE HAVE ROOT USER%0a%3c AND YOU CAN LOGIN TO ROOT , WE CAN DISABLE ROOT LATER , REMEMBER WHEN WE SETUP USER WE CHOOSE ADMINISTRATOR WHICH %0a%3c BE ROOT USID SUDO.%0a%3c # FINAL CONFIGURATION WILL LOOK LIKE THIS [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup14.png ]] ALL [X] MARKED.%0a%3c # NEXT PRESS b than enter TO BEGIN INSTALLATION.%0a---%0a> #%0a +host:1636599681=125.165.111.73 +author:1636599394=dodocrypto +diff:1636599394:1636599345:=70,71c70%0a%3c # CHOOSE USE ALL SPACE AND LVM [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup13.png ]] PRESS C TO CONTINUE.%0a%3c #%0a---%0a> # CHOOSE USE ALL SPACE AND LVM [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup13.png ]]%0a +host:1636599394=125.165.111.73 +author:1636599345=dodocrypto +diff:1636599345:1636599189:=70c70%0a%3c # CHOOSE USE ALL SPACE AND LVM [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup13.png ]]%0a---%0a> %0a +host:1636599345=125.165.111.73 +author:1636599189=dodocrypto +diff:1636599189:1636599030:=68,70c68%0a%3c # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup11.png ]] %0a%3c # NEXT LETS CONFIGURE INSTALLATION DESTINATION , PRESS 5. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup12.png ]]%0a%3c %0a---%0a> # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup11.png ]]%0a +host:1636599189=125.165.111.73 +author:1636599030=dodocrypto +diff:1636599030:1636598838:=68c68%0a%3c # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup11.png ]]%0a---%0a> # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup10.png ]]%0a +host:1636599030=125.165.111.73 +author:1636598838=dodocrypto +diff:1636598838:1636598374:=67,68d66%0a%3c # LET'S CONFIGURE USER NEXT . PRESS 9. THAN PRESS 1 .%0a%3c # FINAL CONFIGURATION FOR USER WILL LOOK LIKE THIS : [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup10.png ]]%0a +host:1636598838=125.165.111.73 +author:1636598374=dodocrypto +diff:1636598374:1636597925:=64,67d63%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup8.png ]] THE CONFIGURATION WILL LOOK LIKE THIS.%0a%3c # PRESS 8 ONCE EVERYTHING IS DONE. TO APPLY TO INSTALLATION. THAN PRESS C TO CONTINUE AND PRESS C AGAIN TO BACK TO MAIN INSTALLATION.%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup9.png ]] THE FINAL CONFIGURATION OF NETWORK PART.%0a%3c %0a +host:1636598374=125.165.111.73 +author:1636597925=dodocrypto +diff:1636597925:1636597295:=59,63d58%0a%3c --> IPV4 NETMASK 38.87.162.1/24 OR 255.255.255.0%0a%3c %0a%3c # [[https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup7.png]] LETS SETUP ONE BY ONE , CHOOSE 1 FOR IPV4%0a%3c # PRESS 1 AND ENTER IP ADDRESS.%0a%3c # NEXT PRESS 2 FOR IPV4 NETMASK%0a +host:1636597925=125.165.111.73 +author:1636597295=dodocrypto +diff:1636597295:1636597215:=54,59c54,59%0a%3c --> IPv4: 38.87.162.188%0a%3c --> IPv6: 2602:fccf:1:1188::/64%0a%3c --> Prefix Length: 48%0a%3c --> IPv4 Default Gateway: 38.87.162.1%0a%3c --> IPv6 Default Gateway: 2602:fccf:1::1%0a%3c %0a---%0a> IPv4: 38.87.162.188%0a> IPv6: 2602:fccf:1:1188::/64%0a> Prefix Length: 48%0a> IPv4 Default Gateway: 38.87.162.1%0a> IPv6 Default Gateway: 2602:fccf:1::1%0a> %0a +host:1636597295=125.165.111.73 +author:1636597215=dodocrypto +diff:1636597215:1636597048:=49a50%0a> %0a51,58c52,58%0a%3c SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a%3c PRESS 2 TO CONFIGURE DEVICE NEXT.%0a%3c # NOTE FOR MYSELF THIS IS THE IP THAT I HAVE .%0a%3c IPv4: 38.87.162.188%0a%3c IPv6: 2602:fccf:1:1188::/64%0a%3c Prefix Length: 48%0a%3c IPv4 Default Gateway: 38.87.162.1%0a%3c IPv6 Default Gateway: 2602:fccf:1::1%0a---%0a> [@%0a> SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a> PRESS 2 TO CONFIGURE DEVICE NEXT.%0a> %0a> @]%0a> %0a> #%0a +host:1636597215=125.165.111.73 +author:1636597048=dodocrypto +diff:1636597048:1636596999:=53,55c53,55%0a%3c SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a%3c PRESS 2 TO CONFIGURE DEVICE NEXT.%0a%3c %0a---%0a> # SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a> # PRESS 2 TO CONFIGURE DEVICE NEXT.%0a> # %0a58c58%0a%3c #%0a---%0a> %0a +host:1636597048=125.165.111.73 +author:1636596999=dodocrypto +diff:1636596999:1636596572:=50,57d49%0a%3c %0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup6.png ]] LETS SETUP NETWORK NOW.%0a%3c [@%0a%3c # SETUP YOUR OWN HOSTNAME EXAMPLE 0DEV OR WHAT EVER IT IS , DON'T WORRY WE CAN CHANGE IT OUT LATER%0a%3c # PRESS 2 TO CONFIGURE DEVICE NEXT.%0a%3c # %0a%3c @]%0a%3c %0a +host:1636596999=125.165.111.73 +author:1636596572=dodocrypto +diff:1636596572:1636596450:=49d48%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup5.png ]] ENTER IP AND CONTINUE%0a +host:1636596572=125.165.111.73 +author:1636596450=dodocrypto +diff:1636596450:1636596096:=48c48%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup4.png ]] SECOND EDIT TIMEZONE AND SETUP NTP%0a---%0a> #%0a +host:1636596450=125.165.111.73 +author:1636596096=dodocrypto +diff:1636596096:1636595766:=44,46c44,46%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png ]] %3c%3c --- press enter and boot it up.%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png ]] %3c---- wait till the installation booting and than follow. %0a---%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a> # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a +host:1636596096=125.165.111.73 +author:1636595766=dodocrypto +diff:1636595766:1636595695:=43,48c43,48%0a%3c INSTALLING INSTRUCTION:%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a%3c # [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a%3c # FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose your language than press c.%0a%3c #%0a---%0a> #INSTALLING INSTRUCTION:%0a> #1. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a> #2. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a> #3. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a> #4. FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose %0a> #5.%0a +host:1636595766=125.165.111.73 +author:1636595695=dodocrypto +diff:1636595695:1636595624:=43,53c43,50%0a%3c #INSTALLING INSTRUCTION:%0a%3c #1. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install #than press tab ]]%0a%3c #2. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a%3c #3. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a%3c #4. FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose %0a%3c #5.%0a%3c %0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> INSTALLING INSTRUCTION:%0a> [@%0a> 1. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab ]]%0a> 2. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a> 3. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a> 4. FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose %0a> 5.%0a> @]%0a +host:1636595695=125.165.111.73 +author:1636595624=dodocrypto +diff:1636595624:1636595579:=44c44%0a%3c [@%0a---%0a> %0a50c50%0a%3c @]%0a---%0a> %0a +host:1636595624=125.165.111.73 +author:1636595579=dodocrypto +diff:1636595579:1636595170:=43,51c43,56%0a%3c INSTALLING INSTRUCTION:%0a%3c %0a%3c 1. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab ]]%0a%3c 2. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up. ]]%0a%3c 3. [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow. ]]%0a%3c 4. FIRST PRESS 1 FOR LANGUAGE SETTING IF IT IS NOT RIGHT. example press 1 : than choose %0a%3c 5.%0a%3c %0a%3c %0a---%0a> %0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | press up Arrow until you saw cursor blinking at install than ]]%0a> %0a> %0a> [@%0a> %0a> %0a> https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a> https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up.%0a> @]%0a> %0a> [@%0a> https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow.%0a> @]%0a +host:1636595579=125.165.111.73 +author:1636595170=dodocrypto +diff:1636595170:1636595070:=43c43,44%0a%3c %0a---%0a> [@%0a> %0a45,48d45%0a%3c %0a%3c %0a%3c [@%0a%3c %0a +host:1636595170=125.165.111.73 +author:1636595070=dodocrypto +diff:1636595070:1636594853:=45c45%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | press up Arrow until you saw cursor blinking at install than ]]%0a---%0a> [[https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | %3c%3c --- press up Arrow until you saw cursor blinking at install than ]]%0a +host:1636595070=125.165.111.73 +author:1636594853=dodocrypto +diff:1636594853:1636594654:=44,48c44,45%0a%3c %0a%3c [[https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png | %3c%3c --- press up Arrow until you saw cursor blinking at install than ]]%0a%3c %0a%3c https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a%3c https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png %3c%3c --- press enter and boot it up.%0a---%0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png ]] %3c%3c --- press enter and boot it up.%0a52c49%0a%3c https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png %3c---- wait till the installation booting and than follow.%0a---%0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png ]] %3c---- wait till the installation booting and than follow.%0a +host:1636594853=125.165.111.73 +author:1636594654=dodocrypto +diff:1636594654:1636594570:=44,45c44,45%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1.png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2.png ]] %3c%3c --- press enter and boot it up.%0a---%0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a> [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2png ]] %3c%3c --- press enter and boot it up.%0a49c49%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup3.png ]] %3c---- wait till the installation booting and than follow.%0a---%0a> https://ibb.co/stdpbMQ once your in installer press 1 and continue , just follow the installation%0a +host:1636594654=125.165.111.73 +author:1636594570=dodocrypto +diff:1636594570:1636594569:= +host:1636594570=125.165.111.73 +author:1636594569=dodocrypto +diff:1636594569:1636594257:= +host:1636594569=125.165.111.73 +author:1636594257=dodocrypto +diff:1636594257:1636593363:=44,45c44,45%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup1png ]] %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a%3c [[ https://wiki.ircnow.org/uploads/Vmm/rockylinux-setup2png ]] %3c%3c --- press enter and boot it up.%0a---%0a> https://ibb.co/BrF4BtY %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a> https://ibb.co/44KBSVS %3c%3c --- press enter and boot it up.%0a +host:1636594257=125.165.111.73 +author:1636593363=dodocrypto +diff:1636593363:1636592582:=46,49d45%0a%3c @]%0a%3c %0a%3c [@%0a%3c https://ibb.co/stdpbMQ once your in installer press 1 and continue , just follow the installation%0a +host:1636593363=125.165.111.73 +author:1636592582=dodocrypto +diff:1636592582:1636592544:=43d42%0a%3c [@%0a46c45%0a%3c @]%0a---%0a> %0a +host:1636592582=125.165.111.73 +author:1636592544=dodocrypto +diff:1636592544:1636592067:=1,2c1,2%0a%3c Attach:Attach:file.extAttach:Attach:file.extAttach:Attach:file.ext(:title Booting and Installing Rocky Linux:)%0a%3c %0a---%0a> (:title Booting and Installing Rocky Linux:)%0a> %0a41,47c41%0a%3c After editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a%3c %0a%3c https://ibb.co/BrF4BtY %3c%3c --- press up Arrow until you saw cursor blinking at install than press tab%0a%3c https://ibb.co/44KBSVS %3c%3c --- press enter and boot it up.%0a%3c %0a%3c %0a%3c Attach:Attach:file.extAttach:Attach:file.extAttach:[[file.ext]][[Attach:http:// | link textAttach:Attach:file.ext]]%0a\ No newline at end of file%0a---%0a> After editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a\ No newline at end of file%0a +host:1636592544=125.165.111.73 +author:1636592067=dodocrypto +diff:1636592067:1636591720:=29c29%0a%3c inst.text console=ttyS0,115200%0a---%0a> console=ttyS0,115200%0a36c36%0a%3c vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd inst.text console=ttyS0,115200%0a---%0a> vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd console=ttyS0,115200%0a +host:1636592067=125.165.111.73 +author:1636591720=dodocrypto +diff:1636591720:1634473198:=29,30c29%0a%3c console=ttyS0,115200%0a%3c remove quiet and add in console=ttyS0,115200 after quiet it should boot up%0a---%0a> inst.text console=ttyS0,115200n8%0a36c35%0a%3c vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd console=ttyS0,115200%0a---%0a> vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd quiet inst.text console=ttyS0,115200n8%0a +host:1636591720=125.165.111.73 +author:1634473198=tool +csum:1634473198=added "ftp" command before the URL for the CHECKSUM file download +diff:1634473198:1634472887:minor=9c9%0a%3c $ ftp https://download.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM%0a---%0a> $ https://download.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM%0a +host:1634473198=108.56.144.48 +author:1634472887=tool +diff:1634472887:1634472887:=1,40d0%0a%3c (:title Booting and Installing Rocky Linux:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide, we will download the Rocky Linux ISO, modify the boot line to boot from a serial console and use the text-based installer, and then install Rocky Linux.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso%0a%3c $ https://download.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ sha256 Rocky-8.4-x86_64-minimal.iso%0a%3c SHA256 (Rocky-8.4-x86_64-minimal.iso) = 0de5f12eba93e00fefc06cdb0aa4389a0972a4212977362ea18bde46a1a1aa4f%0a%3c $ grep Rocky-8.4-x86_64-minimal.iso CHECKSUM%0a%3c SHA256 (Rocky-8.4-x86_64-minimal.iso) = 0de5f12eba93e00fefc06cdb0aa4389a0972a4212977362ea18bde46a1a1aa4f%0a%3c @]%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation!%0a%3c %0a%3c !! Booting the ISO%0a%3c %0a%3c %0a%3c When presented with the boot menu, press the up arrow key to highlight the first entry, "Install Rocky Linux 8"%0a%3c %0a%3c Next, hit the TAB key to enable editing of the boot line. After the word "quiet" on the boot line, insert this text:%0a%3c %0a%3c [@%0a%3c inst.text console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c The full boot line should read:%0a%3c %0a%3c [@%0a%3c vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rocky-8-4-x86_x64-dvd quiet inst.text console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c If desired, feel free to remove the word "quiet" from the boot line to see verbose bootup messages.%0a%3c %0a%3c After editing the boot line to include the text-based installer and serial console options, hit the Enter key to boot the Rocky Linux installer. Proceed through the text-based installer, selecting numbers in the menu to configure the different install options. Reboot the VM at the end of the install and use your new Rocky Linux VM.%0a\ No newline at end of file%0a +host:1634472887=108.56.144.48 blob - /dev/null blob + d8f1fba70bf29c8bb2c4ce494818836aa02d0c71 (mode 644) --- /dev/null +++ wiki.d/Vmm.Router @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1629475497 +host=209.141.38.137 +name=Vmm.Router +rev=13 +targets= +text=[@%0aVirtual Machine (38.87.162.8):%0a%0a$ cat /etc/hostname.vio0 %0ainet 38.87.162.8 0xffffff00%0ainet6 2602:fccf:1:1008:: 48%0a%0a$ cat /etc/mygate %0a38.87.162.1%0a2602:fccf:1::1%0a%0aRouter (38.87.162.1):%0a%0a/etc/hostname.em0%0ainet 38.81.163.42 0xfffffff8%0ainet6 2001:550:3402:40::2 64%0a%0a/etc/hostname.em1 %0ainet 38.87.162.1 0xffffff00%0ainet6 2602:fccf:1::1 48%0a%0a/etc/mygate %0a38.81.163.41%0a2001:550:3402:40::1%0a%0a# sysctl net.inet.ip.arpq.maxlen=1024%0a# echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a# sysctl net.inet.ip.forwarding=1%0a# echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a# sysctl net.inet6.ip6.forwarding=1%0a# echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a@]%0a%0a'''WARNING''': em0 and em1 on the router must be on separate subnets. If the subnet mask indicates the two are on the same subnet, the router will not function properly.%0a +time=1631621478 +author:1631621478=jrmu +diff:1631621478:1631621377:=34c34%0a%3c '''WARNING''': em0 and em1 on the router must be on separate subnets. If the subnet mask indicates the two are on the same subnet, the router will not function properly.%0a---%0a> '''WARNING''': em0 and em1 on the router must be on separate subnets. In this case, I specified the subnet mask as 0xffffff80. If the subnet mask indicates the two are on the same subnet, the router will not function properly.%0a +host:1631621478=209.141.38.137 +author:1631621377=jrmu +diff:1631621377:1631605636:=15c15%0a%3c inet 38.81.163.42 0xfffffff8%0a---%0a> inet 38.81.163.42 0xffffff80%0a +host:1631621377=209.141.38.137 +author:1631605636=jrmu +diff:1631605636:1631596975:=2,12c2,12%0a%3c Virtual Machine (38.87.162.8):%0a%3c %0a%3c $ cat /etc/hostname.vio0 %0a%3c inet 38.87.162.8 0xffffff00%0a%3c inet6 2602:fccf:1:1008:: 48%0a%3c %0a%3c $ cat /etc/mygate %0a%3c 38.87.162.1%0a%3c 2602:fccf:1::1%0a%3c %0a%3c Router (38.87.162.1):%0a---%0a> Virtual Machine (38.81.163.130):%0a> %0a> /etc/hostname.vio0 %0a> inet 38.81.163.130 0xffffff00%0a> inet6 2001:550:3402:128:130:: 64%0a> %0a> /etc/mygate %0a> 38.81.163.129%0a> 2001:550:3402:128::1%0a> %0a> Router (38.81.163.129):%0a +host:1631605636=38.87.162.8 +author:1631596975=jrmu +diff:1631596975:1631596746:=19c19%0a%3c inet 38.87.162.1 0xffffff00%0a---%0a> inet 38.87.162.1 0xffffffff%0a +host:1631596975=125.231.25.86 +author:1631596746=jrmu +diff:1631596746:1631434704:=19,20c19,20%0a%3c inet 38.87.162.1 0xffffffff%0a%3c inet6 2602:fccf:1::1 48%0a---%0a> inet 38.81.163.129 0xffffff80%0a> inet6 2001:550:3402:128::1 64%0a +host:1631596746=125.231.25.86 +author:1631434704=jrmu +diff:1631434704:1629530394:=4c4,7%0a%3c /etc/hostname.vio0 %0a---%0a> /etc/mygate:%0a> 38.81.163.129%0a> %0a> /etc/hostname.vio0:%0a6,11c9,10%0a%3c inet6 2001:550:3402:128:130:: 64%0a%3c %0a%3c /etc/mygate %0a%3c 38.81.163.129%0a%3c 2001:550:3402:128::1%0a%3c %0a---%0a> inet6 2602:fccf:1:130:: 48%0a> %0a14c13%0a%3c /etc/hostname.em0%0a---%0a> /etc/hostname.em0:%0a16,18c15,16%0a%3c inet6 2001:550:3402:40::2 64%0a%3c %0a%3c /etc/hostname.em1 %0a---%0a> %0a> /etc/hostname.em1:%0a20,22c18,19%0a%3c inet6 2001:550:3402:128::1 64%0a%3c %0a%3c /etc/mygate %0a---%0a> %0a> /etc/mygate:%0a24d20%0a%3c 2001:550:3402:40::1%0a +host:1631434704=38.87.162.8 +author:1629530394=jrmu +diff:1629530394:1629530362:=2c2%0a%3c Virtual Machine (38.81.163.130):%0a---%0a> host.thunderirc.net:%0a +host:1629530394=38.87.162.8 +author:1629530362=jrmu +diff:1629530362:1629530261:=4c4%0a%3c /etc/mygate:%0a---%0a> jrmu# cat /etc/mygate %0a6,7c6%0a%3c %0a%3c /etc/hostname.vio0:%0a---%0a> jrmu# cat /etc/hostname.vio0 %0a11,13c10,12%0a%3c Router (38.81.163.129):%0a%3c %0a%3c /etc/hostname.em0:%0a---%0a> Router: 38.81.163.129%0a> %0a> ipmi# cat /etc/hostname.em0 %0a15,16c14%0a%3c %0a%3c /etc/hostname.em1:%0a---%0a> ipmi# cat /etc/hostname.em1 %0a18,19c16%0a%3c %0a%3c /etc/mygate:%0a---%0a> ipmi# cat /etc/mygate %0a +host:1629530362=38.87.162.8 +author:1629530261=jrmu +diff:1629530261:1629530221:=4,6c4,5%0a%3c jrmu# cat /etc/mygate %0a%3c 38.81.163.129%0a%3c jrmu# cat /etc/hostname.vio0 %0a---%0a> /etc/hostname.vio0%0a> %0a8a8,9%0a> %0a> /etc/mygate%0a +host:1629530261=38.87.162.8 +author:1629530221=jrmu +diff:1629530221:1629522818:=11,17c11,13%0a%3c Router: 38.81.163.129%0a%3c %0a%3c ipmi# cat /etc/hostname.em0 %0a%3c inet 38.81.163.42 0xffffff80%0a%3c ipmi# cat /etc/hostname.em1 %0a%3c inet 38.81.163.129 0xffffff80%0a%3c ipmi# cat /etc/mygate %0a---%0a> 38.81.163.129%0a> %0a> ipmi$ doas cat /etc/mygate %0a19c15,19%0a%3c %0a---%0a> ipmi$ doas cat /etc/hostname.em0 %0a> inet 38.81.163.42 0xffffff00%0a> ipmi$ doas cat /etc/hostname.em1 %0a> inet 38.81.163.129 0xffffff00%0a> %0a27,28d26%0a%3c %0a%3c '''WARNING''': em0 and em1 on the router must be on separate subnets. In this case, I specified the subnet mask as 0xffffff80. If the subnet mask indicates the two are on the same subnet, the router will not function properly.%0a +host:1629530221=38.87.162.8 +author:1629522818=jrmu +diff:1629522818:1629522343:=20,21d19%0a%3c # sysctl net.inet.ip.arpq.maxlen=1024%0a%3c # echo "net.inet.ip.arpq.maxlen=1024" >> /etc/sysctl.conf%0a +host:1629522818=38.87.162.8 +author:1629522343=jrmu +diff:1629522343:1629475497:=1d0%0a%3c [@%0a24d22%0a%3c @]%0a +host:1629522343=38.87.162.8 +author:1629475497=jrmu +diff:1629475497:1629475497:=1,22d0%0a%3c host.thunderirc.net:%0a%3c %0a%3c /etc/hostname.vio0%0a%3c %0a%3c inet 38.81.163.130 0xffffff00%0a%3c inet6 2602:fccf:1:130:: 48%0a%3c %0a%3c /etc/mygate%0a%3c %0a%3c 38.81.163.129%0a%3c %0a%3c ipmi$ doas cat /etc/mygate %0a%3c 38.81.163.41%0a%3c ipmi$ doas cat /etc/hostname.em0 %0a%3c inet 38.81.163.42 0xffffff00%0a%3c ipmi$ doas cat /etc/hostname.em1 %0a%3c inet 38.81.163.129 0xffffff00%0a%3c %0a%3c # sysctl net.inet.ip.forwarding=1%0a%3c # echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf%0a%3c # sysctl net.inet6.ip6.forwarding=1%0a%3c # echo "net.inet6.ip6.forwarding=1" >> /etc/sysctl.conf%0a +host:1629475497=38.87.162.8 blob - /dev/null blob + 52fd1130e5aabcdcfe3edc1c7f73a9725ab7d2d3 (mode 644) --- /dev/null +++ wiki.d/Vmm.UbuntuIso @@ -0,0 +1,31 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1629609383 +host=38.87.162.8 +name=Vmm.UbuntuIso +rev=6 +targets= +text=(:title Create Ubuntu ISO for VMM:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide,%0awe download and modify the ubuntu ISO to boot from serial console.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso%0a$ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS%0a$ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS.gpg%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0agpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.gpg SHA256SUMS%0agpg: Signature made Thu Feb 11 13:07:58 2021 CST%0agpg: using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0agpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092%0a$ sha256 ubuntu-20.04.2-live-server-amd64.iso%0aSHA256 (ubuntu-20.04.2-live-server-amd64.iso) = d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423%0a$ grep ubuntu-20.04.2-live-server-amd64.iso SHA256SUMS%0ad1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423 *ubuntu-20.04.2-live-server-amd64.iso%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation.%0a%0aWe run these steps as root:%0a%0a[@%0a# vnconfig vnd0 ubuntu-20.04.2-live-server-amd64.iso%0a# mkdir old new%0a# mount /dev/vnd0c old%0a# cp -R old/* new%0a# cp -R old/.disk new%0a# umount old%0a# vnconfig -u vnd0%0a@]%0a%0a!! Make Changes%0a%0aHere are the diffs of the changes we make:%0a%0a[@%0adiff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a--- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a@@ -1,5 +1,7 @@ %0a # D-I config version 2.0%0a # search path for the c32 support libraries (libcom32, libutil etc.)%0a+serial 0 115200 %0a+console 0%0a path %0a include menu.cfg%0a default vesamenu.c32%0adiff -ru old/isolinux/rqtxt.cfg new/isolinux/rqtxt.cfg%0a--- old/isolinux/rqtxt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/rqtxt.cfg Sun Aug 22 01:12:25 2021%0a@@ -1,4 +1,4 @@%0a label rescue%0a menu label ^Rescue mode%0a kernel /install/vmlinuz%0a- append vga=788 initrd=/install/initrd.gz rescue/enable=true --- quiet%0a+ append vga=normal initrd=/install/initrd.gz rescue/enable=true --- console=ttyS0,115200n8%0adiff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a--- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a@@ -2,11 +2,11 @@%0a label live%0a menu label ^Install Ubuntu Server%0a kernel /casper/vmlinuz%0a- append initrd=/casper/initrd quiet ---%0a+ append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a label hwe-live%0a menu label ^Install Ubuntu Server with the HWE kernel%0a kernel /casper/hwe-vmlinuz%0a- append initrd=/casper/hwe-initrd quiet ---%0a+ append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a label memtest%0a menu label Test ^memory%0a kernel /install/mt86plus%0a@]%0a%0a!! Generate ISO%0a%0a[@%0a# pkg_add xorriso%0a# xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-20.04.2-live-server-amd64-vmm.iso ./new%0a@]%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image:%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/ubuntu-20.04.2-live-server-amd64-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0a# Install%0a%0aWhen presented with the boot menu, type help:%0a%0a[@%0aboot: help%0a@]%0a%0aIt will then autoboot in serial console mode.%0a%0aInstall grub into /dev/vda%0a%0aIdeas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +time=1629614458 +title=Create Ubuntu ISO for VMM +author:1629614458=jrmu +diff:1629614458:1629612838:=120,127d119%0a%3c %0a%3c When presented with the boot menu, type help:%0a%3c %0a%3c [@%0a%3c boot: help%0a%3c @]%0a%3c %0a%3c It will then autoboot in serial console mode.%0a +host:1629614458=38.87.162.8 +author:1629612838=jrmu +diff:1629612838:1629612636:=67,75d66%0a%3c diff -ru old/isolinux/rqtxt.cfg new/isolinux/rqtxt.cfg%0a%3c --- old/isolinux/rqtxt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/rqtxt.cfg Sun Aug 22 01:12:25 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label rescue%0a%3c menu label ^Rescue mode%0a%3c kernel /install/vmlinuz%0a%3c - append vga=788 initrd=/install/initrd.gz rescue/enable=true --- quiet%0a%3c + append vga=normal initrd=/install/initrd.gz rescue/enable=true --- console=ttyS0,115200n8%0a +host:1629612838=38.87.162.8 +author:1629612636=jrmu +diff:1629612636:1629612351:=90c90%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-20.04.2-live-server-amd64-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a101c101%0a%3c cdrom "/home/iso/ubuntu-20.04.2-live-server-amd64-vmm.iso"%0a---%0a> cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a +host:1629612636=38.87.162.8 +author:1629612351=jrmu +diff:1629612351:1629612254:=83a84,119%0a> @]%0a> [@%0a> diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a> --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /boot/isolinux/linux%0a> - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a> + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a> include /boot/isolinux/rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /boot/isolinux/linux%0a> - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a> diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a> --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a> @@ -1,4 +1,6 @@%0a> # search path for the c32 support libraries (libcom32, libutil etc.)%0a> +serial 0 115200%0a> +console 0%0a> path /boot/isolinux%0a> default vesamenu.c32%0a> include /boot/isolinux/menu.cfg%0a> diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a> --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a> @@ -1,4 +1,4 @@%0a> label install%0a> menu label ^Install%0a> kernel /boot/isolinux/linux%0a> - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a> + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a +host:1629612351=38.87.162.8 +author:1629612254=jrmu +diff:1629612254:1629609383:=55,84d54%0a%3c [@%0a%3c diff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a%3c --- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a%3c @@ -1,5 +1,7 @@ %0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200 %0a%3c +console 0%0a%3c path %0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c diff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a%3c --- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a%3c @@ -2,11 +2,11 @@%0a%3c label live%0a%3c menu label ^Install Ubuntu Server%0a%3c kernel /casper/vmlinuz%0a%3c - append initrd=/casper/initrd quiet ---%0a%3c + append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a%3c label hwe-live%0a%3c menu label ^Install Ubuntu Server with the HWE kernel%0a%3c kernel /casper/hwe-vmlinuz%0a%3c - append initrd=/casper/hwe-initrd quiet ---%0a%3c + append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a%3c label memtest%0a%3c menu label Test ^memory%0a%3c kernel /install/mt86plus%0a%3c @]%0a +host:1629612254=38.87.162.8 +author:1629609383=jrmu +diff:1629609383:1629609383:=1,120d0%0a%3c (:title Create Ubuntu ISO for VMM:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide,%0a%3c we download and modify the ubuntu ISO to boot from serial console.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS.gpg%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0a%3c gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.gpg SHA256SUMS%0a%3c gpg: Signature made Thu Feb 11 13:07:58 2021 CST%0a%3c gpg: using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0a%3c gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092%0a%3c $ sha256 ubuntu-20.04.2-live-server-amd64.iso%0a%3c SHA256 (ubuntu-20.04.2-live-server-amd64.iso) = d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423%0a%3c $ grep ubuntu-20.04.2-live-server-amd64.iso SHA256SUMS%0a%3c d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423 *ubuntu-20.04.2-live-server-amd64.iso%0a%3c @]%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation.%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 ubuntu-20.04.2-live-server-amd64.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a%3c diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a%3c --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a%3c kernel /boot/isolinux/linux%0a%3c - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a%3c include /boot/isolinux/rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /boot/isolinux/linux%0a%3c - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a%3c diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a%3c --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a%3c @@ -1,4 +1,6 @@%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path /boot/isolinux%0a%3c default vesamenu.c32%0a%3c include /boot/isolinux/menu.cfg%0a%3c diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a%3c --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label install%0a%3c menu label ^Install%0a%3c kernel /boot/isolinux/linux%0a%3c - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a%3c + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a%3c [@%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a%3c @]%0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a +host:1629609383=38.87.162.8 blob - /dev/null blob + 4cea86c3c73b209f07dcfacc7857b0b8ae8f80cb (mode 644) --- /dev/null +++ wiki.d/Vmm.Vmm @@ -0,0 +1,103 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Safari/605.1.15 vimb/3.6.0 +author=mkf +charset=UTF-8 +csum=more placebo's +ctime=1628677965 +host=2.178.144.223 +name=Vmm.Vmm +rev=29 +targets=Vmm.DebianIso,Vmm.DragonflyBSD,Vmm.FreeBSD,Vmm.NetBSD,Vmm.Haiku,Vmm.9legacy,Vmm.Guix,Vmm.Void,Vmm.FreeDOS,9.Install,Vmm.Fedora,Vmm.Arch,Vmm.Slackware,Vmm.Alpine,Vmm.Minix3,Vmm.Devuan-ISO,Vmm.UbuntuIso,Vmm.Devuan4Iso,Vmm.RockyLinux +text=Here is a list about guests OSes on VMM, workaround for problems and why they fail (if)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! OS ||! status ||! network ||! clock speed ||! serial console ||%0a|| OpenBSD || works || works || normal || works ||%0a|| [[Vmm/DebianIso|Debian]] || works || works || varies || needs setup ||%0a|| [[Vmm/DragonflyBSD]] || kernel crashs (before init?) and brings db || ? || ? || crashs ||%0a|| [[Vmm/FreeBSD]] || no output after BTX || ? || ? || likely same as dragonfly ||%0a|| [[Vmm/NetBSD]] || kernel and shuts vmm down || ? || ? || ? ||%0a|| [[Vmm/Haiku]] || loads KDL due to a disk problem || ? || ? || works? (in KDL) ||%0a|| [[Vmm/9legacy]] || boot(8) fails || || || ||%0a|| [[Vmm/Guix]] || || || || ||%0a|| [[Vmm/Void]] || works || works || varies || works ||%0a|| [[Vmm/FreeDOS]] || livecd works, installed doesn't || || || ||%0a|| [[9/Install|9front]] || works || Works || half || works ||%0a|| [[Vmm/fedora]] || works? || Works? || varies || works? ||%0a|| [[Vmm/Arch]] || || || || ||%0a|| [[Vmm/Slackware]] || || || || ||%0a|| [[Vmm/Alpine]] || || || || ||%0a|| [[Vmm/Minix3]] || ? || ? || ? || ? ||%0a|| [[Vmm/Devuan-ISO]] || works || works || varies || can be configured ||%0a|| [[Vmm/UbuntuIso|Ubuntu ISO]] || works || works || varies || can be configured ||%0a|| [[Vmm/Devuan4Iso|Devuan 4 ISO]] || works || works || varies || can be configured ||%0a|| [[Vmm/RockyLinux|Rocky Linux ISO]] || works || works || varies || can be configured ||%0a(m = a kernel module can used to fix this problem)%0a +time=1636147576 +author:1636147576=mkf +csum:1636147576=more placebo's +diff:1636147576:1636147540:minor=13c13%0a%3c || [[Vmm/Void]] || works || works || varies || works ||%0a---%0a> || [[Vmm/Void]] || works || works || varies|| works ||%0a +host:1636147576=2.178.144.223 +author:1636147540=mkf +csum:1636147540=placebo +diff:1636147540:1634830096:=6c6%0a%3c || [[Vmm/DebianIso|Debian]] || works || works || varies || needs setup ||%0a---%0a> || [[Vmm/DebianIso|Debian]] || works || works || half(m) || needs setup ||%0a13c13%0a%3c || [[Vmm/Void]] || works || works || varies|| works ||%0a---%0a> || [[Vmm/Void]] || || || || ||%0a15,16c15,16%0a%3c || [[9/Install|9front]] || works || Works || half || works ||%0a%3c || [[Vmm/fedora]] || works? || Works? || varies || works? ||%0a---%0a> || [[9/Install|9front]] || Works || Works || half || works ||%0a> || [[Vmm/fedora]] || Works? || Works? || half(m) || works? ||%0a20c20%0a%3c || [[Vmm/Minix3]] || ? || ? || ? || ? ||%0a---%0a> || [[Vmm/Minix3]] || || || || ? ||%0a +host:1636147540=2.178.144.223 +author:1634830096=jrmu +diff:1634830096:1634471451:=23c23%0a%3c || [[Vmm/Devuan4Iso|Devuan 4 ISO]] || works || works || varies || can be configured ||%0a---%0a> || [[Vmm/DevuanIso|Devuan ISO]] || works || works || varies || can be configured ||%0a +host:1634830096=38.87.162.8 +author:1634471451=tool +csum:1634471451=Added Rocky Linux entry +diff:1634471451:1634213474:=24d23%0a%3c || [[Vmm/RockyLinux|Rocky Linux ISO]] || works || works || varies || can be configured ||%0a +host:1634471451=108.56.144.48 +author:1634213474=jrmu +diff:1634213474:1634205004:=15c15%0a%3c || [[9/Install|9front]] || Works || Works || half || works ||%0a---%0a> || [[9/Install]] || Works || Works || half || works ||%0a +host:1634213474=125.224.28.113 +author:1634205004=siva +diff:1634205004:1634188240:=21c21%0a%3c || [[Vmm/Devuan-ISO]] || works || works || varies || can be configured ||%0a---%0a> || [[Vmm/Devuan-Simple]] || works || works || varies || can be configured ||%0a +host:1634205004=223.181.212.151 +author:1634188240=jrmu +diff:1634188240:1634188183:=22,23d21%0a%3c || [[Vmm/UbuntuIso|Ubuntu ISO]] || works || works || varies || can be configured ||%0a%3c || [[Vmm/DevuanIso|Devuan ISO]] || works || works || varies || can be configured ||%0a +host:1634188240=125.224.28.113 +author:1634188183=jrmu +diff:1634188183:1634187933:=15c15%0a%3c || [[9/Install]] || Works || Works || half || works ||%0a---%0a> || [[Vmm/9front]] || Works || Works || half || works ||%0a22c22%0a%3c (m = a kernel module can used to fix this problem)%0a---%0a> (m = a kernel module can used to fix this problem)%0a\ No newline at end of file%0a +host:1634188183=125.224.28.113 +author:1634187933=siva +diff:1634187933:1632632685:=21d20%0a%3c || [[Vmm/Devuan-Simple]] || works || works || varies || can be configured ||%0a +host:1634187933=223.181.212.151 +author:1632632685=mkf +diff:1632632685:1632632504:=7c7%0a%3c || [[Vmm/DragonflyBSD]] || kernel crashs (before init?) and brings db || ? || ? || crashs ||%0a---%0a> || [[Vmm/DragonflyBSD]] || kernel crashs (before init?)/ load db || ? || ? || crashs ||%0a +host:1632632685=198.251.81.133 +author:1632632504=mkf +diff:1632632504:1632632466:minor=14c14%0a%3c || [[Vmm/FreeDOS]] || livecd works, installed doesn't || || || ||%0a---%0a> || [[Vmm/FreeDOS]] || livecd works, installed doesn't || || ||%0a20c20%0a%3c || [[Vmm/Minix3]] || || || || ? ||%0a---%0a> || [[Vmm/Minix3]] || || || ? || ||%0a +host:1632632504=198.251.81.133 +author:1632632466=mkf +diff:1632632466:1630067845:=15c15%0a%3c || [[Vmm/9front]] || Works || Works || half || works ||%0a---%0a> || [[Vmm/9front]] || Works || Works? || half || works? ||%0a20d19%0a%3c || [[Vmm/Minix3]] || || || ? || ||%0a +host:1632632466=198.251.81.133 +author:1630067845=mkf +diff:1630067845:1629747149:=19,20c19%0a%3c || [[Vmm/Alpine]] || || || || ||%0a%3c (m = a kernel module can used to fix this problem)%0a\ No newline at end of file%0a---%0a> || [[Vmm/Alpine]] || || || || ||%0a\ No newline at end of file%0a +host:1630067845=198.251.81.133 +author:1629747149=mkf +diff:1629747149:1629744130:= +host:1629747149=198.251.81.133 +author:1629744130=mkf +diff:1629744130:1629744063:=7c7%0a%3c || [[Vmm/DragonflyBSD]] || kernel crashs (before init?)/ load db || ? || ? || crashs ||%0a---%0a> || [[Vmm/dragonflybsd]] || kernel crashs (before init?)/ load db || ? || ? || crashs ||%0a +host:1629744130=198.251.81.133 +author:1629744063=mkf +csum:1629744063=Added Alpine +diff:1629744063:1629743940:=18,19c18%0a%3c || [[Vmm/Slackware]] || || || || ||%0a%3c || [[Vmm/Alpine]] || || || || ||%0a\ No newline at end of file%0a---%0a> || [[Vmm/Slackware]] || || || || ||%0a\ No newline at end of file%0a +host:1629744063=198.251.81.133 +author:1629743940=mkf +diff:1629743940:1629743838:=6c6%0a%3c || [[Vmm/DebianIso|Debian]] || works || works || half(m) || needs setup ||%0a---%0a> || [[Vmm/DebianIso|Debian]] || works || works || half, can fixed with kernel module || needs setup ||%0a8c8%0a%3c || [[Vmm/FreeBSD]] || no output after BTX || ? || ? || likely same as dragonfly ||%0a---%0a> || [[Vmm/freebsd]] || no output after BTX || ? || ? || likely same as dragonfly ||%0a16,18c16%0a%3c || [[Vmm/fedora]] || Works? || Works? || half(m) || works? ||%0a%3c || [[Vmm/Arch]] || || || || ||%0a%3c || [[Vmm/Slackware]] || || || || ||%0a\ No newline at end of file%0a---%0a> || [[Vmm/fedora]] || Works? || Works? || half || works? ||%0a\ No newline at end of file%0a +host:1629743940=198.251.81.133 +author:1629743838=mkf +diff:1629743838:1629736987:=15,16c15%0a%3c || [[Vmm/9front]] || Works || Works? || half || works? ||%0a%3c || [[Vmm/fedora]] || Works? || Works? || half || works? ||%0a\ No newline at end of file%0a---%0a> || [[Vmm/9front]] || Works || Works? || half || needs setup ||%0a\ No newline at end of file%0a +host:1629743838=198.251.81.133 +author:1629736987=mkf +diff:1629736987:1629736939:=4,6c4,6%0a%3c ||! OS ||! status ||! network ||! clock speed ||! serial console ||%0a%3c || OpenBSD || works || works || normal || works ||%0a%3c || [[Vmm/DebianIso|Debian]] || works || works || half, can fixed with kernel module || needs setup ||%0a---%0a> ||! OS ||! Status ||! Networking ||! clock speed ||! serial console ||%0a> || OpenBSD || Works || Works || normal || works ||%0a> || [[Vmm/DebianIso|Debian]] || Works || Works || ? || needs setup ||%0a +host:1629736987=198.251.81.133 +author:1629736939=mkf +diff:1629736939:1629735062:=11c11%0a%3c || [[Vmm/9legacy]] || boot(8) fails || || || ||%0a---%0a> || [[Vmm/9legacy]] || || || || ||%0a14c14%0a%3c || [[Vmm/FreeDOS]] || livecd works, installed doesn't || || ||%0a---%0a> || [[Vmm/FreeDOS]] || || || ||%0a +host:1629736939=198.251.81.133 +author:1629735062=mkf +diff:1629735062:1629735046:=11c11%0a%3c || [[Vmm/9legacy]] || || || || ||%0a---%0a> || [[Vmm/9legacy]] || || || ||%0a +host:1629735062=198.251.81.133 +author:1629735046=mkf +diff:1629735046:1629734879:=11,14c11,14%0a%3c || [[Vmm/9legacy]] || || || ||%0a%3c || [[Vmm/Guix]] || || || || ||%0a%3c || [[Vmm/Void]] || || || || ||%0a%3c || [[Vmm/FreeDOS]] || || || ||%0a---%0a> || [[Vmm/9legacy]] || || || || ||%0a> || [[Vmm/Guix]] || || || || || ||%0a> || [[Vmm/Void]] || || || || || ||%0a> || [[Vmm/FreeDOS]] || || || || ||%0a +host:1629735046=198.251.81.133 +author:1629734879=mkf +diff:1629734879:1629734813:=4c4%0a%3c ||! OS ||! Status ||! Networking ||! clock speed ||! serial console ||%0a---%0a> ||! OS ||! Status ||! Networking || !clock speed ||! serial console ||%0a11,13c11,13%0a%3c || [[Vmm/9legacy]] || || || || ||%0a%3c || [[Vmm/Guix]] || || || || || ||%0a%3c || [[Vmm/Void]] || || || || || ||%0a---%0a> || [[Vmm/9legacy]] || || || ||%0a> || [[Vmm/Guix]] || || || ||%0a> || [[Vmm/Void]] || || || || ||%0a15c15%0a%3c || [[Vmm/9front]] || Works || Works? || half || needs setup ||%0a\ No newline at end of file%0a---%0a> || [[%0a\ No newline at end of file%0a +host:1629734879=198.251.81.133 +author:1629734813=mkf +diff:1629734813:1629734691:=8c8%0a%3c || [[Vmm/freebsd]] || no output after BTX || ? || ? || likely same as dragonfly ||%0a---%0a> || [[Vmm/freebsd]] || no output after BTX || ? || ? || ? || likely same as dragonfly ||%0a14,15c14%0a%3c || [[Vmm/FreeDOS]] || || || || ||%0a%3c || [[%0a\ No newline at end of file%0a---%0a> || [[Vmm/FreeDOS]] ||| || || || ||%0a\ No newline at end of file%0a +host:1629734813=198.251.81.133 +author:1629734691=mkf +diff:1629734691:1629033412:=1,2c1,2%0a%3c Here is a list about guests OSes on VMM, workaround for problems and why they fail (if)%0a%3c %0a---%0a> VMM is native OpenBSD virtualization tool. currently, following OSes is supported on VMM and tested:%0a> %0a4,14c4,8%0a%3c ||! OS ||! Status ||! Networking || !clock speed ||! serial console ||%0a%3c || OpenBSD || Works || Works || normal || works ||%0a%3c || [[Vmm/DebianIso|Debian]] || Works || Works || ? || needs setup ||%0a%3c || [[Vmm/dragonflybsd]] || kernel crashs (before init?)/ load db || ? || ? || crashs ||%0a%3c || [[Vmm/freebsd]] || no output after BTX || ? || ? || ? || likely same as dragonfly ||%0a%3c || [[Vmm/NetBSD]] || kernel and shuts vmm down || ? || ? || ? ||%0a%3c || [[Vmm/Haiku]] || loads KDL due to a disk problem || ? || ? || works? (in KDL) ||%0a%3c || [[Vmm/9legacy]] || || || ||%0a%3c || [[Vmm/Guix]] || || || ||%0a%3c || [[Vmm/Void]] || || || || ||%0a%3c || [[Vmm/FreeDOS]] ||| || || || ||%0a\ No newline at end of file%0a---%0a> ||! OS ||! Status ||! Networking ||! Notes ||%0a> || OpenBSD || Works || Works || everything works out of the box ||%0a> || [[Vmm/DebianIso|Debian]] || Works || Works || ? ||%0a> %0a> %0a +host:1629734691=198.251.81.133 +author:1629033412=mkf +diff:1629033412:1629033271:=4c4%0a%3c ||! OS ||! Status ||! Networking ||! Notes ||%0a---%0a> || !OS || !Status || !Networking || !Notes ||%0a +host:1629033412=198.251.81.133 +author:1629033271=mkf +diff:1629033271:1629030497:=3,7c3,8%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c || !OS || !Status || !Networking || !Notes ||%0a%3c || OpenBSD || Works || Works || everything works out of the box ||%0a%3c || [[Vmm/DebianIso|Debian]] || Works || Works || ? ||%0a%3c %0a---%0a> || !OS || !Networking || !Disk || !Speed || !Notes ||%0a> || OpenBSD || works || works || near native || works out of the box ||%0a> || Plan9front || works? || works || half || ? ||%0a> || [[Vmm.debianISO|Debain]] || works || works || half, can fixed with a kernel module || ? ||%0a> || devuan || works || works || half, can fixed with a kernel module || ? ||%0a> || Ubuntu || works || works || half, can fixed with a kernel module || ? ||%0a +host:1629033271=198.251.81.133 +author:1629030497=mkf +diff:1629030497:1628677965:=6c6%0a%3c || [[Vmm.debianISO|Debain]] || works || works || half, can fixed with a kernel module || ? ||%0a---%0a> || Debain || works || works || half, can fixed with a kernel module || ? ||%0a +host:1629030497=198.251.81.133 +author:1628677965=mkf +diff:1628677965:1628677965:=1,9d0%0a%3c VMM is native OpenBSD virtualization tool. currently, following OSes is supported on VMM and tested:%0a%3c %0a%3c || !OS || !Networking || !Disk || !Speed || !Notes ||%0a%3c || OpenBSD || works || works || near native || works out of the box ||%0a%3c || Plan9front || works? || works || half || ? ||%0a%3c || Debain || works || works || half, can fixed with a kernel module || ? ||%0a%3c || devuan || works || works || half, can fixed with a kernel module || ? ||%0a%3c || Ubuntu || works || works || half, can fixed with a kernel module || ? ||%0a%3c %0a +host:1628677965=198.251.81.133 blob - /dev/null blob + f881202dd3705554d7927ccf5ca413f19b13b6ee (mode 644) --- /dev/null +++ wiki.d/Vmm.VoidIso @@ -0,0 +1,30 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1629094364 +host=38.87.162.8 +name=Vmm.VoidIso +rev=6 +targets= +text=[@%0a$ ftp https://alpha.de.repo.voidlinux.org/live/current/void-live-x86_64-20210218.iso%0a$ ftp https://raw.githubusercontent.com/void-linux/void-packages/master/srcpkgs/void-release-keys/files/void-release-20210218.pub%0a$ ftp https://alpha.de.repo.voidlinux.org/live/current/sha256sum.sig%0a$ signify -C -p void-release-20210218.pub -x sha256sum.sig void-live-x86_64-20210218.iso%0a@]%0a +time=1629094765 +author:1629094765=jrmu +diff:1629094765:1629094669:=5c5%0a%3c $ signify -C -p void-release-20210218.pub -x sha256sum.sig void-live-x86_64-20210218.iso%0a---%0a> $ signify -C -p void-release-20191109.pub -x sha256sum.sig void-live-x86_64-20210218.iso%0a +host:1629094765=38.87.162.8 +author:1629094669=jrmu +diff:1629094669:1629094577:=4,5c4,5%0a%3c $ ftp https://alpha.de.repo.voidlinux.org/live/current/sha256sum.sig%0a%3c $ signify -C -p void-release-20191109.pub -x sha256sum.sig void-live-x86_64-20210218.iso%0a---%0a> $ ftp https://alpha.de.repo.voidlinux.org/live/current/sha256sum.txt%0a> $ signify -C -p void-release-20191109.pub -x sha256sum.sig void-GCP-musl-PLATFORMFS-20191109.tar.xz%0a +host:1629094669=38.87.162.8 +author:1629094577=jrmu +diff:1629094577:1629094478:= +host:1629094577=38.87.162.8 +author:1629094478=jrmu +diff:1629094478:1629094468:= +host:1629094478=38.87.162.8 +author:1629094468=fgm +diff:1629094468:1629094364:=1d0%0a%3c [@%0a6d4%0a%3c @]%0a +host:1629094468=38.87.162.8 +author:1629094364=fgm +diff:1629094364:1629094364:=1,4d0%0a%3c $ ftp https://alpha.de.repo.voidlinux.org/live/current/void-live-x86_64-20210218.iso%0a%3c $ ftp https://raw.githubusercontent.com/void-linux/void-packages/master/srcpkgs/void-release-keys/files/void-release-20210218.pub%0a%3c $ ftp https://alpha.de.repo.voidlinux.org/live/current/sha256sum.txt%0a%3c $ signify -C -p void-release-20191109.pub -x sha256sum.sig void-GCP-musl-PLATFORMFS-20191109.tar.xz%0a +host:1629094364=38.87.162.8 blob - /dev/null blob + 0fd2c0f1c2939d2c793a32005d939d80f56d6181 (mode 644) --- /dev/null +++ wiki.d/Vpn.OpenIKED @@ -0,0 +1,51 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +author=gloNO +charset=UTF-8 +csum= +ctime=1635924188 +host=176.103.75.121 +name=Vpn.OpenIKED +rev=13 +targets= +text=!! Server configuration%0a%0a[[#iked.conf]]%0a!!! iked.conf%0a%0aAdd this to /etc/iked.conf (replace '''vpn_user_name''' and '''vpn_user_password''' with the username and password you will use to connect, and replace '''203.0.113.5''' with your server's public IP address and '''vpn.ircnow.org''' with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%0a[@%0adoas vi /etc/iked.conf%0a@]%0a----%0a%0a%0a[@%0avpn_user_name = "vpn-user" %0avpn_user_password = "vpn-password"%0a%0aremote_gw = "203.0.113.5" %0avpn_id = "vpn.ircnow.org" %0aclient_pool = "10.0.5.0/24" %0aclient_dns = "203.0.113.5" %0a%0auser $vpn_user_name $vpn_user_password%0aikev2 'user_vpn' passive esp \%0a from any to dynamic \%0a local $remote_gw peer any \%0a srcid $vpn_id \%0a eap "mschap-v2" \%0a config address $client_pool \%0a config name-server $client_dns \%0a tag "ROADW"%0a@]%0a%0aThe value for the vpn_id macro parameter MUST be different from your IRCnow hostname. For example, if your IRCNow hostname is "user.host.ircnow.org", you should pick something like "vpn.user.host.ircnow.org". Whatever you pick should be a valid hostname that resolves to an IP address. The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a%0a!!! pf.conf%0a%0aiked depends upon packet filter being enabled. First, you must make sure to enable packet filter if it is off:%0a%0a[@%0adoas pfctl -e%0a@]%0a%0aAdd this to /etc/pf.conf:%0a%0a%0a[@%0adoas vi /etc/pf.conf%0a@]%0a----%0a%0a%0a[@%0apass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0apass in inet proto esp tag IKED%0apass on enc0 inet tagged ROADW%0amatch out on $ext_if inet tagged ROADW nat-to ext_if%0amatch in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a@]%0a%0awhere '''ext_if''' is your external interface.%0a%0aTo find your external interface, type:%0a[@%0aifconfig%0a@]%0a%0aThe external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%0aTo reload the new pf ruleset:%0a[@%0adoas pfctl -f /etc/pf.conf %0a@]%0a%0a%0a!!! Certificates%0a%0aAt this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%0a[@%0a# ikectl ca vpn create%0a# ikectl ca vpn install%0a@]%0a%0a''certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt''\\%0a''CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl''%0a%0a[@%0a# ikectl ca vpn certificate vpn.user.host.ircnow.org create%0a# ikectl ca vpn certificate vpn.user.host.ircnow.org install%0a@]%0a%0a''writing RSA key''%0a%0aReplace '''vpn.user.host.ircnow.org''' with the hostname you picked for the value of '''vpn_id''' in [[#iked.conf | iked.conf]].%0a%0a!! Client configuration%0a +time=1636299929 +author:1636299929=gloNO +diff:1636299929:1636299820:=84,85c84,85%0a%3c %0a%3c ''certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt''\\%0a---%0a> ''certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt''%0a> %0a92d91%0a%3c %0a +host:1636299929=176.103.75.121 +author:1636299820=gloNO +diff:1636299820:1636299642:=3c3%0a%3c [[#iked.conf]]%0a---%0a> %0a94c94%0a%3c Replace '''vpn.user.host.ircnow.org''' with the hostname you picked for the value of '''vpn_id''' in [[#iked.conf | iked.conf]].%0a---%0a> Replace '''vpn.user.host.ircnow.org''' with the hostname you picked for the value of '''vpn_id''' in iked.conf.%0a +host:1636299820=176.103.75.121 +author:1636299642=gloNO +diff:1636299642:1636299312:=65c65%0a%3c ifconfig%0a---%0a> $ ifconfig%0a74,94d73%0a%3c %0a%3c %0a%3c !!! Certificates%0a%3c %0a%3c At this point, we need to create PKI and X.509 certificates that the vpn client can use to verify the server. From the command line, run:%0a%3c %0a%3c [@%0a%3c # ikectl ca vpn create%0a%3c # ikectl ca vpn install%0a%3c @]%0a%3c ''certificate for CA 'vpn' installed into /etc/iked/ca/ca.crt''%0a%3c %0a%3c ''CRL for CA 'vpn' installed to /etc/iked/crls/ca.crl''%0a%3c %0a%3c [@%0a%3c # ikectl ca vpn certificate vpn.user.host.ircnow.org create%0a%3c # ikectl ca vpn certificate vpn.user.host.ircnow.org install%0a%3c @]%0a%3c ''writing RSA key''%0a%3c %0a%3c Replace '''vpn.user.host.ircnow.org''' with the hostname you picked for the value of '''vpn_id''' in iked.conf.%0a +host:1636299642=176.103.75.121 +author:1636299312=gloNO +diff:1636299312:1636299282:=70a71%0a> %0a +host:1636299312=176.103.75.121 +author:1636299282=gloNO +diff:1636299282:1636299216:=64c64%0a%3c [@%0a---%0a> %0a66,67d65%0a%3c @]%0a%3c %0a72,75c70%0a%3c [@%0a%3c doas pfctl -f /etc/pf.conf %0a%3c @]%0a%3c %0a---%0a> $ doas pfctl -f /etc/pf.conf %0a +host:1636299282=176.103.75.121 +author:1636299216=gloNO +diff:1636299216:1636283832:=10a11%0a> %0a44,46d44%0a%3c Add this to /etc/pf.conf:%0a%3c %0a%3c %0a49a48%0a> %0a53,70d51%0a%3c [@%0a%3c pass in inet proto udp to port {isakmp, ipsec-nat-t} tag IKED%0a%3c pass in inet proto esp tag IKED%0a%3c pass on enc0 inet tagged ROADW%0a%3c match out on $ext_if inet tagged ROADW nat-to ext_if%0a%3c match in quick on enc0 inet proto { tcp, udp } to port 53 rdr-to 127.0.0.1 port 53%0a%3c @]%0a%3c %0a%3c where '''ext_if''' is your external interface.%0a%3c %0a%3c To find your external interface, type:%0a%3c %0a%3c $ ifconfig%0a%3c The external interface is the one with the public IP address. If OpenBSD is run on a virtual machine, the external interface is probably vio0.%0a%3c %0a%3c To reload the new pf ruleset:%0a%3c %0a%3c $ doas pfctl -f /etc/pf.conf %0a +host:1636299216=176.103.75.121 +author:1636283832=gloNO +diff:1636283832:1635959010:=9,15d8%0a%3c doas vi /etc/iked.conf%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a%3c %0a%3c [@%0a36,50d28%0a%3c %0a%3c !!! pf.conf%0a%3c %0a%3c iked depends upon packet filter being enabled. First, you must make sure to enable packet filter if it is off:%0a%3c %0a%3c [@%0a%3c doas pfctl -e%0a%3c @]%0a%3c %0a%3c [@%0a%3c doas vi /etc/pf.conf%0a%3c @]%0a%3c %0a%3c ----%0a%3c %0a +host:1636283832=176.103.75.121 +author:1635959010=gloNO +diff:1635959010:1635958871:= +host:1635959010=31.0.25.119 +author:1635958871=gloNO +diff:1635958871:1635958412:=6,7c6,7%0a%3c Add this to /etc/iked.conf (replace '''vpn_user_name''' and '''vpn_user_password''' with the username and password you will use to connect, and replace '''203.0.113.5''' with your server's public IP address and '''vpn.ircnow.org''' with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%3c %0a---%0a> Add this to /etc/iked.conf (replace '''vpn_user_name''' and '''vpn_user_password''' with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a> %0a9,11d8%0a%3c vpn_user_name = "vpn-user" %0a%3c vpn_user_password = "vpn-password"%0a%3c %0a16c13,15%0a%3c %0a---%0a> vpn_user_name = "vpn-user" %0a> vpn_user_password = "vpn-password"%0a> %0a27,28d25%0a%3c %0a%3c The value for the vpn_id macro parameter MUST be different from your IRCnow hostname. For example, if your IRCNow hostname is "user.host.ircnow.org", you should pick something like "vpn.user.host.ircnow.org". Whatever you pick should be a valid hostname that resolves to an IP address. The 'from' rule allows any user to connect. The name-server provides the name-server that vpn clients will use. So in this example, you must have a valid caching name server running on IP 203.0.113.5. Note that these packets will get tagged as ROADW.%0a +host:1635958871=31.0.25.119 +author:1635958412=gloNO +diff:1635958412:1635957754:=6,7c6,7%0a%3c Add this to /etc/iked.conf (replace '''vpn_user_name''' and '''vpn_user_password''' with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%3c %0a---%0a> Add this to /etc/iked.conf (replace USERNAME_HERE and PASSWORD_HERE with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a> %0a13,16c13,16%0a%3c vpn_user_name = "vpn-user" %0a%3c vpn_user_password = "vpn-password"%0a%3c %0a%3c user $vpn_user_name $vpn_user_password%0a---%0a> vpn_user_name_1 = "vpn-user" %0a> vpn_user_password_1 = "vpn-password"%0a> %0a> user $vpn_user_name_1 $vpn_user_password_1%0a +host:1635958412=31.0.25.119 +author:1635957754=gloNO +diff:1635957754:1635957480:=8,16c8,15%0a%3c [@%0a%3c remote_gw = "203.0.113.5" %0a%3c vpn_id = "vpn.ircnow.org" %0a%3c client_pool = "10.0.5.0/24" %0a%3c client_dns = "203.0.113.5" %0a%3c vpn_user_name_1 = "vpn-user" %0a%3c vpn_user_password_1 = "vpn-password"%0a%3c %0a%3c user $vpn_user_name_1 $vpn_user_password_1%0a---%0a> remote_gw = "203.0.113.5"%0a> vpn_id = "vpn.ircnow.org"%0a> client_pool = "10.0.5.0/24"%0a> client_dns = "203.0.113.5"%0a> user_name_1 = "vpn-user"%0a> user_password_1 "vpn-password"%0a> %0a> user $user_name_1 $user_password_1%0a25c24%0a%3c @]%0a---%0a> %0a +host:1635957754=31.0.25.119 +author:1635957480=gloNO +diff:1635957480:1635924188:=0a1%0a> %0a2,24d2%0a%3c %0a%3c %0a%3c !!! iked.conf%0a%3c %0a%3c Add this to /etc/iked.conf (replace USERNAME_HERE and PASSWORD_HERE with the username and password you will use to connect, and replace 203.0.113.5 with your server's public IP address and vpn.ircnow.org with vpn.your.domain, i.e.: vpn.user.host.ircnow.org):%0a%3c %0a%3c remote_gw = "203.0.113.5"%0a%3c vpn_id = "vpn.ircnow.org"%0a%3c client_pool = "10.0.5.0/24"%0a%3c client_dns = "203.0.113.5"%0a%3c user_name_1 = "vpn-user"%0a%3c user_password_1 "vpn-password"%0a%3c %0a%3c user $user_name_1 $user_password_1%0a%3c ikev2 'user_vpn' passive esp \%0a%3c from any to dynamic \%0a%3c local $remote_gw peer any \%0a%3c srcid $vpn_id \%0a%3c eap "mschap-v2" \%0a%3c config address $client_pool \%0a%3c config name-server $client_dns \%0a%3c tag "ROADW"%0a%3c %0a +host:1635957480=31.0.25.119 +author:1635924188=gloNO +diff:1635924188:1635924188:=1,4d0%0a%3c %0a%3c !! Server configuration%0a%3c %0a%3c !! Client configuration%0a +host:1635924188=80.51.171.233 blob - /dev/null blob + 1b8ca6b70524e4f9a05798d6faa461d5af6cd1cb (mode 644) --- /dev/null +++ wiki.d/Vpn.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 +charset=UTF-8 +ctime=1596459303 +host=176.103.75.121 +name=Vpn.RecentChanges +rev=23 +text=* [[Vpn/OpenIKED]] . . . November 07, 2021, at 03:45 PM by [[~gloNO]]: [==]%0a* [[Vpn/VpnIos]] . . . June 04, 2021, at 05:52 AM by [[~jrmu]]: [==]%0a* [[Vpn/VpnMac]] . . . June 04, 2021, at 05:40 AM by [[~jrmu]]: [==]%0a* [[Vpn/Vpn]] . . . June 04, 2021, at 05:34 AM by [[~jrmu]]: [==]%0a +time=1636299929 blob - /dev/null blob + 7dfdf480a724b44a5dfba07bb2a60558847f8358 (mode 644) --- /dev/null +++ wiki.d/Vpn.Vpn @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596459303 +host=125.231.28.9 +name=Vpn.Vpn +rev=6 +targets=Vpn.VpnMac,Iked.Windows,Iked.Android,Vpn.VpnIos,Iked.Linux +text=(:title Patriot VPNs:)%0a%0a* Conceal your residential or work IP%0a* Includes DDoS protection%0a* Provided free of charge running free software%0a* Receive real time support from IRCNow over live chat%0a%0aTo get free VPN access, please join our IRC channel at [[ircs://irc.ircnow.org/#vpn|irc.ircnow.org/#vpn]] .%0a%0a!! Configuration Steps%0a%0a%0a - [[vpn:mac|macOS]]%0a - [[iked/windows|Windows]]%0a - [[iked/android|Android]]%0a - [[vpn:ios|iOS]]%0a - [[iked/linux|Linux]] +time=1622784854 +title=Patriot VPNs +author:1622784854=jrmu +diff:1622784854:1622134511:=1,6c1,4%0a%3c (:title Patriot VPNs:)%0a%3c %0a%3c * Conceal your residential or work IP%0a%3c * Includes DDoS protection%0a%3c * Provided free of charge running free software%0a%3c * Receive real time support from IRCNow over live chat%0a---%0a> * conceals your residential or work IP from the websites and services you visit%0a> * includes DDoS protection%0a> * free of charge, with free software%0a> * real time support from IRCNow over live chat%0a +host:1622784854=125.231.28.9 +author:1622134511=mkf +diff:1622134511:1618846089:=6c6%0a%3c To get free VPN access, please join our IRC channel at [[ircs://irc.ircnow.org/#vpn|irc.ircnow.org/#vpn]] .%0a---%0a> To get free VPN access, please join our IRC channel at [[ircs://irc.ircnow.org/#vpn|irc.ircnow.org #vpn]] .%0a +host:1622134511=5.238.185.195 +author:1618846089=jrmu +diff:1618846089:1597900198:=12,13c12,13%0a%3c - [[iked/windows|Windows]]%0a%3c - [[iked/android|Android]]%0a---%0a> - [[vpn:windows|Windows]]%0a> - [[vpn:android|Android]]%0a15c15%0a%3c - [[iked/linux|Linux]]%0a\ No newline at end of file%0a---%0a> - [[vpn:linux|Linux]]%0a\ No newline at end of file%0a +host:1618846089=198.251.81.119 +author:1597900198=gry +csum:1597900198=heading +diff:1597900198:1597899810:=8c8%0a%3c !! Configuration Steps%0a---%0a> ====== Configuration Steps ======%0a +host:1597900198=203.129.25.247 +author:1597899810=gry +csum:1597899810=expanded +diff:1597899810:1596459303:=1,5d0%0a%3c * conceals your residential or work IP from the websites and services you visit%0a%3c * includes DDoS protection%0a%3c * free of charge, with free software%0a%3c * real time support from IRCNow over live chat%0a%3c %0a +host:1597899810=203.129.25.247 +author:1596459303=jrmu +diff:1596459303:1596459303:=1,10d0%0a%3c To get free VPN access, please join our IRC channel at [[ircs://irc.ircnow.org/#vpn|irc.ircnow.org #vpn]] .%0a%3c %0a%3c ====== Configuration Steps ======%0a%3c %0a%3c %0a%3c - [[vpn:mac|macOS]]%0a%3c - [[vpn:windows|Windows]]%0a%3c - [[vpn:android|Android]]%0a%3c - [[vpn:ios|iOS]]%0a%3c - [[vpn:linux|Linux]]%0a\ No newline at end of file%0a +host:1596459303=38.81.163.143 blob - /dev/null blob + b71dcac7ea8bc999e2ca4e00bc285b0ce02f0d55 (mode 644) --- /dev/null +++ wiki.d/Vpn.VpnIos @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1622785837 +host=125.231.28.9 +name=Vpn.VpnIos +rev=2 +targets= +text=(:title IPSec on iOS 13.1.3 on iPhone 8:)%0a%0aFirst, download the [[https://ircnow.org/ca.crt|CA.crt]] from IRCNow using a web browser (such as Safari).%0a%0aAttach:iked-iOS-01.png%0a%0aTap on Allow. Then, tap Close. Tap your Home Button and then open the Settings app. Tap on the General row.%0a%0aAttach:iked-iOS-02.png%0a%0aTap on the Profile row. Tap on vpn3.ircnow.org.%0a%0aAttach:iked-iOS-03.png%0a%0aTap on Install at the top right corner.%0a%0aAttach:iked-iOS-04.png%0a%0aEnter your passcode.%0a%0aAttach:iked-iOS-05.png%0a%0aTap on Install at the top right corner. Then tap Install again at the bottom.%0a%0aAttach:iked-iOS-06.png%0a%0aThe profile will now be verified.%0a%0aAttach:iked-iOS-07.png%0a%0aNow, tap Profile at the top left corner, then tap General again to return to the general settings. Tap on VPN. Tap Add VPN Configuration. Fill in the details:%0a%0aAttach:iked-iOS-08.png%0a%0a * Description: IRCNow%0a * Server: vpn3.ircnow.org%0a * Remote ID: vpn3.ircnow.org%0a * Local ID: [your username]%0a * User Authentication: Username%0a * Username: [your username]%0a * Password: [your password]%0a%0aTap done when finished.%0a%0aAttach:iked-iOS-09.png%0a%0aTap on the status toggle to connect to the VPN. If the VPN is working, you should see a VPN icon at the top of the status bar.%0a%0aAttach:iked-iOS-10.png%0a%0aFor legacy users, the old cert is here: [[https://vpn.ircnow.org/ca.crt|CA.crt]] +time=1622785952 +title=IPSec on iOS 13.1.3 on iPhone 8 +author:1622785952=jrmu +diff:1622785952:1622785837:=1,2c1,2%0a%3c (:title IPSec on iOS 13.1.3 on iPhone 8:)%0a%3c %0a---%0a> ====== iOS 13.1.3 on iPhone 8 ======%0a> %0a5,6c5,6%0a%3c Attach:iked-iOS-01.png%0a%3c %0a---%0a> {{:iked-iOS-01.png?direct&400|}}%0a> %0a9,10c9,10%0a%3c Attach:iked-iOS-02.png%0a%3c %0a---%0a> {{:iked-iOS-02.png?direct&400|}}%0a> %0a13,14c13,14%0a%3c Attach:iked-iOS-03.png%0a%3c %0a---%0a> {{:iked-iOS-03.png?direct&400|}}%0a> %0a17,18c17,18%0a%3c Attach:iked-iOS-04.png%0a%3c %0a---%0a> {{:iked-iOS-04.png?direct&400|}}%0a> %0a21,22c21,22%0a%3c Attach:iked-iOS-05.png%0a%3c %0a---%0a> {{:iked-iOS-05.png?direct&400|}}%0a> %0a25,26c25,26%0a%3c Attach:iked-iOS-06.png%0a%3c %0a---%0a> {{:iked-iOS-06.png?direct&400|}}%0a> %0a29,30c29,30%0a%3c Attach:iked-iOS-07.png%0a%3c %0a---%0a> {{:iked-iOS-07.png?direct&400|}}%0a> %0a33,34c33,34%0a%3c Attach:iked-iOS-08.png%0a%3c %0a---%0a> {{:iked-iOS-08.png?direct&400|}}%0a> %0a45,46c45,46%0a%3c Attach:iked-iOS-09.png%0a%3c %0a---%0a> {{:iked-iOS-09.png?direct&400|}}%0a> %0a49c49%0a%3c Attach:iked-iOS-10.png%0a---%0a> {{:iked-iOS-10.png?direct&400|}}%0a +host:1622785952=125.231.28.9 +author:1622785837=jrmu +diff:1622785837:1622785837:=1,51d0%0a%3c ====== iOS 13.1.3 on iPhone 8 ======%0a%3c %0a%3c First, download the [[https://ircnow.org/ca.crt|CA.crt]] from IRCNow using a web browser (such as Safari).%0a%3c %0a%3c {{:iked-iOS-01.png?direct&400|}}%0a%3c %0a%3c Tap on Allow. Then, tap Close. Tap your Home Button and then open the Settings app. Tap on the General row.%0a%3c %0a%3c {{:iked-iOS-02.png?direct&400|}}%0a%3c %0a%3c Tap on the Profile row. Tap on vpn3.ircnow.org.%0a%3c %0a%3c {{:iked-iOS-03.png?direct&400|}}%0a%3c %0a%3c Tap on Install at the top right corner.%0a%3c %0a%3c {{:iked-iOS-04.png?direct&400|}}%0a%3c %0a%3c Enter your passcode.%0a%3c %0a%3c {{:iked-iOS-05.png?direct&400|}}%0a%3c %0a%3c Tap on Install at the top right corner. Then tap Install again at the bottom.%0a%3c %0a%3c {{:iked-iOS-06.png?direct&400|}}%0a%3c %0a%3c The profile will now be verified.%0a%3c %0a%3c {{:iked-iOS-07.png?direct&400|}}%0a%3c %0a%3c Now, tap Profile at the top left corner, then tap General again to return to the general settings. Tap on VPN. Tap Add VPN Configuration. Fill in the details:%0a%3c %0a%3c {{:iked-iOS-08.png?direct&400|}}%0a%3c %0a%3c * Description: IRCNow%0a%3c * Server: vpn3.ircnow.org%0a%3c * Remote ID: vpn3.ircnow.org%0a%3c * Local ID: [your username]%0a%3c * User Authentication: Username%0a%3c * Username: [your username]%0a%3c * Password: [your password]%0a%3c %0a%3c Tap done when finished.%0a%3c %0a%3c {{:iked-iOS-09.png?direct&400|}}%0a%3c %0a%3c Tap on the status toggle to connect to the VPN. If the VPN is working, you should see a VPN icon at the top of the status bar.%0a%3c %0a%3c {{:iked-iOS-10.png?direct&400|}}%0a%3c %0a%3c For legacy users, the old cert is here: [[https://vpn.ircnow.org/ca.crt|CA.crt]]%0a\ No newline at end of file%0a +host:1622785837=125.231.28.9 blob - /dev/null blob + baf97bde2200a233f1bc14fca2073ed8525b51d9 (mode 644) --- /dev/null +++ wiki.d/Vpn.VpnMac @@ -0,0 +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 +author=jrmu +charset=UTF-8 +csum= +ctime=1622784997 +host=125.231.28.9 +name=Vpn.VpnMac +rev=2 +targets= +text=(:title IPSec on macOS Mojave 10.14.6:)%0a%0aFirst, download the [[https://ircnow.org/ca.crt|CA.crt]] from IRCNow. Opening the file will open up Keychain Access on a Mac:%0a%0aAttach:iked-mac-01.png%0a%0aAt the bottom-left pane of Keychain Access, you will see 'All Items' underneath 'Category'. Select 'All Items'. Then, on the bottom-right pane, search for vpn.ircnow.org. When you select it, Keychain Access should say "vpn.ircnow.org" certificate is not trusted.%0a%0aAttach:iked-mac-02.png%0a%0aDouble-tap the certificate. You should see 'Trust'. Tap the triangle and then, where it says "When using this certificate:", select "Always Trust". Close the window and type in the administrator password to save changes.%0a%0aAttach:iked-mac-03.png%0a%0aNext, open the System Preferences app and then click on Network. At the bottom-left side of the window, there will be a + button. Tap that, then select VPN for the Interface. The VPN Type should be IKEv2. The Service Name should be vpn.ircnow.org.%0a%0aAttach:iked-mac-04.png%0a%0aFor Server Address, put vpn.ircnow.org . For Remote ID, put vpn.ircnow.org . Please put your username for your unique Local ID.%0a%0aAttach:iked-mac-05.png%0a%0aClick on Authentication settings and enter your username and password.%0a%0aAttach:iked-mac-06.png%0a%0aClick on Connect. If you see the circle turn green, the VPN is working. Use a search engine to search 'What's my ip address' and visit a site. If the IP address is not yours, then the VPN is working. Congrats!%0a%0aFor legacy users, the old cert is available here: [[https://vpn.ircnow.org/ca.crt|CA.crt]] +time=1622785217 +title=IPSec on macOS Mojave 10.14.6 +author:1622785217=jrmu +diff:1622785217:1622784997:=1,2c1,2%0a%3c (:title IPSec on macOS Mojave 10.14.6:)%0a%3c %0a---%0a> ====== macOS Mojave 10.14.6 ======%0a> %0a5,6c5,6%0a%3c Attach:iked-mac-01.png%0a%3c %0a---%0a> {{:iked-mac-01.png?direct&400|}}%0a> %0a9,10c9,10%0a%3c Attach:iked-mac-02.png%0a%3c %0a---%0a> {{:iked-mac-02.png?direct&400|}}%0a> %0a13,14c13,14%0a%3c Attach:iked-mac-03.png%0a%3c %0a---%0a> {{:iked-mac-03.png?direct&400|}}%0a> %0a17,18c17,18%0a%3c Attach:iked-mac-04.png%0a%3c %0a---%0a> {{:iked-mac-04.png?direct&400|}}%0a> %0a21,22c21,22%0a%3c Attach:iked-mac-05.png%0a%3c %0a---%0a> {{:iked-mac-05.png?direct&400|}}%0a> %0a25c25%0a%3c Attach:iked-mac-06.png%0a---%0a> {{:iked-mac-06.png?direct&400|}}%0a +host:1622785217=125.231.28.9 +author:1622784997=jrmu +diff:1622784997:1622784997:=1,29d0%0a%3c ====== macOS Mojave 10.14.6 ======%0a%3c %0a%3c First, download the [[https://ircnow.org/ca.crt|CA.crt]] from IRCNow. Opening the file will open up Keychain Access on a Mac:%0a%3c %0a%3c {{:iked-mac-01.png?direct&400|}}%0a%3c %0a%3c At the bottom-left pane of Keychain Access, you will see 'All Items' underneath 'Category'. Select 'All Items'. Then, on the bottom-right pane, search for vpn.ircnow.org. When you select it, Keychain Access should say "vpn.ircnow.org" certificate is not trusted.%0a%3c %0a%3c {{:iked-mac-02.png?direct&400|}}%0a%3c %0a%3c Double-tap the certificate. You should see 'Trust'. Tap the triangle and then, where it says "When using this certificate:", select "Always Trust". Close the window and type in the administrator password to save changes.%0a%3c %0a%3c {{:iked-mac-03.png?direct&400|}}%0a%3c %0a%3c Next, open the System Preferences app and then click on Network. At the bottom-left side of the window, there will be a + button. Tap that, then select VPN for the Interface. The VPN Type should be IKEv2. The Service Name should be vpn.ircnow.org.%0a%3c %0a%3c {{:iked-mac-04.png?direct&400|}}%0a%3c %0a%3c For Server Address, put vpn.ircnow.org . For Remote ID, put vpn.ircnow.org . Please put your username for your unique Local ID.%0a%3c %0a%3c {{:iked-mac-05.png?direct&400|}}%0a%3c %0a%3c Click on Authentication settings and enter your username and password.%0a%3c %0a%3c {{:iked-mac-06.png?direct&400|}}%0a%3c %0a%3c Click on Connect. If you see the circle turn green, the VPN is working. Use a search engine to search 'What's my ip address' and visit a site. If the IP address is not yours, then the VPN is working. Congrats!%0a%3c %0a%3c For legacy users, the old cert is available here: [[https://vpn.ircnow.org/ca.crt|CA.crt]]%0a\ No newline at end of file%0a +host:1622784997=125.231.28.9 blob - /dev/null blob + 91874c104dc00401fbf6ba09e252b8db7e0dc52b (mode 644) --- /dev/null +++ wiki.d/Vps.Intro @@ -0,0 +1,21 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597239732 +host=38.81.163.143 +name=Vps.Intro +rev=3 +targets= +text=You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%0aYou will be given a username and password for your account. This will create a username on our host system:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a@]%0a%0aECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%0a**Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%0aOnce you log in, you can access the serial console:%0a%0a[@%0a$ vmctl console %3cvm-name>%0a@]%0a%0aTo shutdown the VM:%0a%0a[@%0a$ vmctl stop %3cvm-name>%0a@]%0a%0aTo boot the VM:%0a%0a[@%0a$ vmctl start %3cvm-name>%0a@]%0a%0aTo pause the VM:%0a%0a[@%0a$ vmctl pause %3cvm-name>%0a@]%0a%0aTo unpause the VM:%0a%0a[@%0a$ vmctl unpause %3cvm-name>%0a@]%0a%0aTo escape serial console, type ~~. %0a%0a----%0a%0aTo connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a%0aFor convenience, you can log in to your VPS as follows:%0a%0a[@%0a$ ssh username@username.coconut.ircnow.org%0a@]%0a%0aPlease note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%0a----%0a%0aTo reinstall OpenBSD 6.6:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a$ cd ~%0a$ rm username.qcow2%0a$ vmctl create -s 20G username.qcow2%0a$ vmctl start username%0a$ vmctl start username%0a$ vmctl console username%0a@]%0a%0aMake sure to configure static networking as well as to set up ping in the background as outlined below.%0a%0a----%0a%0aFor OpenBSD, here is how you statically assign your IP address:%0a%0aInside /etc/hostname.vio0:%0a%0a[@%0ainet 38.81.163.xxx 255.255.255.0%0a@]%0a%0aReplace 38.81.163.xxx with your assigned IP address.%0a%0aInside /etc/mygate:%0a%0a[@%0a38.81.163.129%0a@]%0a%0aFor Alpine:%0a%0aTo restart networking:%0a%0a[@%0a# service networking restart%0a@]%0a%0aFor Debian:%0a%0a[@%0asystemctl restart networking%0a@]%0a%0aInside /etc/network/interfaces:%0a%0a[@%0asource /etc/network/interfaces.d/*%0a%0a# The loopback network interface%0aauto lo%0aiface lo inet loopback%0a%0a# The primary network interface%0aauto enp0s2%0aiface enp0s2 inet static%0a address 38.81.163.x%0a netmask 255.255.255.0%0a gateway 38.81.163.129%0a@]%0a%0a----%0a%0aLosing network connectivity:%0a%0aFor OpenBSD, put this in your crontab:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a@]%0a%0aFor Debian:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a@]%0a%0aFor Alpine:%0a%0a[@%0a@reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a@]%0a%0aAfterwards, to ensure it runs right away, execute this once:%0a%0a[@%0a/usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a@]%0a%0a----%0a%0aTo reinstall OpenBSD:%0a%0aFirst, log in to the host:%0a%0a[@%0a$ ssh username@coconut.ircnow.org%0a$ vmctl stop username%0a$ rm username.qcow2%0a$ vmctl create -s 20G username.qcow2%0a$ vmctl start username%0a$ vmctl console username%0a@]%0a%0aThen, do the installation as usual. +time=1602318157 +author:1602318157=jrmu +diff:1602318157:1602318037:= +host:1602318157=38.81.163.143 +author:1602318037=jrmu +diff:1602318037:1597239732:=5,8c5,8%0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a%3c @]%0a%3c %0a---%0a> %3ccode>%0a> $ ssh username@us5.ircnow.org%0a> %3c/code>%0a> %0a15c15%0a%3c [@%0a---%0a> %3ccode>%0a17,18c17,18%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a21c21%0a%3c [@%0a---%0a> %3ccode>%0a23,24c23,24%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a27c27%0a%3c [@%0a---%0a> %3ccode>%0a29,30c29,30%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a33c33%0a%3c [@%0a---%0a> %3ccode>%0a35,36c35,36%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a39c39%0a%3c [@%0a---%0a> %3ccode>%0a41,42c41,42%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a47,48c47,48%0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.coconut.ircnow.org. Our default gateway is 38.81.163.129.%0a%3c %0a---%0a> To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.us5.ircnow.org. Our default gateway is 38.81.163.129.%0a> %0a51,56c51,56%0a%3c [@%0a%3c $ ssh username@username.coconut.ircnow.org%0a%3c @]%0a%3c %0a%3c Please note that this hostname is different from the host; there is an extra username in username.coconut.ircnow.org.%0a%3c %0a---%0a> %3ccode>%0a> $ ssh username@username.us5.ircnow.org%0a> %3c/code>%0a> %0a> Please note that this hostname is different from the host; there is an extra username in username.us5.ircnow.org.%0a> %0a61,62c61,62%0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a---%0a> %3ccode>%0a> $ ssh username@us5.ircnow.org%0a69,70c69,70%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a79c79%0a%3c [@%0a---%0a> %3ccode>%0a81,82c81,82%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a87c87%0a%3c [@%0a---%0a> %3ccode>%0a89,90c89,90%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a95c95%0a%3c [@%0a---%0a> %3ccode>%0a97,98c97,98%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a101c101%0a%3c [@%0a---%0a> %3ccode>%0a103,104c103,104%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a107c107%0a%3c [@%0a---%0a> %3ccode>%0a120,121c120,121%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a128c128%0a%3c [@%0a---%0a> %3ccode>%0a130,131c130,131%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a134c134%0a%3c [@%0a---%0a> %3ccode>%0a136,137c136,137%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a140c140%0a%3c [@%0a---%0a> %3ccode>%0a142,143c142,143%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a146c146%0a%3c [@%0a---%0a> %3ccode>%0a148,149c148,149%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a152c152%0a%3c [@%0a---%0a> %3ccode>%0a154,155c154,155%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a158c158%0a%3c [@%0a---%0a> %3ccode>%0a160,161c160,161%0a%3c @]%0a%3c %0a---%0a> %3c/code>%0a> %0a168,169c168,169%0a%3c [@%0a%3c $ ssh username@coconut.ircnow.org%0a---%0a> %3ccode>%0a> $ ssh username@us5.ircnow.org%0a175c175%0a%3c @]%0a---%0a> %3c/code>%0a +host:1602318037=38.81.163.143 +author:1597239732=jrmu +diff:1597239732:1597239732:=1,177d0%0a%3c You can run any Linux or BSD-based operating system on your VPS as a guest inside OpenBSD.%0a%3c %0a%3c You will be given a username and password for your account. This will create a username on our host system:%0a%3c %0a%3c %3ccode>%0a%3c $ ssh username@us5.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c ECDSA key fingerprint is SHA256:a0LIR/BRZkpYqMho/YvkISPEm7vkus5QfOSqAeu+tYc.%0a%3c %0a%3c **Please note**: This is the host machine, not your VM. The host machine is running OpenBSD but your guest VPS can run any OS.%0a%3c %0a%3c Once you log in, you can access the serial console:%0a%3c %0a%3c %3ccode>%0a%3c $ vmctl console %3cvm-name>%0a%3c %3c/code>%0a%3c %0a%3c To shutdown the VM:%0a%3c %0a%3c %3ccode>%0a%3c $ vmctl stop %3cvm-name>%0a%3c %3c/code>%0a%3c %0a%3c To boot the VM:%0a%3c %0a%3c %3ccode>%0a%3c $ vmctl start %3cvm-name>%0a%3c %3c/code>%0a%3c %0a%3c To pause the VM:%0a%3c %0a%3c %3ccode>%0a%3c $ vmctl pause %3cvm-name>%0a%3c %3c/code>%0a%3c %0a%3c To unpause the VM:%0a%3c %0a%3c %3ccode>%0a%3c $ vmctl unpause %3cvm-name>%0a%3c %3c/code>%0a%3c %0a%3c To escape serial console, type ~~. %0a%3c %0a%3c ----%0a%3c %0a%3c To connect to your VM, you will be given an IP address. In case you forget, your IP address can be found by running $ dig username.us5.ircnow.org. Our default gateway is 38.81.163.129.%0a%3c %0a%3c For convenience, you can log in to your VPS as follows:%0a%3c %0a%3c %3ccode>%0a%3c $ ssh username@username.us5.ircnow.org%0a%3c %3c/code>%0a%3c %0a%3c Please note that this hostname is different from the host; there is an extra username in username.us5.ircnow.org.%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD 6.6:%0a%3c %0a%3c %3ccode>%0a%3c $ ssh username@us5.ircnow.org%0a%3c $ cd ~%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c %3c/code>%0a%3c %0a%3c Make sure to configure static networking as well as to set up ping in the background as outlined below.%0a%3c %0a%3c ----%0a%3c %0a%3c For OpenBSD, here is how you statically assign your IP address:%0a%3c %0a%3c Inside /etc/hostname.vio0:%0a%3c %0a%3c %3ccode>%0a%3c inet 38.81.163.xxx 255.255.255.0%0a%3c %3c/code>%0a%3c %0a%3c Replace 38.81.163.xxx with your assigned IP address.%0a%3c %0a%3c Inside /etc/mygate:%0a%3c %0a%3c %3ccode>%0a%3c 38.81.163.129%0a%3c %3c/code>%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c To restart networking:%0a%3c %0a%3c %3ccode>%0a%3c # service networking restart%0a%3c %3c/code>%0a%3c %0a%3c For Debian:%0a%3c %0a%3c %3ccode>%0a%3c systemctl restart networking%0a%3c %3c/code>%0a%3c %0a%3c Inside /etc/network/interfaces:%0a%3c %0a%3c %3ccode>%0a%3c source /etc/network/interfaces.d/*%0a%3c %0a%3c # The loopback network interface%0a%3c auto lo%0a%3c iface lo inet loopback%0a%3c %0a%3c # The primary network interface%0a%3c auto enp0s2%0a%3c iface enp0s2 inet static%0a%3c address 38.81.163.x%0a%3c netmask 255.255.255.0%0a%3c gateway 38.81.163.129%0a%3c %3c/code>%0a%3c %0a%3c ----%0a%3c %0a%3c Losing network connectivity:%0a%3c %0a%3c For OpenBSD, put this in your crontab:%0a%3c %0a%3c %3ccode>%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c %3c/code>%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c %3ccode>%0a%3c /usr/bin/tmux new -d 'while true; do /sbin/ping -i5 38.81.163.129; done' \;%0a%3c %3c/code>%0a%3c %0a%3c For Debian:%0a%3c %0a%3c %3ccode>%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; done' \;%0a%3c %3c/code>%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c %3ccode>%0a%3c /usr/bin/tmux new -d 'while true; do /usr/bin/ping -i5 38.81.163.129; %0a%3c %3c/code>%0a%3c %0a%3c For Alpine:%0a%3c %0a%3c %3ccode>%0a%3c @reboot /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c %3c/code>%0a%3c %0a%3c Afterwards, to ensure it runs right away, execute this once:%0a%3c %0a%3c %3ccode>%0a%3c /usr/bin/tmux new -d 'while true; do /bin/ping -i5 38.81.163.129; done' \;%0a%3c %3c/code>%0a%3c %0a%3c ----%0a%3c %0a%3c To reinstall OpenBSD:%0a%3c %0a%3c First, log in to the host:%0a%3c %0a%3c %3ccode>%0a%3c $ ssh username@us5.ircnow.org%0a%3c $ vmctl stop username%0a%3c $ rm username.qcow2%0a%3c $ vmctl create -s 20G username.qcow2%0a%3c $ vmctl start username%0a%3c $ vmctl console username%0a%3c %3c/code>%0a%3c %0a%3c Then, do the installation as usual.%0a\ No newline at end of file%0a +host:1597239732=38.81.163.143 blob - /dev/null blob + e1c129dee9d850930dbdc50e56f0af299b95c74a (mode 644) --- /dev/null +++ wiki.d/Vps.Openbsd,del-1596457575 @@ -0,0 +1,27 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1596259441 +host=38.81.163.143 +name=Vps.Openbsd +rev=5 +targets= +text=IRCNow is planning to offer OpenBSD VPSes in the future. For now, we can only offer them to teammates.%0a%0a[[openbsd/vmm/newuser|New User Guide]] +time=1596259496 +author:1596259496=jrmu +diff:1596259496:1596259478:=3c3%0a%3c [[openbsd/vmm/newuser|New User Guide]]%0a\ No newline at end of file%0a---%0a> [[vps/openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596259496=38.81.163.143 +author:1596259478=jrmu +diff:1596259478:1596259467:=3c3%0a%3c [[vps/openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a---%0a> [[vpsopenbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596259478=38.81.163.143 +author:1596259467=jrmu +diff:1596259467:1596259455:=3c3%0a%3c [[vpsopenbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a---%0a> [[vps.openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596259467=38.81.163.143 +author:1596259455=jrmu +diff:1596259455:1596259441:=3c3%0a%3c [[vps.openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a---%0a> [[vps/openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596259455=38.81.163.143 +author:1596259441=jrmu +diff:1596259441:1596259441:=1,3d0%0a%3c IRCNow is planning to offer OpenBSD VPSes in the future. For now, we can only offer them to teammates.%0a%3c %0a%3c [[vps/openbsd/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596259441=38.81.163.143 blob - /dev/null blob + 306e3df8d1a2224d32affd76be31809296143b39 (mode 644) --- /dev/null +++ wiki.d/Vps.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +charset=UTF-8 +ctime=1596259441 +host=125.165.105.76 +name=Vps.RecentChanges +rev=48 +text=* [[Vps/Vps]] . . . December 03, 2021, at 12:35 PM by [[~dodocrypto]]: [==]%0a* [[Vps/Intro]] . . . October 10, 2020, at 08:22 AM by [[~jrmu]]: [==]%0a* [[Vps/Openbsd]] . . . August 03, 2020, at 12:26 PM by [[~jrmu]]: [==]%0a +time=1638534944 blob - /dev/null blob + e0d0aae1a578f0be6b4423f4ca882816b6569253 (mode 644) --- /dev/null +++ wiki.d/Vps.Vps @@ -0,0 +1,133 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 +author=dodocrypto +charset=UTF-8 +csum= +ctime=1596457530 +host=125.165.105.76 +name=Vps.Vps +rev=39 +targets=Ircnow.Minutemin,Openbsd.Vmm,Openbsd.Vmminstall,Openbsd.Vmmuser,Vmm.Install,Vmm.DebianIso,Vmm.AlmaLinux,Vmm.RockyLinux,Vmm.CentOSIso,Vmm.UbuntuIso,Vmm.FedoraIso,Vmm.AlpineIso,Vmm.DevuanIso,Vmm.GentooIso,Vmm.NixOSIso,Vmm.ArchIso,Vmm.SlackwareIso,Vmm.GuixIso,Vmm.VoidIso,Vmm.Plan9 +text=(:title Homestead VPS:)%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Plan ||! RAM ||! Disk ||! Networking ||! Bandwidth ||%0a|| [[ircnow/minutemin|Free OpenBSD VPS for Teammates]] || 1GB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a|| $60USD/year || 1GB RAM || 20GB SSD || One IPv4 Address and IPv6 /64 subnet || 50Mbps burst ||%0a%0a%25width=400px rfloat%25 Attach:Marketing/herdquit.jpg%0a%0aDon't build your digital life and business on a cloud platform controlled by a corporate monopoly. There's no future there. The system is rigged against you.%0a%0aBe a pioneer on the Internet with your own virtual private server.%0a%0aIf you join our team, you can claim your '''free''' homestead VPS today. Digital independence is '''FREE''' for the taking.%0a%0aIf you prefer to work solo, you can purchase a homestead VPS.%0a%0aWe are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a%0aOS Support Status:%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Distro ||! Status ||%0a|| [[Vmm/Install|OpenBSD]] || Full Support ||%0a|| [[Vmm/DebianIso|Debian]] || Works ||%0a|| [[Vmm/AlmaLinux|Almalinux]] || Works ||%0a|| [[Vmm/RockyLinux|Rockylinux]] || Works ||%0a|| [[Vmm/CentOSIso|CentOS]] || Untested ||%0a|| [[Vmm/UbuntuIso|Ubuntu]] || Works ||%0a|| [[Vmm/FedoraIso|Fedora]] || Untested ||%0a|| [[Vmm/AlpineIso|Alpine]] || Works ||%0a|| [[Vmm/DevuanIso|Devuan]] || Works ||%0a|| [[Vmm/GentooIso|Gentoo]] || Untested ||%0a|| [[Vmm/NixOSIso|NixOS]] || Untested ||%0a|| [[Vmm/ArchIso|Arch]] || Untested ||%0a|| [[Vmm/SlackwareIso|Slackware]] || Untested ||%0a|| [[Vmm/GuixIso|Guix]] || Untested ||%0a|| [[Vmm/VoidIso|Void]] || Untested ||%0a|| [[Vmm/Plan9|Plan9front]] || Works ||%0a%0a +time=1638534944 +title=Homestead VPS +author:1638534944=dodocrypto +diff:1638534944:1629674191:=26,27d25%0a%3c || [[Vmm/AlmaLinux|Almalinux]] || Works ||%0a%3c || [[Vmm/RockyLinux|Rockylinux]] || Works ||%0a +host:1638534944=125.165.105.76 +author:1629674191=mkf +diff:1629674191:1629654665:=24a25%0a> || [[Vmm/HardenedBSDIso|HardenedBSD]] || Untested ||%0a37a39,40%0a> || [[Vmm/ReactOSIso|ReactOS]] || Untested ||%0a> || [[Vmm/HaikuIso|Haiku]] || Untested ||%0a +host:1629674191=198.251.81.133 +author:1629654665=mkf +csum:1629654665=/me sighs +diff:1629654665:1629635954:=24a25,26%0a> || [[Vmm/FreeBSDIso|FreeBSD]] || Untested ||%0a> || [[Vmm/DragonflyBSDIso|DragonflyBSD]] || Untested ||%0a41c43%0a%3c %0a---%0a> || [[Vmm/OpenIndianaIso|OpenIndiana]] || Untested ||%0a +host:1629654665=198.251.81.133 +author:1629635954=mkf +diff:1629635954:1629633163:=28c28%0a%3c || [[Vmm/DebianIso|Debian]] || Works ||%0a---%0a> || [[Vmm/DebianIso|Debian]] || Works with customized ISO ||%0a30c30%0a%3c || [[Vmm/UbuntuIso|Ubuntu]] || Works ||%0a---%0a> || [[Vmm/UbuntuIso|Ubuntu]] || Works with customized ISO ||%0a32,33c32,33%0a%3c || [[Vmm/AlpineIso|Alpine]] || Works ||%0a%3c || [[Vmm/DevuanIso|Devuan]] || Works ||%0a---%0a> || [[Vmm/AlpineIso|Alpine]] || Works with customized ISO ||%0a> || [[Vmm/DevuanIso|Devuan]] || Works with customized ISO ||%0a +host:1629635954=198.251.81.133 +author:1629633163=mkf +csum:1629633163=No NetBSD. +diff:1629633163:1629614505:=25a26%0a> || [[Vmm/NetBSDIso|NetBSD]] || Untested ||%0a +host:1629633163=198.251.81.133 +author:1629614505=jrmu +diff:1629614505:1629569037:=31c31%0a%3c || [[Vmm/UbuntuIso|Ubuntu]] || Works with customized ISO ||%0a---%0a> || [[Vmm/UbuntuIso|Ubuntu]] || Untested ||%0a +host:1629614505=38.87.162.8 +author:1629569037=jrmu +diff:1629569037:1629548702:=27,28d26%0a%3c || [[Vmm/DragonflyBSDIso|DragonflyBSD]] || Untested ||%0a%3c || [[Vmm/HardenedBSDIso|HardenedBSD]] || Untested ||%0a36,37d33%0a%3c || [[Vmm/NixOSIso|NixOS]] || Untested ||%0a%3c || [[Vmm/ArchIso|Arch]] || Untested ||%0a +host:1629569037=38.87.162.8 +author:1629548702=mkf +csum:1629548702=BeOS is long dead. +diff:1629548702:1629548274:=37c37%0a%3c || [[Vmm/Plan9|Plan9front]] || Works ||%0a---%0a> || [[Vmm/Plan9|Plan 9]] || Works ||%0a39a40%0a> || [[Vmm/BeOSIso|BeOS]] || Untested ||%0a +host:1629548702=5.238.165.218 +author:1629548274=jrmu +diff:1629548274:1629547915:=39,41d38%0a%3c || [[Vmm/HaikuIso|Haiku]] || Untested ||%0a%3c || [[Vmm/BeOSIso|BeOS]] || Untested ||%0a%3c || [[Vmm/OpenIndianaIso|OpenIndiana]] || Untested ||%0a +host:1629548274=38.87.162.8 +author:1629547915=jrmu +diff:1629547915:1629547711:=38d37%0a%3c || [[Vmm/ReactOSIso|ReactOS]] || Untested ||%0a +host:1629547915=38.87.162.8 +author:1629547711=jrmu +diff:1629547711:1629546866:=24,26c24%0a%3c || [[Vmm/Install|OpenBSD]] || Full Support ||%0a%3c || [[Vmm/FreeBSDIso|FreeBSD]] || Untested ||%0a%3c || [[Vmm/NetBSDIso|NetBSD]] || Untested ||%0a---%0a> || [[Vmm/install|OpenBSD]] || Full Support ||%0a28,34d25%0a%3c || [[Vmm/CentOSIso|CentOS]] || Untested ||%0a%3c || [[Vmm/UbuntuIso|Ubuntu]] || Untested ||%0a%3c || [[Vmm/FedoraIso|Fedora]] || Untested ||%0a%3c || [[Vmm/AlpineIso|Alpine]] || Works with customized ISO ||%0a%3c || [[Vmm/DevuanIso|Devuan]] || Works with customized ISO ||%0a%3c || [[Vmm/GentooIso|Gentoo]] || Untested ||%0a%3c || [[Vmm/SlackwareIso|Slackware]] || Untested ||%0a37c28%0a%3c || [[Vmm/Plan9|Plan 9]] || Works ||%0a---%0a> || [[Vmm/CentOS|CentOS]] || Untested ||%0a +host:1629547711=38.87.162.8 +author:1629546866=jrmu +diff:1629546866:1626704786:=5c5%0a%3c || [[ircnow/minutemin|Free OpenBSD VPS for Teammates]] || 1GB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || [[ircnow/minutemin|Free for Teammates]] || 1GB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a19,28d18%0a%3c %0a%3c OS Support Status:%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Distro ||! Status ||%0a%3c || [[Vmm/install|OpenBSD]] || Full Support ||%0a%3c || [[Vmm/DebianIso|Debian]] || Works with customized ISO ||%0a%3c || [[Vmm/GuixIso|Guix]] || Untested ||%0a%3c || [[Vmm/VoidIso|Void]] || Untested ||%0a%3c || [[Vmm/CentOS|CentOS]] || Untested ||%0a +host:1629546866=38.87.162.8 +author:1626704786=jrmu +diff:1626704786:1618454884:=5c5%0a%3c || [[ircnow/minutemin|Free for Teammates]] || 1GB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a18c18%0a%3c We are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a---%0a> We are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a\ No newline at end of file%0a +host:1626704786=38.87.162.8 +author:1618454884=jrmu +diff:1618454884:1618454872:=5c5%0a%3c || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB SSD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a +host:1618454884=198.251.81.119 +author:1618454872=jrmu +diff:1618454872:1615515635:=5c5%0a%3c || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a +host:1618454872=198.251.81.119 +author:1615515635=jrmu +diff:1615515635:1615515457:=12,16c12,14%0a%3c Be a pioneer on the Internet with your own virtual private server.%0a%3c %0a%3c If you join our team, you can claim your '''free''' homestead VPS today. Digital independence is '''FREE''' for the taking.%0a%3c %0a%3c If you prefer to work solo, you can purchase a homestead VPS.%0a---%0a> Be a pioneer on the Internet with your own virtual private server. Digital independence is '''FREE''' for the taking.%0a> %0a> Join our team and claim your '''free''' homestead VPS today.%0a +host:1615515635=198.251.81.119 +author:1615515457=jrmu +diff:1615515457:1614499645:=1,2c1,2%0a%3c (:title Homestead VPS:)%0a%3c %0a---%0a> (:title Free Homestead VPS:)%0a> %0a14c14%0a%3c Join our team and claim your '''free''' homestead VPS today.%0a---%0a> Claim your '''free''' homestead VPS today.%0a +host:1615515457=198.251.81.119 +author:1614499645=jrmu +diff:1614499645:1614499615:=14a15,16%0a> %0a> !! Setup%0a +host:1614499645=198.251.81.119 +author:1614499615=jrmu +diff:1614499615:1614499588:=5c5%0a%3c || [[ircnow/minutemin|Free for Teammates]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a---%0a> || [[ircnow/minutemin|Free]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a +host:1614499615=198.251.81.119 +author:1614499588=jrmu +diff:1614499588:1614499552:=3d2%0a%3c || border=1 width=100%25 class="sortable simpletable"%0a +host:1614499588=198.251.81.119 +author:1614499552=jrmu +diff:1614499552:1614499052:=3,6d2%0a%3c ||! Plan ||! RAM ||! Disk ||! Networking ||! Bandwidth ||%0a%3c || [[ircnow/minutemin|Free]] || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a%3c || $60USD/year || 1GB RAM || 20GB SSD || One IPv4 Address and IPv6 /64 subnet || 50Mbps burst ||%0a%3c %0a13a10,19%0a> %0a> !! Free Homestead VPS%0a> %0a> IRCNow offers free OpenBSD Homestead VPSes for [[ircnow/minutemin|minutemin]] who help with our network. If you are interested, [[ircnow/minutemin|please apply]].%0a> %0a> OpenBSD virtual private servers include:%0a> %0a> ||! Plan ||! RAM ||! Disk ||! Networking ||! Bandwidth ||%0a> || Free || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a> || $60USD/year || 1GB RAM || 20GB SSD || One IPv4 Address and IPv6 /64 subnet || 50Mbps burst ||%0a +host:1614499552=198.251.81.119 +author:1614499052=jrmu +diff:1614499052:1614499012:=19c19,20%0a%3c || $60USD/year || 1GB RAM || 20GB SSD || One IPv4 Address and IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || $60USD/year || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a> %0a +host:1614499052=198.251.81.119 +author:1614499012=jrmu +diff:1614499012:1614498671:=2a3,4%0a> Be a pioneer on the Wild West of IRC.%0a> %0a7,8c9,10%0a%3c Be a pioneer on the Internet with your own virtual private server. Digital independence is '''FREE''' for the taking.%0a%3c %0a---%0a> If you want independence, you want your own servers. Frontier servers are '''FREE''' for the taking.%0a> %0a13,14c15,16%0a%3c IRCNow offers free OpenBSD Homestead VPSes for [[ircnow/minutemin|minutemin]] who help with our network. If you are interested, [[ircnow/minutemin|please apply]].%0a%3c %0a---%0a> IRCNow offers free OpenBSD Homestead virtual private servers for [[ircnow/team|teammates]] who help with our network. If you are interested, [[ircnow/team|please apply]].%0a> %0a17,18c19,25%0a%3c ||! Plan ||! RAM ||! Disk ||! Networking ||! Bandwidth ||%0a%3c || Free || 512MB RAM || 20GB HDD || One IPv4 address and IPv6 /80 subnet || 50Mbps burst ||%0a---%0a> || Free || 512MB RAM || 20GB HDD || 1 Shared IPv4 Address || IPv6 /80 subnet || 50Mbps burst ||%0a> %0a> %0a> !! Paid Plans%0a> %0a> IRCNow offers paid OpenBSD Virtual Private Servers (VPSes) in New York:%0a> %0a +host:1614499012=198.251.81.119 +author:1614498671=jrmu +diff:1614498671:1612518864:=1,12c1,8%0a%3c (:title Free Homestead VPS:)%0a%3c %0a%3c Be a pioneer on the Wild West of IRC.%0a%3c %0a%3c %25width=400px rfloat%25 Attach:Marketing/herdquit.jpg%0a%3c %0a%3c Don't build your digital life and business on a cloud platform controlled by a corporate monopoly. There's no future there. The system is rigged against you.%0a%3c %0a%3c If you want independence, you want your own servers. Frontier servers are '''FREE''' for the taking.%0a%3c %0a%3c Claim your '''free''' homestead VPS today.%0a%3c %0a---%0a> (:title OpenBSD Virtual Private Servers:)%0a> %0a> !! Paid Plans%0a> %0a> IRCNow offers paid OpenBSD Virtual Private Servers (VPSes) in New York:%0a> %0a> || $60USD/year || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a> %0a20,27d15%0a%3c %0a%3c %0a%3c !! Paid Plans%0a%3c %0a%3c IRCNow offers paid OpenBSD Virtual Private Servers (VPSes) in New York:%0a%3c %0a%3c || $60USD/year || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a%3c %0a +host:1614498671=198.251.81.119 +author:1612518864=jrmu +diff:1612518864:1612149621:=9,11c9,11%0a%3c !! Free Homestead VPS%0a%3c %0a%3c IRCNow offers free OpenBSD Homestead virtual private servers for [[ircnow/team|teammates]] who help with our network. If you are interested, [[ircnow/team|please apply]].%0a---%0a> !! Free Plans%0a> %0a> IRCNow offers free OpenBSD virtual private servers for [[ircnow/team|teammates]] who help with our network. If you are interested, [[ircnow/team|please apply]].%0a +host:1612518864=198.251.81.119 +author:1612149621=jrmu +diff:1612149621:1612056264:=5c5%0a%3c IRCNow offers paid OpenBSD Virtual Private Servers (VPSes) in New York:%0a---%0a> IRCNow offers paid OpenBSD Virtual Private Servers (VPSes):%0a +host:1612149621=125.224.24.163 +author:1612056264=jrmu +diff:1612056264:1612055985:=15c15%0a%3c || Free || 512MB RAM || 20GB HDD || 1 Shared IPv4 Address || IPv6 /80 subnet || 50Mbps burst ||%0a---%0a> || 512MB RAM || 20GB HDD || 1 Shared IPv4 Address || IPv6 /80 subnet || 2 Mbps sustained || 50Mbps burst ||%0a +host:1612056264=125.224.24.163 +author:1612055985=jrmu +diff:1612055985:1612055821:=8a9,11%0a> We are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a> %0a> %0a16,17d18%0a%3c %0a%3c !! Setup%0a +host:1612055985=125.224.24.163 +author:1612055821=jrmu +diff:1612055821:1612055793:=3,4d2%0a%3c !! Paid Plans%0a%3c %0a10,12d7%0a%3c %0a%3c %0a%3c !! Free Plans%0a +host:1612055821=125.224.24.163 +author:1612055793=jrmu +diff:1612055793:1612055264:=5c5%0a%3c || $60USD/year || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a---%0a> || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a +host:1612055793=125.224.24.163 +author:1612055264=jrmu +diff:1612055264:1609472420:=2,7d1%0a%3c %0a%3c IRCNow offers paid OpenBSD Virtual Private Servers (VPSes):%0a%3c %0a%3c || 1GB RAM || 20GB SSD || 1 Shared IPv4 Address || IPv6 /64 subnet || 50Mbps burst ||%0a%3c %0a%3c We are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a +host:1612055264=125.224.24.163 +author:1609472420=jrmu +diff:1609472420:1609472388:=7c7,12%0a%3c || 512MB RAM || 20GB HDD || 1 Shared IPv4 Address || IPv6 /80 subnet || 2 Mbps sustained || 50Mbps burst ||%0a---%0a> - 512MB RAM%0a> - 20GB HDD%0a> - 1 Shared IPv4 Address%0a> - IPv6 /80 subnet%0a> - 2 Mbps sustained%0a> - 50Mbps burst%0a +host:1609472420=198.251.81.119 +author:1609472388=jrmu +diff:1609472388:1597240872:=3,7c3,5%0a%3c IRCNow offers free OpenBSD virtual private servers for [[ircnow/team|teammates]] who help with our network. If you are interested, [[ircnow/team|please apply]].%0a%3c %0a%3c OpenBSD virtual private servers include:%0a%3c %0a%3c - 512MB RAM%0a---%0a> IRCNow is planning to offer OpenBSD VPSes in the future.%0a> %0a> - 1GB RAM%0a9,10c7,8%0a%3c - 1 Shared IPv4 Address%0a%3c - IPv6 /80 subnet%0a---%0a> - 1 IPv4 Address%0a> - IPv6 /64 subnet%0a14c12,13%0a%3c We are running on [[openbsd/vmm|VMM]]. Consult the [[openbsd/vmminstall|VMM install guide]] and [[openbsd/vmmuser|VMM user guide]] for more details.%0a\ No newline at end of file%0a---%0a> %0a> [[vps/intro|Intro Guide]]%0a\ No newline at end of file%0a +host:1609472388=198.251.81.119 +author:1597240872=jrmu +diff:1597240872:1597240859:=5,10c5,10%0a%3c - 1GB RAM%0a%3c - 20GB HDD%0a%3c - 1 IPv4 Address%0a%3c - IPv6 /64 subnet%0a%3c - 2 Mbps sustained%0a%3c - 50Mbps burst%0a---%0a> # 1GB RAM%0a> # 20GB HDD%0a> # 1 IPv4 Address%0a> # IPv6 /64 subnet%0a> # 2 Mbps sustained%0a> # 50Mbps burst%0a +host:1597240872=38.81.163.143 +author:1597240859=jrmu +diff:1597240859:1597239725:=4,10d3%0a%3c %0a%3c # 1GB RAM%0a%3c # 20GB HDD%0a%3c # 1 IPv4 Address%0a%3c # IPv6 /64 subnet%0a%3c # 2 Mbps sustained%0a%3c # 50Mbps burst%0a +host:1597240859=38.81.163.143 +author:1597239725=jrmu +diff:1597239725:1597118211:=6c6%0a%3c [[vps/intro|Intro Guide]]%0a\ No newline at end of file%0a---%0a> [[openbsd/vmm/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1597239725=38.81.163.143 +author:1597118211=jrmu +diff:1597118211:1596457556:=1,4c1,3%0a%3c (:title OpenBSD Virtual Private Servers:)%0a%3c %0a%3c IRCNow is planning to offer OpenBSD VPSes in the future.%0a%3c %0a---%0a> (:title OpenBSD VPSes hosted on VMM:)%0a> %0a> IRCNow is planning to offer OpenBSD VPSes in the future. For now, we can only offer them to teammates.%0a +host:1597118211=38.81.163.143 +author:1596457556=jrmu +diff:1596457556:1596457530:=1,2d0%0a%3c (:title OpenBSD VPSes hosted on VMM:)%0a%3c %0a +host:1596457556=38.81.163.143 +author:1596457530=jrmu +diff:1596457530:1596457530:=1,3d0%0a%3c IRCNow is planning to offer OpenBSD VPSes in the future. For now, we can only offer them to teammates.%0a%3c %0a%3c [[openbsd/vmm/newuser|New User Guide]]%0a\ No newline at end of file%0a +host:1596457530=38.81.163.143 blob - /dev/null blob + 7db954bbb10fd206fca69e882539dc96690b0fa3 (mode 644) --- /dev/null +++ wiki.d/Web101.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0 +charset=UTF-8 +ctime=1628612433 +host=71.61.236.250 +name=Web101.RecentChanges +rev=1 +text=* [[Web101/Web101]] . . . August 10, 2021, at 04:20 PM by [[~craziness]]: [=started web101=]%0a +time=1628612433 blob - /dev/null blob + a40ae360e3b637c8eee2a2cda0e8f9aaf5b439df (mode 644) --- /dev/null +++ wiki.d/Web101.Web101 @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0 +author=craziness +charset=UTF-8 +csum=started web101 +ctime=1628612433 +host=71.61.236.250 +name=Web101.Web101 +rev=1 +targets= +text=! Welcome to web101%0a!! Description%0aWeb101 is about making your website with HTML4 and CSS2%0a! Progress%0a!! web101 is a WIP (work in progress!) This is the first tutorial (WIP)%0ahttp://craziness.host.oddprotocol.org/tut/ %0a!!! we are currently working on it. +time=1628612433 +author:1628612433=craziness +csum:1628612433=started web101 +diff:1628612433:1628612433:=1,7d0%0a%3c ! Welcome to web101%0a%3c !! Description%0a%3c Web101 is about making your website with HTML4 and CSS2%0a%3c ! Progress%0a%3c !! web101 is a WIP (work in progress!) This is the first tutorial (WIP)%0a%3c http://craziness.host.oddprotocol.org/tut/ %0a%3c !!! we are currently working on it.%0a\ No newline at end of file%0a +host:1628612433=71.61.236.250 blob - /dev/null blob + 03423c0af8cfb3ab5903cdeb6b55d050ea16ec99 (mode 644) --- /dev/null +++ wiki.d/Webnews.Install @@ -0,0 +1,42 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1613879572 +host=198.251.81.119 +name=Webnews.Install +rev=10 +targets=Openhttpd.Perl +text=First, see the [[openhttpd/perl|perl install]].%0a%0a[@%0a$ ftp http://www.dgate.org/webnews/tars/webnews-1.3.1.tar.gz%0a$ doas mv webnews /var/www/htdocs/%0a$ doas chown -R www:daemon /var/www/htdocs/webnews%0a@]%0a%0aAs normal user:%0a%0a[@%0a$ cpan%0a...%0aWhat approach do you want? (Choose 'local::lib', 'sudo' or 'manual')%0a [local::lib] %0a...%0acpan[1]> install News::NNTPClient%0acpan[2]> install News::Newsrc%0acpan[3]> install Set::IntSpan%0acpan[4]> install Text::Wrap%0acpan[5]> install HTTP::Date%0acpan[6]> install MIME::QuotedPrint%0acpan[7]> install MIME::Base64%0a@]%0a%0aThen we need to copy the perl libraries:%0a%0a[@%0a$ doas mkdir -p /var/www/usr/local/libdata/%0a$ doas cp -R /usr/local/libdata/perl5 /var/www/usr/local/libdata/%0a@]%0a%0aWe need to change two lines in /var/www/htdocs/webnews/webnews.cgi:%0a%0a[@%0aBEGIN { $CONFFILE = '/htdocs/webnews/webnews.conf'; }%0aBEGIN { $INSTALLDIR = '/htdocs/webnews'; }%0a@]%0a%0aNext we set up the conf file:%0a%0a[@%0a$ doas cp /var/www/htdocs/webnews/webnews.conf.example /var/www/htdocs/webnews/webnews.conf%0a@]%0a%0aThen make a few changes to /var/www/htdocs/webnews/webnews.conf:%0a%0a[@%0a$SERVER = 'example.ircnow.org';%0a$WNDIR = '/htdocs/webnews';%0a$BASEURL = '/';%0a@]%0a%0a!! Troubleshooting%0a%0a[@%0aNews::NNTPClient: Bad hostname: news.oddprotocol.cf at /htdocs/news/webnews.cgi line 119. News::NNTPClient:News::NNTPClient::SOCK1 has been closed at /htdocs/news/webnews.cgi line 147. News::NNTPClient: News::NNTPClient::SOCK1 has been closed at /htdocs/news/webnews.cgi line 169. Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/local/libdata/perl5/site_perl/News/NNTPClient.pm line 102. News::NNTPClient unexpected EOF on News::NNTPClient::SOCK1 at /htdocs/news/webnews.cgi line 0.%0a@]%0a%0asolution is to create /var/www/etc/resolv.conf +time=1615223634 +author:1615223634=jrmu +diff:1615223634:1613886417:=52,60c52%0a%3c @]%0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c [@%0a%3c News::NNTPClient: Bad hostname: news.oddprotocol.cf at /htdocs/news/webnews.cgi line 119. News::NNTPClient:News::NNTPClient::SOCK1 has been closed at /htdocs/news/webnews.cgi line 147. News::NNTPClient: News::NNTPClient::SOCK1 has been closed at /htdocs/news/webnews.cgi line 169. Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/local/libdata/perl5/site_perl/News/NNTPClient.pm line 102. News::NNTPClient unexpected EOF on News::NNTPClient::SOCK1 at /htdocs/news/webnews.cgi line 0.%0a%3c @]%0a%3c %0a%3c solution is to create /var/www/etc/resolv.conf%0a\ No newline at end of file%0a---%0a> @]%0a\ No newline at end of file%0a +host:1615223634=198.251.81.119 +author:1613886417=jrmu +diff:1613886417:1613882730:=40,52d39%0a%3c Next we set up the conf file:%0a%3c %0a%3c [@%0a%3c $ doas cp /var/www/htdocs/webnews/webnews.conf.example /var/www/htdocs/webnews/webnews.conf%0a%3c @]%0a%3c %0a%3c Then make a few changes to /var/www/htdocs/webnews/webnews.conf:%0a%3c %0a%3c [@%0a%3c $SERVER = 'example.ircnow.org';%0a%3c $WNDIR = '/htdocs/webnews';%0a%3c $BASEURL = '/';%0a%3c @]%0a\ No newline at end of file%0a +host:1613886417=198.251.81.119 +author:1613882730=jrmu +diff:1613882730:1613882613:= +host:1613882730=198.251.81.119 +author:1613882613=jrmu +diff:1613882613:1613881473:=26,27d25%0a%3c Then we need to copy the perl libraries:%0a%3c %0a32,39d29%0a%3c %0a%3c We need to change two lines in /var/www/htdocs/webnews/webnews.cgi:%0a%3c %0a%3c [@%0a%3c BEGIN { $CONFFILE = '/htdocs/webnews/webnews.conf'; }%0a%3c BEGIN { $INSTALLDIR = '/htdocs/webnews'; }%0a%3c @]%0a%3c %0a +host:1613882613=198.251.81.119 +author:1613881473=jrmu +diff:1613881473:1613881022:=24,29c24%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas mkdir -p /var/www/usr/local/libdata/%0a%3c $ doas cp -R /usr/local/libdata/perl5 /var/www/usr/local/libdata/%0a%3c @]%0a---%0a> @]%0a\ No newline at end of file%0a +host:1613881473=198.251.81.119 +author:1613881022=jrmu +diff:1613881022:1613881012:= +host:1613881022=198.251.81.119 +author:1613881012=jrmu +diff:1613881012:1613879805:=16,23d15%0a%3c ...%0a%3c cpan[1]> install News::NNTPClient%0a%3c cpan[2]> install News::Newsrc%0a%3c cpan[3]> install Set::IntSpan%0a%3c cpan[4]> install Text::Wrap%0a%3c cpan[5]> install HTTP::Date%0a%3c cpan[6]> install MIME::QuotedPrint%0a%3c cpan[7]> install MIME::Base64%0a +host:1613881012=198.251.81.119 +author:1613879805=jrmu +diff:1613879805:1613879685:=7,15d6%0a%3c @]%0a%3c %0a%3c As normal user:%0a%3c %0a%3c [@%0a%3c $ cpan%0a%3c ...%0a%3c What approach do you want? (Choose 'local::lib', 'sudo' or 'manual')%0a%3c [local::lib] %0a +host:1613879805=125.231.57.76 +author:1613879685=jrmu +diff:1613879685:1613879572:=3,7d2%0a%3c [@%0a%3c $ ftp http://www.dgate.org/webnews/tars/webnews-1.3.1.tar.gz%0a%3c $ doas mv webnews /var/www/htdocs/%0a%3c $ doas chown -R www:daemon /var/www/htdocs/webnews%0a%3c @]%0a\ No newline at end of file%0a +host:1613879685=125.231.57.76 +author:1613879572=jrmu +diff:1613879572:1613879572:=1,2d0%0a%3c First, see the [[openhttpd/perl|perl install]].%0a%3c %0a +host:1613879572=125.231.57.76 blob - /dev/null blob + d11ae7a9adbb6f80caabf8dc33120a6134cf16a2 (mode 644) --- /dev/null +++ wiki.d/Webnews.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:82.0) Gecko/20100101 Firefox/82.0 +charset=UTF-8 +ctime=1613879572 +host=198.251.81.119 +name=Webnews.RecentChanges +rev=10 +text=* [[Webnews/Install]] . . . March 08, 2021, at 05:13 PM by [[~jrmu]]: [==]%0a +time=1615223634 blob - /dev/null blob + bdb5211ea68c79514740acdad5c080a4864568b3 (mode 644) --- /dev/null +++ wiki.d/Weechat.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1617496819 +host=198.251.81.133 +name=Weechat.RecentChanges +rev=6 +text=* [[Weechat/Relay]] . . . September 11, 2021, at 05:46 PM by [[~mkf]]: [==]%0a +time=1631382405 blob - /dev/null blob + 5ddc9f29abde63261844eae2e10d0002985d5952 (mode 644) --- /dev/null +++ wiki.d/Weechat.Relay @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1617496819 +host=198.251.81.133 +name=Weechat.Relay +rev=6 +targets=Acme-client.Configure +text=(:title Weechat Relay:)%0a%0aThis document is the specification of WeeChat Relay protocol: the protocol used to relay WeeChat data to clients, which are mostly remote interfaces.%0a%0a%0aIn this document, relay means WeeChat with relay plugin, which acts as "server" and allows clients to connect. Client mean the program you used to connect to your relay.%0a%0aTo use Weechat and Weechat Relay on OpenBSD you would need to follow those steps:%0a%0a'''Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org|glowing bear]] web interface '''%0a%0a[@%0a$ weechat%0a@]%0a%0a'''Note: Before you start setup Weechat Relay you will need to disable Listening to Ipv6 for it to work, at the moment it has an issue if Ipv6 is enabled for relay it binds only on Ipv6, it won't be an issue if you do own an Ipv6.'''%0a%0aFor this after you open weechat you would need to run:%0a%0a[@%0a/set relay.network.ipv6 off%0a@]%0a%0aRelay setup%0a%0aOn the server's instance of weechat:%0a[@%0a /relay add ssl.irc 8001%0a /secure set relay WHATEVER_PASSWORD%0a /set relay.network.password "${sec.data.relay}"%0a@]%0a %0aOn the server, to generate the ssl certificate using OpenSSL:%0a[@%0a mkdir -p ~/.weechat/ssl%0a cd ~/.weechat/ssl%0a openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem%0a@]%0a%0a'''Note: you can use [[Acme-client.configure|acme-client]] as well'''%0a%0aOn the client's instance of weechat:%0a[@%0a /server add ircnow irc.ircnow.org%0a /connect ircnow%0a@]%0a%0a%0a +time=1631382405 +title=Weechat Relay +author:1631382405=mkf +diff:1631382405:1631382310:=10c10%0a%3c '''Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org|glowing bear]] web interface '''%0a---%0a> '''Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org]] '''%0a +host:1631382405=198.251.81.133 +author:1631382310=mkf +diff:1631382310:1631382267:minor=1c1%0a%3c (:title Weechat Relay:)%0a---%0a> (:Weechat Relay:)%0a +host:1631382310=198.251.81.133 +author:1631382267=mkf +csum:1631382267=mentioning use of Acme-client, few rewording and monospacing +diff:1631382267:1618202065:=1,2c1,5%0a%3c (:Weechat Relay:)%0a%3c %0a---%0a> !! Weechat Relay%0a> %0a> '''Short introduction for what "Weechat Relay is"'''%0a> %0a> 1. Introduction%0a5,7c8,16%0a%3c %0a%3c In this document, relay means WeeChat with relay plugin, which acts as "server" and allows clients to connect. Client mean the program you used to connect to your relay.%0a%3c %0a---%0a> 1.1. Terminology%0a> The following terms are used in this document:%0a> %0a> relay: this is the WeeChat with relay plugin, which acts as "server" and allows clients to connect%0a> %0a> client: this is another software, connected to relay via a network connection; in most cases, this client is a remote interface.%0a> %0a> ----%0a> %0a10,17c19,23%0a%3c '''Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org]] '''%0a%3c %0a%3c [@%0a%3c $ weechat%0a%3c @]%0a%3c %0a%3c '''Note: Before you start setup Weechat Relay you will need to disable Listening to Ipv6 for it to work, at the moment it has an issue if Ipv6 is enabled for relay it binds only on Ipv6, it won't be an issue if you do own an Ipv6.'''%0a%3c %0a---%0a> Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org]]%0a> %0a> ''' $ weechat '''%0a> %0a> NOTE: Before you start setup Weechat Relay you will need to disable Listening to Ipv6 for it to work, at the moment it has an issue if Ipv6 is enabled for relay it binds only on Ipv6, it won't be an issue if you do own an Ipv6.%0a20,23c26,27%0a%3c [@%0a%3c /set relay.network.ipv6 off%0a%3c @]%0a%3c %0a---%0a> ''' /set relay.network.ipv6 off '''%0a> %0a27,28c31%0a%3c [@%0a%3c /relay add ssl.irc 8001%0a---%0a> ''' /relay add ssl.irc 8001%0a30,31c33%0a%3c /set relay.network.password "${sec.data.relay}"%0a%3c @]%0a---%0a> /set relay.network.password "${sec.data.relay}"'''%0a33,35c35,36%0a%3c On the server, to generate the ssl certificate using OpenSSL:%0a%3c [@%0a%3c mkdir -p ~/.weechat/ssl%0a---%0a> On the server, to generate the ssl certificate:%0a> ''' mkdir -p ~/.weechat/ssl%0a37,41c38,39%0a%3c openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem%0a%3c @]%0a%3c %0a%3c '''Note: you can use [[Acme-client.configure|acme-client]] as well'''%0a%3c %0a---%0a> openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem'''%0a> %0a43,44c41%0a%3c [@%0a%3c /server add ircnow irc.ircnow.org%0a---%0a> ''' /server add ircnow irc.ircnow.org%0a46c43,44%0a%3c @]%0a---%0a> '''%0a> -Enjoy%0a +host:1631382267=198.251.81.133 +author:1618202065=monaco +diff:1618202065:1617506474:=21,22c21,22%0a%3c ''' $ weechat '''%0a%3c %0a---%0a> '''$ weechat'''%0a> %0a26c26%0a%3c ''' /set relay.network.ipv6 off '''%0a---%0a> '''/set relay.network.ipv6 off'''%0a +host:1618202065=185.173.204.160 +author:1617506474=monaco +diff:1617506474:1617496819:=0a1%0a> %0a21,22c22,23%0a%3c '''$ weechat'''%0a%3c %0a---%0a> $ weechat%0a> %0a31c32%0a%3c ''' /relay add ssl.irc 8001%0a---%0a> /relay add ssl.irc 8001%0a33c34%0a%3c /set relay.network.password "${sec.data.relay}"'''%0a---%0a> /set relay.network.password "${sec.data.relay}"%0a36c37%0a%3c ''' mkdir -p ~/.weechat/ssl%0a---%0a> mkdir -p ~/.weechat/ssl%0a38,39c39,40%0a%3c openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem'''%0a%3c %0a---%0a> openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem%0a> %0a41c42%0a%3c ''' /server add ircnow irc.ircnow.org%0a---%0a> /server add ircnow irc.ircnow.org%0a43c44%0a%3c '''%0a---%0a> %0a +host:1617506474=185.173.204.160 +author:1617496819=monaco +csum:1617496819=weechat relay +diff:1617496819:1617496819:=1,47d0%0a%3c %0a%3c !! Weechat Relay%0a%3c %0a%3c '''Short introduction for what "Weechat Relay is"'''%0a%3c %0a%3c 1. Introduction%0a%3c This document is the specification of WeeChat Relay protocol: the protocol used to relay WeeChat data to clients, which are mostly remote interfaces.%0a%3c %0a%3c 1.1. Terminology%0a%3c The following terms are used in this document:%0a%3c %0a%3c relay: this is the WeeChat with relay plugin, which acts as "server" and allows clients to connect%0a%3c %0a%3c client: this is another software, connected to relay via a network connection; in most cases, this client is a remote interface.%0a%3c %0a%3c ----%0a%3c %0a%3c To use Weechat and Weechat Relay on OpenBSD you would need to follow those steps:%0a%3c %0a%3c Note: Start this on tmux then you can detach from it and use it as a relay from [[https://glowing-bear.org]]%0a%3c %0a%3c $ weechat%0a%3c %0a%3c NOTE: Before you start setup Weechat Relay you will need to disable Listening to Ipv6 for it to work, at the moment it has an issue if Ipv6 is enabled for relay it binds only on Ipv6, it won't be an issue if you do own an Ipv6.%0a%3c For this after you open weechat you would need to run:%0a%3c %0a%3c '''/set relay.network.ipv6 off'''%0a%3c %0a%3c Relay setup%0a%3c %0a%3c On the server's instance of weechat:%0a%3c /relay add ssl.irc 8001%0a%3c /secure set relay WHATEVER_PASSWORD%0a%3c /set relay.network.password "${sec.data.relay}"%0a%3c %0a%3c On the server, to generate the ssl certificate:%0a%3c mkdir -p ~/.weechat/ssl%0a%3c cd ~/.weechat/ssl%0a%3c openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem%0a%3c %0a%3c On the client's instance of weechat:%0a%3c /server add ircnow irc.ircnow.org%0a%3c /connect ircnow%0a%3c %0a%3c -Enjoy%0a%3c %0a%3c %0a +host:1617496819=185.173.204.160 blob - /dev/null blob + e837c460533d45fbc909475f6df9b8191660092a (mode 644) --- /dev/null +++ wiki.d/Wordpress.Install @@ -0,0 +1,18 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1622782574 +host=188.210.102.116 +name=Wordpress.Install +rev=2 +targets= +text='''Install WordPress on OpenBSD'''%0a!!!Introduction%0aThis post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a%0a!!!Installation of packages%0aYou can install all the required software that is not part of OpenBSD base from the packages:%0a[@%0a$ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0a@]%0a%0aThe PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a%0a!!!Configuration of PHP%0aYou must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a[@%0a$ cd /etc/php-7.4.sample/%0a$ for i in * ; do doas ln -sf ../php-7.4.sample/$i ../php-7.4/ ; done%0a@]%0a%0a!!!Configuration of MariaDB%0aI recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a[@%0amysqld:\%0a :openfiles-cur=1024:\%0a :openfiles-max=2048:\%0a :tc=daemon:%0a@]%0a%0a!!!Create the initial database for MariaDB:%0a[@%0a$ doas mysql_install_db%0a@]%0a%0aNow you can start mysqld(8) and secure the installation:%0a[@%0a$ doas rcctl enable mysqld%0a$ doas rcctl start mysqld%0a$ doas mysql_secure_installation%0a@]%0a%0aWith httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a[@%0a$ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0a@]%0a%0aSecond you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a[@%0a[client-server]%0asocket = /var/www/var/run/mysql/mysql.sock%0a@]%0a%0aYou must restart mysqld(8) in order to activate the new socket:%0a[@%0a$ doas rcctl restart mysqld%0a@]%0aThe last step is to create the database for WordPress:%0a[@%0a$ mysql -u root -p%0aEnter password:%0aWelcome to the MariaDB monitor. Commands end with ; or \g.%0aYour MariaDB connection id is 3%0aServer version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a%0aCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a%0aType 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a%0aMariaDB [(none)]> CREATE DATABASE wordpress;%0aQuery OK, 1 row affected (0.01 sec)%0a%0aMariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a -> IDENTIFIED BY "password";%0aQuery OK, 1 row affected (0.00 sec)%0a%0aMariaDB [(none)]> FLUSH PRIVILEGES;%0aQuery OK, 1 row affected (0.00 sec)%0a%0aMariaDB [(none)]> EXIT%0aBye%0a@]%0a%0a!!!Configuration of httpd(8)%0aI assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for %0ayou:%0a[@%0aserver "default" {%0a listen on egress port http%0a log style combined%0a%0a root "/wordpress"%0a directory index index.php%0a location "*.php" {%0a fastcgi socket "/run/php-fpm.sock"%0a }%0a}%0a%0atypes {%0a include "/usr/share/misc/mime.types"%0a}%0a@]%0aYou may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a%0aIn order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a[@%0a$ cd /var/www%0a$ doas mkdir etc%0a$ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0a@]%0aInstallation of WordPress%0aFirst you should fetch the latest version of WordPress:%0a[@%0a$ cd%0a$ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0a@]%0aNext you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a[@%0a$ cd /var/www%0a$ doas tar xzf /home/user/wordpress.tar.gz%0a$ cd wordpress%0a$ find . -type d -exec doas chown www:daemon {} \;%0a$ find . -type f -exec doas chown www:bin {} \;%0a$ doas cp wp-config-sample.php wp-config.php%0a@]%0a%0aEdit the new file wp-config.php and add or set the following values:%0a[@%0adefine('DB_NAME', 'wordpress');%0adefine('DB_USER', 'wordpress');%0adefine('DB_PASSWORD', 'password');%0adefine('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0a@]%0a%0aWordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a[@%0adefine('WP_PROXY_HOST', 'proxy.example.net');%0adefine('WP_PROXY_PORT', '8080');%0adefine('WP_PROXY_USERNAME', '');%0adefine('WP_PROXY_PASSWORD', '');%0adefine('WP_PROXY_BYPASS_HOSTS', 'localhost');%0aStart services and finish setup%0a@]%0a%0aNow it is time to actually start httpd(8) and php-fpm:%0a[@%0a$ doas rcctl enable php74_fpm httpd%0a$ doas rcctl start php74_fpm httpd%0a@]%0a%0aIf both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a +time=1626893967 +author:1626893967=mkf +diff:1626893967:1622782574:=2c2,3%0a%3c !!!Introduction%0a---%0a> %0a> '''Introduction'''%0a5c6%0a%3c !!!Installation of packages%0a---%0a> '''Installation of packages'''%0a7c8%0a%3c [@%0a---%0a> %0a9,10d9%0a%3c @]%0a%3c %0a13c12%0a%3c !!!Configuration of PHP%0a---%0a> '''Configuration of PHP'''%0a15c14%0a%3c [@%0a---%0a> %0a17,20c16,23%0a%3c $ for i in * ; do doas ln -sf ../php-7.4.sample/$i ../php-7.4/ ; done%0a%3c @]%0a%3c %0a%3c !!!Configuration of MariaDB%0a---%0a> %0a> $ for i in * ; do%0a> %0a> > doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a> %0a> > done%0a> %0a> '''Configuration of MariaDB'''%0a22c25%0a%3c [@%0a---%0a> %0a27,30c30,32%0a%3c @]%0a%3c %0a%3c !!!Create the initial database for MariaDB:%0a%3c [@%0a---%0a> %0a> '''Create the initial database for MariaDB:'''%0a> %0a32,33d33%0a%3c @]%0a%3c %0a35c35%0a%3c [@%0a---%0a> %0a39,40d38%0a%3c @]%0a%3c %0a42c40%0a%3c [@%0a---%0a> %0a44,45d41%0a%3c @]%0a%3c %0a47c43%0a%3c [@%0a---%0a> %0a50,51d45%0a%3c @]%0a%3c %0a53c47%0a%3c [@%0a---%0a> %0a55d48%0a%3c @]%0a57c50%0a%3c [@%0a---%0a> %0a80,85c73,76%0a%3c @]%0a%3c %0a%3c !!!Configuration of httpd(8)%0a%3c I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for %0a%3c you:%0a%3c [@%0a---%0a> %0a> '''Configuration of httpd(8)'''%0a> I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a> %0a100d90%0a%3c @]%0a104c94%0a%3c [@%0a---%0a> %0a108d97%0a%3c @]%0a111c100%0a%3c [@%0a---%0a> %0a114d102%0a%3c @]%0a116c104%0a%3c [@%0a---%0a> %0a123,124d110%0a%3c @]%0a%3c %0a126c112%0a%3c [@%0a---%0a> %0a131,132d116%0a%3c @]%0a%3c %0a134c118%0a%3c [@%0a---%0a> %0a141,142d124%0a%3c @]%0a%3c %0a144c126%0a%3c [@%0a---%0a> %0a147,148d128%0a%3c @]%0a%3c %0a +host:1626893967=188.210.102.116 +author:1622782574=usr +diff:1622782574:1622782574:=1,129d0%0a%3c '''Install WordPress on OpenBSD'''%0a%3c %0a%3c '''Introduction'''%0a%3c This post shows you how to install WordPress on OpenBSD. It uses httpd(8) as web server, PHP, and MariaDB as database.%0a%3c %0a%3c '''Installation of packages'''%0a%3c You can install all the required software that is not part of OpenBSD base from the packages:%0a%3c %0a%3c $ doas pkg_add -i php-mysqli php-curl php-gd php-zip pecl74-imagick mariadb-server%0a%3c The PHP packages will present you a list of available versions. I recommend you choose the latest one available. At the time of writing this will be 7.4 on OpenBSD 6.7-release.%0a%3c %0a%3c '''Configuration of PHP'''%0a%3c You must make sure that the required PHP extensions are enabled. The easiest way to this is the following:%0a%3c %0a%3c $ cd /etc/php-7.4.sample/%0a%3c %0a%3c $ for i in * ; do%0a%3c %0a%3c > doas ln -sf ../php-7.4.sample/$i ../php-7.4/%0a%3c %0a%3c > done%0a%3c %0a%3c '''Configuration of MariaDB'''%0a%3c I recommend that you create a dedicated login group for mysqld - although the package readme tells you that you only need it on busy servers. Append the following to /etc/login.conf:%0a%3c %0a%3c mysqld:\%0a%3c :openfiles-cur=1024:\%0a%3c :openfiles-max=2048:\%0a%3c :tc=daemon:%0a%3c %0a%3c '''Create the initial database for MariaDB:'''%0a%3c %0a%3c $ doas mysql_install_db%0a%3c Now you can start mysqld(8) and secure the installation:%0a%3c %0a%3c $ doas rcctl enable mysqld%0a%3c $ doas rcctl start mysqld%0a%3c $ doas mysql_secure_installation%0a%3c With httpd(8) chrooted to /var/www you must make sure that the connection to the socket of the MariaDB server is available within the chroot. First create a folder in which the socket will be placed:%0a%3c %0a%3c $ doas install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql%0a%3c Second you must change the socket path in /etc/my.cnf. There is a section [client-server] which covers that for both with the option socket:%0a%3c %0a%3c [client-server]%0a%3c socket = /var/www/var/run/mysql/mysql.sock%0a%3c You must restart mysqld(8) in order to activate the new socket:%0a%3c %0a%3c $ doas rcctl restart mysqld%0a%3c The last step is to create the database for WordPress:%0a%3c %0a%3c $ mysql -u root -p%0a%3c Enter password:%0a%3c Welcome to the MariaDB monitor. Commands end with ; or \g.%0a%3c Your MariaDB connection id is 3%0a%3c Server version: 10.4.12-MariaDB OpenBSD port: mariadb-server-10.4.12v1%0a%3c %0a%3c Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.%0a%3c %0a%3c Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.%0a%3c %0a%3c MariaDB [(none)]> CREATE DATABASE wordpress;%0a%3c Query OK, 1 row affected (0.01 sec)%0a%3c %0a%3c MariaDB [(none)]> GRANT ALL PRIVILEGES on wordpress.* TO "wordpress"@"localhost"%0a%3c -> IDENTIFIED BY "password";%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> FLUSH PRIVILEGES;%0a%3c Query OK, 1 row affected (0.00 sec)%0a%3c %0a%3c MariaDB [(none)]> EXIT%0a%3c Bye%0a%3c %0a%3c '''Configuration of httpd(8)'''%0a%3c I assume that you want to run WordPress as the only web application on your server. If this is the case, the following httpd.conf(5) is for you:%0a%3c %0a%3c server "default" {%0a%3c listen on egress port http%0a%3c log style combined%0a%3c %0a%3c root "/wordpress"%0a%3c directory index index.php%0a%3c location "*.php" {%0a%3c fastcgi socket "/run/php-fpm.sock"%0a%3c }%0a%3c }%0a%3c %0a%3c types {%0a%3c include "/usr/share/misc/mime.types"%0a%3c }%0a%3c You may want to change the log style from combined to forwarded if you run httpd(8) behind a proxy that sets the headers X-Forwarded-For and X-Forwarded-Port.%0a%3c %0a%3c In order to make name resolving work within the chroot(2) you should copy your hosts(5) file and your resolv.conf(5) file into it:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas mkdir etc%0a%3c $ for f in hosts resolv.conf ; do doas cp /etc/$f etc/ ; done%0a%3c Installation of WordPress%0a%3c First you should fetch the latest version of WordPress:%0a%3c %0a%3c $ cd%0a%3c $ ftp -o wordpress.tar.gz https://wordpress.org/latest.tar.gz%0a%3c Next you can unpack the archive into the chroot of httpd(8), set the permissions and prepare for the configuration:%0a%3c %0a%3c $ cd /var/www%0a%3c $ doas tar xzf /home/user/wordpress.tar.gz%0a%3c $ cd wordpress%0a%3c $ find . -type d -exec doas chown www:daemon {} \;%0a%3c $ find . -type f -exec doas chown www:bin {} \;%0a%3c $ doas cp wp-config-sample.php wp-config.php%0a%3c Edit the new file wp-config.php and add or set the following values:%0a%3c %0a%3c define('DB_NAME', 'wordpress');%0a%3c define('DB_USER', 'wordpress');%0a%3c define('DB_PASSWORD', 'password');%0a%3c define('DB_HOST', 'localhost:/var/run/mysql/mysql.sock');%0a%3c WordPress needs access to web servers for downloading of themes and plugins. If you need to use a proxy for accessing web pages you can add the following values to wp-config.php:%0a%3c %0a%3c define('WP_PROXY_HOST', 'proxy.example.net');%0a%3c define('WP_PROXY_PORT', '8080');%0a%3c define('WP_PROXY_USERNAME', '');%0a%3c define('WP_PROXY_PASSWORD', '');%0a%3c define('WP_PROXY_BYPASS_HOSTS', 'localhost');%0a%3c Start services and finish setup%0a%3c Now it is time to actually start httpd(8) and php-fpm:%0a%3c %0a%3c $ doas rcctl enable php74_fpm httpd%0a%3c $ doas rcctl start php74_fpm httpd%0a%3c If both daemons are started you can finish the setup of WordPress by opening the URL of your web server in a browser, e. g. http://www.example.net/:%0a +host:1622782574=125.231.28.9 blob - /dev/null blob + 16588fc8567fc837eb7e49d265c0fbfd72c7b8ee (mode 644) --- /dev/null +++ wiki.d/Wordpress.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1622782574 +host=188.210.102.116 +name=Wordpress.RecentChanges +rev=2 +text=* [[Wordpress/Install]] . . . July 21, 2021, at 06:59 PM by [[~mkf]]: [==]%0a +time=1626893967 blob - /dev/null blob + 119f07530c2a50fe2fe5a28d53c0b26e57fb1dd9 (mode 644) --- /dev/null +++ wiki.d/Wraith.Chroot @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1627710562 +host=2.178.154.172 +name=Wraith.Chroot +rev=3 +targets=Openbsd.Dns,Openbsd.Backup,Openbsd.Netcat +text=(:title Wraith:)%0a''' Warrning: This guide was written for OpenBSD 6.8 and doesn't work on newer versions '''%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=1631254291 +title=Wraith +author:1631254291=mkf +diff:1631254291:1631254262:=2c2,3%0a%3c ''' Warrning: This guide was written for OpenBSD 6.8 and doesn't work on newer versions '''%0a---%0a> %0a> """ Warrning: This guide was written for OpenBSD 6.8 and doesn't work on newer versions """%0a +host:1631254291=2.178.154.172 +author:1631254262=mkf +csum:1631254262=fancy signs. +diff:1631254262:1627710562:=2,3d1%0a%3c %0a%3c """ Warrning: This guide was written for OpenBSD 6.8 and doesn't work on newer versions """%0a +host:1631254262=2.178.154.172 +author:1627710562=jrmu +diff:1627710562:1627710562:=1,329d0%0a%3c (:title Wraith:)%0a%3c %0a%3c [[https://wraith.botpack.net/|Wraith]] is a powerful botnet that can be used to manage and protect channels without services.%0a%3c %0a%3c Pros:%0a%3c # Stronger than eggdrop%0a%3c %0a%3c Cons:%0a%3c # Written in C++%0a%3c # OpenBSD is not officially supported%0a%3c # Complex, not easy to use%0a%3c %0a%3c First, 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%3c %0a%3c [[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%3c %0a%3c Here is a sample config:%0a%3c %0a%3c [@%0a%3c PACKNAME yourpackname%0a%3c BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a%3c DCCPREFIX .%0a%3c OWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB yourhubname hub.network.ircnow.org 12742%0a%3c SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a%3c SALT2 ThTQF8IFeEe5ox0i%0a%3c @]%0a%3c %0a%3c Create a salted password hash by choosing a random 5 character alphanumeric salt and random password:%0a%3c %0a%3c [@%0a%3c SALT='AbCd3'; PASS='aBcD3fgH1jK1'; hash=$(echo -n "${SALT}${PASS}" | sha1 | awk '{print $1}'); echo "+${SALT}\$${hash}"%0a%3c @]%0a%3c %0a%3c Run 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%3c %0a%3c Replace @@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%3c %0a%3c To generate SALT1 and SALT2, run this script: %0a%3c %0a%3c [@%0a%3c SALT1=`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%3c @]%0a%3c %0a%3c [[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%3c %0a%3c [@%0a%3c $ doas pkg_add gmake-4.3%0a%3c $ doas pkg_add g++-8.4.0%0a%3c $ cd ~%0a%3c $ ftp https://ircnow.org/software/wraith-v1.4.10a.tar.gz%0a%3c $ tar xvzf wraith-v1.4.10a.tar.gz%0a%3c $ cd wraith-v1.4.10/%0a%3c $ ./configure%0a%3c $ gmake%0a%3c @]%0a%3c %0a%3c Then, copy this install script into ~/wraith-setup.sh:%0a%3c %0a%3c [@%0a%3c WRAITHPATH=~/wraith-v1.4.10/wraith%0a%3c %0a%3c while [[ -n $USER ]]%0a%3c do%0a%3c print -n "Create new bot (WARNING: WILL DELETE!): ";%0a%3c read USER;%0a%3c doas userdel -rv $USER;%0a%3c doas groupdel -v $USER;%0a%3c doas useradd -m -g =uid -c "$USER" -d /home/$USER -s /bin/ksh $USER%0a%3c doas mkdir -p /home/$USER/usr/lib/%0a%3c doas mkdir -p /home/$USER/usr/libexec/%0a%3c doas mkdir -p /home/$USER/etc/%0a%3c doas mkdir -p /home/$USER/tmp/%0a%3c doas mkdir -p /home/$USER/.../%0a%3c doas cp $WRAITHPATH /home/$USER/%0a%3c doas cp /usr/lib/libssl.so.48.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libm.so.10.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libc.so.96.0 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libcrypto.so.46.1 /home/$USER/usr/lib/%0a%3c doas cp /usr/lib/libstdc++.so.57.0 /home/$USER/usr/lib/%0a%3c doas cp /usr/libexec/ld.so /home/$USER/usr/libexec/%0a%3c doas cp /etc/resolv.conf /home/$USER/etc/%0a%3c doas chown -R $USER:$USER /home/$USER%0a%3c doas su -l $USER -c "/home/$USER/wraith -Q"%0a%3c print -n "Botpack configured! Press enter to continue";%0a%3c read IGNORE;%0a%3c doas su -l $USER -c "/home/$USER/wraith -C"%0a%3c doas chsh -s /sbin/nologin $USER%0a%3c print -n "Bots configured! Press enter to continue";%0a%3c read IGNORE;%0a%3c done%0a%3c @]%0a%3c %0a%3c Run the script:%0a%3c %0a%3c [@%0a%3c $ sh ~/wraith-setup.sh%0a%3c @]%0a%3c %0a%3c !! Hub%0a%3c %0a%3c If 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%3c %0a%3c [@%0a%3c $ sh wraith-setup.sh %0a%3c Create new bot (WARNING: WILL DELETE!): networkname%0a%3c Command: /bin/rm -rf /home/undernet > /dev/null 2>&1 || true%0a%3c // Paste in your PACKCONFIG. Reference https://github.com/wraith/wraith/wiki/PackConfig%0a%3c // Press %3center> if it gets hung up. If that doesn't work hit ^D (CTRL+d)%0a%3c @]%0a%3c %0a%3c We paste something like this:%0a%3c %0a%3c [@%0a%3c PACKNAME yourpackname%0a%3c BINARYPASS +dURT8$6e8e5b2448356bb48f642dd18115aaaaca7b6dcb%0a%3c DCCPREFIX .%0a%3c OWNER yournick +SUXSC$d2312f8fcd9de09574d7370e8de058d91322686c%0a%3c HUB yourhubname hub.network.ircnow.org 12742%0a%3c SALT1 nuUlSail2TyDzZhWOX9Paz1L6SBoVLvX%0a%3c SALT2 ThTQF8IFeEe5ox0i%0a%3c @]%0a%3c %0a%3c The terminal will show:%0a%3c %0a%3c [@%0a%3c ........%0a%3c * Wrote settings to binary.%0a%3c Botpack configured! Press enter to continue%0a%3c Enter your binary password: %0a%3c @]%0a%3c %0a%3c Afterwards, it will ask for your OWNER password and bot configuration information. You will want to these three lines at the top:%0a%3c %0a%3c [@%0a%3c hubnick hub.network.ircnow.org%0a%3c ! portmin 64000%0a%3c ! portmax 64100%0a%3c @]%0a%3c %0a%3c Replace 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%3c %0a%3c It should look like this:%0a%3c %0a%3c [@%0a%3c hubnick hub.network.ircnow.org%0a%3c ! portmin 64000%0a%3c ! portmax 64100%0a%3c %0a%3c # Automatically updated with -C%0a%3c ! uid 1025%0a%3c #! uid -1%0a%3c %0a%3c ! username undernet%0a%3c ! homedir /home/undernet%0a%3c %0a%3c # Hubs this bot will connect to%0a%3c ! hub networkname hub.network.ircnow.org 12742%0a%3c %0a%3c # '|' means OR, [] means the enclosed is optional%0a%3c # A '+' in front of HOST means the HOST is ipv6%0a%3c # A '/' in front of BOT will disable that bot.%0a%3c #[/]BOT IP|* [+]HOST|* [IPV6-IP]%0a%3c #bot ip vhost%0a%3c #bot2 * vhost%0a%3c #bot3 ip%0a%3c #bot4 * +ipv6.vhost.com%0a%3c #bot5 * * ip:v6:ip:goes:here::%0a%3c ### Hubs should have their own binary ###%0a%3c @]%0a%3c %0a%3c Save and quit.%0a%3c %0a%3c '''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%3c %0a%3c !! Bots%0a%3c %0a%3c If 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%3c %0a%3c [@%0a%3c botnick vhost%0a%3c @]%0a%3c %0a%3c Replace botnick with your fruit name (fruit01, fruit02, fruit03) and vhost with your IPv6 hostname (fruit.network.ircnow.org).%0a%3c %0a%3c !! Backup and Delete Wraith%0a%3c %0a%3c After you are done, make sure to copy the dynamic wraith binary to somewhere safe and delete it for security reasons.%0a%3c %0a%3c Run this on your backup PC:%0a%3c %0a%3c [@%0a%3c $ scp fruit.ircnow.org:/home/username/wraith-v1.4.10/wraith /path/to/dest/%0a%3c @]%0a%3c %0a%3c Then on the server:%0a%3c %0a%3c [@%0a%3c $ rm -rf /home/username/wraith-v1.4.10/%0a%3c @]%0a%3c %0a%3c !! Controlling Wraith%0a%3c %0a%3c To administer wraith, you will need to log in to your server using ssh:%0a%3c %0a%3c [@%0a%3c $ ssh network.ircnow.org%0a%3c @]%0a%3c %0a%3c Once connected, run [[openbsd/netcat|netcat]] to your host and port:%0a%3c %0a%3c [@%0a%3c $ nc network.ircnow.org 12742%0a%3c @]%0a%3c %0a%3c !!! Joining channels%0a%3c %0a%3c To make the bot join and leave a channel:%0a%3c %0a%3c [@%0a%3c .+chan #chan%0a%3c .-chan #chan%0a%3c @]%0a%3c %0a%3c If the channel is keyed:%0a%3c %0a%3c [@%0a%3c .chanset #chan chanmode { +ntk key }%0a%3c @]%0a%3c %0a%3c !!! Giving users ops%0a%3c %0a%3c [@%0a%3c .op #chan %3cnick>%0a%3c @]%0a%3c %0a%3c To use a specific bot:%0a%3c %0a%3c [@%0a%3c .botcmd botnick op user *%0a%3c .bl op user *%0a%3c @]%0a%3c %0a%3c !!! Cookie-ops%0a%3c %0a%3c Cookie-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%3c %0a%3c '''NOTE''': If ops are not working, disable op cookies.%0a%3c %0a%3c To use op cookies:%0a%3c %0a%3c [@%0a%3c .chanset #chan -fastop%0a%3c @]%0a%3c %0a%3c To disable op cookies:%0a%3c %0a%3c [@%0a%3c .chanset #chan +fastop%0a%3c @]%0a%3c %0a%3c !!! Voice and Limits%0a%3c %0a%3c Use +y to voice and +l to set limits:%0a%3c %0a%3c [@%0a%3c .chattr bot +ly%0a%3c @]%0a%3c %0a%3c !!! DCC into a leaf%0a%3c %0a%3c If your hostmask is recognized by the bot, then in your IRC client, type:%0a%3c %0a%3c [@%0a%3c /DCC CHAT botnick%0a%3c @]%0a%3c %0a%3c Enter your password.%0a%3c %0a%3c If your hostmask is not recognized, type:%0a%3c %0a%3c [@%0a%3c /CTCP botnick CHAT%0a%3c @]%0a%3c %0a%3c Enter your username, then enter your password.%0a%3c %0a%3c !! Default Secure Channel%0a%3c %0a%3c For an explanation of the channel settings:%0a%3c %0a%3c [@%0a%3c .help chaninfo%0a%3c @]%0a%3c %0a%3c This will make your channel secure by default:%0a%3c %0a%3c [@%0a%3c .chanset #chan -fastop mdop deop manop deop mop deop -autoop +private bad-cookie kick flood-mjoin 6:1 flood-kick 2:30 +protect%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 +host:1627710562=38.87.162.8 blob - /dev/null blob + 8628da1d4542587497401ad7bbf6fb00674ccb06 (mode 644) --- /dev/null +++ wiki.d/Wraith.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +charset=UTF-8 +ctime=1627710562 +host=2.178.154.172 +name=Wraith.RecentChanges +rev=3 +text=* [[Wraith/Chroot]] . . . September 10, 2021, at 06:11 AM by [[~mkf]]: [==]%0a +time=1631254291 blob - /dev/null blob + 074291424388bed8f901b636ec94245e45fcd3ea (mode 644) --- /dev/null +++ wiki.d/Www.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +charset=UTF-8 +ctime=1597534745 +host=38.81.163.143 +name=Www.RecentChanges +rev=2 +text=* [[Www/Www]] . . . August 16, 2020, at 06:07 AM by [[~jrmu]]: [==]%0a +time=1597558052 blob - /dev/null blob + 822b93071a51ebab88eabbc903fd268a2028d658 (mode 644) --- /dev/null +++ wiki.d/Www.Www @@ -0,0 +1,20 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 +author=jrmu +charset=UTF-8 +csum= +ctime=1597534745 +host=38.81.163.143 +name=Www.Www +rev=2 +targets= +text=(:title Web Hosting:)%0a%0aCreate your own free website with no ads. We support PHP7.%0a%0aIRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%0aYou get sftp access to upload any files, and we support PHP.%0a +time=1597558052 +title=Web Hosting +author:1597558052=jrmu +diff:1597558052:1597534745:=1,7c1,3%0a%3c (:title Web Hosting:)%0a%3c %0a%3c Create your own free website with no ads. We support PHP7.%0a%3c %0a%3c IRCNow wants to bring back the expressiveness of a web that anyone can create, not just professionals.%0a%3c %0a%3c You get sftp access to upload any files, and we support PHP.%0a---%0a> Web hosting is provided by the [[Grape.Grape|IRCNow Grape]] team, as a part of their shell service. %0a> %0a> The best way to request creation of a shell account is by visiting [[irc://irc.grape.ircnow.org/shell|#shell]] live chat (IRC) channel. When clicked, the link opens in your IRC client. If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a\ No newline at end of file%0a +host:1597558052=38.81.163.143 +author:1597534745=gry +csum:1597534745=+ +diff:1597534745:1597534745:=1,3d0%0a%3c Web hosting is provided by the [[Grape.Grape|IRCNow Grape]] team, as a part of their shell service. %0a%3c %0a%3c The best way to request creation of a shell account is by visiting [[irc://irc.grape.ircnow.org/shell|#shell]] live chat (IRC) channel. When clicked, the link opens in your IRC client. If you don't have an IRC client, please view our [[Irc.Guide|guide to IRC]].%0a\ No newline at end of file%0a +host:1597534745=203.129.25.247 blob - /dev/null blob + 08bd3bb790e39736724d04b074bbac7cf71ae962 (mode 644) --- /dev/null +++ wiki.d/Xabber.Connect @@ -0,0 +1,33 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637303057 +host=38.87.162.8 +name=Xabber.Connect +rev=7 +targets=Fdroid.Install +text=[[https://www.xabber.com/|Xabber]] is an open-source XMPP client (GPLv3 license) for Android and Web. It provides multi device sync, supports many XEP features, allows easy sending of images and files, and supports end-to-end encryption.%0a%0a'''NOTE''': It is currently not possible to do in-band registration for IRCNow servers with Xabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Xabber.%0a%0a# To install Xabber, first install [[Fdroid/Install|F-droid]]. Next, download and install Xabber:\\%0aAttach:xabber-install.png%0a# Open Xabber and tap @@Sign In@@:\\%0aAttach:xabber-welcome.png%0a# Fill in the XMPP ID and password, then tap @@Connect@@:\\%0aAttach:xabber-signin.png%0a# Tap @@Got It@@:\\%0aAttach:xabber-swipe.png%0a# Login complete:\\%0aAttach:xabber-contacts.png%0a +time=1637662815 +author:1637662815=jrmu +diff:1637662815:1637427305:=3c3%0a%3c '''NOTE''': It is currently not possible to do in-band registration for IRCNow servers with Xabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Xabber.%0a---%0a> '''NOTE''': It is currently not possible to do in-band registration with Xabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Xabber.%0a +host:1637662815=38.87.162.8 +author:1637427305=jrmu +diff:1637427305:1637427266:=6c6%0a%3c Attach:xabber-install.png%0a---%0a> Attach:xabber-install.png\\%0a +host:1637427305=38.87.162.8 +author:1637427266=jrmu +diff:1637427266:1637303574:=3,5c3%0a%3c '''NOTE''': It is currently not possible to do in-band registration with Xabber, so you will need to use another XMPP client (or contact the admin) in order to register an account. Once you have registered an account, you will be able to login with Xabber.%0a%3c %0a%3c # To install Xabber, first install [[Fdroid/Install|F-droid]]. Next, download and install Xabber:\\%0a---%0a> # To install Xabber, first install [[Fdroid/Install|F-droid]]:\\%0a7d4%0a%3c # Open Xabber and tap @@Sign In@@:\\%0a9c6,7%0a%3c # Fill in the XMPP ID and password, then tap @@Connect@@:\\%0a---%0a> # Open Conversations.%0a> # Tap @@Create new account@@:\\%0a11c9%0a%3c # Tap @@Got It@@:\\%0a---%0a> # Tap @@Use my own provider@@:\\%0a13c11%0a%3c # Login complete:\\%0a---%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a14a13,14%0a> # You can tap the avatar, or tap @@Skip@@.\\%0a> # Your account has been created!\\%0a +host:1637427266=38.87.162.8 +author:1637303574=jrmu +diff:1637303574:1637303479:=12c12%0a%3c Attach:xabber-contacts.png%0a---%0a> Attach:conversations-registernewaccount.png%0a13a14%0a> Attach:conversations-publishavatar.png%0a14a16%0a> Attach:conversations-startconversation.png%0a +host:1637303574=38.87.162.8 +author:1637303479=jrmu +diff:1637303479:1637303419:=10c10%0a%3c Attach:xabber-swipe.png%0a---%0a> Attach:conversations-createnewaccount.png%0a +host:1637303479=38.87.162.8 +author:1637303419=jrmu +diff:1637303419:1637303057:=8c8%0a%3c Attach:xabber-signin.png%0a---%0a> Attach:conversations-welcome.png%0a +host:1637303419=38.87.162.8 +author:1637303057=jrmu +diff:1637303057:1637303057:=1,16d0%0a%3c [[https://www.xabber.com/|Xabber]] is an open-source XMPP client (GPLv3 license) for Android and Web. It provides multi device sync, supports many XEP features, allows easy sending of images and files, and supports end-to-end encryption.%0a%3c %0a%3c # To install Xabber, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:xabber-install.png\\%0a%3c Attach:xabber-welcome.png%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a%3c Attach:conversations-welcome.png%0a%3c # Tap @@Use my own provider@@:\\%0a%3c Attach:conversations-createnewaccount.png%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a%3c Attach:conversations-registernewaccount.png%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a%3c Attach:conversations-publishavatar.png%0a%3c # Your account has been created!\\%0a%3c Attach:conversations-startconversation.png%0a +host:1637303057=38.87.162.8 blob - /dev/null blob + 30ec8435211df33ef131eb3e5c9cefe6f8469d55 (mode 644) --- /dev/null +++ wiki.d/Xabber.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637303057 +host=38.87.162.8 +name=Xabber.RecentChanges +rev=7 +text=* [[Xabber/Connect]] . . . November 23, 2021, at 10:20 AM by [[~jrmu]]: [==]%0a +time=1637662815 blob - /dev/null blob + 7b73de21feafd97331cb8e7a9f369709f1123bc8 (mode 644) --- /dev/null +++ wiki.d/Xdefaults.Configure @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635000032 +host=125.224.28.113 +name=Xdefaults.Configure +rev=1 +targets= +text=This will provide Chinese font support with DejaVu Sans Mono, white text on black screen.%0a%0a[@%0a! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $%0aXTerm*loginShell:true%0aXTerm*foreground: white%0aXTerm*background: black%0aXTerm*metaSendsEscape: true%0aXTerm*scrollBar: false%0a#XTerm*font: -adobe-courier-bold-r-*-*-34-*-*-*-*-*-*-*%0aXTerm*VT100.geometry: 88x27%0aXTerm*forcePackedFont: true%0aXTerm*cjkWidth: false%0aXTerm*mkWidth: true%0aXTerm*visualBell: true%0axterm*faceName: DejaVu Sans Mono%0axterm*faceSize: 20%0a#! Fix for DJVSM low-hanging underscore, adds line spacing:%0a#xterm*scaleHeight: 1.01%0a@]%0a +time=1635000032 +author:1635000032=jrmu +diff:1635000032:1635000032:=1,20d0%0a%3c This will provide Chinese font support with DejaVu Sans Mono, white text on black screen.%0a%3c %0a%3c [@%0a%3c ! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $%0a%3c XTerm*loginShell:true%0a%3c XTerm*foreground: white%0a%3c XTerm*background: black%0a%3c XTerm*metaSendsEscape: true%0a%3c XTerm*scrollBar: false%0a%3c #XTerm*font: -adobe-courier-bold-r-*-*-34-*-*-*-*-*-*-*%0a%3c XTerm*VT100.geometry: 88x27%0a%3c XTerm*forcePackedFont: true%0a%3c XTerm*cjkWidth: false%0a%3c XTerm*mkWidth: true%0a%3c XTerm*visualBell: true%0a%3c xterm*faceName: DejaVu Sans Mono%0a%3c xterm*faceSize: 20%0a%3c #! Fix for DJVSM low-hanging underscore, adds line spacing:%0a%3c #xterm*scaleHeight: 1.01%0a%3c @]%0a +host:1635000032=125.224.28.113 blob - /dev/null blob + f9dd818a08abbc05225c2b71847c82dee685a79b (mode 644) --- /dev/null +++ wiki.d/Xdefaults.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1635000032 +host=125.224.28.113 +name=Xdefaults.RecentChanges +rev=1 +text=* [[Xdefaults/Configure]] . . . October 23, 2021, at 02:40 PM by [[~jrmu]]: [==]%0a +time=1635000032 blob - /dev/null blob + 25d42ead49c6cca9cfbbda64e4d67866b9ece94d (mode 644) --- /dev/null +++ wiki.d/Xfce.Install @@ -0,0 +1,39 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1626662065 +host=125.224.22.161 +name=Xfce.Install +rev=9 +targets= +text=[@%0a$ doas pkg_add xfce%0a@]%0a%0aIn /etc/X11/xinit/xinitrc, comment out these lines:%0a%0a[@%0a# start some nice programs%0axclock -geometry 50x50-1+1 &%0axconsole -iconic &%0axterm -geometry 80x24 &%0afvwm || xterm%0a@]%0a%0aand add this line underneath:%0a%0a[@%0astartxfce4 %0a@]%0a%0a(:if false:)%0aIn ~/.xsession, add:%0a%0a[@%0a/usr/local/bin/startxfce4 --with-ck-launch%0a@]%0a(:ifend:)%0a%0aThen @@$ doas rcctl restart xenodm@@%0a%0a'''NOTE''': For some systems, editing @@/etc/X11/xinit/xinitrc@@ does not seem to work, but this command does work:%0a%0a[@%0aecho 'startxfce4' > ~/.xsession%0a@]%0a%0aThen restart xenodm:%0a%0a[@%0a$ doas rcctl restart xenodm%0a@]%0a%0aAttach:xfce-desktop.png%0a +time=1633778869 +author:1633778869=jrmu +diff:1633778869:1633006721:=30,41d29%0a%3c %0a%3c '''NOTE''': For some systems, editing @@/etc/X11/xinit/xinitrc@@ does not seem to work, but this command does work:%0a%3c %0a%3c [@%0a%3c echo 'startxfce4' > ~/.xsession%0a%3c @]%0a%3c %0a%3c Then restart xenodm:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart xenodm%0a%3c @]%0a +host:1633778869=125.224.22.161 +author:1633006721=jrmu +diff:1633006721:1628658257:=30,31d29%0a%3c %0a%3c Attach:xfce-desktop.png%0a +host:1633006721=125.231.16.216 +author:1628658257=jrmu +diff:1628658257:1628658179:=20,27d19%0a%3c %0a%3c (:if false:)%0a%3c In ~/.xsession, add:%0a%3c %0a%3c [@%0a%3c /usr/local/bin/startxfce4 --with-ck-launch%0a%3c @]%0a%3c (:ifend:)%0a +host:1628658257=38.87.162.8 +author:1628658179=jrmu +diff:1628658179:1628656812:=12c12%0a%3c fvwm || xterm%0a---%0a> fvwm || xterm%0a18a19,24%0a> @]%0a> %0a> In ~/.xsession, add:%0a> %0a> [@%0a> /usr/local/bin/startxfce4 --with-ck-launch%0a +host:1628658179=38.87.162.8 +author:1628656812=jrmu +diff:1628656812:1626671743:=3,18d2%0a%3c @]%0a%3c %0a%3c In /etc/X11/xinit/xinitrc, comment out these lines:%0a%3c %0a%3c [@%0a%3c # start some nice programs%0a%3c xclock -geometry 50x50-1+1 &%0a%3c xconsole -iconic &%0a%3c xterm -geometry 80x24 &%0a%3c fvwm || xterm%0a%3c @]%0a%3c %0a%3c and add this line underneath:%0a%3c %0a%3c [@%0a%3c startxfce4 %0a +host:1628656812=38.87.162.8 +author:1626671743=jrmu +diff:1626671743:1626671708:=10,11d9%0a%3c %0a%3c Then @@$ doas rcctl restart xenodm@@%0a +host:1626671743=38.87.162.8 +author:1626671708=jrmu +diff:1626671708:1626662381:=5,6c5,6%0a%3c In ~/.xsession, add:%0a%3c %0a---%0a> In /etc/X11/xinit/xinitrc, comment out:%0a> %0a8c8,14%0a%3c /usr/local/bin/startxfce4 --with-ck-launch%0a---%0a> fvwm || xterm%0a> @]%0a> %0a> and replace with:%0a> %0a> [@%0a> startxfce4 &%0a +host:1626671708=38.87.162.8 +author:1626662381=jrmu +diff:1626662381:1626662065:=5,6c5,6%0a%3c In /etc/X11/xinit/xinitrc, comment out:%0a%3c %0a---%0a> In ~/.xsession:%0a> %0a8c8%0a%3c fvwm || xterm%0a---%0a> /usr/local/bin/startxfce4 --with-ck-launch%0a11,15d10%0a%3c and replace with:%0a%3c %0a%3c [@%0a%3c startxfce4 &%0a%3c @]%0a +host:1626662381=38.87.162.8 +author:1626662065=jrmu +diff:1626662065:1626662065:=1,10d0%0a%3c [@%0a%3c $ doas pkg_add xfce%0a%3c @]%0a%3c %0a%3c In ~/.xsession:%0a%3c %0a%3c [@%0a%3c /usr/local/bin/startxfce4 --with-ck-launch%0a%3c @]%0a%3c %0a +host:1626662065=38.87.162.8 blob - /dev/null blob + 39ac37af41cab673ef4d6e678c3e024d8afb510a (mode 644) --- /dev/null +++ wiki.d/Xfce.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1626662065 +host=125.224.22.161 +name=Xfce.RecentChanges +rev=9 +text=* [[Xfce/Install]] . . . October 09, 2021, at 11:27 AM by [[~jrmu]]: [==]%0a +time=1633778869 blob - /dev/null blob + 63ee4594eabd805d51bea52cab12d8aba029c1c0 (mode 644) --- /dev/null +++ wiki.d/Xmpp.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637068842 +host=38.87.162.8 +name=Xmpp.RecentChanges +rev=17 +text=* [[Xmpp/Xmpp]] . . . November 27, 2021, at 12:33 PM by [[~jrmu]]: [==]%0a +time=1638016412 blob - /dev/null blob + 98392f93d95d0b4841ae958397624df8c0f1195b (mode 644) --- /dev/null +++ wiki.d/Xmpp.Xmpp @@ -0,0 +1,65 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637068842 +host=38.87.162.8 +name=Xmpp.Xmpp +rev=17 +targets=Adium.Connect,Aparte.Connect,Astrachat.Connect,Ayttm.Connect,Barnowl.Connect,BeagleIM.Connect,Bitlbee.Connect,CenterIM.Connect,ChatSecure.Connect,Conversations.Connect,Coccinella.Connect,Dino.Connect,Freetalk.Connect,Finch.Connect,Gajim.Connect,Gajim.Biboumi,Instantbird.Connect,Kaidan.Connect,Kopete.Connect,Kontalk.Connect,Mcabber.Connect,MirandaIM.Connect,Monal.Connect,Movim.Connect,OneTeam.Connect,Pade.Connect,Pandion.Connect,Pidgin.Connect,Poezio.Connect,Profanity.Connect,Psi.Connect,Siskin.Connect,Spark.Connect,StorkIM.Connect,Swift.Connect,UWPX.Connect,Wime.Connect,Xabber.Connect,Yaxim.Connect +text=(:Title XMPP Instant Messaging:)%0a%0a* Free XMPP accounts for secure and free chat%0a* Provides message syncing across devices%0a* Open standard that works on almost every platform%0a%0aIt's free of charge running free software with real time support from IRCNow staff.%0a%0a|| border=1 width=100%25 class="sortable simpletable"%0a||! Name ||! IRC Bridge ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || ||%0a|| [[Adium.Connect|Adium]] || || || ✓ || || || || || GPLv2 ||%0a|| [[Aparte.Connect|Aparte]] || || || || || || || || ||%0a|| [[Astrachat.Connect|Astrachat]] || || || || || || || || ||%0a|| [[Ayttm.Connect|Ayttm]] || || || || || || || || ||%0a|| [[Barnowl.Connect|Barnowl]] || || || || || || || || ||%0a|| [[BeagleIM.Connect|BeagleIM]] || || || || || || || || ||%0a|| [[Bitlbee.Connect|Bitlbee]] || || || || || || || || ||%0a|| [[CenterIM.Connect|CenterIM]] || || || || ✓ || || || || GPLv3 ||%0a|| [[ChatSecure.Connect|ChatSecure]] || || || || || || ✓ || || GPL ||%0a|| [[Conversations.Connect|Conversations]] || || || || || ✓ || || || GPLv3 ||%0a|| [[Coccinella.Connect|Coccinella]] || || || || || || || || ||%0a|| [[Dino.Connect|Dino]] || || || || || || || || ||%0a|| [[Freetalk.Connect|Freetalk]] || || || || || || || || ||%0a|| [[Finch.Connect|Finch]] || || || || || || || || ||%0a|| [[Gajim.Connect|Gajim]] || [[Gajim/Biboumi|Bridge]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a|| [[Instantbird.Connect|Instantbird]] || || || || || || || || ||%0a|| [[Kaidan.Connect|Kaidan]] || || || || || || || || ||%0a|| [[Kopete.Connect|Kopete]] || || || || || || || || ||%0a|| [[Kontalk.Connect|Kontalk]] || || || || || || || || ||%0a|| [[Mcabber.Connect|Mcabber]] || || C || ✓ || ✓ || || || || GPLv2 ||%0a|| [[MirandaIM.Connect|MirandaIM]] || || || || || || || || ||%0a|| [[Monal.Connect|Monal]] || || || || || || ✓ || || MIT ||%0a|| [[Movim.Connect|Movim]] || || || || || || || || AGPLv3 ||%0a|| [[OneTeam.Connect|OneTeam]] || || || || || || || || ||%0a|| [[Pade.Connect|Pade]] || || || || || || || || ||%0a|| [[Pandion.Connect|Pandion]] || || || || || || || || ||%0a|| [[Pidgin.Connect|Pidgin]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[Poezio.Connect|Poezio]] || || || || || || || || ||%0a|| [[Profanity.Connect|Profanity]] || || || || || || || || ||%0a|| [[Psi.Connect|Psi]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[Siskin.Connect|Siskin]] || || || || || || ✓ || || GPLv3 ||%0a|| [[Spark.Connect|Spark]] || || || || || || || || ||%0a|| [[StorkIM.Connect|StorkIM]] || || || || || ✓ || || || AGPLv3 ||%0a|| [[Swift.Connect|Swift]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[UWPX.Connect|UWPX]] || || ✓ || || || || || || ||%0a|| [[Wime.Connect|Wime]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a|| [[Xabber.Connect|Xabber]] || || || || || ✓ || || ✓ || GPLv3 ||%0a|| [[Yaxim.Connect|Yaxim]] || || || || || ✓ || || || GPLv3 ||%0a%0a# W = Wine emulation%0a# C = Cygwin%0a +time=1638016412 +title=XMPP Instant Messaging +author:1638016412=jrmu +diff:1638016412:1638015712:=25c25%0a%3c || [[Gajim.Connect|Gajim]] || [[Gajim/Biboumi|Bridge]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a---%0a> || [[Gajim.Connect|Gajim]] || [[Gajim/Biboumi|IRC Bridge]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a +host:1638016412=38.87.162.8 +author:1638015712=jrmu +diff:1638015712:1637928157:=10,48c10,48%0a%3c ||! Name ||! IRC Bridge ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License || ||%0a%3c || [[Adium.Connect|Adium]] || || || ✓ || || || || || GPLv2 ||%0a%3c || [[Aparte.Connect|Aparte]] || || || || || || || || ||%0a%3c || [[Astrachat.Connect|Astrachat]] || || || || || || || || ||%0a%3c || [[Ayttm.Connect|Ayttm]] || || || || || || || || ||%0a%3c || [[Barnowl.Connect|Barnowl]] || || || || || || || || ||%0a%3c || [[BeagleIM.Connect|BeagleIM]] || || || || || || || || ||%0a%3c || [[Bitlbee.Connect|Bitlbee]] || || || || || || || || ||%0a%3c || [[CenterIM.Connect|CenterIM]] || || || || ✓ || || || || GPLv3 ||%0a%3c || [[ChatSecure.Connect|ChatSecure]] || || || || || || ✓ || || GPL ||%0a%3c || [[Conversations.Connect|Conversations]] || || || || || ✓ || || || GPLv3 ||%0a%3c || [[Coccinella.Connect|Coccinella]] || || || || || || || || ||%0a%3c || [[Dino.Connect|Dino]] || || || || || || || || ||%0a%3c || [[Freetalk.Connect|Freetalk]] || || || || || || || || ||%0a%3c || [[Finch.Connect|Finch]] || || || || || || || || ||%0a%3c || [[Gajim.Connect|Gajim]] || [[Gajim/Biboumi|IRC Bridge]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Instantbird.Connect|Instantbird]] || || || || || || || || ||%0a%3c || [[Kaidan.Connect|Kaidan]] || || || || || || || || ||%0a%3c || [[Kopete.Connect|Kopete]] || || || || || || || || ||%0a%3c || [[Kontalk.Connect|Kontalk]] || || || || || || || || ||%0a%3c || [[Mcabber.Connect|Mcabber]] || || C || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[MirandaIM.Connect|MirandaIM]] || || || || || || || || ||%0a%3c || [[Monal.Connect|Monal]] || || || || || || ✓ || || MIT ||%0a%3c || [[Movim.Connect|Movim]] || || || || || || || || AGPLv3 ||%0a%3c || [[OneTeam.Connect|OneTeam]] || || || || || || || || ||%0a%3c || [[Pade.Connect|Pade]] || || || || || || || || ||%0a%3c || [[Pandion.Connect|Pandion]] || || || || || || || || ||%0a%3c || [[Pidgin.Connect|Pidgin]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Poezio.Connect|Poezio]] || || || || || || || || ||%0a%3c || [[Profanity.Connect|Profanity]] || || || || || || || || ||%0a%3c || [[Psi.Connect|Psi]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Siskin.Connect|Siskin]] || || || || || || ✓ || || GPLv3 ||%0a%3c || [[Spark.Connect|Spark]] || || || || || || || || ||%0a%3c || [[StorkIM.Connect|StorkIM]] || || || || || ✓ || || || AGPLv3 ||%0a%3c || [[Swift.Connect|Swift]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[UWPX.Connect|UWPX]] || || ✓ || || || || || || ||%0a%3c || [[Wime.Connect|Wime]] || || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Xabber.Connect|Xabber]] || || || || || ✓ || || ✓ || GPLv3 ||%0a%3c || [[Yaxim.Connect|Yaxim]] || || || || || ✓ || || || GPLv3 ||%0a---%0a> ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a> || [[Adium.Connect|Adium]] || || ✓ || || || || || GPLv2 ||%0a> || [[Aparte.Connect|Aparte]] || || || || || || || ||%0a> || [[Astrachat.Connect|Astrachat]] || || || || || || || ||%0a> || [[Ayttm.Connect|Ayttm]] || || || || || || || ||%0a> || [[Barnowl.Connect|Barnowl]] || || || || || || || ||%0a> || [[BeagleIM.Connect|BeagleIM]] || || || || || || || ||%0a> || [[Bitlbee.Connect|Bitlbee]] || || || || || || || ||%0a> || [[CenterIM.Connect|CenterIM]] || || || ✓ || || || || GPLv3 ||%0a> || [[ChatSecure.Connect|ChatSecure]] || || || || || ✓ || || GPL ||%0a> || [[Conversations.Connect|Conversations]] || || || || ✓ || || || GPLv3 ||%0a> || [[Coccinella.Connect|Coccinella]] || || || || || || || ||%0a> || [[Dino.Connect|Dino]] || || || || || || || ||%0a> || [[Freetalk.Connect|Freetalk]] || || || || || || || ||%0a> || [[Finch.Connect|Finch]] || || || || || || || ||%0a> || [[Gajim.Connect|Gajim]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[Instantbird.Connect|Instantbird]] || || || || || || || ||%0a> || [[Kaidan.Connect|Kaidan]] || || || || || || || ||%0a> || [[Kopete.Connect|Kopete]] || || || || || || || ||%0a> || [[Kontalk.Connect|Kontalk]] || || || || || || || ||%0a> || [[Mcabber.Connect|Mcabber]] || C || ✓ || ✓ || || || || GPLv2 ||%0a> || [[MirandaIM.Connect|MirandaIM]] || || || || || || || ||%0a> || [[Monal.Connect|Monal]] || || || || || ✓ || || MIT ||%0a> || [[Movim.Connect|Movim]] || || || || || || || AGPLv3 ||%0a> || [[OneTeam.Connect|OneTeam]] || || || || || || || ||%0a> || [[Pade.Connect|Pade]] || || || || || || || ||%0a> || [[Pandion.Connect|Pandion]] || || || || || || || ||%0a> || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Poezio.Connect|Poezio]] || || || || || || || ||%0a> || [[Profanity.Connect|Profanity]] || || || || || || || ||%0a> || [[Psi.Connect|Psi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Siskin.Connect|Siskin]] || || || || || ✓ || || GPLv3 ||%0a> || [[Spark.Connect|Spark]] || || || || || || || ||%0a> || [[StorkIM.Connect|StorkIM]] || || || || ✓ || || || AGPLv3 ||%0a> || [[Swift.Connect|Swift]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[UWPX.Connect|UWPX]] || ✓ || || || || || || ||%0a> || [[Wime.Connect|Wime]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Xabber.Connect|Xabber]] || || || || ✓ || || ✓ || GPLv3 ||%0a> || [[Yaxim.Connect|Yaxim]] || || || || ✓ || || || GPLv3 ||%0a +host:1638015712=38.87.162.8 +author:1637928157=jrmu +diff:1637928157:1637672473:=30c30%0a%3c || [[Mcabber.Connect|Mcabber]] || C || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[Mcabber.Connect|Mcabber]] || || || || || || || ||%0a51d50%0a%3c # C = Cygwin%0a +host:1637928157=38.87.162.8 +author:1637672473=jrmu +diff:1637672473:1637429072:=41c41%0a%3c || [[Siskin.Connect|Siskin]] || || || || || ✓ || || GPLv3 ||%0a---%0a> || [[Siskin.Connect|Siskin]] || || || || || || || ||%0a +host:1637672473=38.87.162.8 +author:1637429072=jrmu +diff:1637429072:1637428644:=12,17c12,17%0a%3c || [[Aparte.Connect|Aparte]] || || || || || || || ||%0a%3c || [[Astrachat.Connect|Astrachat]] || || || || || || || ||%0a%3c || [[Ayttm.Connect|Ayttm]] || || || || || || || ||%0a%3c || [[Barnowl.Connect|Barnowl]] || || || || || || || ||%0a%3c || [[BeagleIM.Connect|BeagleIM]] || || || || || || || ||%0a%3c || [[Bitlbee.Connect|Bitlbee]] || || || || || || || ||%0a---%0a> || [[Aparte.Connect|Aparte]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Astrachat.Connect|Astrachat]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Ayttm.Connect|Ayttm]] || ✓ || ✓ || ✓ || || || || GPL ||%0a> || [[Barnowl.Connect|Barnowl]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[BeagleIM.Connect|BeagleIM]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Bitlbee.Connect|Bitlbee]] || ✓ || ✓ || ✓ || || || || GPL ||%0a19c19%0a%3c || [[ChatSecure.Connect|ChatSecure]] || || || || || ✓ || || GPL ||%0a---%0a> || [[ChatSecure.Connect|ChatSecure]] || ✓ || ✓ || ✓ || || || || GPL ||%0a21,24c21,24%0a%3c || [[Coccinella.Connect|Coccinella]] || || || || || || || ||%0a%3c || [[Dino.Connect|Dino]] || || || || || || || ||%0a%3c || [[Freetalk.Connect|Freetalk]] || || || || || || || ||%0a%3c || [[Finch.Connect|Finch]] || || || || || || || ||%0a---%0a> || [[Coccinella.Connect|Coccinella]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[Dino.Connect|Dino]] || || || ✓ || || || || ||%0a> || [[Freetalk.Connect|Freetalk]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[Finch.Connect|Finch]] || ✓ || ✓ || ✓ || || || || GPL ||%0a26,36c26,36%0a%3c || [[Instantbird.Connect|Instantbird]] || || || || || || || ||%0a%3c || [[Kaidan.Connect|Kaidan]] || || || || || || || ||%0a%3c || [[Kopete.Connect|Kopete]] || || || || || || || ||%0a%3c || [[Kontalk.Connect|Kontalk]] || || || || || || || ||%0a%3c || [[Mcabber.Connect|Mcabber]] || || || || || || || ||%0a%3c || [[MirandaIM.Connect|MirandaIM]] || || || || || || || ||%0a%3c || [[Monal.Connect|Monal]] || || || || || ✓ || || MIT ||%0a%3c || [[Movim.Connect|Movim]] || || || || || || || AGPLv3 ||%0a%3c || [[OneTeam.Connect|OneTeam]] || || || || || || || ||%0a%3c || [[Pade.Connect|Pade]] || || || || || || || ||%0a%3c || [[Pandion.Connect|Pandion]] || || || || || || || ||%0a---%0a> || [[Instantbird.Connect|Instantbird]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Kaidan.Connect|Kaidan]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Kopete.Connect|Kopete]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[Kontalk.Connect|Kontalk]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a> || [[Mcabber.Connect|Mcabber]] || || ✓ || ✓ || || || || GPLv2 ||%0a> || [[MirandaIM.Connect|MirandaIM]] || ✓ || || || || || || GPLv2 ||%0a> || [[Monal.Connect|Monal]] || || ✓ || || || ✓ || || GPLv2 ||%0a> || [[Movim.Connect|Movim]] || || || ✓ || ✓ || || || AGPLv3 ||%0a> || [[OneTeam.Connect|OneTeam]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a> || [[Pade.Connect|Pade]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Pandion.Connect|Pandion]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a38,39c38,39%0a%3c || [[Poezio.Connect|Poezio]] || || || || || || || ||%0a%3c || [[Profanity.Connect|Profanity]] || || || || || || || ||%0a---%0a> || [[Poezio.Connect|Poezio]] || || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Profanity.Connect|Profanity]] || || ✓ || ✓ || || || || GPLv2 ||%0a41,42c41,43%0a%3c || [[Siskin.Connect|Siskin]] || || || || || || || ||%0a%3c || [[Spark.Connect|Spark]] || || || || || || || ||%0a---%0a> || [[Psi+.Connect|Psi+]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Siskin.Connect|Siskin]] || ✓ || ✓ || ✓ || || || || ||%0a> || [[Spark.Connect|Spark]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a +host:1637429072=38.87.162.8 +author:1637428644=jrmu +diff:1637428644:1637428541:=49c49%0a%3c || [[Yaxim.Connect|Yaxim]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[Yaxim.Connect|Yaxim]] || || || || ✓ || || || ||%0a +host:1637428644=38.87.162.8 +author:1637428541=jrmu +diff:1637428541:1637428465:=44c44%0a%3c || [[StorkIM.Connect|StorkIM]] || || || || ✓ || || || AGPLv3 ||%0a---%0a> || [[StorkIM.Connect|StorkIM]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a48c48%0a%3c || [[Xabber.Connect|Xabber]] || || || || ✓ || || ✓ || GPLv3 ||%0a---%0a> || [[Xabber.Connect|Xabber]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a +host:1637428541=38.87.162.8 +author:1637428465=jrmu +diff:1637428465:1637389841:=44c44%0a%3c || [[StorkIM.Connect|StorkIM]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a---%0a> || [[StorkIM.Connect|StorkIM]] || ✓ || ✓ || ✓ || || || || ||%0a +host:1637428465=38.87.162.8 +author:1637389841=jrmu +diff:1637389841:1637136683:=11c11%0a%3c || [[Adium.Connect|Adium]] || || ✓ || || || || || GPLv2 ||%0a---%0a> || [[Adium.Connect|Adium]] || || ✓ || || || || || GPLv3 ||%0a +host:1637389841=38.87.162.8 +author:1637136683=mkfxmpp +csum:1637136683=same about tkabber +diff:1637136683:1637136350:=11c11%0a%3c || [[Adium.Connect|Adium]] || || ✓ || || || || || GPLv3 ||%0a---%0a> || [[Adium.Connect|Adium]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a18c18%0a%3c || [[CenterIM.Connect|CenterIM]] || || || ✓ || || || || GPLv3 ||%0a---%0a> || [[CenterIM.Connect|CenterIM]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a32c32%0a%3c || [[Monal.Connect|Monal]] || || ✓ || || || ✓ || || GPLv2 ||%0a---%0a> || [[Monal.Connect|Monal]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a37c37%0a%3c || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a45a46%0a> || [[Tkabber.Connect|Tkabber]] || ✓ || ✓ || ✓ || || || || GPL ||%0a +host:1637136683=190.2.131.202 +author:1637136350=jrmu +diff:1637136350:1637136130:=37c37%0a%3c || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a---%0a> || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a +host:1637136350=38.87.162.8 +author:1637136130=mkfxmpp +csum:1637136130=bombus is too old to be useable with modern servers (even w/o ssl) and bunch of other minor changes +diff:1637136130:1637136124:= +host:1637136130=190.2.131.202 +author:1637136124=mkfxmpp +csum:1637136124=bombus is too old to be useable with modern servers (even w/o ssl) and bunch of other minor changes +diff:1637136124:1637124811:=16a17%0a> || [[Bombus.Connect|Bombus]] || ✓ || ✓ || ✓ || || || || ||%0a20c21%0a%3c || [[Conversations.Connect|Conversations]] || || || || ✓ || || || GPLv3 ||%0a---%0a> || [[Conversations.Connect|Conversations]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a22c23%0a%3c || [[Dino.Connect|Dino]] || || || ✓ || || || || ||%0a---%0a> || [[Dino.Connect|Dino]] || ✓ || ✓ || ✓ || || || || ||%0a26a28%0a> || [[Jitsi.Connect|Jitsi]] || ✓ || ✓ || ✓ || || || || LGPL ||%0a30,31c32,33%0a%3c || [[Mcabber.Connect|Mcabber]] || || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[MirandaIM.Connect|MirandaIM]] || ✓ || || || || || || GPLv2 ||%0a---%0a> || [[Mcabber.Connect|Mcabber]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[MirandaIM.Connect|MirandaIM]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a33c35%0a%3c || [[Movim.Connect|Movim]] || || || ✓ || ✓ || || || AGPLv3 ||%0a---%0a> || [[Movim.Connect|Movim]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a38,39c40,41%0a%3c || [[Poezio.Connect|Poezio]] || || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Profanity.Connect|Profanity]] || || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[Poezio.Connect|Poezio]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a> || [[Profanity.Connect|Profanity]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a47c49%0a%3c || [[UWPX.Connect|UWPX]] || ✓ || || || || || || ||%0a---%0a> || [[UWPX.Connect|UWPX]] || ✓ || ✓ || ✓ || || || || ||%0a50c52%0a%3c || [[Yaxim.Connect|Yaxim]] || || || || ✓ || || || ||%0a---%0a> || [[Yaxim.Connect|Yaxim]] || ✓ || ✓ || ✓ || || || || ||%0a +diff:1637136124:1637136124:= +host:1637136124=190.2.131.202 +author:1637124811=jrmu +diff:1637124811:1637071015:=12,14d11%0a%3c || [[Aparte.Connect|Aparte]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Astrachat.Connect|Astrachat]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Ayttm.Connect|Ayttm]] || ✓ || ✓ || ✓ || || || || GPL ||%0a16,18c13%0a%3c || [[BeagleIM.Connect|BeagleIM]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Bombus.Connect|Bombus]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Bitlbee.Connect|Bitlbee]] || ✓ || ✓ || ✓ || || || || GPL ||%0a---%0a> || [[Bitlbee.Connect|Bitlbee]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a20c15%0a%3c || [[ChatSecure.Connect|ChatSecure]] || ✓ || ✓ || ✓ || || || || GPL ||%0a---%0a> || [[ChatSecure.Connect|ChatSecure]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a23d17%0a%3c || [[Dino.Connect|Dino]] || ✓ || ✓ || ✓ || || || || ||%0a25d18%0a%3c || [[Finch.Connect|Finch]] || ✓ || ✓ || ✓ || || || || GPL ||%0a27d19%0a%3c || [[Instantbird.Connect|Instantbird]] || ✓ || ✓ || ✓ || || || || ||%0a29,30d20%0a%3c || [[Kaidan.Connect|Kaidan]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Kopete.Connect|Kopete]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a33d22%0a%3c || [[MirandaIM.Connect|MirandaIM]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a35,38d23%0a%3c || [[Movim.Connect|Movim]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a%3c || [[OneTeam.Connect|OneTeam]] || ✓ || ✓ || ✓ || || || || AGPLv3 ||%0a%3c || [[Pade.Connect|Pade]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Pandion.Connect|Pandion]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a43,44d27%0a%3c || [[Psi+.Connect|Psi+]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Siskin.Connect|Siskin]] || ✓ || ✓ || ✓ || || || || ||%0a46,49d28%0a%3c || [[StorkIM.Connect|StorkIM]] || ✓ || ✓ || ✓ || || || || ||%0a%3c || [[Swift.Connect|Swift]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Tkabber.Connect|Tkabber]] || ✓ || ✓ || ✓ || || || || GPL ||%0a%3c || [[UWPX.Connect|UWPX]] || ✓ || ✓ || ✓ || || || || ||%0a51,52d29%0a%3c || [[Xabber.Connect|Xabber]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Yaxim.Connect|Yaxim]] || ✓ || ✓ || ✓ || || || || ||%0a +host:1637124811=38.87.162.8 +author:1637071015=jrmu +diff:1637071015:1637068842:=11,29c11,16%0a%3c || [[Adium.Connect|Adium]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Barnowl.Connect|Barnowl]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Bitlbee.Connect|Bitlbee]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[CenterIM.Connect|CenterIM]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[ChatSecure.Connect|ChatSecure]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Conversations.Connect|Conversations]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Coccinella.Connect|Coccinella]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Freetalk.Connect|Freetalk]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Gajim.Connect|Gajim]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Jitsi.Connect|Jitsi]] || ✓ || ✓ || ✓ || || || || LGPL ||%0a%3c || [[Kontalk.Connect|Kontalk]] || ✓ || ✓ || ✓ || || || || GPLv3 ||%0a%3c || [[Mcabber.Connect|Mcabber]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Monal.Connect|Monal]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Pidgin.Connect|Pidgin]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Poezio.Connect|Poezio]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Profanity.Connect|Profanity]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Psi.Connect|Psi]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Spark.Connect|Spark]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c || [[Wime.Connect|Wime]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a---%0a> || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a> || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a> || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a> || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a> || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a> || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a +host:1637071015=38.87.162.8 +author:1637068842=jrmu +diff:1637068842:1637068842:=1,18d0%0a%3c (:Title XMPP Instant Messaging:)%0a%3c %0a%3c * Free XMPP accounts for secure and free chat%0a%3c * Provides message syncing across devices%0a%3c * Open standard that works on almost every platform%0a%3c %0a%3c It's free of charge running free software with real time support from IRCNow staff.%0a%3c %0a%3c || border=1 width=100%25 class="sortable simpletable"%0a%3c ||! Name ||! Windows ||! Mac ||! Linux ||! Android ||! iOS ||! Web ||! License ||%0a%3c || [[bouncer.AdiIRC|AdiIRC]] || ✓ || ✓ || ✓ || || || || Proprietary ||%0a%3c || [[bouncer.Adium|Adium]] || || ✓ || || || || || GPLv2 ||%0a%3c || [[bouncer.AndroIRC|AndroIRC]] || || || || ✓ || || || Proprietary ||%0a%3c || [[bouncer.Atomic|Atomic]] || || || || ✓ || || || GPLv3 ||%0a%3c || [[bouncer.Colloquy|Colloquy]] || || ✓ || || || ✓ || || GPL/BSD ||%0a%3c || [[bouncer.Hexchat|Hexchat]] || ✓ || ✓ || ✓ || || || || GPLv2 ||%0a%3c %0a%3c # W = Wine emulation%0a +host:1637068842=38.87.162.8 blob - /dev/null blob + 9d4f0ca2e2120aecc8e6dd81e1647494c81e2089 (mode 644) --- /dev/null +++ wiki.d/Yaxim.Connect @@ -0,0 +1,24 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1637305136 +host=38.87.162.8 +name=Yaxim.Connect +rev=4 +targets=Fdroid.Install,Xmpp.Xmpp +text=[[https://www.yaxim.org/|yaxim]] (Yet Another XMPP Instant Messenger) is a lean Jabber/XMPP client for Android. It aims to be usable with low overhead and security. It supports Android 4.0 and up.%0a%0aWith yaxim, you can easily chat with friends in private and group chats, send and receive images and files, and manage your contact list.%0a%0a# To install yaxim, first install [[Fdroid/Install|F-droid]]:\\%0aAttach:yaxim-install.png%0a# Open yaxim, then fill in your Jabber ID and password. Your Jabber ID needs to include the server name. You can choose from [[xmpp/xmpp|one of our available servers]]. Afterwards, tap @@OK@@.\\%0aAttach:yaxim-welcome.png%0a# Registration is complete!\\%0aAttach:yaxim-contacts.png%0a +time=1637428160 +author:1637428160=jrmu +diff:1637428160:1637428138:=7c7%0a%3c # Open yaxim, then fill in your Jabber ID and password. Your Jabber ID needs to include the server name. You can choose from [[xmpp/xmpp|one of our available servers]]. Afterwards, tap @@OK@@.\\%0a---%0a> # Open yaxim, then fill in your Jabber ID and password. Your Jabber ID needs to include the server name. You can choose from [[xmpp/xmpp|one of our available servers]]. Afterwards, tap @@OK@@.%0a +host:1637428160=38.87.162.8 +author:1637428138=jrmu +diff:1637428138:1637428096:=6c6%0a%3c Attach:yaxim-install.png%0a---%0a> Attach:yaxim-install.png\\%0a +host:1637428138=38.87.162.8 +author:1637428096=jrmu +diff:1637428096:1637305136:=3,10c3,13%0a%3c With yaxim, you can easily chat with friends in private and group chats, send and receive images and files, and manage your contact list.%0a%3c %0a%3c # To install yaxim, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:yaxim-install.png\\%0a%3c # Open yaxim, then fill in your Jabber ID and password. Your Jabber ID needs to include the server name. You can choose from [[xmpp/xmpp|one of our available servers]]. Afterwards, tap @@OK@@.%0a%3c Attach:yaxim-welcome.png%0a%3c # Registration is complete!\\%0a%3c Attach:yaxim-contacts.png%0a---%0a> Easily chat with friends in private and group chats, send and receive images and files, manage your contact list%0a> %0a> # To install Conversations, first install [[Fdroid/Install|F-droid]]:\\%0a> Attach:yaxim-welcome.png\\%0a> Attach:yaxim-contacts.png\\%0a> # Open Conversations.%0a> # Tap @@Create new account@@:\\%0a> # Tap @@Use my own provider@@:\\%0a> # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a> # You can tap the avatar, or tap @@Skip@@.\\%0a> # Your account has been created!\\%0a +host:1637428096=38.87.162.8 +author:1637305136=jrmu +diff:1637305136:1637305136:=1,13d0%0a%3c [[https://www.yaxim.org/|yaxim]] (Yet Another XMPP Instant Messenger) is a lean Jabber/XMPP client for Android. It aims to be usable with low overhead and security. It supports Android 4.0 and up.%0a%3c %0a%3c Easily chat with friends in private and group chats, send and receive images and files, manage your contact list%0a%3c %0a%3c # To install Conversations, first install [[Fdroid/Install|F-droid]]:\\%0a%3c Attach:yaxim-welcome.png\\%0a%3c Attach:yaxim-contacts.png\\%0a%3c # Open Conversations.%0a%3c # Tap @@Create new account@@:\\%0a%3c # Tap @@Use my own provider@@:\\%0a%3c # Choose a username and password. The username must include the domain (@@@example.com@@). In this example, we used username@ircnow.org. Then, tap @@Next@@.\\%0a%3c # You can tap the avatar, or tap @@Skip@@.\\%0a%3c # Your account has been created!\\%0a +host:1637305136=38.87.162.8 blob - /dev/null blob + 04a9dfc473170ca49786e35162d348faa76e8bd5 (mode 644) --- /dev/null +++ wiki.d/Yaxim.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1637305136 +host=38.87.162.8 +name=Yaxim.RecentChanges +rev=4 +text=* [[Yaxim/Connect]] . . . November 20, 2021, at 05:09 PM by [[~jrmu]]: [==]%0a +time=1637428160 blob - /dev/null blob + 5ec54bfd0f13b44581e5812042cc2d40a8ba1feb (mode 644) --- /dev/null +++ wiki.d/ZNC.Admin @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627452784 +host=38.87.162.47 +name=ZNC.Admin +rev=3 +targets=Debate.Dogfooding,Bouncer.Bouncer,Openbsd.Less,Openbsd.Ilines,Openbsd.Irssi,Ircnow.Networks,Openbsd.Vhost,Openbsd.Ddos +text=(:title Daily Maintenance for ZNC:)%0a%0aEvery admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%0aEach day, you should check for errors with your znc.%0a%0a[@%0a$ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a@]%0a%0aScroll to the bottom by typing G.%0a%0a[@%0a[2021-01-25 03:12:52] [user/network] disconnected from IRC%0a[2021-01-25 03:15:29] [user/network] disconnected from IRC%0a[2021-01-25 03:19:21] [user/network] disconnected from IRC%0a[2021-01-25 03:23:12] [user/network] disconnected from IRC%0a@]%0a%0aIf you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%0a'''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%0a!! G-lined%0a%0aUse [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%0a[@%0a[2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a@]%0a%0aThis shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%0aIf that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%0a[@%0a/msg *controlpanel disconnect user network%0a@]%0a%0a!! Fixing a Network Configuration Error%0a%0aSometimes a disconnection error in znc.log is caused by bad network configuration:%0a%0a[@%0a[2021-01-25 03:06:24] [user/network] disconnected from IRC%0a[2021-01-25 03:14:09] [user/network] disconnected from IRC%0a@]%0a%0aLet's investigate the cause through the web panel:%0a%0a# Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0aAttach:znc1.png%0a# Click on the Manage Users link\\%0aAttach:znc2.png%0a# Click on the Edit link next to user1\\%0aAttach:znc3.png%0a# Scroll down and click on the Edit link next to the network globalirc-it:\\%0aAttach:znc4.png%0a# Check @@Servers of this IRC network@@:%0a # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0aAttach:znc5.png\\%0a# Click on @@Save and Continue@@\\%0aAttach:znc6.png%0a%0aYou should soon see a line similar to below in znc.log:%0a%0a[@%0a[2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a@]%0a%0aThis indicates that @@user@@ successfully connected to @@network@@.%0a%0a!! Forcing IPv6%0a%0aWhenever possible, you should force your users to connect to an IRC network using IPv6 rather than IPv4. Benefits include:%0a%0a# Users get to pick a [[openbsd/vhost|unique vhost]] which they enjoy%0a# The [[openbsd/vhost|unique vhost]] helps to reduce ban evasion and abuse%0a# Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a# IPv6 [[openbsd/ddos|ddos attacks]] are less common%0a%0aFor these reasons and more, it is important to ensure that your ZNC users are forced to use IPv6 wherever possible.%0a%0aOftentimes, major networks will have servers that are exclusively used for IPv6. For example, dalnet offers both IPv4 and IPv6 for irc.dal.net, and the IPv6-only irc6.dal.net.%0a%0aHere's one quick way to scan to see which servers are being used:%0a%0a[@%0a$ doas grep 'irc.dal.net' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a[2021-01-29 09:23:33] [user1/dalnet] connected to IRC: irc.dal.net%0a[2021-01-29 09:26:50] [user2/dalnet] connected to IRC: irc.dal.net%0a[2021-01-29 09:26:51] [user3/2600net] connected to IRC: irc.dal.net%0a[2021-01-29 09:28:12] [user4/2600net] connected to IRC: irc.dal.net%0a...%0a@]%0a%0aThis is a quick way to spot which need to be forced to irc6.dal.net. You can then follow instructions above to edit his network's server to irc6.dal.net.%0a%0a!! Dealing with Abuse%0a%0a!! Reset admin password%0a%0aThe [[https://wiki.znc.in/FAQ#I_forgot_my_password.21_How_do_I_reset_my_ZNC_password.3F|ZNC wiki]] provides instructions for how to reset your password in case you lost it.%0a +time=1635875074 +title=Daily Maintenance for ZNC +author:1635875074=jrmu +diff:1635875074:1635875050:=105,107c105,107%0a%3c !! Reset admin password%0a%3c %0a%3c The [[https://wiki.znc.in/FAQ#I_forgot_my_password.21_How_do_I_reset_my_ZNC_password.3F|ZNC wiki]] provides instructions for how to reset your password in case you lost it.%0a---%0a> !! Forgot admin password%0a> %0a> The [[https://wiki.znc.in/FAQ#I_forgot_my_password.21_How_do_I_reset_my_ZNC_password.3F|ZNC wiki]] provides instructions for how to reset your password in case you forget it.%0a +host:1635875074=38.87.162.47 +author:1635875050=jrmu +diff:1635875050:1627452784:=105,107d104%0a%3c !! Forgot admin password%0a%3c %0a%3c The [[https://wiki.znc.in/FAQ#I_forgot_my_password.21_How_do_I_reset_my_ZNC_password.3F|ZNC wiki]] provides instructions for how to reset your password in case you forget it.%0a +host:1635875050=38.87.162.47 +author:1627452784=jrmu +diff:1627452784:1627452784:=1,104d0%0a%3c (:title Daily Maintenance for ZNC:)%0a%3c %0a%3c Every admin should use his team's bouncer to make sure it works. [[debate/dogfooding|Eat your own dog food]]. See [[bouncer/bouncer|connection instructions]] for your IRC client.%0a%3c %0a%3c Each day, you should check for errors with your znc.%0a%3c %0a%3c [@%0a%3c $ doas less /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c @]%0a%3c %0a%3c Scroll to the bottom by typing G.%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:12:52] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:15:29] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:19:21] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:23:12] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c If you see these repeating messages "disconnected from IRC", it means that znc is attempting to connect to a network but failing. This is a network error that you must fix.%0a%3c %0a%3c '''WARNING''': If you do not fix this problem, your ZNC will throttle all of its users, slowing down reconnections for everyone!%0a%3c %0a%3c !! G-lined%0a%3c %0a%3c Use [[openbsd/less|less]] to search through znc.log to find error messages like the following:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:55:25] [user1/network] disconnected from IRC: irc.example.com [:Closing link: (user@fruit.ircnow.org) [G-Lined: This connection is not authorized on IRC Network - (ID: VL0GY6RV79)]]%0a%3c @]%0a%3c %0a%3c This shows that the network has G-lined fruit.ircnow.org from connecting. Because the vhost is fruit.ircnow.org and not unique (it's not user.fruit.ircnow.org), this address is most likely an IPv4 address that has been glined. You can either write to the admins to [[openbsd/ilines|request an iline]] or you can attempt to switch over to an IPv6 address and hope that is not banned.%0a%3c %0a%3c If that does not work, you can disconnect the user. Connect to the bouncer (you must be an admin on ZNC), then issue the command:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel disconnect user network%0a%3c @]%0a%3c %0a%3c !! Fixing a Network Configuration Error%0a%3c %0a%3c Sometimes a disconnection error in znc.log is caused by bad network configuration:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:06:24] [user/network] disconnected from IRC%0a%3c [2021-01-25 03:14:09] [user/network] disconnected from IRC%0a%3c @]%0a%3c %0a%3c Let's investigate the cause through the web panel:%0a%3c %0a%3c # Log in to the web panel to troubleshoot: https://bnc.fruit.ircnow.org/\\%0a%3c Attach:znc1.png%0a%3c # Click on the Manage Users link\\%0a%3c Attach:znc2.png%0a%3c # Click on the Edit link next to user1\\%0a%3c Attach:znc3.png%0a%3c # Scroll down and click on the Edit link next to the network globalirc-it:\\%0a%3c Attach:znc4.png%0a%3c # Check @@Servers of this IRC network@@:%0a%3c # The server may be improperly configured. Check the hostname and port is correct. A port without a + sign is in plaintext, which is usually port 6667. A port with a + in front uses SSL, which is usually on port 6697. If the user tries to use SSL on plaintext port 6667, or plaintext on SSL-encrypted port 6697, ZNC will fail to connect. Please fix this for the user.%0a%3c # The user may be connecting to a server that lacks [[openbsd/ilines|an iline]]. You will want to use the server addresses on the [[ircnow/networks]] page to get the servers with ilines. You can test if your IP has been glined by using [[openbsd/irssi|irssi]].%0a%3c # The user may be attempting to use an IPv4 address when we should prefer an IPv6 address. Some networks will disallow IPv4 connections. Run @@$ host irc.example.com@@ to see if it returns an IPv4 address or only an IPv6 address. You will want to consult the [[ircnow/networks|networks list]] for IPv6-only hostnames.%0a%3c # The user may be glined from the network for abuse. In this case, see the section on stopping abuse.%0a%3c # The SSL cert may be expired. There are two solutions: manually add the SSL fingerprint to the @@SHA-256 fingerprint of trusted SSL certificates@@ or @@Trust All Certs@@ by clicking on @@Disable certificate validation@@. Trusting all certs is less secure but less work than manually adding, so I recommend trusting all certs.\\%0a%3c Attach:znc5.png\\%0a%3c # Click on @@Save and Continue@@\\%0a%3c Attach:znc6.png%0a%3c %0a%3c You should soon see a line similar to below in znc.log:%0a%3c %0a%3c [@%0a%3c [2021-01-25 03:15:08] [user/network] connected to IRC: irc.example.com%0a%3c @]%0a%3c %0a%3c This indicates that @@user@@ successfully connected to @@network@@.%0a%3c %0a%3c !! Forcing IPv6%0a%3c %0a%3c Whenever possible, you should force your users to connect to an IRC network using IPv6 rather than IPv4. Benefits include:%0a%3c %0a%3c # Users get to pick a [[openbsd/vhost|unique vhost]] which they enjoy%0a%3c # The [[openbsd/vhost|unique vhost]] helps to reduce ban evasion and abuse%0a%3c # Innocent users sharing the same IPv4 address won't get GLINEd if an abuser gets banned%0a%3c # IPv6 [[openbsd/ddos|ddos attacks]] are less common%0a%3c %0a%3c For these reasons and more, it is important to ensure that your ZNC users are forced to use IPv6 wherever possible.%0a%3c %0a%3c Oftentimes, major networks will have servers that are exclusively used for IPv6. For example, dalnet offers both IPv4 and IPv6 for irc.dal.net, and the IPv6-only irc6.dal.net.%0a%3c %0a%3c Here's one quick way to scan to see which servers are being used:%0a%3c %0a%3c [@%0a%3c $ doas grep 'irc.dal.net' /home/znc/home/znc/.znc/moddata/adminlog/znc.log%0a%3c [2021-01-29 09:23:33] [user1/dalnet] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:26:50] [user2/dalnet] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:26:51] [user3/2600net] connected to IRC: irc.dal.net%0a%3c [2021-01-29 09:28:12] [user4/2600net] connected to IRC: irc.dal.net%0a%3c ...%0a%3c @]%0a%3c %0a%3c This is a quick way to spot which need to be forced to irc6.dal.net. You can then follow instructions above to edit his network's server to irc6.dal.net.%0a%3c %0a%3c !! Dealing with Abuse%0a%3c %0a +host:1627452784=38.87.162.8 blob - /dev/null blob + 0820eebdf83db5158e3d6ec2f082e3410434bfce (mode 644) --- /dev/null +++ wiki.d/ZNC.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +charset=UTF-8 +ctime=1627452742 +host=51.15.9.205 +name=ZNC.RecentChanges +rev=17 +text=* [[ZNC/Support]] . . . November 06, 2021, at 03:53 PM by [[~LohanG]]: [=added libera=]%0a* [[ZNC/Admin]] . . . November 02, 2021, at 05:44 PM by [[~jrmu]]: [==]%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* [[ZNC/Troubleshoot]] . . . July 28, 2021, at 06:12 AM by [[~jrmu]]: [==]%0a +time=1636214032 blob - /dev/null blob + 0ee3846c6bf0879f5445276015ef4576b42f4e26 (mode 644) --- /dev/null +++ wiki.d/ZNC.Skins @@ -0,0 +1,44 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38 +author=mkf +charset=UTF-8 +csum="Huh, pmwiki has a bug." no numbered list if use monospaced text. :( +ctime=1630851002 +host=86.106.194.95 +name=ZNC.Skins +rev=10 +targets= +text=ZNC Skins%0a%0a1 - Download [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|this file]]%0a. there are 17 skins inside it.%0a%0a2 - you will need to upload and merge two folders that you will find after extracting @@master.zip@@:%0amodules - webskins%0a3 - login to your account with your ssh client%0a%0aI used smartftp to upload the folders and merge them so first type (to be able to upload the files with ftp program):%0a[@%0a$ doas chown -R user:daemon /home/znc/usr/local/share/znc%0a@]%0a%0a4 - login to your account with a sftp client like smartftp%0a%0a5 - go to directory @@/home/znc/usr/local/share/znc@@ and upload merge these two folders:%0amodules - webskins%0a%0a6 - after finishing uploading the folders type in terminal:%0a[@%0a$ doas chown -R root:wheel /home/znc/usr/local/share/znc%0a@]%0a%0a%0anow you will find the new skins inside your znc account.%0ayou can change the znc favicon if you want, it's under%0a[@%0a/home/znc/usr/local/share/znc/webskins/_default_/pub%0a@] +time=1630915103 +author:1630915103=mkf +csum:1630915103="Huh, pmwiki has a bug." no numbered list if use monospaced text. :( +diff:1630915103:1630915040:=3,4c3,4%0a%3c 1 - Download [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|this file]]%0a%3c . there are 17 skins inside it.%0a---%0a> 1 - Download this [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|file]]%0a> there are 17 skins inside it.%0a +host:1630915103=86.106.194.95 +author:1630915040=mkf +diff:1630915040:1630914935:=3c3%0a%3c 1 - Download this [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|file]]%0a---%0a> # Download this [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|file]]%0a6c6%0a%3c 2 - you will need to upload and merge two folders that you will find after extracting @@master.zip@@:%0a---%0a> # you will need to upload and merge two folders that you will find after extracting @@master.zip@@:%0a8,10c8,10%0a%3c 3 - login to your account with your ssh client%0a%3c %0a%3c I used smartftp to upload the folders and merge them so first type (to be able to upload the files with ftp program):%0a---%0a> # login to your account with your ssh client%0a> %0a> # I used smartftp to upload the folders and merge them so first type (to be able to upload the files with ftp program):%0a15,17c15,17%0a%3c 4 - login to your account with a sftp client like smartftp%0a%3c %0a%3c 5 - go to directory @@/home/znc/usr/local/share/znc@@ and upload merge these two folders:%0a---%0a> # login to your account with a sftp client like smartftp%0a> %0a> # go to directory @@/home/znc/usr/local/share/znc@@ and upload merge these two folders:%0a20c20%0a%3c 6 - after finishing uploading the folders type in terminal:%0a---%0a> # after finishing uploading the folders type in terminal:%0a +host:1630915040=86.106.194.95 +author:1630914935=mkf +diff:1630914935:1630914934:= +host:1630914935=86.106.194.95 +author:1630914934=mkf +diff:1630914934:1630914895:=6c6,7%0a%3c # you will need to upload and merge two folders that you will find after extracting @@master.zip@@:%0a---%0a> # you will need to upload and merge two folders that you will find after extracting master.zip:%0a> [@%0a7a9%0a> @]%0a17a20%0a> [@%0a18a22%0a> @]%0a +host:1630914934=86.106.194.95 +author:1630914895=mkf +diff:1630914895:1630914877:=16d15%0a%3c %0a +host:1630914895=86.106.194.95 +author:1630914877=mkf +diff:1630914877:1630914848:=16c16%0a%3c # login to your account with a sftp client like smartftp%0a---%0a> * login to your account with a sftp client like smartftp%0a +host:1630914877=86.106.194.95 +author:1630914848=mkf +csum:1630914848=small touchs +diff:1630914848:1630851032:=3,7c3,7%0a%3c # Download this [[https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip|file]]%0a%3c there are 17 skins inside it.%0a%3c %0a%3c # you will need to upload and merge two folders that you will find after extracting master.zip:%0a%3c [@%0a---%0a> 1- Download this file: \\%0a> https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip \\%0a> there is 17 skins inside it.%0a> %0a> 2- you will need to upload and merge two folders that you will find after extracting master.zip: \\%0a9,13c9,13%0a%3c @]%0a%3c # login to your account with your ssh client%0a%3c %0a%3c # I used smartftp to upload the folders and merge them so first type (to be able to upload the files with ftp program):%0a%3c [@%0a---%0a> %0a> 3- login to your account with ssh%0a> %0a> 4- I used smartftp to upload the folders and merge them \\%0a> so first type (to be able to upload the files with ftp program): \\%0a15,19c15,18%0a%3c @]%0a%3c * login to your account with a sftp client like smartftp%0a%3c %0a%3c # go to directory @@/home/znc/usr/local/share/znc@@ and upload merge these two folders:%0a%3c [@%0a---%0a> %0a> 5- login to your account with ftp like smartftp%0a> %0a> 6- go to directory /home/znc/usr/local/share/znc and upload merge these two folders: \\%0a21,24c20,21%0a%3c @]%0a%3c %0a%3c # after finishing uploading the folders type in terminal:%0a%3c [@%0a---%0a> %0a> 7- after finishing uploading the folders type in ssh: \\%0a26,28c23%0a%3c @]%0a%3c %0a%3c %0a---%0a> %0a30,33c25,27%0a%3c you can change the znc favicon if you want, it's under%0a%3c [@%0a%3c /home/znc/usr/local/share/znc/webskins/_default_/pub%0a%3c @]%0a\ No newline at end of file%0a---%0a> %0a> you can change the znc favicon if you want, it's inside: //%0a> home/znc/usr/local/share/znc/webskins/_default_/pub%0a\ No newline at end of file%0a +host:1630914848=86.106.194.95 +author:1630851032=Almajd +diff:1630851032:1630851031:= +host:1630851032=80.79.145.77 +author:1630851031=Almajd +diff:1630851031:1630851002:=3,4c3,4%0a%3c 1- Download this file: \\%0a%3c https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip \\%0a---%0a> 1- Download this file: //%0a> https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip //%0a7c7%0a%3c 2- you will need to upload and merge two folders that you will find after extracting master.zip: \\%0a---%0a> 2- you will need to upload and merge two folders that you will find after extracting master.zip: //%0a12,13c12,13%0a%3c 4- I used smartftp to upload the folders and merge them \\%0a%3c so first type (to be able to upload the files with ftp program): \\%0a---%0a> 4- I used smartftp to upload the folders and merge them //%0a> so first type (to be able to upload the files with ftp program): //%0a18c18%0a%3c 6- go to directory /home/znc/usr/local/share/znc and upload merge these two folders: \\%0a---%0a> 6- go to directory /home/znc/usr/local/share/znc and upload merge these two folders: //%0a21c21%0a%3c 7- after finishing uploading the folders type in ssh: \\%0a---%0a> 7- after finishing uploading the folders type in ssh: //%0a +host:1630851031=80.79.145.77 +author:1630851002=Almajd +diff:1630851002:1630851002:=1,27d0%0a%3c ZNC Skins%0a%3c %0a%3c 1- Download this file: //%0a%3c https://github.com/eggoez/znc-boots/archive/refs/heads/master.zip //%0a%3c there is 17 skins inside it.%0a%3c %0a%3c 2- you will need to upload and merge two folders that you will find after extracting master.zip: //%0a%3c modules - webskins%0a%3c %0a%3c 3- login to your account with ssh%0a%3c %0a%3c 4- I used smartftp to upload the folders and merge them //%0a%3c so first type (to be able to upload the files with ftp program): //%0a%3c $ doas chown -R user:daemon /home/znc/usr/local/share/znc%0a%3c %0a%3c 5- login to your account with ftp like smartftp%0a%3c %0a%3c 6- go to directory /home/znc/usr/local/share/znc and upload merge these two folders: //%0a%3c modules - webskins%0a%3c %0a%3c 7- after finishing uploading the folders type in ssh: //%0a%3c $ doas chown -R root:wheel /home/znc/usr/local/share/znc%0a%3c %0a%3c now you will find the new skins inside your znc account.%0a%3c %0a%3c you can change the znc favicon if you want, it's inside: //%0a%3c home/znc/usr/local/share/znc/webskins/_default_/pub%0a\ No newline at end of file%0a +host:1630851002=80.79.145.77 blob - /dev/null blob + f10f86779c0a2283fb4fb713c780ad9b2c2ef8f7 (mode 644) --- /dev/null +++ wiki.d/ZNC.Support @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0 +author=LohanG +charset=UTF-8 +csum=added libera +ctime=1627452819 +host=51.15.9.205 +name=ZNC.Support +rev=3 +targets=Bouncer.Bouncer,Ircnow.Networks,Ircnow.Servers,Bouncer.MIRC,Debate.Zncflaws,Openbsd.Police,Openbsd.Ilines,Openbsd.Phishing +text=(:title ZNC Support:)%0a%0aWelcome and thanks for helping with ZNC support!%0a%0a!! Register a team ZNC%0a%0a# Join your team channel and register a bouncer by typing !help%0a# Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a# Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a# Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%0a!! Getting Started on IRC%0a%0a# Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a# Join your team channels, #fruit and #fruit-team%0a# Read all messages in your IRC team channel every day%0a%0a!! Getting Caught Up%0a%0a# Read all team emails sent to support@fruit.ircnow.org every day%0a# Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a# Read all emails sent to your personal user@ircnow.org account every day%0a# All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a# For each action taken, report it on IRC%0a# For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%0a!! Service with a Smiley%0a%0aChatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%0aUsers need your help -- and they love service with a smiley! :)%0a%0a# Service with a smiley%0a# Keep instructions short and easy to understand%0a# Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a# We support every IRC client known to man!%0a# Remember, users -- not code or servers -- are the most important part of our network%0a# Word of mouth from satisfied users are the best form of advertising%0a%0a[@%0a21:20 %3c user> !bnc%0a21:20 %3c@PLUM> user: Please check private message%0a21:20 %3c user> help what is the captcha%0a21:22 %3c user> type /msg PLUM !bnc captcha 235%0a21:24 %3c user> now how do i connect%0a21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:24 %3c user> ok%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx works%0a21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a21:29 %3c user> ok bye%0a@]%0a%0a!! Check if Users Connected%0a%0aNever assume a user has connected successfully -- always check and verify.%0a%0a'''Our job is not done until the user has connected is chatting!'''%0a%0aYou can load notify_connect if it has not been loaded already:%0a%0a[@%0a/msg *status loadmod notify_connect%0a@]%0a%0anotify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%0aIf you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a%0a!! Common Problems%0a%0a!!! Can't read captcha%0a%0aIf the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%0a[@%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aYou can also just register the bouncer for the user if you know which email he is using.%0a%0a[@%0a/msg %3cbotname> !bnc %3cusername> %3cemail>%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aThe username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%0a!!! How do I connect?%0a%0aTo help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%0a[@%0a/ctcp %3cnick> version%0a23:54 [ctcp(Guest58404)] VERSION %0a23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a@]%0a%0aIn this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%0a[@%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:27 %3c user> thx works%0a@]%0a%0a'''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%0a!! You are currently disconnected%0a%0a[@%0a13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a@]%0a%0aThere are two possibilities.%0a%0aFirst, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%0a(Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%0aThe user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%0a%0aSecondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%0a!!! Network %3cname> doesn't exist%0a%0aFirst, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! Why am I on the wrong network?%0a%0aMost likely because you didn't type in the password in the right way:%0a%0a[@%0a21:29 %3c user> why did u send me to the wrong network%0a21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx sorry%0a@]%0a%0aThis happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%0a'''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%0aAn alternative method for jumping networks is to type:%0a%0a[@%0a/znc jumpnetwork NETWORK%0a@]%0a%0aReplace NETWORK with the real network you want.%0a%0a!!! Where is the web panel?%0a%0ahttps://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! How do I change my password?%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cpassword>%0a@]%0a%0aHe can also use the webpanel at https://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! What networks do you support?%0a%0aAfter a user connects, he should type:%0a%0a[@%0a/msg *controlpanel listnetworks%0a@]%0a%0ato list all available networks.%0a%0a!!! How do I add a network?%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! How do I delete all these networks?%0a%0aDon't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a%0a!!! I can't connect%0a%0aAsk the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%0a# Did the user successfully connect?%0a - Load the notify_connect module and see if you can see the user's IP connecting.%0a - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%0aTo fix his network settings, log in to the web panel:%0a%0ahttps://bnc.fruit.ircnow.org%0a%0a# Check the nickname/altnick%0a - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a - This could prevent your user from connecting%0a%0a# Double check the bindhost is set properly and that dns works%0a%0a!!! Why am I GLINEd?%0a%0a01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%0aGLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a%0a!!! How do I auto-identify on...%0a%0adalnet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a@]%0a%0alibera, freenode, rizon, oftc, snoonet:%0a%0a[@%0a/msg *status loadmod nickserv%0a/msg *nickserv set PASSWORD%0a@]%0a%0aThat will ensure you identify upon reconnect. To identify immediately, type:%0a%0a[@%0a/msg NickServ identify PASSWORD%0a@]%0a%0aircnow:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add SQUERY NickServ :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a@]%0a%0aundernet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a/msg *perform Add mode %3cusername> +x%0a@]%0a%0aquake:%0a%0a[@%0a/msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a@]%0a%0aefnet, ircnet:%0a%0aThere are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%0a!!! How do I change my ident? My vhost?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%0aThere's currently no way to change the ident besides deleting the account and registering a new one.%0a%0aFor the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a%0a!!! How do I delete my account or reset the password?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%0aEmail the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%0aAn admin can reset the password as follows:%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cnewpass>%0a@]%0a%0aSend them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%0aTo delete an account, type:%0a%0a[@%0a/msg *blockuser block %3cusername>%0a@]%0a%0aAgain, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%0a!!! How can I log chats permanently?%0a%0aDon't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%0a!!! How do I use SASL?%0a%0a[@%0a/msg *status loadmod sasl%0a/msg *sasl Mechanism plain%0a/msg *sasl set %3cusername> %3cpassword>%0a@]%0a +time=1636214032 +title=ZNC Support +author:1636214032=LohanG +csum:1636214032=added libera +diff:1636214032:1631184411:=246c246%0a%3c libera, freenode, rizon, oftc, snoonet:%0a---%0a> freenode, rizon, oftc, snoonet:%0a +host:1636214032=51.15.9.205 +author:1631184411=jrmu +diff:1631184411:1627452819:=327,329c327,329%0a%3c /msg *status loadmod sasl%0a%3c /msg *sasl Mechanism plain%0a%3c /msg *sasl set %3cusername> %3cpassword>%0a---%0a> /msg *status loadmodule SASL%0a> /msg *SASL Mechanism plain%0a> /msg *SASL Set %3cusername> %3cpassword>%0a +host:1631184411=125.231.60.101 +author:1627452819=jrmu +diff:1627452819:1627452819:=1,330d0%0a%3c (:title ZNC Support:)%0a%3c %0a%3c Welcome and thanks for helping with ZNC support!%0a%3c %0a%3c !! Register a team ZNC%0a%3c %0a%3c # Join your team channel and register a bouncer by typing !help%0a%3c # Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a%3c # Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a%3c # Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%3c %0a%3c !! Getting Started on IRC%0a%3c %0a%3c # Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a%3c # Join your team channels, #fruit and #fruit-team%0a%3c # Read all messages in your IRC team channel every day%0a%3c %0a%3c !! Getting Caught Up%0a%3c %0a%3c # Read all team emails sent to support@fruit.ircnow.org every day%0a%3c # Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a%3c # Read all emails sent to your personal user@ircnow.org account every day%0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c %0a%3c !! Service with a Smiley%0a%3c %0a%3c Chatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%3c %0a%3c Users need your help -- and they love service with a smiley! :)%0a%3c %0a%3c # Service with a smiley%0a%3c # Keep instructions short and easy to understand%0a%3c # Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a%3c # We support every IRC client known to man!%0a%3c # Remember, users -- not code or servers -- are the most important part of our network%0a%3c # Word of mouth from satisfied users are the best form of advertising%0a%3c %0a%3c [@%0a%3c 21:20 %3c user> !bnc%0a%3c 21:20 %3c@PLUM> user: Please check private message%0a%3c 21:20 %3c user> help what is the captcha%0a%3c 21:22 %3c user> type /msg PLUM !bnc captcha 235%0a%3c 21:24 %3c user> now how do i connect%0a%3c 21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:24 %3c user> ok%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx works%0a%3c 21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a%3c 21:29 %3c user> ok bye%0a%3c @]%0a%3c %0a%3c !! Check if Users Connected%0a%3c %0a%3c Never assume a user has connected successfully -- always check and verify.%0a%3c %0a%3c '''Our job is not done until the user has connected is chatting!'''%0a%3c %0a%3c You can load notify_connect if it has not been loaded already:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod notify_connect%0a%3c @]%0a%3c %0a%3c notify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%3c %0a%3c If you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a%3c %0a%3c !! Common Problems%0a%3c %0a%3c !!! Can't read captcha%0a%3c %0a%3c If the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c You can also just register the bouncer for the user if you know which email he is using.%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc %3cusername> %3cemail>%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c The username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%3c %0a%3c !!! How do I connect?%0a%3c %0a%3c To help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%3c %0a%3c [@%0a%3c /ctcp %3cnick> version%0a%3c 23:54 [ctcp(Guest58404)] VERSION %0a%3c 23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a%3c @]%0a%3c %0a%3c In this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%3c %0a%3c [@%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:27 %3c user> thx works%0a%3c @]%0a%3c %0a%3c '''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%3c %0a%3c !! You are currently disconnected%0a%3c %0a%3c [@%0a%3c 13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a%3c @]%0a%3c %0a%3c There are two possibilities.%0a%3c %0a%3c First, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%3c %0a%3c (Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%3c %0a%3c The user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%3c %0a%3c %0a%3c Secondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%3c %0a%3c !!! Network %3cname> doesn't exist%0a%3c %0a%3c First, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a%3c @]%0a%3c %0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a%3c !!! Why am I on the wrong network?%0a%3c %0a%3c Most likely because you didn't type in the password in the right way:%0a%3c %0a%3c [@%0a%3c 21:29 %3c user> why did u send me to the wrong network%0a%3c 21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a%3c 21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx sorry%0a%3c @]%0a%3c %0a%3c This happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%3c %0a%3c '''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%3c %0a%3c An alternative method for jumping networks is to type:%0a%3c %0a%3c [@%0a%3c /znc jumpnetwork NETWORK%0a%3c @]%0a%3c %0a%3c Replace NETWORK with the real network you want.%0a%3c %0a%3c !!! Where is the web panel?%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! How do I change my password?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c He can also use the webpanel at https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! What networks do you support?%0a%3c %0a%3c After a user connects, he should type:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel listnetworks%0a%3c @]%0a%3c %0a%3c to list all available networks.%0a%3c %0a%3c !!! How do I add a network?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a%3c @]%0a%3c %0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a%3c !!! How do I delete all these networks?%0a%3c %0a%3c Don't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a%3c %0a%3c !!! I can't connect%0a%3c %0a%3c Ask the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%3c %0a%3c # Did the user successfully connect?%0a%3c - Load the notify_connect module and see if you can see the user's IP connecting.%0a%3c - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a%3c - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%3c %0a%3c To fix his network settings, log in to the web panel:%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a%3c # Check the nickname/altnick%0a%3c - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a%3c - This could prevent your user from connecting%0a%3c %0a%3c # Double check the bindhost is set properly and that dns works%0a%3c %0a%3c !!! Why am I GLINEd?%0a%3c %0a%3c 01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a%3c 01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%3c %0a%3c GLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a%3c %0a%3c !!! How do I auto-identify on...%0a%3c %0a%3c dalnet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a%3c @]%0a%3c %0a%3c freenode, rizon, oftc, snoonet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod nickserv%0a%3c /msg *nickserv set PASSWORD%0a%3c @]%0a%3c %0a%3c That will ensure you identify upon reconnect. To identify immediately, type:%0a%3c %0a%3c [@%0a%3c /msg NickServ identify PASSWORD%0a%3c @]%0a%3c %0a%3c ircnow:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add SQUERY NickServ :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a%3c @]%0a%3c %0a%3c undernet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a%3c /msg *perform Add mode %3cusername> +x%0a%3c @]%0a%3c %0a%3c quake:%0a%3c %0a%3c [@%0a%3c /msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c efnet, ircnet:%0a%3c %0a%3c There are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%3c %0a%3c !!! How do I change my ident? My vhost?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%3c %0a%3c There's currently no way to change the ident besides deleting the account and registering a new one.%0a%3c %0a%3c For the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a%3c %0a%3c !!! How do I delete my account or reset the password?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%3c %0a%3c Email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%3c %0a%3c An admin can reset the password as follows:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cnewpass>%0a%3c @]%0a%3c %0a%3c Send them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%3c %0a%3c To delete an account, type:%0a%3c %0a%3c [@%0a%3c /msg *blockuser block %3cusername>%0a%3c @]%0a%3c %0a%3c Again, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%3c %0a%3c !!! How can I log chats permanently?%0a%3c %0a%3c Don't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%3c %0a%3c !!! How do I use SASL?%0a%3c %0a%3c [@%0a%3c /msg *status loadmodule SASL%0a%3c /msg *SASL Mechanism plain%0a%3c /msg *SASL Set %3cusername> %3cpassword>%0a%3c @]%0a +host:1627452819=38.87.162.8 blob - /dev/null blob + d5985e6d8275b47ffc58abf3dfb9ff8f77ec5fa5 (mode 644) --- /dev/null +++ wiki.d/ZNC.Troubleshoot @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627452742 +host=38.87.162.8 +name=ZNC.Troubleshoot +rev=1 +targets= +text=If you're getting bindhost not set messages, you have two options:%0a%0a# Clear the bindhost%0a# Fix your DNS records%0a +time=1627452742 +author:1627452742=jrmu +diff:1627452742:1627452742:=1,4d0%0a%3c If you're getting bindhost not set messages, you have two options:%0a%3c %0a%3c # Clear the bindhost%0a%3c # Fix your DNS records%0a +host:1627452742=38.87.162.8 blob - /dev/null blob + d770af0ce264d0eac01e1b7680bf2421253b5d72 (mode 644) --- /dev/null +++ wiki.d/Znc.Chroot @@ -0,0 +1,126 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1614444529 +host=38.87.162.47 +name=Znc.Chroot +rev=37 +targets=Openbsd.Ddos,Chroot.Intro,Znc.Install,Openbsd.Buyvm,Openbsd.Syspatch,Libressl.Intro,Ftp.Usage,Tar.Usage,Gpg.Verify,Openbsd.Adduser,Openbsd.Loginconf,Openbsd.Vipw,Grep.Usage,Tls.Overview,Openhttpd.Configure,Acme-client.Configure,Dns.Vhost,Dns.Overview,DNS.RDNS,Dns.Records,Host.Usage,Relayd.Acceleration,IP.Myaddress,Localhost.Intro,Openbsd.Relayd,Oidentd.ZNC,Pf.Intro,Bouncer.Bouncer,Znc.Webpanel,Openbsd.Cron,Netcat.Irc,Znc.Relayd,Znc.Usage,Openbsd.Nsd,Nsd.Zone +text=(:title Chroot ZNC:)%0a%0aIn this guide, we will install ZNC inside a chroot.%0a%0a[[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer [[openbsd/ddos|DDoS protection]] to keep you online.%0a%0a!! Before You Begin%0a%0aRead the [[chroot/intro|introduction to chroots]] to get familiar with the concept of chroots. In this guide, we use a chroot for extra security.%0a%0aYou will want to set up [[Znc/Install|ZNC]] once without a chroot, as a normal user without root powers. This will give you a better understanding of how ZNC works before you attempt a more complex, chrooted install.%0a%0a!! Public ZNCs%0a%0aIf you are offering a public ZNC service for many users, you will want to get a ddos-filtered IPv4 address and an IPv6 subnet from your internet provider ([[openbsd/buyvm|BuyVM guide]]).%0a%0a!! Installing Dependencies%0a%0aThe below installation was tested on [[openbsd/syspatch|OpenBSD 7.0 stable]]. ZNC will run inside a chroot at /home/znc.%0a%0aBefore beginning the installation, check to make sure you are using OpenBSD 7.0 and that your system is patched:%0a%0a[@%0a$ uname -a%0aOpenBSD example.com 7.0 GENERIC#224 amd64%0a$ doas syspatch%0a@]%0a%0aNext, we install needed dependencies:%0a%0a[@%0a$ doas pkg_add icu4c boost cmake gettext-runtime gettext-tools%0a@]%0a%0a!! Installing from Packages%0a%0a'''WARNING''': OpenBSD 6.9 (and later) may contain a bug that causes ZNC to crash with a segmentation fault. To avoid this, we recommend applying a custom patch to ZNC as described below in '''Patched Source'''.%0a%0aIf you are running on a single core server, you can install znc from packages:%0a%0a[@%0a$ doas pkg_add znc%0a@]%0a%0a!! Compiling from Source%0a%0a!!! Patched Source%0a%0aDue to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%0a[@%0adiff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a--- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a+++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a@@ -292,6 +292,7 @@%0a }%0a %0a int main(int argc, char** argv) {%0a+ pthread_attr_t a; pthread_attr_init(&a);%0a CString sConfig;%0a CString sDataDir = "";%0a@]%0a%0aThe schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%0a[@%0a--- modules/schat.cpp.orig%0a+++ modules/schat.cpp%0a@@ -25,8 +25,8 @@%0a #include %3cznc/User.h>%0a #include %3cznc/IRCNetwork.h>%0a %0a-#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERS%0aION_NUMBER) || \%0a- OPENSSL_VERSION_NUMBER %3c 0x10100007%0a+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBE%0aR %3c 0x10100007 || \%0a+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUM%0aBER %3c 0x3040000fL)%0a /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher acces%0asor was added 2%0a weeks before the public release.%0a See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a */%0a@]%0a %0aIRCNow provides a patched version of ZNC:%0a%0a[@%0a$ cd ~%0a$ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a@]%0a%0aOn OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%0aFor [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%0a[@%0a$ tar xvzf znc-1.8.2a.tar.gz%0a@]%0a%0aNext, we build ZNC:%0a%0a[@%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ cmake ..%0a$ make%0a$ doas make install%0a@]%0a%0a!!! Upstream Source%0a%0aYou can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%0a'''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%0aFirst, download the latest stable release:%0a%0a[@%0a$ cd ~%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a@]%0a%0aWe recommend you verify the [[gpg/verify|gpg signature]]:%0a%0a[@%0a$ doas pkg_add gnupg%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a$ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a$ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a@]%0a%0aNext, [[tar/usage|extract and unzip]] the files:%0a%0a[@%0a$ tar xvzf znc-1.8.2.tar.gz %0a@]%0a%0a!! Configuring the Chroot%0a%0aWe want to [[openbsd/adduser|add a new user]]: create a new unprivileged user account for security:%0a%0a[@%0a$ doas useradd -m -d /home/znc -s /sbin/nologin znc%0a@]%0a%0a@@-m@@ tells [[https://man.openbsd.org/useradd|useradd]] to create a home folder; @@-d@@ says the home folder is @@/home/znc@@; @@-s@@ specifies the default shell is @@/sbin/nologin@@; meaning no user can login. The username created is znc.%0a%0a!!! Login Class%0a%0aAdd the following lines to the end of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a%0a[@%0aznc:\%0a :openfiles-cur=4096:\%0a :openfiles-max=8182:\%0a :openfiles=4096:\%0a :stacksize-cur=48M:\%0a :stacksize-max=48M:\%0a :maxproc-max=infinity:\%0a :maxproc-cur=4096:\%0a :tc=daemon:%0a@]%0a%0a'''WARNING''': Use tabs and not spaces. Spaces will fail and as a result, znc will not get the file resources it needs.%0a%0aThe [[openbsd/loginconf|login.conf]] guide explains the attributes in more detail.%0a%0aEach time znc creates a new connection for a user, it requires at least one file descriptor. So, if your file descriptor limit is set too low, znc will be unable to make new connections to networks. openfiles sets the maximum number of open file descriptors per process. -cur specifies the current limit and -max specifies the maximum limit.%0a%0aThe current and maximum stack size controls how much stack memory a user can use. We set it at 48M to give ZNC plenty of room.%0a%0a@@maxproc@@ limits how many processes a user in this class can create. We set the maximum to infinity and the current amount to 4096. @@tc=daemon@@ means that the default values will come from the @@daemon@@ login class.%0a%0aNow we change znc's default login class to znc:%0a%0a[@%0a$ doas usermod -L znc znc%0a@]%0a%0aThis can also be edited with a text editor using [[openbsd/vipw]].%0a%0aTo confirm that the login class has been changed, check [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%0a[@%0a$ doas grep '^znc' /etc/passwd%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a%0a[[grep/usage|grep]] searches for the line that begins with @@znc@@ in [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%0aThe 5th field needs to say znc:%0a%0a[@%0a$ doas grep '^znc' /etc/passwd | cut -d : -f 5%0aznc%0a@]%0a%0a'''NOTE''': If /etc/login.conf.db exists, make sure to delete it, otherwise login.conf changes won't apply:%0a%0a[@%0a$ doas rm /etc/login.conf.db%0a@]%0a%0aNext, we temporarily change znc's shell to ksh:%0a%0a[@%0a$ doas chsh -s /bin/ksh znc%0a@]%0a%0aNext, we login with the username znc, with the login class znc:%0a%0a[@%0a$ doas su -c znc znc%0a$ ulimit -a%0atime(cpu-seconds) unlimited%0afile(blocks) unlimited%0acoredump(blocks) unlimited%0adata(kbytes) 33554432%0astack(kbytes) 32768%0alockedmem(kbytes) 329478%0amemory(kbytes) 985092%0anofiles(descriptors) 4096%0aprocesses 1310%0a@]%0a%0a@@ulimit -a@@ displays all process limits for our current user.%0a%0a'''WARNING''': If nofiles(descriptors) is not 4096, you may have an error in your configuration!%0a%0aPress ctrl+d to signal the end of file to logout, then run as root:%0a%0a[@%0a$ ^D%0a$ doas su%0a@]%0a%0aThen run this list of commands:%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/.znc%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/lib{c++,c++abi,c,crypto,m,pthread,ssl,z}.so.* /home/znc/usr/lib/%0acp /usr/libexec/ld.so /home/znc/usr/libexec/%0acp /etc/resolv.conf /home/znc/etc/%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/%0acp /var/run/ld.so.hints /home/znc/var/run/%0acp /usr/local/bin/znc /home/znc/usr/local/bin/%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/%0acp /usr/local/lib/libicu{uc,data,i18n}.so.* /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_{locale,chrono,system,thread}-mt.so.* /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/share/icu /home/znc/usr/local/share/%0acp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0afor LANG in pt_BR bg_BG de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL ru_RU%0ado%0a mkdir -p /home/znc/usr/local/share/locale/$LANG/LC_MESSAGES%0a cp -R /usr/local/share/locale/$LANG/LC_MESSAGES/znc*.mo /home/znc/usr/local/share/locale/$LANG/LC_MESSAGES%0adone%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc _identd%0a@]%0a%0a[@%0a%0a!! Configuring ZNC%0a%0a!!! Makeconf%0a%0aAt first, you will need to create a conf file:%0a%0a[@%0a# export HOME=/home/znc/%0a# chroot -u znc -g znc /home/znc znc --makeconf%0a[ .. ] Checking for list of available modules...%0a[ ** ]%0a[ ** ] -- Global settings --%0a[ ** ]%0a[ ?? ] Listen on port (1025 to 65534): 31337%0a[ ?? ] Listen using SSL (yes/no) [no]: yes%0a[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a[ .. ] Verifying the listener...%0a[ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a[ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a[ ** ] Enabled global modules [webadmin]%0a[ ** ]%0a@]%0a%0aWe're going to configure ZNC to listen on ports 1337 and 31337. Port 1337 will be plaintext, port 31337 will be SSL. This convention is followed by IRCNow's public servers.%0a%0a'''WARNING''': Do '''not''' listen to both IPv4 and IPv6. There appears to be a bug in ZNC v1.8.2 on OpenBSD 6.9 where selecting 'yes' will cause IPv4 to stop working. Instead, as shown later in the guide, you can create separate listeners to allow listening to both IPv4 and IPv6.%0a%0aYou will want to enable connecting both with and without [[tls/overview|SSL]]. Although SSL helps to encrypt messages, some older IRC programs don't support it, so it is important to offer ZNC in plaintext.%0a%0aZNC will automatically create its own SSL certificate. This certificate, however, will be self-signed and hence will show up as invalid or untrusted by your IRC client. To get a properly signed SSL certificate, you will need to configure [[openhttpd/configure|openhttpd]] and request the certificate with [[acme-client/configure|acme-client]].%0a%0a[@%0a[ ** ] -- Admin user settings --%0a[ ** ]%0a[ ?? ] Username (alphanumeric): username%0a[ ?? ] Enter password:%0a[ ?? ] Confirm password:%0a[ ?? ] Nick [username]:%0a[ ?? ] Alternate nick [username_]:%0a[ ?? ] Ident [username]:%0a[ ?? ] Real name (optional):%0a@]%0a%0a!!! Bindhosts%0a%0aNext, you'll be asked to specify an optional bindhost. For now, we will leave this blank.%0a%0a[@%0a[ ?? ] Bind host (optional):%0a@]%0a%0a'''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindhost]] that you want. If you bindhost does not work, your vhost will not show up properly, and you may not be able to connect at all!%0a%0aThe bindhost is used to pick which IP address to use for a server with multiple IP addresses. It can allow you to pick a nice-looking vhost, like @@username@user name.example.com@@, once [[dns/overview|DNS]] has been properly set up.%0a%0aA [[dns/vhost|vhost]] must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]] to work. If these have not been configured properly, first leave the bindhost blank.%0a%0aTo test if your bindhost works properly, check the [[host/usage|host]] guide. You will want to run host on your hostname and IP address to make sure they both match.%0a%0a[@%0a[ ** ] Enabled user modules [chansaver, controlpanel]%0a[ ** ]%0a[ ?? ] Set up a network? (yes/no) [yes]:%0a[ ** ]%0a@]%0a%0aWe will turn on the chansaver and controlpanel modules and set up a network.%0a%0a[@%0a[ ** ] -- Network settings --%0a[ ** ]%0a[ ?? ] Name [freenode]: example%0a[ ?? ] Server host (host only): irc.example.com%0a[ ?? ] Server uses SSL? (yes/no) [no]: yes%0a[ ?? ] Server port (1 to 65535) [6697]:%0a[ ?? ] Server password (probably empty):%0a[ ?? ] Initial channels: #channel%0a[ ** ] Enabled network modules [simple_away]%0a@]%0a%0aConfigure a network. The network name is usually just a single word; it is not the same as the server host. IRC normally uses port 6667 if there is no SSL, and 6697 if there is SSL.%0a%0a[@%0a[ ** ]%0a[ .. ] Writing config [/home/znc//.znc/configs/znc.conf]...%0a[ ** ]%0a[ ** ] To connect to this ZNC you need to connect to it as your IRC server%0a[ ** ] using the port that you supplied. You have to supply your login info%0a[ ** ] as the IRC server password like this: user/network:pass.%0a[ ** ]%0a[ ** ] Try something like this in your IRC client...%0a[ ** ] /server %3cznc_server_ip> +31337 username:%3cpass>%0a[ ** ]%0a[ ** ] To manage settings, users and networks, point your web browser to%0a[ ** ] https://%3cznc_server_ip>:31337/%0a[ ** ]%0a[ ?? ] Launch ZNC now? (yes/no) [yes]: no%0a@]%0a%0aFor now, avoid setting up the web server on port 31337. We will instead use [[relayd/acceleration|relayd]] so that the web server can viewed on the default port for https: port 443.%0a%0a!! Configuring SSL%0a%0aIn order to provide SSL for the bouncer, you must first configure [[openhttpd/configure|OpenHTTPd]] and request a certificate with [[acme-client/configure|acme-client]].%0a%0aOnce that is done, you can copy the certificate:%0a%0a[@%0a# cp /etc/ssl/bnc.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a# cp /etc/ssl/private/bnc.example.com.key /home/znc/home/znc/.znc/%0a# chown znc:znc /home/znc/home/znc/.znc/bnc.example.com.*%0a@]%0a%0aIn the above commands, replace @@bnc.example.com@@ with your real hostname.%0a%0aNext, we create dhparam:%0a%0a[@%0a# openssl dhparam -out dhparam.pem 2048%0a# chown znc:znc dhparam.pem%0a# mv dhparam.pem /home/znc/home/znc/.znc/%0a@]%0a%0aNext, edit [[https://wiki.znc.in/Configuration|/home/znc/home/znc/.znc/configs/znc.conf]] so that the configuration resembles:%0a%0a[@%0a// WARNING%0a//%0a// Do NOT edit this file while ZNC is running!%0a// Use webadmin or *controlpanel instead.%0a//%0a// Altering this file by hand will forfeit all support.%0a//%0a// But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.%0a// Also check https://wiki.znc.in/Configuration%0a%0aAnonIPLimit = 10000%0aAuthOnlyViaModule = false%0aConfigWriteDelay = 60%0aConnectDelay = 1%0aHideVersion = false%0aLoadModule = chansaver%0aLoadModule = lastseen%0aLoadModule = adminlog%0aLoadModule = identfile%0aLoadModule = webadmin%0aLoadModule = certauth%0aMaxBufferSize = 10000%0aProtectWebSessions = true%0aSSLCertFile = /home/znc/.znc/bnc.example.com.fullchain.pem%0aSSLDHParamFile = /home/znc/.znc/dhparam.pem%0aSSLKeyFile = /home/znc/.znc/bnc.example.com.key%0aPidFile = /home/znc/.znc/znc.pid%0aServerThrottle = 1%0aVersion = 1.8.2%0a%0a%3cListener listener0>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener1>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener2>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener3>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener4>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener5>%0a AllowIRC = false%0a AllowWeb = true%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1338%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cUser username>%0a Pass = sha256#014eab533f25fe65621963f712ecaf3b86fe840859ab6f4c675200c73d02e6d1#ytZ8/L,:MtZ5cMCe5IJX#%0a Admin = true%0a Nick = username%0a AltNick = username_%0a Ident = username%0a LoadModule = chansaver%0a LoadModule = controlpanel%0a%0a %3cNetwork example>%0a LoadModule = simple_away%0a Server = irc.example.com +6697 %0a%0a %3cChan #channel>%0a %3c/Chan>%0a %3c/Network>%0a%3c/User>%0a@]%0a%0aPlease read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%0aYou will need to replace @@bnc.example.com@@ with your actual hostname.%0a%0aIn the listeners, you need to replace @@192.168.1.1@@ and @@2001:db8::@@ with your server's [[IP/myaddress|public IPv4 and IPv6 address]].%0a%0a'''NOTE''': Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a%0aIt's recommended to keep the ports 1337 for plaintext, 31337 for SSL, and 1338 for web. This convention is followed on the public servers on IRCNow. Note that znc binds to port 1338 without SSL for the web server. We later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%0a'''WARNING''': Do '''not''' listen to both IPv4 and IPv6. As mentioned above, you need separate listeners.%0a%0aFor the username block, use the defaults that ZNC's makeconf generated. Don't edit or delete the values that ZNC generated automatically.%0a%0aPlease read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%0a!! Ident%0a%0aNotice the above config loads the identfile module by default. This is necessary to provide proper ident using [[oidentd/ZNC|oidentd]]. You will need to configure [[oidentd/ZNC|oidentd]] for the module to work.%0a%0a!! Packet Filter%0a%0aIf [[pf/intro|packet filter]] is set to deny all incoming connects, you can add this rule to /etc/pf.conf:%0a%0a[@%0apass in log quick proto tcp to port {http https} keep state (max-src-conn 300, max-src-conn-rate 300/60) #relayd web%0apass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 300) #bnc%0a@]%0a%0aTo load the new ruleset:%0a%0a[@%0a# pfctl -f /etc/pf.conf%0a@]%0a%0a!! Starting ZNC%0a%0aTo run znc:%0a%0a[@%0a# export HOME=/home/znc%0a# /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0a!! Editing Config%0a%0aThe best way to edit the conf file is by [[bouncer/bouncer|logging in to znc]] with your IRC client, then using the *status or *controlpanel module. You can also use the [[znc/webpanel|webpanel]] once it has been set up.%0a%0aSometimes, however, it may be necessary to edit your configuration file directly and then reload it (rehash).%0a%0a!!! Shutting down and restarting%0a%0aIf the only person using ZNC is yourself, you can easily shut down ZNC, edi the conf, then restart ZNC.%0a%0a[@%0a# pkill -U znc%0a@]%0a%0aThis will kill all processes run by the user znc, which should kill the bouncer. Then edit the znc.conf file, and restart ZNC as described above.%0a%0a!!! Live rehash%0a%0aIf you have other users connected to a public ZNC, or you cannot afford to take ZNC offline, you may need to rehash ZNC. First, [[bouncer/bouncer|log in to znc]] with your IRC client, then save the config:%0a%0a[@%0a/msg *status saveconfig%0a@]%0a%0aNext, edit [[https://wiki.znc.in/Configuration|/home/znc/home/znc/.znc/configs/znc.conf]]. Finally, send a rehash message over IRC to ZNC:%0a%0a[@%0a/msg *status rehash%0a@]%0a%0aWe add a [[openbsd/cron|cron job]] to have ZNC restart every 5 minutes. ZNC will only start if no other ZNC instance is running, so this is safe:%0a%0a[@%0a# echo "HOME=/home/znc" >> /var/cron/tabs/root%0a# echo "*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &" >> /var/cron/tabs/root%0a@]%0a%0a!! Testing ZNC%0a%0aTo test the connection in plaintext ('''warning''': insecure), consult the [[netcat/irc|netcat irc guide]].%0a%0aTo test the connection using SSL, run:%0a%0a[@%0a$ openssl s_client -connect bnc.example.com:31337%0a@]%0a%0aReplace @@bnc.example.com@@ with your actual hostname. Check to make sure you have the proper SSL cert configured. Once an SSL session has been established, consult the [[netcat/irc|netcat irc guide]].%0a%0a!! Web Panel%0a%0aUse [[znc/relayd|relayd]] to allow visitors to use port 443 to access the ZNC web panel.%0a%0a!! Control Panel%0a%0aSee [[znc/usage]] for help on how to use the controlpanel.%0a%0a(:if false:)%0a!! rc.d script%0a%0aCreate /etc/rc.d/znc:%0a%0a[@%0a#!/bin/ksh%0a#%0a# $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%0adaemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0adaemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%0aservice_stop() {%0a if [ -f $daemon_pidfile ]; then%0a pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a kill $pid%0a fi%0a}%0a%0acase "$1" in%0a stop)%0a service_stop%0a ;;%0aesac%0a%0a. /etc/rc.d/rc.subr%0a%0arc_reload=NO%0a%0arc_cmd $1%0a%0a@]%0a%0a[@%0adoas chmod +x /etc/rc.d/znc%0a@]%0a%0a!! Automatic start%0a%0aThis script will automatically restart znc in case it crashes.%0a%0a[@%0adoas mkdir /usr/local/project_name/%0adoas touch /usr/local/project_name/checker_znc.sh%0adoas chmod +x /usr/local/project_name/checker_znc.sh%0a@]%0a%0a[@%0a#!/bin/sh%0a%0aSERVICE_NAME="znc"%0aSERVICE_USER="znc"%0aSERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%0aif ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0athen%0a if [ -f $SERVICE_PID ]; then%0a rm -f $SERVICE_PID%0a rcctl -d restart $SERVICE_NAME%0a fi%0afi%0a@]%0a%0a# echo "*/2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &" >> /var/cron/tabs/root%0a%0a(:ifend:)%0a%0a!! Custom vhosts%0a%0a'''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%0aIt is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%0aIf a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%0aFor example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%0aOnce example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%0aKeeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%0a!! Troubleshooting%0a%0aIf your user is getting disconnected, these are the most likely causes:%0a%0a# mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a# SSL is not supported%0a# user has a server password where none belongs (most likely he confused server password with nickserv password)%0a# ident is not working%0a# ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a# typo of server name or IP address%0a# dns lookup error%0a%0aYou may be need to install icu4c-68.2v0.%0a%0a!!! IPv4/IPv6 mismatch%0a%0aIf a znc user has a bindhost that is IPv6 only but the network is IPv4 only, or vice versa, it will not connect.%0a%0aTo prevent this, you '''must''' use a symbolic hostname (such as username.example.com) for the bindhost. Each hostname needs a single [[dns/records|A record]] and a single [[dns/records|AAAA record]] in the [[nsd/zone|DNS zone]]. If any part is misconfigured, users will be unable to connect.%0a%0aTo check if any bindhosts are incorrectly using fixed IPv6 or IPv4 addresses, run:%0a%0a[@%0a# sed -nE '/.*(\%3cBindHost|\%3cDCCBindHost) = (.*:.*|[0-9.]+)/s//\2/p' /home/znc/home/znc/.znc/configs/znc.conf%0a@]%0a%0aIf you see IP addresses like the following, then your bindhosts are incorrectly set to use IPv4 or IPv6 addreses directly instead of symbolic hostnames:%0a%0a[@%0a192.168.1.1%0a2001:db8::%0a@]%0a%0a!!! Bindhost Errors%0a%0aA quick way to check if there are DNS errors is to run%0athe following two commands:%0a%0a[@%0a# sed -nE '/.*(\%3cBindHost|\%3cDCCBindHost) = (.*)/s//\2/p' /home/znc/home/znc/.znc/configs/znc.conf | xargs -n 1 -t host%0a@]%0a%0aEvery hostname should have both an IPv4 and IPv6 address. The IPv4 address should match your [[openbsd/ddos|DDoS-filtered]] public address. Each IPv6 address should be unique.%0a%0aIf you see duplicate entries (the same hostname returns multiple IPv6 addresses), you must delete the duplicate [[dns/vhost|DNS entries]].%0a%0aHere are error messages that indicate there are DNS problems with the bindhost:%0a%0a[@%0ahost username.example.com%0a;; connection timed out; no servers could be reached%0a@]%0a%0aThere is an error because means that the DNS server could not be reached.%0a%0a[@%0ahost username.example.com%0aHost username.example.com not found: 3(NXDOMAIN)%0a@]%0a%0aThis indicates there are no DNS records for the bindhost.%0a%0a[@%0a$ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a$ vi ~/bindhost%0a@]%0a%0aThen with vi:%0a%0a[@%0a:%25s_.* = _host _g%0a@]%0a%0aThen:%0a%0a[@%0a$ sh ~/bindhost%0a@]%0a%0aIf you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%0a!!! Missing libraries%0a%0aIf you are get errors such as:%0a%0a[@%0ald.so: znc: can't load library 'libc++abi.so.5.0'%0a@]%0a%0aThen you may be on the wrong OpenBSD version (6.9 or earlier); or you did not apply [[openbsd/syspatch|syspatch]]; or you did not upgrade all dependencies:%0a%0a[@%0a$ doas syspatch%0a$ doas pkg_add -Uu%0a@]%0a%0aDelete the build folder and compile again.%0a +time=1635951006 +title=Chroot ZNC +author:1635951006=jrmu +diff:1635951006:1635950033:=270,271d269%0a%3c cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a806a805,821%0a> %0a> !! Adding ICU support%0a> %0a> Copy the following directories:%0a> %0a> [@%0a> # cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a> # cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a> @]%0a> %0a> Then, restart BNC. Encoding options should be available.%0a> %0a> (The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a> %0a> !! Running znc in debug mode%0a> %0a> There is a guide for [[znc/debug|building ZNC]] in debug mode.%0a +host:1635951006=38.87.162.47 +author:1635950033=jrmu +diff:1635950033:1635918466:=620c620,639%0a%3c Use [[znc/relayd|relayd]] to allow visitors to use port 443 to access the ZNC web panel.%0a---%0a> While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a> %0a> [@%0a> server "bnc.example.com" {%0a> listen on * port 80%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> location * {%0a> block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a> }%0a> }%0a> @]%0a> %0a> Go ahead and reboot the web server:%0a> %0a> [@%0a> $ doas rcctl restart httpd%0a> @]%0a +host:1635950033=38.87.162.47 +author:1635918466=jrmu +diff:1635918466:1635903538:=747,787c747,748%0a%3c To check if any bindhosts are incorrectly using fixed IPv6 or IPv4 addresses, run:%0a%3c %0a%3c [@%0a%3c # sed -nE '/.*(\%3cBindHost|\%3cDCCBindHost) = (.*:.*|[0-9.]+)/s//\2/p' /home/znc/home/znc/.znc/configs/znc.conf%0a%3c @]%0a%3c %0a%3c If you see IP addresses like the following, then your bindhosts are incorrectly set to use IPv4 or IPv6 addreses directly instead of symbolic hostnames:%0a%3c %0a%3c [@%0a%3c 192.168.1.1%0a%3c 2001:db8::%0a%3c @]%0a%3c %0a%3c !!! Bindhost Errors%0a%3c %0a%3c A quick way to check if there are DNS errors is to run%0a%3c the following two commands:%0a%3c %0a%3c [@%0a%3c # sed -nE '/.*(\%3cBindHost|\%3cDCCBindHost) = (.*)/s//\2/p' /home/znc/home/znc/.znc/configs/znc.conf | xargs -n 1 -t host%0a%3c @]%0a%3c %0a%3c Every hostname should have both an IPv4 and IPv6 address. The IPv4 address should match your [[openbsd/ddos|DDoS-filtered]] public address. Each IPv6 address should be unique.%0a%3c %0a%3c If you see duplicate entries (the same hostname returns multiple IPv6 addresses), you must delete the duplicate [[dns/vhost|DNS entries]].%0a%3c %0a%3c Here are error messages that indicate there are DNS problems with the bindhost:%0a%3c %0a%3c [@%0a%3c host username.example.com%0a%3c ;; connection timed out; no servers could be reached%0a%3c @]%0a%3c %0a%3c There is an error because means that the DNS server could not be reached.%0a%3c %0a%3c [@%0a%3c host username.example.com%0a%3c Host username.example.com not found: 3(NXDOMAIN)%0a%3c @]%0a%3c %0a%3c This indicates there are no DNS records for the bindhost.%0a---%0a> A quick way to check if there are DNS errors:%0a> %0a +host:1635918466=38.87.162.47 +author:1635903538=jrmu +diff:1635903538:1635871169:=645d644%0a%3c (:if false:)%0a683,687c682,687%0a%3c !! Automatic start%0a%3c %0a%3c This script will automatically restart znc in case it crashes.%0a%3c %0a%3c [@%0a---%0a> '''Automatic start'''%0a> %0a> Automatic start of the service in case of a crash. %0a> %0a> This prevents the loss of users due to software errors. Make sure your users feel good.%0a> [=%0a691,693c691,693%0a%3c @]%0a%3c %0a%3c [@%0a---%0a> =]%0a> %0a> [=%0a707,711c707,718%0a%3c @]%0a%3c %0a%3c # echo "*/2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &" >> /var/cron/tabs/root%0a%3c %0a%3c (:ifend:)%0a---%0a> %0a> =]%0a> This may have issues in the 6.9 release.%0a> [=%0a> doas crontab -e%0a> =]%0a> %0a> [=%0a> */2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a> =]%0a> %0a> (:if false:)%0a +host:1635903538=38.87.162.47 +author:1635871169=jrmu +diff:1635871169:1635866739:=32c32%0a%3c $ doas pkg_add icu4c boost cmake gettext-runtime gettext-tools%0a---%0a> $ doas pkg_add icu4c boost cmake%0a271,275d270%0a%3c for LANG in pt_BR bg_BG de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL ru_RU%0a%3c do%0a%3c mkdir -p /home/znc/usr/local/share/locale/$LANG/LC_MESSAGES%0a%3c cp -R /usr/local/share/locale/$LANG/LC_MESSAGES/znc*.mo /home/znc/usr/local/share/locale/$LANG/LC_MESSAGES%0a%3c done%0a281,282d275%0a%3c %0a%3c [@%0a +host:1635871169=38.87.162.47 +author:1635866739=jrmu +diff:1635866739:1635860141:=634,637d633%0a%3c !! Control Panel%0a%3c %0a%3c See [[znc/usage]] for help on how to use the controlpanel.%0a%3c %0a640,641d635%0a%3c Create /etc/rc.d/znc:%0a%3c %0a642a637,640%0a> doas touch /etc/rc.d/znc%0a> doas chmod +x /etc/rc.d/znc%0a> @]%0a> %0a671,674d668%0a%3c [@%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c @]%0a%3c %0a712c706,767%0a%3c %0a---%0a> '''ZNC console'''%0a> %0a> Connect%0a> [=%0a> /quote PASS admin:mysuperadminpassqwerty%0a> =]%0a> %0a> Generate new pass for user%0a> [=%0a> Go to site: https://passwordsgenerator.net/%0a> and disable "Include Symbols"%0a> click "generate password"%0a> or you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a> =]%0a> (:ifend:)%0a> %0a> User login%0a> [=%0a> username must be the same or derived from the network login (contain a suffix)%0a> =]%0a> %0a> Create new user%0a> [=%0a> /msg *controlpanel AddUser bob 12345678%0a> /msg *controlpanel LoadModule bob perform%0a> =]%0a> %0a> Add network for new ner%0a> [=%0a> /msg *controlpanel AddNetwork bob IRCNow%0a> /msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a> /msg *controlpanel SetNetwork BindHost bob IRCNow bob.fruit.ircnow.org%0a> /msg *controlpanel help%0a> =]%0a> %0a> Set channels%0a> [=%0a> /msg *controlpanel AddChan bob IRCNow #ircnow%0a> =]%0a> %0a> Set pass (this must be done with a user account or offer to run this command yourself) %0a> [=%0a> /msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a> /msg *perform help%0a> =]%0a> %0a> Reconnect user`s network%0a> [=%0a> /msg *controlpanel Reconnect bob IRCNow%0a> =]%0a> %0a> Saving settings to disk (please save your changes to disk immediately)%0a> [=%0a> /msg *status SaveConfig%0a> =]%0a> %0a> Deleting user and user entities%0a> [=%0a> /msg *controlpanel DelUser bob%0a> /msg *controlpanel DelNetwork bob IRCNow%0a> =]%0a> %0a741,746c796,801%0a%3c !!! IPv4/IPv6 mismatch%0a%3c %0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, or vice versa, it will not connect.%0a%3c %0a%3c To prevent this, you '''must''' use a symbolic hostname (such as username.example.com) for the bindhost. Each hostname needs a single [[dns/records|A record]] and a single [[dns/records|AAAA record]] in the [[nsd/zone|DNS zone]]. If any part is misconfigured, users will be unable to connect.%0a%3c %0a---%0a> !! WARNING%0a> %0a> If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a> %0a> To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a> %0a770,771c825,826%0a%3c If you are get errors such as:%0a%3c %0a---%0a> If you are getting errors such as:%0a> %0a773c828%0a%3c ld.so: znc: can't load library 'libc++abi.so.5.0'%0a---%0a> ld.so: znc: can't load library 'libc++abi.so.5.0' %0a776,777c831,832%0a%3c Then you may be on the wrong OpenBSD version (6.9 or earlier); or you did not apply [[openbsd/syspatch|syspatch]]; or you did not upgrade all dependencies:%0a%3c %0a---%0a> Then it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a> %0a783,784c838,839%0a%3c Delete the build folder and compile again.%0a%3c %0a---%0a> Then, delete the build folder and compile again.%0a> %0a800c855,915%0a%3c There is a guide for [[znc/debug|building ZNC]] in debug mode.%0a---%0a> [@%0a> $ cd ~%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a> $ tar xvzf znc-1.8.2.tar.gz%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build%0a> $ ../configure --enable-debug CXX=c++%0a> $ gmake%0a> $ doas make install%0a> @]%0a> %0a> [@%0a> mkdir -p /home/znc/usr/lib/%0a> mkdir -p /home/znc/usr/local/lib/pkgconfig%0a> mkdir -p /home/znc/usr/local/bin/%0a> mkdir -p /home/znc/usr/local/share/%0a> mkdir -p /home/znc/usr/local/man/man1/%0a> mkdir -p /home/znc/usr/libexec/%0a> mkdir -p /home/znc/etc/ssl%0a> mkdir -p /home/znc/dev/%0a> mkdir -p /home/znc/var/run/%0a> mkdir -p /home/znc/home/znc/%0a> mknod -m 644 /home/znc/dev/random c 45 0%0a> mknod -m 644 /home/znc/dev/urandom c 45 2%0a> mknod -m 666 /home/znc/dev/null c 2 2%0a> cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a> cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a> cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a> cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a> cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a> cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a> cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a> cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a> cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a> cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a> cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a> cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a> cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a> cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a> cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a> cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a> cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a> cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a> cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a> cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a> cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a> chown -R znc:znc /home/znc/%0a> chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a> chmod -R o-rx /home/znc/home/znc/.znc/%0a> usermod -G znc _identd%0a> @]%0a> %0a> $ doas gdb chroot%0a +host:1635866739=38.87.162.47 +author:1635860141=jrmu +diff:1635860141:1635839341:=5,6c5,6%0a%3c [[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer [[openbsd/ddos|DDoS protection]] to keep you online.%0a%3c %0a---%0a> [[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a> %0a102,103c102,103%0a%3c Next, we build ZNC:%0a%3c %0a---%0a> We then use build ZNC:%0a> %0a135,136c135,136%0a%3c Next, [[tar/usage|extract and unzip]] the files:%0a%3c %0a---%0a> Next, extract and unzip the files:%0a> %0a277,280d276%0a%3c !! Configuring ZNC%0a%3c %0a%3c !!! Makeconf%0a%3c %0a306,307c302,305%0a%3c ZNC will automatically create its own SSL certificate. This certificate, however, will be self-signed and hence will show up as invalid or untrusted by your IRC client. To get a properly signed SSL certificate, you will need to configure [[openhttpd/configure|openhttpd]] and request the certificate with [[acme-client/configure|acme-client]].%0a%3c %0a---%0a> ZNC will automatically create its own SSL certificate. This ce%0a> rtificate, however, will be self-signed and hence will show up%0a> as invalid or untrusted by your IRC client. To get a properly signed SSL certificate, you will need to configure [[openhttpd/configure|openhttpd]] and request the certificate with [[acme-client/configure|acme-client]].%0a> %0a320,321c318,319%0a%3c !!! Bindhosts%0a%3c %0a---%0a> !! Bindhosts%0a> %0a328,329c326,330%0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindhost]] that you want. If you bindhost does not work, your vhost will not show up properly, and you may not be able to connect at all!%0a%3c %0a---%0a> '''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindh%0a> ost]] that you want. If you bindhost does not work, your vhost%0a> will not show up properly, and you may not be able to connect%0a> at all!%0a> %0a332,335c333,338%0a%3c A [[dns/vhost|vhost]] must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]] to work. If these have not been configured properly, first leave the bindhost blank.%0a%3c %0a%3c To test if your bindhost works properly, check the [[host/usage|host]] guide. You will want to run host on your hostname and IP address to make sure they both match.%0a%3c %0a---%0a> A [[dns/vhost|vhost]] must have proper [[dns/overview|forward]] and [[DNS/rD%0a> NS|reverse DNS]] [[dns/records|records]] to work. If these have not been configured properly, first leave the bindhost blank.%0a> %0a> To test if your bindhost works properly, check the [[host/usag%0a> e|host]] guide. You will want to run host on your hostname and IP address to make sure they both match.%0a> %0a524,525c527,528%0a%3c '''NOTE''': Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a%3c %0a---%0a> Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a> %0a562,571c565,570%0a%3c !! Editing Config%0a%3c %0a%3c The best way to edit the conf file is by [[bouncer/bouncer|logging in to znc]] with your IRC client, then using the *status or *controlpanel module. You can also use the [[znc/webpanel|webpanel]] once it has been set up.%0a%3c %0a%3c Sometimes, however, it may be necessary to edit your configuration file directly and then reload it (rehash).%0a%3c %0a%3c !!! Shutting down and restarting%0a%3c %0a%3c If the only person using ZNC is yourself, you can easily shut down ZNC, edi the conf, then restart ZNC.%0a%3c %0a---%0a> !! Rehashing Config%0a> %0a> It may be necessary to edit your configuration file and then reload it (rehash). If your bouncer is already online, make sure to first [[bouncer/bouncer|log in to znc]] with your IRC client, then save the config.%0a> %0a> After logging in with your IRC client, type this:%0a> %0a573c572,573%0a%3c # pkill -U znc%0a---%0a> /msg *status saveconfig%0a> /msg *status rehash%0a576,581c576,577%0a%3c This will kill all processes run by the user znc, which should kill the bouncer. Then edit the znc.conf file, and restart ZNC as described above.%0a%3c %0a%3c !!! Live rehash%0a%3c %0a%3c If you have other users connected to a public ZNC, or you cannot afford to take ZNC offline, you may need to rehash ZNC. First, [[bouncer/bouncer|log in to znc]] with your IRC client, then save the config:%0a%3c %0a---%0a> We add a [[openbsd/cron|cron job]] to have ZNC restart every 5 minutes. ZNC will only start if no other ZNC instance is running, so this is safe:%0a> %0a583c579,580%0a%3c /msg *status saveconfig%0a---%0a> # echo "HOME=/home/znc" >> /var/cron/tabs/root%0a> # echo "*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &" >> /var/cron/tabs/root%0a586,587c583,586%0a%3c Next, edit [[https://wiki.znc.in/Configuration|/home/znc/home/znc/.znc/configs/znc.conf]]. Finally, send a rehash message over IRC to ZNC:%0a%3c %0a---%0a> !! Testing ZNC%0a> %0a> To test the connection (and SSL certificate), run:%0a> %0a589c588%0a%3c /msg *status rehash%0a---%0a> $ openssl s_client -connect bnc.example.com:31337%0a592,609c591,593%0a%3c We add a [[openbsd/cron|cron job]] to have ZNC restart every 5 minutes. ZNC will only start if no other ZNC instance is running, so this is safe:%0a%3c %0a%3c [@%0a%3c # echo "HOME=/home/znc" >> /var/cron/tabs/root%0a%3c # echo "*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &" >> /var/cron/tabs/root%0a%3c @]%0a%3c %0a%3c !! Testing ZNC%0a%3c %0a%3c To test the connection in plaintext ('''warning''': insecure), consult the [[netcat/irc|netcat irc guide]].%0a%3c %0a%3c To test the connection using SSL, run:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect bnc.example.com:31337%0a%3c @]%0a%3c %0a%3c Replace @@bnc.example.com@@ with your actual hostname. Check to make sure you have the proper SSL cert configured. Once an SSL session has been established, consult the [[netcat/irc|netcat irc guide]].%0a---%0a> Replace @@bnc.example.com@@ with your actual hostname. Check to make sure you have the proper SSL cert configured.%0a> %0a> Consult the [[netcat/irc|netcat irc guide]].%0a +host:1635860141=38.87.162.47 +author:1635839341=jrmu +diff:1635839341:1635827083:=383,386d382%0a%3c In order to provide SSL for the bouncer, you must first configure [[openhttpd/configure|OpenHTTPd]] and request a certificate with [[acme-client/configure|acme-client]].%0a%3c %0a%3c Once that is done, you can copy the certificate:%0a%3c %0a388,390c384,386%0a%3c # cp /etc/ssl/bnc.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a%3c # cp /etc/ssl/private/bnc.example.com.key /home/znc/home/znc/.znc/%0a%3c # chown znc:znc /home/znc/home/znc/.znc/bnc.example.com.*%0a---%0a> # cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a> # cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a> # chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a393,396c389,390%0a%3c In the above commands, replace @@bnc.example.com@@ with your real hostname.%0a%3c %0a%3c Next, we create dhparam:%0a%3c %0a---%0a> Inside ~:%0a> %0a398,400c392,394%0a%3c # openssl dhparam -out dhparam.pem 2048%0a%3c # chown znc:znc dhparam.pem%0a%3c # mv dhparam.pem /home/znc/home/znc/.znc/%0a---%0a> $ openssl dhparam -out dhparam.pem 2048%0a> $ doas chown znc:znc dhparam.pem%0a> $ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a403,404c397,398%0a%3c Next, edit [[https://wiki.znc.in/Configuration|/home/znc/home/znc/.znc/configs/znc.conf]] so that the configuration resembles:%0a%3c %0a---%0a> Afterwards, to run znc:%0a> %0a406,415c400,431%0a%3c // WARNING%0a%3c //%0a%3c // Do NOT edit this file while ZNC is running!%0a%3c // Use webadmin or *controlpanel instead.%0a%3c //%0a%3c // Altering this file by hand will forfeit all support.%0a%3c //%0a%3c // But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.%0a%3c // Also check https://wiki.znc.in/Configuration%0a%3c %0a---%0a> # export HOME=/home/znc%0a> # /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a> @]%0a> %0a> Now you must add this rule in /etc/pf.conf:%0a> %0a> [@%0a> pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a> pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a> @]%0a> %0a> [@%0a> $ doas pfctl -f /etc/pf.conf%0a> @]%0a> %0a> (Here the steps are a bit out of chronology)%0a> %0a> To start the bouncer, I run this command:%0a> %0a> [@%0a> # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a> @]%0a> %0a> If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a> %0a> [@%0a> /msg *status saveconfig%0a> @]%0a> %0a> Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a> %0a> [@%0a429c445%0a%3c SSLCertFile = /home/znc/.znc/bnc.example.com.fullchain.pem%0a---%0a> SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a431c447%0a%3c SSLKeyFile = /home/znc/.znc/bnc.example.com.key%0a---%0a> SSLKeyFile = /home/znc/.znc/my.example.com.key%0a501,518d516%0a%3c %0a%3c %3cUser username>%0a%3c Pass = sha256#014eab533f25fe65621963f712ecaf3b86fe840859ab6f4c675200c73d02e6d1#ytZ8/L,:MtZ5cMCe5IJX#%0a%3c Admin = true%0a%3c Nick = username%0a%3c AltNick = username_%0a%3c Ident = username%0a%3c LoadModule = chansaver%0a%3c LoadModule = controlpanel%0a%3c %0a%3c %3cNetwork example>%0a%3c LoadModule = simple_away%0a%3c Server = irc.example.com +6697 %0a%3c %0a%3c %3cChan #channel>%0a%3c %3c/Chan>%0a%3c %3c/Network>%0a%3c %3c/User>%0a521,544c519,524%0a%3c Please read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%3c %0a%3c You will need to replace @@bnc.example.com@@ with your actual hostname.%0a%3c %0a%3c In the listeners, you need to replace @@192.168.1.1@@ and @@2001:db8::@@ with your server's [[IP/myaddress|public IPv4 and IPv6 address]].%0a%3c %0a%3c Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a%3c %0a%3c It's recommended to keep the ports 1337 for plaintext, 31337 for SSL, and 1338 for web. This convention is followed on the public servers on IRCNow. Note that znc binds to port 1338 without SSL for the web server. We later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%3c %0a%3c '''WARNING''': Do '''not''' listen to both IPv4 and IPv6. As mentioned above, you need separate listeners.%0a%3c %0a%3c For the username block, use the defaults that ZNC's makeconf generated. Don't edit or delete the values that ZNC generated automatically.%0a%3c %0a%3c Please read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%3c %0a%3c !! Ident%0a%3c %0a%3c Notice the above config loads the identfile module by default. This is necessary to provide proper ident using [[oidentd/ZNC|oidentd]]. You will need to configure [[oidentd/ZNC|oidentd]] for the module to work.%0a%3c %0a%3c !! Packet Filter%0a%3c %0a%3c If [[pf/intro|packet filter]] is set to deny all incoming connects, you can add this rule to /etc/pf.conf:%0a%3c %0a---%0a> We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/ZNC|oidentd]]. Please follow the instructions in the link to configure ident.%0a> %0a> I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a> %0a> Replace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a> %0a546,547c526%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 300, max-src-conn-rate 300/60) #relayd web%0a%3c pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 300) #bnc%0a---%0a> /msg *status rehash%0a550,551d528%0a%3c To load the new ruleset:%0a%3c %0a553c530%0a%3c # pfctl -f /etc/pf.conf%0a---%0a> $ doas crontab -e%0a556,559c533,534%0a%3c !! Starting ZNC%0a%3c %0a%3c To run znc:%0a%3c %0a---%0a> Add a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a> %0a561,562c536,537%0a%3c # export HOME=/home/znc%0a%3c # /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a---%0a> HOME=/home/znc%0a> */5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a565,570c540,541%0a%3c !! Rehashing Config%0a%3c %0a%3c It may be necessary to edit your configuration file and then reload it (rehash). If your bouncer is already online, make sure to first [[bouncer/bouncer|log in to znc]] with your IRC client, then save the config.%0a%3c %0a%3c After logging in with your IRC client, type this:%0a%3c %0a---%0a> To test the connection (and SSL certificate), run:%0a> %0a572,573c543%0a%3c /msg *status saveconfig%0a%3c /msg *status rehash%0a---%0a> $ openssl s_client -connect my.example.com:31337%0a576,577c546,549%0a%3c We add a [[openbsd/cron|cron job]] to have ZNC restart every 5 minutes. ZNC will only start if no other ZNC instance is running, so this is safe:%0a%3c %0a---%0a> Make sure you have the proper SSL cert configured.%0a> %0a> While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a> %0a579,580c551,560%0a%3c # echo "HOME=/home/znc" >> /var/cron/tabs/root%0a%3c # echo "*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &" >> /var/cron/tabs/root%0a---%0a> server "bnc.example.com" {%0a> listen on * port 80%0a> location "/.well-known/acme-challenge/*" {%0a> root "/acme"%0a> request strip 2%0a> }%0a> location * {%0a> block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a> }%0a> }%0a583,586c563,564%0a%3c !! Testing ZNC%0a%3c %0a%3c To test the connection (and SSL certificate), run:%0a%3c %0a---%0a> Go ahead and reboot the web server:%0a> %0a588c566%0a%3c $ openssl s_client -connect bnc.example.com:31337%0a---%0a> $ doas rcctl restart httpd%0a591,598c569,572%0a%3c Replace @@bnc.example.com@@ with your actual hostname. Check to make sure you have the proper SSL cert configured.%0a%3c %0a%3c Consult the [[netcat/irc|netcat irc guide]].%0a%3c %0a%3c !! Web Panel%0a%3c %0a%3c While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%3c %0a---%0a> Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a> %0a> '''Integration with the operating system'''%0a> %0a600,609c574,575%0a%3c server "bnc.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a---%0a> doas touch /etc/rc.d/znc%0a> doas chmod +x /etc/rc.d/znc%0a612,624c578%0a%3c Go ahead and reboot the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c !! rc.d script%0a%3c %0a%3c [@%0a%3c doas touch /etc/rc.d/znc%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c @]%0a%3c %0a---%0a> [= %0a631a586%0a> %0a644a600%0a> %0a651c607,608%0a%3c @]%0a---%0a> %0a> =]%0a +host:1635839341=38.87.162.47 +author:1635827083=jrmu +diff:1635827083:1635825144:=296,305c296,297%0a%3c We're going to configure ZNC to listen on ports 1337 and 31337. Port 1337 will be plaintext, port 31337 will be SSL. This convention is followed by IRCNow's public servers.%0a%3c %0a%3c '''WARNING''': Do '''not''' listen to both IPv4 and IPv6. There appears to be a bug in ZNC v1.8.2 on OpenBSD 6.9 where selecting 'yes' will cause IPv4 to stop working. Instead, as shown later in the guide, you can create separate listeners to allow listening to both IPv4 and IPv6.%0a%3c %0a%3c You will want to enable connecting both with and without [[tls/overview|SSL]]. Although SSL helps to encrypt messages, some older IRC programs don't support it, so it is important to offer ZNC in plaintext.%0a%3c %0a%3c ZNC will automatically create its own SSL certificate. This ce%0a%3c rtificate, however, will be self-signed and hence will show up%0a%3c as invalid or untrusted by your IRC client. To get a properly signed SSL certificate, you will need to configure [[openhttpd/configure|openhttpd]] and request the certificate with [[acme-client/configure|acme-client]].%0a%3c %0a---%0a> We're going to configure ZNC to listen on ports 1337 and 31337. Port 1337 will be plaintext, port 31337 will be SSL.%0a> %0a316,322d307%0a%3c @]%0a%3c %0a%3c !! Bindhosts%0a%3c %0a%3c Next, you'll be asked to specify an optional bindhost. For now, we will leave this blank.%0a%3c %0a%3c [@%0a324,339d308%0a%3c @]%0a%3c %0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindh%0a%3c ost]] that you want. If you bindhost does not work, your vhost%0a%3c will not show up properly, and you may not be able to connect%0a%3c at all!%0a%3c %0a%3c The bindhost is used to pick which IP address to use for a server with multiple IP addresses. It can allow you to pick a nice-looking vhost, like @@username@user name.example.com@@, once [[dns/overview|DNS]] has been properly set up.%0a%3c %0a%3c A [[dns/vhost|vhost]] must have proper [[dns/overview|forward]] and [[DNS/rD%0a%3c NS|reverse DNS]] [[dns/records|records]] to work. If these have not been configured properly, first leave the bindhost blank.%0a%3c %0a%3c To test if your bindhost works properly, check the [[host/usag%0a%3c e|host]] guide. You will want to run host on your hostname and IP address to make sure they both match.%0a%3c %0a%3c [@%0a344,348d312%0a%3c @]%0a%3c %0a%3c We will turn on the chansaver and controlpanel modules and set up a network.%0a%3c %0a%3c [@%0a358,362d321%0a%3c @]%0a%3c %0a%3c Configure a network. The network name is usually just a single word; it is not the same as the server host. IRC normally uses port 6667 if there is no SSL, and 6697 if there is SSL.%0a%3c %0a%3c [@%0a379,381c338%0a%3c For now, avoid setting up the web server on port 31337. We will instead use [[relayd/acceleration|relayd]] so that the web server can viewed on the default port for https: port 443.%0a%3c %0a%3c !! Configuring SSL%0a---%0a> %0a +host:1635827083=38.87.162.47 +author:1635825144=jrmu +diff:1635825144:1635825069:=297,298d296%0a%3c %0a%3c [@%0a +host:1635825144=38.87.162.47 +author:1635825069=jrmu +diff:1635825069:1635788750:=47,50c47,52%0a%3c !!! Patched Source%0a%3c %0a%3c Due to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%3c %0a---%0a> !!! Upstream Source%0a> %0a> '''WARNING''': If you are on a multicore system on OpenBSD, you should use a patched version of znc-1.8.2 release to avoid a threading bug that causes segfaults. See '''Patched Source''' below.%0a> %0a> First, download the latest stable release:%0a> %0a52,61c54,55%0a%3c diff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a%3c --- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a%3c +++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a%3c @@ -292,6 +292,7 @@%0a%3c }%0a%3c %0a%3c int main(int argc, char** argv) {%0a%3c + pthread_attr_t a; pthread_attr_init(&a);%0a%3c CString sConfig;%0a%3c CString sDataDir = "";%0a---%0a> $ cd ~%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a64,65c58,62%0a%3c The schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%3c %0a---%0a> On OpenBSD, [[ftp/usage|ftp]] can also be used to download fil%0a> es from the web.%0a> %0a> We recommend you verify the [[gpg/verify|gpg signature]]:%0a> %0a67,84c64,67%0a%3c --- modules/schat.cpp.orig%0a%3c +++ modules/schat.cpp%0a%3c @@ -25,8 +25,8 @@%0a%3c #include %3cznc/User.h>%0a%3c #include %3cznc/IRCNetwork.h>%0a%3c %0a%3c -#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERS%0a%3c ION_NUMBER) || \%0a%3c - OPENSSL_VERSION_NUMBER %3c 0x10100007%0a%3c +#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBE%0a%3c R %3c 0x10100007 || \%0a%3c + (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUM%0a%3c BER %3c 0x3040000fL)%0a%3c /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher acces%0a%3c sor was added 2%0a%3c weeks before the public release.%0a%3c See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a%3c */%0a---%0a> $ doas pkg_add gnupg%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a> $ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a> $ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a86,88c69,71%0a%3c %0a%3c IRCNow provides a patched version of ZNC:%0a%3c %0a---%0a> %0a> Next, extract and unzip the files:%0a> %0a90,91c73%0a%3c $ cd ~%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a---%0a> $ tar xvzf znc-1.8.2.tar.gz %0a94,95d75%0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%3c %0a97a78,81%0a> !!! Patched Source%0a> %0a> Due to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a> %0a99c83,92%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a---%0a> diff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a> --- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a> +++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a> @@ -292,6 +292,7 @@%0a> }%0a> %0a> int main(int argc, char** argv) {%0a> + pthread_attr_t a; pthread_attr_init(&a);%0a> CString sConfig;%0a> CString sDataDir = "";%0a101,103c94,96%0a%3c %0a%3c We then use build ZNC:%0a%3c %0a---%0a> %0a> Download and install the patched tarball:%0a> %0a104a98,100%0a> $ cd ~%0a> $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a> $ tar xvzf znc-1.8.2a.tar.gz%0a113,120c109,110%0a%3c !!! Upstream Source%0a%3c %0a%3c You can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%3c %0a%3c '''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a---%0a> We want to [[openbsd/adduser|add a new user]]: create a new unprivileged user account for security:%0a> %0a122,123c112%0a%3c $ cd ~%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a---%0a> $ doas useradd -m -d /home/znc -s /sbin/nologin znc%0a126,127c115,120%0a%3c We recommend you verify the [[gpg/verify|gpg signature]]:%0a%3c %0a---%0a> @@-m@@ tells [[https://man.openbsd.org/useradd|useradd]] to create a home folder; @@-d@@ says the home folder is @@/home/znc@@; @@-s@@ specifies the default shell is @@/sbin/nologin@@; meaning no user can login. The username created is znc.%0a> %0a> !!! Login Class%0a> %0a> Add the following lines to the end of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a> %0a129,132c122,130%0a%3c $ doas pkg_add gnupg%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a%3c $ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a%3c $ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a---%0a> znc:\%0a> :openfiles-cur=4096:\%0a> :openfiles-max=8182:\%0a> :openfiles=4096:\%0a> :stacksize-cur=48M:\%0a> :stacksize-max=48M:\%0a> :maxproc-max=infinity:\%0a> :maxproc-cur=4096:\%0a> :tc=daemon:%0a135,136c133,144%0a%3c Next, extract and unzip the files:%0a%3c %0a---%0a> '''WARNING''': Use tabs and not spaces. Spaces will fail and as a result, znc will not get the file resources it needs.%0a> %0a> The [[openbsd/loginconf|login.conf]] guide explains the attributes in more detail.%0a> %0a> Each time znc creates a new connection for a user, it requires at least one file descriptor. So, if your file descriptor limit is set too low, znc will be unable to make new connections to networks. openfiles sets the maximum number of open file descriptors per process. -cur specifies the current limit and -max specifies the maximum limit.%0a> %0a> The current and maximum stack size controls how much stack memory a user can use. We set it at 48M to give ZNC plenty of room.%0a> %0a> @@maxproc@@ limits how many processes a user in this class can create. We set the maximum to infinity and the current amount to 4096. @@tc=daemon@@ means that the default values will come from the @@daemon@@ login class.%0a> %0a> Now we change znc's default login class to znc:%0a> %0a138c146%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a---%0a> $ doas usermod -L znc znc%0a141,144c149,152%0a%3c !! Configuring the Chroot%0a%3c %0a%3c We want to [[openbsd/adduser|add a new user]]: create a new unprivileged user account for security:%0a%3c %0a---%0a> This can also be edited with a text editor using [[openbsd/vipw]].%0a> %0a> To confirm that the login class has been changed, check [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a> %0a146c154,155%0a%3c $ doas useradd -m -d /home/znc -s /sbin/nologin znc%0a---%0a> $ doas grep '^znc' /etc/passwd%0a> znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a149,154c158,161%0a%3c @@-m@@ tells [[https://man.openbsd.org/useradd|useradd]] to create a home folder; @@-d@@ says the home folder is @@/home/znc@@; @@-s@@ specifies the default shell is @@/sbin/nologin@@; meaning no user can login. The username created is znc.%0a%3c %0a%3c !!! Login Class%0a%3c %0a%3c Add the following lines to the end of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a%3c %0a---%0a> [[grep/usage|grep]] searches for the line that begins with @@znc@@ in [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a> %0a> The 5th field needs to say znc:%0a> %0a156,164c163,164%0a%3c znc:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a---%0a> $ doas grep '^znc' /etc/passwd | cut -d : -f 5%0a> znc%0a167,178c167,168%0a%3c '''WARNING''': Use tabs and not spaces. Spaces will fail and as a result, znc will not get the file resources it needs.%0a%3c %0a%3c The [[openbsd/loginconf|login.conf]] guide explains the attributes in more detail.%0a%3c %0a%3c Each time znc creates a new connection for a user, it requires at least one file descriptor. So, if your file descriptor limit is set too low, znc will be unable to make new connections to networks. openfiles sets the maximum number of open file descriptors per process. -cur specifies the current limit and -max specifies the maximum limit.%0a%3c %0a%3c The current and maximum stack size controls how much stack memory a user can use. We set it at 48M to give ZNC plenty of room.%0a%3c %0a%3c @@maxproc@@ limits how many processes a user in this class can create. We set the maximum to infinity and the current amount to 4096. @@tc=daemon@@ means that the default values will come from the @@daemon@@ login class.%0a%3c %0a%3c Now we change znc's default login class to znc:%0a%3c %0a---%0a> '''NOTE''': If /etc/login.conf.db exists, make sure to delete it, otherwise login.conf changes won't apply:%0a> %0a180c170%0a%3c $ doas usermod -L znc znc%0a---%0a> $ doas rm /etc/login.conf.db%0a183,186c173,174%0a%3c This can also be edited with a text editor using [[openbsd/vipw]].%0a%3c %0a%3c To confirm that the login class has been changed, check [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%3c %0a---%0a> Next, we temporarily change znc's shell to ksh:%0a> %0a188,189c176%0a%3c $ doas grep '^znc' /etc/passwd%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a---%0a> $ doas chsh -s /bin/ksh znc%0a192,195c179,180%0a%3c [[grep/usage|grep]] searches for the line that begins with @@znc@@ in [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%3c %0a%3c The 5th field needs to say znc:%0a%3c %0a---%0a> Next, we login with the username znc, with the login class znc:%0a> %0a197,198c182,192%0a%3c $ doas grep '^znc' /etc/passwd | cut -d : -f 5%0a%3c znc%0a---%0a> $ doas su -c znc znc%0a> $ ulimit -a%0a> time(cpu-seconds) unlimited%0a> file(blocks) unlimited%0a> coredump(blocks) unlimited%0a> data(kbytes) 33554432%0a> stack(kbytes) 32768%0a> lockedmem(kbytes) 329478%0a> memory(kbytes) 985092%0a> nofiles(descriptors) 4096%0a> processes 1310%0a201,202c195,200%0a%3c '''NOTE''': If /etc/login.conf.db exists, make sure to delete it, otherwise login.conf changes won't apply:%0a%3c %0a---%0a> @@ulimit -a@@ displays all process limits for our current user.%0a> %0a> '''WARNING''': If nofiles(descriptors) is not 4096, you may have an error in your configuration!%0a> %0a> Press ctrl+d to signal the end of file to logout, then run as root:%0a> %0a204c202,203%0a%3c $ doas rm /etc/login.conf.db%0a---%0a> $ ^D%0a> $ doas su%0a207,208c206,207%0a%3c Next, we temporarily change znc's shell to ksh:%0a%3c %0a---%0a> Then run this list of commands:%0a> %0a210,242d208%0a%3c $ doas chsh -s /bin/ksh znc%0a%3c @]%0a%3c %0a%3c Next, we login with the username znc, with the login class znc:%0a%3c %0a%3c [@%0a%3c $ doas su -c znc znc%0a%3c $ ulimit -a%0a%3c time(cpu-seconds) unlimited%0a%3c file(blocks) unlimited%0a%3c coredump(blocks) unlimited%0a%3c data(kbytes) 33554432%0a%3c stack(kbytes) 32768%0a%3c lockedmem(kbytes) 329478%0a%3c memory(kbytes) 985092%0a%3c nofiles(descriptors) 4096%0a%3c processes 1310%0a%3c @]%0a%3c %0a%3c @@ulimit -a@@ displays all process limits for our current user.%0a%3c %0a%3c '''WARNING''': If nofiles(descriptors) is not 4096, you may have an error in your configuration!%0a%3c %0a%3c Press ctrl+d to signal the end of file to logout, then run as root:%0a%3c %0a%3c [@%0a%3c $ ^D%0a%3c $ doas su%0a%3c @]%0a%3c %0a%3c Then run this list of commands:%0a%3c %0a%3c [@%0a280,281c246,247%0a%3c # export HOME=/home/znc/%0a%3c # chroot -u znc -g znc /home/znc znc --makeconf%0a---%0a> export HOME=/home/znc/%0a> chroot -u znc -g znc /home/znc znc --makeconf%0a283c249%0a%3c [ ** ]%0a---%0a> [ ** ] %0a285c251%0a%3c [ ** ]%0a---%0a> [ ** ] %0a293,296c259%0a%3c [ ** ]%0a%3c @]%0a%3c %0a%3c We're going to configure ZNC to listen on ports 1337 and 31337. Port 1337 will be plaintext, port 31337 will be SSL.%0a---%0a> [ ** ] %0a298,333c261,262%0a%3c [ ** ]%0a%3c [ ?? ] Username (alphanumeric): username%0a%3c [ ?? ] Enter password:%0a%3c [ ?? ] Confirm password:%0a%3c [ ?? ] Nick [username]:%0a%3c [ ?? ] Alternate nick [username_]:%0a%3c [ ?? ] Ident [username]:%0a%3c [ ?? ] Real name (optional):%0a%3c [ ?? ] Bind host (optional):%0a%3c [ ** ] Enabled user modules [chansaver, controlpanel]%0a%3c [ ** ]%0a%3c [ ?? ] Set up a network? (yes/no) [yes]:%0a%3c [ ** ]%0a%3c [ ** ] -- Network settings --%0a%3c [ ** ]%0a%3c [ ?? ] Name [freenode]: example%0a%3c [ ?? ] Server host (host only): irc.example.com%0a%3c [ ?? ] Server uses SSL? (yes/no) [no]: yes%0a%3c [ ?? ] Server port (1 to 65535) [6697]:%0a%3c [ ?? ] Server password (probably empty):%0a%3c [ ?? ] Initial channels: #channel%0a%3c [ ** ] Enabled network modules [simple_away]%0a%3c [ ** ]%0a%3c [ .. ] Writing config [/home/znc//.znc/configs/znc.conf]...%0a%3c [ ** ]%0a%3c [ ** ] To connect to this ZNC you need to connect to it as your IRC server%0a%3c [ ** ] using the port that you supplied. You have to supply your login info%0a%3c [ ** ] as the IRC server password like this: user/network:pass.%0a%3c [ ** ]%0a%3c [ ** ] Try something like this in your IRC client...%0a%3c [ ** ] /server %3cznc_server_ip> +31337 username:%3cpass>%0a%3c [ ** ]%0a%3c [ ** ] To manage settings, users and networks, point your web browser to%0a%3c [ ** ] https://%3cznc_server_ip>:31337/%0a%3c [ ** ]%0a%3c [ ?? ] Launch ZNC now? (yes/no) [yes]: no%0a---%0a> [ ** ] %0a> [ ?? ] Username (alphanumeric): %0a335,336d263%0a%3c %0a%3c %0a +host:1635825069=38.87.162.47 +author:1635788750=jrmu +diff:1635788750:1635562473:=17,22c17,20%0a%3c !! Installing Dependencies%0a%3c %0a%3c The below installation was tested on [[openbsd/syspatch|OpenBSD 7.0 stable]]. ZNC will run inside a chroot at /home/znc.%0a%3c %0a%3c Before beginning the installation, check to make sure you are using OpenBSD 7.0 and that your system is patched:%0a%3c %0a---%0a> !! Installing from packages%0a> %0a> First, download the latest stable release:%0a> %0a24,26c22%0a%3c $ uname -a%0a%3c OpenBSD example.com 7.0 GENERIC#224 amd64%0a%3c $ doas syspatch%0a---%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a29,30c25,29%0a%3c Next, we install needed dependencies:%0a%3c %0a---%0a> On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the w%0a> eb.%0a> %0a> Next, extract and unzip the files:%0a> %0a32c31%0a%3c $ doas pkg_add icu4c boost cmake%0a---%0a> $ tar xvzf znc-1.8.2.tar.gz %0a35,40c34,38%0a%3c !! Installing from Packages%0a%3c %0a%3c '''WARNING''': OpenBSD 6.9 (and later) may contain a bug that causes ZNC to crash with a segmentation fault. To avoid this, we recommend applying a custom patch to ZNC as described below in '''Patched Source'''.%0a%3c %0a%3c If you are running on a single core server, you can install znc from packages:%0a%3c %0a---%0a> For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(%0a> z)ip, and (f)ile.%0a> %0a> Create the user znc:%0a> %0a42c40%0a%3c $ doas pkg_add znc%0a---%0a> $ doas adduser%0a45,52c43,44%0a%3c !! Compiling from Source%0a%3c %0a%3c !!! Upstream Source%0a%3c %0a%3c '''WARNING''': If you are on a multicore system on OpenBSD, you should use a patched version of znc-1.8.2 release to avoid a threading bug that causes segfaults. See '''Patched Source''' below.%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a---%0a> Note: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a> %0a54,55c46,55%0a%3c $ cd ~%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a---%0a> Name: znc%0a> Password: ****%0a> Fullname: znc%0a> Uid: 1001%0a> Gid: 1001 (znc)%0a> Groups: znc %0a> Login Class: default%0a> HOME: /home/znc%0a> Shell: /sbin/nologin%0a> OK? (y/n) [y]: y%0a58,62c58,59%0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download fil%0a%3c es from the web.%0a%3c %0a%3c We recommend you verify the [[gpg/verify|gpg signature]]:%0a%3c %0a---%0a> I am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a> %0a64,67c61,69%0a%3c $ doas pkg_add gnupg%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a%3c $ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a%3c $ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a---%0a> znc:\%0a> :openfiles-cur=4096:\%0a> :openfiles-max=8182:\%0a> :openfiles=4096:\%0a> :stacksize-cur=48M:\%0a> :stacksize-max=48M:\%0a> :maxproc-max=infinity:\%0a> :maxproc-cur=4096:\%0a> :tc=daemon:%0a70,71c72,75%0a%3c Next, extract and unzip the files:%0a%3c %0a---%0a> '''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a> %0a> I check to make sure znc is set to the right login class.%0a> %0a73c77%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a---%0a> $ doas vipw%0a76,81c80,81%0a%3c For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%3c %0a%3c !!! Patched Source%0a%3c %0a%3c Due to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%3c %0a---%0a> There should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a> %0a83,92c83%0a%3c diff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a%3c --- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a%3c +++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a%3c @@ -292,6 +292,7 @@%0a%3c }%0a%3c %0a%3c int main(int argc, char** argv) {%0a%3c + pthread_attr_t a; pthread_attr_init(&a);%0a%3c CString sConfig;%0a%3c CString sDataDir = "";%0a---%0a> znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a94,96c85,87%0a%3c %0a%3c Download and install the patched tarball:%0a%3c %0a---%0a> %0a> You will want to make sure that any login.conf.db database is deleted:%0a> %0a98,106c89%0a%3c $ cd ~%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ cmake ..%0a%3c $ make%0a%3c $ doas make install%0a---%0a> $ doas rm /etc/login.conf.db%0a109,110c92,93%0a%3c We want to [[openbsd/adduser|add a new user]]: create a new unprivileged user account for security:%0a%3c %0a---%0a> Now change znc shell to ksh with [@ doas chsh -s /bin/ksh znc@], then continue with the steps below.%0a> %0a112c95,105%0a%3c $ doas useradd -m -d /home/znc -s /sbin/nologin znc%0a---%0a> $ doas su -c znc znc%0a> $ ulimit -a%0a> time(cpu-seconds) unlimited%0a> file(blocks) unlimited%0a> coredump(blocks) unlimited%0a> data(kbytes) 33554432%0a> stack(kbytes) 32768%0a> lockedmem(kbytes) 329478%0a> memory(kbytes) 985092%0a> nofiles(descriptors) 4096%0a> processes 1310%0a115,120c108,112%0a%3c @@-m@@ tells [[https://man.openbsd.org/useradd|useradd]] to create a home folder; @@-d@@ says the home folder is @@/home/znc@@; @@-s@@ specifies the default shell is @@/sbin/nologin@@; meaning no user can login. The username created is znc.%0a%3c %0a%3c !!! Login Class%0a%3c %0a%3c Add the following lines to the end of [[https://man.openbsd.org/login.conf|/etc/login.conf]]:%0a%3c %0a---%0a> Switch user to your username%0a> [@ $ su yourusername @]%0a> %0a> I then set the default shell to nologin with [@doas chsh -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a> %0a122,130c114,118%0a%3c znc:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a---%0a> $ doas vipw%0a> %0a> ...%0a> %0a> znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a133,144c121,126%0a%3c '''WARNING''': Use tabs and not spaces. Spaces will fail and as a result, znc will not get the file resources it needs.%0a%3c %0a%3c The [[openbsd/loginconf|login.conf]] guide explains the attributes in more detail.%0a%3c %0a%3c Each time znc creates a new connection for a user, it requires at least one file descriptor. So, if your file descriptor limit is set too low, znc will be unable to make new connections to networks. openfiles sets the maximum number of open file descriptors per process. -cur specifies the current limit and -max specifies the maximum limit.%0a%3c %0a%3c The current and maximum stack size controls how much stack memory a user can use. We set it at 48M to give ZNC plenty of room.%0a%3c %0a%3c @@maxproc@@ limits how many processes a user in this class can create. We set the maximum to infinity and the current amount to 4096. @@tc=daemon@@ means that the default values will come from the @@daemon@@ login class.%0a%3c %0a%3c Now we change znc's default login class to znc:%0a%3c %0a---%0a> %0a> %0a> %0a> %0a> Install needed dependencies:%0a> %0a146c128,130%0a%3c $ doas usermod -L znc znc%0a---%0a> $ doas pkg_add icu4c-68.2v0%0a> $ doas pkg_add boost-1.72.0%0a> $ doas pkg_add cmake-3.19.4p0v0%0a149,152c133,134%0a%3c This can also be edited with a text editor using [[openbsd/vipw]].%0a%3c %0a%3c To confirm that the login class has been changed, check [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%3c %0a---%0a> The below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a> %0a154,155c136,138%0a%3c $ doas grep '^znc' /etc/passwd%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a---%0a> $ uname -a%0a> OpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a> $ doas syspatch%0a158,161d140%0a%3c [[grep/usage|grep]] searches for the line that begins with @@znc@@ in [[https://man.openbsd.org/./man5/passwd.5|/etc/passwd]].%0a%3c %0a%3c The 5th field needs to say znc:%0a%3c %0a163,164c142,143%0a%3c $ doas grep '^znc' /etc/passwd | cut -d : -f 5%0a%3c znc%0a---%0a> $ cd ~%0a> $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a167,168c146,147%0a%3c '''NOTE''': If /etc/login.conf.db exists, make sure to delete it, otherwise login.conf changes won't apply:%0a%3c %0a---%0a> If you want to verify to verify the [[gpg/verify|gpg signature]]:%0a> %0a170c149%0a%3c $ doas rm /etc/login.conf.db%0a---%0a> %0a173,174d151%0a%3c Next, we temporarily change znc's shell to ksh:%0a%3c %0a176c153,159%0a%3c $ doas chsh -s /bin/ksh znc%0a---%0a> $ tar xvzf znc-1.8.2a.tar.gz%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build%0a> $ cmake ..%0a> $ make%0a> $ doas make install%0a179,180c162,165%0a%3c Next, we login with the username znc, with the login class znc:%0a%3c %0a---%0a> '''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a> %0a> Then run as root:%0a> %0a182,208d166%0a%3c $ doas su -c znc znc%0a%3c $ ulimit -a%0a%3c time(cpu-seconds) unlimited%0a%3c file(blocks) unlimited%0a%3c coredump(blocks) unlimited%0a%3c data(kbytes) 33554432%0a%3c stack(kbytes) 32768%0a%3c lockedmem(kbytes) 329478%0a%3c memory(kbytes) 985092%0a%3c nofiles(descriptors) 4096%0a%3c processes 1310%0a%3c @]%0a%3c %0a%3c @@ulimit -a@@ displays all process limits for our current user.%0a%3c %0a%3c '''WARNING''': If nofiles(descriptors) is not 4096, you may have an error in your configuration!%0a%3c %0a%3c Press ctrl+d to signal the end of file to logout, then run as root:%0a%3c %0a%3c [@%0a%3c $ ^D%0a%3c $ doas su%0a%3c @]%0a%3c %0a%3c Then run this list of commands:%0a%3c %0a%3c [@%0a222,233c180,203%0a%3c cp /usr/lib/lib{c++,c++abi,c,crypto,m,pthread,ssl,z}.so.* /home/znc/usr/lib/%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/%0a%3c cp /etc/resolv.conf /home/znc/etc/%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/%0a%3c cp /usr/local/lib/libicu{uc,data,i18n}.so.* /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_{locale,chrono,system,thread}-mt.so.* /home/znc/usr/local/lib/%0a---%0a> cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0a> cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a> cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a> cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a> cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a> cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a> cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a> cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a> cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a> cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a> cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a> cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a> cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a> cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a> cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a> cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a> cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a> cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a239a210%0a> usermod -G znc botnow%0a246,247c217,221%0a%3c export HOME=/home/znc/%0a%3c chroot -u znc -g znc /home/znc znc --makeconf%0a---%0a> # export HOME=/home/znc/%0a> # chroot -u znc -g znc /home/znc znc --makeconf%0a> @]%0a> %0a> [@%0a734a709%0a> usermod -G znc botnow%0a +host:1635788750=38.87.162.47 +author:1635562473=jrmu +diff:1635562473:1635561782:=16,35d15%0a%3c %0a%3c !! Installing from packages%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a%3c [@%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c @]%0a%3c %0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the w%0a%3c eb.%0a%3c %0a%3c Next, extract and unzip the files:%0a%3c %0a%3c [@%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a%3c @]%0a%3c %0a%3c For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(%0a%3c z)ip, and (f)ile.%0a +host:1635562473=38.87.162.47 +author:1635561782=jrmu +diff:1635561782:1635561700:=124,132d123%0a%3c @]%0a%3c %0a%3c If you want to verify to verify the [[gpg/verify|gpg signature]]:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a%3c [@%0a +host:1635561782=38.87.162.47 +author:1635561700=jrmu +diff:1635561700:1635561556:=625,626c625%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a---%0a> $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a +host:1635561700=38.87.162.47 +author:1635561556=jrmu +diff:1635561556:1635561169:=15c15,17%0a%3c If you are offering a public ZNC service for many users, you will want to get a ddos-filtered IPv4 address and an IPv6 subnet from your internet provider ([[openbsd/buyvm|BuyVM guide]]).%0a---%0a> If you are offering a public ZNC service for many users, you will want to get a ddos-filtered IPv4 address and an IPv6 subnet from your internet provider.%0a> %0a> If you are using BuyVM%0a +host:1635561556=38.87.162.47 +author:1635561169=jrmu +diff:1635561169:1635560047:=3,17c3,4%0a%3c In this guide, we will install ZNC inside a chroot.%0a%3c %0a%3c [[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a%3c %0a%3c !! Before You Begin%0a%3c %0a%3c Read the [[chroot/intro|introduction to chroots]] to get familiar with the concept of chroots. In this guide, we use a chroot for extra security.%0a%3c %0a%3c You will want to set up [[Znc/Install|ZNC]] once without a chroot, as a normal user without root powers. This will give you a better understanding of how ZNC works before you attempt a more complex, chrooted install.%0a%3c %0a%3c !! Public ZNCs%0a%3c %0a%3c If you are offering a public ZNC service for many users, you will want to get a ddos-filtered IPv4 address and an IPv6 subnet from your internet provider.%0a%3c %0a%3c If you are using BuyVM%0a---%0a> %0a> You will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a +host:1635561169=38.87.162.47 +author:1635560047=jrmu +diff:1635560047:1634526599:=1,3d0%0a%3c (:title Chroot ZNC:)%0a%3c %0a%3c %0a +host:1635560047=38.87.162.47 +author:1634526599=jrmu +diff:1634526599:1627563171:=109c109%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a---%0a> $ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a +host:1634526599=38.87.162.8 +author:1627563171=jrmu +diff:1627563171:1627475631:=332,333c332,333%0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/ZNC|oidentd]]. Please follow the instructions in the link to configure ident.%0a%3c %0a---%0a> We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a> %0a669c669%0a%3c $ doas gdb chroot%0a---%0a> $ doas gdb chroot%0a\ No newline at end of file%0a +host:1627563171=125.231.19.62 +author:1627475631=mistera +diff:1627475631:1627475527:=108c108%0a%3c $ cd ~%0a---%0a> $ cd /home/znc%0a +host:1627475631=204.111.39.57 +author:1627475527=mistera +diff:1627475527:1627475166:=87,90c87,89%0a%3c %0a%3c %0a%3c %0a%3c %0a---%0a> Switch user to znc again%0a> [@ $ su znc @]%0a> %0a108c107%0a%3c $ cd /home/znc%0a---%0a> $ cd ~%0a +host:1627475527=204.111.39.57 +author:1627475166=mistera +diff:1627475166:1627389815:=75,76c75,76%0a%3c [@ $ su yourusername @]%0a%3c %0a---%0a> [@ $ su username @]%0a> %0a86,88d85%0a%3c %0a%3c Switch user to znc again%0a%3c [@ $ su znc @]%0a +host:1627475166=204.111.39.57 +author:1627389815=mistera +diff:1627389815:1620722815:=73,75d72%0a%3c %0a%3c Switch user to your username%0a%3c [@ $ su username @]%0a +host:1627389815=204.111.39.57 +author:1620722815=jrmu +diff:1620722815:1620722752:=484c484%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow bob.fruit.ircnow.org%0a---%0a> /msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a +host:1620722815=198.251.81.119 +author:1620722752=jrmu +diff:1620722752:1620722693:=213c213%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a---%0a> pass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a +host:1620722752=198.251.81.119 +author:1620722693=jrmu +diff:1620722693:1620722656:=74c74%0a%3c I then set the default shell to nologin with [@doas chsh -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a---%0a> I then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a +host:1620722693=198.251.81.119 +author:1620722656=jrmu +diff:1620722656:1620722195:=58c58%0a%3c Now change znc shell to ksh with [@ doas chsh -s /bin/ksh znc@], then continue with the steps below.%0a---%0a> Now change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a +host:1620722656=198.251.81.119 +author:1620722195=jrmu +diff:1620722195:1619406890:=9,10d8%0a%3c Note: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a%3c %0a58,59c56,57%0a%3c Now change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a%3c %0a---%0a> Now change znc shell to /bin/ksh , then continue with the steps below.%0a> %0a74,75c72,73%0a%3c I then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a---%0a> I then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a> %0a87,89c85,87%0a%3c $ doas pkg_add icu4c-68.2v0%0a%3c $ doas pkg_add boost-1.72.0%0a%3c $ doas pkg_add cmake-3.19.4p0v0%0a---%0a> $ doas pkg_add icu4c-67.1%0a> $ doas pkg_add boost-1.67.0p0%0a> $ doas pkg_add cmake%0a92,93c90,91%0a%3c The below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a%3c %0a---%0a> The below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a> %0a96c94%0a%3c OpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a---%0a> OpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a130,131c128,129%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a---%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a133c131%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a---%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a136c134%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a---%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a147,153c145,151%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a213,214c211,212%0a%3c pass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a%3c pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a---%0a> pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a> pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a443c441%0a%3c This may have issues in the 6.9 release.%0a---%0a> %0a484c482%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a---%0a> /msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a541,542c539,540%0a%3c You may be need to install icu4c-68.2v0.%0a%3c %0a---%0a> You may be need to install icu4c-67.1 .%0a> %0a552c550%0a%3c $ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a---%0a> $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a575c573%0a%3c ld.so: znc: can't load library 'libc++abi.so.5.0' %0a---%0a> ld.so: znc: can't load library 'libc++abi.so.2.1' %0a578,579c576,577%0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a---%0a> Then it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a> %0a582c580%0a%3c $ doas pkg_add -Uu%0a---%0a> $ doas pkg_add -u%0a600,601c598,601%0a%3c !! Running znc in debug mode%0a%3c %0a---%0a> !! Obsolete Setups%0a> %0a> The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a> %0a603,614d602%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a616,619d603%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a628,629c612,613%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a---%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a631c615%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a---%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a634c618%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a---%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a639a624,670%0a> pkg_add -B /home/znc znc%0a> chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a> chown -R znc:znc /home/znc/%0a> usermod -G znc botnow%0a> usermod -G znc _identd%0a> @]%0a> %0a> !! Running znc in debug mode%0a> %0a> [@%0a> $ cd ~%0a> $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a> $ tar xvzf znc-1.8.2.tar.gz%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build%0a> $ ../configure --enable-debug CXX=c++%0a> $ gmake%0a> $ doas make install%0a> @]%0a> %0a> [@%0a> mkdir -p /home/znc/usr/lib/%0a> mkdir -p /home/znc/usr/local/lib/pkgconfig%0a> mkdir -p /home/znc/usr/local/bin/%0a> mkdir -p /home/znc/usr/local/share/%0a> mkdir -p /home/znc/usr/local/man/man1/%0a> mkdir -p /home/znc/usr/libexec/%0a> mkdir -p /home/znc/etc/ssl%0a> mkdir -p /home/znc/dev/%0a> mkdir -p /home/znc/var/run/%0a> mkdir -p /home/znc/home/znc/%0a> mknod -m 644 /home/znc/dev/random c 45 0%0a> mknod -m 644 /home/znc/dev/urandom c 45 2%0a> mknod -m 666 /home/znc/dev/null c 2 2%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a> cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a> cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a> cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a> cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a> cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a> cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a> cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a> cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a645,651c676,682%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a +host:1620722195=198.251.81.119 +author:1619406890=jrmu +diff:1619406890:1617764503:=238c238%0a%3c ConfigWriteDelay = 60%0a---%0a> ConfigWriteDelay = 0%0a +host:1619406890=198.251.81.119 +author:1617764503=jrmu +diff:1617764503:1617764487:=465c465%0a%3c (:ifend:)%0a---%0a> (:endif:)%0a +host:1617764503=125.231.27.27 +author:1617764487=jrmu +diff:1617764487:1617020057:=450d449%0a%3c (:if false:)%0a465d463%0a%3c (:endif:)%0a +host:1617764487=125.231.27.27 +author:1617020057=jrmu +diff:1617020057:1617019937:=548c548%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a---%0a> $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v 'DenySet' | grep -v '#' > ~/bindhost%0a +host:1617020057=198.251.81.44 +author:1617019937=miniontoby +csum:1617019937=channels removed +diff:1617019937:1617019860:=548c548%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v 'DenySet' | grep -v '#' > ~/bindhost%0a---%0a> $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v 'DenySet' > ~/bindhost%0a +host:1617019937=145.132.146.30 +author:1617019860=miniontoby +csum:1617019860=grep -v 'DenySet' +diff:1617019860:1615027550:=548c548%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v 'DenySet' > ~/bindhost%0a---%0a> $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a +host:1617019860=145.132.146.30 +author:1615027550=jrmu +diff:1615027550:1614444529:=50,51c50,51%0a%3c You will want to make sure that any login.conf.db database is deleted:%0a%3c %0a---%0a> You will want to run cap_mkdb:%0a> %0a53c53%0a%3c $ doas rm /etc/login.conf.db%0a---%0a> $ doas cap_mkdb /etc/login.conf%0a +host:1615027550=198.251.81.119 +author:1614444529=jrmu +diff:1614444529:1614444529:=1,691d0%0a%3c You will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a%3c %0a%3c Create the user znc:%0a%3c %0a%3c [@%0a%3c $ doas adduser%0a%3c @]%0a%3c %0a%3c [@%0a%3c Name: znc%0a%3c Password: ****%0a%3c Fullname: znc%0a%3c Uid: 1001%0a%3c Gid: 1001 (znc)%0a%3c Groups: znc %0a%3c Login Class: default%0a%3c HOME: /home/znc%0a%3c Shell: /sbin/nologin%0a%3c OK? (y/n) [y]: y%0a%3c @]%0a%3c %0a%3c I am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a%3c %0a%3c [@%0a%3c znc:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c '''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a%3c %0a%3c I check to make sure znc is set to the right login class.%0a%3c %0a%3c [@%0a%3c $ doas vipw%0a%3c @]%0a%3c %0a%3c There should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a%3c %0a%3c [@%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c @]%0a%3c %0a%3c You will want to run cap_mkdb:%0a%3c %0a%3c [@%0a%3c $ doas cap_mkdb /etc/login.conf%0a%3c @]%0a%3c %0a%3c Now change znc shell to /bin/ksh , then continue with the steps below.%0a%3c %0a%3c [@%0a%3c $ doas su -c znc znc%0a%3c $ ulimit -a%0a%3c time(cpu-seconds) unlimited%0a%3c file(blocks) unlimited%0a%3c coredump(blocks) unlimited%0a%3c data(kbytes) 33554432%0a%3c stack(kbytes) 32768%0a%3c lockedmem(kbytes) 329478%0a%3c memory(kbytes) 985092%0a%3c nofiles(descriptors) 4096%0a%3c processes 1310%0a%3c @]%0a%3c %0a%3c I then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a%3c [@%0a%3c $ doas vipw%0a%3c %0a%3c ...%0a%3c %0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c @]%0a%3c %0a%3c Install needed dependencies:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add icu4c-67.1%0a%3c $ doas pkg_add boost-1.67.0p0%0a%3c $ doas pkg_add cmake%0a%3c @]%0a%3c %0a%3c The below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ cmake ..%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c '''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a%3c %0a%3c Then run as root:%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/.znc%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R znc:znc /home/znc/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c At first, you will need to create a conf file:%0a%3c %0a%3c [@%0a%3c # export HOME=/home/znc/%0a%3c # chroot -u znc -g znc /home/znc znc --makeconf%0a%3c @]%0a%3c %0a%3c [@%0a%3c [ .. ] Checking for list of available modules...%0a%3c [ ** ] %0a%3c [ ** ] -- Global settings --%0a%3c [ ** ] %0a%3c [ ?? ] Listen on port (1025 to 65534): 31337%0a%3c [ ?? ] Listen using SSL (yes/no) [no]: yes%0a%3c [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a%3c [ .. ] Verifying the listener...%0a%3c [ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a%3c [ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a%3c [ ** ] Enabled global modules [webadmin]%0a%3c [ ** ] %0a%3c [ ** ] -- Admin user settings --%0a%3c [ ** ] %0a%3c [ ?? ] Username (alphanumeric): %0a%3c @]%0a%3c %0a%3c [@%0a%3c # cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a%3c # cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a%3c # chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a%3c @]%0a%3c %0a%3c Inside ~:%0a%3c %0a%3c [@%0a%3c $ openssl dhparam -out dhparam.pem 2048%0a%3c $ doas chown znc:znc dhparam.pem%0a%3c $ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a%3c @]%0a%3c %0a%3c Afterwards, to run znc:%0a%3c %0a%3c [@%0a%3c # export HOME=/home/znc%0a%3c # /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c Now you must add this rule in /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a%3c pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c (Here the steps are a bit out of chronology)%0a%3c %0a%3c To start the bouncer, I run this command:%0a%3c %0a%3c [@%0a%3c # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%3c %0a%3c [@%0a%3c /msg *status saveconfig%0a%3c @]%0a%3c %0a%3c Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%3c %0a%3c [@%0a%3c AnonIPLimit = 10000%0a%3c AuthOnlyViaModule = false%0a%3c ConfigWriteDelay = 0%0a%3c ConnectDelay = 1%0a%3c HideVersion = false%0a%3c LoadModule = chansaver%0a%3c LoadModule = lastseen%0a%3c LoadModule = adminlog%0a%3c LoadModule = identfile%0a%3c LoadModule = webadmin%0a%3c LoadModule = certauth%0a%3c MaxBufferSize = 10000%0a%3c ProtectWebSessions = true%0a%3c SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a%3c SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a%3c SSLKeyFile = /home/znc/.znc/my.example.com.key%0a%3c PidFile = /home/znc/.znc/znc.pid%0a%3c ServerThrottle = 1%0a%3c Version = 1.8.2%0a%3c %0a%3c %3cListener listener0>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener1>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener2>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener3>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener4>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener5>%0a%3c AllowIRC = false%0a%3c AllowWeb = true%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1338%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c @]%0a%3c %0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a%3c %0a%3c I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%3c %0a%3c Replace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a%3c %0a%3c [@%0a%3c /msg *status rehash%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c Add a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a%3c %0a%3c [@%0a%3c HOME=/home/znc%0a%3c */5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c To test the connection (and SSL certificate), run:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect my.example.com:31337%0a%3c @]%0a%3c %0a%3c Make sure you have the proper SSL cert configured.%0a%3c %0a%3c While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "bnc.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Go ahead and reboot the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a%3c %0a%3c '''Integration with the operating system'''%0a%3c %0a%3c [@%0a%3c doas touch /etc/rc.d/znc%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c @]%0a%3c %0a%3c [= %0a%3c #!/bin/ksh%0a%3c #%0a%3c # $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%3c %0a%3c daemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0a%3c daemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%3c %0a%3c %0a%3c service_stop() {%0a%3c if [ -f $daemon_pidfile ]; then%0a%3c pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a%3c kill $pid%0a%3c fi%0a%3c }%0a%3c %0a%3c case "$1" in%0a%3c stop)%0a%3c service_stop%0a%3c ;;%0a%3c esac%0a%3c %0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c rc_reload=NO%0a%3c %0a%3c rc_cmd $1%0a%3c %0a%3c %0a%3c =]%0a%3c %0a%3c '''Automatic start'''%0a%3c %0a%3c Automatic start of the service in case of a crash. %0a%3c %0a%3c This prevents the loss of users due to software errors. Make sure your users feel good.%0a%3c [=%0a%3c doas mkdir /usr/local/project_name/%0a%3c doas touch /usr/local/project_name/checker_znc.sh%0a%3c doas chmod +x /usr/local/project_name/checker_znc.sh%0a%3c =]%0a%3c %0a%3c [=%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="znc"%0a%3c SERVICE_USER="znc"%0a%3c SERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d restart $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c %0a%3c =]%0a%3c %0a%3c [=%0a%3c doas crontab -e%0a%3c =]%0a%3c %0a%3c [=%0a%3c */2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a%3c =]%0a%3c %0a%3c '''ZNC console'''%0a%3c %0a%3c Connect%0a%3c [=%0a%3c /quote PASS admin:mysuperadminpassqwerty%0a%3c =]%0a%3c %0a%3c Generate new pass for user%0a%3c [=%0a%3c Go to site: https://passwordsgenerator.net/%0a%3c and disable "Include Symbols"%0a%3c click "generate password"%0a%3c or you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a%3c =]%0a%3c %0a%3c User login%0a%3c [=%0a%3c username must be the same or derived from the network login (contain a suffix)%0a%3c =]%0a%3c %0a%3c Create new user%0a%3c [=%0a%3c /msg *controlpanel AddUser bob 12345678%0a%3c /msg *controlpanel LoadModule bob perform%0a%3c =]%0a%3c %0a%3c Add network for new ner%0a%3c [=%0a%3c /msg *controlpanel AddNetwork bob IRCNow%0a%3c /msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a%3c /msg *controlpanel help%0a%3c =]%0a%3c %0a%3c Set channels%0a%3c [=%0a%3c /msg *controlpanel AddChan bob IRCNow #ircnow%0a%3c =]%0a%3c %0a%3c Set pass (this must be done with a user account or offer to run this command yourself) %0a%3c [=%0a%3c /msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a%3c /msg *perform help%0a%3c =]%0a%3c %0a%3c Reconnect user`s network%0a%3c [=%0a%3c /msg *controlpanel Reconnect bob IRCNow%0a%3c =]%0a%3c %0a%3c Saving settings to disk (please save your changes to disk immediately)%0a%3c [=%0a%3c /msg *status SaveConfig%0a%3c =]%0a%3c %0a%3c Deleting user and user entities%0a%3c [=%0a%3c /msg *controlpanel DelUser bob%0a%3c /msg *controlpanel DelNetwork bob IRCNow%0a%3c =]%0a%3c %0a%3c !! Custom vhosts%0a%3c %0a%3c '''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%3c %0a%3c It is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%3c %0a%3c If a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%3c %0a%3c For example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%3c %0a%3c Once example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%3c %0a%3c Keeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If your user is getting disconnected, these are the most likely causes:%0a%3c %0a%3c # mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a%3c # SSL is not supported%0a%3c # user has a server password where none belongs (most likely he confused server password with nickserv password)%0a%3c # ident is not working%0a%3c # ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a%3c # typo of server name or IP address%0a%3c # dns lookup error%0a%3c %0a%3c You may be need to install icu4c-67.1 .%0a%3c %0a%3c !! WARNING%0a%3c %0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a%3c %0a%3c To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a%3c %0a%3c A quick way to check if there are DNS errors:%0a%3c %0a%3c [@%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a%3c $ vi ~/bindhost%0a%3c @]%0a%3c %0a%3c Then with vi:%0a%3c %0a%3c [@%0a%3c :%25s_.* = _host _g%0a%3c @]%0a%3c %0a%3c Then:%0a%3c %0a%3c [@%0a%3c $ sh ~/bindhost%0a%3c @]%0a%3c %0a%3c If you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%3c %0a%3c !!! Missing libraries%0a%3c %0a%3c If you are getting errors such as:%0a%3c %0a%3c [@%0a%3c ld.so: znc: can't load library 'libc++abi.so.2.1' %0a%3c @]%0a%3c %0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c $ doas pkg_add -u%0a%3c @]%0a%3c %0a%3c Then, delete the build folder and compile again.%0a%3c %0a%3c !! Adding ICU support%0a%3c %0a%3c Copy the following directories:%0a%3c %0a%3c [@%0a%3c # cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a%3c # cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a%3c @]%0a%3c %0a%3c Then, restart BNC. Encoding options should be available.%0a%3c %0a%3c (The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a%3c %0a%3c !! Obsolete Setups%0a%3c %0a%3c The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c pkg_add -B /home/znc znc%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chown -R znc:znc /home/znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c !! Running znc in debug mode%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R znc:znc /home/znc/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c $ doas gdb chroot%0a\ No newline at end of file%0a +host:1614444529=198.251.81.119 blob - /dev/null blob + c979ed5cfe15817ca54b526b642ed0c7b61b9880 (mode 644) --- /dev/null +++ wiki.d/Znc.Chroot69 @@ -0,0 +1,23 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 +author=bejelentkezni +charset=UTF-8 +csum=back to 6.9 to see real changes +ctime=1620263815 +host=184.99.100.20 +name=Znc.Chroot69 +rev=3 +targets=Openbsd.Syspatch,Oidentd.Znc,Openbsd.Relayd,Openbsd.Nsd,Openbsd.Buyvm +text=You will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a%0aCreate the user znc:%0a%0a[@%0a$ doas adduser%0a@]%0a%0aNote: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a%0a[@%0aName: znc%0aPassword: ****%0aFullname: znc%0aUid: 1001%0aGid: 1001 (znc)%0aGroups: znc %0aLogin Class: default%0aHOME: /home/znc%0aShell: /sbin/nologin%0aOK? (y/n) [y]: y%0a@]%0a%0aI am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a%0a[@%0aznc:\%0a :openfiles-cur=4096:\%0a :openfiles-max=8182:\%0a :openfiles=4096:\%0a :stacksize-cur=48M:\%0a :stacksize-max=48M:\%0a :maxproc-max=infinity:\%0a :maxproc-cur=4096:\%0a :tc=daemon:%0a@]%0a%0a'''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a%0aI check to make sure znc is set to the right login class.%0a%0a[@%0a$ doas vipw%0a@]%0a%0aThere should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a%0a[@%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a%0aYou will want to make sure that any login.conf.db database is deleted:%0a%0a[@%0a$ doas rm /etc/login.conf.db%0a@]%0a%0aNow change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a%0a[@%0a$ doas su -c znc znc%0a$ ulimit -a%0atime(cpu-seconds) unlimited%0afile(blocks) unlimited%0acoredump(blocks) unlimited%0adata(kbytes) 33554432%0astack(kbytes) 32768%0alockedmem(kbytes) 329478%0amemory(kbytes) 985092%0anofiles(descriptors) 4096%0aprocesses 1310%0a@]%0a%0aI then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%0a[@%0a$ doas vipw%0a%0a...%0a%0aznc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a@]%0a%0aInstall needed dependencies:%0a%0a[@%0a$ doas pkg_add icu4c-68.2v0%0a$ doas pkg_add boost-1.72.0%0a$ doas pkg_add cmake-3.19.4p0v0%0a@]%0a%0aThe below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a%0a[@%0a$ uname -a%0aOpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a$ doas syspatch%0a@]%0a%0a[@%0a$ cd ~%0a$ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a$ tar xvzf znc-1.8.2a.tar.gz%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ cmake ..%0a$ make%0a$ doas make install%0a@]%0a%0a'''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a%0aThen run as root:%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/.znc%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0acp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0acp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0acp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc botnow%0ausermod -G znc _identd%0a@]%0a%0aAt first, you will need to create a conf file:%0a%0a[@%0a# export HOME=/home/znc/%0a# chroot -u znc -g znc /home/znc znc --makeconf%0a@]%0a%0a[@%0a[ .. ] Checking for list of available modules...%0a[ ** ] %0a[ ** ] -- Global settings --%0a[ ** ] %0a[ ?? ] Listen on port (1025 to 65534): 31337%0a[ ?? ] Listen using SSL (yes/no) [no]: yes%0a[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a[ .. ] Verifying the listener...%0a[ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a[ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a[ ** ] Enabled global modules [webadmin]%0a[ ** ] %0a[ ** ] -- Admin user settings --%0a[ ** ] %0a[ ?? ] Username (alphanumeric): %0a@]%0a%0a[@%0a# cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a# cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a# chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a@]%0a%0aInside ~:%0a%0a[@%0a$ openssl dhparam -out dhparam.pem 2048%0a$ doas chown znc:znc dhparam.pem%0a$ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a@]%0a%0aAfterwards, to run znc:%0a%0a[@%0a# export HOME=/home/znc%0a# /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aNow you must add this rule in /etc/pf.conf:%0a%0a[@%0apass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0apass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a@]%0a%0a[@%0a$ doas pfctl -f /etc/pf.conf%0a@]%0a%0a(Here the steps are a bit out of chronology)%0a%0aTo start the bouncer, I run this command:%0a%0a[@%0a# HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aIf your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%0a[@%0a/msg *status saveconfig%0a@]%0a%0aThen, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%0a[@%0aAnonIPLimit = 10000%0aAuthOnlyViaModule = false%0aConfigWriteDelay = 60%0aConnectDelay = 1%0aHideVersion = false%0aLoadModule = chansaver%0aLoadModule = lastseen%0aLoadModule = adminlog%0aLoadModule = identfile%0aLoadModule = webadmin%0aLoadModule = certauth%0aMaxBufferSize = 10000%0aProtectWebSessions = true%0aSSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0aSSLDHParamFile = /home/znc/.znc/dhparam.pem%0aSSLKeyFile = /home/znc/.znc/my.example.com.key%0aPidFile = /home/znc/.znc/znc.pid%0aServerThrottle = 1%0aVersion = 1.8.2%0a%0a%3cListener listener0>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener1>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener2>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener3>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener4>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener5>%0a AllowIRC = false%0a AllowWeb = true%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1338%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a@]%0a%0aWe will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a%0aI have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%0aReplace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a%0a[@%0a/msg *status rehash%0a@]%0a%0a[@%0a$ doas crontab -e%0a@]%0a%0aAdd a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a%0a[@%0aHOME=/home/znc%0a*/5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a@]%0a%0aTo test the connection (and SSL certificate), run:%0a%0a[@%0a$ openssl s_client -connect my.example.com:31337%0a@]%0a%0aMake sure you have the proper SSL cert configured.%0a%0aWhile you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%0a[@%0aserver "bnc.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a@]%0a%0aGo ahead and reboot the web server:%0a%0a[@%0a$ doas rcctl restart httpd%0a@]%0a%0aNote: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a%0a'''Integration with the operating system'''%0a%0a[@%0adoas touch /etc/rc.d/znc%0adoas chmod +x /etc/rc.d/znc%0a@]%0a%0a [= %0a#!/bin/ksh%0a#%0a# $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%0adaemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0adaemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%0a%0aservice_stop() {%0a if [ -f $daemon_pidfile ]; then%0a pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a kill $pid%0a fi%0a}%0a%0acase "$1" in%0a stop)%0a service_stop%0a ;;%0aesac%0a%0a%0a. /etc/rc.d/rc.subr%0a%0arc_reload=NO%0a%0arc_cmd $1%0a%0a%0a =]%0a%0a'''Automatic start'''%0a%0aAutomatic start of the service in case of a crash. %0a%0aThis prevents the loss of users due to software errors. Make sure your users feel good.%0a [=%0adoas mkdir /usr/local/project_name/%0adoas touch /usr/local/project_name/checker_znc.sh%0adoas chmod +x /usr/local/project_name/checker_znc.sh%0a =]%0a%0a [=%0a#!/bin/sh%0a%0aSERVICE_NAME="znc"%0aSERVICE_USER="znc"%0aSERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%0aif ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0athen%0a if [ -f $SERVICE_PID ]; then%0a rm -f $SERVICE_PID%0a rcctl -d restart $SERVICE_NAME%0a fi%0afi%0a%0a =]%0aThis may have issues in the 6.9 release.%0a [=%0a doas crontab -e%0a =]%0a%0a [=%0a*/2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a =]%0a%0a(:if false:)%0a'''ZNC console'''%0a%0aConnect%0a [=%0a/quote PASS admin:mysuperadminpassqwerty%0a =]%0a%0aGenerate new pass for user%0a [=%0aGo to site: https://passwordsgenerator.net/%0aand disable "Include Symbols"%0aclick "generate password"%0aor you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a =]%0a(:ifend:)%0a%0aUser login%0a [=%0ausername must be the same or derived from the network login (contain a suffix)%0a =]%0a%0aCreate new user%0a [=%0a/msg *controlpanel AddUser bob 12345678%0a/msg *controlpanel LoadModule bob perform%0a =]%0a%0aAdd network for new ner%0a [=%0a/msg *controlpanel AddNetwork bob IRCNow%0a/msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a/msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a/msg *controlpanel help%0a =]%0a%0aSet channels%0a [=%0a/msg *controlpanel AddChan bob IRCNow #ircnow%0a =]%0a%0aSet pass (this must be done with a user account or offer to run this command yourself) %0a [=%0a/msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a/msg *perform help%0a =]%0a%0aReconnect user`s network%0a [=%0a/msg *controlpanel Reconnect bob IRCNow%0a =]%0a%0aSaving settings to disk (please save your changes to disk immediately)%0a [=%0a/msg *status SaveConfig%0a =]%0a%0aDeleting user and user entities%0a [=%0a/msg *controlpanel DelUser bob%0a/msg *controlpanel DelNetwork bob IRCNow%0a =]%0a%0a!! Custom vhosts%0a%0a'''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%0aIt is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%0aIf a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%0aFor example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%0aOnce example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%0aKeeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%0a!! Troubleshooting%0a%0aIf your user is getting disconnected, these are the most likely causes:%0a%0a# mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a# SSL is not supported%0a# user has a server password where none belongs (most likely he confused server password with nickserv password)%0a# ident is not working%0a# ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a# typo of server name or IP address%0a# dns lookup error%0a%0aYou may be need to install icu4c-68.2v0.%0a%0a!! WARNING%0a%0aIf a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a%0aTo prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a%0aA quick way to check if there are DNS errors:%0a%0a[@%0a$ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a$ vi ~/bindhost%0a@]%0a%0aThen with vi:%0a%0a[@%0a:%25s_.* = _host _g%0a@]%0a%0aThen:%0a%0a[@%0a$ sh ~/bindhost%0a@]%0a%0aIf you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%0a!!! Missing libraries%0a%0aIf you are getting errors such as:%0a%0a[@%0ald.so: znc: can't load library 'libc++abi.so.5.0' %0a@]%0a%0aThen it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%0a[@%0a$ doas syspatch%0a$ doas pkg_add -Uu%0a@]%0a%0aThen, delete the build folder and compile again.%0a%0a!! Adding ICU support%0a%0aCopy the following directories:%0a%0a[@%0a# cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a# cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a@]%0a%0aThen, restart BNC. Encoding options should be available.%0a%0a(The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a%0a!! Running znc in debug mode%0a%0a[@%0a$ cd ~%0a$ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a$ tar xvzf znc-1.8.2.tar.gz%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ ../configure --enable-debug CXX=c++%0a$ gmake%0a$ doas make install%0a@]%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0acp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0acp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0acp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc botnow%0ausermod -G znc _identd%0a@]%0a%0a$ doas gdb chroot +time=1620272213 +author:1620272213=bejelentkezni +csum:1620272213=back to 6.9 to see real changes +diff:1620272213:1620272185:=9,10d8%0a%3c Note: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a%3c %0a58,59c56,57%0a%3c Now change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a%3c %0a---%0a> Now change znc shell to /bin/ksh , then continue with the steps below.%0a> %0a74,75c72,73%0a%3c I then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a---%0a> I then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a> %0a87,89c85,87%0a%3c $ doas pkg_add icu4c-68.2v0%0a%3c $ doas pkg_add boost-1.72.0%0a%3c $ doas pkg_add cmake-3.19.4p0v0%0a---%0a> $ doas pkg_add icu4c-67.1%0a> $ doas pkg_add boost-1.67.0p0%0a> $ doas pkg_add cmake%0a92,93c90,91%0a%3c The below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a%3c %0a---%0a> The below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a> %0a96c94%0a%3c OpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a---%0a> OpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a130,131c128,129%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a---%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a133c131%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a---%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a136c134%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a---%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a147,153c145,151%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a213,214c211,212%0a%3c pass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a%3c pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a---%0a> pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a> pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a443c441%0a%3c This may have issues in the 6.9 release.%0a---%0a> %0a484c482%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a---%0a> /msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a541,542c539,540%0a%3c You may be need to install icu4c-68.2v0.%0a%3c %0a---%0a> You may be need to install icu4c-67.1 .%0a> %0a552c550%0a%3c $ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a---%0a> $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a575c573%0a%3c ld.so: znc: can't load library 'libc++abi.so.5.0' %0a---%0a> ld.so: znc: can't load library 'libc++abi.so.2.1' %0a578,579c576,577%0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a---%0a> Then it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a> %0a582c580%0a%3c $ doas pkg_add -Uu%0a---%0a> $ doas pkg_add -u%0a600,601c598,601%0a%3c !! Running znc in debug mode%0a%3c %0a---%0a> !! Obsolete Setups%0a> %0a> The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a> %0a603,614d602%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a616,619d603%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a628,629c612,613%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a---%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a631c615%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a---%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a634c618%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a---%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a639a624,670%0a> pkg_add -B /home/znc znc%0a> chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a> chown -R znc:znc /home/znc/%0a> usermod -G znc botnow%0a> usermod -G znc _identd%0a> @]%0a> %0a> !! Running znc in debug mode%0a> %0a> [@%0a> $ cd ~%0a> $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a> $ tar xvzf znc-1.8.2.tar.gz%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build%0a> $ ../configure --enable-debug CXX=c++%0a> $ gmake%0a> $ doas make install%0a> @]%0a> %0a> [@%0a> mkdir -p /home/znc/usr/lib/%0a> mkdir -p /home/znc/usr/local/lib/pkgconfig%0a> mkdir -p /home/znc/usr/local/bin/%0a> mkdir -p /home/znc/usr/local/share/%0a> mkdir -p /home/znc/usr/local/man/man1/%0a> mkdir -p /home/znc/usr/libexec/%0a> mkdir -p /home/znc/etc/ssl%0a> mkdir -p /home/znc/dev/%0a> mkdir -p /home/znc/var/run/%0a> mkdir -p /home/znc/home/znc/%0a> mknod -m 644 /home/znc/dev/random c 45 0%0a> mknod -m 644 /home/znc/dev/urandom c 45 2%0a> mknod -m 666 /home/znc/dev/null c 2 2%0a> cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0a> cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a> cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a> cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a> cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a> cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a> cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a> cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a> cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a> cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a> cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a> cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a645,651c676,682%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a +host:1620272213=184.99.100.20 +author:1620272185=bejelentkezni +csum:1620272185=resetting to 6.8 to see changes on second/third commit +diff:1620272185:1620263815:=8a9,10%0a> Note: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a> %0a56,57c58,59%0a%3c Now change znc shell to /bin/ksh , then continue with the steps below.%0a%3c %0a---%0a> Now change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a> %0a72,73c74,75%0a%3c I then set the default shell to /sbin/nologin (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a---%0a> I then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a> %0a85,87c87,89%0a%3c $ doas pkg_add icu4c-67.1%0a%3c $ doas pkg_add boost-1.67.0p0%0a%3c $ doas pkg_add cmake%0a---%0a> $ doas pkg_add icu4c-68.2v0%0a> $ doas pkg_add boost-1.72.0%0a> $ doas pkg_add cmake-3.19.4p0v0%0a90,91c92,93%0a%3c The below install scripts are tested for OpenBSD 6.8 [[openbsd/syspatch|stable]] and znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.8 and that your system is patched:%0a%3c %0a---%0a> The below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a> %0a94c96%0a%3c OpenBSD example.ircnow.org 6.8 GENERIC#97 amd64%0a---%0a> OpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a128,129c130,131%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a---%0a> cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0a> cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a131c133%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a---%0a> cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a134c136%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a---%0a> cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a145,151c147,153%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a211,212c213,214%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 30, max-src-conn-rate 20/60)%0a%3c pass in log quick proto tcp to port { 1337 31337 } keep state (max 3000, max-src-conn 200) #bnc%0a---%0a> pass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a> pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a441c443%0a%3c %0a---%0a> This may have issues in the 6.9 release.%0a482c484%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2703:6401:30:faa1:6184:399c:dae2:32a2%0a---%0a> /msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a539,540c541,542%0a%3c You may be need to install icu4c-67.1 .%0a%3c %0a---%0a> You may be need to install icu4c-68.2v0.%0a> %0a550c552%0a%3c $ doas grep Host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a---%0a> $ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a573c575%0a%3c ld.so: znc: can't load library 'libc++abi.so.2.1' %0a---%0a> ld.so: znc: can't load library 'libc++abi.so.5.0' %0a576,577c578,579%0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.7 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a---%0a> Then it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a> %0a580c582%0a%3c $ doas pkg_add -u%0a---%0a> $ doas pkg_add -Uu%0a598,601c600,601%0a%3c !! Obsolete Setups%0a%3c %0a%3c The old install script (tested for OpenBSD 6.7 and znc-1.7.5) is now '''obsoleted''':%0a%3c %0a---%0a> !! Running znc in debug mode%0a> %0a602a603,614%0a> $ cd ~%0a> $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a> $ tar xvzf znc-1.8.2.tar.gz%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build%0a> $ ../configure --enable-debug CXX=c++%0a> $ gmake%0a> $ doas make install%0a> @]%0a> %0a> [@%0a603a616,619%0a> mkdir -p /home/znc/usr/local/lib/pkgconfig%0a> mkdir -p /home/znc/usr/local/bin/%0a> mkdir -p /home/znc/usr/local/share/%0a> mkdir -p /home/znc/usr/local/man/man1/%0a612,613c628,629%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0%0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a---%0a> cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a> cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a615c631%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a---%0a> cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a618c634%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a---%0a> cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a624,670d639%0a%3c pkg_add -B /home/znc znc%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chown -R znc:znc /home/znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c !! Running znc in debug mode%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.5.0 /home/znc/usr/lib/libc++.so.5.0 %0a%3c cp /usr/lib/libc++abi.so.3.0 /home/znc/usr/lib/libc++abi.so.3.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.1 /home/znc/usr/lib/libcrypto.so.46.1%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.1 /home/znc/usr/lib/libssl.so.48.1%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a676,682c645,651%0a%3c cp /usr/local/lib/libicuuc.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.18.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.11.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.18.0 /home/znc/usr/local/lib/%0a---%0a> cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a> cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a +host:1620272185=184.99.100.20 +author:1620263815=bejelentkezni +diff:1620263815:1620263815:=1,662d0%0a%3c You will want to get a ddos-filtered IPv4 and an IPv6 subnet from your internet provider.%0a%3c %0a%3c Create the user znc:%0a%3c %0a%3c [@%0a%3c $ doas adduser%0a%3c @]%0a%3c %0a%3c Note: If this is the first user you are creating after the initial install process, you will first be asked for global defaults. Do not change any of these.%0a%3c %0a%3c [@%0a%3c Name: znc%0a%3c Password: ****%0a%3c Fullname: znc%0a%3c Uid: 1001%0a%3c Gid: 1001 (znc)%0a%3c Groups: znc %0a%3c Login Class: default%0a%3c HOME: /home/znc%0a%3c Shell: /sbin/nologin%0a%3c OK? (y/n) [y]: y%0a%3c @]%0a%3c %0a%3c I am not sure if this is necessary, but in /etc/login.conf, I add the following:%0a%3c %0a%3c [@%0a%3c znc:\%0a%3c :openfiles-cur=4096:\%0a%3c :openfiles-max=8182:\%0a%3c :openfiles=4096:\%0a%3c :stacksize-cur=48M:\%0a%3c :stacksize-max=48M:\%0a%3c :maxproc-max=infinity:\%0a%3c :maxproc-cur=4096:\%0a%3c :tc=daemon:%0a%3c @]%0a%3c %0a%3c '''WARNING''': Use tabs and not spaces. Spaces will not parse properly.%0a%3c %0a%3c I check to make sure znc is set to the right login class.%0a%3c %0a%3c [@%0a%3c $ doas vipw%0a%3c @]%0a%3c %0a%3c There should be a line with znc that looks like this (I check to make sure znc has the right login class; the '1001' is the uid, which you may find to be different from this example, but it should not be changed):%0a%3c %0a%3c [@%0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c @]%0a%3c %0a%3c You will want to make sure that any login.conf.db database is deleted:%0a%3c %0a%3c [@%0a%3c $ doas rm /etc/login.conf.db%0a%3c @]%0a%3c %0a%3c Now change znc shell to ksh with [@ doas usermod -s /bin/ksh znc@], then continue with the steps below.%0a%3c %0a%3c [@%0a%3c $ doas su -c znc znc%0a%3c $ ulimit -a%0a%3c time(cpu-seconds) unlimited%0a%3c file(blocks) unlimited%0a%3c coredump(blocks) unlimited%0a%3c data(kbytes) 33554432%0a%3c stack(kbytes) 32768%0a%3c lockedmem(kbytes) 329478%0a%3c memory(kbytes) 985092%0a%3c nofiles(descriptors) 4096%0a%3c processes 1310%0a%3c @]%0a%3c %0a%3c I then set the default shell to nologin with [@doas usermod -s /sbin/nologin znc@] (note: the '1001' is the uid, which you may find to be different from this example, but it should not be changed.):%0a%3c %0a%3c [@%0a%3c $ doas vipw%0a%3c %0a%3c ...%0a%3c %0a%3c znc:*:1001:1001:znc:0:0:znc:/home/znc:/sbin/nologin%0a%3c @]%0a%3c %0a%3c Install needed dependencies:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add icu4c-68.2v0%0a%3c $ doas pkg_add boost-1.72.0%0a%3c $ doas pkg_add cmake-3.19.4p0v0%0a%3c @]%0a%3c %0a%3c The below install scripts are tested for OpenBSD 6.9 [[openbsd/syspatch|stable]] and our patched znc-1.8.2. It will put znc inside the chroot at /home/znc. Before you begin the installation, check that you are using OpenBSD 6.9 and that your system is patched:%0a%3c %0a%3c [@%0a%3c $ uname -a%0a%3c OpenBSD example.ircnow.org 6.9 GENERIC#464 amd64%0a%3c $ doas syspatch%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://ircnow.org/software/znc-1.8.2a.tar.gz%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ cmake ..%0a%3c $ make%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c '''NOTE''': A patched version of znc-1.8.2 release is used to prevent a threading bug. Please do '''not''' use the standard znc 1.8.2 release.%0a%3c %0a%3c Then run as root:%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/.znc%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0%0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R znc:znc /home/znc/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c At first, you will need to create a conf file:%0a%3c %0a%3c [@%0a%3c # export HOME=/home/znc/%0a%3c # chroot -u znc -g znc /home/znc znc --makeconf%0a%3c @]%0a%3c %0a%3c [@%0a%3c [ .. ] Checking for list of available modules...%0a%3c [ ** ] %0a%3c [ ** ] -- Global settings --%0a%3c [ ** ] %0a%3c [ ?? ] Listen on port (1025 to 65534): 31337%0a%3c [ ?? ] Listen using SSL (yes/no) [no]: yes%0a%3c [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a%3c [ .. ] Verifying the listener...%0a%3c [ ** ] Unable to locate pem file: [/home/znc/.znc/znc.pem], creating it%0a%3c [ .. ] Writing Pem file [/home/znc/.znc/znc.pem]...%0a%3c [ ** ] Enabled global modules [webadmin]%0a%3c [ ** ] %0a%3c [ ** ] -- Admin user settings --%0a%3c [ ** ] %0a%3c [ ?? ] Username (alphanumeric): %0a%3c @]%0a%3c %0a%3c [@%0a%3c # cp /etc/ssl/my.example.com.fullchain.pem /home/znc/home/znc/.znc/%0a%3c # cp /etc/ssl/private/my.example.com.key /home/znc/home/znc/.znc/%0a%3c # chown znc:znc /home/znc/home/znc/.znc/my.example.com.*%0a%3c @]%0a%3c %0a%3c Inside ~:%0a%3c %0a%3c [@%0a%3c $ openssl dhparam -out dhparam.pem 2048%0a%3c $ doas chown znc:znc dhparam.pem%0a%3c $ doas mv dhparam.pem /home/znc/home/znc/.znc/%0a%3c @]%0a%3c %0a%3c Afterwards, to run znc:%0a%3c %0a%3c [@%0a%3c # export HOME=/home/znc%0a%3c # /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c Now you must add this rule in /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in log quick proto tcp to port {80 443} keep state (max-src-conn 30, max-src-conn-rate 20/60) #relayd web%0a%3c pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 200) #bnc%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c (Here the steps are a bit out of chronology)%0a%3c %0a%3c To start the bouncer, I run this command:%0a%3c %0a%3c [@%0a%3c # HOME=/home/znc && /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c If your bouncer is already online, make sure to save the config by logging into your irc client, connected to the bouncer:%0a%3c %0a%3c [@%0a%3c /msg *status saveconfig%0a%3c @]%0a%3c %0a%3c Then, go add this at the top of /home/znc/home/znc/.znc/configs/znc.conf (yes I deliberately ignore the warnings):%0a%3c %0a%3c [@%0a%3c AnonIPLimit = 10000%0a%3c AuthOnlyViaModule = false%0a%3c ConfigWriteDelay = 60%0a%3c ConnectDelay = 1%0a%3c HideVersion = false%0a%3c LoadModule = chansaver%0a%3c LoadModule = lastseen%0a%3c LoadModule = adminlog%0a%3c LoadModule = identfile%0a%3c LoadModule = webadmin%0a%3c LoadModule = certauth%0a%3c MaxBufferSize = 10000%0a%3c ProtectWebSessions = true%0a%3c SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a%3c SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a%3c SSLKeyFile = /home/znc/.znc/my.example.com.key%0a%3c PidFile = /home/znc/.znc/znc.pid%0a%3c ServerThrottle = 1%0a%3c Version = 1.8.2%0a%3c %0a%3c %3cListener listener0>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener1>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener2>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener3>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener4>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener5>%0a%3c AllowIRC = false%0a%3c AllowWeb = true%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1338%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c @]%0a%3c %0a%3c We will load the identfile module by default. This is necessary to provide proper ident using [[oidentd/znc|oidentd]]. Please follow the instructions in the link to configure ident.%0a%3c %0a%3c I have znc bind to port 1338 without SSL for the web server. I will later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%3c %0a%3c Replace with your own IP addresses. Then, on your irc client logged into the bouncer:%0a%3c %0a%3c [@%0a%3c /msg *status rehash%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ doas crontab -e%0a%3c @]%0a%3c %0a%3c Add a few lines to have ZNC reconnect every 5 minutes. ZNC will only connect if no other ZNC instance is running:%0a%3c %0a%3c [@%0a%3c HOME=/home/znc%0a%3c */5 * * * * /usr/sbin/chroot -u znc -g znc /home/znc znc >>/var/log/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c To test the connection (and SSL certificate), run:%0a%3c %0a%3c [@%0a%3c $ openssl s_client -connect my.example.com:31337%0a%3c @]%0a%3c %0a%3c Make sure you have the proper SSL cert configured.%0a%3c %0a%3c While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "bnc.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Go ahead and reboot the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c Note: If you are using IPv6 and IPv4 for the same listener, perl IO::Socket::INET is unable to connect. Use two separate listeners.%0a%3c %0a%3c '''Integration with the operating system'''%0a%3c %0a%3c [@%0a%3c doas touch /etc/rc.d/znc%0a%3c doas chmod +x /etc/rc.d/znc%0a%3c @]%0a%3c %0a%3c [= %0a%3c #!/bin/ksh%0a%3c #%0a%3c # $OpenBSD: znc,v 1.2 2020/01/21 19:27:07 rpe Exp $%0a%3c %0a%3c daemon_pidfile="/home/znc/home/znc/.znc/znc.pid"%0a%3c daemon="env HOME=/home/znc /usr/sbin/chroot -u znc -g znc /home/znc znc"%0a%3c %0a%3c %0a%3c service_stop() {%0a%3c if [ -f $daemon_pidfile ]; then%0a%3c pid=$(sed 's/[^0-9]*//g' $daemon_pidfile)%0a%3c kill $pid%0a%3c fi%0a%3c }%0a%3c %0a%3c case "$1" in%0a%3c stop)%0a%3c service_stop%0a%3c ;;%0a%3c esac%0a%3c %0a%3c %0a%3c . /etc/rc.d/rc.subr%0a%3c %0a%3c rc_reload=NO%0a%3c %0a%3c rc_cmd $1%0a%3c %0a%3c %0a%3c =]%0a%3c %0a%3c '''Automatic start'''%0a%3c %0a%3c Automatic start of the service in case of a crash. %0a%3c %0a%3c This prevents the loss of users due to software errors. Make sure your users feel good.%0a%3c [=%0a%3c doas mkdir /usr/local/project_name/%0a%3c doas touch /usr/local/project_name/checker_znc.sh%0a%3c doas chmod +x /usr/local/project_name/checker_znc.sh%0a%3c =]%0a%3c %0a%3c [=%0a%3c #!/bin/sh%0a%3c %0a%3c SERVICE_NAME="znc"%0a%3c SERVICE_USER="znc"%0a%3c SERVICE_PID="/home/znc/home/znc/.znc/znc.pid"%0a%3c %0a%3c if ! pgrep -u $SERVICE_USER -x "$SERVICE_NAME" > /dev/null%0a%3c then%0a%3c if [ -f $SERVICE_PID ]; then%0a%3c rm -f $SERVICE_PID%0a%3c rcctl -d restart $SERVICE_NAME%0a%3c fi%0a%3c fi%0a%3c %0a%3c =]%0a%3c This may have issues in the 6.9 release.%0a%3c [=%0a%3c doas crontab -e%0a%3c =]%0a%3c %0a%3c [=%0a%3c */2 * * * * /usr/local/project_name/checker_znc.sh 2>&1 &%0a%3c =]%0a%3c %0a%3c (:if false:)%0a%3c '''ZNC console'''%0a%3c %0a%3c Connect%0a%3c [=%0a%3c /quote PASS admin:mysuperadminpassqwerty%0a%3c =]%0a%3c %0a%3c Generate new pass for user%0a%3c [=%0a%3c Go to site: https://passwordsgenerator.net/%0a%3c and disable "Include Symbols"%0a%3c click "generate password"%0a%3c or you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a%3c =]%0a%3c (:ifend:)%0a%3c %0a%3c User login%0a%3c [=%0a%3c username must be the same or derived from the network login (contain a suffix)%0a%3c =]%0a%3c %0a%3c Create new user%0a%3c [=%0a%3c /msg *controlpanel AddUser bob 12345678%0a%3c /msg *controlpanel LoadModule bob perform%0a%3c =]%0a%3c %0a%3c Add network for new ner%0a%3c [=%0a%3c /msg *controlpanel AddNetwork bob IRCNow%0a%3c /msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow 2605:6400:20:bb8:dae2:32a2%0a%3c /msg *controlpanel help%0a%3c =]%0a%3c %0a%3c Set channels%0a%3c [=%0a%3c /msg *controlpanel AddChan bob IRCNow #ircnow%0a%3c =]%0a%3c %0a%3c Set pass (this must be done with a user account or offer to run this command yourself) %0a%3c [=%0a%3c /msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a%3c /msg *perform help%0a%3c =]%0a%3c %0a%3c Reconnect user`s network%0a%3c [=%0a%3c /msg *controlpanel Reconnect bob IRCNow%0a%3c =]%0a%3c %0a%3c Saving settings to disk (please save your changes to disk immediately)%0a%3c [=%0a%3c /msg *status SaveConfig%0a%3c =]%0a%3c %0a%3c Deleting user and user entities%0a%3c [=%0a%3c /msg *controlpanel DelUser bob%0a%3c /msg *controlpanel DelNetwork bob IRCNow%0a%3c =]%0a%3c %0a%3c !! Custom vhosts%0a%3c %0a%3c '''WARNING''': do '''not''' set individual IPv6 addresses for a user's bindhost. Do not set a user's bindhost to be something like 2605:6400:10::. If you specify an IPv6 address for the bindhost, that user can *only* connect to networks that support IPv6. IPv4-only networks completely fail.%0a%3c %0a%3c It is better to set the bindhost to be username.fruit.ircnow.org. Then, for the [[openbsd/nsd|nameserver]], create an AAAA record and an A record. That way, the bindhost will use IPv6 if the network is IPv6-only, and IPv4 if it is an IPv4-only network. This solution is more flexible and allows your user to fall back to IPv4 when IPv6 is not supported.%0a%3c %0a%3c If a user requests to change their vhost, do not edit the bindhost -- all you need to do is update the rDNS record (see the [[openbsd/buyvm|buyvm web panel]]. Don't delete the bindhost or the DNS A/AAAA records.%0a%3c %0a%3c For example, suppose the vhost was formerly user.fruit.ircnow.org. If the user wants to change it to example.com, you just need to update the rDNS to example.com, but leave the znc bindhost as username.fruit.ircnow.org and keep the A/AAAA records for username.fruit.ircnow.org.%0a%3c %0a%3c Once example.com's AAAA record is working, and the rDNS has been configured properly, you can reconnect the user (either the user types @@/znc connect@@ or you type @@/msg *controlpanel reconnect %3cusername> %3cnetwork>@@), and the vhost will update properly.%0a%3c %0a%3c Keeping the old A/AAAA record and bindhost working will make it easier if the user changes vhosts or if their 3rd party dns server for example.com fails for whatever reason. This method will allow the user to still connect. Otherwise, if the 3rd party dns server fails for example.com (which frequently happens with cheap, free dns services), users will be unable to connect and blame you. %0a%3c %0a%3c !! Troubleshooting%0a%3c %0a%3c If your user is getting disconnected, these are the most likely causes:%0a%3c %0a%3c # mismatch of ports or SSL (using plaintext on 6697 or SSL on 6667)%0a%3c # SSL is not supported%0a%3c # user has a server password where none belongs (most likely he confused server password with nickserv password)%0a%3c # ident is not working%0a%3c # ircd bans a certain username or ident for no good reason (the ircd mistakenly assumes your connection is a bot and glines it)%0a%3c # typo of server name or IP address%0a%3c # dns lookup error%0a%3c %0a%3c You may be need to install icu4c-68.2v0.%0a%3c %0a%3c !! WARNING%0a%3c %0a%3c If a znc user has a bindhost that is IPv6 only but the network is IPv4 only, it will not connect.%0a%3c %0a%3c To prevent this, you '''must be absolutely 100%25 certain''' that each bindhost is symbolic (such as username.fruit.ircnow.org) and that each hostname has a single A record and a single AAAA record in your DNS zone. If any part is misconfigured, users will be unable to connect.%0a%3c %0a%3c A quick way to check if there are DNS errors:%0a%3c %0a%3c [@%0a%3c $ doas grep -i host /home/znc/home/znc/.znc/configs/znc.conf | grep -v > ~/bindhost%0a%3c $ vi ~/bindhost%0a%3c @]%0a%3c %0a%3c Then with vi:%0a%3c %0a%3c [@%0a%3c :%25s_.* = _host _g%0a%3c @]%0a%3c %0a%3c Then:%0a%3c %0a%3c [@%0a%3c $ sh ~/bindhost%0a%3c @]%0a%3c %0a%3c If you see any records there with only a single IPv4 address but no IPv6, or a single IPv6 but no IPv4, or any NXDOMAIN responses, you need to fix your DNS records. There should be exactly one shared IPv4 and one unique IPv6 for each hostname, and zero NXDOMAIN responses.%0a%3c %0a%3c !!! Missing libraries%0a%3c %0a%3c If you are getting errors such as:%0a%3c %0a%3c [@%0a%3c ld.so: znc: can't load library 'libc++abi.so.5.0' %0a%3c @]%0a%3c %0a%3c Then it could be due to the fact that you are on the wrong OpenBSD version (6.8 or earlier), you did not apply [[openbsd/syspatch|syspatch]], and you have not upgraded all dependencies:%0a%3c %0a%3c [@%0a%3c $ doas syspatch%0a%3c $ doas pkg_add -Uu%0a%3c @]%0a%3c %0a%3c Then, delete the build folder and compile again.%0a%3c %0a%3c !! Adding ICU support%0a%3c %0a%3c Copy the following directories:%0a%3c %0a%3c [@%0a%3c # cp -R /usr/local/share/icu /home/znc/usr/local/share/%0a%3c # cp -R /usr/local/lib/icu /home/znc/usr/local/lib/%0a%3c @]%0a%3c %0a%3c Then, restart BNC. Encoding options should be available.%0a%3c %0a%3c (The patched ZNC was made before ICU support is added. So, we cannot ensure that adding ICU support after the patch will not cause any other bugs.)%0a%3c %0a%3c !! Running znc in debug mode%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ curl -L -O https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R znc:znc /home/znc/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a%3c usermod -G znc botnow%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c $ doas gdb chroot%0a\ No newline at end of file%0a +host:1620263815=184.99.100.20 blob - /dev/null blob + a26b3a666576e10785364acec25e80bfad4abaa7 (mode 644) --- /dev/null +++ wiki.d/Znc.Debug @@ -0,0 +1,16 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635866627 +host=38.87.162.47 +name=Znc.Debug +rev=1 +targets= +text=(:title Debugging ZNC:)%0a%0aOn OpenBSD 6.9:%0a%0a!! Running znc in debug mode%0a%0a[@%0a$ cd ~%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a$ tar xvzf znc-1.8.2.tar.gz%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a$ ../configure --enable-debug CXX=c++%0a$ gmake%0a$ doas make install%0a@]%0a%0a[@%0amkdir -p /home/znc/usr/lib/%0amkdir -p /home/znc/usr/local/lib/pkgconfig%0amkdir -p /home/znc/usr/local/bin/%0amkdir -p /home/znc/usr/local/share/%0amkdir -p /home/znc/usr/local/man/man1/%0amkdir -p /home/znc/usr/libexec/%0amkdir -p /home/znc/etc/ssl%0amkdir -p /home/znc/dev/%0amkdir -p /home/znc/var/run/%0amkdir -p /home/znc/home/znc/%0amknod -m 644 /home/znc/dev/random c 45 0%0amknod -m 644 /home/znc/dev/urandom c 45 2%0amknod -m 666 /home/znc/dev/null c 2 2%0acp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0acp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0acp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0acp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0acp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0acp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0acp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0acp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0acp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0acp /etc/resolv.conf /home/znc/etc/resolv.conf%0acp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0acp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0acp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0acp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0acp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0acp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0acp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0acp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0acp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0acp -R /usr/local/share/znc /home/znc/usr/local/share/%0acp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0acp -R /usr/local/include/znc /home/znc/usr/local/include/%0achown -R znc:znc /home/znc/%0achown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0achmod -R o-rx /home/znc/home/znc/.znc/%0ausermod -G znc _identd%0a@]%0a%0a$ doas gdb chroot%0a +time=1635866627 +title=Debugging ZNC +author:1635866627=jrmu +diff:1635866627:1635866627:=1,67d0%0a%3c (:title Debugging ZNC:)%0a%3c %0a%3c On OpenBSD 6.9:%0a%3c %0a%3c !! Running znc in debug mode%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a%3c $ tar xvzf znc-1.8.2.tar.gz%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ ../configure --enable-debug CXX=c++%0a%3c $ gmake%0a%3c $ doas make install%0a%3c @]%0a%3c %0a%3c [@%0a%3c mkdir -p /home/znc/usr/lib/%0a%3c mkdir -p /home/znc/usr/local/lib/pkgconfig%0a%3c mkdir -p /home/znc/usr/local/bin/%0a%3c mkdir -p /home/znc/usr/local/share/%0a%3c mkdir -p /home/znc/usr/local/man/man1/%0a%3c mkdir -p /home/znc/usr/libexec/%0a%3c mkdir -p /home/znc/etc/ssl%0a%3c mkdir -p /home/znc/dev/%0a%3c mkdir -p /home/znc/var/run/%0a%3c mkdir -p /home/znc/home/znc/%0a%3c mknod -m 644 /home/znc/dev/random c 45 0%0a%3c mknod -m 644 /home/znc/dev/urandom c 45 2%0a%3c mknod -m 666 /home/znc/dev/null c 2 2%0a%3c cp /usr/lib/libc++.so.7.0 /home/znc/usr/lib/libc++.so.7.0 %0a%3c cp /usr/lib/libc++abi.so.5.0 /home/znc/usr/lib/libc++abi.so.5.0%0a%3c cp /usr/lib/libc.so.96.0 /home/znc/usr/lib/libc.so.96.0%0a%3c cp /usr/lib/libcrypto.so.46.2 /home/znc/usr/lib/libcrypto.so.46.2%0a%3c cp /usr/lib/libm.so.10.1 /home/znc/usr/lib/libm.so.10.1%0a%3c cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1%0a%3c cp /usr/lib/libssl.so.48.2 /home/znc/usr/lib/libssl.so.48.2%0a%3c cp /usr/lib/libz.so.5.0 /home/znc/usr/lib/libz.so.5.0%0a%3c cp /usr/libexec/ld.so /home/znc/usr/libexec/ld.so%0a%3c cp /etc/resolv.conf /home/znc/etc/resolv.conf%0a%3c cp /etc/ssl/cert.pem /home/znc/etc/ssl/cert.pem%0a%3c cp /var/run/ld.so.hints /home/znc/var/run/ld.so.hints%0a%3c cp /usr/local/bin/znc /home/znc/usr/local/bin/znc%0a%3c cp /usr/local/man/man1/znc.1 /home/znc/usr/local/man/man1/znc.1%0a%3c cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1%0a%3c cp /usr/local/bin/znc-buildmod /home/znc/usr/local/bin/znc-buildmod%0a%3c cp /usr/local/lib/pkgconfig/znc.pc /home/znc/usr/local/lib/pkgconfig/znc.pc%0a%3c cp /usr/local/lib/libicuuc.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicudata.so.19.2 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_locale-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_system-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_thread-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libboost_chrono-mt.so.13.0 /home/znc/usr/local/lib/%0a%3c cp /usr/local/lib/libicui18n.so.19.2 /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/share/znc /home/znc/usr/local/share/%0a%3c cp -R /usr/local/lib/znc /home/znc/usr/local/lib/%0a%3c cp -R /usr/local/include/znc /home/znc/usr/local/include/%0a%3c chown -R znc:znc /home/znc/%0a%3c chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var%0a%3c chmod -R o-rx /home/znc/home/znc/.znc/%0a%3c usermod -G znc _identd%0a%3c @]%0a%3c %0a%3c $ doas gdb chroot%0a +host:1635866627=38.87.162.47 blob - /dev/null blob + 288e53746c2a6f7f51c0959f3da58c4f6e1b31b6 (mode 644) --- /dev/null +++ wiki.d/Znc.I18n @@ -0,0 +1,25 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 +author=mkf +charset=UTF-8 +csum= +ctime=1624052095 +host=198.251.81.133 +name=Znc.I18n +rev=4 +targets= +text=make sure you've configured znc with i18n support%0a[@ %0a$ doas pkg_add gettext-runtime gettext-tools%0a$ cd /path/to/znc/source/%0a$ rm -r build%0a$ mkdir build%0a$ cd build%0a$ cmake ..%0a@]%0a%0ait should say I18n: on ,then recompile it.%0aafterwards while creating the chroot, create the directories required for i18n on root user:%0a%0a[@%0amkdir -p /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES%0amkdir -p /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES%0a@]%0a%0athen run the following as root%0a[@%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-admindebug.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-adminlog.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-alias.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoattach.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autocycle.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoop.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoreply.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autovoice.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-awaystore.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-block_motd.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-blockuser.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-bouncedcc.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-buffextras.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cert.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-certauth.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-chansaver.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clearbufferonmsg.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clientnotify.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-controlpanel.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-crypt.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-ctcpflood.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cyrusauth.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-dcc.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-disconkick.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-fail2ban.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-flooddetach.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-identfile.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-imapauth.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-keepnick.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-kickrejoin.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-lastseen.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-listsockets.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-log.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-missingmotd.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modperl.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modpython.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-raw.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modules_online.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-nickserv.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notes.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notify_connect.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perform.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perleval.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-pyeval.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-route_replies.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sample.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-samplewebapi.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sasl.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-savebuff.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-send_raw.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-shell.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-simple_away.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stickychan.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stripcontrols.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-watch.mo%0acp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-webadmin.mo%0acp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-webadmin.mo%0a@] +time=1627895542 +author:1627895542=mkf +diff:1627895542:1624700584:=10d9%0a%3c %0a12,13c11%0a%3c afterwards while creating the chroot, create the directories required for i18n on root user:%0a%3c %0a---%0a> afterwards while creating the chroot, create the directories required for i18n:%0a15,25c13,23%0a%3c mkdir -p /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES%0a%3c mkdir -p /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES%0a---%0a> mkdir /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES%0a> mkdir /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES%0a27d24%0a%3c %0a +host:1627895542=198.251.81.133 +author:1624700584=mkf +diff:1624700584:1624052180:=1,11c1%0a%3c make sure you've configured znc with i18n support%0a%3c [@ %0a%3c $ doas pkg_add gettext-runtime gettext-tools%0a%3c $ cd /path/to/znc/source/%0a%3c $ rm -r build%0a%3c $ mkdir build%0a%3c $ cd build%0a%3c $ cmake ..%0a%3c @]%0a%3c it should say I18n: on ,then recompile it.%0a%3c afterwards while creating the chroot, create the directories required for i18n:%0a---%0a> first, create the directories%0a +host:1624700584=198.251.81.133 +author:1624052180=mkf +diff:1624052180:1624052095:=1,15c1%0a%3c first, create the directories%0a%3c [@%0a%3c mkdir /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES%0a%3c mkdir /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES%0a%3c @]%0a%3c then run the following as root%0a---%0a> run the following as root%0a +host:1624052180=198.251.81.133 +author:1624052095=mkf +csum:1624052095=requrired steps for running znc on chroot+i18n support +diff:1624052095:1624052095:=1,630d0%0a%3c run the following as root%0a%3c [@%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-admindebug.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-admindebug.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-adminlog.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-adminlog.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-alias.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-alias.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoattach.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoattach.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autocycle.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autocycle.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoop.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoop.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoreply.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autoreply.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autovoice.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-autovoice.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-awaystore.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-awaystore.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-block_motd.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-block_motd.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-blockuser.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-blockuser.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-bouncedcc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-bouncedcc.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-buffextras.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-buffextras.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cert.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cert.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-certauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-certauth.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-chansaver.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-chansaver.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clearbufferonmsg.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clearbufferonmsg.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clientnotify.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-clientnotify.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-controlpanel.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-controlpanel.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-crypt.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-crypt.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-ctcpflood.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-ctcpflood.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cyrusauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-cyrusauth.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-dcc.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-dcc.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-disconkick.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-disconkick.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-fail2ban.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-fail2ban.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-flooddetach.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-flooddetach.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-identfile.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-identfile.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-imapauth.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-imapauth.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-keepnick.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-keepnick.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-kickrejoin.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-kickrejoin.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-lastseen.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-lastseen.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-listsockets.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-listsockets.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-log.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-log.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-missingmotd.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-missingmotd.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modperl.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modperl.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modpython.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modpython.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-raw.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-raw.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modules_online.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-modules_online.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-nickserv.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-nickserv.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notes.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notes.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notify_connect.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-notify_connect.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perform.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perform.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perleval.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-perleval.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-pyeval.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-pyeval.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-route_replies.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-route_replies.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sample.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sample.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-samplewebapi.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-samplewebapi.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sasl.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-sasl.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-savebuff.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-savebuff.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-send_raw.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-send_raw.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-shell.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-shell.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-simple_away.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-simple_away.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stickychan.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stickychan.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stripcontrols.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-stripcontrols.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-watch.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-watch.mo%0a%3c cp /usr/local/share/locale/pt_BR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/pt_BR/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/bg_BG/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/bg_BG/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/de_DE/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/de_DE/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/el_GR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/el_GR/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/es_ES/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/es_ES/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/fr_FR/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/fr_FR/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/id_ID/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/id_ID/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/it_IT/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/it_IT/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/nl_NL/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/nl_NL/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/pl_PL/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/pl_PL/LC_MESSAGES/znc-webadmin.mo%0a%3c cp /usr/local/share/locale/ru_RU/LC_MESSAGES/znc-webadmin.mo /home/znc/usr/local/share/locale/ru_RU/LC_MESSAGES/znc-webadmin.mo%0a%3c @]%0a\ No newline at end of file%0a +host:1624052095=198.251.81.133 blob - /dev/null blob + 1563dddb8218e2967302f44b3b752bd23773c62c (mode 644) --- /dev/null +++ wiki.d/Znc.Install @@ -0,0 +1,109 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627439470 +host=38.87.162.8 +name=Znc.Install +rev=31 +targets=Libressl.Intro,Ftp.Usage,Tar.Usage,Gpg.Verify,Tcpip.Ports,Tls.Overview,IPv4.Overview,IPv6.Overview,Acme-client.Configure,Dns.Vhost,Dns.Overview,DNS.RDNS,Dns.Records,Host.Usage,Kill.Usage,Ps.Usage,Tcpip.Sockets,Bouncer.Bouncer,Cronjob.Intro +text=(:title Install ZNC from Source:)%0a%0a!! Overview%0a%0a[[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a%0a!! Compiling from Source%0a%0a!!! Patched Source%0a%0aDue to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%0a[@%0adiff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a--- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a+++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a@@ -292,6 +292,7 @@%0a }%0a %0a int main(int argc, char** argv) {%0a+ pthread_attr_t a; pthread_attr_init(&a);%0a CString sConfig;%0a CString sDataDir = "";%0a@]%0a%0aThe schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%0a[@%0a--- modules/schat.cpp.orig%0a+++ modules/schat.cpp%0a@@ -25,8 +25,8 @@%0a #include %3cznc/User.h>%0a #include %3cznc/IRCNetwork.h>%0a %0a-#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERS%0aION_NUMBER) || \%0a- OPENSSL_VERSION_NUMBER %3c 0x10100007%0a+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBE%0aR %3c 0x10100007 || \%0a+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUM%0aBER %3c 0x3040000fL)%0a /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher acces%0asor was added 2%0a weeks before the public release.%0a See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a */%0a@]%0a %0aIRCNow provides a patched version of ZNC:%0a%0a[@%0a$ cd ~%0a$ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a@]%0a%0aOn OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%0aFor [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%0a[@%0a$ tar xvzf znc-1.8.2a.tar.gz%0a@]%0a%0a!!! Upstream Source%0a%0aYou can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%0a'''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%0aFirst, download the latest stable release:%0a%0a[@%0a$ cd ~%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a@]%0a%0aWe recommend you verify the [[gpg/verify|gpg signature]]:%0a%0a[@%0a$ doas pkg_add gnupg%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a$ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a$ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a@]%0a%0aNext, [[tar/usage|extract and unzip]] the files:%0a%0a[@%0a$ tar xvzf znc-1.8.2.tar.gz %0a@]%0a%0a!!! Building ZNC%0a%0aNext, we build ZNC:%0a%0a[@%0a$ cd znc-1.8.2%0a$ mkdir build%0a$ cd build%0a@]%0a%0aWe then use cmake to configure the files to install to ~/.local, then make and make install:%0a%0a[@%0a$ cmake .. -DCMAKE_INSTALL_PREFIX="$HOME/.local"%0a$ make%0a$ make install%0a@]%0a%0aYou should see this message:%0a%0a[@%0a ZNC was successfully installed.%0a You can use '/home/username/.local/bin/znc --makeconf'%0a to generate a config file.%0a%0a If you need help with using ZNC, please visit our wiki at:%0a http://znc.in%0a@]%0a%0a!! Creating znc.conf%0a%0aFollow the instructions to generate the config file:%0a%0a[@%0a$ ~/.local/bin/znc --makeconf%0a[ .. ] Checking for list of available modules...%0a[ ** ] %0a[ ** ] -- Global settings --%0a[ ** ] %0a[ ?? ] Listen on port (1025 to 65534): %0a@]%0a%0aIf you are on a shell account, you must use the [[tcpip/ports|ports]] that were reserved for your username.%0a%0a'''WARNING:''' Shell accounts users must '''not''' randomly choose ports. Shell accounts servers often have firewalls in place that will block ports not reserved to you. If you are unable to connect to ZNC, double check to see if the firewall is blocking the connection.%0a%0a[@%0a[ ?? ] Listen using SSL (yes/no) [no]: yes%0a[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a@]%0a%0a[[tls/overview|SSL]] helps to encrypt messages sent between client and server. In other words, if you turn it on, messages sent from your IRC program to ZNC are kept secure. It's more trouble to set up, and some older IRC programs don't support it, so some users prefer to turn off SSL.%0a%0a'''WARNING''': Do '''not''' listen to both IPv4 and IPv6. There appears to be a bug in ZNC v1.8.2 on OpenBSD 6.9 where selecting 'yes' will cause IPv4 to stop working. Instead, as shown later in the guide, you can create separate listeners to allow listening to both IPv4 and IPv6.%0a%0a[[IPv4/overview|IPv4]] is the default networking protocol. [[IPv6/overview|IPv6]] is becoming more popular now, especially for mobile devices.%0a%0a[@%0a[ .. ] Verifying the listener...%0a[ ** ] Unable to locate pem file: [/home/username/.znc/znc.pem], creating it%0a[ .. ] Writing Pem file [/home/username/.znc/znc.pem]...%0a[ ** ] Enabled global modules [webadmin]%0a@]%0a%0aZNC will automatically create its own SSL certificate. This certificate, however, will be self-signed and hence will show up as invalid or untrusted by your IRC client. If you'd like a properly signed SSL certificate, ask your sysadmin or request one yourself using [[acme-client/configure|acme-client]].%0a%0a[@%0a[ ** ] %0a[ ** ] -- Admin user settings --%0a[ ** ] %0a[ ?? ] Username (alphanumeric): username%0a[ ?? ] Enter password: %0a[ ?? ] Confirm password: %0a[ ?? ] Nick [username]: %0a[ ?? ] Alternate nick [username_]: %0a[ ?? ] Ident [username]: %0a[ ?? ] Real name (optional): username%0a@]%0a%0a!!! Bindhosts%0a%0aNext, you'll be asked to specify an optional bindhost. The bindhost will give you a nice-looking vhost, like @@username@username.example.com@@.%0a%0a'''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindhost]] that you want. If you bindhost does not work, your vhost will not show up properly, and you may not be able to connect at all!%0a%0aA vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]] to work. If you're using an IRCNow shell account, you should have been provided with one at registration. You can also ask your sysadmin to change it for you, or leave it blank.%0a%0aTo test if your bindhost works properly, check the [[host/usage|host]] guide. You will want to run host on your bindhost:%0a%0a[@%0a$ host username.example.com%0ausername.example.com has address 192.168.1.1%0ausername.example.com has IPv6 address 2001:bd8::%0a@]%0a%0aYour bindhost should show both an IPv4 and IPv6 address. If it's missing an IPv4 address, it can '''only''' connect by IPv6 to an IRC network. If it's missing an IPv6 address, then it can '''only''' connect by IPv4 to an IRC network. If it's missing both, it '''cannot''' connect to '''any''' network.%0a%0aFor this reason, you don't want to put an IPv6 address directly into the bindhost. This prevents ZNC from being able to connect to an IPv4 only network. Instead, you want to use a hostname that has both [[dns/records|A and AAAA records]] defined in [[dns/overview|DNS]].%0a%0a[@%0a[ ?? ] Bind host (optional): username.example.com%0a@]%0a%0a!!! User Modules%0a%0aYou'll want to enable all the user modules:%0a%0a[@%0a[ ** ] Enabled user modules [chansaver, controlpanel]%0a[ ** ] %0a@]%0a%0a!!! Set Up a Network%0a%0aYou can optionally set up a network at this stage:%0a%0a[@%0a[ ?? ] Set up a network? (yes/no) [yes]: yes %0a[ ** ] %0a[ ** ] -- Network settings --%0a[ ** ] %0a[ ?? ] Name [freenode]: ircnow%0a[ ?? ] Server host (host only): irc6.ircnow.org%0a[ ?? ] Server uses SSL? (yes/no) [no]: yes%0a[ ?? ] Server port (1 to 65535) [6697]: %0a[ ?? ] Server password (probably empty): %0a[ ?? ] Initial channels: #ircnow%0a[ ** ] Enabled network modules [simple_away]%0a[ ** ] %0a[ .. ] Writing config [/home/username/.znc/configs/znc.conf]...%0a@]%0a%0aThis will cause ZNC to automatically connect to your favorite network (IRCNow).%0a%0aNext, I recommend *not* launching ZNC. There are still some settings you will want to add and configure:%0a%0a[@%0a[ ** ] To connect to this ZNC you need to connect to it as your IRC server%0a[ ** ] using the port that you supplied. You have to supply your login info%0a[ ** ] as the IRC server password like this: user/network:pass.%0a[ ** ] %0a[ ** ] Try something like this in your IRC client...%0a[ ** ] /server %3cznc_server_ip> +12345 username:%3cpass>%0a[ ** ] %0a[ ** ] To manage settings, users and networks, point your web browser to%0a[ ** ] https://%3cznc_server_ip>:12345/%0a[ ** ] %0a[ ?? ] Launch ZNC now? (yes/no) [yes]: no%0a@]%0a%0a!!! Stop ZNC%0a%0aIf you accidentally launch ZNC, you will see:%0a%0a[@%0a[ .. ] Opening config [/home/username/.znc/configs/znc.conf]...%0a[ .. ] Loading global module [webadmin]...%0a[ .. ] Binding to port [+12345]...%0a[ ** ] Loading user [username]%0a[ ** ] Loading network [ircnow]%0a[ .. ] Loading network module [simple_away]...%0a[ >> ] [/home/username/.local/lib/znc/simple_away.so]%0a[ .. ] Adding 1 servers...%0a[ .. ] Loading user module [chansaver]...%0a[ .. ] Loading user module [controlpanel]...%0a[ .. ] Forking into the background...%0a[ >> ] [pid: 86542]%0a[ ** ] ZNC 1.8.2 - https://znc.in%0a@]%0a%0aTo stop ZNC once it is launched, you can [[kill/usage|kill]] it:%0a%0a[@%0a$ kill -TERM %3cpid>%0a@]%0a%0aYou will want to replace %3cpid> with the [[ps/usage|process ID]] you see above (86542):%0a%0a[@%0a$ kill -TERM 86542%0a@]%0a%0aThis will send a (TERM)ination signal to ZNC so that it dies.%0a%0a'''NOTE''': You will need to replace 8542 with your process ID.%0a%0aIf you don't know the process ID, you can type:%0a%0a[@%0a$ ps -U %3cusername> | grep znc%0a@]%0a%0aReplace %3cusername> with your username.%0a%0a!! Recreate znc.conf%0a%0aIf at any time you mess up the configuration, you can delete your znc.conf%0aand rerun the makeconf command again:%0a%0a[@%0a$ rm ~/.znc/configs/znc.conf%0a$ ~/.local/bin/znc --makeconf%0a@]%0a%0a!! Copying SSL certs (optional)%0a%0aIf you want to have properly validating SSL certs, your sysadmin can provide them for you in your ~/ssl/ folder. We will need to create a symbolic link for them to your znc folder:%0a%0a[@%0a$ ln -s ~/ssl/username.example.com.crt ~/.znc/username.example.com.crt%0a$ ln -s ~/ssl/username.example.com.key ~/.znc/username.example.com.key%0a@]%0a%0aYou must replace username.example.com with your actual hostname.%0a%0aAfterwards, we can create a dhparam file:%0a%0a[@%0a$ openssl dhparam -out ~/.znc/dhparam.pem 2048%0a@]%0a%0a!! Configuration%0a%0aHere are some recommended changes to make to the default znc.conf so that it works nicely. Replace the top portion of znc.conf with these settings:%0a%0a[@%0aAnonIPLimit = 10000%0aAuthOnlyViaModule = false%0aConfigWriteDelay = 60%0aConnectDelay = 1%0aHideVersion = false%0aMaxBufferSize = 10000%0aProtectWebSessions = true%0aServerThrottle = 1%0aVersion = 1.8.2%0a@]%0a%0a'''WARNING''': Do not duplicate listeners or settings, or else ZNC will fail.%0a%0aFor a full explanation of these settings, please consult the [[https://wiki.znc.in/Configuration|ZNC wiki]].%0a%0aNext, we load the following modules:%0a%0a[@%0aLoadModule = chansaver%0aLoadModule = adminlog%0aLoadModule = certauth%0aPidFile = /home/znc/.znc/znc.pid%0a@]%0a%0aIf you want to store logs on the shell account, you can add this line:%0a%0a[@%0aLoadModule = log%0a@]%0a%0a'''NOTE''': sysadmins can read logs stored on the server. Also, in the event of a security breach, an attacker can also read these logs.%0a%0a!!! SSL certs (Optional)%0a%0aIf you want properly validating SSL certs, you can add these lines to set the paths for the SSL files and process ID (pid) files:%0a%0a[@%0aSSLCertFile = /home/znc/.znc/username.example.com.crt%0aSSLKeyFile = /home/znc/.znc/username.example.com.key%0aSSLDHParamFile = /home/znc/.znc/dhparam.pem%0a@]%0a%0a'''NOTE''': For the SSL certs, you will need to ask the admin. You will need to replace username.example.com with the unique hostname that your admin provides.%0a%0a'''WARNING: You must '''not''' use username.example.com or else your SSL certificates will not load properly and your ZNC will not be able to offer SSL encryption. If you do not have your own SSL certs, then don't add these lines!%0a%0a!!! Listeners%0a%0aNext, you'll want to create listeners. Each listener specifies a unique combination of IP address and port ([[tcpip/sockets|a TCP socket]]):%0a%0a[@%0a%3cListener listener0>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener1>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 192.168.1.1%0a IPv4 = true%0a IPv6 = false%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener2>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 1337%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0a%3cListener listener3>%0a AllowIRC = true%0a AllowWeb = false%0a Host = 2001:db8::%0a IPv4 = false%0a IPv6 = true%0a Port = 31337%0a SSL = true%0a URIPrefix = /%0a%3c/Listener>%0a@]%0a%0a@@Host = 192.168.1.1@@ and @@Port = 1337@@ tells ZNC to [[tcpip/sockets|listen]] on that IP address. You '''must''' replace 192.168.1.1 and 2001:db8:: with your real IP addresses and you '''must''' replace 1337 and 31337 with the ports you were given during account registration. If you don't use the correct IP address and port, ZNC may refuse to launch, or you may be unable to connect.%0a%0aYou can find your IP addresses by running host on your unique hostname:%0a%0a[@%0a$ host username.example.com%0ausername.example.com has address 198.51.100.1%0ausername.example.com has IPv6 address fe80:c001:d00d::%0a@]%0a%0a'''WARNING''': You must replace 192.168.1.1 and 2001:db8:: with your real IP address, or znc will fail to launch.%0a%0a!! Run ZNC%0a%0aTo start ZNC right away:%0a%0a[@%0a$ ~/.local/bin/znc >> ~/.znc/znc.log 2>&1 &%0a@]%0a%0aThis will store all znc log messages to ~/.znc/znc.log. If ZNC fails to start or crashes, you can consult this file for the full error log.%0a%0a!! Connecting to ZNC%0a%0aFrom here, you will want to consult the [[bouncer/bouncer|ZNC client guides]]%0ato see how to connect to ZNC.%0a%0a!! Creating a cronjob%0a%0aYou will want to create a [[cronjob/intro|cronjob]] which will restart znc every 5 minutes in case it ever crashes.%0a%0aBy default, crontab will use whatever editor is stored in the VISUAL or EDITOR environmental variable, or vi if both are undefined. If you want to change the editor, type:%0a%0a[@%0a$ export EDITOR=%3cprogram>%0a$ export VISUAL=%3cprogram>%0a@]%0a%0aReplace %3cprogram> with your actual editor. Then, type:%0a%0a[@%0a$ crontab -e%0a*/5 * * * * ~/.local/bin/znc >> ~/.znc/znc.log 2>&1 &%0a@]%0a%0a!! Troubleshooting%0a%0aIf you run into errors, check the error log in ~/.znc/znc.log, or turn on debugging:%0a%0a[@%0a~/.local/bin/znc -D%0a@]%0a +time=1637191693 +title=Install ZNC from Source +author:1637191693=jrmu +diff:1637191693:1633442977:=9,12c9,12%0a%3c !!! Patched Source%0a%3c %0a%3c Due to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%3c %0a---%0a> !!! Getting the Source%0a> %0a> First, download the latest stable release:%0a> %0a14,23c14%0a%3c diff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a%3c --- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a%3c +++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a%3c @@ -292,6 +292,7 @@%0a%3c }%0a%3c %0a%3c int main(int argc, char** argv) {%0a%3c + pthread_attr_t a; pthread_attr_init(&a);%0a%3c CString sConfig;%0a%3c CString sDataDir = "";%0a---%0a> $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a26,27c17,20%0a%3c The schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%3c %0a---%0a> On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a> %0a> Next, extract and unzip the files:%0a> %0a29,46c22%0a%3c --- modules/schat.cpp.orig%0a%3c +++ modules/schat.cpp%0a%3c @@ -25,8 +25,8 @@%0a%3c #include %3cznc/User.h>%0a%3c #include %3cznc/IRCNetwork.h>%0a%3c %0a%3c -#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERS%0a%3c ION_NUMBER) || \%0a%3c - OPENSSL_VERSION_NUMBER %3c 0x10100007%0a%3c +#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBE%0a%3c R %3c 0x10100007 || \%0a%3c + (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUM%0a%3c BER %3c 0x3040000fL)%0a%3c /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher acces%0a%3c sor was added 2%0a%3c weeks before the public release.%0a%3c See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a%3c */%0a---%0a> $ tar xvzf znc-1.8.2.tar.gz %0a48,50c24,28%0a%3c %0a%3c IRCNow provides a patched version of ZNC:%0a%3c %0a---%0a> %0a> For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a> %0a> '''WARNING''': OpenBSD 6.9 may contain a bug that causes ZNC to crash with a segmentation fault. To avoid this, we recommend using IRCNow's custom patched znc:%0a> %0a52d29%0a%3c $ cd ~%0a53a31%0a> $ tar xvzf znc-1.8.2a.tar.gz %0a56,59c34,37%0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%3c %0a%3c For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%3c %0a---%0a> The rest of the steps are identical if you use IRCNow's custom-patched znc.%0a> %0a> !!! Building ZNC%0a> %0a61,99c39,41%0a%3c $ tar xvzf znc-1.8.2a.tar.gz%0a%3c @]%0a%3c %0a%3c !!! Upstream Source%0a%3c %0a%3c You can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%3c %0a%3c '''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c @]%0a%3c %0a%3c We recommend you verify the [[gpg/verify|gpg signature]]:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a%3c $ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a%3c $ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a%3c @]%0a%3c %0a%3c Next, [[tar/usage|extract and unzip]] the files:%0a%3c %0a%3c [@%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a%3c @]%0a%3c %0a%3c !!! Building ZNC%0a%3c %0a%3c Next, we build ZNC:%0a%3c %0a%3c [@%0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build%0a---%0a> $ cd znc-1.8.2%0a> $ mkdir build%0a> $ cd build/%0a +host:1637191693=38.87.162.8 +author:1633442977=mkf +csum:1633442977=nasty, we already have webadmin by default and this casues znc not to run.:( +diff:1633442977:1633442976:= +host:1633442977=190.2.131.205 +author:1633442976=mkf +csum:1633442976=nasty, we already have webadmin by default and this casues znc not to run.:( +diff:1633442976:1628128636:=279a280%0a> LoadModule = webadmin%0a +host:1633442976=190.2.131.205 +author:1628128636=jrmu +diff:1628128636:1628128470:=387,395d386%0a%3c %0a%3c By default, crontab will use whatever editor is stored in the VISUAL or EDITOR environmental variable, or vi if both are undefined. If you want to change the editor, type:%0a%3c %0a%3c [@%0a%3c $ export EDITOR=%3cprogram>%0a%3c $ export VISUAL=%3cprogram>%0a%3c @]%0a%3c %0a%3c Replace %3cprogram> with your actual editor. Then, type:%0a +host:1628128636=38.87.162.8 +author:1628128470=jrmu +diff:1628128470:1628128356:=385,386d384%0a%3c %0a%3c You will want to create a [[cronjob/intro|cronjob]] which will restart znc every 5 minutes in case it ever crashes.%0a +host:1628128470=38.87.162.8 +author:1628128356=jrmu +diff:1628128356:1627452520:=383,389d382%0a%3c %0a%3c !! Creating a cronjob%0a%3c %0a%3c [@%0a%3c $ crontab -e%0a%3c */5 * * * * ~/.local/bin/znc >> ~/.znc/znc.log 2>&1 &%0a%3c @]%0a +host:1628128356=38.87.162.8 +author:1627452520=jrmu +diff:1627452520:1627451881:=68c68%0a%3c $ ~/.local/bin/znc --makeconf%0a---%0a> $ /home/username/.local/bin/znc --makeconf%0a115,116c115,116%0a%3c Next, you'll be asked to specify an optional bindhost. The bindhost will give you a nice-looking vhost, like @@username@username.example.com@@.%0a%3c %0a---%0a> Next, you'll be asked to specify an optional bindhost. The bindhost will give you a nice-looking vhost, like username@username.example.com.%0a> %0a369,378d368%0a%3c !! Run ZNC%0a%3c %0a%3c To start ZNC right away:%0a%3c %0a%3c [@%0a%3c $ ~/.local/bin/znc >> ~/.znc/znc.log 2>&1 &%0a%3c @]%0a%3c %0a%3c This will store all znc log messages to ~/.znc/znc.log. If ZNC fails to start or crashes, you can consult this file for the full error log.%0a%3c %0a386,390c376,381%0a%3c If you run into errors, check the error log in ~/.znc/znc.log, or turn on debugging:%0a%3c %0a%3c [@%0a%3c ~/.local/bin/znc -D%0a%3c @]%0a---%0a> If you're getting bindhost not set messages, you have two options:%0a> %0a> # Clear the bindhost%0a> # Fix your DNS records%0a> %0a> You will know%0a +host:1627452520=38.87.162.8 +author:1627451881=jrmu +diff:1627451881:1627451826:= +host:1627451881=38.87.162.8 +author:1627451826=jrmu +diff:1627451826:1627451646:=269,272c269%0a%3c @]%0a%3c %0a%3c '''WARNING''': Do not duplicate listeners or settings, or else ZNC will fail.%0a%3c %0a---%0a> %0a380,381d376%0a%3c %0a%3c You will know%0a +host:1627451826=38.87.162.8 +author:1627451646=jrmu +diff:1627451646:1627451262:= +host:1627451646=38.87.162.8 +author:1627451262=jrmu +diff:1627451262:1627450804:=238,241c238,241%0a%3c !! Copying SSL certs (optional)%0a%3c %0a%3c If you want to have properly validating SSL certs, your sysadmin can provide them for you in your ~/ssl/ folder. We will need to create a symbolic link for them to your znc folder:%0a%3c %0a---%0a> !! Configuration%0a> %0a> Here are some recommended changes to make to the default znc.conf so that it works nicely. Replace the top portion of znc.conf with these settings:%0a> %0a243,259d242%0a%3c $ ln -s ~/ssl/username.example.com.crt ~/.znc/username.example.com.crt%0a%3c $ ln -s ~/ssl/username.example.com.key ~/.znc/username.example.com.key%0a%3c @]%0a%3c %0a%3c You must replace username.example.com with your actual hostname.%0a%3c %0a%3c Afterwards, we can create a dhparam file:%0a%3c %0a%3c [@%0a%3c $ openssl dhparam -out ~/.znc/dhparam.pem 2048%0a%3c @]%0a%3c %0a%3c !! Configuration%0a%3c %0a%3c Here are some recommended changes to make to the default znc.conf so that it works nicely. Replace the top portion of znc.conf with these settings:%0a%3c %0a%3c [@%0a295,296c278%0a%3c SSLCertFile = /home/znc/.znc/username.example.com.crt%0a%3c SSLKeyFile = /home/znc/.znc/username.example.com.key%0a---%0a> SSLCertFile = /home/znc/.znc/username.example.com.fullchain.pem%0a297a280%0a> SSLKeyFile = /home/znc/.znc/username.example.com.key%0a +host:1627451262=38.87.162.8 +author:1627450804=jrmu +diff:1627450804:1627450128:=262d261%0a%3c PidFile = /home/znc/.znc/znc.pid%0a273,276c272,273%0a%3c !!! SSL certs (Optional)%0a%3c %0a%3c If you want properly validating SSL certs, you can add these lines to set the paths for the SSL files and process ID (pid) files:%0a%3c %0a---%0a> Next, we set the paths for the SSL files and process ID (pid) files:%0a> %0a280a278%0a> PidFile = /home/znc/.znc/znc.pid%0a283,286c281,284%0a%3c '''NOTE''': For the SSL certs, you will need to ask the admin. You will need to replace username.example.com with the unique hostname that your admin provides.%0a%3c %0a%3c '''WARNING: You must '''not''' use username.example.com or else your SSL certificates will not load properly and your ZNC will not be able to offer SSL encryption. If you do not have your own SSL certs, then don't add these lines!%0a%3c %0a---%0a> Replace username.example.com with your unique hostname.%0a> %0a> '''WARNING: You must '''not''' use username.example.com or else your SSL certificates will not load properly and your ZNC will not be able to offer SSL encryption.%0a> %0a289,290c287,288%0a%3c Next, you'll want to create listeners. Each listener specifies a unique combination of IP address and port ([[tcpip/sockets|a TCP socket]]):%0a%3c %0a---%0a> Next, you'll want to create 5 listeners. Each listener specifies a unique combination of IP address and port (a TCP socket):%0a> %0a334a333,354%0a> %0a> %3cListener listener4>%0a> AllowIRC = true%0a> AllowWeb = false%0a> Host = 127.0.0.1%0a> IPv4 = true%0a> IPv6 = false%0a> Port = 1337%0a> SSL = false%0a> URIPrefix = /%0a> %3c/Listener>%0a> %0a> %3cListener listener5>%0a> AllowIRC = false%0a> AllowWeb = true%0a> Host = 127.0.0.1%0a> IPv4 = true%0a> IPv6 = false%0a> Port = 1338%0a> SSL = false%0a> URIPrefix = /%0a> %3c/Listener>%0a336,347d355%0a%3c %0a%3c @@Host = 192.168.1.1@@ and @@Port = 1337@@ tells ZNC to [[tcpip/sockets|listen]] on that IP address. You '''must''' replace 192.168.1.1 and 2001:db8:: with your real IP addresses and you '''must''' replace 1337 and 31337 with the ports you were given during account registration. If you don't use the correct IP address and port, ZNC may refuse to launch, or you may be unable to connect.%0a%3c %0a%3c You can find your IP addresses by running host on your unique hostname:%0a%3c %0a%3c [@%0a%3c $ host username.example.com%0a%3c username.example.com has address 198.51.100.1%0a%3c username.example.com has IPv6 address fe80:c001:d00d::%0a%3c @]%0a%3c %0a%3c '''WARNING''': You must replace 192.168.1.1 and 2001:db8:: with your real IP address, or znc will fail to launch.%0a +host:1627450804=38.87.162.8 +author:1627450128=jrmu +diff:1627450128:1627449536:=5,6c5,6%0a%3c [[https://wiki.znc.in|ZNC]] is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a%3c %0a---%0a> ZNC is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a> %0a137,138d136%0a%3c !!! User Modules%0a%3c %0a146,147d143%0a%3c !!! Set Up a Network%0a%3c %0a184,185d179%0a%3c !!! Stop ZNC%0a%3c %0a228,229d221%0a%3c !! Recreate znc.conf%0a%3c %0a247a240,245%0a> LoadModule = chansaver%0a> LoadModule = lastseen%0a> LoadModule = adminlog%0a> LoadModule = identfile%0a> LoadModule = webadmin%0a> LoadModule = certauth%0a252,256c250,253%0a%3c %0a%3c For a full explanation of these settings, please consult the [[https://wiki.znc.in/Configuration|ZNC wiki]].%0a%3c %0a%3c Next, we load the following modules:%0a%3c %0a---%0a> @]%0a> %0a> Next, we set the paths for the SSL files and process ID (pid) files:%0a> %0a258,261c255,258%0a%3c LoadModule = chansaver%0a%3c LoadModule = adminlog%0a%3c LoadModule = webadmin%0a%3c LoadModule = certauth%0a---%0a> SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a> SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a> SSLKeyFile = /home/znc/.znc/my.example.com.key%0a> PidFile = /home/znc/.znc/znc.pid%0a264,288c261,263%0a%3c If you want to store logs on the shell account, you can add this line:%0a%3c %0a%3c [@%0a%3c LoadModule = log%0a%3c @]%0a%3c %0a%3c '''NOTE''': sysadmins can read logs stored on the server. Also, in the event of a security breach, an attacker can also read these logs.%0a%3c %0a%3c Next, we set the paths for the SSL files and process ID (pid) files:%0a%3c %0a%3c [@%0a%3c SSLCertFile = /home/znc/.znc/username.example.com.fullchain.pem%0a%3c SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a%3c SSLKeyFile = /home/znc/.znc/username.example.com.key%0a%3c PidFile = /home/znc/.znc/znc.pid%0a%3c @]%0a%3c %0a%3c Replace username.example.com with your unique hostname.%0a%3c %0a%3c '''WARNING: You must '''not''' use username.example.com or else your SSL certificates will not load properly and your ZNC will not be able to offer SSL encryption.%0a%3c %0a%3c !!! Listeners%0a%3c %0a%3c Next, you'll want to create 5 listeners. Each listener specifies a unique combination of IP address and port (a TCP socket):%0a%3c %0a---%0a> Replace my.example.com with your unique %0a> %0a> '''WARNING: You%0a +host:1627450128=38.87.162.8 +author:1627449536=mkf +diff:1627449536:1627449470:minor=264c264%0a%3c [@%0a---%0a> %0a +host:1627449536=198.251.81.133 +author:1627449470=jrmu +diff:1627449470:1627449436:=338,342d337%0a%3c %0a%3c If you're getting bindhost not set messages, you have two options:%0a%3c %0a%3c # Clear the bindhost%0a%3c # Fix your DNS records%0a +host:1627449470=38.87.162.8 +author:1627449436=jrmu +diff:1627449436:1627449406:=336,337d335%0a%3c %0a%3c !! Troubleshooting%0a +host:1627449436=38.87.162.8 +author:1627449406=jrmu +diff:1627449406:1627448863:=113,114d112%0a%3c !!! Bindhosts%0a%3c %0a117,131c115,116%0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|bindhost]] that you want. If you bindhost does not work, your vhost will not show up properly, and you may not be able to connect at all!%0a%3c %0a%3c A vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]] to work. If you're using an IRCNow shell account, you should have been provided with one at registration. You can also ask your sysadmin to change it for you, or leave it blank.%0a%3c %0a%3c To test if your bindhost works properly, check the [[host/usage|host]] guide. You will want to run host on your bindhost:%0a%3c %0a%3c [@%0a%3c $ host username.example.com%0a%3c username.example.com has address 192.168.1.1%0a%3c username.example.com has IPv6 address 2001:bd8::%0a%3c @]%0a%3c %0a%3c Your bindhost should show both an IPv4 and IPv6 address. If it's missing an IPv4 address, it can '''only''' connect by IPv6 to an IRC network. If it's missing an IPv6 address, then it can '''only''' connect by IPv4 to an IRC network. If it's missing both, it '''cannot''' connect to '''any''' network.%0a%3c %0a%3c For this reason, you don't want to put an IPv6 address directly into the bindhost. This prevents ZNC from being able to connect to an IPv4 only network. Instead, you want to use a hostname that has both [[dns/records|A and AAAA records]] defined in [[dns/overview|DNS]].%0a---%0a> '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]]. If you're using an IRCNow shell account, you should have been provided with one at registration. You can also ask your sysadmin to change it for you, or leave it blank.%0a> %0a +host:1627449406=38.87.162.8 +author:1627448863=jrmu +diff:1627448863:1627448795:=9,10d8%0a%3c !!! Getting the Source%0a%3c %0a30,31c28,29%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2a.tar.gz%0a%3c $ tar xvzf znc-1.8.2a.tar.gz %0a---%0a> $ ftp https://ircnow.org/software/znc-1.8.2.tar.gz%0a> $ tar xvzf znc-1.8.2.tar.gz %0a35,36d32%0a%3c %0a%3c !!! Building ZNC%0a +host:1627448863=38.87.162.8 +author:1627448795=jrmu +diff:1627448795:1627448514:=24,32d23%0a%3c %0a%3c '''WARNING''': OpenBSD 6.9 may contain a bug that causes ZNC to crash with a segmentation fault. To avoid this, we recommend using IRCNow's custom patched znc:%0a%3c %0a%3c [@%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a%3c @]%0a%3c %0a%3c The rest of the steps are identical if you use IRCNow's custom-patched znc.%0a +host:1627448795=38.87.162.8 +author:1627448514=jrmu +diff:1627448514:1627445963:=172c172%0a%3c $ kill -TERM %3cpid>%0a---%0a> $ pkill znc%0a174,191d173%0a%3c %0a%3c You will want to replace %3cpid> with the [[ps/usage|process ID]] you see above (86542):%0a%3c %0a%3c [@%0a%3c $ kill -TERM 86542%0a%3c @]%0a%3c %0a%3c This will send a (TERM)ination signal to ZNC so that it dies.%0a%3c %0a%3c '''NOTE''': You will need to replace 8542 with your process ID.%0a%3c %0a%3c If you don't know the process ID, you can type:%0a%3c %0a%3c [@%0a%3c $ ps -U %3cusername> | grep znc%0a%3c @]%0a%3c %0a%3c Replace %3cusername> with your username.%0a +host:1627448514=38.87.162.8 +author:1627445963=mkf +csum:1627445963=simpler +diff:1627445963:1627445527:=169,170c169,170%0a%3c To stop ZNC once it is launched, you can [[kill/usage|kill]] it:%0a%3c %0a---%0a> To stop ZNC once it is launched, you can [[kill/usage|kill]] it by its [[ps/usage|process ID]]:%0a> %0a172c172%0a%3c $ pkill znc%0a---%0a> $ kill -TERM %3cpid>%0a175,177c175,176%0a%3c If at any time you mess up the configuration, you can delete your znc.conf%0a%3c and rerun the makeconf command again:%0a%3c %0a---%0a> You will want to replace %3cpid> with the process ID you see above (86542):%0a> %0a179,180c178,196%0a%3c $ rm ~/.znc/configs/znc.conf%0a%3c $ ~/.local/bin/znc --makeconf%0a---%0a> $ kill -TERM 86542%0a> @]%0a> %0a> This will send a (TERM)ination signal to ZNC so that it dies.%0a> %0a> If you don't know the process ID, you can type:%0a> %0a> [@%0a> $ ps -U %3cusername> | grep znc%0a> @]%0a> %0a> Replace %3cusername> with your username.%0a> %0a> If at any time you mess up the configuration, you can delete your znc.conf%0a> and rerun the makeconf command again:%0a> %0a> [@%0a> $ rm /home/username/.znc/configs/znc.conf%0a> $ /home/username/.local/bin/znc --makeconf%0a +host:1627445963=198.251.81.133 +author:1627445527=jrmu +diff:1627445527:1627445277:=5c5%0a%3c ZNC is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a---%0a> ZNC is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replay sthem when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a +host:1627445527=38.87.162.8 +author:1627445277=jrmu +diff:1627445277:1627444432:=201,299c201%0a%3c Here are some recommended changes to make to the default znc.conf so that it works nicely. Replace the top portion of znc.conf with these settings:%0a%3c %0a%3c [@%0a%3c AnonIPLimit = 10000%0a%3c AuthOnlyViaModule = false%0a%3c ConfigWriteDelay = 60%0a%3c ConnectDelay = 1%0a%3c HideVersion = false%0a%3c LoadModule = chansaver%0a%3c LoadModule = lastseen%0a%3c LoadModule = adminlog%0a%3c LoadModule = identfile%0a%3c LoadModule = webadmin%0a%3c LoadModule = certauth%0a%3c MaxBufferSize = 10000%0a%3c ProtectWebSessions = true%0a%3c ServerThrottle = 1%0a%3c Version = 1.8.2%0a%3c @]%0a%3c %0a%3c Next, we set the paths for the SSL files and process ID (pid) files:%0a%3c %0a%3c [@%0a%3c SSLCertFile = /home/znc/.znc/my.example.com.fullchain.pem%0a%3c SSLDHParamFile = /home/znc/.znc/dhparam.pem%0a%3c SSLKeyFile = /home/znc/.znc/my.example.com.key%0a%3c PidFile = /home/znc/.znc/znc.pid%0a%3c @]%0a%3c %0a%3c Replace my.example.com with your unique %0a%3c %0a%3c '''WARNING: You%0a%3c %0a%3c %3cListener listener0>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener1>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 192.168.1.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener2>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener3>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 2001:db8::%0a%3c IPv4 = false%0a%3c IPv6 = true%0a%3c Port = 31337%0a%3c SSL = true%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener4>%0a%3c AllowIRC = true%0a%3c AllowWeb = false%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1337%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c %3cListener listener5>%0a%3c AllowIRC = false%0a%3c AllowWeb = true%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1338%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c @]%0a---%0a> %0a +host:1627445277=38.87.162.8 +author:1627444432=jrmu +diff:1627444432:1627444103:=201,204d200%0a%3c %0a%3c %0a%3c !! Connecting to ZNC%0a%3c %0a206a203,204%0a> %0a> %0a +host:1627444432=38.87.162.8 +author:1627444103=jrmu +diff:1627444103:1627443701:=50,51d49%0a%3c !! Creating znc.conf%0a%3c %0a172c170%0a%3c $ kill -TERM %3cpid>%0a---%0a> %0a174,199d171%0a%3c %0a%3c You will want to replace %3cpid> with the process ID you see above (86542):%0a%3c %0a%3c [@%0a%3c $ kill -TERM 86542%0a%3c @]%0a%3c %0a%3c This will send a (TERM)ination signal to ZNC so that it dies.%0a%3c %0a%3c If you don't know the process ID, you can type:%0a%3c %0a%3c [@%0a%3c $ ps -U %3cusername> | grep znc%0a%3c @]%0a%3c %0a%3c Replace %3cusername> with your username.%0a%3c %0a%3c If at any time you mess up the configuration, you can delete your znc.conf%0a%3c and rerun the makeconf command again:%0a%3c %0a%3c [@%0a%3c $ rm /home/username/.znc/configs/znc.conf%0a%3c $ /home/username/.local/bin/znc --makeconf%0a%3c @]%0a%3c %0a%3c !! Configuration%0a +host:1627444103=38.87.162.8 +author:1627443701=jrmu +diff:1627443701:1627442952:=67c67%0a%3c [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no%0a---%0a> [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: %0a72,73d71%0a%3c '''WARNING''': Do '''not''' listen to both IPv4 and IPv6. There appears to be a bug in ZNC v1.8.2 on OpenBSD 6.9 where selecting 'yes' will cause IPv4 to stop working. Instead, as shown later in the guide, you can create separate listeners to allow listening to both IPv4 and IPv6.%0a%3c %0a133,134c131,132%0a%3c Next, I recommend *not* launching ZNC. There are still some settings you will want to add and configure:%0a%3c %0a---%0a> Next, launch ZNC:%0a> %0a146c144%0a%3c [ ?? ] Launch ZNC now? (yes/no) [yes]: no%0a---%0a> [ ?? ] Launch ZNC now? (yes/no) [yes]: yes%0a149,150c147,148%0a%3c If you accidentally launch ZNC, you will see:%0a%3c %0a---%0a> If all goes well, you will see:%0a> %0a167,172d164%0a%3c To stop ZNC once it is launched, you can [[kill/usage|kill]] it by its [[ps/usage|process ID]]:%0a%3c %0a%3c [@%0a%3c %0a%3c @]%0a%3c %0a175,176d166%0a%3c %0a%3c %0a +host:1627443701=38.87.162.8 +author:1627442952=jrmu +diff:1627442952:1627441707:=98,99c98,99%0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]]. If you're using an IRCNow shell account, you should have been provided with one at registration. You can also ask your sysadmin to change it for you, or leave it blank.%0a%3c %0a---%0a> '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]].%0a> %0a101a102,104%0a> [ ** ] Enabled user modules [chansaver, controlpanel]%0a> [ ** ] %0a> [ ?? ] Set up a network? (yes/no) [yes]: %0a103,166d105%0a%3c %0a%3c You'll want to enable all the user modules:%0a%3c %0a%3c [@%0a%3c [ ** ] Enabled user modules [chansaver, controlpanel]%0a%3c [ ** ] %0a%3c @]%0a%3c %0a%3c You can optionally set up a network at this stage:%0a%3c %0a%3c [@%0a%3c [ ?? ] Set up a network? (yes/no) [yes]: yes %0a%3c [ ** ] %0a%3c [ ** ] -- Network settings --%0a%3c [ ** ] %0a%3c [ ?? ] Name [freenode]: ircnow%0a%3c [ ?? ] Server host (host only): irc6.ircnow.org%0a%3c [ ?? ] Server uses SSL? (yes/no) [no]: yes%0a%3c [ ?? ] Server port (1 to 65535) [6697]: %0a%3c [ ?? ] Server password (probably empty): %0a%3c [ ?? ] Initial channels: #ircnow%0a%3c [ ** ] Enabled network modules [simple_away]%0a%3c [ ** ] %0a%3c [ .. ] Writing config [/home/username/.znc/configs/znc.conf]...%0a%3c @]%0a%3c %0a%3c This will cause ZNC to automatically connect to your favorite network (IRCNow).%0a%3c %0a%3c Next, launch ZNC:%0a%3c %0a%3c [@%0a%3c [ ** ] To connect to this ZNC you need to connect to it as your IRC server%0a%3c [ ** ] using the port that you supplied. You have to supply your login info%0a%3c [ ** ] as the IRC server password like this: user/network:pass.%0a%3c [ ** ] %0a%3c [ ** ] Try something like this in your IRC client...%0a%3c [ ** ] /server %3cznc_server_ip> +12345 username:%3cpass>%0a%3c [ ** ] %0a%3c [ ** ] To manage settings, users and networks, point your web browser to%0a%3c [ ** ] https://%3cznc_server_ip>:12345/%0a%3c [ ** ] %0a%3c [ ?? ] Launch ZNC now? (yes/no) [yes]: yes%0a%3c @]%0a%3c %0a%3c If all goes well, you will see:%0a%3c %0a%3c [@%0a%3c [ .. ] Opening config [/home/username/.znc/configs/znc.conf]...%0a%3c [ .. ] Loading global module [webadmin]...%0a%3c [ .. ] Binding to port [+12345]...%0a%3c [ ** ] Loading user [username]%0a%3c [ ** ] Loading network [ircnow]%0a%3c [ .. ] Loading network module [simple_away]...%0a%3c [ >> ] [/home/username/.local/lib/znc/simple_away.so]%0a%3c [ .. ] Adding 1 servers...%0a%3c [ .. ] Loading user module [chansaver]...%0a%3c [ .. ] Loading user module [controlpanel]...%0a%3c [ .. ] Forking into the background...%0a%3c [ >> ] [pid: 86542]%0a%3c [ ** ] ZNC 1.8.2 - https://znc.in%0a%3c @]%0a%3c %0a%3c From here, you will want to consult the [[bouncer/bouncer|ZNC client guides]]%0a%3c to see how to connect to ZNC.%0a +host:1627442952=38.87.162.8 +author:1627441707=jrmu +diff:1627441707:1627441483:=98c98%0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[DNS/rDNS|reverse DNS]] [[dns/records|records]].%0a---%0a> '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[dns/rdns|reverse DNS]] [[dns/records|records]].%0a +host:1627441707=38.87.162.8 +author:1627441483=jrmu +diff:1627441483:1627440688:=61,62c61,62%0a%3c If you are on a shell account, you must use the [[tcpip/ports|ports]] that were reserved for your username.%0a%3c %0a---%0a> If you are on a shell account, you must use the ports that were reserved for your username.%0a> %0a68,74d67%0a%3c @]%0a%3c %0a%3c [[tls/overview|SSL]] helps to encrypt messages sent between client and server. In other words, if you turn it on, messages sent from your IRC program to ZNC are kept secure. It's more trouble to set up, and some older IRC programs don't support it, so some users prefer to turn off SSL.%0a%3c %0a%3c [[IPv4/overview|IPv4]] is the default networking protocol. [[IPv6/overview|IPv6]] is becoming more popular now, especially for mobile devices.%0a%3c %0a%3c [@%0a79,83d71%0a%3c @]%0a%3c %0a%3c ZNC will automatically create its own SSL certificate. This certificate, however, will be self-signed and hence will show up as invalid or untrusted by your IRC client. If you'd like a properly signed SSL certificate, ask your sysadmin or request one yourself using [[acme-client/configure|acme-client]].%0a%3c %0a%3c [@%0a94,101c82%0a%3c @]%0a%3c %0a%3c Next, you'll be asked to specify an optional bindhost. The bindhost will give you a nice-looking vhost, like username@username.example.com.%0a%3c %0a%3c '''WARNING''': You cannot pick any arbitrary [[dns/vhost|vhost]] that you want. A vhost must have proper [[dns/overview|forward]] and [[dns/rdns|reverse DNS]] [[dns/records|records]].%0a%3c %0a%3c [@%0a%3c [ ?? ] Bind host (optional): username.example.com%0a---%0a> [ ?? ] Bind host (optional): username.shelltalk.net%0a +host:1627441483=38.87.162.8 +author:1627440688=jrmu +diff:1627440688:1627439470:=1,10d0%0a%3c (:title Install ZNC from Source:)%0a%3c %0a%3c !! Overview%0a%3c %0a%3c ZNC is an IRC bouncer. It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replay sthem when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.%0a%3c %0a%3c !! Compiling from Source%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a13,19d2%0a%3c @]%0a%3c %0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%3c %0a%3c Next, extract and unzip the files:%0a%3c %0a%3c [@%0a21,25d3%0a%3c @]%0a%3c %0a%3c For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%3c %0a%3c [@%0a28a7,9%0a> $ cmake .. -DCMAKE_INSTALL_PREFIX="$HOME/.local"%0a> $ make%0a> $ make install%0a31,32c12,13%0a%3c We then use cmake to configure the files to install to ~/.local, then make and make install:%0a%3c %0a---%0a> You should see this message:%0a> %0a34,41d14%0a%3c $ cmake .. -DCMAKE_INSTALL_PREFIX="$HOME/.local"%0a%3c $ make%0a%3c $ make install%0a%3c @]%0a%3c %0a%3c You should see this message:%0a%3c %0a%3c [@%0a48,85d20%0a%3c @]%0a%3c %0a%3c Follow the instructions to generate the config file:%0a%3c %0a%3c [@%0a%3c $ /home/username/.local/bin/znc --makeconf%0a%3c [ .. ] Checking for list of available modules...%0a%3c [ ** ] %0a%3c [ ** ] -- Global settings --%0a%3c [ ** ] %0a%3c [ ?? ] Listen on port (1025 to 65534): %0a%3c @]%0a%3c %0a%3c If you are on a shell account, you must use the ports that were reserved for your username.%0a%3c %0a%3c '''WARNING:''' Shell accounts users must '''not''' randomly choose ports. Shell accounts servers often have firewalls in place that will block ports not reserved to you. If you are unable to connect to ZNC, double check to see if the firewall is blocking the connection.%0a%3c %0a%3c [@%0a%3c [ ?? ] Listen using SSL (yes/no) [no]: yes%0a%3c [ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: %0a%3c [ .. ] Verifying the listener...%0a%3c [ ** ] Unable to locate pem file: [/home/username/.znc/znc.pem], creating it%0a%3c [ .. ] Writing Pem file [/home/username/.znc/znc.pem]...%0a%3c [ ** ] Enabled global modules [webadmin]%0a%3c [ ** ] %0a%3c [ ** ] -- Admin user settings --%0a%3c [ ** ] %0a%3c [ ?? ] Username (alphanumeric): username%0a%3c [ ?? ] Enter password: %0a%3c [ ?? ] Confirm password: %0a%3c [ ?? ] Nick [username]: %0a%3c [ ?? ] Alternate nick [username_]: %0a%3c [ ?? ] Ident [username]: %0a%3c [ ?? ] Real name (optional): username%0a%3c [ ?? ] Bind host (optional): username.shelltalk.net%0a%3c [ ** ] Enabled user modules [chansaver, controlpanel]%0a%3c [ ** ] %0a%3c [ ?? ] Set up a network? (yes/no) [yes]: %0a +host:1627440688=38.87.162.8 +author:1627439470=jrmu +diff:1627439470:1627439470:=1,21d0%0a%3c [@%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a%3c $ cd znc-1.8.2%0a%3c $ mkdir build%0a%3c $ cd build/%0a%3c $ cmake .. -DCMAKE_INSTALL_PREFIX="$HOME/.local"%0a%3c $ make%0a%3c $ make install%0a%3c @]%0a%3c %0a%3c You should see this message:%0a%3c %0a%3c [@%0a%3c ZNC was successfully installed.%0a%3c You can use '/home/username/.local/bin/znc --makeconf'%0a%3c to generate a config file.%0a%3c %0a%3c If you need help with using ZNC, please visit our wiki at:%0a%3c http://znc.in%0a%3c @]%0a +host:1627439470=38.87.162.8 blob - /dev/null blob + 4286f1bc4445425514b0c40520a7c89e500e6ded (mode 644) --- /dev/null +++ wiki.d/Znc.RecentChanges @@ -0,0 +1,9 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +charset=UTF-8 +ctime=1614444529 +host=38.87.162.8 +name=Znc.RecentChanges +rev=82 +text=* [[Znc/Install]] . . . November 17, 2021, at 11:28 PM by [[~jrmu]]: [==]%0a* [[Znc/Chroot]] . . . November 03, 2021, at 02:50 PM by [[~jrmu]]: [==]%0a* [[Znc/Relayd]] . . . November 03, 2021, at 10:18 AM 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* [[Znc/I18n]] . . . August 02, 2021, at 09:12 AM by [[~mkf]]: [==]%0a* [[Znc/Troubleshoot]] . . . July 28, 2021, at 06:11 AM by [[~jrmu]]: [==]%0a* [[Znc/Chroot69]] . . . May 06, 2021, at 03:36 AM by [[~bejelentkezni]]: [=back to 6.9 to see real changes=]%0a +time=1637191693 blob - /dev/null blob + def45b793bea2de124f6a5fc9f3968ce63b5df8f (mode 644) --- /dev/null +++ wiki.d/Znc.Relayd @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635934692 +host=38.87.162.47 +name=Znc.Relayd +rev=1 +targets=Relayd.Acceleration,Openhttpd.Configure,Acme-client.Configure,IP.Myaddress,Localhost.Intro,Openbsd.Relayd,Pf.Intro,Znc.Usage +text=For now, avoid setting up the web server on port 31337. We will instead use [[relayd/acceleration|relayd]] so that the web server can viewed on the default port for https: port 443.%0a%0a!! Configuring SSL%0a%0aIn order to provide SSL for the bouncer, you must first configure [[openhttpd/configure|OpenHTTPd]] and request a certificate with [[acme-client/configure|acme-client]].%0a%0a%3cListener listener5>%0a AllowIRC = false%0a AllowWeb = true%0a Host = 127.0.0.1%0a IPv4 = true%0a IPv6 = false%0a Port = 1338%0a SSL = false%0a URIPrefix = /%0a%3c/Listener>%0a%0aPlease read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%0aYou will need to replace @@bnc.example.com@@ with your actual hostname.%0a%0aIn the listeners, you need to replace @@192.168.1.1@@ and @@2001:db8::@@ with your server's [[IP/myaddress|public IPv4 and IPv6 address]].%0a%0a'''NOTE''': Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a%0aIt's recommended to keep the ports 1337 for plaintext, 31337 for SSL, and 1338 for web. This convention is followed on the public servers on IRCNow. Note that znc binds to port 1338 without SSL for the web server. We later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%0a!! Packet Filter%0a%0aIf [[pf/intro|packet filter]] is set to deny all incoming connects, you can add this rule to /etc/pf.conf:%0a%0a[@%0apass in log quick proto tcp to port {http https} keep state (max-src-conn 300, max-src-conn-rate 300/60) #relayd web%0apass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 300) #bnc%0a@]%0a%0aTo load the new ruleset:%0a%0a[@%0a# pfctl -f /etc/pf.conf%0a@]%0a%0a!! Web Panel%0a%0aWhile you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%0a[@%0aserver "bnc.example.com" {%0a listen on * port 80%0a location "/.well-known/acme-challenge/*" {%0a root "/acme"%0a request strip 2%0a }%0a location * {%0a block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a }%0a}%0a@]%0a%0aGo ahead and reboot the web server:%0a%0a[@%0a$ doas rcctl restart httpd%0a@]%0a%0a!! Control Panel%0a%0aSee [[znc/usage]] for help on how to use the controlpanel.%0a%0a!! Troubleshooting%0a +time=1635934692 +author:1635934692=jrmu +diff:1635934692:1635934692:=1,70d0%0a%3c For now, avoid setting up the web server on port 31337. We will instead use [[relayd/acceleration|relayd]] so that the web server can viewed on the default port for https: port 443.%0a%3c %0a%3c !! Configuring SSL%0a%3c %0a%3c In order to provide SSL for the bouncer, you must first configure [[openhttpd/configure|OpenHTTPd]] and request a certificate with [[acme-client/configure|acme-client]].%0a%3c %0a%3c %3cListener listener5>%0a%3c AllowIRC = false%0a%3c AllowWeb = true%0a%3c Host = 127.0.0.1%0a%3c IPv4 = true%0a%3c IPv6 = false%0a%3c Port = 1338%0a%3c SSL = false%0a%3c URIPrefix = /%0a%3c %3c/Listener>%0a%3c %0a%3c Please read the [[https://wiki.znc.in/Configuration|ZNC wiki]] to understand the meaning of each option.%0a%3c %0a%3c You will need to replace @@bnc.example.com@@ with your actual hostname.%0a%3c %0a%3c In the listeners, you need to replace @@192.168.1.1@@ and @@2001:db8::@@ with your server's [[IP/myaddress|public IPv4 and IPv6 address]].%0a%3c %0a%3c '''NOTE''': Do '''not''' replace @@127.0.0.1@@. This is [[localhost/intro|localhost]] and must not be changed.%0a%3c %0a%3c It's recommended to keep the ports 1337 for plaintext, 31337 for SSL, and 1338 for web. This convention is followed on the public servers on IRCNow. Note that znc binds to port 1338 without SSL for the web server. We later use [[openbsd/relayd|relayd]] to provide TLS acceleration on port 443.%0a%3c %0a%3c !! Packet Filter%0a%3c %0a%3c If [[pf/intro|packet filter]] is set to deny all incoming connects, you can add this rule to /etc/pf.conf:%0a%3c %0a%3c [@%0a%3c pass in log quick proto tcp to port {http https} keep state (max-src-conn 300, max-src-conn-rate 300/60) #relayd web%0a%3c pass in log quick proto tcp to port {1337 31337} keep state (max 3000, max-src-conn 300) #bnc%0a%3c @]%0a%3c %0a%3c To load the new ruleset:%0a%3c %0a%3c [@%0a%3c # pfctl -f /etc/pf.conf%0a%3c @]%0a%3c %0a%3c !! Web Panel%0a%3c %0a%3c While you are at it, you will want to redirect any plaintext requests to the webpanel on port 80 to use SSL on port 443. Add this to /etc/httpd.conf:%0a%3c %0a%3c [@%0a%3c server "bnc.example.com" {%0a%3c listen on * port 80%0a%3c location "/.well-known/acme-challenge/*" {%0a%3c root "/acme"%0a%3c request strip 2%0a%3c }%0a%3c location * {%0a%3c block return 302 "https://$HTTP_HOST$REQUEST_URI"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c Go ahead and reboot the web server:%0a%3c %0a%3c [@%0a%3c $ doas rcctl restart httpd%0a%3c @]%0a%3c %0a%3c !! Control Panel%0a%3c %0a%3c See [[znc/usage]] for help on how to use the controlpanel.%0a%3c %0a%3c !! Troubleshooting%0a +host:1635934692=38.87.162.47 blob - /dev/null blob + 1a99cf2bd504d164fadf9f96f7755409420e705e (mode 644) --- /dev/null +++ wiki.d/Znc.Troubleshoot,del-1627452707 @@ -0,0 +1,15 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1627452572 +host=38.87.162.8 +name=Znc.Troubleshoot +rev=1 +targets= +text=If you're getting bindhost not set messages, you have two options:%0a%0a# Clear the bindhost %0a# Fix your DNS records %0a%0a +time=1627452572 +author:1627452572=jrmu +diff:1627452572:1627452572:=1,5d0%0a%3c If you're getting bindhost not set messages, you have two options:%0a%3c %0a%3c # Clear the bindhost %0a%3c # Fix your DNS records %0a%3c %0a +host:1627452572=38.87.162.8 blob - /dev/null blob + efcf1f3b40b7f3e6c726d5b4194ded90ebdb2a15 (mode 644) --- /dev/null +++ wiki.d/Znc.Usage @@ -0,0 +1,22 @@ +version=pmwiki-2.2.130 ordered=1 urlencoded=1 +agent=w3m/0.5.3+git20210102 +author=jrmu +charset=UTF-8 +csum= +ctime=1635865188 +host=38.87.162.47 +name=Znc.Usage +rev=3 +targets=Bouncer.Bouncer,Ircnow.Networks,Ircnow.Servers,Bouncer.MIRC,Debate.Zncflaws,Openbsd.Police,Openbsd.Ilines,Openbsd.Phishing +text=(:title ZNC Usage:)%0a%0aWelcome and thanks for helping with ZNC support!%0a%0a!! Register a team ZNC%0a%0a# Join your team channel and register a bouncer by typing !help%0a# Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a# Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a# Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%0a!! Getting Started on IRC%0a%0a# Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a# Join your team channels, #fruit and #fruit-team%0a# Read all messages in your IRC team channel every day%0a%0a!! Getting Caught Up%0a%0a# Read all team emails sent to support@fruit.ircnow.org every day%0a# Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a# Read all emails sent to your personal user@ircnow.org account every day%0a# All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a# For each action taken, report it on IRC%0a# For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%0a!! Service with a Smiley%0a%0aChatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%0aUsers need your help -- and they love service with a smiley! :)%0a%0a# Service with a smiley%0a# Keep instructions short and easy to understand%0a# Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a# We support every IRC client known to man!%0a# Remember, users -- not code or servers -- are the most important part of our network%0a# Word of mouth from satisfied users are the best form of advertising%0a%0a[@%0a21:20 %3c user> !bnc%0a21:20 %3c@PLUM> user: Please check private message%0a21:20 %3c user> help what is the captcha%0a21:22 %3c user> type /msg PLUM !bnc captcha 235%0a21:24 %3c user> now how do i connect%0a21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:24 %3c user> ok%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx works%0a21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a21:29 %3c user> ok bye%0a@]%0a%0a!! Check if Users Connected%0a%0aNever assume a user has connected successfully -- always check and verify.%0a%0a'''Our job is not done until the user has connected is chatting!'''%0a%0aYou can load notify_connect if it has not been loaded already:%0a%0a[@%0a/msg *status loadmod notify_connect%0a@]%0a%0anotify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%0aIf you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a%0a!! Common Problems%0a%0a!!! Can't read captcha%0a%0aIf the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%0a[@%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aYou can also just register the bouncer for the user if you know which email he is using.%0a%0a[@%0a/msg %3cbotname> !bnc %3cusername> %3cemail>%0a/msg %3cbotname> !bnc captcha %3cnumber>%0a@]%0a%0aThe username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%0a!!! How do I connect?%0a%0aTo help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%0a[@%0a/ctcp %3cnick> version%0a23:54 [ctcp(Guest58404)] VERSION %0a23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a@]%0a%0aIn this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%0a[@%0a21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a21:27 %3c user> thx works%0a@]%0a%0a'''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%0a!! You are currently disconnected%0a%0a[@%0a13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a@]%0a%0aThere are two possibilities.%0a%0aFirst, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%0a(Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%0aThe user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%0a%0aSecondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%0a!!! Network %3cname> doesn't exist%0a%0aFirst, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! Why am I on the wrong network?%0a%0aMost likely because you didn't type in the password in the right way:%0a%0a[@%0a21:29 %3c user> why did u send me to the wrong network%0a21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a21:27 %3c user> thx sorry%0a@]%0a%0aThis happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%0a'''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%0aAn alternative method for jumping networks is to type:%0a%0a[@%0a/znc jumpnetwork NETWORK%0a@]%0a%0aReplace NETWORK with the real network you want.%0a%0a!!! Where is the web panel?%0a%0ahttps://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! How do I change my password?%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cpassword>%0a@]%0a%0aHe can also use the webpanel at https://bnc.fruit.ircnow.org%0a%0aReplace fruit with the real fruit name.%0a%0a!!! What networks do you support?%0a%0aAfter a user connects, he should type:%0a%0a[@%0a/msg *controlpanel listnetworks%0a@]%0a%0ato list all available networks.%0a%0a!!! How do I add a network?%0a%0a[@%0a/msg *controlpanel addnetwork %3cnetwork>%0a/msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a/msg *controlpanel reconnect %3cusername> %3cnetwork>%0a@]%0a%0aOr you can use the webpanel: https://bnc.fruit.ircnow.org%0a%0a!!! How do I delete all these networks?%0a%0aDon't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a%0a!!! I can't connect%0a%0aAsk the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%0a# Did the user successfully connect?%0a - Load the notify_connect module and see if you can see the user's IP connecting.%0a - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%0aTo fix his network settings, log in to the web panel:%0a%0ahttps://bnc.fruit.ircnow.org%0a%0a# Check the nickname/altnick%0a - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a - This could prevent your user from connecting%0a%0a# Double check the bindhost is set properly and that dns works%0a%0a!!! Why am I GLINEd?%0a%0a01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%0aGLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a%0a!!! How do I auto-identify on...%0a%0adalnet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a@]%0a%0afreenode, rizon, oftc, snoonet:%0a%0a[@%0a/msg *status loadmod nickserv%0a/msg *nickserv set PASSWORD%0a@]%0a%0aThat will ensure you identify upon reconnect. To identify immediately, type:%0a%0a[@%0a/msg NickServ identify PASSWORD%0a@]%0a%0aircnow:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add SQUERY NickServ :identify PASSWORD%0a@]%0a%0aIf you want to auto op yourself:%0a%0a[@%0a/msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a@]%0a%0aundernet:%0a%0a[@%0a/msg *status loadmod perform%0a/msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a/msg *perform Add mode %3cusername> +x%0a@]%0a%0aquake:%0a%0a[@%0a/msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a@]%0a%0aefnet, ircnet:%0a%0aThere are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%0a!!! How do I change my ident? My vhost?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%0aThere's currently no way to change the ident besides deleting the account and registering a new one.%0a%0aFor the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a%0a!!! How do I delete my account or reset the password?%0a%0a'''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%0aEmail the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%0aAn admin can reset the password as follows:%0a%0a[@%0a/msg *controlpanel set password %3cusername> %3cnewpass>%0a@]%0a%0aSend them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%0aTo delete an account, type:%0a%0a[@%0a/msg *blockuser block %3cusername>%0a@]%0a%0aAgain, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%0a!!! How can I log chats permanently?%0a%0aDon't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%0a!!! How do I use SASL?%0a%0a[@%0a/msg *status loadmod sasl%0a/msg *sasl Mechanism plain%0a/msg *sasl set %3cusername> %3cpassword>%0a@]%0a'''ZNC console'''%0a%0aConnect%0a [=%0a/quote PASS admin:mysuperadminpassqwerty%0a =]%0a%0aGenerate new pass for user%0a [=%0aGo to site: https://passwordsgenerator.net/%0aand disable "Include Symbols"%0aclick "generate password"%0aor you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a =]%0a(:ifend:)%0a%0aUser login%0a [=%0ausername must be the same or derived from the network login (contain a suffix)%0a =]%0a%0aCreate new user%0a [=%0a/msg *controlpanel AddUser bob 12345678%0a/msg *controlpanel LoadModule bob perform%0a =]%0a%0aAdd network for new ner%0a [=%0a/msg *controlpanel AddNetwork bob IRCNow%0a/msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a/msg *controlpanel SetNetwork BindHost bob IRCNow bob.fruit.ircnow.org%0a/msg *controlpanel help%0a =]%0a%0aSet channels%0a [=%0a/msg *controlpanel AddChan bob IRCNow #ircnow%0a =]%0a%0aSet pass (this must be done with a user account or offer to run this command yourself) %0a [=%0a/msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a/msg *perform help%0a =]%0a%0aReconnect user`s network%0a [=%0a/msg *controlpanel Reconnect bob IRCNow%0a =]%0a%0aSaving settings to disk (please save your changes to disk immediately)%0a [=%0a/msg *status SaveConfig%0a =]%0a%0aDeleting user and user entities%0a [=%0a/msg *controlpanel DelUser bob%0a/msg *controlpanel DelNetwork bob IRCNow%0a =]%0a +time=1635865799 +title=ZNC Usage +author:1635865799=jrmu +diff:1635865799:1635865784:=1c1%0a%3c (:title ZNC Usage:)%0a---%0a> (:title ZNC Support:)%0a +host:1635865799=38.87.162.47 +author:1635865784=jrmu +diff:1635865784:1635865188:=1,330d0%0a%3c (:title ZNC Support:)%0a%3c %0a%3c Welcome and thanks for helping with ZNC support!%0a%3c %0a%3c !! Register a team ZNC%0a%3c %0a%3c # Join your team channel and register a bouncer by typing !help%0a%3c # Connect to your ZNC by following the [[bouncer/bouncer|bouncer connection guides]]%0a%3c # Get familiar with the different [[bouncer/bouncer|IRC client types]]. '''Please download every single IRC client that you can and test them out.''' Try logging in with each IRC client so you can better help support your users.%0a%3c # Ask a teammate to give your account admin powers by typing @@/msg *controlpanel set admin %3cusername> true@@%0a%3c %0a%3c !! Getting Started on IRC%0a%3c %0a%3c # Check the list of [[ircnow/networks|IRC Networks]]. Please connect to each network that your team has claimed, and join the #ircnow channel there. You will be the official support team for that network.%0a%3c # Join your team channels, #fruit and #fruit-team%0a%3c # Read all messages in your IRC team channel every day%0a%3c %0a%3c !! Getting Caught Up%0a%3c %0a%3c # Read all team emails sent to support@fruit.ircnow.org every day%0a%3c # Whenever you reply to a team email, make sure to either save a copy in the sent folder or bcc support@fruit.ircnow.org so your team has a record.%0a%3c # Read all emails sent to your personal user@ircnow.org account every day%0a%3c # All actions must be logged in [[ircnow/servers|your team's wiki pages]]%0a%3c # For each action taken, report it on IRC%0a%3c # For major changes, email the entire team by sending to support@fruit.ircnow.org%0a%3c %0a%3c !! Service with a Smiley%0a%3c %0a%3c Chatting on IRC is hard. Requesting a ZNC is hard. Connecting to a ZNC is hard.%0a%3c %0a%3c Users need your help -- and they love service with a smiley! :)%0a%3c %0a%3c # Service with a smiley%0a%3c # Keep instructions short and easy to understand%0a%3c # Don't assume a user has successfully connected until he tells you so -- over 50%25 of users cannot figure out how to use ZNC%0a%3c # We support every IRC client known to man!%0a%3c # Remember, users -- not code or servers -- are the most important part of our network%0a%3c # Word of mouth from satisfied users are the best form of advertising%0a%3c %0a%3c [@%0a%3c 21:20 %3c user> !bnc%0a%3c 21:20 %3c@PLUM> user: Please check private message%0a%3c 21:20 %3c user> help what is the captcha%0a%3c 21:22 %3c user> type /msg PLUM !bnc captcha 235%0a%3c 21:24 %3c user> now how do i connect%0a%3c 21:24 %3c@staff> user: follow this guide: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:24 %3c user> ok%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx works%0a%3c 21:28 %3c@staff> you're welcome user, please let your friends know about IRCNow!%0a%3c 21:29 %3c user> ok bye%0a%3c @]%0a%3c %0a%3c !! Check if Users Connected%0a%3c %0a%3c Never assume a user has connected successfully -- always check and verify.%0a%3c %0a%3c '''Our job is not done until the user has connected is chatting!'''%0a%3c %0a%3c You can load notify_connect if it has not been loaded already:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod notify_connect%0a%3c @]%0a%3c %0a%3c notify_connect will send you a NOTICE message every time a user connects, so you can check if a user has connected.%0a%3c %0a%3c If you don't see the user connecting, then he must have incorrect settings and you will need to help him troubleshoot.%0a%3c %0a%3c !! Common Problems%0a%3c %0a%3c !!! Can't read captcha%0a%3c %0a%3c If the user cannot read the captcha, check your #fruit-team channel. The bot should tell you what the captcha is. Or, you can ask the user to message you the captcha. Tell the user the number to message the bot:%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c You can also just register the bouncer for the user if you know which email he is using.%0a%3c %0a%3c [@%0a%3c /msg %3cbotname> !bnc %3cusername> %3cemail>%0a%3c /msg %3cbotname> !bnc captcha %3cnumber>%0a%3c @]%0a%3c %0a%3c The username and password will then be sent to the user. If the bot says you have already registered before, just change your nick using @@/nick %3cnewnick>@@ and then register again.%0a%3c %0a%3c !!! How do I connect?%0a%3c %0a%3c To help a user connect to the bouncer, you can ask him which IRC client he is using or use CTCP VERSION:%0a%3c %0a%3c [@%0a%3c /ctcp %3cnick> version%0a%3c 23:54 [ctcp(Guest58404)] VERSION %0a%3c 23:54 CTCP VERSION reply from Guest58404: mIRC 7.30%0a%3c @]%0a%3c %0a%3c In this example, the user is using mIRC 7.30. Look up the [[bouncer/MIRC|mIRC guide]] and give the user the shortest, simple possible instructions to help him connect:%0a%3c %0a%3c [@%0a%3c 21:24 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:25 %3c@staff> full guide here: https://wiki.ircnow.org/index.php?n=Bouncer.MIRC%0a%3c 21:27 %3c user> thx works%0a%3c @]%0a%3c %0a%3c '''IMPORTANT''': Every IRC client has different instructions. Make sure you have personally downloaded and tested as many [[bouncer/bouncer|IRC clients]] as possible. You can't help users connect if you've never used the IRC client yourself.%0a%3c %0a%3c !! You are currently disconnected%0a%3c %0a%3c [@%0a%3c 13:41 %3c*status> You are currently disconnected from IRC. Use 'connect' to reconnect.%0a%3c @]%0a%3c %0a%3c There are two possibilities.%0a%3c %0a%3c First, it may be because you did not include your network in the password field. The password should be username/network:password, and not just the password by itself.%0a%3c %0a%3c (Yes, I know this is incredibly confusing, this is why [[debate/zncflaws|ZNC is flawed]])%0a%3c %0a%3c The user must type username/network:password and not just password, or else he will connect to the first network by default, which probably is not connected.%0a%3c %0a%3c %0a%3c Secondly, this may be because you are intentionally connecting to a new network that has not yet connected. If so, just type 'connect'.%0a%3c %0a%3c !!! Network %3cname> doesn't exist%0a%3c %0a%3c First, make sure the user has correctly typed in the password (it should have the form ysername/network:password). Secondly, double check that the network name was spelled correctly. If there are no mistakes, then you need to add the network:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a%3c @]%0a%3c %0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a%3c !!! Why am I on the wrong network?%0a%3c %0a%3c Most likely because you didn't type in the password in the right way:%0a%3c %0a%3c [@%0a%3c 21:29 %3c user> why did u send me to the wrong network%0a%3c 21:30 %3c@staff> please follow the instructions *carefully*, you forgot to add user/NETWORK:%0a%3c 21:30 %3c@staff> type /server -m fruit.ircnow.org 1337 user/NETWORK:PASSWORD%0a%3c 21:31 %3c@staff> you *must* use user/NETWORK:PASSWORD and not just PASSWORD%0a%3c 21:25 %3c@staff> replace NETWORK with your network and PASSWORD with the password in the email%0a%3c 21:27 %3c user> thx sorry%0a%3c @]%0a%3c %0a%3c This happens because the user just puts a password like abcde12345 into the password field, but ZNC has this terrible approach where it requires users to put in user/NETWORK:abcde12345 to connect to NETWORK. It's extremely confusing and nobody ever understands it the first time. This is one reason why [[debate/zncflaws|ZNC is flawed]].%0a%3c %0a%3c '''NOTE''': Every IRC client has different instructions. You must read [[bouncer/bouncer|the specific guide]] before helping a user.%0a%3c %0a%3c An alternative method for jumping networks is to type:%0a%3c %0a%3c [@%0a%3c /znc jumpnetwork NETWORK%0a%3c @]%0a%3c %0a%3c Replace NETWORK with the real network you want.%0a%3c %0a%3c !!! Where is the web panel?%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! How do I change my password?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c He can also use the webpanel at https://bnc.fruit.ircnow.org%0a%3c %0a%3c Replace fruit with the real fruit name.%0a%3c %0a%3c !!! What networks do you support?%0a%3c %0a%3c After a user connects, he should type:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel listnetworks%0a%3c @]%0a%3c %0a%3c to list all available networks.%0a%3c %0a%3c !!! How do I add a network?%0a%3c %0a%3c [@%0a%3c /msg *controlpanel addnetwork %3cnetwork>%0a%3c /msg *controlpanel addserver %3cusername> %3cnetwork> %3cserver> [[+]port]%0a%3c /msg *controlpanel reconnect %3cusername> %3cnetwork>%0a%3c @]%0a%3c %0a%3c Or you can use the webpanel: https://bnc.fruit.ircnow.org%0a%3c %0a%3c !!! How do I delete all these networks?%0a%3c %0a%3c Don't. Tell the user it's a terrible idea to delete them because it will create extra work for everyone. Just keep the networks around because they are configured properly; if he tries to configure them himself, they will have tons of errors you must later fix.%0a%3c %0a%3c !!! I can't connect%0a%3c %0a%3c Ask the user which fruit he tried to connect to (cherry, pear, mango, ...) and what IRC network he wants to chat on. Check the following:%0a%3c %0a%3c # Did the user successfully connect?%0a%3c - Load the notify_connect module and see if you can see the user's IP connecting.%0a%3c - If the user cannot connect to ZNC, then his IRC client has the wrong network settings.%0a%3c - If the user can connect to ZNC but cannot chat, then ZNC itself has the wrong settings and you must troubleshoot his connection for him.%0a%3c %0a%3c To fix his network settings, log in to the web panel:%0a%3c %0a%3c https://bnc.fruit.ircnow.org%0a%3c %0a%3c # Check the nickname/altnick%0a%3c - Some ircds like ngircd are unable to accept punctuation like [] in nicks%0a%3c - This could prevent your user from connecting%0a%3c %0a%3c # Double check the bindhost is set properly and that dns works%0a%3c %0a%3c !!! Why am I GLINEd?%0a%3c %0a%3c 01:57 !irc.example.com *** You are banned from example.com (See http://irc.example.com/unban) Email admin@example.com for more information.)%0a%3c 01:57 -!- ERROR Closing Link: username [fruit.ircnow.org] (G:lined)%0a%3c %0a%3c GLINEs are caused either by misconfiguration in the ZNC server, [[openbsd/police|abuse from a user]] or a misconfiguration on the other network. You will need to ask a ZNC sysadmin to [[openbsd/ilines|request an iline]].%0a%3c %0a%3c !!! How do I auto-identify on...%0a%3c %0a%3c dalnet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG NickServ@services.dal.net :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ@services.dal.net :op #chan %3cnickname>%0a%3c @]%0a%3c %0a%3c freenode, rizon, oftc, snoonet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod nickserv%0a%3c /msg *nickserv set PASSWORD%0a%3c @]%0a%3c %0a%3c That will ensure you identify upon reconnect. To identify immediately, type:%0a%3c %0a%3c [@%0a%3c /msg NickServ identify PASSWORD%0a%3c @]%0a%3c %0a%3c ircnow:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add SQUERY NickServ :identify PASSWORD%0a%3c @]%0a%3c %0a%3c If you want to auto op yourself:%0a%3c %0a%3c [@%0a%3c /msg *perform Add PRIVMSG ChanServ :op #chan %3cnickname>%0a%3c @]%0a%3c %0a%3c undernet:%0a%3c %0a%3c [@%0a%3c /msg *status loadmod perform%0a%3c /msg *perform Add PRIVMSG X@channels.undernet.org :LOGIN %3cusername> %3cpassword>%0a%3c /msg *perform Add mode %3cusername> +x%0a%3c @]%0a%3c %0a%3c quake:%0a%3c %0a%3c [@%0a%3c /msg *perform add PRIVMSG Q@CServe.quakenet.org :AUTH %3cusername> %3cpassword>%0a%3c @]%0a%3c %0a%3c efnet, ircnet:%0a%3c %0a%3c There are no services here. We'll try to hold your nick using the bouncer but there is no way to register.%0a%3c %0a%3c !!! How do I change my ident? My vhost?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not delete accounts or change vhosts without verifying the users own the email they registered with.%0a%3c %0a%3c There's currently no way to change the ident besides deleting the account and registering a new one.%0a%3c %0a%3c For the vhost, email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]]. The user must be logged in to the ZNC to prevent [[openbsd/phishing|phishing]]. If the user is not logged in, don't change the vhost.%0a%3c %0a%3c !!! How do I delete my account or reset the password?%0a%3c %0a%3c '''WARNING''': Make sure to read the [[openbsd/phishing|security guide on phishing]]. Do not reset users passwords unless you can confirm they own the email address they signed up with.%0a%3c %0a%3c Email the admins of your server at @@support@fruit.ircnow.org@@, replacing fruit with the actual fruit name. The email must come from the same email address they registered from. Or you can use IRC to message the [[ircnow/servers|admins on the server]].%0a%3c %0a%3c An admin can reset the password as follows:%0a%3c %0a%3c [@%0a%3c /msg *controlpanel set password %3cusername> %3cnewpass>%0a%3c @]%0a%3c %0a%3c Send them an email from your team support account to the email they registered with when they signed up. Don't share with them the password over IRC to prevent phishing.%0a%3c %0a%3c To delete an account, type:%0a%3c %0a%3c [@%0a%3c /msg *blockuser block %3cusername>%0a%3c @]%0a%3c %0a%3c Again, don't block an account unless you can verify that they own the email address which was first used to sign up with.%0a%3c %0a%3c !!! How can I log chats permanently?%0a%3c %0a%3c Don't. Your ZNC automatically saves messages for you to download when you connect. Simply turn on history logging for your IRC client. But there is currently no way for you to store messages forever. Don't use the log module. It would waste our disk space and there is no way for you to retrieve the logs anyway.%0a%3c %0a%3c !!! How do I use SASL?%0a%3c %0a%3c [@%0a%3c /msg *status loadmod sasl%0a%3c /msg *sasl Mechanism plain%0a%3c /msg *sasl set %3cusername> %3cpassword>%0a%3c @]%0a +host:1635865784=38.87.162.47 +author:1635865188=jrmu +diff:1635865188:1635865188:=1,61d0%0a%3c '''ZNC console'''%0a%3c %0a%3c Connect%0a%3c [=%0a%3c /quote PASS admin:mysuperadminpassqwerty%0a%3c =]%0a%3c %0a%3c Generate new pass for user%0a%3c [=%0a%3c Go to site: https://passwordsgenerator.net/%0a%3c and disable "Include Symbols"%0a%3c click "generate password"%0a%3c or you can create a password yourself (the password must be between 12 and 16 characters long and include numbers and letters)%0a%3c =]%0a%3c (:ifend:)%0a%3c %0a%3c User login%0a%3c [=%0a%3c username must be the same or derived from the network login (contain a suffix)%0a%3c =]%0a%3c %0a%3c Create new user%0a%3c [=%0a%3c /msg *controlpanel AddUser bob 12345678%0a%3c /msg *controlpanel LoadModule bob perform%0a%3c =]%0a%3c %0a%3c Add network for new ner%0a%3c [=%0a%3c /msg *controlpanel AddNetwork bob IRCNow%0a%3c /msg *controlpanel AddServer vasya IRCNow irc.ircnow.org +6697%0a%3c /msg *controlpanel SetNetwork BindHost bob IRCNow bob.fruit.ircnow.org%0a%3c /msg *controlpanel help%0a%3c =]%0a%3c %0a%3c Set channels%0a%3c [=%0a%3c /msg *controlpanel AddChan bob IRCNow #ircnow%0a%3c =]%0a%3c %0a%3c Set pass (this must be done with a user account or offer to run this command yourself) %0a%3c [=%0a%3c /msg *perform add PRIVMSG NickServ IDENTIFY bob 12345678%0a%3c /msg *perform help%0a%3c =]%0a%3c %0a%3c Reconnect user`s network%0a%3c [=%0a%3c /msg *controlpanel Reconnect bob IRCNow%0a%3c =]%0a%3c %0a%3c Saving settings to disk (please save your changes to disk immediately)%0a%3c [=%0a%3c /msg *status SaveConfig%0a%3c =]%0a%3c %0a%3c Deleting user and user entities%0a%3c [=%0a%3c /msg *controlpanel DelUser bob%0a%3c /msg *controlpanel DelNetwork bob IRCNow%0a%3c =]%0a +host:1635865188=38.87.162.47 blob - /dev/null blob + ab8771550b9860a198fb2d248702a04a788b35c3 (mode 644) --- /dev/null +++ wikilib.d/Category.GroupFooter @@ -0,0 +1,9 @@ +version=pmwiki-2.2.105 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add request=1 for the new search on pmwiki.org +name=Category.GroupFooter +rev=73 +targets= +text=(:Summary:content generated for Category list pages:)%0a----%0a[--'''{*$:Summary}'''--]%0a(:pagelist link={*$FullName} list=normal request=1:)%0a +time=1511113873 blob - /dev/null blob + d0856628430d270839913705dd9e0b7057bf26b9 (mode 644) --- /dev/null +++ wikilib.d/Main.HomePage @@ -0,0 +1,9 @@ +version=pmwiki-2.2.64 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=add summary +name=Main.HomePage +rev=203 +targets=PmWiki.DocumentationIndex,PmWiki.InitialSetupTasks,PmWiki.BasicEditing,Main.WikiSandbox +text=(:Summary:The default home page for the PmWiki distribution:)%0aWelcome to PmWiki!%0a%0aA local copy of PmWiki's%0adocumentation has been installed along with the software,%0aand is available via the [[PmWiki/documentation index]]. %0a%0aTo continue setting up PmWiki, see [[PmWiki/initial setup tasks]].%0a%0aThe [[PmWiki/basic editing]] page describes how to create pages%0ain PmWiki. You can practice editing in the [[wiki sandbox]].%0a%0aMore information about PmWiki is available from [[http://www.pmwiki.org]].%0a +time=1400472661 blob - /dev/null blob + 77a1b653ba2a9bd5fcc9e5e8b8c2861e5fd015b8 (mode 644) --- /dev/null +++ wikilib.d/Main.WikiSandbox @@ -0,0 +1,8 @@ +version=pmwiki-2.0.devel1 +newline= +version=pmwiki-2.0.devel1 +text=Feel free to use this page to experiment with the [[PmWiki/Text Formatting Rules]]. Just click the "Edit Page" link at the bottom of the page.---- +time=1093548433 +name=Main.WikiSandbox +agent=Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040707 Firefox/0.8 +rev=3 blob - /dev/null blob + 5f2c91afbce8228721d45133566c664435313e30 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.AccessKeys @@ -0,0 +1,10 @@ +version=pmwiki-2.2.85 ordered=1 urlencoded=1 +author=mfwolff +charset=UTF-8 +csum=link to skin 'lean' +ctime=1137027716 +name=PmWiki.AccessKeys +rev=110 +targets=PmWiki.Drafts,PmWiki.Internationalizations,PmWiki.SitePreferences,Site.Preferences,Skins.Lean,Site.PageActions +text=(:Summary:Access keys are keyboard shortcuts for tasks that would otherwise require a mouse:)%0a(:Audience: visitors (intermediate) :)%0a%0aAccess keys (See also [[Wikipedia:access key]]s) are keyboard shortcuts for tasks that would otherwise require a mouse click. %0aThey are part of markup that may exist on any webpage.%0aOn PmWiki steps have been taken to make it easier to use access keys throughout a site, and to make it possible to adjust key assignments to accommodate different languages and preferences.%0a%0a!! Using access keys in different operating systems and browsers%0aAccess keys require you to hold down two or more keys.%0a* On Windows with Internet Explorer, press ALT + the access key.%0a* With Firefox, press SHIFT + ALT + the access key.%0a* On a Macintosh with Firefox, Omniweb, Internet Explorer, press Ctrl + the access key.%0a** With Safari (Version 4.0.2) press Ctrl + Option + the access key.%0a* With [[http://opera.com/browser/tutorials/nomouse/index.dml#access | Opera]] press Shift+Esc to enter (or exit) access-key mode.%0a* With Konqueror, press Ctrl to enter (or exit) access-key mode.%0a* With Chrome, press SHIFT + ALT + the access key%0a%0aExceptions exist for specific browsers, and specific versions. For example, %0a* Internet Explorer requires that the Enter key be pressed at the end of the sequence for versions 5 and up under Windows, but not under Macintosh (where access keys were not supported until after version 4.5). %0a* Firefox versions 1.5 and earlier simply use Alt, while Firefox version 2.0 uses Shift+Alt. %0a%0aNote, in cases of conflicts between the keyboard shortcuts assigned by browsers and access keys assigned by links and other markup on webpages, many browsers, including Mozilla, Netscape and Internet Explorer, allow access keys to override the browser defaults and require a different sequence to continue using overridden browser assignments (typically, by pressing and releasing the Alt key, instead of holding it down). %0a%0a!! Access key assignments in this PmWiki installation%0aThe following is a list of the currently defined access keys for built-in actions. Remember that the letters identified below must be used together with the combination listed above (depending on your operating system and browser). Note that some actions do not have a corresponding access key by default.%0a%0a|| border=1%0a||!Key Name ||!Key Value ||!Function ||%0a||ak_view || $[ak_view] ||view ||%0a||ak_edit || $[ak_edit] ||edit ||%0a||ak_history || $[ak_history] ||history ||%0a||ak_attach || $[ak_attach] ||attach ||%0a||ak_print || $[ak_print] ||print ||%0a||ak_backlinks || $[ak_backlinks] ||backlinks ||%0a||ak_logout || $[ak_logout] ||logout ||%0a||ak_recentchanges || $[ak_recentchanges] ||recent changes ||%0a||ak_save || $[ak_save] ||save or publish page ||%0a||ak_saveedit || $[ak_saveedit] ||save and keep editing ||%0a||ak_savedraft || $[ak_savedraft] ||save draft ||%0a||ak_preview || $[ak_preview] ||preview page ||%0a||ak_textedit || $[ak_textedit] ||jump to edit textarea || %0a||ak_em || $[ak_em] ||''emphasize'' text ||%0a||ak_strong || $[ak_strong] ||'''strong''' text ||%0aNote: If the 'Key Value' is the same as the 'Key Name', the access key is currently undefined.%0a%0a!! When can these access keys be used%0a* Access keys ak_view, ak_edit, ak_history, ak_attach, ak_print, ak_backlinks, ak_logout and ak_recentchanges can be used all the time%0a* Access keys ak_save, ak_saveedit, ak_savedraft, ak_preview, ak_textedit can only be used in edit mode%0a%0aFollowing table explains which button is activated by which access key. Note that the Cancel button has no access key.%0a|| border=1%0a||!Standard Edit mode ||![[Draft(s)]] Edit mode ||!Used Access Key ||%0a||Save ||Publish ||ak_save ||%0a|| ||Save draft ||ak_savedraft ||%0a||Save and edit ||Save draft and edit ||ak_saveedit ||%0a||Preview ||Preview ||ak_preview ||%0a%0a* Access keys ak_em and ak_strong work only in edit mode '''and''' when the GUIbuttons are enabled in local/config.php.%0a%0a%25audience%25 admins (intermediate)%0a!! [[#customkeys]] Customizing access keys%0aPmWiki uses the same "phrase translation" methods for access key mappings as it does for [[internationalization(s)]]. This makes it possible for administrators, skins, language translators, and visitors to all influence the way that specific keys are mapped to actions.%0a%0aSee [[SitePreferences]] and [[Site.Preferences]] for more information and a template.%0a%0aNote that some skins (e.g., [[Skins:Lean | Lean]]) don't use the translation mechanism. In this case one must edit the template file itself in order to change the access keys.%0a%0aBy convention, the translation phrases for all of the access key actions start with the characters "ak_", so that the page variable "[@$[ak_edit]@]" is replaced by the access key for editing as defined by the current preferences, language, skin default, or site default.%0a%0a!! Implementation of access keys%0aAccess keys are implemented in html as optional parameters that can be added to links and many other types of markup.%0a%0a'''Example:''' [@%3ca href="http://example.com" accesskey="x">Example%3c/a>@] would create a link to example.com that could be triggered by clicking on the linked word "example" or using the access key Akey+x. That same action key link could be created in PmWiki markup by typing [@%25accesskey="x"%25[[http://example.com|Example]]%25%25@], like this: %25accesskey="x"%25[[http://example.com|Example]]%25%25. Try it and see if it works. Note that this AKey+x access key only works this way on this page, because it is simply a shortcut for accessing the link that exists only on this page.%0a%0aThe list of access key assignments in default PmWiki installations generally work throughout a site because links have been created in PmWiki skins and editing screens that incorporate access key parameters using the access key translation phrases. One location where those links can be viewed is [[Site.PageActions]]. That page contains the links that the default PmWiki skin, and many other skins, use to generate links such as "View" "Edit" and "History" that appear on most pages (other than editing screens). Each of the links in that page also has an [@%25accesskey=$[ak_xxx]%25@] declaration in front of it, which enables a specific access key for that link.%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How can I change the keyboard shortcuts for editing and saving a page?%0aA: See [[#customkeys | Customizing access keys]].%0a%0a +time=1459417112 blob - /dev/null blob + f55bba036b9e9bcf6c6a684322b1e3b98773560f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Audiences @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Simon +charset=UTF-8 +csum=layout +name=PmWiki.Audiences +rev=28 +targets=PmWiki.WikiAdministrator,PmWiki.InitialSetupTasks,PmWiki.PmWikiPhilosophy,PmWiki.LocalCustomizations +text=(:Summary:Patrick Michaud's comments regarding the "audiences" for which PmWiki was designed:)%0aThis page contains Patrick Michaud's comments regarding the "audiences" for which PmWiki was designed. As such, many people are reluctant to modify the page, because it is a statement of his opinions and describes some of the thought that went into creating PmWiki. (And we all thank him for that!) %0a%0a%0a!!Patrick's comments%0aI think of PmWiki in terms of two audiences: %0a* ''Authors'' are the people who generate web content using PmWiki, and %0a* ''[[wiki administrator]]s'' are the folks who install, configure, and maintain a PmWiki installation on a web server. %0aIn some senses it could be claimed that as the primary developer of PmWiki I should only have wiki administrators as my target audience, and that authors are the target audience for the administrators. But what really makes PmWiki useful to wiki administrators is that I've put a lot of consideration into creating a tool that is usable by authors, so I have to keep the needs of both audiences in mind as I'm designing and adding new features to PmWiki. %0a%0aWithin the authoring audience I see that there are "naive authors" and "experienced authors". %0a%0a"Naive authors" are the folks who use wiki to generate content but may know next-to-nothing about HTML, much less style sheets or PHP or the like. Naive authors are easily discouraged from generating web content if they have to wade through markup text that has lots of funny and cryptic symbols in them. So, if we want a site with lots of contributors, we have to be very careful not to do things that will cause this group to exclude themselves from participating.%0a%0a"Experienced authors" are the folks who know a lot about HTML and could write their content as HTML, but have chosen to use wiki because of its other useful features (ease of linking, collaboration, ease of updates, revision histories, etc.) or because they want to collaborate with naive authors. Experienced authors usually don't have any problem with documents with lots of ugly markup in them; after all, they already know HTML. Experienced authors are sometimes frustrated with wiki because it doesn't have markup that would let them do something they know they can do in HTML (e.g., tables, stylesheets, colored text, etc.). And, they sometimes have difficulty understanding why naive authors would turn away from documents that have lots of markup sequences in them. %0a%0aFor the wiki administrator audience--the folks who install and may want to [[PmWiki/InitialSetupTasks|customize]] PmWiki--their backgrounds and goals are often quite diverse. PmWiki is designed so that it can be installed and be useful with minimal HTML/PHP knowledge, but it doesn't restrict people who know HTML/PHP from doing some fairly complex things. For one, PmWiki allows a site administrator to build-in markup sequences and features customized to his/her needs (and the needs of his/her audiences). %0a%0aThe separate needs of these audiences are behind most of the [[PmWikiPhilosoph(y)]]ies. The people who develop PmWiki software must continually keep naive authors in mind as new features are requested and proposed by expert authors and Wiki Administrators. Sometimes it may seem to these latter groups that it's okay to implement the complex features because "naive authors don't have to use them", but the truth is that if complex/ugly markup sequences are available then they will eventually be used by someone, and once used they become a barrier to the naive authors. So, if I see that a feature could become a barrier to a naive author I don't include it in the base implementation of PmWiki, but instead find ways to let Wiki Administrators include it as a [[local customization(s)]]. %0a +time=1315670897 blob - /dev/null blob + 1e0825b86db6fafd3d284f9540c51fe6d1628bfa (mode 644) --- /dev/null +++ wikilib.d/PmWiki.AuthUser @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add !! FAQ heading when there are questions and answers +name=PmWiki.AuthUser +rev=215 +targets=PmWiki.Passwords,PmWiki.ThoughtsOnAccessControl,Cookbook.QuickStartForAuthUser,PmWiki.PathVariables,PmWiki.PasswordsAdmin,SiteAdmin.AuthUser,PmWiki.SecurityVariables,PmWiki.AuthUser,PmWiki.BasicVariables,Cookbook.AuthUserViaMicrosoftLDAP,Cookbook.SessionSecurityAdvice,Cookbook.AuthUser,Cookbook.UserLastAction,PITS.00400,Cookbook.HtpasswdForm,Cookbook.UserAdmin +text=(:Summary:Authorization system that uses usernames and passwords:)%0a(:Audience: administrators (intermediate) :)%0aAuthUser is PmWiki's identity-based authorization system that allows access to pages to be controlled through the use of usernames and passwords. AuthUser can be used in addition to the [[Passwords | password-based]] scheme that is PmWiki's default configuration.%0a%0aAuthUser is a very flexible system for managing access control on pages, but flexibility can also bring complexity and increased maintenance overhead to the wiki administrator. This is why PmWiki defaults to the simpler password-based system. For some thoughts about the relative merits of the two approaches, see [[PmWiki:ThoughtsOnAccessControl]].%0a%0aSee also: [[Cookbook:Quick Start for AuthUser]].%0a%0a!! Activating AuthUser%0aTo activate PmWiki's identity-based system, add the following line%0ato ''local/config.php'':%0a%0a include_once("$FarmD/scripts/authuser.php");%0a%0aEnsure that you have [[PasswordsAdmin | set a site wide admin password]], otherwise you will not be able to edit [[SiteAdmin.AuthUser]].%0a%0a->%25note%25 Note: Older versions of PmWiki (before 2.2.0-beta58) use ''Site.AuthUser''.%0a%0aPmWiki caches some group and page authorization levels when a page is accessed. For this reason, it is better to include @@authuser.php@@ quite early in config.php, notably%0a* after any recipe which inserts some custom writable PageStore class (MySQL, SQLite, Compressed PageStore or other)%0a* and after any internationalization (UTF-8 and XLPage).%0a%0a(If you don't use a custom PageStore class and i18n, include @@authuser.php@@ first thing in @@config.php@@.)%0a%0aAll other recipes should be included after these.%0a%0a!! Creating user accounts%0aMost of AuthUser's configuration is performed via the [[SiteAdmin.AuthUser]] page. To change the AuthUser configuration, simply edit this page like any other wiki page (you'll typically need to use the site's admin password for this).%0a%0aTo create a login account, simply add lines to SiteAdmin.AuthUser that look like:%0a%0a username: [=(:=]encrypt ''password'':)%0a%0aFor example, to create a login account for "alice" with a password of "restaurant", enter:%0a%0a alice: [=(:=]encrypt restaurant:)%0a%0aWhen the page is saved, the "@@[=(:=]encrypt restaurant:)@@" part of the text will be replaced by an encrypted form of the password "restaurant". This encryption is done so that someone looking at the SiteAdmin.AuthUser page cannot easily determine the passwords stored in the page. %0a%0aTo change or reset an account's password, simply replace the encrypted string with another @@[=(:=]encrypt:)@@ directive.%0a%0a%25note%25 The password cannot contain spaces, tabs, new lines, columns ":" and equals "="; on some systems it should contain at least 4 characters. Usernames and passwords are case sensitive, eg. "User" is not the same as "user".%0a%0a!! Controlling access to pages by login%0a%0aPages and groups can be protected based on login account by using "passwords" of the form [@id:username@] in the password fields of [@?action=attr@] (see [[PmWiki.Passwords]]). For example, to restrict a page to being edited by Alice, one would set the password to "[@id:alice@]".%0a%0aIt's possible to use multiple "id:" declarations and passwords in the [@?action=attr@] form, thus the following setting would allow access to Alice, Carol, and anyone who knows the password "quick":%0a%0a quick id:alice,carol%0a%0aTo allow access to anyone who has successfully logged in, use "[@id:*@]".%0a%0aOne can also perform site-wide restrictions based on identity in the $DefaultPasswords array (in local/config.php): e.g.%0a%0a # require valid login before viewing pages%0a $DefaultPasswords['read'] = 'id:*';%0a # Alice and carol may edit%0a $DefaultPasswords['edit'] = 'id:alice,carol';%0a # All admins and Fred may edit%0a $DefaultPasswords['edit'] = array('@admins', 'id:Fred');%0a%0aYou can change the $DefaultPasswords array in local customization files such as:%0a* local/config.php (for entire wiki)%0a* farmconfig.php (for entire wikifarm)%0a%0a!! [[#auth_groups]] Organizing accounts into groups%0a%0aAuthUser also makes it possible to group login accounts together into authorization groups, indicated by a leading "@" sign. As with login accounts, group memberships are maintained by editing the SiteAdmin.AuthUser page. Group memberships can be specified by either listing the groups for a login account (person belongs to groups) or the login accounts for a group (group includes people). You can repeat or mix-and-match the two kinds as desired:%0a%0a @writers: alice, bob%0a carol: @writers, @editors%0a @admins: alice, dave%0a %0aThen, to restrict page access to a particular group, simply use "[@@group@]" as the "password" in [@?action=attr@] or the $DefaultPasswords array, similar to the way that "[@id:username@]" is used to restrict access to specific login accounts.%0a%0a!!! Excluding individuals from password groups%0a%0aGroup password memberships are maintained by editing the SiteAdmin.AuthUser page. To specify a password group that allows access to anyone who is authenticated, you can specify:%0a%0a @wholeoffice: *%0a%0aIf you need to keep "Fred" out of this password group :%0a%0a @wholeoffice: *,-Fred%0a%0aTo allow all users except Fred to change page attributes, for example, you can add to config.php :%0a $DefaultPasswords['attr'] = array('id:*,-Fred');%0a%0a(:if authid:)%0a>>clip%3c%3c%0a!!!!!Wiki Debug%0a* %25newwin%25 [[Diagnostics -> {$Name}?action=diag]]%0a* %25newwin%25 [[PHPInfo -> {$Name}?action=phpinfo]]%0a>>%3c%3c%0a(:ifend:)%0a%0a!! Getting account names and passwords from external sources%0a%0aThe AuthUser script has the capability of obtaining username/password pairs from places other than the SiteAdmin.AuthUser page, such as passwd-formatted files (usually called '.htpasswd' on Apache servers), [[#LDAP|LDAP]] servers, or even the ''local/config.php'' file.%0a%0a!!! Passwd-formatted files (.htpasswd/.htgroup)%0a%0aPasswd-formatted files, commonly called ''.htpasswd'' files in Apache, are text files where each line contains a username and an encrypted password separated by a colon. A typical ''.htpasswd'' file might look like:%0a%0a alice:vK99sgDV1an6I%0a carol:Q1kSeNcTfwqjs%0a%0aTo get AuthUser to obtain usernames and passwords from a ''.htaccess'' file, add the following line to SiteAdmin.AuthUser, replacing "/path/to/.htpasswd" with the filesystem path of the ''.htpasswd'' file:%0a%0a htpasswd: /path/to/.htpasswd%0a%0aCreation and maintenance of the ''.htpasswd'' file can be performed using a text editor, or any number of other third-party tools available for maintaining ''.htpasswd'' files. The Apache web server typically includes an ''htpasswd'' command for creating accounts in .htpasswd:%0a%0a $ htpasswd /path/to/.htpasswd alice%0a New password:%0a Re-type new password:%0a Adding password for user alice%0a $%0a%0aSimilarly, one can use ''.htgroup'' formatted files to specify group memberships. Each line has the name of a group (without the "@"), followed by a colon, followed by a space separated list of usernames in the group.%0a%0a writers: carol%0a editors: alice carol bob%0a admins: alice dave%0a%0aNote that the groups are still "@writers", "@editors", and "@admins" in PmWiki even though the file doesn't specify the @ signs. To get AuthUser to load these groups, use a line in SiteAdmin.AuthUser like:%0a%0a htgroup: /path/to/.htgroup%0a%0a!!! Configuration via ''local/config.php''%0a%0aAuthUser configuration settings can also be made from the ''local/config.php'' file in addition to the SiteAdmin.AuthUser page. Such settings are placed in the $AuthUser array, and ''must be set prior to including the ''authuser.php'' script''. Some examples:%0a%0a # set a password for alice%0a $AuthUser['alice'] = pmcrypt('restaurant');%0a # set a password for carol%0a $AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';%0a # define the @editors group%0a $AuthUser['@editors'] = array('alice', 'carol', 'bob');%0a # Use local/.htpasswd for usernames/passwords%0a $AuthUser['htpasswd'] = 'local/.htpasswd';%0a # Use local/.htgroup for group memberships%0a $AuthUser['htgroup'] = 'local/.htgroup';%0a%0a[[#LDAP]]%0a!!! Configuration via LDAP%0a%0aAuthentication can be performed via an external LDAP server -- simply set an entry for "ldap" in either SiteAdmin.AuthUser or the ''local/config.php'' file.%0a%0a # use ldap.airius.com for authentication%0a $AuthUser['ldap'] = 'ldap://ldap.airius.com/ou=People,o=Airius?cn?sub';%0a%0aMake sure to include AuthUser below the entry for the ldap server:%0a%0a # Want to use AuthUser so we can use ldap for passwords%0a include_once("$FarmD/scripts/authuser.php");%0a%0aAnd remember to assign the Security Variables for edit and history (or whatever):%0a%0a #Security Variables set login for edit & history page%0a # to let anyone edit that has an ldap entry:%0a $HandleAuth['diff'] = 'edit';%0a $DefaultPasswords['edit'] = 'id:*';%0a $Author = $AuthId;%0a%0aLDAP authentication in AuthUser closely follows the model used by Apache 2.0's [[http://httpd.apache.org/docs/2.0/mod/mod_auth_ldap.html|mod_auth_ldap]] module; see especially the documentation for [[http://httpd.apache.org/docs/2.0/mod/mod_auth_ldap.html#authldapurl|AuthLDAPUrl]] for a description of the url format.%0a%0aFor servers that don't allow anonymous binds, AuthUser provides $AuthLDAPBindDN and $AuthLDAPBindPassword variables to specify the binding to be used for searching.%0a%0aSee also [[Cookbook:AuthUser via Microsoft LDAP]]%0a%0a!! Setting the Author Name%0aBy default, PmWiki will use a login name in the Author field of the edit form, but allows the author to change this value prior to saving. To force the login name to always be used as the author name, use the following sequence in config.php to activate AuthUser:%0a%0a include_once("$FarmD/scripts/authuser.php");%0a $Author = $AuthId; # after include_once()%0a%0aTo allow more flexibility, but still enable changes to be linked to the authorized user, one can give the author name a prefix of the $AuthId instead:%0a[@%0a include_once("$FarmD/scripts/author.php");%0a include_once("$FarmD/scripts/authuser.php");%0a if ($Author) {%0a if (strstr($Author, '-') != false) {%0a $Author = "$AuthId-" . preg_replace('/^[^-]*-/', '', $Author);%0a } else if ($Author != $AuthId) {%0a $Author = $AuthId . '-' . $Author;%0a } else {%0a $Author = $AuthId;%0a }%0a } else {%0a $Author = $AuthId;%0a }%0a $AuthorLink = "[[~$Author]]";%0a@]%0aThe above will allow the user to put in the author name of their choice, but that will always be replaced by that name prefixed with "$AuthId-".%0aThe reason why $AuthorLink needs to be set is that, if it isn't, the RecentChanges page will have the wrong link in it.%0a%0a!!! Removing the "Author" edit field%0aTo force users to edit with their AuthID instead of having a field they can place any name in. This enables administration to keep track of who is doing what better. This line also links the Author name to their Profile.\\%0aGo to Site.EditForm, remove the line\\%0a[@$[Author]: (:input e_author:)@]\\%0aor replace it with\\%0a[@$[Author]: [[Profiles/{$Author}]]@]\\%0a%0a!! Authorization, Sessions, and WikiFarms [[#sessions]]%0a%0aPmWiki uses PHP sessions to keep track of any user authorization information. By default PHP is configured so that all interactions with the same server (as identified by the server's domain name) are treated as part of the same session.%0a%0aWhat this means for PmWiki is that if there are multiple wikis running within the same domain name, PHP will treat a login to one wiki as being valid for all wikis in the same domain. The easiest fix is to tell each wiki to have use a different "session cookie". Near the top of a wiki's ''local/config.php'' file, before calling authuser or other recipes, add a line like:%0a%0a-->[@session_name('XYZSESSID');@]%0a%0aThe XYZSESSID can be any unique name (letters only is safest). For the exact naming rules please lookup the [[description in the PHP manual -> http://php.net/session_name]] for the PHP version you use on your server.%0a%0a%25red%25'''Security Reminder:'''%25%25 Using different session names in cookies and/or URLs helps against inter-wiki confusion in a browser, but this is not a protection against session injection attacks on the server. See [[Cookbook:Session Security Advice]] for that.%0a%0a%0a!! See Also%0a%0a* [[PmWiki.Passwords]]%0a* [[PmWiki.PasswordsAdmin]]%0a* [[Cookbook:AuthUser]] for tips and tricks%0a* [[SiteAdmin.AuthUser]]%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: Can I specify authorization group memberships from with ''local/config.php''?%0a%0aA: Yes -- put the group definition into the $AuthUser array (in config.php):%0a%0a $AuthUser['@editors'] = array('alice', 'carol', 'bob');%0a%0aQ: Can I have multiple admin groups?%0a%0aA: Yes, define the groups with @@ array('@admins', '@moderators'); @@ like this:%0a%0a $DefaultPasswords['admin'] = array( pmcrypt('masterpass'), # global password%0a '@admins', '@moderators', # +users in these groups%0a 'id:Fred', 'id:Barney'); # +users Fred and Barney%0a%0aQ: I'm running multiple wikis under the same domain name, and logins from one wiki are appearing on other wikis. Shouldn't they be independent?%0a%0aA: This is caused by the way that PHP treats sessions. See [[PmWiki.AuthUser#sessions]] for more details.%0a%0aQ: Is there any way to record the time of the last login for each user when using AuthUser? I need a way to look for stale accounts.%0a%0aA: See [[Cookbook:UserLastAction]].%0a%0aQ: Though every setting seems correct, authentication against LDAP is not working. There is nothing in ldap log, what's wrong?%0a%0aA: Be sure ldap php module is installed ( on debian apt-get install php(4|5)-ldap ; apache(2)ctl graceful )%0a%0aQ: The login form asks for username and password, but only password matters. %0a-> Username can be left blank and it still signs in under the account. Is this intentional and if so, can I change it so that the username and password must both be entered? - X 1/18/07 Never mind I think this has something to do with using the admin password. I created a test account and it's working ok.%0a%0aA: Make sure you are not entering the admin password when testing the account because, if the password is equal to the admin password, it will authenticate directly through the config.php file and skip any other system.%0a%0aA: Do note that even with AuthUser activated you can still log in with a blank username and only entering the password. In that case any password you enter will be "accepted" but only passwords which authenticate in the given context will actually give you any authorization rights. Using this capability AuthUser comfortably coexists with the default password-based system.%0a%0aIf you want to require both username and password, then you need to set an admin id '''before''' including authuser.php:%0a%0a[@%0a## Define usernames and passwords.%0a$AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';%0a%0a## Enable authentication based on username.%0ainclude_once('scripts/authuser.php');%0a%0a# $DefaultPasswords['admin'] = pmcrypt('secret');%0a$DefaultPasswords['admin'] = 'id:carol';%0a@]%0a%0aA username and password will then be required before login is successful.%0a%0aQ: Is there any way to hide IP addresses once someone has logged in so that registered users can keep their IP addresses invisible to everyone except administrators? - X 1/18/07%0a%0aA: Yes, see solution provided at PITS:00400.%0a%0aQ: Is there a way that people could self-register through AuthUser? %0a%0aA: You can see [[(Cookbook:)HtpasswdForm]] or [[(Cookbook:)UserAdmin]] for recipes providing this feature. %0a%0aQ: I would like it that after I have AuthUser turned and a user is authenticated to get on my site, that if I have a password put on a particular page or group that they don't get the AuthUser form to show up (username and password), but only the typical field for password?%0a%0aA: See [[this thread of the mailing list -> http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/52420]]. %0a +time=1567168090 blob - /dev/null blob + 62030f6ce7b1f1ddd2b196d4dd0500c1b04522bd (mode 644) --- /dev/null +++ wikilib.d/PmWiki.AvailableActions @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=ppdonate (+89) +name=PmWiki.AvailableActions +rev=143 +targets=PmWiki.Security,PmWiki.Passwords,PmWiki.ChangeLog,PmWiki.SitePageActions,PmWiki.SecurityVariables,PmWiki.PageHistory,PmWiki.UploadVariables,PmWiki.BasicEditing,Site.AuthForm,PmWiki.LayoutVariables,PmWiki.RefCount,PmWiki.Search,PmWiki.WebFeeds,PmWiki.Uploads,PmWiki.SitePreferences,PmWiki.DebugVariables,PmWiki.CustomMarkup,Cookbook.MarkupRulesetDebugging,PmWiki.SiteAnalyzer,PmWiki.AnalyzeResults,PmWiki.UrlApprovals,PmWiki.CustomActions,Cookbook.UserAuth2,Cookbook.Attachman,Cookbook.BackupPages,Cookbook.SearchCloud,Cookbook.CodeMirror,Cookbook.CommentBox,Cookbook.Comments,Cookbook.CommentDb,Cookbook.ROEPatterns,Cookbook.ConvertTable,Cookbook.MovePage,Cookbook.CSVAction,Cookbook.Attachtable,Cookbook.DeleteAction,Cookbook.DiscussionTab,Cookbook.DownloadManager,Cookbook.ExpireDiff,Cookbook.ImportText,Cookbook.MultiLanguageViews,Cookbook.RenamePage,Cookbook.ListCategories,Cookbook.CommentBoxPlus,Cookbook.GeneratePDF,Cookbook.PmWiki2PDF,Cookbook.UploadForm,Cookbook.PPDonate,Cookbook.PublishPDF,Cookbook.ASCIIMath,Cookbook.ThumbList,Cookbook.Mini,Cookbook.RecipeCheck,Cookbook.PageRegenerate,Cookbook.Reindex,Cookbook.SharedPages,PmWiki.WikiFarms,Cookbook.Sitemapper,Cookbook.TotalCounter,Cookbook.Trash,Cookbook.WebAdmin,Cookbook.ZAP,Cookbook.ChoiceColorChanger +text=(:Summary: All PmWiki page actions (?action=) and other query parameters:)%0aPage actions are applied to wiki pages, as a [[Wikipedia:Query_string|query string]] appended to the [[Wikipedia:Uniform_Resource_Locator|URL]].%0a[[Security]] can be applied to all [[#defaultactions|default actions]], and [[#scriptactions|script actions]] with one exception, but not [[#enablediag|diag actions]], through the use of [[passwords]].%0a%0aAlso documented are all other URL queries.%0a%0a'''NOTE:''' All actions will be disabled if the following is set:%0a%0a[@%0a $EnableActions = 0;%0a include('pmwiki.php');%0a@]%0a%0aThis will initialize PmWiki (along with any configuration/customizations%0athat are being made, e.g. from local/config.php), but won't actually%0aperform any actions. The caller can then call the desired action%0aor other functions as desired. This is available from [[PmWiki/ChangeLog#v22022|Version 2.2.0-beta22]] on up.%0a%0a%0a[[#defaultactions]]%0a!! PmWiki Actions%0aSee also [[site page actions]].%0a%0a[[#attr]]%0a:?action='''attr''': displays dialog for setting/changing password of the specified page or group of pages, see [[PmWiki/passwords]], see also $EnablePostAttrClearSession if you do not want to have the session cleared after validating change [- {PmWiki/Passwords$:Summary} -]%0a%0a[[#browse]]%0a:?action='''browse''': display the specified page (default action if no [@?action=@] is present)%0a%0a[[#crypt]]%0a:?action='''crypt''': displays a form for generating hashed [[Passwords | passwords]] out of clear text for usage in your config.php%0a%0a[[#diff]]%0a:?action='''diff''': show a change history of the specified page, see [[PmWiki/page history]] [- {PmWiki/PageHistory$:Summary} -]%0a%0a[[#download]]%0a:?action='''download'''&upname=''file.ext'': retrieve the page's attachment named ''file.ext'', see $EnableDirectDownload%0a%0a[[#edit]]%0a:?action='''edit''': edit the specified page, see [[PmWiki/basic editing]] [- {PmWiki/BasicEditing$:Summary} -]%0a%0a[[#login]]%0a:?action='''login''': prompt visitor for username/password, by default using [[Site.AuthForm]]%0a%0a[[#logout]]%0a:?action='''logout''': remove author, password, and login information%0a%0a[[#print]]%0a:?action='''print''': display the specified page using the skin specified by $ActionSkin['print']%0a%0a[[#refcount]]%0a:?action='''refcount''': bring up the reference count form, which allows the user to generate a list of links (all, missing, existing or orphaned) in or from specified groups. See [[Ref Count]] [- {PmWiki/RefCount$:Summary} -]. Part of the core distribution but must be enabled by the administrator.%0a%0a[[#search]]%0a:?action='''search''': displays searchbox on current page, see [[PmWiki/search]] [- {PmWiki/Search$:Summary} -]%0a:?action='''search'''&q=''searchterm'': performs search with ''searchterm'' and displays results on current page%0a:?action='''search'''&q=link=''pagename'': performs backlinks search with ''pagename'' and displays results on current page%0a%0a[[#source]]%0a:?action='''source''': show page source%0a%0a[[#feed]]%0a:?action='''atom''':%0a:?action='''rdf''':%0a:?action='''rss''':%0a:?action='''dc''': If [[web feeds]] are enabled, returns a syndication feed based on the contents of the page or other options provided by the url, see [[PmWiki/web feeds]] [- {PmWiki/WebFeeds$:Summary} -]%0a%0a[[#upload]]%0a:?action='''upload''': display a form to upload an attachment for the current group, see [[PmWiki/uploads]] [- {Cookbook/Uploads$:Summary} -]%0a[[#defaultactionsend]]%0a----%0a[[#querystrings]]%0a!! Query string parameters%0a%0a[[#from]]%0a:?'''from'''=''page name'': use when a page is redirected%0a%0a[[#n]]%0a:?'''n'''=''page name'': display page%0a%0a[[#setprefs]]%0a:?'''setprefs'''=''SomeGroup.CustomPreferences'': sets cookie to custom preferences page. See [[PmWiki/site preferences]] [- {PmWiki/SitePreferences$:Summary} -]%0a----%0a[[#enablediag]]%0a!! Actions enabled by $EnableDiag%0a[[#BEGENABLEDIAG]]%0aThe following actions are available only if you set @@$EnableDiag = 1;@@ in your configuration file. They can be used for debugging and should not be set in a production environment.%0a%0a:?action='''ruleset''': displays a list of all markups in 4 columns:%0a** column 1 = markup-name (1. parameter of markup() )%0a** column 2 = when will rule apply (2. parameter of markup() )%0a** column 3 = PmWiki's internal sort key (derived from #2)%0a** column 4 = Debug backtrace information for potentially incompatible rules (filename, line number, pattern)%0a->(see [[Custom Markup]] [- {PmWiki/CustomMarkup$:Summary} -]).%0a->To see more than what [@?action=ruleset@] gives you, apply the [[Cookbook:MarkupRulesetDebugging]] recipe: it can also show the pattern and the replacement strings.%0a** doesn't make use of PmWiki's authorization mechanisms.%0a%0a[[#phpinfo]]%0a:?action='''phpinfo''': displays the output of phpinfo() and exits. No page will be processed%0a** doesn't make use of PmWiki's authorization mechanisms.%0a%0a[[#diag]]%0a:?action='''diag''': displays a dump of all global vars and exits. No page will be processed%0a** doesn't make use of PmWiki's authorization mechanisms.%0a%0a[[#ENDENABLEDIAG]]%0a----%0a[[#scriptactions]]%0a!! Actions enabled by PmWiki Scripts%0a%0a[[#analyse]]%0a:?action='''analyze''': see [[(PmWiki:)Site Analyzer]] and [[(PmWiki:)Analyze Results]]%0a%0a[[#approvesites]]%0a:?action='''approvesites''': see [[PmWiki/Url approvals]] [- {PmWiki/UrlApprovals$:Summary} -]%0a** doesn't make use of PmWiki's authorization mechanisms.%0a%0a[[#analyseend]]%0a----%0a[[#cookbook]]%0a!! Actions enabled by [[Cookbook(:.)]] recipes%0a(more information about [[(PmWiki:)Custom Actions]])%0a%0a:?action='''admin''': see [[Cookbook:UserAuth2]] [- {Cookbook/UserAuth2$:Summary} -]%0a%0a:?action='''attachman''': see [[Cookbook:Attachman]] [- {Cookbook/Attachman$:Summary} -]%0a%0a:?action='''backup''': see [[Cookbook:BackupPages]] [- {Cookbook/BackupPages$:Summary} -]%0a%0a:?action='''clearsky''': see [[Cookbook:SearchCloud]] [- {Cookbook/SearchCloud$:Summary} -]%0a%0a:?action='''cm-dependencies''': see [[Cookbook:CodeMirror]] [- {Cookbook/CodeMirror$:Summary} -]%0a%0a:?action='''comment''': see [[Cookbook:CommentBox]] [- {Cookbook/CommentBox$:Summary} -]%0a%0a:?action='''comments''': see [[Cookbook:Comments]] [- {Cookbook/Comments$:Summary} -]%0a%0a:?action='''comment-rss''': see [[Cookbook:CommentDb]] [- {Cookbook/CommentDb$:Summary} -]%0a%0a:?action='''convert''': see [[Cookbook:ROEPatterns]] [- {Cookbook/ROEPatterns$:Summary} -]%0a%0a:?action='''converttable''': [[Cookbook:ConvertTable]] [- {Cookbook/ConvertTable$:Summary} -]%0a%0a:?action='''copy''': see [[Cookbook:MovePage]] [- {Cookbook/MovePage$:Summary} -]%0a%0a:?action='''csv''': see [[Cookbook/CSVAction]] [- {Cookbook/CSVAction$:Summary} -]%0a%0a:?action='''downloaddeleted''':%0a:?action='''delattach''':%0a:?action='''deldelattach''':%0a:?action='''fileinfo''':%0a:?action='''thumbnail''':%0a:?action='''undelattach''': [[Cookbook:Attachtable]] [- {Cookbook/Attachtable$:Summary} -]%0a%0a:?action='''delete''': see [[Cookbook:DeleteAction]] [- {Cookbook/DeleteAction$:Summary} -]%0a%0a:?action='''discuss''': see [[Cookbook:DiscussionTab]] [- {Cookbook/DiscussionTab$:Summary} -]%0a%0a:?action='''downloadman''': see [[Cookbook:DownloadManager]] [- {Cookbook/DownloadManager$:Summary} -]%0a%0a:?action='''expirediff''': see [[Cookbook:ExpireDiff]] [- {Cookbook/ExpireDiff$:Summary} -]%0a%0a:?action='''import''': see [[Cookbook:ImportText]] [- {Cookbook/ImportText$:Summary} -]%0a%0a:?action='''lang''': see [[Cookbook:MultiLanguageViews]] [- {Cookbook/MultiLanguageViews$:Summary} -]%0a:?action='''setlang''': see [[Cookbook:MultiLanguageViews]] [- {Cookbook/MultiLanguageViews$:Summary} -]%0a%0a:?action='''links''': see [[Cookbook:RenamePage]] [- {Cookbook/RenamePage$:Summary} -]%0a%0a:?action='''move''': see [[Cookbook:MovePage]] [- {Cookbook/MovePage$:Summary} -]%0a%0a:?action='''pageindex''': see [[Cookbook:ListCategories]] [- {Cookbook/ListCategories$:Summary} -]%0a%0a:?action='''PageUrl''': see [[Cookbook:CommentBoxPlus]] [- {Cookbook/CommentBoxPlus$:Summary} -]%0a%0a:?action='''pdf''': see [[Cookbook:GeneratePDF]] [- {Cookbook/GeneratePDF$:Summary} -] or [[Cookbook:PmWiki2PDF]] [- {Cookbook/PmWiki2PDF$:Summary} -]%0a%0a:?action='''postupload2''': see [[Cookbook:UploadForm]] [- {Cookbook/UploadForm$:Summary} -]%0a%0a:?action='''ppdonate''': see [[Cookbook:PPDonate]] - [- {Cookbook/PPDonate$:Summary} -]%0a%0a:?action='''publish''': see [[Cookbook:PublishPDF]] [- {Cookbook/PublishPDF$:Summary} -]%0a%0a:?action='''purgeqns''': see [[Cookbook:ASCIIMath]] [- {Cookbook/ASCIIMath$:Summary} -]%0a%0a:?action='''pwchange''': see [[Cookbook:UserAuth2]] [- {Cookbook/UserAuth2$:Summary} -]%0a%0a:?action='''imgtpl''': (the ''imgtpl'' action is called automatically and should not be called by a link in a wiki page)%0a:?action='''createthumb''': (the ''createthumb'' action is called automatically and should not be called by a link in a wiki page)%0a:?action='''mini''': (this action is called automatically and should not be called by a link in a wiki page)%0a:?action='''purgethumbs''': see [[Cookbook:ThumbList]] [- {Cookbook/ThumbList$:Summary} -] \\%0a see [[Cookbook:Mini]] [- {Cookbook/Mini$:Summary} -]%0a%0a:?action='''recipecheck''': see [[Cookbook:RecipeCheck]] [- {Cookbook/RecipeCheck$:Summary} -]%0a%0a:?action='''regen''': see [[Cookbook:PageRegenerate]] [- {Cookbook/PageRegenerate$:Summary} -]%0a%0a:?action='''reindex''': see [[Cookbook:Reindex]] [- {Cookbook/Reindex$:Summary} -]%0a%0a:?action='''rename''':%0a:?action='''links''': see [[Cookbook:RenamePage]] [- {Cookbook/RenamePage$:Summary} -]%0a%0a:?action='''share''':%0a:?action='''unshare''': see [[Cookbook:SharedPages]] [- {Cookbook/SharedPages$:Summary} -]%0a%0a:?action='''sitemapaddgroups''':%0a:?action='''sitemapupdate''': see [[Cookbook:Sitemapper]] [- {Cookbook/Sitemapper$:Summary} -]%0a%0a:?action='''totalcounter''': see [[Cookbook:TotalCounter]] [- {Cookbook/TotalCounter$:Summary} -]%0a%0a:?action='''trash''':%0a:?action='''untrash''': see [[Cookbook:Trash]] [- {Cookbook/Trash$:Summary} -]%0a%0a:?action='''webadmin''': see [[Cookbook:WebAdmin]] [- {Cookbook/WebAdmin$:Summary} -]%0a%0a:?action='''zap''': see [[Cookbook:ZAP]] [- {Cookbook/ZAP$:Summary} -]%0a[[#cookbookend]]%0a----%0a[[#cookbookqueryskins]]%0a!! Query string parameters enabled by [[Cookbook(:.)]] recipes%0a%0a:?'''color'''=''colorscheme'':%0a:?'''setcolor'''=''colorscheme''%0a:?'''skintheme'''=''theme'':%0a:?'''setskintheme'''=''theme'': see [[Cookbook:ChoiceColorChanger ]] [- {Cookbook/ChoiceColorChanger $:Summary} -]%0a%0a%0a:?'''skin'''=''skinname'':%0a:?'''setskin'''=''skinname'': see [[http://www.pmwiki.org/wiki/Skins/SkinChange|SkinChange]] [- {Skins/SkinChange$:Summary} -]%0a%0a!!Custom actions%0a%0a*See [[(PmWiki:)CustomActions]]. +time=1591246088 blob - /dev/null blob + c9fa1ac0cacac758b76ab8626e24c60c7990066b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.BackupAndRestore @@ -0,0 +1,11 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=see also at bottom, fix h2/h3 structure +ctime=1134693395 +name=PmWiki.BackupAndRestore +rev=40 +targets=Cookbook.Cookbook,PmWiki.Uploads,Cookbook.BackupWithRsync,Cookbook.TwoWayMirroringWithRsync,Cookbook.BackupPages,Cookbook.BackupHTMLZip +text=(:title Backup and Restore:)%0a(:Summary:background information and some basic backup and restore procedures:)%0a%0aThis page has some background information on making backups and explains some basic *nix backup and restore procedures.%0a%0a!! Introduction%0a%0aYour wiki installation contains some unique data in the following directories:%0a%0a local/ Local configuration scripts%0a cookbook/ Recipes obtained from the [[(Cookbook:)Cookbook]]%0a pub/ Publicly accessible files%0a wiki.d/ Wiki pages%0a uploads/ [[Uploads|Uploaded files]] (attachments)%0a%0aA good backup plan will include periodically archiving these directories — or at bare minimum [@local/@] and [@wiki.d/@]. Good practice dictates keeping your backup archives on a separate machine.%0a%0a!! Simple Backup and Restore (*nix)%0a%0aWhen it comes to backup, simpler is better. %0aSince the pmwiki distribution is very small (about 1/4 megabyte), it's simplest to just archive the distribution files along with the data.%0a%0a!!! Making a Backup Archive%0a%0aThe following *nix command, executed from the parent directory of your wiki's directory, will put a complete backup archive of your site in your home directory.%0a%0a-> [@%0atar -zcvf ~/wiki-backup-`date +%25Y%25m`.tar.gz wiki/%0a@]%0a%0a[[#restore]]%0a!!! Restoring the Backup Archive%0a%0a!!!! Simple Method%0a%0aYour site can be restored and running in under 30 seconds with%0a%0a-> [@%0atar -zxvf ~/wiki-backup-200512.tar.gz%0afind wiki/uploads/ -type d |xargs chmod 777%0afind wiki/wiki.d/ -type d |xargs chmod 777%0a@]%0a%0a!!!! A Slightly-More-Secure Method%0a%0aThe simple restore commands above will give you world-writable files and directories. You can avoid world-writable permissions by letting PmWiki create directories with the proper attributes (ownership and permissions) for you.%0a%0aStart with%0a%0a-> [@%0atar -zxvf ~/wiki-backup-200512.tar.gz%0arm -rf wiki/wiki.d%0arm -rf uploads%0achmod 2777 wiki/%0a@]%0a%0aNow upload a file in each group that had uploads. If your site doesn't have uploads, just visit your site once so the wiki.d/ directory will be created.%0a%0aFinish your installation with%0a%0a-> [@%0achmod 755 wiki/%0atar -zxvf ~/wiki-backup-200512.tar.gz%0a@]%0a%0a%0a!!! Details%0a%0aThe commands on this page assume your site is in a directory called "wiki/". The test backup was made in December, 2005 so it's named accordingly.%0a%0aYour site will only have an uploads/ directory if uploads are enabled.%0a%0aThe backup command uses a date stamp (YYYYMM) in the filename. If you automate the command via cron you'll wind up with monthly snapshots of your site. You can get a daily snapshot by appending %25d to the date command ([@`date +%25Y%25m%25d`@] will get you YYYYMMDD). Be wary of space limitations if you have a large uploads/ directory.%0a%0a%0a!! Miscellaneous%0a%0a!!! Backup via FTP%0aDownload and install a ftp client like [[http://filezilla-project.org/download.php?type=client|Filezilla]]%0a%0a# Using the ftp client connect to the server where you host pmWiki using%0a## the IP address (ex: 123.234.56.67) or the ftp name (ex: ftp.myhost.com)%0a## supply your account name (ex: mylogin) and password (ex: myp4ssw0rd)%0a# Move to your pmWiki directory (ex: @@/usr/mylogin/web/wiki/@@ or @@/tahi/public_html/pmwiki@@ )%0a# Select the folder you want to backup as explained before (probably either only the data or the whole wiki directory)%0a** for data you will want to backup both the directories%0a*** @@wiki.d@@ for user page data%0a*** @@pmwikiuploads@@ (or @@uploads@@) for your attachments (uploads)%0a** for system you will want, at a minimum, to backup both the directories%0a*** @@local@@ for configuration data %0a*** @@pub@@ for local CSS and skins customisations%0a# Download them to a local folder%0a# Use [[http://www.7-zip.org/ | 7zip]] or a similar software to build an archive of this backup%0a%0aYou can also very easily sync your FTP directories with your hard disc via this command line:%0a-> [@ wget -nv -np -m ftp://user:password@ftp.yourhost.net/ @]%0a'-Download [[http://gnuwin32.sourceforge.net/packages/wget.htm | Wget for Windows]] (other systems normally have it installed).-'%0a%0aAlternatively, you can also mirror your FTP directories with lftp:%0a-> [@ lftp -u your_user_name,your_password -e "mirror --verbose /wiki.d /path/to/local/folder" ftp://your_host @]%0a(this will mirror only the /wiki.d folder, replace with / to mirror everything)%0a%0a[[#rsync]]%0a!!! Using rsync%0aSee Cookbook:BackupWithRsync and Cookbook:TwoWayMirroringWithRsync.%0a%0a!! See Also%0a%0a* A [[http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/20317| thread]] [gmane.org] on the pmwiki-users mailing list.%0a* A [[(Cookbook:)Backup Pages]] recipe in the cookbook.%0a* A [[(Cookbook:)Backup HTML Zip]] recipe in the cookbook.%0a +time=1567166412 +title=Backup and Restore blob - /dev/null blob + fccb0345b100bbbed8581e0d1b844ab3ac0caffe (mode 644) --- /dev/null +++ wikilib.d/PmWiki.BasicEditing @@ -0,0 +1,11 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +description=PmWiki's basic edit syntax +name=PmWiki.BasicEditing +rev=520 +targets=PmWiki.WikiSandbox,Main.WikiSandbox,PmWiki.WikiWikiWeb,PmWiki.Passwords,PmWiki.TextFormattingRules,PmWiki.MarkupMasterIndex,PmWiki.WikiStyles,PmWiki.ListStyles,PmWiki.WikiGroup,PmWiki.InterMap,PmWiki.NonexistentPages,PmWiki.Links,PmWiki.Tables,PmWiki.TableDirectives,PmWiki.Images,PmWiki.PageLists,PmWiki.BasicEditing,PmWiki.WikiTrails,PmWiki.DocumentationIndex,PmWiki.SpecialCharacters,PmWiki.LayoutVariables,PmWiki.PmWikiPhilosophy,PmWiki.Audiences,Cookbook.EnableHTML +text=(:Summary: PmWiki's basic edit syntax:)(:Audience: authors (basic) :)%0aThe pages on this site are [[wiki(WikiWeb)]]-based pages, which means that pages can be created and edited by multiple authors. To edit a page, click the '''Edit''' link that exists '''somewhere''' on the page, usually in the header or footer. Some pages may be [[password(s)]]-protected, depending on the system's security policies, but many systems allow open editing of pages.%0a%0a%0aPmWiki is not [[(Wikipedia:)WYSIWYG]] - When editing a page, you see the ''markup text'' that describes the content of the page. The basic rules for page markup are simple:%0a# Use a blank line to start a new paragraph [-[[#Paragraphs|more]]-].%0a# To make a list, start each line with # for numbered (ordered) lists or * for bulleted (unordered) lists [-[[#lists|more]]-].%0a# To make a heading, start a line with two or more ! marks; !! is a subheading, and !!! is a sub-subheading [-[[#headings|more]]-].%0a# To emphasize text, enclose it in 2 or 3 ''single quotes''; [@''text''@] for italics or [@'''text'''@] for bold [-[[#emphasis|more]]-].%0a# To make a [[#links | link to another page]], enclose the page's name in double brackets; for example [@[[basic editing]]@] links to this page.%0a# To make a [[#links|link to another site]], type its address, such as [[http://example.com/ | [=[[http://example.com/]]=] ]]. Email links must have "mailto:" before such as [[mailto:xyz@example.com | [=mailto:xyz@example.com=] ]]%0a%0a%0a'''If you want to experiment with editing a page, try it on the [[Main/Wiki Sandbox]].''' You can [[Main/WikiSandbox?action=edit | edit the Wiki Sandbox]] without affecting anything important on this site. On talk pages and discussions, it's courteous to '''sign''' your contribution; using [=~~=]~ effectively 'signs' the name that you provide in the Author field on the Page Edit form.%0a%0a!! Examples of common markups%0a%0aThe tables below demonstrate many of the common markups used to format pages. The left column shows what to write to achieve the effect, the right column shows the effect of the markup. More details are available from the [[text formatting rules]] and other documentation pages. An exhaustive list of default markup is available as the [[markup master index]].%0a%0a!!! [[#Paragraphs]]Paragraphs and line breaks%0a[[#markupheaders]]%0a(:table class='markup horiz' align='center':)%0a(:cellnr class='markup1':)%0a[-'''What to type'''-]%0a(:cell class='markup2':)%0a[-'''What it looks like'''-]%0a(:tableend:)%0a[[#markupheadersend]]%0a%0a(:markup class=horiz:)%0aConsecutive lines%0awill be merged together%0aas part of the same paragraph.%0a%0aOne or more empty lines will start a new paragraph.%0a(:markupend:)%0a%0a(:markup class=horiz:)%0aTwo backslashes at the end of a line \\%0aforce a line break.%0a%0aOr use this markup: [[%3c%3c]] to force a break.%0a(:markupend:)%0aFurther reading:%0a* [[text formatting rules]] for more information on linebreaks, indented or hanging paragraphs.%0a* [[wiki styles]] for centered or right justified paragraphs and "floating" text (boxes), borders and much more.%0a%0a!!![[#lists]]Lists%0aStart each line with # for numbered (ordered) lists or * for bulleted (unordered) lists:%0a%0a(:markup class=horiz:)%0a* Bullet list%0a* Another item%0a** More asterisks produce sub-items%0a** etc.%0a(:markupend:)%0a%0a(:markup class=horiz:)%0a# Numbered lists%0a# Another item%0a## more hashes produce sub-items%0a(:markupend:)%0a%0a(:markup class=horiz:)%0a# List types%0a# can be mixed%0a** numbered list with unordered sub-list%0a(:markupend:)%0a%0a(:if false:)%0aif someone thinks definition lists are "basic":%0a(:markup class=horiz:)%0a: Definition list : list of definitions%0a: item : the item's definition%0a: another item : that item's definition%0a:: indentation : more leading colons produce deeper lists%0a(:markupend:)%0a(:ifend:)%0a%0aLearn more about [[Text Formatting Rules#BulletedLists|lists]] (including [[Text Formatting Rules#DefinitionLists|definition lists]]) and [[(PmWiki:)list styles]].%0a%0a!!![[#headings]] Headings%0aHeadings are useful for creating a "well-structured" page. They're not just for making big text.%0a%0a(:include {$FullName}#markupheaders#markupheadersend:)%0a%0a(:markup class=horiz:)%0a!! Major Subheading%0a!!! Minor Subheading%0a!!!! And More%0a!!!!! Subheadings%0a(:markupend:)%0a%0a!!![[#emphasis]] Text emphasis%0aTo emphasize, enclose text in apostrophes (single-quote marks), not double-quotes.%0a%0a(:include {$FullName}#markupheaders#markupheadersend:)%0a%0a(:markup class=horiz:)%0a''Emphasize'' (italics),%0a'''strong''' (bold), %0a'''''very strong''''' (bold italics).%0a(:markupend:)%0a%0a!!![[#links]] Links%0aTo make a link to another page, enclose the page's name in double square brackets.%0a%0a(:include {$FullName}#markupheaders#markupheadersend:)%0a%0a(:markup class=horiz:)%0aPractice editing in the [[wiki sandbox]]%0a(:markupend:)%0aNote that words are automatically ''capitalized'' in page titles. The link above links to the page WikiSandbox.%0a%0aText after a pipe (|) is used as the link text:%0a(:markup class=horiz:)%0aPractice editing in the%0a[[WikiSandbox | practice area]].%0a(:markupend:)%0a%0a(:comment is this still "basic" or should it be removed? :)%0aEndings become part of the link text, parentheses hide parts of the link name:%0a(:markup class=horiz:)%0a[[wiki sandbox]]es.%0a%0a[[(wiki) sandbox]].%0a(:markupend:)%0a%0aWhen linking to a page in a different [[WikiGroup]], provide the group name, followed by a separator, and then the page name:%0a(:markup class=horiz:)%0a[[Main.Wiki Sandbox]] shows group + name%0a%0a[[Main/Wiki Sandbox]] shows only name%0a(:markupend:)%0a%0aLinks to external sites%0a(:markup class=horiz:)%0abare url: http://www.pmwiki.org%0a%0alink text: [[http://www.pmwiki.org | PmWiki home]]%0a(:markupend:)%0a%0aLinks as reference to external sites%0a(:markup class=horiz:)%0abare url: http://www.pmwiki.org%0a%0alink text: [[http://www.pmwiki.org | #]]%0a(:markupend:)%0a%0a(:comment is this still "basic" or should it be removed? :)%0aColons make [[InterMap]] (also called InterWiki) links to other wikis:%0a(:markup class=horiz:)%0aWhat's an [[Wikipedia:aardvark]], anyway?%0a(:markupend:)%0a%0aLinks to [[nonexistent pages]] are displayed specially, to invite others to create the page.%0a%0aPmWiki supports more link types and a lot of display options, see [[Links]] to learn more.%0a%0a%0a!!!Preformatted text [[#preformatted]]%0aPreformatted text is displayed using a monospace font and not generating linebreaks except where explicitly indicated in the markup.%0a%0aNote that very long lines of preformatted text can cause the whole page to be wide.%0a%0aFor preformatted text with markup (e.g. emphasis) being processed, start each line with a space:%0a(:markup class=horiz:)%0a Lines that begin with a space%0a are formatted exactly as typed%0a in a '''fixed-width''' font.%0a(:markupend:)%0a%0aIf you don't want Wiki markup to be processed, use [=[@ @]=]. Can also be used inline.%0a(:markup class=horiz:)%0a[@%0aText escaped this way has%0athe HTML ''code'' style%0a@]%0a(:markupend:)%0a%0aYou can also use the [[#escape|escape sequence]] preceded with a space on the first line.%0a(:markup class=horiz:)%0a [=The '''escape sequence''',%0apreceded by space(s) on the first line,%0ais rendered preformatted.=]%0a(:markupend:)%0a%0aYou can enable [[WikiStyles#highlight|code highlighting]] for preformatted blocks with recent PmWiki versions.%0a%0a!!! Escape sequence [[#escape]]%0aIf you don't want Wiki markup to be processed, but lines reformatted use [@[= =]@]. Can also be used inline.%0a(:markup class=horiz:)%0a[=%0amarkup is ''not'' processed%0abut lines are reformatted%0a=]%0a(:markupend:)%0a%0a%0a!!! Horizontal line%0a(:markup class=horiz:)%0aFour or more dashes at%0athe beginning of a line%0a----%0aproduce a "horizontal rule"%0a(:markupend:)%0a%0a!!! Tables%0aSimple tables use double pipe characters to separate cells:%0a(:markup class=horiz:)%0a|| border=1%0a||! head 1 ||! head 2 ||! head 3 ||%0a|| cell 1 || cell 2 || cell 3 ||%0a(:markupend:)%0aSee [[Tables|simple tables]] and [[Table Directives|advanced tables]] to learn more about the rich feature set of PmWiki tables.%0a%0a!!! Images%0aSee [[Images]]%0a%0a(:if false:)%0aIMO this is not "basic" and should be removed from this page --OliverBetz%0a!!!Indented and "hanging" paragraphs%0a(:markup class=horiz:)%0a-> An arrow (->) indents content.%0a%0a Line up text to continue the indent.%0a%0a-->Longer arrows (-->) indent further.%0a%0a-%3cA reverse arrow (-%3c) creates a hanging indent, the first line is outdented and remaining lines are indented.%0a(:markupend:)%0a(:ifend:)%0a%0a!!! Character formatting%0a%0a(:include {$FullName}#markupheaders#markupheadersend:)%0a%0a(:markup class=horiz:)%0a* @@Monospaced text@@%0a* Text with '^superscripts^'%0a* Text with '_subscripts_'%0a* deleted {-strikethrough-} text%0a* inserted {+underline+} text%0a* [+big+], [++bigger++] text%0a* [-small-], [--smaller--] text%0a(:markupend:)%0a%0aUse [[WikiStyles]] to change %25red%25 the %25blue%25 text %25green%25 %25color=#ff7f00%25 color %25%25.%0a%0a[[#pagetitles]]%0a!!! Page titles%0aThe [@(:title:)@] directive sets the page's title to something other than its page name.%0a(:markup class=horiz:)%0a(:Title Basic PmWiki editing rules:)%0aThe name of this page is "{$Name}", and its title is "{$Title}".%0a(:markupend:)%0a%0a[[#pagesummary]]%0a!!! Page description%0a%0a* The [@(:Description Page summary here:)@] directive sets the page description. The description is used by search engines, and can be displayed in search results and in [[page lists]].%0a(:markup class=horiz:)%0a(:Description PmWiki's basic edit syntax:)%0aThe summary description of this page is {$Description}.%0a(:markupend:)%0a%0a%0a%0a>>faq%3c%3c [[#faq]]%0a[[#beginning]]%0aQ: I'm new to PmWiki, where can I find some basic help for getting started?%0aA: The [[Basic Editing]] page is a good start. From there, you can just follow the navigational links at the top or the bottom of the page (they are called [[Wiki Trails]]) to the next pages, or to the [[Documentation Index]] page, which provides an outline style index of essential documentation pages, organized from basic to advanced.%0a%0aQ: How do I include special characters such as Copyright (©) and Trademark (® or ™) on my wiki pages?%0aA: See [[special characters]] on how to insert special characters that don't appear on your keyboard.%0a%0aQ: How can I preserve line-breaks from the source text?%0aA: PmWiki normally treats consecutive lines of text as being a paragraph, and merges and wraps lines together on output. This is consistent with most other wiki packages. An author can use the [@(:linebreaks:)@] directive to cause the following lines of markup text in the page to be kept as separate lines in the output. Or a wiki administrator can set in ''config.php'' @@$HTMLPNewline = '%3cbr/>';@@ to force literal new lines for the whole site.%0a%0aQ: Can I just enter HTML directly?%0aA: By default (and by design), PmWiki does not support the use of HTML elements in the editable markup for wiki pages. There are a number of reasons for this described in the [[PmWiki Philosophy]] and [[Audiences]]. Enabling HTML markup within wiki pages in a collaborative environment may exclude some potential authors from being able to edit pages, and pose a number of display and security issues. However, a site administrator can use the [[Cookbook:Enable HTML]] recipe to enable the use of HTML markup directly in pages.%0a%0aQ: Where can I find more documentation?%0aA: See the [[Documentation Index | documentation index]] and the [[markup master index]] pages. +time=1573708072 +title=Basic PmWiki editing rules blob - /dev/null blob + a62b63254f6e8135eddca55d215dd169bae30366 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.BasicVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.109 ordered=1 urlencoded=1 +author=Peter Kay +charset=UTF-8 +csum=Changed "Variable value" to have variable name +name=PmWiki.BasicVariables +rev=107 +targets=PmWiki.BasicVariables,PmWiki.AuthoringPhilosophy,PmWiki.EditVariables,PmWiki.AuthUser,PmWiki.Categories,PmWiki.WikiFarms,PmWiki.WikiGroup,PmWiki.GroupCustomizations,PmWiki.LocalCustomizations,PmWiki.LinkVariables,PmWiki.WikiWord,PmWiki.MarkupExpressions,Cookbook.LimitWikiGroups,Site.Search,Site.EditForm,Site.PageNotFound,SiteAdmin.AuthList,SiteAdmin.AuthUser,SiteAdmin.ApprovedUrls,PmWiki.Skins,PmWiki.PageVariables,Category.PmWikiDeveloper +text=(:Summary: core variables:)%0a%0aWhere the variables are available as wiki markup they are shown as ''Variable value "[={$=]VariableName}"''.%0a%0a:$AsSpacedFunction:The name of the function used to convert WikiWords into normal, spaced strings. Defaults to 'AsSpaced'.%0a:{$AsSpacedFunction} :[@$AsSpacedFunction = 'MyAsSpaced';@]%0a%0a%25rfloat%25$Author is currently "{$Author}"%0a:$Author : Set to the current reader, who is potentially an author ([[PmWiki:AuthoringPhilosophy|see discussion]]). See also $EnablePostAuthorRequired.%0a%0a:$AuthorGroup: The WikiGroup for user profiles. Defaults to 'Profiles'. This variable is implicit in the markup [@[[~AuthorName]]@]%0a: :[@$AuthorGroup = 'Users';@]%0a%0a:$AuthId: For sites using [[AuthUser | user-based authorization]], tracks the "reader" or login name.%0a: :[@SessionAuth($pagename);@]%0a: :[@if( isset($AuthId) ) { // this person has been authenticated@]%0a%0a:$AuthPw: Request for documentation, meanwhile see [[http://permalink.gmane.org/gmane.comp.web.wiki.pmwiki.user/30037|here]].%0a: :[@SessionAuth($pagename);@]%0a: :[@if( isset($AuthPw) ) { // this person has entered a password@] %0a%0a%25rfloat%25$BaseName is currently "{$BaseName}"%0a:$BaseName:%0a:$BaseNamePatterns:Allows population of the [@{$BaseName}@] PageVariable. The key to the hash is the pattern to be replaced and the value is the replacement string.%0a: :[@%0a# If {$FullName} is 'Group.Page-Draft' then {$BaseName} is 'Group.Page'%0a$BaseNamePatterns['/-Draft$/'] = '';%0a# If {$FullName} is 'Comments-Group.Page' then {$BaseName} is 'Group.Page'%0a$BaseNamePatterns['/^Comments-/'] = '';@]%0a%0a:$CategoryGroup: The WikiGroup used for categories. Defaults to 'Category'. (See [[Categories]]). This variable is implicit in the markup [@[[!CategoryName]]@]%0a%0a:$CookiePrefix: A string prefix to be prepended to cookies set from PmWiki scripts. It defaults to '', but can be set to a different value to avoid conflicts with similar-named cookies from other applications, or to allow multiple wikis from the same domain to store separate cookies.%0a: :[@$CookiePrefix = 'pmwiki_';@] # set cookie prefix to 'pmwiki_'%0a::If you have a [[WikiFarm(s)]], use the following in each field's ''config.php'' to get a unique prefix for each field in the farm, thus isolating each field's cookies.:%0a: :[@$CookiePrefix = substr($tmp = md5(__FILE__), 0, 5).'_';@]%0a%0a%25rfloat%25$DefaultGroup is currently "{$DefaultGroup}"%0a:$DefaultGroup:[[WikiGroup]] used by default (on startup) when no group is specified in the URL. %0a%0a%25rfloat%25$DefaultName is currently "{$DefaultName}"%0a:$DefaultName:Name of the default HomePage of each WikiGroup. Used when the group doesn't have a page with the same name as the group.%0a: :Note that the behavior will differ based on whether the page exists or not. Probably you want to alter $PagePathFmt in addition to $DefaultName if you really want it to take effect.%0a-> Note: See comment below under $DefaultPage re the order how this must be defined within your (farm)config scripts - this must be set prior to any call of ResolvePageName().%0a%0a:$DefaultPage:Startup page when PmWiki is called without a specified page, normally ''$DefaultGroup.$DefaultName''.%0a-> Note: for $DefaultGroup, $DefaultName and $DefaultPage variables to work, they should be defined in the beginning of (farm)config.php, before any call to the function ResolvePageName(). This means, before any script from PmWiki and before any recipe that might be using this function. This also means it cannot be set in a per-page or per-group customization script - ResolvePageName() is called before these are loaded.%0a: : Please note that this variable is intended to be set in (farm)config.php, not in individual groups. Trying to use different $DefaultName, $DefaultPage or $PagePathFmt settings in different groups will cause cross-group linking anomalies.%0a%0a:$EnableLocalConfig:Allows/disables local/config.php customizations (usually for a farm's wikis). Can be set to zero in local/farmconfig.php to prevent the farm's wikis' local/config.php from being loaded.%0a: :[@$EnableLocalConfig = 0; # disable PmWiki's local/config@]%0a%0a:$EnableStdConfig:Disables scripts/stdconfig.php and a large part of the core functionalities provided by the scripts in the pmwiki/scripts directory and outlined in the core documentation, unless included by your own local configuration (notably core markup rules, page history, skins, uploads). Allows you to completely reshape the way PmWiki behaves, if you need to.%0a: :[@$EnableStdConfig = 0; # disable many standard features@]%0a%0a%0a:$EnablePGCust:Allows/disables per-page and [[GroupCustomizations | per-group customizations]]. Can be set to zero in any [[local customization(s)]] file to prevent remaining page/group customizations from being loaded.%0a: :[@$EnablePGCust=0; # turn off per-page/group configs@]%0a%0a:$EnableRedirect:When enabled (default), causes page redirects to automatically be performed by the browser. Setting $EnableRedirect to zero causes PmWiki to pause and issue a "Redirect to ''link''" message instead. This is sometimes useful when debugging recipes to be able to see the results of actions before page redirections occur. Not to be confused with $EnableRedirectQuiet.%0a%0a:$EnableWikiWords:Enable [[WikiWord]] processing.%0a%0a:$EnableWSPre:Enables a markup rule that causes lines with leading spaces to be treated as sections of preformatted text. If set to a value greater than 1, indicates the minimum number of leading spaces required for this treatment.%0a: :[@$EnableWSPre = 1; # leading spaces are preformatted text@]%0a: :[@$EnableWSPre = 0; # leading spaces are normal lines of text@]%0a: :[@$EnableWSPre = 4; # 4+ spaces are preformatted text@]%0a%0a:$FTimeFmt:Can be used to override the default date format used by the "ftime" function. The default $FTimeFmt is $TimeFmt. (See [[Markup Expressions]])%0a%0a:$GroupPattern: The regular expression pattern used for valid [[WikiGroup]] name specifications. Defaults to allowing any group name beginning with an uppercase letter, but can be set to limit the valid group names (see Cookbook:LimitWikiGroups).%0a: :[@# limit groups to Site, SiteAdmin, PmWiki, and MyGroup@]%0a: :[@$GroupPattern = '(?:Site|SiteAdmin|PmWiki|MyGroup)';@]%0a: :[@#for case-sensitive group names, note the ?-i switch:@]%0a: :[@$GroupPattern = '(?-i:Site|SiteAdmin|PmWiki|MyGroup)';@]%0a%0a:$LinkWikiWords:If set, then bare WikiWords in a page are automatically linked to pages of the same name. Note that this value can also be affected by the [@(:linkwikiwords:)@] and [@(:nolinkwikiwords:)@] directives.%0a: :[@$LinkWikiWords = 1; # turn on WikiWord links@]%0a: :[@$LinkWikiWords = 0; # disable WikiWord links@]%0a: :Note, this setting requires WikiWords to be enabled, see $EnableWikiWords.%0a%0a:$LogoutRedirectFmt: Identifies the page to which the visitor should be sent after an [@?action=logout@]. Defaults to the current page.%0a: :[@$LogoutRedirectFmt = 'Site.Logout'; # ?action=logout target@]%0a%0a:$LogoutCookies: An array of cookie names to be removed when [@?action=logout@] is invoked.%0a%0a:$NamePattern: The regular expression pattern used for valid page names. Defaults to allowing pages beginning with an uppercase letter or digit, followed by sequences of alphanumeric characters, hyphens, and underscores. %0a%0a:$pagename: A variable that gives the name of the current page.%0a->To access inside a Markup callback function, use%0a-->[@$pagename=$GLOBALS['MarkupToHTML']['pagename'];@]%0a->It is also accessible via%0a-->[@global $pagename;@] # if you use it inside a function%0a-->[@$pagename = ResolvePageName($pagename);@]%0a->See [[PmWiki:LocalCustomizations#configphp-group-page|+]] for more information, including when it's possible to use this variable.%0a->Once you have $pagename, page variables become accessible:%0a-->[@%0a$page = PageVar($pagename, '$FullName'); # =$pagename%0a$group = PageVar($pagename, '$Group');%0a$name = PageVar($pagename, '$Name');%0a@]%0a%0a:$PagePathFmt: An array controlling how the default group home-page name will be determined.%0a: : Please note that this variable is intended to be set in (farm)config.php, not in individual groups. Trying to use different $DefaultName, $DefaultPage or $PagePathFmt settings in different groups will cause cross-group linking anomalies.%0a-> Default Setting:%0a-->[@$PagePathFmt = array('{$Group}.$1','$1.$1','$1.{$DefaultName}');@]%0a-> Setting to use if you wish $DefaultName to actually be the name of your group home-pages:%0a-->[@$PagePathFmt = array('{$Group}.$1','$1.{$DefaultName}','$1.$1');@]%0a-> Do note that if the Groupname.Groupname page does exist but Groupname.Defaultname does not exist, then Groupname.Groupname will still take precedence. You may remove the '$1.$1' entirely to '''require''' Groupname.Defaultname to be the group homepage - that would look like this:%0a-->[@$PagePathFmt = array('{$Group}.$1','$1.{$DefaultName}');@]%0a%0a%25rfloat%25$SiteGroup is currently "{$SiteGroup}"%0a:$SiteGroup:Default group for storing configuration and utility pages such as [[Site.Search]], [[Site.EditForm]], [[Site.PageNotFound]], etc.%0a%0a:$SiteAdminGroup:Default group for locked administrative pages such as [[SiteAdmin.AuthList]], [[SiteAdmin.AuthUser]], [[SiteAdmin.ApprovedUrls]], etc, defaults to 'SiteAdmin'.%0a%0a:$Skin:The name of the directory containing the skin (theme) files, default "pmwiki". See [[Skins]].%0a%0a:$SpaceWikiWords:If set, then WikiWords in pages are automatically spaced according to $AsSpacedFunction. Note that this value can also be affected by the [@(:spacewikiwords:)@] and [@(:nospacewikiwords:)@] directives.%0a: :[@$SpaceWikiWords = 1; # turn on WikiWord spacing@]%0a: :[@$SpaceWikiWords = 0; # turn off WikiWord spacing@]%0a%0a:$TimeFmt: The format to use for dates and times, in [[http://php.net/strftime | strftime()]] format. The default value is [@'%25B %25d, %25Y at %25I:%25M %25p'@], which gives dates of the form "September 8, 2005 at 10:57 PM".%0a: :[@$TimeFmt = '%25B %25d, %25Y'; # dates as "September 8, 2005"@]%0a: :[@$TimeFmt = '%25Y-%25m-%25d'; # dates as "2005-09-08"@]%0a%0a%25rfloat%25$Version is currently "{$Version}"%0a:$Version: A string representing the release version of PmWiki.%0a%0a%25rfloat%25$VersionNum is currently "{$VersionNum}"%0a:$VersionNum: A number representing the release version of PmWiki,%0a with the major and minor release components padded with zeroes to%0a produce three digits. Thus, release "pmwiki-2.1.40" will have $VersionNum set to 2001040.%0a%0a The first digit is a 2, the next three digits are the major%0a release number, and the last three digits are the minor release%0a number. Beta releases use 900-999 for the minor release number.%0a Thus:%0a--> [@%0a2.1.0 2001000%0a2.1.1 2001001%0a...%0a2.1.27 2001027%0a2.2.0-beta1 2001901%0a2.2.0-beta2 2001902%0a...%0a2.2.0-beta18 2001918%0a...%0a2.2.0 2002000%0a@]%0a%0a:$WikiWordPattern: The pattern that describes a WikiWord.%0a%0a:$EnableRelativePageVars:This setting controls how [[Page variables]] in included pages are understood by PmWiki.%0a: :@@$EnableRelativePageVars = 1; # PmWiki current default@@\\%0aIn this case @@[={$Name}=]@@ displays the name of the physical page where it written. If @@[={$Name}=]@@ is in an included page, it will display the name of the included page. (This is currently PmWiki's default.)%0a: :@@$EnableRelativePageVars = 0; # revert to previous default@@\\%0aIn this case @@[={$Name}=]@@ displays the name of the currently browsed page. Even if @@[={$Name}=]@@ is in an included page, it will display the name of the browsed page. This was PmWiki's default in versions 2.2.8 and earlier, and changed in 2.2.9, but you can revert it back with this line in config.php.%0a: : @@[={*$Name}=]@@ with an asterisk always displays the name of the currently browsed page, regardless of $EnableRelativePageVars.%0a%0aCategories: [[!PmWiki Developer]] +time=1538510342 blob - /dev/null blob + 38cbace82c98d084282949a3b4795bd1c7be5b9a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.BlockMarkup @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=add links (+637) +ctime=1146213979 +name=PmWiki.BlockMarkup +rev=21 +targets=PmWiki.Forms,PmWiki.TextFormattingRules,PmWiki.Images,PmWiki.Tables,PmWiki.WikiStyles +text=(:Summary:Markup resulting in paragraphs:)%0a"Block markup" is a term used in the sources of PmWiki indicating all markups resulting in HTML block elements'^[[http://htmlhelp.com/reference/html40/block.html|#]]^' or in other words multiple paragraphs and other content.%0a%0a* [[Forms]]%0a* paragraphs%0a* indent/outdent%0a* [[PmWiki/TextFormattingRules#BulletedLists | lists]]%0a* list items%0a* headings%0a* [[#div|divisions]] and [[#semantic|semantic HTML5 elements]]%0a* [[images]]%0a* pre%0a* [[tables]]%0a%0a[[WikiStyles]] can be applied to blocks, else you don't need to bother about "blockmarkup" as a PmWiki user.%0a%0a[[#div]]%0a!! Division blocks%0a%0aDivision %3cdiv> HTML blocks are inserted with the [@(:div:)...(:divend:)@] markup. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:div id=id1 class="class1 class2":)@]. A [@(:div:)@] markup automatically closes a previously open such tag. To have nested tags, you need to number the tag, and the matching tag end: [@%0a(:div:)%0aOuter block%0a(:div2:)%0aInner block%0a(:div2end:)%0a(:divend:)%0a@]%0a%0a[[#semantic]]%0a!! Semantic HTML5 elements%0a%0aSince version 2.2.75, PmWiki allows the inclusion of a few semantic HTML5 elements. Note that an opening semantic markup automatically closes any previously opened tag of the same type, but does not verify or tidy the structure for you, so make sure you use closing tags when needed.%0a%0a:[@(:article:)...(:articleend:)@]:Inserts an [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article|%3carticle>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:article id=id1 class="class1 class2":)@]. An [@(:article:)@] markup automatically closes a previously open such tag. To have nested tags, you need to number the tag, and the matching tag end: [@%0a(:article:)%0aOuter article%0a(:article2:)%0aInner article%0a(:article2end:)%0a(:articleend:)%0a@]%0a%0a:[@(:section:)...(:sectionend:)@]:Inserts a [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section|%3csection>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:section id=id1 class="class1 class2":)@]. A [@(:section:)@] markup automatically closes a previously open such tag. To have nested tags, you need to number the tag, and the matching tag end, like the [@(:article:)@] markup.%0a%0a:[@(:header:)...(:headerend:)@]:Inserts a [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header|%3cheader>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:header id=id1 class="class1 class2":)@]. A [@(:header:)@] markup automatically closes a previously open such tag, and it is not possible to nest such tags. %0a%0a:[@(:footer:)...(:footerend:)@]:Inserts a [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer|%3cfooter>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:footer id=id1 class="class1 class2":)@]. A [@(:footer:)@] markup automatically closes a previously open such tag, and it is not possible to nest such tags. %0a%0a:[@(:aside:)...(:asideend:)@]:Inserts an [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside|%3caside>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:aside id=id1 class="class1 class2":)@]. An [@(:aside:)@] markup automatically closes a previously open such tag, and it is not possible to nest such tags. %0a%0a:[@(:address:)...(:addressend:)@]:Inserts an [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address|%3caddress>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:address id=id1 class="class1 class2":)@]. An [@(:address:)@] markup automatically closes a previously open such tag, and it is not possible to nest such tags. %0a%0a:[@(:nav:)...(:navend:)@]:Inserts a [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav|%3cnav>]] tag. You can have the HTML @@id=@@ and @@class=@@ attributes like [@(:nav id=id1 class="class1 class2":)@]. A [@(:nav:)@] markup automatically closes a previously open such tag, and it is not possible to nest such tags. %0a%0a:[[#details]][@(:details summary="Summary":)...(:detailsend:)@]:Inserts a [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details|%3cdetails>]] and embedded [[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary|%3csummary>]] section. Standard-compliant browsers will only show the summary, and the user can click on it to open the full section, without a need for JavaScript. A [@(:details:)@] markup automatically closes a previously open such tag. To have nested tags, you need to number the tag, and the matching tag end, like the [@(:article:)@] markup. This is a recent addition to the HTML5 standard, see https://caniuse.com/#feat=details for current browser support (browsers that do not support it show the section open).%0a%0a(:markup:)%0a(:details summary="Click for more information...":)%0aHere is the content of the %3cdetails> section.%0a(:detailsend:)%0a(:markupend:)%0a%0a: : To have a details section open by default, add the attribute @@open=open@@ like [@(:details open=open summary="Summary":)@]%0a%0a!! See also%0a(:pagelist group=PmWiki name=BlockMarkup-Talk fmt=#titlesummary:)%0a(:pagelist group=PmWiki name=*markup,markup*,-*talk fmt=#titlesummary:)%0a%0a +time=1591492020 blob - /dev/null blob + 47be50559d4260293136244417f4c6a55dd3779a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Blocklist @@ -0,0 +1,10 @@ +version=pmwiki-2.2.86 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=#unblock +ctime=1159592216 +name=PmWiki.Blocklist +rev=70 +targets=Category.Spam,PmWiki.Security,PmWiki.Passwords,PmWiki.PasswordsAdmin,SiteAdmin.Blocklist,PmWiki.PageHistory,PmWiki.WikiAdministrator,Cookbook.SharedPages,PmWiki.PageVariables +text=(:Summary:Blocking IP addresses, phrases, and expressions to counteract spam and vandalism.:)%0a(:Audience: administrators (basic) :)%0a%0aThe block list is one of a number of [[security]] measures that can be taken to protect your wiki from [[!spam]] and other unwelcome postings.%0a%0aUnfortunately, the open-editability of many wiki systems often makes them attractive targets for "link spam" or "wikispam", in which links are added to pages in an effort to increase search engine rankings or drive traffic to other sites. Also, many link spammers have developed automated systems to locate sites that accept visitor input and attempt to flood the site with unwanted links.%0aAlso, and harder to deal with, is just plain [[PmWiki/Security#wikivandalism|wiki vandalism]] where nonsense changes are made, often replacing entire pages.%0a%0aBy far the best countermeasure against wikispam is to restrict editing through the use of passwords (see [[Passwords]] and [[Passwords Admin]]). Experience has shown that passwords can be effective even if the password is widely known, and even if the password is publicly available on the site itself. However, there are many cases where passwording may be an impediment, so these will generally want to use some form of blocklist.%0a%0a!! Blocklist basics%0a%0aA ''blocklist'' is a list of IP addresses, phrases, and expressions which are prevented from being added into pages on the website. PmWiki is distributed with a built-in blocklisting capability; blocklists can be enabled by adding the following line to ''local/config.php'':%0a%0a-> $EnableBlocklist = 1;%0a%0aThis tells PmWiki to scan the [[SiteAdmin.Blocklist]] page and the "SiteAdmin.Blocklist-Farm" page (and possibly other pages -- see below) looking for phrases and IP addresses to be excluded from posting to the site.%0a%0a!!! Blocking by word or phrase%0aThe simplest form of block is simply a line containing "[@block:@]" followed by a word or phrase to be excluded from postings. For example, a line like %0a%0a-> [@block:spam.com @]%0a%0ain SiteAdmin.Blocklist will block any posts containing the string "spam.com" (case-insensitive) anywhere in the post.%0a%0a[[#blockbyipaddress]]%0a!!! Blocking by IP address%0aSometimes we wish to restrict posts coming from particular addresses or address ranges that are known as sources of wikispam. If a blocklist page contains IP addresses of the form "a.b.c.d" or "a.b.c.*", then any posts coming from that address or range will be blocked. %0a%0a-> %25note%25 To find an author's IP address, try hovering the mouse over the author name in the [[page history]] for a page.%0a%0a!!! Blocking by regular expression or pattern%0aBlocking on simple words can sometimes pose difficulties; for example, a simple "[@block:cial@]" entry will also block the word "specialist". For these cases it's often helpful to use a regular expression, as in:%0a%0a->[@block:/\bcial\b/@]%0a%0aThis says to block "cial" only if it doesn't occur in the middle of a larger word. The leading slash (/) after "block:" tells PmWiki to use a regular expression match instead of a simple string match. (Blocklist uses PCRE or "Perl Compatible Regular Expressions"; see http://php.net/manual/en/ref.pcre.php for more information.)%0a%0a!!!! Regular expression to block 'href'%0a%0aIf you want to block '@@href@@', you can use the following markup:%0a-> [@block:/[^\w\\]href\b/@]%0awhich blocks '@@href@@', but neither '@@\href@@' nor '@@toughref@@'.%0a%0aThe regular expression can be interpreted as follows: Match any character that is '''neither''' a word character%0a'''nor''' a '\', followed by @@href@@ which ends in a word boundary.%0a%0a!! Letting authors know why they've been blocked%0a%0aBy default, blocklist only tells an author that a particular edit has been blocked, but doesn't give a specific reason for the blocking (e.g., the offending phrase). Setting the following in a local customization file will also provide the reasons for the block:%0a%0a-> $EnableWhyBlocked = 1;%0a%0a%0a!! Managing multiple blocklists%0a%0aPmWiki allows blocklist entries to come from multiple pages by setting the $BlocklistPages variable. By default $BlocklistPages is set to "SiteAdmin.Blocklist", as well as any automatically downloaded blocklists as described below. PmWiki will use all entries in all the blocklists for filtering wikispam. Setting a value of $BlocklistPages changes the default:%0a%0a-> $BlocklistPages = array('Main.Blocklist', '{$Group}.Blocklist');%0a%0aThe order of blocklists really doesn't matter -- all of the blocklist%0apages ultimately get used, and the [@unblock:@] entries are processed %0aafter all of the blocklist pages have been loaded.%0a%0a[[#automaticblocklists]]%0a!! Automatically downloaded blocklists%0a%0aMaintaining blocklists is relatively easy to do, but can become tedious over time. Several groups have formed and maintain "shared blocklists", where a common blocklist is made available to all. PmWiki's blocklist capability has built-in features for automatically downloading and updating such shared blocklists.%0a%0aIf you're just in a hurry to make use of some standard blocklists, make the following setting in ''local/config.php'':%0a%0a-> $EnableBlocklist = 10;%0a%0aThis tells PmWiki to not only enable blocklists on the site, but to also configure itself to automatically retrieve and maintain local copies of well-known blocklists such as [[http://moinmo.in/|MoinMaster]]. These local copies will be saved in SiteAdmin.Blocklist-MoinMaster and refreshed once per day (as determined by the value of $BlocklistDownloadRefresh).%0a%0aTo automatically retrieve the [[SiteAdmin.Blocklist]] page used at pmwiki.org, add the following setting in ''local/config.php'':%0a%0a-> [@ $BlocklistDownload["$SiteAdminGroup.Blocklist-PmWiki"] = array('format' => 'pmwiki'); @]%0a%0a'-The blocklist from chongqed.org which we used in the past is no longer available as of 2013.-'%0a%0a!! Ignoring specific entries in a blocklist (unblock) [[#unblock]]%0a%0aWhen using a large master blocklist or blocklists automatically refreshed from external sites, it may be that some entries in the blocklists are inappropriate or overeager and block legitimate content. In this case a wikiadministrator can use "unblock" in a blocklist page to ignore an entry from the blocklist. For example, to allow "spam.com" even if another blocklist has a block entry for it:%0a%0a-> unblock:spam.com%0a%0aIn order for unblocking to work the phrase or pattern following "unblock:" must be ''exactly'' the same as the original.%0a%0a!! Permissions on blocklist pages%0a%0aIn general, an [[(wiki )administrator]] will want to edit-protect the SiteAdmin.Blocklist and any other blocklist pages to prevent arbitrary changes to the blocklist (see [[Passwords]]). Since most pages in the SiteAdmin.* group are edit-protected by default anyway, this usually isn't a problem.%0a%0aAdministrators may also wish to read-protect the various blocklist pages so that others do not know the exact phrases and/or IP addresses that are being blocked. (By their nature blocklists tend to contain phrases or terms that may be offensive or inappropriate to some.)%0a%0aAny pages created via automatic download (see above) are automatically locked against viewing except by administrators. %0a%0a%25audience%25 administrators (intermediate)%0a!! Detailed configuration of automatically downloaded blocklists%0a%0aAutomatic downloading of blocklist information is controlled by the $BlocklistDownload array. An entry for MoinMaster might look like:%0a%0a-> $BlocklistDownload["$SiteAdminGroup.Blocklist-MoinMaster"] = array(%0a--> 'url' => 'http://moinmo.in/BadContent?action=raw',%0a--> 'format' => 'regex',%0a--> 'refresh' => 86400);%0a%0aThis says to download the blocklist data from the given url into the SiteAdmin.Blocklist-MoinMaster page, that the entries in the blocklist are regular expressions, and to refresh the information every 86,400 seconds (one day).%0a%0aIf 'refresh' is omitted, then the page will be refreshed at the time interval given by $BlocklistDownloadRefresh (default one day). If 'format' is omitted, the page is assumed to have PmWiki-formatted entries as described above. If 'url' is omitted, then the blocklist information is downloaded from a standard location on the pmwiki.org site.%0a%0aTo force a refresh of an automatically downloaded blocklist, simply delete the existing page -- a new version will be installed upon the next blocklist scan. Blocklist pages are checked for download in response to any ?action=edit request.%0a%0aIf you are specifying your Blocklist-Pages in the config.php you have to specify the automatically updated pages too, else they won't be updated or created even if you use $EnableBlocklist = 10; .%0a%0a!! Farm-wide blocklist%0a%0aA blocklist can be applied farm-wide (see [[(Cookbook:)SharedPages]]). %0aAfter these pages are created they can be moved into the farm ''shared.d/'' directory:%0a%0a!! [[#variables]] Blocklist Variables%0a%0aThe following variables help control the configuration and operation of blocklists:%0a%0a:$EnableBlocklist:If set to a non-zero value, then blocklists are enabled on the site. If set to a value of ten or higher, then add entries for automatic downloads of standard blocklists.%0a: : $EnableBlocklist = 1; # enable blocklists%0a: : $EnableBlocklist = 10; # auto-configure standard blocklists%0a%0a:$EnableWhyBlocked:By default, authors are not told which particular phrases or IP addresses are causing a particular post to be blocked; setting $EnableWhyBlocked to 1 provides this information.%0a: : $EnableWhyBlocked = 1; # give reasons for blocking%0a%0a:$BlocklistPages:An array of pages to be checked for blocklist entries. The elements of the array may contain [[page variables]]. Defaults to "SiteAdmin.Blocklist", plus any other automatically downloaded blocklist pages.%0a%0a:$BlocklistMessageFmt:The message to provide the author whenever a post has been blocked.%0a%0a:$BlockedMessagesFmt:If $EnableWhyBlocked is set, defines the text to use for each type of block being performed. Currently only 'ip' and 'text' are recognized.%0a: : $BlockedMessagesFmt['ip'] = "$[IP address blocked from posting]: ";%0a: : $BlockedMessagesFmt['text'] = "$[Text blocked from posting]: ";%0a%0a:$BlocklistDownload:An array of automatically-downloaded blocklists. The keys of the array are the pages in which the blocklists should be stored, the values contain the url, format, and refresh interval for the downloaded blocklist.%0a->[@ # Download the MoinMaster blocklist every twelve hours%0a $BlocklistDownload["$SiteAdminGroup.Blocklist-MoinMaster"] = array(%0a 'url' => 'http://moinmo.in/BadContent?action=raw', %0a 'format' => 'regex',%0a 'refresh' => 43200);%0a # Download a shared blocklist from pmwiki.org every day%0a $BlocklistDownload["$SiteAdminGroup.Blocklist-Shared"] = array(%0a 'format' => 'pmwiki');%0a@]%0a%0a:$BlocklistDownloadRefresh:The default refresh interval for any $BlocklistDownload entries that don't explicitly specify a 'refresh' value.%0a: : # perform automatic downloads once per week by default%0a: : $BlocklistDownloadRefresh = 86400 * 7;%0a%0a:$BlocklistDownloadFmt:The format to use when saving automatically downloaded blocklists.%0a%0a%0a:$EnableBlocklistImmediate:Some cookbook recipes update pages with author input but don't use the built-in data posting routines. If $EnableBlocklistImmediate is set (default) and the current action is listed in $BlocklistActions (below), then an immediate blocklist scan is performed on the incoming text.%0a%0a:$BlocklistActions:A list of actions for which immediate blocklist checks should be performed (see $EnableBlocklistImmediate above).%0a: : # perform immediate checks for ?action=comment%0a: : $BlocklistActions['comment'] = 1;%0a: : # perform immediate checks for ?action=postdata%0a: : $BlocklistActions['postdata'] = 1;%0a +time=1462235273 blob - /dev/null blob + 5f4c8607cb7f52a714895ce9477be14a05dd1b2c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Categories @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=lead section without heading +keywords=categories, tags +name=PmWiki.Categories +rev=81 +targets=Category.Category,Category.GroupFooter,PmWiki.PageLists,PmWiki.BasicVariables,Cookbook.SubgroupMarkup,Cookbook.Tagger,PITS.00447,PmWiki.EditVariables +text=(:Summary:Categories are a way to organize and find related pages:)%0a(:keywords categories, tags:)%0a(:Audience: authors (intermediate) :)%0a%0a[[Category/|Categories]] (also known as "tags") are a way to organize and find related pages. Categories are implemented by default in PmWiki, and in most wikis they don't require any special code or markup, they're just a useful convention. The idea is that every page that falls into a particular subject area should have a link to a shared page containing links to other pages on that subject. These pages are created in the ''Category'' group, and thus these subject areas are called "categories".%0a%0a!!Using categories%0aGetting categories to work requires a single step: adding links to each category. A category named Subject is created by adding a link to [=Category.Subject=] on any page. When you add the link to a page, the page can be described as being ''in'' the category "Subject". %0a%0aThere is a special markup for creating these links which makes categories work more smoothly: [=[[!Subject]]=] will create a link to Category.Subject. So [=[[!Subject]]=] is a kind of shortcut to the page Subject in the category group.%0a%0aA [[Category.GroupFooter]] file is included in the PmWiki release that contains the line [@(:pagelist link={*$FullName} list=normal:)@] so that whenever a category page is displayed, it will show a list of links to pages that reference that page in the category group. Like any other page in [@wikilib.d@] you can modify this page and it will not get overwritten by another release.%0a%0aIt is worth noting that rather than using Category.GroupFooter, the pagelist directive can be added to Category.GroupHeader to similar effect; it just depends on whether you'd prefer to have the list of pages appear before or after any text that you add to the individual category pages (which can be edited just like normal pages).%0a%0aBecause we use the normal [[PmWiki.PageLists|PageList]] @@link=@@ markup, you can use it not only in the category group. If you want to show all pages belonging to the category Subject you can use on any wiki page [@(:pagelist link=Category.Subject list=normal:)@].%0a%0aSimilarly, there's no requirement that a "category page" has to be in the ''Category'' group -- any page can define a "category" of pages that link to it.%0a%0aAn administrator can override the default category group name of "Category" by setting the $CategoryGroup variable in ''config.php'' to another group name. (Normally a change such as this should be done during initial setup on a new wiki; changing this on a wiki with existing content can cause problems with pagelists unless each page with a category is re-saved.)%0a%0aA page author can also link to a category list without adding the linking page to the category by using [=[[ {Category.Subject$PageUrl} | Subject ]]=]. This will create a link that looks like [=[[!Subject]]=] without adding the linking page to the category listing.%0a%0a!!!Recap%0aSo, by adding the link [=[[!Subject]]=] to a page, a link to that page will automatically appear on the page ''Category.Subject'', as long as ''Category.GroupFooter'' has been tweaked appropriately. Thus, you can create a page that automatically creates an alphabetized list of all movies discussed on your wiki by creating links to [=[[!Movies]]=] on each film's page; the resulting automatic list would be on the page ''Category.Movies'' . %0a%0a%25audience%25 authors (advanced)%0a[[#CategoryNesting]]%0a!!Category nesting%0aCategories have the potential for even greater usefulness because [@Category.*@] pages can themselves be placed into categories! To follow an excellent example from John Rankin, let's suppose we have the following film pages in the categories listed to the right:%0a%0a-> [@%0aFilm.ShaunOfTheDead [[!Horror]] [[!Comedy]] [[!2003]]%0aFilm.InMyFathersDen [[!Drama]] [[!2004]]%0aFilm.TheCorporation [[!Documentary]] [[!2003]]%0a@]%0a%0aNow then, we can create [@Category.Horror@], [@Category.Comedy@], [@Category.Drama@], and [@Category.Documentary@], and in each one of those pages we put [@[[!Genre]]@]. In [@Category.2003@] and [@Category.2004@], we put [@[[!Year]]@].%0a%0aSo, what happens when we display [@Category.Genre@] ? We see links to "Comedy", "Drama", "Documentary", and "Horror", because they're in the Genre category. When we click on one of those links, we see all of the films listed in one of those categories. Similarly, if we click on [@Category.Year@], we see links to "2003" and "2004", each of which in turn displays the list of films for that year.%0a%0aFinally, in [@Category.Genre@] and [@Category.Year@] we can put [@[[!Category]]@], which makes them "top-level" categories reachable from the [@Category.Category@] page. Voila, we now have an instant "hierarchy":%0a%0a-> [@%0aCategory.Category%0a Category.Genre%0a Category.Comedy%0a Film.ShaunOfTheDead%0a Category.Drama%0a Film.InMyFathersDen%0a Category.Documentary%0a Film.TheCorporation%0a Category.Horror%0a Film.ShaunOfTheDead%0a Category.Year%0a Category.2003%0a Film.ShaunOfTheDead%0a Film.TheCorporation%0a Category.2004%0a Film.InMyFathersDen%0a@]%0a%0aNote however that this isn't a "strict" hierarchy--i.e., any page or category can appear simultaneously in multiple categories. For example, [@Category.Documentary@] could be a member of both the Genre and top-level category listings.%0a%0aEach category page can have content text before the generated list, e.g., to give a generic description of things in the category. (Or it can be empty, which works fine.) It can also contain associations to related categories ("see also" references). For example, in a tourism wiki, the ''bed and breakfast" category might contain a see-also reference to the "self-catering" category.%0a%0a%25audience%25 administrators (intermediate)%0a!!The guts of the category markup%0aAs mentioned, all of the necessary markup features for Categories are enabled by default in current releases of PmWiki 2.0, but here's how they work for those who are interested. The use of the Category group as the repository for all categories is determined by setting the $CategoryGroup variable, and the special [=[[!Subject]]=] markup is activated by a call to the Markup() function:%0a %0a-> [@SDV($CategoryGroup,'Category');%0aMarkup('[[!','%3clinks','/\[\[!([^\|\]] ?)\]\]/',%0a "%3cspan class='category'>[[$CategoryGroup/$1]]%3c/span>");%0a@]%0a%0a%0a!!Coming up with good category schemes%0aThe hard part about using categories is choosing a good vocabulary. Site content managers may wish to follow the Guidelines for the establishment and development of monolingual thesauri (ISO 2788-1986) and the Guidelines for the establishment and development of multilingual thesauri (ISO 5964-1985). Questions to think about include:%0a* whether a scheme already exists and can be reused%0a* number of levels in a multilevel scheme (not too shallow, not too deep -- e.g. 3)%0a* number of categories per page (not too many, not too few -- e.g. 3)%0a* consistent use of singular ([@[[Mercury]] is a [[!planet]]@]) or plural ([@[[Mercury]] is in the [[!planets]] category@])%0a* disambiguation and use of phrases ([@[[!musical instruments]]@] and [@[[!medical instruments]]@]) or [[Cookbook:Subgroup Markup]] ([@[[!Instruments*Musical]]@] and [@[[!Instruments*Medical]]@])%0a%0aOr you can just let people use whatever category terms they find meaningful. A vocabulary (or "folksonomy") will emerge over time.%0a%0a!!Showing a list of categories%0a%0aTo show a list of categories we can use a pagelist for the pages in the category group. %0aFor instance the following will list pages in the Category group, put it on page [[Category.Category]] for convenience, or on any other page:%0a%0a->[@(:pagelist group=Category list=normal fmt=#title:)@]%0a%0aBut there is a problem: Just adding a category markup to a page will not create a corresponding category page, even though following the link will show the page with a list of pages linking to it!\\%0aTo have category pages automatically created in group 'Category' add the following to config.php:%0a%0a->[@$AutoCreate['/^Category\./'] = array('ctime' => $Now, 'text' => 'List of pages linking to {$Title}');@] (note the quotes)%0a%0aChange 'Category' to the name of your category group. You can also add more definitions for more category groups, useful if you use a recipe like Cookbook:Tagger which allows multiple category groups.%0a%0a!! Linking = Categorizing %0aNote that categorizing a page (using the [@[[!category markup]]@]) cannot be distinguished from referring or linking to a category (using the normal [@[[link markup]]@]), i.e. pages referring to a category become part of that category.%0aThis is the subject of a long outstanding [[PITS:00447|feature request]] that seems to be hard to implement without breaking other functionality. You can link to a category without categorizing the page by using an external link, such as: [@[[{Category.MyCategory$PageUrl}|MyCategory]]@]. Since the link is external, all pages (not just the category page) will ignore it when listing backlinks.%0a%0aSee also [[PmWiki/EditVariables#AutoCreate]] +time=1567166131 blob - /dev/null blob + a437abd8bf3ca16cf26f2fa3581c18ceba005010 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.ChangeLog @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Version 2.2.130 (2020-07-04) * Update documentation. (+71) +name=PmWiki.ChangeLog +rev=1464 +targets=Cookbook.RecentChanges,PmWiki.MailingLists,PmWiki.Skins-Talk,Skins.SkinChange,PmWiki.LayoutVariables,PmWiki.OtherVariables,PmWiki.SecurityVariables,Cookbook.ToggleNext,PmWiki.Forms,PmWiki.TableOfContents,Cookbook.SectionEdit,PITS.01448,Cookbook.RecipeCheck,PITS.01145,PmWiki.BasicVariables,PmWiki.BlockMarkup,PmWiki.EditVariables,Cookbook.DeObMail,Cookbook.FixURL,Cookbook.NotSavedWarning,Cookbook.EditHelp,Cookbook.AutoTOC,Cookbook.DeltaBytesRecentChanges,Cookbook.RowspanInSimpleTables,Cookbook.LocalCSS,PmWiki.LinkVariables,Cookbook.PreviewChanges,PmWiki.PagelistVariables,PmWiki.MarkupExpressions,PmWiki.DebugVariables,PmWiki.Notify,PITS.01425,PITS.01422,PITS.01300,SiteAdmin.AuthList,PITS.01408,PITS.01404,Skins.2016,PITS.01406,PITS.01407,PITS.01400,PmWiki.PathVariables,Cookbook.HtmlUrls-Talk,PITS.01401,PITS.01390,PITS.01392,PITS.00638,PITS.01388,PITS.00951,Site.UploadQuickReference,PITS.00197,PITS.00435,PITS.01378,PITS.01379,PITS.01140,PITS.01373,PmWiki.TextFormattingRules-Talk,PITS.01087,PITS.00835,PITS.01110,PITS.01367,PITS.01032,PITS.00489,PITS.00497,PmWiki.Functions,PITS.01363,PITS.01360,PITS.01359,Site.EditQuickReference,PITS.01350,PmWiki.WikiStyles,PITS.00860,PITS.01337,PITS.01112,PmWiki.PageListTemplates,PITS.01345,PITS.01346,PmWiki.LinkSchemes,PITS.01278,PmWiki.Blocklist,PmWiki.PageDirectives,PITS.01319,PITS.01007,PITS.01259,PmWiki.UploadVariables,PITS.01308,PITS.01304,PITS.00978,PITS.01292,PITS.01285,PITS.01282,PITS.01275,PITS.01271,PITS.01266,PmWiki.I18nVariables,PITS.01262,PITS.01260,PITS.01263,PITS.01253,PITS.01255,PITS.01242,PITS.01213,PITS.01212,PITS.01188,PITS.01180,PITS.01201,PITS.01217,PITS.01198,PITS.01190,PITS.01192,PITS.01199,PITS.01191,PITS.01132,PITS.01202,PITS.01197,PITS.01184,PITS.01164,PITS.01121,PITS.01127,PITS.01152,PITS.00657,PITS.01157,PITS.00571,PITS.01106,PITS.00796,PITS.00535,PITS.01098,PITS.00266,PITS.00779,PITS.01155,PITS.01156,PITS.01149,PITS.01150,PITS.01141,PmWiki.CustomMarkup,PITS.01125,PITS.00703,PITS.00088,PITS.00976,PITS.01146,PITS.00813,PITS.01126,PITS.01131,PITS.01071,PITS.00802,PITS.01102,PITS.00238,PITS.01114,PITS.01062,PITS.01103,PITS.01104,PITS.00915,PITS.01099,PITS.00396,PITS.01037,PITS.00836,PITS.00998,PITS.01073,PITS.00980,Cookbook.UTF-8,PmWiki.ReleaseNotes,PITS.00407,PITS.00919,PITS.01081,PITS.01066,PITS.00984,PmWiki.ChangeLogArchive +text=(:Summary: Log of changes made to PmWiki by [[Release(Notes)]]:)\%0aSee [[Cookbook:RecentChanges | the cookbook recent changes page]] for additional updates and activity by other developers, or join the [[PmWiki (/) mailing lists]] to discuss feature development with us.%0a%0a(:Prerelease:Changes made to the [[PmWiki:Subversion | subversion pre-release ]] \%0a([[https://www.pmwiki.org/pub/pmwiki-devel/pmwiki-latest-svn.zip|ZIP]]) of PmWiki::)\%0a{$:xPrerelease}%0a%0a!!! Version 2.2.130 (2020-07-04) [[#v22130]]%0a* Update documentation.%0a%0a!!! Version 2.2.129 (2020-05-21) [[#v22129]]%0a* Mute some PHP notices.%0a* Copy "simpletable" styles from the "pmwiki-responsive" skin into the old "pmwiki" skin.%0a* Update documentation.%0a%0a!!! Version 2.2.128 (2020-04-26) [[#v22128]]%0a* Strip some trailing spaces and convert some tabs to spaces.%0a* Add comments next to preg_replace() and create_function() where old addons may cause PHP deprecation notices.%0a* Mute some PHP notices.%0a* Print the invalid pagename in the error message.%0a* Update documentation.%0a%0a!!! Version 2.2.127 (2020-03-23) [[#v22127]]%0a* Mute some PHP "undefined variable" notices.%0a* Responsive skin set #wikiedit textarea max-height: 60vh (after discussion+tests at PmWiki:Skins-Talk). %0a* Prefix PmTOC classes "pmtoc-show" and "pmtoc-hide" to avoid processing by other frameworks (reported by Finar).%0a* Add Skins:SkinChange to the core, enabled by either of the variables $EnableAutoSkinList and/or $PageSkinList.%0a* Add FileSizeCompact() and DiffTimeCompact() (can be used by recipes).%0a* Add $FmtV["$upresult"] can be intercepted by recipes.%0a* Update documentation.%0a%0a!!! Version 2.2.126 (2020-02-01) [[#v22126]]%0a* Mute some "Undefined" notices. %0a* Fix caches.php to write an updated .htaccess format.%0a* Fix bug with $PmTOC['MinNumber'] = -1 reported by SteP.%0a* Update documentation.%0a%0a%0a!!! Version 2.2.124, 2.2.125 (2020-01-27) [[#v22124]] [[#v22125]]%0a* Hide .PmTOCdiv if empty.%0a* Add $SetCookieFunction.%0a* Add $ToggleNextSelector, see Cookbook:ToggleNext.%0a* Update documentation.%0a%0a%0a!!! Version 2.2.123 (2019-12-31) [[#v22123]]%0a* Allow for escaped [@[=link address=]@] to have any special characters, including quotes, parentheses and pipes.%0a* Fix PmXMail when the link contains a quote, and to work from headers, footers and sidebars.%0a* Add [[forms|form]] attribute "formnovalidate" (suggested by Robert Riebisch).%0a* Allow [[table of contents]] to work better with Cookbook:SectionEdit (reported by Johan Bengtsson).%0a* Mute a number of PHP notices for undefined variables. %0a* Add that "URL" means in browser in sample-config.php (PITS:01448). %0a* Add Cookbook:RecipeCheck in diag.php.%0a* Refactor functions that handle $EnableRCDiffBytes to show the deltas in the page histories.%0a* Remove $EnableRelativePageVars from sample-config.php (confusing, PITS:01145).%0a* Add upload extensions [[https://developers.google.com/speed/webp | @@webp@@ ]] image format and [[https://www.opus-codec.org/ | @@opus@@]] audio codec.%0a* Update documentation.%0a%0a!!! Version 2.2.122 (2019-11-19) [[#v22122]]%0aVersion 2.2.121 was released by mistake and contained some experimental code that was meant to be tested first.%0a* ObfuscateLinkIMap: Fix bug with special or international characters in custom subject fields, reported by FidelioEspoir.%0a* Add $DefaultUnsetPageTextVars, $DefaultEmptyPageTextVars.%0a* Mute "Uninitialized string offset messages" for error_reporting(E_ALL), reported by DFaure.%0a* Fix PmTOC, when NumberedHeadings is enabled, to number headings even when the TOC would not be created.%0a* Add [@{$$EachCount}@] pagelist template pseudovariable, containing the count for the current "each" loop.%0a* Add $InputAttrs @@role@@ and @@aria-*@@ form attributes, allow aria-\\w* attributes for the [@(:searchbox:)@] field.%0a* Update documentation.%0a%0a!!! Version 2.2.120 (2019-10-13) [[#v22120]]%0a* Add @@(:[[forms#datalist|input datalist]]:)@@ form element.%0a* Add [@(:details summary="...":)...(:detailsend:)@] [[block markup]].%0a* Fix bugs with guiedit.php/guiedit.js reported by FidelioEspoir.%0a* PmTOC: add max-height and overflow-auto to the block.%0a* Update documentation.%0a%0a!!! Version 2.2.119 (2019-10-03) [[#v22119]]%0a* Update for PHP 7.4 "string offset with curly braces is deprecated".%0a* Add @@required="required"@@ attributes to input author/uploader fields when $EnableUploadAuthorRequired or $EnablePostAuthorRequired are set.%0a* Add @@required="required"@@ attributes to the "upload file" element (to prevent posting the form without an attached file).%0a* Add ObfuscateLinkIMap() based on Cookbook:DeObMail, default disabled.%0a* GuiEdit: Add FixUrl button based on Cookbook:FixURL default disabled, add $EnableGuiEditFixUrl;%0a* EditForm: Add features from Cookbook:NotSavedWarning, default disabled, add $EnableNotSavedWarning.%0a* EditForm: Add scroll position to edit text area will be remembered on save-and-edit and preview.%0a* EditForm: Add $EnableEditAutoText and features from Cookbook:EditHelp. %0a* Add $PmTOC, [@(:toc:)@], [@(:notoc:)@], based on a simplified variant of Cookbook:AutoTOC.%0a* Fix bug with pagelist while preview, reported by Finar.%0a* Add $EnableSortable, basic sortable tables based on public domain code from [[https://github.com/tofsjonas/sortable|Jonas Earendel]].%0a* Add $EnableRCDiffBytes based on Cookbook:DeltaBytesRecentChanges. %0a* Add $EnableSimpleTableRowspan replicating features of Cookbook:RowspanInSimpleTables.%0a* Add $WikiPageCSSFmt enables CSS in a wiki page, based on Cookbook:LocalCSS.%0a* Add $EnableHighlight code highlight feature compatible with "highlight.js".%0a* Attachlist @@ext=@@ and @@names=@@ arguments now accept patterns and negatives like @@ext=jpg,png@@, @@ext=-pdf@@, or @@names=-th*---*.jpg@@.%0a* Attachlist: allow both ext= and names= to cohabitate.%0a* MarkupExpr: remove unused declaration.%0a* EditAutoText: use event.ctrlKey and event.shiftKey instead of 2 functions.%0a* Redirect: add 3rd argument $redirecturl which can be provided directly%0a* Add $AddLinkCSS['othergroup'] and $AddLinkCSS['samedomain'] can contain link CSS classes.%0a* Update documentation.%0a%0a!!! Version 2.2.118 (2019-08-28) [[#v22118]]%0a* Add $EnablePreviewChanges and PreviewDiff() based on Cookbook:PreviewChanges.%0a* Update documentation.%0a%0a!!! Version 2.2.117 (2019-07-28) [[#v22117]]%0a* Add $EnableUploadAuthorRequired default to $EnablePostAuthorRequired, add Author field in upload form.%0a* Implement partial content indirect downloads (suggested by Christopher Cox, required for embedded video on iOS).%0a* Add allowed upload video extensions 'm4v' and '3gp'.%0a* Fix lowercase "Content-Disposition" header for downloads.%0a* Update documentation.%0a%0a!!! Version 2.2.116 (2019-06-19) [[#v22116]]%0a* Add $PageListVarFoldFn, defaults to $StrFoldFunction, for international case-insensitive matches of page (text) variables.%0a* Update documentation.%0a%0a!!! Version 2.2.115 (2019-05-13) [[#v22115]]%0a* Responsive skin: Simplify CSS for custom backgrounds, remove repetition.%0a* Update documentation.%0a%0a!!! Version 2.2.114 (2019-04-02) [[#v22114]]%0a* Fix bug with input select lists where an already defined id= attribute may get overwritten.%0a* Vardoc: Move the id= attribute from a standalone anchor to the definition term element (allows ":target" styling).%0a* Vardoc: Localize table header and link text (suggested by Michael F. Wolff).%0a* Add $SkinTemplateIncludeLevel, IncludeTemplate skin directive.%0a* Add input "tel" type, and attribute "pattern". Fix classnames of new input types.%0a* Update documentation.%0a%0a!!! Version 2.2.113 (2019-03-01) [[#v22113]]%0a* Add input button element.%0a* Add $EnableInputDataAttr.%0a* Update documentation.%0a%0a!!! Version 2.2.112 (2019-01-09) [[#v22112]]%0a* Fix switch break for PHP 7.3, reported by Hans-Jürgen Godau.%0a* Update documentation.%0a%0a!!! Version 2.2.111 (2018-12-08) [[#v22111]]%0a* Add @@$[==]Id$@@ subversion keyword to pmwiki.php, requested by Peter Gragert.%0a* Fix responsive skin search form max-width in desktop mode, reported by Moni Kellermann. %0a* Add $DenyHtaccessContent variable. Update protective .htaccess files.%0a* Add tz= and locale= arguments to [@{(ftime )}@] [[MarkupExpression(s)]] (PHP5+).%0a* Update documentation.%0a%0a!!! Version 2.2.110 (2018-11-05) [[#v22110]]%0a* Fix [@{(substr )}@] markup expression with non-number arguments could cause warnings, reported by Simon.%0a* Add $PageListSortCmpFunction, default to current 'strcasecmp'.%0a* Add global $MarkupMarkupLevel which changes when the processing is inside [@(:markup:)@] blocks.%0a* Fix inconsistent white space with inline @@[=[@escaped code@]=]@@, reported by Dannybpng.%0a* Update documentation.%0a%0a!!! Version 2.2.109 (2018-07-09) [[#v22109]]%0a* Update pmcrypt() to exclude negative -@groups from hash checking.%0a* Add $EnableMarkupDiag to backtrace all markup calls, suggested by ChuckG.%0a* Fix Path InterMap broken in 2.2.108, reported by ChuckG.%0a* Update documentation.%0a%0a!!! Version 2.2.108 (2018-07-05) [[#v22108]]%0a* Add $PCCFOverrideFunction.%0a* $AuthUserPageFmt can now be an array of page names.%0a* Add $PageCacheFileFmt default to "%25s/%25s,cache" (like before), allowing custom cache filenames.%0a* Form checkbox labels now have the same tooltip title as the checkbox.%0a* Add [@%25reversed%25@] WikiStyle.%0a* RefCount: add label to checkbox, class to table.%0a* Vardoc: fix markup call, reported by Hans-Jürgen Godau.%0a* pmcrypt() return false when salt appears to be some old PmWiki attribute.%0a* Default InterMap PmWiki URLs have now the HTTPS protocol (suggested by Simon).%0a* Update documentation.%0a%0a!!! Version 2.2.107 (2018-02-02) [[#v22107]]%0a* Fix Forms and Pagelists warnings in PHP 7.2, reported by DFaure.%0a** Fix order=title broken with the previous commit, reported by ChuckG.%0a* Add $MailFunction.%0a* Add ".rtl *" styles.%0a* Update documentation.%0a%0a!!! Version 2.2.106 (2017-12-01) [[#v22106]]%0a* Add pmsetcookie(), $EnableCookieSecure, $EnableCookieHTTPOnly (PITS:01425).%0a* Refactor PageListSort() to make it work for PHP 7.2 without requiring create_function().%0a** Fix ordering broken with the previous commit, reported by ChuckG.%0a* Fix `wikiword markup, reported by Steve Glover.%0a* Update documentation.%0a%0a!!! Version 2.2.105 (2017-11-07) [[#v22105]]%0a* Refactor @@HandleUpload()@@ - add @@UploadSetVars($pagename)@@ to allow custom upload add-ons to set variables.%0a* Fix bug with PQA() that caused invalid HTML with attributes glued together.%0a%0a!!! Version 2.2.104 (2017-10-11) [[#v22104]]%0a* Fix bug with WikiTrails introduced with 2.2.103 (PITS:01422).%0a%0a!!! Version 2.2.103 (2017-10-01) [[#v22103]]%0a* Add pagelist list=grouphomes and fmt=#grouphomes.%0a* Update all scripts for PHP 7.2 (bugtrack).%0a* Make responsive skin also compatible with PmWiki versions 2.2.55 or earlier.%0a* Add *.vtt (web subtitles) as allowed upload extension.%0a* Fix Charset headers for xlpage-iso-*.php%0a* Refactor PageStore class to remove create_function() calls.%0a* Add "title" attribute to input form elements.%0a* Re-add the definition of the $rrep variable in Markup expressions, reported by ChuckG.%0a* Add $AuthLDAPReferrals to set LDAP_OPT_REFERRALS if needed, reported by Kirk Zurell.%0a* Fix missing $pagename for WikiWord links.%0a* Update documentation.%0a%0a%0a!!! Version 2.2.102 (2017-08-05) [[#v22102]]%0a* Revert fix for PITS:01300, the markup engine breaks when a text variable content is longer than 2699 characters.%0a* Add a text box in [[SiteAdmin.AuthList]] to allow filtering of the results.%0a%0a!!! Version 2.2.101 (2017-07-30) [[#v22101]]%0a* Rename function PageStore to __construct, to prevent PHP 7 strict or deprecated notices.%0a%0a!!! Version 2.2.100 (2017-07-30) [[#v22100]]%0a* Workaround around Subversion incompatibility with @@$Author[==]:...$@@ string not intended as SVN keyword.%0a* Responsive skin: add spacing above the #wikitext block, similar to the default skin.%0a* Update documentation.%0a%0a!!! Version 2.2.99 (2017-06-26) [[#v2299]]%0a* Fix Preview didn't show changes due to $ROSPatterns (PITS:01408).%0a* Remove markup rules for previewing author signature not needed anymore.%0a* Fix bug and warning appearing in PHP 4 installations.%0a* Update Wikipedia intermap entry (secure https).%0a* Fix bug with [@[[%3c%3c]]@] styles "clear:both".%0a* {-Fix incomplete definition of page text variable halts the rendering (PITS:01300).-}%0a* Fix $Version didn't work as a vardoc link.%0a* Update documentation.%0a%0a!!! Version 2.2.98 (2017-05-31) [[#v2298]]%0a* Fix WikiStyles where "pct" was incorrectly dropped from some classnames (PITS:01404).%0a* Hide warning about missing intermap file.%0a* Add pmwiki-responsive skin, based on modified Skins:2016.%0a* Responsive skin: Hide icon if PageActions empty. Fix "close" icon didn't appear for the PageActions block. Unrestrict menu height. Switching from portrait view with menu open to landscape: page should not be greyed out (PITS:01406). Landscape view: fix overflow for search form in Epiphany (likely Safari and other AppleWebKit-based browsers). Move the %3cmain> tag up to allow scrolling of the whole #wikibody. Large preformatted blocks will also scroll in the mobile view. Set limit for desktop layout to 50em~800px. Scrollable tables via cosmetic JavaScript.%0a* Both skins: Set default text color (PITS:01406).%0a* Fix Deprecated notice for Site.AuthUser password attributes.%0a* Vardoc links now use MakeLink() to allow a custom LinkPage function, fix bug reported by ChuckG.%0a* $InclCount now counts per browsed page (for multi-page processing recipes).%0a* Make $markupid variable available to markup replacement functions.%0a* Refactor function ReplaceOnSave to allow easier calling from recipes (PITS:01407).%0a* Enable *.mkv as allowed video extension.%0a* Fix bug with attachlist markup.%0a* Fix alternative bold/italics markup in sample-config.php (PITS:01400).%0a* Fix lost space in markup tables, replace markup tables %3ccode> with %3cpre> and add style "pre-wrap" (reported by ChuckG).%0a* Update documentation.%0a%0a!!! Version 2.2.97 (2017-04-07) [[#v2297]]%0a* Fix bug concerning $ScriptUrl when $EnablePathInfo is set, introduced in 2.2.96, reported by 3 users.%0a* Update documentation.%0a%0a!!! Version 2.2.96 (2017-04-05) [[#v2296]]%0a* Fix severe PHP code injection vulnerability, reported by Gabriel Margiani.%0a** Filter $pagename to exclude certain characters.%0a** Add $pagename_unfiltered in case a recipe requires it.%0a* Update documentation.%0a%0a!!! Version 2.2.95 (2017-02-28) [[#v2295]]%0a* Update documentation.%0a%0a!!! Version 2.2.94 (2017-01-31) [[#v2294]]%0a* Strip both .html and .htm extensions (Cookbook:HtmlUrls-Talk).%0a* Clear $PageExistsCache[$pagename] when a page is created or deleted (PITS:01401).%0a* Update documentation.%0a%0a!!! Version 2.2.93 (2016-12-31) [[#v2293]]%0a* Update documentation.%0a%0a!!! Version 2.2.92 (2016-11-30) [[#v2292]]%0a* Skip checking for $AllowPassword if empty or false.%0a* Enable FmtPageName() to expand PageVariables with asterisks.%0a* Update documentation.%0a%0a!!! Version 2.2.91 (2016-09-30) [[#v2291]]%0a* Update documentation.%0a%0a!!! Version 2.2.90 (2016-08-31) [[#v2290]]%0a* Add action parameter to upload form URL.%0a* Add @@imgonly@@ and @@imgcaption@@ CSS classes (PITS:01390).%0a* Fix plus-links with suffix [@[[Page|+]]s@] (PITS:01392).%0a* Update documentation.%0a%0a!!! Version 2.2.89 (2016-07-30) [[#v2289]]%0a* Add identifiers to Site.EditForm elements to enable easier styling.%0a* Add $SimpleTableDefaultClassName, default unset (PITS:00638).%0a* Add temporary $new['=html'] entry, in SaveAttributes().%0a* Fix superfluous line breaks in SiteAdmin.AuthList.%0a* Add optional placeholder attribute in [@(:searchbox:)@].%0a* Add $SearchBoxInputType, default 'text'.%0a* Set $HTMLStylesFmt via SDVA() in vardoc.php, urlapprove.php, and xlpage-utf-8.php.%0a* Fix vardoc.php to recognize and link variables $pagename, $Author, $Skin, and to sort case insensitively.%0a* Update documentation.%0a%0a!!! Version 2.2.88 (2016-06-29) [[#v2288]]%0a* Fix invalid HTML output of WikiTrail links (PITS:01388).%0a* Add 4th argument $double_encode to PHSC() for safe replacement of htmlspecialchars().%0a* Add page variable [@{$SiteAdminGroup}@] (PITS:00951).%0a* Update documentation.%0a%0a!!! Version 2.2.87 (2016-05-31) [[#v2287]]%0a* Add $HTMLTagAttr, to allow inclusion of lang, manifest and other attributes.%0a* Add $EnableRevUserAgent, $FmtV['$DiffUserAgent'].%0a* Fix relative link in [[Site.UploadQuickReference]].%0a* Update documentation.%0a%0a!!! Version 2.2.86 (2016-04-28) [[#v2286]]%0a* Fix PageStore() for PHP 7.%0a* Fix $DefaultPasswords for PHP 7.%0a* Update documentation.%0a%0a!!! Version 2.2.85 (2016-03-31) [[#v2285]]%0a* Add svg(z) and SVG(Z) as embeddable image extensions (PITS:00197, PITS:00435).%0a* Add *.svgz as allowed upload extension.%0a* Update documentation.%0a%0a!!! Version 2.2.84 (2016-02-21) [[#v2284]]%0a* Update/fix URL in UPGRADES.txt (PITS:01378).%0a* Fix indent and outdent CSS for RTL languages (PITS:01379).%0a* Add $EnableLinkPlusTitlespaced (PITS:01140).%0a* Update documentation.%0a%0a!!! Version 2.2.83 (2015-12-31) [[#v2283]]%0a* Update documentation.%0a%0a!!! Version 2.2.82 (2015-11-30) [[#v2282]]%0a* Enable stripmagic() to process arrays recursively.%0a* Update documentation.%0a%0a!!! Version 2.2.81 (2015-10-31) [[#v2281]]%0a* Fix single line PageTextVariable definition (reported by HansB).%0a* Add .ltr and .rtl CSS classes for UTF-8.%0a* Update documentation.%0a%0a!!! Version 2.2.80 (2015-09-30) [[#v2280]]%0a* Modify [@(:searchbox:)@] to use type="search" input.%0a* Update documentation.%0a%0a!!! Version 2.2.79 (2015-08-27) [[#v2279]]%0a* Modify guiedit.js::insMarkup() to accept a custom function name processing the text, and a custom id for the text area.%0a* Add CSS basic colors 'fuchsia','olive','lime','teal','aqua','orange' and 'grey' as WikiStyles (PITS:01373).%0a* Add $EnableROSEscape, default 0 (PmWiki:TextFormattingRules-Talk).%0a* Remove 'target' attribute in input forms (breaks PmForm).%0a* Add HTML5 input types email, url, number, date, search.%0a* Add attribution in script comments.%0a* Update documentation.%0a%0a!!! Version 2.2.78 (2015-07-21) [[#v2278]]%0a* Update $RobotPattern with current user agents.%0a* Accept 'target' attribute in input forms.%0a* Update documentation.%0a%0a!!! Version 2.2.77 (2015-06-19) [[#v2277]]%0a* Add generic function MakeNames() to process MakePageNames().%0a* Extend [@(:if attachments:)@] to specify file and page names (PITS:01087).%0a* Optimize PageStore::recode() to cache utf8_decode and utf8_encode callbacks.%0a* Add [@{$WikiTitle}@] page variable.%0a* Update documentation.%0a%0a!!! Version 2.2.76 (2015-05-31) [[#v2276]]%0a* Recover posted arrays (indexed or associative, not multidimensional) when a password is required (PITS:00835, PITS:01110).%0a* Add label argument to checkbox and radio inputs (PITS:01367).%0a* Enable PHSC() to process arrays recursively.%0a* Enable processing of arrays as input values (PITS:01032).%0a* Add CSS classes to standalone image div and caption (PITS:00489, PITS:00497).%0a* Update documentation.%0a%0a!!! Version 2.2.75 (2015-04-26) [[#v2275]]%0a* Fix uploads to respect $EnableReadOnly.%0a* Escape HTML special characters when printing failed callback creation.%0a* Add [[Functions#pmcrypt | pmcrypt()]] for PHP 5.6 compatibility.%0a* Add markup for HTML5 [[PmWiki:BlockMarkup#semantic | semantic ]] tags article, section, nav, header, footer, aside, address.%0a* Update documentation.%0a%0a%0a!!! Version 2.2.74 (2015-03-28) [[#v2274]]%0a* Allow translation of the "OK" string in forms (PITS:01363).%0a* Update documentation.%0a%0a!!! Version 2.2.73 (2015-02-28) [[#v2273]]%0a* Update documentation.%0a%0a!!! Version 2.2.72 (2015-01-27) [[#v2272]]%0a* Enable markup debug messages even when debug_backtrace() is not available.%0a* Add $AbortFunction.%0a* Restore ability to set a custom $MarkupWordwrapFunction, add $MarkupWrapTag (related to earlier fix for PITS:01360).%0a* Update documentation.%0a%0a!!! Version 2.2.71 (2014-12-29) [[#v2271]]%0a* Add $DraftActionsPattern.%0a* Enable "input default source" parameter to contain multiple pages.%0a* Enable "pagelist request" parameter to contain a list of (dis)allowed parameters.%0a* Enable Markup() backtrace for ?action=ruleset.%0a* Fix strict warning for blacklisted uploads (PITS:01359).%0a* Fix wrong hard wrap in [@(:markup:)@] code examples (PITS:01360).%0a* Update documentation.%0a%0a!!! Version 2.2.70 (2014-11-08) [[#v2270]]%0a* Update documentation.%0a%0a!!! Version 2.2.69 (2014-10-13) [[#v2269]]%0a* Fix DRange() for ISO-8601 dates +/- X days.%0a* Fix wording in [[Site.UploadQuickReference]].%0a* Update documentation.%0a%0a!!! Version 2.2.68 (2014-09-01) [[#v2268]]%0a* Add Skins: InterMap prefix.%0a* Add signature to [[Site.EditQuickReference]] (PITS:01350).%0a* Allow $PostConfig entries to be launched after per-page customization, before other stdconfig.php inclusions if values%3c50.%0a* Add [[WikiStyles]] clear, min and max width and height (PITS:00860), fix [=%25p class=...%25=] with more than one space.%0a* Update documentation.%0a%0a!!! Version 2.2.67 (2014-08-02) [[#v2267]]%0a* Fix InputDefault/PageTextVariables inconsistency (PITS:01337).%0a* Update documentation.%0a%0a!!! Version 2.2.66 (2014-07-02) [[#v2266]]%0a* Fix Author in Notifcations when deleting pages (PITS:01112).%0a* Exclude "_" to be considered as a function name in various $*Patterns.%0a* Update documentation.%0a%0a!!! [[#v2265]] Version 2.2.65 (2014-06-07)%0a* Fix [={$$PseudoVars}=] containing [={*$PageVars}=] in [[PageList Templates]].%0a* Fix wording in scripts/.htaccess (PITS:01345).%0a* Fix fixperms() if directory owner is root (PITS:01346).%0a* Update documentation.%0a%0a!!! [[#v2264]] Version 2.2.64 (2014-05-08)%0a* Add [={(mod)}=] [[PmWiki/MarkupExpressions | markup expression]].%0a* Add tel: and geo: [[PmWiki/LinkSchemes | URI schemes]].%0a* Add $SysMergePassthru to allow Merge() to use passthru() instead of popen().%0a* Update documentation.%0a%0a!!! [[#v2263]] Version 2.2.63 (2014-04-05)%0a* Allow [[PmWiki/Forms | form]] elements to have a dash in the attribute names.%0a* Strip magic slashes for pagelist/search request vars.%0a* Allow input attributes readonly, placeholder and autocomplete for HTML5 sites.%0a* Update documentation.%0a%0a!!! [[#v2262]] Version 2.2.62 (2014-02-28)%0a* Add $CallbackFnTemplates["return"].%0a* Add 4th argument to Markup_e() - $template.%0a* Add $EnableTableAutoValignTop.%0a* Update documentation.%0a%0a!!! [[#v2261]] Version 2.2.61 (2014-01-31)%0a* Add $TableCellAlignFmt.%0a* Remove unused snippet in prefs.php (reported by Oliver Betz).%0a* Remove unused calls to PSS() (reported by John Rankin).%0a* Update documentation.%0a%0a!!! [[#v2260]] Version 2.2.60 (2014-01-12)%0a* Revert to previous pmwiki.css file.%0a%0a!!! [[#v2259]] Version 2.2.59 (2014-01-11)%0a* Fix checking multiple posted fields in blocklist.php (reported by Randy Brown).%0a* Allow Markup_e() to accept a callback as well as code.%0a* Fix "+" shortcut for internal anchor links.%0a* Disable HTML cache if count($_GET)>1 not >2 (PITS:01278).%0a* Fix query string if a "?" is encoded to uppercase "%253F".%0a* Replace CSS font sizes from points (fixed) to percents (relative) for the default skin.%0a* Fix nested conditionals containing $pagename (reported by Benjamin Grassineau).%0a* Update documentation.%0a%0a!!! [[#v2258]] Version 2.2.58 (2013-12-25)%0a* Allow $LinkUpload to be usable in [=(:attachlist:)=].%0a* Enable customizations of [=(:input auth_form:)=].%0a* Remove unused variable $Block in FormatTableRow(), reported by Klonk.%0a* Fix $EnableBlocklistImmediate to check all posted fields for blocked terms.%0a* Add $GLOBALS['MarkupToHTML'] to pass parameters such as $pagename to markup calls.%0a* Update documentation.%0a%0a!!! [[#v2257]] Version 2.2.57 (2013-11-03)%0a* Encode international character used for detection of a recode function.%0a* Enable $IMapLinkFmt['Attach:'] to be used in [[PmWiki/PageDirectives#attachlist|[=(:attachlist:)=]]] links.%0a* Add $MakePageNameSplitPattern.%0a* Update documentation.%0a%0a!!! [[#v2256]] Version 2.2.56 (2013-09-30)%0a* Work in progress to remove the core dependency of the deprecated "eval" feature of the preg_replace() function (PITS:01319).%0a* Add functions PCCF(), PPRE(), PPRA(), Markup_e(), migrating all core calls to these functions.%0a* Fix detection of proper PageStore->recodefn.%0a* Update documentation.%0a%0a%0a!!! [[#v2255]] Version 2.2.55 (2013-09-16)%0a* Add $EnableDraftAtomicDiff (PITS:01007).%0a* Update documentation.%0a%0a!!! [[#v2254]] Version 2.2.54 (2013-08-13)%0a* Fix broken page history for draft pages, reported by ChuckG.%0a* Update documentation.%0a%0a!!! [[#v2253]] Version 2.2.53 (2013-07-08)%0a* Show a message when the post has been blocked because of too many unapproved links.%0a* Update documentation.%0a%0a!!! [[#v2252]] Version 2.2.52 (2013-06-08)%0a* Add docx, pptx, xlsx upload extentions.%0a* Hide E_DEPRECATED warnings for PHP 5.5.%0a* Update documentation.%0a%0a!!! [[#v2251]] Version 2.2.51 (2013-05-08)%0a* Update url to MoinMoin's blocklist.%0a* Comment-out blacklist.chongqed.org as the domain appears to have expired.%0a* Fix possible XSS vulnerability in prefs.php, discovered today.%0a* Fix access keys to be a single character.%0a* Fix $AuthorPage if there is a group named the same as the author (PITS:01259).%0a* Update documentation.%0a%0a!!! [[#v2250]] Version 2.2.50 (2013-04-08)%0a* Update documentation.%0a%0a!!! [[#v2249]] Version 2.2.49 (2013-03-09)%0a* Add $UploadBlacklist array.%0a* Update documentation.%0a%0a!!! [[#v2248]] Version 2.2.48 (2013-02-11)%0a* Fix bug introduced yesterday with some links, reported by Michael Weiner (PITS:01308).%0a%0a!!! [[#v2247]] Version 2.2.47 (2013-02-10)%0a* Enable tooltip titles for links to anchors on the same page.%0a* Update documentation.%0a%0a!!! [[#v2246]] Version 2.2.46 (2013-01-07)%0a* Add third parameter to fixperms() explicitly setting the permissions.%0a* Add $UploadPermAdd and $UploadPermSet variables.%0a* Update documentation.%0a%0a!!! [[#v2245]] Version 2.2.45 (2012-12-02)%0a* Cleanup some PHP notices (PITS:01304).%0a* Update documentation.%0a%0a!!! [[#v2244]] Version 2.2.44 (2012-10-21)%0a* Better display of whitespace in page histories.%0a* Fix definition for PageTextVariables containing a dash (PITS:00978).%0a* Update documentation.%0a%0a!!! [[#v2243]] Version 2.2.43 (2012-09-20)%0a* Allow for HTML attribute names to contain dashes, eg. data-transition, data-role etc.%0a* Remove warning when previewing Site.EditForm.%0a* Update documentation.%0a%0a!!! [[#v2242]] Version 2.2.42 (2012-08-20)%0a* Convert the line-endings in the docs/ directory to \r\n compatible with Windows.%0a* Modify PHSC() to call htmlspecialchars() with a single-byte encoding argument.%0a* Update documentation.%0a%0a!!! [[#v2241]] Version 2.2.41 (2012-08-12)%0a* Change $KeepToken to "\034\034" which is compatible with more encodings.%0a* Update documentation.%0a%0a!!! [[#v2240]] Version 2.2.40 (2012-07-21)%0a* Add PHSC() helper function as a replacement of htmlspecialchars() for PHP 5.4 (PITS:01292).%0a* Update documentation.%0a%0a!!! [[#v2239]] Version 2.2.39 (2012-06-25)%0a* Fix URL encoding of attachment links.%0a* Update documentation.%0a%0a!!! [[#v2238]] Version 2.2.38 (2012-05-21)%0a* Fix "Wrong parameter count for utf8_decode" warning, reported by Simon.%0a* Update documentation.%0a%0a!!! [[#v2237]] Version 2.2.37 (2012-05-01)%0a* Add page filename encoding functions.%0a* Better handling of dots in [@[[#anchor_1.2]]@] sections (PITS:01285).%0a* Expand PageVariables in [[PageList templates]] defaults (PITS:01282).%0a* Add test for iconv() and mb_convert_encoding(), refactor recode().%0a* Update documentation.%0a%0a!!! [[#v2236]] Version 2.2.36 (2011-12-28)%0a* Add $EnableOldCharset variable and $page["=oldcharset"] entry.%0a* Refactor PageStore->recode() to recover Windows-1252 characters.%0a* Add exit line to xlpage-iso-8859-2.php (PITS:01275).%0a* Fix difference in defining and removing "invisible" PTVs.%0a* Update documentation.%0a%0a!!! [[#v2235]] Version 2.2.35 (2011-11-11)%0a* Fix critical PHP injection vulnerability (PITS:01271, reported by Egidio Romano).%0a* Important change: Disable script loading from XLPage().%0a* Move the processing of [@[[link|+]]@] inside LinkPage() and delete markup rule from stdmarkup.php.%0a* Modify MakeLink() to better handle link titles.%0a* Add optional $LinkTitleFunction allowing recipes to customize the link titles.%0a* Fix ReadTrail() to better handle links with titles.%0a* Add title attributes for the HTML templates in the @@ $LinkPage*Fmt @@ variables.%0a* Add upload extensions svg, xcf, ogg, flac, ogv, mp4, webm, odg, epub.%0a* Minor optimization for the MarkupExpressions for UTF-8 strings.%0a* Minor optimization of the rendering of page history.%0a%0a!!! [[#v2234]] Version 2.2.34 (2011-10-10)%0a* Add [[PmWiki/MarkupExpressions]] replacements for UTF-8.%0a* Reset timestamps of Site(Admin).AuthUser to 1000000000, used in upgrades.php.%0a* Update documentation.%0a%0a!!! [[#v2233]] Version 2.2.33 (2011-09-23)%0a* Fix locked states for Site and SiteAdmin GroupAttributes (reported by Brijesh Kothari).%0a* Fix intermap.txt entries PITS: and Wikipedia: to point to their current locations.%0a* Fix refcount.php to produce valid HTML (PITS:01266).%0a%0a!!! [[#v2232]] Version 2.2.32 (2011-09-18)%0a* Add required html xmlns attribute to the print skin template.%0a* Add PageStore->recode() function.%0a* Add $DefaultPageCharset array.%0a* Optimize for speed the inline diff for page history when too many lines were added or deleted.%0a* Update and convert to UTF-8 the documentation.%0a%0a%25note%25 Note: Due to a manipulation error, a version 2.2.31 was created before it was ready for a release.%0a%0a!!! [[#v2230]] Version 2.2.30 (2011-08-13)%0a* Fix $Charset definition in iso-8859-*.php files.%0a* Add $EnableRangeMatchUTF8, set it to 1 to enable range matches in UTF-8.%0a* Update documentation.%0a%0a!!! [[#v2229]] Version 2.2.29 (2011-07-24)%0a* Fix Attach links that were broken with the Path fix in 2.2.28.%0a* Add $IMapLocalPath array containing InterMap prefixes that should be treated as local.%0a%0a!!! [[#v2228]] Version 2.2.28 (2011-07-24)%0a* Fix potential XSS vulnerability in refcount.php (PITS:01262).%0a* Fix bug in Path: links (PITS:01260).%0a* Fix potential XSS vulnerability in custom SitePreferences (PITS:01263).%0a* Update documentation.%0a%0a!!! [[#v2227]] Version 2.2.27 (2011-06-19)%0a* Add block WikiStyle [=%25justify%25=] (PITS:01253).%0a* Remove unused %3cvspace> after a redirection (PITS:01255).%0a* Add ?nodiff=1 parameter for page history to disable diff rendering and show only restore links.%0a* Update documentation.%0a%0a!!! [[#v2226]] Version 2.2.26 (2011-05-21)%0a* Fix ReadTrail(), redundant replacing of hashes, already done in MakePageName().%0a* Update documentation.%0a%0a!!! [[#v2225]] Version 2.2.25 (2011-03-22)%0a* Update documentation.%0a%0a!!! [[#v2224]] Version 2.2.24 (2011-02-15)%0a* Add [@{$$PageTrailDepth}@] pseudovariable for [[PageList templates]].%0a* Fix PageVar(), add $authpage array for an authenticated page data, removed $EnablePageVarAuth.%0a* Update documentation.%0a%0a!!! [[#v2223]] Version 2.2.23 (2011-01-25)%0a* Default $EnablePageVarAuth to 0 until the resolution of PITS:01242.%0a%0a!!! [[#v2222]] Version 2.2.22 (2011-01-16)%0a* Add $EnableXLPageScriptLoad to XLPage() to prevent editors from changing the encoding.%0a* PageVariables now respect authentications (PITS:01213).%0a* Add $EnablePageVarAuth.%0a* Update documentation.%0a%0a!!! [[#v2221]] Version 2.2.21 (2010-12-14)%0a* Fix potential XSS vulnerability, reported by DFaure.%0a* Fix invalid HTML for simple table captions, reported by JL.%0a* Fix WikiStyles could work not properly if a value was empty like accesskey="".%0a%0a!!! [[#v2220]] Version 2.2.20 (2010-12-14)%0a* Fix Pagelist [={$$variable}=] didn't work in template none (PITS:01212).%0a* Fix interface access keys in browse mode (PITS:01188).%0a* Add PmL10n: intermap prefix for the Localization/ group on pmwiki.org (PITS:01180).%0a* Fix AuthUser excluding members didn't work (PITS:01201).%0a* Update documentation.%0a%0a!!! [[#v2219]] Version 2.2.19 (2010-11-10)%0a* Update documentation.%0a%0a!!! [[#v2218]] Version 2.2.18 (2010-09-04)%0a* Fix $SaveAttrPatterns to skip nested conditionals (reported by RandyB).%0a* Fix RecentChanges when an edit summary contains the dollar sign (PITS:01217).%0a* Fix RDF feed number of elements (PITS:01198).%0a* Update documentation.%0a%0a!!! [[#v2217]] Version 2.2.17 (2010-06-20)%0a* Add tabindex as a valid form attribute (PITS:01190).%0a* Collapse adjacent insertions in DiffRenderSource (PITS:01192).%0a* Fix HandleDownload to flush() output before exit (PITS:01199).%0a* Fix HandleDownload to respect $EnableIMSCaching (PITS:01191).%0a* Add $PostConfig functions and scripts, loaded after stdconfig.php (PITS:01132).%0a* Add $AuthUserPat variable for the regexp pattern in AuthUserId() (PITS:01202).%0a* Pass $authlist as last parameter to $AuthUserFunctions (PITS:01197).%0a* Fix "exists" conditional to work with old link markup.%0a* Update documentation.%0a%0a!!! [[#v2216]] Version 2.2.16 (2010-05-10)%0a* Allow "exists" conditional to accept wildcards (PITS:01184)%0a* Fix GUI button [=%25center%25=] which didn't work correctly.%0a* Fix incorrectly parsed quote in PQA(), possible script injection (discovered by Hanno Boeck).%0a%0a!!! [[#v2215]] Version 2.2.15 (2010-03-27)%0a* Add @@ (Auth|Edit)Form @@ to auto-translated titles.%0a* Fix [@ (:if auth LEVEL:) @] to respect $HandleAuth (PITS:01164).%0a* Skip loading of the second half of draft.php if $action!="edit".%0a* Fix bug with [@ (:template none:) @] introduced in 2.2.14, reported by Holger.%0a* Fix HandleDownload() to use binary file-read.%0a%0a!!! [[#v2214]] Version 2.2.14 (2010-02-27)%0a* Fix inline styles in WikiTrails (PITS:01121).%0a* Add a negation parameter to pagelist first/last templates (PITS:01127).%0a* Refactor FPLTemplateFormat(), move repeated code blocks into FPLExpandItemVars().%0a* Add $EnableUndefinedTemplateVars allowing to hide or show undefined template/include [={$$variables}=] (PITS:01152).%0a* Add "title" attribute to external links (PITS:00657).%0a* Add FmtPageTitle() to allow automatic i18n titles for RecentChanges and other technical pages (PITS:01157).%0a* Update documentation.%0a%0a!!! [[#v2213]] Version 2.2.13 (2010-02-21)%0a* Replace deprecated in PHP 5.3 function split() with explode().%0a* Add $WordDiffFunction default to PHPDiff().%0a* Use existing border colors as highlighting background.%0a* Refactor/optimize DiffRenderSource(), merge with DiffRenderInline().%0a* Change default history to show word-level highlighting.%0a* Fix bug with $DiffKeepNum which kept less revisions than it should.%0a* Fix RetrieveAuthPage() call from HandleDiff().%0a* Update documentation.%0a%0a!!! [[#v2212]] Version 2.2.12 (2010-02-17)%0a* Allow a custom $DiffHTMLFunction to skip the line rendering if it returns false.%0a* Add $EnableDiffInline, simple word-level diffs (PITS:00571).%0a* Update documentation.%0a%0a!!! [[#v2211]] Version 2.2.11 (2010-02-14)%0a* Break PrintDiff() into customizable functions (PITS:01106).%0a* Add anchors to individual diffs (PITS:00796).%0a* Remove unused $RecipeInfo definition in markupexpr.php (reported by P.Bowers).%0a* Add [=(:head:) and (:headnr:)=] table directives (PITS:00535).%0a* Fix $GroupPattern and $NamePattern in xlpage-utf-8.php.%0a* Update documentation.%0a%0a!!! [[#v229]] [[#v2210]] Version 2.2.9, 2.2.10 (2010-01-17)%0a* Fix i18n string in PasswdVar(), reported by SteP.%0a* Fix sample-config.php with correct information about $EnableWSPre (PITS:01145).%0a* Fix range searches for wikis in UTF-8 (reported by Maxim).%0a* Fix global variable $StringFolding in scripts/xlpage-utf-8.php.%0a* Fix markup for italics in creole.php.%0a* Fix previews for PTVs, [[PageList templates]] and included sections (PITS:01098).%0a* Add $DiffKeepNum - number of revisions kept, even if older than $DiffKeepDays.%0a* Add Yandex to robots.php.%0a* Change default $EnableRelativePageVars to 1 (PITS:01145).%0a* Add fifth parameter to SetProperty() : keep existing property.%0a* Add $EnablePageTitlePriority (PITS:00266, PITS:00779).%0a* Update documentation.%0a%0a!!! [[#v228]] Version 2.2.8 (2009-12-07)%0a* Fix apostrophes in Author field (PITS:01155).%0a* Fix Condition "exists" for PHP 5.3 (PITS:01156).%0a* Update documentation.%0a%0a!!! [[#v227]] Version 2.2.7 (2009-11-08)%0a* Fix GlobToPCRE() to work with !excl and -excl with PHP 5.3 (PITS:01149).%0a* Fix HandleDownload() correctly quote the filenames (PITS:01150).%0a* Fix SessionAuth() for PHP 5.3, the $_REQUEST array doesn't contain the $_COOKIE array (PITS:01141).%0a* Fix default timezone for PHP 5.3 (PITS:01141).%0a* Update documentation.%0a%0a!!! [[#v226]] Version 2.2.6 (2009-10-04)%0a* Escape apostrophes for multiline textarea/hidden form fields.%0a* Fix global unset of $MarkupRules in [[PmWiki/CustomMarkup|Markup()]] and DisableMarkup(), reported by D.Faure.%0a* Fix call to BuildMarkupRules() in MarkupToHTML(), suggested by Pm.%0a* Allow disabling of $PageListFilters and $FPLTemplateFunctions if set to -1 and thus allow replacing a core function with a custom one.%0a* Fix DRange() returned timestamps +1min or +1day when it shouldn't (PITS:01125).%0a* Add $MarkupWordwrapFunction to allow custom [@(:markup:)@] line width for multibyte wikis (PITS:00703).%0a* Add $MakeUploadNamePatterns to allow custom filename normalization for uploads.%0a* Add a fourth argument to PostRecentChanges() to allow this function to be called with a custom $RecentChangesFmt array.%0a* Add $RecentUploadsFmt, to allow logging of new uploads to the RecentChanges pages (PITS:00088).%0a* Fix Notify for some installations in safe_mode (PITS:00976).%0a* Add $HTMLHeaderFmt['guiedit'] variable in guiedit.php to allow customization (PITS:01146).%0a* Update documentation.%0a%0a!!! [[#v225]] Version 2.2.5 (2009-08-25)%0a* Add *.7z as accepted upload extension (PITS:00813).%0a* Fix global variable $HandleAttrFmt in HandleAttr (PITS:01126).%0a* Allow brackets in input element names (PITS:01131).%0a* Fix CSS class applied twice (PITS:01071).%0a* Fix Not-Modified headers could prevent caching (PITS:00802).%0a* Break FPLTemplate() into configurable sub-parts (PITS:01102).%0a* Add [@(:template none:)@] section for [[PageList templates]].%0a* Fix attr-protected page could be deleted with edit permissions (PITS:00238).%0a* Update documentation.%0a%0a!!! [[#v224]] Version 2.2.4 (2009-07-16)%0a* Fix bug with page attributes, which somehow didn't make it in the 2.2.3 release.%0a* Fix bug with HTML entities in XLPages introduced earlier today in 2.2.3 (reverted, PITS:01114).%0a%0a!!! [[#v223]] Version 2.2.3 (2009-07-16)%0a* Fix action=logout could incorrectly set a session cookie (PITS:01062).%0a* Fix page history trim in vardoc.php (PITS:01103).%0a* Add $EnableUploadGroupAuth, use group password for downloads (PITS:01104).%0a* Fix recursive PTV loops, added $MaxPageTextVars (PITS:00915, PITS:01099).%0a* Fix mkdirp() messages for absolute paths (PITS:00396).%0a* Fix sample-config.php order for urlapprove.php (PITS:01037).%0a* Fix broken signature links on preview.%0a* Fix crypt.php (action=crypt) could malfunction for passwords with quotes or apostrophes.%0a* Fix @@ @_site_*@@ passwords to work in GroupAttributes (PITS:00836, PITS:00998).%0a* Fix possible XSS vulnerabilities, reported by Michael Engelke.%0a* Update documentation.%0a%0a!!! [[#v222]] Version 2.2.2 (2009-06-21)%0a* Fix class in pages not on the breadcrumbs trail, reported by Ed W.%0a* Fix @@tabindex@@ and @@onclick@@ to guiedit buttons.%0a* Fix $GroupPrintHeaderFmt in print.php (PITS:01073).%0a* Fix global vars in xlpage-utf-8.php (PITS:00980).%0a* Fix $txt in LinkPage (reported by Eemeli Aro).%0a* Add $EnableNotifySubjectEncode for international wikis (Cookbook:UTF-8).%0a* Fix international message in Abort().%0a* Fix security bug with AuthUser, reported by Eemeli Aro. See [[Release notes]].%0a* Fix $ActionTitleFmt for login and upload, reported by Eemeli Aro.%0a%0a!!! [[#v221]] Version 2.2.1 (2009-03-28)%0a* Fix $FPLTemplateMarkupFunction which somehow didn't get in the 2.2.0 archive.%0a* Fix wikitrails to work cross-group (PITS:00407).%0a* Add $EnableRedirectQuiet variable (PITS:00919).%0a* Fix [={$Title}=] could display global variables (reported by HansB).%0a* Fix reloaded form submissions could lose values (reported by DaveG).%0a* Fix preview while restoring a version from history (PITS:01081).%0a* Fix relative links with international characters (reported by G. Hermanowicz).%0a* Add in sample-config.php example call to xlpage-utf-8.php (PITS:01066).%0a* Update documentation.%0a* Fix guiedit.php to produce valid HTML.%0a%0a!!! [[#v220]] Version 2.2.0 (2009-01-18)%0a* Convert beta series to official release series.%0a* Add $FPLTemplateMarkupFunction (PITS:00984, requested by John Rankin).%0a%0a!!! [[#older]] Older versions%0a[[(PmWiki:)ChangeLog Archive]] - changes prior to version 2.2.0.%0a +time=1593841718 blob - /dev/null blob + 291ed14749355de4ceff0ed11dc00913fb7337ca (mode 644) --- /dev/null +++ wikilib.d/PmWiki.ConditionalMarkup @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Siegfried Seibert +charset=UTF-8 +csum=FILENAMES in attachexists must not have quotation marks (+40) +name=PmWiki.ConditionalMarkup +rev=188 +targets=PmWiki.Passwords,PmWiki.Security,PITS.01417,PmWiki.AuthUser,Cookbook.AuthUser,PmWiki.PageTextVariables,PmWiki.WikiTrails,PmWiki.PageVariables,PmWiki.MarkupExpressions,Cookbook.ConditionalMarkupSamples +text=(:Summary:The if directive allows portions of a page to be included or excluded from rendering:)%0a%25define=indent block margin-left=2em%25%0a(:Audience: authors, admins (advanced) :)%0aThe [@(:if:)@] directive allows portions of a page to be included or excluded from rendering. %0a%0a!! Using the [=(:if:)=] Directive%0aThe generic forms of the [@(:if:)@] directive are%0a%0a-> [@(:if cond param:) body (:ifend:)@]%0a-> [@(:if cond param:) body (:else:) body (:ifend:)@]%0a-> [@(:if cond param:) body (:elseif cond param:) body (:ifend:)@]%0a-> [@(:if cond param:) body (:elseif cond param:) body (:else:) body (:ifend:)@]%0a%0awhere "cond" names a condition to be tested, and "param" is a parameter or other argument to the condition.%0a%0a''Note that [@(:if:)@] without parameters and [@(:ifend:)@] are identical. Also note that [@(:if cond:)@] automatically closes a previous conditional. For nested multiple levels, see [[#nested-conditions|Nested conditionals]].''%0a%0a!! Built-in Conditions [[#built-in-conditions]]%0aThe built-in conditions include:%0a%0a(:table class='indent' border=0 cellpadding=0 cellspacing=0 valign=top:)%0a(:cellnr:)[@(:if name PAGENAME:)@]%0a(:cell:) - %0a(:cell:)current page is named "''[@PAGENAME@]''" or "''[@GROUPNAME.PAGENAME@]''"%0a(:cellnr:)[@(:if group GROUPNAME:)@]%0a(:cell:) - %0a(:cell:)current group is named "''[@GROUPNAME@]''"%0a(:cellnr:)[@(:if auth LEVEL PAGENAME:)@]%0a(:cell:) - %0a(:cell:)viewer is authorized - meaning "what they are allowed to do" - matches a "[@LEVEL@]" where [@LEVEL@] can be: [@read@], [@edit@], [@upload@], [@attr@] or [@admin@]; [@PAGENAME@] is optional.%0aThis is mostly used to hide and show portions of the interface only useful to editors or admins.%0a\\%0a%25red%25'''Security warning:''' Neither this nor any other condition is meant to hide ''secrets''. \%0aConditions may easily be circumvented%25%25 in many cases, as described in [[Passwords(#condmarkup-secrets)]].%0aSee also: [[Security]], [[PITS:01417]].%0a(:cellnr:)[@(:if authid:)@]%0a(:cell:) - %0a(:cell:)current viewer is authenticated - meaning they have proven who they are via login - to use this the wiki must include recipe [[PmWiki/AuthUser|AuthUser]] or others which set the [@$AuthId@] variable.%0a(:cellnr:)[@(:if enabled InvalidLogin:)@]%0a(:cell:) - %0a(:cell:)username and password not authenticated. To use this the wiki must include recipe [[Cookbook:AuthUser]].%0a(:cellnr:)[@(:if true:)@]%0a(:cell:) - %0a(:cell:)always include text, case sensitive%0a(:cellnr:)[@(:if false:)@]%0a(:cell:) - %0a(:cell:)always exclude text (same as a comment, but [[Page Text Variables(#conditionals)]] ARE set), case sensitive%0a(:cellnr:)[@(:if attachments FILENAMES PAGENAME:)@]%0a(:cell:) - %0a(:cell:)@@PAGENAME@@ has one or more attachments among the specified. A pagename can be omitted, in that case the current page is implied. %0a@@FILENAMES@@ specify an attachment like "pic1.jpg" or attachment patterns separated by commas, like "pic*.jpg,*.png" where asterisk (*) means "anything"; if omitted, any attachment (i.e. "*") is implied. \\%0aIf used in a sidebar, header, or footer, and the @@PAGENAME@@ is not specified, the condition applies to the main page. \\%0ae.g. [@(:if attachments *.png,*.gif Groupname.PageName:)@] (FILENAMES must not have quotation marks)%0a(:cellnr colspan=3:)In the following "if date" examples:%0a* [@DATE@] may be year-month. year-month-day is optional. %0a* [@VALUE@] can be a recognizable date via %25newwin%25[[http://php.net/manual/en/function.strtotime.php | strtotime()]]%0a* @@DATE@@ (or @@DATE1@@ and @@DATE2@@ below) have a more fixed format which explicitly must exclude spaces. Any spaces in @@DATE1@@ or @@DATE2@@ cause unpredictable results%0a* "now" or "today" is assumed if @@VALUE@@ is omitted%0a* %25newwin%25dates are in [[http://w3.org/QA/Tips/iso-date|standard]] format @@yyyy-mm-dd@@ or @@yyyymmdd@@ or @@yyyymmddThhmm@@ (note the "T" between the date and the hour, and also see comment above on format of @@VALUE@@)%0a* the ".." cannot have leading (when used with @@DATE1@@) or trailing spaces (when used with @@DATE2@@)%0a(:cellnr:)[@(:if date DATE VALUE:)@]%0a(:cell:) - %0a(:cell:)Evaluates to true if [@VALUE@] is within [@DATE@] %0a(:cellnr:)[@(:if date DATE1.. VALUE:)@]%0a(:cell:) - %0a(:cell:)true if [@VALUE@] (or current date if omitted) is [@DATE1@] or later (unlimited)%0a(:cellnr:)[@(:if date ..DATE2 VALUE:)@]%0a(:cell:) - %0a(:cell:)true if [@VALUE@] (or current date if omitted) is [@DATE2@] or earlier (unlimited)%0a(:cellnr:)[@(:if date DATE1..DATE2 VALUE:)@]%0a(:cell:) - %0a(:cell:)true if [@VALUE@] (or current date if omitted) is in range [@DATE1@] to [@DATE2@] (inclusive) %0a(:cellnr:)[@(:if enabled VAR:)@]%0a(:cell:) - %0a(:cell:)true if PHP @@VAR@@ is true%0a(:cellnr:)[@(:if enabled AuthPw:)@]%0a(:cell:) - %0a(:cell:)true if user has entered any password during the current browser session.%0a- This does not mean the user has entered the correct password, just that they entered one.%0a(:cellnr:)[@(:if equal STRING1 STRING2:)@]%0a(:cell:) - %0a(:cell:)true if [@STRING1@] equals [@STRING2@], use quotes if the string or string variable contains spaces, eg [@"MY STRING"@]%0a(:cellnr:)[@(:if match REG_EXPRESSION:)@]%0a(:cell:) - %0a(:cell:)true if current page name matches the regular expression%0a(:cellnr:)[@(:if exists PAGENAME:)@]%0a(:cell:) - %0a(:cell:)true if the page "''[@pagename@]''" or "''[@groupname.pagename@]''" exists%0a(:cellnr:)[@(:if ontrail WikiTrailPage ThisPage:)@] [[#ontrail]]%0a(:cell:) - %0a(:cell:)true if @@ThisPage@@ is in a list used as a [[wiki trails | trail]] on "''[@WikiTrailPage@]''"%0a(:tableend:)%0a%0aThe name and group conditionals will work even for an included page, as the "name" and "group" conditionals always check the currently displayed page, as opposed to the page that the markup appears in.%0a%0a'''Note''': Although there is no built-in conditional markup to test ?action=, you can use [@(:if equal {$Action} ACTION:)@]%0ato test what the current action being requested is.%0a%0a[[#concatenatedconditions]]%0a!! Concatenated conditions%0aIn some cases where built in conditions have a parameter the parameters may be concatenated using a comma, viz:%0a* @@ [=(:=]if name Name1,Name2,-Name3:) @@%0a* @@ [=(:=]if group -Group1,Group2,Group3:) @@%0a%0a!! Negated Conditions%0aNegated forms of conditions also work:%0a%0a(:table class='indent' border=0 cellpadding=0 cellspacing=0 valign=top:)%0a(:cellnr:)[@(:if !attachments:)@]%0a(:cell:) - %0a(:cell:)this page has no attachments%0a(:cellnr colspan=3:) %0a(:cellnr:)[@(:if ! name PAGENAME:)@]%0a(:cell rowspan=2 valign=middle:) - %0a(:cell rowspan=2 valign=middle:)current page is NOT named "[@PAGENAME@]"%0a(:cellnr:)[@(:if name -PAGENAME :)@]%0a(:cell:)%0a(:cellnr:)[@(:if group -GROUPNAME1,-GROUPNAME2 :)@]%0a(:cell:) - %0a(:cell:)group is not named "[@GROUPNAME1@]" or "[@GROUPNAME2@]"%0a(:tableend:)%0a%0a!! Nesting Conditions [[#nested-conditions]]%0aNote that [@(:if cond:)@] automatically closes a previous conditional. Thus, the following two examples have identical meaning:%0a* @@ [=(:=]if cond1:) cond1 is true [=(:=]if cond2:) cond2 is true [=(:=]ifend:)@@%0a* @@ [=(:=]if cond1:) cond1 is true %25bgcolor=#fcc%25[=(:=]ifend:)%25%25[=(:=]if cond2:) cond2 is true [=(:=]ifend:)@@%0a%0aConditions can be nested from 2.2.beta 66. To have nested conditionals you need to number the if, and the matching else/ifend:%0a->[@%0a(:if cond1:)%0a cond1 is true%0a (:if2 cond2:)%0a cond1 and cond2 are true%0a (:elseif2 cond3:)%0a cond1 and cond3 are true, cond2 is not%0a (:else2:)%0a cond1 is true, cond2 and cond3 are not%0a (:if2end:)%0a(:else:)%0a cond1 is false, cond2 testing was ignored%0a(:ifend:)%0a@]%0a[-''Spaces were added for better readability.''-]%0a%0a!! Using wildcard placeholders%0aThe character [@*@] can be used as a wildcard to represent any character, zero, one, or multiple times.\\%0aThe character [@?@] can be used as a wildcard to represent any character exactly once.\\%0aWildcard characters ([@*@] and [@?@]) can be used with the ''name'' and ''group'' conditional markups, thus:%0a%0a(:table class='indent' border=0 cellpadding=0 cellspacing=0 valign=top:)%0a(:cellnr:)[@(:if name PmCal.2005* :)@]%0a(:cell:) - %0a(:cell:)current page is in group PmCal and begins with 2005%0a(:cellnr:)[@(:if group PmWiki* :)@]%0a(:cell:) - %0a(:cell:)current page is in group PmWiki or a group beginning with PmWiki%0a(:cellnr:)[@(:if name Profiles.*,-Profiles.Profiles :)@]%0a(:cell:) - %0a(:cell:)current page is in group [@Profiles@] but not [@Profiles.Profiles@]%0a(:tableend:)%0a%0a!!Using [[PmWiki/page text variables]], [[PmWiki/page variables]] and [[PmWiki/markup expressions]]%0aPage text variables (PTVs), page variables (PVs) and markup expressions can be used in conditional markup. They will be assigned/evaluated before the condition(s). %0a%0a[[#combiningconditions]]%0a!! Combining conditions%0aConditions (as previously defined) may be combined into more complex conditional expressions using one of these three equivalent forms:%0a%0a->[@%0a(:if expr EXPRESSION :)%0a(:if [ EXPRESSION ] :)%0a(:if ( EXPRESSION ) :)@]%0a%0aConditions are combined into expressions with boolean operators and brackets. In the next table, A and B are either regular conditions or (round-)bracketed sub-expressions of regular conditions:%0a%0a>>indent%3c%3c%0a|| border=1 cellpadding=2 cellspacing=0%0a||! Expression ||! Operator ||! Result ||%0a|| [@A and B@] || And ||TRUE if both A and B are TRUE.||%0a|| [@A or B@] || Or ||TRUE if either A or B is TRUE.||%0a|| [@A xor B@] || Xor ||TRUE if either A or B is TRUE, but not both.||%0a|| [@! A@] || Not ||TRUE if A is not TRUE.||%0a|| [@A && B@] || And ||TRUE if both A and B are TRUE.||%0a|| [@A || B@] || Or ||TRUE if either A or B is TRUE.||%0a>>%3c%3c%0a%0aExample%0a->[@%0a(:if [ name SomePage and group SomeGroup ]:) equivalent to (:if name SomeGroup.SomePage:)@]%0a%0a'''Important Notes:'''%0a* Spaces are ''required'' around operators and brackets.%0a* No specific feedback is given for syntax errors or unbalanced brackets.%0a* Use round brackets (not square) for nested expressions.%0a%0aThus, the following is a valid way of building an expression that shows the following contents only when the user is either the administrator, or is logged in and the time is later than the given date:%0a%0a->[@(:if [ auth admin || ( authid && date 2006-06-01.. ) ] :)@]%0a%0aNesting with square brackets will silently fail to work as expected:%0a%0a->[@(:if [ auth admin || [ authid && date 2006-06-01 ] ] :) @]   %25red%25NOTE: Doesn't Work!%0a%0aA common use of these complex tests are for expressions like:%0a%0a->[@(:if expr auth admin || auth attr || auth edit :)@]%0a->[@[[Logout -> {$Name}?action=logout]]@]%0a->[@(:ifend:)@]%0a%0awhich provides a ''logout'' link only when the browser has admin, attr, or edit permissions.%0a%0a%25audience%25 admins (advanced)%0a!! Creating new conditions%0aSee [[Cookbook:ConditionalMarkupSamples]].%0a%0aSee also [[PmWiki/PageVariables#specialreferences|special references]] for the use of [={*$Variables}=]. +time=1592303086 blob - /dev/null blob + 7c662e270c6d389a20e0deedc7e24079e55902b4 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.ContactUs @@ -0,0 +1,11 @@ +version=pmwiki-2.2.119 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=fix protocol +ctime=1276999784 +name=PmWiki.ContactUs +rev=28 +targets=PmWiki.Download,PmWiki.Installation,PmWiki.MailingLists,PmWiki.HowToGetAssistance,PITS.PITS,PmWiki.Petko,PmWiki.PmWiki +text=(:title Contact us:)(:Summary:How to reach the PmWiki developers and community:)%0a(:if expr equal "{$ScriptUrl}" "https://www.pmwiki.org/wiki" || equal "{$ScriptUrl}" "http://www.pmwiki.org/wiki" :)%0aThis page contains information about some ways to contact the developers of the PmWiki software.%0a%0a'''If you have an objection about the content on some website other than pmwiki.org, please contact the owners of that website, not us.''' We only develop the PmWiki software which someone [[PmWiki:Download|downloaded]] and [[PmWiki:Installation|installed]] on their server.%0a%0a'''Questions about the software should be asked on the [[(https://)www.pmwiki.org]] site "talk" pages or on our public [[(PmWiki:)mailing lists]].''' See also [[(PmWiki:)How To Get Assistance]].%0a%0a'''Bugs''' should be reported to our [[(PITS:)PITS]] issue tracking system, or on our public [[(PmWiki:)mailing lists]].%0a%0aFor '''security bug disclosures''' please [[mailto:5ko@5ko.fr?cc=pmichaud@pobox.com&subject=PmWiki%2520security%2520disclosure|e-mail Petko with cc: to Pm]].%0a%0a%0aThe primary author of PmWiki is Dr. Patrick R. Michaud (Pm) who can be contacted at http://www.pmichaud.com.%0a%0aThe current core developer of PmWiki and webmaster of pmwiki.org is [[PmWiki:Petko|Petko Yotov]] who can be contacted via e-mail at [[(mailto:)5ko@5ko.fr]]. If you need assistance with our software, please read [[(PmWiki:)How To Get Assistance]].%0a%0a(:else:)%0aThis website "{$WikiTitle}" is powered by the open source [[https://www.pmwiki.org/|PmWiki collaborative content management system]].%0a%0aTo contact the owners/editors of the "{$WikiTitle}" '''website''', look around starting at [[{$DefaultGroup}/]] or [[Path:/]]. Questions or objections about the website content should be directed to them.%0a%0aTo contact the developers and community publishing the PmWiki '''software''', please visit https://www.pmwiki.org/. %0a%0a(:if:)%0a%0a %0a +time=1570747084 +title=Contact us blob - /dev/null blob + 2f4e2f71ffd3a1e0d74da5300fc947ba477619ad (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Contributors @@ -0,0 +1,10 @@ +version=pmwiki-2.2.56 ordered=1 urlencoded=1 +author=Ian MacGregor +charset=UTF-8 +csum=updated my information +name=PmWiki.Contributors +post= Save +rev=66 +targets=PmWiki.PmWiki,PmWiki.Uploads,PmWiki.Links,PmWiki.WikiGroup,Cookbook.EmacsPmWikiMode,PmWiki.Petko,PmWiki.ChangeLog,PITS.PITS,PmWiki.MailingLists +text=(:Summary:A list of contributors to PmWiki development and improvement:)%0aHere's a list of contributors to [[PmWiki]] development and improvement. My apologies if I've forgotten anyone -- feel free to add your name if you've been left out, feel free to remove your name if you don't want to be associated with these people. :-)%0a%0a* GNUZoo - Several recipes, some security and bug fixes%0a* Scott Duff - pmwe, simple-journal.php, all-around Pm sanity checker %0a* Ross Kowalski - [[uploads]] and printable page research%0a* John Rankin - WikiTrails, [[Links]], `EditQuickReference, notify.php, documentation, debugging%0a* Joachim Durchholz - hacking documentation, general pest%0a* Jessica Tishmack - uploads, testing%0a* Jean-Claude Gorichon - voting%0a* Janice Heinold - early PmWiki testing and suggestions, documentation%0a* James Davis - WikiStyles markup, testing%0a* Isabelle Michaud - floating images markup, [[Wiki Group]]s, [[uploads]]/attachments%0a* Glenn Blalock - WikiStyles suggestions, testing, documentation%0a* Dawn Green - WikiStyles suggestions, [[uploads]], documentation%0a* Christian Ridderström - [[Cookbook:EmacsPmWikiMode |pmwiki-mode for Emacs]] and some other hacks/modifications.%0a* Carlo Strozzi - Internationalization, PmWiki on Boa, HTML redirection%0a* Michael Weiner - Modifications to the ToDo, RssFeedDisplay, MyPmWiki, and CommentBox recipes%0a* Criss Ittermann (aka Crisses/XES) - ye old best seller Blocklist2 that topped the charts for a while and many other recipes%0a* Rev. Ian MacGregor - I've contributed with monetary donations, skins, bug reports and continued testing. [[http://www.ianmacgregor.net/ | My personal website]] is powered by PmWiki.%0a* Petko Yotov - I have been the PmWiki core developer and pmwiki.org webmaster since January 2009 (after having worked with it since 2004). My contributions are at the [[Change log]] page, in the [[(PITS:)PITS]] issue tracking system and in the [[(PmWiki:)mailing lists]]. My cookbook recipes can be found at [[PmWiki:Petko|my profile page]].%0a +time=1381253012 blob - /dev/null blob + a5cb686665b74ef09fcf11c0e6e90b860cd0015f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.CreatingNewPages @@ -0,0 +1,10 @@ +version=pmwiki-2.2.42 ordered=1 urlencoded=1 +author=Ian MacGregor +charset=UTF-8 +csum=edited for grammar and appearance +name=PmWiki.CreatingNewPages +rev=113 +targets=PmWiki.Links,PmWiki.MyNewPage,Site.SideBar,PmWiki.WikiGroup +text=(:Summary:How to create a new page:)%0a(:title Creating New Pages:)%0a(:Audience: authors (basic) :)%0aThe first step to create a new page is to edit an existing page and add a link to the page you want to create. %0a%0a-> To link to your new page, you must choose a name for it. The best names describe the page's contents well, so that everyone can remember and type the name easily.%0a%0a-> To create a link, surround the page name with '''double brackets'''. Typing [@[[my new page]]@] will create a link to [[my new page]]. There's [[a lot you can do -> Links]] with double bracket links.%0a%0aYou can see that the links to [[my new page]] all have question marks after them. That's because [[my new page]] hasn't been written yet. Clicking the link as second step will take you to an edit form where you could write and finally save the new page. %0a%0a----%0aAnother way to create a page: in your browser's address bar (where the page URL is), replace the name of the current page with the name of the page you wish to create, and hit Enter or do whatever you would normally do to go to a new location. PmWiki will then dutifully tell you that the page you entered doesn't exist, but you can click on the "Edit" link in order to create, edit, and save the new page.%0a%0aThe drawback to this method is that there are no links to your new page, so you're the only person who knows it exists. It will be an orphan, unread, unlinked, unloved. That's why adding a link to an existing page or to the [[Site/SideBar]] is a better way to create a page.%0a----%0a%0aLearn more:%0a* You can also organize related pages into [[wiki group | groups]], and link between pages in different groups.%0a%0a>>faq%3c%3c [[#faq]]%0a[[#beginning]]%0aQ: How do I create a new page?%0aA: Typing [=[[my new page]]=] will create a link to the new page. There's [[PmWiki.Links | a lot you can do]] with double bracket links.%0a%0aQ: Why do some new pages have a title with spaces like "Creating New Pages" and others end up with a WikiWord-like title like "CreatingNewPages"?%0aA: The default page title is simply the name of page, which is normally stored as "CreatingNewPages." However, you can override a page's title by using the [@(:title Creating New Pages:)@] directive. This is especially useful when there are special characters or capitalization that you want in the title that cannot be used in the page name.%0a +time=1347315131 +title=Creating New Pages blob - /dev/null blob + 6255e98653fb7fbcdbcbdee2981f0c3ecb07629f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.CustomInterMap @@ -0,0 +1,9 @@ +version=pmwiki-2.2.34 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=redirect InterMap +name=PmWiki.CustomInterMap +rev=50 +targets=PmWiki.InterMap +text=(:redirect InterMap:)%0aSummary:Redirects to [[PmWiki.InterMap]]. +time=1320750931 blob - /dev/null blob + cdc962590917368324f3af4bfa2b46462f14f5d7 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.CustomMarkup @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=lead section +name=PmWiki.CustomMarkup +rev=179 +targets=PmWiki.PageTextVariables,PmWiki.Links,PmWiki.CustomMarkup,PmWiki.DebugVariables,Cookbook.Cookbook,PmWiki.LocalCustomizations,Cookbook.ParseArgs,PmWiki.ReleaseNotes,PmWiki.Functions,PmWiki.BasicVariables,PmWiki.CustomMarkup-Talk,PmWiki.MailingLists,Cookbook.JavaScript,Cookbook.JavaScript-Editable,PmWiki.Skins,PmWiki.LayoutVariables,PmWiki.CustomMarkupAlt +text=(:Summary: Using the Markup() function for custom wiki syntax; migration to PHP 5.5:)%0a(:Audience: administrators (intermediate) :)%0a%0aPmWiki's markup translation engine is handled by a set of rules; each rule searches for a specific pattern in the markup text and replaces it with some replacement text. Internally, this is accomplished by using PHP's "[[(http://www.php.net/)preg_replace]]" function.%0a%0a!! Introduction%0aRules are added to the translation engine via PmWiki's Markup() or function, which look like%0a->[@Markup($name, $when, $pattern, $replace); # if no evaluation is needed, or if PHP %3c 5.5%0aMarkup($name, $when, $pattern, $replace_function); # if evaluation is needed%0a%0a# DEPRECATED, will not work as of PHP 7.2%0aMarkup_e($name, $when, $pattern, $replace); # if evaluation is needed and 5.5%3c=PHP%3c=7.1@]%0a%0a* [@$name@] is a unique name (a string) given to the rule%0a* [@$when@] says when the rule should be applied relative to other rules%0a* [@$pattern@] is the pattern to be searched for in the markup text%0a* [@$replace@] is what the pattern should be replaced with.%0a* [@$replace_function@] is the name of the function which should be called with the match, and should return the replacement.%0a%0aFor example, here's the code that creates the rule for [@''emphasized text''@] (in ''scripts/stdmarkup.php''):%0a->[@Markup("em", "inline", "/''(.*?)''/", "%3cem>$1%3c/em>");@]%0a%0aBasically this statement says to create a rule called "em" to be performed with the other "inline" markups, and the rule replaces any text inside two pairs of single quotes with the same text ($1) surrounded by [@%3cem>@] and [@%3c/em>@].%0a%0a!!! Sequence in which rules are applied%0aThe first two parameters to Markup() are used to specify the sequence in which rules should be applied. The first parameter provides a name for a rule -- "[@em@]" in the example above. We could've chosen other names such as "[@''@]", or even "[@twosinglequotes@]". In general PmWiki uses the markup itself to name the rule (i.e., PmWiki uses "[@''@]" instead of "[@em@]"), but to keep this example easier to read later on we'll use a mnemonic name for now.%0a%0aThe second parameter says that this rule is to be done along with the other "inline" markups. PmWiki divides the translation process into a number of phases:%0a%0a _begin start of translation%0a [={$var}=] [[Page Text Variables]] happen here.%0a fulltext translations to be performed on the full text %0a split conversion of the full markup text into lines to be processed%0a directives directive processing%0a inline inline markups%0a links conversion of [[links]], url-links, and WikiWords %0a block block markups%0a style style handling %0a _end end of translation%0a%0a%0aThis argument is normally specified as a left-angle bracket ("before") or a right-angle bracket ("after") followed by the name of another rule. %0a%0aThus, specifying "inline" for the second parameter says that this rule should be applied when the other "inline" rules are being performed. If we want a rule to be performed with the directives -- i.e., before inline rules are processed, we would specify "directives" or "%3cinline" for the second parameter.%0a%0a!!!!! [={$var}=] and [=(:if ...:)=] conditionals%0aA significant rule in terms of ordering is "[={$var}=]" which substitutes variables -- if you say "%3c[={$var}=]" then your markup will be processed before variables are substituted whereas if you say ">[={$var}=]" then your markup will be processed after variables are substituted. This happens before conditional [=(:if...:)=] expressions, which is why page text variables are processed even if they are defined inside [=(:if false:)=].%0a%0a!!! Markup regular expression definition%0aThe third parameter is a Perl-compatible regular expression. Basically, it is a slash, a [[regular expression -> http://www.php.net/manual/en/reference.pcre.pattern.syntax.php]], another slash, and a set of optional [[modifiers -> http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php]].%0a%0aThe example uses the pattern string [@"/''(.*?)''/"@], which uses [@''(.*?)''@] as the regular expression and no options. (The regular expression says "find two single quotes in succession, then as few arbitrary characters as are needed to make the match find something, then two additional single quotes in succession"; the parentheses "capture" a part of the wikitext for later use.)%0a%0a!!! Replacement text%0aThe fourth parameter is the replacement text that should be inserted instead of the marked-up wikitext. You can use [@$1@], [@$2@], etc. to insert the text from the first, second etc. parenthesised part of the regular expression.%0a%0aIn the example, we have [@"%3cem>$1%3c/em>"@], which is an [@%3cem>@], the text matched by the first parentheses (i.e. by the [@.*?@] section of the pattern), and [@%3c/em>@].%0a%0aHere's a rule for [@@@monospaced@@@] text:%0a%0a->[@Markup("@@", "inline", "/@@(.*?)@@/", "%3ccode>$1%3c/code>");@]%0a%0aand for a [@[:comment ...:]@] directive that is simply removed from the output:%0a%0a->[@Markup("comment", "directives", "/\\[:comment .*?:\\]/", '');@]%0a%0aOkay, now how about the rule for [@'''strong emphasis'''@]? We have to be a bit careful here, because although this translation should be performed along with other inline markup, we also have to make sure that the rule for [@'''@] is handled ''before'' the rule for [@''@], because [@'''@] also contains [@''@]. The second parameter to Markup() can be used to specify the new rule's relationship to any other rule:%0a%0a->[@Markup("strong", "%3cem", "/'''(.*?)'''/", "%3cstrong>$1%3c/strong>");@]%0a%0aThis creates a rule called "strong", and the second parameter "%3cem" says to be sure that this rule is processed before the "em" rule we defined above. If we wanted to do something after the "em" rule, we would use ">em" instead. Thus, it's possible to add rules at any point in PmWiki's markup translation process in an extensible manner. (In fact, the "inline", "block", "directives", etc., phases above are just placeholder rules used to provide an overall sequence for other rules. Thus one can use "%3cinline" to specify rules that should be handled before any other inline rules.) %0a%0aIf you want to disable available markup just call e.g.:%0a%0a->[@DisableMarkup("strong");@]%0a%0aPmWiki's default markup rules are defined in the ''scripts/stdmarkup.php'' file. To see the entire translation table as the program is running, the scripts/diag.php module adds "[@?action=ruleset@]", which displays the set of defined markup rules in the sequence in which they will be processed. You can see it at [[CustomMarkup?action=ruleset | CustomMarkup?action=ruleset]]. You must first enable the action by setting $EnableDiag = 1 in your configuration file.%0a%0a!! Other common examples%0a%0a!!! Define a custom markup to produce a specific HTML or Javascript sequence%0a%0aSuppose an admin wants to have a simple "[@(:example:)@]" markup that will always produce a fixed HTML string in the output, such as for a webring, Google AdSense display, or Javascript. The Markup() call to do this would be:%0a%0a->[@%0aMarkup('example', 'directives',%0a '/\\(:example:\\)/',%0a Keep("%3cdiv class='example'>%3cp>Here is a %0a %3ca target='_blank' href='http://www.example.com'>link%3c/a> to%0a %3cem>example.com%3c/em>%3c/p>%3c/div>") );%0a@]%0a%0a* The first argument is a unique name for the markup ("example").%0a* The second argument says to perform this markup along with other directives.%0a* The third argument is the pattern to look for "(:example:)".%0a* The fourth argument is the HTML that "(:example:)" is to be replaced with. We use the Keep() function here to prevent the output from being further processed by PmWiki's markup rule -- in the above example, we don't want the http://www.example.com url to be again converted to a link.%0a%0a[[#random]]%0a!!! Define a markup to call a custom function that returns content%0a%0a->%25red%25 The /e modifier has been deprecated and should not be used in ongoing development. See [[#php55|below]] for more details.%25%25%0a%0aFor older PHP versions (%3c 7.2) an 'e' option on the [@$pattern@] parameter causes the [@$replace@] parameter to be treated as a PHP expression to be evaluated instead of replacement text. To avoid using the deprecated e/ parameter, a markup to produce a random number between 1 and 100 might now look like:%0a%0a->[@%0aMarkup('random', 'directives',%0a '/\\(:random:\\)/',%0a "MyRandomFunction");%0afunction MyRandomFunction() {%0a return rand(1, 100);%0a}%0a@]%0a%0aThis calls the PHP built-in rand() function and substitutes the directive with the result. Any function can be called, including functions defined in a [[local customization(s)]] file or in [[Cookbook:Cookbook|Cookbook]] recipes.%0a%0aArguments can also be passed by using regular expression capturing parentheses, thus%0a%0a->[@%0aMarkup('randomargs', 'directives',%0a '/\\(:random (\\d+) (\\d+):\\)/',%0a "MyRandomFunction");%0afunction MyRandomFunction($m) {%0a return rand($m[1], $m[2]);%0a}%0a@]%0a%0awill cause the markup [@(:random 50 100:)@] to generate a random number between 50 and 100.%0a%0a->%25note%25 Note: the /e modifier in regular expressions is deprecated since PHP version 5.5, and removed since PHP version 7. The reason for this is, that malicious authors could pass strings that could cause arbitrary and undesirable PHP functions to be executed.%0a%0aFor a PmWiki function to help with parsing arbitrary sequences of arguments and key=value pairs, see Cookbook:ParseArgs.%0a%0a[[#php55]]%0a!! Migration to PHP 5.5 and @@Markup_e()@@%0aSince PHP version 5.5, the @@/e@@ evaluation modifier is deprecated and some hosting providers don't allow its use.%0a%0aRecent [[ReleaseNotes | versions]] of the PmWiki core (2.2.58 and newer) allow new ways to define markup rules without being dependent on the @@/e@@ eval modifier. The historical ways to define markup rules are not removed and work, but may be incompatible with PHP 5.5 installations.%0a%0a''Note: whether your replacement pattern needs evaluation or not, you must use %25green%25@@Markup()@@%25%25 and %25red%25not @@Markup_e()@@.%25%25'' The latter is deprecated and should no longer be used for new recipes and customizations, and old recipes using @@Markup_e@@ should be upgraded to the new format.%0a%0aThe examples below all require PmWiki 2.2.58 (2013-12-25) or newer but the latest version is recommended.%0a%0a>>frame%3c%3c%0aTHE SHORT ANSWER: If your markup regular expression (the 3rd argument) contains an "e" after the closing slash (i.e., @@/regex/e@@ or @@/regex/se@@ or etc) AND your 4th argument is entirely surrounded with double-quotes then you may be able to get away with simply following these simple steps:%0a%0a# Delete the "e" from after the closing slash in the 3rd argument%0a# Create a new replacement function with $m as argument.%0a# In your function, the previous occurrences of '$1', '$2', etc. are now found as $m[1], $m[2], etc. You should no longer call @@[[Functions#PSS|PSS()]]@@.%0a# In your function, call @@extract($GLOBALS['MarkupToHTML']);@@ in order to get the current $pagename and $markupid.%0a# Your function needs to '''return''' the result from the markup processing, either html or another markup.%0a# Set the name of the replacement function as 4th argument of the Markup() call.%0a%0aIn some cases this will not suffice - it depends on how quoting was done - but in many cases following these simple steps will result in PHP 5.5+ compatibility. %0a%0aIf you try those steps and are still having problems then continue to read below for a deeper understanding.%0a>>%3c%3c%0a%0aThe following is acceptable for PHP 5.5+ (compatible with PmWiki 2.2.58+, will also work in PHP 5.4 and older)%0a* @@Markup($name, $when, $pattern, $replace)@@; %0a** @@$pattern@@ can no longer have an "@@/e@@" modifier%0a** @@$replace@@ can be a function name (callback) which will be called with the array of matches as argument%0a** instead of a string, the fourth parameter can be a definition of an anonymous function (note you can use anon functions this way since [[http://php.net/manual/en/functions.anonymous.php | PHP 5.3.0+]]).%0a%0a* @@Markup_e($name, $when, $pattern, $replace)@@; %25red%25 DEPRECATED, should no longer be used%0a%0aExamples:%0a%0a* For PHP 5.4 and older, this was acceptable:[@%0aMarkup('randomargs', 'directives',%0a '/\\(:random (\\d+) (\\d+):\\)/e',%0a "rand('$1', '$2')"%0a );@]%0a%0a* For PHP 5.5 and newer, $replace is callback, we call Markup():[@%0aMarkup('randomargs', 'directives',%0a '/\\(:random (\\d+) (\\d+):\\)/',%0a "MyRandom"%0a );%0afunction MyRandom($m) { # $m = matches%0a return rand($m[1], $m[2]); # note "return" is used, unlike before%0a@]%0a %25note%25 This will also work in PHP 5.4 and older%25%25%0a%0aOther example:%0a* PHP 5.4 or older: [@%0aMarkup('Maxi:','%3clinks',%0a "/\\b([Mm]axi:)([^\\s\"\\|\\[\\]]+)(\"([^\"]*)\")?/e",%0a "Keep(LinkMaxi(\$pagename,'$1','$2','$4','$1$2'),'L')"%0a );%0a@]%0a%0a* PHP 5.5 or newer, PmWiki 2.2.58+, $replace is a function name: [@%0aMarkup('Maxi:','%3clinks',%0a "/\\b([Mm]axi:)([^\\s\"\\|\\[\\]]+)(\"([^\"]*)\")?/",%0a "LinkMaxi"%0a );%0afunction LinkMaxi($m) {%0a extract($GLOBALS['MarkupToHTML']); # to get $pagename%0a # do stuff with $m[1], $m[2], etc.%0a return Keep($out, 'L');%0a}%0a@]%0a %25note%25 This will also work in PHP 5.4 and older%25%25%0a%0a* $replace can also be a callback function, we call Markup(): [@%0aMarkup('Maxi:','%3clinks',%0a "/\\b([Mm]axi:)([^\\s\"\\|\\[\\]]+)(\"([^\"]*)\")?/",%0a "CallbackMaxi"%0a);%0afunction CallbackMaxi($m) {%0a extract($GLOBALS["MarkupToHTML"]); # to get $pagename%0a return Keep(LinkMaxi($pagename,$m[1],$m[2],$m[4],$m[1].$m[2]),'L');%0a}%0a@]%0a %25note%25 This will also work in PHP 5.4 and older%25%25%0a%0aThe above may seem complicated, but it is actually simpler to use your own callback function:%0a>>frame%3c%3c[@%0aMarkup('mykey', 'directives', %0a '/\\(:mydirective (.*?) (.*?):\\)/i',%0a 'MyFunction'%0a);%0afunction MyFunction($m) {%0a extract($GLOBALS["MarkupToHTML"]);%0a%0a # ... do stuff with $m (the matches), drop PSS() ...%0a%0a return $out; # or return Keep($html);%0a}%0a@]%0a>>%3c%3c%0a%0aIf you have any questions about the new way to define custom markup, you can ask us [[PmWiki:CustomMarkup-Talk|at the talk page]] or on the [[PmWiki/mailing lists]].%0a%0a%0a!!FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: How can I embed JavaScript into a page's output?%0aA: There are several ways to do this. The [[Cookbook:JavaScript]] recipe describes a simple means for embedding static JavaScript into web pages using [[custom markup]]. For editing JavaScript directly in wiki pages (which can pose various security risks), see the [[(Cookbook:)JavaScript-Editable]] recipe. For JavaScript that is to appear in headers or footers of pages, the [[skin(s)]] template can be modified directly, or %3cscript> statements can be inserted using the $HTMLHeaderFmt array.%0a%0aQ: How would I create a markup (''[=(:nodiscussion:)=]'') that will set a page variable (''[={$HideDiscussion}=]'') which can be used by ''[=(:if enabled HideDiscussion:)=]'' in [=.PageActions=]?%0aA: Add the following section of code to your config.php%0a-> [@%0aSDV($HideDiscussion, 0); #define var name%0aMarkup('hideDiscussion', '%3c{$var}',%0a '/\\(:nodiscussion:\\)/', 'setHideDiscussion'); %0afunction setHideDiscussion() { %0a global $HideDiscussion; %0a $HideDiscussion = true;%0a} %0a@]%0a%0aThis will enable the @@[=(:if enabled HideDiscussion:)=]@@ markup to be used. If you want to print the current value of [={$HideDiscussion}=] (for testing purposes) on the page, you'll also need to add the line: \\%0a@@[=$FmtPV['$HideDiscussion'] = '$GLOBALS["HideDiscussion"]';=]@@%0a%0a%0aQ: It appears that (.*?) does not match newlines in these functions, making the above example inoperable if the text to be wrappen in %3cem> contains new lines.%0aA: If you include the "s" modifier on the regular expression then the dot (.) will match newlines. Thus your regular expression will be "/STUFF(.*?)/s". That s at the very end is what you are looking for. If you start getting into multi-line regexes you may be forced to look at the m option as well - let's anchors (^ and $) match not begin/end of strings but also begin/end of lines (i.e., right before/after a newline). Also make sure your markup is executed during the fulltext phase.%0a %0aQ: How can the text returned by my markup function be re-processed by the markup engine?%0aA: If the result of your markup contains more markup that should be processed, you have two options. First is to select a "when" argument that is processed earlier than the markup in your result. For example, if your markup may return [=[[links]]=], your "when" argument could be @@"%3clinks"@@ and your markup will be processed before the links markup. The second option is to call the PRR() function in your markup definition or inside your markup function. In this case, after your markup is processed, PmWiki will restart all markups from the beginning. %0a%0aQ: How do I get started writing recipes and creating my own custom markup?%0aA: [[PmWiki:CustomMarkupAlt|(alternate) Introduction to custom markup for Beginners]]%0a%0aQ: How do I make a rule that runs once at the end of all other rule processing?%0aA: Use this statement instead of the usual @@Markup()@@ call:%0a-->@@$MarkupFrameBase['posteval']['myfooter'] = "\$out = onetimerule(\$out);";@@ +time=1567166609 blob - /dev/null blob + aa401b513d84c067173aa5cf28f0d6395289156b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.CustomWikiStyles @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +name=PmWiki.CustomWikiStyles +rev=65 +targets=PmWiki.WikiStyles,PmWiki.WikiAdministrator,PmWiki.LayoutVariables,Cookbook.Functions,Cookbook.WikiStylesPlus,Cookbook.Callout +text=(:Summary: Predefined PmWiki styles & adding custom wiki styles:)%0a(:Audience: administrators (intermediate) :)%0aThis page describes the predefined [[Wiki Styles]] and how a [[Wiki Administrator]] can define additional [[Wiki Styles]] as a local customization for all pages (in local/config.php) or specific groups (in local/$Group.php).%0a%0aAll predefined [[Wiki Styles]] are setup in the global array $WikiStyle.%0aTo define your own [[Wiki Styles]], add the setting of the correspondent `WikiStyle within the array.%0a%0a[[#predef]]%0a!! Predefined Wiki Styles%0a%0aThe following array-values are set by [@scripts/wikistyles.php@] using the [[Cookbook:Functions#SDV |SDV()-function]] (so you can overwrite them by setting them prior in config.php or farmconfig.php):%0a%0a||class='tabtable'%0a||!markup: ||!definition: ||%0a||[[%3c%3c]]'''text colors:''' ||[-(equivalent to [@%25define=xxxx color=xxxx%25@])-] ||%0a|| [@black@] ||[@$WikiStyle['black']['color'] = 'black';@] ||%0a|| [@white@] ||[@$WikiStyle['white']['color'] = 'white';@] ||%0a|| [@red@] ||[@$WikiStyle['red']['color'] = 'red';@] ||%0a|| [@yellow@] ||[@$WikiStyle['yellow']['color'] = 'yellow';@] ||%0a|| [@blue@] ||[@$WikiStyle['blue']['color'] = 'blue';@] ||%0a|| [@gray@] ||[@$WikiStyle['gray']['color'] = 'gray';@] ||%0a|| [@silver@] ||[@$WikiStyle['silver']['color'] = 'silver';@] ||%0a|| [@maroon@] ||[@$WikiStyle['maroon']['color'] = 'maroon';@] ||%0a|| [@green@] ||[@$WikiStyle['green']['color'] = 'green';@] ||%0a|| [@navy@] ||[@$WikiStyle['navy']['color'] = 'navy';@] ||%0a|| [@purple@] ||[@$WikiStyle['purple']['color'] = 'purple';@] ||%0a||[[%3c%3c]]'''list-styles:''' ||||%0a|| [@decimal@] ||[@$WikiStyle['decimal']['apply'] = 'list';@][[%3c%3c]][@$WikiStyle['decimal']['list-style'] = 'decimal';@] ||%0a|| [@roman@] ||[@$WikiStyle['roman']['apply'] = 'list';@][[%3c%3c]][@$WikiStyle['roman']['list-style'] = 'lower-roman';@] ||%0a|| [@ROMAN@] ||[@$WikiStyle['ROMAN']['apply'] = 'list';@][[%3c%3c]][@$WikiStyle['ROMAN']['list-style'] = 'upper-roman';@] ||%0a|| [@alpha@] ||[@$WikiStyle['alpha']['apply'] = 'list';@][[%3c%3c]][@$WikiStyle['alpha']['list-style'] = 'lower-alpha';@] ||%0a|| [@ALPHA@] ||[@$WikiStyle['ALPHA']['apply'] = 'list';@][[%3c%3c]][@$WikiStyle['ALPHA']['list-style'] = 'upper-alpha';@] ||%0a||[[%3c%3c]]'''special:''' ||||%0a||open links in a new browser-window: ||||%0a|| [@newwin@] ||[@$WikiStyle['newwin']['target'] = '_blank';@] ||%0a||Turns markup into a comment via display:none CSS ||||%0a|| [@comment@] ||[@$WikiStyle['comment']['display'] = 'none';@] ||%0a||[[%3c%3c]]'''wiki styles''' ||||%0a|| [@frame@] ||border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; ||%0a|| [@lfloat@] ||float:left; margin-right:0.5em; ||%0a|| [@rfloat@] ||float:right; margin-left:0.5em; ||%0a|| [@thumb@] ||%0a|| [@lframe@] ||frame lfloat||%0a|| [@rframe@] ||frame rfloat||%0a|| [@cframe@] ||%0a|| [@pre@] ||block white-space:pre ||%0a|| [@sidehead@] ||block class:sidehead ||%0a%0a!!Author-Defined Wiki Styles%0a%0a# The first index of the array defines the style name (e.g. mynewstyle, projectentry etc)%0a# the second index defines the attribute name (e.g. color, background-color, etc.)%0a# the value set defines the attribute value (e.g. red, bold, #00ffcc, etc.)%0a%0a'''Sample:''' If you want to define a (site-wide) style the same as the page style%0a->[@%25define=projectentry color:red%25@]%0ause%0a->[@$WikiStyle['projectentry']['color'] = 'red';@]%0a%0a%0aThe [@$WikiStyle['projectentry']['apply']@] variable may be defined if the wikistyle concerns a particular tag. It may be @@'item' (for li|dt), 'list' (for ul|ol|dl), 'div', 'pre', 'img', 'p'@@ or the combining @@'block' (for p|div|ul|ol|dl|li|dt|pre|h[1-6])@@. Example:%0a%0a [@$WikiStyle['top']['apply'] = 'item';@]%0a [@$WikiStyle['top']['class'] = 'top';@]%0a%0athen a markup%0a [@* %25top%25 An important list-item@]%0awill output%0a [@%3cli class="top">An important list-item%3c/li>@]%0a%0a!! Printer-Friendly Styles%0a%0aIf your custom-styles (in local/config.php) are getting very colorful it might be useful to disable them in print-view. This can be done easily by putting them into a condition.%0a%0a[@if($action!="print") {%0a // your custom-styles%0a}@]%0a%0a%0a!!FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: I tried this but background didn't work, though border and float worked?[@%0a$WikiStyle['vMenu']['background']='#ffffcc' ;%0a$WikiStyle['vMenu']['float']='left' ;%0a$WikiStyle['vMenu']['border']='1px dotted red' ;%0a@]%0a%0aA: Try using [@$WikiStyle['vMenu']['background-color']='#ffffcc';@] -- unlike @@background@@, @@background-color@@ is defined in the $WikiStyleCSS array, which is checked for valid properties.%0a%0a%0aQ: How would I set an image to the left of a paragraph in a WikiStyle? I'd like to provide an icon for paragraphs that are notes, important, warnings, etc.%0a%0aA: See [[(Cookbook:)WikiStylesPlus]] and [[(Cookbook:)Callout]].%0a%0a%0aQ:How can I remove underlining from a link, but make it underlined blue when the mouse hovers?%0a%0aA:Put in pub/css/local.css:%0a .noul a {text-decoration: none;}%0a .noul a:hover {text-decoration: underline; color: blue;}%0a%0aThen use this markup:%0a [@%25noul%25 [[Link]] %25%25@]%0a +time=1567166862 blob - /dev/null blob + b8cd30a5cacd955a369cccffdbab01788408bd7b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.DebugVariables @@ -0,0 +1,10 @@ +version=pmwiki-2.2.109 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$EnableMarkupDiag +ctime=1156512549 +name=PmWiki.DebugVariables +rev=18 +targets=PmWiki.DebugVariables,Cookbook.Stopwatch,PmWiki.AvailableActions,PmWiki.BasicVariables +text=(:Summary:variables useful for debugging:)%0a%0a:$AbortFunction:A custom function name replacing the built-in Abort() function. %0a:$EnableDiag:%0a>>indent%3c%3c%0a(:include AvailableActions#BEGENABLEDIAG#ENDENABLEDIAG:)%0a>>%3c%3c%0a%0a:$EnableMarkupDiag:By default, the "ruleset" action will display all markup rules, and the old-format patterns requiring update for PHP 7 will list with their files and line numbers. Setting $EnableMarkupDiag to 1 will list files and line numbers of all patterns. Note, this needs to be set early in config.php before a Markup() call or before including a recipe.%0a%0a:$EnableIMSCaching:A variable which, when set equal to 1, recognizes the "If-Modified-Since" header coming from browsers and allows browsers to use locally cached pages. Disabled by default to help the administrator customize its page without needing permanent reloading.%0a%0a:$EnableStopWatch:This activates an internal stopwatch that shows how long it takes to render a page. (If you have a wiki that composes a HTML page from multiple pages, such as a normal layout with a sidebar, you'll get separate timings for each subpage and for the total page.)%0a%0a: :The timings can be displayed by adding [@%3c!--function:StopWatchHTML 1-->@] in the wiki template.%0a%0a: :Valid values are:%0a $EnableStopWatch = 0; # No timings (the default). No HTML will be generated.%0a $EnableStopWatch = 1; # Wall-clock timings only.%0a $EnableStopWatch = 2; # Wall-clock and CPU usage timings. Won't work on Windows.%0a%0a: :See [[(Cookbook:)Stopwatch]] for more details.%0a%0aSee also:%0a* [[AvailableActions#refcount|scripts/refcount.php]] is useful for debugging%0a%0a%0a----%0a>>faq%3c%3c[[#faq]]%0aQ:Is it possible for someone with admin priviledges to always have access to debugging tools, without letting everyone else access them?%0aA:You can easily & automatically allow debugging for anyone with admin priviledges (meanwhile leaving it off for everyone else) by including this line in config.php - ''just be sure that 1) $EnableDiag is either null or set to 0, and 2) to include it near the end of config.php, AFTER declaring your passwords, and after any AuthUser or other priviledge settings'':%0a%0a-->@@if (CondAuth($pagename, 'admin')) $EnableDiag = 1; # allows admin to always call phpinfo, etc@@%0a%0a>>%3c%3c%0a +time=1531569167 blob - /dev/null blob + c7f21ea654b469bcda34264d91b1a10c5c303286 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.DeletingPages @@ -0,0 +1,9 @@ +version=pmwiki-2.2.54 ordered=1 urlencoded=1 +author=MichaelPaulukonis +charset=UTF-8 +csum=added maintenance tag +name=PmWiki.DeletingPages +rev=37 +targets=PmWiki.WikiAdministrator,Site.AllRecentChanges,PmWiki.EditVariables,Cookbook.DeleteAction,PmWiki.BackupAndRestore,Cookbook.CleanUp,PmWiki.WikiGroup,PmWiki.RecentChanges,Cookbook.RecentChangesDeletion,PmWiki.Categories,Category.Maintenance +text=(:Summary: Removing wiki pages:)%0aTo delete a wiki page, edit the page, select (highlight) all text in the edit textarea, and replace it with the single word%0a%0a->[@delete@]%0a%0aIt is a good idea to add a comment to the @@summary@@ field%0aexplaining why you deleted the page. (The field @@summary@@ is usually found%0ajust below the edit textarea).%0a%0aOn saving the change the page is deleted. As an added safety feature, the deleted page still exists on the server (with a timestamp) and can be restored to the former page by the [[wiki administrator]].%0a%0aIf you suspect that a page has been deleted but aren't sure, have a look at the wikigroup's [=RecentChanges=]. Erasing a page counts as editing the page, and the activity is recorded there and on [[{$SiteGroup}.AllRecentChanges]].%0a%0aThe default word used for page deletion ("delete") can be changed in @@config.php@@ by setting the variable $DeleteKeyPattern (see [[Edit Variables]]). %0aIf there is a danger of malicious page deletion it may be a good idea to change the delete word to something more obscure. %0aThere is also a recipe for creating a separate delete action at Cookbook:DeleteAction.%0a%0a[[#cleanup]]%0a!! Removing deleted pages%0a%0aThe deleted pages are retained in the same @@wiki.d@@ directory in which they were created.%0aThey are renamed with an extension of @@,del-123456789@@ where @@123456789@@ is a unique number (timestamp). %0aA wiki administrator may log into the server via FTP or SSH and periodically remove these files.%0a%0aOne way to remove the files is to delete them. %0aIf you have shell access, you could use different commands, for example, go into the wiki.d directory and type one of these lines:%0a->[@rm -f *,del-*%0afind . -name '*,del-*' -delete@]%0a%0aAlternatively, the Cookbook:CleanUp recipe can purge those unused files. See also [[BackupAndRestore]].%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How is a [[Wiki Group]] deleted?%0aA: An admin can remove the group pages from @@wiki.d/@@. Note that a wiki page may also have related uploads.%0a%0aA: Fully deleting a group via the wiki isn't possible, since a delete counts as an "update" which causes the [[Recent Changes]] page to be re-created.%0aIt is possible to modify the site's configuration to allow deletion of the group's RecentChanges page -- see Cookbook:RecentChangesDeletion.%0a%0aQ: How is a [[Categories|Category]] deleted?%0aA: To delete a category, delete all the [@[[!Category]]@] references from all pages where they occur, then delete the category page as explained above.%0a%0a[[!maintenance]]%0a +time=1377051424 blob - /dev/null blob + 00424f08afd52c9552e4f4e573ee40d6a82ebeee (mode 644) --- /dev/null +++ wikilib.d/PmWiki.DesignNotes @@ -0,0 +1,9 @@ +version=pmwiki-2.2.36 ordered=1 urlencoded=1 +author=Caroline Guénette +charset=UTF-8 +csum=Add to category "PmWiki Developer" +name=PmWiki.DesignNotes +rev=27 +targets=PmWiki.PmWikiPhilosophy,PmWiki.MailingLists,PmWiki.FlatFileAdvantages,PmWiki.HierarchicalGroups,PmWiki.PageLocking,PmWiki.SimultaneousEdits,PmWiki.PageFileFormat,PmWiki.SearchImprovements,PmWiki.FilePermissions,PmWiki.WikiGroupMotivation,PmWiki.WYSIWYG,PmWiki.DesignNotes,Category.PmWikiDeveloper +text=(:Summary:Some of the features and notes about PmWiki's design decisions:)%0aHere are some of the features and notes about PmWiki's design decisions. %0aMany of these derive directly from the [[PmWiki Philosophy]] and lots of discussion on the [[mailing lists]].%0a%0a* [[PmWiki:Flat File Advantages]] - why PmWiki uses flat files to store pages instead of an SQL database%0a* [[PmWiki:Hierarchical Groups]] - why PmWiki doesn't support nested groups%0a* [[PmWiki:Page Locking]] - how PmWiki works without locking pages (see also [[simultaneous edits]])%0a* [[PmWiki:Page File Format]] - the format of PmWiki's page files%0a* [[PmWiki:Search Improvements]] - why PmWiki has a native search engine%0a* [[PmWiki:File Permissions]] - some information about PmWiki's file permission settings%0a* [[PmWiki:Wiki Group Motivation]] - why WikiGroups%0a* [[PmWiki:WYSIWYG]] - why not WYSIWYG.%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: Why doesn't PmWiki use hierarchical / nested groups?%0aA: It essentially comes down to figuring out how to handle %0apage links between nested groups; if someone can figure out %0aan obvious, intuitive way for authors to%0ado that, then nested groups become plausible. See [[Design Notes]]%0aand [[PmWiki:Hierarchical Groups]].%0a%0aQ: Why don't PmWiki's scripts have a closing ?> tag?%0aA: All of PmWiki's scripts now omit the closing ?> tag. The tag is not%0arequired, and it avoids problems with unnoticed spaces or blank%0alines at the end of the file. Also, some file transfer protocols%0amay change the newline character(s) in the file, which can also%0acause problems. See also the [[http://php.net/manual/en/language.basic-syntax.instruction-separation.php | Instruction separation ]] page in the PHP manual.%0a%0aQ: Does PmWiki support WYSIWYG editing (or something like the FCKEditor)?%0aA: Short answer: PmWiki provides GUI buttons in a toolbar for common markups, but otherwise does not have WYSIWYG editing. For the reasons why, see PmWiki:WYSIWYG.%0a%0aCategories: [[!PmWiki Developer]]%0a%0a +time=1330954338 blob - /dev/null blob + 8859ba306b09f5f4e1e7aff3c1d52537d35bf697 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.DocumentationIndex @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=rm manual TOC +name=PmWiki.DocumentationIndex +rev=423 +targets=PmWiki.DocumentationIndex,PmWiki.DocumentationGuidelines,PmWiki.Introduction,PmWiki.BasicEditing,PmWiki.CreatingNewPages,PmWiki.Links,PmWiki.Images,PmWiki.TextFormattingRules,PmWiki.MarkupMasterIndex,PmWiki.Uploads,PmWiki.Tables,PmWiki.TableDirectives,PmWiki.TableOfContents,PmWiki.WikiStyles,PmWiki.WikiStyleExamples,PmWiki.AccessKeys,PmWiki.PageDirectives,PmWiki.IncludeOtherPages,PmWiki.InterMap,PmWiki.ConditionalMarkup,PmWiki.PageVariables,PmWiki.PageTextVariables,PmWiki.MarkupExpressions,PmWiki.Forms,PmWiki.SimultaneousEdits,PmWiki.WikiStructure,PmWiki.WikiGroup,PmWiki.GroupHeaders,PmWiki.WikiTrails,PmWiki.PageHistory,PmWiki.Passwords,PmWiki.Categories,PmWiki.PageLists,PmWiki.DeletingPages,PmWiki.WikiElements,PmWiki.SpecialPages,PmWiki.Installation,PmWiki.InitialSetupTasks,PmWiki.Upgrades,PmWiki.BackupAndRestore,PmWiki.UploadsAdmin,PmWiki.Security,PmWiki.CustomMarkup,PmWiki.CustomWikiStyles,PmWiki.Internationalizations,PmWiki.LocalCustomizations,PmWiki.GroupCustomizations,PmWiki.Skins,PmWiki.SkinTemplates,PmWiki.SitePreferences,PmWiki.WebFeeds,PmWiki.WikiFarms,PmWiki.FAQ,PmWiki.AQ,PmWiki.FAQCandidate,PmWiki.Questions,PmWiki.HowToGetAssistance,PmWiki.Troubleshooting,PmWiki.AvailableActions,PmWiki.AuthUser,PmWiki.Blocklist,PmWiki.Notify,PmWiki.PasswordsAdmin,PmWiki.RefCount,PmWiki.UrlApprovals,Cookbook.ModuleGuidelines,PmWiki.Variables,PmWiki.Functions,PmWiki.PageFileFormat,PmWiki.Audiences,PmWiki.Contributors,PmWiki.MailingLists,PmWiki.PmWikiPhilosophy,PmWiki.DesignNotes,PmWiki.ReleaseNotes,PmWiki.ChangeLog,PmWiki.References,PmWiki.Glossary,PmWiki.BasicVariables,PmWiki.EditVariables,PmWiki.FilePermissions,PmWiki.FmtPageName,PmWiki.I18nVariables,PmWiki.LayoutVariables,PmWiki.LinkVariables,PmWiki.OtherVariables,PmWiki.PagelistVariables,PmWiki.PageListTemplates,PmWiki.PathVariables,PmWiki.Requirements,PmWiki.SpecialCharacters,PmWiki.UploadVariables,PmWiki.WikiAdministrator,PmWiki.WikiPage,PmWiki.WikiWikiWeb,PmWiki.WikiWord +text=(:title Documentation Index:)(:Summary: PmWiki documentation index:)%0a%0aThe pages below describe various aspects of [[#using|using]], [[#admin|administering]] and [[#troubleshoot|troubleshooting]] a PmWiki installation, as well as aspects of the [[#misc|PmWiki community]].%0a%0aAs you know, documentation is ''always'' incomplete. %0aFeel free to help yourself and others by contributing to it. %0aJust edit the pages on %25newwin%25[[PmWiki:DocumentationIndex|pmwiki.org]]%25%25. %0aYou might want to follow or contribute to the %25newwin%25[[PmWiki:DocumentationGuidelines | documentation guidelines]]%25%25.%0a----%0a[[#trailstart]]%0a* [[Introduction]] %25item comment%25%0a%0a!! [[#using]] Beginner Topics for Creating and Editing Pages%0a%0a* [[Basic editing]] - {BasicEditing$:Summary}%0a* [[Creating new pages]] - {CreatingNewPages$:Summary}%0a* [[Links]] - {Links$:Summary}%0a* [[Images]] - {Images$:Summary}%0a* [[Text formatting rules]] - {TextFormattingRules$:Summary}%0a%0a!! [[#intermed]] Intermediate Editing Topics%0a* [[Markup master index]] - {MarkupMasterIndex$:Summary}%0a%0a* [[Uploads]] - {Uploads$:Summary}%0a* [[Tables]] - {Tables$:Summary}%0a* [[Table directives]] - {TableDirectives$:Summary}%0a* [[Table of contents]] - {TableOfContents$:Summary}%0a* [[Wiki styles]] - {WikiStyles$:Summary}%0a** [[Wiki style examples]] - {WikiStyleExamples$:Summary}%0a%0a* [[Access keys]] - {AccessKeys$:Summary}%0a* [[Page directives]] - {PageDirectives$:Summary}%0a* [[Include other pages]] - {IncludeOtherPages$:Summary}%0a* [[InterMap]] links - {InterMap$:Summary}%0a* [[Conditional markup]] - {ConditionalMarkup$:Summary}%0a* [[Page variables]] - {PageVariables$:Summary}%0a* [[Page text variables]] - {PageTextVariables$:Summary}%0a* [[Markup expressions]] - {MarkupExpressions$:Summary}%0a* [[Forms]] - {Forms$:Summary}%0a%0a* [[Simultaneous edits]] - {SimultaneousEdits$:Summary}%0a%0a!! [[#struct]] Organizing and Protecting Pages%0a* [[Wiki structure]] - {WikiStructure$:Summary}%0a* [[Wiki group]]s - {WikiGroup$:Summary}%0a* [[Group headers]] - {GroupHeaders$:Summary}%0a* [[Wiki trails]] - {WikiTrails$:Summary}%0a* [[Page history]] - {PageHistory$:Summary}%0a%0a* [[Passwords]] - {Passwords$:Summary}%0a* [[Categories]] - {Categories$:Summary}%0a* [[Page lists]] - {PageLists$:Summary}%0a* %25%25 [[PageDirectives#attachlist|Attach lists]] - Get a list of files uploaded and attached to a group using [=(:attachlist:)=] [-({PageDirectives$:Summary})-]%0a* [[Deleting pages]] - {DeletingPages$:Summary}%0a* [[(PmWiki:)Wiki elements]] - {WikiElements$:Summary}%0a* [[(PmWiki:)Special pages]] - {SpecialPages$:Summary}%0a%0a!! [[#admin]] PmWiki Site Administration%0a!!! [[#install]]Installation and maintenance%0a* [[Installation]] - {Installation$:Summary}%0a* [[Initial setup tasks]] - {InitialSetupTasks$:Summary}%0a* [[Upgrades]] - {Upgrades$:Summary}%0a* [[Backup and Restore]] - {BackupAndRestore$:Summary}%0a* [[Uploads admin]]istration - {UploadsAdmin$:Summary}%0a* [[Security]] - {PmWiki/Security$:Summary}%0a%0a!!! [[#customise]] Customisation%0a* [[Custom markup]] - {CustomMarkup$:Summary}%0a* [[Custom wiki styles]] - {CustomWikiStyles$:Summary}%0a* [[Internationalizations]] - {Internationalizations$:Summary}%0a* [[Local customizations]] - {LocalCustomizations$:Summary}%0a* [[Group customizations]] - {GroupCustomizations$:Summary}%0a* [[Skins]] - {Skins$:Summary}%0a* [[Skin templates]] - {SkinTemplates$:Summary}%0a* [[Site Preferences]] - {SitePreferences$:Summary}%0a* [[Web feeds]] - {WebFeeds$:Summary}%0a* [[Wiki Farms]] - {WikiFarms$:Summary}%0a%0a!!! [[#troubleshoot]] Troubleshooting%0a* [[FAQ | Frequently answered questions]]%0a* [[(PmWiki:)AQ | Answers to some other questions]]%0a* [[(PmWiki:)FAQ Candidate]] - more answered questions%0a* [[(PmWiki:)Questions]]%0a* [[(PmWiki:)How to get assistance]]%0a* [[Troubleshooting]] - {Troubleshooting$:Summary}%0a* [[Available actions]] - documentation for developers%0a%0a!!! [[#security]] Security%0a* [[AuthUser]] - {AuthUser$:Summary}%0a* [[Blocklist]] - {Blocklist$:Summary} %0a* [[Notify]] - {Notify$:Summary}%0a* [[Passwords admin]]istration - {PasswordsAdmin$:Summary}%0a* [[Ref count]] - {RefCount$:Summary}%0a* [[Url approvals]] - {UrlApprovals$:Summary}%0a%0a!! [[#development]] Development%0a* [[Cookbook:Module Guidelines]] - Guidelines for creating, distributing, and maintaining a recipe for the Cookbook. %0a* [[Variables]] - {Variables$:Summary}%0a* [[Functions]] - {Functions$:Summary}%0a* [[Page file format]] - {PageFileFormat$:Summary}%0a%0a!! [[#misc]] About PmWiki%0a* [[Audiences]] - {Audiences$:Summary}%0a* [[Contributors]] - {Contributors$:Summary}%0a* [[Mailing lists]] - {MailingLists$:Summary}%0a* [[PmWiki philosophy]] - {PmWikiPhilosophy$:Summary}%0a* [[Design notes]] - {DesignNotes$:Summary}%0a* [[Release notes]] - {PmWiki/ReleaseNotes$:Summary}%0a* [[Change log]] - {PmWiki/ChangeLog$:Summary}%0a%0a* [[(PmWiki:)References]] - References to PmWiki media coverage%0a* [[Glossary]] - {PmWiki/Glossary$:Summary}%0a%0a* [[Introduction]] %25item comment%25 loop trail%0a[[#trailend]]%0a%0a>>comment%3c%3c%0aNote: The following pages are listed here so that they can include a #faq section and have the questions appear on the FAQ page. %0a%0aThe problem is that these pages become part of the trail %0a%0a* [[Basic Variables]]%0a* [[Edit Variables]]%0a* [[File Permissions]]%0a* [[Fmt Page Name]]%0a* [[I18n Variables]]%0a* [[Layout Variables]]%0a* [[Link Variables]]%0a* [[Other Variables]]%0a* [[Pagelist Variables]]%0a* [[PageList Templates]]%0a* [[Path Variables]]%0a* [[Requirements]]%0a* [[Skin Templates]]%0a* [[Special Characters]]%0a* [[Upload Variables]]%0a* [[Wiki Administrator]]%0a* [[Wiki Page]]%0a* [[Wiki Wiki Web]]%0a* [[Wiki Word]] +time=1567159802 +title=Documentation Index blob - /dev/null blob + 74ab7949022aeb32902e8bd6779cf1cf131d4a8e (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Drafts @@ -0,0 +1,10 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=section anchors +ctime=1178938308 +name=PmWiki.Drafts +rev=21 +targets=PmWiki.EditVariables,PmWiki.Passwords,PmWiki.SecurityVariables,PmWiki.LayoutVariables,PmWiki.Drafts +text=(:Summary: Draft versions of pages:)%0aPmWiki has the capability to stage ''draft'' versions of a page prior to them becoming "official". All of the draft pages end in "-Draft" by default (this can be changed by setting $DraftSuffix). Multiple interim edits to a page can be temporarily saved in a "-Draft" copy of a page until the draft is ready to be published to the original.%0a%0a!! Configuration and usage [[#usage]]%0aWhen the site administrator sets $EnableDrafts in a local customization file, the "Save" button on the edit page is split into separate "Publish" and "Save draft" buttons. %0a%0aThe "Save draft" button causes any edits to be saved to a "-Draft" copy of the original page, leaving the original page intact. Subsequent requests to edit the page (either the original or -Draft) bring up the draft copy for further editing.%0a%0aThe "Publish" button saves back to the original non-Draft copy of the page, removing any -Draft page that may have been created.%0a%0aBy default, saving drafts and publishing are available to anyone with 'edit' permissions (see [[Passwords]]). However, the site administrator can also set the $EnablePublishAttr configuration variable, which provides a separate 'publish' permission that is required to publish to the original page.%0a%0aWhen "publishing", how the page's history is handled depends on whether the administrator has set the $EnableDraftAtomicDiff variable.%0a* When set to 1, "publishing" a draft version will clear the "draft" history, leaving a single "diff" between the latest and the previous "published" versions. Note that this will delete the author names, dates and contributions of the intermediate, unpublished versions, so the change "Summary" you enter should summarize the changes.%0a* Otherwise, all of the "draft" history entries are kept -- this is the default. The final "publish" history entry will show changes since the most recent "draft" version.%0a%0a!!Drafts and (All)RecentChanges [[#recentchanges]]%0a%0aBy default, using the "Save draft" or "Save draft and edit" button will be recorded to both Site.AllRecentChanges and Group.RecentChanges. Also after "publishing" a draft version an orphaned link to the "-Draft" page will remain.%0a%0aTo disable on both Site.AllRecentChanges and Group.RecentChanges:%0a%0a->%25hlt php%25[@%0a$DraftRecentChangesFmt = array();%0a@]%0a%0aor alternatively:%0a%0a->%25hlt php%25[@%0aif ( @$EnableDrafts && @$_POST['postedit']>'' || @$_POST['postdraft']>'' )%0a unset($RecentChangesFmt);%0a@]%0a%0aTo only disable one of these, unset it individually:%0a%0a->%25hlt php%25[@%0aif ( @$EnableDrafts && @$_POST['postedit']>'' || @$_POST['postdraft']>'' ) {%0a unset($RecentChangesFmt['$Group.RecentChanges']); # -and/or-%0a unset($RecentChangesFmt['$SiteGroup.AllRecentChanges']);%0a}%0a@]%0a%0aIf a $DraftRecentChangesFmt array is defined, it will be used instead of $RecentChangesFmt when saving a Draft version. For example, to have all draft versions only appear on a page Site.DraftRecentChanges, you could add to config.php:%0a%0a->%25hlt php%25[@%0a$DraftRecentChangesFmt['Site.DraftRecentChanges'] %0a = '* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';%0a@]%0a%0aSee also $RecentChangesFmt and $DraftRecentChangesFmt.%0a%0a!!Drafts with searches, pagelists, and RSS [[#pagelist]]%0a%0aThe drafts module also sets pagelists and searches (and thus RSS feeds) to ignore "-Draft" pages by default; one has to do list=all or similar in order to have draft pages included in a pagelist or RSS feed.%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I moderate all postings?%0a%0aA: Start by [[Drafts | enabling drafts]] to change the "Save" button into separate "Publish" and "Save draft" buttons. Then set $EnablePublishAttr. This adds a "publish" authorization level to distinguish editing of page drafts from publishing.%0a +time=1574371063 blob - /dev/null blob + 4a33953a434ce06668f9e7f41bd1ec4b6a646850 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.EditVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=no such page Edit toolbar +name=PmWiki.EditVariables +rev=94 +targets=Cookbook.NotSavedWarning,PmWiki.EditVariables,Cookbook.EditHelp,Cookbook.EditTemplates,PmWiki.SecurityVariables,PmWiki.Drafts,Cookbook.FixURL,Cookbook.PreviewChanges,PmWiki.BasicVariables,Cookbook.ROSPatterns,Category.PmWikiDeveloper +text=(:Summary:variables used when editing pages:)%0aTo set many of the variables below specify them in @@config.php@@.%0a%0a:$EnableNotSavedWarning: Set to 1 to warn the editors if they are about to leave the edit form without saving their changes. Based on Cookbook:NotSavedWarning. By default this is disabled. If you enable it, please disable any addons that may provide a similar feature, notably an older version of Cookbook:NotSavedWarning.%0a: : @@ $EnableNotSavedWarning = 1; @@ # enable warning, default 0 (disabled)%0a%0a:$EnableEditAutoText: Set to 1 to enable basic predictive editing like automatically inserted list bullets, see Cookbook:EditHelp. By default this is disabled. If you enable it, please disable any addons that may provide a similar feature, notably an older version of Cookbook:EditHelp.%0a: : @@ $EnableEditAutoText = 1;@@%0a%0a:$AutoCreate:Used in conjunction with the AutoCreateTargets edit function, this array records any sets of pages which should be created automatically if they don't exist. The syntax is[@%0a $AutoCreate[REGEXP] = PAGE_PARAMETERS;%0a@]where @@REGEXP@@ is a regular expression which will identify the pages to be autocreated, and @@PAGE_PARAMETERS@@ is an array of attributes for the page to be created. For example[@%0a $AutoCreate['/^Category\\./'] = array('ctime' => $Now);%0a@]will create a blank page with a current creation time for any missing Category page.%0a%0a:$DefaultPageTextFmt:The text that should be displayed when browsing non-existent pages. As default PmWiki uses the contents of Site.PageNotFound:[@%0a $DefaultPageTextFmt = '(:include $[{$SiteGroup}.PageNotFound]:)';@] %0a%0a:$DeleteKeyPattern:The pattern used to determine if a page should be deleted. The default is to remove pages that contain only the single word "delete" (and optional spaces).[@%0a## Change delete word to "remove":%0a$DeleteKeyPattern = "^\\s*remove\\s*$";%0a## Delete any page with no visible text, i.e., empty:%0a$DeleteKeyPattern = "^\\s*$";@]%0a%0a:$DiffKeepDays:The $DiffKeepDays variable sets the minimum length of time that a page's revision history is kept. By default it is set to 3650 days, or a little less than ten years. You can change this value in a customization file to be something smaller, e.g.:[@%0a $DiffKeepDays = 30; # keep revisions at least 30 days%0a@]If you want to suppress a page's revision history, you can insert into a customization file [@%0a $DiffKeepDays = $DiffKeepNum = -1; # suppress revision history %0a@]Note that a specific page revision isn't removed from the page until the first edit after the time specified by $DiffKeepDays has elapsed. Thus, it's still possible for some pages to have revisions older than $DiffKeepDays -- such revisions will be removed the next time those pages are edited.%0a%0a:$DiffKeepNum:This variable contains the minimum number of changes to be kept in the page history, even if some of them are older than the limit defined by $DiffKeepDays. It prevents lost history of pages that are older, but have few changes.[@%0a $DiffKeepNum = 50; # keep at least 50 revisions (default is 20)%0a@]To suppress page's revision history with [@$DiffKeepNum = -1@] see $DiffKeepDays above.%0a%0a:$DraftActionsPattern:The actions which allow full loading of the draft.php functionality for custom actions. Default is 'edit'. You can enable drafts for other actions like:[@%0a $DraftActionsPattern = 'edit|pmform|translate';%0a # Enable drafts for actions 'edit', 'pmform' and 'translate'.@]%0a%0a:$DraftSuffix:The suffix to use for draft versions of pages (default "-Draft").%0a%0a:$EditFunctions: This array contains the sequence of functions that are called when a page is edited. It can be customized to provide additional functions to be called as part of the editing process. The standard setting is:[@%0a$EditFunctions = array('EditTemplate', 'RestorePage', 'ReplaceOnSave',%0a 'SaveAttributes', 'PostPage', 'PostRecentChanges', 'AutoCreateTargets', 'PreviewPage');%0a%0a@]Many recipes manipulate this array, so it is recommended, instead of redefining the complete array to add your custom functions, to use functions like array_unshift(), array_push() and array_splice().%0a%0a:$EditRedirectFmt: The page to which an author is sent after pressing "Save" or "Cancel" from an edit form. Defaults to "$FullName", which sends the author to the page just edited, but can be changed to specify another page.[@%0a## Redirect to Main.HomePage:%0a$EditRedirectFmt = 'Main.HomePage';%0a## Redirect to HomePage of current group:%0a$EditRedirectFmt = '{$Group}.HomePage';@]%0a%0a:$EditTemplatesFmt:Name of the page (or an array of names) to be used as the default text for any newly created pages.[@%0a## Use 'Main.NewPageTemplate' as default text of all new pages:%0a $EditTemplatesFmt = 'Main.NewPageTemplate';%0a## Use 'Template' in the current group for new pages:%0a $EditTemplatesFmt = '$Group.Template';%0a## Use 'Template' in the current group if it exists, otherwise%0a## use 'Main.NewPageTemplate':%0a $EditTemplatesFmt = array('$Group.Template', 'Main.NewPageTemplate');@]%0a-> See [[Cookbook:EditTemplates]] for more information.%0a%0a%0a:$EnableDrafts:When set to '1', enables the "Save draft" button and built-in handling of "draft" versions of pages, where: %0a## Initial "Save draft" of an existing page ("PageName") saves changes to a new name ("PageName-Draft").%0a## Subsequent attempts to edit PageName causes PageName-Draft to be edited.%0a## Subsequent selections of "Save draft" cause PageName-Draft to be saved.%0a## Pressing "Publish" causes PageName-Draft to be posted to PageName, and deleted.%0a-> Turn on draft edits:[@%0a $EnableDrafts = 1;@]%0a-> A related variable, $EnablePublishAttr, adds a new "publish" authorization level to distinguish editing of drafts from publishing them.%0a%0a:$EnableDraftAtomicDiff:When set to 1, "publishing" a draft version will clear the "draft" history, leaving a single "diff" between the latest and the previous "published" versions. Note that this will delete the author names, dates and contributions of the intermediate, unpublished versions. ([[Drafts]] need to be enabled, see $EnableDrafts.)%0a%0a:$EnableGUIButtons:When set to '1', turns on the graphical buttons in the "Edit Page" form.[@%0a## Turn on graphical edit buttons:%0a$EnableGUIButtons = 1;@]%0a%0a:$EnableGuiEditFixUrl: Enables an icon "%252" that can help encoding special characters in URL links, see Cookbook:FixURL. $EnableGUIButtons need to be enabled.%0a: : @@$EnableGuiEditFixUrl = 2000;@@ # place the button near the end of the Edit toolbar.%0a%0a:$EnablePreviewChanges:When set to '1', the "Preview" function will show the highlighted changes in the wiki markup before the rendered page preview. See Cookbook:PreviewChanges.[@%0a $EnablePreviewChanges = 1;@]%0a%0a:$EnablePostAuthorRequired:When set to '1', posting of pages (and uploading files since 2.2.117) requires the author to provide an author name. Otherwise, authors can post without a name.[@%0a## Require authors to provide a name:%0a$EnablePostAuthorRequired = 1;@] %0a%0a:$EnableUploadAuthorRequired:Whether uploading files requires the name of the uploader to be entered (added in 2.2.117). If unset, will use the value of $EnablePostAuthorRequired. %0a%0a:$EnableRevUserAgent:When set to '1', the page history will store the "User agent" string from the browser of the writer (by default this feature is disabled). This can be useful for tracking bugs in custom applications, by examining the disk files in wiki.d.[@%0a## Store browser user agent with page diffs:%0a $EnableRevUserAgent = 1; @]%0a%0a:$GUIButtons:Allows the configuration of the buttons which appear at the top of the text area when editing a page. See scripts/guiedit.php for the default definition. Note that the 5th element can be HTML code rather than just the url of a gif - this allows more flexibility in defining the related JavaScript.%0a%0a:$HandleEditFmt: Like $HandleBrowseFmt, this specifies the entire output format for [@?action=edit@] for a page.%0a%0a:$IsPagePosted: Set to a true value if the page is actually saved (e.g., this is used to tell the RecentChanges handlers if they need to update).%0a %0a:$PageEditFmt: By default, this is the HTML to be displayed for an edit form.%0a%0a:$PageEditForm: Specifies the edit form for [@?action=edit@]. Defaults to '$SiteGroup.EditForm'.%0a%0a:$ROEPatterns: With this array you can add a pattern as ''key'' and set a text ''value'' which replace it on every edit request, using preg_replace function. Specifically it is replaced when the page is loaded into the editform, whenever a preview is done, and when the page is saved (from PmWiki 2.2.0beta45). See Cookbook:ROSPatterns for examples.%0a%0a:$ROSPatterns: With this array you can add patterns as ''key'' and set a text ''value'' which will replace it when the edited page is posted (as signaled by $EnablePost). It is not replaced when the page is loaded into the editform nor when a preview is done, but it is replaced only when the page is saved. See Cookbook:ROSPatterns for examples.%0a%0a:$EnableROSEscape: If set to 1, the $ROEPatterns and $ROSPatterns replacements will skip escaped text (surrounded by [@[=...=]@] or @@[=[@...@]=]@@). If not set, or if set to 0, the replacements will happen even inside escaped text.%0a%0a%0aCategories: [[!PmWiki Developer]] +time=1567148785 blob - /dev/null blob + 1c319c6d605ca0b33379df10372497cc7bb5d184 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.FAQ @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Lorenzo +charset=UTF-8 +csum= +name=PmWiki.FAQ +rev=586 +targets=Site.Search,PmWiki.DocumentationIndex,PmWiki.Questions +text=(:Summary:List of frequently asked questions:)%0aThis page will attempt to summarize some of the more commonly asked questions. The answers are on the corresponding pages (see link). If you have a question which isn't answered here, you can leave your question on the [[(PmWiki:)Questions]] page or search for documentation using the [[Site.Search | search]] facility. More documentation can be found on the [[PmWiki.DocumentationIndex | documentation index]] page.%0a%0a(:comment The questions and answers are held on their respective page(s), then collated below according to the pagelist. Please make changes to those page(s) rather than making the changes here .:)%0a%0a(:pagelist trail=PmWiki.DocumentationIndex name=-{*$FullName} "[[#faq]]" fmt=#includefaq class=faqtoc:)%0a%0a +time=1315670897 blob - /dev/null blob + 7364b79cf8bf2f876c5ddc76b3ce11130fd70673 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.FilePermissions @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=see also Cookbook/DirectoryAndFilePermissions +name=PmWiki.FilePermissions +rev=29 +targets= +text=(:Summary: PmWiki's settings for file and directory permissions in a typical Unix environment:)%0a%0aThis page briefly describes PmWiki's settings for file and directory permissions in a typical Unix environment.%0a%0a!! Simple installation (out of the box)%0a%0aFirst, let's look at PmWiki without any cookbook scripts loaded. PmWiki needs to be able to write into the%0a* ''wiki.d/'' directory to be able to save pages%0a* ''uploads/'' directory to save uploads. %0aThose are the *only* directories that need to be writable by the webserver. %0aIt doesn't matter to PmWiki who owns or creates those directories, as long as it has write permission to them.%0a%0aEverything else should be owned by the account holder, and readable by the webserver account (but normally not writable by the webserver account).%0a%0aThat's it -- everything else depends on the specific PHP configuration and running environment, which is detailed below (and which is why there isn't a definitive answer that applies to every situation). But the above two rules are absolute and answer 95%25 of the questions about directory permissions. %0a%0aOn a Unix host the webserver typically runs with a userid and groupid that is different from the account holder. Usually the webserver account is something like "nobody", "apache", "www", or "httpd". Thus, in a standard installation, the account holder manually creates the wiki.d/ and uploads/ directories, and sets the permissions on the directories to be world-writable in order for PmWiki (running as the webserver account) to be able to create files there.%0a%0a-> [@%0a$ pwd%0a/home/pmichaud/public_html/pmwiki%0a$ mkdir uploads%0a$ mkdir wiki.d%0a$ chmod 777 uploads wiki.d %0a$ ls -ld . uploads wiki.d%0adrwxr-xr-x 12 pmichaud pmichaud 1024 Feb 10 11:51 . %0adrwxrwxrwx 8 pmichaud pmichaud 1024 Jan 23 11:58 uploads %0adrwxrwxrwx 2 pmichaud pmichaud 54272 Feb 10 15:29 wiki.d %0a@]%0a%0a!! Avoiding world-write directories%0a%0aHowever, lots of people don't like having those world-writable (rwx) permissions on the directories. The only practical way to eliminate the world write permissions is if we can get the webserver and account holder to be the owner and group of the directories and the files within them. Since Unix typically doesn't allow non-superusers to change ownerships of files or directories that already exist, we have to make sure they are created with the correct ownerships in the first place.%0a%0aTo get the directories to be owned by the webserver account, we let PmWiki take care of creating them. This means we temporarily grant write permission to the parent, and then execute PmWiki to allow it to create the directories. However, we also want the newly created directories to have the same group as the account holder, so the account holder can remove or manipulate files in the directories. Therefore, we use Unix's ''setgid'' capability (2777 or 'rws' permissions) to cause all newly created files to inherit the same group as the parent.%0a%0aTo avoid world-write directories, use the following instructions '''instead of''' the instructions above. If you already have created the ''wiki.d/'' and ''uploads/'' directories, use chown and chmod to match the following results.%0a%0a-> [@%0a$ pwd%0a/home/pmichaud/public_html/pmwiki%0a$ chmod 2777 . %0a$ ls -ld .%0adrwxrwsrwx 10 pmichaud pmichaud 4096 May 28 09:55 .%0a# %3c-- execute pmwiki.php script from web browser -->%0a$ ls -ld . uploads wiki.d%0adrwxrwsrwx 10 pmichaud pmichaud 4096 May 28 09:55 .%0adrwxrwsr-x 2 nobody pmichaud 4096 May 28 09:55 uploads%0adrwxrwsr-x 2 nobody pmichaud 4096 May 28 09:55 wiki.d%0a$ chmod 755 .%0adrwxr-xr-x 10 pmichaud pmichaud 4096 May 28 09:55 .%0adrwxrwsr-x 2 nobody pmichaud 4096 May 28 09:55 uploads%0adrwxrwsr-x 2 nobody pmichaud 4096 May 28 09:55 wiki.d%0a@]%0a%0aNow the two directories are owned by 'nobody', which means the webserver can write to them. We don't have world-writable permissions on the directories, and the account holder (pmichaud) still has write permissions to the files and directories by virtue of the group ownership and permissions. The setgid bit also ensures that any files or subdirectories created within ''uploads/'' or ''wiki.d/'' will belong to the same (pmichaud) group.%0a%0a!! Safe mode%0aHOWEVER, if a site is running in PHP's "%25newwin%25[[http://php.net/features.safe-mode|safe_mode]]", then the "let PmWiki create the directories" solution doesn't work, as PHP will only create files in directories that are owned by the same user that owns the pmwiki.php script itself. Thus, PmWiki (apache) ''cannot'' create the directories in this case, or safe_mode will complain when PmWiki attempts to write a file into those directories. The *only* way for things to work in safe_mode is to manually create the needed directories and set their permissions to 777, as outlined at the beginning of this section.%0a%0a!! PHP running as script owner%0a%0aThere are some webservers and PHP installations that are configured to run a PHP script with the same identity as the owner of the script. This is often called "suexec PHP" or even just "suPHP". In this case, since the PmWiki script ends up running with the same identity as the account holder, then everything "just works" out of the box without doing anything manually. PmWiki creates any directories and files as needed, each owned by the account holder, and permissions aren't generally an issue at all.%0a%0a!! Cookbook scripts%0aOkay, now let's look at cookbook scripts. %0aIf a cookbook script has files that it wants to make available to browsers, such files should generally be placed somewhere within the 'pub/' hierarchy and referenced via '$PubDirUrl'. %0a%0aIf a cookbook recipe needs to *write* files to disk, then the same rules apply to that directory as for the wiki.d/ and uploads/ directories above, with the exact ownerships and permissions depending on the webserver and PHP configuration. In general the cookbook recipe should do the same as PmWiki, and just call PmWiki's mkdirp($dir) function. PmWiki will then take care of creating the directory (if it can) or prompting for its creation as appropriate.%0a%0aFor example, if cookbook recipe 'frobot' wants to distribute a .css file, then that file should go somewhere like pub/css/frobot.css or pub/frobot/frobot.css. The directories and files in this case should be created and owned by the account owner, since the cookbook recipe doesn't need to create or modify any of the files when it runs. %0a%0aAs an alternate example, the Cookbook:MimeTeX recipe wants to be able to create cached images for the math markup, and those images need to be available to the browser. Thus, `MimeTeX uses a pub/cache/ directory, which should be created in whatever manner was used to create the wiki.d/ and uploads/ directories (i.e., according to the webserver and PHP configuration). Again, Cookbook:MimeTeX just solves this by calling mkdirp("pub/cache"), and letting that function create the directory or prompt the administrator for the appropriate action based upon the server settings encountered.%0a%0a!! See also%0a* [[Cookbook:Directory and file permissions]] [- {Cookbook/DirectoryAndFilePermissions$:Summary} -]%0a%0a +time=1315670897 blob - /dev/null blob + 08098f81b8ca686d05cc0bf021586653ad668bcd (mode 644) --- /dev/null +++ wikilib.d/PmWiki.FmtPageName @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Peter Bowers +charset=UTF-8 +csum=add comment re PV form in #6 +name=PmWiki.FmtPageName +rev=44 +targets=PmWiki.Functions,PmWiki.Variables,PmWiki.Internationalizations,PmWiki.PageVariables,Cookbook.Functions +text=(:Summary: Documentation for the PmWiki internal function [@FmtPageName()@] :)%0a(:Audience: admins (advanced) :)%0aThis page describes an internal function in PmWiki's engine called [=FmtPageName()=]. %0aThe contents are not intended for those with a weak heart%0a;-)%0a%0aAlso see: [[PmWiki.Functions]]%0a%0a!! [[#FmtPageName]] [@FmtPageName@]($fmt, $pagename)%0a%0a[[#FmtPageName-desc]]Returns [@$fmt@], with $variable and $[internationalisation] substitutions performed, under the assumption that the current page is [@pagename@]. As a rule is used to pre-process all variables which by convention have a "Fmt" suffix (like $GroupFooterFmt), but also other strings that require %25newwin%25[[Wikipedia:Variable_%2528programming%2529#Interpolation | interpolation]], notably the page template (.tmpl) file. See [[PmWiki.Variables]] for an (incomplete) list of available variables, [[PmWiki.Internationalizations]] for internationalisation.%0a%0aThe function [@FmtPageName()@] applies internationalization-substitutions%0aand $Variable-substitions to the string $fmt under the assumption that the%0acurrent page is $pagename.%0a%0aThe substitutions go as follows:%0a%0a# Replace any sequences of the form [@$XyzFmt@] with value of any \%0a corresponding global variable.%0a# Process the string for any [@$[...]@] phrases (internationalized phrase), \%0a using the currently loaded translation tables.%0a# Replace any instances of [@{$ScriptUrl}@] with [@$ScriptUrl@] \%0a (to defer processing to the URI processing phase)%0a# Replace any instances of standard [[PmWiki/PageVariables|Page Variables]] \%0a (beginning with an upper case letter, followed by at least one word character) \%0a with their values. %25green%25Note that PVs of the form [@{Group.Page$Var}@] are '''not''' replaced.%25%25\%0a If there are no more $-sequences, then return the formatted string and exit the function%0a# Perform any pattern replacements from the array $FmtP. Typically \%0a this is used to handle things like $Name and $Group etc that are \%0a specific to the name of the current page. %25green%25''?? Appears to be used in robots.php to hide actions from robots.''%0a# Replace any remaining instances of Page Variables with their values. \%0a %25green%25Note that these variables are in the form [@$Var@] rather than the usual PV form of [@{$Var}@].%25%25%0a# If $EnablePathInfo isn't set, convert [@URIs@] to use the syntax \%0a $ScriptUrl?n=%3cGroup>.%3cName> instead of $ScriptUrl/%3cGroup>/%3cName>. \%0a In any case, replace $ScriptUrl with its value. \%0a If there are no more $-sequences, then return the formatted string and exit the function%0a# Replace any $-sequences with global variables (caching as needed) \%0a of the same name (in reverse alphabetical order, and filtering out any unsafe globals) *%0a# Replace any $-sequences with values out of the array $FmtV.%0a%0aNote that [@FmtPageName@]() is automatically aware of any global%0avariables. However, since modifying global variables may be expensive, the%0aarray $FmtV exists as a way to avoid rebuilding the variable cache for%0avalues that change frequently.%0a%0a!! Security%0a%0aAccording to PM, as a general rule it's unwise to be calling FmtPageName() on strings that are coming from page markup, as this exposes the ability for people to view the values of variables that perhaps they shouldn't see. This is also why page variables (which come from markup) use PageVar() and PageTextVar() and don't go through FmtPageName().%0a%0a!! Availability of Variables in FmtPageName%0a%0aTo be very specific, here's what Pm wrote regarding different ways of%0adefining a variable that can be used by FmtPageName (when it is formatting a%0astring):%0a%0a* Set a global variable. FmtPageName() automatically performs \%0a substitution on all global variables that aren't arrays. \%0a If the variable is going to change value over repeated calls \%0a to FmtPageName, it's probably better to use $FmtV as in the next item.%0a%0a* Set a value in the $FmtV array. $FmtV['$MyVariable']='something' \%0a means to replace instances of '$MyVariable' with 'something'. \%0a Use this for variables that change value frequently over \%0a multiple calls to FmtPageName. %0a%0a* Set a pattern/replacement in the $FmtP array. This is normally \%0a done for substitutions that have to be dynamic somehow based on \%0a the pagename being referenced, such as '$Title', '$Group', '$Name', \%0a '$PageUrl', etc.%0a%0aAlso see: [[Cookbook:Functions#FmtPageName]]%0a%0aFinally, here's something else Pm wrote that is related and explains%0awhy we have this function:%0a%0a-> In order to produce its output, PmWiki has to do a variety of string \%0a substitutions:%0a%0a## Generating the full name, group, title, or url of a page \%0a (other than the currently displayed page)%0a## Substituting the values of global variables%0a## Performing internationalization substitutions%0a## Converting $ScriptUrl/$Group/$Name to $ScriptUrl?n=$Group.$Name \%0a for sites that cannot handle PATH_INFO urls%0a## Other substitutions needed by specific functions%0a %0a-> PmWiki centralizes all of that substitute-a-dynamic-value-in-a-string \%0a into the FmtPageName() subroutine. Because some things are extremely \%0a dynamic, such as the url or group for an arbitrary page that is not the \%0a current one, those things cannot be simple global PHP variables. Or, if \%0a they do become global variables, they're variables that cannot be \%0a trusted to hold a value for very long because some other routine (that \%0a may happen to be formatting a string for a different page) will come \%0a along and change that global variable for whatever it happens to be doing.%0a%0a-> A limited set of $-substitutions -- basically anything that \%0a corresponds to a page attribute -- are not PHP variables and \%0a are only available through the FmtPageName() subroutine. \%0a The complete set of these special substitutions is $Group, \%0a $Name, $FullName, $PageUrl, $Title, $Titlespaced, $Namespaced, \%0a $Groupspaced, $LastModifiedBy, $LastModifiedHost, and $LastModified. \%0a These items cannot just be standard PHP variables because often\%0a PmWiki needs to obtain the url, name, group, title, etc. of a page \%0a other than the one currently being viewed by a browser.%0a%0a-> At the moment, $Title, $LastModified, $LastModifiedBy, and \%0a $LastModifiedHost can only work if the page's attributes have been \%0a loaded and cached using the `PCache function. So, to get\%0a at these values one must typically do:%0a%0a-> [@%0a$page = ReadPage($pagename);%0aPCache($pagename, $page);%0a$ptitle = FmtPageName('$Title', $pagename);%0a$pauthor = FmtPageName('$LastModifiedBy', $pagename);%0a@]%0a +time=1315670897 blob - /dev/null blob + e12b2f538f02f8437e126a288ea4bdbbddd30f69 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Forms @@ -0,0 +1,10 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=formnovalidate +ctime=1181479161 +name=PmWiki.Forms +rev=80 +targets=Cookbook.InputDefault,PmWiki.OtherVariables,Cookbook.FormValidation,Cookbook.FormExtensions,Cookbook.InputFormsAndJavaScript,PmWiki.PageLists,Cookbook.PmForm,Cookbook.Fox,Cookbook.Input,Cookbook.WikiForms,Cookbook.ProcessForm +text=(:Summary:How you can embed input forms into wiki pages:)%0aThis page explains how you can embed input forms into wiki pages. Input forms don't actually handle processing of the form data -- the feature simply allows creation of forms inside wiki pages. Forms processing can be found in the Cookbook (see below).%0a%0a!! Markup%0aTwo directives are used to begin and end forms:%0a%0a [=(:input=] form "''url''" ''method'':)%0a ...%0a [=(:input end:)=]%0a%0aThe [@(:input form:)@] directive starts a form that will post to ''url'' (optional ''action=''url) using the supplied ''method'' (optional ''method=''method). The ''url'' must be in quotes if not specified via ''action=''. If the url is omitted, then the current page is assumed. If ''method'' is omitted then "POST" is assumed. An optional [@name="FormName"@] argument can be used to name the form. You can explicitly state @@action=url@@ or @@method=get@@ or you can simply use them as positional parameters.%0a%0aIf your site uses ?n=Group.Page to specify the pagename then having a field [@(:input hidden name=n value={$FullName}:)@] will allow your form to post to the current page as an alternative to fully specifying the action=url.%0a%0aThe [@(:input end:)@] directive ends the current form.%0a%0aNote that this feature doesn't ensure that the form output is correct HTML -- it assumes the author knows a little bit of what he or she is doing. Notably, [=(:input form:) and (:input end:)=] shouldn't appear inside tables, and all form fields and controls should be inside an [=(:input form:)...(:input end:)=] block.%0a%0a[[#standardinputcontrols]]%0a!!Standard input controls%0aThe standard input controls are:%0a%0a [=(:input=] text ''name'' ''value'' size=''n'':)%0a [=(:input=] hidden ''name'' ''value'':)%0a [=(:input=] password ''name'' ''value'':)%0a [=(:input=] search ''name'' ''value'':)%0a [=(:input=] number ''name'' ''value'' min=x max=y step=z:)%0a [=(:input=] email ''name'' ''value'':)%0a [=(:input=] tel ''name'' ''value'':)%0a [=(:input=] url ''name'' ''value'':)%0a [=(:input=] date ''name'' ''value'':)%0a [=(:input=] radio ''name'' ''value'' ''label'' checked=checked:)%0a [=(:input=] checkbox ''name'' ''value'' ''label'' checked=checked:)%0a [=(:input=] [[#select|select]] ''name'' ''value'' ''label'':)%0a [=(:input=] [[#datalist|datalist]] ''id'' ''value'':)%0a [=(:input=] [[Cookbook:InputDefault|default]] ''default-name'' ''default-value'':) %0a [=(:input=] textarea ''name'' ''[@[=value=]@]'' rows=''n'' cols=''n'':)%0a [=(:input=] file ''name'' ''label'':)%0a [=(:input=] image ''name'' ''"src"'' ''alt'':)%0a [=(:input=] reset ''name'' ''label'':)%0a [=(:input=] button ''name'' ''value'':)%0a [=(:input=] submit ''name'' ''value'':)%0a%0aWhere ''name'' and ''value'' are in the HTML syntax: name="addr" value="808 W Franklin".%0a%0aFor most controls the markup has the form:%0a%0a [=(:input=] ''type'' ''name'' ''value'' ''parameter=value'':)%0a%0awhere ''type'' is the type of input element (described below), ''name'' is the name of the control, ''value'' is its initial value, and parameters are used to specify additional attributes to the control. If ''value'' contains spaces, enclose it in quotes; if it contains newlines (for textarea and hidden elements), enclose it in [@[=...=]@]. %0a%0aFor example, the following creates a text input control with a size of 30 characters:%0a%0a(:markup:)%0a(:input text authorid "Jane Doe" size=30:)%0a(:markupend:)%0a%0aFor convenience, an author can also specify name and value arguments directly using [@name=@] and [@value=@] attributes (same as HTML):%0a%0a(:markup:) %0a(:input text name=authorid value="Jane Doe" size=30:)%0a(:markupend:)%0a%0aFor the @@textarea@@ control a value can be set from PmWiki 2.2.0beta45 onwards. Enclose the value in [@[=...=]@] if it contains spaces or new lines.%0a%0aThe [@submit@] control will more often be written as:%0a%0a [=(:input=] submit value=''label'':)%0a%0aHere's a more complete example, e.g., for a login prompt:%0a%0a(:markup:) [=%0a(:input form "http://www.example.com":)%0a(:input hidden action login:)%0a|| Name:||(:input text username:) ||%0a|| Password:||(:input password password:) ||%0a|| ||(:input checkbox terms yes "Accept Terms":) ||%0a|| ||(:input submit value="Log In":) ||%0a(:input end:)%0a=]%0a%0a[[#field_attributes]]%0a!! General form field attributes%0a* [@(:input ... focus=1:)@] Setting @@focus=1@@ causes that field to receive the initial focus when the form is first opened.%0a%0a* The following advanced HTML attributes are supported: @@name, value, id, class, rows, cols, size, maxlength, action, method, accesskey, tabindex, multiple, checked, disabled, readonly, enctype, src, alt, title, required, placeholder, autocomplete, min, max, step, pattern, list, formnovalidate@@. For a more detailed description, see their counterparts in the [[https://www.w3.org/TR/html5/forms.html#common-input-element-attributes|w3c reference: HTML5 form attributes]] (not all of them can be used for all types of form fields).%0a%0a* For checkboxes and radio inputs, the "label" attribute text will be displayed ''after'' the input as a %3clabel> element. Clicking on it will check or uncheck the input. The label can only be plain text (no inline formatting like bold or links).%0a%0a* In addition to these, the following attributes can be used for accessibility enhancements: @@role, aria-label, aria-labelledby, aria-describedby, aria-expanded, aria-pressed, aria-current, aria-hidden@@.%0a%0a* In addition to the default attributes, you can use custom data attributes like @@data-some-variable=value@@ or @@data-other="Some data"@@ (usable by custom JavaScript, CSS or by some libraries). The attribute must start with "data-" and only contain lowercase Latin letters [a-z] and dashes [-].\\%0aThis can be disabled in config.php with the line @@$EnableInputDataAttr = 0;@@%0a%0a* Any unsupported attributes in the wiki markup will not be included in the HTML output.%0a%0a[[#select]]%0a!![@(:input select ... :)@]%0a%0aThe basic form of a select box is a sequence of options:%0a%0a(:markup:) [=%0a(:input form:)%0a(:input select name=abc value=1 label=alpha :)%0a(:input select name=abc value=2 label=beta :)%0a(:input select name=abc value=3 label=gamma :)%0a(:input submit:)%0a(:input end:)%0a=]%0a%0aThe values can be specified positionally:%0a [=(:input select abc 1 alpha :)=]%0a%0aWe can specify the size of the selection box:%0a [=(:input select abc 1 alpha size=3 :)=]%0a%0aYou can specify a multiple select box (only the first item needs to have "size=3 multiple" attributes):%0a [=(:input select abc 1 alpha size=3 multiple:)=]%0a%0aTo have an element selected, use @@selected=selected@@:%0a [=(:input select abc 2 beta selected=selected:)=]%0a%0aNote that to have two select boxes inline, not only should you give them different @@name=@@ parameters, but also place a separator, like a character, [@ @] or even the null sequence [@[==]@] between them:%0a(:markup:)%0a(:input form:)%0a(:input select name=FIRST value=1:)(:input select name=FIRST value=2:)[==]%0a(:input select name=SECOND value=3:)(:input select name=SECOND value=4:)%0a(:input end:)%0a(:markupend:)%0a%0a%25note%25 Note, in the HTML output, only the attributes @@label@@, @@value@@ and @@selected@@ are applied to the [@%3coption>@] HTML tag. Any other attributes, including @@name@@, @@id@@, @@class@@ and @@title@@ are applied to the wrapping [@%3cselect>@] HTML tag, and later definitions replace previous ones.%0a%0a%0a[[#datalist]]%0a!![@(:input datalist ... :)@]%0aThis allows a number of values (suggestions) to appear in a drop-down menu allowing the user to select one of the values or to fill a new, different value. The markup accepts named or positional attributes:%0a%0a [@(:@]input datalist ''id'' ''value'':)%0a [@(:@]input datalist id=''id'' value=''value'':)%0a%0aAn existing [@(:input text:)@] field needs to have an attribute @@list=id_of_the_datalist@@ to attach the suggestions.%0a%0aThe datalist element is invisible and can be anywhere in the page. The suggestion menu appears when the user starts typing in the attached text field and filters the suggested values that contain the letters typed in the text field.%0a%0a(:markup:) [=%0aType a browser name: (:input text browsers list=dlist_id :)%0a(:input datalist dlist_id Firefox:)%0a(:input datalist dlist_id Chrome:)%0a(:input datalist dlist_id Safari:)%0a(:input datalist dlist_id Edge:)%0a(:input datalist dlist_id MSIE:)%0a(:input datalist dlist_id Opera:)%0a(:input datalist dlist_id Lynx:)%0a=]%0a%0aThis is a recent addition to the HTML standard, see https://caniuse.com/#feat=datalist for current browser support.%0a%0aNote that if you have a datalist element immediately following another datalist element, not only should you give them different @@id=@@ attributes, but also place a separator, like a character, [@ @] or the null sequence [@[==]@] between them: [@%0a(:input datalist dl_1 First:)%0a(:input datalist dl_1 Second:)[==]%0a(:input datalist dl_2 First:)%0a(:input datalist dl_2 Second:)%0a@]%0a%0a!! See Also%0a*[[Cookbook:Input Default]] {Cookbook.InputDefault$:Summary}%0a*[[Cookbook:Form Validation]] {Cookbook.FormValidation$:Summary}%0a*[[Cookbook:Form Extensions]] {Cookbook.FormExtensions$:Summary}%0a*[[Cookbook:Input Forms and JavaScript]] {Cookbook.InputFormsAndJavaScript$:Summary}%0a*[[PageLists#searchbox]] The [@(:searchbox:)@] directive creates a form to search the wiki%0a%0aCompatible recipes:%0a* [[Cookbook:PmForm]] {Cookbook/PmForm$:Summary}%0a* [[Cookbook:Fox]] {Cookbook.Fox$:Summary}%0a* [[Cookbook:Wiki Forms]] {Cookbook/WikiForms$:Summary}%0a* [[Cookbook:ProcessForm]] {Cookbook/ProcessForm$:Summary}%0a%0a +time=1574430525 blob - /dev/null blob + f52af8b5c3854d3fbad5e347491b0a4b08fffe9c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Functions @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=clearly the manual toc is better: (:notoc:) +name=PmWiki.Functions +rev=146 +targets=Cookbook.Functions,PmWiki.CustomMarkup,PmWiki.CustomActions,PmWiki.SecurityVariables,Cookbook.PccfToPcfOverride,PmWiki.LinkVariables,PmWiki.OtherVariables,PmWiki.EditVariables,PmWiki.UploadVariables,PmWiki.Functions,PmWiki.BasicVariables,PmWiki.Variables,PmWiki.Internationalizations,PmWiki.FmtPageName,PmWiki.MakeLink,PmWiki.ConditionalMarkup,PmWiki.Drafts,PmWiki.UpdatePage,Cookbook.MarkupExpressionSamples,Category.PmWikiDeveloper +text=(:Summary: How some of the functions in pmwiki.php work:)%0a(:Audience: admins (advanced) :)(:notoc:)%0a%0a>>rframe font-size:smaller clear:right%3c%3c%0a!! [[#contents]] Table of Contents%0a*[[#pmcrypt|pmcrypt()]]%0a*[[#pmsetcookie|pmsetcookie()]]%0a*[[#PCCF|PCCF()]] %25red%25(deprecated)%25%25%0a*[[#PPRA|PPRA()]]%0a*[[#PPRE|PPRE()]] %25red%25(deprecated)%25%25%0a*[[#Qualify|Qualify()]]%0a*[[#PHSC|PHSC()]]%0a*[[#PSS|PSS()]]%0a*[[#stripmagic|stripmagic()]]%0a*[[#FmtPageName|FmtPageName()]]%0a*[[#Markup|Markup()]]%0a*[[#mkdirp|mkdirp()]]%0a*[[#MakeLink|MakeLink()]]%0a*[[#MakeUploadName|MakeUploadName()]]%0a*[[#SessionAuth|SessionAuth()]]%0a*[[#IsAuthorized|IsAuthorized()]]%0a*[[#CondAuth|CondAuth()]]%0a*[[#RetrieveAuthPage|RetrieveAuthPage()]]%0a*[[#RetrieveAuthSection|RetrieveAuthSection()]]%0a*[[#UpdatePage|UpdatePage()]]%0a>>%3c%3c%0a%0aThis page describes some of the internal workings of PmWiki by explaining how some of the functions in pmwiki.php work. For a more brief list/overview on functions useful to for instance cookbook writers, see Cookbook:Functions. %0a%0aTo use this functions you have to make sure that all relevant internal variables have been initialized correctly. See [[Custom Markup]] and [[(PmWiki:)Custom Actions]] for more information on how these functions are typically called via [@Markup()@] or [@$HandleActions[]@].%0a%0a!! [[#pmcrypt]] [@pmcrypt($password, $salt = null)@]%0aThe pmcrypt() function is intended to be a safe replacement for the [[http://php.net/crypt|PHP 5.6+ crypt() function]] without providing a $salt, which would raise a notice. If a salt is provided, crypt() is called to check an existing password. If a salt is not provided, [[http://php.net/password_hash|password_hash()]] will be called to create a cryptographically strong password hash.%0a%0a!! [[#pmsetcookie]] [@pmsetcookie($name, $val="", $exp=0, $path="", $dom="", $secure=null, $httponly=null)@]%0a%0aThis function is intended as a replacement for [[http://php.net/setcookie|setcookie()]]. It will automatically set the $secure and $httponly arguments if they are not set by the caller function and if $EnableCookieSecure and $EnableCookieHTTPOnly are enabled.%0a%0a!![[#PCCF]] [@PCCF($php_code, $callback_template='default', $callback_arguments = '$m')@] %25red%25 Deprecated since PHP 7.2%25%25%0aThe PCCF() function (''PmWiki Create Callback Function'') can be used to create callback functions used with [[(http://php.net/)preg_replace_callback]]. It is required for PHP 5.5, but will also work with earlier PHP versions.%0a%0aThe first argument is the PHP code to be evaluated. %0a%0aThe second argument (optional) is the callback template, a key from the global $CallbackFnTemplates array. There are two templates that can be used by recipe authors: %0a* 'default' will pass $php_code as a function code%0a* 'return' will wrap $php_code like "return $php_code;" (since PmWiki 2.2.62)%0a%0aThe third argument (optional) is the argument of the callback function. Note that PmWiki uses the '$m' argument to pass the matches of a regular expression search, but your function can use other argument(s).%0a%0aPCCF() will create an anonymous (lambda) callback function containing the supplied code, and will cache it. On subsequent calls with the same $php_code, PCCF() will return the cached function name.%0a%0aSee http://php.net/create_function.%0a%0a>>font-style=italic%3c%3c%0aPHP 7.2 deprecates create_function() and future versions will remove it. If you need to migrate older code that used PCCF(), you can usually write regular functions and pass the function name where you previously passed the result of PCCF(). For example, suppose you had a pattern like this:%0a '/(?%3c=^| )([a-z])/' => PCCF("return strtoupper(\$m[1]);"),%0a%0aFor PHP 7.2 compatibility, you can write a callback function:%0a function %25green%25my_callback%25%25($m) { return strtoupper($m[1]); }%0a%0athen change the pattern to look like this:%0a '/(?%3c=^| )([a-z])/' => '%25green%25my_callback%25%25',%0a%0aSee also: the recipe [[(Cookbook:)PccfToPcfOverride]] allows existing recipes to run on PHP 7 without causing deprecated create_function() messages.%0a>>%3c%3c%0a%0a!![[#PPRA]] [@PPRA($array_search_replace, $string)@]%0aThe PPRA() function (''PmWiki preg_replace array'') can be used to perform a regular expression replacement with or without evaluation, for PHP 5.5 compatibility. %0a%0aSince PmWiki 2.2.56, PmWiki uses this function to process the following arrays: $MakePageNamePatterns, $FmtP, $QualifyPatterns, $ROEPatterns, $ROSPatterns, $SaveAttrPatterns, $MakeUploadNamePatterns. Any custom settings should continue to work for PHP 5.4 and earlier, but wikis running on PHP 5.5 may need to make a few changes.%0a%0aThe first argument contains the 'search'=>'replace' pairs, the second is the "haystack" string to be manipulated.%0a%0aThe 'replace' parts of the array can be strings or function names. If the 'replace' part is a callable function name, it will be called with the array of matches as a first argument via preg_replace_callback(). If not a callable function, a simple preg_replace() will be performed.%0a%0aPreviously, PmWiki used such constructs:%0a $fmt = preg_replace(array_keys($FmtP), array_values($FmtP), $fmt);%0a%0aIt is now possible to use simply this:%0a $fmt = PPRA($FmtP, $fmt);%0a%0aNote that since PHP 5.5, the search patterns cannot have an /e evaluation flag. When creating the $array_search_replace array, before PHP 5.5 we could use something like (eg. for $MakePageNamePatterns):%0a '/(?%3c=^| )([a-z])/e' => "strtoupper('$1')",%0a%0aSince PHP 5.5, we should use this (will also work in PHP 5.4 and earlier):%0a '/(?%3c=^| )([a-z])/' => PCCF("return strtoupper(\$m[1]);"),%0a%0aNote that the /e flag should be now omitted, instead of '$0', '$1', '$2', we should use $m[0], $m[1], $m[2], etc. in the replacement code, and there is no need to call PSS() in the replacement code, as backslashes are not automatically added.%0a%0a>>font-style=italic%3c%3c%0aFor PHP 7.2 and newer, instead of using PCCF() to create anonymous functions, we add a real function in our add-on, and then pass the function name as the pattern replacement (see example at [[#PCCF|PCCF]], which will also work on PHP 4 and 5):%0a '/(?%3c=^| )([a-z])/' => '%25green%25my_callback%25%25',%0a>>%3c%3c%0a%0a!![[#PPRE]] [@PPRE($search_pattern, $replacement_code, $string)@] %25red%25 Deprecated since PHP 7.2%25%25%0aThe PPRE() function (''PmWiki preg_replace evaluate'') can be used to perform a regular expression replacement with evaluation.%0a%0aSince PHP 5.5, the preg_replace() function has deprecated the /e evaluation flag, and displays warnings when the flag is used. The PPRE() function automatically creates a callback function with the replacement code and calls it.%0a%0aBefore PHP 5.5, it was possible to use such calls:%0a $fmt = preg_replace('/\\$([A-Z]\\w*Fmt)\\b/e','$GLOBALS["$1"]',$fmt);%0a%0aSince PHP 5.5, it is possible to replace the previous snippet with the following (also works before PHP 5.5):%0a $fmt = PPRE('%25green%25/\\$([A-Z]\\w*Fmt)\\b/%25%25','$GLOBALS[$m[1]]',$fmt);%0a%0aNote that the /e flag should be now omitted, instead of '$0', '$1', '$2', we should use $m[0], $m[1], $m[2], etc. in the replacement code, and there is no need to call PSS() in the replacement code, as backslashes are not automatically added.%0a%0a>>font-style=italic%3c%3c%0aFor PHP 7.2 and newer, calling this function will raise "deprecated" notices. You need to rewrite your code to use [[(http://php.net/)preg_replace_callback]], by moving the code into real functions:%0a%0a $fmt = preg_replace_callback('%25green%25/\\$([A-Z]\\w*Fmt)\\b/%25%25', 'my_global_var_callback',$fmt);%0a function my_global_var_callback($m) { return $GLOBALS[$m[1]]; }%0a%0ainstead of using PCCF() to create anonymous functions, we add a real function in our add-on, and then pass the function name as the pattern replacement (see example at [[#PCCF|PCCF]], which will also work on PHP 4 and 5):%0a '/(?%3c=^| )([a-z])/' => '%25green%25my_callback%25%25',%0a>>%3c%3c%0a%0a!![[#Qualify]] [@Qualify($pagename, $text)@]%0aQualify() applies $QualifyPatterns to convert relative links and references into absolute equivalents.%0aThis function is called by usual wiki markups that include text from other pages.%0aIt will rewrite links like [@[[Page]]@] into [@[[Group/Page]]@], and page (text) variables like [@{$Title}@] into [@{Group.Page$Title}@]%0aso that they work the same way in the source page and in the including page.%0aSee also $QualifyPatterns and @@[[({$Name}#)RetrieveAuthSection]]()@@.%0a%0a%0a!![[#PHSC]] [@PHSC($string_or_array, $flags=ENT_COMPAT, $encoding=null, $double_encode=true)@]%0aThe PHSC() function (''PmWiki HTML special characters'') is a replacement for the PHP function [[(http://php.net/)htmlspecialchars]]. %0a%0aThe htmlspecialchars() function was modified since PHP 5.4 in two ways: it now requires a valid string for the supplied encoding, and it changes the default encoding to UTF-8. This can cause sections of the page to become blank/empty on many sites using the ISO-8859-1 encoding without having set the third argument ($encoding) when calling htmlspecialchars().%0a%0aThe PHSC() function calls htmlspecialchars() with an 8-bit encoding as third argument, whatever the encoding of the wiki (unless you supply an encoding). This way the string never contains invalid characters.%0a%0aIt should be safe for recipe developers to replace all calls to htmlspecialchars() with calls to PHSC(). Only the first argument is required when calling PHSC(), although authors may wish to call PHSC($string_or_array, ENT_QUOTES).%0a%0aUnlike htmlspecialchars(), the PHSC() function can process arrays recursively (only the values are converted, not the keys of the array).%0a%0a!![[#PSS]] [@PSS($string)@]%0a%0aThe PSS() function (''PmWiki Strip Slashes'') removes the backslashes that are%0aautomatically inserted in front of quotation marks by%0athe /e option of PHP's preg_replace function. PSS() is%0amost commonly used in replacement arguments to Markup(),%0awhen the pattern specifies /e and one or more of the %0aparenthesized subpatterns could contain a quote or backslash. %0a("PSS" stands for "PmWiki Strip Slashes".)%0a-->From PM: PmWiki expects PSS() to always occur inside of double-quoted strings and to contain single quoted strings internally. The reason for this is that we don't want the $1 or $2 to accidentally contain characters that would then be interpreted inside of the double-quoted string when the PSS is evaluated.%0a--->@@Markup('foo', 'inline', '/(something)/e', 'Foo(PSS("$1"))'); # wrong@@%0a--->@@Markup('foo', 'inline', '/(something)/e', "Foo(PSS('$1'))"); # right@@%0a%0a%25note%25 Note, the extra slashes are only added by @@preg_replace@@ with an @@/e@@ modifier. The markup definitions with @@Markup_e()@@ do NOT need to use PSS() in the replacement strings. The new-type markup definitions with @@Markup()@@ and a simple function name as a replacement do NOT need to use PSS() inside the replacement function. If you migrate old markup rules to the new format, delete the @@PSS()@@ calls.%0a%0a!!! Example%0aThis is a fictitious example where PSS() should be used.%0aLet us assume that you wish to define a directive [@(:example:)@]%0asuch that [@(:example "A horse":)@] results in the HTML%0a-> [@%3cdiv>"A horse"%3c/div>@].%0aHere is how the markup rule can be created:%0a-> [@%0aMarkup('example', 'directives',%0a '/\\(:example\\s(.*?):\\)/e',%0a "Keep('%3cdiv>'.PSS('$1').'%3c/div>')");%0a@]%0aWe need to use PSS() around the '$1' because the matched text%0acould contain quotation marks, and the /e will add backslashes%0ain front of them.%0a%0a!![[#stripmagic]] [@stripmagic($string)@]%0a%0aThis function should be used when processing the contents of [@$_POST@] or [@_GET@] variables when they could contain quotes or backslashes. It verifies [@get_magic_quotes()@], if true, strips the automatically inserted escapes from the string.%0a%0aThe function can process arrays recursively (only the values are processed).%0a%0a!![[#FmtPageName]] [@FmtPageName@]($fmt, $pagename)%0a%0a[[#FmtPageName-desc]]Returns [@$fmt@], with $variable and [=$[internationalisation]=] substitutions performed, under the assumption that the current page is [@pagename@]. See [[PmWiki.Variables]] for an (incomplete) list of available variables, [[PmWiki.Internationalizations]] for internationalisation. Security: not to be run on user-supplied data.%0a%0aThis is one of the major functions in PmWiki, see [[PmWiki.FmtPageName]] for%0alots of details.%0a%0a%0a!![[#Markup]] [@Markup@]($name, $when, $pattern, $replace)%0a%0a[[#Markup-desc]]Adds a new markup to the conversion table. Described in greater detail at [[PmWiki.CustomMarkup]].%0a%0aThis function is used to insert translation rules into the PmWiki's%0atranslation engine. The arguments to [@Markup()@] are all strings, where:%0a%0a:[@$name@]: The string names the rule that is inserted. If a rule of the same name already exists, then this rule is ignored.%0a:[@$when@]: This string is used to control ''when'' a rule is to be applied relative to other rules. A specification of "[@%3cxyz@]" says to apply this rule prior to the rule named "xyz", while "[@>xyz@]" says to apply this rule after the rule "xyz". See [[(PmWiki:)CustomMarkup]] for more details on the order of rules.%0a:[@$pattern@]: This string is a [[regular expression -> http://www.php.net/preg_replace]] that is used by the translation engine to look for occurences of this rule in the markup source.%0a:[@$replace@]: This string will replace the matched text when a match occurs, or the function name that will return the replacement text.%0a%0aAlso see: [[PmWiki.CustomMarkup]] and [[Cookbook:Functions#Markup]]%0a%0a!![[#MarkupToHTML]] [@MarkupToHTML@]($pagename, $str)%0a%0a[[#MarkupToHTML-desc]] Converts the string [@$str@] containing PmWiki markup into the corresponding HTML code, assuming the current page is [@$pagename@].%0a%0aAlso see: [[Cookbook:Functions#MarkupToHTML]]%0a%0a!![[#mkdirp]] [@mkdirp@]($dir)%0a%0aThe function [@mkdirp@]($dir) creates a directory, [@$dir@], if it doesn't%0aalready exist, including any parent directories that might be needed. For%0aeach directory created, it checks that the permissions on the directory are%0asufficient to allow PmWiki scripts to read and write files in that%0adirectory. This includes checking for restrictions imposed by PHP's%0asafe_mode setting. If [@mkdirp@]() is unable to successfully create a%0aread/write directory, [@mkdirp@]() aborts with an error message telling the%0aadministrator the steps to take to either create $dir manually or give%0aPmWiki sufficient permissions to be able to do it.%0a%0a!![[#MakeLink]] [@MakeLink@]($pagename, $target, $txt, $suffix, $fmt)%0a%0aThe function [@MakeLink@]($pagename, $target, $txt, $suffix, $fmt) returns an html-formatted anchor link. Its arguments are as follows:%0a $pagename is the source page%0a $target is where the link should go%0a $txt is the value to use for '$LinkText' in the output %0a $suffix is any suffix string to be added to $txt%0a $fmt is a format string to use%0a%0aIf $txt is NULL or not specified, then it is automatically computed from $target.%0a%0aIf $fmt is NULL or not specified, then MakeLink uses the default%0aformat as specified by the type of link. For page links this%0ameans the $LinkPageExistsFmt and $LinkPageCreateFmt variables,%0afor intermap-style links it comes from either the $IMapLinkFmt%0aarray or from $UrlLinkFmt. Inside of the formatting strings,%0a$LinkUrl is replaced by the resolved url for the link, $LinkText%0ais replaced with the appropriate text, and $LinkAlt is replaced%0aby any "title" (alternate text) information associated with the%0alink.%0a%0aAlso see: [[PmWiki:MakeLink]] and [[Cookbook:Functions#MakeLink]]%0a%0a!![[#MakeUploadName]] [@MakeUploadName@]($pagename, $x)%0a%0a@@MakeUploadName()@@ simply takes a string @@$x@@ (representing an attachment's%0aname) and converts it to a valid name by removing any unwanted characters.%0aIt also requires the name to begin and end with an alphanumeric character,%0aand as of 2.0.beta28 it forces any file extensions to lowercase.%0aThis function is defined in @@scripts/upload.php@@ and only used when uploads%0aare enabled.%0a%0a!![[#SessionAuth]] [@SessionAuth@]($pagename, $auth=NULL)%0a%0a@@SessionAuth()@@ manages keeping authentication via cookie-sessions. Session contains%0aever password or vaidated id and associated groups from previous calls.It adds%0aelements passed by @@$auth@@ to session. It also writes every element%0asaved in session to @@$AuthPw@@(passwords) and @@$AuthList@@(ids and groups).%0a%0a!![[#IsAuthorized]] [@IsAuthorized@]($chal, $source, &$from)%0a@@IsAuthorized@@ takes a pageattributesstring (e. g. "id:user1 $1$Ff3w34HASH...") in @@$chal@@.%0a@@$source@@ is simply returned and used for building the authcascade (pageattributes - groupattributes - %0a@@$DefaultPassword@@). @@$from@@ will be returned if @@$chal@@ is empty, because it is not checked %0abefore calling @@IsAuthorized()@@, this is needed for the authcascade. @@IsAuthorized()@@ returns an array%0awith three values: @@$auth@@ @@1@@ - authenticated, @@0@@ - not authenticated, @@-1@@ - refused; @@$passwd@@; %0a@@$source@@ from the parameter list.%0a%0a!![[#CondAuth]] [@CondAuth@] ($pagename, 'auth level')%0a[@CondAuth@] implements the [[ConditionalMarkup]] for [@(:if auth level:)@]. For instance [@ CondAuth($pagename,'edit')@] is true if authorization level is 'edit'. Use inside local configuration files to build conditionals with a check of authorization level, similar to using [@(:if auth level:)@] on a wiki page.%0a%0aNote that CondAuth() should be called after all authorization levels and passwords have been defined. For example, if you use it with [[Drafts]], you should include the draft.php script before calling CondAuth():%0a[@%0a $EnableDrafts = 1;%0a $DefaultPasswords['publish'] = pmcrypt('secret');%0a include_once("$FarmD/scripts/draft.php");%0a if (! CondAuth($pagename, 'edit')) { /* whatever */ }%0a@]%0aBest is to use CondAuth() near the bottom of your config.php script.%0a%0a!! [[#RetrieveAuthPage]] @@RetrieveAuthPage($pagename, $level, $authprompt=true, $since=0)@@%0a%25comment%25 Pm words as said in http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/12493/match=retrieveauthpage%25%25%0awhere:%0a%0a $pagename - name of page to be read%0a $level - authorization level required (read/edit/auth/upload)%0a $authprompt - true if user should be prompted for a password if needed%0a $since - how much of the page history to read%0a 0 == read entire page including all of history%0a READPAGE_CURRENT == read page without loading history%0a timestamp == read history only back through timestamp%0a%0aThe $since parameter allows PmWiki to stop reading from a page file%0aas soon as it has whatever information is needed -- i.e., if an operation%0asuch as browsing isn't going to need the page's history, then specifying%0aREADPAGE_CURRENT can result in a much faster loading time. (This can be %0aespecially important for things such as searching and page listings.)%0aHowever, if combined with UpdatePage, the updated page will have no history.%0a%0aUse e.g. [@$page = @RetrieveAuthPage('Main.MyPage', 'read')@] to obtain a page object that contains all the information of the correspondent file in separate keys, e.g. [@$page['text']@] will contain a string with the current wiki markup of Main.MyPage. Use this generally in preference to the alternative function [@ReadPage($pagename, $since=0)@] since it respects the authorisation of the user, i.e. it checks the authorisation level before loading the page, or it can be set to do so. [@ReadPage()@] reads a page regardless of permission.%0a%0aPassing 'ALWAYS' as the authorization level (instead of 'read', 'edit', etc.) will cause RetrieveAuthPage to always read and return the page, even if it happens to be protected by a read password.%0a%0a%0a!! [[#RetrieveAuthSection]] @@RetrieveAuthSection($pagename, $pagesection, $list=NULL, $auth='read')@@%0aRetrieveAuthSection extracts a section of text from a page. If $pagesection starts with anything other than '#', the text before the first '#' (or all of it, if there is no '#') identifies the page to extract text from. Otherwise RetrieveAuthSection looks in the pages given by $list (should be an array), or in $pagename if $list is not specified. %0a* The selected page is placed in the global $RASPageName variable. %0a* The caller is responsible for calling Qualify() as needed, i.e. if you need to control how unqualified page and variable names shall be resolved.%0a** To have them act as in the original text, let @@Qualify()@@ resolve them relative to the source page.%0a** If the imported text was not meant as wikitext but as some other kind of markup that might happen to contain double pairs of square brackets, (:comment %3c-- not: pairs of 〚double square brackets〛 = U+301A/U+301B:) or dollar signs inside curly brackets, you probably don't want to @@Qualify()@@ them. If you output them into wikitext, you'll probably need to @@Keep()@@ the text (:comment %3c-- translators: conceptually this means to have Keep() pack the text in a container that marks it as "final".:) (in case of HTML, XML, RSS or similar output, @@PHSC()@@ first!), to prevent later stages of processing from interpreting the apparent wiki markups in context of the target page.%0a** If your code produces wikitext for an auxiliary page that is meant to be included by another page higher up in the inclusion chain, and want links and variables to work as if they were in the auxiliary page, use the auxiliary page's "GroupName.PageName" as the $pagename argument for @@Qualify()@@.%0a%0aProvides a way to limit the array that is returned by ReadPage, so that it only pulls the content up to a specific section marker. For example, pulling from start of page to '##blogend':%0a->[@%0afunction FeedText($pagename, &$page, $tag) {%0a $text = RetrieveAuthSection($pagename, '##blogend');%0a $content = MarkupToHTML($pagename, $text);%0a return "%3c$tag>%3c![CDATA[$content]]>%3c/$tag>";%0a}%0a@]%0a%0aThe '##blogend' argument says to read from the beginning of the page to just before the line containing the [[#blogend]] marker. See%0a[[http://www.pmwiki.org/wiki/PmWiki/IncludeOtherPages | IncludeOtherPages]] for more information about the section specifications.%0a%0aThis version won't read text from pages that are read-protected; if you want to get text even from read-protected pages, then %0a->[@%0a $text = RetrieveAuthSection($pagename, '##blogend', NULL, 'ALWAYS');%0a@]%0a%0a%0a!! [[#UpdatePage]] @@UpdatePage($pagename, $old (page object), $new (page object));@@%0a''[[PmWiki:UpdatePage|More Technical Notes]]''%0a%0a[@UpdatePage()@] allows cookbook recipes to mimic the behavior of editing wiki pages via the browser. Internally, PmWiki does several house keeping tasks which are accessible via this function (preserving history/diff information, updating page revision numbers, updating RecentChanges pages, sending email notifications, etc._%0a* "Page object" refers to an array pulled from [@RetrieveAuthPage($pagename, $level, $authprompt=true, $since=0);@] (preferred), or [@ReadPage($pagename); @] (disregards page security). Note that $new['text'] should contain all page data for the new version of the page. %0a* If a page doesn't exist, UpdatePage() will attempt to create it.%0a* Ignoring $old (e.g. [@UpdatePage($pagename, '', $new);@]) will erase all historical page data---a ''tabula rasa''.%0a** If you retrieved $old using RetrieveAuthPage($pagename,$auth,$prompt,READPAGE_CURRENT) and set $new=$old, then UpdatePage will also erase all historical data%0a@@UpdatePage()@@ cannot be called directly from config.php because there are necessary initializations which occur later in pmwiki.php. It is not enough to just load stdconfig.php. If you want to use @@UpdatePage()@@ you will need to do it within a [[PmWiki:CustomMarkup | custom markup]], a [[Cookbook:MarkupExpressionSamples | custom markup expression]], or a [[PmWiki:CustomActions | custom action]].%0a%0aCategories: [[!PmWiki Developer]] +time=1567168359 blob - /dev/null blob + 07e0e763f847e4dcb5ef91888573e98cd44e5a0f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Glossary @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=trail +name=PmWiki.Glossary +rev=29 +targets=PmWiki.WikiFarmTerminology +text=(:Summary: Terms related to PmWiki:)%0a%0aThis page describes various terms related to PmWiki.%0a%0a:Author: Any user with privileges to write to the wiki.%0a%0a:Admin: The person (or people) who controls access to the wiki, configures the wiki, and generally is the person who installed the wiki.%0a%0a:Configuration file: A specially-named PHP script file where local customizations can take place for a farm, a wiki, a group, or a page.%0a%0a:Default configuration: The way Pm has chosen to set all settings, or an individual setting, by default. For example, $EnablePathInfo is disabled by default. A wiki with no ''local/config.php'' file is using the default configuration. Likewise, a farm that only defines $FarmPubDirUrl in ''farmconfig.php'' is using the default configuration.%0a%0a[[#farm]]%0a:Farm: A group of wikis that share code. Content and formats may or may not be shared. For more farm-related terms, including several which have been deprecated, see [[WikiFarmTerminology]]%0a%0a:Farm-wide configuration file: A WikiFarm's ''local/farmconfig.php'' file, where any settings (besides $FarmPubDirUrl) customize the default configuration for all of the wikis in a farm.%0a%0a:Full page name: The ''full page name'' consists of a group and a name, e.g. [@Main.WikiSandbox@]. The variable for the full page name is [@{$FullName}@], which for this page is @@{$FullName}@@. Similarly, the variable for the group is [@{$Group}@] which here is @@{$Group}@@.%0a%0a:Group: A collection of associated wiki pages; by default this appears in the page name as "Group.PageName". Attributes can be set on all pages in the group simultaneously. The variable for the group is [@{$Group}@], which here is @@{$Group}@@.%0a%0a:Local configuration file: A specially-named PHP script where local customizations can take place for an individual wiki. For an entire wiki it's named ''local/config.php''. Individual groups and pages can also have their own local configuration files.%0a%0a:Local customization: Any deviation from the default configuration. A related phrase is "farm-wide customization".%0a%0a:Page file name: The ''page file name'' is the name of the file that normally stores the data of a page in the directory [@wiki.d/@]. This file name is normally built directly from the page name.%0a%0a:Page link: A ''page link'' is something that is used to generate a link to a page. For example, the markup [@[[wiki sandbox]]@], [@[[(wiki) sandbox]]@], [@WikiSandbox@], [@Main/WikiSandbox@], [@[[Main/wiki sandbox]]@], [@[[Main.WikiSandbox | click here]]@], etc all specify a link to the page '[=Main.WikiSandbox=]'. In each case PmWiki uses the context of the link to generate a page name from the page link -- normally by capitalizing each word found in the link and stripping any characters that aren't considered valid in page names.%0a%0a:Page name: The ''page name'' is a string that PmWiki uses to refer to a page - i.e. it ''names the page''. This could also be considered a ''handle'' for the page. The variable for the page name is simply called [@{$Name}@], which for this page is @@{$Name}@@.%0a-> Note that there is no whitespace in page names, and by default PmWiki capitalizes each word in a page's name. There is however a variable [@{$Namespaced}@] where spaces have been inserted, e.g. for the page [=WikiSandbox=] this variable would be [@Wiki Sandbox@].%0a-> Note that PmWiki also uses the page name to locate per-group and per-page customization files in the [@local/@] subdirectory. For example, browsing [=Main.WikiSandbox=] would cause [@local/Main.WikiSandbox.php@] and [@local/Main.php@] to be loaded if these files existed.%0a%0a:Page title: A ''page title'' is the title element of a page, i.e. what is usually shown above the page and in the browser window's name. This title is normally set via the directive [@(:title:)@], but if no such directive is given the title will be automatically generated from the page name. The title of a page is accessed via either the variable [@{$Title}@] or the variable [@{$Titlespaced}@]. The latter differs in that it uses the spaced version of the name.%0a%0a:Page URI: Page names are used in `URIs to tell PmWiki which page is to be loaded or acted upon. The normal form of a page URI is usually one of these two%0a--> [@http://www.example.com/pmwiki/pmwiki.php?n=Main.WikiSandbox@]%0a--> [@http://www.example.com/pmwiki/pmwiki.php/Main.WikiSandbox@]%0a-> Note that various aliasing and rewriting tricks can be used to modify this, but PmWiki expects to obtain a page name from the parameter 'n' or from the [@PATH_INFO@] component following the URI of the script ([@pmwiki.php@]).%0a-> Note that the parameter 'n' takes precedence over [@PATH_INFO@] if both are available.%0a%0a:Wikifarm:Synonymous for "[[#farm | farm]]".%0a%0a +time=1315670897 blob - /dev/null blob + 120cb9d9bb36562ebea5d5ef97f56d6fa21d0bb6 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.GroupCustomizations @@ -0,0 +1,10 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=%25hlt php%25, See also $WikiPageCSSFmt and Cookbook:LocalCSS. +ctime=1250689504 +name=PmWiki.GroupCustomizations +rev=16 +targets=PmWiki.WikiGroup,PmWiki.WikiAdministrator,PmWiki.LocalCustomizations,PmWiki.GroupHeaders,PmWiki.Passwords,PmWiki.PasswordsAdmin,PmWiki.SecurityVariables,PmWiki.WikiCascades,PmWiki.GroupName,Cookbook.LocalCSS,PmWiki.LayoutVariables,PmWiki.BasicVariables,PmWiki.GroupAttributes,PmWiki.WikiFarms,PmWiki.HierarchicalGroups +text=(:Summary: How to customize a subset of your wiki:)%0a(:Audience: administrators (intermediate) :)%0aOne of the purposes of [[Wiki Group]]s is to allow a [[Wiki Administrator]] to customize the features of PmWiki on a per-group basis. Here is where ''per group customizations'' come into play.%0a%0a!! Group-specific PHP and CSS %0a%0aThe ''local/'' subdirectory is used to hold local configuration files. %0a%0aThe ''pub/css/'' subdirectory is used to hold local css files.%0a%0aTo perform [[local customizations]] for a particular WikiGroup, %0a* place the customizations in a file called "''%3cgroupname>.php''" (where ''%3cgroupname>'' is the actual name of the page group in question) in the ''local/'' subdirectory %0a* place the CSS customizations in a file called "''%3cgroupname>.css''" (where ''%3cgroupname>'' is the actual name of the page group in question) in the ''pub/css/'' subdirectory.%0aThese files will be automatically processed after processing any local customizations in the ''config.php'' and ''local.css'' files.%0a%0aFor example, to change the image displayed in the upper-left corner of pages in the "GroupName" WikiGroup, one could create ''local/GroupName.php'' containing%0a->%25hlt php%25 [@%0a%3c?php%0a $PageLogoUrl = "/myimages/chess.gif";%0a@]%0aThe example's effect would cause all pages in the GroupName [[Wiki Group]] to use "/myimages/chess.gif" as the logo image instead of the default.%0a%0aTo add markup to the beginning or end of each page in a wiki group, see [[Group headers]].%0a%0a!! Per-page customizations%0a[[#PerPage]] PmWiki also allows per-page customizations; simply use the full name of the page to be customized instead of the group. For example, one can use the file ''local/Chess.`HomePage.php'' to set local customizations for Chess.`HomePage.%0a%0aAlmost any customization that would be placed in ''config.php'' can be used as a per-group or per-page customization. %0a%0aAn important exception to this is setting '''per-group or per-page customizations for recipe scripts''' included in config.php. Most recipe scripts would need any customization variables defined before the script is included. Instead of using a per-group or per-page customization php file, use a per-group or per-page conditional statement in config.php, before including the recipe script. Example:%0a%0a->%25hlt php%25[@%0a## Inclusion of per-page and per-group local php scripts%0a$pagename = ResolvePageName($pagename);%0ainclude_once("$FarmD/scripts/pgcust.php");%0a%0a$page = PageVar($pagename, '$FullName');%0a$group = PageVar($pagename, '$Group');%0a//per-group customizations:%0aif($group=='GroupName') {%0a $RecipeVariable = 'valueA';%0a etc. ...%0a}%0a//per-page customizations:%0aif($page=='GroupName.PageName') {%0a $RecipeVariable = 'valueB';%0a etc. ...%0a}%0a//include recipe after variables are set:%0ainclude_once('cookbook/recipescript.php');@]%0a''Required reading: [[LocalCustomizations#configphp-order|Order of the commands in config.php]].''%0a%0a%25red%25 Note that this method cannot be used to set $DefaultPasswords, you should use Group or Page attributes. See [[Passwords]] and [[PasswordsAdmin]] for more information.%0a%0a[[#processingorder]]%0a!! Processing order%0aFor all local customizations, PmWiki first processes the ''local/config.php'' file, and then looks for a per-page customization file in the ''local/'' subdirectory to process, followed by any per-group customization file. If no per-page or per-group customizations are loaded, then PmWiki loads ''local/default.php''. If a per-page customization wants to have the per-group customizations loaded first, it can do so directly by using PHP's [@include_once()@] function.%0aFor more information see [[(PmWiki:)wiki cascades]].%0a%0a!! Custom CSS styles per group or per-page%0aTo apply CSS styles to pages of a specific group named [[Group Name]], create a file named ''GroupName.css'' in the ''pub/css/'' directory and add the CSS style rules there. To apply styles to a specific page, create a file ''GroupName.PageName.css'' in this directory with your style rules. Any CSS rules to be applied for all wiki pages can be put into ''pub/css/local.css''.%0a%0a->%25hlt css%25[@%0a body { background: #F4C4B4; }%0a@]%0a%0aSee also $WikiPageCSSFmt and Cookbook:LocalCSS.%0a%0a!! Preventing group-Level configurations%0aAny customization file can set $EnablePGCust=0; to prevent later page/group/default customizations from being automatically loaded. If a per-page customization needs to have the per-group customizations loaded first, it can do so directly by using PHP's [@include_once()@] function.%0a%0a!! Authentication%0aAny passwords required for a group should be set in the group's [[Group Attributes]] page (see [[Passwords Admin]]istration) and not in a group customization file.%0a%0a!! Consider Wiki Farms%0a[[Wiki Group]]s are an easy way to host multiple sites in a single PmWiki installation by giving each site its own group. Another approach is to use [[Wiki Farms]], which allows each site to have its own set of [[Wiki Group]] and local customization files.%0a%0aIf you are looking for nested group levels, you may want to consider [[PmWiki:HierarchicalGroups|Pm's design considerations on hierarchical groups]].%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: How can I apply CSS styles to a particular group or page?%0a%0aA: Simply create a ''pub/css/Group.css'' or ''pub/css/Group.Page.css'' file containing the custom CSS styles for that group or page. See also Cookbook:LocalCSS.%0a%0aQ: Why shouldn't passwords be set in group (or page) customization files? Why shouldn't group or page passwords be set in config.php?%0a%0aA: The reason for this advice is that per-group customization files are only loaded for the current page. So, if @@[=$DefaultPasswords['read']=]@@ is set in ''local/GroupA.php'', then someone could use a page in another group to view the contents of pages in GroupA. For example, Main.WikiSandbox could contain:%0a%0a--> [=(:include GroupA.SomePage:)=]%0a%0aand because the ''GroupA.php'' file wasn't loaded (we're looking at Main.WikiSandbox --> ''local/Main.php''), there's no read password set.%0a%0aThe same is true for page customization files.%0a%0aQ: Isn't that processing order strange? Why not load per page configuration last (that is after global configuration an per group configuration)?%0a%0aA: Many times what we want to do is to enable a certain capability for a group of pages, but disable it on a specific page, as if it was never enabled. If the per-group config file is processed first, then it becomes very difficult/tedious for the per-page one to "undo" the effects of the per-group page. So, we load the per-page file before the per-group.%0a%0aIf a per-page customization wants the per-group customizations to be performed first, it can use the techniques given [[#processingorder|above]] (using ''include_once()'' or setting @@[=$EnablePGCust = 0;=]@@).%0a +time=1574411830 blob - /dev/null blob + 8afe7666af64d581d0d369efdd13c6e1abdd65ff (mode 644) --- /dev/null +++ wikilib.d/PmWiki.GroupFooter @@ -0,0 +1,11 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=SchreyP +charset=UTF-8 +csum=Add "|+" after Documentation index link so translation is shown +ctime=1219202352 +name=PmWiki.GroupFooter +rev=62 +targets=PmWiki.DocumentationIndex,PmWiki.Variables,PmWiki.GroupF +text=(:Summary:Trail and talk page links:)%0a[[#trailstart]] (:comment included in PmWiki localisation headers and footers :)%0a(:if ontrail {*$Group}.DocumentationIndex#trailstart#trailend {*$Name}:) %0a(:div style="clear:right; float:right; font-size:smaller; background-color:#eee;":)%0a%3c|[[{*$Group}/Documentation index(#trailstart#trailend)|+]]|> %25%25%0a(:divend:)%0a(:ifend:)%0a(:if ontrail {*$Group}.Variables {*$Name}:) %0a(:div style="clear:right; float:right; font-size:smaller; background-color:#ddd;":)%0a%3c|[[{*$Group}/Variables]]|> %25%25%0a(:divend:)%0a(:ifend:)%0a[[#trailend]]%0a[[%3c%3c]]%0a>>bgcolor=#ffe border-top="1px solid black" font-size=.8em%3c%3c%0a(:if name *-Talk:)%0aThis is a talk page for improving [[{(substr "{*$FullName}" 0 -5)}]].%0a(:else:)%0aThis page may have %25commentout-pmwikiorg%25 a more recent version on [[(http://www.)pmwiki.org]]: [[PmWiki:{*$Name}]], and %25%25 a talk page: [[PmWiki:{*$Name}-Talk]].%0a(:ifend:)%0a>>%3c%3c%0a +time=1315670897 blob - /dev/null blob + 261143476662437fdfb03be66219c0dbb0a3beda (mode 644) --- /dev/null +++ wikilib.d/PmWiki.GroupHeader @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Simon +charset=UTF-8 +csum=restore +name=PmWiki.GroupHeader +rev=63 +targets= +text=(:Summary: PmWiki group header. Includes styles and trail.:)%0a%25define=note font-style=italic color=green%25\%0a%25define=important block bgcolor=#fcc border='1px solid black' padding=5px%25\%0a%25define=audience class='frame rfloat' font-size:smaller bgcolor=#ffffcc clear:right%25(:comment please leave the multiple style definitions concatenated as a single line. Linebreaks do appear in the output when the wiki is configured with linebreaks enabled -- thanks!:)%0a(:include PmWiki.GroupFooter#trailstart#trailend:)%0a(:if ! equal "{*$:Audience} "" :)(:div style="clear:right;":)%25audience%25{*$:Audience}%25%25%0a(:divend:)(:ifend:) +time=1315670897 blob - /dev/null blob + 7d4bcce7ca7ecb32232f2970ada21268deeb5a19 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.GroupHeaders @@ -0,0 +1,10 @@ +version=pmwiki-2.2.48 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=title GroupHeaders and GroupFooters +name=PmWiki.GroupHeaders +rev=72 +targets=PmWiki.WikiGroup,PmWiki.WikiStyles,PmWiki.PageDirectives,PmWiki.WikiAdministrator,PmWiki.IncludeOtherPages,PmWiki.LayoutVariables,Cookbook.AllGroupHeader,Cookbook.WikiFooter +text=(:Summary: Group Header and Group Footer page usage:)(:title GroupHeaders and GroupFooters:)%0a(:Audience: authors (intermediate) :)%0aEvery [[WikiGroup]] can have `GroupHeader and `GroupFooter pages that contain markup that should be included at the beginning or end of each page within the group. This feature is useful for:%0a%0a* adding a disclaimer or heading to all of the pages of a group%0a* defining custom [[WikiStyles]] that may be used for all pages in a group%0a* replacing the default headers and/or footers for pages in a group (e.g., using [@(:noheader:)@] and or [@(:nofooter:)@] -- see [[PageDirectives]]).%0a%0aTo create a group header, just create a new page called [@YourGroup.GroupHeader@]. Group headers allow authors to create groups with custom headers and footers without having to coordinate with a [[wiki administrator]]. %0a%0aThe default `GroupHeader or `GroupFooter can be suppressed on an individual page (such as a group's `HomePage) by using the [@(:nogroupheader:)@] and [@(:nogroupfooter:)@] markups ''on that page''.%0a%0aIf a generic `GroupHeader is used in one wikigroup (say, the Site wikigroup), then the code can be easily duplicated in the `GroupHeader of any other group by using %0a[@(:include Site.GroupHeader:)@]. See [[IncludeOtherPages]].%0a%0aIf you want a header or footer to appear when you print a page (action '''print'''), simply create a page called [@YourGroup.GroupPrintHeader@] or [@YourGroup.GroupPrintFooter@] and fill it with your markup.%0a%0aYou can also set the variable [[LayoutVariables#GroupPrintHeaderFmt | [@$GroupPrintHeaderFmt@]]] and [[LayoutVariables#GroupPrintFooterFmt | [@$GroupPrintFooterFmt@]]] in the same way as [@$GroupHeaderFmt@] and [@GroupFooterFmt@] in order to change the header used when [@action=print@]. %0a%0aSee also%0a* [[Cookbook:All group header]] [- {Cookbook/AllGroupHeader$:Summary} -]%0a* [[Cookbook:Wiki footer]] [- {Cookbook/Wikifooter$:Summary} -]%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I set the same header or footer for all pages/groups?%0aA: The header and footer for each page are controlled by the variables $GroupHeaderFmt and $GroupFooterFmt. If your site-wide header and footer pages are Site.SiteHeader and Site.SiteFooter, you can add this in config.php:%0a%0a->[@%0a### If you use Site.SiteHeader and Group.GroupHeader%0a$GroupHeaderFmt = '(:include {$SiteGroup}.SiteHeader'%0a . ' basepage={*$FullName}:)(:nl:)' . $GroupHeaderFmt;%0a%0a### If you use Site.SiteHeader instead of Group.GroupHeader%0a$GroupHeaderFmt = '(:include {$SiteGroup}.SiteHeader'%0a . ' basepage={*$FullName}:)(:nl:)';%0a%0a### If you use Site.SiteFooter and Group.GroupFooter%0a$GroupFooterFmt .= '(:nl:)(:include {$SiteGroup}.SiteFooter'%0a . ' basepage={*$FullName}:)';%0a%0a### If you use Site.SiteFooter instead of Group.GroupFooter%0a$GroupFooterFmt = '(:nl:)(:include {$SiteGroup}.SiteFooter'%0a . ' basepage={*$FullName}:)';%0a@]%0a%0aNote that single quotes must be used in the lines above.%0a%0aSee also the Cookbook:AllGroupHeader recipe.%0a%0aA: Instead of using an additional page, you could set any wiki text in $GroupHeaderFmt, for example:%0a%0a->[@$GroupHeaderFmt .= "Global message here.";@]%0a +time=1361895313 +title=GroupHeaders and GroupFooters blob - /dev/null blob + a7086500265dd5a1bcb28da5a4615e06f75d961f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.I18nVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.90 ordered=1 urlencoded=1 +author=HaganFox +charset=UTF-8 +csum=$DefaultPageCharset +name=PmWiki.I18nVariables +rev=17 +targets=PmWiki.Internationalizations,Site.Preferences +text=(:Summary:variables used for internationalization (i18n):)%0a%0aThis page describes the variables used by PmWiki for [[Internationalizations]] (i18n).%0a%0a(:if ! equal '{$DefaultPageCharset}' '':)%0a%25rfloat%25Variable value "{$DefaultPageCharset}"%0a(:ifend:)%0a:$DefaultPageCharset: Fix and correctly handle some pages with missing or wrong attributes when UTF-8 is enabled.%0a%0a:$EnableXLPageScriptLoad:This variable, if set to 0, will disable the 'xlpage-i18n' parameter in XLPage definitions and thus it will prevent editors from (accidentally) loading scripts and changing the website encoding. Note that if you use this variable, you should include the required scripts, eg. xlpage-utf-8.php, from config.php.%0a%0a:$VarPagesFmt:An array which contains the PageNames where you can find lists (trails) of pages containing variable definitions. To be modified when documentation is not in English. See ''scripts/vardoc.php''.%0a%0a:@@%25blue%25$XL%25%25@@:An array (hash) which contains pairs of language identifiers and translation hashes. Each translation hash maps a given lookup key (or phrase) into a corresponding text string for the given language. Thus, it is essentially a multi-lingual dictionary used for phrase translation. It is also used for handling user preference mappings. Thus, the 'e_row' value that one finds on the [[Site.Preferences]] page is loaded into $XL during preference processing.%0a%0a:$XLLangs:An array that contains the names of the currently active language definitions. Only dictionaries in $XL that are named in $XLLangs are used by the [=$[...]=] markup when performing a translation.%0a%0aSee also:%0a* $TimeFmt%0a +time=1473815007 blob - /dev/null blob + fad6454a0bb68fefc391fa9c217b805b876035cd (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Images @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=correction (+8) +keywords=graphics, pictures, photos +name=PmWiki.Images +rev=210 +targets=PmWiki.DocumentationIndex,PmWiki.Links,PmWiki.Uploads,PmWiki.InterMap,PmWiki.WikiStyles,Cookbook.Images,Cookbook.RelativeLinks,PmWiki.LinkVariables +text=(:Summary:Placing images in pages:)%0aHere you can find how to embed pictures in your wiki pages, either uploaded to the wiki, or on external websites.%0a!! Basic usage%0aTo place an image into a page, [[PmWiki.Uploads|upload]] the image using the "[@Attach:@]" markup, or enter the address (url) of the image into the markup text. %0aAny ''alternate text'' (used for tooltips and for browsers that do not display images) is placed in double quotes immediately following the image url.%0aA caption can follow separated by a vertical bar (|), and may include simple formatting%0a(:markup class=horiz:)%0ahttps://pmichaud.com/img/misc/pc.jpg"Paper clips" | [- %25newwin%25 [[ Wikipedia:Paper_clips | Paper clips ]] are ''fun'' to work with. -]%0a(:markupend:)%0a%0aImages can also be specified as [[upload(s)]]ed files (i.e., [@Attach:image.jpeg@]) and using [[InterMap]] links. %0aBy default PmWiki supports the following image types for embedding into the page:%0a gif, jpg, jpeg, png, svg, svgz%0a%0a%25note%25 (See also [[PmWiki/Uploads]] and [[#notes|Notes]] below for image files that lack extensions.)%0a%0aTo create a [[link(s)]] to an image (like [[https://pmichaud.com/img/misc/pc.jpg]] as opposed to displaying the image itself), use double brackets to mark the link, as in [@[[https://pmichaud.com/img/misc/pc.jpg]]@] or [@[[Attach:image.jpeg]]@].%0a%0aTo have an image link to another location, use the image as the link text as in %0a(:markup class=horiz:)%0a[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%0a(:markupend:)%0aor [@[[http://example.com|Attach:Groupname./image.jpeg]]@].%0a%0a[[#tooltips]]%0a!! Tool tips or alternate text%0aA tool tip, or alternate text, can be displayed when the cursor hovers over the image by placing the description in double quotes directly following the image's URL.%0aThe description cannot contain any formatting.%0a(:markup class=horiz:)%0ahttps://pmichaud.com/img/misc/pc.jpg"Coloured paper clips"%0a(:markupend:)%0a%0a%0a[[#captions]]%0a!! Captions%0aA caption can be added to an image using a vertical bar and the caption text.%0a(:markup class=horiz:)%0ahttps://pmichaud.com/img/misc/pc.jpg | '''Figure 1'''%0a(:markupend:)%0a%0a[[#inline]]%0a!! Image alignment%0aNormally, images are displayed "in line" with the surrounding text.%0a%0aUse [@%25center%25@] to center an image on its own paragraph, [@%25right%25@] to align it to the right. %0a(:markup class=horiz:)%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.%0a%0a%25center%25https://pmichaud.com/img/misc/pc.jpg"Paper clips"%25%25%0a(:markupend:) %0a%0a%0a[[#floating]]%0a!! Floating images%0aTo left or right-align an image with text wrapping around it, use the [@%25lfloat%25@] or [@%25rfloat%25@] [[wiki styles]]. %0a(:markup class=horiz:)%0a%25lfloat text-align=center margin-top=5px margin-right=25px margin-bottom=5px margin-left=25px%25 https://pmichaud.com/img/misc/gem.jpg | '''Rock on!'''%0a'''The image is left-aligned, with margins set; the caption is centered; the text wraps on the right side of the image.'''%0a%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. %0a(:markupend:)%0a%0aThe [@[[%3c%3c]]@] markup breaks floating text, and the text continues at the bottom of the image.%0a%0a(:markup class=horiz:) %0a%25lfloat%25 https://pmichaud.com/img/misc/gem.jpg%0a'''The image is left-aligned, and the text wraps on the right side of the image. The text after the ''[@[[%3c%3c]]@]'' markup continues below the image.'''%0a[[%3c%3c]]%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. %0a(:markupend:)%0a%0aUse the [@%25lframe%25@] or [@%25rframe%25@] styles to float an image and place a frame around the image and its caption. The frame can be formatted via wikistyles:%0a%0a(:markup class=horiz:) %0a%25rframe%25 https://pmichaud.com/img/misc/gem.jpg | '''Rock on!'''%0a'''The image is right-aligned, and the text wraps on the left side of the image.'''%0a%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.%0a(:markupend:)%0a%0a(:markup class=horiz:) %0a%25cframe width=100px bgcolor=lightblue border='3px solid red' padding=20px%25 https://pmichaud.com/img/misc/gem.jpg%0a(:markupend:)%0aExample to show failure to fully apply width setting:-%0a(:markup class=horiz:) %0a%25cframe width=50px bgcolor=lightblue border='3px solid red' padding=20px%25 https://pmichaud.com/img/misc/gem.jpg%0a(:markupend:)%0a%0aUse [@%25block rframe%25@] to set off multiple images and caption text to be stacked vertically in a right-floating frame.%0a%0a(:markup:) %0a%25block rframe width=300px%25https://pmichaud.com/img/misc/gem.jpg\\%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\\%0ahttps://pmichaud.com/img/misc/bubble.jpg\\%0aLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.%25%25%0a%0aText subsequent to the defined block wraps to the left of the frame. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.%0a(:markupend:)%0a%0a!!Resizing images [[#resizing]]%0a%0aTo resize an image via wikistyles, use [@%25width=50px%25@] or [@%25height=50px%25@] in front of an image. The [@%25thumb%25@] wikistyle is a helpful shortcut for [@%25width=100px%25@].%0a%0a(:markup:)%0a%25width=50px%25 https://pmichaud.com/img/misc/bubble.jpg \%0a%25height="50px"%25 https://pmichaud.com/img/misc/bubble.jpg \%0a%25width=10pct%25 https://pmichaud.com/img/misc/bubble.jpg %25comment%25 pct is "percent" in pmwiki \%0a%25thumb%25 https://pmichaud.com/img/misc/bubble.jpg %25comment%25[@ %25thumb%25 is shortcut for %25width=100px%25 @]%0a(:markupend:)%0a%0aNote: Resizing an image via wikistyles only affects how it is displayed in a browser; it does not reduce the transfer size of the image itself - hence resizing via wikistyles is not an acceptable method of generating a page-full of images, or 'gallery'.%0a%0aIf you want a resized image within a link, you have to specify the size before the link as well as close it off with a [=%25%25=].%0a%0a(:markup:)%0a%25width=60%25[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25 \%0a%25height=60%25[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25 \%0a(:markupend:)%0a%0aTo open the link in new window, you place [=%25newwin%25=] before the size specification.%0a%0a(:markup:)%0a%25newwin%25[[http://pmwiki.org/ | https://pmichaud.com/img/misc/pc.jpg"PmWiki"]]%25%25%0a(:markupend:)%0a%0aResized images using [@%25thumb%25@] can also be floated with frames, as well as made into links.%0a%0a(:markup:) %0a%25lframe thumb%25 [[https://pmichaud.com/img/misc/bubble.jpg | https://pmichaud.com/img/misc/bubble.jpg"Burst the bubble"]] | [-Bubble-]%0a%25lframe thumb%25 https://pmichaud.com/img/misc/pc.jpg"Clip the ticket" | [-Paper Clips-]%0a%25lframe thumb%25 [[DocumentationIndex | https://pmichaud.com/img/misc/gem.jpg"Visit the Documentation Index"]] | [[DocumentationIndex | [-Rock On-]]]%0a(:markupend:)%0a%0a[[#links]]%0a!! Images as [[PmWiki/links]]%0aTo use an image as a link specify an image instead of text in the [[PmWiki/link(s)]] markup.%0a(:markup:)%0a[[PmWiki/Links | https://pmichaud.com/img/2003/atc-1.gif"Information about wiki links"]]%0a(:markupend:)%0a%0a[[#notes]]%0a!!Notes%0a* '''An image file that lacks a correct extension''' can be displayed by addition of a "false" extension to the URL. For example, if the url is [@http://example.com/script/tux@], add a fake query string on the end with the desired extension (e.g., [@http://example.com/script/tux?format=.png@]). If query strings are unsuitable, a fragment identifier should work, e.g. [@http://example.com/script/tux#file.png@].%0a%0a* Relative width is possible by using percentages.%0a(:markup:)%0a%25width=10pct%25 https://pmichaud.com/img/misc/bubble.jpg \%0a%25height=30pct%25 https://pmichaud.com/img/misc/bubble.jpg %0a(:markupend:)%0a%0a* '''Flowing text is possible, like captions, within a frame'''%0a(:markup:)%0a>>lframe width=130px%3c%3c%0a%25thumb width=130%25 [[https://pmichaud.com/img/misc/bubble.jpg | https://pmichaud.com/img/misc/bubble.jpg"Burst the bubble"]] | [--Long caption for an image like [[https://pmichaud.com/img/misc/bubble.jpg | the bubble]]. This is just to show some text flowing within the frame.--]%0a>>%3c%3c%0a(:markupend:)%0a%0a%0a%0a!!See also%0a* [[Cookbook:Images]] - adding image galleries, automatic thumbnails, background images and more. %0a%0a!!Credits%0aThe images on this page were obtained from https://flickr.com and are redistributed under a Creative Commons License.%0a%0a(:keywords graphics, pictures, photos:)%0a[[%3c%3c]]%0a!! FAQ [[#FAQ]]%0a>>faq%3c%3c [[#faq]]%0a%0aQ: Is it possible to link an image on PmWiki without using a fully qualified URL?%0aA: Yes. For images that are attachments, the general format is [@Attach:Groupname./image.gif@]. To link to an image that is on the same server, use @@[=Path:=]/path/to/image.gif@@ where "Path:" replaces the server name like "[=https://www.example.com=]".%0a%0aQ: Can I attach a client image file on PmWiki?%0aA: Yes, see [[PmWiki/Uploads]] .%0a%0aQ: How can I include a page from another group that contains an attached image?%0aA: Include the page in the normal way, ie [@(:include GroupName.Pagename:)@]. In the page to be included (that contains the image) change [@Attach:filename.ext@] to [@Attach:{$Group}./filename.ext@]. %0a%0aQ: Why, if I put an image with rframe or rfloat and immediatly after that I open a new page section with ! the section title row is below the image instead of on the left side?%0aA: Because the CSS for '''headings''' such as ! contains an element '''clear:both''' which forces this behaviour. Redefine the CSS locally if you want to stop this happening, but I think the bottom border (that underlines the heading) would need further re-definition. I just use bolding for the title, and 4 dashes below [=-=]--- to separate a new section, and it saves the effort of fiddling with the core definitions.%0a%0aUnlike the '''lframe''' and '''rframe''' directives, '''cframe''' does not fully honour the width setting. While the frame itself resizes to match the request, the enclosed image does not, and retains its original width. Effect is the same in IE and Fx. I've added an example beneath the standard example above.%0a%0aQ: Is it possible to disallow all images? I already disabled uploads but I also want to disallow external images from being shown on my wiki pages.%0a%0aA: Yes, add to config.php:%0a->[@%0aDisableMarkup('img');%0a$ImgExtPattern = "$^";%0a@]%0a%0aQ: How can I make it so that when I place an image in a page, the block of text it is in is a %3cp> (paragraph) rather than a %3cdiv> (division)?%0a%0aA: If you just want it to happen for a single image (instead of all), then%0atry putting [@[==]@] at the beginning of the line, as in:%0a%0a->[@[==] https://www.pmwiki.org/pub/pmwiki/pmwiki-32.gif@]%0a%0aHaving [@[==]@] at the beginning of a line forces whatever follows to%0abe part of a paragraph.%0a%0aQ: Is there any way to use relative paths for images?%0aA: See Cookbook:RelativeLinks and $EnableLinkPageRelative.%0a%0aQ: Is there a way to attach a BMP and have it display rather than link?%0aA: Add to config.php the following line:\\%0a @@$ImgExtPattern = "(?:$ImgExtPattern|\\.bmp|\\.BMP)";@@\\%0a %0aNote that BMP images are uncompressed and quite heavy. You may wish to convert them to PNG (lossless) or JPG (lossy) format, and thus reduce 5-20 times their filesizes.%0a%0aQ: How do I add an image type to @@$ImgExtPattern@@ and yet have it include any future default image types added in PmWiki?%0aA: You can append the extensions to the @@$ImgExtPattern@@ variable this way:\\%0a @@$ImgExtPattern = "(?:$ImgExtPattern|\\.webp|\\.WEBP)";@@%0a %0aQ: Is there a way to have a table to the left or right of an image?%0aA: Yes, see [[(https://www.pmwiki.org/wiki/Test/)TableAndImage]].%0a +time=1590291045 blob - /dev/null blob + de1239320e26f545f4fb5b4fd8b9dc31361b7e26 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.IncludeOtherPages @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=mv !Styling note in !Notes, !See also before FAQ +name=PmWiki.IncludeOtherPages +rev=136 +targets=PmWiki.IncludeOtherPages,PmWiki.Links,PmWiki.WikiGroup,PmWiki.PageTextVariables,PmWiki.IncludeOtherPages-Talk,Cookbook.IncludeSection,PmWiki.LayoutVariables,Site.PageListTemplates,PmWiki.BasicVariables,PmWiki.PagelistVariables,PmWiki.WikiStyles,PmWiki.ConditionalMarkup,PmWiki.PageVariables,Cookbook.IncludeUrl,PmWiki.WikiAdministrator,PmWiki.PageLists +text=(:Summary: Include contents from other PmWiki pages:)%0a(:Audience: authors (intermediate) :)%0aThe [@(:include:)@] directive makes it possible to insert (or [[Wikipedia:Transclusion|"transclude"]]) the contents of other pages into the current wiki page. All of the include directives below perform a straight text inclusion. In particular, any page [[links]] in the included text are assumed to link to pages in the current [[(wiki) group]] if not otherwise qualified.%0a%0a!! Syntax%0aThe basic syntax is%0a* [=(:=]include PageName:) \\%0awith pagename includes the full page from the same group.%0a* [={Group/PageName$:=][[#includeptv|PTVar]]}:\\%0aincludes a [[PageTextVariables|named variable]] from a page, [[(Wiki)Group]] and PageName are options%0a%0aThe full syntax is%0a* [=(:=]include%0a [[#includefullname|FullName]]#[[#includeanchor|fromanchor]]#[[#includeanchor|toanchor]] \%0a [[#includelines|lines]]=''12..34'' \%0a [[#includeself|self]]=''0'' \%0a [[#includebasepage|basepage]]=''abc'' \%0a [[#includevariable|variable]]=''value'' \%0a :)\\%0a includes a page according to the parameters supplied. Parameters are optional.%0a[[#firstanchor]]%0a%0a!! Parameters%0aThe directive can have multiple Name parameters with or without anchors, and multiple [[#includevariable|template variable]] parameters.%0a%0a[[#includefullname]]%0a!!! Named pages%0a[@(:include PageName:)%0a(:include Group.PageName:)%0a(:include Page1 Page2 Group1.Page3 Group2.Page4:)@]%0aIncludes the entire text of another page into the current page. Multiple pages may be specified, but only the first available is included.%0a%0a[[#errormessage]]%0aYou can use the above feature to ''display an error message if an include fails''. Create a page, eg. Site.IncludeFailed containing the error message. You can use any page name. Then, in your include markup, append this page at the end of the page list:%0a [=(:include Page1 Page2 Page3 Site.IncludeFailed:)=]%0aA slightly more complex approach is outlined at [[PmWiki:IncludeOtherPages-Talk|the talk page]].%0a%0a[[#includeanchor]]%0a!!! #From#To anchors%0a|| width=*%0a||[@(:include PageName#from#to:)@] ||include lines from ''`PageName'' between the [@[[#from]]@] and [@[[#to]]@] [[Links#anchors|anchors]]%0a||[@(:include PageName#from#:)@] ||include all lines after [@[[#from]]@] to the end of the page%0a||[@(:include PageName##to:)@] ||include all lines from the start of the page to [@[[#to]]@]%0a||[@(:include PageName#from:)@] ||include everything between [@[[#from]]@] and the next anchor%0a||[@(:include PageName#:)@] ||include everything from the top of the page to the first anchor%0a%25note%25 Note: do not put whitespace between "#from" "#to"%0a%0a%25note%25 Note: text on the same line as a closing anchor but preceding the closing anchor will '''NOT''' be included in the text. Example Below:%0a[@[[#start]]some text on the first line%0asome text on the last line [[#end]]@]%0a%25note%25The above, when included via [@(:include PageName#start:)@] will have the text on the first line but not the text on the last line.%0a%0a[@(:include Page1 Page2 #from#to:)@]%0a-> Include from the first available of Page1, Page2 between the [@[[#from]]@] and [@[[#to]]@] %0a\\%0a%25note%25 Note: put whitespace between "Page2" and "#from#to". The same anchors "#from#to" should be in both pages. If proper anchors are missing in the first available of Page1, Page2 the whole contents of the page is included.\\%0aThis does not seem to work in 2.2 betas. See Cookbook:IncludeSection for a fix.%0a%0a[@(:include Page1#from1#to1 Page2#from2#to2:)@]%0a-> Include the first from the first available of Page1 (between the [@[[#from1]]@] and [@[[#to1]]@]) or Page2 (between the [@[[#from2]]@] and [@[[#to2]]@] ) %0a%0a%25green%25Note%25%25: Previous versions of PmWiki allowed whitespace between [@#from@] and [@#to@] anchors even though it was not designed to. Newer versions do not allow whitespace anymore. To re-enable this "exploited misbehavior" put this into your config.php or farmconfig.php%0a%0a-> [@Markup('includeanchors', '%3cinclude', '/(\\(:include.*?#\\w+)\\s+(#\\w+)/', '$1$2');@]%0a%0a[[#includelines]]%0a!!! Lines=from..to%0a[@(:include PageName lines=10:)@]%0a[@(:include PageName lines=5..10:)@]%0a[@(:include PageName lines=5..:)@]%0a-> Include the first 10 lines, lines 5-10, or lines 5 and up from ''`PageName''. A "line" in this context refers to a line of source. ''Thus a line may be a paragraph that wraps over several lines on the screen, or a completely blank line.''%0a%0a[@(:include Page1 Page2 Page3 lines=1..5:)@]%0a-> Include the first five lines from the first available of Page1, Page2, or Page3. (To include lines from a list of pages, use a separate include for each.)%0a%0a[[#includeself]]%0a!!! Self=%0a[@(:include PageName self=0:)@]%0a-> The parameter @@self@@ can be @@0@@ or @@1@@. It tells the include directive if it is allowed to include the current page. This is useful if PageName is a variable like [@{$Name}@] and you want to prevent the directive from including the current page.%0a%0a[[#includeptv]]%0a!!! [[Page text variables]]%0a[@{Group/PageName$:Var}@]%0a-> Includes definition list values from an (optional) page as [[page text variables]]. These are defined using a definition list ([@:item:description@]), simple colon delimiter ([@item:description@]), or special markup ([@(:item:description:)@]).%0a%0a[[#includebasepage]]%0a!!! Basepage=%0a%0a[@(:include PageName basepage=BasePageName:)@]%0a-> Include PageName, but treat all relative links and page variables on ''PageName`'' as relative to ''BasePageName''.%0aIf @@basepage=@@ is provided all relative links and page variables are interpreted relative to basepage.%0aSo, if one creates [@TemplateName@] as%0a-> [@Name: {$:Name}%0aAddress: {$:Address}@]%0athen the directive%0a-> [@(:include TemplateName basepage=PageName:)@]%0awill retrieve the contents of [@TemplateName@], treating any page variables and links as being relative to [@PageName@]. %0aIn particular, the values for [@{$:Name}@] and [@{$:Address}@] will be taken from [@PageName@], but things like [@{$Title}@] and [@{$LastModifiedBy}@] would also work here.%0a%0a!!!! Basepage usage%0aThe primary purpose of basepage is to allow the inclusion of pages in a way that mimics the 2.1.x behavior where page variables %0aand links are interpreted relative to the currently displayed page.%0aThis is done with:%0a-> [@(:include SomeOtherPage basepage='' :)@]%0a -or-%0a-> [@(:include SomeOtherPage basepage={*$FullName} :)@]%0a%0aIt also allows [=GroupHeader and GroupFooter=] to have their page variables and links be relative to the currently displayed page %0a(instead of [=GroupHeader and GroupFooter=]):%0a>>pre%3c%3c%0a ## PmWiki default $GroupHeaderFmt setting%0a $GroupHeaderFmt = %0a [='(:include {$Group}.GroupHeader self=0 basepage={*$FullName}:)(:nl:)';=]%0a>>%3c%3c%0a%0aOtherwise, using {$Name} inside of a [=GroupHeader=] would display '[=GroupHeader=]' and not the name of the currently displayed page.%0a%0aThe basepage= parameter is general enough that it can also be used as a templating engine, so that%0awe can grab a template page containing variables that are then filled in with values from another page:%0a->[@(:include TemplatePage basepage=DataPage :)@]%0a%0aAnd, of course, a single TemplatePage can actually contain multiple templates delimited by anchors, so that we end up with a syntax eerily similar'^[[#footnote|#]]^' to pagelist-templates:%0a>>pre%3c%3c%0a [@(:include TemplatePage#abc basepage=DataPage :)@]%0a (:include TemplatePage#def basepage=DataPage :)%0a (:include TemplatePage#xyz basepage=DataPage :)%0a>>%3c%3c%0a%0aSo then [=TemplatePage=] can use a syntax like:%0a>>pre%3c%3c%0a [@%0a [[#abc]]%0a ...template stuff here...%0a [[#abcend]]%0a @]%0a>>%3c%3c%0a%0aand it's possible to display [=TemplatePage=] as a template without it being interpreted... same as we do for [[Site.PageListTemplates]].%0a%0a%0a-%3c [[#footnote]] [- '^[1]^'Okay, maybe it's not so eerie, given that the pagelist template code actually uses the same function as (:include:) to grab its templates. But it's still a useful parallel. -]%0a%0a[[#includevariable]]%0a!!! Specifying variables as parameters: Use sections as templates%0aYou can also specify variable values inline with the include statement, and refer to the variables in the template using the [@{$$variable1}@] format:%0a-> [@(:include TemplatePage variable1="value" variable2="value2":)@]%0a%0aThis assumes that a site has $EnableRelativePageVars enabled, which is recommended in PmWiki 2.2.0 -- but was disabled by default in version 2.2.8 and earlier.%0a%0aFor example, on my included page ("template") I might have this:%0a%0a(:markup class=horiz:)%0a[[#ivars]]%0aHi, {$$Name}, how are you today?%0a[[#ivarsend]]%0a(:markupend:)%0a%0aThen, including that section above (that section is available via the section @@[@{$FullName}#ivars@]@@) you get this type of behavior:%0a%0a(:markup class=horiz:)%0a(:include {$FullName}#ivars Name=Sam:)%0a(:markupend:)%0a%0aIf a value contains spaces, quote it:%0a%0a(:markup class=horiz:)%0a(:include {$FullName}#ivars Name="my friend":)%0a(:markupend:)%0a%0a''See also $EnableUndefinedTemplateVars.''%0a%0a!!!Specific markup%0a[@(:nl:)@] acts like a new line in the ''markup'', only if there isn't one already.%0a%0aThe purpose of [@(:nl:)@] is to be able to write things like "[@(:include Page1:)(:nl:)(:include Page2:)@]" which guarantees that the first line of Page2 is treated as a separate line from the last line of Page1, but without inadvertently generating a blank line between them.%0a%0aSee [[http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/15031/focus=15079 | this thread]] and [[http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/58609/focus=58633/|this thread]] for more info.%0a%0a[@(:nl:)@] is not intended to put a newline character in the output!%0a%0a!! Parameter References%0a%0aAny parameters supplied to an include statement (whether they are keywords or not) are accessible inside the included page as a special [@{$$...}@] variable of the same name. This feature can be used to provide extra information to use when displaying the included page.%0a%0a!! Notes%0a* You can also say [@(:include My/Page#myanchor lines=4:)@] which starts from, and includes, the line with the anchor [@[[#myanchor]]@] for four lines.%0a%0a!!! Styling Note%0aBy default, Included pages or lines cannot be distinguished from other text on the page. To provide a visual indication that this text is special, you can apply [[PmWiki/Wiki Styles]]. For example:%0a%0a(:markup:)%0a%25define=leftborder border-left="2px solid #88f" margin-left="2px" padding="1px 0 3px 10px"%25%0aWhat is PmWiki?%0a>>leftborder%3c%3c (:include PmWiki.PmWiki lines=1..4:) %0a>>%3c%3c%0a''Have a very nice day!''%0a(:markupend:)%0a%0a!!! Notes about use with [[conditional markup]]%0aThe [@(:include ...:)@] markup is processed after conditional markup is evaluated.\\%0aTherefor you can include a page or page section as part of a condition, like%0a->[@(:if some condition:)(:include SomePage#section:)(:if:) @] %0aBut [@(:include SomePage#section:)@] doesn't look to see if [@[[#section]]@] is part of a conditional, like %0a->[@(:if some condition:)[[#section]]...[[#sectionend]](:ifend:)@]%0a[@(:include SomePage#section:)@] will ignore such a condition. %0a%0aWhen [[Conditional Markup|testing variables]] in included pages the context of the page (source or target) can be useful.%0aSee [[PmWiki/PageVariables#specialreferences|special references]] for details.%0a%0a----%0a%0a!! See Also%0a* [[PmWiki/Page text variables]] {PmWiki/PageTextVariables$:Summary}%0a* [[Cookbook:IncludeUrl]] {Cookbook.IncludeUrl$:Summary}%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: [[#maxincludes]] What's the maximum number of includes that can exist in a page? %0a-> My site seems to stop including after 48 includes. ($MaxIncludes)%0a%0aA: By default, PmWiki places a limit of 50 include directives for any given page, to prevent runaway infinite loops and other situations that might eat up server resources. (Two of these are GroupHeader and GroupFooter.) The limit can be modified by the [[wiki administrator]] via the $MaxIncludes variable.%0a%0aQ: Is there any way to include from a group of pages without specifying by exact name, e.g. between Anchor X and Y from all pages named IFClass-* ?%0aA: This can be achieved using [[page lists]].%0a%0a%0aQ: There appears to be a viewing issue when the included page contains the [=(:title:)=] directive.%0aA: In a default installation, the ''last'' title in the page overrides previous ones so you can place your [=(:title :)=] directive at the bottom of the page, after any includes. See also $EnablePageTitlePriority.%0a%0aQ: How to test to see if the page is part of another page?%0aA: (:markup:)%0a(:if ! name {$FullName}:) %0a%25comment%25 name of this page is not the same as the page this text was sourced from%0a->[[{$FullName}#anchor | more ...]]%0a(:ifend:)%0a(:markupend:)%0a%0aQ: Is there any way to include (chapters of) pages which are protected (authuser.php)?%0a%0aA: You can achieve this the other way around: have the public sections in a public page (passwdread=@nopass or @_site_read) and include those into both the protected page, and the public page.%0a%0aA: Note that it is '''strongly recommended to NOT''' hide sensitive content inside a [[conditional( markup)]] in an unprotected page.%0a +time=1567165288 blob - /dev/null blob + 7a14cedccfb6f47d17957119300c23b759cdabff (mode 644) --- /dev/null +++ wikilib.d/PmWiki.InitialSetupTasks @@ -0,0 +1,9 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=direct link to the timezones starting page +name=PmWiki.InitialSetupTasks +rev=102 +targets=PmWiki.Installation,Site.Site,SiteAdmin.SiteAdmin,Site.SideBar,PmWiki.LayoutVariables,PmWiki.PathVariables,PmWiki.SecurityVariables,PmWiki.UploadVariables,Cookbook.ChangeTimeFormat,PmWiki.BasicVariables,PmWiki.Variables,PmWiki.PmWikiUsers,PmWiki.EditVariables,Cookbook.Cookbook,Cookbook.CleanUrls,PmWiki.UTF-8,Cookbook.UTF-8,PmWiki.Security,PmWiki.PasswordsAdmin,PmWiki.Upgrades,PmWiki.UploadsAdmin,Cookbook.PerGroupSubDirectories,Cookbook.CookbookBasics,PmWiki.LocalCustomizations,PmWiki.WikiFarms,PmWiki.MailingLists,PmWiki.WikiAdministrator +text=(:Summary:First steps following a fresh installation:)%0a(:Audience: administrators (basic) :)%0aOnce you have PmWiki running on your site (see [[Installation]]), you can customize it for your particular needs.%0a%0aMost PmWiki configuration is performed in files called ''local/config.php'' and ''pub/css/local.css''. %0aSome configuration is done on special pages in the [[{$SiteGroup}/]] and [[SiteAdmin/]] groups, such as the [[{$SiteGroup}.SideBar]] menu.%0a%0a!! The local configuration file (''local/config.php'')%0aWhen you first install PmWiki, the ''local/config.php'' file does not exist. Copy the ''sample-config.php'' file (in the ''docs/'' directory) to ''local/config.php'' and use it as a starting point. You could create ''local/config.php'' from scratch, but ''sample-config.php'' is already populated with many of the options you might want to adjust.%0a%0aHere is a simple ''config.php'' file:%0a%0a-> %25hlt php%25[@%0a%3c?php if (!defined('PmWiki')) exit();%0a$WikiTitle = "My New Wiki";%0a$PageLogoUrl = "http://example.com/mylogo.gif";%0a%0a# Uncomment and correct these if PmWiki fails to detect the browser-reachable URLs%0a#$ScriptUrl = 'http://example.com/pmwiki/pmwiki.php';%0a#$PubDirUrl = 'http://example.com/pmwiki/pub';%0a%0a$DefaultPasswords['admin'] = pmcrypt('onesecret');%0a%0a$EnableUpload = 1;%0a$DefaultPasswords['upload'] = pmcrypt('secrettwo');%0a%0a# Uncomment and change these if your server is not in your timezone%0a# date_default_timezone_set('America/New_York'); # if you run PHP 5.1 or newer%0a# putenv("TZ=EST5EDT"); # if you run PHP 5.0 or older%0a%0a$TimeFmt = '%25B %25d, %25Y, at %25I:%25M %25p %25Z';%0a@]%0a%0aNote that ''config.php'' begins with @@%3c?php@@ . The PHP end tag @@?>@@ is optional, and can be left off to improve compatibility with some operating systems. Be sure there aren't any blank lines or spaces before the @@%3c?php@@ or after any closing @@?>@@, or else you may get strange PHP error messages at the beginning of your wiki pages.%0a%0aThe ''config.php'' file above sets the value of PHP variables used by PmWiki:%0a* The $WikiTitle variable gives the name of your site as it will appear in a user's browser title bar.%0a* The @@$ScriptUrl@@ and @@$PubDirUrl@@ variables tell your wiki where it is located. Often pmwiki can guess, but if you have difficulty with links not working or skins not being found then try uncommenting these lines.%0a* The $PageLogoUrl variable specifies the URL of the icon image that will appear in the upper-left corner of each wiki page.%0a* The @@$DefaultPasswords['admin']@@ sets an administrative password.%0a* Setting $EnableUpload to "1" enables Uploads ("Attached files"). @@$DefaultPasswords['upload']@@ sets an upload password.%0a* The date_default_timezone_set tells PHP what the default time zone is (for the time stamps in RecentChanges, in the page histories and on user signatures). For a list of identifiers, see [[https://www.php.net/manual/en/timezones.php | the online PHP manual]].%0a** On PHP older than 5.1, use the TZ environment variable (see [[Cookbook:ChangeTimeFormat]]).%0a* The $TimeFmt variable defines the appearance of time strings (see [[Cookbook:ChangeTimeFormat]]).%0a%0aBy setting these (and other) variables in ''local/config.php'', you can change the look and feel of PmWiki from its default, sometimes substantially so. See [[PmWiki.Variables]] for a list of variables that PmWiki uses, and see PmWiki:PmWikiUsers for examples of sites that use PmWiki in customized ways.%0a%0a!!! Other common setup tasks%0aThe following [[variables]] are often requested when preparing a new wiki%0a* Author required when editing a page @@$EnablePostAuthorRequired = 1;@@ %0a* Set $DefaultGroup and the $DefaultPage.%0a%0aThese common [[(Cookbook:)Cookbook]] recipes are also often installed immediately%0a* [[(Cookbook:)Clean Urls]] - Remove the @@?n=Group.Page@@ arguments from the end of URLs%0a%0aIf you prepare an international wiki, potentially with characters in different alphabets (Cyrillic, Greek, Chinese) or many diacritical symbols (Czech + French), please look at [[PmWiki.UTF-8]] and Cookbook:UTF-8.%0a%0a!! Security%0aReview and set up any [[security]] required.%0a%0a!!!Setting an administrative password%0a%0aThe pages in the [[{$SiteGroup}/Site]] group (except the {$SiteGroup}.SideBar) are locked by default. In order to edit pages in this group you need to create a site-wide admin password in ''local/config.php''. To set the site-wide admin password to "@@mysecret@@", change the line to the following:%0a%0a->%25hlt php%25[@$DefaultPasswords['admin'] = pmcrypt('mysecret');@]%0a%0aYou must use the [@pmcrypt()@] function, but set the password to a value with meaning for you. See [[PasswordsAdmin]] for details about making the password more secure.%0a%0a!![[#dontmodify]]Don't modify or rename ''pmwiki.php''%0a%0aPmWiki has been designed so that all customizations can be made without changing the distribution files -- one of its design goals is to provide seamless upgrades. PmWiki never writes to files in the ''local/'' or ''cookbook/'' directories, so placing your customizations here makes it easier to track the changes and [[upgrades | upgrade PmWiki]] without losing the changes.%0a%0aWhen changing the configuration of your site, always change the ''local/config.php'' file or add files to the ''cookbook/'' or ''pub'' directories. Do not change ''pmwiki.php'' or the files in the ''scripts/'' directory because the files are supposed to be overwritten upon upgrading.%0a%0aYou shouldn't rename ''pmwiki.php'' either. If you rename the file it will not be overwritten during an upgrade of the software and there will be a version mismatch. Many administrators add an ''index.php'' "wrapper script" in the pmwiki directory that contains the following single line:%0a%0a->%25hlt php%25[@%3c?php include('pmwiki.php');@]%0a%0aJust make a text-file. Paste %3c?php include('pmwiki.php'); into it.%0aSave the file as index.php%0aSend it via FTP to the same directory where pmwiki.php is located. %0a%0a!! Other organisation%0a!!! Upload directories%0aBy default Pmwiki uses an upload directory for each group%0a(see [[Uploads admin(#uploaddirectoryconfiguration)]]istration.%0aDeciding on accepting the default, or choosing an alternative (eg one directory for the entire wiki, or one directory per page) is best done when setting up your wiki.%0a%0a!!! Page store directories%0aBy default Pmwiki uses a single page store directory (wiki.d).%0aDeciding on accepting the default (recommended), or choosing the alternative (one directory per group) is best done when setting up your wiki. '^[[Cookbook:PerGroupSubDirectories|#]]^'%0a%0a!!Other customization%0a%0aAfter setting up ''local/config.php'' file, you may wish to make other [[local customizations]]. See the [[Cookbook:CookbookBasics | PmWiki Cookbook]] for a large number of customizations that have been contributed. And don't fear Cookbook recipes - they're well prepared, so that most of them require only to download a single file, add a one-line include command to @@config.php@@, and ''voilà!'' - they're working!%0a%0aIf you (or others sharing your server) want to maintain more than one wiki on the same server, see [[Wiki Farms]].%0a%0a!!Now what?%0a%0aDon't forget to join a [[MailingLists | PmWiki mailing list]], where you can email other [[wiki administrator]]s for help on customizing PmWiki and participate in discussions about PmWiki improvements. Once you have your site operational, be sure to add it to PmWiki:PmWikiUsers so others will know about it!%0a +time=1577604456 blob - /dev/null blob + b2b43dc0129e7332231851b8d1b14011d644f84c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Installation @@ -0,0 +1,10 @@ +version=pmwiki-2.2.78 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +name=PmWiki.Installation +rev=431 +targets=PmWiki.Requirements,PmWiki.Upgrades,PmWiki.WikiFarms,PmWiki.ChangeLog,PmWiki.ReleaseNotes,PITS.PITS,PmWiki.MailingLists,PmWiki.Subversion,Cookbook.Cookbook,PmWiki.Skins,PmWiki.FilePermissions,PmWiki.InitialSetupTasks,PmWiki.Internationalizations,Group.Name,Cookbook.SimultaneousEdits,PmWiki.SimultaneousEdits,PmWiki.Troubleshooting,Cookbook.PHP,Cookbook.InstallOnIIS,Cookbook.CleanUrls,Cookbook.Standalone,Cookbook.WikiOnAStick +text=(:title PmWiki Installation :)%0a(:Summary: Obtaining and installing PmWiki:)%0a(:Audience: administrators:)%0aThis page explains how to download and install PmWiki 2.1 and 2.2. %0aHere's a list of related pages:%0a%0a* [[Requirements]] - {Requirements$:Summary}%0a* [[Upgrades]] - {Upgrades$:Summary}%0a* [[Wiki Farms]] - {WikiFarms$:Summary}%0a* [[Change Log]] - {ChangeLog$:Summary}%0a%0a'''Improvements''' to these instructions are always appreciated. Just report any problems you encounter to the pmwiki-users [[mailing list(s)]] or use the [[PITS:PITS |PmWiki Issue Tracking System]].%0a%0a!! Installing PmWiki%0aIf you upgrade, please read the page [[Upgrades]] and [[Release notes]].%0a%0a!!! 1. Download%0aDownload the latest ''stable'' version of PmWiki as a%0a* zip archive ([[(http://pmwiki.org/pub/pmwiki/)pmwiki-latest.zip]]), or a%0a* gzipped tarball ([[(http://pmwiki.org/pub/pmwiki/)pmwiki-latest.tgz]]) from [[http://pmwiki.org/pub/pmwiki/]], or%0aDownload the latest ''beta'' version from the [[PmWiki:Subversion]] page.%0a%0a%0a!!! [[#unpack]] 2. Unpack%0aUnpack the archive ([@tar zxvf pmwiki-latest.tgz@] or [@unzip pmwiki-latest.zip@]). This will create a ''pmwiki-x.y.z'' directory containing the PmWiki software. For example, the current "latest" should unpack to a directory named ''{$Version}''. The files in this directory include:%0a>>pre%3c%3c%0a README.txt An introductory document%0a pmwiki.php The main PmWiki script%0a local/ Configuration scripts (local configuration files)%0a cookbook/ Recipes (add-ons) from the [[(Cookbook:)Cookbook]]%0a docs/ Brief documentation, sample configuration scripts%0a pub/ Publicly accessible files%0a pub/css/ Extra CSS stylesheet files '^[[PmWiki/Skins#further|#]]^'%0a pub/guiedit/%0a pub/skins/ Layout templates for [[http://www.pmwiki.org/wiki/Skins/Skins|custom]] look and feel%0a scripts/ Scripts that are part of PmWiki%0a wikilib.d/ Bundled default PmWiki pages%0a>>%3c%3c%0a%0aThe ''pmwiki-x.y.z'' directory needs to be placed into a location accessible by your webserver (e.g., in a ''public_html'' directory of some sort). You can place files and directories using a number of methods -- FTP, or a Unix [@mv@] or [@cp@] command generally does the job.%0a%0a->%25note%25 Note: It is recommended to change the "''pmwiki-x.y.z''" directory name to be simply "''pmwiki''" or just "''wiki''".%0a%0a!!! [[#directories]] 3. Create directories%0a[[#dirsetup]]In most cases PmWiki will do this for you.%0aOpen a web browser to the ''pmwiki.php'' script on the server (i.e., not the one on your local computer or accessed using a [=file://...=] URL). PmWiki will then analyze your system configuration and provide instructions (if needed) for creating the ''wiki.d/'' directory which will be used to hold the pages created for your site. %0a%0aOtherwise, there are two ways to achieve this. (Use %25newwin%25[[http://filezilla-project.org/download.php|Filezilla]] or [[http://winscp.net/eng/download.php|WinSCP]] to change FTP file/folder permissions.)%0a%0a->3a. You can create the ''wiki.d/'' directory manually, and then give it full write permissions (i.e., "[@chmod 777 wiki.d@]"). Use this method when "safe mode" is activated in the server's PHP installation.%0a%0a->3b. On some systems you can let PmWiki create ''wiki.d/'' by temporarily changing the permissions on the directory containing the ''pmwiki.php'' file to 2777. In Unix this is commonly done by changing to the directory containing ''pmwiki.php'' and executing the command%0a%0a->@@chmod 2777 .@@%0a%0a->(note the dot at the end). The [@chmod@] command also works in many FTP programs. Creating ''wiki.d/'' in this manner will (1) make the directory writable so the web server can create the data directory it needs for the wiki files, (2) preserve group ownership of the directory so the installer account can manipulate the files created in this directory, and (3) make it more difficult for other accounts on the same server to access the files in ''wiki.d/''.%0a%0aAfter establishing directory permissions, try opening a browser to the ''pmwiki.php'' script again. If all is well, the ''wiki.d'' directory will have been created and you'll see the default home page.%0a%0a%25red%25'''Important:''' If you used method 3b, you should reset permissions by executing "[@chmod 755 .@]" in the directory containing pmwiki.php.%25%25%0a%0aSee also [[FilePermissions]].%0a%0a[[#dirsetupend]]%0a!!! 4. Initialize%0aCheck out [[Initial Setup Tasks]] for other tasks you may want to perform to begin customizing your PmWiki installation. You might also want to peruse the [[Release Notes]] for further information.%0a%0a%0a!!! 5. Set language%0aIf you want to use PmWiki in a different language download the [[Internationalizations|international]] language pack as zip archive ([[(http://pmwiki.org/pub/pmwiki/i18n/)i18n-all.zip]]) from [[http://pmwiki.org/pub/pmwiki/i18n/]]. Then extract it and copy the files into the ''wikilib.d/'' directory as described above. Besides the ''-all'' file you can also download your country localization file only.%0a%0aLanguages available are:%0a(:pagelist fmt=#listlanguage name=PmWiki* list=normal order=$:Language $:Language=- :)%0a(:if false:)%0a[[#listlanguage]]%0a(:template first:)%0a->%0a(:template each:)%0a[[{=$Group}/{=$Name} | {=$:Language} ]]%0a[[#listlanguageend]]%0a(:ifend:)%0a%0aThere are two directories in the decompressed i18n archive, ''scripts'' and ''wikilib.d''. Copy the files respectively contained in these directories to the ''scripts'' and ''wikilib.d'' of your PmWiki directory. For example, for French localization, PmWikiFr.* and PmWiki.* must be contained in the '''same''' directory.%0a%0aThen, enable localization by adding an instruction to local/config.php to load the language translation page of your choice. For instance, [@XLPage('fr','PmWikiFr.XLPage');@] loads the French language page PmWikiFr.XLPage.%0a%0aRead more about this on [[Internationalizations]].%0a%0a!! [[#notes]] Notes%0a%0a* [[#indexphp]] The PmWiki distribution deliberately doesn't include an ''index.php'' file. You can easily add your own "wrapper script" in the same directory as ''pmwiki.php''. Create a new file called ''index.php'' with the following single line of text (missing a closing "[@ ?>@]" tag deliberately):%0a%0a-->[@%3c?php include_once('pmwiki.php');@]%0a%0aResist the temptation to rename ''pmwiki.php'' to ''index.php'' because if you rename the file it will not be overwritten during an upgrade.%0a%0a* If using the Unix ''tar'' command to unpack the archive in step 2 above, be sure that the files are created with sufficient permissions for the webserver to be able to access them. Usually you can ensure this by typing @@umask 002@@ on the command line before unpacking the tar file.%0a%0a* When installing on Windows you should take a look at [[Cookbook:SimultaneousEdits]] to enable [[simultaneous edits]] on that platform.%0a%0a* Additional tips can be found at [[Troubleshooting]].%0a%0aSee also:%0a* [[Cookbook:PHP]] {Cookbook/PHP$:Summary}%0a* [[Cookbook:InstallOnIIS]] {Cookbook/InstallOnIIS$:Summary}%0a%0a%0a%0a>>faq%3c%3c [[#faq]]%0aQ: Should I rename pmwiki.php to index.php?%0aA: Renaming pmwiki.php is not recommended. Instead, create an ''index.php'' file that contains this single line%0a%0a->[@%3c?php include_once('pmwiki.php');@]%0a%0aQ: How do I make pmwiki.php the default page for a website?%0aA: Create an ''index.php'' file that runs PmWiki from a subdirectory (''pmwiki/'' for example) and place it in the site's web document root (the main directory for the website).%0a%0a->[@%3c?php chdir('pmwiki'); include_once('pmwiki.php');@]%0a%0aNote: You will also need to explicitly set the $PubDirUrl variable (e.g. to [@"http://example.com/pmwiki/pub"@]) in ''local/config.php'' .%0a%0aQ: How do I enable "Clean URLs" that are shorter and look like paths to my wiki pages? Why does pmwiki.org appear to have a directory structure rather than "?n=pagename" in URLs?%0aA: See [[Cookbook:CleanUrls]].%0a%0aQ: How can I run PmWiki on a standalone (offline, portable) machine ?%0aA: See [[Cookbook:Standalone]] or [[Cookbook:WikiOnAStick]].%0a +time=1439331935 +title=PmWiki Installation blob - /dev/null blob + 9ce024ec11dbcd525232bafd1bd7694329980657 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.InterMap @@ -0,0 +1,9 @@ +version=pmwiki-2.2.107 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=update to use https (please update intermap.txt) +name=PmWiki.InterMap +rev=58 +targets=PmWiki.WikiWikiWeb,Site.InterMap,PmWiki.Variables,Cookbook.RelativeUrls,Cookbook.RelativeLinks,PmWiki.LinkSchemes,PmWiki.WikiFarms,PmWiki.Upgrades,PmWiki.LinkVariables,PmWiki.BasicVariables,PmWiki.PathVariables +text=(:Summary: Interwiki links definition and use:)%0a(:Audience: author (intermediate) :)%0a%0aThe InterMap (also called InterWiki in some other wikis) is a system for defining links between [[WikiWikiWeb]] sites that was first developed by UseMod and Meatball (see UseMod:InterWiki and Meatball:InterWiki). The method is to use a word shortcut that stands for a defined path. InterMap links have the form [@MapPrefix:PagePath@], where the host prefix is converted to a partial URL based on entries in the site's ''intermap.txt'' and ''localmap.txt'' files.%0a%0a[[#custominclude]]%0a!! The default intermap.txt%0a%0aThe default ''intermap.txt'' distributed with PmWiki (in the ''scripts/'' directory) includes the following InterMap entries:%0a>>pre%3c%3c%0a PmWiki: https://www.pmwiki.org/wiki/PmWiki/ %0a Cookbook: https://www.pmwiki.org/wiki/Cookbook/ %0a Wiki: http://www.c2.com/cgi/wiki? %0a UseMod: http://www.usemod.com/cgi-bin/wiki.pl? %0a Meatball: http://www.usemod.com/cgi-bin/mb.pl? %0a Wikipedia: https://en.wikipedia.org/wiki/ %0a PITS: https://www.pmwiki.org/wiki/PITS/ %0a PmL10n: https://www.pmwiki.org/wiki/Localization/%0a Path:%0a>>%3c%3c%0a%0a!! The page [[{$SiteGroup}.InterMap]]%0a(:if exists {$SiteGroup}.InterMap:)%0a[[{$SiteGroup}.InterMap]] includes the following entries:%0a(:include {$SiteGroup}.InterMap#include#includeend:)%0a(:else:)%0aYou can map your own prefixes in your local page [[{$SiteGroup}.InterMap]].%0a(:ifend:)%0a[[#customincludeend]]%0a%0aThus, "PmWiki:Variables" becomes "https://www.pmwiki.org/wiki/PmWiki/" + "Variables", a link to the [[PmWiki.Variables->https://www.pmwiki.org/wiki/PmWiki/Variables]] page on the official PmWiki web site, Wiki:FrontPage is a link to the front page of the first WikiWikiWeb, and Wikipedia:Stonehenge takes you to the Wikipedia article about the famous megaliths in England. %0a%0a!! Usage in a wiki page%0a%0aLike other links, you can use the double-bracket syntax to get different link text:%0a(:markup class=horiz:)%0a* [[Meatball:StartingPoints | starting points]] over at Meatball%0a* [[starting points -> Meatball:StartingPoints]] over at Meatball%0a(:markupend:)%0a%0aIf you want to link just to what the intermap says (e.g. https://www.wikipedia.com/wiki/ for Wikipedia), then do [@[[Wikipedia:. | Wikipedia's main page]]@], which produces [[Wikipedia:. | Wikipedia's main page]]. Note the . (period) after the Map: reference.%0a%0a[[#path]]%0aThe special [@Path:@] InterMap entry can be used to create "[[Cookbook:RelativeUrls|relative urls]]" in [[Cookbook:RelativeLinks|links]].%0a%0a!! Custom InterMap prefixes%0aThe actual set of InterMap links at any site is defined by the site administrator via the [[Site.InterMap]] page and the ''local/localmap.txt'' file.%0a%0aAn intermap entry takes the following format:%0a%0a-> [@%0aMapPrefix: https://example.com/partial/url/%0a@]%0a%0aThe InterMap entry can be for any of the [[(PmWiki:)link schemes]] supported by PmWiki.%0a[[%3c%3c]]%0aYou can create your own InterMap links by doing one or more of the following:%0a%0a* Modify the page called ''[[{$SiteGroup}.InterMap]]'' and place entries like the ones above in it.%0a* Create a file called ''local/localmap.txt'' and place entries like the ones above in it.%0a* In a [[WikiFarm(s)]] installation you can create a file called%0a ''local/farmmap.txt'' and there place entries like the ones above in it.%0a These prefixes will be common to all the wikis in the farm.%0a* Ensure that there is a space after the colon.%0a%0aDo not edit the file ''scripts/intermap.txt'' directly! If you do, you'll%0alose your changes when you [[PmWiki/upgrade(s)]] PmWiki.%0a%0a%0a!! Variables and InterMap links%0a%0aIt's possible to use variables within your InterMap entries. The following%0aentries create [@ThisWiki:@] and [@ThisPage:@] shortcuts:%0a%0a-> [@%0aThisWiki: $ScriptUrl%0aThisPage: {$PageUrl}%0a@]%0a%0aYou can also define InterMap entries where the text of the entry is%0asubstituted into the middle of the URL. Just include '$1' in the URL where%0ayou want the substitution to take place. For example:%0a%0a->[@Jargon: http://catb.org/~esr/jargon/html/$1.html@]%0a%0awould cause [@Jargon:F/feature-creep@] to be converted to [@http://catb.org/~esr/jargon/html/F/feature-creep.html@].%0a%0a%0a!! Tips and tricks%0a%0aIt is possible to document your intermap prefixes directly in the page%0a[[Site.InterMap]]. The extra text will not cause a performance penalty, nor%0awill it break the definition of prefixes. However, be aware that anything%0amatching a line starting with a word and a colon (''':''') will be%0aconsidered to define a prefix.%0a%0aThe order in which various sources are checked for definitions of prefixes%0ais controlled by the variable $InterMapFiles. Currently the precedence%0a(highest to lowest is as follows):%0a* ''local/localmap.txt''%0a* ''$SiteGroup.InterMap''%0a* ''$FarmD/local/farmmap.txt''%0a* ''$FarmD/scripts/intermap.txt''%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: Are InterMap names case sensitive?%0aA: Yes, thus [@eAdmin:@] is a different InterMap link than [@EAdmin:@].%0a%0aQ: How can I achieve a ''localmap.txt'' mapping with the effect of [@Pics: Path:/somepathto/pics/@]?%0aA: Use the following:%0a->[@Pics: /somepathto/pics/@]%0a%0a%0aQ: How can I define an InterMap in PHP?%0aA: Use the following:%0a->[@%0a $LinkFunctions['PmWikiHome:'] = 'LinkIMap';%0a $IMap['PmWikiHome:'] = 'https://pmwiki.org/wiki/$1';%0a@]%0a +time=1526552645 blob - /dev/null blob + 677faa3a910bfb5887487d03080fa5224d91752a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Internationalizations @@ -0,0 +1,9 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=bttr +charset=UTF-8 +csum=Fix markup +name=PmWiki.Internationalizations +rev=125 +targets=Group.Group,Group.XLPage,Group.XLPageLocal,PmWiki.OtherLanguages,PmWiki.UTF-8,PmWikiFr.XLPage,PmWiki.PathVariables,PmWiki.WikiGroup,PmWiki.GroupCustomizations,Cookbook.MultiLanguage,Cookbook.MultiLanguageViews,PmWiki.PmWiki,Localization.Localization,PmWiki.I18nVariables +text=(:Summary: Language internationalisation of web pages:)%0a[[#include]]%0aPmWiki supports internationalization (internationalisation) of web pages, allowing accented characters to appear in page names and almost complete customization of PmWiki's prompts. %0a[[#includeend]]%0aMost customization is provided via the XLPage() function in PmWiki, which loads a set of translation variables from a wiki page (typically named XLPage, but it can be named anything you wish).%0a%0aThe rest of this page is devoted to the installation, configuration and usage of other language(s) support. If you are looking for tools and help to ''localize'' PmWiki in your language, or how you can improve the existing translations, start on pmwiki.org with the page [[(http://www.pmwiki.org/wiki/Localization/)Localization]] - The Translation Portal.%0a%0a>>rframe font-size:smaller clear:right%3c%3c%0a(:pagelist fmt=#languagelist2 trail=PmWiki.OtherLanguages order=name:)%0a(:if4 false:)%0a[[#languagelist2]]%0a(:template each:)%0a-%3c [[{=$Group}/]] {{=$Group}.{=$Group}$:Language} ~ [-[[{=$Group}/XLPage]]-] (:if exists {=$Group}.XLPageLocal:) [-[[{=$Group}/XLPageLocal]]-] (:ifend:)%0a[[#languagelistend]]%0a(:if4end:)%0a>>%3c%3c%0a!! [[#LoadingTranslationPages]] Loading Translation Pages%0a%0aPages for many [[(PmWiki:)other languages]] have already been created and maintained at the pmichaud.com site. You can download an archive of these translations from http://www.pmwiki.org/pub/pmwiki/i18n/ . Simply download the appropriate language archive(s), and unpack the archive(s) into the directory containing your ''pmwiki.php'' installation. Each archive contains a number of page files that are placed in your ''wikilib.d/'' directory, and some special scripts for translations that use a character set other than iso-8859-1 (PmWiki's default). You can also use [[UTF-8]] charset.%0a%0aOnce the translation pages are installed, you enable a language by adding a call to `XLPage() in your ''config.php'' file. For example, to select French language prompts, one would specify%0a%0a->[@%0ainclude_once("scripts/xlpage-utf-8.php"); # optional%0aXLPage('fr','PmWikiFr.XLPage');@]%0a%0awhich says to load the translations for French ('fr') from the page [[PmWikiFr.XLPage]]. The include_once line is recommended if you start a new wiki, and it should be placed ''before'' the XLPage line (for languages with alphabets other than the Latin, the include_once line is required). These lines should be placed near the beginning of config.php, ''but after any $WikiDir and $WikiLibDirs setting (if you have such setting)''.%0a%0aIt's possible to load multiple pages; so if you want to create your own local translations without changing the ones you got from an i18n archive, just create another page (see below) and load it first. Be sure that you load first the page with your local changes:%0a%0a-> [@%0aXLPage('fr','PmWikiFr.XLPageLocal'); # my local translations%0aXLPage('fr','PmWikiFr.XLPage'); # from i18n.tgz%0a@]%0a%0aIf your intention is to offer multiple languages on your site, and use [[Wiki Group]]s as language selectors, you may want to place this code in local customizations files (see [[Group Customizations]]). For example, if your site is published in French and English, and the French pages are in a group called Fr, you could create a file named Fr.php in the ''local/'' directory which contains:%0a%0a-> [@%0a%3c?php if (!defined('PmWiki')) exit();%0a##change to French language%0aXLPage('fr','PmWikiFr.XLPage');%0a@]%0a%0aYou may wish to create a page called ''PmwikiFr.php'' with the same content to access the French documentation in the PmwikiFr group. ''En.php'' is not necessary in this case since English is the default language.%0a%0aAn alternative to the above would be to add to ''config.php'' the following, which tests if there is an XLPage in a group, and if it finds one it gets loaded (any language):%0a%0a-> [@ %0a$xlpage = FmtPageName('$Group.XLPage', $pagename);%0aif (PageExists($xlpage)) XLPage($xlpage, $xlpage); %0a@]%0a%0aWith this method you would need to copy any relevant XLPage into any group which needs the different language support.%0a%0aAnother way (advanced) would be insert into config.php this script, it asks to the web server the headers received from the user's browser and select a language; example with spanish and english:%0a%0a-> [@ %0a$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);%0aswitch ($lang){%0a case "es":%0a XLPage('es','PmWikiEs.XLPage');%0a break;%0a case "en":%0a XLPage('en','PmWikiEn.XLPage');%0a break;%0a default:%0a XLPage('en','PmWikiEn.XLPage');%0a break;%0a}%0a@]%0a%0aSee also %0a* [[Cookbook:MultiLanguage]] {Cookbook/MultiLanguage$:Summary}%0a* [[Cookbook:MultiLanguageViews]] {Cookbook/MultiLanguageViews$:Summary}%0a%0a!![[#CreatingNewTranslations]]Creating New Translations%0a%0aIf language pages don't exist for your desired language, it's easy to create one! An XLPage translation file simply contains lines of the form%0a%0a->[@'phrase' => 'translated phrase',@]%0a%0awhere "phrase" is an internationalized phrase (denoted by [@$[phrase]@]) in PmWiki's $...Fmt variables, and "translated phrase" is what should be printed in your particular language. For example, the line (in [@PmWikiFr.XLPage@])%0a%0a->[@'Search' => 'Rechercher',@]%0a%0aconverts "[@$[Search]@]" to "Rechercher" on output. The file [[http://www.pmwiki.org/wiki/Localization/XLPageTemplate|Localization:XLPageTemplate]] is a good starting point for creating a new XLPage and has most of PmWiki's key phrases already listed in it. %0a%0aIf you create new versions of PmWiki pages in other languages, please consider adding them to the [[PmWiki:PmWiki | main PmWiki site]] so that they can be made available to others in the i18n archives! (Be sure to check out [[Localization/Localization|The Localization Portal]] for further information on effectively internationalizing PmWiki.)%0a%0a->%25note%25 The term "i18n" is commonly used as an abbreviation for the English word "internationalization". The abbreviation is derived from the fact that there are 18 letters between the "i" and the final "n" and few people want to type them all out.%0a%0a!! Enabling "Special" Characters in WikiLinks%0a%0aTo enable "special" characters like for example German umlauts in WikiLinks, it is necessary to configure the server locale to ensure that PmWiki uses the proper character set definition.%0a%0aIf this is not possible due to limited access to the server configuration, PmWiki can be configured to use a specific locale by using the XLPage options (see [[(http://www.pmwiki.org/wiki/Localization/)XLPageTemplate]]).%0a%0aFor German umlauts, you'd need for example:%0a%0a*[@'Locale' => 'deu',@] %3c- for Windows servers, see [[http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx|MSDN List of locale identifiers]]%0a*[@'Locale' => 'de_DE',@] %3c- for Linux servers; for the UTF-8 encoding, on some installations you may need to set @@'de_DE.utf8'@@ or @@'de_DE.UTF-8'@@.%0a%0aNote that the locale identifier depends on the operation system and perhaps on the specific installation.%0a%0a[[#notes]]%0a!! Notes%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: If my wiki is internationalized by ''config.php'', how do I revert a specific group to English?%0a%0aA: Use [@$XLLangs = array('en');@] in the group's [[ group customization(s)]] file.%0a%0aQ: If my wiki is in English and I want just one page, or group, in Spanish do I say [@XLPage('es','PmWikiEs.XLPage');@] in the group or page configuration file?%0a%0aA: Yes, that is usually the best method. If you were doing this with many scattered pages, or with several languages, you might find it easier to maintain if you load the translations all in config.php like this:%0a%0a XLPage('es','PmWikiEs.XLPage');%0a XLPage('fr','PmWikiFr.XLPage');%0a XLPage('ru','PmWikiRu.XLPage');%0a $XLLangs = array('en');%0a%0aA: Then in each group or page configuration file, you'd just use $XLLangs = array('es'); to set the language to use (in this case, Spanish). Note that though this method is easier to maintain, its somewhat slower because it loads all the dictionaries for each page view, even if they won't be used.%0a%0aQ: What does the first parameter of this function stand for? How can it be used?%0a%0aA: The XLPage mechanism allows multiple sets of translations to be loaded,%0aand the first parameter is used to distinguish them. %0a%0aFor example, suppose I want to have translations for both normal French%0aand "Canadian" French. Rather than maintain two entirely separate sets%0aof pages, I could do:%0a%0a XLPage('fr-ca', 'PmWikiFrCa.XLPage');%0a XLPage('fr', 'PmWikiFr.XLPage');%0a%0aPmWikiFr.XLPage would contain all of the standard French translations,%0awhile PmWikiFrCA.XLPage would only need to contain "Canada-specific"%0atranslations -- i.e., those that are different from the ones in the%0aFrench page.%0a%0aThe first parameter distinguishes the two sets of translations.%0aIn addition, a ''config.php'' script can use the $XLLangs variable%0ato adjust the order of translation, so if there was a group or%0apage where I only wanted the standard French translation, I%0acan set%0a%0a $XLLangs = array('fr', 'en');%0a%0aand PmWiki will use only the 'fr' and 'en' translations (in that order),%0ano matter how many translations have been loaded with XLPage().%0a%0a[[#xlsdv]]%0aQ: How can I add a translation for an individual string in a PHP file?%0a%0aA: Use the XLSDV() function to provide a translation for a specific (English) string. For instance, with this in config.php%0a%0a XLSDV('nl', array('my English expression'=>'mijn Nederlandse uitdrukking'));%0a%0aany instance of the variable expression [@$[my English expression]@] in wiki mark-up will be displayed as ''my English expression'' in default (English) context, but as ''mijn Nederlandse uitdrukking'' in Dutch (nl) context, i.e. when [@XLPage('nl',...)@] has been called for that page in config.php or a cookbook recipe.%0a%0aIf you need to get a translation in a PHP file, use the [@XL()@] function:%0a $local_string = XL("my English expression");%0a%0aBut beware: XLPage() uses XLSDV() internally for its translation pairs, too, and only the first definition is accepted! Thus, if the Dutch XLPage already contains a translation and you want to override that, you need to use your XLSDV('nl',...) ''before'' calling the correspondent XLPage('nl',...). Otherwise, by using XLSDV() ''after'' XLPage() - e.g. within a recipe that is included later in config.php - your translation will only work as long nobody defines 'my English expression' in that XLPage.%0a%0a +time=1574023541 blob - /dev/null blob + 8bfbb00e8c25b79e850729978d55c9d733081f2a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Introduction @@ -0,0 +1,10 @@ +version=pmwiki-2.2.45 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Noone is afraid :-) +ctime=1180819909 +name=PmWiki.Introduction +rev=32 +targets=PmWiki.WikiWikiWeb,PmWiki.PmWiki,Main.WikiSandbox,PmWiki.BasicEditing,PmWiki.TextFormattingRules,PmWiki.Requirements,PmWiki.DocumentationIndex,PmWiki.Download,PmWiki.Installation,PmWiki.MailingLists,PmWiki.HowToGetAssistance +text=(:Summary:Frequent questions before installing PmWiki:)%0a>>faq%3c%3c [[#faq]]%0aQ: What is PmWiki?%0aA: PmWiki is a [[WikiWikiWeb|wiki-based]] system for collaborative creation and maintenance of websites. See [[PmWiki/]].%0a%0aQ: What can I do with it?%0aA: PmWiki pages look and act like normal web pages, except they have an "Edit" link that makes it easy to modify existing pages and add new pages into the website, using [[basic editing]] rules. You do not need to know or use any HTML or CSS. Page editing can be left open to the public or restricted to small groups of authors. Feel free to experiment with the [[PmWiki/Text Formatting Rules]] in the "[[Main/WikiSandbox?action=edit | Wiki sandbox]]". The website you're currently viewing is built and maintained with PmWiki.%0a%0aQ: What are the requirements?%0aA: See the [[PmWiki.Requirements | PmWiki requirements]] page.%0a%0aQ: Where can I find documentation?%0aA: See the [[PmWiki.DocumentationIndex | documentation index]] page.%0a%0aQ: How can I download PmWiki?%0aA: See the [[PmWiki:Download | download]] page.%0a%0aQ: How do I install PmWiki?%0aA: Instructions for installation are on the [[PmWiki.Installation | installation page]].%0a%0aQ: How do I get help with PmWiki?%0aA: See [[(PmWiki:)Mailing lists]] and [[(PmWiki:)How to get assistance]].%0a%0aQ: How do you pronounce "Michaud"?%0aA: "Michaud" is french pronounced "mee show", the trailing D is silent.%0a +time=1355132038 blob - /dev/null blob + 88de2ae6a0911f73b4ffebaf3187c143822f47ae (mode 644) --- /dev/null +++ wikilib.d/PmWiki.LayoutVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.126 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$EnableAutoSkinList, $PageSkinList: see Skins:SkinChange. (+380) +name=PmWiki.LayoutVariables +rev=140 +targets=PmWiki.LayoutVariables,PmWiki.BasicVariables,PmWiki.PageDirectives,PmWiki.PageHistory,PmWiki.WikiStyles,PmWiki.SkinTemplates,PmWiki.WikiGroup,PmWiki.Questions,Cookbook.RecentUploadsLog,PmWiki.CustomWikiStyles,Cookbook.LocalCSS,PmWiki.TableOfContents,Cookbook.ToggleNext,PmWiki.PathVariables,PmWiki.Tables,PITS.00638,Cookbook.RowspanInSimpleTables,PmWiki.TableDirectives,PmWiki.Skins,Skins.SkinChange,PmWiki.OtherVariables,PmWiki.EditVariables +text=(:Summary:variables that control page layout:)%0aVariable substitutions in the skin template are all managed by the `FmtPageName() function from pmwiki.php. Pmwiki variable substitutions available on pages are managed by the {$var} substitutions from stdmarkup.php or superseded in local/config files. %0a%0a:$ActionSkin:This array is used to override the current skin when performing a given action. The most common use is to set @@$ActionSkin['print']='foo'@@ to use the 'foo' skin when printing, regardless of what the @@$Skin@@ variable is set to.%0a%0a:$WikiTitle:A variable which contains the Wiki title as displayed in the browser tab and at the top of the browser window.%0a%0a:$EnablePageTitlePriority:A variable defining how to treat multiple @@ [=(:title ...:)=] @@ [[page directives]] (added in PmWiki 2.2.9).%0a: : @@$EnablePageTitlePriority = 0;@@ # PmWiki default, last encountered title wins (the title may be changed from included pages or GroupFooter).%0a: : @@$EnablePageTitlePriority = 1;@@ # First title wins; if a title is defined in the page, directives from included pages cannot change it.%0a%0a:$EnableDiffInline:If set to 0, this variable switches off the word-level highlighting on the markup in the [[page history]].%0a: : @@$EnableDiffInline = 0;@@ # Disable colors, show plain text differences%0a%0a:$EnableRCDiffBytes:If set to 1, (All)RecentChanges pages will display the difference in bytes of the page content from the previous version like %25diffmarkup%25{+(+123)+} or {-(-42)-}%25%25%0a: : @@$EnableRCDiffBytes = 1;@@ # Show bytes difference from previous version%0a%0a: : The colors are the same as those in the page history; if your skin doesn't provide them, add to ''pub/css/local.css'' something like:%0a%0a-->[@%0a.diffmarkup { font-family: monospace; font-size: 0.9em; } %0a.diffmarkup del { background: #ff9; text-decoration: none; }%0a.diffmarkup ins { background: #9f9; text-decoration: none; }@]%0a%0a:$EnableHighlight:If set to 1, enables compatibility with the [[https://github.com/highlightjs/highlight.js|highlight.js]] library to highlight program code. In addition, you need to include the library and mark your code blocks with the wikistyle [@%25highlight%25@], see [[WikiStyles#highlight]].%0a%0a:$HTMLTagAttr:A string containing attributes of the @@%3chtml...>@@ tag in the skin template, default empty. For example, to add a "lang" attribute, set in config.php: [@%0a$HTMLTagAttr = 'lang="en" xml:lang="en"';@]%0a: : For this variable to work in a custom skin, add it in the template file, for example:[@%0a%3chtml xmlns="http://www.w3.org/1999/xhtml" $HTMLTagAttr>@]%0a%0a:$HTMLStylesFmt:An array of CSS statements to be included in the page's output along with other HTML headers. This array provides an easy place for scripts to add custom CSS statements.%0a%0a:$HTMLHeaderFmt:An array of HTML text to be included in the page's %3chead> section, at the point where the [[skin template(s)]] specifies a [@%3c!--HTMLHeader-->@] directive. This array provides an easy place for scripts to add custom HTML headers.%0a%0a->For example, if you want to specify a logo for all the pages of your wiki (a png image for Firefox (and others...), an ico for Internet Explorer):%0a-->[@ %0a$HTMLHeaderFmt['logo'] =%0a '%3clink href="http://path/to/logo.png" type="image/png" rel="icon" />%0a %3clink href="http://path/to/logo.ico" type="image/x-icon" rel="shortcut icon" />';%0a@]%0a%0a->Another example, if you want to get the RSS notification on some browsers (the RSS icon in Firefox for instance):%0a-->[@ %0a$HTMLHeaderFmt['rss'] =%0a '%3clink rel="alternate" type="application/rss+xml" title="Rss All recent Changes" %0a href="$ScriptUrl/Site/AllRecentChanges?action=rss" />';%0a@]%0a%0a:$HTMLFooterFmt:Like $HTMLHeaderFmt above, this contains an array of HTML text to be included near the end of an HTML document, at the point where the [[skin template(s)]] specifies a [@%3c!--HTMLFooter-->@] directive (usually just before a closing %3c/body> tag). Primarily used by scripts to add custom HTML output after the body of the page output. %0a%0a:$MetaRobots:Sets the value of the [@%3cmeta name='robots' ... />@] tag generated by PmWiki to control search engine robots accessing the site. PmWiki's default setting tells robots to not index anything but the normal page view, and to not index pages in the PmWiki [[wiki group]]. Explicitly setting $MetaRobots overrides this default.%0a # never index this site%0a $MetaRobots = 'noindex,nofollow';%0a # disable the robots tag entirely%0a $MetaRobots = '';%0a%0a:$MessagesFmt:An array of HTML text to be displayed at the point of any [@(:messages:)@] markup. Commonly used for displaying messages with respect to editing pages.%0a%0a:$RecentChangesFmt:An array specifying the format of the RecentChanges listing.%0a%0a->The key of the array specifies the page where changes will be logged, as in%0a-->[@%0a$RecentChangesFmt['$SiteGroup.AllRecentChanges']%0a@]%0a->The value of the array specifies the format in which the changes will be logged, as in%0a-->[@%0a'* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]'%0a@]%0a->Note the two consecutive spaces before the three dots (@@. . .@@). The two spaces separate two parts of the format: the first part doesn't change (e.g. a link to the changed page) and the second part does change (e.g. the date and author of the change). Upon saving a page, PmWiki removes a line that matches the first part and adds a line with the current format before the first line with 2 spaces. This way, any line without two consecutive spaces stays at the top of the recent changes page.%0a%0a->You can use and adapt the following to change the format (put it in config.php):%0a-->[@%0a$RecentChangesFmt['$SiteGroup.AllRecentChanges'] = %0a '* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';%0a$RecentChangesFmt['$Group.RecentChanges'] =%0a '* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';%0a@]%0a%0a->Note that changes made to the format will only affect new edits. In other words, you will need to edit a page for your new format to be visible. Note also that you need to have two spaces between the page name and the other information about the edit.%0a%0a->Also note that this variable has other uses, such as not reporting at all to RecentChanges and AllRecentChanges as found here [[PmWiki:Questions|PmWiki Questions]].%0a%0a:$RecentUploadsFmt:An array specifying the format for uploaded files at the RecentChanges listing. It is similar to $RecentChangesFmt. If enabled, newly uploaded files will be logged to the RecentChanges pages. Default is disabled. See Cookbook:RecentUploadsLog for more information.%0a%0a:$DraftRecentChangesFmt:An array specifying the format of the RecentChanges listing when saving Draft pages.%0a%0a->$RecentChangesFmt is set to $DraftRecentChangesFmt when a Draft page is saved. For example, you could save drafts in a separate Recent Draft Changes page and not list in the normal group's Recent Changes page:%0a-->[@%0a$DraftRecentChangesFmt['$Group.RecentDraftChanges'] =%0a '* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';%0a$DraftRecentChangesFmt['$Group.RecentChanges'] = '';%0a@]%0a%0a:$RCLinesMax:The maximum number of lines to be stored in RecentChanges pages. The default is zero, meaning "no limit".%0a $RCLinesMax = 1000; # maintain at most 1000 recent changes%0a%0a:$PageRedirectFmt:The text to be used when a page is redirected via the [@(:redirect:)@] markup.%0a-->[@%0a$PageRedirectFmt = '%3cp>%3ci>redirected from $FullName%3c/p>';%0a$PageRedirectFmt = '';%0a@]%0a->For display options, see also the FAQ on [[(PmWiki:)PageDirectives(#faq)]].%0a%0a:$WikiStyle:An array which contains the predefined WikiStyles which can be used on a textpage.[[%3c%3c]]See: [[PmWiki.CustomWikiStyles]]%0a%0a:$WikiStyleApply:An array which defines the scope of wiki styling per HTML element. Default settings are:%0a->[@%0a'item' => 'li|dt',%0a'list' => 'ul|ol|dl',%0a'div' => 'div',%0a'pre' => 'pre',%0a'img' => 'img',%0a'block' => 'p(?!\\sclass=)|div|ul|ol|dl|li|dt|pre|h[1-6]',%0a'p' => 'p(?!\\sclass=)'%0a@]%0a%0a->This defines that we can apply wiki styling on:%0a* LI elements using the ''item'' keyword%0a* UL, OL, DL elements using the ''list'' keyword%0a* etc.%0a%0a->An example of applying scope to an LI element is below. For more information refer to [[PmWiki/WikiStyles#Scope | WikiStyle scope]].%0a(:markup class=horiz:) %0a* %25apply=item red%25Here is a red styled list item%0a* This item would not be styled.%0a(:markupend:)%0a%0a->You can [[PmWiki.WikiStyles#WikiStyleApply | add additional HTML elements to $WikiStyleApply]] to apply wiki styles to other HTML elements. For example to allow styling on table rows, or anchor tags.%0a%0a:$WikiPageCSSFmt: This variable holds a page name where you can add CSS rules applied to specific page patterns (default disabled). See Cookbook:LocalCSS as an example.%0a: : @@$WikiPageCSSFmt = 'Site.LocalCSS';@@ # global Site.LocalCSS page%0a: : @@$WikiPageCSSFmt = '[={$Group}=].LocalCSS';@@ # per-group LocalCSS pages%0a%0a:$WikiPageCSSVars: If a "wiki CSS page" is enabled with $WikiPageCSSFmt, this is an array with global PHP $variables available as pre-processor @variables in that page. By default the array contains: @@'FarmPubDirUrl', 'PubDirUrl', 'Skin', 'action', 'SkinDirUrl'@@.%0a%0a:$EnableSelfWikiPageCSS: If a "wiki CSS page" is enabled with $WikiPageCSSFmt, that specific page doesn't have CSS applied to itself when browsed or edited. In case a grave mistake is made in the styles and the site becomes unusable, this page will still be viewable and editable. People familiar with CSS can set this to 1 and the styles will be applied to the page itself, also in "Preview" mode:%0a: : @@$EnableSelfWikiPageCSS = 1; #@@ Apply styles to the "wiki CSS page" itself%0a%0a:$PmTOC: Enable and configure the built-in table of contents, see [[Table of contents]] (TOC).%0a: : @@$PmTOC['Enable'] = 1; @@ # Enable TOC; default is 0 (disabled).%0a%0a:$ToggleNextSelector: A CSS selector to enable interactive toggling of hidden sections, see Cookbook:ToggleNext. By default it is disabled.%0a%0a:$MaxIncludes:Controls the number of times that pages can be included via the [@(:include:)@] and other directives, used to control recursion and otherwise pose a sanity check on page contents. $MaxIncludes defaults to 50, but can be set to any value by the wiki administrator.%0a $MaxIncludes = 50; # default%0a $MaxIncludes = 1000; # allow lots of includes%0a $MaxIncludes = 0; # turn off includes%0a%0a:$Skin:Lists the name(s) of skins to load, unless overridden by $ActionSkin. Normally $Skin contains a single string which is the name of a skin directory, but it may also be an array of names, in which case the first skin found from the list is used.%0a%0a:$SkinDirUrl:Set by ''scripts/skins.php'' to be the base url of the current skin's directory (i.e., within a 'pub/skins/' directory). This variable is typically used inside of a skin .tmpl file to provide access to .css files and graphic images associated with the skin.%0a%0a:$SkinLibDirs:An array which, given the filesystem path (array key) to a skin (or a directory containing several skins), provides the corresponding URL (array value).%0a%0a->The array key is the directory containing the skin.tmpl and skin.php files, as seen by the PmWiki program. It does not have to be publicly accessible.%0a%0a-> The value is the URL (web address) of the directory containing the .css, .gif, and other files which appear in the HTML code sent by PMWiki to the browser. This directory must be publicly accessible.%0a%0a->By default $SkinLibDirs is set to:\\%0a[@%0a$SkinLibDirs = array(%0a "./pub/skins/\$Skin" => "$PubDirUrl/skins/\$Skin",%0a "$FarmD/pub/skins/\$Skin" => "$FarmPubDirUrl/skins/\$Skin");%0a@]%0a%0a->Extra details: When PMWiki is searching for a skin it looks for a directory named for the skin in the array index/keys, and if it finds it then it will use the files in that directory and also the files in the matching array value url. The two sides normally point to the same publicly accessible directory, but they do not have to.%0a%0a:$SkinTemplateIncludeLevel: how many levels of inclusion are allowed for [[skin templates]] with the [@%3c!--IncludeTemplate:...-->@] directive. By default this directive is disabled. Setting it to 1 allows one level of inclusions, setting it to 2 allows included templates to include more templates. There can be up to 10 levels of inclusion. This variable can be defined either in local/config.php or in pub/skins/skinname/skinname.php (with SDV):[@%0a # in config.php, allow one level of inclusions%0a $SkinTemplateIncludeLevel = 1; %0a%0a # in skinname.php, allow 3 levels of inclusions%0a SDV($GLOBALS['SkinTemplateIncludeLevel'], 3); %0a@]%0a%0a:$PageLogoUrl: is the url that refers to a logo image which most skins display somewhere in the page's header (top left usually).%0a%0a:$EnablePathInfo:Changes the handling of the page URL. When set to @@1@@ page URL will be @@...wiki.php/Main/Main@@, when set to @@0@@ (default) it will be @@...wiki.php?n=Main.Main@@.%0a%0a:$EnableFixedUrlRedirect:When PmWiki is given a partial page name (e.g., just the name of a WikiGroup), it uses $PagePathFmt in order to make a complete page name from the partial one, then issues a "redirect" to the browser to tell it to reload the page with the correct full page name. Setting $EnableFixedUrlRedirect=0; blocks the redirect, so that PmWiki continues processing with the adjusted page name rather than issuing the redirect. %0a%0a:$GroupHeaderFmt:Defines the markup placed at the top of every page. Default value is:%0a [=$GroupHeaderFmt = '(:include {$Group}.GroupHeader self=0 basepage={*$FullName}:)(:nl:)';=]%0a%0a:$GroupPrintHeaderFmt:Defines the markup placed at the top of every page when [@action=print@]. Default value is:%0a [=SDV($GroupPrintHeaderFmt,'(:include $Group.GroupPrintHeader basepage={*$FullName}:)(:nl:)');=]%0a%0a:$GroupFooterFmt:Defines the markup placed at the bottom of every page. Default value is:%0a [=$GroupFooterFmt = '(:nl:)(:include {$Group}.GroupFooter self=0 basepage={*$FullName}:)';=]%0a%0a:$GroupPrintFooterFmt:Defines the markup placed at the bottom of every page when [@action=print@]. Default value is:%0a [=SDV($GroupPrintFooterFmt,'(:nl:)(:include $Group.GroupPrintFooter basepage={*$FullName}:)');=]%0a%0a:$PageNotFoundHeaderFmt:Specifies the HTTP header to send when attempting to browse a page that doesn't exist. Some webserver packages (notably Microsoft's "Personal Web Server") require that this variable be changed in order to work.%0a%0a-->[@%0a# default%0a$PageNotFoundHeaderFmt = 'HTTP/1.1 404 Not Found';%0a# return all pages as found%0a$PageNotFoundHeaderFmt = 'HTTP/1.1 200 Ok';%0a@]%0a%0a->Beware when expecting to return the content of a Group(header|footer) for an non existent page! By default PmWiki returns 404 (because the page does not exist), despite there is some content to show. Firefox shows the content, while Internet Explorer displays its default 404 page. $PageNotFoundHeaderFmt MUST be set to return 200 as described above in order to get the expected behaviour with all browsers.%0a%0a:$HTMLVSpace:Setting [@$HTMLVSpace = '';@] in a local customizationfile (e.g., [@local/config.php@]) prevents insertion of spacer paragraphs ([@%3cp class='vspace'>%3c/p>@]) in generated HTML code. To limit this change to a single skin, place the [@$HTMLVSpace = '';@] statement in a skin.php file, preceded by the statement [@global $HTMLVSpace;@].%0a%0a:$HTMLPNewline:This variable allows to enable linebreaks by default, i.e. without having the directive [=(:linebreaks:)=] in a page or in a GroupHeader. To enable line breaks, add to config.php such a line:\\%0a @@$HTMLPNewline = '%3cbr/>'; @@%0a%0a:$SimpleTableDefaultClassName:This variable can contain a CSS classname to be used for [[tables|simple tables]], if a "class=" attribute is not defined in the wiki page (default unset):\\%0a@@ $SimpleTableDefaultClassName = "wikisimpletable";@@\\%0aSee for sample code PITS:00638.%0a%0a:$EnableSimpleTableRowspan:If set to 1, will enable features replicating the recipe Cookbook:RowspanInSimpleTables (default disabled).\\%0a@@ $EnableSimpleTableRowspan = 1; @@ # See [[Cookbook:RowspanInSimpleTables|recipe]]%0a%0a:$EnableSortable:Set this variable to 1 to enable sortable tables, see [[Tables#sortable]] (default disabled):[@%0a$EnableSortable = 1; # Enable sortable tables@]%0a%0a:$TableCellAttrFmt:For [[Tables]], defines the HTML attributes given to each @@%3ctd>@@ or @@%3cth>@@ cell in the output. Can contain references to $TableCellCount which holds the horizontal column number of the current cell.%0a%0a:$TableCellAlignFmt:For [[Tables]], defines the HTML attributes for alignment of each @@%3ctd>@@ or @@%3cth>@@ cell. Default is @@" align='%25s'"@@ where %25s will be replaced with 'center', 'left' or 'right'. For a valid HTML5 output you may want to change this in config.php:\\%0a@@$TableCellAlignFmt = " class='%25s'";@@\\%0athen define the CSS classes td.center, td.right and td.left (also th).%0a%0a:$TableRowAttrFmt:For [[Tables]], defines the HTML attributes given to each @@%3ctr>@@ element in the output. Can contain references to $TableRowCount to give the absolute row number within the table, or $TableRowIndex to provide a repeating row index from 1 to $TableRowIndexMax.%0a # Give each row a unique CSS class based on row number (tr1, tr2, tr3, ... )%0a $TableRowAttrFmt = "class='tr\$TableRowCount'";%0a # Give each row alternating CSS classes (ti1, ti2, ti1, ti2, ti1, ... )%0a $TableRowIndexMax = 2;%0a $TableRowAttrFmt = "class='ti\$TableRowIndex'";%0a%0a:$TableRowIndexMax:The maximum value for $TableRowIndex in [[Tables]].%0a # Set rows indexes as 1, 2, 3, 1, 2, 3, 1, 2, ...%0a $TableRowIndexMax = 3;%0a%0a:$EnableTableAutoValignTop:[[TableDirectives|Advanced tables]] are intended for layout, and automatically insert the @@valign='top'@@ attribute if there is no @@valign@@ attribute defined in the markup source. Setting this variable to 0 in config.php will prevent the automatic addition.%0a $EnableTableAutoValignTop = 0; # disable automatic valign='top' attr%0a%0a:$EnableAutoSkinList:This variable enables the change of the [[PmWiki/skins|skin]] from the URL to any skin available on the wiki installation. See also $PageSkinList and Skins:SkinChange.%0a%0a:$PageSkinList:This is an array of allowed skins that can be changed by the visitor with @@?skin=@@ or @@?setskin=@@ URL query to the wiki. See also $EnableAutoSkinList and Skins:SkinChange.%0a%0a:$FmtV['$TableCellCount']:PMWiki internal variable - Horizontal column number of the current cell. For use in $TableCellAttrFmt and $TableRowAttrFmt. Administrators can use in $TableCellAttrFmt and/or $TableRowAttrFmt.%0a [@Example: $TableCellAttrFmt = 'class=col\$TableCellCount';@] %0a%0a:$FmtV['$TableRowCount']:PMWiki internal variable - Current row number. Administrators can use in $TableCellAttrFmt and/or $TableRowAttrFmt.%0a [@Example: TableRowAttrFmt = "class='row\$TableRowCount'";@] %0a%0a:$FmtV['$TableRowIndex']:PMWiki internal variable - Row index number derived from $TableRowIndexMax. (1,2,3,1,2,3,...). Administrators can use in $TableCellAttrFmt and/or $TableRowAttrFmt.%0a [@Example: $TableRowAttrFmt = "class='ind\$TableRowIndex'";@]%0a%0aSee also: [[Edit Variables]]%0a +time=1584989708 blob - /dev/null blob + 4431d7bd48d7697a29b14259c891b3fc61327f0a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.LinkVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.119 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=grammar +name=PmWiki.LinkVariables +rev=73 +targets=PmWiki.LinkVariables,PmWiki.Links,PmWiki.PageVariables,Cookbook.PagePaths,PmWiki.BasicVariables,PmWiki.InterMap,Cookbook.DotsInLinks,PmWiki.PageDirectives,Category.PmWikiDeveloper +text=(:Summary:variables that control the display of links in pages:)%0a(:Audience: admins (advanced):)%0a:$EnableLinkPageRelative:When enabled, causes PmWiki to use relative urls for page links instead of absolute urls.%0a $EnableLinkPageRelative = 1;%0a%0a:$EnableLinkPlusTitlespaced: When enabled, a [[links|link]] written like [@[[Name|+]]@] will display the "Spaced Title". Default is to display the "Title" of the page. See the page [[PageVariables]] for [@{$Title}@] and [@{$Titlespaced}@].%0a%0a:$PagePathFmt: This array lists the order in which PmWiki looks for the page that you ''most likely'' are attempting to link to. The default is listed below. Look at Cookbook:PagePaths for some ideas.%0a [=array('{$Group}.$1', '$1.$1', '$1.{$DefaultName}')=]%0a%0a:$LinkPageExistsFmt:The (HTML) string to output for links to already existing wiki pages. Defaults to %0a [=%3ca class='wikilink' href='\$LinkUrl'>\$LinkText%3c/a>=]%0a%0a:$LinkPageCreateFmt:The (HTML) string to output for links to non-existent wiki pages. The default is to add a '?' after the link text with a link to the page edit/create form. Defaults to%0a [=%3ca class='createlinktext' href='\$PageUrl?action=edit'>\$LinkText%3c/a>=]%0a [=%3ca class='createlink' href='\$PageUrl?action=edit'>?%3c/a>=]%0a%0a:$LinkPageCreateSpaceFmt:Same as $LinkPageCreateFmt, but used when the link text has a space in it. %0a%0a:$LinkPageSelfFmt:The (HTML) string to output for self-referencing links (i.e. links to the page itself). Defaults to%0a [=%3ca class='selflink' href='\$LinkUrl'>\$LinkText%3c/a>=]%0a%0a:$LinkCategoryFmt:The (HTML) string to output for links to wiki category pages. Defaults to %0a [=%3ca class='categorylink' href='\$LinkUrl'>\$LinkText%3c/a>=]%0a%0a%0a:$UrlLinkFmt:The (HTML) string to output for URL-links that begin with 'http:', 'ftp:', etc. Defaults to%0a [=%3ca class='urllink' href='\$LinkUrl' title='\$LinkAlt' rel='nofollow'>\$LinkText%3c/a>=]%0a%0a:$IMapLinkFmt: an array of link formats for various link "schemes". Not set as default.%0a->Examples of custom formats to allow different styling via classes: %0a->Links to http: standard url links:%0a [= $IMapLinkFmt['http:'] = "%3ca class='httplink urllink' href='\$LinkUrl'>\$LinkText%3c/a>"; =] %0a->Links to https: secure pages:%0a [= $IMapLinkFmt['https:'] = "%3ca class='httpslink urllink' href='\$LinkUrl'>\$LinkText%3c/a>"; =] %0a->Links to PmWiki: InterMap shortcut:%0a [= $IMapLinkFmt['PmWiki:'] = "%3ca class='pmwikilink urllink' href='\$LinkUrl'>\$LinkText%3c/a>";=]%0a%0a:$AddLinkCSS:An array of additional custom link CSS classes, that are added to the link format $UrlLinkFmt, $IMapLinkFmt or $LinkPageExistsFmt. Currently can have 2 elements:\\%0a@@$AddLinkCSS['othergroup'] = "''crossgroup''";@@ # add "''crossgroup''" class to wikilinks to other wikigroups\\%0a@@$AddLinkCSS['samedomain'] = "''currentsite''";@@ # add "''currentsite''" class to URL or Path links to resources on the same domain.%0a%0a:$InterMapFiles:An array consisting a list of files and pages containing [[InterMap]] entries to be loaded.%0a%0a:$MakePageNameFunction:Name of a custom function to replace `MakePageName(), which converts strings into valid page names.%0a%0a:$MakePageNamePatterns: $MakePageNamePatterns is an array of regular expression replacements that is used to map the page link in a ''free link'' such as [@[[free link]]@] into a page name. Currently the default sequence is: [@%0a "/'/" => '', # strip single-quotes%0a "/[^$PageNameChars]+/" => ' ', # convert to spaces characters not allowed in pagenames%0a '/((^|[^-\\w])\\w)/' => 'cb_toupper', # capitalize 1st letter of words%0a '/ /' => '' # remove spaces%0a@]%0a: :Note that if you change $MakePageNamePatterns, the documentation links may break. This can be fixed by re-setting $MakePageNamePatterns to the default in local/PmWiki.php.%0a%0a:$MakePageNameSplitPattern:See Cookbook:DotsInLinks.%0a%0a:$WikiWordCountMax:The maximum number of times to convert each WikiWord encountered on a page. Defaults to 1,000,000. Common settings for this variable are zero (disable WikiWord links) and one (convert only the first occurrence of each WikiWord).%0a $WikiWordCountMax = 0; # disable WikiWord links%0a $WikiWordCountMax = 1; # convert only first WikiWord%0a%0a:$WikiWordCount:An array that allows the number of WikiWord conversions to be set on a per-WikiWord basis. The default is to use $WikiWordCountMax unless a value is set in this array. By default PmWiki sets @@$WikiWordCount['PmWiki']=1@@ to limit the number of conversions of "PmWiki".%0a $WikiWordCount[=['PhD']=0; # Don't convert "PhD"=]%0a $WikiWordCount['WikiWord']=5; # Convert WikiWord 5 times%0a # the following lines keep a page from linking to itself%0a $title = [=FmtPageName=]('$Title_',$pagename);%0a $WikiWordCount[$title]=0; %0a %0a:$EnableRedirectQuiet:Enable the @@quiet=1@@ parameter for the [[PmWiki.PageDirectives#redirect|redirect directive]]. On publicly edited wikis it is advisable not to enable quiet redirects.%0a $EnableRedirectQuiet = 0; # disable quiet redirects (default)%0a $EnableRedirectQuiet = 1; # enable quiet redirects%0a%0a:$QualifyPatterns:An array of regular expression replacements applied when text from one page is included in another, used by the function Qualify(). The two default patterns rewrite links like [@[[Page]]@] into [@[[Group/Page]]@], and page (text) variables like [@{$Title}@] into [@{Group.Page$Title}@] so that they work the same way in the source page and in the including page.%0a%0aCategories: [[!PmWiki Developer]] +time=1570179145 blob - /dev/null blob + ec0b5f113290032a60de2fc5a10bd337aa83b3ca (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Links @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=links with special characters (+173) +name=PmWiki.Links +rev=217 +targets=PmWiki.WikiSandbox,PmWiki.BasicEditing,Main.WikiSandbox,Main.HomePage,PmWiki.WikiWikiWeb,PmWiki.Installation,PmWiki.WikiWord,PmWiki.LinkVariables,PmWiki.Links,PmWiki.InterMap,PmWiki.NonexistentPages,PmWiki.CreatingNewPages,PmWiki.WikiGroup,PmWiki.Categories,Profiles.Author,PmWiki.PageSections,Cookbook.FixURL,Cookbook.DirList,PmWiki.Robots,Cookbook.PopupWindow,Cookbook.DeObMail,Cookbook.AddUrlSchemes,PmWiki.PageLists,PmWiki.LinkSchemes,Cookbook.ExternalLinks,PmWiki.Images,PmWiki.ConditionalMarkup +text=(:Summary:Multiple mechanisms for creating links:)%0a(:Audience: authors (basic) :)%0aA key feature of [[wiki(WikiWeb)]]-based systems is the ease of creating %25newwin%25[[Wikipedia:Hyperlink|hyperlinks]]%25%25 (or short '''links''') in the text of a document. %0aPmWiki provides multiple mechanisms for creating such links.%0a%0a!! [[#links]]Links to other pages in the wiki%0a%0aTo create an internal link to another page, simply enclose the name of the page inside double square brackets, as in [@[[wiki sandbox]]@] or [@[[installation]]@]. This results in links to [[wiki sandbox]] and [[installation]], respectively.%0a%0aPmWiki creates a link by using the text inside the double brackets. It does this by removing spaces between the words, and automatically capitalizing the first letter of each word following spaces or other punctuation (like ~). Thus [@[[Wiki Sandbox]]@], [@[[wiki sandbox]]@], and [@[[WikiSandbox]]@] all display differently but create the same link to the page titled [@WikiSandbox@].%0aOr in other words, PmWiki will automatically create the "link path name" using the page name in ''CamelCase'', but the "link text" will display in the format you have entered it.%0a%0aSome PmWiki sites (default not) will recognize words written in CamelCase, called a [[WikiWord]], automatically as a link to a page of the same name.%0a%0a!!! [[#othertext]]Links with different link text%0a%0aThere are three ways to get a different link text:%0a%0a#'''Hide link text'''. Link text within (parentheses) will not be not displayed, so that [@[[(wiki) sandbox]]@] links to ''[=WikiSandbox=]'' but displays as [[(wiki) sandbox]]. For addresses actually containing parentheses, use %2528 and %2529 [[http://www.example.com/linkwith%2528parenthese%2529]].%0a%0a#'''Change link text'''. You can specify another link text after a vertical brace, as in [@[[WikiSandbox | a play area]]@], or you can use an arrow ([@->@]) to reverse the order of the link text and the target, as in [@[[a play area -> WikiSandbox]]@]. Both links displays as [[a play area -> WikiSandbox]].%0a%0a#'''Show page title instead of page name'''. The use of special characters in the page name is not a problem for PmWiki, but on some servers it may be better to use only plain A-Z letters for the page "name" (which is also a filename), and set the page "title" to the extended or international characters with the [=(:title PageTitle:)=] directive within the page. The page title can be shown instead of the page name with the [@[[PageName|+]]@] link markup, e.g. page [@BasicEditing@] contains the directive [=(:title=] {BasicEditing$Title}:) with the result that a link written as [@[[BasicEditing|+]]@] will display as [[BasicEditing|+]]. [-See also $EnableLinkPlusTitlespaced.-]\\%0aSince PmWiki version 2.2.14 this works also for those technical pages that have an entry in the XLPage, without the need to add the [=(:title PageTitleName:)=] directive within that page (for more details see [[(http://www.pmwiki.org/wiki/)Localization.Localization]]).%0a%0aOn top of above ways, a suffix can be added to the end of a link, which becomes part of the link text but not of the target page name.\\%0a'''Note:''' This feature works with the [@[[PageName|+]]@] markup only since Version 2.2.90.%0a%0a[[#markupheaders]]%0a(:table class='markup horiz' align='center':)%0a(:cellnr class='markup1':)%0a[-'''What to type'''-]%0a(:cell class='markup2':)%0a[-'''What it looks like'''-]%0a(:tableend:)%0a[[#markupheadersend]]%0a%0a(:markup class=horiz:)%0a* [[(wiki) sandbox]]%0a* [[(wiki) sandbox]]es%0a* [[WikiSandbox | wiki sandbox]],%0a* [[WikiSandbox | wiki sandbox]]es%0a* [[BasicEditing | +]]%0a(:markupend:)%0a%0a!!! [[#tooltiptitle]] Links with tool tip%0aFrom version 2.2.14 PmWiki can show tooltip titles with the following format:%0a: '''external link''' : @@[=[[http://pmwiki.org"external tool tip title" | external link ]]=]@@, eg [[http://pmwiki.org"external tool tip title" | external link ]] or [[http://pmwiki.org"external tool tip title" ]]%0a: '''internal link''': @@[=[[Links"internal tool tip title" | internal link ]]=]@@, eg [[Links"internal tool tip title" | internal link ]] or [[Links"internal tool tip title" ]]%0a: '''[[#anchors|Anchor links]]''': @@[=[[#name"anchor tool tip title"|anchor link text]]=]@@ (since Version 2.2.48), eg [[#name"anchor tool tip title"|anchor link text]] or [[#name"anchor tool tip title"]]%0a: '''[[InterMap]] link''' : @@[=[[Wikipedia:Wiki"tool tip title"| InterMap link ]]=]@@, eg [[Wikipedia:Wiki"tool tip title"| InterMap link ]] or [[Wikipedia:Wiki"tool tip title" ]]%0a%0a %0a!!! [[#nonexistent]]Links to nonexistent pages%0a%0aLinks to [[nonexistent pages]] are displayed specially, to invite others to create the page.%0aSee [[Creating new pages]] to learn more.%0a%0a!!! [[#othergroup]]Links to pages in other wiki groups%0a%0aLinks as written above are links between pages of the same group. To create a link to a page in another group, add the name of that other group together with a dot or slash as prefix to the page name. For example, links to [@Main/WikiSandbox@] could be written as:%0a%0a(:include {$FullName}#markupheaders#markupheadersend:)%0a%0a(:markup class=horiz:)%0a* [[Main.WikiSandbox]]%0a* [[Main/WikiSandbox]]%0a* [[(Main.Wiki)Sandbox]]%0a* [[Main.WikiSandbox | link text]]%0a* [[Main.WikiSandbox | +]]%0a(:markupend:)%0a%0aTo link to the "default home page" of a group, the name of the page can be omitted:%0a%0a(:markup class=horiz:)%0a* [[Main.]]%0a* [[Main/]]%0a(:markupend:)%0a%0aSee [[Wiki Group]] to learn more about PmWiki groups.%0a%0a!!! [[#categories]]Category links%0a%0aCategories are a way to organize and find related pages. The idea is that every page that falls into a particular subject area should have a link to a shared page containing links to other pages on that subject. These ''shared pages'' are created in the special group [@Category@], and thus these subject areas are called "categories".%0a%0aAdding a page to the category [@Subject@] is simple by adding the [@[[!Subject]]@] markup somewhere on that page. This will create a link to the page [@Category.Subject@]. So [@[[!Subject]]@] is a kind of link shortcut to the page [@Category.Subject@]. See [[Categories]] to learn more.%0a%0a!!! [[#profiles]]User page links%0a%0aSimilar is [@[[~Author]]@] a link shortcut to the page [@Author@] in the special group [@Profiles@]. PmWiki automatically creates this type of link for the ''current author'', when it encounters three tilde characters ([@~@]) in a row ([@~@][@~@][@~@]) in the page text. The current author is the name found in the "Author" field, when you create or modify a page. The current date and time is appended when four tilde characters in a row are encountered ([@~@][@~@][@~@][@~@]).%0a%0aSo, when the Author field contains "Author":\\%0a[@~@][@~@][@~@] markup will be replaced by: [[~Author]]\\%0a[@~@][@~@][@~@][@~@] markup will be replaced by: [[~Author]] October 10, 2010, at 04:50 PM%0a%0a!!! [[#linkshortcuts]]Link shortcuts%0a%0a'''[@[[PageName|#]]@]''' creates a [[#reference|reference]] link as shown below'^[[#reference|#]]^'.%0a%0a!!! [[#anchors]]Links to specific locations within a page -- "anchors"%0a%0aTo define a location, or bookmark, within a page to which you may jump directly, use the markup [@[[#name]]@]. This creates an "[[http://www.w3.org/TR/html4/struct/links.html#h-12.2.1|anchor]]" that uniquely identifies that location in the page. Then to have a link jump directly to that anchor, use one of%0a%0a* [@[[#name|link text]]@] within the same page, or%0a* [@[[PageName#name]]@] or [@[[PageName#name|link text]]@] for a location on another page%0a* The form [@[[PageName(#name)]]@] may be useful for hiding the anchor text in a link. %0a%0aFor example, here's a link to the [[#intermaps | Intermaps]] section, below. %0a%0aNotes:%0a* %25red%25The anchor itself [[http://www.w3.org/TR/html4/types.html#type-name|must]] begin with a letter%25%25, '''not a number'''.%0a* %25green%25Valid characters for anchor names%25%25 are letters, digits, dash (-), underscore (_), and the period (.).%0a* A link to an anchor must have the '''same capitalization as the anchor''' itself. %0a* Spaces are not allowed in an anchor: "[@[[#my anchor]]@]" won't work, "[@[[#myanchor]]@]" will.%0a* All anchor names in a page should be unique.%0a%0a%0a!!! [[#sections]]Sections%0aWhile in HTML the purpose of [[#anchors|anchors]] is mostly for jumping to a position in the text, in PmWiki they serve an internal purpose, too: Each anchor also creates a section, because sections are defined as the part of the page between their start anchor and the next anchor. %0aFor more details, see [[PmWiki:Page Sections|Page Sections]].%0a%0a%0a!!! [[#actions]]Links to actions%0a%0aTo link to a specific action for the current page use [@[[{$FullName}?action=actionname|linkname]]@].%0a%0aExamples:%0a* [@[[{$FullName}?action=edit|Edit]]@] for editing%0a* [@[[{$FullName}?action=diff|differences]]@] for differences.%0a%0a!! Links outside the wiki%0a[[#externallinks]]%0a!!! Links to external sites ([=URLs=])%0a%0aLinks to external sites simply begin with a prefix such as 'http:', 'ftp:', etc. Thus [@http://google.com/@] and [@[[http://google.com/]]@] both link to Google. As with the above, an author can specify the link text by using the vertical brace or arrow syntax, as in [@[[http://google.com/ | Google]]@] and [@[[Google -> http://google.com]]@].%0a%0aIf the external link includes (parentheses), escape these using [=%2528=] for "(" and [=%2529=] for ")" : %0a(:markup:)[=[[http://en.wikipedia.org/wiki/Wiki_%2528disambiguation%2529 | link to "Wiki (disambiguation)" ]]=]%0a%0aThe recipe Cookbook:FixURL makes it easy to encode parentheses and other special characters in link addresses.%0a%0a!!! Links with special characters%0aTo have any special characters, including quotes, spaces, parentheses and pipes in link addresses escape them using [@[=link address=]@].%0a%0a!!! [[#path]] Links from the wiki to resources on the same website%0a%0aYou can use the [@Path:@] prefix to add links outside of the wiki but on the same website.%0a%0aUse @@[=Path:=]%25blue%25/path/to/resource%25%25@@ with a leading slash for links relative to the website document root as in @@www.example.com%25blue%25/path/to/resource%25%25@@.%0a%0aYou can also define a custom [[InterMap]] prefix to a specific path on your website and use it as a shortcut, for example:%0a%0a Pictures: /assets/pictures/$1%0a%0aThen in a wiki page, use [@Pictures:photo.jpg@] instead of [@Path:/assets/pictures/photo.jpg@] or [@http://www.example.com/assets/pictures/photo.jpg@]%0a%0aSee [[InterMap]] for more information.%0a%0a!!! Links to intranet (local) files%0a%0a'''Not all browsers will follow such links''' (some Internet Explorer versions reportedly follow them). You can link to a file system by including the prefix [@'file:///'@]. So [@file:///S:\ProjPlan.mpp@] and [@[[Shared S drive->file:///S:\]]@] are both valid links. On a Windows file system you may want to use network locations (eg [@file:///\\server1\rootdirectory\subdirectory@]) rather than drive letters which may not be consistent across all users. Not all browsers will follow such links, Internet Explorer does allow them.%0a%0aSee also Cookbook:DirList.%0a%0a!! Link characteristics%0a!!! [[#reference]]Links as References%0a%0aLinks may also be specified as '''References''', so the target appears as an anonymous ''numeric'' reference rather than a ''textual'' reference. The following markup is provided to produce sequential reference numbering within a PmWiki page:%0a%0aFormatting the link as: [@[[http://google.com |#]]@] produces: [[http://google.com |#]] as the link.%0a%0aSubsequent occurrence of the reference link format on the same page will be incremented automatically as per the following example: Entering [@[[http://pmwiki.com |#]]@] produces [[http://pmwiki.com |#]], [@[[#intermaps |#]]@] produces [[#intermaps |#]], and so on for further reference links.%0a%0a!!! [[#intermaps]]Intermaps%0a%0a[[Inter Map]] links are also supported (see [[Inter Map]]). In particular, the [@Path:@] InterMap entry can be used to create links using relative or absolute paths on the current site (e.g., [@Path:../../somedir/foo.html@] or [@Path:/dir/something.gif@]).%0a%0a!!! Links that open a new browser window%0a%0aTo have a link open in another window, use [@%25newwin%25...%25%25@]:%0a%0a* [@%25newwin%25 http://pmichaud.com %25%25@] produces %25newwin%25 http://pmichaud.com %25%25%0a* [@%25newwin%25 [[http://google.com/ | Google]] %25%25@] produces %25newwin%25 [[http://google.com/ | Google]]%25%25%0a* [@%25newwin%25 [[Main.WikiSandbox]] %25%25@] produces %25newwin%25 [[Main.WikiSandbox]]%25%25%0a%0aYou can also specify that links should open in a new window via the @@[=%25target=_blank%25...%25%25=]@@ attribute:%0a%0a(:markup class=horiz:)%0aThe following link %25target=_blank%25 http://pmichaud.com %25%25%0awill open in a new window.%0a(:markupend:)%0a%0a!!! [[#robots]]Links that are not followed by [[(PmWiki:)robots]]%0a%0aPrefix a link with [=%25rel=nofollow%25=] to advise %25newwin rel=nofollow%25[[http://robotstxt.org/|robots]] and [[http://validator.w3.org/checklink|link checkers]]%25%25 not to follow it.%0a%0a%0a!! Links and CSS classes%0a%0aPmWiki automatically gives classes to several types of links. Among other things, this enables you to format each type differently.%0a%0aNote: This may be an incomplete list.%0a:.selflink:A link to the current page. Useful in sidebars to show "you are here".%0a:.wikilink:A link to another page within the wiki.%0a:.urllink:A link to a page outside the wiki.%0a%0a!! Notes%0a%0a'''Note:''' The default behavior of "+" above can be overridden to display the spaced title, rather than simply the title by adding the following to config.php:%0a->[@%0a## [[target |+]] title links%0aMarkup('[[|+', '%3c[[|',%0a "/(?>\\[\\[([^|\\]]+))\\|\\s*\\+\\s*]]/e",%0a "Keep(MakeLink(\$pagename, PSS('$1'),%0a PageVar(MakePageName(\$pagename,PSS('$1')), '\$Titlespaced')%0a ),'L')");%0a@]%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I create a link that will open as a new window?%0a%0aA: Use the [@%25newwin%25@] wikistyle, as in:%0a(:markup class=horiz:) [=%25newwin%25 http://example.com/ %25%25=]%0a%0aQ: How do I create a link that will open a new window, and configure that new window?%0a%0aA: This requires javascript. See [[Cookbook:PopupWindow]].%0a%0aQ: How do I place a mailing address in a page?%0a%0aA: Use the [@mailto:@] markup, as in one of the following:%0a%0a(:markup class="horiz":)%0a* mailto:myaddress@example.com%0a* [[mailto:myaddress@example.com]]%0a* [[mailto:myaddress@example.com | email me]]%0a* [[mailto:myaddress@example.com?subject=Some subject | email me]]%0a(:markupend:)%0aThe markup @@[=[[mailto:me@example.=]com?%25red%25cc=%25%25someoneelse@example.com%25red%25&bcc=%25%25else@example.com%25red%25&subject=%25%25Pre-set Subject%25red%25&body=%25%25Pre-set body | display text]] =]@@ lets you specify more parameters like the message body and more recipients (may not work in all browsers and e-mail clients).%0a%0aSee also [[Cookbook:DeObMail]] for information on protecting email addresses from spammers.%0a%0aQ: How can I enable links to other protocols, such as nntp:, ssh:, xmpp:, etc?%0a%0aA: See [[Cookbook:Add Url schemes]] {Cookbook.AddUrlSchemes$:Summary}%0a%0aQ: How do I make a WikiWord link to an external page instead of a WikiPage?%0a%0aA: Use link markup. There are two formats:%0a%0a->[@[[http://example.com/ | WikiWord]]%0a[[WikiWord -> http://example.com/]]@]%0a%0aQ: How do I find all of the pages that link to another page (i.e., backlinks)?%0a%0aA: In the wiki search form, use @@link=Group.Page@@ to find all pages linking to Group.Page.%0a%0aA: Use the [@link=@] option of the [[[@(:pagelist:)@] directive -> PmWiki/PageLists#pagelistlink]], as in%0a%0a->[@(:pagelist link=SomePage list=all:) -- show all links to SomePage%0a(:pagelist link={$FullName} list=all:) -- show all links to the current page@]%0a%0aNote that (with a few exceptions) includes, conditionals, pagelists, searchresults, wikitrails, and redirects are not evaluated for Wikilinks, and so any links they put on the page will not be found as backlinks. All other directives and markup, for example links brought to the page by (:pmform:), will be found.%0a%0aQ: What link schemes does PmWiki support?%0aA: See [[PmWiki:Link schemes]] {PmWiki.LinkSchemes$:Summary}%0a%0aQ: How do I open external links in a new window or mark them with an icon?%0aA: See [[Cookbook:External links]] {Cookbook.ExternalLinks$:Summary}%0a%0aQ: How can I use an image as a link?%0aA: Use [=[[Page| Attach:image.jpg ]] or [[ http://site | http://site/image.jpg ]]=] See [[PmWiki/Images#links]]%0a%0aQ: Why my browser does not follow local file:// links?%0aA: For security reasons, most browsers will only enable file:// links if the page containing the link is itself on the local drive. In other words, most browsers do not allow links to file:// from pages that were fetched using http:// such as in a PmWiki site. See also Cookbook:DirList for a workaround.%0a%0aQ: How links to the first existed page ? for example [@ [[Group1.Page Group2.Page|Page]] @]%0aA: See [[PmWiki/ConditionalMarkup]]%0a->[@(:if exists Group1.Page:)%0a [[Group1.Page|Page]]%0a(:elseif exists Group2.Page:)%0a [[Group2.Page|Page]]%0a(:ifend:)@] +time=1590307817 blob - /dev/null blob + b459ed0c321f83476bc057159212a806f8d970a2 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.LocalCustomizations @@ -0,0 +1,9 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=%25hlt php%25 +name=PmWiki.LocalCustomizations +rev=100 +targets=PmWiki.GroupCustomizations,PmWiki.WikiAdministrator,PmWiki.DocumentationIndex,PmWiki.Skins,PmWiki.Internationalizations,PmWiki.CustomMarkup,PmWiki.InterMap,PmWiki.PmWikiPhilosophy,PmWiki.Variables,PmWiki.DebugVariables,Cookbook.ControllingWebRobots,Cookbook.Cookbook,PmWiki.BasicVariables,PmWiki.PathVariables,Cookbook.SQLite,Cookbook.CompressedPageStore,Cookbook.PerGroupSubDirectories,PmWiki.UTF-8,PmWiki.MailingLists,PmWiki.Upgrades,Site.PageNotFound,PmWiki.LocalCustomizations +text=(:Summary:Customize your PmWiki installation through @@config.php@@ and @@local.css@@:)%0aA [[Wiki Administrator]] can make a lot of customizations simply by setting variables in the ''/local/config.php'' and defining cascading style sheets in ''/pub/css/local.css'' files. Any group or page can also have [[GroupCustomizations|its own configuration file and configuration css file]].%0a%0aThis page describes how customizations work in general, see [[PmWiki.Documentation Index]] for specific customizations that are commonly performed at many PmWiki installations, including:%0a%0a* [[Skins]] - {Skins$:Summary}%0a* [[Internationalizations]] - {Internationalizations$:Summary}%0a* [[Custom Markup]] - {CustomMarkup$:Summary}%0a* [[InterMap]]s - {InterMap$:Summary}%0a%0a[[#configphp]]%0a!! local/config.php%0a%0aFrom its inception, PmWiki has been designed so that [[Wiki Administrator]]s can greatly customize the way PmWiki displays pages and the markup sequences used to generate pages. (This is even mentioned explicitly in [[PmWiki Philosophy(#collaborativemaintenance)]] #4 Collaborative Maintenance.) As a result, the core ''pmwiki.php'' script makes extensive use of [[PmWiki.Variables]] to determine how markup sequences will be processed and what each individual page will output.%0a%0aThe simplest type of customization is merely setting a variable to 1 (or TRUE). Here's an example that enables ?action=diag and ?action=phpinfo actions:%0a->%25hlt php%25@@$EnableDiag = 1;@@%0a%0aYou can begin a line with a "#" (an octothorpe, a.k.a. a hash symbol or pound sign) to add a comment. Additionally, some built-in PmWiki variables take values other than 1 or 0 (true or false). Here's another example that customizes the wiki's behavior with respect to search engine web robots (see [[Cookbook:ControllingWebRobots]]):%0a%0a->%25hlt php%25[@%0a# Remove the default "rel='nofollow'" attribute for external links.%0a$UrlLinkFmt = "%3ca class='urllink' href='\$LinkUrl' title='\$LinkAlt'>\$LinkText%3c/a>";%0a@]%0a%0aThe ''scripts/'' subdirectory (below the directory holding the ''pmwiki.php'' script) has many customizations.%0aThe PmWiki [[(Cookbook:)Cookbook]] contains many example customizations (recipes) that you can download into the ''cookbook/'' subdirectory,%0aThe first few lines of each of these scripts generally contain instructions about how to enable (and use) the feature provided by the script.%0a%0aThese customizations are included in your ''config.php'' site configuration. For most scripts this is done by simply adding lines like:%0a->%25hlt php%25[@include_once("cookbook/recipefile.php");@]%0aand%0a->%25hlt php%25[@include_once("scripts/scriptfile.php");@]%0aat the end of the ''config.php'' file to enable them. %0a%0aSome of the scripts are automatically enabled for you via the ''scripts/stdconfig.php'' script unless you disable it by setting @@$EnableStdConfig=0;@@ in ''local/config.php''.%0a%0a[[#PostConfig]][[#configphp-order]]%0a!!! Order of the commands in config.php%0aThe following order is recommended:%0a%0a* define $ScriptUrl and $PubDirUrl, if needed,%0a* define any custom PageStore class, like [[(Cookbook:)SQLite]], [[(Cookbook:)CompressedPageStore]] or [[(Cookbook:)PerGroupSubDirectories]],%0a* next include_once scripts/xlpage-utf-8.php,%0a* next call XLPage() which needs the definitive writable $WikiDir already set in order to find the wiki page containing the translations,%0a* next include authuser.php (if needed), because PmWiki caches some group and page authorization levels when a page is accessed,%0a* next include any other scripts and recipes and their configuration %0a** see for any requirements or advice about the order on the recipe pages: some need to be included before or after others, some need to be configured before the script is included, others after.%0a%0a>>frame hlt php%3c%3c%0aIf you need to set per-page or per-group variables or addons, it is recommended to add them into files named local/Group.php and local/Group.Page.php. If you must do it from config.php, or if you need to set these variables after the local files are included, use the following at the bottom of config.php:%0a%0a '''$pagename = ResolvePageName($pagename);'''%0a '''include_once("$FarmD/scripts/pgcust.php");'''%0a list($group, $name) = explode('.', $pagename);%0a if ($group != 'Private') {...} # do whatever you need%0a%0aAny direct function call in config.php, like CondAuth(), PageTextVar(), PageVar(), RetrieveAuthPage(), or others, should be done near the end of config.php after the above snippet in bold. Alternatively, you can add those in a custom function or script in the $PostConfig array:%0a%0a # PmWiki will call this function and include this file '''after'''%0a # farmconfig.php, config.php, Group.Page.php and Group.php%0a # but '''before''' scripts/stdconfig.php:%0a function MyFunction1($pagename) {...}%0a $PostConfig['MyFunction1'] = 25; # %3c 50%0a $PostConfig["cookbook/some-addon.php"] = 26; # %3c 50%0a%0a # PmWiki will call this function and include this file '''after'''%0a # farmconfig.php, config.php, Group.Page.php, Group.php%0a # and scripts/stdconfig.php:%0a function MyFunction2($pagename) {...}%0a $PostConfig['MyFunction2'] = 125; # >= 50%0a $PostConfig["cookbook/other-addon.php"] = 100; # >= 50%0a%0aThe $PostConfig functions and scripts will be called ordered by their values, ie above "MyFunction2" (125) will be called after "other-addon.php" (100). This allows recipe authors more control over the precise order of their recipe compared to other recipes (when that is important).%0a>>%3c%3c%0a%0a''Note, each part is '''not''' required, but if your wiki needs it, this is the recommended order in config.php.''%0a%0a[[#encoding]]%0a!!! Character encoding of config.php%0a%0aThe encoding used when you save [@config.php@] has an effect. Your text editor should allow you to save config.php in the encoding of your wiki. (The default encoding of PmWiki is ISO-8859-1, for new wikis it is recommended to enable UTF-8.)%0a%0aNewer operating systems like GNU/Linux, FreeBSD and Apple generally default to saving text files in Unicode/UTF-8; in Windows the default encoding is ANSI/Windows-1252 which is almost the same as PmWiki's ISO-8859-1.%0a%0aThe following ''free/libre software'' text editors can edit and save a file in different encodings:%0a* Cross-platform: [[http://kate-editor.org/ |Kate]] (for KDE), [[http://www.geany.org/ |Geany]], [[http://www.arachnoid.com/arachnophilia/index.html|Arachnophilia]], [[http://www.scintilla.org/SciTE.html|SciTE]], [[http://bluefish.openoffice.nl/|Bluefish]], [[http://www.vim.org/|vim]] and others.%0a* Windows: [[http://notepad-plus-plus.org/ |Notepad++]], [[http://www.contexteditor.org/|ConTEXT]], [[http://www.flos-freeware.ch/notepad2.html|Notepad2]].%0a* OS X: [[http://aquamacs.org|Aquamacs]].%0a%0aNote that if you use the UTF-8 encoding, you should save your files ''"without Byte Order Mark (BOM)"''.%0a%0aOver time PmWiki will be updated to default to Unicode/UTF-8 encoding, which allows all possible alphabets and languages. See [[UTF-8]] for more information.%0a%0a[[#localcss]]%0a!! pub/css/local.css%0a%0aYou can create this file and set there some custom CSS styles which will override any styles set by skins. For example:%0a%25hlt css%25[@%0a h1, h2, h3, h4, h5 { color: #880000; } /*dark red titles*/%0a a { text-decoration: none; } /* don't underline links */%0a@]%0a%0aCSS files are included in the order%0a# @@$PubDirUrl/css/local.css@@ '-- for the wiki-'%0a# @@$PubDirUrl/css/[@{$Group}.css@]@@ '-- for groups-'%0a# @@$PubDirUrl/css/[@{$FullName}.css@]@@ '-- for single pages-'%0a# @@$PageCSSListFmt@@%0a%0a!! Don't modify pmwiki.php or other core files%0a%0aYou should strongly resist the temptation to directly modify the ''pmwiki.php'' script or the files in the ''scripts/'' subdirectory. Any modifications you make to these files will probably be overwritten whenever you [[PmWiki/upgrade(s)]]. Instead, look at some of the sample scripts for examples of customizations that can be performed from ''config.php''. You can even create your own script to do a customization and use @@include_once(...)@@ to include it from ''config.php''. If you do make your own customization script, you can safely put it in the ''cookbook/'' subdirectory--it won't get overwritten by an upgrade there. You might also want to submit your customization to the [[MailingLists|pmwiki-users mailing list]] or the [[(Cookbook:)Cookbook]] so that others can benefit from your effort and so that it can perhaps be included in future releases of PmWiki.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: There's no "config.php"; it's not even clear what a "local customisation file" is!%0aA: The "sample-config.php" file in the "docs" folder, is given as an example. Copy it to the "local" folder and rename it to "config.php". You can then remove the "#" symbols or add other commands shown in the documentation. See also [[Group Customizations]].%0a%0aQ: Can I change the default page something other than Main.HomePage ($DefaultPage)?%0aA: Yes, just set the $DefaultPage variable to the name of the page you want to be the default. You might also look at the $DefaultGroup and $DefaultName configuration variables.%0a%0a->%25hlt php%25[@$DefaultPage = 'ABC.StartPage';@]%0a%0aNote the recommendations in $DefaultName and the need to set $PagePathFmt as well if you are changing the default startup page for groups.%0a%0aQ: [[#configphp-group-page]] How do I get the group / page name in a local configuration file (e.g. ''local/config.php'')?%0aA: Use the following markup in pmwiki-2.1.beta21 or newer:%0a%0a%25hlt php%25[@%0a## Get the group and page name%0a$pagename = ResolvePageName($pagename);%0a$page = PageVar($pagename, '$FullName');%0a$group = PageVar($pagename, '$Group');%0a$name = PageVar($pagename, '$Name');%0a@]%0a%0aNote the importance of [[#configphp-order|the order of customizations in config.php above]] to avoid caching problems.%0a%0aIf you need the verbatim group and page name (from the request) early in config.php, $pagename is guaranteed to be set to%0a# Any value of ?n= if it's set, or%0a# Any value of ?pagename= if it's set, or%0a# The "path info" information from REQUEST_URI (whatever follows SCRIPT_NAME), or%0a# Blank otherwise%0aaccording to [[http://pmichaud.com/pipermail/pmwiki-users/2011-May/058905.html|this posting]]%0a%0aQ: Can I remove items from the wikilib.d folder on my site?%0aA: The files named Site.* and SiteAdmin.* contain parts of the interface and the configuration and they should not be removed. The other files named PmWiki* contain the documentation and could be removed.%0a%0aQ: How do I customize my own 404 error page for non-existent pages?%0aA: To change the text of the message, try editing the [[Site.PageNotFound]] page.%0a%0aQ: Is the order of customizations in config.php important? Are there certain things that should come before or after others in that file?%0aA: Yes, see [[LocalCustomizations#configphp-order|Order of the commands in config.php]]. +time=1574411138 blob - /dev/null blob + 5dbcd98ab627e5f099427af0e60c6ef63259edb0 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.MailingLists @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=fix `https +keywords=email lists +name=PmWiki.MailingLists +rev=114 +targets=PmWiki.PmWiki +text=(:Summary:The email discussion lists available and their archives:)(:keywords email lists:)%0aThere are several mailing lists available for [[PmWiki]].%0a %0a:[ [[(http://www.pmichaud.com/mailman/listinfo/)pmwiki-users]] ]: This is a great resource where a very helpful group of people will answer questions and discuss PmWiki development. As of 2016, traffic is around 20-40 messages a month. %0a->''If you ask a question on the list and it doesn't get answered, don't feel let down. Just'' '''''ask it again'''''. It probably slipped by unnoticed.%0a%0a->Archives are available from:%0a-->https://www.pmichaud.com/pipermail/pmwiki-users/ ([[https://www.pmwiki.org/search-ml.php|searchable]])%0a-->https://groups.google.com/group/pmwiki-users (searchable, but disconnected from main list in 2012.04, requires a google account)%0a-->https://www.mail-archive.com/pmwiki-users@pmichaud.com/info.html (searchable)%0a%0a%0a-->(:input form action='https://www.pmwiki.org/search-ml.php' method='get':)(:input text q:) (:input submit value='Search pmwiki-users archives':)(:input end:)%0a%0a:[ [[(https://www.pmichaud.com/mailman/listinfo/)pmwiki-users-de]] ]: A mailing list for german-speaking users of PmWiki. Archived at%0a-->https://www.pmichaud.com/pipermail/pmwiki-users-de%0a%0a:[ [[(https://www.pmichaud.com/mailman/listinfo/)pmwiki-users-es]] ]: Lista de usuarios PmWiki en Español.%0a%0a:[ [[(https://www.pmichaud.com/mailman/listinfo/)pmwiki-users-fr]] ]: A mailing list for french-speaking users of PmWiki.%0a%0a:[ [[(https://www.pmichaud.com/mailman/listinfo/)pmwiki-devel]] ]: This list was created to lower the traffic on pmwiki-users, it focuses on discussions surrounding code development for PmWiki (both core and recipe development).%0a%0a->Archives are available from:%0a-->https://www.pmichaud.com/pipermail/pmwiki-devel/ ([[https://www.pmwiki.org/search-ml.php|searchable]])%0a-->https://groups.google.com/group/pmwiki-devel (searchable)%0a-->https://www.mail-archive.com/pmwiki-devel@pmichaud.com/info.html (searchable)%0a%0a:[ [[(https://www.pmichaud.com/mailman/listinfo/)pmwiki-announce]] ]: Announcements of new version releases and urgent information, about 1-2 messages per month. If you use PmWiki in a production environment, this low-volume list is highly recommended. The archive is at:%0a-->https://www.pmichaud.com/pipermail/pmwiki-announce%0a%0aSuggestions:%0a* If you reply to a digest message, please remove the messages irrelevant to your reply before sending it back to the list. %0a** It's also helpful to change "Re: pmwiki-users Digest, Vol [...]" to "Re: [the original subject]" because some mail programs determine threads based on the subject.%0a* If you address a reply to a single list member, please take the [pmwiki-users] off the subject line, or it's possible for your message to get lost in the mailing list traffic. Many people filter list traffic to a separate mailbox.%0a* If you ask a question, you should disable "digest" mode, this way you'll receive the replies as soon as people post them, and you could follow-up. In digest mode you might receive the replies a week or two later.%0a%0a!! Changing mail list settings%0a%0aHere are some tips regarding changing the mailing list settings:%0a%0a* Logging in...%0a** First go to [[https://www.pmichaud.com/mailman/listinfo/pmwiki-users]]%0a and enter your e-mail address in the field at the bottom of the page,%0a to the left of the button ''Unsubscribe or edit options''.%0a** Next you need to enter your password. As you've probably forgotten this,%0a use the button ''Remind'' at the bottom of the page to get a new password.%0a** Finally enter the password you should get momentarily via e-mail.%0a%0a* You can directly go to the options web page through a URI such as the%0a following:%0a-> [@https://www.pmichaud.com/mailman/options/pmwiki-users/%3cuser>%2540%3cdomain>@]%0a-> where [@%3cuser>@] is everything before the [@@@] in an e-mail address,%0a and [@%3cdomain>@] is everything after (%0a For those who wonder, the [@%2540@] in the URI just stands for '[@@@]'.%0a%0a* You can also obtain various help by sending an email to%0a mailto:pmwiki-users-request@pmichaud.com with the text [@help@] in either%0a the subject or the body.%0a%0a!! Newsgroups (NNTP)%0aYou may be interested, that the lists are also accessible as newsgroups.%0a%0aThe NNTP server is:%0a* news.gmane.org '^[[http://news.gmane.org/search.php?match=pmwiki|#]]^'%0a%0aThe groups are:%0a* gmane.comp.web.wiki.pmwiki.user%0a* gmane.comp.web.wiki.pmwiki.announce%0a* gmane.comp.web.wiki.pmwiki.user.de%0a +time=1567282578 blob - /dev/null blob + 6fde04f3a0698b876cc1f4cb5f93b0812f14b520 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.MarkupExpressions @@ -0,0 +1,10 @@ +version=pmwiki-2.2.111 ordered=1 urlencoded=1 +author=MFWolff +charset=UTF-8 +csum=was ment to be inserted in PmWikiDe +ctime=1176718061 +name=PmWiki.MarkupExpressions +rev=92 +targets=PmWiki.BasicVariables,PmWiki.PageListTemplates,PmWiki.PageLists,PmWiki.WikiStyles,PmWiki.ConditionalMarkup,PmWiki.PageVariables,PmWiki.PageTextVariables,Cookbook.MarkupExpressionSamples,Cookbook.MarkupExprPlus +text=(:Summary:String and formatting operations:)%0a(:Audience: authors (advanced) :)%0a%0aThe [@{(...)}@] "expression markup" allows for a variety of string and formatting operations to be performed from within markup. Operations defined by this recipe include ''[[#substr|substr]]'', ''[[#ftime|ftime]]'', ''[[#strlen|strlen]]'', ''[[#rand|rand]]'', ''[[#mod|mod]]'', ''[[#to|toupper / tolower]]'', ''[[#ucfirst|ucfirst]]'', ''[[#ucwords|ucwords]]'', ''[[#pagename|pagename]]'' and ''[[#asspaced|asspaced]]''.%0aMarkup expressions can be [[#nesting|nested]], using the markup [@{(...(...)...)}@].%0a%0a[[#substr]]%0a!! ''substr''%0a%0aThe "substr" expression extracts portions of a string. The arguments are%0a# the string to be processed. Always quote the string to be processed.%0a# the initial position of the substring. Note that the initial position argument is zero-based (i.e., the first character is referenced via a "0").%0a# the number of characters to extract%0a(:markup class="horiz":)%0a {(substr "PmWiki" 2 3)}%0a {(substr "PmWiki" 2)}%0a {(substr "PmWiki" 0 1)}%0a {(substr "PmWiki" 0 -3)}%0a {(substr "PmWiki" -3)}%0a(:markupend:)%0a%0aTo obtain the last n characters of a string use [@{(substr "string" -n)}@]%0a[[%3c%3c]]%0aTo truncate the last n characters of a string use [@{(substr "string" 0 -n)}@]%0a%0a[[#ftime]]%0a!! ''ftime''%0a%0a"Ftime" expressions are used for date and time formatting. The generic form is%0a%0a->[@{(ftime "fmt" "when")}@]%0a->[@{(ftime fmt="fmt" when="when" tz="tz" locale="locale")}@]%0a%0awhere ''fmt'' is a formatting string and ''when'' is the time to be formatted. The arguments can be in either order and may use the optional "fmt=" and "when=" labels. %0a%0aThe "tz" (time zone) argument allows the setting of a different time zone, only available on installations running PHP 5.1 or newer. See [[http://php.net/timezones|the list of supported time zones]], any value not found there will be silently ignored.%0a%0aThe "locale" (language locale) argument allows the time format to be printed in a different language for names of weekdays and months, as long as that language locale is available on the server. You can set different locales to try, separated with commas or spaces, for example "fr_FR.utf8,fr_FR,fr". If none of the listed locales is available, the argument is silently ignored. %0a%0aWith international locales, if you see weird characters, try adding or removing the ".utf8" or ".UTF-8" part of the locale, e.g. try both "fr_FR.utf8" and "fr_FR" to see which one works for you. Wikis with UTF-8 enabled are more likely to need the ".utf8" part.%0a%0aExamples:%0a(:markup class="horiz":)%0a {(ftime)}%0a {(ftime fmt="%25F %25H:%25M")}%0a {(ftime %25Y)}%0a {(ftime fmt=%25T)}%0a {(ftime when=tomorrow)}%0a {(ftime fmt="%25Y-%25m-%25d" yesterday)}%0a {(ftime "+1 week" %25F)}%0a {(ftime fmt=%25D "+1 month")}%0a {(ftime fmt="%25a%25e %25b" when="next week")}%0a {(ftime fmt="%25A, %25d %25B %25Y, %25Hh%25M" locale=fr_FR.utf8 tz=Europe/Paris)}%0a(:markupend:)%0a%0aThe ''fmt'' parameter is whatever is given by "fmt=", the first parameter containing a '%25', or else the site's default. The formatting codes are described at %25newwin%25 http://php.net/strftime. In addition to those, [='%25F'=] produces ISO-8601 dates, and '%25s' produces Unix timestamps.%0aSome common formatting strings:%0a%0a [= %25F =] # ISO-8601 dates "{(ftime %25F)}"%0a [= %25s =] # Unix timestamp "{(ftime %25s)}"%0a [= %25H:%25M:%25S =] # time as hh:mm:ss "{(ftime %25H:%25M:%25S)}"%0a [= %25m/%25d/%25Y =] # date as mm/dd/yyyy "{(ftime %25m/%25d/%25Y)}"%0a [= "%25A, %25B %25d, %25Y" =] # in words "{(ftime "%25A, %25B %25d, %25Y")}"%0a%0aThe ''when'' parameter understands many different date %25newwin%25[[http://php.net/manual/en/datetime.formats.php|formats]]. The when parameter is whatever is given by "when=", or whatever parameter remains after determining the format parameter. Some examples:%0a%0a 2007-04-11 # ISO-8601 dates%0a 20070411 # dates without hyphens, slashes, or dots%0a 2007-03 # months%0a @1176304315 # Unix timestamps (seconds since 1-Jan-1970 00:00 UTC)%0a now # the current time%0a today # today @ 00:00:00%0a yesterday # yesterday @ 00:00:00%0a "next Monday" # relative dates%0a "last Thursday" # relative dates%0a "-3 days" # three days ago%0a "+2 weeks" # two weeks from now%0a%0a'''Note:''' If you want to convert a Unix timestamp you '''must''' prefix with the @. Thus, [@"{(ftime "%25A, %25B %25d, %25Y" @1231116927)}"@].%0a%0aThe ''when'' parameter uses PHP's %25newwin%25[[(http://www.php.net/)strtotime]] function to convert date strings according to the GNU [[http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html|date input formats]]; as of this writing it only understands English phrases in date specifications.%0a%0aThe variable $FTimeFmt can be used to override the default date format used by the "ftime" function. The default $FTimeFmt is $TimeFmt.%0a%0a[[#strlen]]%0a!! ''strlen''%0a%0aThe "strlen" expression returns the length of a string. The first argument is the string to be measured.%0a%0a(:markup class="horiz":)%0a {(strlen "{$:Summary}")}%0a(:markupend:)%0a%0a[[#rand]]%0a!! ''rand''%0a%0aThe "rand" expression returns a random integer. The first argument is the minimum number to be returned and the second argument is the maximum number to be returned. If called without the optional min, max arguments rand() returns a pseudo-random integer between 0 and RAND_MAX. If you want a random number between 5 and 15 (inclusive), for example, use (rand 5 15).%0a%0a(:markup class="horiz":)%0a {(rand)}%0a {(rand 1 99)}%0a(:markupend:)%0a%0a[[#mod]]%0a!! ''mod''%0a%0aThe advanced "mod" expression returns the modulo (remainder) of the division of two numbers. It may be used in advanced [[PageList templates]] together with [@{$$PageCount}@] to insert markup every (modulo) entries, for example to create alternate styled "zebra" table rows, or to insert a line/row break. (See also [[PageLists]], [[WikiStyles]] and [[ConditionalMarkup]].)%0a%0a(:markup class="horiz":)[@%0a>>comment%3c%3c%0a%25define=bg1 item bgcolor=#f88%25%0a%25define=bg2 item bgcolor=#ff8%25%0a%25define=bg0 item bgcolor=#8f8%25[=%0a[[#altrows]]%0a* %25bg{(mod {$$PageCount} 3)}%25 {=$Name} ({$$PageCount})%0a[[#altrowsend]]=]%0a>>%3c%3c%0a(:pagelist fmt=#altrows group=PmWiki count=10:)%0a@]%0a%0a[[#to]]%0a!! ''toupper'' / ''tolower''%0a%0aThe "toupper" and "tolower" expressions convert a string into uppercase or lowercase. The first argument is the string to be processed.%0a%0a(:markup class="horiz":)%0a {(toupper "{$:Summary}")}%0a {(tolower "{$:Summary}")}%0a(:markupend:)%0a%0a[[#ucfirst]][[#ucwords]]%0a!!''ucfirst'' / ''ucwords''%0a%0aThe "ucfirst" expression converts to uppercase the first character of the string, and "ucwords", the first character of each word. The first argument is the string to be processed.%0a%0a(:markup class="horiz":)%0a {(ucfirst "{$:Summary}")}%0a {(ucwords "{$:Summary}")}%0a(:markupend:)%0a%0a%0a[[#pagename]]%0a!! ''pagename''%0a%0aThe "pagename" expression builds a pagename from a string. The first argument is the string to be processed.%0a%0a(:markup class="horiz":)%0a {(pagename "{$:Summary}")}%0a(:markupend:)%0a%0a[[#asspaced]]%0a!! ''asspaced''%0a%0aThe "asspaced" expression formats wikiwords. The first argument is the string to be processed.%0a%0a(:markup class="horiz":)%0a {(asspaced "{$FullName}")}%0a(:markupend:)%0a%0a[[#nesting]]%0a!! Nesting expressions%0a%0aMarkup expressions can be nested. Omit the curly braces for the inner expressions:%0a%0a(:markup class="horiz":)%0a {(tolower (substr "Hello World" 2))}%0a(:markupend:)%0a%0a[[#notes]] %0a!! Notes%0a%0a* For PmWikis version 2.2.33 or older, the string-processing expressions may not work properly on multibyte UTF-8 characters. Newer versions should work fine.%0a%0a!! See also%0a* [[Page variables]], [[Page text variables]]%0a* [[Conditional markup]]%0a* Cookbook:MarkupExpressionSamples — '-custom markup expression samples-'%0a* Cookbook:MarkupExprPlus +time=1544859882 blob - /dev/null blob + f82f13ea995b9c307c191225ca776ef9d0129bc0 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.MarkupMasterIndex @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=[=link address (+109) +name=PmWiki.MarkupMasterIndex +rev=278 +targets=PmWiki.WikiStyles,PmWiki.ListStyles,PmWiki.Links,PmWiki.WikiWord,PmWiki.Categories,PmWiki.InterMap,PmWiki.Uploads,PmWiki.LinkSchemes,PmWiki.Images,PmWiki.TextFormattingRules,Cookbook.OutlineLists,PmWiki.BlockMarkup,PmWiki.PageDirectives,PmWiki.Tables,PmWiki.TableDirectives,PmWiki.GroupHeaders,PmWiki.CommentMarkup,PmWiki.PageVariables,PmWiki.IncludeOtherPages,PmWiki.PageTextVariables,PmWiki.ConditionalMarkup,PmWiki.PageLists,PmWiki.TableOfContents,PmWiki.Forms,PmWiki.WikiTrails,PmWiki.PageListTemplates,PmWiki.MarkupExpressions +text=(:title Markup Master Index:)%0a(:Summary:Tabulation of all PmWiki markup:)%0aThis page contains the most frequently used wiki markup, briefly. Follow the links in each section to learn more.%0a%0a!! Markup concepts introduction%0aPmWiki markup can be applied to 'blocks' of text, and to text 'lines'.%0aPmWiki markup is also used to read and save page, group, and wiki metadata through the use of variables. %0aPmWiki markup can be used to process metadata variables though expressions and [[#PageLists|pagelists]].%0aPmWiki provides a [[WikiStyles|wiki style]] markup that can be applied to text, [[ListStyles|lists]], paragraphs, and blocks.%0a%0aText markup, also known as wikitext is variable, see below, and in general broadly follows wiki conventions. %0aText markup only applies to single lines of text, delimited by a [[Wikipedia:Newline|newline]].%0a%0aBlock markup is applied to multiple lines of text as [[#BlockMarkups|paragraph blocks]] and [[#DivisionBlocks|division blocks]].%0a%0aIn PmWiki the most important markup is the [[#Directives|directive]]. %0aThe directive is signified by parenthesis and a colon, viz: [@(:...:)@].%0aThe directive provides most of PmWiki's functionality. %0a%0a[[#Expressions|Markup expressions]] [@{(...)}@], [[#PageVariables|variable markup]] [@{$...}@], and [[wiki styles]] [@%25...%25@] also provide PmWiki functionality.%0a%0a!! [[#LinkMarkups]] Links%0a%0aSee [[Links]]%0a!!![[#ExternalLinks]]External links%0a-%3c [@ http://example.com@]%0a-%3c [@ [[http://example.com]] @]%0a-%3c [@ [[http://example.com"tool tip"]] @]%0a-%3c [@ [[http://example.com | link text]] @]%0a-%3c [@ [[link text -> http://example.com]] @]%0aUse [@[=link address=]@] to escape any special characters, including quotes, spaces, parentheses and pipes. %0a%0a[[#InternalLinks]]%0a!!! Page links%0a-%3c [@ [[PageName]] @]%0a-%3c [@ [[page name]] @]%0a-%3c [@ [[page (name)]] @]%0a-%3c [@ [[PageName | link text]] @]%0a-%3c [@ [[PageName | + ]] @] ''(titled link)''%0a-%3c [@ [[PageName | # ]] @] ''(anonymous numerical reference link)''%0a-%3c [@ [[PageName"tool tip"]] @]%0a-%3c [@ [[link text -> PageName]] @]%0a-%3c [@ [[#anchor]] @] ''(to create an anchor)''%0a-%3c [@ [[#anchor | link text]] @] ''(to refer to an anchor)''%0a-%3c [@ [[anchor | # ]] @] ''(anonymous numerical reference link)''%0a-%3c [@ [[PageName#anchor | link text]] @] ''(to refer to an anchor in another page)''%0a%0a%0aSee also [[WikiWord]] on how to enable [@WikiWord@] links.%0a%0a[[#WikiGroupLinks]]%0a!!! WikiGroup links%0aSee [[Links]] and [[Categories]] %0a-%3c [@ [[GroupName/]] or [[Group name/]] @]%0a-%3c [@ [[GroupName"tool tip"]] @]%0a-%3c [@ [[GroupName.]] @]%0a-%3c [@ [[GroupName/PageName]] or [[GroupName/page name]] @]%0a-%3c [@ [[(GroupName.)page name]] @]%0a%0a-%3c [@ [[~Author Name]] @]%0a-%3c [@ [[~Author Name | +]] @]%0a-%3c [@ [[~Author Name | #]] @]%0a-%3c [@ [[~Author Name | link text]] @]%0a-%3c [@ [[~Author Name"tool tip"]] @]%0a-%3c [@ [[!Category Name]] @]%0a%0a[[#IntermapLinks]]%0a!!! InterMap links%0aSee [[InterMap]]%0a-%3c [@ [[Path:/path/local_document.html]] @]%0a-%3c [@ [[Wikipedia:WikiWikiWeb]] @]%0a%0a[[#EmailLinks]]%0a!!! Email links%0a-%3c [@ mailto:someone@example.com @]%0a-%3c [@ [[(mailto:)someone@example.com]] @]%0a-%3c [@ [[mailto:someone@example.com | display text]] @]%0a-%3c [@ [[display text -> mailto:someone@example.com]] @]%0a%0a[[#UploadLinks]]%0a!!! Upload links%0aSee [[Uploads]] and [[#Images|Images]]%0a-%3c [@ Attach:file.odt @]%0a-%3c [@ [[(Attach:)file.odt]] @]%0a-%3c [@ [[Attach:file.odt | alternative text ]] @]%0a-%3c [@ [[Attach:file with spaces.pdf]] @]%0a-%3c [@ [[Attach:Groupname./file with spaces.pdf]] @]%0a%0a[[#linkschemes]]%0a!!! [[Link Schemes]]%0aIn addition to @@http:@@, @@https:@@, @@mailto:@@ PmWiki also supports:%0a-%3c @@ftp:@@%0a-%3c @@news:@@%0a-%3c @@gopher:@@%0a-%3c @@nap:@@%0a-%3c @@file:@@%0a-%3c @@tel:@@%0a-%3c @@geo:@@%0a%0a!! [[#Images]] Images%0a%0aSee [[Images]] and [[Uploads]]%0a!!! [[#ImagesAsImages]] Images as Images%0a-%3c [@http://example.com/image.gif@]%0a-%3c [@http://example.com/image.gif"alt text"@]%0a-%3c [@Attach:image.gif"My image"@]%0a-%3c [@Attach:Groupname./image.gif"image in another group"@]%0a-%3c [@Attach:Groupname.Pagename/image.gif"image on another page"@]%0a-%3c [@%25lfloat%25 Attach:image.gif | Caption %25%25@] ''(could be [=%25rfloat%25, %25center%25, %25rframe%25, %25lframe%25, %25frame%25 =])''%0a-%3c [@%25width=200px%25 Attach:image.gif %25%25@]%0a-%3c [@%25thumb%25 Attach:image.gif %25%25@]%0a%0a%0a!!! [[#ImagesAsLinks]] Images as links%0a%0a-%3c [@ [[Attach:image.gif]] @]%0a-%3c [@ [[(Attach:)image.gif]] @]%0a-%3c [@ [[PageName | Attach:image.gif"alt text"]] @]%0a-%3c [@ [[http://example.com/ | Attach:image.gif"alt text"]] @]%0a-%3c [@ [[http://example.com/ | http://example.com/image.png"alt text"]] | Caption @]%0a-%3c [@%25rframe thumb%25 [[Attach:image.gif | Attach:image.gif"alt text"]] | Caption @]%0a%0a%0a!! [[#StartOfLine]] Start-of-line markup%0a%0aSee [[Text formatting rules]]%0a%0a!!! [[#Lists]] [[PmWiki/TextFormattingRules#BulletedLists| Lists]]%0a%0aSee [[(PmWiki:)List styles]], [[Wiki styles]] and [[Cookbook:Outline lists]]%0a-%3c [@* unordered list@]%0a-%3c [@** deeper list@]%0a-%3c [@# ordered list@]%0a-%3c [@# %25item value=#%25@] arbitrary start number%0a-%3c [@# %25decimal%25, %25roman%25, %25ROMAN%25, %25alpha%25, %25ALPHA%25 @]%0a-%3c [@%25comment%25 @]%0a-%3c [@:term:definition@]%0aAlso%0a-%3c [@Q:@] start a question paragraph%0a-%3c [@A:@] start an answer paragraph%0a%0a%0a!!! [[#Headings]] Headings%0a%0a-%3c [@!! Heading@]%0a-%3c [@!!! Deeper heading@]%0a%0a%0a!!! [[#BlockMarkups]] Paragraph blocks%0a%0a-%3c [@-> indented text@]%0a-%3c [@-%3c hanging indent@]%0a-%3c [@%3cspace> preformatted text@]%0a-%3c @@[=[@...@]=]@@ preformatted block%0a-%3c [@----@] (horizontal rule)%0a-%3c [@blank line@] is vertical space%0a-%3c [@\@] at end of line joins next line%0a-%3c [@\\@] at end of line produces a line break%0a-%3c [@\\\@] at the end of a line produces a blank line, even within a list item, n backslashes will produce n-1 blank lines%0a-%3c [@ [[%3c%3c]] @] produces a line break that clears floating content%0a%0a%0a!!! [[#DivisionBlocks]] Division blocks%0a%0aSee [[Block markup]], [[Wiki styles]] and [[Page directives]]%0a-%3c [@>>wikistyle%3c%3c@]%0a-%3c [@>>%3c%3c@]%0a-%3c [@ (:div class="" style="":) @]%0a-%3c [@ (:divend:) @]%0a-%3c [@>>comment%3c%3c@] %0a%0a%0a!! [[#Text]] Text markup%0a%0aSee [[Text formatting rules]]%0a!!! [[#InlineMarkups]] Character format%0a%0a-%3c [@''emphasized''@] %0a-%3c [@'''strong'''@]%0a-%3c [@'''''strong emphasis'''''@]%0a-%3c [@@@monospaced@@@]%0a-%3c [@[-small-], [--smaller--]@]%0a-%3c [@[+big+], [++bigger++]@]%0a-%3c [@'-small-', '+big+'@]%0a-%3c [@'^superscript^', '_subscript_'@]%0a-%3c [@{+inserted+} (underscore)@]%0a-%3c [@{-deleted-} (strikethrough)@]%0a-%3c @@[=[@escaped code@]=]@@%0a-%3c [@[=escaped text=]@]%0a%0a%0a!!! [[#PostingMarkups]] Posting markup%0a%0a-%3c @@~~@@@@~@@ (author's signature)%0a-%3c @@~~@@@@~~@@ (author's signature and date)%0a-%3c @@[=(:encrypt=] ''phrase''[=:)=]@@ -- replaced with encrypted form of ''phrase''%0a%0a%0a!! [[#Tables]] Tables%0a%0a!!! [[#PlainTables]] Plain rows and columns of text%0a%0aSee [[Tables]]%0a-%3c [@||table attributes@]%0a-%3c [@||!table caption!||@]%0a-%3c [@||left aligned || centered || right aligned||@]%0a-%3c [@||!column heading||@]%0a-%3c [@||spanned columns ||||||@]%0a%0a!!! [[#TablesAndDivs]] Structured tables%0a%0aSee [[Table directives ]]%0a-%3c [@ (:table attr:) @]%0a-%3c [@ (:cellnr attr:) @]%0a-%3c [@ (:cell attr:) @]%0a-%3c [@ (:tableend:) @]%0a%0a!! [[#Directives]] Directives%0a%0a!!! [[#PageDirectives]] Page directives%0a%0aSee [[Page directives]]%0a-%3c [@ (:redirect PageName:) @]%0a%0a-%3c [@ (:(no)spacewikiwords:) @]%0a-%3c [@ (:(no)linkwikiwords:) @]%0a-%3c [@ (:(no)linebreaks:) @]%0a%0a!!! [[#Display]] Display%0a%0aSee [[Page directives]] [[Group headers]]%0a-%3c [@ (:noheader:), (:nofooter:) @]%0a-%3c [@ (:notitle:) @]%0a-%3c [@ (:noleft:), (:noright:) @]%0a-%3c [@ (:nogroupheader:), (:nogroupfooter:) @]%0a-%3c [@ (:noaction:) @]%0a%0a%0a!!! [[#Metadata]] Metadata%0a%0aSee [[Page directives]], [[(PmWiki:)Comment markup]], [[Page variables]]%0a-%3c [@ (:title text:) @]%0a-%3c [@ (:keywords word, ...:) @]%0a-%3c [@ (:description text:) @]%0a-%3c [@ (:comment text:) @]%0a-%3c [@{Group/PageName$:variable}@] [-includes from [@ (:variable:text:) @]-]%0a%0a%0a!!! [[#IncludeOtherPages]] Include%0a%0aSee [[Include other pages]], [[Page text variables]]%0a-%3c [@ (:include PageName:) @]%0a-%3c [@ (:include PageName#start#end lines=n paras=n:) @]%0a-%3c [@ (:include Page1 Page2 Page3:) @]%0a-%3c [@{Group/PageName$:Var}@] [-includes from [@ (:name:text:) @]-]%0a-%3c [@ (:nl:) @] [-separate included text by conditional line break-]%0a%0a!!! [[#ConditionalMarkup]] Conditional markup%0a%0aSee [[Conditional markup]]%0a-%3c [@ (:if (!)@] ''cond param''[@:)...(:ifend:)@]%0a-%3c [@ (:if (!)@] ''cond param''[@:)...(:else:)...(:ifend:)@]%0a-%3c [@ (:if (!)@] ''cond param''[@:)...(:elseif (!)@] ''cond param''[@:)...(:ifend:) @]%0a%0a%0a!!! [[#PageLists]] Pagelists%0a%0aSee [[Page lists]]%0a-%3c [@ (:searchbox label=label order=-time:) @]%0a-%3c [@ (:searchresults incl -excl group=abc fmt=def:) @]%0a-%3c [@ (:pagelist incl -excl group=abc fmt=def:) @]%0a%0a%0a!!! [[#OtherDirectives]] Other directives%0a%0aSee [[Page directives]]%0a-%3c [@ (:@][[TableOfContents|toc]][@:) @]%0a-%3c [@ (:@][[PageDirectives#attachlist|attachlist]][@:) @]%0a-%3c [@ (:@][[PageDirectives#markup]][@:) @] [@ [=...=] @]%0a-%3c [@ (:markup:)...(:markupend:) @]%0a-%3c [@ (:markup class=horiz:)...(:markupend:) @]%0a-%3c [@ (:markup caption='...':)...(:markupend:) @]%0a-%3c [@ (:messages:) @]%0a%0a%0a!! [[#Forms]] Forms%0a%0aSee [[PmWiki/Forms]]%0a-%3c [@ (:input form method=get action=url enctype=multipart/form-data:) @]%0a--%3c [@ (:input default name=xyz value="abc":) @]%0a--%3c [@ (:input text name=first value="Bob" size=20:) @]%0a--%3c [@ (:input textarea name=xyz [=value=] rows=2 cols=80:) @]%0a--%3c [@ (:input submit name=post value="Go" accesskey=g:) @]%0a--%3c [@ (:input reset:) @]%0a--%3c [@ (:input hidden name=action value=edit:) @]%0a--%3c [@ (:input radio name=xyz value="abc" checked=1:) @]%0a--%3c [@ (:input checkbox name=xyz value="abc" checked=1:) @]%0a--%3c [@ (:input password name=authpw:) @]%0a--%3c [@ (:input file name=upload:) @]%0a--%3c [@ (:input image name=xyz src="http:..." alt="Alt Text":) @]%0a--%3c [@ (:input select name=xyz value="val1" label="Value 1":) @]%0a--%3c [@ (:input select name=xyz value="val2" label="Value 2":) @]%0a-%3c [@ (:input end:) @]%0a%0aSee also [[PmWiki/Forms#pageeditcontrols|PmWiki Edit forms]].%0a%0a!! [[#WikiTrails]] Wiki trails%0a%0aSee [[Wiki trails]]%0a-%3c [@%3c%3c|[[TrailPage]]|>>@]%0a-%3c [@%3c|[[TrailPage]]|>@]%0a-%3c [@^|[[TrailPage]]|^@]%0a%0a%0a!! [[#PageVariables]] Page variables%0a%0aSee [[Page variables]], [[Page text variables]], [[PmWiki/PageLists#pagetextvariables|Page lists]]%0a-%3c [@ {@]''[@$variable@]''[@}@], [@ {@]''[@pagename$variable@]''[@}@], [@ {@]''[@groupname.pagename$variable@]''[@} @]%0a-%3c [@ {@]''[@$:variable@]''[@}@], [@ {@]''[@pagename$:variable@]''[@}@], [@ {@]''[@groupname.pagename$:variable@]''[@} @]%0aSet a [[page text variable(s)]]%0a-%3c [@ (:name:description:) @] %0a-%3c [@ :name:description @] %0a-%3c [@ name:description @] %0aSee [[http://www.pmwiki.org/wiki/PmWiki/PageVariables#specialreferences | special references]]%0a-%3c [@ {@]''[@*$variable@]''[@} @]%0a-%3c [@ {@]''[@*$:variable@]''[@} @]%0a[[Page list templates]] [[http://www.pmwiki.org/wiki/PmWiki/PageListTemplates#specialreferences | special variables]]%0a-%3c [@ {@]''[@=$variable@]''[@}@], [@ {@]''[@%3c$variable@]''[@}@], [@ {@]''[@>$variable@]''[@}@],%0a-%3c [@ {@]''[@=$:variable@]''[@}@], [@ {@]''[@%3c$:variable@]''[@}@], [@ {@]''[@>$:variable@]''[@}@],%0a%0a%0a!! [[#Expressions]] Expressions%0a%0aSee [[Markup expressions]]%0a-%3c [@ {(@]''[@function args@]''[@)} @] +time=1590308050 +title=Markup Master Index blob - /dev/null blob + f2f101897e31356bccdeaa0cfc55ea71e2d199a5 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Notify @@ -0,0 +1,10 @@ +version=pmwiki-2.2.106 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=+$MailFunction +ctime=1149115706 +name=PmWiki.Notify +rev=74 +targets=PmWiki.LocalCustomizations,PmWiki.Notify,SiteAdmin.NotifyList,PmWiki.PageLists,PmWiki.WikiTrails,PmWiki.PageTextVariables,PmWiki.BasicVariables,PmWiki.UTF-8,PITS.01159 +text=(:Summary:How to receive email messages whenever pages are changed on the whole wiki site, individual groups or selected watchlists of pages:)%0a(:Audience: administrators (basic) :)%0aThe ''notify.php'' script allows a site administrator to configure PmWiki to send email messages whenever pages are changed on the wiki site. Notifications can be configured so that multiple page changes over a short period of time are combined into a single email message (to avoid flooding mailboxes).%0a%0aThis feature is useful for sites and pages that have infrequent updates, as it eliminates the need to frequently check `RecentChanges pages just to see if anything has changed.%0a%0aIn order for notifications to work, the notify.php script must be enabled in the site's [[local customization(s)]]. Usually this is as simple as placing the following in ''local/config.php'':%0a%0a->$EnableNotify = 1;%0a%0a!! Notification configuration%0aOnce enabled, the notification system gets its configuration from the [[SiteAdmin.NotifyList]] wiki page. The SiteAdmin.NotifyList page contains entries of the form:%0a%0a->notify=alice@example.com%0a%0aThis says that information about page changes should be periodically emailed to ''alice@example.com''. The SiteAdmin.NotifyList page can contain multiple "notify=" lines to cause notifications to be sent to multiple addresses; the "notify=" lines can be concealed by placing them inside of an [@(:if false:)@] conditional section on the page.%0a%0aNOTE: Do not put any spaces around the equal sign! Notifications will fail silently if you have... This is a really easy mistake to make because all of the other assignments have spaces around the equal sign.%0a %0a->%25green%25notify=fred@example.com%25%25 rather than %25red%25notify = fred@example.com%25%25%0a%0a!! Notification options%0aThe basic syntax is %0a->@@notify=''email@address'' \%0a [[#notifyname|name]]=''abc'' \%0a [[#notifygroup|group]]=''def'' \%0a [[#notifytrail|trail]]=''ghi'' \%0a [[#notifysquelch|squelch]]=''123'' \%0a [[#notifydelay|delay]]=''123'' \%0a @@%0a%0aA number of options exist for limiting the pages that result in a notification. The [@group=@] and [@name=@] parameters can be used to restrict notifications to specific pages or groups:%0a%0a[[#notifygroup]]%0a-># send notifications about the Main group to alice@example.com%0a->notify=alice@example.com '''group'''=Main%0a%0a[[#notifyname]]%0a-># notify bob@example.com of any changes to the home page%0a->notify=bob@example.com '''name'''=Main.HomePage%0a%0a-># notify charles@example.com of changes to pages except in Main%0a->notify=charles@example.com '''group'''=-Main%0a%0a(Note: The options are similar to [[PmWiki/PageLists | the PageList syntax]].)%0a%0a[[#notifytrail]]%0aFor maintaining arbitrary lists of pages, i.e., "watchlists", it's generally easier to build a [[trail -> WikiTrails]] of pages to be watched. The following entry in SiteAdmin.NotifyList will send alice@example.com an email containing changes to any of the pages listed in the Profiles.Alice trail:%0a%0a-># notify Alice of changes to pages listed in Profiles.Alice%0a->notify=alice@example.com '''trail'''=Profiles.Alice%0a%0aNote that once this entry has been added to SiteAdmin.NotifyList, Alice can easily change her watchlist by editing the Profiles.Alice page, and doesn't need to edit the SiteAdmin.NotifyList page. In particular, this means that an administrator can restrict editing of SiteAdmin.NotifyList, yet allow individuals to maintain custom watchlists in other pages. %0a%0aLimitations of this feature:%0a* only manually-added links on a trail will be acknowledged by the Notify List (no "group=" or other pagelist syntax, nor any "Group.RecentChanges" links, will generate notifications)%0a* using an [@(:include:)@] directive on the page SiteAdmin.NotifyList is not an operational work-around.%0a* [[PageTextVariables]] are not resolved - you can't get the notification mail address from the profile page.%0a%0aThis is probably a good place to point out that edit access to SiteAdmin.NotifyList should be controlled, otherwise malicious persons can use the notification capability to flood others' electronic mailboxes. By default, SiteAdmin.NotifyList is blocked against reading or edits except by the admin (as is the case for most pages in the SiteAdmin group).%0a%0a!! Adding notification entries via local customizations%0a%0aNotification entries can also be added via the $NotifyList array in ''local/config.php''. Simply add a line like the following:%0a->$EnableNotify = 1;%0a->$NotifyList[] = 'notify=alice@example.com group=Main';%0a->$NotifyList[] = 'notify=bob@example.com name=Main.HomePage';%0a%0a[[#controlling_notification_frequency]]%0a[[#notifysquelch]]%0a!! Controlling notification frequency%0a%0aTo prevent flooding of recipients' mailboxes, the notify script uses a "'''squelch'''" value as the minimum amount of time that must elapse between messages sent to any given email address. The ''default squelch setting is 10800 seconds (three hours)'', which means that once a recipient address is sent a notification message, it will not receive another for at least three hours. Any edits that occur during the squelch interval are queued for the next notification message.%0a%0aThe site administrator can change the default squelch interval via the $NotifySquelch parameter %0a%0a-># enable notifications%0a->$EnableNotify = 1;%0a->$NotifySquelch = 86400; # wait at least one day (in seconds) between notifications%0a%0aIn addition, individual addresses can specify a custom squelch parameter in the SiteAdmin.NotifyList page:%0a%0a-># Alice receives at most one email per day%0a->notify=alice@example.com '''squelch'''=86400%0a%0a-># Bob can get notifications hourly%0a->notify=bob@example.com trail=Profiles.Bob '''squelch'''=3600%0a%0a-># Charles uses the site default squelch%0a->notify=charles@example.com %0a%0a[[#notifydelay]]%0a!! Controlling notification delay%0aBecause a page will often receive several edits in rapid succession (e.g., a long post followed by several minor edits), a site administrator can also set a $NotifyDelay value that specifies how long to wait after an initial post before sending notifications:%0a%0a-># enable notifications%0a->$EnableNotify = 1;%0a->$NotifySquelch = 86400; # wait at least one day between notifications%0a->$NotifyDelay = 300; # wait five minutes after initial post%0a%0aNote that the squelch and delay values are minimums; notifications are sent on the first execution of PmWiki after the delay period has expired. For inactive sites, this could be much longer than the specified delay periods. This isn't really considered an issue since timely notifications are less important on relatively inactive sites. However, changes within the squelch time after the last notification will remain unnoticed if the wiki is not even visited for a long period after. If this matters it might be necessary to make the server call pmwiki.php regularly (e.g. [[Wikipedia:Cron | cron job]]).%0a%0aCustom delay parameters cannot be specified for individual addresses in the [[SiteAdmin.NotifyList]] page:%0a%0a-># the @@delay=@@ parameter will be ignored%0a->notify=edgar@example.com trail=Profiles.Edgar '''delay'''=600%0a%0a!! Note for Windows installations%0a%0aSites running PHP under Windows may not have PHP's [[http://php.net/mail | mail]] function configured correctly. Such sites may need to add a line like%0a%0a->ini_set('SMTP','smtp.server.com');%0a%0ato ''config.php'', where ''smtp.server.com'' is the name of your host's preferred outgoing mail server. You may also need to set the sendmail_from value if that is not configured:%0a%0a->ini_set('sendmail_from','noreply@foo.com');%0a%0a%0a!![[#variables]] Notify Variables%0a%0a:$EnableNotify:Tells ''stdconfig.php'' to enable the notify script.%0a: :$EnableNotify = 1; # enable notify%0a: :$EnableNotify = 0; # disable notify%0a%0a:$MailFunction: The function to call when sending a message, default the built-in PHP function [[http://php.net/mail|mail]]. If you have some custom e-mailing solution or library, place here the function to be called with the same arguments as mail($to, $subject, $message, $additional_headers).%0a%0a:$NotifyFrom:Return email address to be used in the sent email.%0a: :$NotifyFrom = 'wiki@example.com';%0a: :$NotifyFrom = 'Wiki server %3cwiki@example.com>';%0a%0a:$NotifyDelay:The length of time (seconds) to wait before sending mail after the first post. Defaults to zero - posts are sent as soon as any squelch period has expired.%0a: :$NotifyDelay = 300; # send mail 5+ min after first post%0a%0a:$NotifySquelch:The default minimum time (seconds) that must elapse between sending mail messages. Useful when $NotifyDelay is set to a small value to keep the number of mail notification messages down. Defaults to 10800 (three hours). Individual recipients can override this value in the SiteAdmin.NotifyList page.%0a: :$NotifySquelch = 43200; # wait 12+ hours between mailings%0a%0a:$NotifyItemFmt:The text to be sent for each changed item in the post. The string "$PostTime" is substituted with the time of the post (controlled by $NotifyTimeFmt below).%0a: :# default%0a: :$NotifyItemFmt = ' * $FullName . . . $PostTime by $Author';%0a%0a: :# include the page's URL in the message%0a: :$NotifyItemFmt =%0a: :" * \$FullName . . . \$PostTime by \$Author\n \$PageUrl";%0a%0a: :# include the change summary and link to the page's history in the message%0a: :$NotifyItemFmt = %0a: :" * {\$FullName} . . . \$PostTime by {\$Author}%0a: :\n Summary: {\$LastModifiedSummary}\n {\$PageUrl}?action=diff";%0a%0a%0a:$NotifyTimeFmt:The format for dates/times in $PostTime above. Defaults to the value of $TimeFmt.%0a: :$NotifyTimeFmt = [='%25Y-%25m-%25d %25H:%25M'=]; # 2004-03-20 17:44%0a%0a:$NotifyBodyFmt:The body of the message to be sent. The string "$NotifyItems" is replaced with the list of posts (as formatted by $NotifyItemFmt above). Use single quotation marks ' to prevent substring "$NotifyItems" from being untimely evaluated as variable in config.php. %0a: :$NotifyBodyFmt = "Changed items:\n\n" . '$NotifyItems' . "\n\n Best regards...";%0a%0a:$NotifySubjectFmt:The subject line of the mail to be sent.%0a%0a:$NotifyHeaders:String of extra mail headers to be passed to the mail() function.%0a%0a:$NotifyParameters:String of additional parameters to be passed to PHP's mail() function [[http://www.php.net/mail|#]].%0a%0a:$NotifyFile:The scratch file where Notify keeps track of recent posting information. Defaults to @@[="$WorkDir/.notifylist"=]@@. Note that this file must generally be writable by the webserver process.%0a%0a:$NotifyListPageFmt:The name of the page containing [@notify=@] lines for use by ''notify.php''. Defaults to [@$SiteAdminGroup.NotifyList@].%0a%0a:$NotifyList:An array of [@notify=@] specifications that can be specified from a local customization file (used in addition to entries in SiteAdmin.NotifyList).%0a: :# send notifications to alice@example.com%0a: :$NotifyList[] = 'notify=alice@example.com';%0a%0a:$EnableNotifySubjectEncode:Apply a standard (base64) encoding for the e-mail subject. Notify e-mails from international wikis may otherwise have unreadable subjects (added for version 2.2.2).%0a: :$EnableNotifySubjectEncode = 1; # encode subject%0a: :$EnableNotifySubjectEncode = 0; # use subject as is (default)%0a: : To fix encodings with the message body, add to config.php the following line (after XLPage and/or [[UTF-8]]):\\%0a @@$NotifyHeaders = "Content-type: text/plain; charset=$Charset";@@%0a%0a!! Notification only for major edits%0a%0aIt is possible to send notifications only in case of major edits. In your config.php, replace "$EnableNotify=1;" with the following: %0a%0aif ( @$_POST['diffclass'] != 'minor' ) $EnableNotify=1;%0a%0aThis way, only 'major' edits send notify messages (when the author doesn't select the checkbox for minor edit). If you want minor edits and not major edits to send the message then you would use:%0a%0aif ( @$_POST['diffclass'] == 'minor' ) $EnableNotify=1;%0a%0ainstead.%0a%0a!! Disabling notifications for downloads%0a%0aIf you use "$EnableDirectDownloads=0;" (eg. for privacy on a password-protected wiki) then attached images may generate duplicate notification messages. To prevent that disable notifications for downloads via%0a%0aif ( $action != 'download' ) $EnableNotify=1;%0a%0aThat way, only page views (and not images within the page) will generate notifications. See PITS:01159 for more information.%0a +time=1515584747 blob - /dev/null blob + 795334c85199433026052fa9fab15e20bb463cfd (mode 644) --- /dev/null +++ wikilib.d/PmWiki.OtherVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.125 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$PageCacheDir - a hidden subdirectory works faster and doesn't mess with the actual pages (+20) +name=PmWiki.OtherVariables +rev=89 +targets=PmWiki.OtherVariables,PmWiki.FmtPageName,PmWiki.SecurityVariables,PmWiki.PageVariables,Cookbook.HttpVariables,Cookbook.MoreCustomPageVariables,PmWiki.PageTextVariables,PmWiki.PagelistVariables,PmWiki.Forms +text=(:Summary:Variables not yet classified:)%0a:$FmtV: %0a: :This variable is an array that is used for string substitutions at the end of a call to @@[[FmtPageName]]()@@. For each element in the array, the "key" (interpreted as a string) will be replaced by the corresponding "value". The variable is intended to be a place to store substitution variables that have frequently changing values (thus avoiding a rebuild of the variable cache making @@[[FmtPageName]]()@@ faster). Also see $FmtP. %25green%25''Values of $FmtV are set by the internal functions FormatTableRow, LinkIMap, HandleBrowse, PreviewPage, HandleEdit, PmWikiAuth, and PasswdVar, apparently to set values for system generated string substitutions like PageText.''%25%25%0a%0a:$FmtP:%0a: :This variable is an array that is used for pattern substitutions near the beginning of a call to [@FmtPageName@]. For each element in the array, the "key" (interpreted as a pattern) will be replaced by the corresponding value evaluated for the name of the current page. This is for instance used to handle $-substitutions that depend on the pagename passed to [@FmtPageName()@]. Also see $FmtV. %25green%25From robots.php: ''If $EnableRobotCloakActions is set, then a pattern is added to $FmtP to hide any "?action=" url parameters in page urls generated by PmWiki for actions that robots aren't allowed to access. This can greatly reduce the load on the server by not providing the robot with links to pages that it will be forbidden to index anyway.''%0a%0a%0a:$FmtPV:%0a: :This variable is an array that is used for defining [[Page Variables]]. New variables can be defined with [@$FmtPV['$VarName'] = 'variable definition';@] which can be used in markup with [@{$VarName}@]. Please note that the contents of [@$FmtPV['$VarName']@] are [@eval()@]ed to produce the final text for [@$VarName@], so the contents must be a PHP expression which is valid at the time of substitution. In particular, %25red%25this does not work:%25%25%0a%0a:: :%25red%25[@#This doesn't work@]%25%25%0a:: :[@$FmtPV['$MyText'] = "This is my text."; # WARNING: Doesn't work!@]%0a%0a: :The problem is that the text %25blue%25[@This is my text.@]%25%25 is not a valid PHP expression. To work it would need to be placed in quotes, so that what actually gets stored in [@$FmtPV['$MyText']@] is %25blue%25[@"This is my text."@]%25%25 which '''is''' a valid PHP expression for a text string. Thus the correct way to do this would be with an extra set of quotes:%0a%0a:: :[@#This will work@]%0a:: :[@$FmtPV['$MyText'] = '"This is my text."';@]%0a%0a: :This also has implications for how internal PHP or PmWiki variables are accessed. To have the page variable [@$MyVar@] produce the contents of the internal variable [@$myvar@], many folks try the following %25red%25which does not work:%25%25%0a%0a:: :%25red%25[@#This doesn't work either!@]%0a:: :[@$myvar = SomeComplexFunction();@]%0a:: :[@$FmtPV['$MyVar'] = $myvar; # WARNING: Doesn't work!@]%0a%0a: :There are several correct ways to do this, depending on whether you need the value of the [@$myvar@] variable as it was at the time the [@$FmtPV@] entry was created, or at the time that a particular instance of [@$MyVar@] is being rendered on a page. For most simple page variables that don't change during the processing of a page its more efficient to set the value when the entry is created:%0a%0a:: :[@$myvar = SomeComplexFunction();@]%0a:: :[@$FmtPV['$MyVar'] = "'" . $myvar . "'"; #capture contents of $myvar@]%0a%0a: :NOTE: If [@$myvar@] should contain single quotes, the above won't work as is, and you'll need to process the variable to escape any internal quotes.%0a%0a: :For more complex cases where an internal variable may have different values at different places in the page (possibly due to the effects of other markup), then you need to make the [@$FmtPV@] entry make an explicit reference to the global value of the variable (and the variable had better be global) like this:%0a%0a:: :[@global $myvar;@]%0a:: :[@$FmtPV['$MyVar'] = '$GLOBALS["myvar"]';@]%0a%0a: :Finally, there's nothing to stop you from simply having the evaluation of the [@$FmtPV@] entry execute a function to determine the replacement text:%0a%0a:: :[@# add page variable {$Today}, formats today's date as yyyy-mm-dd@]%0a:: :[@$FmtPV['$Today'] = 'strftime("%25Y-%25m-%25d", time() )';@]%0a%0a>>frame%3c%3c%0a: : Once again, please note that the values of the elements of $FmtPV are @@eval()@@ed so always sanitize any user input. The following is very insecure[=:=]%0a%0a:: : [@$FmtPV['$Var'] = $_REQUEST['Var'];@] %25red%25# critically insecure, allows PHP code injection%0a:: : [@$FmtPV['$Var'] = '"'. addslashes($_REQUEST['Var']).'"';@] %25red%25# critically insecure, allows PHP code injection%0a%0a: : See the recipe Cookbook:HttpVariables for a better way to use these variables.%0a>>%3c%3c%0a%0a: :See [[Cookbook:MoreCustomPageVariables]] for more examples of how to use [@$FmtPV@].%0a%0a:$MaxPageTextVars: This variable prevents endless loops in accidental recursive [[PageTextVariables]] which could lock down a server. Default is 500 which means that each PageTextVariable from one page can be displayed up to 500 times in one wiki page. If you need to display it more than 500 times, set in config.php something like\\%0a@@$MaxPageTextVars = 10000;@@ # ten thousand times%0a%0a:$DefaultUnsetPageTextVars: An array setting default values to page text variables which are not defined in the page, or when the user doesn't have read permissions for the page. See [[PageTextVariables#default]].%0a%0a:$DefaultEmptyPageTextVars: An array setting default values to page text variables which are defined in the page but empty. See [[PageTextVariables#default]].%0a%0a:$PageCacheDir: Enables the cache of most of the HTML for pages with no conditionals. The variable contains the name of a writable directory where PmWiki can cache the HTML output to speed up subsequent displays of the same page. Default is empty, which disables the cache. See also $PageListCacheDir.%0a # Enable HTML caching in work.d/.pagecache%0a $PageCacheDir = 'work.d/.pagecache';%0a%0a:$MarkupMarkupLevel: This global variable is a positive integer when the markup processing engine is inside a [@(:markup:)@] block; it is 0 (zero) or null otherwise.%0a%0a:$EnableInputDataAttr: This variable controls whether [[forms|input form elements]] should accept custom @@data-*@@ attributes. By default they do.%0a # Disable data-* attributes in forms%0a $EnableInputDataAttr = 0;%0a +time=1580364675 blob - /dev/null blob + ee09b22eed50a05442433bfb266e3186ba7a7395 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageDirectives @@ -0,0 +1,11 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +description=PmWiki Page Directives +keywords=description, keywords, markup, header, redirect +name=PmWiki.PageDirectives +rev=105 +targets=PmWiki.Uploads,PmWiki.UploadVariables,PmWiki.BasicVariables,PmWiki.LayoutVariables,PmWiki.GroupHeaders,PmWiki.Skins,PmWiki.Links,PmWiki.IncludeOtherPages,PmWiki.LinkVariables,PmWiki.TableOfContents +text=(:description PmWiki Page Directives:)(:Summary: Directives to specify page titles, descriptions, keywords, and display:)(:Keywords description, keywords, markup, header, redirect:)%0aPmWiki uses a number of directives to specify page titles, descriptions, page keywords, and control the display of various components.%0aDirective keywords are not case sensitive, e.g. Description, description, and DESCRIPTION are equivalent.%0a%0a[[#attachlist]]%0a:[@(:attachlist:)@]:%0a->Shows a list of attachments of the current group or page, depending on whether attachments are organised per group or per page. The attachlist is displayed at the foot of the [[uploads]] page form.%0a->The parameter to [=(:attachlist:)=] always resolves to a pagename. The directive then displays all of the attachments currently available for that page.%0a%0a::Options: [@(:attachlist NAME:)@] shows a list of attachments of the group or page NAME. %0a-->[@(:attachlist ext=xxx,yyy:)@] comma separated extension patterns for filtering by type of file (case insensitive). %0a-->[@(:attachlist names=*.jpg,*.pdf,-private*.jpg:)@] comma separated filename patterns for filtering by file name (case insensitive).%0a-->[@(:attachlist *:)@] shows the uploads directory and permits browsing of all uploaded files by directory if your server configuration allows automatic file listings (''will not work if $EnableDirectDownload is set to 0'').%0a%0a[[#description]]%0a:[@(:description text:)@]:Descriptive text associated with the page. (Generates a [@%3cmeta name='description' content='...' />@] element in the page output.)%0a%0a[[#keywords]]%0a:[@(:keywords word1, word2, ...:)@]:Identifies keywords associated with the page. These are not displayed anywhere, but are useful to help search engines locate the page. (Essentially, this generates a [@%3cmeta name='keywords' content='...' />@] element in the output.)%0a%0a[[#linebreaks]]%0a:[@(:linebreaks:)@], [@(:nolinebreaks:)@]: Honors any newlines in the markup; i.e., text entered on separate lines in the markup will appear as separate lines in the output. Use [@(:nolinebreaks:)@] to cause text lines to automatically join again.%0a%0a[[#linkwikiwords]]%0a:[@(:linkwikiwords:), (:nolinkwikiwords:)@]: Enables/disables WikiWord links in text. Note, this setting requires WikiWords to be enabled, see $EnableWikiWords. See also $LinkWikiWords.%0a%0a[[#markup]]%0a:[@(:markup:) ... (:markupend:)@] or [@(:markup:)@][@[=...=]@]: Can be used for markup examples, showing first the markup and then the result of the markup. %0a%0a::Options: [@(:markup class=horiz:)@] will show the markup side by side instead of one upon the other.%0a-->[@(:markup caption='...':)@] adds a caption to the markup example.%0a-->[@(:markupend:)@] is not required when using [@(:markup:)@] [@[=...=]@].%0a%0a->''Note'' that the placement of newlines is very important for this markup. If you are using the [@[=...=]@] option then the opening [@[=@] MUST occur on the same line as the [@(:markup:)@]. If you are using the full [@(:markup:) ... (:markupend:)@] form then your markup code must appear AFTER a newline after the initial [@(:markup:)@].%0a%0a[[#message]]%0a:[@(:messages:)@]: Displays [[PmWiki/LayoutVariables#MessagesFmt|messages]] from PmWiki or recipes, for instance from editing pages.%0a%0a%0a[[#noaction]]%0a:[@(:noaction:)@]: Turns off the section of the skin marked by %3c!--PageActionFmt--> thru %3c!--/PageActionFmt-->. In the pmwiki skin, this turns off the display of the actions at the top-right of the page (other skins may locate the actions in other locations). The actions at the bottom of the page are still available.%0a%0a[[#nogroupheader]]%0a:[@(:nogroupheader:)@]:%0a:[@(:nogroupfooter:)@]: Turns off any groupheader or groupfooter for the page. (See [[GroupHeaders]].)%0a%0a[[#noheader]]%0a:[@(:noheader:), (:nofooter:)@]: %0a:[@(:noleft:), (:noright:), (:notitle:)@]: If supported by the [[skin(s)]], each of these turns off the corresponding portion of the page.%0a%0a[[#redirect]]%0a:[@(:redirect PageName:)@]: Redirects to another wiki page.%0a:[@(:redirect PageName#anchor:)@]: Redirects to an [[PmWiki/Links#anchors|anchor]] within a page%0a:[@(:redirect PageName status=301 from=name quiet=1:)@]:Redirects the browser to another page, along with a redirect message. For security reasons this only redirects to other pages within the wiki and does not redirect to external urls. The [@status=@] option can be used to return a different HTTP status code as part of the redirect. The [@from=@] option limits redirects to occuring only on pages matching the wildcarded ''name'' (helpful when [@(:redirect:)@] is in [[include other pages|another page]]). The [@quiet=1@] option allows the target page not to display a link back to the original page ($EnableRedirectQuiet variable should be set to 1).%0a%0a[[#spacewikiwords]]%0a:[@(:spacewikiwords:), (:nospacewikiwords:)@]:%0a->Enables/disables automatic spacing of WikiWords in text.%0a%0a[[#title]]%0a:[@(:title text:)@]: Sets a page's title to be something other than the page's name. The title text can contain apostrophes and other special characters. If there are multiple titles in a page, the last one encountered wins (see also $EnablePageTitlePriority about how to change it).%0a%0a:[@(:toc:)@], [@(:notoc:)@]: Override the default table of contents settings. This directive requires a corresponding configuration of the wiki, see [[Table of contents]] '-{TableOfContents$:Summary}-'%0a%0a>>faq%3c%3c [[#faq]]%0aQ: Can I get [@(:redirect:)@] to return a "moved permanently" (HTTP 301) status code?%0aA: Use [@(:redirect PageName status=301:)@].%0a%0aQ: Is there any way to prevent the "redirected from" message from showing at the top of the target page when I use [@(:redirect:)@]?%0aA: From version 2.2.1 on, set in config.php @@$EnableRedirectQuiet=1;@@ and in the page @@[=(:redirect OtherPage quiet=1:)=]@@ for a quiet redirect.%0a%0aQ: Is there any method for redirecting to the equivalent page in a different group, i.e. from BadGroup/thispage => GoodGroup/thispage using similar markup to (:redirect Goodgroup.{Name}:)?%0aA:%0a->[=(:redirect Goodgroup.{$Name}:)=] works if you want to put it in one page. %0a%0a->If you want it to work for the entire group, put [=(:redirect Goodgroup.{*$Name}:)=] into Badgroup.GroupHeader - however, that only works with pages that really exist in Goodgroup; if you visit a page in Badgroup without a corresponding page of the same name in Goodgroup, instead of being redirected to a nonexistant page, you get the redirect Directive at the top of the page.%0a%0a->With [=(:if exists Goodgroup.{*$Name}:)(:redirect Goodgroup.{*$Name}:)(:ifend:)=] in Badgroup.GroupHeader you get redirected to Goodgroup.Name if it exists, otherwise you get Badgroup.Name without the bit of code displayed.%0a%0aQ: How can a wiki enable linebreaks by default, i.e. without having the directive [@(:linebreaks:)@] in a page or in a GroupHeader?%0aA: Add to config.php such a line:\\%0a@@$HTMLPNewline = '%3cbr/>';@@ +time=1568971514 blob - /dev/null blob + 3ecf4e88178d26a4905d842451ddafee3be44c1e (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageFileFormat @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Host is the IP address +name=PmWiki.PageFileFormat +rev=66 +targets=PmWiki.Passwords,SiteAdmin.Status,Cookbook.ImportText,Cookbook.AdminByShell,Cookbook.PageTopStore,Category.PmWikiDeveloper +text=(:Summary:Create wiki formatted pages in bulk and for upload to your pmwiki site:)%0aYou may have many documents that you would like to use a local program to format in a format PmWiki can display.%0a%0aYou could open each document and copy/paste the content to new pmwiki pages or you could format the document in advance and upload it using an FTP client.%0a%0a!! Format [[#format]]%0aOnly two lines are necessary in a PmWiki page file:%0a%0a->[@%0aversion=pmwiki-2.1.0 urlencoded=1%0atext=Markup text%0a@]%0a%0a"version=" tells PmWiki that the values are urlencoded. The actual value doesn't matter, as long as "urlencoded=1" appears somewhere in the line.%0a%0a"text=" ''needs'' to have the markup text with newlines converted to "%250a" and percent signs converted to "%2525".%0a%0a-> In addition, ''PmWiki writes'' pages with '%3c' encoded as "%253c" (to help with security), but it doesn't require that %3c's be encoded that way in order to be able to read the page. More conversions are possible to be added in the future.%0a%0aIn order to let searches and the [@(:pagelist :)@] markup work, make sure the filename begins with an uppercase letter.%0a%0aIn order to have the [@(:pagelist link= ... :)@] markup on other pages list this page, a third attribute is required:%0a%0a->[@%0atargets=GroupName1.Pagename1,GroupName2.Pagename2,...%0a@]%0a%0a"targets=" is a comma delimited list of all links from the current page (no space following the comma).%0a%0a!!! Page file attributes [[#attr]]%0a%0aKeys you could see in a raw PmWiki file:%0a%0a:'''version''': Version of PmWiki used to create the file %25comment%25 More??? (ordered, urlencoded)%25%25%0a:'''agent''': Author's browser when saving the page%0a:'''author''': Last author to save page%0a:'''charset''': The character encoding of the page text%0a:'''csum''': Change summary%0a:'''ctime''': Page creation time%0a:'''description''':Page description. Used to fill [@%3cmeta name='description' />@] if set via[@(:description page'sdecription text:)@]%0a:'''host''': Host (IP address) last edited the page%0a:'''name''': Name of the page (e.g., [@Main.WikiSandbox@])%0a:'''passwdattr''': encrypted version of the password required to change [[PmWiki/Passwords|attributes]]%0a:'''passwdedit''': encrypted version of the password required to edit %0a:'''passwdread''': encrypted version of the password required to read%0a:'''passwdupload''': encrypted version of the password required to upload%0a:'''rev''': Number of times the page has been edited%0a:'''targets''': Targets for links in the page%0a:'''text''': The page's wiki markup%0a:'''time''': Time the page was last saved (seconds since 1 Jan 1970 00:00 UTC)%0a:'''title''': Page title set via [@(:title The Page Title:)@].%0a:'''newline''': Character used for newlines (deprecated)%0a:'''updatedto''': The version to which PmWiki has been updated to by [@upgrades.php@] (only on [[SiteAdmin.Status]])%0a%0aBelow these you will see information used to keep track of the page's revision history.%0a%0a!![[#creating]] Creating a Page for Distribution%0a%0aA simple way to create a wikipage file to use for distribution (for example with a recipe or a skin) is to create the page with PmWiki and then use a text editor to delete all lines but ''version'', ''text'', and ''ctime''. Example:%0a%0a->[@%0aversion=pmwiki-2.1.0 ordered=1 urlencoded=1%0atext=This is a line.%250aThis is another.%0actime=1142030000%0a@]%0a%0a[[#history]]%0a!! Keeping track of page history%0a%0aInside of a page file, PmWiki stores the latest version of the markup text, and uses this to render the page. The page history is kept as a sequence of differences between the latest version of the page and each previous version.%0a%0aPmWiki normally puts the page history at the end of each page file in reverse chronological sequence, and sets the "ordered=1" items in the header. If an operation needs only the most recent version of a page, then PmWiki will stop reading and processing a page file at the point where the history begins, potentially saving a lot of time and memory. If the "ordered=1" flag isn't present, PmWiki makes no assumptions about the ordering of items in the pagefile and processes the entire file.%0a%0a!! Load pages from text files%0aSee [[Cookbook: Import text]]. {Cookbook/ImportText$:Summary}%0a%0a!! Unix utility to extract wiki text%0a%0aThis one-line sed command extracts and prints the text of a PmWiki 2.x file (could be aliased, eg. ''pmcat''):%0a%0a [=sed -n 's/^text=//; s/%250a/\n/gp; s/%253c/%3c/gp; s/%2525/%25/gp'=] '''GroupName.PageName'''%0a%0a%0aThe following unix script (tested on MacOSX) will extract and decode the current text from a wiki file:%0a%0a->[@%0a#!/bin/tcsh%0a# wtext - extract wiki text%0a#%0a# wtext wikifile > output%0a%0aset fn = "$1"%0aif ("$fn" == "") then%0a echo "need input file parameter"%0a exit 999%0aendif%0aif (! -f $fn) then%0a echo "$fn does not exist"%0a exit 999%0aendif%0arm sedin.$$ >& /dev/null%0aset ch = `grep ^newline= $fn | cut -d= -f2`%0aif ("$ch" == "") set ch = "%250a"%0acat %3c%3ceof > sedin.$$%0as/^text=//%0as/$ch/\%0a/g%0as/%253c/%3c/g%0as/%2525/%25/g%0aeof%0agrep "^text=" "$1" | sed -f sedin.$$%0arm sedin.$$ >& /dev/null%0a@]%0a%0a!!See also%0a* [[Cookbook:AdminByShell]] [-A collection of ways to assist sysadmin of pmwiki using shell tools-]%0a* [[Cookbook:PageTopStore]] [-A PageStore alternative which doesn't mangle page contents when viewed outside PmWiki-]%0a%0aCategories: [[!PmWiki Developer]] +time=1569835012 blob - /dev/null blob + dc694de5a314b5a0da0ff01cddecefe55a1b9931 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageHistory @@ -0,0 +1,9 @@ +version=pmwiki-2.2.107 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Fix link to page on pmwiki.org +name=PmWiki.PageHistory +rev=49 +targets=PmWiki.LayoutVariables,PmWiki.WikiAdministrator,PmWiki.EditVariables,PmWiki.SpecialPages,Cookbook.ExpireDiff,Cookbook.LimitDiffsPerPage,Cookbook.ViewDiff,Cookbook.TrackChanges,PmWiki.PageFileFormat +text=(:Summary: History of previous edits to a page:)%0a(:Audience: authors (basic) :)%0aWhen PmWiki is called with '?action=diff', it displays a summary of past edits on a page. Each past edit is shown in a box which shows lines added, changed or deleted during that edit in a before & after format.%0a%0aBelow each box is a "Restore" link. Clicking the link will open an edit box with the page as it was ''before'' that edit. You can make changes or simply click Save to restore the text.%0a%0aThere are two additional options specific to Page''''History:%0a%0a* '''Hide minor edits''' - hides any edit that the author marked as 'minor'. - This is done by adding "&minor=n" to "?action=diff". The default value for this is to show minor edits with "&minor=y"%0a%0a* '''Show changes to output''' - It shows changes to the rendered output (as opposed to the normal display which shows changes to the wiki-markup). This is done by adding "&source=n" to "?action=diff". You can show changes to markup (the default behavior from 2.2.13) with "&source=y".%0a%0a* You can set both by using "?action=diff&source=y&minor=y".%0a%0aIn the default mode "Show changes to markup", you can disable word-level highlighting of differences by adding to config.php such a line:%0a $EnableDiffInline = 0;%0a%0aA page's history is kept for the number of days given by the $DiffKeepDays and $DiffKeepNum variables (set by the site's [[wiki administrator]]). When a page is edited, any page history information older than both these values is automatically discarded.%0a%0aNote that a specific page revision isn't removed from the page until the first edit ''after'' the time specified by $DiffKeepDays has elapsed. Thus, it's still possible for some pages to have revisions older than $DiffKeepDays -- such revisions will be removed the next time those pages are edited.%0a%0a!! See also%0a* [[PmWiki:SpecialPages#recentchanges | recent changes]] special pages%0a* Cookbook:ExpireDiff%0a* Cookbook:LimitDiffsPerPage%0a* Cookbook:ViewDiff%0a* Cookbook:TrackChanges%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: [[#removepagehistory]] Is there a way to remove page history from page files?%0aA: 1. Administrators can clean page histories using the Cookbook:ExpireDiff recipe. %0a%0aA: 2. Administrators with FTP file access can download individual pages from the wiki.d directory, open them in a text editor, manually remove history, and re-upload the files to wiki.d/ directory. Care must be exercised, when manually editing a page file, to preserve the minimum required elements of the page and avoid corrupting its contents. See [[PmWiki/PageFileFormat#creating]].%0a%0aA: 3. Edit the page. Select ''all'' the contents of the edit text area and cut them to the clipboard. Enter @@delete@@ into the text area and click on the ''save and edit'' button. Select ''all'' the contents of the edit text area and paste the contents of the clipboard over them. Click on the ''save'' button. This will remove all of the page's history up to the final save in which the pasted material is re-added.%0a%0aQ: [[#restrictpagehistory]] How can I restrict viewing the page history [@(?action=diff)@] to people with edit permission?%0aA: In the ''local/config.php'' file, set%0a%0a->[@$HandleAuth['diff'] = 'edit'@];%0a%0aIn case of this restriction is set up on a farm, and you want to allow it on a particular wiki, set in your local/config.php :%0a%0a->[@$HandleAuth['diff'] = 'read'@];%0a +time=1518807578 blob - /dev/null blob + 90f8a499857c4e5bdb43f1cb46ebe19b695193e4 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageListTemplates @@ -0,0 +1,10 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$$EachCount +ctime=1176759249 +name=PmWiki.PageListTemplates +rev=43 +targets=PmWiki.PageLists,Site.PageListTemplates,Site.LocalTemplates,PmWiki.PagelistVariables,Cookbook.PagelistTemplateSamples,PmWiki.PageVariables,PmWiki.PageTextVariables,Cookbook.DictIndex,Cookbook.SimpleForum,Cookbook.Cookbook +text=(:Summary: Creating [[PmWiki/page list(s)]] format templates:)%0a!! Default [[page list(s)]] templates%0a%0aPmWiki's default templates for [[page lists]] are in [[Site.PageListTemplates]], which is replaced during upgrades. %0aThese default templates can be supplemented or overridden with custom templates stored in other locations. %0a %0aPmWiki's default configuration looks for templates in the following locations in the following order:%0a# the page name specified as part of the template name%0a# the current page body%0a# [[Site.LocalTemplates]], %0a# [[Site.PageListTemplates]]%0aIf the pagelist is defined in a sidebar, group header or footer, etc, the page name must be specified as part of the template name.%0aAdministrators can change those locations by using the $FPLTemplatePageFmt variable. %0a%0aIf the template is on the current page, the current page must be saved for changes involving the template to show up ''(preview alone will not work)''.%0a%0a!! Custom page list templates%0aCustom templates are used in the same way as default templates: by referencing the desired format with the @@fmt=#''anchor''@@ option. %0aThere are several ways to indicate which template to use:%0a* [@fmt=#custom@] uses the #custom section from the current page, [[Site.LocalTemplates]], or [[Site.PageListTemplates]], (sections are denoted by [@[[#custom]]@] anchors.%0a* [@fmt=MyTemplatePage#custom@] uses a custom format from page @@MyTemplatePage@@ from its @@#custom@@ section.%0a* [@fmt=MyTemplatePage@] uses a custom format from the entire page @@MyTemplatePage@@.%0a* [@fmt=custom@] uses custom format which is defined in a cookbook script as ''custom''.%0a%0aSee Cookbook:PagelistTemplateSamples for examples of custom pagelist formats.%0a%0a!! Creating page list templates%0aA pagelist template contains standard pmwiki markup. %0aWhen creating pagelist output, pmwiki iterates over each page returned from the pagelist and will include the pagelist template markup once for every page in the list. %0a%0a[[#specialreferences]]%0a!!! Special references %0aDuring the page list iteration pmwiki sets 3 special page references: '''=''', '''%3c''' and '''>'''. %0aThese special page references are updated on each pagelist iteration and can be used with the [[page variables]] syntax, such as ''{=$variable}'', to define a pagelist template which will format the pagelist output. The meaning of the special references are:%0a||width=*%0a|| = ||current page ||so ''[@{=$Title}@]'' ||displays the title of the current page in the iteration%0a|| %3c ||previous page ||so ''[@{%3c$Group}@]'' ||displays the group of the previous page in the iteration%0a|| > ||next page ||so ''[@{>$Name}@]'' ||displays the name of the next page in the iteration%0a%0a%0aThe > and %3c references are most useful to help structure pagelist output before and after the actual pagelist. Some common tests used to structure pagelist output are:%0a(:table class=frame:)%0a(:cellnr:)[@(:template first:)@]%0a(:cell:)[- {- [@(:if equal {%3c$Group}:)@] -} -]%0a(:cell:)Iteration is at the beginning of list%0a(:cellnr:)[@(:template last:)@]%0a(:Cell:)[- {- [@(:if equal {>$Group}:)@] -} -]%0a(:cell:)Iteration is at the end of list%0a(:cellnr:)[@(:template first {=$Group}:)@]%0a(:cell:)[- {- [@(:if ! equal {=$Group} {%3c$Group}:)@] -} -]%0a(:cell:)Iteration is at the first item in a group%0a(:cellnr:)[@(:template last {=$Group}:)@]%0a(:cell:)[- {- [@(:if ! equal {=$Group} {>$Group}:)@] -} -]%0a(:cell:)Iteration is at the last item in a group %0a(:cellnr:)[@(:template defaults:)@]%0a(:cell:)%0a(:cell:)Default options to be used in the pagelist command%0a(:cellnr:)[@(:template each:)@]%0a(:cell:)%0a(:cell:)Signifies the repeated part%0a(:cellnr:)[@(:template none:)@]%0a(:cell:)%0a(:cell:)Used if no match found%0a(:tableend:)%0a[[#specialreferencesend]]%0a''Note'': the markup in column 2 is deprecated.%0a-%3c See also [[PageVariables#specialreferences|page variable special references]].%0a%0a!! Page list template special markup%0aPagelist templates may have special sections%0a* [@(:template first ...:)@] and [@(:template ! first ...:)@]%0a* [@(:template last ...:)@] and [@(:template ! last ...:)@]%0ato specify output for the first or last page in the list or a group (use @@ !first @@ and @@ !last @@ for output ''except'' for the first/last page).%0a%0aThere's also a %0a* [@(:template defaults ...:)@] %0a to allow a template to specify default options,%0a* [@(:template each ...:)@]%0a to signify the repeated part, and%0a* [@(:template none:)@]%0a whose content will appear if no page was found (from version 2.2.5).%0a%0aThese allow Pagelist templates to be easily separated into "sections"%0athat are included or not included in the output based on a variety of%0aconditions. These are intended to be improved versions of the%0a[=(:if ...:)=] conditions that have traditionally been used to control%0apagelist output (however, the [=(:if:)=] conditions still work as before).%0a%0a!!! First, Each, Last, None%0aThe simplest versions of the directives are:%0a-> [@%0a(:template first:) # markup to display only for first page in list%0a(:template ! first:) # markup to display for every page in list but the first%0a(:template each:) # markup to display for each page in list%0a(:template last:) # markup to display only on last page in list%0a(:template ! last:) # markup to display for every page in list but the last%0a(:template none:) # markup to display only if no pages were found@]%0a%0aSo, a pagelist template can specify:%0a%0a->[@(:template first:)%0aPages in the list:%0a(:template each:)%0a* [[{=$FullName}]] [-{=$:Summary}-]%0a(:template last:)%0aDisplayed {$$PageCount} pages.@]%0a%0aIn addition, the "first" and "last" options can have control break%0aarguments that identify markup to be displayed on the first or last%0apage within a particular control section. For example, to specify%0amarkup to be displayed upon reaching the first or last page of%0aa group, one can use%0a%0a->[@(:template first {=$Group}:)%0a(:template last {=$Group}:)@]%0a%0aThus, instead of writing control breaks using (:if:) directives, as in%0a%0a->[@(:if ! equal {%3c$Group} {=$Group}:)%0aGroup: {=$Group}%0a(:ifend:)%0a* [[{=$FullName}]]@]%0a%0aone can now write%0a%0a->[@(:template first {=$Group}:)%0aGroup: {=$Group}%0a(:template each:)%0a* [[{=$FullName}]]@]%0a%0a[[Page text variables]] and [[page variables]] can also be used, for example%0a->[@(:template default $:Maintainer=- order=$:Maintainer,name:)%0a(:template first {=$:Maintainer}:)%0a@]%0a%0a!!! Default options%0aIn addition, a template may specify default options to be used%0ain the pagelist command. For example, a pagelist template to%0adisplay a list of pages by their titles (and sorted by title)%0amight use:%0a%0a->[@[[#bytitle]]%0a(:template defaults order=title:)%0a* [[{=$FullName}|+]]%0a[[#bytitleend]]@]%0a%0aThen an author could write [=(:pagelist fmt=#bytitle:)=] and the%0apages would automatically be sorted by title without having to%0aspecify an additional "order=title" option to the [=(:pagelist:)=]%0adirective.%0a%0aTo specify multiple parameters to an option enclose the parameters in double quotes, eg to sort by a [[page text variable(s)]] and then the page name%0a-> [@ (:template defaults order="$:Database,name" :) @]%0a%0a!!! Examples%0a:[=(:template defaults ... :)=] : default options for pagelists using this template%0a:[=(:template each:)=] : markup for each page in the pagelist%0a:[=(:template first:)=] : markup output only for the first page in the pagelist%0a:[=(:template last:)=] : markup output only for the last page in the pagelist%0a:[=(:template first {=$Group}:)=] : markup output only for a page where the value of {=$Group} has just changed%0a:[=(:template last {=$Group}:)=] : markup output only for a page where the value of {=$Group} will change with the next page%0a%0aSo, we have:%0a%0a->[@[[#template]]%0a(:template defaults order=name:)%0a(:template first:)%0aPages ordered by group%0a(:template first {=$Group}:)%0a%0aPages in group [[{=$Group}/]]%0a(:template each:)%0a* [[{=$FullName}]]%0a(:template last {=$Group}:)%0a {=$Group} contains {$$GroupPageCount} pages.%0a(:template last:)%0a {$$PageCount} pages total.%0a[[#templateend]] @]%0a%0a[[#additionalpagevariables]]%0a!! Page list template additional page variables%0aAdditional [[Page Variables]] that are only available during pagelist are: %0a->[@%0a{$$PageCount} The current page count of this iteration%0a{$$GroupCount} The current group count of this iteration%0a{$$GroupPageCount} The current page count within the current group of this iteration%0a{$$EachCount} The current page count within the current loop@]%0a->@@[={$$=]''option''} The argument option values from @@[@(:pagelist:)@]%0a%0a[@{$$EachCount}@] increases with each page from the pagelist, and resets when a [@(:template first {=$Property}:)@] or [@(:template last {=$Property}:)@] section is output. It can be useful when a pagelist is ordered by a page (text) variable or other property, and the pages with the same property need to be grouped together. If the order is [@$Group@] and the property is "[@{=$Group}@]", then [@{$$EachCount}@] and [@{$$GroupPageCount}@] are the same.%0a%0aUse of {$$''option''}: For example {$$trail} returns the page name entered in the trail= option of the pagelist directive. You can make up custom "options" with no other purpose than being displayed in the pagelist.%0a%0a[[#redirect]]%0a!! Redirect %0aTo enable searches that return only one page to automatically redirect to that page add the following to a pagelist template where the "jump to a page" functionality is desired:%0a%0a-> [@(:template last:)%0a(:if equal {$$PageCount} 1:)(:redirect {=$FullName}:)(:ifend:)%0a@]%0a%0a[[#closure]]%0a!! Closure of markup%0aAny open tables, divs, or other%0astructures inside of [=(:pagelist:)=] are, by default, automatically closed at the%0aend of the pagelist command. In other words, [=(:pagelist:)=] acts like%0aits own complete page, as opposed to generating markup that is then%0ainserted into the enclosing page.%0a%0aFor example a table generated by the [=(:cell:)=]%0adirective in the first [=(:pagelist:)=] command is automatically closed%0aat the end of the pagelist. The [=(:cell:)=] in the second [=(:pagelist:)=]%0acommand then starts a new table.%0a%0aNote that the [=(:table:)=] directive doesn't actually start a new table,%0ait's the [=(:cell:)=] or [=(:cellnr:)=] directive that does it. All that the%0a[=(:table:)=] directive does is set attributes for any tables that follow.%0a%0a!! Usage%0aIt is advisable to not modify the page [[Site.PageListTemplates]] directly so that you will still benefit from upgrades. %0aInstead, modify your [[Site.LocalTemplates]] page (which is not part of the PmWiki distribution). Cookbook:PagelistTemplateSamples has many examples of custom pagelist formats.%0a%0a!! Other recipes%0aIn addition, the [[(Cookbook:)Cookbook]] has other recipes for special [@fmt=@] options, including [[Cookbook:DictIndex | [@fmt=dictindex@] ]] (alphabetical index) and [[Cookbook:SimpleForum | [@fmt=forum@] ]] (forum postings).%0a +time=1574162643 blob - /dev/null blob + 6763fd12b0f438e9bcb92948d530b1301beb767d (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageLists @@ -0,0 +1,10 @@ +version=pmwiki-2.2.127 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=add link (+16) +ctime=1138643894 +name=PmWiki.PageLists +rev=271 +targets=PmWiki.PageListTemplates,PmWiki.DocumentationIndex,PmWiki.PageTextVariables,PmWiki.MarkupExpressions,PmWiki.PageVariables,PmWiki.WikiTrails,PmWiki.BasicVariables,Cookbook.SearchResults,PmWiki.PagelistVariables,Site.PageListTemplates,PmWiki.Categories,Cookbook.PageListMultiTargets,PmWiki.ConditionalMarkup,PmWiki.CustomPagelistSortOrder,PmWiki.PathVariables,PmWiki.Internationalizations,Cookbook.PagelistTemplateSamples,Cookbook.Forms,Cookbook.CustomPagelistSortOrderFunctions,PmWiki.PageLists,PmWiki.PageDirectives,PmWiki.Search +text=(:Audience: authors, admins (intermediate) :)%0a(:Summary:Searching and listing pages by multiple criteria with templated output:)%0aPmWiki comes with two directives for generating lists of pages -- [@(:pagelist:)@] and @@[=(:=]searchresults:)@@. Both directives are basically the same and each accepts the parameters documented below. The primary difference between the two is that searchresults generates the "Results of search for ..." and "### pages found out of ### searched" messages around the results.%0a%0aThe [@(:searchbox:)@] directive generates a search form (input text box) to submit search queries. The markup generally accepts the same parameters as [@(:pagelist:)@], which makes it possible to restrict, order and format searchresults in the same ways that are described below for a [@(:pagelist:)@]. For more information about the [@(:searchbox:)@] directive, and the ways in which it differs from a [@(:pagelist:)@], skip to the section [[#searchbox|below]].%0a%0a!! Basic syntax%0a%0a* [@(:pagelist:)@] %0a->without any arguments shows a bulleted list of all pages, as links, ordered alphabetically and in groups.%0a* @@[=(:=]pagelist [[#pagelistgroup|group]]=''ab'' \%0a [[#pagelistname|name]]=''cd'' \%0a [[#pagelistfmt|fmt]]=''[[page list templates|template]]'' \%0a [[#pagelistlist|list]]=''ef'' \%0a [[#pagelistorder|order]]=''gh'' \%0a [[#pagelistcount|count]]=''123'' \%0a [[#pagelistlink|link]]=''ij'' \%0a [[#pagelisttrail|trail]]=''kl'' \%0a [[#pagelistwrap|wrap]]=''mn'' \%0a [[#pagelistpasswd|passwd]]=''op'' \%0a [[#pagelistif|if]]=''qr'' \%0a [[#pagetextvariables|$:''ptv'']]=''st'' \%0a [[#pagevariables|$''pv'']]=''uv'' \%0a [[#pagelistcache|cache]]=0 \%0a ''[[#pagelistarg|argument]]1'' -''[[#pagelistarg|argument]]2'' ''etc'' \%0a [[#includevariable|variable]]=''value'' \%0a [[#pagelistclass|class]]=''class'' \%0a [[#pagelistrequest|''request=1'']] \%0a [[#pagelistreq|''req=1'']] \%0a :)@@ %0a->shows a pagelist according to the parameters supplied. Parameters are optional.%0a* @@[=(:=][[#searchbox|searchbox]] value=''abc'' size=''99'' target=''def'' label="label":)@@%0a* @@[=(:=][[#searchresults|searchresults]]:)@@%0a%0a!! Parameters%0a[[#pagelistarg]]%0aAny argument supplied within [@(:pagelist:)@] that isn't in the form @@'key=value'@@ is treated as text that either must (or must not) exist in the page text.%0a%0aThe minus sign (-) can be used to indicate things that should be excluded. Thus%0a->[@(:pagelist trail=PmWiki.DocumentationIndex list=normal apple -pie:)@]%0alists all "normal" pages listed in the [[Documentation Index ]] trail that contain the word "apple" but not "pie".%0a%0a!!![[#pagetextvariables]]With page text variables%0aYou can also use [[page text variables]] as a ''key'' to list pages according to the existence of a page text variable. Eg : %0a->[@(:pagelist $:pagetextvar=avalue:)@]%0alists pages having ''$:pagetextvar'' set to ''avalue''.%0a[[%3c%3c]]%0aMinus sign (-), wildcards (?*) and a comma separated list of values also works when specifying a selection based on pagetextvariables. Eg :%0a->[@(:pagelist $:apagetextvar=t*,-test:)@]%0alists pages having $:apagetextvar like 't*' but not 'test'.%0a[[%3c%3c]]%0aExamples:%0a||width=* class="tabtable" rules=rows%0a||PTV is set (is not empty): ||[@(:pagelist $:MyPageTextVariable=- :)@]||%0a||PTV is empty or not set:[[%3c%3c]] (ie, is not set to one char followed by 0 or more chars) ||[@(:pagelist $:MyPageTextVariable=-?* :)@]||%0a||PTV is not VALUE: ||[@(:pagelist $:MyPageTextVariable=-VALUE :)@]||%0a||PTV is set and not YES: ||[@(:pagelist $:MyPageTextVariable=?*,-YES :)@]||%0aBe aware that if using [@(:pagelist $:MyPTV=$:YourPTV :)@] PTVs include PmWiki formatting, so you may not get the matches you expect. Currently the only way around this is to use wild cards, so if the formatting is embedded you may be out of luck.%0a%0aNOTE: Pagelist does not evaluate [[PmWiki/MarkupExpressions]] when working with PTVs. So if your [[page text variables]] is defined using a markup expression to set the value, pagelist will see the literal values of the text of your markup expression rather than the result of your expression. (e.g., the PTV definition [@(:foo:{(substr abcdef 2 4)}:)@] will be seen by pagelist as an open-curly-brace followed by an open-paren followed by s-u-b-s-t-r, etc. rather than being seen as b-c-d-e) Any processing of the markup expression in the output of your pagelist occurs in subsequent rules (after pagelist) within the context of the current page and thus these values cannot be used for sorting or selecting pages. ([[http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/60968/focus=60970|source]])%0a%0a!!![[#pagevariables]]With page variables (PV)%0a%0a[[Page variables]] can be used within pagelists in the same way as [[page text variables]]. See [[#pagetextvariables|Page Text Variables]] above for more details. Simply use @@$var@@ instead of @@$:var@@.%0a%0a!!![[#pagelistgroup]] group= and [[#pagelistname]]name= %0a%0aThe "[@group=@]" and "[@name=@]" parameters limit results to pages in a specific group or with a specific name:%0a(:table class='tabtable' rules=rows:)%0a(:cellnr:)All pages in the Pmwiki group:%0a(:cell:)[@(:pagelist group=PmWiki :)@]%0a(:cellnr:)All pages except those in the PmWiki or Site groups:%0a(:cell:)[@(:pagelist group=-PmWiki,-Site :)@]%0a(:cellnr:)All RecentChanges pages%0a(:cell:)[@(:pagelist name=RecentChanges :)@]%0a(:cellnr:)All pages except RecentChanges%0a(:cell:)[@(:pagelist name=-RecentChanges :)@]%0a(:tableend:)%0a%0a!!! Wildcards%0aName and group parameters can contain ''wildcard'' characters that display only pages matching a given pattern:%0a* An asterisk (*) represents zero or more characters%0a* A question mark (?) represents exactly one character%0a* A set of characters enclosed in square brackets ([]) represents any one of the characters in the brackets%0a%0aExamples:%0a(:table class='tabtable' rules=rows:)%0a(:cell:)All pages in any group beginning with "PmWiki"%0a(:cell:)[@(:pagelist group=PmWiki* :)@]%0a(:cellnr:)All pages in any group beginning with "PmWiki", except for Chinese%0a(:cell:)[@(:pagelist group=PmWiki*,-PmWikiZh :)@]%0a(:cellnr:)All pages in the PmCal group with names starting with "2005":%0a(:cell:)[@(:pagelist name=PmCal.2005* :)@]%0a(:cellnr:)All Cookbooks with names beginning with a A and a B letter%0a->note the different separators used for the same result%0a(:cell:)[@%0a(:pagelist group=Cookbook name=A*,B* :)%0a(:pagelist group=Cookbook name="A* B*" :)%0a(:pagelist group=Cookbook name=[AB]* :)%0a(:pagelist group=Cookbook, name=[AB]* :)@]%0a(:tableend:)%0a%0aIf you want to use multiples conditions in name you need to use quotes or commas to delimit the string. For example%0a-> [@key="one value,another value"@]%0a%0a!!![[#pagelisttrail]] trail= %0aThe "[@trail=@]" option obtains the list of pages to be displayed from a [[WikiTrail(s)]]:%0a* Display pages in the documentation by modification time%0a->[@(:pagelist trail=PmWiki.DocumentationIndex order=-time:)@]%0a* Display five most recently changed pages%0a->[@(:pagelist trail=RecentChanges count=5:)@]%0a%0a!!![[#pagelistlist]] list= %0a%0aThe "[@list=@]" option allows a search to include or exclude pages according to predefined patterns set by the administrator. %0a* "[@list=normal@]" is predefined, and which excludes things like AllRecentChanges, RecentChanges, GroupHeader, GroupFooter, GroupAttributes, and the like from being displayed in the list results. Note that list=normal also excludes the current page.%0a* "[@list=all@]" over-rides a "default" list that may be set by the wiki's administrator to exclude groups such as PmWiki or Site from regular search results.%0a* "[@list=grouphomes@]" only lists the home pages of every group on the wiki, either Group.Group, or Group.HomePage, or other/localized, as defined in $DefaultName, and/or $PagePathFmt.%0a%0aWiki administrators can define custom lists via the $SearchPatterns array (see [[Cookbook:SearchResults]]).%0a%0a!!![[#pagelistfmt]] fmt= %0a%0aThe "[@fmt=@]" option determines how the resulting list should be displayed. %0aPmWiki [[Site/PageListTemplates|predefines]] several formats:%0a* @@fmt=#bygroup@@ - Display pages within groups (default format)%0a* @@fmt=#simple@@ - Display a simple ordered list of pages in the form Group.Name%0a* @@fmt=#title@@ - Display a list of pages by page title. Use "[@order=title@]" to have them sorted by title (default is to order by page name).%0a* @@fmt=#titlespaced@@ - Display a list of pages by page title, like above, but with spaces between the words in the title.%0a* @@fmt=#group@@ - Display a list of wikigroups (without listing the pages in the groups)%0a* @@fmt=#include@@ - Display the contents of each page in the list (note, this could take a very long time for long lists!)%0aThese formats are defined by [[page list templates]], which can be customized.%0a%0aThis format is not predefined by a page list template:%0a* @@fmt=count@@ - Display the number of pages in the list (note the absence of the "#"). In a trail, @@fmt=count@@ counts existing and non-existing pages ; to limit count to existing pages, use : @@if="exists {=$FullName}" fmt=count@@ [-([[http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/58621|mailing list]])-].%0a%0a%0a!!![[#pagelistlink]] link= %0a%0aThe "[@link=@]" option implements "backlinks" -- i.e., it returns a list of pages with a link to the target. It's especially useful for [[categor(ies)]]y pages and finding related pages.%0a%0a* all pages with a link to PmWiki.DocumentationIndex%0a->[@(:pagelist link=PmWiki.DocumentationIndex:)@]%0a* all pages with links to the current page%0a->[@(:pagelist link={$FullName}:)@]%0a* all pages in the "Skins" category%0a->[@(:pagelist link=Category.Skins:)@]%0a%0aNote that the @@link=@@ parameter doesn't accept multiple or negative targets and wildcard lists. For these see Cookbook:PageListMultiTargets.%0a%0aAlso, @@link=@@ will ignore the directives @@[=(:if...:), (:include...:), (:redirect...:), (:pagelist...:)=]@@, and page text variable directives, while searching for links in a page. That means links in included pages will not be found, and links inside non-displayed conditional markup will be found. See [[PageTextVariables]] for ways to hide a link on a page while still allowing @@link=@@ to find it.%0a%0a!!![[#pagelistcount]] count= %0a%0aThe "[@count=@]" option provides the ability to%0a* limit the pagelist to a specific number of pages%0a* subsets of a list%0a* return items from the end of a list, subsets of a list%0a* display pages in reverse sequence%0a%0a(:table class=tabtable rules=rows:)%0a(:cellnr:)A simple bullet list of ten most recently modified pages%0a(:cell:)%0a[@(:pagelist trail=Site.AllRecentChanges count=10 fmt=#simple:)@]%0a(:cellnr:)Display the first ten pages of a list%0a(:cell:)%0a[@count=10 # display the first ten pages of list@]%0a(:cellnr:)Negative numbers specify pages to be displayed from the end of the list:%0a(:cell:)%0a[@count=-10 # display last ten pages of list@]%0a(:cellnr:)Ranges may be specified using '..', thus:%0a(:cell:)%0a[@count=1..10 # first ten pages of list%0acount=5..10 # 5th through 10th pages of list@]%0a(:cellnr:)Negative numbers in ranges count from the end of the list:%0a(:cell:)%0a[@count=-10..-5 # 10th from end, 9th from end, ..., 5th from end@]%0a(:cellnr:)Omitting the start or end of the range uses the start or end of the list:%0a(:cell:)%0a[@count=10.. # skip first ten pages%0acount=..10 # 1st through 10th page of list%0acount=-10.. # last ten pages of list%0acount=..-10 # all but the last nine pages@]%0a(:cellnr:)Ranges can be reversed, indicating that the order of pages in the output should likewise be reversed:%0a(:cell:)%0a[@count=5..10 # 5th through 10th pages of list%0acount=10..5 # same as 5..10 but in reverse sequence%0acount=-1..1 # all pages in reverse sequence@]%0a(:cellnr:)"Reverse sequence" here refers to the sequence ''after'' any sorting has taken place. Therefore the three directives to the right are equivalent:%0a(:cell:)%0a[@(:pagelist order=-name count=10:)%0a(:pagelist order=-name count=1..10:)%0a(:pagelist order=name count=-1..-10:) @]%0a(:tableend:)%0a%0a!!![[#pagelistwrap]] wrap=%0aThe "[@wrap@]" option has the values, ''none'' and ''inline''.%0a%0aWith "wrap=inline" and "wrap=none", the output from pagelist (markup or HTML) is directly embedded in a page's markup without any surrounding %3cdiv> class=...%3c/div> tags.%0a%0aWith "wrap=inline", any surrounding %3cul> is continued. Without "wrap=inline", the HTML output starts a new %3cul>. This is important if you want to get a second level %3cul> produced by the page list since starting a new %3cul> with "**" doesn't yield a second level %3cul> but %3cdl>%3cdd>%3cul>...%0a%0a"wrap=inline" likely has other effects since it suppresses the call to $FPLTemplateMarkupFunction (being MarkupToHTML by default).%0a%0a!!![[#pagelistclass]] class=%0aBy default, a pagelist has the 'fpltemplate' class. The 'bygroup', 'simple', 'group' and 'title' page list formats have specific class names fplbygroup, fplsimple etc. You can set any class using the class= parameter or by setting the $FPLFormatOpt array.%0a%0a!!![[#pagelistrequest]] request=1%0aWith [@(:pagelist [other parameters] request=1:) @] you can override most pagelist parameters, by providing request parameters in the URL. %0aFor example, [@ (:pagelist order=name request=1:) @] will normally sort the list by name. But if the page's URL contains @@?order=time@@, the list will be sorted by time. If the URL contains @@?order=@@, the list will be unordered. Note: In the URL, encode any "#"s that are in your parameters as "%2523". Since this parameter gives users who don't have edit rights the ability to run a pagelist of their choosing, consider its security implications for your website before using it.%0a%0aSince version 2.2.71, it is possible to explicitely allow only certain parameters that can be overridden, or to disallow some parameters to be overridden. If you need this, instead of 1, enter the parameter names.%0a%0aAllow all parameters to be overridden: [@%0a(:pagelist request=1:)%0a@]%0a%0aAllow only 'order' and 'count' parameters to be overridden: [@%0a(:pagelist request=order,count:)%0a@]%0a%0aAllow all parameters to be overridden, except 'fmt' and 'trail', note the "minus" sign before each forbidden parameter: [@%0a(:pagelist request=-fmt,-trail:)%0a@]%0a%0a!!![[#pagelistreq]] req=1%0aThe @@req=1@@ parameter requires that search terms be posted (that is, that the user presses "search" on a search form, or follows a link with additional parameters like [@[[Page?q=terms&order=-name]]@]) before the pagelist is executed. Note that [@(:pagelist request=1 req=1:)@] works mostly like [@(:searchresults:)@] without the lines "''Results of search for ...''" and "''X pages found out of Y pages searched''". Both "request=1" and "req=1" are needed. %0a%0aWhen a search is performed, either via a searchbox directive, or via the search form of the skin, if the page contains a "searchresults" directive, that page will be used to display the results of the search; if the page doesn't have a "searchresults" directive, the page Site.Search will be used to display the results.%0a%0a!!![[#pagelistpasswd]] passwd=%0aThe "[@passwd@]" option returns only those pages that have some sort of password attribute on them.%0a%0a!!![[#pagelistif]] if=%0aThe "[@if@]" option allows a condition to be specified as part of the pagelist processing, rather than from within the [[page list template(s)]]. Only those pages for which the condition is true are retrieved. Anything that could [[ConditionalMarkup | go within an [@(:if ...:)@]]] can be used as a condition. For example%0a%0a [@(:pagelist if="date {(ftime %25GW%25V {*$Name})} {=$Name}" :)@]%0a%0areturns all of the pages where the name is in the same week as that of the current page.%0a%0aIf any arguments within the quotes could contain a space they must be quoted:%0a%0a [@(:pagelist if="date 2009-01-01..2009-12-31 '{=$:Mydate}'" :)@]%0a%0a!!![[#pagelistorder]] order=%0a%0aThe "[@order=@]" option allows the pages in the list to be sorted according to different criteria. Use a minus sign to indicate a reverse sort. Multiple sorting criteria can be specified using a comma, and you can create your own [[(PmWiki:)custom pagelist sort order]]:%0a* [@order=name@] - alphabetically by name (default order)%0a* [@order=$Name@] - alphabetically by name across groups%0a* [@order=title@] - alphabetically by title rather than names%0a* [@order=time@] - most recently changed pages '''last'''%0a* [@order=ctime@] - time of page creation (see note)%0a* [@order=group,title@] - by multiple criteria, in this instance sort by title within groups%0a* [@order=random@] - shuffle the pages into random sequence%0a* [@order=$:pagetextvarname@] - alphabetically by [[PageTextVariables|page text variable]] value (note no braces)%0a* [@order=$pagevarname@] - alphabetically by [[PageVariables|page variable]] value (note no braces)%0a%0aAlso, the [@order=@] option allows custom ordering functions to be written.%0a%0a* Note: trail= preserves the order of the pages as they appear on the trail (unless you've specified order= explicitly or there is a default order in the page list template). So PmWiki's alphabetical default order does not apply when trail= is specified.%0a* Note: ctime was added to pages only from pmwiki 2.1.beta15 onwards, pages created by earlier versions don't carry a ctime attribute and can't be sorted that way.%0a%0a[[#pagelistcache]]%0a!!! cache=0%0aPagelist has the capability to cache lists which greatly speeds up processing (when [[PmWiki/PagelistVariables#PageListCacheDir|$PageListCacheDir]] is set). Every once in a while this caching can result in undesired results. Specifying @@cache=0@@ disables caching.%0a%0a%0a[[#includevariable]]%0a!!!! Specifying variables as parameters%0aYou can also specify variable values inline with the pagelist statement, and refer to the variables in the template using the [@{$$variable1}@] format:%0a-> [@(:pagelist fmt=#pagelist variable1="value" variable2="value2":)@]%0a%0aThis assumes that a site has $EnableRelativePageVars enabled (default since 2.2.9).%0a%0aFor example, in the template:%0a%0a(:markup:)%0a>>comment%3c%3c%0a[[#tvars]]%0a(:template default count=1 ParamName=Simon:)%0aHi, {$$ParamName}, how are you today?%0a[[#tvarsend]]%0a>>%3c%3c%0a(:markupend:)%0a%0aThis gives:%0a%0a(:markup class=horiz:)%0a(:pagelist fmt=#tvars ParamName="Sam":)%0a%0a(:pagelist fmt=#tvars ParamName="Sally":)%0a%0a(:pagelist fmt=#tvars:)%0a(:markupend:)%0a%0a''See also $EnableUndefinedTemplateVars.'' %0a%0a!! Examples%0a%0aInclude the contents of a random page from the Banners group:%0a->[@(:pagelist group=Banners order=random count=1 fmt=#include list=normal:)@]%0a%0aDisplay a simple list of the last ten recently changed pages:%0a->[@(:pagelist trail=Site.AllRecentChanges count=10 fmt=#simple:)@]%0a%0aDisplay the "top twenty" biggest cookbook pages:%0a->[@(:pagelist group=Cookbook order=-size count=20 :)@]%0a%0a!![[#searchbox]] The Searchbox Directive%0a%0aThe [@(:searchbox:)@] directive generally accepts the same parameters as [@(:pagelist:)@] and [@(:input text:)@] directives:%0a* Pagelist parameters can be added to the input text of a searchbox (or to the markup, or both)%0a* Input text box parameters can be added to the searchbox markup%0a** An initial search string can be specified in the searchbox markup, but it must be in the form @@value='search string'@@. That search string is displayed in the input text and can be modified by when the search is run.%0a** An optional placeholder value can be specified in the form @@placeholder="Search"@@. In recent browsers, this value appears gray in the search field when it is empty. Note, this attribute is valid HTML5 but if you use it in a HTML4 skin your page will not validate.%0a** Optionally, you can add @@aria-label@@ and other @@aria-*@@ accessibility attributes that will be attached to the input text field.%0a** The size of the text input field can be specified with the size parameter, where "size=40" would specify the current default value.%0a*** Tip: If more than one searchbox appears on a page, adding a blank initial value like this @@value=''@@, to the markup for each searchbox will prevent a search string for one box from populating all of the other boxes.%0a* The target page for displaying searchbox results can be set with the parameter @@target=''GroupName.PageName''@@. The default is the current page. %0a* The entire searchbox form can be overridden by defining the $SearchBoxFmt variable in one's configuration file. If $SearchBoxFmt is defined, then the parameters to [@(:searchbox:)@] are ignored, and the content of the $SearchBoxFmt variable are used instead.%0a%0aThe additional parameter @@label="Label"@@ can be used to change the label of the associated submit button:%0a%0a [@(:searchbox label="Search this wiki":)@]%0a%0aBy default, the input field has the "text" type for compatibility with HTML/XHTML. Alternatively, you can set it to the "search" input type for HTML5, see $SearchBoxInputType (some HTML5 skins already set this).%0a%0a[[#searchresults]]%0a!! The Searchresults directive%0aThe [@(:searchresults:)@] directive generally accepts the same parameters as [@(:pagelist:)@] and [@(:input text:)@] directives.%0a%0a%0a!!! Customizing "Results of search for..." and "3 pages found out of..."%0a%0aTo change the text surrounding the search results, customize the following and add it to ''local/config.php'' or ''$FarmD/local/farmconfig.php''. Note that @@'en'@@ should be changed to the localized language.%0a%0a->[@XLSDV('en', array(%0a 'SearchFor' => 'Results of search for %3cem>$Needle%3c/em>:',%0a 'SearchFound' => %0a '$MatchCount pages found out of $MatchSearched pages searched.'%0a));@]%0a%0aAlternatively, adjust the 'SearchFor' and 'SearchFound' phrases in your [[Internationalizations|translation pages]].%0a%0aThe $SearchResultsFmt variable can also be set in ''local/config.php'' or ''$FarmD/local/farmconfig.php''.%0a%0a->[@SDV($SearchResultsFmt, "%3cdiv class='wikisearch'>\$[SearchFor]%0a %3cdiv class='vspace'>%3c/div>\$MatchList%0a %3cdiv class='vspace'>%3c/div>\$[SearchFound]%3c/div>");@]%0a%0aYou can remove the lines above and below the generated list by adding this in config.php:%0a->[@$SearchResultsFmt = '$MatchList';@]%0a%0a!! See Also%0a* [[Site.PageListTemplates]] - default pmwiki pagelist templates%0a* [[Cookbook:PagelistTemplateSamples]] - contributed pagelist template samples%0a* [[PmWiki/PageListTemplates]] - how to create custom pagelist templates for the fmt= option%0a* [[(PmWiki/)PagelistVariables]] - ''local/config.php'' customizations%0a* [[Cookbook:Forms]] - documentation for [@(:input text:)@] markup, which applies to [@(:searchbox:)@]%0a* [[(PmWiki:)CustomPagelistSortOrder]] - creating custom order sort functions%0a* [[Cookbook:CustomPagelistSortOrderFunctions]] - {Cookbook.CustomPagelistSortOrderFunctions$:Summary}%0a* [[Cookbook:PageListMultiTargets]] - {Cookbook.PageListMultiTargets$:Summary}%0a* [[Cookbook:SearchResults]] - {Cookbook.SearchResults$:Summary}%0a* [[PageDirectives#attachlist]] - display a list of attachments%0a* [[PmWiki.Search]] - {Search$:Summary}%0a%0a!! [[#FAQ]] FAQ%0a%0a[[#faq]]%0a>>faq%3c%3c%0aQ: How PmWiki opens pages with PageStore?%0aA: When PmWiki needs to open a file for reading, it will ask the PageStore, %0aobjects one after another, in the order you have defined them in config.php,%0aif they have MyGroup.MyPage. The first PageStore object that finds this page%0awill return it and if there are more PageStores they will be not bothered.%0a%0aWhen you define a PageStore object with paths like%0a[@wiki.d/{$Group}/{$FullName}@] and then ask "is there a page MyGroup.MyPage",%0athe PageStore only checks "is there a file wiki.d/MyGroup/MyGroup.MyPage" so%0ait will only look in the wiki.d/MyGroup sub-directory, not in other%0asubdirectories.%0a%0aWhen you write a page, only the first PageStore object is used, that is%0ausually $WikiDir. This way we can have documentation in wikilib.d but if you%0amodify a page from the PmWiki or Site groups on your wiki, it will be saved%0ain wiki.d and from now on only the file in wiki.d will be read and written.%0a%0aQ: What is the behavior of pagelist and searchresults when only name or word is provided?%0aA: Both pagelist and searchresults are searching for all groups unless either%0a(there is a group=ThisGroup argument in the markup or in the search field),%0aor (you have [@(:template default group=SomeGroup,{*$Group}:)@] in the pagelist%0atemplate), or (there is a @@request=1@@ argument in the markup and there is%0asomehow a @@$_REQUEST['group']@@ variable, eg from a search form or from the%0aurl), or (you set some @@$SearchPatterns['xy']@@ and @@list=xy@@), or (set a default%0a@@$MakePageListOpt['group']@@ or @@$SearchBoxOpt['group']@@).%0a%0aIf one option is not used, then this option should not be predefined. If%0athere is no needle show all pages; if @@group=@@ is not used show all groups; if%0a@@name=@@ is not used show all names; if @@link=@@ is not used show pages linking or%0anot linking to anywhere; if @@count=@@ is not used show all pages instead of a%0aportion of them. (The only exception is the @@order=@@ option which defaults to%0a@@order=name@@ because without it the results may be ordered inconsistently%0abetween page reloads, especially bad if you also use @@count=21..30@@.)%0a +time=1586673214 blob - /dev/null blob + c0e7ee5ea9936f4fcefe0bfd73fd14ebad7a59b7 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageTextVariables @@ -0,0 +1,10 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Add $DefaultUnsetPageTextVars, $DefaultEmptyPageTextVars. +ctime=1159470179 +name=PmWiki.PageTextVariables +rev=156 +targets=PmWiki.Name,PmWiki.FullName,Cookbook.InternationalPTVs,PmWiki.PageTextVariables-Talk,PmWiki.TextFormattingRules,PmWiki.PageDirectives,PmWiki.PageVariables,PmWiki.PageListTemplates,PmWiki.IncludeOtherPages,PmWiki.PageLists,Site.PageListTemplates,Site.LocalTemplates,PmWiki.ConditionalMarkup,PmWiki.BasicVariables +text=(:Summary:Page variables automatically made available through natural or explicit page markup:)%0a(:if false:)%0a[[#singleline]]%0a[-[[{=$FullName}|+]],-] \%0a[[#singlelineend]]%0a(:ifend:)%0a%0aPage text variables are string variables created in the wiki text of a page, and can be automatically made available for inclusion in other pages. In the default installation, PageTextVariables can only have a name containing basic Latin/Roman (ASCII) letters, digits, dash and underscore. This is a limitation for international wikis (experimental recipe for international PTV : Cookbook:InternationalPTVs). %0a%0a[[#defining]]%0a!! Defining Page Text Variables%0a%0aThere are three ways to define automated Page Text Variables ([[PmWiki:PageTextVariables-Talk#new_patterns|more patterns]] can be defined if needed) :%0a%0a* use a [[TextFormattingRules#DefinitionLists | definition list]] - the normal pmwiki markup for a definition list will create a page text variable%0a(:markup caption='Example definition list:' class="horiz":)%0a:Name: Crisses%0a"{$:Name}"%0a(:markupend:)%0a->This creates a new variable that can be accessed by [@{$:Name}@] (becomes: "{$:Name}") in the page.%0a%0a* use a simple colon delimiter in normal text%0a(:markup caption='Example colon delimited:' class="horiz":)%0aAddress: 1313 Mockingbird Lane%0a%0a"{$:Address}"%0a(:markupend:)%0a->This creates the [@{$:Address}@] variable (variable markup becomes: "{$:Address}") in the page.%0a%0a* hidden [[PmWiki/PageDirectives | directive]] form - PmWiki markup that doesn't render on the page, but defines the variable%0a(:markup caption='Example directive:' class="horiz":)%0a(:Country: Transylvania :)%0a"{$:Country}"%0a(:markupend:)%0a->This creates the [@{$:Country}@] variable (variable markup becomes: "{$:Country}") in the page.%0a%0a[[#default]]%0a!! Default values for unset or empty Page Text Variables%0a%0aIf a page text variable is not [[#defining|defined in a page]], or if the current visitor doesn't have read permissions for the page containing the variable definition, then the markup to access the variable like [@{$:Country}@] will return an empty string.%0a%0aAn administrator can define default values for such cases (PmWiki 2.2.121+). The following arrays can be defined in local/config.php:%0a%0a $DefaultUnsetPageTextVars = array(%0a 'SpecificVariable' => 'SpecificVariable is unset',%0a '*PartialMatch*' => 'some value',%0a '*' => '(unset)',%0a );%0a %0a $DefaultEmptyPageTextVars = array(%0a 'SpecificVariable' => 'SpecificVariable is set, but empty',%0a '*' => '(empty)',%0a );%0a%0aIn the above examples, [@{$:SpecificVariable}@] or [@{OtherPage$:SpecificVariable}@] will output the value defined:%0a* in $DefaultUnsetPageTextVars if the variable is not defined in the page text, or if the user doesn't have read permissions for OtherPage%0a* in $DefaultEmptyPageTextVars if the user has read permissions, and the variable is defined but empty, for example [@(:SpecificVariable::)@].%0a%0aThe patterns are processed in order, and the first matching pattern assigns the value to the variable. The asterisk [@*@] matches any string, in the above examples an undefined variable that doesn't match 'SpecificVariable' or '*PartialMatch*' will output '(unset)'.%0a%0a%0a[[#usage]]%0a!! Usage%0a[[#usagesamepage]]%0a!!! Usage on the same page%0a%0aOn the same page you can resolve page text variables through the [@{$:Var}@] format (shown above).%0a%0a[[#specialreferences]]%0a!!! Usage in headers and footers: special references%0a%0aIf you want a GroupHeader, GroupFooter, SideBar, etc to call on page text variable in the main page, you need to include special reference information. %0aTo explicitly reference the page text variable from the page being displayed add an asterisk to the page text variable's markup: [@{*$:Address}@] on the GroupFooter or GroupHeader page. %0a(:markup caption='Example' class=horiz:)%0a{*$:Mountain} \\%0a{*$Namespaced}%0a(:markupend:)%0aTo include a page text variable ''from'' a header or footer see [[#usageotherpage |usage from other pages]] below.%0a-%3c Special references also apply to [[page variables(#specialreferences)]] and [[page list templates(#specialreferences)]].%0a%0a%0a[[#usageotherpage]]%0a!!! Usage from other pages%0a%0aIf you want to pull the data from another page, use the [@{Group/PageName$:Var}@] format.%0a(:markup caption='Example:' class="horiz":)%0aSuburb: Khandallah%0a(:Lake:Taupo:)%0a:Mountain:Mt Ruapehu%0a%0a->"{PmWiki/PageTextVariables$:Suburb}"%0a->"{{$FullName}$:Lake}"%0a->"{PmWiki/PageTextVariables$:Mountain}"%0a(:markupend:)%0a%0a[[#usageincludedpage]]%0a!!! Usage from included pages%0a%0aPage text variables are never [[IncludeOtherPages|included]] from their source page.%0aSee [[#usageotherpage|Usage from other pages]] above to refer to a page text variable on another page.%0a%0a[[#pagelists]]%0a!!! Usage with pagelists%0a%0a[[Page lists]] can also access the page text variables:%0a(:markup caption='Example:' class="horiz":)%0a(:pagelist group=PmWiki order=$:Summary count=6 fmt=#singleline:)%0a(:markupend:)%0a%0aAnd to create pagelist formats (such as those documented at [[Site.Page List Templates]], [[PmWiki/Page Lists]], [[PmWiki/Page List Templates]], [[PmWiki/Page Variables]]. Store custom pagelists at [[Site.Local Templates]]).%0a%0a[[Page lists]] can also use page text variables to select pages :%0a(:markup caption='Example:' class="horiz":)%0a(:pagelist group=PmWiki $:City=Paris count=8 fmt=#singleline order=-name:)%0a(:markupend:)%0a->lists pages having '$:City' set to 'Paris'.%0a%0a(:markup caption='Example: multiple selections with spaces' class="horiz":)%0a(:pagelist group=PmWiki $:City="Addis Ababa,Paris" order=-$:Version count=8 fmt=#singleline:)%0a(:markupend:)%0a->'quotes' must surround ''all'' the selections.%0a%0a* When using page text variables for selection or ordering, don't put the curly braces around the variable name. The curly forms do a replacement before the pagelist command is evaluated. %0a* Link markup within the contents of a hidden page text variable directive (as opposed to other ways of specifying PTVs) will not be cached as a link on the page and thus won't be seen by pagelist's link= option. If you want the link to be found by link=, you need to specify the PTV using non-directive markup, or else put the link on the page even if it's hidden within a false conditional: [@(:Linkme: [[PageToLink]]:) (:if false:){$:Linkme}(:ifend:)@]%0a%0aThe page text variable value is always the text that is written in the page. %0aIt is only evaluated when the variable is printed/output to HTML. %0aTo sort by a page text variable variable, all values in all pages are the not-yet-evaluated text strings, and the pagelist order function does what it can with them. It does not process/evaluate the text at this point.%0a%0aE.g. With a page name in to format "yyyyMonth" it is simpler to use a @@PageVariable@@ calculated in @@config.php@@, not a @@PageTextVariable@@:%0a-> [@ $FmtPV['$NameToYearMonth'] = 'strftime("%25Y%25m", strtotime($name))';@]%0aThen use [@(:pagelist order=$NameToYearMonth:)@]%0a%0aAn alternative is writing in the wiki page:%0a-> [@(:MonthNum:07:)@]%0aas the markup expression that follows won't work:%0a-> [@(:MonthNum:{(ftime fmt=%25m when="{$Namespaced}")}:)@]%0a%0a[[#set]]%0a!!!! Testing if set or not set within a pagelist%0a|| border=0 cellpadding=4 rules=all%0a|| '''=-''' ||PTV is set (is not empty), eg [@(:pagelist $:Var=- :)@] ||%0a|| '''=-?*''' ||PTV is not set (is empty), ie not one character followed by 0 or more characters, eg. [@(:pagelist $:Var=-?* :) @] ||%0a|| '''=*''' ||display ''all'' pages, regardless of the page text variable (slow) ||%0a|| '''=-*''' ||display ''no'' pages, regardless of the page text variable (slow) ||%0a%0a%0a[-Tip : [@(:if ! equal "{$:PTV}" "":)@] will test if PTV is empty/unset or not.-]%0a%0a%0a(:markup caption='Example: Pages without a summary' class="horiz":)%0a(:pagelist group=PmWiki $:Summary=-?* count=6 fmt=#singleline:)%0a(:markupend:)%0a%0a[[#templates]]%0a!!! Use page text variable in a template%0aDisplay pages by Audience page text variable.%0a(:markup caption='Example:' class="horiz":)%0a>>comment%3c%3c%0a[[#byaudience]]%0a(:if ! equal '{=$:Audience}' '{%3c$:Audience}':)%0a-%3c'''{=$:Audience}''': %0a(:ifend:)%0a[[{=$Name}]]%0a[[#byaudienceend]]%0a>>%3c%3c%0a(:pagelist group=PmWiki count=10 fmt=#byaudience order=-$:Audience:)%0a(:markupend:)%0a%0a[[#conditionals]]%0a!!! Use page text variables in [[PmWiki/conditional markup]]%0aPage text variables will be assigned/evaluated '''before''' any conditional markup is evaluated. This effectively means that you cannot declare a PTV within an if...else condition; and also that a PTV will have a value even if it is set within a [@(:if false:)....(:if:)@] condition.%0a%0a[[#withincode]]%0a!!! Usage - from within code (developers only)%0a%0aThe standard @@PageVar($pagename,$varname)@@ function can return page text variables, but remember to include the dollar and colon like this:%0a%0a->@@$var=PageVar($pagename,'$:City')@@%0a%0aIt works by caching all page (text) variables it finds in a page (in @@$PCache@@) and returns the one requested. +time=1572426811 blob - /dev/null blob + 853b3a9f07301b3f0d6deb6b59cbc9e43a2f991a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PageVariables @@ -0,0 +1,12 @@ +version=pmwiki-2.2.109 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Despam +ctime=1135816487 +description=Documentation for "variables" that are associated with pages. +name=PmWiki.PageVariables +rev=115 +targets=PmWiki.PageVariables,PmWiki.Variables,Cookbook.Functions,PmWiki.FmtPageName,PmWiki.BasicVariables,PmWiki.MarkupExpressions,Site.PageNotFound,PmWiki.IncludeOtherPages,PmWiki.PageLists,PmWiki.PageTextVariables,PmWiki.PageListTemplates,PmWiki.OtherVariables,PmWiki.ConditionalMarkup,Cookbook.HttpVariables,Cookbook.MoreCustomPageVariables,PmWiki.MarkupMasterIndex,Category.PmWikiDeveloper +text=(:title Page specific variables:)%0a(:description Documentation for "variables" that are associated with pages. :)%0a(:Summary: variables that are associated with pages:)%0a(:Audience: authors (intermediate) :)%0a%0a[[#desc]]This page describes the "variables" that are associated with pages. Page variables have the form @@{$''variable''}@@, and can be used in page markup or in certain formatting strings in PmWiki. For example, the markup "[@{$Group}@]" renders in this page as "{$Group}".%0a%0aNote: Do not confuse these variables (set and used only in PmWiki pages) with [[PmWiki/Variables|PHP variables]]. Page variables can be read in PHP with the [[Cookbook:Functions#PageVar|PageVar()]] function.%0a%0aNote that these variables do not necessarily exist in the PHP code, because they have to be determined for a specific page. (However, they are usable in [[FmtPageName]] strings.)%0a%0aThere is also the form @@{''pagename''$''variable''}@@, which returns the value of the variable for another page. For example, "[@{MarkupMasterIndex$Title}@]" displays as "{MarkupMasterIndex$Title}".%0a%0a%0a!! Default page variables%0a%0aThe page variables defined for PmWiki are:%0a%0a->[@{$Action}@] - page's url action argument, as in "{$Action}"%0a->[@{$BaseName}@] - page's "base" form (stripping any prefixes or suffixes defined via @@$BaseNamePatterns@@) as in "`{$BaseName}"%0a->[@{$DefaultGroup}@] - default group name, as in "{$DefaultGroup}"%0a->[@{$DefaultName}@] - name of default page, as in "`{$DefaultName}" (take note also of $PagePathFmt for setting a homepage for a group)%0a->[@{$Description}@] - page's description from the [@(:description:)@] markup, as in "{$Description}"%0a->[@{$FullName}@] - page's full name, as in "`{$FullName}"%0a->[@{$Group}@] - page's group name, as in "`{$Group}"%0a->[@{$Groupspaced}@] - spaced group name, as in "{$Groupspaced}"%0a%0a->[@{$LastModified}@] - date page was edited, as in "{$LastModified}"%0a->[@{$LastModifiedBy}@] - page's last editor, as in "{$LastModifiedBy}"%0a->[@{$LastModifiedHost}@] - IP of page's last editor, as in "{$LastModifiedHost}"%0a->[@{$LastModifiedSummary}@] - Summary from last edit, as in "{$LastModifiedSummary}"%0a->[@{$LastModifiedTime}@] - time page was edited in unix-style timestamp, as in "{$LastModifiedTime}"%0a-->This can be used (preceded by '@') in [[PmWiki.MarkupExpressions#ftime|[@{(ftime)}@]]] and other date/time markups.%0a%0a->[@{$Name}@] - page name, as in "`{$Name}"%0a->[@{$Namespaced}@] - spaced page name, as in "{$Namespaced}"%0a->[@{$PageUrl}@] - page's url, as in "{$PageUrl}"%0a->[@{$PasswdRead}@] - "read" permissions for the page e.g. "{$PasswdRead}"%0a->[@{$PasswdEdit}@] - "edit" permissions for the page e.g. "{$PasswdEdit}"%0a->[@{$PasswdAttr}@] - "attr" permissions for the page e.g. "{$PasswdAttr}"%0a->[@{$RequestedPage}@] - page requested in URL, used on [[Site.PageNotFound]]. e.g. "{$RequestedPage}"%0a->[@{$SiteGroup}@] - default interface group name for e.g. SideBar, forms, templates, as in "{$SiteGroup}"%0a->[@{$SiteAdminGroup}@] - default administrative group name for e.g. AuthUser, Blocklist, as in "{$SiteAdminGroup}"%0a->[@{$WikiTitle}@] - title of the website, as in "{$WikiTitle}"%0a->[@{$Title}@] - page title (may differ from Name), as in "{$Title}"%0a->[@{$Titlespaced}@] - either the page title (if defined), or the spaced page name, as in "{$Titlespaced}"%0a%0aIn addition to the above, there are some page-invariant variables available through this markup:%0a%0a->[@{$Author}@] - the name of the person currently interacting with the site, as in "{$Author}"%0a->[@{$AuthId}@] - current authenticated id, as in "{$AuthId}" %25red%25note the lower case 'd'.%25%25%0a%0a->[@{$Version}@] - PmWiki version, as in "{$Version}"%0a->[@{$VersionNum}@] - The internal version number, as in "{$VersionNum}"%0a->[@{$ScriptUrl}@] - The url to the pmwiki script, as in "{$ScriptUrl}"%0a%0a%0a[[#specialreferences]]%0a!! Special references%0aSpecial referenced variables are used to specify the context of the variable when:%0a* the variable is [[PmWiki/IncludeOtherPages|included]] into a destination (target) page%0a* the variable is used in a sidebar, header, or footer.%0a%0aPrefixing the variable name with an asterisk (*) means the variable's value is related to the browsed page or main (body) page.%0a%0a* @@{'''[@*$@]'''PageVariablename}@@ - prefixed by an asterisk (*) - value reflects the context of the browsed page.\\%0a Without the asterisk the variable's value is provided by the page from which it originates, eg source page of include, sidebar, or header or footer.\\%0a With asterisk the value will be provided by the browsed page, even if the markup comes from an included page or from a sidebar.%0a* @@{'''[@$@]'''PageVariablename}@@ - retains value in source page context.%0a* @@{'''[@=$@]'''PageVariablename}@@ - used only in [[PageLists|pagelist]] templates to print the variable provided by each page from the pagelist.%0a%0a-%3c See also $EnableRelativePageVars.%0a-%3c Special references are also used in [[page text variables(#specialreferences)]] and [[page list templates(#specialreferences)]].%0a%0aFor example you can test to see if the page is part of another page%0a(:markup:)%0a(:if ! name {$FullName}:) %0a%25comment%25 name of this page is not the same as the page this text was sourced from%0a->[[{$FullName}#anchor | more ...]]%0a(:ifend:)%0a(:markupend:)%0aor refer to the main page in a sidebar, footer, or header%0a(:markup class=horiz:)%0aThis page is [[{*$FullName}]]%0a(:markupend:)%0a%0a[[#specialreferencesend]]%0a%0a[[#security]]%0a!! Page variable security ($authpage)%0a%0aThe form @@{''pagename''$''variable''}@@ or some [[PageLists]], can display the values for other pages, regardless of the password protections. %0a%0aIf the other pages are protected and the visitor has no read permissions, PageVariables, unlike [[PageTextVariables]], normally display the values. While most variables do not contain sensitive information, some of them could do: $Title, $Description and those starting with $LastModified.%0a%0aAdministrators and module developers can redefine the sensitive page variables to respect authentications, by using the "$authpage" variable instead of "$page" in the definition. The following snippet can be added in local/config.php -- it will rewrite the default possibly sensitive definitions to the secure ones.%0a%0a[@%0aforeach($FmtPV as $k=>$v) {%0a if(preg_match('/^\\$(Title(spaced)?|LastModified(By|Host|Summary|Time)?|Description)$/', $k))%0a $FmtPV[$k] = str_replace('$page', '$authpage', $v);%0a}%0a@]%0a%0a%0a[[#custompv]]%0a!! Custom page variables%0a%0aYou may add custom page variables as a local customization. In a local configuration file or a recipe script, use the variable $FmtPV:%0a%0a->[@%0a$FmtPV['$VarName'] = "'variable definition'";%0a$FmtPV['$CurrentSkin'] = '$GLOBALS["Skin"]';%0a$FmtPV['$WikiTitle'] = '$GLOBALS["WikiTitle"]';%0a@]%0a%0aDefines new Page Variable of name $CurrentSkin, which can be used in the page with [@{$CurrentSkin}@] (also for [[Conditional markup]]). It's necessary to use the single quotes nested inside double-quotes as shown above (preferred) or a double-quoted string nested inside single-quotes like ''[@'"this"'@]''.%0a%0aYou can make a string a Page Variable by adding the string to the $GLOBALS[] array first.%0a%0a->[@%0a## Create a {$BaseUrl} page variable%0a$GLOBALS['BaseUrl'] = $UrlScheme."://".$_SERVER["HTTP_HOST"]."/Wiki";%0a$FmtPV['$BaseUrl'] = '$GLOBALS["BaseUrl"]';%0a@]%0a%0aYou can also have a function create the string.%0a%0a->[@%0a## Create a {$BaseUrl} page variable%0afunction BaseUrl() { %0a global $UrlScheme;%0a return $UrlScheme."://".$_SERVER['HTTP_HOST']."/Wiki"; %0a}%0a$FmtPV['$BaseUrl'] = 'BaseUrl()';%0a@]%0a%0a>>frame%3c%3c%0aPlease note that the values of the elements of $FmtPV are @@eval()@@ed so '''always sanitize any user input'''. The following is very insecure[=:=]%0a%0a->[@$FmtPV['$Var'] = $_REQUEST['Var'];@] %25red%25# critically insecure, allows PHP code injection%25%25\\%0a[@$FmtPV['$Var'] = '"'. addslashes($_REQUEST['Var']).'"';@] %25red%25# critically insecure, allows PHP code injection%25%25%0a%0aSee the recipe Cookbook:HttpVariables for a better way to use these variables.%0a>>%3c%3c%0a%0a!! See also%0a%0a* [[Cookbook:More custom page variables]]%0a* [[PmWiki.Variables]] — about variables internal to PmWiki.%0a* [[PmWiki.MarkupMasterIndex]] — complete list of PmWiki markups.%0a* [[PmWiki/PageTextVariables]] — page variables automatically made available through natural page markup or explicit page markup within the wiki text of the page.%0a* [[PmWiki.Markup Expressions]] — markup expressions can manipulate page variables%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ:Is there a variable like $LastModified, but which shows me the creation time?%0aA:No, but you can create one in config.php. For instance:%0a->[@# add page variable {$PageCreationDate} in format yyyy-mm-dd%0a$FmtPV['$PageCreationDate'] = 'strftime("%25Y-%25m-%25d", $page["ctime"])';@]%0a%0aIf you like the same format that you define in config.php with $TimeFmt use%0a[@ $FmtPV['$Created'] = "strftime(\$GLOBALS['TimeFmt'], \$page['ctime'])";%0a@]%0a%0aQ: How can I test if a variable is set and/or not empty?%0aA: Use @@[=(:if ! equal "{$Variable}" "":) $Variable is not empty. (:ifend:)=]@@. Note that undefined/inexistent variables appear as empty ones.%0a%0aCategories: [[!PmWiki Developer]] +time=1538373726 +title=Page specific variables blob - /dev/null blob + 136201292cd547a1344c39ce420c663f40f3dde9 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PagelistVariables @@ -0,0 +1,10 @@ +version=pmwiki-2.2.125 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=hidden subdir (+28) +ctime=1136054369 +name=PmWiki.PagelistVariables +rev=40 +targets=PmWiki.PagelistVariables,PmWiki.CustomPagelistSortOrder,PmWiki.PageLists,Cookbook.SearchPatterns,PmWiki.PathVariables,Site.LocalTemplates,Site.PageListTemplates,PmWiki.IncludeOtherPages,PmWiki.PageListTemplates +text=(:Summary:variables used with [[PmWiki/page lists]] and search results:)%0a:$EnablePageListProtect:When set to 1 (which is the default), causes [@(:pagelist:)@] and [@(:searchresults:)@] to exclude listing any pages for which the browser does not currently have read authorization. Setting this to zero means that read-protected pages can appear in a listing, but can also speed up searches considerably (because page permissions do not need to be checked).%0a%0a:$PageListSortCmpFunction:The function used to compare values when ordering a page list, for historical reasons the default is '[[(http://php.net/)strcasecmp]]' and sorts alphabetically and case insensitively. If you regularly order numbers or strings with numbers, you can set this variable to '[[(http://php.net/)strnatcasecmp]]' and the list will be sorted according to a [[https://github.com/sourcefrog/natsort#readme|natural order]], case insensitively:\\%0a[@ $PageListSortCmpFunction = 'strnatcasecmp';# "natural" sorting of pagelists@]\\%0aOr you can write here the name of a custom function you have defined. This is the general sorting function, for specific needs you can create specific functions, see [[(PmWiki:)CustomPagelistSortOrder]].%0a%0a:$PageListVarFoldFn: PageList and Search terms, including page variable search terms are always case insensitive for the Latin alphabet. For international characters the page variable terms were case sensitive until PmWiki 2.2.115, and became case insensitive from 2.2.116 (like for the Latin characters). If your pagelists relied on the previous behavior, you can set here a function name that does not change the case of the international characters, for example [@$PageListVarFoldFn = 'strval';@]%0a%0a:$SearchPatterns:An array of page name patterns to be required or excluded from search and [[PmWiki/PageLists|pagelist]] results. In order to be included in a search listing or page listing, a page's name must not match any pattern that is delimited by exclamation points (!) and must match all other patterns. See [[Cookbook:SearchPatterns]].%0a--> [@# Limit all searches to Main group%0a$SearchPatterns['default'][] = '/^Main\\./';%0a# Exclude the Main group from search results%0a$SearchPatterns['default'][] = '!^Main\\.!';%0a# Exclude RecentChanges pages from search results%0a$SearchPatterns['default'][] = '!\\.(All)?RecentChanges$!';%0a# Prevent a page from listing itself in (:pagelist:) or (:searchresults:)%0a$SearchPatterns['default'][] = FmtPageName('!^$FullName$!', $pagename);%0a@]%0a%0a:$SearchBoxOpt:%0a--> For example [@ $SearchBoxOpt ['target'] = '$DefaultGroup.Search'; @]%0a%0a:$SearchBoxInputType:The HTML "type" attribute for the search field. Default is "text" which is valid HTML4. If your skin uses HTML5, you can change this to "search":%0a--> @@ $SearchBoxInputType = "search";@@%0a%0a%0a:$EnablePageIndex:When set to 0, disables default indexing. By default PmWiki maintains a "link and word index" in $PageIndexFile which significantly speeds up categories, backlinks, and searches.%0a%0a:$PageIndexFile:The location of the "page index" file for [@(:pagelist:)@], defaults to @@$WorkDir/.pageindex@@.%0a%0a:$PageListCacheDir:The name of a writable directory where PmWiki can cache results of [@(:pagelist:)@] directives to speed up subsequent displays of the same list. Default is empty, which disables the pagelist cache.%0a--> [@# Enable pagelist caching in work.d/.pagelistcache%0a$PageListCacheDir = 'work.d/.pagelistcache';%0a@]%0a%0a:$PageSearchForm:The page to be used to format search results for [@?action=search@] (unless the current page has a "searchresults" directive in it). This variable can be an array, in which case the first page found from the array is used.%0a--> [@# Simple use of page search form in the default group%0a$PageSearchForm = '$DefaultGroup.Search';%0a@]%0a--> [@# Use Search page in current group if it exists, otherwise use Site.Search%0a$PageSearchForm = array('$Group.Search', '[=$[$SiteGroup/Search]=]');%0a@]%0a%0a:$FPLTemplatePageFmt:The pages to be searched for a pagelist template specified by a [@fmt=#xyz@] parameter. Defaults to searching the current page, [[Site.LocalTemplates]] and [[Site.PageListTemplates]].%0a%0a--> [@# PMWiki default setup%0aglobal $FPLTemplatePageFmt;%0a$FPLTemplatePageFmt = array(%0a '{$FullName}', %0a '{$SiteGroup}.LocalTemplates', %0a '{$SiteGroup}.PageListTemplates');@]%0a%0a-> It can be customized to look in other pages.%0a%0a--> [@# Search a Group.Templates page as well as the Site templates%0aglobal $FPLTemplatePageFmt;%0a$FPLTemplatePageFmt = array(%0a '{$Group}.Templates',%0a '{$SiteGroup}.LocalTemplates',%0a '{$SiteGroup}.PageListTemplates');@]%0a%0a-> Or declare defaults for the template array:%0a--> [@# Search a Group.Templates page as well as the Site templates%0aglobal $FPLTemplatePageFmt;%0aSDV($FPLTemplatePageFmt, array('{$FullName}',%0a '{$Group}.Templates',%0a '{$SiteGroup}.LocalTemplates', '{$SiteGroup}.PageListTemplates')%0a );@]%0a%0a:$EnableUndefinedTemplateVars: This variable controls how undefined [={$$Variable}=] is processed in [[IncludeOtherPages|includes]] and [[PageList templates]]. If set to 0 (default), undefined [={$$Variable}=]s are removed from the included section or template. If set to 1, undefined [={$$Variable}=]s are displayed as is, with {$$...}. ''Note that PmWiki versions 2.2.13 and earlier '''kept''' unset include/template variables.''%0a: : @@$EnableUndefinedTemplateVars = 0;@@ # Delete unset raw template variables%0a: : @@$EnableUndefinedTemplateVars = 1;@@ # Keep and print unset raw template variables%0a +time=1580365171 blob - /dev/null blob + 3071f191103ba31d0895f841398949d764a54316 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Passwords @@ -0,0 +1,11 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=rm manual TOC, add !!FAQ +description=General use of passwords and login +name=PmWiki.Passwords +post= Save +rev=240 +targets=PmWiki.PasswordsAdmin,Category.Spam,PmWiki.PmWiki,PmWiki.WikiGroup,PmWiki.Security,PmWiki.AvailableActions,PmWiki.SpecialPages,PmWiki.GroupAttributes,PmWiki.Uploads,SiteAdmin.AuthList,PmWiki.SecurityVariables,PmWiki.AuthUser,Cookbook.SessionSecurityAdvice,PmWiki.ConditionalMarkup,PITS.01417,PmWiki.IncludeOtherPages,Cookbook.Cookbook +text=(:Summary:General use of passwords and login:)(:Audience: authors :)(:Description General use of passwords and login:)%0a%0a[[PmWiki]] has built-in support for password-protecting various areas of the wiki site. Authors generally want to be able to apply passwords to individual pages or to [[wiki group]]s. Wiki Administrators can apply passwords to individual pages, to wiki groups, or to the [[PasswordsAdmin#settingsitewidepasswords|entire site]]. Setting an edit password on a [[#pageattr|page]] or [[#groupattr|group]] (or [[#siteattr|the entire site]]) is one of the most common ways to stop [[!spam]]. As with any access control system, the password protection mechanisms described here are only a small part of overall system and wiki [[security]].%0a%0a!! As an author editing pages...%0aAn author will generally set 3 types of passwords:%0a# to control who can see a page or group, use @@read@@ passwords%0a# to control who can edit a page or group, use @@edit@@ passwords%0a# to control who can alter the passwords used to protect a page or group, use @@attr@@ passwords%0a%0aIf required most [[AvailableActions|page actions]] can be password protected.%0a%0a[[#pageattr]]%0a!!! Protect an individual page%0aTo set a password on an individual wiki page, add the [[AvailableActions|page action]]%0a->@@?action=attr@@ %0ato the page's URL (address) to access its attributes. Using the form on the attributes page, you can set or clear the @@read@@, @@edit@@, or @@attr@@ passwords on the page. In the form you enter the passwords as cleartext; PmWiki encrypts them for you automatically when it stores them. %0a%0aAdditional options:%0a* Leaving a field blank will leave the attribute unchanged. %0a* To remove a password from a page (''reverting back'' to the group's or site's default), enter %0a--> @@ clear @@%0a* To indicate that the page can be edited ''even if a group or site password is set'', enter %0a--> @@ @nopass @@%0a* To lock a page for everybody but the admin, enter %0a--> @@ @lock @@%0a* To assign the site's site-wide passwords to the @@read@@, @@edit@@, or @@attr@@ password for the page, enter %0a--> @@ @_site_edit, @_site_read or @_site_upload @@%0a%0a[[#groupattr]]%0a!!! Protect a wiki group of pages%0aTo set a password on a [[wiki group]] is slightly more difficult -- you just set the passwords on a [[special page(s)]] in each group called %0a->[[GroupAttributes]]%0a%0aFirst, you can get to the attributes page for `GroupAttributes by entering a URL (address) like %0a->[@http://example.com/pmwiki/pmwiki.php?n=GroupName.GroupAttributes?action=attr@]%0aReplace example.com with your domain name, and GroupName with the name of the group%0a%0aThen, using the form on the attributes page, you can set or clear the @@read@@, @@edit@@, or @@attr@@ passwords for the entire group. In the form you enter the passwords as cleartext; PmWiki encrypts them for you automatically.%0a%0aAdditional options:%0a* To remove a password from a group (''reverting back'' to the site's default), enter %0a-->@@clear@@%0a* To indicate that the group can be edited ''even if a site password is set'', enter %0a-->@@@nopass@@%0a* To lock a group for everybody but the admin, enter %0a-->@@@lock@@%0a* (Beginning with Ver 2.2.3) To assign the site's site-wide passwords to the @@read@@, @@edit@@, or @@attr@@ password for the group, enter %0a--> @@ @_site_edit, @_site_read or @_site_upload @@%0a%0a%0a!!! Passwords%0aPasswords may consist of any combination of characters, except double "quotes" or 'apostrophes'.%0aPasswords with spaces or colons must be entered using quotes, eg "foo bar" or "foo:bar".%0aObviously longer is [[Wikipedia:Password_strength|better]], and on some systems passwords need to have 4 or more characters.%0a%0a!!! Multiple passwords%0aMultiple passwords for a page, group or site are allowed. %0aSimply enter multiple passwords separated by a space. This allows you to have a read password, a write password, and have the write password allow read/write access. In other words, if the read password is %0a->alpha%0aand the edit password is %0a->beta%0athen enter%0a-> [@Set new read password: alpha beta%0aSet new edit password: beta@]%0a%0aThis says that either %0a->alpha%0aor %0a->beta%0acan be used to read pages, but only %0a->beta%0amay edit. Since PmWiki checks the passwords you've entered since the browser has been opened, entering a read password that is also a write password allows both reading and writing.%0a%0a[[#siteattr]]%0a!!! Protect the site%0aPasswords can be applied to the entire wiki website in ''config.php''.%0aSee [[PasswordsAdmin#settingsitewidepasswords|passwords]] administration for details.%0a%0a%0a%25audience%25 administrator%0a%0a[[#administrators]]%0a!! As an administrator ...%0a%0aYou can set passwords on pages and groups exactly as described above for authors. You can also:%0a# set site-wide passwords for pages and groups that do not have passwords%0a# use @@attr@@ passwords to control who is able to set passwords on pages%0a# use @@upload@@ passwords to control access to the file [[upload(s)]] capabilities (if uploads are enabled)%0a# use an @@admin@@ password to override the passwords set for any individual page or group%0a# use [[SiteAdmin.AuthList]] to view the permissions settings for pages that have permissions set. %0aFor more information on password options available to administrators, see [[PasswordsAdmin]].%0a%0a!! [[#priority]]Which password wins?%0aIn PmWiki, page passwords override group passwords, group passwords override the ''default'' passwords, and the @@admin@@ password overrides all passwords. This gives a great deal of flexibility in controlling access to wiki pages in PmWiki. %0a%0aThe [[special page(s)]] [[SiteAdmin.AuthList]] is a page list of all pages with access permissions set.%0a%0a!! Opening access to pages in protected groups/sites%0aSometimes we want to "unprotect" pages in a group or site that is otherwise protected. In these cases, the special password %0a->@@ @nopass @@%0ais used to indicate that access should be allowed to a page without requiring a password. %0a%0aFor example, suppose `Main.GroupAttributes has an edit password set, thus restricting the editing of all pages in Main. Now we want `Main.WikiSandbox to be editable without a password. Using %0a->@@clear@@%0afor the edit password for `Main.WikiSandbox ''doesn't unprotect the page'', because the password is being set by the group. Instead, we set the edit password for `Main.WikiSandbox to the special value %0a->@@ @nopass @@%0awhich tells PmWiki to ignore any site-wide or group-level passwords for that page.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0a[[#site]]%0aQ: How can I password protect all the pages and groups on my site? Do I really have to set passwords page by page, or group by group?%0a%0aA: Administrators can set passwords for the entire site by editing the config.php file; they don't have to set passwords for each page or group. For example, to set the entire site to be editable only by those who know an "edit" password, an administrator can add a line like the following to local/config.php:%0a%0a-> @@ $DefaultPasswords['edit'] = pmcrypt('edit_password'); @@%0a%0aFor more information about the password options that are available only to administrators, see [[PasswordsAdmin]].%0a%0aQ: I get http error 500 "Internal Server Error" when I try to log in. What's wrong?%0a%0aA: This can happen if the encrypted passwords are not created on the web server that hosts the PmWiki.\\%0aThe [[http://php.net/crypt|PHP crypt() function]] changed during the PHP development, e.g. a password encrypted with PHP 5.2 can not be decrypted in PHP 5.1, but PHP 5.2 can decrypt passwords created by PHP 5.1.\\%0aThis situation normally happens if you prepare everything on your local machine with the latest PHP version and you upload the passwords to a webserver which is running an older version.\\%0aThe same error occurs when you add encrypted passwords to local/config.php.%0a%0aSolution: Create the passwords on the system with the oldest PHP version and use them on all other systems.%0a%0aQ: How can I create private groups for users, so that each user can edit pages in their group, but no one else (other than the admin) can?%0a%0aA: Modify the edit attribute for each group to id:username, e.g. set the edit attribute in JaneDoe.GroupAttributes to id:JaneDoe.%0a%0aThere is a more automatic solution, but it's probably not a good idea for most wikis. Administrators can use the [[(PmWiki:)AuthUser]] recipe and add the following few lines to their local/config.php file to set this up:%0a->[@$group = FmtPageName('$Group', $pagename);%0a$DefaultPasswords['edit'] = 'id:'.$group;%0ainclude_once("$FarmD/scripts/authuser.php"); @]%0aThis automatically gives edit rights to a group to every user who has the same user name as the group name. Unfortunately it also gives edit rights to such a user who is visiting a same-named group not just for pages in that group, but for any page on the wiki that relies on the site's default edit password. This can create security holes.%0a%0aQ: [[#farm]] How come when I switch to another wiki within a farm, I keep my same authorization?%0a%0aA: PmWiki uses PHP sessions to keep track of authentication/authorization information, and by default PHP sets things up such that all interactions with the same server are considered part of the same session.\\%0aFor security considerations about shared session pools, see the "Session injection" chapter in Cookbook:SessionSecurityAdvice.\\%0aTo fix the browser-side convenience issue, one easy way is to make sure each wiki uses a different cookie name for its session identifier. Near the top of one of the wiki's @@local/config.php@@ files, before calling authuser or any other recipes, add a line like:%0a-> [@session_name('XYZSESSID');@]%0aYou can pick any alphanumeric name for XYZSESSID; for example, for the cs559-1 wiki you might choose%0a-> [@session_name('CS559SESSID');@]%0aThis will keep the two wikis' session cookies independent of each other.%0a%0aQ: Is it possible to test the password level for display and/or if condition? Example: [= * (:if WriterPassword:) (display Edit link) (:ifend:) =]%0a%0aA: You can use [@(:if auth edit:)@]. See [[ConditionalMarkup]].%0a%0aQ: [[#condmarkup-secrets]] Can I use [@(:if …:)@] to hide secrets in a wiki page?%0a%0aA: You can, but [[usually that's not secure -> PITS:01417]].%0aThe recommended strategy is to put secrets in a separate page and restrict all read-related¹ access permissions to those users who are allowed to read the secrets.%0aTo display the secrets in another page, you can [[include( other pages)]] (parts of) the secrets page:%0aUsers with read access to the secrets will readily see them, whereas other users see nothing or (at your choosing) some other text, e.g. a login link.%0a-> ¹ Currently (version 2.2.99), these are: @@read@@ (would allow include), @@edit@@ (would show the source), @@attr@@ (would allow to obtain read/edit), @@diff@@ (would allow viewing any change), @@source@@ (allows raw source display)%0a%0aThe reason why [[Conditional Markup]] isn't suitable for access control is that it only applies for rendering wikitext as a web page, and that's just one of many ways to access a page's text.%0aIn order to rely on Conditional Markup for protection of secrets, you'd have to restrict all access methods that can circumvent it.%0aTo do so, you'd need to keep track of all methods available.%0aIn a default installation of PmWiki, some of the easy methods include: Editing a page, viewing its edit history, its source, or [[including fragments of it -> IncludeOtherPages]] into the edit preview of another page. (Preview: To avoid traces in RecentChanges.)%0aHowever, this list is far from exhaustive, and could easily grow with [[Recipes -> Cookbook/]] or future versions of PmWiki.%0a%0a +time=1567166082 blob - /dev/null blob + f0c7071bf1f93c1da6e3ad7c66647a83209209ca (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PasswordsAdmin @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add !! FAQ +name=PmWiki.PasswordsAdmin +post= Save +rev=204 +targets=PmWiki.Passwords,PmWiki.WikiGroup,PmWiki.Security,PmWiki.WikiAdministrator,Category.Spam,PmWiki.AvailableActions,PmWiki.SecurityVariables,PmWiki.AuthUser,PmWiki.PasswordsAdmin,Cookbook.RequireAuthor,Cookbook.ProtectEmail,PmWiki.ConditionalMarkup,Cookbook.HtpasswdForm,Cookbook.UserAuth2,PmWiki.GroupCustomizations,Cookbook.LimitWikiGroups,Cookbook.NewGroupWarning,Cookbook.LimitNewPagesInWikiGroups,Site.AuthForm,Cookbook.CustomAuthForm,Site.AttrForm,Cookbook.CustomAttrForm +text=(:Summary:More password options for the administrator:)(:Audience: administrators (basic) :)%0aPmWiki has built-in support for [[Passwords|password-protecting]] various areas of the wiki site. Passwords can be applied to individual pages, to [[Wiki Group]]s, or to the entire wiki site. Note that the password protection mechanisms described here are only a small part of overall system (and wiki) security, see [[PmWiki.Security]] for more discussion of this.%0a%0aAuthors can use PmWiki to add passwords to individual pages and WikiGroups as described in [[Passwords]]. However, [[WikiAdministrator]]s can also set passwords in ''local/config.php'' as described below. (Please note that one cannot set passwords reliably in per group or per page customization files. See the [[#faq | FAQ section]] for details.)%0a%0a[[#authlevel]]%0a!! Password basics%0a%0aPmWiki supports several levels of access to wiki pages, known as authorisation level:%0a* '''@@read@@''' passwords allow viewing the contents of wiki pages%0a* '''@@edit@@''' passwords control editing and modification of wiki pages (effective against [[!spam]])%0a* '''@@attr@@''' passwords control who is able to set passwords on pages (and potentially other future attributes)%0a* '''@@upload@@''' password, if uploads are enabled, controls uploading of files and attachments%0a* in addition all [[available actions]] can be password authorised%0a* '''@@admin@@''' password allows an administrator to override the passwords set for any individual page or group.%0a%0aBy default, PmWiki has the following password settings:%0a* The @@admin@@ and @@upload@@ passwords are locked by default.%0a* The Main and PmWiki groups have a locked @@attr@@ password (in their respective `GroupAttributes pages).%0a* The pages in the Site group except `Site.SideBar are locked against editing; by default the Site.SideBar page requires the admin or the site-wide edit password.%0a%0aAn @@admin@@ password can be used to overcome "locked" passwords, other than that, no password will allow access.%0a%0aSee [[Passwords]] for information about setting per-page and per-group passwords. %0aThe remainder of this page describes setting site-wide passwords from the ''local/config.php'' file.%0a%0a[[#settingsitewidepasswords]]%0a!! Setting site-wide passwords%0a%0aOne of the first things an admin should do is set an @@admin@@ password for the site. This is done via a line like the following in the ''local/config.php'' file:%0a%0a-> $DefaultPasswords['admin'] = pmcrypt('secret_password');%0a%0aNote that the pmcrypt() call is required for this -- PmWiki stores and processes all passwords internally as encrypted strings. %25note%25 See the [[#crypt | crypt section]] below for details about eliminating the cleartext password from the configuration file.%25%25%0a%0aTo set the entire site to be editable only by those who know an "edit" password, add a line like the following to ''local/config.php'':%0a%0a-> $DefaultPasswords['edit'] = pmcrypt('edit_password');%0a%0aSimilarly, you can set a password for any [[available action(s)]], via [@$DefaultPasswords['read']@], [@$DefaultPasswords['edit']@], and [@$DefaultPasswords['upload']@] to control default @@read@@, @@edit@@, and @@upload@@ passwords for the entire site. The default passwords are used for pages and groups which do not have passwords set, and as additional passwords for pages and groups which do have passwords set. Also, each of the $DefaultPasswords values may be arrays of encrypted passwords:%0a%0a-> $DefaultPasswords['read'] = array(pmcrypt('alpha'), pmcrypt('beta'));%0a-> $DefaultPasswords['edit'] = pmcrypt('beta');%0a%0aThis says that either "alpha" or "beta" can be used to read pages, but only the "beta" password will allow someone to edit a page. Since PmWiki remembers any passwords entered during the current session, the "beta" password will allow both reading and writing of pages, while the "alpha" password allows reading only. A person without either password would be unable to view pages at all.%0a%0aTo lock an action so that only admins can perform it, use @@'@lock'@@ as the value, without @@pmcrypt@@:%0a%0a-> $DefaultPasswords['edit'] = '@lock';%0a%0a%0a!! Setting passwords by reference%0a%25note%25 This is an unintended feature.%0a%0aSetting passwords by reference allows you to change the password for a whole set of pages as easily as you can change site-wide passwords. (Otherwise you would have to update each page's attributes individually.) Enter in the [[Passwords#pageattr|Page Attributes]] or [[Passwords#groupattr|Group Attributes]]:%0a-> @_site_MyLevel2%0a%0aAnd in the local configuration file set the actual password with lines like this:%0a-> $DefaultPasswords['MyLevel2'] = array(pmcrypt('secret'), '@admins');%0a-> $DefaultPasswords['MyLevel9'] = array('$1$NuBV/Mcc$GG3J60h.TLczUTRKhoVPM.');%0a%0aNote that passwords set by reference in a configuration file currently can not be used as a site-wide default. However, you could explicitly specify your @_site_level at the group level for every group to achieve the same effect. Once specified as a group attribute, the password applies to all pages in the group unless overridden, just like any other password. %0a%0a!! Identity-based authorization (username/password logins, [[AuthUser]])%0a%0aUnlike many systems which have '''identity-based''' systems for controlling access to pages (e.g., using a separate ''username'' and ''password'' for each person), PmWiki defaults to a ''password-based'' system as described above. In general password-based systems are often easier to maintain because they avoid the administrative overheads of creating user accounts, recovering lost passwords, and mapping usernames to permitted actions.%0a%0aHowever, PmWiki's ''authuser.php'' script augments the password-based system to allow access to pages based on a username and password combination. See [[AuthUser]] for more details on controlling access to pages based on user identity.%0a%0a!!Security holes ...%0a%0aAdministrators need to carefully plan where passwords are applied to avoid opening inadvertent security holes. If your wiki is open (anyone can read and edit), this would not seem to be a concern, '''except''', a malicious or confused user could apply a read password to a group and make the group completely unavailable to all other users. At the very least, even an open wiki should have a site-wide "admin" password and a site-wide "attr" password set in config.php. The ''sample-config.php'' file distributed with PmWiki indicates that the PmWiki and Main groups have "attr" locked by default, but if anyone creates a new group, "attr" is unlocked. Administrators must remember to set "attr" passwords for each new group (if desired) in this case. An easier solution is to include these lines in ''config.php'' :%0a%0a-> [@%0a$DefaultPasswords['admin'] = pmcrypt('youradminpassword');%0a$DefaultPasswords['attr'] = pmcrypt('yourattrpassword');%0a@]%0a%0a!! Encrypting passwords in ''config.php'' [[#crypt]]%0a%0aOne drawback to using the pmcrypt() function directly to set passwords in ''config.php'' is that anyone able to view the file will see the unencrypted password. For example, if ''config.php'' contains%0a%0a-> $DefaultPasswords['admin'] = pmcrypt('mysecret');%0a%0athen the "mysecret" password is in plain text for others to see. However, a wiki administrator can obtain and use an encrypted form of the password directly by using [@?action=crypt@] on any PmWiki url on the target wiki (or just jump to [[{$Name}?action=crypt]] on your own wiki). This action presents a form that generates encrypted versions of passwords for use in the ''config.php'' file. For example, when [@?action=crypt@] is given the password "@@mysecret@@", PmWiki will return a string like%0a%0a-> [@$1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1@]%0a%0aThe string returned from [@?action=crypt@] can then be placed directly into config.php, as in:%0a%0a-> $DefaultPasswords['admin'] = [='$1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1'=];%0a%0aNote that in the encrypted form the ''pmcrypt'' function and parentheses are removed, since the password is already encrypted. Also, the encrypted password must be in single quotes. In this example the password is still "@@mysecret@@", but somebody looking at ''config.php'' won't be able to see that just from looking at the encrypted form. ''?action=crypt'' may give you different encryptions for the same password--this is normal (and makes it harder for someone else to determine the original password).%0a%0aPlease note that the encrypted password should be created with ?action=crypt on the wiki that will use it. A password encrypted on one system may or may not be usable on another.%0a%0a!! Removing passwords%0a%0aTo remove a site password entirely, such as the default locked password for uploads, just set it to empty:%0a%0a-> $DefaultPasswords['upload'] = '';%0a%0aYou can also use the special password "@nopass" via @@?action=attr@@ to have a non-password protected page within a password-protected group, or a non-password protected group with a site-wide default password set.%0a%0a!! Revoking or invalidating passwords%0a%0aIf a password is compromised and the wiki administrator wants to quickly invalidate all uses of that password on a site, a quick solution is the following in ''local/config.php'':%0a%0a-> [@%0a$ForbiddenPasswords = array('secret', 'tanstaafl');%0aif (in_array(@$_POST['authpw'], $ForbiddenPasswords)) %0a unset($_POST['authpw']);%0a@]%0a%0aThis prevents "secret" and "tanstaafl" from ever being accepted as a%0avalid authorization password, regardless of what pages may be%0ausing it.%0a%0a!! See Also%0a%0a* The $HandleAuth array, which sets the required authentication level that is necessary to perform an action.%0a* [[Cookbook:RequireAuthor]]%0a%0a[[#protectingactions]]%0a!! Protecting actions (example)%0a%0aEach [[(available) action(s)]] can be password protected. Cookbook authors providing scripts with own actions can use this also, but I'll limit the example to a (by default) not protected [@?action=source@]. This action shows the wikisource of the actual page. Sometimes you don't want that especially to [[Cookbook:protect email]] or when using some [[PmWiki/conditional markup]] which should not be discovered easily or only by persons that are allowed to edit the page.%0a%0aThere are several solutions for that:%0a# Limit "source" only to editors add the following to your ''local/config.php'':%0a %0a--> [@$HandleAuth['source'] ='edit';@]%0a%0a# For using "source" with an own password, then add:%0a%0a--> [@$HandleAuth['source'] ='source';@]%0a--> [@$DefaultPasswords['source'] = pmcrypt('secret');@] # ''see above''%0a%0aIf you additionally want to set the password in the attributes page add:%0a%0a--> [@$PageAttributes['passwdsource'] = "$['Set new source password']";@]%0a%0aIn general, adding the prefix 'passwd' to an action name in the [@$PageAttributes@] array indicates that you wish for the given field to be encrypted when saved to disk.%0a%0aThe full set of steps to add new password handling for an action such as "diff" would be:%0a%0a->[@%0a# add a new (encrypted) field to the attr page%0a$PageAttributes['passwddiff'] = '$[Set new history password:]';%0a%0a# clear the default password for 'diff'%0a$DefaultPasswords['diff'] = '';%0a%0a# Tell PmWiki that the 'diff' password allows action 'diff'.%0a$HandleAuth['diff'] = 'diff';%0a%0a# Tell PmWiki that a 'read' password %0a# (or optionally the 'edit') password%0a# is also sufficient to enable 'diff'.%0a# Of course, the 'admin' password will work too.%0a$AuthCascade['diff'] = 'read'; ## or 'edit'%0a@]%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: There seems to be a default password. What is it? [[#pwlocked]]%0aA: There isn't any valid password until you set one. [[#settingsitewidepasswords|Passwords admin]] describes how to set one.%0a%0aPmWiki comes "out of the box" with $DefaultPasswords['admin'] set to '*'. This doesn't mean the password is an asterisk, it means that default admin password has to be something that encrypts to an asterisk. Since it's impossible for the pmcrypt() function to ever return a 1-character encrypted value, the admin password is effectively locked until the admin sets one in config.php.%0a%0aQ: How do I use passwd-formatted files (like .htpasswd) for authentication?%0aA: See [[AuthUser]], Cookbook:HtpasswdForm or Cookbook:UserAuth2.%0a%0aQ: Is there anything I can enter in a GroupAttributes field to say 'same as the admin password'? If not, is there anything I can put into the config.php file to have the same effect?%0a%0aA: Enter '@lock' in GroupAttributes?action=attr to require an admin password for that group.%0a%0aQ: How do I edit protect, say, all RecentChanges pages?%0aA: see [[PmWiki/Security#wikivandalism]].%0a%0aQ: How can I read password protect all pages in a group except the HomePage using configuration files?%0a%0aA: As described in [[PmWiki.GroupCustomizations]] per-group or per-page configuration files should not be used for defining passwords. The reason is that per-group (or per-page) customization files are only loaded for the current page. So, if @@[=$DefaultPasswords['read']=]@@ is set in ''local/GroupA.php'', then someone could use a page in another group to view the contents of pages in GroupA. For example, Main.WikiSandbox could contain:%0a%0a--> [=(:include GroupA.SomePage:)=]%0a%0aand because the ''GroupA.php'' file wasn't loaded (we're looking at Main.WikiSandbox --> ''local/Main.php''), there's no read password set.%0a%0aQ: How can I password protect the creation of new pages?%0aA: See Cookbook:LimitWikiGroups, Cookbook:NewGroupWarning, Cookbook:LimitNewPagesInWikiGroups.%0a%0aQ: How do I change the password prompt screen?%0aA: If your question is about how to make changes to that page... edit [[Site.AuthForm]]. If your question is about how to change which page you are sent to when prompted for a password, you might check out the [[Cookbook:CustomAuthForm]] for help.%0a%0aQ: How do I change the prompt on the attributes (@@?action=attr@@) screen?%0aA: Simply create a new page at [[Site.AttrForm]], and add the following line of code to @@config.php@@:%0a-->@@$PageAttrFmt = 'page:Site.AttrForm';@@%0a%0aNote that this only changes the text above the password inputs on the attributes page, but doesn't change the inputs themselves - the inputs have to be dealt with separately. See [[Cookbook:CustomAttrForm]] for more info.%0a%0aQ: I get http error 500 "Internal Server Error" when I try to log in. What's wrong?%0aA: This can happen if the encrypted passwords are not created on the web server that hosts the PmWiki.\\%0aThe crypt function changed during the PHP development, e.g. a password encrypted with PHP 5.2 can not be decrypted in PHP 5.1, but PHP 5.2 can decrypt passwords created by PHP 5.1.\\%0aThis situation normally happens if you prepare everything on your local machine with the latest PHP version and you upload the passwords to a webserver which is running an older version.\\%0aThe same error occurs when you add encrypted passwords to local/config.php.%0a%0aSolution: Create the passwords on the system with the oldest PHP version and use them on all other systems.%0a%0aQ: I only want users to have to create an 'edit' password, which is automatically used for their 'upload' & 'attr' passwords (without them having to set those independently). How do I do this?%0aA: By setting [@$HandleAuth@] like so:%0a $HandleAuth['upload'] = 'edit';%0a // And to prevent a WikiSandbox from having it's 'attr' permissions changed %0a // except by the admin (but allowing editors to change it on their own pages/group)%0a if(($group=="Site") || ($group=="Main") || ($group=="Category") || %0a ($group=="SiteAdmin") || ($group=="PmWiki") ) {%0a $HandleAuth['attr'] = 'admin'; // for all main admin pages, set 'attr' to 'admin' password%0a } else { %0a $HandleAuth['attr'] = 'edit'; // if you can edit, then you can set attr%0a }%0a%0a +time=1567168221 blob - /dev/null blob + f22da067363d6b612c10d20edfbd2f324fcbde81 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PathVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.71 ordered=1 urlencoded=1 +author=ff +charset=UTF-8 +csum=fixed a typo in the markup +name=PmWiki.PathVariables +rev=65 +targets=PmWiki.WhySeeIfCSSExists,Cookbook.SharedPages,Cookbook.CleanUrls,PmWiki.SkinTemplates,Cookbook.PerGroupSubDirectories,PmWiki.LocalCustomizations,PmWiki.PerGroupCustomizations,PmWiki.WikiFarms,PmWiki.LayoutVariables,PmWiki.LinkVariables,PmWiki.EditVariables,PmWiki.UploadVariables +text=(:Summary:variables used to specify various locations on the server:)%0a%0aWhen dealing with file or path variables, one has to recognize the difference between working with URLs and files on disk. For example:%0a* The include() statements are used to include other files (on disk) into the currently running PmWiki script. Thus they require paths on the server's filesystem. %0a* The $ScriptUrl and $PubDirUrl variables are used to tell a ''browser'', connecting via the webserver, how to execute the pmwiki script ($ScriptUrl) and the base url for getting files from PmWiki's pub/ directory ($PubDirUrl).%0a%0aNote that a browser needs a URL (http://example.com/pmwiki/pub) while an include statement requires a server file path ($FarmD/scripts/something.php).%0a%0a:$FarmD: The directory on the server where the farm is located (i.e., the directory containing the farm's copy of ''pmwiki.php'' and the ''scripts/'' directory). This directory is automatically determined by pmwiki.php when it runs, and can be used to distinguish the farm's ''cookbook/'' and ''pub/'' subdirectories from a field's subdirectories.%0a%0a:$FarmPubDirUrl: is the url that refers to the @@pub@@ directory for an entire farm. It defaults to the same value as $PubDirUrl. %0a%0a:$PageCSSListFmt: is an associative array which PmWiki uses to find any local css configuration files. It consists of a set of (''key'',''value'') pairs %25green%25 that point to the same file%25%25. The ''key'' is a possible path to a file on disk holding the css data, while the ''value'' is the coresponding URL for that %25green%25same file%25%25. They keys are tested in turn, and for each named file that exists, the browser is instructed to load the corresponding URL. This allows for PMWiki to only load the css file if it exists. ([[PmWiki:WhySeeIfCSSExists|Why see if a CSS exists?]]) The default value for this variable is:%0a%0a->[@%0a$PageCSSListFmt = array(%0a 'pub/css/local.css' => '$PubDirUrl/css/local.css',%0a 'pub/css/{$Group}.css' => '$PubDirUrl/css/{$Group}.css',%0a 'pub/css/{$FullName}.css' => '$PubDirUrl/css/{$FullName}.css');%0a@]%0a%0a->Note that the default (as of version pmwiki-2.1.beta26) makes no reference to $FarmPubDirUrl for css configuration files. If you wish to be able to place css configuration files in both the field's @@pub@@ directory, and the farm's @@pub@@ directory, you may want to add these lines to your @@local/config.php@@ file (as described in [[Cookbook:SharedPages]]):%0a%0a-> %25green%25# this adds farm.css to all wikis%0a->[@%0a$PageCSSListFmt = array(%0a '$FarmD/pub/css/farm.css' => '$FarmPubDirUrl/css/farm.css',%0a 'pub/css/local.css' => '$PubDirUrl/css/local.css',%0a 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css',%0a 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css');%0a@]%0a%0a-> %25green%25# this enables farm css files in a similar manner to a local wiki%0a->[@%0a$PageCSSListFmt = array(%0a '$FarmD/pub/css/local.css' => '$FarmPubDirUrl/css/local.css',%0a '$FarmD/pub/css/$Group.css' => '$FarmPubDirUrl/css/$Group.css',%0a '$FarmD/pub/css/$FullName.css' => '$FarmPubDirUrl/css/$FullName.css',%0a 'pub/css/local.css' => '$PubDirUrl/css/local.css',%0a 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css',%0a 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css');%0a@]%0a%0a->Note the difference between CSS configuration files and CSS files associated with a skin. Skin files, including associated CSS, can be put in either the farm or the field @@pub/skins@@ directory, and the program will find them.%0a%0a:$PubDirUrl: is the URL that refers to the @@pub@@ directory. That directory contains all the files and subdirectories that must be directly accessible from a browser (e.g. CSS and HTML files). Most prominent here is the @@skins@@ subdirectory.%0a->The following may work for you'^[[Cookbook:CleanUrls#multiviews|#]]^'%0a->[@ $ScriptUrl = 'http://'.$_SERVER['HTTP_HOST'].'/pmwiki/pmwiki.php';%0a $PubDirUrl = 'http://'.$_SERVER['HTTP_HOST'].'/pmwiki/pub';@]%0a%0a%25rfloat%25{$ScriptUrl}%0a:$ScriptUrl: is the URL that you want people's browsers to use when accessing PmWiki, either as a field or farm. It's used whenever PmWiki needs to generate a link to another PmWiki page or action. PmWiki is usually fairly good about "guessing" the correct value for $ScriptUrl on its own, but sometimes an admin needs to set it explicitly because of URL manipulations by the webserver (such as Cookbook:CleanUrls, mod_rewrite, bizarre PHP configurations, and so on).%0a%0a:$SkinDir:Set by ''scripts/skins.php'' to be the base url of the current skin's directory (i.e., within a 'pub/skins/' directory). This variable is typically used inside of a skin .tmpl file to provide access to .css files and graphic images associated with the skin. See [[SkinTemplates#security|security note]] regarding use.%0a%0a:$SkinDirUrl:Set by ''scripts/skins.php'' to be the base path of the current skin's directory (i.e., within a 'pub/skins/' directory). This variable is typically used inside of a skin .tmpl file to provide access to secondary files. See [[SkinTemplates#security|security note]] regarding use.%0a%0a:$WorkDir: This variable is a string that gives a local path to a directory where the pmwiki engine can create temporary files etc. %0a: :PmWiki needs this for a variety of things, such as building merged edits, caching mailposts entries, keeping track of the last modification time of the site, other types of cache, etc. Do not confuse this variable with $WikiDir; the reason that both $WorkDir and $WikiDir refer by default to the directory [@wiki.d/@] is merely to simplify things for the administrator. %0a%0a:$WikiDir: A `PageStore-object that refers to how wiki pages are stored. %0a: :This can be a simple reference to a directory (typically ''wiki.d/''), or something more advanced such as a `MySQL backend or a .dbm-file. Do not confuse this variable with $WorkDir; the reason that both $WorkDir and $WikiDir refer by default to the directory [@wiki.d/@] is merely to simplify things for the administrator.%0a: :To store groups of pages in subdirectories add [@$WikiDir = new PageStore('wiki.d/$Group/$FullName');@] to the start of your config file. '^[[Cookbook:PerGroupSubDirectories|#]]^'%0a%0a:$WikiLibDirs: An array of `PageStore objects that specify where to look for pages. %0a: :By default it is set up to look in ''wiki.d/'' and ''wikilib.d/'', but can be changed to look other places. %0a: :For example, to exclude the pages that are bundled in the PmWiki distribution, use the line below. (Note that some features such as editing and search rely on having certain pages available, so you may need to copy them to the $WikiDir.)%0a->[@$WikiLibDirs = array(&$WikiDir); @]%0a: :Another example%0a->[@%0a ## for any page name, use the version located in wiki.d if it exists,%0a ## use the version located in wikilib2.d, if a wiki.d version does not, and%0a ## the version located in wikilib.d, if neither of the above exists%0a $WikiLibDirs = array(&$WikiDir,%0a new PageStore('wikilib2.d/{$FullName}'),%0a new PageStore('$FarmD/wikilib.d/{$FullName}'));%0a@]%0a: : See also [[(http://www.pmwiki.org/wiki/Category/)CustomPageStore]].%0a%0a%0a:$LocalDir: The filesystem location of the ''local/'' directory, holding [[local customization(s)]] and [[(PmWiki:)per group customizations]] files. Typically set in a [[WikiFarm(s)]]'s ''farmconfig.php''. (Note that farm configuration files always occur in ''$FarmD/local/farmconfig.php'', regardless of any setting for $LocalDir.)%0a%0a%0a!!See also%0a* [[Layout Variables]] for URL layout options%0a* [[Link Variables]] - variables that control the display of links in pages%0a* [[Edit Variables]] - variables used when editing pages%0a* [[Upload Variables]] - variables used for uploads/attachments +time=1420736312 blob - /dev/null blob + abe1a73dee02bd1508faf77afe9850ff9a6620d8 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PatrickMichaud @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author= +charset=UTF-8 +csum= +name=PmWiki.PatrickMichaud +rev=15 +targets= +text=Patrick Michaud (Pm) is the author of PmWiki. More information about him can be found at http://www.pmichaud.com. +time=1315670897 blob - /dev/null blob + da90a3baefdf6a6df0b0a1a5a3dbeaad0ecb9b5b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PerGroupCustomizations @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=redirect GroupCustomizations +name=PmWiki.PerGroupCustomizations +rev=39 +targets= +text=(:redirect GroupCustomizations:)%0a(:Summary: Redirects to [[PmWiki.GroupCustomizations]]:) +time=1315670897 blob - /dev/null blob + 9e616e0ec033d7d416198fd192317f659f620c32 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PmWiki @@ -0,0 +1,11 @@ +version=pmwiki-2.2.46 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0 +author=Petko +charset=UTF-8 +csum= +name=PmWiki.PmWiki +passwdattr=@lock +rev=126 +targets=PmWiki.WikiWikiWeb,Main.WikiSandbox,PmWiki.BasicEditing,PmWiki.Skins,PmWiki.PmWikiPhilosophy,Cookbook.Cookbook,PmWiki.Installation +text=PmWiki is a [[wiki(WikiWeb)]]-based content-management system (CMS) for collaborative creation and maintenance of websites.%0a%0aPmWiki pages look and act like normal web pages, except they have an "[[Main/WikiSandbox?action=edit|Edit]]" link that makes it easy to modify existing pages and add new pages into the website, using [[basic editing]] rules. You do not need to know or use any HTML or CSS. Page editing can be left open to the public or restricted to small groups of authors.%0a%0a!!Key PmWiki Features%0a%0a-%3c'''Custom look-and-feel''': A site administrator can quickly change the appearance and functions of a PmWiki site by using different [[skins]] and HTML templates. If you can't find an appropriate skin [[http://www.pmwiki.org/wiki/Skins/Skins|already made]], you can easily modify one or create your own.%0a%0a-%3c'''Access control''': PmWiki password protection can be applied to an entire site, to groups of pages, or to individual pages. Password protection controls who can read pages, edit pages, and upload attachments. PmWiki's access control system is completely self-contained, but it can also work in conjunction with existing password databases, such as ''.htaccess'', LDAP servers, and MySQL databases.%0a%0a-%3c'''Customization and plugin architecture''': One principle of the [[PmWikiPhilosophy]] is to only include essential features in the core engine, but make it easy for administrators to customize and add new markup. Hundreds of features are already available by using extensions (called "recipes") that are available from the PmWiki [[(Cookbook:)Cookbook]].%0a%0aPmWiki is written in %25newwin%25[[http://php.net/|PHP]] and distributed under the %25newwin%25[[http://www.gnu.org/copyleft/gpl.html|General Public License]]. It is designed to be simple to [[PmWiki/Installation|install]], customize, and maintain for a variety of applications. This site is running {$Version}.%0a%0aPmWiki is a registered trademark of [[http://www.pmichaud.com/ | Patrick R. Michaud ]]. Since January 2009 PmWiki is actively maintained by [[http://www.pmwiki.org/petko|Petko Yotov]] under the oversight of Dr Michaud.%0a%0aPmWiki's home on the web is at [[(http://)www.pmwiki.org(/)]].%0a +time=1359922077 blob - /dev/null blob + 9ce9155c2c6ff9680cb6f8a13bf991ce0bf13298 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.PmWikiPhilosophy @@ -0,0 +1,9 @@ +version=pmwiki-2.2.39 ordered=1 urlencoded=1 +author=Anomen +charset=UTF-8 +csum= +name=PmWiki.PmWikiPhilosophy +rev=62 +targets=PmWiki.PatrickMichaud,PmWiki.Audiences,PmWiki.WikiWikiWeb,PmWiki.CustomMarkup +text=(:Summary:This page describes some of the ideas that guide the design and implementation of PmWiki:)%0aThis page describes some of the ideas that guide the design and implementation of PmWiki. [[Patrick Michaud]] doesn't claim that anything listed below is an original idea; these are just what drive the development of PmWiki. You're welcome to express your disagreement with anything listed below. [[PmWiki.Audiences]] also describes much of the reasoning behind the ideas given below.%0a%0a[[#favorwriters]]%0a:''1. Favor writers over readers'':At its heart, PmWiki is a collaborative authoring system for hyperlinked documents. It's hard enough to get people (including Pm) to contribute written material; making authors deal with HTML markup and linking issues places more obstacles to active contribution. So, PmWiki aims to make it easier to author documents, even if doing so limits the types of documents being authored.%0a%0a[[#nothtml]]%0a:''2. Don't try to replace HTML'':PmWiki doesn't make any attempt to do everything that can be done in HTML. There are good reasons that people don't use web browsers to edit HTML--it's just not very effective. If you need to be writing lots of funky HTML in a web page, then PmWiki is not what you should be using to create it. What PmWiki does try to do is make it easy to link PmWiki to other "non-wiki" web documents, to embed PmWiki pages inside of complex web pages, and to allow other web documents to easily link to PmWiki.%0a%0a: :This principle also follows from the "favor writers over readers" principle above--every new feature added to PmWiki requires some sort of additional markup to support it. Pretty soon the source document looks pretty ugly and we'd all be better off just writing HTML. %0a%0a: :Another reason for avoiding arbitrary HTML is that ill-formed HTML can cause pages to stop displaying completely, and arbitrary HTML can be a security risk--more so when pages can be created anonymously. See http://www.cert.org/advisories/CA-2000-02.html for more information. %0a%0a[[#avoidfeaturecreep]]%0a:''3. Avoid gratuitous features (or "creeping featurism")'':In general PmWiki features are implemented in response to specific needs, rather than because someone identifies something that "might be useful". In any sort of useful system, it's hard to change a poorly designed feature once people have built a lot of structure based on it. (Need an example? Look at MS-DOS or Windows.) One way to avoid poor design is to resist the temptation to implement something until you have a clearer idea of how it will be used. %0a%0a[[#collaborativemaintenance]]%0a:''4. Support collaborative maintenance of public web pages'':Although this wasn't at all the original intent of PmWiki, it became quickly obvious that [[WikiWikiWeb]] principles could be used to make it easier for groups to collaboratively design and maintain a public web site presence. PmWiki allows individual pages to be password protected, and a couple of local customizations makes it easy to protect large sections of PmWiki pages. Furthermore, in many ways PmWiki provides "style sheets on steroids": you can quickly change the headers, footers, and other elements on a large group of pages without ever having to touch the individual page contents. Finally, it's relatively easy to add [[custom markup]] for specialized applications.%0a%0a[[#easy]]%0a:''5. Be easy to install, configure, and maintain'': With a gzip-compressed file size of just around 400K, uploading PmWiki to your server is a speedy operation. Do a chmod or two, update a few settings in config.php and you should be up and running. PmWiki stores all data in flat files, so there is no need for `MySQL or other utilities. Upgrading is usually a simple matter of copying the latest version's files over the files of your existing PmWiki installation. (One of the biggest reasons for the creation of PmWiki was that other wiki engines at the time required modifications to the distribution files, so admins ended up losing their customizations on every upgrade.)%0a%0a +time=1340896619 blob - /dev/null blob + e7408432785b8a1d574efe977ec334489176bca3 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.RefCount @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=refactored +name=PmWiki.RefCount +rev=38 +targets=PmWiki.WikiAdministrator,PmWiki.LocalCustomizations,PmWiki.RefCount +text=(:Summary: Link references counts on pages:)%0aRefCount performs link reference counts on pages in the PmWiki database (i.e., counts of links between pages). Before using RefCount, it must be enabled by the [[wiki administrator]] by placing the following line in a [[local customization(s)]] file:%0a%0a->[@include_once("$FarmD/scripts/refcount.php");@]%0a%0aTo use refcount add [@?action=refcount@] to the URL of any wiki page to bring up the reference count form. For example:%0a%0a->%25newwin%25[[{$FullName}?action=refcount]]%0a%0aThe refcount form contains the following controls:%0a[[#refcountcontrols]]%0a*'''Show''' ~ This selects which pages will appear in the output%0a**all ~ Shows all references %0a**missing ~ Shows only references to pages that don't exist%0a**existing ~ Shows only references to pages that do exist%0a**orphaned ~ Shows pages that exist but don't have any references to them. There is no way to browse to an orphaned page.%0a*'''page names in group''' ~ Selects which group(s) to the referenced pages can be in%0a*'''referenced from pages in''' ~ Selects which group(s) the referencing pages can be in%0a*'''Display referencing pages''' ~ Includes a link to the referencing page -- this can make for a very long output unless you limit the groups searched%0a[[#refcountcontrolsend]]%0a%0aThe output is a table where each row of the table contains a page name or link reference, the number of (non-RecentChanges) pages that contain links to the page and the number of Recent Changes pages with links to the page.%0a%0a +time=1315670897 blob - /dev/null blob + 26eb569e2aef4125ce973a179da615cc93394c33 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.ReleaseNotes @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Version 2.2.130 (2020-07-04) * Update documentation. (+99) +name=PmWiki.ReleaseNotes +rev=694 +targets=PmWiki.Upgrades,PmWiki.ChangeLog,PmWiki.Download,PmWiki.RoadMap,Skins.SkinChange,PmWiki.LayoutVariables,Cookbook.ToggleNext,PmWiki.SecurityVariables,PmWiki.Forms,PmWiki.TableOfContents,Cookbook.SectionEdit,Cookbook.RecipeCheck,PmWiki.OtherVariables,PmWiki.BlockMarkup,Cookbook.DeObMail,Cookbook.FixURL,PmWiki.EditVariables,Cookbook.NotSavedWarning,Cookbook.EditHelp,Cookbook.AutoTOC,Cookbook.DeltaBytesRecentChanges,Cookbook.RowspanInSimpleTables,Cookbook.LocalCSS,PmWiki.LinkVariables,Cookbook.PreviewChanges,PmWiki.PagelistVariables,PmWiki.MarkupExpressions,PmWiki.DebugVariables,PmWiki.Notify,PmWiki.BasicVariables,PmWiki.WikiTrails,SiteAdmin.AuthList,PmWiki.PathVariables,Site.UploadQuickReference,Cookbook.PmForm,PmWiki.Troubleshooting,PmWiki.CustomMarkup,PmWiki.PageDirectives,PmWiki.UploadVariables,PmWiki.I18nVariables,PmWiki.PageHistory,PmWiki.Uploads,PmWiki.Passwords,PmWiki.SiteAnalyzer,Site.Site,SiteAdmin.SiteAdmin,PmWiki.Blocklist,PITS.00961,Site.PageActions,Site.EditForm,Site.PageNotFound,PmWiki.PageLists,PmWiki.Drafts,Cookbook.Cookbook,Cookbook.DebuggingForCookbookAuthors,PmWiki.SkinTemplates,PmWiki.ReleaseNotesArchive +text=(:title Release Notes:)(:Summary: Notes about new versions, important for upgrades:)%0aSee also: [[Upgrades]], [[Change log]], [[Download]] and [[(PmWiki:)Road map]].%0a(:comment The {*$:Released} variable is used in [[News/]]. :)%0a%0a!! Version 2.2.130 {*$:Released} (2020-07-04) [[#v22130]]%0aThis is a documentation update version.%0a%0a!! Version 2.2.129 {*$:Released} (2020-05-21) [[#v22129]]%0aThis version adds the styles for the "simpletable" class of tables from the "pmwiki-responsive" skin into the old "pmwiki" skin, and the documentation was updated.%0a%0a!! Version 2.2.128 {*$:Released} (2020-04-26) [[#v22128]]%0aThis version only includes some cosmetic changes and updates the documentation.%0a%0a!! Version 2.2.127 {*$:Released} (2020-03-23) [[#v22127]]%0aThis version sets the maximum height of the edit form textarea after reports for a jumping behavior on mobile devices (the PmWiki-responsive skin only). The core table of content classes "pmtoc-show" and "pmtoc-hide" now replace the previous classes "show" and "hide" to prevent conflicts with other frameworks. The functionality of the recipe Skins:SkinChange was added to the core (disabled by default). The documentation was updated.%0a%0a!! Version 2.2.126 {*$:Released} (2020-02-01) [[#v22126]]%0aThis version fixes a bug with $PmTOC['MinNumber'] set to -1, and updates the .htaccess format for caches.php. The documentation was updated.%0a%0a!! Version 2.2.124, 2.2.125 {*$:Released} (2020-01-27) [[#v22124]] [[#v22125]]%0aThis version adds a variable $SetCookieFunction to override the core "pmsetcookie" function. A new feature ToggleNext was included in the core, documented at Cookbook:ToggleNext. The documentation was updated.%0a%0a!! Version 2.2.123 {*$:Released} (2019-12-31) [[#v22123]]%0aThis version allows link URLs to be escaped with [@[=link address=]@] if they contain any special characters, including quotes, parentheses and pipes. The obfuscated e-mails will now work from headers, footers and sidebars. A [[forms|form]] attribute "formnovalidate" was added to the core and to the "Cancel" button in the edit form. Core [[table of contents]] will now work better with Cookbook:SectionEdit. Cookbook:RecipeCheck was included in the core -- if you have this recipe already installed, you can simply comment it out from your config.php. The code that handles $EnableRCDiffBytes was refactored to also show the bytes changed in the page histories. New upload extensions [[https://developers.google.com/speed/webp | "webp"]] (images) and [[https://www.opus-codec.org/ | "opus"]] (audio) were added. The documentation was updated.%0a%0a!! Version 2.2.122 {*$:Released} (2019-11-19) [[#v22122]]%0aVersion 2.2.121 was released by mistake and contained some experimental code that was meant to be tested first. %0a%0aThis version fixes a bug with ObfuscateLinkIMap() and international characters. New configuration variables $DefaultUnsetPageTextVars, $DefaultEmptyPageTextVars can set default values for page text variables. The built-in table of contents and numbered headings can now be enabled independently. A pagelist template pseudovariable [@{$$EachCount}@] was added, containing the number of the page in the current "each" loop. Input form elements and the [@(:searchbox:)@] field now can have ARIA accessibility attributes.%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.120 {*$:Released} (2019-10-13) [[#v22120]]%0aThis version fixes a bug with existing complex customization of GUIEdit buttons. Very long [[table of contents|tables of contents]] will now be scrollable. A new "input datalist" [[Forms|form]] element (list of suggestions to other input fields), and a new "details+summary" [[block markup|block section]] (toggle sections without JavaScript) were added. The documentation was updated.%0a%0a!! Version 2.2.119 {*$:Released} (2019-10-03) [[#v22119]]%0aThis version updates the core for PHP 7.4. Required input fields now feature @@required="required"@@ attributes and modern browsers prevent sending the edit or upload form with empty required fields. Attachlist @@ext=@@ and @@names=@@ arguments now accept patterns and negatives like @@ext=jpg,png@@, @@ext=-pdf@@, or @@names=-th*---*.jpg@@. The Redirect function can now have a 3rd argument with the full URL. The scroll position in the edit text area will be remembered on save-and-edit and preview. A bug was fixed with pagelist while preview. The documentation was updated.%0a%0aA number of features currently provided by recipes were added to the core and disabled by default. You can still use the recipes, or you can disable them and enable the core features. The following features were added:%0a* e-mail obfuscation functions based on Cookbook:DeObMail; see instructions to enable%0a* a FixUrl button based on Cookbook:FixURL, see $EnableGuiEditFixUrl%0a* $EnableNotSavedWarning based on Cookbook:NotSavedWarning%0a* $EnableEditAutoText based on Cookbook:EditHelp%0a* $PmTOC, [@(:toc:)@], [@(:notoc:)@], Table of contents/Numbered headings, based on a simplified variant of Cookbook:AutoTOC%0a* $EnableSortable, basic sortable tables%0a* $EnableRCDiffBytes based on Cookbook:DeltaBytesRecentChanges%0a* $EnableSimpleTableRowspan replicating the markup from Cookbook:RowspanInSimpleTables%0a* $WikiPageCSSFmt enables CSS in a wiki page, based on Cookbook:LocalCSS%0a* $EnableHighlight code highlight feature compatible with "highlight.js"%0a* $AddLinkCSS['othergroup'] and $AddLinkCSS['samedomain'] can contain custom CSS classes for in-wiki links to other groups and for URL links to the same site.%0a%0aThe above new features are disabled by default, see the documentation for more information on how to enable them, or test them on pmwiki.org where most of these are enabled. Please report if you notice any problems.%0a%0a!! Version 2.2.118 {*$:Released} (2019-08-28) [[#v22118]]%0aThis version integrates the features of the recipe Cookbook:PreviewChanges into the core. If you currently use this recipe, please uninstall it and add to config.php:%0a $EnablePreviewChanges = 1;%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.117 {*$:Released} (2019-07-28) [[#v22117]]%0aThis version adds handling of "partial content" requests for file downloads. New video file extensions 'm4v' and '3gp' were added. The Upload form now includes a new text field "Uploader" pre-filled with the name of the editor, and a new variable $EnableUploadAuthorRequired was added (defaults to $EnablePostAuthorRequired). The documentation was updated.%0a%0a!! Version 2.2.116 {*$:Released} (2019-06-19) [[#v22116]]%0aThis version fixes pagelists with case insensitive matches of page (text) variables for international wikis. If your international wiki pagelists rely on case-sensitive variable matches, please see $PageListVarFoldFn. The documentation was updated.%0a%0a!! Version 2.2.115 {*$:Released} (2019-05-13) [[#v22115]]%0aIn this version the responsive skin in large "desktop" mode changes the search form background to transparent, for easier custom styling of the header. The documentation was updated.%0a%0a!! Version 2.2.114 {*$:Released} (2019-04-02) [[#v22114]]%0aThis version adds a skin directive @@%3c!--IncludeTemplate ... -->@@ and the variable $SkinTemplateIncludeLevel. The core variable documentation format identifiers were moved to the definition term element to allow CSS ":target" styling, and the header and link text of the vardoc table can now be translated. Input forms have a new HTML5 element "tel", a new attribute "pattern" and two bugs were fixed with the classnames of the new elements and with the identifiers of "select" lists. The documentation was updated.%0a%0a!! Version 2.2.113 {*$:Released} (2019-03-01) [[#v22113]]%0aThis version adds a new [@(:input button:)@] form element. All form elements can now accept custom data-* attributes, which can be disabled by setting $EnableInputDataAttr to 0. Both additions are meant for easier integration with custom JavaScript functions or some frameworks.%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.112 {*$:Released} (2019-01-09) [[#v22112]]%0aThis version includes a fix for PHP 7.3, and the documentation was updated.%0a%0a!! Version 2.2.111 {*$:Released} (2018-12-08) [[#v22111]]%0aThis version updates core .htaccess files to be compatible with both Apache 2.4 and earlier versions, and the variable $DenyHtaccessContent was added with the updated content. In case of difficulties or questions please contact us.%0a%0aA CSS value in the pmwiki-responsive skin was fixed. The [[MarkupExpression(s)]] [@{(ftime )}@] now accepts @@tz=@@ (time zone) and @@locale=@@ (language locale) arguments. The documentation was updated.%0a%0a!! Version 2.2.110 {*$:Released} (2018-11-05) [[#v22110]]%0aThis version prevents a warning with the [@{(substr )}@] markup expression when non-number arguments are typed. A new variable $PageListSortCmpFunction allows custom functions to order page lists. A new variable $MarkupMarkupLevel indicates when the processing happens inside [@(:markup:)@] blocks. %0a%0aThe default style for @@[=[@escaped code@]=]@@ dropped white spaces inconsistently and was fixed. If you rely on the previous behavior please add this to your pub/css/local.css file to revert it:%0a%0a code.escaped { white-space: nowrap; }%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.109 {*$:Released} (2018-07-09) [[#v22109]]%0aThis version fixes a bug with the Path: InterMap prefix which was broken in 2.2.108. The function pmcrypt() was updated to prevent more strings from causing "invalid hash" warnings in PHP 7. The variable $EnableMarkupDiag was added to help diagnose all markup calls. The documentation was updated.%0a%0a!! Version 2.2.108 {*$:Released} (2018-07-05) [[#v22108]]%0aThis version adds the $PCCFOverrideFunction variable allowing a custom function to override PCCF(). $AuthUserPageFmt can now be an array of page names. The page cache file name can now be customized. Form checkbox labels now have the same tooltip title as the checkbox. Ordered lists with the [@%25reversed%25@] WikiStyle will have descending numbers. Minor fixes to refcount.php, vardoc.php, and pmcrypt(). The default InterMap PmWiki URLs have now the HTTPS protocol. The documentation was updated.%0a%0a!! Version 2.2.107 {*$:Released} (2018-02-02) [[#v22107]]%0aThis version includes more fixes for PHP 7.2 for forms and pagelists. A new variable $MailFunction allows administrators and developers to write replacement functions for the PHP function "mail()". Styles were improved for right-to-left text blocks embedded into left-to-right texts (and vice versa). The documentation was updated.%0a%0a!! Version 2.2.106 {*$:Released} (2017-12-01) [[#v22106]]%0aThis version has a rewrite of the function PageListSort() to allow it to work with PHP 7.2, and fixes a bug with the backtick (escape) [@`WikiWord@] markup. The helper function pmsetcookie() and the variables $EnableCookieSecure, $EnableCookieHTTPOnly were added to allow easy setting of secure cookies. The documentation was updated.%0a%0a!! Version 2.2.105 {*$:Released} (2017-11-07) [[#v22105]]%0aThis version fixes a bug with the PQA() function causing invalid HTML with attributes glued together. The function @@HandleUpload()@@ was refactored and @@UploadSetVars($pagename)@@ was added to allow upload-managing add-ons to set variables more easily.%0a%0aIf you upgrade from 2.2.98 or earlier, and you have custom markup rules relative to author signatures, please see note about [[#v2299|change in 2.2.99]] (documented November 2017).%0a%0a!! Version 2.2.104 {*$:Released} (2017-10-11) [[#v22104]]%0aThis version fixes a bug with [[WikiTrails#pathtrail|path WikiTrails]] reported today.%0a%0a!! Version 2.2.103 {*$:Released} (2017-10-01) [[#v22103]]%0aThis version is a major upgrade on the internal processing of markups and patterns, all core scripts were updated to be compatible with PHP version 7.2. Whether you use that PHP version or another one, with any local configurations and custom add-ons, there should be no change for what you see, but if any problems please contact us immediately.%0a%0aPagelists can now have optimized @@list=grouphomes@@ and @@fmt=#grouphomes@@ arguments to list only the home pages of your wiki groups, whether they are named Group.HomePage, Group.Group, or a custom Group.$DefaultName. Minor bugs in older xlpage scripts were fixed, the responsive skin is now compatible with even older PmWiki/PHP versions, web subtitles (*.vtt) were added as an allowed extension, input form fields can now have a "title" attribute (usually rendered as a tooltip/help balloon when the mouse cursor is over the input element), and a configuration variable $AuthLDAPReferrals was added for wikis running AuthUser over LDAP to force enable or disable referrals when needed.%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.102 {*$:Released} (2017-08-05) [[#v22102]]%0aThis version reverts the patterns for text variables changed in 2.2.99, because we found that a longer text variable content may cause a blank page or an internal server error. In the page [[SiteAdmin.AuthList]] an input box was added to allow filtering of the groups or pages.%0a%0a!! Version 2.2.101 {*$:Released} (2017-07-30) [[#v22101]]%0aThis version renames the internal constructor of the PageStore class to be compatible with both PHP 5 and PHP 7. Previously, the PageStore class had two constructors for PHP 4 and PHP 5 compatibility of which one was silently ignored, but recent PHP 7 versions display strict or deprecated notices when the PHP 4 constructor is used.%0a%0aIf you must use PmWiki 2.2.101 or newer on a PHP 4 installation, please contact me so I can provide you with a workaround.%0a%0a!! Version 2.2.100 {*$:Released} (2017-07-30) [[#v22100]]%0aThis version provides a workaround for an incompatibility with our Subversion version control system, where the $Author wiki variable was considered a Subversion variable. A fix for the responsive skin adds some spacing above the WikiText block. The documentation was updated.%0a%0a!! Version 2.2.99 {*$:Released} (2017-06-26) [[#v2299]]%0aThis version fixes a bug where an incomplete text variable without a closing parenthesis like "[@(:Var:Value@]" could hide the remaining of the page.%0a%0aA bug was fixed where previewing a page didn't show changes to be done by replace-on-save patterns (the function ReplaceOnSave was refactored). Markup rules for previewing author signatures are no longer needed and were removed. %25note%25 Note that if you had custom markup rules processed before or after the @@[=~~=][=~=]@@ or @@[=~~=][=~~=]@@ author signatures may need to be set to [@'%3c[[~'@] (second argument of the @@Markup@@ call).%0a%0aA bug and a warning for PHP 4 installations were fixed. Two minor bugs with the [@[[%3c%3c]]@] line break for the responsive skin and the $Version variable link in the documentation were fixed. %0a%0aThe InterMap prefix to Wikipedia was corrected to use the secure HTTPS protocol and the documentation was updated.%0a%0a!! Version 2.2.98 (2017-05-31) [[#v2298]]%0aThis version adds a new skin that is better adaptable to both large and small screens, desktop and mobile devices (touchscreens). The new skin "pmwiki-responsive" is not enabled by default but available as an option, and as a base for customized copies. It requires a relatively modern browser (post-2009). The old skin is still available and enabled by default.%0a%0aThe Vardoc links now use MakeLink() to allow a custom LinkPage function. The function ReplaceOnSave() was refactored to allow easier calling from recipes. Markup processing functions now can access besides $pagename, a $markupid variable that contains the "name" of the processed markup rule, allowing a single function to process multiple markup rules. The "*.mkv" video extension was added to the list of allowed uploads.%0a%0aA bug was fixed with the [@(:markup:)@] output where a leading space was lost. Note that the "markup" frame is now wrapped in a %3cpre> block with a "pre-wrap" style instead of %3ccode>.%0a%0aA number of other (minor) bugs were fixed: see ChangeLog, and the documentation was updated.%0a%0a!! Version 2.2.97 (2017-04-07) [[#v2297]]%0aThis version fixes a bug concerning $ScriptUrl when $EnablePathInfo is set, introduced in 2.2.96 and reported by 3 users.%0a%0a!! Version 2.2.96 (2017-04-05) [[#v2296]]%0aThis version fixes a severe PHP code injection vulnerability, reported by Gabriel Margiani. PmWiki versions 2.2.56 to 2.2.95 are concerned.%0a%0aOnly certain local customizations enable the vulnerability. Your website may be at risk if your local configuration or recipes call too early some core functions like CondAuth(), RetrievePageName() or FmtPageName(), before the $pagename variable is sanitized by ResolvePageName() in stdconfig.php. A specific URL launched by a malicious visitor may trigger the vulnerability.%0a%0aMost recipes call core functions from a $HandleActions function, or from a Markup expression rule, these do not appear to be affected by the current exploit.%0a%0aIf your wiki may be at risk, it is recommended to upgrade to version 2.2.96 or most recent at the earliest opportunity. If you cannot immediately upgrade, you should place the following line in your local (farm)config.php file:%0a%0a [@$pagename = preg_replace('![${}\'"\\\\]+!', '', $pagename);@]%0a%0aPlace this line near the top of the file but after you include scripts/xlpage-utf-8.php or other character encoding file.%0a%0aThis version filters the $pagename variable to exclude certain characters. A new variable $pagename_unfiltered is added in case a recipe requires the previous behavior. The documentation was updated.%0a%0a!! Version 2.2.95 (2017-02-28) [[#v2295]]%0aThis is a documentation update version.%0a%0a!! Version 2.2.94 (2017-01-31) [[#v2294]]%0aThis version allows webmasters to configure and use both .html and .htm extensions. The cached information about whether a page exists or not will now be cleared when that page is created or deleted. The documentation was updated.%0a%0a!! Version 2.2.93 (2016-12-31) [[#v2293]]%0aThis is a documentation update version.%0a%0a!! Version 2.2.92 (2016-11-30) [[#v2292]]%0aThis version allows administrators to disable the "nopass" password by setting $AllowPassword to false. The function FmtPageName() will now expand PageVariables with asterisks like [@{*$FullName}@]. The documentation was updated.%0a%0a!! Version 2.2.91 (2016-09-30) [[#v2291]]%0aThis is a documentation update version.%0a%0a!! Version 2.2.90 (2016-08-31) [[#v2290]]%0aThis version adds a parameter to the upload form which can improve analytics from the server logs. Two new CSS classes were added to help skin developers: @@imgonly@@ and @@imgcaption@@, for standalone embedded pictures with or without a caption. A bug with the plus-links was fixed. The documentation was updated.%0a%0a!! Version 2.2.89 (2016-07-30) [[#v2289]]%0aThis version allows to set a default class name for simple tables. The [@(:searchbox:)@] directive can now have a "placeholder" attribute, and the input type can be changed from "text" to "search" for HTML5 websites. The edit form elements have now identifier attributes to allow easier styling. All core scripts will now inject CSS into the skin only if it hasn't already been defined. The vardoc.php script now recognizes and links to the documentation for the variables $pagename, $Author and $Skin. The documentation was updated.%0a%0a!! Version 2.2.88 (2016-06-29) [[#v2288]]%0aThis version fixes invalid HTML output of some WikiTrail links. The function PHSC() can now have an optional fourth argument for a safe replacement of htmlspecialchars(). A new page variable [@{$SiteAdminGroup}@] was added and the documentation was updated. %0a%0a!! Version 2.2.87 (2016-05-31) [[#v2287]]%0aThis version adds the $HTMLTagAttr variable to be used in the %3chtml> tag in skins for additional attributes like "lang" or "manifest". To enable it, use it in your skin, for example:%0a%0a %3chtml xmlns="http://www.w3.org/1999/xhtml" $HTMLTagAttr>%0a%0aThe variable $EnableRevUserAgent, if set to 1, will cause the User-Agent string from browsers to be stored with each page history entry (as opposed to only storing the last user agent string). The output variable $DiffUserAgent can be used in history templates like $DiffStartFmt.%0a%0aA wrong page variable in [[Site.UploadQuickReference]] was corrected, and the documentation was updated.%0a%0a!! Version 2.2.86 (2016-04-28) [[#v2286]]%0aThis version adds updates for PHP 7, for the PageStore() class and for the $DefaultPasswords default/unset definitions (no action should be needed upon upgrades). The documentation was updated.%0a%0a!! Version 2.2.85 (2016-03-31) [[#v2285]]%0aThis version adds Scalable Vector Graphics (*.svg, *.svgz) as allowed uploads and as embeddable picture extensions (with the html tag %3cimg/>). The documentation was updated.%0a%0a!! Version 2.2.84 (2016-02-21) [[#v2284]]%0aThis version fixes "indent" and "outdent" styles for right-to-left languages. A new variable $EnableLinkPlusTitlespaced allows "plus links" [@[[Link|+]]@] to display the "Spaced Title" of the page instead the "Title". The documentation was updated.%0a%0a!! Version 2.2.83 (2015-12-31) [[#v2283]]%0aThis is a documentation update version.%0a%0a!! Version 2.2.82 (2015-11-30) [[#v2282]]%0aThis version enables stripmagic() to process arrays recursively and updates the documentation.%0a%0a!! Version 2.2.81 (2015-10-31) [[#v2281]]%0aThis version fixes an inconsistency with single line page text variables. International wikis enabling UTF-8 will now be able to use the CSS classes "rtl" and "ltr" to override the text direction when inserting right to left languages. The documentation was updated.%0a%0a!! Version 2.2.80 (2015-09-30) [[#v2280]]%0aThis version modifies the [@(:searchbox:)@] directive to use type="search" semantic input, and updates the documentation.%0a%0a!! Version 2.2.79 (2015-08-27) [[#v2279]]%0aThis version adds WikiStyles for the CSS basic colors "fuchsia", "olive", "lime", "teal", "aqua", "orange" and "gray"/"grey". New input elements "email", "url", "number", "date", and "search" can now be used in wiki forms. %0a%0aNote: the "target" attribute of input forms which was added in the previous version broke the PmForm processor, and was removed until we find a solution. If you don't use PmForm and require this attribute (or others), the usual way to add it is to redefine the $InputAttrs array in your local configuration.%0a%0aA new variable $EnableROSEscape can be set to 1 if $ROSPatterns and $ROEPatterns should not process source text wrapped with [@[=...=]@] or @@[=[@...@]=]@@. By default "replace on edit" patterns are performed even in such text.%0a%0aThe insMarkup() function in guiedit.js was refactored to allow custom input ids and/or custom functions to process the selected text.%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.78 (2015-07-21) [[#v2278]]%0aThis version updates the $RobotPattern list with currently active user agents. {-Input forms can have a "target" attribute-} (removed in 2.2.79). The documentation was updated.%0a%0aNote, this release broke the Cookbook:PmForm module. Please do upgrade to 2.2.79 or newer if your wiki uses PmForm.%0a%0a!! Version 2.2.77 (2015-06-19) [[#v2277]]%0aThis version extends the [@(:if attachments:)@] conditional to specify file and page names. A [@{$WikiTitle}@] page variable was added. A MatchNames() function was introduced as a generic way to match array values the same way MatchPageNames() does currently with lists of pages -- recipe authors can use it to get a subset of attachments for example. The PageStore() class was slightly optimized when recoding pages from-to UTF-8. The documentation was updated.%0a%0a!! Version 2.2.76 (2015-05-31) [[#v2276]]%0aThis version improves support for arrays in form elements: setting default values and recovering values from posted forms. A new "label" argument to checkbox and radio input elements allows easy insertion of clickable text labels after the form elements. Division blocks wrapping standalone images, and standalone image captions, now receive CSS classes allowing greater control via stylesheets. The documentation was updated.%0a%0a!! Version 2.2.75 (2015-04-26) [[#v2275]]%0aThis version adds a pmcrypt($pass, $salt) function which can be used as a replacement for the PHP crypt() function when encrypting passwords. From PHP 5.6 on, crypt() should not be used without a $salt parameter and would raise a notice. If pmcrypt() is called with a $salt parameter it will simply call crypt() in order to check a password. If it is called without a $salt parameter, pmcrypt() will create a password hash with the password_hash() function or with crypt() depending on your installation. You can replace any calls to crypt() with pmcrypt(), notably in config.php when defining $DefaultPasswords entries.%0a%0aMarkup was added for the semantic HTML5 tags article, section, nav, header, footer, aside, address.%0a%0aA bug with the uploads feature was fixed when $EnableReadOnly is set, and the documentation was updated.%0a%0a!! Version 2.2.74 (2015-03-28) [[#v2274]]%0aThis version allows the translation of the word "OK" in authentication forms. The documentation was updated to the latest state on pmwiki.org.%0a%0a!! Version 2.2.73 (2015-02-28) [[#v2273]]%0aThis release only updates the documentation to the latest state on pmwiki.org.%0a%0a!! Version 2.2.72 (2015-01-27) [[#v2272]]%0aThis version improves the ?action=ruleset display for markup rules potentially incompatible with PHP 5.5 when the function debug_backtrace() is not available. It restores the ability to set a custom function handling the [=(:markup:)=] demos. A variable $AbortFunction was added allowing administrators to override the core Abort() function. The documentation was updated.%0a%0a!! Version 2.2.71 (2014-12-29) [[#v2271]]%0aThis version removes the hard word wrap in [@(:markup:)@] wikicode examples, and instead of %3cpre> tags, it wraps it in %3ccode> tags. This allows newcomers to copy and paste the code in their wikis without inserted line breaks (which often cause the markup to not work).%0a%0aThe release also adds back-tracing for markup rules potentially incompatible with PHP 5.5. Such rules, often added by recipes, can trigger "Deprecated: preg_replace()" warnings. To find out which recipes may trigger the warnings, enable diagnostic tools in config.php with @@$EnableDiag = 1;@@ then open a page with the 'ruleset' action, eg. [@[[HomePage?action=ruleset]]@]. The PHP-5.5-incompatible rules will be flagged with filenames, line numbers and patterns. See also the pages [[(PmWiki:)Troubleshooting]] and [[(PmWiki:)CustomMarkup]] on pmwiki.org.%0a%0aThe variable $DraftActionsPattern was added, the pagelist "request" parameter can now contain a list of allowed or disallowed parameters that can be overridden by the user, the "input default source" parameter can now contain multiple pages, and a minor bug was fixed in upload.php ('strict' warning). See the updated documentation for more information. %0a%0a!! Version 2.2.70 (2014-11-08) [[#v2270]]%0aThis release only updates the documentation to the latest state on pmwiki.org.%0a%0a!! Version 2.2.69 (2014-10-13) [[#v2269]]%0aThis version fixes a bug when dates are defined as relative to other dates, eg. "2014-10-13 -3 days". The documentation was updated; note that the instructions in Site.UploadQuickReference were updated to reflect the display of the upload form in current browsers.%0a%0a!! Version 2.2.68 (2014-09-01) [[#v2268]]%0aThis version adds a Skins: InterMap prefix pointing to the Skins section on PmWiki.org, a "signature" markup in the edit quick reference, new WikiStyles clear, min-width and max-width and the documentation was updated.%0a%0a!! Version 2.2.67 (2014-08-02) [[#v2267]]%0aThis version fixes an inconsistency with input forms when values are taken from PageTextVariables. The documentation was updated to the latest state on pmwiki.org.%0a%0a!! Version 2.2.66 (2014-07-02) [[#v2266]]%0aThis version fixes a minor longstanding bug in the default Notification format when a page is deleted. In custom patterns, the "_" character will no longer be considered a function name. The documentation was updated.%0a%0a!! Version 2.2.65 (2014-06-07) [[#rel2.2.65]]%0aThis version fixes Pagelist handling of [@{$$PseudoVars}@] when they contain page variables. File permissions handling was improved when the current directory is owned by "root". The documentation was updated.%0a%0a!! Version 2.2.64 (2014-05-08) [[#rel2.2.64]]%0aThis version adds the [="{(mod)}"=] markup expression for modulo/remainder calculations, and the "tel:" and "geo:" URI schemes which, on compatible devices like smartphones, allow the creation of links to dial telephone numbers and open map/location applications. %0a%0aThe $SysMergePassthru switch was added, if enabled, it allows the "Simultaneous Edits" conflict resolution to use the passthru() function instead of popen().%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.63 (2014-04-05) [[#rel2.2.63]]%0aThis version allows for form elements to have custom attributes containing a dash in the attribute names and enables the attributes 'required', 'placeholder' and 'autocomplete' for HTML5 forms. A minor bug with pagelist [={$$RequestVariables}=] appearing on some installations was fixed. The documentation was updated.%0a%0a!! Version 2.2.62 (2014-02-28) [[#rel2.2.62]]%0aThis version adds the variable $EnableTableAutoValignTop which allows to make advanced tables compatible with HTML5. For developers, a fourth argument $template was added to the Markup_e() function, and a callback template 'return' was added. The documentation was updated.%0a%0a!! Version 2.2.61 (2014-01-31) [[#rel2.2.61]]%0aThis version removes unnecessary snippets of code and adds the variable $TableCellAlignFmt which allows to make simple tables compatible with HTML5. The documentation was updated.%0a%0a!! Version 2.2.60 (2014-01-12) [[#rel2.2.60]]%0aThis version reverts the changes to the pmwiki.css file made in 2.2.59. %0a%0a!! Version 2.2.59 (2014-01-11) [[#rel2.2.59]]%0aThis version has an improvement for Blocklist when multiple text fields are posted. A bug with some nested markup conditionals was fixed. The default skin switched font sizes from points (fixed) to percents (relative). A couple of other minor bugs were fixed and the documentation was updated.%0a%0a!! Version 2.2.58 (2013-12-25) [[#rel2.2.58]]%0aThis version enables customization of [=(:input auth_form:)=], and fixes a couple of minor bugs. The documentation was updated.%0a%0a!! Version 2.2.57 (2013-11-03)%0aThis version enables the use of the Attach: link format in the [[PmWiki/PageDirectives#attachlist|[=(:attachlist:)=]]] directive. The documentation was updated.%0a%0a!! Version 2.2.56 (2013-09-30)%0aThis version aims to fix a PHP 5.5 compatibility issue with a deprecated feature of the preg_replace() function. The PageStore() class now detects and works around a bug with the iconv() function, and the documentation was updated.%0a%0a!! Version 2.2.55 (2013-09-16)%0aThis version adds the variable $EnableDraftAtomicDiff. If enabled, publishing from a draft version will clear the history of intermediate draft edits, and the published version will contain a single combined diff from the previous published version. The documentation was updated.%0a%0a!! Version 2.2.54 (2013-08-13)%0aThis version fixes a bug when old versions are restored from draft pages. The documentation was updated.%0a%0a!! Version 2.2.53 (2013-07-08)%0aThis version enables a message to be shown when a post is blocked because of too many unapproved links. The documentation was updated.%0a%0a!! Version 2.2.52 (2013-06-08)%0aThis version hides warnings about a deprecated feature in PHP 5.5 installations (preg_replace with /e eval flag). Three new upload extensions were added: docx, pptx and xlsx produced by recent versions of some office suites. The documentation was updated.%0a%0a!! Version 2.2.51 (2013-05-08)%0aThis version updates the addresses for the remote blocklists. A minor XSS vulnerability for open wikis, which was discovered today, was fixed. The documentation was updated.%0a%0a!! Version 2.2.50 (2013-04-08)%0aThis release only updates the documentation to the latest state on pmwiki.org.%0a%0a!! Version 2.2.49 (2013-03-09)%0aThis version adds an array $UploadBlacklist containing forbidden strings of an uploaded filename (case insensitive). Some Apache installations try to execute a file which has ".php", ".pl" or ".cgi" anywhere in the filename, for example, "test.php.txt" may be executed. To disallow such files to be uploaded via the PmWiki interface, add to config.php such a line:%0a%0a $UploadBlacklist = array('.php', '.pl', '.cgi', '.py', '.shtm', '.phtm', '.pcgi', '.asp', '.jsp', '.sh');%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.48 (2013-02-11)%0aThis version fixes a bug introduced yesterday with some links. %0a%0a!! Version 2.2.47 (2013-02-10)%0aThis version enables tooltip titles in links to anchors in the same page, and the documentation was updated.%0a%0a!! Version 2.2.46 (2013-01-07)%0aThis version adds $UploadPermAdd and $UploadPermSet variables, and the documentation was updated.%0a%0aIf your wiki has uploads enabled, it is recommended to set the variable $UploadPermAdd to 0. %0a%0aThe $UploadPermAdd variable sets additional unix permissions applied to newly uploaded files, and should be 0 (recommended as of 2013). If uploaded files cannot be downloaded and displayed on the website, for example with the error 403 Forbidden, set this value to 0444 (core setting, default since 2004). %0a $UploadPermAdd = 0; # recommended%0a%0aThe $UploadPermSet variable unconditionally sets the file permissions on newly uploaded files. Only advanced administrators should use it.%0a%0a%0a!! Version 2.2.45 (2012-12-02)%0aThis version fixes some PHP notices appearing on some installations. The documentation was updated.%0a%0a!! Version 2.2.44 (2012-10-21)%0aThis version improves the display of consecutive whitespaces in page histories, and fixes the definition of PageTextVariables containing a dash. The documentation was updated.%0a%0a%0a!! Version 2.2.43 (2012-09-20)%0aThis version makes it possible to use HTML attribute names that contain dashes, and removes a warning when editing and previewing Site.EditForm. The documentation was updated.%0a%0a!! Version 2.2.42 (2012-08-20)%0aThis version provides a workaround for cases when a wiki page contains a character nonexistent in the active encoding. The documentation was updated.%0a%0a!! Version 2.2.41 (2012-08-12)%0aThis version changes the internal $KeepToken separator to be compatible with more encodings. The documentation was updated.%0a%0a!! Version 2.2.40 (2012-07-21)%0aThis version provides a helper function replacing htmlspecialchars() and compatible with PHP 5.4. The documentation was updated.%0a%0a!! Version 2.2.39 (2012-06-25)%0aThis version provides a fix for links to attachments containing international characters. The documentation was updated.%0a%0a!! Version 2.2.38 (2012-05-21)%0aThis version fixes a "parameter count" warning which appeared on some websites.%0a%0a!! Version 2.2.37 (2012-05-01)%0aThis version provides a workaround for installations with broken iconv() function, while optimizing the recode function. This should fix the "Unable to retrieve edit form" problem in some wikis. Dots in [[#anchor_1.2]] sections are now better supported, PageVariables are expanded in PageList template defaults, and the documentation is updated.%0a%0a!! Version 2.2.36 (2011-12-28)%0aThis version fixes the recode function to try to recover Windows-1252 characters in ISO-8859-1 files. A new variable $EnableOldCharset enables the $page["=oldcharset"] entry which will be used in the future. A couple of minor bugs were fixed and the documentation was updated.%0a%0a!! [[#v2235]] Version 2.2.35 (2011-11-11)%0aThis release fixes a critical PHP injection vulnerability, reported today by Egidio Romano. PmWiki versions 2.2.X, 2.1.X, 2.0.X and 2.0.beta33 and newer are vulnerable. When you upgrade, please read carefully the Release notes for all PmWiki versions since yours.%0a%0aIf you cannot upgrade, it is recommended to disable Searches at the earliest opportunity (even if your wiki skin doesn't have a search form). Add to config.php such a line:%0a if ($action == 'search') $action = 'browse';%0a%0aIf your old version wiki allows editing by not entirely trusted visitors, even on limited pages like a WikiSandbox, you should also disable PageLists. Add to config.php this line:%0a $EnablePageList = 0;%0a%0aThis version has an important change for international wikis: the XLPage() function no longer loads encoding scripts such as xlpage-utf-8.php. When you upgrade, you need to include those scripts from config.php, before calling XLPage():%0a%0a include_once("scripts/xlpage-utf-8.php"); # if your wiki uses UTF-8%0a XLPage('bg','PmWikiBg.XLPage');%0a%0aAll links can now have tooltip titles. Previously, only images and external links could have tooltip titles, now this feature is enabled for internal links. To set a tooltip title, add it in quotes after the link address:%0a[@%0a [[Main.HomePage"This is a tooltip title"]]%0a [[Main.HomePage"This is a tooltip title"|Home]]%0a [[http://www.pmwiki.org"Home of PmWiki"]]%0a Attach:image.jpg"Tooltip title of the image"%0a@]%0a%0aThe following new upload extensions were added: svg, xcf, ogg, flac, ogv, mp4, webm, odg, epub. A couple of minor optimizations were added (MarkupExpressions and rendering of page history) and the documentation was updated.%0a%0a!! Version 2.2.34 (2011-10-10)%0aThis version resets the timestamps of the default pages Site(Admin).AuthUser which are expected in case of upgrades from the versions 2.1.*. Core MarkupExpressions which manipulate strings should now work better with international characters. The documentation was updated to its latest state from pmwiki.org.%0a%0a!! Version 2.2.33 (2011-09-23) [[#v2233]]%0aThis version fixes a security bug introduced in 2.2.32 which left the groups Site and SiteAdmin open for reading and editing because the pages Site.GroupAttributes and SiteAdmin.GroupAttributes didn't have all necessary attributes. %0a%0aAll wikis running 2.2.32 should upgrade. If you cannot immediately upgrade, you can set the attributes from your wiki:%0a* open the attributes page [=[[SiteAdmin.GroupAttributes?action=attr]]=] and set a "read" and an "edit" password, @@ @lock @@ is recommended.%0a* open the attributes page [=[[Site.GroupAttributes?action=attr]]=] and set an "edit" password, @@ @lock @@ is recommended. Do not set a "read" password here.%0a%0aThe release also fixes the refcount.php script to produce valid HTML, and updates intermap.txt entries PITS: and Wikipedia: to point to their current locations.%0a%0a!! Version 2.2.32 (2011-09-18)%0aThis is the first version shipping with the core documentation in the UTF-8 encoding. PmWiki will automatically convert it on the fly for wikis using an older encoding.%0a%0aIt is recommended that all '''new''' PmWiki installations enable UTF-8. Migration of ''existing'' wikis from an older encoding to UTF-8 shouldn't be rushed: it is not trivial and will be documented in the future.%0a%0aA required HTML xmlns attribute was added to the print skin template. The history rendering is now faster when many lines are added or removed.%0a%0a%25note%25 Note: Due to a manipulation error, a version 2.2.31 was created before it was ready for a release.%0a%0a!! Version 2.2.30 (2011-08-13)%0aThis version fixes a $Charset definition in international iso-8859-*.php files. This will help for a future transition to UTF-8. %0a%0aA variable $EnableRangeMatchUTF8 was added, set it to 1 to enable range matches of pagenames in UTF-8 like [A-D]. Previously the range matches were always enabled in UTF-8, but we found out that on some installations this feature breaks all pagelists, even those without range matches. In case the feature worked for you, you can re-enable it.%0a%0a!! Version 2.2.29 (2011-07-24)%0aThis release fixes Attach links that were broken with the Path fix in 2.2.28 earlier today.%0a%0a!! Version 2.2.28 (2011-07-24)%0aThis release fixes 2 potential XSS vulnerabilities and a bug with Path: links.%0a%0a!! Version 2.2.27 (2011-06-19)%0aThis release fixes a validation bug on pages after a redirection. A new block WikiStyle [@%25justify%25@] was added, allowing left and right aligned text. The page history now accepts a URL parameter @@?nodiff=1@@ which hides the rendering of edit differences, showing only timestamps, authors, summaries and "Restore" links; it allows to restore a vandalized page with a huge contents or history which otherwise would break the memory or time limits of the server.%0a%0a!! Version 2.2.26 (2011-05-21)%0aThis release fixes a redundant removal of link hashes from WikiTrails, and updates the documentation to the most recent version from PmWiki.org.%0a%0a!! Version 2.2.25 (2011-03-22)%0aThis release only updates the documentation to the latest state on pmwiki.org.%0a%0a!! Version 2.2.24 (2011-02-15)%0aThis version reverts the way existing PageVariables are processed, like version 2.2.21 or earlier, but it adds a special variable $authpage which can be used in PageVar definitions. It is the same as the $page array, but exists only if the visitor has read permissions. For example, an administrator can set to config.php:%0a%0a $FmtPV['$LastModifiedSummary'] = '@$authpage["csum"]'; # instead of '@$page["csum"]'%0a%0aThen, the edit summary metadata will only be available if the user has read permissions.%0a%0a!! Version 2.2.23 (2011-01-25)%0aThis version sets the default value of $EnablePageVarAuth to 0 until we investigate a reported problem with authentication.%0a%0a!! Version 2.2.22 (2011-01-16)%0aThis version adds the variable $EnableXLPageScriptLoad which, if set to 0, will prevent authors to load scripts from XLPage and to accidentally change the encoding of the wiki. If you use it, make sure you include the required files, eg. xlpage-utf-8.php from local config files.%0a%0aPageVariables should now respect authentications: without read permissions, the title, description, change summary, author of a protected page are unavailable. PageVariables that are computed without reading the page are still available (eg. $Group, $Namespaced, $Version etc.). Administrators can revert the previous behavior by adding to config.php such a line:%0a%0a@@ $EnablePageVarAuth = 0; @@%0a%0a!! Version 2.2.21 (2010-12-14)%0aDue to a mis-configuration of a local svn repository, some of the changes intended for 2.2.20 didn't make it in the correct branch. This release corrects this.%0a%0a!! Version 2.2.20 (2010-12-14)%0aThis version fixes a potential XSS vulnerability, reported today. An AuthUser bug with excluding users from authgroups was fixed. A new InterMap prefix PmL10n: was added, it leads to the Localization section on PmWiki.org and should help the work of translators. A couple of other minor bugs were fixed and the documentation was updated.%0a%0a!! Version 2.2.19 (2010-11-10)%0aThis is a documentation-update release.%0a%0a!! Version 2.2.18 (2010-09-04)%0aThis version fixes 3 minor bugs, and updates the documentation.%0a%0a!! Version 2.2.17 (2010-06-20)%0aThis version adds a variable $PostConfig containing functions and scripts to be loaded after stdconfig.php. Tabindex was added as a valid form field attribute. Protected downloads now respect existing browser caches. AuthUser now allows more flexible cookbook recipe integration. A couple of bugs were fixed and the documentation was updated.%0a%0a!! Version 2.2.16 (2010-05-10)%0aThis version fixes a bug with parsing html attributes which could allow XSS injection. Wikis allowing unprotected editing are encouraged to upgrade.%0a%0aA bug with the "center" button of the GUI edit toolbar was corrected.%0a%0aThe "exists" conditional now accepts wildcards, for example:%0a [@(:if exists Main.*:)There are pages in the Main group (:if:)@]%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.15 (2010-03-27)%0aThis version adds some minor bugfixes and optimizations notably a bug with @@[=(:template none:)=]@@ introduced in the last version 2.2.14.%0a%0a!! Version 2.2.14 (2010-02-27)%0aThis release corrects inline styles for WikiTrail links. Undefined include/template @@ [={$$variables}=] @@ are now removed from the included section, like Page(Text)Variables, and can be used in conditional expressions. If needed, this change can be reverted by adding to config.php such a line:%0a%0a[@%0a $EnableUndefinedTemplateVars = 1; # keep and display unset {$$variables}%0a@]%0a%0aPageList templates now accept the sections @@ !first @@ and @@ !last @@ for markup to appear for every page in list ''except'' the first or last one.%0a%0a"Title" attributes were added to external links. You can have tooltip titles on external links, including InterMap and attachments, by adding the link title in double quotes after the URL:%0a [=[[http://www.pmwiki.org"Home of PmWiki"| External link]]=]%0a%0aFor international wikis, PmWiki now automatically translates the titles of technical pages like GroupAttributes or RecentChanges -- just define these strings as usual in XLPage, for example, in French:%0a 'AllRecentChanges' => 'Tous les changements récents',%0a%0aSome minor optimizations were done and the documentation was updated.%0a%0a!! Version 2.2.13 (2010-02-21)%0aThis release fixes a bug with $DiffKeepNum introduced in 2.2.10 -- the count of revisions was incorrect and a page could drop more revisions than it should.%0a%0aThe [[page history]] layout was modified with a rough consensus in the community. The history now defaults to "source" view with word-level highlighting of the differences. Authors can see the changes in rendered output by clicking on the link "Show changes to output". Admins can switch back the default by adding such a line to config.php:%0a%0a $DiffShow['source'] = (@$_REQUEST['source']=='y')?'y':'n';%0a%0aTo disable word-level highlighting and show plain text changes:%0a%0a $EnableDiffInline = 0;%0a%0aIn the page history rendering, a few minor bugs were fixed and the code was slightly optimized.%0a%0aThe documentation was updated.%0a%0a!! Version 2.2.12 (2010-02-17)%0aThis release adds simple word-level highlighting of differences in the page history, when "Show changes to markup" is selected. To enable the feature, add to config.php such a line:%0a $EnableDiffInline = 1;%0a%0aThis feature is like what the InlineDiff recipe provides, but not exactly the same, and the implementation is simpler. It is enabled on PmWiki.org and can be improved -- your comments are welcome.%0a%0a!! Version 2.2.11 (2010-02-14)%0aThis release adds two new table directives for header cells, [=(:head:) and (:headnr:)=]. They work the same way as [=(:cell:) and (:cellnr:)=] except that create %3cth> instead of %3ctd> html tags.%0a%0aThe pagerev.php script was refactored into separate functions to allow easier integration of recipes displaying the page history.%0a%0aA couple of minor bugs were fixed and the documentation was updated.%0a%0a!! Version 2.2.9, 2.2.10 (2010-01-17)%0aMost important in this release is the official change of $EnableRelativePageVars to 1. The change is about how [={$Variable}=] in included pages is understood by PmWiki.%0a* When $EnableRelativePageVars is set to 0, [={$Name}=] displays the name of the currently browsed page. Even if [={$Name}=] is in an included page, it will display the name of the browsed page.%0a* When $EnableRelativePageVars is set to 1, [={$Name}=] displays the name of the physical page where it written. If [={$Name}=] is in an included page, it will display the name of the included page.%0a* [={*$Name}=] always displays the name of the currently browsed page, regardless of $EnableRelativePageVars.%0a%0aSo, if your wiki relies on page variables from included pages, and doesn't have $EnableRelativePageVars set to 1, after upgrading to 2.2.9, you can revert to the previous behavior by adding to config.php such a line:%0a $EnableRelativePageVars = 0;%0a%0aMore information about page variables can be found at:%0a http://www.pmwiki.org/wiki/PmWiki/PageVariables%0a%0aThis release adds a new variable $EnablePageTitlePriority which defines how to treat multiple [=(:title..:)=] directives. If set to 1, the first title directive will be used, and if a page defines a title, directives from included pages cannot override it. PmWiki default is 0, for years, the last title directive was used (it could come from an included page or GroupFooter).%0a%0aThis release also adds a new variable $DiffKeepNum, specifying the minimum number (default 20) of edits that will be kept even if some of them are older than the limit of $DiffKeepDays.%0a%0aA number of bugs were fixed and the documentation was updated.%0a%0a!! Version 2.2.8 (2009-12-07)%0aThis release fixes another PHP 5.3 compatibility issue with conditional markup. The Author field now handles apostrophes correctly. The documentation was updated.%0a%0a!! Version 2.2.7 (2009-11-08)%0aThis release fixes most PHP 5.3 compatibility issues. Unfortunately some specific builds for Windows may still have problems, which are unrelated to PmWiki. Notably, on Windows, all passwords need to be 4 characters or longer.%0a%0aUpload names with spaces are now correctly quoted. The documentation was updated.%0a%0a!! Version 2.2.6 (2009-10-04)%0aWith this release it is now possible to display recently uploaded files to the RecentChanges pages -- if you have been using the RecentUploadsLog recipe, please uninstall it and follow the instructions at http://www.pmwiki.org/wiki/Cookbook/RecentUploadsLog.%0a%0aThe release also introduces $MakeUploadNamePatterns to allow custom filename normalization for attachements. It is now possible to replace $PageListFilters and $FPLTemplateFunctions with custom functions. Notify should now work in safe_mode. Some bugs were fixed, among which one with conditional markup with dates. The documentation was updated.%0a%0a!! Version 2.2.5 (2009-08-25)%0aThis release adds a new markup for Pagelist templates, [@(:template none:)@] which allows a message to be set when the search found no pages. The FPLTemplate() function was broken into configurable sub-parts to allow development hooks. A number of bugs were fixed, and the documentation was updated.%0a%0a!! Version 2.2.4 (2009-07-16)%0aThis release fixes a bug introduced earlier today with HTML entities in XLPages.%0a%0a!! Version 2.2.3 (2009-07-16)%0aThis release fixes six potential XSS vulnerabilities, reported by Michael Engelke. The vulnerabilities may affect wikis open for editing and may allow the injection of external JavaScripts in their pages. Public open wikis should upgrade.%0a%0aA new variable $EnableUploadGroupAuth was added; if set to 1, it allows password-protected [[uploads]] to be checked against the Group password. %0a%0aIt is now possible to use @@ @_site_edit, @_site_read, @_site_admin@@ or @@ @_site_upload @@ global [[passwords]] in GroupAttributes pages.%0a%0aA number of other small bugs were fixed, and the documentation was updated.%0a%0a!! Version 2.2.2 (2009-06-21)%0aThe major news in this release is a fix of an AuthUser vulnerability.%0a%0aThe vulnerability affects only wikis that (1) rely on the AuthUser core module %0afor User:Password authentication, -AND- (2) where the PHP installation runs %0awith the variable "magic_quotes_gpc" disabled.%0a%0aAll PmWiki 2.1.x versions from pmwiki-2.1.beta6 on, all 2.2.betaX, 2.2.0, and %0a2.2.1 are affected.%0a%0aThe PmWiki [[SiteAnalyzer]] can detect if your wiki needs to upgrade:%0a http://www.pmwiki.org/wiki/PmWiki/SiteAnalyzer%0a%0aIf your wiki is vulnerable, you should do one of the following at the earliest %0aopportunity:%0a%0a* Upgrade to a version of PmWiki at least 2.2.2 or greater.%0a* Turn on magic_quotes_gpc in the php.ini file or in a .htaccess file.%0a%0aAlternatively, you can temporarily disable AuthUser until you upgrade.%0a%0aNote that even if your wiki does not have the AuthUser vulnerability at the %0amoment, you are strongly encouraged to upgrade to PmWiki version 2.2.2 or %0alater, as some future configuration of your hosting server might put you at %0arisk.%0a%0aThis release also comes with minor updates in the local documentation; fixes %0awere applied for international wikis - notably global variables in %0axlpage-utf-8.php and a new variable $EnableNotifySubjectEncode, which allows %0ae-mail clients to correctly display the Subject header; and a number of other %0asmall bugs were fixed.%0a%0a!! Version 2.2.1 (2009-03-28)%0aThis release comes with an updated local documentation; [[wiki trails]] now work cross-group; guiedit.php now produces valid HTML, and other small bugs were fixed. We also added $EnableRedirectQuiet, which allows redirects to take place without any mention of "redirected from page ....".%0a%0a[[#v220]]%0a!! Version 2.2.0 (2009-01-18)%0a%0aThis is a summary of changes from 2.1.x to 2.2.0.%0a%0a* Several pages that were formerly in the [[Site]].* group are now in a separate [[SiteAdmin]].* group, which is read-restricted by default. The affected pages include Site.AuthUser, Site.AuthList, Site.NotifyList, Site.Blocklist, and Site.ApprovedUrls . If upgrading from an earlier version of PmWiki, PmWiki will prompt to automatically copy these pages to their new location if needed. If a site wishes to continue using the old Site.* group for these pages, simply set%0a%0a-> $SiteAdminGroup = $SiteGroup;%0a%0a-> when carrying out this upgrade inspect your config files for lines such as%0a--> $BlocklistDownload['Site.Blocklist-PmWiki'] = array('format' => 'pmwiki');%0a->as you may wish to fix then, eg%0a--> $BlocklistDownload[$SiteAdminGroup . '.Blocklist-PmWiki'] = array('format' => 'pmwiki');%0a%0a* Important Change in Passwords in PmWiki 2.2 indicating that the group can be edited even if a site password is set will be done by @@"@nopass"@@ prior it was done by @@"nopass"@@%0a-> When migrating a wiki you will have to manually modify the permission or by a script replace in all the page concerned @@passwdread=nopass:@@ by @@passwdread=@nopass@@ (see PITS:00961) --isidor%0a%0a* PmWiki now ships with WikiWords entirely disabled by default. To re-enable them, set either $LinkWikiWords or $EnableWikiWords to 1. To get the 2.1 behavior where WikiWords are spaced and parsed but don't form links, use the following:%0a-> $EnableWikiWords = 1;%0a-> $LinkWikiWords = 0;%0a%0a* It's now easy to disable the rule that causes lines with leading spaces to be treated as preformatted text -- simply set $EnableWSPre=0; to disable this rule.%0a%0a--> '''Important:''' There is ongoing discussion that the leading whitespace rule may be disabled ''by default'' in a future versions of PmWiki. If you want to make sure that the rule will continue to work in future upgrades, set $EnableWSPre=1; in ''local/config.php''.%0a%0a* The $ROSPatterns variable has changed somewhat -- replacement strings are no longer automatically passed through FmtPageName() prior to substitution (i.e., it must now be done explicitly).%0a%0a* Page variables and page links inside of [@(:include:)@] pages are now treated as relative to the included page, instead of the currently browsed page. In short, the idea is that links and page variables should be evaluated with respect to the page in which they are written, as opposed to the page in which they appear. This seems to be more in line with what authors expect. There are a number of important ramifications of this change:%0a%0a[[#relativeurls]]%0a** We now have a new [@{*$var}@] form of page variable, which always refers to "the currently displayed page". Pages such as Site.PageActions and Site.EditForm that are designed to work on "the currently browsed page" should generally switch to using [@{*$FullName}@] instead of [@{$FullName}@].%0a%0a** The $EnableRelativePageLinks and $EnableRelativePageVars settings control the treatment of links and page variables in included pages. However, to minimize disruption to existing sites, $EnableRelativePageVars defaults to '''disabled'''. This will give existing sites an opportunity to convert any absolute [@{$var}@] references to be [@{*$var}@] instead.%0a%0a** Eventually $EnableRelativePageVars will be enabled by default, so we highly recommend setting [@$EnableRelativePageVars = 1;@] in ''local/config.php'' to see how a site will react to the new interpretation. Administrators should especially check any customized versions of the following:%0a---> [[Site.PageActions]]%0a---> [[Site.EditForm]]%0a---> [[Site.PageNotFound]]%0a---> SideBar pages with ?action= links for the current page%0a---> $GroupHeaderFmt, $GroupFooterFmt%0a---> [[Page lists]] that refer to the current group or page, etc in sidebars, headers, and footers%0a%0a** The [@(:include:)@] directive now has a [@basepage=@] option whereby an author can explicitly specify the page upon which relative links and page variables should be based. If no basepage= option is specified, the included page is assumed to be the base.%0a%0a* Sites that want to retain the pre-2.2 behavior of [@(:include:)@] and other items can set [@$Transition['version'] = 2001900;@] to automatically retain the 2.1.x defaults.%0a%0a* Text inserted via [@(:include:)@] can contain "immediate substitutions" of the form [@{$$option}@] -- these are substituted with the value of any options provided to the include directive.%0a%0a* PmWiki now recognizes when it is being accessed via "https:" and switches its internal links appropriately. This can be overridden by explicitly setting $ScriptUrl and $PubDirUrl.%0a%0a* A new $EnableLinkPageRelative option allows PmWiki to generate relative urls for page links instead of absolute urls.%0a%0a* Draft handling capabilities have been greatly improved. When $EnableDrafts is set, then the "Save" button is relabeled to "Publish" and a "Save draft" button appears. In addition, an $EnablePublishAttr configuration variable adds a new "publish" authorization level to distinguish editing from publishing. See [[PmWiki:Drafts]] for more details.%0a%0a[[#ptvstart]]%0a* There is a new [@{$:var}@] "page text variable" available that is able to grab text excerpts out of markup content. For example, [@{SomePage$:Xyz}@] will be replaced by a definition of "Xyz" in SomePage. Page text variables can be defined using definition markup, a line beginning with the variable name and a colon, or a special directive form (that doesn't display anything on output):%0a%0a-->[@%0a:Xyz: some value # definition list form%0aXyz: some value # colon form%0a(:Xyz: some value:) # directive form%0a@]%0a[[#ptvend]]%0a%0a* The [@(:pagelist:)@] command can now filter pages based on the contents of page variables and/or page text variables. For example, the following directive displays only those pages that have an "Xyz" page text variable with "some value":%0a%0a-->[@(:pagelist $:Xyz="some value":)@]%0a%0a Wildcards also work here, thus the following pagelist command lists pages where the page's title starts with the letter "a":%0a%0a-->[@(:pagelist $Title=A* :)@]%0a%0a* The if= option to [@(:pagelist)@] can be used to filter pages based on conditional markup:%0a%0a-->[@(:pagelist if="auth upload {=$FullName}":)@] pages with upload permission%0a-->[@(:pagelist if="date today.. {=$Name}":)@] pages with names that are dates later than today%0a%0a* Spaces no longer separate wildcard patterns -- use commas. (Most people have been doing this already.)%0a%0a* Because page variables are now "relative", the [@{$PageCount}, {$GroupCount}, {$GroupPageCount}@] variables used in pagelist templates are now [@{$$PageCount}, {$$GroupCount}, {$$GroupPageCount}@].%0a%0a* One can now use [@{$$option}@] in a pagelist template to obtain the value of any 'option=' provided to the [@(:pagelist:)@] command.%0a%0a* The [@(:pagelist:)@] directive no longer accepts parameters from urls or forms by default. In order to have it accept such parameters (which was the default in 2.1 and earlier), add a [@request=1@] option to the [@(:pagelist:)@] directive.%0a%0a* The [@count=@] option to pagelists now accepts negative values to count from the end of the list. Thus [@count=5@] returns the the first five pages in the list, and [@count=-5@] returns the last five pages in the list. In addition, ranges of pages may be specified, as in [@count=10..19@] or [@count=-10..-5@].%0a%0a* Pagelist templates may have special [@(:template first ...:)@] and [@(:template last ...:)@] sections to specify output for the first or last page in the list or a group. There's also a [@(:template defaults ...:)@] to allow a template to specify default options.%0a%0a* PmWiki comes with an ability to cache the results of certain [@(:pagelist:)@] directives, to speed up processing on subsequent visits to the page. To enable this feature, set $PageListCacheDir to the name of a writable directory (e.g., ''work.d/'').%0a%0a* [[#elseifelse]]The [@(:if ...:)@] conditional markup now also understands [@(:elseif ...:)@] and [@(:else:)@]. In addition, markup can nest conditionals by placing digits after if/elseif/else, as in [@(:if1 ...)@], [@(:elseif1 ...:)@], [@(:else1:)@], etc.%0a%0a* The [@(:if date ...:)@] conditional markup can now perform date comparisons for dates other than the current date and time.%0a%0a* [[WikiTrails]] can now specify #anchor identifiers to use only sections of pages as a trail.%0a%0a* A new [@(:if ontrail ...:)@] condition allows testing if a page is listed on a trail.%0a%0a* The extensions .odt, .ods, and .odp (from OpenOffice.org) are now recognized as valid attachment types by default.%0a%0a* A new [[blocklist]] capability has been added to the core distribution. It allows blocking of posts based on IP address, phrase, or regular expression, and can also make use of publicly available standard blocklists. See [[PmWiki.Blocklist]] for details.%0a%0a* There is a new [[SiteAdmin.AuthList]] page that can display a summary of all password and permissions settings for pages on a site. This page is restricted to administrators by default.%0a%0a* There are new [@{$PasswdRead}@], [@{$PasswdEdit}@], etc. variables that display the current password settings for a page (assuming the browser has attr permissions or whatever permissions are set in $PasswdVarAuth).%0a%0a* Forms creation via the [@(:input:)@] markup has been internally refactored somewhat (and may still undergo some changes prior to 2.2.0 release). The new [@(:input select ...:)@] markup can be used to create select boxes, and [@(:input default ...:)@] can be used to set default control values, including for radio buttons and checkboxes.%0a%0a* The [@(:input textarea:)@] markup now can take values from other sources, including page text variables from other pages.%0a%0a* Specifying [@focus=1@] on an [@(:input:)@] control causes that control to receive the input focus when a page is loaded. If a page has multiple controls requesting the focus, then the first control with the lowest value of [@focus=@] "wins".%0a%0a* PmWiki now provides a ''scripts/creole.php'' module to enable Creole standard markup. To enable this, add [@include_once('scripts/creole.php')@] to a local customization file.%0a%0a* PmWiki adds a new [@{(...)}@] ''markup expression'' capability, which allows various simple string and data processing (e.g., formatting of dates and times). This is extensible so that recipe authors and system administrators can easily add custom expression operators.%0a%0a* It's now possible to configure PmWiki to automatically create Category pages whenever a page is saved with category links and the corresponding category doesn't already exist. Pages are created only if the author has appropriate write permissions into the group. To enable this behavior, add the following to ''local/config.php'':%0a%0a-->[@$AutoCreate['/^Category\\./'] = array('ctime' => $Now);@]%0a%0a* Sites with wikiwords enabled can now set $WikiWordCount['WikiWord'] to -1 to indicate that 'WikiWord' should not be spaced according to $SpaceWikiWords.%0a%0a* WikiWords that follow # or & are no longer treated as WikiWords.%0a%0a* Links to non-existent group home pages (e.g., [@[[Group.]]@] and [@[[Group/]]@]) will now go to the first valid entry of $PagePathFmt, instead of being hardcoded to "Group.Group". For example, to set PmWiki to default group home pages to [@$DefaultName@], use%0a%0a-->[@$PagePathFmt = array('{$Group}.$1', '$1.{$DefaultName}', '$1.$1');@]%0a%0a* PmWiki now provides a $CurrentTimeISO and $TimeISOFmt variables, for specifying dates in ISO format.%0a%0a* [[(Cookbook:)Cookbook]] authors can use the internal PmWiki function UpdatePage (temporarily documented at [[(Cookbook:)DebuggingForCookbookAuthors]]) to change page text while preserving history/diff information, updating page revision numbers, updating RecentChanges pages, sending email notifications, etc.%0a%0a* [[Skin templates]] are now required to have %3c!--HTMLHeader--> and %3c!--HTMLFooter--> directives. Setting $EnableSkinDiag causes PmWiki to return an error if this isn't the case for a loaded skin. Skins that explicitly do not want HTMLHeader or HTMLFooter sections can use %3c!--NoHTMLHeader--> and %3c!--NoHTMLFooter--> to suppress the warning.%0a%0a* Added a new "pre" wikistyle for preformatted text blocks.%0a%0a* The xlpage-utf-8.php script now understands how to space UTF-8 wikiwords. %0a%0a* Searches on utf-8 site are now case-insensitive for utf-8 characters.%0a%0a* Many Abort() calls now provide a link to pages on pmwiki.org that can explain the problem in more detail and provide troubleshooting assistance.%0a%0a* PmWiki no longer reports "?cannot acquire lockfile" if the visitor is simply browsing pages or performing other read-only actions.%0a%0a* The $EnableReadOnly configuration variable can be set to signal PmWiki that it is to run in "read-only" mode (e.g., for distribution on read-only media). Attempts to perform actions that write to the disk are either ignored or raise an error via Abort().%0a%0a* Including authuser.php no longer automatically calls ResolvePageName().%0a%0a* Authentication using Active Directory is now simplified. In Site.AuthUser or the $AuthUser variable, set "ldap://name.of.ad.server/" with no additional path information (see PmWiki.AuthUser for more details).%0a%0a* Pages are now saved with a "charset=" attribute to identify the character set in effect when the page was saved.%0a%0a* The phpdiff.php algorithm has been optimized to be smarter about finding smaller diffs.%0a%0a* Removed the (deprecated) "#wikileft h1" and "#wikileft h5" styles from the pmwiki default skin.%0a%0a* The mailposts.php and compat1x.php scripts have been removed from the distribution.%0a%0a----%0aBugs and other requests can be reported to the PmWiki Issue Tracking %0aSystem at http://www.pmwiki.org/wiki/PITS/PITS. Any help%0ain testing, development, and/or documentation is greatly appreciated..%0a%0a[[(PmWiki:)Release Notes archive]] - notes for versions older than 2.2.0.%0a%0a%0a%0a%0a +time=1593841805 +title=Release Notes blob - /dev/null blob + 93f1a810c452c2c004c654fd5e4c86eaea2aeb8a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Requirements @@ -0,0 +1,9 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +name=PmWiki.Requirements +rev=61 +targets=Cookbook.InstallOnIIS,Cookbook.Standalone,Cookbook.WikiOnAStick +text=(:Summary:Pre-requisites for running the PmWiki wiki engine:)(:Audience: administrators (basic) :)%0aPrerequisites for running the PmWiki wiki engine:%0a# [[http://php.net/ | PHP]] 4.3 or later%0a** PHP 5.3 or later is recommended%0a** for PHP 5.5 to 7.4 compatibility use the current version of PmWiki%0a# Some sort of webserver that can run PHP scripts.%0a%0aPmWiki has been reported to work with the following OS/webserver combinations:%0a* Apache 1.3 or 2.0, on roughly anything (Unix, Linux, Windows, and Mac OS X)%0a** [[http://httpd.apache.org/ | Apache 2.4]] or later is recommended%0a* [[http://www.lighttpd.net/|lighttpd]] (1.4.19 php-fastcgi ssl) on Linux%0a* [[http://nginx.org/|nginx]] (0.8.47) on Windows%0a* Microsoft [[Cookbook:InstallOnIIS|Internet Information Server]], on Windows%0a* Linux + [[http://www.litespeedtech.com/|LiteSpeedWeb Server]] Standard Edition %0a* appWeb (a small, php-enabled webserver) executing on a Linksys NSLU2 Network Storage Link device%0a%0aPmWiki has been reported not to work on:%0a* Mac OS before Mac OS X because there's no PHP available%0a* Specific Release Candidate builds of PHP 5.3 for Windows may not work correctly with passwords%0a%0aThe [[(Cookbook:)Standalone]] recipe provides a special, bare-bones webserver application that can be used to run PmWiki in places where another webserver isn't available.%0aPmWiki can also be run from a [[Cookbook:WikiOnAStick | USB drive]]. +time=1572357953 blob - /dev/null blob + 5462a1659b29e4ccef56ffd38d393a607fc349d5 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Search @@ -0,0 +1,12 @@ +version=pmwiki-2.2.123 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=See also $EnablePageListProtect (+98) +ctime=1150411168 +description=A page for advanced and customized search options +name=PmWiki.Search +rev=132 +targets=PmWiki.WikiTrails,PmWiki.PageLists,Site.PageListTemplates,Site.LocalTemplates,Cookbook.PagelistTemplateSamples,Cookbook.Cookbook,PmWiki.PagelistVariables,PmWiki.Search,Site.AllRecentChanges,PITS.PITS,Group.Name +text=(:description A page for advanced and customized search options:)%0a(:Summary:Targeting and customizing search results:)%0a(:if !equal {$Action} "search":)%0a>>rframe width=300pcx font-size=smaller%3c%3c%0a-%3c '''This page uses [[#example|custom]] searches.'''%0aFor regular searches, view another page.%0a>>%3c%3c%0aPmWiki provides a basic search function. While it is not powered by a "search engine", it can be tweaked to produce results that are ''targeted'' and ''customized.'' %0a%0a!! Targeted searches%0aSearches can be targeted to restrict the search to certain pages. For example, a search can be restricted based on groups, where, for instance, "group=PmWiki" searches only the PmWiki group, and "group=-PmWiki" searches only pages that are not in the PmWiki group. In addition to groups, searches can be restricted based on page names ("name="), [[wiki trails]] ("trail="), backlinks ("link=") and other criteria (e.g. "list=normal") and capped at a maximum number ("count="). For documentation about each of these parameters, see [[page lists]]. %0a%0a!! Customized display%0aThe display of search results can be customized to control the format, content and order of the returned results. %0a:fmt=: select format and content by specifying a pagelist template that determines layout, such as list styles, and page elements, such as title and description. %0a:order=: allows results to be sorted according to different criteria, such as name and title. For documentation about each of these parameters, see [[page lists]]. %0aFor examples of pagelist template formats see [[Site.Page List Templates]], (:if2 exists Site.LocalTemplates:)[[Site.Local Templates]],(:if2end:) and [[Cookbook:Pagelist Template Samples]].%0a%0aThe [@(:pagelist request=1 req=1:)@] directives can be used instead of [@(:searchresults:)@] to remove the "Results of search for" message.%0aNeither of these directives work for the [@(:searchresults:)@] or [@(:searchbox:)@] directives.%0a:req=1: disables the pagelist until search results are returned.%0a:request=1: see [[PmWiki/PageLists#pagelistrequest|pagelists]]%0aThis can be used in many more cases than the default pmwiki search. %0aData from pages with PTVs, etc can be searched, filtered, and reordered.%0aNote that the default ordering is of text strings, ie. 1, 10, 2, 3 and not the numeric value 1, 2, 3, 10, but a custom pagelist sort function (see the [[cookbook/]]) can return any order required.%0a%0a!! Anyone, anywhere%0a'''Readers''' can create targeted and customized search results simply by typing the relevant parameters , e.g. "group=PmWiki", into search boxes together with their search string. '''Authors''' can predefine such targeted and customized searches by incorporating the parameters into pages using the [@(:searchbox:)@] and [@(:searchresults:)@] directives (documented at [[PageLists]]).%0a%0a[@(:searchresults:)@] can be customized by editing page [@Site.Search@].%0a%0aSee also%0a* $EnablePageListProtect to exclude from results pages where the visitor has no read permissions.%0a* $PageSearchForm %0a* $SearchBoxOpt%0a* $SearchPatterns%0a* $SearchBoxInputType%0a%0a%0a[[#example]]%0a!!Try it: this page generates custom searches%0aAny search that is run from this page will automatically generate pre-defined sets of search results that: '''''target''''' different clusters of pages (documentation, cookbook and PITS, if available); use '''''customized''''' formats, content and ordering; and '''''reveal''''' the specific parameters used to generate each search result. Whether you use the search box below, or the regular search box that appears at the top of this page, any search that you run from this page will provide the customized results. %0a(:searchbox size=20:)%0a%0a%0a(:ifend:)%0a(:if equal {$Action} "search":)%0a[[{$Name}|back]]\%0a%0a(:table border=0 width=100%25:)\%0a%0a(:cell width=30%25:)\%0a%0a!!!! [[Site/AllRecentChanges?q=PmWiki/+order%253Dname&action=search|All Documentation]]%0a(:searchresults group=PmWiki fmt=#onegroupdesc order=name:)%0a(:if expr exists Cookbook.Cookbook and equal {$Action} "search":)%0a(:cell width=35%25:)\%0a%0a!!!! [[Cookbook.Cookbook|All Cookbook Recipes]]%0a(:searchresults group=Cookbook fmt=#summary order=name:)%0a(:if expr exists PITS.PITS and equal {$Action} "search":)%0a(:cell width=35%25:)\%0a%0a!!!! [[PITS.PITS|PITS (Issue Tracking)]]%0a(:searchresults group=PITS fmt=#summary name=0* order=-name:)%0a(:if equal {$Action} "search":)%0a(:tableend:)%0a%0aNote: The strings that were used to target and format each search result are shown above in ''italics'' and can be entered directly into a regular search box.%0a%0a(:title Search:)%0a(:if false:)%0a%0a[[#onegroupdesc]]%0a[[{=$Group}/{=$Name}]] %25font-size=smaller font-style=italic%25{=$Description}%25%25\\%0a[[#onegroupdescend]]%0a%0a[[#summary]]%0a[[{=$Group}/{=$Name}]] %25font-size=smaller font-style=italic%25{=$:Summary}%25%25\\%0a[[#summaryend]]%0a(:ifend:) +time=1579104687 +title=Search blob - /dev/null blob + 139609eb25e721731690946d29849d8a5a764dd5 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Security @@ -0,0 +1,9 @@ +version=pmwiki-2.2.110 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=secure cookies +name=PmWiki.Security +rev=106 +targets=Category.Security,PmWiki.PageHistory,PmWiki.Passwords,PmWiki.PasswordsAdmin,PmWiki.AuthUser,PmWiki.UrlApprovals,PmWiki.AnalyzeResults,PmWiki.SiteAnalyzer,PmWiki.Blocklist,PmWiki.Notify,PmWiki.SecurityVariables,Cookbook.Security,Cookbook.HtpasswdForm,Cookbook.SecureAttachments,Cookbook.WebServerSecurity,Cookbook.FarmSecurity,Cookbook.DeObMail,Cookbook.SpamFilters,Cookbook.AuditImages,Cookbook.PrivateGroups,Cookbook.OnlyOneLogin,Cookbook.RecipeCheck,Cookbook.SessionGuard,Cookbook.TrackChanges,Cookbook.SwitchToSSLMode,PmWiki.ContactUs,PITS.PITS,Category.Spam,PmWiki.DeletingPages,PmWiki.AvailableActions,Cookbook.DeleteAction,Cookbook.Captchas,Cookbook.Captcha,Site.AuthForm,Cookbook.LimitWikiGroups,Cookbook.LimitNewPagesInWikiGroups,Cookbook.AuthDNS,Cookbook.PersistentLogin,PmWiki.Drafts,PmWiki.EditVariables,PmWiki.Uploads,PmWiki.UploadsAdmin,PmWiki.UploadVariables +text=(:Summary: Resources for securing your PmWiki installation:)%0aAspects of PmWiki [[!security]] are found on the following pages:%0a%0aPages distributed in a PmWiki release:%0a* [[PmWiki/Page history]] {PmWiki/PageHistory$:Summary}%0a* [[PmWiki/Passwords]] {PmWiki/Passwords$:Summary}%0a* [[PmWiki/Passwords Admin]] {PmWiki/PasswordsAdmin$:Summary}%0a* [[PmWiki/AuthUser]] {PmWiki/AuthUser$:Summary}%0a* [[PmWiki/Url Approvals]] {PmWiki/UrlApprovals$:Summary}%0a* [[(PmWiki:)Site Analyzer]] {PmWiki/SiteAnalyzer$:Summary}%0a* [[PmWiki/Blocklist]] {PmWiki/Blocklist$:Summary}%0a* [[PmWiki/Notify]] {PmWiki/Notify$:Summary}%0a* [[PmWiki/Security variables]] {PmWiki/SecurityVariables$:Summary}%0a%0a[[Cookbook(:/)]] pages%0a%0a* [[Cookbook:Security | Security recipes]] from the Cookbook%0a* [[Cookbook:HtpasswdForm]] Form based management of users and passwords using .htpasswd/.htgroup files%0a* [[Cookbook:Secure attachments]] Protecting uploaded attachments%0a* [[Cookbook:Web server security]] Making the server more secure with .htaccess%0a* [[Cookbook:Farm security]] Making Farm installations secure%0a* [[Cookbook:DeObMail]] Hide e-mail address%0a* [[Cookbook:Spam filters]] Automatic blocking of some spambots%0a* [[Cookbook:Audit images]] Check to see what images have been uploaded to your wiki.%0a* [[Cookbook:Private groups]] Create and secure private groups on a public wiki%0a* [[Cookbook:Only one login]] Only allow 1 login at the same time for a username%0a* [[Cookbook:Recipe check]] Check for new versions of recipes on pmwiki.org%0a* [[Cookbook:Session guard]] Protects against Session Theft%0a* [[Cookbook:TrackChanges]] Ways to more easily detect and verify all recent edits%0a* [[Cookbook:SwitchToSSLMode]] One approach to forcing https instead of http%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I report a possible security vulnerability of PmWiki?%0a%0aA: [[http://www.pmichaud.com|Pm]] wrote about this in [[http://pmichaud.com/pipermail/pmwiki-users/2006-September/031793.html | a post to pmwiki-users from September 2006]]. In a nutshell he differentiates two cases:%0a## The possible vulnerability isn't already known publicly: In this case please [[contact us]] by private mail.%0a## The possible vulnerability is already known publicly: In this case feel free to discuss the vulnerability in public (e.g. on [[http://www.pmichaud.com/mailman/listinfo/pmwiki-users | pmwiki-users]] or in the [[(PITS:)PITS]]).%0aSee [[http://pmichaud.com/pipermail/pmwiki-users/2006-September/031793.html | his post mentioned above]] for details and rationals.%0a%0aQ: What about the botnet security advisory at %25newwin%25[[http://isc.sans.org/diary.php?storyid=1672]]?%0a%0aA: Sites that are running with PHP's ''register_globals'' setting set to "On" and versions of PmWiki prior to 2.1.21 may be vulnerable to a botnet exploit that is taking advantage of a bug in PHP. The vulnerability can be closed by turning ''register_globals'' off, upgrading to PmWiki 2.1.21 or later, or upgrading to PHP versions 4.4.3 or 5.1.4. [[%3c%3c]]In addition, there is a test at [[PmWiki:SiteAnalyzer]] that can be used to determine if your site is vulnerable.%0a%0a[[#wikivandalism]]%0a!! Wiki Vandalism and [[!Spam]]%0a:Assumptions: you are using a [[PmWiki/Blocklist]] and [[PmWiki/Url approvals]].%0a: :You don't want to resort to [[PmWiki/password(s)]] protecting the entire wiki, that's not the point after all.%0a: :Ideally these protections will be invoked in @@config.php@@%0a%0a%0aQ: How do I stop pages being [[PmWiki/DeletingPages|deleted]], eg password protect a page from deletion?%0aA: Use Cookbook:DeleteAction and password protect the page deletion [[(available) action(s)]] by adding [@$DefaultPasswords['delete'] = '*';@] to @@config.php@@ or password protect the action with @@$HandleAuth['delete'] = 'edit';@@%0a->or @@$HandleAuth['delete'] = 'admin';@@ to require the edit or admin password respectively.%0a%0aQ: How do I stop pages being replaced with an empty (all spaces) page?%0aA: Add [@block: /^\s*$/@] to your [[PmWiki/blocklist]].%0a%0aQ: how do I stop pages being completely replaced by an inane comment such as ''excellent site'', ''great information'', where the content cannot be blocked?%0aA: Try using the newer [[PmWiki/Blocklist#automaticblocklists | automatic blocklists]] that pull information and IP addresses about known wiki defacers.%0a%0aA: (OR) Try using [[Cookbook:Captchas]] or [[Cookbook:Captcha]] (note these are different).%0a%0aA: (OR) Set an edit password, but make it publicly available on the [[{$SiteGroup}.AuthForm]] template.%0a%0aQ: How do I password protect the creation of new groups?%0aA: See [[Cookbook:Limit Wiki Groups]] {Cookbook.LimitWikiGroups$:Summary}%0a%0aQ: How do I password protect the creation of new pages?%0aA: See [[Cookbook:Limit new pages in Wiki Groups]] {Cookbook.LimitNewPagesInWikiGroups$:Summary}%0a%0aQ: How do I take a whitelist approach where users from known or trusted IP addresses can edit, and others require a password?%0aA: Put these lines to local/config.php:%0a[@%0a## Allow passwordless editing from own turf, pass for others.%0aif ($action=='edit'%0a && !preg_match("/^90\\.68\\./", $_SERVER['REMOTE_ADDR']) ) %0a { $DefaultPasswords['edit'] = pmcrypt('foobar'); }%0a@]%0aReplace 90.68. with the preferred network prefix and foobar with the default password for others.%0a%0aFor a single IP, you may use %0a[@%0aif($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { # your IP address here%0a $_POST['authpw'] = 'xxx'; # the admin password%0a}%0a@]%0a%0aPlease note the security issues : this means that you have your admin passwords in clear in config.php and someone with access to the filesystem can read them (for example a technician of your hosting provider) ; your IP address may change from time to time (unless you have a fixed IP contract with your ISP). When that happens, someone with your old IP address will be logged in automatically as admin on your wiki. It is extremely unlikely to become a problem, but you should know it is possible ; if you are behind a router, all other devices which pass through that router will have the same IP address for PmWiki - your wifi phone, your wife's netbook, a neighbour using your wifi connection, etc. All these people become admins of your wiki. Again, you should evaluate if this is a security risk ; In some cases, your ISP will route your traffic through the same proxy as other people. In such a case, thousands of people may have the same IP address.%0a%0aA: See also Cookbook:AuthDNS & Cookbook:PersistentLogin%0a%0aQ: How do I password protect [[PmWiki/AvailableActions|page actions]]?%0aA: See [[PmWiki/Passwords]] for setting in config.php %0a-> @@$HandleAuth['[==]''pageactionname''[==]'] = 'pageactionname'; # along with :@@%0a-> @@$DefaultPasswords['[==]''pageactionname''[==]'] = pmcrypt('secret phrase');@@%0aA: or %0a-> @@$HandleAuth['[==]''pageactionname''[==]'] = 'anotherpageactionname';@@%0a%0aQ: How do I moderate all postings?%0aA: Enable [[PmWiki.Drafts]]%0a* Set $EnableDrafts, this relabels the "Save" button to "Publish" and a "Save draft" button appears. %0a* Set $EnablePublishAttr, this adds a new "publish" authorization level to distinguish editing from publishing.%0a%0aQ: How do I make a read only wiki?%0aA: In config.php [[PmWiki/PasswordsAdmin | set]] an "edit" password.%0a%0aQ: How do I restrict access to [[PmWiki/Uploads|uploaded attachments]]?%0aA: See%0a* [[PmWiki/UploadsAdmin#direct_download|instructions]] for denying public access to the uploads directory%0a* see [[Cookbook:Secure attachments]] {Cookbook.SecureAttachments$:Summary}%0a%0aQ: How do I hide the IP addresses in the "diff" pages?%0aA: If the user fills an author name, the IP address is not displayed. To require an author name, set in config.php such a line:%0a%0a $EnablePostAuthorRequired = 1;%0a%0aA: The IP address can also be seen in a tooltip title when the mouse cursor is over the author name. To disable the tooltip, set in config.php:%0a[@%0a$DiffStartFmt = %0a "%3cdiv class='diffbox'>%3cdiv class='difftime'>%3ca name='diff\$DiffGMT' href='#diff\$DiffGMT'>\$DiffTime%3c/a>%0a \$[by] %3cspan class='diffauthor'>\$DiffAuthor%3c/span> - \$DiffChangeSum%3c/div>";%0a@]%0a%0aQ: How do I stop some Apache installations executing a file which has ".php", ".pl" or ".cgi" anywhere in the filename%0aA: Use $UploadBlacklist%0a%0aQ: How do I stop random people from viewing the ?action=source (wiki markup) of my pages? I have [@(:if auth edit:)@] text that I don't want the world to see.%0aA: [@$HandleAuth['source'] = 'edit';@] or [@$HandleAuth['source'] = 'admin';@]%0a%0aQ: How to I %25newwin%25[[https://en.wikipedia.org/wiki/Secure_cookie|secure]] my [[https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Secure_and_HttpOnly_cookies|cookies]]?%0aA: See $EnableCookieSecure and $EnableCookieHTTPOnly +time=1543726253 blob - /dev/null blob + a1a71a6f9e3bda948bb1bf2edaa1ea8983399718 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SecurityVariables @@ -0,0 +1,10 @@ +version=pmwiki-2.2.123 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$SetCookieFunction (+2) +ctime=1156512569 +name=PmWiki.SecurityVariables +rev=46 +targets=PmWiki.SecurityVariables,PmWiki.PasswordsAdmin,PmWiki.AuthUser,PmWiki.Functions,PmWiki.AvailableActions,PmWiki.EditVariables,PmWiki.UploadVariables,PmWiki.Security,PmWiki.PagelistVariables +text=(:Summary:variables crucial for site security:)%0a:$AllowPassword: This variable contains the special "nopass" password which was used in the past to leave pages or groups accessible without a password. Recent PmWiki versions use "@nopass" instead. If your wiki is old and/or may contain pages with the "nopass" password, you should not change it. If that variable is empty or set to false, PmWiki will not check if pages have a special "allowed password".%0a%0a:$DefaultPasswords: Specifies default passwords for user admin or actions (edit, read, upload). See [[PmWiki/PasswordsAdmin#settingsitewidepasswords]].%0a%0a:$DenyHtaccessContent: Specifies the default content for @@.htaccess@@ files created by PmWiki in new directories under wiki.d. The Apache server [[https://httpd.apache.org/docs/2.4/upgrading.html#run-time|changed these directives in version 2.4]]. The default value should work for both new and older server versions.%0a%0a:$EnablePostAttrClearSession: A switch to control whether or not changing a page's attributes causes any existing passwords to be forgotten. The default is that changing attributes forgets any passwords entered; this can be changed by setting $EnablePostAttrClearSession to zero.%0a%0a:$EnableSessionPasswords: Control whether passwords are saved as part of the session. If set to zero, then session passwords are never saved (although any [[AuthUser]] authentications are still remembered).%0a%0a:$SetCookieFunction:A custom function name to send cookies to the browser, instead of @@[[Functions#pmsetcookie|pmsetcookie()]]@@. Should accept the same arguments as @@pmsetcookie()@@.%0a%0a:$EnableCookieSecure:Set to 1 to enable the "[[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie|Secure]]" flag for core PmWiki cookies (will only be transmitted via HTTPS). This includes author, preference, and cache core cookies and any custom cookies set via [[Functions#pmsetcookie|pmsetcookie()]].\\%0aNote: for the session cookie, you need to also add this line: [@ @ini_set('session.cookie_secure', true); @]\\%0aAdd these lines near the beginning of config.php.%0a%0a:$EnableCookieHTTPOnly:Set to 1 to enable the "[[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie|HttpOnly]]" flag for core PmWiki cookies (will not be made available to JavaScript). This includes author, preference, and cache core cookies and any custom cookies set via [[Functions#pmsetcookie|pmsetcookie()]].\\%0aNote: for the session cookie, you need to also add this line: [@ @ini_set('session.cookie_httponly', true); @]\\%0aAdd these lines near the beginning of config.php.%0a%0a:$SessionEncode: Function to use to encode sensitive information in sessions. Set this to NULL if you want to not use any encoding. (See also $SessionDecode below.)%0a%0a:$SessionDecode: Function to reverse the decoding given by $SessionEncode above. Set this to NULL if sensitive session values are not encoded.%0a%0a:$HandleAuth:This sets the required authentication Level that is necessary to perform an [[PmWiki/AvailableActions|action]]. When using the following example in your @@config.php@@ you need to be authenticated as editor in order to view the page history:%0a $HandleAuth['diff'] = 'edit';%0a%0a:$PageAttributes:Set the string shown on the attributes page when entering a password for an action.%0a%0a:$AuthLDAPBindDN:For sites using [[AuthUser]] with LDAP authentication, this specifies the distinguished name (DN) to be used to bind to the LDAP server to check identity.%0a%0a:$AuthLDAPBindPassword:For [[AuthUser]] with LDAP authentication, this specifies the password used for binding (in conjunction with $AuthLDAPBindDN above).%0a%0a:$AuthLDAPReferrals:Specifies whether to automatically follow referrals returned by the LDAP server, set 1 to enable or 0 to disable. By default this variable is unset, and the connection follows referrals if they are enabled on the server side (they usually are).%0a%0a:$EnablePublishAttr:Adds a new "publish" authorization level to distinguish editing of drafts from publishing - See $EnableDrafts.%0a%0a:$EnablePageVarAuth: In PmWiki versions 2.2.22 and 2.2.23 this variable should be set to 0. In 2.2.24 it will no longer be used.%0a%0a:$RobotActions: An array controlling which [[AvailableActions|actions]] can be reached by web bots. The array keys are the actions, if the value is 1 or true then the action is reachable. If an action is not defined as a key, or if the value for that key evaluates to false or zero, when a bot requests this action it will be refused. By default, only the actions "browse", "rss" and "dc" are reachable by bots. For example:\\%0a@@$RobotActions['download'] = 1; @@ # '''allow''' bots to download files with disabled $EnableDirectDownload (page permissions are respected)\\%0a@@$RobotActions['rss'] = 0; @@ # '''disallow''' bots from getting the RSS feed\\%0a@@$RobotActions['print'] = 1; @@ # allow bots to get the print view\\%0aThe variable can have custom actions used by cookbook recipes as keys.%0a%0a:$RobotPattern: A regular expression pattern with known user-agent strings for bots. %0a%0a:$EnableRobotCloakActions: Setting this flag to 1 will eliminate any forbidden ?action= values from page links returned to robots, which will reduce bandwidth loads from robots even further.%0a%0a%0aSee also:%0a* [[Security]]%0a* $EnablePageListProtect%0a* $EnableDirectDownload%0a +time=1579174392 blob - /dev/null blob + 70ffe9447010b318151189b5761b62811233a61f (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SimultaneousEdits @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=trails +name=PmWiki.SimultaneousEdits +rev=19 +targets=Main.WikiSandbox +text=(:Summary: Handling multiple attempts to edit a page nearly simultaneously:)%0aPmWiki has support for handling the case where multiple authors attempt to edit the same page nearly simultaneously. Here's the basic scenario for systems where simultaneous edits are ''not'' handled:%0a%0a* Alice starts to edit a page.%0a* Before Alice saves her edits, Bob requests an edit of the same page, and receives the page text prior to Alice's edits.%0a* Bob finishes with his edits and hits "save".%0a* Alice finishes editing her page, hits "save", and since she was working from a version of the page from before Bob had made his changes, she wipes out Bob's edits in the process.%0a%0aPmWiki's simultaneous edit feature detects when this occurs, and instead of saving Alice's edits PmWiki presents Alice with a message that someone else changed the page while she was editing it. Furthermore, Bob's changes are merged into Alice's copy of the page, with any conflicts highlighted by %3c%3c%3c%3c%3c%3c%3c and >>>>>>>. Alice can then fix things as appropriate and save the updated page, or, if Alice is lazy, she can just hit "save" a second time and leave it to someone else to fix.%0a%0aThe simultaneous edits feature is also invoked whenever someone requests a page preview; thus if a page changes while previewing a page the author gets notification and can see the merged results.%0a%0a!!!How can I test/experiment with this feature?%0a%0a# Open up two browser windows and select the same page to be edited in each window (e.g., try [[Main/WikiSandbox?action=edit]]).%0a# In one browser window, make some changes to the page and then save those changes.%0a# In the second browser window, make some different changes to the same page and hit "save". Since the page changed after the edit form was loaded into the second window, there's a potential edit conflict and you'll receive the "edit conflict message".%0a# You can make any adjustments in the second window, and press "Save" again to save the changes.%0a%0a!!!Notice%0a%0aSome server environments such as Windows and PHP running in safe_mode are unable to use the simultaneous edits capability distributed with PmWiki. See Cookbook:SimultaneousEdits for a solution for these environments.%0a +time=1315670897 blob - /dev/null blob + 59891ba1fa948b28eaddb28282655c7d5c2681b8 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SitePageActions @@ -0,0 +1,10 @@ +version=pmwiki-2.2.115 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=How to hide +ctime=1160022336 +name=PmWiki.SitePageActions +rev=18 +targets=Site.PageActions,Cookbook.Cookbook,PmWiki.AvailableActions,PmWiki.BasicEditing,PmWiki.Skins,PmWiki.WikiStyles,PmWiki.LayoutVariables,PmWiki.AccessKeys,Site.Preferences,PmWiki.Internationalizations,PmWiki.Links,PmWiki.PageVariables,PmWiki.SitePageActions,PmWiki.ConditionalMarkup,PmWiki.DocumentationIndex,PmWiki.MailingLists,PmWiki.PageDirectives +text=(:Summary: how site page actions work:)%0a%25audience%25 authors (basic)%0a%0aThe [[Site.PageActions]] page is used as the source of the [[http://www.pmwiki.org/wiki/PmWiki/AvailableActions#defaultactions|default wiki commands]] shown in the default PmWiki skin at the top right of the page. It displays as follows:%0a[[%3c%3c]]%0a(:div id="wikicmds" class="float":)%0a(:include Site.PageActions:)%0a(:divend:)%0a[[%3c%3c]]%0aNote that there are many other [[available actions]] from the [[Cookbook:Cookbook|Cookbook]], and PmWiki diagnostics and scripts.%0a%0aThis page gives a brief explanation of how [[Site.PageActions]] are displayed and formatted, and pointers to where more information can be found.%0a%0aBelow is what is shipped as [[Site.PageActions]] with PmWiki version 2.2:%0a->[@%0a* %25item rel=nofollow class=browse accesskey='$[ak_view]'%25 [[{*$FullName} | $[View] ]]%0a* %25item rel=nofollow class=edit accesskey='$[ak_edit]'%25 [[{*$FullName}?action=edit | $[Edit] ]]%0a* %25item rel=nofollow class=diff accesskey='$[ak_history]'%25 [[{*$FullName}?action=diff | $[History] ]]%0a(:if auth upload:)%0a* %25item rel=nofollow class=upload accesskey='$[ak_attach]'%25 [[{*$FullName}?action=upload | $[Attach] ]]%0a(:ifend:)%0a* %25item rel=nofollow class=print accesskey='$[ak_print]'%25 [[{*$FullName}?action=print | $[Print] ]]%0a(:if group Site,SiteAdmin,Cookbook,Profiles,PmWiki*:) (:comment delete if and ifend to enable backlinks:)%0a* %25item rel=nofollow class=backlinks accesskey='$[ak_backlinks]'%25 [[{*$Name}?action=search&q=link={*$FullName} | $[Backlinks] ]]%0a(:ifend:)%0a(:if enabled AuthPw:)%0a* %25item rel=nofollow class=logout accesskey="$[ak_logout]"%25'' [-[[{*$FullName}?action=logout | $[Logout] ]]-]''%0a(:ifend:)%0a@]%0a%0aTo start with, we'll look at just the first line, and take it apart. This will also give us a good handle on how most of the other lines work.%0a%0a!! List%0aEach line is an item in an unordered [[http://www.pmwiki.org/wiki/PmWiki/MarkupMasterIndex#Lists|list]], marked up by an unindented '@@*@@'. %0aYou can find out more about lists on the [[Basic Editing]] page.%0a%0aPmWiki will normally display an unordered list as a set of bulleted items, but they can appear differently depending on the context and styles they are displayed in. This difference in display is generally controlled by CSS defined in the [[Skins|Skin]]: for the PageActions links, the list items are displayed inline.%0a%0a!! Style%0aFollowing the '[@*@]', on the line we have [@%25item ... %25@] which is a [[WikiStyles|WikiStyle]]. It is used to control the properties of a given output element, like its size or color. By default they apply to the text between them and the end of the line or a closing [@%25%25@], whichever is sooner. So, for example, one can enter [@"this %25blue%25text%25%25 is blue"@] and it will appear as "this %25blue%25text%25%25 is blue".%0a%0aIn this case the WikiStyle starts with the word [@item@], and that says to apply the given style to the entire list item as opposed to just the text that follows. In particular, it causes PmWiki to generate HTML of%0a%0a->[@%3cli class='edit'>...%3c/li>@]%0a%0ainstead of%0a%0a->[@%3cli>%3cspan class='edit'>...%3c/span>%3c/li>@]%0a%0aSetting the class attribute of the list item allows CSS properties to be applied to the item that corresponds to the current action. For example, to have the current action display with a background color of blue, a wiki administrator can do:%0a%0a->@@$HTMLStylesFmt[]@@[@ = ' .{$Action} { background-color: blue; }';@]%0a%0aThen if the current action is 'edit' (as in "?action=edit"), the list item corresponding to the edit action will be drawn with a blue background.%0a%0aThe other property inside the [@%25item ... %25@] WikiStyle is the accesskey='$[ak_view]' statement. [[AccessKeys]] are keyboard shortcuts for tasks that would otherwise require a mouse. They can be attached to links or to form elements and the WikiStyle will use whichever it finds first on the line. In this case they will attach to the link [@[[{*$FullName} | $[View] ]]@].%0a%0a!! Accesskey%0aAn accesskey can be defined in a number of locations, but essentially it is a phrase translation following the model used for internationalizations. PmWiki's accesskey defaults are defined in @@scripts/prefs.php@@, but can be overridden in lots of different places, including skins, language translation pages (XLPage), and even per-browser preferences (see [[Site.Preferences]]).%0a%0aThe [@$[...]@] markup defines phrase translations, used for internationalizations (and access keys, as noted above). In the first line of [[Site.PageActions]] it is used in both [@$[ak_view]@] and [@$[View]@]. Essentially [@$[View]@] tells PmWiki to substitute the current translation of "View". If no translation is defined for "View", then PmWiki just uses the phrase inside the brackets.%0a%0aYou can most easily see this working in the other languages sections of PmWiki. For example, at [[(http://pmwiki.org/wiki/)PmWikiDe/PmWikiDe]] you'll notice that the default "View", "Edit", "History", and "Print" actions are displayed as "Artikel", "Bearbeiten", "Historie", and "Druckansicht".%0aThis is because the PmWikiDe group is loading in a set of translations from [[(http://pmwiki.org/wiki/)PmWikiDe.XLPage]] %0a%0aThat page defines things like%0a%0a->[@'View' => 'Artikel'%0a'Edit' => 'Bearbeiten'%0a'History' => 'Historie'%0a'Print' => 'Druckansicht'@]%0a%0awhich says that things like [@$[View]@] and [@$[Edit]@] should be replaced by "Artikel" and "Bearbeiten".%0a%0aThis makes it very easy for PmWiki to support multiple languages, since a recipe author can simply put any translatable prompts or phrases inside of [@$[...]@], and leave it to others to actually build the translation tables (either locally or on [[(http://)pmwiki.org]] for others to use). More information about [@$[...]@] is available at [[PmWiki/Internationalizations]].%0a%0a!! Link%0aAll that leaves on the first line to be explained is the [[PmWiki.Links|link]] itself: [@[[{*$FullName} | $[View] ]]@]. Links are not complex, but this one is using both the internationalization feature and a [[PageVariables|Page Variable]]. The [@$[View]@] has already been explained and it shows up in the link text section of link markup, so that, if viewed in English, the link will appear as [[[[{*$FullName} |$[View]]].%0a%0aThe link target section contains the [@{*$FullName}@] variable. This variable expands to the full name of the page on which it is being displayed, including the group and page names. For simple browsing, this is good enough, because viewing a page is the default action to perform on a page. Later lines use link targets like [@{*$FullName}?action=edit@] which says to go to the currently displayed page and start editing it.%0a%0a!! If%0aThis explains what all of the '[@*@]' lines are about. That only leaves the [@(:if auth upload:)@] and [@(:ifend:)@] lines, and they go together. The first starts some [[Conditional Markup]] and the second ends it. The [@(:if test :)@] markup only lets the following text be displayed if the test succeeds. The text that conditionally displayed ends at the next [@(:if...:)@] statement so an empty [@(:ifend:)@] is a convenient way to end the conditional block. The particular test being used here is [@auth upload@] which is only true if the current user is authorized to upload files to the wiki. Thus, the conditional block says to only display a link to perform an upload if the user is actually allowed to upload.%0a%0aDepending on the security and permissions model on a given site, its not unusual to see many more conditional markups that test if, for example, a user has editing rights to the current page. More information on all the different conditions can be found at the [[Conditional Markup]] page, and a general index of all the PmWiki documentation can be found at [[Documentation Index]].%0a%0aHopefully this bit of documentation has answered your questions about the [[Site.PageActions]] page. %0aIf not, you may wish to consult the helpful people on one of the [[MailingLists|PmWiki Mailing Lists]].%0a%0a!! Hiding actions%0aIn a wiki page, [@(:noaction:)@], see the [[PmWiki/PageDirectives#noaction | noaction]] page directive%0a%0aIn a @@local/Group.Page.php@@ place%0a->[@SetTmplDisplay('PageActionFmt',0);@]%0a%0a!! Group PageActions%0aNote that any Group can have a PageActions page, not just '''Site'''. If a page named [@Group.PageActions@] exists, it will be used, otherwise, [@Site.PageActions@], much like for the SideBar pages.%0a +time=1559731018 blob - /dev/null blob + 8277040018bdf50519d81531c9c461b4ab9e8af4 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SitePreferences @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=OliverBetz +charset=UTF-8 +csum= +name=PmWiki.SitePreferences +rev=12 +targets=Site.Preferences,PmWiki.AccessKeys,Site.EditForm +text=(:Summary: Customisable browser setting preferences: Access keys, edit form:)%0aThe page [[{$SiteGroup}.Preferences]] contains customisable browser preference settings.%0aThese include [[access keys]] (keyboard shortcuts to certain actions like edit, history, browse) and settings of the [[{$SiteGroup}.EditForm]] (width and height of the edit textarea) as well as the name of the edit form in use.%0a%0aA different page than [[{$SiteGroup}.Preferences]] can be chosen by making a copy of that page under a new name, customising it, and setting a cookie which will point to this page for the browser being used, through %0a%0a ?setprefs=`SomeGroup.`CustomPreferences %0a%0a`SomeGroup.`CustomPreferences being the name of the new customised preference page.%0a%0a!!Notes and Comments%0a%0aNote that in order to enable parsing of [[{$SiteGroup}.Preferences]] by default, a line like the following needs to be added to local/config.php:%0a%0a XLPage('prefs', "Site.Preferences");%0a +time=1315670897 blob - /dev/null blob + 0653efc8fa9c6343f267a49ac7d165b850900fdb (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SkinTemplates @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add !! FAQ heading when there are questions and answers +name=PmWiki.SkinTemplates +rev=72 +targets=PmWiki.Skins,PmWiki.BasicVariables,PmWiki.PathVariables,PmWiki.LayoutVariables,PmWiki.PageVariables,PmWiki.PageDirectives,Skins.TestPageDirectives,PmWiki.Internationalizations,Cookbook.HideSearchBar +text=(:Summary:[[PmWiki/Skin(s)]] templates (.tmpl files):)%0a%25define=box block bgcolor=#f9f9fc border='1px solid #666666' margin=10px padding=5px%25%0aThis page describes the skin template files (.tmpl) that are used to create PmWiki ''skins'', and how PmWiki uses them. As described in the [[skins]] page, a skin is a collection of files that specifies the layout for PmWiki pages. Each skin must include a template file that provides the skeleton for displaying a PmWiki page.%0a%0a!! [[#findingprocessing]]Finding and Processing Templates%0a%0aWhen you set the value of the $Skin variable in a configuration file like @@local/config.php@@, like this%0a-> [@%0a## Use the Foo Skin.%0a$Skin = 'foo';%0a@]%0a%0ait tells PmWiki to search for a skin of that name, and use it. The usual result of the search is for PmWiki to load a template file from the appropriate skin directory. In this example, that would probably be the file @@pub/skins/foo/foo.tmpl@@.%0a%0aThe actual processing that PmWiki goes through to find a template file is important for those who are making complex skins, so its worth mentioning what those steps are:%0a%0a>>rframe width=25pct margin-left:2em font-size:smaller%3c%3c%0a!! [[#security]]Security Note%0aThe default value for @@[=$=]SkinLibDirs@@ has server-side and client-side files stored in the same publicly-accessible directory. That is, @@$SkinDir@@ and @@$SkinDirUrl@@ point to the same place. This is done for convenience (both for the skin user, and the skin writer), but it is not necessary.%0a%0aIt has the side effect that its possible to construct a URL ([[http://www.pmwiki.org/pmwiki/pub/skins/pmwiki/pmwiki.tmpl|like this one]]) that will let you look at the contents of the the @@.tmpl@@ or @@.php@@ files that a skin uses. This is usually not an issue as skin files should not contain any sensitive information.%0a%0aStill, a purist might want to move their @@.tmpl@@ and @@.php@@ files out of the directories that are accessible as URLs, and modify their @@[=$=]SkinLibDirs@@ array to reflect this.%0a>>%3c%3c%0a%0a#When @@$PageTemplateFmt@@ is blank (as it should be), PmWiki gathers the names of all candidate skins. It starts with any action-specific skin that is specified in @@[[LayoutVariables#ActionSkin|$ActionSkin]][$action]@@. Thus, if the current action is 'login', and @@$ActionSkin['login']@@ is @@'Bar'@@, then PmWiki will look for a skin named 'Bar'. %0a%0a#If no skin has been found yet, it looks for the skin(s) named in the @@$Skin@@ variable (which is allowed to be an array) and uses the first skin it can find. If it gets to the end of the list without finding a skin, it issues an error.%0a%0a#To attempt to find a skin, PmWiki first consults the @@[[LayoutVariables#SkinLibDirs|[=$=]SkinLibDirs]]@@ variable to know where to look. Skins consist of server-side files that are loaded by PmWiki (such as .php and .tmpl files) and client-side files (such as .css files and images) that will be requested by the user's browser when they look at a skinned PmWiki page. @@$SkinLibDirs@@ is an array of key/value pairs. The key is a directory to look in for the server-side files, while the corresponding value is a URL that points to the public client-side resources used by the skin. The default value of @@[=$=]SkinLibDirs@@ is:%0a -> [@%0a$SkinLibDirs = array(%0a "./pub/skins/\$Skin" => "$PubDirUrl/skins/\$Skin",%0a "$FarmD/pub/skins/\$Skin" => "$FarmPubDirUrl/skins/\$Skin");%0a@]%0a%0a So, using the above definitions, PmWiki would try to find the skin 'foo' by looking for a directory called @@./pub/skins/foo@@ and then for @@$FarmD/pub/skins/foo@@ (with the value of @@$FarmD@@ replaced by the root server directory for Farm files). The first such directory that was found would be assumed to contain the skin it was looking for. It would then set @@$SkinDir@@ to the name of this directory and @@$SkinDirUrl@@ to the corresponding URL.%0a%0a#Once a valid skin directory has been found, PmWiki starts processing the files in that directory, looking for a @@.php@@ skin file to run. It first looks for one with the same name as the skin. So, if the skin is 'foo', it looks for @@foo.php@@. If no such file is found, it then checks for a file named @@skin.php@@. If one of these @@.php@@ files is found, PmWiki loads and runs it. This allows a skin to define custom markup, or custom configuration parameters. It also allows a skin to choose between which of several different @@.tmpl@@ files to load.%0a%0a To specify which @@.tmpl@@ file to load, simply call @@LoadPageTemplate()@@ inside the skin @@.php@@ file, with the name of the @@.tmpl@@ file to be loaded:%0a%0a -> @@LoadPageTemplate($pagename, "$SkinDir/xyz.tmpl");@@%0a%0a For example, a skin might specify a special template to be used if the action is 'print':%0a%0a -> [@%0aif ($GLOBALS['action'] == 'print')%0a LoadPageTemplate($pagename, "$SkinDir/print.tmpl");%0a@]%0a%0a When the action is something else, PmWiki will fall back to loading the default @@.tmpl@@ file instead.%0a%0a#If no appropriate @@.php@@ file is found, or if that file doesn't load a template, then PmWiki falls back to looking for a template with the same name as the skin, or, failing that, any @@.tmpl@@ file at all, so long as its the only one in the directory. If it finds one, it will load and process it. If not, it will issue an error.%0a%0a!![[#fileformat]]Template file format%0a%0aA template file is basically an HTML file that also contains variable substitutions (indicated by '$') and special directives embedded in HTML comments. The following special directives are ''required'' in the template file. %0a# The directive [@%3c!--PageText-->@] belongs to the %3cbody> section of the HTML document, and tells PmWiki where the main content of each wiki page should be placed. %0a# The directive [@%3c!--HTMLHeader-->@], which goes somewhere in the %3chead> section of the HTML document.%0a# The directive [@%3c!--HTMLFooter-->@] directive, which typically goes before the final %3c/body> tag and is used by some recipes to insert things at the end of the HTML document. [- %25green%25''Prior to PmWiki 2.2.0 the [@%3c!--HTMLFooter-->@] directive was optional.'' -]%0a%0aWhen PmWiki displays a page, it replaces the directives and variable substitutions with the values appropriate to the current page. For example, the [@%3c!--PageText-->@] directive is replaced with the page's contents, while any instances of $PageUrl are replaced with the url (address) of the current page.%0a%0a%25note%25 Note: your skin template shouldn't have a %3cmeta/> tag specifying the charset (encoding), as PmWiki adds this tag when needed.%0a%0aThere is a long list of variables available for substitution in pages; some of the%0amost useful include:%0a-> [@%0a$PageUrl the url of the current page%0a$ScriptUrl the base url to the pmwiki.php script%0a$Title the page's title (e.g., "`SkinTemplates")%0a$Titlespaced the page's title with spaces (e.g., "Skin Templates")%0a$Group the name of the current group (e.g., "`PmWiki")%0a$FullName the page's full name (e.g., "`PmWiki.SkinTemplates")%0a$LastModified the page's last modification time%0a$PageLogoUrl the url of a site logo%0a$WikiTitle the site's title%0a$SkinDirUrl the url of the skin's folder%0a@]%0a%0aThis last variable, $SkinDirUrl, is particularly useful in templates as it allows the skin designer to refer to other files (such as images or style sheets) in the skin folder without having to know the exact url.%0a%0aThe template is not limited to using the variables listed here; nearly any PHP global variable that begins with a capital letter can be used in a skin template. [[Page variables]] can also be used in templates.%0a%0a!![[#directives]] Skin directives%0a%0aBesides the required [@%3c!--PageText-->@] and [@%3c!--HTMLHeader-->@] directives, PmWiki provides other built-in directives for generating page output. It's not necessary to use any of these directives, but they can often add capabilities to a skin %0a%0a:[@%3c!--wiki:Main.SomePage-->@]:%0a:[@%3c!--page:Main.SomePage-->@]:%0a: :The [@%3c!--wiki:Main.SomePage-->@] directive outputs the contents of `Main.SomePage. $-substitutions are allowed in directives, thus a directive like [@%3c!--wiki:$Group.SomePage-->@] will include "`SomePage" of the current group. %0a%0a: :If multiple pages are listed in the directive, then only the first available page is used. Thus [@%3c!--wiki:$Group.SomePage Site.SomePage-->@] will display the contents of `SomePage in the current group if it exists, and `Site.SomePage if it doesn't. To always display `Site.SomePage, even if $`Group.SomePage exists, use two consecutive [@%3c!--wiki:...-->@] directives.%0a%0a: :The [@%3c!--wiki:...-->@] directive only displays pages for which the browser has read permissions. The [@%3c!--page:...-->@] directive displays pages even if the browser doesn't have read permission.%0a%0a%0a:[@%3c!--file:somefile.txt-->@]:%0a: :The directive [@%3c!--file:somefile.txt-->@] outputs the contents of another file (on the local filesystem) at the point of the directive. If the file to be included is a .php script, then the PHP script is executed and its output is sent to the browser. Like the [@%3c!--wiki:...-->@] directive above, $-substitutions are available to be able to output files based on the current page name or group.%0a%0a:[@%3c!--markup:...-->@]:%0a: :The markup directive processes any text that follows the colon as wiki markup and displays that in the output. %0a%0a:[@%3c!--function:SomeFunction args-->@]:%0a: :This directive calls a PHP function named "`SomeFunction", passing the ''current page's name'' as first argument, and the optional ''text following the function name'' as second argument. PHP functions called in this manner are typically defined in a local customization file. Args allows only one argument, which has to be split in your function. [@%3c!--function:SomeFunction arg1 arg2 arg3-->@] will call [@SomeFunction($pagename, "arg1 arg2 arg3")@] when the skin is processed. However variables can be used (like $LastModifiedBy).%0a%0a:[@%3c!--IncludeTemplate: header.tmpl-->@]:%0a:[@%3c!--IncludeTemplate: {$Group}.tmpl default.tmpl-->@]:%0a: : This directive allows the inclusion of another template file. The arguments are file names in the skin's directory, and the first one found will be included in the main template. This feature is available from PmWiki 2.2.114 but disabled by default; it needs to be enabled in your skin file pub/skins/myskin/myskin.php with the line @@SDV($GLOBALS['SkinTemplateIncludeLevel'], 1);@@ where 1 is the number of allowed levels of inclusion, ie if an included template also can contain the IncludeTemplate directive, set this number to 2, up to a maximum of 10.%0a%0a!![[#sections]] Page sections%0a%0aA template file can designate "sections" that are included or excluded from the output based on [[page directives]] or other criteria. A section always begins with [@%3c!--Page...Fmt-->@] and continues to the next section, the end of the template file, or [@%3c!--/Page...Fmt-->@]. For example, a template can specify a [@%3c!--PageLeftFmt-->@] section that is excluded from the output whenever the [@(:noleft:)@] directive is encountered in the page's contents. PmWiki's predefined sections (and their corresponding page directives) are:%0a-> [@%0a%3c!--PageHeaderFmt--> (:noheader:)%0a%3c!--PageFooterFmt--> (:nofooter:)%0a%3c!--PageTitleFmt--> (:notitle:)%0a%3c!--PageLeftFmt--> (:noleft:)%0a%3c!--PageRightFmt--> (:noright:)%0a%3c!--PageActionFmt--> (:noaction:)%0a@]%0a%0aSkin designers can define custom sections and markups, but currently all section names in the template must begin with "Page" and end with "Fmt". As mentioned you also have to define the corresponding markup (for example in your config.php) like this: %0a%0a->[@Markup('noxyz', 'directives', '/\\(:noxyz:\\)/ei',%0a "SetTmplDisplay('PageXYZFmt',0)");@] %0a%0aAnd, better, compatible with PHP version 5.5, for PmWiki 2.2.58+ :%0a%0a->[@Markup('noxyz', 'directives', '/\\(:noxyz:\\)/i',%0a "HideXYZ");%0afunction HideXYZ() {%0a SetTmplDisplay('PageXYZFmt',0);%0a}%0a@] %0a%0aSee also: the recipe Skins:TestPageDirectives can help you test your skins with combinations of the above directives.%0a%0a!![[#i18n]] Internationalization (i18n)[[#Internationalization]]%0a%0aSkins can also be [[internationaliz(ations)]]ed by using [@$[...]@] substitutions. Any string placed inside of [@$[...]@] is treated as a "translatable phrase", and the phrase is looked up in the current translation tables for a corresponding output phrase. If a translation is available, then the translated phrase is substituted at that point, otherwise the original phrase is left intact.%0a%0aFor example, the substitution [@$[Edit]@] will display the current translation of "Edit" if it is known, otherwise it displays "Edit". Thus, the same template can be used for multiple languages, displaying "Editer" when French translations are loaded, "Bearbeiten" when German translations are loaded, and "Edit" when no translation is available.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I customize the CSS styling of my PmWiki layout?[[#customcss]]%0a%0aA: See [[Skins]] for how to change the default PmWiki skin. See also [[http://www.pmwiki.org/wiki/Skins/Skins|Skins]], where you will find pre-made templates you can use to customize the appearance of your site. You can also create a file called ''local.css'' in the ''pub/css/'' directory and add CSS selectors there (this file gets automatically loaded if it exists). Or, styles can be added directly into a local customization file by using something like:%0a%0a-> [@$HTMLStylesFmt[] = '.foo { color:blue; }';@]%0a%0a%0aQ: Where can the mentioned "translation table" be found for adding translated phrases?%0aA: See [[Internationalizations]].%0a%0aQ: Is it possible to have the edit form in full page width, with no sidebar?%0aA: If the sidebar is marked with [@%3c!--PageLeftFmt-->@], adding [@(:noleft:)@] to Site.EditForm will hide it when a page is edited.%0a%0aQ: Can I easily hide the Home Page title from the homepage?%0aA: Yes, you can use in the wiki page either @@[=(:title Some other title:)=]@@ to change it or @@[=(:notitle:)=]@@ to hide it.%0a%0aQ: Is it possible to hide the Search-Bar in the default PmWiki Skin?%0aA: Yes, please see [[Cookbook:HideSearchBar]].%0a +time=1567167632 blob - /dev/null blob + 0ab216c0210a65307ba16781f24dd657df9b027b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Skins @@ -0,0 +1,9 @@ +version=pmwiki-2.2.120 ordered=1 urlencoded=1 +author=MFWolff +charset=UTF-8 +csum=wording +name=PmWiki.Skins +rev=131 +targets=Skins.Skins,PmWiki.Skins,Cookbook.Cookbook,PmWiki.BasicVariables,PmWiki.SkinTemplates,Cookbook.Standalone,Cookbook.InstallOnIIS,Site.EditQuickReference +text=(:Summary: Change the look and feel of part or all of PmWiki:)(:Audience: administrators (basic) :)%0aA skin changes the look and feel of a PmWiki page, Group of pages, or the entire wiki.%0aTo see this try some skins out using the links below, or in the [[Skins:Skins|Skins section]] of the PmWiki cookbook.%0a %0a!!What's a skin? [[#what]]%0a%0aTest some skins installed pmwiki.org:%0a* [[PmWiki:Skins?skin=adapt | Adapt ]]%0a* [[PmWiki:Skins?skin=amber | Amber ]]%0a* [[PmWiki:Skins?skin=beeblebrox-gila2 | BeeblebroxNetGila ]]%0a* [[PmWiki:Skins?skin=jhskin | JHSkin ]]%0a* [[PmWiki:Skins?skin=monobook | Monobook ]]%0a* [[PmWiki:Skins?skin=simple | Simple ]]%0a* [[PmWiki:Skins?skin= | PmWiki-responsive (default) ]]%0a%0aAs you see, all skins show the same page contents, but the other elements such as the sidebar, header, and footer, have changed. %0aFor example, different skins may display the sidebar on the left, on the right, or even not at all. %0aSome skins have action links and features that others do not, especially if they were designed to take advantage of particular [[cookbook recipes -> Cookbook:Cookbook]].%0a%0aSo, a skin is just the set of files that determine how pages are displayed in PmWiki. Skins are stored as subfolders of ''pub/skins/''. For example you might create the ''example'' skin in ''pub/skins/example/''. Each skin typically has one or more of the following kinds of files:%0a* A template file, such as ''skin.tmpl'' or ''example.tmpl''. The template is written in HTML or XHTML, and is the skeleton for the skin. It contains special markers that tell PmWiki where to insert the page's contents.%0a* CSS stylesheet files, which can control the skin's appearance, such as ''pmwiki.css'' or ''example.css''.%0a* Image files, for decorating a page with images.%0a* PHP files, such as ''skin.php'' or ''example.php''. These let skins provide extra customization setting or capabilities that HTML and CSS alone cannot.%0a* Documentation files for the administrator, usually with names like ''readme.txt'', ''install.txt'' or ''skinname.txt''. These usually give you information about any special installation steps or nifty features the skin has.%0a%0a!! Where do I get skins? [[#where]]%0a%0aSkins are available in the [[http://www.pmwiki.org/wiki/Skins/Skins|Skins]] collection. %0aThe skins in the collection have been contributed by many PmWiki administrators for all to use, and typically have their own set of customization possibilities. %0aWhen you find a skin you like, follow the link to download the skin package.%0aYou can also [[{$FullName}#make|make your own]] skin.%0a%0a!! How do I use or install a skin? [[#use]]%0a%0aMost skin packages are .zip, .tgz, or .tar.gz files. You should be able to unpack these with most archiving software.%0a%0a# Unpack the skin to ''pub/skins/'' inside your pmwiki folder. Most well-designed skin packages will create a subfolder in ''pub/skins/'' named after the skin.%0a** If the skin did not make a folder of its own, create one and move the skin files to it.%0a%0a# Open up your ''local/config.php'' file, and add a line like%0a-> [@$Skin = 'example';@]%0awhere ''example'' is the name of the skin's folder.%0a%0aReload a page from your wiki in the browser, and you should be able to see the difference.%0a%0aIf you'd like to let your site's visitors choose one skin from a selection of skins you've installed, look at the [[http://www.pmwiki.org/wiki/Skins/SkinChange|Skin Change]] recipe. (That's what we used for the demo above.)%0a%0a!! How can I modify an existing skin? [[#modify]] [[#further]]%0a%0aThere are a number of ways to further customize the appearance of a skin, including %0a* adding statements to /local/config.php that are compatible with your chosen skin; %0a* adding css files to /pub/css/, such as local.css (for your entire wiki) and MyGroup.css (for MyGroup); and %0a* directly editing the skin's files. %0aIf the skin is updated regularly, you probably will want to avoid editing the files in the skin's folder. %0aCheck the skin's page in the Cookbook for specific suggestions.%0a%0aIf you want to modify the default pmwiki or print skins included with the PmWiki distribution, you should copy the pub/skins/pmwiki/ and pub/skins/print/ directories to another name and then use those skins instead of the default ones. While the name of the skin.tmpl and skin.css files don't usually matter, the optional skin.php file MUST match the name of the skin.%0a%0a!! How can I make a skin? [[#make]]%0a%0aThe best way to make your first skin is to modify a copy of PmWiki's default skin. %0a%0a# Make a copy of the folder ''pub/skins/pmwiki'' and name it whatever your new skin should be named.%0a# In your ''local/config.php'' file, set $Skin to be the name of your new skin.%0a# Modify the template and CSS files to suit you.%0a# Test your new skin.%0a# Repeat steps 3 and 4 until you're happy with the results.%0a%0aThe reason we recommend starting with the default PmWiki skin is that it's quite a simple skin, much more so than many of the skins you'll find in [[http://www.pmwiki.org/wiki/Skins/Skins|Skins]]. The starting point is the template (.tmpl) file, which provides the overall layout of the page. Inside of the template file are a number of special substitutions and directives that provide places for PmWiki to insert the data relevant to the current page being displayed. [[Skin Templates]] describes the format and directives in more detail. There are also [[http://www.pmwiki.org/wiki/Skins/SkinGuidelines|skin guidelines]] available on pmwiki.org.%0a%0aIt's beyond the scope of this page to explain how to write HTML (hypertext markup language), XHTML (extensible HTML, which is a bit newer) or CSS (cascading style sheets), but there are many good tutorials on the web for all three of them. One caution: if you run into an HTML tutorial that explains about how to use %3cfont> or %3cblink> tags, or spacer gifs, it's since quite a lot of years out of date, so skip it and find another one. %0a%0aYou should test your skin on a variety of browsers -- ideally as many as you can, on as many different platforms as you can -- but at minimum you should be testing on Internet Explorer 8, Firefox 3, and Chrome, since those are the most common, and have different bugs, it is also useful to test on Opera and Safari. Don't forget to do things like resize windows and change text size during your testing.%0a%0a!!! Tools that you'll need%0a%0aThere are good examples of all these programs available for free. %0a%0a'''HTML and CSS editor(s).''' There are two types of editors: graphical (WYSIWYG, or "what you see is what you get"), and hand-coding or programmer's editors. Graphical editors are less intimidating to novices, but you won't learn as much, or know your code as intimately as you will by using a hand-coding editor. Whichever you choose, get one that has syntax highlighting for the code, because it will help you spot mistakes. Also, live preview features are not that helpful when writing a PmWiki skin, because PmWiki does stuff that the live preview won't, such as substitute values for variables and insert sidebar content.%0a%0a'''Test wiki'''. You don't want to be wreaking havoc on your skin while visitors can see your site. It's a better idea to set up a test wiki, either on your real webserver or on your own machine. Linux or [=MacOS=] computer owners may have webservers and PHP already running on their machines, but Windows users often don't. If that describes you, then you might want to take a look at the [[Cookbook:Standalone]] recipe, which runs PmWiki without needing a complex webserver, or [[Cookbook:InstallOnIIS]]. Or, you can find many local server packages which install a webserver, PHP, and other stuff (e.g. `MySQL), all configured to work together. Try to get a package that has the same software and versions as used on your live setup, since then there will be less to go wrong when the site goes live.%0a%0a'''FTP client''' to transfer files to your webserver. You probably had one of these already.%0a%0a'''Color picker'''. Your editor might include one, or you could pick up a standalone application. Extremely helpful for creating and saving color palettes.%0a%0a!! Print Skins%0aBy default your new skin will use the standard /pub/skins/print/ skin. %0a%0aTo over-ride this add the following to local/config.php:%0a%0a->[@$ActionSkin['print'] = 'yourprintskin';@]%0a%0aThis says to use 'yourprintskin' for ?action=print instead of the default.%0a%0a%0a!! See also%0a(:pagelist fmt=#titlesummary order=name name=PmWiki/SkinTemplates,PmWiki/Installation :)%0a* [[http://www.pmwiki.org/wiki/Skins/Skins|Skins]]%0a* [[http://www.pmwiki.org/wiki/Skins/SkinGuidelines|Skin Guidelines]]%0a* [[Cookbook:Standalone]]%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I change the Wiki's default name in the upper left corner of the Main Page?%0a%0aA: Put the following config.php%0a%0a->[@$WikiTitle = 'My Wiki Site';@]%0a%0aThe ''docs/sample-config.php'' file has an example of changing the title.%0a%0a%0aQ: How can I embed PmWiki pages inside a web page?%0a%0aA: Source them through a PHP page, or place them in a frame.%0a%0a%0aQ: How do I change the font or background color of the hints block on the Edit Page?%0a%0aA: Add a CSS style to pub/css/local.css: [@.quickref {background:...; color:... }@]. The hints are provided by the [[Site.EditQuickReference]] page, which is in the PmWiki or Site wikigroup. Edit that page, and change the "bgcolor" or specify the font "color" to get the contrast you need. +time=1571379915 blob - /dev/null blob + 86232e27e92a9e15cf2d0550ad4b197c29492776 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.SpecialCharacters @@ -0,0 +1,9 @@ +version=pmwiki-2.2.84 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=replace commercial link with Wikipedia page - full Unicode list +name=PmWiki.SpecialCharacters +rev=17 +targets=PmWiki.SpecialCharactersList,PmWiki.Characters +text=When creating pages it's common to use commercial trademarks, copyright, umlaut, and other non-keyboard symbols. therefore it's important that you have the means to input these special characters. %0a%0a!!!ISO Standard codes%0aPmWiki supports the HTML special character listings by the w3c. [[http://www.w3.org/MarkUp/html-spec/html-spec_13.html | W3C Page of Special Character codes ISO standard.]]%0a%0aHere are some samples: %0a(:markup:)[=%0a© | ¼ | ½ | ® | µ | ¨ =]%0a%0a(:markup:)[=%0aÆ | 32° | Unïted Stätes | ¶ | ¥Yen | PmWiki™=]%0a%0aFor a nice table with all available special characters, see [[https://en.wikipedia.org/wiki/List_of_Unicode_characters|List of Unicode characters]] at Wikipedia.%0a%0a!!!Other ways to do it: %0a%0a!!!!Character Map%0aFind the "Character Map" utility in your computer's System Tools folder. Click the symbol you're interested in, and note the keystroke information at the bottom of the box. You execute these by ''holding "Alt"'' while keying the numbers ''on the numerical keypad'' of your keyboard (not the numbers across the top of the board).%0a%0a[=©=] = Alt+0169 = © | [=®=] = Alt+0174 = ® | [=°=] = Alt+0176 = ° (degrees).%0a%0a!!!!Paste%0a*Use Word or another desktop application to create your text with the special characters that you want. Copy and paste the text to the wiki page you're editing or creating.%0a*Find an instance of a special character in an online document; copy and paste the character to your wiki page: ©%0a%0aThere's a list of special characters at [[PmWiki:SpecialCharactersList]].%0aThere's another illustration at [[PmWiki:Characters]] +time=1459412004 blob - /dev/null blob + 23edc8aea21667026322a81435fcc6488474d136 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.TableDirectives @@ -0,0 +1,10 @@ +version=pmwiki-2.2.123 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=style and class are also valid, you can place min-width inside style (+81) +name=PmWiki.TableDirectives +rev=95 +targets=PmWiki.Tables,PmWiki.TableDirectives,PmWiki.LayoutVariables,PmWiki.Audiences,PmWiki.PmWikiPhilosophy,PmWiki.LocalCustomizations,PmWiki.IncludeOtherPages,Cookbook.AdvancedTableDirectives,Cookbook.BackgroundImages,PmWiki.WikiStyles,PmWiki.TableDirectives-Talk,Cookbook.CreateColumns +text=(:Summary:Directives for table processing:)(:Audience: authors (intermediate) :)(:title Table directives:)%0aSee [[Tables]] for the "simple table" markup. Here you can find the markup for advanced/structural tables. %0a%0aThere are six directives for table processing. All must be at the beginning of a line to have any effect.%0a%0a!!!@@[=(:table [attr...]:)=]@@%0a%0aGenerates a new HTML %3ctable> tag with the attributes provided in ''attr...''.%0aCloses the previous table, if any.%0aValid attributes and values are:%0a* border ''(a positive integer)''%0a* bordercolor ''(a color name or hex number; doesn't display in all browsers)''%0a* cellspacing ''(a positive integer indicating the space between cells)''%0a* cellpadding ''(a positive integer indicating the interior border of a cell)''%0a* width ''(a positive integer or percent)''%0a* bgcolor ''(a color name or hex number)''%0a* align ''(left, center or right)''%0a* summary ''(does not display; used primarily to help visually disabled people navigate)''%0a* style ''(CSS rules for the table)''%0a* class ''(CSS class name for the table)''%0a%0a!!!@@[=(:cellnr [attr...]:), (:cell [attr...]:), (:headnr [attr...]:), (:head [attr...]:) =]@@%0a%0a* The @@ [=(:head:)=] @@ directive opens a new "header cell" of the table (creates @@ %3cth> @@ tag in HTML).%0a* The @@ [=(:cell:)=] @@ directive opens a new "regular cell" of the table (creates @@ %3ctd> @@ tag in HTML).%0a* The directives @@ [=(:headnr:)=] @@ and @@ [=(:cellnr:)=] @@ open a new cell on a new row in the table.%0a%0aThese directives close any previous cell and/or row. Note, the @@ [=(:head:)=] @@ and @@ [=(:headnr:)=] @@ directives exist from PmWiki version 2.2.11 or newer.%0a%0aValid attributes and values are:%0a* align ''(left, center or right)''%0a* valign ''(top, middle or bottom)'' * ''default is "top", see note below''%0a* colspan ''(a positive integer)''%0a* rowspan ''(a positive integer)''%0a* bgcolor ''(a color name or hex number)''%0a* width ''(a positive integer or percent)''%0a* class ''(a CSS class of the cell)''%0a* style ''(custom CSS styles of the cell)''%0a%0a!!! @@ [=(:tableend:)=] @@%0a%0aCloses the previous table cell and closes off any table. Generates %3c/th>, %3c/td>, %3c/tr>, and %3c/table> tags as needed.%0a%0a!!!* valign attribute%0a%0aIf not already set, PmWiki will automatically include the attribute valign='top' with all [@(:cell[nr]:)@] and [@(:head[nr]:)@]. Pm said "Table Directives were created for layout purposes and in that case it makes the most sense for each cell (column) to have its content at the top of the row. The attribute is placed in each cell and not in the row because certain browsers didn't recognize valign='top' in the row tag.%0a%0aSee $EnableTableAutoValignTop on how to disable the automatic insertion of the attribute.%0a%0a!! Notes%0a%0aFor the table, cell, and cellnr tags the author can specify any attributes that would be valid in the HTML %3ctable> or %3ctd> tags. Thus you can specify rowspan, colspan, etc. arguments to build arbitrary tables. However, it's not possible to nest a [@(:table:)@] inside of a [@(:cell:)@] or [@(:cellnr:)@] -- the next paragraph explains why.%0a%0aMany are likely to ask why we didn't just use the standard HTML table markup (%3ctable>, %3ctr>, %3ctd>, %3cth>) instead of creating a new markup, and allowing nested tables as a result. There are two answers: first, the HTML table markup is very ugly for naive authors (see [[PmWiki.Audiences]] and [[PmWikiPhilosophy]] #2), and second, it'd be very easy for authors to create tables that are incorrect HTML and that display incorrectly (or not at all) on some browsers. Even seasoned web professionals sometimes get the table markup wrong, so it's a bit unrealistic to expect the average author to always get it right, or to be able to read arbitrary HTML table markup that someone else has created.%0a%0a-> %25color=green%25 ''Common comment:'' Surely, the average or naive author would not be writing HTML directly, but using a tool, such as [=FrontPage=], or even [=MSWord=], to generate the HTML. This would be a lot simpler than learning even the simplest PmWiki markups.%0a>>%3c%3c%0a%0a-> %25color=green%25 ''Pm's Response:'' And once the HTML has been generated and posted, how is someone else going to edit or modify the table if they don't have the original [=FrontPage or MSWord=] file used to create it? Remember that we're talking about ''collaborative'' authoring. The HTML that those packages generate is among the hardest to read and edit of all!%0a%0aIt's difficult to write the code needed to make PmWiki understand and fix arbitrary table markup, so PmWiki uses the simplified version above. Still, this version is able to handle most table requirements (with the possible exception of nested tables).%0a%0aAnd, this is not to say that nested HTML tables are impossible in PmWiki --they just can't be easily created by wiki authors using the default wiki markup. A site administrator can of course create header/footer HTML code and other [[local customizations]] that make use of nested tables.%0a%0a!! Examples%0a!!!A table using table directive markup.%0a%0a"[@ @]" is a non-breaking space in html. Place it in a cell if a cell is to be empty or the border of the cell will not be drawn properly.%0a%0a(:markup:)%0a(:table border=1 cellpadding=5 cellspacing=0:)%0a(:head:) a1%0a(:cell:) b1%0a(:cell:) c1%0a(:cell:) d1%0a(:headnr:) a2%0a(:cell:) b2%0a(:cell:) c2%0a(:cell:)  %0a(:tableend:)%0a(:markupend:)%0a%0a%0aIn HTML, this is the same as%0a%0a-> [@%0a%3ctable border='1' cellpadding='5' cellspacing='0'>%0a %3ctr>%0a %3cth>a1%3c/th>%0a %3ctd>b1%3c/td>%0a %3ctd>c1%3c/td>%0a %3ctd>d1%3c/td>%0a %3c/tr>%0a %3ctr>%0a %3cth>a2%3c/th>%0a %3ctd>b2%3c/td>%0a %3ctd>c2%3c/td>%0a %3ctd> %3c/td>%0a %3c/tr>%0a%3c/table>%0a@]%0a%0a%0a-----%0a!!!Floating Table with bulleted navigation list%0a%0aWhat if you wanted to create a nice little table like a table of contents in a page like this? In this example, the table is floating right and contains some links in a bulleted list. This is a nice demonstration of how it's possible to build a little table of contents in the page, which might navigate to other pages just within the same wiki group. Note that having a bulleted list ''won't work in a ordinary table'' - it only works inside an table created with table directives such as the example code used here.%0a%0a(:markup:)%0a(:table border=1 width=30%25 align=right bgcolor=#cccc99 cellspacing=0 :)%0a(:cellnr:)%0a'''Navigation Links'''%0a(:cellnr:)%0a*[[Tables]]%0a*[[Table directives]]%0a(:tableend:)%0a(:markupend:)%0a%0a(:markup:)%0a(:table border=1 width=30%25 align=right bgcolor=#cccc99 cellspacing=0 :)%0a(:cellnr colspan=2 align=center:)%0a'''Navigation Links'''%0a(:cellnr align=center:)%0a[[Tables]]%0a(:cell align=center:)%0a[[Table directives]]%0a(:tableend:)%0a(:markupend:)%0a%0aLooking at the markup here, notice that we have used a #cccc99 hex color for the table background. Also, the [@(:cellnr:)@] markup creates a new row, a new cell and closes the row at the end.%0a%0aYou could take this concept a little further: since you might want each page in the group to contain the same table of contents, you can make ONE table like the above and put it in its own page. Then use an [[include (other pages)]] on any of your pages and bring in the table. The float (align) property will be honored in each page where it's included.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: Can I define table headers using the table directive markup?%0aA: Yes, use [@(:head:)@] or [@(:headnr:)@] with PmWiki version 2.2.11 or newer. See also Cookbook:AdvancedTableDirectives.%0a%0aQ: Is it possible to do nested tables?%0aA: Yes, if you nest [[Tables|simple tables]] inside advanced tables. See also Cookbook:AdvancedTableDirectives.%0a%0aQ: Is it possible to add background images to tables and table cells?%0aA: Yes, see Cookbook:BackgroundImages.%0a%0aQ: Is it possible to apply styles to the elements of the table, like an ID to the table row, or a class/style to the TD?%0aA: Yes, see [[PmWiki.WikiStyles#WikiStyleApply | $WikiStyleApply]].%0a%0aQ: Is it possible to automatically generate columns or rows in tables, i.e. without having to do a lot of counting?%0aA: Yes, this is possible with the Cookbook:CreateColumns recipe - it allows you to specify a certain number of columns, and/or to specify a certain number of items per column. Plus, someone has provided some similar markup on the [[(PmWiki:)TableDirectives-Talk]] page.%0a%0aQ: Is it possible to use table captions in table directives similar to simple tables? Tried [@ ! Captiontext ! @] and [@ (:caption:) @]. Didn#t work. How to do?%0aA: Yes, this is possible with the [[Cookbook:AdvancedTableDirectives]] recipe - There you will find a [@(:caption:)@] directive. +time=1579251264 +title=Table directives blob - /dev/null blob + 5d3f9c17a84af94068b3d43e60cd97a79a216b28 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.TableOfContents @@ -0,0 +1,11 @@ +version=pmwiki-2.2.126 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=only float: right; is required for floating right; already 13px (-42) +ctime=1567101340 +name=PmWiki.TableOfContents +rev=28 +targets=PmWiki.LayoutVariables,Cookbook.AutoTOC,PmWiki.PathVariables +text=(:title Table of contents:)(:Audience: authors (basic) :)%0a(:Summary:Basic automatic table of contents and numbered headings:)%0aA basic table of contents (TOC) and Numbered headings (NH) are included in PmWiki 2.2.119 and can be enabled with the following in config.php:%0a%0a $PmTOC['Enable'] = 1;%0a%0a!! Usage [[#usage]]%0aThe feature is based on the recipe Cookbook:AutoTOC but is somewhat simpler. %0a%0a* The table of contents is automatic, there is no need to add some markup in the wiki page.%0a* It is inserted right before the first heading in the wiki page.%0a* By default, only pages with 3 or more headings will have a table of contents.%0a* The visitors can close or open the table of contents, and their last choice will be remembered by their browsers in "localStorage". It is then used also for other pages. And it is used, if the Wiki is revisited later, as long as the "localStorage" is not cleared in the meantime.%0a* The feature can automatically number the headings in the page.%0a* Headings in hidden sections ("comment" wikistyle, "display:none") will not be included in the TOC.%0a* Headings with the [@%25block notoc%25@] class will not be included in the TOC.%0a* Headings in [@(:markup:)@] blocks are ignored.%0a%0aThe following directives in the wiki page can control the above features:%0a%0a* [@(:toc:)@] the table of contents will be inserted at this position (rather than the default one), even if there are less than 3 headings in the page.%0a* [@(:notoc:)@] no table of contents will appear on the page, even if there are 3 or more headings, or a [@(:toc:)@] directive. If you have only one heading in a page, you may wish to use [@(:notoc:)@] to ''suppress numbering''.%0a%0aThe TOC will use anchors or identifiers of the headings from the page, if they exist, otherwise it will create a new identifier (hash) based on the structure of the page. The following markups will all create a link with the anchor @@PageUrl%25blue%25#here%25%25@@:%0a%0a* @@!! Heading with id %25blue%25[=%25block id=here%25=]%25%25@@%0a* @@!! Heading with inline anchor %25blue%25[=[[#here]]=]%25%25@@, or%0a* @@!! %25blue%25[=[[#here]]=]%25%25 Heading with inline anchor@@%0a* @@%25blue%25[=[[#here]]=]%25%25\\%0a[=!! Anchor preceding the heading=]@@%0a%0aIf there is no identifier or anchor with a heading, then the anchor will be in the form @@%25blue%25#toc-1.2.1%25%25@@ where 1.2.1 is the structural path to the section, in this example "Section 1, subsection 2, sub-subsection 1".%0a%0a%0a!! Configuration [[#config]]%0aThe following local configuration (in local/config.php) can control the default settings:%0a%0a* @@$PmTOC['Enable'] = 1; @@# enable TOC and/or NH, default is disabled.%0a* @@$PmTOC['MaxLevel'] = 6;@@ # levels of headings that are included in the TOC, by default %3ch1> to %3ch6> headings are included. Set to 3 to only include %3ch1> to %3ch3> headings.%0a* @@$PmTOC['MinNumber'] = 3;@@ # minimum number of headings in the page for the TOC to be generated. Pages with few headings are usually short and do not need a TOC. %0a** @@$PmTOC['MinNumber'] = 2; @@# pages with 2+ headings will have a TOC%0a** @@$PmTOC['MinNumber'] = 9999999; @@# the TOC will not be automatic, only the [@(:toc:)@] directive will create a table of contents in the page. %0a%0a* @@$PmTOC['NumberedHeadings'] = '1.1.1.1.1.1'; @@# the headings will be numbered (default disabled).%0a** You can set here the numerals for the different levels of headings, can be @@1@@ (numeric), @@I@@ or @@i@@ (Roman numerals), @@A@@ or @@a@@ (letters A-Z or a-z). For example, a specification like \\%0a @@$PmTOC['NumberedHeadings'] = 'I.1.a'; @@ \\%0a will number the biggest level headings on a page with uppercase Roman numerals (I, II, ...), the second biggest with numbers, the third with lowercase letters (a, b, ...), and the remaining levels (if any) with numbers.%0a** @@$PmTOC['MinNumber'] = 9999999; @@# only enable Numbered headings without creating a TOC. You still need to set @@$PmTOC['Enable'] = 1;@@%0a%0a* @@$PmTOC['EnableBacklinks'] = 1; @@# insert after the headings "↑" arrows linking back to the table of contents (default disabled).%0a* @@$PmTOC['ParentElement'] = "#wikitext"; @@# the query selector of the parent HTML element where the TOC block to be inserted; by default the TOC is inserted before the first heading; here you can select a different element. If selected, the TOC will be inserted in the element at the top. The [@(:toc:)@] directive in the page can override this element.%0a%0a!! Internationalization [[#i18n]]%0a%0aThe following strings can be translated in XLPage, for example in French:%0a%0a "Contents" => "Sommaire",%0a "show" => "afficher",%0a "hide" => "masquer",%0a %0a%25note%25Note: If you prefer to see the TOC on the right side, you may want to insert the following in your $PubDirUrl/css/local.css file:%0a%0a[@%0a .PmTOCdiv {%0a float: right;%0a margin-left: 5px;%0a }%0a@]%0a%0aSee also: Cookbook:AutoTOC. If you previously used AutoTOC you need to disable it when enabling $PmTOC.%0a +time=1581508870 +title=Table of contents blob - /dev/null blob + a20ef03b20eda72ddf4f71fa998311d6d1749791 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Tables @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=Sortable tables [[#sortable]] +ctime=1141945978 +name=PmWiki.Tables +rev=81 +targets=PmWiki.TableDirectives,Cookbook.RowspanInSimpleTables,Cookbook.FormattingTables,PmWiki.LayoutVariables,PmWiki.WikiStyles +text=(:Audience: authors (basic) :)%0a(:Summary:Simple tables with double pipe markup, one row per line:)%0a%0aPmWiki has two types of table markup; the markup described in this page is useful for creating ''simple'' tables with lots of small cells, while [[table directive markup->table directives]] helps with larger scale or more complex tables. For more possibilities with formatting simple tables, see [[Cookbook:Rowspan in simple tables]] and [[Cookbook:Formatting tables]].%0a%0a!! Table basics%0aSimple tables are created via use of double pipe characters: @@||@@. Lines beginning with this markup denote rows in a table or a formatting line. Within table row lines the double-pipe is used to delimit cells. In the examples below a border is added for illustration (the default is no border).%0a%0aThe first line in the markup contains formatting commands for the table. It only has double pipe characters at the start of the line.%0a%0a(:markup caption='Basic table' class=horiz:)%0a|| border=1%0a|| cell 1 || cell 2 || cell 3 ||%0a|| cell 1 || cell 2 ||%0a(:markupend:)%0a%0aHeader cells can be created by placing ! as the first character of a cell. Note that these are ''table headers'', not ''headings'', so it doesn't extend to !!, !!!, etc.%0a%0a(:markup caption='Table headers' class=horiz:)%0a|| border=1%0a||! cell 1 ||! cell 2 ||! cell 3 ||%0a|| cell 1 || cell 2 || cell 3 ||%0a(:markupend:)%0a%0aA table can have a caption, indicated by [@||!caption!||@]. Any caption must appear prior to other rows of the table.%0a%0a(:markup caption='Table caption' class=horiz:)%0a|| border=1%0a||! A special table !||%0a||! cell 1 ||! cell 2 ||! cell 3 ||%0a|| cell 1 || cell 2 || cell 3 ||%0a(:markupend:)%0a%0a%0a!! Formatting cell contents%0a%0aCell contents may be aligned left, centered, or aligned right. %0a* To left-align contents, place the cell contents next to the leading @@||@@.%0a* To center contents, add a space before and after the cell contents.%0a* To right-align contents, place a space before the cell contents and leave the cell contents next to the trailing @@||@@.%0a%0a(:markup caption='Cell alignments':)%0a|| border=1 width=100%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0a(:markupend:)%0a%0a(:markup caption='Default cell alignments':)%0a|| border=1 width=100%25%0a||!cell default||!cell left ||%0a||default-aligned||left-aligned ||%0a(:markupend:)%0a%0aNote that header and detail cells have different default alignments.%0a%0aTo get a cell to span multiple columns, follow the cell with empty cells.%0a(At present there is no markup for spanning rows.)%0a%0a(:markup caption='Column spanning':)%0a|| border=1 width=100%25%0a|| |||| right column ||%0a|| || right two columns ||||%0a|| || middle column || ||%0a|| left column || ||||%0a|| left two columns |||| ||%0a|| entire row ||||||%0a|| left column || middle column || right column ||%0a(:markupend:)%0a%0a!! Table attributes%0a%0aAny line that begins with [@||@] but doesn't have a closing [@||@] sets the ''table attributes'' for any tables that follow. These attributes can control the size and position of the table, borders, background color, and cell spacing. (In fact these are just standard HTML attributes that are placed in the %3ctable> tag.)%0a%0aUse the [@width=@] attribute to set a table's width, using either a percentage value, an absolute size, or '''*'''.%0a%0aSee also $SimpleTableDefaultClassName.%0a%0a(:markup caption='Table width':)%0a|| border=1 width=100%25 %0a|| cell 1 || cell 2 || cell 3 ||%0a|| c1 || cellcellcellcell2 || cell 3 ||%0a(:markupend:)%0a%0aThe [@border=@] attribute sets the size of a table's borders.%0a%0a(:markup caption='Bordered table' class=horiz:)%0a|| border=10 width=70%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0a(:markupend:)%0a%0a(:markup caption='Borderless table' class=horiz:)%0a|| border=0 width=70%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0a(:markupend:)%0a%0aUse [@align=center@], [@align=left@], and [@align=right@] to center, left, or right align a table. Note that [@align=left@] and [@align=right@] create a ''floating table'', such that text wraps around the table.%0a%0a(:markup caption='Table alignment: center':)%0a|| border=1 align=center width=50%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0aNotice how text does not wrap with a table using "align=center".%0a(:markupend:)%0a%0a(:markup caption='Table alignment: left':)%0a|| border=1 align=left width=50%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0aNotice how text wraps to the right of a table using "align=left".%0a(:markupend:)%0a%0a(:markup caption='Table alignment: right':)%0a|| border=1 align=right width=50%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-aligned || centered || right-aligned||%0aNotice how text wraps to the left of a table using "align=right".%0a(:markupend:)%0a%0aNote: to get a table to align left (but not "float left") requires CSS, as in%0a->[@||style="margin-left:0px;"@]%0a%0aThe [@bgcolor=@] attribute sets the background color for a table. At present there is no way to specify the color of individual rows or cells in this type of table (but see Cookbook:FormattingTables).%0a%0a(:markup class=horiz:)%0a|| border=1 align=center bgcolor=yellow width=70%25%0a||!cell 1 ||! cell 2 ||! cell 3||%0a||left-align || center || right-align||%0a(:markupend:)%0a%0a!! Sortable tables [[#sortable]]%0aTo allow readers to reorder a table, give it the class="sortable" attribute:%0a(:markup:)%0a|| class="sortable simpletable"%0a||! m||!Geographic zone ||!Highest point ||!Country ||%0a|| 3700||Arctic ||Gunnbjørn Fjeld ||Greenland ||%0a|| 8848||North Temperate Zone ||Mount Everest ||Nepal ||%0a|| 5790||North Tropical Zone ||Cayambe ||Ecuador ||%0a|| 6768||South Tropical Zone ||Huáscarán ||Peru ||%0a|| 6960||South Temperate Zone ||Aconcagua ||Argentina ||%0a|| 4892||Antarctic ||Mount Vinson ||(none) ||%0a(:markupend:)%0a%0aNote: this feature has to be enabled in local configuration, see $EnableSortable.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: How do I create a basic table? %0aA: Tables are created via use of the double pipe character: @@||@@. Lines beginning with this markup denote rows in a table; within such lines the double-pipe is used to delimit cells. In the examples below a border is added for illustration (the default is no border).%0a%0a(:markup caption='Basic table' class=horiz:)%0a|| border=1 rules=rows frame=hsides%0a|| cell 1 || cell 2 || cell 3 ||%0a|| cell 1 || cell 2 || cell 3 ||%0a(:markupend:)%0a%0aQ: How do I create cell headers?%0aA: Header cells can be created by placing ! as the first character of a cell. Note that these are ''table headers'', not ''headings'', so it doesn't extend to !!, !!!, etc.%0a%0a(:markup caption='Table headers' class=horiz:)%0a|| border=1 rules=cols frame=vsides%0a||! cell 1 ||! cell 2 ||! cell 3 ||%0a|| cell 1 || cell 2 || cell 3 ||%0a(:markupend:)%0a%0aQ: How do I obtain a table with thin lines and more distance to the content?%0aA: "Thin lines" is tricky and browser dependent, but the following works for Firefox and IE (Nov. 2009):%0a%0a(:markup caption='Thin lines and cell padding' class=horiz:)%0a||border="1" style="border-collapse:collapse" cellpadding="5" width=66%25%0a||!Header ||! Header || '''Header'''||%0a||cells || with || padding||%0a|| || || ||%0a(:markupend:)%0a%0aQ: How do I create an advanced table? %0aA: See [[PmWiki.TableDirectives | table directives]]%0a%0aQ: My tables are by default centered. When I try to use '||align=left' they don't align left as expected. %0aA: Use ||style="margin-left:0px;" instead. %0a%0aQ: How can I specify the width of columns?%0aA: You can define the widths via custom styles, see Cookbook:FormattingTables and $TableCellAttrFmt. Add in config.php :%0a[@$TableCellAttrFmt = 'class=col$TableCellCount';@]%0a-> And add in pub/css/local.css : %0a[@%0atable.column td.col1 { width: 120px; }%0atable.column td.col3 { width: 40px; }%0a@]%0a%0aQ: How can I display a double pipe "||" in cell text using basic table markup?%0aA: Escape it with [@[=||=]@] to display || unchanged.%0a%0aQ: How do I apply styles to the elements of the table, like an ID to the table row, or a class/style to the TD?%0aA: See [[PmWiki/WikiStyles#WikiStyleApply | $WikiStyleApply]].%0a%0aAlternately, use [[table directives]], which allow specifying styling either directly (''style="..."'') or by a ''class="..."'' attribute for CSS. +time=1567372148 blob - /dev/null blob + 212a102df67957ca137765ff15bdabae75ed8070 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.TextFormattingRules @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=typo (+0) +name=PmWiki.TextFormattingRules +post= Save +rev=557 +targets=Main.WikiSandbox,Cookbook.MarkupTricks,PmWiki.ListStyles,Cookbook.WikiStylesPlus,PmWiki.PageTextVariables,PmWiki.PageLists,PmWiki.BasicVariables,PmWiki.WikiStyles,PmWiki.WikiWord,PmWiki.Links,Cookbook.NumberedHeaders,PmWiki.EditVariables,PmWiki.Tables,PmWiki.TableDirectives,PmWiki.MarkupMasterIndex +text=(:Summary: A list of some of the markup sequences available:) %0aThis page provides a more complete list of some of the markup sequences available in PmWiki. %0aNote that it's easy to create and edit pages without using any of the markups below, but ''if'' you ever need them, they're here. %0a%0aTo experiment with the rules, please edit the [[Main/Wiki Sandbox]].%0a----%0a%0a!! [[#Paragraphs]] Paragraphs%0a%0aTo create paragraphs, simply enter text. Use a blank line to start a new paragraph.%0a%0aWords on two lines in a row will '''wrap and fill''' as needed (the normal XHTML behavior). To turn off the automatic filling, use the [@(:linebreaks:)@] directive above the paragraph.%0a%0a* Use [@\@] (single backslash) at the end of a line to join the current line to the next one.%0a* Use [@\\@] (two backslashes) at the end of a line to force a line break.%0a* Use [@\\\@] (three backslashes) at the end of a line to force 2 line breaks, n backslashes will force n-1 line breaks%0a* Use [@[[%3c%3c]]@] to force a line break that will clear floating elements both left and right.%0a%0a%0a!! [[#IndentedParagraphs]] Indented Paragraphs ''(Quotes)''%0a%0aArrows ([@->@]) at the beginning of a paragraph can be used to produce an indented paragraph. More hyphens at the beginning ([@--->@]) produce larger indents.%0a%0a(:markup:)%0a->Four score and seven years ago our fathers placed upon this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal.%0a(:markupend:)%0a%0aInverted Arrows ([@-%3c@]) at the beginning of a paragraph can be used to produce a paragraph with a hanging indent. Adding hyphens at the beginning ([@---%3c@]) causes all the text to indent.%0a%0a(:markup:)%0a-%3cFour score and seven years ago our fathers placed upon this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal. %0a(:markupend:)%0a%0a(:markup:)%0a--%3cFour score and seven years ago our fathers placed upon this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal. And that food would be good too.%0a(:markupend:)%0a%0aBlocks of text to which [@(:linebreaks:)@] has been applied can be indented by preceding the first line of the block with indention arrows ([@->@]) and aligning subsequent lines under the first. An unindented line stops the block indentation. See [[Cookbook:Markup Tricks]] for an example.%0a%0a%0a!! [[#BulletedLists]] Bulleted and Numbered Lists%0a%0aBullet lists are made by placing asterisks at the beginning of the line. Numbered lists are made by placing number-signs (#) at the beginning of the line. More asterisks/number-signs increases the level of bullet:%0a%0a(:markup:) %0a* First-level list item%0a** Second-level list item%0a### Order this%0a#### And this (optional)%0a### Then this%0a** Another second-level item%0a* A first-level item: cooking%0a## Prepare the experiment%0a### Unwrap the pop-tart%0a### Insert the pop-tart into the toaster%0a## Begin cooking the pop tart%0a## Stand back%0a(:markupend:)%0a%0a(:markup:)%0a# A list is terminated%0aby the first line that is not a list.%0a# Also terminate a list using the escape sequence [@[==]@]%0a[==]%0a# Continue a list item by lining%0a up the text with leading whitespace.%0a# Use a forced linebreak \\%0a to force a newline in your list item.%0a(:markupend:)%0a%0a(:markup:)%0a## Text between list items can cause numbering to restart%0a## %25item value=3%25 this can be dealt with%0a(:markupend:)%0a%0aAlso see: [[PmWiki:ListStyles]], [[Cookbook:WikiStylesPlus]].%0a%0a%0a!! [[#DefinitionLists]] Definition Lists%0a>>rframe%3c%3c%0a'''Powerful new%25red%25*%25%25 feature'''\\%0aWhen you define terms using this markup\\%0aPmWiki will recognize them as [[PageTextVariables]]\\%0athat you can use on any page or [[PageList(s)]].\\%0a[-%25red%25* Added%25%25 in PmWiki version %25red%252.2.0%25%25-]%0a>>%3c%3c%0aDefinition lists are made by placing colons at the left margin (and between each term and definition):%0a%0a(:markup:)%0a:term:definition of term%0a(:markupend:)%0a%0a[[#WhitespaceRules]]%0a!! Whitespace Rules%0a%0aWhitespace indentation in lists. Any line that begins with whitespace ''and aligns'' with a previous list item (whether bulleted, numbers or definitional) is considered to be "within" that list item. Text folds and wraps as normal, and the [@(:linebreaks:)@] directive is honored. %0a%0a(:markup:) %0a# First-level item\\%0a Whitespace used to continue item on a new line%0a# Another first-level item%0a # Whitespace combined with a single # to create a new item one level deeper%0a(:markupend:)%0a%0aThis rule also apply on definition lists, but only the number of leading colons is significant for the following whitespace indented lines.%0a%0a(:markup:)%0a:Item: Definition text%0a dispatched on several%0a lines%0a::SubItem: Same kind%0a of multiline%0a definition%0a(:markupend:)%0a%0aOtherwise, lines that begin with whitespace are treated as ''preformatted text'', using a monospace font and not generating linebreaks except where explicitly indicated in the markup. Note to administrators: Starting with version 2.2.0-beta41, this feature can be modified using $EnableWSPre. (Another way to create preformatted text blocks is by using the [=[@...@]=] markup.)%0a%0a!! [[#HorizontalLine]] Horizontal Line%0a%0aFour or more dashes ([=----=]) at the beginning of a line produce a horizontal line.%0a%0a[[#Emphasis]]%0a!! Emphasis and character formatting%0a%0a* Enclose text in doubled single-quotes ([=''text''=]), i.e., ''two apostrophes'', for emphasis (usually ''italics'')%0a* Enclose text in tripled single-quotes ([='''text'''=]), i.e. ''three apostrophes'', for strong (usually '''bold''')%0a* Enclose text in five single-quotes ([='''''text'''''=]), or triples within doubles (''five apostrophes''), for strong emphasis (usually '''''bold italics''''')%0a* Enclose text in doubled at-signs ([=@@text@@=]) for @@monospace@@ text%0a* Use [=[+large+]=] for [+large+] text, [=[++larger++]=] for [++larger++], [=[-small-]=] for [-small-] text, and [=[--smaller--]=] for [--smaller--].%0a* Emphasis can be used multiple times within a line, but cannot span across markup line boundaries (i.e., you can't put a paragraph break in the middle of bold text).%0a* [='~italic~'=] and [='*bold*'=] are available if enabled in config.php%0a%0aOther styling %0a(:markup:)%0a'+big+', '-small-', '^super^', '_sub_', %0a%0a{+insert or underscore+}, %0a%0a{-delete or strikethrough or strikeout-}%0a(:markupend:)%0a* [@`WikiWord@] `WikiWord neutralisation%0a%0aSee also [[Wiki Styles]] for advanced text formatting options.%0a%0a[[#References]]%0a!! Links / References%0a%0a* Use words and phrases in double brackets (e.g., [=[[text formatting rules]]=]) to create links to other pages on this wiki.%0a* On some PmWiki installations, capitalized words joined together (e.g., [[WikiWord]]s) can also be used to make references to other pages without needing the double-brackets.%0a* Precede [=URLs=] with "@@http:@@", "@@ftp:@@", "@@gopher:@@", "@@mailto:@@", or "@@news:@@" to create links automatically, as in http://www.pmichaud.com/toast.%0a* [=URLs=] ending with @@.gif@@, @@.jpg@@, or @@.png@@ are displayed as images in the page%0a* Links with arbitrary text can be created as either [=[[=]''target'' | ''text'']] or [=[[=]''text'' -> ''target''[=]]=]. ''Text'' can be an image URL, in which case the image becomes the link to the remote ''url'' or ''[[WikiWord]]''.%0a* [[#Anchors]] Anchor targets within pages (#-links) can be created using @@[=[[#target]]=]@@.%0a* to have any special characters, including quotes, spaces, parentheses and pipes in link addresses escape them using [@[=link address=]@]%0aSee [[Links]] for details.%0a%0a[[#Headings]]%0a!!Headings%0a%0aHeadings are made by placing an exclamation mark ('''!''') at the left margin. More exclamation marks increase the level of heading. For example,%0a%0a(:markup:)%0a!! Level 2 Heading%0a!!! Level 3 Heading%0a!!!! Level 4 Heading%0a!!!!! Level 5 Heading%0a(:markupend:)%0a%0aNote that level 1 heading is already used as page title (at least in the PmWiki skin), so you should start with level 2 headings to create well formed, search engine optimized web pages.%0a%0aSee [[Cookbook:Numbered Headers]] for numbered headings.%0a%0a[[#EscapeSequence]]%0a!!Escape sequences%0a%0aAnything placed between [=[= and =]=] is not interpreted by PmWiki, but paragraphs are reformatted. This makes it possible to turn off special formatting interpretations and neutralise [=WikiWords=] that are not links (even easier is to use a tick ` in front, like [=`WikiWord=]). \\%0aThis is useful to allow for escaped [@[=link address=]@] to have any special characters, including quotes, spaces, parentheses and pipes.%0a%0aFor preformatted text blocks, use the [=[@...@]=] markup. It does neither reformat paragraphs nor process wiki markup:%0a%0a(:markup:)%0a[@%0aCode goes here like [[PmWiki.PmWiki]]%0a'$CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]'; #just some code%0a@]%0a(:markupend:)%0a%0aThe multiline @@[=[@...@]=]@@ is a block markup, and in order to change the styling of these preformatted text blocks, you need to apply a "block" WikiStyle.%0a%0a(:markup:)[=%25block blue%25[@ %0a The font color of %0a this text is blue%0a@]=]%0a%0aIt is also useful to use [@[= =]@] within other wiki structures, as this enables the inclusion of new lines in text values. The example below shows how to include a multi-line value in a hidden form field.%0a%0a->[@(:input hidden message "[=Line1%0aLine2=]":)@]%0a%0aNote that "Replace on save" and "Replace on edit" patterns like [@~~@][@~~@] can replace strings even within escape sequences, use $EnableROSEscape to control that.%0a%0a!! Comments%0a[@ (:comment Some information:) @] can be very kind to subsequent authors, especially around complicated bits of markup.%0a%0a[[#SpecialCharacters]]%0a!! Special Characters%0a(:include SpecialCharacters:)%0a%0a[[#Tables]]%0a!! Tables%0a%0a[[Tables]] are defined by enclosing cells with '||'. %0aA cell with leading and trailing spaces is centered; a cell with leading spaces is right-aligned; all other cells are left-aligned. An empty cell will cause the previous cell to span multiple columns. (There is currently no mechanism for spanning multiple rows.) A line beginning with '||' specifies the table attributes for subsequent tables. A '!' as the first character in a cell provides emphasis that can be used to provide headings.%0a%0a(:markup:)%0a||border=1 width=50%25%0a||!Table||!Heading||!Example||%0a||!Left || Center || Right||%0a||A ||! a B || C||%0a|| || single || ||%0a|| || multi span ||||%0a(:markupend:)%0a%0aSee [[Table Directives]] for advanced tables.%0a%0a!!!Can't find it here?%0aSee [[Markup Master Index]].%0a +time=1590307653 blob - /dev/null blob + ea1375b4949494b3b4bf0065df5f0d19b88aa58b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Troubleshooting @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=category link (+8) +name=PmWiki.Troubleshooting +rev=157 +targets=PmWiki.HowToGetAssistance,PmWiki.MailingLists,PmWiki.Questions,PITS.PITS,PmWiki.CustomMarkup,PmWiki.Functions,PmWiki.Upgrades,Cookbook.Cookbook,PmWiki.CustomPagelistSortOrder,Cookbook.PccfToPcfOverride,PmWiki.DebugVariables,PmWiki.SecurityVariables,PmWiki.FilePermissions,PmWiki.Installation,PmWiki.InitialSetupTasks,PmWiki.BasicVariables,PmWiki.WikiGroup,PmWiki.LocalCustomizations,PmWiki.UploadsAdmin,PmWiki.Tables,PmWiki.LayoutVariables +text=(:Summary:Advice for troubleshooting an installation, keywords: deprecated, preg_replace, crypt, blank pages, headers, .flock, upgrade, create_function:)%0a(:Audience: administrators :)%0a%0aPmWiki is pretty robust and can automatically adapt to a very wide variety of environments. %0aHowever, sometimes things don't go as we expect, so we're cataloging common errors and their fixes here.%0a%0a!! Troubleshooting Frequently Asked Questions%0a%0a->%25note%25 Note: This page on pmwiki.org is probably not the best place to post questions. Consider [[PmWiki:HowToGetAssistance | seeking assistance]] from the pmwiki-users [[mailing list(s)]], or post your question on the [[PmWiki:Questions]] page.%0a%0a>>faq%3c%3c [[#faq]]%0a%0a[[#track-errors]]%0aQ: How to track errors and know if they come from the PmWiki core or from a local configuration or addon/recipe?%0a%0aA: The PHP programming language has recently deprecated or removed a number of functions that were heavily used in the past by PmWiki and many addons/recipes/skins. The PmWiki core no longer relies on these functions but some addons still do -- here is how to track these.%0a%0aA: The PmWiki architecture allows addons (recipes, skins) and local configuration to register actions to be performed by PmWiki at a later point of the process. That's why the PHP warning may indicate a line in pmwiki.php, even if this was caused by a recipe. %0a%0aA: It is recommended to get the latest versions of PmWiki and all your addons -- known bugs would have been fixed. This assumes the errors appear with the latest versions.%0a%0aA: (1) First disable or comment out all addons and local configuration (config.php, farmconfig.php, Group.php) and test your wiki. If the warning persists, please notify us ASAP with some information on how to reproduce the bug and on your installation (PHP version). If the error doesn't appear, go to (2).%0a%0aA: (2) Enable one local configuration or one addon and test your wiki to see if the error appears.%0a%0aA: (3) If the error doesn't appear, the problem is likely elsewhere. If you have more addons to enable, go back to (2).%0a%0aA: (4) If the error appears, it was likely caused by the last configuration or addon that you enabled. Search the documentation and the cookbook for more recent versions, or contact the addon maintainer, or leave a message on the talk page. If that doesn't work, contact us at [[PITS:PITS|our issue trackig system]]. Developers can find documentation on how to update old addons at [[CustomMarkup]] and [[Functions]].%0a%0aA: (5) Disable again the faulty addon and if you have more addons to enable, go back to (2).%0a%0aA: PmWiki has a friendly and reactive community and we may be able to quickly provide fixes.%0a%0a%0a[[#create_function]]%0aQ: My wiki displays warnings "Deprecated: Function create_function() is deprecated".%0a%0aA: PHP version 7.2 deprecated a function which PmWiki used for markup definitions and pattern replacements. It is recommended to [[upgrades|upgrade]] to the latest PmWiki version and update all addons and skins from the [[Cookbook/]]. Addons in the [[https://www.pmwiki.org/wiki/Category/PHP72|PHP 7.2]] category are reported to be compatible with PHP 7.2. If you need a specific addon that has not yet been updated please contact us. To update your own addons, you probably need to update your calls to Markup(), see the pages [[Custom markup]], [[Functions]] and [[(PmWiki:)CustomPagelistSortOrder]].%0a%0aA: The recipe [[(Cookbook:)PccfToPcfOverride]] may provide a temporary solution until you can update all your add-ons.%0a%0aA: Note that PmWiki itself doesn't use that function, but (older) addons can register instructions to be processed at a later point. That's why the warning reports a line in pmwiki.php, even if it was requested by a local configuration or an addon.%0a%0aA: How to track down the addons that cause the warnings, see the [[#track-errors|first section]].%0a%0aQ: [[#deprecated]] [[#preg_replace]] My wiki displays warnings "Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead".%0aA: This is caused by a change in PHP version 5.5 for the [[http://php.net/preg_replace|preg_replace()]] function. PmWiki no longer relies on the deprecated feature since version 2.2.56 (it is recommended to upgrade to the latest version) but many recipes do. %0a%0aA: Note that PmWiki itself doesn't use that function, but (older) addons can register instructions to be processed at a later point. That's why the warning reports a line in pmwiki.php, even if it was requested by a local configuration or an addon.%0a%0aA: Recipes and Skins are currently being updated for [[https://www.pmwiki.org/wiki/Category/PHP55|PHP 5.5]]. Check if there are more recent versions published by their maintainers on the [[(Cookbook:)Cookbook]]. If you update your PmWiki and recipes, and still see the warnings, here is how to find out which recipes cause them:%0a%0aA: For PmWiki version 2.2.71 or newer, in config.php, enable diagnostic tools: \\%0a@@$EnableDiag = 1;@@\\%0aThen visit your wiki with the action 'ruleset', for example http://www.pmwiki.org/wiki/PmWiki/PmWiki?action=ruleset or follow a link like [@[[HomePage?action=ruleset]]@]. This page will list all markup rules; those potentially incompatible with PHP 5.5 will be flagged with filenames, line numbers and search patterns triggering the warning.%0a%0aA: If the ?action=ruleset page shows no flagged rules, it is possible that either your recipes call the preg_replace() function directly, or they define various search-replace patterns in incompatible ways. In these cases, your warning should display the file name and line number causing problems. Otherwise, to track down the addons that cause the warnings, see the [[#track-errors|first section]].%0a%0aA: Note that many hosting providers allow you to run different versions of PHP. See the documentation of your hosting plan to learn how to enable a PHP version earlier than 5.5.%0a%0aA: Finally, it is possible to suppress these warnings in PHP 5.5, by setting this line at the beginning of config.php: \\%0a@@error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);@@\\%0aThis should be a temporary solution, left only until your recipes are fixed.%0a%0aA: See categories [[https://www.pmwiki.org/wiki/Category/PHP55|PHP 5.5]], [[https://www.pmwiki.org/wiki/Category/PHP72|PHP 7.2]], [[https://www.pmwiki.org/wiki/Category/PHP74|PHP 7.4]].%0a%0a[[#crypt]]%0aQ: My wiki displays warnings "PHP Deprecated: crypt(): Supplied salt is not valid for DES. Possible bug in provided salt format".%0aA: You probably have configuration settings that worked on older PHP versions. Here is how to hunt and try to fix this.%0a%0aA: In your (farm)config.php or other local or cookbook files, any call to @@crypt@@ can be replaced with @@pmcrypt@@, eg \\%0a@@$DefaultPasswords['edit'] = crypt("my_password");@@ # %25red%25DEPRECATED%25%25\\%0a@@$DefaultPasswords['edit'] = '''pmcrypt'''("my_password");@@ # %25green%25OK%25%25\\%0a@@$DefaultPasswords['edit'] = array('''pmcrypt'''("pass1"), '''pmcrypt'''("pass2"));@@ # %25green%25OK%25%25%0a%0aA: Additionally, if there are locked passwords with a star @@*@@, you should replace those with [@@lock@]: \\%0a@@$DefaultPasswords['edit'] = '*';@@ # %25red%25DEPRECATED%25%25\\%0a@@$DefaultPasswords['edit'] = '@lock';@@ # %25green%25OK%25%25 (and no pmcrypt)%0a%0aA: The $DefaultPasswords variables usually have keys like 'edit', 'attr', 'read', 'upload', 'publish'.%0a%0aA: Some of your page files may still have the old star @@*@@ locking. Files that in the past shipped with the star lock were Site.GroupAttributes, SiteAdmin.GroupAttributes, Site.AuthUser and/or PmWiki.GroupAttributes in the directories wikilib.d and/or wiki.d. You need to edit them in a text editor and replace any line among these:\\%0a@@passwdedit=*@@\\%0a@@passwdattr=*@@\\%0a@@passwdread=*@@\\%0a@@passwdpublish=*@@\\%0a@@passwdupload=*@@%0a%0aA:Edit the file and replace the star @@*@@ with the word [@@lock@] on every existing line. ''Do not add these lines if they are not already in the file, and do not change the lines if there is something other than a single star after the = equals sign''. Save the file, upload it back to your wiki and the warnings should disappear. (If you run a wiki farm, you may have such files in several @@wiki.d@@ directories.)%0a%0a[[#blank_sections]]%0aQ: After a PHP upgrade, some of the pages on my wiki are completely blank, empty, some have blank or missing sections, but the sidebar and the action links are visible.%0a%0aA: Sometimes this may be caused by insufficient [[file permissions]] on the server. The PHP process needs "read/write (rw)" access to all files in the directories "wiki.d" and "uploads"; "read (r)" access to those in the "wikilib.d" directory; "list/search (x)" for the directories themselves. Search the documentation of your hosting provider for more information.%0a%0aA: Alternatively, this may be caused by a change in PHP 5.4 which affects the function @@htmlspecialchars()@@.%0a%0aA: The easiest temporary fix would be in your @@php.ini@@, or in @@.user.ini@@ to change the @@default_charset@@ directive to an 8-bit charset, for example cp1252:%0a%0a default_charset = "Windows-1252"%0a%0aA: Or, this may sometimes work in @@local/config.php@@:%0a%0a ini_set("default_charset", "Windows-1252");%0a%0aA: A more permanent fix would be to [[Upgrades|upgrade]] your installation to a more recent PmWiki version, your recipes, and in your own recipes or modules replace all calls to @@htmlspecialchars()@@ with @@PHSC()@@, a PmWiki helper function for such cases.%0a%0aA: The "blank" pages come from the fact that in PHP 5.4 the default encoding switched from an 8-bit encoding to variable-bit validated UTF-8, and that an incorrect UTF-8 string will be rejected. If your wiki uses an 8-bit encoding, it is virtually certain that it is not valid UTF-8. Worse, even if you do use UTF-8 some browsers may submit invalid bits. So the [[Functions#PHSC|PHSC() function]] always pretends that it converts an 8-bit encoding where all bits are allowed.%0a%0aQ: Why am I seeing strange errors after [[Upgrades|upgrading]]?%0aA: Make sure all of the files were updated, in particular @@pmwiki.php@@ and all files in the @@scripts/@@ directory.%0a%0aA: This question sometimes arises when an administrator hasn't%0afollowed the advice, which used to be less prominent, on the%0a[[PmWiki.installation#notes|installation]] and%0a[[PmWiki.initial setup tasks#dontmodify|initial setup tasks]] pages and has renamed%0a''pmwiki.php'' instead of creating an ''index.php'' wrapper script.%0aIf you have renamed ''pmwiki.php'' to ''index.php'', then the upgrade procedure%0awon't have updated your ''index.php'' file. Delete the old version and%0acreate a wrapper script so it won't happen again.%0a%0aA: Sometimes an FTP or other copy program will fail to transfer all of the%0afiles properly. One way to check for this is by comparing file sizes.%0a%0aA: Be sure all of the files in the ''wikilib.d/'' directory%0awere also upgraded. Sometimes it's a good idea to simply delete the ''wikilib.d/''%0adirectory before upgrading. (Local copies of pages are stored in ''wiki.d/'' and not ''wikilib.d/''.)%0a%0aA: Make sure that the [[(PmWiki.)file permissions]] are correct. The official files have a restricted set of permissions that might not match your site's needs.%0a%0aA: If you use a custom pattern for $GroupPattern make sure that it includes Site ($SiteGroup) and since PMWiki 2.2 also SiteAdmin ($SiteAdminGroup).%0aOtherwise migration may fail (e.g. missing SiteAdmin for PMWiki 2.2 and later) and/or login does not work.\\%0aAdditionally Main ($DefaultGroup) should be included too.%0a%0a[[#flock]]%0aQ: I'm suddenly getting messages like "@@Warning: fopen(wiki.d/.flock): failed to open stream: Permission denied...@@" and "@@Cannot acquire lockfile@@"... what's wrong?%0a%0aA: Something (or someone) has changed the [[PmWiki/FilePermissions | permissions]] on the ''wiki.d/.flock'' file or the ''wiki.d/'' directory such that the webserver is no longer able to write the lockfile. The normal solution is to simply delete the ''.flock'' file from the ''wiki.d/'' directory -- PmWiki will then create a new one. Also be sure to check the permissions on the ''wiki.d/'' directory itself. (One can easily check and modify permissions of the ''wiki.d/'' directory in %25newwin%25[[http://filezilla-project.org/ | FileZilla]] (open-source FTP app) by right-clicking on the file > File attributes)%0a%0a[[#sidebar]]%0aQ: My links in the sidebar seem to be pointing to non-existent pages, even though I know I created the pages. Where are the pages?%0a%0aA: Links in the sidebar normally need to be qualified by a [[WikiGroup]] in order to work properly (use [=[[Group/Page]] instead of [[Page]]=]).\\%0aAlso: Make sure you type Side'''B'''ar with a capital B.%0a%0a[[#headers]]%0aQ: Why am I seeing "@@PHP Warning: Cannot modify header information - headers already sent by ...@@" messages at the top of my page.%0a%0aA: If this is the first or only error message you're seeing, it's usually an indication that there are blank lines, spaces, or other characters before the [@%3c?php@] or after the [@?>@] in a [[local customization(s)]] files such as @@config.php@@. Double-check the file and make sure there is nothing before the initial [@%3c?php@]. It's often easiest and safest to eliminate any closing [@?>@] altogether. %0a%0aA: When you save the file, the encoding/charset should be either cp1252/Windows1252 or UTF-8 without Byte Order Mark. [[https://notepad-plus-plus.org/ | NotePad++]] is an editor that can do this.%0a%0aA: When you transfer the files, tell your FTP manager to use text mode transfer, or, if that doesn't help, binary mode transfer.%0a%0a%0aA: If the warning is appearing after some other warning or error message, then resolve the other error and this warning may go away.%0a%0a[[#session_write_close_error]]%0aQ: How do I make a PHP Warning about @@function.session-write-close@@ go away?%0a%0aA: If you are seeing an error similar to this%0a%0a->[@%0aWarning: session_write_close() [function.session-write-close]:%0aopen(/some/filesystem/path/to/a/directory/sess_[...]) failed: No such file%0aor directory (2) in /your/filesystem/path/to/pmwiki.php on line NNN%0a@]%0a%0aPmWiki sometimes does session-tracking using PHP's%0a[[http://php.net/session | session-handling functions ]].%0aFor session-tracking to work, some information needs to be written%0ain a directory on the server. That directory needs to exist and%0abe writable by the webserver software. For this example, the%0awebserver software is configured to write sessions in this%0adirectory%0a%0a->[@/some/filesystem/path/to/a/directory/@]%0a%0abut the directory doesn't exist. The solution is to do at least one%0aof these:%0a* '''Create the directory''' and make sure it's writable by the webserver software%0a* Provide a session_save_path value that points to a directory that is writable by the server, e.g. in config.php:%0a%0a->[@session_save_path('/home/someuser/tmp/sessions');@] # unix-type OS%0a->[@session_save_path('C:/server/tmp/sessions');@] # Windows%0a%0a[[#multiplepwprompts]]%0aQ: Why is PmWiki prompting me multiple times for a password I've already entered?%0a%0aA: This could happen like out of nowhere if your hosting provider upgrades to PHP version 5.3, and you run an older PmWiki release. Recent PmWiki releases fix this problem.%0a%0aA: Alternatively, this may be an indication that the browser isn't accepting cookies, or that PHP's session handling functions on the server aren't properly configured. If the browser is accepting cookies, then try setting $EnableDiag=1; in ''local/config.php'', run PmWiki using [@?action=phpinfo@], and verify that sessions are enabled and that the session.save_path has a reasonable value. Note that several versions of PHP under Windows require that a session_save_path be explicitly set (this can be done in the ''local/config.php'' file). You might also try setting session.auto_start to 1 in your php.ini.%0a%0aA: See also the question [[#configphp-order|I have to log in twice]] below.%0a%0aQ: I edited ''config.php'', but when I look at my wiki pages, all I see is "@@Parse error: parse error, unexpected T_VARIABLE in ''somefile'' on line ''number''.@@"%0a%0aA: You've made a mistake in writing the PHP that goes into the ''config.php'' file. The most common mistake that causes the T_VARIABLE error is forgetting the semi-colon (;) at the end of a line that you added. The line number and file named are where you should look for the mistake.%0a%0a%0aQ: Searches and pagelists stopped working after I upgraded -- no errors are reported, but links to other pages do not appear (or do not appear as they should) -- what gives?%0a%0aA: Be sure all of the files in the ''wikilib.d/'' directory%0awere also upgraded. In particular, it sounds as if the Site.PageListTemplates page is either missing (if no links are displayed) or is an old version (if the links do not appear as they should). Also make sure that read-permissions (attr) are set for the pages Site.PageListTemplates and Site.Search.%0a%0a[[#mod_security]]%0aQ: Some of my posts are coming back with "403 Forbidden" or "406 Not Acceptable" errors, or "Internal Server Error". This happens with some posts but not others.%0a%0aA: Your webserver probably has [[http://modsecurity.org | mod_security]] enabled. The mod_security "feature" scans all incoming posts for forbidden words or phrases that might indicate someone is trying to hack the system, and if any of them are present then Apache returns the 403 Forbidden or 406 Not Acceptable error. Common phrases that tend to trigger mod_security include "curl ", "wget", "file(", and "system(", although there are many others (depending on the configuration, percent signs, html tags, international characters).%0a%0aSince mod_security intercepts the requests and sends the "forbidden"%0amessage before PmWiki ever gets a chance to run, it's not a bug in PmWiki, and%0athere's little that PmWiki can do about it. Instead, one has to alter the%0awebserver configuration to disable mod_security or reconfigure it to allow%0awhatever word it is forbidding. Some sites may be able to disable mod_security%0aby placing [@SecFilterEngine off@] in a ''.htaccess'' file.%0a%0aQ: I get the following message when attempting to upload an image, what do I do?%0a[-@@'''Warning''': move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 1929 is not allowed to access /home/onscolre/public_html/pmwikiuploads/Photos owned by uid 33 in '''/home/onscolre/public_html/pmwiki/scripts/upload.php''' on line '''198'''@@-]%0a%0a@@'''PmWiki can't process your request'''@@%0a%0a[-@@?cannot move uploaded file to /home/onscolre/public_html/pmwikiuploads/Photos/FoundationPupilsIn1958.jpeg@@-]%0a%0a[-@@We are sorry for any inconvenience.@@-]%0a%0aA: Your server is configured with PHP [[http://php.net/manual/en/features.safe-mode.php|Safe Mode]] enabled. Configure your wiki to use a [[PmWiki/UploadsAdmin#sitewideprefix|site-wide uploads prefix]], then create the ''uploads/'' directory manually and set 777 permissions on it (rather than letting PmWiki create the directory).%0a%0a[[#TableRowIndexMax]] [[#divisionbyzero]]%0aQ: I'm starting to see "Division by zero error in pmwiki.php..." on my site. What's wrong?%0a%0aA: It's a bug in PmWiki that occurs only with the [[tables]] markup and only for versions of PHP >= 4.4.6 or >= 5.2.0. Often it seems to occur "out of nowhere" because the server administrator has upgraded PHP. Try [[upgrad(es)]]ing to a later version of PmWiki to remove the error, or try setting the following in ''local/config.php'':%0a%0a $TableRowIndexMax = 1;%0a%0a[[#configphp-order]]%0aQ: I have to log in twice [-(two times) (2 times)-]. -or- My password is not being required even though it should. -or- I changed the password but the old password is still active. -or- My config.php password is not over-riding my farmconfig.php password.%0aA: It could happen if (farm)config.php, or an included recipe, directly calls the functions CondAuth(), or RetrieveAuthPage(), PageTextVar(), PageVar() and possibly others, before defining all passwords and before including AuthUser (if required). %0a%0aThe [[PmWiki/LocalCustomizations#configphp-order|order of config.php]] is very significant.%0a%0a[[#CrashWhenEditing]]%0aQ: When editing an existing page, The "Save" causes a no-response of your server (not a blank page, no response at all, an endless connexion try). To get back the hand, it is necessary to request for another page (by clicking on its link in the menu for instance). And horror!, the ...?action=edit is then inhibited, it becomes impossible to edit any page.%0aA: When the editing of a page is initiated a file names [@.flock@] is created in the [@wiki.d@] repository. As long as this file exists it is impossible to edit any page. This file denotes an edition in progress and is automatically destroyed when leaving successfully an edit action by "Save". In case of a crash of the editing, this file is not destroyed. The remedy is, with an FTP client parameterized to show hidden files, to remove the [@.flock@] file. And all get back OK. This behavior is typically caused by a bug which provokes (directly or indirectly), an endless loop in a recipe concerned by the edited page.%0a%0aQ: I get the error "Data Mismatch - Locking FAILED!"%0aA: This is probably not a PmWiki error. PmWiki cannot create a lock file due to an underlying file system problem.%0aFor example the disk quota has been exceeded (e.g. by an error log file or file uploads), or there are problems with file system permissions.%0a +time=1591250673 blob - /dev/null blob + 99e00f5126f769504b2182319034deda79b65a53 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.UTF-8 @@ -0,0 +1,9 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=bttr +charset=UTF-8 +csum=Fix case +name=PmWiki.UTF-8 +rev=34 +targets=PmWiki.Internationalizations,PmWiki.Upgrades,PmWiki.I18nVariables,PmWiki.LayoutVariables,Skins.Amber,PmWiki.LocalCustomizations,Cookbook.UTF-8 +text=Summary: Enabling UTF-8 Unicode language encoding in your wiki. %0a%0aUTF-8 supports all languages and alphabets, including Asian languages and their character depth. It is a widely supported and flexible character encoding. %0a%0aIt's fairly simple to enable UTF-8 on your wiki pages. Current PmWiki versions have the UTF-8 file which is enabled by default in the sample-config.php.%0a%0a!! Enabling UTF-8 on a new wiki%0a%0aIf you start a new wiki in any language with the latest PmWiki version, it is highly recommended to enable UTF-8. In the future, PmWiki will change to use the UTF-8 encoding by default, so if you already use it, you will not need a complex "migration" to UTF-8 later.%0a%0aTo enable UTF-8 for a new wiki, add this line near the beginning of config.php (the docs/sample-config.php file has this line already):%0a%0a include_once("scripts/xlpage-utf-8.php");%0a%0aThis line should come ''before'' a call to the XLPage() function in [[internationalizations|international wikis]].%0a%0aSave your config.php file encoded as UTF-8 (NO BOM). That allows entry of UTF-8 encoded characters in it. Make sure your editor does support this, and test by adding some non-ANSI UTF-8 characters, to see them in the text editor '^[[#notes|1]]^'.%0a%0aWith UTF-8 thus enabled you also got use of classes ''rtl'' and ''ltr'', which offer setting of the text direction to right-to-left, or left-to-right. This is useful for inclusion of right-to-left scripts like Arabic, Farsi (Persian), Hebrew, Urdu and others. %0a%0a!! Enabling UTF-8 on existing wikis%0a%0aCurrently, this is possible ''only if your group and page ''names'', as well as upload names, don't contain international characters''. The names of wiki pages are used as file names, and we don't have yet an easy way to rename the disk files.%0a%0aIf your wiki doesn't have international page/file names, first [[upgrade(s)]] to the latest PmWiki version. To enable UTF-8, add these lines near the beginning of config.php:%0a%0a include_once("scripts/xlpage-utf-8.php");%0a [=$DefaultPageCharset=] = array(''=>'ISO-8859-1'); # see below%0a%0aThese lines should come ''before'' a call to the XLPage() function in [[internationalizations|international wikis]].%0a%0aThe $DefaultPageCharset line is there to fix and correctly handle some pages with missing or wrong attributes, created by older PmWiki versions.%0a%0a* Most wikis in European languages are likely to be in the ISO-8859-1 encoding and should use:\\%0a @@$DefaultPageCharset = array(''=>'ISO-8859-1');@@%0a* Wikis in Czech and Hungarian language are likely to be in the ISO-8859-2 encoding, they should use this line instead:\\%0a @@ $DefaultPageCharset = array(''=>'ISO-8859-2', 'ISO-8859-1'=>'ISO-8859-2'); @@%0a* Wikis in Turkish language are likely to be in the ISO-8859-9 encoding, they should use this line instead:\\%0a @@ $DefaultPageCharset = array(''=>'ISO-8859-9', 'ISO-8859-1'=>'ISO-8859-9'); @@%0a%0a%0aYou should also delete the file @@ wiki.d/.pageindex@@. This file contains a cache of links and words from your pages and is used for searches and pagelists. PmWiki will rebuild it automatically with the new encoding.%0a%0a!!Support for RTL right-to-left languages%0aLanguages like Arabic, Hebrew, Farsi (Persian), Urdu and others are written in script flowing from right to left. Classes ''rtl'' and ''ltr'' can be used to specify direction of text independently of the general text direction within a page, for example: %0a(:markup:)%0a>>rtl%3c%3c%0aيتدفق هذا النص من اليمين إلى اليسار%0a>>ltr%3c%3c%0aThis text flows left to right.%0a>>%3c%3c%0a(:markupend:)%0a%0aTo set text direction for a wiki generally to RTL, you could add to config.php a line like:%0a%0a $HTMLStylesFmt['rtl'] = " body { direction:rtl; }"%0a%0abut the skin you use may need other modifications, for instance to swap the search box and the page actions to the other side etc. %0a%0aSome skins have full support for RTL, see for instance [[Skins:Amber|Amber]]. %0a%0a[[#notes]]%0a!! Notes%0a* You need to save your config.php file in the UTF-8 encoding, and "Without Byte Order Mark (BOM)". See [[LocalCustomizations#encoding|Character encoding of config.php]].%0a%0a* This page concerns the most recent versions of PmWiki. See [[Cookbook:UTF-8]] for tips on older versions.%0a%0a* In the case your PmWiki installation displays wrong encoding, or save an UTF-8 page to an other encoding without explanation, you can double check your custom .htaccess settings at the root of your served pages.%0a %0a +time=1574401061 blob - /dev/null blob + 1d65449c1afba9a933233b9c88b5c7eccc52688c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Upgrades @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=rm manual TOC, mv !!FAQ above the [[#faq]] line which is included in PmWiki/FAQ +name=PmWiki.Upgrades +post= Save +rev=96 +targets=PmWiki.PmWiki,PmWiki.UpgradingFromPmWiki1,PmWiki.ReleaseNotes,PmWiki.BackupAndRestore,PmWiki.Download,PmWiki.SiteAnalyzer,PmWiki.LocalCustomizations,PmWiki.Troubleshooting,Site.Site,SiteAdmin.SiteAdmin,PmWiki.BasicVariables,PmWiki.WikiWords,PmWiki.EditVariables,PmWiki.Links,PmWiki.PageLists,PmWiki.SkinTemplates,PmWiki.AuthUser,PmWiki.Upgrades,PmWiki.ChangeLog,PmWiki.PageVariables,Site.PageActions,Site.EditForm,Site.PageNotFound,PmWiki.LayoutVariables,PmWiki.Version +text=(:Summary:How to upgrade an existing PmWiki installation:)%0a[[PmWiki]] is designed to make it easy to upgrade the PmWiki software without affecting your existing data files or installation. For most upgrades, you simply copy the files in the new release over your existing installation.%0a%0a%25block bgcolor=#f7f7f7 color=black border='1px solid black' padding=5px%25 '''Note for PmWiki 1.0 sites:''' Upgrading from 1.0.x to 2.0 requires more than simply copying the 2.0 software over the 1.0 installation. See [[(PmWiki:)Upgrading From PmWiki 1]] for more details.%0a%0a[[#gen]]%0a!! Generic instructions %0a%0a!!! 1. Read the release notes%0aPlease read carefully the [[(PmWiki:)ReleaseNotes]] before performing an upgrade, about the changes between your previous version and the new one. See if there are any significant changes or preparation tasks that must be handled before performing the upgrade.%0a%0a!!! 2. Backup%0aIt's ''always'' a good idea to have a [[(PmWiki:)backup( and Restore)]] copy of your existing PmWiki installation before starting. You can copy the entire directory containing your existing installation, or you can just make copies of the ''wiki.d/'' directory and any other local customization files you may have created (e.g., ''config.php'', ''localmap.txt'', etc.).%0a%0a!!! 3. Download and extract%0aDownload the version of PmWiki that you want from the [[(PmWiki:)download]] page.%0a%0aExtract the tar image using @@tar -xvzf ''tgzfile''@@, where ''tgzfile'' is the tar file you downloaded above. This will create a @@pmwiki-x.y.z@@ directory with the new version of the software.%0a%0a!!! 4. Copy%0aCopy the files in @@pmwiki-x.y.z@@ over the files of your existing PmWiki installation. For example, if your existing PmWiki installation is in a directory called ''pmwiki'', then one way to copy the new files over the existing ones is to enter the command:%0a%0a->@@cp -a pmwiki-x.y.z/. pmwiki@@%0a%0aNote that BSD systems will not have the -a option as a command-line argument for ''cp'', but that's okay, since it's just shorthand for ''cp -dpR'', so use that instead of ''-a''.%0a%0aSome environments have an alias established for ''cp'' that enable interactive prompts before overwriting a file. To work around this specify the absolute path to ''cp'', such as ''/bin/cp''.%0a%0aOn (some) [=FreeBSD=] servers and Mac OS X systems you need to use %0a%0a->@@cp -Rpv pmwiki-x.y.z/. pmwiki@@%0a%0a!!! 5. Update customisations and recipes%0aThat's it! Your base PmWiki installation is complete.%0a%0aNow use the [[PmWiki:Site Analyzer]] to determine which recipes could be updated to the most recent version.%0a%0aUnless you have made customizations to the ''pmwiki.php'' script or to the files in ''scripts/'', your PmWiki installation should continue to run correctly! (Changes to these files are {+not+} recommended).%0a%0a([[Local customizations]] should go in ''local/config.php'', ''pub/css'', and ''pub/skins/''yourskinname)%0a%0a'''Note''': Additional tips can be found on the [[PmWiki:Troubleshooting]] page.%0a%0a%0a[[#v21v22]]%0a!! Upgrading from version 2.1.27 to 2.2.0%0a%0aBetween the stable versions 2.1.27 and 2.2.0 there are a number of additions. Some of them may need changes to local config files or to wiki pages, and they are outlined here. For the full list of changes see [[ReleaseNotes#v220|the release notes]].%0a%0aIf you are upgrading from a 2.2.beta version, your wiki may already include these features.%0a%0a* Some pages that were formerly in the [[Site]].* group are now in a separate read-protected [[SiteAdmin]].* group: Site.AuthUser, Site.AuthList, Site.NotifyList, Site.Blocklist, and Site.ApprovedUrls. If upgrading from an earlier version, PmWiki will prompt to automatically copy these pages to their new location if needed. If a site wishes to continue using the old Site.* group for these pages, simply set to config.php @@$SiteAdminGroup = $SiteGroup;@@%0a%0a* To authorize reading or editing in protected areas, the former password @@"nopass"@@ should now be written as @@"@nopass"@@.%0a%0a* [[WikiWords]] are now disabled by default. To re-enable them, set either $LinkWikiWords or $EnableWikiWords to 1.%0a%0a* The $ROSPatterns variable has changed -- replacement strings are no longer passed through FmtPageName() i.e., it must now be done explicitly.%0a%0a* [[Links|Page links]] inside included pages, sidebars, headers or footers are now treated as relative to the page where they are written, instead of the page where they appear. For example, in Site.SideBar, always set the group in a wikilink like [@[[Main/HomePage]]@] or with a page variable [@[[{*$Group}/HomePage]]@], because a link [@[[HomePage]]@] will point to a page Site.HomePage.%0a%0a* [[PageLists]]%0a** Spaces no longer separate wildcard patterns -- use commas. %0a** [@{$PageCount}, {$GroupCount}, {$GroupPageCount}@] variables used in pagelist templates are now [@{$$PageCount}, {$$GroupCount}, {$$GroupPageCount}@].%0a** The directive no longer accepts parameters from urls by default. In order to have it accept such parameters (which was the default in 2.1 and earlier), add a [@request=1@] option to the [@(:pagelist:)@] directive.%0a%0a* [[Skin templates]] are now required to have %3c!--HTMLHeader--> and %3c!--HTMLFooter--> directives. %0a%0a* Authentication using Active Directory is now simplified, see [[PmWiki.AuthUser]].%0a%0a%0a[[#v220]]%0a!! Upgrading from version 2.2.0 to the latest version%0a%25commentout-pmwikiorg%25 ''Note: this page may have a more recent version, see PmWiki:Upgrades.''%0a%0aSome additions since version 2.2.0 may need changes to local config files or to wiki pages, and they are outlined here. For the full list of changes see [[ReleaseNotes|release notes]] and [[change log]].%0a%0a* Version 2.2.10: $EnableRelativePageVars was changed to enabled by default, and it affects [[PageVariables]] from included pages, sidebars, headers and footers.%0a** The form [@{*$var}@] refers to "the currently browsed page" while [@{$var}@] without an asterisk refers to "the physical page where the PageVar is written".%0a** %25red%25 Pages that are designed to work on "the currently browsed page" should switch to using [@{*$FullName}@] instead of [@{$FullName}@]. %25%25 Administrators should especially check any customized versions of [[Site.PageActions]], [[Site.EditForm]], [[Site.PageNotFound]], SideBar pages, $GroupHeaderFmt, $GroupFooterFmt, [[Page lists]] in sidebars, headers, and footers. See [[Page variables#specialreferences|Special references]].%0a** If your wiki heavily relies on the previous behavior, you can revert to it, see $EnableRelativePageVars.%0a%0a* Version 2.2.35: Important change for international wikis: the XLPage() function no longer loads encoding scripts such as xlpage-utf-8.php. When you upgrade, you need to include those scripts from config.php, before the call to XLPage(): [@%0a include_once("scripts/xlpage-utf-8.php"); # if your wiki uses UTF-8%0a XLPage('bg','PmWikiBg.XLPage');%0a@]%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How can I determine what version of PmWiki I'm running now?%0aA: See [[version]] - {Version$:Summary}.%0a%0aQ: How can I test a new version of PmWiki on my wiki without changing the prior version used by visitors?%0aA: The easy way to do this is to install the new version in a separate%0adirectory, and for the new version set (in local/config.php):%0a[@%0a%0a $WikiLibDirs = array(&$WikiDir,%0a new PageStore('/path/to/existing/wiki.d/{$FullName}'),%0a new PageStore('wikilib.d/{$FullName}'));%0a%0a@]%0aThis lets you test the new version using existing page content%0awithout impacting the existing site or risking modification of%0athe pages. (Of course, any recipes or local customizations have to%0abe installed in the new version as well.) %0a%0aThen, once you're comfortable that the new version seems to work%0aas well as the old, it's safe to upgrade the old version (and one%0aknows of any configuration or page changes that need to be made).%0a +time=1567166317 blob - /dev/null blob + dfab8823bf657dfd219370027458403ca049f8ee (mode 644) --- /dev/null +++ wikilib.d/PmWiki.UpgradingFromPmWiki1 @@ -0,0 +1,9 @@ +version=pmwiki-2.2.40 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=add summary +name=PmWiki.UpgradingFromPmWiki1 +rev=38 +targets=PmWiki.WikiAdministrator,PmWiki.Upgrades,PmWiki.MailingLists,PITS.PITS,PmWiki.Installation,Cookbook.Cookbook,PmWiki.InitialSetupTasks,PmWiki.LocalCustomizations,PmWiki.CustomMarkup,PmWiki.WikiWord,PITS.NewIssue +text=(: Summary: Version 1 to version 2 upgrade suggestions:)%0aThis page gives suggestions for upgrading an existing PmWiki 1.x installation to use PmWiki 2.0. In this page we assume that a site [[(wiki) administrator]] already has a site running using PmWiki version 1.x or earlier in a somewhat standard configuration, and wants to upgrade to the 2.0 software.%0a%0a->'''Important note:''' The normal PmWiki [[upgrade(s)]] procedure (i.e., copy the new software over the existing one) won't work for moving from 1.x to 2.0. Either start over with a new installation, or use some of the conversion scenarios listed below.%0a%0aAs always, questions and requests for assistance can be posed to [[Mailing lists | pmwiki-users]]. Errors or problems with the methods below can be corrected here, or posted to the [[PITS:PITS |PmWiki Issue Tracking System]].%0a%0a!!!Conversion%0a%0aBecause of the substantial redesign of PmWiki for 2.0, converting an existing site to 2.0 is likely to cause a [[wiki administrator]] a fair amount of apprehension. The approach given here allows the administrator to install, configure, and test PmWiki 2.0 on an existing set of pages without risking an existing 1.x installation.%0a%0a->It shall be noted that the compatibility script being used by this method was removed in PmWiki 2.2.0beta43. You need to install PmWiki 2.2.0beta42 to carry out the migration procedure, and '''then''' upgrade to the latest pmwiki version.%0a%0a'''Step 0:''' It's always a very good idea to back up your existing PmWiki 1.x installation before doing anything else -- especially save the files in the ''local/'' and ''wiki.d/'' directories.%0a%0a'''Step 1:''' [[Install(ation)]] PmWiki 2.0 into a new directory away from the existing 1.x installation.%0a%0a'''Step 2:''' Briefly test the PmWiki 2.0 installation and make sure it is working properly -- i.e., edit and save a couple of pages. Then, remove the pages you created (you can just remove the files from PmWiki 2.0's ''wiki.d/'' directory, or remove the ''wiki.d/'' directory altogether).%0a%0a'''Step 3:''' Add the following lines to the ''local/config.php'' file in the 2.0 installation, replacing "[@/path/to/pmwiki1/wiki.d@]" below with the location of your PmWiki 1.x installation's ''wiki.d/'' directory on disk.%0a [=%0a include_once("$FarmD/scripts/compat1x.php");%0a UseV1WikiD("/path/to/pmwiki1/wiki.d");%0a =]%0aFor example, my 2.0 test conversion uses:%0a [=%0a include_once("$FarmD/scripts/compat1x.php");%0a UseV1WikiD("/home/pmichaud/pmwiki/wiki.d");%0a =]%0a'''Step 4:''' After making the above change, all of your existing pages should appear in the new 2.0 installation. Furthermore, if you "edit page" on any of the existing pages, you should see that any PmWiki 1.x markups (links, etc.) have been converted to the new markup syntax.%0a%0aAny pages edited/saved by the 2.0 wiki installation are kept separate from the pages in the previous installation. Thus you can safely experiment with editing and changing pages in the new site without affecting the existing 1.x site. %0a%0a'''Step 5:''' Once you see that your existing pages are available in the 2.0 installation, you can then begin going through the remaining [[initial setup tasks]] for the 2.0 site to enable any [[local customizations]] you may want for your site. Many local customizations (e.g. page layout templates) remain the same between 1.x and 2.0, others such as [[custom markup]] or [[Cookbook:Cookbook |cookbook recipes]] need to be converted to 2.0 as well. %0a%0a'''Note:''' [[WikiWord]] links are disabled by default since Pmwiki version 2.1 beta2. So you may either enable WikiWord links by setting [@$LinkWikiWords = 1;@] in config.php, or convert your existing WikiWord links manually to bracketed links. To find those WikiWord links easier you can highlight them by setting in config.php%0a%0a [=$HTMLStylesFmt['wikiword'] = "%0a span.wikiword { background:yellow; }%0a ";=] %0a%0a'''Step 6:''' Continue configuring the new installation just as if you were setting up a new PmWiki site. If you find PmWiki 1.x markups that aren't converted or convert incorrectly, be sure to enter a [[PITS:NewIssue |new PITS issue]] so that we can improve the conversion script.%0a%0a'''Step 7:''' If you're comfortable with the conversion and want to go ahead and convert all of the 1.x pages into 2.0 format, change the [@UseV1WikiD(...)@] call in ''local/config.php'' above to [@ConvertV1WikiD(...)@] instead, as in:%0a [=%0a include_once("$FarmD/scripts/compat1x.php");%0a ConvertV1WikiD("/path/to/pmwiki1/wiki.d");%0a =]%0aRunning the pmwiki.php script will then bring up some forms to allow you to bulk migrate some or all of your 1.x pages to 2.0 format. After you've converted pages, you can then just eliminate these two lines from the configuration and your PmWiki 2.0 site will be running standalone.%0a%0aIf you have local customisations that require you to specify $Compat1x['/match/'] = 'replace'; entries so they are correctly converted, make sure these are defined ''before'' the call to ConvertV1WikiD.%0a%0aNote that there's nothing that requires you to convert all of the pages or get rid of the 1.x ''wiki.d/'' directory -- PmWiki works just fine with it in place. And it's good to have a backup.%0a%0a'''Step 8:''' Once you're comfortable that the PmWiki 2.0 site will meet your needs, you can then discontinue the 1.x site and just start using the 2.0 site. Or, if you decide that 2.0 isn't for you, then the 1.x site is still intact and can continue to be used.%0a%0a'''Step 9:''' If your previous site had an ''uploads/'' directory, you'll probably want to copy it or move it into the new location.%0a%0a----%0aExternal link%0a* [[ http://miscellaneous-sonstiges.blogspot.com/2011/01/pmwiki-migration-from-0423-to-221-howto.html | Fix Links in wiki pages from version 0.4.23 to 2.2.1 with UEDIT]] +time=1343865148 blob - /dev/null blob + 0c2366122f3cb6ed97860a2cd385092c41339b55 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.UploadVariables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.117 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=It is only possible to enable characters that exist in the code page (charater set) of the wiki. +name=PmWiki.UploadVariables +rev=86 +targets=PmWiki.Uploads,PmWiki.UploadsAdmin,PmWiki.UploadVariables,Cookbook.Attachtable,PmWiki.PathVariables,PmWiki.LinkVariables,PmWiki.AvailableActions,PmWiki.BasicVariables +text=(:Summary:Variables used for uploads/attachments:)%0a%0aSee also: [[Uploads]], [[Uploads admin]].%0a%0a:$EnableUpload:The upload.php script is automatically included from stdconfig.php if the $EnableUpload variable is true in config.php. Note that one may still need to set an upload password before users can upload (see [[UploadsAdmin]]).%0a%0a:$UploadBlacklist:This array contains forbidden strings for an uploaded file (case insensitive). Some installations with the Apache server will try to execute a file which name contains ".php", ".pl" or ".cgi" even if it is not the last part of the filename. For example, a file named "test.php.txt" may be executed. To disallow such files to be uploaded, add to config.php such a line:%0a: : [@ $UploadBlacklist = array('.php', '.pl', '.cgi', '.py'); # disallow common script files@]%0a%0a:$UploadPermAdd:This variable sets additional unix permissions applied to newly uploaded files, and should be 0 (recommended as of 2013). If uploaded files cannot be downloaded and displayed on the website, for example with the error 403 Forbidden, set this value to 0444 (core setting, default since 2004).%0a: : [@$UploadPermAdd = 0; # recommended@]%0a%0a:$UploadPermSet:This variable sets unix permissions unconditionally applied to newly uploaded files, for example @@0604@@. %25note%25 '''Danger!''' Do not use this variable unless you know what you're doing! %25%25 If you make a mistake, uploaded files may be impossible to edit or delete via the FTP/SSH account (in that case, Cookbook:Attachtable may be used) or to be downloaded and displayed on the website. Note that file permissions may differ on different systems - if you copy or move your PmWiki installation, you may have to change it.%0a%0a:$UploadDir:The directory where uploads are to be stored. Defaults to ''uploads/'' in the pmwiki directory, but can be set to any location on the server. This directory must be writable by the webserver process if uploading is to occur.%0a%0a:$UploadUrlFmt:The url of the directory given by $UploadDir. By default, $UploadUrlFmt is derived from $PubDirUrl and $UploadDir.%0a%0a[[#IMapLinkFmtAttach]]%0a:$IMapLinkFmt[=['Attach:']=]: The format of the upload link displayed when an attachment exists. Can be changed with such a line in config.php:[@%0a$IMapLinkFmt['Attach:'] = "%3ca class='attachlink' href='\$LinkUrl'>\$LinkText%3c/a>";@]%0a %0a:$LinkUploadCreateFmt: The format of the upload link displayed when an attachment not present. Can be changed with such a line in config.php:[@%0a$LinkUploadCreateFmt = "%3ca class='createlinktext' href='\$LinkUpload'>\$LinkText%3c/a>%0a%3ca class='createlink' href='\$LinkUpload'> Δ%3c/a>";@]%0a%0a:$UploadPrefixFmt:Sets the prefix for uploaded files to allow attachments to be organized other than by groups. Defaults to [@'/$Group'@] (uploads are organized per-group), but can be set to other values for sitewide or per-page attachments.%0a $UploadPrefixFmt = '/$Group/$Name'; # per-page attachments%0a $UploadPrefixFmt = ''; # sitewide attachments%0a%0a: : It is recommended to have the $UploadPrefixFmt variable defined in config.php, the same for all pages in the wiki, and not in group/page local configuration files. Otherwise you ''will'' be unable to link to attachments in other wikigroups.%25%25%0a%0a:$EnableDirectDownload:When set to 1 (the default), links to attachments bypass PmWiki and come directly from the webserver. Setting $EnableDirectDownload=0; causes requests for attachments to be obtained via [[PmWiki/AvailableActions#download|[@?action=download@]]]. This allows PmWiki to protect attachments using a page's read permissions, but also increases the load on the server. Don't forget to protect your directory /uploads/ with a .htaccess file (Order Deny,Allow / Deny from all).%0a%0a:$EnableUploadGroupAuth:Set @@$EnableUploadGroupAuth = 1;@@ to authenticate downloads with the group password. This could be used together with @@$EnableDirectDownload = 0;@@. %25note%25 Note: $EnableUploadGroupAuth should not be enabled if your wiki uses per-page attachments.%25%25%0a%0a:$EnableUploadVersions:When set to 1 (default is 0), uploading a file to a location where a file of the same name already exists causes the old version to be renamed to @@file.ext,timestamp@@ (instead of being overwritten). @@timestamp@@ is a Unix-style timestamp.%0a%0a:$EnableUploadOverwrite:When set to 1 (the default), determines if overwriting previously uploaded files is allowed.%0a%0a:$UploadNameChars:The set of characters allowed in upload names. Defaults to [@"-\w. "@], which means alphanumerics, hyphens, underscores, dots, and spaces can be used in upload names, and everything else will be stripped. It is only possible to enable characters that exist in the code page (charater set) of the wiki, see [[Wikipedia:Code page]].%0a: :$UploadNameChars = "-\\w."; # allow dash, letters, digits, underscore, and dots (no spaces)%0a: :$UploadNameChars = "-\\w. \\x80-\\xff"; # allow Unicode%0a: : Note: Not all characters can be used in file names, because of various limitations in protocols or operating systems, file systems and server software, or conflict with PmWiki markup:%0a** [@ +?:@#%25!=/ @] have special meanings in URL addresses, %0a** [@ |\^`[]?:@#%25/ @] may be impossible to save on some systems,%0a** [@ %3c>"|\^`(){}[]#%25 @] may conflict with PmWiki markups,%0a: : so it is strongly recommended to only enable those if you know what you're doing.%0a%0a:$MakeUploadNamePatterns: An array of regular expression replacements that is used to normalize the filename of an attached file. First, everything but $UploadNameChars will be stripped, then the file extension will be converted to lowercase. Administrators can override these replacements with a custom definition (the full array needs to be defined). Currently the default sequence is: [@%0a $MakeUploadNamePatterns = array(%0a "/[^$UploadNameChars]/" => '', # strip all not-allowed characters%0a '/\\.[^.]*$/' => 'cb_tolower', # convert extension to lowercase (callback function)%0a '/^[^[:alnum:]_]+/' => '', # strip initial spaces, dashes, dots%0a '/[^[:alnum:]_]+$/' => '')) # strip trailing spaces, dashes, dots%0a@]%0a%0a:$UploadDirQuota:Overall size limit for all uploads.%0a%0a->[@%0a $UploadDirQuota = 100*1024; # limit uploads to 100KiB%0a $UploadDirQuota = 1000*1024; # limit uploads to 1000KiB%0a $UploadDirQuota = 1024*1024; # limit uploads to 1MiB%0a $UploadDirQuota = 25*1024*1024; # limit uploads to 25MiB%0a $UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB%0a@]%0a%0a:$UploadPrefixQuota:Overall size limit for one directory containing uploads. This directory is usually @@uploads/GroupName@@ (one for every WikiGroup), or @@uploads/Group/PageName@@ (one for every page), depending on the variable $UploadPrefixFmt.%0a%0a:$UploadMaxSize:Maximum size for uploading files, 50000 octets (bytes) by default.%0a%0a:$UploadExtSize:Maximum size per extension, overriding the default in $UploadMaxSize.%0a%0a->[@%0a $UploadExtSize['zip'] = 2*1024*1024; # allow up to 2MiB for zip files%0a@]%0a%0a:$UploadRedirectFunction:The function to be called after a file was posted. By default the "Redirect" function is called with arguments $pagename and the URL of the ?action=upload page (with additional information if the upload was successful or why it wasn't, and if the file was renamed). An add-on may define its own function, for example an AJAX upload may only return some variable back to the browser.%0a +time=1564393703 blob - /dev/null blob + 29570da53217148a412c70304d909fc3589a744a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Uploads @@ -0,0 +1,9 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=See [[PmWiki/Images]] for the files PmWiki automatically displays as images. (+82) +name=PmWiki.Uploads +rev=136 +targets=PmWiki.PmWiki,PmWiki.Images,PmWiki.UploadsAdmin,PmWiki.WikiGroup,PmWiki.UploadVariables,PmWiki.PageDirectives,PmWiki.WikiAdministrator,PmWiki.Passwords,PmWiki.PasswordsAdmin,Cookbook.Attachtable,Cookbook.AttachLinks,Site.PageActions,PmWiki.AvailableActions,Cookbook.UploadTypes,Cookbook.PreventHotlinking,Cookbook.LinkIcons +text=(:Summary:Allow authors to upload files, also known as page attachments:)%0a(:Audience: authors (intermediate) :)%0a[[PmWiki]] can be configured to allow authors to upload and store files and [[images]] (known as attaching them).%0aThese attachments may then be referenced from any page. %0a%0a-> ''Note'': ''[[PmWiki]] is distributed with uploads disabled by default. See [[Uploads Admin]] for information about how to enable and configure the upload feature.''%0a%0a-> ''Note2'': ''Uploads can be configured site-wide, by-group, or by-page; see [[Uploads Admin]] for details. This determines whether all uploads go in one directory for the site, an individual directory for each group, or an individual directory for each page. The default is to organize uploads by [[WikiGroup | group]].''%0a%0a!! [@Attach:@] syntax%0aTo add or link to an attachment, an author edits a page to include the markup "@@Attach:@@" followed by a name of an attachment (e.g., "@@[=Attach:resume.pdf=]@@"). When the page is displayed, the @@Attach:@@ markup becomes one of the following:%0a%0a* A link to the named attachment (if uploaded, ie already in the upload directory)%0a* A link to a form whereby the author can specify a file to be uploaded and used as the new attachment (if not yet uploaded, ie not in the upload directory)%0a* If the attachment is an [[image(s)]] file with an extension such as .gif, .jpeg, or .png, it is displayed as an [[image(s)]].%0a%0aThe behaviour of links can be modified to%0a* prevent an image attachment from displaying as an image, place it in double brackets (e.g., [@[[Attach:image.jpg]]@]).%0a* have a link to an attachment appear without the "[@Attach:@]" at the beginning of the link, use [@[[(Attach:)file.ext]]@].%0a* display a tool tip on mouse over (e.g., [@[[Attach:image.jpg"mouse over tool tip"]]@]).%0a%0a!! Attachments on other pages and groups%0aTo link to an uploaded attachment (image or file) from another group, you simply refer the group itself (make sure "Groupname" has the dot in it).%0a->[@Attach:Groupname./file_name.ext@] (note the dot after the groupname)%0aIf PmWiki is configured with an individual directory per page use%0a->[@Attach:Pagename/file_name.ext@] (Pagename is in the same WikiGroup)%0a->[@Attach:Groupname.Pagename/file_name.ext@]%0a%0a!! Names with spaces%0aTo link to a filename with spaces in it use the bracket link notation, eg%0a->[@[[Attach:a filename with spaces.txt]]@]%0a%0a"Embedding in the page" an image with spaces is not supported: just upload the images with names without spaces, and use the markup [@Attach:image.jpg@].%0a%0aThe following workaround is possible, but is unsupported and not recommended:%0a->[@[[#blank | Attach:image space.jpeg]]@]%0a%0a!! International characters in file names%0aSee [[UploadsAdmin]] and $UploadNameChars.%0a%0a!! Listing uploaded files on a page%0aTo list files that have been uploaded, use the markup:%0a[[PmWiki/PageDirectives#attachlist | [@(:attachlist:)@] ]]%0a%0aThis will list attachments to the current group or page, depending whether attachments are organised per group or per page; each instance includes a link to the attachment for viewing or downloading. A list of attachments is also shown as part of the uploads page form.%0a%0a!! Upload form / upload replacement%0aOne can go directly to the upload form by appending "?action=upload" to the URI for any page that has file uploads enabled by the [[Wiki Administrator]]. Replace a file by simply uploading a new version of the file with the same name. %0a* Be sure to clear your browser cache after replacing an upload. Otherwise, it may appear that the original upload is still on the server. %0aIf you put @@$EnableUploadVersions=1;@@ in your @@local/config.php@@, the old versions of the same files are renamed and not removed.%0a%0a[[#filetype]]%0a!! Type and size restrictions%0aFor security reasons, the upload feature is disabled when PmWiki is first installed.%0aWhen enabled uploads are restricted as to the types and sizes of files that may be uploaded to the server (see [[Uploads Admin]]). PmWiki's default configuration limits file sizes to 50 kilobytes and file extensions to common types such as ".gif", ".jpeg", ".doc", ".txt", and ".pdf". %0a%0aIn addition, the administrator can configure the system to require an @@upload@@ password--see [[Passwords]] and [[Passwords Admin]].%0a%0aBy default the upload allows the following extensions. Note that by default, it is possible to upload files with no extensions.%0a[[#imagetypes]] %0a gif, jpg, jpeg, png, bmp, ico, wbmp, svg, svgz, xcf, webp # image files%0aSee [[PmWiki/Images]] for the files PmWiki automatically displays as images.%0a[[#imagetypesend]]%0a mp3, au, wav, ogg, flac, opus, # audio%0a ogv, mp4, webm, mpg, mpeg, wmf, mov, qt, avi, mkv, # video%0a zip, 7z, gz, tgz, rpm, hqx, sit, # archives%0a odt, ods, odp, odg, doc, docx, ppt, pptx, xls, mdb, rtf, # Office%0a exe, # executables%0a pdf, psd, ps, ai, eps, # Adobe%0a htm, html, css, fla, swf, # web stuff%0a txt, tex, dvi, # text files%0a epub, kml, kmz, (files with no extension) # misc%0a%0a!!Removal%0aAt present uploaded files can only be deleted from the server by the [[wiki administrator]]. Any uploads-authorized user may over-write an existing file by uploading another of the same name and extension to the same location.%0a%0aThe administrator may remove an uploaded file by accessing the server via ftp (or via a control panel, if the host offers such a feature). The recipe Cookbook:Attachtable allows the deletion of the files from the wiki.%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: When I upload a file, how do I make the link look like "file.doc" instead of "Attach:file.doc"?%0aA: Use parentheses, as in [@[[(Attach:)file.doc]]@]. There is also a configuration change that can eliminate the [@Attach:@] -- see [[Cookbook:AttachLinks]].%0a%0aQ: Why can't I upload files of size more than 50kB to my newly installed PmWiki?%0aA: Out of the box PmWiki limits the size of files to be uploaded to 50kB. Add%0a->@@$UploadMaxSize = 1000000; # limit upload file size to 1 megabyte@@%0a->to your ''config.php'' to increase limit to 1MB (for example). See [[UploadsAdmin]] for how to further customize limits. Note that both PHP and webservers also place their own limits on the size of uploaded files.%0a%0aQ: Why does my upload exit unexpectedly with "Incomplete file received"?%0aA: You may be running out of space in a 'scratch' area, used either by PmWiki or by PHP. On *nix, check that you have sufficient free space in /tmp and /var/tmp.%0a%0aQ: How do I make it so that the upload link still allows one to make another upload (if someone wants to replace the old version of a file with a newer version, for example). Currently you only get the upload link when there is no file in the upload directory.%0aA: Use the Attach [[Site/page action(s)]], and click on the delta symbol %25blue%25(Δ)%25%25 shown against each of files listed. If you can't see the attach action either uploads are not enabled, you are not authorized to upload, or the attach action has been commented out or is missing. See also [[PmWiki/available actions]].%0a%0aQ: How do I hide the "[=Attach:=]" for all attachments%0aA: See Cookbook:AttachLinks, note that this does not currently work for [@ [[Attach:my file.ext]] @].%0a%0aQ: How can I link a file that have a 4-letter file extension such like 'abc.pptx'?%0aA: See [[Cookbook:Upload Types]]%0a%0aQ: How can I prevent others from using the url's of my images on their site%0aA: See [[Cookbook:Prevent Hotlinking]] {Cookbook.PreventHotlinking$:Summary}%0a%0aQ: How can I display a file that lacks a correct extension? [-(e.g. you are using Cookbook:LinkIcons)-]%0aA: A file can be displayed by addition of a "false" extension to the URL. For example, if the url is @@http://example.com/dox/mydoc@@, add a fake query string on the end with the desired extension (e.g., @@http://example.com/dox/mydoc?format=.docx@@). If query strings are unsuitable, a fragment identifier should work, e.g. @@http://example.com/dox/mydoc#.docx@@.%0a%0a +time=1590308334 blob - /dev/null blob + 55962e4334ebf21c0f51251f641cd2ef9c3ee77b (mode 644) --- /dev/null +++ wikilib.d/PmWiki.UploadsAdmin @@ -0,0 +1,10 @@ +version=pmwiki-2.2.127 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=move customization to talk page (-819) +name=PmWiki.UploadsAdmin +rev=174 +targets=PmWiki.PmWiki,PmWiki.Uploads,PmWiki.Security,PmWiki.WikiAdministrator,PmWiki.PasswordsAdmin,PmWiki.UploadVariables,PmWiki.SecurityVariables,PmWiki.Passwords,Cookbook.UploadGroups,PmWiki.GroupCustomizations,PmWiki.LocalCustomizations,Cookbook.UploadTypes,Cookbook.SecureAttachments,PmWiki.DebugVariables,PmWiki.WikiGroup,PmWiki.PageDirectives +text=(:title Uploads Administration:)%0a(:Summary:Administration of PmWiki [[uploads]]:)%0a[[PmWiki]] includes a script called ''upload.php'' that allows users to [[upload(s)]] files to the wiki server using a web browser. Uploaded files (also called ''attachments'') can then be easily accessed using markup within wiki pages. This page describes how to install and configure the upload feature.%0a%0a%0a!! Some notes about [[security]] [[#security]]%0a%0aPmWiki takes a somewhat, but justifiable, paranoid stance%0awhen it comes to the uploads feature. Thus, the default settings for%0auploads tend to try to restrict the feature as much as possible:%0a%0a* The upload function is disabled by default%0a* Even if you enable it, the function is password locked by default%0a* Even if you remove the password, you're restricted to uploading files with certain names, extensions, and sizes%0a* The characters that may appear in upload filenames are (default) alphanumerics, hyphen, underscore, dot, and space ([[#restrictinguploadedfiles|see also here]]).%0a* The maximum upload size is small (50K by default)%0a%0aThis way the potential damage is limited until/unless the wiki%0aadministrator explicitly relaxes the restrictions.%0a%0aKeep in mind that letting users (anonymously!) upload files to your web server does entail some amount of risk. The ''upload.php'' script has been designed to reduce the hazards, but [[wiki administrator]]s should be aware that the potential for vulnerabilities exist, and that misconfiguration of the upload utility could lead to unwanted consequences.%0a%0aBy default, authorized users are able to overwrite files that have already been uploaded, without the possibility of restoring the previous version of the file. If you want to disallow users from being able to overwrite files that have already been uploaded, add the following line to ''config.php'':%0a%0a->%25hlt php%25[@$EnableUploadOverwrite = 0;@]%0a%0aAlternatively, an administrator can [[#upload_versions|keep older versions]] of uploads.%0a%0aAn administrator can also [[#direct_download|configure]] PmWiki so the password mechanism controls access to uploaded files.%0a%0a%0a!! Basic installation%0a%0aThe ''upload.php'' script is automatically included from ''stdconfig.php'' if the $EnableUpload variable is true in ''config.php''. In addition, ''config.php'' can set the $UploadDir and $UploadUrlFmt variables to specify the local directory where uploaded files should be stored, and the URL that can be used to access that directory. By default, $UploadDir and $UploadUrlFmt assume that uploads will be stored in a directory called ''uploads/'' within the current directory (usually the one containing ''pmwiki.php''). In addition, ''config.php'' should also set a default upload password (see [[PasswordsAdmin]]).%0a%0aThus, a basic ''config.php'' for uploads might look like:%0a%0a->%25hlt php%25[@%0a%3c?php if (!defined('PmWiki')) exit();%0a## Enable uploads and set a site-wide default upload password.%0a$EnableUpload = 1;%0a$UploadPermAdd = 0;%0a$DefaultPasswords['upload'] = pmcrypt('secret');%0a@]%0a%0aIf you have edit passwords and wish to allow all users with edit rights to upload, instead of $DefaultPasswords['upload'], you can set @@$HandleAuth['upload'] = 'edit';@@ in config.php.%0a%0a'''Important''': do NOT create the uploads directory yet! See the next paragraph.%0a%0aYou may also need to explicitly set which filesystem directory will hold uploads and provide a URL that corresponds to that directory like:%0a%0a->%25hlt php%25[@%0a$UploadDir = "/home/foobar/public_html/uploads";%0a$UploadUrlFmt = "http://example.com/~foobar/uploads";%0a@]%0a%0a%25red%25 Note: In most installations, you don't need to define or change these variables, usually PmWiki can detect them (and if you do, uploads may simply not work).%0a%0a[[#uploaddirectoryconfiguration]]%0a!!! Upload directory configuration [[#dirconf]]%0aUploads can be configured ''site-wide'', ''by-group'' (default), or ''by-page'' by changing $UploadPrefixFmt in @@config.php@@. %0aThis determines whether all uploads go in one directory for the site, an individual directory for each group, or an individual directory for each page. The default is to organize upload by group. %0a%0a''It is recommended that the $UploadPrefixFmt variable defined in config.php is the same for all pages in the wiki, and not different in group or page local configuration files. Otherwise you '''will''' be unable to link to attachments in other wikigroups.''%0a%0a!!!! Single upload directory [[#sitewideprefix]]%0aFor site-wide uploads, use%0a%0a->%25hlt php%25[@$UploadPrefixFmt = '';@]%0a%0a!!!! Per page upload directories [[#pageprefix]]%0aTo organize uploads by page, use:%0a%0a->%25hlt php%25[@$UploadPrefixFmt = '/$Group/$Name';@]%0a%0aYou may prefer uploads attached per-page rather than per-group or per-site if you plan to have many files attached to individual pages. This setting simplifies the management of picture galleries for example. (In a page, you can always link to attachments to other pages.)%0a%0a!!! The upload directory [[#uploaddir]]%0a%0aFor the upload feature to work properly, the directory given by [=$UploadDir=] must be writable by the web server process, and it usually must be in a location that is accessible to the web somewhere (e.g., in a subdirectory of ''public_html''). Executing PmWiki with uploads enabled will prompt you with the set of steps required to create the uploads directory on your server (it differs from one server to the next). ''Note that in that case you may be required to explicitly create writable group- or page-specific subdirectories as well!''%0a%0a%0a!!! Uploading a file [[#uploadfile]]%0a%0aOnce the upload feature is enabled, users can access the upload form by adding "@@?action=upload@@" to the end of a normal PmWiki URL. The user will be prompted for an upload password similar to the way other pages ask for passwords (see [[Passwords]] and [[PasswordsAdmin]] for information about setting passwords on pages, groups, and the entire site).%0a%0aAnother way to access the upload form is to insert the markup "[@Attach:filename.ext@]" into an existing page, where @@filename.ext@@ is the name of a new file to be uploaded. When the page is displayed, a '?-link' will be added to the end of the markup to take the author to the upload page. (See [[Uploads]] for syntax variations.)%0a%0aBy default, PmWiki will organize the uploaded files into separate subdirectories for each group. This can be changed by modifying the $UploadPrefixFmt variable. See [[Cookbook:UploadGroups]] for details.%0a%0a%0a!! [[#upload_versions]] Versioning Uploaded Files%0a%0aPmWiki does not manage versioning of uploaded files by default. However, by setting @@$EnableUploadVersions=1;@@ an administrator can have older versions of uploads preserved in the uploads directory along with the most recent version.%0a%0a!! Upload restrictions%0a!!! Restricting uploaded files for groups and pages%0a%0aUploads can be enabled only for specific groups or pages by using a [[group customization(s)]]. Simply set @@$EnableUpload=1;@@ for those groups or pages where uploading is to be enabled; alternately, set @@$EnableUpload=1;@@ in the config.php file and then set @@$EnableUpload=0;@@ in the per-group or per-page customization files where uploads are to be disabled.%0a%0a!!! Restricting total upload size for a group or the whole wiki%0a%0aUploads can be restricted to an overall size limit for groups. In the group configuration file (i.e., local/Group.php), add the line%0a%0a->%25hlt php%25@@$UploadPrefixQuota = 1000000; # limit group uploads to 1000KB (1MB)@@%25%25%0a%0aThis will limit the total size of uploads for that group to 1000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).%0a%0aUploads can also be restricted to an overall size limit for all uploads. Add the line%0a%0a->%25hlt php%25@@$UploadDirQuota = 10000000; # limit total uploads to 10000KB (10MB)@@%25%25%0a%0aThis will limit the total size of uploads for the whole wiki to 10000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).%0a%0a%0a[[#restrictinguploadedfiles]]%0a!!!Restricting uploaded files type and size%0a%0aThe upload script performs a number of verifications on an uploaded file before storing it in the upload directory. The basic verifications are described below.%0a:'''filenames''': the name for the uploaded file can contain only letters, digits, underscores, hyphens, spaces, and periods, and the name must begin and end with a letter or digit. %0a:'''file extension''': only files with approved extensions such as "@@.gif@@", "@@.jpeg@@", "@@.doc@@", etc. are allowed to be uploaded to the web server. This is vitally important for server security, since the web server might attempt to execute or specially process files with extensions like "@@.php@@", "@@.cgi@@", etc. %0a:'''file size''': By default all uploads are limited to 50K bytes, as specified by the $UploadMaxSize variable. Thus, to limit all uploads to 100KB, simply specify a new value for $UploadMaxSize in ''config.php'':%0a%0a->%25hlt php%25[@$UploadMaxSize = 100000;@]%0a%0aHowever, the default maximum file size can also be specified for each type of file uploaded. Thus, an administrator can restrict "@@.gif@@" and "@@.jpeg@@" files to 20K, "@@.doc@@" files to 200K, and all others to the size given by $UploadMaxSize. The $UploadExtSize array is used to determine which file extensions are valid and the maximum upload size (in bytes) for each file type. For example:%0a%0a->%25hlt php%25[@$UploadExtSize['gif'] = 20000; # limit .gif files to 20KB@]%0a%0a[[#disallow_ext]]%0a!!! Disabling file upload by file type%0aSetting an entry to zero disables file uploads of that type altogether:%0a%0a->%25hlt php%25[@$UploadExtSize['zip'] = 0; # disallow .zip files%0a$UploadExtSize[''] = 0; # disallow files with no extension@]%0a%0aYou can limit which types of files are uploadable by disabling all defaults and specifying only desired types.%0aSetting the variable $UploadMaxSize to zero will disable all default file types. Individual file types may then be enabled by setting their maximum size with the variable $UploadExtSize.%0a%0a-> %25hlt php%25[@# turns off all upload extensions%0a$UploadMaxSize = 0;%0a%0a# enable only these file types for uploading%0a$aSize=100000; // 100 KB file size limitation%0a$UploadExtSize['jpg' ] = $aSize;%0a$UploadExtSize['gif' ] = $aSize;%0a$UploadExtSize['png' ] = $aSize;%0a@]%0a%0a!!! Note: Files with multiple extensions%0a%0aSome installations with the Apache server will try to execute a file which name contains ".php", ".pl" or ".cgi" even if it isn't the last part of the filename. For example, a file named "test.php.txt" may be executed. To disallow such files to be uploaded, add to config.php such a line:%0a%0a-> %25hlt php%25@@$UploadBlacklist = array('.php', '.pl', '.cgi');@@%25%25%0a%0a[[#newuploadfiletypes]]%0a!! Adding new file types to permitted uploads%0a%0aTo add a new extension to the list of allowed upload types, add a line like the following to a [[local customization(s)]] file:%0a%0a->%25hlt php%25[@$UploadExts['ext'] = 'content-type';@]%0a%0awhere ''ext'' is the extension to be added, and ''content-type'' is the "[[(Wikipedia:)MIME type]]", or content-type (which you may find %25newwin%25[[http://www.iana.org/assignments/media-types/ | here]] or on the lower part of %25newwin%25[[http://www.w3schools.com/media/media_mimeref.asp | this page]]) to be used for files with that extension. For example, to add the '[@dxf@]' extension with a Content-Type of '[@image/x-dxf@]', place the line%0a%0a->%25hlt php%25[@$UploadExts['dxf'] = 'image/x-dxf';@]%0a%0aEach entry in $UploadExts needs to be the extension and the%0amime-type associated with that extension, thus:%0a%0a->%25hlt php%25[@%0a$UploadExts = array(%0a 'gif' => 'image/gif',%0a 'jpeg' => 'image/jpeg',%0a 'jpg' => 'image/jpeg',%0a 'png' => 'image/png',%0a 'xxx' => 'yyyy/zzz'%0a);%0a@]%0a%0aFor the types that PmWiki already knows about it's not necessary to repeat them here (the ''upload.php'' script adds PmWiki's defaults to whatever the administrator supplies).%0a[[#newuploadfiletypesend]]%0aSee also Cookbook:UploadTypes for additional types.%0a%0a[[#otherfilesizelimits]]%0a!!Other file size limits%0a%0aThere are other factors involved that affect upload file sizes. In Apache 2.0, there is a [[http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody|LimitRequestBody]] directive that controls the maximum size of anything that is posted (including file uploads). Apache has this defaulted to unlimited size. However, some Linux distributions (e.g., Red Hat Linux) limit postings to 512K so this may need to be changed or increased. (Normally these settings are in an ''httpd.conf'' configuration file or in a file in ''/etc/httpd/conf.d''.)%0a%0aProblem noted on Red Hat 8.0/9.0 with Apache 2.0.x, the error "Requested content-length of 670955 is larger than the configured limit of 524288" was occurring under Apache and a "Page not found" would appear in the browser. Trying the above settings made no change with PHP, but on Red Hat 8.0/9.0 there is an additional PHP config file, /etc/httpd/conf.d/php.conf, and increasing the number on the line "`LimitRequestBody 524288" solves the issue.%0a%0aPHP itself has two limits on file uploads (usually located in @@/etc/php.ini@@). The first is the @@upload_max_filesize@@ parameter, which is set to 2MB by default. The second is @@post_max_size@@, which is set to 6MB by default.%0a%0aWith the variables in place--PmWiki's maximum file size, Apache's request-size limits, and the PHP file size parameters, the maximum uploaded file size will be the smallest of the three variables.%0a%0a!!! [[#direct_download]] Password protecting uploaded files%0aSetting a read password for pages (and groups) will prevent an attached file from being seen or accessed through the page, but to prevent direct access to the file location (the uploads/ directory) one can do the following:%0a %0a* In local/config.php set @@$EnableDirectDownload=0@@;%0a* If you use per-group upload directories (PmWiki default, see $UploadPrefixFmt), add to config.php @@$EnableUploadGroupAuth = 1;@@%0a* Deny public access to the uploads/ directory through moving it out of the html/ or public_html/ directory tree, or through a .htaccess file.%0a%0a%0aSee [[Cookbook:Secure attachments]] {Cookbook.SecureAttachments$:Summary}%0a%0a%0a!! Other notes%0a%0a* If uploads doesn't seem to work, make sure that your PHP installation allows uploads. The ''php.ini'' file (usually ''/etc/php.ini'' or ''/usr/local/lib/php.ini'') should have %0a%0a->[@file_uploads = On@]%0a%0a* Another source of error in the ''php.ini'' file is a not defined ''upload_tmp_dir''. Just set this variable to your temp directory, e.g.%0a%0a->[@upload_tmp_dir = /tmp@]%0a%0a%0aNote that if you change this values, httpd must generally be restarted. Another way to check if uploads are allowed by the server is to set $EnableDiag to 1 in ''config.php'', and set ?action=phpinfo on a URL. The "@@file_uploads@@" variable must have a value of 1 (if it says "@@no value@@", that means it's off).%0a%0a%0a!! FAQ [[#FAQ]]%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I disable uploading of a certain type of file?%0aA: Here's an example of what to add to your ''local/config.php'' file to disable uploading of .zip files, or of files with no extension:%0a%0a%25hlt php%25[@%0a$UploadExtSize['zip'] = 0; # Disallow uploading .zip files%0a$UploadExtSize[''] = 0; # Disallow files with no extension@]%0a%0aQ: How do I attach uploads to individual pages or the entire site, instead of organizing them by [[wiki group]]?%0aA: Use the $UploadPrefixFmt variable (see also the Cookbook:UploadGroups recipe).%0a%0a%25hlt php%25[@%0a$UploadPrefixFmt = '/$FullName'; # per-page, in Group.Name directories%0a$UploadPrefixFmt = '/$Group/$Name'; # per-page, in Group directories with Name subdirectories%0a$UploadPrefixFmt = ''; # site-wide@]%0a%0aQ:For $UploadDirQuota - can you provide some units and numbers? Is the specification in bytes or bits? What is the number for 100K? 1 Meg? 1 Gig? 1 Terabyte?%0aA: Units are in bytes. %0a%0a%25hlt php%25[@%0a $UploadDirQuota = 100*1024; # limit uploads to 100KiB%0a $UploadDirQuota = 1000*1024; # limit uploads to 1000KiB%0a $UploadDirQuota = 1024*1024; # limit uploads to 1MiB%0a $UploadDirQuota = 25*1024*1024; # limit uploads to 25MiB%0a $UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB@]%0a%0aQ: Is there a way to allow file names with Unicode or additional characters? %0aA: Yes, see $UploadNameChars%0a%0aQ:Where is the list of attachments stored?%0aA: It is generated on the fly by the [[PageDirectives#attachlist|(:attachlist:)]] markup.%0a +time=1586370368 +title=Uploads Administration blob - /dev/null blob + 91ff3f5f68229dafb9c05d2e3243755a7ae5d830 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.UrlApprovals @@ -0,0 +1,9 @@ +version=pmwiki-2.2.102 ordered=1 urlencoded=1 +author=p1 +charset=UTF-8 +csum=Sidebars, headers, footers, included pages +name=PmWiki.UrlApprovals +rev=76 +targets=Category.Spam,SiteAdmin.ApprovedUrls,PmWiki.IncludeOtherPages,Site.AllRecentChanges,PmWiki.LinkVariables,PmWiki.Blocklist,PmWiki.Security +text=(:Summary:Require approval of Url links:)%0aThis page explains how to discourage "link spamming" on your wiki site using PmWiki's ''urlapprove.php'' script. This script is already included in PmWiki files, but not activated by default.%0a%0a%0a!! Using ''urlapprove.php''%0aOccasionally [[!spam]]mers may try to add large number of (sometimes hidden) `URLs to pages because they think it will improve their search engine rankings -- which it [[#nofollow |probably won't]]. The ''urlapprove.php'' script works against these spammers' purpose by%0a%0a* requiring approval of links to Internet sites before a link to them are created in the wiki, and%0a* allowing you to limit the number of unapproved links that may be added to a page.%0a%0aTo enable ''urlapprove.php'', add the following line to a configuration file:%0a%0a->[@include_once("$FarmD/scripts/urlapprove.php");@]%0a%0aBy default, unapproved links display what ever should be displayed normally (the URL or a text), but not linked and next to it a link [-%25blue%25(approve links)%25%25-].%0aA click on the link will approve all unapproved `URLs on the page, %25green%25but ''only'' if you are authorized to edit the ''SiteAdmin.ApprovedUrls'' page%25%25. You may also pre-approve sites by by adding them directly to the [[SiteAdmin.ApprovedUrls]] page.%0a%0a%0a!!! Limiting unapproved urls per page%0aYou can limit the number of unapproved links per page. If the limit is exceeded, the page cannot be saved. This is useful because spammers like to write long link lists, which is rare for normal authors.%0a%0aExample: To set the limit to 5 unapproved links, add the following line to a configuration file:%0a%0a->[@$UnapprovedLinkCountMax = 5;@]%0a->[@include_once('scripts/urlapprove.php');@]%0a%0aNote that $UnapprovedLinkCountMax must be set ''before'' including the ''urlapprove.php'' script.%0a%0a%0a!!! Handling of Unapproved Links%0aYou can also change the disapproval message defined in the $UnapprovedLinkFmt variable, for example:%0a%0a-> [@%0ainclude_once('scripts/urlapprove.php');%0a$UnapprovedLinkFmt =%0a "[$[Link requires approval]]%3ca class='apprlink'%0a href='\$PageUrl?action=approvesites'>$[(approve)]%3c/a>";%0a@]%0a%0a"Link requires approval" is whatever you want to see in place of the unapproved link and "(approve)" is the blue text. Using this feature may prove usefull if you want to always hide the unapproved link.%0a%0aIf you wish to totally forbid unapproved links you can use%0a%0a->[@$UnapprovedLinkFmt = "%3cb>external link not allowed%3c/b>";@]%0a%0a%0a!!! Sidebars, headers, footers, included pages or sections [[#sidebar]] [[#included]]%0aPlease note that in general you need to go to the sidebar, header, footer pages in order to approve links in them. If pages or sections with unapproved links are [[IncludeOtherPages|included]] in other pages, or transcluded via a pagelist or a page text variable, you need to approve the links in the original pages. The reason for this is that the approve mechanism only approves links on the ''current'' page.%0a%0a%0a!!! Initial setup%0aAfter initial setup all existing links become unapproved. You need to visit your pages and approve all links, where needed. See [[Site/AllRecentChanges]] for a list of all pages that were created on your wiki.%0a%0a!! Password approval of URLs%0aTo approve external links, an author needs permissions to edit the page [[SiteAdmin.ApprovedUrls]].%0a%0a!! Technical tips%0a[[#whiteurls]]%0a!!! URL Whitelist%0aUrls can also be approved by adding them to a "white list", %0adefined in the variable @@$WhiteUrlPatterns@@, %0awhich is set in the ''local/config.php'' file.\\%0aTo add multiples urls, use the separator @@|@@ (vertical bar). For example:%0a%0a-> [@%0a$WhiteUrlPatterns =%0a "(http://example.com|http://example.net|http://example.org)";%0a@]%0a%0aTo add all urls from, say New Zealand and Australia, use:%0a%0a-> [@%0a$WhiteUrlPatterns[] = 'http://[^/]+\\.nz';%0a$WhiteUrlPatterns[] = 'http://[^/]+\\.au';%0a@]%0a%0a%0a!!! Change Approved URLs page name%0aIf you want to change the default name of ''SiteAdmin.ApprovedUrls'', set the following in ''local/config.php'':%0a%0a->[@$ApprovedUrlPagesFmt = array('OtherGroup.OtherName');@]%0a%0a!!! Previewing the unapproved URL%0aTo see what link is to be approved without editing the page a tool tip can be displayed when the cursor hovers over the [-%25blue%25(approve links)%25%25-] link that displays the URL. e.g. [[http://uuu.example.com|Example]].%0a%0aAdd the following setting in your ''local/config.php'':%0a%0a-> [@%0a$UnapprovedLinkFmt =%0a "\$LinkText%3ca class='apprlink' href='\$PageUrl?action=approvesites'%0a title='\$LinkUrl'>$[(approve links)]%3c/a>";%0a@]%0a%0a->Some browsers show only the link and not the tooltip title. In this case, you can use the following code to see the unapproved link at the end of the tooltip :%0a-> [@$UnapprovedLinkFmt =%0a "\$LinkText%3ca class='apprlink' href='\$PageUrl?action=approvesites&XES_url=\$LinkUrl'%0a title='\$LinkUrl'>$[(approve sites)]%3c/a>";%0a@]%0a%0a%0a!! About rel='nofollow' [[#nofollow]]%0aBy default, PmWiki creates external links that are not followed by search engines. %0aHere are release notes from pmwiki-2.0.beta20 (30-Jan-2005):%0a%0a->''First, the $UrlLinkFmt variable has been modified so that links to external urls automatically have a rel='nofollow' attribute added to them, to help combat wiki spam as described in [[http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html]]. Site administrators can customize $UrlLinkFmt and $UnapprovedLinkFmt to supply or omit rel='nofollow' as appropriate.''%0a%0a!! See Also%0a%0a* [[PmWiki/Blocklist]] - Blocking postings based on content or IP address%0a* [[PmWiki/Security]] - Securing your PmWIki%0a +time=1504506256 blob - /dev/null blob + 1610e4c17d02d5ea0502bee12afd6b46d910a43c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Variables @@ -0,0 +1,9 @@ +version=pmwiki-2.2.127 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=add link (+55) +name=PmWiki.Variables +rev=90 +targets=PmWiki.LocalCustomizations,PmWiki.BasicVariables,PmWiki.DebugVariables,PmWiki.EditVariables,PmWiki.I18nVariables,PmWiki.LayoutVariables,PmWiki.LinkVariables,PmWiki.OtherVariables,PmWiki.PagelistVariables,PmWiki.PageLists,PmWiki.PathVariables,PmWiki.SecurityVariables,PmWiki.UploadVariables,PmWiki.Blocklist,PmWiki.Notify,PmWiki.PageVariables,PmWiki.PageTextVariables,PmWiki.Functions,PmWiki.MarkupExpressions,Category.PmWikiDeveloper +text=(:Summary:Variables available for local customisation:)%0a(:Audience: administrators (basic) :)%0a[[%3c%3c]]%0a>>rframe font-size:smaller%3c%3c%0a[[#index]]%0a!! List of documented PHP variables%0a(:varindex:)%0a[[#indexend]]%0a>>%3c%3c%0a%0aThis page documents the PHP variables available in PmWiki for [[local customizations]]. Much of this documentation is still incomplete but people are working on it now. Feel free to add placeholders for variables you want to have documented if you don't know what the variable does.%0a%0aThe variables documentation is divided into several pages:%0a%0a* [[Basic Variables]] - {BasicVariables$:Summary}%0a* [[Debug Variables]] - {DebugVariables$:Summary}%0a* [[Edit Variables]] - {EditVariables$:Summary}%0a* [[I18n Variables]] - {I18nVariables$:Summary}%0a* [[Layout Variables]] - {LayoutVariables$:Summary}%0a* [[Link Variables]] - {LinkVariables$:Summary}%0a* [[Other Variables]] - {OtherVariables$:Summary}%0a* [[Pagelist Variables]] - {PagelistVariables$:Summary}%0a* [[Path Variables]] - {PathVariables$:Summary}%0a* [[Security Variables]] - {SecurityVariables$:Summary}%0a* [[Upload Variables]] - {UploadVariables$:Summary}%0a%0aThe following functions are also controlled by several variables:%0a* [[Blocklist(#variables)]] - {Blocklist$:Summary}%0a* [[Notify(#variables)]] - {Notify$:Summary}%0a* [[Basic Variables]] %25item comment%25 to provide circular trail%0a%0aThe following variables are used in page markup.%0a* [[Page Variables]] - {PageVariables$:Summary}%0a* [[Page TextVariables]] - {PageTextVariables$:Summary}%0a%0a%0aAn complete index of documented PHP variables is given below.%0a%0aIn general, variables with names ending in 'Fmt' (such as $PageLayoutFmt) have their values processed for $-variable substitutions prior to being output. Thus strings such as [@{$Name}@] and [@{$PageUrl}@] are replaced with the name and URL of the page when the string is printed.%0a%0aNote: The automatic variable index and link generation is done by scripts/vardoc.php using $VarPagesFmt to find the pages containing trails of pages with the variable documentation.%0a%0aThere is a slight discrepancy between index generation and link generation: The index generation finds lines starting with a colon followed by "$" and an uppercase word. In contrast, the automatic link generation works only with WikiWords ($WikiWordPattern) preceded with "$". Therefore all "non WikiWord" variables are shown as link only in the list below, but not elsewhere in PmWiki, as $XL. 'Author', 'Skin', 'pagename' and 'Version' (preceded with a $-sign) are handled correctly.%0a%0a!!See Also%0a%0a* %25%25 [[PmWiki/Functions]] - {Functions$:Summary} (:comment why? Could be removed IMO --OliverBetz:)%0a* [[Markup Expressions]] -{MarkupExpressions$:Summary}%0a%0aCategories: [[!PmWiki Developer]] +time=1587889074 blob - /dev/null blob + 25c9e535f991b75daec2f8b627b8506baa100002 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.Version @@ -0,0 +1,10 @@ +version=pmwiki-2.2.115 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=intermap on a link to a page not in the distribution +ctime=1176363304 +name=PmWiki.Version +rev=15 +targets=PmWiki.PageVariables,SiteAdmin.Status,PmWiki.BasicVariables,PmWiki.SiteAnalyzer,Cookbook.ModuleGuidelines,Cookbook.RecipeCheck +text=(:Summary: Determining and displaying the current version of PmWiki ({$Version}):)%0a%0a'''This wiki installation is running version %25red%25{$Version}%25%25, version number %25red%25{$VersionNum}%25%25.'''%0a%0a!! Obtaining the PmWiki version%0aUse the [@{$Version}@] [[page variable(s)]] to display the current version of PmWiki.%0a%0aSee the [[SiteAdmin.Status]] page for the current version and version number.%0a%0aFor example%0a(:markup:)%0aThis wiki installation is running PmWiki {$Version}, version number {$VersionNum}.%0a-%3cThe default group is {$DefaultGroup}.%0a-%3cThe default name is {$DefaultName}.%0a-%3cThe site group is {$SiteGroup}%0a(:markupend:)%0a%0aSee also [[basic variables]].%0a%0aThe script @@version.php@@ contains the declaration of the version number. The file is located on scripts/version.php, relative to PmWiki installation path.%0a%0a!! Obtaining recipe versions%0aThe [[(PmWiki:)Site Analyzer]] can be used to display the current version of %0a[[Cookbook(:/)]] recipes. If you are the administrator, [[Cookbook:ModuleGuidelines|cookbook recipe guidelines]] recommends that the first couple of lines of a recipe file should contain the recipe version:%0a[@%0a $RecipeInfo['RecipeName']['Version'] = '2017-06-02'; # dates YYYY-MM-DD prefered%0a@] %0a%0aSee also [[Cookbook:RecipeCheck]]%0a%0a%0a +time=1558728064 blob - /dev/null blob + 203a9f8fef92d70339960b33e8dd5e28627bbc61 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WebFeeds @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +name=PmWiki.WebFeeds +rev=86 +targets=PmWiki.WikiTrails,Site.AllRecentChanges,Cookbook.Backlinks,PmWiki.WikiGroup,PmWiki.Categories,PmWiki.PageLists,Cookbook.RssFeedDisplay,PmWiki.LocalCustomizations,Cookbook.FeedLinks,PmWiki.BasicVariables,PmWiki.OtherVariables,PmWiki.PagelistVariables,Cookbook.PageFeed,Cookbook.CustomRecentChanges,PmWiki.LayoutVariables,PITS.01161 +text=(:Summary:Web feed notification of changes:)%0a(:Audience: visitors (intermediate) :)%0aWeb feeds are a convenient mechanism to let visitors be notified of changes to a site. Instead of repeatedly checking [=RecentChanges=] every day to see what is new, a visitor can use a [[news aggregator -> Wikipedia:Aggregator]] to quickly see what pages of interest have changed on a site. Web feeds are commonly recognized by terms such as [[(Wikipedia:)RSS]], [[(Wikipedia:)Atom(_%2528standard%2529)]], and ''[[Wikipedia:web_syndication | web syndication]]''. They are also the foundation for podcasting.%0a%0a!! Based on WikiTrails%0aIn its simplest form, web feeds in PmWiki are built on [[WikiTrails]]. Using a feed action such as [@?action=rss@] or [@?action=atom@] on a trail generates a web feed (often called a "channel") where each page on the trail is an item in the feed. Since the RecentChanges and [[{$SiteGroup}.AllRecentChanges]] pages are effectively trails, one can easily get an RSS feed for a group or site by simply adding [@?action=rss@] to the url for a RecentChanges page. For example, to get the site feed for pmwiki.org, one would use%0a%0a->http://pmwiki.org/wiki/Site/AllRecentChanges?action=rss%0a%0aAuthors can also create custom feeds by simply creating a wiki trail of the pages they want included in the feed. Feeds can also be generated from [[groups -> WikiGroup]], [[categories]], and %25newwin%25[[Cookbook:Backlinks|backlinks]], and the order and number of items in the feed can be changed using options in the feed url. Thus, one can obtain a feed for the ''Skins'' category (sorted with most recent items first) by using%0a%0a->http://pmwiki.org/wiki/Category/Skins?action=rss&order=-time%0a%0aPmWiki is able to generate feeds in many formats, including RSS 2.0 ([@?action=rss@]), Atom 1.0 ([@?action=atom@]), and RSS 1.0 ([@?action=rdf@]). In addition, although it is not normally considered a web feed, PmWiki can generate metadata information using the Dublin Core Metadata extensions ([@?action=dc@]).%0a%0a!!How to read a PmWiki syndicated feed%0a%0a# You'll need a [[news aggregator -> Wikipedia:List_of_feed_aggregators]], which is a piece of software designed to read news feeds. Many different news aggregators are available. Some run on your own computer, either on their own or as plugins for email clients, web browsers, or newsreaders. Others are web applications that you can use from any Internet-connected computer. Some are in between (technically web applications, but ones designed to run on your computer, not some remote server). Get one that you like.%0a# Subscribe to the [[WikiTrail(s)]] you desire by supplying the feed url to the aggregator. The feed url will be the name of a trail page with [@?action=rss@] or [@?action=atom@] added to the end of the url.%0a%0a!!Feed options%0a%0aAdd any of the following options to the end of a PmWiki web feed url to change its output (basically any [[pagelist->PageLists]] option is available for web feeds):%0a%0a:?count=''n'': Limit feed to ''n'' items (default 10)%0a:?order=-time : Display most recently changed items first (default: the order of the trail, or by name; in RecentChanges pages the trail is already ordered by -time)%0a:?trail=''page'': Obtain items from trail on ''page'' (default: the trail on the current page)%0a:?group=''group'': Limit feed to pages in ''group''%0a:?name=''name'': Limit feed to pages with specific ''name''%0a:?link=''page'': Create feed from pages linked to ''page''%0a:?list=normal: Exclude things like RecentChanges, AllRecentChanges, etc.%0a%0a%25audience%25 authors (intermediate)%0a!!Configure PmWiki for feeds%0a%0aThis section describes how to syndicate portions of a wiki to appear in a web feed. It does not describe how to display a web feed within a wiki page -- for that, see Cookbook:RssFeedDisplay.%0a%0aTo enable web feed generation for a site, add one or more of the following to a [[local customization(s)]] file:%0a%0a->[@%0aif ($action == 'rss') include_once("$FarmD/scripts/feeds.php");%0aif ($action == 'atom') include_once("$FarmD/scripts/feeds.php");%0aif ($action == 'rdf') include_once("$FarmD/scripts/feeds.php");%0aif ($action == 'dc') include_once("$FarmD/scripts/feeds.php");%0a@]%0a%0aor you can combine multiple feeds into a single expression using "||" to separate each feed type. For example, if you want to enable RSS and Atom feeds you would use%0a%0a->[@%0aif ($action == 'rss' ||%0a $action == 'atom' ||%0a $action == 'rdf' ||%0a $action == 'dc') include_once("$FarmD/scripts/feeds.php");%0a@]%0a%0a!!Configure feed content%0aWeb feeds are highly configurable, new elements can be easily added to feeds via the $FeedFmt array. Elements in $FeedFmt look like%0a%0a[@$FeedFmt['atom']['feed']['rights'] = 'All Rights Reserved';@]%0a%0awhere the first index corresponds to the action (?action=atom), the second index indicates a per-feed or per-item element, and%0athe third index is the name of the element being generated. The above setting would therefore generate a "%3crights>All Rights Reserved%3c/rights>" in the feed for ?action=atom.%0a%0a[[#pitfall1]]%0aIf the value of an entry begins with a '%3c', then feeds.php doesn't automatically add the tag around it. Elements can also be callable functions which are called to generate the appropriate output. See [[http://blogs.law.harvard.edu/tech/rss | RSS specification]] or other feed specifications for what feed content you can use.%0a%0aYou can also change an existing element rather than add a new one. You can use the following lines to ensure that changes made to the wiki will be picked up by some RSS readers that wouldn't otherwise "notice" a page has been changed:%0a%0a->[@%0a# Change the link URL when an item is edited.%0a$FeedFmt['rss']['item']['link'] = '{$PageUrl}?when=$ItemISOTime';%0a$FeedFmt['atom']['item']['link'] =%0a "%3clink rel=\"alternate\" href=\"{\$PageUrl}?when=\$ItemISOTime\" />\n";%0a@]%0a%0a%0a!!See Also%0a%0a* [[Cookbook:FeedLinks]] - Add HTML %3chead> links for auto-discovery of your feeds.%0a* [[WikiTrails]]%0a* Wikipedia:Web_feed, Wikipedia:Web_syndication, Wikipedia:RSS, Wikipedia:Atom_%2528standard%2529%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I include text from the page (whole page, or first X characters) in the feed body? (note: markup NOT digested)%0a%0a function MarkupExcerpt($pagename) {%0a $page = RetrieveAuthPage($pagename, 'read', false);%0a return substr(@$page['text'], 0, 200);%0a }%0a%0a $FmtPV['$MarkupExcerpt'] = 'MarkupExcerpt($pn)';%0a $FeedFmt['rss']['item']['description'] = '$MarkupExcerpt';%0a%0a%25green%25 Does this mean if I want to include the time in the rss title and "summary" to rss body I call [@$FeedFmt@] twice like so:%0a->%25block green%25[@$FeedFmt['rss']['item']['description'] = '$LastSummary'; %0a$FeedFmt['rss']['item']['title'] = '{$Group} / {$Title} @ $ItemISOTime';@] %0a%0a--->%25black%25 From mailing list Feb 13,2007, a response by Pm: Yes%0a%0aQ: How can I use the RSS %3cenclosure> tag for podcasting?%0a%0aA: For podcasting of mp3 files, simply attach an mp3 file to the page%0awith the same name as the page (i.e., for a page named Podcast.Episode4,%0aone would attach to that page a file named "Episode4.mp3"). The%0afile is automatically picked up by ?action=rss and used as an%0aenclosure.%0a%0aThe set of potential enclosures is given by the $RSSEnclosureFmt%0aarray, thus%0a%0a->[@$RSSEnclosureFmt = array('{$Name}.mp3', '{$Name}.wma', '{$Name}.ogg');@]%0a%0aallows podcasting in mp3, wma, and ogg formats.%0a%0a%0aQ: [[#AddSummary]] How to add "summary" to the title in a rss feed (ie. with [@?action=rss@])?%0a%0aA: Add this line in you [@local/config.php@]%0a%0a->[@$FeedFmt['rss']['item']['title'] = '{$Group} / {$Title} : $LastModifiedSummary';@]%0a%0a%0aQ: [[#AddDescriptionSummary]] How to add "description" to the title in an rss feed, and summary to the body?%0a%0aA: Add these lines to your [@local/config.php@]%0a%0a->[@$FeedFmt['rss']['item']['title'] = '{$Group} / {$Title} : {$Description}';@]%0a->[@$FeedFmt['rss']['item']['description'] = '$LastModifiedSummary';@]%0a%0a%0a'''NOTES:'''%0a* you need to replicate these lines for each type (atom, rdf, dc) of feed you provide.%0a* the RSS '''[@description@]'''-tag is not equivalent to the pmWiki ''[@$Description@]'' variable, despite the confusing similarity.%0a%0aQ: Some of my password-protected pages aren't appearing in the feed... how do I work around this?%0a%0aA: From a similar question on the newsgroup, Pm's reply:%0a%0aThe last time I checked, RSS and other syndication protocols didn't%0areally have a well-established interface or mechanism for performing%0aaccess control (i.e., authentication). As far as I know this is%0astill the case.%0a%0aPmWiki's WebFeeds capability is built on top of pagelists, so it%0acould simply be that the $EnablePageListProtect option is preventing%0athe updated pages from appearing in the feed. You might try%0asetting $EnablePageListProtect=0; and see if the password-protected%0apages start appearing in the RSS feed.%0a%0aThe "downside" to setting $EnablePageListProtect to zero is that%0aanyone doing a search on your site will see the existence of the%0apages in the locked section. They won't be able to read any of%0athem, but they'll know they are there!%0a%0aYou could also set $EnablePageListProtect to zero only if ?action=rss:%0a%0a if ($action == 'rss') $EnablePageListProtect = 0;%0a%0aThis limits the ability to see the protected pages to RSS feeds;%0anormal pagelists and searches wouldn't see them.%0a%0aLastly, it's also possible to configure the webfeeds to obtain%0athe authentication information from the url directly, as in:%0a%0a .../Site/AllRecentChanges?action=rss&authpw=secret%0a%0aThe big downside to this is that the cleartext password will%0aend up traveling across the net with every RSS request, and%0amay end up being recorded in Apache's access logs.%0a%0aQ: How to add feed image?%0a%0aA: Add the following to ''local/config.php'' (this example is for [@?action=rss@]):%0a%0a->[@%0a$FeedFmt['rss']['feed']['image'] =%0a" %3ctitle>Logo title%3c/title>%0a %3clink>http://example.com/%3c/link>%0a %3curl>http://example.com/images/logo.gif%3c/url>%0a %3cwidth>120%3c/width>%0a %3cheight>60%3c/height>";%0a@]%0a%0a-> %25red%25Do not forget NOT to start with a '%3c' as there would be no %3cimage> tag around this... See [[#pitfall1|here]].%0a%0aQ: How do I insert RSS news feeds into PmWiki pages?%0a%0aA: See [[Cookbook:RssFeedDisplay]].%0a%0aQ: How can I specify default feed options in a configuration file instead of always placing them in the url?%0aA: For example, if you want [@?action=rss@] to default to [@?action=rss&group=News&order=-time&count=10@], try the following in a [[local customization(s)]] file:%0a%0a->[@%0a if ($action == 'rss')%0a SDVA($_REQUEST, array(%0a 'group' => 'News',%0a 'order' => '-time',%0a 'count' => 10));%0a@]%0a%0aQ: Are there ways to let people easily subscribe to a feed?%0a%0aA: On some browsers (Mozilla Firefox), the visitor can see an orange RSS icon in the address bar, and subscribe to the feed by clicking on it. To enable the RSS icon, add this to config.php :%0a[@%0a$HTMLHeaderFmt['feedlinks'] = '%3clink rel="alternate" type="application/rss+xml" %0a title="$WikiTitle" href="$ScriptUrl?n=Site.AllRecentChanges&action=rss" />%0a%3clink rel="alternate" type="application/atom+xml" title="$WikiTitle"%0a href="$ScriptUrl?n=Site.AllRecentChanges&action=atom" />';@]%0a%0aYou can also add such a link, for example in your SideBar, @@[=[[Site.AllRecentChanges?action=atom | Subscribe to feed]]=]@@. %0a%0aQ: Can I create an RSS feed for individual page histories?%0aA: See Cookbook:PageFeed.%0a%0a%0aQ: How do I create a custom FeedPage similar to RecentChanges or AllRecentChanges, but with only certain groups or pages recorded?%0aA: See Cookbook:CustomRecentChanges. In a nutshell, you'll declare a $RecentChangesFmt variable with your dedicated FeedPage, and then wrap it in a condition of your choice. For example:%0a[@%0a if (PageVar($pagename, '$Group')!='ForbiddenGroup') {%0a $RecentChangesFmt['Site.MyFeedPage'] =%0a '* [[{$FullName}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]';%0a }%0a@]%0a%0aQ: How can I update my RSS feed to show every edit for pages on that feed, not just new pages added to the feed?%0aA: Add unique guid links for each edit to your to config.php file (see PITS [[PITS:01161|entry]]):%0a[@%0a $FeedFmt['rss']['item']['guid'] = '{$PageUrl}?guid=$ItemISOTime';%0a@]%0a%0aA: Alternatively, you can create the option for edit monitoring by adding a qualifier for RSS links. This allows the user to choose between default ''new pages'' RSS feeds and ''new edits'' RSS feeds (pmwiki.org has this option enabled).%0a[@%0a ## For new pages updates: http://example.com/wiki/HomePage?action=rss%0a ## For edits updates: http://example.com/wiki/HomePage?action=rss&edits=1%0a if(@$_REQUEST['edits'] && $action == 'rss')%0a $FeedFmt['rss']['item']['guid'] = '{$PageUrl}?guid=$ItemISOTime';%0a@] +time=1567167739 blob - /dev/null blob + bdb09b96906110a37a585dd9b3b9f56031e8d646 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiAdministrator @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=fix link +name=PmWiki.WikiAdministrator +rev=13 +targets=PmWiki.Installation,PmWiki.InitialSetupTasks,PmWiki.DocumentationIndex,PmWiki.Security,PmWiki.Audiences +text=A Wiki Administrator is a person (or persons) who installs, configures, and administers a PmWiki system for authors and site visitors. PmWiki has been designed to make the [[installation]] and [[initial setup tasks]] as easy as possible for people who do not have a lot of knowledge about HTML, PHP, or even web server software. At the same time, PmWiki is designed to be flexible enough so that someone with just a little bit of knowledge about HTML and PHP can customize PmWiki to their specific needs. %0a%0aSee the [[PmWiki.documentation index]] for pages about administering PmWiki, [[PmWiki:AdminTask|administration tasks]], %0a[[PmWiki/security]],%0aand [[PmWiki.audiences]] for more details of PmWiki's target audiences.%0a +time=1315670897 blob - /dev/null blob + be591e2e91c4a67bcbe201c80a1b8447a78bf60c (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiFarmTerminology @@ -0,0 +1,11 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Scott Connard +charset=UTF-8 +csum=restore +ctime=1142751483 +name=PmWiki.WikiFarmTerminology +rev=24 +targets=PmWiki.Glossary,Category.WikiFarms +text=%25audience%25 administrators (intermediate)%0aThere are many ways to configure [[PmWiki:WikiFarms]], and some of the documentation uses different terminology to describe the same things. This page attempts to explain the terminology.%0a%0aFor terms not related to farms, see [[Glossary]].%0a%0a!!Why is this page needed?%0a* to provide a place to find the preferred terminology with definitions%0a* to explain where the term "farm" came from%0a* to list various terms that have been deprecated but still exist in the docs%0a* to suggest alternate terms for the deprecated ones%0a%0a%0a!!The origins of WikiFarms%0aThe term WikiFarm is based on the computing term "server farm", which is a collection of servers that use a common infrastructure. A wiki farm is nothing more than multiple wikis that share the same installation of the PmWiki software.%0a%0aSome recipe and documentation authors, however, began writing about WikiFarms using agricultural terms such as "field", "farmer", "barn", "crop", and "tractor". In some cases these terms made the documentation more confusing. It is suggested that documentation authors avoid the agricultural terms, as tempting as they may be, and keep in mind that a wiki in a wiki farm is like a server in a server farm.%0a%0a%0a!!Wikis and components in a WikiFarm%0aAll of the wikis in a farm are more or less the same, except the "home wiki" is a wiki that is located in the same directory as the PmWiki software. The home wiki needs special consideration because it holds the components that are shared by or affect the operation of all the wikis in the farm. In particular:%0a*the ''scripts/'' directory%0a*the ''cookbook/'' directory%0a*the ''pub/'' directory%0a*the ''wikilib.d/'' directory%0a%0a%0aIt is possible to move the PmWiki software outside of the web document tree, but the ''pub/'' directory needs to be in a web-servable directory (one that can be accessed by a URL).%0a%0aAuthors writing about complex farm setups often have difficulty describing the components and their locations. However, it is probably not necessary or desirable to coin new terms for the components and their locations.%0a%0a%0a!! [[#suggested_terms]] Suggested terms%0a%0a:WikiFarm: An installation where one copy of PmWiki is configured to run multiple wikis. Analogous to the computing phrase "server farm". The wikis in a farm can be configured farm-wide (using the farm's ''local/farmconfig.php'') or individually (using the wiki's ''local/config.php'').%0a:Wiki: A site with it's own URL and ''wiki.d/'' directory. All of the wikis in a wiki farm are simply called wikis.%0a:Home wiki:A wiki in a farm that's located in the same directory as the PmWiki software and therefore shares the farm's ''cookbook/'' and ''pub/'' directories. If you start with a stand-alone installation and add a wiki, the original wiki becomes a home wiki.%0a:Farm-wide: Something available to or affecting all wikis in the farm. Typically this means modifying the ''farmconfig.php'' file or the contents of the farm's cookbook/ or pub/ directories.%0a:Local: Something available to or affecting a specific wiki. Typically this means modifying the wiki's ''local/config.php'' file or the contents of the wiki's ''cookbook/'' or ''pub/'' directories.%0a%0a:PmWiki {-engine-} : The software that makes PmWiki work, as opposed to the content of the wiki that readers see.%0a:PmWiki {-installation-} directory: The directory PmWiki is installed to. It contains pmwiki.php and its subdirectory scripts/, which is used by all the wikis in the WikiFarm. {-If you do a standard, single install of PmWiki, it goes into this directory.-}%0a%0a%0a!!Ambiguous terms%0a%0a:Installation directory: Installation of what? Some authors have used this to mean the directory that contains most of the shared components on a wiki farm. Others use it to mean a directory that has a complete standalone installation of PmWiki that is not part of a farm. Use PmWiki directory instead.%0a:PmWiki installation: This is sometimes used to indicate a process, sometimes used to mean a single wiki in a farm, and sometimes refers only to the shared components of a farm.%0a%0a%0a!!Deprecated terms that should not be used%0a%0aThese terms still exist in the documentation (pending revisions), and will live forever in the PmWiki-Users list archive.%0a%0a:farm directory: The directory in which the home wiki lives or a directory where the shared components are stored. Use PmWiki directory instead.%0a:field: Any wiki in a farm which is '''not''' the home wiki.%0a:farm administrator: An administrator who has access to all of the wikis in a farm, particularly the home wiki. Use administrator instead.%0a:field administrator: An administrator who has access to one or more wikis in a farm, but '''not''' the home wiki. Use administrator instead.%0a:barn: The place where common components are stored. Use PmWiki directory instead.%0a:crop: Packaged content and customizations that can be added to a wiki. See [[Cookbook:ListOfBundles]] for similar ideas. Use component bundles instead.%0a:tractor: The PmWiki engine or ''pmwiki.php'' itself. Use PmWiki instead.%0a%0a----%0aCategories: [[!WikiFarms]]%0a +time=1315670897 blob - /dev/null blob + 6d0e9eed38dda9e539281db52fbae10ca249770d (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiFarms @@ -0,0 +1,10 @@ +version=pmwiki-2.2.76 ordered=1 urlencoded=1 +author=Peter Bowers +charset=UTF-8 +csum=markup typo (again) +ctime=1142482306 +name=PmWiki.WikiFarms +rev=99 +targets=Cookbook.FarmSetupByExample,Cookbook.WikiFarmAlternative,PmWiki.WikiFarms,PmWiki.WikiGroup,PmWiki.Installation,Cookbook.CookbookBasics,PmWiki.LocalCustomizations,PmWiki.WikiFarmTerminology,PmWiki.WikiFarmsAdvanced +text=(:Audience: administrators (intermediate) :)%0a(:Summary:Running multiple wikis from a single installation:)%0aAlso see: [[Cookbook:Farm Setup By Example]], [[Cookbook:Wiki Farm Alternative]]%0a%0aA [[WikiFarm(s)]] is a collection of two or more wikis running on the same web server and sharing a set of common components. The term is based on the computing phrase "server farm".%0a%0aThis page provides some background information about [[WikiFarms]] and describes how to turn a "normal" configuration into a farm by adding a wiki. (Click [[#config|here]] to go directly to instructions on configuring a farm.) There are many ways to configure wiki farms; this page describes only one, in an effort to make it as simple as possible for the administrator who is creating a farm for the first time.%0a%0aThis page will discuss 3 ways to organize content:%0a# Use [[(PmWiki:)WikiGroup]]s%0a# Use independent wiki sites with a shared code base (a "farm")%0a# Use independent wiki sites with a complete PmWiki [[installation]] per site%0a%0a!! Choosing between separate wiki-sites and [[(PmWiki:)WikiGroup|WikiGroups]]%0a!!! Why use [[(PmWiki:)WikiGroup|WikiGroups]]?%0aWhen you divide content between independently installed wikis (i.e., with their own separate URL), it is difficult (but not impossible) to provide services that require access to more than one wiki. For example, the PmWiki search function can only search within one wiki. Using a farm as a way of subdividing related content is generally a bad idea. A much better way to subdivide content is to use [[(PmWiki:)WikiGroup | WikiGroups]].%0a%0a!!! Why use separate wiki-sites?%0aWhen content is largely unrelated and there will be little or no need for sharing the data between the sites, it makes sense to divide the wikis into independently installed sites.%0a%0a(:comment (not sure if this statement is general enough) As a general rule, if you will regularly reference one site from the other (and particularly if you want to view [[PageLists]] of information on one site and view it on the other site) then you probably want to use [[WikiGroup | WikiGroups]] rather than independent sites.:)%0a%0a!! Choosing between separate, independent installations of PmWiki and a [[WikiFarm(s)]]%0aOnce you have decided that you need a separate wiki (with its own URL), you have two basic choices:%0a# Do a complete [[installation]] of PmWiki in a new directory. This gives you two totally independent wikis that are completely self-contained. This is '''not''' a wiki farm.%0a# Create a wiki farm using an existing wiki as the "home wiki" where most of the shared PmWiki components will live.%0a%0a'''The primary motivation for using a wiki farm is to reduce the amount of administrative work involved in managing several wikis.''' In a farm, most of the PmWiki code is stored in one place and is shared by all the wikis. An administrator can (for example) upgrade to a new version of PmWiki on every wiki in the farm by simply updating the shared components in a single location.%0a%0aFrom a reader's point of view, there is no difference between separate, self-contained installations of PmWiki and separate wikis within a WikiFarm: each wiki in a farm is completely independent, and appears as a separate web site. Each wiki in a farm:%0a* has its own URL, and the URLs can be in different domains%0a* can have its own look and feel by using different skins%0a* can have its own add-ons or "recipes" from the [[(Cookbook:)Cookbook(Basics)]]%0a* can have its own administrator responsible for local configuration%0a%0a!!! Why to use independent, self-contained installations of PmWiki%0a* it is not a wiki farm, and requires no additional administrative knowledge - it's just two installations%0a* if you decide to move one of the wikis to another server, you can simply copy the wiki directory structure to the second server, and it will work (assuming there is a web server and PHP in place).%0a* you can run different versions of PmWiki on each wiki (good for testing new versions)%0a* no matter how badly you mess up one installation, it doesn't affect the other%0a%0a!!! Why to use a [[WikiFarm(s)]]%0a* you can upgrade all wikis in your farm by simply upgrading your home wiki%0a* recipes can be shared across all wikis%0a* portions of your configuration can be shared across wikis%0a* most code is stored in one location and shared by all wikis in the farm%0a%0a!!! I still can't decide if I need a farm ...%0aThe good news is that you don't have to decide in advance. In fact, the recommended procedure is to first do a "normal" or single [[installation]] of PmWiki. Use it for a while. Create pages and edit them. Get to know how to add recipes. Be sure to try out [[WikiGroup | WikiGroups]] (they may be all you need).%0a%0aIf you choose to create a wiki farm, then read on ...%0a%0a[[#config]]%0a!! Creating/Configuring a [[WikiFarm(s)]]%0a!!! Prerequisites%0aBefore you create a farm, make sure that:%0a* you have a working installation of PmWiki ready to become the home wiki for your farm%0a* all of the wikis in your farm will be on the same web server%0a* each wiki will have a unique URL, such as http://www.example.com/wiki1/, http://www.example.com/wiki2/, http://another.example.com/wiki1/ and so on.%0a%0a!!! Creating the home wiki%0aYou do have a working installation of PmWiki at this point, don't you? That's good, because your existing wiki is about to become the home wiki of your farm.%0a%0aIn the directory that contains your existing wiki, create the file ''local/farmconfig.php''. This file is used to hold any [[local customizations]] that apply across the whole farm. For example, you could assign an admin password in ''farmconfig.php'' that will be used by all of the wikis in your farm.%0a%0aIf the URL used to access your existing wiki is http://www.example.com/pmwiki/ then a minimal ''farmconfig.php'' file would look like this:%0a%0a-> [@%3c?php if (!defined('PmWiki')) exit();%0a$FarmPubDirUrl = 'http://www.example.com/pmwiki/pub';@]%0a%0aThis loads the variable $FarmPubDirUrl with the URL location of your home wiki's ''pub/'' directory. All of the wikis in your farm share this ''pub/'' directory. The ''pub/'' directory holds skin definitions and GUI-edit buttons to be shared by all the wikis in the farm.%0a%0aAmazing as it may sound, this completes all of the changes you need to make in order to turn your existing wiki into the home wiki of your farm.%0a%0a!!! Creating an additional wiki in your farm%0a-%3c 1. Create a directory to hold the new wiki. This directory must be web-accessible, just like the directory that holds your home wiki.%0a%0a-%3c 2. Create a file called ''index.php'' in the directory with the following contents:%0a%0a--> [@ %3c?php include_once('path/to/pmwiki.php'); @]%0a%0a-> This allows your new wiki to share the PmWiki code stored in your home wiki. The ''[@path/to/pmwiki.php@]'' is the file path to ''pmwiki.php'' in your home wiki. Use an absolute file path ([@/home/username/pmwiki/pmwiki.php@]) or a relative file path ([@../pmwiki/pmwiki.php@]). Do not use a url path - there should not be an '[@http://@]' in it anywhere. For a web server running under Windows, you need to use a complete file path as in [@C:/Apache Group/Apache2 /www/mynewwiki/@].%0a%0a-%3c 3. Open a web browser and browse the URL of the new wiki. This will be a web address starting with '[@http://@]'. PmWiki will attempt to automatically create a writable ''wiki.d/'' directory where the wiki's pages will be stored. If you see an error message, follow the instructions. If you choose the option for a "slightly more secure installation" be sure to execute both commands.%0a%0aYour new wiki is now set up, and your farm now contains 2 wikis. To add more wikis, just repeat these 3 steps.%0a%0a%0a!!! Customization%0aEach wiki in a farm inherits the settings stored in ''farmconfig.php''. Do any customization that you want to apply farm-wide (to all the wikis) in ''farmconfig.php''.%0a%0aCreate a ''local/'' directory within each wiki's directory to hold [[local customizations]] that apply only to that wiki. You should at least create the local/config.php file with a new title, like so : %0a%0a->[@%0a%3c?php if (!defined('PmWiki')) exit();%0a ## Title of your farmed wiki%0a $WikiTitle = 'New Wiki';%0a@]%0a%0aFarm-wide customizations are processed before the individual wiki local customizations.%0a%0aThe PmWiki variable ''$FarmD'' points to the directory in which pmwiki.php is installed, and your home wiki, and it is used as a prefix to allow the other wikis to share PmWiki components. For example:%0a* ''$FarmD/scripts/'' points to the shared ''scripts/'' directory%0a* ''$FarmD/pub/'' points to the shared ''pub/'' directory%0a* ''$FarmD/cookbook/'' points to the shared ''cookbook/'' directory%0a%0aAny [[Cookbook(:.)]] scripts you include in farmconfig.php must be included with a line such as:%0a-> @@include_once("$FarmD/cookbook/scriptfile.php");@@\\%0aNote the double quotes - single quotes may work for per farm inclusions, but they will not work for $FarmD.%0a%0a!!! Password use/authorization on farm wikis:%0a%0a''' How come when I switch to another wiki within a farm, I keep my same authorization?'''%0a%0aPmWiki uses PHP sessions to keep track of authentication/authorization information, and by default PHP sets things up such that all interactions with the same server are considered part of the same session.%0a%0aAn easy way to fix this is to make sure each wiki is using a different cookie name for its session identifier. Near the top of one of the wiki's local/config.php files, before calling authuser or any other recipes, add a line like:%0a%0a-> @@ session_name('XYZSESSID'); @@%0a%0aYou can pick any alphanumeric name for XYZSESSID; for example, for the cs559-1 wiki you might choose%0a%0a-> @@ session_name('CS559SESSID'); @@%0a%0aThis will keep the two wikis' sessions independent of each other.%0a%0a!! Notes%0a* The terminology used to describe wiki farms is not used consistently. See [[WikiFarmTerminology]] for more info.%0a* It is important to remember that not all of the recipes in the Cookbook have been written for or tested with farms. Be sure to look for instructions on how to use a recipe on a farm.%0a* There are many, many more things you can do with farms. Some are described on [[PmWiki:WikiFarmsAdvanced]] which also contains links to step-by-step examples of setting up a farm.%0a%0aCategories: [[(http://www.pmwiki.org/wiki/Category/)WikiFarms]] +time=1433320784 blob - /dev/null blob + d28eb34711e64caf8593144f71763f68a0525976 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiGroup @@ -0,0 +1,10 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= +keywords=trailing dot, trailing slash, default group +name=PmWiki.WikiGroup +rev=112 +targets=Main.WikiSandbox,Main.HomePage,PmWiki.MailingLists,PmWiki.Links,PmWiki.CreatingNewPages,PmWiki.PmWiki,Site.Site,SiteAdmin.SiteAdmin,PmWiki.Search,PmWiki.WikiGroup,PmWiki.SpecialPages,PmWiki.RecentChanges,Site.AllRecentChanges,PmWiki.GroupHeaders,PmWiki.Passwords,PmWiki.WikiAdministrator,PmWiki.LocalCustomizations,PmWiki.GroupCustomizations,PmWiki.BasicVariables,PmWiki.HierarchicalGroups,Cookbook.SubgroupMarkup,Cookbook.IncludeWithEdit,Cookbook.LimitWikiGroups,Cookbook.NewGroupWarning,Cookbook.GetRidOfMain,Cookbook.RecentChangesDeletion +text=(:Audience: authors (basic) :)%0a(:Summary: Organising pages into related groups:)%0a(:keywords trailing dot, trailing slash, default group:)%0aPmWiki pages are organized into groups of related pages. This feature was added to PmWiki to allow authors to create their own ''wiki spaces'' of specialized content on their own, without having to become, or rely on, wiki administrators. See [[http://pmichaud.com/|Pm]]'s [[http://pmichaud.com/pipermail/pmwiki-users/2006-March/024838.html|post]] to the pmwiki-users [[mailing list(s)]].%0a%0a!! In-group and cross-group linking%0aBy default, page [[links]] are between pages of the same group; to create a link to a page in another group, add the name of the other group and a dot or slash to the page name. For example, links to [=Main/WikiSandbox=] could be written as:%0a%0a(:markup class=horiz:)%0a* [[Main.WikiSandbox]]%0a* [[Main/WikiSandbox]]%0a* [[(Main.Wiki)Sandbox]]%0a* [[Main.WikiSandbox | link text]]%0a* [[Main.WikiSandbox | +]]%0a(:markupend:)%0a%0aTo link to the [[#groupdefaultpage | default home page]] of a group, the name of the page can be omitted, like this:%0a%0a(:markup class=horiz:)%0a* [[Main.]]%0a* [[Main/]]%0a(:markupend:)%0a%0a!! Creating groups%0aCreating a new group is as easy as [[creating new pages]]; simply edit an existing page to include a [[link(s)]] to the new group's default home page (or any page in the new group) then click on the '?' to edit the page. As a rule, group names must start with a letter (but this can be changed by the wiki administrator by adding %0a-> @@[@$GroupPattern = '[[:upper:]\\d][\\w]*(?:-\\w+)*';@]@@%0ain config.php).%0a%0aFor example, to make a default page in the group Foo, create a link to [=[[Foo/]]=] (or [=[[Foo.]]=]). %0aTo make a page called Bar in the group Foo, create a link to [=[[Foo/Bar]]=] and follow the link to edit that page.%0a%0a!! Groups in a standard PmWiki distribution%0a* [[Main]]: The default group. On many wikis, it contains most of the author-contributed content. Main.HomePage and Main.WikiSandbox come pre-installed.%0a* [[PmWiki]]: An edit-protected group that contains PmWiki documentation and help pages.%0a* [[Site]]: Holds a variety of utility and configuration pages used by PmWiki, including [[%3c%3c]][=SideBar=], Search, Preferences, Templates, and [=AllRecentChanges=].%0a* [[SiteAdmin/]]: Holds a number of password protected administration and configuration pages used by PmWiki, including [[%3c%3c]] [=ApprovedUrls=], and Blocklist%0a%0a* To list all the groups in a site, try [[PmWiki/Search | searching]] for "[[{$FullName}?action=search&q=fmt%253Dgroup|fmt=group]]".%0a* To list all the pages in a group, try [[PmWiki/Search | searching]] for "[[{$FullName}?action=search&q={$Group}%252F|GroupName/]]".%0a%0a[[#specialpages]]%0a!! [[(PmWiki:)Special Pages]] in a Group%0aBy default, the ''[[Recent Changes]]'' page of each group shows only the pages that have changed within that group; the ''[[Site.All Recent Changes]]'' page shows all pages that have changed in all groups.%0a%0aEach group can also have ''[[Group Header(s)]]'' or ''Group Footer'' pages that contain text to be automatically prepended or appended to every page in the group. A group can also have a ''Group Attributes ''page that defines attributes (read and edit passwords) shared by all pages within the group. %0a%0aEach page can also have its own individual read/edit password that overrides the group passwords (see [[Passwords]]).%0a%0aFinally, [[wiki administrator]]s can set [[local customizations]] on a per-group basis--see [[Group Customizations]].%0a%0a[[#groupdefaultpage]]%0a!! Group's default page%0a%0aThe default "start page" for a group is a page whose name can be: %0a# the same as the group (Foo/Foo)%0a# HomePage (Foo/HomePage)%0a# a name that the administrator has assigned to the [={$DefaultName}=] variable in the configuration ([farm]config.php) file. %0a%0aNote, on this site, the value of [={$DefaultName}=] is ''{$DefaultName}'' and, thus, the default home page would be Foo/{$DefaultName}. %0a%0aYou can usefully change the default ''search'' order for an entered page name by setting the variable @@$PagePathFmt @@ in @@config.php@@, eg%0a-> @@ $PagePathFmt = array('$Group.$1', '$1.$DefaultName', '$1.$1', '$DefaultGroup.$1', 'Profiles.$1'); @@%0awhere "$1" is the name of the page entered. %0a%0aIf you are setting $DefaultName in order to make a start page for your groups, you will need to also define $PagePathFmt (see above) to get consistent use of this functionality. The simplest setting would be this:%0a-> @@ $PagePathFmt = array('$Group.$1', '$1.$DefaultName'); @@%0aNote that the order of the definitions of these variables ($DefaultName and $PagePathFmt) is important - it must occur before any call to ResolvePageName() and it (therefore) it cannot occur in a per-page or per-group customization script.%0a%0aAs noted above, when linking to the default home page, authors can omit the page name and simply identify the group followed by a forward slash ([=[[Foo/]]=]).%0a%0aNote the forward slash is required to ensure that the link unambiguously points to the identified group. %0aIf the slash is omitted, the link can end up being interpreted as pointing to an existing (or new) page in the current group (if the group, or its default home page, do not exist). %0a%0a!! Subgroups? Subpages?%0aNo, PmWiki does not have subpages. Pm's reasons for not having subgroups are described at [[PmWiki:Hierarchical Groups]], but it comes down to not having a good page linking syntax. If you create a link or pagename like [@[[A.B.C]]@] PmWiki doesn't think of "B.C" as being in group "A", it instead thinks of "C" as being in group "AB", which is a separate group from "A". Wiki administrators can look at [[Cookbook:Subgroup Markup]] and [[Cookbook:Include With Edit]] for recipes that may be of some help with developing subgroups or subpages.%0a%0a!! Restricting the creation of new groups%0aYou can set PmWiki's $GroupPattern variable to only accept the group names you want to define. For example, to limit pages to the "PmWiki", "Main", "Profiles", and "Example" groups, add the following to local/config.php:%0a%0a-> $GroupPattern = '(?:Site|SiteAdmin|PmWiki|Main|Profiles|Example)';%0a%0aWith this setting, only the listed groups will be considered valid WikiGroups. You can add more groups to the list by placing additional group names separated by pipes (|).%0a%0aSee other solutions to this at [[Cookbook:Limit Wiki Groups]] and [[Cookbook:New Group Warning]].%0a%0a!! FAQ%0a>>faq%3c%3c [[#faq]]%0aQ: How can I get rid of the 'Main' group in urls for pages pointing to Main?%0a%0aA: See [[Cookbook:Get Rid Of Main]].%0a%0aQ: How can I limit the creation of new groups?%0a%0aA: See [[Cookbook:Limit Wiki Groups]].%0a%0aQ: Why doesn't [=[[St. Giles and St. James]]=] work as a link? (It doesn't display anything.)%0a%0aA: Because it contains periods, and destroys PmWiki's file structure, which saves pages as [=Group.PageName=]. Adding those periods disrupts this format. Links may only contain words. If you need a link precisely as shown, the page must be named eg StGilesAndStJames then you can use the [=(:title:)=] directive to have the page's title appear with periods [=(:title St. Giles and St. James:)=]. (Although in US grammar the period is often omitted and in UK grammar the period [[http://en.wikipedia.org/wiki/Abbreviation|must be]] omitted for contractions like St).%0a%0aQ: How can I delete a wiki group?%0a%0aA: Normally you can't, as this requires an admin with server-side access to delete the file that makes up the group's RecentChanges page. But there is an option method of making it possible to delete RecentChanges pages from within the wiki if the admin enables the code found on [[Cookbook:RecentChanges Deletion]].%0a%0aQ: How can I delete a wiki group's Group.RecentChanges page?%0a%0aA: Normally you can't, as this requires an admin with server-side access to delete a file. But there is an optional method of making it possible to delete RecentChanges pages from within the wiki if the admin enables the code found on [[Cookbook:RecentChanges Deletion]].%0a%0aQ: Can I delete a wiki group inside wiki.d folder on the server to eliminate the group?%0aA: Yes, if you delete all files named YourGroup.*, the pages from that group will be removed from the wiki. Note that the documentation (group PmWiki) and the site configuration (groups Site and SiteAdmin) that exist in the default installation, are located in wikilib.d and not in wiki.d, and some recipes provide files located in a wikilib.d subdirectory in the cookbook directory. (You shouldn't delete the groups Site and SiteAdmin, required for normal function.)%0a%0aQ: How can I list all pages in a WikiGroup?%0aA: In a wiki page use [@(:pagelist group=GroupName list=all:)@] or in a search box type @@GroupName/ list=all@@. +time=1567165843 blob - /dev/null blob + 2905dc64dc3b24b55feac108566809c29e4eb626 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiGroups @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=Add summary +name=PmWiki.WikiGroups +rev=5 +targets= +text=(:Summary: Redirects to [[PmWiki/Wiki Group]]:)%0a(:redirect PmWiki/WikiGroup:) +time=1315670897 blob - /dev/null blob + 0ff65ea0aef44bfa0ecfccd46ea65ea889f099a0 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiPage @@ -0,0 +1,11 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=fix link +name=PmWiki.WikiPage +post= Save +rev=18 +targets=PmWiki.WikiStructure,PmWiki.WikiWikiWeb,PmWiki.PageFileFormat +text=(:Summary: Wiki page information:)%0aA WikiPage is simply the basic building block of a WikiWikiWeb that contains text and images. See [[WikiStructure]]s and [[WikiWikiWeb]] for more information.%0a%0aWiki pages can have an edit template to predefine initial content, see [[Cookbook:Edit Templates]] [-{Cookbook/EditTemplates$:Summary}-]%0a%0aWiki pages are stored in individual flat files, see [[PmWiki/Page File Format]] and [[(PmWiki:)Flat File Advantages]].%0a%0a%0a%0a%0a +time=1315670897 blob - /dev/null blob + 199756c670a4c0037003f68d02d7642b1ef3ef12 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiSandbox @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=revert sandbox +name=PmWiki.WikiSandbox +rev=8 +targets= +text=(:redirect Main.WikiSandbox:)%0a +time=1315670897 blob - /dev/null blob + 6b14c3a5d91e4cc5d23df7501a21e2f9ee1baae7 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiStructure @@ -0,0 +1,11 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=refactored +name=PmWiki.WikiStructure +post= Save +rev=39 +targets=PmWiki.WikiPage,PmWiki.WikiWord,PmWiki.Links,PmWiki.WikiGroup,PmWiki.WikiTrails,PmWiki.Categories,PmWiki.PageTextVariables,PmWiki.PageLists,Site.PageListTemplates,PmWiki.IncludeOtherPages,PmWiki.Search +text=(:Summary: PmWiki structural support for page organization:)%0aAuthors have a range of options to choose from when organizing a collection of [[wiki page]]s. %0aUsed in combination, these give a lot of flexibility.%0aAn effective wiki will use all of these to optimize%0a* content%0a* navigation%0aThese are the two most important aspects of a website.%0a%0a:[[Wiki Word]]: The most powerful organizing principle is the author's choice of page names. When a search returns a list of pages, their names need to be clear enough to guide a visitor to the right place.%0a: : Providing a network of [[PmWiki/links]] to other points in the wiki, with or without wiki words, is the primary means of navigating a wiki.%0a%0a:[[Wiki Page]]: A page with text (and images), where the text can contain for instance [[WikiWord]]s that automatically becomes a link to another WikiPage.%0a%0a:[[Wiki Group]]: PmWiki requires every page to be a member of a group. A group is like a wiki within a wiki; it can have its own presentation look, security controls and navigation aids. With default configuration, [[WikiWord]]s are only searched inside the current group, and you use either [@OtherGroup/MyWikiWord@] or [@OtherGroup.MyWikiWord@] to refer to pages in other groups (see [[Links]]).%0a%0a:[[Wiki Trails]]: A collection of pages, either in the same group or across multiple groups, can be designated as a trail. A visitor can move from stop to stop by clicking on ''next'' and ''previous'' links.%0a%0a:[[Categories]]: Individual wiki pages can also be grouped by having tags and links to a common "category" page; we say that any pages that link to a common page are in a "category" defined by that page. PmWiki uses the [@[[!category]]@] markup as a shorthand to place a page into a category with other pages containing the same markup.%0a: : The shortcoming of categories is that categories do not distinguish between the declaration of a category ([=[[!structure]]=]) and the link to a category ([=[[Category/Structure]]=]).%0a%0a:[[Page text variables]]: A newer and more powerful concept than [[Categories]], pages can use one of more [[page text variables]] to store page attributes. These can the be used in [[page lists]].%0a%0a:[[Page lists]]: Page lists provide a powerful means of presenting lists of relevant pages, or selection of data from within a page. Lists are [[Site/PageListTemplates|template]] based and are highly customizable.%0a%0a:[[Include other pages]]: The capability to include parts of other pages also provides a flexible means of sharing content between pages.%0a%0a:[[Search]]: Being able to search is a fundamental requirement of a website. In PmWiki search, like pagelists is both powerful and highly customizable.%0a +time=1315670897 blob - /dev/null blob + 1b582c79ef7aa337e562a6a3eb2c4f6fac7665e9 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiStyleExamples @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add first heading so the TOC to appear higher +name=PmWiki.WikiStyleExamples +rev=184 +targets=PmWiki.WikiStyles,Cookbook.WikiStylesPlus,PmWiki.WikiStyleColors,Cookbook.OutlineLists +text=(:Summary: Styling text for colour and other attributes:)%0aSee also [[Cookbook:WikiStylesPlus | Wiki Styles Plus]] and [[(PmWiki:)Wiki style colors]].%0a%0aPmWiki uses [[WikiStyles]] for styling text with color and other attributes. PmWiki 2.0 introduced the ability to control the styling further and to even place styles on blocks.%0a%0a!! Examples%0aA style is specified within a pair of %25-signs and styles the text that follows, as in:%0a%0a(:markup class=horiz:)%0aThis text is %25color=red%25 red, %25color=blue%25 blue, %25%25 and normal (black).%0a(:markupend:)%0a%0aThere are a wide number of available style properties, borrowed primarily from HTML and CSS. In addition, an author can define a style "shortcut" by using the [@define=@] property. For example, to define a style of [@%25red%25@], one can use:%0a%0a(:markup class=horiz:)%0a%25define=mystyle color=red%25%0aHere is some %25mystyle%25 red text created using a style shortcut.%0a(:markupend:)%0a%0aShortcuts can be combined with other styles, including other shortcuts:%0a%0a(:markup class=horiz:)%0a%25define=lovelyred color=red%25%0a%25define=likegrapefruit bgcolor=yellow%25%0a%0a%25red%25 This text is red, %25red bgcolor=#ccc%25 red on a grey background, and %25lovelyred likegrapefruit%25 red on a yellow background. %0a(:markupend:)%0a%0aSo far, this is all basically the same as what was available in PmWiki 1.0. PmWiki 2.0 includes the capability to style blocks, by using the [@apply=@] style property. Specifying [@apply=block@] in a `WikiStyle will cause that style to be applied to the entire block, instead of just the text that follows:%0a%0a(:markup:)%0aThis entire block %25apply=block bgcolor=yellow%25 has a yellow background, even though the `WikiStyle appears in the middle of the line. %25bgcolor=pink%25 Other inline (non-block) WikiStyles can appear in the middle of the line,%25%25 as before.%0a(:markupend:)%0a%0aThis means it's now possible to do right-aligned and centered text:%0a%0a(:markup:)%0a%25block text-align=right%25 The text of this paragraph is right-aligned. %0a%0a%25block text-align=center%25 The text of this paragraph is centered. %0a(:markupend:)%0a%0a%0aIn fact, PmWiki predefines [@%25right%25@] and [@%25center%25@] style shortcuts so that you can do this more simply:%0a%0a(:markup class=horiz:)%0a%25right%25 This is right-aligned.%0a%0a%25center%25 This is centered.%0a(:markupend:)%0a%0aAuthors can define their own custom styles:%0a%0a(:markup:)%0a%25define=Pm block bgcolor=#fdf%25%0a%25define=goofy center bgcolor=#dfd border='3px dotted green'%25%0a%25define=rediguana right bgcolor=#ffffcc border='1px dotted red' padding=5px%25%0a%25define=strike text-decoration=line-through%25%0a%0a%25Pm%25 Any text that is on a light purple background is a comment from "Pm".%0a%0a%25goofy%25 Here's some text from Goofy.%0a%0a%25rediguana%25 bla bla by rediguana!%0a%0a%25goofy%25Hello, I am %25strike%25upset%25%25 %25strike%25disheartened%25%25 happy to meet you.%0a(:markupend:)%0a%0aStyles can be applied to almost any kind of block:%0a%0a(:markup class=horiz:)%0a* %25block bgcolor=yellow%25 Here is a list item%0a* Here's another list item%0a%0a* Here's more of a list%0a%0a# A new list%0a(:markupend:)%0a%0aIn particular, this means that outlines are now possible using the predefined [@%25ROMAN%25@], [@%25roman%25@], [@%25ALPHA%25@], and [@%25alpha%25@] list-block styles. The style has to be specified on the first item in the list (and we may develop an alternate syntax for this sort of ordered list):%0a%0a(:markup class=horiz:)%0a# %25ROMAN%25 Top level%0a## %25ALPHA%25 second-level%0a## second-level%0a## second-level%0a### third-level%0a### third-level%0a## second-level%0a### third-level%0a#### %25alpha%25 fourth-level%0a##### %25roman%25 fifth-level%0a##### fifth-level%0a#### fourth-level%0a# top-level%0a# top-level%0a(:markupend:)%0a%0a[[Wiki styles]] can be combined with CSS stylesheets to do this automatically -- see [[Cookbook:OutlineLists]].%0a%0a%0a!! Q & A%0a%0a!!! How do I get a block of preformatted text?%0a%0aUse something similar to this (assuming you want markup within the block to be interpreted as wiki markup and URIs to be recognized).%0a%0a(:markup:)%0a>>white-space=pre%3c%3c%0aThis block of text is ''preformatted'', see all the white-space%0aand linebreaks%0aare preserved. Links such as [[wiki styles]] etc still work.%0a>>%3c%3c%0a(:markupend:)%0a%0a!!! How do I get a block of preformatted text with a colored background and a border?%0a%0aUse something similar to this (note that wiki markup etc is not recognized within the block):%0a%0a(:markup:)%0a%25block bgcolor=#f0f9ff border='1px solid gray' padding=5px%25[@%0aip access-list extended example-acl%0aremark ** This is an example acl **%0adeny ip any host 10.0.0.1%0apermit ip any any%0a@]%0a(:markupend:)%0a%0a!!! How do I get a block of text (including wiki markup) with a colored background and a border?%0a(:markup class=horiz:)%0a>>teal background-color:silver border:'medium dotted green'%3c%3c%0aHello world%0a* bullet%0a# number%0a>>%3c%3c%0a(:markupend:)%0a%0a!!! How do I get a block of text (including wiki markup) with a border that is indented on the left and does NOT extend all the way to right? I'm not interested in having later text to the right as would occur with lfloat...%0a%0aYou can use the @@indent width=50pct@@ wikistyle.%0a%0a(:markup class=horiz:)%0aBefore indention...%0a>>frame indent width=50pct%3c%3c%0aHello world%0a* bullet%0a# number%0a>>%3c%3c%0a... after indention!%0a(:markupend:) +time=1567165085 blob - /dev/null blob + fa9c4936b346b5dc6de1cb4214130c730a556f39 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiStyles @@ -0,0 +1,10 @@ +version=pmwiki-2.2.129 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=upd. highlight.js version (+0) +name=PmWiki.WikiStyles +post= Save +rev=239 +targets=PmWiki.WikiWord,PmWiki.WikiStyleColors,PmWiki.BlockMarkup,PmWiki.Tables,PmWiki.TableDirectives,PmWiki.GroupHeaders,PmWiki.WikiAdministrator,PmWiki.LocalCustomizations,PmWiki.CustomWikiStyles,Cookbook.OutlineLists,PmWiki.BasicEditing,PmWiki.LayoutVariables,PmWiki.WikiStyleExamples,PmWiki.TextFormattingRules,PmWiki.ListStyles,Cookbook.WikiStylesPlus +text=(:Summary: Modifying the style of page contents:)%0a(:Audience: authors (basic, advanced) :)%0a%0aWikiStyles allow authors to modify the color and other styling attributes of the contents of a page. %0aA WikiStyle is written using percent-signs, as in %25red%25[@%25red%25@]%25%25 or %25bgcolor=lightblue%25[@%25bgcolor=lightblue%25@]%25%25.%0a%0a[[#Attributes]]%0a!! WikiStyle attributes%0a%0aThe style attributes recognized within a WikiStyle specification are:%0a(:table:)%0a(:cellnr colspan=2:)%25center%25------------ CSS -------------%25%25%0a(:cell:)%25center%25--HTML--%25%25%0a(:cellnr:)%0a bgcolor%0a background-color%0a border'^[[#al|1]]^'%0a color%0a display%0a float%0a clear%0a font-size%0a font-family%0a font-weight%0a font-style%0a(:cell:)%0a height[[#fn|*]]%0a list-style%0a margin'^[[#al|1]]^'%0a padding'^[[#al|1]]^'%0a text-align%0a text-decoration%0a white-space%0a width[[#fn|*]] %0a(:cell:)%0a accesskey %0a align%0a class%0a hspace %0a id %0a target %0a rel %0a vspace %0a value%0a reversed%0a(:cellnr rowspan=3:)%0a Special: define, apply%0a(:tableend:)%0a%0aThe attributes in the first two columns correspond to the ''[[cascading style sheet -> http://blooberry.com/indexdot/css/propindex/all.htm]]'' (CSS) properties of the same name. The attributes in the last column apply only to specific items:%0a%0a* '''[@class=@]''' and '''[@id=@]''' assign a CSS class or identifier to an HTML element%0a* '''[@target=name@]''' opens links that follow in a browser window called "name"%0a* '''[@rel=name@]''' in a link identifies the relationship of a target page%0a* '''[@accesskey=x@]''' uses 'x' as a shortcut key for the link that follows%0a* '''[@value=9@]''' sets the number of the current ordered list item%0a%0a** [[#fn]] The width and height attributes have asterisks because they are handled specially for %3cimg .../> tags. If used by themselves (i.e., without anything providing an "apply=" parameter to the WikiStyle), then they set the 'width=' and 'height=' attributes of any %3cimg ... /> tags that follow. Otherwise, they set the 'width:' and 'height:' properties of the element being styled.%0a## [[#al]] margin, padding, and border can be suffixed by -left, -right, -top, and -bottom%0a%0a!! WikiStyles versus CSS styles%0aWikiStyles, as written in the wiki page, are not exactly CSS styles or CSS classes. WikiStyles allow authors to use both pre-defined by the administrator CSS classes, and to define new combinations of styles, without any need to edit/update local CSS files on the server.%0a%0aNote that PmWiki allows advanced authors to use of @@ class= @@ and @@ style= @@ in tables and division blocks, but these are raw HTML attributes, and not WikiStyles; knowledge of CSS is required to use them.%0a%0a!! Text color and font%0aThe most basic use of WikiStyles is to change text attributes such as color, background color, and font. %0aPmWiki defines several WikiStyles for changing the text color to [=%25black%25, %25white%25, %25red%25, %25yellow%25, %25blue%25, %25gray%25 (%25grey%25), %25silver%25, %25maroon%25, %25green%25, %25navy%25, %25fuchsia%25, %25olive%25, %25lime%25, %25teal%25, %25aqua%25, %25orange%25 and %25purple%25=].%0a%0a(:markup class=horiz:)%0aThe basket contains %25red%25 apples, %25blue%25 blueberries, %25purple%25 eggplant, %25green%25 limes, %25%25 and more.%0a(:markupend:)%0a%0aFor colors other than the predefined colors, use the [@%25color=...%25@] WikiStyle. (Note: RGB colors (#rrggbb) should always be specified with lowercase letters to avoid [[WikiWord]] conflicts.)%0a%0a(:markup class=horiz:)%0aI'd like to have some %25color=#ff7f00%25 tangerines%25%25, too!%0a(:markupend:)%0a%0aTo change the background color, use [@%25bgcolor=...%25@] as a WikiStyle:%0a%0a(:markup class=horiz:)%0aThis sentence contains %25bgcolor=green yellow%25 yellow text on a green background.%0a(:markupend:)%0a%0aSee [[(PmWiki:)WikiStyle Colors]] for more color help.%0a%0a!! Text justification%0aWikiStyles are used to control the text justification%0a%0a(:markup class=horiz:)%0a%25center%25 This text is centered. %0a%0a%25right%25 Right justified.%0a(:markupend:)%0a%0aand to create floating text:%0a%0a(:markup class=horiz:)%0a%25rfloat%25 This text floats to the right%0a%0a%25rframe%25 floats to the right with a frame%0a%0aLorem ipsum dolor sit amet, consectetuer sadipscing elitr%0a(:markupend:)%0a%0a%0a[[#Scope]]%0a!! Scope%0a%0aWikiStyles can also specify a ''scope''; with no scope, the style is applied to any text that follows up to the next WikiStyle specification or the end of the paragraph, whichever comes first. The '''apply=''' attribute and its shortcuts allow to change the scope as follows:%0a%0a||class='tabtable' cellpadding=3 cellspacing=0 style="border:1px dotted blue;" rules=rows %0a||!apply attribute ||!shortcut ||!style applies to... ||%0a||[@%25apply=img ...%25@] ||- ||all images that ''follow'' until another style applied||%0a||[@%25apply=p ...%25@] ||[@%25p ...%25@] ||the current paragraph||%0a||[@%25apply=pre ...%25@] ||- ||the current preformatted text||%0a||[@%25apply=list ...%25@] ||[@%25list ...%25@] ||the current list||%0a||[@%25apply=item ...%25@] ||[@%25item ...%25@] ||the current list item||%0a||[@%25apply=div ...%25@] ||- ||the current div||%0a||[@%25apply=block ...%25@] ||[@%25block ...%25@] ||to the current block, whether it's a paragraph, list, list item, heading, or division.||%0a%0aThus, '''[@%25p color=blue%25@]''' is the same as '''[@%25apply=p color=blue%25@]''', and '''[@%25list ROMAN%25@]''' is the same as '''[@%25apply=list list-style=upper-roman%25@]'''.%0a%0aSome [[#predefined|predefined style shortcuts]] also make use of apply, thus '''[@%25right%25@]''' is a shortcut for '''[@%25text-align=right apply=block%25@]'''.%0a%0aExample: Apply a style to a paragraph:%0a(:markup:)%0a%25p bgcolor=#ffeeee%25 The WikiStyle specification at the beginning of this line applies to the entire paragraph, even if there are %25blue%25 other WikiStyle specifications %25%25 in the middle of the paragraph.%0a(:markupend:)%0a%0a%0a'''Caveat''': An applied WikiStyle will only take effect if it's on the%0aline that starts the thing it's supposed to modify. In other%0awords, a WikiStyle in the third markup line of a paragraph%0acan't change the attributes of the paragraph:%0a%0a(:markup class=horiz:) %0aafter the first line of the paragraph,%0awe try to %25apply=p color=blue%25 change color.%0aThis does't work because the style comes after the first line of the paragraph.%0a(:markupend:)%0a%0a(:markup class=horiz:)%0aHowever, this %25apply=p color=red%25 paragraph%0a''will'' be in red because its block style does%0aoccur in the first line of its text.%0a(:markupend:)%0a%0a(:markup class=horiz:) %0a* Here's a list item%0a* %25list red%25 Oops, too late to affect the list!%0a(:markupend:)%0a%0aIf you want to break a list in two, you need to have a line not part of the list between, that is a line that has any content other than space and newlines, otherwise PmWiki considers the vertical space part of the previous list item. You can have an non-breaking space, or the escaped null character:%0a%0a(:markup class=horiz:)%0a* %25list red%25 first item%0a* second item%0a %0a* %25apply=list bgcolor=lightgreen%25 second list - first item%0a* second list - second item%0a[==]%0a* %25list class=mambo%25 third list - first item%0a* third list - second item%0a(:markupend:)%0a%0a%0a[[#blocks]]%0a!! Larger blocks%0a%0aThe '''[@>>WikiStyle%3c%3c@]''' block can be used to apply a WikiStyle to a large block of items. %0aThe style is applied until the next [@>>%3c%3c@] is encountered.%0a%0a(:markup class=horiz:)%0a>>blue font-style:italic bgcolor=#ffffcc%3c%3c%0aEverything after the above line is styled with blue italic text,%0a%0aThis includes%0a preformatted %25red%25text%25%25%0a* lists%0a-> indented items%0a>>%3c%3c%0a(:markupend:)%0a%0aNote, the '''[@(:div style="..." class="...":)@]''' directive does not work the same way as [@>>WikiStyle%3c%3c@], it can only contain the regular HTML style and class attributes.%0a%0a%0a[[#styleclass]]%0a!! HTML "class" and "style" attributes for tables and divisions%0aWikiStyles are only the commands between [@%25...%25@] percent signs.%0a%0a[[PmWiki/Tables]], [[PmWiki/table directives]] and [[PmWiki.BlockMarkup#div|[=(:div:)=]]] division blocks allow advanced authors to incorporate the HTML/CSS attributes @@ class= @@ and @@ style=@@. %25red%25 Note that these attributes are not WikiStyles%25%25, knowledge of CSS is required to use them.%0a%0a(:markup class=horiz:)%0a(:table style="font-style:italic; color:green; border:1px solid blue; background-color:#ffffcc":)%0a(:cellnr:)%0aEverything after the above line is styled with green italic text,%0a%0aThis includes%0a preformatted text%0a* lists%0a-> indented items%0a(:tableend:)%0a(:markupend:)%0a%0aNote, the '''[@(:div style="..." class="...":)@]''' directive does not work the same way as [@>>style%3c%3c@], as mentioned above, it can only contain the HTML style and class attributes.%0a%0a[[#Shortcuts]]%0a!! Custom style shortcuts%0a%0aThe '''[@define=@]''' attribute can be used to assign a shorthand name to any WikiStyle specification.%0aThis shorthand name can then be reused in later WikiStyle specifications.%0a%0a(:markup class=horiz:)%0a%25define=box block bgcolor=#ddddff border="2px dotted blue"%25%0a%0a%25box%25 [@some sort of text@]%0a%0a%25box font-weight=bold color=green%25 [@some sort of text@]%0a(:markupend:)%0a%0a-%3c '''Tip:''' It's often a good idea to put common style definitions into [[Group Header(s)]] pages so that they can be shared among multiple pages in a group. Or, the [[wiki administrator]] can predefine styles site-wide as a [[local customization(s)]] (see [[Custom WikiStyles]]).%0a%0a-%3c '''Tip:''' Use custom style definitions to associate meanings with text instead of just colors. For example, if warnings are to be displayed as green text, set [@%25define=warn green%25@] and then use [@%25warn%25@] instead of [@%25green%25@] in the document. Then, if you later decide that warnings should be styled differently, it's much easier to change the (one) definition than many occurrences of [@%25green%25@] in the text.%0a%0a-%3c '''Tip:''' Any undefined WikiStyle is automatically treated as a request for a class, thus [@%25pre%25@] is the same as saying [@%25class=pre%25@].%0a%0a!![[#predefined]] Predefined style shortcuts%0a%0aPmWiki defines a number of style shortcuts.%0a%0a* Text colors: %25black%25black%25%25, %25white bgcolor=black%25white%25%25, %25red%25red%25%25, %25yellow%25yellow%25%25, %25blue%25blue%25%25, %25gray%25gray (grey)%25%25, %25silver%25silver%25%25, %25maroon%25maroon%25%25, %25green%25green%25%25, %25navy%25navy%25%25, %25purple%25purple%25%25, %25fuchsia%25fuchsia%25%25, %25olive%25olive%25%25, %25lime%25lime%25%25, %25teal%25teal%25%25, %25aqua%25aqua%25%25, %25orange%25orange%25%25 (shortcut for [@%25color=...%25@])%0a* Justification: [@%25center%25@] and [@%25right%25@]%0a* Images and boxes%0a** Floating left or right: [@%25rfloat%25@] and [@%25lfloat%25@]%0a** Framed items: [@%25frame%25@], [@%25rframe%25@], and [@%25lframe%25@]%0a** Thumbnail sizing: [@%25thumb%25@]%0a* Open link in new window: [@%25newwin%25@] (shortcut for [@%25target=_blank%25@])%0a* Comments: [@%25comment%25@] (shortcut for [@%25display=none%25@]). %25red%25 This is not meant to hide secrets,%25%25 as the hidden content is still printed into the HTML source of the page -- readable to bots (and may appear in web searches) or via "View: Source" and "View: Page Style: None" in the browser.%0a* Ordered lists: [@%25decimal%25@], [@%25roman%25@], [@%25ROMAN%25@], [@%25alpha%25@], [@%25ALPHA%25@], [@%25reversed%25@] (see also Cookbook:OutlineLists)%0a%0a!! Enabling the "Syntax Highlight" code beautifier library %25block id=highlight%25%0a%0aSince version 2.2.119, PmWiki makes it relatively easy to enable syntax highlighting for preformatted text blocks. Note, a block is considered a "code block" for highlighting if it is rendered as a preformatted element. see [[BasicEditing#preformatted]] for 3 ways to do this.%0a%0aTo enable syntax highlighting, add to config.php:%0a%0a(:hlt_cdn_prefix:[=https:=]//cdn.jsdelivr.net/gh/highlightjs/cdn-release@latest/build:)%0a>>hlt php%3c%3c%0a $EnableHighlight = 1;%0a $HTMLHeaderFmt['Highlight'] = '%0a %3clink rel="stylesheet" href="{$:hlt_cdn_prefix}/styles/default.min.css" />%0a %3cscript src="{$:hlt_cdn_prefix}/highlight.min.js">%3c/script>';%0a>>%3c%3c%0a''This loads the [[https://highlightjs.org/ | Highlight.js library]] from a global CDN, but you can copy these 2 files to your @@pub@@ directory and link to them instead.''%0a%0aThen, in a wiki page, you can use the [@%25highlight%25@] or [@%25hlt%25@] wikistyles, and the language to mark your code blocks.%0a%0aEither immediately before the code block:%0a(:markup:)%0a%25hlt php%25[@%0a function SDVA(&$var,$val)%0a { foreach($val as $k=>$v) if (!isset($var[$k])) $var[$k]=$v; }%0a function IsEnabled(&$var,$f=0)%0a { return (isset($var)) ? $var : $f; }%0a@]%0a(:markupend:)%0a%0aOr in a wrapping division block:%0a(:markup:)%0a>>highlight css%3c%3c%0a /* These adjust the size and spacing of heading elements */%0a h1, h2, h3, h4, h5, h6 { margin:1.0em 0 .6em 0; }%0a h1, h2, h3, h6 { font-weight:normal; }%0a h4, h5 { font-weight:bold; }%0a>>%3c%3c%0a(:markupend:)%0a''If you have the feature correctly enabled you will see the syntax highlighting of the above code.''%0a%0a[[#Styles]]%0a!! Enabling Styles%0aStyles not listed above can be enabled by a PmWiki Administrator by modifying the local/config.php file. %0aFor instance to enable the "line-height" style attribute add the following line to the local/config.php file:%0a%0a->[@$WikiStyleCSS[] = 'line-height';@]%0a%0a%0a[[#WikiStyleApply]]%0a!! Defining scope for other HTML elements%0aYou can add additional HTML elements to [@$WikiStyleApply@] to apply WikiStyles to other HTML elements. For example to allow styling on anchor tags:%0a%0a $WikiStyleApply['link'] = 'a';%0a%0a%0a[[#Examples]]%0a!! Examples%0a%0a[[WikiStyle Examples]] contains a number of examples of ways to use WikiStyles in pages.%0a%0a[[#KnownIssues]]%0a!! Known Issues%0a* Percents in style definitions (like: [@%25block width=50%25 %25@]) require the use of "pct" instead of "%25". PmWiki will convert the "pct" into "%25" so that it becomes valid CSS.%0a* If you specify multiple values for an attribute, like @@border="2px solid blue"@@ make sure you place the values in quotes.%0a* Be sure to use lowercase letters for red-green-blue hex colors, [@%25color=#aa3333%25@] will work, [@%25color=#AA3333%25@] may not.%0a[[#SeeAlso]]%0a!!See Also%0a* [[PmWiki/Custom WikiStyles]] {PmWiki/CustomWikiStyles$:Summary}%0a* [[PmWiki:List Styles]] {PmWiki/ListStyles$:Summary}%0a* [[Cookbook:WikiStylesPlus | WikiStylesPlus]] {Cookbook.WikiStylesPlus$:Summary} +time=1592380927 blob - /dev/null blob + b7363f84abc6c2c9bc31ac815a1e740c790ad1a5 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiTrails @@ -0,0 +1,9 @@ +version=pmwiki-2.2.118 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=rm manual TOC, add !!FAQ +name=PmWiki.WikiTrails +rev=168 +targets=PmWiki.PageLists,PmWiki.GroupHeader,PmWiki.Links,PmWiki.ListStyles,Cookbook.CSSInWikiPages,PmWiki.Installation,PmWiki.LocalCustomizations,PmWiki.PmWiki,PmWiki.PmWikiPhilosophy,PmWiki.WikiStyles,PmWiki.Uploads,PmWiki.InterMap,Cookbook.Cookbook,PmWiki.TextFormattingRules,PmWiki.DesignNotes,PmWiki.Security,PmWiki.Troubleshooting,PmWiki.GroupHeaders,PmWiki.ConditionalMarkup,PmWiki.FullName,PmWiki.WebFeeds +text=(:Summary: Trails from lists items from a single page:)%0a(:Audience: authors (basic) :)%0aThe WikiTrails feature allows wiki authors to create "trails" through sequences of pages in the wiki. You simply specify pages and their order on a "trail index", and then place the navigation markup on the pages that you will be navigating. %0a%0a(Don't confuse the [[PmWiki/PageLists|pagelist]] directive with WikiTrails - they are different animals as explained in the [[#faq|Q and A]] below.)%0a%0a[[#types]]%0a!! Trail types%0aPmWiki defines 2 trail markups, specifying a trail index link:%0a%0a* '''[@%3c%3c|[[Trail Index Page]]|>>@]''' displays as "[=%3c%3c PreviousPage | Trail Index Page | NextPage >>=]".%0a%0a* '''[@%3c|[[Trail Index Page]]|>@]''' displays as "[=%3c PreviousPage | Trail Index Page | NextPage >=]", except the appropriate arrow is omitted at the beginning and end of the trail.%0a%0aand for a [[#pathtrail| trail path]]:%0a* '''[@^|[[TrailIndexPage]]|^@]'''%0a%0aMarkup is most often added to a [[group header]] or group footer.%0a%0a[[#linksyntax]]%0a!! Trail index page link markup%0aThe trail index page link has the same markup as a standard [[link(s)]], %0athis means for example you can specify:%0a* [@%3c|[[TrailIndexPage | +]]|>@]%0a* [@%3c%3c|[[TrailIndexPage | A description]]|>>@]%0a%0aTrail index page links can be restricted by [[links#anchors|anchors]] (links to a specific location within a page),%0athis means you can have more than one trail on a page, or start a trail from a specific location in a page.%0a* [@%3c|[[Trail Index Page(#trailstart#trailend)]]|>@]%0a%0a[[#creating]]%0a!! Creating a trail%0a%0aBefore you can use a trail through a set of pages, you have to create a "trail index" on a separate page, which we will call the "trail index page". %0aOn that trail index page, you simply create a numbered, bulleted, or definition [[PmWiki:ListStyles|list]] of links. (So every numbered or bulleted list of links implicitly creates a trail.) %0a%0aIt is important that each page name ([[Links|link]]) be the first item following each bullet; any text or formatting in front of the page name link will exclude it from the trail.\\%0aIf you want to format your trail (list), you can [[Cookbook:CSSInWikiPages|include a CSS]].%0a%0aAn example trail index page might contain the list:%0a[[#trailstart]]%0a* [[Installation]] how to install%0a* [[The customisation page->LocalCustomizations]]%0a* [[PmWiki]] some other text [[PmWiki Philosophy]] [-(The latter won't be in the trail because it is preceded by text)-]%0a* Yet some other text. [[PmWiki.WikiStyles]] [-(This won't be in the trail because it follows text)-]%0a* %25center%25[[PmWiki/Uploads]] [-(This won't be in the trail because it is preceded by the [=%25center%25=] style.)-]%0a%0a* Some text [-(This won't be in the trail because it is not a link)-]%0a* [[PmWiki/PageLists]] {PmWiki/PageLists$:Summary}%0a* [[http://pmwiki.org]] [-(This won't be in the trail because it is not a page link)-]%0a** [[PmWiki:InterMap]] [-(This won't be in the trail because it is an [[InterMap]] link)-]%0a* [[Cookbook:Cookbook]] [-(This won't be in the trail because it is an [[InterMap]] link)-] %0a: [[PmWiki philosophy]] : [[Design notes]] [-(The first link in this definition list will, and the second link won't, be in the trail defined by ([[TextFormattingRules#DefinitionLists | definition list]]))-]%0a* [[#security]][[Security]] [-(This won't be in the trail because its preceded by a (hidden) [[Links#anchors | anchor]])-]%0a* %25newwin%25[[Links]] [-(This won't be in the trail because its preceded by a (hidden) [=%25newwin%25=] style)-]%0a* ''[[PmWiki/Troubleshooting]]'' [-(This won't be in the trail because its preceded by (hidden) ''italic'' style markup)-]%0a[[#trailend]]%0a%0aThe list above creates the following "wikitrail", displayed using a [[PageLists|pagelist]]:%0a(:markup:)%0a(:pagelist trail={$FullName}#trailstart#trailend fmt={$FullName}#traillist:)%0a(:markupend:)%0a%0a[[#observations]]%0a!!! Observations%0a%0a# In general, indentation levels in the page list don't matter -- trails are a linear sequence of pages.%0a# A page is part of the trail only if the page link immediately follows the list markup.%0a# The list itself can be [[#linksyntax|delineated]] by the use of [[#list#anchors|anchors]], allowing for multiple lists on a page, or for some list items to be excluded.%0a%0a[[#using]]%0a!! Using the trail%0a%0aWhat makes a trail "work" is adding ''trail markup'' on the pages in the trail (i.e. the pages that are listed in the bullet/numbered list on the trail index page).%0a%0aTo build a trail, add ''trail markup'' like [@%3c%3c|[[TrailIndexPage]]|>>@] to a page, where `TrailIndexPage is the page, described above, containing the bulleted list of pages in the trail. PmWiki will display the trail markup with links to any previous and next pages in the trail. %0a%0aThe trail markup can be placed anywhere in a group header or footer, or on a page. A page can contain multiple trail markups. If you are adding a trail to every page in a group, consider setting the trail markup in the [[Group Headers | Group Header]] or Group Footer pages instead of on every individual page in your group.%0a%0a[[#pathtrail]]%0a!!! Path trail[[#path-trail]]%0a%0a[@^|[[TrailIndexPage]]|^@] treats the list levels as a hierarchy and displays the "path" to reach the current page (i.e., a "breadcrumb" trail). In the example trail above, the markup [@^|TrailIndexPage|^@] on [@TrailPage4@] would display as "[=TrailIndexPage | TrailPage2 | TrailPage4=]".%0aand for a [[#pathtrail| trail path]]%0a%0aWiki administrators can change the trail separator of the "path" trail ( [@^|[[TrailIndexPage]]|^@] ) from the default | by setting the variable @@$TrailPathSep@@ in the ''config.php'' file. For instance @@$TrailPathSep = ' > ';@@ will output "[=TrailIndexPage > TrailPage2 > TrailPage4=]".%0a%0a[[#circular-trails]]%0a!! Circular trails%0a%0aTypically, a trail is a linear list with a first and a last page. However, the trail can be made "circular" by repeating the first page as the last item in the trail index:%0a%0a->[@%0a * [[TrailPage1]]%0a * [[TrailPage2]]%0a ...%0a * [[TrailPageN]]%0a * [[TrailPage1]]%0a@]%0a%0aIf the trail index page is intended to be read by others, the last item can be made invisible inside an [@(:if false:)@] block:%0a%0a->[@%0a * [[TrailPage1]]%0a * [[TrailPage2]]%0a ...%0a * [[TrailPageN]]%0a (:if false:)%0a * [[TrailPage1]]%0a (:ifend:)%0a@]%0a%0a[[#crossgroup]]%0a!! Cross Group Trails%0aBefore version 2.2.1, if your trail contains pages in different groups, it should use full [=[[Group.Name]]=] links instead of just [=[[Name]]=].%0a%0a!! Other notes%0a* There is no space between @@[=%3c|=]@@ and @@[=[[link]]=]@@ and @@[=|>=]@@; same for the other trail markups.%0a* Note that non-existing pages will appear in the WikiTrail as links.%0a* [[Conditional markup]] supports the [[ConditionalMarkup#ontrail | ontrail]] query.%0a* [[Page lists]] provides the [[PageLists#pagelisttrail | trail=]] parameter.%0a%0a[[#trailstyle]]%0a!!! Trail style%0aPmWiki encapsulates the trail with a @@''wikitrail''@@ css class. %0aThis allows the wiki trail to be [[LocalCustomizations | customised]] by defining CSS for the ''wikitrail'' in the @@''local.css''@@ file.%0a%0a%0a[[#trailpagelists]]%0a!!! Trail in [[page lists]]%0aTrails from a single page can only be displayed using the pagelist [[PmWiki/PageLists#pagelisttrail|trail]] parameter. For example%0a(:markup class="horiz":)%0a(:pagelist trail=PmWiki/WikiTrails#trailstart fmt=PmWiki.WikiTrails#traillist order=random,$Name count=3:)%0a(:markupend:)%0a%0a!!!A simple example of a WikiTrail%0a%0a1) On the TrailIndexPage:%0a%0a[@%0a* [[MyTrailPage1]]%0a* [[MyTrailPage2]]%0a* [[MyTrailPage3]]%0a@]%0a%0a2) On the pages MyTrailPage1, 2, and 3:%0a%0a[@%0a%3c%3c|[[TrailIndexPage]]|>>%0a@]%0a%0a>>comment%3c%3c%0a[[#traillist]]%0a%25font-size:small green%25> [[{=$FullName}|{=$Groupspaced}.{=$Namespaced}]] %3c%0a[[#traillistend]]%0a>>%3c%3c%0a%0a!! FAQ%0a[[#faq]]%0a>>faq%3c%3c%0aQ: What's the difference between a [[[[PmWiki/PageLists|PageList]] and a WikiTrail?%0aA: The pagelist directive dynamically generates a list of pages. There are many ways to generate the list, including using a WikiTrail as the source. The pagelist directive then displays the pages that match the criteria using an optional template - for example displaying each page name on a separate line as a link or including the entire content. The pagelist directive currently does not have built-in navigation markup that you can put on the pages in the list. By contrast, WikiTrails are simply specified via links on an "index" page and you ''can'' put previous-next navigation markup on each page. The two serve very different purposes. WikiTrails are useful for specifying the pages in [[PmWiki/WebFeeds|web feeds]], for creating a "tour" through a predefined set of pages, and many other things. +time=1567165912 blob - /dev/null blob + 36be316c532a615feea7214b3e977ad65b5d855a (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiWikiWeb @@ -0,0 +1,9 @@ +version=pmwiki-2.2.98 ordered=1 urlencoded=1 +author=Simon +charset=UTF-8 +csum=about pmwiki +name=PmWiki.WikiWikiWeb +rev=89 +targets=PmWiki.Links,PmWiki.TextFormattingRules,PmWiki.WikiWord,Site.AllRecentChanges,PmWiki.BasicEditing,Main.WikiSandbox +text=(:Summary: An introduction to the Wiki Wiki Web (www):)%0a'''WikiWikiWeb''' is an "open-editing" system where the emphasis is on the ''authoring'' and ''collaboration'' of documents rather than the simple browsing or viewing of them. %0aThe name "wiki" is based on the Hawaiian term "wiki wiki", meaning "quick" or "super-fast". %0a%0aThe basic concept of a WikiWikiWeb (or "wiki") is that (almost) anyone can edit any page. While at first this sounds like a recipe for complete anarchy, the truth is that sites using this system have developed surprisingly complex and rich communities for online collaboration and communication. Yes, it's possible for someone to go and destroy everything on a page, but it doesn't seem to happen often. And, many systems (including this one) have built-in mechanisms to restore content that has been defaced or destroyed.%0a%0a''The point of the system is to simply make it as ''quick'', ''easy'' and ''rewarding'' as possible to create or edit online content.''%0a%0aUsing any standard Web browser, a person can edit (almost) any page on the system using relatively simple [[text formatting rules]]. [[Links | Creating a link]] to a new or existing page simply involves putting the word or phrase that will be your link text inside [=[[double square brackets]]=] to reference and serve as a title for the target page. In the process of creating the link you're ''creating the new page'', if it doesn't already exist. On some sites (depending on the configuration of PmWiki), a link can also be created by entering a [[WikiWord]] -- a word consisting of two or more capitalized words joined together.%0a%0aIt's not necessary to learn all of the formatting rules; others will often come in and reformat things for you. After all, anyone can edit! '''You''' can see some of the [[({$SiteGroup}.All) recent changes]] that others have posted to this site.%0a%0aTo learn more about adding pages to this Wiki site, see [[basic editing]], then try editing pages in the [[Main/WikiSandbox]].%0a%0aIf you want to learn more about the WikiWikiWeb concept, try some of these Web sites:%0a%0a* %25newwin%25[[Wiki:WikiWikiWeb]]%25%25 -- The original WikiWikiWeb%0a* %25newwin%25[[Meatball:WhyWikiWorks]]%25%25 -- how and why Wiki works%0a* %25newwin%25[[Meatball:SoftSecurity]]%25%25 -- how open editing can result in good Web sites%0a* %25newwin%25[[http://www.communitywiki.org/cw/CategoryWiki|Wiki]]%25%25 on %25newwin%25[[http://www.communitywiki.org/en/SiteMap|CommunityWiki]]%25%25%0a* %25newwin%25[[Wikipedia:Wiki#Characteristics|WikiFeatures]]%25%25 -- for info on features in wikis and how to use them%0a* %25newwin%25[[Wikipedia:Wikipedia:Why_Wikipedia_is_so_great]]%25%25 -- how and why the biggest wiki in the world made a comprehensive free-content encyclopedia%0a* %25newwin%25[[http://en.wikivoyage.org/wiki/Wikivoyage:Wiki | Wikivoyage:Wiki]]%25%25 -- another introduction to wikis, on another exemplary site%0a%0aIf you want to learn more about PmWiki see:%0a(:pagelist fmt=#titlesummary group=PmWiki name=Audiences,PmWikiPhilosophy,AuthoringPhilosophy,DesignNotes,DocumentationGuidelines,DocumentationIndex,HowToGetAssistance,Security :)%0a%0aOr, send email to Patrick Michaud at mailto:pmichaud@pobox.com. +time=1497906240 blob - /dev/null blob + 0b3b734092e14c36e941553a96c347d22d979c0e (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiWord @@ -0,0 +1,9 @@ +version=pmwiki-2.2.91 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=See also $SpaceWikiWords. +name=PmWiki.WikiWord +rev=36 +targets=PmWiki.WikiWikiWeb,PmWiki.Links +text=(:Summary:Definition and usage of WikiWord:)%0aA '''WikiWord''' is a set of two or more words run together, where the first letter of each word is capitalized. This syntax is also sometimes referred to as "mixed case" or "camel case". Other descriptions of WikiWords are available from [[Wiki:WikiWord]] and [[Wikipedia:WikiWord]].%0a%0a!!Usage as page titles%0aWikiWords are used as '''page titles''' in a [[WikiWikiWeb|wiki-based system]]. %0a%0a!!Usage as links%0aIn some wikis (depending on the configuration of PmWiki), a valid '''link''' can be created by writing it as WikiWord. In such PmWiki installations, WikiWords surrounded by [=[=...=]=] or preceded by a backquote (`) are not turned into links: %0a%0a(:linkwikiwords:)%0a(:markup:)[@LikeThis compared to `LikeThis or even [=LikeThis=]@]%0a(:nolinkwikiwords:)%0a%0aSee [[Links]] for information about `PmWiki's rules for forming links and forming page titles.%0a%0a!!!Enabling WikiWord links%0aWikiWord links are disabled by default since Pmwiki version 2.1 beta2. To enable WikiWord links you need to set in ''config.php'' %0a%0a $EnableWikiWords = 1;%0a%0aSee also $LinkWikiWords and $SpaceWikiWords.%0a%0a!!!WikiWord links to non-existent pages without decoration%0aIf you want to display links to non-existent pages without decoration, place the following lines in ''pub/css/local.css'': %0a%0a-> [@span.wikiword a.createlink { display:none; }%0aspan.wikiword a.createlinktext { border-bottom:none; text-decoration:none; color:inherit; }@]%0a %0a!!!Finding WikiWord links%0aIf you upgraded from an earlier version and want to convert WikiWord links to standard [[links]], the following will help to find those WikiWord links easier by highlighting them. Set in ''config.php'':%0a%0a-> [@$HTMLStylesFmt['wikiword'] = "span.wikiword { background:yellow; }";@] %0a%0a!!!Disabling certain WikiWords links%0aThe variable $WikiWordCount controls WikiWord conversion on a per word basis.%0a%0a +time=1476822572 blob - /dev/null blob + e2a453a51b3b1528ebca974b5d2051dfa0d561b0 (mode 644) --- /dev/null +++ wikilib.d/PmWiki.WikiWords @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=summary +name=PmWiki.WikiWords +rev=4 +targets= +text=(:Summary:Redirects to [[PmWiki.WikiWord]]:)%0a(:redirect WikiWord:) +time=1315670897 blob - /dev/null blob + fdc73d79045966b974402caecc9da1b03b64b4bb (mode 644) --- /dev/null +++ wikilib.d/Site.AuthForm @@ -0,0 +1,9 @@ +version=pmwiki-2.2.78 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=capital first letter +name=Site.AuthForm +rev=19 +targets= +text=(:Summary:Form displayed when requesting a [[PmWiki/password(s)]] or username/password:)%0a'''By logging in, you agree to release all contributions under [[license/ircnow|the IRCNow license]]. $[Password required]'''%0a(:messages:)%0a(:if enabled InvalidLogin:)* $[Name/password not recognized]%0a(:ifend:)%0a(:input auth_form:)%0a(:if enabled EnableAuthUser:)$[Name]: (:input text name=authid:)\\%0a(:if:)$[Password]: (:input password name=authpw:)%0a(:input submit value='$[OK]':)%0a(:input end:)%0a(:ifend:)%0a +time=1438511767 blob - /dev/null blob + 83567e0f03a34d1d4b586ce61c6c48dea7237b6f (mode 644) --- /dev/null +++ wikilib.d/Site.AuthUser @@ -0,0 +1,6 @@ +version=pmwiki-2.2.98 ordered=1 urlencoded=1 +charset=UTF-8 +name=Site.AuthUser +rev=1 +text=(:redirect SiteAdmin.AuthUser:)%0a +time=1000000000 blob - /dev/null blob + c0e9d4b23dec0a30fb85ebd6fb8e9da494a9d730 (mode 644) --- /dev/null +++ wikilib.d/Site.EditForm @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum= +name=Site.EditForm +rev=61 +targets= +text=(:Summary:contains the edit page layout form:)%0a!! $[Editing {*$FullName}] %25block class=wikiaction%25%0a(:messages:)%0a(:div id='wikiedit':)%0a(:input e_form:)[[#top]](:e_guibuttons:)\\%0a(:input e_textarea:)\\%0a$[Summary]: (:input e_changesummary:)\\%0a$[Author]: (:input e_author:) (:input e_minorcheckbox:) $[This is a minor edit]\\%0a(:input e_savebutton:) (:input e_savedraftbutton:) (:input e_saveeditbutton:) (:input e_previewbutton:) (:input e_cancelbutton:)%0a(:input end:)%0a(:divend:)%0a(:include $[{$SiteGroup}/EditQuickReference]:)%0a(:if e_preview:)%0a!! $[Preview {*$FullName}]%0a'''$[Page is unsaved]'''%0a(:e_preview:)%0a----%0a'''$[End of preview -- remember to save]'''\\%0a[[#top | $[Top] ]]%0a(:ifend:)%0a +time=1316300652 blob - /dev/null blob + 233aeb2b2f0835afd78f0c0a07ac33a0ccfaf083 (mode 644) --- /dev/null +++ wikilib.d/Site.EditQuickReference @@ -0,0 +1,9 @@ +version=pmwiki-2.2.67 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=add signatures name and date PITS:01350 +name=Site.EditQuickReference +rev=45 +targets=PmWiki.BasicEditing,PmWiki.TextFormattingRules,PmWiki.DocumentationIndex,PmWiki.Tables,PmWiki.TableDirectives +text=(:nolinebreaks:)(:Summary:quick reference for [[PmWiki/BasicEditing|editing]] pages:)%0a%25define=em font-weight=bold%25%0a(:table width='100%25' cellspacing='0' cellpadding='0' style='font-size:80%25; font-family:Arial; padding:2px; border:1px solid #cccccc;' class='quickref' :) (:comment Use 'quickref' class to override formatting :)%0a(:cellnr:)%0a%25target=_blank%25 [[PmWiki/Basic editing]] - [[PmWiki/Text formatting rules]] - [[PmWiki/Documentation index]]%0a(:cell align=right:)%0a%25em%25Tables%25%25: %25target=_blank%25[[PmWiki/Tables | simple ]] - [[PmWiki/TableDirectives | advanced ]]%0a(:cellnr:)%0a%25em%25Paragraphs%25%25: for a new paragraph, use a blank line;%0a(:cell align=right:)%0a%25em%25Line break%25%25: %0a%25em%25[=\\=]%25%25 or %0a%25em%25[=[[%3c%3c]]=]%25%25%0a(:cellnr:)%0a%25em%25[=->=]%25%25 to indent text, %0a%25em%25[=-%3c=]%25%25 hanging text %0a(:cell align=right:)%0a%25em%25Join line%25%25: %25em%25\%25%25%0a(:cellnr colspan='2':)%0a%25em%25Lists%25%25: %0a%25em%25*%25%25 for bulleted, %0a%25em%25#%25%25 for numbered, %0a%25em%25:%25%25term%25em%25:%25%25definition for definition lists%0a(:cellnr colspan='2':)%0a%25em%25Emphasis%25%25: %0a%25em%25[=''=]%25%25''italics''%25em%25[=''=]%25%25  %0a%25em%25[='''=]%25%25'''bold'''%25em%25[='''=]%25%25  %0a%25em%25[='''''=]%25%25'''''bold italics'''''%25em%25[='''''=]%25%25  %0a%25em%25[=@@=]%25%25@@monospaced@@%25em%25[=@@=]%25%25%0a(:cellnr:)%0a%25em%25References%25%25: %0a%25em%25[=[[=]%25%25another page%25em%25[=]]=]%25%25, %0a%25em%25[=[[=]%25%25[=http://example.com/=]%25em%25[=]]=]%25%25, %0a%25em%25[=[[=]%25%25another page %25em%25[=|=]%25%25 link text%25em%25[=]]=]%25%25, %0a%25em%25[=[[#=]%25%25anchor%25em%25[=]]=]%25%25,%0a%25em%25[=[[#=]%25%25anchor %25em%25[=|=]%25%25 link text%25em%25[=]]=]%25%25%0a(:cell align=right:)%0a%25em%25Signatures:%25%25 name: %25em%25~~[==]~%25%25%0a(:cellnr:)%0a%25em%25Groups%25%25: %0a%25em%25[=[[=]%25%25Group%25em%25[=/=]%25%25Page%25em%25[=]]=]%25%25 [-displays Page,-] %0a%25em%25[=[[=]%25%25Group%25em%25[=.=]%25%25Page%25em%25[=]]=]%25%25 [-displays [=Group.Page=],-] %0a%25em%25[=[[=]%25%25Group%25em%25[=(.=]%25%25Page%25em%25[=)]]=]%25%25 [-displays Group,-]%0a%25em%25[=[[=]%25%25Group%25em%25[=/]]=]%25%25 [-links Group homepage-]%0a(:cell align=right:)%0aname and date: %25em%25~~[==]~~%25%25%0a(:cellnr:)%0a%25em%25Separators%25%25: %0a%25em%25!!%25%25, %0a%25em%25!!!%25%25 for headings, %0a%25em%25[=----=]%25%25 for horizontal line%0a(:cell align=right:)%0a%25em%25Prevent formatting%25%25: %0a%25em%25[=[==]%25%25...%25em%25[==]=]%25%25%0a(:cellnr:)%0a%25em%25Other%25%25: %0a%25em%25[=[+=]%25%25[+big+]%25em%25[=+]=]%25%25  %0a%25em%25[=[++=]%25%25[++bigger++]%25em%25[=++]=]%25%25  %0a%25em%25[=[-=]%25%25[-small-]%25em%25[=-]=]%25%25  %0a%25em%25[=[--=]%25%25[--smaller--]%25em%25[=--]=]%25%25  %0a%25em%25[='^=]%25%25'^superscript^'%25em%25[=^'=]%25%25  %0a%25em%25[='_=]%25%25'_subscript_'%25em%25[=_'=]%25%25  %0a%25em%25[={+=]%25%25{+inserted+}%25em%25[=+}=]%25%25  %0a%25em%25[={-=]%25%25{-deleted-}%25em%25[=-}=]%25%25%0a(:cell align=right:)%0a%25em%25Preformatted%25%25: %0a%25em%25[=[@=]%25%25...%25em%25[=@]=]%25%25 or %0a%25em%25[=>>=]pre%3c%3c%25%25...%25em%25[=>>=]%3c%3c%25%25%0a(:tableend:) +time=1407498170 blob - /dev/null blob + 3f708edb6fca7b9e7001a9f0960dc2e422b228a7 (mode 644) --- /dev/null +++ wikilib.d/Site.GroupAttributes @@ -0,0 +1,7 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +charset=UTF-8 +name=Site.GroupAttributes +passwdattr=@lock +passwdedit=@lock +rev=3 +time=1315674224 blob - /dev/null blob + 4c60ebfacdb0e5f0b5b31ad059e8088f3dbb21a9 (mode 644) --- /dev/null +++ wikilib.d/Site.PageActions @@ -0,0 +1,9 @@ +version=pmwiki-2.2.88 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=$PageInDist after link +name=Site.PageActions +rev=51 +targets=Site.PageActions +text=(:Summary:Contains the '[[PmWiki/AvailableActions|action]]' links (like Browse, Edit, History, etc.), placed at the top of the page, see [[PmWiki/site page actions]]:)%0a(:comment This page can be somewhat complex to figure out the first time you see it. Its contents are documented at PmWiki.SitePageActions if you need help. :)%0a* %25item rel=nofollow class=browse accesskey='$[ak_view]'%25 [[{*$FullName} | $[View] ]]%0a* %25item rel=nofollow class=edit accesskey='$[ak_edit]'%25 [[{*$FullName}?action=edit | $[Edit] ]]%0a* %25item rel=nofollow class=diff accesskey='$[ak_history]'%25 [[{*$FullName}?action=diff | $[History] ]]%0a(:if auth upload:)%0a* %25item rel=nofollow class=upload accesskey='$[ak_attach]'%25 [[{*$FullName}?action=upload | $[Attach] ]]%0a(:ifend:)%0a* %25item rel=nofollow class=print accesskey='$[ak_print]'%25 [[{*$FullName}?action=print | $[Print] ]]%0a(:if group Site,SiteAdmin,Cookbook,Profiles,PmWiki*:) (:comment delete if and ifend to enable backlinks:)%0a* %25item rel=nofollow class=backlinks accesskey='$[ak_backlinks]'%25 [[{*$Name}?action=search&q=link={*$FullName} | $[Backlinks] ]]%0a(:ifend:)%0a(:if enabled AuthPw:)%0a* %25item rel=nofollow class=logout accesskey="$[ak_logout]"%25'' [-[[{*$FullName}?action=logout | $[Logout] ]]-]''%0a(:ifend:) +time=1467280938 blob - /dev/null blob + 10b83e864cc130e6caba14da21c1148bd46f9098 (mode 644) --- /dev/null +++ wikilib.d/Site.PageListTemplates @@ -0,0 +1,10 @@ +version=pmwiki-2.2.122 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=group=p*,s* fmt=#grouphomes for Site(Admin) on a new wiki +ctime=1135725585 +name=Site.PageListTemplates +rev=86 +targets=Group.Group,Group.Name,Site.FullName,Group.Namespaced,Site.LocalTemplates,PmWiki.PageLists,PmWiki.PageListTemplates,PmWiki.PageVariables,PmWiki.PageTextVariables,PmWiki.ConditionalMarkup,Cookbook.PagelistTemplateSamples +text=(:Summary:[[(PmWiki/PageList)Templates]] for PmWiki's [[PmWiki/Page lists]] directive:)%0aThis page contains "templates" for PmWiki's [@(:pagelist:)@] directive. The [[Site.LocalTemplates]] page can be created and used to store pagelist templates that are local to a site.%0a%0a%0a!!Page list template documentation%0a* [[PmWiki.Page Lists]] - {PmWiki/PageLists$:Summary}%0a* [[PmWiki.Page List Templates]] - {PmWiki/PageListTemplates$:Summary}%0a* [[PmWiki.Page Variables]] - {PmWiki/PageVariables$:Summary}%0a* [[PmWiki.PageTextVariables|Page Text Variables]] - {PmWiki/PageTextVariables$:Summary}%0a* [[PmWiki.Conditional Markup]] - {PmWiki/PageLists$:Summary}%0a* [[Cookbook:Pagelist Template Samples]] - {Cookbook/PagelistTemplateSamples$:Summary}%0a%0a%0a!!fmt=#default%0a%0aThe default template for pagelists when [@fmt=@] isn't specified (and note that on the PmWiki.org wiki, this template is over-ridden by the one on the [[Site.LocalTemplates]] page).%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#default]]%0a(:template first {=$Group}:)%0a%0a:[[{=$Group}/]] /:%0a(:template each:)%0a: :[[{=$Group}/{=$Name}]]%0a[[#defaultend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#default count=6:)%0a(:markupend:)%0a%0a%0a!!fmt=#bygroup%0a%0aDisplay pages by group/name.%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#bygroup]]%0a(:template first {=$Group}:)%0a%0a:[[{=$Group}/]] /:%0a(:template each:)%0a: :[[{=$Group}/{=$Name}]]%0a[[#bygroupend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#bygroup count=6:)%0a(:markupend:)%0a%0a%0a!!fmt=#simple%0a%0aA simple bullet list of page names.%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#simple]]%0a* [[{=$FullName}]]%0a[[#simpleend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#simple count=5:)%0a(:markupend:)%0a%0a%0a!!fmt=#title%0a%0aA simple bullet list of page titles. %0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#title]]%0a(:template defaults order=title:)%0a* [[{=$FullName}|+]]%0a[[#titleend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#title count=5:)%0a(:markupend:)%0a%0a%0a!!fmt=#titlespaced%0a%0aOutputs wiki page titles with spaces between the words in the title.%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#titlespaced]]%0a(:template defaults order=title:)%0a* [[{=$FullName}|{=$Titlespaced}]]%0a[[#titlespacedend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#titlespaced count=5:)%0a(:markupend:)%0a%0a%0a!!fmt=#group%0a%0aA bullet list of groups (will not work with count=...).%0a%0a[@%0a[[#group]]%0a(:template first {=$Group}:)%0a* [[{=$Group}/]]%0a[[#groupend]]%0a@]%0a%0a!!fmt=#grouphomes%0a%0aAn optimized bullet list of group home pages (will work with count=...), requires PmWiki 2.2.103.%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#grouphomes]]%0a(:template default list=grouphomes:)%0a* [[{=$Group}/]]%0a[[#grouphomesend]]%0a(:ifend:)%0a%0a(:pagelist group=p*,s* fmt=#grouphomes count=5:)%0a(:markupend:)%0a%0a!!fmt=#include%0a%0aConcatenate the text of pages in the list (note, this can be an expensive operation).%0a%0a[@%0a[[#include]]%0a(:include {=$FullName} self=0:)%0a[[#includeend]]%0a@]%0a%0a%0a!!fmt=#includefaq%0a%0aInclude just the #faq sections from pages in the list. (This can also be expensive,%0aespecially if the list includes pages that don't have the [@[[#faq]]@] anchor!)%0a%0a[@%0a[[#includefaq]]%0a!![[{=$FullName}|+]]%0a>>faq%3c%3c%0a(:include {=$FullName}#faq#faqend self=0:)%0a>>%3c%3c%0a[[#includefaqend]]%0a@]%0a%0a%0a!!fmt=#description%0a%0aList pages and append the page's description if it exists. Creates dash by all names, but adding a nested loop to get rid of it causes markup problems (nested loops are not allowed).%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#description]]%0a* [[{=$FullName}|+]]%0a - {=$Description}%0a[[#descriptionend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#description count=7:)%0a(:markupend:)%0a%0a%0a!!fmt=#simplename%0a%0aSimple bullet list of page names, without the Group name. %0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#simplename]]%0a* [[({=$Group}/){=$Name}]]%0a[[#simplenameend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#simplename count=5:)%0a(:markupend:)%0a%0a%0a!!fmt=#simplenamespaced%0a%0aSimple bullet list of spaced page names, without the Group name. %0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#simplenamespaced]]%0a* [[({=$Group}/){=$Namespaced}]]%0a[[#simplenamespacedend]]%0a(:ifend:)%0a%0a(:pagelist group={$Group} fmt=#simplenamespaced count=5:)%0a(:markupend:)%0a%0a%0a!! fmt=#titlesummary%0a%0aA simple bullet list of page title and summary. %0a%0a(:markup class=horiz:)%0a(:if false:)%0a[[#titlesummary]]%0a* [[{=$FullName} | {=$Title}]]   [-{=$:Summary}-]%0a[[#titlesummaryend]]%0a(:ifend:)%0a%0a(:pagelist group=Site fmt=#titlesummary list=normal count=8:)%0a(:markupend:)%0a%0a!!fmt=#count%0a%0aNumber of pages in a group, includes only "normal" pages%0a%0a(:markup class="horiz":)%0a(:if false:)%0a[[#count]]%0a(:template defaults wrap=inline list=normal :)%0a(:template last:)%0a{$$PageCount}%0a[[#countend]]%0a(:ifend:)%0a%0aNumber of pages in the {$Group} group: (:pagelist group={$Group} fmt=#count :).%0a%0aNumber of pages in the {$Group} group: (:pagelist group={$Group} fmt=count :).%0a%0aThere are (:pagelist group=PmWiki fmt=#count wrap=html :) pages in the PmWiki group.%0a(:markupend:)%0a%0a%0a +time=1577702806 blob - /dev/null blob + 0fef080c790b43fa4f0021641b92cf8b546e631d (mode 644) --- /dev/null +++ wikilib.d/Site.PageNotFound @@ -0,0 +1,10 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum= +name=Site.PageNotFound +rev=46 +targets=Site.PageNotFound +text=(:Summary: Page displayed when PmWiki can't find the requested page:)%0a(:nolinkwikiwords:)%0a(:if name {$SiteGroup}.PageNotFound:)%0a-> %25green font-style:italic%25 This page contains the text to be displayed when PmWiki is unable to locate a requested page. Administrators can edit this page to change the message.%0a(:ifend:)%0a%0a(:if !group Category:)%0aThe page "{$RequestedPage}" doesn't exist. %0a(:ifend:)%0a(:if auth edit:)%0a%25rel=nofollow%25 ([[{*$FullName}?action=edit | Create {*$FullName}]]). %0a(:ifend:)%0a%0a +time=1315674224 blob - /dev/null blob + c2101a63c28dad4bfac9513b404a6cc2f40b49c1 (mode 644) --- /dev/null +++ wikilib.d/Site.Preferences @@ -0,0 +1,9 @@ +version=pmwiki-2.2.39 ordered=1 urlencoded=1 +author=simon +charset=UTF-8 +csum=summary link +name=Site.Preferences +rev=34 +targets=PmWiki.AccessKeys,Site.Preferences,Cookbook.UserConfigurations +text=(:Summary: Preferences for [[PmWiki/access keys]] and edit form:)%0aPreferences for [[PmWiki/access keys]] and edit form%0a%0aThis page can be used as template for (personal) preferences, or set as default site preference (see below).%0a%0a->[@%0a # Access keys - hold Alt (Windows IE), Shift + Alt (Firefox)%0a # or Control (Mac) and tap the indicated key on your keyboard%0a # to trigger the corresponding action.%0a# 'ak_view' => '' , # view page%0a 'ak_edit' => 'e', # edit page%0a 'ak_history' => 'h', # page history%0a# 'ak_print' => '', # print view of page%0a 'ak_recentchanges' => 'c', # Recent Changes%0a 'ak_save' => 's', # save page%0a 'ak_saveedit' => 'u', # save and keep editing%0a 'ak_savedraft' => 'd', # save as draft%0a 'ak_preview' => 'p', # preview page%0a 'ak_textedit' => ',' # focus to edit textarea (at the end)%0a 'ak_em' => 'i', # emphasized text (italic)%0a 'ak_strong' => 'b', # strong text (bold)%0a%0a# 'ak_attach' => '', # attach a file%0a# 'ak_backlinks' => '', # show backlinks%0a# 'ak_logout' => '', # log out%0a%0a # Editing components%0a 'e_rows' => '20', # rows in edit textarea%0a 'e_cols' => '70', # columns in edit textarea%0a 'Site.EditForm' => 'Site.EditForm' # location of EditForm%0a @]%0a%0aTo create personal user (browser) preferences,%0a* make a copy of [[{$FullName}?action=source | this page]] somewhere, preferably as @@Profiles.''%25green%25insert_your_name_here%25%25''-Preferences@@%0a* edit that page with your new preferred settings,%0a* select [[{$FullName}?setprefs={$FullName} | Set Preferences of this Page]] on the page containing your newly created settings. %0a-> This sets a preference cookie on your browser which tells PmWiki where to find your personal preference settings.%0a%0aTo revert to the PmWiki default preferences%0a* select [[{$Name}?setprefs=| Revert to PmWiki Default Preferences]] to unset the preference cookie%0a%0aSee also [[Cookbook:UserConfigurations]] about how to customise the edit form for personal use.%0a%0a%0aNote that by default, parsing of {$FullName} is disabled. To make it the default site preference, add%0a XLPage('prefs', "Site.Preferences");%0ato a config file (e.g. local/config.php).%0a%0aTo disable user preferences entirely set $EnablePrefs = 0; +time=1342223944 blob - /dev/null blob + c509b4200e19344e288cb3927bbd903867374852 (mode 644) --- /dev/null +++ wikilib.d/Site.Search @@ -0,0 +1,9 @@ +version=pmwiki-2.2.73 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=use the accented "ù" character which works with the ISO8859-1 encoding +name=Site.Search +rev=26 +targets= +text=(:Summary:Search wiki:)%0a(:searchbox:)%0a%0a(:searchresults:)%0a%0a[[#searchinfostart]]%0aA search for more than one word will find pages that contain all of the words.%0aUse quotation marks to search for a phrase. %0aAlso use quotes for text with punctuation or special characters.%0aSearches are case insensitive, but accent sensitive in the default configuration (i.e. 'u' is not the same as 'ù').%0a%0aTo limit your search to a single group, enter the group name followed by a slash at the beginning of the search string (e.g., "[=PmWiki/=]" or "{$SiteGroup}/"). %0aTo list all pages, enter a slash for the search. %0a%0a!![-Search examples-]%0a %0a||border='0' cellspacing='0' width='100%25' cellpadding='0'%0a||!Enter ||!To find pages whose content contains ||%0a||apple pie ||both 'apple' and 'pie' ||%0a||"apple pie" ||the phrase 'apple pie' ||%0a||pmwiki/apple ||'apple' in the [=PmWiki=] group of pages ||%0a||"pmwiki/apple" ||the phrase 'pmwiki/apple' in all groups of pages ||%0a||apple -pie ||'apple', omitting those containing 'pie' ||%0a||food -"apple pie" ||'food', omitting those containing 'apple pie' ||%0a||apple "-pie" ||the words 'apple' and '-pie' ||%0a||apple - pie ||'apple', '-', and 'pie' ||%0a||"pie:" ||the word 'pie' with a colon ||%0a||"pie=tasty" ||the phrase 'pie=tasty' ||%0a||pmwiki/ ||all pages in the [=PmWiki=] group ||%0a%0aSome ''special characters'' need to be enclosed in quotes, including the colon (:), equals sign (=), less than (<), single quote (') and double quote(").%0a%0a[[#searchinfoend]]%0a +time=1427581680 blob - /dev/null blob + d3d62be61de11cdfc27908cb228b36b3f52674fd (mode 644) --- /dev/null +++ wikilib.d/Site.SideBar @@ -0,0 +1,5 @@ +version=pmwiki-2.0.beta55 ordered=1 urlencoded=1 +name=Site.SideBar +passwdedit=@_site_edit +text=* [[Main/HomePage]]%0a* [[Main/WikiSandbox]]%0a%0a%25sidehead%25 [[PmWiki/PmWiki]]%0a* [[PmWiki/Initial Setup Tasks]] %0a* [[PmWiki/Basic Editing]]%0a* [[PmWiki/Documentation Index]]%0a* [[PmWiki/FAQ | PmWiki FAQ ]]%0a* [[PmWiki/PmWikiPhilosophy]]%0a* [[PmWiki/Release Notes]]%0a* [[PmWiki/ChangeLog]]%0a%0a%25sidehead%25 [[http://www.pmwiki.org | pmwiki.org ]]%0a* [[Cookbook:Cookbook | Cookbook (addons) ]]%0a* [[Cookbook:Skins | Skins (themes) ]]%0a* [[PITS:PITS | PITS (issue tracking) ]]%0a* [[PmWiki/Mailing Lists]]%0a%0a%25right%25 [-[[Site.SideBar?action=edit | edit SideBar]]-] +time=1125550800 blob - /dev/null blob + 1fe49c8afc616ae19e94055350a19e369566be9f (mode 644) --- /dev/null +++ wikilib.d/Site.Site @@ -0,0 +1,10 @@ +version=pmwiki-2.2.125 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum= (+9) +name=Site.Site +rev=39 +targets=PmWiki.Skins,Site.Site,SiteAdmin.SiteAdmin,Site.SideBar,PmWiki.PasswordsAdmin,PmWiki.GroupHeaders,PmWiki.Forms +text=(:title Site Configuration:)(:Summary: Site Configuration:)%0aHere you find some links to Site configuration and administration pages. Add links to other pages you may need for your site's configuration here, as necessary. %0aSome links may only apply to certain configurations or [[PmWiki/skins]].%0a%0aThe [[{$SiteGroup}/]] group contains configuration pages, and the [[SiteAdmin/]] group contains administrative pages.%0a%0a!! Note to new administrators%0a* All pages in the 'Site' group (except [[Site.Side Bar]]) are locked for editing as the default. [[{$SiteGroup}.SideBar]] is locked with the site-wide edit password, if one is set. %0a* All pages in the 'SiteAdmin' group are locked for reading and editing as the default.%0a* In order to edit any locked page you need to create in @@local/config.php@@ a site wide '''admin''' password (see [[PmWiki/Passwords Admin]]). Then you can edit pages and change the access protection of individual pages by changing the page attributes with [@?action=attr@].%0a%0a(:table border=0 width=100%25:)%0a(:cellnr:)%0a!! Configuration and Menu Pages%0a(:pagelist group={$SiteGroup} list=all name=All*,PageActions,InterMap,Search,Preferences,PageNotFound*,LocalCSS,*menu*,IncludeFailed,*style*,version fmt=#titlesummary:)%0a%0a!! SideBar, header, and footer pages%0aSidebar, [[PmWiki/GroupHeaders | headers]] and footers are used to display common content across a group or entire website.%0a(:pagelist group={$SiteGroup} list=all name=*bar*,*head*,*foot* fmt=#titlesummary:)%0a%0a!! Form pages%0a[[PmWiki/Forms]] are used for display and entry of information.%0a(:pagelist group={$SiteGroup} list=all name=*form* fmt=#titlesummary:)%0a%0a!! Quick reference pages%0aQuick reference pages are included in other pages to assist in the use of those pages.%0a(:pagelist group={$SiteGroup} list=all name=*quick*,Search fmt=#titlesummary:)%0a%0a!! Template pages%0aTemplates are used by page and form directives to control the output displayed.%0a(:pagelist group={$SiteGroup} list=all name=*template* fmt=#titlesummary:)%0a(:cell:)%0a!! Site Administration%0aHere is the list of the pages in the [[SiteAdmin/]] group. Some links may only apply to certain configurations.%0a(:pagelist group=SiteAdmin list=all fmt=#titlesummary:)%0a(:tableend:)%0a%0a%0a +time=1580197272 +title=Site Configuration blob - /dev/null blob + 09f6206595f9df1ce78f8417e15194ae3d148f37 (mode 644) --- /dev/null +++ wikilib.d/Site.UploadQuickReference @@ -0,0 +1,9 @@ +version=pmwiki-2.2.86 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=fix relative {*$Group} variable +name=Site.UploadQuickReference +rev=29 +targets=Site.RecentUploads,PmWiki.Uploads,Site.UploadQuickReference +text=(:Summary:Quick reference for [[PmWiki/uploads|uploading]] pages:)%0a[[#quickreference]]%0a>>color:#000000 bgcolor:#f9f9f9 font-family:'Arial,sans-serif' font-size:12px padding:2px border:'1px solid #cccccc' class='quickref'%3c%3c%0a(:if exists {*$Group}.RecentUploads:)%0a%25rfloat newwin%25[[{*$Group}.RecentUploads|Recent uploads]] to {*$Group} `WikiGroup%0a(:ifend:)%0a'''%25newwin%25[[PmWiki/Uploads]]'''%0a%0a# Use the button above to find the "File to upload" on your local computer.%0a%0a# For the "Name attachment as:" field, enter the name you prefer the file to have once it has been uploaded to the site.\\%0aThis can be the same as its filename on your source disk ''or it can be different'', but %25bgcolor:yellow%25'''make sure it has the correct file extension'''%25%25.%0a%0a# Press "$[Upload]" to upload the file.%0a%0a# To refer to an attachment within a wiki page in this {*$Group} `WikiGroup, simply enter @@[=Attach:=]''filename.ext''@@ in the page text.%0a%0a# After uploading, you can %0a** %25item rel=nofollow class=browse%25 [[{*$FullName}?action=browse | $[View] the {*$Name} page]] or%0a** %25item rel=nofollow class=edit%25 [[{*$FullName}?action=edit | $[Edit] the {*$Name} page]] or%0a** Scroll down to view the list of files that have been uploaded to the {*$Group} wiki group.%0a>>%3c%3c%0a[[#quickreferenceend]]%0a%0a----%0a%0a!! Existing uploads%0a>>font-size:smaller%3c%3c%0a(:attachlist:)%0a>>%3c%3c +time=1463651640 blob - /dev/null blob + f8889c0ce6665f79f028bc70a674ace9a2ef137f (mode 644) --- /dev/null +++ wikilib.d/SiteAdmin.AuthList @@ -0,0 +1,10 @@ +version=pmwiki-2.2.101 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=added filtering +ctime=1180200570 +name=SiteAdmin.AuthList +rev=34 +targets=SiteAdmin.AuthList +text=(:Summary:[[PmWiki/Page list(s)]] of all pages with access permissions set:)%0aThis page displays the permissions settings for pages that have permissions set. Fields that say "(protected)" mean that you may need to [[{*$FullName}?action=login | log in]] (e.g., with an administrative password) in order to view them.%0a%0a(:input form action={$PageUrl} method=get:)%0aFilter pages (use "*" to signify "any characters"):\\%0a(:input text name "" placeholder="Type a page name":) (:input submit "" Go:)%0a(:input end:)%0a(:pagelist fmt=#authlist request=1:)%0a%0a(:if false:)%0a[@%0a[[#authlist]]%0a(:template defaults passwd=?* list=all:)%0a(:template first:)%0a|| class='indent authlist' cellspacing=0 cellpadding=0%0a(:template first {=$Group}:)%0a%0a'''{=$Group}:'''%0a%0a(:if exists {=$Group}.GroupAttributes:)%0a{=$Group}.GroupAttributes \%0a[- [[{=$Group}.GroupAttributes | (view)]] -] \%0a[- [[{=$Group}.GroupAttributes?action=attr | (attr)]] -] :%0a||read ||{{=$Group}.GroupAttributes$PasswdRead} ||%0a||edit ||{{=$Group}.GroupAttributes$PasswdEdit} ||%0a||attr ||{{=$Group}.GroupAttributes$PasswdAttr} ||%0a||upload    ||{{=$Group}.GroupAttributes$PasswdUpload} ||%0a(:if:)%0a(:template each:)%0a%0a(:if ! equal {=$Name} GroupAttributes :)%0a{=$FullName} \%0a[- [[{=$FullName} | (view) ]] -] \%0a[- [[{=$FullName}?action=attr | (attr) ]] -] :%0a||read ||{=$PasswdRead} ||%0a||edit ||{=$PasswdEdit} ||%0a||attr ||{=$PasswdAttr} ||%0a||upload    ||{=$PasswdUpload} ||%0a(:if:)%0a(:template last:)%0a%0aDisplayed {$$PageCount} pages.%0a[[#authlistend]]%0a%0a@] +time=1501770237 blob - /dev/null blob + 03e6e08915835aabe87ad224c52ffdffa8a527f8 (mode 644) --- /dev/null +++ wikilib.d/SiteAdmin.AuthUser @@ -0,0 +1,9 @@ +version=pmwiki-2.2.61 ordered=1 urlencoded=1 +author=Petko +charset=UTF-8 +csum=mysql: is not supported out of the box +name=SiteAdmin.AuthUser +rev=5 +targets=PmWiki.AuthUser,PmWiki.LocalCustomizations,PmWiki.Passwords +text=(:Summary: Configuration of identity based authorisations:)(:nolinkwikiwords:)%0aThis is the default configuration page for PmWiki's identity-based authorizations (aka "authuser.php"). See [[PmWiki.AuthUser]] for instructions.%0a%0a(:if enabled EnableAuthUser:)%0aThis site appears to have the [[PmWiki/AuthUser]] extensions enabled.%0a(:if !enabled EnableAuthUser:)%0aAt present this site doesn't appear to have the [[PmWiki/AuthUser]] extensions enabled. To enable them, add the line [@include_once("$FarmD/scripts/authuser.php");@] to your ''local/config.php'' file. (See [[PmWiki.LocalCustomizations]].)%0a(:ifend:)%0a%0a!! Login accounts%0a%0aSpecify login accounts in the form "@@[=username: (:=]encrypt ''password'':)@@" at the beginning of a line:%0a%0a-> # Examples:%0a-> alice: [=(:=]encrypt wonderland:)%0a-> bob: [=(:=]encrypt builder:)%0a%0aNote that the passwords will be encrypted when the page is saved, so that the result will look something like:%0a%0a-> alice: $1$0gcdAN1a$HTdEAXyYYo8Hc9/Xv30Yz1%0a-> bob: $1$wSP2R80i$sJ593ERCmTtjm3Fk26HCV1%0a%0aTo authorize specific login accounts for pages and groups, use "[@id:username@]" as a password in [@?action=attr@] or $DefaultPasswords (see [[PmWiki.Passwords]]). Use "[@id:*@]" to mean "any logged-in user".%0a%0a!! Authorization groups%0a%0aAuthorization groups are specified with a leading "@" sign. Define either the login accounts belonging to a group or the groups for a login account:%0a%0a-> @writers: alice, bob %0a-> carol: @editors, @writers%0a-> @admins: alice, dave%0a%0aThen use "[@@group@]" as a password in [@?action=attr@] or $DefaultPasswords.%0a%0a!! Login accounts from external sources%0a%0aObtaining login accounts from external sources (to enable a source, place it at the beginning of a line):%0a%0a-> htpasswd: /filesystem/path/to/.htpasswd%0a-> ldap: ldap://ldap.example.com/ou=People,o=example?uid?sub%0a%0a%0a +time=1000000000 blob - /dev/null blob + 6b10f971cc73fda651aa0effc4c6c87f5a55e3f8 (mode 644) --- /dev/null +++ wikilib.d/SiteAdmin.GroupAttributes @@ -0,0 +1,8 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +charset=UTF-8 +name=SiteAdmin.GroupAttributes +passwdattr=@lock +passwdedit=@lock +passwdread=@lock +rev=3 +time=1315674224 blob - /dev/null blob + 8f6965c4ce809712f6dcd071a8613822e2134598 (mode 644) --- /dev/null +++ wikilib.d/SiteAdmin.SiteAdmin @@ -0,0 +1,12 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=Petko +charset=UTF-8 +csum=include Site.Site +ctime=1182106004 +name=SiteAdmin.SiteAdmin +rev=7 +targets= +text=(:include Site.Site:)%0a(:title Site Administration:)(:Summary: Site Administration:)%0a +time=1315674224 +title=Site Administration blob - /dev/null blob + aa1253481cff24f96b9853335b927966815228cc (mode 644) --- /dev/null +++ wikilib.d/SiteAdmin.Status @@ -0,0 +1,11 @@ +version=pmwiki-2.2.30 ordered=1 urlencoded=1 +agent=Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 +author=simon +charset=UTF-8 +csum=Add summary, see how long a summary lasts?! +name=SiteAdmin.Status +rev=24 +targets= +text=(:Summary: PmWiki version {$Version} (VersionNum={$VersionNum}):)%0a(:comment Any local edits to this page may be lost!:)%0a%0aThis site is running {$Version} (VersionNum={$VersionNum}).%0a +time=1315674224 +updatedto=2002030